All functions:
  Elements:
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checked_malloc
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:20,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:21,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:22,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:28,1
    - Dst: secp256k1_scalar_half
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:31,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:32,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:35,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:36,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:37,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:44,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:45,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:45,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:53,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:57,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:59,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:66,1
    - Dst: secp256k1_gej_neg
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:77,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:85,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:89,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:92,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:97,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:97,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:98,1
    - Dst: free
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:103,1
    - Dst: free
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:104,1
    - Dst: free
      Src: /src/secp256k1/src/ecmult_gen_compute_table_impl.h:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 5
    argNames:
    - table
    - gen
    - blocks
    - teeth
    - spacing
    argTypes:
    - secp256k1_ge_storage*
    - secp256k1_ge*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 106
    functionName: secp256k1_ecmult_gen_compute_table
    functionSourceFile: /src/secp256k1/src/ecmult_gen_compute_table_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_half
    - secp256k1_gej_neg
    - secp256k1_ge_set_all_gej_var
    - secp256k1_ge_to_storage
    - checked_malloc
    - secp256k1_gej_add_ge_var
    - secp256k1_scalar_get_bits_limb32
    - secp256k1_gej_eq_ge_var
    - secp256k1_gej_set_infinity
    - secp256k1_gej_double_var
    - secp256k1_ge_is_infinity
    - free
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_compute_table(secp256k1_ge_storage* table,
      const secp256k1_ge* gen, int blocks, int teeth, int spacing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: SECP256K1_SCALAR_CONST
    functionSourceFile: /src/secp256k1/src/scalar_8x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:16,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:17,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:20,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:24,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:28,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:32,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:35,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:36,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:37,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:38,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:39,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:40,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:41,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:42,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:43,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:44,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:45,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:46,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:47,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:50,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:54,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:58,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:59,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:60,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:64,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:65,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:66,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:67,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:68,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - default_iters
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 72
    functionName: help
    functionSourceFile: /src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void help(int default_iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:94,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/bench.c:94,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:95,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/bench.c:95,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:96,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/bench.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: bench_verify
    functionSourceFile: /src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_parse
    - secp256k1_ecdsa_verify
    - CHECK
    - secp256k1_ecdsa_signature_parse_der
    linkageType: ''
    returnType: void
    signature: void bench_verify(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: bench_sign_setup
    functionSourceFile: /src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bench_sign_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:124,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/bench.c:124,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:125,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/bench.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: bench_sign_run
    functionSourceFile: /src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_sign
    - secp256k1_ecdsa_signature_serialize_der
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_sign_run(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: bench_keygen_setup
    functionSourceFile: /src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bench_keygen_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:150,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/bench.c:150,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:151,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/bench.c:151,1
    - Dst: memcpy
      Src: /src/secp256k1/src/bench.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: bench_keygen_run
    functionSourceFile: /src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ec_pubkey_create
    - CHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bench_keygen_run(void *arg, int iters)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_iters
      Src: /src/secp256k1/src/bench.c:181,1
    - Dst: have_invalid_args
      Src: /src/secp256k1/src/bench.c:189,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:192,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:193,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:194,1
    - Dst: help
      Src: /src/secp256k1/src/bench.c:195,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench.c:198,1
    - Dst: help
      Src: /src/secp256k1/src/bench.c:199,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:206,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench.c:207,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench.c:208,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:214,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:214,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench.c:215,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench.c:216,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:222,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:222,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:222,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench.c:223,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench.c:224,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:230,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:230,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:230,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:231,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:231,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:231,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:232,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench.c:233,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench.c:234,1
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/bench.c:240,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:249,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/bench.c:249,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:250,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/bench.c:250,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:251,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/bench.c:251,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench.c:253,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/bench.c:253,1
    - Dst: print_output_table_header_row
      Src: /src/secp256k1/src/bench.c:255,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:256,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:256,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:256,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench.c:256,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:258,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:258,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:258,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench.c:258,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:259,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:259,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench.c:259,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench.c:259,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/bench.c:261,1
    - Dst: run_ecdh_bench
      Src: /src/secp256k1/src/bench.c:265,1
    - Dst: run_recovery_bench
      Src: /src/secp256k1/src/bench.c:270,1
    - Dst: run_schnorrsig_bench
      Src: /src/secp256k1/src/bench.c:275,1
    - Dst: run_ellswift_bench
      Src: /src/secp256k1/src/bench.c:280,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 284
    functionName: main
    functionSourceFile: /src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached:
    - get_iters
    - have_invalid_args
    - secp256k1_ecdsa_signature_serialize_der
    - run_schnorrsig_bench
    - secp256k1_ec_pubkey_create
    - run_ellswift_bench
    - CHECK
    - secp256k1_context_create
    - secp256k1_context_destroy
    - run_ecdh_bench
    - have_flag
    - run_recovery_bench
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdsa_sign
    - fprintf
    - print_output_table_header_row
    - run_benchmark
    - help
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/secp256k1/src/ecmult_gen_impl.h:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_ecmult_gen_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: secp256k1_ecmult_gen_context_build
    functionSourceFile: /src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_gen_blind
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_context_build(secp256k1_ecmult_gen_context
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_ecmult_gen_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: secp256k1_ecmult_gen_context_is_built
    functionSourceFile: /src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_gen_context_is_built(const secp256k1_ecmult_gen_context*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:28,1
    - Dst: secp256k1_ge_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:29,1
    - Dst: secp256k1_fe_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_ecmult_gen_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: secp256k1_ecmult_gen_context_clear
    functionSourceFile: /src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_clear
    - secp256k1_ge_clear
    - secp256k1_fe_clear
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_context_clear(secp256k1_ecmult_gen_context
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_half
      Src: /src/secp256k1/src/ecmult_gen_impl.h:41,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/ecmult_gen_impl.h:42,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/ecmult_gen_impl.h:47,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/ecmult_gen_impl.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - diff
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: secp256k1_ecmult_gen_scalar_diff
    functionSourceFile: /src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_half
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_scalar_diff(secp256k1_scalar* diff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/ecmult_gen_impl.h:66,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/ecmult_gen_impl.h:110,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/ecmult_gen_impl.h:113,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:115,1
    - Dst: secp256k1_rotr32
      Src: /src/secp256k1/src/ecmult_gen_impl.h:219,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_gen_impl.h:234,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_gen_impl.h:235,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/secp256k1/src/ecmult_gen_impl.h:248,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/secp256k1/src/ecmult_gen_impl.h:252,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/ecmult_gen_impl.h:253,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/ecmult_gen_impl.h:254,1
    - Dst: EXPECT
      Src: /src/secp256k1/src/ecmult_gen_impl.h:257,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/ecmult_gen_impl.h:259,1
    - Dst: secp256k1_gej_rescale
      Src: /src/secp256k1/src/ecmult_gen_impl.h:261,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/ecmult_gen_impl.h:264,1
    - Dst: secp256k1_gej_double
      Src: /src/secp256k1/src/ecmult_gen_impl.h:270,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/ecmult_gen_impl.h:275,1
    - Dst: secp256k1_fe_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:278,1
    - Dst: secp256k1_ge_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:279,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:280,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - r
    - gn
    argTypes:
    - secp256k1_ecmult_gen_context*
    - secp256k1_gej*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 282
    functionName: secp256k1_ecmult_gen
    functionSourceFile: /src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_ge_storage_cmov
    - secp256k1_ge_clear
    - secp256k1_memclear
    - secp256k1_rotr32
    - secp256k1_scalar_get_bits_limb32
    - secp256k1_fe_cmov
    - secp256k1_fe_negate
    - secp256k1_gej_set_ge
    - memset
    - secp256k1_gej_rescale
    - secp256k1_gej_add_ge
    - secp256k1_ge_from_storage
    - EXPECT
    - secp256k1_gej_double
    - secp256k1_fe_clear
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen(const secp256k1_ecmult_gen_context *ctx,
      secp256k1_gej *r, const secp256k1_scalar *gn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen_scalar_diff
      Src: /src/secp256k1/src/ecmult_gen_impl.h:295,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/ecmult_gen_impl.h:299,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/ecmult_gen_impl.h:300,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/ecmult_gen_impl.h:305,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_gen_impl.h:310,1
    - Dst: memcpy
      Src: /src/secp256k1/src/ecmult_gen_impl.h:311,1
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/secp256k1/src/ecmult_gen_impl.h:312,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:313,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/secp256k1/src/ecmult_gen_impl.h:316,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/ecmult_gen_impl.h:317,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/ecmult_gen_impl.h:318,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/ecmult_gen_impl.h:318,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/secp256k1/src/ecmult_gen_impl.h:322,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/ecmult_gen_impl.h:323,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/ecmult_gen_impl.h:326,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/ecmult_gen_impl.h:326,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/secp256k1/src/ecmult_gen_impl.h:327,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/ecmult_gen_impl.h:328,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/ecmult_gen_impl.h:329,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/ecmult_gen_impl.h:330,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/ecmult_gen_impl.h:331,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:334,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:335,1
    - Dst: secp256k1_gej_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:336,1
    - Dst: secp256k1_fe_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:337,1
    - Dst: secp256k1_rfc6979_hmac_sha256_clear
      Src: /src/secp256k1/src/ecmult_gen_impl.h:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - seed32
    argTypes:
    - secp256k1_ecmult_gen_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 339
    functionName: secp256k1_ecmult_gen_blind
    functionSourceFile: /src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    - secp256k1_ecmult_gen
    - secp256k1_fe_cmov
    - secp256k1_rfc6979_hmac_sha256_finalize
    - secp256k1_scalar_add
    - secp256k1_scalar_clear
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_scalar_negate
    - secp256k1_fe_clear
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_memclear
    - secp256k1_scalar_cmov
    - secp256k1_scalar_set_b32
    - secp256k1_rfc6979_hmac_sha256_generate
    - secp256k1_ecmult_gen_scalar_diff
    - secp256k1_ge_neg
    - secp256k1_rfc6979_hmac_sha256_initialize
    - secp256k1_fe_set_b32_mod
    - secp256k1_rfc6979_hmac_sha256_clear
    - secp256k1_scalar_is_zero
    - secp256k1_gej_clear
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_blind(secp256k1_ecmult_gen_context *ctx,
      const unsigned char *seed32)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/eckey_impl.h:21,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/eckey_impl.h:21,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/eckey_impl.h:24,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/eckey_impl.h:24,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/secp256k1/src/eckey_impl.h:27,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/eckey_impl.h:29,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/secp256k1/src/eckey_impl.h:32,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - elem
    - pub
    - size
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: secp256k1_eckey_pubkey_parse
    functionSourceFile: /src/secp256k1/src/eckey_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_xy
    - secp256k1_fe_set_b32_limit
    - secp256k1_ge_is_valid_var
    - secp256k1_ge_set_xo_var
    - secp256k1_fe_is_odd
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_pubkey_parse(secp256k1_ge *elem, const unsigned
      char *pub, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/eckey_impl.h:39,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/eckey_impl.h:41,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/eckey_impl.h:44,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/eckey_impl.h:45,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/eckey_impl.h:46,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/eckey_impl.h:49,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/eckey_impl.h:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - elem
    - pub
    - size
    - compressed
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: secp256k1_eckey_pubkey_serialize
    functionSourceFile: /src/secp256k1/src/eckey_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_get_b32
    - secp256k1_fe_normalize_var
    - secp256k1_ge_is_infinity
    - secp256k1_fe_is_odd
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_pubkey_serialize(secp256k1_ge *elem, unsigned char
      *pub, size_t *size, int compressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/eckey_impl.h:59,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/eckey_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - tweak
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: secp256k1_eckey_privkey_tweak_add
    functionSourceFile: /src/secp256k1/src/eckey_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar *key, const
      secp256k1_scalar *tweak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/eckey_impl.h:65,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/eckey_impl.h:66,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/eckey_impl.h:68,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/eckey_impl.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - tweak
    argTypes:
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: secp256k1_eckey_pubkey_tweak_add
    functionSourceFile: /src/secp256k1/src/eckey_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    - secp256k1_ge_set_gej
    - secp256k1_gej_is_infinity
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_pubkey_tweak_add(secp256k1_ge *key, const secp256k1_scalar
      *tweak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/eckey_impl.h:77,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/eckey_impl.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - tweak
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: secp256k1_eckey_privkey_tweak_mul
    functionSourceFile: /src/secp256k1/src/eckey_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar *key, const
      secp256k1_scalar *tweak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/eckey_impl.h:85,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/eckey_impl.h:89,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/eckey_impl.h:90,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/eckey_impl.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - tweak
    argTypes:
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: secp256k1_eckey_pubkey_tweak_mul
    functionSourceFile: /src/secp256k1/src/eckey_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    - secp256k1_ge_set_gej
    - secp256k1_scalar_is_zero
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_pubkey_tweak_mul(secp256k1_ge *key, const secp256k1_scalar
      *tweak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timespec_get
      Src: /src/secp256k1/src/bench.h:25,1
    - Dst: fputs
      Src: /src/secp256k1/src/bench.h:26,1
    - Dst: exit
      Src: /src/secp256k1/src/bench.h:27,1
    - Dst: gettimeofday
      Src: /src/secp256k1/src/bench.h:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: gettime_i64
    functionSourceFile: /src/secp256k1/src/bench.h
    functionUses: 0
    functionsReached:
    - exit
    - timespec_get
    - fputs
    - gettimeofday
    linkageType: ''
    returnType: int64_t
    signature: int64_t gettime_i64(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/secp256k1/src/bench.h:49,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.h:94,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.h:95,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 96
    functionName: print_number
    functionSourceFile: /src/secp256k1/src/bench.h
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_number(const int64_t x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/secp256k1/src/bench.h:106,1
    - Dst: gettime_i64
      Src: /src/secp256k1/src/bench.h:108,1
    - Dst: benchmark
      Src: /src/secp256k1/src/bench.h:109,1
    - Dst: gettime_i64
      Src: /src/secp256k1/src/bench.h:110,1
    - Dst: teardown
      Src: /src/secp256k1/src/bench.h:112,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.h:123,1
    - Dst: print_number
      Src: /src/secp256k1/src/bench.h:124,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.h:125,1
    - Dst: print_number
      Src: /src/secp256k1/src/bench.h:126,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.h:127,1
    - Dst: print_number
      Src: /src/secp256k1/src/bench.h:128,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.h:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - name
    - data
    - count
    - iter
    argTypes:
    - char*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: run_benchmark
    functionSourceFile: /src/secp256k1/src/bench.h
    functionUses: 1
    functionsReached:
    - print_number
    - setup
    - gettime_i64
    - teardown
    - benchmark
    - printf
    linkageType: ''
    returnType: void
    signature: void run_benchmark(char *name, void (*benchmark)(void*, int), void
      (*setup)(void*), void (*teardown)(void*, int), void* data, int count, int iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/secp256k1/src/bench.h:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - argc
    - argv
    - flag
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: have_flag
    functionSourceFile: /src/secp256k1/src/bench.h
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int have_flag(int argc, char** argv, char *flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/secp256k1/src/bench.h:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - argc
    - argv
    - valid_args
    - n
    argTypes:
    - int
    - char**
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: have_invalid_args
    functionSourceFile: /src/secp256k1/src/bench.h
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int have_invalid_args(int argc, char** argv, char** valid_args, size_t
      n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/secp256k1/src/bench.h:171,1
    - Dst: strtol
      Src: /src/secp256k1/src/bench.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - default_iters
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: get_iters
    functionSourceFile: /src/secp256k1/src/bench.h
    functionUses: 1
    functionsReached:
    - getenv
    - strtol
    linkageType: ''
    returnType: int
    signature: int get_iters(int default_iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/secp256k1/src/bench.h:184,1
    - Dst: printf
      Src: /src/secp256k1/src/bench.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: print_output_table_header_row
    functionSourceFile: /src/secp256k1/src/bench.h
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_output_table_header_row(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/testrand_impl.h:27,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/testrand_impl.h:28,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/testrand_impl.h:29,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/testrand_impl.h:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - seed16
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: testrand_seed
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE testrand_seed(const unsigned char *seed16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: rotl
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE rotl(const uint64_t x, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotl
      Src: /src/secp256k1/src/testrand_impl.h:45,1
    - Dst: rotl
      Src: /src/secp256k1/src/testrand_impl.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: testrand64
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - rotl
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE testrand64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand64
      Src: /src/secp256k1/src/testrand_impl.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: testrand_bits
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - testrand64
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE testrand_bits(int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand64
      Src: /src/secp256k1/src/testrand_impl.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: testrand32
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - testrand64
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE testrand32(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/testrand_impl.h:69,1
    - Dst: testrand64
      Src: /src/secp256k1/src/testrand_impl.h:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: testrand_int
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - testrand64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t testrand_int(uint32_t range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand64
      Src: /src/secp256k1/src/testrand_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - b32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: testrand256
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - testrand64
    linkageType: ''
    returnType: void
    signature: void testrand256(unsigned char *b32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/testrand_impl.h:102,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/testrand_impl.h:106,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/testrand_impl.h:106,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/testrand_impl.h:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: testrand_bytes_test
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - memset
    - testrand_bits
    linkageType: ''
    returnType: void
    signature: void testrand_bytes_test(unsigned char *bytes, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/testrand_impl.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: testrand256_test
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - testrand_bytes_test
    linkageType: ''
    returnType: void
    signature: void testrand256_test(unsigned char *b32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand_int
      Src: /src/secp256k1/src/testrand_impl.h:121,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/testrand_impl.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: testrand_flip
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - testrand_bits
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void testrand_flip(unsigned char *b, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/secp256k1/src/testrand_impl.h:126,1
    - Dst: sscanf
      Src: /src/secp256k1/src/testrand_impl.h:130,1
    - Dst: fopen
      Src: /src/secp256k1/src/testrand_impl.h:139,1
    - Dst: fread
      Src: /src/secp256k1/src/testrand_impl.h:140,1
    - Dst: time
      Src: /src/secp256k1/src/testrand_impl.h:141,1
    - Dst: fprintf
      Src: /src/secp256k1/src/testrand_impl.h:142,1
    - Dst: fclose
      Src: /src/secp256k1/src/testrand_impl.h:153,1
    - Dst: printf
      Src: /src/secp256k1/src/testrand_impl.h:157,1
    - Dst: testrand_seed
      Src: /src/secp256k1/src/testrand_impl.h:158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - hexseed
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 159
    functionName: testrand_init
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - strlen
    - testrand_seed
    - time
    - fread
    - fopen
    - fprintf
    - sscanf
    - fclose
    - printf
    linkageType: ''
    returnType: void
    signature: void testrand_init(const char* hexseed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/testrand_impl.h:163,1
    - Dst: printf
      Src: /src/secp256k1/src/testrand_impl.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: testrand_finish
    functionSourceFile: /src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - printf
    - testrand256
    linkageType: ''
    returnType: void
    signature: void testrand_finish(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CEIL_DIV
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:28,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:33,1
    - Dst: secp256k1_ecmult_gen_compute_table
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:34,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:36,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:38,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:40,1
    - Dst: SECP256K1_GE_STORAGE_CONST_GET
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:42,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:44,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:48,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:50,1
    - Dst: free
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - fp
    - blocks
    - teeth
    argTypes:
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: print_table
    functionSourceFile: /src/secp256k1/src/precompute_ecmult_gen.c
    functionUses: 0
    functionsReached:
    - CEIL_DIV
    - checked_malloc
    - fprintf
    - SECP256K1_GE_STORAGE_CONST_GET
    - secp256k1_ecmult_gen_compute_table
    - free
    linkageType: ''
    returnType: void
    signature: void print_table(FILE* fp, int blocks, int teeth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:65,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:67,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:71,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:72,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:73,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:74,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:75,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:76,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:77,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:78,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:79,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:81,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:82,1
    - Dst: print_table
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:84,1
    - Dst: print_table
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:90,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:92,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:93,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:94,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:96,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:97,1
    - Dst: fclose
      Src: /src/secp256k1/src/precompute_ecmult_gen.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/secp256k1/src/precompute_ecmult_gen.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fclose
    - print_table
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - hi
    - lo
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: secp256k1_u128_load
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_load(secp256k1_uint128 *r, uint64_t
      hi, uint64_t lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: secp256k1_u128_mul
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_mul(secp256k1_uint128 *r, uint64_t
      a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: secp256k1_u128_accum_mul
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_accum_mul(secp256k1_uint128 *r, uint64_t
      a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: secp256k1_u128_accum_u64
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_accum_u64(secp256k1_uint128 *r, uint64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_native_impl.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_uint128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: secp256k1_u128_rshift
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_rshift(secp256k1_uint128 *r, unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: secp256k1_u128_to_u64
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_to_u64(const secp256k1_uint128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: secp256k1_u128_hi_u64
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_hi_u64(const secp256k1_uint128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: secp256k1_u128_from_u64
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_from_u64(secp256k1_uint128 *r, uint64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_native_impl.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_uint128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: secp256k1_u128_check_bits
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_check_bits(const secp256k1_uint128
      *r, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - hi
    - lo
    argTypes:
    - secp256k1_int128*
    - int64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: secp256k1_i128_load
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_load(secp256k1_int128 *r, int64_t hi,
      uint64_t lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: secp256k1_i128_mul
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_mul(secp256k1_int128 *r, int64_t a,
      int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_native_impl.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: secp256k1_i128_accum_mul
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_accum_mul(secp256k1_int128 *r, int64_t
      a, int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_native_impl.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - r
    - a
    - b
    - c
    - d
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: secp256k1_i128_det
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_det(secp256k1_int128 *r, int64_t a,
      int64_t b, int64_t c, int64_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_native_impl.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_int128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: secp256k1_i128_rshift
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_rshift(secp256k1_int128 *r, unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: secp256k1_i128_to_u64
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_to_u64(const secp256k1_int128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_native_impl.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: secp256k1_i128_to_i64
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_to_i64(const secp256k1_int128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_int128*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: secp256k1_i128_from_i64
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_from_i64(secp256k1_int128 *r, int64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: secp256k1_i128_eq_var
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_eq_var(const secp256k1_int128 *a, const
      secp256k1_int128 *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_native_impl.h:89,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_native_impl.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - n
    - sign
    argTypes:
    - secp256k1_int128*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: secp256k1_i128_check_pow2
    functionSourceFile: /src/secp256k1/src/int128_native_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_check_pow2(const secp256k1_int128 *r,
      unsigned int n, int sign)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bits
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: WNAF_SIZE_BITS
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WNAF_SIZE_BITS(bits, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: WNAF_SIZE
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WNAF_SIZE(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:78,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_impl.h:80,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/secp256k1/src/ecmult_impl.h:95,1
    - Dst: secp256k1_ge_set_gej_zinv
      Src: /src/secp256k1/src/ecmult_impl.h:96,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/ecmult_impl.h:97,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/ecmult_impl.h:106,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/secp256k1/src/ecmult_impl.h:107,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_impl.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - n
    - pre_a
    - zr
    - z
    - a
    argTypes:
    - int
    - secp256k1_ge*
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 115
    functionName: secp256k1_ecmult_odd_multiples_table
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_set_xy
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_set_ge
    - secp256k1_gej_double_var
    - secp256k1_fe_mul
    - secp256k1_ge_set_gej_zinv
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_odd_multiples_table(int n, secp256k1_ge *pre_a,
      secp256k1_fe *zr, secp256k1_fe *z, const secp256k1_gej *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:120,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:121,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - w
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: secp256k1_ecmult_table_verify
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_table_verify(int n, int w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_table_verify
      Src: /src/secp256k1/src/ecmult_impl.h:126,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/ecmult_impl.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - r
    - pre
    - n
    - w
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: secp256k1_ecmult_table_get_ge
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_negate
    - secp256k1_ecmult_table_verify
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_table_get_ge(secp256k1_ge *r, const
      secp256k1_ge *pre, int n, int w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_table_verify
      Src: /src/secp256k1/src/ecmult_impl.h:136,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/secp256k1/src/ecmult_impl.h:138,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/secp256k1/src/ecmult_impl.h:140,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/ecmult_impl.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - r
    - pre
    - x
    - n
    - w
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    - secp256k1_fe*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: secp256k1_ecmult_table_get_ge_lambda
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_negate
    - secp256k1_ge_set_xy
    - secp256k1_ecmult_table_verify
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_table_get_ge_lambda(secp256k1_ge
      *r, const secp256k1_ge *pre, const secp256k1_fe *x, int n, int w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_table_verify
      Src: /src/secp256k1/src/ecmult_impl.h:146,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/secp256k1/src/ecmult_impl.h:148,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/secp256k1/src/ecmult_impl.h:150,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/ecmult_impl.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - r
    - pre
    - n
    - w
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge_storage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: secp256k1_ecmult_table_get_ge_storage
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_negate
    - secp256k1_ge_from_storage
    - secp256k1_ecmult_table_verify
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_table_get_ge_storage(secp256k1_ge
      *r, const secp256k1_ge_storage *pre, int n, int w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:169,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:170,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:171,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:172,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/ecmult_impl.h:179,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/ecmult_impl.h:180,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/ecmult_impl.h:188,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/secp256k1/src/ecmult_impl.h:198,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:212,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:215,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/ecmult_impl.h:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - wnaf
    - len
    - a
    - w
    argTypes:
    - int*
    - int
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 221
    functionName: secp256k1_ecmult_wnaf
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_bits_var
    - VERIFY_CHECK
    - secp256k1_scalar_get_bits_limb32
    - secp256k1_scalar_negate
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_wnaf(int *wnaf, int len, const secp256k1_scalar
      *a, int w)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/ecmult_impl.h:251,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/ecmult_impl.h:255,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:255,1
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/secp256k1/src/ecmult_impl.h:259,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/secp256k1/src/ecmult_impl.h:262,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/secp256k1/src/ecmult_impl.h:263,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:264,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_impl.h:265,1
    - Dst: secp256k1_gej_rescale
      Src: /src/secp256k1/src/ecmult_impl.h:285,1
    - Dst: secp256k1_ecmult_odd_multiples_table
      Src: /src/secp256k1/src/ecmult_impl.h:287,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:287,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:287,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:287,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_impl.h:288,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:288,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:288,1
    - Dst: secp256k1_ge_table_set_globalz
      Src: /src/secp256k1/src/ecmult_impl.h:295,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:295,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:299,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_impl.h:300,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:300,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:300,1
    - Dst: secp256k1_scalar_split_128
      Src: /src/secp256k1/src/ecmult_impl.h:306,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/secp256k1/src/ecmult_impl.h:309,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/secp256k1/src/ecmult_impl.h:310,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:319,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_impl.h:323,1
    - Dst: secp256k1_ecmult_table_get_ge
      Src: /src/secp256k1/src/ecmult_impl.h:326,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:326,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/ecmult_impl.h:327,1
    - Dst: secp256k1_ecmult_table_get_ge_lambda
      Src: /src/secp256k1/src/ecmult_impl.h:330,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:330,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:330,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/ecmult_impl.h:331,1
    - Dst: secp256k1_ecmult_table_get_ge_storage
      Src: /src/secp256k1/src/ecmult_impl.h:335,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/secp256k1/src/ecmult_impl.h:336,1
    - Dst: secp256k1_ecmult_table_get_ge_storage
      Src: /src/secp256k1/src/ecmult_impl.h:339,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/secp256k1/src/ecmult_impl.h:340,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_impl.h:345,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 6
    argNames:
    - state
    - r
    - num
    - a
    - na
    - ng
    argTypes:
    - struct secp256k1_strauss_state*
    - secp256k1_gej*
    - size_t
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 347
    functionName: secp256k1_ecmult_strauss_wnaf
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_split_lambda
    - secp256k1_ecmult_table_get_ge
    - secp256k1_gej_rescale
    - secp256k1_scalar_split_128
    - secp256k1_gej_double_var
    - ECMULT_TABLE_SIZE
    - secp256k1_fe_set_int
    - secp256k1_ecmult_table_get_ge_storage
    - secp256k1_ecmult_odd_multiples_table
    - secp256k1_gej_add_zinv_var
    - secp256k1_gej_is_infinity
    - secp256k1_gej_add_ge_var
    - VERIFY_CHECK
    - secp256k1_ge_table_set_globalz
    - secp256k1_ecmult_table_get_ge_lambda
    - secp256k1_ecmult_wnaf
    - secp256k1_gej_set_infinity
    - secp256k1_fe_mul
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_strauss_wnaf(const struct secp256k1_strauss_state
      *state, secp256k1_gej *r, size_t num, const secp256k1_gej *a, const secp256k1_scalar
      *na, const secp256k1_scalar *ng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:350,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:351,1
    - Dst: secp256k1_ecmult_strauss_wnaf
      Src: /src/secp256k1/src/ecmult_impl.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - r
    - a
    - na
    - ng
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: secp256k1_ecmult
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 2
    functionsReached:
    - ECMULT_TABLE_SIZE
    - secp256k1_ecmult_strauss_wnaf
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult(secp256k1_gej *r, const secp256k1_gej *a, const
      secp256k1_scalar *na, const secp256k1_scalar *ng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n_points
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: secp256k1_strauss_scratch_size
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - ECMULT_TABLE_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_strauss_scratch_size(size_t n_points)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/secp256k1/src/ecmult_impl.h:371,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:373,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:381,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:382,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:383,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:383,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:384,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:384,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:385,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/ecmult_impl.h:388,1
    - Dst: cb
      Src: /src/secp256k1/src/ecmult_impl.h:394,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/ecmult_impl.h:395,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/ecmult_impl.h:398,1
    - Dst: secp256k1_ecmult_strauss_wnaf
      Src: /src/secp256k1/src/ecmult_impl.h:400,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/ecmult_impl.h:401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 8
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n_points
    - cb_offset
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 403
    functionName: secp256k1_ecmult_strauss_batch
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scratch_checkpoint
    - secp256k1_gej_set_infinity
    - secp256k1_gej_set_ge
    - secp256k1_scratch_alloc
    - secp256k1_scratch_apply_checkpoint
    - secp256k1_ecmult_strauss_wnaf
    - ECMULT_TABLE_SIZE
    - cb
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_strauss_batch(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc,
      secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points, size_t cb_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_strauss_batch
      Src: /src/secp256k1/src/ecmult_impl.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: secp256k1_ecmult_strauss_batch_single
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_strauss_batch
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_strauss_batch_single(const secp256k1_callback*
      error_callback, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar
      *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/ecmult_impl.h:411,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/secp256k1/src/ecmult_impl.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error_callback
    - scratch
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: secp256k1_strauss_max_points
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scratch_max_allocation
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_strauss_max_points(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/ecmult_impl.h:428,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:429,1
    - Dst: secp256k1_scalar_is_even
      Src: /src/secp256k1/src/ecmult_impl.h:435,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/secp256k1/src/ecmult_impl.h:439,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:442,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:446,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/secp256k1/src/ecmult_impl.h:447,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:447,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/secp256k1/src/ecmult_impl.h:457,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:457,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - wnaf
    - s
    - w
    argTypes:
    - int*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 481
    functionName: secp256k1_wnaf_fixed
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_bits_var
    - secp256k1_scalar_is_zero
    - WNAF_SIZE
    - secp256k1_scalar_is_even
    linkageType: ''
    returnType: int
    signature: int secp256k1_wnaf_fixed(int *wnaf, const secp256k1_scalar *s, int
      w)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:501,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/ecmult_impl.h:508,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:508,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/secp256k1/src/ecmult_impl.h:512,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:515,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:524,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:525,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/ecmult_impl.h:538,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/ecmult_impl.h:539,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/ecmult_impl.h:544,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/ecmult_impl.h:547,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/ecmult_impl.h:548,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_impl.h:553,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:556,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:565,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/ecmult_impl.h:566,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/ecmult_impl.h:567,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/ecmult_impl.h:570,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_impl.h:571,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/ecmult_impl.h:572,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 7
    argNames:
    - buckets
    - bucket_window
    - state
    - r
    - sc
    - pt
    - num
    argTypes:
    - secp256k1_gej*
    - int
    - struct secp256k1_pippenger_state*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 575
    functionName: secp256k1_ecmult_pippenger_wnaf
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_gej_add_ge_var
    - WNAF_SIZE
    - secp256k1_gej_set_infinity
    - secp256k1_ge_neg
    - secp256k1_gej_double_var
    - ECMULT_TABLE_SIZE
    - secp256k1_ge_is_infinity
    - secp256k1_scalar_is_zero
    - secp256k1_wnaf_fixed
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_pippenger_wnaf(secp256k1_gej *buckets, int bucket_window,
      struct secp256k1_pippenger_state *state, secp256k1_gej *r, const secp256k1_scalar
      *sc, const secp256k1_ge *pt, size_t num)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 605
    functionName: secp256k1_pippenger_bucket_window
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int secp256k1_pippenger_bucket_window(size_t n)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - bucket_window
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 626
    functionName: secp256k1_pippenger_bucket_window_inv
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_pippenger_bucket_window_inv(int bucket_window)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/secp256k1/src/ecmult_impl.h:631,1
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/secp256k1/src/ecmult_impl.h:632,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/secp256k1/src/ecmult_impl.h:634,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/ecmult_impl.h:635,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/ecmult_impl.h:636,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/secp256k1/src/ecmult_impl.h:638,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/ecmult_impl.h:639,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/ecmult_impl.h:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - s1
    - s2
    - p1
    - p2
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 642
    functionName: secp256k1_ecmult_endo_split
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_split_lambda
    - secp256k1_ge_mul_lambda
    - secp256k1_ge_neg
    - secp256k1_scalar_is_high
    - secp256k1_scalar_negate
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_endo_split(secp256k1_scalar *s1,
      secp256k1_scalar *s2, secp256k1_ge *p1, secp256k1_ge *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n_points
    - bucket_window
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: secp256k1_pippenger_scratch_size
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - WNAF_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_pippenger_scratch_size(size_t n_points, int bucket_window)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/secp256k1/src/ecmult_impl.h:655,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:668,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/secp256k1/src/ecmult_impl.h:672,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:678,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:679,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:680,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/ecmult_impl.h:682,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:685,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:686,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:686,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/ecmult_impl.h:687,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/ecmult_impl.h:689,1
    - Dst: secp256k1_ecmult_endo_split
      Src: /src/secp256k1/src/ecmult_impl.h:697,1
    - Dst: cb
      Src: /src/secp256k1/src/ecmult_impl.h:702,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/ecmult_impl.h:703,1
    - Dst: secp256k1_ecmult_endo_split
      Src: /src/secp256k1/src/ecmult_impl.h:707,1
    - Dst: secp256k1_ecmult_pippenger_wnaf
      Src: /src/secp256k1/src/ecmult_impl.h:712,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/ecmult_impl.h:713,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 8
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n_points
    - cb_offset
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 715
    functionName: secp256k1_ecmult_pippenger_batch
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_pippenger_wnaf
    - secp256k1_pippenger_bucket_window
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult_endo_split
    - secp256k1_scratch_alloc
    - secp256k1_scratch_apply_checkpoint
    - cb
    - secp256k1_scratch_checkpoint
    - WNAF_SIZE
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_pippenger_batch(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc,
      secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points, size_t cb_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_pippenger_batch
      Src: /src/secp256k1/src/ecmult_impl.h:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 720
    functionName: secp256k1_ecmult_pippenger_batch_single
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_pippenger_batch
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_pippenger_batch_single(const secp256k1_callback*
      error_callback, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar
      *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/ecmult_impl.h:728,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/secp256k1/src/ecmult_impl.h:734,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/ecmult_impl.h:737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - error_callback
    - scratch
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: secp256k1_pippenger_max_points
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_pippenger_bucket_window_inv
    - WNAF_SIZE
    - secp256k1_scratch_max_allocation
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_pippenger_max_points(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:767,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:768,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/ecmult_impl.h:770,1
    - Dst: cb
      Src: /src/secp256k1/src/ecmult_impl.h:775,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/ecmult_impl.h:779,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/ecmult_impl.h:780,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/ecmult_impl.h:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n_points
    argTypes:
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 784
    functionName: secp256k1_ecmult_multi_simple_var
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_gej_set_ge
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult
    - cb
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_multi_simple_var(secp256k1_gej *r, const secp256k1_scalar
      *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CEIL_DIV
      Src: /src/secp256k1/src/ecmult_impl.h:801,1
    - Dst: CEIL_DIV
      Src: /src/secp256k1/src/ecmult_impl.h:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - n_batches
    - n_batch_points
    - max_n_batch_points
    - n
    argTypes:
    - size_t*
    - size_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 804
    functionName: secp256k1_ecmult_multi_batch_size_helper
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - CEIL_DIV
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_multi_batch_size_helper(size_t *n_batches, size_t
      *n_batch_points, size_t max_n_batch_points, size_t n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_impl.h:814,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/ecmult_impl.h:818,1
    - Dst: secp256k1_ecmult_multi_simple_var
      Src: /src/secp256k1/src/ecmult_impl.h:822,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/ecmult_impl.h:829,1
    - Dst: secp256k1_pippenger_max_points
      Src: /src/secp256k1/src/ecmult_impl.h:829,1
    - Dst: secp256k1_ecmult_multi_simple_var
      Src: /src/secp256k1/src/ecmult_impl.h:830,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/ecmult_impl.h:835,1
    - Dst: secp256k1_strauss_max_points
      Src: /src/secp256k1/src/ecmult_impl.h:835,1
    - Dst: secp256k1_ecmult_multi_simple_var
      Src: /src/secp256k1/src/ecmult_impl.h:836,1
    - Dst: f
      Src: /src/secp256k1/src/ecmult_impl.h:844,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/ecmult_impl.h:847,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 7
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 851
    functionName: secp256k1_ecmult_multi_var
    functionSourceFile: /src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_multi_batch_size_helper
    - secp256k1_strauss_max_points
    - f
    - secp256k1_ecmult_multi_simple_var
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult
    - secp256k1_pippenger_max_points
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_multi_var(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc,
      secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: S
    functionSourceFile: /src/secp256k1/src/precomputed_ecmult.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cnt
    - ','
    - nam
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CONDITIONAL_TEST
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONDITIONAL_TEST(cnt, nam)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s
    - value
    - n
    argTypes:
    - void*
    - unsigned char
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: all_bytes_equal
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int all_bytes_equal(const void* s, unsigned char value, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - expr_or_stmt
    - ','
    - callback
    - ','
    - callback_setter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: CHECK_COUNTING_CALLBACK_VOID
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, callback, callback_setter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - expr_or_stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: CHECK_ERROR_VOID
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ERROR_VOID(ctx, expr_or_stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - expr_or_stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: CHECK_ILLEGAL_VOID
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ILLEGAL_VOID(ctx, expr_or_stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: CHECK_ILLEGAL
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ILLEGAL(ctx, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: CHECK_ERROR
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ERROR(ctx, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: counting_callback_fn
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: void
    signature: void counting_callback_fn(const char* str, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:95,1
    - Dst: testrand_seed
      Src: /src/secp256k1/src/tests.c:111,1
    - Dst: testrand256
      Src: /src/secp256k1/src/tests.c:113,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:115,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: run_xoshiro256pp_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - testrand256
    - testrand_seed
    - CHECK
    linkageType: ''
    returnType: void
    signature: void run_xoshiro256pp_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest
      Src: /src/secp256k1/src/tests.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: run_selftest_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_selftest
    linkageType: ''
    returnType: void
    signature: void run_selftest_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:126,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:127,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_ecmult_gen_context*
    - secp256k1_ecmult_gen_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: ecmult_gen_context_eq
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_equal
    - secp256k1_ge_eq_var
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: int
    signature: int ecmult_gen_context_eq(const secp256k1_ecmult_gen_context *a, const
      secp256k1_ecmult_gen_context *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecmult_gen_context_eq
      Src: /src/secp256k1/src/tests.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_context*
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: context_eq
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - ecmult_gen_context_eq
    linkageType: ''
    returnType: int
    signature: int context_eq(const secp256k1_context *a, const secp256k1_context
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/tests.c:146,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:150,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/secp256k1/src/tests.c:150,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/secp256k1/src/tests.c:150,1
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/tests.c:151,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:152,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:152,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests.c:153,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: run_deprecated_context_flags_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_context_destroy
    - secp256k1_context_create
    - context_eq
    - secp256k1_context_preallocated_size
    linkageType: ''
    returnType: void
    signature: void run_deprecated_context_flags_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:165,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:166,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:169,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:169,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:170,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:171,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:171,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:172,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:173,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:173,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:174,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:175,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:175,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:176,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:177,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:177,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:178,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:178,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:179,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:179,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:180,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:180,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:181,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/secp256k1/src/tests.c:181,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:182,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/secp256k1/src/tests.c:182,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:183,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/secp256k1/src/tests.c:183,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:184,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/secp256k1/src/tests.c:184,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:185,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/secp256k1/src/tests.c:185,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:186,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/secp256k1/src/tests.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 187
    functionName: run_ec_illegal_argument_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ec_pubkey_negate
    - memset
    - secp256k1_ecdsa_sign
    - secp256k1_ec_pubkey_tweak_add
    - CHECK_ILLEGAL
    - secp256k1_ec_pubkey_tweak_mul
    - secp256k1_ecdsa_verify
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: void
    signature: void run_ec_illegal_argument_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:191,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:197,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/src/tests.c:197,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:198,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/src/tests.c:198,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:202,1
    - Dst: secp256k1_context_preallocated_clone_size
      Src: /src/secp256k1/src/tests.c:202,1
    - Dst: malloc
      Src: /src/secp256k1/src/tests.c:204,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:205,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:206,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:207,1
    - Dst: secp256k1_context_preallocated_clone
      Src: /src/secp256k1/src/tests.c:207,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:208,1
    - Dst: all_bytes_equal
      Src: /src/secp256k1/src/tests.c:208,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:209,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/tests.c:211,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/secp256k1/src/tests.c:211,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:213,1
    - Dst: secp256k1_context_clone
      Src: /src/secp256k1/src/tests.c:213,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/tests.c:214,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests.c:214,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/tests.c:221,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:222,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:223,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/tests.c:224,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:225,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - use_prealloc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 228
    functionName: run_static_context_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - secp256k1_context_set_illegal_callback
    - CHECK
    - secp256k1_context_preallocated_destroy
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - malloc
    - memset
    - secp256k1_context_clone
    - secp256k1_context_preallocated_clone
    - secp256k1_context_preallocated_clone_size
    - CHECK_ILLEGAL
    - CHECK_ILLEGAL_VOID
    - free
    linkageType: ''
    returnType: void
    signature: void run_static_context_tests(int use_prealloc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/tests.c:242,1
    - Dst: malloc
      Src: /src/secp256k1/src/tests.c:245,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/secp256k1/src/tests.c:245,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:246,1
    - Dst: secp256k1_context_preallocated_create
      Src: /src/secp256k1/src/tests.c:247,1
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/tests.c:249,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:253,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:253,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:254,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/src/tests.c:254,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:255,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:255,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:256,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/src/tests.c:256,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:257,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:257,1
    - Dst: secp256k1_context_set_error_callback
      Src: /src/secp256k1/src/tests.c:260,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:261,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:262,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:265,1
    - Dst: secp256k1_context_preallocated_clone_size
      Src: /src/secp256k1/src/tests.c:265,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/secp256k1/src/tests.c:265,1
    - Dst: secp256k1_context_clone
      Src: /src/secp256k1/src/tests.c:274,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:275,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:275,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/secp256k1/src/tests.c:276,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:278,1
    - Dst: malloc
      Src: /src/secp256k1/src/tests.c:279,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/secp256k1/src/tests.c:279,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:280,1
    - Dst: secp256k1_context_preallocated_clone
      Src: /src/secp256k1/src/tests.c:282,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:283,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:283,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests.c:284,1
    - Dst: malloc
      Src: /src/secp256k1/src/tests.c:289,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/secp256k1/src/tests.c:289,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:290,1
    - Dst: secp256k1_context_preallocated_clone
      Src: /src/secp256k1/src/tests.c:292,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:293,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:293,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests.c:294,1
    - Dst: secp256k1_context_clone
      Src: /src/secp256k1/src/tests.c:297,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:298,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:298,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/secp256k1/src/tests.c:299,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:300,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:305,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:306,1
    - Dst: secp256k1_context_set_error_callback
      Src: /src/secp256k1/src/tests.c:308,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:309,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:310,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:310,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/tests.c:313,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:314,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:315,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/tests.c:316,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:317,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:318,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:319,1
    - Dst: context_eq
      Src: /src/secp256k1/src/tests.c:319,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:322,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:323,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:324,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:325,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:329,1
    - Dst: secp256k1_ecdsa_sig_sign
      Src: /src/secp256k1/src/tests.c:330,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:333,1
    - Dst: secp256k1_ecdsa_sig_sign
      Src: /src/secp256k1/src/tests.c:333,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:336,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:336,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/secp256k1/src/tests.c:340,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:341,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests.c:343,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests.c:345,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests.c:348,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/secp256k1/src/tests.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 74
    argCount: 1
    argNames:
    - use_prealloc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 350
    functionName: run_proper_context_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_sig_sign
    - secp256k1_context_clone
    - secp256k1_ecmult_gen
    - secp256k1_context_preallocated_clone_size
    - testutil_random_scalar_order_test
    - secp256k1_context_preallocated_create
    - secp256k1_context_preallocated_clone
    - free
    - secp256k1_context_set_illegal_callback
    - secp256k1_context_create
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - malloc
    - secp256k1_context_preallocated_size
    - secp256k1_ge_set_gej
    - CHECK
    - secp256k1_context_preallocated_destroy
    - context_eq
    - secp256k1_context_set_error_callback
    - secp256k1_ecdsa_sig_verify
    linkageType: ''
    returnType: void
    signature: void run_proper_context_tests(int use_prealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_space_create
      Src: /src/secp256k1/src/tests.c:361,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:362,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:365,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/tests.c:365,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:366,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/tests.c:366,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:367,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:368,1
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/secp256k1/src/tests.c:371,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:372,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/tests.c:372,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:373,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/tests.c:373,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:374,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/tests.c:374,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:375,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:376,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:379,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/tests.c:379,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:380,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/tests.c:380,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:381,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/tests.c:381,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:382,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:383,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/tests.c:386,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:387,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:388,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/tests.c:388,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:389,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/tests.c:389,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:390,1
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/secp256k1/src/tests.c:393,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/tests.c:394,1
    - Dst: CHECK_ERROR_VOID
      Src: /src/secp256k1/src/tests.c:395,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/tests.c:395,1
    - Dst: CHECK_ERROR_VOID
      Src: /src/secp256k1/src/tests.c:396,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/tests.c:396,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/secp256k1/src/tests.c:399,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:400,1
    - Dst: CHECK_ERROR
      Src: /src/secp256k1/src/tests.c:402,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/tests.c:402,1
    - Dst: CHECK_ERROR
      Src: /src/secp256k1/src/tests.c:403,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/tests.c:403,1
    - Dst: CHECK_ERROR_VOID
      Src: /src/secp256k1/src/tests.c:404,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/secp256k1/src/tests.c:404,1
    - Dst: secp256k1_scratch_space_create
      Src: /src/secp256k1/src/tests.c:407,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:411,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/secp256k1/src/tests.c:411,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:415,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/tests.c:415,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/secp256k1/src/tests.c:416,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/secp256k1/src/tests.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 420
    functionName: run_scratch_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK_ERROR_VOID
    - secp256k1_scratch_space_destroy
    - CHECK
    - secp256k1_scratch_space_create
    - memset
    - secp256k1_scratch_alloc
    - secp256k1_scratch_apply_checkpoint
    - secp256k1_scratch_checkpoint
    - secp256k1_scratch_max_allocation
    - CHECK_ERROR
    linkageType: ''
    returnType: void
    signature: void run_scratch_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:429,1
    - Dst: secp256k1_ctz32_var_debruijn
      Src: /src/secp256k1/src/tests.c:429,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:430,1
    - Dst: secp256k1_ctz32_var
      Src: /src/secp256k1/src/tests.c:430,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:435,1
    - Dst: secp256k1_ctz64_var_debruijn
      Src: /src/secp256k1/src/tests.c:435,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:436,1
    - Dst: secp256k1_ctz64_var
      Src: /src/secp256k1/src/tests.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 439
    functionName: run_ctz_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ctz32_var_debruijn
    - CHECK
    - secp256k1_ctz32_var
    - secp256k1_ctz64_var_debruijn
    - secp256k1_ctz64_var
    linkageType: ''
    returnType: void
    signature: void run_ctz_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONDITIONAL_TEST
      Src: /src/secp256k1/src/tests.c:469,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/tests.c:477,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/tests.c:479,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:479,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/tests.c:482,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:483,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:483,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:485,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:486,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:486,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/tests.c:487,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/tests.c:490,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/tests.c:491,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:491,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/tests.c:494,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:495,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 498
    functionName: run_sha256_known_output_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CONDITIONAL_TEST
    - strlen
    - CHECK
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void run_sha256_known_output_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/tests.c:596,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:596,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/tests.c:597,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:598,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 600
    functionName: run_sha256_counter_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK
    - secp256k1_sha256_finalize
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void run_sha256_counter_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:607,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:609,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:610,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sha1
    - sha2
    argTypes:
    - secp256k1_sha256*
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: test_sha256_eq
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_sha256_eq(const secp256k1_sha256 *sha1, const secp256k1_sha256
      *sha2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/tests.c:642,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:642,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/tests.c:643,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:643,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/tests.c:644,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:645,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:645,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:646,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:647,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:647,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/tests.c:648,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:648,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/tests.c:649,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/tests.c:650,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:650,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/tests.c:651,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:652,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 655
    functionName: run_hmac_sha256_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_hmac_sha256_write
    - secp256k1_hmac_sha256_finalize
    - strlen
    - CHECK
    - secp256k1_hmac_sha256_initialize
    - secp256k1_memcmp_var
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void run_hmac_sha256_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/secp256k1/src/tests.c:676,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/secp256k1/src/tests.c:678,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:679,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:679,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/secp256k1/src/tests.c:681,1
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/secp256k1/src/tests.c:683,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/secp256k1/src/tests.c:685,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:686,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:686,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/secp256k1/src/tests.c:688,1
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/secp256k1/src/tests.c:690,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/secp256k1/src/tests.c:692,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:693,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:693,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/secp256k1/src/tests.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 696
    functionName: run_rfc6979_hmac_sha256_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_rfc6979_hmac_sha256_generate
    - secp256k1_rfc6979_hmac_sha256_initialize
    - secp256k1_memcmp_var
    - secp256k1_rfc6979_hmac_sha256_finalize
    linkageType: ''
    returnType: void
    signature: void run_rfc6979_hmac_sha256_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:710,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/secp256k1/src/tests.c:710,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:711,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/secp256k1/src/tests.c:711,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:712,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/secp256k1/src/tests.c:712,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:713,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/secp256k1/src/tests.c:713,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:716,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:717,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:718,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/secp256k1/src/tests.c:718,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:719,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 720
    functionName: run_tagged_sha256_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - memcpy
    - secp256k1_tagged_sha256
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    linkageType: ''
    returnType: void
    signature: void run_tagged_sha256_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 735
    functionName: modinv2p64
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t modinv2p64(uint64_t x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:758,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:769,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:770,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:814,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:819,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:822,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 4
    argNames:
    - out
    - a
    - b
    - m
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 823
    functionName: mulmod256
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memset
    - CHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void mulmod256(uint16_t* out, const uint16_t* a, const uint16_t* b,
      const uint16_t* m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - secp256k1_modinv32_signed30*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: uint16_to_signed30
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void uint16_to_signed30(secp256k1_modinv32_signed30* out, const uint16_t*
      in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint16_t*
    - secp256k1_modinv32_signed30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: signed30_to_uint16
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void signed30_to_uint16(uint16_t* out, const secp256k1_modinv32_signed30*
      in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_modinv32_signed30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 856
    functionName: mutate_sign_signed30
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - testrand_bits
    linkageType: ''
    returnType: void
    signature: void mutate_sign_signed30(secp256k1_modinv32_signed30* x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint16_to_signed30
      Src: /src/secp256k1/src/tests.c:865,1
    - Dst: uint16_to_signed30
      Src: /src/secp256k1/src/tests.c:867,1
    - Dst: modinv2p64
      Src: /src/secp256k1/src/tests.c:870,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:871,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:877,1
    - Dst: uint16_to_signed30
      Src: /src/secp256k1/src/tests.c:878,1
    - Dst: secp256k1_jacobi32_maybe_var
      Src: /src/secp256k1/src/tests.c:880,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:881,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:886,1
    - Dst: uint16_to_signed30
      Src: /src/secp256k1/src/tests.c:887,1
    - Dst: secp256k1_jacobi32_maybe_var
      Src: /src/secp256k1/src/tests.c:888,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:889,1
    - Dst: uint16_to_signed30
      Src: /src/secp256k1/src/tests.c:892,1
    - Dst: mutate_sign_signed30
      Src: /src/secp256k1/src/tests.c:893,1
    - Dst: signed30_to_uint16
      Src: /src/secp256k1/src/tests.c:899,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:902,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:903,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:904,1
    - Dst: signed30_to_uint16
      Src: /src/secp256k1/src/tests.c:910,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:911,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - out
    - in
    - mod
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 913
    functionName: test_modinv32_uint16
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - signed30_to_uint16
    - secp256k1_jacobi32_maybe_var
    - mulmod256
    - uint16_to_signed30
    - mutate_sign_signed30
    - modinv2p64
    linkageType: ''
    returnType: void
    signature: void test_modinv32_uint16(uint16_t* out, const uint16_t* in, const
      uint16_t* mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - secp256k1_modinv64_signed62*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 923
    functionName: uint16_to_signed62
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void uint16_to_signed62(secp256k1_modinv64_signed62* out, const uint16_t*
      in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint16_t*
    - secp256k1_modinv64_signed62*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 932
    functionName: signed62_to_uint16
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void signed62_to_uint16(uint16_t* out, const secp256k1_modinv64_signed62*
      in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_modinv64_signed62*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 948
    functionName: mutate_sign_signed62
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - testrand_bits
    linkageType: ''
    returnType: void
    signature: void mutate_sign_signed62(secp256k1_modinv64_signed62* x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint16_to_signed62
      Src: /src/secp256k1/src/tests.c:958,1
    - Dst: uint16_to_signed62
      Src: /src/secp256k1/src/tests.c:960,1
    - Dst: modinv2p64
      Src: /src/secp256k1/src/tests.c:963,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:964,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:970,1
    - Dst: uint16_to_signed62
      Src: /src/secp256k1/src/tests.c:971,1
    - Dst: secp256k1_jacobi64_maybe_var
      Src: /src/secp256k1/src/tests.c:973,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:974,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:979,1
    - Dst: uint16_to_signed62
      Src: /src/secp256k1/src/tests.c:980,1
    - Dst: secp256k1_jacobi64_maybe_var
      Src: /src/secp256k1/src/tests.c:981,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:982,1
    - Dst: uint16_to_signed62
      Src: /src/secp256k1/src/tests.c:985,1
    - Dst: mutate_sign_signed62
      Src: /src/secp256k1/src/tests.c:986,1
    - Dst: signed62_to_uint16
      Src: /src/secp256k1/src/tests.c:992,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:995,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:996,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:997,1
    - Dst: signed62_to_uint16
      Src: /src/secp256k1/src/tests.c:1003,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1004,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - out
    - in
    - mod
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1006
    functionName: test_modinv64_uint16
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - mutate_sign_signed62
    - uint16_to_signed62
    - CHECK
    - mulmod256
    - signed62_to_uint16
    - modinv2p64
    - secp256k1_jacobi64_maybe_var
    linkageType: ''
    returnType: void
    signature: void test_modinv64_uint16(uint16_t* out, const uint16_t* in, const
      uint16_t* mod)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:1014,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:1015,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:1027,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:1028,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:1029,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1038
    functionName: coprime
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - mulmod256
    - memcpy
    linkageType: ''
    returnType: int
    signature: int coprime(const uint16_t* a, const uint16_t* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_modinv32_uint16
      Src: /src/secp256k1/src/tests.c:1634,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1635,1
    - Dst: test_modinv64_uint16
      Src: /src/secp256k1/src/tests.c:1637,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1638,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/tests.c:1652,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/tests.c:1653,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:1658,1
    - Dst: coprime
      Src: /src/secp256k1/src/tests.c:1659,1
    - Dst: test_modinv32_uint16
      Src: /src/secp256k1/src/tests.c:1661,1
    - Dst: test_modinv64_uint16
      Src: /src/secp256k1/src/tests.c:1663,1
    - Dst: test_modinv32_uint16
      Src: /src/secp256k1/src/tests.c:1668,1
    - Dst: test_modinv64_uint16
      Src: /src/secp256k1/src/tests.c:1670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1674
    functionName: run_modinv_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_modinv32_uint16
    - test_modinv64_uint16
    - CHECK
    - coprime
    - testrand256_test
    - mulmod256
    linkageType: ''
    returnType: void
    signature: void run_modinv_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1689
    functionName: add256
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add256(uint16_t* out, const uint16_t* a, const uint16_t* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1700
    functionName: neg256
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void neg256(uint16_t* out, const uint16_t* a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - out
    - a
    - n
    - sign_extend
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1718
    functionName: rshift256
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rshift256(uint16_t* out, const uint16_t* a, int n, int sign_extend)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - out
    - v
    - is_signed
    argTypes:
    - uint16_t*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1730
    functionName: load256u64
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void load256u64(uint16_t* out, uint64_t v, int is_signed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - out
    - hi
    - lo
    - is_signed
    argTypes:
    - uint16_t*
    - uint64_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1745
    functionName: load256two64
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void load256two64(uint16_t* out, uint64_t hi, uint64_t lo, int is_signed)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1756
    functionName: int256is127
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int256is127(const uint16_t* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/tests.c:1759,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/secp256k1/src/tests.c:1759,1
    - Dst: load256two64
      Src: /src/secp256k1/src/tests.c:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - v
    argTypes:
    - uint16_t*
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1761
    functionName: load256u128
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_u128_to_u64
    - secp256k1_u128_hi_u64
    - load256two64
    linkageType: ''
    returnType: void
    signature: void load256u128(uint16_t* out, const secp256k1_uint128* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/tests.c:1767,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/tests.c:1768,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/tests.c:1769,1
    - Dst: load256two64
      Src: /src/secp256k1/src/tests.c:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - v
    argTypes:
    - uint16_t*
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1771
    functionName: load256i128
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_i128_to_i64
    - load256two64
    - secp256k1_i128_rshift
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void load256i128(uint16_t* out, const secp256k1_int128* v)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: testrand256_test
      Src: /src/secp256k1/src/tests.c:1785,1
    - Dst: secp256k1_u128_load
      Src: /src/secp256k1/src/tests.c:1794,1
    - Dst: secp256k1_i128_load
      Src: /src/secp256k1/src/tests.c:1795,1
    - Dst: load256u128
      Src: /src/secp256k1/src/tests.c:1801,1
    - Dst: load256i128
      Src: /src/secp256k1/src/tests.c:1802,1
    - Dst: load256u64
      Src: /src/secp256k1/src/tests.c:1803,1
    - Dst: load256u64
      Src: /src/secp256k1/src/tests.c:1804,1
    - Dst: load256u64
      Src: /src/secp256k1/src/tests.c:1805,1
    - Dst: load256u64
      Src: /src/secp256k1/src/tests.c:1806,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:1808,1
    - Dst: secp256k1_u128_mul
      Src: /src/secp256k1/src/tests.c:1809,1
    - Dst: load256u128
      Src: /src/secp256k1/src/tests.c:1810,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1811,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1811,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:1813,1
    - Dst: add256
      Src: /src/secp256k1/src/tests.c:1814,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/tests.c:1816,1
    - Dst: load256u128
      Src: /src/secp256k1/src/tests.c:1817,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1818,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1818,1
    - Dst: add256
      Src: /src/secp256k1/src/tests.c:1820,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/tests.c:1822,1
    - Dst: load256u128
      Src: /src/secp256k1/src/tests.c:1823,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1824,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1824,1
    - Dst: rshift256
      Src: /src/secp256k1/src/tests.c:1826,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/tests.c:1828,1
    - Dst: load256u128
      Src: /src/secp256k1/src/tests.c:1829,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1830,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1830,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1832,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/tests.c:1832,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1834,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/secp256k1/src/tests.c:1834,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/secp256k1/src/tests.c:1836,1
    - Dst: load256u128
      Src: /src/secp256k1/src/tests.c:1837,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1838,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1838,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1847,1
    - Dst: secp256k1_u128_check_bits
      Src: /src/secp256k1/src/tests.c:1847,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:1851,1
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/tests.c:1852,1
    - Dst: load256i128
      Src: /src/secp256k1/src/tests.c:1853,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1854,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1854,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:1856,1
    - Dst: add256
      Src: /src/secp256k1/src/tests.c:1857,1
    - Dst: int256is127
      Src: /src/secp256k1/src/tests.c:1858,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/tests.c:1860,1
    - Dst: load256i128
      Src: /src/secp256k1/src/tests.c:1861,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1862,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1862,1
    - Dst: load256u64
      Src: /src/secp256k1/src/tests.c:1868,1
    - Dst: load256u64
      Src: /src/secp256k1/src/tests.c:1869,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:1870,1
    - Dst: neg256
      Src: /src/secp256k1/src/tests.c:1871,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:1872,1
    - Dst: add256
      Src: /src/secp256k1/src/tests.c:1873,1
    - Dst: secp256k1_i128_det
      Src: /src/secp256k1/src/tests.c:1874,1
    - Dst: load256i128
      Src: /src/secp256k1/src/tests.c:1875,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1876,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1876,1
    - Dst: rshift256
      Src: /src/secp256k1/src/tests.c:1879,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/tests.c:1881,1
    - Dst: load256i128
      Src: /src/secp256k1/src/tests.c:1882,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1883,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1883,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1885,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/tests.c:1885,1
    - Dst: secp256k1_i128_from_i64
      Src: /src/secp256k1/src/tests.c:1887,1
    - Dst: load256i128
      Src: /src/secp256k1/src/tests.c:1888,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1889,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:1889,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1891,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/tests.c:1891,1
    - Dst: secp256k1_i128_load
      Src: /src/secp256k1/src/tests.c:1904,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1906,1
    - Dst: secp256k1_i128_eq_var
      Src: /src/secp256k1/src/tests.c:1906,1
    - Dst: secp256k1_i128_load
      Src: /src/secp256k1/src/tests.c:1921,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1931,1
    - Dst: secp256k1_i128_check_pow2
      Src: /src/secp256k1/src/tests.c:1931,1
    - Dst: secp256k1_i128_load
      Src: /src/secp256k1/src/tests.c:1947,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1957,1
    - Dst: secp256k1_i128_check_pow2
      Src: /src/secp256k1/src/tests.c:1957,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1959
    functionName: run_int128_test_case
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_i128_det
    - secp256k1_u128_accum_u64
    - secp256k1_i128_from_i64
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - rshift256
    - secp256k1_u128_check_bits
    - load256i128
    - secp256k1_u128_mul
    - secp256k1_u128_load
    - mulmod256
    - secp256k1_i128_check_pow2
    - secp256k1_memcmp_var
    - secp256k1_i128_to_i64
    - secp256k1_u128_accum_mul
    - secp256k1_i128_rshift
    - secp256k1_i128_to_u64
    - neg256
    - int256is127
    - load256u64
    - secp256k1_i128_eq_var
    - load256u128
    - CHECK
    - testrand256_test
    - add256
    - secp256k1_i128_load
    - secp256k1_i128_accum_mul
    - secp256k1_i128_mul
    - secp256k1_u128_hi_u64
    linkageType: ''
    returnType: void
    signature: void run_int128_test_case(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_u128_mul
      Src: /src/secp256k1/src/tests.c:1966,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/tests.c:1967,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1968,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/tests.c:1968,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1969,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/secp256k1/src/tests.c:1969,1
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/tests.c:1975,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/tests.c:1976,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1977,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/tests.c:1977,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/tests.c:1978,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/tests.c:1979,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1980,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/tests.c:1980,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/tests.c:1981,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1982,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/tests.c:1982,1
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/tests.c:1985,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1986,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/tests.c:1986,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/tests.c:1987,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1988,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/tests.c:1988,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/tests.c:1989,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1990,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/tests.c:1990,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/tests.c:1991,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:1992,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/tests.c:1992,1
    - Dst: run_int128_test_case
      Src: /src/secp256k1/src/tests.c:1997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1999
    functionName: run_int128_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - run_int128_test_case
    - CHECK
    - secp256k1_u128_mul
    - secp256k1_i128_rshift
    - secp256k1_i128_accum_mul
    - secp256k1_u128_to_u64
    - secp256k1_i128_mul
    - secp256k1_i128_to_i64
    - secp256k1_u128_accum_mul
    - secp256k1_i128_to_u64
    - secp256k1_u128_hi_u64
    linkageType: ''
    returnType: void
    signature: void run_int128_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:2011,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:2014,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:2017,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/tests.c:2018,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:2024,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:2028,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/tests.c:2028,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2030,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2032,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2034,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2034,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:2041,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:2045,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:2049,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/secp256k1/src/tests.c:2049,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2051,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2053,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2056,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2056,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2062,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2063,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2064,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2064,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:2072,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:2073,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2074,1
    - Dst: secp256k1_scalar_is_one
      Src: /src/secp256k1/src/tests.c:2074,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2076,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2080,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/secp256k1/src/tests.c:2082,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2083,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2083,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/secp256k1/src/tests.c:2085,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2086,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2086,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2093,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2094,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2095,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2095,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2101,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2102,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2103,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2104,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2105,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2105,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2111,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2112,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2113,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2114,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2115,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2115,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2121,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2122,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2123,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2124,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2125,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2126,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2126,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2132,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2133,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2133,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2139,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2140,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2140,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2146,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2147,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2147,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2153,1
    - Dst: secp256k1_scalar_half
      Src: /src/secp256k1/src/tests.c:2154,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2155,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2157
    functionName: scalar_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_half
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - secp256k1_scalar_get_bits_limb32
    - testrand_bits
    - secp256k1_scalar_mul
    - secp256k1_scalar_cadd_bit
    - secp256k1_scalar_get_bits_var
    - testrand_int
    - secp256k1_scalar_is_one
    - testutil_random_scalar_order_test
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void scalar_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_b32
      Src: /src/secp256k1/src/tests.c:2165,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:2166,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2167,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/tests.c:2167,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2168,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2168,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:2170,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2171,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/tests.c:2171,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:2172,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2173,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/tests.c:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2174
    functionName: run_scalar_set_b32_seckey_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scalar_set_b32
    - memset
    - testutil_random_scalar_order_b32
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void run_scalar_set_b32_seckey_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalar_test
      Src: /src/secp256k1/src/tests.c:2179,1
    - Dst: run_scalar_set_b32_seckey_tests
      Src: /src/secp256k1/src/tests.c:2182,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2190,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:2190,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:2191,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2192,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2192,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2194,1
    - Dst: secp256k1_scalar_is_one
      Src: /src/secp256k1/src/tests.c:2194,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:2195,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2196,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2196,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:2202,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2203,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2204,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:2204,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:2205,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2206,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:2206,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:2213,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:2215,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:2217,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:2219,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:2221,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:2223,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:2225,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:2227,1
    - Dst: secp256k1_scalar_half
      Src: /src/secp256k1/src/tests.c:2232,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2233,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2234,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2234,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:2235,1
    - Dst: secp256k1_scalar_half
      Src: /src/secp256k1/src/tests.c:2236,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2237,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2237,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:2243,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2247,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/secp256k1/src/tests.c:2247,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:2797,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2798,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:2799,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2800,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:2801,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2802,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:2803,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2804,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2805,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2806,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2806,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:2807,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/secp256k1/src/tests.c:2808,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/secp256k1/src/tests.c:2809,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2810,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2810,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2811,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2812,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2812,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2813,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2814,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2814,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:2816,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2817,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:2817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2820
    functionName: run_scalar_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_half
    - secp256k1_scalar_add
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_inverse
    - scalar_test
    - secp256k1_scalar_set_int
    - secp256k1_scalar_check_overflow
    - secp256k1_scalar_mul
    - run_scalar_set_b32_seckey_tests
    - SECP256K1_SCALAR_CONST
    - secp256k1_scalar_inverse_var
    - secp256k1_scalar_negate
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_is_one
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void run_scalar_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_non_zero
      Src: /src/secp256k1/src/tests.c:2826,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/secp256k1/src/tests.c:2827,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:2828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ns
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2830
    functionName: random_fe_non_square
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_sqrt
    - testutil_random_fe_non_zero
    - secp256k1_fe_negate
    linkageType: ''
    returnType: void
    signature: void random_fe_non_square(secp256k1_fe *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/tests.c:2835,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:2836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2837
    functionName: fe_equal
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 2
    functionsReached:
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_equal
    linkageType: ''
    returnType: int
    signature: int fe_equal(const secp256k1_fe *a, const secp256k1_fe *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_STORAGE_CONST
      Src: /src/secp256k1/src/tests.c:2846,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:2850,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2858,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/tests.c:2858,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2859,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:2859,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/secp256k1/src/tests.c:2860,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2861,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:2861,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/tests.c:2863,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2864,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:2864,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/secp256k1/src/tests.c:2865,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2866,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:2866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2867
    functionName: run_field_convert
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_equal
    - SECP256K1_FE_CONST
    - SECP256K1_FE_STORAGE_CONST
    - CHECK
    - secp256k1_fe_set_b32_limit
    - secp256k1_fe_get_b32
    - secp256k1_fe_to_storage
    - secp256k1_fe_from_storage
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void run_field_convert(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2880,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/tests.c:2880,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/tests.c:2881,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2882,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/tests.c:2882,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:2883,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2884,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:2884,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/tests.c:2885,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2886,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:2886,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2903,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/tests.c:2903,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/tests.c:2904,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:2905,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2906,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/secp256k1/src/tests.c:2906,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/tests.c:2907,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2908,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:2908,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:2925,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2926,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/tests.c:2926,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/tests.c:2927,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:2928,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2929,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/secp256k1/src/tests.c:2929,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/tests.c:2930,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2931,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:2931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2933
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2933
    functionName: run_field_be32_overflow
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - SECP256K1_FE_CONST
    - secp256k1_fe_normalizes_to_zero
    - CHECK
    - secp256k1_fe_set_b32_limit
    - secp256k1_fe_get_b32
    - secp256k1_fe_cmp_var
    - secp256k1_fe_set_b32_mod
    - secp256k1_fe_normalize
    - secp256k1_memcmp_var
    - secp256k1_fe_is_zero
    linkageType: ''
    returnType: void
    signature: void run_field_be32_overflow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:2939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2941
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2941
    functionName: fe_identical
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: int
    signature: int fe_identical(const secp256k1_fe *a, const secp256k1_fe *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_get_bounds
      Src: /src/secp256k1/src/tests.c:2948,1
    - Dst: secp256k1_fe_half
      Src: /src/secp256k1/src/tests.c:2949,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2951,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2952,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2954,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/tests.c:2954,1
    - Dst: secp256k1_fe_get_bounds
      Src: /src/secp256k1/src/tests.c:2959,1
    - Dst: secp256k1_fe_half
      Src: /src/secp256k1/src/tests.c:2962,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2964,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2965,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/tests.c:2967,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:2968,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2969,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:2969,1
    - Dst: secp256k1_fe_get_bounds
      Src: /src/secp256k1/src/tests.c:2975,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2976,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2977,1
    - Dst: secp256k1_fe_half
      Src: /src/secp256k1/src/tests.c:2981,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2983,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2984,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/tests.c:2986,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:2987,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:2988,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:2988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 2990
    functionName: run_field_half
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_get_bounds
    - CHECK
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_fe_add
    - secp256k1_fe_normalize_weak
    - fe_equal
    - secp256k1_fe_half
    linkageType: ''
    returnType: void
    signature: void run_field_half(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:2998,1
    - Dst: testutil_random_fe
      Src: /src/secp256k1/src/tests.c:3003,1
    - Dst: testutil_random_fe_test
      Src: /src/secp256k1/src/tests.c:3005,1
    - Dst: testutil_random_fe_non_zero
      Src: /src/secp256k1/src/tests.c:3007,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:3008,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/tests.c:3010,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3012,1
    - Dst: secp256k1_fe_add_int
      Src: /src/secp256k1/src/tests.c:3014,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3015,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3015,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3017,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/secp256k1/src/tests.c:3017,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3018,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:3018,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3020,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:3023,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3025,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3026,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3027,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:3030,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3031,1
    - Dst: fe_identical
      Src: /src/secp256k1/src/tests.c:3031,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3032,1
    - Dst: fe_identical
      Src: /src/secp256k1/src/tests.c:3032,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:3033,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3035,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3036,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3037,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3039,1
    - Dst: fe_identical
      Src: /src/secp256k1/src/tests.c:3039,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:3041,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:3042,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3043,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:3043,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:3044,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:3045,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3047,1
    - Dst: secp256k1_fe_negate_unchecked
      Src: /src/secp256k1/src/tests.c:3050,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:3051,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:3052,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3054,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:3057,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/secp256k1/src/tests.c:3059,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/secp256k1/src/tests.c:3060,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/secp256k1/src/tests.c:3061,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/tests.c:3062,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/tests.c:3063,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3064,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:3064,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/tests.c:3065,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3066,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:3066,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/secp256k1/src/tests.c:3067,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/secp256k1/src/tests.c:3068,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/secp256k1/src/tests.c:3069,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3071,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3072,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/tests.c:3074,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3075,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3075,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3076,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3077,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3078,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3078,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/tests.c:3080,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3081,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3082,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3082,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:3083,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3084,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3085,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3086,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3086,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3087,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3087,1
    - Dst: secp256k1_fe_half
      Src: /src/secp256k1/src/tests.c:3090,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3091,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3092,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3092,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3093,1
    - Dst: secp256k1_fe_half
      Src: /src/secp256k1/src/tests.c:3094,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3095,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3095,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 3097
    functionName: run_field_misc
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_storage_cmov
    - secp256k1_fe_normalize_var
    - secp256k1_fe_negate
    - secp256k1_fe_set_int
    - secp256k1_fe_equal
    - secp256k1_fe_add
    - testutil_random_fe_non_zero
    - secp256k1_fe_cmov
    - secp256k1_fe_from_storage
    - secp256k1_fe_add_int
    - secp256k1_memcmp_var
    - testutil_random_fe_test
    - secp256k1_fe_mul_int
    - fe_identical
    - testrand_bits
    - fe_equal
    - secp256k1_fe_to_storage
    - SECP256K1_FE_CONST
    - CHECK
    - secp256k1_fe_negate_unchecked
    - secp256k1_fe_cmp_var
    - testutil_random_fe
    - secp256k1_fe_mul
    - secp256k1_fe_half
    linkageType: ''
    returnType: void
    signature: void run_field_misc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/tests.c:3117,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3119,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:3125,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:3126,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:3127,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/tests.c:3128,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/tests.c:3129,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/tests.c:3130,1
    - Dst: mulmod256
      Src: /src/secp256k1/src/tests.c:3137,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3139,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:3139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - a
    - b
    - use_sqr
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3140
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3140
    functionName: test_fe_mul
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_fe_get_b32
    - secp256k1_fe_normalize_var
    - secp256k1_fe_mul
    - mulmod256
    - secp256k1_memcmp_var
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void test_fe_mul(const secp256k1_fe* a, const secp256k1_fe* b, int
      use_sqr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe
      Src: /src/secp256k1/src/tests.c:3146,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/tests.c:3147,1
    - Dst: testutil_random_fe
      Src: /src/secp256k1/src/tests.c:3148,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/tests.c:3149,1
    - Dst: testutil_random_fe_test
      Src: /src/secp256k1/src/tests.c:3150,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/tests.c:3151,1
    - Dst: testutil_random_fe_test
      Src: /src/secp256k1/src/tests.c:3152,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/tests.c:3153,1
    - Dst: test_fe_mul
      Src: /src/secp256k1/src/tests.c:3154,1
    - Dst: test_fe_mul
      Src: /src/secp256k1/src/tests.c:3155,1
    - Dst: test_fe_mul
      Src: /src/secp256k1/src/tests.c:3156,1
    - Dst: test_fe_mul
      Src: /src/secp256k1/src/tests.c:3157,1
    - Dst: test_fe_mul
      Src: /src/secp256k1/src/tests.c:3158,1
    - Dst: test_fe_mul
      Src: /src/secp256k1/src/tests.c:3159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3161
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3161
    functionName: run_fe_mul
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_fe_mul
    - testutil_random_fe_test
    - testutil_random_fe_magnitude
    - testutil_random_fe
    linkageType: ''
    returnType: void
    signature: void run_fe_mul(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/tests.c:3167,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:3168,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/tests.c:3171,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:3172,1
    - Dst: testutil_random_fe_test
      Src: /src/secp256k1/src/tests.c:3175,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3178,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:3179,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3180,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3181,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/tests.c:3183,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/tests.c:3184,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:3185,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3186,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3188,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3163
    functionDepth: 0
    functionLinenumber: 3163
    functionLinenumberEnd: 3190
    functionName: run_sqr
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - fe_equal
    - secp256k1_fe_mul
    - secp256k1_fe_normalize
    - secp256k1_fe_mul_int
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - testutil_random_fe_test
    linkageType: ''
    returnType: void
    signature: void run_sqr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqrt
      Src: /src/secp256k1/src/tests.c:3194,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3195,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:3199,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3200,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3200,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:3201,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:3201,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3202,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3202,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - k
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3192
    functionDepth: 0
    functionLinenumber: 3192
    functionLinenumberEnd: 3204
    functionName: test_sqrt
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_fe_sqrt
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_normalize
    - secp256k1_fe_is_zero
    linkageType: ''
    returnType: void
    signature: void test_sqrt(const secp256k1_fe *a, const secp256k1_fe *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/tests.c:3211,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/tests.c:3212,1
    - Dst: test_sqrt
      Src: /src/secp256k1/src/tests.c:3213,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/tests.c:3217,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/tests.c:3218,1
    - Dst: test_sqrt
      Src: /src/secp256k1/src/tests.c:3219,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:3220,1
    - Dst: test_sqrt
      Src: /src/secp256k1/src/tests.c:3221,1
    - Dst: random_fe_non_square
      Src: /src/secp256k1/src/tests.c:3227,1
    - Dst: testutil_random_fe
      Src: /src/secp256k1/src/tests.c:3229,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/tests.c:3230,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3231,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/tests.c:3231,1
    - Dst: test_sqrt
      Src: /src/secp256k1/src/tests.c:3232,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:3233,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3234,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/tests.c:3234,1
    - Dst: test_sqrt
      Src: /src/secp256k1/src/tests.c:3235,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3236,1
    - Dst: test_sqrt
      Src: /src/secp256k1/src/tests.c:3237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3206
    functionDepth: 0
    functionLinenumber: 3206
    functionLinenumberEnd: 3240
    functionName: run_sqrt
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - random_fe_non_square
    - secp256k1_fe_negate
    - testutil_random_fe
    - secp256k1_fe_is_square_var
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - test_sqrt
    linkageType: ''
    returnType: void
    signature: void run_sqrt(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:3267,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3268,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:3268,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:3271,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3272,1
    - Dst: secp256k1_scalar_is_one
      Src: /src/secp256k1/src/tests.c:3272,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:3273,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:3274,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:3276,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:3278,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:3279,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3280,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:3280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - out
    - x
    - var
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3261
    functionDepth: 0
    functionLinenumber: 3261
    functionLinenumberEnd: 3281
    functionName: test_inverse_scalar
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_is_one
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_inverse_scalar(secp256k1_scalar* out, const secp256k1_scalar*
      x, int var)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/tests.c:3290,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3291,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/tests.c:3291,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3294,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3295,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3296,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/tests.c:3296,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3298,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/tests.c:3299,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3301,1
    - Dst: secp256k1_fe_add_int
      Src: /src/secp256k1/src/tests.c:3303,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:3304,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3305,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/tests.c:3305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - out
    - x
    - var
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3306
      start: 3283
    functionDepth: 0
    functionLinenumber: 3283
    functionLinenumberEnd: 3306
    functionName: test_inverse_field
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - secp256k1_fe_normalizes_to_zero
    - CHECK
    - secp256k1_fe_add
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    linkageType: ''
    returnType: void
    signature: void test_inverse_field(secp256k1_fe* out, const secp256k1_fe* x, int
      var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3313,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3314,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3316,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3317,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3319,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3320,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3322,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3323,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3325,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3326,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3328,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3329,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3331,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3332,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3334,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3335,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3337,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3338,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3339,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3340,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3341,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3342,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3343,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3344,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3345,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3346,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3347,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3348,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3349,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3350,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3351,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3352,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3353,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3354,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3355,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3356,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3358,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3359,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3360,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3361,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3362,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3363,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3364,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3365,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3366,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3367,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3368,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3369,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3370,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3371,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3372,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3373,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3374,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3375,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3376,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3377,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3378,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3379,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3380,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3381,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3382,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3383,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3384,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3385,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3386,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3387,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3388,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3389,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3390,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3391,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3392,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3393,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3394,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3395,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3396,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3397,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3398,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3399,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3400,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3401,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3402,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3403,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3404,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3405,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3406,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3407,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3408,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3409,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3410,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3411,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3412,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:3413,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3418,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3419,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3421,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3422,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3424,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3425,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3427,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3428,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3430,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3431,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3433,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3434,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3436,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3437,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3439,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3440,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3442,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3443,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3444,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3445,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3446,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3447,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3448,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3449,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3450,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3451,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3452,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3453,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3454,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3455,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3456,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3457,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3458,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3459,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3460,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3461,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3462,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3463,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3464,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3465,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3466,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3467,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3468,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3469,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3470,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3471,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3472,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3473,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3474,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3475,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3476,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3477,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3478,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3479,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3480,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3481,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3482,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3483,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3484,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3485,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3486,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3487,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3488,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3489,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3490,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3491,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3492,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3493,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3494,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3495,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3496,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3497,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3498,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:3499,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:3505,1
    - Dst: test_inverse_field
      Src: /src/secp256k1/src/tests.c:3509,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3510,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3510,1
    - Dst: test_inverse_field
      Src: /src/secp256k1/src/tests.c:3511,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3512,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:3512,1
    - Dst: test_inverse_scalar
      Src: /src/secp256k1/src/tests.c:3517,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3518,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:3518,1
    - Dst: test_inverse_scalar
      Src: /src/secp256k1/src/tests.c:3519,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3520,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:3520,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:3527,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/tests.c:3528,1
    - Dst: test_inverse_scalar
      Src: /src/secp256k1/src/tests.c:3530,1
    - Dst: test_inverse_field
      Src: /src/secp256k1/src/tests.c:3531,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:3533,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:3534,1
    - Dst: test_inverse_scalar
      Src: /src/secp256k1/src/tests.c:3536,1
    - Dst: test_inverse_field
      Src: /src/secp256k1/src/tests.c:3537,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:3544,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/tests.c:3545,1
    - Dst: test_inverse_scalar
      Src: /src/secp256k1/src/tests.c:3547,1
    - Dst: test_inverse_field
      Src: /src/secp256k1/src/tests.c:3548,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3308
    functionDepth: 0
    functionLinenumber: 3308
    functionLinenumberEnd: 3552
    functionName: run_inverse_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_inverse_scalar
    - SECP256K1_FE_CONST
    - CHECK
    - secp256k1_scalar_set_b32
    - test_inverse_field
    - secp256k1_fe_negate
    - memset
    - SECP256K1_SCALAR_CONST
    - fe_equal
    - secp256k1_fe_set_b32_mod
    - secp256k1_scalar_negate
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void run_inverse_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:3559,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:3560,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:3561,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:3562,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:3563,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:3564,1
    - Dst: secp256k1_heap_swap
      Src: /src/secp256k1/src/tests.c:3565,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3566,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:3566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3556
    functionDepth: 0
    functionLinenumber: 3556
    functionLinenumberEnd: 3567
    functionName: test_heap_swap
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memset
    - secp256k1_heap_swap
    - secp256k1_memcmp_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_heap_swap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3572,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:3572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - elements
    - n
    - len
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3574
      start: 3569
    functionDepth: 0
    functionLinenumber: 3569
    functionLinenumberEnd: 3574
    functionName: test_hsort_is_sorted
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_hsort_is_sorted(unsigned char *elements, size_t n, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:3585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ele1
    - ele2
    - data
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3586
      start: 3582
    functionDepth: 0
    functionLinenumber: 3582
    functionLinenumberEnd: 3586
    functionName: test_hsort_cmp
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: int
    signature: int test_hsort_cmp(const void *ele1, const void *ele2, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/tests.c:3595,1
    - Dst: secp256k1_hsort
      Src: /src/secp256k1/src/tests.c:3599,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3600,1
    - Dst: secp256k1_hsort
      Src: /src/secp256k1/src/tests.c:3601,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3602,1
    - Dst: secp256k1_hsort
      Src: /src/secp256k1/src/tests.c:3603,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3604,1
    - Dst: test_hsort_is_sorted
      Src: /src/secp256k1/src/tests.c:3605,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:3609,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/tests.c:3610,1
    - Dst: secp256k1_hsort
      Src: /src/secp256k1/src/tests.c:3611,1
    - Dst: test_hsort_is_sorted
      Src: /src/secp256k1/src/tests.c:3612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - element_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3590
    functionDepth: 0
    functionLinenumber: 3590
    functionLinenumberEnd: 3614
    functionName: test_hsort
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - test_hsort_is_sorted
    - CHECK
    - testrand_bytes_test
    - secp256k1_hsort
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void test_hsort(size_t element_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_heap_swap
      Src: /src/secp256k1/src/tests.c:3620,1
    - Dst: test_hsort
      Src: /src/secp256k1/src/tests.c:3621,1
    - Dst: test_hsort
      Src: /src/secp256k1/src/tests.c:3622,1
    - Dst: test_hsort
      Src: /src/secp256k1/src/tests.c:3623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3624
      start: 3619
    functionDepth: 0
    functionLinenumber: 3619
    functionLinenumberEnd: 3624
    functionName: run_hsort_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_hsort
    - test_heap_swap
    linkageType: ''
    returnType: void
    signature: void run_hsort_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:3637,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:3638,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:3639,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:3640,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:3641,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests.c:3642,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/secp256k1/src/tests.c:3643,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/secp256k1/src/tests.c:3644,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/secp256k1/src/tests.c:3645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3648
      start: 3629
    functionDepth: 0
    functionLinenumber: 3629
    functionLinenumberEnd: 3648
    functionName: gej_xyz_equals_gej
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_normalize
    - secp256k1_fe_cmp_var
    linkageType: ''
    returnType: int
    signature: int gej_xyz_equals_gej(const secp256k1_gej *a, const secp256k1_gej
      *b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: checked_malloc
      Src: /src/secp256k1/src/tests.c:3659,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/tests.c:3660,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:3664,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/tests.c:3665,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:3669,1
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/secp256k1/src/tests.c:3671,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3672,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:3672,1
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/secp256k1/src/tests.c:3675,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/tests.c:3679,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/tests.c:3680,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:3681,1
    - Dst: testutil_random_ge_jacobian_test
      Src: /src/secp256k1/src/tests.c:3682,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:3683,1
    - Dst: testutil_random_ge_jacobian_test
      Src: /src/secp256k1/src/tests.c:3684,1
    - Dst: testutil_random_ge_x_magnitude
      Src: /src/secp256k1/src/tests.c:3686,1
    - Dst: testutil_random_ge_y_magnitude
      Src: /src/secp256k1/src/tests.c:3687,1
    - Dst: testutil_random_gej_x_magnitude
      Src: /src/secp256k1/src/tests.c:3688,1
    - Dst: testutil_random_gej_y_magnitude
      Src: /src/secp256k1/src/tests.c:3689,1
    - Dst: testutil_random_gej_z_magnitude
      Src: /src/secp256k1/src/tests.c:3690,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3696,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:3696,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3697,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:3697,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3698,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3698,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3699,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3699,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/secp256k1/src/tests.c:3705,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/tests.c:3706,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/secp256k1/src/tests.c:3707,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/tests.c:3708,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3709,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/secp256k1/src/tests.c:3712,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:3721,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3721,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3723,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3723,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3724,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3725,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:3725,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/secp256k1/src/tests.c:3727,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/tests.c:3730,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3730,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3731,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3731,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3732,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3732,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3733,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3734,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:3734,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3740,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3741,1
    - Dst: testutil_random_ge_x_magnitude
      Src: /src/secp256k1/src/tests.c:3742,1
    - Dst: testutil_random_ge_y_magnitude
      Src: /src/secp256k1/src/tests.c:3743,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/secp256k1/src/tests.c:3744,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3745,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3745,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/tests.c:3751,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3752,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3752,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/tests.c:3759,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3760,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3760,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3762,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3763,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:3763,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/tests.c:3765,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3766,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3766,1
    - Dst: secp256k1_gej_double
      Src: /src/secp256k1/src/tests.c:3768,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3769,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3769,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3774,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests.c:3774,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3779,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests.c:3779,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3780,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3780,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3781,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3781,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3784,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests.c:3784,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3785,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3785,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3786,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3786,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/tests.c:3794,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:3799,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:3807,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3809,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3809,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:3810,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/tests.c:3815,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/tests.c:3816,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/secp256k1/src/tests.c:3817,1
    - Dst: testutil_random_fe_non_zero
      Src: /src/secp256k1/src/tests.c:3820,1
    - Dst: secp256k1_gej_rescale
      Src: /src/secp256k1/src/tests.c:3821,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3822,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3822,1
    - Dst: secp256k1_ge_set_all_gej
      Src: /src/secp256k1/src/tests.c:3826,1
    - Dst: testutil_random_fe_non_zero
      Src: /src/secp256k1/src/tests.c:3829,1
    - Dst: secp256k1_gej_rescale
      Src: /src/secp256k1/src/tests.c:3830,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3831,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3831,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3832,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:3832,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/secp256k1/src/tests.c:3836,1
    - Dst: secp256k1_ge_set_all_gej
      Src: /src/secp256k1/src/tests.c:3837,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3838,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3838,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3839,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3839,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3840,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:3840,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/secp256k1/src/tests.c:3843,1
    - Dst: secp256k1_ge_set_all_gej
      Src: /src/secp256k1/src/tests.c:3844,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:3846,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:3847,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3853,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/secp256k1/src/tests.c:3853,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3855,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3856,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/secp256k1/src/tests.c:3856,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:3864,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/secp256k1/src/tests.c:3865,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/secp256k1/src/tests.c:3866,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/tests.c:3867,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3868,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3869,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3870,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:3870,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:3876,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/tests.c:3877,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3878,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/tests.c:3881,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:3883,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/secp256k1/src/tests.c:3886,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3889,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3889,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:3894,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/secp256k1/src/tests.c:3897,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3900,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests.c:3900,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:3903,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:3904,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 166
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3650
    functionDepth: 0
    functionLinenumber: 3650
    functionLinenumberEnd: 3905
    functionName: test_ge
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_eq_var
    - secp256k1_ge_set_all_gej_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_gej_rescale
    - secp256k1_gej_double_var
    - testutil_random_gej_x_magnitude
    - secp256k1_ge_x_frac_on_curve_var
    - testrand_int
    - secp256k1_ge_mul_lambda
    - testutil_random_gej_z_magnitude
    - secp256k1_fe_equal
    - checked_malloc
    - secp256k1_gej_eq_ge_var
    - secp256k1_ge_set_gej_var
    - testutil_random_fe_non_zero
    - testutil_random_ge_x_magnitude
    - secp256k1_gej_double
    - secp256k1_gej_add_zinv_var
    - secp256k1_ge_is_infinity
    - free
    - secp256k1_gej_is_infinity
    - secp256k1_ge_set_infinity
    - secp256k1_gej_add_ge_var
    - testutil_random_fe_non_zero_test
    - secp256k1_gej_add_ge
    - testutil_random_ge_y_magnitude
    - secp256k1_ge_set_all_gej
    - secp256k1_fe_sqr
    - secp256k1_fe_is_odd
    - secp256k1_gej_add_var
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_ge_x_on_curve_var
    - secp256k1_gej_set_infinity
    - secp256k1_ge_neg
    - secp256k1_fe_inv_var
    - secp256k1_fe_mul
    - testutil_random_fe_magnitude
    - secp256k1_ge_set_xo_var
    - testutil_random_ge_jacobian_test
    - testutil_random_gej_y_magnitude
    linkageType: ''
    returnType: void
    signature: void test_ge(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:3913,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:3914,1
    - Dst: secp256k1_gej_neg
      Src: /src/secp256k1/src/tests.c:3915,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:3917,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3918,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3918,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3919,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3919,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3920,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3920,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3921,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3921,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/tests.c:3923,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3924,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3924,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3925,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3925,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3926,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3926,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3927,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3927,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/tests.c:3929,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/secp256k1/src/tests.c:3930,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3931,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:3931,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3932,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3932,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3933,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3933,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3934,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/tests.c:3934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3937
      start: 3907
    functionDepth: 0
    functionLinenumber: 3907
    functionLinenumberEnd: 3937
    functionName: test_initialized_inf
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_gej_add_ge_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_gej_add_zinv_var
    - secp256k1_fe_is_zero
    - secp256k1_fe_set_int
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_initialized_inf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/secp256k1/src/tests.c:3963,1
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/secp256k1/src/tests.c:3969,1
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/secp256k1/src/tests.c:3975,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:3984,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:3986,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:3987,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3988,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3988,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/tests.c:3990,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:3991,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3992,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3992,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/tests.c:3994,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:3995,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:3996,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:3996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3997
      start: 3939
    functionDepth: 0
    functionLinenumber: 3939
    functionLinenumberEnd: 3997
    functionName: test_add_neg_y_diff_x
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - SECP256K1_GEJ_CONST
    - CHECK
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_eq_ge_var
    - secp256k1_gej_add_ge
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_add_neg_y_diff_x(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/tests.c:4007,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4009,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests.c:4012,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/secp256k1/src/tests.c:4013,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/secp256k1/src/tests.c:4015,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4016,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:4016,1
    - Dst: secp256k1_ge_from_bytes_ext
      Src: /src/secp256k1/src/tests.c:4018,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4019,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:4019,1
    - Dst: secp256k1_ge_to_bytes_ext
      Src: /src/secp256k1/src/tests.c:4021,1
    - Dst: secp256k1_ge_from_bytes_ext
      Src: /src/secp256k1/src/tests.c:4022,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4023,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:4023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 3999
    functionDepth: 0
    functionLinenumber: 3999
    functionLinenumberEnd: 4025
    functionName: test_ge_bytes
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_ge_set_infinity
    - testutil_random_ge_test
    - secp256k1_ge_to_bytes
    - secp256k1_ge_from_bytes
    - secp256k1_ge_to_bytes_ext
    - secp256k1_ge_from_bytes_ext
    - secp256k1_ge_is_infinity
    linkageType: ''
    returnType: void
    signature: void test_ge_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ge
      Src: /src/secp256k1/src/tests.c:4030,1
    - Dst: test_add_neg_y_diff_x
      Src: /src/secp256k1/src/tests.c:4032,1
    - Dst: test_initialized_inf
      Src: /src/secp256k1/src/tests.c:4033,1
    - Dst: test_ge_bytes
      Src: /src/secp256k1/src/tests.c:4034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4035
      start: 4027
    functionDepth: 1
    functionLinenumber: 4027
    functionLinenumberEnd: 4035
    functionName: run_ge
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ge_bytes
    - test_ge
    - test_initialized_inf
    - test_add_neg_y_diff_x
    linkageType: ''
    returnType: void
    signature: void run_ge(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_cmov
      Src: /src/secp256k1/src/tests.c:4039,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4040,1
    - Dst: gej_xyz_equals_gej
      Src: /src/secp256k1/src/tests.c:4040,1
    - Dst: secp256k1_gej_cmov
      Src: /src/secp256k1/src/tests.c:4041,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4042,1
    - Dst: gej_xyz_equals_gej
      Src: /src/secp256k1/src/tests.c:4042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4043
      start: 4037
    functionDepth: 0
    functionLinenumber: 4037
    functionLinenumberEnd: 4043
    functionName: test_gej_cmov
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_cmov
    - gej_xyz_equals_gej
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_gej_cmov(const secp256k1_gej *a, const secp256k1_gej *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:4051,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:4052,1
    - Dst: test_gej_cmov
      Src: /src/secp256k1/src/tests.c:4053,1
    - Dst: testutil_random_gej_test
      Src: /src/secp256k1/src/tests.c:4055,1
    - Dst: test_gej_cmov
      Src: /src/secp256k1/src/tests.c:4056,1
    - Dst: test_gej_cmov
      Src: /src/secp256k1/src/tests.c:4057,1
    - Dst: test_gej_cmov
      Src: /src/secp256k1/src/tests.c:4060,1
    - Dst: testutil_random_gej_test
      Src: /src/secp256k1/src/tests.c:4062,1
    - Dst: test_gej_cmov
      Src: /src/secp256k1/src/tests.c:4063,1
    - Dst: test_gej_cmov
      Src: /src/secp256k1/src/tests.c:4064,1
    - Dst: testutil_random_gej_test
      Src: /src/secp256k1/src/tests.c:4070,1
    - Dst: testutil_random_gej_test
      Src: /src/secp256k1/src/tests.c:4071,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4072,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4072,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/secp256k1/src/tests.c:4075,1
    - Dst: secp256k1_gej_rescale
      Src: /src/secp256k1/src/tests.c:4076,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4077,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4079
      start: 4045
    functionDepth: 0
    functionLinenumber: 4045
    functionLinenumberEnd: 4079
    functionName: run_gej
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_eq_var
    - CHECK
    - test_gej_cmov
    - secp256k1_gej_set_infinity
    - testutil_random_fe_non_zero_test
    - secp256k1_gej_rescale
    - testutil_random_gej_test
    linkageType: ''
    returnType: void
    signature: void run_gej(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4092,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:4093,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:4094,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4095,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/tests.c:4096,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:4098,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4099,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/tests.c:4100,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4101,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/secp256k1/src/tests.c:4101,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4102,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:4102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4104
      start: 4081
    functionDepth: 0
    functionLinenumber: 4081
    functionLinenumberEnd: 4104
    functionName: test_ec_combine
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_add
    - CHECK
    - secp256k1_ecmult_gen
    - secp256k1_ec_pubkey_combine
    - secp256k1_memcmp_var
    - testutil_random_scalar_order_test
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: void
    signature: void test_ec_combine(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ec_combine
      Src: /src/secp256k1/src/tests.c:4109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4111
      start: 4106
    functionDepth: 0
    functionLinenumber: 4106
    functionLinenumberEnd: 4111
    functionName: run_ec_combine
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ec_combine
    linkageType: ''
    returnType: void
    signature: void run_ec_combine(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:4121,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/tests.c:4123,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/tests.c:4124,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4126,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:4129,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:4130,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:4131,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:4132,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4135,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4136,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4139,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:4139,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4140,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:4140,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4143,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/tests.c:4143,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4144,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/tests.c:4144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4113
    functionDepth: 0
    functionLinenumber: 4113
    functionLinenumberEnd: 4146
    functionName: test_group_decompress
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_fe_normalize_var
    - secp256k1_ge_set_xo_var
    - secp256k1_fe_is_odd
    linkageType: ''
    returnType: void
    signature: void test_group_decompress(const secp256k1_fe* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_test
      Src: /src/secp256k1/src/tests.c:4152,1
    - Dst: test_group_decompress
      Src: /src/secp256k1/src/tests.c:4153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4155
      start: 4148
    functionDepth: 0
    functionLinenumber: 4148
    functionLinenumberEnd: 4155
    functionName: run_group_decompress
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_group_decompress
    - testutil_random_fe_test
    linkageType: ''
    returnType: void
    signature: void run_group_decompress(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4175,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/secp256k1/src/tests.c:4177,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4178,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/secp256k1/src/tests.c:4178,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4180,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/tests.c:4181,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/secp256k1/src/tests.c:4182,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:4184,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:4184,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/tests.c:4184,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:4185,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:4185,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/tests.c:4185,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4187,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/tests.c:4187,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/tests.c:4187,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/secp256k1/src/tests.c:4189,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4190,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/secp256k1/src/tests.c:4190,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/tests.c:4192,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:4192,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/tests.c:4193,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4195,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/tests.c:4195,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/tests.c:4195,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4198,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:4198,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:4198,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:4201,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:4202,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4203,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:4203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - pre_g
    - n
    argTypes:
    - secp256k1_ge_storage*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 4159
    functionDepth: 0
    functionLinenumber: 4159
    functionLinenumberEnd: 4207
    functionName: test_pre_g_table
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_ge_is_valid_var
    - secp256k1_fe_add
    - secp256k1_ge_set_gej_var
    - secp256k1_gej_set_ge
    - secp256k1_fe_negate
    - secp256k1_fe_normalize_weak
    - secp256k1_gej_double_var
    - secp256k1_ge_from_storage
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void test_pre_g_table(const secp256k1_ge_storage * pre_g, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_pre_g_table
      Src: /src/secp256k1/src/tests.c:4216,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/tests.c:4216,1
    - Dst: test_pre_g_table
      Src: /src/secp256k1/src/tests.c:4217,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/tests.c:4217,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/secp256k1/src/tests.c:4220,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4221,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:4221,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4224,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/tests.c:4226,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4228,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/secp256k1/src/tests.c:4229,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4230,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:4230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4231
      start: 4209
    functionDepth: 0
    functionLinenumber: 4209
    functionLinenumberEnd: 4231
    functionName: run_ecmult_pre_g
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - CHECK
    - secp256k1_ge_to_storage
    - test_pre_g_table
    - secp256k1_gej_set_ge
    - secp256k1_gej_double_var
    - secp256k1_memcmp_var
    - ECMULT_TABLE_SIZE
    linkageType: ''
    returnType: void
    signature: void run_ecmult_pre_g(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/secp256k1/src/tests.c:4235,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:4242,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:4246,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:4251,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:4252,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4265,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:4268,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:4269,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:4270,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:4272,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:4273,1
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/secp256k1/src/tests.c:4278,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4284,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4284,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4288,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4289,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4233
    functionDepth: 0
    functionLinenumber: 4233
    functionLinenumberEnd: 4290
    functionName: run_ecmult_chain
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - SECP256K1_GEJ_CONST
    - secp256k1_gej_eq_var
    - CHECK
    - secp256k1_ecmult
    - secp256k1_scalar_mul
    - SECP256K1_SCALAR_CONST
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void run_ecmult_chain(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4300,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:4301,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4302,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4303,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:4304,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4305,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4305,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4306,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4307,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests.c:4307,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4308,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/secp256k1/src/tests.c:4308,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4309,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:4309,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4311,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:4311,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4313,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4314,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4315,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests.c:4315,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4316,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4317,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4318,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:4318,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4319,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4320,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4321,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:4321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - point
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4322
      start: 4292
    functionDepth: 0
    functionLinenumber: 4292
    functionLinenumberEnd: 4322
    functionName: test_point_times_order
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_eckey_pubkey_serialize
    - secp256k1_ge_set_gej
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_ge_eq_var
    - secp256k1_ge_is_valid_var
    - secp256k1_gej_eq_ge_var
    - secp256k1_ecmult
    - secp256k1_scalar_negate
    - secp256k1_ge_is_infinity
    - testutil_random_scalar_order_test
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_point_times_order(const secp256k1_gej *point)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4361,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:4362,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:4363,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4367,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4368,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:4373,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:4374,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:4375,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4377,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4378,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4379,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4381,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4382,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4383,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:4387,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:4388,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4389,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - target
    - mode
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4390
      start: 4354
    functionDepth: 0
    functionLinenumber: 4354
    functionLinenumberEnd: 4390
    functionName: test_ecmult_target
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_gej_add_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_ecmult_gen
    - secp256k1_ecmult
    - secp256k1_ecmult_const
    - secp256k1_scalar_negate
    - testutil_random_scalar_order_test
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_ecmult_target(const secp256k1_scalar* target, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecmult_target
      Src: /src/secp256k1/src/tests.c:4397,1
    - Dst: test_ecmult_target
      Src: /src/secp256k1/src/tests.c:4398,1
    - Dst: test_ecmult_target
      Src: /src/secp256k1/src/tests.c:4399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4402
      start: 4392
    functionDepth: 0
    functionLinenumber: 4392
    functionLinenumberEnd: 4402
    functionName: run_ecmult_near_split_bound
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecmult_target
    linkageType: ''
    returnType: void
    signature: void run_ecmult_near_split_bound(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:4406,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:4407,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/tests.c:4413,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4415,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/secp256k1/src/tests.c:4415,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4416,1
    - Dst: test_point_times_order
      Src: /src/secp256k1/src/tests.c:4417,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/tests.c:4419,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/tests.c:4421,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4422,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests.c:4422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4423
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4423
    functionName: run_point_times_order
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_equal
    - SECP256K1_FE_CONST
    - CHECK
    - secp256k1_ge_is_valid_var
    - secp256k1_gej_set_ge
    - secp256k1_fe_normalize_var
    - test_point_times_order
    - secp256k1_ge_set_xo_var
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void run_point_times_order(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_CONST
      Src: /src/secp256k1/src/tests.c:4427,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:4434,1
    - Dst: SECP256K1_GE_CONST
      Src: /src/secp256k1/src/tests.c:4439,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4446,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4448,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/secp256k1/src/tests.c:4448,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4449,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:4449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4450
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4450
    functionName: ecmult_const_random_mult
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_ge_is_valid_var
    - SECP256K1_GE_CONST
    - secp256k1_gej_eq_ge_var
    - SECP256K1_SCALAR_CONST
    - secp256k1_ecmult_const
    linkageType: ''
    returnType: void
    signature: void ecmult_const_random_mult(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4459,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4460,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4462,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4463,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4464,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4465,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4466,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4467,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4468,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4469,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4470,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:4470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4471
      start: 4452
    functionDepth: 0
    functionLinenumber: 4452
    functionLinenumberEnd: 4471
    functionName: ecmult_const_commutativity
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_ecmult_const
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void ecmult_const_commutativity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4481,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:4482,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4483,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/tests.c:4484,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4487,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4488,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4488,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4491,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4492,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4492,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4495,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4496,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4497,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:4497,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4500,1
    - Dst: secp256k1_gej_neg
      Src: /src/secp256k1/src/tests.c:4501,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4502,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4503,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:4503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4473
    functionDepth: 0
    functionLinenumber: 4473
    functionLinenumberEnd: 4504
    functionName: ecmult_const_mult_zero_one
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_ge_set_infinity
    - secp256k1_ge_eq_var
    - testutil_random_ge_test
    - secp256k1_ecmult_const
    - secp256k1_scalar_negate
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void ecmult_const_mult_zero_one(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4509,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4510,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4511,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4512,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:4512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - A
    - q
    - res
    argTypes:
    - secp256k1_ge*
    - secp256k1_scalar*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4513
      start: 4506
    functionDepth: 0
    functionLinenumber: 4506
    functionLinenumberEnd: 4513
    functionName: ecmult_const_check_result
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - CHECK
    - secp256k1_gej_eq_ge_var
    - secp256k1_gej_set_ge
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void ecmult_const_check_result(const secp256k1_ge *A, const secp256k1_scalar*
      q, const secp256k1_gej *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:4531,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:4533,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:4534,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4536,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4537,1
    - Dst: ecmult_const_check_result
      Src: /src/secp256k1/src/tests.c:4538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4540
      start: 4515
    functionDepth: 0
    functionLinenumber: 4515
    functionLinenumberEnd: 4540
    functionName: ecmult_const_edges
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - testutil_random_ge_test
    - secp256k1_ecmult_const
    - ecmult_const_check_result
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void ecmult_const_edges(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4553,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4555,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/secp256k1/src/tests.c:4558,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:4559,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/secp256k1/src/tests.c:4564,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4565,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4567,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4568,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/tests.c:4570,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:4571,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4572,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/tests.c:4572,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4580,1
    - Dst: testutil_random_fe_test
      Src: /src/secp256k1/src/tests.c:4583,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/secp256k1/src/tests.c:4584,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/secp256k1/src/tests.c:4587,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests.c:4588,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/secp256k1/src/tests.c:4592,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4542
    functionDepth: 0
    functionLinenumber: 4542
    functionLinenumberEnd: 4595
    functionName: ecmult_const_mult_xonly
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_const_xonly
    - CHECK
    - secp256k1_ge_x_on_curve_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - testutil_random_fe_non_zero_test
    - secp256k1_ecmult
    - fe_equal
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - testutil_random_fe_test
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void ecmult_const_mult_xonly(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:4599,1
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/secp256k1/src/tests.c:4603,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4613,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4616,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:4617,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4619,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4620,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:4620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4597
    functionDepth: 0
    functionLinenumber: 4597
    functionLinenumberEnd: 4621
    functionName: ecmult_const_chain_multiply
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - SECP256K1_GEJ_CONST
    - CHECK
    - secp256k1_gej_eq_ge_var
    - secp256k1_gej_set_ge
    - SECP256K1_SCALAR_CONST
    - secp256k1_ecmult_const
    linkageType: ''
    returnType: void
    signature: void ecmult_const_chain_multiply(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecmult_const_mult_zero_one
      Src: /src/secp256k1/src/tests.c:4624,1
    - Dst: ecmult_const_edges
      Src: /src/secp256k1/src/tests.c:4625,1
    - Dst: ecmult_const_random_mult
      Src: /src/secp256k1/src/tests.c:4626,1
    - Dst: ecmult_const_commutativity
      Src: /src/secp256k1/src/tests.c:4627,1
    - Dst: ecmult_const_chain_multiply
      Src: /src/secp256k1/src/tests.c:4628,1
    - Dst: ecmult_const_mult_xonly
      Src: /src/secp256k1/src/tests.c:4629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4630
      start: 4623
    functionDepth: 0
    functionLinenumber: 4623
    functionLinenumberEnd: 4630
    functionName: run_ecmult_const_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - ecmult_const_mult_xonly
    - ecmult_const_random_mult
    - ecmult_const_edges
    - ecmult_const_chain_multiply
    - ecmult_const_commutativity
    - ecmult_const_mult_zero_one
    linkageType: ''
    returnType: void
    signature: void run_ecmult_const_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - cbdata
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4642
      start: 4637
    functionDepth: 0
    functionLinenumber: 4637
    functionLinenumberEnd: 4642
    functionName: ecmult_multi_callback
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecmult_multi_callback(secp256k1_scalar *sc, secp256k1_ge *pt, size_t
      idx, void *cbdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - cbdata
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4650
      start: 4644
    functionDepth: 0
    functionLinenumber: 4644
    functionLinenumberEnd: 4650
    functionName: ecmult_multi_false_callback
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecmult_multi_false_callback(secp256k1_scalar *sc, secp256k1_ge
      *pt, size_t idx, void *cbdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4664,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4664,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:4670,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:4671,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4673,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4674,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4679,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4680,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4680,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4681,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4681,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4684,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4685,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4685,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4686,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4686,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4689,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4689,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4692,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4693,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4693,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4694,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4694,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4697,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4698,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4698,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4699,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4699,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:4710,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/tests.c:4711,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4713,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4713,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4714,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4714,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4719,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4721,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4723,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4723,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4724,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4724,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4728,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:4730,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:4731,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4736,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4736,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4737,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4737,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:4739,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4741,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/tests.c:4746,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4749,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4749,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4750,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4750,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4753,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4754,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:4759,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:4760,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:4761,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4764,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4764,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4765,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4765,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:4771,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:4773,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4777,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/tests.c:4779,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4782,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4783,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4783,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4784,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4784,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4793,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4795,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:4797,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:4799,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4802,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4803,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4804,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4804,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4805,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4805,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:4810,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4811,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4814,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4815,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4815,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4816,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4817,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4818,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4819,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4820,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4820,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4821,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4821,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4822,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:4822,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4832,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4833,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4840,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/secp256k1/src/tests.c:4841,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4842,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/secp256k1/src/tests.c:4843,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4845,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4846,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4853,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:4854,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4856,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/secp256k1/src/tests.c:4857,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4858,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/secp256k1/src/tests.c:4859,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:4861,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:4862,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:4863,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4865,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4866,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:4866,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4867,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:4867,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 144
    argCount: 2
    argNames:
    - scratch
    - ecmult_multi
    argTypes:
    - secp256k1_scratch*
    - secp256k1_ecmult_multi_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4873
      start: 4652
    functionDepth: 0
    functionLinenumber: 4652
    functionLinenumberEnd: 4873
    functionName: test_ecmult_multi
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - ecmult_multi
    - secp256k1_gej_eq_var
    - secp256k1_ge_set_gej
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_ge_set_infinity
    - testutil_random_scalar_order
    - secp256k1_scalar_set_int
    - secp256k1_gej_add_ge_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult
    - secp256k1_ge_neg
    - secp256k1_scalar_cond_negate
    - secp256k1_scalar_mul
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi(secp256k1_scratch *scratch, secp256k1_ecmult_multi_func
      ecmult_multi)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:4903,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:4908,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:4910,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:4912,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:4914,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:4919,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:4921,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:4925,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:4928,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:4929,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4930,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4934,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4937,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4938,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:4939,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/secp256k1/src/tests.c:4940,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:4941,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:4942,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4950,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4951,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4952,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4958,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:4959,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4964,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:4965,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:4970,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:4971,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:4972,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:4974,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:4975,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:4976,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:4989,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:5003,1
    - Dst: secp256k1_gej_neg
      Src: /src/secp256k1/src/tests.c:5004,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:5005,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5008,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:5009,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/secp256k1/src/tests.c:5010,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:5011,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:5012,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:5018,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/secp256k1/src/tests.c:5030,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5034,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:5034,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5037,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:5037,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 79
    argCount: 1
    argNames:
    - scratch
    argTypes:
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5039
      start: 4875
    functionDepth: 0
    functionLinenumber: 4875
    functionLinenumberEnd: 5039
    functionName: test_ecmult_multi_random
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_eq_var
    - secp256k1_ge_set_all_gej_var
    - secp256k1_scalar_inverse
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_scalar_mul
    - secp256k1_ecmult_gen
    - testrand_int
    - testutil_random_scalar_order_test
    - secp256k1_gej_neg
    - secp256k1_scalar_set_int
    - secp256k1_scalar_inverse_var
    - secp256k1_scalar_add
    - ecmult_multi
    - testrand_bits
    - secp256k1_scalar_negate
    - secp256k1_gej_add_var
    - CHECK
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult
    linkageType: ''
    returnType: int
    signature: int test_ecmult_multi_random(secp256k1_scratch *scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:5048,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:5049,1
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/tests.c:5054,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5055,1
    - Dst: ecmult_multi
      Src: /src/secp256k1/src/tests.c:5055,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/tests.c:5056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ecmult_multi
    argTypes:
    - secp256k1_ecmult_multi_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5057
      start: 5041
    functionDepth: 0
    functionLinenumber: 5041
    functionLinenumberEnd: 5057
    functionName: test_ecmult_multi_batch_single
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - ecmult_multi
    - CHECK
    - secp256k1_scratch_create
    - testutil_random_scalar_order
    - testutil_random_ge_test
    - secp256k1_scratch_destroy
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi_batch_single(secp256k1_ecmult_multi_func ecmult_multi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5062,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/secp256k1/src/tests.c:5062,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5068,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/secp256k1/src/tests.c:5068,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/secp256k1/src/tests.c:5068,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5070,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/secp256k1/src/tests.c:5070,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/secp256k1/src/tests.c:5070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5073
      start: 5059
    functionDepth: 0
    functionLinenumber: 5059
    functionLinenumberEnd: 5073
    functionName: test_secp256k1_pippenger_bucket_window_inv
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_pippenger_bucket_window_inv
    - secp256k1_pippenger_bucket_window
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_secp256k1_pippenger_bucket_window_inv(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:5080,1
    - Dst: secp256k1_pippenger_scratch_size
      Src: /src/secp256k1/src/tests.c:5081,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/secp256k1/src/tests.c:5081,1
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/tests.c:5090,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5091,1
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/secp256k1/src/tests.c:5092,1
    - Dst: secp256k1_pippenger_max_points
      Src: /src/secp256k1/src/tests.c:5093,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/tests.c:5095,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/secp256k1/src/tests.c:5098,1
    - Dst: secp256k1_pippenger_scratch_size
      Src: /src/secp256k1/src/tests.c:5100,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5102,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/tests.c:5102,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5105,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/secp256k1/src/tests.c:5105,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/secp256k1/src/tests.c:5106,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/tests.c:5107,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5110
      start: 5079
    functionDepth: 0
    functionLinenumber: 5079
    functionLinenumberEnd: 5110
    functionName: test_ecmult_multi_pippenger_max_points
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scratch_create
    - secp256k1_pippenger_bucket_window_inv
    - secp256k1_scratch_destroy
    - secp256k1_pippenger_bucket_window
    - testrand_bits
    - secp256k1_scratch_alloc
    - secp256k1_scratch_apply_checkpoint
    - secp256k1_pippenger_scratch_size
    - secp256k1_pippenger_max_points
    - secp256k1_scratch_checkpoint
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi_pippenger_max_points(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5117,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/tests.c:5117,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5121,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/tests.c:5121,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5122,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5123,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5127,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/tests.c:5127,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5128,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5129,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5133,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/tests.c:5133,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5134,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5135,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5139,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/tests.c:5139,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5140,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5141,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5145,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/tests.c:5145,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5146,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5147,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5151,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/tests.c:5151,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5152,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5154
      start: 5112
    functionDepth: 0
    functionLinenumber: 5112
    functionLinenumberEnd: 5154
    functionName: test_ecmult_multi_batch_size_helper
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_multi_batch_size_helper
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi_batch_size_helper(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checked_malloc
      Src: /src/secp256k1/src/tests.c:5163,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/tests.c:5164,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:5171,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:5174,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:5175,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/tests.c:5179,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:5180,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:5182,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:5183,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:5184,1
    - Dst: secp256k1_gej_neg
      Src: /src/secp256k1/src/tests.c:5188,1
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/tests.c:5192,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5193,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/secp256k1/src/tests.c:5193,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:5194,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5195,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:5195,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/tests.c:5196,1
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/tests.c:5201,1
    - Dst: secp256k1_pippenger_scratch_size
      Src: /src/secp256k1/src/tests.c:5201,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5202,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/secp256k1/src/tests.c:5202,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:5203,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5204,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:5204,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/tests.c:5205,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/secp256k1/src/tests.c:5209,1
    - Dst: secp256k1_pippenger_scratch_size
      Src: /src/secp256k1/src/tests.c:5210,1
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/tests.c:5211,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/secp256k1/src/tests.c:5213,1
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/tests.c:5214,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5216,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/secp256k1/src/tests.c:5216,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests.c:5217,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5218,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests.c:5218,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/tests.c:5219,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:5221,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:5222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5223
      start: 5160
    functionDepth: 0
    functionLinenumber: 5160
    functionLinenumberEnd: 5223
    functionName: test_ecmult_multi_batching
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - secp256k1_scratch_create
    - CHECK
    - checked_malloc
    - testutil_random_scalar_order
    - testutil_random_ge_test
    - secp256k1_scratch_destroy
    - secp256k1_gej_set_infinity
    - secp256k1_gej_set_ge
    - secp256k1_ecmult
    - secp256k1_pippenger_bucket_window
    - secp256k1_ecmult_multi_var
    - secp256k1_pippenger_scratch_size
    - free
    - secp256k1_strauss_scratch_size
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi_batching(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_secp256k1_pippenger_bucket_window_inv
      Src: /src/secp256k1/src/tests.c:5229,1
    - Dst: test_ecmult_multi_pippenger_max_points
      Src: /src/secp256k1/src/tests.c:5230,1
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/tests.c:5231,1
    - Dst: test_ecmult_multi
      Src: /src/secp256k1/src/tests.c:5232,1
    - Dst: test_ecmult_multi
      Src: /src/secp256k1/src/tests.c:5233,1
    - Dst: test_ecmult_multi
      Src: /src/secp256k1/src/tests.c:5234,1
    - Dst: test_ecmult_multi_batch_single
      Src: /src/secp256k1/src/tests.c:5235,1
    - Dst: test_ecmult_multi
      Src: /src/secp256k1/src/tests.c:5236,1
    - Dst: test_ecmult_multi_batch_single
      Src: /src/secp256k1/src/tests.c:5237,1
    - Dst: test_ecmult_multi_random
      Src: /src/secp256k1/src/tests.c:5239,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/tests.c:5241,1
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/tests.c:5244,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/secp256k1/src/tests.c:5244,1
    - Dst: test_ecmult_multi
      Src: /src/secp256k1/src/tests.c:5245,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/tests.c:5246,1
    - Dst: test_ecmult_multi_batch_size_helper
      Src: /src/secp256k1/src/tests.c:5248,1
    - Dst: test_ecmult_multi_batching
      Src: /src/secp256k1/src/tests.c:5249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5250
      start: 5225
    functionDepth: 0
    functionLinenumber: 5225
    functionLinenumberEnd: 5250
    functionName: run_ecmult_multi_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecmult_multi_batch_single
    - test_ecmult_multi_random
    - secp256k1_scratch_create
    - test_secp256k1_pippenger_bucket_window_inv
    - secp256k1_scratch_destroy
    - test_ecmult_multi_batching
    - test_ecmult_multi_pippenger_max_points
    - test_ecmult_multi_batch_size_helper
    - test_ecmult_multi
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: void
    signature: void run_ecmult_multi_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5258,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5259,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/secp256k1/src/tests.c:5260,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5261,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:5264,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5266,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5268,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5269,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5270,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5272,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5276,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5278,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:5279,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:5281,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5283,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:5283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - number
    - w
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5284
      start: 5252
    functionDepth: 0
    functionLinenumber: 5252
    functionLinenumberEnd: 5284
    functionName: test_wnaf
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_ecmult_wnaf
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - secp256k1_scalar_mul
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_wnaf(const secp256k1_scalar *number, int w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5293,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5294,1
    - Dst: secp256k1_scalar_split_128
      Src: /src/secp256k1/src/tests.c:5296,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/secp256k1/src/tests.c:5297,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/tests.c:5299,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5302,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5303,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5304,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:5306,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5308,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5310,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:5311,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:5313,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/secp256k1/src/tests.c:5316,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5317,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:5317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - number
    - w
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5318
      start: 5286
    functionDepth: 0
    functionLinenumber: 5286
    functionLinenumberEnd: 5318
    functionName: test_fixed_wnaf
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - WNAF_SIZE
    - secp256k1_scalar_mul
    - secp256k1_scalar_split_128
    - secp256k1_scalar_cadd_bit
    - secp256k1_scalar_negate
    - secp256k1_wnaf_fixed
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_fixed_wnaf(const secp256k1_scalar *number, int w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/tests.c:5324,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5325,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wnaf
    - wnaf_expected
    - w
    argTypes:
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5330
      start: 5322
    functionDepth: 0
    functionLinenumber: 5322
    functionLinenumberEnd: 5330
    functionName: test_fixed_wnaf_small_helper
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - WNAF_SIZE
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_fixed_wnaf_small_helper(int *wnaf, int *wnaf_expected, int
      w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5339,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/secp256k1/src/tests.c:5340,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/tests.c:5341,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5343,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5345,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5347,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/secp256k1/src/tests.c:5348,1
    - Dst: WNAF_SIZE
      Src: /src/secp256k1/src/tests.c:5349,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5351,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5353,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5354,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5358,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/secp256k1/src/tests.c:5359,1
    - Dst: test_fixed_wnaf_small_helper
      Src: /src/secp256k1/src/tests.c:5360,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5361,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5365,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/secp256k1/src/tests.c:5366,1
    - Dst: test_fixed_wnaf_small_helper
      Src: /src/secp256k1/src/tests.c:5367,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5368,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5372,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/secp256k1/src/tests.c:5373,1
    - Dst: test_fixed_wnaf_small_helper
      Src: /src/secp256k1/src/tests.c:5374,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5375,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5379,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/secp256k1/src/tests.c:5380,1
    - Dst: test_fixed_wnaf_small_helper
      Src: /src/secp256k1/src/tests.c:5381,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5384
      start: 5332
    functionDepth: 0
    functionLinenumber: 5332
    functionLinenumberEnd: 5384
    functionName: test_fixed_wnaf_small
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_wnaf_fixed
    - CHECK
    - secp256k1_scalar_set_int
    - test_fixed_wnaf_small_helper
    - WNAF_SIZE
    linkageType: ''
    returnType: void
    signature: void test_fixed_wnaf_small(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fixed_wnaf_small
      Src: /src/secp256k1/src/tests.c:5391,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/tests.c:5394,1
    - Dst: test_wnaf
      Src: /src/secp256k1/src/tests.c:5395,1
    - Dst: test_fixed_wnaf
      Src: /src/secp256k1/src/tests.c:5396,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5398,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5399,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/secp256k1/src/tests.c:5399,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5400,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:5400,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5401,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/secp256k1/src/tests.c:5401,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5402,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/tests.c:5402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5403
      start: 5386
    functionDepth: 0
    functionLinenumber: 5386
    functionLinenumberEnd: 5403
    functionName: run_wnaf
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - testutil_random_scalar_order
    - secp256k1_scalar_set_int
    - test_fixed_wnaf_small
    - secp256k1_scalar_cond_negate
    - test_wnaf
    - test_fixed_wnaf
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void run_wnaf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - data
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5411
      start: 5405
    functionDepth: 0
    functionLinenumber: 5405
    functionLinenumberEnd: 5411
    functionName: test_ecmult_accumulate_cb
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: int
    signature: int test_ecmult_accumulate_cb(secp256k1_scalar* sc, secp256k1_ge* pt,
      size_t idx, void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/tests.c:5419,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests.c:5420,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:5421,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:5422,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:5423,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5424,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/secp256k1/src/tests.c:5424,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5425,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/secp256k1/src/tests.c:5425,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:5426,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/secp256k1/src/tests.c:5427,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5428,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:5428,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5429,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:5429,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5430,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:5430,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5431,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:5431,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5432,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:5432,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests.c:5433,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/tests.c:5436,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:5439,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5440,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/tests.c:5441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - acc
    - x
    - scratch
    argTypes:
    - secp256k1_sha256*
    - secp256k1_scalar*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5443
      start: 5413
    functionDepth: 0
    functionLinenumber: 5413
    functionLinenumberEnd: 5443
    functionName: test_ecmult_accumulate
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_eckey_pubkey_serialize
    - CHECK
    - secp256k1_gej_eq_ge_var
    - secp256k1_ge_set_gej_var
    - secp256k1_gej_set_infinity
    - secp256k1_gej_set_ge
    - secp256k1_ecmult_gen
    - secp256k1_ecmult
    - secp256k1_ecmult_const
    - secp256k1_sha256_write
    - secp256k1_ecmult_multi_var
    - secp256k1_ge_is_infinity
    linkageType: ''
    returnType: void
    signature: void test_ecmult_accumulate(secp256k1_sha256* acc, const secp256k1_scalar*
      x, secp256k1_scratch* scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_space_create
      Src: /src/secp256k1/src/tests.c:5458,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/tests.c:5468,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5470,1
    - Dst: test_ecmult_accumulate
      Src: /src/secp256k1/src/tests.c:5471,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:5472,1
    - Dst: test_ecmult_accumulate
      Src: /src/secp256k1/src/tests.c:5473,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5478,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:5479,1
    - Dst: test_ecmult_accumulate
      Src: /src/secp256k1/src/tests.c:5480,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/tests.c:5483,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5484,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:5484,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/secp256k1/src/tests.c:5486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5487
      start: 5445
    functionDepth: 0
    functionLinenumber: 5445
    functionLinenumberEnd: 5487
    functionName: test_ecmult_constants_2bit
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_scratch_space_destroy
    - CHECK
    - secp256k1_sha256_initialize
    - secp256k1_scratch_space_create
    - secp256k1_scalar_set_int
    - secp256k1_sha256_finalize
    - test_ecmult_accumulate
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_ecmult_constants_2bit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_space_create
      Src: /src/secp256k1/src/tests.c:5502,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/tests.c:5508,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5509,1
    - Dst: test_ecmult_accumulate
      Src: /src/secp256k1/src/tests.c:5510,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:5511,1
    - Dst: test_ecmult_accumulate
      Src: /src/secp256k1/src/tests.c:5512,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:5513,1
    - Dst: test_ecmult_accumulate
      Src: /src/secp256k1/src/tests.c:5514,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/tests.c:5520,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/tests.c:5521,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/tests.c:5522,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:5523,1
    - Dst: test_ecmult_accumulate
      Src: /src/secp256k1/src/tests.c:5524,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/tests.c:5526,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5527,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:5527,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/secp256k1/src/tests.c:5529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - prefix
    - iter
    - expected32
    argTypes:
    - uint32_t
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5530
      start: 5489
    functionDepth: 0
    functionLinenumber: 5489
    functionLinenumberEnd: 5530
    functionName: test_ecmult_constants_sha
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_scratch_space_destroy
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_sha256_initialize
    - secp256k1_scratch_space_create
    - secp256k1_scalar_set_int
    - secp256k1_sha256_finalize
    - test_ecmult_accumulate
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void test_ecmult_constants_sha(uint32_t prefix, size_t iter, const
      unsigned char* expected32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONDITIONAL_TEST
      Src: /src/secp256k1/src/tests.c:5551,1
    - Dst: test_ecmult_constants_sha
      Src: /src/secp256k1/src/tests.c:5552,1
    - Dst: CONDITIONAL_TEST
      Src: /src/secp256k1/src/tests.c:5557,1
    - Dst: test_ecmult_constants_sha
      Src: /src/secp256k1/src/tests.c:5558,1
    - Dst: CONDITIONAL_TEST
      Src: /src/secp256k1/src/tests.c:5561,1
    - Dst: test_ecmult_constants_2bit
      Src: /src/secp256k1/src/tests.c:5562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5564
      start: 5532
    functionDepth: 0
    functionLinenumber: 5532
    functionLinenumberEnd: 5564
    functionName: run_ecmult_constants
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CONDITIONAL_TEST
    - test_ecmult_constants_2bit
    - test_ecmult_constants_sha
    linkageType: ''
    returnType: void
    signature: void run_ecmult_constants(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:5575,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:5576,1
    - Dst: testrand256
      Src: /src/secp256k1/src/tests.c:5577,1
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/secp256k1/src/tests.c:5580,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5581,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:5581,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:5582,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5583,1
    - Dst: gej_xyz_equals_gej
      Src: /src/secp256k1/src/tests.c:5583,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5584,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:5584,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:5585,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5586,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests.c:5586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5587
      start: 5566
    functionDepth: 0
    functionLinenumber: 5566
    functionLinenumberEnd: 5587
    functionName: test_ecmult_gen_blind
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - testrand256
    - secp256k1_ge_eq_var
    - CHECK
    - gej_xyz_equals_gej
    - secp256k1_gej_eq_ge_var
    - secp256k1_ecmult_gen
    - secp256k1_ecmult_gen_blind
    - testutil_random_scalar_order_test
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void test_ecmult_gen_blind(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/secp256k1/src/tests.c:5593,1
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/secp256k1/src/tests.c:5596,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5597,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:5597,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5599,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:5599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5600
      start: 5589
    functionDepth: 0
    functionLinenumber: 5589
    functionLinenumberEnd: 5600
    functionName: test_ecmult_gen_blind_reset
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_gen_blind
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void test_ecmult_gen_blind_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:5607,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:5608,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:5612,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests.c:5613,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests.c:5614,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5615,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:5615,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5616,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/tests.c:5616,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:5617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5603
    functionDepth: 0
    functionLinenumber: 5603
    functionLinenumberEnd: 5619
    functionName: test_ecmult_gen_edge_cases
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_eq_var
    - CHECK
    - secp256k1_ecmult_gen
    - secp256k1_ecmult
    - secp256k1_ecmult_const
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_ecmult_gen_edge_cases(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecmult_gen_blind_reset
      Src: /src/secp256k1/src/tests.c:5623,1
    - Dst: test_ecmult_gen_edge_cases
      Src: /src/secp256k1/src/tests.c:5624,1
    - Dst: test_ecmult_gen_blind
      Src: /src/secp256k1/src/tests.c:5626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5628
      start: 5621
    functionDepth: 0
    functionLinenumber: 5621
    functionLinenumberEnd: 5628
    functionName: run_ecmult_gen_blind
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecmult_gen_edge_cases
    - test_ecmult_gen_blind_reset
    - test_ecmult_gen_blind
    linkageType: ''
    returnType: void
    signature: void run_ecmult_gen_blind(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/secp256k1/src/tests.c:5636,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests.c:5639,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:5640,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5641,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:5641,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/secp256k1/src/tests.c:5644,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:5645,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/secp256k1/src/tests.c:5647,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:5648,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/tests.c:5651,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5652,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:5652,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/tests.c:5653,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5654,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:5654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - full
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5655
      start: 5631
    functionDepth: 0
    functionLinenumber: 5631
    functionLinenumberEnd: 5655
    functionName: test_scalar_split
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_split_lambda
    - secp256k1_scalar_add
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_high
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void test_scalar_split(const secp256k1_scalar* full)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_scalar_split
      Src: /src/secp256k1/src/tests.c:5661,1
    - Dst: test_scalar_split
      Src: /src/secp256k1/src/tests.c:5662,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:5663,1
    - Dst: test_scalar_split
      Src: /src/secp256k1/src/tests.c:5664,1
    - Dst: test_scalar_split
      Src: /src/secp256k1/src/tests.c:5665,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:5666,1
    - Dst: test_scalar_split
      Src: /src/secp256k1/src/tests.c:5667,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:5671,1
    - Dst: test_scalar_split
      Src: /src/secp256k1/src/tests.c:5672,1
    - Dst: test_scalar_split
      Src: /src/secp256k1/src/tests.c:5675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5677
      start: 5658
    functionDepth: 0
    functionLinenumber: 5658
    functionLinenumberEnd: 5677
    functionName: run_endomorphism_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - testutil_random_scalar_order_test
    - secp256k1_scalar_negate
    - test_scalar_split
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void run_endomorphism_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:5688,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5689,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5707,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5708,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5709,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5709,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5710,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5712,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5713,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:5713,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5714,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5715,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5716,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:5716,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5717,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5720,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5721,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5721,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5722,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5723,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/tests.c:5724,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5725,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5727,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5728,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:5728,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5729,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5730,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5731,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5732,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:5732,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5736,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5737,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5738,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5738,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5739,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5740,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5740,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - input
    - xvalid
    - yvalid
    argTypes:
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5744
      start: 5679
    functionDepth: 0
    functionLinenumber: 5679
    functionLinenumberEnd: 5744
    functionName: ec_pubkey_parse_pointtest
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - CHECK
    - secp256k1_pubkey_load
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ec_pubkey_serialize
    - memcpy
    - memset
    - secp256k1_ec_pubkey_parse
    - CHECK_ILLEGAL
    - secp256k1_pubkey_save
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: void
    signature: void ec_pubkey_parse_pointtest(const unsigned char *input, int xvalid,
      int yvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5933,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5935,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5936,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5937,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5938,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5938,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5939,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5940,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5940,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5943,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5945,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5946,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5947,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5947,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5948,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5949,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5949,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5953,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5956,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5957,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5957,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5958,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5959,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5959,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5961,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5962,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5964,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5964,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5965,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5966,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5966,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5968,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5968,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5970,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5971,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5972,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5972,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5973,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5974,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5974,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5976,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5977,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5978,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5978,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5979,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5980,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5980,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5982,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5983,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5984,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5984,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5985,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:5986,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5986,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:5988,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5989,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5990,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5990,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5991,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:5991,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5992,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:5993,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5994,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/tests.c:5994,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5995,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5996,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:5997,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:5998,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:5998,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6001,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6001,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6002,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6003,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6003,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6005,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6006,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6006,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6007,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6008,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6010,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6010,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6011,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6013,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6014,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6014,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6015,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6016,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6018,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6018,1
    - Dst: ec_pubkey_parse_pointtest
      Src: /src/secp256k1/src/tests.c:6021,1
    - Dst: ec_pubkey_parse_pointtest
      Src: /src/secp256k1/src/tests.c:6024,1
    - Dst: ec_pubkey_parse_pointtest
      Src: /src/secp256k1/src/tests.c:6027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6029
      start: 5746
    functionDepth: 0
    functionLinenumber: 5746
    functionLinenumberEnd: 6029
    functionName: run_ec_pubkey_parse_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_pubkey_load
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ec_pubkey_serialize
    - memset
    - secp256k1_ec_pubkey_parse
    - CHECK_ILLEGAL
    - ec_pubkey_parse_pointtest
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: void
    signature: void run_ec_pubkey_parse_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6048,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6048,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6049,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6050,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6050,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6051,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6052,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6052,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6054,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6055,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6055,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6056,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6057,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6058,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6058,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6059,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6060,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6060,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6062,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6063,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6063,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6064,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6065,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6066,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6066,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6067,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6068,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6068,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6071,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6071,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6072,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6073,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6074,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6074,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6075,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6076,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6076,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6079,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6081,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6081,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6082,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6083,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6084,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6084,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6085,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6086,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6086,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6089,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6089,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6090,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6091,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6092,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6092,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6093,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6094,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6094,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6097,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6098,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/secp256k1/src/tests.c:6098,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6099,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6099,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6100,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6101,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:6101,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6102,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6102,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6104,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6104,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6105,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6105,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6106,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6106,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6107,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6107,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6108,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6111,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6112,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6114,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6114,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6115,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6115,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6116,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/secp256k1/src/tests.c:6116,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6117,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6117,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6118,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6119,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6119,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6120,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6120,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6123,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6125,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/secp256k1/src/tests.c:6125,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6126,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6126,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6127,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6129,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6129,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6130,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6130,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6131,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6135,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:6135,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6136,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6136,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6137,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6138,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6138,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6139,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6139,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6140,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6144,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6146,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6148,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/secp256k1/src/tests.c:6148,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6149,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6149,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6151,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:6151,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6152,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6152,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6153,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6156,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/secp256k1/src/tests.c:6156,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6157,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6157,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6159,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:6159,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6161,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6161,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6162,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6162,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6164,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:6164,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6166,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6166,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6167,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6167,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6169,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6170,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:6170,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6171,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6171,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6172,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6173,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6174,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6174,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6175,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6175,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6177,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6177,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6178,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6178,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6179,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6181,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:6181,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6182,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:6182,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6183,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6185,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6185,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6186,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6186,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6187,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6188,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/secp256k1/src/tests.c:6188,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6189,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/secp256k1/src/tests.c:6189,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6190,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6192,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6192,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6193,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6193,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6194,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6194,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6195,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6196,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6196,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6197,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6197,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6200,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6201,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6202,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6203,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6204,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6205,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/secp256k1/src/tests.c:6205,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6206,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6207,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6207,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6208,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/secp256k1/src/tests.c:6208,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6209,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6209,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6210,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6211,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6212,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/secp256k1/src/tests.c:6212,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6213,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6214,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6214,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6216,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6217,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6218,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/secp256k1/src/tests.c:6218,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6219,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6220,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6220,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6222,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6222,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6223,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6223,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6224,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6224,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6228,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6229,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6230,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/secp256k1/src/tests.c:6230,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6231,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6232,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6232,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6235,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6236,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6237,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/secp256k1/src/tests.c:6237,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6238,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6239,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6239,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6241,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6241,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6242,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6242,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6243,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6243,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6246,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:6247,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6248,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/secp256k1/src/tests.c:6248,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:6249,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6250,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 180
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6251
      start: 6031
    functionDepth: 0
    functionLinenumber: 6031
    functionLinenumberEnd: 6251
    functionName: run_eckey_edge_case_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ec_pubkey_serialize
    - memcpy
    - memset
    - secp256k1_ec_pubkey_combine
    - secp256k1_ec_pubkey_tweak_add
    - secp256k1_ec_seckey_tweak_add
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_ec_pubkey_tweak_mul
    - secp256k1_ec_seckey_verify
    - secp256k1_ec_seckey_tweak_mul
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: void
    signature: void run_eckey_edge_case_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_b32
      Src: /src/secp256k1/src/tests.c:6257,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6258,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6261,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/secp256k1/src/tests.c:6261,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6262,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6262,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6263,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/secp256k1/src/tests.c:6263,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6264,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6264,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6267,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6268,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6269,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/secp256k1/src/tests.c:6269,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6271,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6271,1
    - Dst: testutil_random_scalar_order_b32
      Src: /src/secp256k1/src/tests.c:6276,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6277,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6278,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6279,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/secp256k1/src/tests.c:6279,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6280,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6281
      start: 6253
    functionDepth: 0
    functionLinenumber: 6253
    functionLinenumberEnd: 6281
    functionName: run_eckey_negate_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_seckey_negate
    - CHECK
    - memcpy
    - memset
    - testutil_random_scalar_order_b32
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void run_eckey_negate_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:6286,1
    - Dst: secp256k1_ecdsa_sig_sign
      Src: /src/secp256k1/src/tests.c:6287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - sigr
    - sigs
    - key
    - msg
    - recid
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6288
      start: 6283
    functionDepth: 0
    functionLinenumber: 6283
    functionLinenumberEnd: 6288
    functionName: random_sign
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_sig_sign
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void random_sign(secp256k1_scalar *sigr, secp256k1_scalar *sigs, const
      secp256k1_scalar *key, const secp256k1_scalar *msg, int *recid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:6298,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:6299,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:6300,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:6301,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6302,1
    - Dst: random_sign
      Src: /src/secp256k1/src/tests.c:6306,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6307,1
    - Dst: random_sign
      Src: /src/secp256k1/src/tests.c:6309,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6311,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:6311,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:6312,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests.c:6313,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6314,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:6314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6315
      start: 6290
    functionDepth: 0
    functionLinenumber: 6290
    functionLinenumberEnd: 6315
    functionName: test_ecdsa_sign_verify
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_add
    - CHECK
    - secp256k1_scalar_set_int
    - random_sign
    - secp256k1_ecmult_gen
    - testrand_bits
    - testutil_random_scalar_order_test
    - secp256k1_ecdsa_sig_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_sign_verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_sign_verify
      Src: /src/secp256k1/src/tests.c:6320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6322
      start: 6317
    functionDepth: 0
    functionLinenumber: 6317
    functionLinenumberEnd: 6322
    functionName: run_ecdsa_sign_verify
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecdsa_sign_verify
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_sign_verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6331
      start: 6325
    functionDepth: 0
    functionLinenumber: 6325
    functionLinenumberEnd: 6331
    functionName: precomputed_nonce_function
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int precomputed_nonce_function(unsigned char *nonce32, const unsigned
      char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nonce_function_rfc6979
      Src: /src/secp256k1/src/tests.c:6338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6339
      start: 6333
    functionDepth: 0
    functionLinenumber: 6333
    functionLinenumberEnd: 6339
    functionName: nonce_function_test_fail
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - nonce_function_rfc6979
    linkageType: ''
    returnType: int
    signature: int nonce_function_test_fail(unsigned char *nonce32, const unsigned
      char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6344,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6357,1
    - Dst: nonce_function_rfc6979
      Src: /src/secp256k1/src/tests.c:6368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6369
      start: 6341
    functionDepth: 0
    functionLinenumber: 6341
    functionLinenumberEnd: 6369
    functionName: nonce_function_test_retry
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memset
    - nonce_function_rfc6979
    - memcpy
    linkageType: ''
    returnType: int
    signature: int nonce_function_test_retry(unsigned char *nonce32, const unsigned
      char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6374
      start: 6371
    functionDepth: 0
    functionLinenumber: 6371
    functionLinenumberEnd: 6374
    functionName: is_empty_signature
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: int
    signature: int is_empty_signature(const secp256k1_ecdsa_signature *sig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:6395,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/tests.c:6396,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/tests.c:6397,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/tests.c:6398,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6402,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/tests.c:6402,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6403,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6403,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6406,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6406,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6406,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6407,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6408,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6408,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:6411,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6412,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/secp256k1/src/tests.c:6412,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6413,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6413,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6414,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/secp256k1/src/tests.c:6414,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6415,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6415,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6418,1
    - Dst: ec_privkey_export_der
      Src: /src/secp256k1/src/tests.c:6418,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6418,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6419,1
    - Dst: ec_privkey_import_der
      Src: /src/secp256k1/src/tests.c:6419,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6420,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6420,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6423,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/tests.c:6428,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/secp256k1/src/tests.c:6429,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/tests.c:6430,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6431,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6435,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6435,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6436,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6436,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6440,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/tests.c:6445,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6446,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/secp256k1/src/tests.c:6447,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6448,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6452,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:6452,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6453,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6453,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6457,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:6457,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6458,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:6458,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6459,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:6459,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6461,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:6461,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6464,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:6464,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6465,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6465,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6466,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6466,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6467,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6467,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6468,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6468,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6469,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6469,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6470,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6470,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6471,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6471,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6473,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:6473,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6474,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:6474,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6475,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:6475,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6476,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:6476,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6478,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/secp256k1/src/tests.c:6478,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/secp256k1/src/tests.c:6479,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:6480,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/secp256k1/src/tests.c:6481,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6482,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:6482,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6483,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/secp256k1/src/tests.c:6483,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6484,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/secp256k1/src/tests.c:6484,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6485,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/secp256k1/src/tests.c:6485,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6486,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/secp256k1/src/tests.c:6486,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6487,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:6487,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:6488,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/secp256k1/src/tests.c:6489,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6490,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/secp256k1/src/tests.c:6490,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6491,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:6491,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6492,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6492,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6495,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/tests.c:6495,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6496,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6497,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/tests.c:6497,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6498,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:6498,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6501,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/tests.c:6501,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6502,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6502,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6503,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/tests.c:6503,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:6504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6505
      start: 6376
    functionDepth: 0
    functionLinenumber: 6376
    functionLinenumberEnd: 6505
    functionName: test_ecdsa_end_to_end
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    - memset
    - secp256k1_ec_seckey_tweak_add
    - testrand_int
    - secp256k1_ec_seckey_verify
    - testutil_random_scalar_order_test
    - secp256k1_ec_pubkey_tweak_mul
    - secp256k1_ec_pubkey_tweak_add
    - secp256k1_memcmp_var
    - secp256k1_ecdsa_verify
    - secp256k1_ecdsa_signature_parse_der
    - secp256k1_ecdsa_signature_serialize_der
    - testrand_bits
    - secp256k1_ecdsa_sign
    - secp256k1_scalar_negate
    - secp256k1_ec_pubkey_parse
    - secp256k1_ecdsa_signature_normalize
    - ec_privkey_import_der
    - secp256k1_ec_pubkey_create
    - ec_privkey_export_der
    - CHECK
    - secp256k1_ec_pubkey_negate
    - secp256k1_ec_pubkey_serialize
    - testrand256_test
    - secp256k1_ecdsa_signature_save
    - secp256k1_ecdsa_signature_load
    - secp256k1_ec_seckey_tweak_mul
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_end_to_end(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6512,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6513,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6514,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6517,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6517,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6519,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6521,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6522,1
    - Dst: testrand256
      Src: /src/secp256k1/src/tests.c:6525,1
    - Dst: testrand256
      Src: /src/secp256k1/src/tests.c:6528,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6530,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6537,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6537,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6538,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6539,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6539,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6542,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6545,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6545,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6546,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6547,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6547,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6548,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:6548,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6550,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6551,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6554,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6556,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6560,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests.c:6560,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6561,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/tests.c:6561,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6562,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6562,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6565
      start: 6507
    functionDepth: 0
    functionLinenumber: 6507
    functionLinenumberEnd: 6565
    functionName: test_random_pubkeys
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - testrand256
    - secp256k1_ge_eq_var
    - CHECK
    - testrand_bits
    - secp256k1_eckey_pubkey_parse
    - secp256k1_memcmp_var
    - secp256k1_eckey_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_random_pubkeys(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6581,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6581,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6582,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6582,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/tests.c:6584,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6584,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6584,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/tests.c:6585,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6585,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6585,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6586,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6586,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6587,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6587,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6588,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6588,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6589,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6589,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6592,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/tests.c:6593,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6593,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6593,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/tests.c:6596,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6597,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6597,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6598,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/tests.c:6599,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/tests.c:6601,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6601,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6601,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6607,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6607,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6608,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6608,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6609,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/tests.c:6609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6610
      start: 6567
    functionDepth: 0
    functionLinenumber: 6567
    functionLinenumberEnd: 6610
    functionName: run_pubkey_comparison
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_context_set_illegal_callback
    - CHECK
    - memset
    - secp256k1_ec_pubkey_cmp
    - secp256k1_ec_pubkey_parse
    - CHECK_ILLEGAL_VOID
    linkageType: ''
    returnType: void
    signature: void run_pubkey_comparison(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/secp256k1/src/tests.c:6619,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6621,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pk
    - pk_order
    - n_pk
    argTypes:
    - secp256k1_pubkey*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6623
      start: 6612
    functionDepth: 0
    functionLinenumber: 6612
    functionLinenumberEnd: 6623
    functionName: test_sort_helper
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - CHECK
    - secp256k1_ec_pubkey_sort
    linkageType: ''
    returnType: void
    signature: void test_sort_helper(secp256k1_pubkey *pk, size_t *pk_order, size_t
      n_pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arr
    - n
    argTypes:
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6634
      start: 6625
    functionDepth: 0
    functionLinenumber: 6625
    functionLinenumberEnd: 6634
    functionName: permute
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void permute(size_t *arr, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_pubkey_test
      Src: /src/secp256k1/src/tests.c:6643,1
    - Dst: testutil_random_pubkey_test
      Src: /src/secp256k1/src/tests.c:6644,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6646,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/secp256k1/src/tests.c:6646,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:6647,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/secp256k1/src/tests.c:6647,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6648,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/secp256k1/src/tests.c:6648,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6650,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/tests.c:6651,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6651,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/secp256k1/src/tests.c:6651,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:6652,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/tests.c:6655,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6656,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/secp256k1/src/tests.c:6656,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6657,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/tests.c:6658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6660
      start: 6636
    functionDepth: 0
    functionLinenumber: 6636
    functionLinenumberEnd: 6660
    functionName: test_sort_api
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_context_set_illegal_callback
    - CHECK
    - secp256k1_ec_pubkey_sort
    - memset
    - CHECK_ILLEGAL
    - CHECK_ILLEGAL_VOID
    - testutil_random_pubkey_test
    linkageType: ''
    returnType: void
    signature: void test_sort_api(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6675,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6675,1
    - Dst: permute
      Src: /src/secp256k1/src/tests.c:6678,1
    - Dst: test_sort_helper
      Src: /src/secp256k1/src/tests.c:6679,1
    - Dst: permute
      Src: /src/secp256k1/src/tests.c:6680,1
    - Dst: test_sort_helper
      Src: /src/secp256k1/src/tests.c:6681,1
    - Dst: permute
      Src: /src/secp256k1/src/tests.c:6682,1
    - Dst: test_sort_helper
      Src: /src/secp256k1/src/tests.c:6683,1
    - Dst: permute
      Src: /src/secp256k1/src/tests.c:6685,1
    - Dst: test_sort_helper
      Src: /src/secp256k1/src/tests.c:6686,1
    - Dst: permute
      Src: /src/secp256k1/src/tests.c:6689,1
    - Dst: test_sort_helper
      Src: /src/secp256k1/src/tests.c:6690,1
    - Dst: testutil_random_pubkey_test
      Src: /src/secp256k1/src/tests.c:6697,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/secp256k1/src/tests.c:6700,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6702,1
    - Dst: secp256k1_ec_pubkey_sort_cmp
      Src: /src/secp256k1/src/tests.c:6702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6705
      start: 6662
    functionDepth: 0
    functionLinenumber: 6662
    functionLinenumberEnd: 6705
    functionName: test_sort
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - test_sort_helper
    - secp256k1_ec_pubkey_sort
    - permute
    - secp256k1_ec_pubkey_parse
    - secp256k1_ec_pubkey_sort_cmp
    - testutil_random_pubkey_test
    linkageType: ''
    returnType: void
    signature: void test_sort(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6743,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:6743,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6746,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/secp256k1/src/tests.c:6746,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6748,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6750
      start: 6708
    functionDepth: 0
    functionLinenumber: 6708
    functionLinenumberEnd: 6750
    functionName: test_sort_vectors
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_parse
    - secp256k1_ec_pubkey_sort
    - secp256k1_memcmp_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_sort_vectors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sort_api
      Src: /src/secp256k1/src/tests.c:6753,1
    - Dst: test_sort
      Src: /src/secp256k1/src/tests.c:6754,1
    - Dst: test_sort_vectors
      Src: /src/secp256k1/src/tests.c:6755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6756
      start: 6752
    functionDepth: 0
    functionLinenumber: 6752
    functionLinenumberEnd: 6756
    functionName: run_pubkey_sort
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_sort
    - test_sort_api
    - test_sort_vectors
    linkageType: ''
    returnType: void
    signature: void run_pubkey_sort(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_random_pubkeys
      Src: /src/secp256k1/src/tests.c:6762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6764
      start: 6759
    functionDepth: 0
    functionLinenumber: 6759
    functionLinenumberEnd: 6764
    functionName: run_random_pubkeys
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_random_pubkeys
    linkageType: ''
    returnType: void
    signature: void run_random_pubkeys(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_end_to_end
      Src: /src/secp256k1/src/tests.c:6769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6771
      start: 6766
    functionDepth: 0
    functionLinenumber: 6766
    functionLinenumberEnd: 6771
    functionName: run_ecdsa_end_to_end
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecdsa_end_to_end
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_end_to_end(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/tests.c:6790,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/secp256k1/src/tests.c:6792,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6793,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6793,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/tests.c:6796,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6797,1
    - Dst: ecdsa_signature_parse_der_lax
      Src: /src/secp256k1/src/tests.c:6800,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/secp256k1/src/tests.c:6802,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6803,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6803,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/tests.c:6806,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6807,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:6823,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - sig
    - siglen
    - certainly_der
    - certainly_not_der
    argTypes:
    - unsigned char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6831
      start: 6773
    functionDepth: 0
    functionLinenumber: 6773
    functionLinenumberEnd: 6831
    functionName: test_ecdsa_der_parse
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_signature_parse_der
    - secp256k1_ecdsa_signature_serialize_der
    - secp256k1_ecdsa_signature_serialize_compact
    - secp256k1_memcmp_var
    - ecdsa_signature_parse_der_lax
    linkageType: ''
    returnType: int
    signature: int test_ecdsa_der_parse(const unsigned char *sig, size_t siglen, int
      certainly_der, int certainly_not_der)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - ptrlen
    - val
    argTypes:
    - unsigned char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6843
      start: 6833
    functionDepth: 0
    functionLinenumber: 6833
    functionLinenumberEnd: 6843
    functionName: assign_big_endian
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assign_big_endian(unsigned char *ptr, size_t ptrlen, uint32_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6847,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6850,1
    - Dst: memmove
      Src: /src/secp256k1/src/tests.c:6851,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6856,1
    - Dst: memmove
      Src: /src/secp256k1/src/tests.c:6857,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6858,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6863,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6863,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6867,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6867,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - sig
    - len
    argTypes:
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6870
      start: 6845
    functionDepth: 0
    functionLinenumber: 6845
    functionLinenumberEnd: 6870
    functionName: damage_array
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - testrand_bits
    - testrand_int
    - memmove
    linkageType: ''
    returnType: void
    signature: void damage_array(unsigned char *sig, size_t *len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6880,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6883,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6887,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6889,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6889,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6889,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6890,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6892,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6894,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6894,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6896,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6896,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6896,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6900,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6905,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6905,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6905,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6911,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6916,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6919,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6919,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6924,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6927,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6927,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6931,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/tests.c:6942,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6942,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:6942,1
    - Dst: assign_big_endian
      Src: /src/secp256k1/src/tests.c:6954,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:6960,1
    - Dst: assign_big_endian
      Src: /src/secp256k1/src/tests.c:6971,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/tests.c:6993,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/tests.c:6999,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7008,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/tests.c:7011,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7014,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7015,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 101
    argCount: 4
    argNames:
    - sig
    - len
    - certainly_der
    - certainly_not_der
    argTypes:
    - unsigned char*
    - size_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7016
      start: 6872
    functionDepth: 0
    functionLinenumber: 6872
    functionLinenumberEnd: 7016
    functionName: random_ber_signature
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    - testrand_bytes_test
    - testrand_bits
    - assign_big_endian
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void random_ber_signature(unsigned char *sig, size_t *len, int* certainly_der,
      int* certainly_not_der)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_ber_signature
      Src: /src/secp256k1/src/tests.c:7025,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7026,1
    - Dst: damage_array
      Src: /src/secp256k1/src/tests.c:7030,1
    - Dst: test_ecdsa_der_parse
      Src: /src/secp256k1/src/tests.c:7035,1
    - Dst: fprintf
      Src: /src/secp256k1/src/tests.c:7038,1
    - Dst: fprintf
      Src: /src/secp256k1/src/tests.c:7040,1
    - Dst: fprintf
      Src: /src/secp256k1/src/tests.c:7042,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7047
      start: 7018
    functionDepth: 0
    functionLinenumber: 7018
    functionLinenumberEnd: 7047
    functionName: run_ecdsa_der_parse
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - damage_array
    - test_ecdsa_der_parse
    - CHECK
    - random_ber_signature
    - fprintf
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_der_parse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7060,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:7061,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/secp256k1/src/tests.c:7062,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7063,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests.c:7064,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests.c:7065,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7067,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7067,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7082,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7083,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7084,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7085,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:7085,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7086,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7086,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7101,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7102,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7103,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7104,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:7104,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7105,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7105,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7128,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7129,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7130,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7131,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:7131,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7132,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:7132,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7133,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7133,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7134,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7134,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:7135,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7136,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7136,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7137,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7137,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7138,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7139,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7139,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7140,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7140,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7169,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7170,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:7171,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7172,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:7172,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7173,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:7173,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7174,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7174,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7175,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7175,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:7176,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7177,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7177,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7178,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7178,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7179,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/secp256k1/src/tests.c:7180,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7181,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7181,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7182,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7182,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7203,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7204,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:7205,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests.c:7206,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7207,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/tests.c:7207,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7208,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7208,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/tests.c:7209,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7210,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7210,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests.c:7211,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/secp256k1/src/tests.c:7212,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7213,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/tests.c:7213,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7245,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7245,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7246,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7246,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7248,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7248,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7249,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7249,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7250,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7250,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7251,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7251,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7252,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7252,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7253,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:7253,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7254,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:7254,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7255,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:7255,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7256,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:7256,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7257,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:7257,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7258,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/tests.c:7258,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7260,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:7260,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7262,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/tests.c:7262,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7263,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/tests.c:7263,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7264,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/tests.c:7264,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7265,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/tests.c:7265,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7266,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/tests.c:7266,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7267,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/tests.c:7267,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7268,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/tests.c:7268,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7271,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/tests.c:7271,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7272,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/secp256k1/src/tests.c:7272,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7273,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/secp256k1/src/tests.c:7273,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7274,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/secp256k1/src/tests.c:7274,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7275,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/secp256k1/src/tests.c:7275,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7276,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/secp256k1/src/tests.c:7276,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/tests.c:7277,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/secp256k1/src/tests.c:7277,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7278,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/secp256k1/src/tests.c:7278,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:7279,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7280,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/secp256k1/src/tests.c:7280,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:7293,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:7296,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7297,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7297,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7298,1
    - Dst: is_empty_signature
      Src: /src/secp256k1/src/tests.c:7298,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:7300,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7301,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7301,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7302,1
    - Dst: is_empty_signature
      Src: /src/secp256k1/src/tests.c:7302,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7305,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7305,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7306,1
    - Dst: is_empty_signature
      Src: /src/secp256k1/src/tests.c:7306,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7308,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7308,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7309,1
    - Dst: is_empty_signature
      Src: /src/secp256k1/src/tests.c:7309,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7310,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7310,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7311,1
    - Dst: is_empty_signature
      Src: /src/secp256k1/src/tests.c:7311,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7312,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7312,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7314,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7314,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7315,1
    - Dst: is_empty_signature
      Src: /src/secp256k1/src/tests.c:7315,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7316,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7316,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7321,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7321,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7322,1
    - Dst: is_empty_signature
      Src: /src/secp256k1/src/tests.c:7322,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/secp256k1/src/tests.c:7323,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7325,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:7325,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7334,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests.c:7334,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7335,1
    - Dst: is_empty_signature
      Src: /src/secp256k1/src/tests.c:7335,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/secp256k1/src/tests.c:7336,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7338,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests.c:7338,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:7351,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:7352,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:7353,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/tests.c:7354,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7355,1
    - Dst: nonce_function_rfc6979
      Src: /src/secp256k1/src/tests.c:7355,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:7356,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7357,1
    - Dst: nonce_function_rfc6979
      Src: /src/secp256k1/src/tests.c:7357,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:7358,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7359,1
    - Dst: nonce_function_rfc6979
      Src: /src/secp256k1/src/tests.c:7359,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:7360,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7361,1
    - Dst: nonce_function_rfc6979
      Src: /src/secp256k1/src/tests.c:7361,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/secp256k1/src/tests.c:7362,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7363,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7363,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7364,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7364,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7365,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7365,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7366,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7366,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7367,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7367,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7368,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7368,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7382,1
    - Dst: ec_privkey_export_der
      Src: /src/secp256k1/src/tests.c:7382,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7384,1
    - Dst: ec_privkey_export_der
      Src: /src/secp256k1/src/tests.c:7384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 164
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7386
      start: 7050
    functionDepth: 0
    functionLinenumber: 7050
    functionLinenumberEnd: 7386
    functionName: test_ecdsa_edge_cases
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_inverse
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ecmult_gen
    - memset
    - SECP256K1_CHECKMEM_UNDEFINE
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - nonce_function_rfc6979
    - secp256k1_scalar_inverse_var
    - secp256k1_memcmp_var
    - secp256k1_ecdsa_verify
    - secp256k1_ecdsa_signature_parse_der
    - secp256k1_ecdsa_signature_serialize_der
    - secp256k1_ecdsa_sign
    - secp256k1_scalar_negate
    - secp256k1_ecdsa_signature_normalize
    - CHECK_ILLEGAL
    - secp256k1_ge_set_gej
    - secp256k1_ec_pubkey_create
    - ec_privkey_export_der
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_eckey_pubkey_parse
    - secp256k1_ecdsa_signature_serialize_compact
    - secp256k1_ecdsa_signature_parse_compact
    - is_empty_signature
    - secp256k1_ecdsa_signature_load
    - secp256k1_ecdsa_sig_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_edge_cases(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_edge_cases
      Src: /src/secp256k1/src/tests.c:7389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7390
      start: 7388
    functionDepth: 0
    functionLinenumber: 7388
    functionLinenumberEnd: 7390
    functionName: run_ecdsa_edge_cases
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecdsa_edge_cases
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_edge_cases(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:7408,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7410,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/tests.c:7410,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/tests.c:7412,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/tests.c:7414,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/tests.c:7415,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/tests.c:7418,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests.c:7419,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7423
      start: 7396
    functionDepth: 0
    functionLinenumber: 7396
    functionLinenumberEnd: 7423
    functionName: test_ecdsa_wycheproof
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_signature_parse_der
    - CHECK
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - memset
    - secp256k1_ec_pubkey_parse
    - secp256k1_sha256_write
    - secp256k1_ecdsa_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_wycheproof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_wycheproof
      Src: /src/secp256k1/src/tests.c:7427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7428
      start: 7426
    functionDepth: 0
    functionLinenumber: 7426
    functionLinenumberEnd: 7428
    functionName: run_ecdsa_wycheproof
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecdsa_wycheproof
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_wycheproof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:7459,1
    - Dst: secp256k1_memczero
      Src: /src/secp256k1/src/tests.c:7460,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7461,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7461,1
    - Dst: memset
      Src: /src/secp256k1/src/tests.c:7464,1
    - Dst: secp256k1_memczero
      Src: /src/secp256k1/src/tests.c:7465,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7466,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7467
      start: 7454
    functionDepth: 0
    functionLinenumber: 7454
    functionLinenumberEnd: 7467
    functionName: run_secp256k1_memczero_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memczero
    - CHECK
    - memcpy
    - memset
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void run_secp256k1_memczero_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7474,1
    - Dst: secp256k1_is_zero_array
      Src: /src/secp256k1/src/tests.c:7474,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7475,1
    - Dst: secp256k1_is_zero_array
      Src: /src/secp256k1/src/tests.c:7475,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7476,1
    - Dst: secp256k1_is_zero_array
      Src: /src/secp256k1/src/tests.c:7476,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7477,1
    - Dst: secp256k1_is_zero_array
      Src: /src/secp256k1/src/tests.c:7477,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7478,1
    - Dst: secp256k1_is_zero_array
      Src: /src/secp256k1/src/tests.c:7478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7479
      start: 7470
    functionDepth: 0
    functionLinenumber: 7470
    functionLinenumberEnd: 7479
    functionName: run_secp256k1_is_zero_array_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_is_zero_array
    - CHECK
    linkageType: ''
    returnType: void
    signature: void run_secp256k1_is_zero_array_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/tests.c:7488,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7489,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7489,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/tests.c:7491,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7492,1
    - Dst: secp256k1_write_be64
      Src: /src/secp256k1/src/tests.c:7501,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7502,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7502,1
    - Dst: secp256k1_read_be64
      Src: /src/secp256k1/src/tests.c:7504,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7507
      start: 7481
    functionDepth: 0
    functionLinenumber: 7481
    functionLinenumberEnd: 7507
    functionName: run_secp256k1_byteorder_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_write_be64
    - secp256k1_read_be32
    - CHECK
    - secp256k1_write_be32
    - secp256k1_read_be64
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void run_secp256k1_byteorder_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_int_cmov
      Src: /src/secp256k1/src/tests.c:7513,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7514,1
    - Dst: secp256k1_int_cmov
      Src: /src/secp256k1/src/tests.c:7517,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7518,1
    - Dst: secp256k1_int_cmov
      Src: /src/secp256k1/src/tests.c:7521,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7522,1
    - Dst: secp256k1_int_cmov
      Src: /src/secp256k1/src/tests.c:7525,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7526,1
    - Dst: secp256k1_int_cmov
      Src: /src/secp256k1/src/tests.c:7529,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7532
      start: 7509
    functionDepth: 0
    functionLinenumber: 7509
    functionLinenumberEnd: 7532
    functionName: int_cmov_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_int_cmov
    - CHECK
    linkageType: ''
    returnType: void
    signature: void int_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:7535,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:7536,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/secp256k1/src/tests.c:7537,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:7544,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7545,1
    - Dst: fe_identical
      Src: /src/secp256k1/src/tests.c:7545,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:7548,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7549,1
    - Dst: fe_identical
      Src: /src/secp256k1/src/tests.c:7549,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:7552,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7553,1
    - Dst: fe_identical
      Src: /src/secp256k1/src/tests.c:7553,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:7556,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7557,1
    - Dst: fe_identical
      Src: /src/secp256k1/src/tests.c:7557,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/tests.c:7560,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7561,1
    - Dst: fe_identical
      Src: /src/secp256k1/src/tests.c:7561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7562
      start: 7534
    functionDepth: 0
    functionLinenumber: 7534
    functionLinenumberEnd: 7562
    functionName: fe_cmov_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - fe_identical
    - SECP256K1_FE_CONST
    - CHECK
    - secp256k1_fe_cmov
    linkageType: ''
    returnType: void
    signature: void fe_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_STORAGE_CONST
      Src: /src/secp256k1/src/tests.c:7565,1
    - Dst: SECP256K1_FE_STORAGE_CONST
      Src: /src/secp256k1/src/tests.c:7566,1
    - Dst: SECP256K1_FE_STORAGE_CONST
      Src: /src/secp256k1/src/tests.c:7567,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/tests.c:7574,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7575,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7575,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/tests.c:7578,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7579,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7579,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/tests.c:7582,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7583,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7583,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/tests.c:7586,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7587,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7587,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/tests.c:7590,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7591,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7592
      start: 7564
    functionDepth: 0
    functionLinenumber: 7564
    functionLinenumberEnd: 7592
    functionName: fe_storage_cmov_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_fe_storage_cmov
    - SECP256K1_FE_STORAGE_CONST
    - CHECK
    linkageType: ''
    returnType: void
    signature: void fe_storage_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/tests.c:7595,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/tests.c:7602,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7603,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7603,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/tests.c:7606,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7607,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7607,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/tests.c:7610,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7611,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7611,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/tests.c:7614,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7615,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7615,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/tests.c:7618,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7619,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7620
      start: 7594
    functionDepth: 0
    functionLinenumber: 7594
    functionLinenumberEnd: 7620
    functionName: scalar_cmov_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - SECP256K1_SCALAR_CONST
    - CHECK
    - secp256k1_scalar_cmov
    linkageType: ''
    returnType: void
    signature: void scalar_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_STORAGE_CONST
      Src: /src/secp256k1/src/tests.c:7623,1
    - Dst: SECP256K1_GE_STORAGE_CONST
      Src: /src/secp256k1/src/tests.c:7624,1
    - Dst: SECP256K1_GE_STORAGE_CONST
      Src: /src/secp256k1/src/tests.c:7625,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/secp256k1/src/tests.c:7634,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7635,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7635,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/secp256k1/src/tests.c:7638,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7639,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7639,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/secp256k1/src/tests.c:7642,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7643,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7643,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/secp256k1/src/tests.c:7646,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7647,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7647,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/secp256k1/src/tests.c:7650,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7651,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/tests.c:7651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7652
      start: 7622
    functionDepth: 0
    functionLinenumber: 7622
    functionLinenumberEnd: 7652
    functionName: ge_storage_cmov_test
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - SECP256K1_GE_STORAGE_CONST
    - secp256k1_ge_storage_cmov
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ge_storage_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_cmov_test
      Src: /src/secp256k1/src/tests.c:7655,1
    - Dst: fe_cmov_test
      Src: /src/secp256k1/src/tests.c:7656,1
    - Dst: fe_storage_cmov_test
      Src: /src/secp256k1/src/tests.c:7657,1
    - Dst: scalar_cmov_test
      Src: /src/secp256k1/src/tests.c:7658,1
    - Dst: ge_storage_cmov_test
      Src: /src/secp256k1/src/tests.c:7659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7660
      start: 7654
    functionDepth: 0
    functionLinenumber: 7654
    functionLinenumberEnd: 7660
    functionName: run_cmov_tests
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - fe_storage_cmov_test
    - fe_cmov_test
    - scalar_cmov_test
    - int_cmov_test
    - ge_storage_cmov_test
    linkageType: ''
    returnType: void
    signature: void run_cmov_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/secp256k1/src/tests.c:7666,1
    - Dst: setbuf
      Src: /src/secp256k1/src/tests.c:7669,1
    - Dst: strtol
      Src: /src/secp256k1/src/tests.c:7673,1
    - Dst: getenv
      Src: /src/secp256k1/src/tests.c:7675,1
    - Dst: strlen
      Src: /src/secp256k1/src/tests.c:7676,1
    - Dst: strtol
      Src: /src/secp256k1/src/tests.c:7677,1
    - Dst: fputs
      Src: /src/secp256k1/src/tests.c:7681,1
    - Dst: printf
      Src: /src/secp256k1/src/tests.c:7684,1
    - Dst: run_xoshiro256pp_tests
      Src: /src/secp256k1/src/tests.c:7687,1
    - Dst: testrand_init
      Src: /src/secp256k1/src/tests.c:7690,1
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/tests.c:7695,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/tests.c:7699,1
    - Dst: testrand256
      Src: /src/secp256k1/src/tests.c:7701,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7702,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/src/tests.c:7702,1
    - Dst: malloc
      Src: /src/secp256k1/src/tests.c:7708,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7709,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests.c:7710,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests.c:7711,1
    - Dst: secp256k1_context_is_proper
      Src: /src/secp256k1/src/tests.c:7711,1
    - Dst: run_selftest_tests
      Src: /src/secp256k1/src/tests.c:7716,1
    - Dst: run_proper_context_tests
      Src: /src/secp256k1/src/tests.c:7719,1
    - Dst: run_proper_context_tests
      Src: /src/secp256k1/src/tests.c:7719,1
    - Dst: run_static_context_tests
      Src: /src/secp256k1/src/tests.c:7720,1
    - Dst: run_static_context_tests
      Src: /src/secp256k1/src/tests.c:7720,1
    - Dst: run_deprecated_context_flags_test
      Src: /src/secp256k1/src/tests.c:7721,1
    - Dst: run_scratch_tests
      Src: /src/secp256k1/src/tests.c:7724,1
    - Dst: run_int128_tests
      Src: /src/secp256k1/src/tests.c:7728,1
    - Dst: run_ctz_tests
      Src: /src/secp256k1/src/tests.c:7730,1
    - Dst: run_modinv_tests
      Src: /src/secp256k1/src/tests.c:7731,1
    - Dst: run_inverse_tests
      Src: /src/secp256k1/src/tests.c:7732,1
    - Dst: run_hsort_tests
      Src: /src/secp256k1/src/tests.c:7735,1
    - Dst: run_sha256_known_output_tests
      Src: /src/secp256k1/src/tests.c:7738,1
    - Dst: run_sha256_counter_tests
      Src: /src/secp256k1/src/tests.c:7739,1
    - Dst: run_hmac_sha256_tests
      Src: /src/secp256k1/src/tests.c:7740,1
    - Dst: run_rfc6979_hmac_sha256_tests
      Src: /src/secp256k1/src/tests.c:7741,1
    - Dst: run_tagged_sha256_tests
      Src: /src/secp256k1/src/tests.c:7742,1
    - Dst: run_scalar_tests
      Src: /src/secp256k1/src/tests.c:7745,1
    - Dst: run_field_half
      Src: /src/secp256k1/src/tests.c:7748,1
    - Dst: run_field_misc
      Src: /src/secp256k1/src/tests.c:7749,1
    - Dst: run_field_convert
      Src: /src/secp256k1/src/tests.c:7750,1
    - Dst: run_field_be32_overflow
      Src: /src/secp256k1/src/tests.c:7751,1
    - Dst: run_fe_mul
      Src: /src/secp256k1/src/tests.c:7752,1
    - Dst: run_sqr
      Src: /src/secp256k1/src/tests.c:7753,1
    - Dst: run_sqrt
      Src: /src/secp256k1/src/tests.c:7754,1
    - Dst: run_ge
      Src: /src/secp256k1/src/tests.c:7757,1
    - Dst: run_gej
      Src: /src/secp256k1/src/tests.c:7758,1
    - Dst: run_group_decompress
      Src: /src/secp256k1/src/tests.c:7759,1
    - Dst: run_ecmult_pre_g
      Src: /src/secp256k1/src/tests.c:7762,1
    - Dst: run_wnaf
      Src: /src/secp256k1/src/tests.c:7763,1
    - Dst: run_point_times_order
      Src: /src/secp256k1/src/tests.c:7764,1
    - Dst: run_ecmult_near_split_bound
      Src: /src/secp256k1/src/tests.c:7765,1
    - Dst: run_ecmult_chain
      Src: /src/secp256k1/src/tests.c:7766,1
    - Dst: run_ecmult_constants
      Src: /src/secp256k1/src/tests.c:7767,1
    - Dst: run_ecmult_gen_blind
      Src: /src/secp256k1/src/tests.c:7768,1
    - Dst: run_ecmult_const_tests
      Src: /src/secp256k1/src/tests.c:7769,1
    - Dst: run_ecmult_multi_tests
      Src: /src/secp256k1/src/tests.c:7770,1
    - Dst: run_ec_combine
      Src: /src/secp256k1/src/tests.c:7771,1
    - Dst: run_endomorphism_tests
      Src: /src/secp256k1/src/tests.c:7774,1
    - Dst: run_ec_pubkey_parse_test
      Src: /src/secp256k1/src/tests.c:7777,1
    - Dst: run_eckey_edge_case_test
      Src: /src/secp256k1/src/tests.c:7780,1
    - Dst: run_eckey_negate_test
      Src: /src/secp256k1/src/tests.c:7783,1
    - Dst: run_ecdh_tests
      Src: /src/secp256k1/src/tests.c:7787,1
    - Dst: run_ec_illegal_argument_tests
      Src: /src/secp256k1/src/tests.c:7791,1
    - Dst: run_pubkey_comparison
      Src: /src/secp256k1/src/tests.c:7792,1
    - Dst: run_pubkey_sort
      Src: /src/secp256k1/src/tests.c:7793,1
    - Dst: run_random_pubkeys
      Src: /src/secp256k1/src/tests.c:7794,1
    - Dst: run_ecdsa_der_parse
      Src: /src/secp256k1/src/tests.c:7795,1
    - Dst: run_ecdsa_sign_verify
      Src: /src/secp256k1/src/tests.c:7796,1
    - Dst: run_ecdsa_end_to_end
      Src: /src/secp256k1/src/tests.c:7797,1
    - Dst: run_ecdsa_edge_cases
      Src: /src/secp256k1/src/tests.c:7798,1
    - Dst: run_ecdsa_wycheproof
      Src: /src/secp256k1/src/tests.c:7799,1
    - Dst: run_recovery_tests
      Src: /src/secp256k1/src/tests.c:7803,1
    - Dst: run_extrakeys_tests
      Src: /src/secp256k1/src/tests.c:7807,1
    - Dst: run_schnorrsig_tests
      Src: /src/secp256k1/src/tests.c:7811,1
    - Dst: run_musig_tests
      Src: /src/secp256k1/src/tests.c:7815,1
    - Dst: run_ellswift_tests
      Src: /src/secp256k1/src/tests.c:7819,1
    - Dst: run_secp256k1_memczero_test
      Src: /src/secp256k1/src/tests.c:7823,1
    - Dst: run_secp256k1_is_zero_array_test
      Src: /src/secp256k1/src/tests.c:7824,1
    - Dst: run_secp256k1_byteorder_tests
      Src: /src/secp256k1/src/tests.c:7825,1
    - Dst: run_cmov_tests
      Src: /src/secp256k1/src/tests.c:7827,1
    - Dst: free
      Src: /src/secp256k1/src/tests.c:7830,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests.c:7831,1
    - Dst: testrand_finish
      Src: /src/secp256k1/src/tests.c:7833,1
    - Dst: printf
      Src: /src/secp256k1/src/tests.c:7835,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 92
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7837
      start: 7662
    functionDepth: 0
    functionLinenumber: 7662
    functionLinenumberEnd: 7837
    functionName: main
    functionSourceFile: /src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - run_field_half
    - testrand256
    - testrand_finish
    - run_recovery_tests
    - run_secp256k1_byteorder_tests
    - run_pubkey_comparison
    - strtol
    - secp256k1_context_destroy
    - testrand_bits
    - fputs
    - run_inverse_tests
    - run_field_be32_overflow
    - run_random_pubkeys
    - CHECK
    - run_sqr
    - run_static_context_tests
    - secp256k1_context_is_proper
    - run_cmov_tests
    - run_ecmult_near_split_bound
    - run_ecmult_chain
    - run_field_misc
    - run_endomorphism_tests
    - run_sha256_counter_tests
    - run_wnaf
    - run_musig_tests
    - run_eckey_negate_test
    - run_scratch_tests
    - run_ecmult_constants
    - run_selftest_tests
    - run_ecdsa_sign_verify
    - run_modinv_tests
    - run_tagged_sha256_tests
    - run_gej
    - run_ellswift_tests
    - run_ecmult_multi_tests
    - memcpy
    - run_ecdsa_wycheproof
    - run_ctz_tests
    - run_ecmult_pre_g
    - run_fe_mul
    - run_pubkey_sort
    - run_scalar_tests
    - run_point_times_order
    - run_sqrt
    - secp256k1_context_create
    - secp256k1_context_randomize
    - malloc
    - run_int128_tests
    - run_ec_combine
    - run_ec_illegal_argument_tests
    - printf
    - testrand_init
    - run_ecdh_tests
    - run_ecmult_gen_blind
    - run_hmac_sha256_tests
    - run_sha256_known_output_tests
    - run_proper_context_tests
    - run_ecmult_const_tests
    - run_field_convert
    - run_secp256k1_memczero_test
    - run_ec_pubkey_parse_test
    - strlen
    - run_deprecated_context_flags_test
    - run_ecdsa_der_parse
    - run_ecdsa_end_to_end
    - free
    - run_xoshiro256pp_tests
    - run_ge
    - run_rfc6979_hmac_sha256_tests
    - run_hsort_tests
    - getenv
    - run_schnorrsig_tests
    - run_extrakeys_tests
    - setbuf
    - run_eckey_edge_case_test
    - run_group_decompress
    - run_ecdsa_edge_cases
    - run_secp256k1_is_zero_array_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/hsort_impl.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: secp256k1_heap_child1
    functionSourceFile: /src/secp256k1/src/hsort_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_heap_child1(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/hsort_impl.h:22,1
    - Dst: secp256k1_heap_child1
      Src: /src/secp256k1/src/hsort_impl.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: secp256k1_heap_child2
    functionSourceFile: /src/secp256k1/src/hsort_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_heap_child1
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_heap_child2(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/hsort_impl.h:28,1
    - Dst: memcpy
      Src: /src/secp256k1/src/hsort_impl.h:29,1
    - Dst: memmove
      Src: /src/secp256k1/src/hsort_impl.h:30,1
    - Dst: memcpy
      Src: /src/secp256k1/src/hsort_impl.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: secp256k1_heap_swap64
    functionSourceFile: /src/secp256k1/src/hsort_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - memmove
    - memcpy
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_heap_swap64(unsigned char *a, unsigned char
      *b, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_heap_swap64
      Src: /src/secp256k1/src/hsort_impl.h:39,1
    - Dst: secp256k1_heap_swap64
      Src: /src/secp256k1/src/hsort_impl.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - arr
    - i
    - j
    - stride
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: secp256k1_heap_swap
    functionSourceFile: /src/secp256k1/src/hsort_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_heap_swap64
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_heap_swap(unsigned char *arr, size_t i,
      size_t j, size_t stride)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/hsort_impl.h:54,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/hsort_impl.h:62,1
    - Dst: secp256k1_heap_child1
      Src: /src/secp256k1/src/hsort_impl.h:62,1
    - Dst: secp256k1_heap_child2
      Src: /src/secp256k1/src/hsort_impl.h:80,1
    - Dst: cmp
      Src: /src/secp256k1/src/hsort_impl.h:81,1
    - Dst: secp256k1_heap_child2
      Src: /src/secp256k1/src/hsort_impl.h:81,1
    - Dst: secp256k1_heap_child1
      Src: /src/secp256k1/src/hsort_impl.h:81,1
    - Dst: cmp
      Src: /src/secp256k1/src/hsort_impl.h:82,1
    - Dst: secp256k1_heap_child2
      Src: /src/secp256k1/src/hsort_impl.h:82,1
    - Dst: secp256k1_heap_swap
      Src: /src/secp256k1/src/hsort_impl.h:83,1
    - Dst: secp256k1_heap_child2
      Src: /src/secp256k1/src/hsort_impl.h:83,1
    - Dst: secp256k1_heap_child2
      Src: /src/secp256k1/src/hsort_impl.h:84,1
    - Dst: cmp
      Src: /src/secp256k1/src/hsort_impl.h:91,1
    - Dst: secp256k1_heap_child1
      Src: /src/secp256k1/src/hsort_impl.h:91,1
    - Dst: secp256k1_heap_swap
      Src: /src/secp256k1/src/hsort_impl.h:92,1
    - Dst: secp256k1_heap_child1
      Src: /src/secp256k1/src/hsort_impl.h:92,1
    - Dst: secp256k1_heap_child1
      Src: /src/secp256k1/src/hsort_impl.h:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - arr
    - i
    - heap_size
    - stride
    - cmp_data
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 105
    functionName: secp256k1_heap_down
    functionSourceFile: /src/secp256k1/src/hsort_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_heap_child1
    - secp256k1_heap_child2
    - secp256k1_heap_swap
    - cmp
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: "SECP256K1_INLINE secp256k1_heap_down(unsigned char *arr, size_t i,
      size_t heap_size, size_t stride,\n                            int (*cmp)(const
      void *, const void *, void *), void *cmp_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_heap_down
      Src: /src/secp256k1/src/hsort_impl.h:114,1
    - Dst: secp256k1_heap_swap
      Src: /src/secp256k1/src/hsort_impl.h:118,1
    - Dst: secp256k1_heap_down
      Src: /src/secp256k1/src/hsort_impl.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ptr
    - count
    - size
    - cmp_data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: secp256k1_hsort
    functionSourceFile: /src/secp256k1/src/hsort_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_heap_swap
    - secp256k1_heap_down
    linkageType: ''
    returnType: void
    signature: "void secp256k1_hsort(void *ptr, size_t count, size_t size,\n                            int
      (*cmp)(const void *, const void *, void *),\n                            void
      *cmp_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_RUNNING
      Src: /src/secp256k1/src/ctime_tests.c:50,1
    - Dst: fprintf
      Src: /src/secp256k1/src/ctime_tests.c:51,1
    - Dst: fprintf
      Src: /src/secp256k1/src/ctime_tests.c:52,1
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/ctime_tests.c:55,1
    - Dst: run_tests
      Src: /src/secp256k1/src/ctime_tests.c:63,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:67,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/src/ctime_tests.c:68,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:69,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:70,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/ctime_tests.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/secp256k1/src/ctime_tests.c
    functionUses: 0
    functionsReached:
    - run_tests
    - CHECK
    - secp256k1_context_create
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - fprintf
    - SECP256K1_CHECKMEM_DEFINE
    - SECP256K1_CHECKMEM_RUNNING
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:103,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/ctime_tests.c:104,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:105,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:106,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:107,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:108,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/ctime_tests.c:108,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:111,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/ctime_tests.c:112,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:113,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:114,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:115,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:116,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/secp256k1/src/ctime_tests.c:116,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:120,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/ctime_tests.c:121,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:122,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:123,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:128,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/ctime_tests.c:129,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:130,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:131,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:132,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:133,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/secp256k1/src/ctime_tests.c:133,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:134,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:137,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/ctime_tests.c:138,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:139,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:140,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:142,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/secp256k1/src/ctime_tests.c:143,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:144,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:145,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:147,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:148,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/secp256k1/src/ctime_tests.c:149,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:150,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:151,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:153,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:154,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/secp256k1/src/ctime_tests.c:155,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:156,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:157,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:161,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/ctime_tests.c:162,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:163,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:164,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:167,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/ctime_tests.c:168,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:169,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:170,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:172,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:173,1
    - Dst: secp256k1_keypair_sec
      Src: /src/secp256k1/src/ctime_tests.c:174,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:175,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:176,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:180,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/ctime_tests.c:181,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:182,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:183,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/ctime_tests.c:184,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:185,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:186,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:207,1
    - Dst: memcpy
      Src: /src/secp256k1/src/ctime_tests.c:208,1
    - Dst: memcpy
      Src: /src/secp256k1/src/ctime_tests.c:210,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:213,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/ctime_tests.c:213,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:214,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/ctime_tests.c:214,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:215,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/ctime_tests.c:215,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:217,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:218,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:219,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/ctime_tests.c:220,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:221,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:222,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/ctime_tests.c:223,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:224,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:225,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:227,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/ctime_tests.c:227,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:229,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:230,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/ctime_tests.c:230,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/ctime_tests.c:232,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:233,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:234,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/ctime_tests.c:235,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:236,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:237,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:242,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/src/ctime_tests.c:243,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:244,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:245,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:247,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/src/ctime_tests.c:248,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:249,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:250,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:253,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:254,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/ctime_tests.c:255,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:256,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:257,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/ctime_tests.c:259,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:260,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/ctime_tests.c:261,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/ctime_tests.c:262,1
    - Dst: CHECK
      Src: /src/secp256k1/src/ctime_tests.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 114
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - secp256k1_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 267
    functionName: run_tests
    functionSourceFile: /src/secp256k1/src/ctime_tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_musig_nonce_gen_counter
    - secp256k1_ellswift_xdh
    - secp256k1_ecdsa_recoverable_signature_serialize_compact
    - memcpy
    - secp256k1_musig_nonce_gen
    - secp256k1_ec_seckey_tweak_add
    - secp256k1_ec_seckey_verify
    - SECP256K1_CHECKMEM_UNDEFINE
    - secp256k1_keypair_xonly_tweak_add
    - secp256k1_musig_nonce_process
    - secp256k1_ecdh
    - secp256k1_ellswift_create
    - secp256k1_schnorrsig_sign32
    - secp256k1_musig_nonce_agg
    - secp256k1_ecdsa_signature_serialize_der
    - secp256k1_ecdsa_sign
    - secp256k1_musig_pubkey_agg
    - secp256k1_ecdsa_sign_recoverable
    - SECP256K1_CHECKMEM_DEFINE
    - secp256k1_musig_partial_sign
    - secp256k1_keypair_pub
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_ec_seckey_negate
    - secp256k1_ec_pubkey_serialize
    - secp256k1_keypair_sec
    - secp256k1_keypair_create
    - secp256k1_ec_seckey_tweak_mul
    linkageType: ''
    returnType: void
    signature: void run_tests(secp256k1_context *ctx, unsigned char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: secp256k1_scalar_is_even
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 1
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_even(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: secp256k1_scalar_set_int
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 12
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned
      int v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:29,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_low_impl.h:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: secp256k1_scalar_get_bits_limb32
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_limb32(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:40,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/scalar_low_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: secp256k1_scalar_get_bits_var
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_get_bits_limb32
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_var(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: secp256k1_scalar_check_overflow
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_check_overflow(const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:48,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:49,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: secp256k1_scalar_add
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 20
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:58,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:63,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_low_impl.h:64,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_low_impl.h:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - bit
    - flag
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: secp256k1_scalar_cadd_bit
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit,
      int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - r
    - b32
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: secp256k1_scalar_set_b32
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 6
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char
      *b32, int *overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:86,1
    - Dst: memset
      Src: /src/secp256k1/src/scalar_low_impl.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bin
    - a
    argTypes:
    - unsigned char*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: secp256k1_scalar_get_b32
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 4
    functionsReached:
    - memset
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar*
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: secp256k1_scalar_is_zero
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 10
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_zero(const secp256k1_scalar *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:99,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: secp256k1_scalar_negate
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 21
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: secp256k1_scalar_is_one
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 3
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_one(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: secp256k1_scalar_is_high
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_is_high(const secp256k1_scalar *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:123,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/scalar_low_impl.h:125,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - flag
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: secp256k1_scalar_cond_negate
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_negate
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:132,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:133,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: secp256k1_scalar_mul
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 10
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:141,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:146,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r1
    - r2
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: secp256k1_scalar_split_128
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar
      *r2, const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:151,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: secp256k1_scalar_eq
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 11
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_eq(const secp256k1_scalar *a, const
      secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:160,1
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:161,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: secp256k1_scalar_cmov
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_cmov(secp256k1_scalar *r, const secp256k1_scalar
      *a, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:173,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_low_impl.h:184,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: secp256k1_scalar_inverse
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:191,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/secp256k1/src/scalar_low_impl.h:193,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: secp256k1_scalar_inverse_var
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_inverse
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:199,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_low_impl.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: secp256k1_scalar_half
    functionSourceFile: /src/secp256k1/src/scalar_low_impl.h
    functionUses: 4
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_half(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:79,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:80,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/group_impl.h:81,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/group_impl.h:82,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: secp256k1_ge_verify
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_verify(const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:88,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:89,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:90,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/group_impl.h:91,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/group_impl.h:92,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/group_impl.h:93,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: secp256k1_gej_verify
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_verify(const secp256k1_gej *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:102,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:103,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:104,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:106,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:107,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:108,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:109,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - r
    - a
    - zi
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: secp256k1_ge_set_gej_zinv
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_gej_zinv(secp256k1_ge *r, const secp256k1_gej
      *a, const secp256k1_fe *zi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:119,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:120,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:121,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:123,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:124,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:125,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:126,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - r
    - a
    - zi
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: secp256k1_ge_set_ge_zinv
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_ge_zinv(secp256k1_ge *r, const secp256k1_ge *a,
      const secp256k1_fe *zi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:133,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:134,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - r
    - x
    - y
    argTypes:
    - secp256k1_ge*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: secp256k1_ge_set_xy
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 3
    functionsReached:
    - SECP256K1_FE_VERIFY
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const
      secp256k1_fe *y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: secp256k1_ge_is_infinity
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_is_infinity(const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:150,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/group_impl.h:153,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:154,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: secp256k1_ge_neg
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_negate
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:161,1
    - Dst: secp256k1_fe_inv
      Src: /src/secp256k1/src/group_impl.h:164,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:165,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:166,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:167,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:168,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:169,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:173,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionName: secp256k1_ge_set_gej
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 16
    functionsReached:
    - secp256k1_fe_inv
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:179,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/group_impl.h:181,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/group_impl.h:182,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/secp256k1/src/group_impl.h:186,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:187,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:188,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:189,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:190,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:191,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/secp256k1/src/group_impl.h:192,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:194,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: secp256k1_ge_set_gej_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_ge_set_xy
    - secp256k1_gej_is_infinity
    - SECP256K1_GEJ_VERIFY
    - secp256k1_ge_set_infinity
    - secp256k1_fe_inv_var
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_gej_var(secp256k1_ge *r, secp256k1_gej *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:203,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:204,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/group_impl.h:204,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:215,1
    - Dst: secp256k1_fe_inv
      Src: /src/secp256k1/src/group_impl.h:217,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:220,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:221,1
    - Dst: secp256k1_ge_set_gej_zinv
      Src: /src/secp256k1/src/group_impl.h:226,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - r
    - a
    - len
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 234
    functionName: secp256k1_ge_set_all_gej
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_inv
    - VERIFY_CHECK
    - secp256k1_gej_is_infinity
    - secp256k1_fe_mul
    - secp256k1_ge_set_gej_zinv
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_all_gej(secp256k1_ge *r, const secp256k1_gej
      *a, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:242,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/group_impl.h:248,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:254,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/secp256k1/src/group_impl.h:262,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:268,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:269,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:273,1
    - Dst: secp256k1_ge_set_gej_zinv
      Src: /src/secp256k1/src/group_impl.h:278,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - r
    - a
    - len
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 287
    functionName: secp256k1_ge_set_all_gej_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_set_infinity
    - secp256k1_fe_inv_var
    - secp256k1_fe_mul
    - secp256k1_ge_set_gej_zinv
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej
      *a, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:294,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:295,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/group_impl.h:302,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:308,1
    - Dst: secp256k1_ge_set_ge_zinv
      Src: /src/secp256k1/src/group_impl.h:311,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - len
    - a
    - zr
    argTypes:
    - size_t
    - secp256k1_ge*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 320
    functionName: secp256k1_ge_table_set_globalz
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_ge_zinv
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_mul
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_table_set_globalz(size_t len, secp256k1_ge *a, const
      secp256k1_fe *zr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:324,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:325,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:326,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: secp256k1_gej_set_infinity
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 13
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_set_infinity(secp256k1_gej *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:333,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:334,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: secp256k1_ge_set_infinity
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_infinity(secp256k1_ge *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/group_impl.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: secp256k1_gej_clear
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_clear(secp256k1_gej *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/group_impl.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: secp256k1_ge_clear
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_clear(secp256k1_ge *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:350,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:353,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:354,1
    - Dst: secp256k1_fe_add_int
      Src: /src/secp256k1/src/group_impl.h:356,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/secp256k1/src/group_impl.h:357,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/group_impl.h:358,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/group_impl.h:359,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:360,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - r
    - x
    - odd
    argTypes:
    - secp256k1_ge*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: secp256k1_ge_set_xo_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_fe_sqrt
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalize_var
    - secp256k1_fe_negate
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    - secp256k1_fe_sqr
    - secp256k1_fe_is_odd
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x,
      int odd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:368,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:373,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: secp256k1_gej_set_ge
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 19
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:380,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:381,1
    - Dst: secp256k1_gej_neg
      Src: /src/secp256k1/src/group_impl.h:383,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/group_impl.h:384,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/group_impl.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: secp256k1_gej_eq_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 6
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_gej_eq_var(const secp256k1_gej *a, const secp256k1_gej
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:390,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:391,1
    - Dst: secp256k1_gej_neg
      Src: /src/secp256k1/src/group_impl.h:393,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/group_impl.h:394,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/group_impl.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: secp256k1_gej_eq_ge_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 9
    functionsReached:
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - secp256k1_gej_add_ge_var
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_gej_eq_ge_var(const secp256k1_gej *a, const secp256k1_ge
      *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:400,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:401,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/group_impl.h:407,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/group_impl.h:408,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/group_impl.h:411,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/group_impl.h:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 415
    functionName: secp256k1_ge_eq_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 10
    functionsReached:
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_equal
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_eq_var(const secp256k1_ge *a, const secp256k1_ge *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:419,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:420,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:421,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:423,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:423,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/group_impl.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - x
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: secp256k1_gej_eq_x_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_equal
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: int
    signature: int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:428,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/group_impl.h:434,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:435,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 438
    functionName: secp256k1_gej_neg
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_fe_normalize_weak
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_negate
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: secp256k1_gej_is_infinity
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 13
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_gej_is_infinity(const secp256k1_gej *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:448,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:454,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:455,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:455,1
    - Dst: secp256k1_fe_add_int
      Src: /src/secp256k1/src/group_impl.h:456,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/group_impl.h:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: secp256k1_ge_is_valid_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_fe_equal
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    - secp256k1_fe_sqr
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_is_valid_var(const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:463,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:476,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:477,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:478,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/group_impl.h:479,1
    - Dst: secp256k1_fe_half
      Src: /src/secp256k1/src/group_impl.h:480,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:481,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:482,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:483,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:484,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:485,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:486,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:487,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:488,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:489,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:490,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 493
    functionName: secp256k1_gej_double
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    - secp256k1_fe_half
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_gej_double(secp256k1_gej *r, const secp256k1_gej
      *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:496,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/group_impl.h:509,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:511,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/group_impl.h:518,1
    - Dst: secp256k1_gej_double
      Src: /src/secp256k1/src/group_impl.h:521,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - r
    - a
    - rzr
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 524
    functionName: secp256k1_gej_double_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_gej_set_infinity
    - secp256k1_fe_normalize_weak
    - secp256k1_gej_double
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej
      *a, secp256k1_fe *rzr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:529,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:530,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:533,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:539,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:545,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:546,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:547,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:548,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:549,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:549,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:550,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:550,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:551,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:551,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:552,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:552,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/group_impl.h:553,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/group_impl.h:554,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/group_impl.h:555,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:558,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/group_impl.h:560,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:566,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:570,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:572,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:573,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:574,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:575,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:577,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:578,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:579,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:580,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:582,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:583,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:584,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:585,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 4
    argNames:
    - r
    - a
    - b
    - rzr
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 588
    functionName: secp256k1_gej_add_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 12
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_gej_set_infinity
    - secp256k1_fe_mul
    - secp256k1_gej_double_var
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a,
      const secp256k1_gej *b, secp256k1_fe *rzr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:593,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:594,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:597,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/group_impl.h:598,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:603,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:609,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:611,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:613,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:613,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:614,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:614,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:615,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:615,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/group_impl.h:616,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/group_impl.h:617,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/group_impl.h:618,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:621,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/group_impl.h:623,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:632,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:634,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:635,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:636,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:637,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:639,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:640,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:641,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:642,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:644,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:645,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:646,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:647,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:649,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 4
    argNames:
    - r
    - a
    - b
    - rzr
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 651
    functionName: secp256k1_gej_add_ge_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 9
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_fe_add
    - SECP256K1_FE_VERIFY
    - secp256k1_gej_set_ge
    - secp256k1_fe_negate
    - secp256k1_fe_sqr
    - secp256k1_gej_set_infinity
    - secp256k1_fe_mul
    - secp256k1_gej_double_var
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_ge *b, secp256k1_fe *rzr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:656,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:657,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:658,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:663,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:664,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:665,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:666,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/group_impl.h:667,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:668,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:684,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:686,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:688,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:690,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:690,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:691,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:691,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:692,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:692,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/group_impl.h:693,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/group_impl.h:694,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/group_impl.h:695,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/group_impl.h:697,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:703,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:705,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:706,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:707,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:708,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:710,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:711,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:712,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:713,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:715,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:716,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:717,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:718,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 4
    argNames:
    - r
    - a
    - b
    - bzinv
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 721
    functionName: secp256k1_gej_add_zinv_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_add
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_negate
    - secp256k1_gej_set_infinity
    - secp256k1_fe_mul
    - secp256k1_gej_double_var
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_ge *b, const secp256k1_fe *bzinv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:729,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:730,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:731,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:783,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:785,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:787,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:788,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:789,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:790,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:791,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:792,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:793,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:794,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/group_impl.h:797,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/group_impl.h:804,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:805,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/group_impl.h:807,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/group_impl.h:808,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:813,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:814,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:816,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:821,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/group_impl.h:822,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:823,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:824,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:825,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/group_impl.h:827,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:828,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:829,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:830,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/group_impl.h:831,1
    - Dst: secp256k1_fe_half
      Src: /src/secp256k1/src/group_impl.h:833,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/group_impl.h:836,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/group_impl.h:837,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/group_impl.h:838,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/group_impl.h:856,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 859
    functionName: secp256k1_gej_add_ge
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_fe_add
    - secp256k1_fe_cmov
    - secp256k1_fe_negate
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    - secp256k1_fe_half
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a,
      const secp256k1_ge *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:864,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:865,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:866,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/group_impl.h:866,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:868,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:869,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:870,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:871,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:872,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - secp256k1_gej*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 875
    functionName: secp256k1_gej_rescale
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:879,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:880,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/group_impl.h:883,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/group_impl.h:885,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/secp256k1/src/group_impl.h:886,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/secp256k1/src/group_impl.h:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge_storage*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: secp256k1_ge_to_storage
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_fe_to_storage
    - VERIFY_CHECK
    - secp256k1_fe_normalize
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_from_storage
      Src: /src/secp256k1/src/group_impl.h:891,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/secp256k1/src/group_impl.h:892,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 896
    functionName: secp256k1_ge_from_storage
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_fe_from_storage
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:899,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:900,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/group_impl.h:902,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/group_impl.h:903,1
    - Dst: secp256k1_fe_cmov
      Src: /src/secp256k1/src/group_impl.h:904,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/secp256k1/src/group_impl.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 908
    functionName: secp256k1_gej_cmov
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_cmov
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_gej_cmov(secp256k1_gej *r, const secp256k1_gej
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/group_impl.h:911,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/secp256k1/src/group_impl.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_ge_storage*
    - secp256k1_ge_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 913
    functionName: secp256k1_ge_storage_cmov
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_fe_storage_cmov
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ge_storage_cmov(secp256k1_ge_storage *r,
      const secp256k1_ge_storage *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:916,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:919,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 922
    functionName: secp256k1_ge_mul_lambda
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_fe_mul
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_mul_lambda(secp256k1_ge *r, const secp256k1_ge *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:928,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/group_impl.h:931,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/group_impl.h:933,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/group_impl.h:935,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/group_impl.h:938,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/secp256k1/src/group_impl.h:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ge
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 946
    functionName: secp256k1_ge_is_in_correct_subgroup
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_gej_is_infinity
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_set_infinity
    - secp256k1_gej_double_var
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_is_in_correct_subgroup(const secp256k1_ge* ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:950,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:951,1
    - Dst: secp256k1_fe_add_int
      Src: /src/secp256k1/src/group_impl.h:952,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/group_impl.h:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 954
    functionName: secp256k1_ge_x_on_curve_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_fe_sqr
    - secp256k1_fe_is_square_var
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_x_on_curve_var(const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:962,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/group_impl.h:962,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:964,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:965,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/group_impl.h:966,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:967,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/group_impl.h:968,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:969,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/group_impl.h:970,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/group_impl.h:971,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/group_impl.h:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - xn
    - xd
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 973
    functionName: secp256k1_ge_x_frac_on_curve_var
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_fe_add
    - secp256k1_fe_is_square_var
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_x_frac_on_curve_var(const secp256k1_fe *xn, const
      secp256k1_fe *xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/group_impl.h:981,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/group_impl.h:982,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/group_impl.h:982,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/secp256k1/src/group_impl.h:983,1
    - Dst: memcpy
      Src: /src/secp256k1/src/group_impl.h:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - a
    argTypes:
    - unsigned char*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 985
    functionName: secp256k1_ge_to_bytes
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_to_storage
    - memcpy
    - STATIC_ASSERT
    - secp256k1_ge_is_infinity
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_to_bytes(unsigned char *buf, const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/group_impl.h:990,1
    - Dst: memcpy
      Src: /src/secp256k1/src/group_impl.h:991,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/secp256k1/src/group_impl.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 993
    functionName: secp256k1_ge_from_bytes
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - STATIC_ASSERT
    - secp256k1_ge_from_storage
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_from_bytes(secp256k1_ge *r, const unsigned char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/group_impl.h:996,1
    - Dst: memset
      Src: /src/secp256k1/src/group_impl.h:997,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/secp256k1/src/group_impl.h:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - ge
    argTypes:
    - unsigned char*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1001
    functionName: secp256k1_ge_to_bytes_ext
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - memset
    - secp256k1_ge_is_infinity
    - secp256k1_ge_to_bytes
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_to_bytes_ext(unsigned char *data, const secp256k1_ge
      *ge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/group_impl.h:1005,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/group_impl.h:1006,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/secp256k1/src/group_impl.h:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ge
    - data
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1010
    functionName: secp256k1_ge_from_bytes_ext
    functionSourceFile: /src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_ge_from_bytes
    - secp256k1_ge_set_infinity
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_from_bytes_ext(secp256k1_ge *ge, const unsigned char
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_TO_ALIGN
      Src: /src/secp256k1/src/scratch_impl.h:14,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/scratch_impl.h:15,1
    - Dst: memset
      Src: /src/secp256k1/src/scratch_impl.h:18,1
    - Dst: memcpy
      Src: /src/secp256k1/src/scratch_impl.h:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - error_callback
    - size
    argTypes:
    - secp256k1_callback*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: secp256k1_scratch_create
    functionSourceFile: /src/secp256k1/src/scratch_impl.h
    functionUses: 4
    functionsReached:
    - memset
    - checked_malloc
    - ROUND_TO_ALIGN
    - memcpy
    linkageType: ''
    returnType: secp256k1_scratch
    signature: secp256k1_scratch * secp256k1_scratch_create(const secp256k1_callback*
      error_callback, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/scratch_impl.h:28,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/scratch_impl.h:29,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scratch_impl.h:32,1
    - Dst: memset
      Src: /src/secp256k1/src/scratch_impl.h:33,1
    - Dst: free
      Src: /src/secp256k1/src/scratch_impl.h:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - error_callback
    - scratch
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: secp256k1_scratch_destroy
    functionSourceFile: /src/secp256k1/src/scratch_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - memset
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    - free
    linkageType: ''
    returnType: void
    signature: void secp256k1_scratch_destroy(const secp256k1_callback* error_callback,
      secp256k1_scratch* scratch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/scratch_impl.h:39,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/scratch_impl.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - error_callback
    - scratch
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: secp256k1_scratch_checkpoint
    functionSourceFile: /src/secp256k1/src/scratch_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_scratch_checkpoint(const secp256k1_callback* error_callback,
      const secp256k1_scratch* scratch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/scratch_impl.h:47,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/scratch_impl.h:48,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/scratch_impl.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - error_callback
    - scratch
    - checkpoint
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: secp256k1_scratch_apply_checkpoint
    functionSourceFile: /src/secp256k1/src/scratch_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    linkageType: ''
    returnType: void
    signature: void secp256k1_scratch_apply_checkpoint(const secp256k1_callback* error_callback,
      secp256k1_scratch* scratch, size_t checkpoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/scratch_impl.h:59,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/scratch_impl.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - error_callback
    - scratch
    - objects
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: secp256k1_scratch_max_allocation
    functionSourceFile: /src/secp256k1/src/scratch_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_scratch_max_allocation(const secp256k1_callback* error_callback,
      const secp256k1_scratch* scratch, size_t objects)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_TO_ALIGN
      Src: /src/secp256k1/src/scratch_impl.h:77,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/scratch_impl.h:84,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/scratch_impl.h:85,1
    - Dst: memset
      Src: /src/secp256k1/src/scratch_impl.h:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - error_callback
    - scratch
    - size
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: secp256k1_scratch_alloc
    functionSourceFile: /src/secp256k1/src/scratch_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    - ROUND_TO_ALIGN
    - memset
    linkageType: ''
    returnType: void
    signature: void *secp256k1_scratch_alloc(const secp256k1_callback* error_callback,
      secp256k1_scratch* scratch, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __umulh
      Src: /src/secp256k1/src/int128_struct_impl.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - hi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: secp256k1_umul128
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 0
    functionsReached:
    - __umulh
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_umul128(uint64_t a, uint64_t b, uint64_t*
      hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __mulh
      Src: /src/secp256k1/src/int128_struct_impl.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - hi
    argTypes:
    - int64_t
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: secp256k1_mul128
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 0
    functionsReached:
    - __mulh
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_mul128(int64_t a, int64_t b, int64_t* hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - hi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: secp256k1_umul128
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_umul128(uint64_t a, uint64_t b, uint64_t*
      hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - hi
    argTypes:
    - int64_t
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: secp256k1_mul128
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_mul128(int64_t a, int64_t b, int64_t* hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - hi
    - lo
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: secp256k1_u128_load
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_load(secp256k1_uint128 *r, uint64_t
      hi, uint64_t lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_umul128
      Src: /src/secp256k1/src/int128_struct_impl.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: secp256k1_u128_mul
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_umul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_mul(secp256k1_uint128 *r, uint64_t
      a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_umul128
      Src: /src/secp256k1/src/int128_struct_impl.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: secp256k1_u128_accum_mul
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_umul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_accum_mul(secp256k1_uint128 *r, uint64_t
      a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: secp256k1_u128_accum_u64
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_accum_u64(secp256k1_uint128 *r, uint64_t
      a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:78,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:84,1
    - Dst: __shiftright128
      Src: /src/secp256k1/src/int128_struct_impl.h:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_uint128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: secp256k1_u128_rshift
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - __shiftright128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_rshift(secp256k1_uint128 *r, unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: secp256k1_u128_to_u64
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_to_u64(const secp256k1_uint128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: secp256k1_u128_hi_u64
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_hi_u64(const secp256k1_uint128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: secp256k1_u128_from_u64
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_from_u64(secp256k1_uint128 *r, uint64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_uint128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: secp256k1_u128_check_bits
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_check_bits(const secp256k1_uint128
      *r, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - hi
    - lo
    argTypes:
    - secp256k1_int128*
    - int64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: secp256k1_i128_load
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_load(secp256k1_int128 *r, int64_t hi,
      uint64_t lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_mul128
      Src: /src/secp256k1/src/int128_struct_impl.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: secp256k1_i128_mul
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_mul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_mul(secp256k1_int128 *r, int64_t a,
      int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_mul128
      Src: /src/secp256k1/src/int128_struct_impl.h:125,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:133,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: secp256k1_i128_accum_mul
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_mul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_accum_mul(secp256k1_int128 *r, int64_t
      a, int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_mul128
      Src: /src/secp256k1/src/int128_struct_impl.h:144,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:150,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: secp256k1_i128_dissip_mul
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_mul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_dissip_mul(secp256k1_int128 *r, int64_t
      a, int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/int128_struct_impl.h:161,1
    - Dst: secp256k1_i128_dissip_mul
      Src: /src/secp256k1/src/int128_struct_impl.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - r
    - a
    - b
    - c
    - d
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: secp256k1_i128_det
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_i128_mul
    - secp256k1_i128_dissip_mul
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_det(secp256k1_int128 *r, int64_t a,
      int64_t b, int64_t c, int64_t d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_int128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: secp256k1_i128_rshift
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_rshift(secp256k1_int128 *r, unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: secp256k1_i128_to_u64
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_to_u64(const secp256k1_int128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:185,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/int128_struct_impl.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: secp256k1_i128_to_i64
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_to_i64(const secp256k1_int128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_int128*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: secp256k1_i128_from_i64
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_from_i64(secp256k1_int128 *r, int64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: secp256k1_i128_eq_var
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_eq_var(const secp256k1_int128 *a, const
      secp256k1_int128 *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:199,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/int128_struct_impl.h:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - r
    - n
    - sign
    argTypes:
    - secp256k1_int128*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: secp256k1_i128_check_pow2
    functionSourceFile: /src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_check_pow2(const secp256k1_int128 *r,
      unsigned int n, int sign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: secp256k1_scalar_set_int
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 12
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned
      int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:55,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:56,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: secp256k1_scalar_get_bits_limb32
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_limb32(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:63,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:64,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:65,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:68,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: secp256k1_scalar_get_bits_var
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_get_bits_limb32
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_var(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: secp256k1_scalar_check_overflow
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_check_overflow(const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:95,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - r
    - overflow
    argTypes:
    - secp256k1_scalar*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: secp256k1_scalar_reduce
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_reduce(secp256k1_scalar *r, uint32_t
      overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:121,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:122,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/secp256k1/src/scalar_8x32_impl.h:139,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:140,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/secp256k1/src/scalar_8x32_impl.h:141,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 145
    functionName: secp256k1_scalar_add
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 20
    functionsReached:
    - secp256k1_scalar_reduce
    - VERIFY_CHECK
    - secp256k1_scalar_check_overflow
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:150,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:151,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:171,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 3
    argNames:
    - r
    - bit
    - flag
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: secp256k1_scalar_cadd_bit
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit,
      int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:177,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:178,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:179,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:180,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:181,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:182,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:183,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:184,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/secp256k1/src/scalar_8x32_impl.h:185,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/secp256k1/src/scalar_8x32_impl.h:185,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - r
    - b32
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: secp256k1_scalar_set_b32
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_scalar_reduce
    - secp256k1_read_be32
    - secp256k1_scalar_check_overflow
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char
      *b32, int *overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:194,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:196,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:197,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:198,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:199,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:200,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:201,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:202,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - bin
    - a
    argTypes:
    - unsigned char*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: secp256k1_scalar_get_b32
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_write_be32
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar*
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: secp256k1_scalar_is_zero
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 10
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_zero(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_8x32_impl.h:213,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:215,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: secp256k1_scalar_negate
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 22
    functionsReached:
    - secp256k1_scalar_is_zero
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:253,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:279,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 282
    functionName: secp256k1_scalar_half
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_half(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: secp256k1_scalar_is_one
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 3
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_one(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 308
    functionName: secp256k1_scalar_is_high
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_is_high(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_8x32_impl.h:315,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:317,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - r
    - flag
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: secp256k1_scalar_cond_negate
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_is_zero
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: muladd
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: muladd(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: muladd_fast
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: muladd_fast(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: sumadd
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sumadd(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: sumadd_fast
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sumadd_fast(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: extract
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extract(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: extract_fast
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extract_fast(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:416,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:417,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:418,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:419,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:420,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:421,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:422,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:423,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:424,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:425,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:426,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:427,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:428,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:429,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:430,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:431,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:432,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:433,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:434,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:435,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:436,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:437,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:438,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:439,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:440,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:441,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:442,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:443,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:444,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:445,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:446,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:447,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:448,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:449,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:450,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:451,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:452,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:453,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:454,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:455,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:456,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:457,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:458,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:459,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:460,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:461,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:462,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:463,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:464,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:465,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:466,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:467,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:468,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:469,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:470,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:471,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:472,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:473,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:474,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:475,1
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:481,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:482,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:483,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:484,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:485,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:486,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:487,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:488,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:489,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:490,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:491,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:492,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:493,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:494,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:495,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:496,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:497,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:498,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:499,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:500,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:501,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:502,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:503,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:504,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:505,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:506,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:507,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:508,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:509,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:510,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:511,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:512,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:513,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:514,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:515,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:516,1
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:517,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:518,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:519,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:521,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/secp256k1/src/scalar_8x32_impl.h:543,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/secp256k1/src/scalar_8x32_impl.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 134
    argCount: 2
    argNames:
    - r
    - l
    argTypes:
    - secp256k1_scalar*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 544
    functionName: secp256k1_scalar_reduce_512
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - sumadd
    - secp256k1_scalar_check_overflow
    - extract
    - muladd_fast
    - secp256k1_scalar_reduce
    - sumadd_fast
    - extract_fast
    - muladd
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_reduce_512(secp256k1_scalar *r, const uint32_t
      *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:551,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:552,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:553,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:554,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:555,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:556,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:557,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:558,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:559,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:560,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:561,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:562,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:563,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:564,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:565,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:566,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:567,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:568,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:569,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:570,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:571,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:572,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:573,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:574,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:575,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:576,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:577,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:578,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:579,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:580,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:581,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:582,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:583,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:584,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:585,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:586,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:587,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:588,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:589,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:590,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:591,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:592,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:593,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:594,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:595,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:596,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:597,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:598,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:599,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:600,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:601,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:602,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:603,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:604,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:605,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:606,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:607,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:608,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:609,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:610,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:611,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:612,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:613,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:614,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:615,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:616,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:617,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:618,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:619,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:620,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:621,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:622,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:623,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:624,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:625,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_8x32_impl.h:626,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_8x32_impl.h:627,1
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:628,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_8x32_impl.h:629,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 3
    argNames:
    - l
    - a
    - b
    argTypes:
    - uint32_t*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 632
    functionName: secp256k1_scalar_mul_512
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - extract
    - muladd_fast
    - extract_fast
    - muladd
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul_512(uint32_t *l, const secp256k1_scalar *a,
      const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:643,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:644,1
    - Dst: secp256k1_scalar_mul_512
      Src: /src/secp256k1/src/scalar_8x32_impl.h:646,1
    - Dst: secp256k1_scalar_reduce_512
      Src: /src/secp256k1/src/scalar_8x32_impl.h:647,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 650
    functionName: secp256k1_scalar_mul
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 10
    functionsReached:
    - secp256k1_scalar_reduce_512
    - secp256k1_scalar_mul_512
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:653,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:672,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - r1
    - r2
    - k
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 674
    functionName: secp256k1_scalar_split_128
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar
      *r2, const secp256k1_scalar *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:677,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: secp256k1_scalar_eq
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 11
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_eq(const secp256k1_scalar *a, const
      secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:688,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:689,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:690,1
    - Dst: secp256k1_scalar_mul_512
      Src: /src/secp256k1/src/scalar_8x32_impl.h:692,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/secp256k1/src/scalar_8x32_impl.h:704,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - r
    - a
    - b
    - shift
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 707
    functionName: secp256k1_scalar_mul_shift_var
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_cadd_bit
    - VERIFY_CHECK
    - secp256k1_scalar_mul_512
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_mul_shift_var(secp256k1_scalar *r,
      const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:712,1
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:713,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 727
    functionName: secp256k1_scalar_cmov
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_cmov(secp256k1_scalar *r, const secp256k1_scalar
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:736,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:737,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:738,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:739,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:740,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:741,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:742,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:743,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:744,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_modinv32_signed30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 756
    functionName: secp256k1_scalar_from_signed30
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_from_signed30(secp256k1_scalar *r, const secp256k1_modinv32_signed30
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 773
    functionName: secp256k1_scalar_to_signed30
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_to_signed30(secp256k1_modinv32_signed30 *r, const
      secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_8x32_impl.h:783,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:785,1
    - Dst: secp256k1_scalar_to_signed30
      Src: /src/secp256k1/src/scalar_8x32_impl.h:787,1
    - Dst: secp256k1_modinv32
      Src: /src/secp256k1/src/scalar_8x32_impl.h:788,1
    - Dst: secp256k1_scalar_from_signed30
      Src: /src/secp256k1/src/scalar_8x32_impl.h:789,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:791,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:792,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_8x32_impl.h:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 793
    functionName: secp256k1_scalar_inverse
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_to_signed30
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_modinv32
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_from_signed30
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_8x32_impl.h:798,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:800,1
    - Dst: secp256k1_scalar_to_signed30
      Src: /src/secp256k1/src/scalar_8x32_impl.h:802,1
    - Dst: secp256k1_modinv32_var
      Src: /src/secp256k1/src/scalar_8x32_impl.h:803,1
    - Dst: secp256k1_scalar_from_signed30
      Src: /src/secp256k1/src/scalar_8x32_impl.h:804,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:806,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_8x32_impl.h:807,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_8x32_impl.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 808
    functionName: secp256k1_scalar_inverse_var
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_to_signed30
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_modinv32_var
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_from_signed30
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_8x32_impl.h:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 814
    functionName: secp256k1_scalar_is_even
    functionSourceFile: /src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 1
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_even(const secp256k1_scalar *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: secp256k1_modinv64_abs
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int64_t
    signature: int64_t secp256k1_modinv64_abs(int64_t v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_from_i64
      Src: /src/secp256k1/src/modinv64_impl.h:45,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:47,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:48,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:48,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:50,1
    - Dst: secp256k1_i128_from_i64
      Src: /src/secp256k1/src/modinv64_impl.h:51,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/modinv64_impl.h:51,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:52,1
    - Dst: secp256k1_i128_eq_var
      Src: /src/secp256k1/src/modinv64_impl.h:52,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/modinv64_impl.h:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - r
    - a
    - alen
    - factor
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_signed62*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: secp256k1_modinv64_mul_62
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_i128_from_i64
    - secp256k1_i128_accum_mul
    - secp256k1_i128_eq_var
    - secp256k1_i128_to_i64
    - secp256k1_i128_rshift
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_mul_62(secp256k1_modinv64_signed62 *r, const
      secp256k1_modinv64_signed62 *a, int alen, int64_t factor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv64_mul_62
      Src: /src/secp256k1/src/modinv64_impl.h:60,1
    - Dst: secp256k1_modinv64_mul_62
      Src: /src/secp256k1/src/modinv64_impl.h:61,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:64,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - a
    - alen
    - b
    - factor
    argTypes:
    - secp256k1_modinv64_signed62*
    - int
    - secp256k1_modinv64_signed62*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: secp256k1_modinv64_mul_cmp_62
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_modinv64_mul_62
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_modinv64_mul_cmp_62(const secp256k1_modinv64_signed62
      *a, int alen, const secp256k1_modinv64_signed62 *b, int64_t factor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_det
      Src: /src/secp256k1/src/modinv64_impl.h:77,1
    - Dst: secp256k1_i128_check_pow2
      Src: /src/secp256k1/src/modinv64_impl.h:78,1
    - Dst: secp256k1_i128_check_pow2
      Src: /src/secp256k1/src/modinv64_impl.h:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - t
    - n
    - abs
    argTypes:
    - secp256k1_modinv64_trans2x2*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: secp256k1_modinv64_det_check_pow2
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_i128_det
    - secp256k1_i128_check_pow2
    linkageType: ''
    returnType: int
    signature: int secp256k1_modinv64_det_check_pow2(const secp256k1_modinv64_trans2x2
      *t, unsigned int n, int abs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:97,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:98,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:100,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:100,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:101,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:101,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:147,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:148,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:149,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:150,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:151,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:152,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:152,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:153,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 3
    argNames:
    - r
    - sign
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - int64_t
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 154
    functionName: secp256k1_modinv64_normalize_62
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_normalize_62(secp256k1_modinv64_signed62 *r,
      int64_t sign, const secp256k1_modinv64_modinfo *modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:181,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:182,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:183,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:210,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:224,1
    - Dst: secp256k1_modinv64_det_check_pow2
      Src: /src/secp256k1/src/modinv64_impl.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 4
    argNames:
    - zeta
    - f0
    - g0
    - t
    argTypes:
    - int64_t
    - uint64_t
    - uint64_t
    - secp256k1_modinv64_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 227
    functionName: secp256k1_modinv64_divsteps_59
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_modinv64_det_check_pow2
    - VERIFY_CHECK
    linkageType: ''
    returnType: int64_t
    signature: int64_t secp256k1_modinv64_divsteps_59(int64_t zeta, uint64_t f0, uint64_t
      g0, secp256k1_modinv64_trans2x2 *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ctz64_var
      Src: /src/secp256k1/src/modinv64_impl.h:248,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:257,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:258,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:259,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:260,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:262,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:274,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:284,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:295,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:307,1
    - Dst: secp256k1_modinv64_det_check_pow2
      Src: /src/secp256k1/src/modinv64_impl.h:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 4
    argNames:
    - eta
    - f0
    - g0
    - t
    argTypes:
    - int64_t
    - uint64_t
    - uint64_t
    - secp256k1_modinv64_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 310
    functionName: secp256k1_modinv64_divsteps_62_var
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_modinv64_det_check_pow2
    - VERIFY_CHECK
    - secp256k1_ctz64_var
    linkageType: ''
    returnType: int64_t
    signature: int64_t secp256k1_modinv64_divsteps_62_var(int64_t eta, uint64_t f0,
      uint64_t g0, secp256k1_modinv64_trans2x2 *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ctz64_var
      Src: /src/secp256k1/src/modinv64_impl.h:335,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:347,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:348,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:349,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:350,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:365,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:375,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:386,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:398,1
    - Dst: secp256k1_modinv64_det_check_pow2
      Src: /src/secp256k1/src/modinv64_impl.h:398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 5
    argNames:
    - eta
    - f0
    - g0
    - t
    - jacp
    argTypes:
    - int64_t
    - uint64_t
    - uint64_t
    - secp256k1_modinv64_trans2x2*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 402
    functionName: secp256k1_modinv64_posdivsteps_62_var
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_modinv64_det_check_pow2
    - VERIFY_CHECK
    - secp256k1_ctz64_var
    linkageType: ''
    returnType: int64_t
    signature: int64_t secp256k1_modinv64_posdivsteps_62_var(int64_t eta, uint64_t
      f0, uint64_t g0, secp256k1_modinv64_trans2x2 *t, int *jacp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:418,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:418,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:419,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:419,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:420,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:420,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:421,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:421,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:422,1
    - Dst: secp256k1_modinv64_abs
      Src: /src/secp256k1/src/modinv64_impl.h:422,1
    - Dst: secp256k1_modinv64_abs
      Src: /src/secp256k1/src/modinv64_impl.h:422,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:423,1
    - Dst: secp256k1_modinv64_abs
      Src: /src/secp256k1/src/modinv64_impl.h:423,1
    - Dst: secp256k1_modinv64_abs
      Src: /src/secp256k1/src/modinv64_impl.h:423,1
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/modinv64_impl.h:431,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:432,1
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/modinv64_impl.h:433,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:434,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:436,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:437,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:439,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:440,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:442,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:442,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:442,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:443,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:443,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:443,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:445,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:446,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:447,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:448,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:450,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:451,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:453,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:453,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:454,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:454,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:456,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:457,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:458,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:459,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:461,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:462,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:464,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:464,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:465,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:465,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:467,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:468,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:469,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:470,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:472,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:473,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:475,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:475,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:476,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:476,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:478,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:479,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:480,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:481,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:482,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:483,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:484,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:484,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:485,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:485,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/modinv64_impl.h:487,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/modinv64_impl.h:488,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:490,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:490,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:491,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:491,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:492,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:492,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:493,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 4
    argNames:
    - d
    - e
    - t
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_trans2x2*
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 494
    functionName: secp256k1_modinv64_update_de_62
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    - secp256k1_i128_to_i64
    - secp256k1_i128_rshift
    - secp256k1_i128_accum_mul
    - secp256k1_modinv64_abs
    - secp256k1_i128_mul
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_update_de_62(secp256k1_modinv64_signed62 *d,
      secp256k1_modinv64_signed62 *e, const secp256k1_modinv64_trans2x2 *t, const
      secp256k1_modinv64_modinfo* modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/modinv64_impl.h:507,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:508,1
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/modinv64_impl.h:509,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:510,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:512,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:512,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:512,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:513,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:513,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:513,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:515,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:516,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:517,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:518,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:519,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:519,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:520,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:520,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:522,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:523,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:524,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:525,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:526,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:526,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:527,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:527,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:529,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:530,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:531,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:532,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:533,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:533,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:534,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:534,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:536,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:537,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:538,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:539,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:540,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:540,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:541,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:541,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/modinv64_impl.h:543,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/modinv64_impl.h:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 3
    argNames:
    - f
    - g
    - t
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 545
    functionName: secp256k1_modinv64_update_fg_62
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_i128_rshift
    - secp256k1_i128_accum_mul
    - secp256k1_i128_to_i64
    - secp256k1_i128_mul
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_update_fg_62(secp256k1_modinv64_signed62 *f,
      secp256k1_modinv64_signed62 *g, const secp256k1_modinv64_trans2x2 *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:559,1
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/modinv64_impl.h:563,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:564,1
    - Dst: secp256k1_i128_mul
      Src: /src/secp256k1/src/modinv64_impl.h:565,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:566,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:568,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:568,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:568,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:569,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:569,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:569,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:575,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:576,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:577,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/secp256k1/src/modinv64_impl.h:578,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:579,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:579,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/secp256k1/src/modinv64_impl.h:580,1
    - Dst: secp256k1_i128_rshift
      Src: /src/secp256k1/src/modinv64_impl.h:580,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/modinv64_impl.h:583,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/secp256k1/src/modinv64_impl.h:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - len
    - f
    - g
    - t
    argTypes:
    - int
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 585
    functionName: secp256k1_modinv64_update_fg_62_var
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_i128_accum_mul
    - secp256k1_i128_mul
    - secp256k1_i128_to_i64
    - secp256k1_i128_rshift
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_update_fg_62_var(int len, secp256k1_modinv64_signed62
      *f, secp256k1_modinv64_signed62 *g, const secp256k1_modinv64_trans2x2 *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv64_divsteps_59
      Src: /src/secp256k1/src/modinv64_impl.h:601,1
    - Dst: secp256k1_modinv64_update_de_62
      Src: /src/secp256k1/src/modinv64_impl.h:603,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:605,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:605,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:606,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:606,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:607,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:607,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:608,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:608,1
    - Dst: secp256k1_modinv64_update_fg_62
      Src: /src/secp256k1/src/modinv64_impl.h:610,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:612,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:612,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:613,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:613,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:614,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:614,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:615,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:615,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:623,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:623,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:625,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:625,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:626,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:627,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:628,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:629,1
    - Dst: secp256k1_modinv64_normalize_62
      Src: /src/secp256k1/src/modinv64_impl.h:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 634
    functionName: secp256k1_modinv64
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    - secp256k1_modinv64_normalize_62
    - secp256k1_modinv64_update_de_62
    - secp256k1_modinv64_divsteps_59
    - secp256k1_modinv64_update_fg_62
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64(secp256k1_modinv64_signed62 *x, const secp256k1_modinv64_modinfo
      *modinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv64_divsteps_62_var
      Src: /src/secp256k1/src/modinv64_impl.h:654,1
    - Dst: secp256k1_modinv64_update_de_62
      Src: /src/secp256k1/src/modinv64_impl.h:656,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:658,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:658,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:659,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:659,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:660,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:660,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:661,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:661,1
    - Dst: secp256k1_modinv64_update_fg_62_var
      Src: /src/secp256k1/src/modinv64_impl.h:663,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:688,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:689,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:689,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:690,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:690,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:691,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:691,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:692,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:692,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:699,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:699,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:701,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:701,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:702,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:703,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:704,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:705,1
    - Dst: secp256k1_modinv64_normalize_62
      Src: /src/secp256k1/src/modinv64_impl.h:708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 710
    functionName: secp256k1_modinv64_var
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    - secp256k1_modinv64_normalize_62
    - secp256k1_modinv64_divsteps_62_var
    - secp256k1_modinv64_update_de_62
    - secp256k1_modinv64_update_fg_62_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_var(secp256k1_modinv64_signed62 *x, const secp256k1_modinv64_modinfo
      *modinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:732,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:737,1
    - Dst: secp256k1_modinv64_posdivsteps_62_var
      Src: /src/secp256k1/src/modinv64_impl.h:742,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:744,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:744,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:745,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:745,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:746,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:746,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:747,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:747,1
    - Dst: secp256k1_modinv64_update_fg_62_var
      Src: /src/secp256k1/src/modinv64_impl.h:749,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:770,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:770,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:771,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:771,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:772,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:772,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv64_impl.h:773,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/secp256k1/src/modinv64_impl.h:773,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 778
    functionName: secp256k1_jacobi64_maybe_var
    functionSourceFile: /src/secp256k1/src/modinv64_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    - secp256k1_modinv64_update_fg_62_var
    - secp256k1_modinv64_posdivsteps_62_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_jacobi64_maybe_var(const secp256k1_modinv64_signed62
      *x, const secp256k1_modinv64_modinfo *modinfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecdsa_impl.h:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - len
    - sigp
    - sigend
    argTypes:
    - size_t*
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 88
    functionName: secp256k1_der_read_len
    functionSourceFile: /src/secp256k1/src/ecdsa_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_der_read_len(size_t *len, const unsigned char **sigp,
      const unsigned char *sigend)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_der_read_len
      Src: /src/secp256k1/src/ecdsa_impl.h:100,1
    - Dst: memcpy
      Src: /src/secp256k1/src/ecdsa_impl.h:131,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/ecdsa_impl.h:132,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/ecdsa_impl.h:135,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - r
    - sig
    - sigend
    argTypes:
    - secp256k1_scalar*
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 139
    functionName: secp256k1_der_parse_integer
    functionSourceFile: /src/secp256k1/src/ecdsa_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_set_int
    - secp256k1_der_read_len
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_der_parse_integer(secp256k1_scalar *r, const unsigned
      char **sig, const unsigned char *sigend)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_der_read_len
      Src: /src/secp256k1/src/ecdsa_impl.h:148,1
    - Dst: secp256k1_der_parse_integer
      Src: /src/secp256k1/src/ecdsa_impl.h:156,1
    - Dst: secp256k1_der_parse_integer
      Src: /src/secp256k1/src/ecdsa_impl.h:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - rr
    - rs
    - sig
    - size
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: secp256k1_ecdsa_sig_parse
    functionSourceFile: /src/secp256k1/src/ecdsa_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_der_parse_integer
    - secp256k1_der_read_len
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_parse(secp256k1_scalar *rr, secp256k1_scalar
      *rs, const unsigned char *sig, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/ecdsa_impl.h:175,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/ecdsa_impl.h:176,1
    - Dst: memcpy
      Src: /src/secp256k1/src/ecdsa_impl.h:188,1
    - Dst: memcpy
      Src: /src/secp256k1/src/ecdsa_impl.h:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - sig
    - size
    - ar
    - as
    argTypes:
    - unsigned char*
    - size_t*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: secp256k1_ecdsa_sig_serialize
    functionSourceFile: /src/secp256k1/src/ecdsa_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_serialize(unsigned char *sig, size_t *size,
      const secp256k1_scalar* ar, const secp256k1_scalar* as)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/ecdsa_impl.h:204,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/ecdsa_impl.h:204,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/secp256k1/src/ecdsa_impl.h:208,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/ecdsa_impl.h:209,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/ecdsa_impl.h:210,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/ecdsa_impl.h:211,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/ecdsa_impl.h:212,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/ecdsa_impl.h:213,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/ecdsa_impl.h:221,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/ecdsa_impl.h:222,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/ecdsa_impl.h:224,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/ecdsa_impl.h:225,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/ecdsa_impl.h:226,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/ecdsa_impl.h:229,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/ecdsa_impl.h:231,1
    - Dst: secp256k1_gej_eq_x_var
      Src: /src/secp256k1/src/ecdsa_impl.h:249,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/secp256k1/src/ecdsa_impl.h:253,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/ecdsa_impl.h:257,1
    - Dst: secp256k1_gej_eq_x_var
      Src: /src/secp256k1/src/ecdsa_impl.h:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - sigr
    - sigs
    - pubkey
    - message
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 264
    functionName: secp256k1_ecdsa_sig_verify
    functionSourceFile: /src/secp256k1/src/ecdsa_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_gej_is_infinity
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_fe_add
    - secp256k1_fe_get_b32
    - secp256k1_gej_set_ge
    - secp256k1_fe_cmp_var
    - secp256k1_scalar_mul
    - secp256k1_ecmult
    - secp256k1_fe_normalize
    - secp256k1_scalar_inverse_var
    - secp256k1_scalar_is_zero
    - secp256k1_gej_eq_x_var
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_verify(const secp256k1_scalar *sigr, const
      secp256k1_scalar *sigs, const secp256k1_ge *pubkey, const secp256k1_scalar *message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/ecdsa_impl.h:274,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/ecdsa_impl.h:275,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/ecdsa_impl.h:276,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/ecdsa_impl.h:277,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/ecdsa_impl.h:278,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/ecdsa_impl.h:279,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/ecdsa_impl.h:284,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/ecdsa_impl.h:286,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/ecdsa_impl.h:287,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/secp256k1/src/ecdsa_impl.h:288,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/ecdsa_impl.h:289,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/ecdsa_impl.h:290,1
    - Dst: secp256k1_gej_clear
      Src: /src/secp256k1/src/ecdsa_impl.h:291,1
    - Dst: secp256k1_ge_clear
      Src: /src/secp256k1/src/ecdsa_impl.h:292,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/secp256k1/src/ecdsa_impl.h:293,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/secp256k1/src/ecdsa_impl.h:294,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/ecdsa_impl.h:301,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/ecdsa_impl.h:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 7
    argNames:
    - ctx
    - sigr
    - sigs
    - seckey
    - message
    - nonce
    - recid
    argTypes:
    - secp256k1_ecmult_gen_context*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 302
    functionName: secp256k1_ecdsa_sig_sign
    functionSourceFile: /src/secp256k1/src/ecdsa_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_clear
    - secp256k1_ge_clear
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_inverse
    - secp256k1_fe_get_b32
    - secp256k1_ecmult_gen
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_high
    - secp256k1_scalar_cond_negate
    - secp256k1_fe_normalize
    - secp256k1_scalar_is_zero
    - secp256k1_fe_is_odd
    - secp256k1_gej_clear
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_sign(const secp256k1_ecmult_gen_context *ctx,
      secp256k1_scalar *sigr, secp256k1_scalar *sigs, const secp256k1_scalar *seckey,
      const secp256k1_scalar *message, const secp256k1_scalar *nonce, int *recid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: STR_
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: STR
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: DEBUG_CONFIG_MSG
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_CONFIG_MSG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DEBUG_CONFIG_DEF
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_CONFIG_DEF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: PRINT_BUF
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_BUF(buf, len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/secp256k1/src/util.h:36,1
    - Dst: printf
      Src: /src/secp256k1/src/util.h:39,1
    - Dst: printf
      Src: /src/secp256k1/src/util.h:41,1
    - Dst: printf
      Src: /src/secp256k1/src/util.h:43,1
    - Dst: printf
      Src: /src/secp256k1/src/util.h:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: print_buf_plain
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_buf_plain(const unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: STATIC_ASSERT
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_ASSERT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_callback*::fn
      Src: /src/secp256k1/src/util.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - text
    argTypes:
    - secp256k1_callback*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: secp256k1_callback_call
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 5
    functionsReached:
    - secp256k1_callback*::fn
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_callback_call(const secp256k1_callback *
      const cb, const char * const text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/secp256k1/src/util.h:99,1
    - Dst: abort
      Src: /src/secp256k1/src/util.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: secp256k1_default_illegal_callback_fn
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: void secp256k1_default_illegal_callback_fn(const char* str, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/secp256k1/src/util.h:104,1
    - Dst: abort
      Src: /src/secp256k1/src/util.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: secp256k1_default_error_callback_fn
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: void secp256k1_default_error_callback_fn(const char* str, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: TEST_FAILURE
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAILURE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: TEST_FAILURE
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAILURE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: EXPECT
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(x,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: EXPECT
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(x,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: CHECK
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 180
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: CHECK
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 180
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/secp256k1/src/util.h:163,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/util.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cb
    - size
    argTypes:
    - secp256k1_callback*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: checked_malloc
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 5
    functionsReached:
    - secp256k1_callback_call
    - malloc
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE *checked_malloc(const secp256k1_callback* cb, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: CEIL_DIV
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CEIL_DIV(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: ROUND_TO_ALIGN
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO_ALIGN(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - len
    - flag
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: secp256k1_memczero
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_memczero(void *s, size_t len, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/secp256k1/src/util.h:226,1
    - Dst: memset
      Src: /src/secp256k1/src/util.h:239,1
    - Dst: volatile_memset
      Src: /src/secp256k1/src/util.h:243,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/secp256k1/src/util.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 248
    functionName: secp256k1_memclear
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 4
    functionsReached:
    - memset
    - SecureZeroMemory
    - volatile_memset
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_memclear(void *ptr, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: secp256k1_memcmp_var
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_memcmp_var(const void *s1, const void *s2,
      size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/util.h:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: secp256k1_is_zero_array
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_is_zero_array(const unsigned char *s, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/util.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: secp256k1_int_cmov
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_int_cmov(int *r, const int *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: __has_builtin
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_builtin(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: secp256k1_ctz32_var_debruijn
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ctz32_var_debruijn(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: secp256k1_ctz64_var_debruijn
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ctz64_var_debruijn(uint64_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/util.h:365,1
    - Dst: __has_builtin
      Src: /src/secp256k1/src/util.h:366,1
    - Dst: SECP256K1_GNUC_PREREQ
      Src: /src/secp256k1/src/util.h:366,1
    - Dst: __builtin_ctz
      Src: /src/secp256k1/src/util.h:369,1
    - Dst: __has_builtin
      Src: /src/secp256k1/src/util.h:372,1
    - Dst: SECP256K1_GNUC_PREREQ
      Src: /src/secp256k1/src/util.h:372,1
    - Dst: __builtin_ctzl
      Src: /src/secp256k1/src/util.h:374,1
    - Dst: secp256k1_ctz32_var_debruijn
      Src: /src/secp256k1/src/util.h:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 379
    functionName: secp256k1_ctz32_var
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached:
    - __builtin_ctzl
    - VERIFY_CHECK
    - secp256k1_ctz32_var_debruijn
    - __builtin_ctz
    - __has_builtin
    - SECP256K1_GNUC_PREREQ
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ctz32_var(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/util.h:383,1
    - Dst: __has_builtin
      Src: /src/secp256k1/src/util.h:384,1
    - Dst: SECP256K1_GNUC_PREREQ
      Src: /src/secp256k1/src/util.h:384,1
    - Dst: __builtin_ctzl
      Src: /src/secp256k1/src/util.h:387,1
    - Dst: __has_builtin
      Src: /src/secp256k1/src/util.h:390,1
    - Dst: SECP256K1_GNUC_PREREQ
      Src: /src/secp256k1/src/util.h:390,1
    - Dst: __builtin_ctzll
      Src: /src/secp256k1/src/util.h:392,1
    - Dst: secp256k1_ctz64_var_debruijn
      Src: /src/secp256k1/src/util.h:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 397
    functionName: secp256k1_ctz64_var
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 3
    functionsReached:
    - __builtin_ctzl
    - VERIFY_CHECK
    - __builtin_ctzll
    - secp256k1_ctz64_var_debruijn
    - __has_builtin
    - SECP256K1_GNUC_PREREQ
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ctz64_var(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: secp256k1_read_be32
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_read_be32(const unsigned char* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: secp256k1_write_be32
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_write_be32(unsigned char* p, uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: secp256k1_read_be64
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_read_be64(const unsigned char* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - unsigned char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: secp256k1_write_be64
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_write_be64(unsigned char* p, uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _rotr
      Src: /src/secp256k1/src/util.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - by
    argTypes:
    - uint32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: secp256k1_rotr32
    functionSourceFile: /src/secp256k1/src/util.h
    functionUses: 1
    functionsReached:
    - _rotr
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_rotr32(const uint32_t x, const unsigned
      int by)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - r
    - a
    - alen
    - factor
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_signed30*
    - int
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: secp256k1_modinv32_mul_30
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_mul_30(secp256k1_modinv32_signed30 *r, const
      secp256k1_modinv32_signed30 *a, int alen, int32_t factor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv32_mul_30
      Src: /src/secp256k1/src/modinv32_impl.h:44,1
    - Dst: secp256k1_modinv32_mul_30
      Src: /src/secp256k1/src/modinv32_impl.h:45,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:48,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - a
    - alen
    - b
    - factor
    argTypes:
    - secp256k1_modinv32_signed30*
    - int
    - secp256k1_modinv32_signed30*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: secp256k1_modinv32_mul_cmp_30
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv32_mul_30
    linkageType: ''
    returnType: int
    signature: int secp256k1_modinv32_mul_cmp_30(const secp256k1_modinv32_signed30
      *a, int alen, const secp256k1_modinv32_signed30 *b, int32_t factor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:73,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:74,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:76,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:76,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:77,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:77,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:147,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:148,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:149,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:150,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:151,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:152,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:153,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:154,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:155,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:156,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:156,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:157,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 89
    argCount: 3
    argNames:
    - r
    - sign
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - int32_t
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 158
    functionName: secp256k1_modinv32_normalize_30
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_normalize_30(secp256k1_modinv32_signed30 *r,
      int32_t sign, const secp256k1_modinv32_modinfo *modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:192,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:193,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:194,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:221,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 4
    argNames:
    - zeta
    - f0
    - g0
    - t
    argTypes:
    - int32_t
    - uint32_t
    - uint32_t
    - secp256k1_modinv32_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 234
    functionName: secp256k1_modinv32_divsteps_30
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t secp256k1_modinv32_divsteps_30(int32_t zeta, uint32_t f0, uint32_t
      g0, secp256k1_modinv32_trans2x2 *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ctz32_var
      Src: /src/secp256k1/src/modinv32_impl.h:270,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:279,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:280,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:281,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:282,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:284,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:298,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:306,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - eta
    - f0
    - g0
    - t
    argTypes:
    - int32_t
    - uint32_t
    - uint32_t
    - secp256k1_modinv32_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 319
    functionName: secp256k1_modinv32_divsteps_30_var
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ctz32_var
    linkageType: ''
    returnType: int32_t
    signature: int32_t secp256k1_modinv32_divsteps_30_var(int32_t eta, uint32_t f0,
      uint32_t g0, secp256k1_modinv32_trans2x2 *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ctz32_var
      Src: /src/secp256k1/src/modinv32_impl.h:344,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:356,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:357,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:358,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:359,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:376,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:384,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - eta
    - f0
    - g0
    - t
    - jacp
    argTypes:
    - int32_t
    - uint32_t
    - uint32_t
    - secp256k1_modinv32_trans2x2*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 399
    functionName: secp256k1_modinv32_posdivsteps_30_var
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ctz32_var
    linkageType: ''
    returnType: int32_t
    signature: int32_t secp256k1_modinv32_posdivsteps_30_var(int32_t eta, uint32_t
      f0, uint32_t g0, secp256k1_modinv32_trans2x2 *t, int *jacp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:414,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:414,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:415,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:415,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:416,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:416,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:417,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:417,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:418,1
    - Dst: labs
      Src: /src/secp256k1/src/modinv32_impl.h:418,1
    - Dst: labs
      Src: /src/secp256k1/src/modinv32_impl.h:418,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:419,1
    - Dst: labs
      Src: /src/secp256k1/src/modinv32_impl.h:419,1
    - Dst: labs
      Src: /src/secp256k1/src/modinv32_impl.h:419,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:438,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:439,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:456,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:456,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:457,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:457,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:458,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:458,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:459,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 4
    argNames:
    - d
    - e
    - t
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_trans2x2*
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 460
    functionName: secp256k1_modinv32_update_de_30
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    - labs
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_update_de_30(secp256k1_modinv32_signed30 *d,
      secp256k1_modinv32_signed30 *e, const secp256k1_modinv32_trans2x2 *t, const
      secp256k1_modinv32_modinfo* modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:478,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - f
    - g
    - t
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 493
    functionName: secp256k1_modinv32_update_fg_30
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_update_fg_30(secp256k1_modinv32_signed30 *f,
      secp256k1_modinv32_signed30 *g, const secp256k1_modinv32_trans2x2 *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:507,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:514,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 4
    argNames:
    - len
    - f
    - g
    - t
    argTypes:
    - int
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 529
    functionName: secp256k1_modinv32_update_fg_30_var
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_update_fg_30_var(int len, secp256k1_modinv32_signed30
      *f, secp256k1_modinv32_signed30 *g, const secp256k1_modinv32_trans2x2 *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv32_divsteps_30
      Src: /src/secp256k1/src/modinv32_impl.h:545,1
    - Dst: secp256k1_modinv32_update_de_30
      Src: /src/secp256k1/src/modinv32_impl.h:547,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:549,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:549,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:550,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:550,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:551,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:551,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:552,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:552,1
    - Dst: secp256k1_modinv32_update_fg_30
      Src: /src/secp256k1/src/modinv32_impl.h:554,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:556,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:556,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:557,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:557,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:558,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:558,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:559,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:559,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:567,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:567,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:569,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:569,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:570,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:571,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:572,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:573,1
    - Dst: secp256k1_modinv32_normalize_30
      Src: /src/secp256k1/src/modinv32_impl.h:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 578
    functionName: secp256k1_modinv32
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    - secp256k1_modinv32_normalize_30
    - secp256k1_modinv32_update_de_30
    - secp256k1_modinv32_divsteps_30
    - secp256k1_modinv32_update_fg_30
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32(secp256k1_modinv32_signed30 *x, const secp256k1_modinv32_modinfo
      *modinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv32_divsteps_30_var
      Src: /src/secp256k1/src/modinv32_impl.h:598,1
    - Dst: secp256k1_modinv32_update_de_30
      Src: /src/secp256k1/src/modinv32_impl.h:600,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:603,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:603,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:604,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:604,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:605,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:605,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:606,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:606,1
    - Dst: secp256k1_modinv32_update_fg_30_var
      Src: /src/secp256k1/src/modinv32_impl.h:608,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:633,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:634,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:634,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:635,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:635,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:636,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:636,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:637,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:637,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:644,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:644,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:646,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:646,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:647,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:648,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:649,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:650,1
    - Dst: secp256k1_modinv32_normalize_30
      Src: /src/secp256k1/src/modinv32_impl.h:653,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 655
    functionName: secp256k1_modinv32_var
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    - secp256k1_modinv32_normalize_30
    - secp256k1_modinv32_update_de_30
    - secp256k1_modinv32_update_fg_30_var
    - secp256k1_modinv32_divsteps_30_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_var(secp256k1_modinv32_signed30 *x, const secp256k1_modinv32_modinfo
      *modinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:677,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:682,1
    - Dst: secp256k1_modinv32_posdivsteps_30_var
      Src: /src/secp256k1/src/modinv32_impl.h:687,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:689,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:689,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:690,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:690,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:691,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:691,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:692,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:692,1
    - Dst: secp256k1_modinv32_update_fg_30_var
      Src: /src/secp256k1/src/modinv32_impl.h:694,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:715,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:715,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:716,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:716,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:717,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:717,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modinv32_impl.h:718,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/secp256k1/src/modinv32_impl.h:718,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 723
    functionName: secp256k1_jacobi32_maybe_var
    functionSourceFile: /src/secp256k1/src/modinv32_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    - secp256k1_modinv32_update_fg_30_var
    - secp256k1_modinv32_posdivsteps_30_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_jacobi32_maybe_var(const secp256k1_modinv32_signed30
      *x, const secp256k1_modinv32_modinfo *modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:26,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:27,1
    - Dst: SECP256K1_GE_STORAGE_CONST_GET
      Src: /src/secp256k1/src/precompute_ecmult.c:29,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:33,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/precompute_ecmult.c:34,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:35,1
    - Dst: SECP256K1_GE_STORAGE_CONST_GET
      Src: /src/secp256k1/src/precompute_ecmult.c:37,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:39,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - fp
    - name
    - window_g
    - table
    argTypes:
    - FILE*
    - char*
    - int
    - secp256k1_ge_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: print_table
    functionSourceFile: /src/secp256k1/src/precompute_ecmult.c
    functionUses: 1
    functionsReached:
    - ECMULT_TABLE_SIZE
    - fprintf
    - SECP256K1_GE_STORAGE_CONST_GET
    linkageType: ''
    returnType: void
    signature: void print_table(FILE *fp, const char *name, int window_g, const secp256k1_ge_storage*
      table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/secp256k1/src/precompute_ecmult.c:45,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/precompute_ecmult.c:45,1
    - Dst: malloc
      Src: /src/secp256k1/src/precompute_ecmult.c:46,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/precompute_ecmult.c:46,1
    - Dst: secp256k1_ecmult_compute_two_tables
      Src: /src/secp256k1/src/precompute_ecmult.c:48,1
    - Dst: print_table
      Src: /src/secp256k1/src/precompute_ecmult.c:50,1
    - Dst: print_table
      Src: /src/secp256k1/src/precompute_ecmult.c:51,1
    - Dst: free
      Src: /src/secp256k1/src/precompute_ecmult.c:53,1
    - Dst: free
      Src: /src/secp256k1/src/precompute_ecmult.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fp
    - window_g
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: print_two_tables
    functionSourceFile: /src/secp256k1/src/precompute_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_compute_two_tables
    - print_table
    - malloc
    - ECMULT_TABLE_SIZE
    - free
    linkageType: ''
    returnType: void
    signature: void print_two_tables(FILE *fp, int window_g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/secp256k1/src/precompute_ecmult.c:63,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:65,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:69,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:70,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:71,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:72,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:73,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:74,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:75,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:76,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:77,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:78,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:79,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:80,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:81,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:82,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:83,1
    - Dst: print_two_tables
      Src: /src/secp256k1/src/precompute_ecmult.c:85,1
    - Dst: fprintf
      Src: /src/secp256k1/src/precompute_ecmult.c:87,1
    - Dst: fclose
      Src: /src/secp256k1/src/precompute_ecmult.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/secp256k1/src/precompute_ecmult.c
    functionUses: 0
    functionsReached:
    - fprintf
    - print_two_tables
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ECMULT_TABLE_SIZE
    functionSourceFile: /src/secp256k1/src/ecmult.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ECMULT_TABLE_SIZE(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: SECP256K1_CHECKMEM_NOOP
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_NOOP(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: SECP256K1_CHECKMEM_UNDEFINE
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_UNDEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: SECP256K1_CHECKMEM_DEFINE
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: SECP256K1_CHECKMEM_MSAN_DEFINE
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_MSAN_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: SECP256K1_CHECKMEM_CHECK
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: SECP256K1_CHECKMEM_RUNNING
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_RUNNING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: SECP256K1_CHECKMEM_MSAN_DEFINE
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_MSAN_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: SECP256K1_CHECKMEM_UNDEFINE
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_UNDEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: SECP256K1_CHECKMEM_DEFINE
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: SECP256K1_CHECKMEM_CHECK
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: SECP256K1_CHECKMEM_RUNNING
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_RUNNING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: SECP256K1_CHECKMEM_UNDEFINE
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_UNDEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: SECP256K1_CHECKMEM_DEFINE
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: SECP256K1_CHECKMEM_CHECK
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: SECP256K1_CHECKMEM_RUNNING
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_RUNNING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: SECP256K1_CHECKMEM_CHECK_VERIFY
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK_VERIFY(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: SECP256K1_CHECKMEM_CHECK_VERIFY
    functionSourceFile: /src/secp256k1/src/checkmem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK_VERIFY(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/selftest.h:22,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/selftest.h:23,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/selftest.h:24,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/selftest.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: secp256k1_selftest_sha256
    functionSourceFile: /src/secp256k1/src/selftest.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: int
    signature: int secp256k1_selftest_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest_sha256
      Src: /src/secp256k1/src/selftest.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: secp256k1_selftest_passes
    functionSourceFile: /src/secp256k1/src/selftest.h
    functionUses: 0
    functionsReached:
    - secp256k1_selftest_sha256
    linkageType: ''
    returnType: int
    signature: int secp256k1_selftest_passes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: SECP256K1_FE_CONST_INNER
    functionSourceFile: /src/secp256k1/src/field_5x52.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_CONST_INNER(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: SECP256K1_FE_STORAGE_CONST
    functionSourceFile: /src/secp256k1/src/field_5x52.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_STORAGE_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: SECP256K1_FE_STORAGE_CONST_GET
    functionSourceFile: /src/secp256k1/src/field_5x52.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_STORAGE_CONST_GET(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: SECP256K1_FE_CONST
    functionSourceFile: /src/secp256k1/src/field.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: secp256k1_fe_negate
    functionSourceFile: /src/secp256k1/src/field.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: secp256k1_fe_negate(r, a, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: secp256k1_fe_mul_int
    functionSourceFile: /src/secp256k1/src/field.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: secp256k1_fe_mul_int(r, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: SECP256K1_FE_VERIFY
    functionSourceFile: /src/secp256k1/src/field.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_VERIFY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: SECP256K1_FE_VERIFY_MAGNITUDE
    functionSourceFile: /src/secp256k1/src/field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_VERIFY_MAGNITUDE(a, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/scalar_impl.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: secp256k1_scalar_clear
    functionSourceFile: /src/secp256k1/src/scalar_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_clear(secp256k1_scalar *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/scalar_impl.h:36,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_impl.h:38,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_impl.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - bin
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: secp256k1_scalar_set_b32_seckey
    functionSourceFile: /src/secp256k1/src/scalar_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_is_zero
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_set_b32_seckey(secp256k1_scalar *r, const unsigned
      char *bin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_impl.h:43,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/secp256k1/src/scalar_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: secp256k1_scalar_verify
    functionSourceFile: /src/secp256k1/src/scalar_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_check_overflow
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_verify(const secp256k1_scalar *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/scalar_impl.h:304,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/scalar_impl.h:305,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_impl.h:306,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/scalar_impl.h:306,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/scalar_impl.h:308,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/scalar_impl.h:309,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/scalar_impl.h:310,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_impl.h:311,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/scalar_impl.h:311,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/scalar_impl.h:311,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/scalar_impl.h:313,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/scalar_impl.h:314,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/scalar_impl.h:315,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_impl.h:316,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/scalar_impl.h:316,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/scalar_impl.h:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - r1
    - r2
    - k
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 317
    functionName: secp256k1_scalar_split_lambda_verify
    functionSourceFile: /src/secp256k1/src/scalar_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_add
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_mul
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_split_lambda_verify(const secp256k1_scalar *r1,
      const secp256k1_scalar *r2, const secp256k1_scalar *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: SECP256K1_SCALAR_VERIFY
    functionSourceFile: /src/secp256k1/src/scalar.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_SCALAR_VERIFY(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_odd_multiples_table
      Src: /src/secp256k1/src/ecmult_const_impl.h:47,1
    - Dst: secp256k1_ge_table_set_globalz
      Src: /src/secp256k1/src/ecmult_const_impl.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pre
    - globalz
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_fe*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: secp256k1_ecmult_const_odd_multiples_table_globalz
    functionSourceFile: /src/secp256k1/src/ecmult_const_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ge_table_set_globalz
    - secp256k1_ecmult_odd_multiples_table
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_const_odd_multiples_table_globalz(secp256k1_ge
      *pre, secp256k1_fe *globalz, const secp256k1_gej *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - pre
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: ECMULT_CONST_TABLE_GET_GE
    functionSourceFile: /src/secp256k1/src/ecmult_const_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ECMULT_CONST_TABLE_GET_GE(r,pre,n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/secp256k1/src/ecmult_const_impl.h:192,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/ecmult_const_impl.h:202,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/ecmult_const_impl.h:203,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/ecmult_const_impl.h:208,1
    - Dst: secp256k1_scalar_half
      Src: /src/secp256k1/src/ecmult_const_impl.h:209,1
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/secp256k1/src/ecmult_const_impl.h:210,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/ecmult_const_impl.h:211,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/ecmult_const_impl.h:212,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_const_impl.h:217,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/ecmult_const_impl.h:217,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_const_impl.h:218,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/ecmult_const_impl.h:218,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/ecmult_const_impl.h:228,1
    - Dst: secp256k1_ecmult_const_odd_multiples_table_globalz
      Src: /src/secp256k1/src/ecmult_const_impl.h:229,1
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/secp256k1/src/ecmult_const_impl.h:231,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/secp256k1/src/ecmult_const_impl.h:246,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/secp256k1/src/ecmult_const_impl.h:247,1
    - Dst: ECMULT_CONST_TABLE_GET_GE
      Src: /src/secp256k1/src/ecmult_const_impl.h:251,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/ecmult_const_impl.h:254,1
    - Dst: secp256k1_gej_double
      Src: /src/secp256k1/src/ecmult_const_impl.h:258,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/ecmult_const_impl.h:260,1
    - Dst: ECMULT_CONST_TABLE_GET_GE
      Src: /src/secp256k1/src/ecmult_const_impl.h:262,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/ecmult_const_impl.h:263,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_const_impl.h:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - r
    - a
    - q
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 268
    functionName: secp256k1_ecmult_const
    functionSourceFile: /src/secp256k1/src/ecmult_const_impl.h
    functionUses: 8
    functionsReached:
    - ECMULT_CONST_TABLE_GET_GE
    - secp256k1_scalar_split_lambda
    - secp256k1_scalar_half
    - VERIFY_CHECK
    - secp256k1_ecmult_const_odd_multiples_table_globalz
    - secp256k1_ge_mul_lambda
    - secp256k1_scalar_get_bits_var
    - secp256k1_scalar_get_bits_limb32
    - secp256k1_gej_set_infinity
    - secp256k1_gej_set_ge
    - secp256k1_gej_add_ge
    - SECP256K1_SCALAR_CONST
    - secp256k1_fe_mul
    - secp256k1_gej_double
    - secp256k1_ge_is_infinity
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a,
      const secp256k1_scalar *q)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/ecmult_const_impl.h:346,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_const_impl.h:347,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_const_impl.h:350,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/ecmult_const_impl.h:350,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/ecmult_const_impl.h:351,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_const_impl.h:352,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/ecmult_const_impl.h:353,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_const_impl.h:354,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/ecmult_const_impl.h:355,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_const_impl.h:365,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/ecmult_const_impl.h:366,1
    - Dst: secp256k1_fe_add_int
      Src: /src/secp256k1/src/ecmult_const_impl.h:369,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/ecmult_const_impl.h:372,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/ecmult_const_impl.h:376,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_const_impl.h:380,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/ecmult_const_impl.h:381,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_const_impl.h:385,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/ecmult_const_impl.h:385,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/ecmult_const_impl.h:386,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/ecmult_const_impl.h:387,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/ecmult_const_impl.h:387,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/ecmult_const_impl.h:392,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_const_impl.h:393,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_const_impl.h:394,1
    - Dst: secp256k1_fe_inv
      Src: /src/secp256k1/src/ecmult_const_impl.h:395,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/ecmult_const_impl.h:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 5
    argNames:
    - r
    - n
    - d
    - q
    - known_on_curve
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 399
    functionName: secp256k1_ecmult_const_xonly
    functionSourceFile: /src/secp256k1/src/ecmult_const_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_inv
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY_MAGNITUDE
    - secp256k1_gej_is_infinity
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_fe_add
    - secp256k1_fe_is_square_var
    - secp256k1_ecmult_const
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    - secp256k1_fe_sqr
    - secp256k1_scalar_is_zero
    - secp256k1_fe_mul_int
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_const_xonly(secp256k1_fe* r, const secp256k1_fe
      *n, const secp256k1_fe *d, const secp256k1_scalar *q, int known_on_curve)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/testutil.h:17,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/testutil.h:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: testutil_random_fe
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 3
    functionsReached:
    - testrand256
    - secp256k1_fe_set_b32_limit
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe(secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe
      Src: /src/secp256k1/src/testutil.h:26,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/testutil.h:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nz
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: testutil_random_fe_non_zero
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 3
    functionsReached:
    - secp256k1_fe_is_zero
    - testutil_random_fe
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe_non_zero(secp256k1_fe *nz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand_int
      Src: /src/secp256k1/src/testutil.h:32,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/testutil.h:33,1
    - Dst: secp256k1_fe_set_int
      Src: /src/secp256k1/src/testutil.h:37,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/testutil.h:38,1
    - Dst: secp256k1_fe_mul_int_unchecked
      Src: /src/secp256k1/src/testutil.h:39,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/testutil.h:40,1
    - Dst: CHECK
      Src: /src/secp256k1/src/testutil.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fe
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: testutil_random_fe_magnitude
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 2
    functionsReached:
    - CHECK
    - secp256k1_fe_mul_int_unchecked
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_normalize
    - testrand_int
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe_magnitude(secp256k1_fe *fe, int m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256_test
      Src: /src/secp256k1/src/testutil.h:49,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/testutil.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: testutil_random_fe_test
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 5
    functionsReached:
    - secp256k1_fe_set_b32_limit
    - testrand256_test
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe_test(secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_test
      Src: /src/secp256k1/src/testutil.h:58,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/testutil.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fe
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: testutil_random_fe_non_zero_test
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 3
    functionsReached:
    - secp256k1_fe_is_zero
    - testutil_random_fe_test
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe_non_zero_test(secp256k1_fe *fe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/testutil.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ge
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: testutil_random_ge_x_magnitude
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 1
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_ge_x_magnitude(secp256k1_ge *ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/testutil.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ge
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: testutil_random_ge_y_magnitude
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 1
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_ge_y_magnitude(secp256k1_ge *ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/testutil.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gej
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: testutil_random_gej_x_magnitude
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 1
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_gej_x_magnitude(secp256k1_gej *gej)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/testutil.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gej
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: testutil_random_gej_y_magnitude
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 1
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_gej_y_magnitude(secp256k1_gej *gej)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/secp256k1/src/testutil.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gej
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: testutil_random_gej_z_magnitude
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 1
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_gej_z_magnitude(secp256k1_gej *gej)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_test
      Src: /src/secp256k1/src/testutil.h:85,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/testutil.h:86,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/testutil.h:86,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/testutil.h:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ge
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: testutil_random_ge_test
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 11
    functionsReached:
    - testrand_bits
    - testutil_random_fe_test
    - secp256k1_fe_normalize
    - secp256k1_ge_set_xo_var
    linkageType: ''
    returnType: void
    signature: void testutil_random_ge_test(secp256k1_ge *ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/secp256k1/src/testutil.h:96,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/testutil.h:97,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/testutil.h:98,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/testutil.h:99,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/testutil.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - gej
    - ge
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: testutil_random_ge_jacobian_test
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 1
    functionsReached:
    - testutil_random_fe_non_zero_test
    - secp256k1_fe_sqr
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void testutil_random_ge_jacobian_test(secp256k1_gej *gej, const secp256k1_ge
      *ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/testutil.h:106,1
    - Dst: testutil_random_ge_jacobian_test
      Src: /src/secp256k1/src/testutil.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gej
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: testutil_random_gej_test
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 1
    functionsReached:
    - testutil_random_ge_jacobian_test
    - testutil_random_ge_test
    linkageType: ''
    returnType: void
    signature: void testutil_random_gej_test(secp256k1_gej *gej)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/testutil.h:112,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/testutil.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pk
    argTypes:
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: testutil_random_pubkey_test
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 2
    functionsReached:
    - testutil_random_ge_test
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: void
    signature: void testutil_random_pubkey_test(secp256k1_pubkey *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256_test
      Src: /src/secp256k1/src/testutil.h:120,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/testutil.h:121,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/testutil.h:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - num
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: testutil_random_scalar_order_test
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 14
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_is_zero
    - testrand256_test
    linkageType: ''
    returnType: void
    signature: void testutil_random_scalar_order_test(secp256k1_scalar *num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/testutil.h:133,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/testutil.h:134,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/testutil.h:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - num
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: testutil_random_scalar_order
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 4
    functionsReached:
    - secp256k1_scalar_set_b32
    - testrand256
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void testutil_random_scalar_order(secp256k1_scalar *num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/testutil.h:144,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/testutil.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: testutil_random_scalar_order_b32
    functionSourceFile: /src/secp256k1/src/testutil.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    linkageType: ''
    returnType: void
    signature: void testutil_random_scalar_order_b32(unsigned char *b32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: VERIFY_BITS
    functionSourceFile: /src/secp256k1/src/field_5x52_int128_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_BITS(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: VERIFY_BITS_128
    functionSourceFile: /src/secp256k1/src/field_5x52_int128_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_BITS_128(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:24,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:25,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:26,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:27,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:28,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:29,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:30,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:31,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:32,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:33,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:34,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:35,1
    - Dst: secp256k1_u128_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:43,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:44,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:45,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:46,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:47,1
    - Dst: secp256k1_u128_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:49,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:50,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:52,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:52,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:52,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:53,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:54,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:56,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:56,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:57,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:58,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:61,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:62,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:63,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:64,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:65,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:66,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:68,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:68,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:69,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:71,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:71,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:72,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:73,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:76,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:77,1
    - Dst: secp256k1_u128_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:80,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:81,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:83,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:84,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:85,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:86,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:87,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:89,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:89,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:90,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:91,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:95,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:97,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:98,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:100,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:100,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:101,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:102,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:105,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:106,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:107,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:109,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:110,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:111,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:112,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:114,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:114,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:114,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:115,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:116,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:118,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:118,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:119,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:120,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:123,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:124,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:125,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:126,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:128,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:129,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:130,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:132,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:132,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:132,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:133,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:134,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:137,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:137,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:138,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:139,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:141,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:141,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:142,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:143,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:145,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:145,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:146,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:147,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:149,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 102
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 152
    functionName: secp256k1_fe_mul_inner
    functionSourceFile: /src/secp256k1/src/field_5x52_int128_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - VERIFY_BITS_128
    - secp256k1_u128_accum_u64
    - secp256k1_u128_mul
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - VERIFY_BITS
    - secp256k1_u128_accum_mul
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_mul_inner(uint64_t *r, const uint64_t
      *a, const uint64_t * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:160,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:161,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:162,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:163,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:164,1
    - Dst: secp256k1_u128_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:171,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:172,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:173,1
    - Dst: secp256k1_u128_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:175,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:176,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:178,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:178,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:178,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:179,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:180,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:182,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:182,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:183,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:184,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:188,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:189,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:190,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:191,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:193,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:193,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:194,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:196,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:196,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:197,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:198,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:201,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:202,1
    - Dst: secp256k1_u128_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:205,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:206,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:208,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:209,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:210,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:212,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:212,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:213,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:214,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:218,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:220,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:221,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:223,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:223,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:224,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:225,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:229,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:230,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:232,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:233,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:234,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:236,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:236,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:236,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:237,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:238,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:240,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:240,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:241,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:242,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:245,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:246,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:247,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:249,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:250,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:252,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:252,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:252,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:253,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:254,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:256,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:256,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:257,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:258,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:261,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:261,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:262,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:263,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:265,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:265,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:266,1
    - Dst: VERIFY_BITS_128
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:267,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:269,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_5x52_int128_impl.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 87
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 272
    functionName: secp256k1_fe_sqr_inner
    functionSourceFile: /src/secp256k1/src/field_5x52_int128_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_BITS_128
    - secp256k1_u128_accum_u64
    - secp256k1_u128_mul
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - VERIFY_BITS
    - secp256k1_u128_accum_mul
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: ARG_CHECK
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARG_CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ARG_CHECK_VOID
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARG_CHECK_VOID(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/secp256k1/src/secp256k1.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: secp256k1_context_is_proper
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult_gen_context_is_built
    linkageType: ''
    returnType: int
    signature: int secp256k1_context_is_proper(const secp256k1_context* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest_passes
      Src: /src/secp256k1/src/secp256k1.c:87,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/secp256k1.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: secp256k1_selftest
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - secp256k1_selftest_passes
    - secp256k1_callback_call
    linkageType: ''
    returnType: void
    signature: void secp256k1_selftest(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:95,1
    - Dst: EXPECT
      Src: /src/secp256k1/src/secp256k1.c:97,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/secp256k1.c:98,1
    - Dst: EXPECT
      Src: /src/secp256k1/src/secp256k1.c:103,1
    - Dst: SECP256K1_CHECKMEM_RUNNING
      Src: /src/secp256k1/src/secp256k1.c:103,1
    - Dst: secp256k1_callback_call
      Src: /src/secp256k1/src/secp256k1.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: secp256k1_context_preallocated_size
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - SECP256K1_CHECKMEM_RUNNING
    - VERIFY_CHECK
    - EXPECT
    - secp256k1_callback_call
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_context_preallocated_size(unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:113,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:114,1
    - Dst: secp256k1_context_is_proper
      Src: /src/secp256k1/src/secp256k1.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: secp256k1_context_preallocated_clone_size
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_context_is_proper
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_context_preallocated_clone_size(const secp256k1_context*
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest
      Src: /src/secp256k1/src/secp256k1.c:122,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/secp256k1/src/secp256k1.c:124,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:128,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:134,1
    - Dst: secp256k1_ecmult_gen_context_build
      Src: /src/secp256k1/src/secp256k1.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - prealloc
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: secp256k1_context_preallocated_create
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - secp256k1_selftest
    - VERIFY_CHECK
    - secp256k1_context_preallocated_size
    - secp256k1_ecmult_gen_context_build
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * secp256k1_context_preallocated_create(void* prealloc,
      unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_preallocated_size
      Src: /src/secp256k1/src/secp256k1.c:142,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/secp256k1.c:143,1
    - Dst: EXPECT
      Src: /src/secp256k1/src/secp256k1.c:144,1
    - Dst: secp256k1_context_preallocated_create
      Src: /src/secp256k1/src/secp256k1.c:144,1
    - Dst: free
      Src: /src/secp256k1/src/secp256k1.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: secp256k1_context_create
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 5
    functionsReached:
    - secp256k1_context_preallocated_create
    - checked_malloc
    - EXPECT
    - secp256k1_context_preallocated_size
    - free
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * secp256k1_context_create(unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:154,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:155,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:156,1
    - Dst: secp256k1_context_is_proper
      Src: /src/secp256k1/src/secp256k1.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - prealloc
    argTypes:
    - secp256k1_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: secp256k1_context_preallocated_clone
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_context_is_proper
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * secp256k1_context_preallocated_clone(const secp256k1_context*
      ctx, void* prealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:167,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:168,1
    - Dst: secp256k1_context_is_proper
      Src: /src/secp256k1/src/secp256k1.c:168,1
    - Dst: secp256k1_context_preallocated_clone_size
      Src: /src/secp256k1/src/secp256k1.c:170,1
    - Dst: checked_malloc
      Src: /src/secp256k1/src/secp256k1.c:171,1
    - Dst: secp256k1_context_preallocated_clone
      Src: /src/secp256k1/src/secp256k1.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: secp256k1_context_clone
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_context_is_proper
    - VERIFY_CHECK
    - checked_malloc
    - secp256k1_context_preallocated_clone
    - secp256k1_context_preallocated_clone_size
    - ARG_CHECK
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * secp256k1_context_clone(const secp256k1_context*
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK_VOID
      Src: /src/secp256k1/src/secp256k1.c:177,1
    - Dst: secp256k1_context_is_proper
      Src: /src/secp256k1/src/secp256k1.c:177,1
    - Dst: secp256k1_ecmult_gen_context_clear
      Src: /src/secp256k1/src/secp256k1.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: secp256k1_context_preallocated_destroy
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_context_is_proper
    - ARG_CHECK_VOID
    - secp256k1_ecmult_gen_context_clear
    linkageType: ''
    returnType: void
    signature: void secp256k1_context_preallocated_destroy(secp256k1_context* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK_VOID
      Src: /src/secp256k1/src/secp256k1.c:188,1
    - Dst: secp256k1_context_is_proper
      Src: /src/secp256k1/src/secp256k1.c:188,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/secp256k1/src/secp256k1.c:195,1
    - Dst: free
      Src: /src/secp256k1/src/secp256k1.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: secp256k1_context_destroy
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 6
    functionsReached:
    - secp256k1_context_is_proper
    - secp256k1_context_preallocated_destroy
    - free
    - ARG_CHECK_VOID
    linkageType: ''
    returnType: void
    signature: void secp256k1_context_destroy(secp256k1_context* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK_VOID
      Src: /src/secp256k1/src/secp256k1.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - secp256k1_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: secp256k1_context_set_illegal_callback
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 4
    functionsReached:
    - ARG_CHECK_VOID
    linkageType: ''
    returnType: void
    signature: void secp256k1_context_set_illegal_callback(secp256k1_context* ctx,
      void (*fun)(const char* message, void* data), const void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK_VOID
      Src: /src/secp256k1/src/secp256k1.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - secp256k1_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: secp256k1_context_set_error_callback
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - ARG_CHECK_VOID
    linkageType: ''
    returnType: void
    signature: void secp256k1_context_set_error_callback(secp256k1_context* ctx, void
      (*fun)(const char* message, void* data), const void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:224,1
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/secp256k1.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - max_size
    argTypes:
    - secp256k1_context*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: secp256k1_scratch_space_create
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scratch_create
    linkageType: ''
    returnType: secp256k1_scratch_space
    signature: secp256k1_scratch_space * secp256k1_scratch_space_create(const secp256k1_context*
      ctx, size_t max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:229,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/secp256k1.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - scratch
    argTypes:
    - secp256k1_context*
    - secp256k1_scratch_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: secp256k1_scratch_space_destroy
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scratch_destroy
    linkageType: ''
    returnType: void
    signature: void secp256k1_scratch_space_destroy(const secp256k1_context *ctx,
      secp256k1_scratch_space* scratch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/secp256k1/src/secp256k1.c:237,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/secp256k1/src/secp256k1.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - p
    - len
    argTypes:
    - secp256k1_context*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: secp256k1_declassify
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 0
    functionsReached:
    - SECP256K1_CHECKMEM_DEFINE
    - EXPECT
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_declassify(const secp256k1_context* ctx,
      const void *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_from_bytes
      Src: /src/secp256k1/src/secp256k1.c:241,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:242,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/secp256k1.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - ge
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: secp256k1_pubkey_load
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_fe_is_zero
    - secp256k1_ge_from_bytes
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_pubkey_load(const secp256k1_context* ctx, secp256k1_ge*
      ge, const secp256k1_pubkey* pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_to_bytes
      Src: /src/secp256k1/src/secp256k1.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pubkey
    - ge
    argTypes:
    - secp256k1_pubkey*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: secp256k1_pubkey_save
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - secp256k1_ge_to_bytes
    linkageType: ''
    returnType: void
    signature: void secp256k1_pubkey_save(secp256k1_pubkey* pubkey, secp256k1_ge*
      ge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:253,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:254,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:255,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:256,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/secp256k1.c:257,1
    - Dst: secp256k1_ge_is_in_correct_subgroup
      Src: /src/secp256k1/src/secp256k1.c:260,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/secp256k1.c:263,1
    - Dst: secp256k1_ge_clear
      Src: /src/secp256k1/src/secp256k1.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - pubkey
    - input
    - inputlen
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: secp256k1_ec_pubkey_parse
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_clear
    - memset
    - secp256k1_eckey_pubkey_parse
    - secp256k1_ge_is_in_correct_subgroup
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_parse(const secp256k1_context* ctx, secp256k1_pubkey*
      pubkey, const unsigned char *input, size_t inputlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:273,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:274,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:275,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:278,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:279,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:280,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:281,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/secp256k1.c:282,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/secp256k1.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - output
    - outputlen
    - pubkey
    - flags
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - size_t*
    - secp256k1_pubkey*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 289
    functionName: secp256k1_ec_pubkey_serialize
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - memset
    - secp256k1_eckey_pubkey_serialize
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_serialize(const secp256k1_context* ctx, unsigned
      char *output, size_t *outputlen, const secp256k1_pubkey* pubkey, unsigned int
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:296,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/secp256k1.c:306,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:311,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/secp256k1.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - pubkey0
    - pubkey1
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 315
    functionName: secp256k1_ec_pubkey_cmp
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - memset
    - VERIFY_CHECK
    - secp256k1_memcmp_var
    - secp256k1_ec_pubkey_serialize
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_cmp(const secp256k1_context* ctx, const secp256k1_pubkey*
      pubkey0, const secp256k1_pubkey* pubkey1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/secp256k1/src/secp256k1.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pk1
    - pk2
    - ctx
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: secp256k1_ec_pubkey_sort_cmp
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - secp256k1_ec_pubkey_cmp
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_sort_cmp(const void* pk1, const void* pk2,
      void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:324,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:325,1
    - Dst: secp256k1_hsort
      Src: /src/secp256k1/src/secp256k1.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - pubkeys
    - n_pubkeys
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: secp256k1_ec_pubkey_sort
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_hsort
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_sort(const secp256k1_context* ctx, const secp256k1_pubkey
      **pubkeys, size_t n_pubkeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/secp256k1.c:351,1
    - Dst: memcpy
      Src: /src/secp256k1/src/secp256k1.c:352,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:354,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - r
    - s
    - sig
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: secp256k1_ecdsa_signature_load
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_set_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecdsa_signature_load(const secp256k1_context* ctx, secp256k1_scalar*
      r, secp256k1_scalar* s, const secp256k1_ecdsa_signature* sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/secp256k1.c:361,1
    - Dst: memcpy
      Src: /src/secp256k1/src/secp256k1.c:362,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/secp256k1.c:364,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/secp256k1.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sig
    - r
    - s
    argTypes:
    - secp256k1_ecdsa_signature*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: secp256k1_ecdsa_signature_save
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecdsa_signature_save(secp256k1_ecdsa_signature* sig,
      const secp256k1_scalar* r, const secp256k1_scalar* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:372,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:373,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:374,1
    - Dst: secp256k1_ecdsa_sig_parse
      Src: /src/secp256k1/src/secp256k1.c:376,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/secp256k1/src/secp256k1.c:377,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - sig
    - input
    - inputlen
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: secp256k1_ecdsa_signature_parse_der
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - memset
    - secp256k1_ecdsa_signature_save
    - secp256k1_ecdsa_sig_parse
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_parse_der(const secp256k1_context* ctx,
      secp256k1_ecdsa_signature* sig, const unsigned char *input, size_t inputlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:390,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:391,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:392,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:394,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:396,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/secp256k1/src/secp256k1.c:399,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - sig
    - input64
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 404
    functionName: secp256k1_ecdsa_signature_parse_compact
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_set_b32
    - memset
    - secp256k1_ecdsa_signature_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_parse_compact(const secp256k1_context*
      ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:409,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:410,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:411,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:412,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/secp256k1/src/secp256k1.c:414,1
    - Dst: secp256k1_ecdsa_sig_serialize
      Src: /src/secp256k1/src/secp256k1.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - output
    - outputlen
    - sig
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - size_t*
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: secp256k1_ecdsa_signature_serialize_der
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 6
    functionsReached:
    - secp256k1_ecdsa_signature_load
    - VERIFY_CHECK
    - ARG_CHECK
    - secp256k1_ecdsa_sig_serialize
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_serialize_der(const secp256k1_context*
      ctx, unsigned char *output, size_t *outputlen, const secp256k1_ecdsa_signature*
      sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:421,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:422,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:423,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/secp256k1/src/secp256k1.c:425,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/secp256k1.c:426,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/secp256k1.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - output64
    - sig
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: secp256k1_ecdsa_signature_serialize_compact
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_ecdsa_signature_load
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_serialize_compact(const secp256k1_context*
      ctx, unsigned char *output64, const secp256k1_ecdsa_signature* sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:435,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:436,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/secp256k1/src/secp256k1.c:438,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/secp256k1/src/secp256k1.c:439,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/secp256k1.c:442,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/secp256k1/src/secp256k1.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - sigout
    - sigin
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 448
    functionName: secp256k1_ecdsa_signature_normalize
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_is_high
    - secp256k1_scalar_negate
    - secp256k1_ecdsa_signature_save
    - secp256k1_ecdsa_signature_load
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_normalize(const secp256k1_context* ctx,
      secp256k1_ecdsa_signature *sigout, const secp256k1_ecdsa_signature *sigin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:454,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:455,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:456,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:457,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:459,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/secp256k1/src/secp256k1.c:460,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/secp256k1/src/secp256k1.c:461,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/secp256k1.c:462,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/secp256k1/src/secp256k1.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - sig
    - msghash32
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 464
    functionName: secp256k1_ecdsa_verify
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_is_high
    - secp256k1_ecdsa_signature_load
    - ARG_CHECK
    - secp256k1_ecdsa_sig_verify
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_verify(const secp256k1_context* ctx, const secp256k1_ecdsa_signature
      *sig, const unsigned char *msghash32, const secp256k1_pubkey *pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/secp256k1.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - offset
    - data
    - len
    argTypes:
    - unsigned char*
    - unsigned int*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: buffer_append
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE buffer_append(unsigned char *buf, unsigned int *offset,
      const void *data, unsigned int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:478,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/secp256k1.c:479,1
    - Dst: buffer_append
      Src: /src/secp256k1/src/secp256k1.c:488,1
    - Dst: buffer_append
      Src: /src/secp256k1/src/secp256k1.c:489,1
    - Dst: buffer_append
      Src: /src/secp256k1/src/secp256k1.c:491,1
    - Dst: buffer_append
      Src: /src/secp256k1/src/secp256k1.c:494,1
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/secp256k1/src/secp256k1.c:496,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/secp256k1/src/secp256k1.c:498,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/secp256k1/src/secp256k1.c:500,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/secp256k1.c:502,1
    - Dst: secp256k1_rfc6979_hmac_sha256_clear
      Src: /src/secp256k1/src/secp256k1.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 505
    functionName: nonce_function_rfc6979
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - secp256k1_memclear
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_rfc6979_hmac_sha256_generate
    - buffer_append
    - secp256k1_rfc6979_hmac_sha256_initialize
    - secp256k1_rfc6979_hmac_sha256_clear
    - secp256k1_rfc6979_hmac_sha256_finalize
    linkageType: ''
    returnType: int
    signature: int nonce_function_rfc6979(unsigned char *nonce32, const unsigned char
      *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/secp256k1.c:527,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/secp256k1.c:528,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:529,1
    - Dst: noncefp
      Src: /src/secp256k1/src/secp256k1.c:532,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/secp256k1.c:536,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/secp256k1.c:538,1
    - Dst: secp256k1_ecdsa_sig_sign
      Src: /src/secp256k1/src/secp256k1.c:540,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/secp256k1.c:542,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/secp256k1.c:553,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:554,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:555,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:556,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/secp256k1.c:557,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/secp256k1.c:558,1
    - Dst: secp256k1_int_cmov
      Src: /src/secp256k1/src/secp256k1.c:561,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 8
    argNames:
    - ctx
    - r
    - s
    - recid
    - msg32
    - seckey
    - noncefp
    - noncedata
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int*
    - unsigned char*
    - unsigned char*
    - secp256k1_nonce_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 564
    functionName: secp256k1_ecdsa_sign_inner
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_clear
    - secp256k1_scalar_cmov
    - secp256k1_memclear
    - secp256k1_declassify
    - secp256k1_scalar_set_b32
    - secp256k1_ecdsa_sig_sign
    - secp256k1_int_cmov
    - secp256k1_scalar_set_b32_seckey
    - noncefp
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sign_inner(const secp256k1_context* ctx, secp256k1_scalar*
      r, secp256k1_scalar* s, int* recid, const unsigned char *msg32, const unsigned
      char *seckey, secp256k1_nonce_function noncefp, const void* noncedata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:569,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:570,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/secp256k1/src/secp256k1.c:570,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:571,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:572,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:573,1
    - Dst: secp256k1_ecdsa_sign_inner
      Src: /src/secp256k1/src/secp256k1.c:575,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/secp256k1/src/secp256k1.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - signature
    - msghash32
    - seckey
    - noncefp
    - noncedata
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    - unsigned char*
    - secp256k1_nonce_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 578
    functionName: secp256k1_ecdsa_sign
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ecdsa_sign_inner
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_ecdsa_signature_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sign(const secp256k1_context* ctx, secp256k1_ecdsa_signature
      *signature, const unsigned char *msghash32, const unsigned char *seckey, secp256k1_nonce_function
      noncefp, const void* noncedata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:583,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:584,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/secp256k1.c:586,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - seckey
    argTypes:
    - secp256k1_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 589
    functionName: secp256k1_ec_seckey_verify
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_verify(const secp256k1_context* ctx, const
      unsigned char *seckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/secp256k1.c:595,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/secp256k1.c:596,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/secp256k1.c:598,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/secp256k1.c:599,1
    - Dst: secp256k1_gej_clear
      Src: /src/secp256k1/src/secp256k1.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ecmult_gen_ctx
    - seckey_scalar
    - p
    - seckey
    argTypes:
    - secp256k1_ecmult_gen_context*
    - secp256k1_scalar*
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 602
    functionName: secp256k1_ec_pubkey_create_helper
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_cmov
    - secp256k1_ecmult_gen
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_gej_clear
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_create_helper(const secp256k1_ecmult_gen_context
      *ecmult_gen_ctx, secp256k1_scalar *seckey_scalar, secp256k1_ge *p, const unsigned
      char *seckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:608,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:609,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:610,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:611,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/secp256k1/src/secp256k1.c:611,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:612,1
    - Dst: secp256k1_ec_pubkey_create_helper
      Src: /src/secp256k1/src/secp256k1.c:614,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/secp256k1.c:615,1
    - Dst: secp256k1_memczero
      Src: /src/secp256k1/src/secp256k1.c:616,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - seckey
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 620
    functionName: secp256k1_ec_pubkey_create
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 7
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_memczero
    - secp256k1_ec_pubkey_create_helper
    - secp256k1_ecmult_gen_context_is_built
    - memset
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_create(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const unsigned char *seckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:625,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:626,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/secp256k1.c:628,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/secp256k1.c:629,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/secp256k1.c:630,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/secp256k1.c:631,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - seckey
    argTypes:
    - secp256k1_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 635
    functionName: secp256k1_ec_seckey_negate
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_negate
    - secp256k1_scalar_set_b32_seckey
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_negate(const secp256k1_context* ctx, unsigned
      char *seckey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:640,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:641,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/secp256k1.c:643,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:644,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/secp256k1.c:646,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/secp256k1.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: secp256k1_ec_pubkey_negate
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - memset
    - secp256k1_ge_neg
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_negate(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:658,1
    - Dst: secp256k1_eckey_privkey_tweak_add
      Src: /src/secp256k1/src/secp256k1.c:659,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sec
    - tweak32
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 662
    functionName: secp256k1_ec_seckey_tweak_add_helper
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_clear
    - secp256k1_eckey_privkey_tweak_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_tweak_add_helper(secp256k1_scalar *sec, const
      unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:667,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:668,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:669,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/secp256k1.c:671,1
    - Dst: secp256k1_ec_seckey_tweak_add_helper
      Src: /src/secp256k1/src/secp256k1.c:672,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/secp256k1.c:673,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/secp256k1.c:674,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - seckey
    - tweak32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 678
    functionName: secp256k1_ec_seckey_tweak_add
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_ec_seckey_tweak_add_helper
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_tweak_add(const secp256k1_context* ctx, unsigned
      char *seckey, const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:683,1
    - Dst: secp256k1_eckey_pubkey_tweak_add
      Src: /src/secp256k1/src/secp256k1.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p
    - tweak32
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: secp256k1_ec_pubkey_tweak_add_helper
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_eckey_pubkey_tweak_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_tweak_add_helper(secp256k1_ge *p, const unsigned
      char *tweak32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:690,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:691,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:692,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/secp256k1.c:694,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:695,1
    - Dst: secp256k1_ec_pubkey_tweak_add_helper
      Src: /src/secp256k1/src/secp256k1.c:696,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/secp256k1.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 702
    functionName: secp256k1_ec_pubkey_tweak_add
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_ec_pubkey_tweak_add_helper
    - memset
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_tweak_add(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:709,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:710,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:711,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:713,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/secp256k1.c:714,1
    - Dst: secp256k1_eckey_privkey_tweak_mul
      Src: /src/secp256k1/src/secp256k1.c:715,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/secp256k1.c:716,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/secp256k1.c:717,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:719,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/secp256k1.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - seckey
    - tweak32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 722
    functionName: secp256k1_ec_seckey_tweak_mul
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_eckey_privkey_tweak_mul
    - secp256k1_scalar_set_b32_seckey
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_tweak_mul(const secp256k1_context* ctx, unsigned
      char *seckey, const unsigned char *tweak32)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:729,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:730,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:731,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/secp256k1.c:733,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/secp256k1.c:734,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:735,1
    - Dst: secp256k1_eckey_pubkey_tweak_mul
      Src: /src/secp256k1/src/secp256k1.c:737,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/secp256k1.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 745
    functionName: secp256k1_ec_pubkey_tweak_mul
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_scalar_set_b32
    - secp256k1_eckey_pubkey_tweak_mul
    - memset
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_tweak_mul(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const unsigned char *tweak32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:748,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:749,1
    - Dst: secp256k1_context_is_proper
      Src: /src/secp256k1/src/secp256k1.c:749,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/secp256k1/src/secp256k1.c:751,1
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/secp256k1/src/secp256k1.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - seed32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 755
    functionName: secp256k1_context_randomize
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 4
    functionsReached:
    - secp256k1_context_is_proper
    - VERIFY_CHECK
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_ecmult_gen_blind
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_context_randomize(secp256k1_context* ctx, const unsigned
      char *seed32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:762,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:763,1
    - Dst: memset
      Src: /src/secp256k1/src/secp256k1.c:764,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:765,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:766,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/secp256k1.c:768,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:771,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/secp256k1.c:772,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/secp256k1.c:773,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/secp256k1.c:775,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/secp256k1.c:778,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/secp256k1.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - pubnonce
    - pubnonces
    - n
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_pubkey**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 781
    functionName: secp256k1_ec_pubkey_combine
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_gej_is_infinity
    - secp256k1_pubkey_load
    - secp256k1_gej_set_infinity
    - memset
    - secp256k1_gej_add_ge
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_combine(const secp256k1_context* ctx, secp256k1_pubkey
      *pubnonce, const secp256k1_pubkey * const *pubnonces, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/secp256k1.c:785,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:786,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:787,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/secp256k1.c:788,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/secp256k1/src/secp256k1.c:790,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/secp256k1.c:791,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/secp256k1.c:792,1
    - Dst: secp256k1_sha256_clear
      Src: /src/secp256k1/src/secp256k1.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - ctx
    - hash32
    - tag
    - taglen
    - msg
    - msglen
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 795
    functionName: secp256k1_tagged_sha256
    functionSourceFile: /src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_sha256_clear
    - secp256k1_sha256_finalize
    - secp256k1_sha256_initialize_tagged
    - secp256k1_sha256_write
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_tagged_sha256(const secp256k1_context* ctx, unsigned
      char *hash32, const unsigned char *tag, size_t taglen, const unsigned char *msg,
      size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: S
    functionSourceFile: /src/secp256k1/src/precomputed_ecmult_gen.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: SCALAR_HORNER
    functionSourceFile: /src/secp256k1/src/scalar_low.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALAR_HORNER(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: SECP256K1_SCALAR_CONST
    functionSourceFile: /src/secp256k1/src/scalar_low.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:19,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:20,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:21,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:22,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:23,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:24,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:25,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:26,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:27,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:28,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: secp256k1_fe_impl_verify
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_verify(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: secp256k1_fe_impl_get_bounds
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_get_bounds(secp256k1_fe *r, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:74,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 100
    functionName: secp256k1_fe_impl_normalize
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: secp256k1_fe_impl_normalize_weak
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize_weak(secp256k1_fe *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:149,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 176
    functionName: secp256k1_fe_impl_normalize_var
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize_var(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 205
    functionName: secp256k1_fe_impl_normalizes_to_zero
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_normalizes_to_zero(const secp256k1_fe *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 257
    functionName: secp256k1_fe_impl_normalizes_to_zero_var
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_normalizes_to_zero_var(const secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: secp256k1_fe_impl_set_int
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_set_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: secp256k1_fe_impl_is_zero
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_is_zero(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: secp256k1_fe_impl_is_odd
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_is_odd(const secp256k1_fe *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: secp256k1_fe_impl_cmp_var
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_cmp_var(const secp256k1_fe *a, const secp256k1_fe
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: secp256k1_fe_impl_set_b32_mod
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_set_b32_mod(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_set_b32_mod
      Src: /src/secp256k1/src/field_10x26_impl.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: secp256k1_fe_impl_set_b32_limit
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_impl_set_b32_mod
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_set_b32_limit(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 338
    functionName: secp256k1_fe_impl_get_b32
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_get_b32(unsigned char *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:342,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:343,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:344,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - r
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: secp256k1_fe_impl_negate_unchecked
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_negate_unchecked(secp256k1_fe *r,
      const secp256k1_fe *a, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: secp256k1_fe_impl_mul_int_unchecked
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_mul_int_unchecked(secp256k1_fe *r,
      int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: secp256k1_fe_impl_add
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_add(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: secp256k1_fe_impl_add_int
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_add_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: VERIFY_BITS
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_BITS(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:407,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:408,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:409,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:410,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:411,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:412,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:413,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:414,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:415,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:416,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:417,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:418,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:419,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:420,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:421,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:422,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:423,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:424,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:425,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:426,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:447,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:448,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:452,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:463,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:466,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:467,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:468,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:471,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:472,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:478,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:488,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:491,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:492,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:493,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:496,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:497,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:504,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:513,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:516,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:517,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:518,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:521,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:522,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:530,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:538,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:541,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:542,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:546,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:547,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:556,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:563,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:566,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:567,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:571,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:572,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:582,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:588,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:591,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:592,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:596,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:597,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:608,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:613,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:616,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:617,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:621,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:622,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:635,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:639,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:642,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:643,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:645,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:648,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:649,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:663,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:666,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:669,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:670,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:672,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:676,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:679,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:682,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:685,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:688,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:692,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:693,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:697,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:700,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:701,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:707,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:710,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:711,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:714,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:715,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:719,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:720,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:721,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:724,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 192
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 729
    functionName: secp256k1_fe_mul_inner
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_BITS
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_mul_inner(uint32_t *r, const uint32_t
      *a, const uint32_t * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:737,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:738,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:739,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:740,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:741,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:742,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:743,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:744,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:745,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:746,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:761,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:762,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:766,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:773,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:776,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:777,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:778,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:781,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:782,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:787,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:793,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:796,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:797,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:798,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:801,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:802,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:808,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:814,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:817,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:818,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:819,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:822,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:823,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:829,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:834,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:837,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:838,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:842,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:843,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:850,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:855,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:858,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:859,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:863,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:864,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:871,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:875,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:878,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:879,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:883,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:884,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:892,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:896,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:899,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:900,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:904,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:905,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:914,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:917,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:920,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:921,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:923,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:926,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:927,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:937,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:940,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:943,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:944,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:946,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:950,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:953,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:956,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:959,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:962,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:966,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:967,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:971,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:974,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:975,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:981,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:984,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:985,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:988,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:989,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:993,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:994,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:995,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:998,1
    - Dst: VERIFY_BITS
      Src: /src/secp256k1/src/field_10x26_impl.h:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 182
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 1003
    functionName: secp256k1_fe_sqr_inner
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_BITS
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_sqr_inner(uint32_t *r, const uint32_t
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_mul_inner
      Src: /src/secp256k1/src/field_10x26_impl.h:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionName: secp256k1_fe_impl_mul
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_mul_inner
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_mul(secp256k1_fe *r, const secp256k1_fe
      *a, const secp256k1_fe * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr_inner
      Src: /src/secp256k1/src/field_10x26_impl.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: secp256k1_fe_impl_sqr
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_sqr_inner
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_sqr(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/secp256k1/src/field_10x26_impl.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1030
    functionName: secp256k1_fe_impl_cmov
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_cmov(secp256k1_fe *r, const secp256k1_fe
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1095
    functionName: secp256k1_fe_impl_half
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_half(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/secp256k1/src/field_10x26_impl.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1111
    functionName: secp256k1_fe_storage_cmov
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 3
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_storage_cmov(secp256k1_fe_storage *r,
      const secp256k1_fe_storage *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1122
    functionName: secp256k1_fe_impl_to_storage
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_to_storage(secp256k1_fe_storage *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1135
    functionName: secp256k1_fe_impl_from_storage
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_from_storage(secp256k1_fe *r, const
      secp256k1_fe_storage *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1145,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1146,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1147,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1148,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1149,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1150,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1151,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1152,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_10x26_impl.h:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_modinv32_signed30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1165
    functionName: secp256k1_fe_from_signed30
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_from_signed30(secp256k1_fe *r, const secp256k1_modinv32_signed30
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1182
    functionName: secp256k1_fe_to_signed30
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_to_signed30(secp256k1_modinv32_signed30 *r, const
      secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/field_10x26_impl.h:1193,1
    - Dst: secp256k1_fe_to_signed30
      Src: /src/secp256k1/src/field_10x26_impl.h:1194,1
    - Dst: secp256k1_modinv32
      Src: /src/secp256k1/src/field_10x26_impl.h:1195,1
    - Dst: secp256k1_fe_from_signed30
      Src: /src/secp256k1/src/field_10x26_impl.h:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1197
    functionName: secp256k1_fe_impl_inv
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_from_signed30
    - secp256k1_fe_to_signed30
    - secp256k1_fe_normalize
    - secp256k1_modinv32
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_inv(secp256k1_fe *r, const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/field_10x26_impl.h:1203,1
    - Dst: secp256k1_fe_to_signed30
      Src: /src/secp256k1/src/field_10x26_impl.h:1204,1
    - Dst: secp256k1_modinv32_var
      Src: /src/secp256k1/src/field_10x26_impl.h:1205,1
    - Dst: secp256k1_fe_from_signed30
      Src: /src/secp256k1/src/field_10x26_impl.h:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1207
    functionName: secp256k1_fe_impl_inv_var
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_from_signed30
    - secp256k1_modinv32_var
    - secp256k1_fe_to_signed30
    - secp256k1_fe_normalize_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_inv_var(secp256k1_fe *r, const secp256k1_fe
      *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/field_10x26_impl.h:1215,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/field_10x26_impl.h:1217,1
    - Dst: secp256k1_fe_to_signed30
      Src: /src/secp256k1/src/field_10x26_impl.h:1218,1
    - Dst: secp256k1_jacobi32_maybe_var
      Src: /src/secp256k1/src/field_10x26_impl.h:1219,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/secp256k1/src/field_10x26_impl.h:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1230
    functionName: secp256k1_fe_impl_is_square_var
    functionSourceFile: /src/secp256k1/src/field_10x26_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_sqrt
    - secp256k1_fe_to_signed30
    - secp256k1_jacobi32_maybe_var
    - secp256k1_fe_normalize_var
    - secp256k1_fe_is_zero
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_is_square_var(const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: Ch
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Maj
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: Sigma0
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: Sigma1
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: sigma0
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: sigma1
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - k
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: Round
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Round(a,b,c,d,e,f,g,h,k,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: secp256k1_sha256_initialize
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_initialize(secp256k1_sha256 *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:48,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:48,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:49,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:49,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:50,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:50,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:51,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:51,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:52,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:52,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:53,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:53,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:54,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:54,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:55,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:55,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:56,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:56,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:57,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:57,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:58,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:58,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:59,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:59,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:60,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:60,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:61,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:61,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:62,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:62,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:63,1
    - Dst: secp256k1_read_be32
      Src: /src/secp256k1/src/hash_impl.h:63,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:65,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:65,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:65,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:66,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:66,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:66,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:67,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:67,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:67,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:68,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:68,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:68,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:69,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:69,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:69,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:70,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:70,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:70,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:71,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:71,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:71,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:72,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:72,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:72,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:73,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:73,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:73,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:74,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:74,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:74,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:75,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:75,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:75,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:76,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:76,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:76,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:77,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:77,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:77,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:78,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:78,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:78,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:79,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:79,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:79,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:80,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:80,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:80,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:82,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:82,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:82,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:83,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:83,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:83,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:84,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:84,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:84,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:85,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:85,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:85,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:86,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:86,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:86,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:87,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:87,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:87,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:88,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:88,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:88,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:89,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:89,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:89,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:90,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:90,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:90,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:91,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:91,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:91,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:92,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:92,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:92,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:93,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:93,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:93,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:94,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:94,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:94,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:95,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:95,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:95,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:96,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:96,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:96,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:97,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:97,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:97,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:99,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:99,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:99,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:100,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:100,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:100,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:101,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:101,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:101,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:102,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:102,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:102,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:103,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:103,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:103,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:104,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:104,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:104,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:105,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:105,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:105,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:106,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:106,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:106,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:107,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:107,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:107,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:108,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:108,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:108,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:109,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:109,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:109,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:110,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:110,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:110,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:111,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:111,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:111,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:112,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:112,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:112,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:113,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:113,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:113,1
    - Dst: Round
      Src: /src/secp256k1/src/hash_impl.h:114,1
    - Dst: sigma1
      Src: /src/secp256k1/src/hash_impl.h:114,1
    - Dst: sigma0
      Src: /src/secp256k1/src/hash_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 2
    argNames:
    - s
    - buf
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 124
    functionName: secp256k1_sha256_transform
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached:
    - Round
    - secp256k1_read_be32
    - sigma0
    - sigma1
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_transform(uint32_t* s, const unsigned char* buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/hash_impl.h:129,1
    - Dst: memcpy
      Src: /src/secp256k1/src/hash_impl.h:133,1
    - Dst: secp256k1_sha256_transform
      Src: /src/secp256k1/src/hash_impl.h:136,1
    - Dst: memcpy
      Src: /src/secp256k1/src/hash_impl.h:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - hash
    - data
    - len
    argTypes:
    - secp256k1_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: secp256k1_sha256_write
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_sha256_transform
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_write(secp256k1_sha256 *hash, const unsigned
      char *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/hash_impl.h:150,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/hash_impl.h:151,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/hash_impl.h:152,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:153,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:154,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/hash_impl.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - hash
    - out32
    argTypes:
    - secp256k1_sha256*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: secp256k1_sha256_finalize
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_sha256_write
    - VERIFY_CHECK
    - secp256k1_write_be32
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_finalize(secp256k1_sha256 *hash, unsigned char
      *out32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:165,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:166,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:167,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:169,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:170,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - hash
    - tag
    - taglen
    argTypes:
    - secp256k1_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: secp256k1_sha256_initialize_tagged
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_initialize_tagged(secp256k1_sha256 *hash, const
      unsigned char *tag, size_t taglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/hash_impl.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: secp256k1_sha256_clear
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_clear(secp256k1_sha256 *hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/hash_impl.h:182,1
    - Dst: memset
      Src: /src/secp256k1/src/hash_impl.h:183,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:186,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:187,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:188,1
    - Dst: memset
      Src: /src/secp256k1/src/hash_impl.h:189,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:192,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:196,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:198,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:202,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/hash_impl.h:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - hash
    - key
    - keylen
    argTypes:
    - secp256k1_hmac_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: secp256k1_hmac_sha256_initialize
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memclear
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - memcpy
    - memset
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void secp256k1_hmac_sha256_initialize(secp256k1_hmac_sha256 *hash,
      const unsigned char *key, size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hash
    - data
    - size
    argTypes:
    - secp256k1_hmac_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: secp256k1_hmac_sha256_write
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void secp256k1_hmac_sha256_write(secp256k1_hmac_sha256 *hash, const
      unsigned char *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:212,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:213,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/hash_impl.h:214,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - hash
    - out32
    argTypes:
    - secp256k1_hmac_sha256*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: secp256k1_hmac_sha256_finalize
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_hmac_sha256_finalize(secp256k1_hmac_sha256 *hash, unsigned
      char *out32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/hash_impl.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_hmac_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: secp256k1_hmac_sha256_clear
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_hmac_sha256_clear(secp256k1_hmac_sha256 *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/hash_impl.h:227,1
    - Dst: memset
      Src: /src/secp256k1/src/hash_impl.h:228,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:231,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:232,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:233,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:234,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:235,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:236,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:237,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:238,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:241,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:242,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:243,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:244,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:245,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:246,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:247,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - rng
    - key
    - keylen
    argTypes:
    - secp256k1_rfc6979_hmac_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 250
    functionName: secp256k1_rfc6979_hmac_sha256_initialize
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 3
    functionsReached:
    - memset
    - secp256k1_hmac_sha256_initialize
    - secp256k1_hmac_sha256_finalize
    - secp256k1_hmac_sha256_write
    linkageType: ''
    returnType: void
    signature: void secp256k1_rfc6979_hmac_sha256_initialize(secp256k1_rfc6979_hmac_sha256
      *rng, const unsigned char *key, size_t keylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:257,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:258,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:259,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:260,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:261,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:262,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:263,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/hash_impl.h:269,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/hash_impl.h:270,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/hash_impl.h:271,1
    - Dst: memcpy
      Src: /src/secp256k1/src/hash_impl.h:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - rng
    - out
    - outlen
    argTypes:
    - secp256k1_rfc6979_hmac_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 281
    functionName: secp256k1_rfc6979_hmac_sha256_generate
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_hmac_sha256_write
    - secp256k1_hmac_sha256_initialize
    - secp256k1_hmac_sha256_finalize
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_rfc6979_hmac_sha256_generate(secp256k1_rfc6979_hmac_sha256
      *rng, unsigned char *out, size_t outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rng
    argTypes:
    - secp256k1_rfc6979_hmac_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: secp256k1_rfc6979_hmac_sha256_finalize
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_rfc6979_hmac_sha256_finalize(secp256k1_rfc6979_hmac_sha256
      *rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/hash_impl.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rng
    argTypes:
    - secp256k1_rfc6979_hmac_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: secp256k1_rfc6979_hmac_sha256_clear
    functionSourceFile: /src/secp256k1/src/hash_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_rfc6979_hmac_sha256_clear(secp256k1_rfc6979_hmac_sha256
      *rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:23,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:24,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:25,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:26,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:27,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:28,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:29,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:30,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:31,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:32,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:33,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: help
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void help(char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - x
    argTypes:
    - bench_data*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: hash_into_offset
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hash_into_offset(bench_data* data, size_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/bench_ecmult.c:75,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/bench_ecmult.c:76,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/bench_ecmult.c:78,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/bench_ecmult.c:80,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/bench_ecmult.c:84,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/bench_ecmult.c:85,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/bench_ecmult.c:88,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_ecmult.c:89,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/secp256k1/src/bench_ecmult.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - data
    - seckey_offset
    - scalar_offset
    - scalar_gen_offset
    - iters
    argTypes:
    - bench_data*
    - size_t*
    - size_t*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: bench_ecmult_teardown_helper
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_eq_var
    - CHECK
    - secp256k1_scalar_set_int
    - secp256k1_gej_add_var
    - secp256k1_gej_set_infinity
    - secp256k1_scalar_mul
    - secp256k1_ecmult_gen
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_teardown_helper(bench_data* data, size_t* seckey_offset,
      size_t* scalar_offset, size_t* scalar_gen_offset, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_into_offset
      Src: /src/secp256k1/src/bench_ecmult.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: bench_ecmult_setup
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - hash_into_offset
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/bench_ecmult.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: bench_ecmult_gen
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_gen
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_gen(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/secp256k1/src/bench_ecmult.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: bench_ecmult_gen_teardown
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_gen_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/bench_ecmult.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: bench_ecmult_const
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_const
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_const(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/secp256k1/src/bench_ecmult.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: bench_ecmult_const_teardown
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_const_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/secp256k1/src/bench_ecmult.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: bench_ecmult_const_xonly
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_const_xonly
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_const_xonly(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/bench_ecmult.c:148,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_ecmult.c:149,1
    - Dst: secp256k1_gej_eq_x_var
      Src: /src/secp256k1/src/bench_ecmult.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: bench_ecmult_const_xonly_teardown
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    - CHECK
    - secp256k1_gej_eq_x_var
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_const_xonly_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/bench_ecmult.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: bench_ecmult_1p
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_1p(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/secp256k1/src/bench_ecmult.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: bench_ecmult_1p_teardown
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_1p_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/bench_ecmult.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: bench_ecmult_0p_g
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_0p_g(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/secp256k1/src/bench_ecmult.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: bench_ecmult_0p_g_teardown
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_0p_g_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/bench_ecmult.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: bench_ecmult_1p_g
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_1p_g(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/secp256k1/src/bench_ecmult.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: bench_ecmult_1p_g_teardown
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_1p_g_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/secp256k1/src/bench_ecmult.c:197,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_ecmult.c:198,1
    - Dst: sprintf
      Src: /src/secp256k1/src/bench_ecmult.c:199,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_ecmult.c:200,1
    - Dst: sprintf
      Src: /src/secp256k1/src/bench_ecmult.c:201,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_ecmult.c:202,1
    - Dst: sprintf
      Src: /src/secp256k1/src/bench_ecmult.c:204,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_ecmult.c:205,1
    - Dst: sprintf
      Src: /src/secp256k1/src/bench_ecmult.c:207,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_ecmult.c:208,1
    - Dst: sprintf
      Src: /src/secp256k1/src/bench_ecmult.c:210,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_ecmult.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - data
    - iters
    argTypes:
    - bench_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: run_ecmult_bench
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - sprintf
    - run_benchmark
    linkageType: ''
    returnType: void
    signature: void run_ecmult_bench(bench_data* data, int iters)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - sc
    - ge
    - idx
    - arg
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: bench_ecmult_multi_callback
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bench_ecmult_multi_callback(secp256k1_scalar* sc, secp256k1_ge*
      ge, size_t idx, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_data*::ecmult_multi
      Src: /src/secp256k1/src/bench_ecmult.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: bench_ecmult_multi
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_data*::ecmult_multi
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_multi(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_into_offset
      Src: /src/secp256k1/src/bench_ecmult.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: bench_ecmult_multi_setup
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - hash_into_offset
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_multi_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/bench_ecmult.c:254,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_ecmult.c:255,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/bench_ecmult.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: bench_ecmult_multi_teardown
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_multi_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/bench_ecmult.c:268,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/bench_ecmult.c:269,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/bench_ecmult.c:270,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/bench_ecmult.c:271,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_ecmult.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num
    - scalar
    argTypes:
    - uint32_t
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: generate_scalar
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void generate_scalar(uint32_t num, secp256k1_scalar* scalar)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_into_offset
      Src: /src/secp256k1/src/bench_ecmult.c:284,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/bench_ecmult.c:290,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/bench_ecmult.c:291,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/bench_ecmult.c:293,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/bench_ecmult.c:294,1
    - Dst: sprintf
      Src: /src/secp256k1/src/bench_ecmult.c:299,1
    - Dst: sprintf
      Src: /src/secp256k1/src/bench_ecmult.c:301,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_ecmult.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - data
    - count
    - includes_g
    - num_iters
    argTypes:
    - bench_data*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 304
    functionName: run_ecmult_multi_bench
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_mul
    - secp256k1_ecmult
    - sprintf
    - secp256k1_scalar_negate
    - run_benchmark
    - hash_into_offset
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void run_ecmult_multi_bench(bench_data* data, size_t count, int includes_g,
      int num_iters)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_iters
      Src: /src/secp256k1/src/bench_ecmult.c:311,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_ecmult.c:316,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_ecmult.c:317,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_ecmult.c:318,1
    - Dst: help
      Src: /src/secp256k1/src/bench_ecmult.c:319,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_ecmult.c:321,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:322,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_ecmult.c:324,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:325,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_ecmult.c:327,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_ecmult.c:328,1
    - Dst: fprintf
      Src: /src/secp256k1/src/bench_ecmult.c:330,1
    - Dst: help
      Src: /src/secp256k1/src/bench_ecmult.c:331,1
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/bench_ecmult.c:336,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/secp256k1/src/bench_ecmult.c:337,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_ecmult.c:338,1
    - Dst: secp256k1_scratch_space_create
      Src: /src/secp256k1/src/bench_ecmult.c:339,1
    - Dst: malloc
      Src: /src/secp256k1/src/bench_ecmult.c:345,1
    - Dst: malloc
      Src: /src/secp256k1/src/bench_ecmult.c:346,1
    - Dst: malloc
      Src: /src/secp256k1/src/bench_ecmult.c:347,1
    - Dst: malloc
      Src: /src/secp256k1/src/bench_ecmult.c:348,1
    - Dst: malloc
      Src: /src/secp256k1/src/bench_ecmult.c:349,1
    - Dst: malloc
      Src: /src/secp256k1/src/bench_ecmult.c:350,1
    - Dst: malloc
      Src: /src/secp256k1/src/bench_ecmult.c:351,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/bench_ecmult.c:354,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/bench_ecmult.c:355,1
    - Dst: generate_scalar
      Src: /src/secp256k1/src/bench_ecmult.c:357,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/bench_ecmult.c:359,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/bench_ecmult.c:360,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/secp256k1/src/bench_ecmult.c:363,1
    - Dst: print_output_table_header_row
      Src: /src/secp256k1/src/bench_ecmult.c:366,1
    - Dst: hash_into_offset
      Src: /src/secp256k1/src/bench_ecmult.c:368,1
    - Dst: run_ecmult_bench
      Src: /src/secp256k1/src/bench_ecmult.c:369,1
    - Dst: run_ecmult_multi_bench
      Src: /src/secp256k1/src/bench_ecmult.c:372,1
    - Dst: run_ecmult_multi_bench
      Src: /src/secp256k1/src/bench_ecmult.c:381,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/secp256k1/src/bench_ecmult.c:387,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/bench_ecmult.c:389,1
    - Dst: free
      Src: /src/secp256k1/src/bench_ecmult.c:390,1
    - Dst: free
      Src: /src/secp256k1/src/bench_ecmult.c:391,1
    - Dst: free
      Src: /src/secp256k1/src/bench_ecmult.c:392,1
    - Dst: free
      Src: /src/secp256k1/src/bench_ecmult.c:393,1
    - Dst: free
      Src: /src/secp256k1/src/bench_ecmult.c:394,1
    - Dst: free
      Src: /src/secp256k1/src/bench_ecmult.c:395,1
    - Dst: free
      Src: /src/secp256k1/src/bench_ecmult.c:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 399
    functionName: main
    functionSourceFile: /src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_all_gej_var
    - secp256k1_gej_set_ge
    - secp256k1_gej_double_var
    - run_ecmult_multi_bench
    - generate_scalar
    - secp256k1_strauss_scratch_size
    - secp256k1_scratch_space_create
    - secp256k1_scalar_set_int
    - print_output_table_header_row
    - free
    - secp256k1_scalar_add
    - get_iters
    - run_ecmult_bench
    - secp256k1_context_create
    - secp256k1_context_destroy
    - malloc
    - fprintf
    - hash_into_offset
    - printf
    - secp256k1_scratch_space_destroy
    - have_flag
    - help
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: SECP256K1_FE_CONST_INNER
    functionSourceFile: /src/secp256k1/src/field_10x26.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_CONST_INNER(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: SECP256K1_FE_STORAGE_CONST
    functionSourceFile: /src/secp256k1/src/field_10x26.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_STORAGE_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: SECP256K1_FE_STORAGE_CONST_GET
    functionSourceFile: /src/secp256k1/src/field_10x26.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_STORAGE_CONST_GET(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: SECP256K1_SCALAR_CONST
    functionSourceFile: /src/secp256k1/src/scalar_4x64.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: skip_section
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE skip_section(uint64_t* iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:60,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/tests_exhaustive.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - attempt
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: secp256k1_nonce_function_smallint
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    linkageType: ''
    returnType: int
    signature: "int secp256k1_nonce_function_smallint(unsigned char *nonce32, const
      unsigned char *msg32,\n                                      const unsigned
      char *key32, const unsigned char *algo16,\n                                      void
      *data, unsigned int attempt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/secp256k1/src/tests_exhaustive.c:69,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:70,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests_exhaustive.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: test_exhaustive_endomorphism
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_mul_lambda
    - secp256k1_ge_eq_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_endomorphism(const secp256k1_ge *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:79,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests_exhaustive.c:79,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:80,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests_exhaustive.c:80,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:82,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/tests_exhaustive.c:82,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:83,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/tests_exhaustive.c:83,1
    - Dst: skip_section
      Src: /src/secp256k1/src/tests_exhaustive.c:89,1
    - Dst: secp256k1_fe_inv
      Src: /src/secp256k1/src/tests_exhaustive.c:90,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/tests_exhaustive.c:95,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:96,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:96,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/tests_exhaustive.c:99,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:100,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:100,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:103,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:104,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:104,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/secp256k1/src/tests_exhaustive.c:109,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:110,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:110,1
    - Dst: secp256k1_gej_double
      Src: /src/secp256k1/src/tests_exhaustive.c:117,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:118,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:118,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/tests_exhaustive.c:119,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:120,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:120,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/tests_exhaustive.c:127,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:128,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/tests_exhaustive.c:128,1
    - Dst: secp256k1_gej_neg
      Src: /src/secp256k1/src/tests_exhaustive.c:129,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:130,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - group
    - groupj
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 132
    functionName: test_exhaustive_addition
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_inv
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_ge_eq_var
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_eq_ge_var
    - secp256k1_ge_neg
    - secp256k1_gej_add_ge
    - secp256k1_gej_double_var
    - skip_section
    - secp256k1_gej_double
    - secp256k1_gej_add_zinv_var
    - secp256k1_ge_is_infinity
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_addition(const secp256k1_ge *group, const secp256k1_gej
      *groupj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/secp256k1/src/tests_exhaustive.c:139,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:143,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:144,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/tests_exhaustive.c:146,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:147,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:147,1
    - Dst: skip_section
      Src: /src/secp256k1/src/tests_exhaustive.c:159,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:161,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/tests_exhaustive.c:164,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:165,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:165,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/secp256k1/src/tests_exhaustive.c:169,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:170,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:171,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests_exhaustive.c:171,1
    - Dst: testutil_random_fe_non_zero
      Src: /src/secp256k1/src/tests_exhaustive.c:174,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/tests_exhaustive.c:175,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/secp256k1/src/tests_exhaustive.c:176,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:177,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:178,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests_exhaustive.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - group
    - groupj
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 182
    functionName: test_exhaustive_ecmult
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_const_xonly
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_scalar_set_int
    - secp256k1_gej_eq_ge_var
    - testutil_random_fe_non_zero
    - secp256k1_ecmult
    - secp256k1_ecmult_const
    - secp256k1_fe_mul
    - skip_section
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_ecmult(const secp256k1_ge *group, const secp256k1_gej
      *groupj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - cbdata
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: ecmult_multi_callback
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecmult_multi_callback(secp256k1_scalar *sc, secp256k1_ge *pt, size_t
      idx, void *cbdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_create
      Src: /src/secp256k1/src/tests_exhaustive.c:199,1
    - Dst: skip_section
      Src: /src/secp256k1/src/tests_exhaustive.c:204,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:210,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:211,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:212,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/secp256k1/src/tests_exhaustive.c:216,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:217,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/tests_exhaustive.c:217,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/secp256k1/src/tests_exhaustive.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: test_exhaustive_ecmult_multi
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scratch_create
    - secp256k1_scalar_set_int
    - secp256k1_gej_eq_ge_var
    - secp256k1_scratch_destroy
    - secp256k1_ecmult_multi_var
    - skip_section
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_ecmult_multi(const secp256k1_context *ctx, const
      secp256k1_ge *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/tests_exhaustive.c:231,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/tests_exhaustive.c:232,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/tests_exhaustive.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - r
    - group
    - k
    - overflow
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: r_from_k
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_fe_normalize
    - secp256k1_fe_get_b32
    linkageType: ''
    returnType: void
    signature: void r_from_k(secp256k1_scalar *r, const secp256k1_ge *group, int k,
      int* overflow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/secp256k1/src/tests_exhaustive.c:251,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:253,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:254,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:255,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:256,1
    - Dst: r_from_k
      Src: /src/secp256k1/src/tests_exhaustive.c:264,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:266,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests_exhaustive.c:267,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/tests_exhaustive.c:268,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/tests_exhaustive.c:269,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/tests_exhaustive.c:270,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/secp256k1/src/tests_exhaustive.c:274,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/secp256k1/src/tests_exhaustive.c:277,1
    - Dst: memcpy
      Src: /src/secp256k1/src/tests_exhaustive.c:278,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/tests_exhaustive.c:279,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/tests_exhaustive.c:280,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:281,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/tests_exhaustive.c:282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 287
    functionName: test_exhaustive_verify
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_verify
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - memcpy
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_high
    - skip_section
    - secp256k1_ecdsa_signature_save
    - secp256k1_pubkey_save
    - r_from_k
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_verify(const secp256k1_context *ctx, const secp256k1_ge
      *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/secp256k1/src/tests_exhaustive.c:296,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:303,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:304,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/tests_exhaustive.c:305,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/tests_exhaustive.c:306,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/tests_exhaustive.c:308,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:309,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/secp256k1/src/tests_exhaustive.c:311,1
    - Dst: r_from_k
      Src: /src/secp256k1/src/tests_exhaustive.c:315,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:316,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:317,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 336
    functionName: test_exhaustive_sign
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_ecdsa_sign
    - skip_section
    - secp256k1_ecdsa_signature_load
    - r_from_k
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_sign(const secp256k1_context *ctx, const secp256k1_ge
      *group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/secp256k1/src/tests_exhaustive.c:364,1
    - Dst: setbuf
      Src: /src/secp256k1/src/tests_exhaustive.c:367,1
    - Dst: printf
      Src: /src/secp256k1/src/tests_exhaustive.c:369,1
    - Dst: strtol
      Src: /src/secp256k1/src/tests_exhaustive.c:373,1
    - Dst: printf
      Src: /src/secp256k1/src/tests_exhaustive.c:375,1
    - Dst: testrand_init
      Src: /src/secp256k1/src/tests_exhaustive.c:378,1
    - Dst: strtol
      Src: /src/secp256k1/src/tests_exhaustive.c:382,1
    - Dst: strtol
      Src: /src/secp256k1/src/tests_exhaustive.c:383,1
    - Dst: fprintf
      Src: /src/secp256k1/src/tests_exhaustive.c:385,1
    - Dst: printf
      Src: /src/secp256k1/src/tests_exhaustive.c:388,1
    - Dst: secp256k1_ecmult_gen_compute_table
      Src: /src/secp256k1/src/tests_exhaustive.c:392,1
    - Dst: secp256k1_ecmult_compute_two_tables
      Src: /src/secp256k1/src/tests_exhaustive.c:393,1
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/tests_exhaustive.c:397,1
    - Dst: testrand256
      Src: /src/secp256k1/src/tests_exhaustive.c:398,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:399,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/src/tests_exhaustive.c:399,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/tests_exhaustive.c:402,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests_exhaustive.c:403,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/tests_exhaustive.c:405,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests_exhaustive.c:406,1
    - Dst: testutil_random_fe
      Src: /src/secp256k1/src/tests_exhaustive.c:411,1
    - Dst: secp256k1_gej_rescale
      Src: /src/secp256k1/src/tests_exhaustive.c:412,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/tests_exhaustive.c:421,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/tests_exhaustive.c:422,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/tests_exhaustive.c:423,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:425,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:426,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:427,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests_exhaustive.c:427,1
    - Dst: CHECK
      Src: /src/secp256k1/src/tests_exhaustive.c:428,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/tests_exhaustive.c:428,1
    - Dst: test_exhaustive_endomorphism
      Src: /src/secp256k1/src/tests_exhaustive.c:433,1
    - Dst: test_exhaustive_addition
      Src: /src/secp256k1/src/tests_exhaustive.c:434,1
    - Dst: test_exhaustive_ecmult
      Src: /src/secp256k1/src/tests_exhaustive.c:435,1
    - Dst: test_exhaustive_ecmult_multi
      Src: /src/secp256k1/src/tests_exhaustive.c:436,1
    - Dst: test_exhaustive_sign
      Src: /src/secp256k1/src/tests_exhaustive.c:437,1
    - Dst: test_exhaustive_verify
      Src: /src/secp256k1/src/tests_exhaustive.c:438,1
    - Dst: test_exhaustive_recovery
      Src: /src/secp256k1/src/tests_exhaustive.c:441,1
    - Dst: test_exhaustive_extrakeys
      Src: /src/secp256k1/src/tests_exhaustive.c:444,1
    - Dst: test_exhaustive_schnorrsig
      Src: /src/secp256k1/src/tests_exhaustive.c:447,1
    - Dst: test_exhaustive_ellswift
      Src: /src/secp256k1/src/tests_exhaustive.c:455,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/tests_exhaustive.c:459,1
    - Dst: testrand_finish
      Src: /src/secp256k1/src/tests_exhaustive.c:462,1
    - Dst: printf
      Src: /src/secp256k1/src/tests_exhaustive.c:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 466
    functionName: main
    functionSourceFile: /src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - testrand256
    - testrand_finish
    - secp256k1_ecmult_gen
    - secp256k1_gej_rescale
    - test_exhaustive_ecmult
    - test_exhaustive_sign
    - test_exhaustive_ecmult_multi
    - secp256k1_fe_equal
    - test_exhaustive_extrakeys
    - test_exhaustive_ellswift
    - secp256k1_scalar_set_int
    - secp256k1_ecmult_gen_compute_table
    - test_exhaustive_endomorphism
    - strtol
    - secp256k1_ecmult_compute_two_tables
    - secp256k1_context_create
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - secp256k1_gej_add_ge
    - fprintf
    - printf
    - testrand_init
    - test_exhaustive_recovery
    - secp256k1_ge_set_gej
    - setbuf
    - CHECK
    - test_exhaustive_verify
    - secp256k1_gej_set_infinity
    - testutil_random_fe
    - test_exhaustive_schnorrsig
    - test_exhaustive_addition
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: SECP256K1_GE_CONST
    functionSourceFile: /src/secp256k1/src/group.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GE_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: SECP256K1_GEJ_CONST
    functionSourceFile: /src/secp256k1/src/group.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GEJ_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: SECP256K1_GE_STORAGE_CONST
    functionSourceFile: /src/secp256k1/src/group.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GE_STORAGE_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n,
      o, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: SECP256K1_GE_STORAGE_CONST_GET
    functionSourceFile: /src/secp256k1/src/group.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GE_STORAGE_CONST_GET(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: SECP256K1_GE_VERIFY
    functionSourceFile: /src/secp256k1/src/group.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GE_VERIFY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: SECP256K1_GEJ_VERIFY
    functionSourceFile: /src/secp256k1/src/group.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GEJ_VERIFY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: secp256k1_scalar_set_int
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 21
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned
      int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:42,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:43,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: secp256k1_scalar_get_bits_limb32
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_limb32(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:50,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:51,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:52,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/secp256k1/src/scalar_4x64_impl.h:55,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: secp256k1_scalar_get_bits_var
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_get_bits_limb32
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_var(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: secp256k1_scalar_check_overflow
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_check_overflow(const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:76,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:78,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:79,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:80,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:80,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:81,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:82,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:83,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:83,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:84,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:85,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:86,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:86,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:87,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:88,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - r
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: secp256k1_scalar_reduce
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_reduce(secp256k1_scalar *r, unsigned
      int overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:97,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:98,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:100,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:101,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:102,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:102,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:103,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:104,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:105,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:105,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:106,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:107,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:108,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:108,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:109,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:110,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:111,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:111,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:112,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/secp256k1/src/scalar_4x64_impl.h:112,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:113,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/secp256k1/src/scalar_4x64_impl.h:114,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: secp256k1_scalar_add
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 27
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_scalar_check_overflow
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - secp256k1_scalar_reduce
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:123,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:124,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:127,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:128,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:129,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:129,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:130,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:131,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:132,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:132,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:133,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:134,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:135,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:135,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:136,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:137,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:138,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:140,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:141,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - r
    - bit
    - flag
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 142
    functionName: secp256k1_scalar_cadd_bit
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - secp256k1_u128_hi_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit,
      int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_read_be64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:146,1
    - Dst: secp256k1_read_be64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:147,1
    - Dst: secp256k1_read_be64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:148,1
    - Dst: secp256k1_read_be64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:149,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/secp256k1/src/scalar_4x64_impl.h:150,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/secp256k1/src/scalar_4x64_impl.h:150,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - b32
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: secp256k1_scalar_set_b32
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 23
    functionsReached:
    - secp256k1_scalar_reduce
    - secp256k1_scalar_check_overflow
    - secp256k1_read_be64
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char
      *b32, int *overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:159,1
    - Dst: secp256k1_write_be64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:161,1
    - Dst: secp256k1_write_be64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:162,1
    - Dst: secp256k1_write_be64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:163,1
    - Dst: secp256k1_write_be64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bin
    - a
    argTypes:
    - unsigned char*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: secp256k1_scalar_get_b32
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 17
    functionsReached:
    - secp256k1_write_be64
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar*
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: secp256k1_scalar_is_zero
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 20
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_zero(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_4x64_impl.h:174,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:176,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:178,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:179,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:180,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:180,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:181,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:182,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:183,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:183,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:184,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:185,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:186,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:186,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:187,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:188,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:189,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: secp256k1_scalar_negate
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 26
    functionsReached:
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:211,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:213,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:214,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:215,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:215,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:216,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:217,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:218,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:218,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:219,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:220,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:221,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:221,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:222,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:226,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:227,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:228,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:229,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:229,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 233
    functionName: secp256k1_scalar_half
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_half(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: secp256k1_scalar_is_one
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 3
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_one(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: secp256k1_scalar_is_high
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 6
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_is_high(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_4x64_impl.h:260,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:262,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:264,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:265,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:266,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:266,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:267,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:268,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:269,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:269,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:270,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:271,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:272,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:272,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:273,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:274,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:275,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - r
    - flag
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 279
    functionName: secp256k1_scalar_cond_negate
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: muladd
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: muladd(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: muladd_fast
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: muladd_fast(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: sumadd
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sumadd(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: sumadd_fast
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sumadd_fast(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: extract
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extract(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: extract_fast
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extract_fast(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:459,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:460,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:461,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:462,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:463,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:464,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:465,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:546,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:547,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:548,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:549,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:550,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:598,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:599,1
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:613,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:614,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:615,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:616,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:617,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:618,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:619,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:620,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:621,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:622,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:623,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:624,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:625,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:626,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:627,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:628,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:629,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:630,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:631,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:632,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:633,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:634,1
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:640,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:641,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:642,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:643,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:644,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:645,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:646,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:647,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:648,1
    - Dst: sumadd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:649,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:650,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:651,1
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:652,1
    - Dst: sumadd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:653,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:654,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:656,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:660,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/scalar_4x64_impl.h:661,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:662,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:662,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:663,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/secp256k1/src/scalar_4x64_impl.h:664,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:665,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:665,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:666,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:667,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:668,1
    - Dst: secp256k1_u128_rshift
      Src: /src/secp256k1/src/scalar_4x64_impl.h:668,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:669,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:670,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:671,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/secp256k1/src/scalar_4x64_impl.h:675,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/secp256k1/src/scalar_4x64_impl.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 80
    argCount: 2
    argNames:
    - r
    - l
    argTypes:
    - secp256k1_scalar*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 676
    functionName: secp256k1_scalar_reduce_512
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - sumadd
    - secp256k1_u128_from_u64
    - secp256k1_scalar_reduce
    - secp256k1_scalar_check_overflow
    - extract
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - muladd_fast
    - secp256k1_u128_accum_mul
    - sumadd_fast
    - SECP256K1_CHECKMEM_MSAN_DEFINE
    - extract_fast
    - muladd
    - secp256k1_u128_hi_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_reduce_512(secp256k1_scalar *r, const uint64_t
      *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/secp256k1/src/scalar_4x64_impl.h:812,1
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:820,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:821,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:822,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:823,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:824,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:825,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:826,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:827,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:828,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:829,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:830,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:831,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:832,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:833,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:834,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:835,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:836,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:837,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:838,1
    - Dst: muladd
      Src: /src/secp256k1/src/scalar_4x64_impl.h:839,1
    - Dst: extract
      Src: /src/secp256k1/src/scalar_4x64_impl.h:840,1
    - Dst: muladd_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:841,1
    - Dst: extract_fast
      Src: /src/secp256k1/src/scalar_4x64_impl.h:842,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - l8
    - a
    - b
    argTypes:
    - uint64_t*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 846
    functionName: secp256k1_scalar_mul_512
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - extract
    - muladd_fast
    - SECP256K1_CHECKMEM_MSAN_DEFINE
    - extract_fast
    - muladd
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul_512(uint64_t *l8, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:857,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:858,1
    - Dst: secp256k1_scalar_mul_512
      Src: /src/secp256k1/src/scalar_4x64_impl.h:860,1
    - Dst: secp256k1_scalar_reduce_512
      Src: /src/secp256k1/src/scalar_4x64_impl.h:861,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 864
    functionName: secp256k1_scalar_mul
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 16
    functionsReached:
    - secp256k1_scalar_reduce_512
    - secp256k1_scalar_mul_512
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:867,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:878,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r1
    - r2
    - k
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 880
    functionName: secp256k1_scalar_split_128
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar
      *r2, const secp256k1_scalar *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:883,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: secp256k1_scalar_eq
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 14
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_eq(const secp256k1_scalar *a, const
      secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:894,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:895,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:896,1
    - Dst: secp256k1_scalar_mul_512
      Src: /src/secp256k1/src/scalar_4x64_impl.h:898,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/secp256k1/src/scalar_4x64_impl.h:906,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - r
    - a
    - b
    - shift
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: secp256k1_scalar_mul_shift_var
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_cadd_bit
    - VERIFY_CHECK
    - secp256k1_scalar_mul_512
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_mul_shift_var(secp256k1_scalar *r,
      const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:914,1
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:915,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 925
    functionName: secp256k1_scalar_cmov
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 7
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_cmov(secp256k1_scalar *r, const secp256k1_scalar
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:933,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:934,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:935,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:936,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:937,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_modinv64_signed62*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 945
    functionName: secp256k1_scalar_from_signed62
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_from_signed62(secp256k1_scalar *r, const secp256k1_modinv64_signed62
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 957
    functionName: secp256k1_scalar_to_signed62
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 0
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_to_signed62(secp256k1_modinv64_signed62 *r, const
      secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_4x64_impl.h:967,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:969,1
    - Dst: secp256k1_scalar_to_signed62
      Src: /src/secp256k1/src/scalar_4x64_impl.h:971,1
    - Dst: secp256k1_modinv64
      Src: /src/secp256k1/src/scalar_4x64_impl.h:972,1
    - Dst: secp256k1_scalar_from_signed62
      Src: /src/secp256k1/src/scalar_4x64_impl.h:973,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:975,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:976,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_4x64_impl.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 977
    functionName: secp256k1_scalar_inverse
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_modinv64
    - secp256k1_scalar_to_signed62
    - secp256k1_scalar_from_signed62
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_4x64_impl.h:982,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:984,1
    - Dst: secp256k1_scalar_to_signed62
      Src: /src/secp256k1/src/scalar_4x64_impl.h:986,1
    - Dst: secp256k1_modinv64_var
      Src: /src/secp256k1/src/scalar_4x64_impl.h:987,1
    - Dst: secp256k1_scalar_from_signed62
      Src: /src/secp256k1/src/scalar_4x64_impl.h:988,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:990,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/scalar_4x64_impl.h:991,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/scalar_4x64_impl.h:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 992
    functionName: secp256k1_scalar_inverse_var
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_scalar_to_signed62
    - secp256k1_scalar_from_signed62
    - secp256k1_modinv64_var
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/secp256k1/src/scalar_4x64_impl.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 998
    functionName: secp256k1_scalar_is_even
    functionSourceFile: /src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 1
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_even(const secp256k1_scalar *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:22,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:23,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:24,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:25,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:26,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: secp256k1_fe_impl_verify
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_verify(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: secp256k1_fe_impl_get_bounds
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_get_bounds(secp256k1_fe *r, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:58,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: secp256k1_fe_impl_normalize
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: secp256k1_fe_impl_normalize_weak
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize_weak(secp256k1_fe *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:114,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: secp256k1_fe_impl_normalize_var
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize_var(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: secp256k1_fe_impl_normalizes_to_zero
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_normalizes_to_zero(const secp256k1_fe *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 199
    functionName: secp256k1_fe_impl_normalizes_to_zero_var
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_normalizes_to_zero_var(const secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: secp256k1_fe_impl_set_int
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_set_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: secp256k1_fe_impl_is_zero
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_is_zero(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: secp256k1_fe_impl_is_odd
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_is_odd(const secp256k1_fe *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: secp256k1_fe_impl_cmp_var
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_cmp_var(const secp256k1_fe *a, const secp256k1_fe
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 263
    functionName: secp256k1_fe_impl_set_b32_mod
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_set_b32_mod(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_set_b32_mod
      Src: /src/secp256k1/src/field_5x52_impl.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: secp256k1_fe_impl_set_b32_limit
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_impl_set_b32_mod
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_set_b32_limit(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 304
    functionName: secp256k1_fe_impl_get_b32
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_get_b32(unsigned char *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:308,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:309,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - r
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: secp256k1_fe_impl_negate_unchecked
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_negate_unchecked(secp256k1_fe *r,
      const secp256k1_fe *a, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: secp256k1_fe_impl_mul_int_unchecked
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_mul_int_unchecked(secp256k1_fe *r,
      int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: secp256k1_fe_impl_add_int
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_add_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: secp256k1_fe_impl_add
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_add(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_mul_inner
      Src: /src/secp256k1/src/field_5x52_impl.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: secp256k1_fe_impl_mul
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_mul_inner
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_mul(secp256k1_fe *r, const secp256k1_fe
      *a, const secp256k1_fe * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr_inner
      Src: /src/secp256k1/src/field_5x52_impl.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: secp256k1_fe_impl_sqr
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_sqr_inner
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_sqr(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/secp256k1/src/field_5x52_impl.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 360
    functionName: secp256k1_fe_impl_cmov
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_cmov(secp256k1_fe *r, const secp256k1_fe
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 414
    functionName: secp256k1_fe_impl_half
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_half(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/secp256k1/src/field_5x52_impl.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: secp256k1_fe_storage_cmov
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 3
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_storage_cmov(secp256k1_fe_storage *r,
      const secp256k1_fe_storage *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: secp256k1_fe_impl_to_storage
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_to_storage(secp256k1_fe_storage *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: secp256k1_fe_impl_from_storage
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_from_storage(secp256k1_fe *r, const
      secp256k1_fe_storage *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:450,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:451,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:452,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:453,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_5x52_impl.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_modinv64_signed62*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 461
    functionName: secp256k1_fe_from_signed62
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_from_signed62(secp256k1_fe *r, const secp256k1_modinv64_signed62
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: secp256k1_fe_to_signed62
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_to_signed62(secp256k1_modinv64_signed62 *r, const
      secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/field_5x52_impl.h:483,1
    - Dst: secp256k1_fe_to_signed62
      Src: /src/secp256k1/src/field_5x52_impl.h:484,1
    - Dst: secp256k1_modinv64
      Src: /src/secp256k1/src/field_5x52_impl.h:485,1
    - Dst: secp256k1_fe_from_signed62
      Src: /src/secp256k1/src/field_5x52_impl.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: secp256k1_fe_impl_inv
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_to_signed62
    - secp256k1_modinv64
    - secp256k1_fe_normalize
    - secp256k1_fe_from_signed62
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_inv(secp256k1_fe *r, const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/field_5x52_impl.h:493,1
    - Dst: secp256k1_fe_to_signed62
      Src: /src/secp256k1/src/field_5x52_impl.h:494,1
    - Dst: secp256k1_modinv64_var
      Src: /src/secp256k1/src/field_5x52_impl.h:495,1
    - Dst: secp256k1_fe_from_signed62
      Src: /src/secp256k1/src/field_5x52_impl.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: secp256k1_fe_impl_inv_var
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_to_signed62
    - secp256k1_fe_from_signed62
    - secp256k1_fe_normalize_var
    - secp256k1_modinv64_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_inv_var(secp256k1_fe *r, const secp256k1_fe
      *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/field_5x52_impl.h:505,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/secp256k1/src/field_5x52_impl.h:507,1
    - Dst: secp256k1_fe_to_signed62
      Src: /src/secp256k1/src/field_5x52_impl.h:508,1
    - Dst: secp256k1_jacobi64_maybe_var
      Src: /src/secp256k1/src/field_5x52_impl.h:509,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/secp256k1/src/field_5x52_impl.h:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 520
    functionName: secp256k1_fe_impl_is_square_var
    functionSourceFile: /src/secp256k1/src/field_5x52_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_to_signed62
    - secp256k1_fe_sqrt
    - secp256k1_fe_normalize_var
    - secp256k1_fe_is_zero
    - secp256k1_jacobi64_maybe_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_is_square_var(const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:22,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:23,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:24,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:25,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:26,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:27,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:28,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:29,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:30,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:31,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:32,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:33,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:34,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:35,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:36,1
    - Dst: printf
      Src: /src/secp256k1/src/bench_internal.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - default_iters
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: help
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void help(int default_iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/bench_internal.c:85,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/bench_internal.c:86,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/bench_internal.c:87,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/bench_internal.c:88,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/bench_internal.c:89,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/bench_internal.c:90,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:91,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/bench_internal.c:91,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:92,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/bench_internal.c:92,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/bench_internal.c:93,1
    - Dst: secp256k1_gej_rescale
      Src: /src/secp256k1/src/bench_internal.c:94,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/bench_internal.c:95,1
    - Dst: secp256k1_gej_rescale
      Src: /src/secp256k1/src/bench_internal.c:96,1
    - Dst: memcpy
      Src: /src/secp256k1/src/bench_internal.c:97,1
    - Dst: memcpy
      Src: /src/secp256k1/src/bench_internal.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 99
    functionName: bench_setup
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_set_b32
    - secp256k1_gej_set_ge
    - memcpy
    - secp256k1_gej_rescale
    - secp256k1_ge_set_xo_var
    linkageType: ''
    returnType: void
    signature: void bench_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/bench_internal.c:106,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: bench_scalar_add
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_scalar_add(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/bench_internal.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: bench_scalar_negate
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_negate
    linkageType: ''
    returnType: void
    signature: void bench_scalar_negate(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_half
      Src: /src/secp256k1/src/bench_internal.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: bench_scalar_half
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_half
    linkageType: ''
    returnType: void
    signature: void bench_scalar_half(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/bench_internal.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: bench_scalar_mul
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_mul
    linkageType: ''
    returnType: void
    signature: void bench_scalar_mul(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/secp256k1/src/bench_internal.c:147,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/bench_internal.c:148,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: bench_scalar_split
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_split_lambda
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_scalar_split(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_inverse
      Src: /src/secp256k1/src/bench_internal.c:158,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/bench_internal.c:159,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: bench_scalar_inverse
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_inverse
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_scalar_inverse(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/secp256k1/src/bench_internal.c:169,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/bench_internal.c:170,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: bench_scalar_inverse_var
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_inverse_var
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_scalar_inverse_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_half
      Src: /src/secp256k1/src/bench_internal.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: bench_field_half
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_half
    linkageType: ''
    returnType: void
    signature: void bench_field_half(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/bench_internal.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: bench_field_normalize
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_normalize
    linkageType: ''
    returnType: void
    signature: void bench_field_normalize(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/bench_internal.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: bench_field_normalize_weak
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_normalize_weak
    linkageType: ''
    returnType: void
    signature: void bench_field_normalize_weak(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/bench_internal.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: bench_field_mul
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void bench_field_mul(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/bench_internal.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: bench_field_sqr
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void bench_field_sqr(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_inv
      Src: /src/secp256k1/src/bench_internal.c:225,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/bench_internal.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: bench_field_inverse
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_inv
    - secp256k1_fe_add
    linkageType: ''
    returnType: void
    signature: void bench_field_inverse(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_inv_var
      Src: /src/secp256k1/src/bench_internal.c:235,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/bench_internal.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: bench_field_inverse_var
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_add
    - secp256k1_fe_inv_var
    linkageType: ''
    returnType: void
    signature: void bench_field_inverse_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqrt
      Src: /src/secp256k1/src/bench_internal.c:247,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/bench_internal.c:248,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: bench_field_sqrt
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_sqrt
    - secp256k1_fe_add
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_field_sqrt(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/bench_internal.c:259,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/bench_internal.c:260,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/bench_internal.c:261,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: bench_field_is_square_var
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_add
    - CHECK
    - secp256k1_fe_is_square_var
    - secp256k1_fe_normalize_var
    linkageType: ''
    returnType: void
    signature: void bench_field_is_square_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/bench_internal.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: bench_group_double_var
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_double_var
    linkageType: ''
    returnType: void
    signature: void bench_group_double_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/bench_internal.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: bench_group_add_var
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void bench_group_add_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_ge
      Src: /src/secp256k1/src/bench_internal.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: bench_group_add_affine
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_add_ge
    linkageType: ''
    returnType: void
    signature: void bench_group_add_affine(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/bench_internal.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: bench_group_add_affine_var
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_add_ge_var
    linkageType: ''
    returnType: void
    signature: void bench_group_add_affine_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/secp256k1/src/bench_internal.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: bench_group_add_zinv_var
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_add_zinv_var
    linkageType: ''
    returnType: void
    signature: void bench_group_add_zinv_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/secp256k1/src/bench_internal.c:316,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/bench_internal.c:322,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/bench_internal.c:323,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/bench_internal.c:324,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/bench_internal.c:325,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/bench_internal.c:326,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/bench_internal.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 329
    functionName: bench_group_to_affine_var
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_add
    - secp256k1_ge_set_gej_var
    - secp256k1_fe_normalize_var
    linkageType: ''
    returnType: void
    signature: void bench_group_to_affine_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/secp256k1/src/bench_internal.c:336,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/bench_internal.c:337,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:339,1
    - Dst: CHECK
      Src: /src/secp256k1/src/bench_internal.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: bench_ecmult_wnaf
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_wnaf
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_wnaf(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/bench_internal.c:349,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/bench_internal.c:350,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/bench_internal.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: bench_sha256
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void bench_sha256(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/secp256k1/src/bench_internal.c:361,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/secp256k1/src/bench_internal.c:362,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/secp256k1/src/bench_internal.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: bench_hmac_sha256
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_hmac_sha256_write
    - secp256k1_hmac_sha256_initialize
    - secp256k1_hmac_sha256_finalize
    linkageType: ''
    returnType: void
    signature: void bench_hmac_sha256(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/secp256k1/src/bench_internal.c:373,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/secp256k1/src/bench_internal.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: bench_rfc6979_hmac_sha256
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_rfc6979_hmac_sha256_initialize
    - secp256k1_rfc6979_hmac_sha256_generate
    linkageType: ''
    returnType: void
    signature: void bench_rfc6979_hmac_sha256(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/bench_internal.c:382,1
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/bench_internal.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: bench_context
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_context_create
    - secp256k1_context_destroy
    linkageType: ''
    returnType: void
    signature: void bench_context(void* arg, int iters)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: get_iters
      Src: /src/secp256k1/src/bench_internal.c:389,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:393,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:394,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:395,1
    - Dst: help
      Src: /src/secp256k1/src/bench_internal.c:396,1
    - Dst: print_output_table_header_row
      Src: /src/secp256k1/src/bench_internal.c:401,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:403,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:403,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:403,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:404,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:404,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:404,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:405,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:405,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:405,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:406,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:406,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:406,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:407,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:407,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:407,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:408,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:408,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:408,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:409,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:409,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:409,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:411,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:411,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:411,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:412,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:412,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:412,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:413,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:413,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:413,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:414,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:414,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:414,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:415,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:415,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:415,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:416,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:416,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:416,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:417,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:417,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:417,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:418,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:418,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:418,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:419,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:419,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:419,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:421,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:421,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:421,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:422,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:422,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:422,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:423,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:423,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:423,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:424,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:424,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:424,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:425,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:425,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:425,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:426,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:426,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:426,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:428,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:428,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:428,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:430,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:430,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:430,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:431,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:431,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:431,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:432,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:432,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:432,1
    - Dst: have_flag
      Src: /src/secp256k1/src/bench_internal.c:434,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/bench_internal.c:434,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 437
    functionName: main
    functionSourceFile: /src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - get_iters
    - have_flag
    - print_output_table_header_row
    - run_benchmark
    - help
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:22,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:23,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:25,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:26,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:28,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:29,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:30,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:31,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - table
    - window_g
    - gen
    argTypes:
    - secp256k1_ge_storage*
    - int
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: secp256k1_ecmult_compute_table
    functionSourceFile: /src/secp256k1/src/ecmult_compute_table_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ge_to_storage
    - secp256k1_gej_add_ge_var
    - secp256k1_ge_set_gej_var
    - secp256k1_gej_set_ge
    - secp256k1_gej_double_var
    - ECMULT_TABLE_SIZE
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_compute_table(secp256k1_ge_storage* table, int
      window_g, const secp256k1_gej* gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:41,1
    - Dst: secp256k1_ecmult_compute_table
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:42,1
    - Dst: secp256k1_gej_double_var
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:44,1
    - Dst: secp256k1_ecmult_compute_table
      Src: /src/secp256k1/src/ecmult_compute_table_impl.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - table
    - table_128
    - window_g
    - gen
    argTypes:
    - secp256k1_ge_storage*
    - secp256k1_ge_storage*
    - int
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: secp256k1_ecmult_compute_two_tables
    functionSourceFile: /src/secp256k1/src/ecmult_compute_table_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_ecmult_compute_table
    - secp256k1_gej_double_var
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_compute_two_tables(secp256k1_ge_storage* table,
      secp256k1_ge_storage* table_128, int window_g, const secp256k1_ge* gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/field_impl.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: secp256k1_fe_clear
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_clear(secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:27,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:28,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/field_impl.h:29,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/field_impl.h:30,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/field_impl.h:32,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/field_impl.h:33,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/field_impl.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: secp256k1_fe_equal
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 13
    functionsReached:
    - SECP256K1_FE_VERIFY_MAGNITUDE
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_fe_add
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_negate
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: secp256k1_fe_verify
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_verify(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: secp256k1_fe_verify_magnitude
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_verify_magnitude(const secp256k1_fe *a, int m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/field_impl.h:155,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:157,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/field_impl.h:159,1
    - Dst: secp256k1_fe_impl_verify
      Src: /src/secp256k1/src/field_impl.h:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: secp256k1_fe_verify
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_impl_verify
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_verify(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:165,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:166,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: secp256k1_fe_verify_magnitude
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_verify_magnitude(const secp256k1_fe *a, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:172,1
    - Dst: secp256k1_fe_impl_normalize
      Src: /src/secp256k1/src/field_impl.h:174,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: secp256k1_fe_normalize
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 13
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_normalize
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalize(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:183,1
    - Dst: secp256k1_fe_impl_normalize_weak
      Src: /src/secp256k1/src/field_impl.h:185,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: secp256k1_fe_normalize_weak
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 9
    functionsReached:
    - secp256k1_fe_impl_normalize_weak
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalize_weak(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:193,1
    - Dst: secp256k1_fe_impl_normalize_var
      Src: /src/secp256k1/src/field_impl.h:195,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: secp256k1_fe_normalize_var
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 12
    functionsReached:
    - secp256k1_fe_impl_normalize_var
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalize_var(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:204,1
    - Dst: secp256k1_fe_impl_normalizes_to_zero
      Src: /src/secp256k1/src/field_impl.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: secp256k1_fe_normalizes_to_zero
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 7
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_normalizes_to_zero
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalizes_to_zero(const secp256k1_fe
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:211,1
    - Dst: secp256k1_fe_impl_normalizes_to_zero_var
      Src: /src/secp256k1/src/field_impl.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: secp256k1_fe_normalizes_to_zero_var
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 7
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_normalizes_to_zero_var
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalizes_to_zero_var(const secp256k1_fe
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:218,1
    - Dst: secp256k1_fe_impl_set_int
      Src: /src/secp256k1/src/field_impl.h:220,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: secp256k1_fe_set_int
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 15
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_set_int
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_set_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:229,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:230,1
    - Dst: secp256k1_fe_impl_add_int
      Src: /src/secp256k1/src/field_impl.h:232,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: secp256k1_fe_add_int
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_fe_impl_add_int
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_add_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:241,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:242,1
    - Dst: secp256k1_fe_impl_is_zero
      Src: /src/secp256k1/src/field_impl.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: secp256k1_fe_is_zero
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_fe_impl_is_zero
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_is_zero(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:249,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:250,1
    - Dst: secp256k1_fe_impl_is_odd
      Src: /src/secp256k1/src/field_impl.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: secp256k1_fe_is_odd
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_is_odd
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_is_odd(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:257,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:258,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:259,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:260,1
    - Dst: secp256k1_fe_impl_cmp_var
      Src: /src/secp256k1/src/field_impl.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: secp256k1_fe_cmp_var
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_cmp_var
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_cmp_var(const secp256k1_fe *a, const
      secp256k1_fe *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_set_b32_mod
      Src: /src/secp256k1/src/field_impl.h:267,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: secp256k1_fe_set_b32_mod
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 3
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_set_b32_mod
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_set_b32_mod(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_set_b32_limit
      Src: /src/secp256k1/src/field_impl.h:276,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: secp256k1_fe_set_b32_limit
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 7
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_set_b32_limit
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_set_b32_limit(secp256k1_fe *r, const
      unsigned char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:290,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:291,1
    - Dst: secp256k1_fe_impl_get_b32
      Src: /src/secp256k1/src/field_impl.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: secp256k1_fe_get_b32
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_get_b32
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:298,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:299,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/field_impl.h:300,1
    - Dst: secp256k1_fe_impl_negate_unchecked
      Src: /src/secp256k1/src/field_impl.h:302,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - r
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: secp256k1_fe_negate_unchecked
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_negate_unchecked
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_negate_unchecked(secp256k1_fe *r, const
      secp256k1_fe *a, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:311,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:313,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:314,1
    - Dst: secp256k1_fe_impl_mul_int_unchecked
      Src: /src/secp256k1/src/field_impl.h:315,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: secp256k1_fe_mul_int_unchecked
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_mul_int_unchecked
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_mul_int_unchecked(secp256k1_fe *r, int
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:324,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:325,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:326,1
    - Dst: secp256k1_fe_impl_add
      Src: /src/secp256k1/src/field_impl.h:328,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: secp256k1_fe_add
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 21
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_add
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:337,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:338,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/field_impl.h:339,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/field_impl.h:340,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:341,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:342,1
    - Dst: secp256k1_fe_impl_mul
      Src: /src/secp256k1/src/field_impl.h:344,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 349
    functionName: secp256k1_fe_mul
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 34
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_impl_mul
    - SECP256K1_FE_VERIFY
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe
      *a, const secp256k1_fe * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:353,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/field_impl.h:354,1
    - Dst: secp256k1_fe_impl_sqr
      Src: /src/secp256k1/src/field_impl.h:356,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: secp256k1_fe_sqr
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 24
    functionsReached:
    - secp256k1_fe_impl_sqr
    - SECP256K1_FE_VERIFY
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:365,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:366,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:367,1
    - Dst: secp256k1_fe_impl_cmov
      Src: /src/secp256k1/src/field_impl.h:369,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: secp256k1_fe_cmov
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_cmov
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:378,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:379,1
    - Dst: secp256k1_fe_impl_to_storage
      Src: /src/secp256k1/src/field_impl.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: secp256k1_fe_to_storage
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_fe_impl_to_storage
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_to_storage(secp256k1_fe_storage *r, const
      secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_from_storage
      Src: /src/secp256k1/src/field_impl.h:386,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: secp256k1_fe_from_storage
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_fe_impl_from_storage
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/field_impl.h:395,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:396,1
    - Dst: secp256k1_fe_impl_inv
      Src: /src/secp256k1/src/field_impl.h:398,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:402,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/field_impl.h:402,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: secp256k1_fe_inv
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_fe_impl_inv
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalizes_to_zero
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/field_impl.h:408,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:409,1
    - Dst: secp256k1_fe_impl_inv_var
      Src: /src/secp256k1/src/field_impl.h:411,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:415,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/secp256k1/src/field_impl.h:415,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: secp256k1_fe_inv_var
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_fe_impl_inv_var
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalizes_to_zero
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:423,1
    - Dst: secp256k1_fe_impl_is_square_var
      Src: /src/secp256k1/src/field_impl.h:425,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/field_impl.h:426,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:427,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/secp256k1/src/field_impl.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: secp256k1_fe_is_square_var
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_sqrt
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_impl_is_square_var
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_is_square_var(const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:433,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/field_impl.h:434,1
    - Dst: secp256k1_fe_impl_get_bounds
      Src: /src/secp256k1/src/field_impl.h:436,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: secp256k1_fe_get_bounds
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_get_bounds
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_get_bounds(secp256k1_fe* r, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:445,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/secp256k1/src/field_impl.h:446,1
    - Dst: secp256k1_fe_impl_half
      Src: /src/secp256k1/src/field_impl.h:448,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/field_impl.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: secp256k1_fe_half
    functionSourceFile: /src/secp256k1/src/field_impl.h
    functionUses: 5
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_half
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_half(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:29,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:33,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:44,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:45,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:46,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:47,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:50,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:51,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:52,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:53,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:56,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:57,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:58,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:59,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:62,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:64,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:65,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:66,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:69,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:75,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:76,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:77,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:78,1
    - Dst: STATIC_ASSERT
      Src: /src/secp256k1/src/assumptions.h:80,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/assumptions.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 85
    functionName: secp256k1_assumption_checker
    functionSourceFile: /src/secp256k1/src/assumptions.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - STATIC_ASSERT
    linkageType: ''
    returnType: void
    signature: void secp256k1_assumption_checker(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:33,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:35,1
    - Dst: secp256k1_ge_to_bytes_ext
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:37,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:39,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - cache_i
    argTypes:
    - secp256k1_musig_keyagg_cache*
    - secp256k1_keyagg_cache_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: secp256k1_keyagg_cache_save
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_ge_to_bytes
    - secp256k1_ge_to_bytes_ext
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_keyagg_cache_save(secp256k1_musig_keyagg_cache *cache,
      const secp256k1_keyagg_cache_internal *cache_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:48,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:48,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:50,1
    - Dst: secp256k1_ge_from_bytes_ext
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:52,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:54,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - cache_i
    - cache
    argTypes:
    - secp256k1_context*
    - secp256k1_keyagg_cache_internal*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: secp256k1_keyagg_cache_load
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ge_from_bytes_ext
    - secp256k1_scalar_set_b32
    - memcpy
    - secp256k1_ge_from_bytes
    - secp256k1_memcmp_var
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keyagg_cache_load(const secp256k1_context* ctx, secp256k1_keyagg_cache_internal
      *cache_i, const secp256k1_musig_keyagg_cache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: secp256k1_musig_keyagglist_sha256
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_keyagglist_sha256(secp256k1_sha256 *sha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_keyagglist_sha256
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:83,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:87,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:90,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:91,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - pks_hash
    - pks
    - np
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_pubkey**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: secp256k1_musig_compute_pks_hash
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_sha256_finalize
    - secp256k1_ec_pubkey_serialize
    - secp256k1_musig_keyagglist_sha256
    - secp256k1_sha256_write
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_compute_pks_hash(const secp256k1_context *ctx,
      unsigned char *pks_hash, const secp256k1_pubkey * const* pks, size_t np)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: secp256k1_musig_keyaggcoef_sha256
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_keyaggcoef_sha256(secp256k1_sha256 *sha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:119,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:119,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:121,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:122,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:123,1
    - Dst: secp256k1_musig_keyaggcoef_sha256
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:129,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:130,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:131,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:135,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:139,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:140,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - r
    - pks_hash
    - pk
    - second_pk
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: secp256k1_musig_keyaggcoef_internal
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_eckey_pubkey_serialize
    - VERIFY_CHECK
    - secp256k1_ge_eq_var
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_set_int
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    - secp256k1_ge_is_infinity
    - secp256k1_musig_keyaggcoef_sha256
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_keyaggcoef_internal(secp256k1_scalar *r, const
      unsigned char *pks_hash, secp256k1_ge *pk, const secp256k1_ge *second_pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_keyaggcoef_internal
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - cache_i
    - pk
    argTypes:
    - secp256k1_scalar*
    - secp256k1_keyagg_cache_internal*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: secp256k1_musig_keyaggcoef
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_musig_keyaggcoef_internal
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_keyaggcoef(secp256k1_scalar *r, const secp256k1_keyagg_cache_internal
      *cache_i, secp256k1_ge *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:163,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:167,1
    - Dst: secp256k1_musig_keyaggcoef_internal
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - data
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: secp256k1_musig_pubkey_agg_callback
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_musig_keyaggcoef_internal
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_agg_callback(secp256k1_scalar *sc, secp256k1_ge
      *pt, size_t idx, void *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:181,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:183,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:185,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:186,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:191,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:193,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:195,1
    - Dst: secp256k1_musig_compute_pks_hash
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:203,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:208,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:214,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:215,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:217,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:217,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:222,1
    - Dst: secp256k1_keyagg_cache_save
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:223,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:227,1
    - Dst: secp256k1_xonly_pubkey_save
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - ctx
    - agg_pk
    - keyagg_cache
    - pubkeys
    - n_pubkeys
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - secp256k1_musig_keyagg_cache*
    - secp256k1_pubkey**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 231
    functionName: secp256k1_musig_pubkey_agg
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_ge_set_infinity
    - secp256k1_ge_is_infinity
    - secp256k1_fe_normalize_var
    - memcpy
    - memset
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_xonly_pubkey_save
    - secp256k1_ecmult_multi_var
    - secp256k1_memcmp_var
    - secp256k1_musig_compute_pks_hash
    - secp256k1_keyagg_cache_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_agg(const secp256k1_context* ctx, secp256k1_xonly_pubkey
      *agg_pk, secp256k1_musig_keyagg_cache *keyagg_cache, const secp256k1_pubkey
      * const* pubkeys, size_t n_pubkeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:235,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:236,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:237,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:238,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:240,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - agg_pk
    - keyagg_cache
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: secp256k1_musig_pubkey_get
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - memset
    - secp256k1_keyagg_cache_load
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_get(const secp256k1_context* ctx, secp256k1_pubkey
      *agg_pk, const secp256k1_musig_keyagg_cache *keyagg_cache)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:252,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:254,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:256,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:257,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:259,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:262,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:266,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:268,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:270,1
    - Dst: secp256k1_eckey_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:271,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:275,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:275,1
    - Dst: secp256k1_keyagg_cache_save
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:276,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - output_pubkey
    - keyagg_cache
    - tweak32
    - xonly
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 281
    functionName: secp256k1_musig_pubkey_tweak_add_internal
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_eckey_pubkey_tweak_add
    - secp256k1_scalar_set_b32
    - secp256k1_ge_is_infinity
    - secp256k1_pubkey_save
    - memset
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_scalar_negate
    - secp256k1_keyagg_cache_load
    - secp256k1_keyagg_cache_save
    - ARG_CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_tweak_add_internal(const secp256k1_context*
      ctx, secp256k1_pubkey *output_pubkey, secp256k1_musig_keyagg_cache *keyagg_cache,
      const unsigned char *tweak32, int xonly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_pubkey_tweak_add_internal
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - output_pubkey
    - keyagg_cache
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: secp256k1_musig_pubkey_ec_tweak_add
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_musig_pubkey_tweak_add_internal
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_ec_tweak_add(const secp256k1_context* ctx,
      secp256k1_pubkey *output_pubkey, secp256k1_musig_keyagg_cache *keyagg_cache,
      const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_pubkey_tweak_add_internal
      Src: /src/secp256k1/src/modules/musig/keyagg_impl.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - output_pubkey
    - keyagg_cache
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: secp256k1_musig_pubkey_xonly_tweak_add
    functionSourceFile: /src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_musig_pubkey_tweak_add_internal
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_xonly_tweak_add(const secp256k1_context*
      ctx, secp256k1_pubkey *output_pubkey, secp256k1_musig_keyagg_cache *keyagg_cache,
      const unsigned char *tweak32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:29,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - keypair
    - pk
    - sk
    argTypes:
    - secp256k1_keypair*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: create_keypair_and_pk
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_keypair_create
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: int
    signature: int create_keypair_and_pk(secp256k1_keypair *keypair, secp256k1_pubkey
      *pk, const unsigned char *sk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:58,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:60,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:65,1
    - Dst: create_keypair_and_pk
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:65,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:67,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:68,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:68,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:71,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:71,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:75,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:75,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:76,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:76,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:77,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:77,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:80,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:80,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:81,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:81,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:84,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:84,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:85,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: musig_simple_test
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - secp256k1_musig_nonce_gen_counter
    - CHECK
    - secp256k1_musig_nonce_process
    - create_keypair_and_pk
    - secp256k1_musig_partial_sig_agg
    - secp256k1_musig_partial_sig_verify
    - secp256k1_schnorrsig_verify
    - secp256k1_musig_nonce_gen
    - secp256k1_musig_pubkey_agg
    - secp256k1_musig_partial_sign
    - secp256k1_musig_nonce_agg
    linkageType: ''
    returnType: void
    signature: void musig_simple_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:96,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:97,1
    - Dst: secp256k1_musig_pubnonce_save
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:100,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:102,1
    - Dst: secp256k1_ge_neg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:103,1
    - Dst: secp256k1_musig_sum_pubnonces
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:106,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:107,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:107,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:108,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pubnonce
    argTypes:
    - secp256k1_musig_pubnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: pubnonce_summing_to_inf
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_gej_is_infinity
    - CHECK
    - testutil_random_ge_test
    - secp256k1_musig_sum_pubnonces
    - secp256k1_ge_neg
    - secp256k1_musig_pubnonce_save
    linkageType: ''
    returnType: void
    signature: void pubnonce_summing_to_inf(secp256k1_musig_pubnonce *pubnonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:114,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - value
    - expected
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: memcmp_and_randomize
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - testrand_bits
    linkageType: ''
    returnType: int
    signature: int memcmp_and_randomize(unsigned char *value, const unsigned char
      *expected, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:163,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:164,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:165,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:166,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:167,1
    - Dst: pubnonce_summing_to_inf
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:168,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:172,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:173,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:174,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:175,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:177,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:178,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:187,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:188,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:189,1
    - Dst: create_keypair_and_pk
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:189,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:200,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:200,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:201,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:201,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:202,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:202,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:203,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:203,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:204,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:204,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:205,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:205,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:206,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:206,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:207,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:207,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:208,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:208,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:209,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:209,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:210,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:210,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:211,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:211,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:212,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:212,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:214,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:214,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:217,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:217,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:218,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:218,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:219,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:219,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:220,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:220,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:230,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:233,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:235,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:236,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:236,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:238,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:239,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:239,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:241,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:242,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:242,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:245,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:246,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:246,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:251,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:251,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:256,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:256,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:258,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:258,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:259,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:259,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:261,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:261,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:263,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:263,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:264,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:264,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:266,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:266,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:267,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:267,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:270,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:271,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:271,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:272,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:272,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:273,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:273,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:275,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:275,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:276,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:276,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:279,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:279,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:280,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:280,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:282,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:282,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:283,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:283,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:285,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:285,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:286,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:286,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:288,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:288,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:289,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:289,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:291,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:291,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:292,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:292,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:294,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:294,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:295,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:295,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:297,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:297,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:298,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:298,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:301,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:301,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:302,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:302,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:305,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:305,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:306,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:306,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:307,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:307,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:308,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:308,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:309,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:309,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:310,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:310,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:312,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:312,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:313,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:313,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:315,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:315,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:316,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:316,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:317,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:317,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:318,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:318,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:319,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:319,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:320,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:320,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:321,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:321,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:324,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:324,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:325,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:325,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:329,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:329,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:330,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:330,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:331,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:331,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:332,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:332,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:333,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:333,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:334,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:334,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:336,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:336,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:337,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:337,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:338,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:338,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:339,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:339,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:340,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:340,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:345,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:345,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:346,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:346,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:347,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:347,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:351,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:351,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:352,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:352,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:353,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:353,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:354,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:354,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:355,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:355,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:356,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:356,1
    - Dst: secp256k1_musig_aggnonce_load
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:360,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:362,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:365,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:365,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:368,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:368,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:369,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:369,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:370,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:370,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:371,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:371,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:372,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:372,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:373,1
    - Dst: memcmp_and_randomize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:373,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:374,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:374,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:376,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:376,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:377,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:377,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:378,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:378,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:379,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:379,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:380,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:380,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:385,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:385,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:386,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:386,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:387,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:387,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:391,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:391,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:392,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:392,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:393,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:393,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:394,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:394,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:395,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:395,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:396,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:396,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:397,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:397,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:399,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:399,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:401,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:402,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:402,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:404,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:404,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:405,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:405,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:406,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:407,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:407,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:408,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:409,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:409,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:410,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:410,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:411,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:411,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:412,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:413,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:413,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:414,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:418,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:419,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:419,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:420,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:420,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:421,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:423,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:423,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:424,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:425,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:425,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:426,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:427,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:427,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:428,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:429,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:429,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:430,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:432,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:432,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:433,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:433,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:435,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:435,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:436,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:436,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:437,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:437,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:438,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:438,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:439,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:439,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:440,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:440,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:444,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:444,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:445,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:445,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:447,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:447,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:452,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:452,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:453,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:453,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:454,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:454,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:458,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:458,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:459,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:459,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:460,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:460,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:461,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:461,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:462,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:462,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:463,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:463,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:464,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:464,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:465,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:465,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:466,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:466,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:467,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:467,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:468,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:468,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:469,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:469,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:471,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:471,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:472,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:472,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:475,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:475,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:476,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:476,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:477,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:477,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:478,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:478,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:479,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:479,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:480,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:480,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:481,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:481,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:482,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:482,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:483,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 230
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 484
    functionName: musig_api_tests
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_musig_partial_sig_serialize
    - testrand256
    - secp256k1_musig_nonce_gen_counter
    - memcpy
    - memset
    - secp256k1_musig_nonce_gen
    - secp256k1_musig_pubnonce_serialize
    - secp256k1_musig_aggnonce_serialize
    - secp256k1_musig_nonce_process
    - secp256k1_musig_partial_sig_verify
    - memcmp_and_randomize
    - secp256k1_musig_pubnonce_parse
    - secp256k1_memcmp_var
    - secp256k1_ge_is_infinity
    - secp256k1_musig_nonce_agg
    - secp256k1_musig_pubkey_get
    - secp256k1_musig_pubkey_agg
    - CHECK_ILLEGAL
    - secp256k1_musig_partial_sign
    - CHECK
    - secp256k1_musig_aggnonce_load
    - create_keypair_and_pk
    - secp256k1_musig_partial_sig_agg
    - pubnonce_summing_to_inf
    - secp256k1_musig_aggnonce_parse
    - secp256k1_musig_partial_sig_parse
    - secp256k1_keypair_create
    linkageType: ''
    returnType: void
    signature: void musig_api_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_nonce_function_musig
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:489,1
    - Dst: testrand_flip
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:490,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:491,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:492,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:492,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:493,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - args
    - n_flip
    - n_bytes
    argTypes:
    - unsigned char**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: musig_nonce_bitflip
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_nonce_function_musig
    - secp256k1_scalar_eq
    - CHECK
    - testrand_flip
    linkageType: ''
    returnType: void
    signature: void musig_nonce_bitflip(unsigned char **args, size_t n_flip, size_t
      n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:507,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:508,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:509,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:510,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:511,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:512,1
    - Dst: musig_nonce_bitflip
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:522,1
    - Dst: musig_nonce_bitflip
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:523,1
    - Dst: musig_nonce_bitflip
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:524,1
    - Dst: musig_nonce_bitflip
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:525,1
    - Dst: musig_nonce_bitflip
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:526,1
    - Dst: musig_nonce_bitflip
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:527,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:531,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:532,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:533,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:534,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:535,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:536,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:537,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:538,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:539,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:540,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:541,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:543,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:543,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:545,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:545,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:546,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 549
    functionName: musig_nonce_test
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - CHECK
    - musig_nonce_bitflip
    - memcpy
    - secp256k1_nonce_function_musig
    - testrand_bytes_test
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void musig_nonce_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:553,1
    - Dst: test_sha256_eq
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sha_tagged
    - tag
    - taglen
    argTypes:
    - secp256k1_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: sha256_tag_test_internal
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - test_sha256_eq
    - secp256k1_sha256_initialize_tagged
    linkageType: ''
    returnType: void
    signature: void sha256_tag_test_internal(secp256k1_sha256 *sha_tagged, unsigned
      char *tag, size_t taglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_keyagglist_sha256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:563,1
    - Dst: sha256_tag_test_internal
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:564,1
    - Dst: secp256k1_musig_keyaggcoef_sha256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:568,1
    - Dst: sha256_tag_test_internal
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:569,1
    - Dst: secp256k1_nonce_function_musig_sha256_tagged_aux
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:573,1
    - Dst: sha256_tag_test_internal
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:574,1
    - Dst: secp256k1_nonce_function_musig_sha256_tagged
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:578,1
    - Dst: sha256_tag_test_internal
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:579,1
    - Dst: secp256k1_musig_compute_noncehash_sha256_tagged
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:583,1
    - Dst: sha256_tag_test_internal
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 586
    functionName: sha256_tag_test
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - sha256_tag_test_internal
    - secp256k1_musig_compute_noncehash_sha256_tagged
    - secp256k1_musig_keyagglist_sha256
    - secp256k1_nonce_function_musig_sha256_tagged
    - secp256k1_nonce_function_musig_sha256_tagged_aux
    - secp256k1_musig_keyaggcoef_sha256
    linkageType: ''
    returnType: void
    signature: void sha256_tag_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:609,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:611,1
    - Dst: create_keypair_and_pk
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:611,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:612,1
    - Dst: create_keypair_and_pk
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:612,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:613,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:615,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:615,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:616,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:616,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:618,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:618,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:619,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:619,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:621,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:621,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:622,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:622,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:624,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:624,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:625,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:625,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:627,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:627,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:628,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - agg_pk
    - sk0
    - sk1
    - keyagg_cache
    argTypes:
    - secp256k1_xonly_pubkey*
    - unsigned char*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 629
    functionName: musig_tweak_test_helper
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - CHECK
    - secp256k1_musig_nonce_process
    - create_keypair_and_pk
    - secp256k1_musig_partial_sig_agg
    - secp256k1_musig_partial_sig_verify
    - secp256k1_schnorrsig_verify
    - secp256k1_musig_nonce_gen
    - secp256k1_musig_partial_sign
    - secp256k1_musig_nonce_agg
    linkageType: ''
    returnType: void
    signature: void musig_tweak_test_helper(const secp256k1_xonly_pubkey* agg_pk,
      const unsigned char *sk0, const unsigned char *sk1, secp256k1_musig_keyagg_cache
      *keyagg_cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:646,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:647,1
    - Dst: create_keypair_and_pk
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:647,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:650,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:650,1
    - Dst: musig_tweak_test_helper
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:651,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:652,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:652,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:661,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:663,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:665,1
    - Dst: secp256k1_musig_pubkey_xonly_tweak_add
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:665,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:667,1
    - Dst: secp256k1_musig_pubkey_ec_tweak_add
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:667,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:669,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:669,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:674,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:674,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:675,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:675,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:678,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:678,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:679,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:679,1
    - Dst: musig_tweak_test_helper
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 684
    functionName: musig_tweak_test
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - testrand256
    - secp256k1_xonly_pubkey_serialize
    - CHECK
    - create_keypair_and_pk
    - secp256k1_xonly_pubkey_from_pubkey
    - testrand_bits
    - secp256k1_musig_pubkey_get
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_ec_pubkey_tweak_add
    - secp256k1_musig_pubkey_agg
    - secp256k1_musig_pubkey_xonly_tweak_add
    - musig_tweak_test_helper
    - secp256k1_musig_pubkey_ec_tweak_add
    linkageType: ''
    returnType: void
    signature: void musig_tweak_test(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:703,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:709,1
    - Dst: secp256k1_musig_pubkey_xonly_tweak_add
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:716,1
    - Dst: secp256k1_musig_pubkey_ec_tweak_add
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:721,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:727,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:732,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:738,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 10
    argNames:
    - error
    - keyagg_cache
    - agg_pk_ser
    - pubkeys33
    - tweaks32
    - key_indices_len
    - key_indices
    - tweak_indices_len
    - tweak_indices
    - is_xonly
    argTypes:
    - enum MUSIG_ERROR*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    - unsigned char[][]
    - unsigned char[][]
    - size_t
    - size_t*
    - size_t
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 745
    functionName: musig_vectors_keyagg_and_tweak
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_xonly_pubkey_serialize
    - secp256k1_xonly_pubkey_from_pubkey
    - secp256k1_musig_pubkey_get
    - secp256k1_musig_pubkey_agg
    - secp256k1_ec_pubkey_parse
    - secp256k1_musig_pubkey_xonly_tweak_add
    - secp256k1_musig_pubkey_ec_tweak_add
    linkageType: ''
    returnType: int
    signature: "int musig_vectors_keyagg_and_tweak(enum MUSIG_ERROR *error,\n                                   secp256k1_musig_keyagg_cache
      *keyagg_cache,\n                                   unsigned char *agg_pk_ser,\n
      \                                  const unsigned char pubkeys33[][33],\n                                   const
      unsigned char tweaks32[][32],\n                                   size_t key_indices_len,\n
      \                                  const size_t *key_indices,\n                                   size_t
      tweak_indices_len,\n                                   const size_t *tweak_indices,\n
      \                                  const int *is_xonly)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:757,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:757,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:758,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:758,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:766,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:766,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 769
    functionName: musig_test_vectors_keyagg
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - musig_vectors_keyagg_and_tweak
    - CHECK
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_keyagg(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:788,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:796,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:797,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:797,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:798,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:798,1
    - Dst: secp256k1_keyagg_cache_save
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:799,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:809,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:809,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:810,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:810,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:811,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:811,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:814,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:814,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:815,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:815,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:817,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:817,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:818,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:819,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 821
    functionName: musig_test_vectors_noncegen
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_xonly_pubkey_parse
    - CHECK
    - secp256k1_xonly_pubkey_load
    - memcpy
    - memset
    - secp256k1_musig_nonce_gen
    - secp256k1_musig_pubnonce_serialize
    - secp256k1_ec_pubkey_parse
    - secp256k1_keyagg_cache_save
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_noncegen(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:837,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:837,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:840,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:840,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:841,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:841,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:842,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:842,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:849,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 852
    functionName: musig_test_vectors_nonceagg
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_musig_nonce_agg
    - secp256k1_musig_pubnonce_parse
    - secp256k1_memcmp_var
    - secp256k1_musig_aggnonce_serialize
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_nonceagg(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:858,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:859,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:860,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:860,1
    - Dst: secp256k1_musig_secnonce_save
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - secnonce
    - secnonce64
    - pubkey
    argTypes:
    - secp256k1_musig_secnonce*
    - unsigned char*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 862
    functionName: musig_test_set_secnonce
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_pubkey_load
    - CHECK
    - secp256k1_musig_secnonce_save
    linkageType: ''
    returnType: void
    signature: void musig_test_set_secnonce(secp256k1_musig_secnonce *secnonce, const
      unsigned char *secnonce64, const secp256k1_pubkey *pubkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:881,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:881,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:882,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:882,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:884,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:884,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:885,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:885,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:887,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:887,1
    - Dst: musig_test_set_secnonce
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:888,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:889,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:889,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:890,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:890,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:891,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:891,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:893,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:893,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:894,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:894,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:915,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:915,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:916,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:920,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:920,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:921,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:921,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:924,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:924,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:928,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:928,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:931,1
    - Dst: musig_test_set_secnonce
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:932,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:933,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:933,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:949,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:951,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:951,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:955,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:955,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:956,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:956,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:957,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:957,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:959,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:959,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:962,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:962,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:967,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:967,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:977,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:977,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:978,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:983,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:983,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 985
    functionName: musig_test_vectors_signverify
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - musig_test_set_secnonce
    - secp256k1_musig_partial_sig_serialize
    - secp256k1_memcmp_var
    - secp256k1_musig_partial_sig_parse
    - musig_vectors_keyagg_and_tweak
    - CHECK
    - secp256k1_musig_nonce_process
    - secp256k1_musig_partial_sig_verify
    - secp256k1_musig_pubnonce_parse
    - secp256k1_musig_aggnonce_parse
    - secp256k1_ec_pubkey_parse
    - CHECK_ILLEGAL
    - secp256k1_keypair_create
    - secp256k1_musig_partial_sign
    - secp256k1_musig_nonce_agg
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_signverify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:994,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:994,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:995,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:995,1
    - Dst: musig_test_set_secnonce
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1007,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1009,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1009,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1010,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1010,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1012,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1012,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1014,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1014,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1015,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1015,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1016,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1016,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1018,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1018,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1019,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1019,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1025,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1025,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1028
    functionName: musig_test_vectors_tweak
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - musig_test_set_secnonce
    - secp256k1_musig_partial_sig_serialize
    - secp256k1_memcmp_var
    - musig_vectors_keyagg_and_tweak
    - CHECK
    - secp256k1_musig_nonce_process
    - secp256k1_musig_partial_sig_verify
    - secp256k1_musig_pubnonce_parse
    - secp256k1_musig_aggnonce_parse
    - secp256k1_ec_pubkey_parse
    - secp256k1_keypair_create
    - secp256k1_musig_partial_sign
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_tweak(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1046,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1046,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1047,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1047,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1048,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1048,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1050,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1050,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1054,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1054,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1055,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1055,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1057,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1057,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1058,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1058,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1065,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1068
    functionName: musig_test_vectors_sigagg
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - musig_vectors_keyagg_and_tweak
    - CHECK
    - secp256k1_musig_nonce_process
    - secp256k1_musig_partial_sig_agg
    - secp256k1_xonly_pubkey_parse
    - secp256k1_schnorrsig_verify
    - secp256k1_musig_aggnonce_parse
    - secp256k1_memcmp_var
    - secp256k1_musig_partial_sig_parse
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_sigagg(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1107,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1107,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1108,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1108,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1109,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1109,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1111,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1111,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1112,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1112,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1114,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1114,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1115,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1116
    functionName: musig_test_static_nonce_gen_counter
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_musig_nonce_gen_counter
    - CHECK
    - secp256k1_musig_pubnonce_serialize
    - secp256k1_memcmp_var
    - secp256k1_keypair_create
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: void
    signature: void musig_test_static_nonce_gen_counter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: musig_simple_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1122,1
    - Dst: musig_api_tests
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1124,1
    - Dst: musig_nonce_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1125,1
    - Dst: musig_tweak_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1129,1
    - Dst: sha256_tag_test
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1131,1
    - Dst: musig_test_vectors_keyagg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1132,1
    - Dst: musig_test_vectors_noncegen
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1133,1
    - Dst: musig_test_vectors_nonceagg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1134,1
    - Dst: musig_test_vectors_signverify
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1135,1
    - Dst: musig_test_vectors_tweak
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1136,1
    - Dst: musig_test_vectors_sigagg
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1137,1
    - Dst: musig_test_static_nonce_gen_counter
      Src: /src/secp256k1/src/modules/musig/tests_impl.h:1139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1140
    functionName: run_musig_tests
    functionSourceFile: /src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - musig_test_static_nonce_gen_counter
    - musig_test_vectors_noncegen
    - musig_test_vectors_tweak
    - musig_tweak_test
    - musig_simple_test
    - musig_api_tests
    - musig_test_vectors_nonceagg
    - musig_test_vectors_signverify
    - musig_nonce_test
    - musig_test_vectors_sigagg
    - sha256_tag_test
    - musig_test_vectors_keyagg
    linkageType: ''
    returnType: void
    signature: void run_musig_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/modules/musig/session_impl.h:25,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/session_impl.h:26,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/modules/musig/session_impl.h:30,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out33
    - ge
    argTypes:
    - unsigned char*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: secp256k1_musig_ge_serialize_ext
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - memset
    - secp256k1_ge_is_infinity
    - VERIFY_CHECK
    - secp256k1_eckey_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_ge_serialize_ext(unsigned char *out33, secp256k1_ge*
      ge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:45,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/secp256k1/src/modules/musig/session_impl.h:46,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/session_impl.h:49,1
    - Dst: secp256k1_ge_is_in_correct_subgroup
      Src: /src/secp256k1/src/modules/musig/session_impl.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ge
    - in33
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: secp256k1_musig_ge_parse_ext
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_eckey_pubkey_parse
    - secp256k1_ge_is_in_correct_subgroup
    - secp256k1_ge_set_infinity
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_ge_parse_ext(secp256k1_ge* ge, const unsigned char
      *in33)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:58,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:59,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:60,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/secp256k1/src/modules/musig/session_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - secnonce
    - k
    - pk
    argTypes:
    - secp256k1_musig_secnonce*
    - secp256k1_scalar*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: secp256k1_musig_secnonce_save
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_ge_to_bytes
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_secnonce_save(secp256k1_musig_secnonce *secnonce,
      const secp256k1_scalar *k, const secp256k1_ge *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:66,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:66,1
    - Dst: secp256k1_is_zero_array
      Src: /src/secp256k1/src/modules/musig/session_impl.h:69,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/musig/session_impl.h:70,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:71,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:73,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:74,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/secp256k1/src/modules/musig/session_impl.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - k
    - pk
    - secnonce
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_musig_secnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: secp256k1_musig_secnonce_load
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_declassify
    - secp256k1_scalar_set_b32
    - secp256k1_ge_from_bytes
    - secp256k1_memcmp_var
    - secp256k1_is_zero_array
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_secnonce_load(const secp256k1_context* ctx, secp256k1_scalar
      *k, secp256k1_ge *pk, const secp256k1_musig_secnonce *secnonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memczero
      Src: /src/secp256k1/src/modules/musig/session_impl.h:81,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/musig/session_impl.h:86,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/musig/session_impl.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - secnonce
    - flag
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_secnonce*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: secp256k1_musig_secnonce_invalidate
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_declassify
    - secp256k1_memczero
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_secnonce_invalidate(const secp256k1_context* ctx,
      secp256k1_musig_secnonce *secnonce, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:96,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/secp256k1/src/modules/musig/session_impl.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nonce
    - ges
    argTypes:
    - secp256k1_musig_pubnonce*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: secp256k1_musig_pubnonce_save
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ge_to_bytes
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_pubnonce_save(secp256k1_musig_pubnonce* nonce,
      const secp256k1_ge* ges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:107,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:107,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/secp256k1/src/modules/musig/session_impl.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - ges
    - nonce
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    - secp256k1_musig_pubnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: secp256k1_musig_pubnonce_load
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_ge_from_bytes
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubnonce_load(const secp256k1_context* ctx, secp256k1_ge*
      ges, const secp256k1_musig_pubnonce* nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:118,1
    - Dst: secp256k1_ge_to_bytes_ext
      Src: /src/secp256k1/src/modules/musig/session_impl.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nonce
    - ges
    argTypes:
    - secp256k1_musig_aggnonce*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: secp256k1_musig_aggnonce_save
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ge_to_bytes_ext
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_aggnonce_save(secp256k1_musig_aggnonce* nonce,
      const secp256k1_ge* ges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:127,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:127,1
    - Dst: secp256k1_ge_from_bytes_ext
      Src: /src/secp256k1/src/modules/musig/session_impl.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - ges
    - nonce
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    - secp256k1_musig_aggnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: secp256k1_musig_aggnonce_load
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - ARG_CHECK
    - secp256k1_ge_from_bytes_ext
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_aggnonce_load(const secp256k1_context* ctx, secp256k1_ge*
      ges, const secp256k1_musig_aggnonce* nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:147,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:151,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:153,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:155,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - session
    - session_i
    argTypes:
    - secp256k1_musig_session*
    - secp256k1_musig_session_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: secp256k1_musig_session_save
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_session_save(secp256k1_musig_session *session,
      const secp256k1_musig_session_internal *session_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:163,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:163,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:167,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:169,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:171,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - session_i
    - session
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_session_internal*
    - secp256k1_musig_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: secp256k1_musig_session_load
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_scalar_set_b32
    - ARG_CHECK
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_session_load(const secp256k1_context* ctx, secp256k1_musig_session_internal
      *session_i, const secp256k1_musig_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:180,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sig
    - s
    argTypes:
    - secp256k1_musig_partial_sig*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: secp256k1_musig_partial_sig_save
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_partial_sig_save(secp256k1_musig_partial_sig*
      sig, secp256k1_scalar *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:187,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:187,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:188,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - s
    - sig
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_musig_partial_sig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: secp256k1_musig_partial_sig_load
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - VERIFY_CHECK
    - secp256k1_scalar_set_b32
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_load(const secp256k1_context* ctx,
      secp256k1_scalar *s, const secp256k1_musig_partial_sig* sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:198,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:199,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:200,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/secp256k1/src/modules/musig/session_impl.h:203,1
    - Dst: secp256k1_ge_is_in_correct_subgroup
      Src: /src/secp256k1/src/modules/musig/session_impl.h:206,1
    - Dst: secp256k1_musig_pubnonce_save
      Src: /src/secp256k1/src/modules/musig/session_impl.h:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - nonce
    - in66
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_pubnonce*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: secp256k1_musig_pubnonce_parse
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_eckey_pubkey_parse
    - secp256k1_ge_is_in_correct_subgroup
    - ARG_CHECK
    - secp256k1_musig_pubnonce_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubnonce_parse(const secp256k1_context* ctx, secp256k1_musig_pubnonce*
      nonce, const unsigned char *in66)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:218,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:219,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/session_impl.h:220,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:221,1
    - Dst: secp256k1_musig_pubnonce_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:223,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/modules/musig/session_impl.h:229,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - out66
    - nonce
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_musig_pubnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 238
    functionName: secp256k1_musig_pubnonce_serialize
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - memset
    - secp256k1_musig_pubnonce_load
    - secp256k1_eckey_pubkey_serialize
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubnonce_serialize(const secp256k1_context* ctx,
      unsigned char *out66, const secp256k1_musig_pubnonce* nonce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:244,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:245,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:246,1
    - Dst: secp256k1_musig_ge_parse_ext
      Src: /src/secp256k1/src/modules/musig/session_impl.h:249,1
    - Dst: secp256k1_musig_aggnonce_save
      Src: /src/secp256k1/src/modules/musig/session_impl.h:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - nonce
    - in66
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_aggnonce*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: secp256k1_musig_aggnonce_parse
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_musig_ge_parse_ext
    - ARG_CHECK
    - secp256k1_musig_aggnonce_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_aggnonce_parse(const secp256k1_context* ctx, secp256k1_musig_aggnonce*
      nonce, const unsigned char *in66)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:261,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:262,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/session_impl.h:263,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:264,1
    - Dst: secp256k1_musig_aggnonce_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:266,1
    - Dst: secp256k1_musig_ge_serialize_ext
      Src: /src/secp256k1/src/modules/musig/session_impl.h:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - out66
    - nonce
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_musig_aggnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 273
    functionName: secp256k1_musig_aggnonce_serialize
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_musig_aggnonce_load
    - secp256k1_musig_ge_serialize_ext
    - memset
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_aggnonce_serialize(const secp256k1_context* ctx,
      unsigned char *out66, const secp256k1_musig_aggnonce* nonce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:278,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:279,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:280,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/session_impl.h:284,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:286,1
    - Dst: secp256k1_musig_partial_sig_save
      Src: /src/secp256k1/src/modules/musig/session_impl.h:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - sig
    - in32
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_partial_sig*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 292
    functionName: secp256k1_musig_partial_sig_parse
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_set_b32
    - memset
    - secp256k1_musig_partial_sig_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_parse(const secp256k1_context* ctx,
      secp256k1_musig_partial_sig* sig, const unsigned char *in32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:295,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:296,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:297,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:298,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:298,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - out32
    - sig
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_musig_partial_sig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: secp256k1_musig_partial_sig_serialize
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_memcmp_var
    - VERIFY_CHECK
    - ARG_CHECK
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_serialize(const secp256k1_context*
      ctx, unsigned char *out32, const secp256k1_musig_partial_sig* sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:309,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:312,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:314,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:315,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - sha
    - prefix_size
    - data
    - len
    argTypes:
    - secp256k1_sha256*
    - unsigned int
    - unsigned char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 320
    functionName: secp256k1_nonce_function_musig_helper
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_write
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_musig_helper(secp256k1_sha256 *sha, unsigned
      int prefix_size, const unsigned char *data, unsigned char len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/musig/session_impl.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: secp256k1_nonce_function_musig_sha256_tagged_aux
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_musig_sha256_tagged_aux(secp256k1_sha256
      *sha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/musig/session_impl.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 350
    functionName: secp256k1_nonce_function_musig_sha256_tagged
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_musig_sha256_tagged(secp256k1_sha256
      *sha)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_nonce_function_musig_sha256_tagged_aux
      Src: /src/secp256k1/src/modules/musig/session_impl.h:359,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:360,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/musig/session_impl.h:361,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:366,1
    - Dst: secp256k1_nonce_function_musig_sha256_tagged
      Src: /src/secp256k1/src/modules/musig/session_impl.h:369,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:370,1
    - Dst: secp256k1_nonce_function_musig_helper
      Src: /src/secp256k1/src/modules/musig/session_impl.h:371,1
    - Dst: secp256k1_nonce_function_musig_helper
      Src: /src/secp256k1/src/modules/musig/session_impl.h:372,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:374,1
    - Dst: secp256k1_nonce_function_musig_helper
      Src: /src/secp256k1/src/modules/musig/session_impl.h:376,1
    - Dst: secp256k1_nonce_function_musig_helper
      Src: /src/secp256k1/src/modules/musig/session_impl.h:378,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:383,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/musig/session_impl.h:384,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:385,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:388,1
    - Dst: secp256k1_sha256_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:389,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:391,1
    - Dst: secp256k1_sha256_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 7
    argNames:
    - k
    - session_secrand
    - msg32
    - seckey32
    - pk33
    - agg_pk32
    - extra_input32
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 393
    functionName: secp256k1_nonce_function_musig
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_memclear
    - secp256k1_sha256_clear
    - secp256k1_scalar_set_b32
    - secp256k1_sha256_finalize
    - secp256k1_nonce_function_musig_helper
    - memcpy
    - secp256k1_nonce_function_musig_sha256_tagged
    - secp256k1_sha256_write
    - secp256k1_nonce_function_musig_sha256_tagged_aux
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_musig(secp256k1_scalar *k, const unsigned
      char *session_secrand, const unsigned char *msg32, const unsigned char *seckey32,
      const unsigned char *pk33, const unsigned char *agg_pk32, const unsigned char
      *extra_input32)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:408,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/session_impl.h:409,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:410,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:411,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/secp256k1/src/modules/musig/session_impl.h:411,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/modules/musig/session_impl.h:416,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:417,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:422,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:426,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:429,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/modules/musig/session_impl.h:432,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:436,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:437,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/secp256k1/src/modules/musig/session_impl.h:442,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:443,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/modules/musig/session_impl.h:443,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:444,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/modules/musig/session_impl.h:444,1
    - Dst: secp256k1_musig_secnonce_save
      Src: /src/secp256k1/src/modules/musig/session_impl.h:445,1
    - Dst: secp256k1_musig_secnonce_invalidate
      Src: /src/secp256k1/src/modules/musig/session_impl.h:446,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/modules/musig/session_impl.h:450,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:451,1
    - Dst: secp256k1_ge_set_all_gej
      Src: /src/secp256k1/src/modules/musig/session_impl.h:455,1
    - Dst: secp256k1_gej_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:457,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/musig/session_impl.h:461,1
    - Dst: secp256k1_musig_pubnonce_save
      Src: /src/secp256k1/src/modules/musig/session_impl.h:465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 9
    argNames:
    - ctx
    - secnonce
    - pubnonce
    - input_nonce
    - seckey
    - pubkey
    - msg32
    - keyagg_cache
    - extra_input32
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_secnonce*
    - secp256k1_musig_pubnonce*
    - unsigned char*
    - unsigned char*
    - secp256k1_pubkey*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 467
    functionName: secp256k1_musig_nonce_gen_internal
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_musig_secnonce_invalidate
    - secp256k1_musig_secnonce_save
    - memset
    - secp256k1_ecmult_gen
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_musig_pubnonce_save
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_fe_get_b32
    - ARG_CHECK
    - secp256k1_scalar_clear
    - secp256k1_declassify
    - secp256k1_nonce_function_musig
    - secp256k1_ge_set_all_gej
    - secp256k1_eckey_pubkey_serialize
    - secp256k1_keyagg_cache_load
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_scalar_is_zero
    - secp256k1_gej_clear
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_gen_internal(const secp256k1_context* ctx,
      secp256k1_musig_secnonce *secnonce, secp256k1_musig_pubnonce *pubnonce, const
      unsigned char *input_nonce, const unsigned char *seckey, const secp256k1_pubkey
      *pubkey, const unsigned char *msg32, const secp256k1_musig_keyagg_cache *keyagg_cache,
      const unsigned char *extra_input32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:472,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:473,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/session_impl.h:474,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:475,1
    - Dst: secp256k1_is_zero_array
      Src: /src/secp256k1/src/modules/musig/session_impl.h:479,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/musig/session_impl.h:483,1
    - Dst: secp256k1_musig_secnonce_invalidate
      Src: /src/secp256k1/src/modules/musig/session_impl.h:485,1
    - Dst: secp256k1_musig_nonce_gen_internal
      Src: /src/secp256k1/src/modules/musig/session_impl.h:489,1
    - Dst: secp256k1_memczero
      Src: /src/secp256k1/src/modules/musig/session_impl.h:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - ctx
    - secnonce
    - pubnonce
    - session_secrand32
    - seckey
    - pubkey
    - msg32
    - keyagg_cache
    - extra_input32
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_secnonce*
    - secp256k1_musig_pubnonce*
    - unsigned char*
    - unsigned char*
    - secp256k1_pubkey*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 495
    functionName: secp256k1_musig_nonce_gen
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_declassify
    - secp256k1_memczero
    - secp256k1_musig_secnonce_invalidate
    - secp256k1_musig_nonce_gen_internal
    - memset
    - secp256k1_is_zero_array
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_gen(const secp256k1_context* ctx, secp256k1_musig_secnonce
      *secnonce, secp256k1_musig_pubnonce *pubnonce, unsigned char *session_secrand32,
      const unsigned char *seckey, const secp256k1_pubkey *pubkey, const unsigned
      char *msg32, const secp256k1_musig_keyagg_cache *keyagg_cache, const unsigned
      char *extra_input32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:503,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:504,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/session_impl.h:505,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:506,1
    - Dst: secp256k1_write_be64
      Src: /src/secp256k1/src/modules/musig/session_impl.h:508,1
    - Dst: secp256k1_keypair_sec
      Src: /src/secp256k1/src/modules/musig/session_impl.h:510,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:511,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/modules/musig/session_impl.h:512,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:513,1
    - Dst: secp256k1_musig_nonce_gen_internal
      Src: /src/secp256k1/src/modules/musig/session_impl.h:518,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 8
    argNames:
    - ctx
    - secnonce
    - pubnonce
    - nonrepeating_cnt
    - keypair
    - msg32
    - keyagg_cache
    - extra_input32
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_secnonce*
    - secp256k1_musig_pubnonce*
    - uint64_t
    - secp256k1_keypair*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 523
    functionName: secp256k1_musig_nonce_gen_counter
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_write_be64
    - VERIFY_CHECK
    - secp256k1_memclear
    - secp256k1_musig_nonce_gen_internal
    - memset
    - secp256k1_keypair_sec
    - ARG_CHECK
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_gen_counter(const secp256k1_context* ctx,
      secp256k1_musig_secnonce *secnonce, secp256k1_musig_pubnonce *pubnonce, uint64_t
      nonrepeating_cnt, const secp256k1_keypair *keypair, const unsigned char *msg32,
      const secp256k1_musig_keyagg_cache *keyagg_cache, const unsigned char *extra_input32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/modules/musig/session_impl.h:529,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/secp256k1/src/modules/musig/session_impl.h:530,1
    - Dst: secp256k1_musig_pubnonce_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:534,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - summed_pubnonces
    - pubnonces
    - n_pubnonces
    argTypes:
    - secp256k1_context*
    - secp256k1_gej*
    - secp256k1_musig_pubnonce**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 542
    functionName: secp256k1_musig_sum_pubnonces
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_gej_add_ge_var
    - secp256k1_musig_pubnonce_load
    - secp256k1_gej_set_infinity
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_sum_pubnonces(const secp256k1_context* ctx, secp256k1_gej
      *summed_pubnonces, const secp256k1_musig_pubnonce * const* pubnonces, size_t
      n_pubnonces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:547,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:548,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:549,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:550,1
    - Dst: secp256k1_musig_sum_pubnonces
      Src: /src/secp256k1/src/modules/musig/session_impl.h:552,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:555,1
    - Dst: secp256k1_musig_aggnonce_save
      Src: /src/secp256k1/src/modules/musig/session_impl.h:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - aggnonce
    - pubnonces
    - n_pubnonces
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_aggnonce*
    - secp256k1_musig_pubnonce**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 558
    functionName: secp256k1_musig_nonce_agg
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_set_all_gej_var
    - secp256k1_musig_aggnonce_save
    - secp256k1_musig_sum_pubnonces
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_agg(const secp256k1_context* ctx, secp256k1_musig_aggnonce  *aggnonce,
      const secp256k1_musig_pubnonce * const* pubnonces, size_t n_pubnonces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/musig/session_impl.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: secp256k1_musig_compute_noncehash_sha256_tagged
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_compute_noncehash_sha256_tagged(secp256k1_sha256
      *sha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_compute_noncehash_sha256_tagged
      Src: /src/secp256k1/src/modules/musig/session_impl.h:581,1
    - Dst: secp256k1_musig_ge_serialize_ext
      Src: /src/secp256k1/src/modules/musig/session_impl.h:583,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:584,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:586,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/musig/session_impl.h:587,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/musig/session_impl.h:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - noncehash
    - aggnonce
    - agg_pk32
    - msg
    argTypes:
    - unsigned char*
    - secp256k1_ge*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: secp256k1_musig_compute_noncehash
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    - secp256k1_musig_compute_noncehash_sha256_tagged
    - secp256k1_musig_ge_serialize_ext
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_compute_noncehash(unsigned char *noncehash, secp256k1_ge
      *aggnonce, const unsigned char *agg_pk32, const unsigned char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/modules/musig/session_impl.h:595,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/modules/musig/session_impl.h:596,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out_nonce
    - nonce_pts
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: secp256k1_effective_nonce
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: void
    signature: void secp256k1_effective_nonce(secp256k1_gej *out_nonce, const secp256k1_ge
      *nonce_pts, const secp256k1_scalar *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_compute_noncehash
      Src: /src/secp256k1/src/modules/musig/session_impl.h:605,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:606,1
    - Dst: secp256k1_effective_nonce
      Src: /src/secp256k1/src/modules/musig/session_impl.h:608,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/modules/musig/session_impl.h:609,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/modules/musig/session_impl.h:610,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:614,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:615,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:616,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/musig/session_impl.h:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - fin_nonce_parity
    - fin_nonce
    - b
    - aggnonce_pts
    - agg_pk32
    - msg
    argTypes:
    - int*
    - unsigned char*
    - secp256k1_scalar*
    - secp256k1_ge*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 618
    functionName: secp256k1_musig_nonce_process_internal
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_set_b32
    - secp256k1_ge_is_infinity
    - secp256k1_fe_get_b32
    - secp256k1_fe_normalize_var
    - secp256k1_musig_compute_noncehash
    - secp256k1_fe_is_odd
    - secp256k1_effective_nonce
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_nonce_process_internal(int *fin_nonce_parity,
      unsigned char *fin_nonce, secp256k1_scalar *b, secp256k1_ge *aggnonce_pts, const
      unsigned char *agg_pk32, const unsigned char *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:627,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:628,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:629,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:630,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:631,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:633,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:636,1
    - Dst: secp256k1_musig_aggnonce_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:638,1
    - Dst: secp256k1_musig_nonce_process_internal
      Src: /src/secp256k1/src/modules/musig/session_impl.h:642,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/secp256k1/src/modules/musig/session_impl.h:643,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/musig/session_impl.h:646,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/modules/musig/session_impl.h:647,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/musig/session_impl.h:649,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/musig/session_impl.h:650,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/musig/session_impl.h:651,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:655,1
    - Dst: secp256k1_musig_session_save
      Src: /src/secp256k1/src/modules/musig/session_impl.h:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - session
    - aggnonce
    - msg32
    - keyagg_cache
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_session*
    - secp256k1_musig_aggnonce*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 658
    functionName: secp256k1_musig_nonce_process
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_schnorrsig_challenge
    - secp256k1_musig_aggnonce_load
    - secp256k1_musig_nonce_process_internal
    - secp256k1_scalar_set_int
    - secp256k1_musig_session_save
    - secp256k1_fe_get_b32
    - secp256k1_fe_is_odd
    - memcpy
    - secp256k1_scalar_mul
    - secp256k1_scalar_negate
    - secp256k1_keyagg_cache_load
    - secp256k1_scalar_is_zero
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_process(const secp256k1_context* ctx, secp256k1_musig_session
      *session, const secp256k1_musig_aggnonce  *aggnonce, const unsigned char *msg32,
      const secp256k1_musig_keyagg_cache *keyagg_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:661,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:662,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sk
    - k
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: secp256k1_musig_partial_sign_clear
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_clear
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_partial_sign_clear(secp256k1_scalar *sk, secp256k1_scalar
      *k)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:675,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:677,1
    - Dst: secp256k1_musig_secnonce_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:679,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/musig/session_impl.h:682,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:684,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:688,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:689,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:690,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:691,1
    - Dst: secp256k1_keypair_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:693,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:694,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:697,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/modules/musig/session_impl.h:697,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/modules/musig/session_impl.h:698,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:699,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:700,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/musig/session_impl.h:707,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/musig/session_impl.h:709,1
    - Dst: secp256k1_musig_keyaggcoef
      Src: /src/secp256k1/src/modules/musig/session_impl.h:713,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/musig/session_impl.h:714,1
    - Dst: secp256k1_musig_session_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:716,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:717,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/musig/session_impl.h:722,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/musig/session_impl.h:723,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/musig/session_impl.h:727,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/musig/session_impl.h:728,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/modules/musig/session_impl.h:729,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/modules/musig/session_impl.h:730,1
    - Dst: secp256k1_musig_partial_sig_save
      Src: /src/secp256k1/src/modules/musig/session_impl.h:731,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/secp256k1/src/modules/musig/session_impl.h:732,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 6
    argNames:
    - ctx
    - partial_sig
    - secnonce
    - keypair
    - keyagg_cache
    - session
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_partial_sig*
    - secp256k1_musig_secnonce*
    - secp256k1_keypair*
    - secp256k1_musig_keyagg_cache*
    - secp256k1_musig_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 734
    functionName: secp256k1_musig_partial_sign
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_equal
    - secp256k1_keypair_load
    - memset
    - secp256k1_scalar_mul
    - secp256k1_musig_session_load
    - secp256k1_musig_partial_sign_clear
    - secp256k1_musig_secnonce_load
    - secp256k1_musig_partial_sig_save
    - secp256k1_scalar_negate
    - secp256k1_keyagg_cache_load
    - secp256k1_musig_keyaggcoef
    - secp256k1_fe_is_odd
    - ARG_CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sign(const secp256k1_context* ctx, secp256k1_musig_partial_sig
      *partial_sig, secp256k1_musig_secnonce *secnonce, const secp256k1_keypair *keypair,
      const secp256k1_musig_keyagg_cache *keyagg_cache, const secp256k1_musig_session
      *session)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:746,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:747,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:748,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:749,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:750,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:751,1
    - Dst: secp256k1_musig_session_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:753,1
    - Dst: secp256k1_musig_pubnonce_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:757,1
    - Dst: secp256k1_effective_nonce
      Src: /src/secp256k1/src/modules/musig/session_impl.h:762,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:764,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:767,1
    - Dst: secp256k1_musig_keyaggcoef
      Src: /src/secp256k1/src/modules/musig/session_impl.h:773,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/musig/session_impl.h:774,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/musig/session_impl.h:779,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/musig/session_impl.h:781,1
    - Dst: secp256k1_musig_partial_sig_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:784,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/musig/session_impl.h:788,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/modules/musig/session_impl.h:789,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/modules/musig/session_impl.h:790,1
    - Dst: secp256k1_gej_neg
      Src: /src/secp256k1/src/modules/musig/session_impl.h:792,1
    - Dst: secp256k1_gej_add_var
      Src: /src/secp256k1/src/modules/musig/session_impl.h:794,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/modules/musig/session_impl.h:796,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 6
    argNames:
    - ctx
    - partial_sig
    - pubnonce
    - pubkey
    - keyagg_cache
    - session
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_partial_sig*
    - secp256k1_musig_pubnonce*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    - secp256k1_musig_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 797
    functionName: secp256k1_musig_partial_sig_verify
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - secp256k1_pubkey_load
    - secp256k1_gej_set_ge
    - secp256k1_musig_partial_sig_load
    - secp256k1_scalar_mul
    - secp256k1_ecmult
    - secp256k1_musig_pubnonce_load
    - secp256k1_musig_keyaggcoef
    - secp256k1_scalar_negate
    - secp256k1_keyagg_cache_load
    - secp256k1_musig_session_load
    - secp256k1_fe_is_odd
    - ARG_CHECK
    - secp256k1_effective_nonce
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_verify(const secp256k1_context* ctx,
      const secp256k1_musig_partial_sig *partial_sig, const secp256k1_musig_pubnonce
      *pubnonce, const secp256k1_pubkey *pubkey, const secp256k1_musig_keyagg_cache
      *keyagg_cache, const secp256k1_musig_session *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:803,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:804,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:805,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:806,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/musig/session_impl.h:807,1
    - Dst: secp256k1_musig_session_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:809,1
    - Dst: secp256k1_musig_partial_sig_load
      Src: /src/secp256k1/src/modules/musig/session_impl.h:814,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/modules/musig/session_impl.h:817,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/musig/session_impl.h:819,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/musig/session_impl.h:820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - sig64
    - session
    - partial_sigs
    - n_sigs
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_musig_session*
    - secp256k1_musig_partial_sig**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 822
    functionName: secp256k1_musig_partial_sig_agg
    functionSourceFile: /src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_musig_partial_sig_load
    - memcpy
    - secp256k1_musig_session_load
    - ARG_CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_agg(const secp256k1_context* ctx, unsigned
      char *sig64, const secp256k1_musig_session *session, const secp256k1_musig_partial_sig
      * const* partial_sigs, size_t n_sigs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:27,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:28,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:31,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:31,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:32,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:32,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:35,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:35,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:36,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:36,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:39,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:39,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:40,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:40,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:41,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:41,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:44,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:44,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:45,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:46,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:46,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:47,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:47,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:50,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:51,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:51,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:55,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:56,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:56,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:60,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:60,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 66
    functionName: test_exhaustive_extrakeys
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ec_pubkey_create
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_scalar_get_b32
    - secp256k1_xonly_pubkey_parse
    - secp256k1_scalar_set_int
    - secp256k1_xonly_pubkey_from_pubkey
    - secp256k1_fe_normalize_var
    - secp256k1_fe_set_b32_mod
    - secp256k1_memcmp_var
    - secp256k1_keypair_create
    - secp256k1_fe_is_odd
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_extrakeys(const secp256k1_context *ctx, const
      secp256k1_ge* group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:26,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:27,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:28,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:29,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:29,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:30,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:30,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:33,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:33,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:34,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:34,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:35,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:35,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:36,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:36,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:37,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:38,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:38,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:41,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:43,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:43,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:44,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:44,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:45,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:45,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:46,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:51,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:51,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:52,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:52,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:53,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:53,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:54,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:55,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:56,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:57,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:57,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:58,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:59,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:59,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:62,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:62,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:63,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:63,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:64,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:64,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:69,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:71,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:71,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:74,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:74,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:75,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:75,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:76,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:76,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:79,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:79,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:80,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:80,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:81,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:81,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:82,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:82,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:85,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:87,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:87,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:88,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:88,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:89,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:91,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:91,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:92,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:92,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:98,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:100,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:101,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:102,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:102,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:103,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:103,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:105,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 108
    functionName: test_xonly_pubkey
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_pubkey_load
    - secp256k1_xonly_pubkey_parse
    - secp256k1_xonly_pubkey_from_pubkey
    - secp256k1_fe_negate
    - memset
    - secp256k1_ec_pubkey_parse
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:122,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:122,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:123,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:123,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:125,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:125,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:125,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:126,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:126,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:126,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:127,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:127,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:128,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:128,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:129,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:129,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:130,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:130,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:131,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:132,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:132,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:132,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:135,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:136,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:136,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:137,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:138,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:140,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:140,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: test_xonly_pubkey_comparison
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_context_set_illegal_callback
    - secp256k1_xonly_pubkey_parse
    - CHECK
    - memset
    - secp256k1_xonly_pubkey_cmp
    - CHECK_ILLEGAL_VOID
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey_comparison(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:154,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:155,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:156,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:157,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:157,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:158,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:158,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:160,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:160,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:161,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:161,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:162,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:162,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:163,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:163,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:164,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:164,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:166,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:166,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:167,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:167,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:169,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:169,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:172,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:172,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:173,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:173,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:176,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:176,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:183,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:184,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:185,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:186,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:186,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:187,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:188,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:188,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:192,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:193,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:194,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:194,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:195,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 196
    functionName: test_xonly_pubkey_tweak
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_xonly_pubkey_from_pubkey
    - memset
    - secp256k1_xonly_pubkey_tweak_add
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey_tweak(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:211,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:212,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:213,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:214,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:214,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:215,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:215,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:217,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:217,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:218,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:218,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:219,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:219,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:220,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:220,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:221,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:221,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:222,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:222,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:223,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:223,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:225,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:225,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:226,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:226,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:227,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:227,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:229,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:230,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:230,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:231,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:231,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:232,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:232,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:233,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:233,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:234,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:234,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:237,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:237,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:239,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:239,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:240,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:240,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:243,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:243,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:244,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:244,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:245,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 246
    functionName: test_xonly_pubkey_tweak_check
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_xonly_pubkey_from_pubkey
    - memset
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_xonly_pubkey_tweak_add
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey_tweak_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:259,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:260,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:260,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:264,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:265,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:265,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:266,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:266,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:273,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:273,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:274,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:274,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:275,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:275,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:276,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 278
    functionName: test_xonly_pubkey_tweak_recursive
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_xonly_pubkey_from_pubkey
    - memset
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_xonly_pubkey_tweak_add
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey_tweak_recursive(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:291,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:292,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:295,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:296,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:296,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:297,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:297,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:298,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:298,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:299,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:299,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:300,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:300,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:301,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:301,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:302,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:302,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:303,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:303,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:304,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:304,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:305,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:305,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:308,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:308,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:309,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:309,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:310,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:310,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:311,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:311,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:314,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:315,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:315,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:316,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:316,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:317,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:317,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:318,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:318,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:319,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:319,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:322,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:323,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:323,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:324,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:324,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:327,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:327,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:328,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:328,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:329,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:329,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:330,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:330,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:333,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:334,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:334,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:335,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:335,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:336,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:336,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:337,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:337,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:338,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:338,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:339,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:339,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:342,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:342,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:343,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:344,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:344,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:345,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:345,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:348,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:348,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:349,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:349,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:350,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:350,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:351,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:351,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:352,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:352,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:353,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:356,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:357,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:357,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:358,1
    - Dst: secp256k1_keypair_sec
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:358,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:359,1
    - Dst: secp256k1_keypair_sec
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:359,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:360,1
    - Dst: secp256k1_keypair_sec
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:360,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:361,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:361,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:364,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:364,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:365,1
    - Dst: secp256k1_keypair_sec
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:365,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:366,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:366,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:370,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:371,1
    - Dst: secp256k1_keypair_sec
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:371,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:372,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 373
    functionName: test_keypair
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_xonly_pubkey_from_pubkey
    - memset
    - secp256k1_keypair_sec
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_keypair_create
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: void
    signature: void test_keypair(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:383,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:384,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:385,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:386,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:387,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:387,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:389,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:389,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:390,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:390,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:391,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:391,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:392,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:392,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:393,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:393,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:395,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:395,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:398,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:398,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:399,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:399,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:400,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:400,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:403,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:403,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:404,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:404,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:410,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:411,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:411,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:412,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:415,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:416,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:417,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:418,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:418,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:419,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:420,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:420,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:421,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:425,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:426,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:427,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:427,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:428,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:428,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:430,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:430,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:431,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:432,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:432,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:434,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:434,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:435,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:436,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:436,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:439,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:439,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:449,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:450,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:450,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:451,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:451,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:452,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:452,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:455,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:455,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:456,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:456,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:459,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:459,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:460,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:460,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:461,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:461,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:464,1
    - Dst: secp256k1_keypair_sec
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:464,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:465,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:465,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:466,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 468
    functionName: test_keypair_add
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_keypair_xonly_tweak_add
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_keypair_xonly_pub
    - secp256k1_keypair_pub
    - memcpy
    - memset
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_xonly_pubkey_tweak_add
    - secp256k1_keypair_sec
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_keypair_create
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_keypair_add(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xonly_pubkey
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:472,1
    - Dst: test_xonly_pubkey_tweak
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:473,1
    - Dst: test_xonly_pubkey_tweak_check
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:474,1
    - Dst: test_xonly_pubkey_tweak_recursive
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:475,1
    - Dst: test_xonly_pubkey_comparison
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:476,1
    - Dst: test_keypair
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:479,1
    - Dst: test_keypair_add
      Src: /src/secp256k1/src/modules/extrakeys/tests_impl.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 481
    functionName: run_extrakeys_tests
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 1
    functionsReached:
    - test_xonly_pubkey_comparison
    - test_xonly_pubkey
    - test_xonly_pubkey_tweak
    - test_xonly_pubkey_tweak_recursive
    - test_keypair_add
    - test_keypair
    - test_xonly_pubkey_tweak_check
    linkageType: ''
    returnType: void
    signature: void run_extrakeys_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ge
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    - secp256k1_xonly_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: secp256k1_xonly_pubkey_load
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_pubkey_load
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_xonly_pubkey_load(const secp256k1_context*
      ctx, secp256k1_ge *ge, const secp256k1_xonly_pubkey *pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pubkey
    - ge
    argTypes:
    - secp256k1_xonly_pubkey*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: secp256k1_xonly_pubkey_save
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_xonly_pubkey_save(secp256k1_xonly_pubkey
      *pubkey, secp256k1_ge *ge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:26,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:27,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:28,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:29,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:31,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:34,1
    - Dst: secp256k1_ge_is_in_correct_subgroup
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:37,1
    - Dst: secp256k1_xonly_pubkey_save
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - input32
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: secp256k1_xonly_pubkey_parse
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_set_b32_limit
    - memset
    - secp256k1_xonly_pubkey_save
    - secp256k1_ge_set_xo_var
    - secp256k1_ge_is_in_correct_subgroup
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_parse(const secp256k1_context* ctx, secp256k1_xonly_pubkey
      *pubkey, const unsigned char *input32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:47,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:48,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:49,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:50,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:52,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - output32
    - pubkey
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_xonly_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: secp256k1_xonly_pubkey_serialize
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_xonly_pubkey_load
    - secp256k1_fe_get_b32
    - memset
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_serialize(const secp256k1_context* ctx,
      unsigned char *output32, const secp256k1_xonly_pubkey *pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:64,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:74,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:79,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - pk0
    - pk1
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - secp256k1_xonly_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 83
    functionName: secp256k1_xonly_pubkey_cmp
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 1
    functionsReached:
    - memset
    - VERIFY_CHECK
    - secp256k1_memcmp_var
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_cmp(const secp256k1_context* ctx, const
      secp256k1_xonly_pubkey* pk0, const secp256k1_xonly_pubkey* pk1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:90,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:90,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:92,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: secp256k1_extrakeys_ge_even_y
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_ge_is_infinity
    - VERIFY_CHECK
    - secp256k1_fe_is_odd
    - secp256k1_fe_negate
    linkageType: ''
    returnType: int
    signature: int secp256k1_extrakeys_ge_even_y(secp256k1_ge *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:103,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:104,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:105,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:107,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:110,1
    - Dst: secp256k1_xonly_pubkey_save
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - xonly_pubkey
    - pk_parity
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - int*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: secp256k1_xonly_pubkey_from_pubkey
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_xonly_pubkey_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_from_pubkey(const secp256k1_context* ctx,
      secp256k1_xonly_pubkey *xonly_pubkey, int *pk_parity, const secp256k1_pubkey
      *pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:121,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:122,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:123,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:124,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:125,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:127,1
    - Dst: secp256k1_ec_pubkey_tweak_add_helper
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:128,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - output_pubkey
    - internal_pubkey
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_xonly_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: secp256k1_xonly_pubkey_tweak_add
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ec_pubkey_tweak_add_helper
    - secp256k1_xonly_pubkey_load
    - memset
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_tweak_add(const secp256k1_context* ctx,
      secp256k1_pubkey *output_pubkey, const secp256k1_xonly_pubkey *internal_pubkey,
      const unsigned char *tweak32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:139,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:140,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:141,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:142,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:144,1
    - Dst: secp256k1_ec_pubkey_tweak_add_helper
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:145,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:148,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:149,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:150,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:152,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - tweaked_pubkey32
    - tweaked_pk_parity
    - internal_pubkey
    - tweak32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - int
    - secp256k1_xonly_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: secp256k1_xonly_pubkey_tweak_add_check
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ec_pubkey_tweak_add_helper
    - secp256k1_xonly_pubkey_load
    - secp256k1_fe_get_b32
    - secp256k1_fe_normalize_var
    - secp256k1_memcmp_var
    - secp256k1_fe_is_odd
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_tweak_add_check(const secp256k1_context*
      ctx, const unsigned char *tweaked_pubkey32, int tweaked_pk_parity, const secp256k1_xonly_pubkey
      *internal_pubkey, const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:157,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - keypair
    - sk
    - pk
    argTypes:
    - secp256k1_keypair*
    - secp256k1_scalar*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: secp256k1_keypair_save
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: void
    signature: void secp256k1_keypair_save(secp256k1_keypair *keypair, const secp256k1_scalar
      *sk, secp256k1_ge *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:165,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:168,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - sk
    - keypair
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: secp256k1_keypair_seckey_load
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_declassify
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_seckey_load(const secp256k1_context* ctx, secp256k1_scalar
      *sk, const secp256k1_keypair *keypair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:182,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:183,1
    - Dst: secp256k1_keypair_seckey_load
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - sk
    - pk
    - keypair
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: secp256k1_keypair_load
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_declassify
    - secp256k1_keypair_seckey_load
    - secp256k1_pubkey_load
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_load(const secp256k1_context* ctx, secp256k1_scalar
      *sk, secp256k1_ge *pk, const secp256k1_keypair *keypair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:200,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:201,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:202,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:203,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:203,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:204,1
    - Dst: secp256k1_ec_pubkey_create_helper
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:206,1
    - Dst: secp256k1_keypair_save
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:207,1
    - Dst: secp256k1_memczero
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:208,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - keypair
    - seckey32
    argTypes:
    - secp256k1_context*
    - secp256k1_keypair*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: secp256k1_keypair_create
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 9
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_memczero
    - secp256k1_keypair_save
    - secp256k1_ec_pubkey_create_helper
    - secp256k1_ecmult_gen_context_is_built
    - memset
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_create(const secp256k1_context* ctx, secp256k1_keypair
      *keypair, const unsigned char *seckey32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:215,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:216,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:217,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:218,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - seckey
    - keypair
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: secp256k1_keypair_sec
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 4
    functionsReached:
    - memset
    - VERIFY_CHECK
    - ARG_CHECK
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_sec(const secp256k1_context* ctx, unsigned char
      *seckey, const secp256k1_keypair *keypair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:225,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:226,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:227,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:228,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - keypair
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: secp256k1_keypair_pub
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 6
    functionsReached:
    - memset
    - VERIFY_CHECK
    - ARG_CHECK
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_pub(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const secp256k1_keypair *keypair)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:238,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:239,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:240,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:241,1
    - Dst: secp256k1_keypair_load
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:243,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:246,1
    - Dst: secp256k1_xonly_pubkey_save
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - pubkey
    - pk_parity
    - keypair
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - int*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: secp256k1_keypair_xonly_pub
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_keypair_load
    - memset
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_xonly_pubkey_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_xonly_pub(const secp256k1_context* ctx, secp256k1_xonly_pubkey
      *pubkey, int *pk_parity, const secp256k1_keypair *keypair)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:261,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:262,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:263,1
    - Dst: secp256k1_keypair_load
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:265,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:266,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:268,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:270,1
    - Dst: secp256k1_ec_seckey_tweak_add_helper
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:273,1
    - Dst: secp256k1_ec_pubkey_tweak_add_helper
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:274,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:276,1
    - Dst: secp256k1_keypair_save
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:278,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/extrakeys/main_impl.h:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - keypair
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_keypair*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 283
    functionName: secp256k1_keypair_xonly_tweak_add
    functionSourceFile: /src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_declassify
    - secp256k1_ec_pubkey_tweak_add_helper
    - secp256k1_keypair_save
    - secp256k1_keypair_load
    - memset
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_scalar_negate
    - secp256k1_ec_seckey_tweak_add_helper
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_xonly_tweak_add(const secp256k1_context* ctx,
      secp256k1_keypair *keypair, const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:28,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:29,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:30,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:30,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:33,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:34,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:35,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 37
    functionName: test_exhaustive_ellswift
    functionSourceFile: /src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_pubkey_load
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_ellswift_create
    - secp256k1_ellswift_decode
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_ellswift(const secp256k1_context *ctx, const secp256k1_ge
      *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - output
    - x32
    - ell_a64
    - ell_b64
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: ellswift_xdh_hash_x32
    functionSourceFile: /src/secp256k1/src/modules/ellswift/tests_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ellswift_xdh_hash_x32(unsigned char *output, const unsigned char
      *x32, const unsigned char *ell_a64, const unsigned char *ell_b64, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_xswiftec_inv_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:187,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:188,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:191,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:191,1
    - Dst: secp256k1_ellswift_xswiftec_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:192,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:193,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:193,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:202,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:203,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:204,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:205,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:206,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:206,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:207,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:207,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:216,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:222,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:223,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:223,1
    - Dst: testutil_random_ge_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:232,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:233,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:234,1
    - Dst: secp256k1_ellswift_encode
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:236,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:237,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:238,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:240,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:240,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:252,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:253,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:254,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:256,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:257,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:259,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:260,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:261,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:262,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:262,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:274,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:275,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:277,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:278,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:279,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:280,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:281,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:285,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:286,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:287,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:288,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:290,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:291,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:293,1
    - Dst: fe_equal
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:293,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:316,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:317,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:322,1
    - Dst: testrand256_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:323,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:324,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:327,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:328,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:329,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:333,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:334,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:336,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:337,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:341,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:342,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:344,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:345,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:347,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:347,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:351,1
    - Dst: testrand_flip
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:352,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:353,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:354,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:355,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:355,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:357,1
    - Dst: testrand_flip
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:358,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:359,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:360,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:361,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:361,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:365,1
    - Dst: testrand_flip
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:366,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:367,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:368,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:368,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:370,1
    - Dst: testrand_flip
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:371,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:372,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:373,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:373,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:378,1
    - Dst: testrand_flip
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:379,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:380,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:381,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:382,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:383,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:384,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:384,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:386,1
    - Dst: testrand_flip
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:387,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:388,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:389,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:390,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:391,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:392,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:392,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:396,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:397,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:398,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:398,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:400,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:401,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:402,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:402,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:416,1
    - Dst: secp256k1_ellswift_sha256_init_encode
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:417,1
    - Dst: test_sha256_eq
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:418,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:423,1
    - Dst: secp256k1_ellswift_sha256_init_create
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:424,1
    - Dst: test_sha256_eq
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:425,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:430,1
    - Dst: secp256k1_ellswift_sha256_init_bip324
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:431,1
    - Dst: test_sha256_eq
      Src: /src/secp256k1/src/modules/ellswift/tests_impl.h:432,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 434
    functionName: run_ellswift_tests
    functionSourceFile: /src/secp256k1/src/modules/ellswift/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    - secp256k1_ellswift_xdh
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - memcpy
    - secp256k1_ellswift_sha256_init_create
    - secp256k1_ellswift_xswiftec_inv_var
    - testutil_random_scalar_order_test
    - secp256k1_gej_eq_ge_var
    - SECP256K1_FE_VERIFY
    - secp256k1_ellswift_sha256_init_bip324
    - secp256k1_ellswift_create
    - secp256k1_memcmp_var
    - test_sha256_eq
    - fe_equal
    - secp256k1_ellswift_xswiftec_var
    - secp256k1_sha256_initialize_tagged
    - secp256k1_fe_is_odd
    - secp256k1_ge_set_gej
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_pubkey_load
    - testrand_flip
    - testrand256_test
    - secp256k1_ecmult
    - secp256k1_ellswift_sha256_init_encode
    - secp256k1_ellswift_decode
    - secp256k1_ellswift_encode
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: void
    signature: void run_ellswift_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:88,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:88,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:89,1
    - Dst: EXPECT
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:90,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:90,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:91,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:92,1
    - Dst: secp256k1_fe_add_int
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:93,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:95,1
    - Dst: EXPECT
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:96,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:96,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:97,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:100,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:102,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:103,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:104,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:105,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:106,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:107,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:108,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:115,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:116,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:117,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:118,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:121,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:126,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:127,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:128,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:130,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 4
    argNames:
    - xn
    - xd
    - u
    - t
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 132
    functionName: secp256k1_ellswift_xswiftec_frac_var
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_mul
    - EXPECT
    - secp256k1_fe_add_int
    - secp256k1_ge_x_frac_on_curve_var
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_xswiftec_frac_var(secp256k1_fe *xn, secp256k1_fe
      *xd, const secp256k1_fe *u, const secp256k1_fe *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_xswiftec_frac_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:137,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:138,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - u
    - t
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: secp256k1_ellswift_xswiftec_var
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ellswift_xswiftec_frac_var
    - secp256k1_fe_inv_var
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_xswiftec_var(secp256k1_fe *x, const secp256k1_fe
      *u, const secp256k1_fe *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_xswiftec_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:145,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:146,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - u
    - t
    argTypes:
    - secp256k1_ge*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: secp256k1_ellswift_swiftec_var
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_is_odd
    - secp256k1_ellswift_xswiftec_var
    - secp256k1_ge_set_xo_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_swiftec_var(secp256k1_ge *p, const secp256k1_fe
      *u, const secp256k1_fe *t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:192,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:193,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:195,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:196,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:196,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:206,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:207,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:209,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:212,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:213,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:214,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:215,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:230,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:230,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:235,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:236,1
    - Dst: secp256k1_fe_add_int
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:237,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:238,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:239,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:242,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:243,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:251,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:253,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:256,1
    - Dst: secp256k1_fe_sqr
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:259,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:260,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:261,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:262,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:263,1
    - Dst: secp256k1_fe_add_int
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:264,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:265,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:266,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:267,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:268,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:269,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:271,1
    - Dst: EXPECT
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:277,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:277,1
    - Dst: EXPECT
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:280,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:280,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:283,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:284,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:285,1
    - Dst: secp256k1_fe_half
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:286,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:290,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:291,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:295,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:298,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:300,1
    - Dst: secp256k1_fe_mul
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:301,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 4
    argNames:
    - t
    - x_in
    - u_in
    - c
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 303
    functionName: secp256k1_ellswift_xswiftec_inv_var
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_ge_x_on_curve_var
    - secp256k1_fe_sqrt
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_is_square_var
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_mul
    - secp256k1_fe_inv_var
    - EXPECT
    - secp256k1_fe_add_int
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    - secp256k1_fe_half
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_xswiftec_inv_var(secp256k1_fe *t, const secp256k1_fe
      *x_in, const secp256k1_fe *u_in, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:320,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:321,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - out32
    - hasher
    - cnt
    argTypes:
    - unsigned char*
    - secp256k1_sha256*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: secp256k1_ellswift_prng
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_prng(unsigned char* out32, const secp256k1_sha256
      *hasher, uint32_t cnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_prng
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:349,1
    - Dst: secp256k1_ellswift_prng
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:356,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:358,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:362,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:362,1
    - Dst: EXPECT
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:365,1
    - Dst: secp256k1_ellswift_xswiftec_inv_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - u32
    - t
    - x
    - hasher
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 367
    functionName: secp256k1_ellswift_xelligatorswift_var
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_fe_set_b32_mod
    - secp256k1_ellswift_xswiftec_inv_var
    - EXPECT
    - secp256k1_ellswift_prng
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_xelligatorswift_var(unsigned char *u32, secp256k1_fe
      *t, const secp256k1_fe *x, const secp256k1_sha256 *hasher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_xelligatorswift_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:376,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:377,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:378,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:378,1
    - Dst: secp256k1_fe_negate
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:379,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - u32
    - t
    - p
    - hasher
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    - secp256k1_ge*
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: secp256k1_ellswift_elligatorswift_var
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_negate
    - secp256k1_ellswift_xelligatorswift_var
    - secp256k1_fe_is_odd
    - secp256k1_fe_normalize_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_elligatorswift_var(unsigned char *u32, secp256k1_fe
      *t, const secp256k1_ge *p, const secp256k1_sha256 *hasher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: secp256k1_ellswift_sha256_init_encode
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_sha256_init_encode(secp256k1_sha256* hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:401,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:402,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:403,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:404,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:406,1
    - Dst: secp256k1_ellswift_sha256_init_encode
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:415,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:416,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:418,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:422,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:423,1
    - Dst: secp256k1_ellswift_elligatorswift_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:426,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:427,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - ell64
    - pubkey
    - rnd32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 433
    functionName: secp256k1_ellswift_encode
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ellswift_sha256_init_encode
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_fe_get_b32
    - secp256k1_sha256_write
    - memset
    - secp256k1_ellswift_elligatorswift_var
    - secp256k1_eckey_pubkey_serialize
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_encode(const secp256k1_context *ctx, unsigned
      char *ell64, const secp256k1_pubkey *pubkey, const unsigned char *rnd32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 448
    functionName: secp256k1_ellswift_sha256_init_create
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_sha256_init_create(secp256k1_sha256* hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:459,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:460,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:461,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:462,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:462,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:463,1
    - Dst: secp256k1_ec_pubkey_create_helper
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:466,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:467,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:468,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:469,1
    - Dst: secp256k1_ellswift_sha256_init_create
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:473,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:474,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:475,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:476,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:477,1
    - Dst: secp256k1_ellswift_elligatorswift_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:480,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:481,1
    - Dst: secp256k1_memczero
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:483,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - ell64
    - seckey32
    - auxrnd32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 487
    functionName: secp256k1_ellswift_create
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_declassify
    - secp256k1_memczero
    - secp256k1_ec_pubkey_create_helper
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_fe_normalize_var
    - secp256k1_ellswift_sha256_init_create
    - memset
    - secp256k1_fe_get_b32
    - secp256k1_ellswift_elligatorswift_var
    - secp256k1_sha256_write
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_create(const secp256k1_context *ctx, unsigned
      char *ell64, const unsigned char *seckey32, const unsigned char *auxrnd32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:492,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:493,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:494,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:496,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:497,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:498,1
    - Dst: secp256k1_ellswift_swiftec_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:499,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - ell64
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 502
    functionName: secp256k1_ellswift_decode
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ellswift_swiftec_var
    - secp256k1_fe_normalize_var
    - secp256k1_fe_set_b32_mod
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_decode(const secp256k1_context *ctx, secp256k1_pubkey
      *pubkey, const unsigned char *ell64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:507,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:508,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:509,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:510,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:511,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:512,1
    - Dst: secp256k1_sha256_clear
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - output
    - x32
    - ell_a64
    - ell_b64
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: ellswift_xdh_hash_function_prefix
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    - secp256k1_sha256_clear
    linkageType: ''
    returnType: int
    signature: int ellswift_xdh_hash_function_prefix(unsigned char *output, const
      unsigned char *x32, const unsigned char *ell_a64, const unsigned char *ell_b64,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 531
    functionName: secp256k1_ellswift_sha256_init_bip324
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_sha256_init_bip324(secp256k1_sha256* hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_sha256_init_bip324
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:538,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:539,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:540,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:541,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:542,1
    - Dst: secp256k1_sha256_clear
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - output
    - x32
    - ell_a64
    - ell_b64
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 546
    functionName: ellswift_xdh_hash_function_bip324
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_clear
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    - secp256k1_ellswift_sha256_init_bip324
    linkageType: ''
    returnType: int
    signature: int ellswift_xdh_hash_function_bip324(unsigned char* output, const
      unsigned char *x32, const unsigned char *ell_a64, const unsigned char *ell_b64,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:559,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:560,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:561,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:562,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:563,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:564,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:568,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:569,1
    - Dst: secp256k1_ellswift_xswiftec_frac_var
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:570,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:573,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:574,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:575,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:578,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:579,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:580,1
    - Dst: hashfp
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:583,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:585,1
    - Dst: secp256k1_fe_clear
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:586,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/ellswift/main_impl.h:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 8
    argNames:
    - ctx
    - output
    - ell_a64
    - ell_b64
    - seckey32
    - party
    - hashfp
    - data
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - secp256k1_ellswift_xdh_hash_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 590
    functionName: secp256k1_ellswift_xdh
    functionSourceFile: /src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_ecmult_const_xonly
    - secp256k1_memclear
    - secp256k1_scalar_set_b32
    - secp256k1_fe_get_b32
    - hashfp
    - secp256k1_fe_set_b32_mod
    - secp256k1_fe_normalize
    - secp256k1_fe_clear
    - secp256k1_ellswift_xswiftec_frac_var
    - secp256k1_scalar_is_zero
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_xdh(const secp256k1_context *ctx, unsigned char
      *output, const unsigned char *ell_a64, const unsigned char *ell_b64, const unsigned
      char *seckey32, int party, secp256k1_ellswift_xdh_hash_function hashfp, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:30,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:33,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:33,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:38,1
    - Dst: secp256k1_ellswift_encode
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 39
    functionName: bench_ellswift_setup
    functionSourceFile: /src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_decode
    - secp256k1_ellswift_encode
    - CHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_setup(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:46,1
    - Dst: secp256k1_ellswift_encode
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: bench_ellswift_encode
    functionSourceFile: /src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_encode
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_encode(void *arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:56,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:56,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: bench_ellswift_create
    functionSourceFile: /src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_create
    - CHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_create(void *arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:68,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:68,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:70,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: bench_ellswift_decode
    functionSourceFile: /src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_decode
    - secp256k1_ec_pubkey_serialize
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_decode(void *arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:80,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: bench_ellswift_xdh
    functionSourceFile: /src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_xdh
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_xdh(void *arg, int iters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:96,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:98,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:98,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:98,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:98,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:99,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:99,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:99,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:99,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:100,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:100,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:100,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:100,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:101,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:101,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:101,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:101,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/modules/ellswift/bench_impl.h:103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 3
    argNames:
    - iters
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: run_ellswift_bench
    functionSourceFile: /src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 1
    functionsReached:
    - have_flag
    - secp256k1_context_destroy
    - run_benchmark
    - secp256k1_context_create
    linkageType: ''
    returnType: void
    signature: void run_ellswift_bench(int iters, int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:74,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: secp256k1_hardened_nonce_function_smallint
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    linkageType: ''
    returnType: int
    signature: "int secp256k1_hardened_nonce_function_smallint(unsigned char *nonce32,
      const unsigned char *msg,\n                                                      size_t
      msglen,\n                                                      const unsigned
      char *key32, const unsigned char *xonly_pk32,\n                                                      const
      unsigned char *algo, size_t algolen,\n                                                      void*
      data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:87,1
    - Dst: skip_section
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:96,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:98,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:101,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:107,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:108,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:118,1
    - Dst: secp256k1_write_be32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:119,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:123,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:126,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:127,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - pubkeys
    - (*xonly_pubkey_bytes)
    - parities
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - unsigned char[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 139
    functionName: test_exhaustive_schnorrsig_verify
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_schnorrsig_challenge
    - testrand256
    - CHECK
    - secp256k1_write_be32
    - secp256k1_schnorrsig_verify
    - memcpy
    - memset
    - skip_section
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_schnorrsig_verify(const secp256k1_context *ctx,
      const secp256k1_xonly_pubkey* pubkeys, unsigned char (*xonly_pubkey_bytes)[32],
      const int* parities)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:157,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:164,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:165,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:170,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:172,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:172,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:174,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:174,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:176,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - (*xonly_pubkey_bytes)
    - keypairs
    - parities
    argTypes:
    - secp256k1_context*
    - unsigned char[]
    - secp256k1_keypair*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: test_exhaustive_schnorrsig_sign
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_schnorrsig_challenge
    - testrand256
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_schnorrsig_sign_custom
    - skip_section
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_schnorrsig_sign(const secp256k1_context *ctx,
      unsigned char (*xonly_pubkey_bytes)[32], const secp256k1_keypair* keypairs,
      const int* parities)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:196,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:196,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:203,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:204,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:205,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:205,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:206,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:206,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:207,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:207,1
    - Dst: test_exhaustive_schnorrsig_sign
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:210,1
    - Dst: test_exhaustive_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 212
    functionName: test_exhaustive_schnorrsig
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h
    functionUses: 1
    functionsReached:
    - test_exhaustive_schnorrsig_verify
    - secp256k1_xonly_pubkey_parse
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_keypair_xonly_pub
    - secp256k1_scalar_set_int
    - test_exhaustive_schnorrsig_sign
    - secp256k1_keypair_create
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_schnorrsig(const secp256k1_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:17,1
    - Dst: nonce_function_bip340
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:17,1
    - Dst: testrand_flip
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:18,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:19,1
    - Dst: nonce_function_bip340
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:19,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:20,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - args
    - n_flip
    - n_bytes
    - msglen
    - algolen
    argTypes:
    - unsigned char**
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: nonce_function_bip340_bitflip
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    - nonce_function_bip340
    - CHECK
    - testrand_flip
    linkageType: ''
    returnType: void
    signature: void nonce_function_bip340_bitflip(unsigned char **args, size_t n_flip,
      size_t n_bytes, size_t msglen, size_t algolen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:42,1
    - Dst: secp256k1_nonce_function_bip340_sha256_tagged
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:43,1
    - Dst: test_sha256_eq
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:44,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:49,1
    - Dst: secp256k1_nonce_function_bip340_sha256_tagged_aux
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:50,1
    - Dst: test_sha256_eq
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:51,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:53,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:54,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:55,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:56,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:65,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:66,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:67,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:69,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:71,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:72,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:76,1
    - Dst: nonce_function_bip340
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:76,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:77,1
    - Dst: nonce_function_bip340
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:77,1
    - Dst: testrand_bytes_test
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:79,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:80,1
    - Dst: nonce_function_bip340
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:80,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:84,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:89,1
    - Dst: nonce_function_bip340
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:89,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:90,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:90,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:93,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:95,1
    - Dst: nonce_function_bip340
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:95,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:96,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:96,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:100,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:101,1
    - Dst: nonce_function_bip340
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:101,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:102,1
    - Dst: nonce_function_bip340
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:102,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:103,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 104
    functionName: run_nonce_function_bip340_tests
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - CHECK
    - testrand_bytes_test
    - nonce_function_bip340_bitflip
    - memset
    - secp256k1_sha256_initialize_tagged
    - secp256k1_nonce_function_bip340_sha256_tagged_aux
    - secp256k1_memcmp_var
    - test_sha256_eq
    - testrand_int
    - secp256k1_nonce_function_bip340_sha256_tagged
    - nonce_function_bip340
    linkageType: ''
    returnType: void
    signature: void run_nonce_function_bip340_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:119,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:120,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:121,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:122,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:123,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:123,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:124,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:124,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:125,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:125,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:126,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:126,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:127,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:127,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:128,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:128,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:129,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:132,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:132,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:133,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:133,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:134,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:134,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:135,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:135,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:136,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:136,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:137,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:137,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:139,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:139,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:140,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:140,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:141,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:141,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:142,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:142,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:143,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:143,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:144,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:144,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:145,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:145,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:146,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:146,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:147,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:147,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:149,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:149,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:150,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:150,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:151,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:151,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:152,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:152,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:153,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:153,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:154,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:154,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:155,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 156
    functionName: test_schnorrsig_api
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_schnorrsig_sign_custom
    - secp256k1_schnorrsig_verify
    - memset
    - CHECK_ILLEGAL
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_api(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:165,1
    - Dst: secp256k1_schnorrsig_sha256_tagged
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:166,1
    - Dst: test_sha256_eq
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: test_schnorrsig_sha256_tagged
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - test_sha256_eq
    - secp256k1_sha256_initialize_tagged
    - secp256k1_schnorrsig_sha256_tagged
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_sha256_tagged(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:180,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:180,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:181,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:181,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:182,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:182,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:184,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:185,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:185,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:186,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:186,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:189,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:189,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:190,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:190,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:191,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:191,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:192,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - sk
    - pk_serialized
    - aux_rand
    - msg
    - msglen
    - expected_sig
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 193
    functionName: test_schnorrsig_bip_vectors_check_signing
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_xonly_pubkey_parse
    - secp256k1_keypair_xonly_pub
    - secp256k1_schnorrsig_sign_custom
    - secp256k1_schnorrsig_verify
    - memset
    - secp256k1_memcmp_var
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_bip_vectors_check_signing(const unsigned char
      *sk, const unsigned char *pk_serialized, const unsigned char *aux_rand, const
      unsigned char *msg, size_t msglen, const unsigned char *expected_sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:200,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:200,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:201,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pk_serialized
    - msg
    - msglen
    - sig
    - expected
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: test_schnorrsig_bip_vectors_check_verify
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_xonly_pubkey_parse
    - secp256k1_schnorrsig_verify
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_bip_vectors_check_verify(const unsigned char *pk_serialized,
      const unsigned char *msg, size_t msglen, const unsigned char *sig, int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:243,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:244,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:282,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:283,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:321,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:322,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:360,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:361,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:387,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:399,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:399,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:425,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:451,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:477,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:503,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:529,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:555,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:581,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:607,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:619,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:619,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:652,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:653,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:686,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:687,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:724,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:725,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:758,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:759,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 762
    functionName: test_schnorrsig_bip_vectors
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_xonly_pubkey_parse
    - CHECK
    - test_schnorrsig_bip_vectors_check_verify
    - memset
    - test_schnorrsig_bip_vectors_check_signing
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_bip_vectors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 775
    functionName: nonce_function_failing
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nonce_function_failing(unsigned char *nonce32, const unsigned char
      *msg, size_t msglen, const unsigned char *key32, const unsigned char *xonly_pk32,
      const unsigned char *algo, size_t algolen, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 789
    functionName: nonce_function_0
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int nonce_function_0(unsigned char *nonce32, const unsigned char *msg,
      size_t msglen, const unsigned char *key32, const unsigned char *xonly_pk32,
      const unsigned char *algo, size_t algolen, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: nonce_function_overflowing
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int nonce_function_overflowing(unsigned char *nonce32, const unsigned
      char *msg, size_t msglen, const unsigned char *key32, const unsigned char *xonly_pk32,
      const unsigned char *algo, size_t algolen, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:816,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:817,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:818,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:818,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:819,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:819,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:820,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:820,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:821,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:821,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:823,1
    - Dst: secp256k1_schnorrsig_sign
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:823,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:824,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:824,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:827,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:827,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:828,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:828,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:829,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:831,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:831,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:832,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:832,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:833,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:835,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:835,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:836,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:836,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:837,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:839,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:839,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:840,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:840,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:846,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:846,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:847,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:847,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:848,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 849
    functionName: test_schnorrsig_sign
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - secp256k1_schnorrsig_sign
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_schnorrsig_sign_custom
    - secp256k1_schnorrsig_verify
    - memset
    - secp256k1_memcmp_var
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_sign(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:864,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:865,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:865,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:866,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:866,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:869,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:870,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:870,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:871,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:871,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:877,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:878,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:879,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:881,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:881,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:884,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:886,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:886,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:889,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:891,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:891,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:895,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:895,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:899,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:899,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:900,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:900,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:901,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:902,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:902,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:905,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:905,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:906,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:906,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:907,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:908,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:909,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:910,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:910,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:913,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:913,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:914,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:914,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:919,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:921,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:923,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:923,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:924,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:924,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:927,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 929
    functionName: test_schnorrsig_sign_verify
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_schnorrsig_sign_custom
    - secp256k1_schnorrsig_verify
    - testrand_bits
    - memset
    - secp256k1_scalar_negate
    - secp256k1_keypair_create
    - testrand_int
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_sign_verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:945,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:946,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:946,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:947,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:947,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:949,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:949,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:950,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:950,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:951,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:951,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:952,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:952,1
    - Dst: testrand256
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:955,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:956,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:956,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:958,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:958,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:959,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:959,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:962,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:962,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:964,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:964,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:965,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 966
    functionName: test_schnorrsig_taproot
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - testrand256
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_keypair_xonly_tweak_add
    - secp256k1_xonly_pubkey_parse
    - secp256k1_schnorrsig_verify
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_sign32
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_taproot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_nonce_function_bip340_tests
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:970,1
    - Dst: test_schnorrsig_api
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:972,1
    - Dst: test_schnorrsig_sha256_tagged
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:973,1
    - Dst: test_schnorrsig_bip_vectors
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:974,1
    - Dst: test_schnorrsig_sign
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:976,1
    - Dst: test_schnorrsig_sign_verify
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:977,1
    - Dst: test_schnorrsig_taproot
      Src: /src/secp256k1/src/modules/schnorrsig/tests_impl.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 980
    functionName: run_schnorrsig_tests
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - test_schnorrsig_sign
    - test_schnorrsig_bip_vectors
    - test_schnorrsig_sign_verify
    - test_schnorrsig_taproot
    - test_schnorrsig_sha256_tagged
    - run_nonce_function_bip340_tests
    - test_schnorrsig_api
    linkageType: ''
    returnType: void
    signature: void run_schnorrsig_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: secp256k1_nonce_function_bip340_sha256_tagged
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_bip340_sha256_tagged(secp256k1_sha256
      *sha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: secp256k1_nonce_function_bip340_sha256_tagged_aux
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_bip340_sha256_tagged_aux(secp256k1_sha256
      *sha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_nonce_function_bip340_sha256_tagged_aux
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:62,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:63,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:64,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:85,1
    - Dst: secp256k1_nonce_function_bip340_sha256_tagged
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:86,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:88,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:92,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:93,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:94,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:95,1
    - Dst: secp256k1_sha256_clear
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:96,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 100
    functionName: nonce_function_bip340
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_memclear
    - secp256k1_sha256_clear
    - secp256k1_sha256_finalize
    - secp256k1_nonce_function_bip340_sha256_tagged_aux
    - secp256k1_sha256_initialize_tagged
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    - secp256k1_nonce_function_bip340_sha256_tagged
    linkageType: ''
    returnType: int
    signature: int nonce_function_bip340(unsigned char *nonce32, const unsigned char
      *msg, size_t msglen, const unsigned char *key32, const unsigned char *xonly_pk32,
      const unsigned char *algo, size_t algolen, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: secp256k1_schnorrsig_sha256_tagged
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_schnorrsig_sha256_tagged(secp256k1_sha256 *sha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_schnorrsig_sha256_tagged
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:125,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:126,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:127,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:128,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:129,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - e
    - r32
    - msg
    - msglen
    - pubkey32
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: secp256k1_schnorrsig_challenge
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    - secp256k1_schnorrsig_sha256_tagged
    linkageType: ''
    returnType: void
    signature: void secp256k1_schnorrsig_challenge(secp256k1_scalar* e, const unsigned
      char *r32, const unsigned char *msg, size_t msglen, const unsigned char *pubkey32)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:147,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:148,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:148,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:149,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:150,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:151,1
    - Dst: secp256k1_keypair_load
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:157,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:161,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:162,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:165,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:166,1
    - Dst: noncefp
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:167,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:168,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:169,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:170,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:172,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:173,1
    - Dst: secp256k1_declassify
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:177,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:178,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:179,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:180,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:182,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:183,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:185,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:186,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:187,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:188,1
    - Dst: secp256k1_memczero
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:190,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:191,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:192,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:193,1
    - Dst: secp256k1_gej_clear
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 7
    argNames:
    - ctx
    - sig64
    - msg
    - msglen
    - keypair
    - noncefp
    - ndata
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    - secp256k1_keypair*
    - secp256k1_nonce_function_hardened
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 197
    functionName: secp256k1_schnorrsig_sign_internal
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_keypair_load
    - secp256k1_fe_normalize_var
    - secp256k1_ecmult_gen
    - secp256k1_scalar_mul
    - secp256k1_schnorrsig_challenge
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_fe_get_b32
    - ARG_CHECK
    - secp256k1_scalar_add
    - secp256k1_scalar_clear
    - secp256k1_declassify
    - secp256k1_memczero
    - secp256k1_scalar_negate
    - secp256k1_fe_is_odd
    - noncefp
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_memclear
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_is_zero
    - secp256k1_gej_clear
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_sign_internal(const secp256k1_context* ctx,
      unsigned char *sig64, const unsigned char *msg, size_t msglen, const secp256k1_keypair
      *keypair, secp256k1_nonce_function_hardened noncefp, void *ndata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_schnorrsig_sign_internal
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - sig64
    - msg32
    - keypair
    - aux_rand32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - secp256k1_keypair*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: secp256k1_schnorrsig_sign32
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_schnorrsig_sign_internal
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_sign32(const secp256k1_context* ctx, unsigned
      char *sig64, const unsigned char *msg32, const secp256k1_keypair *keypair, const
      unsigned char *aux_rand32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - sig64
    - msg32
    - keypair
    - aux_rand32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - secp256k1_keypair*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: secp256k1_schnorrsig_sign
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_sign(const secp256k1_context* ctx, unsigned
      char *sig64, const unsigned char *msg32, const secp256k1_keypair *keypair, const
      unsigned char *aux_rand32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:211,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:214,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:214,1
    - Dst: secp256k1_schnorrsig_sign_internal
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - sig64
    - msg
    - msglen
    - keypair
    - extraparams
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    - secp256k1_keypair*
    - secp256k1_schnorrsig_extraparams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: secp256k1_schnorrsig_sign_custom
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_memcmp_var
    - VERIFY_CHECK
    - ARG_CHECK
    - secp256k1_schnorrsig_sign_internal
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_sign_custom(const secp256k1_context* ctx,
      unsigned char *sig64, const unsigned char *msg, size_t msglen, const secp256k1_keypair
      *keypair, secp256k1_schnorrsig_extraparams *extraparams)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:234,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:235,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:236,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:237,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:239,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:243,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:248,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:253,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:254,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:257,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:258,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:259,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:261,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:262,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:266,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:267,1
    - Dst: secp256k1_fe_equal
      Src: /src/secp256k1/src/modules/schnorrsig/main_impl.h:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - sig64
    - msg
    - msglen
    - pubkey
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    - secp256k1_xonly_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 269
    functionName: secp256k1_schnorrsig_verify
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 10
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_schnorrsig_challenge
    - secp256k1_fe_equal
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_set_b32
    - secp256k1_xonly_pubkey_load
    - secp256k1_fe_get_b32
    - secp256k1_gej_set_ge
    - secp256k1_ge_set_gej_var
    - secp256k1_ecmult
    - secp256k1_fe_normalize_var
    - secp256k1_scalar_negate
    - secp256k1_ge_is_infinity
    - secp256k1_fe_is_odd
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_verify(const secp256k1_context* ctx, const
      unsigned char *sig64, const unsigned char *msg, size_t msglen, const secp256k1_xonly_pubkey
      *pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:33,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: bench_schnorrsig_sign
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_schnorrsig_sign_custom
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_schnorrsig_sign(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:43,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:43,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:44,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: bench_schnorrsig_verify
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_xonly_pubkey_parse
    - secp256k1_schnorrsig_verify
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_schnorrsig_verify(void* arg, int iters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:53,1
    - Dst: malloc
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:54,1
    - Dst: malloc
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:55,1
    - Dst: malloc
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:56,1
    - Dst: malloc
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:57,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:59,1
    - Dst: malloc
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:62,1
    - Dst: malloc
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:63,1
    - Dst: malloc
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:64,1
    - Dst: malloc
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:65,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:71,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:72,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:79,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:79,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:80,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:80,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:81,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:81,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:82,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:82,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:85,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:85,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:85,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:85,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:86,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:86,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:86,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:86,1
    - Dst: free
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:89,1
    - Dst: free
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:90,1
    - Dst: free
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:91,1
    - Dst: free
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:92,1
    - Dst: free
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:96,1
    - Dst: free
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:97,1
    - Dst: free
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:98,1
    - Dst: free
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:99,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/modules/schnorrsig/bench_impl.h:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - iters
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 102
    functionName: run_schnorrsig_bench
    functionSourceFile: /src/secp256k1/src/modules/schnorrsig/bench_impl.h
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_context_create
    - secp256k1_keypair_xonly_pub
    - secp256k1_schnorrsig_sign_custom
    - have_flag
    - secp256k1_context_destroy
    - malloc
    - memset
    - run_benchmark
    - secp256k1_keypair_create
    - free
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void run_schnorrsig_bench(int iters, int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - output
    - x
    - y
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: ecdh_hash_function_test_xpassthru
    functionSourceFile: /src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ecdh_hash_function_test_xpassthru(unsigned char *output, const
      unsigned char *x, const unsigned char *y, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - output
    - x
    - y
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: ecdh_hash_function_test_fail
    functionSourceFile: /src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecdh_hash_function_test_fail(unsigned char *output, const unsigned
      char *x, const unsigned char *y, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:29,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - output
    - x
    - y
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: ecdh_hash_function_custom
    functionSourceFile: /src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ecdh_hash_function_custom(unsigned char *output, const unsigned
      char *x, const unsigned char *y, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:40,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:40,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:43,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:43,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:44,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:44,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:45,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:45,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:46,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:46,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:47,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: test_ecdh_api
    functionSourceFile: /src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached:
    - CHECK_ILLEGAL
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_ecdh
    linkageType: ''
    returnType: void
    signature: void test_ecdh_api(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:66,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:67,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:69,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:69,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:70,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:70,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:73,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:73,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:75,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:75,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:77,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:77,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:80,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:80,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:82,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:82,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:83,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:84,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:85,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:87,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 89
    functionName: test_ecdh_generator_basepoint
    functionSourceFile: /src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdh
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void test_ecdh_generator_basepoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:105,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:106,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:107,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:107,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:110,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:110,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:111,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:111,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:114,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:114,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:117,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 118
    functionName: test_bad_scalar
    functionSourceFile: /src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    - secp256k1_ecdh
    linkageType: ''
    returnType: void
    signature: void test_bad_scalar(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:133,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:133,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:134,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:134,1
    - Dst: testutil_random_scalar_order
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:137,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:138,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:139,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:140,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:142,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:142,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:143,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:143,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:144,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:144,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:146,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:146,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:147,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:147,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:148,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: test_result_basepoint
    functionSourceFile: /src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    - secp256k1_scalar_inverse
    - secp256k1_ecdh
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void test_result_basepoint(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:165,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:167,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:170,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:176,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:178,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:178,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:181,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 183
    functionName: test_ecdh_wycheproof
    functionSourceFile: /src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_ecdh
    - memset
    - secp256k1_ec_pubkey_parse
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void test_ecdh_wycheproof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdh_api
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:186,1
    - Dst: test_ecdh_generator_basepoint
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:187,1
    - Dst: test_bad_scalar
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:188,1
    - Dst: test_result_basepoint
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:189,1
    - Dst: test_ecdh_wycheproof
      Src: /src/secp256k1/src/modules/ecdh/tests_impl.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: run_ecdh_tests
    functionSourceFile: /src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 1
    functionsReached:
    - test_ecdh_generator_basepoint
    - test_ecdh_api
    - test_ecdh_wycheproof
    - test_bad_scalar
    - test_result_basepoint
    linkageType: ''
    returnType: void
    signature: void run_ecdh_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:18,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:19,1
    - Dst: secp256k1_sha256_write
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:20,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:21,1
    - Dst: secp256k1_sha256_clear
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - output
    - x32
    - y32
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: ecdh_hash_function_sha256
    functionSourceFile: /src/secp256k1/src/modules/ecdh/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    - secp256k1_sha256_clear
    linkageType: ''
    returnType: int
    signature: int ecdh_hash_function_sha256(unsigned char *output, const unsigned
      char *x32, const unsigned char *y32, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:39,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:40,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:41,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:42,1
    - Dst: secp256k1_pubkey_load
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:48,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:49,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:51,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:52,1
    - Dst: secp256k1_ecmult_const
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:54,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:55,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:58,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:59,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:60,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:61,1
    - Dst: hashfp
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:63,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:65,1
    - Dst: secp256k1_memclear
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:66,1
    - Dst: secp256k1_scalar_clear
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:67,1
    - Dst: secp256k1_ge_clear
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:68,1
    - Dst: secp256k1_gej_clear
      Src: /src/secp256k1/src/modules/ecdh/main_impl.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 6
    argNames:
    - ctx
    - output
    - point
    - scalar
    - hashfp
    - data
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_pubkey*
    - unsigned char*
    - secp256k1_ecdh_hash_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 72
    functionName: secp256k1_ecdh
    functionSourceFile: /src/secp256k1/src/modules/ecdh/main_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_memclear
    - secp256k1_scalar_clear
    - secp256k1_pubkey_load
    - secp256k1_ge_clear
    - secp256k1_scalar_set_b32
    - secp256k1_fe_get_b32
    - hashfp
    - secp256k1_ecmult_const
    - secp256k1_fe_normalize
    - secp256k1_scalar_is_zero
    - ARG_CHECK
    - secp256k1_gej_clear
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdh(const secp256k1_context* ctx, unsigned char *output,
      const secp256k1_pubkey *point, const unsigned char *scalar, secp256k1_ecdh_hash_function
      hashfp, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/bench_impl.h:32,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/src/modules/ecdh/bench_impl.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: bench_ecdh_setup
    functionSourceFile: /src/secp256k1/src/modules/ecdh/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_parse
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_ecdh_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/ecdh/bench_impl.h:41,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/src/modules/ecdh/bench_impl.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: bench_ecdh
    functionSourceFile: /src/secp256k1/src/modules/ecdh/bench_impl.h
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_ecdh
    linkageType: ''
    returnType: void
    signature: void bench_ecdh(void* arg, int iters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/modules/ecdh/bench_impl.h:50,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/ecdh/bench_impl.h:52,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/modules/ecdh/bench_impl.h:52,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/modules/ecdh/bench_impl.h:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - iters
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: run_ecdh_bench
    functionSourceFile: /src/secp256k1/src/modules/ecdh/bench_impl.h
    functionUses: 1
    functionsReached:
    - have_flag
    - secp256k1_context_destroy
    - run_benchmark
    - secp256k1_context_create
    linkageType: ''
    returnType: void
    signature: void run_ecdh_bench(int iters, int argc, char** argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:20,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:31,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:32,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:33,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:34,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:36,1
    - Dst: secp256k1_ecdsa_recoverable_signature_load
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:39,1
    - Dst: r_from_k
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:40,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:41,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:42,1
    - Dst: secp256k1_fe_normalize
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:52,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:55,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:57,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:59,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:62,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:63,1
    - Dst: r_from_k
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:67,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:68,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 79
    functionName: test_exhaustive_recovery_sign
    functionSourceFile: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_ecdsa_recoverable_signature_convert
    - secp256k1_ecdsa_signature_load
    - secp256k1_fe_normalize
    - skip_section
    - secp256k1_ecdsa_sign_recoverable
    - secp256k1_ecdsa_recoverable_signature_load
    - secp256k1_fe_is_odd
    - r_from_k
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_recovery_sign(const secp256k1_context *ctx, const
      secp256k1_ge *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:99,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:101,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:102,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:103,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:104,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:105,1
    - Dst: r_from_k
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:113,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:115,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:116,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:117,1
    - Dst: secp256k1_scalar_add
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:118,1
    - Dst: secp256k1_scalar_eq
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:119,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:123,1
    - Dst: secp256k1_ecdsa_recoverable_signature_save
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:131,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:132,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:133,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:134,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:135,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 141
    functionName: test_exhaustive_recovery_verify
    functionSourceFile: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_verify
    - secp256k1_ecdsa_recoverable_signature_save
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - secp256k1_ecdsa_recoverable_signature_convert
    - memcpy
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_high
    - skip_section
    - secp256k1_pubkey_save
    - r_from_k
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_recovery_verify(const secp256k1_context *ctx,
      const secp256k1_ge *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exhaustive_recovery_sign
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:144,1
    - Dst: test_exhaustive_recovery_verify
      Src: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: test_exhaustive_recovery
    functionSourceFile: /src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h
    functionUses: 1
    functionsReached:
    - test_exhaustive_recovery_sign
    - test_exhaustive_recovery_verify
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_recovery(const secp256k1_context *ctx, const secp256k1_ge
      *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:18,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:23,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:27,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 29
    functionName: recovery_test_nonce_function
    functionSourceFile: /src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 0
    functionsReached:
    - memset
    - testrand_bits
    linkageType: ''
    returnType: int
    signature: int recovery_test_nonce_function(unsigned char *nonce32, const unsigned
      char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:48,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:48,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:49,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:49,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:52,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:52,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:53,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:53,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:54,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:54,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:55,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:55,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:56,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:56,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:58,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:60,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:60,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:61,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:61,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:63,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:63,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:68,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:68,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:69,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:69,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:70,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:70,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:71,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:71,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:74,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:74,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:75,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:75,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:76,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:76,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:77,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:77,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:80,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:80,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:81,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:81,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:82,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:82,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:83,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:83,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:84,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:84,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:86,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:86,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:87,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:87,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:88,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:88,1
    - Dst: CHECK_ILLEGAL
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:89,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:89,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:91,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:92,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: test_ecdsa_recovery_api
    functionSourceFile: /src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_ecdsa_recover
    - secp256k1_ecdsa_recoverable_signature_serialize_compact
    - secp256k1_ecdsa_recoverable_signature_convert
    - memcpy
    - secp256k1_ecdsa_sign
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - secp256k1_ecdsa_sign_recoverable
    - CHECK_ILLEGAL
    - secp256k1_ec_seckey_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_recovery_api(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:109,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:110,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:111,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:112,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:116,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:116,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:117,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:117,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:121,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:121,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:122,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:122,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:123,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:123,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:124,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:124,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:126,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:126,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:129,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:129,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:130,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:130,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:131,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:131,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:132,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:132,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:133,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:133,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:134,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:135,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:135,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:136,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:136,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:137,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:137,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:139,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:139,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:140,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:140,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:141,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:141,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:143,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:143,1
    - Dst: testrand_bits
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:144,1
    - Dst: testrand_int
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:144,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:145,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:145,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:146,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:146,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:147,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:147,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:149,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:149,1
    - Dst: secp256k1_memcmp_var
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 151
    functionName: test_ecdsa_recovery_end_to_end
    functionSourceFile: /src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_verify
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_ecdsa_recover
    - secp256k1_ecdsa_recoverable_signature_serialize_compact
    - secp256k1_ecdsa_recoverable_signature_convert
    - secp256k1_ecdsa_sign
    - memset
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - testrand_bits
    - secp256k1_ecdsa_sign_recoverable
    - secp256k1_memcmp_var
    - testrand_int
    - secp256k1_ec_seckey_verify
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_recovery_end_to_end(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:190,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:190,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:191,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:191,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:192,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:192,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:193,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:193,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:194,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:194,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:195,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:195,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:196,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:196,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:197,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:197,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:242,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:242,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:243,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:243,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:244,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:244,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:245,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:245,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:248,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:248,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:249,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:249,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:251,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:251,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:252,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:252,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:256,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:256,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:257,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:257,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:259,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:259,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:260,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:260,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:261,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:261,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:262,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:262,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:264,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:264,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:265,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:265,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:267,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:267,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:268,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:268,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:271,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:271,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:272,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:272,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:274,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:274,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:275,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:275,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:285,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:285,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:285,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:306,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:306,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:307,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:307,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:308,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:308,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:309,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:309,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:312,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:312,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:313,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:313,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:314,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:314,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:315,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:315,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:320,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:320,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:321,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:321,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:322,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:322,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:323,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 325
    functionName: test_ecdsa_recovery_edge_cases
    functionSourceFile: /src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_signature_parse_der
    - CHECK
    - secp256k1_ecdsa_recover
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - secp256k1_ecdsa_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_recovery_edge_cases(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_recovery_api
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:330,1
    - Dst: test_ecdsa_recovery_end_to_end
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:333,1
    - Dst: test_ecdsa_recovery_edge_cases
      Src: /src/secp256k1/src/modules/recovery/tests_impl.h:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: run_recovery_tests
    functionSourceFile: /src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 1
    functionsReached:
    - test_ecdsa_recovery_api
    - test_ecdsa_recovery_edge_cases
    - test_ecdsa_recovery_end_to_end
    linkageType: ''
    returnType: void
    signature: void run_recovery_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:18,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:19,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:21,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - r
    - s
    - recid
    - sig
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int*
    - secp256k1_ecdsa_recoverable_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: secp256k1_ecdsa_recoverable_signature_load
    functionSourceFile: /src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_set_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecdsa_recoverable_signature_load(const secp256k1_context*
      ctx, secp256k1_scalar* r, secp256k1_scalar* s, int* recid, const secp256k1_ecdsa_recoverable_signature*
      sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:29,1
    - Dst: memcpy
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:30,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:32,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - sig
    - r
    - s
    - recid
    argTypes:
    - secp256k1_ecdsa_recoverable_signature*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: secp256k1_ecdsa_recoverable_signature_save
    functionSourceFile: /src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecdsa_recoverable_signature_save(secp256k1_ecdsa_recoverable_signature*
      sig, const secp256k1_scalar* r, const secp256k1_scalar* s, int recid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:43,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:44,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:45,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:46,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:48,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:50,1
    - Dst: secp256k1_ecdsa_recoverable_signature_save
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:53,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - sig
    - input64
    - recid
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_recoverable_signature*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: secp256k1_ecdsa_recoverable_signature_parse_compact
    functionSourceFile: /src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ecdsa_recoverable_signature_save
    - secp256k1_scalar_set_b32
    - memset
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_recoverable_signature_parse_compact(const secp256k1_context*
      ctx, secp256k1_ecdsa_recoverable_signature* sig, const unsigned char *input64,
      int recid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:63,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:64,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:65,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:66,1
    - Dst: secp256k1_ecdsa_recoverable_signature_load
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:68,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:69,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - output64
    - recid
    - sig
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - int*
    - secp256k1_ecdsa_recoverable_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: secp256k1_ecdsa_recoverable_signature_serialize_compact
    functionSourceFile: /src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_ecdsa_recoverable_signature_load
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_recoverable_signature_serialize_compact(const secp256k1_context*
      ctx, unsigned char *output64, int *recid, const secp256k1_ecdsa_recoverable_signature*
      sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:78,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:79,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:80,1
    - Dst: secp256k1_ecdsa_recoverable_signature_load
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:82,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - sig
    - sigin
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - secp256k1_ecdsa_recoverable_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: secp256k1_ecdsa_recoverable_signature_convert
    functionSourceFile: /src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_ecdsa_recoverable_signature_load
    - VERIFY_CHECK
    - ARG_CHECK
    - secp256k1_ecdsa_signature_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_recoverable_signature_convert(const secp256k1_context*
      ctx, secp256k1_ecdsa_signature* sig, const secp256k1_ecdsa_recoverable_signature*
      sigin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:96,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:96,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:100,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:101,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:103,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:105,1
    - Dst: secp256k1_fe_add
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:108,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:110,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:113,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:114,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:115,1
    - Dst: secp256k1_scalar_negate
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:116,1
    - Dst: secp256k1_scalar_mul
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:117,1
    - Dst: secp256k1_ecmult
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:118,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:119,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - sigr
    - sigs
    - pubkey
    - message
    - recid
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: secp256k1_ecdsa_sig_recover
    functionSourceFile: /src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_gej_is_infinity
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_get_b32
    - secp256k1_fe_add
    - secp256k1_ge_set_gej_var
    - secp256k1_fe_cmp_var
    - secp256k1_gej_set_ge
    - secp256k1_scalar_mul
    - secp256k1_ecmult
    - secp256k1_scalar_inverse_var
    - secp256k1_ge_set_xo_var
    - secp256k1_scalar_negate
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_recover(const secp256k1_scalar *sigr, const
      secp256k1_scalar* sigs, secp256k1_ge *pubkey, const secp256k1_scalar *message,
      int recid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:126,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:127,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:127,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:128,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:129,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:130,1
    - Dst: secp256k1_ecdsa_sign_inner
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:132,1
    - Dst: secp256k1_ecdsa_recoverable_signature_save
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - signature
    - msghash32
    - seckey
    - noncefp
    - noncedata
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_recoverable_signature*
    - unsigned char*
    - unsigned char*
    - secp256k1_nonce_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: secp256k1_ecdsa_sign_recoverable
    functionSourceFile: /src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ecdsa_recoverable_signature_save
    - secp256k1_ecdsa_sign_inner
    - secp256k1_ecmult_gen_context_is_built
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sign_recoverable(const secp256k1_context* ctx,
      secp256k1_ecdsa_recoverable_signature *signature, const unsigned char *msghash32,
      const unsigned char *seckey, secp256k1_nonce_function noncefp, const void* noncedata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:142,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:143,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:144,1
    - Dst: ARG_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:145,1
    - Dst: secp256k1_ecdsa_recoverable_signature_load
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:147,1
    - Dst: VERIFY_CHECK
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:148,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:149,1
    - Dst: secp256k1_ecdsa_sig_recover
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:150,1
    - Dst: secp256k1_pubkey_save
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:151,1
    - Dst: memset
      Src: /src/secp256k1/src/modules/recovery/main_impl.h:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - pubkey
    - signature
    - msghash32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_ecdsa_recoverable_signature*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: secp256k1_ecdsa_recover
    functionSourceFile: /src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_set_b32
    - memset
    - secp256k1_ecdsa_recoverable_signature_load
    - secp256k1_ecdsa_sig_recover
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_recover(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const secp256k1_ecdsa_recoverable_signature *signature, const unsigned
      char *msghash32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:28,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:28,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:29,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:29,1
    - Dst: CHECK
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:30,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: bench_recover
    functionSourceFile: /src/secp256k1/src/modules/recovery/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdsa_recover
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_recover(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: bench_recover_setup
    functionSourceFile: /src/secp256k1/src/modules/recovery/bench_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bench_recover_setup(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:55,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:57,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:57,1
    - Dst: have_flag
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:57,1
    - Dst: run_benchmark
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:57,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/src/modules/recovery/bench_impl.h:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - iters
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: run_recovery_bench
    functionSourceFile: /src/secp256k1/src/modules/recovery/bench_impl.h
    functionUses: 1
    functionsReached:
    - have_flag
    - secp256k1_context_destroy
    - run_benchmark
    - secp256k1_context_create
    linkageType: ''
    returnType: void
    signature: void run_recovery_bench(int iters, int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _maj
    - ','
    - _min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: SECP256K1_GNUC_PREREQ
    functionSourceFile: /src/secp256k1/include/secp256k1.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GNUC_PREREQ(_maj,_min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _maj
    - ','
    - _min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: SECP256K1_GNUC_PREREQ
    functionSourceFile: /src/secp256k1/include/secp256k1.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GNUC_PREREQ(_maj,_min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: SECP256K1_ARG_NONNULL
    functionSourceFile: /src/secp256k1/include/secp256k1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_ARG_NONNULL(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: SECP256K1_DEPRECATED
    functionSourceFile: /src/secp256k1/include/secp256k1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_DEPRECATED(_msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/examples/ecdh.c:34,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ecdh.c:35,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdh.c:36,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/examples/ecdh.c:42,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:43,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ecdh.c:46,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ecdh.c:46,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdh.c:47,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/examples/ecdh.c:53,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/examples/ecdh.c:53,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdh.c:54,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/examples/ecdh.c:59,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:60,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/examples/ecdh.c:61,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:62,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/examples/ecdh.c:66,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:67,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:69,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/examples/ecdh.c:73,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:74,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:76,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/examples/ecdh.c:82,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:83,1
    - Dst: secp256k1_ecdh
      Src: /src/secp256k1/examples/ecdh.c:87,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:88,1
    - Dst: memcmp
      Src: /src/secp256k1/examples/ecdh.c:91,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdh.c:92,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdh.c:94,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ecdh.c:95,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdh.c:96,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ecdh.c:97,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdh.c:98,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ecdh.c:99,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdh.c:100,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ecdh.c:101,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdh.c:102,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ecdh.c:103,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/examples/ecdh.c:106,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/ecdh.c:115,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/ecdh.c:116,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/ecdh.c:117,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/ecdh.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (return_val)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/secp256k1/examples/ecdh.c
    - condition: (len == sizeof(compressed_pubkey1))
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/secp256k1/examples/ecdh.c
    - condition: (len == sizeof(compressed_pubkey2))
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/secp256k1/examples/ecdh.c
    - condition: (return_val == 0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/secp256k1/examples/ecdh.c
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/secp256k1/examples/ecdh.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - secp256k1_context_create
    - print_hex
    - fill_random
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdh
    - memcmp
    - printf
    - assert
    - secure_erase
    - secp256k1_ec_seckey_verify
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/examples/ecdsa.c:41,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ecdsa.c:42,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdsa.c:43,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/examples/ecdsa.c:49,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdsa.c:50,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ecdsa.c:53,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdsa.c:54,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/examples/ecdsa.c:60,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdsa.c:61,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/examples/ecdsa.c:66,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdsa.c:67,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/examples/ecdsa.c:71,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdsa.c:72,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdsa.c:74,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/secp256k1/examples/ecdsa.c:82,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdsa.c:83,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/secp256k1/examples/ecdsa.c:87,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdsa.c:88,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/secp256k1/examples/ecdsa.c:94,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdsa.c:95,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/secp256k1/examples/ecdsa.c:100,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdsa.c:101,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/examples/ecdsa.c:106,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdsa.c:108,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdsa.c:109,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ecdsa.c:110,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdsa.c:111,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ecdsa.c:112,1
    - Dst: printf
      Src: /src/secp256k1/examples/ecdsa.c:113,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ecdsa.c:114,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/examples/ecdsa.c:117,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/secp256k1/examples/ecdsa.c:124,1
    - Dst: assert
      Src: /src/secp256k1/examples/ecdsa.c:126,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/ecdsa.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (is_signature_valid2 == is_signature_valid)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/secp256k1/examples/ecdsa.c
    - condition: (return_val)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/secp256k1/examples/ecdsa.c
    - condition: (return_val)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/secp256k1/examples/ecdsa.c
    - condition: (return_val)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/secp256k1/examples/ecdsa.c
    - condition: (return_val)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/secp256k1/examples/ecdsa.c
    - condition: (return_val)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/secp256k1/examples/ecdsa.c
    - condition: (len == sizeof(compressed_pubkey))
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/secp256k1/examples/ecdsa.c
    constantsTouched: []
    func_position:
      end: 138
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/secp256k1/examples/ecdsa.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - secp256k1_context_create
    - print_hex
    - fill_random
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdsa_sign
    - secp256k1_ecdsa_signature_serialize_compact
    - secp256k1_ecdsa_signature_parse_compact
    - secp256k1_ec_pubkey_parse
    - printf
    - assert
    - secure_erase
    - secp256k1_ec_seckey_verify
    - secp256k1_ecdsa_verify
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fill_random
      Src: /src/secp256k1/examples/musig.c:43,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:44,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/examples/musig.c:51,1
    - Dst: secp256k1_keypair_pub
      Src: /src/secp256k1/examples/musig.c:54,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/musig.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - signer_secrets
    - signer
    argTypes:
    - secp256k1_context*
    - struct signer_secrets*
    - struct signer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 60
    functionName: create_keypair
    functionSourceFile: /src/secp256k1/examples/musig.c
    functionUses: 0
    functionsReached:
    - fill_random
    - secp256k1_keypair_create
    - printf
    - secure_erase
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: int
    signature: int create_keypair(const secp256k1_context* ctx, struct signer_secrets
      *signer_secrets, struct signer *signer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_pubkey_ec_tweak_add
      Src: /src/secp256k1/examples/musig.c:76,1
    - Dst: secp256k1_musig_pubkey_xonly_tweak_add
      Src: /src/secp256k1/examples/musig.c:87,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/secp256k1/examples/musig.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - agg_pk
    - cache
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: tweak
    functionSourceFile: /src/secp256k1/examples/musig.c
    functionUses: 6
    functionsReached:
    - secp256k1_musig_pubkey_xonly_tweak_add
    - secp256k1_xonly_pubkey_from_pubkey
    - secp256k1_musig_pubkey_ec_tweak_add
    linkageType: ''
    returnType: int
    signature: int tweak(const secp256k1_context* ctx, secp256k1_xonly_pubkey *agg_pk,
      secp256k1_musig_keyagg_cache *cache)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fill_random
      Src: /src/secp256k1/examples/musig.c:120,1
    - Dst: secp256k1_keypair_sec
      Src: /src/secp256k1/examples/musig.c:123,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/secp256k1/examples/musig.c:128,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/musig.c:133,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/secp256k1/examples/musig.c:139,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/secp256k1/examples/musig.c:146,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/secp256k1/examples/musig.c:153,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/secp256k1/examples/musig.c:172,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/secp256k1/examples/musig.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ctx
    - signer_secrets
    - signer
    - cache
    - msg32
    - sig64
    argTypes:
    - secp256k1_context*
    - struct signer_secrets*
    - struct signer*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 177
    functionName: sign
    functionSourceFile: /src/secp256k1/examples/musig.c
    functionUses: 25
    functionsReached:
    - secp256k1_musig_partial_sig_agg
    - secp256k1_musig_nonce_process
    - fill_random
    - secp256k1_musig_partial_sig_verify
    - secp256k1_musig_nonce_gen
    - secp256k1_keypair_sec
    - secp256k1_musig_partial_sign
    - secure_erase
    - secp256k1_musig_nonce_agg
    linkageType: ''
    returnType: int
    signature: int sign(const secp256k1_context* ctx, struct signer_secrets *signer_secrets,
      struct signer *signer, const secp256k1_musig_keyagg_cache *cache, const unsigned
      char *msg32, unsigned char *sig64)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/examples/musig.c:191,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:192,1
    - Dst: fflush
      Src: /src/secp256k1/examples/musig.c:193,1
    - Dst: create_keypair
      Src: /src/secp256k1/examples/musig.c:195,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:196,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:201,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:208,1
    - Dst: fflush
      Src: /src/secp256k1/examples/musig.c:209,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/secp256k1/examples/musig.c:210,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:211,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:214,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:216,1
    - Dst: fflush
      Src: /src/secp256k1/examples/musig.c:217,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/secp256k1/examples/musig.c:221,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:222,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:225,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:226,1
    - Dst: fflush
      Src: /src/secp256k1/examples/musig.c:227,1
    - Dst: tweak
      Src: /src/secp256k1/examples/musig.c:229,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:230,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:233,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:234,1
    - Dst: fflush
      Src: /src/secp256k1/examples/musig.c:235,1
    - Dst: sign
      Src: /src/secp256k1/examples/musig.c:236,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:237,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:240,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:241,1
    - Dst: fflush
      Src: /src/secp256k1/examples/musig.c:242,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/examples/musig.c:243,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:244,1
    - Dst: printf
      Src: /src/secp256k1/examples/musig.c:247,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/musig.c:257,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/examples/musig.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 261
    functionName: main
    functionSourceFile: /src/secp256k1/examples/musig.c
    functionUses: 0
    functionsReached:
    - create_keypair
    - secp256k1_context_create
    - secp256k1_context_destroy
    - tweak
    - secp256k1_ec_pubkey_sort
    - secp256k1_schnorrsig_verify
    - fflush
    - sign
    - secp256k1_musig_pubkey_agg
    - printf
    - secure_erase
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/examples/ellswift.c:39,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ellswift.c:40,1
    - Dst: printf
      Src: /src/secp256k1/examples/ellswift.c:41,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/examples/ellswift.c:47,1
    - Dst: assert
      Src: /src/secp256k1/examples/ellswift.c:48,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ellswift.c:51,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ellswift.c:51,1
    - Dst: printf
      Src: /src/secp256k1/examples/ellswift.c:52,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/examples/ellswift.c:58,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/examples/ellswift.c:58,1
    - Dst: printf
      Src: /src/secp256k1/examples/ellswift.c:59,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ellswift.c:66,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/ellswift.c:66,1
    - Dst: printf
      Src: /src/secp256k1/examples/ellswift.c:67,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/examples/ellswift.c:70,1
    - Dst: assert
      Src: /src/secp256k1/examples/ellswift.c:71,1
    - Dst: secp256k1_ellswift_create
      Src: /src/secp256k1/examples/ellswift.c:72,1
    - Dst: assert
      Src: /src/secp256k1/examples/ellswift.c:73,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/examples/ellswift.c:81,1
    - Dst: assert
      Src: /src/secp256k1/examples/ellswift.c:83,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/secp256k1/examples/ellswift.c:87,1
    - Dst: assert
      Src: /src/secp256k1/examples/ellswift.c:89,1
    - Dst: memcmp
      Src: /src/secp256k1/examples/ellswift.c:92,1
    - Dst: assert
      Src: /src/secp256k1/examples/ellswift.c:93,1
    - Dst: printf
      Src: /src/secp256k1/examples/ellswift.c:95,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ellswift.c:96,1
    - Dst: printf
      Src: /src/secp256k1/examples/ellswift.c:97,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ellswift.c:98,1
    - Dst: printf
      Src: /src/secp256k1/examples/ellswift.c:99,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ellswift.c:100,1
    - Dst: printf
      Src: /src/secp256k1/examples/ellswift.c:101,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ellswift.c:102,1
    - Dst: printf
      Src: /src/secp256k1/examples/ellswift.c:103,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/ellswift.c:104,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/examples/ellswift.c:107,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/ellswift.c:116,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/ellswift.c:117,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/ellswift.c:118,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/ellswift.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (return_val)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/secp256k1/examples/ellswift.c
    - condition: (return_val)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/secp256k1/examples/ellswift.c
    - condition: (return_val)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/secp256k1/examples/ellswift.c
    - condition: (return_val)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/secp256k1/examples/ellswift.c
    - condition: (return_val)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/secp256k1/examples/ellswift.c
    - condition: (return_val == 0)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/secp256k1/examples/ellswift.c
    constantsTouched: []
    func_position:
      end: 122
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/secp256k1/examples/ellswift.c
    functionUses: 0
    functionsReached:
    - secp256k1_context_create
    - print_hex
    - fill_random
    - secp256k1_ellswift_xdh
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - memcmp
    - secp256k1_ellswift_create
    - printf
    - assert
    - secure_erase
    - secp256k1_ec_seckey_verify
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/secp256k1/examples/schnorr.c:35,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/schnorr.c:36,1
    - Dst: printf
      Src: /src/secp256k1/examples/schnorr.c:37,1
    - Dst: secp256k1_context_randomize
      Src: /src/secp256k1/examples/schnorr.c:43,1
    - Dst: assert
      Src: /src/secp256k1/examples/schnorr.c:44,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/schnorr.c:47,1
    - Dst: printf
      Src: /src/secp256k1/examples/schnorr.c:48,1
    - Dst: secp256k1_keypair_create
      Src: /src/secp256k1/examples/schnorr.c:55,1
    - Dst: printf
      Src: /src/secp256k1/examples/schnorr.c:56,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/secp256k1/examples/schnorr.c:65,1
    - Dst: assert
      Src: /src/secp256k1/examples/schnorr.c:66,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/secp256k1/examples/schnorr.c:69,1
    - Dst: assert
      Src: /src/secp256k1/examples/schnorr.c:70,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/secp256k1/examples/schnorr.c:88,1
    - Dst: assert
      Src: /src/secp256k1/examples/schnorr.c:89,1
    - Dst: fill_random
      Src: /src/secp256k1/examples/schnorr.c:92,1
    - Dst: printf
      Src: /src/secp256k1/examples/schnorr.c:93,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/secp256k1/examples/schnorr.c:105,1
    - Dst: assert
      Src: /src/secp256k1/examples/schnorr.c:106,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/secp256k1/examples/schnorr.c:112,1
    - Dst: printf
      Src: /src/secp256k1/examples/schnorr.c:113,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/secp256k1/examples/schnorr.c:118,1
    - Dst: assert
      Src: /src/secp256k1/examples/schnorr.c:119,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/examples/schnorr.c:122,1
    - Dst: printf
      Src: /src/secp256k1/examples/schnorr.c:125,1
    - Dst: printf
      Src: /src/secp256k1/examples/schnorr.c:126,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/schnorr.c:127,1
    - Dst: printf
      Src: /src/secp256k1/examples/schnorr.c:128,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/schnorr.c:129,1
    - Dst: printf
      Src: /src/secp256k1/examples/schnorr.c:130,1
    - Dst: print_hex
      Src: /src/secp256k1/examples/schnorr.c:131,1
    - Dst: secp256k1_context_destroy
      Src: /src/secp256k1/examples/schnorr.c:134,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/secp256k1/examples/schnorr.c:141,1
    - Dst: assert
      Src: /src/secp256k1/examples/schnorr.c:143,1
    - Dst: secure_erase
      Src: /src/secp256k1/examples/schnorr.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (return_val)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/secp256k1/examples/schnorr.c
    - condition: (is_signature_valid2 == is_signature_valid)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/secp256k1/examples/schnorr.c
    constantsTouched: []
    func_position:
      end: 154
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/secp256k1/examples/schnorr.c
    functionUses: 0
    functionsReached:
    - secp256k1_xonly_pubkey_parse
    - secp256k1_context_create
    - secp256k1_keypair_xonly_pub
    - fill_random
    - print_hex
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_verify
    - secp256k1_tagged_sha256
    - printf
    - assert
    - secure_erase
    - secp256k1_schnorrsig_sign32
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BCryptGenRandom
      Src: /src/secp256k1/examples/examples_util.h:45,1
    - Dst: getrandom
      Src: /src/secp256k1/examples/examples_util.h:53,1
    - Dst: getentropy
      Src: /src/secp256k1/examples/examples_util.h:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: fill_random
    functionSourceFile: /src/secp256k1/examples/examples_util.h
    functionUses: 6
    functionsReached:
    - getentropy
    - BCryptGenRandom
    - getrandom
    linkageType: ''
    returnType: int
    signature: int fill_random(unsigned char* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/secp256k1/examples/examples_util.h:74,1
    - Dst: printf
      Src: /src/secp256k1/examples/examples_util.h:76,1
    - Dst: printf
      Src: /src/secp256k1/examples/examples_util.h:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: print_hex
    functionSourceFile: /src/secp256k1/examples/examples_util.h
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_hex(unsigned char* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/secp256k1/examples/examples_util.h:89,1
    - Dst: memset
      Src: /src/secp256k1/examples/examples_util.h:102,1
    - Dst: volatile_memset
      Src: /src/secp256k1/examples/examples_util.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: secure_erase
    functionSourceFile: /src/secp256k1/examples/examples_util.h
    functionUses: 7
    functionsReached:
    - memset
    - SecureZeroMemory
    - volatile_memset
    linkageType: ''
    returnType: void
    signature: void secure_erase(void *ptr, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:15,1
    - Dst: memcpy
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:47,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:48,1
    - Dst: memset
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:49,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - out32
    - privkey
    - privkeylen
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 53
    functionName: ec_privkey_import_der
    functionSourceFile: /src/secp256k1/contrib/lax_der_privatekey_parsing.c
    functionUses: 1
    functionsReached:
    - memset
    - secp256k1_ec_seckey_verify
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ec_privkey_import_der(const secp256k1_context* ctx, unsigned char
      *out32, const unsigned char *privkey, size_t privkeylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:58,1
    - Dst: memcpy
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:78,1
    - Dst: memcpy
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:79,1
    - Dst: memcpy
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:80,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:82,1
    - Dst: memcpy
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:103,1
    - Dst: memcpy
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:104,1
    - Dst: memcpy
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:105,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/secp256k1/contrib/lax_der_privatekey_parsing.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - privkey
    - privkeylen
    - key32
    - compressed
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - size_t*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 112
    functionName: ec_privkey_export_der
    functionSourceFile: /src/secp256k1/contrib/lax_der_privatekey_parsing.c
    functionUses: 2
    functionsReached:
    - secp256k1_ec_pubkey_create
    - secp256k1_ec_pubkey_serialize
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ec_privkey_export_der(const secp256k1_context *ctx, unsigned char
      *privkey, size_t *privkeylen, const unsigned char *key32, int compressed)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/secp256k1/contrib/lax_der_parsing.c:19,1
    - Dst: memcpy
      Src: /src/secp256k1/contrib/lax_der_parsing.c:124,1
    - Dst: memcpy
      Src: /src/secp256k1/contrib/lax_der_parsing.c:136,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/secp256k1/contrib/lax_der_parsing.c:140,1
    - Dst: memset
      Src: /src/secp256k1/contrib/lax_der_parsing.c:143,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/secp256k1/contrib/lax_der_parsing.c:144,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 112
    argCount: 4
    argNames:
    - ctx
    - sig
    - input
    - inputlen
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 147
    functionName: ecdsa_signature_parse_der_lax
    functionSourceFile: /src/secp256k1/contrib/lax_der_parsing.c
    functionUses: 1
    functionsReached:
    - memset
    - secp256k1_ecdsa_signature_parse_compact
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ecdsa_signature_parse_der_lax(const secp256k1_context* ctx, secp256k1_ecdsa_signature*
      sig, const unsigned char *input, size_t inputlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: CNoDestination::CNoDestination
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CNoDestination()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: CNoDestination::CNoDestination
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CNoDestination(const CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& GetScript() const'
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScript
    signature: CScript & GetScript() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScript
      Src: /src/bitcoin-core/src/addresstype.h:30,1
    - Dst: GetScript
      Src: /src/bitcoin-core/src/addresstype.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CNoDestination
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: operator==(const CNoDestination& a, const CNoDestination& b)
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached:
    - GetScript
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CNoDestination& a, const CNoDestination& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScript
      Src: /src/bitcoin-core/src/addresstype.h:31,1
    - Dst: GetScript
      Src: /src/bitcoin-core/src/addresstype.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CNoDestination
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: operator<(const CNoDestination& a, const CNoDestination& b)
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached:
    - GetScript
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CNoDestination& a, const CNoDestination& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: PubKeyDestination
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PubKeyDestination(const CPubKey& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& GetPubKey() const'
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPubKey
    signature: CPubKey & GetPubKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/addresstype.h:43,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/addresstype.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PubKeyDestination
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: operator==(const PubKeyDestination& a, const PubKeyDestination&
      b)
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached:
    - GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PubKeyDestination& a, const PubKeyDestination&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/addresstype.h:44,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/addresstype.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PubKeyDestination
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: operator<(const PubKeyDestination& a, const PubKeyDestination& b)
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached:
    - GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool operator<(const PubKeyDestination& a, const PubKeyDestination&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: PKHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint160
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: PKHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKHash(const uint160& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ScriptHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ScriptHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptHash(const WitnessV0KeyHash& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ScriptHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptHash(const PKHash& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint160
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ScriptHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptHash(const uint160& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: WitnessV0ScriptHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessV0ScriptHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: WitnessV0ScriptHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessV0ScriptHash(const uint256& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: WitnessV0KeyHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessV0KeyHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint160
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: WitnessV0KeyHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessV0KeyHash(const uint160& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: WitnessV1Taproot
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessV1Taproot()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' xpk'
    argTypes:
    - XOnlyPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: WitnessV1Taproot
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessV1Taproot(const XOnlyPubKey& xpk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - version
    - ' program'
    argTypes:
    - unsigned int
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: WitnessUnknown
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessUnknown(unsigned int version, const std::vector<unsigned
      char>& program)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/addresstype.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - version
    - ' program'
    argTypes:
    - int
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: WitnessUnknown
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: void
    signature: void WitnessUnknown(int version, const std::vector<unsigned char>&
      program)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: GetWitnessVersion
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetWitnessVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '& GetWitnessProgram() const'
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> & GetWitnessProgram() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/addresstype.h:109,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/addresstype.h:109,1
    - Dst: GetWitnessProgram
      Src: /src/bitcoin-core/src/addresstype.h:110,1
    - Dst: GetWitnessProgram
      Src: /src/bitcoin-core/src/addresstype.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' w1'
    - ' w2'
    argTypes:
    - WitnessUnknown
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: operator==(const WitnessUnknown& w1, const WitnessUnknown& w2)
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached:
    - GetWitnessProgram
    - GetWitnessVersion
    linkageType: ''
    returnType: bool
    signature: bool operator==(const WitnessUnknown& w1, const WitnessUnknown& w2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/addresstype.h:114,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/addresstype.h:114,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/addresstype.h:115,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/addresstype.h:115,1
    - Dst: GetWitnessProgram
      Src: /src/bitcoin-core/src/addresstype.h:116,1
    - Dst: GetWitnessProgram
      Src: /src/bitcoin-core/src/addresstype.h:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' w1'
    - ' w2'
    argTypes:
    - WitnessUnknown
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: operator<(const WitnessUnknown& w1, const WitnessUnknown& w2)
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 0
    functionsReached:
    - GetWitnessProgram
    - GetWitnessVersion
    linkageType: ''
    returnType: bool
    signature: bool operator<(const WitnessUnknown& w1, const WitnessUnknown& w2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/addresstype.h:126,1
    - Dst: CScript::IsPayToAnchor
      Src: /src/bitcoin-core/src/addresstype.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: PayToAnchor
    functionSourceFile: /src/bitcoin-core/src/addresstype.h
    functionUses: 1
    functionsReached:
    - CScript::IsPayToAnchor
    - Assume
    linkageType: ''
    returnType: void
    signature: void PayToAnchor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: CBanEntry::CBanEntry
    functionSourceFile: /src/bitcoin-core/src/net_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBanEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - nCreateTimeIn
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: CBanEntry::CBanEntry
    functionSourceFile: /src/bitcoin-core/src/net_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBanEntry(int64_t nCreateTimeIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:22,1
    - Dst: CBlockHeaderAndShortTxIDs::FillShortTxIDSelector
      Src: /src/bitcoin-core/src/blockencodings.cpp:23,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:26,1
    - Dst: CBlockHeaderAndShortTxIDs::GetShortID
      Src: /src/bitcoin-core/src/blockencodings.cpp:28,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/blockencodings.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' block'
    - nonce
    argTypes:
    - CBlock
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
    functionSourceFile: /src/bitcoin-core/src/blockencodings.cpp
    functionUses: 0
    functionsReached:
    - CBlockHeaderAndShortTxIDs::GetShortID
    - GetWitnessHash
    - CBlockHeaderAndShortTxIDs::FillShortTxIDSelector
    - vtx::size
    linkageType: ''
    returnType: void
    signature: void CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs(const CBlock&
      block, const uint64_t nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256::CSHA256
      Src: /src/bitcoin-core/src/blockencodings.cpp:35,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/blockencodings.cpp:36,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/blockencodings.cpp:36,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/blockencodings.cpp:36,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/blockencodings.cpp:36,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/blockencodings.cpp:37,1
    - Dst: CSHA256::Finalize
      Src: /src/bitcoin-core/src/blockencodings.cpp:38,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/blockencodings.cpp:38,1
    - Dst: uint256::GetUint64
      Src: /src/bitcoin-core/src/blockencodings.cpp:39,1
    - Dst: uint256::GetUint64
      Src: /src/bitcoin-core/src/blockencodings.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: CBlockHeaderAndShortTxIDs::FillShortTxIDSelector
    functionSourceFile: /src/bitcoin-core/src/blockencodings.cpp
    functionUses: 1
    functionsReached:
    - uint256::GetUint64
    - DataStream::begin
    - uint256::begin
    - CSHA256::Finalize
    - CSHA256::CSHA256
    - CSHA256::Write
    - uint256::uint256
    - DataStream::end
    linkageType: ''
    returnType: void
    signature: void CBlockHeaderAndShortTxIDs::FillShortTxIDSelector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipHashUint256
      Src: /src/bitcoin-core/src/blockencodings.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: CBlockHeaderAndShortTxIDs::GetShortID
    functionSourceFile: /src/bitcoin-core/src/blockencodings.cpp
    functionUses: 1
    functionsReached:
    - SipHashUint256
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CBlockHeaderAndShortTxIDs::GetShortID(const Wtxid& wtxid)
      const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/blockencodings.cpp:49,1
    - Dst: header::GetHash
      Src: /src/bitcoin-core/src/blockencodings.cpp:49,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/blockencodings.cpp:49,1
    - Dst: header::IsNull
      Src: /src/bitcoin-core/src/blockencodings.cpp:50,1
    - Dst: shorttxids::empty
      Src: /src/bitcoin-core/src/blockencodings.cpp:50,1
    - Dst: prefilledtxn::empty
      Src: /src/bitcoin-core/src/blockencodings.cpp:50,1
    - Dst: shorttxids::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:52,1
    - Dst: prefilledtxn::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:52,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/blockencodings.cpp:55,1
    - Dst: empty
      Src: /src/bitcoin-core/src/blockencodings.cpp:55,1
    - Dst: resize
      Src: /src/bitcoin-core/src/blockencodings.cpp:58,1
    - Dst: BlockTxCount
      Src: /src/bitcoin-core/src/blockencodings.cpp:58,1
    - Dst: prefilledtxn::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:61,1
    - Dst: tx::IsNull
      Src: /src/bitcoin-core/src/blockencodings.cpp:62,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/blockencodings.cpp:66,1
    - Dst: shorttxids::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:68,1
    - Dst: prefilledtxn::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:76,1
    - Dst: shorttxids::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:82,1
    - Dst: shorttxids::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:84,1
    - Dst: std::unordered_map::bucket_size
      Src: /src/bitcoin-core/src/blockencodings.cpp:98,1
    - Dst: std::unordered_map::bucket
      Src: /src/bitcoin-core/src/blockencodings.cpp:98,1
    - Dst: std::unordered_map::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:103,1
    - Dst: shorttxids::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:103,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.cpp:106,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/blockencodings.cpp:108,1
    - Dst: GetShortID
      Src: /src/bitcoin-core/src/blockencodings.cpp:110,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/blockencodings.cpp:110,1
    - Dst: std::unordered_map::find
      Src: /src/bitcoin-core/src/blockencodings.cpp:111,1
    - Dst: std::unordered_map::end
      Src: /src/bitcoin-core/src/blockencodings.cpp:112,1
    - Dst: reset
      Src: /src/bitcoin-core/src/blockencodings.cpp:122,1
    - Dst: std::unordered_map::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:130,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.cpp:135,1
    - Dst: GetShortID
      Src: /src/bitcoin-core/src/blockencodings.cpp:139,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/blockencodings.cpp:139,1
    - Dst: std::unordered_map::find
      Src: /src/bitcoin-core/src/blockencodings.cpp:140,1
    - Dst: std::unordered_map::end
      Src: /src/bitcoin-core/src/blockencodings.cpp:141,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/blockencodings.cpp:155,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/blockencodings.cpp:155,1
    - Dst: reset
      Src: /src/bitcoin-core/src/blockencodings.cpp:156,1
    - Dst: std::unordered_map::size
      Src: /src/bitcoin-core/src/blockencodings.cpp:165,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/blockencodings.cpp:169,1
    - Dst: header::GetHash
      Src: /src/bitcoin-core/src/blockencodings.cpp:169,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/blockencodings.cpp:169,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 2
    argNames:
    - ' cmpctblock'
    - ' extra_txn'
    argTypes:
    - CBlockHeaderAndShortTxIDs
    - std::vector<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 172
    functionName: PartiallyDownloadedBlock::InitData
    functionSourceFile: /src/bitcoin-core/src/blockencodings.cpp
    functionUses: 0
    functionsReached:
    - tx::IsNull
    - prefilledtxn::empty
    - header::GetHash
    - resize
    - GetShortID
    - std::unordered_map::bucket_size
    - shorttxids::size
    - std::unordered_map::bucket
    - empty
    - GetWitnessHash
    - GetSerializeSize
    - LogDebug
    - IsNull
    - std::unordered_map::end
    - RandomMixin::max
    - std::unordered_map::find
    - BlockTxCount
    - std::unordered_map::size
    - prefilledtxn::size
    - size
    - LOCK
    - reset
    - shorttxids::empty
    - header::IsNull
    linkageType: ''
    returnType: ReadStatus
    signature: ReadStatus PartiallyDownloadedBlock::InitData(const CBlockHeaderAndShortTxIDs&
      cmpctblock, const std::vector<CTransactionRef>& extra_txn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/blockencodings.cpp:176,1
    - Dst: assert
      Src: /src/bitcoin-core/src/blockencodings.cpp:178,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts:
    - condition: (index < txn_available.size())
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/bitcoin-core/src/blockencodings.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: PartiallyDownloadedBlock::IsTxAvailable
    functionSourceFile: /src/bitcoin-core/src/blockencodings.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    - IsNull
    linkageType: ''
    returnType: bool
    signature: bool PartiallyDownloadedBlock::IsTxAvailable(size_t index) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/blockencodings.cpp:184,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/blockencodings.cpp:186,1
    - Dst: vtx::resize
      Src: /src/bitcoin-core/src/blockencodings.cpp:188,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.cpp:188,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.cpp:192,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.cpp:194,1
    - Dst: GetTotalSize
      Src: /src/bitcoin-core/src/blockencodings.cpp:197,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/blockencodings.cpp:199,1
    - Dst: SetNull
      Src: /src/bitcoin-core/src/blockencodings.cpp:203,1
    - Dst: clear
      Src: /src/bitcoin-core/src/blockencodings.cpp:204,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.cpp:206,1
    - Dst: check_mutated
      Src: /src/bitcoin-core/src/blockencodings.cpp:211,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/blockencodings.cpp:216,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/blockencodings.cpp:216,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.cpp:216,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.cpp:217,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/blockencodings.cpp:219,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/blockencodings.cpp:219,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/blockencodings.cpp:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ' block'
    - ' vtx_missing'
    - segwit_active
    argTypes:
    - CBlock
    - std::vector<CTransactionRef>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 224
    functionName: PartiallyDownloadedBlock::FillBlock
    functionSourceFile: /src/bitcoin-core/src/blockencodings.cpp
    functionUses: 0
    functionsReached:
    - vtx::resize
    - check_mutated
    - LogDebug
    - GetHash
    - SetNull
    - size
    - std::move
    - uint256::ToString
    - clear
    - GetTotalSize
    - IsNull
    linkageType: ''
    returnType: ReadStatus
    signature: ReadStatus PartiallyDownloadedBlock::FillBlock(CBlock& block, const
      std::vector<CTransactionRef>& vtx_missing, bool segwit_active)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: BIP324Cipher::BIP324Cipher
    functionSourceFile: /src/bitcoin-core/src/bip324.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIP324Cipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& GetOurPubKey() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bip324.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EllSwiftPubKey
    signature: EllSwiftPubKey & GetOurPubKey() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/bip324.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator bool() const noexcept
    functionSourceFile: /src/bitcoin-core/src/bip324.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: BIP324Cipher::GetSessionID
    functionSourceFile: /src/bitcoin-core/src/bip324.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const std::byte>
    signature: std::span<const std::byte> GetSessionID() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: BIP324Cipher::GetSendGarbageTerminator
    functionSourceFile: /src/bitcoin-core/src/bip324.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const std::byte>
    signature: std::span<const std::byte> GetSendGarbageTerminator() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: BIP324Cipher::GetReceiveGarbageTerminator
    functionSourceFile: /src/bitcoin-core/src/bip324.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const std::byte>
    signature: std::span<const std::byte> GetReceiveGarbageTerminator() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/streams.cpp:15,1
    - Dst: std::ftell
      Src: /src/bitcoin-core/src/streams.cpp:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - file
    - ' obfuscation'
    argTypes:
    - std::FILE*
    - Obfuscation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: AutoFile::AutoFile
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::IsNull
    - std::ftell
    linkageType: ''
    returnType: void
    signature: void AutoFile::AutoFile(std::FILE* file, const Obfuscation& obfuscation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:23,1
    - Dst: std::fread
      Src: /src/bitcoin-core/src/streams.cpp:24,1
    - Dst: std::span<std::byte>::data
      Src: /src/bitcoin-core/src/streams.cpp:24,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:24,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:26,1
    - Dst: m_obfuscation
      Src: /src/bitcoin-core/src/streams.cpp:27,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/streams.cpp:27,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: AutoFile::detail_fread
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - std::span<std::byte>::size
    - std::span<std::byte>::data
    - std::ios_base::failure
    - m_obfuscation
    - std::span<std::byte>::subspan
    - std::fread
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t AutoFile::detail_fread(std::span<std::byte> dst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/streams.cpp:35,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:36,1
    - Dst: std::fseek
      Src: /src/bitcoin-core/src/streams.cpp:38,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:39,1
    - Dst: AutoFile::feof
      Src: /src/bitcoin-core/src/streams.cpp:39,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/streams.cpp:43,1
    - Dst: std::ftell
      Src: /src/bitcoin-core/src/streams.cpp:46,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:48,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - offset
    - origin
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: AutoFile::seek
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - std::fseek
    - AutoFile::IsNull
    - AutoFile::feof
    - std::ios_base::failure
    - has_value
    - std::ftell
    linkageType: ''
    returnType: void
    signature: void AutoFile::seek(int64_t offset, int origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/streams.cpp:56,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: AutoFile::tell
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - std::ios_base::failure
    - has_value
    linkageType: ''
    returnType: int64_t
    signature: int64_t AutoFile::tell()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::detail_fread
      Src: /src/bitcoin-core/src/streams.cpp:62,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:62,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:63,1
    - Dst: AutoFile::feof
      Src: /src/bitcoin-core/src/streams.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: AutoFile::read
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::feof
    - AutoFile::detail_fread
    - std::span<std::byte>::size
    - std::ios_base::failure
    linkageType: ''
    returnType: void
    signature: void AutoFile::read(std::span<std::byte> dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:69,1
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/streams.cpp:72,1
    - Dst: std::fread
      Src: /src/bitcoin-core/src/streams.cpp:73,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:74,1
    - Dst: AutoFile::feof
      Src: /src/bitcoin-core/src/streams.cpp:74,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/streams.cpp:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - nSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: AutoFile::ignore
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - AutoFile::feof
    - std::ios_base::failure
    - has_value
    - std::fread
    linkageType: ''
    returnType: void
    signature: void AutoFile::ignore(size_t nSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:83,1
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/streams.cpp:85,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/streams.cpp:85,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:85,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:85,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:86,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/streams.cpp:89,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:89,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:92,1
    - Dst: first
      Src: /src/bitcoin-core/src/streams.cpp:93,1
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/streams.cpp:93,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:93,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/streams.cpp:93,1
    - Dst: std::copy_n
      Src: /src/bitcoin-core/src/streams.cpp:94,1
    - Dst: std::span<const std::byte>::begin
      Src: /src/bitcoin-core/src/streams.cpp:94,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/streams.cpp:94,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/streams.cpp:94,1
    - Dst: AutoFile::write_buffer
      Src: /src/bitcoin-core/src/streams.cpp:95,1
    - Dst: std::span<const std::byte>::subspan
      Src: /src/bitcoin-core/src/streams.cpp:96,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/streams.cpp:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: AutoFile::write
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - std::fwrite
    - auto::size
    - std::min<size_t>
    - auto::begin
    - std::span<const std::byte>::data
    - AutoFile::write_buffer
    - std::span<const std::byte>::size
    - std::span<const std::byte>::begin
    - std::copy_n
    - std::span<const std::byte>::subspan
    - std::ios_base::failure
    - std::array::size
    - first
    - has_value
    linkageType: ''
    returnType: void
    signature: void AutoFile::write(std::span<const std::byte> src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:103,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:105,1
    - Dst: m_obfuscation
      Src: /src/bitcoin-core/src/streams.cpp:106,1
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/streams.cpp:108,1
    - Dst: std::span<std::byte>::data
      Src: /src/bitcoin-core/src/streams.cpp:108,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:108,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:108,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.cpp:109,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.cpp:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: AutoFile::write_buffer
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 1
    functionsReached:
    - std::fwrite
    - std::span<std::byte>::size
    - std::span<std::byte>::data
    - std::ios_base::failure
    - m_obfuscation
    linkageType: ''
    returnType: void
    signature: void AutoFile::write_buffer(std::span<std::byte> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileCommit
      Src: /src/bitcoin-core/src/streams.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: AutoFile::Commit
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - FileCommit
    linkageType: ''
    returnType: bool
    signature: bool AutoFile::Commit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TruncateFile
      Src: /src/bitcoin-core/src/streams.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: AutoFile::Truncate
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - TruncateFile
    linkageType: ''
    returnType: bool
    signature: bool AutoFile::Truncate(unsigned size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/streams.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: DataStream::GetMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/streams.cpp
    functionUses: 0
    functionsReached:
    - memusage::DynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t DataStream::GetMemoryUsage() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_secure_unique
      Src: /src/bitcoin-core/src/key.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: CKey::MakeKeyData
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - make_secure_unique
    linkageType: ''
    returnType: void
    signature: void MakeKeyData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/key.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: CKey::ClearKeyData
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ClearKeyData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: CKey::CKey
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CKey() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: CKey::CKey
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CKey(CKey&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(CKey&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CKey
    signature: CKey & operator=(CKey&&) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeKeyData
      Src: /src/bitcoin-core/src/key.h:82,1
    - Dst: ClearKeyData
      Src: /src/bitcoin-core/src/key.h:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: '& operator=(const CKey& other)'
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - ClearKeyData
    - MakeKeyData
    linkageType: ''
    returnType: CKey
    signature: CKey & operator=(const CKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: CKey::CKey
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CKey(const CKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/key.h:97,1
    - Dst: size
      Src: /src/bitcoin-core/src/key.h:97,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/key.h:98,1
    - Dst: data
      Src: /src/bitcoin-core/src/key.h:98,1
    - Dst: data
      Src: /src/bitcoin-core/src/key.h:98,1
    - Dst: size
      Src: /src/bitcoin-core/src/key.h:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CKey
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: operator==(const CKey& a, const CKey& b)
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - data
    - memcmp
    - size
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CKey& a, const CKey& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CKey::ClearKeyData
      Src: /src/bitcoin-core/src/key.h:106,1
    - Dst: CKey::Check
      Src: /src/bitcoin-core/src/key.h:107,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.h:107,1
    - Dst: CKey::MakeKeyData
      Src: /src/bitcoin-core/src/key.h:108,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.h:109,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.h:109,1
    - Dst: CKey::size
      Src: /src/bitcoin-core/src/key.h:109,1
    - Dst: CKey::ClearKeyData
      Src: /src/bitcoin-core/src/key.h:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pbegin
    - pend
    - fCompressedIn
    argTypes:
    - T
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: CKey::Set
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - CKey::ClearKeyData
    - UCharCast
    - CKey::MakeKeyData
    - CKey::size
    - memcpy
    - CKey::data
    - CKey::Check
    linkageType: ''
    returnType: void
    signature: void Set(const T pbegin, const T pend, bool fCompressedIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::size
      Src: /src/bitcoin-core/src/key.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: CKey::size
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 2
    functionsReached:
    - CKey::size
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const std::byte*>
      Src: /src/bitcoin-core/src/key.h:118,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: CKey::data
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const std::byte*>
    - CKey::data
    linkageType: ''
    returnType: std::byte
    signature: std::byte * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: CKey::begin
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - CKey::data
    linkageType: ''
    returnType: std::byte
    signature: std::byte * begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.h:120,1
    - Dst: CKey::size
      Src: /src/bitcoin-core/src/key.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: CKey::end
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - CKey::size
    - CKey::data
    linkageType: ''
    returnType: std::byte
    signature: std::byte * end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: CKey::IsValid
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: CKey::IsCompressed
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCompressed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/key.h:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CExtKey
    - CExtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: operator==(const CExtKey& a, const CExtKey& b)
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CExtKey& a, const CExtKey& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: CExtKey
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CExtKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xpub'
    - ' key_in'
    argTypes:
    - CExtPubKey
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: CExtKey
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: void CExtKey(const CExtPubKey& xpub, const CKey& key_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: KeyPair::KeyPair
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyPair() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: KeyPair::KeyPair
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyPair(KeyPair&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: '& operator=(KeyPair&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyPair
    signature: KeyPair & operator=(KeyPair&&) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeKeyPairData
      Src: /src/bitcoin-core/src/key.h:277,1
    - Dst: ClearKeyPairData
      Src: /src/bitcoin-core/src/key.h:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: '& operator=(const KeyPair& other)'
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - MakeKeyPairData
    - ClearKeyPairData
    linkageType: ''
    returnType: KeyPair
    signature: KeyPair & operator=(const KeyPair& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: KeyPair::KeyPair
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyPair(const KeyPair& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: KeyPair::IsValid
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_secure_unique
      Src: /src/bitcoin-core/src/key.h:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: KeyPair::MakeKeyPairData
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - make_secure_unique
    linkageType: ''
    returnType: void
    signature: void MakeKeyPairData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/key.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: KeyPair::ClearKeyPairData
    functionSourceFile: /src/bitcoin-core/src/key.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ClearKeyPairData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionDirection
      Src: /src/bitcoin-core/src/netbase.h:41,1
    - Dst: underlying
      Src: /src/bitcoin-core/src/netbase.h:41,1
    - Dst: underlying
      Src: /src/bitcoin-core/src/netbase.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - ConnectionDirection
    - ConnectionDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '& operator|=(ConnectionDirection& a, ConnectionDirection b)'
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - underlying
    - ConnectionDirection
    linkageType: ''
    returnType: ConnectionDirection
    signature: ConnectionDirection & operator|=(ConnectionDirection& a, ConnectionDirection
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: underlying
      Src: /src/bitcoin-core/src/netbase.h:46,1
    - Dst: underlying
      Src: /src/bitcoin-core/src/netbase.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ConnectionDirection
    - ConnectionDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: operator&(ConnectionDirection a, ConnectionDirection b)
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - underlying
    linkageType: ''
    returnType: bool
    signature: bool operator&(ConnectionDirection a, ConnectionDirection b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Proxy::Proxy
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Proxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _proxy'
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Proxy::Proxy
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Proxy(const CService& _proxy, bool tor_stream_isolation = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Proxy::Proxy
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Proxy(const std::string path, bool tor_stream_isolation = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsUnixSocketPath
      Src: /src/bitcoin-core/src/netbase.h:72,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/netbase.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: Proxy::IsValid
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 1
    functionsReached:
    - Proxy::IsValid
    - IsUnixSocketPath
    linkageType: ''
    returnType: bool
    signature: bool IsValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSAFamily
      Src: /src/bitcoin-core/src/netbase.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: Proxy::GetFamily
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - GetSAFamily
    linkageType: ''
    returnType: sa_family_t
    signature: sa_family_t GetFamily() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/netbase.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: Proxy::ToString
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - ToStringAddrPort
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/netbase.h:105,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.h:106,1
    - Dst: insert
      Src: /src/bitcoin-core/src/netbase.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - insert
    - LOCK
    - AssertLockNotHeld
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/netbase.h:112,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.h:113,1
    - Dst: erase
      Src: /src/bitcoin-core/src/netbase.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    - erase
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/netbase.h:119,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.h:120,1
    - Dst: clear
      Src: /src/bitcoin-core/src/netbase.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - LOCK
    - clear
    - AssertLockNotHeld
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/netbase.h:126,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.h:127,1
    - Dst: count
      Src: /src/bitcoin-core/src/netbase.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    - count
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/netbase.h:133,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/netbase.h:134,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/netbase.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - GetNetwork
    - AssertLockNotHeld
    - Contains
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/netbase.h:139,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/netbase.h
    functionUses: 0
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:14,1
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bits'
    argTypes:
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: BitsToBytes
    functionSourceFile: /src/bitcoin-core/src/merkleblock.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> BitsToBytes(const std::vector<bool>& bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:23,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/merkleblock.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bytes'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: BytesToBits
    functionSourceFile: /src/bitcoin-core/src/merkleblock.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - size
    linkageType: ''
    returnType: std::vector<bool>
    signature: std::vector<bool> BytesToBits(const std::vector<unsigned char>& bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHeader
      Src: /src/bitcoin-core/src/merkleblock.cpp:32,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/merkleblock.cpp:37,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/merkleblock.cpp:37,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/merkleblock.cpp:38,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/merkleblock.cpp:38,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/merkleblock.cpp:40,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/merkleblock.cpp:42,1
    - Dst: std::set<Txid>*::count
      Src: /src/bitcoin-core/src/merkleblock.cpp:43,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/merkleblock.cpp:44,1
    - Dst: CBloomFilter*::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/merkleblock.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/merkleblock.cpp:46,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/merkleblock.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/merkleblock.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/merkleblock.cpp:51,1
    - Dst: CPartialMerkleTree
      Src: /src/bitcoin-core/src/merkleblock.cpp:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' block'
    - filter
    - txids
    argTypes:
    - CBlock
    - CBloomFilter*
    - std::set<Txid>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: CMerkleBlock::CMerkleBlock
    functionSourceFile: /src/bitcoin-core/src/merkleblock.cpp
    functionUses: 0
    functionsReached:
    - std::set<Txid>*::count
    - emplace_back
    - CPartialMerkleTree
    - CBloomFilter*::IsRelevantAndUpdate
    - GetHash
    - std::vector::reserve
    - vtx::size
    - std::vector::push_back
    - GetBlockHeader
    linkageType: ''
    returnType: void
    signature: void CMerkleBlock::CMerkleBlock(const CBlock& block, CBloomFilter*
      filter, const std::set<Txid>* txids)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/merkleblock.cpp:61,1
    - Dst: std::vector<uint256>::size
      Src: /src/bitcoin-core/src/merkleblock.cpp:61,1
    - Dst: CPartialMerkleTree::CalcHash
      Src: /src/bitcoin-core/src/merkleblock.cpp:67,1
    - Dst: CPartialMerkleTree::CalcTreeWidth
      Src: /src/bitcoin-core/src/merkleblock.cpp:69,1
    - Dst: CPartialMerkleTree::CalcHash
      Src: /src/bitcoin-core/src/merkleblock.cpp:70,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/merkleblock.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - height
    - pos
    - vTxid
    argTypes:
    - int
    - unsigned int
    - std::vector<uint256>
    assertStmts:
    - condition: (vTxid.size() != 0)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/merkleblock.cpp
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: CPartialMerkleTree::CalcHash
    functionSourceFile: /src/bitcoin-core/src/merkleblock.cpp
    functionUses: 1
    functionsReached:
    - Hash
    - std::vector<uint256>::size
    - CPartialMerkleTree::CalcTreeWidth
    - CPartialMerkleTree::CalcHash
    - assert
    linkageType: ''
    returnType: uint256
    signature: uint256 CPartialMerkleTree::CalcHash(int height, unsigned int pos,
      const std::vector<uint256> &vTxid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/merkleblock.cpp:85,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/merkleblock.cpp:88,1
    - Dst: CPartialMerkleTree::CalcHash
      Src: /src/bitcoin-core/src/merkleblock.cpp:88,1
    - Dst: CPartialMerkleTree::TraverseAndBuild
      Src: /src/bitcoin-core/src/merkleblock.cpp:91,1
    - Dst: CPartialMerkleTree::CalcTreeWidth
      Src: /src/bitcoin-core/src/merkleblock.cpp:92,1
    - Dst: CPartialMerkleTree::TraverseAndBuild
      Src: /src/bitcoin-core/src/merkleblock.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - height
    - pos
    - vTxid
    - vMatch
    argTypes:
    - int
    - unsigned int
    - std::vector<uint256>
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: CPartialMerkleTree::TraverseAndBuild
    functionSourceFile: /src/bitcoin-core/src/merkleblock.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - CPartialMerkleTree::CalcTreeWidth
    - CPartialMerkleTree::CalcHash
    - CPartialMerkleTree::TraverseAndBuild
    linkageType: ''
    returnType: void
    signature: void CPartialMerkleTree::TraverseAndBuild(int height, unsigned int
      pos, const std::vector<uint256> &vTxid, const std::vector<bool> &vMatch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:99,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/merkleblock.cpp:102,1
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:107,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/merkleblock.cpp:110,1
    - Dst: std::vector<uint256>::push_back
      Src: /src/bitcoin-core/src/merkleblock.cpp:114,1
    - Dst: std::vector<unsigned int>::push_back
      Src: /src/bitcoin-core/src/merkleblock.cpp:115,1
    - Dst: CPartialMerkleTree::TraverseAndExtract
      Src: /src/bitcoin-core/src/merkleblock.cpp:120,1
    - Dst: CPartialMerkleTree::CalcTreeWidth
      Src: /src/bitcoin-core/src/merkleblock.cpp:121,1
    - Dst: CPartialMerkleTree::TraverseAndExtract
      Src: /src/bitcoin-core/src/merkleblock.cpp:122,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/merkleblock.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 6
    argNames:
    - height
    - pos
    - nBitsUsed
    - nHashUsed
    - vMatch
    - vnIndex
    argTypes:
    - int
    - unsigned int
    - unsigned int
    - unsigned int
    - std::vector<uint256>
    - std::vector<unsigned int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 134
    functionName: CPartialMerkleTree::TraverseAndExtract
    functionSourceFile: /src/bitcoin-core/src/merkleblock.cpp
    functionUses: 1
    functionsReached:
    - uint256
    - std::vector<uint256>::push_back
    - Hash
    - size
    - CPartialMerkleTree::TraverseAndExtract
    - CPartialMerkleTree::CalcTreeWidth
    - std::vector<unsigned int>::push_back
    linkageType: ''
    returnType: uint256
    signature: uint256 CPartialMerkleTree::TraverseAndExtract(int height, unsigned
      int pos, unsigned int &nBitsUsed, unsigned int &nHashUsed, std::vector<uint256>
      &vMatch, std::vector<unsigned int> &vnIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint256>::size
      Src: /src/bitcoin-core/src/merkleblock.cpp:136,1
    - Dst: clear
      Src: /src/bitcoin-core/src/merkleblock.cpp:138,1
    - Dst: clear
      Src: /src/bitcoin-core/src/merkleblock.cpp:139,1
    - Dst: CPartialMerkleTree::CalcTreeWidth
      Src: /src/bitcoin-core/src/merkleblock.cpp:143,1
    - Dst: CPartialMerkleTree::TraverseAndBuild
      Src: /src/bitcoin-core/src/merkleblock.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vTxid
    - vMatch
    argTypes:
    - std::vector<uint256>
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: CPartialMerkleTree::CPartialMerkleTree
    functionSourceFile: /src/bitcoin-core/src/merkleblock.cpp
    functionUses: 0
    functionsReached:
    - clear
    - CPartialMerkleTree::CalcTreeWidth
    - std::vector<uint256>::size
    - CPartialMerkleTree::TraverseAndBuild
    linkageType: ''
    returnType: void
    signature: void CPartialMerkleTree::CPartialMerkleTree(const std::vector<uint256>
      &vTxid, const std::vector<bool> &vMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: CPartialMerkleTree::CPartialMerkleTree
    functionSourceFile: /src/bitcoin-core/src/merkleblock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPartialMerkleTree::CPartialMerkleTree()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint256>::clear
      Src: /src/bitcoin-core/src/merkleblock.cpp:153,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/merkleblock.cpp:156,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/merkleblock.cpp:159,1
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:161,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/merkleblock.cpp:162,1
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:164,1
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:164,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/merkleblock.cpp:165,1
    - Dst: CPartialMerkleTree::CalcTreeWidth
      Src: /src/bitcoin-core/src/merkleblock.cpp:168,1
    - Dst: CPartialMerkleTree::TraverseAndExtract
      Src: /src/bitcoin-core/src/merkleblock.cpp:172,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/merkleblock.cpp:175,1
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:177,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/merkleblock.cpp:178,1
    - Dst: size
      Src: /src/bitcoin-core/src/merkleblock.cpp:180,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/merkleblock.cpp:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - vMatch
    - vnIndex
    argTypes:
    - std::vector<uint256>
    - std::vector<unsigned int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 183
    functionName: CPartialMerkleTree::ExtractMatches
    functionSourceFile: /src/bitcoin-core/src/merkleblock.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - size
    - CPartialMerkleTree::TraverseAndExtract
    - CPartialMerkleTree::CalcTreeWidth
    - std::vector<uint256>::clear
    linkageType: ''
    returnType: uint256
    signature: uint256 CPartialMerkleTree::ExtractMatches(std::vector<uint256> &vMatch,
      std::vector<unsigned int> &vnIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/deploymentinfo.h:27,1
    - Dst: Consensus::ValidDeployment
      Src: /src/bitcoin-core/src/deploymentinfo.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - Consensus::DeploymentPos
    assertStmts:
    - condition: (Consensus::ValidDeployment(pos))
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bitcoin-core/src/deploymentinfo.h
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: DeploymentName
    functionSourceFile: /src/bitcoin-core/src/deploymentinfo.h
    functionUses: 0
    functionsReached:
    - Consensus::ValidDeployment
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string DeploymentName(Consensus::DeploymentPos pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~TxGraph()
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TxGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: TxGraph::BlockBuilder::BlockBuilder
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockBuilder() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~BlockBuilder()
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BlockBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: '*& GetRefGraph(Ref& arg) noexcept'
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxGraph
    signature: TxGraph *& GetRefGraph(Ref& arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: TxGraph::GetRefGraph
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxGraph
    signature: TxGraph * GetRefGraph(const Ref& arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: '& GetRefIndex(Ref& arg) noexcept'
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GraphIndex
    signature: GraphIndex & GetRefIndex(Ref& arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: TxGraph::GetRefIndex
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GraphIndex
    signature: GraphIndex GetRefIndex(const Ref& arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: TxGraph::Ref::Ref
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ref() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: '& operator=(const Ref&)'
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ref
    signature: Ref & operator=(const Ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: TxGraph::Ref::Ref
    functionSourceFile: /src/bitcoin-core/src/txgraph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ref(const Ref&)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/netaddress.cpp
    - condition: (false)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: CNetAddr::GetBIP155Network
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CNetAddr::BIP155Network
    signature: CNetAddr::BIP155Network CNetAddr::GetBIP155Network() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/netaddress.cpp:56,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:57,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/netaddress.cpp:64,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:65,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/netaddress.cpp:72,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:73,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/netaddress.cpp:80,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:81,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/netaddress.cpp:88,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - possible_bip155_net
    - address_size
    argTypes:
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 97
    functionName: CNetAddr::SetNetFromBIP155Network
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - std::ios_base::failure
    - strprintf
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::SetNetFromBIP155Network(uint8_t possible_bip155_net,
      size_t address_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: CNetAddr::CNetAddr
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CNetAddr::CNetAddr()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:111,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:111,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:114,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:114,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:117,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:117,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:120,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:120,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:123,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:123,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:126,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:126,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' ipIn'
    argTypes:
    - CNetAddr
    assertStmts:
    - condition: (ipIn.m_addr.size() == ADDR_IPV4_SIZE)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/bitcoin-core/src/netaddress.cpp
    - condition: (ipIn.m_addr.size() == ADDR_TORV3_SIZE)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/bitcoin-core/src/netaddress.cpp
    - condition: (ipIn.m_addr.size() == ADDR_IPV6_SIZE)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/bitcoin-core/src/netaddress.cpp
    - condition: (ipIn.m_addr.size() == ADDR_I2P_SIZE)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/bitcoin-core/src/netaddress.cpp
    - condition: (ipIn.m_addr.size() == ADDR_CJDNS_SIZE)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/bitcoin-core/src/netaddress.cpp
    - condition: (ipIn.m_addr.size() == ADDR_INTERNAL_SIZE)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/bitcoin-core/src/netaddress.cpp
    - condition: (false)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 135
    functionName: CNetAddr::SetIP
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - assert
    - m_addr::size
    linkageType: ''
    returnType: void
    signature: void CNetAddr::SetIP(const CNetAddr& ipIn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:139,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/netaddress.cpp:139,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:143,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:147,1
    - Dst: assign
      Src: /src/bitcoin-core/src/netaddress.cpp:152,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:154,1
    - Dst: assign
      Src: /src/bitcoin-core/src/netaddress.cpp:163,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/netaddress.cpp:163,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/netaddress.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ipv6
    argTypes:
    - std::span<const uint8_t>
    assertStmts:
    - condition: (ipv6.size() == ADDR_IPV6_SIZE)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 164
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 164
    functionName: CNetAddr::SetLegacyIPv6
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - assign
    - std::span<const uint8_t>::end
    - assert
    - std::span<const uint8_t>::size
    - HasPrefix
    linkageType: ''
    returnType: void
    signature: void CNetAddr::SetLegacyIPv6(std::span<const uint8_t> ipv6)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/netaddress.cpp:174,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/netaddress.cpp:179,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/netaddress.cpp:179,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/netaddress.cpp:179,1
    - Dst: assign
      Src: /src/bitcoin-core/src/netaddress.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: CNetAddr::SetInternal
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - assign
    - CSHA256
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::SetInternal(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_256::SHA3_256
      Src: /src/bitcoin-core/src/netaddress.cpp:196,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/netaddress.cpp:198,1
    - Dst: first
      Src: /src/bitcoin-core/src/netaddress.cpp:198,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/netaddress.cpp:199,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/netaddress.cpp:200,1
    - Dst: SHA3_256::Finalize
      Src: /src/bitcoin-core/src/netaddress.cpp:204,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - addr_pubkey
    - (checksum)
    argTypes:
    - std::span<const uint8_t>
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: torv3::Checksum
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - SHA3_256::SHA3_256
    - SHA3_256::Write
    - memcpy
    - SHA3_256::Finalize
    - first
    linkageType: ''
    returnType: void
    signature: void Checksum(std::span<const uint8_t> addr_pubkey, uint8_t (&checksum)[CHECKSUM_LEN])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_256::SHA3_256
      Src: /src/bitcoin-core/src/netaddress.cpp:196,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/netaddress.cpp:198,1
    - Dst: first
      Src: /src/bitcoin-core/src/netaddress.cpp:198,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/netaddress.cpp:199,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/netaddress.cpp:200,1
    - Dst: SHA3_256::Finalize
      Src: /src/bitcoin-core/src/netaddress.cpp:204,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - addr_pubkey
    - (checksum)
    argTypes:
    - std::span<const uint8_t>
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: torv3::Checksum
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - SHA3_256::SHA3_256
    - SHA3_256::Write
    - memcpy
    - SHA3_256::Finalize
    - first
    linkageType: ''
    returnType: void
    signature: void Checksum(std::span<const uint8_t> addr_pubkey, uint8_t (&checksum)[CHECKSUM_LEN])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ContainsNoNUL
      Src: /src/bitcoin-core/src/netaddress.cpp:213,1
    - Dst: CNetAddr::SetTor
      Src: /src/bitcoin-core/src/netaddress.cpp:217,1
    - Dst: CNetAddr::SetI2P
      Src: /src/bitcoin-core/src/netaddress.cpp:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: CNetAddr::SetSpecial
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr::SetI2P
    - ContainsNoNUL
    - CNetAddr::SetTor
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::SetSpecial(const std::string& addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.cpp:233,1
    - Dst: substr
      Src: /src/bitcoin-core/src/netaddress.cpp:233,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.cpp:233,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/netaddress.cpp:237,1
    - Dst: substr
      Src: /src/bitcoin-core/src/netaddress.cpp:237,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.cpp:237,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/netaddress.cpp:243,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/netaddress.cpp:244,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/netaddress.cpp:245,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/netaddress.cpp:246,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/netaddress.cpp:248,1
    - Dst: torv3::Checksum
      Src: /src/bitcoin-core/src/netaddress.cpp:253,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/netaddress.cpp:255,1
    - Dst: assign
      Src: /src/bitcoin-core/src/netaddress.cpp:260,1
    - Dst: std::span::begin
      Src: /src/bitcoin-core/src/netaddress.cpp:260,1
    - Dst: std::span::end
      Src: /src/bitcoin-core/src/netaddress.cpp:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 265
    functionName: CNetAddr::SetTor
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 1
    functionsReached:
    - substr
    - auto::size
    - all_bytes_equal
    - assign
    - std::span::begin
    - std::span::end
    - size
    - auto::data
    - torv3::Checksum
    - DecodeBase32
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::SetTor(const std::string& addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.cpp:274,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/netaddress.cpp:274,1
    - Dst: substr
      Src: /src/bitcoin-core/src/netaddress.cpp:274,1
    - Dst: substr
      Src: /src/bitcoin-core/src/netaddress.cpp:280,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/netaddress.cpp:282,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/netaddress.cpp:284,1
    - Dst: assign
      Src: /src/bitcoin-core/src/netaddress.cpp:289,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/netaddress.cpp:289,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/netaddress.cpp:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 292
    functionName: CNetAddr::SetI2P
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 1
    functionsReached:
    - substr
    - auto::size
    - auto::begin
    - assign
    - ToLower
    - size
    - auto::end
    - DecodeBase32
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::SetI2P(const std::string& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/netaddress.cpp:297,1
    - Dst: assign
      Src: /src/bitcoin-core/src/netaddress.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ipv4Addr'
    argTypes:
    - struct in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: CNetAddr::CNetAddr
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - assign
    linkageType: ''
    returnType: void
    signature: void CNetAddr::CNetAddr(const struct in_addr& ipv4Addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::SetLegacyIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:303,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/netaddress.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' ipv6Addr'
    - scope
    argTypes:
    - struct in6_addr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: CNetAddr::CNetAddr
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - CNetAddr::SetLegacyIPv6
    linkageType: ''
    returnType: void
    signature: void CNetAddr::CNetAddr(const struct in6_addr& ipv6Addr, const uint32_t
      scope)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:309,1
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:309,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/netaddress.cpp:312,1
    - Dst: begin
      Src: /src/bitcoin-core/src/netaddress.cpp:312,1
    - Dst: end
      Src: /src/bitcoin-core/src/netaddress.cpp:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: CNetAddr::IsBindAny
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - end
    - IsIPv4
    - IsIPv6
    - begin
    - std::all_of
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsBindAny() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: CNetAddr::IsRFC1918
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC1918() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: CNetAddr::IsRFC2544
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC2544() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:330,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: CNetAddr::IsRFC3927
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC3927() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: CNetAddr::IsRFC6598
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC6598() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:340,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:340,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:341,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: CNetAddr::IsRFC5737
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC5737() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:347,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: CNetAddr::IsRFC3849
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC3849() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:352,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: CNetAddr::IsRFC3964
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC3964() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:357,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: CNetAddr::IsRFC6052
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC6052() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:364,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: CNetAddr::IsRFC4380
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC4380() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:369,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: CNetAddr::IsRFC4862
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC4862() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: CNetAddr::IsRFC4193
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC4193() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:380,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: CNetAddr::IsRFC6145
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC6145() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:387,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: CNetAddr::IsRFC4843
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC4843() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:393,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: CNetAddr::IsRFC7343
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRFC7343() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:399,1
    - Dst: HasPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: CNetAddr::IsHeNet
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - HasPrefix
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsHeNet() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:405,1
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:411,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/netaddress.cpp:411,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.cpp:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 416
    functionName: CNetAddr::IsLocal
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - data
    - IsIPv6
    - IsIPv4
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsLocal() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:432,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/netaddress.cpp:432,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.cpp:432,1
    - Dst: IsCJDNS
      Src: /src/bitcoin-core/src/netaddress.cpp:436,1
    - Dst: HasCJDNSPrefix
      Src: /src/bitcoin-core/src/netaddress.cpp:436,1
    - Dst: CNetAddr::IsRFC3849
      Src: /src/bitcoin-core/src/netaddress.cpp:441,1
    - Dst: CNetAddr::IsInternal
      Src: /src/bitcoin-core/src/netaddress.cpp:444,1
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:447,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/netaddress.cpp:448,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.cpp:448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 455
    functionName: CNetAddr::IsValid
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsCJDNS
    - IsIPv4
    - ReadBE32
    - CNetAddr::IsInternal
    - HasCJDNSPrefix
    - data
    - memcmp
    - CNetAddr::IsRFC3849
    - IsIPv6
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsRFC1918
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsRFC2544
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsRFC3927
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsRFC4862
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsRFC6598
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsRFC5737
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsRFC4193
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsRFC4843
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsRFC7343
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsLocal
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    - Dst: CNetAddr::IsInternal
      Src: /src/bitcoin-core/src/netaddress.cpp:468,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: CNetAddr::IsRoutable
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr::IsRFC7343
    - CNetAddr::IsLocal
    - CNetAddr::IsRFC4193
    - CNetAddr::IsRFC2544
    - CNetAddr::IsRFC6598
    - CNetAddr::IsInternal
    - CNetAddr::IsRFC1918
    - CNetAddr::IsRFC5737
    - CNetAddr::IsValid
    - CNetAddr::IsRFC4843
    - CNetAddr::IsRFC4862
    - CNetAddr::IsRFC3927
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsRoutable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: CNetAddr::IsInternal
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsInternal() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:494,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/bitcoin-core/src/netaddress.cpp
    - condition: (false)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 498
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 498
    functionName: CNetAddr::IsAddrV1Compatible
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::IsAddrV1Compatible() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::IsInternal
      Src: /src/bitcoin-core/src/netaddress.cpp:502,1
    - Dst: CNetAddr::IsRoutable
      Src: /src/bitcoin-core/src/netaddress.cpp:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: CNetAddr::GetNetwork
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr::IsInternal
    - CNetAddr::IsRoutable
    linkageType: ''
    returnType: enum Network
    signature: enum Network CNetAddr::GetNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: IPv4ToString
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string IPv4ToString(std::span<const uint8_t> a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:520,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/netaddress.cpp:520,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/netaddress.cpp:522,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/netaddress.cpp:523,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/netaddress.cpp:524,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/netaddress.cpp:525,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/netaddress.cpp:526,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/netaddress.cpp:527,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/netaddress.cpp:528,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/netaddress.cpp:529,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/netaddress.cpp:542,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/netaddress.cpp:554,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/netaddress.cpp:555,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:563,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/netaddress.cpp:563,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/netaddress.cpp:563,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:567,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - a
    - scope_id
    argTypes:
    - std::span<const uint8_t>
    - uint32_t
    assertStmts:
    - condition: (a.size() == ADDR_IPV6_SIZE)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 571
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 571
    functionName: IPv6ToString
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::string::reserve
    - std::array::size
    - std::string::back
    - ReadBE16
    - strprintf
    - assert
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::string
    signature: std::string IPv6ToString(std::span<const uint8_t> a, uint32_t scope_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: torv3::Checksum
      Src: /src/bitcoin-core/src/netaddress.cpp:576,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/netaddress.cpp:578,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/netaddress.cpp:578,1
    - Dst: prevector::insert
      Src: /src/bitcoin-core/src/netaddress.cpp:579,1
    - Dst: prevector::end
      Src: /src/bitcoin-core/src/netaddress.cpp:579,1
    - Dst: prevector::insert
      Src: /src/bitcoin-core/src/netaddress.cpp:580,1
    - Dst: prevector::end
      Src: /src/bitcoin-core/src/netaddress.cpp:580,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/netaddress.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 582
    functionName: OnionToString
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - prevector::end
    - std::span<const uint8_t>::begin
    - EncodeBase32
    - prevector::insert
    - std::span<const uint8_t>::end
    - torv3::Checksum
    linkageType: ''
    returnType: std::string
    signature: std::string OnionToString(std::span<const uint8_t> addr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IPv4ToString
      Src: /src/bitcoin-core/src/netaddress.cpp:588,1
    - Dst: IPv6ToString
      Src: /src/bitcoin-core/src/netaddress.cpp:590,1
    - Dst: OnionToString
      Src: /src/bitcoin-core/src/netaddress.cpp:592,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/netaddress.cpp:594,1
    - Dst: IPv6ToString
      Src: /src/bitcoin-core/src/netaddress.cpp:596,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/netaddress.cpp:598,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:601,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 600
        line_start: 600
        source_file: /src/bitcoin-core/src/netaddress.cpp
    - condition: (false)
      pos:
        line_end: 603
        line_start: 603
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 605
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 605
    functionName: CNetAddr::ToStringAddr
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - EncodeBase32
    - IPv6ToString
    - IPv4ToString
    - OnionToString
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string CNetAddr::ToStringAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CNetAddr
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: operator==(const CNetAddr& a, const CNetAddr& b)
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CNetAddr& a, const CNetAddr& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/netaddress.cpp:614,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/netaddress.cpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CNetAddr
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: operator<(const CNetAddr& a, const CNetAddr& b)
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CNetAddr& a, const CNetAddr& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:629,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:631,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.cpp:631,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.cpp:632,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.cpp:632,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.cpp:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pipv4Addr
    argTypes:
    - struct in_addr*
    assertStmts:
    - condition: (sizeof(*pipv4Addr) == m_addr.size())
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 634
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 634
    functionName: CNetAddr::GetInAddr
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    - size
    - memcpy
    - data
    - assert
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::GetInAddr(struct in_addr* pipv4Addr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:648,1
    - Dst: IsCJDNS
      Src: /src/bitcoin-core/src/netaddress.cpp:648,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:651,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.cpp:651,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.cpp:652,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.cpp:652,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.cpp:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pipv6Addr
    argTypes:
    - struct in6_addr*
    assertStmts:
    - condition: (sizeof(*pipv6Addr) == m_addr.size())
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 654
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 654
    functionName: CNetAddr::GetIn6Addr
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsCJDNS
    - size
    - memcpy
    - data
    - IsIPv6
    - assert
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::GetIn6Addr(struct in6_addr* pipv6Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::IsRoutable
      Src: /src/bitcoin-core/src/netaddress.cpp:658,1
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:658,1
    - Dst: CNetAddr::IsRFC6145
      Src: /src/bitcoin-core/src/netaddress.cpp:658,1
    - Dst: CNetAddr::IsRFC6052
      Src: /src/bitcoin-core/src/netaddress.cpp:658,1
    - Dst: CNetAddr::IsRFC3964
      Src: /src/bitcoin-core/src/netaddress.cpp:658,1
    - Dst: CNetAddr::IsRFC4380
      Src: /src/bitcoin-core/src/netaddress.cpp:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 656
    functionDepth: 4
    functionLinenumber: 656
    functionLinenumberEnd: 659
    functionName: CNetAddr::HasLinkedIPv4
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    - CNetAddr::IsRFC3964
    - CNetAddr::IsRoutable
    - CNetAddr::IsRFC4380
    - CNetAddr::IsRFC6145
    - CNetAddr::IsRFC6052
    linkageType: ''
    returnType: bool
    signature: bool CNetAddr::HasLinkedIPv4() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:663,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/netaddress.cpp:664,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.cpp:664,1
    - Dst: CNetAddr::IsRFC6052
      Src: /src/bitcoin-core/src/netaddress.cpp:665,1
    - Dst: CNetAddr::IsRFC6145
      Src: /src/bitcoin-core/src/netaddress.cpp:665,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/netaddress.cpp:667,1
    - Dst: last
      Src: /src/bitcoin-core/src/netaddress.cpp:667,1
    - Dst: CNetAddr::IsRFC3964
      Src: /src/bitcoin-core/src/netaddress.cpp:668,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/netaddress.cpp:670,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/netaddress.cpp:670,1
    - Dst: CNetAddr::IsRFC4380
      Src: /src/bitcoin-core/src/netaddress.cpp:671,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/netaddress.cpp:673,1
    - Dst: last
      Src: /src/bitcoin-core/src/netaddress.cpp:673,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 674
        line_start: 674
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 676
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 676
    functionName: CNetAddr::GetLinkedIPv4
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    - CNetAddr::IsRFC3964
    - ReadBE32
    - CNetAddr::IsRFC4380
    - data
    - CNetAddr::IsRFC6145
    - last
    - assert
    - CNetAddr::IsRFC6052
    - subspan
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CNetAddr::GetLinkedIPv4() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::IsInternal
      Src: /src/bitcoin-core/src/netaddress.cpp:684,1
    - Dst: CNetAddr::IsRoutable
      Src: /src/bitcoin-core/src/netaddress.cpp:687,1
    - Dst: CNetAddr::HasLinkedIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 678
    functionDepth: 5
    functionLinenumber: 678
    functionLinenumberEnd: 694
    functionName: CNetAddr::GetNetClass
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr::IsInternal
    - CNetAddr::IsRoutable
    - CNetAddr::HasLinkedIPv4
    linkageType: ''
    returnType: Network
    signature: Network CNetAddr::GetNetClass() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/netaddress.cpp:698,1
    - Dst: SerializeV1Array
      Src: /src/bitcoin-core/src/netaddress.cpp:700,1
    - Dst: begin
      Src: /src/bitcoin-core/src/netaddress.cpp:701,1
    - Dst: end
      Src: /src/bitcoin-core/src/netaddress.cpp:701,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/netaddress.cpp:703,1
    - Dst: begin
      Src: /src/bitcoin-core/src/netaddress.cpp:703,1
    - Dst: end
      Src: /src/bitcoin-core/src/netaddress.cpp:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: CNetAddr::GetAddrBytes
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - CNetAddr::IsAddrV1Compatible
    - begin
    - SerializeV1Array
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> CNetAddr::GetAddrBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsRFC4380
      Src: /src/bitcoin-core/src/netaddress.cpp:711,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/netaddress.cpp:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 714
    functionName: GetExtNetwork
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsRFC4380
    - GetNetwork
    linkageType: ''
    returnType: int
    signature: int GetExtNetwork(const CNetAddr& addr)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::IsRoutable
      Src: /src/bitcoin-core/src/netaddress.cpp:729,1
    - Dst: CNetAddr::IsInternal
      Src: /src/bitcoin-core/src/netaddress.cpp:729,1
    - Dst: GetExtNetwork
      Src: /src/bitcoin-core/src/netaddress.cpp:732,1
    - Dst: GetExtNetwork
      Src: /src/bitcoin-core/src/netaddress.cpp:733,1
    - Dst: CNetAddr::IsRFC3964
      Src: /src/bitcoin-core/src/netaddress.cpp:734,1
    - Dst: CNetAddr::IsRFC6052
      Src: /src/bitcoin-core/src/netaddress.cpp:734,1
    - Dst: CNetAddr::IsRFC6145
      Src: /src/bitcoin-core/src/netaddress.cpp:734,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 1
    argNames:
    - ' paddrPartner'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 782
    functionName: CNetAddr::GetReachabilityFrom
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr::IsRFC3964
    - CNetAddr::IsRoutable
    - CNetAddr::IsInternal
    - GetExtNetwork
    - CNetAddr::IsRFC6145
    - CNetAddr::IsRFC6052
    linkageType: ''
    returnType: int
    signature: int CNetAddr::GetReachabilityFrom(const CNetAddr& paddrPartner) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 786
    functionName: CService::CService
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CService::CService()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' cip'
    - portIn
    argTypes:
    - CNetAddr
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 790
    functionName: CService::CService
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CService::CService(const CNetAddr& cip, uint16_t portIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ipv4Addr'
    - portIn
    argTypes:
    - struct in_addr
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 794
    functionName: CService::CService
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CService::CService(const struct in_addr& ipv4Addr, uint16_t portIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ipv6Addr'
    - portIn
    argTypes:
    - struct in6_addr
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 798
    functionName: CService::CService
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CService::CService(const struct in6_addr& ipv6Addr, uint16_t portIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/bitcoin-core/src/netaddress.cpp:800,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - struct sockaddr_in
    assertStmts:
    - condition: (addr.sin_family == AF_INET)
      pos:
        line_end: 801
        line_start: 801
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: CService::CService
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ntohs
    linkageType: ''
    returnType: void
    signature: void CService::CService(const struct sockaddr_in& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/bitcoin-core/src/netaddress.cpp:805,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr_in6
    assertStmts:
    - condition: (addr.sin6_family == AF_INET6)
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: CService::CService
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ntohs
    linkageType: ''
    returnType: void
    signature: void CService::CService(const struct sockaddr_in6 &addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/netaddress.cpp:815,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/netaddress.cpp:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - paddr
    - addrlen
    argTypes:
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 824
    functionName: CService::SetSockAddr
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - CService::CService
    linkageType: ''
    returnType: bool
    signature: bool CService::SetSockAddr(const struct sockaddr *paddr, socklen_t
      addrlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 837
    functionName: CService::GetSAFamily
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sa_family_t
    signature: sa_family_t CService::GetSAFamily() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 842
    functionName: CService::GetPort
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t CService::GetPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/netaddress.cpp:846,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/netaddress.cpp:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CService
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: operator==(const CService& a, const CService& b)
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CNetAddr>
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CService& a, const CService& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/netaddress.cpp:851,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/netaddress.cpp:851,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/netaddress.cpp:851,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/netaddress.cpp:851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CService
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: operator<(const CService& a, const CService& b)
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CNetAddr>
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CService& a, const CService& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:868,1
    - Dst: memset
      Src: /src/bitcoin-core/src/netaddress.cpp:873,1
    - Dst: GetInAddr
      Src: /src/bitcoin-core/src/netaddress.cpp:874,1
    - Dst: htons
      Src: /src/bitcoin-core/src/netaddress.cpp:877,1
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:880,1
    - Dst: IsCJDNS
      Src: /src/bitcoin-core/src/netaddress.cpp:880,1
    - Dst: memset
      Src: /src/bitcoin-core/src/netaddress.cpp:885,1
    - Dst: GetIn6Addr
      Src: /src/bitcoin-core/src/netaddress.cpp:886,1
    - Dst: htons
      Src: /src/bitcoin-core/src/netaddress.cpp:890,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - paddr
    - addrlen
    argTypes:
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 894
    functionName: CService::GetSockAddr
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    - IsCJDNS
    - GetIn6Addr
    - memset
    - htons
    - IsIPv6
    - GetInAddr
    linkageType: ''
    returnType: bool
    signature: bool CService::GetSockAddr(struct sockaddr* paddr, socklen_t *addrlen)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAddrBytes
      Src: /src/bitcoin-core/src/netaddress.cpp:901,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/netaddress.cpp:902,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/netaddress.cpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: CService::GetKey
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - GetAddrBytes
    - auto::push_back
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> CService::GetKey() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:909,1
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:911,1
    - Dst: IsTor
      Src: /src/bitcoin-core/src/netaddress.cpp:911,1
    - Dst: IsI2P
      Src: /src/bitcoin-core/src/netaddress.cpp:911,1
    - Dst: IsInternal
      Src: /src/bitcoin-core/src/netaddress.cpp:911,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/netaddress.cpp:912,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/netaddress.cpp:914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 916
    functionName: CService::ToStringAddrPort
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    - IsTor
    - IsI2P
    - IsInternal
    - strprintf
    - ToStringAddr
    linkageType: ''
    returnType: std::string
    signature: std::string CService::ToStringAddrPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/netaddress.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 922
    functionName: CSubNet::CSubNet
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void CSubNet::CSubNet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:926,1
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:927,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:932,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:937,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' addr'
    - mask
    argTypes:
    - CNetAddr
    - uint8_t
    assertStmts:
    - condition: (mask <= sizeof(netmask) * 8)
      pos:
        line_end: 931
        line_start: 931
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 943
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 943
    functionName: CSubNet::CSubNet
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv6
    - IsIPv4
    - assert
    - m_addr::size
    linkageType: ''
    returnType: void
    signature: void CSubNet::CSubNet(const CNetAddr& addr, uint8_t mask)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 963
    functionName: NetmaskBits
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NetmaskBits(uint8_t x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.cpp:967,1
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.cpp:967,1
    - Dst: NetmaskBits
      Src: /src/bitcoin-core/src/netaddress.cpp:974,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:984,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:984,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.cpp:986,1
    - Dst: m_addr::data
      Src: /src/bitcoin-core/src/netaddress.cpp:986,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:986,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:991,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - ' addr'
    - ' mask'
    argTypes:
    - CNetAddr
    - CNetAddr
    assertStmts:
    - condition: (mask.m_addr.size() <= sizeof(netmask))
      pos:
        line_end: 983
        line_start: 983
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 994
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 994
    functionName: CSubNet::CSubNet
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - IsIPv4
    - NetmaskBits
    - memcpy
    - m_addr::data
    - m_addr::size
    - IsIPv6
    - assert
    linkageType: ''
    returnType: void
    signature: void CSubNet::CSubNet(const CNetAddr& addr, const CNetAddr& mask)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:1002,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:1002,1
    - Dst: memset
      Src: /src/bitcoin-core/src/netaddress.cpp:1003,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:1003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CNetAddr
    assertStmts:
    - condition: (addr.m_addr.size() <= sizeof(netmask))
      pos:
        line_end: 1001
        line_start: 1001
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 1017
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1017
    functionName: CSubNet::CSubNet
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - memset
    - assert
    - m_addr::size
    linkageType: ''
    returnType: void
    signature: void CSubNet::CSubNet(const CNetAddr& addr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/netaddress.cpp:1025,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:1042,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:1042,1
    - Dst: CNetAddr::m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:1042,1
    - Dst: CNetAddr::m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:1043,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - addr
    argTypes:
    - CNetAddr
    assertStmts:
    - condition: (network.m_addr.size() == addr.m_addr.size())
      pos:
        line_end: 1041
        line_start: 1041
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 1049
      start: 1023
    functionDepth: 3
    functionLinenumber: 1023
    functionLinenumberEnd: 1049
    functionName: CSubNet::Match
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr::m_addr::size
    - assert
    - CNetAddr::IsValid
    - m_addr::size
    linkageType: ''
    returnType: bool
    signature: bool CSubNet::Match(const CNetAddr &addr) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.cpp:1058,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:1058,1
    - Dst: m_addr::size
      Src: /src/bitcoin-core/src/netaddress.cpp:1062,1
    - Dst: NetmaskBits
      Src: /src/bitcoin-core/src/netaddress.cpp:1066,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.cpp:1069,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/netaddress.cpp:1081,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (network.m_addr.size() <= sizeof(netmask))
      pos:
        line_end: 1057
        line_start: 1057
        source_file: /src/bitcoin-core/src/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 1082
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1082
    functionName: CSubNet::ToString
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - NetmaskBits
    - m_addr::size
    - strprintf
    - assert
    - ToStringAddr
    linkageType: ''
    returnType: std::string
    signature: std::string CSubNet::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1087
    functionName: CSubNet::IsValid
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CSubNet::IsValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/netaddress.cpp:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CSubNet
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1092
    functionName: operator==(const CSubNet& a, const CSubNet& b)
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CSubNet& a, const CSubNet& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/netaddress.cpp:1096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CSubNet
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    functionName: operator<(const CSubNet& a, const CSubNet& b)
    functionSourceFile: /src/bitcoin-core/src/netaddress.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CSubNet& a, const CSubNet& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: operator()(const T a, const T b) const
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T a, const T b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::insert
      Src: /src/bitcoin-core/src/indirectmap.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: indirectmap::insert
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::insert
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert(const value_type& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::find
      Src: /src/bitcoin-core/src/indirectmap.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: indirectmap::find
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::find
    linkageType: ''
    returnType: iterator
    signature: iterator find(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::find
      Src: /src/bitcoin-core/src/indirectmap.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: indirectmap::find
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 2
    functionsReached:
    - indirectmap::find
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const K& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::lower_bound
      Src: /src/bitcoin-core/src/indirectmap.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: indirectmap::lower_bound
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::lower_bound
    linkageType: ''
    returnType: iterator
    signature: iterator lower_bound(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::lower_bound
      Src: /src/bitcoin-core/src/indirectmap.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: indirectmap::lower_bound
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 2
    functionsReached:
    - indirectmap::lower_bound
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator lower_bound(const K& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::erase
      Src: /src/bitcoin-core/src/indirectmap.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: indirectmap::erase
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::erase
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::count
      Src: /src/bitcoin-core/src/indirectmap.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: indirectmap::count
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::count
    linkageType: ''
    returnType: size_type
    signature: size_type count(const K& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::empty
      Src: /src/bitcoin-core/src/indirectmap.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: indirectmap::empty
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::size
      Src: /src/bitcoin-core/src/indirectmap.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: indirectmap::size
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::max_size
      Src: /src/bitcoin-core/src/indirectmap.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: indirectmap::max_size
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::max_size
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::clear
      Src: /src/bitcoin-core/src/indirectmap.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: indirectmap::clear
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::begin
      Src: /src/bitcoin-core/src/indirectmap.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: indirectmap::begin
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::end
      Src: /src/bitcoin-core/src/indirectmap.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: indirectmap::end
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::begin
      Src: /src/bitcoin-core/src/indirectmap.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: indirectmap::begin
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 2
    functionsReached:
    - indirectmap::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::end
      Src: /src/bitcoin-core/src/indirectmap.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: indirectmap::end
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 2
    functionsReached:
    - indirectmap::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::cbegin
      Src: /src/bitcoin-core/src/indirectmap.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: indirectmap::cbegin
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::cbegin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indirectmap::cend
      Src: /src/bitcoin-core/src/indirectmap.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: indirectmap::cend
    functionSourceFile: /src/bitcoin-core/src/indirectmap.h
    functionUses: 1
    functionsReached:
    - indirectmap::cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/dbwrapper.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: CharCast
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: auto
    signature: auto CharCast(const std::byte* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/dbwrapper.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: DestroyDB
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 1
    functionsReached:
    - leveldb::DestroyDB
    linkageType: ''
    returnType: bool
    signature: bool DestroyDB(const std::string& path_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/bitcoin-core/src/dbwrapper.cpp:47,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:49,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/dbwrapper.cpp:50,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/dbwrapper.cpp:51,1
    - Dst: dbwrapper_error
      Src: /src/bitcoin-core/src/dbwrapper.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - leveldb::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: HandleError
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - dbwrapper_error
    - ToString
    - ok
    linkageType: ''
    returnType: void
    signature: void HandleError(const leveldb::Status& status)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LogAcceptCategory
      Src: /src/bitcoin-core/src/dbwrapper.cpp:60,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/dbwrapper.cpp:73,1
    - Dst: va_copy
      Src: /src/bitcoin-core/src/dbwrapper.cpp:81,1
    - Dst: vsnprintf
      Src: /src/bitcoin-core/src/dbwrapper.cpp:83,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/dbwrapper.cpp:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/dbwrapper.cpp:102,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/dbwrapper.cpp:103,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/dbwrapper.cpp:104,1
    - Dst: util::RemoveSuffixView
      Src: /src/bitcoin-core/src/dbwrapper.cpp:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - format
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts:
    - condition: (p <= limit)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bitcoin-core/src/dbwrapper.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 110
    functionName: CBitcoinLevelDBLogger::Logv
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - vsnprintf
    - util::RemoveSuffixView
    - va_end
    - va_copy
    - LogDebug
    - char::char
    - LogAcceptCategory
    - assert
    - std::min
    linkageType: ''
    returnType: void
    signature: void Logv(const char * format, va_list ap) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/dbwrapper.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - options
    argTypes:
    - leveldb::Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: SetMaxOpenFiles
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void SetMaxOpenFiles(leveldb::Options *options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Options::Options
      Src: /src/bitcoin-core/src/dbwrapper.cpp:140,1
    - Dst: leveldb::NewLRUCache
      Src: /src/bitcoin-core/src/dbwrapper.cpp:141,1
    - Dst: leveldb::NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/dbwrapper.cpp:143,1
    - Dst: CBitcoinLevelDBLogger::CBitcoinLevelDBLogger
      Src: /src/bitcoin-core/src/dbwrapper.cpp:145,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/dbwrapper.cpp:151,1
    - Dst: SetMaxOpenFiles
      Src: /src/bitcoin-core/src/dbwrapper.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - nCacheSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: GetOptions
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - leveldb::NewLRUCache
    - leveldb::Options::Options
    - leveldb::NewBloomFilterPolicy
    - SetMaxOpenFiles
    - CBitcoinLevelDBLogger::CBitcoinLevelDBLogger
    - std::max
    linkageType: ''
    returnType: leveldb::Options
    signature: leveldb::Options GetOptions(size_t nCacheSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CDBBatch::WriteBatchImpl>
      Src: /src/bitcoin-core/src/dbwrapper.cpp:162,1
    - Dst: CDBBatch::Clear
      Src: /src/bitcoin-core/src/dbwrapper.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' _parent'
    argTypes:
    - CDBWrapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: CDBBatch::CDBBatch
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - CDBBatch::Clear
    - std::make_unique<CDBBatch::WriteBatchImpl>
    linkageType: ''
    returnType: void
    signature: void CDBBatch::CDBBatch(const CDBWrapper& _parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: CDBBatch::~CDBBatch()
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CDBBatch::~CDBBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch::Clear
      Src: /src/bitcoin-core/src/dbwrapper.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: CDBBatch::Clear
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 1
    functionsReached:
    - batch::Clear
    linkageType: ''
    returnType: void
    signature: void CDBBatch::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharCast
      Src: /src/bitcoin-core/src/dbwrapper.cpp:176,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/dbwrapper.cpp:176,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/dbwrapper.cpp:176,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/dbwrapper.cpp:177,1
    - Dst: CharCast
      Src: /src/bitcoin-core/src/dbwrapper.cpp:178,1
    - Dst: data
      Src: /src/bitcoin-core/src/dbwrapper.cpp:178,1
    - Dst: size
      Src: /src/bitcoin-core/src/dbwrapper.cpp:178,1
    - Dst: batch::Put
      Src: /src/bitcoin-core/src/dbwrapper.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ' ssValue'
    argTypes:
    - std::span<const std::byte>
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: CDBBatch::WriteImpl
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::data
    - std::span<const std::byte>::size
    - CharCast
    - dbwrapper_private::GetObfuscation
    - size
    - data
    - batch::Put
    linkageType: ''
    returnType: void
    signature: void CDBBatch::WriteImpl(std::span<const std::byte> key, DataStream&
      ssValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharCast
      Src: /src/bitcoin-core/src/dbwrapper.cpp:184,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/dbwrapper.cpp:184,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/dbwrapper.cpp:184,1
    - Dst: batch::Delete
      Src: /src/bitcoin-core/src/dbwrapper.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: CDBBatch::EraseImpl
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - CharCast
    - batch::Delete
    - std::span<const std::byte>::data
    linkageType: ''
    returnType: void
    signature: void CDBBatch::EraseImpl(std::span<const std::byte> key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch::ApproximateSize
      Src: /src/bitcoin-core/src/dbwrapper.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: CDBBatch::ApproximateSize
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - batch::ApproximateSize
    linkageType: ''
    returnType: size_t
    signature: size_t CDBBatch::ApproximateSize() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<LevelDBContext>
      Src: /src/bitcoin-core/src/dbwrapper.cpp:217,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:217,1
    - Dst: path::stem
      Src: /src/bitcoin-core/src/dbwrapper.cpp:217,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:219,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:220,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:221,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:222,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:223,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:224,1
    - Dst: GetOptions
      Src: /src/bitcoin-core/src/dbwrapper.cpp:224,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:225,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:227,1
    - Dst: leveldb::NewMemEnv
      Src: /src/bitcoin-core/src/dbwrapper.cpp:227,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/dbwrapper.cpp:227,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:228,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:228,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/dbwrapper.cpp:231,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:231,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/dbwrapper.cpp:232,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:232,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:232,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/dbwrapper.cpp:233,1
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/dbwrapper.cpp:235,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/dbwrapper.cpp:236,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:236,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/dbwrapper.cpp:242,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:242,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:242,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:242,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/dbwrapper.cpp:243,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/dbwrapper.cpp:244,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/dbwrapper.cpp:247,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:247,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:248,1
    - Dst: CompactRange
      Src: /src/bitcoin-core/src/dbwrapper.cpp:248,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/dbwrapper.cpp:249,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/dbwrapper.cpp:252,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/dbwrapper.cpp:253,1
    - Dst: CDBWrapper::IsEmpty
      Src: /src/bitcoin-core/src/dbwrapper.cpp:253,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/dbwrapper.cpp:255,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/dbwrapper.cpp:255,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/dbwrapper.cpp:256,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/dbwrapper.cpp:257,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:257,1
    - Dst: HexKey
      Src: /src/bitcoin-core/src/dbwrapper.cpp:257,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/dbwrapper.cpp:259,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:259,1
    - Dst: HexKey
      Src: /src/bitcoin-core/src/dbwrapper.cpp:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - DBParams
    assertStmts:
    - condition: (!m_obfuscation)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/bitcoin-core/src/dbwrapper.cpp
    constantsTouched: []
    func_position:
      end: 260
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 260
    functionName: CDBWrapper::CDBWrapper
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - randbytes
    - CDBWrapper::Read
    - LogInfo
    - HexKey
    - CDBWrapper::IsEmpty
    - GetOptions
    - CDBWrapper::Write
    - leveldb::DestroyDB
    - path::stem
    - leveldb::Env::Default
    - fs::PathToString
    - std::make_unique<LevelDBContext>
    - TryCreateDirectories
    - HandleError
    - DBContext
    - assert
    - leveldb::NewMemEnv
    - leveldb::DB::Open
    - CompactRange
    linkageType: ''
    returnType: void
    signature: void CDBWrapper::CDBWrapper(const DBParams& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:264,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:265,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:266,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:267,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:268,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:269,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:270,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:271,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:272,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: CDBWrapper::~CDBWrapper()
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - DBContext
    linkageType: ''
    returnType: void
    signature: void CDBWrapper::~CDBWrapper()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAcceptCategory
      Src: /src/bitcoin-core/src/dbwrapper.cpp:278,1
    - Dst: CDBWrapper::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/dbwrapper.cpp:281,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:283,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/dbwrapper.cpp:283,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:283,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:283,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/dbwrapper.cpp:284,1
    - Dst: CDBWrapper::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/dbwrapper.cpp:286,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/dbwrapper.cpp:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' batch'
    - fSync
    argTypes:
    - CDBBatch
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 291
    functionName: CDBWrapper::WriteBatch
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - CDBWrapper::Write
    - CDBWrapper::DynamicMemoryUsage
    - LogDebug
    - HandleError
    - DBContext
    - LogAcceptCategory
    linkageType: ''
    returnType: bool
    signature: bool CDBWrapper::WriteBatch(CDBBatch& batch, bool fSync)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:297,1
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/dbwrapper.cpp:297,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/dbwrapper.cpp:297,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/dbwrapper.cpp:298,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/dbwrapper.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: CDBWrapper::DynamicMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 1
    functionsReached:
    - GetProperty
    - LogDebug
    - ToIntegral
    - std::optional::value
    - DBContext
    linkageType: ''
    returnType: size_t
    signature: size_t CDBWrapper::DynamicMemoryUsage() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CharCast
      Src: /src/bitcoin-core/src/dbwrapper.cpp:306,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/dbwrapper.cpp:306,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/dbwrapper.cpp:306,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:308,1
    - Dst: Get
      Src: /src/bitcoin-core/src/dbwrapper.cpp:308,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:308,1
    - Dst: leveldb::Status::ok
      Src: /src/bitcoin-core/src/dbwrapper.cpp:309,1
    - Dst: leveldb::Status::IsNotFound
      Src: /src/bitcoin-core/src/dbwrapper.cpp:310,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/dbwrapper.cpp:312,1
    - Dst: leveldb::Status::ToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:312,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/dbwrapper.cpp:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: CDBWrapper::ReadImpl
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::data
    - leveldb::Status::IsNotFound
    - std::span<const std::byte>::size
    - CharCast
    - leveldb::Status::ok
    - LogPrintf
    - HandleError
    - DBContext
    - leveldb::Status::ToString
    - Get
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> CDBWrapper::ReadImpl(std::span<const std::byte>
      key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CharCast
      Src: /src/bitcoin-core/src/dbwrapper.cpp:320,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/dbwrapper.cpp:320,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/dbwrapper.cpp:320,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:323,1
    - Dst: Get
      Src: /src/bitcoin-core/src/dbwrapper.cpp:323,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:323,1
    - Dst: leveldb::Status::ok
      Src: /src/bitcoin-core/src/dbwrapper.cpp:324,1
    - Dst: leveldb::Status::IsNotFound
      Src: /src/bitcoin-core/src/dbwrapper.cpp:325,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/dbwrapper.cpp:327,1
    - Dst: leveldb::Status::ToString
      Src: /src/bitcoin-core/src/dbwrapper.cpp:327,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/dbwrapper.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: CDBWrapper::ExistsImpl
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::data
    - leveldb::Status::IsNotFound
    - std::span<const std::byte>::size
    - CharCast
    - leveldb::Status::ok
    - LogPrintf
    - HandleError
    - DBContext
    - leveldb::Status::ToString
    - Get
    linkageType: ''
    returnType: bool
    signature: bool CDBWrapper::ExistsImpl(std::span<const std::byte> key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharCast
      Src: /src/bitcoin-core/src/dbwrapper.cpp:335,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/dbwrapper.cpp:335,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/dbwrapper.cpp:335,1
    - Dst: CharCast
      Src: /src/bitcoin-core/src/dbwrapper.cpp:336,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/dbwrapper.cpp:336,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/dbwrapper.cpp:336,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:339,1
    - Dst: GetApproximateSizes
      Src: /src/bitcoin-core/src/dbwrapper.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: CDBWrapper::EstimateSizeImpl
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::data
    - std::span<const std::byte>::size
    - CharCast
    - GetApproximateSizes
    - DBContext
    linkageType: ''
    returnType: size_t
    signature: size_t CDBWrapper::EstimateSizeImpl(std::span<const std::byte> key1,
      std::span<const std::byte> key2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::SeekToFirst
      Src: /src/bitcoin-core/src/dbwrapper.cpp:346,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/dbwrapper.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: CDBWrapper::IsEmpty
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::Valid
    - std::unique_ptr::SeekToFirst
    linkageType: ''
    returnType: bool
    signature: bool CDBWrapper::IsEmpty()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _iter
    argTypes:
    - leveldb::Iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: IteratorImpl
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IteratorImpl(leveldb::Iterator* _iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/dbwrapper.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' _parent'
    - _piter
    argTypes:
    - CDBWrapper
    - std::unique_ptr<IteratorImpl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: CDBIterator::CDBIterator
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CDBIterator::CDBIterator(const CDBWrapper& _parent, std::unique_ptr<IteratorImpl>
      _piter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CDBIterator::IteratorImpl>
      Src: /src/bitcoin-core/src/dbwrapper.cpp:361,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:361,1
    - Dst: CDBWrapper::NewIterator
      Src: /src/bitcoin-core/src/dbwrapper.cpp:361,1
    - Dst: DBContext
      Src: /src/bitcoin-core/src/dbwrapper.cpp:361,1
    - Dst: CDBIterator::CDBIterator
      Src: /src/bitcoin-core/src/dbwrapper.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: CDBWrapper::NewIterator
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 1
    functionsReached:
    - DBContext
    - CDBWrapper::NewIterator
    - CDBIterator::CDBIterator
    - std::make_unique<CDBIterator::IteratorImpl>
    linkageType: ''
    returnType: CDBIterator
    signature: CDBIterator * CDBWrapper::NewIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharCast
      Src: /src/bitcoin-core/src/dbwrapper.cpp:366,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/dbwrapper.cpp:366,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/dbwrapper.cpp:366,1
    - Dst: iter::Seek
      Src: /src/bitcoin-core/src/dbwrapper.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: CDBIterator::SeekImpl
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - CharCast
    - iter::Seek
    - std::span<const std::byte>::data
    linkageType: ''
    returnType: void
    signature: void CDBIterator::SeekImpl(std::span<const std::byte> key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/dbwrapper.cpp:372,1
    - Dst: iter::key
      Src: /src/bitcoin-core/src/dbwrapper.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: CDBIterator::GetKeyImpl
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - iter::key
    - MakeByteSpan
    linkageType: ''
    returnType: std::span<const std::byte>
    signature: std::span<const std::byte> CDBIterator::GetKeyImpl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/dbwrapper.cpp:377,1
    - Dst: iter::value
      Src: /src/bitcoin-core/src/dbwrapper.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: CDBIterator::GetValueImpl
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - iter::value
    - MakeByteSpan
    linkageType: ''
    returnType: std::span<const std::byte>
    signature: std::span<const std::byte> CDBIterator::GetValueImpl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 380
    functionName: CDBIterator::~CDBIterator()
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CDBIterator::~CDBIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iter::Valid
      Src: /src/bitcoin-core/src/dbwrapper.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: CDBIterator::Valid
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - iter::Valid
    linkageType: ''
    returnType: bool
    signature: bool CDBIterator::Valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iter::SeekToFirst
      Src: /src/bitcoin-core/src/dbwrapper.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: CDBIterator::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - iter::SeekToFirst
    linkageType: ''
    returnType: void
    signature: void CDBIterator::SeekToFirst()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iter::Next
      Src: /src/bitcoin-core/src/dbwrapper.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: CDBIterator::Next
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 0
    functionsReached:
    - iter::Next
    linkageType: ''
    returnType: void
    signature: void CDBIterator::Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' w'
    argTypes:
    - CDBWrapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: dbwrapper_private::GetObfuscation
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Obfuscation
    signature: Obfuscation & GetObfuscation(const CDBWrapper& w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' w'
    argTypes:
    - CDBWrapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: dbwrapper_private::GetObfuscation
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Obfuscation
    signature: Obfuscation & GetObfuscation(const CDBWrapper& w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/flatfile.h:19,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/flatfile.h:19,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/flatfile.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/flatfile.h
    functionUses: 0
    functionsReached:
    - VARINT
    - READWRITE
    - VARINT_MODE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(FlatFilePos, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: FlatFilePos
    functionSourceFile: /src/bitcoin-core/src/flatfile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlatFilePos()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - nFileIn
    - nPosIn
    argTypes:
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: FlatFilePos
    functionSourceFile: /src/bitcoin-core/src/flatfile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlatFilePos(int nFileIn, unsigned int nPosIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FlatFilePos
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: operator==(const FlatFilePos &a, const FlatFilePos &b)
    functionSourceFile: /src/bitcoin-core/src/flatfile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const FlatFilePos &a, const FlatFilePos &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FlatFilePos
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: operator!=(const FlatFilePos &a, const FlatFilePos &b)
    functionSourceFile: /src/bitcoin-core/src/flatfile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const FlatFilePos &a, const FlatFilePos &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: IsNull
    functionSourceFile: /src/bitcoin-core/src/flatfile.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 115
    functionName: bech32::GenerateGFTables
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::array::at
    linkageType: ''
    returnType: std::pair<std::array<int16_t, 1023>, std::array<int16_t, 1024>>
    signature: std::pair<std::array<int16_t, 1023>, std::array<int16_t, 1024>> GenerateGFTables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/bech32.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - Encoding
    assertStmts:
    - condition: (encoding == Encoding::BECH32 || encoding == Encoding::BECH32M)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/bitcoin-core/src/bech32.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: bech32::EncodingConstant
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t EncodingConstant(Encoding encoding)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 216
    functionName: bech32::PolyMod
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PolyMod(const data& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:244,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:245,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:246,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: bech32::GenerateSyndromeConstants
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::array<uint32_t, 25>
    signature: std::array<uint32_t, 25> GenerateSyndromeConstants()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - residue
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: bech32::Syndrome
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Syndrome(const uint32_t residue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: bech32::LowerCase
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char LowerCase(unsigned char c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:290,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:294,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:300,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:305,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bech32.cpp:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ' str'
    - ' errors'
    argTypes:
    - std::string
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: bech32::CheckCharacters
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckCharacters(const std::string& str, std::vector<int>& errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:317,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:317,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:318,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:319,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:319,1
    - Dst: data::insert
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: data::end
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: end
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' hrp'
    - ' values'
    argTypes:
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 324
    functionName: bech32::PreparePolynomialCoefficients
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - end
    - data::push_back
    - data::reserve
    - size
    - data::end
    - data::insert
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> PreparePolynomialCoefficients(const std::string&
      hrp, const data& values)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:334,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:335,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:336,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' hrp'
    - ' values'
    argTypes:
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: bech32::VerifyChecksum
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - bech32::PreparePolynomialCoefficients
    - bech32::EncodingConstant
    - bech32::PolyMod
    linkageType: ''
    returnType: Encoding
    signature: Encoding VerifyChecksum(const std::string& hrp, const data& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:344,1
    - Dst: auto::insert
      Src: /src/bitcoin-core/src/bech32.cpp:345,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/bech32.cpp:345,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:346,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - encoding
    - ' hrp'
    - ' values'
    argTypes:
    - Encoding
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: bech32::CreateChecksum
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - auto::insert
    - bech32::PolyMod
    - bech32::EncodingConstant
    - bech32::PreparePolynomialCoefficients
    - auto::end
    linkageType: ''
    returnType: data
    signature: data CreateChecksum(Encoding encoding, const std::string& hrp, const
      data& values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 115
    functionName: bech32::GenerateGFTables
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::array::at
    linkageType: ''
    returnType: std::pair<std::array<int16_t, 1023>, std::array<int16_t, 1024>>
    signature: std::pair<std::array<int16_t, 1023>, std::array<int16_t, 1024>> GenerateGFTables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/bech32.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - Encoding
    assertStmts:
    - condition: (encoding == Encoding::BECH32 || encoding == Encoding::BECH32M)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/bitcoin-core/src/bech32.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: bech32::EncodingConstant
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t EncodingConstant(Encoding encoding)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 216
    functionName: bech32::PolyMod
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PolyMod(const data& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:244,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:245,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:246,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: bech32::GenerateSyndromeConstants
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::array<uint32_t, 25>
    signature: std::array<uint32_t, 25> GenerateSyndromeConstants()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - residue
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: bech32::Syndrome
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Syndrome(const uint32_t residue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: bech32::LowerCase
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char LowerCase(unsigned char c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:290,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:294,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:300,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:305,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bech32.cpp:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ' str'
    - ' errors'
    argTypes:
    - std::string
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: bech32::CheckCharacters
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckCharacters(const std::string& str, std::vector<int>& errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:317,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:317,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:318,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:319,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:319,1
    - Dst: data::insert
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: data::end
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: end
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' hrp'
    - ' values'
    argTypes:
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 324
    functionName: bech32::PreparePolynomialCoefficients
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 2
    functionsReached:
    - end
    - data::push_back
    - data::reserve
    - size
    - data::end
    - data::insert
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> PreparePolynomialCoefficients(const std::string&
      hrp, const data& values)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:334,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:335,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:336,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' hrp'
    - ' values'
    argTypes:
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: bech32::VerifyChecksum
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - bech32::PreparePolynomialCoefficients
    - bech32::EncodingConstant
    - bech32::PolyMod
    linkageType: ''
    returnType: Encoding
    signature: Encoding VerifyChecksum(const std::string& hrp, const data& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:344,1
    - Dst: auto::insert
      Src: /src/bitcoin-core/src/bech32.cpp:345,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/bech32.cpp:345,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:346,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - encoding
    - ' hrp'
    - ' values'
    argTypes:
    - Encoding
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: bech32::CreateChecksum
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - auto::insert
    - bech32::PolyMod
    - bech32::EncodingConstant
    - bech32::PreparePolynomialCoefficients
    - auto::end
    linkageType: ''
    returnType: data
    signature: data CreateChecksum(Encoding encoding, const std::string& hrp, const
      data& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/bech32.cpp:362,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:365,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:365,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:365,1
    - Dst: bech32::CreateChecksum
      Src: /src/bitcoin-core/src/bech32.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - encoding
    - ' hrp'
    - ' values'
    argTypes:
    - Encoding
    - std::string
    - data
    assertStmts:
    - condition: (c < 'A' || c > 'Z')
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/bitcoin-core/src/bech32.cpp
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: bech32::Encode
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - std::string::reserve
    - assert
    - bech32::CreateChecksum
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Encode(Encoding encoding, const std::string& hrp, const
      data& values)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bech32::CheckCharacters
      Src: /src/bitcoin-core/src/bech32.cpp:376,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/bech32.cpp:377,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:378,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:379,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:382,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:383,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:393,1
    - Dst: bech32::LowerCase
      Src: /src/bitcoin-core/src/bech32.cpp:395,1
    - Dst: bech32::VerifyChecksum
      Src: /src/bitcoin-core/src/bech32.cpp:397,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:399,1
    - Dst: data
      Src: /src/bitcoin-core/src/bech32.cpp:399,1
    - Dst: data::begin
      Src: /src/bitcoin-core/src/bech32.cpp:399,1
    - Dst: data::end
      Src: /src/bitcoin-core/src/bech32.cpp:399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ' str'
    - limit
    argTypes:
    - std::string
    - CharLimit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 400
    functionName: bech32::Decode
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - bech32::LowerCase
    - bech32::CheckCharacters
    - data::begin
    - rfind
    - size
    - std::move
    - data
    - std::string::reserve
    - data::end
    - bech32::VerifyChecksum
    linkageType: ''
    returnType: DecodeResult
    signature: DecodeResult Decode(const std::string& str, CharLimit limit)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:406,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/bech32.cpp:407,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:407,1
    - Dst: std::iota
      Src: /src/bitcoin-core/src/bech32.cpp:408,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bech32.cpp:408,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bech32.cpp:408,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bech32.cpp:408,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:409,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:409,1
    - Dst: bech32::CheckCharacters
      Src: /src/bitcoin-core/src/bech32.cpp:412,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:413,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:413,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/bech32.cpp:416,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:418,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:420,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:421,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:422,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:422,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:426,1
    - Dst: bech32::LowerCase
      Src: /src/bitcoin-core/src/bech32.cpp:428,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:431,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:437,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:438,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:438,1
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:450,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:451,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:451,1
    - Dst: bech32::Syndrome
      Src: /src/bitcoin-core/src/bech32.cpp:458,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:466,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:467,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:468,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:488,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:488,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:503,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:505,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:509,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:511,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:524,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:526,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:529,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:529,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:529,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:548,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:548,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:549,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:549,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:551,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:551,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:552,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:552,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:559,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bech32.cpp:562,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bech32.cpp:562,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bech32.cpp:562,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bech32.cpp:562,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:563,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bech32.cpp:564,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:571,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:571,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 66
    argCount: 2
    argNames:
    - ' str'
    - limit
    argTypes:
    - std::string
    - CharLimit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 572
    functionName: bech32::LocateErrors
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - at
    - bech32::PolyMod
    - std::move
    - std::vector::push_back
    - bech32::PreparePolynomialCoefficients
    - std::vector::end
    - bech32::LowerCase
    - bech32::CheckCharacters
    - rfind
    - std::vector::empty
    - std::vector::size
    - static_cast<int>
    - std::string::reserve
    - bech32::EncodingConstant
    - std::iota
    - std::vector::resize
    - bech32::Syndrome
    - std::vector::begin
    - size
    linkageType: ''
    returnType: std::pair<std::string, std::vector<int>>
    signature: std::pair<std::string, std::vector<int>> LocateErrors(const std::string&
      str, CharLimit limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 115
    functionName: bech32::GenerateGFTables
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::array::at
    linkageType: ''
    returnType: std::pair<std::array<int16_t, 1023>, std::array<int16_t, 1024>>
    signature: std::pair<std::array<int16_t, 1023>, std::array<int16_t, 1024>> GenerateGFTables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/bech32.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - Encoding
    assertStmts:
    - condition: (encoding == Encoding::BECH32 || encoding == Encoding::BECH32M)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/bitcoin-core/src/bech32.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: bech32::EncodingConstant
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t EncodingConstant(Encoding encoding)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 216
    functionName: bech32::PolyMod
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PolyMod(const data& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:244,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:245,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:246,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: bech32::GenerateSyndromeConstants
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::array<uint32_t, 25>
    signature: std::array<uint32_t, 25> GenerateSyndromeConstants()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - residue
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: bech32::Syndrome
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Syndrome(const uint32_t residue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: bech32::LowerCase
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char LowerCase(unsigned char c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:290,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:294,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:300,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:305,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bech32.cpp:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ' str'
    - ' errors'
    argTypes:
    - std::string
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: bech32::CheckCharacters
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckCharacters(const std::string& str, std::vector<int>& errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:317,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:317,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:318,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:319,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:319,1
    - Dst: data::insert
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: data::end
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: end
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' hrp'
    - ' values'
    argTypes:
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 324
    functionName: bech32::PreparePolynomialCoefficients
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 5
    functionsReached:
    - end
    - data::push_back
    - data::reserve
    - size
    - data::end
    - data::insert
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> PreparePolynomialCoefficients(const std::string&
      hrp, const data& values)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:334,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:335,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:336,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' hrp'
    - ' values'
    argTypes:
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: bech32::VerifyChecksum
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 1
    functionsReached:
    - bech32::PreparePolynomialCoefficients
    - bech32::EncodingConstant
    - bech32::PolyMod
    linkageType: ''
    returnType: Encoding
    signature: Encoding VerifyChecksum(const std::string& hrp, const data& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:344,1
    - Dst: auto::insert
      Src: /src/bitcoin-core/src/bech32.cpp:345,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/bech32.cpp:345,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:346,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - encoding
    - ' hrp'
    - ' values'
    argTypes:
    - Encoding
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: bech32::CreateChecksum
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 1
    functionsReached:
    - auto::insert
    - bech32::PolyMod
    - bech32::EncodingConstant
    - bech32::PreparePolynomialCoefficients
    - auto::end
    linkageType: ''
    returnType: data
    signature: data CreateChecksum(Encoding encoding, const std::string& hrp, const
      data& values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:106,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bech32.cpp:107,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 115
    functionName: bech32::GenerateGFTables
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::array::at
    linkageType: ''
    returnType: std::pair<std::array<int16_t, 1023>, std::array<int16_t, 1024>>
    signature: std::pair<std::array<int16_t, 1023>, std::array<int16_t, 1024>> GenerateGFTables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/bech32.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - Encoding
    assertStmts:
    - condition: (encoding == Encoding::BECH32 || encoding == Encoding::BECH32M)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/bitcoin-core/src/bech32.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: bech32::EncodingConstant
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 7
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t EncodingConstant(Encoding encoding)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 216
    functionName: bech32::PolyMod
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PolyMod(const data& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:244,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:245,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:246,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: bech32::GenerateSyndromeConstants
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::array<uint32_t, 25>
    signature: std::array<uint32_t, 25> GenerateSyndromeConstants()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - residue
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: bech32::Syndrome
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Syndrome(const uint32_t residue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: bech32::LowerCase
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char LowerCase(unsigned char c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:290,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:294,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:300,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bech32.cpp:305,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bech32.cpp:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ' str'
    - ' errors'
    argTypes:
    - std::string
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: bech32::CheckCharacters
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckCharacters(const std::string& str, std::vector<int>& errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:317,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:317,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:318,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:319,1
    - Dst: data::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:319,1
    - Dst: data::insert
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: data::end
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    - Dst: end
      Src: /src/bitcoin-core/src/bech32.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' hrp'
    - ' values'
    argTypes:
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 324
    functionName: bech32::PreparePolynomialCoefficients
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 7
    functionsReached:
    - end
    - data::push_back
    - data::reserve
    - size
    - data::end
    - data::insert
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> PreparePolynomialCoefficients(const std::string&
      hrp, const data& values)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:334,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:335,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:336,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' hrp'
    - ' values'
    argTypes:
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: bech32::VerifyChecksum
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 1
    functionsReached:
    - bech32::PreparePolynomialCoefficients
    - bech32::EncodingConstant
    - bech32::PolyMod
    linkageType: ''
    returnType: Encoding
    signature: Encoding VerifyChecksum(const std::string& hrp, const data& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:344,1
    - Dst: auto::insert
      Src: /src/bitcoin-core/src/bech32.cpp:345,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/bech32.cpp:345,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:346,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - encoding
    - ' hrp'
    - ' values'
    argTypes:
    - Encoding
    - std::string
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: bech32::CreateChecksum
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 1
    functionsReached:
    - auto::insert
    - bech32::PolyMod
    - bech32::EncodingConstant
    - bech32::PreparePolynomialCoefficients
    - auto::end
    linkageType: ''
    returnType: data
    signature: data CreateChecksum(Encoding encoding, const std::string& hrp, const
      data& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/bech32.cpp:362,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:365,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:365,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:365,1
    - Dst: bech32::CreateChecksum
      Src: /src/bitcoin-core/src/bech32.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - encoding
    - ' hrp'
    - ' values'
    argTypes:
    - Encoding
    - std::string
    - data
    assertStmts:
    - condition: (c < 'A' || c > 'Z')
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/bitcoin-core/src/bech32.cpp
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: bech32::Encode
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - std::string::reserve
    - assert
    - bech32::CreateChecksum
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Encode(Encoding encoding, const std::string& hrp, const
      data& values)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bech32::CheckCharacters
      Src: /src/bitcoin-core/src/bech32.cpp:376,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/bech32.cpp:377,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:378,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:379,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:382,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:383,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:393,1
    - Dst: bech32::LowerCase
      Src: /src/bitcoin-core/src/bech32.cpp:395,1
    - Dst: bech32::VerifyChecksum
      Src: /src/bitcoin-core/src/bech32.cpp:397,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:399,1
    - Dst: data
      Src: /src/bitcoin-core/src/bech32.cpp:399,1
    - Dst: data::begin
      Src: /src/bitcoin-core/src/bech32.cpp:399,1
    - Dst: data::end
      Src: /src/bitcoin-core/src/bech32.cpp:399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ' str'
    - limit
    argTypes:
    - std::string
    - CharLimit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 400
    functionName: bech32::Decode
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - bech32::LowerCase
    - bech32::CheckCharacters
    - data::begin
    - rfind
    - size
    - std::move
    - data
    - std::string::reserve
    - data::end
    - bech32::VerifyChecksum
    linkageType: ''
    returnType: DecodeResult
    signature: DecodeResult Decode(const std::string& str, CharLimit limit)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:406,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/bech32.cpp:407,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:407,1
    - Dst: std::iota
      Src: /src/bitcoin-core/src/bech32.cpp:408,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bech32.cpp:408,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bech32.cpp:408,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bech32.cpp:408,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:409,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:409,1
    - Dst: bech32::CheckCharacters
      Src: /src/bitcoin-core/src/bech32.cpp:412,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:413,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:413,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/bech32.cpp:416,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:418,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:420,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:421,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:422,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:422,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/bech32.cpp:426,1
    - Dst: bech32::LowerCase
      Src: /src/bitcoin-core/src/bech32.cpp:428,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:431,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:437,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:438,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:438,1
    - Dst: bech32::PreparePolynomialCoefficients
      Src: /src/bitcoin-core/src/bech32.cpp:450,1
    - Dst: bech32::PolyMod
      Src: /src/bitcoin-core/src/bech32.cpp:451,1
    - Dst: bech32::EncodingConstant
      Src: /src/bitcoin-core/src/bech32.cpp:451,1
    - Dst: bech32::Syndrome
      Src: /src/bitcoin-core/src/bech32.cpp:458,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:466,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:467,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:468,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:488,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:488,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:503,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:505,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:509,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:511,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:524,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:526,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:529,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:529,1
    - Dst: at
      Src: /src/bitcoin-core/src/bech32.cpp:529,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:548,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:548,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:549,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:549,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:551,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:551,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bech32.cpp:552,1
    - Dst: size
      Src: /src/bitcoin-core/src/bech32.cpp:552,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:559,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bech32.cpp:562,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bech32.cpp:562,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bech32.cpp:562,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bech32.cpp:562,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:563,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bech32.cpp:564,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bech32.cpp:571,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.cpp:571,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 66
    argCount: 2
    argNames:
    - ' str'
    - limit
    argTypes:
    - std::string
    - CharLimit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 572
    functionName: bech32::LocateErrors
    functionSourceFile: /src/bitcoin-core/src/bech32.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - at
    - bech32::PolyMod
    - std::move
    - std::vector::push_back
    - bech32::PreparePolynomialCoefficients
    - std::vector::end
    - bech32::LowerCase
    - bech32::CheckCharacters
    - rfind
    - std::vector::empty
    - std::vector::size
    - static_cast<int>
    - std::string::reserve
    - bech32::EncodingConstant
    - std::iota
    - std::vector::resize
    - bech32::Syndrome
    - std::vector::begin
    - size
    linkageType: ''
    returnType: std::pair<std::string, std::vector<int>>
    signature: std::pair<std::string, std::vector<int>> LocateErrors(const std::string&
      str, CharLimit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stream::write
      Src: /src/bitcoin-core/src/serialize.h:56,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/serialize.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - Stream
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: ser_writedata8
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Stream::write
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void ser_writedata8(Stream &s, uint8_t obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16_internal
      Src: /src/bitcoin-core/src/serialize.h:60,1
    - Dst: Stream::write
      Src: /src/bitcoin-core/src/serialize.h:61,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/serialize.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - Stream
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: ser_writedata16
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Stream::write
    - htole16_internal
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void ser_writedata16(Stream &s, uint16_t obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32_internal
      Src: /src/bitcoin-core/src/serialize.h:65,1
    - Dst: Stream::write
      Src: /src/bitcoin-core/src/serialize.h:66,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/serialize.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - Stream
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: ser_writedata32
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Stream::write
    - std::as_bytes
    - htole32_internal
    linkageType: ''
    returnType: void
    signature: void ser_writedata32(Stream &s, uint32_t obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32_internal
      Src: /src/bitcoin-core/src/serialize.h:70,1
    - Dst: Stream::write
      Src: /src/bitcoin-core/src/serialize.h:71,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/serialize.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - Stream
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ser_writedata32be
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Stream::write
    - htobe32_internal
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void ser_writedata32be(Stream &s, uint32_t obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole64_internal
      Src: /src/bitcoin-core/src/serialize.h:75,1
    - Dst: Stream::write
      Src: /src/bitcoin-core/src/serialize.h:76,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/serialize.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - obj
    argTypes:
    - Stream
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ser_writedata64
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Stream::write
    - htole64_internal
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void ser_writedata64(Stream &s, uint64_t obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stream::read
      Src: /src/bitcoin-core/src/serialize.h:81,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: ser_readdata8
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::as_writable_bytes
    - Stream::read
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ser_readdata8(Stream &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stream::read
      Src: /src/bitcoin-core/src/serialize.h:87,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:87,1
    - Dst: le16toh_internal
      Src: /src/bitcoin-core/src/serialize.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: ser_readdata16
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::as_writable_bytes
    - Stream::read
    - le16toh_internal
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ser_readdata16(Stream &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stream::read
      Src: /src/bitcoin-core/src/serialize.h:93,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:93,1
    - Dst: le32toh_internal
      Src: /src/bitcoin-core/src/serialize.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: ser_readdata32
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::as_writable_bytes
    - Stream::read
    - le32toh_internal
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ser_readdata32(Stream &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stream::read
      Src: /src/bitcoin-core/src/serialize.h:99,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:99,1
    - Dst: be32toh_internal
      Src: /src/bitcoin-core/src/serialize.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: ser_readdata32be
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - be32toh_internal
    - std::as_writable_bytes
    - Stream::read
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ser_readdata32be(Stream &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stream::read
      Src: /src/bitcoin-core/src/serialize.h:105,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:105,1
    - Dst: le64toh_internal
      Src: /src/bitcoin-core/src/serialize.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: ser_readdata64
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - le64toh_internal
    - std::as_writable_bytes
    - Stream::read
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ser_readdata64(Stream &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - In
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: AsBase
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Out
    signature: Out & AsBase(In& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - In
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: AsBase
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Out
    signature: Out & AsBase(const In& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: READWRITE
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READWRITE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: SER_READ
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER_READ(obj, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: SER_WRITE
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER_WRITE(obj, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cls
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: FORMATTER_METHODS
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORMATTER_METHODS(cls, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: SER_PARAMS
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER_PARAMS(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: BASE_SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BASE_SERIALIZE_METHODS(cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cls
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_METHODS(cls, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/serialize.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - std::byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata8
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, std::byte a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/serialize.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata8
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, int8_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/serialize.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata8
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, uint8_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata16
      Src: /src/bitcoin-core/src/serialize.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata16
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, int16_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata16
      Src: /src/bitcoin-core/src/serialize.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata16
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, uint16_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata32
      Src: /src/bitcoin-core/src/serialize.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata32
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, int32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata32
      Src: /src/bitcoin-core/src/serialize.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata32
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, uint32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata64
      Src: /src/bitcoin-core/src/serialize.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata64
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, int64_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata64
      Src: /src/bitcoin-core/src/serialize.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata64
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, uint64_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/serialize.h:255,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/serialize.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - (a)
    argTypes:
    - Stream
    - B[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - write
    - MakeByteSpan
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, const B (&a)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/serialize.h:256,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/serialize.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - std::array<B, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - write
    - MakeByteSpan
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, const std::array<B, N>& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/serialize.h:257,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/serialize.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - span
    argTypes:
    - Stream
    - std::span<B, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - write
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, std::span<B, N> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/serialize.h:258,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/serialize.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - span
    argTypes:
    - Stream
    - std::span<B>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - write
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, std::span<B> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::byte
      Src: /src/bitcoin-core/src/serialize.h:261,1
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/serialize.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - std::byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::byte
    - ser_readdata8
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, std::byte& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/serialize.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata8
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, int8_t& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/serialize.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata8
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, uint8_t& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata16
      Src: /src/bitcoin-core/src/serialize.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, int16_t& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata16
      Src: /src/bitcoin-core/src/serialize.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, uint16_t& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata32
      Src: /src/bitcoin-core/src/serialize.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata32
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, int32_t& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata32
      Src: /src/bitcoin-core/src/serialize.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata32
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, uint32_t& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata64
      Src: /src/bitcoin-core/src/serialize.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata64
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, int64_t& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata64
      Src: /src/bitcoin-core/src/serialize.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata64
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, uint64_t& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:271,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/serialize.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - (a)
    argTypes:
    - Stream
    - B[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - MakeWritableByteSpan
    - read
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, B (&a)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:272,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/serialize.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - std::array<B, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - MakeWritableByteSpan
    - read
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, std::array<B, N>& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:273,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - span
    argTypes:
    - Stream
    - std::span<B, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::as_writable_bytes
    - read
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, std::span<B, N> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:274,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - span
    argTypes:
    - Stream
    - std::span<B>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::as_writable_bytes
    - read
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, std::span<B> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/serialize.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - a
    argTypes:
    - Stream
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata8
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s, bool a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/serialize.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' a'
    argTypes:
    - Stream
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata8
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s, bool& a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:291,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nSize
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: GetSizeOfCompactSize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetSizeOfCompactSize(uint64_t nSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/serialize.h:303,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:305,1
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/serialize.h:307,1
    - Dst: ser_writedata16
      Src: /src/bitcoin-core/src/serialize.h:308,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:310,1
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/serialize.h:312,1
    - Dst: ser_writedata32
      Src: /src/bitcoin-core/src/serialize.h:313,1
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/serialize.h:317,1
    - Dst: ser_writedata64
      Src: /src/bitcoin-core/src/serialize.h:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' os'
    - nSize
    argTypes:
    - Stream
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 321
    functionName: WriteCompactSize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata16
    - ser_writedata64
    - ser_writedata32
    - ser_writedata8
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void WriteCompactSize(Stream& os, uint64_t nSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/serialize.h:332,1
    - Dst: ser_readdata16
      Src: /src/bitcoin-core/src/serialize.h:340,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/serialize.h:342,1
    - Dst: ser_readdata32
      Src: /src/bitcoin-core/src/serialize.h:346,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/serialize.h:348,1
    - Dst: ser_readdata64
      Src: /src/bitcoin-core/src/serialize.h:352,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/serialize.h:354,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/serialize.h:357,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 360
    functionName: ReadCompactSize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_readdata16
    - std::ios_base::failure
    - ser_readdata64
    - ser_readdata32
    - ser_readdata8
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadCompactSize(Stream& is, bool range_check = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: CheckVarIntMode
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckVarIntMode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckVarIntMode
      Src: /src/bitcoin-core/src/serialize.h:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: GetSizeOfVarInt
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - CheckVarIntMode
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetSizeOfVarInt(I n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckVarIntMode
      Src: /src/bitcoin-core/src/serialize.h:427,1
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/serialize.h:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' os'
    - n
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 440
    functionName: WriteVarInt
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ser_writedata8
    - CheckVarIntMode
    linkageType: ''
    returnType: void
    signature: void WriteVarInt(Stream& os, I n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckVarIntMode
      Src: /src/bitcoin-core/src/serialize.h:445,1
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/serialize.h:448,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:449,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/serialize.h:450,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:454,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/serialize.h:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 462
    functionName: ReadVarInt
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::ios_base::failure
    - RandomMixin::max
    - ser_readdata8
    - CheckVarIntMode
    linkageType: ''
    returnType: I
    signature: I ReadVarInt(Stream& is)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: Wrapper::Wrapper
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wrapper(T obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Formatter
      Src: /src/bitcoin-core/src/serialize.h:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: Wrapper::Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Formatter
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream &s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Formatter
      Src: /src/bitcoin-core/src/serialize.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: Wrapper::Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Formatter
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper<Formatter, T&>
      Src: /src/bitcoin-core/src/serialize.h:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: Using
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Wrapper<Formatter, T&>
    linkageType: ''
    returnType: Wrapper<Formatter, T&>
    signature: Wrapper<Formatter, T&> Using(T&& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: VARINT_MODE
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARINT_MODE(obj, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 492
    functionName: VARINT
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARINT(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 493
    functionName: COMPACTSIZE
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPACTSIZE(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: LIMITED_STRING
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMITED_STRING(obj,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarInt
      Src: /src/bitcoin-core/src/serialize.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - WriteVarInt
    linkageType: ''
    returnType: void
    signature: void Ser(Stream &s, I v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarInt
      Src: /src/bitcoin-core/src/serialize.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ReadVarInt
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, I& v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/serialize.h:527,1
    - Dst: htobe64_internal
      Src: /src/bitcoin-core/src/serialize.h:529,1
    - Dst: write
      Src: /src/bitcoin-core/src/serialize.h:530,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/serialize.h:530,1
    - Dst: htole64_internal
      Src: /src/bitcoin-core/src/serialize.h:532,1
    - Dst: write
      Src: /src/bitcoin-core/src/serialize.h:533,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/serialize.h:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' s'
    - v
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 535
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - write
    - htobe64_internal
    - std::ios_base::failure
    - htole64_internal
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, I v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:540,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/serialize.h:540,1
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:543,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:543,1
    - Dst: static_cast<I>
      Src: /src/bitcoin-core/src/serialize.h:544,1
    - Dst: be64toh_internal
      Src: /src/bitcoin-core/src/serialize.h:544,1
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:546,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:546,1
    - Dst: static_cast<I>
      Src: /src/bitcoin-core/src/serialize.h:547,1
    - Dst: le64toh_internal
      Src: /src/bitcoin-core/src/serialize.h:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 549
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - be64toh_internal
    - RandomMixin::min
    - read
    - static_cast<I>
    - le64toh_internal
    - std::as_writable_bytes
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, I& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/serialize.h:561,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/serialize.h:562,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:562,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/serialize.h:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 566
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - ReadCompactSize
    - RandomMixin::max
    - RandomMixin::min
    - std::ios_base::failure
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, I& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:572,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/serialize.h:572,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/serialize.h:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - v
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 575
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - WriteCompactSize
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, I v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s'
    - ' tp'
    argTypes:
    - Stream
    - Tp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 587
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, Tp& tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: U
      Src: /src/bitcoin-core/src/serialize.h:592,1
    - Dst: Tp::time_since_epoch
      Src: /src/bitcoin-core/src/serialize.h:592,1
    - Dst: Tp::time_since_epoch
      Src: /src/bitcoin-core/src/serialize.h:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' s'
    - tp
    argTypes:
    - Stream
    - Tp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Tp::time_since_epoch
    - U
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, Tp tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n_in
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 606
    functionName: CompactSizeWriter::CompactSizeWriter
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompactSizeWriter(uint64_t n_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/serialize.h:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: CompactSizeWriter::Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - WriteCompactSize
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream &s) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/serialize.h:620,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/serialize.h:622,1
    - Dst: resize
      Src: /src/bitcoin-core/src/serialize.h:624,1
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:625,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/serialize.h:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 618
    functionDepth: 3
    functionLinenumber: 618
    functionLinenumberEnd: 626
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - read
    - std::ios_base::failure
    - MakeWritableByteSpan
    - ReadCompactSize
    - resize
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/serialize.h:655,1
    - Dst: size
      Src: /src/bitcoin-core/src/serialize.h:655,1
    - Dst: Formatter::Ser
      Src: /src/bitcoin-core/src/serialize.h:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 659
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached:
    - WriteCompactSize
    - size
    - Formatter::Ser
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, const V& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/serialize.h:665,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/serialize.h:666,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/serialize.h:673,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/serialize.h:674,1
    - Dst: size
      Src: /src/bitcoin-core/src/serialize.h:675,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/serialize.h:676,1
    - Dst: Formatter::Unser
      Src: /src/bitcoin-core/src/serialize.h:677,1
    - Dst: back
      Src: /src/bitcoin-core/src/serialize.h:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 662
    functionDepth: 3
    functionLinenumber: 662
    functionLinenumberEnd: 680
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached:
    - reserve
    - back
    - size
    - clear
    - Formatter::Unser
    - emplace_back
    - ReadCompactSize
    - std::min
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, V& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' a'
    argTypes:
    - Stream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 746
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached:
    - Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& os, const T& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/serialize.h:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' is'
    - ' a'
    argTypes:
    - Stream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 755
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached:
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& is, T&& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' t'
    argTypes:
    - Stream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 765
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached:
    - Serialize
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/serialize.h:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' t'
    argTypes:
    - Stream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 768
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached:
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, T& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/serialize.h:781,1
    - Dst: size
      Src: /src/bitcoin-core/src/serialize.h:781,1
    - Dst: empty
      Src: /src/bitcoin-core/src/serialize.h:782,1
    - Dst: write
      Src: /src/bitcoin-core/src/serialize.h:783,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/serialize.h:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' str'
    argTypes:
    - Stream
    - std::basic_string<C>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 784
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 2
    functionsReached:
    - write
    - empty
    - size
    - WriteCompactSize
    - MakeByteSpan
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& os, const std::basic_string<C>& str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/serialize.h:789,1
    - Dst: resize
      Src: /src/bitcoin-core/src/serialize.h:790,1
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:792,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/serialize.h:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' is'
    - ' str'
    argTypes:
    - Stream
    - std::basic_string<C>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 787
    functionDepth: 3
    functionLinenumber: 787
    functionLinenumberEnd: 793
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 2
    functionsReached:
    - ReadCompactSize
    - MakeWritableByteSpan
    - resize
    - read
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& is, std::basic_string<C>& str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/serialize.h:804,1
    - Dst: size
      Src: /src/bitcoin-core/src/serialize.h:804,1
    - Dst: empty
      Src: /src/bitcoin-core/src/serialize.h:805,1
    - Dst: write
      Src: /src/bitcoin-core/src/serialize.h:805,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/serialize.h:805,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:807,1
    - Dst: Using
      Src: /src/bitcoin-core/src/serialize.h:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' os'
    - ' v'
    argTypes:
    - Stream
    - prevector<N, T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 809
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 3
    functionsReached:
    - write
    - empty
    - Serialize
    - size
    - WriteCompactSize
    - MakeByteSpan
    - Using
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& os, const prevector<N, T>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/serialize.h:817,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/serialize.h:818,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/serialize.h:821,1
    - Dst: resize_uninitialized
      Src: /src/bitcoin-core/src/serialize.h:822,1
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:823,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:823,1
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/serialize.h:827,1
    - Dst: Using
      Src: /src/bitcoin-core/src/serialize.h:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' is'
    - ' v'
    argTypes:
    - Stream
    - prevector<N, T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 829
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 3
    functionsReached:
    - read
    - resize_uninitialized
    - clear
    - Using
    - ReadCompactSize
    - std::as_writable_bytes
    - std::min
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& is, prevector<N, T>& v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/serialize.h:839,1
    - Dst: size
      Src: /src/bitcoin-core/src/serialize.h:839,1
    - Dst: empty
      Src: /src/bitcoin-core/src/serialize.h:840,1
    - Dst: write
      Src: /src/bitcoin-core/src/serialize.h:840,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/serialize.h:840,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/serialize.h:845,1
    - Dst: size
      Src: /src/bitcoin-core/src/serialize.h:845,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/serialize.h:847,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:850,1
    - Dst: Using
      Src: /src/bitcoin-core/src/serialize.h:850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' os'
    - ' v'
    argTypes:
    - Stream
    - std::vector<T, A>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 836
    functionDepth: 3
    functionLinenumber: 836
    functionLinenumberEnd: 852
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 4
    functionsReached:
    - write
    - empty
    - Wrapper::Serialize
    - Serialize
    - size
    - WriteCompactSize
    - MakeByteSpan
    - Using
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& os, const std::vector<T, A>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/serialize.h:860,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/serialize.h:861,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/serialize.h:864,1
    - Dst: resize
      Src: /src/bitcoin-core/src/serialize.h:865,1
    - Dst: read
      Src: /src/bitcoin-core/src/serialize.h:866,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/serialize.h:866,1
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/serialize.h:870,1
    - Dst: Using
      Src: /src/bitcoin-core/src/serialize.h:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' is'
    - ' v'
    argTypes:
    - Stream
    - std::vector<T, A>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 856
    functionDepth: 3
    functionLinenumber: 856
    functionLinenumberEnd: 872
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 4
    functionsReached:
    - read
    - clear
    - Using
    - ReadCompactSize
    - std::as_writable_bytes
    - resize
    - std::min
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& is, std::vector<T, A>& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:881,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' item'
    argTypes:
    - Stream
    - std::pair<K, T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 883
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 5
    functionsReached:
    - Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& os, const std::pair<K, T>& item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/serialize.h:888,1
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/serialize.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' item'
    argTypes:
    - Stream
    - std::pair<K, T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 5
    functionsReached:
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& is, std::pair<K, T>& item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/serialize.h:900,1
    - Dst: size
      Src: /src/bitcoin-core/src/serialize.h:900,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' m'
    argTypes:
    - Stream
    - std::map<K, T, Pred, A>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 903
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 6
    functionsReached:
    - WriteCompactSize
    - Serialize
    - size
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& os, const std::map<K, T, Pred, A>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/serialize.h:908,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/serialize.h:909,1
    - Dst: begin
      Src: /src/bitcoin-core/src/serialize.h:910,1
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/serialize.h:914,1
    - Dst: insert
      Src: /src/bitcoin-core/src/serialize.h:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' is'
    - ' m'
    argTypes:
    - Stream
    - std::map<K, T, Pred, A>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 917
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 6
    functionsReached:
    - clear
    - ReadCompactSize
    - insert
    - begin
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& is, std::map<K, T, Pred, A>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/serialize.h:927,1
    - Dst: size
      Src: /src/bitcoin-core/src/serialize.h:927,1
    - Dst: begin
      Src: /src/bitcoin-core/src/serialize.h:928,1
    - Dst: end
      Src: /src/bitcoin-core/src/serialize.h:928,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' m'
    argTypes:
    - Stream
    - std::set<K, Pred, A>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 925
    functionDepth: 3
    functionLinenumber: 925
    functionLinenumberEnd: 930
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 7
    functionsReached:
    - end
    - Serialize
    - size
    - WriteCompactSize
    - begin
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& os, const std::set<K, Pred, A>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/serialize.h:935,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/serialize.h:936,1
    - Dst: begin
      Src: /src/bitcoin-core/src/serialize.h:937,1
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/serialize.h:941,1
    - Dst: insert
      Src: /src/bitcoin-core/src/serialize.h:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' is'
    - ' m'
    argTypes:
    - Stream
    - std::set<K, Pred, A>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 933
    functionDepth: 3
    functionLinenumber: 933
    functionLinenumberEnd: 944
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 7
    functionsReached:
    - clear
    - ReadCompactSize
    - insert
    - begin
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& is, std::set<K, Pred, A>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' p'
    argTypes:
    - Stream
    - std::unique_ptr<const T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 955
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 8
    functionsReached:
    - Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& os, const std::unique_ptr<const T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/serialize.h:960,1
    - Dst: T::T
      Src: /src/bitcoin-core/src/serialize.h:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' is'
    - ' p'
    argTypes:
    - Stream
    - std::unique_ptr<const T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 961
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 7
    functionsReached:
    - reset
    - T::T
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& is, std::unique_ptr<const T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Serialize
      Src: /src/bitcoin-core/src/serialize.h:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' p'
    argTypes:
    - Stream
    - std::shared_ptr<const T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 972
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 9
    functionsReached:
    - Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& os, const std::shared_ptr<const T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const T>
      Src: /src/bitcoin-core/src/serialize.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' is'
    - ' p'
    argTypes:
    - Stream
    - std::shared_ptr<const T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 7
    functionsReached:
    - std::make_shared<const T>
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& is, std::shared_ptr<const T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/serialize.h:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 988
    functionName: SerializeMany
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeMany(Stream& s, const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/serialize.h:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 994
    functionName: UnserializeMany
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Wrapper::Unserialize
    linkageType: ''
    returnType: void
    signature: void UnserializeMany(Stream& s, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1000
    functionName: ForRead
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ForRead()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeMany
      Src: /src/bitcoin-core/src/serialize.h:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    functionName: SerReadWriteMany
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - SerializeMany
    linkageType: ''
    returnType: void
    signature: void SerReadWriteMany(Stream& s, const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1011
    functionName: SerRead
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerRead(Stream& s, Type&&, Fn&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/bitcoin-core/src/serialize.h:1016,1
    - Dst: std::forward<Type>
      Src: /src/bitcoin-core/src/serialize.h:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ' s'
    - ' obj'
    - ' fn'
    argTypes:
    - Stream
    - Type
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: SerWrite
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - fn
    - std::forward<Type>
    linkageType: ''
    returnType: void
    signature: void SerWrite(Stream& s, Type&& obj, Fn&& fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1020
    functionName: ForRead
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ForRead()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnserializeMany
      Src: /src/bitcoin-core/src/serialize.h:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: SerReadWriteMany
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - UnserializeMany
    linkageType: ''
    returnType: void
    signature: void SerReadWriteMany(Stream& s, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/bitcoin-core/src/serialize.h:1031,1
    - Dst: std::forward<Type>
      Src: /src/bitcoin-core/src/serialize.h:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ' s'
    - ' obj'
    - ' fn'
    argTypes:
    - Stream
    - Type
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: SerRead
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - fn
    - std::forward<Type>
    linkageType: ''
    returnType: void
    signature: void SerRead(Stream& s, Type&& obj, Fn&& fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1037
    functionName: SerWrite
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerWrite(Stream& s, Type&&, Fn&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1057
    functionName: SizeComputer::SizeComputer
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SizeComputer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/serialize.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1062
    functionName: SizeComputer::write
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    linkageType: ''
    returnType: void
    signature: void write(std::span<const std::byte> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _nSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: SizeComputer::seek
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void seek(size_t _nSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/serialize.h:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    functionName: '& operator<<(const T& obj)'
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    linkageType: ''
    returnType: SizeComputer
    signature: SizeComputer & operator<<(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1079
    functionName: SizeComputer::size
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeComputer::seek
      Src: /src/bitcoin-core/src/serialize.h:1085,1
    - Dst: GetSizeOfVarInt
      Src: /src/bitcoin-core/src/serialize.h:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - SizeComputer
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: WriteVarInt
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached:
    - SizeComputer::seek
    - GetSizeOfVarInt
    linkageType: ''
    returnType: void
    signature: void WriteVarInt(SizeComputer &s, I n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeComputer::seek
      Src: /src/bitcoin-core/src/serialize.h:1090,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/serialize.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - nSize
    argTypes:
    - SizeComputer
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1091
    functionName: WriteCompactSize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 8
    functionsReached:
    - SizeComputer::seek
    - GetSizeOfCompactSize
    linkageType: ''
    returnType: void
    signature: void WriteCompactSize(SizeComputer &s, uint64_t nSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeComputer
      Src: /src/bitcoin-core/src/serialize.h:1096,1
    - Dst: size
      Src: /src/bitcoin-core/src/serialize.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    functionName: GetSerializeSize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 1
    functionsReached:
    - SizeComputer
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GetSerializeSize(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<SubStream>
      Src: /src/bitcoin-core/src/serialize.h:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' substream'
    - ' params LIFETIMEBOUND'
    argTypes:
    - SubStream
    - Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1118
    functionName: ParamsStream::ParamsStream
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::forward<SubStream>
    linkageType: ''
    returnType: void
    signature: void ParamsStream(SubStream&& substream, const Params& params LIFETIMEBOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<NestedSubstream>
      Src: /src/bitcoin-core/src/serialize.h:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' s'
    - ' params1 LIFETIMEBOUND'
    - ' params2 LIFETIMEBOUND'
    argTypes:
    - NestedSubstream
    - Params1
    - Params2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1122
    functionName: ParamsStream::ParamsStream
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - std::forward<NestedSubstream>
    linkageType: ''
    returnType: void
    signature: void ParamsStream(NestedSubstream&& s, const Params1& params1 LIFETIMEBOUND,
      const Params2& params2 LIFETIMEBOUND, const NestedParams&... params LIFETIMEBOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/serialize.h:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: '& operator<<(const U& obj)'
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    linkageType: ''
    returnType: ParamsStream
    signature: ParamsStream & operator<<(const U& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/serialize.h:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1125
    functionName: '& operator>>(U&& obj)'
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Wrapper::Unserialize
    linkageType: ''
    returnType: ParamsStream
    signature: ParamsStream & operator>>(U&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStream
      Src: /src/bitcoin-core/src/serialize.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1126
    functionName: ParamsStream::write
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - GetStream
    linkageType: ''
    returnType: void
    signature: void write(std::span<const std::byte> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStream
      Src: /src/bitcoin-core/src/serialize.h:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1127
    functionName: ParamsStream::read
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - GetStream
    linkageType: ''
    returnType: void
    signature: void read(std::span<std::byte> dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStream
      Src: /src/bitcoin-core/src/serialize.h:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1128
    functionName: ParamsStream::ignore
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - GetStream
    linkageType: ''
    returnType: void
    signature: void ignore(size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStream
      Src: /src/bitcoin-core/src/serialize.h:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1129
    functionName: ParamsStream::eof
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - GetStream
    linkageType: ''
    returnType: bool
    signature: bool eof() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStream
      Src: /src/bitcoin-core/src/serialize.h:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1130
    functionName: ParamsStream::size
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - GetStream
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template GetParams<P>
      Src: /src/bitcoin-core/src/serialize.h:1139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1141
    functionName: ParamsStream::GetParams
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - template GetParams<P>
    linkageType: ''
    returnType: auto
    signature: auto & GetParams() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStream
      Src: /src/bitcoin-core/src/serialize.h:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1151
    functionName: '& GetStream()'
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - GetStream
    linkageType: ''
    returnType: auto
    signature: auto & GetStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStream
      Src: /src/bitcoin-core/src/serialize.h:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1159
    functionName: '& GetStream() const'
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - GetStream
    linkageType: ''
    returnType: auto
    signature: auto & GetStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' params'
    - ' obj'
    argTypes:
    - Params
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1186
    functionName: ParamsWrapper::ParamsWrapper
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParamsWrapper(const Params& params, T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/serialize.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1193
    functionName: ParamsWrapper::Serialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/serialize.h:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1199
    functionName: ParamsWrapper::Unserialize
    functionSourceFile: /src/bitcoin-core/src/serialize.h
    functionUses: 0
    functionsReached:
    - Wrapper::Unserialize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - TxValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Failure
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - MempoolAcceptResult
    linkageType: ''
    returnType: MempoolAcceptResult
    signature: MempoolAcceptResult Failure(TxValidationState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - effective_feerate
    - ' wtxids_fee_calculations'
    argTypes:
    - TxValidationState
    - CFeeRate
    - std::vector<Wtxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: FeeFailure
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - MempoolAcceptResult
    linkageType: ''
    returnType: MempoolAcceptResult
    signature: "MempoolAcceptResult FeeFailure(TxValidationState state,\n                                          CFeeRate
      effective_feerate,\n                                          const std::vector<Wtxid>&
      wtxids_fee_calculations)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.h:175,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ' replaced_txns'
    - vsize
    - fees
    - effective_feerate
    - ' wtxids_fee_calculations'
    argTypes:
    - std::list<CTransactionRef>
    - int64_t
    - CAmount
    - CFeeRate
    - std::vector<Wtxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: Success
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - MempoolAcceptResult
    - std::move
    linkageType: ''
    returnType: MempoolAcceptResult
    signature: "MempoolAcceptResult Success(std::list<CTransactionRef>&& replaced_txns,\n
      \                                      int64_t vsize,\n                                       CAmount
      fees,\n                                       CFeeRate effective_feerate,\n
      \                                      const std::vector<Wtxid>& wtxids_fee_calculations)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vsize
    - fees
    argTypes:
    - int64_t
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: MempoolTx
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - MempoolAcceptResult
    linkageType: ''
    returnType: MempoolAcceptResult
    signature: MempoolAcceptResult MempoolTx(int64_t vsize, CAmount fees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other_wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: MempoolTxDifferentWitness
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - MempoolAcceptResult
    linkageType: ''
    returnType: MempoolAcceptResult
    signature: MempoolAcceptResult MempoolTxDifferentWitness(const Wtxid& other_wtxid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.h:192,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/validation.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - TxValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: MempoolAcceptResult
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 5
    functionsReached:
    - TxValidationState::IsValid
    - Assume
    linkageType: ''
    returnType: void
    signature: void MempoolAcceptResult(TxValidationState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - ' replaced_txns'
    - vsize
    - fees
    - effective_feerate
    - ' wtxids_fee_calculations'
    argTypes:
    - std::list<CTransactionRef>
    - int64_t
    - CAmount
    - CFeeRate
    - std::vector<Wtxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: MempoolAcceptResult
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 5
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MempoolAcceptResult(std::list<CTransactionRef>&& replaced_txns,\n
      \                                int64_t vsize,\n                                 CAmount
      fees,\n                                 CFeeRate effective_feerate,\n                                 const
      std::vector<Wtxid>& wtxids_fee_calculations)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - state
    - effective_feerate
    - ' wtxids_fee_calculations'
    argTypes:
    - TxValidationState
    - CFeeRate
    - std::vector<Wtxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: MempoolAcceptResult
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MempoolAcceptResult(TxValidationState state,\n                                 CFeeRate
      effective_feerate,\n                                 const std::vector<Wtxid>&
      wtxids_fee_calculations)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - vsize
    - fees
    argTypes:
    - int64_t
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: MempoolAcceptResult
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MempoolAcceptResult(int64_t vsize, CAmount fees)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other_wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: MempoolAcceptResult
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MempoolAcceptResult(const Wtxid& other_wtxid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.h:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - state
    - ' results'
    argTypes:
    - PackageValidationState
    - std::map<Wtxid, MempoolAcceptResult>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: PackageMempoolAcceptResult
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PackageMempoolAcceptResult(PackageValidationState state,\n                                        std::map<Wtxid,
      MempoolAcceptResult>&& results)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.h:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - state
    - feerate
    - ' results'
    argTypes:
    - PackageValidationState
    - CFeeRate
    - std::map<Wtxid, MempoolAcceptResult>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: PackageMempoolAcceptResult
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PackageMempoolAcceptResult(PackageValidationState state, CFeeRate
      feerate,\n                                        std::map<Wtxid, MempoolAcceptResult>&&
      results)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' wtxid'
    - ' result'
    argTypes:
    - Wtxid
    - MempoolAcceptResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: PackageMempoolAcceptResult
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageMempoolAcceptResult(const Wtxid& wtxid, const MempoolAcceptResult&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - ' outIn'
    - ' txToIn'
    - ' signature_cache'
    - nInIn
    - nFlagsIn
    - cacheIn
    - txdataIn
    argTypes:
    - CTxOut
    - CTransaction
    - SignatureCache
    - unsigned int
    - unsigned int
    - bool
    - PrecomputedTransactionData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: CScriptCheck::CScriptCheck
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScriptCheck(const CTxOut& outIn, const CTransaction& txToIn,
      SignatureCache& signature_cache, unsigned int nInIn, unsigned int nFlagsIn,
      bool cacheIn, PrecomputedTransactionData* txdataIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: CScriptCheck::CScriptCheck
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScriptCheck(const CScriptCheck&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: '& operator=(const CScriptCheck&)'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptCheck
    signature: CScriptCheck & operator=(const CScriptCheck&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: CScriptCheck::CScriptCheck
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScriptCheck(CScriptCheck&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: '& operator=(CScriptCheck&&)'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptCheck
    signature: CScriptCheck & operator=(CScriptCheck&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: ValidationCache::ValidationCache
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ValidationCache(const ValidationCache&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: '& operator=(const ValidationCache&)'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ValidationCache
    signature: ValidationCache & operator=(const ValidationCache&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 379
    functionName: ValidationCache::ScriptExecutionCacheHasher
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CSHA256
    signature: CSHA256 ScriptExecutionCacheHasher() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.h:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: Chainstate::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.h:629,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.h:630,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 632
    functionName: '& CoinsTip() EXCLUSIVE_LOCKS_REQUIRED(::cs_main)'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - Assert
    - AssertLockHeld
    linkageType: ''
    returnType: CCoinsViewCache
    signature: CCoinsViewCache & CoinsTip() EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.h:637,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: '& CoinsDB() EXCLUSIVE_LOCKS_REQUIRED(::cs_main)'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - Assert
    - AssertLockHeld
    linkageType: ''
    returnType: CCoinsViewDB
    signature: CCoinsViewDB & CoinsDB() EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: Chainstate::GetMempool
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTxMemPool
    signature: CTxMemPool * GetMempool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.h:651,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: Chainstate::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - Assert
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/validation.h:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 656
    functionName: Chainstate::ResetCoinsViews
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ResetCoinsViews()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 659
    functionName: Chainstate::HasCoinsViews
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasCoinsViews() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 786
    functionName: (m_mempool->cs)
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LOCK_RETURNED
    signature: LOCK_RETURNED (m_mempool->cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 951
    functionName: ChainstateManager::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(GetMutex())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 960
    functionName: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 989
    functionName: '& GetParams() const'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CChainParams
    signature: CChainParams & GetParams() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainparams::GetConsensus
      Src: /src/bitcoin-core/src/validation.h:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: '& GetConsensus() const'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - chainparams::GetConsensus
    linkageType: ''
    returnType: Consensus::Params
    signature: Consensus::Params & GetConsensus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 992
    functionName: '& MinimumChainWork() const'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 & MinimumChainWork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.h:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 993
    functionName: '& AssumedValidBlock() const'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: uint256
    signature: uint256 & AssumedValidBlock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 994
    functionName: '& GetNotifications() const'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: kernel::Notifications
    signature: kernel::Notifications & GetNotifications() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1014
    functionName: ChainstateManager::LOCK_RETURNED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCK_RETURNED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.h:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1051
    functionName: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1106
    functionName: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - ActiveChainstate
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(GetMutex())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/validation.h:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1107
    functionName: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - ActiveChain
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(GetMutex())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/validation.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1108
    functionName: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - ActiveChain
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(GetMutex())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsUsable
      Src: /src/bitcoin-core/src/validation.h:1112,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.h:1112,1
    - Dst: IsUsable
      Src: /src/bitcoin-core/src/validation.h:1112,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.h:1112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1113
    functionName: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - IsUsable
    - get
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(GetMutex())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BackgroundSyncInProgress
      Src: /src/bitcoin-core/src/validation.h:1117,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.h:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1118
    functionName: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - m_chain::Tip
    - BackgroundSyncInProgress
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(GetMutex())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.h:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1124
    functionName: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1141
    functionName: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1321
    functionName: '& GetCheckQueue()'
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CCheckQueue<CScriptCheck>
    signature: CCheckQueue<CScriptCheck> & GetCheckQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/validation.h:1330,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.h:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pindexPrev
    - ' chainman'
    - dep
    argTypes:
    - CBlockIndex*
    - ChainstateManager
    - DEP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1331
    functionName: DeploymentActiveAfter
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 1
    functionsReached:
    - GetConsensus
    - DeploymentActiveAfter
    linkageType: ''
    returnType: bool
    signature: bool DeploymentActiveAfter(const CBlockIndex* pindexPrev, const ChainstateManager&
      chainman, DEP dep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/validation.h:1336,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.h:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' index'
    - ' chainman'
    - dep
    argTypes:
    - CBlockIndex
    - ChainstateManager
    - DEP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1337
    functionName: DeploymentActiveAt
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 1
    functionsReached:
    - DeploymentActiveAt
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool DeploymentActiveAt(const CBlockIndex& index, const ChainstateManager&
      chainman, DEP dep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeploymentEnabled
      Src: /src/bitcoin-core/src/validation.h:1342,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.h:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' chainman'
    - dep
    argTypes:
    - ChainstateManager
    - DEP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1343
    functionName: DeploymentEnabled
    functionSourceFile: /src/bitcoin-core/src/validation.h
    functionUses: 1
    functionsReached:
    - GetConsensus
    - DeploymentEnabled
    linkageType: ''
    returnType: bool
    signature: bool DeploymentEnabled(const ChainstateManager& chainman, DEP dep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/core_write.cpp:35,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/core_write.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - amount
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: ValueFromAmount
    functionSourceFile: /src/bitcoin-core/src/core_write.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    - strprintf
    linkageType: ''
    returnType: UniValue
    signature: UniValue ValueFromAmount(const CAmount amount)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/core_write.cpp:42,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_write.cpp:44,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/core_write.cpp:47,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/core_write.cpp:52,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/core_write.cpp:56,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_write.cpp:56,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/core_write.cpp:57,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/core_write.cpp:61,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/core_write.cpp:62,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:62,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/core_write.cpp:62,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/core_write.cpp:62,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:63,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/core_write.cpp:63,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/core_write.cpp:63,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/core_write.cpp:65,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:65,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/core_write.cpp:65,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/core_write.cpp:69,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:69,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/core_write.cpp:69,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_write.cpp:69,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/core_write.cpp:72,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/core_write.cpp:72,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/core_write.cpp:72,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: FormatScript
    functionSourceFile: /src/bitcoin-core/src/core_write.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::string::size
    - std::vector<uint8_t>
    - std::string::empty
    - std::string
    - strprintf
    - HexStr
    - GetOp
    - begin
    - std::vector::size
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string FormatScript(const CScript& script)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/core_write.cpp:86,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_write.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sighash_type
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: SighashToStr
    functionSourceFile: /src/bitcoin-core/src/core_write.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string SighashToStr(unsigned char sighash_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/core_write.cpp:103,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_write.cpp:104,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/core_write.cpp:105,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/core_write.cpp:108,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/core_write.cpp:113,1
    - Dst: static_cast<std::vector<unsigned char>::size_type>
      Src: /src/bitcoin-core/src/core_write.cpp:113,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/core_write.cpp:114,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/core_write.cpp:114,1
    - Dst: IsUnspendable
      Src: /src/bitcoin-core/src/core_write.cpp:117,1
    - Dst: CheckSignatureEncoding
      Src: /src/bitcoin-core/src/core_write.cpp:123,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/core_write.cpp:124,1
    - Dst: find
      Src: /src/bitcoin-core/src/core_write.cpp:125,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_write.cpp:126,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/core_write.cpp:128,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:131,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:133,1
    - Dst: GetOpName
      Src: /src/bitcoin-core/src/core_write.cpp:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ' script'
    - fAttemptSighashDecode
    argTypes:
    - CScript
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 141
    functionName: ScriptToAsmStr
    functionSourceFile: /src/bitcoin-core/src/core_write.cpp
    functionUses: 0
    functionsReached:
    - end
    - CScriptNum
    - static_cast<std::vector<unsigned char>::size_type>
    - IsUnspendable
    - std::vector::back
    - GetOp
    - std::string::empty
    - CheckSignatureEncoding
    - GetOpName
    - strprintf
    - std::vector::pop_back
    - HexStr
    - std::vector::size
    - begin
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string ScriptToAsmStr(const CScript& script, const bool fAttemptSighashDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/core_write.cpp:145,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/core_write.cpp:146,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: EncodeHexTx
    functionSourceFile: /src/bitcoin-core/src/core_write.cpp
    functionUses: 0
    functionsReached:
    - TX_WITH_WITNESS
    - DataStream::DataStream
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeHexTx(const CTransaction& tx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:154,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/core_write.cpp:154,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:156,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/core_write.cpp:156,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:159,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:159,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/core_write.cpp:163,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/core_write.cpp:165,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:166,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/core_write.cpp:166,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:168,1
    - Dst: GetTxnOutputType
      Src: /src/bitcoin-core/src/core_write.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - ' script'
    - ' out'
    - include_hex
    - include_address
    - provider
    argTypes:
    - CScript
    - UniValue
    - bool
    - bool
    - SigningProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 169
    functionName: ScriptToUniv
    functionSourceFile: /src/bitcoin-core/src/core_write.cpp
    functionUses: 0
    functionsReached:
    - GetTxnOutputType
    - InferDescriptor
    - pushKV
    - EncodeDestination
    - ExtractDestination
    - Solver
    - HexStr
    - ScriptToAsmStr
    linkageType: ''
    returnType: void
    signature: void ScriptToUniv(const CScript& script, UniValue& out, bool include_hex,
      bool include_address, const SigningProvider* provider)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/core_write.cpp:173,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:175,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/core_write.cpp:175,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:176,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/core_write.cpp:176,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:177,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:178,1
    - Dst: GetTotalSize
      Src: /src/bitcoin-core/src/core_write.cpp:178,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:179,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/core_write.cpp:179,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:180,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/core_write.cpp:180,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:181,1
    - Dst: UniValue::reserve
      Src: /src/bitcoin-core/src/core_write.cpp:184,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/core_write.cpp:184,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/core_write.cpp:192,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/core_write.cpp:195,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:196,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:196,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:198,1
    - Dst: prevout::hash::GetHex
      Src: /src/bitcoin-core/src/core_write.cpp:198,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:199,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:201,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/core_write.cpp:201,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:202,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:202,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:203,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_write.cpp:203,1
    - Dst: scriptWitness::IsNull
      Src: /src/bitcoin-core/src/core_write.cpp:205,1
    - Dst: UniValue::reserve
      Src: /src/bitcoin-core/src/core_write.cpp:207,1
    - Dst: scriptWitness::stack::size
      Src: /src/bitcoin-core/src/core_write.cpp:207,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/core_write.cpp:209,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/core_write.cpp:209,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:211,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_write.cpp:211,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/core_write.cpp:221,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:224,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:225,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:226,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/core_write.cpp:226,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:227,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_write.cpp:227,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:228,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_write.cpp:228,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:231,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/core_write.cpp:232,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_write.cpp:232,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:234,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_write.cpp:234,1
    - Dst: UniValue::reserve
      Src: /src/bitcoin-core/src/core_write.cpp:237,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/core_write.cpp:237,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/core_write.cpp:238,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:243,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/core_write.cpp:243,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:244,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/core_write.cpp:247,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:248,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_write.cpp:248,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/core_write.cpp:249,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_write.cpp:249,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:255,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_write.cpp:255,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/core_write.cpp:259,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/core_write.cpp:259,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:260,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/core_write.cpp:260,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/core_write.cpp:263,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:264,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/core_write.cpp:264,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/core_write.cpp:268,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/core_write.cpp:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 6
    argNames:
    - ' tx'
    - ' block_hash'
    - ' entry'
    - include_hex
    - txundo
    - verbosity
    argTypes:
    - CTransaction
    - uint256
    - UniValue
    - bool
    - CTxUndo*
    - TxVerbosity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 270
    functionName: TxToUniv
    functionSourceFile: /src/bitcoin-core/src/core_write.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    - std::move
    - ScriptToUniv
    - scriptWitness::stack::size
    - CHECK_NONFATAL
    - UniValue::push_back
    - GetHex
    - ScriptToAsmStr
    - prevout::hash::GetHex
    - pushKV
    - GetWitnessHash
    - ValueFromAmount
    - vout::size
    - scriptWitness::IsNull
    - UniValue::reserve
    - UniValue::pushKV
    - IsNull
    - vin::size
    - GetTransactionWeight
    - IsCoinBase
    - GetTotalSize
    - EncodeHexTx
    - HexStr
    - MoneyRange
    linkageType: ''
    returnType: void
    signature: void TxToUniv(const CTransaction& tx, const uint256& block_hash, UniValue&
      entry, bool include_hex, const CTxUndo* txundo, TxVerbosity verbosity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: uint_error::uint_error
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint_error(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: base_uint::base_uint
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_uint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: base_uint::base_uint
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_uint(const base_uint& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: '& operator=(const base_uint& b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator=(const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: base_uint::base_uint
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_uint(uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: operator~() const
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator~() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: operator-() const
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator-() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: '& operator=(uint64_t b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator=(uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: '& operator^=(const base_uint& b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator^=(const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: '& operator&=(const base_uint& b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator&=(const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: '& operator|=(const base_uint& b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator|=(const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '& operator^=(uint64_t b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator^=(uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '& operator|=(uint64_t b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator|=(uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: '& operator+=(const base_uint& b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator+=(const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: '& operator-=(const base_uint& b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator-=(const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b64
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: '& operator+=(uint64_t b64)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator+=(uint64_t b64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b64
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: '& operator-=(uint64_t b64)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator-=(uint64_t b64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: '& operator++()'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: operator++(int)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/arith_uint256.h:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: '& operator--()'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: operator--(int)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: operator+(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator+(const base_uint& a, const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: operator-(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator-(const base_uint& a, const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: operator*(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator*(const base_uint& a, const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: operator/(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator/(const base_uint& a, const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: operator|(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator|(const base_uint& a, const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: operator&(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator&(const base_uint& a, const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: operator^(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator^(const base_uint& a, const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - shift
    argTypes:
    - base_uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: operator>>(const base_uint& a, int shift)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator>>(const base_uint& a, int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - shift
    argTypes:
    - base_uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: operator<<(const base_uint& a, int shift)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator<<(const base_uint& a, int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/bitcoin-core/src/arith_uint256.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - base_uint
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: operator*(const base_uint& a, uint32_t b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator*(const base_uint& a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/arith_uint256.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: operator==(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const base_uint& a, const base_uint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareTo
      Src: /src/bitcoin-core/src/arith_uint256.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: operator<=>(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - CompareTo
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering operator<=>(const base_uint& a, const base_uint&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EqualTo
      Src: /src/bitcoin-core/src/arith_uint256.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - base_uint
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: operator==(const base_uint& a, uint64_t b)
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached:
    - EqualTo
    linkageType: ''
    returnType: bool
    signature: bool operator==(const base_uint& a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: base_uint::size
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: base_uint::GetLow64
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetLow64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint<256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256(const base_uint<256>& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256(uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: CuckooCache::bit_packed_atomic_flags::bit_packed_atomic_flags
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bit_packed_atomic_flags()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/cuckoocache.h:67,1
    - Dst: std::atomic<uint8_t>::atomic<uint8_t>
      Src: /src/bitcoin-core/src/cuckoocache.h:67,1
    - Dst: store
      Src: /src/bitcoin-core/src/cuckoocache.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: CuckooCache::bit_packed_atomic_flags::bit_packed_atomic_flags
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - std::atomic<uint8_t>::atomic<uint8_t>
    - reset
    - store
    linkageType: ''
    returnType: void
    signature: void bit_packed_atomic_flags(uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/bitcoin-core/src/cuckoocache.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: CuckooCache::bit_packed_atomic_flags::setup
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void setup(uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_or
      Src: /src/bitcoin-core/src/cuckoocache.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: CuckooCache::bit_packed_atomic_flags::bit_set
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - fetch_or
    linkageType: ''
    returnType: void
    signature: void bit_set(uint32_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_and
      Src: /src/bitcoin-core/src/cuckoocache.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: CuckooCache::bit_packed_atomic_flags::bit_unset
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - fetch_and
    linkageType: ''
    returnType: void
    signature: void bit_unset(uint32_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/cuckoocache.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: CuckooCache::bit_packed_atomic_flags::bit_is_set
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool bit_is_set(uint32_t s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:242,1
    - Dst: template operator()<0>
      Src: /src/bitcoin-core/src/cuckoocache.h:242,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:243,1
    - Dst: template operator()<1>
      Src: /src/bitcoin-core/src/cuckoocache.h:243,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:244,1
    - Dst: template operator()<2>
      Src: /src/bitcoin-core/src/cuckoocache.h:244,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:245,1
    - Dst: template operator()<3>
      Src: /src/bitcoin-core/src/cuckoocache.h:245,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:246,1
    - Dst: template operator()<4>
      Src: /src/bitcoin-core/src/cuckoocache.h:246,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:247,1
    - Dst: template operator()<5>
      Src: /src/bitcoin-core/src/cuckoocache.h:247,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:248,1
    - Dst: template operator()<6>
      Src: /src/bitcoin-core/src/cuckoocache.h:248,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:249,1
    - Dst: template operator()<7>
      Src: /src/bitcoin-core/src/cuckoocache.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: CuckooCache::cache::compute_hashes
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - template operator()<4>
    - template operator()<6>
    - template operator()<3>
    - template operator()<0>
    - template operator()<2>
    - template operator()<1>
    - FastRange32
    - template operator()<5>
    - template operator()<7>
    linkageType: ''
    returnType: std::array<uint32_t, 8>
    signature: std::array<uint32_t, 8> compute_hashes(const Element& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: CuckooCache::cache::invalid
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_set
      Src: /src/bitcoin-core/src/cuckoocache.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: CuckooCache::cache::allow_erase
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - bit_set
    linkageType: ''
    returnType: void
    signature: void allow_erase(uint32_t n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_unset
      Src: /src/bitcoin-core/src/cuckoocache.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: CuckooCache::cache::please_keep
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - bit_unset
    linkageType: ''
    returnType: void
    signature: void please_keep(uint32_t n) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bit_is_set
      Src: /src/bitcoin-core/src/cuckoocache.h:297,1
    - Dst: CuckooCache::cache::allow_erase
      Src: /src/bitcoin-core/src/cuckoocache.h:307,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/cuckoocache.h:316,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/cuckoocache.h:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: CuckooCache::cache::epoch_check
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - std::max
    - CuckooCache::cache::allow_erase
    - bit_is_set
    linkageType: ''
    returnType: void
    signature: void epoch_check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: CuckooCache::cache::cache
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<uint32_t>
      Src: /src/bitcoin-core/src/cuckoocache.h:339,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/cuckoocache.h:340,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/cuckoocache.h:340,1
    - Dst: static_cast<float>
      Src: /src/bitcoin-core/src/cuckoocache.h:340,1
    - Dst: resize
      Src: /src/bitcoin-core/src/cuckoocache.h:341,1
    - Dst: CuckooCache::cache::setup
      Src: /src/bitcoin-core/src/cuckoocache.h:342,1
    - Dst: resize
      Src: /src/bitcoin-core/src/cuckoocache.h:343,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/cuckoocache.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 349
    functionName: CuckooCache::cache::setup
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 1
    functionsReached:
    - std::max<uint32_t>
    - CuckooCache::cache::setup
    - std::log2
    - static_cast<uint8_t>
    - std::max
    - static_cast<float>
    - resize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t setup(uint32_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/cuckoocache.h:366,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/cuckoocache.h:368,1
    - Dst: CuckooCache::cache::setup
      Src: /src/bitcoin-core/src/cuckoocache.h:370,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/cuckoocache.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: CuckooCache::cache::setup_bytes
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - RandomMixin::max
    - std::min<size_t>
    - CuckooCache::cache::setup
    linkageType: ''
    returnType: std::pair<uint32_t, size_t>
    signature: std::pair<uint32_t, size_t> setup_bytes(size_t bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CuckooCache::cache::epoch_check
      Src: /src/bitcoin-core/src/cuckoocache.h:399,1
    - Dst: CuckooCache::cache::invalid
      Src: /src/bitcoin-core/src/cuckoocache.h:400,1
    - Dst: CuckooCache::cache::compute_hashes
      Src: /src/bitcoin-core/src/cuckoocache.h:402,1
    - Dst: CuckooCache::cache::please_keep
      Src: /src/bitcoin-core/src/cuckoocache.h:407,1
    - Dst: bit_is_set
      Src: /src/bitcoin-core/src/cuckoocache.h:414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cuckoocache.h:416,1
    - Dst: CuckooCache::cache::please_keep
      Src: /src/bitcoin-core/src/cuckoocache.h:417,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/cuckoocache.h:435,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/cuckoocache.h:435,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/cuckoocache.h:435,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/cuckoocache.h:435,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cuckoocache.h:436,1
    - Dst: CuckooCache::cache::compute_hashes
      Src: /src/bitcoin-core/src/cuckoocache.h:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - e
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 445
    functionName: CuckooCache::cache::insert
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - CuckooCache::cache::epoch_check
    - CuckooCache::cache::please_keep
    - std::move
    - CuckooCache::cache::compute_hashes
    - swap
    - std::array::begin
    - std::find
    - CuckooCache::cache::invalid
    - std::array::end
    - bit_is_set
    linkageType: ''
    returnType: void
    signature: void insert(Element e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CuckooCache::cache::compute_hashes
      Src: /src/bitcoin-core/src/cuckoocache.h:476,1
    - Dst: CuckooCache::cache::allow_erase
      Src: /src/bitcoin-core/src/cuckoocache.h:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' e'
    - erase
    argTypes:
    - Element
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: CuckooCache::cache::contains
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - CuckooCache::cache::allow_erase
    - CuckooCache::cache::compute_hashes
    linkageType: ''
    returnType: bool
    signature: bool contains(const Element& e, const bool erase) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: CuckooCache::bit_packed_atomic_flags::bit_packed_atomic_flags
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bit_packed_atomic_flags()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/cuckoocache.h:67,1
    - Dst: std::atomic<uint8_t>::atomic<uint8_t>
      Src: /src/bitcoin-core/src/cuckoocache.h:67,1
    - Dst: store
      Src: /src/bitcoin-core/src/cuckoocache.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: CuckooCache::bit_packed_atomic_flags::bit_packed_atomic_flags
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - std::atomic<uint8_t>::atomic<uint8_t>
    - reset
    - store
    linkageType: ''
    returnType: void
    signature: void bit_packed_atomic_flags(uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/bitcoin-core/src/cuckoocache.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: CuckooCache::bit_packed_atomic_flags::setup
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void setup(uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_or
      Src: /src/bitcoin-core/src/cuckoocache.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: CuckooCache::bit_packed_atomic_flags::bit_set
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - fetch_or
    linkageType: ''
    returnType: void
    signature: void bit_set(uint32_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_and
      Src: /src/bitcoin-core/src/cuckoocache.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: CuckooCache::bit_packed_atomic_flags::bit_unset
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - fetch_and
    linkageType: ''
    returnType: void
    signature: void bit_unset(uint32_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/cuckoocache.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: CuckooCache::bit_packed_atomic_flags::bit_is_set
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool bit_is_set(uint32_t s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:242,1
    - Dst: template operator()<0>
      Src: /src/bitcoin-core/src/cuckoocache.h:242,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:243,1
    - Dst: template operator()<1>
      Src: /src/bitcoin-core/src/cuckoocache.h:243,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:244,1
    - Dst: template operator()<2>
      Src: /src/bitcoin-core/src/cuckoocache.h:244,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:245,1
    - Dst: template operator()<3>
      Src: /src/bitcoin-core/src/cuckoocache.h:245,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:246,1
    - Dst: template operator()<4>
      Src: /src/bitcoin-core/src/cuckoocache.h:246,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:247,1
    - Dst: template operator()<5>
      Src: /src/bitcoin-core/src/cuckoocache.h:247,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:248,1
    - Dst: template operator()<6>
      Src: /src/bitcoin-core/src/cuckoocache.h:248,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/cuckoocache.h:249,1
    - Dst: template operator()<7>
      Src: /src/bitcoin-core/src/cuckoocache.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: CuckooCache::cache::compute_hashes
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 2
    functionsReached:
    - template operator()<4>
    - template operator()<6>
    - template operator()<3>
    - template operator()<0>
    - template operator()<2>
    - template operator()<1>
    - FastRange32
    - template operator()<5>
    - template operator()<7>
    linkageType: ''
    returnType: std::array<uint32_t, 8>
    signature: std::array<uint32_t, 8> compute_hashes(const Element& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: CuckooCache::cache::invalid
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_set
      Src: /src/bitcoin-core/src/cuckoocache.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: CuckooCache::cache::allow_erase
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 2
    functionsReached:
    - bit_set
    linkageType: ''
    returnType: void
    signature: void allow_erase(uint32_t n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_unset
      Src: /src/bitcoin-core/src/cuckoocache.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: CuckooCache::cache::please_keep
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 1
    functionsReached:
    - bit_unset
    linkageType: ''
    returnType: void
    signature: void please_keep(uint32_t n) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bit_is_set
      Src: /src/bitcoin-core/src/cuckoocache.h:297,1
    - Dst: CuckooCache::cache::allow_erase
      Src: /src/bitcoin-core/src/cuckoocache.h:307,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/cuckoocache.h:316,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/cuckoocache.h:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: CuckooCache::cache::epoch_check
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 1
    functionsReached:
    - std::max
    - CuckooCache::cache::allow_erase
    - bit_is_set
    linkageType: ''
    returnType: void
    signature: void epoch_check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: CuckooCache::cache::cache
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<uint32_t>
      Src: /src/bitcoin-core/src/cuckoocache.h:339,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/cuckoocache.h:340,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/cuckoocache.h:340,1
    - Dst: static_cast<float>
      Src: /src/bitcoin-core/src/cuckoocache.h:340,1
    - Dst: resize
      Src: /src/bitcoin-core/src/cuckoocache.h:341,1
    - Dst: CuckooCache::cache::setup
      Src: /src/bitcoin-core/src/cuckoocache.h:342,1
    - Dst: resize
      Src: /src/bitcoin-core/src/cuckoocache.h:343,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/cuckoocache.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 349
    functionName: CuckooCache::cache::setup
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 3
    functionsReached:
    - std::max<uint32_t>
    - CuckooCache::cache::setup
    - std::log2
    - static_cast<uint8_t>
    - std::max
    - static_cast<float>
    - resize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t setup(uint32_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/cuckoocache.h:366,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/cuckoocache.h:368,1
    - Dst: CuckooCache::cache::setup
      Src: /src/bitcoin-core/src/cuckoocache.h:370,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/cuckoocache.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: CuckooCache::cache::setup_bytes
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - RandomMixin::max
    - std::min<size_t>
    - CuckooCache::cache::setup
    linkageType: ''
    returnType: std::pair<uint32_t, size_t>
    signature: std::pair<uint32_t, size_t> setup_bytes(size_t bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CuckooCache::cache::epoch_check
      Src: /src/bitcoin-core/src/cuckoocache.h:399,1
    - Dst: CuckooCache::cache::invalid
      Src: /src/bitcoin-core/src/cuckoocache.h:400,1
    - Dst: CuckooCache::cache::compute_hashes
      Src: /src/bitcoin-core/src/cuckoocache.h:402,1
    - Dst: CuckooCache::cache::please_keep
      Src: /src/bitcoin-core/src/cuckoocache.h:407,1
    - Dst: bit_is_set
      Src: /src/bitcoin-core/src/cuckoocache.h:414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cuckoocache.h:416,1
    - Dst: CuckooCache::cache::please_keep
      Src: /src/bitcoin-core/src/cuckoocache.h:417,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/cuckoocache.h:435,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/cuckoocache.h:435,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/cuckoocache.h:435,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/cuckoocache.h:435,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cuckoocache.h:436,1
    - Dst: CuckooCache::cache::compute_hashes
      Src: /src/bitcoin-core/src/cuckoocache.h:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - e
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 445
    functionName: CuckooCache::cache::insert
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - CuckooCache::cache::epoch_check
    - CuckooCache::cache::please_keep
    - std::move
    - CuckooCache::cache::compute_hashes
    - swap
    - std::array::begin
    - std::find
    - CuckooCache::cache::invalid
    - std::array::end
    - bit_is_set
    linkageType: ''
    returnType: void
    signature: void insert(Element e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CuckooCache::cache::compute_hashes
      Src: /src/bitcoin-core/src/cuckoocache.h:476,1
    - Dst: CuckooCache::cache::allow_erase
      Src: /src/bitcoin-core/src/cuckoocache.h:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' e'
    - erase
    argTypes:
    - Element
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: CuckooCache::cache::contains
    functionSourceFile: /src/bitcoin-core/src/cuckoocache.h
    functionUses: 0
    functionsReached:
    - CuckooCache::cache::allow_erase
    - CuckooCache::cache::compute_hashes
    linkageType: ''
    returnType: bool
    signature: bool contains(const Element& e, const bool erase) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/key.cpp:40,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:77,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/key.cpp:78,1
    - Dst: memset
      Src: /src/bitcoin-core/src/key.cpp:79,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - out32
    - seckey
    - seckeylen
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 83
    functionName: ec_seckey_import_der
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - memset
    - secp256k1_ec_seckey_verify
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ec_seckey_import_der(const secp256k1_context* ctx, unsigned char
      *out32, const unsigned char *seckey, size_t seckeylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:96,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/key.cpp:99,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:119,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:120,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:121,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/key.cpp:123,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:126,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:145,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:146,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:147,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/key.cpp:149,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 5
    argNames:
    - ctx
    - seckey
    - seckeylen
    - key32
    - compressed
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - size_t*
    - unsigned char*
    - bool
    assertStmts:
    - condition: (*seckeylen >= CKey::SIZE)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (*seckeylen == CKey::COMPRESSED_SIZE)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (*seckeylen == CKey::SIZE)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 155
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 155
    functionName: ec_seckey_export_der
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - assert
    - secp256k1_ec_pubkey_create
    - secp256k1_ec_pubkey_serialize
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ec_seckey_export_der(const secp256k1_context *ctx, unsigned char
      *seckey, size_t *seckeylen, const unsigned char *key32, bool compressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/key.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vch
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: CKey::Check
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 1
    functionsReached:
    - secp256k1_ec_seckey_verify
    linkageType: ''
    returnType: bool
    signature: bool CKey::Check(const unsigned char *vch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::MakeKeyData
      Src: /src/bitcoin-core/src/key.cpp:162,1
    - Dst: GetStrongRandBytes
      Src: /src/bitcoin-core/src/key.cpp:164,1
    - Dst: CKey::Check
      Src: /src/bitcoin-core/src/key.cpp:165,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fCompressedIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: CKey::MakeNewKey
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - CKey::MakeKeyData
    - CKey::data
    - CKey::Check
    - GetStrongRandBytes
    linkageType: ''
    returnType: void
    signature: void CKey::MakeNewKey(bool fCompressedIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:170,1
    - Dst: CPrivKey::resize
      Src: /src/bitcoin-core/src/key.cpp:174,1
    - Dst: ec_seckey_export_der
      Src: /src/bitcoin-core/src/key.cpp:176,1
    - Dst: CPrivKey::data
      Src: /src/bitcoin-core/src/key.cpp:176,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:176,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:176,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:177,1
    - Dst: CPrivKey::resize
      Src: /src/bitcoin-core/src/key.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (keydata)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ret)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: CKey::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - CPrivKey::data
    - UCharCast
    - ec_seckey_export_der
    - CKey::begin
    - CPrivKey::resize
    - assert
    linkageType: ''
    returnType: CPrivKey
    signature: CPrivKey CKey::GetPrivKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:183,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/key.cpp:186,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/key.cpp:187,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:187,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:187,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:188,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/key.cpp:189,1
    - Dst: CPubKey::begin
      Src: /src/bitcoin-core/src/key.cpp:189,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:190,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/key.cpp:190,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:191,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/key.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (keydata)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ret)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (result.size() == clen)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (result.IsValid())
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: CKey::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - UCharCast
    - secp256k1_ec_pubkey_create
    - CPubKey::size
    - CPubKey::IsValid
    - secp256k1_ec_pubkey_serialize
    - CPubKey::CPubKey
    - CKey::begin
    - assert
    - CPubKey::begin
    linkageType: ''
    returnType: CPubKey
    signature: CPubKey CKey::GetPubKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/bitcoin-core/src/key.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: SigHasLowR
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_signature_serialize_compact
    linkageType: ''
    returnType: bool
    signature: bool SigHasLowR(const secp256k1_ecdsa_signature* sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/key.cpp:211,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/key.cpp:214,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/key.cpp:217,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/key.cpp:217,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:217,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:217,1
    - Dst: SigHasLowR
      Src: /src/bitcoin-core/src/key.cpp:220,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/key.cpp:221,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/key.cpp:222,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/key.cpp:222,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:222,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:222,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:224,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/key.cpp:225,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.cpp:225,1
    - Dst: resize
      Src: /src/bitcoin-core/src/key.cpp:226,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/key.cpp:229,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:229,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:229,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:230,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/key.cpp:231,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/key.cpp:231,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - hash
    - ' vchSig'
    - grind
    - test_case
    argTypes:
    - uint256
    - std::vector<unsigned char>
    - bool
    - uint32_t
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ret)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ret)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: CKey::Sign
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_signature_serialize_der
    - UCharCast
    - secp256k1_ec_pubkey_create
    - uint256::begin
    - secp256k1_ecdsa_sign
    - CKey::begin
    - SigHasLowR
    - WriteLE32
    - CKey::data
    - assert
    - resize
    - secp256k1_ecdsa_verify
    linkageType: ''
    returnType: bool
    signature: bool CKey::Sign(const uint256 &hash, std::vector<unsigned char>& vchSig,
      bool grind, uint32_t test_case) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/key.cpp:237,1
    - Dst: GetRandBytes
      Src: /src/bitcoin-core/src/key.cpp:242,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/key.cpp:243,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/key.cpp:245,1
    - Dst: Verify
      Src: /src/bitcoin-core/src/key.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: CKey::VerifyPubKey
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - CKey::IsCompressed
    - CKey::Sign
    - Hash
    - GetRandBytes
    - Verify
    linkageType: ''
    returnType: bool
    signature: bool CKey::VerifyPubKey(const CPubKey& pubkey) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/key.cpp:252,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/key.cpp:255,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/key.cpp:255,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:255,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:255,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:256,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/bitcoin-core/src/key.cpp:257,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:258,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:259,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/key.cpp:263,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:263,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:263,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:264,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/key.cpp:265,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/key.cpp:265,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:266,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/key.cpp:267,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - hash
    - ' vchSig'
    argTypes:
    - uint256
    - std::vector<unsigned char>
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ret)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (rec != -1)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ret)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ret)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ret == 0)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 270
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 270
    functionName: CKey::SignCompact
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - UCharCast
    - secp256k1_ec_pubkey_create
    - uint256::begin
    - secp256k1_ecdsa_recoverable_signature_serialize_compact
    - secp256k1_ecdsa_recover
    - CKey::begin
    - secp256k1_ec_pubkey_cmp
    - secp256k1_ecdsa_sign_recoverable
    - assert
    - resize
    linkageType: ''
    returnType: bool
    signature: bool CKey::SignCompact(const uint256 &hash, std::vector<unsigned char>&
      vchSig) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::ComputeKeyPair
      Src: /src/bitcoin-core/src/key.cpp:274,1
    - Dst: KeyPair::SignSchnorr
      Src: /src/bitcoin-core/src/key.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' hash'
    - sig
    - merkle_root
    - ' aux'
    argTypes:
    - uint256
    - std::span<unsigned char>
    - uint256*
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: CKey::SignSchnorr
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - CKey::ComputeKeyPair
    - KeyPair::SignSchnorr
    linkageType: ''
    returnType: bool
    signature: bool CKey::SignSchnorr(const uint256& hash, std::span<unsigned char>
      sig, const uint256* merkle_root, const uint256& aux) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CKey::MakeKeyData
      Src: /src/bitcoin-core/src/key.cpp:279,1
    - Dst: ec_seckey_import_der
      Src: /src/bitcoin-core/src/key.cpp:280,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:280,1
    - Dst: CPrivKey::data
      Src: /src/bitcoin-core/src/key.cpp:280,1
    - Dst: CPrivKey::size
      Src: /src/bitcoin-core/src/key.cpp:280,1
    - Dst: CKey::ClearKeyData
      Src: /src/bitcoin-core/src/key.cpp:281,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/key.cpp:284,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/key.cpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - seckey
    - vchPubKey
    argTypes:
    - CPrivKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: CKey::Load
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - CKey::ClearKeyData
    - CPrivKey::data
    - CKey::MakeKeyData
    - ec_seckey_import_der
    - CKey::begin
    - CKey::VerifyPubKey
    - CPrivKey::size
    - CPubKey::IsCompressed
    linkageType: ''
    returnType: bool
    signature: bool CKey::Load(const CPrivKey &seckey, const CPubKey &vchPubKey, bool
      fSkipCheck=false)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:293,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/key.cpp:293,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:294,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/key.cpp:294,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/key.cpp:297,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:298,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/key.cpp:298,1
    - Dst: BIP32Hash
      Src: /src/bitcoin-core/src/key.cpp:299,1
    - Dst: CPubKey::begin
      Src: /src/bitcoin-core/src/key.cpp:299,1
    - Dst: CPubKey::begin
      Src: /src/bitcoin-core/src/key.cpp:299,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key.cpp:299,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:301,1
    - Dst: CKey::size
      Src: /src/bitcoin-core/src/key.cpp:301,1
    - Dst: BIP32Hash
      Src: /src/bitcoin-core/src/key.cpp:302,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:302,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:302,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key.cpp:302,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:304,1
    - Dst: ChainCode::begin
      Src: /src/bitcoin-core/src/key.cpp:304,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key.cpp:304,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/key.cpp:305,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:305,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:305,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/key.cpp:306,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/key.cpp:306,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key.cpp:306,1
    - Dst: CKey::ClearKeyData
      Src: /src/bitcoin-core/src/key.cpp:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ' keyChild'
    - ccChild
    - nChild
    - ' cc'
    argTypes:
    - CKey
    - ChainCode
    - unsigned int
    - ChainCode
    assertStmts:
    - condition: (IsCompressed())
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (IsValid())
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (pubkey.size() == CPubKey::COMPRESSED_SIZE)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (size() == 32)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: CKey::Derive
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - CKey::IsCompressed
    - CKey::ClearKeyData
    - UCharCast
    - CPubKey::size
    - std::vector::data
    - CKey::size
    - CKey::Set
    - memcpy
    - CKey::begin
    - BIP32Hash
    - secp256k1_ec_seckey_tweak_add
    - ChainCode::begin
    - CKey::GetPubKey
    - assert
    - CPubKey::begin
    - CKey::IsValid
    linkageType: ''
    returnType: bool
    signature: bool CKey::Derive(CKey& keyChild, ChainCode &ccChild, unsigned int
      nChild, const ChainCode& cc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:313,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:314,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/key.cpp:314,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/key.cpp:317,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:318,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/key.cpp:318,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.cpp:319,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:320,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/key.cpp:320,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ent32
    argTypes:
    - std::span<const std::byte>
    assertStmts:
    - condition: (keydata)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ent32.size() == 32)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (success)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 325
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 325
    functionName: CKey::EllSwiftCreate
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - UCharCast
    - std::span<const std::byte>::data
    - std::span<const std::byte>::size
    - std::array::data
    - CKey::data
    - secp256k1_ellswift_create
    - assert
    linkageType: ''
    returnType: EllSwiftPubKey
    signature: EllSwiftPubKey CKey::EllSwiftCreate(std::span<const std::byte> ent32)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:329,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/key.cpp:334,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:335,1
    - Dst: ECDHSecret::data
      Src: /src/bitcoin-core/src/key.cpp:335,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:336,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.cpp:336,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.cpp:336,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:337,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.cpp:337,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.cpp:337,1
    - Dst: CKey::data
      Src: /src/bitcoin-core/src/key.cpp:338,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' their_ellswift'
    - ' our_ellswift'
    - initiating
    argTypes:
    - EllSwiftPubKey
    - EllSwiftPubKey
    - bool
    assertStmts:
    - condition: (keydata)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (success)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: CKey::ComputeBIP324ECDHSecret
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - UCharCast
    - secp256k1_ellswift_xdh
    - ECDHSecret::data
    - CKey::data
    - assert
    linkageType: ''
    returnType: ECDHSecret
    signature: ECDHSecret CKey::ComputeBIP324ECDHSecret(const EllSwiftPubKey& their_ellswift,
      const EllSwiftPubKey& our_ellswift, bool initiating) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyPair
      Src: /src/bitcoin-core/src/key.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - merkle_root
    argTypes:
    - uint256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: CKey::ComputeKeyPair
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 1
    functionsReached:
    - KeyPair
    linkageType: ''
    returnType: KeyPair
    signature: KeyPair CKey::ComputeKeyPair(const uint256* merkle_root) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/key.cpp:354,1
    - Dst: CKey::MakeNewKey
      Src: /src/bitcoin-core/src/key.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - compressed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: GenerateRandomKey
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - CKey::MakeNewKey
    - CKey::CKey
    linkageType: ''
    returnType: CKey
    signature: CKey GenerateRandomKey(bool compressed) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/key.cpp:360,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/key.cpp:362,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:363,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/key.cpp:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - _nChild
    argTypes:
    - CExtKey
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: CExtKey::Derive
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 1
    functionsReached:
    - GetPubKey
    - CExtKey::Derive
    - RandomMixin::max
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool CExtKey::Derive(CExtKey &out, unsigned int _nChild) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/key.cpp:372,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:372,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/key.cpp:372,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/key.cpp:372,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key.cpp:372,1
    - Dst: Set
      Src: /src/bitcoin-core/src/key.cpp:373,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key.cpp:373,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key.cpp:373,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:374,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key.cpp:374,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key.cpp:374,1
    - Dst: memset
      Src: /src/bitcoin-core/src/key.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: CExtKey::SetSeed
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - UCharCast
    - std::span<const std::byte>::data
    - std::vector::data
    - std::span<const std::byte>::size
    - memcpy
    - memset
    - Set
    - Write
    - begin
    linkageType: ''
    returnType: void
    signature: void CExtKey::SetSeed(std::span<const std::byte> seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:383,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/key.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 388
    functionName: CExtKey::Neuter
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - GetPubKey
    - memcpy
    linkageType: ''
    returnType: CExtPubKey
    signature: CExtPubKey CExtKey::Neuter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:392,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/key.cpp:393,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:394,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key.cpp:394,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:396,1
    - Dst: size
      Src: /src/bitcoin-core/src/key.cpp:396,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:397,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - code
    argTypes:
    - unsigned char[]
    assertStmts:
    - condition: (key.size() == 32)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: CExtKey::Encode
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcpy
    - assert
    - begin
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void CExtKey::Encode(unsigned char code[BIP32_EXTKEY_SIZE]) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:402,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/key.cpp:403,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/key.cpp:404,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key.cpp:404,1
    - Dst: Set
      Src: /src/bitcoin-core/src/key.cpp:405,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/key.cpp:406,1
    - Dst: CKey
      Src: /src/bitcoin-core/src/key.cpp:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - code
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: CExtKey::Decode
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - ReadBE32
    - memcpy
    - Set
    - CKey
    - begin
    linkageType: ''
    returnType: void
    signature: void CExtKey::Decode(const unsigned char code[BIP32_EXTKEY_SIZE])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::tuple_size<KeyType>
      Src: /src/bitcoin-core/src/key.cpp:411,1
    - Dst: KeyPair::MakeKeyPairData
      Src: /src/bitcoin-core/src/key.cpp:412,1
    - Dst: reinterpret_cast<secp256k1_keypair*>
      Src: /src/bitcoin-core/src/key.cpp:413,1
    - Dst: data
      Src: /src/bitcoin-core/src/key.cpp:413,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/key.cpp:414,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key.cpp:414,1
    - Dst: data
      Src: /src/bitcoin-core/src/key.cpp:414,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:418,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/key.cpp:418,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:419,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/key.cpp:419,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/key.cpp:420,1
    - Dst: uint256*::IsNull
      Src: /src/bitcoin-core/src/key.cpp:420,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/key.cpp:421,1
    - Dst: uint256::data
      Src: /src/bitcoin-core/src/key.cpp:421,1
    - Dst: KeyPair::ClearKeyPairData
      Src: /src/bitcoin-core/src/key.cpp:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - merkle_root
    argTypes:
    - CKey
    - uint256*
    assertStmts:
    - condition: (secp256k1_keypair_xonly_pub(secp256k1_context_sign, &pubkey, nullptr,
        keypair))
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (secp256k1_xonly_pubkey_serialize(secp256k1_context_sign, pubkey_bytes,
        &pubkey))
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: KeyPair::KeyPair
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - UCharCast
    - secp256k1_xonly_pubkey_serialize
    - assert
    - secp256k1_keypair_xonly_pub
    - uint256*::IsNull
    - reinterpret_cast<secp256k1_keypair*>
    - secp256k1_keypair_xonly_tweak_add
    - data
    - XOnlyPubKey
    - KeyPair::ClearKeyPairData
    - secp256k1_keypair_create
    - std::tuple_size<KeyType>
    - uint256::data
    - KeyPair::MakeKeyPairData
    linkageType: ''
    returnType: void
    signature: void KeyPair::KeyPair(const CKey& key, const uint256* merkle_root)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:428,1
    - Dst: std::span<unsigned char>::size
      Src: /src/bitcoin-core/src/key.cpp:428,1
    - Dst: KeyPair::IsValid
      Src: /src/bitcoin-core/src/key.cpp:429,1
    - Dst: reinterpret_cast<const secp256k1_keypair*>
      Src: /src/bitcoin-core/src/key.cpp:430,1
    - Dst: data
      Src: /src/bitcoin-core/src/key.cpp:430,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/key.cpp:431,1
    - Dst: std::span<unsigned char>::data
      Src: /src/bitcoin-core/src/key.cpp:431,1
    - Dst: data
      Src: /src/bitcoin-core/src/key.cpp:431,1
    - Dst: data
      Src: /src/bitcoin-core/src/key.cpp:431,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/key.cpp:435,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/key.cpp:436,1
    - Dst: std::span<unsigned char>::data
      Src: /src/bitcoin-core/src/key.cpp:436,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key.cpp:436,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/key.cpp:438,1
    - Dst: std::span<unsigned char>::data
      Src: /src/bitcoin-core/src/key.cpp:438,1
    - Dst: std::span<unsigned char>::size
      Src: /src/bitcoin-core/src/key.cpp:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' hash'
    - sig
    - ' aux'
    argTypes:
    - uint256
    - std::span<unsigned char>
    - uint256
    assertStmts:
    - condition: (sig.size() == 64)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: KeyPair::SignSchnorr
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 1
    functionsReached:
    - std::span<unsigned char>::data
    - KeyPair::IsValid
    - memory_cleanse
    - secp256k1_keypair_xonly_pub
    - begin
    - secp256k1_schnorrsig_verify
    - data
    - reinterpret_cast<const secp256k1_keypair*>
    - std::span<unsigned char>::size
    - assert
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: bool
    signature: bool KeyPair::SignSchnorr(const uint256& hash, std::span<unsigned char>
      sig, const uint256& aux) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/key.cpp:443,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/key.cpp:444,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/key.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: ECC_InitSanityCheck
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - CKey::VerifyPubKey
    - CKey::GetPubKey
    - GenerateRandomKey
    linkageType: ''
    returnType: bool
    signature: bool ECC_InitSanityCheck()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:450,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/key.cpp:452,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:453,1
    - Dst: GetRandBytes
      Src: /src/bitcoin-core/src/key.cpp:458,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/key.cpp:459,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key.cpp:459,1
    - Dst: assert
      Src: /src/bitcoin-core/src/key.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (secp256k1_context_sign == nullptr)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ctx != nullptr)
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/bitcoin-core/src/key.cpp
    - condition: (ret)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/bitcoin-core/src/key.cpp
    constantsTouched: []
    func_position:
      end: 464
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 464
    functionName: ECC_Start
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - secp256k1_context_create
    - GetRandBytes
    - secp256k1_context_randomize
    - assert
    linkageType: ''
    returnType: void
    signature: void ECC_Start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/key.cpp:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: ECC_Stop
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_context_destroy
    linkageType: ''
    returnType: void
    signature: void ECC_Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECC_Start
      Src: /src/bitcoin-core/src/key.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: ECC_Context::ECC_Context
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - ECC_Start
    linkageType: ''
    returnType: void
    signature: void ECC_Context::ECC_Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECC_Stop
      Src: /src/bitcoin-core/src/key.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: ECC_Context::~ECC_Context()
    functionSourceFile: /src/bitcoin-core/src/key.cpp
    functionUses: 0
    functionsReached:
    - ECC_Stop
    linkageType: ''
    returnType: void
    signature: void ECC_Context::~ECC_Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - CChainParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: DestinationEncoder::DestinationEncoder
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DestinationEncoder(const CChainParams& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Base58Prefix
      Src: /src/bitcoin-core/src/key_io.cpp:32,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/key_io.cpp:33,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:33,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:33,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:33,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: operator()(const PKHash& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - EncodeBase58Check
    - std::vector::insert
    - Base58Prefix
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const PKHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Base58Prefix
      Src: /src/bitcoin-core/src/key_io.cpp:39,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/key_io.cpp:40,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:40,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:40,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:40,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: operator()(const ScriptHash& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - EncodeBase58Check
    - std::vector::insert
    - Base58Prefix
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const ScriptHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:47,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:48,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:48,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:48,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/key_io.cpp:49,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: operator()(const WitnessV0KeyHash& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::reserve
    - std::vector::push_back
    - bech32::Encode
    - ConvertBits
    - begin
    - Bech32HRP
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const WitnessV0KeyHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:55,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:56,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:56,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:56,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/key_io.cpp:57,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: operator()(const WitnessV0ScriptHash& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::reserve
    - std::vector::push_back
    - bech32::Encode
    - ConvertBits
    - begin
    - Bech32HRP
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const WitnessV0ScriptHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:63,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:64,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:64,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:64,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:64,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/key_io.cpp:65,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' tap'
    argTypes:
    - WitnessV1Taproot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: operator()(const WitnessV1Taproot& tap) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::reserve
    - std::vector::push_back
    - bech32::Encode
    - ConvertBits
    - begin
    - Bech32HRP
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const WitnessV1Taproot& tap) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessProgram
      Src: /src/bitcoin-core/src/key_io.cpp:70,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/key_io.cpp:71,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/key_io.cpp:71,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:71,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:71,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/key_io.cpp:74,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:75,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:75,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:76,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:76,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:76,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:76,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/key_io.cpp:77,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: operator()(const WitnessUnknown& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - GetWitnessVersion
    - std::vector::reserve
    - size
    - std::vector::push_back
    - GetWitnessProgram
    - bech32::Encode
    - ConvertBits
    - begin
    - Bech32HRP
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const WitnessUnknown& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' no'
    argTypes:
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: operator()(const CNoDestination& no) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const CNoDestination& no) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pk'
    argTypes:
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: operator()(const PubKeyDestination& pk) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const PubKeyDestination& pk) const
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/key_io.cpp:87,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/key_io.cpp:91,1
    - Dst: substr
      Src: /src/bitcoin-core/src/key_io.cpp:91,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:91,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:91,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:93,1
    - Dst: Base58Prefix
      Src: /src/bitcoin-core/src/key_io.cpp:97,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: uint160::size
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/key_io.cpp:100,1
    - Dst: Base58Prefix
      Src: /src/bitcoin-core/src/key_io.cpp:104,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: uint160::size
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/key_io.cpp:107,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:111,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:111,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:112,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:112,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:112,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:112,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:113,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:113,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:114,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:114,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:114,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:119,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/key_io.cpp:122,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:127,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/key_io.cpp:130,1
    - Dst: bech32::Decode
      Src: /src/bitcoin-core/src/key_io.cpp:131,1
    - Dst: auto::data::empty
      Src: /src/bitcoin-core/src/key_io.cpp:133,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:135,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:138,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/key_io.cpp:139,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:139,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:140,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:145,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:149,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:152,1
    - Dst: auto::data::size
      Src: /src/bitcoin-core/src/key_io.cpp:152,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:153,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:153,1
    - Dst: auto::data::begin
      Src: /src/bitcoin-core/src/key_io.cpp:153,1
    - Dst: auto::data::end
      Src: /src/bitcoin-core/src/key_io.cpp:153,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:155,1
    - Dst: WitnessV0KeyHash::WitnessV0KeyHash
      Src: /src/bitcoin-core/src/key_io.cpp:159,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:160,1
    - Dst: WitnessV0KeyHash::size
      Src: /src/bitcoin-core/src/key_io.cpp:160,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:161,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:161,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:161,1
    - Dst: WitnessV0KeyHash::begin
      Src: /src/bitcoin-core/src/key_io.cpp:161,1
    - Dst: WitnessV0ScriptHash::WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/key_io.cpp:166,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:167,1
    - Dst: WitnessV0ScriptHash::size
      Src: /src/bitcoin-core/src/key_io.cpp:167,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:168,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:168,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:168,1
    - Dst: WitnessV0ScriptHash::begin
      Src: /src/bitcoin-core/src/key_io.cpp:168,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/key_io.cpp:173,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:173,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:174,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:177,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/key_io.cpp:178,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:180,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:180,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:180,1
    - Dst: WitnessV1Taproot::begin
      Src: /src/bitcoin-core/src/key_io.cpp:180,1
    - Dst: CScript::IsPayToAnchor
      Src: /src/bitcoin-core/src/key_io.cpp:184,1
    - Dst: PayToAnchor
      Src: /src/bitcoin-core/src/key_io.cpp:185,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:190,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:193,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:193,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/key_io.cpp:194,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:194,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:195,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/key_io.cpp:200,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:201,1
    - Dst: bech32::LocateErrors
      Src: /src/bitcoin-core/src/key_io.cpp:206,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/key_io.cpp:208,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:209,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 4
    argNames:
    - ' str'
    - ' params'
    - ' error_str'
    - error_locations
    argTypes:
    - std::string
    - CChainParams
    - std::string
    - std::vector<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 210
    functionName: DecodeDestination
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - substr
    - std::copy
    - WitnessV0KeyHash::WitnessV0KeyHash
    - auto::data::end
    - ToLower
    - std::move
    - std::vector::push_back
    - PayToAnchor
    - bech32::Decode
    - secp256k1_strauss_scratch_size
    - Bech32HRP
    - WitnessV1Taproot::begin
    - std::vector::end
    - ScriptHash
    - DecodeBase58
    - uint160::begin
    - bech32::LocateErrors
    - std::vector::reserve
    - auto::data::begin
    - WitnessV0ScriptHash::begin
    - uint160::size
    - PKHash
    - std::vector::size
    - ConvertBits
    - DecodeBase58Check
    - WitnessV0KeyHash::size
    - WitnessV0ScriptHash::WitnessV0ScriptHash
    - Base58Prefix
    - std::vector::clear
    - strprintf
    - std::equal
    - end
    - CNoDestination
    - WitnessV0ScriptHash::size
    - CScript::IsPayToAnchor
    - size
    - std::vector::begin
    - auto::data::size
    - auto::data::empty
    - WitnessV0KeyHash::begin
    - begin
    - uint160::uint160
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination DecodeDestination(const std::string& str, const CChainParams&
      params, std::string& error_str, std::vector<int>* error_locations)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - CChainParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: DestinationEncoder::DestinationEncoder
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DestinationEncoder(const CChainParams& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Base58Prefix
      Src: /src/bitcoin-core/src/key_io.cpp:32,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/key_io.cpp:33,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:33,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:33,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:33,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: operator()(const PKHash& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - EncodeBase58Check
    - std::vector::insert
    - Base58Prefix
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const PKHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Base58Prefix
      Src: /src/bitcoin-core/src/key_io.cpp:39,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/key_io.cpp:40,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:40,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:40,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:40,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: operator()(const ScriptHash& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - EncodeBase58Check
    - std::vector::insert
    - Base58Prefix
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const ScriptHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:47,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:48,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:48,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:48,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/key_io.cpp:49,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: operator()(const WitnessV0KeyHash& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::reserve
    - std::vector::push_back
    - bech32::Encode
    - ConvertBits
    - begin
    - Bech32HRP
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const WitnessV0KeyHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:55,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:56,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:56,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:56,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/key_io.cpp:57,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: operator()(const WitnessV0ScriptHash& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::reserve
    - std::vector::push_back
    - bech32::Encode
    - ConvertBits
    - begin
    - Bech32HRP
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const WitnessV0ScriptHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:63,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:64,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:64,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:64,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:64,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/key_io.cpp:65,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' tap'
    argTypes:
    - WitnessV1Taproot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: operator()(const WitnessV1Taproot& tap) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::reserve
    - std::vector::push_back
    - bech32::Encode
    - ConvertBits
    - begin
    - Bech32HRP
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const WitnessV1Taproot& tap) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessProgram
      Src: /src/bitcoin-core/src/key_io.cpp:70,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/key_io.cpp:71,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/key_io.cpp:71,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:71,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:71,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/key_io.cpp:74,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:75,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:75,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:76,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:76,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:76,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:76,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/key_io.cpp:77,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: operator()(const WitnessUnknown& id) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - GetWitnessVersion
    - std::vector::reserve
    - size
    - std::vector::push_back
    - GetWitnessProgram
    - bech32::Encode
    - ConvertBits
    - begin
    - Bech32HRP
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const WitnessUnknown& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' no'
    argTypes:
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: operator()(const CNoDestination& no) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const CNoDestination& no) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pk'
    argTypes:
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: operator()(const PubKeyDestination& pk) const
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string operator()(const PubKeyDestination& pk) const
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/key_io.cpp:87,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/key_io.cpp:91,1
    - Dst: substr
      Src: /src/bitcoin-core/src/key_io.cpp:91,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:91,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:91,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:93,1
    - Dst: Base58Prefix
      Src: /src/bitcoin-core/src/key_io.cpp:97,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: uint160::size
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:98,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/key_io.cpp:99,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/key_io.cpp:100,1
    - Dst: Base58Prefix
      Src: /src/bitcoin-core/src/key_io.cpp:104,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: uint160::size
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:105,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/key_io.cpp:106,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/key_io.cpp:107,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:111,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:111,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:112,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:112,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:112,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:112,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:113,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:113,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:114,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:114,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:114,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:119,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/key_io.cpp:122,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:127,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/key_io.cpp:130,1
    - Dst: bech32::Decode
      Src: /src/bitcoin-core/src/key_io.cpp:131,1
    - Dst: auto::data::empty
      Src: /src/bitcoin-core/src/key_io.cpp:133,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:135,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:138,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/key_io.cpp:139,1
    - Dst: Bech32HRP
      Src: /src/bitcoin-core/src/key_io.cpp:139,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:140,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:145,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:149,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/key_io.cpp:152,1
    - Dst: auto::data::size
      Src: /src/bitcoin-core/src/key_io.cpp:152,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/key_io.cpp:153,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:153,1
    - Dst: auto::data::begin
      Src: /src/bitcoin-core/src/key_io.cpp:153,1
    - Dst: auto::data::end
      Src: /src/bitcoin-core/src/key_io.cpp:153,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:155,1
    - Dst: WitnessV0KeyHash::WitnessV0KeyHash
      Src: /src/bitcoin-core/src/key_io.cpp:159,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:160,1
    - Dst: WitnessV0KeyHash::size
      Src: /src/bitcoin-core/src/key_io.cpp:160,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:161,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:161,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:161,1
    - Dst: WitnessV0KeyHash::begin
      Src: /src/bitcoin-core/src/key_io.cpp:161,1
    - Dst: WitnessV0ScriptHash::WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/key_io.cpp:166,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:167,1
    - Dst: WitnessV0ScriptHash::size
      Src: /src/bitcoin-core/src/key_io.cpp:167,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:168,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:168,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:168,1
    - Dst: WitnessV0ScriptHash::begin
      Src: /src/bitcoin-core/src/key_io.cpp:168,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/key_io.cpp:173,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:173,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:174,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:177,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/key_io.cpp:178,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/key_io.cpp:180,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:180,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:180,1
    - Dst: WitnessV1Taproot::begin
      Src: /src/bitcoin-core/src/key_io.cpp:180,1
    - Dst: CScript::IsPayToAnchor
      Src: /src/bitcoin-core/src/key_io.cpp:184,1
    - Dst: PayToAnchor
      Src: /src/bitcoin-core/src/key_io.cpp:185,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:190,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:193,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:193,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/key_io.cpp:194,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:194,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:195,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/key_io.cpp:200,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:201,1
    - Dst: bech32::LocateErrors
      Src: /src/bitcoin-core/src/key_io.cpp:206,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/key_io.cpp:208,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/key_io.cpp:209,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 4
    argNames:
    - ' str'
    - ' params'
    - ' error_str'
    - error_locations
    argTypes:
    - std::string
    - CChainParams
    - std::string
    - std::vector<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 210
    functionName: DecodeDestination
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - substr
    - std::copy
    - WitnessV0KeyHash::WitnessV0KeyHash
    - auto::data::end
    - ToLower
    - std::move
    - std::vector::push_back
    - PayToAnchor
    - bech32::Decode
    - secp256k1_strauss_scratch_size
    - Bech32HRP
    - WitnessV1Taproot::begin
    - std::vector::end
    - ScriptHash
    - DecodeBase58
    - uint160::begin
    - bech32::LocateErrors
    - std::vector::reserve
    - auto::data::begin
    - WitnessV0ScriptHash::begin
    - uint160::size
    - PKHash
    - std::vector::size
    - ConvertBits
    - DecodeBase58Check
    - WitnessV0KeyHash::size
    - WitnessV0ScriptHash::WitnessV0ScriptHash
    - Base58Prefix
    - std::vector::clear
    - strprintf
    - std::equal
    - end
    - CNoDestination
    - WitnessV0ScriptHash::size
    - CScript::IsPayToAnchor
    - size
    - std::vector::begin
    - auto::data::size
    - auto::data::empty
    - WitnessV0KeyHash::begin
    - begin
    - uint160::uint160
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination DecodeDestination(const std::string& str, const CChainParams&
      params, std::string& error_str, std::vector<int>* error_locations)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/key_io.cpp:215,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:217,1
    - Dst: Params
      Src: /src/bitcoin-core/src/key_io.cpp:218,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:219,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:219,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:219,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:219,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/key_io.cpp:219,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:220,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:220,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:220,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:220,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:221,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:221,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/key_io.cpp:222,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:222,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:222,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:222,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:222,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/key_io.cpp:225,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/key_io.cpp:226,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key_io.cpp:226,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 229
    functionName: DecodeSecret
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - DecodeBase58Check
    - memory_cleanse
    - std::vector::data
    - std::vector::back
    - CKey::Set
    - size
    - CKey::CKey
    - std::vector::begin
    - Params
    - std::vector::empty
    - std::vector::size
    - begin
    - std::equal
    linkageType: ''
    returnType: CKey
    signature: CKey DecodeSecret(const std::string& str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/key_io.cpp:233,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/key_io.cpp:233,1
    - Dst: Params
      Src: /src/bitcoin-core/src/key_io.cpp:234,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/key_io.cpp:235,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/key_io.cpp:235,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key_io.cpp:235,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:235,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/key_io.cpp:235,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:235,1
    - Dst: IsCompressed
      Src: /src/bitcoin-core/src/key_io.cpp:236,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/key_io.cpp:237,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:239,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/key_io.cpp:240,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key_io.cpp:240,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CKey
    assertStmts:
    - condition: (key.IsValid())
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/bitcoin-core/src/key_io.cpp
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: EncodeSecret
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - UCharCast
    - EncodeBase58Check
    - memory_cleanse
    - std::vector::data
    - IsValid
    - std::vector::insert
    - std::vector::push_back
    - Params
    - IsCompressed
    - assert
    - std::vector::size
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeSecret(const CKey& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:248,1
    - Dst: Params
      Src: /src/bitcoin-core/src/key_io.cpp:249,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:250,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:250,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:250,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:250,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:250,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:250,1
    - Dst: CExtPubKey::Decode
      Src: /src/bitcoin-core/src/key_io.cpp:251,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key_io.cpp:251,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: DecodeExtPubKey
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - DecodeBase58Check
    - std::vector::data
    - size
    - std::vector::begin
    - CExtPubKey::Decode
    - Params
    - std::vector::size
    - begin
    - std::equal
    linkageType: ''
    returnType: CExtPubKey
    signature: CExtPubKey DecodeExtPubKey(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/key_io.cpp:259,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:260,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/key_io.cpp:261,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/key_io.cpp:262,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key_io.cpp:262,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: EncodeExtPubKey
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - EncodeBase58Check
    - std::vector::resize
    - std::vector::data
    - Params
    - std::vector::size
    - Encode
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeExtPubKey(const CExtPubKey& key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:271,1
    - Dst: Params
      Src: /src/bitcoin-core/src/key_io.cpp:272,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:273,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:273,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/key_io.cpp:273,1
    - Dst: begin
      Src: /src/bitcoin-core/src/key_io.cpp:273,1
    - Dst: end
      Src: /src/bitcoin-core/src/key_io.cpp:273,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/key_io.cpp:273,1
    - Dst: CExtKey::Decode
      Src: /src/bitcoin-core/src/key_io.cpp:274,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key_io.cpp:274,1
    - Dst: size
      Src: /src/bitcoin-core/src/key_io.cpp:274,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/key_io.cpp:277,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/key_io.cpp:278,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key_io.cpp:278,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: DecodeExtKey
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - end
    - DecodeBase58Check
    - memory_cleanse
    - std::vector::data
    - size
    - std::vector::begin
    - Params
    - std::vector::empty
    - std::vector::size
    - begin
    - CExtKey::Decode
    - std::equal
    linkageType: ''
    returnType: CExtKey
    signature: CExtKey DecodeExtKey(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/key_io.cpp:285,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:286,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/key_io.cpp:287,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/key_io.cpp:288,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key_io.cpp:288,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/key_io.cpp:289,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/key_io.cpp:290,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/key_io.cpp:290,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/key_io.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CExtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: EncodeExtKey
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - EncodeBase58Check
    - memory_cleanse
    - std::vector::resize
    - std::vector::data
    - Params
    - std::vector::size
    - Encode
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeExtKey(const CExtKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/key_io.cpp:296,1
    - Dst: DestinationEncoder
      Src: /src/bitcoin-core/src/key_io.cpp:296,1
    - Dst: Params
      Src: /src/bitcoin-core/src/key_io.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: EncodeDestination
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 1
    functionsReached:
    - Params
    - std::visit
    - DestinationEncoder
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeDestination(const CTxDestination& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/key_io.cpp:301,1
    - Dst: Params
      Src: /src/bitcoin-core/src/key_io.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' str'
    - ' error_msg'
    - error_locations
    argTypes:
    - std::string
    - std::string
    - std::vector<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: DecodeDestination
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 1
    functionsReached:
    - Params
    - DecodeDestination
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination DecodeDestination(const std::string& str, std::string&
      error_msg, std::vector<int>* error_locations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/key_io.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: DecodeDestination
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 2
    functionsReached:
    - DecodeDestination
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination DecodeDestination(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/key_io.cpp:313,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/key_io.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - ' params'
    argTypes:
    - std::string
    - CChainParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: IsValidDestinationString
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 0
    functionsReached:
    - IsValidDestination
    - DecodeDestination
    linkageType: ''
    returnType: bool
    signature: bool IsValidDestinationString(const std::string& str, const CChainParams&
      params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsValidDestinationString
      Src: /src/bitcoin-core/src/key_io.cpp:318,1
    - Dst: Params
      Src: /src/bitcoin-core/src/key_io.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: IsValidDestinationString
    functionSourceFile: /src/bitcoin-core/src/key_io.cpp
    functionUses: 1
    functionsReached:
    - Params
    - IsValidDestinationString
    linkageType: ''
    returnType: bool
    signature: bool IsValidDestinationString(const std::string& str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:44,1
    - Dst: resize
      Src: /src/bitcoin-core/src/streams.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' vchDataIn'
    - nPosIn
    argTypes:
    - std::vector<unsigned char>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: VectorWriter::VectorWriter
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void VectorWriter(std::vector<unsigned char>& vchDataIn, size_t nPosIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeMany
      Src: /src/bitcoin-core/src/streams.h:54,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/streams.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' vchDataIn'
    - nPosIn
    argTypes:
    - std::vector<unsigned char>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: VectorWriter::VectorWriter
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - SerializeMany
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void VectorWriter(std::vector<unsigned char>& vchDataIn, size_t nPosIn,
      Args&&... args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/streams.h:58,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:58,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/streams.h:59,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:59,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:59,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/streams.h:61,1
    - Dst: data
      Src: /src/bitcoin-core/src/streams.h:61,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/streams.h:61,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:63,1
    - Dst: insert
      Src: /src/bitcoin-core/src/streams.h:64,1
    - Dst: end
      Src: /src/bitcoin-core/src/streams.h:64,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/streams.h:64,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/streams.h:64,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/streams.h:64,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/streams.h:64,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:64,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::span<const std::byte>
    assertStmts:
    - condition: (nPos <= vchData.size())
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/streams.h
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: VectorWriter::write
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - end
    - UCharCast
    - std::span<const std::byte>::data
    - std::span<const std::byte>::size
    - insert
    - size
    - memcpy
    - data
    - assert
    - std::min
    linkageType: ''
    returnType: void
    signature: void write(std::span<const std::byte> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/streams.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '& operator<<(const T& obj)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    linkageType: ''
    returnType: VectorWriter
    signature: VectorWriter & operator<<(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/streams.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: SpanReader::SpanReader
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void SpanReader(std::span<const unsigned char> data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: SpanReader::SpanReader
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanReader(std::span<const std::byte> data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/streams.h:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: '& operator>>(T&& obj)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Wrapper::Unserialize
    linkageType: ''
    returnType: SpanReader
    signature: SpanReader & operator>>(T&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanReader::size
      Src: /src/bitcoin-core/src/streams.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: SpanReader::size
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached:
    - SpanReader::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/streams.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: SpanReader::empty
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached:
    - SpanReader::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:106,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:111,1
    - Dst: SpanReader::size
      Src: /src/bitcoin-core/src/streams.h:111,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.h:112,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/streams.h:114,1
    - Dst: std::span<std::byte>::data
      Src: /src/bitcoin-core/src/streams.h:114,1
    - Dst: data
      Src: /src/bitcoin-core/src/streams.h:114,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:114,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/streams.h:115,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: SpanReader::read
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - std::span<std::byte>::size
    - std::span<std::byte>::data
    - std::ios_base::failure
    - memcpy
    - data
    - SpanReader::size
    - subspan
    linkageType: ''
    returnType: void
    signature: void read(std::span<std::byte> dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subspan
      Src: /src/bitcoin-core/src/streams.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: SpanReader::ignore
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - subspan
    linkageType: ''
    returnType: void
    signature: void ignore(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: DataStream::DataStream
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/streams.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sp
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: DataStream::DataStream
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached:
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void DataStream(std::span<const uint8_t> sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const value_type>::data
      Src: /src/bitcoin-core/src/streams.h:149,1
    - Dst: std::span<const value_type>::data
      Src: /src/bitcoin-core/src/streams.h:149,1
    - Dst: std::span<const value_type>::size
      Src: /src/bitcoin-core/src/streams.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sp
    argTypes:
    - std::span<const value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: DataStream::DataStream
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached:
    - std::span<const value_type>::size
    - std::span<const value_type>::data
    linkageType: ''
    returnType: void
    signature: void DataStream(std::span<const value_type> sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/streams.h:153,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/streams.h:153,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/streams.h:153,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/streams.h:153,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/streams.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: DataStream::str
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - DataStream::size
    - UCharCast
    - DataStream::data
    linkageType: ''
    returnType: std::string
    signature: std::string str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/streams.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: DataStream::begin
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 2
    functionsReached:
    - DataStream::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/streams.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: DataStream::begin
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 3
    functionsReached:
    - DataStream::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/streams.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: DataStream::end
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 2
    functionsReached:
    - DataStream::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/streams.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: DataStream::end
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 3
    functionsReached:
    - DataStream::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/streams.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: DataStream::size
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 2
    functionsReached:
    - DataStream::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/streams.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: DataStream::empty
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - DataStream::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::resize
      Src: /src/bitcoin-core/src/streams.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: DataStream::resize
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached:
    - DataStream::resize
    linkageType: ''
    returnType: void
    signature: void resize(size_type n, value_type c = value_type{})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/streams.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: DataStream::reserve
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached:
    - DataStream::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: operator[](size_type pos) const
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](size_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: operator[](size_type pos)
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](size_type pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/streams.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: DataStream::clear
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached:
    - DataStream::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/streams.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: DataStream::data
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 2
    functionsReached:
    - DataStream::data
    linkageType: ''
    returnType: value_type
    signature: value_type * data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/streams.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: DataStream::data
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 3
    functionsReached:
    - DataStream::data
    linkageType: ''
    returnType: value_type
    signature: value_type * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/streams.h:176,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/streams.h:176,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/streams.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: DataStream::Compact
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - DataStream::begin
    - erase
    linkageType: ''
    returnType: void
    signature: void Compact()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: DataStream::Rewind
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Rewind(std::optional<size_type> n = std::nullopt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/streams.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: DataStream::eof
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - DataStream::size
    linkageType: ''
    returnType: bool
    signature: bool eof() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/streams.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: DataStream::in_avail
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - DataStream::size
    linkageType: ''
    returnType: int
    signature: int in_avail() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::span<value_type>::size
      Src: /src/bitcoin-core/src/streams.h:203,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/streams.h:206,1
    - Dst: std::span<value_type>::size
      Src: /src/bitcoin-core/src/streams.h:206,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/streams.h:207,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/streams.h:207,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/streams.h:207,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.h:208,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/streams.h:210,1
    - Dst: std::span<value_type>::data
      Src: /src/bitcoin-core/src/streams.h:210,1
    - Dst: std::span<value_type>::size
      Src: /src/bitcoin-core/src/streams.h:210,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/streams.h:211,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/streams.h:211,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/streams.h:213,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/streams.h:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::span<value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: DataStream::read
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - auto::value
    - DataStream::size
    - auto::has_value
    - std::span<value_type>::data
    - std::ios_base::failure
    - memcpy
    - std::span<value_type>::size
    - DataStream::clear
    - CheckedAdd
    linkageType: ''
    returnType: void
    signature: void read(std::span<value_type> dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/streams.h:222,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/streams.h:223,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/streams.h:223,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/streams.h:223,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.h:224,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/streams.h:226,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/streams.h:226,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/streams.h:228,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/streams.h:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - num_ignore
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: DataStream::ignore
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - auto::value
    - DataStream::size
    - auto::has_value
    - std::ios_base::failure
    - DataStream::clear
    - CheckedAdd
    linkageType: ''
    returnType: void
    signature: void ignore(size_t num_ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/streams.h:237,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/streams.h:237,1
    - Dst: std::span<const value_type>::begin
      Src: /src/bitcoin-core/src/streams.h:237,1
    - Dst: std::span<const value_type>::end
      Src: /src/bitcoin-core/src/streams.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::span<const value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: DataStream::write
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - std::span<const value_type>::begin
    - std::span<const value_type>::end
    - insert
    - DataStream::end
    linkageType: ''
    returnType: void
    signature: void write(std::span<const value_type> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/streams.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: '& operator<<(const T& obj)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    linkageType: ''
    returnType: DataStream
    signature: DataStream & operator<<(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/streams.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: '& operator>>(T&& obj)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Wrapper::Unserialize
    linkageType: ''
    returnType: DataStream
    signature: DataStream & operator>>(T&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' istream'
    argTypes:
    - IStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: BitStreamReader::BitStreamReader
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitStreamReader(IStream& istream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::out_of_range
      Src: /src/bitcoin-core/src/streams.h:281,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/streams.h:291,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/streams.h:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 298
    functionName: BitStreamReader::Read
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::out_of_range
    - std::min
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Read(int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ostream'
    argTypes:
    - OStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: BitStreamWriter::BitStreamWriter
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitStreamWriter(OStream& ostream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/bitcoin-core/src/streams.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: ~BitStreamWriter()
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void ~BitStreamWriter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::out_of_range
      Src: /src/bitcoin-core/src/streams.h:329,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/streams.h:333,1
    - Dst: BitStreamWriter::Flush
      Src: /src/bitcoin-core/src/streams.h:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - data
    - nbits
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionName: BitStreamWriter::Write
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - BitStreamWriter::Flush
    - std::out_of_range
    - std::min
    linkageType: ''
    returnType: void
    signature: void Write(uint64_t data, int nbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: BitStreamWriter::Flush
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/streams.h:391,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/streams.h:391,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/streams.h:394,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/streams.h:395,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/streams.h:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 397
    functionName: ~AutoFile()
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Assume
    - LogError
    - fclose
    - SysErrorString
    - IsNull
    linkageType: ''
    returnType: void
    signature: void ~AutoFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: AutoFile::AutoFile
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoFile(const AutoFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: '& operator=(const AutoFile&)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AutoFile
    signature: AutoFile & operator=(const AutoFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::feof
      Src: /src/bitcoin-core/src/streams.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: AutoFile::feof
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 4
    functionsReached:
    - AutoFile::feof
    linkageType: ''
    returnType: bool
    signature: bool feof() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::release
      Src: /src/bitcoin-core/src/streams.h:407,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/streams.h:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: AutoFile::fclose
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached:
    - AutoFile::fclose
    - AutoFile::release
    linkageType: ''
    returnType: int
    signature: int fclose()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: AutoFile::release
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::FILE
    signature: std::FILE * release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: AutoFile::IsNull
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obfuscation'
    argTypes:
    - Obfuscation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 427
    functionName: AutoFile::SetObfuscation
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetObfuscation(const Obfuscation& obfuscation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/streams.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: '& operator<<(const T& obj)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    linkageType: ''
    returnType: AutoFile
    signature: AutoFile & operator<<(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/streams.h:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: '& operator>>(T&& obj)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Wrapper::Unserialize
    linkageType: ''
    returnType: AutoFile
    signature: AutoFile & operator>>(T&& obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:489,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:490,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:491,1
    - Dst: detail_fread
      Src: /src/bitcoin-core/src/streams.h:496,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/streams.h:496,1
    - Dst: feof
      Src: /src/bitcoin-core/src/streams.h:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 502
    functionName: BufferedFile::Fill
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - detail_fread
    - feof
    - size
    - subspan
    linkageType: ''
    returnType: bool
    signature: bool Fill()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/streams.h:511,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.h:513,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/streams.h:516,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/streams.h:518,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:518,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/streams.h:519,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:519,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/streams.h:520,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/streams.h:521,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/streams.h:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts:
    - condition: (m_read_pos <= nSrcPos)
      pos:
        line_end: 510
        line_start: 510
        source_file: /src/bitcoin-core/src/streams.h
    constantsTouched: []
    func_position:
      end: 524
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 524
    functionName: BufferedFile::AdvanceStream
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - static_cast<size_t>
    - BufferedFile::Fill
    - std::ios_base::failure
    - size
    - assert
    - std::min
    linkageType: ''
    returnType: std::pair<std::byte*, size_t>
    signature: std::pair<std::byte*, size_t> AdvanceStream(size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/streams.h:528,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/streams.h:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ' file LIFETIMEBOUND'
    - nBufSize
    - nRewindIn
    argTypes:
    - AutoFile
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: BufferedFile::BufferedFile
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - std::ios_base::failure
    linkageType: ''
    returnType: void
    signature: void BufferedFile(AutoFile& file LIFETIMEBOUND, uint64_t nBufSize,
      uint64_t nRewindIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/bitcoin-core/src/streams.h:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: BufferedFile::eof
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - feof
    linkageType: ''
    returnType: bool
    signature: bool eof() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:542,1
    - Dst: BufferedFile::AdvanceStream
      Src: /src/bitcoin-core/src/streams.h:543,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:543,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/streams.h:544,1
    - Dst: std::span<std::byte>::data
      Src: /src/bitcoin-core/src/streams.h:544,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/streams.h:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: BufferedFile::read
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - std::span<std::byte>::size
    - std::span<std::byte>::data
    - BufferedFile::AdvanceStream
    - memcpy
    - std::span<std::byte>::subspan
    linkageType: ''
    returnType: void
    signature: void read(std::span<std::byte> dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/streams.h:553,1
    - Dst: BufferedFile::AdvanceStream
      Src: /src/bitcoin-core/src/streams.h:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file_pos
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (file_pos >= m_read_pos)
      pos:
        line_end: 552
        line_start: 552
        source_file: /src/bitcoin-core/src/streams.h
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: BufferedFile::SkipTo
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - assert
    - BufferedFile::AdvanceStream
    linkageType: ''
    returnType: void
    signature: void SkipTo(const uint64_t file_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: BufferedFile::GetPos
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetPos() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - nPos
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 577
    functionName: BufferedFile::SetPos
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool SetPos(uint64_t nPos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/streams.h:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 586
    functionName: BufferedFile::SetLimit
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: bool
    signature: bool SetLimit(uint64_t nPos = std::numeric_limits<uint64_t>::max())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/streams.h:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: '& operator>>(T&& obj)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Wrapper::Unserialize
    linkageType: ''
    returnType: BufferedFile
    signature: BufferedFile & operator>>(T&& obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:598,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/streams.h:604,1
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/streams.h:606,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:606,1
    - Dst: begin
      Src: /src/bitcoin-core/src/streams.h:607,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/streams.h:608,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/streams.h:609,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - byte
    argTypes:
    - std::byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 615
    functionName: BufferedFile::FindByte
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - std::distance
    - std::min<size_t>
    - BufferedFile::Fill
    - size
    - std::find
    - begin
    linkageType: ''
    returnType: void
    signature: void FindByte(std::byte byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ' stream LIFETIMEBOUND'
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: BufferedReader::BufferedReader
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BufferedReader(S&& stream LIFETIMEBOUND, size_t size = 1 << 16)\n
      \       requires std::is_rvalue_reference_v<S&&>"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/streams.h:638,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:638,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:638,1
    - Dst: std::copy_n
      Src: /src/bitcoin-core/src/streams.h:639,1
    - Dst: begin
      Src: /src/bitcoin-core/src/streams.h:639,1
    - Dst: std::span<std::byte>::begin
      Src: /src/bitcoin-core/src/streams.h:639,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/streams.h:641,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:643,1
    - Dst: assert
      Src: /src/bitcoin-core/src/streams.h:644,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:644,1
    - Dst: BufferedReader::read
      Src: /src/bitcoin-core/src/streams.h:645,1
    - Dst: resize
      Src: /src/bitcoin-core/src/streams.h:648,1
    - Dst: detail_fread
      Src: /src/bitcoin-core/src/streams.h:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::span<std::byte>
    assertStmts:
    - condition: (m_buf_pos == m_buf.size())
      pos:
        line_end: 643
        line_start: 643
        source_file: /src/bitcoin-core/src/streams.h
    constantsTouched: []
    func_position:
      end: 650
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 650
    functionName: BufferedReader::read
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 1
    functionsReached:
    - std::span<std::byte>::size
    - resize
    - std::copy_n
    - size
    - BufferedReader::read
    - detail_fread
    - std::span<std::byte>::begin
    - std::span<std::byte>::subspan
    - assert
    - std::min
    - begin
    linkageType: ''
    returnType: void
    signature: void read(std::span<std::byte> dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/streams.h:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 657
    functionName: '& operator>>(T&& obj)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Unserialize
    linkageType: ''
    returnType: BufferedReader
    signature: BufferedReader & operator>>(T&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream LIFETIMEBOUND'
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 673
    functionName: BufferedWriter::BufferedWriter
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferedWriter(S& stream LIFETIMEBOUND, size_t size = 1 << 16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/bitcoin-core/src/streams.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: ~BufferedWriter()
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: void
    signature: void ~BufferedWriter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_buffer
      Src: /src/bitcoin-core/src/streams.h:679,1
    - Dst: first
      Src: /src/bitcoin-core/src/streams.h:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 681
    functionName: BufferedWriter::flush
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - write_buffer
    - first
    linkageType: ''
    returnType: void
    signature: void flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/streams.h:685,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/streams.h:685,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:685,1
    - Dst: std::copy_n
      Src: /src/bitcoin-core/src/streams.h:686,1
    - Dst: std::span<const std::byte>::begin
      Src: /src/bitcoin-core/src/streams.h:686,1
    - Dst: begin
      Src: /src/bitcoin-core/src/streams.h:686,1
    - Dst: size
      Src: /src/bitcoin-core/src/streams.h:688,1
    - Dst: BufferedWriter::flush
      Src: /src/bitcoin-core/src/streams.h:688,1
    - Dst: std::span<const std::byte>::subspan
      Src: /src/bitcoin-core/src/streams.h:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 691
    functionName: BufferedWriter::write
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - BufferedWriter::flush
    - std::span<const std::byte>::subspan
    - std::span<const std::byte>::size
    - std::span<const std::byte>::begin
    - std::copy_n
    - size
    - std::min
    - begin
    linkageType: ''
    returnType: void
    signature: void write(std::span<const std::byte> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Serialize
      Src: /src/bitcoin-core/src/streams.h:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: '& operator<<(const T& obj)'
    functionSourceFile: /src/bitcoin-core/src/streams.h
    functionUses: 0
    functionsReached:
    - Serialize
    linkageType: ''
    returnType: BufferedWriter
    signature: BufferedWriter & operator<<(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' command'
    - chain
    - ' fingerprint'
    - name
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ExternalSigner::ExternalSigner
    functionSourceFile: /src/bitcoin-core/src/external_signer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExternalSigner::ExternalSigner(const std::string& command, const
      std::string chain, const std::string& fingerprint, const std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: ExternalSigner::NetworkArg
    functionSourceFile: /src/bitcoin-core/src/external_signer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ExternalSigner::NetworkArg() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/external_signer.cpp:28,1
    - Dst: UniValue::isArray
      Src: /src/bitcoin-core/src/external_signer.cpp:29,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/external_signer.cpp:30,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/external_signer.cpp:30,1
    - Dst: UniValue::getValues
      Src: /src/bitcoin-core/src/external_signer.cpp:32,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/external_signer.cpp:34,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/external_signer.cpp:35,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/external_signer.cpp:36,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/external_signer.cpp:37,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/external_signer.cpp:37,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/external_signer.cpp:39,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/external_signer.cpp:39,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/external_signer.cpp:39,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/external_signer.cpp:42,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/external_signer.cpp:43,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/external_signer.cpp:44,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/external_signer.cpp:44,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/external_signer.cpp:46,1
    - Dst: m_fingerprint::compare
      Src: /src/bitcoin-core/src/external_signer.cpp:50,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/external_signer.cpp:54,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/external_signer.cpp:55,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/external_signer.cpp:55,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/external_signer.cpp:56,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/external_signer.cpp:58,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 3
    argNames:
    - ' command'
    - ' signers'
    - chain
    argTypes:
    - std::string
    - std::vector<ExternalSigner>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 61
    functionName: ExternalSigner::Enumerate
    functionSourceFile: /src/bitcoin-core/src/external_signer.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - getValStr
    - find_value
    - std::runtime_error
    - UniValue::isArray
    - isNull
    - m_fingerprint::compare
    - isStr
    - strprintf
    - get_str
    - RunCommandParseJSON
    - UniValue::getValues
    linkageType: ''
    returnType: bool
    signature: bool ExternalSigner::Enumerate(const std::string& command, std::vector<ExternalSigner>&
      signers, const std::string chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/external_signer.cpp:65,1
    - Dst: ExternalSigner::NetworkArg
      Src: /src/bitcoin-core/src/external_signer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' descriptor'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ExternalSigner::DisplayAddress
    functionSourceFile: /src/bitcoin-core/src/external_signer.cpp
    functionUses: 0
    functionsReached:
    - ExternalSigner::NetworkArg
    - RunCommandParseJSON
    linkageType: ''
    returnType: UniValue
    signature: UniValue ExternalSigner::DisplayAddress(const std::string& descriptor)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/external_signer.cpp:70,1
    - Dst: ExternalSigner::NetworkArg
      Src: /src/bitcoin-core/src/external_signer.cpp:70,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/external_signer.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - account
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ExternalSigner::GetDescriptors
    functionSourceFile: /src/bitcoin-core/src/external_signer.cpp
    functionUses: 0
    functionsReached:
    - ExternalSigner::NetworkArg
    - RunCommandParseJSON
    - strprintf
    linkageType: ''
    returnType: UniValue
    signature: UniValue ExternalSigner::GetDescriptors(const int account)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/external_signer.cpp:79,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/external_signer.cpp:83,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/external_signer.cpp:86,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/external_signer.cpp:91,1
    - Dst: inputs::begin
      Src: /src/bitcoin-core/src/external_signer.cpp:91,1
    - Dst: inputs::end
      Src: /src/bitcoin-core/src/external_signer.cpp:91,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/external_signer.cpp:92,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/external_signer.cpp:92,1
    - Dst: ExternalSigner::NetworkArg
      Src: /src/bitcoin-core/src/external_signer.cpp:96,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/external_signer.cpp:97,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/external_signer.cpp:97,1
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/external_signer.cpp:99,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/external_signer.cpp:101,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/external_signer.cpp:102,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/external_signer.cpp:106,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/external_signer.cpp:111,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/external_signer.cpp:113,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/external_signer.cpp:113,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/external_signer.cpp:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - ' psbtx'
    - ' error'
    argTypes:
    - PartiallySignedTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 121
    functionName: ExternalSigner::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/external_signer.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - DecodeBase64PSBT
    - inputs::begin
    - EncodeBase64
    - std::any_of
    - DataStream::str
    - ExternalSigner::NetworkArg
    - inputs::end
    - UniValue::find_value
    - strprintf
    - RunCommandParseJSON
    - ParseHex
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: bool
    signature: bool ExternalSigner::SignTransaction(PartiallySignedTransaction& psbtx,
      std::string& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: line
      Src: /src/bitcoin-core/src/logging.h:41,1
    - Dst: line
      Src: /src/bitcoin-core/src/logging.h:41,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/logging.h:41,1
    - Dst: file_name
      Src: /src/bitcoin-core/src/logging.h:41,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/logging.h:41,1
    - Dst: file_name
      Src: /src/bitcoin-core/src/logging.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - std::source_location
    - std::source_location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: operator()(const std::source_location& lhs, const std::source_location&
      rhs) const noexcept
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - line
    - std::string_view
    - file_name
    linkageType: ''
    returnType: bool
    signature: bool operator()(const std::source_location& lhs, const std::source_location&
      rhs) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/logging.h:49,1
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/logging.h:49,1
    - Dst: file_name
      Src: /src/bitcoin-core/src/logging.h:50,1
    - Dst: line
      Src: /src/bitcoin-core/src/logging.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::source_location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: operator()(const std::source_location& s) const noexcept
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - line
    - file_name
    - static_cast<size_t>
    - CSipHasher
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::source_location& s) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_bytes
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: BCLog::LogLimitStats::LogLimitStats
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogLimitStats(uint64_t max_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: BCLog::LogLimitStats::GetAvailableBytes
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetAvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: BCLog::LogLimitStats::GetDroppedBytes
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetDroppedBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: BCLog::LogRateLimiter::SuppressionsActive
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SuppressionsActive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: BCLog::Logger::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/logging.h:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/logging.h:257,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging.h:257,1
    - Dst: end
      Src: /src/bitcoin-core/src/logging.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - push_back
    - end
    - std::move
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/logging.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/logging.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: BCLog::Logger::LogLevel
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: Level
    signature: Level LogLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - Level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: BCLog::Logger::SetLogLevel
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLogLevel(Level level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/logging.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: BCLog::Logger::GetCategoryMask
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: CategoryMask
    signature: CategoryMask GetCategoryMask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Join
      Src: /src/bitcoin-core/src/logging.h:320,1
    - Dst: LogCategoriesList
      Src: /src/bitcoin-core/src/logging.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: BCLog::Logger::LogCategoriesString
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - LogCategoriesList
    - util::Join
    linkageType: ''
    returnType: std::string
    signature: std::string LogCategoriesString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_bytes
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: BCLog::LogLimitStats::LogLimitStats
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogLimitStats(uint64_t max_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: BCLog::LogLimitStats::GetAvailableBytes
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetAvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: BCLog::LogLimitStats::GetDroppedBytes
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetDroppedBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: BCLog::LogRateLimiter::SuppressionsActive
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SuppressionsActive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: BCLog::Logger::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/logging.h:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/logging.h:257,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging.h:257,1
    - Dst: end
      Src: /src/bitcoin-core/src/logging.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - push_back
    - end
    - std::move
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/logging.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: (!m_cs)
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/logging.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: BCLog::Logger::LogLevel
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: Level
    signature: Level LogLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - Level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: BCLog::Logger::SetLogLevel
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLogLevel(Level level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/logging.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: BCLog::Logger::GetCategoryMask
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: CategoryMask
    signature: CategoryMask GetCategoryMask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Join
      Src: /src/bitcoin-core/src/logging.h:320,1
    - Dst: LogCategoriesList
      Src: /src/bitcoin-core/src/logging.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: BCLog::Logger::LogCategoriesString
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - LogCategoriesList
    - util::Join
    linkageType: ''
    returnType: std::string
    signature: std::string LogCategoriesString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/logging.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - category
    - level
    argTypes:
    - BCLog::LogFlags
    - BCLog::Level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: LogAcceptCategory
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 2
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: bool
    signature: bool LogAcceptCategory(BCLog::LogFlags category, BCLog::Level level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/logging.h:348,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/logging.h:351,1
    - Dst: what
      Src: /src/bitcoin-core/src/logging.h:353,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/logging.h:355,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging.h:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ' source_loc'
    - flag
    - level
    - should_ratelimit
    - fmt
    argTypes:
    - std::source_location
    - BCLog::LogFlags
    - BCLog::Level
    - bool
    - util::ConstevalFormatString<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: LogPrintFormatInternal
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached:
    - tinyformat::detail::FormatArg::format
    - LogInstance
    - what
    - std::move
    linkageType: ''
    returnType: void
    signature: void LogPrintFormatInternal(std::source_location&& source_loc, const
      BCLog::LogFlags flag, const BCLog::Level level, const bool should_ratelimit,
      util::ConstevalFormatString<sizeof...(Args)> fmt, const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - category
    - ','
    - level
    - ','
    - should_ratelimit
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: LogPrintLevel_
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LogPrintLevel_(category, level, should_ratelimit, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: LogInfo
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LogInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: LogWarning
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LogWarning(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: LogError
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LogError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: LogPrintf
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LogPrintf(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - category
    - ','
    - level
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: LogPrintLevel
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LogPrintLevel(category, level, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - category
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    functionName: LogDebug
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LogDebug(category, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - category
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: LogTrace
    functionSourceFile: /src/bitcoin-core/src/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LogTrace(category, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/span.h:77,1
    - Dst: back
      Src: /src/bitcoin-core/src/span.h:78,1
    - Dst: first
      Src: /src/bitcoin-core/src/span.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' span'
    argTypes:
    - std::span<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: SpanPopBack
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 0
    functionsReached:
    - first
    - back
    - size
    linkageType: ''
    returnType: T
    signature: T & SpanPopBack(std::span<T>& span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/span.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: MakeByteSpan
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 7
    functionsReached:
    - std::as_bytes
    linkageType: ''
    returnType: auto
    signature: auto MakeByteSpan(const V& v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/span.h:91,1
    - Dst: std::forward<V>
      Src: /src/bitcoin-core/src/span.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: MakeWritableByteSpan
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 4
    functionsReached:
    - std::forward<V>
    - std::as_writable_bytes
    linkageType: ''
    returnType: auto
    signature: auto MakeWritableByteSpan(V&& v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/bitcoin-core/src/span.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: UCharCast
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 13
    functionsReached:
    - reinterpret_cast<unsigned char*>
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(char* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: UCharCast
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(unsigned char* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/bitcoin-core/src/span.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: UCharCast
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 13
    functionsReached:
    - reinterpret_cast<unsigned char*>
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(signed char* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/bitcoin-core/src/span.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - std::byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: UCharCast
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 13
    functionsReached:
    - reinterpret_cast<unsigned char*>
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(std::byte* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/bitcoin-core/src/span.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: UCharCast
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 13
    functionsReached:
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(const char* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: UCharCast
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(const unsigned char* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/bitcoin-core/src/span.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: UCharCast
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 13
    functionsReached:
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(const signed char* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/bitcoin-core/src/span.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - std::byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: UCharCast
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 13
    functionsReached:
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(const std::byte* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/span.h:108,1
    - Dst: std::span<T, N>::data
      Src: /src/bitcoin-core/src/span.h:108,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/span.h:108,1
    - Dst: std::span<T, N>::data
      Src: /src/bitcoin-core/src/span.h:108,1
    - Dst: std::span<T, N>::size
      Src: /src/bitcoin-core/src/span.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::span<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: UCharSpanCast
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 0
    functionsReached:
    - UCharCast
    - std::span<T, N>::size
    - std::span<T, N>::data
    linkageType: ''
    returnType: auto
    signature: auto UCharSpanCast(std::span<T, N> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UCharSpanCast
      Src: /src/bitcoin-core/src/span.h:111,1
    - Dst: UCharSpanCast
      Src: /src/bitcoin-core/src/span.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: MakeUCharSpan
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 0
    functionsReached:
    - UCharSpanCast
    linkageType: ''
    returnType: auto
    signature: auto MakeUCharSpan(const V& v) -> decltype(UCharSpanCast(std::span{v}))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UCharSpanCast
      Src: /src/bitcoin-core/src/span.h:112,1
    - Dst: std::forward<V>
      Src: /src/bitcoin-core/src/span.h:112,1
    - Dst: UCharSpanCast
      Src: /src/bitcoin-core/src/span.h:112,1
    - Dst: std::forward<V>
      Src: /src/bitcoin-core/src/span.h:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: MakeWritableUCharSpan
    functionSourceFile: /src/bitcoin-core/src/span.h
    functionUses: 0
    functionsReached:
    - std::forward<V>
    - UCharSpanCast
    linkageType: ''
    returnType: auto
    signature: auto MakeWritableUCharSpan(V&& v) -> decltype(UCharSpanCast(std::span{std::forward<V>(v)}))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/blockfilter.cpp:27,1
    - Dst: FastRange64
      Src: /src/bitcoin-core/src/blockfilter.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' element'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: GCSFilter::HashToRange
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - FastRange64
    - CSipHasher
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GCSFilter::HashToRange(const Element& element) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/blockfilter.cpp:36,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockfilter.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/blockfilter.cpp:38,1
    - Dst: GCSFilter::HashToRange
      Src: /src/bitcoin-core/src/blockfilter.cpp:38,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/blockfilter.cpp:40,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/blockfilter.cpp:40,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/blockfilter.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' elements'
    argTypes:
    - ElementSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: GCSFilter::BuildHashedSet
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - GCSFilter::HashToRange
    - std::vector::end
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::vector::begin
    - std::sort
    linkageType: ''
    returnType: std::vector<uint64_t>
    signature: std::vector<uint64_t> GCSFilter::BuildHashedSet(const ElementSet& elements)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: GCSFilter::GCSFilter
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GCSFilter::GCSFilter(const Params& params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/blockfilter.cpp:49,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/blockfilter.cpp:53,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/blockfilter.cpp:54,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/blockfilter.cpp:56,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/blockfilter.cpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/blockfilter.cpp:58,1
    - Dst: GolombRiceDecode
      Src: /src/bitcoin-core/src/blockfilter.cpp:66,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/blockfilter.cpp:68,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/blockfilter.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' params'
    - encoded_filter
    - skip_decode_check
    argTypes:
    - Params
    - std::vector<unsigned char>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: GCSFilter::GCSFilter
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<uint32_t>
    - std::ios_base::failure
    - std::move
    - GolombRiceDecode
    - ReadCompactSize
    - SpanReader::empty
    linkageType: ''
    returnType: void
    signature: void GCSFilter::GCSFilter(const Params& params, std::vector<unsigned
      char> encoded_filter, bool skip_decode_check)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/blockfilter.cpp:76,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/blockfilter.cpp:77,1
    - Dst: std::invalid_argument
      Src: /src/bitcoin-core/src/blockfilter.cpp:79,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/blockfilter.cpp:81,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/blockfilter.cpp:81,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/blockfilter.cpp:85,1
    - Dst: empty
      Src: /src/bitcoin-core/src/blockfilter.cpp:87,1
    - Dst: GCSFilter::BuildHashedSet
      Src: /src/bitcoin-core/src/blockfilter.cpp:94,1
    - Dst: GolombRiceEncode
      Src: /src/bitcoin-core/src/blockfilter.cpp:96,1
    - Dst: BitStreamWriter::Flush
      Src: /src/bitcoin-core/src/blockfilter.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' params'
    - ' elements'
    argTypes:
    - Params
    - ElementSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: GCSFilter::GCSFilter
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - BitStreamWriter::Flush
    - empty
    - static_cast<uint32_t>
    - GCSFilter::BuildHashedSet
    - size
    - WriteCompactSize
    - GolombRiceEncode
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void GCSFilter::GCSFilter(const Params& params, const ElementSet& elements)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/blockfilter.cpp:108,1
    - Dst: assert
      Src: /src/bitcoin-core/src/blockfilter.cpp:109,1
    - Dst: GolombRiceDecode
      Src: /src/bitcoin-core/src/blockfilter.cpp:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - element_hashes
    - size
    argTypes:
    - uint64_t*
    - size_t
    assertStmts:
    - condition: (N == m_N)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/bitcoin-core/src/blockfilter.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: GCSFilter::MatchInternal
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - GolombRiceDecode
    - ReadCompactSize
    - assert
    linkageType: ''
    returnType: bool
    signature: bool GCSFilter::MatchInternal(const uint64_t* element_hashes, size_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GCSFilter::HashToRange
      Src: /src/bitcoin-core/src/blockfilter.cpp:137,1
    - Dst: GCSFilter::MatchInternal
      Src: /src/bitcoin-core/src/blockfilter.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' element'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: GCSFilter::Match
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - GCSFilter::HashToRange
    - GCSFilter::MatchInternal
    linkageType: ''
    returnType: bool
    signature: bool GCSFilter::Match(const Element& element) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GCSFilter::BuildHashedSet
      Src: /src/bitcoin-core/src/blockfilter.cpp:143,1
    - Dst: GCSFilter::MatchInternal
      Src: /src/bitcoin-core/src/blockfilter.cpp:144,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/blockfilter.cpp:144,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/blockfilter.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' elements'
    argTypes:
    - ElementSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: GCSFilter::MatchAny
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - GCSFilter::BuildHashedSet
    - std::vector::size
    - GCSFilter::MatchInternal
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool GCSFilter::MatchAny(const ElementSet& elements) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/blockfilter.cpp:150,1
    - Dst: end
      Src: /src/bitcoin-core/src/blockfilter.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter_type
    argTypes:
    - BlockFilterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: BlockFilterTypeName
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string & BlockFilterTypeName(BlockFilterType filter_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' name'
    - ' filter_type'
    argTypes:
    - std::string
    - BlockFilterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: BlockFilterTypeByName
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BlockFilterTypeByName(const std::string& name, BlockFilterType&
      filter_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/bitcoin-core/src/blockfilter.cpp:169,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/blockfilter.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: AllBlockFilterTypes
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - std::call_once
    linkageType: ''
    returnType: std::set<BlockFilterType>
    signature: std::set<BlockFilterType> & AllBlockFilterTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/blockfilter.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: ListBlockFilterTypes
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - Join
    linkageType: ''
    returnType: std::string
    signature: std::string & ListBlockFilterTypes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/blockfilter.cpp:193,1
    - Dst: GCSFilter::ElementSet::emplace
      Src: /src/bitcoin-core/src/blockfilter.cpp:194,1
    - Dst: begin
      Src: /src/bitcoin-core/src/blockfilter.cpp:194,1
    - Dst: end
      Src: /src/bitcoin-core/src/blockfilter.cpp:194,1
    - Dst: empty
      Src: /src/bitcoin-core/src/blockfilter.cpp:201,1
    - Dst: GCSFilter::ElementSet::emplace
      Src: /src/bitcoin-core/src/blockfilter.cpp:202,1
    - Dst: begin
      Src: /src/bitcoin-core/src/blockfilter.cpp:202,1
    - Dst: end
      Src: /src/bitcoin-core/src/blockfilter.cpp:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - ' block'
    - ' block_undo'
    argTypes:
    - CBlock
    - CBlockUndo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 207
    functionName: BasicFilterElements
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - end
    - GCSFilter::ElementSet::emplace
    - begin
    - empty
    linkageType: ''
    returnType: GCSFilter::ElementSet
    signature: "GCSFilter::ElementSet BasicFilterElements(const CBlock& block,\n                                                 const
      CBlockUndo& block_undo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BlockFilter::BuildParams
      Src: /src/bitcoin-core/src/blockfilter.cpp:214,1
    - Dst: std::invalid_argument
      Src: /src/bitcoin-core/src/blockfilter.cpp:215,1
    - Dst: GCSFilter
      Src: /src/bitcoin-core/src/blockfilter.cpp:217,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/blockfilter.cpp:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - filter_type
    - ' block_hash'
    - filter
    - skip_decode_check
    argTypes:
    - BlockFilterType
    - uint256
    - std::vector<unsigned char>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: BlockFilter::BlockFilter
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - GCSFilter
    - BlockFilter::BuildParams
    - std::move
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: "void BlockFilter::BlockFilter(BlockFilterType filter_type, const uint256&
      block_hash,\n                         std::vector<unsigned char> filter, bool
      skip_decode_check)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BlockFilter::GetHash
      Src: /src/bitcoin-core/src/blockfilter.cpp:221,1
    - Dst: BlockFilter::BuildParams
      Src: /src/bitcoin-core/src/blockfilter.cpp:224,1
    - Dst: std::invalid_argument
      Src: /src/bitcoin-core/src/blockfilter.cpp:225,1
    - Dst: GCSFilter
      Src: /src/bitcoin-core/src/blockfilter.cpp:227,1
    - Dst: BasicFilterElements
      Src: /src/bitcoin-core/src/blockfilter.cpp:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - filter_type
    - ' block'
    - ' block_undo'
    argTypes:
    - BlockFilterType
    - CBlock
    - CBlockUndo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: BlockFilter::BlockFilter
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - BlockFilter::BuildParams
    - BasicFilterElements
    - GCSFilter
    - BlockFilter::GetHash
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void BlockFilter::BlockFilter(BlockFilterType filter_type, const CBlock&
      block, const CBlockUndo& block_undo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/blockfilter.cpp:234,1
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/blockfilter.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - GCSFilter::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: BlockFilter::BuildParams
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 2
    functionsReached:
    - GetUint64
    linkageType: ''
    returnType: bool
    signature: bool BlockFilter::BuildParams(GCSFilter::Params& params) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/bitcoin-core/src/blockfilter.cpp:248,1
    - Dst: GetEncodedFilter
      Src: /src/bitcoin-core/src/blockfilter.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: BlockFilter::GetHash
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 1
    functionsReached:
    - GetEncodedFilter
    - Hash
    linkageType: ''
    returnType: uint256
    signature: uint256 BlockFilter::GetHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/bitcoin-core/src/blockfilter.cpp:253,1
    - Dst: BlockFilter::GetHash
      Src: /src/bitcoin-core/src/blockfilter.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' prev_header'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: BlockFilter::ComputeHeader
    functionSourceFile: /src/bitcoin-core/src/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - Hash
    - BlockFilter::GetHash
    linkageType: ''
    returnType: uint256
    signature: uint256 BlockFilter::ComputeHeader(const uint256& prev_header) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_block_inv_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:324,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:325,1
    - Dst: std::make_unique<Peer::TxRelay>
      Src: /src/bitcoin-core/src/net_processing.cpp:326,1
    - Dst: get
      Src: /src/bitcoin-core/src/net_processing.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: (!m_tx_relay_mutex)
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - std::make_unique<Peer::TxRelay>
    - get
    - Assume
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_tx_relay_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:332,1
    - Dst: get
      Src: /src/bitcoin-core/src/net_processing.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: (!m_tx_relay_mutex)
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - WITH_LOCK
    - get
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_tx_relay_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(NetEventsInterface::g_msgproc_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_headers_sync_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id
    - our_services
    - is_inbound
    argTypes:
    - NodeId
    - ServiceFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: Peer
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Peer(NodeId id, ServiceFlags our_services, bool is_inbound)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - height
    - time
    argTypes:
    - int
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: PeerManagerImpl::SetBestBlock
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBestBlock(int height, std::chrono::seconds time) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:545,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:545,1
    - Dst: GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: (!m_peer_mutex)
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetPeerRef
    - Assert
    - Misbehaving
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_peer_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::PushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:717,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_processing.cpp:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' msg'
    argTypes:
    - CNode
    - CSerializedNetMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: PeerManagerImpl::PushMessage
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - PeerManagerImpl::PushMessage
    linkageType: ''
    returnType: void
    signature: void PushMessage(CNode& node, CSerializedNetMsg&& msg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::PushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:721,1
    - Dst: NetMsg::Make
      Src: /src/bitcoin-core/src/net_processing.cpp:721,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_processing.cpp:721,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/net_processing.cpp:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - msg_type
    argTypes:
    - CNode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: PeerManagerImpl::MakeAndPushMessage
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - NetMsg::Make
    - std::forward<Args>
    - std::move
    - PeerManagerImpl::PushMessage
    linkageType: ''
    returnType: void
    signature: void MakeAndPushMessage(CNode& node, std::string msg_type, Args&&...
      args) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 819
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 822
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(g_msgproc_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 836
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 873
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_headers_presync_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 976
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 985
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(g_msgproc_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/net_processing.cpp:1080,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pnode
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1084
    functionName: PeerManagerImpl::State
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: CNodeState
    signature: CNodeState * PeerManagerImpl::State(NodeId pnode) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CNodeState*>
      Src: /src/bitcoin-core/src/net_processing.cpp:1088,1
    - Dst: std::as_const
      Src: /src/bitcoin-core/src/net_processing.cpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pnode
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1089
    functionName: PeerManagerImpl::State
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - const_cast<CNodeState*>
    - std::as_const
    linkageType: ''
    returnType: CNodeState
    signature: CNodeState * PeerManagerImpl::State(NodeId pnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsAddrV1Compatible
      Src: /src/bitcoin-core/src/net_processing.cpp:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' peer'
    - ' addr'
    argTypes:
    - Peer
    - CAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1099
    functionName: IsAddrCompatible
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - IsAddrV1Compatible
    linkageType: ''
    returnType: bool
    signature: bool IsAddrCompatible(const Peer& peer, const CAddress& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1103,1
    - Dst: m_addr_known::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:1104,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/net_processing.cpp:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' peer'
    - ' addr'
    argTypes:
    - Peer
    - CAddress
    assertStmts:
    - condition: (peer.m_addr_known)
      pos:
        line_end: 1102
        line_start: 1102
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1105
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1105
    functionName: PeerManagerImpl::AddAddressKnown
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - assert
    - m_addr_known::insert
    - GetKey
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::AddAddressKnown(Peer& peer, const CAddress& addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1112,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:1113,1
    - Dst: m_addr_known::contains
      Src: /src/bitcoin-core/src/net_processing.cpp:1113,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/net_processing.cpp:1113,1
    - Dst: IsAddrCompatible
      Src: /src/bitcoin-core/src/net_processing.cpp:1113,1
    - Dst: m_addrs_to_send::size
      Src: /src/bitcoin-core/src/net_processing.cpp:1114,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/net_processing.cpp:1115,1
    - Dst: m_addrs_to_send::size
      Src: /src/bitcoin-core/src/net_processing.cpp:1115,1
    - Dst: m_addrs_to_send::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:1117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' peer'
    - ' addr'
    argTypes:
    - Peer
    - CAddress
    assertStmts:
    - condition: (peer.m_addr_known)
      pos:
        line_end: 1111
        line_start: 1111
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1120
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1120
    functionName: PeerManagerImpl::PushAddress
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_addrs_to_send::size
    - IsValid
    - IsAddrCompatible
    - randrange
    - m_addr_known::contains
    - assert
    - m_addrs_to_send::push_back
    - GetKey
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::PushAddress(Peer& peer, const CAddress& addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:1124,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1127,1
    - Dst: auto::m_tx_inventory_known_filter::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' peer'
    - ' hash'
    argTypes:
    - Peer
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1129
    functionName: AddKnownTx
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetTxRelay
    - auto::m_tx_inventory_known_filter::insert
    linkageType: ''
    returnType: void
    signature: void AddKnownTx(Peer& peer, const uint256& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1135
    functionName: CanServeBlocks
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CanServeBlocks(const Peer& peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1143
    functionName: IsLimitedPeer
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLimitedPeer(const Peer& peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1149
    functionName: CanServeWitnesses
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CanServeWitnesses(const Peer& peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:1154,1
    - Dst: rand_exp_duration
      Src: /src/bitcoin-core/src/net_processing.cpp:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - now
    - average_interval
    argTypes:
    - std::chrono::microseconds
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1161
    functionName: PeerManagerImpl::NextInvToInbounds
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - rand_exp_duration
    - load
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: "std::chrono::microseconds PeerManagerImpl::NextInvToInbounds(std::chrono::microseconds
      now,\n                                                             std::chrono::seconds
      average_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/net_processing.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: PeerManagerImpl::IsBlockRequested
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::IsBlockRequested(const uint256& hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/bitcoin-core/src/net_processing.cpp:1170,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1177
    functionName: PeerManagerImpl::IsBlockRequestedFromOutbound
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - PeerManagerImpl::GetPeerRef
    - equal_range
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::IsBlockRequestedFromOutbound(const uint256& hash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/bitcoin-core/src/net_processing.cpp:1181,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:1188,1
    - Dst: count
      Src: /src/bitcoin-core/src/net_processing.cpp:1188,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1198,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1198,1
    - Dst: vBlocksInFlight::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:1200,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net_processing.cpp:1202,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1202,1
    - Dst: vBlocksInFlight::erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1204,1
    - Dst: vBlocksInFlight::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:1206,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' hash'
    - from_peer
    argTypes:
    - uint256
    - std::optional<NodeId>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1214
    functionName: PeerManagerImpl::RemoveBlockRequest
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - vBlocksInFlight::erase
    - GetTime
    - erase
    - Assume
    - vBlocksInFlight::empty
    - std::max
    - Assert
    - PeerManagerImpl::State
    - equal_range
    - count
    - vBlocksInFlight::begin
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::RemoveBlockRequest(const uint256& hash, std::optional<NodeId>
      from_peer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1218,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1220,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1221,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:1223,1
    - Dst: count
      Src: /src/bitcoin-core/src/net_processing.cpp:1223,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/net_processing.cpp:1226,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:1236,1
    - Dst: CNodeState*::vBlocksInFlight::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:1238,1
    - Dst: CNodeState*::vBlocksInFlight::end
      Src: /src/bitcoin-core/src/net_processing.cpp:1238,1
    - Dst: std::unique_ptr<PartiallyDownloadedBlock>
      Src: /src/bitcoin-core/src/net_processing.cpp:1239,1
    - Dst: PartiallyDownloadedBlock::PartiallyDownloadedBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:1239,1
    - Dst: CNodeState*::vBlocksInFlight::size
      Src: /src/bitcoin-core/src/net_processing.cpp:1240,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1242,1
    - Dst: insert
      Src: /src/bitcoin-core/src/net_processing.cpp:1245,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net_processing.cpp:1245,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net_processing.cpp:1245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - nodeid
    - ' block'
    - pit
    argTypes:
    - NodeId
    - CBlockIndex
    - std::list<QueuedBlock>::iterator**
    assertStmts:
    - condition: (state != nullptr)
      pos:
        line_end: 1220
        line_start: 1220
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1250
      start: 1216
    functionDepth: 3
    functionLinenumber: 1216
    functionLinenumberEnd: 1250
    functionName: PeerManagerImpl::BlockRequested
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PartiallyDownloadedBlock>
    - CNodeState*::vBlocksInFlight::end
    - GetTime
    - std::make_pair
    - Assume
    - PartiallyDownloadedBlock::PartiallyDownloadedBlock
    - CNodeState*::vBlocksInFlight::insert
    - GetBlockHash
    - PeerManagerImpl::State
    - PeerManagerImpl::RemoveBlockRequest
    - CNodeState*::vBlocksInFlight::size
    - equal_range
    - assert
    - insert
    - count
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::BlockRequested(NodeId nodeid, const CBlockIndex&
      block, std::list<QueuedBlock>::iterator** pit)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:1254,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1261,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1262,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net_processing.cpp:1269,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:1269,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1271,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:1272,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1275,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1281,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1282,1
    - Dst: front
      Src: /src/bitcoin-core/src/net_processing.cpp:1282,1
    - Dst: swap
      Src: /src/bitcoin-core/src/net_processing.cpp:1286,1
    - Dst: front
      Src: /src/bitcoin-core/src/net_processing.cpp:1286,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/net_processing.cpp:1286,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net_processing.cpp:1286,1
    - Dst: ForNode
      Src: /src/bitcoin-core/src/net_processing.cpp:1290,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/net_processing.cpp:1290,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:1291,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1292,1
    - Dst: ForNode
      Src: /src/bitcoin-core/src/net_processing.cpp:1295,1
    - Dst: front
      Src: /src/bitcoin-core/src/net_processing.cpp:1295,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:1296,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/net_processing.cpp:1301,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:1303,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:1306,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:1306,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1309
    functionName: PeerManagerImpl::MaybeSetPeerAsAnnouncingHeaderAndIDs
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - end
    - ForNode
    - pop_front
    - erase
    - push_back
    - front
    - std::next
    - size
    - swap
    - PeerManagerImpl::MakeAndPushMessage
    - EXCLUSIVE_LOCKS_REQUIRED
    - PeerManagerImpl::State
    - AssertLockHeld
    - PeerManagerImpl::GetPeerRef
    - begin
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::MaybeSetPeerAsAnnouncingHeaderAndIDs(NodeId nodeid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:1313,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:1314,1
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:1315,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1316,1
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:1318,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1318,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:1318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1319
    functionName: PeerManagerImpl::TipMayBeStale
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - empty
    - load
    - AssertLockHeld
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::TipMayBeStale()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1323,1
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:1323,1
    - Dst: count
      Src: /src/bitcoin-core/src/net_processing.cpp:1323,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1324
    functionName: PeerManagerImpl::ApproximateBestBlockDepth
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - count
    - GetConsensus
    - GetTime
    - load
    linkageType: ''
    returnType: int64_t
    signature: int64_t PeerManagerImpl::ApproximateBestBlockDepth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1328,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net_processing.cpp:1328,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    functionName: PeerManagerImpl::CanDirectFetch
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - NodeClock::now
    - ActiveChain
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::CanDirectFetch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pindexBestKnownBlock::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1333,1
    - Dst: pindexBestHeaderSent::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1338
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - pindexBestKnownBlock::GetAncestor
    - pindexBestHeaderSent::GetAncestor
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1341,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1342,1
    - Dst: CNodeState*::hashLastUnknownBlock::IsNull
      Src: /src/bitcoin-core/src/net_processing.cpp:1344,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:1345,1
    - Dst: CNodeState*::hashLastUnknownBlock::SetNull
      Src: /src/bitcoin-core/src/net_processing.cpp:1350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts:
    - condition: (state != nullptr)
      pos:
        line_end: 1341
        line_start: 1341
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1353
      start: 1340
    functionDepth: 2
    functionLinenumber: 1340
    functionLinenumberEnd: 1353
    functionName: PeerManagerImpl::ProcessBlockAvailability
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_blockman::LookupBlockIndex
    - CNodeState*::hashLastUnknownBlock::SetNull
    - PeerManagerImpl::State
    - assert
    - CNodeState*::hashLastUnknownBlock::IsNull
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessBlockAvailability(NodeId nodeid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1356,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1357,1
    - Dst: PeerManagerImpl::ProcessBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:1359,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:1361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - nodeid
    - hash
    argTypes:
    - NodeId
    - uint256
    assertStmts:
    - condition: (state != nullptr)
      pos:
        line_end: 1356
        line_start: 1356
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1371
      start: 1355
    functionDepth: 3
    functionLinenumber: 1355
    functionLinenumberEnd: 1371
    functionName: PeerManagerImpl::UpdateBlockAvailability
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_blockman::LookupBlockIndex
    - PeerManagerImpl::ProcessBlockAvailability
    - assert
    - PeerManagerImpl::State
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::UpdateBlockAvailability(NodeId nodeid, const
      uint256 &hash)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/net_processing.cpp:1379,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1379,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1380,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1381,1
    - Dst: PeerManagerImpl::ProcessBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:1384,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1386,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/net_processing.cpp:1386,1
    - Dst: GetSnapshotBaseBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:1394,1
    - Dst: CNodeState*::pindexBestKnownBlock::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1395,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:1396,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1405,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net_processing.cpp:1405,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1405,1
    - Dst: LastCommonAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1410,1
    - Dst: PeerManagerImpl::FindNextBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:1420,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1420,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - ' peer'
    - count
    - ' vBlocks'
    - ' nodeStaller'
    argTypes:
    - Peer
    - unsigned int
    - std::vector<const CBlockIndex*>
    - NodeId
    assertStmts:
    - condition: (state != nullptr)
      pos:
        line_end: 1380
        line_start: 1380
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1421
      start: 1374
    functionDepth: 3
    functionLinenumber: 1374
    functionLinenumberEnd: 1421
    functionName: PeerManagerImpl::FindNextBlocksToDownload
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - PeerManagerImpl::ProcessBlockAvailability
    - PeerManagerImpl::FindNextBlocks
    - MinimumChainWork
    - LogDebug
    - GetSnapshotBaseBlock
    - size
    - LastCommonAncestor
    - ActiveChain
    - PeerManagerImpl::State
    - CNodeState*::pindexBestKnownBlock::GetAncestor
    - assert
    - std::min
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::FindNextBlocksToDownload(const Peer& peer, unsigned
      int count, std::vector<const CBlockIndex*>& vBlocks, NodeId& nodeStaller)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1425,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1426,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1428,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/net_processing.cpp:1432,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1433,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1433,1
    - Dst: CNodeState*::pindexBestKnownBlock::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1435,1
    - Dst: PeerManagerImpl::FindNextBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:1449,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:1449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ' peer'
    - count
    - ' vBlocks'
    - from_tip
    - target_block
    argTypes:
    - Peer
    - unsigned int
    - std::vector<const CBlockIndex*>
    - CBlockIndex*
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1423
    functionDepth: 2
    functionLinenumber: 1423
    functionLinenumberEnd: 1450
    functionName: PeerManagerImpl::TryDownloadingHistoricalBlocks
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - PeerManagerImpl::FindNextBlocks
    - std::min<int>
    - size
    - Assert
    - PeerManagerImpl::State
    - CNodeState*::pindexBestKnownBlock::GetAncestor
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::TryDownloadingHistoricalBlocks(const Peer& peer,
      unsigned int count, std::vector<const CBlockIndex*>& vBlocks, const CBlockIndex
      *from_tip, const CBlockIndex* target_block)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:1455,1
    - Dst: IsLimitedPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:1456,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net_processing.cpp:1462,1
    - Dst: std::max<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:1462,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1462,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/net_processing.cpp:1463,1
    - Dst: CNodeState*::pindexBestKnownBlock::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1464,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:1475,1
    - Dst: CanServeWitnesses
      Src: /src/bitcoin-core/src/net_processing.cpp:1480,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/net_processing.cpp:1480,1
    - Dst: CChain*::Contains
      Src: /src/bitcoin-core/src/net_processing.cpp:1485,1
    - Dst: HaveNumChainTxs
      Src: /src/bitcoin-core/src/net_processing.cpp:1486,1
    - Dst: PeerManagerImpl::IsBlockRequested
      Src: /src/bitcoin-core/src/net_processing.cpp:1493,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1493,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/net_processing.cpp:1496,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1496,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1504,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:1512,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:1516,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1517,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 8
    argNames:
    - ' vBlocks'
    - ' peer'
    - state
    - pindexWalk
    - count
    - nWindowEnd
    - activeChain
    - nodeStaller
    argTypes:
    - std::vector<const CBlockIndex*>
    - Peer
    - CNodeState*
    - CBlockIndex*
    - unsigned int
    - int
    - CChain*
    - NodeId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1522
    functionName: PeerManagerImpl::FindNextBlocks
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 2
    functionsReached:
    - PeerManagerImpl::IsBlockRequested
    - IsLimitedPeer
    - lower_bound
    - std::vector::resize
    - std::max<int>
    - std::min<int>
    - static_cast<int>
    - HaveNumChainTxs
    - IsValid
    - push_back
    - size
    - DeploymentActiveAt
    - CChain*::Contains
    - CNodeState*::pindexBestKnownBlock::GetAncestor
    - CanServeWitnesses
    - std::min
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::FindNextBlocks(std::vector<const CBlockIndex*>&
      vBlocks, const Peer& peer, CNodeState *state, const CBlockIndex *pindexWalk,
      unsigned int count, int nWindowEnd, const CChain* activeChain, NodeId* nodeStaller)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_block_inv_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:324,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:325,1
    - Dst: std::make_unique<Peer::TxRelay>
      Src: /src/bitcoin-core/src/net_processing.cpp:326,1
    - Dst: get
      Src: /src/bitcoin-core/src/net_processing.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: (!m_tx_relay_mutex)
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - std::make_unique<Peer::TxRelay>
    - get
    - Assume
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_tx_relay_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:332,1
    - Dst: get
      Src: /src/bitcoin-core/src/net_processing.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: (!m_tx_relay_mutex)
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - WITH_LOCK
    - get
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_tx_relay_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(NetEventsInterface::g_msgproc_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_headers_sync_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id
    - our_services
    - is_inbound
    argTypes:
    - NodeId
    - ServiceFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: Peer
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Peer(NodeId id, ServiceFlags our_services, bool is_inbound)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - height
    - time
    argTypes:
    - int
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: PeerManagerImpl::SetBestBlock
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBestBlock(int height, std::chrono::seconds time) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:545,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:545,1
    - Dst: GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: (!m_peer_mutex)
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetPeerRef
    - Assert
    - Misbehaving
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_peer_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::PushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:717,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_processing.cpp:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' msg'
    argTypes:
    - CNode
    - CSerializedNetMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: PeerManagerImpl::PushMessage
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - PeerManagerImpl::PushMessage
    linkageType: ''
    returnType: void
    signature: void PushMessage(CNode& node, CSerializedNetMsg&& msg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::PushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:721,1
    - Dst: NetMsg::Make
      Src: /src/bitcoin-core/src/net_processing.cpp:721,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_processing.cpp:721,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/net_processing.cpp:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - msg_type
    argTypes:
    - CNode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: PeerManagerImpl::MakeAndPushMessage
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - NetMsg::Make
    - std::forward<Args>
    - std::move
    - PeerManagerImpl::PushMessage
    linkageType: ''
    returnType: void
    signature: void MakeAndPushMessage(CNode& node, std::string msg_type, Args&&...
      args) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 819
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 822
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(g_msgproc_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 836
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 873
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_headers_presync_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 976
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 985
    functionName: PeerManagerImpl::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(g_msgproc_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/net_processing.cpp:1080,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pnode
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1084
    functionName: PeerManagerImpl::State
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 7
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: CNodeState
    signature: CNodeState * PeerManagerImpl::State(NodeId pnode) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CNodeState*>
      Src: /src/bitcoin-core/src/net_processing.cpp:1088,1
    - Dst: std::as_const
      Src: /src/bitcoin-core/src/net_processing.cpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pnode
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1089
    functionName: PeerManagerImpl::State
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 7
    functionsReached:
    - const_cast<CNodeState*>
    - std::as_const
    linkageType: ''
    returnType: CNodeState
    signature: CNodeState * PeerManagerImpl::State(NodeId pnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsAddrV1Compatible
      Src: /src/bitcoin-core/src/net_processing.cpp:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' peer'
    - ' addr'
    argTypes:
    - Peer
    - CAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1099
    functionName: IsAddrCompatible
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - IsAddrV1Compatible
    linkageType: ''
    returnType: bool
    signature: bool IsAddrCompatible(const Peer& peer, const CAddress& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1103,1
    - Dst: m_addr_known::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:1104,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/net_processing.cpp:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' peer'
    - ' addr'
    argTypes:
    - Peer
    - CAddress
    assertStmts:
    - condition: (peer.m_addr_known)
      pos:
        line_end: 1102
        line_start: 1102
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1105
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1105
    functionName: PeerManagerImpl::AddAddressKnown
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - assert
    - m_addr_known::insert
    - GetKey
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::AddAddressKnown(Peer& peer, const CAddress& addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1112,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:1113,1
    - Dst: m_addr_known::contains
      Src: /src/bitcoin-core/src/net_processing.cpp:1113,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/net_processing.cpp:1113,1
    - Dst: IsAddrCompatible
      Src: /src/bitcoin-core/src/net_processing.cpp:1113,1
    - Dst: m_addrs_to_send::size
      Src: /src/bitcoin-core/src/net_processing.cpp:1114,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/net_processing.cpp:1115,1
    - Dst: m_addrs_to_send::size
      Src: /src/bitcoin-core/src/net_processing.cpp:1115,1
    - Dst: m_addrs_to_send::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:1117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' peer'
    - ' addr'
    argTypes:
    - Peer
    - CAddress
    assertStmts:
    - condition: (peer.m_addr_known)
      pos:
        line_end: 1111
        line_start: 1111
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1120
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1120
    functionName: PeerManagerImpl::PushAddress
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_addrs_to_send::size
    - IsValid
    - IsAddrCompatible
    - randrange
    - m_addr_known::contains
    - assert
    - m_addrs_to_send::push_back
    - GetKey
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::PushAddress(Peer& peer, const CAddress& addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:1124,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1127,1
    - Dst: auto::m_tx_inventory_known_filter::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' peer'
    - ' hash'
    argTypes:
    - Peer
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1129
    functionName: AddKnownTx
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetTxRelay
    - auto::m_tx_inventory_known_filter::insert
    linkageType: ''
    returnType: void
    signature: void AddKnownTx(Peer& peer, const uint256& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1135
    functionName: CanServeBlocks
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CanServeBlocks(const Peer& peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1143
    functionName: IsLimitedPeer
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLimitedPeer(const Peer& peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1149
    functionName: CanServeWitnesses
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CanServeWitnesses(const Peer& peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:1154,1
    - Dst: rand_exp_duration
      Src: /src/bitcoin-core/src/net_processing.cpp:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - now
    - average_interval
    argTypes:
    - std::chrono::microseconds
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1161
    functionName: PeerManagerImpl::NextInvToInbounds
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - rand_exp_duration
    - load
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: "std::chrono::microseconds PeerManagerImpl::NextInvToInbounds(std::chrono::microseconds
      now,\n                                                             std::chrono::seconds
      average_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/net_processing.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: PeerManagerImpl::IsBlockRequested
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - count
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::IsBlockRequested(const uint256& hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/bitcoin-core/src/net_processing.cpp:1170,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1177
    functionName: PeerManagerImpl::IsBlockRequestedFromOutbound
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - PeerManagerImpl::GetPeerRef
    - equal_range
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::IsBlockRequestedFromOutbound(const uint256& hash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/bitcoin-core/src/net_processing.cpp:1181,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:1188,1
    - Dst: count
      Src: /src/bitcoin-core/src/net_processing.cpp:1188,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1198,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1198,1
    - Dst: vBlocksInFlight::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:1200,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net_processing.cpp:1202,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1202,1
    - Dst: vBlocksInFlight::erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1204,1
    - Dst: vBlocksInFlight::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:1206,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' hash'
    - from_peer
    argTypes:
    - uint256
    - std::optional<NodeId>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1214
    functionName: PeerManagerImpl::RemoveBlockRequest
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - vBlocksInFlight::erase
    - GetTime
    - erase
    - Assume
    - vBlocksInFlight::empty
    - std::max
    - Assert
    - PeerManagerImpl::State
    - equal_range
    - count
    - vBlocksInFlight::begin
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::RemoveBlockRequest(const uint256& hash, std::optional<NodeId>
      from_peer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1218,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1220,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1221,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:1223,1
    - Dst: count
      Src: /src/bitcoin-core/src/net_processing.cpp:1223,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/net_processing.cpp:1226,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:1236,1
    - Dst: CNodeState*::vBlocksInFlight::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:1238,1
    - Dst: CNodeState*::vBlocksInFlight::end
      Src: /src/bitcoin-core/src/net_processing.cpp:1238,1
    - Dst: std::unique_ptr<PartiallyDownloadedBlock>
      Src: /src/bitcoin-core/src/net_processing.cpp:1239,1
    - Dst: PartiallyDownloadedBlock::PartiallyDownloadedBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:1239,1
    - Dst: CNodeState*::vBlocksInFlight::size
      Src: /src/bitcoin-core/src/net_processing.cpp:1240,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1242,1
    - Dst: insert
      Src: /src/bitcoin-core/src/net_processing.cpp:1245,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net_processing.cpp:1245,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net_processing.cpp:1245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - nodeid
    - ' block'
    - pit
    argTypes:
    - NodeId
    - CBlockIndex
    - std::list<QueuedBlock>::iterator**
    assertStmts:
    - condition: (state != nullptr)
      pos:
        line_end: 1220
        line_start: 1220
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1250
      start: 1216
    functionDepth: 3
    functionLinenumber: 1216
    functionLinenumberEnd: 1250
    functionName: PeerManagerImpl::BlockRequested
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PartiallyDownloadedBlock>
    - CNodeState*::vBlocksInFlight::end
    - GetTime
    - std::make_pair
    - Assume
    - PartiallyDownloadedBlock::PartiallyDownloadedBlock
    - CNodeState*::vBlocksInFlight::insert
    - GetBlockHash
    - PeerManagerImpl::State
    - PeerManagerImpl::RemoveBlockRequest
    - CNodeState*::vBlocksInFlight::size
    - equal_range
    - assert
    - insert
    - count
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::BlockRequested(NodeId nodeid, const CBlockIndex&
      block, std::list<QueuedBlock>::iterator** pit)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:1254,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1261,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1262,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net_processing.cpp:1269,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:1269,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1271,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:1272,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1275,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1281,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1282,1
    - Dst: front
      Src: /src/bitcoin-core/src/net_processing.cpp:1282,1
    - Dst: swap
      Src: /src/bitcoin-core/src/net_processing.cpp:1286,1
    - Dst: front
      Src: /src/bitcoin-core/src/net_processing.cpp:1286,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/net_processing.cpp:1286,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net_processing.cpp:1286,1
    - Dst: ForNode
      Src: /src/bitcoin-core/src/net_processing.cpp:1290,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/net_processing.cpp:1290,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:1291,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1292,1
    - Dst: ForNode
      Src: /src/bitcoin-core/src/net_processing.cpp:1295,1
    - Dst: front
      Src: /src/bitcoin-core/src/net_processing.cpp:1295,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:1296,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/net_processing.cpp:1301,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:1303,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:1306,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:1306,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1309
    functionName: PeerManagerImpl::MaybeSetPeerAsAnnouncingHeaderAndIDs
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - end
    - ForNode
    - pop_front
    - erase
    - push_back
    - front
    - std::next
    - size
    - swap
    - PeerManagerImpl::MakeAndPushMessage
    - EXCLUSIVE_LOCKS_REQUIRED
    - PeerManagerImpl::State
    - AssertLockHeld
    - PeerManagerImpl::GetPeerRef
    - begin
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::MaybeSetPeerAsAnnouncingHeaderAndIDs(NodeId nodeid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:1313,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:1314,1
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:1315,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1316,1
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:1318,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1318,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:1318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1319
    functionName: PeerManagerImpl::TipMayBeStale
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - empty
    - load
    - AssertLockHeld
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::TipMayBeStale()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1323,1
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:1323,1
    - Dst: count
      Src: /src/bitcoin-core/src/net_processing.cpp:1323,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1324
    functionName: PeerManagerImpl::ApproximateBestBlockDepth
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - count
    - GetConsensus
    - GetTime
    - load
    linkageType: ''
    returnType: int64_t
    signature: int64_t PeerManagerImpl::ApproximateBestBlockDepth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1328,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net_processing.cpp:1328,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    functionName: PeerManagerImpl::CanDirectFetch
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - NodeClock::now
    - ActiveChain
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::CanDirectFetch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pindexBestKnownBlock::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1333,1
    - Dst: pindexBestHeaderSent::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1338
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 2
    functionsReached:
    - pindexBestKnownBlock::GetAncestor
    - pindexBestHeaderSent::GetAncestor
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1341,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1342,1
    - Dst: CNodeState*::hashLastUnknownBlock::IsNull
      Src: /src/bitcoin-core/src/net_processing.cpp:1344,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:1345,1
    - Dst: CNodeState*::hashLastUnknownBlock::SetNull
      Src: /src/bitcoin-core/src/net_processing.cpp:1350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts:
    - condition: (state != nullptr)
      pos:
        line_end: 1341
        line_start: 1341
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1353
      start: 1340
    functionDepth: 2
    functionLinenumber: 1340
    functionLinenumberEnd: 1353
    functionName: PeerManagerImpl::ProcessBlockAvailability
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 2
    functionsReached:
    - m_blockman::LookupBlockIndex
    - CNodeState*::hashLastUnknownBlock::SetNull
    - PeerManagerImpl::State
    - assert
    - CNodeState*::hashLastUnknownBlock::IsNull
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessBlockAvailability(NodeId nodeid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1356,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1357,1
    - Dst: PeerManagerImpl::ProcessBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:1359,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:1361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - nodeid
    - hash
    argTypes:
    - NodeId
    - uint256
    assertStmts:
    - condition: (state != nullptr)
      pos:
        line_end: 1356
        line_start: 1356
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1371
      start: 1355
    functionDepth: 3
    functionLinenumber: 1355
    functionLinenumberEnd: 1371
    functionName: PeerManagerImpl::UpdateBlockAvailability
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_blockman::LookupBlockIndex
    - PeerManagerImpl::ProcessBlockAvailability
    - assert
    - PeerManagerImpl::State
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::UpdateBlockAvailability(NodeId nodeid, const
      uint256 &hash)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/net_processing.cpp:1379,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1379,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1380,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1381,1
    - Dst: PeerManagerImpl::ProcessBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:1384,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1386,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/net_processing.cpp:1386,1
    - Dst: GetSnapshotBaseBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:1394,1
    - Dst: CNodeState*::pindexBestKnownBlock::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1395,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:1396,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1405,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net_processing.cpp:1405,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1405,1
    - Dst: LastCommonAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1410,1
    - Dst: PeerManagerImpl::FindNextBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:1420,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1420,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - ' peer'
    - count
    - ' vBlocks'
    - ' nodeStaller'
    argTypes:
    - Peer
    - unsigned int
    - std::vector<const CBlockIndex*>
    - NodeId
    assertStmts:
    - condition: (state != nullptr)
      pos:
        line_end: 1380
        line_start: 1380
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1421
      start: 1374
    functionDepth: 3
    functionLinenumber: 1374
    functionLinenumberEnd: 1421
    functionName: PeerManagerImpl::FindNextBlocksToDownload
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - PeerManagerImpl::ProcessBlockAvailability
    - PeerManagerImpl::FindNextBlocks
    - MinimumChainWork
    - LogDebug
    - GetSnapshotBaseBlock
    - size
    - LastCommonAncestor
    - ActiveChain
    - PeerManagerImpl::State
    - CNodeState*::pindexBestKnownBlock::GetAncestor
    - assert
    - std::min
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::FindNextBlocksToDownload(const Peer& peer, unsigned
      int count, std::vector<const CBlockIndex*>& vBlocks, NodeId& nodeStaller)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1425,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1426,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1428,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/net_processing.cpp:1432,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1433,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1433,1
    - Dst: CNodeState*::pindexBestKnownBlock::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1435,1
    - Dst: PeerManagerImpl::FindNextBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:1449,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:1449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ' peer'
    - count
    - ' vBlocks'
    - from_tip
    - target_block
    argTypes:
    - Peer
    - unsigned int
    - std::vector<const CBlockIndex*>
    - CBlockIndex*
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1423
    functionDepth: 2
    functionLinenumber: 1423
    functionLinenumberEnd: 1450
    functionName: PeerManagerImpl::TryDownloadingHistoricalBlocks
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - PeerManagerImpl::FindNextBlocks
    - std::min<int>
    - size
    - Assert
    - PeerManagerImpl::State
    - CNodeState*::pindexBestKnownBlock::GetAncestor
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::TryDownloadingHistoricalBlocks(const Peer& peer,
      unsigned int count, std::vector<const CBlockIndex*>& vBlocks, const CBlockIndex
      *from_tip, const CBlockIndex* target_block)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:1455,1
    - Dst: IsLimitedPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:1456,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net_processing.cpp:1462,1
    - Dst: std::max<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:1462,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1462,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/net_processing.cpp:1463,1
    - Dst: CNodeState*::pindexBestKnownBlock::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:1464,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:1475,1
    - Dst: CanServeWitnesses
      Src: /src/bitcoin-core/src/net_processing.cpp:1480,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/net_processing.cpp:1480,1
    - Dst: CChain*::Contains
      Src: /src/bitcoin-core/src/net_processing.cpp:1485,1
    - Dst: HaveNumChainTxs
      Src: /src/bitcoin-core/src/net_processing.cpp:1486,1
    - Dst: PeerManagerImpl::IsBlockRequested
      Src: /src/bitcoin-core/src/net_processing.cpp:1493,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1493,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/net_processing.cpp:1496,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1496,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1504,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:1512,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:1516,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1517,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 8
    argNames:
    - ' vBlocks'
    - ' peer'
    - state
    - pindexWalk
    - count
    - nWindowEnd
    - activeChain
    - nodeStaller
    argTypes:
    - std::vector<const CBlockIndex*>
    - Peer
    - CNodeState*
    - CBlockIndex*
    - unsigned int
    - int
    - CChain*
    - NodeId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1522
    functionName: PeerManagerImpl::FindNextBlocks
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 4
    functionsReached:
    - PeerManagerImpl::IsBlockRequested
    - IsLimitedPeer
    - lower_bound
    - std::vector::resize
    - std::max<int>
    - std::min<int>
    - static_cast<int>
    - HaveNumChainTxs
    - IsValid
    - push_back
    - size
    - DeploymentActiveAt
    - CChain*::Contains
    - CNodeState*::pindexBestKnownBlock::GetAncestor
    - CanServeWitnesses
    - std::min
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::FindNextBlocks(std::vector<const CBlockIndex*>&
      vBlocks, const Peer& peer, CNodeState *state, const CBlockIndex *pindexWalk,
      unsigned int count, int nWindowEnd, const CChain* activeChain, NodeId* nodeStaller)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net_processing.cpp:1529,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1529,1
    - Dst: GetLocalNonce
      Src: /src/bitcoin-core/src/net_processing.cpp:1530,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:1532,1
    - Dst: CAddress::IsRoutable
      Src: /src/bitcoin-core/src/net_processing.cpp:1535,1
    - Dst: IsProxy
      Src: /src/bitcoin-core/src/net_processing.cpp:1535,1
    - Dst: CAddress::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/net_processing.cpp:1535,1
    - Dst: CService
      Src: /src/bitcoin-core/src/net_processing.cpp:1535,1
    - Dst: PeerManagerImpl::RejectIncomingTxs
      Src: /src/bitcoin-core/src/net_processing.cpp:1538,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:1539,1
    - Dst: V1Transport::ShouldReconnectV1
      Src: /src/bitcoin-core/src/net_processing.cpp:1540,1
    - Dst: V1Transport::ShouldReconnectV1
      Src: /src/bitcoin-core/src/net_processing.cpp:1541,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:1545,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/net_processing.cpp:1545,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:1547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' pnode'
    - ' peer'
    argTypes:
    - CNode
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1526
    functionDepth: 3
    functionLinenumber: 1526
    functionLinenumberEnd: 1549
    functionName: PeerManagerImpl::PushNodeVersion
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetLocalNonce
    - GetTime
    - IsProxy
    - LogDebug
    - PeerManagerImpl::MakeAndPushMessage
    - CAddress::IsAddrV1Compatible
    - CService::ToStringAddrPort
    - PeerManagerImpl::RejectIncomingTxs
    - CAddress::IsRoutable
    - CService
    - V1Transport::ShouldReconnectV1
    - count_seconds
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::PushNodeVersion(CNode& pnode, const Peer& peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1553,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - node
    - time_in_seconds
    argTypes:
    - NodeId
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1551
    functionDepth: 2
    functionLinenumber: 1551
    functionLinenumberEnd: 1556
    functionName: PeerManagerImpl::UpdateLastBlockAnnounceTime
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - PeerManagerImpl::State
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::UpdateLastBlockAnnounceTime(NodeId node, int64_t
      time_in_seconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:1560,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1562,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/net_processing.cpp:1563,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:1563,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1565,1
    - Dst: CheckIsEmpty
      Src: /src/bitcoin-core/src/net_processing.cpp:1565,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net_processing.cpp:1567,1
    - Dst: static_cast<ServiceFlags>
      Src: /src/bitcoin-core/src/net_processing.cpp:1568,1
    - Dst: std::make_shared<Peer>
      Src: /src/bitcoin-core/src/net_processing.cpp:1571,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:1571,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1573,1
    - Dst: emplace_hint
      Src: /src/bitcoin-core/src/net_processing.cpp:1574,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:1574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' node'
    - our_services
    argTypes:
    - CNode
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1576
    functionName: PeerManagerImpl::InitializeNode
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - end
    - CheckIsEmpty
    - WITH_LOCK
    - IsInboundConn
    - emplace_hint
    - LOCK
    - NetPermissions::HasFlag
    - static_cast<ServiceFlags>
    - std::make_shared<Peer>
    - try_emplace
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::InitializeNode(const CNode& node, ServiceFlags
      our_services)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetUnbroadcastTxs
      Src: /src/bitcoin-core/src/net_processing.cpp:1580,1
    - Dst: get
      Src: /src/bitcoin-core/src/net_processing.cpp:1583,1
    - Dst: PeerManagerImpl::RelayTransaction
      Src: /src/bitcoin-core/src/net_processing.cpp:1586,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/net_processing.cpp:1586,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1586,1
    - Dst: RemoveUnbroadcastTx
      Src: /src/bitcoin-core/src/net_processing.cpp:1588,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/net_processing.cpp:1594,1
    - Dst: scheduleFromNow
      Src: /src/bitcoin-core/src/net_processing.cpp:1595,1
    - Dst: PeerManagerImpl::ReattemptInitialBroadcast
      Src: /src/bitcoin-core/src/net_processing.cpp:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' scheduler'
    argTypes:
    - CScheduler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1596
    functionName: PeerManagerImpl::ReattemptInitialBroadcast
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - PeerManagerImpl::ReattemptInitialBroadcast
    - PeerManagerImpl::RelayTransaction
    - GetUnbroadcastTxs
    - RemoveUnbroadcastTx
    - transaction_identifier::FromUint256
    - CTransactionRef::GetWitnessHash
    - scheduleFromNow
    - get
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ReattemptInitialBroadcast(CScheduler& scheduler)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:1600,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1602,1
    - Dst: PeerManagerImpl::RemovePeer
      Src: /src/bitcoin-core/src/net_processing.cpp:1609,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1610,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1612,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1614,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1615,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/net_processing.cpp:1621,1
    - Dst: pindex::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1621,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1627,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1632,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:1633,1
    - Dst: ForgetPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:1635,1
    - Dst: CNodeState*::vBlocksInFlight::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:1637,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1638,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1640,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1642,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:1644,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1646,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:1646,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1647,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1648,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1649,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:1650,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1651,1
    - Dst: CheckIsEmpty
      Src: /src/bitcoin-core/src/net_processing.cpp:1651,1
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/net_processing.cpp:1655,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:1655,1
    - Dst: Connected
      Src: /src/bitcoin-core/src/net_processing.cpp:1659,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1662,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1663,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:1665,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - CNode
    assertStmts:
    - condition: (state != nullptr)
      pos:
        line_end: 1614
        line_start: 1614
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (m_num_preferred_download_peers == 0)
      pos:
        line_end: 1646
        line_start: 1646
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (m_outbound_peers_with_protect_from_disconnect == 0)
      pos:
        line_end: 1648
        line_start: 1648
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (peer != nullptr)
      pos:
        line_end: 1609
        line_start: 1609
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (m_peers_downloading_from == 0)
      pos:
        line_end: 1647
        line_start: 1647
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (m_wtxid_relay_peers >= 0)
      pos:
        line_end: 1611
        line_start: 1611
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (m_outbound_peers_with_protect_from_disconnect >= 0)
      pos:
        line_end: 1639
        line_start: 1639
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (mapBlocksInFlight.empty())
      pos:
        line_end: 1645
        line_start: 1645
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (m_peers_downloading_from >= 0)
      pos:
        line_end: 1637
        line_start: 1637
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (m_wtxid_relay_peers == 0)
      pos:
        line_end: 1649
        line_start: 1649
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 1666
      start: 1598
    functionDepth: 2
    functionLinenumber: 1598
    functionLinenumberEnd: 1666
    functionName: PeerManagerImpl::FinalizeNode
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - CheckIsEmpty
    - pindex::GetBlockHash
    - erase
    - empty
    - DisconnectedPeer
    - PeerManagerImpl::RemovePeer
    - CNodeState*::vBlocksInFlight::empty
    - WITH_LOCK
    - IsInboundConn
    - LogDebug
    - LOCK
    - PeerManagerImpl::State
    - ForgetPeer
    - Connected
    - IsBlockOnlyConn
    - assert
    - equal_range
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::FinalizeNode(const CNode& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::GetDesirableServiceFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - services
    argTypes:
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1668
    functionDepth: 1
    functionLinenumber: 1668
    functionLinenumberEnd: 1672
    functionName: PeerManagerImpl::HasAllDesirableServiceFlags
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - PeerManagerImpl::GetDesirableServiceFlags
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::HasAllDesirableServiceFlags(ServiceFlags services)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::ApproximateBestBlockDepth
      Src: /src/bitcoin-core/src/net_processing.cpp:1678,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:1679,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:1682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - services
    argTypes:
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1683
    functionName: PeerManagerImpl::GetDesirableServiceFlags
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - ServiceFlags
    - PeerManagerImpl::ApproximateBestBlockDepth
    linkageType: ''
    returnType: ServiceFlags
    signature: ServiceFlags PeerManagerImpl::GetDesirableServiceFlags(ServiceFlags
      services) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1687,1
    - Dst: find
      Src: /src/bitcoin-core/src/net_processing.cpp:1688,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1690
    functionName: PeerManagerImpl::GetPeerRef
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 4
    functionsReached:
    - end
    - LOCK
    - find
    linkageType: ''
    returnType: PeerRef
    signature: PeerRef PeerManagerImpl::GetPeerRef(NodeId id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1695,1
    - Dst: find
      Src: /src/bitcoin-core/src/net_processing.cpp:1696,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:1697,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_processing.cpp:1698,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1702
    functionName: PeerManagerImpl::RemovePeer
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - end
    - erase
    - std::move
    - LOCK
    - find
    linkageType: ''
    returnType: PeerRef
    signature: PeerRef PeerManagerImpl::RemovePeer(NodeId id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1707,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:1708,1
    - Dst: vHeightInFlight::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:1715,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1719,1
    - Dst: PeerRef::m_ping_start::load
      Src: /src/bitcoin-core/src/net_processing.cpp:1730,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1731,1
    - Dst: PeerRef::m_ping_start::load
      Src: /src/bitcoin-core/src/net_processing.cpp:1731,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:1734,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1735,1
    - Dst: auto::m_fee_filter_received::load
      Src: /src/bitcoin-core/src/net_processing.cpp:1736,1
    - Dst: PeerRef::m_addr_processed::load
      Src: /src/bitcoin-core/src/net_processing.cpp:1743,1
    - Dst: PeerRef::m_addr_rate_limited::load
      Src: /src/bitcoin-core/src/net_processing.cpp:1744,1
    - Dst: PeerRef::m_addr_relay_enabled::load
      Src: /src/bitcoin-core/src/net_processing.cpp:1745,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1747,1
    - Dst: PeerRef::m_headers_sync::GetPresyncHeight
      Src: /src/bitcoin-core/src/net_processing.cpp:1749,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - nodeid
    - ' stats'
    argTypes:
    - NodeId
    - CNodeStateStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1704
    functionDepth: 2
    functionLinenumber: 1704
    functionLinenumberEnd: 1755
    functionName: PeerManagerImpl::GetNodeStateStats
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - PeerRef::m_ping_start::load
    - PeerRef::m_addr_processed::load
    - WITH_LOCK
    - auto::m_fee_filter_received::load
    - LOCK
    - vHeightInFlight::push_back
    - PeerManagerImpl::State
    - PeerRef::m_addr_relay_enabled::load
    - PeerRef::m_addr_rate_limited::load
    - PeerManagerImpl::GetPeerRef
    - PeerRef::GetTxRelay
    - PeerRef::m_headers_sync::GetPresyncHeight
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::GetNodeStateStats(NodeId nodeid, CNodeStateStats&
      stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1759,1
    - Dst: PeerManagerImpl::GetOrphanTransactions
      Src: /src/bitcoin-core/src/net_processing.cpp:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1757
    functionDepth: 1
    functionLinenumber: 1757
    functionLinenumberEnd: 1761
    functionName: PeerManagerImpl::GetOrphanTransactions
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - PeerManagerImpl::GetOrphanTransactions
    linkageType: ''
    returnType: std::vector<node::TxOrphanage::OrphanInfo>
    signature: std::vector<node::TxOrphanage::OrphanInfo> PeerManagerImpl::GetOrphanTransactions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Median
      Src: /src/bitcoin-core/src/net_processing.cpp:1766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1769
    functionName: PeerManagerImpl::GetInfo
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - Median
    linkageType: ''
    returnType: PeerManagerInfo
    signature: PeerManagerInfo PeerManagerImpl::GetInfo() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:1775,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net_processing.cpp:1776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1779
    functionName: PeerManagerImpl::AddToCompactExtraTransactions
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::AddToCompactExtraTransactions(const CTransactionRef&
      tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1783,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:1785,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:1787,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/net_processing.cpp:1788,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/net_processing.cpp:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' peer'
    - ' message'
    argTypes:
    - Peer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1792
    functionName: PeerManagerImpl::Misbehaving
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - empty
    - LogDebug
    - TRACEPOINT
    - LOCK
    - c_str
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::Misbehaving(Peer& peer, const std::string& message)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1797,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/net_processing.cpp:1798,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:1809,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:1818,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:1825,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:1829,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:1835,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - nodeid
    - ' state'
    - via_compact_block
    - ' message'
    argTypes:
    - NodeId
    - BlockValidationState
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1794
    functionDepth: 2
    functionLinenumber: 1794
    functionLinenumberEnd: 1837
    functionName: PeerManagerImpl::MaybePunishNodeForBlock
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - LogDebug
    - PeerManagerImpl::GetPeerRef
    - PeerManagerImpl::Misbehaving
    - GetResult
    linkageType: ''
    returnType: void
    signature: "void PeerManagerImpl::MaybePunishNodeForBlock(NodeId nodeid, const
      BlockValidationState& state,\n                                              bool
      via_compact_block, const std::string& message)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1841,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/net_processing.cpp:1842,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:1847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - nodeid
    - ' state'
    argTypes:
    - NodeId
    - TxValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1839
    functionDepth: 2
    functionLinenumber: 1839
    functionLinenumberEnd: 1863
    functionName: PeerManagerImpl::MaybePunishNodeForTx
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - PeerManagerImpl::GetPeerRef
    - PeerManagerImpl::Misbehaving
    - GetResult
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::MaybePunishNodeForTx(NodeId nodeid, const TxValidationState&
      state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:1867,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:1868,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:1869,1
    - Dst: m_best_header::GetBlockTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1870,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1870,1
    - Dst: GetBlockProofEquivalentTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1871,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:1871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1872
    functionName: PeerManagerImpl::BlockRequestAllowed
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetBlockProofEquivalentTime
    - CBlockIndex*::IsValid
    - ActiveChain
    - CBlockIndex*::GetBlockTime
    - m_best_header::GetBlockTime
    - AssertLockHeld
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::BlockRequestAllowed(const CBlockIndex* pindex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: m_blockman::LoadingBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:1876,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:1879,1
    - Dst: CanServeWitnesses
      Src: /src/bitcoin-core/src/net_processing.cpp:1883,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1885,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:1888,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1888,1
    - Dst: PeerManagerImpl::BlockRequested
      Src: /src/bitcoin-core/src/net_processing.cpp:1891,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:1894,1
    - Dst: CInv
      Src: /src/bitcoin-core/src/net_processing.cpp:1895,1
    - Dst: ForNode
      Src: /src/bitcoin-core/src/net_processing.cpp:1898,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:1899,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:1905,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:1906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - peer_id
    - ' block_index'
    argTypes:
    - NodeId
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1874
    functionDepth: 4
    functionLinenumber: 1874
    functionLinenumberEnd: 1908
    functionName: PeerManagerImpl::FetchBlock
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - ForNode
    - ToString
    - CInv
    - LogDebug
    - PeerManagerImpl::MakeAndPushMessage
    - PeerManagerImpl::BlockRequested
    - LOCK
    - PeerManagerImpl::RemoveBlockRequest
    - CanServeWitnesses
    - PeerManagerImpl::GetPeerRef
    - GetBlockHash
    - m_blockman::LoadingBlocks
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> PeerManagerImpl::FetchBlock(NodeId peer_id,
      const CBlockIndex& block_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PeerManagerImpl>
      Src: /src/bitcoin-core/src/net_processing.cpp:1914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' connman'
    - ' addrman'
    - banman
    - ' chainman'
    - ' pool'
    - ' warnings'
    - opts
    argTypes:
    - CConnman
    - AddrMan
    - BanMan*
    - ChainstateManager
    - CTxMemPool
    - node::Warnings
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1915
    functionName: PeerManager::make
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PeerManagerImpl>
    linkageType: ''
    returnType: std::unique_ptr<PeerManager>
    signature: "std::unique_ptr<PeerManager> PeerManager::make(CConnman& connman,
      AddrMan& addrman,\n                                               BanMan* banman,
      ChainstateManager& chainman,\n                                               CTxMemPool&
      pool, node::Warnings& warnings, Options opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParams
      Src: /src/bitcoin-core/src/net_processing.cpp:1922,1
    - Dst: std::make_unique<TxReconciliationTracker>
      Src: /src/bitcoin-core/src/net_processing.cpp:1935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - ' connman'
    - ' addrman'
    - banman
    - ' chainman'
    - ' pool'
    - ' warnings'
    - opts
    argTypes:
    - CConnman
    - AddrMan
    - BanMan*
    - ChainstateManager
    - CTxMemPool
    - node::Warnings
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1937
    functionName: PeerManagerImpl::PeerManagerImpl
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetParams
    - std::make_unique<TxReconciliationTracker>
    linkageType: ''
    returnType: void
    signature: "void PeerManagerImpl::PeerManagerImpl(CConnman& connman, AddrMan&
      addrman,\n                                 BanMan* banman, ChainstateManager&
      chainman,\n                                 CTxMemPool& pool, node::Warnings&
      warnings, Options opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheduleEvery
      Src: /src/bitcoin-core/src/net_processing.cpp:1946,1
    - Dst: PeerManagerImpl::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/net_processing.cpp:1946,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/net_processing.cpp:1949,1
    - Dst: scheduleFromNow
      Src: /src/bitcoin-core/src/net_processing.cpp:1950,1
    - Dst: PeerManagerImpl::ReattemptInitialBroadcast
      Src: /src/bitcoin-core/src/net_processing.cpp:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' scheduler'
    argTypes:
    - CScheduler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1939
    functionDepth: 2
    functionLinenumber: 1939
    functionLinenumberEnd: 1951
    functionName: PeerManagerImpl::StartScheduledTasks
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - PeerManagerImpl::ReattemptInitialBroadcast
    - scheduleEvery
    - PeerManagerImpl::CheckForStaleTipAndEvictPeers
    - scheduleFromNow
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::StartScheduledTasks(CScheduler& scheduler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:1957,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:1958,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1961,1
    - Dst: PeerManagerImpl::ActiveTipChange
      Src: /src/bitcoin-core/src/net_processing.cpp:1965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' new_tip'
    - is_ibd
    argTypes:
    - CBlockIndex
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1953
    functionDepth: 1
    functionLinenumber: 1953
    functionLinenumberEnd: 1967
    functionName: PeerManagerImpl::ActiveTipChange
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    - PeerManagerImpl::ActiveTipChange
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ActiveTipChange(const CBlockIndex& new_tip, bool
      is_ibd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:1982,1
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:1985,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:1986,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net_processing.cpp:1988,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/bitcoin-core/src/net_processing.cpp:1988,1
    - Dst: compare_exchange_strong
      Src: /src/bitcoin-core/src/net_processing.cpp:1989,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:1990,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net_processing.cpp:1990,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:1999,1
    - Dst: PeerManagerImpl::BlockConnected
      Src: /src/bitcoin-core/src/net_processing.cpp:2000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - role
    - ' pblock'
    - pindex
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1975
    functionDepth: 1
    functionLinenumber: 1975
    functionLinenumberEnd: 2001
    functionName: PeerManagerImpl::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - compare_exchange_strong
    - GetTime
    - Assume
    - LogDebug
    - load
    - PeerManagerImpl::BlockConnected
    - std::max
    - LOCK
    - std::chrono::duration_cast<std::chrono::seconds>
    - count_seconds
    linkageType: ''
    returnType: void
    signature: "void PeerManagerImpl::BlockConnected(\n    ChainstateRole role,\n
      \   const std::shared_ptr<const CBlock>& pblock,\n    const CBlockIndex* pindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2005,1
    - Dst: PeerManagerImpl::BlockDisconnected
      Src: /src/bitcoin-core/src/net_processing.cpp:2006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - block
    - pindex
    argTypes:
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 2003
    functionDepth: 1
    functionLinenumber: 2003
    functionLinenumberEnd: 2007
    functionName: PeerManagerImpl::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - PeerManagerImpl::BlockDisconnected
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::BlockDisconnected(const std::shared_ptr<const
      CBlock> &block, const CBlockIndex* pindex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const CBlockHeaderAndShortTxIDs>
      Src: /src/bitcoin-core/src/net_processing.cpp:2015,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/net_processing.cpp:2015,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2017,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/net_processing.cpp:2023,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2025,1
    - Dst: std::async
      Src: /src/bitcoin-core/src/net_processing.cpp:2027,1
    - Dst: NetMsg::Make
      Src: /src/bitcoin-core/src/net_processing.cpp:2027,1
    - Dst: std::make_unique<std::map<GenTxid, CTransactionRef>>
      Src: /src/bitcoin-core/src/net_processing.cpp:2030,1
    - Dst: auto::emplace
      Src: /src/bitcoin-core/src/net_processing.cpp:2032,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2032,1
    - Dst: auto::emplace
      Src: /src/bitcoin-core/src/net_processing.cpp:2033,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2033,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2036,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_processing.cpp:2040,1
    - Dst: ForEachNode
      Src: /src/bitcoin-core/src/net_processing.cpp:2043,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/net_processing.cpp:2043,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:2044,1
    - Dst: GetCommonVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:2046,1
    - Dst: PeerManagerImpl::ProcessBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:2048,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2048,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:2049,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2049,1
    - Dst: PeerHasHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:2052,1
    - Dst: PeerHasHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:2052,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2054,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:2055,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2055,1
    - Dst: std::shared_future::get
      Src: /src/bitcoin-core/src/net_processing.cpp:2057,1
    - Dst: PeerManagerImpl::PushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2058,1
    - Dst: Copy
      Src: /src/bitcoin-core/src/net_processing.cpp:2058,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - pindex
    - ' pblock'
    argTypes:
    - CBlockIndex*
    - std::shared_ptr<const CBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2013
    functionDepth: 3
    functionLinenumber: 2013
    functionLinenumberEnd: 2062
    functionName: PeerManagerImpl::NewPoWValidBlock
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    - std::make_shared<const CBlockHeaderAndShortTxIDs>
    - std::make_unique<std::map<GenTxid, CTransactionRef>>
    - std::move
    - DeploymentActiveAt
    - PeerManagerImpl::State
    - std::shared_future::get
    - Copy
    - ForEachNode
    - AssertLockHeld
    - GetCommonVersion
    - std::async
    - PeerManagerImpl::ProcessBlockAvailability
    - GetWitnessHash
    - NetMsg::Make
    - LogDebug
    - uint256::ToString
    - auto::emplace
    - PeerHasHeader
    - GetId
    - PeerManagerImpl::PushMessage
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::NewPoWValidBlock(const CBlockIndex *pindex, const
      std::shared_ptr<const CBlock>& pblock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::SetBestBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:2070,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/net_processing.cpp:2070,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:2079,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2079,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2081,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2089,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2092,1
    - Dst: m_blocks_for_headers_relay::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:2094,1
    - Dst: WakeMessageHandler
      Src: /src/bitcoin-core/src/net_processing.cpp:2099,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pindexNew
    - pindexFork
    - fInitialDownload
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2100
    functionName: PeerManagerImpl::UpdatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_blocks_for_headers_relay::push_back
    - std::vector::push_back
    - LOCK
    - CBlockIndex*::GetBlockTime
    - CBlockIndex*::GetBlockHash
    - PeerManagerImpl::SetBestBlock
    - WakeMessageHandler
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::UpdatedBlockTip(const CBlockIndex *pindexNew,
      const CBlockIndex *pindexFork, bool fInitialDownload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2108,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2110,1
    - Dst: find
      Src: /src/bitcoin-core/src/net_processing.cpp:2111,1
    - Dst: IsInvalid
      Src: /src/bitcoin-core/src/net_processing.cpp:2115,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:2116,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:2117,1
    - Dst: PeerManagerImpl::MaybePunishNodeForBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:2118,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:2126,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:2127,1
    - Dst: count
      Src: /src/bitcoin-core/src/net_processing.cpp:2128,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:2128,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:2129,1
    - Dst: PeerManagerImpl::MaybeSetPeerAsAnnouncingHeaderAndIDs
      Src: /src/bitcoin-core/src/net_processing.cpp:2130,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:2133,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:2134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' block'
    - ' state'
    argTypes:
    - CBlock
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2106
    functionDepth: 4
    functionLinenumber: 2106
    functionLinenumberEnd: 2135
    functionName: PeerManagerImpl::BlockChecked
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - end
    - PeerManagerImpl::MaybeSetPeerAsAnnouncingHeaderAndIDs
    - erase
    - IsInitialBlockDownload
    - GetHash
    - PeerManagerImpl::MaybePunishNodeForBlock
    - IsValid
    - size
    - IsInvalid
    - LOCK
    - PeerManagerImpl::State
    - find
    - count
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::BlockChecked(const CBlock& block, const BlockValidationState&
      state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:2144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2145
    functionName: PeerManagerImpl::AlreadyHaveBlock
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_blockman::LookupBlockIndex
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::AlreadyHaveBlock(const uint256& block_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2151
    functionName: PeerManagerImpl::SendPings
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::SendPings()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2155,1
    - Dst: GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:2158,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2161,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/net_processing.cpp:2169,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/net_processing.cpp:2169,1
    - Dst: auto::m_tx_inventory_known_filter::contains
      Src: /src/bitcoin-core/src/net_processing.cpp:2170,1
    - Dst: auto::m_tx_inventory_to_send::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:2171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' txid'
    - ' wtxid'
    argTypes:
    - Txid
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2174
    functionName: PeerManagerImpl::RelayTransaction
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - auto::m_tx_inventory_to_send::insert
    - ToUint256
    - LOCK
    - auto::m_tx_inventory_known_filter::contains
    - GetTxRelay
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::RelayTransaction(const Txid& txid, const Wtxid&
      wtxid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsRelayable
      Src: /src/bitcoin-core/src/net_processing.cpp:2186,1
    - Dst: CServiceHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2191,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:2192,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/net_processing.cpp:2194,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net_processing.cpp:2194,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net_processing.cpp:2194,1
    - Dst: GetDeterministicRandomizer
      Src: /src/bitcoin-core/src/net_processing.cpp:2195,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/net_processing.cpp:2200,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:2203,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2203,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2205,1
    - Dst: IsAddrCompatible
      Src: /src/bitcoin-core/src/net_processing.cpp:2208,1
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/net_processing.cpp:2209,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net_processing.cpp:2212,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:2212,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:2212,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:2212,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net_processing.cpp:2213,1
    - Dst: get
      Src: /src/bitcoin-core/src/net_processing.cpp:2213,1
    - Dst: PeerManagerImpl::PushAddress
      Src: /src/bitcoin-core/src/net_processing.cpp:2221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - originator
    - ' addr'
    - fReachable
    argTypes:
    - NodeId
    - CAddress
    - bool
    assertStmts:
    - condition: (nRelayNodes <= best.size())
      pos:
        line_end: 2202
        line_start: 2202
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 2223
      start: 2176
    functionDepth: 2
    functionLinenumber: 2176
    functionLinenumberEnd: 2223
    functionName: PeerManagerImpl::RelayAddress
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - std::copy
    - GetTime
    - std::make_pair
    - IsAddrCompatible
    - CSipHasher
    - GetDeterministicRandomizer
    - LOCK
    - std::array::size
    - std::array::begin
    - get
    - PeerManagerImpl::PushAddress
    - CSipHasher::Finalize
    - IsRelayable
    - assert
    - count_seconds
    - CServiceHash
    linkageType: ''
    returnType: void
    signature: "void PeerManagerImpl::RelayAddress(NodeId originator,\n                                   const
      CAddress& addr,\n                                   bool fReachable)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2230,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2237,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:2238,1
    - Dst: CBlockIndex*::HaveNumChainTxs
      Src: /src/bitcoin-core/src/net_processing.cpp:2240,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:2240,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:2241,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/net_processing.cpp:2253,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2254,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:2254,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2263,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:2264,1
    - Dst: PeerManagerImpl::BlockRequestAllowed
      Src: /src/bitcoin-core/src/net_processing.cpp:2268,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2269,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2269,1
    - Dst: OutboundTargetReached
      Src: /src/bitcoin-core/src/net_processing.cpp:2273,1
    - Dst: m_best_header::GetBlockTime
      Src: /src/bitcoin-core/src/net_processing.cpp:2274,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/net_processing.cpp:2274,1
    - Dst: IsMsgFilteredBlk
      Src: /src/bitcoin-core/src/net_processing.cpp:2274,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:2275,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2277,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:2277,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:2281,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:2283,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2286,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:2286,1
    - Dst: PeerManagerImpl::CanDirectFetch
      Src: /src/bitcoin-core/src/net_processing.cpp:2296,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/net_processing.cpp:2297,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2301,1
    - Dst: IsMsgWitnessBlk
      Src: /src/bitcoin-core/src/net_processing.cpp:2303,1
    - Dst: m_blockman::ReadRawBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:2307,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2308,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/net_processing.cpp:2308,1
    - Dst: m_blockman::IsBlockPruned
      Src: /src/bitcoin-core/src/net_processing.cpp:2308,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2309,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:2309,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/net_processing.cpp:2311,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:2311,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2316,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/net_processing.cpp:2320,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:2321,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2322,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/net_processing.cpp:2322,1
    - Dst: m_blockman::IsBlockPruned
      Src: /src/bitcoin-core/src/net_processing.cpp:2322,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2323,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:2323,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/net_processing.cpp:2325,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:2325,1
    - Dst: IsMsgBlk
      Src: /src/bitcoin-core/src/net_processing.cpp:2333,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2334,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/net_processing.cpp:2334,1
    - Dst: IsMsgWitnessBlk
      Src: /src/bitcoin-core/src/net_processing.cpp:2335,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2336,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/net_processing.cpp:2336,1
    - Dst: IsMsgFilteredBlk
      Src: /src/bitcoin-core/src/net_processing.cpp:2337,1
    - Dst: CMerkleBlock::CMerkleBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:2339,1
    - Dst: GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:2340,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2341,1
    - Dst: CMerkleBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:2344,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2348,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2357,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/net_processing.cpp:2357,1
    - Dst: IsMsgCmpctBlk
      Src: /src/bitcoin-core/src/net_processing.cpp:2361,1
    - Dst: std::shared_ptr::header::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2367,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2368,1
    - Dst: rand64
      Src: /src/bitcoin-core/src/net_processing.cpp:2370,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2371,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2374,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/net_processing.cpp:2374,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2380,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:2387,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2387,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2388,1
    - Dst: m_continuation_block::SetNull
      Src: /src/bitcoin-core/src/net_processing.cpp:2389,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 109
    argCount: 3
    argNames:
    - ' pfrom'
    - ' peer'
    - ' inv'
    argTypes:
    - CNode
    - Peer
    - CInv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2225
    functionDepth: 3
    functionLinenumber: 2225
    functionLinenumberEnd: 2392
    functionName: PeerManagerImpl::ProcessGetBlockData
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - PeerManagerImpl::BlockRequestAllowed
    - CMerkleBlock
    - rand64
    - m_best_header::GetBlockTime
    - OutboundTargetReached
    - m_blockman::ReadRawBlock
    - std::shared_ptr::GetHash
    - IsMsgFilteredBlk
    - CMerkleBlock::CMerkleBlock
    - TX_NO_WITNESS
    - DisconnectMsg
    - PeerManagerImpl::MakeAndPushMessage
    - IsMsgWitnessBlk
    - CBlockIndex*::GetBlockTime
    - CBlockIndex*::GetBlockHash
    - m_blockman::ReadBlock
    - std::shared_ptr::header::GetHash
    - IsMsgBlk
    - CBlockIndex*::HaveNumChainTxs
    - m_continuation_block::SetNull
    - BlockValidationState::ToString
    - LogError
    - std::make_shared<CBlock>
    - GetTxRelay
    - LogDebug
    - WITH_LOCK
    - IsMsgCmpctBlk
    - m_blockman::LookupBlockIndex
    - ActiveChain
    - m_blockman::IsBlockPruned
    - GetId
    - PeerManagerImpl::CanDirectFetch
    - GetMutex
    - CBlockIndex*::IsValid
    - LOCK
    - CBlockIndex*::GetBlockPos
    - ActiveChainstate
    - TX_WITH_WITNESS
    - HasPermission
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessGetBlockData(CNode& pfrom, Peer& peer,
      const CInv& inv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/net_processing.cpp:2396,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/net_processing.cpp:2397,1
    - Dst: info_for_relay
      Src: /src/bitcoin-core/src/net_processing.cpp:2398,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_processing.cpp:2403,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2408,1
    - Dst: find
      Src: /src/bitcoin-core/src/net_processing.cpp:2410,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:2411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' tx_relay'
    - ' gtxid'
    argTypes:
    - Peer::TxRelay
    - GenTxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2394
    functionDepth: 1
    functionLinenumber: 2394
    functionLinenumberEnd: 2416
    functionName: PeerManagerImpl::FindTxForGetData
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - info_for_relay
    - end
    - std::visit
    - std::move
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - find
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef PeerManagerImpl::FindTxForGetData(const Peer::TxRelay&
      tx_relay, const GenTxid& gtxid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:2420,1
    - Dst: GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:2422,1
    - Dst: m_getdata_requests::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:2424,1
    - Dst: m_getdata_requests::end
      Src: /src/bitcoin-core/src/net_processing.cpp:2430,1
    - Dst: std::deque<CInv>::iterator::IsGenTxMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:2430,1
    - Dst: PeerManagerImpl::FindTxForGetData
      Src: /src/bitcoin-core/src/net_processing.cpp:2444,1
    - Dst: ToGenTxid
      Src: /src/bitcoin-core/src/net_processing.cpp:2444,1
    - Dst: CInv::IsMsgTx
      Src: /src/bitcoin-core/src/net_processing.cpp:2446,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2447,1
    - Dst: maybe_with_witness
      Src: /src/bitcoin-core/src/net_processing.cpp:2447,1
    - Dst: RemoveUnbroadcastTx
      Src: /src/bitcoin-core/src/net_processing.cpp:2448,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2448,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:2450,1
    - Dst: m_getdata_requests::end
      Src: /src/bitcoin-core/src/net_processing.cpp:2456,1
    - Dst: CInv::IsGenBlkMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:2458,1
    - Dst: PeerManagerImpl::ProcessGetBlockData
      Src: /src/bitcoin-core/src/net_processing.cpp:2459,1
    - Dst: m_getdata_requests::erase
      Src: /src/bitcoin-core/src/net_processing.cpp:2468,1
    - Dst: m_getdata_requests::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:2468,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:2470,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2485,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - ' pfrom'
    - ' peer'
    - ' interruptMsgProc'
    argTypes:
    - CNode
    - Peer
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2418
    functionDepth: 4
    functionLinenumber: 2418
    functionLinenumberEnd: 2487
    functionName: PeerManagerImpl::ProcessGetData
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - CInv::IsGenBlkMsg
    - PeerManagerImpl::ProcessGetBlockData
    - auto::GetHash
    - CInv::IsMsgTx
    - maybe_with_witness
    - AssertLockNotHeld
    - PeerManagerImpl::MakeAndPushMessage
    - RemoveUnbroadcastTx
    - m_getdata_requests::end
    - ToGenTxid
    - std::vector::push_back
    - std::deque<CInv>::iterator::IsGenTxMsg
    - std::vector::empty
    - GetTxRelay
    - m_getdata_requests::erase
    - m_getdata_requests::begin
    - PeerManagerImpl::FindTxForGetData
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessGetData(CNode& pfrom, Peer& peer, const
      std::atomic<bool>& interruptMsgProc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CanServeWitnesses
      Src: /src/bitcoin-core/src/net_processing.cpp:2492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2489
    functionDepth: 1
    functionLinenumber: 2489
    functionLinenumberEnd: 2496
    functionName: PeerManagerImpl::GetFetchFlags
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - CanServeWitnesses
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PeerManagerImpl::GetFetchFlags(const Peer& peer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indexes::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2502,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2503,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:2504,1
    - Dst: GetTotalSize
      Src: /src/bitcoin-core/src/net_processing.cpp:2508,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2511,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2511,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2511,1
    - Dst: BlockTransactions::txn::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2511,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' pfrom'
    - ' peer'
    - ' block'
    - ' req'
    argTypes:
    - CNode
    - Peer
    - CBlock
    - BlockTransactionsRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2498
    functionDepth: 3
    functionLinenumber: 2498
    functionLinenumberEnd: 2513
    functionName: PeerManagerImpl::SendBlockTransactions
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - indexes::size
    - LogDebug
    - GetHash
    - PeerManagerImpl::MakeAndPushMessage
    - PeerManagerImpl::Misbehaving
    - vtx::size
    - GetTotalSize
    - BlockTransactions::txn::size
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::SendBlockTransactions(CNode& pfrom, Peer& peer,
      const CBlock& block, const BlockTransactionsRequest& req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HasValidProofOfWork
      Src: /src/bitcoin-core/src/net_processing.cpp:2518,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:2519,1
    - Dst: PeerManagerImpl::CheckHeadersAreContinuous
      Src: /src/bitcoin-core/src/net_processing.cpp:2524,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:2525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' headers'
    - ' consensusParams'
    - ' peer'
    argTypes:
    - std::vector<CBlockHeader>
    - Consensus::Params
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2515
    functionDepth: 2
    functionLinenumber: 2515
    functionLinenumberEnd: 2529
    functionName: PeerManagerImpl::CheckHeadersPoW
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - HasValidProofOfWork
    - PeerManagerImpl::CheckHeadersAreContinuous
    - PeerManagerImpl::Misbehaving
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::CheckHeadersPoW(const std::vector<CBlockHeader>&
      headers, const Consensus::Params& consensusParams, Peer& peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2534,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:2535,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:2536,1
    - Dst: std::min<arith_uint256>
      Src: /src/bitcoin-core/src/net_processing.cpp:2539,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/net_processing.cpp:2539,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net_processing.cpp:2541,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/net_processing.cpp:2541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2531
    functionDepth: 1
    functionLinenumber: 2531
    functionLinenumberEnd: 2542
    functionName: PeerManagerImpl::GetAntiDoSWorkThreshold
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - MinimumChainWork
    - std::min<arith_uint256>
    - std::max
    - LOCK
    - ActiveChain
    - GetBlockProof
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 PeerManagerImpl::GetAntiDoSWorkThreshold()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::MaybeSendGetHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:2555,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/net_processing.cpp:2555,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2556,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2557,1
    - Dst: hashPrevBlock::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:2558,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2560,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2566,1
    - Dst: PeerManagerImpl::UpdateBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:2566,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2566,1
    - Dst: back
      Src: /src/bitcoin-core/src/net_processing.cpp:2566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pfrom'
    - ' peer'
    - ' headers'
    argTypes:
    - CNode
    - Peer
    - std::vector<CBlockHeader>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2550
    functionDepth: 4
    functionLinenumber: 2550
    functionLinenumberEnd: 2567
    functionName: PeerManagerImpl::HandleUnconnectingHeaders
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - hashPrevBlock::ToString
    - LogDebug
    - PeerManagerImpl::MaybeSendGetHeaders
    - GetHash
    - WITH_LOCK
    - PeerManagerImpl::UpdateBlockAvailability
    - back
    - GetLocator
    - GetId
    linkageType: ''
    returnType: void
    signature: "void PeerManagerImpl::HandleUnconnectingHeaders(CNode& pfrom, Peer&
      peer,\n        const std::vector<CBlockHeader>& headers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/net_processing.cpp:2571,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/net_processing.cpp:2573,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - std::vector<CBlockHeader>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2569
    functionDepth: 1
    functionLinenumber: 2569
    functionLinenumberEnd: 2579
    functionName: PeerManagerImpl::CheckHeadersAreContinuous
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - uint256::IsNull
    - uint256::uint256
    - GetHash
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::CheckHeadersAreContinuous(const std::vector<CBlockHeader>&
      headers) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: m_headers_sync::ProcessNextHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:2584,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:2584,1
    - Dst: m_headers_sync::NextHeadersRequestLocator
      Src: /src/bitcoin-core/src/net_processing.cpp:2588,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:2590,1
    - Dst: auto::vHave::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:2590,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:2592,1
    - Dst: auto::vHave::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:2593,1
    - Dst: PeerManagerImpl::MaybeSendGetHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:2596,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:2597,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2598,1
    - Dst: auto::vHave::front
      Src: /src/bitcoin-core/src/net_processing.cpp:2599,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2599,1
    - Dst: m_headers_sync::GetState
      Src: /src/bitcoin-core/src/net_processing.cpp:2603,1
    - Dst: m_headers_sync::reset
      Src: /src/bitcoin-core/src/net_processing.cpp:2604,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2609,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:2610,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2610,1
    - Dst: m_headers_sync::GetPresyncWork
      Src: /src/bitcoin-core/src/net_processing.cpp:2614,1
    - Dst: m_headers_sync::GetState
      Src: /src/bitcoin-core/src/net_processing.cpp:2615,1
    - Dst: m_headers_sync::GetPresyncHeight
      Src: /src/bitcoin-core/src/net_processing.cpp:2616,1
    - Dst: m_headers_sync::GetPresyncTime
      Src: /src/bitcoin-core/src/net_processing.cpp:2617,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2621,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2622,1
    - Dst: find
      Src: /src/bitcoin-core/src/net_processing.cpp:2623,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:2625,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2637,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2638,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2640,1
    - Dst: HeadersPresyncStats::second::has_value
      Src: /src/bitcoin-core/src/net_processing.cpp:2643,1
    - Dst: swap
      Src: /src/bitcoin-core/src/net_processing.cpp:2652,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - ' peer'
    - ' pfrom'
    - ' headers'
    argTypes:
    - Peer
    - CNode
    - std::vector<CBlockHeader>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2581
    functionDepth: 1
    functionLinenumber: 2581
    functionLinenumberEnd: 2661
    functionName: PeerManagerImpl::IsContinuationOfLowWorkHeadersSync
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_headers_sync::NextHeadersRequestLocator
    - PeerManagerImpl::MaybeSendGetHeaders
    - swap
    - auto::vHave::empty
    - m_headers_sync::GetPresyncHeight
    - auto::vHave::front
    - m_headers_sync::GetState
    - m_headers_sync::ProcessNextHeaders
    - m_headers_sync::GetPresyncWork
    - m_headers_sync::reset
    - find
    - m_headers_sync::GetPresyncTime
    - Assume
    - HeadersPresyncStats::second::has_value
    - LogDebug
    - GetId
    - end
    - erase
    - size
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::IsContinuationOfLowWorkHeadersSync(Peer& peer,
      CNode& pfrom, std::vector<CBlockHeader>& headers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CalculateClaimedHeadersWork
      Src: /src/bitcoin-core/src/net_processing.cpp:2666,1
    - Dst: PeerManagerImpl::GetAntiDoSWorkThreshold
      Src: /src/bitcoin-core/src/net_processing.cpp:2670,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:2678,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2688,1
    - Dst: m_headers_sync::reset
      Src: /src/bitcoin-core/src/net_processing.cpp:2689,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:2689,1
    - Dst: HeadersSyncState::HeadersSyncState
      Src: /src/bitcoin-core/src/net_processing.cpp:2689,1
    - Dst: PeerManagerImpl::IsContinuationOfLowWorkHeadersSync
      Src: /src/bitcoin-core/src/net_processing.cpp:2695,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2697,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:2697,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' peer'
    - ' pfrom'
    - chain_start_header
    - ' headers'
    argTypes:
    - Peer
    - CNode
    - CBlockIndex*
    - std::vector<CBlockHeader>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2663
    functionDepth: 2
    functionLinenumber: 2663
    functionLinenumberEnd: 2707
    functionName: PeerManagerImpl::TryLowWorkHeadersSync
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - PeerManagerImpl::GetAntiDoSWorkThreshold
    - GetId
    - PeerManagerImpl::IsContinuationOfLowWorkHeadersSync
    - LogDebug
    - size
    - LOCK
    - m_headers_sync::reset
    - CalculateClaimedHeadersWork
    - GetConsensus
    - HeadersSyncState::HeadersSyncState
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::TryLowWorkHeadersSync(Peer& peer, CNode& pfrom,
      const CBlockIndex* chain_start_header, std::vector<CBlockHeader>& headers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_best_header::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:2713,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:2715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - header
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2719
    functionName: PeerManagerImpl::IsAncestorOfBestHeaderOrTip
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_best_header::GetAncestor
    - ActiveChain
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::IsAncestorOfBestHeaderOrTip(const CBlockIndex*
      header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net_processing.cpp:2723,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2728,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/net_processing.cpp:2728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' pfrom'
    - ' locator'
    - ' peer'
    argTypes:
    - CNode
    - CBlockLocator
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2721
    functionDepth: 3
    functionLinenumber: 2721
    functionLinenumberEnd: 2733
    functionName: PeerManagerImpl::MaybeSendGetHeaders
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 2
    functionsReached:
    - NodeClock::now
    - uint256
    - PeerManagerImpl::MakeAndPushMessage
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::MaybeSendGetHeaders(CNode& pfrom, const CBlockLocator&
      locator, Peer& peer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2742,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:2743,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2743,1
    - Dst: PeerManagerImpl::CanDirectFetch
      Src: /src/bitcoin-core/src/net_processing.cpp:2745,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:2745,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:2745,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:2749,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2749,1
    - Dst: PeerManagerImpl::IsBlockRequested
      Src: /src/bitcoin-core/src/net_processing.cpp:2751,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2751,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/net_processing.cpp:2752,1
    - Dst: CanServeWitnesses
      Src: /src/bitcoin-core/src/net_processing.cpp:2752,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:2754,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:2762,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2763,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2764,1
    - Dst: CNodeState*::vBlocksInFlight::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2770,1
    - Dst: PeerManagerImpl::GetFetchFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:2774,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:2775,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2775,1
    - Dst: PeerManagerImpl::BlockRequested
      Src: /src/bitcoin-core/src/net_processing.cpp:2776,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2776,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2777,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2778,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2778,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2780,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2781,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2782,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2785,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:2788,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:2789,1
    - Dst: pprev::IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:2790,1
    - Dst: CInv
      Src: /src/bitcoin-core/src/net_processing.cpp:2792,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:2794,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 3
    argNames:
    - ' pfrom'
    - ' peer'
    - ' last_header'
    argTypes:
    - CNode
    - Peer
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2740
    functionDepth: 4
    functionLinenumber: 2740
    functionLinenumberEnd: 2798
    functionName: PeerManagerImpl::HeadersDirectFetchBlocks
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::push_back
    - DeploymentActiveAt
    - PeerManagerImpl::State
    - CNodeState*::vBlocksInFlight::size
    - CanServeWitnesses
    - PeerManagerImpl::IsBlockRequested
    - PeerManagerImpl::MakeAndPushMessage
    - PeerManagerImpl::BlockRequested
    - CBlockIndex*::GetBlockHash
    - pprev::IsValid
    - std::vector::size
    - PeerManagerImpl::GetFetchFlags
    - LogDebug
    - IsValid
    - ActiveChain
    - CInv
    - GetId
    - PeerManagerImpl::CanDirectFetch
    - size
    - LOCK
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::HeadersDirectFetchBlocks(CNode& pfrom, const
      Peer& peer, const CBlockIndex& last_header)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2808,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:2809,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2809,1
    - Dst: PeerManagerImpl::UpdateBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:2811,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2811,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:2811,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:2817,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:2818,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:2823,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/net_processing.cpp:2826,1
    - Dst: IsOutboundOrBlockRelayConn
      Src: /src/bitcoin-core/src/net_processing.cpp:2835,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/net_processing.cpp:2836,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:2836,1
    - Dst: IsFullOutboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:2847,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:2848,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:2849,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2849,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 5
    argNames:
    - ' pfrom'
    - ' peer'
    - ' last_header'
    - received_new_header
    - may_have_more_headers
    argTypes:
    - CNode
    - Peer
    - CBlockIndex
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2805
    functionDepth: 4
    functionLinenumber: 2805
    functionLinenumberEnd: 2854
    functionName: PeerManagerImpl::UpdatePeerStateForReceivedHeaders
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - IsFullOutboundConn
    - GetTime
    - IsInitialBlockDownload
    - IsOutboundOrBlockRelayConn
    - MinimumChainWork
    - LogDebug
    - DisconnectMsg
    - PeerManagerImpl::UpdateBlockAvailability
    - LogInfo
    - LOCK
    - ActiveChain
    - PeerManagerImpl::State
    - GetBlockHash
    - GetId
    linkageType: ''
    returnType: void
    signature: "void PeerManagerImpl::UpdatePeerStateForReceivedHeaders(CNode& pfrom,
      Peer& peer,\n        const CBlockIndex& last_header, bool received_new_header,
      bool may_have_more_headers)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:2860,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2867,1
    - Dst: m_headers_sync::reset
      Src: /src/bitcoin-core/src/net_processing.cpp:2869,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2870,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:2871,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2871,1
    - Dst: PeerManagerImpl::CheckHeadersPoW
      Src: /src/bitcoin-core/src/net_processing.cpp:2883,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:2883,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2903,1
    - Dst: PeerManagerImpl::IsContinuationOfLowWorkHeadersSync
      Src: /src/bitcoin-core/src/net_processing.cpp:2905,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:2917,1
    - Dst: PeerManagerImpl::HandleUnconnectingHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:2932,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:2947,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:2948,1
    - Dst: back
      Src: /src/bitcoin-core/src/net_processing.cpp:2948,1
    - Dst: PeerManagerImpl::IsAncestorOfBestHeaderOrTip
      Src: /src/bitcoin-core/src/net_processing.cpp:2949,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:2957,1
    - Dst: PeerManagerImpl::TryLowWorkHeadersSync
      Src: /src/bitcoin-core/src/net_processing.cpp:2964,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:2968,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:2968,1
    - Dst: ProcessNewBlockHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:2981,1
    - Dst: BlockValidationState::IsInvalid
      Src: /src/bitcoin-core/src/net_processing.cpp:2985,1
    - Dst: PeerManagerImpl::MaybePunishNodeForBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:2986,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:2986,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:2990,1
    - Dst: PeerManagerImpl::LogBlockHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:2993,1
    - Dst: PeerManagerImpl::MaybeSendGetHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:2999,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/net_processing.cpp:2999,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3000,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3001,1
    - Dst: PeerManagerImpl::UpdatePeerStateForReceivedHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:3005,1
    - Dst: PeerManagerImpl::HeadersDirectFetchBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:3008,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 4
    argNames:
    - ' pfrom'
    - ' peer'
    - ' headers'
    - via_compact_block
    argTypes:
    - CNode
    - Peer
    - std::vector<CBlockHeader>
    - bool
    assertStmts:
    - condition: (pindexLast)
      pos:
        line_end: 2989
        line_start: 2989
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 3011
      start: 2856
    functionDepth: 5
    functionLinenumber: 2856
    functionLinenumberEnd: 3011
    functionName: PeerManagerImpl::ProcessHeadersMessage
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - PeerManagerImpl::MaybeSendGetHeaders
    - PeerManagerImpl::MaybePunishNodeForBlock
    - PeerManagerImpl::HeadersDirectFetchBlocks
    - PeerManagerImpl::IsAncestorOfBestHeaderOrTip
    - back
    - GetLocator
    - m_headers_sync::reset
    - PeerManagerImpl::CheckHeadersPoW
    - PeerManagerImpl::HandleUnconnectingHeaders
    - PeerManagerImpl::IsContinuationOfLowWorkHeadersSync
    - empty
    - Assume
    - BlockValidationState::IsInvalid
    - LogDebug
    - m_blockman::LookupBlockIndex
    - assert
    - GetId
    - PeerManagerImpl::LogBlockHeader
    - erase
    - PeerManagerImpl::TryLowWorkHeadersSync
    - PeerManagerImpl::UpdatePeerStateForReceivedHeaders
    - size
    - LOCK
    - HasPermission
    - GetConsensus
    - ProcessNewBlockHeaders
    linkageType: ''
    returnType: void
    signature: "void PeerManagerImpl::ProcessHeadersMessage(CNode& pfrom, Peer& peer,\n
      \                                           std::vector<CBlockHeader>&& headers,\n
      \                                           bool via_compact_block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3016,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3017,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3018,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:3020,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3022,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3023,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3024,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3026,1
    - Dst: MempoolRejectedTx
      Src: /src/bitcoin-core/src/net_processing.cpp:3028,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/net_processing.cpp:3030,1
    - Dst: PeerManagerImpl::AddToCompactExtraTransactions
      Src: /src/bitcoin-core/src/net_processing.cpp:3031,1
    - Dst: AddKnownTx
      Src: /src/bitcoin-core/src/net_processing.cpp:3034,1
    - Dst: PeerManagerImpl::MaybePunishNodeForTx
      Src: /src/bitcoin-core/src/net_processing.cpp:3037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - nodeid
    - ' ptx'
    - ' state'
    - first_time_failure
    argTypes:
    - NodeId
    - CTransactionRef
    - TxValidationState
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3013
    functionDepth: 3
    functionLinenumber: 3013
    functionLinenumberEnd: 3040
    functionName: PeerManagerImpl::ProcessInvalidTx
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - PeerManagerImpl::AddToCompactExtraTransactions
    - GetWitnessHash
    - LogDebug
    - GetHash
    - AssertLockNotHeld
    - MempoolRejectedTx
    - RecursiveDynamicUsage
    - PeerManagerImpl::MaybePunishNodeForTx
    - AssertLockHeld
    - AddKnownTx
    - PeerManagerImpl::GetPeerRef
    linkageType: ''
    returnType: std::optional<node::PackageToValidate>
    signature: "std::optional<node::PackageToValidate> PeerManagerImpl::ProcessInvalidTx(NodeId
      nodeid, const CTransactionRef& ptx, const TxValidationState& state,\n                                       bool
      first_time_failure)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3044,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3045,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3046,1
    - Dst: MempoolAcceptedTx
      Src: /src/bitcoin-core/src/net_processing.cpp:3048,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3050,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3052,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3053,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:3054,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/net_processing.cpp:3054,1
    - Dst: PeerManagerImpl::RelayTransaction
      Src: /src/bitcoin-core/src/net_processing.cpp:3056,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3056,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3056,1
    - Dst: PeerManagerImpl::AddToCompactExtraTransactions
      Src: /src/bitcoin-core/src/net_processing.cpp:3059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - nodeid
    - ' tx'
    - ' replaced_transactions'
    argTypes:
    - NodeId
    - CTransactionRef
    - std::list<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3042
    functionDepth: 2
    functionLinenumber: 3042
    functionLinenumberEnd: 3061
    functionName: PeerManagerImpl::ProcessValidTx
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - PeerManagerImpl::RelayTransaction
    - PeerManagerImpl::AddToCompactExtraTransactions
    - GetWitnessHash
    - MempoolAcceptedTx
    - LogDebug
    - GetHash
    - AssertLockNotHeld
    - size
    - AssertLockHeld
    - DynamicMemoryUsage
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessValidTx(NodeId nodeid, const CTransactionRef&
      tx, const std::list<CTransactionRef>& replaced_transactions)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3065,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3066,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3067,1
    - Dst: m_state::IsInvalid
      Src: /src/bitcoin-core/src/net_processing.cpp:3072,1
    - Dst: MempoolRejectedPackage
      Src: /src/bitcoin-core/src/net_processing.cpp:3073,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:3076,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:3076,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/net_processing.cpp:3080,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/net_processing.cpp:3081,1
    - Dst: rend
      Src: /src/bitcoin-core/src/net_processing.cpp:3082,1
    - Dst: m_tx_results::find
      Src: /src/bitcoin-core/src/net_processing.cpp:3085,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3085,1
    - Dst: m_tx_results::end
      Src: /src/bitcoin-core/src/net_processing.cpp:3088,1
    - Dst: PeerManagerImpl::ProcessValidTx
      Src: /src/bitcoin-core/src/net_processing.cpp:3093,1
    - Dst: PeerManagerImpl::ProcessInvalidTx
      Src: /src/bitcoin-core/src/net_processing.cpp:3103,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:3109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - ' package_to_validate'
    - ' package_result'
    argTypes:
    - node::PackageToValidate
    - PackageMempoolAcceptResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3117
      start: 3063
    functionDepth: 4
    functionLinenumber: 3063
    functionLinenumberEnd: 3117
    functionName: PeerManagerImpl::ProcessPackageResult
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_state::IsInvalid
    - rend
    - m_tx_results::end
    - Assume
    - m_tx_results::find
    - GetWitnessHash
    - AssertLockNotHeld
    - size
    - MempoolRejectedPackage
    - AssertLockHeld
    - PeerManagerImpl::ProcessValidTx
    - PeerManagerImpl::ProcessInvalidTx
    - rbegin
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessPackageResult(const node::PackageToValidate&
      package_to_validate, const PackageMempoolAcceptResult& package_result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3123,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/net_processing.cpp:3124,1
    - Dst: GetTxToReconsider
      Src: /src/bitcoin-core/src/net_processing.cpp:3128,1
    - Dst: ProcessTransaction
      Src: /src/bitcoin-core/src/net_processing.cpp:3129,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3131,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3132,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3135,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3135,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3135,1
    - Dst: PeerManagerImpl::ProcessValidTx
      Src: /src/bitcoin-core/src/net_processing.cpp:3136,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/net_processing.cpp:3138,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3139,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3140,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3141,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3143,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:3145,1
    - Dst: IsInvalid
      Src: /src/bitcoin-core/src/net_processing.cpp:3145,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/net_processing.cpp:3146,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/net_processing.cpp:3147,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/net_processing.cpp:3148,1
    - Dst: PeerManagerImpl::ProcessInvalidTx
      Src: /src/bitcoin-core/src/net_processing.cpp:3149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3156
      start: 3121
    functionDepth: 4
    functionLinenumber: 3121
    functionLinenumberEnd: 3156
    functionName: PeerManagerImpl::ProcessOrphanTx
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - Assume
    - GetResult
    - ProcessTransaction
    - LOCK2
    - LogDebug
    - CTransactionRef::GetHash
    - IsInvalid
    - CTransactionRef::GetWitnessHash
    - AssertLockHeld
    - PeerManagerImpl::ProcessValidTx
    - PeerManagerImpl::ProcessInvalidTx
    - GetTxToReconsider
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::ProcessOrphanTx(Peer& peer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3168,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/net_processing.cpp:3169,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3169,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3175,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:3176,1
    - Dst: PeerManagerImpl::BlockRequestAllowed
      Src: /src/bitcoin-core/src/net_processing.cpp:3179,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3180,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3181,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3181,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3189,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3191,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3196,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3197,1
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:3202,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3204,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/net_processing.cpp:3204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 8
    argNames:
    - ' node'
    - ' peer'
    - filter_type
    - start_height
    - ' stop_hash'
    - max_height_diff
    - ' stop_index'
    - ' filter_index'
    argTypes:
    - CNode
    - Peer
    - BlockFilterType
    - uint32_t
    - uint256
    - uint32_t
    - CBlockIndex*
    - BlockFilterIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3209
      start: 3158
    functionDepth: 2
    functionLinenumber: 3158
    functionLinenumberEnd: 3209
    functionName: PeerManagerImpl::PrepareBlockFilterRequest
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - PeerManagerImpl::BlockRequestAllowed
    - static_cast<uint8_t>
    - LogDebug
    - DisconnectMsg
    - LOCK
    - m_blockman::LookupBlockIndex
    - GetBlockFilterIndex
    - BlockFilterTypeName
    linkageType: ''
    returnType: bool
    signature: "bool PeerManagerImpl::PrepareBlockFilterRequest(CNode& node, Peer&
      peer,\n                                                BlockFilterType filter_type,
      uint32_t start_height,\n                                                const
      uint256& stop_hash, uint32_t max_height_diff,\n                                                const
      CBlockIndex*& stop_index,\n                                                BlockFilterIndex*&
      filter_index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/net_processing.cpp:3215,1
    - Dst: static_cast<BlockFilterType>
      Src: /src/bitcoin-core/src/net_processing.cpp:3219,1
    - Dst: PeerManagerImpl::PrepareBlockFilterRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:3223,1
    - Dst: BlockFilterIndex*::LookupFilterRange
      Src: /src/bitcoin-core/src/net_processing.cpp:3229,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3230,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/net_processing.cpp:3231,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3231,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' node'
    - ' peer'
    - ' vRecv'
    argTypes:
    - CNode
    - Peer
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3211
    functionDepth: 3
    functionLinenumber: 3211
    functionLinenumberEnd: 3238
    functionName: PeerManagerImpl::ProcessGetCFilters
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - static_cast<BlockFilterType>
    - LogDebug
    - uint256::ToString
    - PeerManagerImpl::MakeAndPushMessage
    - BlockFilterIndex*::LookupFilterRange
    - PeerManagerImpl::PrepareBlockFilterRequest
    - uint256::uint256
    - BlockFilterTypeName
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessGetCFilters(CNode& node, Peer& peer, DataStream&
      vRecv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/net_processing.cpp:3244,1
    - Dst: static_cast<BlockFilterType>
      Src: /src/bitcoin-core/src/net_processing.cpp:3248,1
    - Dst: PeerManagerImpl::PrepareBlockFilterRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:3252,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/net_processing.cpp:3257,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:3260,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:3260,1
    - Dst: BlockFilterIndex*::LookupFilterHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:3261,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3262,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/net_processing.cpp:3263,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3263,1
    - Dst: BlockFilterIndex*::LookupFilterHashRange
      Src: /src/bitcoin-core/src/net_processing.cpp:3269,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3270,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/net_processing.cpp:3271,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3271,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3275,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' node'
    - ' peer'
    - ' vRecv'
    argTypes:
    - CNode
    - Peer
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3280
      start: 3240
    functionDepth: 3
    functionLinenumber: 3240
    functionLinenumberEnd: 3280
    functionName: PeerManagerImpl::ProcessGetCFHeaders
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - static_cast<BlockFilterType>
    - static_cast<int>
    - LogDebug
    - uint256::ToString
    - PeerManagerImpl::MakeAndPushMessage
    - BlockFilterIndex*::LookupFilterHeader
    - BlockFilterIndex*::LookupFilterHashRange
    - CBlockIndex*::GetAncestor
    - CBlockIndex*::GetBlockHash
    - PeerManagerImpl::PrepareBlockFilterRequest
    - uint256::uint256
    - BlockFilterTypeName
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessGetCFHeaders(CNode& node, Peer& peer,
      DataStream& vRecv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/net_processing.cpp:3285,1
    - Dst: static_cast<BlockFilterType>
      Src: /src/bitcoin-core/src/net_processing.cpp:3289,1
    - Dst: PeerManagerImpl::PrepareBlockFilterRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:3293,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/net_processing.cpp:3294,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:3303,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:3305,1
    - Dst: BlockFilterIndex*::LookupFilterHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:3307,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3308,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/net_processing.cpp:3309,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3309,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3314,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' node'
    - ' peer'
    - ' vRecv'
    argTypes:
    - CNode
    - Peer
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3282
    functionDepth: 3
    functionLinenumber: 3282
    functionLinenumberEnd: 3318
    functionName: PeerManagerImpl::ProcessGetCFCheckPt
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - static_cast<BlockFilterType>
    - uint256::uint256
    - LogDebug
    - PeerManagerImpl::MakeAndPushMessage
    - BlockFilterIndex*::LookupFilterHeader
    - CBlockIndex*::GetAncestor
    - CBlockIndex*::GetBlockHash
    - PeerManagerImpl::PrepareBlockFilterRequest
    - RandomMixin::max
    - BlockFilterTypeName
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessGetCFCheckPt(CNode& node, Peer& peer,
      DataStream& vRecv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProcessNewBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:3323,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:3325,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3329,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:3330,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3330,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3332,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net_processing.cpp:3333,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ' node'
    - ' block'
    - force_processing
    - min_pow_checked
    argTypes:
    - CNode
    - std::shared_ptr<const CBlock>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3335
      start: 3320
    functionDepth: 3
    functionLinenumber: 3320
    functionLinenumberEnd: 3335
    functionName: PeerManagerImpl::ProcessBlock
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - erase
    - GetHash
    - ProcessNewBlock
    - LOCK
    - PeerManagerImpl::RemoveBlockRequest
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessBlock(CNode& node, const std::shared_ptr<const
      CBlock>& block, bool force_processing, bool min_pow_checked)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/net_processing.cpp:3339,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3342,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/net_processing.cpp:3344,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/net_processing.cpp:3345,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3349,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3353,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3361,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3361,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:3368,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:3368,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:3369,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/net_processing.cpp:3370,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:3372,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3372,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:3373,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:3379,1
    - Dst: PeerManagerImpl::GetFetchFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:3379,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3380,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:3382,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3382,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3383,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3383,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:3388,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3388,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/net_processing.cpp:3396,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net_processing.cpp:3396,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3396,1
    - Dst: PeerManagerImpl::ProcessBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:3406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - ' pfrom'
    - ' peer'
    - ' block_transactions'
    argTypes:
    - CNode
    - Peer
    - BlockTransactions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3337
    functionDepth: 3
    functionLinenumber: 3337
    functionLinenumberEnd: 3409
    functionName: PeerManagerImpl::ProcessCompactBlockTxns
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - std::distance
    - PeerManagerImpl::GetFetchFlags
    - std::vector::emplace_back
    - emplace
    - Assume
    - std::make_pair
    - std::make_shared<CBlock>
    - FillBlock
    - LogDebug
    - PeerManagerImpl::MakeAndPushMessage
    - PeerManagerImpl::Misbehaving
    - DeploymentActiveAfter
    - LOCK
    - m_blockman::LookupBlockIndex
    - PeerManagerImpl::RemoveBlockRequest
    - PeerManagerImpl::ProcessBlock
    - equal_range
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ProcessCompactBlockTxns(CNode& pfrom, Peer& peer,
      const BlockTransactions& block_transactions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_processing.cpp:3422,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:3425,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3427,1
    - Dst: LogIP
      Src: /src/bitcoin-core/src/net_processing.cpp:3428,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:3430,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3431,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/net_processing.cpp:3433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' index'
    - ' peer'
    - via_compact_block
    argTypes:
    - CBlockIndex
    - CNode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3411
    functionDepth: 1
    functionLinenumber: 3411
    functionLinenumberEnd: 3435
    functionName: PeerManagerImpl::LogBlockHeader
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - IsInitialBlockDownload
    - LogIP
    - LogDebug
    - LogInfo
    - strprintf
    - GetBlockHash
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::LogBlockHeader(const CBlockIndex& index, const
      CNode& peer, bool via_compact_block)
  - BBCount: 205
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:3441,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3443,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net_processing.cpp:3443,1
    - Dst: size
      Src: /src/bitcoin-core/src/net_processing.cpp:3443,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3443,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:3445,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3445,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3450,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3450,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/net_processing.cpp:3455,1
    - Dst: Using
      Src: /src/bitcoin-core/src/net_processing.cpp:3463,1
    - Dst: ignore
      Src: /src/bitcoin-core/src/net_processing.cpp:3467,1
    - Dst: V1Transport::ShouldReconnectV1
      Src: /src/bitcoin-core/src/net_processing.cpp:3468,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3469,1
    - Dst: SetServices
      Src: /src/bitcoin-core/src/net_processing.cpp:3474,1
    - Dst: ExpectServicesFromConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3476,1
    - Dst: PeerManagerImpl::HasAllDesirableServiceFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:3476,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3478,1
    - Dst: PeerManagerImpl::GetDesirableServiceFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:3480,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3481,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3488,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3488,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:3493,1
    - Dst: ignore
      Src: /src/bitcoin-core/src/net_processing.cpp:3498,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:3501,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/net_processing.cpp:3503,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net_processing.cpp:3504,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:3506,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:3509,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3512,1
    - Dst: CheckIncomingNonce
      Src: /src/bitcoin-core/src/net_processing.cpp:3512,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net_processing.cpp:3514,1
    - Dst: addr::ToStringAddrPort
      Src: /src/bitcoin-core/src/net_processing.cpp:3514,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3519,1
    - Dst: CService::IsRoutable
      Src: /src/bitcoin-core/src/net_processing.cpp:3519,1
    - Dst: SeenLocal
      Src: /src/bitcoin-core/src/net_processing.cpp:3521,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3526,1
    - Dst: PeerManagerImpl::PushNodeVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:3527,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net_processing.cpp:3531,1
    - Dst: SetCommonVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:3532,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3536,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3545,1
    - Dst: PeerManagerImpl::HasAllDesirableServiceFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:3548,1
    - Dst: SetAddrLocal
      Src: /src/bitcoin-core/src/net_processing.cpp:3550,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3552,1
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3563,1
    - Dst: IsFeelerConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3564,1
    - Dst: PeerRef::SetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:3566,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3568,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:3581,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3582,1
    - Dst: IsAddrFetchConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3583,1
    - Dst: PreRegisterPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:3584,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3584,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3585,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3590,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3594,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:3595,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3595,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3596,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:3596,1
    - Dst: IsAddrFetchConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3596,1
    - Dst: CanServeBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:3596,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3604,1
    - Dst: PeerManagerImpl::SetupAddressRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:3605,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3614,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3621,1
    - Dst: Good
      Src: /src/bitcoin-core/src/net_processing.cpp:3636,1
    - Dst: GetMappedAS
      Src: /src/bitcoin-core/src/net_processing.cpp:3639,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3640,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/net_processing.cpp:3642,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3642,1
    - Dst: LogIP
      Src: /src/bitcoin-core/src/net_processing.cpp:3643,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_processing.cpp:3643,1
    - Dst: Now
      Src: /src/bitcoin-core/src/net_processing.cpp:3645,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3646,1
    - Dst: Add
      Src: /src/bitcoin-core/src/net_processing.cpp:3649,1
    - Dst: WarnIfOutOfSync
      Src: /src/bitcoin-core/src/net_processing.cpp:3650,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3656,1
    - Dst: IsFeelerConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3660,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3661,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3661,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3669,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net_processing.cpp:3669,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3669,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3675,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3675,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3681,1
    - Dst: LogAcceptCategory
      Src: /src/bitcoin-core/src/net_processing.cpp:3681,1
    - Dst: GetMappedAS
      Src: /src/bitcoin-core/src/net_processing.cpp:3682,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net_processing.cpp:3683,1
    - Dst: ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net_processing.cpp:3684,1
    - Dst: TransportTypeAsString
      Src: /src/bitcoin-core/src/net_processing.cpp:3685,1
    - Dst: m_transport::GetInfo
      Src: /src/bitcoin-core/src/net_processing.cpp:3685,1
    - Dst: nVersion::load
      Src: /src/bitcoin-core/src/net_processing.cpp:3686,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3687,1
    - Dst: LogIP
      Src: /src/bitcoin-core/src/net_processing.cpp:3687,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_processing.cpp:3688,1
    - Dst: GetCommonVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:3691,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:3697,1
    - Dst: IsPeerRegistered
      Src: /src/bitcoin-core/src/net_processing.cpp:3701,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3701,1
    - Dst: ForgetPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:3705,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3705,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:3709,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:3717,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3717,1
    - Dst: auto::m_tx_inventory_to_send::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:3719,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/net_processing.cpp:3724,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:3725,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3725,1
    - Dst: ConnectedPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:3726,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3726,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:3728,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3750,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:3751,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3751,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3765,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3765,1
    - Dst: GetCommonVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:3769,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3774,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3774,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3777,1
    - Dst: GetCommonVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:3777,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3777,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3787,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3787,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3800,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3800,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3805,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3805,1
    - Dst: PeerManagerImpl::RejectIncomingTxs
      Src: /src/bitcoin-core/src/net_processing.cpp:3811,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3812,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3812,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:3820,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:3821,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3822,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3822,1
    - Dst: RegisterPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:3831,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3831,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3831,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3835,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3835,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3840,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3840,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3844,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3844,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3852,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net_processing.cpp:3852,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3852,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/net_processing.cpp:3867,1
    - Dst: PeerManagerImpl::SetupAddressRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:3869,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3870,1
    - Dst: ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net_processing.cpp:3870,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3870,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:3874,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:3876,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_processing.cpp:3876,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:3876,1
    - Dst: Now
      Src: /src/bitcoin-core/src/net_processing.cpp:3882,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:3885,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net_processing.cpp:3888,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/net_processing.cpp:3889,1
    - Dst: std::min<double>
      Src: /src/bitcoin-core/src/net_processing.cpp:3890,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:3894,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/net_processing.cpp:3897,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:3897,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net_processing.cpp:3897,1
    - Dst: MayHaveUsefulAddressDB
      Src: /src/bitcoin-core/src/net_processing.cpp:3915,1
    - Dst: PeerManagerImpl::HasAllDesirableServiceFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:3915,1
    - Dst: PeerManagerImpl::AddAddressKnown
      Src: /src/bitcoin-core/src/net_processing.cpp:3921,1
    - Dst: IsDiscouraged
      Src: /src/bitcoin-core/src/net_processing.cpp:3922,1
    - Dst: IsBanned
      Src: /src/bitcoin-core/src/net_processing.cpp:3922,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/net_processing.cpp:3927,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:3928,1
    - Dst: IsRoutable
      Src: /src/bitcoin-core/src/net_processing.cpp:3928,1
    - Dst: PeerManagerImpl::RelayAddress
      Src: /src/bitcoin-core/src/net_processing.cpp:3930,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3930,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:3934,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3939,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:3940,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3940,1
    - Dst: Add
      Src: /src/bitcoin-core/src/net_processing.cpp:3942,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:3943,1
    - Dst: IsAddrFetchConn
      Src: /src/bitcoin-core/src/net_processing.cpp:3946,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:3946,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3947,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3947,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:3956,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:3958,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_processing.cpp:3958,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:3958,1
    - Dst: PeerManagerImpl::RejectIncomingTxs
      Src: /src/bitcoin-core/src/net_processing.cpp:3962,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/net_processing.cpp:3964,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:3966,1
    - Dst: IsMsgTx
      Src: /src/bitcoin-core/src/net_processing.cpp:3976,1
    - Dst: IsMsgWtx
      Src: /src/bitcoin-core/src/net_processing.cpp:3978,1
    - Dst: IsMsgBlk
      Src: /src/bitcoin-core/src/net_processing.cpp:3981,1
    - Dst: PeerManagerImpl::AlreadyHaveBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:3982,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3983,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3983,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3983,1
    - Dst: PeerManagerImpl::UpdateBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:3985,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:3985,1
    - Dst: m_blockman::LoadingBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:3986,1
    - Dst: PeerManagerImpl::IsBlockRequested
      Src: /src/bitcoin-core/src/net_processing.cpp:3986,1
    - Dst: IsGenTxMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3995,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:3997,1
    - Dst: hash::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:3997,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:3997,1
    - Dst: ToGenTxid
      Src: /src/bitcoin-core/src/net_processing.cpp:4001,1
    - Dst: AddKnownTx
      Src: /src/bitcoin-core/src/net_processing.cpp:4002,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:4004,1
    - Dst: AddTxAnnouncement
      Src: /src/bitcoin-core/src/net_processing.cpp:4005,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4005,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4006,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:4006,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4006,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4009,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:4009,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4009,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:4024,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:4024,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4024,1
    - Dst: PeerManagerImpl::MaybeSendGetHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:4026,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/net_processing.cpp:4026,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4027,1
    - Dst: uint256*::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:4028,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4029,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4047,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:4049,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_processing.cpp:4049,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4049,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4053,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4053,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4053,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4055,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4056,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:4056,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4056,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4060,1
    - Dst: PeerRef::m_getdata_requests::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:4061,1
    - Dst: PeerRef::m_getdata_requests::end
      Src: /src/bitcoin-core/src/net_processing.cpp:4061,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:4061,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net_processing.cpp:4061,1
    - Dst: PeerManagerImpl::ProcessGetData
      Src: /src/bitcoin-core/src/net_processing.cpp:4062,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/net_processing.cpp:4070,1
    - Dst: CBlockLocator::vHave::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4073,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4074,1
    - Dst: CBlockLocator::vHave::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4074,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:4074,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4089,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/net_processing.cpp:4093,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4094,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:4094,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4098,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/net_processing.cpp:4101,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4105,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4107,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/net_processing.cpp:4107,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:4107,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4107,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4108,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4110,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4112,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4112,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:4117,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/net_processing.cpp:4118,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4118,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4119,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4119,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4122,1
    - Dst: PeerRef::m_blocks_for_inv_relay::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:4122,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4122,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4126,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4126,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4127,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4127,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4140,1
    - Dst: PeerManagerImpl::SendBlockTransactions
      Src: /src/bitcoin-core/src/net_processing.cpp:4146,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4152,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:4154,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4156,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4156,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4160,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/net_processing.cpp:4161,1
    - Dst: FlatFilePos::IsNull
      Src: /src/bitcoin-core/src/net_processing.cpp:4165,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:4166,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:4167,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:4170,1
    - Dst: PeerManagerImpl::SendBlockTransactions
      Src: /src/bitcoin-core/src/net_processing.cpp:4172,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4183,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4183,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4185,1
    - Dst: PeerRef::m_getdata_requests::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:4185,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/net_processing.cpp:4192,1
    - Dst: CBlockLocator::vHave::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4195,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4196,1
    - Dst: CBlockLocator::vHave::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4196,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:4196,1
    - Dst: m_blockman::LoadingBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:4201,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4202,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4202,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4206,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/net_processing.cpp:4211,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/net_processing.cpp:4212,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/net_processing.cpp:4212,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:4212,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4213,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4213,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4216,1
    - Dst: std::vector<CBlockHeader>
      Src: /src/bitcoin-core/src/net_processing.cpp:4216,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:4220,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4220,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/net_processing.cpp:4222,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:4225,1
    - Dst: PeerManagerImpl::BlockRequestAllowed
      Src: /src/bitcoin-core/src/net_processing.cpp:4230,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4231,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4231,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/net_processing.cpp:4238,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4240,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4246,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/net_processing.cpp:4246,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:4246,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4246,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4247,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:4249,1
    - Dst: CBlockIndex*::GetBlockHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:4249,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4250,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4265,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4266,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/net_processing.cpp:4266,1
    - Dst: PeerManagerImpl::RejectIncomingTxs
      Src: /src/bitcoin-core/src/net_processing.cpp:4271,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4272,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:4272,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:4280,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/net_processing.cpp:4283,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4286,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4287,1
    - Dst: AddKnownTx
      Src: /src/bitcoin-core/src/net_processing.cpp:4290,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/net_processing.cpp:4292,1
    - Dst: ReceivedTx
      Src: /src/bitcoin-core/src/net_processing.cpp:4294,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4294,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:4296,1
    - Dst: exists
      Src: /src/bitcoin-core/src/net_processing.cpp:4300,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4300,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net_processing.cpp:4301,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4302,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4302,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4302,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net_processing.cpp:4304,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4305,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4305,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4305,1
    - Dst: PeerManagerImpl::RelayTransaction
      Src: /src/bitcoin-core/src/net_processing.cpp:4306,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4306,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4306,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/net_processing.cpp:4311,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/net_processing.cpp:4311,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4312,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:4312,1
    - Dst: auto::m_state::IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:4313,1
    - Dst: PeerManagerImpl::ProcessPackageResult
      Src: /src/bitcoin-core/src/net_processing.cpp:4314,1
    - Dst: value
      Src: /src/bitcoin-core/src/net_processing.cpp:4314,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:4320,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/net_processing.cpp:4320,1
    - Dst: ProcessTransaction
      Src: /src/bitcoin-core/src/net_processing.cpp:4322,1
    - Dst: PeerManagerImpl::ProcessValidTx
      Src: /src/bitcoin-core/src/net_processing.cpp:4326,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4326,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:4327,1
    - Dst: BlockValidationState::IsInvalid
      Src: /src/bitcoin-core/src/net_processing.cpp:4329,1
    - Dst: PeerManagerImpl::ProcessInvalidTx
      Src: /src/bitcoin-core/src/net_processing.cpp:4330,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4330,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/net_processing.cpp:4331,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/net_processing.cpp:4331,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4332,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:4332,1
    - Dst: auto::m_state::IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:4333,1
    - Dst: PeerManagerImpl::ProcessPackageResult
      Src: /src/bitcoin-core/src/net_processing.cpp:4334,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/net_processing.cpp:4334,1
    - Dst: m_blockman::LoadingBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:4344,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4345,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4345,1
    - Dst: CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
      Src: /src/bitcoin-core/src/net_processing.cpp:4349,1
    - Dst: CBlockHeaderAndShortTxIDs::header::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4353,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4356,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:4358,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:4361,1
    - Dst: PeerManagerImpl::MaybeSendGetHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:4362,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/net_processing.cpp:4362,1
    - Dst: CalculateClaimedHeadersWork
      Src: /src/bitcoin-core/src/net_processing.cpp:4365,1
    - Dst: PeerManagerImpl::GetAntiDoSWorkThreshold
      Src: /src/bitcoin-core/src/net_processing.cpp:4365,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4367,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4367,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:4371,1
    - Dst: ProcessNewBlockHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:4378,1
    - Dst: BlockValidationState::IsInvalid
      Src: /src/bitcoin-core/src/net_processing.cpp:4379,1
    - Dst: PeerManagerImpl::MaybePunishNodeForBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:4380,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4380,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:4386,1
    - Dst: PeerManagerImpl::LogBlockHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:4388,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/net_processing.cpp:4399,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4403,1
    - Dst: PeerManagerImpl::UpdateBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:4404,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4404,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4404,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:4406,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4406,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4410,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:4411,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/net_processing.cpp:4417,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4417,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/net_processing.cpp:4418,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4422,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4425,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4432,1
    - Dst: CInv
      Src: /src/bitcoin-core/src/net_processing.cpp:4438,1
    - Dst: PeerManagerImpl::GetFetchFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:4438,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4439,1
    - Dst: PeerManagerImpl::CanDirectFetch
      Src: /src/bitcoin-core/src/net_processing.cpp:4445,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:4451,1
    - Dst: CNodeState*::vBlocksInFlight::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4452,1
    - Dst: PeerManagerImpl::BlockRequested
      Src: /src/bitcoin-core/src/net_processing.cpp:4455,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4455,1
    - Dst: partialBlock::reset
      Src: /src/bitcoin-core/src/net_processing.cpp:4457,1
    - Dst: PartiallyDownloadedBlock::PartiallyDownloadedBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:4457,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4460,1
    - Dst: InitData
      Src: /src/bitcoin-core/src/net_processing.cpp:4466,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:4468,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4468,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4468,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:4469,1
    - Dst: CInv
      Src: /src/bitcoin-core/src/net_processing.cpp:4475,1
    - Dst: PeerManagerImpl::GetFetchFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:4475,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4476,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:4479,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4479,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4479,1
    - Dst: CBlockHeaderAndShortTxIDs::BlockTxCount
      Src: /src/bitcoin-core/src/net_processing.cpp:4485,1
    - Dst: IsTxAvailable
      Src: /src/bitcoin-core/src/net_processing.cpp:4486,1
    - Dst: BlockTransactionsRequest::indexes::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:4487,1
    - Dst: BlockTransactionsRequest::indexes::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:4489,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4494,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4495,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:4497,1
    - Dst: PeerManagerImpl::IsBlockRequestedFromOutbound
      Src: /src/bitcoin-core/src/net_processing.cpp:4498,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4504,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4505,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:4508,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4508,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4508,1
    - Dst: PartiallyDownloadedBlock::InitData
      Src: /src/bitcoin-core/src/net_processing.cpp:4517,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:4523,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:4523,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:4524,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/net_processing.cpp:4525,1
    - Dst: CInv
      Src: /src/bitcoin-core/src/net_processing.cpp:4535,1
    - Dst: PeerManagerImpl::GetFetchFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:4535,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4536,1
    - Dst: BlockTransactions::BlockTransactions
      Src: /src/bitcoin-core/src/net_processing.cpp:4546,1
    - Dst: PeerManagerImpl::ProcessCompactBlockTxns
      Src: /src/bitcoin-core/src/net_processing.cpp:4548,1
    - Dst: PeerManagerImpl::ProcessHeadersMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4557,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4564,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/net_processing.cpp:4565,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4565,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net_processing.cpp:4565,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4565,1
    - Dst: PeerManagerImpl::ProcessBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:4576,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4577,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/net_processing.cpp:4578,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:4583,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4583,1
    - Dst: m_blockman::LoadingBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:4592,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4593,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4593,1
    - Dst: BlockTransactions::BlockTransactions
      Src: /src/bitcoin-core/src/net_processing.cpp:4597,1
    - Dst: PeerManagerImpl::ProcessCompactBlockTxns
      Src: /src/bitcoin-core/src/net_processing.cpp:4600,1
    - Dst: m_blockman::LoadingBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:4606,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4607,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4607,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/net_processing.cpp:4614,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:4616,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_processing.cpp:4616,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/net_processing.cpp:4619,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/net_processing.cpp:4622,1
    - Dst: PeerManagerImpl::ProcessHeadersMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4625,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_processing.cpp:4625,1
    - Dst: exchange
      Src: /src/bitcoin-core/src/net_processing.cpp:4629,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4632,1
    - Dst: find
      Src: /src/bitcoin-core/src/net_processing.cpp:4633,1
    - Dst: end
      Src: /src/bitcoin-core/src/net_processing.cpp:4634,1
    - Dst: ReportHeadersPresync
      Src: /src/bitcoin-core/src/net_processing.cpp:4637,1
    - Dst: m_blockman::LoadingBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:4647,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4648,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4648,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/net_processing.cpp:4652,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/net_processing.cpp:4653,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4655,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4655,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4655,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4657,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/net_processing.cpp:4657,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:4657,1
    - Dst: IsBlockMutated
      Src: /src/bitcoin-core/src/net_processing.cpp:4660,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/net_processing.cpp:4661,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4662,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:4663,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4664,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:4664,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4664,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:4669,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4672,1
    - Dst: PeerManagerImpl::IsBlockRequested
      Src: /src/bitcoin-core/src/net_processing.cpp:4675,1
    - Dst: PeerManagerImpl::RemoveBlockRequest
      Src: /src/bitcoin-core/src/net_processing.cpp:4676,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4676,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/net_processing.cpp:4680,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net_processing.cpp:4680,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4680,1
    - Dst: CalculateClaimedHeadersWork
      Src: /src/bitcoin-core/src/net_processing.cpp:4683,1
    - Dst: std::shared_ptr::GetBlockHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:4683,1
    - Dst: PeerManagerImpl::GetAntiDoSWorkThreshold
      Src: /src/bitcoin-core/src/net_processing.cpp:4683,1
    - Dst: PeerManagerImpl::ProcessBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:4687,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:4697,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4698,1
    - Dst: ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net_processing.cpp:4698,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4698,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:4704,1
    - Dst: PeerManagerImpl::SetupAddressRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:4704,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4709,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4709,1
    - Dst: PeerRef::m_addrs_to_send::clear
      Src: /src/bitcoin-core/src/net_processing.cpp:4714,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:4716,1
    - Dst: GetAddressesUnsafe
      Src: /src/bitcoin-core/src/net_processing.cpp:4717,1
    - Dst: GetAddresses
      Src: /src/bitcoin-core/src/net_processing.cpp:4719,1
    - Dst: PeerManagerImpl::PushAddress
      Src: /src/bitcoin-core/src/net_processing.cpp:4722,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:4730,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:4732,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4734,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:4734,1
    - Dst: OutboundTargetReached
      Src: /src/bitcoin-core/src/net_processing.cpp:4740,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:4740,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:4742,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4744,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:4744,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:4750,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4751,1
    - Dst: GetCommonVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:4758,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:4772,1
    - Dst: in_avail
      Src: /src/bitcoin-core/src/net_processing.cpp:4780,1
    - Dst: PeerRef::m_ping_start::load
      Src: /src/bitcoin-core/src/net_processing.cpp:4792,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/net_processing.cpp:4793,1
    - Dst: PongReceived
      Src: /src/bitcoin-core/src/net_processing.cpp:4795,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:4818,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4819,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4820,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4834,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:4834,1
    - Dst: CBloomFilter::CBloomFilter
      Src: /src/bitcoin-core/src/net_processing.cpp:4838,1
    - Dst: CBloomFilter::IsWithinSizeConstraints
      Src: /src/bitcoin-core/src/net_processing.cpp:4841,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:4844,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:4845,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4847,1
    - Dst: auto::m_bloom_filter::reset
      Src: /src/bitcoin-core/src/net_processing.cpp:4848,1
    - Dst: CBloomFilter::CBloomFilter
      Src: /src/bitcoin-core/src/net_processing.cpp:4848,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4859,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:4859,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4869,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:4871,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4872,1
    - Dst: auto::m_bloom_filter::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:4874,1
    - Dst: PeerManagerImpl::Misbehaving
      Src: /src/bitcoin-core/src/net_processing.cpp:4880,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4887,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:4887,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:4891,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4895,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/net_processing.cpp:4907,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:4908,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4911,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/net_processing.cpp:4911,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4911,1
    - Dst: PeerManagerImpl::ProcessGetCFilters
      Src: /src/bitcoin-core/src/net_processing.cpp:4917,1
    - Dst: PeerManagerImpl::ProcessGetCFHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:4922,1
    - Dst: PeerManagerImpl::ProcessGetCFCheckPt
      Src: /src/bitcoin-core/src/net_processing.cpp:4927,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:4935,1
    - Dst: CInv::IsGenTxMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:4937,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:4938,1
    - Dst: ToGenTxid
      Src: /src/bitcoin-core/src/net_processing.cpp:4938,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4942,1
    - Dst: ReceivedNotFound
      Src: /src/bitcoin-core/src/net_processing.cpp:4943,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4943,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4948,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net_processing.cpp:4948,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4948,1
    CyclomaticComplexity: 271
    EdgeCount: 271
    ICount: 861
    argCount: 5
    argNames:
    - ' pfrom'
    - ' msg_type'
    - ' vRecv'
    - time_received
    - ' interruptMsgProc'
    argTypes:
    - CNode
    - std::string
    - DataStream
    - std::chrono::microseconds
    - std::atomic<bool>
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 4169
        line_start: 4169
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 4950
      start: 3437
    functionDepth: 6
    functionLinenumber: 3437
    functionLinenumberEnd: 4950
    functionName: PeerManagerImpl::ProcessMessage
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - LOCK2
    - CFeeRate
    - std::move
    - std::string::empty
    - CBloomFilter::CBloomFilter
    - ReceivedTx
    - PeerManagerImpl::ProcessValidTx
    - ConnectedPeer
    - has_value
    - BlockTransactions::BlockTransactions
    - std::min
    - auto::value
    - BlockTransactionsRequest::indexes::empty
    - GetTime
    - GetAddressesUnsafe
    - ToString
    - PeerRef::m_getdata_requests::insert
    - RegisterPeer
    - PartiallyDownloadedBlock::InitData
    - PeerManagerImpl::MakeAndPushMessage
    - CBloomFilter::IsWithinSizeConstraints
    - InitData
    - exchange
    - IsDiscouraged
    - CBlockIndex*::GetBlockHash
    - ConnectionTypeAsString
    - PeerManagerImpl::ProcessPackageResult
    - GetCommonVersion
    - ReadCompactSize
    - std::vector::size
    - find
    - IsMsgBlk
    - IsGenTxMsg
    - PeerManagerImpl::RelayTransaction
    - SetServices
    - empty
    - GetWitnessHash
    - BlockTransactionsRequest::indexes::push_back
    - uint256::ToString
    - ReportHeadersPresync
    - PeerManagerImpl::HasAllDesirableServiceFlags
    - strprintf
    - assert
    - PeerManagerImpl::ProcessGetCFilters
    - CBlockLocator::IsNull
    - GetMutex
    - PeerManagerImpl::GetDesirableServiceFlags
    - std::vector::begin
    - size
    - std::max
    - LogPrintf
    - LOCK
    - IsMsgWtx
    - WarnIfOutOfSync
    - ser_params
    - AddTxAnnouncement
    - GetConsensus
    - PeerManagerImpl::GetAntiDoSWorkThreshold
    - IsPeerRegistered
    - std::make_pair
    - PeerManagerImpl::BlockRequestAllowed
    - PeerManagerImpl::MaybePunishNodeForBlock
    - PartiallyDownloadedBlock::FillBlock
    - PeerManagerImpl::ProcessGetData
    - PeerManagerImpl::PushNodeVersion
    - IsTxAvailable
    - std::min<double>
    - AddKnownTx
    - std::shared_ptr::GetHash
    - IsAddrFetchConn
    - CheckIncomingNonce
    - IsFeelerConn
    - PeerManagerImpl::IsBlockRequested
    - ReceivedNotFound
    - PeerManagerImpl::UpdateBlockAvailability
    - AssertLockHeld
    - CBlockLocator::vHave::size
    - m_blockman::ReadBlock
    - equal_range
    - addr::ToStringAddrPort
    - CService::IsRoutable
    - uint256::IsNull
    - emplace
    - Assume
    - std::make_shared<CBlock>
    - PeerRef::m_ping_start::load
    - hash::ToString
    - LIMITED_STRING
    - ActiveChain
    - Assert
    - ForgetPeer
    - PeerManagerImpl::AddAddressKnown
    - uint256::uint256
    - std::vector<CBlockHeader>
    - PeerManagerImpl::LogBlockHeader
    - CBlockHeaderAndShortTxIDs::header::GetHash
    - LogIP
    - SeenLocal
    - CBlockIndex*::IsValid
    - CTransactionRef::GetHash
    - CBlockIndex*::GetBlockPos
    - PeerManagerImpl::RelayAddress
    - IsBlockMutated
    - ProcessNewBlockHeaders
    - ExpectServicesFromConn
    - GetAddresses
    - PreRegisterPeer
    - PeerManagerImpl::MaybeSendGetHeaders
    - Contains
    - GetHash
    - CBlock::CBlock
    - std::shuffle
    - CNodeState*::vBlocksInFlight::size
    - CalculateClaimedHeadersWork
    - IsBlockOnlyConn
    - uint256*::ToString
    - std::vector::end
    - std::shared_ptr::GetBlockHeader
    - PeerManagerImpl::BlockRequested
    - ignore
    - FlatFilePos::IsNull
    - IsRoutable
    - PeerManagerImpl::SendBlockTransactions
    - Now
    - exists
    - PeerManagerImpl::ProcessHeadersMessage
    - PeerManagerImpl::SetupAddressRelay
    - m_transport::GetInfo
    - BlockValidationState::ToString
    - CBlockHeaderAndShortTxIDs::BlockTxCount
    - nVersion::load
    - LogDebug
    - WITH_LOCK
    - CanServeBlocks
    - TransportTypeAsString
    - PeerRef::m_blocks_for_inv_relay::push_back
    - ToGenTxid
    - BlockValidationState::IsInvalid
    - SetAddrLocal
    - CTransactionRef::GetWitnessHash
    - PeerManagerImpl::ProcessCompactBlockTxns
    - PeerRef::m_addrs_to_send::clear
    - auto::count
    - PeerManagerImpl::AlreadyHaveBlock
    - PongReceived
    - value
    - PeerManagerImpl::ProcessGetCFHeaders
    - CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
    - PeerRef::GetTxRelay
    - CInv
    - PeerManagerImpl::CanDirectFetch
    - std::distance
    - PeerManagerImpl::ProcessGetCFCheckPt
    - Ticks
    - IsInitialBlockDownload
    - ProcessTransaction
    - CInv::IsGenTxMsg
    - PeerManagerImpl::Misbehaving
    - CService::ToStringAddrPort
    - ActiveTip
    - SanitizeString
    - PeerManagerImpl::ProcessBlock
    - in_avail
    - IsInboundConn
    - Add
    - m_blockman::IsPruneMode
    - auto::ToString
    - CBlockIndex*::GetBlockHeader
    - std::vector::push_back
    - IsBanned
    - PeerManagerImpl::State
    - Using
    - OutboundTargetReached
    - PeerManagerImpl::ProcessInvalidTx
    - PeerManagerImpl::GetPeerRef
    - partialBlock::reset
    - CService::CService
    - PeerRef::m_getdata_requests::push_back
    - auto::m_bloom_filter::insert
    - DisconnectMsg
    - GetLocator
    - auto::m_state::IsValid
    - LogAcceptCategory
    - V1Transport::ShouldReconnectV1
    - m_blockman::LoadingBlocks
    - PeerManagerImpl::GetFetchFlags
    - auto::m_bloom_filter::reset
    - MinimumChainWork
    - auto::m_tx_inventory_to_send::empty
    - IsMsgTx
    - m_blockman::LookupBlockIndex
    - PeerManagerImpl::RemoveBlockRequest
    - SetCommonVersion
    - GetId
    - PeerRef::m_getdata_requests::end
    - PeerManagerImpl::IsBlockRequestedFromOutbound
    - end
    - std::vector::resize
    - PartiallyDownloadedBlock::PartiallyDownloadedBlock
    - PeerRef::SetTxRelay
    - GetMappedAS
    - DeploymentActiveAfter
    - Good
    - MayHaveUsefulAddressDB
    - ActiveChainstate
    - PeerManagerImpl::RejectIncomingTxs
    - TX_WITH_WITNESS
    - HasPermission
    - ProcessNewPackage
    - PeerManagerImpl::PushAddress
    - MoneyRange
    linkageType: ''
    returnType: void
    signature: "void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string&
      msg_type, DataStream& vRecv,\n                                     const std::chrono::microseconds
      time_received,\n                                     const std::atomic<bool>&
      interruptMsgProc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:4955,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:4963,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net_processing.cpp:4965,1
    - Dst: IsManualConn
      Src: /src/bitcoin-core/src/net_processing.cpp:4969,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net_processing.cpp:4971,1
    - Dst: addr::IsLocal
      Src: /src/bitcoin-core/src/net_processing.cpp:4975,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4978,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:4985,1
    - Dst: Discourage
      Src: /src/bitcoin-core/src/net_processing.cpp:4986,1
    - Dst: DisconnectNode
      Src: /src/bitcoin-core/src/net_processing.cpp:4987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - ' pnode'
    - ' peer'
    argTypes:
    - CNode
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4989
      start: 4952
    functionDepth: 1
    functionLinenumber: 4952
    functionLinenumberEnd: 4989
    functionName: PeerManagerImpl::MaybeDiscourageAndDisconnect
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - IsManualConn
    - DisconnectNode
    - addr::IsLocal
    - LogDebug
    - Discourage
    - LogPrintf
    - LOCK
    - HasPermission
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::MaybeDiscourageAndDisconnect(CNode& pnode, Peer&
      peer)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:4993,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:4994,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:4996,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:4996,1
    - Dst: CNode*::IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5001,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5004,1
    - Dst: PeerRef::m_getdata_requests::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5005,1
    - Dst: PeerManagerImpl::ProcessGetData
      Src: /src/bitcoin-core/src/net_processing.cpp:5006,1
    - Dst: PeerManagerImpl::ProcessOrphanTx
      Src: /src/bitcoin-core/src/net_processing.cpp:5010,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5020,1
    - Dst: PeerRef::m_getdata_requests::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5021,1
    - Dst: CNode*::PollMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5027,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/net_processing.cpp:5036,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5037,1
    - Dst: CNode*::m_addr_name::c_str
      Src: /src/bitcoin-core/src/net_processing.cpp:5038,1
    - Dst: CNode*::ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net_processing.cpp:5039,1
    - Dst: m_type::c_str
      Src: /src/bitcoin-core/src/net_processing.cpp:5040,1
    - Dst: m_recv::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5041,1
    - Dst: m_recv::data
      Src: /src/bitcoin-core/src/net_processing.cpp:5042,1
    - Dst: CaptureMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5046,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/net_processing.cpp:5046,1
    - Dst: PeerManagerImpl::ProcessMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5050,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5053,1
    - Dst: PeerRef::m_getdata_requests::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5054,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5061,1
    - Dst: HaveMoreWork
      Src: /src/bitcoin-core/src/net_processing.cpp:5062,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5064,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net_processing.cpp:5064,1
    - Dst: what
      Src: /src/bitcoin-core/src/net_processing.cpp:5064,1
    - Dst: typeid
      Src: /src/bitcoin-core/src/net_processing.cpp:5064,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5066,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net_processing.cpp:5066,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - pfrom
    - ' interruptMsgProc'
    argTypes:
    - CNode*
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5070
      start: 4991
    functionDepth: 7
    functionLinenumber: 4991
    functionLinenumberEnd: 5070
    functionName: PeerManagerImpl::ProcessMessages
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - CaptureMessage
    - CNode*::m_addr_name::c_str
    - CNode*::PollMessage
    - PeerManagerImpl::ProcessGetData
    - PeerRef::m_getdata_requests::empty
    - what
    - PeerManagerImpl::GetPeerRef
    - MakeUCharSpan
    - typeid
    - m_type::c_str
    - TRACEPOINT
    - AssertLockHeld
    - m_recv::data
    - PeerManagerImpl::ProcessMessage
    - HaveMoreWork
    - LogDebug
    - CNode*::IsInboundConn
    - AssertLockNotHeld
    - CNode*::ConnectionTypeAsString
    - m_recv::size
    - CNode*::GetId
    - LOCK
    - PeerManagerImpl::ProcessOrphanTx
    - SanitizeString
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::ProcessMessages(CNode* pfrom, std::atomic<bool>&
      interruptMsgProc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:5074,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:5076,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5076,1
    - Dst: IsOutboundOrBlockRelayConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5078,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:5085,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:5100,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/net_processing.cpp:5108,1
    - Dst: CNodeState::pindexBestKnownBlock::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5108,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:5108,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:5111,1
    - Dst: PeerManagerImpl::MaybeSendGetHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:5116,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/net_processing.cpp:5117,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5119,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5119,1
    - Dst: CNodeState::pindexBestKnownBlock::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5119,1
    - Dst: CNodeState::m_chain_sync::m_work_header::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5119,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - ' pto'
    - ' peer'
    - time_in_seconds
    argTypes:
    - CNode
    - Peer
    - std::chrono::seconds
    assertStmts:
    - condition: (state.m_chain_sync.m_work_header)
      pos:
        line_end: 5110
        line_start: 5110
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 5130
      start: 5072
    functionDepth: 4
    functionLinenumber: 5072
    functionLinenumberEnd: 5130
    functionName: PeerManagerImpl::ConsiderEviction
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - IsOutboundOrBlockRelayConn
    - PeerManagerImpl::MaybeSendGetHeaders
    - DisconnectMsg
    - LogDebug
    - LogInfo
    - ActiveChain
    - CNodeState::pindexBestKnownBlock::GetBlockHash
    - PeerManagerImpl::State
    - AssertLockHeld
    - GetLocator
    - CNodeState::m_chain_sync::m_work_header::GetBlockHash
    - assert
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::ConsiderEviction(CNode& pto, Peer& peer, std::chrono::seconds
      time_in_seconds)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GetExtraBlockRelayCount
      Src: /src/bitcoin-core/src/net_processing.cpp:5140,1
    - Dst: ForEachNode
      Src: /src/bitcoin-core/src/net_processing.cpp:5143,1
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5144,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5145,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5147,1
    - Dst: ForNode
      Src: /src/bitcoin-core/src/net_processing.cpp:5157,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/net_processing.cpp:5157,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:5158,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:5164,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5164,1
    - Dst: CNodeState*::vBlocksInFlight::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5166,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5168,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5169,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net_processing.cpp:5169,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5172,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5173,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net_processing.cpp:5173,1
    - Dst: CNodeState*::vBlocksInFlight::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5173,1
    - Dst: GetExtraFullOutboundCount
      Src: /src/bitcoin-core/src/net_processing.cpp:5180,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/net_processing.cpp:5188,1
    - Dst: ForEachNode
      Src: /src/bitcoin-core/src/net_processing.cpp:5190,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/net_processing.cpp:5190,1
    - Dst: GetNodesMutex
      Src: /src/bitcoin-core/src/net_processing.cpp:5190,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:5191,1
    - Dst: IsFullOutboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5195,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:5196,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5196,1
    - Dst: MultipleManualOrFullOutboundConns
      Src: /src/bitcoin-core/src/net_processing.cpp:5202,1
    - Dst: addr::GetNetwork
      Src: /src/bitcoin-core/src/net_processing.cpp:5202,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5203,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5204,1
    - Dst: ForNode
      Src: /src/bitcoin-core/src/net_processing.cpp:5209,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/net_processing.cpp:5209,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:5210,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:5217,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5217,1
    - Dst: CNodeState::vBlocksInFlight::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5218,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5219,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5219,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5223,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5224,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net_processing.cpp:5224,1
    - Dst: CNodeState::vBlocksInFlight::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5224,1
    - Dst: SetTryNewOutboundPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:5234,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 1
    argNames:
    - now
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5238
      start: 5132
    functionDepth: 2
    functionLinenumber: 5132
    functionLinenumberEnd: 5238
    functionName: PeerManagerImpl::EvictExtraOutboundPeers
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - GetNodesMutex
    - GetExtraFullOutboundCount
    - addr::GetNetwork
    - GetExtraBlockRelayCount
    - PeerManagerImpl::State
    - CNodeState*::vBlocksInFlight::size
    - IsBlockOnlyConn
    - ForNode
    - ForEachNode
    - AssertLockHeld
    - LogDebug
    - MultipleManualOrFullOutboundConns
    - RandomMixin::max
    - CNodeState::vBlocksInFlight::size
    - GetId
    - IsFullOutboundConn
    - CNodeState*::vBlocksInFlight::empty
    - CNodeState::vBlocksInFlight::empty
    - EXCLUSIVE_LOCKS_REQUIRED
    - SetTryNewOutboundPeer
    - count_seconds
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::EvictExtraOutboundPeers(std::chrono::seconds
      now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5242,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:5244,1
    - Dst: PeerManagerImpl::EvictExtraOutboundPeers
      Src: /src/bitcoin-core/src/net_processing.cpp:5246,1
    - Dst: m_blockman::LoadingBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:5251,1
    - Dst: GetNetworkActive
      Src: /src/bitcoin-core/src/net_processing.cpp:5251,1
    - Dst: GetUseAddrmanOutgoing
      Src: /src/bitcoin-core/src/net_processing.cpp:5251,1
    - Dst: PeerManagerImpl::TipMayBeStale
      Src: /src/bitcoin-core/src/net_processing.cpp:5251,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net_processing.cpp:5252,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net_processing.cpp:5253,1
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:5253,1
    - Dst: SetTryNewOutboundPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:5254,1
    - Dst: GetTryNewOutboundPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:5255,1
    - Dst: SetTryNewOutboundPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:5256,1
    - Dst: PeerManagerImpl::CanDirectFetch
      Src: /src/bitcoin-core/src/net_processing.cpp:5261,1
    - Dst: StartExtraBlockRelayPeers
      Src: /src/bitcoin-core/src/net_processing.cpp:5262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5265
      start: 5240
    functionDepth: 3
    functionLinenumber: 5240
    functionLinenumberEnd: 5265
    functionName: PeerManagerImpl::CheckForStaleTipAndEvictPeers
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - PeerManagerImpl::CanDirectFetch
    - GetTime
    - load
    - PeerManagerImpl::TipMayBeStale
    - GetTryNewOutboundPeer
    - StartExtraBlockRelayPeers
    - LOCK
    - LogPrintf
    - SetTryNewOutboundPeer
    - GetNetworkActive
    - GetUseAddrmanOutgoing
    - PeerManagerImpl::EvictExtraOutboundPeers
    - count_seconds
    - m_blockman::LoadingBlocks
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::CheckForStaleTipAndEvictPeers()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ShouldRunInactivityChecks
      Src: /src/bitcoin-core/src/net_processing.cpp:5269,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/bitcoin-core/src/net_processing.cpp:5269,1
    - Dst: m_ping_start::load
      Src: /src/bitcoin-core/src/net_processing.cpp:5271,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5275,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/net_processing.cpp:5275,1
    - Dst: m_ping_start::load
      Src: /src/bitcoin-core/src/net_processing.cpp:5275,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:5275,1
    - Dst: m_ping_start::load
      Src: /src/bitcoin-core/src/net_processing.cpp:5287,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/net_processing.cpp:5295,1
    - Dst: GetCommonVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:5299,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5301,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - ' node_to'
    - ' peer'
    - now
    argTypes:
    - CNode
    - Peer
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5308
      start: 5267
    functionDepth: 3
    functionLinenumber: 5267
    functionLinenumberEnd: 5308
    functionName: PeerManagerImpl::MaybeSendPing
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_ping_start::load
    - ShouldRunInactivityChecks
    - LogDebug
    - DisconnectMsg
    - PeerManagerImpl::MakeAndPushMessage
    - count_microseconds
    - std::chrono::duration_cast<std::chrono::seconds>
    - FastRandomContext
    - GetCommonVersion
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::MaybeSendPing(CNode& node_to, Peer& peer, std::chrono::microseconds
      now)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5315,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:5317,1
    - Dst: m_addr_known::reset
      Src: /src/bitcoin-core/src/net_processing.cpp:5326,1
    - Dst: GetLocalAddrForPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:5328,1
    - Dst: Now
      Src: /src/bitcoin-core/src/net_processing.cpp:5329,1
    - Dst: PeerManagerImpl::PushAddress
      Src: /src/bitcoin-core/src/net_processing.cpp:5330,1
    - Dst: rand_exp_duration
      Src: /src/bitcoin-core/src/net_processing.cpp:5332,1
    - Dst: rand_exp_duration
      Src: /src/bitcoin-core/src/net_processing.cpp:5338,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net_processing.cpp:5340,1
    - Dst: m_addrs_to_send::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5340,1
    - Dst: m_addrs_to_send::resize
      Src: /src/bitcoin-core/src/net_processing.cpp:5343,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/net_processing.cpp:5348,1
    - Dst: m_addr_known::contains
      Src: /src/bitcoin-core/src/net_processing.cpp:5349,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/net_processing.cpp:5349,1
    - Dst: m_addr_known::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:5350,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/net_processing.cpp:5350,1
    - Dst: m_addrs_to_send::erase
      Src: /src/bitcoin-core/src/net_processing.cpp:5353,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/net_processing.cpp:5353,1
    - Dst: m_addrs_to_send::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:5353,1
    - Dst: m_addrs_to_send::end
      Src: /src/bitcoin-core/src/net_processing.cpp:5353,1
    - Dst: m_addrs_to_send::end
      Src: /src/bitcoin-core/src/net_processing.cpp:5354,1
    - Dst: m_addrs_to_send::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5357,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5360,1
    - Dst: CAddress::V2_NETWORK
      Src: /src/bitcoin-core/src/net_processing.cpp:5360,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5362,1
    - Dst: CAddress::V1_NETWORK
      Src: /src/bitcoin-core/src/net_processing.cpp:5362,1
    - Dst: m_addrs_to_send::clear
      Src: /src/bitcoin-core/src/net_processing.cpp:5364,1
    - Dst: m_addrs_to_send::capacity
      Src: /src/bitcoin-core/src/net_processing.cpp:5367,1
    - Dst: m_addrs_to_send::shrink_to_fit
      Src: /src/bitcoin-core/src/net_processing.cpp:5368,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - ' node'
    - ' peer'
    - current_time
    argTypes:
    - CNode
    - Peer
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5370
      start: 5310
    functionDepth: 3
    functionLinenumber: 5310
    functionLinenumberEnd: 5370
    functionName: PeerManagerImpl::MaybeSendAddr
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - m_addrs_to_send::erase
    - m_addrs_to_send::size
    - m_addrs_to_send::empty
    - CAddress::V1_NETWORK
    - m_addr_known::insert
    - PeerManagerImpl::MakeAndPushMessage
    - m_addrs_to_send::end
    - m_addr_known::reset
    - m_addrs_to_send::capacity
    - std::remove_if
    - GetKey
    - Now
    - m_addrs_to_send::resize
    - Assume
    - GetLocalAddrForPeer
    - m_addr_known::contains
    - m_addrs_to_send::clear
    - m_addrs_to_send::shrink_to_fit
    - rand_exp_duration
    - m_addrs_to_send::begin
    - IsInitialBlockDownload
    - CAddress::V2_NETWORK
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - PeerManagerImpl::PushAddress
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::MaybeSendAddr(CNode& node, Peer& peer, std::chrono::microseconds
      current_time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCommonVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:5378,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5379,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:5380,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5380,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/net_processing.cpp:5382,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' node'
    - ' peer'
    argTypes:
    - CNode
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5391
      start: 5372
    functionDepth: 3
    functionLinenumber: 5372
    functionLinenumberEnd: 5391
    functionName: PeerManagerImpl::MaybeSendSendHeaders
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - MinimumChainWork
    - PeerManagerImpl::MakeAndPushMessage
    - LOCK
    - PeerManagerImpl::State
    - GetCommonVersion
    - GetId
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::MaybeSendSendHeaders(CNode& node, Peer& peer)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetCommonVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:5396,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:5398,1
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5401,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/net_processing.cpp:5403,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:5405,1
    - Dst: round
      Src: /src/bitcoin-core/src/net_processing.cpp:5410,1
    - Dst: round
      Src: /src/bitcoin-core/src/net_processing.cpp:5418,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net_processing.cpp:5420,1
    - Dst: m_opts::min_relay_feerate::GetFeePerK
      Src: /src/bitcoin-core/src/net_processing.cpp:5420,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5422,1
    - Dst: rand_exp_duration
      Src: /src/bitcoin-core/src/net_processing.cpp:5425,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/net_processing.cpp:5431,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' pto'
    - ' peer'
    - current_time
    argTypes:
    - CNode
    - Peer
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5433
      start: 5393
    functionDepth: 3
    functionLinenumber: 5393
    functionLinenumberEnd: 5433
    functionName: PeerManagerImpl::MaybeSendFeefilter
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - rand_exp_duration
    - IsInitialBlockDownload
    - PeerManagerImpl::MakeAndPushMessage
    - std::max
    - round
    - GetMinFee
    - randrange
    - m_opts::min_relay_feerate::GetFeePerK
    - GetCommonVersion
    - IsBlockOnlyConn
    - HasPermission
    linkageType: ''
    returnType: void
    signature: void PeerManagerImpl::MaybeSendFeefilter(CNode& pto, Peer& peer, std::chrono::microseconds
      current_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mempool
    argTypes:
    - CTxMemPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5440
      start: 5440
    functionDepth: 0
    functionLinenumber: 5440
    functionLinenumberEnd: 5440
    functionName: CompareInvMempoolOrder::CompareInvMempoolOrder
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompareInvMempoolOrder(CTxMemPool* mempool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareDepthAndScore
      Src: /src/bitcoin-core/src/net_processing.cpp:5446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::set<Wtxid>::iterator
    - std::set<Wtxid>::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5447
      start: 5442
    functionDepth: 0
    functionLinenumber: 5442
    functionLinenumberEnd: 5447
    functionName: operator()(std::set<Wtxid>::iterator a, std::set<Wtxid>::iterator
      b)
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - CompareDepthAndScore
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::set<Wtxid>::iterator a, std::set<Wtxid>::iterator
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mempool
    argTypes:
    - CTxMemPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5440
      start: 5440
    functionDepth: 0
    functionLinenumber: 5440
    functionLinenumberEnd: 5440
    functionName: CompareInvMempoolOrder::CompareInvMempoolOrder
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompareInvMempoolOrder(CTxMemPool* mempool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareDepthAndScore
      Src: /src/bitcoin-core/src/net_processing.cpp:5446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::set<Wtxid>::iterator
    - std::set<Wtxid>::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5447
      start: 5442
    functionDepth: 0
    functionLinenumber: 5442
    functionLinenumberEnd: 5447
    functionName: operator()(std::set<Wtxid>::iterator a, std::set<Wtxid>::iterator
      b)
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - CompareDepthAndScore
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::set<Wtxid>::iterator a, std::set<Wtxid>::iterator
      b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5454,1
    - Dst: IsFeelerConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5455,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:5457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - CNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5459
      start: 5451
    functionDepth: 0
    functionLinenumber: 5451
    functionLinenumberEnd: 5459
    functionName: PeerManagerImpl::RejectIncomingTxs
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 2
    functionsReached:
    - IsBlockOnlyConn
    - IsFeelerConn
    - HasPermission
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::RejectIncomingTxs(const CNode& peer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5466,1
    - Dst: m_addr_relay_enabled::exchange
      Src: /src/bitcoin-core/src/net_processing.cpp:5468,1
    - Dst: std::make_unique<CRollingBloomFilter>
      Src: /src/bitcoin-core/src/net_processing.cpp:5472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' node'
    - ' peer'
    argTypes:
    - CNode
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5476
      start: 5461
    functionDepth: 0
    functionLinenumber: 5461
    functionLinenumberEnd: 5476
    functionName: PeerManagerImpl::SetupAddressRelay
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 1
    functionsReached:
    - m_addr_relay_enabled::exchange
    - std::make_unique<CRollingBloomFilter>
    - IsBlockOnlyConn
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::SetupAddressRelay(const CNode& node, Peer& peer)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:5480,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net_processing.cpp:5481,1
    - Dst: PeerManagerImpl::GetPeerRef
      Src: /src/bitcoin-core/src/net_processing.cpp:5483,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5483,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/net_processing.cpp:5485,1
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/net_processing.cpp:5489,1
    - Dst: CNode*::IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5492,1
    - Dst: PeerManagerImpl::PushNodeVersion
      Src: /src/bitcoin-core/src/net_processing.cpp:5493,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:5501,1
    - Dst: CNode*::IsAddrFetchConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5503,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5504,1
    - Dst: CNode*::DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:5504,1
    - Dst: PeerManagerImpl::MaybeSendPing
      Src: /src/bitcoin-core/src/net_processing.cpp:5509,1
    - Dst: PeerManagerImpl::MaybeSendAddr
      Src: /src/bitcoin-core/src/net_processing.cpp:5514,1
    - Dst: PeerManagerImpl::MaybeSendSendHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:5516,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5519,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:5521,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5521,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:5525,1
    - Dst: CanServeBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:5534,1
    - Dst: CNode*::IsAddrFetchConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5534,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5544,1
    - Dst: CanServeBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:5549,1
    - Dst: m_blockman::LoadingBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:5549,1
    - Dst: m_best_header::Time
      Src: /src/bitcoin-core/src/net_processing.cpp:5551,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net_processing.cpp:5551,1
    - Dst: PeerManagerImpl::MaybeSendGetHeaders
      Src: /src/bitcoin-core/src/net_processing.cpp:5562,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/net_processing.cpp:5562,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5563,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5563,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/net_processing.cpp:5571,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net_processing.cpp:5571,1
    - Dst: m_best_header::Time
      Src: /src/bitcoin-core/src/net_processing.cpp:5571,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5589,1
    - Dst: PeerRef::m_blocks_for_headers_relay::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5592,1
    - Dst: PeerRef::m_blocks_for_headers_relay::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5593,1
    - Dst: PeerManagerImpl::ProcessBlockAvailability
      Src: /src/bitcoin-core/src/net_processing.cpp:5595,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5595,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:5603,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:5604,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:5605,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5628,1
    - Dst: CBlockIndex*::GetBlockHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:5628,1
    - Dst: PeerHasHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:5629,1
    - Dst: PeerHasHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:5631,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5635,1
    - Dst: CBlockIndex*::GetBlockHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:5635,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5644,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5645,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5648,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/net_processing.cpp:5649,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5649,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5653,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5654,1
    - Dst: NetMsg::Make
      Src: /src/bitcoin-core/src/net_processing.cpp:5655,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/net_processing.cpp:5658,1
    - Dst: PeerManagerImpl::PushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5659,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_processing.cpp:5659,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/net_processing.cpp:5659,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:5661,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:5662,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:5663,1
    - Dst: rand64
      Src: /src/bitcoin-core/src/net_processing.cpp:5664,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5665,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5669,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5670,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5671,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/net_processing.cpp:5672,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/net_processing.cpp:5673,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5673,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5675,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/net_processing.cpp:5676,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5676,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5678,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/net_processing.cpp:5678,1
    - Dst: PeerRef::m_blocks_for_headers_relay::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5687,1
    - Dst: PeerRef::m_blocks_for_headers_relay::back
      Src: /src/bitcoin-core/src/net_processing.cpp:5688,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/net_processing.cpp:5689,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net_processing.cpp:5690,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:5695,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5696,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:5697,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/net_processing.cpp:5697,1
    - Dst: PeerHasHeader
      Src: /src/bitcoin-core/src/net_processing.cpp:5701,1
    - Dst: PeerRef::m_blocks_for_inv_relay::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5702,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5703,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5704,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_processing.cpp:5704,1
    - Dst: PeerRef::m_blocks_for_headers_relay::clear
      Src: /src/bitcoin-core/src/net_processing.cpp:5708,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5716,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/net_processing.cpp:5717,1
    - Dst: std::max<size_t>
      Src: /src/bitcoin-core/src/net_processing.cpp:5717,1
    - Dst: PeerRef::m_blocks_for_inv_relay::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5717,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5721,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5722,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5723,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/net_processing.cpp:5724,1
    - Dst: PeerRef::m_blocks_for_inv_relay::clear
      Src: /src/bitcoin-core/src/net_processing.cpp:5727,1
    - Dst: PeerRef::GetTxRelay
      Src: /src/bitcoin-core/src/net_processing.cpp:5730,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5731,1
    - Dst: CNode*::HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:5733,1
    - Dst: CNode*::IsInboundConn
      Src: /src/bitcoin-core/src/net_processing.cpp:5736,1
    - Dst: PeerManagerImpl::NextInvToInbounds
      Src: /src/bitcoin-core/src/net_processing.cpp:5737,1
    - Dst: rand_exp_duration
      Src: /src/bitcoin-core/src/net_processing.cpp:5739,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5745,1
    - Dst: auto::m_tx_inventory_to_send::clear
      Src: /src/bitcoin-core/src/net_processing.cpp:5746,1
    - Dst: infoAll
      Src: /src/bitcoin-core/src/net_processing.cpp:5751,1
    - Dst: auto::m_fee_filter_received::load
      Src: /src/bitcoin-core/src/net_processing.cpp:5753,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5755,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5758,1
    - Dst: tx::GetWitnessHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5759,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/net_processing.cpp:5761,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/net_processing.cpp:5762,1
    - Dst: auto::m_tx_inventory_to_send::erase
      Src: /src/bitcoin-core/src/net_processing.cpp:5763,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/net_processing.cpp:5766,1
    - Dst: auto::m_bloom_filter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/net_processing.cpp:5770,1
    - Dst: auto::m_tx_inventory_known_filter::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:5772,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5773,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5774,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5775,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/net_processing.cpp:5776,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/net_processing.cpp:5785,1
    - Dst: auto::m_tx_inventory_to_send::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5785,1
    - Dst: auto::m_tx_inventory_to_send::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:5786,1
    - Dst: auto::m_tx_inventory_to_send::end
      Src: /src/bitcoin-core/src/net_processing.cpp:5786,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5787,1
    - Dst: auto::m_fee_filter_received::load
      Src: /src/bitcoin-core/src/net_processing.cpp:5789,1
    - Dst: std::make_heap
      Src: /src/bitcoin-core/src/net_processing.cpp:5793,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:5793,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net_processing.cpp:5793,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5797,1
    - Dst: auto::m_tx_inventory_to_send::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5798,1
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/net_processing.cpp:5799,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5800,1
    - Dst: std::pop_heap
      Src: /src/bitcoin-core/src/net_processing.cpp:5802,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net_processing.cpp:5802,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net_processing.cpp:5802,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/net_processing.cpp:5803,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5804,1
    - Dst: auto::m_tx_inventory_to_send::erase
      Src: /src/bitcoin-core/src/net_processing.cpp:5807,1
    - Dst: info
      Src: /src/bitcoin-core/src/net_processing.cpp:5809,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/net_processing.cpp:5817,1
    - Dst: auto::tx::GetHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5818,1
    - Dst: auto::m_tx_inventory_known_filter::contains
      Src: /src/bitcoin-core/src/net_processing.cpp:5820,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/net_processing.cpp:5824,1
    - Dst: auto::m_bloom_filter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/net_processing.cpp:5827,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5829,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5831,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5832,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/net_processing.cpp:5833,1
    - Dst: auto::m_tx_inventory_known_filter::insert
      Src: /src/bitcoin-core/src/net_processing.cpp:5835,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5839,1
    - Dst: GetSequence
      Src: /src/bitcoin-core/src/net_processing.cpp:5840,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5843,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5844,1
    - Dst: load
      Src: /src/bitcoin-core/src/net_processing.cpp:5847,1
    - Dst: CNodeState::m_stalling_since::count
      Src: /src/bitcoin-core/src/net_processing.cpp:5848,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/net_processing.cpp:5852,1
    - Dst: CNode*::DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:5852,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net_processing.cpp:5856,1
    - Dst: compare_exchange_strong
      Src: /src/bitcoin-core/src/net_processing.cpp:5857,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5858,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net_processing.cpp:5858,1
    - Dst: CNodeState::vBlocksInFlight::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5867,1
    - Dst: CNodeState::vBlocksInFlight::front
      Src: /src/bitcoin-core/src/net_processing.cpp:5868,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/net_processing.cpp:5871,1
    - Dst: QueuedBlock::pindex::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5871,1
    - Dst: CNode*::DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:5871,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/net_processing.cpp:5877,1
    - Dst: m_best_header::Time
      Src: /src/bitcoin-core/src/net_processing.cpp:5879,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net_processing.cpp:5879,1
    - Dst: CNode*::HasPermission
      Src: /src/bitcoin-core/src/net_processing.cpp:5886,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/net_processing.cpp:5887,1
    - Dst: CNode*::DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:5887,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/net_processing.cpp:5891,1
    - Dst: CNode*::DisconnectMsg
      Src: /src/bitcoin-core/src/net_processing.cpp:5891,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/net_processing.cpp:5905,1
    - Dst: PeerManagerImpl::ConsiderEviction
      Src: /src/bitcoin-core/src/net_processing.cpp:5911,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net_processing.cpp:5911,1
    - Dst: CanServeBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:5917,1
    - Dst: IsLimitedPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:5917,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:5917,1
    - Dst: CNodeState::vBlocksInFlight::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5917,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net_processing.cpp:5921,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/net_processing.cpp:5921,1
    - Dst: CNodeState::vBlocksInFlight::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5921,1
    - Dst: PeerManagerImpl::FindNextBlocksToDownload
      Src: /src/bitcoin-core/src/net_processing.cpp:5926,1
    - Dst: get_inflight_budget
      Src: /src/bitcoin-core/src/net_processing.cpp:5926,1
    - Dst: BackgroundSyncInProgress
      Src: /src/bitcoin-core/src/net_processing.cpp:5927,1
    - Dst: IsLimitedPeer
      Src: /src/bitcoin-core/src/net_processing.cpp:5927,1
    - Dst: LastCommonAncestor
      Src: /src/bitcoin-core/src/net_processing.cpp:5930,1
    - Dst: GetBackgroundSyncTip
      Src: /src/bitcoin-core/src/net_processing.cpp:5930,1
    - Dst: GetSnapshotBaseBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:5930,1
    - Dst: PeerManagerImpl::TryDownloadingHistoricalBlocks
      Src: /src/bitcoin-core/src/net_processing.cpp:5931,1
    - Dst: get_inflight_budget
      Src: /src/bitcoin-core/src/net_processing.cpp:5933,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/net_processing.cpp:5935,1
    - Dst: GetSnapshotBaseBlock
      Src: /src/bitcoin-core/src/net_processing.cpp:5935,1
    - Dst: PeerManagerImpl::GetFetchFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:5938,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5939,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5939,1
    - Dst: PeerManagerImpl::BlockRequested
      Src: /src/bitcoin-core/src/net_processing.cpp:5940,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5940,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5941,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/net_processing.cpp:5941,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5942,1
    - Dst: CNodeState::vBlocksInFlight::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5944,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:5945,1
    - Dst: PeerManagerImpl::State
      Src: /src/bitcoin-core/src/net_processing.cpp:5946,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net_processing.cpp:5947,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net_processing.cpp:5956,1
    - Dst: GetRequestsToSend
      Src: /src/bitcoin-core/src/net_processing.cpp:5957,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net_processing.cpp:5957,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_processing.cpp:5958,1
    - Dst: IsWtxid
      Src: /src/bitcoin-core/src/net_processing.cpp:5958,1
    - Dst: PeerManagerImpl::GetFetchFlags
      Src: /src/bitcoin-core/src/net_processing.cpp:5958,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/net_processing.cpp:5958,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net_processing.cpp:5959,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5960,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/net_processing.cpp:5961,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/net_processing.cpp:5966,1
    - Dst: PeerManagerImpl::MakeAndPushMessage
      Src: /src/bitcoin-core/src/net_processing.cpp:5967,1
    - Dst: PeerManagerImpl::MaybeSendFeefilter
      Src: /src/bitcoin-core/src/net_processing.cpp:5969,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 263
    argCount: 1
    argNames:
    - pto
    argTypes:
    - CNode*
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 5662
        line_start: 5662
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (pindex)
      pos:
        line_end: 5689
        line_start: 5689
        source_file: /src/bitcoin-core/src/net_processing.cpp
    - condition: (pindex)
      pos:
        line_end: 5603
        line_start: 5603
        source_file: /src/bitcoin-core/src/net_processing.cpp
    constantsTouched: []
    func_position:
      end: 5971
      start: 5478
    functionDepth: 5
    functionLinenumber: 5478
    functionLinenumberEnd: 5971
    functionName: PeerManagerImpl::SendMessages
    functionSourceFile: /src/bitcoin-core/src/net_processing.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - PeerManagerImpl::MaybeSendAddr
    - std::move
    - auto::m_fee_filter_received::load
    - std::min
    - GetTime
    - std::min<size_t>
    - ToString
    - IsLimitedPeer
    - GetSequence
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - PeerManagerImpl::MakeAndPushMessage
    - auto::m_tx_inventory_to_send::size
    - tx::GetWitnessHash
    - CBlockIndex*::GetBlockHash
    - std::vector::size
    - auto::m_tx_inventory_to_send::erase
    - empty
    - infoAll
    - std::optional::has_value
    - PeerRef::m_blocks_for_headers_relay::clear
    - assert
    - compare_exchange_strong
    - std::vector::begin
    - std::max
    - LOCK
    - CNode*::DisconnectMsg
    - auto::m_bloom_filter::IsRelevantAndUpdate
    - GetConsensus
    - PeerManagerImpl::MaybeSendSendHeaders
    - load
    - PeerManagerImpl::PushNodeVersion
    - NodeClock::now
    - PeerRef::m_blocks_for_headers_relay::empty
    - PeerManagerImpl::MaybeSendFeefilter
    - AssertLockHeld
    - std::vector::pop_back
    - std::vector::empty
    - static_cast<int>
    - AssertLockNotHeld
    - CNode*::IsInboundConn
    - ActiveChain
    - Assert
    - RandomMixin::max
    - PeerHasHeader
    - rand_exp_duration
    - CNodeState::vBlocksInFlight::empty
    - PeerRef::m_blocks_for_inv_relay::clear
    - CNode*::HasPermission
    - PeerManagerImpl::ConsiderEviction
    - count_seconds
    - get_inflight_budget
    - PeerManagerImpl::MaybeSendGetHeaders
    - IsWtxid
    - LastCommonAncestor
    - auto::m_tx_inventory_to_send::clear
    - CBlock::CBlock
    - rand64
    - LogInfo
    - auto::m_tx_inventory_known_filter::contains
    - std::pop_heap
    - PeerRef::m_blocks_for_headers_relay::size
    - std::vector::front
    - std::vector::end
    - GetBackgroundSyncTip
    - GetSnapshotBaseBlock
    - std::vector::reserve
    - PeerManagerImpl::BlockRequested
    - LogDebug
    - CanServeBlocks
    - NetMsg::Make
    - PeerRef::m_blocks_for_inv_relay::push_back
    - info
    - std::vector::clear
    - PeerRef::GetTxRelay
    - PeerManagerImpl::NextInvToInbounds
    - Ticks
    - IsInitialBlockDownload
    - PeerManagerImpl::PushMessage
    - tx::GetHash
    - std::optional::value
    - PeerManagerImpl::MaybeSendPing
    - QueuedBlock::pindex::GetBlockHash
    - auto::m_tx_inventory_to_send::begin
    - m_best_header::Time
    - PeerRef::m_blocks_for_inv_relay::size
    - PeerManagerImpl::FindNextBlocksToDownload
    - PeerManagerImpl::TryDownloadingHistoricalBlocks
    - CBlockIndex*::GetBlockHeader
    - PeerRef::m_blocks_for_headers_relay::back
    - std::vector::push_back
    - std::max<size_t>
    - PeerManagerImpl::State
    - CNodeState::vBlocksInFlight::front
    - PeerManagerImpl::GetPeerRef
    - GetRequestsToSend
    - std::vector::back
    - BackgroundSyncInProgress
    - auto::m_tx_inventory_to_send::end
    - auto::tx::GetHash
    - ToUint256
    - CNodeState::m_stalling_since::count
    - GetLocator
    - CFeeRate::GetFee
    - auto::ToUint256
    - m_blockman::LoadingBlocks
    - PeerManagerImpl::ProcessBlockAvailability
    - PeerManagerImpl::GetFetchFlags
    - std::make_heap
    - m_blockman::LookupBlockIndex
    - CNodeState::vBlocksInFlight::size
    - auto::m_tx_inventory_known_filter::insert
    - CNode*::GetId
    - CNode*::IsAddrFetchConn
    - TX_WITH_WITNESS
    - m_blockman::ReadBlock
    linkageType: ''
    returnType: bool
    signature: bool PeerManagerImpl::SendMessages(CNode* pto)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' type'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: ParseOutputType
    functionSourceFile: /src/bitcoin-core/src/outputtype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> ParseOutputType(const std::string& type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/outputtype.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - OutputType
    assertStmts:
    - condition: (false)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/outputtype.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: FormatOutputType
    functionSourceFile: /src/bitcoin-core/src/outputtype.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string & FormatOutputType(OutputType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Join
      Src: /src/bitcoin-core/src/outputtype.cpp:51,1
    - Dst: FormatOutputType
      Src: /src/bitcoin-core/src/outputtype.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: FormatAllOutputTypes
    functionSourceFile: /src/bitcoin-core/src/outputtype.cpp
    functionUses: 0
    functionsReached:
    - FormatOutputType
    - util::Join
    linkageType: ''
    returnType: std::string
    signature: std::string FormatAllOutputTypes()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: scripts::emplace
      Src: /src/bitcoin-core/src/outputtype.cpp:57,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/outputtype.cpp:57,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/outputtype.cpp:61,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/outputtype.cpp:64,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/outputtype.cpp:65,1
    - Dst: scripts::emplace
      Src: /src/bitcoin-core/src/outputtype.cpp:67,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/outputtype.cpp:67,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/outputtype.cpp:71,1
    - Dst: assert
      Src: /src/bitcoin-core/src/outputtype.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ' keystore'
    - ' script'
    - type
    argTypes:
    - FlatSigningProvider
    - CScript
    - OutputType
    assertStmts:
    - condition: (false)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/bitcoin-core/src/outputtype.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: AddAndGetDestinationForScript
    functionSourceFile: /src/bitcoin-core/src/outputtype.cpp
    functionUses: 0
    functionsReached:
    - ScriptHash
    - GetScriptForDestination
    - CScriptID
    - WitnessV0ScriptHash
    - assert
    - scripts::emplace
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination AddAndGetDestinationForScript(FlatSigningProvider& keystore,
      const CScript& script, OutputType type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<PKHash>
      Src: /src/bitcoin-core/src/outputtype.cpp:81,1
    - Dst: std::holds_alternative<ScriptHash>
      Src: /src/bitcoin-core/src/outputtype.cpp:82,1
    - Dst: std::holds_alternative<WitnessV0KeyHash>
      Src: /src/bitcoin-core/src/outputtype.cpp:85,1
    - Dst: std::holds_alternative<WitnessV0ScriptHash>
      Src: /src/bitcoin-core/src/outputtype.cpp:86,1
    - Dst: std::holds_alternative<WitnessV1Taproot>
      Src: /src/bitcoin-core/src/outputtype.cpp:89,1
    - Dst: std::holds_alternative<WitnessUnknown>
      Src: /src/bitcoin-core/src/outputtype.cpp:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: OutputTypeFromDestination
    functionSourceFile: /src/bitcoin-core/src/outputtype.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<WitnessUnknown>
    - std::holds_alternative<WitnessV0ScriptHash>
    - std::holds_alternative<WitnessV0KeyHash>
    - std::holds_alternative<PKHash>
    - std::holds_alternative<WitnessV1Taproot>
    - std::holds_alternative<ScriptHash>
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> OutputTypeFromDestination(const CTxDestination&
      dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/httpserver.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _req
    - _path
    - ' _func'
    argTypes:
    - std::unique_ptr<HTTPRequest>
    - std::string
    - HTTPRequestHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: HTTPWorkItem::HTTPWorkItem
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HTTPWorkItem(std::unique_ptr<HTTPRequest> _req, const std::string
      &_path, const HTTPRequestHandler& _func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/bitcoin-core/src/httpserver.cpp:62,1
    - Dst: get
      Src: /src/bitcoin-core/src/httpserver.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: operator()() override
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - func
    - get
    linkageType: ''
    returnType: void
    signature: void operator()() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _maxDepth
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: WorkQueue::WorkQueue
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WorkQueue(size_t _maxDepth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: ~WorkQueue()
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WorkQueue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:95,1
    - Dst: size
      Src: /src/bitcoin-core/src/httpserver.cpp:96,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/httpserver.cpp:99,1
    - Dst: std::unique_ptr<WorkItem>
      Src: /src/bitcoin-core/src/httpserver.cpp:99,1
    - Dst: notify_one
      Src: /src/bitcoin-core/src/httpserver.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: (!cs)
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<WorkItem>
    - size
    - LOCK
    - notify_one
    - emplace_back
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!cs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:109,1
    - Dst: empty
      Src: /src/bitcoin-core/src/httpserver.cpp:110,1
    - Dst: wait
      Src: /src/bitcoin-core/src/httpserver.cpp:111,1
    - Dst: empty
      Src: /src/bitcoin-core/src/httpserver.cpp:112,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/httpserver.cpp:114,1
    - Dst: front
      Src: /src/bitcoin-core/src/httpserver.cpp:114,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/httpserver.cpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: WorkQueue::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - pop_front
    - empty
    - WAIT_LOCK
    - std::move
    - wait
    - front
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(!cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:123,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/httpserver.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: (!cs)
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - notify_all
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _prefix
    - _exactMatch
    - _handler
    argTypes:
    - std::string
    - bool
    - HTTPRequestHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: HTTPPathHandler
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPPathHandler(std::string _prefix, bool _exactMatch, HTTPRequestHandler
      _handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/httpserver.cpp:170,1
    - Dst: empty
      Src: /src/bitcoin-core/src/httpserver.cpp:171,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/httpserver.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: HTTPRequestTracker::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - erase
    - empty
    - notify_all
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/httpserver.cpp:177,1
    - Dst: evhttp_request_get_connection
      Src: /src/bitcoin-core/src/httpserver.cpp:177,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/httpserver.cpp:177,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - WITH_LOCK
    - evhttp_request_get_connection
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/httpserver.cpp:183,1
    - Dst: evhttp_request_get_connection
      Src: /src/bitcoin-core/src/httpserver.cpp:183,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/httpserver.cpp:183,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:184,1
    - Dst: find
      Src: /src/bitcoin-core/src/httpserver.cpp:185,1
    - Dst: end
      Src: /src/bitcoin-core/src/httpserver.cpp:186,1
    - Dst: RemoveConnectionInternal
      Src: /src/bitcoin-core/src/httpserver.cpp:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - end
    - RemoveConnectionInternal
    - LOCK
    - Assert
    - evhttp_request_get_connection
    - find
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:193,1
    - Dst: find
      Src: /src/bitcoin-core/src/httpserver.cpp:194,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/httpserver.cpp:194,1
    - Dst: end
      Src: /src/bitcoin-core/src/httpserver.cpp:195,1
    - Dst: RemoveConnectionInternal
      Src: /src/bitcoin-core/src/httpserver.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - end
    - RemoveConnectionInternal
    - LOCK
    - Assert
    - find
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:199,1
    - Dst: size
      Src: /src/bitcoin-core/src/httpserver.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - WITH_LOCK
    - size
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:204,1
    - Dst: wait
      Src: /src/bitcoin-core/src/httpserver.cpp:205,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/httpserver.cpp:205,1
    - Dst: empty
      Src: /src/bitcoin-core/src/httpserver.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - EXCLUSIVE_LOCKS_REQUIRED
    - wait
    - WAIT_LOCK
    - empty
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsValid
      Src: /src/bitcoin-core/src/httpserver.cpp:214,1
    - Dst: Match
      Src: /src/bitcoin-core/src/httpserver.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' netaddr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: ClientAllowed
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - Match
    - IsValid
    linkageType: ''
    returnType: bool
    signature: bool ClientAllowed(const CNetAddr& netaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/httpserver.cpp:225,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/httpserver.cpp:226,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/httpserver.cpp:226,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/httpserver.cpp:227,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/httpserver.cpp:227,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httpserver.cpp:228,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/httpserver.cpp:229,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/httpserver.cpp:230,1
    - Dst: ThreadSafeMessageBox
      Src: /src/bitcoin-core/src/httpserver.cpp:231,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/httpserver.cpp:232,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/httpserver.cpp:232,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/httpserver.cpp:236,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/httpserver.cpp:240,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: InitHTTPAllowList
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - GetArgs
    - ThreadSafeMessageBox
    - push_back
    - LookupHost
    - LookupSubNet
    - LogDebug
    - CSubNet::ToString
    - clear
    - CSubNet::IsValid
    - strprintf
    - emplace_back
    - Untranslated
    linkageType: ''
    returnType: bool
    signature: bool InitHTTPAllowList()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/httpserver.cpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - m
    argTypes:
    - HTTPRequest::RequestMethod
    assertStmts:
    - condition: (false)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/bitcoin-core/src/httpserver.cpp
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: RequestMethodString
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string RequestMethodString(HTTPRequest::RequestMethod m)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_connection
      Src: /src/bitcoin-core/src/httpserver.cpp:266,1
    - Dst: AddRequest
      Src: /src/bitcoin-core/src/httpserver.cpp:269,1
    - Dst: evhttp_request_set_on_complete_cb
      Src: /src/bitcoin-core/src/httpserver.cpp:270,1
    - Dst: RemoveRequest
      Src: /src/bitcoin-core/src/httpserver.cpp:271,1
    - Dst: evhttp_connection_set_closecb
      Src: /src/bitcoin-core/src/httpserver.cpp:273,1
    - Dst: RemoveConnection
      Src: /src/bitcoin-core/src/httpserver.cpp:274,1
    - Dst: event_get_version_number
      Src: /src/bitcoin-core/src/httpserver.cpp:281,1
    - Dst: event_get_version_number
      Src: /src/bitcoin-core/src/httpserver.cpp:281,1
    - Dst: evhttp_connection_get_bufferevent
      Src: /src/bitcoin-core/src/httpserver.cpp:283,1
    - Dst: bufferevent_disable
      Src: /src/bitcoin-core/src/httpserver.cpp:285,1
    - Dst: std::make_unique<HTTPRequest>
      Src: /src/bitcoin-core/src/httpserver.cpp:289,1
    - Dst: static_cast<const util::SignalInterrupt*>
      Src: /src/bitcoin-core/src/httpserver.cpp:289,1
    - Dst: ClientAllowed
      Src: /src/bitcoin-core/src/httpserver.cpp:292,1
    - Dst: auto::GetPeer
      Src: /src/bitcoin-core/src/httpserver.cpp:292,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:293,1
    - Dst: auto::GetPeer
      Src: /src/bitcoin-core/src/httpserver.cpp:294,1
    - Dst: auto::WriteReply
      Src: /src/bitcoin-core/src/httpserver.cpp:295,1
    - Dst: auto::GetRequestMethod
      Src: /src/bitcoin-core/src/httpserver.cpp:300,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:301,1
    - Dst: auto::GetPeer
      Src: /src/bitcoin-core/src/httpserver.cpp:302,1
    - Dst: auto::WriteReply
      Src: /src/bitcoin-core/src/httpserver.cpp:303,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:307,1
    - Dst: RequestMethodString
      Src: /src/bitcoin-core/src/httpserver.cpp:308,1
    - Dst: auto::GetRequestMethod
      Src: /src/bitcoin-core/src/httpserver.cpp:308,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/httpserver.cpp:308,1
    - Dst: auto::GetURI
      Src: /src/bitcoin-core/src/httpserver.cpp:308,1
    - Dst: auto::GetPeer
      Src: /src/bitcoin-core/src/httpserver.cpp:308,1
    - Dst: auto::GetURI
      Src: /src/bitcoin-core/src/httpserver.cpp:311,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:313,1
    - Dst: begin
      Src: /src/bitcoin-core/src/httpserver.cpp:314,1
    - Dst: end
      Src: /src/bitcoin-core/src/httpserver.cpp:315,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/httpserver.cpp:321,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/httpserver.cpp:323,1
    - Dst: std::vector<HTTPPathHandler>::const_iterator::prefix::size
      Src: /src/bitcoin-core/src/httpserver.cpp:323,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/httpserver.cpp:330,1
    - Dst: HTTPWorkItem::HTTPWorkItem
      Src: /src/bitcoin-core/src/httpserver.cpp:330,1
    - Dst: assert
      Src: /src/bitcoin-core/src/httpserver.cpp:331,1
    - Dst: Enqueue
      Src: /src/bitcoin-core/src/httpserver.cpp:332,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/httpserver.cpp:332,1
    - Dst: std::unique_ptr::release
      Src: /src/bitcoin-core/src/httpserver.cpp:333,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httpserver.cpp:335,1
    - Dst: std::unique_ptr::req::WriteReply
      Src: /src/bitcoin-core/src/httpserver.cpp:336,1
    - Dst: auto::WriteReply
      Src: /src/bitcoin-core/src/httpserver.cpp:339,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts:
    - condition: (g_work_queue)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/bitcoin-core/src/httpserver.cpp
    constantsTouched: []
    func_position:
      end: 341
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 341
    functionName: http_request_cb
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::vector<HTTPPathHandler>::const_iterator::prefix::size
    - std::make_unique<HTTPRequest>
    - auto::WriteReply
    - HTTPWorkItem::HTTPWorkItem
    - evhttp_request_set_on_complete_cb
    - RemoveConnection
    - auto::GetPeer
    - ClientAllowed
    - std::unique_ptr::get
    - event_get_version_number
    - std::unique_ptr::req::WriteReply
    - evhttp_connection_get_bufferevent
    - LogDebug
    - auto::GetRequestMethod
    - static_cast<const util::SignalInterrupt*>
    - RequestMethodString
    - assert
    - Enqueue
    - std::string::substr
    - end
    - std::string::starts_with
    - evhttp_connection_set_closecb
    - auto::GetURI
    - AddRequest
    - bufferevent_disable
    - LOCK
    - std::unique_ptr::release
    - LogPrintf
    - evhttp_request_get_connection
    - SanitizeString
    - RemoveRequest
    - begin
    linkageType: ''
    returnType: void
    signature: void http_request_cb(struct evhttp_request* req, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:346,1
    - Dst: evhttp_send_error
      Src: /src/bitcoin-core/src/httpserver.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: http_reject_request_cb
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - LogDebug
    - evhttp_send_error
    linkageType: ''
    returnType: void
    signature: void http_reject_request_cb(struct evhttp_request* req, void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/httpserver.cpp:353,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:354,1
    - Dst: event_base_dispatch
      Src: /src/bitcoin-core/src/httpserver.cpp:355,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: ThreadHTTP
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - LogDebug
    - util::ThreadRename
    linkageType: ''
    returnType: void
    signature: void ThreadHTTP(struct event_base* base)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/bitcoin-core/src/httpserver.cpp:363,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/httpserver.cpp:363,1
    - Dst: BaseParams
      Src: /src/bitcoin-core/src/httpserver.cpp:363,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httpserver.cpp:371,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httpserver.cpp:371,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/httpserver.cpp:372,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/httpserver.cpp:373,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httpserver.cpp:374,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httpserver.cpp:375,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httpserver.cpp:377,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httpserver.cpp:378,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httpserver.cpp:381,1
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/httpserver.cpp:384,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/httpserver.cpp:385,1
    - Dst: InvalidPortErrMsg
      Src: /src/bitcoin-core/src/httpserver.cpp:385,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/httpserver.cpp:388,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/httpserver.cpp:393,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/httpserver.cpp:393,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/httpserver.cpp:394,1
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/bitcoin-core/src/httpserver.cpp:395,1
    - Dst: std::vector<std::pair<std::string, uint16_t> >::iterator::first::empty
      Src: /src/bitcoin-core/src/httpserver.cpp:395,1
    - Dst: std::vector<std::pair<std::string, uint16_t> >::iterator::first::c_str
      Src: /src/bitcoin-core/src/httpserver.cpp:395,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/httpserver.cpp:397,1
    - Dst: std::vector<std::pair<std::string, uint16_t> >::iterator::first::empty
      Src: /src/bitcoin-core/src/httpserver.cpp:398,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/httpserver.cpp:398,1
    - Dst: std::optional::IsBindAny
      Src: /src/bitcoin-core/src/httpserver.cpp:398,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httpserver.cpp:399,1
    - Dst: evhttp_bound_socket_get_fd
      Src: /src/bitcoin-core/src/httpserver.cpp:402,1
    - Dst: setsockopt
      Src: /src/bitcoin-core/src/httpserver.cpp:404,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/httpserver.cpp:405,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/httpserver.cpp:407,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httpserver.cpp:409,1
    - Dst: empty
      Src: /src/bitcoin-core/src/httpserver.cpp:412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - http
    argTypes:
    - struct evhttp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 413
    functionName: HTTPBindAddresses
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - GetArgs
    - std::vector::emplace_back
    - LogInfo
    - evhttp_bound_socket_get_fd
    - std::vector<std::pair<std::string, uint16_t> >::iterator::first::c_str
    - std::vector::end
    - static_cast<uint16_t>
    - evhttp_bind_socket_with_handle
    - SplitHostPort
    - std::optional::IsBindAny
    - empty
    - LogError
    - LookupHost
    - std::optional::has_value
    - setsockopt
    - InvalidPortErrMsg
    - push_back
    - GetIntArg
    - std::vector::begin
    - LogPrintf
    - std::vector<std::pair<std::string, uint16_t> >::iterator::first::empty
    - BaseParams
    linkageType: ''
    returnType: bool
    signature: bool HTTPBindAddresses(struct evhttp* http)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/httpserver.cpp:418,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/httpserver.cpp:418,1
    - Dst: WorkQueue<HTTPClosure>*::Run
      Src: /src/bitcoin-core/src/httpserver.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - queue
    - worker_num
    argTypes:
    - WorkQueue<HTTPClosure>*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: HTTPWorkQueueRun
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - WorkQueue<HTTPClosure>*::Run
    - util::ThreadRename
    - strprintf
    linkageType: ''
    returnType: void
    signature: void HTTPWorkQueueRun(WorkQueue<HTTPClosure>* queue, int worker_num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/httpserver.cpp:440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - severity
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 441
    functionName: libevent_log_cb
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    linkageType: ''
    returnType: void
    signature: void libevent_log_cb(int severity, const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InitHTTPAllowList
      Src: /src/bitcoin-core/src/httpserver.cpp:445,1
    - Dst: event_set_log_callback
      Src: /src/bitcoin-core/src/httpserver.cpp:449,1
    - Dst: UpdateHTTPServerLogging
      Src: /src/bitcoin-core/src/httpserver.cpp:451,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/httpserver.cpp:451,1
    - Dst: evthread_use_windows_threads
      Src: /src/bitcoin-core/src/httpserver.cpp:454,1
    - Dst: evthread_use_pthreads
      Src: /src/bitcoin-core/src/httpserver.cpp:456,1
    - Dst: obtain_event_base
      Src: /src/bitcoin-core/src/httpserver.cpp:459,1
    - Dst: obtain_evhttp
      Src: /src/bitcoin-core/src/httpserver.cpp:462,1
    - Dst: raii_event_base::get
      Src: /src/bitcoin-core/src/httpserver.cpp:462,1
    - Dst: raii_evhttp::get
      Src: /src/bitcoin-core/src/httpserver.cpp:463,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httpserver.cpp:465,1
    - Dst: evhttp_set_timeout
      Src: /src/bitcoin-core/src/httpserver.cpp:469,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/httpserver.cpp:469,1
    - Dst: evhttp_set_max_headers_size
      Src: /src/bitcoin-core/src/httpserver.cpp:470,1
    - Dst: evhttp_set_max_body_size
      Src: /src/bitcoin-core/src/httpserver.cpp:471,1
    - Dst: evhttp_set_gencb
      Src: /src/bitcoin-core/src/httpserver.cpp:472,1
    - Dst: HTTPBindAddresses
      Src: /src/bitcoin-core/src/httpserver.cpp:474,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httpserver.cpp:475,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:479,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/httpserver.cpp:480,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/httpserver.cpp:480,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:481,1
    - Dst: std::make_unique<WorkQueue<HTTPClosure>>
      Src: /src/bitcoin-core/src/httpserver.cpp:483,1
    - Dst: raii_event_base::release
      Src: /src/bitcoin-core/src/httpserver.cpp:485,1
    - Dst: raii_evhttp::release
      Src: /src/bitcoin-core/src/httpserver.cpp:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - ' interrupt'
    argTypes:
    - util::SignalInterrupt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 488
    functionName: InitHTTPServer
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - raii_evhttp::release
    - HTTPBindAddresses
    - InitHTTPAllowList
    - event_set_log_callback
    - LogInstance
    - UpdateHTTPServerLogging
    - evhttp_set_gencb
    - obtain_event_base
    - evhttp_set_max_headers_size
    - raii_event_base::release
    - evhttp_set_timeout
    - LogDebug
    - evthread_use_pthreads
    - std::make_unique<WorkQueue<HTTPClosure>>
    - evhttp_set_max_body_size
    - obtain_evhttp
    - raii_evhttp::get
    - evthread_use_windows_threads
    - GetIntArg
    - std::max
    - LogPrintf
    - raii_event_base::get
    linkageType: ''
    returnType: bool
    signature: bool InitHTTPServer(const util::SignalInterrupt& interrupt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_enable_debug_logging
      Src: /src/bitcoin-core/src/httpserver.cpp:492,1
    - Dst: event_enable_debug_logging
      Src: /src/bitcoin-core/src/httpserver.cpp:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: UpdateHTTPServerLogging
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 1
    functionsReached:
    - event_enable_debug_logging
    linkageType: ''
    returnType: void
    signature: void UpdateHTTPServerLogging(bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/httpserver.cpp:503,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/httpserver.cpp:503,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/httpserver.cpp:504,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/httpserver.cpp:505,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/httpserver.cpp:508,1
    - Dst: get
      Src: /src/bitcoin-core/src/httpserver.cpp:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 510
    functionName: StartHTTPServer
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - GetIntArg
    - std::max
    - LogInfo
    - get
    - emplace_back
    - std::thread
    linkageType: ''
    returnType: void
    signature: void StartHTTPServer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:514,1
    - Dst: evhttp_set_gencb
      Src: /src/bitcoin-core/src/httpserver.cpp:517,1
    - Dst: Interrupt
      Src: /src/bitcoin-core/src/httpserver.cpp:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: InterruptHTTPServer
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - Interrupt
    - LogDebug
    - evhttp_set_gencb
    linkageType: ''
    returnType: void
    signature: void InterruptHTTPServer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:526,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:528,1
    - Dst: join
      Src: /src/bitcoin-core/src/httpserver.cpp:530,1
    - Dst: clear
      Src: /src/bitcoin-core/src/httpserver.cpp:532,1
    - Dst: evhttp_del_accept_socket
      Src: /src/bitcoin-core/src/httpserver.cpp:537,1
    - Dst: clear
      Src: /src/bitcoin-core/src/httpserver.cpp:539,1
    - Dst: CountActiveConnections
      Src: /src/bitcoin-core/src/httpserver.cpp:541,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:542,1
    - Dst: WaitUntilEmpty
      Src: /src/bitcoin-core/src/httpserver.cpp:544,1
    - Dst: event_base_once
      Src: /src/bitcoin-core/src/httpserver.cpp:550,1
    - Dst: evhttp_free
      Src: /src/bitcoin-core/src/httpserver.cpp:551,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:556,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/httpserver.cpp:557,1
    - Dst: join
      Src: /src/bitcoin-core/src/httpserver.cpp:557,1
    - Dst: event_base_free
      Src: /src/bitcoin-core/src/httpserver.cpp:558,1
    - Dst: reset
      Src: /src/bitcoin-core/src/httpserver.cpp:561,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 563
    functionName: StopHTTPServer
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - event_base_once
    - evhttp_del_accept_socket
    - joinable
    - LogDebug
    - WaitUntilEmpty
    - event_base_free
    - evhttp_free
    - clear
    - reset
    - CountActiveConnections
    - join
    linkageType: ''
    returnType: void
    signature: void StopHTTPServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: EventBase
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct event_base
    signature: struct event_base * EventBase()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HTTPEvent*>
      Src: /src/bitcoin-core/src/httpserver.cpp:573,1
    - Dst: HTTPEvent*::handler
      Src: /src/bitcoin-core/src/httpserver.cpp:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: httpevent_callback_fn
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HTTPEvent*>
    - HTTPEvent*::handler
    linkageType: ''
    returnType: void
    signature: void httpevent_callback_fn(evutil_socket_t, short, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_new
      Src: /src/bitcoin-core/src/httpserver.cpp:582,1
    - Dst: assert
      Src: /src/bitcoin-core/src/httpserver.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - base
    - _deleteWhenTriggered
    - ' _handler'
    argTypes:
    - struct event_base*
    - bool
    - std::function<void()>
    assertStmts:
    - condition: (ev)
      pos:
        line_end: 582
        line_start: 582
        source_file: /src/bitcoin-core/src/httpserver.cpp
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: HTTPEvent::HTTPEvent
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - event_new
    - assert
    linkageType: ''
    returnType: void
    signature: void HTTPEvent::HTTPEvent(struct event_base* base, bool _deleteWhenTriggered,
      const std::function<void()>& _handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_free
      Src: /src/bitcoin-core/src/httpserver.cpp:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: HTTPEvent::~HTTPEvent()
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - event_free
    linkageType: ''
    returnType: void
    signature: void HTTPEvent::~HTTPEvent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_active
      Src: /src/bitcoin-core/src/httpserver.cpp:592,1
    - Dst: evtimer_add
      Src: /src/bitcoin-core/src/httpserver.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: HTTPEvent::trigger
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - event_active
    - evtimer_add
    linkageType: ''
    returnType: void
    signature: void HTTPEvent::trigger(struct timeval* tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _req
    - ' interrupt'
    - _replySent
    argTypes:
    - struct evhttp_request*
    - util::SignalInterrupt
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 599
    functionName: HTTPRequest::HTTPRequest
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPRequest::HTTPRequest(struct evhttp_request* _req, const util::SignalInterrupt&
      interrupt, bool _replySent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httpserver.cpp:605,1
    - Dst: HTTPRequest::WriteReply
      Src: /src/bitcoin-core/src/httpserver.cpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 609
    functionName: HTTPRequest::~HTTPRequest()
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - HTTPRequest::WriteReply
    linkageType: ''
    returnType: void
    signature: void HTTPRequest::~HTTPRequest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_input_headers
      Src: /src/bitcoin-core/src/httpserver.cpp:613,1
    - Dst: assert
      Src: /src/bitcoin-core/src/httpserver.cpp:614,1
    - Dst: evhttp_find_header
      Src: /src/bitcoin-core/src/httpserver.cpp:615,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/httpserver.cpp:615,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/httpserver.cpp:617,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/httpserver.cpp:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' hdr'
    argTypes:
    - std::string
    assertStmts:
    - condition: (headers)
      pos:
        line_end: 613
        line_start: 613
        source_file: /src/bitcoin-core/src/httpserver.cpp
    constantsTouched: []
    func_position:
      end: 620
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 620
    functionName: HTTPRequest::GetHeader
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - evhttp_find_header
    - c_str
    - assert
    - evhttp_request_get_input_headers
    linkageType: ''
    returnType: std::pair<bool, std::string>
    signature: std::pair<bool, std::string> HTTPRequest::GetHeader(const std::string&
      hdr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_input_buffer
      Src: /src/bitcoin-core/src/httpserver.cpp:624,1
    - Dst: evbuffer_get_length
      Src: /src/bitcoin-core/src/httpserver.cpp:627,1
    - Dst: evbuffer_pullup
      Src: /src/bitcoin-core/src/httpserver.cpp:634,1
    - Dst: evbuffer_drain
      Src: /src/bitcoin-core/src/httpserver.cpp:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 640
    functionName: HTTPRequest::ReadBody
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - evbuffer_pullup
    - evhttp_request_get_input_buffer
    - evbuffer_get_length
    - evbuffer_drain
    linkageType: ''
    returnType: std::string
    signature: std::string HTTPRequest::ReadBody()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_output_headers
      Src: /src/bitcoin-core/src/httpserver.cpp:644,1
    - Dst: assert
      Src: /src/bitcoin-core/src/httpserver.cpp:645,1
    - Dst: evhttp_add_header
      Src: /src/bitcoin-core/src/httpserver.cpp:646,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/httpserver.cpp:646,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/httpserver.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hdr'
    - ' value'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (headers)
      pos:
        line_end: 644
        line_start: 644
        source_file: /src/bitcoin-core/src/httpserver.cpp
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: HTTPRequest::WriteHeader
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - evhttp_add_header
    - assert
    - evhttp_request_get_output_headers
    linkageType: ''
    returnType: void
    signature: void HTTPRequest::WriteHeader(const std::string& hdr, const std::string&
      value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/httpserver.cpp:656,1
    - Dst: HTTPRequest::WriteHeader
      Src: /src/bitcoin-core/src/httpserver.cpp:658,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/bitcoin-core/src/httpserver.cpp:661,1
    - Dst: assert
      Src: /src/bitcoin-core/src/httpserver.cpp:662,1
    - Dst: evbuffer_add
      Src: /src/bitcoin-core/src/httpserver.cpp:663,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/httpserver.cpp:663,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/httpserver.cpp:663,1
    - Dst: evhttp_send_reply
      Src: /src/bitcoin-core/src/httpserver.cpp:666,1
    - Dst: event_get_version_number
      Src: /src/bitcoin-core/src/httpserver.cpp:669,1
    - Dst: event_get_version_number
      Src: /src/bitcoin-core/src/httpserver.cpp:669,1
    - Dst: evhttp_request_get_connection
      Src: /src/bitcoin-core/src/httpserver.cpp:670,1
    - Dst: evhttp_connection_get_bufferevent
      Src: /src/bitcoin-core/src/httpserver.cpp:672,1
    - Dst: bufferevent_enable
      Src: /src/bitcoin-core/src/httpserver.cpp:674,1
    - Dst: HTTPEvent::HTTPEvent
      Src: /src/bitcoin-core/src/httpserver.cpp:665,1
    - Dst: HTTPEvent*::trigger
      Src: /src/bitcoin-core/src/httpserver.cpp:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - nStatus
    - reply
    argTypes:
    - int
    - std::span<const std::byte>
    assertStmts:
    - condition: (!replySent && req)
      pos:
        line_end: 655
        line_start: 655
        source_file: /src/bitcoin-core/src/httpserver.cpp
    - condition: (evb)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/bitcoin-core/src/httpserver.cpp
    constantsTouched: []
    func_position:
      end: 682
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 682
    functionName: HTTPRequest::WriteReply
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 1
    functionsReached:
    - evhttp_send_reply
    - evhttp_request_get_output_buffer
    - event_get_version_number
    - std::span<const std::byte>::data
    - std::span<const std::byte>::size
    - evhttp_connection_get_bufferevent
    - evbuffer_add
    - HTTPEvent*::trigger
    - bufferevent_enable
    - HTTPRequest::WriteHeader
    - HTTPEvent::HTTPEvent
    - evhttp_request_get_connection
    - assert
    linkageType: ''
    returnType: void
    signature: void HTTPRequest::WriteReply(int nStatus, std::span<const std::byte>
      reply)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_connection
      Src: /src/bitcoin-core/src/httpserver.cpp:686,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/httpserver.cpp:687,1
    - Dst: evhttp_connection_get_peer
      Src: /src/bitcoin-core/src/httpserver.cpp:694,1
    - Dst: evhttp_connection_get_peer
      Src: /src/bitcoin-core/src/httpserver.cpp:696,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/httpserver.cpp:699,1
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/httpserver.cpp:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 702
    functionName: HTTPRequest::GetPeer
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - LookupNumeric
    - CService::CService
    - evhttp_connection_get_peer
    - evhttp_request_get_connection
    - MaybeFlipIPv6toCJDNS
    linkageType: ''
    returnType: CService
    signature: CService HTTPRequest::GetPeer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_uri
      Src: /src/bitcoin-core/src/httpserver.cpp:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: HTTPRequest::GetURI
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - evhttp_request_get_uri
    linkageType: ''
    returnType: std::string
    signature: std::string HTTPRequest::GetURI() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_command
      Src: /src/bitcoin-core/src/httpserver.cpp:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 723
    functionName: HTTPRequest::GetRequestMethod
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - evhttp_request_get_command
    linkageType: ''
    returnType: HTTPRequest::RequestMethod
    signature: HTTPRequest::RequestMethod HTTPRequest::GetRequestMethod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_uri
      Src: /src/bitcoin-core/src/httpserver.cpp:727,1
    - Dst: GetQueryParameterFromUri
      Src: /src/bitcoin-core/src/httpserver.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: HTTPRequest::GetQueryParameter
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - evhttp_request_get_uri
    - GetQueryParameterFromUri
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> HTTPRequest::GetQueryParameter(const std::string&
      key) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_uri_parse
      Src: /src/bitcoin-core/src/httpserver.cpp:734,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/httpserver.cpp:736,1
    - Dst: evhttp_uri_get_query
      Src: /src/bitcoin-core/src/httpserver.cpp:738,1
    - Dst: evhttp_parse_query_str
      Src: /src/bitcoin-core/src/httpserver.cpp:744,1
    - Dst: evhttp_clear_headers
      Src: /src/bitcoin-core/src/httpserver.cpp:752,1
    - Dst: evhttp_uri_free
      Src: /src/bitcoin-core/src/httpserver.cpp:754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - uri
    - ' key'
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 757
    functionName: GetQueryParameterFromUri
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 1
    functionsReached:
    - evhttp_clear_headers
    - std::runtime_error
    - evhttp_parse_query_str
    - evhttp_uri_free
    - evhttp_uri_get_query
    - evhttp_uri_parse
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> GetQueryParameterFromUri(const char* uri,
      const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:761,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:762,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/httpserver.cpp:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - prefix
    - exactMatch
    - handler
    argTypes:
    - std::string
    - bool
    - HTTPRequestHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 764
    functionName: RegisterHTTPHandler
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - LOCK
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void RegisterHTTPHandler(const std::string &prefix, bool exactMatch,
      const HTTPRequestHandler &handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/httpserver.cpp:768,1
    - Dst: begin
      Src: /src/bitcoin-core/src/httpserver.cpp:769,1
    - Dst: end
      Src: /src/bitcoin-core/src/httpserver.cpp:770,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httpserver.cpp:776,1
    - Dst: erase
      Src: /src/bitcoin-core/src/httpserver.cpp:777,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - prefix
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 779
    functionName: UnregisterHTTPHandler
    functionSourceFile: /src/bitcoin-core/src/httpserver.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - LogDebug
    - LOCK
    - begin
    linkageType: ''
    returnType: void
    signature: void UnregisterHTTPHandler(const std::string &prefix, bool exactMatch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/musig.cpp:15,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/musig.cpp:15,1
    - Dst: data
      Src: /src/bitcoin-core/src/musig.cpp:15,1
    - Dst: size
      Src: /src/bitcoin-core/src/musig.cpp:15,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/musig.cpp:19,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/musig.cpp:19,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/musig.cpp:21,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/musig.cpp:25,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/musig.cpp:25,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/musig.cpp:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' pubkeys'
    - ' keyagg_cache'
    argTypes:
    - std::vector<CPubKey>
    - secp256k1_musig_keyagg_cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 29
    functionName: GetMuSig2KeyAggCache
    functionSourceFile: /src/bitcoin-core/src/musig.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::data
    - std::vector::reserve
    - size
    - data
    - std::vector::push_back
    - secp256k1_musig_pubkey_agg
    - secp256k1_ec_pubkey_parse
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool GetMuSig2KeyAggCache(const std::vector<CPubKey>& pubkeys, secp256k1_musig_keyagg_cache&
      keyagg_cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/bitcoin-core/src/musig.cpp:35,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/musig.cpp:42,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/musig.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' keyagg_cache'
    argTypes:
    - secp256k1_musig_keyagg_cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: GetCPubKeyFromMuSig2KeyAggCache
    functionSourceFile: /src/bitcoin-core/src/musig.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_musig_pubkey_get
    - CPubKey
    - secp256k1_ec_pubkey_serialize
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetCPubKeyFromMuSig2KeyAggCache(secp256k1_musig_keyagg_cache&
      keyagg_cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMuSig2KeyAggCache
      Src: /src/bitcoin-core/src/musig.cpp:49,1
    - Dst: GetCPubKeyFromMuSig2KeyAggCache
      Src: /src/bitcoin-core/src/musig.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pubkeys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: MuSig2AggregatePubkeys
    functionSourceFile: /src/bitcoin-core/src/musig.cpp
    functionUses: 0
    functionsReached:
    - GetMuSig2KeyAggCache
    - GetCPubKeyFromMuSig2KeyAggCache
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> MuSig2AggregatePubkeys(const std::vector<CPubKey>&
      pubkeys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/hash.h:31,1
    - Dst: std::span<unsigned char>::size
      Src: /src/bitcoin-core/src/hash.h:31,1
    - Dst: CHash256::Finalize
      Src: /src/bitcoin-core/src/hash.h:33,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/hash.h:34,1
    - Dst: std::span<unsigned char>::data
      Src: /src/bitcoin-core/src/hash.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<unsigned char>
    assertStmts:
    - condition: (output.size() == OUTPUT_SIZE)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/bitcoin-core/src/hash.h
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: CHash256::Finalize
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 1
    functionsReached:
    - std::span<unsigned char>::data
    - Reset
    - CHash256::Finalize
    - std::span<unsigned char>::size
    - assert
    linkageType: ''
    returnType: void
    signature: void Finalize(std::span<unsigned char> output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/hash.h:38,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/hash.h:38,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/hash.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '& Write(std::span<const unsigned char> input)'
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::data
    - Write
    - std::span<const unsigned char>::size
    linkageType: ''
    returnType: CHash256
    signature: CHash256 & Write(std::span<const unsigned char> input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/bitcoin-core/src/hash.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '& Reset()'
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: CHash256
    signature: CHash256 & Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/hash.h:56,1
    - Dst: std::span<unsigned char>::size
      Src: /src/bitcoin-core/src/hash.h:56,1
    - Dst: CHash160::Finalize
      Src: /src/bitcoin-core/src/hash.h:58,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/hash.h:59,1
    - Dst: std::span<unsigned char>::data
      Src: /src/bitcoin-core/src/hash.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<unsigned char>
    assertStmts:
    - condition: (output.size() == OUTPUT_SIZE)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bitcoin-core/src/hash.h
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: CHash160::Finalize
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 1
    functionsReached:
    - std::span<unsigned char>::data
    - CRIPEMD160
    - std::span<unsigned char>::size
    - assert
    - CHash160::Finalize
    linkageType: ''
    returnType: void
    signature: void Finalize(std::span<unsigned char> output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/hash.h:63,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/hash.h:63,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/hash.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '& Write(std::span<const unsigned char> input)'
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::data
    - Write
    - std::span<const unsigned char>::size
    linkageType: ''
    returnType: CHash160
    signature: CHash160 & Write(std::span<const unsigned char> input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/bitcoin-core/src/hash.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '& Reset()'
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: CHash160
    signature: CHash160 & Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/hash.h:77,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/hash.h:78,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/hash.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in1'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: Hash
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 45
    functionsReached:
    - MakeUCharSpan
    - uint256::uint256
    - CHash256
    linkageType: ''
    returnType: uint256
    signature: uint256 Hash(const T& in1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/hash.h:85,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/hash.h:86,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/hash.h:86,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/hash.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' in1'
    - ' in2'
    argTypes:
    - T1
    - T2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: Hash
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 45
    functionsReached:
    - MakeUCharSpan
    - uint256::uint256
    - CHash256
    linkageType: ''
    returnType: uint256
    signature: uint256 Hash(const T1& in1, const T2& in2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/hash.h:94,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/hash.h:95,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/hash.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in1'
    argTypes:
    - T1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: Hash160
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 1
    functionsReached:
    - MakeUCharSpan
    - uint160::uint160
    - CHash160
    linkageType: ''
    returnType: uint160
    signature: uint160 Hash160(const T1& in1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/hash.h:108,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/hash.h:108,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/hash.h:108,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/hash.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: HashWriter::write
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - UCharCast
    - Write
    - std::span<const std::byte>::data
    linkageType: ''
    returnType: void
    signature: void write(std::span<const std::byte> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/hash.h:116,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/hash.h:117,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/hash.h:117,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/hash.h:118,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/hash.h:118,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/hash.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: HashWriter::GetHash
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - uint256::begin
    - Finalize
    - uint256::uint256
    - Reset
    linkageType: ''
    returnType: uint256
    signature: uint256 GetHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/hash.h:127,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/hash.h:128,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/hash.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: HashWriter::GetSHA256
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - uint256::begin
    - Finalize
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetSHA256()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/hash.h:136,1
    - Dst: ReadLE64
      Src: /src/bitcoin-core/src/hash.h:137,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/hash.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: HashWriter::GetCheapHash
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - uint256::begin
    - HashWriter::GetHash
    - ReadLE64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetCheapHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/hash.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: '& operator<<(const T& obj)'
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    linkageType: ''
    returnType: HashWriter
    signature: HashWriter & operator<<(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' source LIFETIMEBOUND'
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: HashVerifier::HashVerifier
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashVerifier(Source& source LIFETIMEBOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashVerifier::read
      Src: /src/bitcoin-core/src/hash.h:160,1
    - Dst: HashVerifier::write
      Src: /src/bitcoin-core/src/hash.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: HashVerifier::read
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 1
    functionsReached:
    - HashVerifier::write
    - HashVerifier::read
    linkageType: ''
    returnType: void
    signature: void read(std::span<std::byte> dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/hash.h:168,1
    - Dst: HashVerifier::read
      Src: /src/bitcoin-core/src/hash.h:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: HashVerifier::ignore
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - HashVerifier::read
    - std::min<size_t>
    linkageType: ''
    returnType: void
    signature: void ignore(size_t num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/hash.h:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: '& operator>>(T&& obj)'
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - Wrapper::Unserialize
    linkageType: ''
    returnType: HashVerifier<Source>
    signature: HashVerifier<Source> & operator>>(T&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' source LIFETIMEBOUND'
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: HashedSourceWriter::HashedSourceWriter
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashedSourceWriter(Source& source LIFETIMEBOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashedSourceWriter::write
      Src: /src/bitcoin-core/src/hash.h:194,1
    - Dst: HashWriter::write
      Src: /src/bitcoin-core/src/hash.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: HashedSourceWriter::write
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 1
    functionsReached:
    - HashedSourceWriter::write
    - HashWriter::write
    linkageType: ''
    returnType: void
    signature: void write(std::span<const std::byte> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/hash.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: '& operator<<(const T& obj)'
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    linkageType: ''
    returnType: HashedSourceWriter
    signature: HashedSourceWriter & operator<<(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/hash.h:224,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/hash.h:225,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/hash.h:225,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/hash.h:225,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/hash.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: RIPEMD160
    functionSourceFile: /src/bitcoin-core/src/hash.h
    functionUses: 2
    functionsReached:
    - std::span<const unsigned char>::size
    - uint160::begin
    - std::span<const unsigned char>::data
    - CRIPEMD160
    - uint160::uint160
    linkageType: ''
    returnType: uint160
    signature: uint160 RIPEMD160(std::span<const unsigned char> data)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:49,1
    - Dst: fs::absolute
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:61,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:62,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:70,1
    - Dst: kernel::SanityChecks
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:70,1
    - Dst: std::make_unique<util::ImmediateTaskRunner>
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:72,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:92,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:96,1
    - Dst: std::make_unique<KernelNotifications>
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:107,1
    - Dst: CChainParams::Main
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:112,1
    - Dst: util::SignalInterrupt::SignalInterrupt
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:128,1
    - Dst: node::LoadChainstate
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:132,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:137,1
    - Dst: node::VerifyLoadedChainstate
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:137,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:144,1
    - Dst: ChainstateManager::GetAll
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:144,1
    - Dst: ActivateBestChain
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:146,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:147,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:158,1
    - Dst: ChainstateManager::GetMutex
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:158,1
    - Dst: ChainstateManager::m_blockman::m_blockfiles_indexed::load
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:160,1
    - Dst: ChainstateManager::IsSnapshotActive
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:161,1
    - Dst: ChainstateManager::ActiveHeight
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:162,1
    - Dst: ChainstateManager::IsInitialBlockDownload
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:163,1
    - Dst: ChainstateManager::ActiveTip
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:164,1
    - Dst: CBlockIndex*::ToString
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:166,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:170,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:171,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:176,1
    - Dst: DecodeHexBlk
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:179,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:185,1
    - Dst: ChainstateManager::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:186,1
    - Dst: ChainstateManager::UpdateUncommittedBlockStructures
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:188,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:205,1
    - Dst: std::make_shared<submitblock_StateCatcher>
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:213,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:213,1
    - Dst: ValidationSignals::RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:214,1
    - Dst: ChainstateManager::ProcessNewBlock
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:215,1
    - Dst: ValidationSignals::UnregisterSharedValidationInterface
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:216,1
    - Dst: auto::state::ToString
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:225,1
    - Dst: auto::state::GetResult
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:226,1
    - Dst: ValidationSignals::FlushBackgroundCallbacks
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:260,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:262,1
    - Dst: ChainstateManager::GetAll
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:263,1
    - Dst: CanFlushToDisk
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:264,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:265,1
    - Dst: ResetCoinsViews
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:266,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 119
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (kernel::SanityChecks(kernel_context))
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    constantsTouched: []
    func_position:
      end: 270
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 270
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached:
    - ChainstateManager::m_blockman::LookupBlockIndex
    - ChainstateManager::ActiveHeight
    - DecodeHexBlk
    - util::SignalInterrupt::SignalInterrupt
    - ChainstateManager::ProcessNewBlock
    - ValidationSignals::RegisterSharedValidationInterface
    - GetHash
    - std::string::empty
    - auto::state::GetResult
    - CBlockIndex*::ToString
    - node::LoadChainstate
    - kernel::SanityChecks
    - ChainstateManager::UpdateUncommittedBlockStructures
    - ChainstateManager::ActiveTip
    - LogInstance
    - std::getline
    - auto::state::ToString
    - std::tie
    - ForceFlushStateToDisk
    - std::make_unique<KernelNotifications>
    - ChainstateManager::IsInitialBlockDownload
    - ChainstateManager::m_blockman::m_blockfiles_indexed::load
    - fs::create_directories
    - CChainParams::Main
    - ChainstateManager::GetMutex
    - ChainstateManager::IsSnapshotActive
    - BlockValidationState::ToString
    - std::make_shared<CBlock>
    - static_cast<int>
    - WITH_LOCK
    - ValidationSignals::FlushBackgroundCallbacks
    - ValidationSignals::UnregisterSharedValidationInterface
    - assert
    - std::make_shared<submitblock_StateCatcher>
    - ChainstateManager::GetAll
    - ResetCoinsViews
    - std::make_unique<util::ImmediateTaskRunner>
    - LOCK
    - ActivateBestChain
    - fs::absolute
    - node::VerifyLoadedChainstate
    - CanFlushToDisk
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: KernelNotifications::blockTip
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: kernel::InterruptResult
    signature: kernel::InterruptResult blockTip(SynchronizationState, CBlockIndex&,
      double) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - height
    - timestamp
    - presync
    argTypes:
    - int64_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: KernelNotifications::headerTip
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void headerTip(SynchronizationState, int64_t height, int64_t timestamp,
      bool presync) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' title'
    - progress_percent
    - resume_possible
    argTypes:
    - bilingual_str
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: KernelNotifications::progress
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void progress(const bilingual_str& title, int progress_percent, bool
      resume_possible) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - ' message'
    argTypes:
    - kernel::Warning
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: KernelNotifications::warningSet
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void warningSet(kernel::Warning id, const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - kernel::Warning
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: KernelNotifications::warningUnset
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void warningUnset(kernel::Warning id) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: KernelNotifications::flushError
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void flushError(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: KernelNotifications::fatalError
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fatalError(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hashIn'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: submitblock_StateCatcher::submitblock_StateCatcher
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void submitblock_StateCatcher(const uint256& hashIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bitcoin-chainstate.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' block'
    - ' stateIn'
    argTypes:
    - CBlock
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: submitblock_StateCatcher::BlockChecked
    functionSourceFile: /src/bitcoin-core/src/bitcoin-chainstate.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: void
    signature: void BlockChecked(const CBlock& block, const BlockValidationState&
      stateIn) override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TokenPipe::Make
      Src: /src/bitcoin-core/src/bitcoind.cpp:54,1
    - Dst: fork
      Src: /src/bitcoin-core/src/bitcoind.cpp:59,1
    - Dst: std::optional::TakeReadEnd
      Src: /src/bitcoin-core/src/bitcoind.cpp:65,1
    - Dst: std::optional::TakeWriteEnd
      Src: /src/bitcoin-core/src/bitcoind.cpp:66,1
    - Dst: TokenRead
      Src: /src/bitcoin-core/src/bitcoind.cpp:68,1
    - Dst: Close
      Src: /src/bitcoin-core/src/bitcoind.cpp:70,1
    - Dst: std::optional::TakeWriteEnd
      Src: /src/bitcoin-core/src/bitcoind.cpp:77,1
    - Dst: std::optional::TakeReadEnd
      Src: /src/bitcoin-core/src/bitcoind.cpp:78,1
    - Dst: setsid
      Src: /src/bitcoin-core/src/bitcoind.cpp:81,1
    - Dst: exit
      Src: /src/bitcoin-core/src/bitcoind.cpp:82,1
    - Dst: chdir
      Src: /src/bitcoin-core/src/bitcoind.cpp:87,1
    - Dst: exit
      Src: /src/bitcoin-core/src/bitcoind.cpp:88,1
    - Dst: open
      Src: /src/bitcoin-core/src/bitcoind.cpp:94,1
    - Dst: dup2
      Src: /src/bitcoin-core/src/bitcoind.cpp:96,1
    - Dst: dup2
      Src: /src/bitcoin-core/src/bitcoind.cpp:96,1
    - Dst: dup2
      Src: /src/bitcoin-core/src/bitcoind.cpp:96,1
    - Dst: close
      Src: /src/bitcoin-core/src/bitcoind.cpp:98,1
    - Dst: exit
      Src: /src/bitcoin-core/src/bitcoind.cpp:100,1
    - Dst: exit
      Src: /src/bitcoin-core/src/bitcoind.cpp:103,1
    - Dst: TokenWrite
      Src: /src/bitcoin-core/src/bitcoind.cpp:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - nochdir
    - noclose
    - ' endpoint'
    argTypes:
    - bool
    - bool
    - TokenPipeEnd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 108
    functionName: fork_daemon
    functionSourceFile: /src/bitcoin-core/src/bitcoind.cpp
    functionUses: 0
    functionsReached:
    - TokenRead
    - setsid
    - chdir
    - std::optional::TakeReadEnd
    - fork
    - TokenPipe::Make
    - Close
    - close
    - std::optional::TakeWriteEnd
    - open
    - TokenWrite
    - exit
    - dup2
    linkageType: ''
    returnType: int
    signature: int fork_daemon(bool nochdir, bool noclose, TokenPipeEnd& endpoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/bitcoind.cpp:114,1
    - Dst: SetupServerArgs
      Src: /src/bitcoin-core/src/bitcoind.cpp:116,1
    - Dst: init::canListenIpc
      Src: /src/bitcoin-core/src/bitcoind.cpp:116,1
    - Dst: ParseParameters
      Src: /src/bitcoin-core/src/bitcoind.cpp:118,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/bitcoind.cpp:119,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/bitcoind.cpp:119,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoind.cpp:119,1
    - Dst: common::InitConfig
      Src: /src/bitcoin-core/src/bitcoind.cpp:122,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/bitcoind.cpp:123,1
    - Dst: IsSwitchChar
      Src: /src/bitcoin-core/src/bitcoind.cpp:128,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/bitcoind.cpp:129,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/bitcoind.cpp:129,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoind.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' node'
    - argc
    - argv
    argTypes:
    - NodeContext
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: ParseArgs
    functionSourceFile: /src/bitcoin-core/src/bitcoind.cpp
    functionUses: 0
    functionsReached:
    - init::canListenIpc
    - IsSwitchChar
    - Untranslated
    - ParseParameters
    - InitError
    - Assert
    - common::InitConfig
    - strprintf
    - SetupServerArgs
    linkageType: ''
    returnType: bool
    signature: bool ParseArgs(NodeContext& node, int argc, char* argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpRequested
      Src: /src/bitcoin-core/src/bitcoind.cpp:138,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoind.cpp:138,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/bitcoind.cpp:139,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoind.cpp:141,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/bitcoind.cpp:142,1
    - Dst: LicenseInfo
      Src: /src/bitcoin-core/src/bitcoind.cpp:142,1
    - Dst: GetHelpMessage
      Src: /src/bitcoin-core/src/bitcoind.cpp:152,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoind.cpp:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: ProcessInitCommands
    functionSourceFile: /src/bitcoin-core/src/bitcoind.cpp
    functionUses: 0
    functionsReached:
    - HelpRequested
    - GetHelpMessage
    - tinyformat::detail::FormatArg::format
    - FormatParagraph
    - FormatFullVersion
    - GetBoolArg
    - LicenseInfo
    linkageType: ''
    returnType: bool
    signature: bool ProcessInitCommands(ArgsManager& args)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/bitcoind.cpp:165,1
    - Dst: TokenPipeEnd::TokenPipeEnd
      Src: /src/bitcoin-core/src/bitcoind.cpp:173,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/bitcoind.cpp:179,1
    - Dst: InitLogging
      Src: /src/bitcoin-core/src/bitcoind.cpp:181,1
    - Dst: InitParameterInteraction
      Src: /src/bitcoin-core/src/bitcoind.cpp:182,1
    - Dst: AppInitBasicSetup
      Src: /src/bitcoin-core/src/bitcoind.cpp:183,1
    - Dst: AppInitParameterInteraction
      Src: /src/bitcoin-core/src/bitcoind.cpp:187,1
    - Dst: std::make_unique<node::Warnings>
      Src: /src/bitcoin-core/src/bitcoind.cpp:192,1
    - Dst: std::make_unique<kernel::Context>
      Src: /src/bitcoin-core/src/bitcoind.cpp:194,1
    - Dst: std::make_unique<ECC_Context>
      Src: /src/bitcoin-core/src/bitcoind.cpp:195,1
    - Dst: AppInitSanityChecks
      Src: /src/bitcoin-core/src/bitcoind.cpp:196,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoind.cpp:202,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoind.cpp:202,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoind.cpp:204,1
    - Dst: fork_daemon
      Src: /src/bitcoin-core/src/bitcoind.cpp:207,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoind.cpp:210,1
    - Dst: TokenPipeEnd::TokenWrite
      Src: /src/bitcoin-core/src/bitcoind.cpp:211,1
    - Dst: TokenPipeEnd::Close
      Src: /src/bitcoin-core/src/bitcoind.cpp:212,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/bitcoind.cpp:216,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/bitcoind.cpp:216,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoind.cpp:216,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/bitcoind.cpp:216,1
    - Dst: TokenPipeEnd::TokenRead
      Src: /src/bitcoin-core/src/bitcoind.cpp:218,1
    - Dst: exit
      Src: /src/bitcoin-core/src/bitcoind.cpp:220,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoind.cpp:222,1
    - Dst: exit
      Src: /src/bitcoin-core/src/bitcoind.cpp:223,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/bitcoind.cpp:228,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/bitcoind.cpp:228,1
    - Dst: AppInitLockDirectories
      Src: /src/bitcoin-core/src/bitcoind.cpp:232,1
    - Dst: AppInitInterfaces
      Src: /src/bitcoin-core/src/bitcoind.cpp:237,1
    - Dst: AppInitMain
      Src: /src/bitcoin-core/src/bitcoind.cpp:237,1
    - Dst: PrintExceptionContinue
      Src: /src/bitcoin-core/src/bitcoind.cpp:240,1
    - Dst: PrintExceptionContinue
      Src: /src/bitcoin-core/src/bitcoind.cpp:242,1
    - Dst: TokenPipeEnd::IsOpen
      Src: /src/bitcoin-core/src/bitcoind.cpp:246,1
    - Dst: TokenPipeEnd::TokenWrite
      Src: /src/bitcoin-core/src/bitcoind.cpp:248,1
    - Dst: TokenPipeEnd::Close
      Src: /src/bitcoin-core/src/bitcoind.cpp:249,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 253
    functionName: AppInit
    functionSourceFile: /src/bitcoin-core/src/bitcoind.cpp
    functionUses: 0
    functionsReached:
    - AppInitSanityChecks
    - std::make_unique<node::Warnings>
    - InitParameterInteraction
    - AppInitBasicSetup
    - TokenPipeEnd::TokenWrite
    - std::make_unique<ECC_Context>
    - fork_daemon
    - tinyformat::detail::FormatArg::format
    - SysErrorString
    - TokenPipeEnd::IsOpen
    - Untranslated
    - TokenPipeEnd::TokenPipeEnd
    - PrintExceptionContinue
    - std::make_unique<kernel::Context>
    - exit
    - AppInitLockDirectories
    - TokenPipeEnd::Close
    - Assert
    - strprintf
    - SoftSetBoolArg
    - TokenPipeEnd::TokenRead
    - InitLogging
    - InitError
    - GetBoolArg
    - AppInitParameterInteraction
    - AppInitInterfaces
    - AppInitMain
    linkageType: ''
    returnType: bool
    signature: bool AppInit(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: GetState
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: State
    signature: State GetState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: SetState
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetState(State state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:80,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: IsSelected
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - GetState
    linkageType: ''
    returnType: bool
    signature: bool IsSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:86,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: IsWaiting
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - GetState
    linkageType: ''
    returnType: bool
    signature: bool IsWaiting() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:92,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: IsSelectable
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - GetState
    linkageType: ''
    returnType: bool
    signature: bool IsSelectable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' gtxid'
    - peer
    - preferred
    - reqtime
    - sequence
    argTypes:
    - GenTxid
    - NodeId
    - bool
    - std::chrono::microseconds
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Announcement
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Announcement(const GenTxid& gtxid, NodeId peer, bool preferred,
      std::chrono::microseconds reqtime,\n                 SequenceNumber sequence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/txrequest.cpp:112,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/txrequest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - deterministic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: PriorityComputer::PriorityComputer
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void PriorityComputer(bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/txrequest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' txhash'
    - peer
    - preferred
    argTypes:
    - uint256
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: operator()(const uint256& txhash, NodeId peer, bool preferred) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - CSipHasher
    linkageType: ''
    returnType: Priority
    signature: Priority operator()(const uint256& txhash, NodeId peer, bool preferred)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator
      Src: /src/bitcoin-core/src/txrequest.cpp:123,1
    - Dst: m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - operator
    - m_gtxid::ToUint256
    linkageType: ''
    returnType: Priority
    signature: Priority operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:147,1
    - Dst: m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - m_gtxid::ToUint256
    - GetState
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' computer'
    argTypes:
    - PriorityComputer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: ByTxHashViewExtractor::ByTxHashViewExtractor
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByTxHashViewExtractor(const PriorityComputer& computer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:170,1
    - Dst: m_computer
      Src: /src/bitcoin-core/src/txrequest.cpp:170,1
    - Dst: m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:171,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - m_gtxid::ToUint256
    - GetState
    - m_computer
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsWaiting
      Src: /src/bitcoin-core/src/txrequest.cpp:186,1
    - Dst: IsSelectable
      Src: /src/bitcoin-core/src/txrequest.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: GetWaitState
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - IsSelectable
    - IsWaiting
    linkageType: ''
    returnType: WaitState
    signature: WaitState GetWaitState(const Announcement& ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWaitState
      Src: /src/bitcoin-core/src/txrequest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - GetWaitState
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/txrequest.cpp:257,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/txrequest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PeerInfo
    - PeerInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: operator==(const PeerInfo& a, const PeerInfo& b)
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PeerInfo& a, const PeerInfo& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:268,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' index'
    argTypes:
    - Index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: RecomputePeerInfo
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - GetState
    linkageType: ''
    returnType: std::unordered_map<NodeId, PeerInfo>
    signature: std::unordered_map<NodeId, PeerInfo> RecomputePeerInfo(const Index&
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:279,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:281,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:282,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:283,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:284,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:286,1
    - Dst: computer
      Src: /src/bitcoin-core/src/txrequest.cpp:287,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:289,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/txrequest.cpp:290,1
    - Dst: computer
      Src: /src/bitcoin-core/src/txrequest.cpp:290,1
    - Dst: m_peers::push_back
      Src: /src/bitcoin-core/src/txrequest.cpp:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' index'
    - ' computer'
    argTypes:
    - Index
    - PriorityComputer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 296
    functionName: ComputeTxHashInfo
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - m_gtxid::ToUint256
    - std::max
    - GetState
    - m_peers::push_back
    - computer
    linkageType: ''
    returnType: std::map<uint256, TxHashInfo>
    signature: std::map<uint256, TxHashInfo> ComputeTxHashInfo(const Index& index,
      const PriorityComputer& computer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: GetState
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: State
    signature: State GetState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: SetState
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetState(State state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:80,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: IsSelected
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - GetState
    linkageType: ''
    returnType: bool
    signature: bool IsSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:86,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: IsWaiting
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - GetState
    linkageType: ''
    returnType: bool
    signature: bool IsWaiting() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:92,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: IsSelectable
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - GetState
    linkageType: ''
    returnType: bool
    signature: bool IsSelectable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' gtxid'
    - peer
    - preferred
    - reqtime
    - sequence
    argTypes:
    - GenTxid
    - NodeId
    - bool
    - std::chrono::microseconds
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Announcement
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Announcement(const GenTxid& gtxid, NodeId peer, bool preferred,
      std::chrono::microseconds reqtime,\n                 SequenceNumber sequence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/txrequest.cpp:112,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/txrequest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - deterministic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: PriorityComputer::PriorityComputer
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void PriorityComputer(bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/txrequest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' txhash'
    - peer
    - preferred
    argTypes:
    - uint256
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: operator()(const uint256& txhash, NodeId peer, bool preferred) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - CSipHasher
    linkageType: ''
    returnType: Priority
    signature: Priority operator()(const uint256& txhash, NodeId peer, bool preferred)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator
      Src: /src/bitcoin-core/src/txrequest.cpp:123,1
    - Dst: m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - operator
    - m_gtxid::ToUint256
    linkageType: ''
    returnType: Priority
    signature: Priority operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:147,1
    - Dst: m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - m_gtxid::ToUint256
    - GetState
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' computer'
    argTypes:
    - PriorityComputer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: ByTxHashViewExtractor::ByTxHashViewExtractor
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByTxHashViewExtractor(const PriorityComputer& computer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:170,1
    - Dst: m_computer
      Src: /src/bitcoin-core/src/txrequest.cpp:170,1
    - Dst: m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:171,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - m_gtxid::ToUint256
    - GetState
    - m_computer
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsWaiting
      Src: /src/bitcoin-core/src/txrequest.cpp:186,1
    - Dst: IsSelectable
      Src: /src/bitcoin-core/src/txrequest.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: GetWaitState
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - IsSelectable
    - IsWaiting
    linkageType: ''
    returnType: WaitState
    signature: WaitState GetWaitState(const Announcement& ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWaitState
      Src: /src/bitcoin-core/src/txrequest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - GetWaitState
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/txrequest.cpp:257,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/txrequest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PeerInfo
    - PeerInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: operator==(const PeerInfo& a, const PeerInfo& b)
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PeerInfo& a, const PeerInfo& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:268,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' index'
    argTypes:
    - Index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: RecomputePeerInfo
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - GetState
    linkageType: ''
    returnType: std::unordered_map<NodeId, PeerInfo>
    signature: std::unordered_map<NodeId, PeerInfo> RecomputePeerInfo(const Index&
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:279,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:281,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:282,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:283,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:284,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:286,1
    - Dst: computer
      Src: /src/bitcoin-core/src/txrequest.cpp:287,1
    - Dst: GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:289,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/txrequest.cpp:290,1
    - Dst: computer
      Src: /src/bitcoin-core/src/txrequest.cpp:290,1
    - Dst: m_peers::push_back
      Src: /src/bitcoin-core/src/txrequest.cpp:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' index'
    - ' computer'
    argTypes:
    - Index
    - PriorityComputer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 296
    functionName: ComputeTxHashInfo
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - m_gtxid::ToUint256
    - std::max
    - GetState
    - m_peers::push_back
    - computer
    linkageType: ''
    returnType: std::map<uint256, TxHashInfo>
    signature: std::map<uint256, TxHashInfo> ComputeTxHashInfo(const Index& index,
      const PriorityComputer& computer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:320,1
    - Dst: RecomputePeerInfo
      Src: /src/bitcoin-core/src/txrequest.cpp:320,1
    - Dst: ComputeTxHashInfo
      Src: /src/bitcoin-core/src/txrequest.cpp:323,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:327,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:330,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:335,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:341,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txrequest.cpp:345,1
    - Dst: m_peers::begin
      Src: /src/bitcoin-core/src/txrequest.cpp:345,1
    - Dst: m_peers::end
      Src: /src/bitcoin-core/src/txrequest.cpp:345,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:346,1
    - Dst: std::adjacent_find
      Src: /src/bitcoin-core/src/txrequest.cpp:346,1
    - Dst: m_peers::begin
      Src: /src/bitcoin-core/src/txrequest.cpp:346,1
    - Dst: m_peers::end
      Src: /src/bitcoin-core/src/txrequest.cpp:346,1
    - Dst: m_peers::end
      Src: /src/bitcoin-core/src/txrequest.cpp:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_peerinfo == RecomputePeerInfo(m_index))
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/bitcoin-core/src/txrequest.cpp
    - condition: (info.m_candidate_delayed + info.m_candidate_ready + info.m_candidate_best
        + info.m_requested > 0)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/bitcoin-core/src/txrequest.cpp
    - condition: (info.m_candidate_best + info.m_requested <= 1)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/bitcoin-core/src/txrequest.cpp
    - condition: (info.m_candidate_best + info.m_requested == 1)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/bitcoin-core/src/txrequest.cpp
    - condition: (info.m_priority_candidate_best >= info.m_priority_best_candidate_ready)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/bitcoin-core/src/txrequest.cpp
    - condition: (std::adjacent_find(info.m_peers.begin(), info.m_peers.end()) ==
        info.m_peers.end())
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/bitcoin-core/src/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: TxRequestTracker::Impl::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - std::adjacent_find
    - RecomputePeerInfo
    - m_peers::begin
    - std::sort
    - assert
    - ComputeTxHashInfo
    - m_peers::end
    linkageType: ''
    returnType: void
    signature: void SanityCheck() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsWaiting
      Src: /src/bitcoin-core/src/txrequest.cpp:353,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:356,1
    - Dst: IsSelectable
      Src: /src/bitcoin-core/src/txrequest.cpp:357,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - now
    argTypes:
    - std::chrono::microseconds
    assertStmts:
    - condition: (ann.m_time <= now)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/bitcoin-core/src/txrequest.cpp
    - condition: (ann.m_time > now)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/bitcoin-core/src/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: TxRequestTracker::Impl::PostGetRequestableSanityCheck
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - assert
    - IsSelectable
    - IsWaiting
    linkageType: ''
    returnType: void
    signature: void PostGetRequestableSanityCheck(std::chrono::microseconds now) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/txrequest.cpp:370,1
    - Dst: Iter<Tag>::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:371,1
    - Dst: Iter<Tag>::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:372,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txrequest.cpp:373,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iter<Tag>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: TxRequestTracker::Impl::Erase
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - Iter<Tag>::GetState
    - get
    - find
    - erase
    linkageType: ''
    returnType: Iter<Tag>
    signature: Iter<Tag> Erase(Iter<Tag> it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/txrequest.cpp:381,1
    - Dst: Iter<Tag>::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:382,1
    - Dst: Iter<Tag>::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:383,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:384,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txrequest.cpp:384,1
    - Dst: Iter<Tag>::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:385,1
    - Dst: Iter<Tag>::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - it
    - modifier
    argTypes:
    - Iter<Tag>
    - Modifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: TxRequestTracker::Impl::Modify
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - Iter<Tag>::GetState
    - find
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void Modify(Iter<Tag> it, Modifier modifier)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:394,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:394,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:395,1
    - Dst: Iter<ByTxHash>::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:395,1
    - Dst: TxRequestTracker::Impl::Modify
      Src: /src/bitcoin-core/src/txrequest.cpp:397,1
    - Dst: SetState
      Src: /src/bitcoin-core/src/txrequest.cpp:397,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/txrequest.cpp:402,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:403,1
    - Dst: auto::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:403,1
    - Dst: Iter<ByTxHash>::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:403,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:404,1
    - Dst: TxRequestTracker::Impl::Modify
      Src: /src/bitcoin-core/src/txrequest.cpp:407,1
    - Dst: SetState
      Src: /src/bitcoin-core/src/txrequest.cpp:407,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:408,1
    - Dst: m_computer
      Src: /src/bitcoin-core/src/txrequest.cpp:409,1
    - Dst: m_computer
      Src: /src/bitcoin-core/src/txrequest.cpp:410,1
    - Dst: TxRequestTracker::Impl::Modify
      Src: /src/bitcoin-core/src/txrequest.cpp:413,1
    - Dst: SetState
      Src: /src/bitcoin-core/src/txrequest.cpp:413,1
    - Dst: TxRequestTracker::Impl::Modify
      Src: /src/bitcoin-core/src/txrequest.cpp:414,1
    - Dst: SetState
      Src: /src/bitcoin-core/src/txrequest.cpp:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iter<ByTxHash>
    assertStmts:
    - condition: (it != m_index.get<ByTxHash>().end())
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/bitcoin-core/src/txrequest.cpp
    - condition: (it->GetState() == State::CANDIDATE_DELAYED)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/bitcoin-core/src/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 417
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 417
    functionName: TxRequestTracker::Impl::PromoteCandidateReady
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - auto::GetState
    - SetState
    - TxRequestTracker::Impl::Modify
    - auto::m_gtxid::ToUint256
    - Iter<ByTxHash>::m_gtxid::ToUint256
    - std::next
    - get
    - Iter<ByTxHash>::GetState
    - assert
    - m_computer
    linkageType: ''
    returnType: void
    signature: void PromoteCandidateReady(Iter<ByTxHash> it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:423,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:424,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:424,1
    - Dst: Iter<ByTxHash>::IsSelected
      Src: /src/bitcoin-core/src/txrequest.cpp:425,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:425,1
    - Dst: std::prev
      Src: /src/bitcoin-core/src/txrequest.cpp:426,1
    - Dst: auto::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:429,1
    - Dst: Iter<ByTxHash>::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:429,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:429,1
    - Dst: TxRequestTracker::Impl::Modify
      Src: /src/bitcoin-core/src/txrequest.cpp:431,1
    - Dst: SetState
      Src: /src/bitcoin-core/src/txrequest.cpp:431,1
    - Dst: TxRequestTracker::Impl::Modify
      Src: /src/bitcoin-core/src/txrequest.cpp:434,1
    - Dst: SetState
      Src: /src/bitcoin-core/src/txrequest.cpp:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - it
    - new_state
    argTypes:
    - Iter<ByTxHash>
    - State
    assertStmts:
    - condition: (new_state == State::COMPLETED || new_state == State::CANDIDATE_DELAYED)
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/bitcoin-core/src/txrequest.cpp
    - condition: (it != m_index.get<ByTxHash>().end())
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/bitcoin-core/src/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 435
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 435
    functionName: TxRequestTracker::Impl::ChangeAndReselect
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - auto::GetState
    - SetState
    - TxRequestTracker::Impl::Modify
    - auto::m_gtxid::ToUint256
    - Iter<ByTxHash>::IsSelected
    - Iter<ByTxHash>::m_gtxid::ToUint256
    - get
    - assert
    - std::prev
    linkageType: ''
    returnType: void
    signature: void ChangeAndReselect(Iter<ByTxHash> it, State new_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:440,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:440,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:441,1
    - Dst: Iter<ByTxHash>::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:441,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:445,1
    - Dst: std::prev
      Src: /src/bitcoin-core/src/txrequest.cpp:445,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:445,1
    - Dst: Iter<ByTxHash>::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:445,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/txrequest.cpp:448,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:448,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/txrequest.cpp:448,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:448,1
    - Dst: Iter<ByTxHash>::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:448,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/txrequest.cpp:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iter<ByTxHash>
    assertStmts:
    - condition: (it != m_index.get<ByTxHash>().end())
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/bitcoin-core/src/txrequest.cpp
    - condition: (it->GetState() != State::COMPLETED)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/bitcoin-core/src/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 452
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 452
    functionName: TxRequestTracker::Impl::IsOnlyNonCompleted
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - Iter<ByTxHash>::m_gtxid::ToUint256
    - std::next
    - ToUint256
    - get
    - Iter<ByTxHash>::GetState
    - assert
    - std::prev
    linkageType: ''
    returnType: bool
    signature: bool IsOnlyNonCompleted(Iter<ByTxHash> it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txrequest.cpp:459,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:459,1
    - Dst: Iter<ByTxHash>::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:462,1
    - Dst: TxRequestTracker::Impl::IsOnlyNonCompleted
      Src: /src/bitcoin-core/src/txrequest.cpp:464,1
    - Dst: Iter<ByTxHash>::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:466,1
    - Dst: TxRequestTracker::Impl::Erase
      Src: /src/bitcoin-core/src/txrequest.cpp:468,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:469,1
    - Dst: Iter<ByTxHash>::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:469,1
    - Dst: TxRequestTracker::Impl::ChangeAndReselect
      Src: /src/bitcoin-core/src/txrequest.cpp:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iter<ByTxHash>
    assertStmts:
    - condition: (it != m_index.get<ByTxHash>().end())
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/bitcoin-core/src/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 478
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 478
    functionName: TxRequestTracker::Impl::MakeCompleted
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - TxRequestTracker::Impl::IsOnlyNonCompleted
    - Iter<ByTxHash>::m_gtxid::ToUint256
    - TxRequestTracker::Impl::ChangeAndReselect
    - get
    - TxRequestTracker::Impl::Erase
    - Iter<ByTxHash>::GetState
    - assert
    linkageType: ''
    returnType: bool
    signature: bool MakeCompleted(Iter<ByTxHash> it)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::pair<NodeId, GenTxid>>*::clear
      Src: /src/bitcoin-core/src/txrequest.cpp:486,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txrequest.cpp:490,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:491,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:492,1
    - Dst: TxRequestTracker::Impl::PromoteCandidateReady
      Src: /src/bitcoin-core/src/txrequest.cpp:493,1
    - Dst: project
      Src: /src/bitcoin-core/src/txrequest.cpp:493,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:494,1
    - Dst: std::vector<std::pair<NodeId, GenTxid>>*::emplace_back
      Src: /src/bitcoin-core/src/txrequest.cpp:495,1
    - Dst: TxRequestTracker::Impl::MakeCompleted
      Src: /src/bitcoin-core/src/txrequest.cpp:496,1
    - Dst: project
      Src: /src/bitcoin-core/src/txrequest.cpp:496,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txrequest.cpp:502,1
    - Dst: std::prev
      Src: /src/bitcoin-core/src/txrequest.cpp:506,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:506,1
    - Dst: auto::IsSelectable
      Src: /src/bitcoin-core/src/txrequest.cpp:507,1
    - Dst: TxRequestTracker::Impl::ChangeAndReselect
      Src: /src/bitcoin-core/src/txrequest.cpp:508,1
    - Dst: project
      Src: /src/bitcoin-core/src/txrequest.cpp:508,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - now
    - expired
    argTypes:
    - std::chrono::microseconds
    - std::vector<std::pair<NodeId, GenTxid>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 484
    functionDepth: 4
    functionLinenumber: 484
    functionLinenumberEnd: 513
    functionName: TxRequestTracker::Impl::SetTimePoint
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - auto::GetState
    - TxRequestTracker::Impl::MakeCompleted
    - TxRequestTracker::Impl::PromoteCandidateReady
    - empty
    - auto::IsSelectable
    - TxRequestTracker::Impl::ChangeAndReselect
    - std::vector<std::pair<NodeId, GenTxid>>*::clear
    - get
    - project
    - std::vector<std::pair<NodeId, GenTxid>>*::emplace_back
    - std::prev
    linkageType: ''
    returnType: void
    signature: void SetTimePoint(std::chrono::microseconds now, std::vector<std::pair<NodeId,
      GenTxid>>* expired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: boost::make_tuple
      Src: /src/bitcoin-core/src/txrequest.cpp:519,1
    - Dst: boost::make_tuple
      Src: /src/bitcoin-core/src/txrequest.cpp:520,1
    - Dst: ByPeerViewExtractor
      Src: /src/bitcoin-core/src/txrequest.cpp:520,1
    - Dst: std::less<ByPeerView>
      Src: /src/bitcoin-core/src/txrequest.cpp:520,1
    - Dst: boost::make_tuple
      Src: /src/bitcoin-core/src/txrequest.cpp:521,1
    - Dst: ByTxHashViewExtractor
      Src: /src/bitcoin-core/src/txrequest.cpp:521,1
    - Dst: std::less<ByTxHashView>
      Src: /src/bitcoin-core/src/txrequest.cpp:521,1
    - Dst: boost::make_tuple
      Src: /src/bitcoin-core/src/txrequest.cpp:522,1
    - Dst: ByTimeViewExtractor
      Src: /src/bitcoin-core/src/txrequest.cpp:522,1
    - Dst: std::less<ByTimeView>
      Src: /src/bitcoin-core/src/txrequest.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - deterministic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: TxRequestTracker::Impl::Impl
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - boost::make_tuple
    - std::less<ByPeerView>
    - ByPeerViewExtractor
    - std::less<ByTimeView>
    - ByTimeViewExtractor
    - std::less<ByTxHashView>
    - ByTxHashViewExtractor
    linkageType: ''
    returnType: void
    signature: void Impl(bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: TxRequestTracker::Impl::Impl
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Impl(const Impl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: '& operator=(const Impl&)'
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Impl
    signature: Impl & operator=(const Impl&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:531,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/txrequest.cpp:532,1
    - Dst: end
      Src: /src/bitcoin-core/src/txrequest.cpp:533,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/txrequest.cpp:547,1
    - Dst: end
      Src: /src/bitcoin-core/src/txrequest.cpp:547,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/txrequest.cpp:547,1
    - Dst: end
      Src: /src/bitcoin-core/src/txrequest.cpp:547,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/txrequest.cpp:548,1
    - Dst: TxRequestTracker::Impl::MakeCompleted
      Src: /src/bitcoin-core/src/txrequest.cpp:552,1
    - Dst: project
      Src: /src/bitcoin-core/src/txrequest.cpp:552,1
    - Dst: TxRequestTracker::Impl::Erase
      Src: /src/bitcoin-core/src/txrequest.cpp:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 558
    functionName: TxRequestTracker::Impl::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - end
    - TxRequestTracker::Impl::MakeCompleted
    - lower_bound
    - std::next
    - get
    - project
    - TxRequestTracker::Impl::Erase
    linkageType: ''
    returnType: void
    signature: void DisconnectedPeer(NodeId peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:562,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:563,1
    - Dst: auto::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:563,1
    - Dst: TxRequestTracker::Impl::Erase
      Src: /src/bitcoin-core/src/txrequest.cpp:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' txhash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: TxRequestTracker::Impl::ForgetTxHash
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - auto::m_gtxid::ToUint256
    - get
    - TxRequestTracker::Impl::Erase
    linkageType: ''
    returnType: void
    signature: void ForgetTxHash(const uint256& txhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:570,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:571,1
    - Dst: auto::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:571,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:571,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txrequest.cpp:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' txhash'
    - ' result_peers'
    argTypes:
    - uint256
    - std::vector<NodeId>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 575
    functionName: TxRequestTracker::Impl::GetCandidatePeers
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - auto::GetState
    - auto::m_gtxid::ToUint256
    - get
    - push_back
    linkageType: ''
    returnType: void
    signature: void GetCandidatePeers(const uint256& txhash, std::vector<NodeId>&
      result_peers) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:583,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:583,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - peer
    - ' gtxid'
    - preferred
    - reqtime
    argTypes:
    - NodeId
    - GenTxid
    - bool
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 594
    functionName: TxRequestTracker::Impl::ReceivedInv
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - ToUint256
    - get
    linkageType: ''
    returnType: void
    signature: "void ReceivedInv(NodeId peer, const GenTxid& gtxid, bool preferred,\n
      \                    std::chrono::microseconds reqtime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::Impl::SetTimePoint
      Src: /src/bitcoin-core/src/txrequest.cpp:601,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:605,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:606,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:607,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txrequest.cpp:608,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txrequest.cpp:613,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txrequest.cpp:613,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txrequest.cpp:613,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txrequest.cpp:619,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txrequest.cpp:619,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/txrequest.cpp:620,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txrequest.cpp:620,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txrequest.cpp:620,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/txrequest.cpp:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - peer
    - now
    - expired
    argTypes:
    - NodeId
    - std::chrono::microseconds
    - std::vector<std::pair<NodeId, GenTxid>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 597
    functionDepth: 5
    functionLinenumber: 597
    functionLinenumberEnd: 624
    functionName: TxRequestTracker::Impl::GetRequestable
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - auto::GetState
    - std::vector::end
    - std::vector::emplace_back
    - std::back_inserter
    - std::transform
    - std::vector::begin
    - std::vector::reserve
    - TxRequestTracker::Impl::SetTimePoint
    - get
    - std::sort
    - std::vector::size
    linkageType: ''
    returnType: std::vector<GenTxid>
    signature: "std::vector<GenTxid> GetRequestable(NodeId peer, std::chrono::microseconds
      now,\n                                        std::vector<std::pair<NodeId,
      GenTxid>>* expired)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:628,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:629,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:635,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:636,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:636,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:637,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:647,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:648,1
    - Dst: auto::m_gtxid::ToUint256
      Src: /src/bitcoin-core/src/txrequest.cpp:648,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:649,1
    - Dst: TxRequestTracker::Impl::Modify
      Src: /src/bitcoin-core/src/txrequest.cpp:656,1
    - Dst: SetState
      Src: /src/bitcoin-core/src/txrequest.cpp:656,1
    - Dst: auto::GetState
      Src: /src/bitcoin-core/src/txrequest.cpp:657,1
    - Dst: TxRequestTracker::Impl::Modify
      Src: /src/bitcoin-core/src/txrequest.cpp:660,1
    - Dst: SetState
      Src: /src/bitcoin-core/src/txrequest.cpp:660,1
    - Dst: TxRequestTracker::Impl::Modify
      Src: /src/bitcoin-core/src/txrequest.cpp:665,1
    - Dst: SetState
      Src: /src/bitcoin-core/src/txrequest.cpp:666,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - peer
    - ' txhash'
    - expiry
    argTypes:
    - NodeId
    - uint256
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 669
    functionName: TxRequestTracker::Impl::RequestedTx
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - auto::GetState
    - SetState
    - TxRequestTracker::Impl::Modify
    - auto::m_gtxid::ToUint256
    - get
    linkageType: ''
    returnType: void
    signature: void RequestedTx(NodeId peer, const uint256& txhash, std::chrono::microseconds
      expiry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:674,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:675,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:676,1
    - Dst: get
      Src: /src/bitcoin-core/src/txrequest.cpp:678,1
    - Dst: TxRequestTracker::Impl::MakeCompleted
      Src: /src/bitcoin-core/src/txrequest.cpp:678,1
    - Dst: project
      Src: /src/bitcoin-core/src/txrequest.cpp:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - ' txhash'
    argTypes:
    - NodeId
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 671
    functionDepth: 4
    functionLinenumber: 671
    functionLinenumberEnd: 679
    functionName: TxRequestTracker::Impl::ReceivedResponse
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - project
    - TxRequestTracker::Impl::MakeCompleted
    - get
    linkageType: ''
    returnType: void
    signature: void ReceivedResponse(NodeId peer, const uint256& txhash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/txrequest.cpp:683,1
    - Dst: end
      Src: /src/bitcoin-core/src/txrequest.cpp:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 686
    functionName: TxRequestTracker::Impl::CountInFlight
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t CountInFlight(NodeId peer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/txrequest.cpp:690,1
    - Dst: end
      Src: /src/bitcoin-core/src/txrequest.cpp:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: TxRequestTracker::Impl::CountCandidates
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t CountCandidates(NodeId peer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/txrequest.cpp:697,1
    - Dst: end
      Src: /src/bitcoin-core/src/txrequest.cpp:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: TxRequestTracker::Impl::Count
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t Count(NodeId peer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/txrequest.cpp:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: TxRequestTracker::Impl::Size
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_computer
      Src: /src/bitcoin-core/src/txrequest.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' txhash'
    - peer
    - preferred
    argTypes:
    - uint256
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: TxRequestTracker::Impl::ComputePriority
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - m_computer
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ComputePriority(const uint256& txhash, NodeId peer, bool preferred)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TxRequestTracker::Impl>
      Src: /src/bitcoin-core/src/txrequest.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - deterministic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: TxRequestTracker::TxRequestTracker
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<TxRequestTracker::Impl>
    linkageType: ''
    returnType: void
    signature: void TxRequestTracker::TxRequestTracker(bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 716
    functionName: TxRequestTracker::~TxRequestTracker()
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxRequestTracker::~TxRequestTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::ForgetTxHash
      Src: /src/bitcoin-core/src/txrequest.cpp:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txhash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 718
    functionName: TxRequestTracker::ForgetTxHash
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::ForgetTxHash
    linkageType: ''
    returnType: void
    signature: void TxRequestTracker::ForgetTxHash(const uint256& txhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::DisconnectedPeer
      Src: /src/bitcoin-core/src/txrequest.cpp:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: TxRequestTracker::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::DisconnectedPeer
    linkageType: ''
    returnType: void
    signature: void TxRequestTracker::DisconnectedPeer(NodeId peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::CountInFlight
      Src: /src/bitcoin-core/src/txrequest.cpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: TxRequestTracker::CountInFlight
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::CountInFlight
    linkageType: ''
    returnType: size_t
    signature: size_t TxRequestTracker::CountInFlight(NodeId peer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::CountCandidates
      Src: /src/bitcoin-core/src/txrequest.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 721
    functionName: TxRequestTracker::CountCandidates
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::CountCandidates
    linkageType: ''
    returnType: size_t
    signature: size_t TxRequestTracker::CountCandidates(NodeId peer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::Count
      Src: /src/bitcoin-core/src/txrequest.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 722
    functionName: TxRequestTracker::Count
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::Count
    linkageType: ''
    returnType: size_t
    signature: size_t TxRequestTracker::Count(NodeId peer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::Size
      Src: /src/bitcoin-core/src/txrequest.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 723
    functionName: TxRequestTracker::Size
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::Size
    linkageType: ''
    returnType: size_t
    signature: size_t TxRequestTracker::Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::GetCandidatePeers
      Src: /src/bitcoin-core/src/txrequest.cpp:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' txhash'
    - ' result_peers'
    argTypes:
    - uint256
    - std::vector<NodeId>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 724
    functionName: TxRequestTracker::GetCandidatePeers
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::GetCandidatePeers
    linkageType: ''
    returnType: void
    signature: void TxRequestTracker::GetCandidatePeers(const uint256& txhash, std::vector<NodeId>&
      result_peers) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::SanityCheck
      Src: /src/bitcoin-core/src/txrequest.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 725
    functionName: TxRequestTracker::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::SanityCheck
    linkageType: ''
    returnType: void
    signature: void TxRequestTracker::SanityCheck() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::PostGetRequestableSanityCheck
      Src: /src/bitcoin-core/src/txrequest.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 730
    functionName: TxRequestTracker::PostGetRequestableSanityCheck
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::PostGetRequestableSanityCheck
    linkageType: ''
    returnType: void
    signature: void TxRequestTracker::PostGetRequestableSanityCheck(std::chrono::microseconds
      now) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::ReceivedInv
      Src: /src/bitcoin-core/src/txrequest.cpp:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - peer
    - ' gtxid'
    - preferred
    - reqtime
    argTypes:
    - NodeId
    - GenTxid
    - bool
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: TxRequestTracker::ReceivedInv
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::ReceivedInv
    linkageType: ''
    returnType: void
    signature: "void TxRequestTracker::ReceivedInv(NodeId peer, const GenTxid& gtxid,
      bool preferred,\n                                   std::chrono::microseconds
      reqtime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::RequestedTx
      Src: /src/bitcoin-core/src/txrequest.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - peer
    - ' txhash'
    - expiry
    argTypes:
    - NodeId
    - uint256
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 741
    functionName: TxRequestTracker::RequestedTx
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::RequestedTx
    linkageType: ''
    returnType: void
    signature: void TxRequestTracker::RequestedTx(NodeId peer, const uint256& txhash,
      std::chrono::microseconds expiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::ReceivedResponse
      Src: /src/bitcoin-core/src/txrequest.cpp:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - peer
    - ' txhash'
    argTypes:
    - NodeId
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 746
    functionName: TxRequestTracker::ReceivedResponse
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::ReceivedResponse
    linkageType: ''
    returnType: void
    signature: void TxRequestTracker::ReceivedResponse(NodeId peer, const uint256&
      txhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::GetRequestable
      Src: /src/bitcoin-core/src/txrequest.cpp:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - peer
    - now
    - expired
    argTypes:
    - NodeId
    - std::chrono::microseconds
    - std::vector<std::pair<NodeId, GenTxid>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: TxRequestTracker::GetRequestable
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::GetRequestable
    linkageType: ''
    returnType: std::vector<GenTxid>
    signature: "std::vector<GenTxid> TxRequestTracker::GetRequestable(NodeId peer,
      std::chrono::microseconds now,\n                                                      std::vector<std::pair<NodeId,
      GenTxid>>* expired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxRequestTracker::ComputePriority
      Src: /src/bitcoin-core/src/txrequest.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' txhash'
    - peer
    - preferred
    argTypes:
    - uint256
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: TxRequestTracker::ComputePriority
    functionSourceFile: /src/bitcoin-core/src/txrequest.cpp
    functionUses: 1
    functionsReached:
    - TxRequestTracker::ComputePriority
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TxRequestTracker::ComputePriority(const uint256& txhash, NodeId
      peer, bool preferred) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetNull
      Src: /src/bitcoin-core/src/headerssync.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: CompressedHeader
    functionSourceFile: /src/bitcoin-core/src/headerssync.h
    functionUses: 0
    functionsReached:
    - SetNull
    linkageType: ''
    returnType: void
    signature: void CompressedHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - CBlockHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: CompressedHeader
    functionSourceFile: /src/bitcoin-core/src/headerssync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompressedHeader(const CBlockHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/headerssync.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' hash_prev_block'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: GetFullHeader
    functionSourceFile: /src/bitcoin-core/src/headerssync.h
    functionUses: 0
    functionsReached:
    - CBlockHeader::CBlockHeader
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader GetFullHeader(const uint256& hash_prev_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~HeadersSyncState()
    functionSourceFile: /src/bitcoin-core/src/headerssync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HeadersSyncState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: HeadersSyncState::GetState
    functionSourceFile: /src/bitcoin-core/src/headerssync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: State
    signature: State GetState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: HeadersSyncState::GetPresyncHeight
    functionSourceFile: /src/bitcoin-core/src/headerssync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetPresyncHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: HeadersSyncState::GetPresyncTime
    functionSourceFile: /src/bitcoin-core/src/headerssync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetPresyncTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: HeadersSyncState::GetPresyncWork
    functionSourceFile: /src/bitcoin-core/src/headerssync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 GetPresyncWork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/protocol.cpp:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' pchMessageStartIn'
    - msg_type
    - nMessageSizeIn
    argTypes:
    - MessageStartChars
    - char*
    - unsigned int
    assertStmts:
    - condition: (msg_type[i] == 0)
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/bitcoin-core/src/protocol.cpp
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: CMessageHeader::CMessageHeader
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CMessageHeader::CMessageHeader(const MessageStartChars& pchMessageStartIn,
      const char* msg_type, unsigned int nMessageSizeIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/protocol.cpp:23,1
    - Dst: strnlen
      Src: /src/bitcoin-core/src/protocol.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: CMessageHeader::GetMessageType
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 0
    functionsReached:
    - strnlen
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string CMessageHeader::GetMessageType() const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: CMessageHeader::IsMessageTypeValid
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CMessageHeader::IsMessageTypeValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetNull
      Src: /src/bitcoin-core/src/protocol.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: CInv::CInv
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 0
    functionsReached:
    - SetNull
    linkageType: ''
    returnType: void
    signature: void CInv::CInv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - typeIn
    - ' hashIn'
    argTypes:
    - uint32_t
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: CInv::CInv
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CInv::CInv(uint32_t typeIn, const uint256& hashIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CInv
    - CInv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: operator<(const CInv& a, const CInv& b)
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CInv& a, const CInv& b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/protocol.cpp:62,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/protocol.cpp:66,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/protocol.cpp:68,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/protocol.cpp:69,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/protocol.cpp:70,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/protocol.cpp:71,1
    - Dst: std::out_of_range
      Src: /src/bitcoin-core/src/protocol.cpp:73,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/protocol.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: CInv::GetMessageType
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 0
    functionsReached:
    - std::out_of_range
    - std::string::append
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CInv::GetMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/protocol.cpp:80,1
    - Dst: CInv::GetMessageType
      Src: /src/bitcoin-core/src/protocol.cpp:80,1
    - Dst: CInv::ToString
      Src: /src/bitcoin-core/src/protocol.cpp:80,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/protocol.cpp:82,1
    - Dst: CInv::ToString
      Src: /src/bitcoin-core/src/protocol.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: CInv::ToString
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 1
    functionsReached:
    - CInv::ToString
    - CInv::GetMessageType
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CInv::ToString() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/bitcoin-core/src/protocol.cpp:95,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/protocol.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - bit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: serviceFlagToStr
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 0
    functionsReached:
    - abort
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string serviceFlagToStr(size_t bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/protocol.cpp:114,1
    - Dst: serviceFlagToStr
      Src: /src/bitcoin-core/src/protocol.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: serviceFlagsToStr
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - serviceFlagToStr
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> serviceFlagsToStr(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/protocol.cpp:123,1
    - Dst: IsGenTxMsg
      Src: /src/bitcoin-core/src/protocol.cpp:123,1
    - Dst: IsMsgWtx
      Src: /src/bitcoin-core/src/protocol.cpp:124,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/protocol.cpp:124,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/protocol.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' inv'
    argTypes:
    - CInv
    assertStmts:
    - condition: (inv.IsGenTxMsg())
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/bitcoin-core/src/protocol.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ToGenTxid
    functionSourceFile: /src/bitcoin-core/src/protocol.cpp
    functionUses: 2
    functionsReached:
    - IsGenTxMsg
    - assert
    - IsMsgWtx
    - transaction_identifier::FromUint256
    linkageType: ''
    returnType: GenTxid
    signature: GenTxid ToGenTxid(const CInv& inv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - PSBTProprietary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: operator<(const PSBTProprietary &b) const
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const PSBTProprietary &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - PSBTProprietary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: operator==(const PSBTProprietary &b) const
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PSBTProprietary &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeComputer::SizeComputer
      Src: /src/bitcoin-core/src/psbt.h:103,1
    - Dst: SerializeMany
      Src: /src/bitcoin-core/src/psbt.h:104,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/psbt.h:105,1
    - Dst: SizeComputer::size
      Src: /src/bitcoin-core/src/psbt.h:105,1
    - Dst: SerializeMany
      Src: /src/bitcoin-core/src/psbt.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: SerializeToVector
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - SizeComputer::SizeComputer
    - SerializeMany
    - WriteCompactSize
    - SizeComputer::size
    linkageType: ''
    returnType: void
    signature: void SerializeToVector(Stream& s, const X&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:113,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:114,1
    - Dst: UnserializeMany
      Src: /src/bitcoin-core/src/psbt.h:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:116,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: UnserializeFromVector
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - ReadCompactSize
    - std::ios_base::failure
    - UnserializeMany
    - size
    linkageType: ''
    returnType: void
    signature: void UnserializeFromVector(Stream& s, X&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:128,1
    - Dst: KeyOriginInfo::path::push_back
      Src: /src/bitcoin-core/src/psbt.h:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' s'
    - length
    argTypes:
    - Stream
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: DeserializeKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - KeyOriginInfo::path::push_back
    - std::ios_base::failure
    linkageType: ''
    returnType: KeyOriginInfo
    signature: KeyOriginInfo DeserializeKeyOrigin(Stream& s, uint64_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeserializeKeyOrigin
      Src: /src/bitcoin-core/src/psbt.h:145,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' hd_keypath'
    argTypes:
    - Stream
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: DeserializeHDKeypath
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - ReadCompactSize
    - DeserializeKeyOrigin
    linkageType: ''
    returnType: void
    signature: void DeserializeHDKeypath(Stream& s, KeyOriginInfo& hd_keypath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:153,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:153,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:154,1
    - Dst: begin
      Src: /src/bitcoin-core/src/psbt.h:157,1
    - Dst: end
      Src: /src/bitcoin-core/src/psbt.h:157,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/psbt.h:158,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:159,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:161,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:162,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/psbt.h:166,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:169,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ' s'
    - ' key'
    - ' hd_keypaths'
    argTypes:
    - Stream
    - std::vector<unsigned char>
    - std::map<CPubKey, KeyOriginInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: DeserializeHDKeypaths
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - end
    - DeserializeHDKeypath
    - emplace
    - std::ios_base::failure
    - size
    - std::move
    - count
    - CPubKey::IsFullyValid
    - begin
    linkageType: ''
    returnType: void
    signature: void DeserializeHDKeypaths(Stream& s, const std::vector<unsigned char>&
      key, std::map<CPubKey, KeyOriginInfo>& hd_keypaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' s'
    - hd_keypath
    argTypes:
    - Stream
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: SerializeKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerializeKeyOrigin(Stream& s, KeyOriginInfo hd_keypath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/psbt.h:186,1
    - Dst: KeyOriginInfo::path::size
      Src: /src/bitcoin-core/src/psbt.h:186,1
    - Dst: SerializeKeyOrigin
      Src: /src/bitcoin-core/src/psbt.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s'
    - hd_keypath
    argTypes:
    - Stream
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: SerializeHDKeypath
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - WriteCompactSize
    - KeyOriginInfo::path::size
    - SerializeKeyOrigin
    linkageType: ''
    returnType: void
    signature: void SerializeHDKeypath(Stream& s, KeyOriginInfo hd_keypath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first::IsValid
      Src: /src/bitcoin-core/src/psbt.h:195,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:196,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:198,1
    - Dst: SerializeHDKeypath
      Src: /src/bitcoin-core/src/psbt.h:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' s'
    - ' hd_keypaths'
    - type
    argTypes:
    - Stream
    - std::map<CPubKey, KeyOriginInfo>
    - CompactSizeWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: SerializeHDKeypaths
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - SerializeToVector
    - std::ios_base::failure
    - first::IsValid
    - SerializeHDKeypath
    linkageType: ''
    returnType: void
    signature: void SerializeHDKeypaths(Stream& s, const std::map<CPubKey, KeyOriginInfo>&
      hd_keypaths, CompactSizeWriter type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/psbt.h:208,1
    - Dst: SpanReader::size
      Src: /src/bitcoin-core/src/psbt.h:215,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/psbt.h:217,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/psbt.h:218,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/psbt.h:220,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:221,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' s'
    - ' skey'
    - ' out'
    - context
    argTypes:
    - Stream
    - SpanReader
    - std::map<CPubKey, std::vector<CPubKey>>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 225
    functionName: DeserializeMuSig2ParticipantPubkeys
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - emplace
    - std::ios_base::failure
    - SpanReader::empty
    - SpanReader::size
    - std::as_writable_bytes
    linkageType: ''
    returnType: void
    signature: void DeserializeMuSig2ParticipantPubkeys(Stream& s, SpanReader& skey,
      std::map<CPubKey, std::vector<CPubKey>>& out, std::string context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetNull
      Src: /src/bitcoin-core/src/psbt.h:232,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/psbt.h:237,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/psbt.h:237,1
    - Dst: Set
      Src: /src/bitcoin-core/src/psbt.h:238,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/psbt.h:238,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/psbt.h:238,1
    - Dst: Set
      Src: /src/bitcoin-core/src/psbt.h:239,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/psbt.h:239,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/psbt.h:239,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' skey'
    - ' agg_pub'
    - ' part_pub'
    - ' leaf_hash'
    argTypes:
    - Stream
    - CPubKey
    - CPubKey
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: DeserializeMuSig2ParticipantDataIdentifier
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - empty
    - SetNull
    - Set
    - std::array::begin
    - std::array::end
    - std::as_writable_bytes
    linkageType: ''
    returnType: void
    signature: void DeserializeMuSig2ParticipantDataIdentifier(Stream& skey, CPubKey&
      agg_pub, CPubKey& part_pub, uint256& leaf_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: PSBTInput
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSBTInput()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:291,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:291,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:292,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/psbt.h:292,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/psbt.h:294,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:295,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:295,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:296,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:299,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/psbt.h:299,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:302,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:302,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:308,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:308,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:309,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:313,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:314,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:314,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:319,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:320,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:320,1
    - Dst: SerializeHDKeypaths
      Src: /src/bitcoin-core/src/psbt.h:325,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:325,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:329,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:329,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:335,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:335,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:341,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:341,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:347,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:347,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:352,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:353,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:360,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:368,1
    - Dst: begin
      Src: /src/bitcoin-core/src/psbt.h:369,1
    - Dst: end
      Src: /src/bitcoin-core/src/psbt.h:369,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/psbt.h:370,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:378,1
    - Dst: SerializeKeyOrigin
      Src: /src/bitcoin-core/src/psbt.h:382,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/psbt.h:387,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:388,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/psbt.h:389,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/psbt.h:393,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:394,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:395,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:400,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:400,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/psbt.h:413,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:414,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:414,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:416,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:416,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/psbt.h:426,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:427,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:427,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:429,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:429,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:431,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:437,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:438,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:438,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/psbt.h:442,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:443,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:443,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:444,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 100
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 460
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 19
    functionsReached:
    - end
    - SerializeKeyOrigin
    - ToByteVector
    - empty
    - SerializeToVector
    - TX_NO_WITNESS
    - CompactSizeWriter
    - std::vector::push_back
    - IsNull
    - SerializeHDKeypaths
    - begin
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:470,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/psbt.h:477,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:484,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:490,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:491,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:492,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:493,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:496,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/psbt.h:496,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:500,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:501,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:502,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:503,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:505,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:510,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:510,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:511,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/psbt.h:514,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/psbt.h:514,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/psbt.h:515,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:516,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:518,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/psbt.h:518,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:519,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/psbt.h:527,1
    - Dst: CheckSignatureEncoding
      Src: /src/bitcoin-core/src/psbt.h:527,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:528,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:532,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/psbt.h:532,1
    - Dst: SigPair
      Src: /src/bitcoin-core/src/psbt.h:532,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:532,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:536,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:537,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:538,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:539,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:542,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:547,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:548,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:549,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:550,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:557,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:558,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:559,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:560,1
    - Dst: DeserializeHDKeypaths
      Src: /src/bitcoin-core/src/psbt.h:567,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:572,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:573,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:574,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:575,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:582,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:583,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:584,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:585,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:587,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:593,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:594,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/psbt.h:597,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/psbt.h:597,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:599,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:600,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:608,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:608,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:614,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:615,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/psbt.h:618,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/psbt.h:618,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:620,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:621,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:629,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:629,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:635,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:636,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/psbt.h:639,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/psbt.h:639,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:641,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:642,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:650,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:650,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:656,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:657,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/psbt.h:660,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/psbt.h:660,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:662,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:663,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:671,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:671,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:676,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:677,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:678,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:679,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:682,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:683,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:684,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:685,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:691,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:692,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:693,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:694,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/psbt.h:696,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/psbt.h:697,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/psbt.h:698,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:703,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:704,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:705,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:706,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:708,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/psbt.h:708,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:713,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:714,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:715,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:716,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:717,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:718,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/psbt.h:722,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:723,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/psbt.h:725,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/psbt.h:726,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/psbt.h:727,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.h:728,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/psbt.h:728,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/psbt.h:728,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/psbt.h:728,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:733,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:734,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:735,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:736,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/psbt.h:738,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/psbt.h:739,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:742,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:743,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:745,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:748,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:751,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/psbt.h:751,1
    - Dst: DeserializeKeyOrigin
      Src: /src/bitcoin-core/src/psbt.h:751,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:756,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:757,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:758,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:759,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:761,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:766,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:767,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:768,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:769,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:771,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:776,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:777,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:778,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:779,1
    - Dst: DeserializeMuSig2ParticipantPubkeys
      Src: /src/bitcoin-core/src/psbt.h:781,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:786,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:787,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:788,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:788,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:789,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/psbt.h:791,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/psbt.h:792,1
    - Dst: DeserializeMuSig2ParticipantDataIdentifier
      Src: /src/bitcoin-core/src/psbt.h:793,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:797,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:798,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/psbt.h:801,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:801,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:806,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:807,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:808,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:808,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:809,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/psbt.h:811,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/psbt.h:812,1
    - Dst: DeserializeMuSig2ParticipantDataIdentifier
      Src: /src/bitcoin-core/src/psbt.h:813,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/psbt.h:815,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:816,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/psbt.h:818,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:818,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:825,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:828,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:829,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.h:832,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:837,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:838,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:843,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:849,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 290
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 464
    functionDepth: 5
    functionLinenumber: 464
    functionLinenumberEnd: 851
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 16
    functionsReached:
    - SigPair
    - std::make_pair
    - std::ios_base::failure
    - std::move
    - CPubKey::GetID
    - DeserializeKeyOrigin
    - std::set::emplace
    - std::vector::end
    - insert
    - std::vector::back
    - CPubKey::CPubKey
    - UnserializeFromVector
    - std::vector::empty
    - ReadCompactSize
    - std::vector::pop_back
    - std::vector::size
    - XOnlyPubKey::XOnlyPubKey
    - std::vector<unsigned char>
    - emplace
    - empty
    - DeserializeMuSig2ParticipantDataIdentifier
    - CheckSignatureEncoding
    - uint256::uint256
    - count
    - DeserializeHDKeypaths
    - std::vector::begin
    - size
    - DeserializeMuSig2ParticipantPubkeys
    - TX_WITH_WITNESS
    - CPubKey::IsFullyValid
    - subspan
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/psbt.h:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 856
    functionName: PSBTInput
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void PSBTInput(deserialize_type, Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: PSBTOutput
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSBTOutput()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:881,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:882,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:882,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:887,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:888,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:888,1
    - Dst: SerializeHDKeypaths
      Src: /src/bitcoin-core/src/psbt.h:893,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:893,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/psbt.h:902,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:903,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/psbt.h:904,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:908,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:909,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:923,1
    - Dst: SerializeKeyOrigin
      Src: /src/bitcoin-core/src/psbt.h:927,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:933,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:933,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 879
    functionDepth: 5
    functionLinenumber: 879
    functionLinenumberEnd: 949
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 19
    functionsReached:
    - SerializeKeyOrigin
    - ToByteVector
    - empty
    - SerializeToVector
    - CompactSizeWriter
    - IsNull
    - SerializeHDKeypaths
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:959,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/psbt.h:966,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:973,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:979,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:980,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:981,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:982,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:989,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:990,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:991,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:992,1
    - Dst: DeserializeHDKeypaths
      Src: /src/bitcoin-core/src/psbt.h:999,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:1004,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1005,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:1006,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1007,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:1009,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:1014,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1015,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:1016,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1017,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/psbt.h:1022,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1023,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/psbt.h:1026,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1034,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1037,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/psbt.h:1039,1
    - Dst: TaprootBuilder::Add
      Src: /src/bitcoin-core/src/psbt.h:1040,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/psbt.h:1042,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1043,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:1049,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1050,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:1051,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1052,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/psbt.h:1054,1
    - Dst: std::span<uint8_t>
      Src: /src/bitcoin-core/src/psbt.h:1054,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:1056,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:1057,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:1059,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1062,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:1065,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/psbt.h:1065,1
    - Dst: DeserializeKeyOrigin
      Src: /src/bitcoin-core/src/psbt.h:1065,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:1070,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1071,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:1072,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1073,1
    - Dst: DeserializeMuSig2ParticipantPubkeys
      Src: /src/bitcoin-core/src/psbt.h:1075,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:1082,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:1085,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1086,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.h:1089,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:1094,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1095,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:1100,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:1100,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:1100,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1107,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 119
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 953
    functionDepth: 5
    functionLinenumber: 953
    functionLinenumberEnd: 1109
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 17
    functionsReached:
    - std::span<uint8_t>
    - std::make_pair
    - std::ios_base::failure
    - std::move
    - DeserializeKeyOrigin
    - std::set::emplace
    - TaprootBuilder::Add
    - UnserializeFromVector
    - std::vector::empty
    - ReadCompactSize
    - std::vector::size
    - uint256
    - emplace
    - empty
    - TaprootBuilder::IsComplete
    - SpanReader::empty
    - count
    - DeserializeHDKeypaths
    - size
    - DeserializeMuSig2ParticipantPubkeys
    - emplace_back
    - insert
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/psbt.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1114
    functionName: PSBTOutput
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 0
    functionsReached:
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void PSBTOutput(deserialize_type, Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1138
    functionName: PartiallySignedTransaction
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PartiallySignedTransaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:1156,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:1156,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:1159,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/psbt.h:1159,1
    - Dst: EncodeWithVersion
      Src: /src/bitcoin-core/src/psbt.h:1165,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:1168,1
    - Dst: SerializeHDKeypath
      Src: /src/bitcoin-core/src/psbt.h:1169,1
    - Dst: GetVersion
      Src: /src/bitcoin-core/src/psbt.h:1174,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:1175,1
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/psbt.h:1175,1
    - Dst: SerializeToVector
      Src: /src/bitcoin-core/src/psbt.h:1176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1150
    functionDepth: 4
    functionLinenumber: 1150
    functionLinenumberEnd: 1202
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 19
    functionsReached:
    - GetVersion
    - SerializeToVector
    - TX_NO_WITNESS
    - CompactSizeWriter
    - SerializeHDKeypath
    - EncodeWithVersion
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/bitcoin-core/src/psbt.h:1210,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1211,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:1222,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/psbt.h:1229,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:1236,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/psbt.h:1242,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1243,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:1244,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1245,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/psbt.h:1247,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:1249,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/psbt.h:1249,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:1250,1
    - Dst: scriptSig::empty
      Src: /src/bitcoin-core/src/psbt.h:1253,1
    - Dst: scriptWitness::IsNull
      Src: /src/bitcoin-core/src/psbt.h:1253,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1254,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:1261,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1262,1
    - Dst: CExtPubKey::DecodeWithVersion
      Src: /src/bitcoin-core/src/psbt.h:1266,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/psbt.h:1266,1
    - Dst: CExtPubKey::pubkey::IsFullyValid
      Src: /src/bitcoin-core/src/psbt.h:1267,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1268,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/psbt.h:1270,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1271,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/psbt.h:1273,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/psbt.h:1276,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:1280,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.h:1285,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1292,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/psbt.h:1293,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1294,1
    - Dst: UnserializeFromVector
      Src: /src/bitcoin-core/src/psbt.h:1297,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1300,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/psbt.h:1308,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:1311,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1312,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.h:1315,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.h:1320,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1321,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.h:1326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:1326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.h:1326,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1332,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1337,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:1342,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/psbt.h:1342,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/psbt.h:1345,1
    - Dst: PSBTInput::non_witness_utxo::GetHash
      Src: /src/bitcoin-core/src/psbt.h:1349,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1350,1
    - Dst: PSBTInput::non_witness_utxo::vout::size
      Src: /src/bitcoin-core/src/psbt.h:1352,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1353,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:1359,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/psbt.h:1359,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1360,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.h:1365,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/psbt.h:1365,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/psbt.h:1368,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.h:1372,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/psbt.h:1372,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/psbt.h:1373,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 112
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1206
    functionDepth: 4
    functionLinenumber: 1206
    functionLinenumberEnd: 1375
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 18
    functionsReached:
    - std::ios_base::failure
    - std::move
    - CExtPubKey::pubkey::IsFullyValid
    - std::set::insert
    - std::set::emplace
    - DeserializeHDKeypath
    - TX_NO_WITNESS
    - UnserializeFromVector
    - std::vector::empty
    - ReadCompactSize
    - std::vector::size
    - emplace
    - empty
    - CMutableTransaction::CMutableTransaction
    - vout::size
    - scriptWitness::IsNull
    - PSBTInput::non_witness_utxo::GetHash
    - std::set::count
    - count
    - std::equal
    - vin::size
    - CExtPubKey::DecodeWithVersion
    - std::vector::data
    - push_back
    - size
    - scriptSig::empty
    - PSBTInput::non_witness_utxo::vout::size
    - insert
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/psbt.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1380
    functionName: PartiallySignedTransaction
    functionSourceFile: /src/bitcoin-core/src/psbt.h
    functionUses: 1
    functionsReached:
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void PartiallySignedTransaction(deserialize_type, Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: RecursiveDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/core_memusage.h
    functionUses: 1
    functionsReached:
    - memusage::DynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t RecursiveDynamicUsage(const CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: RecursiveDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/core_memusage.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RecursiveDynamicUsage(const COutPoint& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:21,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:21,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:21,1
    - Dst: scriptWitness::stack::begin
      Src: /src/bitcoin-core/src/core_memusage.h:22,1
    - Dst: scriptWitness::stack::end
      Src: /src/bitcoin-core/src/core_memusage.h:22,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: RecursiveDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/core_memusage.h
    functionUses: 2
    functionsReached:
    - scriptWitness::stack::begin
    - RecursiveDynamicUsage
    - memusage::DynamicUsage
    - scriptWitness::stack::end
    linkageType: ''
    returnType: size_t
    signature: size_t RecursiveDynamicUsage(const CTxIn& in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: RecursiveDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/core_memusage.h
    functionUses: 3
    functionsReached:
    - RecursiveDynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t RecursiveDynamicUsage(const CTxOut& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:33,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:33,1
    - Dst: vin::begin
      Src: /src/bitcoin-core/src/core_memusage.h:34,1
    - Dst: vin::end
      Src: /src/bitcoin-core/src/core_memusage.h:34,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:35,1
    - Dst: vout::begin
      Src: /src/bitcoin-core/src/core_memusage.h:37,1
    - Dst: vout::end
      Src: /src/bitcoin-core/src/core_memusage.h:37,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: RecursiveDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/core_memusage.h
    functionUses: 4
    functionsReached:
    - vout::begin
    - memusage::DynamicUsage
    - RecursiveDynamicUsage
    - vout::end
    - vin::begin
    - vin::end
    linkageType: ''
    returnType: size_t
    signature: size_t RecursiveDynamicUsage(const CTransaction& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:44,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:44,1
    - Dst: vin::begin
      Src: /src/bitcoin-core/src/core_memusage.h:45,1
    - Dst: vin::end
      Src: /src/bitcoin-core/src/core_memusage.h:45,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:46,1
    - Dst: vout::begin
      Src: /src/bitcoin-core/src/core_memusage.h:48,1
    - Dst: vout::end
      Src: /src/bitcoin-core/src/core_memusage.h:48,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: RecursiveDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/core_memusage.h
    functionUses: 5
    functionsReached:
    - vout::begin
    - memusage::DynamicUsage
    - RecursiveDynamicUsage
    - vout::end
    - vin::begin
    - vin::end
    linkageType: ''
    returnType: size_t
    signature: size_t RecursiveDynamicUsage(const CMutableTransaction& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:55,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:57,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - CBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: RecursiveDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/core_memusage.h
    functionUses: 6
    functionsReached:
    - memusage::DynamicUsage
    - RecursiveDynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t RecursiveDynamicUsage(const CBlock& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: RecursiveDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/core_memusage.h
    functionUses: 6
    functionsReached:
    - memusage::DynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t RecursiveDynamicUsage(const CBlockLocator& locator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:68,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/core_memusage.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::shared_ptr<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: RecursiveDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/core_memusage.h
    functionUses: 7
    functionsReached:
    - memusage::DynamicUsage
    - RecursiveDynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t RecursiveDynamicUsage(const std::shared_ptr<X>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash160
      Src: /src/bitcoin-core/src/addresstype.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ScriptHash::ScriptHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - Hash160
    linkageType: ''
    returnType: void
    signature: void ScriptHash::ScriptHash(const CScript& in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - CScriptID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ScriptHash::ScriptHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptHash::ScriptHash(const CScriptID& in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/addresstype.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: PKHash::PKHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - GetID
    linkageType: ''
    returnType: void
    signature: void PKHash::PKHash(const CPubKey& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pubkey_id'
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: PKHash::PKHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKHash::PKHash(const CKeyID& pubkey_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/addresstype.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: WitnessV0KeyHash::WitnessV0KeyHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 2
    functionsReached:
    - GetID
    linkageType: ''
    returnType: void
    signature: void WitnessV0KeyHash::WitnessV0KeyHash(const CPubKey& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pubkey_hash'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: WitnessV0KeyHash::WitnessV0KeyHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessV0KeyHash::WitnessV0KeyHash(const PKHash& pubkey_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ToKeyID
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CKeyID
    signature: CKeyID ToKeyID(const PKHash& key_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ToKeyID
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CKeyID
    signature: CKeyID ToKeyID(const WitnessV0KeyHash& key_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script_hash'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ToScriptID
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptID
    signature: CScriptID ToScriptID(const ScriptHash& script_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/addresstype.cpp:46,1
    - Dst: data
      Src: /src/bitcoin-core/src/addresstype.cpp:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/addresstype.cpp:46,1
    - Dst: begin
      Src: /src/bitcoin-core/src/addresstype.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: WitnessV0ScriptHash::WitnessV0ScriptHash
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 2
    functionsReached:
    - data
    - begin
    - CSHA256
    - size
    linkageType: ''
    returnType: void
    signature: void WitnessV0ScriptHash::WitnessV0ScriptHash(const CScript& in)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/addresstype.cpp:52,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/addresstype.cpp:57,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/addresstype.cpp:58,1
    - Dst: PubKeyDestination
      Src: /src/bitcoin-core/src/addresstype.cpp:60,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/addresstype.cpp:65,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/addresstype.cpp:65,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/addresstype.cpp:69,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/addresstype.cpp:69,1
    - Dst: WitnessV0KeyHash::WitnessV0KeyHash
      Src: /src/bitcoin-core/src/addresstype.cpp:73,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/addresstype.cpp:74,1
    - Dst: begin
      Src: /src/bitcoin-core/src/addresstype.cpp:74,1
    - Dst: end
      Src: /src/bitcoin-core/src/addresstype.cpp:74,1
    - Dst: WitnessV0KeyHash::begin
      Src: /src/bitcoin-core/src/addresstype.cpp:74,1
    - Dst: WitnessV0ScriptHash::WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/addresstype.cpp:79,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/addresstype.cpp:80,1
    - Dst: begin
      Src: /src/bitcoin-core/src/addresstype.cpp:80,1
    - Dst: end
      Src: /src/bitcoin-core/src/addresstype.cpp:80,1
    - Dst: WitnessV0ScriptHash::begin
      Src: /src/bitcoin-core/src/addresstype.cpp:80,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/addresstype.cpp:86,1
    - Dst: begin
      Src: /src/bitcoin-core/src/addresstype.cpp:86,1
    - Dst: end
      Src: /src/bitcoin-core/src/addresstype.cpp:86,1
    - Dst: WitnessV1Taproot::begin
      Src: /src/bitcoin-core/src/addresstype.cpp:86,1
    - Dst: PayToAnchor
      Src: /src/bitcoin-core/src/addresstype.cpp:91,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/addresstype.cpp:101,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addresstype.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 48
    argCount: 2
    argNames:
    - ' scriptPubKey'
    - ' addressRet'
    argTypes:
    - CScript
    - CTxDestination
    assertStmts:
    - condition: (false)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bitcoin-core/src/addresstype.cpp
    constantsTouched: []
    func_position:
      end: 105
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 105
    functionName: ExtractDestination
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::copy
    - uint160
    - ScriptHash
    - CNoDestination
    - WitnessV0KeyHash::WitnessV0KeyHash
    - assert
    - WitnessV0ScriptHash::WitnessV0ScriptHash
    - PayToAnchor
    - WitnessV0ScriptHash::begin
    - Solver
    - PubKeyDestination
    - WitnessV0KeyHash::begin
    - PKHash
    - begin
    - CPubKey::IsValid
    - WitnessV1Taproot::begin
    linkageType: ''
    returnType: bool
    signature: bool ExtractDestination(const CScript& scriptPubKey, CTxDestination&
      addressRet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScript
      Src: /src/bitcoin-core/src/addresstype.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: operator()(const CNoDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - GetScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const CNoDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:118,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:118,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/addresstype.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: operator()(const PubKeyDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - GetPubKey
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const PubKeyDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:123,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keyID'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: operator()(const PKHash& keyID) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const PKHash& keyID) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:128,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' scriptID'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: operator()(const ScriptHash& scriptID) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const ScriptHash& scriptID) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:133,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: operator()(const WitnessV0KeyHash& id) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const WitnessV0KeyHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:138,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: operator()(const WitnessV0ScriptHash& id) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const WitnessV0ScriptHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:143,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tap'
    argTypes:
    - WitnessV1Taproot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: operator()(const WitnessV1Taproot& tap) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const WitnessV1Taproot& tap) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:148,1
    - Dst: CScript::EncodeOP_N
      Src: /src/bitcoin-core/src/addresstype.cpp:148,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/addresstype.cpp:148,1
    - Dst: GetWitnessProgram
      Src: /src/bitcoin-core/src/addresstype.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: operator()(const WitnessUnknown& id) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - CScript::EncodeOP_N
    - GetWitnessProgram
    - GetWitnessVersion
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const WitnessUnknown& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: operator()(const CNoDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CNoDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: operator()(const PubKeyDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const PubKeyDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: operator()(const PKHash& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const PKHash& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: operator()(const ScriptHash& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ScriptHash& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: operator()(const WitnessV0KeyHash& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const WitnessV0KeyHash& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - WitnessV0ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: operator()(const WitnessV0ScriptHash& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const WitnessV0ScriptHash& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - WitnessV1Taproot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: operator()(const WitnessV1Taproot& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const WitnessV1Taproot& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: operator()(const WitnessUnknown& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const WitnessUnknown& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScript
      Src: /src/bitcoin-core/src/addresstype.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: operator()(const CNoDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - GetScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const CNoDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:118,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:118,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/addresstype.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: operator()(const PubKeyDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - GetPubKey
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const PubKeyDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:123,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keyID'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: operator()(const PKHash& keyID) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const PKHash& keyID) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:128,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' scriptID'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: operator()(const ScriptHash& scriptID) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const ScriptHash& scriptID) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:133,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: operator()(const WitnessV0KeyHash& id) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const WitnessV0KeyHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:138,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: operator()(const WitnessV0ScriptHash& id) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const WitnessV0ScriptHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:143,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/addresstype.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tap'
    argTypes:
    - WitnessV1Taproot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: operator()(const WitnessV1Taproot& tap) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const WitnessV1Taproot& tap) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/addresstype.cpp:148,1
    - Dst: CScript::EncodeOP_N
      Src: /src/bitcoin-core/src/addresstype.cpp:148,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/addresstype.cpp:148,1
    - Dst: GetWitnessProgram
      Src: /src/bitcoin-core/src/addresstype.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: operator()(const WitnessUnknown& id) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached:
    - CScript::EncodeOP_N
    - GetWitnessProgram
    - GetWitnessVersion
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript operator()(const WitnessUnknown& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: operator()(const CNoDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CNoDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: operator()(const PubKeyDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const PubKeyDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: operator()(const PKHash& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const PKHash& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: operator()(const ScriptHash& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ScriptHash& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: operator()(const WitnessV0KeyHash& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const WitnessV0KeyHash& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - WitnessV0ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: operator()(const WitnessV0ScriptHash& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const WitnessV0ScriptHash& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - WitnessV1Taproot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: operator()(const WitnessV1Taproot& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const WitnessV1Taproot& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: operator()(const WitnessUnknown& dest) const
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const WitnessUnknown& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/addresstype.cpp:168,1
    - Dst: CScriptVisitor
      Src: /src/bitcoin-core/src/addresstype.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: GetScriptForDestination
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 1
    functionsReached:
    - CScriptVisitor
    - std::visit
    linkageType: ''
    returnType: CScript
    signature: CScript GetScriptForDestination(const CTxDestination& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/addresstype.cpp:172,1
    - Dst: ValidDestinationVisitor
      Src: /src/bitcoin-core/src/addresstype.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: IsValidDestination
    functionSourceFile: /src/bitcoin-core/src/addresstype.cpp
    functionUses: 1
    functionsReached:
    - ValidDestinationVisitor
    - std::visit
    linkageType: ''
    returnType: bool
    signature: bool IsValidDestination(const CTxDestination& dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/undo.h:26,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/undo.h:26,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/undo.h:29,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/undo.h:31,1
    - Dst: Using
      Src: /src/bitcoin-core/src/undo.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - ' txout'
    argTypes:
    - Stream
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/undo.h
    functionUses: 1
    functionsReached:
    - VARINT
    - Using
    - Wrapper::Serialize
    linkageType: ''
    returnType: void
    signature: void Ser(Stream &s, const Coin& txout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/undo.h:37,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/undo.h:37,1
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/undo.h:45,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/undo.h:45,1
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/undo.h:47,1
    - Dst: Using
      Src: /src/bitcoin-core/src/undo.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - ' txout'
    argTypes:
    - Stream
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/undo.h
    functionUses: 1
    functionsReached:
    - VARINT
    - Wrapper::Unserialize
    - Using
    linkageType: ''
    returnType: void
    signature: void Unser(Stream &s, Coin& txout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/undo.h:58,1
    - Dst: Using
      Src: /src/bitcoin-core/src/undo.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: CTxUndo::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/undo.h
    functionUses: 0
    functionsReached:
    - READWRITE
    - Using
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CTxUndo, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/undo.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: CBlockUndo::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/undo.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CBlockUndo, obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/signet.cpp:33,1
    - Dst: clear
      Src: /src/bitcoin-core/src/signet.cpp:35,1
    - Dst: begin
      Src: /src/bitcoin-core/src/signet.cpp:38,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/signet.cpp:40,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/signet.cpp:41,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/signet.cpp:42,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/signet.cpp:42,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/signet.cpp:42,1
    - Dst: first
      Src: /src/bitcoin-core/src/signet.cpp:42,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/signet.cpp:42,1
    - Dst: insert
      Src: /src/bitcoin-core/src/signet.cpp:44,1
    - Dst: end
      Src: /src/bitcoin-core/src/signet.cpp:44,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/signet.cpp:44,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/signet.cpp:44,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/signet.cpp:44,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/signet.cpp:45,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/signet.cpp:45,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/signet.cpp:45,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/signet.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - header
    - ' witness_commitment'
    - ' result'
    argTypes:
    - std::span<const uint8_t>
    - CScript
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: FetchAndClearCommitmentSection
    functionSourceFile: /src/bitcoin-core/src/signet.cpp
    functionUses: 0
    functionsReached:
    - end
    - all_bytes_equal
    - std::vector::end
    - std::vector::erase
    - std::span<const uint8_t>::size
    - insert
    - std::vector::begin
    - clear
    - first
    - GetOp
    - begin
    - std::vector::size
    - CScript::CScript
    linkageType: ''
    returnType: bool
    signature: bool FetchAndClearCommitmentSection(const std::span<const uint8_t>
      header, CScript& witness_commitment, std::vector<uint8_t>& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/signet.cpp:61,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/signet.cpp:61,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/signet.cpp:62,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/signet.cpp:63,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/signet.cpp:64,1
    - Dst: ComputeMerkleRoot
      Src: /src/bitcoin-core/src/signet.cpp:66,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/signet.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' cb'
    - ' block'
    argTypes:
    - CMutableTransaction
    - CBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: ComputeModifiedMerkleRoot
    functionSourceFile: /src/bitcoin-core/src/signet.cpp
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - ComputeMerkleRoot
    - GetHash
    - std::move
    - vtx::size
    linkageType: ''
    returnType: uint256
    signature: uint256 ComputeModifiedMerkleRoot(const CMutableTransaction& cb, const
      CBlock& block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/signet.cpp:71,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/signet.cpp:74,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/signet.cpp:74,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/signet.cpp:74,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/signet.cpp:75,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/signet.cpp:77,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/signet.cpp:80,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/signet.cpp:80,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/signet.cpp:80,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/signet.cpp:81,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/signet.cpp:81,1
    - Dst: vtx::empty
      Src: /src/bitcoin-core/src/signet.cpp:87,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/signet.cpp:88,1
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/signet.cpp:90,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/signet.cpp:95,1
    - Dst: FetchAndClearCommitmentSection
      Src: /src/bitcoin-core/src/signet.cpp:98,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/signet.cpp:105,1
    - Dst: ComputeModifiedMerkleRoot
      Src: /src/bitcoin-core/src/signet.cpp:110,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/signet.cpp:119,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/signet.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - ' block'
    - ' challenge'
    argTypes:
    - CBlock
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 122
    functionName: SignetTxs::Create
    functionSourceFile: /src/bitcoin-core/src/signet.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessCommitmentIndex
    - vtx::empty
    - CMutableTransaction::vout::at
    - ComputeModifiedMerkleRoot
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - FetchAndClearCommitmentSection
    - CMutableTransaction::GetHash
    - CScript
    - CMutableTransaction::vin::emplace_back
    - vtx::at
    - SpanReader::empty
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: std::optional<SignetTxs>
    signature: std::optional<SignetTxs> SignetTxs::Create(const CBlock& block, const
      CScript& challenge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/signet.cpp:127,1
    - Dst: signet_challenge::begin
      Src: /src/bitcoin-core/src/signet.cpp:132,1
    - Dst: signet_challenge::end
      Src: /src/bitcoin-core/src/signet.cpp:132,1
    - Dst: SignetTxs::Create
      Src: /src/bitcoin-core/src/signet.cpp:133,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/signet.cpp:136,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/signet.cpp:143,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/signet.cpp:144,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/signet.cpp:147,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/signet.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' block'
    - ' consensusParams'
    argTypes:
    - CBlock
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 152
    functionName: CheckSignetBlockSolution
    functionSourceFile: /src/bitcoin-core/src/signet.cpp
    functionUses: 0
    functionsReached:
    - VerifyScript
    - LogDebug
    - GetHash
    - signet_challenge::begin
    - PrecomputedTransactionData::Init
    - SignetTxs::Create
    - PrecomputedTransactionData::PrecomputedTransactionData
    - signet_challenge::end
    linkageType: ''
    returnType: bool
    signature: bool CheckSignetBlockSolution(const CBlock& block, const Consensus::Params&
      consensusParams)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/deploymentinfo.cpp:24,1
    - Dst: ValidDeployment
      Src: /src/bitcoin-core/src/deploymentinfo.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - dep
    argTypes:
    - Consensus::BuriedDeployment
    assertStmts:
    - condition: (ValidDeployment(dep))
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/deploymentinfo.cpp
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: DeploymentName
    functionSourceFile: /src/bitcoin-core/src/deploymentinfo.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ValidDeployment
    linkageType: ''
    returnType: std::string
    signature: std::string DeploymentName(Consensus::BuriedDeployment dep)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: GetBuriedDeployment
    functionSourceFile: /src/bitcoin-core/src/deploymentinfo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Consensus::BuriedDeployment>
    signature: std::optional<Consensus::BuriedDeployment> GetBuriedDeployment(const
      std::string_view name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - shift
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: '& base_uint<BITS>::operator<<=(unsigned int shift)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator<<=(unsigned int shift)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - shift
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: '& base_uint<BITS>::operator>>=(unsigned int shift)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator>>=(unsigned int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b32
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: '& base_uint<BITS>::operator*=(uint32_t b32)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator*=(uint32_t b32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/bitcoin-core/src/arith_uint256.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: '& base_uint<BITS>::operator*=(const base_uint& b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator*=(const base_uint& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::bits
      Src: /src/bitcoin-core/src/arith_uint256.cpp:81,1
    - Dst: base_uint::bits
      Src: /src/bitcoin-core/src/arith_uint256.cpp:82,1
    - Dst: uint_error
      Src: /src/bitcoin-core/src/arith_uint256.cpp:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: '& base_uint<BITS>::operator/=(const base_uint& b)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_uint::bits
    - uint_error
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator/=(const base_uint& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint<BITS>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: base_uint<BITS>::CompareTo
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int base_uint<BITS>::CompareTo(const base_uint<BITS>& b) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: base_uint<BITS>::EqualTo
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool base_uint<BITS>::EqualTo(uint64_t b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: base_uint<BITS>::getdouble
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double base_uint<BITS>::getdouble() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_blob::base_blob
      Src: /src/bitcoin-core/src/arith_uint256.cpp:142,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/arith_uint256.cpp:144,1
    - Dst: base_blob::begin
      Src: /src/bitcoin-core/src/arith_uint256.cpp:144,1
    - Dst: base_blob::GetHex
      Src: /src/bitcoin-core/src/arith_uint256.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: base_uint<BITS>::GetHex
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_blob::base_blob
    - base_blob::GetHex
    - WriteLE32
    - base_blob::begin
    linkageType: ''
    returnType: std::string
    signature: std::string base_uint<BITS>::GetHex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_uint<BITS>::GetHex
      Src: /src/bitcoin-core/src/arith_uint256.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: base_uint<BITS>::ToString
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_uint<BITS>::GetHex
    linkageType: ''
    returnType: std::string
    signature: std::string base_uint<BITS>::ToString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: base_uint<BITS>::bits
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int base_uint<BITS>::bits() const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - nCompact
    - pfNegative
    - pfOverflow
    argTypes:
    - uint32_t
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: '& arith_uint256::SetCompact(uint32_t nCompact, bool* pfNegative,
      bool* pfOverflow)'
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 & arith_uint256::SetCompact(uint32_t nCompact, bool*
      pfNegative, bool* pfOverflow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/bitcoin-core/src/arith_uint256.cpp:197,1
    - Dst: GetLow64
      Src: /src/bitcoin-core/src/arith_uint256.cpp:200,1
    - Dst: arith_uint256::GetLow64
      Src: /src/bitcoin-core/src/arith_uint256.cpp:203,1
    - Dst: assert
      Src: /src/bitcoin-core/src/arith_uint256.cpp:211,1
    - Dst: assert
      Src: /src/bitcoin-core/src/arith_uint256.cpp:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - fNegative
    argTypes:
    - bool
    assertStmts:
    - condition: ((nCompact & ~0x007fffffU) == 0)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bitcoin-core/src/arith_uint256.cpp
    - condition: (nSize < 256)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/bitcoin-core/src/arith_uint256.cpp
    constantsTouched: []
    func_position:
      end: 216
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 216
    functionName: arith_uint256::GetCompact
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - GetLow64
    - assert
    - bits
    - arith_uint256::GetLow64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t arith_uint256::GetCompact(bool fNegative) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/arith_uint256.cpp:220,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/arith_uint256.cpp:222,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/arith_uint256.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - arith_uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: ArithToUint256
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - uint256::begin
    - WriteLE32
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 ArithToUint256(const arith_uint256 &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/arith_uint256.cpp:227,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/arith_uint256.cpp:229,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/arith_uint256.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: UintToArith256
    functionSourceFile: /src/bitcoin-core/src/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - arith_uint256::arith_uint256
    - uint256::begin
    - ReadLE32
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 UintToArith256(const uint256 &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: bech32::DecodeResult
    functionSourceFile: /src/bitcoin-core/src/bech32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DecodeResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.h:53,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.h:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - enc
    - ' h'
    - ' d'
    argTypes:
    - Encoding
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: bech32::DecodeResult
    functionSourceFile: /src/bitcoin-core/src/bech32.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DecodeResult(Encoding enc, std::string&& h, std::vector<uint8_t>&&
      d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: bech32::DecodeResult
    functionSourceFile: /src/bitcoin-core/src/bech32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DecodeResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.h:53,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bech32.h:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - enc
    - ' h'
    - ' d'
    argTypes:
    - Encoding
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: bech32::DecodeResult
    functionSourceFile: /src/bitcoin-core/src/bech32.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DecodeResult(Encoding enc, std::string&& h, std::vector<uint8_t>&&
      d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest
      Src: /src/bitcoin-core/src/pubkey.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: Secp256k1SelfTester
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_selftest
    linkageType: ''
    returnType: void
    signature: void Secp256k1SelfTester()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest
      Src: /src/bitcoin-core/src/pubkey.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: Secp256k1SelfTester
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_selftest
    linkageType: ''
    returnType: void
    signature: void Secp256k1SelfTester()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/pubkey.cpp:53,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:160,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:172,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/pubkey.cpp:176,1
    - Dst: memset
      Src: /src/bitcoin-core/src/pubkey.cpp:181,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/pubkey.cpp:182,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 3
    argNames:
    - sig
    - input
    - inputlen
    argTypes:
    - secp256k1_ecdsa_signature*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 185
    functionName: ecdsa_signature_parse_der_lax
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 1
    functionsReached:
    - memset
    - secp256k1_ecdsa_signature_parse_compact
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ecdsa_signature_parse_der_lax(secp256k1_ecdsa_signature* sig, const
      unsigned char *input, size_t inputlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/bitcoin-core/src/pubkey.cpp:204,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:204,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/pubkey.cpp:204,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/pubkey.cpp:205,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/pubkey.cpp:206,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/pubkey.cpp:207,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/pubkey.cpp:209,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/pubkey.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: XOnlyPubKey::GetCPubKeys
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - XOnlyPubKey::begin
    - std::copy
    - CPubKey::Set
    - XOnlyPubKey::end
    - std::vector::push_back
    - CPubKey::CPubKey
    linkageType: ''
    returnType: std::vector<CPubKey>
    signature: std::vector<CPubKey> XOnlyPubKey::GetCPubKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::GetCPubKeys
      Src: /src/bitcoin-core/src/pubkey.cpp:217,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/pubkey.cpp:218,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/pubkey.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: XOnlyPubKey::GetKeyIDs
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - XOnlyPubKey::GetCPubKeys
    - GetID
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<CKeyID>
    signature: std::vector<CKeyID> XOnlyPubKey::GetKeyIDs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/bitcoin-core/src/pubkey.cpp:226,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:226,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/pubkey.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: XOnlyPubKey::GetEvenCorrespondingCPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - XOnlyPubKey::begin
    - std::copy
    - XOnlyPubKey::end
    linkageType: ''
    returnType: CPubKey
    signature: CPubKey XOnlyPubKey::GetEvenCorrespondingCPubKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/pubkey.cpp:233,1
    - Dst: XOnlyPubKey::data
      Src: /src/bitcoin-core/src/pubkey.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: XOnlyPubKey::IsFullyValid
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - XOnlyPubKey::data
    - secp256k1_xonly_pubkey_parse
    linkageType: ''
    returnType: bool
    signature: bool XOnlyPubKey::IsFullyValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/pubkey.cpp:238,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/pubkey.cpp:238,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/pubkey.cpp:240,1
    - Dst: XOnlyPubKey::data
      Src: /src/bitcoin-core/src/pubkey.cpp:240,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/pubkey.cpp:241,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/pubkey.cpp:241,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' msg'
    - sigbytes
    argTypes:
    - uint256
    - std::span<const unsigned char>
    assertStmts:
    - condition: (sigbytes.size() == 64)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/bitcoin-core/src/pubkey.cpp
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: XOnlyPubKey::VerifySchnorr
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - XOnlyPubKey::begin
    - XOnlyPubKey::data
    - secp256k1_xonly_pubkey_parse
    - std::span<const unsigned char>::data
    - secp256k1_schnorrsig_verify
    - assert
    linkageType: ''
    returnType: bool
    signature: bool XOnlyPubKey::VerifySchnorr(const uint256& msg, std::span<const
      unsigned char> sigbytes) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/pubkey.cpp:251,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/pubkey.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - merkle_root
    argTypes:
    - uint256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: XOnlyPubKey::ComputeTapTweakHash
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 XOnlyPubKey::ComputeTapTweakHash(const uint256* merkle_root)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/pubkey.cpp:260,1
    - Dst: XOnlyPubKey::data
      Src: /src/bitcoin-core/src/pubkey.cpp:260,1
    - Dst: XOnlyPubKey::ComputeTapTweakHash
      Src: /src/bitcoin-core/src/pubkey.cpp:261,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/pubkey.cpp:262,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:262,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' internal'
    - ' merkle_root'
    - parity
    argTypes:
    - XOnlyPubKey
    - uint256
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: XOnlyPubKey::CheckTapTweak
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - XOnlyPubKey::begin
    - XOnlyPubKey::data
    - secp256k1_xonly_pubkey_parse
    - XOnlyPubKey::ComputeTapTweakHash
    - uint256::begin
    - secp256k1_xonly_pubkey_tweak_add_check
    linkageType: ''
    returnType: bool
    signature: bool XOnlyPubKey::CheckTapTweak(const XOnlyPubKey& internal, const
      uint256& merkle_root, bool parity) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/pubkey.cpp:268,1
    - Dst: XOnlyPubKey::data
      Src: /src/bitcoin-core/src/pubkey.cpp:268,1
    - Dst: XOnlyPubKey::ComputeTapTweakHash
      Src: /src/bitcoin-core/src/pubkey.cpp:270,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/pubkey.cpp:271,1
    - Dst: uint256::data
      Src: /src/bitcoin-core/src/pubkey.cpp:271,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/pubkey.cpp:275,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/pubkey.cpp:276,1
    - Dst: std::pair::first::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:276,1
    - Dst: assert
      Src: /src/bitcoin-core/src/pubkey.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - merkle_root
    argTypes:
    - uint256*
    assertStmts:
    - condition: (parity == 0 || parity == 1)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/bitcoin-core/src/pubkey.cpp
    constantsTouched: []
    func_position:
      end: 280
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 280
    functionName: XOnlyPubKey::CreateTapTweak
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - XOnlyPubKey::data
    - std::pair::first::begin
    - secp256k1_xonly_pubkey_parse
    - XOnlyPubKey::ComputeTapTweakHash
    - secp256k1_xonly_pubkey_from_pubkey
    - secp256k1_xonly_pubkey_tweak_add
    - assert
    - uint256::data
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: std::optional<std::pair<XOnlyPubKey, bool>>
    signature: std::optional<std::pair<XOnlyPubKey, bool>> XOnlyPubKey::CreateTapTweak(const
      uint256* merkle_root) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/pubkey.cpp:284,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/pubkey.cpp:288,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.cpp:288,1
    - Dst: ecdsa_signature_parse_der_lax
      Src: /src/bitcoin-core/src/pubkey.cpp:291,1
    - Dst: CPubKey::data
      Src: /src/bitcoin-core/src/pubkey.cpp:291,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.cpp:291,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/bitcoin-core/src/pubkey.cpp:296,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/pubkey.cpp:297,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hash
    - ' vchSig'
    argTypes:
    - uint256
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 298
    functionName: CPubKey::Verify
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_verify
    - CPubKey::size
    - secp256k1_ecdsa_signature_normalize
    - uint256::begin
    - secp256k1_ec_pubkey_parse
    - ecdsa_signature_parse_der_lax
    - CPubKey::IsValid
    - CPubKey::data
    linkageType: ''
    returnType: bool
    signature: bool CPubKey::Verify(const uint256 &hash, const std::vector<unsigned
      char>& vchSig) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.cpp:301,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/pubkey.cpp:307,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/pubkey.cpp:310,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:310,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/pubkey.cpp:315,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/pubkey.cpp:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - hash
    - ' vchSig'
    argTypes:
    - uint256
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 318
    functionName: CPubKey::RecoverCompact
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::size
    - CPubKey::Set
    - uint256::begin
    - secp256k1_ecdsa_recover
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    linkageType: ''
    returnType: bool
    signature: bool CPubKey::RecoverCompact(const uint256 &hash, const std::vector<unsigned
      char>& vchSig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/pubkey.cpp:321,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/pubkey.cpp:324,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: CPubKey::IsFullyValid
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 2
    functionsReached:
    - secp256k1_ec_pubkey_parse
    - CPubKey::size
    - CPubKey::IsValid
    linkageType: ''
    returnType: bool
    signature: bool CPubKey::IsFullyValid() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/pubkey.cpp:328,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/pubkey.cpp:331,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.cpp:331,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/pubkey.cpp:336,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/pubkey.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: CPubKey::Decompress
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::size
    - CPubKey::Set
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ec_pubkey_parse
    - CPubKey::IsValid
    linkageType: ''
    returnType: bool
    signature: bool CPubKey::Decompress()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/pubkey.cpp:342,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/pubkey.cpp:342,1
    - Dst: assert
      Src: /src/bitcoin-core/src/pubkey.cpp:343,1
    - Dst: assert
      Src: /src/bitcoin-core/src/pubkey.cpp:344,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.cpp:344,1
    - Dst: BIP32Hash
      Src: /src/bitcoin-core/src/pubkey.cpp:346,1
    - Dst: CPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:346,1
    - Dst: CPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:346,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:347,1
    - Dst: ChainCode::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:347,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/pubkey.cpp:349,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.cpp:349,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/pubkey.cpp:352,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/pubkey.cpp:357,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/pubkey.cpp:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ' pubkeyChild'
    - ccChild
    - nChild
    - ' cc'
    argTypes:
    - CPubKey
    - ChainCode
    - unsigned int
    - ChainCode
    assertStmts:
    - condition: (IsValid())
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/bitcoin-core/src/pubkey.cpp
    - condition: ((nChild >> 31) == 0)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/bitcoin-core/src/pubkey.cpp
    - condition: (size() == COMPRESSED_SIZE)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/bitcoin-core/src/pubkey.cpp
    constantsTouched: []
    func_position:
      end: 360
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 360
    functionName: CPubKey::Derive
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::size
    - CPubKey::IsValid
    - CPubKey::Set
    - secp256k1_ec_pubkey_serialize
    - memcpy
    - BIP32Hash
    - secp256k1_ec_pubkey_tweak_add
    - ChainCode::begin
    - secp256k1_ec_pubkey_parse
    - assert
    - CPubKey::begin
    linkageType: ''
    returnType: bool
    signature: bool CPubKey::Derive(CPubKey& pubkeyChild, ChainCode &ccChild, unsigned
      int nChild, const ChainCode& cc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/pubkey.cpp:364,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/pubkey.cpp:364,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/pubkey.cpp:365,1
    - Dst: std::span<const std::byte>::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:365,1
    - Dst: std::span<const std::byte>::end
      Src: /src/bitcoin-core/src/pubkey.cpp:365,1
    - Dst: begin
      Src: /src/bitcoin-core/src/pubkey.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ellswift
    argTypes:
    - std::span<const std::byte>
    assertStmts:
    - condition: (ellswift.size() == SIZE)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/bitcoin-core/src/pubkey.cpp
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: EllSwiftPubKey::EllSwiftPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::span<const std::byte>::size
    - std::span<const std::byte>::begin
    - std::span<const std::byte>::end
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void EllSwiftPubKey::EllSwiftPubKey(std::span<const std::byte> ellswift)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_decode
      Src: /src/bitcoin-core/src/pubkey.cpp:371,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/pubkey.cpp:371,1
    - Dst: data
      Src: /src/bitcoin-core/src/pubkey.cpp:371,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/pubkey.cpp:376,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/pubkey.cpp:376,1
    - Dst: assert
      Src: /src/bitcoin-core/src/pubkey.cpp:377,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/pubkey.cpp:377,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/pubkey.cpp:379,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/pubkey.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sz == vch_bytes.size())
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/bitcoin-core/src/pubkey.cpp
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: EllSwiftPubKey::Decode
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - UCharCast
    - std::array::data
    - secp256k1_ec_pubkey_serialize
    - data
    - std::array::size
    - std::array::begin
    - std::array::end
    - secp256k1_ellswift_decode
    - assert
    linkageType: ''
    returnType: CPubKey
    signature: CPubKey EllSwiftPubKey::Decode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:384,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/pubkey.cpp:385,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:386,1
    - Dst: begin
      Src: /src/bitcoin-core/src/pubkey.cpp:386,1
    - Dst: assert
      Src: /src/bitcoin-core/src/pubkey.cpp:387,1
    - Dst: size
      Src: /src/bitcoin-core/src/pubkey.cpp:387,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:388,1
    - Dst: begin
      Src: /src/bitcoin-core/src/pubkey.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - unsigned char[]
    assertStmts:
    - condition: (pubkey.size() == CPubKey::COMPRESSED_SIZE)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/bitcoin-core/src/pubkey.cpp
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: CExtPubKey::Encode
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcpy
    - assert
    - begin
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void CExtPubKey::Encode(unsigned char code[BIP32_EXTKEY_SIZE]) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:393,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/pubkey.cpp:394,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:395,1
    - Dst: begin
      Src: /src/bitcoin-core/src/pubkey.cpp:395,1
    - Dst: Set
      Src: /src/bitcoin-core/src/pubkey.cpp:396,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/pubkey.cpp:397,1
    - Dst: IsFullyValid
      Src: /src/bitcoin-core/src/pubkey.cpp:397,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/pubkey.cpp:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - code
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: CExtPubKey::Decode
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 1
    functionsReached:
    - ReadLE32
    - ReadBE32
    - memcpy
    - Set
    - IsFullyValid
    - CPubKey
    - begin
    linkageType: ''
    returnType: void
    signature: void CExtPubKey::Decode(const unsigned char code[BIP32_EXTKEY_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:402,1
    - Dst: CExtPubKey::Encode
      Src: /src/bitcoin-core/src/pubkey.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: CExtPubKey::EncodeWithVersion
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - CExtPubKey::Encode
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CExtPubKey::EncodeWithVersion(unsigned char code[BIP32_EXTKEY_WITH_VERSION_SIZE])
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:408,1
    - Dst: CExtPubKey::Decode
      Src: /src/bitcoin-core/src/pubkey.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: CExtPubKey::DecodeWithVersion
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 1
    functionsReached:
    - CExtPubKey::Decode
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CExtPubKey::DecodeWithVersion(const unsigned char code[BIP32_EXTKEY_WITH_VERSION_SIZE])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/pubkey.cpp:413,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/pubkey.cpp:415,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.cpp:416,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/pubkey.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - _nChild
    argTypes:
    - CExtPubKey
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: CExtPubKey::Derive
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - RandomMixin::max
    - CExtPubKey::Derive
    - GetID
    linkageType: ''
    returnType: bool
    signature: bool CExtPubKey::Derive(CExtPubKey &out, unsigned int _nChild) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_signature_parse_der_lax
      Src: /src/bitcoin-core/src/pubkey.cpp:423,1
    - Dst: CPubKey::data
      Src: /src/bitcoin-core/src/pubkey.cpp:423,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.cpp:423,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/bitcoin-core/src/pubkey.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' vchSig'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: CPubKey::CheckLowS
    functionSourceFile: /src/bitcoin-core/src/pubkey.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_signature_normalize
    - ecdsa_signature_parse_der_lax
    - CPubKey::size
    - CPubKey::data
    linkageType: ''
    returnType: bool
    signature: bool CPubKey::CheckLowS(const std::vector<unsigned char>& vchSig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: AbstractThresholdConditionChecker::MinActivationHeight
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MinActivationHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~AbstractThresholdConditionChecker()
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractThresholdConditionChecker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: VersionBitsConditionChecker::BeginTime
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t BeginTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: VersionBitsConditionChecker::EndTime
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t EndTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: VersionBitsConditionChecker::MinActivationHeight
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MinActivationHeight() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: VersionBitsConditionChecker::Period
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Period() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: VersionBitsConditionChecker::Threshold
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Threshold() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VersionBitsConditionChecker::Condition
      Src: /src/bitcoin-core/src/versionbits_impl.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: VersionBitsConditionChecker::Condition
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 1
    functionsReached:
    - VersionBitsConditionChecker::Condition
    linkageType: ''
    returnType: bool
    signature: bool Condition(const CBlockIndex* pindex) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' dep'
    argTypes:
    - Consensus::BIP9Deployment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: VersionBitsConditionChecker::VersionBitsConditionChecker
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionBitsConditionChecker(const Consensus::BIP9Deployment& dep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' params'
    - id
    argTypes:
    - Consensus::Params
    - Consensus::DeploymentPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: VersionBitsConditionChecker::VersionBitsConditionChecker
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionBitsConditionChecker(const Consensus::Params& params, Consensus::DeploymentPos
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: VersionBitsConditionChecker::Mask
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Mask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VersionBitsConditionChecker::Mask
      Src: /src/bitcoin-core/src/versionbits_impl.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nVersion
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: VersionBitsConditionChecker::Condition
    functionSourceFile: /src/bitcoin-core/src/versionbits_impl.h
    functionUses: 1
    functionsReached:
    - VersionBitsConditionChecker::Mask
    linkageType: ''
    returnType: bool
    signature: bool Condition(int32_t nVersion) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: GCSFilter::Params
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Params(uint64_t siphash_k0 = 0, uint64_t siphash_k1 = 0, uint8_t
      P = 0, uint32_t M = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: GCSFilter::GetN
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetN() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& GetParams() const'
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Params
    signature: Params & GetParams() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& GetEncoded() const'
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> & GetEncoded() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: BlockFilter::BlockFilter
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: BlockFilter::GetFilterType
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockFilterType
    signature: BlockFilterType GetFilterType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: '& GetBlockHash() const'
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint256
    signature: uint256 & GetBlockHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '& GetFilter() const'
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GCSFilter
    signature: GCSFilter & GetFilter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEncoded
      Src: /src/bitcoin-core/src/blockfilter.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: '& GetEncodedFilter() const'
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached:
    - GetEncoded
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> & GetEncodedFilter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/blockfilter.h:151,1
    - Dst: GetEncoded
      Src: /src/bitcoin-core/src/blockfilter.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: BlockFilter::Serialize
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - GetEncoded
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BlockFilterType>
      Src: /src/bitcoin-core/src/blockfilter.h:165,1
    - Dst: BlockFilter::BuildParams
      Src: /src/bitcoin-core/src/blockfilter.h:168,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/blockfilter.h:169,1
    - Dst: GCSFilter
      Src: /src/bitcoin-core/src/blockfilter.h:171,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/blockfilter.h:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: BlockFilter::Unserialize
    functionSourceFile: /src/bitcoin-core/src/blockfilter.h
    functionUses: 0
    functionsReached:
    - static_cast<BlockFilterType>
    - BlockFilter::BuildParams
    - std::ios_base::failure
    - std::move
    - GCSFilter
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: dbwrapper_error::dbwrapper_error
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dbwrapper_error(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/dbwrapper.h:98,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/dbwrapper.h:99,1
    - Dst: CDBBatch::WriteImpl
      Src: /src/bitcoin-core/src/dbwrapper.h:102,1
    - Dst: clear
      Src: /src/bitcoin-core/src/dbwrapper.h:103,1
    - Dst: clear
      Src: /src/bitcoin-core/src/dbwrapper.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - K
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: CDBBatch::Write
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached:
    - reserve
    - CDBBatch::WriteImpl
    - clear
    linkageType: ''
    returnType: void
    signature: void Write(const K& key, const V& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/dbwrapper.h:110,1
    - Dst: CDBBatch::EraseImpl
      Src: /src/bitcoin-core/src/dbwrapper.h:112,1
    - Dst: clear
      Src: /src/bitcoin-core/src/dbwrapper.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: CDBBatch::Erase
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached:
    - reserve
    - CDBBatch::EraseImpl
    - clear
    linkageType: ''
    returnType: void
    signature: void Erase(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/dbwrapper.h:147,1
    - Dst: CDBIterator::SeekImpl
      Src: /src/bitcoin-core/src/dbwrapper.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: CDBIterator::Seek
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached:
    - CDBIterator::SeekImpl
    - DataStream::reserve
    linkageType: ''
    returnType: void
    signature: void Seek(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CDBIterator::GetKeyImpl
      Src: /src/bitcoin-core/src/dbwrapper.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: CDBIterator::GetKey
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached:
    - CDBIterator::GetKeyImpl
    linkageType: ''
    returnType: bool
    signature: bool GetKey(K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CDBIterator::GetValueImpl
      Src: /src/bitcoin-core/src/dbwrapper.h:166,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/dbwrapper.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: CDBIterator::GetValue
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached:
    - CDBIterator::GetValueImpl
    - dbwrapper_private::GetObfuscation
    linkageType: ''
    returnType: bool
    signature: bool GetValue(V& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/dbwrapper.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: '& DBContext() const'
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: auto
    signature: auto & DBContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: CDBWrapper::CDBWrapper
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CDBWrapper(const CDBWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '& operator=(const CDBWrapper&)'
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CDBWrapper
    signature: CDBWrapper & operator=(const CDBWrapper&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/dbwrapper.h:216,1
    - Dst: CDBWrapper::ReadImpl
      Src: /src/bitcoin-core/src/dbwrapper.h:218,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/dbwrapper.h:223,1
    - Dst: m_obfuscation
      Src: /src/bitcoin-core/src/dbwrapper.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - K
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: CDBWrapper::Read
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 1
    functionsReached:
    - m_obfuscation
    - CDBWrapper::ReadImpl
    - MakeByteSpan
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Read(const K& key, V& value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/dbwrapper.h:236,1
    - Dst: CDBWrapper::WriteBatch
      Src: /src/bitcoin-core/src/dbwrapper.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - K
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: CDBWrapper::Write
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 2
    functionsReached:
    - CDBBatch::Write
    - CDBWrapper::WriteBatch
    linkageType: ''
    returnType: bool
    signature: bool Write(const K& key, const V& value, bool fSync = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: CDBWrapper::StoragePath
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<fs::path>
    signature: std::optional<fs::path> StoragePath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/dbwrapper.h:252,1
    - Dst: CDBWrapper::ExistsImpl
      Src: /src/bitcoin-core/src/dbwrapper.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: CDBWrapper::Exists
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached:
    - CDBWrapper::ExistsImpl
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Exists(const K& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CDBBatch::Erase
      Src: /src/bitcoin-core/src/dbwrapper.h:261,1
    - Dst: CDBWrapper::WriteBatch
      Src: /src/bitcoin-core/src/dbwrapper.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: CDBWrapper::Erase
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached:
    - CDBBatch::Erase
    - CDBWrapper::WriteBatch
    linkageType: ''
    returnType: bool
    signature: bool Erase(const K& key, bool fSync = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/dbwrapper.h:281,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/dbwrapper.h:282,1
    - Dst: CDBWrapper::EstimateSizeImpl
      Src: /src/bitcoin-core/src/dbwrapper.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' key_begin'
    - ' key_end'
    argTypes:
    - K
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: CDBWrapper::EstimateSize
    functionSourceFile: /src/bitcoin-core/src/dbwrapper.h
    functionUses: 0
    functionsReached:
    - CDBWrapper::EstimateSizeImpl
    - reserve
    - DataStream::reserve
    linkageType: ''
    returnType: size_t
    signature: size_t EstimateSize(const K& key_begin, const K& key_end) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acquire
      Src: /src/bitcoin-core/src/semaphore_grant.h:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: CountingSemaphoreGrant::Acquire
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached:
    - acquire
    linkageType: ''
    returnType: void
    signature: void Acquire() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/bitcoin-core/src/semaphore_grant.h:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: CountingSemaphoreGrant::Release
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void Release() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: try_acquire
      Src: /src/bitcoin-core/src/semaphore_grant.h:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: CountingSemaphoreGrant::TryAcquire
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached:
    - try_acquire
    linkageType: ''
    returnType: bool
    signature: bool TryAcquire() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: CountingSemaphoreGrant::CountingSemaphoreGrant
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CountingSemaphoreGrant(const CountingSemaphoreGrant&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(const CountingSemaphoreGrant&)'
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CountingSemaphoreGrant
    signature: CountingSemaphoreGrant & operator=(const CountingSemaphoreGrant&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CountingSemaphoreGrant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: CountingSemaphoreGrant::CountingSemaphoreGrant
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CountingSemaphoreGrant(CountingSemaphoreGrant&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/bitcoin-core/src/semaphore_grant.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CountingSemaphoreGrant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: '& operator=(CountingSemaphoreGrant&& other) noexcept'
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: CountingSemaphoreGrant
    signature: CountingSemaphoreGrant & operator=(CountingSemaphoreGrant&& other)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: CountingSemaphoreGrant::CountingSemaphoreGrant
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CountingSemaphoreGrant() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CountingSemaphoreGrant::TryAcquire
      Src: /src/bitcoin-core/src/semaphore_grant.h:74,1
    - Dst: CountingSemaphoreGrant::Acquire
      Src: /src/bitcoin-core/src/semaphore_grant.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sema'
    argTypes:
    - std::counting_semaphore<LeastMaxValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: CountingSemaphoreGrant::CountingSemaphoreGrant
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached:
    - CountingSemaphoreGrant::TryAcquire
    - CountingSemaphoreGrant::Acquire
    linkageType: ''
    returnType: void
    signature: void CountingSemaphoreGrant(std::counting_semaphore<LeastMaxValue>&
      sema, bool fTry = false) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/bitcoin-core/src/semaphore_grant.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: ~CountingSemaphoreGrant()
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~CountingSemaphoreGrant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: operator bool() const noexcept
    functionSourceFile: /src/bitcoin-core/src/semaphore_grant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T&>
      Src: /src/bitcoin-core/src/random.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: '& Impl() noexcept'
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - static_cast<T&>
    linkageType: ''
    returnType: RandomNumberGenerator auto
    signature: RandomNumberGenerator auto & Impl() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: RandomMixin::FlushCache
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlushCache() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: RandomMixin::RandomMixin
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomMixin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: RandomMixin::RandomMixin
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomMixin(const RandomMixin&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: '& operator=(const RandomMixin&)'
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomMixin
    signature: RandomMixin & operator=(const RandomMixin&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: RandomMixin::RandomMixin
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomMixin(RandomMixin&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: '& operator=(RandomMixin&&)'
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomMixin
    signature: RandomMixin & operator=(RandomMixin&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/random.h:206,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:208,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: RandomMixin::randbits
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    - Assume
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t randbits(int bits) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:234,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 250
    functionName: RandomMixin::randbits
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t randbits() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/random.h:256,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/random.h:256,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/random.h:257,1
    - Dst: std::bit_width
      Src: /src/bitcoin-core/src/random.h:259,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - range
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: RandomMixin::randrange
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    - RandomMixin::max
    - Assume
    - std::bit_width
    linkageType: ''
    returnType: I
    signature: I randrange(I range) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/random.h:269,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:270,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/random.h:271,1
    - Dst: std::span<std::byte>::data
      Src: /src/bitcoin-core/src/random.h:271,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/random.h:272,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/random.h:274,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:275,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/random.h:276,1
    - Dst: std::span<std::byte>::data
      Src: /src/bitcoin-core/src/random.h:276,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/random.h:277,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/random.h:279,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/random.h:280,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:280,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/random.h:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - span
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: RandomMixin::fillrand
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    - std::span<std::byte>::size
    - std::span<std::byte>::data
    - WriteLE64
    - WriteLE32
    - std::byte
    - std::span<std::byte>::subspan
    linkageType: ''
    returnType: void
    signature: void fillrand(std::span<std::byte> span) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/random.h:289,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/random.h:289,1
    - Dst: std::bit_width
      Src: /src/bitcoin-core/src/random.h:290,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/random.h:290,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/random.h:291,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/random.h:291,1
    - Dst: I
      Src: /src/bitcoin-core/src/random.h:292,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: RandomMixin::rand
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - I
    - Impl
    - RandomMixin::max
    - std::bit_width
    linkageType: ''
    returnType: I
    signature: I rand() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:300,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/random.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: RandomMixin::randbytes
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - MakeWritableByteSpan
    - Impl
    linkageType: ''
    returnType: std::vector<B>
    signature: std::vector<B> randbytes(size_t len) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:309,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/random.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: RandomMixin::randbytes
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - MakeWritableByteSpan
    - Impl
    linkageType: ''
    returnType: std::array<B, N>
    signature: std::array<B, N> randbytes() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: RandomMixin::rand32
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rand32() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/random.h:319,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:320,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/random.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: RandomMixin::rand256
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - MakeWritableByteSpan
    - Impl
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 rand256() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: RandomMixin::randbool
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    linkageType: ''
    returnType: bool
    signature: bool randbool() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' time'
    - range
    argTypes:
    - Tp
    - typename Tp::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: RandomMixin::rand_uniform_delay
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    linkageType: ''
    returnType: Tp
    signature: Tp rand_uniform_delay(const Tp& time, typename Tp::duration range)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Chrono::duration::count
      Src: /src/bitcoin-core/src/random.h:339,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:339,1
    - Dst: typename Chrono::duration::count
      Src: /src/bitcoin-core/src/random.h:339,1
    - Dst: typename Chrono::duration::count
      Src: /src/bitcoin-core/src/random.h:340,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:340,1
    - Dst: typename Chrono::duration::count
      Src: /src/bitcoin-core/src/random.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - range
    argTypes:
    - typename Chrono::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: RandomMixin::rand_uniform_duration
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    - typename Chrono::duration::count
    linkageType: ''
    returnType: typename Chrono::duration
    signature: typename Chrono::duration rand_uniform_duration(typename Chrono::duration
      range) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:352,1
    - Dst: std::common_type_t<Dur>::count
      Src: /src/bitcoin-core/src/random.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - range
    argTypes:
    - std::common_type_t<Dur>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: RandomMixin::randrange
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    - std::common_type_t<Dur>::count
    linkageType: ''
    returnType: Dur
    signature: Dur randrange(std::common_type_t<Dur> range) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeExponentiallyDistributed
      Src: /src/bitcoin-core/src/random.h:368,1
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:368,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/bitcoin-core/src/random.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mean
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: RandomMixin::rand_exp_duration
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    - MakeExponentiallyDistributed
    - std::chrono::duration_cast<std::chrono::microseconds>
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: std::chrono::microseconds rand_exp_duration(std::chrono::microseconds
      mean) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: RandomMixin::min
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t min() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/random.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: RandomMixin::max
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 20
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t max() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl
      Src: /src/bitcoin-core/src/random.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: operator()() noexcept
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - Impl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t operator()() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::RandomSeed
      Src: /src/bitcoin-core/src/random.h:406,1
    - Dst: Keystream
      Src: /src/bitcoin-core/src/random.h:408,1
    - Dst: ReadLE64
      Src: /src/bitcoin-core/src/random.h:409,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/random.h:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: FastRandomContext::rand64
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - FastRandomContext::RandomSeed
    - ReadLE64
    - Keystream
    - std::array::data
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rand64() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' seedval'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: InsecureRandomContext::SplitMix64
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SplitMix64(uint64_t& seedval) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureRandomContext::SplitMix64
      Src: /src/bitcoin-core/src/random.h:439,1
    - Dst: InsecureRandomContext::SplitMix64
      Src: /src/bitcoin-core/src/random.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - seedval
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 439
    functionName: InsecureRandomContext::InsecureRandomContext
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - InsecureRandomContext::SplitMix64
    linkageType: ''
    returnType: void
    signature: void InsecureRandomContext(uint64_t seedval) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushCache
      Src: /src/bitcoin-core/src/random.h:443,1
    - Dst: InsecureRandomContext::SplitMix64
      Src: /src/bitcoin-core/src/random.h:444,1
    - Dst: InsecureRandomContext::SplitMix64
      Src: /src/bitcoin-core/src/random.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seedval
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: InsecureRandomContext::Reseed
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - FlushCache
    - InsecureRandomContext::SplitMix64
    linkageType: ''
    returnType: void
    signature: void Reseed(uint64_t seedval) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotl
      Src: /src/bitcoin-core/src/random.h:451,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/random.h:453,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/random.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: InsecureRandomContext::rand64
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - rotl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rand64() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/random.h:465,1
    - Dst: GetRandBytes
      Src: /src/bitcoin-core/src/random.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: GetRandHash
    functionSourceFile: /src/bitcoin-core/src/random.h
    functionUses: 0
    functionsReached:
    - GetRandBytes
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetRandHash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: prevector::iterator::iterator
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr_
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: prevector::iterator::iterator
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator(T* ptr_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& operator*() const'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '* operator->() const'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& operator[](size_type pos) const'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& operator++()'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& operator--()'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: operator++(int)
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator--(int)
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator-(iterator a, iterator b)
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(iterator a, iterator b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/bitcoin-core/src/prevector.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: operator+(size_type n) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(size_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - size_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator+(size_type n, iterator x)
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(size_type n, iterator x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator+=(size_type n)'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/bitcoin-core/src/prevector.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator-(size_type n) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(size_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& operator-=(size_type n)'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: operator==(iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: operator!=(iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: operator>=(iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: operator<=(iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: operator>(iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: operator<(iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: prevector::const_iterator::const_iterator
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr_
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: prevector::const_iterator::const_iterator
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(const T* ptr_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: prevector::const_iterator::const_iterator
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(iterator x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '& operator*() const'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '* operator->() const'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: '& operator[](size_type pos) const'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '& operator++()'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '& operator--()'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: operator++(int)
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: operator--(int)
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: operator-(const_iterator a, const_iterator b)
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const_iterator a, const_iterator b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/bitcoin-core/src/prevector.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: operator+(size_type n) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator operator+(size_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - size_type
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: operator+(size_type n, const_iterator x)
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator operator+(size_type n, const_iterator x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& operator+=(size_type n)'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator+=(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/bitcoin-core/src/prevector.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: operator-(size_type n) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator operator-(size_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& operator-=(size_type n)'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator-=(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: operator==(const_iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const_iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: operator!=(const_iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const_iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: operator>=(const_iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const_iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: operator<=(const_iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const_iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: operator>(const_iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const_iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: operator<(const_iterator x) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const_iterator x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/bitcoin-core/src/prevector.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: prevector::direct_ptr
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * direct_ptr(difference_type pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/bitcoin-core/src/prevector.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: prevector::direct_ptr
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * direct_ptr(difference_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/bitcoin-core/src/prevector.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: prevector::indirect_ptr
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * indirect_ptr(difference_type pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/bitcoin-core/src/prevector.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: prevector::indirect_ptr
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * indirect_ptr(difference_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: prevector::is_direct
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_direct() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prevector::is_direct
      Src: /src/bitcoin-core/src/prevector.h:138,1
    - Dst: prevector::indirect_ptr
      Src: /src/bitcoin-core/src/prevector.h:139,1
    - Dst: prevector::direct_ptr
      Src: /src/bitcoin-core/src/prevector.h:141,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/prevector.h:142,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:142,1
    - Dst: free
      Src: /src/bitcoin-core/src/prevector.h:143,1
    - Dst: prevector::is_direct
      Src: /src/bitcoin-core/src/prevector.h:147,1
    - Dst: static_cast<char*>
      Src: /src/bitcoin-core/src/prevector.h:151,1
    - Dst: realloc
      Src: /src/bitcoin-core/src/prevector.h:151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/prevector.h:152,1
    - Dst: static_cast<char*>
      Src: /src/bitcoin-core/src/prevector.h:155,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/prevector.h:155,1
    - Dst: assert
      Src: /src/bitcoin-core/src/prevector.h:156,1
    - Dst: prevector::direct_ptr
      Src: /src/bitcoin-core/src/prevector.h:157,1
    - Dst: reinterpret_cast<T*>
      Src: /src/bitcoin-core/src/prevector.h:158,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/prevector.h:159,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - new_capacity
    argTypes:
    - size_type
    assertStmts:
    - condition: (_union.indirect_contents.indirect)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/bitcoin-core/src/prevector.h
    - condition: (new_indirect)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/bitcoin-core/src/prevector.h
    constantsTouched: []
    func_position:
      end: 165
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 165
    functionName: prevector::change_capacity
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - static_cast<char*>
    - reinterpret_cast<T*>
    - realloc
    - memcpy
    - malloc
    - prevector::direct_ptr
    - prevector::is_direct
    - prevector::indirect_ptr
    - prevector::size
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void change_capacity(size_type new_capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::is_direct
      Src: /src/bitcoin-core/src/prevector.h:167,1
    - Dst: prevector::direct_ptr
      Src: /src/bitcoin-core/src/prevector.h:167,1
    - Dst: prevector::indirect_ptr
      Src: /src/bitcoin-core/src/prevector.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: prevector::item_ptr
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::direct_ptr
    - prevector::is_direct
    - prevector::indirect_ptr
    linkageType: ''
    returnType: T
    signature: T * item_ptr(difference_type pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::is_direct
      Src: /src/bitcoin-core/src/prevector.h:168,1
    - Dst: prevector::direct_ptr
      Src: /src/bitcoin-core/src/prevector.h:168,1
    - Dst: prevector::indirect_ptr
      Src: /src/bitcoin-core/src/prevector.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: prevector::item_ptr
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::direct_ptr
    - prevector::is_direct
    - prevector::indirect_ptr
    linkageType: ''
    returnType: T
    signature: T * item_ptr(difference_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fill_n
      Src: /src/bitcoin-core/src/prevector.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - count
    argTypes:
    - T*
    - ptrdiff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: prevector::fill
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - std::fill_n
    linkageType: ''
    returnType: void
    signature: void fill(T* dst, ptrdiff_t count, const T& value = T{})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void*>
      Src: /src/bitcoin-core/src/prevector.h:177,1
    - Dst: T::T
      Src: /src/bitcoin-core/src/prevector.h:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - first
    - last
    argTypes:
    - T*
    - InputIterator
    - InputIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: prevector::fill
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - static_cast<void*>
    - T::T
    linkageType: ''
    returnType: void
    signature: void fill(T* dst, InputIterator first, InputIterator last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prevector::clear
      Src: /src/bitcoin-core/src/prevector.h:185,1
    - Dst: prevector::capacity
      Src: /src/bitcoin-core/src/prevector.h:186,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:187,1
    - Dst: prevector::fill
      Src: /src/bitcoin-core/src/prevector.h:190,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' val'
    argTypes:
    - size_type
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: prevector::assign
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::item_ptr
    - prevector::fill
    - prevector::change_capacity
    - prevector::capacity
    - prevector::clear
    linkageType: ''
    returnType: void
    signature: void assign(size_type n, const T& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prevector::clear
      Src: /src/bitcoin-core/src/prevector.h:196,1
    - Dst: prevector::capacity
      Src: /src/bitcoin-core/src/prevector.h:197,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:198,1
    - Dst: prevector::fill
      Src: /src/bitcoin-core/src/prevector.h:201,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIterator
    - InputIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: prevector::assign
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::item_ptr
    - prevector::fill
    - prevector::change_capacity
    - prevector::capacity
    - prevector::clear
    linkageType: ''
    returnType: void
    signature: void assign(InputIterator first, InputIterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: prevector::prevector
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prevector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/prevector.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: prevector::prevector
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::resize
    linkageType: ''
    returnType: void
    signature: void prevector(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:211,1
    - Dst: prevector::fill
      Src: /src/bitcoin-core/src/prevector.h:213,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - n
    - ' val'
    argTypes:
    - size_type
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: prevector::prevector
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::fill
    - prevector::change_capacity
    - prevector::item_ptr
    linkageType: ''
    returnType: void
    signature: void prevector(size_type n, const T& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:219,1
    - Dst: prevector::fill
      Src: /src/bitcoin-core/src/prevector.h:221,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIterator
    - InputIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: prevector::prevector
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::fill
    - prevector::change_capacity
    - prevector::item_ptr
    linkageType: ''
    returnType: void
    signature: void prevector(InputIterator first, InputIterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:225,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:226,1
    - Dst: prevector::fill
      Src: /src/bitcoin-core/src/prevector.h:228,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:228,1
    - Dst: prevector::begin
      Src: /src/bitcoin-core/src/prevector.h:228,1
    - Dst: prevector::end
      Src: /src/bitcoin-core/src/prevector.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - prevector<N, T, Size, Diff>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: prevector::prevector
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::item_ptr
    - prevector::end
    - prevector::begin
    - prevector::fill
    - prevector::change_capacity
    - prevector::size
    linkageType: ''
    returnType: void
    signature: void prevector(const prevector<N, T, Size, Diff>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/prevector.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - prevector<N, T, Size, Diff>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: prevector::prevector
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void prevector(prevector<N, T, Size, Diff>&& other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/prevector.h:241,1
    - Dst: begin
      Src: /src/bitcoin-core/src/prevector.h:241,1
    - Dst: end
      Src: /src/bitcoin-core/src/prevector.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - prevector<N, T, Size, Diff>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: '& operator=(const prevector<N, T, Size, Diff>& other)'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - end
    - assign
    - begin
    linkageType: ''
    returnType: prevector
    signature: prevector & operator=(const prevector<N, T, Size, Diff>& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_direct
      Src: /src/bitcoin-core/src/prevector.h:246,1
    - Dst: free
      Src: /src/bitcoin-core/src/prevector.h:247,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/prevector.h:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - prevector<N, T, Size, Diff>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: '& operator=(prevector<N, T, Size, Diff>&& other) noexcept'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - is_direct
    - free
    - std::move
    linkageType: ''
    returnType: prevector
    signature: prevector & operator=(prevector<N, T, Size, Diff>&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::is_direct
      Src: /src/bitcoin-core/src/prevector.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: prevector::size
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 2
    functionsReached:
    - prevector::is_direct
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: prevector::empty
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/bitcoin-core/src/prevector.h:263,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: prevector::begin
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 1
    functionsReached:
    - iterator
    - prevector::item_ptr
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/bitcoin-core/src/prevector.h:264,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: prevector::begin
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 1
    functionsReached:
    - const_iterator
    - prevector::item_ptr
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/bitcoin-core/src/prevector.h:265,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:265,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: prevector::end
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 2
    functionsReached:
    - prevector::size
    - iterator
    - prevector::item_ptr
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/bitcoin-core/src/prevector.h:266,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:266,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: prevector::end
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 2
    functionsReached:
    - prevector::size
    - const_iterator
    - prevector::item_ptr
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prevector::is_direct
      Src: /src/bitcoin-core/src/prevector.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: prevector::capacity
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 2
    functionsReached:
    - prevector::is_direct
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item_ptr
      Src: /src/bitcoin-core/src/prevector.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: '& operator[](size_type pos)'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - item_ptr
    linkageType: ''
    returnType: T
    signature: T & operator[](size_type pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item_ptr
      Src: /src/bitcoin-core/src/prevector.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: '& operator[](size_type pos) const'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - item_ptr
    linkageType: ''
    returnType: T
    signature: T & operator[](size_type pos) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:285,1
    - Dst: prevector::erase
      Src: /src/bitcoin-core/src/prevector.h:290,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:290,1
    - Dst: prevector::end
      Src: /src/bitcoin-core/src/prevector.h:290,1
    - Dst: prevector::capacity
      Src: /src/bitcoin-core/src/prevector.h:293,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:294,1
    - Dst: prevector::fill
      Src: /src/bitcoin-core/src/prevector.h:297,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 299
    functionName: prevector::resize
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 1
    functionsReached:
    - prevector::end
    - prevector::item_ptr
    - prevector::fill
    - prevector::change_capacity
    - prevector::erase
    - prevector::capacity
    - prevector::size
    linkageType: ''
    returnType: void
    signature: void resize(size_type new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prevector::capacity
      Src: /src/bitcoin-core/src/prevector.h:302,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_capacity
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: prevector::reserve
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::capacity
    - prevector::change_capacity
    linkageType: ''
    returnType: void
    signature: void reserve(size_type new_capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:308,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: prevector::shrink_to_fit
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::size
    - prevector::change_capacity
    linkageType: ''
    returnType: void
    signature: void shrink_to_fit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/prevector.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: prevector::clear
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 2
    functionsReached:
    - prevector::resize
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prevector::begin
      Src: /src/bitcoin-core/src/prevector.h:316,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:317,1
    - Dst: prevector::capacity
      Src: /src/bitcoin-core/src/prevector.h:318,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:319,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:321,1
    - Dst: memmove
      Src: /src/bitcoin-core/src/prevector.h:323,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:323,1
    - Dst: static_cast<void*>
      Src: /src/bitcoin-core/src/prevector.h:325,1
    - Dst: T::T
      Src: /src/bitcoin-core/src/prevector.h:325,1
    - Dst: iterator
      Src: /src/bitcoin-core/src/prevector.h:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pos
    - ' value'
    argTypes:
    - iterator
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: prevector::insert
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 1
    functionsReached:
    - prevector::item_ptr
    - prevector::begin
    - prevector::change_capacity
    - prevector::capacity
    - static_cast<void*>
    - T::T
    - prevector::size
    - iterator
    - memmove
    linkageType: ''
    returnType: iterator
    signature: iterator insert(iterator pos, const T& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prevector::begin
      Src: /src/bitcoin-core/src/prevector.h:330,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:331,1
    - Dst: prevector::capacity
      Src: /src/bitcoin-core/src/prevector.h:332,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:333,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:335,1
    - Dst: memmove
      Src: /src/bitcoin-core/src/prevector.h:337,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:337,1
    - Dst: prevector::fill
      Src: /src/bitcoin-core/src/prevector.h:339,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pos
    - count
    - ' value'
    argTypes:
    - iterator
    - size_type
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: prevector::insert
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 1
    functionsReached:
    - prevector::item_ptr
    - prevector::begin
    - prevector::fill
    - prevector::change_capacity
    - prevector::capacity
    - prevector::size
    - memmove
    linkageType: ''
    returnType: void
    signature: void insert(iterator pos, size_type count, const T& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prevector::begin
      Src: /src/bitcoin-core/src/prevector.h:344,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:346,1
    - Dst: prevector::capacity
      Src: /src/bitcoin-core/src/prevector.h:347,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:348,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:350,1
    - Dst: memmove
      Src: /src/bitcoin-core/src/prevector.h:352,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:352,1
    - Dst: prevector::fill
      Src: /src/bitcoin-core/src/prevector.h:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pos
    - first
    - last
    argTypes:
    - iterator
    - InputIterator
    - InputIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 355
    functionName: prevector::insert
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 1
    functionsReached:
    - prevector::item_ptr
    - prevector::begin
    - prevector::fill
    - prevector::change_capacity
    - prevector::capacity
    - prevector::size
    - memmove
    linkageType: ''
    returnType: void
    signature: void insert(iterator pos, InputIterator first, InputIterator last)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prevector::capacity
      Src: /src/bitcoin-core/src/prevector.h:360,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:361,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:362,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:365,1
    - Dst: prevector::erase
      Src: /src/bitcoin-core/src/prevector.h:366,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:366,1
    - Dst: prevector::end
      Src: /src/bitcoin-core/src/prevector.h:366,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 370
    functionName: prevector::resize_uninitialized
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::item_ptr
    - prevector::end
    - prevector::change_capacity
    - prevector::erase
    - prevector::capacity
    - prevector::size
    linkageType: ''
    returnType: void
    signature: void resize_uninitialized(size_type new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::erase
      Src: /src/bitcoin-core/src/prevector.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: prevector::erase
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 3
    functionsReached:
    - prevector::erase
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::end
      Src: /src/bitcoin-core/src/prevector.h:384,1
    - Dst: memmove
      Src: /src/bitcoin-core/src/prevector.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 388
    functionName: prevector::erase
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 3
    functionsReached:
    - prevector::end
    - memmove
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator first, iterator last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:392,1
    - Dst: prevector::capacity
      Src: /src/bitcoin-core/src/prevector.h:393,1
    - Dst: prevector::change_capacity
      Src: /src/bitcoin-core/src/prevector.h:394,1
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:396,1
    - Dst: prevector::size
      Src: /src/bitcoin-core/src/prevector.h:396,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/prevector.h:396,1
    - Dst: T::T
      Src: /src/bitcoin-core/src/prevector.h:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: prevector::emplace_back
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::item_ptr
    - prevector::change_capacity
    - std::forward<Args>
    - prevector::capacity
    - prevector::size
    - T::T
    linkageType: ''
    returnType: void
    signature: void emplace_back(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::emplace_back
      Src: /src/bitcoin-core/src/prevector.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: prevector::push_back
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::emplace_back
    linkageType: ''
    returnType: void
    signature: void push_back(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::erase
      Src: /src/bitcoin-core/src/prevector.h:405,1
    - Dst: prevector::end
      Src: /src/bitcoin-core/src/prevector.h:405,1
    - Dst: prevector::end
      Src: /src/bitcoin-core/src/prevector.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: prevector::pop_back
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::end
    - prevector::erase
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item_ptr
      Src: /src/bitcoin-core/src/prevector.h:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: '& front()'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - item_ptr
    linkageType: ''
    returnType: T
    signature: T & front()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item_ptr
      Src: /src/bitcoin-core/src/prevector.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: '& front() const'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - item_ptr
    linkageType: ''
    returnType: T
    signature: T & front() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item_ptr
      Src: /src/bitcoin-core/src/prevector.h:417,1
    - Dst: size
      Src: /src/bitcoin-core/src/prevector.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: '& back()'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - size
    - item_ptr
    linkageType: ''
    returnType: T
    signature: T & back()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item_ptr
      Src: /src/bitcoin-core/src/prevector.h:421,1
    - Dst: size
      Src: /src/bitcoin-core/src/prevector.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: '& back() const'
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - size
    - item_ptr
    linkageType: ''
    returnType: T
    signature: T & back() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::swap
      Src: /src/bitcoin-core/src/prevector.h:426,1
    - Dst: prevector::swap
      Src: /src/bitcoin-core/src/prevector.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - prevector<N, T, Size, Diff>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: prevector::swap
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 1
    functionsReached:
    - prevector::swap
    linkageType: ''
    returnType: void
    signature: void swap(prevector<N, T, Size, Diff>& other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_direct
      Src: /src/bitcoin-core/src/prevector.h:431,1
    - Dst: free
      Src: /src/bitcoin-core/src/prevector.h:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: ~prevector()
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - is_direct
    - free
    linkageType: ''
    returnType: void
    signature: void ~prevector()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/prevector.h:438,1
    - Dst: size
      Src: /src/bitcoin-core/src/prevector.h:438,1
    - Dst: begin
      Src: /src/bitcoin-core/src/prevector.h:441,1
    - Dst: begin
      Src: /src/bitcoin-core/src/prevector.h:442,1
    - Dst: end
      Src: /src/bitcoin-core/src/prevector.h:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - prevector<N, T, Size, Diff>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 452
    functionName: operator==(const prevector<N, T, Size, Diff>& other) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - end
    - begin
    - size
    linkageType: ''
    returnType: bool
    signature: bool operator==(const prevector<N, T, Size, Diff>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - prevector<N, T, Size, Diff>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: operator!=(const prevector<N, T, Size, Diff>& other) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const prevector<N, T, Size, Diff>& other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/prevector.h:459,1
    - Dst: size
      Src: /src/bitcoin-core/src/prevector.h:459,1
    - Dst: size
      Src: /src/bitcoin-core/src/prevector.h:462,1
    - Dst: size
      Src: /src/bitcoin-core/src/prevector.h:462,1
    - Dst: begin
      Src: /src/bitcoin-core/src/prevector.h:465,1
    - Dst: begin
      Src: /src/bitcoin-core/src/prevector.h:466,1
    - Dst: end
      Src: /src/bitcoin-core/src/prevector.h:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - prevector<N, T, Size, Diff>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 479
    functionName: operator<(const prevector<N, T, Size, Diff>& other) const
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - end
    - begin
    - size
    linkageType: ''
    returnType: bool
    signature: bool operator<(const prevector<N, T, Size, Diff>& other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prevector::is_direct
      Src: /src/bitcoin-core/src/prevector.h:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: prevector::allocated_memory
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::is_direct
    linkageType: ''
    returnType: size_t
    signature: size_t allocated_memory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: prevector::data
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::item_ptr
    linkageType: ''
    returnType: value_type
    signature: value_type * data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::item_ptr
      Src: /src/bitcoin-core/src/prevector.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: prevector::data
    functionSourceFile: /src/bitcoin-core/src/prevector.h
    functionUses: 0
    functionsReached:
    - prevector::item_ptr
    linkageType: ''
    returnType: value_type
    signature: value_type * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: cluster_linearize::DepGraph::Entry
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entry() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' f'
    - ' a'
    - ' d'
    argTypes:
    - FeeFrac
    - SetType
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: cluster_linearize::DepGraph::Entry
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entry(const FeeFrac& f, const SetType& a, const SetType& d) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - DepGraph
    - DepGraph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: operator==(const DepGraph& a, const DepGraph& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DepGraph& a, const DepGraph& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: cluster_linearize::DepGraph::DepGraph
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DepGraph() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: cluster_linearize::DepGraph::DepGraph
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DepGraph(const DepGraph&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: cluster_linearize::DepGraph::DepGraph
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DepGraph(DepGraph&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(const DepGraph&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DepGraph
    signature: DepGraph & operator=(const DepGraph&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(DepGraph&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DepGraph
    signature: DepGraph & operator=(DepGraph&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:91,1
    - Dst: std::span<const DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:91,1
    - Dst: cluster_linearize::DepGraph::PositionRange
      Src: /src/bitcoin-core/src/cluster_linearize.h:91,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:92,1
    - Dst: cluster_linearize::DepGraph::TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:92,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:93,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:95,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:97,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:98,1
    - Dst: Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:99,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:103,1
    - Dst: cluster_linearize::DepGraph::GetReducedParents
      Src: /src/bitcoin-core/src/cluster_linearize.h:106,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:106,1
    - Dst: cluster_linearize::DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/cluster_linearize.h:107,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:110,1
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:110,1
    - Dst: Last
      Src: /src/bitcoin-core/src/cluster_linearize.h:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' depgraph'
    - mapping
    - pos_range
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: cluster_linearize::DepGraph::DepGraph
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Positions
    - bitset_detail::IntBitSet::Singleton
    - cluster_linearize::DepGraph::AddDependencies
    - Assume
    - cluster_linearize::DepGraph::PositionRange
    - cluster_linearize::DepGraph::TxCount
    - None
    - cluster_linearize::DepGraph::GetReducedParents
    - SetType::Set
    - Last
    - Set
    - std::span<const DepGraphIndex>::size
    linkageType: ''
    returnType: void
    signature: void DepGraph(const DepGraph<SetType>& depgraph, std::span<const DepGraphIndex>
      mapping, DepGraphIndex pos_range) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: '& Positions() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetType
    signature: SetType & Positions() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: cluster_linearize::DepGraph::PositionRange
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex PositionRange() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: cluster_linearize::DepGraph::TxCount
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - Count
    linkageType: ''
    returnType: auto
    signature: auto TxCount() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& FeeRate(DepGraphIndex i) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac & FeeRate(DepGraphIndex i) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& FeeRate(DepGraphIndex i) noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac & FeeRate(DepGraphIndex i) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '& Ancestors(DepGraphIndex i) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetType
    signature: SetType & Ancestors(DepGraphIndex i) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& Descendants(DepGraphIndex i) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetType
    signature: SetType & Descendants(DepGraphIndex i) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/cluster_linearize.h:135,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/cluster_linearize.h:135,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:137,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:137,1
    - Dst: auto::First
      Src: /src/bitcoin-core/src/cluster_linearize.h:138,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:139,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:140,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:140,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:140,1
    - Dst: cluster_linearize::DepGraph::Entry
      Src: /src/bitcoin-core/src/cluster_linearize.h:142,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:142,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:142,1
    - Dst: Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' feefrac'
    argTypes:
    - FeeFrac
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: cluster_linearize::DepGraph::AddTransaction
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - cluster_linearize::DepGraph::Entry
    - auto::First
    - auto::Any
    - bitset_detail::IntBitSet::Singleton
    - Assume
    - BufferedFile::Fill
    - size
    - Set
    - emplace_back
    - CDBBatch::ApproximateSize
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex AddTransaction(const FeeFrac& feefrac) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:161,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:161,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' del'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: cluster_linearize::DepGraph::RemoveTransactions
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - pop_back
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void RemoveTransactions(const SetType& del) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:179,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:180,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:180,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:183,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:184,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:186,1
    - Dst: SetType::None
      Src: /src/bitcoin-core/src/cluster_linearize.h:188,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' parents'
    - child
    argTypes:
    - SetType
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: cluster_linearize::DepGraph::AddDependencies
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - Descendants
    - IsSubsetOf
    - Assume
    - Ancestors
    - SetType::None
    linkageType: ''
    returnType: void
    signature: void AddDependencies(const SetType& parents, DepGraphIndex child) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:210,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:211,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:214,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: cluster_linearize::DepGraph::GetReducedParents
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - SetType::Reset
    - Ancestors
    - SetType::Set
    linkageType: ''
    returnType: SetType
    signature: SetType GetReducedParents(DepGraphIndex i) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:231,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:232,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:235,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: cluster_linearize::DepGraph::GetReducedChildren
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Descendants
    - SetType::Reset
    - SetType::Set
    linkageType: ''
    returnType: SetType
    signature: SetType GetReducedChildren(DepGraphIndex i) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' elems'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: cluster_linearize::DepGraph::FeeRate
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac FeeRate(const SetType& elems) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:265,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:266,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:266,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:267,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:272,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:273,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' todo'
    - tx
    argTypes:
    - SetType
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 279
    functionName: cluster_linearize::DepGraph::GetConnectedComponent
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Descendants
    - bitset_detail::IntBitSet::Singleton
    - IsSubsetOf
    - auto::Any
    - Assume
    - Ancestors
    linkageType: ''
    returnType: SetType
    signature: SetType GetConnectedComponent(const SetType& todo, DepGraphIndex tx)
      const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:290,1
    - Dst: cluster_linearize::DepGraph::GetConnectedComponent
      Src: /src/bitcoin-core/src/cluster_linearize.h:291,1
    - Dst: First
      Src: /src/bitcoin-core/src/cluster_linearize.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' todo'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: cluster_linearize::DepGraph::FindConnectedComponent
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - None
    - cluster_linearize::DepGraph::GetConnectedComponent
    - First
    linkageType: ''
    returnType: SetType
    signature: SetType FindConnectedComponent(const SetType& todo) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cluster_linearize::DepGraph::FindConnectedComponent
      Src: /src/bitcoin-core/src/cluster_linearize.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subset'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: cluster_linearize::DepGraph::IsConnected
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - cluster_linearize::DepGraph::FindConnectedComponent
    linkageType: ''
    returnType: bool
    signature: bool IsConnected(const SetType& subset) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cluster_linearize::DepGraph::IsConnected
      Src: /src/bitcoin-core/src/cluster_linearize.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: cluster_linearize::DepGraph::IsConnected
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - cluster_linearize::DepGraph::IsConnected
    linkageType: ''
    returnType: bool
    signature: bool IsConnected() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:315,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:316,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/cluster_linearize.h:317,1
    - Dst: begin
      Src: /src/bitcoin-core/src/cluster_linearize.h:317,1
    - Dst: end
      Src: /src/bitcoin-core/src/cluster_linearize.h:317,1
    - Dst: ancestors::Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:318,1
    - Dst: ancestors::Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' list'
    - ' select'
    argTypes:
    - std::vector<DepGraphIndex>
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: cluster_linearize::DepGraph::AppendTopo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - end
    - ancestors::Count
    - push_back
    - size
    - std::sort
    - begin
    linkageType: ''
    returnType: void
    signature: void AppendTopo(std::vector<DepGraphIndex>& list, const SetType& select)
      const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:328,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:329,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:329,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: cluster_linearize::DepGraph::IsAcyclic
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Positions
    - Descendants
    - Ancestors
    - bitset_detail::IntBitSet::Singleton
    linkageType: ''
    returnType: bool
    signature: bool IsAcyclic() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: cluster_linearize::SetInfo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInfo() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' txn'
    - ' fr'
    argTypes:
    - SetType
    - FeeFrac
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: cluster_linearize::SetInfo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInfo(const SetType& txn, const FeeFrac& fr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:354,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' depgraph'
    - pos
    argTypes:
    - DepGraph<SetType>
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: cluster_linearize::SetInfo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - bitset_detail::IntBitSet::Singleton
    - FeeRate
    linkageType: ''
    returnType: void
    signature: void SetInfo(const DepGraph<SetType>& depgraph, DepGraphIndex pos)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' depgraph'
    - ' txn'
    argTypes:
    - DepGraph<SetType>
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: cluster_linearize::SetInfo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - FeeRate
    linkageType: ''
    returnType: void
    signature: void SetInfo(const DepGraph<SetType>& depgraph, const SetType& txn)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:363,1
    - Dst: cluster_linearize::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:364,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' depgraph'
    - pos
    argTypes:
    - DepGraph<SetType>
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: cluster_linearize::Set
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - cluster_linearize::Set
    - FeeRate
    - Assume
    linkageType: ''
    returnType: void
    signature: void Set(const DepGraph<SetType>& depgraph, DepGraphIndex pos) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:371,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/cluster_linearize.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SetInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: '& operator|=(const SetInfo& other) noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Overlaps
    - Assume
    linkageType: ''
    returnType: SetInfo
    signature: SetInfo & operator|=(const SetInfo& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' depgraph'
    - ' txn'
    argTypes:
    - DepGraph<SetType>
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: cluster_linearize::Add
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - FeeRate
    linkageType: ''
    returnType: SetInfo
    signature: SetInfo Add(const DepGraph<SetType>& depgraph, const SetType& txn)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cluster_linearize::swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:387,1
    - Dst: cluster_linearize::swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SetInfo
    - SetInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: cluster_linearize::swap
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - cluster_linearize::swap
    linkageType: ''
    returnType: void
    signature: void swap(SetInfo& a, SetInfo& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:402,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:404,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/cluster_linearize.h:404,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/cluster_linearize.h:405,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:406,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:409,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' depgraph'
    - linearization
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: cluster_linearize::ChunkLinearization
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - std::vector::back
    - std::move
    - std::vector::push_back
    - std::vector::pop_back
    - std::vector::empty
    - FeeRate
    linkageType: ''
    returnType: std::vector<FeeFrac>
    signature: std::vector<FeeFrac> ChunkLinearization(const DepGraph<SetType>& depgraph,
      std::span<const DepGraphIndex> linearization) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:437,1
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:437,1
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:440,1
    - Dst: front
      Src: /src/bitcoin-core/src/cluster_linearize.h:440,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/cluster_linearize.h:441,1
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:452,1
    - Dst: back
      Src: /src/bitcoin-core/src/cluster_linearize.h:452,1
    - Dst: back
      Src: /src/bitcoin-core/src/cluster_linearize.h:453,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:454,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:457,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 459
    functionName: cluster_linearize::LinearizationChunking::BuildChunks
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - empty
    - Assume
    - push_back
    - back
    - std::move
    - pop_back
    - front
    - subspan
    linkageType: ''
    returnType: void
    signature: void BuildChunks() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:467,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/cluster_linearize.h:469,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:469,1
    - Dst: cluster_linearize::LinearizationChunking::BuildChunks
      Src: /src/bitcoin-core/src/cluster_linearize.h:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' depgraph LIFETIMEBOUND'
    - LIFETIMEBOUND
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: cluster_linearize::LinearizationChunking::LinearizationChunking
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Set
    - reserve
    - TxCount
    - cluster_linearize::LinearizationChunking::BuildChunks
    linkageType: ''
    returnType: void
    signature: void LinearizationChunking(const DepGraph<SetType>& depgraph LIFETIMEBOUND,
      std::span<const DepGraphIndex> lin LIFETIMEBOUND) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: cluster_linearize::LinearizationChunking::NumChunksLeft
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex NumChunksLeft() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:479,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: '& GetChunk(DepGraphIndex n) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - size
    - Assume
    linkageType: ''
    returnType: SetInfo<SetType>
    signature: SetInfo<SetType> & GetChunk(DepGraphIndex n) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:486,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:486,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:487,1
    - Dst: SetType::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:487,1
    - Dst: GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:489,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/cluster_linearize.h:497,1
    - Dst: SetType::Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:497,1
    - Dst: clear
      Src: /src/bitcoin-core/src/cluster_linearize.h:500,1
    - Dst: cluster_linearize::LinearizationChunking::BuildChunks
      Src: /src/bitcoin-core/src/cluster_linearize.h:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - subset
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 504
    functionName: cluster_linearize::LinearizationChunking::MarkDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - subspan
    - SetType::Any
    - SetType::IsSubsetOf
    - clear
    - SetType::Count
    - GetChunk
    - cluster_linearize::LinearizationChunking::BuildChunks
    linkageType: ''
    returnType: void
    signature: void MarkDone(SetType subset) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:517,1
    - Dst: transactions::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:517,1
    - Dst: cluster_linearize::LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:520,1
    - Dst: GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:522,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:523,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' subset'
    argTypes:
    - SetInfo<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 539
    functionName: cluster_linearize::LinearizationChunking::IntersectPrefixes
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - SetType::Any
    - transactions::IsSubsetOf
    - cluster_linearize::LinearizationChunking::NumChunksLeft
    - FeeRate
    - GetChunk
    linkageType: ''
    returnType: SetInfo<SetType>
    signature: SetInfo<SetType> IntersectPrefixes(const SetInfo<SetType>& subset)
      const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:568,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/cluster_linearize.h:569,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:572,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:574,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:577,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:577,1
    - Dst: SetType::First
      Src: /src/bitcoin-core/src/cluster_linearize.h:578,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:581,1
    - Dst: FeeFrac::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:581,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:582,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:585,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' depgraph LIFETIMEBOUND'
    argTypes:
    - DepGraph<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 590
    functionName: cluster_linearize::AncestorCandidateFinder::AncestorCandidateFinder
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Positions
    - Assume
    - SetType::Any
    - FeeFrac::IsEmpty
    - Ancestors
    - SetType::First
    - FeeRate
    - PositionRange
    linkageType: ''
    returnType: void
    signature: void AncestorCandidateFinder(const DepGraph<SetType>& depgraph LIFETIMEBOUND)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:600,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:600,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:601,1
    - Dst: SetType::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:601,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:604,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - select
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 609
    functionName: cluster_linearize::AncestorCandidateFinder::MarkDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Descendants
    - Assume
    - SetType::Any
    - SetType::IsSubsetOf
    - FeeRate
    linkageType: ''
    returnType: void
    signature: void MarkDone(SetType select) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: cluster_linearize::AncestorCandidateFinder::AllDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - None
    linkageType: ''
    returnType: bool
    signature: bool AllDone() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: cluster_linearize::AncestorCandidateFinder::NumRemaining
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Count
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex NumRemaining() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:630,1
    - Dst: cluster_linearize::AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:630,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/cluster_linearize.h:633,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:634,1
    - Dst: IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:634,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:639,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/cluster_linearize.h:639,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 641
    functionName: cluster_linearize::AncestorCandidateFinder::FindCandidateSet
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - cluster_linearize::AncestorCandidateFinder::AllDone
    - std::optional::has_value
    - Ancestors
    - IsEmpty
    linkageType: ''
    returnType: SetInfo<SetType>
    signature: SetInfo<SetType> FindCandidateSet() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 674
    functionName: cluster_linearize::SearchCandidateFinder::SortedToOriginal
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - SetType::Set
    linkageType: ''
    returnType: SetType
    signature: SetType SortedToOriginal(const SetType& arg) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: cluster_linearize::SearchCandidateFinder::OriginalToSorted
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - SetType::Set
    linkageType: ''
    returnType: SetType
    signature: SetType OriginalToSorted(const SetType& arg) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:694,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/cluster_linearize.h:695,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:700,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/cluster_linearize.h:703,1
    - Dst: begin
      Src: /src/bitcoin-core/src/cluster_linearize.h:703,1
    - Dst: end
      Src: /src/bitcoin-core/src/cluster_linearize.h:703,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:704,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:704,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:709,1
    - Dst: DepGraph
      Src: /src/bitcoin-core/src/cluster_linearize.h:713,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:713,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' depgraph'
    - rng_seed
    argTypes:
    - DepGraph<SetType>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 715
    functionName: cluster_linearize::SearchCandidateFinder::SearchCandidateFinder
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Positions
    - end
    - TxCount
    - size
    - DepGraph
    - FeeRate
    - std::sort
    - PositionRange
    - begin
    linkageType: ''
    returnType: void
    signature: void SearchCandidateFinder(const DepGraph<SetType>& depgraph, uint64_t
      rng_seed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: cluster_linearize::SearchCandidateFinder::AllDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - None
    linkageType: ''
    returnType: bool
    signature: bool AllDone() const noexcept
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:742,1
    - Dst: cluster_linearize::SearchCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:742,1
    - Dst: cluster_linearize::SearchCandidateFinder::OriginalToSorted
      Src: /src/bitcoin-core/src/cluster_linearize.h:745,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:775,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:776,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:777,1
    - Dst: VecDeque::VecDeque
      Src: /src/bitcoin-core/src/cluster_linearize.h:782,1
    - Dst: VecDeque::reserve
      Src: /src/bitcoin-core/src/cluster_linearize.h:783,1
    - Dst: std::max<size_t>
      Src: /src/bitcoin-core/src/cluster_linearize.h:783,1
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:783,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/cluster_linearize.h:791,1
    - Dst: SetInfo<SetType>::feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:796,1
    - Dst: SetInfo
      Src: /src/bitcoin-core/src/cluster_linearize.h:796,1
    - Dst: VecDeque::emplace_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:797,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:798,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:800,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:807,1
    - Dst: SetType::Last
      Src: /src/bitcoin-core/src/cluster_linearize.h:808,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:809,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:810,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:824,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:834,1
    - Dst: auto::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:835,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:853,1
    - Dst: auto::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:854,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:858,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:864,1
    - Dst: SetType::Last
      Src: /src/bitcoin-core/src/cluster_linearize.h:865,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:866,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:867,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:875,1
    - Dst: Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:875,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:877,1
    - Dst: transactions::None
      Src: /src/bitcoin-core/src/cluster_linearize.h:877,1
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:880,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:886,1
    - Dst: VecDeque::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:886,1
    - Dst: VecDeque::capacity
      Src: /src/bitcoin-core/src/cluster_linearize.h:886,1
    - Dst: VecDeque::emplace_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:887,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:887,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:888,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:889,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:898,1
    - Dst: und::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:898,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:900,1
    - Dst: inc::transactions::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:900,1
    - Dst: und::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:900,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:902,1
    - Dst: inc::transactions::Overlaps
      Src: /src/bitcoin-core/src/cluster_linearize.h:902,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:904,1
    - Dst: inc::feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:904,1
    - Dst: pot_feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:904,1
    - Dst: und::First
      Src: /src/bitcoin-core/src/cluster_linearize.h:906,1
    - Dst: inc::feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:907,1
    - Dst: und::Overlaps
      Src: /src/bitcoin-core/src/cluster_linearize.h:910,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:916,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:933,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:934,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:934,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:943,1
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:943,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:944,1
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:944,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:945,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/cluster_linearize.h:947,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:953,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/cluster_linearize.h:953,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:956,1
    - Dst: add_fn
      Src: /src/bitcoin-core/src/cluster_linearize.h:957,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:961,1
    - Dst: add_fn
      Src: /src/bitcoin-core/src/cluster_linearize.h:962,1
    - Dst: inc::Add
      Src: /src/bitcoin-core/src/cluster_linearize.h:962,1
    - Dst: VecDeque::empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:981,1
    - Dst: VecDeque::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:983,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/cluster_linearize.h:983,1
    - Dst: cluster_linearize::SearchCandidateFinder::Swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:984,1
    - Dst: VecDeque::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:991,1
    - Dst: VecDeque::front
      Src: /src/bitcoin-core/src/cluster_linearize.h:991,1
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:991,1
    - Dst: VecDeque::capacity
      Src: /src/bitcoin-core/src/cluster_linearize.h:991,1
    - Dst: VecDeque::back
      Src: /src/bitcoin-core/src/cluster_linearize.h:993,1
    - Dst: VecDeque::pop_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:994,1
    - Dst: split_fn
      Src: /src/bitcoin-core/src/cluster_linearize.h:995,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:995,1
    - Dst: VecDeque::front
      Src: /src/bitcoin-core/src/cluster_linearize.h:1000,1
    - Dst: VecDeque::pop_front
      Src: /src/bitcoin-core/src/cluster_linearize.h:1001,1
    - Dst: split_fn
      Src: /src/bitcoin-core/src/cluster_linearize.h:1002,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:1002,1
    - Dst: cluster_linearize::SearchCandidateFinder::SortedToOriginal
      Src: /src/bitcoin-core/src/cluster_linearize.h:1007,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:1008,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 93
    argCount: 2
    argNames:
    - max_iterations
    - best
    argTypes:
    - uint64_t
    - SetInfo<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 1009
    functionName: cluster_linearize::SearchCandidateFinder::FindCandidateSet
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - auto::Any
    - VecDeque::size
    - inc::feerate::IsEmpty
    - cluster_linearize::SearchCandidateFinder::AllDone
    - und::Overlaps
    - cluster_linearize::SearchCandidateFinder::OriginalToSorted
    - SetType::Any
    - std::move
    - swap
    - FindConnectedComponent
    - SetInfo
    - std::max<size_t>
    - SetType::Last
    - SetInfo<SetType>::feerate::IsEmpty
    - IsEmpty
    - Any
    - inc::Add
    - VecDeque::empty
    - randbool
    - FeeRate
    - VecDeque::front
    - und::Any
    - pot_feerate::IsEmpty
    - cluster_linearize::SearchCandidateFinder::SortedToOriginal
    - auto::IsSubsetOf
    - Ancestors
    - VecDeque::pop_front
    - Count
    - VecDeque::emplace_back
    - VecDeque::reserve
    - Descendants
    - Assume
    - VecDeque::pop_back
    - None
    - feerate::IsEmpty
    - std::optional::has_value
    - SetType::Reset
    - cluster_linearize::SearchCandidateFinder::Swap
    - transactions::None
    - VecDeque::capacity
    - auto::Set
    - VecDeque::VecDeque
    - add_fn
    - und::First
    - split_fn
    - inc::transactions::Overlaps
    - und::IsSubsetOf
    - inc::transactions::IsSubsetOf
    - VecDeque::back
    linkageType: ''
    returnType: std::pair<SetInfo<SetType>, uint64_t>
    signature: std::pair<SetInfo<SetType>, uint64_t> FindCandidateSet(uint64_t max_iterations,
      SetInfo<SetType> best) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ' i'
    - ' u'
    - ' p_f'
    argTypes:
    - SetInfo<SetType>
    - SetType
    - FeeFrac
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: cluster_linearize::SearchCandidateFinder::WorkItem
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - feerate::IsEmpty
    - IsEmpty
    - Assume
    - std::move
    linkageType: ''
    returnType: void
    signature: void WorkItem(SetInfo<SetType>&& i, SetType&& u, FeeFrac&& p_f) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:775,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:776,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WorkItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 778
    functionName: cluster_linearize::SearchCandidateFinder::Swap
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(WorkItem& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cluster_linearize::SearchCandidateFinder::OriginalToSorted
      Src: /src/bitcoin-core/src/cluster_linearize.h:1017,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1018,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:1018,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1019,1
    - Dst: auto::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' done'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1021
    functionName: cluster_linearize::SearchCandidateFinder::MarkDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - cluster_linearize::SearchCandidateFinder::OriginalToSorted
    - auto::Any
    - Assume
    - auto::IsSubsetOf
    linkageType: ''
    returnType: void
    signature: void MarkDone(const SetType& done) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1045,1
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:1045,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1045,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1045,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1046,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/cluster_linearize.h:1053,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1053,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1060,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1060,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/cluster_linearize.h:1063,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1072,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:1072,1
    - Dst: AncestorCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/cluster_linearize.h:1075,1
    - Dst: SetInfo::feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:1076,1
    - Dst: AncestorCandidateFinder::NumRemaining
      Src: /src/bitcoin-core/src/cluster_linearize.h:1084,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/cluster_linearize.h:1090,1
    - Dst: std::optional::FindCandidateSet
      Src: /src/bitcoin-core/src/cluster_linearize.h:1090,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1100,1
    - Dst: LinearizationChunking::IntersectPrefixes
      Src: /src/bitcoin-core/src/cluster_linearize.h:1101,1
    - Dst: AppendTopo
      Src: /src/bitcoin-core/src/cluster_linearize.h:1106,1
    - Dst: AncestorCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1109,1
    - Dst: AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1110,1
    - Dst: std::optional::MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1111,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1112,1
    - Dst: LinearizationChunking::MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1113,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:1117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - ' depgraph'
    - max_iterations
    - rng_seed
    argTypes:
    - DepGraph<SetType>
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1118
    functionName: cluster_linearize::Linearize
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - std::move
    - LinearizationChunking::NumChunksLeft
    - AncestorCandidateFinder::AllDone
    - std::tie
    - std::optional::MarkDone
    - std::vector::reserve
    - SetInfo::feerate::IsEmpty
    - AncestorCandidateFinder::FindCandidateSet
    - LinearizationChunking::GetChunk
    - empty
    - Assume
    - std::optional::FindCandidateSet
    - TxCount
    - AncestorCandidateFinder::NumRemaining
    - AppendTopo
    - std::optional::emplace
    - AncestorCandidateFinder::MarkDone
    - LinearizationChunking::IntersectPrefixes
    - size
    - LinearizationChunking::MarkDone
    linkageType: ''
    returnType: std::tuple<std::vector<DepGraphIndex>, bool, uint64_t>
    signature: std::tuple<std::vector<DepGraphIndex>, bool, uint64_t> Linearize(const
      DepGraph<SetType>& depgraph, uint64_t max_iterations, uint64_t rng_seed, std::span<const
      DepGraphIndex> old_linearization = {}) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/cluster_linearize.h:1227,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1234,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:1234,1
    - Dst: std::span<DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1237,1
    - Dst: std::span<DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1239,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:1243,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:1244,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:1244,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:1245,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1260,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1261,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1265,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1266,1
    - Dst: deps::Overlaps
      Src: /src/bitcoin-core/src/cluster_linearize.h:1267,1
    - Dst: std::span<DepGraphIndex>::begin
      Src: /src/bitcoin-core/src/cluster_linearize.h:1306,1
    - Dst: std::span<DepGraphIndex>::end
      Src: /src/bitcoin-core/src/cluster_linearize.h:1311,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1317,1
    - Dst: std::span<DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - ' depgraph'
    - linearization
    argTypes:
    - DepGraph<SetType>
    - std::span<DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1319
    functionName: cluster_linearize::PostLinearize
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - std::span<DepGraphIndex>::end
    - bitset_detail::IntBitSet::Singleton
    - Descendants
    - Assume
    - feerate::IsEmpty
    - Ancestors
    - deps::Overlaps
    - std::span<DepGraphIndex>::begin
    - FeeRate
    - std::span<DepGraphIndex>::size
    - PositionRange
    linkageType: ''
    returnType: void
    signature: void PostLinearize(const DepGraph<SetType>& depgraph, std::span<DepGraphIndex>
      linearization)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1328,1
    - Dst: std::span<const DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1328,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1328,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1329,1
    - Dst: std::span<const DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1329,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1329,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1335,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/cluster_linearize.h:1336,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1336,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1340,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1340,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1341,1
    - Dst: NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1341,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:1345,1
    - Dst: GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:1346,1
    - Dst: LinearizationChunking::IntersectPrefixes
      Src: /src/bitcoin-core/src/cluster_linearize.h:1348,1
    - Dst: IntersectPrefixes
      Src: /src/bitcoin-core/src/cluster_linearize.h:1350,1
    - Dst: AppendTopo
      Src: /src/bitcoin-core/src/cluster_linearize.h:1353,1
    - Dst: LinearizationChunking::MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1354,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1355,1
    - Dst: MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1356,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1359,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1359,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ' depgraph'
    - lin1
    - lin2
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    - std::span<const DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1361
    functionName: cluster_linearize::MergeLinearizations
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - IntersectPrefixes
    - LinearizationChunking::IntersectPrefixes
    - std::vector::reserve
    - TxCount
    - LinearizationChunking::NumChunksLeft
    - AppendTopo
    - LinearizationChunking::MarkDone
    - NumChunksLeft
    - LinearizationChunking::GetChunk
    - std::span<const DepGraphIndex>::size
    - std::vector::size
    - MarkDone
    - GetChunk
    linkageType: ''
    returnType: std::vector<DepGraphIndex>
    signature: std::vector<DepGraphIndex> MergeLinearizations(const DepGraph<SetType>&
      depgraph, std::span<const DepGraphIndex> lin1, std::span<const DepGraphIndex>
      lin2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1370,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:1378,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:1381,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1384,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:1386,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:1391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' depgraph'
    - linearization
    argTypes:
    - DepGraph<SetType>
    - std::span<DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1393
    functionName: cluster_linearize::FixLinearization
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - SetType::Reset
    - SetType::Any
    - SetType::Set
    - Ancestors
    - std::span<DepGraphIndex>::size
    linkageType: ''
    returnType: void
    signature: void FixLinearization(const DepGraph<SetType>& depgraph, std::span<DepGraphIndex>
      linearization) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: cluster_linearize::DepGraph::Entry
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entry() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' f'
    - ' a'
    - ' d'
    argTypes:
    - FeeFrac
    - SetType
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: cluster_linearize::DepGraph::Entry
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entry(const FeeFrac& f, const SetType& a, const SetType& d) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - DepGraph
    - DepGraph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: operator==(const DepGraph& a, const DepGraph& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DepGraph& a, const DepGraph& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: cluster_linearize::DepGraph::DepGraph
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DepGraph() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: cluster_linearize::DepGraph::DepGraph
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DepGraph(const DepGraph&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: cluster_linearize::DepGraph::DepGraph
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DepGraph(DepGraph&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(const DepGraph&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DepGraph
    signature: DepGraph & operator=(const DepGraph&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(DepGraph&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DepGraph
    signature: DepGraph & operator=(DepGraph&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:91,1
    - Dst: std::span<const DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:91,1
    - Dst: cluster_linearize::DepGraph::PositionRange
      Src: /src/bitcoin-core/src/cluster_linearize.h:91,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:92,1
    - Dst: cluster_linearize::DepGraph::TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:92,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:93,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:95,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:97,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:98,1
    - Dst: Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:99,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:103,1
    - Dst: cluster_linearize::DepGraph::GetReducedParents
      Src: /src/bitcoin-core/src/cluster_linearize.h:106,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:106,1
    - Dst: cluster_linearize::DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/cluster_linearize.h:107,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:110,1
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:110,1
    - Dst: Last
      Src: /src/bitcoin-core/src/cluster_linearize.h:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' depgraph'
    - mapping
    - pos_range
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: cluster_linearize::DepGraph::DepGraph
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Positions
    - bitset_detail::IntBitSet::Singleton
    - cluster_linearize::DepGraph::AddDependencies
    - Assume
    - cluster_linearize::DepGraph::PositionRange
    - cluster_linearize::DepGraph::TxCount
    - None
    - cluster_linearize::DepGraph::GetReducedParents
    - SetType::Set
    - Last
    - Set
    - std::span<const DepGraphIndex>::size
    linkageType: ''
    returnType: void
    signature: void DepGraph(const DepGraph<SetType>& depgraph, std::span<const DepGraphIndex>
      mapping, DepGraphIndex pos_range) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: '& Positions() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetType
    signature: SetType & Positions() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: cluster_linearize::DepGraph::PositionRange
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex PositionRange() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: cluster_linearize::DepGraph::TxCount
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - Count
    linkageType: ''
    returnType: auto
    signature: auto TxCount() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& FeeRate(DepGraphIndex i) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac & FeeRate(DepGraphIndex i) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& FeeRate(DepGraphIndex i) noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac & FeeRate(DepGraphIndex i) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '& Ancestors(DepGraphIndex i) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetType
    signature: SetType & Ancestors(DepGraphIndex i) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& Descendants(DepGraphIndex i) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetType
    signature: SetType & Descendants(DepGraphIndex i) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/cluster_linearize.h:135,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/cluster_linearize.h:135,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:137,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:137,1
    - Dst: auto::First
      Src: /src/bitcoin-core/src/cluster_linearize.h:138,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:139,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:140,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:140,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:140,1
    - Dst: cluster_linearize::DepGraph::Entry
      Src: /src/bitcoin-core/src/cluster_linearize.h:142,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:142,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:142,1
    - Dst: Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' feefrac'
    argTypes:
    - FeeFrac
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: cluster_linearize::DepGraph::AddTransaction
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - cluster_linearize::DepGraph::Entry
    - auto::First
    - auto::Any
    - bitset_detail::IntBitSet::Singleton
    - Assume
    - BufferedFile::Fill
    - size
    - Set
    - emplace_back
    - CDBBatch::ApproximateSize
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex AddTransaction(const FeeFrac& feefrac) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:161,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:161,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' del'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: cluster_linearize::DepGraph::RemoveTransactions
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - pop_back
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void RemoveTransactions(const SetType& del) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:179,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:180,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:180,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:183,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:184,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:186,1
    - Dst: SetType::None
      Src: /src/bitcoin-core/src/cluster_linearize.h:188,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' parents'
    - child
    argTypes:
    - SetType
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: cluster_linearize::DepGraph::AddDependencies
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - Descendants
    - IsSubsetOf
    - Assume
    - Ancestors
    - SetType::None
    linkageType: ''
    returnType: void
    signature: void AddDependencies(const SetType& parents, DepGraphIndex child) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:210,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:211,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:214,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: cluster_linearize::DepGraph::GetReducedParents
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - SetType::Reset
    - Ancestors
    - SetType::Set
    linkageType: ''
    returnType: SetType
    signature: SetType GetReducedParents(DepGraphIndex i) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:231,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:232,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:235,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: cluster_linearize::DepGraph::GetReducedChildren
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Descendants
    - SetType::Reset
    - SetType::Set
    linkageType: ''
    returnType: SetType
    signature: SetType GetReducedChildren(DepGraphIndex i) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' elems'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: cluster_linearize::DepGraph::FeeRate
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac FeeRate(const SetType& elems) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:265,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:266,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:266,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:267,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:272,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:273,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' todo'
    - tx
    argTypes:
    - SetType
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 279
    functionName: cluster_linearize::DepGraph::GetConnectedComponent
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - Descendants
    - bitset_detail::IntBitSet::Singleton
    - IsSubsetOf
    - auto::Any
    - Assume
    - Ancestors
    linkageType: ''
    returnType: SetType
    signature: SetType GetConnectedComponent(const SetType& todo, DepGraphIndex tx)
      const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:290,1
    - Dst: cluster_linearize::DepGraph::GetConnectedComponent
      Src: /src/bitcoin-core/src/cluster_linearize.h:291,1
    - Dst: First
      Src: /src/bitcoin-core/src/cluster_linearize.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' todo'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: cluster_linearize::DepGraph::FindConnectedComponent
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - None
    - cluster_linearize::DepGraph::GetConnectedComponent
    - First
    linkageType: ''
    returnType: SetType
    signature: SetType FindConnectedComponent(const SetType& todo) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cluster_linearize::DepGraph::FindConnectedComponent
      Src: /src/bitcoin-core/src/cluster_linearize.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subset'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: cluster_linearize::DepGraph::IsConnected
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - cluster_linearize::DepGraph::FindConnectedComponent
    linkageType: ''
    returnType: bool
    signature: bool IsConnected(const SetType& subset) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cluster_linearize::DepGraph::IsConnected
      Src: /src/bitcoin-core/src/cluster_linearize.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: cluster_linearize::DepGraph::IsConnected
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - cluster_linearize::DepGraph::IsConnected
    linkageType: ''
    returnType: bool
    signature: bool IsConnected() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:315,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:316,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/cluster_linearize.h:317,1
    - Dst: begin
      Src: /src/bitcoin-core/src/cluster_linearize.h:317,1
    - Dst: end
      Src: /src/bitcoin-core/src/cluster_linearize.h:317,1
    - Dst: ancestors::Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:318,1
    - Dst: ancestors::Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' list'
    - ' select'
    argTypes:
    - std::vector<DepGraphIndex>
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: cluster_linearize::DepGraph::AppendTopo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - end
    - ancestors::Count
    - push_back
    - size
    - std::sort
    - begin
    linkageType: ''
    returnType: void
    signature: void AppendTopo(std::vector<DepGraphIndex>& list, const SetType& select)
      const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:328,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:329,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:329,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: cluster_linearize::DepGraph::IsAcyclic
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Positions
    - Descendants
    - Ancestors
    - bitset_detail::IntBitSet::Singleton
    linkageType: ''
    returnType: bool
    signature: bool IsAcyclic() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: cluster_linearize::SetInfo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInfo() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' txn'
    - ' fr'
    argTypes:
    - SetType
    - FeeFrac
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: cluster_linearize::SetInfo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInfo(const SetType& txn, const FeeFrac& fr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:354,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' depgraph'
    - pos
    argTypes:
    - DepGraph<SetType>
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: cluster_linearize::SetInfo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - bitset_detail::IntBitSet::Singleton
    - FeeRate
    linkageType: ''
    returnType: void
    signature: void SetInfo(const DepGraph<SetType>& depgraph, DepGraphIndex pos)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' depgraph'
    - ' txn'
    argTypes:
    - DepGraph<SetType>
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: cluster_linearize::SetInfo
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - FeeRate
    linkageType: ''
    returnType: void
    signature: void SetInfo(const DepGraph<SetType>& depgraph, const SetType& txn)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:363,1
    - Dst: cluster_linearize::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:364,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' depgraph'
    - pos
    argTypes:
    - DepGraph<SetType>
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: cluster_linearize::Set
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - cluster_linearize::Set
    - FeeRate
    - Assume
    linkageType: ''
    returnType: void
    signature: void Set(const DepGraph<SetType>& depgraph, DepGraphIndex pos) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:371,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/cluster_linearize.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SetInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: '& operator|=(const SetInfo& other) noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Overlaps
    - Assume
    linkageType: ''
    returnType: SetInfo
    signature: SetInfo & operator|=(const SetInfo& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' depgraph'
    - ' txn'
    argTypes:
    - DepGraph<SetType>
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: cluster_linearize::Add
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - FeeRate
    linkageType: ''
    returnType: SetInfo
    signature: SetInfo Add(const DepGraph<SetType>& depgraph, const SetType& txn)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cluster_linearize::swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:387,1
    - Dst: cluster_linearize::swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SetInfo
    - SetInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: cluster_linearize::swap
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - cluster_linearize::swap
    linkageType: ''
    returnType: void
    signature: void swap(SetInfo& a, SetInfo& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:402,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:404,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/cluster_linearize.h:404,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/cluster_linearize.h:405,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:406,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:409,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' depgraph'
    - linearization
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: cluster_linearize::ChunkLinearization
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - std::vector::back
    - std::move
    - std::vector::push_back
    - std::vector::pop_back
    - std::vector::empty
    - FeeRate
    linkageType: ''
    returnType: std::vector<FeeFrac>
    signature: std::vector<FeeFrac> ChunkLinearization(const DepGraph<SetType>& depgraph,
      std::span<const DepGraphIndex> linearization) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:437,1
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:437,1
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:440,1
    - Dst: front
      Src: /src/bitcoin-core/src/cluster_linearize.h:440,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/cluster_linearize.h:441,1
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:452,1
    - Dst: back
      Src: /src/bitcoin-core/src/cluster_linearize.h:452,1
    - Dst: back
      Src: /src/bitcoin-core/src/cluster_linearize.h:453,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:454,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:457,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 459
    functionName: cluster_linearize::LinearizationChunking::BuildChunks
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - empty
    - Assume
    - push_back
    - back
    - std::move
    - pop_back
    - front
    - subspan
    linkageType: ''
    returnType: void
    signature: void BuildChunks() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:467,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/cluster_linearize.h:469,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:469,1
    - Dst: cluster_linearize::LinearizationChunking::BuildChunks
      Src: /src/bitcoin-core/src/cluster_linearize.h:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' depgraph LIFETIMEBOUND'
    - LIFETIMEBOUND
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: cluster_linearize::LinearizationChunking::LinearizationChunking
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Set
    - reserve
    - TxCount
    - cluster_linearize::LinearizationChunking::BuildChunks
    linkageType: ''
    returnType: void
    signature: void LinearizationChunking(const DepGraph<SetType>& depgraph LIFETIMEBOUND,
      std::span<const DepGraphIndex> lin LIFETIMEBOUND) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: cluster_linearize::LinearizationChunking::NumChunksLeft
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex NumChunksLeft() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:479,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: '& GetChunk(DepGraphIndex n) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - size
    - Assume
    linkageType: ''
    returnType: SetInfo<SetType>
    signature: SetInfo<SetType> & GetChunk(DepGraphIndex n) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:486,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:486,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:487,1
    - Dst: SetType::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:487,1
    - Dst: GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:489,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/cluster_linearize.h:497,1
    - Dst: SetType::Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:497,1
    - Dst: clear
      Src: /src/bitcoin-core/src/cluster_linearize.h:500,1
    - Dst: cluster_linearize::LinearizationChunking::BuildChunks
      Src: /src/bitcoin-core/src/cluster_linearize.h:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - subset
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 504
    functionName: cluster_linearize::LinearizationChunking::MarkDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - subspan
    - SetType::Any
    - SetType::IsSubsetOf
    - clear
    - SetType::Count
    - GetChunk
    - cluster_linearize::LinearizationChunking::BuildChunks
    linkageType: ''
    returnType: void
    signature: void MarkDone(SetType subset) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:517,1
    - Dst: transactions::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:517,1
    - Dst: cluster_linearize::LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:520,1
    - Dst: GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:522,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:523,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' subset'
    argTypes:
    - SetInfo<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 539
    functionName: cluster_linearize::LinearizationChunking::IntersectPrefixes
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - SetType::Any
    - transactions::IsSubsetOf
    - cluster_linearize::LinearizationChunking::NumChunksLeft
    - FeeRate
    - GetChunk
    linkageType: ''
    returnType: SetInfo<SetType>
    signature: SetInfo<SetType> IntersectPrefixes(const SetInfo<SetType>& subset)
      const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:568,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/cluster_linearize.h:569,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:572,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:574,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:577,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:577,1
    - Dst: SetType::First
      Src: /src/bitcoin-core/src/cluster_linearize.h:578,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:581,1
    - Dst: FeeFrac::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:581,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:582,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:585,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' depgraph LIFETIMEBOUND'
    argTypes:
    - DepGraph<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 590
    functionName: cluster_linearize::AncestorCandidateFinder::AncestorCandidateFinder
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Positions
    - Assume
    - SetType::Any
    - FeeFrac::IsEmpty
    - Ancestors
    - SetType::First
    - FeeRate
    - PositionRange
    linkageType: ''
    returnType: void
    signature: void AncestorCandidateFinder(const DepGraph<SetType>& depgraph LIFETIMEBOUND)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:600,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:600,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:601,1
    - Dst: SetType::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:601,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:604,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - select
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 609
    functionName: cluster_linearize::AncestorCandidateFinder::MarkDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Descendants
    - Assume
    - SetType::Any
    - SetType::IsSubsetOf
    - FeeRate
    linkageType: ''
    returnType: void
    signature: void MarkDone(SetType select) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: cluster_linearize::AncestorCandidateFinder::AllDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - None
    linkageType: ''
    returnType: bool
    signature: bool AllDone() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: cluster_linearize::AncestorCandidateFinder::NumRemaining
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Count
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex NumRemaining() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:630,1
    - Dst: cluster_linearize::AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:630,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/cluster_linearize.h:633,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:634,1
    - Dst: IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:634,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:639,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/cluster_linearize.h:639,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 641
    functionName: cluster_linearize::AncestorCandidateFinder::FindCandidateSet
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - cluster_linearize::AncestorCandidateFinder::AllDone
    - std::optional::has_value
    - Ancestors
    - IsEmpty
    linkageType: ''
    returnType: SetInfo<SetType>
    signature: SetInfo<SetType> FindCandidateSet() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 674
    functionName: cluster_linearize::SearchCandidateFinder::SortedToOriginal
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - SetType::Set
    linkageType: ''
    returnType: SetType
    signature: SetType SortedToOriginal(const SetType& arg) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: cluster_linearize::SearchCandidateFinder::OriginalToSorted
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - SetType::Set
    linkageType: ''
    returnType: SetType
    signature: SetType OriginalToSorted(const SetType& arg) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:694,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/cluster_linearize.h:695,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:700,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/cluster_linearize.h:703,1
    - Dst: begin
      Src: /src/bitcoin-core/src/cluster_linearize.h:703,1
    - Dst: end
      Src: /src/bitcoin-core/src/cluster_linearize.h:703,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:704,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:704,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:709,1
    - Dst: DepGraph
      Src: /src/bitcoin-core/src/cluster_linearize.h:713,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:713,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/cluster_linearize.h:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' depgraph'
    - rng_seed
    argTypes:
    - DepGraph<SetType>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 715
    functionName: cluster_linearize::SearchCandidateFinder::SearchCandidateFinder
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Positions
    - end
    - TxCount
    - size
    - DepGraph
    - FeeRate
    - std::sort
    - PositionRange
    - begin
    linkageType: ''
    returnType: void
    signature: void SearchCandidateFinder(const DepGraph<SetType>& depgraph, uint64_t
      rng_seed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: cluster_linearize::SearchCandidateFinder::AllDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - None
    linkageType: ''
    returnType: bool
    signature: bool AllDone() const noexcept
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:742,1
    - Dst: cluster_linearize::SearchCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:742,1
    - Dst: cluster_linearize::SearchCandidateFinder::OriginalToSorted
      Src: /src/bitcoin-core/src/cluster_linearize.h:745,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:775,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:776,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:777,1
    - Dst: VecDeque::VecDeque
      Src: /src/bitcoin-core/src/cluster_linearize.h:782,1
    - Dst: VecDeque::reserve
      Src: /src/bitcoin-core/src/cluster_linearize.h:783,1
    - Dst: std::max<size_t>
      Src: /src/bitcoin-core/src/cluster_linearize.h:783,1
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:783,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/cluster_linearize.h:791,1
    - Dst: SetInfo<SetType>::feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:796,1
    - Dst: SetInfo
      Src: /src/bitcoin-core/src/cluster_linearize.h:796,1
    - Dst: VecDeque::emplace_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:797,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:798,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:800,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:807,1
    - Dst: SetType::Last
      Src: /src/bitcoin-core/src/cluster_linearize.h:808,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:809,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:810,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:824,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:834,1
    - Dst: auto::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:835,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:853,1
    - Dst: auto::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:854,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:858,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:864,1
    - Dst: SetType::Last
      Src: /src/bitcoin-core/src/cluster_linearize.h:865,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:866,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:867,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:875,1
    - Dst: Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:875,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:877,1
    - Dst: transactions::None
      Src: /src/bitcoin-core/src/cluster_linearize.h:877,1
    - Dst: None
      Src: /src/bitcoin-core/src/cluster_linearize.h:880,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:886,1
    - Dst: VecDeque::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:886,1
    - Dst: VecDeque::capacity
      Src: /src/bitcoin-core/src/cluster_linearize.h:886,1
    - Dst: VecDeque::emplace_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:887,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:887,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:888,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:889,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:898,1
    - Dst: und::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:898,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:900,1
    - Dst: inc::transactions::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:900,1
    - Dst: und::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:900,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:902,1
    - Dst: inc::transactions::Overlaps
      Src: /src/bitcoin-core/src/cluster_linearize.h:902,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:904,1
    - Dst: inc::feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:904,1
    - Dst: pot_feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:904,1
    - Dst: und::First
      Src: /src/bitcoin-core/src/cluster_linearize.h:906,1
    - Dst: inc::feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:907,1
    - Dst: und::Overlaps
      Src: /src/bitcoin-core/src/cluster_linearize.h:910,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:916,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:933,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:934,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:934,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:943,1
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:943,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:944,1
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:944,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:945,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/cluster_linearize.h:947,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:953,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/cluster_linearize.h:953,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:956,1
    - Dst: add_fn
      Src: /src/bitcoin-core/src/cluster_linearize.h:957,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:961,1
    - Dst: add_fn
      Src: /src/bitcoin-core/src/cluster_linearize.h:962,1
    - Dst: inc::Add
      Src: /src/bitcoin-core/src/cluster_linearize.h:962,1
    - Dst: VecDeque::empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:981,1
    - Dst: VecDeque::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:983,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/cluster_linearize.h:983,1
    - Dst: cluster_linearize::SearchCandidateFinder::Swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:984,1
    - Dst: VecDeque::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:991,1
    - Dst: VecDeque::front
      Src: /src/bitcoin-core/src/cluster_linearize.h:991,1
    - Dst: Count
      Src: /src/bitcoin-core/src/cluster_linearize.h:991,1
    - Dst: VecDeque::capacity
      Src: /src/bitcoin-core/src/cluster_linearize.h:991,1
    - Dst: VecDeque::back
      Src: /src/bitcoin-core/src/cluster_linearize.h:993,1
    - Dst: VecDeque::pop_back
      Src: /src/bitcoin-core/src/cluster_linearize.h:994,1
    - Dst: split_fn
      Src: /src/bitcoin-core/src/cluster_linearize.h:995,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:995,1
    - Dst: VecDeque::front
      Src: /src/bitcoin-core/src/cluster_linearize.h:1000,1
    - Dst: VecDeque::pop_front
      Src: /src/bitcoin-core/src/cluster_linearize.h:1001,1
    - Dst: split_fn
      Src: /src/bitcoin-core/src/cluster_linearize.h:1002,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:1002,1
    - Dst: cluster_linearize::SearchCandidateFinder::SortedToOriginal
      Src: /src/bitcoin-core/src/cluster_linearize.h:1007,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:1008,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 93
    argCount: 2
    argNames:
    - max_iterations
    - best
    argTypes:
    - uint64_t
    - SetInfo<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 740
    functionDepth: 2
    functionLinenumber: 740
    functionLinenumberEnd: 1009
    functionName: cluster_linearize::SearchCandidateFinder::FindCandidateSet
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - auto::Any
    - VecDeque::size
    - inc::feerate::IsEmpty
    - cluster_linearize::SearchCandidateFinder::AllDone
    - und::Overlaps
    - cluster_linearize::SearchCandidateFinder::OriginalToSorted
    - SetType::Any
    - std::move
    - swap
    - FindConnectedComponent
    - SetInfo
    - std::max<size_t>
    - SetType::Last
    - SetInfo<SetType>::feerate::IsEmpty
    - IsEmpty
    - Any
    - inc::Add
    - VecDeque::empty
    - randbool
    - FeeRate
    - VecDeque::front
    - und::Any
    - pot_feerate::IsEmpty
    - cluster_linearize::SearchCandidateFinder::SortedToOriginal
    - auto::IsSubsetOf
    - Ancestors
    - VecDeque::pop_front
    - Count
    - VecDeque::emplace_back
    - VecDeque::reserve
    - Descendants
    - Assume
    - VecDeque::pop_back
    - None
    - feerate::IsEmpty
    - std::optional::has_value
    - SetType::Reset
    - cluster_linearize::SearchCandidateFinder::Swap
    - transactions::None
    - VecDeque::capacity
    - auto::Set
    - VecDeque::VecDeque
    - add_fn
    - und::First
    - split_fn
    - inc::transactions::Overlaps
    - und::IsSubsetOf
    - inc::transactions::IsSubsetOf
    - VecDeque::back
    linkageType: ''
    returnType: std::pair<SetInfo<SetType>, uint64_t>
    signature: std::pair<SetInfo<SetType>, uint64_t> FindCandidateSet(uint64_t max_iterations,
      SetInfo<SetType> best) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:767,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ' i'
    - ' u'
    - ' p_f'
    argTypes:
    - SetInfo<SetType>
    - SetType
    - FeeFrac
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: cluster_linearize::SearchCandidateFinder::WorkItem
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - feerate::IsEmpty
    - IsEmpty
    - Assume
    - std::move
    linkageType: ''
    returnType: void
    signature: void WorkItem(SetInfo<SetType>&& i, SetType&& u, FeeFrac&& p_f) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:775,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:776,1
    - Dst: swap
      Src: /src/bitcoin-core/src/cluster_linearize.h:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WorkItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 778
    functionName: cluster_linearize::SearchCandidateFinder::Swap
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(WorkItem& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cluster_linearize::SearchCandidateFinder::OriginalToSorted
      Src: /src/bitcoin-core/src/cluster_linearize.h:1017,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1018,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:1018,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1019,1
    - Dst: auto::IsSubsetOf
      Src: /src/bitcoin-core/src/cluster_linearize.h:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' done'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1021
    functionName: cluster_linearize::SearchCandidateFinder::MarkDone
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - cluster_linearize::SearchCandidateFinder::OriginalToSorted
    - auto::Any
    - Assume
    - auto::IsSubsetOf
    linkageType: ''
    returnType: void
    signature: void MarkDone(const SetType& done) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1045,1
    - Dst: empty
      Src: /src/bitcoin-core/src/cluster_linearize.h:1045,1
    - Dst: size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1045,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1045,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1046,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/cluster_linearize.h:1053,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1053,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1060,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1060,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/cluster_linearize.h:1063,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1072,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:1072,1
    - Dst: AncestorCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/cluster_linearize.h:1075,1
    - Dst: SetInfo::feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:1076,1
    - Dst: AncestorCandidateFinder::NumRemaining
      Src: /src/bitcoin-core/src/cluster_linearize.h:1084,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/cluster_linearize.h:1090,1
    - Dst: std::optional::FindCandidateSet
      Src: /src/bitcoin-core/src/cluster_linearize.h:1090,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1100,1
    - Dst: LinearizationChunking::IntersectPrefixes
      Src: /src/bitcoin-core/src/cluster_linearize.h:1101,1
    - Dst: AppendTopo
      Src: /src/bitcoin-core/src/cluster_linearize.h:1106,1
    - Dst: AncestorCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1109,1
    - Dst: AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1110,1
    - Dst: std::optional::MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1111,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1112,1
    - Dst: LinearizationChunking::MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1113,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/cluster_linearize.h:1117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - ' depgraph'
    - max_iterations
    - rng_seed
    argTypes:
    - DepGraph<SetType>
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1118
    functionName: cluster_linearize::Linearize
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - std::move
    - LinearizationChunking::NumChunksLeft
    - AncestorCandidateFinder::AllDone
    - std::tie
    - std::optional::MarkDone
    - std::vector::reserve
    - SetInfo::feerate::IsEmpty
    - AncestorCandidateFinder::FindCandidateSet
    - LinearizationChunking::GetChunk
    - empty
    - Assume
    - std::optional::FindCandidateSet
    - TxCount
    - AncestorCandidateFinder::NumRemaining
    - AppendTopo
    - std::optional::emplace
    - AncestorCandidateFinder::MarkDone
    - LinearizationChunking::IntersectPrefixes
    - size
    - LinearizationChunking::MarkDone
    linkageType: ''
    returnType: std::tuple<std::vector<DepGraphIndex>, bool, uint64_t>
    signature: std::tuple<std::vector<DepGraphIndex>, bool, uint64_t> Linearize(const
      DepGraph<SetType>& depgraph, uint64_t max_iterations, uint64_t rng_seed, std::span<const
      DepGraphIndex> old_linearization = {}) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/cluster_linearize.h:1227,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1234,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/cluster_linearize.h:1234,1
    - Dst: std::span<DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1237,1
    - Dst: std::span<DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1239,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/cluster_linearize.h:1243,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/cluster_linearize.h:1244,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:1244,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/cluster_linearize.h:1245,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1260,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1261,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1265,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1266,1
    - Dst: deps::Overlaps
      Src: /src/bitcoin-core/src/cluster_linearize.h:1267,1
    - Dst: std::span<DepGraphIndex>::begin
      Src: /src/bitcoin-core/src/cluster_linearize.h:1306,1
    - Dst: std::span<DepGraphIndex>::end
      Src: /src/bitcoin-core/src/cluster_linearize.h:1311,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1317,1
    - Dst: std::span<DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - ' depgraph'
    - linearization
    argTypes:
    - DepGraph<SetType>
    - std::span<DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1319
    functionName: cluster_linearize::PostLinearize
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - std::span<DepGraphIndex>::end
    - bitset_detail::IntBitSet::Singleton
    - Descendants
    - Assume
    - feerate::IsEmpty
    - Ancestors
    - deps::Overlaps
    - std::span<DepGraphIndex>::begin
    - FeeRate
    - std::span<DepGraphIndex>::size
    - PositionRange
    linkageType: ''
    returnType: void
    signature: void PostLinearize(const DepGraph<SetType>& depgraph, std::span<DepGraphIndex>
      linearization)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1328,1
    - Dst: std::span<const DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1328,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1328,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1329,1
    - Dst: std::span<const DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1329,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1329,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1335,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/cluster_linearize.h:1336,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1336,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1340,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1340,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1341,1
    - Dst: NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1341,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:1345,1
    - Dst: GetChunk
      Src: /src/bitcoin-core/src/cluster_linearize.h:1346,1
    - Dst: LinearizationChunking::IntersectPrefixes
      Src: /src/bitcoin-core/src/cluster_linearize.h:1348,1
    - Dst: IntersectPrefixes
      Src: /src/bitcoin-core/src/cluster_linearize.h:1350,1
    - Dst: AppendTopo
      Src: /src/bitcoin-core/src/cluster_linearize.h:1353,1
    - Dst: LinearizationChunking::MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1354,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/cluster_linearize.h:1355,1
    - Dst: MarkDone
      Src: /src/bitcoin-core/src/cluster_linearize.h:1356,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1359,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1359,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/cluster_linearize.h:1359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ' depgraph'
    - lin1
    - lin2
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    - std::span<const DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1361
    functionName: cluster_linearize::MergeLinearizations
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - IntersectPrefixes
    - LinearizationChunking::IntersectPrefixes
    - std::vector::reserve
    - TxCount
    - LinearizationChunking::NumChunksLeft
    - AppendTopo
    - LinearizationChunking::MarkDone
    - NumChunksLeft
    - LinearizationChunking::GetChunk
    - std::span<const DepGraphIndex>::size
    - std::vector::size
    - MarkDone
    - GetChunk
    linkageType: ''
    returnType: std::vector<DepGraphIndex>
    signature: std::vector<DepGraphIndex> MergeLinearizations(const DepGraph<SetType>&
      depgraph, std::span<const DepGraphIndex> lin1, std::span<const DepGraphIndex>
      lin2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<DepGraphIndex>::size
      Src: /src/bitcoin-core/src/cluster_linearize.h:1370,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/cluster_linearize.h:1378,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/cluster_linearize.h:1381,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/cluster_linearize.h:1384,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/cluster_linearize.h:1386,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/cluster_linearize.h:1391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' depgraph'
    - linearization
    argTypes:
    - DepGraph<SetType>
    - std::span<DepGraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1393
    functionName: cluster_linearize::FixLinearization
    functionSourceFile: /src/bitcoin-core/src/cluster_linearize.h
    functionUses: 0
    functionsReached:
    - Assume
    - SetType::Reset
    - SetType::Any
    - SetType::Set
    - Ancestors
    - std::span<DepGraphIndex>::size
    linkageType: ''
    returnType: void
    signature: void FixLinearization(const DepGraph<SetType>& depgraph, std::span<DepGraphIndex>
      linearization) noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getaddrinfo
      Src: /src/bitcoin-core/src/netbase.cpp:63,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/netbase.cpp:63,1
    - Dst: getaddrinfo
      Src: /src/bitcoin-core/src/netbase.cpp:69,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/netbase.cpp:69,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netbase.cpp:83,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/netbase.cpp:84,1
    - Dst: reinterpret_cast<sockaddr_in*>
      Src: /src/bitcoin-core/src/netbase.cpp:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netbase.cpp:87,1
    - Dst: reinterpret_cast<sockaddr_in6*>
      Src: /src/bitcoin-core/src/netbase.cpp:88,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/netbase.cpp:89,1
    - Dst: freeaddrinfo
      Src: /src/bitcoin-core/src/netbase.cpp:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ' name'
    - allow_lookup
    argTypes:
    - std::string
    - bool
    assertStmts:
    - condition: (ai_trav->ai_addrlen >= sizeof(sockaddr_in))
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/netbase.cpp
    - condition: (ai_trav->ai_addrlen >= sizeof(sockaddr_in6))
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bitcoin-core/src/netbase.cpp
    constantsTouched: []
    func_position:
      end: 96
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 96
    functionName: WrappedGetAddrInfo
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - reinterpret_cast<sockaddr_in*>
    - freeaddrinfo
    - reinterpret_cast<sockaddr_in6*>
    - getaddrinfo
    - c_str
    - assert
    linkageType: ''
    returnType: std::vector<CNetAddr>
    signature: std::vector<CNetAddr> WrappedGetAddrInfo(const std::string& name, bool
      allow_lookup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ToLower
      Src: /src/bitcoin-core/src/netbase.cpp:101,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netbase.cpp:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' net_in'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: ParseNetwork
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - ToLower
    linkageType: ''
    returnType: enum Network
    signature: enum Network ParseNetwork(const std::string& net_in)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netbase.cpp:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netbase.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - net
    argTypes:
    - enum Network
    assertStmts:
    - condition: (false)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/bitcoin-core/src/netbase.cpp
    - condition: (false)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/bitcoin-core/src/netbase.cpp
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: GetNetworkName
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string GetNetworkName(enum Network net)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Network>
      Src: /src/bitcoin-core/src/netbase.cpp:138,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/netbase.cpp:140,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/netbase.cpp:140,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/netbase.cpp:143,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/netbase.cpp:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - append_unroutable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: GetNetworkNames
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Network>
    - std::vector::emplace_back
    - GetNetworkName
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetNetworkNames(bool append_unroutable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ContainsNoNUL
      Src: /src/bitcoin-core/src/netbase.cpp:150,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/netbase.cpp:152,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/netbase.cpp:159,1
    - Dst: dns_lookup_function
      Src: /src/bitcoin-core/src/netbase.cpp:164,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/netbase.cpp:165,1
    - Dst: IsInternal
      Src: /src/bitcoin-core/src/netbase.cpp:169,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ' name'
    - nMaxSolutions
    - fAllowLookup
    - dns_lookup_function
    argTypes:
    - std::string
    - unsigned int
    - bool
    - DNSLookupFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 175
    functionName: LookupIntern
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - dns_lookup_function
    - CNetAddr::CNetAddr
    - std::vector::push_back
    - CNetAddr::SetSpecial
    - IsInternal
    - ContainsNoNUL
    - std::vector::size
    linkageType: ''
    returnType: std::vector<CNetAddr>
    signature: std::vector<CNetAddr> LookupIntern(const std::string& name, unsigned
      int nMaxSolutions, bool fAllowLookup, DNSLookupFn dns_lookup_function)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ContainsNoNUL
      Src: /src/bitcoin-core/src/netbase.cpp:179,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/netbase.cpp:181,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/netbase.cpp:182,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/netbase.cpp:182,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/netbase.cpp:183,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/netbase.cpp:183,1
    - Dst: LookupIntern
      Src: /src/bitcoin-core/src/netbase.cpp:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ' name'
    - nMaxSolutions
    - fAllowLookup
    - dns_lookup_function
    argTypes:
    - std::string
    - unsigned int
    - bool
    - DNSLookupFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: LookupHost
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 2
    functionsReached:
    - std::string::size
    - LookupIntern
    - std::string::empty
    - std::string::front
    - std::string::back
    - ContainsNoNUL
    - std::string::substr
    linkageType: ''
    returnType: std::vector<CNetAddr>
    signature: std::vector<CNetAddr> LookupHost(const std::string& name, unsigned
      int nMaxSolutions, bool fAllowLookup, DNSLookupFn dns_lookup_function)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/netbase.cpp:191,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/netbase.cpp:192,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/netbase.cpp:192,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/netbase.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' name'
    - fAllowLookup
    - dns_lookup_function
    argTypes:
    - std::string
    - bool
    - DNSLookupFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: LookupHost
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 3
    functionsReached:
    - std::vector::front
    - LookupHost
    - std::vector::empty
    - std::make_optional
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> LookupHost(const std::string& name, bool fAllowLookup,
      DNSLookupFn dns_lookup_function)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/netbase.cpp:197,1
    - Dst: ContainsNoNUL
      Src: /src/bitcoin-core/src/netbase.cpp:197,1
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/netbase.cpp:202,1
    - Dst: LookupIntern
      Src: /src/bitcoin-core/src/netbase.cpp:204,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/netbase.cpp:205,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/netbase.cpp:207,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/netbase.cpp:207,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/netbase.cpp:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - ' name'
    - portDefault
    - fAllowLookup
    - nMaxSolutions
    - dns_lookup_function
    argTypes:
    - std::string
    - uint16_t
    - bool
    - unsigned int
    - DNSLookupFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: Lookup
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LookupIntern
    - std::vector::emplace_back
    - empty
    - std::vector::reserve
    - SplitHostPort
    - std::vector::empty
    - ContainsNoNUL
    - std::vector::size
    linkageType: ''
    returnType: std::vector<CService>
    signature: std::vector<CService> Lookup(const std::string& name, uint16_t portDefault,
      bool fAllowLookup, unsigned int nMaxSolutions, DNSLookupFn dns_lookup_function)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/bitcoin-core/src/netbase.cpp:215,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/netbase.cpp:217,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/netbase.cpp:217,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/netbase.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' name'
    - portDefault
    - fAllowLookup
    - dns_lookup_function
    argTypes:
    - std::string
    - uint16_t
    - bool
    - DNSLookupFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: Lookup
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 1
    functionsReached:
    - std::vector::front
    - Lookup
    - std::vector::empty
    - std::make_optional
    linkageType: ''
    returnType: std::optional<CService>
    signature: std::optional<CService> Lookup(const std::string& name, uint16_t portDefault,
      bool fAllowLookup, DNSLookupFn dns_lookup_function)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ContainsNoNUL
      Src: /src/bitcoin-core/src/netbase.cpp:222,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/netbase.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' name'
    - portDefault
    - dns_lookup_function
    argTypes:
    - std::string
    - uint16_t
    - DNSLookupFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: LookupNumeric
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 1
    functionsReached:
    - Lookup
    - ContainsNoNUL
    linkageType: ''
    returnType: CService
    signature: CService LookupNumeric(const std::string& name, uint16_t portDefault,
      DNSLookupFn dns_lookup_function)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/bitcoin-core/src/netbase.cpp:233,1
    - Dst: substr
      Src: /src/bitcoin-core/src/netbase.cpp:236,1
    - Dst: length
      Src: /src/bitcoin-core/src/netbase.cpp:236,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/netbase.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: IsUnixSocketPath
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 1
    functionsReached:
    - substr
    - std::string::size
    - starts_with
    - length
    linkageType: ''
    returnType: bool
    signature: bool IsUnixSocketPath(const std::string& name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Now
      Src: /src/bitcoin-core/src/netbase.cpp:324,1
    - Dst: Recv
      Src: /src/bitcoin-core/src/netbase.cpp:327,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/netbase.cpp:334,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/netbase.cpp:339,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/netbase.cpp:340,1
    - Dst: Now
      Src: /src/bitcoin-core/src/netbase.cpp:350,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - data
    - len
    - timeout
    - ' sock'
    argTypes:
    - uint8_t*
    - size_t
    - std::chrono::milliseconds
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 353
    functionName: InterruptibleRecv
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - Recv
    - WSAGetLastError
    - Wait
    - std::min
    - Now
    linkageType: ''
    returnType: IntrRecvError
    signature: IntrRecvError InterruptibleRecv(uint8_t* data, size_t len, std::chrono::milliseconds
      timeout, const Sock& sock)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netbase.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - err
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 394
    functionName: Socks5ErrorString
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string Socks5ErrorString(uint8_t err)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/netbase.cpp:400,1
    - Dst: size
      Src: /src/bitcoin-core/src/netbase.cpp:401,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:402,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:407,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:409,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:410,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:411,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:413,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:414,1
    - Dst: SendComplete
      Src: /src/bitcoin-core/src/netbase.cpp:416,1
    - Dst: InterruptibleRecv
      Src: /src/bitcoin-core/src/netbase.cpp:418,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netbase.cpp:419,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:423,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:429,1
    - Dst: ProxyCredentials*::username::size
      Src: /src/bitcoin-core/src/netbase.cpp:430,1
    - Dst: ProxyCredentials*::password::size
      Src: /src/bitcoin-core/src/netbase.cpp:430,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:431,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:434,1
    - Dst: ProxyCredentials*::username::size
      Src: /src/bitcoin-core/src/netbase.cpp:434,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/netbase.cpp:435,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/netbase.cpp:435,1
    - Dst: ProxyCredentials*::username::begin
      Src: /src/bitcoin-core/src/netbase.cpp:435,1
    - Dst: ProxyCredentials*::username::end
      Src: /src/bitcoin-core/src/netbase.cpp:435,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:436,1
    - Dst: ProxyCredentials*::password::size
      Src: /src/bitcoin-core/src/netbase.cpp:436,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/netbase.cpp:437,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/netbase.cpp:437,1
    - Dst: ProxyCredentials*::password::begin
      Src: /src/bitcoin-core/src/netbase.cpp:437,1
    - Dst: ProxyCredentials*::password::end
      Src: /src/bitcoin-core/src/netbase.cpp:437,1
    - Dst: SendComplete
      Src: /src/bitcoin-core/src/netbase.cpp:438,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/netbase.cpp:439,1
    - Dst: InterruptibleRecv
      Src: /src/bitcoin-core/src/netbase.cpp:441,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:442,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:446,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:452,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:456,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:457,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:459,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:460,1
    - Dst: size
      Src: /src/bitcoin-core/src/netbase.cpp:460,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/netbase.cpp:461,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/netbase.cpp:461,1
    - Dst: begin
      Src: /src/bitcoin-core/src/netbase.cpp:461,1
    - Dst: end
      Src: /src/bitcoin-core/src/netbase.cpp:461,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:462,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netbase.cpp:463,1
    - Dst: SendComplete
      Src: /src/bitcoin-core/src/netbase.cpp:464,1
    - Dst: InterruptibleRecv
      Src: /src/bitcoin-core/src/netbase.cpp:466,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:473,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:478,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/netbase.cpp:483,1
    - Dst: Socks5ErrorString
      Src: /src/bitcoin-core/src/netbase.cpp:484,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:488,1
    - Dst: InterruptibleRecv
      Src: /src/bitcoin-core/src/netbase.cpp:493,1
    - Dst: InterruptibleRecv
      Src: /src/bitcoin-core/src/netbase.cpp:494,1
    - Dst: InterruptibleRecv
      Src: /src/bitcoin-core/src/netbase.cpp:496,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:498,1
    - Dst: InterruptibleRecv
      Src: /src/bitcoin-core/src/netbase.cpp:502,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:506,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:511,1
    - Dst: InterruptibleRecv
      Src: /src/bitcoin-core/src/netbase.cpp:514,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:515,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/netbase.cpp:518,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/netbase.cpp:521,1
    - Dst: what
      Src: /src/bitcoin-core/src/netbase.cpp:521,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 115
    argCount: 4
    argNames:
    - ' strDest'
    - port
    - auth
    - ' sock'
    argTypes:
    - std::string
    - uint16_t
    - ProxyCredentials*
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 524
    functionName: Socks5
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - ProxyCredentials*::username::end
    - std::vector::push_back
    - ProxyCredentials*::username::begin
    - what
    - SendComplete
    - std::vector::end
    - ProxyCredentials*::password::begin
    - std::vector::insert
    - ProxyCredentials*::username::size
    - ProxyCredentials*::password::size
    - InterruptibleRecv
    - LogError
    - LogDebug
    - ProxyCredentials*::password::end
    - end
    - LogPrintLevel
    - size
    - LogPrintf
    - Socks5ErrorString
    - begin
    linkageType: ''
    returnType: bool
    signature: bool Socks5(const std::string& strDest, uint16_t port, const ProxyCredentials*
      auth, const Sock& sock)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/bitcoin-core/src/netbase.cpp:532,1
    - Dst: std::make_unique<Sock>
      Src: /src/bitcoin-core/src/netbase.cpp:537,1
    - Dst: auto::IsSelectable
      Src: /src/bitcoin-core/src/netbase.cpp:545,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netbase.cpp:546,1
    - Dst: auto::SetSockOpt
      Src: /src/bitcoin-core/src/netbase.cpp:554,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netbase.cpp:555,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/netbase.cpp:556,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/netbase.cpp:556,1
    - Dst: auto::SetNonBlocking
      Src: /src/bitcoin-core/src/netbase.cpp:561,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netbase.cpp:562,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/netbase.cpp:562,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/netbase.cpp:562,1
    - Dst: auto::SetSockOpt
      Src: /src/bitcoin-core/src/netbase.cpp:573,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/netbase.cpp:574,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - domain
    - type
    - protocol
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 579
    functionName: CreateSockOS
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - NetworkErrorString
    - socket
    - auto::IsSelectable
    - auto::SetNonBlocking
    - LogDebug
    - std::make_unique<Sock>
    - WSAGetLastError
    - LogPrintf
    - auto::SetSockOpt
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> CreateSockOS(int domain, int type, int protocol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/netbase.cpp:586,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netbase.cpp:588,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/netbase.cpp:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - manual_connection
    - fmt
    argTypes:
    - bool
    - util::ConstevalFormatString<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: LogConnectFailure
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - tinyformat::detail::FormatArg::format
    - LogPrintf
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void LogConnectFailure(bool manual_connection, util::ConstevalFormatString<sizeof...(Args)>
      fmt, const Args&... args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Connect
      Src: /src/bitcoin-core/src/netbase.cpp:597,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/netbase.cpp:598,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/netbase.cpp:607,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netbase.cpp:608,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/netbase.cpp:610,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/netbase.cpp:610,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/netbase.cpp:613,1
    - Dst: GetSockOpt
      Src: /src/bitcoin-core/src/netbase.cpp:623,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netbase.cpp:625,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/netbase.cpp:625,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/netbase.cpp:625,1
    - Dst: LogConnectFailure
      Src: /src/bitcoin-core/src/netbase.cpp:629,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/netbase.cpp:632,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/netbase.cpp:637,1
    - Dst: LogConnectFailure
      Src: /src/bitcoin-core/src/netbase.cpp:642,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/netbase.cpp:642,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/netbase.cpp:642,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - ' sock'
    - sockaddr
    - len
    - ' dest_str'
    - manual_connection
    argTypes:
    - Sock
    - struct sockaddr*
    - socklen_t
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 647
    functionName: ConnectToSocket
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - NetworkErrorString
    - LogConnectFailure
    - Connect
    - WSAGetLastError
    - GetSockOpt
    - LogPrintf
    - Wait
    linkageType: ''
    returnType: bool
    signature: bool ConnectToSocket(const Sock& sock, struct sockaddr* sockaddr, socklen_t
      len, const std::string& dest_str, bool manual_connection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CreateSock
      Src: /src/bitcoin-core/src/netbase.cpp:651,1
    - Dst: GetSAFamily
      Src: /src/bitcoin-core/src/netbase.cpp:651,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/netbase.cpp:653,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/netbase.cpp:653,1
    - Dst: GetSockAddr
      Src: /src/bitcoin-core/src/netbase.cpp:660,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netbase.cpp:661,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/netbase.cpp:661,1
    - Dst: ConnectToSocket
      Src: /src/bitcoin-core/src/netbase.cpp:665,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/netbase.cpp:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' dest'
    - manual_connection
    argTypes:
    - CService
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 670
    functionName: ConnectDirectly
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - ToStringAddrPort
    - GetSAFamily
    - GetSockAddr
    - CreateSock
    - ConnectToSocket
    - LogPrintf
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> ConnectDirectly(const CService& dest, bool manual_connection)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/netbase.cpp:674,1
    - Dst: ConnectDirectly
      Src: /src/bitcoin-core/src/netbase.cpp:676,1
    - Dst: CreateSock
      Src: /src/bitcoin-core/src/netbase.cpp:679,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/netbase.cpp:681,1
    - Dst: substr
      Src: /src/bitcoin-core/src/netbase.cpp:685,1
    - Dst: length
      Src: /src/bitcoin-core/src/netbase.cpp:685,1
    - Dst: memset
      Src: /src/bitcoin-core/src/netbase.cpp:688,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netbase.cpp:691,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/netbase.cpp:691,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/netbase.cpp:691,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/netbase.cpp:691,1
    - Dst: ConnectToSocket
      Src: /src/bitcoin-core/src/netbase.cpp:694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 702
    functionName: Proxy::Connect
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - substr
    - std::string::length
    - CreateSock
    - ConnectToSocket
    - length
    - memset
    - memcpy
    - ConnectDirectly
    - std::string::c_str
    - std::min
    - Proxy::IsValid
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Proxy::Connect() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netbase.cpp:705,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/netbase.cpp:706,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.cpp:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - net
    - addrProxy
    argTypes:
    - enum Network
    - Proxy
    assertStmts:
    - condition: (net >= 0 && net < NET_MAX)
      pos:
        line_end: 704
        line_start: 704
        source_file: /src/bitcoin-core/src/netbase.cpp
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: SetProxy
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - assert
    - Proxy::IsValid
    linkageType: ''
    returnType: bool
    signature: bool SetProxy(enum Network net, const Proxy &addrProxy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netbase.cpp:714,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.cpp:715,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/netbase.cpp:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - net
    - proxyInfoOut
    argTypes:
    - enum Network
    - Proxy
    assertStmts:
    - condition: (net >= 0 && net < NET_MAX)
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/bitcoin-core/src/netbase.cpp
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: GetProxy
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - assert
    - IsValid
    linkageType: ''
    returnType: bool
    signature: bool GetProxy(enum Network net, Proxy &proxyInfoOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/netbase.cpp:723,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.cpp:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - addrProxy
    argTypes:
    - Proxy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 728
    functionName: SetNameProxy
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Proxy::IsValid
    linkageType: ''
    returnType: bool
    signature: bool SetNameProxy(const Proxy &addrProxy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.cpp:731,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/netbase.cpp:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nameProxyOut
    argTypes:
    - Proxy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 736
    functionName: GetNameProxy
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsValid
    linkageType: ''
    returnType: bool
    signature: bool GetNameProxy(Proxy &nameProxyOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.cpp:739,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/netbase.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 741
    functionName: HaveNameProxy
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsValid
    linkageType: ''
    returnType: bool
    signature: bool HaveNameProxy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/netbase.cpp:744,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/netbase.cpp:746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - addr
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: IsProxy
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 1
    functionsReached:
    - static_cast<CNetAddr>
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool IsProxy(const CNetAddr &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TorStreamIsolationCredentialsGenerator::GenerateUniquePrefix
      Src: /src/bitcoin-core/src/netbase.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 762
    functionName: TorStreamIsolationCredentialsGenerator::TorStreamIsolationCredentialsGenerator
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - TorStreamIsolationCredentialsGenerator::GenerateUniquePrefix
    linkageType: ''
    returnType: void
    signature: void TorStreamIsolationCredentialsGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netbase.cpp:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: TorStreamIsolationCredentialsGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: ProxyCredentials
    signature: ProxyCredentials Generate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandBytes
      Src: /src/bitcoin-core/src/netbase.cpp:784,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/netbase.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: TorStreamIsolationCredentialsGenerator::GenerateUniquePrefix
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 1
    functionsReached:
    - GetRandBytes
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string GenerateUniquePrefix()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Connect
      Src: /src/bitcoin-core/src/netbase.cpp:795,1
    - Dst: TorStreamIsolationCredentialsGenerator::TorStreamIsolationCredentialsGenerator
      Src: /src/bitcoin-core/src/netbase.cpp:803,1
    - Dst: TorStreamIsolationCredentialsGenerator::Generate
      Src: /src/bitcoin-core/src/netbase.cpp:804,1
    - Dst: Socks5
      Src: /src/bitcoin-core/src/netbase.cpp:805,1
    - Dst: Socks5
      Src: /src/bitcoin-core/src/netbase.cpp:809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ' proxy'
    - ' dest'
    - port
    - ' proxy_connection_failed'
    argTypes:
    - Proxy
    - std::string
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 814
    functionName: ConnectThroughProxy
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached:
    - Connect
    - TorStreamIsolationCredentialsGenerator::TorStreamIsolationCredentialsGenerator
    - TorStreamIsolationCredentialsGenerator::Generate
    - Socks5
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: "std::unique_ptr<Sock> ConnectThroughProxy(const Proxy& proxy,\n                                          const
      std::string& dest,\n                                          uint16_t port,\n
      \                                         bool& proxy_connection_failed)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CSubNet::CSubNet
      Src: /src/bitcoin-core/src/netbase.cpp:818,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netbase.cpp:819,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/netbase.cpp:819,1
    - Dst: ContainsNoNUL
      Src: /src/bitcoin-core/src/netbase.cpp:820,1
    - Dst: find_last_of
      Src: /src/bitcoin-core/src/netbase.cpp:824,1
    - Dst: substr
      Src: /src/bitcoin-core/src/netbase.cpp:825,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/netbase.cpp:826,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/netbase.cpp:828,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/netbase.cpp:829,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/netbase.cpp:829,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/netbase.cpp:829,1
    - Dst: substr
      Src: /src/bitcoin-core/src/netbase.cpp:831,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/netbase.cpp:832,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/netbase.cpp:834,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/netbase.cpp:837,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/netbase.cpp:838,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/netbase.cpp:839,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/netbase.cpp:839,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/netbase.cpp:844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ' subnet_str'
    argTypes:
    - std::string
    assertStmts:
    - condition: (!subnet.IsValid())
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/bitcoin-core/src/netbase.cpp
    constantsTouched: []
    func_position:
      end: 849
      start: 816
    functionDepth: 4
    functionLinenumber: 816
    functionLinenumberEnd: 849
    functionName: LookupSubNet
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 1
    functionsReached:
    - substr
    - MaybeFlipIPv6toCJDNS
    - std::optional::has_value
    - LookupHost
    - static_cast<CNetAddr>
    - std::optional::value
    - ToIntegral
    - CSubNet::IsValid
    - CSubNet::CSubNet
    - assert
    - ContainsNoNUL
    - find_last_of
    linkageType: ''
    returnType: CSubNet
    signature: CSubNet LookupSubNet(const std::string& subnet_str)
  - BBCount: 86
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 90
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 944
    functionName: IsBadPort
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBadPort(uint16_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CService::IsIPv6
      Src: /src/bitcoin-core/src/netbase.cpp:949,1
    - Dst: CService::HasCJDNSPrefix
      Src: /src/bitcoin-core/src/netbase.cpp:949,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/netbase.cpp:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 953
    functionName: MaybeFlipIPv6toCJDNS
    functionSourceFile: /src/bitcoin-core/src/netbase.cpp
    functionUses: 2
    functionsReached:
    - CService::HasCJDNSPrefix
    - CService::IsIPv6
    - Contains
    linkageType: ''
    returnType: CService
    signature: CService MaybeFlipIPv6toCJDNS(const CService& service)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule
      Src: /src/bitcoin-core/src/scheduler.h:55,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/scheduler.h:55,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/scheduler.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: (!newTaskMutex)
    functionSourceFile: /src/bitcoin-core/src/scheduler.h
    functionUses: 0
    functionsReached:
    - schedule
    - std::move
    - wallet::WalletRescanReserver::now
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!newTaskMutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/scheduler.h:81,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/scheduler.h:82,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/scheduler.h:83,1
    - Dst: join
      Src: /src/bitcoin-core/src/scheduler.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: CScheduler::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/scheduler.h
    functionUses: 0
    functionsReached:
    - join
    - WITH_LOCK
    - notify_all
    - joinable
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(!newTaskMutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/scheduler.h:88,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/scheduler.h:89,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/scheduler.h:90,1
    - Dst: join
      Src: /src/bitcoin-core/src/scheduler.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: (!newTaskMutex)
    functionSourceFile: /src/bitcoin-core/src/scheduler.h
    functionUses: 0
    functionsReached:
    - join
    - WITH_LOCK
    - notify_all
    - joinable
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!newTaskMutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/scheduler.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: CScheduler::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/scheduler.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(newTaskMutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' scheduler LIFETIMEBOUND'
    argTypes:
    - CScheduler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: SerialTaskRunner::SerialTaskRunner
    functionSourceFile: /src/bitcoin-core/src/scheduler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerialTaskRunner(CScheduler& scheduler LIFETIMEBOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Logger::Logger
      Src: /src/bitcoin-core/src/logging.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: LogInstance
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 4
    functionsReached:
    - BCLog::Logger::Logger
    linkageType: ''
    returnType: BCLog::Logger
    signature: BCLog::Logger & LogInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/bitcoin-core/src/logging.cpp:51,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/logging.cpp:51,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/logging.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - fp
    argTypes:
    - std::string_view
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: FileWriteStr
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - fwrite
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int FileWriteStr(std::string_view str, FILE *fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/logging.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/logging.cpp:59,1
    - Dst: assert
      Src: /src/bitcoin-core/src/logging.cpp:62,1
    - Dst: empty
      Src: /src/bitcoin-core/src/logging.cpp:62,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/logging.cpp:63,1
    - Dst: setbuf
      Src: /src/bitcoin-core/src/logging.cpp:68,1
    - Dst: FileWriteStr
      Src: /src/bitcoin-core/src/logging.cpp:72,1
    - Dst: LogPrintStr_
      Src: /src/bitcoin-core/src/logging.cpp:78,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging.cpp:78,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/logging.cpp:78,1
    - Dst: empty
      Src: /src/bitcoin-core/src/logging.cpp:80,1
    - Dst: front
      Src: /src/bitcoin-core/src/logging.cpp:81,1
    - Dst: FormatLogStrInPlace
      Src: /src/bitcoin-core/src/logging.cpp:83,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/logging.cpp:84,1
    - Dst: FileWriteStr
      Src: /src/bitcoin-core/src/logging.cpp:86,1
    - Dst: fwrite
      Src: /src/bitcoin-core/src/logging.cpp:87,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/logging.cpp:87,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/logging.cpp:87,1
    - Dst: cb
      Src: /src/bitcoin-core/src/logging.cpp:89,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/logging.cpp:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_buffering)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/logging.cpp
    - condition: (m_fileout == nullptr)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/logging.cpp
    - condition: (!m_file_path.empty())
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/logging.cpp
    constantsTouched: []
    func_position:
      end: 96
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 96
    functionName: BCLog::Logger::StartLogging()
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - FileWriteStr
    - pop_front
    - LogPrintStr_
    - setbuf
    - empty
    - std::string::data
    - std::string::size
    - fsbridge::fopen
    - FormatLogStrInPlace
    - fflush
    - leveldb::VersionSet::current
    - fwrite
    - strprintf
    - assert
    - cb
    - front
    linkageType: ''
    returnType: bool
    signature: bool BCLog::Logger::StartLogging()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/bitcoin-core/src/logging.cpp:102,1
    - Dst: clear
      Src: /src/bitcoin-core/src/logging.cpp:104,1
    - Dst: clear
      Src: /src/bitcoin-core/src/logging.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: BCLog::Logger::DisconnectTestLogger()
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - clear
    - fclose
    linkageType: ''
    returnType: void
    signature: void BCLog::Logger::DisconnectTestLogger()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/logging.cpp:115,1
    - Dst: assert
      Src: /src/bitcoin-core/src/logging.cpp:116,1
    - Dst: empty
      Src: /src/bitcoin-core/src/logging.cpp:116,1
    - Dst: StartLogging
      Src: /src/bitcoin-core/src/logging.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_buffering)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/bitcoin-core/src/logging.cpp
    - condition: (m_print_callbacks.empty())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/logging.cpp
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: BCLog::Logger::DisableLogging()
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - assert
    - StartLogging
    - empty
    linkageType: ''
    returnType: void
    signature: void BCLog::Logger::DisableLogging()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - BCLog::LogFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: BCLog::Logger::EnableCategory(BCLog::LogFlags flag)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BCLog::Logger::EnableCategory(BCLog::LogFlags flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLogCategory
      Src: /src/bitcoin-core/src/logging.cpp:131,1
    - Dst: EnableCategory
      Src: /src/bitcoin-core/src/logging.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: BCLog::Logger::EnableCategory(std::string_view str)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - GetLogCategory
    - EnableCategory
    linkageType: ''
    returnType: bool
    signature: bool BCLog::Logger::EnableCategory(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - BCLog::LogFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: BCLog::Logger::DisableCategory(BCLog::LogFlags flag)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BCLog::Logger::DisableCategory(BCLog::LogFlags flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLogCategory
      Src: /src/bitcoin-core/src/logging.cpp:144,1
    - Dst: DisableCategory
      Src: /src/bitcoin-core/src/logging.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: BCLog::Logger::DisableCategory(std::string_view str)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - DisableCategory
    - GetLogCategory
    linkageType: ''
    returnType: bool
    signature: bool BCLog::Logger::DisableCategory(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/logging.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - category
    argTypes:
    - BCLog::LogFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: BCLog::Logger::WillLogCategory(BCLog::LogFlags category) const
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool BCLog::Logger::WillLogCategory(BCLog::LogFlags category) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WillLogCategory
      Src: /src/bitcoin-core/src/logging.cpp:160,1
    - Dst: find
      Src: /src/bitcoin-core/src/logging.cpp:163,1
    - Dst: end
      Src: /src/bitcoin-core/src/logging.cpp:164,1
    - Dst: LogLevel
      Src: /src/bitcoin-core/src/logging.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - category
    - level
    argTypes:
    - BCLog::LogFlags
    - BCLog::Level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: BCLog::Logger::WillLogCategoryLevel(BCLog::LogFlags category, BCLog::Level
      level) const
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - end
    - WillLogCategory
    - LogLevel
    - find
    linkageType: ''
    returnType: bool
    signature: bool BCLog::Logger::WillLogCategoryLevel(BCLog::LogFlags category,
      BCLog::Level level) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: BCLog::Logger::DefaultShrinkDebugFile() const
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BCLog::Logger::DefaultShrinkDebugFile() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/bitcoin-core/src/logging.cpp:220,1
    - Dst: find
      Src: /src/bitcoin-core/src/logging.cpp:224,1
    - Dst: end
      Src: /src/bitcoin-core/src/logging.cpp:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' flag'
    - str
    argTypes:
    - BCLog::LogFlags
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: GetLogCategory
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 2
    functionsReached:
    - end
    - find
    - std::string_view::empty
    linkageType: ''
    returnType: bool
    signature: bool GetLogCategory(BCLog::LogFlags& flag, std::string_view str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/logging.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - level
    argTypes:
    - BCLog::Level
    assertStmts:
    - condition: (false)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/bitcoin-core/src/logging.cpp
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: BCLog::Logger::LogLevelToStr(BCLog::Level level)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string BCLog::Logger::LogLevelToStr(BCLog::Level level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/logging.cpp:254,1
    - Dst: assert
      Src: /src/bitcoin-core/src/logging.cpp:255,1
    - Dst: end
      Src: /src/bitcoin-core/src/logging.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - category
    argTypes:
    - BCLog::LogFlags
    assertStmts:
    - condition: (it != LOG_CATEGORIES_BY_FLAG.end())
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/bitcoin-core/src/logging.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: LogCategoryToStr
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - end
    - assert
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string LogCategoryToStr(BCLog::LogFlags category)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - level_str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: GetLogLevel
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<BCLog::Level>
    signature: std::optional<BCLog::Level> GetLogLevel(std::string_view level_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/logging.cpp:279,1
    - Dst: size
      Src: /src/bitcoin-core/src/logging.cpp:279,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/logging.cpp:281,1
    - Dst: WillLogCategory
      Src: /src/bitcoin-core/src/logging.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: BCLog::Logger::LogCategoriesList() const
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - size
    - WillLogCategory
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<LogCategory>
    signature: std::vector<LogCategory> BCLog::Logger::LogCategoriesList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: LogLevelsList
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<BCLog::Level, 3>
    signature: std::array<BCLog::Level, 3> LogLevelsList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLevelsList
      Src: /src/bitcoin-core/src/logging.cpp:294,1
    - Dst: Join
      Src: /src/bitcoin-core/src/logging.cpp:295,1
    - Dst: begin
      Src: /src/bitcoin-core/src/logging.cpp:295,1
    - Dst: end
      Src: /src/bitcoin-core/src/logging.cpp:295,1
    - Dst: LogLevelToStr
      Src: /src/bitcoin-core/src/logging.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: BCLog::Logger::LogLevelsString() const
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - end
    - LogLevelsList
    - Join
    - LogLevelToStr
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string BCLog::Logger::LogLevelsString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::time_point_cast<std::chrono::seconds>
      Src: /src/bitcoin-core/src/logging.cpp:305,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/logging.cpp:306,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/logging.cpp:306,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/logging.cpp:307,1
    - Dst: std::string::pop_back
      Src: /src/bitcoin-core/src/logging.cpp:308,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging.cpp:309,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/logging.cpp:309,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/logging.cpp:312,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/logging.cpp:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - now
    - mocktime
    argTypes:
    - SystemClock::time_point
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 317
    functionName: BCLog::Logger::LogTimestampStr(SystemClock::time_point now, std::chrono::seconds
      mocktime) const
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - Ticks
    - count_seconds
    - TicksSinceEpoch
    - std::string::empty
    - FormatISO8601DateTime
    - strprintf
    - std::chrono::time_point_cast<std::chrono::seconds>
    - std::string::pop_back
    linkageType: ''
    returnType: std::string
    signature: std::string BCLog::Logger::LogTimestampStr(SystemClock::time_point
      now, std::chrono::seconds mocktime) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging.cpp:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 338
    functionName: BCLog::LogEscapeMessage
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LogEscapeMessage(std::string_view str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging.cpp:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 338
    functionName: BCLog::LogEscapeMessage
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LogEscapeMessage(std::string_view str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogCategoryToStr
      Src: /src/bitcoin-core/src/logging.cpp:352,1
    - Dst: Logger::LogLevelToStr
      Src: /src/bitcoin-core/src/logging.cpp:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - category
    - level
    argTypes:
    - BCLog::LogFlags
    - BCLog::Level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 365
    functionName: BCLog::Logger::GetLogPrefix(BCLog::LogFlags category, BCLog::Level
      level) const
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - LogCategoryToStr
    - Logger::LogLevelToStr
    linkageType: ''
    returnType: std::string
    signature: std::string BCLog::Logger::GetLogPrefix(BCLog::LogFlags category, BCLog::Level
      level) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/logging.cpp:369,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/logging.cpp:370,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/logging.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buflog'
    argTypes:
    - BCLog::Logger::BufferedLog
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: MemUsage
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - memusage::MallocUsage
    - memusage::DynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t MemUsage(const BCLog::Logger::BufferedLog& buflog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheduler_func
      Src: /src/bitcoin-core/src/logging.cpp:379,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/logging.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - scheduler_func
    - max_bytes
    - reset_window
    argTypes:
    - SchedulerFunction
    - uint64_t
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: "BCLog::LogRateLimiter::LogRateLimiter(\n    SchedulerFunction scheduler_func,\n
      \   uint64_t max_bytes,\n    std::chrono::seconds reset_window)"
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - scheduler_func
    - Reset
    linkageType: ''
    returnType: void
    signature: "void BCLog::LogRateLimiter::LogRateLimiter(\n    SchedulerFunction
      scheduler_func,\n    uint64_t max_bytes,\n    std::chrono::seconds reset_window)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/logging.cpp:387,1
    - Dst: GetDroppedBytes
      Src: /src/bitcoin-core/src/logging.cpp:388,1
    - Dst: Consume
      Src: /src/bitcoin-core/src/logging.cpp:390,1
    - Dst: size
      Src: /src/bitcoin-core/src/logging.cpp:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' source_loc'
    - ' str'
    argTypes:
    - std::source_location
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 396
    functionName: "BCLog::LogRateLimiter::Consume(\n    const std::source_location&
      source_loc,\n    const std::string& str)"
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - size
    - Consume
    - try_emplace
    - GetDroppedBytes
    linkageType: ''
    returnType: BCLog::LogRateLimiter::Status
    signature: "BCLog::LogRateLimiter::Status BCLog::LogRateLimiter::Consume(\n    const
      std::source_location& source_loc,\n    const std::string& str)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/bitcoin-core/src/logging.cpp:400,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/logging.cpp:400,1
    - Dst: insert
      Src: /src/bitcoin-core/src/logging.cpp:402,1
    - Dst: GetLogPrefix
      Src: /src/bitcoin-core/src/logging.cpp:402,1
    - Dst: insert
      Src: /src/bitcoin-core/src/logging.cpp:405,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging.cpp:405,1
    - Dst: RemovePrefixView
      Src: /src/bitcoin-core/src/logging.cpp:405,1
    - Dst: file_name
      Src: /src/bitcoin-core/src/logging.cpp:405,1
    - Dst: line
      Src: /src/bitcoin-core/src/logging.cpp:405,1
    - Dst: function_name
      Src: /src/bitcoin-core/src/logging.cpp:405,1
    - Dst: insert
      Src: /src/bitcoin-core/src/logging.cpp:409,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging.cpp:409,1
    - Dst: std::string_view::empty
      Src: /src/bitcoin-core/src/logging.cpp:409,1
    - Dst: insert
      Src: /src/bitcoin-core/src/logging.cpp:412,1
    - Dst: LogTimestampStr
      Src: /src/bitcoin-core/src/logging.cpp:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - ' str'
    - category
    - level
    - ' source_loc'
    - threadname
    - now
    - mocktime
    argTypes:
    - std::string
    - BCLog::LogFlags
    - BCLog::Level
    - std::source_location
    - std::string_view
    - SystemClock::time_point
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: BCLog::Logger::FormatLogStrInPlace(std::string& str, BCLog::LogFlags
      category, BCLog::Level level, const std::source_location& source_loc, std::string_view
      threadname, SystemClock::time_point now, std::chrono::seconds mocktime) const
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - line
    - std::string_view::empty
    - push_back
    - GetLogPrefix
    - ends_with
    - file_name
    - function_name
    - LogTimestampStr
    - RemovePrefixView
    - strprintf
    - insert
    linkageType: ''
    returnType: void
    signature: void BCLog::Logger::FormatLogStrInPlace(std::string& str, BCLog::LogFlags
      category, BCLog::Level level, const std::source_location& source_loc, std::string_view
      threadname, SystemClock::time_point now, std::chrono::seconds mocktime) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintStr_
      Src: /src/bitcoin-core/src/logging.cpp:418,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - str
    - ' source_loc'
    - category
    - level
    - should_ratelimit
    argTypes:
    - std::string_view
    - std::source_location
    - BCLog::LogFlags
    - BCLog::Level
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: BCLog::Logger::LogPrintStr(std::string_view str, std::source_location&&
      source_loc, BCLog::LogFlags category, BCLog::Level level, bool should_ratelimit)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - LogPrintStr_
    - std::move
    linkageType: ''
    returnType: void
    signature: void BCLog::Logger::LogPrintStr(std::string_view str, std::source_location&&
      source_loc, BCLog::LogFlags category, BCLog::Level level, bool should_ratelimit)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LogEscapeMessage
      Src: /src/bitcoin-core/src/logging.cpp:424,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/logging.cpp:429,1
    - Dst: GetMockTime
      Src: /src/bitcoin-core/src/logging.cpp:430,1
    - Dst: util::ThreadGetInternalName
      Src: /src/bitcoin-core/src/logging.cpp:432,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging.cpp:433,1
    - Dst: MemUsage
      Src: /src/bitcoin-core/src/logging.cpp:437,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/logging.cpp:438,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging.cpp:438,1
    - Dst: empty
      Src: /src/bitcoin-core/src/logging.cpp:442,1
    - Dst: MemUsage
      Src: /src/bitcoin-core/src/logging.cpp:446,1
    - Dst: front
      Src: /src/bitcoin-core/src/logging.cpp:446,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/logging.cpp:447,1
    - Dst: FormatLogStrInPlace
      Src: /src/bitcoin-core/src/logging.cpp:454,1
    - Dst: util::ThreadGetInternalName
      Src: /src/bitcoin-core/src/logging.cpp:454,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/logging.cpp:454,1
    - Dst: GetMockTime
      Src: /src/bitcoin-core/src/logging.cpp:454,1
    - Dst: Consume
      Src: /src/bitcoin-core/src/logging.cpp:457,1
    - Dst: LogPrintStr_
      Src: /src/bitcoin-core/src/logging.cpp:460,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging.cpp:460,1
    - Dst: file_name
      Src: /src/bitcoin-core/src/logging.cpp:465,1
    - Dst: line
      Src: /src/bitcoin-core/src/logging.cpp:465,1
    - Dst: function_name
      Src: /src/bitcoin-core/src/logging.cpp:465,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/logging.cpp:467,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/logging.cpp:468,1
    - Dst: SuppressionsActive
      Src: /src/bitcoin-core/src/logging.cpp:473,1
    - Dst: std::string::insert
      Src: /src/bitcoin-core/src/logging.cpp:474,1
    - Dst: fwrite
      Src: /src/bitcoin-core/src/logging.cpp:480,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/logging.cpp:480,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/logging.cpp:480,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/logging.cpp:481,1
    - Dst: cb
      Src: /src/bitcoin-core/src/logging.cpp:484,1
    - Dst: assert
      Src: /src/bitcoin-core/src/logging.cpp:487,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/logging.cpp:492,1
    - Dst: setbuf
      Src: /src/bitcoin-core/src/logging.cpp:494,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/logging.cpp:495,1
    - Dst: FileWriteStr
      Src: /src/bitcoin-core/src/logging.cpp:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 5
    argNames:
    - str
    - ' source_loc'
    - category
    - level
    - should_ratelimit
    argTypes:
    - std::string_view
    - std::source_location
    - BCLog::LogFlags
    - BCLog::Level
    - bool
    assertStmts:
    - condition: (m_fileout != nullptr)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/bitcoin-core/src/logging.cpp
    constantsTouched: []
    func_position:
      end: 501
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 501
    functionName: BCLog::Logger::LogPrintStr_(std::string_view str, std::source_location&&
      source_loc, BCLog::LogFlags category, BCLog::Level level, bool should_ratelimit)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - std::move
    - file_name
    - function_name
    - util::ThreadGetInternalName
    - fflush
    - cb
    - pop_front
    - LogPrintStr_
    - SuppressionsActive
    - wallet::WalletRescanReserver::now
    - FormatLogStrInPlace
    - line
    - empty
    - leveldb::VersionSet::current
    - strprintf
    - MemUsage
    - assert
    - LogEscapeMessage
    - std::string::size
    - FileWriteStr
    - Ticks
    - setbuf
    - push_back
    - fsbridge::fopen
    - Consume
    - fwrite
    - GetMockTime
    - fclose
    - std::string::insert
    - front
    linkageType: ''
    returnType: void
    signature: void BCLog::Logger::LogPrintStr_(std::string_view str, std::source_location&&
      source_loc, BCLog::LogFlags category, BCLog::Level level, bool should_ratelimit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/logging.cpp:508,1
    - Dst: empty
      Src: /src/bitcoin-core/src/logging.cpp:508,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/logging.cpp:511,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/logging.cpp:516,1
    - Dst: fseek
      Src: /src/bitcoin-core/src/logging.cpp:525,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/logging.cpp:525,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/logging.cpp:526,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/logging.cpp:527,1
    - Dst: fread
      Src: /src/bitcoin-core/src/logging.cpp:530,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/logging.cpp:530,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/logging.cpp:530,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/logging.cpp:531,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/logging.cpp:533,1
    - Dst: fwrite
      Src: /src/bitcoin-core/src/logging.cpp:536,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/logging.cpp:536,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/logging.cpp:537,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/logging.cpp:541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_file_path.empty())
      pos:
        line_end: 507
        line_start: 507
        source_file: /src/bitcoin-core/src/logging.cpp
    constantsTouched: []
    func_position:
      end: 542
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 542
    functionName: BCLog::Logger::ShrinkDebugFile()
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::data
    - fread
    - fsbridge::fopen
    - LogPrintf
    - fwrite
    - leveldb_options_set_max_file_size
    - fclose
    - assert
    - std::vector::size
    - fseek
    linkageType: ''
    returnType: void
    signature: void BCLog::Logger::ShrinkDebugFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decltype(m_source_locations)::swap
      Src: /src/bitcoin-core/src/logging.cpp:549,1
    - Dst: GetDroppedBytes
      Src: /src/bitcoin-core/src/logging.cpp:553,1
    - Dst: LogPrintLevel_
      Src: /src/bitcoin-core/src/logging.cpp:555,1
    - Dst: file_name
      Src: /src/bitcoin-core/src/logging.cpp:558,1
    - Dst: line
      Src: /src/bitcoin-core/src/logging.cpp:558,1
    - Dst: function_name
      Src: /src/bitcoin-core/src/logging.cpp:558,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/logging.cpp:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 561
    functionName: BCLog::LogRateLimiter::Reset()
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel_
    - line
    - Ticks
    - decltype(m_source_locations)::swap
    - file_name
    - function_name
    - GetDroppedBytes
    linkageType: ''
    returnType: void
    signature: void BCLog::LogRateLimiter::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 573
    functionName: BCLog::LogLimitStats::Consume(uint64_t bytes)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BCLog::LogLimitStats::Consume(uint64_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLogLevel
      Src: /src/bitcoin-core/src/logging.cpp:577,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/logging.cpp:578,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/logging.cpp:578,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/logging.cpp:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - level_str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: BCLog::Logger::SetLogLevel(std::string_view level_str)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - auto::has_value
    - GetLogLevel
    linkageType: ''
    returnType: bool
    signature: bool BCLog::Logger::SetLogLevel(std::string_view level_str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetLogCategory
      Src: /src/bitcoin-core/src/logging.cpp:586,1
    - Dst: GetLogLevel
      Src: /src/bitcoin-core/src/logging.cpp:588,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/logging.cpp:589,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/logging.cpp:589,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/logging.cpp:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - category_str
    - level_str
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: BCLog::Logger::SetCategoryLogLevel(std::string_view category_str,
      std::string_view level_str)
    functionSourceFile: /src/bitcoin-core/src/logging.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - GetLogCategory
    - auto::has_value
    - GetLogLevel
    linkageType: ''
    returnType: bool
    signature: bool BCLog::Logger::SetCategoryLogLevel(std::string_view category_str,
      std::string_view level_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/compressor.cpp:21,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:24,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - ' script'
    - hash
    argTypes:
    - CScript
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: IsToKeyID
    functionSourceFile: /src/bitcoin-core/src/compressor.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool IsToKeyID(const CScript& script, CKeyID &hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/compressor.cpp:32,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' script'
    - hash
    argTypes:
    - CScript
    - CScriptID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: IsToScriptID
    functionSourceFile: /src/bitcoin-core/src/compressor.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool IsToScriptID(const CScript& script, CScriptID &hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/compressor.cpp:42,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/compressor.cpp:44,1
    - Dst: size
      Src: /src/bitcoin-core/src/compressor.cpp:47,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/compressor.cpp:49,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/compressor.cpp:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - ' script'
    - pubkey
    argTypes:
    - CScript
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: IsToPubKey
    functionSourceFile: /src/bitcoin-core/src/compressor.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::Set
    - CPubKey::IsFullyValid
    - size
    linkageType: ''
    returnType: bool
    signature: bool IsToPubKey(const CScript& script, CPubKey &pubkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/compressor.cpp:57,1
    - Dst: IsToKeyID
      Src: /src/bitcoin-core/src/compressor.cpp:58,1
    - Dst: resize
      Src: /src/bitcoin-core/src/compressor.cpp:59,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:61,1
    - Dst: CScriptID::CScriptID
      Src: /src/bitcoin-core/src/compressor.cpp:64,1
    - Dst: IsToScriptID
      Src: /src/bitcoin-core/src/compressor.cpp:65,1
    - Dst: resize
      Src: /src/bitcoin-core/src/compressor.cpp:66,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:68,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/compressor.cpp:71,1
    - Dst: IsToPubKey
      Src: /src/bitcoin-core/src/compressor.cpp:72,1
    - Dst: resize
      Src: /src/bitcoin-core/src/compressor.cpp:73,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ' script'
    - ' out'
    argTypes:
    - CScript
    - CompressedScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: CompressScript
    functionSourceFile: /src/bitcoin-core/src/compressor.cpp
    functionUses: 0
    functionsReached:
    - CKeyID::CKeyID
    - CScriptID::CScriptID
    - IsToPubKey
    - memcpy
    - CPubKey::CPubKey
    - IsToScriptID
    - resize
    - IsToKeyID
    linkageType: ''
    returnType: bool
    signature: bool CompressScript(const CScript& script, CompressedScript& out)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - nSize
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: GetSpecialScriptSize
    functionSourceFile: /src/bitcoin-core/src/compressor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetSpecialScriptSize(unsigned int nSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/compressor.cpp:99,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:103,1
    - Dst: data
      Src: /src/bitcoin-core/src/compressor.cpp:103,1
    - Dst: resize
      Src: /src/bitcoin-core/src/compressor.cpp:108,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:111,1
    - Dst: data
      Src: /src/bitcoin-core/src/compressor.cpp:111,1
    - Dst: resize
      Src: /src/bitcoin-core/src/compressor.cpp:116,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:119,1
    - Dst: data
      Src: /src/bitcoin-core/src/compressor.cpp:119,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:126,1
    - Dst: data
      Src: /src/bitcoin-core/src/compressor.cpp:126,1
    - Dst: CPubKey::Decompress
      Src: /src/bitcoin-core/src/compressor.cpp:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/compressor.cpp:130,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/compressor.cpp:130,1
    - Dst: resize
      Src: /src/bitcoin-core/src/compressor.cpp:131,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/compressor.cpp:133,1
    - Dst: CPubKey::begin
      Src: /src/bitcoin-core/src/compressor.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 3
    argNames:
    - ' script'
    - nSize
    - ' in'
    argTypes:
    - CScript
    - unsigned int
    - CompressedScript
    assertStmts:
    - condition: (pubkey.size() == 65)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/compressor.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 138
    functionName: DecompressScript
    functionSourceFile: /src/bitcoin-core/src/compressor.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::Decompress
    - CPubKey::size
    - memcpy
    - data
    - assert
    - resize
    - CPubKey::begin
    linkageType: ''
    returnType: bool
    signature: bool DecompressScript(CScript& script, unsigned int nSize, const CompressedScript&
      in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/compressor.cpp:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (d >= 1 && d <= 9)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bitcoin-core/src/compressor.cpp
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: CompressAmount
    functionSourceFile: /src/bitcoin-core/src/compressor.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CompressAmount(uint64_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 192
    functionName: DecompressAmount
    functionSourceFile: /src/bitcoin-core/src/compressor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DecompressAmount(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/psbt.cpp:18,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/psbt.cpp:18,1
    - Dst: resize
      Src: /src/bitcoin-core/src/psbt.cpp:19,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/psbt.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: PartiallySignedTransaction::PartiallySignedTransaction
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 1
    functionsReached:
    - vout::size
    - resize
    - vin::size
    linkageType: ''
    returnType: void
    signature: void PartiallySignedTransaction::PartiallySignedTransaction(const CMutableTransaction&
      tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:24,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:24,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: PartiallySignedTransaction::IsNull
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool PartiallySignedTransaction::IsNull() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/psbt.cpp:30,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/psbt.cpp:30,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.cpp:34,1
    - Dst: PartiallySignedTransaction::Merge
      Src: /src/bitcoin-core/src/psbt.cpp:35,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.cpp:37,1
    - Dst: PartiallySignedTransaction::Merge
      Src: /src/bitcoin-core/src/psbt.cpp:38,1
    - Dst: count
      Src: /src/bitcoin-core/src/psbt.cpp:41,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:44,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/psbt.cpp:44,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/psbt.cpp:44,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:47,1
    - Dst: unknown::begin
      Src: /src/bitcoin-core/src/psbt.cpp:47,1
    - Dst: unknown::end
      Src: /src/bitcoin-core/src/psbt.cpp:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' psbt'
    argTypes:
    - PartiallySignedTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: PartiallySignedTransaction::Merge
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 1
    functionsReached:
    - unknown::end
    - PartiallySignedTransaction::Merge
    - tx::GetHash
    - GetHash
    - size
    - second::begin
    - unknown::begin
    - insert
    - count
    - second::end
    linkageType: ''
    returnType: bool
    signature: bool PartiallySignedTransaction::Merge(const PartiallySignedTransaction&
      psbt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/bitcoin-core/src/psbt.cpp:54,1
    - Dst: vin::begin
      Src: /src/bitcoin-core/src/psbt.cpp:54,1
    - Dst: vin::end
      Src: /src/bitcoin-core/src/psbt.cpp:54,1
    - Dst: vin::end
      Src: /src/bitcoin-core/src/psbt.cpp:54,1
    - Dst: vin::push_back
      Src: /src/bitcoin-core/src/psbt.cpp:57,1
    - Dst: partial_sigs::clear
      Src: /src/bitcoin-core/src/psbt.cpp:58,1
    - Dst: final_script_sig::clear
      Src: /src/bitcoin-core/src/psbt.cpp:59,1
    - Dst: final_script_witness::SetNull
      Src: /src/bitcoin-core/src/psbt.cpp:60,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/psbt.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' txin'
    - ' psbtin'
    argTypes:
    - CTxIn
    - PSBTInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: PartiallySignedTransaction::AddInput
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - partial_sigs::clear
    - push_back
    - final_script_witness::SetNull
    - vin::begin
    - vin::push_back
    - final_script_sig::clear
    - std::find
    - vin::end
    linkageType: ''
    returnType: bool
    signature: bool PartiallySignedTransaction::AddInput(const CTxIn& txin, PSBTInput&
      psbtin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout::push_back
      Src: /src/bitcoin-core/src/psbt.cpp:67,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/psbt.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' txout'
    - ' psbtout'
    argTypes:
    - CTxOut
    - PSBTOutput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: PartiallySignedTransaction::AddOutput
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - vout::push_back
    linkageType: ''
    returnType: bool
    signature: bool PartiallySignedTransaction::AddOutput(const CTxOut& txout, const
      PSBTOutput& psbtout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: non_witness_utxo::vout::size
      Src: /src/bitcoin-core/src/psbt.cpp:77,1
    - Dst: non_witness_utxo::GetHash
      Src: /src/bitcoin-core/src/psbt.cpp:80,1
    - Dst: witness_utxo::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' utxo'
    - input_index
    argTypes:
    - CTxOut
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: PartiallySignedTransaction::GetInputUTXO
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - witness_utxo::IsNull
    - non_witness_utxo::vout::size
    - non_witness_utxo::GetHash
    linkageType: ''
    returnType: bool
    signature: bool PartiallySignedTransaction::GetInputUTXO(CTxOut& utxo, int input_index)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSBTInput::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:94,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:94,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:94,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:94,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:94,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: PSBTInput::IsNull
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 1
    functionsReached:
    - PSBTInput::IsNull
    - empty
    linkageType: ''
    returnType: bool
    signature: bool PSBTInput::IsNull() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:99,1
    - Dst: PSBTInput::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:103,1
    - Dst: signatures::insert
      Src: /src/bitcoin-core/src/psbt.cpp:111,1
    - Dst: begin
      Src: /src/bitcoin-core/src/psbt.cpp:111,1
    - Dst: end
      Src: /src/bitcoin-core/src/psbt.cpp:111,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:112,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:115,1
    - Dst: misc_pubkeys::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:119,1
    - Dst: first::GetID
      Src: /src/bitcoin-core/src/psbt.cpp:119,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:121,1
    - Dst: taproot_script_sigs::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:125,1
    - Dst: PSBTInput::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:127,1
    - Dst: PSBTInput::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:130,1
    - Dst: tr_spenddata::scripts::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:134,1
    - Dst: taproot_misc_pubkeys::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:137,1
    - Dst: tap_pubkeys::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:138,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/psbt.cpp:138,1
    - Dst: ripemd160_preimages::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:141,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/psbt.cpp:141,1
    - Dst: begin
      Src: /src/bitcoin-core/src/psbt.cpp:141,1
    - Dst: end
      Src: /src/bitcoin-core/src/psbt.cpp:141,1
    - Dst: sha256_preimages::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:144,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/psbt.cpp:144,1
    - Dst: begin
      Src: /src/bitcoin-core/src/psbt.cpp:144,1
    - Dst: end
      Src: /src/bitcoin-core/src/psbt.cpp:144,1
    - Dst: hash160_preimages::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:147,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/psbt.cpp:147,1
    - Dst: begin
      Src: /src/bitcoin-core/src/psbt.cpp:147,1
    - Dst: end
      Src: /src/bitcoin-core/src/psbt.cpp:147,1
    - Dst: hash256_preimages::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:150,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/psbt.cpp:150,1
    - Dst: begin
      Src: /src/bitcoin-core/src/psbt.cpp:150,1
    - Dst: end
      Src: /src/bitcoin-core/src/psbt.cpp:150,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - ' sigdata'
    argTypes:
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 152
    functionName: PSBTInput::FillSignatureData
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - end
    - tap_pubkeys::emplace
    - taproot_script_sigs::emplace
    - PSBTInput::IsNull
    - taproot_misc_pubkeys::emplace
    - misc_pubkeys::emplace
    - empty
    - tr_spenddata::scripts::emplace
    - ripemd160_preimages::emplace
    - std::vector<unsigned char>
    - Hash160
    - hash256_preimages::emplace
    - hash160_preimages::emplace
    - first::GetID
    - sha256_preimages::emplace
    - signatures::insert
    - begin
    linkageType: ''
    returnType: void
    signature: void PSBTInput::FillSignatureData(SignatureData& sigdata) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/psbt.cpp:157,1
    - Dst: clear
      Src: /src/bitcoin-core/src/psbt.cpp:158,1
    - Dst: clear
      Src: /src/bitcoin-core/src/psbt.cpp:159,1
    - Dst: clear
      Src: /src/bitcoin-core/src/psbt.cpp:160,1
    - Dst: scriptSig::empty
      Src: /src/bitcoin-core/src/psbt.cpp:162,1
    - Dst: scriptWitness::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:165,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:171,1
    - Dst: signatures::begin
      Src: /src/bitcoin-core/src/psbt.cpp:171,1
    - Dst: signatures::end
      Src: /src/bitcoin-core/src/psbt.cpp:171,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:172,1
    - Dst: redeem_script::empty
      Src: /src/bitcoin-core/src/psbt.cpp:172,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:175,1
    - Dst: witness_script::empty
      Src: /src/bitcoin-core/src/psbt.cpp:175,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.cpp:179,1
    - Dst: taproot_key_path_sig::empty
      Src: /src/bitcoin-core/src/psbt.cpp:181,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.cpp:185,1
    - Dst: tr_spenddata::internal_key::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:187,1
    - Dst: tr_spenddata::merkle_root::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:190,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.cpp:194,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.cpp:197,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - ' sigdata'
    argTypes:
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 199
    functionName: PSBTInput::FromSignatureData
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - redeem_script::empty
    - emplace
    - signatures::end
    - empty
    - scriptSig::empty
    - signatures::begin
    - scriptWitness::IsNull
    - clear
    - witness_script::empty
    - tr_spenddata::merkle_root::IsNull
    - taproot_key_path_sig::empty
    - insert
    - tr_spenddata::internal_key::IsNull
    linkageType: ''
    returnType: void
    signature: void PSBTInput::FromSignatureData(const SignatureData& sigdata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PSBTInput::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:204,1
    - Dst: witness_utxo::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:204,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:208,1
    - Dst: partial_sigs::begin
      Src: /src/bitcoin-core/src/psbt.cpp:208,1
    - Dst: partial_sigs::end
      Src: /src/bitcoin-core/src/psbt.cpp:208,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:209,1
    - Dst: ripemd160_preimages::begin
      Src: /src/bitcoin-core/src/psbt.cpp:209,1
    - Dst: ripemd160_preimages::end
      Src: /src/bitcoin-core/src/psbt.cpp:209,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:210,1
    - Dst: sha256_preimages::begin
      Src: /src/bitcoin-core/src/psbt.cpp:210,1
    - Dst: sha256_preimages::end
      Src: /src/bitcoin-core/src/psbt.cpp:210,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:211,1
    - Dst: hash160_preimages::begin
      Src: /src/bitcoin-core/src/psbt.cpp:211,1
    - Dst: hash160_preimages::end
      Src: /src/bitcoin-core/src/psbt.cpp:211,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:212,1
    - Dst: hash256_preimages::begin
      Src: /src/bitcoin-core/src/psbt.cpp:212,1
    - Dst: hash256_preimages::end
      Src: /src/bitcoin-core/src/psbt.cpp:212,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:213,1
    - Dst: hd_keypaths::begin
      Src: /src/bitcoin-core/src/psbt.cpp:213,1
    - Dst: hd_keypaths::end
      Src: /src/bitcoin-core/src/psbt.cpp:213,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:214,1
    - Dst: unknown::begin
      Src: /src/bitcoin-core/src/psbt.cpp:214,1
    - Dst: unknown::end
      Src: /src/bitcoin-core/src/psbt.cpp:214,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:215,1
    - Dst: m_tap_script_sigs::begin
      Src: /src/bitcoin-core/src/psbt.cpp:215,1
    - Dst: m_tap_script_sigs::end
      Src: /src/bitcoin-core/src/psbt.cpp:215,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:216,1
    - Dst: m_tap_scripts::begin
      Src: /src/bitcoin-core/src/psbt.cpp:216,1
    - Dst: m_tap_scripts::end
      Src: /src/bitcoin-core/src/psbt.cpp:216,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:217,1
    - Dst: m_tap_bip32_paths::begin
      Src: /src/bitcoin-core/src/psbt.cpp:217,1
    - Dst: m_tap_bip32_paths::end
      Src: /src/bitcoin-core/src/psbt.cpp:217,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:219,1
    - Dst: redeem_script::empty
      Src: /src/bitcoin-core/src/psbt.cpp:219,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:220,1
    - Dst: witness_script::empty
      Src: /src/bitcoin-core/src/psbt.cpp:220,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:221,1
    - Dst: final_script_sig::empty
      Src: /src/bitcoin-core/src/psbt.cpp:221,1
    - Dst: PSBTInput::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:222,1
    - Dst: final_script_witness::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:222,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:223,1
    - Dst: m_tap_key_sig::empty
      Src: /src/bitcoin-core/src/psbt.cpp:223,1
    - Dst: PSBTInput::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:224,1
    - Dst: m_tap_internal_key::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:224,1
    - Dst: PSBTInput::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:225,1
    - Dst: m_tap_merkle_root::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:225,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - PSBTInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 226
    functionName: PSBTInput::Merge
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - m_tap_script_sigs::begin
    - m_tap_bip32_paths::begin
    - partial_sigs::end
    - m_tap_internal_key::IsNull
    - sha256_preimages::end
    - witness_script::empty
    - hd_keypaths::begin
    - witness_utxo::IsNull
    - final_script_witness::IsNull
    - m_tap_merkle_root::IsNull
    - redeem_script::empty
    - m_tap_key_sig::empty
    - m_tap_scripts::begin
    - unknown::begin
    - m_tap_script_sigs::end
    - m_tap_scripts::end
    - PSBTInput::IsNull
    - ripemd160_preimages::end
    - m_tap_bip32_paths::end
    - empty
    - hash160_preimages::begin
    - hash256_preimages::end
    - unknown::end
    - final_script_sig::empty
    - ripemd160_preimages::begin
    - hd_keypaths::end
    - partial_sigs::begin
    - hash256_preimages::begin
    - hash160_preimages::end
    - insert
    - sha256_preimages::begin
    linkageType: ''
    returnType: void
    signature: void PSBTInput::Merge(const PSBTInput& input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:230,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:233,1
    - Dst: misc_pubkeys::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:237,1
    - Dst: first::GetID
      Src: /src/bitcoin-core/src/psbt.cpp:237,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:239,1
    - Dst: IsFullyValid
      Src: /src/bitcoin-core/src/psbt.cpp:239,1
    - Dst: TaprootBuilder::Add
      Src: /src/bitcoin-core/src/psbt.cpp:242,1
    - Dst: assert
      Src: /src/bitcoin-core/src/psbt.cpp:244,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/psbt.cpp:244,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/psbt.cpp:245,1
    - Dst: TaprootBuilder::GetSpendData
      Src: /src/bitcoin-core/src/psbt.cpp:246,1
    - Dst: tr_spenddata::Merge
      Src: /src/bitcoin-core/src/psbt.cpp:249,1
    - Dst: taproot_misc_pubkeys::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:252,1
    - Dst: tap_pubkeys::emplace
      Src: /src/bitcoin-core/src/psbt.cpp:253,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/psbt.cpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ' sigdata'
    argTypes:
    - SignatureData
    assertStmts:
    - condition: (builder.IsComplete())
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/bitcoin-core/src/psbt.cpp
    constantsTouched: []
    func_position:
      end: 255
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 255
    functionName: PSBTOutput::FillSignatureData
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - tap_pubkeys::emplace
    - TaprootBuilder::Finalize
    - taproot_misc_pubkeys::emplace
    - misc_pubkeys::emplace
    - empty
    - TaprootBuilder::Add
    - TaprootBuilder::GetSpendData
    - Hash160
    - first::GetID
    - tr_spenddata::Merge
    - IsFullyValid
    - TaprootBuilder::IsComplete
    - assert
    linkageType: ''
    returnType: void
    signature: void PSBTOutput::FillSignatureData(SignatureData& sigdata) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:259,1
    - Dst: redeem_script::empty
      Src: /src/bitcoin-core/src/psbt.cpp:259,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:262,1
    - Dst: witness_script::empty
      Src: /src/bitcoin-core/src/psbt.cpp:262,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.cpp:266,1
    - Dst: tr_spenddata::internal_key::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:268,1
    - Dst: tr_builder::has_value
      Src: /src/bitcoin-core/src/psbt.cpp:271,1
    - Dst: tr_builder::HasScripts
      Src: /src/bitcoin-core/src/psbt.cpp:271,1
    - Dst: tr_builder::GetTreeTuples
      Src: /src/bitcoin-core/src/psbt.cpp:272,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/psbt.cpp:275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - ' sigdata'
    argTypes:
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: PSBTOutput::FromSignatureData
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - redeem_script::empty
    - emplace
    - tr_builder::GetTreeTuples
    - empty
    - witness_script::empty
    - tr_builder::HasScripts
    - tr_builder::has_value
    - tr_spenddata::internal_key::IsNull
    linkageType: ''
    returnType: void
    signature: void PSBTOutput::FromSignatureData(const SignatureData& sigdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:281,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:281,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:281,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: PSBTOutput::IsNull
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool PSBTOutput::IsNull() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:286,1
    - Dst: hd_keypaths::begin
      Src: /src/bitcoin-core/src/psbt.cpp:286,1
    - Dst: hd_keypaths::end
      Src: /src/bitcoin-core/src/psbt.cpp:286,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:287,1
    - Dst: unknown::begin
      Src: /src/bitcoin-core/src/psbt.cpp:287,1
    - Dst: unknown::end
      Src: /src/bitcoin-core/src/psbt.cpp:287,1
    - Dst: insert
      Src: /src/bitcoin-core/src/psbt.cpp:288,1
    - Dst: m_tap_bip32_paths::begin
      Src: /src/bitcoin-core/src/psbt.cpp:288,1
    - Dst: m_tap_bip32_paths::end
      Src: /src/bitcoin-core/src/psbt.cpp:288,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:290,1
    - Dst: redeem_script::empty
      Src: /src/bitcoin-core/src/psbt.cpp:290,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:291,1
    - Dst: witness_script::empty
      Src: /src/bitcoin-core/src/psbt.cpp:291,1
    - Dst: PSBTOutput::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:292,1
    - Dst: m_tap_internal_key::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:292,1
    - Dst: empty
      Src: /src/bitcoin-core/src/psbt.cpp:293,1
    - Dst: m_tap_tree::empty
      Src: /src/bitcoin-core/src/psbt.cpp:293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - PSBTOutput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: PSBTOutput::Merge
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - unknown::end
    - redeem_script::empty
    - m_tap_bip32_paths::end
    - m_tap_bip32_paths::begin
    - hd_keypaths::end
    - empty
    - m_tap_internal_key::IsNull
    - m_tap_tree::empty
    - witness_script::empty
    - PSBTOutput::IsNull
    - unknown::begin
    - hd_keypaths::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void PSBTOutput::Merge(const PSBTOutput& output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: final_script_sig::empty
      Src: /src/bitcoin-core/src/psbt.cpp:298,1
    - Dst: final_script_witness::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - PSBTInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: PSBTInputSigned
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - final_script_witness::IsNull
    - final_script_sig::empty
    linkageType: ''
    returnType: bool
    signature: bool PSBTInputSigned(const PSBTInput& input)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/psbt.cpp:303,1
    - Dst: assert
      Src: /src/bitcoin-core/src/psbt.cpp:304,1
    - Dst: PartiallySignedTransaction::inputs::size
      Src: /src/bitcoin-core/src/psbt.cpp:304,1
    - Dst: non_witness_utxo::vout::size
      Src: /src/bitcoin-core/src/psbt.cpp:310,1
    - Dst: non_witness_utxo::GetHash
      Src: /src/bitcoin-core/src/psbt.cpp:313,1
    - Dst: witness_utxo::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:317,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/psbt.cpp:324,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/psbt.cpp:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - psbt
    - input_index
    - txdata
    argTypes:
    - PartiallySignedTransaction
    - unsigned int
    - PrecomputedTransactionData*
    assertStmts:
    - condition: (psbt.inputs.size() >= input_index)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/bitcoin-core/src/psbt.cpp
    constantsTouched: []
    func_position:
      end: 328
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 328
    functionName: PSBTInputSignedAndVerified
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - non_witness_utxo::vout::size
    - VerifyScript
    - PartiallySignedTransaction::inputs::size
    - non_witness_utxo::GetHash
    - witness_utxo::IsNull
    - assert
    linkageType: ''
    returnType: bool
    signature: bool PSBTInputSignedAndVerified(const PartiallySignedTransaction psbt,
      unsigned int input_index, const PrecomputedTransactionData* txdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/psbt.cpp:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' psbt'
    argTypes:
    - PartiallySignedTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: CountPSBTUnsignedInputs
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - PSBTInputSigned
    linkageType: ''
    returnType: size_t
    signature: size_t CountPSBTUnsignedInputs(const PartiallySignedTransaction& psbt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/psbt.cpp:343,1
    - Dst: vout::at
      Src: /src/bitcoin-core/src/psbt.cpp:344,1
    - Dst: outputs::at
      Src: /src/bitcoin-core/src/psbt.cpp:345,1
    - Dst: FillSignatureData
      Src: /src/bitcoin-core/src/psbt.cpp:349,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/psbt.cpp:355,1
    - Dst: FromSignatureData
      Src: /src/bitcoin-core/src/psbt.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' provider'
    - ' psbt'
    - index
    argTypes:
    - SigningProvider
    - PartiallySignedTransaction
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 359
    functionName: UpdatePSBTOutput
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - ProduceSignature
    - FromSignatureData
    - vout::at
    - FillSignatureData
    - Assert
    - outputs::at
    linkageType: ''
    returnType: void
    signature: void UpdatePSBTOutput(const SigningProvider& provider, PartiallySignedTransaction&
      psbt, int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vin::size
      Src: /src/bitcoin-core/src/psbt.cpp:365,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/psbt.cpp:366,1
    - Dst: GetInputUTXO
      Src: /src/bitcoin-core/src/psbt.cpp:367,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/psbt.cpp:369,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/psbt.cpp:371,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/psbt.cpp:371,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/psbt.cpp:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' psbt'
    argTypes:
    - PartiallySignedTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 376
    functionName: PrecomputePSBTData
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - GetInputUTXO
    - std::move
    - PrecomputedTransactionData::PrecomputedTransactionData
    - PrecomputedTransactionData::Init
    - vin::size
    linkageType: ''
    returnType: PrecomputedTransactionData
    signature: PrecomputedTransactionData PrecomputePSBTData(const PartiallySignedTransaction&
      psbt)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: inputs::at
      Src: /src/bitcoin-core/src/psbt.cpp:380,1
    - Dst: PSBTInputSignedAndVerified
      Src: /src/bitcoin-core/src/psbt.cpp:383,1
    - Dst: FillSignatureData
      Src: /src/bitcoin-core/src/psbt.cpp:389,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/psbt.cpp:393,1
    - Dst: non_witness_utxo::vout::size
      Src: /src/bitcoin-core/src/psbt.cpp:398,1
    - Dst: non_witness_utxo::GetHash
      Src: /src/bitcoin-core/src/psbt.cpp:401,1
    - Dst: witness_utxo::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:405,1
    - Dst: CTxOut::scriptPubKey::IsPayToTaproot
      Src: /src/bitcoin-core/src/psbt.cpp:421,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/psbt.cpp:422,1
    - Dst: std::optional<int>::has_value
      Src: /src/bitcoin-core/src/psbt.cpp:422,1
    - Dst: CTxOut::scriptPubKey::IsPayToTaproot
      Src: /src/bitcoin-core/src/psbt.cpp:430,1
    - Dst: m_tap_key_sig::empty
      Src: /src/bitcoin-core/src/psbt.cpp:437,1
    - Dst: m_tap_key_sig::size
      Src: /src/bitcoin-core/src/psbt.cpp:437,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.cpp:441,1
    - Dst: m_tap_key_sig::empty
      Src: /src/bitcoin-core/src/psbt.cpp:444,1
    - Dst: m_tap_key_sig::size
      Src: /src/bitcoin-core/src/psbt.cpp:444,1
    - Dst: m_tap_key_sig::back
      Src: /src/bitcoin-core/src/psbt.cpp:444,1
    - Dst: size
      Src: /src/bitcoin-core/src/psbt.cpp:448,1
    - Dst: back
      Src: /src/bitcoin-core/src/psbt.cpp:448,1
    - Dst: second::back
      Src: /src/bitcoin-core/src/psbt.cpp:451,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/psbt.cpp:458,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/psbt.cpp:461,1
    - Dst: FromSignatureData
      Src: /src/bitcoin-core/src/psbt.cpp:469,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 7
    argNames:
    - ' provider'
    - ' psbt'
    - index
    - txdata
    - sighash
    - out_sigdata
    - finalize
    argTypes:
    - SigningProvider
    - PartiallySignedTransaction
    - int
    - PrecomputedTransactionData*
    - std::optional<int>
    - SignatureData*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 488
    functionName: SignPSBTInput
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - ProduceSignature
    - CTxOut::CTxOut
    - m_tap_key_sig::back
    - non_witness_utxo::vout::size
    - FromSignatureData
    - m_tap_key_sig::empty
    - back
    - std::optional<int>::has_value
    - inputs::at
    - size
    - FillSignatureData
    - Assert
    - non_witness_utxo::GetHash
    - m_tap_key_sig::size
    - second::back
    - PSBTInputSignedAndVerified
    - CTxOut::scriptPubKey::IsPayToTaproot
    - witness_utxo::IsNull
    linkageType: ''
    returnType: PSBTError
    signature: PSBTError SignPSBTInput(const SigningProvider& provider, PartiallySignedTransaction&
      psbt, int index, const PrecomputedTransactionData* txdata, std::optional<int>
      sighash,  SignatureData* out_sigdata, bool finalize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inputs::size
      Src: /src/bitcoin-core/src/psbt.cpp:494,1
    - Dst: inputs::at
      Src: /src/bitcoin-core/src/psbt.cpp:495,1
    - Dst: witness_utxo::IsNull
      Src: /src/bitcoin-core/src/psbt.cpp:498,1
    - Dst: witness_utxo::scriptPubKey::IsWitnessProgram
      Src: /src/bitcoin-core/src/psbt.cpp:498,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/psbt.cpp:500,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/psbt.cpp:505,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/psbt.cpp:512,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/psbt.cpp:517,1
    - Dst: inputs::at
      Src: /src/bitcoin-core/src/psbt.cpp:523,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - ' psbtx'
    argTypes:
    - PartiallySignedTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 525
    functionName: RemoveUnnecessaryTransactions
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - witness_utxo::scriptPubKey::IsWitnessProgram
    - inputs::size
    - inputs::at
    - std::vector::push_back
    - std::vector::clear
    - witness_utxo::IsNull
    linkageType: ''
    returnType: void
    signature: void RemoveUnnecessaryTransactions(PartiallySignedTransaction& psbtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecomputePSBTData
      Src: /src/bitcoin-core/src/psbt.cpp:534,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/psbt.cpp:535,1
    - Dst: inputs::at
      Src: /src/bitcoin-core/src/psbt.cpp:536,1
    - Dst: SignPSBTInput
      Src: /src/bitcoin-core/src/psbt.cpp:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' psbtx'
    argTypes:
    - PartiallySignedTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 541
    functionName: FinalizePSBT
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - PrecomputePSBTData
    - SignPSBTInput
    - tx::vin::size
    - inputs::at
    linkageType: ''
    returnType: bool
    signature: bool FinalizePSBT(PartiallySignedTransaction& psbtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FinalizePSBT
      Src: /src/bitcoin-core/src/psbt.cpp:547,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/psbt.cpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' psbtx'
    - ' result'
    argTypes:
    - PartiallySignedTransaction
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 557
    functionName: FinalizeAndExtractPSBT
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - FinalizePSBT
    - vin::size
    linkageType: ''
    returnType: bool
    signature: bool FinalizeAndExtractPSBT(PartiallySignedTransaction& psbtx, CMutableTransaction&
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/bitcoin-core/src/psbt.cpp:564,1
    - Dst: begin
      Src: /src/bitcoin-core/src/psbt.cpp:564,1
    - Dst: end
      Src: /src/bitcoin-core/src/psbt.cpp:564,1
    - Dst: Merge
      Src: /src/bitcoin-core/src/psbt.cpp:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' out'
    - ' psbtxs'
    argTypes:
    - PartiallySignedTransaction
    - std::vector<PartiallySignedTransaction>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 570
    functionName: CombinePSBTs
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - Merge
    - std::next
    linkageType: ''
    returnType: bool
    signature: bool CombinePSBTs(PartiallySignedTransaction& out, const std::vector<PartiallySignedTransaction>&
      psbtxs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/psbt.cpp:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - role
    argTypes:
    - PSBTRole
    assertStmts:
    - condition: (false)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/bitcoin-core/src/psbt.cpp
    constantsTouched: []
    func_position:
      end: 582
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 582
    functionName: PSBTRoleName
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string PSBTRoleName(PSBTRole role)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/psbt.cpp:586,1
    - Dst: DecodeRawPSBT
      Src: /src/bitcoin-core/src/psbt.cpp:591,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/psbt.cpp:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' psbt'
    - ' base64_tx'
    - ' error'
    argTypes:
    - PartiallySignedTransaction
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: DecodeBase64PSBT
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 1
    functionsReached:
    - DecodeBase64
    - DecodeRawPSBT
    - MakeByteSpan
    linkageType: ''
    returnType: bool
    signature: bool DecodeBase64PSBT(PartiallySignedTransaction& psbt, const std::string&
      base64_tx, std::string& error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/psbt.cpp:599,1
    - Dst: what
      Src: /src/bitcoin-core/src/psbt.cpp:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' psbt'
    - tx_data
    - ' error'
    argTypes:
    - PartiallySignedTransaction
    - std::span<const std::byte>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 608
    functionName: DecodeRawPSBT
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 1
    functionsReached:
    - DataStream::empty
    - what
    linkageType: ''
    returnType: bool
    signature: bool DecodeRawPSBT(PartiallySignedTransaction& psbt, std::span<const
      std::byte> tx_data, std::string& error)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 616
    functionName: PartiallySignedTransaction::GetVersion
    functionSourceFile: /src/bitcoin-core/src/psbt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PartiallySignedTransaction::GetVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pszName
    - pszFile
    - nLine
    - cs
    argTypes:
    - char*
    - char*
    - int
    - MutexType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: EnterCritical
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnterCritical(const char* pszName, const char* pszFile, int nLine,
      MutexType* cs, bool fTry = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: LeaveCritical
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LeaveCritical()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - cs
    - ' lockname'
    - guardname
    - file
    - line
    argTypes:
    - void*
    - std::string
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: CheckLastCritical
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckLastCritical(void* cs, std::string& lockname, const char*
      guardname, const char* file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cs
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: DeleteLock
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeleteLock(void* cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: LockStackEmpty
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LockStackEmpty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AnnotatedMixin
      Src: /src/bitcoin-core/src/sync.h:95,1
    - Dst: DeleteLock
      Src: /src/bitcoin-core/src/sync.h:96,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/sync.h:101,1
    - Dst: wallet::WalletImpl::unlock
      Src: /src/bitcoin-core/src/sync.h:106,1
    - Dst: PARENT::try_lock
      Src: /src/bitcoin-core/src/sync.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 121
    functionName: AnnotatedMixin
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 1
    functionsReached:
    - PartiallyDownloadedBlock::FillBlock
    - wallet::WalletImpl::unlock
    - AnnotatedMixin
    - DeleteLock
    - PARENT::try_lock
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE AnnotatedMixin
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/sync.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached:
    - PartiallyDownloadedBlock::FillBlock
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletImpl::unlock
      Src: /src/bitcoin-core/src/sync.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached:
    - wallet::WalletImpl::unlock
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARENT::try_lock
      Src: /src/bitcoin-core/src/sync.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: EXCLUSIVE_TRYLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached:
    - PARENT::try_lock
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_TRYLOCK_FUNCTION(true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '& operator!() const'
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AnnotatedMixin
    signature: AnnotatedMixin & operator!() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: AssertLockHeld
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AssertLockHeld(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeldInternal
      Src: /src/bitcoin-core/src/sync.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached:
    - AssertLockNotHeldInternal
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeldInternal
      Src: /src/bitcoin-core/src/sync.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached:
    - AssertLockNotHeldInternal
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: AssertLockNotHeld
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AssertLockNotHeld(cs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EnterCritical
      Src: /src/bitcoin-core/src/sync.h:159,1
    - Dst: std::mutex
      Src: /src/bitcoin-core/src/sync.h:159,1
    - Dst: Base::try_lock
      Src: /src/bitcoin-core/src/sync.h:161,1
    - Dst: LOG_TIME_MICROS_WITH_CATEGORY
      Src: /src/bitcoin-core/src/sync.h:162,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/sync.h:162,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/sync.h:164,1
    - Dst: EnterCritical
      Src: /src/bitcoin-core/src/sync.h:169,1
    - Dst: std::mutex
      Src: /src/bitcoin-core/src/sync.h:169,1
    - Dst: Base::try_lock
      Src: /src/bitcoin-core/src/sync.h:170,1
    - Dst: LeaveCritical
      Src: /src/bitcoin-core/src/sync.h:173,1
    - Dst: UniqueLock
      Src: /src/bitcoin-core/src/sync.h:178,1
    - Dst: TryEnter
      Src: /src/bitcoin-core/src/sync.h:181,1
    - Dst: Enter
      Src: /src/bitcoin-core/src/sync.h:183,1
    - Dst: static_cast<Base*>
      Src: /src/bitcoin-core/src/sync.h:190,1
    - Dst: Base
      Src: /src/bitcoin-core/src/sync.h:190,1
    - Dst: TryEnter
      Src: /src/bitcoin-core/src/sync.h:192,1
    - Dst: Enter
      Src: /src/bitcoin-core/src/sync.h:194,1
    - Dst: Base::owns_lock
      Src: /src/bitcoin-core/src/sync.h:199,1
    - Dst: LeaveCritical
      Src: /src/bitcoin-core/src/sync.h:200,1
    - Dst: Base::owns_lock
      Src: /src/bitcoin-core/src/sync.h:205,1
    - Dst: UniqueLock
      Src: /src/bitcoin-core/src/sync.h:210,1
    - Dst: reverse_lock
      Src: /src/bitcoin-core/src/sync.h:218,1
    - Dst: UNLOCK_FUNCTION
      Src: /src/bitcoin-core/src/sync.h:218,1
    - Dst: lock
      Src: /src/bitcoin-core/src/sync.h:218,1
    - Dst: file
      Src: /src/bitcoin-core/src/sync.h:218,1
    - Dst: line
      Src: /src/bitcoin-core/src/sync.h:218,1
    - Dst: assert
      Src: /src/bitcoin-core/src/sync.h:220,1
    - Dst: std::addressof
      Src: /src/bitcoin-core/src/sync.h:220,1
    - Dst: mutex
      Src: /src/bitcoin-core/src/sync.h:220,1
    - Dst: CheckLastCritical
      Src: /src/bitcoin-core/src/sync.h:222,1
    - Dst: mutex
      Src: /src/bitcoin-core/src/sync.h:222,1
    - Dst: unlock
      Src: /src/bitcoin-core/src/sync.h:223,1
    - Dst: LeaveCritical
      Src: /src/bitcoin-core/src/sync.h:224,1
    - Dst: swap
      Src: /src/bitcoin-core/src/sync.h:225,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/sync.h:230,1
    - Dst: mutex
      Src: /src/bitcoin-core/src/sync.h:230,1
    - Dst: lock
      Src: /src/bitcoin-core/src/sync.h:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (std::addressof(mutex) == lock.mutex())
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/bitcoin-core/src/sync.h
    constantsTouched: []
    func_position:
      end: 232
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 232
    functionName: MutexType::unique_lock
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached:
    - Enter
    - std::addressof
    - lock
    - CheckLastCritical
    - swap
    - PartiallyDownloadedBlock::FillBlock
    - unlock
    - reverse_lock
    - UNLOCK_FUNCTION
    - static_cast<Base*>
    - mutex
    - LOG_TIME_MICROS_WITH_CATEGORY
    - Base::try_lock
    - EnterCritical
    - line
    - file
    - Base::owns_lock
    - strprintf
    - c_str
    - LeaveCritical
    - assert
    - UniqueLock
    - std::mutex
    - TryEnter
    - Base
    linkageType: ''
    returnType: class SCOPED_LOCKABLE
    signature: class SCOPED_LOCKABLE MutexType::unique_lock
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCritical
      Src: /src/bitcoin-core/src/sync.h:159,1
    - Dst: std::mutex
      Src: /src/bitcoin-core/src/sync.h:159,1
    - Dst: Base::try_lock
      Src: /src/bitcoin-core/src/sync.h:161,1
    - Dst: LOG_TIME_MICROS_WITH_CATEGORY
      Src: /src/bitcoin-core/src/sync.h:162,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/sync.h:162,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/sync.h:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pszName
    - pszFile
    - nLine
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: Enter
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 1
    functionsReached:
    - std::mutex
    - PartiallyDownloadedBlock::FillBlock
    - strprintf
    - LOG_TIME_MICROS_WITH_CATEGORY
    - Base::try_lock
    - EnterCritical
    linkageType: ''
    returnType: void
    signature: void Enter(const char* pszName, const char* pszFile, int nLine)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCritical
      Src: /src/bitcoin-core/src/sync.h:169,1
    - Dst: std::mutex
      Src: /src/bitcoin-core/src/sync.h:169,1
    - Dst: Base::try_lock
      Src: /src/bitcoin-core/src/sync.h:170,1
    - Dst: LeaveCritical
      Src: /src/bitcoin-core/src/sync.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pszName
    - pszFile
    - nLine
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: TryEnter
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 1
    functionsReached:
    - Base::try_lock
    - LeaveCritical
    - EnterCritical
    - std::mutex
    linkageType: ''
    returnType: bool
    signature: bool TryEnter(const char* pszName, const char* pszFile, int nLine)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TryEnter
      Src: /src/bitcoin-core/src/sync.h:181,1
    - Dst: Enter
      Src: /src/bitcoin-core/src/sync.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached:
    - Enter
    - TryEnter
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION(mutexIn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Base*>
      Src: /src/bitcoin-core/src/sync.h:190,1
    - Dst: Base
      Src: /src/bitcoin-core/src/sync.h:190,1
    - Dst: TryEnter
      Src: /src/bitcoin-core/src/sync.h:192,1
    - Dst: Enter
      Src: /src/bitcoin-core/src/sync.h:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached:
    - Enter
    - Base
    - static_cast<Base*>
    - TryEnter
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION(pmutexIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Base::owns_lock
      Src: /src/bitcoin-core/src/sync.h:199,1
    - Dst: LeaveCritical
      Src: /src/bitcoin-core/src/sync.h:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 1
    functionsReached:
    - LeaveCritical
    - Base::owns_lock
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Base::owns_lock
      Src: /src/bitcoin-core/src/sync.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: operator bool()
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached:
    - Base::owns_lock
    linkageType: ''
    returnType: void
    signature: void operator bool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g
    - ','
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: REVERSE_LOCK
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVERSE_LOCK(g, cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: LOCK_RETURNED
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCK_RETURNED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: LOCK_RETURNED
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCK_RETURNED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: LOCK_RETURNED
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCK_RETURNED(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: LOCK_RETURNED
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCK_RETURNED(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: LOCK
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cs1
    - ','
    - cs2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: LOCK2
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK2(cs1, cs2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: LOCK_ARGS
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK_ARGS(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cs
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: TRY_LOCK
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_LOCK(cs, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cs
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: WAIT_LOCK
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAIT_LOCK(cs, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: ENTER_CRITICAL_SECTION
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTER_CRITICAL_SECTION(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: LEAVE_CRITICAL_SECTION
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAVE_CRITICAL_SECTION(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cs
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: WITH_LOCK
    functionSourceFile: /src/bitcoin-core/src/sync.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WITH_LOCK(cs, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TorControlReply::Clear
      Src: /src/bitcoin-core/src/torcontrol.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: TorControlReply::TorControlReply
    functionSourceFile: /src/bitcoin-core/src/torcontrol.h
    functionUses: 0
    functionsReached:
    - TorControlReply::Clear
    linkageType: ''
    returnType: void
    signature: void TorControlReply()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/torcontrol.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: TorControlReply::Clear
    functionSourceFile: /src/bitcoin-core/src/torcontrol.h
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: TorController::TorController
    functionSourceFile: /src/bitcoin-core/src/torcontrol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TorController()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: CPartialMerkleTree::CalcTreeWidth
    functionSourceFile: /src/bitcoin-core/src/merkleblock.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CalcTreeWidth(int height) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/merkleblock.h:91,1
    - Dst: SER_WRITE
      Src: /src/bitcoin-core/src/merkleblock.h:93,1
    - Dst: BitsToBytes
      Src: /src/bitcoin-core/src/merkleblock.h:93,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/merkleblock.h:94,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/merkleblock.h:95,1
    - Dst: BytesToBits
      Src: /src/bitcoin-core/src/merkleblock.h:95,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/merkleblock.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: CPartialMerkleTree::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/merkleblock.h
    functionUses: 0
    functionsReached:
    - READWRITE
    - BytesToBits
    - SER_READ
    - SER_WRITE
    - BitsToBytes
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CPartialMerkleTree, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: CPartialMerkleTree::GetNumTransactions
    functionSourceFile: /src/bitcoin-core/src/merkleblock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetNumTransactions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' block'
    - ' filter'
    argTypes:
    - CBlock
    - CBloomFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: CMerkleBlock::CMerkleBlock
    functionSourceFile: /src/bitcoin-core/src/merkleblock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMerkleBlock(const CBlock& block, CBloomFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' block'
    - ' txids'
    argTypes:
    - CBlock
    - std::set<Txid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: CMerkleBlock::CMerkleBlock
    functionSourceFile: /src/bitcoin-core/src/merkleblock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMerkleBlock(const CBlock& block, const std::set<Txid>& txids)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: CMerkleBlock::CMerkleBlock
    functionSourceFile: /src/bitcoin-core/src/merkleblock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMerkleBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/merkleblock.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: CMerkleBlock::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/merkleblock.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CMerkleBlock, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hasher'
    - ' data'
    argTypes:
    - CSHA512
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: '& operator<<(CSHA512& hasher, const T& data)'
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: CSHA512
    signature: CSHA512 & operator<<(CSHA512& hasher, const T& data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:87,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:90,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' hasher'
    - addr
    argTypes:
    - CSHA512
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: AddSockaddr
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: void
    signature: void AddSockaddr(CSHA512& hasher, const struct sockaddr *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/bitcoin-core/src/randomenv.cpp:100,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:105,1
    - Dst: fstat
      Src: /src/bitcoin-core/src/randomenv.cpp:106,1
    - Dst: read
      Src: /src/bitcoin-core/src/randomenv.cpp:108,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:109,1
    - Dst: close
      Src: /src/bitcoin-core/src/randomenv.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' hasher'
    - path
    argTypes:
    - CSHA512
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: AddFile
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - read
    - close
    - open
    - Write
    - fstat
    linkageType: ''
    returnType: void
    signature: void AddFile(CSHA512& hasher, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/bitcoin-core/src/randomenv.cpp:120,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:121,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' hasher'
    - path
    argTypes:
    - CSHA512
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: AddPath
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - stat
    - Write
    - strlen
    linkageType: ''
    returnType: void
    signature: void AddPath(CSHA512& hasher, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:134,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:137,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: AddSysctl
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - Write
    - sysctl
    linkageType: ''
    returnType: void
    signature: void AddSysctl(CSHA512& hasher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' hasher'
    - leaf
    - subleaf
    - ' ax'
    - ' bx'
    - ' cx'
    - ' dx'
    argTypes:
    - CSHA512
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: AddCPUID
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - GetCPUID
    linkageType: ''
    returnType: void
    signature: void AddCPUID(CSHA512& hasher, uint32_t leaf, uint32_t subleaf, uint32_t&
      ax, uint32_t& bx, uint32_t& cx, uint32_t& dx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AddCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:156,1
    - Dst: AddCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:161,1
    - Dst: AddCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:179,1
    - Dst: AddCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:182,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 184
    functionName: AddAllCPUID
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - AddCPUID
    linkageType: ''
    returnType: void
    signature: void AddAllCPUID(CSHA512& hasher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hasher'
    - ' data'
    argTypes:
    - CSHA512
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: '& operator<<(CSHA512& hasher, const T& data)'
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: CSHA512
    signature: CSHA512 & operator<<(CSHA512& hasher, const T& data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:87,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:90,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' hasher'
    - addr
    argTypes:
    - CSHA512
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: AddSockaddr
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: void
    signature: void AddSockaddr(CSHA512& hasher, const struct sockaddr *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/bitcoin-core/src/randomenv.cpp:100,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:105,1
    - Dst: fstat
      Src: /src/bitcoin-core/src/randomenv.cpp:106,1
    - Dst: read
      Src: /src/bitcoin-core/src/randomenv.cpp:108,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:109,1
    - Dst: close
      Src: /src/bitcoin-core/src/randomenv.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' hasher'
    - path
    argTypes:
    - CSHA512
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: AddFile
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - read
    - close
    - open
    - Write
    - fstat
    linkageType: ''
    returnType: void
    signature: void AddFile(CSHA512& hasher, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/bitcoin-core/src/randomenv.cpp:120,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:121,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' hasher'
    - path
    argTypes:
    - CSHA512
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: AddPath
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - stat
    - Write
    - strlen
    linkageType: ''
    returnType: void
    signature: void AddPath(CSHA512& hasher, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:134,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:137,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: AddSysctl
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - Write
    - sysctl
    linkageType: ''
    returnType: void
    signature: void AddSysctl(CSHA512& hasher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' hasher'
    - leaf
    - subleaf
    - ' ax'
    - ' bx'
    - ' cx'
    - ' dx'
    argTypes:
    - CSHA512
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: AddCPUID
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 1
    functionsReached:
    - GetCPUID
    linkageType: ''
    returnType: void
    signature: void AddCPUID(CSHA512& hasher, uint32_t leaf, uint32_t subleaf, uint32_t&
      ax, uint32_t& bx, uint32_t& cx, uint32_t& dx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AddCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:156,1
    - Dst: AddCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:161,1
    - Dst: AddCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:179,1
    - Dst: AddCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:182,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 184
    functionName: AddAllCPUID
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - AddCPUID
    linkageType: ''
    returnType: void
    signature: void AddAllCPUID(CSHA512& hasher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/bitcoin-core/src/randomenv.cpp:193,1
    - Dst: clock_gettime
      Src: /src/bitcoin-core/src/randomenv.cpp:198,1
    - Dst: clock_gettime
      Src: /src/bitcoin-core/src/randomenv.cpp:202,1
    - Dst: clock_gettime
      Src: /src/bitcoin-core/src/randomenv.cpp:206,1
    - Dst: gettimeofday
      Src: /src/bitcoin-core/src/randomenv.cpp:211,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/randomenv.cpp:215,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/randomenv.cpp:216,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/randomenv.cpp:217,1
    - Dst: getrusage
      Src: /src/bitcoin-core/src/randomenv.cpp:222,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:226,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:227,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:228,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:229,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:230,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:231,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:232,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:233,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:234,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:240,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:245,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:250,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:253,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:256,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/randomenv.cpp:262,1
    - Dst: free
      Src: /src/bitcoin-core/src/randomenv.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 265
    functionName: RandAddDynamicEnv
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - GetSystemTimeAsFileTime
    - AddFile
    - getrusage
    - AddSysctl
    - clock_gettime
    - wallet::WalletRescanReserver::now
    - gettimeofday
    - malloc
    - free
    linkageType: ''
    returnType: void
    signature: void RandAddDynamicEnv(CSHA512& hasher)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:283,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:283,1
    - Dst: getauxval
      Src: /src/bitcoin-core/src/randomenv.cpp:292,1
    - Dst: getauxval
      Src: /src/bitcoin-core/src/randomenv.cpp:295,1
    - Dst: getauxval
      Src: /src/bitcoin-core/src/randomenv.cpp:298,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:299,1
    - Dst: getauxval
      Src: /src/bitcoin-core/src/randomenv.cpp:302,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:303,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:303,1
    - Dst: getauxval
      Src: /src/bitcoin-core/src/randomenv.cpp:306,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:307,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:307,1
    - Dst: AddAllCPUID
      Src: /src/bitcoin-core/src/randomenv.cpp:312,1
    - Dst: GetComputerNameA
      Src: /src/bitcoin-core/src/randomenv.cpp:323,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:324,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/randomenv.cpp:324,1
    - Dst: gethostname
      Src: /src/bitcoin-core/src/randomenv.cpp:328,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:329,1
    - Dst: strnlen
      Src: /src/bitcoin-core/src/randomenv.cpp:329,1
    - Dst: getifaddrs
      Src: /src/bitcoin-core/src/randomenv.cpp:336,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:339,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:340,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:340,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:341,1
    - Dst: AddSockaddr
      Src: /src/bitcoin-core/src/randomenv.cpp:342,1
    - Dst: AddSockaddr
      Src: /src/bitcoin-core/src/randomenv.cpp:343,1
    - Dst: AddSockaddr
      Src: /src/bitcoin-core/src/randomenv.cpp:344,1
    - Dst: freeifaddrs
      Src: /src/bitcoin-core/src/randomenv.cpp:347,1
    - Dst: uname
      Src: /src/bitcoin-core/src/randomenv.cpp:353,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:354,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:354,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:355,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:355,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:356,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:356,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:357,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:357,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:358,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:358,1
    - Dst: AddPath
      Src: /src/bitcoin-core/src/randomenv.cpp:362,1
    - Dst: AddPath
      Src: /src/bitcoin-core/src/randomenv.cpp:363,1
    - Dst: AddPath
      Src: /src/bitcoin-core/src/randomenv.cpp:364,1
    - Dst: AddPath
      Src: /src/bitcoin-core/src/randomenv.cpp:365,1
    - Dst: AddPath
      Src: /src/bitcoin-core/src/randomenv.cpp:366,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:368,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:369,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:370,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:372,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:373,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:374,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:375,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:376,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/randomenv.cpp:377,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:385,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:388,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:391,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:394,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:397,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:400,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:403,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:406,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:409,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:412,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:417,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:420,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:423,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:426,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:429,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:432,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:435,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:438,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:441,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:444,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:447,1
    - Dst: AddSysctl
      Src: /src/bitcoin-core/src/randomenv.cpp:450,1
    - Dst: Write
      Src: /src/bitcoin-core/src/randomenv.cpp:458,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/randomenv.cpp:458,1
    - Dst: GetCurrentProcessId
      Src: /src/bitcoin-core/src/randomenv.cpp:464,1
    - Dst: GetCurrentThreadId
      Src: /src/bitcoin-core/src/randomenv.cpp:464,1
    - Dst: getpid
      Src: /src/bitcoin-core/src/randomenv.cpp:466,1
    - Dst: getppid
      Src: /src/bitcoin-core/src/randomenv.cpp:466,1
    - Dst: getsid
      Src: /src/bitcoin-core/src/randomenv.cpp:466,1
    - Dst: getpgid
      Src: /src/bitcoin-core/src/randomenv.cpp:466,1
    - Dst: getuid
      Src: /src/bitcoin-core/src/randomenv.cpp:466,1
    - Dst: geteuid
      Src: /src/bitcoin-core/src/randomenv.cpp:466,1
    - Dst: getgid
      Src: /src/bitcoin-core/src/randomenv.cpp:466,1
    - Dst: getegid
      Src: /src/bitcoin-core/src/randomenv.cpp:466,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/randomenv.cpp:468,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 469
    functionName: RandAddStaticEnv
    functionSourceFile: /src/bitcoin-core/src/randomenv.cpp
    functionUses: 0
    functionsReached:
    - geteuid
    - getpgid
    - getifaddrs
    - Write
    - getppid
    - strnlen
    - strlen
    - AddSockaddr
    - gethostname
    - AddSysctl
    - getauxval
    - getuid
    - getgid
    - AddFile
    - uname
    - getsid
    - std::this_thread::get_id
    - AddAllCPUID
    - AddPath
    - GetCurrentThreadId
    - getpid
    - GetComputerNameA
    - UCharCast
    - getegid
    - freeifaddrs
    - GetCurrentProcessId
    linkageType: ''
    returnType: void
    signature: void RandAddStaticEnv(CSHA512& hasher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: base_blob::base_blob
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_blob()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: base_blob::base_blob
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_blob(uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/uint256.h:42,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/uint256.h:42,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/uint256.h:43,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/uint256.h:43,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/uint256.h:43,1
    - Dst: base_blob::begin
      Src: /src/bitcoin-core/src/uint256.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vch
    argTypes:
    - std::span<const unsigned char>
    assertStmts:
    - condition: (vch.size() == WIDTH)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/uint256.h
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: base_blob::base_blob
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 1
    functionsReached:
    - std::span<const unsigned char>::size
    - std::copy
    - std::span<const unsigned char>::begin
    - std::span<const unsigned char>::end
    - base_blob::begin
    - assert
    linkageType: ''
    returnType: void
    signature: void base_blob(std::span<const unsigned char> vch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/uint256.h:50,1
    - Dst: base_blob::begin
      Src: /src/bitcoin-core/src/uint256.h:50,1
    - Dst: base_blob::end
      Src: /src/bitcoin-core/src/uint256.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: base_blob::IsNull
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - base_blob::end
    - std::all_of
    - base_blob::begin
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/bitcoin-core/src/uint256.h:57,1
    - Dst: base_blob::begin
      Src: /src/bitcoin-core/src/uint256.h:57,1
    - Dst: base_blob::end
      Src: /src/bitcoin-core/src/uint256.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: base_blob::SetNull
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - base_blob::end
    - std::fill
    - base_blob::begin
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcmp
      Src: /src/bitcoin-core/src/uint256.h:64,1
    - Dst: base_blob::data
      Src: /src/bitcoin-core/src/uint256.h:64,1
    - Dst: m_data::data
      Src: /src/bitcoin-core/src/uint256.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - base_blob
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: base_blob::Compare
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - std::memcmp
    - m_data::data
    - base_blob::data
    linkageType: ''
    returnType: int
    signature: int Compare(const base_blob& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/bitcoin-core/src/uint256.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_blob
    - base_blob
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: operator==(const base_blob& a, const base_blob& b)
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator==(const base_blob& a, const base_blob& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/bitcoin-core/src/uint256.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_blob
    - base_blob
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator!=(const base_blob& a, const base_blob& b)
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const base_blob& a, const base_blob& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/bitcoin-core/src/uint256.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_blob
    - base_blob
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator<(const base_blob& a, const base_blob& b)
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator<(const base_blob& a, const base_blob& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_blob::data
      Src: /src/bitcoin-core/src/uint256.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: base_blob::data
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 2
    functionsReached:
    - base_blob::data
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_blob::data
      Src: /src/bitcoin-core/src/uint256.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: base_blob::data
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 3
    functionsReached:
    - base_blob::data
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_blob::data
      Src: /src/bitcoin-core/src/uint256.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: base_blob::begin
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 4
    functionsReached:
    - base_blob::data
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_blob::data
      Src: /src/bitcoin-core/src/uint256.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: base_blob::end
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 2
    functionsReached:
    - base_blob::data
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_blob::data
      Src: /src/bitcoin-core/src/uint256.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: base_blob::begin
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 4
    functionsReached:
    - base_blob::data
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_blob::data
      Src: /src/bitcoin-core/src/uint256.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: base_blob::end
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 2
    functionsReached:
    - base_blob::data
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: base_blob::size
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE64
      Src: /src/bitcoin-core/src/uint256.h:109,1
    - Dst: base_blob::data
      Src: /src/bitcoin-core/src/uint256.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: base_blob::GetUint64
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - ReadLE64
    - base_blob::data
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetUint64(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span
      Src: /src/bitcoin-core/src/uint256.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: base_blob::Serialize
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - std::span
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/bitcoin-core/src/uint256.h:120,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/uint256.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: base_blob::Unserialize
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - MakeWritableByteSpan
    - read
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::length
      Src: /src/bitcoin-core/src/uint256.h:127,1
    - Dst: size
      Src: /src/bitcoin-core/src/uint256.h:127,1
    - Dst: std::string_view::rbegin
      Src: /src/bitcoin-core/src/uint256.h:128,1
    - Dst: util::ConstevalHexDigit
      Src: /src/bitcoin-core/src/uint256.h:130,1
    - Dst: util::ConstevalHexDigit
      Src: /src/bitcoin-core/src/uint256.h:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: base_blob<BITS>::base_blob
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - util::ConstevalHexDigit
    - std::string_view::rbegin
    - std::string_view::length
    - size
    linkageType: ''
    returnType: void
    signature: void base_blob<BITS>::base_blob(std::string_view hex_str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/uint256.h:145,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/uint256.h:145,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/uint256.h:145,1
    - Dst: uintN_t::begin
      Src: /src/bitcoin-core/src/uint256.h:147,1
    - Dst: uintN_t::end
      Src: /src/bitcoin-core/src/uint256.h:148,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/uint256.h:149,1
    - Dst: HexDigit
      Src: /src/bitcoin-core/src/uint256.h:151,1
    - Dst: HexDigit
      Src: /src/bitcoin-core/src/uint256.h:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: detail::FromHex
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - IsHex
    - HexDigit
    - uintN_t::end
    - std::string_view::size
    - uintN_t::begin
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: std::optional<uintN_t>
    signature: std::optional<uintN_t> FromHex(std::string_view str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::RemovePrefixView
      Src: /src/bitcoin-core/src/uint256.h:169,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/uint256.h:170,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/uint256.h:171,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/uint256.h:172,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: std::string_view::begin
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: std::string_view::end
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/uint256.h:174,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/uint256.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: detail::FromUserHex
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - std::copy
    - auto::begin
    - util::RemovePrefixView
    - detail::FromHex
    - std::string
    - std::string_view::size
    - std::string_view::begin
    - std::string_view::end
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: std::optional<uintN_t>
    signature: std::optional<uintN_t> FromUserHex(std::string_view input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/uint256.h:145,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/uint256.h:145,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/uint256.h:145,1
    - Dst: uintN_t::begin
      Src: /src/bitcoin-core/src/uint256.h:147,1
    - Dst: uintN_t::end
      Src: /src/bitcoin-core/src/uint256.h:148,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/uint256.h:149,1
    - Dst: HexDigit
      Src: /src/bitcoin-core/src/uint256.h:151,1
    - Dst: HexDigit
      Src: /src/bitcoin-core/src/uint256.h:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: detail::FromHex
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 1
    functionsReached:
    - IsHex
    - HexDigit
    - uintN_t::end
    - std::string_view::size
    - uintN_t::begin
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: std::optional<uintN_t>
    signature: std::optional<uintN_t> FromHex(std::string_view str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::RemovePrefixView
      Src: /src/bitcoin-core/src/uint256.h:169,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/uint256.h:170,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/uint256.h:171,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/uint256.h:172,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: std::string_view::begin
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: std::string_view::end
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/uint256.h:173,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/uint256.h:174,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/uint256.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: detail::FromUserHex
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - std::copy
    - auto::begin
    - util::RemovePrefixView
    - detail::FromHex
    - std::string
    - std::string_view::size
    - std::string_view::begin
    - std::string_view::end
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: std::optional<uintN_t>
    signature: std::optional<uintN_t> FromUserHex(std::string_view input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::FromHex<uint160>
      Src: /src/bitcoin-core/src/uint256.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: uint160::FromHex
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - detail::FromHex<uint160>
    linkageType: ''
    returnType: std::optional<uint160>
    signature: std::optional<uint160> FromHex(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: uint160::uint160
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint160()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vch
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: uint160::uint160
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint160(std::span<const unsigned char> vch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::FromHex<uint256>
      Src: /src/bitcoin-core/src/uint256.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: uint256::FromHex
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - detail::FromHex<uint256>
    linkageType: ''
    returnType: std::optional<uint256>
    signature: std::optional<uint256> FromHex(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::FromUserHex<uint256>
      Src: /src/bitcoin-core/src/uint256.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: uint256::FromUserHex
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 0
    functionsReached:
    - detail::FromUserHex<uint256>
    linkageType: ''
    returnType: std::optional<uint256>
    signature: std::optional<uint256> FromUserHex(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: uint256::uint256
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: uint256::uint256
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256(std::string_view hex_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: uint256::uint256
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256(uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vch
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: uint256::uint256
    functionSourceFile: /src/bitcoin-core/src/uint256.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256(std::span<const unsigned char> vch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' outIn'
    - nHeightIn
    - fCoinBaseIn
    argTypes:
    - CTxOut
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Coin::Coin
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Coin(CTxOut&& outIn, int nHeightIn, bool fCoinBaseIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' outIn'
    - nHeightIn
    - fCoinBaseIn
    argTypes:
    - CTxOut
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Coin::Coin
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Coin(const CTxOut& outIn, int nHeightIn, bool fCoinBaseIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetNull
      Src: /src/bitcoin-core/src/coins.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Coin::Clear
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - SetNull
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Coin::Coin
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Coin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Coin::IsCoinBase
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCoinBase() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/coins.h:63,1
    - Dst: Coin::IsSpent
      Src: /src/bitcoin-core/src/coins.h:63,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/coins.h:65,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/coins.h:65,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/coins.h:66,1
    - Dst: Using
      Src: /src/bitcoin-core/src/coins.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts:
    - condition: (!IsSpent())
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bitcoin-core/src/coins.h
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: Coin::Serialize
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    - VARINT
    - Using
    - assert
    - Coin::IsSpent
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream &s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/coins.h:72,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/coins.h:72,1
    - Dst: Wrapper::Unserialize
      Src: /src/bitcoin-core/src/coins.h:75,1
    - Dst: Using
      Src: /src/bitcoin-core/src/coins.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: Coin::Unserialize
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - VARINT
    - Wrapper::Unserialize
    - Using
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/coins.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Coin::IsSpent
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 1
    functionsReached:
    - IsNull
    linkageType: ''
    returnType: bool
    signature: bool IsSpent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/coins.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Coin::DynamicMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - memusage::DynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicMemoryUsage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/coins.h:134,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/coins.h:136,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/coins.h:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - flags
    - ' pair'
    - ' sentinel'
    argTypes:
    - uint8_t
    - CoinsCachePair
    - CoinsCachePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: AddFlags
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: void AddFlags(uint8_t flags, CoinsCachePair& pair, CoinsCachePair&
      sentinel) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: CCoinsCacheEntry
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsCacheEntry() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' coin_'
    argTypes:
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: CCoinsCacheEntry
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CCoinsCacheEntry(Coin&& coin_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetClean
      Src: /src/bitcoin-core/src/coins.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: ~CCoinsCacheEntry()
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - SetClean
    linkageType: ''
    returnType: void
    signature: void ~CCoinsCacheEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddFlags
      Src: /src/bitcoin-core/src/coins.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pair'
    - ' sentinel'
    argTypes:
    - CoinsCachePair
    - CoinsCachePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: SetDirty
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - AddFlags
    linkageType: ''
    returnType: void
    signature: void SetDirty(CoinsCachePair& pair, CoinsCachePair& sentinel) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddFlags
      Src: /src/bitcoin-core/src/coins.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pair'
    - ' sentinel'
    argTypes:
    - CoinsCachePair
    - CoinsCachePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: SetFresh
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - AddFlags
    linkageType: ''
    returnType: void
    signature: void SetFresh(CoinsCachePair& pair, CoinsCachePair& sentinel) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: SetClean
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetClean() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: IsDirty
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDirty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: IsFresh
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFresh() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/coins.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: Next
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 1
    functionsReached:
    - Assume
    linkageType: ''
    returnType: CoinsCachePair
    signature: CoinsCachePair * Next() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/coins.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: Prev
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: CoinsCachePair
    signature: CoinsCachePair * Prev() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/coins.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' pair'
    argTypes:
    - CoinsCachePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: SelfRef
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: void SelfRef(CoinsCachePair& pair) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hashBlockIn
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: CCoinsViewCursor::CCoinsViewCursor
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCursor(const uint256 &hashBlockIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: ~CCoinsViewCursor()
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CCoinsViewCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: '&GetBestBlock() const'
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint256
    signature: uint256 &GetBestBlock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' usage LIFETIMEBOUND'
    - ' sentinel LIFETIMEBOUND'
    - ' map LIFETIMEBOUND'
    - will_erase
    argTypes:
    - size_t
    - CoinsCachePair
    - CCoinsMap
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: CoinsViewCacheCursor
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoinsViewCacheCursor(size_t& usage LIFETIMEBOUND,\n                        CoinsCachePair&
      sentinel LIFETIMEBOUND,\n                        CCoinsMap& map LIFETIMEBOUND,\n
      \                       bool will_erase) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::Next
      Src: /src/bitcoin-core/src/coins.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: Begin
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - second::Next
    linkageType: ''
    returnType: CoinsCachePair
    signature: CoinsCachePair * Begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: End
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CoinsCachePair
    signature: CoinsCachePair * End() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: second::Next
      Src: /src/bitcoin-core/src/coins.h:286,1
    - Dst: second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.h:290,1
    - Dst: second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.h:291,1
    - Dst: erase
      Src: /src/bitcoin-core/src/coins.h:292,1
    - Dst: second::SetClean
      Src: /src/bitcoin-core/src/coins.h:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' current'
    argTypes:
    - CoinsCachePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: NextAndMaybeErase
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - second::SetClean
    - erase
    - second::coin::DynamicMemoryUsage
    - second::coin::IsSpent
    - second::Next
    linkageType: ''
    returnType: CoinsCachePair
    signature: CoinsCachePair * NextAndMaybeErase(CoinsCachePair& current) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.h:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' current'
    argTypes:
    - CoinsCachePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: WillErase
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - second::coin::IsSpent
    linkageType: ''
    returnType: bool
    signature: bool WillErase(CoinsCachePair& current) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: ~CCoinsView()
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CCoinsView()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: CCoinsView::EstimateSize
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EstimateSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 387
    functionName: CCoinsViewCache::CCoinsViewCache
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCache(const CCoinsViewCache &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/coins.h:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: CCoinsViewCache::Cursor
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - std::logic_error
    linkageType: ''
    returnType: std::unique_ptr<CCoinsViewCursor>
    signature: std::unique_ptr<CCoinsViewCursor> Cursor() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - view
    argTypes:
    - CCoinsView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 514
    functionName: CCoinsViewErrorCatcher::CCoinsViewErrorCatcher
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewErrorCatcher(CCoinsView* view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/coins.h:517,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: CCoinsViewErrorCatcher::AddReadErrCallback
    functionSourceFile: /src/bitcoin-core/src/coins.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void AddReadErrCallback(std::function<void()> f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/sync.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - pszName
    - pszFile
    - nLine
    - fTryIn
    - ' thread_name'
    argTypes:
    - char*
    - char*
    - int
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: CLockLocation
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void CLockLocation(\n        const char* pszName,\n        const char*
      pszFile,\n        int nLine,\n        bool fTryIn,\n        std::string&& thread_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/sync.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ToString
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 20
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: Name
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockData::LockData
      Src: /src/bitcoin-core/src/sync.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: GetLockData
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 0
    functionsReached:
    - LockData::LockData
    linkageType: ''
    returnType: LockData
    signature: LockData & GetLockData()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:93,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:94,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:103,1
    - Dst: second::ToString
      Src: /src/bitcoin-core/src/sync.cpp:103,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:107,1
    - Dst: second::Name
      Src: /src/bitcoin-core/src/sync.cpp:112,1
    - Dst: second::Name
      Src: /src/bitcoin-core/src/sync.cpp:116,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:118,1
    - Dst: second::ToString
      Src: /src/bitcoin-core/src/sync.cpp:118,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/sync.cpp:121,1
    - Dst: back
      Src: /src/bitcoin-core/src/sync.cpp:121,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/sync.cpp:121,1
    - Dst: abort
      Src: /src/bitcoin-core/src/sync.cpp:122,1
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/sync.cpp:124,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/sync.cpp:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ' mismatch'
    - ' s1'
    - ' s2'
    argTypes:
    - LockPair
    - LockStack
    - LockStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 125
    functionName: potential_deadlock_detected
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 0
    functionsReached:
    - abort
    - ToString
    - second::ToString
    - tinyformat::detail::FormatArg::format
    - back
    - second::Name
    - LogPrintf
    - std::logic_error
    - strprintf
    linkageType: ''
    returnType: void
    signature: void potential_deadlock_detected(const LockPair& mismatch, const LockStack&
      s1, const LockStack& s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:129,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:130,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:136,1
    - Dst: second::ToString
      Src: /src/bitcoin-core/src/sync.cpp:136,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/sync.cpp:139,1
    - Dst: back
      Src: /src/bitcoin-core/src/sync.cpp:141,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/sync.cpp:141,1
    - Dst: abort
      Src: /src/bitcoin-core/src/sync.cpp:142,1
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/sync.cpp:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - mutex
    - ' lock_stack'
    argTypes:
    - void*
    - LockStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: double_lock_detected
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 0
    functionsReached:
    - abort
    - ToString
    - second::ToString
    - tinyformat::detail::FormatArg::format
    - back
    - LogPrintf
    - std::logic_error
    linkageType: ''
    returnType: void
    signature: void double_lock_detected(const void* mutex, const LockStack& lock_stack)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetLockData
      Src: /src/bitcoin-core/src/sync.cpp:154,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/sync.cpp:157,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/sync.cpp:158,1
    - Dst: size
      Src: /src/bitcoin-core/src/sync.cpp:159,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/sync.cpp:170,1
    - Dst: double_lock_detected
      Src: /src/bitcoin-core/src/sync.cpp:171,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/sync.cpp:175,1
    - Dst: lockorders::count
      Src: /src/bitcoin-core/src/sync.cpp:176,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/sync.cpp:179,1
    - Dst: lockorders::count
      Src: /src/bitcoin-core/src/sync.cpp:180,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/sync.cpp:182,1
    - Dst: potential_deadlock_detected
      Src: /src/bitcoin-core/src/sync.cpp:183,1
    - Dst: lockorders::emplace
      Src: /src/bitcoin-core/src/sync.cpp:187,1
    - Dst: invlockorders::insert
      Src: /src/bitcoin-core/src/sync.cpp:188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - c
    - ' locklocation'
    argTypes:
    - MutexType*
    - CLockLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 190
    functionName: push_lock
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - lockorders::count
    - std::make_pair
    - double_lock_detected
    - lockorders::emplace
    - size
    - std::this_thread::get_id
    - invlockorders::insert
    - potential_deadlock_detected
    - emplace_back
    - GetLockData
    linkageType: ''
    returnType: void
    signature: void push_lock(MutexType* c, const CLockLocation& locklocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLockData
      Src: /src/bitcoin-core/src/sync.cpp:194,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/sync.cpp:197,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/sync.cpp:198,1
    - Dst: empty
      Src: /src/bitcoin-core/src/sync.cpp:199,1
    - Dst: m_lock_stacks::erase
      Src: /src/bitcoin-core/src/sync.cpp:200,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/sync.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: pop_lock
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 0
    functionsReached:
    - empty
    - m_lock_stacks::erase
    - std::this_thread::get_id
    - pop_back
    - GetLockData
    linkageType: ''
    returnType: void
    signature: void pop_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_lock
      Src: /src/bitcoin-core/src/sync.cpp:207,1
    - Dst: CLockLocation
      Src: /src/bitcoin-core/src/sync.cpp:207,1
    - Dst: util::ThreadGetInternalName
      Src: /src/bitcoin-core/src/sync.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pszName
    - pszFile
    - nLine
    - cs
    - fTry
    argTypes:
    - char*
    - char*
    - int
    - MutexType*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: EnterCritical
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 3
    functionsReached:
    - util::ThreadGetInternalName
    - push_lock
    - CLockLocation
    linkageType: ''
    returnType: void
    signature: void EnterCritical(const char* pszName, const char* pszFile, int nLine,
      MutexType* cs, bool fTry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetLockData
      Src: /src/bitcoin-core/src/sync.cpp:216,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/sync.cpp:219,1
    - Dst: empty
      Src: /src/bitcoin-core/src/sync.cpp:220,1
    - Dst: back
      Src: /src/bitcoin-core/src/sync.cpp:221,1
    - Dst: second::Name
      Src: /src/bitcoin-core/src/sync.cpp:223,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:228,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:229,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/sync.cpp:231,1
    - Dst: second::ToString
      Src: /src/bitcoin-core/src/sync.cpp:231,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/sync.cpp:234,1
    - Dst: abort
      Src: /src/bitcoin-core/src/sync.cpp:235,1
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/sync.cpp:237,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/sync.cpp:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - cs
    - ' lockname'
    - guardname
    - file
    - line
    argTypes:
    - void*
    - std::string
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 238
    functionName: CheckLastCritical
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 1
    functionsReached:
    - abort
    - empty
    - second::ToString
    - tinyformat::detail::FormatArg::format
    - back
    - std::this_thread::get_id
    - second::Name
    - LogPrintf
    - std::logic_error
    - strprintf
    - GetLockData
    linkageType: ''
    returnType: void
    signature: void CheckLastCritical(void* cs, std::string& lockname, const char*
      guardname, const char* file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_lock
      Src: /src/bitcoin-core/src/sync.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: LeaveCritical
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 3
    functionsReached:
    - pop_lock
    linkageType: ''
    returnType: void
    signature: void LeaveCritical()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLockData
      Src: /src/bitcoin-core/src/sync.cpp:247,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/sync.cpp:250,1
    - Dst: second::ToString
      Src: /src/bitcoin-core/src/sync.cpp:253,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/sync.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: LocksHeld
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - GetLockData
    - std::this_thread::get_id
    - second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string LocksHeld()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLockData
      Src: /src/bitcoin-core/src/sync.cpp:259,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/sync.cpp:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: LockHeld
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 21
    functionsReached:
    - GetLockData
    - std::this_thread::get_id
    linkageType: ''
    returnType: bool
    signature: bool LockHeld(void* mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LockHeld
      Src: /src/bitcoin-core/src/sync.cpp:273,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/sync.cpp:274,1
    - Dst: LocksHeld
      Src: /src/bitcoin-core/src/sync.cpp:274,1
    - Dst: abort
      Src: /src/bitcoin-core/src/sync.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pszName
    - pszFile
    - nLine
    - cs
    argTypes:
    - char*
    - char*
    - int
    - MutexType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: AssertLockHeldInternal
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 0
    functionsReached:
    - tinyformat::detail::FormatArg::format
    - abort
    - LocksHeld
    - LockHeld
    linkageType: ''
    returnType: void
    signature: void AssertLockHeldInternal(const char* pszName, const char* pszFile,
      int nLine, MutexType* cs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LockHeld
      Src: /src/bitcoin-core/src/sync.cpp:283,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/sync.cpp:284,1
    - Dst: LocksHeld
      Src: /src/bitcoin-core/src/sync.cpp:284,1
    - Dst: abort
      Src: /src/bitcoin-core/src/sync.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pszName
    - pszFile
    - nLine
    - cs
    argTypes:
    - char*
    - char*
    - int
    - MutexType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: AssertLockNotHeldInternal
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 2
    functionsReached:
    - tinyformat::detail::FormatArg::format
    - abort
    - LocksHeld
    - LockHeld
    linkageType: ''
    returnType: void
    signature: void AssertLockNotHeldInternal(const char* pszName, const char* pszFile,
      int nLine, MutexType* cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLockData
      Src: /src/bitcoin-core/src/sync.cpp:292,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/sync.cpp:294,1
    - Dst: lockorders::lower_bound
      Src: /src/bitcoin-core/src/sync.cpp:295,1
    - Dst: lockorders::end
      Src: /src/bitcoin-core/src/sync.cpp:296,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/sync.cpp:297,1
    - Dst: invlockorders::erase
      Src: /src/bitcoin-core/src/sync.cpp:298,1
    - Dst: lockorders::erase
      Src: /src/bitcoin-core/src/sync.cpp:299,1
    - Dst: invlockorders::lower_bound
      Src: /src/bitcoin-core/src/sync.cpp:301,1
    - Dst: invlockorders::end
      Src: /src/bitcoin-core/src/sync.cpp:302,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/sync.cpp:303,1
    - Dst: lockorders::erase
      Src: /src/bitcoin-core/src/sync.cpp:304,1
    - Dst: invlockorders::erase
      Src: /src/bitcoin-core/src/sync.cpp:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - cs
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: DeleteLock
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - invlockorders::lower_bound
    - lockorders::erase
    - lockorders::lower_bound
    - lockorders::end
    - invlockorders::end
    - invlockorders::erase
    - GetLockData
    linkageType: ''
    returnType: void
    signature: void DeleteLock(void* cs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLockData
      Src: /src/bitcoin-core/src/sync.cpp:311,1
    - Dst: m_lock_stacks::find
      Src: /src/bitcoin-core/src/sync.cpp:313,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/sync.cpp:313,1
    - Dst: m_lock_stacks::end
      Src: /src/bitcoin-core/src/sync.cpp:314,1
    - Dst: auto::second::empty
      Src: /src/bitcoin-core/src/sync.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: LockStackEmpty
    functionSourceFile: /src/bitcoin-core/src/sync.cpp
    functionUses: 0
    functionsReached:
    - m_lock_stacks::find
    - m_lock_stacks::end
    - std::this_thread::get_id
    - auto::second::empty
    - GetLockData
    linkageType: ''
    returnType: bool
    signature: bool LockStackEmpty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chain.cpp:12,1
    - Dst: FormatISO8601Date
      Src: /src/bitcoin-core/src/chain.cpp:12,1
    - Dst: FormatISO8601Date
      Src: /src/bitcoin-core/src/chain.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: CBlockFileInfo::ToString
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached:
    - FormatISO8601Date
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CBlockFileInfo::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chain.cpp:17,1
    - Dst: CBlockIndex::ToString
      Src: /src/bitcoin-core/src/chain.cpp:18,1
    - Dst: CBlockIndex::GetBlockHash
      Src: /src/bitcoin-core/src/chain.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: CBlockIndex::ToString
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 1
    functionsReached:
    - CBlockIndex::ToString
    - CBlockIndex::GetBlockHash
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CBlockIndex::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/chain.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: CChain::SetTip
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void CChain::SetTip(CBlockIndex& block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/chain.cpp:37,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/chain.cpp:39,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/chain.cpp:39,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/chain.cpp:42,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/chain.cpp:44,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/chain.cpp:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: LocatorEntries
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::reserve
    - std::max
    - CBlockIndex*::GetAncestor
    - CBlockIndex*::GetBlockHash
    - std::vector::size
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> LocatorEntries(const CBlockIndex* index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocatorEntries
      Src: /src/bitcoin-core/src/chain.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: GetLocator
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 5
    functionsReached:
    - LocatorEntries
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator GetLocator(const CBlockIndex* index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CChain::GetLocator
      Src: /src/bitcoin-core/src/chain.cpp:57,1
    - Dst: CChain::Tip
      Src: /src/bitcoin-core/src/chain.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: CChain::GetLocator
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 1
    functionsReached:
    - CChain::GetLocator
    - CChain::Tip
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator CChain::GetLocator() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CChain::Height
      Src: /src/bitcoin-core/src/chain.cpp:64,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/chain.cpp:65,1
    - Dst: CChain::Height
      Src: /src/bitcoin-core/src/chain.cpp:65,1
    - Dst: CChain::Contains
      Src: /src/bitcoin-core/src/chain.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: CChain::FindFork
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached:
    - CChain::Contains
    - CBlockIndex*::GetAncestor
    - CChain::Height
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex *CChain::FindFork(const CBlockIndex *pindex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/chain.cpp:73,1
    - Dst: std::lower_bound
      Src: /src/bitcoin-core/src/chain.cpp:74,1
    - Dst: begin
      Src: /src/bitcoin-core/src/chain.cpp:74,1
    - Dst: end
      Src: /src/bitcoin-core/src/chain.cpp:74,1
    - Dst: GetBlockTimeMax
      Src: /src/bitcoin-core/src/chain.cpp:75,1
    - Dst: end
      Src: /src/bitcoin-core/src/chain.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nTime
    - height
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: CChain::FindEarliestAtLeast
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::make_pair
    - GetBlockTimeMax
    - std::lower_bound
    - begin
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * CChain::FindEarliestAtLeast(int64_t nTime, int height)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: InvertLowestOne
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int InvertLowestOne(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InvertLowestOne
      Src: /src/bitcoin-core/src/chain.cpp:90,1
    - Dst: InvertLowestOne
      Src: /src/bitcoin-core/src/chain.cpp:90,1
    - Dst: InvertLowestOne
      Src: /src/bitcoin-core/src/chain.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: GetSkipHeight
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached:
    - InvertLowestOne
    linkageType: ''
    returnType: int
    signature: int GetSkipHeight(int height)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSkipHeight
      Src: /src/bitcoin-core/src/chain.cpp:102,1
    - Dst: GetSkipHeight
      Src: /src/bitcoin-core/src/chain.cpp:103,1
    - Dst: assert
      Src: /src/bitcoin-core/src/chain.cpp:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts:
    - condition: (pindexWalk->pprev)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bitcoin-core/src/chain.cpp
    constantsTouched: []
    func_position:
      end: 118
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 118
    functionName: CBlockIndex::GetAncestor
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GetSkipHeight
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * CBlockIndex::GetAncestor(int height) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CBlockIndex*>
      Src: /src/bitcoin-core/src/chain.cpp:122,1
    - Dst: static_cast<const CBlockIndex*>
      Src: /src/bitcoin-core/src/chain.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: CBlockIndex::GetAncestor
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached:
    - const_cast<CBlockIndex*>
    - static_cast<const CBlockIndex*>
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * CBlockIndex::GetAncestor(int height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex::GetAncestor
      Src: /src/bitcoin-core/src/chain.cpp:128,1
    - Dst: GetSkipHeight
      Src: /src/bitcoin-core/src/chain.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: CBlockIndex::BuildSkip
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 0
    functionsReached:
    - CBlockIndex::GetAncestor
    - GetSkipHeight
    linkageType: ''
    returnType: void
    signature: void CBlockIndex::BuildSkip()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/chain.cpp:133,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/chain.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: GetBlockProof
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 1
    functionsReached:
    - arith_uint256::arith_uint256
    - arith_uint256::SetCompact
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 GetBlockProof(const CBlockIndex& block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/chain.cpp:148,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/chain.cpp:156,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/chain.cpp:156,1
    - Dst: arith_uint256::bits
      Src: /src/bitcoin-core/src/chain.cpp:157,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/chain.cpp:158,1
    - Dst: arith_uint256::GetLow64
      Src: /src/bitcoin-core/src/chain.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' to'
    - ' from'
    - ' tip'
    - ' params'
    argTypes:
    - CBlockIndex
    - CBlockIndex
    - CBlockIndex
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: GetBlockProofEquivalentTime
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 1
    functionsReached:
    - GetBlockProof
    - arith_uint256
    - arith_uint256::bits
    - arith_uint256::GetLow64
    - arith_uint256::arith_uint256
    - RandomMixin::max
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetBlockProofEquivalentTime(const CBlockIndex& to, const CBlockIndex&
      from, const CBlockIndex& tip, const Consensus::Params& params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/chain.cpp:167,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/chain.cpp:169,1
    - Dst: assert
      Src: /src/bitcoin-core/src/chain.cpp:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    assertStmts:
    - condition: (pa == pb)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/bitcoin-core/src/chain.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: LastCommonAncestor
    functionSourceFile: /src/bitcoin-core/src/chain.cpp
    functionUses: 3
    functionsReached:
    - assert
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * LastCommonAncestor(const CBlockIndex* pa, const CBlockIndex*
      pb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsSpace
      Src: /src/bitcoin-core/src/base58.cpp:43,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/base58.cpp:54,1
    - Dst: size
      Src: /src/bitcoin-core/src/base58.cpp:57,1
    - Dst: IsSpace
      Src: /src/bitcoin-core/src/base58.cpp:58,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/base58.cpp:64,1
    - Dst: std::vector::rend
      Src: /src/bitcoin-core/src/base58.cpp:64,1
    - Dst: assert
      Src: /src/bitcoin-core/src/base58.cpp:69,1
    - Dst: IsSpace
      Src: /src/bitcoin-core/src/base58.cpp:75,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/base58.cpp:80,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/base58.cpp:82,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/base58.cpp:82,1
    - Dst: assign
      Src: /src/bitcoin-core/src/base58.cpp:83,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/base58.cpp:84,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/base58.cpp:85,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - psz
    - ' vch'
    - max_ret_len
    argTypes:
    - char*
    - std::vector<unsigned char>
    - int
    assertStmts:
    - condition: (carry == 0)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/base58.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 87
    functionName: DecodeBase58
    functionSourceFile: /src/bitcoin-core/src/base58.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - std::vector::end
    - strlen
    - push_back
    - assign
    - std::vector::rend
    - size
    - std::vector::begin
    - IsSpace
    - assert
    - std::vector::rbegin
    linkageType: ''
    returnType: bool
    signature: bool DecodeBase58(const char* psz, std::vector<unsigned char>& vch,
      int max_ret_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/base58.cpp:94,1
    - Dst: std::span<const unsigned char>::subspan
      Src: /src/bitcoin-core/src/base58.cpp:95,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/base58.cpp:99,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/base58.cpp:102,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/base58.cpp:106,1
    - Dst: std::vector::rend
      Src: /src/bitcoin-core/src/base58.cpp:106,1
    - Dst: assert
      Src: /src/bitcoin-core/src/base58.cpp:112,1
    - Dst: std::span<const unsigned char>::subspan
      Src: /src/bitcoin-core/src/base58.cpp:114,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/base58.cpp:117,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/base58.cpp:118,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/base58.cpp:122,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/base58.cpp:122,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/base58.cpp:123,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/base58.cpp:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const unsigned char>
    assertStmts:
    - condition: (carry == 0)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bitcoin-core/src/base58.cpp
    constantsTouched: []
    func_position:
      end: 127
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 127
    functionName: EncodeBase58
    functionSourceFile: /src/bitcoin-core/src/base58.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - std::vector::end
    - std::string::assign
    - std::vector::rend
    - std::vector::begin
    - std::string::reserve
    - std::span<const unsigned char>::subspan
    - assert
    - std::vector::rbegin
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase58(std::span<const unsigned char> input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ContainsNoNUL
      Src: /src/bitcoin-core/src/base58.cpp:131,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/base58.cpp:134,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/base58.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' str'
    - ' vchRet'
    - max_ret_len
    argTypes:
    - std::string
    - std::vector<unsigned char>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: DecodeBase58
    functionSourceFile: /src/bitcoin-core/src/base58.cpp
    functionUses: 3
    functionsReached:
    - DecodeBase58
    - ContainsNoNUL
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool DecodeBase58(const std::string& str, std::vector<unsigned char>&
      vchRet, int max_ret_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/base58.cpp:140,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/base58.cpp:140,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/base58.cpp:141,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/base58.cpp:142,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/base58.cpp:142,1
    - Dst: uint256::data
      Src: /src/bitcoin-core/src/base58.cpp:142,1
    - Dst: uint256::data
      Src: /src/bitcoin-core/src/base58.cpp:142,1
    - Dst: EncodeBase58
      Src: /src/bitcoin-core/src/base58.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: EncodeBase58Check
    functionSourceFile: /src/bitcoin-core/src/base58.cpp
    functionUses: 7
    functionsReached:
    - std::vector::end
    - Hash
    - std::span<const unsigned char>::begin
    - std::span<const unsigned char>::end
    - EncodeBase58
    - std::vector::insert
    - uint256::data
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase58Check(std::span<const unsigned char> input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/base58.cpp:148,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/base58.cpp:148,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/base58.cpp:148,1
    - Dst: size
      Src: /src/bitcoin-core/src/base58.cpp:149,1
    - Dst: clear
      Src: /src/bitcoin-core/src/base58.cpp:150,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/base58.cpp:154,1
    - Dst: first
      Src: /src/bitcoin-core/src/base58.cpp:154,1
    - Dst: size
      Src: /src/bitcoin-core/src/base58.cpp:154,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/base58.cpp:155,1
    - Dst: size
      Src: /src/bitcoin-core/src/base58.cpp:155,1
    - Dst: clear
      Src: /src/bitcoin-core/src/base58.cpp:156,1
    - Dst: resize
      Src: /src/bitcoin-core/src/base58.cpp:159,1
    - Dst: size
      Src: /src/bitcoin-core/src/base58.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - psz
    - ' vchRet'
    - max_ret_len
    argTypes:
    - char*
    - std::vector<unsigned char>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: DecodeBase58Check
    functionSourceFile: /src/bitcoin-core/src/base58.cpp
    functionUses: 5
    functionsReached:
    - Hash
    - DecodeBase58
    - size
    - memcmp
    - clear
    - first
    - resize
    - RandomMixin::max
    linkageType: ''
    returnType: bool
    signature: bool DecodeBase58Check(const char* psz, std::vector<unsigned char>&
      vchRet, int max_ret_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ContainsNoNUL
      Src: /src/bitcoin-core/src/base58.cpp:165,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/base58.cpp:168,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/base58.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' str'
    - ' vchRet'
    - max_ret
    argTypes:
    - std::string
    - std::vector<unsigned char>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: DecodeBase58Check
    functionSourceFile: /src/bitcoin-core/src/base58.cpp
    functionUses: 6
    functionsReached:
    - c_str
    - DecodeBase58Check
    - ContainsNoNUL
    linkageType: ''
    returnType: bool
    signature: bool DecodeBase58Check(const std::string& str, std::vector<unsigned
      char>& vchRet, int max_ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPoolEntry::GetTx
      Src: /src/bitcoin-core/src/txmempool.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CTxMemPoolEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: operator() (const CTxMemPoolEntry &entry) const
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - CTxMemPoolEntry::GetTx
    linkageType: ''
    returnType: result_type
    signature: result_type operator() (const CTxMemPoolEntry &entry) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/txmempool.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: operator() (const CTransactionRef& tx) const
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: result_type
    signature: result_type operator() (const CTransactionRef& tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPoolEntry::GetTx
      Src: /src/bitcoin-core/src/txmempool.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CTxMemPoolEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: operator() (const CTxMemPoolEntry &entry) const
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - CTxMemPoolEntry::GetTx
    linkageType: ''
    returnType: result_type
    signature: result_type operator() (const CTxMemPoolEntry &entry) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/txmempool.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: operator() (const CTransactionRef& tx) const
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - GetWitnessHash
    linkageType: ''
    returnType: result_type
    signature: result_type operator() (const CTransactionRef& tx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetModFeeAndSize
      Src: /src/bitcoin-core/src/txmempool.h:97,1
    - Dst: GetModFeeAndSize
      Src: /src/bitcoin-core/src/txmempool.h:98,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/txmempool.h:100,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/txmempool.h:101,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/txmempool.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxMemPoolEntry
    - CTxMemPoolEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - GetModFeeAndSize
    - FeeRateCompare
    - GetTime
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<FeeFrac>
      Src: /src/bitcoin-core/src/txmempool.h:111,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/txmempool.h:112,1
    - Dst: CTxMemPoolEntry::GetModFeesWithDescendants
      Src: /src/bitcoin-core/src/txmempool.h:112,1
    - Dst: CTxMemPoolEntry::GetSizeWithDescendants
      Src: /src/bitcoin-core/src/txmempool.h:112,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/txmempool.h:113,1
    - Dst: CTxMemPoolEntry::GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.h:113,1
    - Dst: CTxMemPoolEntry::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - CTxMemPoolEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: CompareTxMemPoolEntryByDescendantScore::GetModFeeAndSize
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - FeeFrac
    - CTxMemPoolEntry::GetModifiedFee
    - CTxMemPoolEntry::GetTxSize
    - CTxMemPoolEntry::GetSizeWithDescendants
    - std::max<FeeFrac>
    - CTxMemPoolEntry::GetModFeesWithDescendants
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac GetModFeeAndSize(const CTxMemPoolEntry &a) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetFee
      Src: /src/bitcoin-core/src/txmempool.h:130,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.h:130,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/txmempool.h:131,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.h:131,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/txmempool.h:132,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.h:133,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxMemPoolEntry
    - CTxMemPoolEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - FeeRateCompare
    - GetTxSize
    - GetFee
    - GetTx
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/txmempool.h:144,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/txmempool.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxMemPoolEntry
    - CTxMemPoolEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - GetTime
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetModFeeAndSize
      Src: /src/bitcoin-core/src/txmempool.h:158,1
    - Dst: GetModFeeAndSize
      Src: /src/bitcoin-core/src/txmempool.h:159,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/txmempool.h:161,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.h:162,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - GetModFeeAndSize
    - FeeRateCompare
    - GetTx
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<FeeFrac>
      Src: /src/bitcoin-core/src/txmempool.h:173,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/txmempool.h:174,1
    - Dst: T::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/txmempool.h:174,1
    - Dst: T::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/txmempool.h:174,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/txmempool.h:175,1
    - Dst: T::GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.h:175,1
    - Dst: T::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: CompareTxMemPoolEntryByAncestorFee::GetModFeeAndSize
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - FeeFrac
    - T::GetTxSize
    - std::min<FeeFrac>
    - T::GetModFeesWithAncestors
    - T::GetModifiedFee
    - T::GetSizeWithAncestors
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac GetModFeeAndSize(const T &a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::indexed_transaction_set::const_iterator::GetSharedTx
      Src: /src/bitcoin-core/src/txmempool.h:412,1
    - Dst: CTxMemPool::indexed_transaction_set::const_iterator::GetTime
      Src: /src/bitcoin-core/src/txmempool.h:412,1
    - Dst: CTxMemPool::indexed_transaction_set::const_iterator::GetFee
      Src: /src/bitcoin-core/src/txmempool.h:412,1
    - Dst: CTxMemPool::indexed_transaction_set::const_iterator::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.h:412,1
    - Dst: CTxMemPool::indexed_transaction_set::const_iterator::GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.h:412,1
    - Dst: CTxMemPool::indexed_transaction_set::const_iterator::GetFee
      Src: /src/bitcoin-core/src/txmempool.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - CTxMemPool::indexed_transaction_set::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: CTxMemPool::GetInfo
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - CTxMemPool::indexed_transaction_set::const_iterator::GetTxSize
    - CTxMemPool::indexed_transaction_set::const_iterator::GetModifiedFee
    - CTxMemPool::indexed_transaction_set::const_iterator::GetFee
    - CTxMemPool::indexed_transaction_set::const_iterator::GetTime
    - CTxMemPool::indexed_transaction_set::const_iterator::GetSharedTx
    linkageType: ''
    returnType: TxMempoolInfo
    signature: TxMempoolInfo GetInfo(CTxMemPool::indexed_transaction_set::const_iterator
      it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::GetMinFee
      Src: /src/bitcoin-core/src/txmempool.h:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: CTxMemPool::GetMinFee
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 1
    functionsReached:
    - CTxMemPool::GetMinFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate GetMinFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.h:614,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.h:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: CTxMemPool::size
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 1
    functionsReached:
    - LOCK
    - CTxMemPool::size
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: CTxMemPool::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.h:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: CTxMemPool::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.h:632,1
    - Dst: count
      Src: /src/bitcoin-core/src/txmempool.h:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 634
    functionName: CTxMemPool::exists
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - LOCK
    - count
    linkageType: ''
    returnType: bool
    signature: bool exists(const Txid& txid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.h:638,1
    - Dst: CTxMemPool::get
      Src: /src/bitcoin-core/src/txmempool.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: CTxMemPool::exists
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - LOCK
    - CTxMemPool::get
    linkageType: ''
    returnType: bool
    signature: bool exists(const Wtxid& wtxid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.h:649,1
    - Dst: CTxMemPool::GetIter
      Src: /src/bitcoin-core/src/txmempool.h:650,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/txmempool.h:651,1
    - Dst: CTxMemPool::GetInfo
      Src: /src/bitcoin-core/src/txmempool.h:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 652
    functionName: CTxMemPool::info
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - LOCK
    - CTxMemPool::GetInfo
    - auto::has_value
    - CTxMemPool::GetIter
    linkageType: ''
    returnType: TxMempoolInfo
    signature: TxMempoolInfo info(const T& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.h:658,1
    - Dst: CTxMemPool::GetIter
      Src: /src/bitcoin-core/src/txmempool.h:659,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/txmempool.h:660,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/txmempool.h:660,1
    - Dst: CTxMemPool::GetInfo
      Src: /src/bitcoin-core/src/txmempool.h:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' id'
    - last_sequence
    argTypes:
    - T
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: CTxMemPool::info_for_relay
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - auto::value
    - auto::has_value
    - LOCK
    - CTxMemPool::GetInfo
    - CTxMemPool::GetIter
    linkageType: ''
    returnType: TxMempoolInfo
    signature: TxMempoolInfo info_for_relay(const T& id, uint64_t last_sequence) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.h:671,1
    - Dst: CTxMemPool::exists
      Src: /src/bitcoin-core/src/txmempool.h:674,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/txmempool.h:674,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.h:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 675
    functionName: CTxMemPool::AddUnbroadcastTx
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - insert
    - LOCK
    - transaction_identifier::FromUint256
    - CTxMemPool::exists
    linkageType: ''
    returnType: void
    signature: void AddUnbroadcastTx(const uint256& txid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.h:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 685
    functionName: CTxMemPool::GetUnbroadcastTxs
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: std::set<uint256>
    signature: std::set<uint256> GetUnbroadcastTxs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.h:690,1
    - Dst: count
      Src: /src/bitcoin-core/src/txmempool.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: CTxMemPool::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - count
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: CTxMemPool::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 701
    functionName: CTxMemPool::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visited
      Src: /src/bitcoin-core/src/txmempool.h:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: CTxMemPool::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - visited
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs, m_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.h:784,1
    - Dst: guarded
      Src: /src/bitcoin-core/src/txmempool.h:784,1
    - Dst: visited
      Src: /src/bitcoin-core/src/txmempool.h:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_epoch.guarded())
      pos:
        line_end: 783
        line_start: 783
        source_file: /src/bitcoin-core/src/txmempool.h
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: CTxMemPool::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - visited
    - assert
    - guarded
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs, m_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pool
    argTypes:
    - CTxMemPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: CTxMemPool::ChangeSet::ChangeSet
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChangeSet(CTxMemPool* pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 819
    functionName: (m_pool->cs)
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (m_pool->cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 821
    functionName: CTxMemPool::ChangeSet::ChangeSet
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChangeSet(const ChangeSet&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 822
    functionName: '& operator=(const ChangeSet&)'
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChangeSet
    signature: ChangeSet & operator=(const ChangeSet&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.h:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 827
    functionName: CTxMemPool::ChangeSet::StageRemoval
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void StageRemoval(CTxMemPool::txiter it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 829
    functionName: '& GetRemovals() const'
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTxMemPool::setEntries
    signature: CTxMemPool::setEntries & GetRemovals() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.h:834,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.h:835,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.h:839,1
    - Dst: CTxMemPool::ChangeSet::CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/txmempool.h:840,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/txmempool.h:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tx
    - ' limits'
    argTypes:
    - TxHandle
    - Limits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 843
    functionName: CTxMemPool::ChangeSet::CalculateMemPoolAncestors
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 1
    functionsReached:
    - end
    - LOCK
    - CTxMemPool::ChangeSet::CalculateMemPoolAncestors
    - find
    - try_emplace
    linkageType: ''
    returnType: util::Result<CTxMemPool::setEntries>
    signature: util::Result<CTxMemPool::setEntries> CalculateMemPoolAncestors(TxHandle
      tx, const Limits& limits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txmempool.h:847,1
    - Dst: size
      Src: /src/bitcoin-core/src/txmempool.h:847,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.h:849,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/txmempool.h:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 852
    functionName: CTxMemPool::ChangeSet::GetAddedTxns
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - size
    - std::vector::emplace_back
    - GetSharedTx
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<CTransactionRef>
    signature: std::vector<CTransactionRef> GetAddedTxns() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/txmempool.h:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 862
    functionName: CTxMemPool::ChangeSet::GetTxCount
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GetTxCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/txmempool.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 863
    functionName: '& GetAddedTxn(size_t index) const'
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: CTransaction
    signature: CTransaction & GetAddedTxn(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.h:879,1
    - Dst: std::make_unique<ChangeSet>
      Src: /src/bitcoin-core/src/txmempool.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 882
    functionName: CTxMemPool::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached:
    - Assume
    - std::make_unique<ChangeSet>
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 943
    functionName: '& GetNonBaseCoins() const'
    functionSourceFile: /src/bitcoin-core/src/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_set<COutPoint, SaltedOutpointHasher>
    signature: std::unordered_set<COutPoint, SaltedOutpointHasher> & GetNonBaseCoins()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/netmessagemaker.h:17,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/netmessagemaker.h:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg_type
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: NetMsg::Make
    functionSourceFile: /src/bitcoin-core/src/netmessagemaker.h
    functionUses: 4
    functionsReached:
    - std::forward<Args>
    - std::move
    linkageType: ''
    returnType: CSerializedNetMsg
    signature: CSerializedNetMsg Make(std::string msg_type, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/netmessagemaker.h:17,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/netmessagemaker.h:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg_type
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: NetMsg::Make
    functionSourceFile: /src/bitcoin-core/src/netmessagemaker.h
    functionUses: 4
    functionsReached:
    - std::forward<Args>
    - std::move
    linkageType: ''
    returnType: CSerializedNetMsg
    signature: CSerializedNetMsg Make(std::string msg_type, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: DummyWalletInit::HasWalletSupport
    functionSourceFile: /src/bitcoin-core/src/dummywallet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasWalletSupport() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: DummyWalletInit::ParameterInteraction
    functionSourceFile: /src/bitcoin-core/src/dummywallet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ParameterInteraction() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/dummywallet.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: DummyWalletInit::Construct
    functionSourceFile: /src/bitcoin-core/src/dummywallet.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    linkageType: ''
    returnType: void
    signature: void Construct(node::NodeContext& node) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddHiddenArgs
      Src: /src/bitcoin-core/src/dummywallet.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: DummyWalletInit::AddWalletOptions
    functionSourceFile: /src/bitcoin-core/src/dummywallet.cpp
    functionUses: 0
    functionsReached:
    - AddHiddenArgs
    linkageType: ''
    returnType: void
    signature: void DummyWalletInit::AddWalletOptions(ArgsManager& argsman) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/dummywallet.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' chain'
    - ' args'
    argTypes:
    - Chain
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: interfaces::MakeWalletLoader
    functionSourceFile: /src/bitcoin-core/src/dummywallet.cpp
    functionUses: 0
    functionsReached:
    - std::logic_error
    linkageType: ''
    returnType: std::unique_ptr<WalletLoader>
    signature: std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager&
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/dummywallet.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' chain'
    - ' args'
    argTypes:
    - Chain
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: interfaces::MakeWalletLoader
    functionSourceFile: /src/bitcoin-core/src/dummywallet.cpp
    functionUses: 0
    functionsReached:
    - std::logic_error
    linkageType: ''
    returnType: std::unique_ptr<WalletLoader>
    signature: std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager&
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddArg
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:16,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:17,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:19,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:20,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:21,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:22,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:23,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:24,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: SetupChainParamsBaseOptions
    functionSourceFile: /src/bitcoin-core/src/chainparamsbase.cpp
    functionUses: 0
    functionsReached:
    - AddArg
    linkageType: ''
    returnType: void
    signature: void SetupChainParamsBaseOptions(ArgsManager& argsman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (globalChainBaseParams)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/chainparamsbase.cpp
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: BaseParams
    functionSourceFile: /src/bitcoin-core/src/chainparamsbase.cpp
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: CBaseChainParams
    signature: CBaseChainParams & BaseParams()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CBaseChainParams>
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:44,1
    - Dst: std::make_unique<CBaseChainParams>
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:46,1
    - Dst: std::make_unique<CBaseChainParams>
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:48,1
    - Dst: std::make_unique<CBaseChainParams>
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:50,1
    - Dst: std::make_unique<CBaseChainParams>
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:52,1
    - Dst: assert
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - chain
    argTypes:
    - ChainType
    assertStmts:
    - condition: (false)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/chainparamsbase.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: CreateBaseChainParams
    functionSourceFile: /src/bitcoin-core/src/chainparamsbase.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::make_unique<CBaseChainParams>
    linkageType: ''
    returnType: std::unique_ptr<CBaseChainParams>
    signature: std::unique_ptr<CBaseChainParams> CreateBaseChainParams(const ChainType
      chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:59,1
    - Dst: SelectConfigNetwork
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:60,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/chainparamsbase.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chain
    argTypes:
    - ChainType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: SelectBaseParams
    functionSourceFile: /src/bitcoin-core/src/chainparamsbase.cpp
    functionUses: 0
    functionsReached:
    - CreateBaseChainParams
    - ChainTypeToString
    - SelectConfigNetwork
    linkageType: ''
    returnType: void
    signature: void SelectBaseParams(const ChainType chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupHelpOptions
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:33,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:35,1
    - Dst: ArgsManager::AddCommand
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:37,1
    - Dst: SetupChainParamsBaseOptions
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - argsman
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: SetupBitcoinUtilArgs
    functionSourceFile: /src/bitcoin-core/src/bitcoin-util.cpp
    functionUses: 0
    functionsReached:
    - SetupHelpOptions
    - ArgsManager::AddArg
    - SetupChainParamsBaseOptions
    - ArgsManager::AddCommand
    linkageType: ''
    returnType: void
    signature: void SetupBitcoinUtilArgs(ArgsManager &argsman)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetupBitcoinUtilArgs
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:46,1
    - Dst: ParseParameters
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:48,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:49,1
    - Dst: HelpRequested
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:53,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:53,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:55,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:57,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:58,1
    - Dst: LicenseInfo
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:58,1
    - Dst: GetHelpMessage
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:65,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:68,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:71,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:79,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:79,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:81,1
    - Dst: what
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - ' args'
    - argc
    - argv
    argTypes:
    - ArgsManager
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 86
    functionName: AppInitUtil
    functionSourceFile: /src/bitcoin-core/src/bitcoin-util.cpp
    functionUses: 0
    functionsReached:
    - HelpRequested
    - SetupBitcoinUtilArgs
    - GetHelpMessage
    - tinyformat::detail::FormatArg::format
    - ParseParameters
    - FormatParagraph
    - FormatFullVersion
    - GetChainType
    - LicenseInfo
    - SelectParams
    - what
    - GetBoolArg
    linkageType: ''
    returnType: int
    signature: int AppInitUtil(ArgsManager& args, int argc, char* argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:90,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:92,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:96,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:102,1
    - Dst: CBlockHeader::GetHash
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:102,1
    - Dst: exchange
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - nBits
    - header
    - offset
    - step
    - ' found'
    - ' proposed_nonce'
    argTypes:
    - uint32_t
    - CBlockHeader
    - uint32_t
    - uint32_t
    - std::atomic<bool>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: grind_task
    functionSourceFile: /src/bitcoin-core/src/bitcoin-util.cpp
    functionUses: 0
    functionsReached:
    - arith_uint256::SetCompact
    - CBlockHeader::GetHash
    - exchange
    - UintToArith256
    - arith_uint256::arith_uint256
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void grind_task(uint32_t nBits, CBlockHeader header, uint32_t offset,
      uint32_t step, std::atomic<bool>& found, uint32_t& proposed_nonce)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:115,1
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:120,1
    - Dst: DecodeHexBlockHeader
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:121,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:131,1
    - Dst: std::thread::hardware_concurrency
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:131,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:132,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:134,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:134,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:134,1
    - Dst: join
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:137,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/bitcoin-util.cpp:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - ' args'
    - ' strPrint'
    argTypes:
    - std::vector<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 150
    functionName: Grind
    functionSourceFile: /src/bitcoin-core/src/bitcoin-util.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::ref
    - size
    - std::vector::reserve
    - std::max
    - CBlockHeader::CBlockHeader
    - HexStr
    - join
    - std::thread::hardware_concurrency
    - DecodeHexBlockHeader
    linkageType: ''
    returnType: int
    signature: int Grind(const std::vector<std::string>& args, std::string& strPrint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/headerssync.cpp:28,1
    - Dst: GetBlockHeader
      Src: /src/bitcoin-core/src/headerssync.cpp:33,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/headerssync.cpp:44,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/headerssync.cpp:44,1
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/headerssync.cpp:44,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:46,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/headerssync.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - id
    - ' consensus_params'
    - chain_start
    - ' minimum_required_work'
    argTypes:
    - NodeId
    - Consensus::Params
    - CBlockIndex*
    - arith_uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 47
    functionName: HeadersSyncState::HeadersSyncState
    functionSourceFile: /src/bitcoin-core/src/headerssync.cpp
    functionUses: 1
    functionsReached:
    - Ticks
    - ToString
    - LogDebug
    - FastRandomContext
    - CBlockIndex*::GetMedianTimePast
    - GetBlockHeader
    - NodeClock::now
    linkageType: ''
    returnType: void
    signature: "void HeadersSyncState::HeadersSyncState(NodeId id, const Consensus::Params&
      consensus_params,\n        const CBlockIndex* chain_start, const arith_uint256&
      minimum_required_work)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:54,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/headerssync.cpp:55,1
    - Dst: SetNull
      Src: /src/bitcoin-core/src/headerssync.cpp:56,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/headerssync.cpp:57,1
    - Dst: SetNull
      Src: /src/bitcoin-core/src/headerssync.cpp:58,1
    - Dst: SetNull
      Src: /src/bitcoin-core/src/headerssync.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: HeadersSyncState::Finalize
    functionSourceFile: /src/bitcoin-core/src/headerssync.cpp
    functionUses: 0
    functionsReached:
    - SetNull
    - ClearShrink
    - Assume
    linkageType: ''
    returnType: void
    signature: void HeadersSyncState::Finalize()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:74,1
    - Dst: empty
      Src: /src/bitcoin-core/src/headerssync.cpp:74,1
    - Dst: empty
      Src: /src/bitcoin-core/src/headerssync.cpp:75,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:77,1
    - Dst: HeadersSyncState::ValidateAndStoreHeadersCommitments
      Src: /src/bitcoin-core/src/headerssync.cpp:84,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:92,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:96,1
    - Dst: HeadersSyncState::ValidateAndStoreRedownloadedHeader
      Src: /src/bitcoin-core/src/headerssync.cpp:106,1
    - Dst: HeadersSyncState::PopHeadersReadyForAcceptance
      Src: /src/bitcoin-core/src/headerssync.cpp:117,1
    - Dst: empty
      Src: /src/bitcoin-core/src/headerssync.cpp:121,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:122,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:131,1
    - Dst: HeadersSyncState::Finalize
      Src: /src/bitcoin-core/src/headerssync.cpp:136,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - ' received_headers'
    - full_headers_message
    argTypes:
    - std::vector<CBlockHeader>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 138
    functionName: HeadersSyncState::ProcessNextHeaders
    functionSourceFile: /src/bitcoin-core/src/headerssync.cpp
    functionUses: 0
    functionsReached:
    - HeadersSyncState::ValidateAndStoreRedownloadedHeader
    - empty
    - Assume
    - LogDebug
    - HeadersSyncState::ValidateAndStoreHeadersCommitments
    - HeadersSyncState::Finalize
    - HeadersSyncState::PopHeadersReadyForAcceptance
    linkageType: ''
    returnType: HeadersSyncState::ProcessingResult
    signature: "HeadersSyncState::ProcessingResult HeadersSyncState::ProcessNextHeaders(const\n
      \       std::vector<CBlockHeader>& received_headers, const bool full_headers_message)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:143,1
    - Dst: size
      Src: /src/bitcoin-core/src/headerssync.cpp:143,1
    - Dst: size
      Src: /src/bitcoin-core/src/headerssync.cpp:144,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:146,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/headerssync.cpp:149,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:154,1
    - Dst: HeadersSyncState::ValidateAndProcessSingleHeader
      Src: /src/bitcoin-core/src/headerssync.cpp:161,1
    - Dst: clear
      Src: /src/bitcoin-core/src/headerssync.cpp:167,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/headerssync.cpp:169,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/headerssync.cpp:170,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - std::vector<CBlockHeader>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 176
    functionName: HeadersSyncState::ValidateAndStoreHeadersCommitments
    functionSourceFile: /src/bitcoin-core/src/headerssync.cpp
    functionUses: 1
    functionsReached:
    - HeadersSyncState::ValidateAndProcessSingleHeader
    - Assume
    - LogDebug
    - GetHash
    - size
    - clear
    - GetBlockHash
    linkageType: ''
    returnType: bool
    signature: bool HeadersSyncState::ValidateAndStoreHeadersCommitments(const std::vector<CBlockHeader>&
      headers)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:180,1
    - Dst: PermittedDifficultyTransition
      Src: /src/bitcoin-core/src/headerssync.cpp:190,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:192,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/headerssync.cpp:198,1
    - Dst: m_hasher
      Src: /src/bitcoin-core/src/headerssync.cpp:198,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/headerssync.cpp:198,1
    - Dst: size
      Src: /src/bitcoin-core/src/headerssync.cpp:199,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:204,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/headerssync.cpp:209,1
    - Dst: CBlockIndex
      Src: /src/bitcoin-core/src/headerssync.cpp:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ' current'
    argTypes:
    - CBlockHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 214
    functionName: HeadersSyncState::ValidateAndProcessSingleHeader
    functionSourceFile: /src/bitcoin-core/src/headerssync.cpp
    functionUses: 1
    functionsReached:
    - PermittedDifficultyTransition
    - Assume
    - push_back
    - CBlockIndex
    - LogDebug
    - GetHash
    - size
    - GetBlockProof
    - m_hasher
    linkageType: ''
    returnType: bool
    signature: bool HeadersSyncState::ValidateAndProcessSingleHeader(const CBlockHeader&
      current)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:218,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:226,1
    - Dst: empty
      Src: /src/bitcoin-core/src/headerssync.cpp:232,1
    - Dst: back
      Src: /src/bitcoin-core/src/headerssync.cpp:233,1
    - Dst: PermittedDifficultyTransition
      Src: /src/bitcoin-core/src/headerssync.cpp:238,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:240,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/headerssync.cpp:245,1
    - Dst: CBlockIndex
      Src: /src/bitcoin-core/src/headerssync.cpp:245,1
    - Dst: size
      Src: /src/bitcoin-core/src/headerssync.cpp:258,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:259,1
    - Dst: m_hasher
      Src: /src/bitcoin-core/src/headerssync.cpp:264,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/headerssync.cpp:264,1
    - Dst: front
      Src: /src/bitcoin-core/src/headerssync.cpp:265,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/headerssync.cpp:266,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/headerssync.cpp:268,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/headerssync.cpp:274,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/headerssync.cpp:276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - CBlockHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 279
    functionName: HeadersSyncState::ValidateAndStoreRedownloadedHeader
    functionSourceFile: /src/bitcoin-core/src/headerssync.cpp
    functionUses: 1
    functionsReached:
    - PermittedDifficultyTransition
    - emplace_back
    - pop_front
    - empty
    - Assume
    - CBlockIndex
    - LogDebug
    - back
    - GetHash
    - size
    - GetBlockProof
    - front
    - m_hasher
    linkageType: ''
    returnType: bool
    signature: bool HeadersSyncState::ValidateAndStoreRedownloadedHeader(const CBlockHeader&
      header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:285,1
    - Dst: size
      Src: /src/bitcoin-core/src/headerssync.cpp:288,1
    - Dst: size
      Src: /src/bitcoin-core/src/headerssync.cpp:289,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/headerssync.cpp:290,1
    - Dst: front
      Src: /src/bitcoin-core/src/headerssync.cpp:290,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/headerssync.cpp:291,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/headerssync.cpp:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: HeadersSyncState::PopHeadersReadyForAcceptance
    functionSourceFile: /src/bitcoin-core/src/headerssync.cpp
    functionUses: 1
    functionsReached:
    - pop_front
    - std::vector::emplace_back
    - Assume
    - std::vector::back
    - size
    - front
    linkageType: ''
    returnType: std::vector<CBlockHeader>
    signature: std::vector<CBlockHeader> HeadersSyncState::PopHeadersReadyForAcceptance()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/headerssync.cpp:299,1
    - Dst: LocatorEntries
      Src: /src/bitcoin-core/src/headerssync.cpp:302,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/headerssync.cpp:307,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/headerssync.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/headerssync.cpp:312,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/headerssync.cpp:315,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/headerssync.cpp:315,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/headerssync.cpp:315,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/headerssync.cpp:315,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/headerssync.cpp:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: HeadersSyncState::NextHeadersRequestLocator
    functionSourceFile: /src/bitcoin-core/src/headerssync.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - auto::begin
    - Assume
    - GetHash
    - std::move
    - std::vector::push_back
    - std::vector::insert
    - LocatorEntries
    - auto::end
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator HeadersSyncState::NextHeadersRequestLocator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/uint256.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: base_blob<BITS>::GetHex
    functionSourceFile: /src/bitcoin-core/src/uint256.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string base_blob<BITS>::GetHex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_blob<BITS>::GetHex
      Src: /src/bitcoin-core/src/uint256.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: base_blob<BITS>::ToString
    functionSourceFile: /src/bitcoin-core/src/uint256.cpp
    functionUses: 0
    functionsReached:
    - base_blob<BITS>::GetHex
    linkageType: ''
    returnType: std::string
    signature: std::string base_blob<BITS>::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupHelpOptions
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:48,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:50,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:51,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:52,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:53,1
    - Dst: SetupChainParamsBaseOptions
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:54,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:56,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:57,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:58,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:59,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:60,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:61,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:62,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:63,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:66,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:69,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:72,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:75,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:81,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - argsman
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: SetupBitcoinTxArgs
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - SetupHelpOptions
    - ArgsManager::AddArg
    - SetupChainParamsBaseOptions
    linkageType: ''
    returnType: void
    signature: void SetupBitcoinTxArgs(ArgsManager &argsman)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetupBitcoinTxArgs
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:91,1
    - Dst: ParseParameters
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:93,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:94,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:100,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:100,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:102,1
    - Dst: what
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:102,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:106,1
    - Dst: HelpRequested
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:108,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:108,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:110,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:112,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:113,1
    - Dst: LicenseInfo
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:113,1
    - Dst: GetHelpMessage
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:122,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:125,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 134
    functionName: AppInitRawTx
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - HelpRequested
    - GetHelpMessage
    - tinyformat::detail::FormatArg::format
    - ParseParameters
    - FormatParagraph
    - FormatFullVersion
    - GetChainType
    - LicenseInfo
    - SelectParams
    - what
    - GetBoolArg
    - SetupBitcoinTxArgs
    linkageType: ''
    returnType: int
    signature: int AppInitRawTx(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:138,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:139,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' rawJson'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: RegisterSetJson
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - UniValue::UniValue
    - UniValue::read
    linkageType: ''
    returnType: void
    signature: void RegisterSetJson(const std::string& key, const std::string& rawJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:150,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:153,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:154,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:156,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:157,1
    - Dst: RegisterSetJson
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' strInput'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: RegisterSet
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - substr
    - RegisterSetJson
    - std::runtime_error
    - size
    - find
    linkageType: ''
    returnType: void
    signature: void RegisterSet(const std::string& strInput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:165,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:168,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:169,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:171,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:172,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:174,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:174,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:177,1
    - Dst: feof
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:182,1
    - Dst: ferror
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:182,1
    - Dst: fread
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:184,1
    - Dst: std::string::insert
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:188,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:188,1
    - Dst: ferror
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:191,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:192,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:196,1
    - Dst: RegisterSetJson
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:200,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 1
    argNames:
    - ' strInput'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 201
    functionName: RegisterLoad
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - substr
    - std::string::size
    - fread
    - RegisterSetJson
    - std::runtime_error
    - fsbridge::fopen
    - ferror
    - size
    - feof
    - fclose
    - std::string::c_str
    - std::string::insert
    - find
    linkageType: ''
    returnType: void
    signature: void RegisterLoad(const std::string& strInput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:205,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:206,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' strValue'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: ExtractAndValidateValue
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - ParseMoney
    - std::optional::value
    - std::runtime_error
    linkageType: ''
    returnType: CAmount
    signature: CAmount ExtractAndValidateValue(const std::string& strValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:214,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' tx'
    - ' cmdVal'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: MutateTxVersion
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - ToIntegral
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void MutateTxVersion(CMutableTransaction& tx, const std::string& cmdVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:223,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' tx'
    - ' cmdVal'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: MutateTxLocktime
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - ToIntegral
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void MutateTxLocktime(CMutableTransaction& tx, const std::string& cmdVal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:232,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:233,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - ' tx'
    - ' strInIdx'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: MutateTxRBFOptIn
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - ToIntegral
    - std::runtime_error
    - vin::size
    linkageType: ''
    returnType: void
    signature: void MutateTxRBFOptIn(CMutableTransaction& tx, const std::string& strInIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:252,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:252,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:253,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:254,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' int_str'
    - ' err'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: TrimAndParse
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - auto::has_value
    - TrimStringView
    - std::runtime_error
    - ToIntegral
    linkageType: ''
    returnType: T
    signature: T TrimAndParse(const std::string& int_str, const std::string& err)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SplitString
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:261,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:264,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:265,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:268,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:270,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:278,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:280,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:285,1
    - Dst: TrimAndParse
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:286,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:286,1
    - Dst: vin::push_back
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - ' tx'
    - ' strInput'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 292
    functionName: MutateTxAddInput
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - detail::FromHex
    - std::runtime_error
    - vin::push_back
    - ToIntegral
    - SplitString
    - std::vector::size
    - TrimAndParse
    linkageType: ''
    returnType: void
    signature: void MutateTxAddInput(CMutableTransaction& tx, const std::string& strInput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SplitString
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:297,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:299,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:300,1
    - Dst: ExtractAndValidateValue
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:303,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:307,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:308,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:309,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:311,1
    - Dst: vout::push_back
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' tx'
    - ' strInput'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 294
    functionDepth: 5
    functionLinenumber: 294
    functionLinenumberEnd: 316
    functionName: MutateTxAddOutAddr
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - IsValidDestination
    - DecodeDestination
    - GetScriptForDestination
    - std::runtime_error
    - ExtractAndValidateValue
    - vout::push_back
    - SplitString
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void MutateTxAddOutAddr(CMutableTransaction& tx, const std::string&
      strInput)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SplitString
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:321,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:323,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:323,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:324,1
    - Dst: ExtractAndValidateValue
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:327,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:332,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:333,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:338,1
    - Dst: find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:340,1
    - Dst: find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:341,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:345,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:346,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:349,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:349,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:353,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:353,1
    - Dst: vout::push_back
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:358,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - ' tx'
    - ' strInput'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 359
    functionName: MutateTxAddOutPubKey
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - find
    - WitnessV0KeyHash
    - ScriptHash
    - GetScriptForDestination
    - std::runtime_error
    - GetScriptForRawPubKey
    - ExtractAndValidateValue
    - vout::push_back
    - SplitString
    - CPubKey::IsCompressed
    - CPubKey::IsFullyValid
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void MutateTxAddOutPubKey(CMutableTransaction& tx, const std::string&
      strInput)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SplitString
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:364,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:367,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:368,1
    - Dst: ExtractAndValidateValue
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:371,1
    - Dst: TrimAndParse
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:374,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:374,1
    - Dst: TrimAndParse
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:377,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:377,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:380,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:381,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:384,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:385,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:385,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:391,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:393,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:399,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:400,1
    - Dst: find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:401,1
    - Dst: find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:402,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:404,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:406,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:409,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:413,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:414,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:418,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:418,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:421,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:422,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:422,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:423,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:426,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:426,1
    - Dst: vout::push_back
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:431,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 2
    argNames:
    - ' tx'
    - ' strInput'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 432
    functionName: MutateTxAddOutMultiSig
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - std::vector::push_back
    - SplitString
    - CPubKey::IsCompressed
    - GetScriptForMultisig
    - ScriptHash
    - ToString
    - std::vector::back
    - std::runtime_error
    - ExtractAndValidateValue
    - vout::push_back
    - find
    - std::vector::size
    - TrimAndParse
    - CScript::size
    - WitnessV0ScriptHash
    - strprintf
    - std::vector::at
    - CPubKey::IsFullyValid
    linkageType: ''
    returnType: void
    signature: void MutateTxAddOutMultiSig(CMutableTransaction& tx, const std::string&
      strInput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:439,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:442,1
    - Dst: ExtractAndValidateValue
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:448,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:448,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:453,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:456,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:458,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:460,1
    - Dst: vout::push_back
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' tx'
    - ' strInput'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 462
    functionName: MutateTxAddOutData
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - substr
    - IsHex
    - ParseHex
    - std::runtime_error
    - ExtractAndValidateValue
    - vout::push_back
    - CScript
    - find
    linkageType: ''
    returnType: void
    signature: void MutateTxAddOutData(CMutableTransaction& tx, const std::string&
      strInput)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SplitString
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:467,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:468,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:469,1
    - Dst: ExtractAndValidateValue
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:472,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:476,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:481,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:482,1
    - Dst: find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:483,1
    - Dst: find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:484,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:487,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:488,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:488,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:489,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:493,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:493,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:496,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:497,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:497,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:498,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:500,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:500,1
    - Dst: vout::push_back
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ' tx'
    - ' strInput'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 506
    functionName: MutateTxAddOutScript
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - ScriptHash
    - GetScriptForDestination
    - CScript::size
    - std::vector::back
    - std::runtime_error
    - ExtractAndValidateValue
    - vout::push_back
    - WitnessV0ScriptHash
    - SplitString
    - ParseScript
    - strprintf
    - std::vector::size
    - find
    linkageType: ''
    returnType: void
    signature: void MutateTxAddOutScript(CMutableTransaction& tx, const std::string&
      strInput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:510,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:511,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:512,1
    - Dst: vin::erase
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:514,1
    - Dst: vin::begin
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' tx'
    - ' strInIdx'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: MutateTxDelInput
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - vin::erase
    - vin::begin
    - ToIntegral
    - vin::size
    linkageType: ''
    returnType: void
    signature: void MutateTxDelInput(CMutableTransaction& tx, const std::string& strInIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:519,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:520,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:521,1
    - Dst: vout::erase
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:523,1
    - Dst: vout::begin
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' tx'
    - ' strOutIdx'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: MutateTxDelOutput
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - vout::begin
    - vout::erase
    - std::runtime_error
    - vout::size
    - ToIntegral
    linkageType: ''
    returnType: void
    signature: void MutateTxDelOutput(CMutableTransaction& tx, const std::string&
      strOutIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' flags'
    - ' flagStr'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: findSighashFlags
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool findSighashFlags(int& flags, const std::string& flagStr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isNum
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:556,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:556,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:557,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:559,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:559,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:560,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:561,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: AmountFromValue
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - getValStr
    - ParseFixedPoint
    - std::runtime_error
    - isNum
    - isStr
    - MoneyRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount AmountFromValue(const UniValue& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isStr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:569,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:570,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:571,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:572,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' v'
    - ' strName'
    argTypes:
    - UniValue
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 574
    functionName: ParseHexUV
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - getValStr
    - IsHex
    - std::runtime_error
    - isStr
    - ParseHex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ParseHexUV(const UniValue& v, const std::string&
      strName)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:580,1
    - Dst: findSighashFlags
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:581,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:582,1
    - Dst: count
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:591,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:592,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:596,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:597,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:598,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:599,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:599,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:600,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:601,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:603,1
    - Dst: count
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:607,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:608,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:611,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:613,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:614,1
    - Dst: checkObject
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:621,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:622,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:624,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:624,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:626,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:626,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:629,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:631,1
    - Dst: ParseHexUV
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:634,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:635,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:635,1
    - Dst: CCoinsViewCache::AccessCoin
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:638,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:639,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:641,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:642,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:643,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:645,1
    - Dst: exists
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:648,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:649,1
    - Dst: CCoinsViewCache::AddCoin
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:652,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:652,1
    - Dst: CScript::IsPayToScriptHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:657,1
    - Dst: CScript::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:657,1
    - Dst: exists
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:658,1
    - Dst: ParseHexUV
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:660,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:661,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:661,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:662,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:672,1
    - Dst: CCoinsViewCache::AccessCoin
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:674,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:675,1
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:681,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:683,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:684,1
    - Dst: MutableTransactionSignatureCreator
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:684,1
    - Dst: SignatureData::scriptWitness::IsNull
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:686,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:687,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:687,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:687,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:690,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 55
    argCount: 2
    argNames:
    - ' tx'
    - ' flagStr'
    argTypes:
    - CMutableTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 576
    functionDepth: 4
    functionLinenumber: 576
    functionLinenumberEnd: 694
    functionName: MutateTxSign
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - getValStr
    - FillableSigningProvider::AddKey
    - MutableTransactionSignatureCreator
    - std::move
    - AmountFromValue
    - checkObject
    - FillableSigningProvider::AddCScript
    - UpdateInput
    - CMutableTransaction::vout::size
    - DataFromTransaction
    - CKey::IsValid
    - std::vector::end
    - Coin::Coin
    - CMutableTransaction::vin::size
    - std::runtime_error
    - isObject
    - CScript::IsPayToWitnessScriptHash
    - CScript::IsPayToScriptHash
    - ScriptToAsmStr
    - exists
    - ProduceSignature
    - detail::FromHex
    - isStr
    - DecodeSecret
    - get_str
    - UniValue::size
    - strprintf
    - count
    - findSighashFlags
    - SignatureData::scriptWitness::IsNull
    - IsSpent
    - CCoinsViewCache::AccessCoin
    - size
    - std::vector::begin
    - ParseHexUV
    - CCoinsViewCache::AddCoin
    - HexStr
    - getInt
    linkageType: ''
    returnType: void
    signature: void MutateTxSign(CMutableTransaction& tx, const std::string& flagStr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MutateTxVersion
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:702,1
    - Dst: MutateTxLocktime
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:704,1
    - Dst: MutateTxRBFOptIn
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:706,1
    - Dst: MutateTxDelInput
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:710,1
    - Dst: MutateTxAddInput
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:712,1
    - Dst: MutateTxDelOutput
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:715,1
    - Dst: MutateTxAddOutAddr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:717,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:719,1
    - Dst: ECC_Context::ECC_Context
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:719,1
    - Dst: MutateTxAddOutPubKey
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:720,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:722,1
    - Dst: ECC_Context::ECC_Context
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:722,1
    - Dst: MutateTxAddOutMultiSig
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:723,1
    - Dst: MutateTxAddOutScript
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:725,1
    - Dst: MutateTxAddOutData
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:727,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:730,1
    - Dst: ECC_Context::ECC_Context
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:730,1
    - Dst: MutateTxSign
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:731,1
    - Dst: RegisterLoad
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:735,1
    - Dst: RegisterSet
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:738,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:741,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - ' tx'
    - ' command'
    - ' commandVal'
    argTypes:
    - CMutableTransaction
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 696
    functionDepth: 6
    functionLinenumber: 696
    functionLinenumberEnd: 742
    functionName: MutateTx
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - RegisterSet
    - std::unique_ptr::reset
    - MutateTxAddOutScript
    - MutateTxRBFOptIn
    - MutateTxAddOutData
    - MutateTxVersion
    - MutateTxAddInput
    - MutateTxAddOutAddr
    - RegisterLoad
    - std::runtime_error
    - MutateTxDelInput
    - MutateTxAddOutPubKey
    - MutateTxSign
    - MutateTxLocktime
    - MutateTxAddOutMultiSig
    - ECC_Context::ECC_Context
    - MutateTxDelOutput
    linkageType: ''
    returnType: void
    signature: "void MutateTx(CMutableTransaction& tx, const std::string& command,\n
      \                    const std::string& commandVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxToUniv
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:747,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:747,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:749,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 744
    functionDepth: 4
    functionLinenumber: 744
    functionLinenumberEnd: 751
    functionName: OutputTxJSON
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - TxToUniv
    - UniValue::write
    - tinyformat::detail::FormatArg::format
    linkageType: ''
    returnType: void
    signature: void OutputTxJSON(const CTransaction& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:755,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: OutputTxHash
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - tinyformat::detail::FormatArg::format
    - GetHash
    linkageType: ''
    returnType: void
    signature: void OutputTxHash(const CTransaction& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:762,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: OutputTxHex
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - tinyformat::detail::FormatArg::format
    - EncodeHexTx
    linkageType: ''
    returnType: void
    signature: void OutputTxHex(const CTransaction& tx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:769,1
    - Dst: OutputTxJSON
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:770,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:771,1
    - Dst: OutputTxHash
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:772,1
    - Dst: OutputTxHex
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 5
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: OutputTx
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - OutputTxJSON
    - OutputTxHash
    - OutputTxHex
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void OutputTx(const CTransaction& tx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:782,1
    - Dst: fread
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:783,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:784,1
    - Dst: ferror
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:789,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:790,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:792,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 793
    functionName: readStdin
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - fread
    - std::runtime_error
    - TrimString
    - ferror
    - feof
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string readStdin()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IsSwitchChar
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:801,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:807,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:813,1
    - Dst: readStdin
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:818,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:820,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:821,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:830,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:834,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:835,1
    - Dst: MutateTx
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:838,1
    - Dst: OutputTx
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:841,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:841,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:844,1
    - Dst: what
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:844,1
    - Dst: PrintExceptionContinue
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:848,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-tx.cpp:853,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 795
    functionDepth: 7
    functionLinenumber: 795
    functionLinenumberEnd: 856
    functionName: CommandLineRawTx
    functionSourceFile: /src/bitcoin-core/src/bitcoin-tx.cpp
    functionUses: 0
    functionsReached:
    - IsSwitchChar
    - tinyformat::detail::FormatArg::format
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - std::runtime_error
    - MutateTx
    - readStdin
    - std::string
    - OutputTx
    - std::string::find
    - what
    - DecodeHexTx
    - PrintExceptionContinue
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int CommandLineRawTx(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/netgroup.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - asmap
    argTypes:
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: NetGroupManager::NetGroupManager
    functionSourceFile: /src/bitcoin-core/src/netgroup.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NetGroupManager(std::vector<bool> asmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GUARDED_BY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: PT_GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_GUARDED_BY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: ACQUIRED_AFTER
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACQUIRED_AFTER(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: ACQUIRED_BEFORE
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACQUIRED_BEFORE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCLUSIVE_LOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: SHARED_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHARED_LOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: EXCLUSIVE_TRYLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCLUSIVE_TRYLOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: SHARED_TRYLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHARED_TRYLOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: SHARED_UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHARED_UNLOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: LOCK_RETURNED
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK_RETURNED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCKS_EXCLUDED(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCLUSIVE_LOCKS_REQUIRED(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SHARED_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHARED_LOCKS_REQUIRED(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ASSERT_EXCLUSIVE_LOCK
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_EXCLUSIVE_LOCK(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: std::mutex
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE std::mutex
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator!() const'
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StdMutex
    signature: StdMutex & operator!() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: std::lock_guard<StdMutex>
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class SCOPED_LOCKABLE
    signature: class SCOPED_LOCKABLE std::lock_guard<StdMutex>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION(cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/threadsafety.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPRequest::WriteReply
      Src: /src/bitcoin-core/src/httpserver.h:143,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/httpserver.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nStatus
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: HTTPRequest::WriteReply
    functionSourceFile: /src/bitcoin-core/src/httpserver.h
    functionUses: 2
    functionsReached:
    - std::as_bytes
    - HTTPRequest::WriteReply
    linkageType: ''
    returnType: void
    signature: void WriteReply(int nStatus, std::string_view reply = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HTTPClosure()
    functionSourceFile: /src/bitcoin-core/src/httpserver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HTTPClosure()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/flatfile.cpp:14,1
    - Dst: std::invalid_argument
      Src: /src/bitcoin-core/src/flatfile.cpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - dir
    - prefix
    - chunk_size
    argTypes:
    - fs::path
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: FlatFileSeq::FlatFileSeq
    functionSourceFile: /src/bitcoin-core/src/flatfile.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void FlatFileSeq::FlatFileSeq(fs::path dir, const char* prefix, size_t
      chunk_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/flatfile.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: FlatFilePos::ToString
    functionSourceFile: /src/bitcoin-core/src/flatfile.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string FlatFilePos::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/flatfile.cpp:30,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/flatfile.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: FlatFileSeq::FileName
    functionSourceFile: /src/bitcoin-core/src/flatfile.cpp
    functionUses: 0
    functionsReached:
    - fs::u8path
    - strprintf
    linkageType: ''
    returnType: fs::path
    signature: fs::path FlatFileSeq::FileName(const FlatFilePos& pos) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/flatfile.cpp:35,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/flatfile.cpp:38,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/flatfile.cpp:39,1
    - Dst: fs::path::parent_path
      Src: /src/bitcoin-core/src/flatfile.cpp:39,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/flatfile.cpp:40,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/flatfile.cpp:42,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/flatfile.cpp:44,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/flatfile.cpp:44,1
    - Dst: fseek
      Src: /src/bitcoin-core/src/flatfile.cpp:47,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/flatfile.cpp:48,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/flatfile.cpp:48,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/flatfile.cpp:49,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/flatfile.cpp:50,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/flatfile.cpp:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ' pos'
    - read_only
    argTypes:
    - FlatFilePos
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: FlatFileSeq::Open
    functionSourceFile: /src/bitcoin-core/src/flatfile.cpp
    functionUses: 0
    functionsReached:
    - fs::PathToString
    - LogError
    - fsbridge::fopen
    - LogPrintf
    - fs::path::parent_path
    - fclose
    - fs::create_directories
    - FlatFileSeq::FileName
    - IsNull
    - fseek
    linkageType: ''
    returnType: FILE
    signature: FILE * FlatFileSeq::Open(const FlatFilePos& pos, bool read_only) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckDiskSpace
      Src: /src/bitcoin-core/src/flatfile.cpp:68,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/flatfile.cpp:69,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/flatfile.cpp:71,1
    - Dst: AllocateFileRange
      Src: /src/bitcoin-core/src/flatfile.cpp:72,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/flatfile.cpp:73,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/flatfile.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ' pos'
    - add_size
    - ' out_of_space'
    argTypes:
    - FlatFilePos
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: FlatFileSeq::Allocate
    functionSourceFile: /src/bitcoin-core/src/flatfile.cpp
    functionUses: 0
    functionsReached:
    - FlatFileSeq::Open
    - AllocateFileRange
    - CheckDiskSpace
    - LogError
    - LogDebug
    - fclose
    linkageType: ''
    returnType: size_t
    signature: size_t FlatFileSeq::Allocate(const FlatFilePos& pos, size_t add_size,
      bool& out_of_space) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/flatfile.cpp:88,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/flatfile.cpp:88,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/flatfile.cpp:90,1
    - Dst: TruncateFile
      Src: /src/bitcoin-core/src/flatfile.cpp:93,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/flatfile.cpp:94,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/flatfile.cpp:95,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/flatfile.cpp:96,1
    - Dst: FileCommit
      Src: /src/bitcoin-core/src/flatfile.cpp:100,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/flatfile.cpp:101,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/flatfile.cpp:102,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/flatfile.cpp:103,1
    - Dst: DirectoryCommit
      Src: /src/bitcoin-core/src/flatfile.cpp:107,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/flatfile.cpp:109,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/flatfile.cpp:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ' pos'
    - finalize
    argTypes:
    - FlatFilePos
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: FlatFileSeq::Flush
    functionSourceFile: /src/bitcoin-core/src/flatfile.cpp
    functionUses: 0
    functionsReached:
    - FlatFileSeq::Open
    - LogError
    - TruncateFile
    - DirectoryCommit
    - fclose
    - FlatFilePos
    - FileCommit
    linkageType: ''
    returnType: bool
    signature: bool FlatFileSeq::Flush(const FlatFilePos& pos, bool finalize) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:42,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/txmempool.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' active_chain'
    - ' lp'
    argTypes:
    - CChain
    - LockPoints
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: TestLockPointValidity
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - Contains
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool TestLockPointValidity(CChain& active_chain, const LockPoints&
      lp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: txiter::GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:61,1
    - Dst: CTxMemPoolEntry::Children::empty
      Src: /src/bitcoin-core/src/txmempool.cpp:63,1
    - Dst: CTxMemPoolEntry::Children::begin
      Src: /src/bitcoin-core/src/txmempool.cpp:64,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.cpp:65,1
    - Dst: CTxMemPoolEntry::Children::erase
      Src: /src/bitcoin-core/src/txmempool.cpp:66,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:67,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:69,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:69,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:70,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.cpp:74,1
    - Dst: count
      Src: /src/bitcoin-core/src/txmempool.cpp:76,1
    - Dst: CTxMemPoolEntry::Children::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:78,1
    - Dst: count
      Src: /src/bitcoin-core/src/txmempool.cpp:88,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:88,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:89,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:90,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.cpp:92,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:92,1
    - Dst: modify
      Src: /src/bitcoin-core/src/txmempool.cpp:94,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:94,1
    - Dst: UpdateAncestorState
      Src: /src/bitcoin-core/src/txmempool.cpp:95,1
    - Dst: txiter::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:95,1
    - Dst: txiter::GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:95,1
    - Dst: txiter::GetSigOpCost
      Src: /src/bitcoin-core/src/txmempool.cpp:95,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:100,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:100,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.cpp:101,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:101,1
    - Dst: modify
      Src: /src/bitcoin-core/src/txmempool.cpp:105,1
    - Dst: UpdateDescendantState
      Src: /src/bitcoin-core/src/txmempool.cpp:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - updateIt
    - ' cachedDescendants'
    - ' setExclude'
    - ' descendants_to_remove'
    argTypes:
    - txiter
    - cacheMap
    - std::set<uint256>
    - std::set<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 106
    functionName: CTxMemPool::UpdateForDescendants
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - CTxMemPoolEntry::Children::erase
    - txiter::GetModifiedFee
    - GetSizeWithAncestors
    - GetModifiedFee
    - txiter::GetSigOpCost
    - GetTxSize
    - GetMemPoolChildrenConst
    - find
    - GetCountWithAncestors
    - iterator_to
    - CTxMemPoolEntry::Children::empty
    - CTxMemPoolEntry::Children::insert
    - UpdateAncestorState
    - txiter::GetTxSize
    - GetTx
    - UpdateDescendantState
    - CTxMemPoolEntry::Children::begin
    - count
    - end
    - txiter::GetMemPoolChildrenConst
    - modify
    - insert
    linkageType: ''
    returnType: void
    signature: "void CTxMemPool::UpdateForDescendants(txiter updateIt, cacheMap& cachedDescendants,\n
      \                                     const std::set<uint256>& setExclude, std::set<uint256>&
      descendants_to_remove)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:110,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txmempool.cpp:118,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:118,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:129,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:130,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/txmempool.cpp:133,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/txmempool.cpp:133,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/txmempool.cpp:133,1
    - Dst: WITH_FRESH_EPOCH
      Src: /src/bitcoin-core/src/txmempool.cpp:138,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:139,1
    - Dst: auto::second::GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:140,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:141,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:142,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:142,1
    - Dst: visited
      Src: /src/bitcoin-core/src/txmempool.cpp:145,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/txmempool.cpp:145,1
    - Dst: CTxMemPool::UpdateChild
      Src: /src/bitcoin-core/src/txmempool.cpp:146,1
    - Dst: CTxMemPool::UpdateParent
      Src: /src/bitcoin-core/src/txmempool.cpp:147,1
    - Dst: CTxMemPool::UpdateForDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:151,1
    - Dst: CTxMemPool::GetIter
      Src: /src/bitcoin-core/src/txmempool.cpp:157,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/txmempool.cpp:157,1
    - Dst: CTxMemPool::removeRecursive
      Src: /src/bitcoin-core/src/txmempool.cpp:158,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - ' vHashesToUpdate'
    argTypes:
    - std::vector<uint256>
    assertStmts:
    - condition: (childIter != mapTx.end())
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/txmempool.cpp
    constantsTouched: []
    func_position:
      end: 161
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 161
    functionName: CTxMemPool::UpdateTransactionsFromBlock
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - visited
    - CTxMemPool::UpdateParent
    - auto::second::GetHash
    - lower_bound
    - COutPoint
    - CTxMemPool::UpdateChild
    - CTxMemPool::UpdateForDescendants
    - CTxMemPool::removeRecursive
    - transaction_identifier::FromUint256
    - WITH_FRESH_EPOCH
    - AssertLockHeld
    - GetTx
    - std::set::count
    - assert
    - find
    - begin
    - CTxMemPool::GetIter
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::UpdateTransactionsFromBlock(const std::vector<uint256>&
      vHashesToUpdate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/txmempool.cpp:172,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txmempool.cpp:173,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:174,1
    - Dst: setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:176,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txmempool.cpp:177,1
    - Dst: txiter::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:178,1
    - Dst: txiter::GetSizeWithDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:180,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:181,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:181,1
    - Dst: txiter::GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:181,1
    - Dst: txiter::GetCountWithDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:182,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/txmempool.cpp:182,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:183,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:183,1
    - Dst: txiter::GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:183,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:185,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:185,1
    - Dst: txiter::GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:188,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:190,1
    - Dst: setEntries::count
      Src: /src/bitcoin-core/src/txmempool.cpp:193,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.cpp:194,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:196,1
    - Dst: setEntries::size
      Src: /src/bitcoin-core/src/txmempool.cpp:196,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/txmempool.cpp:196,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:197,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - entry_size
    - entry_count
    - ' staged_ancestors'
    - ' limits'
    argTypes:
    - int64_t
    - size_t
    - CTxMemPoolEntry::Parents
    - Limits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 203
    functionName: CTxMemPool::CalculateAncestorsAndCheckLimits
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - setEntries::count
    - iterator_to
    - erase
    - empty
    - txiter::GetSizeWithDescendants
    - begin
    - txiter::GetTxSize
    - CTxMemPool::size
    - txiter::GetMemPoolParentsConst
    - strprintf
    - setEntries::size
    - txiter::GetTx
    - Untranslated
    - insert
    - setEntries::insert
    - txiter::GetCountWithDescendants
    linkageType: ''
    returnType: util::Result<CTxMemPool::setEntries>
    signature: "util::Result<CTxMemPool::setEntries> CTxMemPool::CalculateAncestorsAndCheckLimits(\n
      \   int64_t entry_size,\n    size_t entry_count,\n    CTxMemPoolEntry::Parents&
      staged_ancestors,\n    const Limits& limits) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:208,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/txmempool.cpp:211,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:212,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:212,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/txmempool.cpp:213,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:214,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:214,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:216,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:216,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:218,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:218,1
    - Dst: CTxMemPool::GetIter
      Src: /src/bitcoin-core/src/txmempool.cpp:224,1
    - Dst: CTxMemPoolEntry::Parents::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:226,1
    - Dst: CTxMemPoolEntry::Parents::size
      Src: /src/bitcoin-core/src/txmempool.cpp:227,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:227,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/txmempool.cpp:227,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:228,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:228,1
    - Dst: CTxMemPool::CalculateAncestorsAndCheckLimits
      Src: /src/bitcoin-core/src/txmempool.cpp:236,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:236,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/txmempool.cpp:239,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:239,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/txmempool.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - ' package'
    - total_vsize
    argTypes:
    - Package
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 241
    functionName: CTxMemPool::CheckPackageLimits
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - auto::has_value
    - util::ErrorString
    - CTxMemPool::CalculateAncestorsAndCheckLimits
    - CTxMemPool::size
    - CTxMemPoolEntry::Parents::size
    - strprintf
    - CTxMemPoolEntry::Parents::insert
    - Untranslated
    - CTxMemPool::GetIter
    linkageType: ''
    returnType: util::Result<void>
    signature: "util::Result<void> CTxMemPool::CheckPackageLimits(const Package& package,\n
      \                                                 const int64_t total_vsize)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPoolEntry::GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:249,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/txmempool.cpp:255,1
    - Dst: CTxMemPool::GetIter
      Src: /src/bitcoin-core/src/txmempool.cpp:256,1
    - Dst: CTxMemPoolEntry::Parents::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:258,1
    - Dst: CTxMemPoolEntry::Parents::size
      Src: /src/bitcoin-core/src/txmempool.cpp:259,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/txmempool.cpp:259,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:260,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:260,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:267,1
    - Dst: txiter::GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:268,1
    - Dst: CTxMemPool::CalculateAncestorsAndCheckLimits
      Src: /src/bitcoin-core/src/txmempool.cpp:271,1
    - Dst: CTxMemPoolEntry::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - entry
    - ' limits'
    - fSearchForParents
    argTypes:
    - CTxMemPoolEntry
    - Limits
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 273
    functionName: CTxMemPool::CalculateMemPoolAncestors
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - CTransaction::vin::size
    - CTxMemPoolEntry::GetTx
    - iterator_to
    - CTxMemPoolEntry::GetTxSize
    - CTxMemPool::CalculateAncestorsAndCheckLimits
    - CTxMemPoolEntry::Parents::size
    - strprintf
    - txiter::GetMemPoolParentsConst
    - CTxMemPoolEntry::Parents::insert
    - Untranslated
    - CTxMemPool::GetIter
    linkageType: ''
    returnType: util::Result<CTxMemPool::setEntries>
    signature: "util::Result<CTxMemPool::setEntries> CTxMemPool::CalculateMemPoolAncestors(\n
      \   const CTxMemPoolEntry &entry,\n    const Limits& limits,\n    bool fSearchForParents
      /* = true */) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:281,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:282,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/txmempool.cpp:283,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/txmempool.cpp:284,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txmempool.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - calling_fn_name
    - entry
    - ' limits'
    - fSearchForParents
    argTypes:
    - std::string_view
    - CTxMemPoolEntry
    - Limits
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 287
    functionName: CTxMemPool::AssumeCalculateMemPoolAncestors
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - Assume
    - util::ErrorString
    - std::move
    - CTxMemPool::CalculateMemPoolAncestors
    linkageType: ''
    returnType: CTxMemPool::setEntries
    signature: "CTxMemPool::setEntries CTxMemPool::AssumeCalculateMemPoolAncestors(\n
      \   std::string_view calling_fn_name,\n    const CTxMemPoolEntry &entry,\n    const
      Limits& limits,\n    bool fSearchForParents /* = true */) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txiter::GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:291,1
    - Dst: CTxMemPool::UpdateChild
      Src: /src/bitcoin-core/src/txmempool.cpp:294,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:294,1
    - Dst: txiter::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:297,1
    - Dst: txiter::GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:298,1
    - Dst: modify
      Src: /src/bitcoin-core/src/txmempool.cpp:300,1
    - Dst: UpdateDescendantState
      Src: /src/bitcoin-core/src/txmempool.cpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - add
    - it
    - setAncestors
    argTypes:
    - bool
    - txiter
    - setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: CTxMemPool::UpdateAncestorsOf
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - iterator_to
    - txiter::GetModifiedFee
    - CTxMemPool::UpdateChild
    - txiter::GetTxSize
    - txiter::GetMemPoolParentsConst
    - UpdateDescendantState
    - modify
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::UpdateAncestorsOf(bool add, txiter it, setEntries
      &setAncestors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEntries::size
      Src: /src/bitcoin-core/src/txmempool.cpp:306,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:311,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:312,1
    - Dst: GetSigOpCost
      Src: /src/bitcoin-core/src/txmempool.cpp:313,1
    - Dst: modify
      Src: /src/bitcoin-core/src/txmempool.cpp:315,1
    - Dst: UpdateAncestorState
      Src: /src/bitcoin-core/src/txmempool.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - it
    - setAncestors
    argTypes:
    - txiter
    - setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: CTxMemPool::UpdateEntryForAncestors
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - GetTxSize
    - UpdateAncestorState
    - GetSigOpCost
    - setEntries::size
    - modify
    - GetModifiedFee
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::UpdateEntryForAncestors(txiter it, const setEntries
      &setAncestors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txiter::GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:320,1
    - Dst: CTxMemPool::UpdateParent
      Src: /src/bitcoin-core/src/txmempool.cpp:322,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: CTxMemPool::UpdateChildrenForRemoval
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - txiter::GetMemPoolChildrenConst
    - CTxMemPool::UpdateParent
    - iterator_to
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::UpdateChildrenForRemoval(txiter it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::CalculateDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:339,1
    - Dst: setEntries::erase
      Src: /src/bitcoin-core/src/txmempool.cpp:340,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:341,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:342,1
    - Dst: GetSigOpCost
      Src: /src/bitcoin-core/src/txmempool.cpp:343,1
    - Dst: modify
      Src: /src/bitcoin-core/src/txmempool.cpp:345,1
    - Dst: UpdateAncestorState
      Src: /src/bitcoin-core/src/txmempool.cpp:345,1
    - Dst: CTxMemPool::AssumeCalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:370,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/txmempool.cpp:370,1
    - Dst: CTxMemPool::UpdateAncestorsOf
      Src: /src/bitcoin-core/src/txmempool.cpp:373,1
    - Dst: CTxMemPool::UpdateChildrenForRemoval
      Src: /src/bitcoin-core/src/txmempool.cpp:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - entriesToRemove
    - updateDescendants
    argTypes:
    - setEntries
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 326
    functionDepth: 4
    functionLinenumber: 326
    functionLinenumberEnd: 381
    functionName: CTxMemPool::UpdateForRemoveFromMempool
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - CTxMemPool::AssumeCalculateMemPoolAncestors
    - CTxMemPool::CalculateDescendants
    - GetTxSize
    - UpdateAncestorState
    - setEntries::erase
    - GetSigOpCost
    - kernel::NoLimits
    - CTxMemPool::UpdateChildrenForRemoval
    - modify
    - CTxMemPool::UpdateAncestorsOf
    - GetModifiedFee
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::UpdateForRemoveFromMempool(const setEntries &entriesToRemove,
      bool updateDescendants)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:386,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/txmempool.cpp:387,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - modifySize
    - modifyFee
    - modifyCount
    argTypes:
    - int32_t
    - CAmount
    - int64_t
    assertStmts:
    - condition: (nSizeWithDescendants > 0)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (m_count_with_descendants > 0)
      pos:
        line_end: 388
        line_start: 388
        source_file: /src/bitcoin-core/src/txmempool.cpp
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: CTxMemPoolEntry::UpdateDescendantState
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - SaturatingAdd
    - assert
    linkageType: ''
    returnType: void
    signature: void CTxMemPoolEntry::UpdateDescendantState(int32_t modifySize, CAmount
      modifyFee, int64_t modifyCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:395,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/txmempool.cpp:396,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:398,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - modifySize
    - modifyFee
    - modifyCount
    - modifySigOps
    argTypes:
    - int32_t
    - CAmount
    - int64_t
    - int64_t
    assertStmts:
    - condition: (nSizeWithAncestors > 0)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (m_count_with_ancestors > 0)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (int(nSigOpCostWithAncestors) >= 0)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/bitcoin-core/src/txmempool.cpp
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: CTxMemPoolEntry::UpdateAncestorState
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - SaturatingAdd
    - assert
    linkageType: ''
    returnType: void
    signature: void CTxMemPoolEntry::UpdateAncestorState(int32_t modifySize, CAmount
      modifyFee, int64_t modifyCount, int64_t modifySigOps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp<int>
      Src: /src/bitcoin-core/src/txmempool.cpp:406,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:409,1
    - Dst: _
      Src: /src/bitcoin-core/src/txmempool.cpp:409,1
    - Dst: std::ceil
      Src: /src/bitcoin-core/src/txmempool.cpp:409,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txmempool.cpp:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' opts'
    - ' error'
    argTypes:
    - CTxMemPool::Options
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: Flatten
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - _
    - std::move
    - std::clamp<int>
    - strprintf
    - std::ceil
    linkageType: ''
    returnType: CTxMemPool::Options
    signature: CTxMemPool::Options && Flatten(CTxMemPool::Options&& opts, bilingual_str&
      error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flatten
      Src: /src/bitcoin-core/src/txmempool.cpp:415,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txmempool.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - opts
    - ' error'
    argTypes:
    - Options
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: CTxMemPool::CTxMemPool
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - Flatten
    - std::move
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::CTxMemPool(Options opts, bilingual_str& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:421,1
    - Dst: count
      Src: /src/bitcoin-core/src/txmempool.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: CTxMemPool::isSpent
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - count
    linkageType: ''
    returnType: bool
    signature: bool CTxMemPool::isSpent(const COutPoint& outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: CTxMemPool::GetTransactionsUpdated
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CTxMemPool::GetTransactionsUpdated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: CTxMemPool::AddTransactionsUpdated
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::AddTransactionsUpdated(unsigned int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:437,1
    - Dst: CTxMemPool::RemoveStaged
      Src: /src/bitcoin-core/src/txmempool.cpp:438,1
    - Dst: ChangeSet*::m_entry_vec::size
      Src: /src/bitcoin-core/src/txmempool.cpp:440,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:453,1
    - Dst: ChangeSet*::CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:453,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/txmempool.cpp:453,1
    - Dst: ChangeSet*::m_to_add::extract
      Src: /src/bitcoin-core/src/txmempool.cpp:456,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.cpp:457,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txmempool.cpp:457,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:459,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/txmempool.cpp:463,1
    - Dst: CTxMemPool::addNewTransaction
      Src: /src/bitcoin-core/src/txmempool.cpp:464,1
    - Dst: CTxMemPool::addNewTransaction
      Src: /src/bitcoin-core/src/txmempool.cpp:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - changeset
    argTypes:
    - ChangeSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 469
    functionName: CTxMemPool::Apply
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - CTxMemPool::RemoveStaged
    - insert
    - std::optional::has_value
    - ChangeSet*::m_to_add::extract
    - std::move
    - ChangeSet*::m_entry_vec::size
    - kernel::NoLimits
    - AssertLockHeld
    - CTxMemPool::addNewTransaction
    - ChangeSet*::CalculateMemPoolAncestors
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::Apply(ChangeSet* changeset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::AssumeCalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:473,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/txmempool.cpp:473,1
    - Dst: CTxMemPool::addNewTransaction
      Src: /src/bitcoin-core/src/txmempool.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: CTxMemPool::addNewTransaction
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 2
    functionsReached:
    - CTxMemPool::AssumeCalculateMemPoolAncestors
    - kernel::NoLimits
    - CTxMemPool::addNewTransaction
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::addNewTransaction(CTxMemPool::txiter it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:484,1
    - Dst: CTxMemPool::txiter::GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:486,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/txmempool.cpp:488,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.cpp:489,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/txmempool.cpp:489,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:490,1
    - Dst: CTxMemPool::GetIterSet
      Src: /src/bitcoin-core/src/txmempool.cpp:500,1
    - Dst: CTxMemPool::UpdateParent
      Src: /src/bitcoin-core/src/txmempool.cpp:501,1
    - Dst: CTxMemPool::UpdateAncestorsOf
      Src: /src/bitcoin-core/src/txmempool.cpp:503,1
    - Dst: CTxMemPool::UpdateEntryForAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:504,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:507,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/txmempool.cpp:508,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:510,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/txmempool.cpp:510,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:511,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/txmempool.cpp:513,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:514,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:515,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/txmempool.cpp:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - newit
    - ' setAncestors'
    argTypes:
    - CTxMemPool::txiter
    - CTxMemPool::setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 518
    functionName: CTxMemPool::addNewTransaction
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 2
    functionsReached:
    - CTxMemPool::GetIterSet
    - CTxMemPool::txiter::GetTx
    - std::make_pair
    - CTxMemPool::DynamicMemoryUsage
    - GetTxSize
    - GetFee
    - TRACEPOINT
    - std::set::insert
    - CTxMemPool::UpdateEntryForAncestors
    - CTxMemPool::size
    - GetTx
    - emplace_back
    - CTxMemPool::UpdateParent
    - CTxMemPool::txiter::GetSharedTx
    - insert
    - CTxMemPool::UpdateAncestorsOf
    - vin::size
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::addNewTransaction(CTxMemPool::txiter newit, CTxMemPool::setEntries&
      setAncestors)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetAndIncrementSequence
      Src: /src/bitcoin-core/src/txmempool.cpp:524,1
    - Dst: signals::TransactionRemovedFromMempool
      Src: /src/bitcoin-core/src/txmempool.cpp:531,1
    - Dst: txiter::GetSharedTx
      Src: /src/bitcoin-core/src/txmempool.cpp:531,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/txmempool.cpp:533,1
    - Dst: txiter::GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:534,1
    - Dst: RemovalReasonToString
      Src: /src/bitcoin-core/src/txmempool.cpp:535,1
    - Dst: txiter::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:536,1
    - Dst: txiter::GetFee
      Src: /src/bitcoin-core/src/txmempool.cpp:537,1
    - Dst: std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>
      Src: /src/bitcoin-core/src/txmempool.cpp:538,1
    - Dst: txiter::GetTime
      Src: /src/bitcoin-core/src/txmempool.cpp:538,1
    - Dst: txiter::GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:541,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txmempool.cpp:542,1
    - Dst: CTxMemPool::RemoveUnbroadcastTx
      Src: /src/bitcoin-core/src/txmempool.cpp:544,1
    - Dst: txiter::GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:544,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:546,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/txmempool.cpp:548,1
    - Dst: CTxMemPool::GetEntry
      Src: /src/bitcoin-core/src/txmempool.cpp:548,1
    - Dst: back
      Src: /src/bitcoin-core/src/txmempool.cpp:548,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txmempool.cpp:550,1
    - Dst: back
      Src: /src/bitcoin-core/src/txmempool.cpp:550,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/txmempool.cpp:551,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:552,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/txmempool.cpp:552,1
    - Dst: shrink_to_fit
      Src: /src/bitcoin-core/src/txmempool.cpp:553,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txmempool.cpp:555,1
    - Dst: txiter::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:557,1
    - Dst: txiter::GetFee
      Src: /src/bitcoin-core/src/txmempool.cpp:558,1
    - Dst: txiter::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:559,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:560,1
    - Dst: txiter::GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:560,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:560,1
    - Dst: txiter::GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:560,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txmempool.cpp:561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - it
    - reason
    argTypes:
    - txiter
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 563
    functionName: CTxMemPool::removeUnchecked
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - memusage::DynamicUsage
    - std::move
    - shrink_to_fit
    - txiter::GetFee
    - pop_back
    - capacity
    - txiter::GetSharedTx
    - back
    - TRACEPOINT
    - txiter::DynamicMemoryUsage
    - clear
    - txiter::GetMemPoolParentsConst
    - txiter::GetTx
    - CTxMemPool::GetEntry
    - CTxMemPool::RemoveUnbroadcastTx
    - RemovalReasonToString
    - std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>
    - GetAndIncrementSequence
    - txiter::GetTxSize
    - Assert
    - CTxMemPool::size
    - erase
    - signals::TransactionRemovedFromMempool
    - txiter::GetMemPoolChildrenConst
    - txiter::GetTime
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::removeUnchecked(txiter it, MemPoolRemovalReason reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/txmempool.cpp:574,1
    - Dst: setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:575,1
    - Dst: setEntries::empty
      Src: /src/bitcoin-core/src/txmempool.cpp:580,1
    - Dst: setEntries::begin
      Src: /src/bitcoin-core/src/txmempool.cpp:581,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txmempool.cpp:582,1
    - Dst: setEntries::erase
      Src: /src/bitcoin-core/src/txmempool.cpp:583,1
    - Dst: txiter::GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:585,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:587,1
    - Dst: count
      Src: /src/bitcoin-core/src/txmempool.cpp:588,1
    - Dst: setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - entryit
    - ' setDescendants'
    argTypes:
    - txiter
    - setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 593
    functionName: CTxMemPool::CalculateDescendants
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 1
    functionsReached:
    - iterator_to
    - setEntries::begin
    - count
    - setEntries::erase
    - txiter::GetMemPoolChildrenConst
    - setEntries::empty
    - insert
    - setEntries::insert
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::CalculateDescendants(txiter entryit, setEntries& setDescendants)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:598,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:599,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:601,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:601,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:602,1
    - Dst: setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:603,1
    - Dst: CTransaction::vout::size
      Src: /src/bitcoin-core/src/txmempool.cpp:609,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:610,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/txmempool.cpp:610,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:610,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:611,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:613,1
    - Dst: auto::second::GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:613,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:614,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:614,1
    - Dst: setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:615,1
    - Dst: CTxMemPool::CalculateDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:620,1
    - Dst: CTxMemPool::RemoveStaged
      Src: /src/bitcoin-core/src/txmempool.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - origTx
    - reason
    argTypes:
    - CTransaction
    - MemPoolRemovalReason
    assertStmts:
    - condition: (nextit != mapTx.end())
      pos:
        line_end: 613
        line_start: 613
        source_file: /src/bitcoin-core/src/txmempool.cpp
    constantsTouched: []
    func_position:
      end: 624
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 624
    functionName: CTxMemPool::removeRecursive
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 1
    functionsReached:
    - end
    - auto::second::GetHash
    - Assume
    - CTxMemPool::CalculateDescendants
    - CTxMemPool::RemoveStaged
    - CTransaction::vout::size
    - COutPoint
    - AssertLockHeld
    - assert
    - CTransaction::GetHash
    - setEntries::insert
    - find
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::removeRecursive(const CTransaction &origTx, MemPoolRemovalReason
      reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:629,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:630,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:631,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txmempool.cpp:634,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:634,1
    - Dst: check_final_and_mature
      Src: /src/bitcoin-core/src/txmempool.cpp:635,1
    - Dst: setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:635,1
    - Dst: CTxMemPool::CalculateDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:639,1
    - Dst: CTxMemPool::RemoveStaged
      Src: /src/bitcoin-core/src/txmempool.cpp:641,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txmempool.cpp:642,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:642,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:643,1
    - Dst: TestLockPointValidity
      Src: /src/bitcoin-core/src/txmempool.cpp:643,1
    - Dst: indexed_transaction_set::const_iterator::GetLockPoints
      Src: /src/bitcoin-core/src/txmempool.cpp:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' chain'
    - check_final_and_mature
    argTypes:
    - CChain
    - std::function<bool(txiter)>
    assertStmts:
    - condition: (TestLockPointValidity(chain, it->GetLockPoints()))
      pos:
        line_end: 642
        line_start: 642
        source_file: /src/bitcoin-core/src/txmempool.cpp
    constantsTouched: []
    func_position:
      end: 645
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 645
    functionName: CTxMemPool::removeForReorg
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - Assume
    - CTxMemPool::CalculateDescendants
    - CTxMemPool::RemoveStaged
    - setEntries::insert
    - check_final_and_mature
    - TestLockPointValidity
    - indexed_transaction_set::const_iterator::GetLockPoints
    - AssertLockHeld
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::removeForReorg(CChain& chain, std::function<bool(txiter)>
      check_final_and_mature)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:650,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:652,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:653,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:655,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:655,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:655,1
    - Dst: CTxMemPool::ClearPrioritisation
      Src: /src/bitcoin-core/src/txmempool.cpp:657,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:657,1
    - Dst: CTxMemPool::removeRecursive
      Src: /src/bitcoin-core/src/txmempool.cpp:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tx
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 662
    functionName: CTxMemPool::removeConflicts
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - Assume
    - CTxMemPool::ClearPrioritisation
    - AssertLockHeld
    - CTransaction::GetHash
    - CTxMemPool::removeRecursive
    - find
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::removeConflicts(const CTransaction &tx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:667,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:668,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:670,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:670,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:670,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txmempool.cpp:671,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:671,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:673,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:673,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:674,1
    - Dst: setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:676,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:677,1
    - Dst: CTxMemPool::RemoveStaged
      Src: /src/bitcoin-core/src/txmempool.cpp:678,1
    - Dst: CTxMemPool::removeConflicts
      Src: /src/bitcoin-core/src/txmempool.cpp:680,1
    - Dst: CTxMemPool::ClearPrioritisation
      Src: /src/bitcoin-core/src/txmempool.cpp:681,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:681,1
    - Dst: signals::MempoolTransactionsRemovedForBlock
      Src: /src/bitcoin-core/src/txmempool.cpp:685,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/txmempool.cpp:687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' vtx'
    - nBlockHeight
    argTypes:
    - std::vector<CTransactionRef>
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 664
    functionDepth: 4
    functionLinenumber: 664
    functionLinenumberEnd: 689
    functionName: CTxMemPool::removeForBlock
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - GetTime
    - std::vector::emplace_back
    - Assume
    - CTxMemPool::RemoveStaged
    - GetHash
    - std::vector::reserve
    - signals::MempoolTransactionsRemovedForBlock
    - CTxMemPool::ClearPrioritisation
    - CTxMemPool::size
    - AssertLockHeld
    - CTxMemPool::removeConflicts
    - find
    - setEntries::insert
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::removeForBlock(const std::vector<CTransactionRef>&
      vtx, unsigned int nBlockHeight)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/txmempool.cpp:695,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:697,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:698,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/txmempool.cpp:699,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:699,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:699,1
    - Dst: const_cast<CCoinsViewCache*>
      Src: /src/bitcoin-core/src/txmempool.cpp:706,1
    - Dst: CTxMemPool::GetSortedDepthAndScore
      Src: /src/bitcoin-core/src/txmempool.cpp:708,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:709,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/txmempool.cpp:710,1
    - Dst: CTxMemPool::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:711,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:712,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:713,1
    - Dst: GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:713,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:713,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:713,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:717,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:718,1
    - Dst: indexed_transaction_set::const_iterator::GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:719,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:720,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/txmempool.cpp:720,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/txmempool.cpp:720,1
    - Dst: CTxMemPoolEntry::Parents::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:721,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:726,1
    - Dst: CCoinsViewCache::HaveCoin
      Src: /src/bitcoin-core/src/txmempool.cpp:726,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:728,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:729,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:729,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:730,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:731,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:734,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:734,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:736,1
    - Dst: CTxMemPoolEntry::Parents::size
      Src: /src/bitcoin-core/src/txmempool.cpp:736,1
    - Dst: GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:736,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:737,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/txmempool.cpp:737,1
    - Dst: CTxMemPoolEntry::Parents::begin
      Src: /src/bitcoin-core/src/txmempool.cpp:737,1
    - Dst: CTxMemPoolEntry::Parents::end
      Src: /src/bitcoin-core/src/txmempool.cpp:737,1
    - Dst: GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:737,1
    - Dst: CTxMemPool::AssumeCalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:739,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/txmempool.cpp:739,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/txmempool.cpp:740,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:741,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:742,1
    - Dst: GetSigOpCost
      Src: /src/bitcoin-core/src/txmempool.cpp:743,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:746,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:747,1
    - Dst: GetSigOpCost
      Src: /src/bitcoin-core/src/txmempool.cpp:748,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:751,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:751,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:752,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:752,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:753,1
    - Dst: GetSigOpCostWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:753,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:754,1
    - Dst: GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:754,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:756,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:756,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:757,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/txmempool.cpp:761,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/txmempool.cpp:761,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:761,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:763,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:763,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:764,1
    - Dst: auto::second::GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:764,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:765,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:765,1
    - Dst: CTxMemPoolEntry::Children::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:766,1
    - Dst: txiter::GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:767,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:770,1
    - Dst: CTxMemPoolEntry::Children::size
      Src: /src/bitcoin-core/src/txmempool.cpp:770,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:770,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:771,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/txmempool.cpp:771,1
    - Dst: CTxMemPoolEntry::Children::begin
      Src: /src/bitcoin-core/src/txmempool.cpp:771,1
    - Dst: CTxMemPoolEntry::Children::end
      Src: /src/bitcoin-core/src/txmempool.cpp:771,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:771,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:774,1
    - Dst: GetSizeWithDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:774,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:774,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:778,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/txmempool.cpp:778,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:779,1
    - Dst: Consensus::CheckTxInputs
      Src: /src/bitcoin-core/src/txmempool.cpp:779,1
    - Dst: CCoinsViewCache::SpendCoin
      Src: /src/bitcoin-core/src/txmempool.cpp:780,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/txmempool.cpp:781,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/txmempool.cpp:781,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/txmempool.cpp:783,1
    - Dst: cend
      Src: /src/bitcoin-core/src/txmempool.cpp:783,1
    - Dst: auto::second::GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:784,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:785,1
    - Dst: indexed_transaction_set::const_iterator::GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:786,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:787,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:787,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:788,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:791,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:792,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txmempool.cpp:793,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - ' active_coins_tip'
    - spendheight
    argTypes:
    - CCoinsViewCache
    - int64_t
    assertStmts:
    - condition: (tx2.vout.size() > txin.prevout.n && !tx2.vout[txin.prevout.n].IsNull())
      pos:
        line_end: 719
        line_start: 719
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (innerUsage == cachedInnerUsage)
      pos:
        line_end: 792
        line_start: 792
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (it3->first == &txin.prevout)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (it->GetSigOpCostWithAncestors() == nSigOpCheck)
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (it2 != mapTx.end())
      pos:
        line_end: 786
        line_start: 786
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (it->GetCountWithAncestors() == nCountCheck)
      pos:
        line_end: 750
        line_start: 750
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (setChildrenCheck.size() == it->GetMemPoolChildrenConst().size())
      pos:
        line_end: 769
        line_start: 769
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (!tx.IsCoinBase())
      pos:
        line_end: 777
        line_start: 777
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (it3->second == &tx)
      pos:
        line_end: 730
        line_start: 730
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (childit != mapTx.end())
      pos:
        line_end: 764
        line_start: 764
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (mempoolDuplicate.HaveCoin(txin.prevout))
      pos:
        line_end: 725
        line_start: 725
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (std::equal(setParentCheck.begin(), setParentCheck.end(), it->GetMemPoolParentsConst().begin(),
        comp))
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (&tx == it->second)
      pos:
        line_end: 787
        line_start: 787
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (prev_ancestor_count <= it->GetCountWithAncestors())
      pos:
        line_end: 755
        line_start: 755
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (std::equal(setChildrenCheck.begin(), setChildrenCheck.end(), it->GetMemPoolChildrenConst().begin(),
        comp))
      pos:
        line_end: 770
        line_start: 770
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (m_total_fee == check_total_fee)
      pos:
        line_end: 791
        line_start: 791
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (it3 != mapNextTx.end())
      pos:
        line_end: 728
        line_start: 728
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (it->GetSizeWithAncestors() == nSizeCheck)
      pos:
        line_end: 751
        line_start: 751
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (it->GetModFeesWithAncestors() == nFeesCheck)
      pos:
        line_end: 753
        line_start: 753
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (it->GetSizeWithDescendants() >= child_sizes + it->GetTxSize())
      pos:
        line_end: 773
        line_start: 773
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (totalTxSize == checkTotal)
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (setParentCheck.size() == it->GetMemPoolParentsConst().size())
      pos:
        line_end: 735
        line_start: 735
        source_file: /src/bitcoin-core/src/txmempool.cpp
    - condition: (Consensus::CheckTxInputs(tx, dummy_state, mempoolDuplicate, spendheight,
        txfee))
      pos:
        line_end: 778
        line_start: 778
        source_file: /src/bitcoin-core/src/txmempool.cpp
    constantsTouched: []
    func_position:
      end: 794
      start: 691
    functionDepth: 4
    functionLinenumber: 691
    functionLinenumberEnd: 794
    functionName: CTxMemPool::check
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - CTxMemPool::AssumeCalculateMemPoolAncestors
    - auto::size
    - memusage::DynamicUsage
    - lower_bound
    - CTxMemPool::DynamicMemoryUsage
    - cend
    - CCoinsViewCache::HaveCoin
    - GetSizeWithAncestors
    - GetModFeesWithAncestors
    - cbegin
    - GetModifiedFee
    - GetSizeWithDescendants
    - CTxMemPoolEntry::Children::end
    - GetTxSize
    - GetFee
    - AddCoins
    - const_cast<CCoinsViewCache*>
    - AssertLockHeld
    - CCoinsViewCache::SpendCoin
    - GetSigOpCostWithAncestors
    - GetMemPoolChildrenConst
    - find
    - GetCountWithAncestors
    - CTxMemPoolEntry::Parents::begin
    - CTxMemPoolEntry::Children::insert
    - LogDebug
    - COutPoint
    - vout::size
    - txiter::GetTxSize
    - GetMemPoolParentsConst
    - GetSigOpCost
    - kernel::NoLimits
    - CTxMemPool::size
    - GetTx
    - IsNull
    - CTxMemPoolEntry::Parents::size
    - CTxMemPoolEntry::Children::begin
    - CTxMemPoolEntry::Parents::end
    - assert
    - Consensus::CheckTxInputs
    - RandomMixin::max
    - std::equal
    - end
    - indexed_transaction_set::const_iterator::GetTx
    - auto::second::GetHash
    - CTxMemPool::GetSortedDepthAndScore
    - CTxMemPoolEntry::Children::size
    - LOCK
    - IsCoinBase
    - FastRandomContext
    - CTxMemPoolEntry::Parents::insert
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::check(const CCoinsViewCache& active_coins_tip, int64_t
      spendheight) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:803,1
    - Dst: CTxMemPool::GetIter
      Src: /src/bitcoin-core/src/txmempool.cpp:804,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/txmempool.cpp:805,1
    - Dst: CTxMemPool::GetIter
      Src: /src/bitcoin-core/src/txmempool.cpp:806,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/txmempool.cpp:807,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/txmempool.cpp:808,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/txmempool.cpp:809,1
    - Dst: CompareTxMemPoolEntryByScore
      Src: /src/bitcoin-core/src/txmempool.cpp:811,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/txmempool.cpp:811,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/txmempool.cpp:811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' hasha'
    - ' hashb'
    argTypes:
    - Wtxid
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 814
    functionName: CTxMemPool::CompareDepthAndScore
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - auto::has_value
    - LOCK
    - CTxMemPool::GetIter
    - CompareTxMemPoolEntryByScore
    linkageType: ''
    returnType: bool
    signature: bool CTxMemPool::CompareDepthAndScore(const Wtxid& hasha, const Wtxid&
      hashb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:822,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:823,1
    - Dst: CompareTxMemPoolEntryByScore
      Src: /src/bitcoin-core/src/txmempool.cpp:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxMemPool::indexed_transaction_set::const_iterator
    - CTxMemPool::indexed_transaction_set::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 828
    functionName: operator()(const CTxMemPool::indexed_transaction_set::const_iterator&
      a, const CTxMemPool::indexed_transaction_set::const_iterator& b)
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - GetCountWithAncestors
    - CompareTxMemPoolEntryByScore
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CTxMemPool::indexed_transaction_set::const_iterator&
      a, const CTxMemPool::indexed_transaction_set::const_iterator& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:822,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:823,1
    - Dst: CompareTxMemPoolEntryByScore
      Src: /src/bitcoin-core/src/txmempool.cpp:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxMemPool::indexed_transaction_set::const_iterator
    - CTxMemPool::indexed_transaction_set::const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 828
    functionName: operator()(const CTxMemPool::indexed_transaction_set::const_iterator&
      a, const CTxMemPool::indexed_transaction_set::const_iterator& b)
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - GetCountWithAncestors
    - CompareTxMemPoolEntryByScore
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CTxMemPool::indexed_transaction_set::const_iterator&
      a, const CTxMemPool::indexed_transaction_set::const_iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:835,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txmempool.cpp:837,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:837,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txmempool.cpp:839,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:839,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txmempool.cpp:840,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txmempool.cpp:842,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txmempool.cpp:842,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txmempool.cpp:842,1
    - Dst: DepthAndScoreComparator
      Src: /src/bitcoin-core/src/txmempool.cpp:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 844
    functionName: CTxMemPool::GetSortedDepthAndScore
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::vector::end
    - std::vector::reserve
    - std::vector::begin
    - std::vector::push_back
    - DepthAndScoreComparator
    - CTxMemPool::size
    - AssertLockHeld
    - std::sort
    - begin
    linkageType: ''
    returnType: std::vector<CTxMemPool::indexed_transaction_set::const_iterator>
    signature: std::vector<CTxMemPool::indexed_transaction_set::const_iterator> CTxMemPool::GetSortedDepthAndScore()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:848,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txmempool.cpp:851,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:851,1
    - Dst: CTxMemPool::GetSortedDepthAndScore
      Src: /src/bitcoin-core/src/txmempool.cpp:852,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 856
    functionName: CTxMemPool::entryAll
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - CTxMemPool::GetSortedDepthAndScore
    - std::vector::reserve
    - CTxMemPool::size
    - AssertLockHeld
    linkageType: ''
    returnType: std::vector<CTxMemPoolEntryRef>
    signature: std::vector<CTxMemPoolEntryRef> CTxMemPool::entryAll() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:860,1
    - Dst: CTxMemPool::GetSortedDepthAndScore
      Src: /src/bitcoin-core/src/txmempool.cpp:861,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txmempool.cpp:864,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:864,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txmempool.cpp:866,1
    - Dst: CTxMemPool::GetInfo
      Src: /src/bitcoin-core/src/txmempool.cpp:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 870
    functionName: CTxMemPool::infoAll
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - CTxMemPool::GetSortedDepthAndScore
    - std::vector::reserve
    - std::vector::push_back
    - LOCK
    - CTxMemPool::size
    - CTxMemPool::GetInfo
    linkageType: ''
    returnType: std::vector<TxMempoolInfo>
    signature: std::vector<TxMempoolInfo> CTxMemPool::infoAll() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:874,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:875,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 877
    functionName: CTxMemPool::GetEntry
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: CTxMemPoolEntry
    signature: CTxMemPoolEntry * CTxMemPool::GetEntry(const Txid& txid) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:881,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:882,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:883,1
    - Dst: indexed_transaction_set::const_iterator::GetSharedTx
      Src: /src/bitcoin-core/src/txmempool.cpp:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 886
    functionName: CTxMemPool::get
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 1
    functionsReached:
    - end
    - LOCK
    - indexed_transaction_set::const_iterator::GetSharedTx
    - find
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef CTxMemPool::get(const uint256& hash) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:891,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/txmempool.cpp:893,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:894,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:895,1
    - Dst: modify
      Src: /src/bitcoin-core/src/txmempool.cpp:896,1
    - Dst: UpdateModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:896,1
    - Dst: CTxMemPool::AssumeCalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:898,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/txmempool.cpp:898,1
    - Dst: modify
      Src: /src/bitcoin-core/src/txmempool.cpp:900,1
    - Dst: UpdateDescendantState
      Src: /src/bitcoin-core/src/txmempool.cpp:900,1
    - Dst: CTxMemPool::CalculateDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:904,1
    - Dst: setEntries::erase
      Src: /src/bitcoin-core/src/txmempool.cpp:905,1
    - Dst: modify
      Src: /src/bitcoin-core/src/txmempool.cpp:907,1
    - Dst: UpdateAncestorState
      Src: /src/bitcoin-core/src/txmempool.cpp:907,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txmempool.cpp:912,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/txmempool.cpp:913,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/txmempool.cpp:913,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:913,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/txmempool.cpp:915,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/txmempool.cpp:916,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:917,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/txmempool.cpp:918,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/txmempool.cpp:919,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - ' hash'
    - ' nFeeDelta'
    argTypes:
    - uint256
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 888
    functionDepth: 4
    functionLinenumber: 888
    functionLinenumberEnd: 922
    functionName: CTxMemPool::PrioritiseTransaction
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - CTxMemPool::AssumeCalculateMemPoolAncestors
    - SaturatingAdd
    - erase
    - ToString
    - CTxMemPool::CalculateDescendants
    - UpdateAncestorState
    - LOCK
    - setEntries::erase
    - UpdateModifiedFee
    - kernel::NoLimits
    - LogPrintf
    - UpdateDescendantState
    - FormatMoney
    - modify
    - find
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::PrioritiseTransaction(const uint256& hash, const CAmount&
      nFeeDelta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:926,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:927,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' hash'
    - nFeeDelta
    argTypes:
    - uint256
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 932
    functionName: CTxMemPool::ApplyDelta
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::ApplyDelta(const uint256& hash, CAmount &nFeeDelta)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:936,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txmempool.cpp:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: CTxMemPool::ClearPrioritisation
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 2
    functionsReached:
    - erase
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::ClearPrioritisation(const uint256& hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:942,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:943,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txmempool.cpp:945,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:945,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:947,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:948,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:950,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 954
    functionName: CTxMemPool::GetPrioritisedTransactions
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::GetModifiedFee
    - std::vector::emplace_back
    - AssertLockNotHeld
    - std::vector::reserve
    - LOCK
    - CTxMemPool::size
    - find
    linkageType: ''
    returnType: std::vector<CTxMemPool::delta_info>
    signature: std::vector<CTxMemPool::delta_info> CTxMemPool::GetPrioritisedTransactions()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:958,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' prevout'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 960
    functionName: CTxMemPool::GetConflictTx
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: CTransaction
    signature: CTransaction * CTxMemPool::GetConflictTx(const COutPoint& prevout)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:964,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:965,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/txmempool.cpp:965,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:966,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/txmempool.cpp:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 967
    functionName: CTxMemPool::GetIter
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 6
    functionsReached:
    - end
    - ToUint256
    - std::make_optional
    - AssertLockHeld
    - find
    linkageType: ''
    returnType: std::optional<CTxMemPool::txiter>
    signature: std::optional<CTxMemPool::txiter> CTxMemPool::GetIter(const Txid& txid)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:971,1
    - Dst: CTxMemPool::get
      Src: /src/bitcoin-core/src/txmempool.cpp:972,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:973,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/txmempool.cpp:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 974
    functionName: CTxMemPool::GetIter
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 6
    functionsReached:
    - end
    - CTxMemPool::get
    - std::make_optional
    - AssertLockHeld
    linkageType: ''
    returnType: std::optional<CTxMemPool::txiter>
    signature: std::optional<CTxMemPool::txiter> CTxMemPool::GetIter(const Wtxid&
      wtxid) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::GetIter
      Src: /src/bitcoin-core/src/txmempool.cpp:980,1
    - Dst: CTxMemPool::setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' hashes'
    argTypes:
    - std::set<Txid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 976
    functionDepth: 2
    functionLinenumber: 976
    functionLinenumberEnd: 984
    functionName: CTxMemPool::GetIterSet
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 1
    functionsReached:
    - CTxMemPool::setEntries::insert
    - CTxMemPool::GetIter
    linkageType: ''
    returnType: CTxMemPool::setEntries
    signature: CTxMemPool::setEntries CTxMemPool::GetIterSet(const std::set<Txid>&
      hashes) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:988,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txmempool.cpp:990,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:990,1
    - Dst: CTxMemPool::GetIter
      Src: /src/bitcoin-core/src/txmempool.cpp:992,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/txmempool.cpp:992,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txmempool.cpp:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' txids'
    argTypes:
    - std::vector<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 997
    functionName: CTxMemPool::GetIterVec
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::vector::push_back
    - transaction_identifier::FromUint256
    - CTxMemPool::size
    - AssertLockHeld
    - CTxMemPool::GetIter
    linkageType: ''
    returnType: std::vector<CTxMemPool::txiter>
    signature: std::vector<CTxMemPool::txiter> CTxMemPool::GetIterVec(const std::vector<uint256>&
      txids) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1001,1
    - Dst: CTxMemPool::exists
      Src: /src/bitcoin-core/src/txmempool.cpp:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tx
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1005
    functionName: CTxMemPool::HasNoInputsOf
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - CTransaction::vin::size
    - CTxMemPool::exists
    linkageType: ''
    returnType: bool
    signature: bool CTxMemPool::HasNoInputsOf(const CTransaction &tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - baseIn
    - ' mempoolIn'
    argTypes:
    - CCoinsView*
    - CTxMemPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1007
    functionName: CCoinsViewMemPool::CCoinsViewMemPool
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewMemPool::CCoinsViewMemPool(CCoinsView* baseIn, const
      CTxMemPool& mempoolIn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:1013,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:1013,1
    - Dst: get
      Src: /src/bitcoin-core/src/txmempool.cpp:1020,1
    - Dst: CTransactionRef::vout::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1022,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/txmempool.cpp:1024,1
    - Dst: CCoinsViewMemPool::GetCoin
      Src: /src/bitcoin-core/src/txmempool.cpp:1029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1030
    functionName: CCoinsViewMemPool::GetCoin
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 1
    functionsReached:
    - end
    - CTransactionRef::vout::size
    - emplace
    - get
    - find
    - CCoinsViewMemPool::GetCoin
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> CCoinsViewMemPool::GetCoin(const COutPoint& outpoint)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1034,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/txmempool.cpp:1035,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/txmempool.cpp:1035,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:1035,1
    - Dst: Coin
      Src: /src/bitcoin-core/src/txmempool.cpp:1035,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/txmempool.cpp:1036,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1038
    functionName: CCoinsViewMemPool::PackageAddTransaction
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - Coin
    - emplace
    - GetHash
    - COutPoint
    - vout::size
    linkageType: ''
    returnType: void
    signature: void CCoinsViewMemPool::PackageAddTransaction(const CTransactionRef&
      tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/txmempool.cpp:1041,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txmempool.cpp:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1043
    functionName: CCoinsViewMemPool::Reset
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void CCoinsViewMemPool::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:1046,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1048,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1048,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1048,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1048,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    functionName: CTxMemPool::DynamicMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    - memusage::MallocUsage
    - memusage::DynamicUsage
    - CTxMemPool::size
    linkageType: ''
    returnType: size_t
    signature: size_t CTxMemPool::DynamicMemoryUsage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:1052,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txmempool.cpp:1054,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/txmempool.cpp:1056,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/txmempool.cpp:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' txid'
    - unchecked
    argTypes:
    - uint256
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1058
    functionName: CTxMemPool::RemoveUnbroadcastTx
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - GetHex
    - LogDebug
    - erase
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::RemoveUnbroadcastTx(const uint256& txid, const bool
      unchecked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:1061,1
    - Dst: CTxMemPool::UpdateForRemoveFromMempool
      Src: /src/bitcoin-core/src/txmempool.cpp:1062,1
    - Dst: CTxMemPool::removeUnchecked
      Src: /src/bitcoin-core/src/txmempool.cpp:1064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - stage
    - updateDescendants
    - reason
    argTypes:
    - setEntries
    - bool
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1060
    functionDepth: 5
    functionLinenumber: 1060
    functionLinenumberEnd: 1066
    functionName: CTxMemPool::RemoveStaged
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 4
    functionsReached:
    - CTxMemPool::removeUnchecked
    - AssertLockHeld
    - CTxMemPool::UpdateForRemoveFromMempool
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::RemoveStaged(setEntries &stage, bool updateDescendants,
      MemPoolRemovalReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:1070,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:1071,1
    - Dst: CTxMemPool::get
      Src: /src/bitcoin-core/src/txmempool.cpp:1072,1
    - Dst: CTxMemPool::get
      Src: /src/bitcoin-core/src/txmempool.cpp:1074,1
    - Dst: indexed_transaction_set::index<entry_time>::type::iterator::GetTime
      Src: /src/bitcoin-core/src/txmempool.cpp:1074,1
    - Dst: setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:1075,1
    - Dst: CTxMemPool::CalculateDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:1080,1
    - Dst: CTxMemPool::RemoveStaged
      Src: /src/bitcoin-core/src/txmempool.cpp:1082,1
    - Dst: setEntries::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - time
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1068
    functionDepth: 6
    functionLinenumber: 1068
    functionLinenumberEnd: 1084
    functionName: CTxMemPool::Expire
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - CTxMemPool::get
    - Assume
    - CTxMemPool::CalculateDescendants
    - CTxMemPool::RemoveStaged
    - setEntries::insert
    - AssertLockHeld
    - setEntries::size
    - indexed_transaction_set::index<entry_time>::type::iterator::GetTime
    linkageType: ''
    returnType: int
    signature: int CTxMemPool::Expire(std::chrono::seconds time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:1088,1
    - Dst: txiter::GetMemPoolChildren
      Src: /src/bitcoin-core/src/txmempool.cpp:1090,1
    - Dst: memusage::IncrementalDynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1091,1
    - Dst: txiter::GetMemPoolChildren
      Src: /src/bitcoin-core/src/txmempool.cpp:1092,1
    - Dst: memusage::IncrementalDynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - entry
    - child
    - add
    argTypes:
    - txiter
    - txiter
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1095
    functionName: CTxMemPool::UpdateChild
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 2
    functionsReached:
    - txiter::GetMemPoolChildren
    - AssertLockHeld
    - memusage::IncrementalDynamicUsage
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::UpdateChild(txiter entry, txiter child, bool add)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:1099,1
    - Dst: txiter::GetMemPoolParents
      Src: /src/bitcoin-core/src/txmempool.cpp:1101,1
    - Dst: memusage::IncrementalDynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1102,1
    - Dst: txiter::GetMemPoolParents
      Src: /src/bitcoin-core/src/txmempool.cpp:1103,1
    - Dst: memusage::IncrementalDynamicUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - entry
    - parent
    - add
    argTypes:
    - txiter
    - txiter
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1106
    functionName: CTxMemPool::UpdateParent
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 3
    functionsReached:
    - txiter::GetMemPoolParents
    - AssertLockHeld
    - memusage::IncrementalDynamicUsage
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::UpdateParent(txiter entry, txiter parent, bool add)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:1109,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/txmempool.cpp:1111,1
    - Dst: llround
      Src: /src/bitcoin-core/src/txmempool.cpp:1111,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/txmempool.cpp:1113,1
    - Dst: CTxMemPool::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1116,1
    - Dst: CTxMemPool::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1118,1
    - Dst: pow
      Src: /src/bitcoin-core/src/txmempool.cpp:1121,1
    - Dst: incremental_relay_feerate::GetFeePerK
      Src: /src/bitcoin-core/src/txmempool.cpp:1124,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/txmempool.cpp:1126,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/txmempool.cpp:1129,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/txmempool.cpp:1129,1
    - Dst: llround
      Src: /src/bitcoin-core/src/txmempool.cpp:1129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - sizelimit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1108
    functionDepth: 2
    functionLinenumber: 1108
    functionLinenumberEnd: 1130
    functionName: CTxMemPool::GetMinFee
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 1
    functionsReached:
    - GetTime
    - CFeeRate
    - CTxMemPool::DynamicMemoryUsage
    - std::max
    - LOCK
    - pow
    - llround
    - incremental_relay_feerate::GetFeePerK
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate CTxMemPool::GetMinFee(size_t sizelimit) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:1133,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/txmempool.cpp:1134,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/txmempool.cpp:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rate'
    argTypes:
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1138
    functionName: CTxMemPool::trackPackageRemoved
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - GetFeePerK
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::trackPackageRemoved(const CFeeRate& rate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:1141,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:1142,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txmempool.cpp:1146,1
    - Dst: CTxMemPool::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/txmempool.cpp:1146,1
    - Dst: CTxMemPool::get
      Src: /src/bitcoin-core/src/txmempool.cpp:1147,1
    - Dst: indexed_transaction_set::index<descendant_score>::type::iterator::GetModFeesWithDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:1153,1
    - Dst: indexed_transaction_set::index<descendant_score>::type::iterator::GetSizeWithDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:1153,1
    - Dst: CTxMemPool::trackPackageRemoved
      Src: /src/bitcoin-core/src/txmempool.cpp:1155,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/txmempool.cpp:1156,1
    - Dst: CTxMemPool::CalculateDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:1159,1
    - Dst: setEntries::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1160,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txmempool.cpp:1164,1
    - Dst: setEntries::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1164,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1166,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/txmempool.cpp:1166,1
    - Dst: CTxMemPool::RemoveStaged
      Src: /src/bitcoin-core/src/txmempool.cpp:1168,1
    - Dst: CTxMemPool::exists
      Src: /src/bitcoin-core/src/txmempool.cpp:1172,1
    - Dst: std::vector<COutPoint>*::push_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1173,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/txmempool.cpp:1179,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/txmempool.cpp:1180,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/txmempool.cpp:1180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - sizelimit
    - pvNoSpendsRemaining
    argTypes:
    - size_t
    - std::vector<COutPoint>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1140
    functionDepth: 6
    functionLinenumber: 1140
    functionLinenumberEnd: 1182
    functionName: CTxMemPool::TrimToSize
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - CTxMemPool::DynamicMemoryUsage
    - CFeeRate
    - std::vector::push_back
    - setEntries::size
    - indexed_transaction_set::index<descendant_score>::type::iterator::GetModFeesWithDescendants
    - CTxMemPool::exists
    - CTxMemPool::RemoveStaged
    - std::vector::reserve
    - AssertLockHeld
    - CTxMemPool::trackPackageRemoved
    - empty
    - Assume
    - indexed_transaction_set::index<descendant_score>::type::iterator::GetSizeWithDescendants
    - LogDebug
    - std::vector<COutPoint>*::push_back
    - GetTx
    - CFeeRate::ToString
    - CTxMemPool::get
    - CTxMemPool::CalculateDescendants
    - std::max
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::TrimToSize(size_t sizelimit, std::vector<COutPoint>*
      pvNoSpendsRemaining)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1188,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1190,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/txmempool.cpp:1191,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1192,1
    - Dst: setEntries::insert
      Src: /src/bitcoin-core/src/txmempool.cpp:1193,1
    - Dst: txiter::GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:1194,1
    - Dst: CTxMemPool::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1195,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/txmempool.cpp:1196,1
    - Dst: txiter::GetCountWithDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:1196,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1199,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:1199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - entry
    argTypes:
    - txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1204
    functionName: CTxMemPool::CalculateDescendantMaximum
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - iterator_to
    - std::vector::back
    - std::vector::push_back
    - std::max
    - CTxMemPool::size
    - txiter::GetMemPoolParentsConst
    - std::vector::pop_back
    - txiter::GetCountWithDescendants
    - std::vector::size
    - setEntries::insert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CTxMemPool::CalculateDescendantMaximum(txiter entry) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:1207,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:1208,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:1210,1
    - Dst: auto::GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:1211,1
    - Dst: auto::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:1212,1
    - Dst: auto::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:1213,1
    - Dst: CTxMemPool::CalculateDescendantMaximum
      Src: /src/bitcoin-core/src/txmempool.cpp:1214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ' txid'
    - ' ancestors'
    - ' descendants'
    - ancestorsize
    - ancestorfees
    argTypes:
    - uint256
    - size_t
    - size_t
    - size_t*
    - CAmount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1216
    functionName: CTxMemPool::GetTransactionAncestry
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::GetModFeesWithAncestors
    - LOCK
    - auto::GetSizeWithAncestors
    - CTxMemPool::CalculateDescendantMaximum
    - find
    - auto::GetCountWithAncestors
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::GetTransactionAncestry(const uint256& txid, size_t&
      ancestors, size_t& descendants, size_t* const ancestorsize, CAmount* const ancestorfees)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1222
    functionName: CTxMemPool::GetLoadTried
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool CTxMemPool::GetLoadTried() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - load_tried
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1228
    functionName: CTxMemPool::SetLoadTried
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::SetLoadTried(bool load_tried)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/txmempool.cpp:1232,1
    - Dst: CTxMemPool::GetIterVec
      Src: /src/bitcoin-core/src/txmempool.cpp:1233,1
    - Dst: WITH_FRESH_EPOCH
      Src: /src/bitcoin-core/src/txmempool.cpp:1236,1
    - Dst: visited
      Src: /src/bitcoin-core/src/txmempool.cpp:1238,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1241,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txmempool.cpp:1243,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/txmempool.cpp:1244,1
    - Dst: GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:1245,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:1245,1
    - Dst: iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:1247,1
    - Dst: visited
      Src: /src/bitcoin-core/src/txmempool.cpp:1248,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ' txids'
    argTypes:
    - std::vector<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1230
    functionDepth: 3
    functionLinenumber: 1230
    functionLinenumberEnd: 1255
    functionName: CTxMemPool::GatherClusters
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - visited
    - std::vector::at
    - iterator_to
    - std::vector::push_back
    - GetMemPoolParentsConst
    - WITH_FRESH_EPOCH
    - AssertLockHeld
    - CTxMemPool::GetIterVec
    - GetMemPoolChildrenConst
    - std::vector::size
    linkageType: ''
    returnType: std::vector<CTxMemPool::txiter>
    signature: std::vector<CTxMemPool::txiter> CTxMemPool::GatherClusters(const std::vector<uint256>&
      txids) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:1261,1
    - Dst: GetCountWithDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:1262,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/txmempool.cpp:1265,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:1271,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:1273,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:1275,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/txmempool.cpp:1281,1
    - Dst: CTxMemPool::get
      Src: /src/bitcoin-core/src/txmempool.cpp:1282,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:1283,1
    - Dst: CTxMemPool::get
      Src: /src/bitcoin-core/src/txmempool.cpp:1284,1
    - Dst: GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:1287,1
    - Dst: CTxMemPool::get
      Src: /src/bitcoin-core/src/txmempool.cpp:1288,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/txmempool.cpp:1289,1
    - Dst: CTxMemPool::get
      Src: /src/bitcoin-core/src/txmempool.cpp:1290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ' direct_conflicts'
    argTypes:
    - setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1257
    functionDepth: 2
    functionLinenumber: 1257
    functionLinenumberEnd: 1295
    functionName: CTxMemPool::CheckConflictTopology
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - CTxMemPool::get
    - GetMemPoolParentsConst
    - GetSharedTx
    - strprintf
    - GetMemPoolChildrenConst
    - GetCountWithDescendants
    - GetCountWithAncestors
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> CTxMemPool::CheckConflictTopology(const
      setEntries& direct_conflicts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:1299,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:1302,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:1302,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/txmempool.cpp:1305,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/txmempool.cpp:1306,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/txmempool.cpp:1308,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/txmempool.cpp:1308,1
    - Dst: GetCountWithDescendants
      Src: /src/bitcoin-core/src/txmempool.cpp:1329,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:1334,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:1334,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:1335,1
    - Dst: GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:1338,1
    - Dst: static_cast<int32_t>
      Src: /src/bitcoin-core/src/txmempool.cpp:1338,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/txmempool.cpp:1338,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1343,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1346,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1347,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1350,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txmempool.cpp:1355,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txmempool.cpp:1355,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txmempool.cpp:1355,1
    - Dst: std::greater
      Src: /src/bitcoin-core/src/txmempool.cpp:1355,1
    - Dst: GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:1370,1
    - Dst: GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/txmempool.cpp:1372,1
    - Dst: contains
      Src: /src/bitcoin-core/src/txmempool.cpp:1373,1
    - Dst: mapTx::iterator_to
      Src: /src/bitcoin-core/src/txmempool.cpp:1373,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1376,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:1376,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/txmempool.cpp:1376,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1381,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txmempool.cpp:1384,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txmempool.cpp:1384,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txmempool.cpp:1384,1
    - Dst: std::greater
      Src: /src/bitcoin-core/src/txmempool.cpp:1384,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/txmempool.cpp:1385,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1386
    functionName: CTxMemPool::ChangeSet::CalculateChunksForRBF()
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::make_pair
    - mapTx::iterator_to
    - contains
    - GetSizeWithAncestors
    - GetModFeesWithAncestors
    - GetModifiedFee
    - static_cast<int32_t>
    - auto::value
    - std::vector::end
    - GetTxSize
    - Untranslated
    - GetCountWithAncestors
    - GetMemPoolParentsConst
    - auto::has_value
    - std::vector::begin
    - std::greater
    - LOCK
    - std::sort
    - GetCountWithDescendants
    - CheckConflictTopology
    linkageType: ''
    returnType: util::Result<std::pair<std::vector<FeeFrac>, std::vector<FeeFrac>>>
    signature: util::Result<std::pair<std::vector<FeeFrac>, std::vector<FeeFrac>>>
      CTxMemPool::ChangeSet::CalculateChunksForRBF()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:1390,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txmempool.cpp:1391,1
    - Dst: find
      Src: /src/bitcoin-core/src/txmempool.cpp:1391,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:1391,1
    - Dst: end
      Src: /src/bitcoin-core/src/txmempool.cpp:1391,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/txmempool.cpp:1392,1
    - Dst: ApplyDelta
      Src: /src/bitcoin-core/src/txmempool.cpp:1394,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/txmempool.cpp:1394,1
    - Dst: modify
      Src: /src/bitcoin-core/src/txmempool.cpp:1395,1
    - Dst: UpdateModifiedFee
      Src: /src/bitcoin-core/src/txmempool.cpp:1395,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txmempool.cpp:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - ' tx'
    - fee
    - time
    - entry_height
    - entry_sequence
    - spends_coinbase
    - sigops_cost
    - lp
    argTypes:
    - CTransactionRef
    - CAmount
    - int64_t
    - unsigned int
    - uint64_t
    - bool
    - int64_t
    - LockPoints
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1399
    functionName: CTxMemPool::ChangeSet::StageAddition(const CTransactionRef& tx,
      const CAmount fee, int64_t time, unsigned int entry_height, uint64_t entry_sequence,
      bool spends_coinbase, int64_t sigops_cost, LockPoints lp)
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - Assume
    - push_back
    - GetHash
    - LOCK
    - UpdateModifiedFee
    - modify
    - find
    - ApplyDelta
    linkageType: ''
    returnType: CTxMemPool::ChangeSet::TxHandle
    signature: CTxMemPool::ChangeSet::TxHandle CTxMemPool::ChangeSet::StageAddition(const
      CTransactionRef& tx, const CAmount fee, int64_t time, unsigned int entry_height,
      uint64_t entry_sequence, bool spends_coinbase, int64_t sigops_cost, LockPoints
      lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/txmempool.cpp:1403,1
    - Dst: Apply
      Src: /src/bitcoin-core/src/txmempool.cpp:1404,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txmempool.cpp:1405,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txmempool.cpp:1406,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txmempool.cpp:1407,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txmempool.cpp:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1409
    functionName: CTxMemPool::ChangeSet::Apply()
    functionSourceFile: /src/bitcoin-core/src/txmempool.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - clear
    - Apply
    linkageType: ''
    returnType: void
    signature: void CTxMemPool::ChangeSet::Apply()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/txdb.cpp:30,1
    - Dst: std::unique_ptr::Seek
      Src: /src/bitcoin-core/src/txdb.cpp:33,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/txdb.cpp:33,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/txdb.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: CCoinsViewDB::NeedsUpgrade
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Valid
    - std::unique_ptr::Seek
    - std::make_pair
    - NewIterator
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewDB::NeedsUpgrade()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<COutPoint*>
      Src: /src/bitcoin-core/src/txdb.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - COutPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: CoinEntry
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - const_cast<COutPoint*>
    linkageType: ''
    returnType: void
    signature: void CoinEntry(const COutPoint* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/txdb.cpp:44,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/txdb.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - VARINT
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CoinEntry, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<COutPoint*>
      Src: /src/bitcoin-core/src/txdb.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - COutPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: CoinEntry
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - const_cast<COutPoint*>
    linkageType: ''
    returnType: void
    signature: void CoinEntry(const COutPoint* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/txdb.cpp:44,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/txdb.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - VARINT
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CoinEntry, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/txdb.cpp:50,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txdb.cpp:51,1
    - Dst: std::make_unique<CDBWrapper>
      Src: /src/bitcoin-core/src/txdb.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - db_params
    - options
    argTypes:
    - DBParams
    - CoinsViewOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: CCoinsViewDB::CCoinsViewDB
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CDBWrapper>
    - std::move
    linkageType: ''
    returnType: void
    signature: void CCoinsViewDB::CCoinsViewDB(DBParams db_params, CoinsViewOptions
      options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/txdb.cpp:61,1
    - Dst: std::make_unique<CDBWrapper>
      Src: /src/bitcoin-core/src/txdb.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - new_cache_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: CCoinsViewDB::ResizeCache
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CDBWrapper>
    - reset
    linkageType: ''
    returnType: void
    signature: void CCoinsViewDB::ResizeCache(size_t new_cache_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/txdb.cpp:70,1
    - Dst: Read
      Src: /src/bitcoin-core/src/txdb.cpp:70,1
    - Dst: CoinEntry
      Src: /src/bitcoin-core/src/txdb.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: CCoinsViewDB::GetCoin
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - Read
    - Coin::Coin
    - CoinEntry
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> CCoinsViewDB::GetCoin(const COutPoint& outpoint)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Exists
      Src: /src/bitcoin-core/src/txdb.cpp:75,1
    - Dst: CoinEntry
      Src: /src/bitcoin-core/src/txdb.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outpoint
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: CCoinsViewDB::HaveCoin
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - CoinEntry
    - Exists
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewDB::HaveCoin(const COutPoint &outpoint) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/txdb.cpp:79,1
    - Dst: Read
      Src: /src/bitcoin-core/src/txdb.cpp:80,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/txdb.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: CCoinsViewDB::GetBestBlock
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - Read
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 CCoinsViewDB::GetBestBlock() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/txdb.cpp:87,1
    - Dst: std::vector<uint256>
      Src: /src/bitcoin-core/src/txdb.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: CCoinsViewDB::GetHeadBlocks
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint256>
    - Read
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> CCoinsViewDB::GetHeadBlocks() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txdb.cpp:97,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/txdb.cpp:97,1
    - Dst: CCoinsViewDB::GetBestBlock
      Src: /src/bitcoin-core/src/txdb.cpp:99,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/txdb.cpp:100,1
    - Dst: CCoinsViewDB::GetHeadBlocks
      Src: /src/bitcoin-core/src/txdb.cpp:102,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txdb.cpp:103,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/txdb.cpp:105,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txdb.cpp:107,1
    - Dst: CDBBatch::Erase
      Src: /src/bitcoin-core/src/txdb.cpp:116,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/txdb.cpp:117,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/txdb.cpp:117,1
    - Dst: Begin
      Src: /src/bitcoin-core/src/txdb.cpp:119,1
    - Dst: End
      Src: /src/bitcoin-core/src/txdb.cpp:119,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/txdb.cpp:120,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/txdb.cpp:122,1
    - Dst: CDBBatch::Erase
      Src: /src/bitcoin-core/src/txdb.cpp:123,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/txdb.cpp:125,1
    - Dst: NextAndMaybeErase
      Src: /src/bitcoin-core/src/txdb.cpp:131,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/txdb.cpp:132,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/txdb.cpp:133,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/txdb.cpp:133,1
    - Dst: WriteBatch
      Src: /src/bitcoin-core/src/txdb.cpp:135,1
    - Dst: CDBBatch::Clear
      Src: /src/bitcoin-core/src/txdb.cpp:136,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/txdb.cpp:138,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/txdb.cpp:139,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/txdb.cpp:140,1
    - Dst: _Exit
      Src: /src/bitcoin-core/src/txdb.cpp:141,1
    - Dst: CDBBatch::Erase
      Src: /src/bitcoin-core/src/txdb.cpp:148,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/txdb.cpp:149,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/txdb.cpp:151,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/txdb.cpp:151,1
    - Dst: WriteBatch
      Src: /src/bitcoin-core/src/txdb.cpp:152,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/txdb.cpp:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - ' cursor'
    - hashBlock
    argTypes:
    - CoinsViewCacheCursor
    - uint256
    assertStmts:
    - condition: (!hashBlock.IsNull())
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/txdb.cpp
    - condition: (old_heads[0] == hashBlock)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bitcoin-core/src/txdb.cpp
    constantsTouched: []
    func_position:
      end: 155
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 155
    functionName: CCoinsViewDB::BatchWrite
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - CDBBatch::Erase
    - CDBBatch::Write
    - FastRandomContext::FastRandomContext
    - Vector
    - CDBBatch::Clear
    - CDBBatch::ApproximateSize
    - auto::second::coin::IsSpent
    - CCoinsViewDB::GetHeadBlocks
    - FastRandomContext::randrange
    - auto::second::IsDirty
    - std::vector::size
    - uint256::IsNull
    - CCoinsViewDB::GetBestBlock
    - LogDebug
    - assert
    - LogPrintLevel
    - NextAndMaybeErase
    - WriteBatch
    - End
    - Begin
    - _Exit
    - LogPrintf
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewDB::BatchWrite(CoinsViewCacheCursor& cursor, const uint256
      &hashBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewDB::EstimateSize
      Src: /src/bitcoin-core/src/txdb.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: CCoinsViewDB::EstimateSize
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewDB::EstimateSize
    linkageType: ''
    returnType: size_t
    signature: size_t CCoinsViewDB::EstimateSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pcursorIn
    - hashBlockIn
    argTypes:
    - CDBIterator*
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: CCoinsViewDBCursor::CCoinsViewDBCursor
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewDBCursor(CDBIterator* pcursorIn, const uint256&hashBlockIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: ~CCoinsViewDBCursor()
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CCoinsViewDBCursor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CCoinsViewDBCursor>
      Src: /src/bitcoin-core/src/txdb.cpp:187,1
    - Dst: const_cast<CDBWrapper&>
      Src: /src/bitcoin-core/src/txdb.cpp:188,1
    - Dst: CCoinsViewDB::GetBestBlock
      Src: /src/bitcoin-core/src/txdb.cpp:188,1
    - Dst: auto::pcursor::Seek
      Src: /src/bitcoin-core/src/txdb.cpp:192,1
    - Dst: auto::pcursor::Valid
      Src: /src/bitcoin-core/src/txdb.cpp:194,1
    - Dst: auto::pcursor::GetKey
      Src: /src/bitcoin-core/src/txdb.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 202
    functionName: CCoinsViewDB::Cursor
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached:
    - CCoinsViewDB::GetBestBlock
    - auto::pcursor::GetKey
    - std::make_unique<CCoinsViewDBCursor>
    - auto::pcursor::Valid
    - auto::pcursor::Seek
    - const_cast<CDBWrapper&>
    linkageType: ''
    returnType: std::unique_ptr<CCoinsViewCursor>
    signature: std::unique_ptr<CCoinsViewCursor> CCoinsViewDB::Cursor() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: CCoinsViewDBCursor::GetKey
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewDBCursor::GetKey(COutPoint &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewDBCursor::GetValue
      Src: /src/bitcoin-core/src/txdb.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coin
    argTypes:
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: CCoinsViewDBCursor::GetValue
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewDBCursor::GetValue
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewDBCursor::GetValue(Coin &coin) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: CCoinsViewDBCursor::Valid
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewDBCursor::Valid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewDBCursor::Next
      Src: /src/bitcoin-core/src/txdb.cpp:226,1
    - Dst: CCoinsViewDBCursor::Valid
      Src: /src/bitcoin-core/src/txdb.cpp:228,1
    - Dst: CCoinsViewDBCursor::GetKey
      Src: /src/bitcoin-core/src/txdb.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: CCoinsViewDBCursor::Next
    functionSourceFile: /src/bitcoin-core/src/txdb.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewDBCursor::Valid
    - CCoinsViewDBCursor::GetKey
    - CCoinsViewDBCursor::Next
    linkageType: ''
    returnType: void
    signature: void CCoinsViewDBCursor::Next()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LogError
      Src: /src/bitcoin-core/src/noui.cpp:31,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/noui.cpp:35,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/noui.cpp:39,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/noui.cpp:43,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/noui.cpp:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ' message'
    - ' caption'
    - style
    argTypes:
    - bilingual_str
    - std::string
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: noui_ThreadSafeMessageBox
    functionSourceFile: /src/bitcoin-core/src/noui.cpp
    functionUses: 0
    functionsReached:
    - LogError
    - LogWarning
    - tinyformat::detail::FormatArg::format
    - LogInfo
    linkageType: ''
    returnType: bool
    signature: bool noui_ThreadSafeMessageBox(const bilingual_str& message, const
      std::string& caption, unsigned int style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noui_ThreadSafeMessageBox
      Src: /src/bitcoin-core/src/noui.cpp:52,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/noui.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' message'
    - ' caption'
    - style
    argTypes:
    - std::string
    - std::string
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: noui_ThreadSafeQuestion
    functionSourceFile: /src/bitcoin-core/src/noui.cpp
    functionUses: 0
    functionsReached:
    - Untranslated
    - noui_ThreadSafeMessageBox
    linkageType: ''
    returnType: bool
    signature: bool noui_ThreadSafeQuestion(const bilingual_str& /* ignored interactive
      message */, const std::string& message, const std::string& caption, unsigned
      int style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/noui.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: noui_InitMessage
    functionSourceFile: /src/bitcoin-core/src/noui.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    linkageType: ''
    returnType: void
    signature: void noui_InitMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadSafeMessageBox_connect
      Src: /src/bitcoin-core/src/noui.cpp:62,1
    - Dst: ThreadSafeQuestion_connect
      Src: /src/bitcoin-core/src/noui.cpp:63,1
    - Dst: InitMessage_connect
      Src: /src/bitcoin-core/src/noui.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: noui_connect
    functionSourceFile: /src/bitcoin-core/src/noui.cpp
    functionUses: 0
    functionsReached:
    - InitMessage_connect
    - ThreadSafeQuestion_connect
    - ThreadSafeMessageBox_connect
    linkageType: ''
    returnType: void
    signature: void noui_connect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/noui.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' message'
    - ' caption'
    - style
    argTypes:
    - bilingual_str
    - std::string
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: noui_ThreadSafeMessageBoxRedirect
    functionSourceFile: /src/bitcoin-core/src/noui.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    linkageType: ''
    returnType: bool
    signature: bool noui_ThreadSafeMessageBoxRedirect(const bilingual_str& message,
      const std::string& caption, unsigned int style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/noui.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' message'
    - ' caption'
    - style
    argTypes:
    - std::string
    - std::string
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: noui_ThreadSafeQuestionRedirect
    functionSourceFile: /src/bitcoin-core/src/noui.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    linkageType: ''
    returnType: bool
    signature: bool noui_ThreadSafeQuestionRedirect(const bilingual_str& /* ignored
      interactive message */, const std::string& message, const std::string& caption,
      unsigned int style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/noui.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: noui_InitMessageRedirect
    functionSourceFile: /src/bitcoin-core/src/noui.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    linkageType: ''
    returnType: void
    signature: void noui_InitMessageRedirect(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/noui.cpp:86,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/noui.cpp:87,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/noui.cpp:88,1
    - Dst: ThreadSafeMessageBox_connect
      Src: /src/bitcoin-core/src/noui.cpp:89,1
    - Dst: ThreadSafeQuestion_connect
      Src: /src/bitcoin-core/src/noui.cpp:90,1
    - Dst: InitMessage_connect
      Src: /src/bitcoin-core/src/noui.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: noui_test_redirect
    functionSourceFile: /src/bitcoin-core/src/noui.cpp
    functionUses: 0
    functionsReached:
    - InitMessage_connect
    - disconnect
    - ThreadSafeQuestion_connect
    - ThreadSafeMessageBox_connect
    linkageType: ''
    returnType: void
    signature: void noui_test_redirect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/noui.cpp:96,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/noui.cpp:97,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/noui.cpp:98,1
    - Dst: noui_connect
      Src: /src/bitcoin-core/src/noui.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: noui_reconnect
    functionSourceFile: /src/bitcoin-core/src/noui.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - noui_connect
    linkageType: ''
    returnType: void
    signature: void noui_reconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reasonString
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: TINYFORMAT_ERROR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_ERROR(reasonString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: TINYFORMAT_ASSERT
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_ASSERT(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: TINYFORMAT_ERROR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - LIFETIMEBOUND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tinyformat::RuntimeFormat
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RuntimeFormat(LIFETIMEBOUND const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: tinyformat::FormatStringCheck
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatStringCheck(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmt::c_str
      Src: /src/bitcoin-core/src/tinyformat.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' run'
    argTypes:
    - LIFETIMEBOUND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: tinyformat::FormatStringCheck
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - fmt::c_str
    linkageType: ''
    returnType: void
    signature: void FormatStringCheck(LIFETIMEBOUND const RuntimeFormat& run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - util::ConstevalFormatString<num_params>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: tinyformat::FormatStringCheck
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatStringCheck(util::ConstevalFormatString<num_params> str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: operator const char*()
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const char*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - what
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: tinyformat::format_error::format_error
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void format_error(const std::string &what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& /*out*/, const T& /*value*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<fmtT>
      Src: /src/bitcoin-core/src/tinyformat.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<fmtT>
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& out, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& /**/, const T& /**/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:278,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - flags
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& out, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ERROR
    linkageType: ''
    returnType: int
    signature: int invoke(const T& /*value*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int invoke(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:312,1
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - ' value'
    - ntrunc
    argTypes:
    - std::ostream
    - T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: tinyformat::detail::formatTruncated
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - write
    - std::string::size
    - static_cast<int>
    - std::ostringstream::str
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void formatTruncated(std::ostream& out, const T& value, int ntrunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: TINYFORMAT_DEFINE_FORMAT_TRUNCATED_CSTR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_DEFINE_FORMAT_TRUNCATED_CSTR(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& /*out*/, const T& /*value*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<fmtT>
      Src: /src/bitcoin-core/src/tinyformat.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<fmtT>
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& out, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& /**/, const T& /**/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:278,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - flags
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& out, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ERROR
    linkageType: ''
    returnType: int
    signature: int invoke(const T& /*value*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int invoke(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:312,1
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - ' value'
    - ntrunc
    argTypes:
    - std::ostream
    - T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: tinyformat::detail::formatTruncated
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - write
    - std::string::size
    - static_cast<int>
    - std::ostringstream::str
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void formatTruncated(std::ostream& out, const T& value, int ntrunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: TINYFORMAT_DEFINE_FORMAT_TRUNCATED_CSTR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_DEFINE_FORMAT_TRUNCATED_CSTR(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DummyType
      Src: /src/bitcoin-core/src/tinyformat.h:356,1
    - Dst: tinyformat::detail::invoke
      Src: /src/bitcoin-core/src/tinyformat.h:366,1
    - Dst: tinyformat::detail::invoke
      Src: /src/bitcoin-core/src/tinyformat.h:368,1
    - Dst: tinyformat::detail::formatTruncated
      Src: /src/bitcoin-core/src/tinyformat.h:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ' out'
    - fmtEnd
    - ntrunc
    - ' value'
    argTypes:
    - std::ostream
    - char*
    - int
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 379
    functionName: tinyformat::formatValue
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::detail::formatTruncated
    - tinyformat::detail::invoke
    - DummyType
    linkageType: ''
    returnType: void
    signature: "void formatValue(std::ostream& out, const char* /*fmtBegin*/,\n                        const
      char* fmtEnd, int ntrunc, const T& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: TINYFORMAT_FOREACH_ARGNUM
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_FOREACH_ARGNUM(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatArg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const void*>
      Src: /src/bitcoin-core/src/tinyformat.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void FormatArg(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:542,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:543,1
    - Dst: m_formatImpl
      Src: /src/bitcoin-core/src/tinyformat.h:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: tinyformat::detail::FormatArg::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 16
    functionsReached:
    - m_formatImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void format(std::ostream& out, const char* fmtBegin,\n                    const
      char* fmtEnd, int ntrunc) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:549,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:550,1
    - Dst: m_toIntImpl
      Src: /src/bitcoin-core/src/tinyformat.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: tinyformat::detail::FormatArg::toInt
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - m_toIntImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: int
    signature: int toInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatValue
      Src: /src/bitcoin-core/src/tinyformat.h:559,1
    - Dst: static_cast<const T*>
      Src: /src/bitcoin-core/src/tinyformat.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    - value
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: tinyformat::detail::FormatArg::formatImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - formatValue
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: "TINYFORMAT_HIDDEN formatImpl(std::ostream& out, const char* fmtBegin,\n
      \                       const char* fmtEnd, int ntrunc, const void* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::invoke
      Src: /src/bitcoin-core/src/tinyformat.h:565,1
    - Dst: static_cast<const T*>
      Src: /src/bitcoin-core/src/tinyformat.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: tinyformat::detail::FormatArg::toIntImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - tinyformat::detail::invoke
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: TINYFORMAT_HIDDEN toIntImpl(const void* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 583
    functionName: tinyformat::detail::parseIntAndAdvance
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parseIntAndAdvance(const char*& c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:595,1
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:601,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:603,1
    - Dst: toInt
      Src: /src/bitcoin-core/src/tinyformat.h:605,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:607,1
    - Dst: toInt
      Src: /src/bitcoin-core/src/tinyformat.h:612,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:614,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - ' n'
    - ' c'
    - positionalMode
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - int
    - char*
    - bool
    - detail::FormatArg*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 621
    functionName: tinyformat::detail::parseWidthOrPrecision
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ERROR
    - toInt
    - tinyformat::detail::parseIntAndAdvance
    linkageType: ''
    returnType: bool
    signature: "bool parseWidthOrPrecision(int& n, const char*& c, bool positionalMode,\n
      \                                 const detail::FormatArg* args,\n                                  int&
      argIndex, int numArgs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:633,1
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 644
    functionName: tinyformat::detail::printFormatStringLiteral
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: char
    signature: char * printFormatStringLiteral(std::ostream& out, const char* fmt)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:686,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:688,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:689,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:690,1
    - Dst: unsetf
      Src: /src/bitcoin-core/src/tinyformat.h:692,1
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:704,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:710,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:715,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:721,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:722,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:727,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:732,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:740,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:744,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:747,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:748,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:752,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:753,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:757,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:761,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/bitcoin-core/src/tinyformat.h:772,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:777,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:778,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:781,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/bitcoin-core/src/tinyformat.h:788,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:794,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:807,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:811,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:815,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:818,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:822,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:825,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:826,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:829,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:832,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:835,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:842,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:844,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:847,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:850,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:852,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:852,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:859,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:859,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:861,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:865,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:868,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:879,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:879,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:880,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:881,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 153
    argCount: 8
    argNames:
    - ' out'
    - ' positionalMode'
    - ' spacePadPositive'
    - ' ntrunc'
    - fmtStart
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - std::ostream
    - bool
    - bool
    - int
    - char*
    - detail::FormatArg*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 884
    functionName: tinyformat::detail::streamStateFromFormat
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - tinyformat::detail::parseWidthOrPrecision
    - flags
    - unsetf
    - static_cast<int>
    - precision
    - TINYFORMAT_ASSERT
    - tinyformat::detail::parseIntAndAdvance
    - TINYFORMAT_ERROR
    - setf
    linkageType: ''
    returnType: char
    signature: "char * streamStateFromFormat(std::ostream& out, bool& positionalMode,\n
      \                                        bool& spacePadPositive,\n                                         int&
      ntrunc, const char* fmtStart,\n                                         const
      detail::FormatArg* args,\n                                         int& argIndex,
      int numArgs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:893,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:894,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:895,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:896,1
    - Dst: tinyformat::detail::printFormatStringLiteral
      Src: /src/bitcoin-core/src/tinyformat.h:903,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:906,1
    - Dst: tinyformat::detail::streamStateFromFormat
      Src: /src/bitcoin-core/src/tinyformat.h:912,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:917,1
    - Dst: format
      Src: /src/bitcoin-core/src/tinyformat.h:923,1
    - Dst: std::ostringstream::copyfmt
      Src: /src/bitcoin-core/src/tinyformat.h:931,1
    - Dst: std::ostringstream::setf
      Src: /src/bitcoin-core/src/tinyformat.h:932,1
    - Dst: format
      Src: /src/bitcoin-core/src/tinyformat.h:933,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:934,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/tinyformat.h:935,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:947,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:948,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:949,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:950,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - ' out'
    - fmt
    - args
    - numArgs
    argTypes:
    - std::ostream
    - char*
    - detail::FormatArg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 951
    functionName: tinyformat::detail::formatImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - std::string::size
    - flags
    - std::ostringstream::setf
    - std::ostringstream::copyfmt
    - precision
    - tinyformat::detail::streamStateFromFormat
    - format
    - TINYFORMAT_ERROR
    - std::ostringstream::str
    - tinyformat::detail::printFormatStringLiteral
    linkageType: ''
    returnType: void
    signature: "void formatImpl(std::ostream& out, const char* fmt,\n                       const
      detail::FormatArg* args,\n                       int numArgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatArg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const void*>
      Src: /src/bitcoin-core/src/tinyformat.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void FormatArg(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:542,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:543,1
    - Dst: m_formatImpl
      Src: /src/bitcoin-core/src/tinyformat.h:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: tinyformat::detail::FormatArg::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 16
    functionsReached:
    - m_formatImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void format(std::ostream& out, const char* fmtBegin,\n                    const
      char* fmtEnd, int ntrunc) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:549,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:550,1
    - Dst: m_toIntImpl
      Src: /src/bitcoin-core/src/tinyformat.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: tinyformat::detail::FormatArg::toInt
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - m_toIntImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: int
    signature: int toInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatValue
      Src: /src/bitcoin-core/src/tinyformat.h:559,1
    - Dst: static_cast<const T*>
      Src: /src/bitcoin-core/src/tinyformat.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    - value
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: tinyformat::detail::FormatArg::formatImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - formatValue
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: "TINYFORMAT_HIDDEN formatImpl(std::ostream& out, const char* fmtBegin,\n
      \                       const char* fmtEnd, int ntrunc, const void* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::invoke
      Src: /src/bitcoin-core/src/tinyformat.h:565,1
    - Dst: static_cast<const T*>
      Src: /src/bitcoin-core/src/tinyformat.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: tinyformat::detail::FormatArg::toIntImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - tinyformat::detail::invoke
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: TINYFORMAT_HIDDEN toIntImpl(const void* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 583
    functionName: tinyformat::detail::parseIntAndAdvance
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parseIntAndAdvance(const char*& c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:595,1
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:601,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:603,1
    - Dst: toInt
      Src: /src/bitcoin-core/src/tinyformat.h:605,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:607,1
    - Dst: toInt
      Src: /src/bitcoin-core/src/tinyformat.h:612,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:614,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - ' n'
    - ' c'
    - positionalMode
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - int
    - char*
    - bool
    - detail::FormatArg*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 621
    functionName: tinyformat::detail::parseWidthOrPrecision
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 1
    functionsReached:
    - TINYFORMAT_ERROR
    - toInt
    - tinyformat::detail::parseIntAndAdvance
    linkageType: ''
    returnType: bool
    signature: "bool parseWidthOrPrecision(int& n, const char*& c, bool positionalMode,\n
      \                                 const detail::FormatArg* args,\n                                  int&
      argIndex, int numArgs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:633,1
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 644
    functionName: tinyformat::detail::printFormatStringLiteral
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 1
    functionsReached:
    - write
    linkageType: ''
    returnType: char
    signature: char * printFormatStringLiteral(std::ostream& out, const char* fmt)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:686,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:688,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:689,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:690,1
    - Dst: unsetf
      Src: /src/bitcoin-core/src/tinyformat.h:692,1
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:704,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:710,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:715,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:721,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:722,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:727,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:732,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:740,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:744,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:747,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:748,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:752,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:753,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:757,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:761,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/bitcoin-core/src/tinyformat.h:772,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:777,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:778,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:781,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/bitcoin-core/src/tinyformat.h:788,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:794,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:807,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:811,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:815,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:818,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:822,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:825,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:826,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:829,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:832,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:835,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:842,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:844,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:847,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:850,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:852,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:852,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:859,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:859,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:861,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:865,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:868,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:879,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:879,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:880,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:881,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 153
    argCount: 8
    argNames:
    - ' out'
    - ' positionalMode'
    - ' spacePadPositive'
    - ' ntrunc'
    - fmtStart
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - std::ostream
    - bool
    - bool
    - int
    - char*
    - detail::FormatArg*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 884
    functionName: tinyformat::detail::streamStateFromFormat
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 1
    functionsReached:
    - fill
    - width
    - tinyformat::detail::parseWidthOrPrecision
    - flags
    - unsetf
    - static_cast<int>
    - precision
    - TINYFORMAT_ASSERT
    - tinyformat::detail::parseIntAndAdvance
    - TINYFORMAT_ERROR
    - setf
    linkageType: ''
    returnType: char
    signature: "char * streamStateFromFormat(std::ostream& out, bool& positionalMode,\n
      \                                        bool& spacePadPositive,\n                                         int&
      ntrunc, const char* fmtStart,\n                                         const
      detail::FormatArg* args,\n                                         int& argIndex,
      int numArgs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:893,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:894,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:895,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:896,1
    - Dst: tinyformat::detail::printFormatStringLiteral
      Src: /src/bitcoin-core/src/tinyformat.h:903,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:906,1
    - Dst: tinyformat::detail::streamStateFromFormat
      Src: /src/bitcoin-core/src/tinyformat.h:912,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:917,1
    - Dst: format
      Src: /src/bitcoin-core/src/tinyformat.h:923,1
    - Dst: std::ostringstream::copyfmt
      Src: /src/bitcoin-core/src/tinyformat.h:931,1
    - Dst: std::ostringstream::setf
      Src: /src/bitcoin-core/src/tinyformat.h:932,1
    - Dst: format
      Src: /src/bitcoin-core/src/tinyformat.h:933,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:934,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/tinyformat.h:935,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:947,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:948,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:949,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:950,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - ' out'
    - fmt
    - args
    - numArgs
    argTypes:
    - std::ostream
    - char*
    - detail::FormatArg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 951
    functionName: tinyformat::detail::formatImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - std::string::size
    - flags
    - std::ostringstream::setf
    - std::ostringstream::copyfmt
    - precision
    - tinyformat::detail::streamStateFromFormat
    - format
    - TINYFORMAT_ERROR
    - std::ostringstream::str
    - tinyformat::detail::printFormatStringLiteral
    linkageType: ''
    returnType: void
    signature: "void formatImpl(std::ostream& out, const char* fmt,\n                       const
      detail::FormatArg* args,\n                       int numArgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - args
    - N
    argTypes:
    - detail::FormatArg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 966
    functionName: tinyformat::FormatList::FormatList
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatList(detail::FormatArg* args, int N)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatArg
      Src: /src/bitcoin-core/src/tinyformat.h:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - FormatArg
    linkageType: ''
    returnType: void
    signature: void FormatListN(const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 994
    functionName: tinyformat::detail::FormatListN::init
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1008
    functionName: TINYFORMAT_MAKE_FORMATLIST_CONSTRUCTOR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_MAKE_FORMATLIST_CONSTRUCTOR(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/bitcoin-core/src/tinyformat.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FormatListN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: void FormatListN(const FormatListN& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1025
    functionName: tinyformat::detail::FormatListN<0>::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatListN()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatArg
      Src: /src/bitcoin-core/src/tinyformat.h:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - FormatArg
    linkageType: ''
    returnType: void
    signature: void FormatListN(const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 994
    functionName: tinyformat::detail::FormatListN::init
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1008
    functionName: TINYFORMAT_MAKE_FORMATLIST_CONSTRUCTOR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_MAKE_FORMATLIST_CONSTRUCTOR(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/bitcoin-core/src/tinyformat.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FormatListN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: void FormatListN(const FormatListN& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1025
    functionName: tinyformat::detail::FormatListN<0>::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatListN()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::FormatListN<sizeof...(args)>
      Src: /src/bitcoin-core/src/tinyformat.h:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: tinyformat::makeFormatList
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - detail::FormatListN<sizeof...(args)>
    linkageType: ''
    returnType: detail::FormatListN<sizeof...(Args)>
    signature: detail::FormatListN<sizeof...(Args)> makeFormatList(const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::FormatListN<0>
      Src: /src/bitcoin-core/src/tinyformat.h:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1053
    functionName: tinyformat::makeFormatList
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - detail::FormatListN<0>
    linkageType: ''
    returnType: detail::FormatListN<0>
    signature: detail::FormatListN<0> makeFormatList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1060
    functionName: TINYFORMAT_MAKE_MAKEFORMATLIST
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_MAKE_MAKEFORMATLIST(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::formatImpl
      Src: /src/bitcoin-core/src/tinyformat.h:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - fmt
    - list
    argTypes:
    - std::ostream
    - char*
    - FormatListRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 4
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: tinyformat::vformat
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::detail::formatImpl
    linkageType: ''
    returnType: void
    signature: void vformat(std::ostream& out, const char* fmt, FormatListRef list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::vformat
      Src: /src/bitcoin-core/src/tinyformat.h:1081,1
    - Dst: tinyformat::makeFormatList
      Src: /src/bitcoin-core/src/tinyformat.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - FormatStringCheck<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 5
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: tinyformat::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::vformat
    - tinyformat::makeFormatList
    linkageType: ''
    returnType: void
    signature: void format(std::ostream& out, FormatStringCheck<sizeof...(Args)> fmt,
      const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1090,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - FormatStringCheck<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1092
    functionName: tinyformat::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    - tinyformat::format
    linkageType: ''
    returnType: std::string
    signature: std::string format(FormatStringCheck<sizeof...(Args)> fmt, const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - FormatStringCheck<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1099
    functionName: tinyformat::printf
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printf(FormatStringCheck<sizeof...(Args)> fmt, const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - FormatStringCheck<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1106
    functionName: tinyformat::printfln
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printfln(FormatStringCheck<sizeof...(Args)> fmt, const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::vformat
      Src: /src/bitcoin-core/src/tinyformat.h:1113,1
    - Dst: tinyformat::makeFormatList
      Src: /src/bitcoin-core/src/tinyformat.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 5
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: tinyformat::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - tinyformat::vformat
    - tinyformat::makeFormatList
    linkageType: ''
    returnType: void
    signature: void format(std::ostream& out, const char* fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1119,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: tinyformat::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 4
    functionsReached:
    - std::ostringstream::str
    - tinyformat::format
    linkageType: ''
    returnType: std::string
    signature: std::string format(const char* fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1126
    functionName: tinyformat::printf
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printf(const char* fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1132
    functionName: tinyformat::printfln
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printfln(const char* fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1162
    functionName: TINYFORMAT_MAKE_FORMAT_FUNCS
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_MAKE_FORMAT_FUNCS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - LIFETIMEBOUND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tinyformat::RuntimeFormat
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RuntimeFormat(LIFETIMEBOUND const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: tinyformat::FormatStringCheck
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatStringCheck(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmt::c_str
      Src: /src/bitcoin-core/src/tinyformat.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' run'
    argTypes:
    - LIFETIMEBOUND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: tinyformat::FormatStringCheck
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - fmt::c_str
    linkageType: ''
    returnType: void
    signature: void FormatStringCheck(LIFETIMEBOUND const RuntimeFormat& run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - util::ConstevalFormatString<num_params>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: tinyformat::FormatStringCheck
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatStringCheck(util::ConstevalFormatString<num_params> str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: operator const char*()
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const char*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - what
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: tinyformat::format_error::format_error
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void format_error(const std::string &what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& /*out*/, const T& /*value*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<fmtT>
      Src: /src/bitcoin-core/src/tinyformat.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - static_cast<fmtT>
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& out, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& /**/, const T& /**/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:278,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - flags
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& out, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - TINYFORMAT_ERROR
    linkageType: ''
    returnType: int
    signature: int invoke(const T& /*value*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int invoke(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:312,1
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - ' value'
    - ntrunc
    argTypes:
    - std::ostream
    - T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: tinyformat::detail::formatTruncated
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 1
    functionsReached:
    - write
    - std::string::size
    - static_cast<int>
    - std::ostringstream::str
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void formatTruncated(std::ostream& out, const T& value, int ntrunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: TINYFORMAT_DEFINE_FORMAT_TRUNCATED_CSTR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_DEFINE_FORMAT_TRUNCATED_CSTR(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& /*out*/, const T& /*value*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<fmtT>
      Src: /src/bitcoin-core/src/tinyformat.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - static_cast<fmtT>
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& out, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& /**/, const T& /**/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:278,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - flags
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& out, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - TINYFORMAT_ERROR
    linkageType: ''
    returnType: int
    signature: int invoke(const T& /*value*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int invoke(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:312,1
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/tinyformat.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - ' value'
    - ntrunc
    argTypes:
    - std::ostream
    - T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: tinyformat::detail::formatTruncated
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 1
    functionsReached:
    - write
    - std::string::size
    - static_cast<int>
    - std::ostringstream::str
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void formatTruncated(std::ostream& out, const T& value, int ntrunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: TINYFORMAT_DEFINE_FORMAT_TRUNCATED_CSTR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_DEFINE_FORMAT_TRUNCATED_CSTR(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DummyType
      Src: /src/bitcoin-core/src/tinyformat.h:356,1
    - Dst: tinyformat::detail::invoke
      Src: /src/bitcoin-core/src/tinyformat.h:366,1
    - Dst: tinyformat::detail::invoke
      Src: /src/bitcoin-core/src/tinyformat.h:368,1
    - Dst: tinyformat::detail::formatTruncated
      Src: /src/bitcoin-core/src/tinyformat.h:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ' out'
    - fmtEnd
    - ntrunc
    - ' value'
    argTypes:
    - std::ostream
    - char*
    - int
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 379
    functionName: tinyformat::formatValue
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::detail::formatTruncated
    - tinyformat::detail::invoke
    - DummyType
    linkageType: ''
    returnType: void
    signature: "void formatValue(std::ostream& out, const char* /*fmtBegin*/,\n                        const
      char* fmtEnd, int ntrunc, const T& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: TINYFORMAT_FOREACH_ARGNUM
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_FOREACH_ARGNUM(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatArg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const void*>
      Src: /src/bitcoin-core/src/tinyformat.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void FormatArg(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:542,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:543,1
    - Dst: m_formatImpl
      Src: /src/bitcoin-core/src/tinyformat.h:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: tinyformat::detail::FormatArg::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 16
    functionsReached:
    - m_formatImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void format(std::ostream& out, const char* fmtBegin,\n                    const
      char* fmtEnd, int ntrunc) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:549,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:550,1
    - Dst: m_toIntImpl
      Src: /src/bitcoin-core/src/tinyformat.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: tinyformat::detail::FormatArg::toInt
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - m_toIntImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: int
    signature: int toInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatValue
      Src: /src/bitcoin-core/src/tinyformat.h:559,1
    - Dst: static_cast<const T*>
      Src: /src/bitcoin-core/src/tinyformat.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    - value
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: tinyformat::detail::FormatArg::formatImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - formatValue
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: "TINYFORMAT_HIDDEN formatImpl(std::ostream& out, const char* fmtBegin,\n
      \                       const char* fmtEnd, int ntrunc, const void* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::invoke
      Src: /src/bitcoin-core/src/tinyformat.h:565,1
    - Dst: static_cast<const T*>
      Src: /src/bitcoin-core/src/tinyformat.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: tinyformat::detail::FormatArg::toIntImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - tinyformat::detail::invoke
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: TINYFORMAT_HIDDEN toIntImpl(const void* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 583
    functionName: tinyformat::detail::parseIntAndAdvance
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parseIntAndAdvance(const char*& c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:595,1
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:601,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:603,1
    - Dst: toInt
      Src: /src/bitcoin-core/src/tinyformat.h:605,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:607,1
    - Dst: toInt
      Src: /src/bitcoin-core/src/tinyformat.h:612,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:614,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - ' n'
    - ' c'
    - positionalMode
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - int
    - char*
    - bool
    - detail::FormatArg*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 621
    functionName: tinyformat::detail::parseWidthOrPrecision
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 2
    functionsReached:
    - TINYFORMAT_ERROR
    - toInt
    - tinyformat::detail::parseIntAndAdvance
    linkageType: ''
    returnType: bool
    signature: "bool parseWidthOrPrecision(int& n, const char*& c, bool positionalMode,\n
      \                                 const detail::FormatArg* args,\n                                  int&
      argIndex, int numArgs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:633,1
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 644
    functionName: tinyformat::detail::printFormatStringLiteral
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 2
    functionsReached:
    - write
    linkageType: ''
    returnType: char
    signature: char * printFormatStringLiteral(std::ostream& out, const char* fmt)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:686,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:688,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:689,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:690,1
    - Dst: unsetf
      Src: /src/bitcoin-core/src/tinyformat.h:692,1
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:704,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:710,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:715,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:721,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:722,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:727,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:732,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:740,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:744,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:747,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:748,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:752,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:753,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:757,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:761,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/bitcoin-core/src/tinyformat.h:772,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:777,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:778,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:781,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/bitcoin-core/src/tinyformat.h:788,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:794,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:807,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:811,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:815,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:818,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:822,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:825,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:826,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:829,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:832,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:835,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:842,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:844,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:847,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:850,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:852,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:852,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:859,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:859,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:861,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:865,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:868,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:879,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:879,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:880,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:881,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 153
    argCount: 8
    argNames:
    - ' out'
    - ' positionalMode'
    - ' spacePadPositive'
    - ' ntrunc'
    - fmtStart
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - std::ostream
    - bool
    - bool
    - int
    - char*
    - detail::FormatArg*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 884
    functionName: tinyformat::detail::streamStateFromFormat
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 2
    functionsReached:
    - fill
    - width
    - tinyformat::detail::parseWidthOrPrecision
    - flags
    - unsetf
    - static_cast<int>
    - precision
    - TINYFORMAT_ASSERT
    - tinyformat::detail::parseIntAndAdvance
    - TINYFORMAT_ERROR
    - setf
    linkageType: ''
    returnType: char
    signature: "char * streamStateFromFormat(std::ostream& out, bool& positionalMode,\n
      \                                        bool& spacePadPositive,\n                                         int&
      ntrunc, const char* fmtStart,\n                                         const
      detail::FormatArg* args,\n                                         int& argIndex,
      int numArgs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:893,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:894,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:895,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:896,1
    - Dst: tinyformat::detail::printFormatStringLiteral
      Src: /src/bitcoin-core/src/tinyformat.h:903,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:906,1
    - Dst: tinyformat::detail::streamStateFromFormat
      Src: /src/bitcoin-core/src/tinyformat.h:912,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:917,1
    - Dst: format
      Src: /src/bitcoin-core/src/tinyformat.h:923,1
    - Dst: std::ostringstream::copyfmt
      Src: /src/bitcoin-core/src/tinyformat.h:931,1
    - Dst: std::ostringstream::setf
      Src: /src/bitcoin-core/src/tinyformat.h:932,1
    - Dst: format
      Src: /src/bitcoin-core/src/tinyformat.h:933,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:934,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/tinyformat.h:935,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:947,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:948,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:949,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:950,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - ' out'
    - fmt
    - args
    - numArgs
    argTypes:
    - std::ostream
    - char*
    - detail::FormatArg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 951
    functionName: tinyformat::detail::formatImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 1
    functionsReached:
    - fill
    - width
    - std::string::size
    - flags
    - std::ostringstream::setf
    - std::ostringstream::copyfmt
    - precision
    - tinyformat::detail::streamStateFromFormat
    - format
    - TINYFORMAT_ERROR
    - std::ostringstream::str
    - tinyformat::detail::printFormatStringLiteral
    linkageType: ''
    returnType: void
    signature: "void formatImpl(std::ostream& out, const char* fmt,\n                       const
      detail::FormatArg* args,\n                       int numArgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatArg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const void*>
      Src: /src/bitcoin-core/src/tinyformat.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void FormatArg(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:542,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:543,1
    - Dst: m_formatImpl
      Src: /src/bitcoin-core/src/tinyformat.h:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: tinyformat::detail::FormatArg::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 16
    functionsReached:
    - m_formatImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void format(std::ostream& out, const char* fmtBegin,\n                    const
      char* fmtEnd, int ntrunc) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:549,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:550,1
    - Dst: m_toIntImpl
      Src: /src/bitcoin-core/src/tinyformat.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: tinyformat::detail::FormatArg::toInt
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - m_toIntImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: int
    signature: int toInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatValue
      Src: /src/bitcoin-core/src/tinyformat.h:559,1
    - Dst: static_cast<const T*>
      Src: /src/bitcoin-core/src/tinyformat.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    - value
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: tinyformat::detail::FormatArg::formatImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - formatValue
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: "TINYFORMAT_HIDDEN formatImpl(std::ostream& out, const char* fmtBegin,\n
      \                       const char* fmtEnd, int ntrunc, const void* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::invoke
      Src: /src/bitcoin-core/src/tinyformat.h:565,1
    - Dst: static_cast<const T*>
      Src: /src/bitcoin-core/src/tinyformat.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: tinyformat::detail::FormatArg::toIntImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - tinyformat::detail::invoke
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: TINYFORMAT_HIDDEN toIntImpl(const void* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 583
    functionName: tinyformat::detail::parseIntAndAdvance
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parseIntAndAdvance(const char*& c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:595,1
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:601,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:603,1
    - Dst: toInt
      Src: /src/bitcoin-core/src/tinyformat.h:605,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:607,1
    - Dst: toInt
      Src: /src/bitcoin-core/src/tinyformat.h:612,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:614,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - ' n'
    - ' c'
    - positionalMode
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - int
    - char*
    - bool
    - detail::FormatArg*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 621
    functionName: tinyformat::detail::parseWidthOrPrecision
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - TINYFORMAT_ERROR
    - toInt
    - tinyformat::detail::parseIntAndAdvance
    linkageType: ''
    returnType: bool
    signature: "bool parseWidthOrPrecision(int& n, const char*& c, bool positionalMode,\n
      \                                 const detail::FormatArg* args,\n                                  int&
      argIndex, int numArgs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:633,1
    - Dst: write
      Src: /src/bitcoin-core/src/tinyformat.h:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 644
    functionName: tinyformat::detail::printFormatStringLiteral
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - write
    linkageType: ''
    returnType: char
    signature: char * printFormatStringLiteral(std::ostream& out, const char* fmt)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/bitcoin-core/src/tinyformat.h:686,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:688,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:689,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:690,1
    - Dst: unsetf
      Src: /src/bitcoin-core/src/tinyformat.h:692,1
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/bitcoin-core/src/tinyformat.h:704,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:710,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:715,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:721,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:722,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:727,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:732,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:740,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:744,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:747,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:748,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:752,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:753,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:757,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:761,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/bitcoin-core/src/tinyformat.h:772,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:777,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:778,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:781,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/bitcoin-core/src/tinyformat.h:788,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:794,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:807,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:811,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:815,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:818,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:822,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:825,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:826,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:829,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:832,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:835,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:842,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:844,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:847,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:850,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:852,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:852,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/tinyformat.h:859,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:859,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:861,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:865,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:868,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:879,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:879,1
    - Dst: setf
      Src: /src/bitcoin-core/src/tinyformat.h:880,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:881,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 153
    argCount: 8
    argNames:
    - ' out'
    - ' positionalMode'
    - ' spacePadPositive'
    - ' ntrunc'
    - fmtStart
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - std::ostream
    - bool
    - bool
    - int
    - char*
    - detail::FormatArg*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 884
    functionName: tinyformat::detail::streamStateFromFormat
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 3
    functionsReached:
    - fill
    - width
    - tinyformat::detail::parseWidthOrPrecision
    - flags
    - unsetf
    - static_cast<int>
    - precision
    - TINYFORMAT_ASSERT
    - tinyformat::detail::parseIntAndAdvance
    - TINYFORMAT_ERROR
    - setf
    linkageType: ''
    returnType: char
    signature: "char * streamStateFromFormat(std::ostream& out, bool& positionalMode,\n
      \                                        bool& spacePadPositive,\n                                         int&
      ntrunc, const char* fmtStart,\n                                         const
      detail::FormatArg* args,\n                                         int& argIndex,
      int numArgs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:893,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:894,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:895,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:896,1
    - Dst: tinyformat::detail::printFormatStringLiteral
      Src: /src/bitcoin-core/src/tinyformat.h:903,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:906,1
    - Dst: tinyformat::detail::streamStateFromFormat
      Src: /src/bitcoin-core/src/tinyformat.h:912,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/bitcoin-core/src/tinyformat.h:917,1
    - Dst: format
      Src: /src/bitcoin-core/src/tinyformat.h:923,1
    - Dst: std::ostringstream::copyfmt
      Src: /src/bitcoin-core/src/tinyformat.h:931,1
    - Dst: std::ostringstream::setf
      Src: /src/bitcoin-core/src/tinyformat.h:932,1
    - Dst: format
      Src: /src/bitcoin-core/src/tinyformat.h:933,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:934,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/tinyformat.h:935,1
    - Dst: width
      Src: /src/bitcoin-core/src/tinyformat.h:947,1
    - Dst: precision
      Src: /src/bitcoin-core/src/tinyformat.h:948,1
    - Dst: flags
      Src: /src/bitcoin-core/src/tinyformat.h:949,1
    - Dst: fill
      Src: /src/bitcoin-core/src/tinyformat.h:950,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - ' out'
    - fmt
    - args
    - numArgs
    argTypes:
    - std::ostream
    - char*
    - detail::FormatArg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 951
    functionName: tinyformat::detail::formatImpl
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 1
    functionsReached:
    - fill
    - width
    - std::string::size
    - flags
    - std::ostringstream::setf
    - std::ostringstream::copyfmt
    - precision
    - tinyformat::detail::streamStateFromFormat
    - format
    - TINYFORMAT_ERROR
    - std::ostringstream::str
    - tinyformat::detail::printFormatStringLiteral
    linkageType: ''
    returnType: void
    signature: "void formatImpl(std::ostream& out, const char* fmt,\n                       const
      detail::FormatArg* args,\n                       int numArgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - args
    - N
    argTypes:
    - detail::FormatArg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 966
    functionName: tinyformat::FormatList::FormatList
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatList(detail::FormatArg* args, int N)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatArg
      Src: /src/bitcoin-core/src/tinyformat.h:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - FormatArg
    linkageType: ''
    returnType: void
    signature: void FormatListN(const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 994
    functionName: tinyformat::detail::FormatListN::init
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1008
    functionName: TINYFORMAT_MAKE_FORMATLIST_CONSTRUCTOR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_MAKE_FORMATLIST_CONSTRUCTOR(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/bitcoin-core/src/tinyformat.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FormatListN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: void FormatListN(const FormatListN& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1025
    functionName: tinyformat::detail::FormatListN<0>::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatListN()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatArg
      Src: /src/bitcoin-core/src/tinyformat.h:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - FormatArg
    linkageType: ''
    returnType: void
    signature: void FormatListN(const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 994
    functionName: tinyformat::detail::FormatListN::init
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1008
    functionName: TINYFORMAT_MAKE_FORMATLIST_CONSTRUCTOR
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_MAKE_FORMATLIST_CONSTRUCTOR(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/bitcoin-core/src/tinyformat.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FormatListN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: void FormatListN(const FormatListN& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1025
    functionName: tinyformat::detail::FormatListN<0>::FormatListN
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatListN()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::FormatListN<sizeof...(args)>
      Src: /src/bitcoin-core/src/tinyformat.h:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: tinyformat::makeFormatList
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 2
    functionsReached:
    - detail::FormatListN<sizeof...(args)>
    linkageType: ''
    returnType: detail::FormatListN<sizeof...(Args)>
    signature: detail::FormatListN<sizeof...(Args)> makeFormatList(const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::FormatListN<0>
      Src: /src/bitcoin-core/src/tinyformat.h:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1053
    functionName: tinyformat::makeFormatList
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 2
    functionsReached:
    - detail::FormatListN<0>
    linkageType: ''
    returnType: detail::FormatListN<0>
    signature: detail::FormatListN<0> makeFormatList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1060
    functionName: TINYFORMAT_MAKE_MAKEFORMATLIST
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_MAKE_MAKEFORMATLIST(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::formatImpl
      Src: /src/bitcoin-core/src/tinyformat.h:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - fmt
    - list
    argTypes:
    - std::ostream
    - char*
    - FormatListRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 4
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: tinyformat::vformat
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 2
    functionsReached:
    - tinyformat::detail::formatImpl
    linkageType: ''
    returnType: void
    signature: void vformat(std::ostream& out, const char* fmt, FormatListRef list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::vformat
      Src: /src/bitcoin-core/src/tinyformat.h:1081,1
    - Dst: tinyformat::makeFormatList
      Src: /src/bitcoin-core/src/tinyformat.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - FormatStringCheck<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 5
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: tinyformat::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 6
    functionsReached:
    - tinyformat::vformat
    - tinyformat::makeFormatList
    linkageType: ''
    returnType: void
    signature: void format(std::ostream& out, FormatStringCheck<sizeof...(Args)> fmt,
      const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1090,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - FormatStringCheck<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1092
    functionName: tinyformat::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 7
    functionsReached:
    - std::ostringstream::str
    - tinyformat::format
    linkageType: ''
    returnType: std::string
    signature: std::string format(FormatStringCheck<sizeof...(Args)> fmt, const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - FormatStringCheck<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1099
    functionName: tinyformat::printf
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printf(FormatStringCheck<sizeof...(Args)> fmt, const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - FormatStringCheck<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1106
    functionName: tinyformat::printfln
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printfln(FormatStringCheck<sizeof...(Args)> fmt, const Args&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::vformat
      Src: /src/bitcoin-core/src/tinyformat.h:1113,1
    - Dst: tinyformat::makeFormatList
      Src: /src/bitcoin-core/src/tinyformat.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 5
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: tinyformat::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 9
    functionsReached:
    - tinyformat::vformat
    - tinyformat::makeFormatList
    linkageType: ''
    returnType: void
    signature: void format(std::ostream& out, const char* fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1119,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/tinyformat.h:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: tinyformat::format
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 10
    functionsReached:
    - std::ostringstream::str
    - tinyformat::format
    linkageType: ''
    returnType: std::string
    signature: std::string format(const char* fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1126
    functionName: tinyformat::printf
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printf(const char* fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/bitcoin-core/src/tinyformat.h:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1132
    functionName: tinyformat::printfln
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printfln(const char* fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1162
    functionName: TINYFORMAT_MAKE_FORMAT_FUNCS
    functionSourceFile: /src/bitcoin-core/src/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINYFORMAT_MAKE_FORMAT_FUNCS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/banman.cpp:18,1
    - Dst: BanMan::LoadBanlist
      Src: /src/bitcoin-core/src/banman.cpp:20,1
    - Dst: BanMan::DumpBanlist
      Src: /src/bitcoin-core/src/banman.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ban_file
    - client_interface
    - default_ban_time
    argTypes:
    - fs::path
    - CClientUIInterface*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: BanMan::BanMan
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 0
    functionsReached:
    - BanMan::DumpBanlist
    - BanMan::LoadBanlist
    - std::move
    linkageType: ''
    returnType: void
    signature: void BanMan::BanMan(fs::path ban_file, CClientUIInterface* client_interface,
      int64_t default_ban_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BanMan::DumpBanlist
      Src: /src/bitcoin-core/src/banman.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: BanMan::~BanMan()
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 0
    functionsReached:
    - BanMan::DumpBanlist
    linkageType: ''
    returnType: void
    signature: void BanMan::~BanMan()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:31,1
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/banman.cpp:33,1
    - Dst: _
      Src: /src/bitcoin-core/src/banman.cpp:33,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/banman.cpp:35,1
    - Dst: Read
      Src: /src/bitcoin-core/src/banman.cpp:36,1
    - Dst: BanMan::SweepBanned
      Src: /src/bitcoin-core/src/banman.cpp:37,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/banman.cpp:39,1
    - Dst: size
      Src: /src/bitcoin-core/src/banman.cpp:39,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/banman.cpp:40,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/banman.cpp:40,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/banman.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: BanMan::LoadBanlist
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 1
    functionsReached:
    - MockableSteadyClock::now
    - _
    - Ticks
    - InitMessage
    - Read
    - LogDebug
    - size
    - LogInfo
    - LOCK
    - BanMan::SweepBanned
    linkageType: ''
    returnType: void
    signature: void BanMan::LoadBanlist()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:51,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:55,1
    - Dst: BanMan::SweepBanned
      Src: /src/bitcoin-core/src/banman.cpp:56,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/banman.cpp:62,1
    - Dst: Write
      Src: /src/bitcoin-core/src/banman.cpp:63,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:64,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/banman.cpp:68,1
    - Dst: banmap_t::size
      Src: /src/bitcoin-core/src/banman.cpp:68,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/banman.cpp:69,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/banman.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: BanMan::DumpBanlist
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 2
    functionsReached:
    - MockableSteadyClock::now
    - Ticks
    - LogDebug
    - LOCK
    - Write
    - banmap_t::size
    - BanMan::SweepBanned
    linkageType: ''
    returnType: void
    signature: void BanMan::DumpBanlist()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:75,1
    - Dst: clear
      Src: /src/bitcoin-core/src/banman.cpp:76,1
    - Dst: BanMan::DumpBanlist
      Src: /src/bitcoin-core/src/banman.cpp:79,1
    - Dst: BannedListChanged
      Src: /src/bitcoin-core/src/banman.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: BanMan::ClearBanned
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 0
    functionsReached:
    - BannedListChanged
    - LOCK
    - BanMan::DumpBanlist
    - clear
    linkageType: ''
    returnType: void
    signature: void BanMan::ClearBanned()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:85,1
    - Dst: contains
      Src: /src/bitcoin-core/src/banman.cpp:86,1
    - Dst: GetAddrBytes
      Src: /src/bitcoin-core/src/banman.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' net_addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: BanMan::IsDiscouraged
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetAddrBytes
    - contains
    linkageType: ''
    returnType: bool
    signature: bool BanMan::IsDiscouraged(const CNetAddr& net_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/banman.cpp:91,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:92,1
    - Dst: CSubNet::Match
      Src: /src/bitcoin-core/src/banman.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' net_addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: BanMan::IsBanned
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetTime
    - CSubNet::Match
    linkageType: ''
    returnType: bool
    signature: bool BanMan::IsBanned(const CNetAddr& net_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/banman.cpp:106,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:107,1
    - Dst: find
      Src: /src/bitcoin-core/src/banman.cpp:108,1
    - Dst: end
      Src: /src/bitcoin-core/src/banman.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' sub_net'
    argTypes:
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: BanMan::IsBanned
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 0
    functionsReached:
    - end
    - LOCK
    - GetTime
    - find
    linkageType: ''
    returnType: bool
    signature: bool BanMan::IsBanned(const CSubNet& sub_net)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BanMan::Ban
      Src: /src/bitcoin-core/src/banman.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' net_addr'
    - ban_time_offset
    - since_unix_epoch
    argTypes:
    - CNetAddr
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: BanMan::Ban
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 1
    functionsReached:
    - BanMan::Ban
    linkageType: ''
    returnType: void
    signature: void BanMan::Ban(const CNetAddr& net_addr, int64_t ban_time_offset,
      bool since_unix_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:126,1
    - Dst: insert
      Src: /src/bitcoin-core/src/banman.cpp:127,1
    - Dst: GetAddrBytes
      Src: /src/bitcoin-core/src/banman.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' net_addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: BanMan::Discourage
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - insert
    - GetAddrBytes
    linkageType: ''
    returnType: void
    signature: void BanMan::Discourage(const CNetAddr& net_addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/banman.cpp:140,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:143,1
    - Dst: BannedListChanged
      Src: /src/bitcoin-core/src/banman.cpp:150,1
    - Dst: BanMan::DumpBanlist
      Src: /src/bitcoin-core/src/banman.cpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ' sub_net'
    - ban_time_offset
    - since_unix_epoch
    argTypes:
    - CSubNet
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 154
    functionName: BanMan::Ban
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 1
    functionsReached:
    - BannedListChanged
    - LOCK
    - GetTime
    - BanMan::DumpBanlist
    linkageType: ''
    returnType: void
    signature: void BanMan::Ban(const CSubNet& sub_net, int64_t ban_time_offset, bool
      since_unix_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BanMan::Unban
      Src: /src/bitcoin-core/src/banman.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' net_addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: BanMan::Unban
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 1
    functionsReached:
    - BanMan::Unban
    linkageType: ''
    returnType: bool
    signature: bool BanMan::Unban(const CNetAddr& net_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:165,1
    - Dst: erase
      Src: /src/bitcoin-core/src/banman.cpp:166,1
    - Dst: BannedListChanged
      Src: /src/bitcoin-core/src/banman.cpp:169,1
    - Dst: BanMan::DumpBanlist
      Src: /src/bitcoin-core/src/banman.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' sub_net'
    argTypes:
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: BanMan::Unban
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 1
    functionsReached:
    - BannedListChanged
    - LOCK
    - BanMan::DumpBanlist
    - erase
    linkageType: ''
    returnType: bool
    signature: bool BanMan::Unban(const CSubNet& sub_net)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/banman.cpp:176,1
    - Dst: BanMan::SweepBanned
      Src: /src/bitcoin-core/src/banman.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' banmap'
    argTypes:
    - banmap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: BanMan::GetBanned
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - BanMan::SweepBanned
    linkageType: ''
    returnType: void
    signature: void BanMan::GetBanned(banmap_t& banmap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/banman.cpp:184,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/banman.cpp:186,1
    - Dst: begin
      Src: /src/bitcoin-core/src/banman.cpp:188,1
    - Dst: end
      Src: /src/bitcoin-core/src/banman.cpp:189,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/banman.cpp:192,1
    - Dst: erase
      Src: /src/bitcoin-core/src/banman.cpp:193,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/banman.cpp:196,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/banman.cpp:196,1
    - Dst: BannedListChanged
      Src: /src/bitcoin-core/src/banman.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: BanMan::SweepBanned
    functionSourceFile: /src/bitcoin-core/src/banman.cpp
    functionUses: 3
    functionsReached:
    - end
    - GetTime
    - erase
    - BannedListChanged
    - LogDebug
    - CSubNet::ToString
    - AssertLockHeld
    - CSubNet::IsValid
    - begin
    linkageType: ''
    returnType: void
    signature: void BanMan::SweepBanned()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~CValidationInterface()
    functionSourceFile: /src/bitcoin-core/src/validationinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CValidationInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pindexNew
    - pindexFork
    - fInitialDownload
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: CValidationInterface::UpdatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/validationinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex
      *pindexFork, bool fInitialDownload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' tx'
    - mempool_sequence
    argTypes:
    - NewMempoolTransactionInfo
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: CValidationInterface::TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/validationinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t mempool_sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' tx'
    - reason
    - mempool_sequence
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: CValidationInterface::TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/validationinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t mempool_sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' txs_removed_for_block'
    - nBlockHeight
    argTypes:
    - std::vector<RemovedMempoolTransactionInfo>
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: CValidationInterface::MempoolTransactionsRemovedForBlock
    functionSourceFile: /src/bitcoin-core/src/validationinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MempoolTransactionsRemovedForBlock(const std::vector<RemovedMempoolTransactionInfo>&
      txs_removed_for_block, unsigned int nBlockHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - role
    - block
    - pindex
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: CValidationInterface::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/validationinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockConnected(ChainstateRole role, const std::shared_ptr<const
      CBlock> &block, const CBlockIndex *pindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - block
    - pindex
    argTypes:
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: CValidationInterface::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/validationinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockDisconnected(const std::shared_ptr<const CBlock> &block,
      const CBlockIndex* pindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - role
    - locator
    argTypes:
    - ChainstateRole
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: CValidationInterface::ChainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/validationinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainStateFlushed(ChainstateRole role, const CBlockLocator &locator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: CValidationInterface::BlockChecked
    functionSourceFile: /src/bitcoin-core/src/validationinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockChecked(const CBlock&, const BlockValidationState&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~WalletInitInterface()
    functionSourceFile: /src/bitcoin-core/src/walletinitinterface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WalletInitInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupHelpOptions
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:75,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:77,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:78,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:79,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:80,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:81,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:83,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:84,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:84,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:85,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:86,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:87,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:92,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:93,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:94,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:94,1
    - Dst: SetupChainParamsBaseOptions
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:96,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:97,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:97,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:98,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:98,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:99,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:99,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:100,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:100,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:101,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:102,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:103,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:103,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:103,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:103,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:103,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:103,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:103,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:104,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:105,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:106,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:106,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:107,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:108,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:109,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 111
    functionName: SetupCliArgs
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - CreateBaseChainParams
    - SetupChainParamsBaseOptions
    - SetupHelpOptions
    - auto::RPCPort
    - strprintf
    - AddArg
    linkageType: ''
    returnType: void
    signature: void SetupCliArgs(ArgsManager& argsman)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsArgNegated
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:116,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: RpcWalletName
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - GetArg
    - IsArgNegated
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> RpcWalletName(const ArgsManager& args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - severity
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: libevent_log_cb
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - strprintf
    linkageType: ''
    returnType: void
    signature: void libevent_log_cb(int severity, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: CConnectionFailed
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CConnectionFailed(const std::string& msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SetupCliArgs
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:145,1
    - Dst: ParseParameters
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:147,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:148,1
    - Dst: HelpRequested
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:151,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:151,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:152,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:154,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:155,1
    - Dst: LicenseInfo
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:155,1
    - Dst: GetHelpMessage
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:168,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:171,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:173,1
    - Dst: CheckDataDirOption
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:178,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:179,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:179,1
    - Dst: ReadConfigFiles
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:182,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:183,1
    - Dst: SelectBaseParams
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:188,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:188,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:190,1
    - Dst: what
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 194
    functionName: AppInitRPC
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - SelectBaseParams
    - HelpRequested
    - GetHelpMessage
    - tinyformat::detail::FormatArg::format
    - ParseParameters
    - GetArg
    - FormatParagraph
    - CheckDataDirOption
    - FormatFullVersion
    - SetupCliArgs
    - LicenseInfo
    - ReadConfigFiles
    - GetChainType
    - GetBoolArg
    - what
    linkageType: ''
    returnType: int
    signature: int AppInitRPC(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: HTTPReply
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPReply()
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: http_errorstring
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string http_errorstring(int code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HTTPReply*>
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:229,1
    - Dst: evhttp_request_get_response_code
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:239,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:241,1
    - Dst: evbuffer_get_length
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:244,1
    - Dst: evbuffer_pullup
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:245,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:247,1
    - Dst: evbuffer_drain
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - req
    - ctx
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 250
    functionName: http_request_done
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - evhttp_request_get_response_code
    - evbuffer_pullup
    - evhttp_request_get_input_buffer
    - evbuffer_get_length
    - std::string
    - evbuffer_drain
    - static_cast<HTTPReply*>
    linkageType: ''
    returnType: void
    signature: void http_request_done(struct evhttp_request *req, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HTTPReply*>
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - err
    - ctx
    argTypes:
    - enum evhttp_request_error
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: http_error_cb
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HTTPReply*>
    linkageType: ''
    returnType: void
    signature: void http_error_cb(enum evhttp_request_error err, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: NetworkStringToId
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int8_t
    signature: int8_t NetworkStringToId(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: ~BaseRequestHandler()
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseRequestHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:279,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:280,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:282,1
    - Dst: JSONRPCRequestObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' method'
    - ' args'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: PrepareRequest
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - RPCConvertValues
    - JSONRPCRequestObj
    - std::runtime_error
    - empty
    linkageType: ''
    returnType: UniValue
    signature: UniValue PrepareRequest(const std::string& method, const std::vector<std::string>&
      args) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:288,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:289,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:290,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:290,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:290,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:291,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:294,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:296,1
    - Dst: NetworkStringToId
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:297,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:299,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:304,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:305,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:305,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:306,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:308,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:309,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:309,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:310,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ' reply'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 311
    functionName: ProcessReply
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - getValues
    - pushKV
    - std::array::at
    - empty
    - at
    - std::runtime_error
    - size
    - std::move
    - isNull
    - UniValue::pushKV
    - NetworkStringToId
    - get_str
    - JSONRPCReplyObj
    linkageType: ''
    returnType: UniValue
    signature: UniValue ProcessReply(const UniValue& reply) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:324,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:325,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:328,1
    - Dst: JSONRPCRequestObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:328,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:329,1
    - Dst: JSONRPCRequestObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:329,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:330,1
    - Dst: JSONRPCRequestObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:330,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:331,1
    - Dst: JSONRPCRequestObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' method'
    - ' args'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 333
    functionName: PrepareRequest
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCRequestObj
    - std::runtime_error
    - UniValue::push_back
    - empty
    linkageType: ''
    returnType: UniValue
    signature: UniValue PrepareRequest(const std::string& method, const std::vector<std::string>&
      args) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCProcessBatchReply
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:339,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:342,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:345,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:348,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:349,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:350,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:351,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:352,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:355,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:356,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:357,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:358,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:358,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:360,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:361,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:362,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:362,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:363,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:364,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:365,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:366,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:367,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:368,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:370,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:372,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:373,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:375,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:376,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:377,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - batch_in
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: ProcessReply
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - isNull
    - UniValue::pushKV
    - UniValue
    - JSONRPCProcessBatchReply
    - JSONRPCReplyObj
    linkageType: ''
    returnType: UniValue
    signature: UniValue ProcessReply(const UniValue &batch_in) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 389
    functionName: NetinfoRequestHandler::DetailsRequested
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DetailsRequested() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: NetinfoRequestHandler::IsAddressSelected
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsAddressSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: NetinfoRequestHandler::IsVersionSelected
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsVersionSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:424,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Peer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: operator<(const Peer& rhs) const
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Peer& rhs) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:429,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/bitcoin-core/src/bitcoin-cli.cpp
    constantsTouched: []
    func_position:
      end: 442
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 442
    functionName: NetinfoRequestHandler::ChainToString
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GetChainType
    linkageType: ''
    returnType: std::string
    signature: std::string ChainToString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: round
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:446,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: NetinfoRequestHandler::PingTimeToString
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - round
    - ToString
    linkageType: ''
    returnType: std::string
    signature: std::string PingTimeToString(double seconds) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' conn_type'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: NetinfoRequestHandler::ConnectionTypeForNetinfo
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ConnectionTypeForNetinfo(const std::string& conn_type)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:460,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:461,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' services'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: NetinfoRequestHandler::FormatServices
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - get_str
    - ToLower
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string FormatServices(const UniValue& services)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:473,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:475,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:475,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:479,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:479,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:479,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:481,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:482,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:485,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:485,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:487,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:487,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:492,1
    - Dst: JSONRPCRequestObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:492,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:493,1
    - Dst: JSONRPCRequestObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:493,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' method'
    - ' args'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 495
    functionName: NetinfoRequestHandler::PrepareRequest
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - empty
    - JSONRPCRequestObj
    - at
    - std::runtime_error
    - UniValue::push_back
    - size
    - ToIntegral
    - strprintf
    - std::min
    linkageType: ''
    returnType: UniValue
    signature: UniValue PrepareRequest(const std::string& method, const std::vector<std::string>&
      args) override
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCProcessBatchReply
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:499,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:500,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:501,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:504,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:505,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:507,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:507,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:510,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:511,1
    - Dst: NetworkStringToId
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:512,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:514,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:515,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:515,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:516,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:517,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:518,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:518,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:519,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:520,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:520,1
    - Dst: NetinfoRequestHandler::DetailsRequested
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:524,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:526,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:527,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:527,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:528,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:529,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:529,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:530,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:530,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:531,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:532,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:533,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:534,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:535,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:536,1
    - Dst: get_real
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:536,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:537,1
    - Dst: get_real
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:537,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:538,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:539,1
    - Dst: NetinfoRequestHandler::FormatServices
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:540,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:541,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:542,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:542,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:543,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:543,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:544,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:545,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:546,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:547,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:547,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:548,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:548,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:549,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:549,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:550,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:550,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:551,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:551,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:552,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:552,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:558,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:558,1
    - Dst: NetinfoRequestHandler::ChainToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:558,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:558,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:558,1
    - Dst: NetinfoRequestHandler::DetailsRequested
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:561,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:561,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:562,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:562,1
    - Dst: end
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:562,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:563,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:569,1
    - Dst: NetinfoRequestHandler::IsAddressSelected
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:569,1
    - Dst: NetinfoRequestHandler::IsAddressSelected
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:569,1
    - Dst: NetinfoRequestHandler::IsVersionSelected
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:569,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:571,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:572,1
    - Dst: NetinfoRequestHandler::ConnectionTypeForNetinfo
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:575,1
    - Dst: transport_protocol_type::size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:579,1
    - Dst: NetinfoRequestHandler::PingTimeToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:580,1
    - Dst: NetinfoRequestHandler::PingTimeToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:581,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:582,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:583,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:584,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:585,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:586,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:588,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:590,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:594,1
    - Dst: NetinfoRequestHandler::IsAddressSelected
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:597,1
    - Dst: NetinfoRequestHandler::IsAddressSelected
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:598,1
    - Dst: NetinfoRequestHandler::IsVersionSelected
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:599,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:601,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:607,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:608,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:609,1
    - Dst: NetworkStringToId
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:610,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:612,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:613,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:618,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:619,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:619,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:620,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:627,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:628,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:630,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:630,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:632,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:632,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:632,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:634,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:635,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:641,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:642,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:647,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:647,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:650,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:650,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:650,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:650,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:654,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 79
    argCount: 1
    argNames:
    - ' batch_in'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 655
    functionName: NetinfoRequestHandler::ProcessReply
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - transport_protocol_type::size
    - begin
    - at
    - NetinfoRequestHandler::FormatServices
    - TicksSinceEpoch
    - std::vector::push_back
    - FormatFullVersion
    - NetinfoRequestHandler::IsVersionSelected
    - getValues
    - ToString
    - std::string::length
    - std::runtime_error
    - wallet::WalletRescanReserver::now
    - get_real
    - empty
    - NetinfoRequestHandler::IsAddressSelected
    - isNull
    - strprintf
    - get_bool
    - get_str
    - JSONRPCProcessBatchReply
    - JSONRPCReplyObj
    - end
    - NetinfoRequestHandler::ConnectionTypeForNetinfo
    - NetinfoRequestHandler::DetailsRequested
    - push_back
    - size
    - std::max
    - NetinfoRequestHandler::ChainToString
    - std::array::size
    - NetinfoRequestHandler::PingTimeToString
    - NetworkStringToId
    - std::sort
    - getInt
    linkageType: ''
    returnType: UniValue
    signature: UniValue ProcessReply(const UniValue& batch_in) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:744,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:745,1
    - Dst: JSONRPCRequestObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' method'
    - ' args'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 747
    functionName: GenerateToAddressRequestHandler::PrepareRequest
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - RPCConvertValues
    - JSONRPCRequestObj
    - at
    linkageType: ''
    returnType: UniValue
    signature: UniValue PrepareRequest(const std::string& method, const std::vector<std::string>&
      args) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:752,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:753,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:753,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:754,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - reply
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 755
    functionName: GenerateToAddressRequestHandler::ProcessReply
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - UniValue::get_obj
    - JSONRPCReplyObj
    - UniValue::pushKV
    - std::move
    linkageType: ''
    returnType: UniValue
    signature: UniValue ProcessReply(const UniValue &reply) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:764,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:765,1
    - Dst: RPCConvertNamedValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:766,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:768,1
    - Dst: JSONRPCRequestObj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' method'
    - ' args'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 771
    functionName: PrepareRequest
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - RPCConvertNamedValues
    - JSONRPCRequestObj
    - UniValue::UniValue
    - RPCConvertValues
    - GetBoolArg
    linkageType: ''
    returnType: UniValue
    signature: UniValue PrepareRequest(const std::string& method, const std::vector<std::string>&
      args) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reply
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 776
    functionName: ProcessReply
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - UniValue::get_obj
    linkageType: ''
    returnType: UniValue
    signature: UniValue ProcessReply(const UniValue &reply) override
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BaseParams
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:786,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:789,1
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:790,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:794,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:794,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:802,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:804,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:804,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:809,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:809,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:809,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:818,1
    - Dst: obtain_event_base
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:824,1
    - Dst: obtain_evhttp_connection_base
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:827,1
    - Dst: raii_event_base::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:827,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:831,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:833,1
    - Dst: raii_evhttp_connection::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:833,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:839,1
    - Dst: raii_evhttp_connection::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:839,1
    - Dst: obtain_evhttp_request
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:844,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:846,1
    - Dst: evhttp_request_set_error_cb
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:849,1
    - Dst: raii_evhttp_request::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:849,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:854,1
    - Dst: GetAuthCookie
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:856,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:860,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:860,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:863,1
    - Dst: raii_evhttp_request::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:863,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:864,1
    - Dst: evhttp_add_header
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:865,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:865,1
    - Dst: evhttp_add_header
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:866,1
    - Dst: evhttp_add_header
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:867,1
    - Dst: evhttp_add_header
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:868,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:868,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:868,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:868,1
    - Dst: BaseRequestHandler*::PrepareRequest
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:871,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:872,1
    - Dst: raii_evhttp_request::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:872,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:873,1
    - Dst: evbuffer_add
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:874,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:874,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:874,1
    - Dst: evhttp_uriencode
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:879,1
    - Dst: data
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:879,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:879,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:881,1
    - Dst: free
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:882,1
    - Dst: CConnectionFailed
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:884,1
    - Dst: evhttp_make_request
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:887,1
    - Dst: raii_evhttp_connection::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:887,1
    - Dst: raii_evhttp_request::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:887,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:887,1
    - Dst: raii_evhttp_request::release
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:888,1
    - Dst: CConnectionFailed
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:890,1
    - Dst: event_base_dispatch
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:893,1
    - Dst: raii_event_base::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:893,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:898,1
    - Dst: http_errorstring
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:898,1
    - Dst: CConnectionFailed
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:900,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:900,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:906,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:906,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:908,1
    - Dst: GetConfigFilePath
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:908,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:910,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:913,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:913,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:915,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:915,1
    - Dst: HTTPReply::body::empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:916,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:917,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:921,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:922,1
    - Dst: BaseRequestHandler*::ProcessReply
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:923,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:924,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:925,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 80
    argCount: 3
    argNames:
    - rh
    - ' strMethod'
    - ' args'
    argTypes:
    - BaseRequestHandler*
    - std::string
    - std::vector<std::string>
    assertStmts:
    - condition: (output_buffer)
      pos:
        line_end: 872
        line_start: 872
        source_file: /src/bitcoin-core/src/bitcoin-cli.cpp
    - condition: (output_headers)
      pos:
        line_end: 863
        line_start: 863
        source_file: /src/bitcoin-core/src/bitcoin-cli.cpp
    constantsTouched: []
    func_position:
      end: 928
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 928
    functionName: CallRPC
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - GetArg
    - EncodeBase64
    - std::string
    - data
    - ToIntegral
    - evhttp_request_get_output_headers
    - HTTPReply::body::empty
    - UniValue::empty
    - evhttp_request_get_output_buffer
    - CConnectionFailed
    - tinyformat::detail::FormatArg::format
    - std::runtime_error
    - SplitHostPort
    - BaseRequestHandler*::PrepareRequest
    - obtain_event_base
    - raii_evhttp_connection::get
    - BaseRequestHandler*::ProcessReply
    - free
    - fs::PathToString
    - UniValue::read
    - GetConfigFilePath
    - evhttp_uriencode
    - raii_evhttp_request::release
    - evhttp_connection_set_timeout
    - strprintf
    - event_base_dispatch
    - evhttp_request_set_error_cb
    - evhttp_add_header
    - obtain_evhttp_request
    - assert
    - std::string::c_str
    - c_str
    - http_errorstring
    - std::string::size
    - evhttp_make_request
    - raii_evhttp_request::get
    - GetIntArg
    - evbuffer_add
    - size
    - std::optional::value
    - obtain_evhttp_connection_base
    - GetAuthCookie
    - raii_event_base::get
    - BaseParams
    linkageType: ''
    returnType: UniValue
    signature: UniValue CallRPC(BaseRequestHandler* rh, const std::string& strMethod,
      const std::vector<std::string>& args, const std::optional<std::string>& rpcwallet
      = {})
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:943,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:944,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:945,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:949,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:951,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:952,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:952,1
    - Dst: CConnectionFailed
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:953,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:958,1
    - Dst: UninterruptibleSleep
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:959,1
    - Dst: CConnectionFailed
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:961,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:961,1
    - Dst: what
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:961,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - rh
    - ' strMethod'
    - ' args'
    argTypes:
    - BaseRequestHandler*
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 966
    functionName: ConnectAndCallRPC
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - CConnectionFailed
    - UninterruptibleSleep
    - strprintf
    - GetIntArg
    - wallet::WalletRescanReserver::now
    - isNull
    - UniValue::find_value
    - CallRPC
    - what
    - GetBoolArg
    - getInt
    linkageType: ''
    returnType: UniValue
    signature: UniValue ConnectAndCallRPC(BaseRequestHandler* rh, const std::string&
      strMethod, const std::vector<std::string>& args, const std::optional<std::string>&
      rpcwallet = {})
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:971,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:972,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:972,1
    - Dst: write
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' strPrint'
    argTypes:
    - UniValue
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 973
    functionName: ParseResult
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - get_str
    - isNull
    - write
    - isStr
    linkageType: ''
    returnType: void
    signature: void ParseResult(const UniValue& result, std::string& strPrint)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isObject
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:978,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:979,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:980,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:981,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:982,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:984,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:985,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:987,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:987,1
    - Dst: write
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:992,1
    - Dst: abs
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:994,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - ' error'
    - ' strPrint'
    - ' nRet'
    argTypes:
    - UniValue
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 995
    functionName: ParseError
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - getValStr
    - write
    - find_value
    - isObject
    - isNum
    - isNull
    - isStr
    - get_str
    - abs
    - getInt
    linkageType: ''
    returnType: void
    signature: void ParseError(const UniValue& error, std::string& strPrint, int&
      nRet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConnectAndCallRPC
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1006,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1007,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1008,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1009,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1012,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1013,1
    - Dst: ConnectAndCallRPC
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1014,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1015,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1016,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1018,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1003
    functionDepth: 2
    functionLinenumber: 1003
    functionLinenumberEnd: 1019
    functionName: GetWalletBalances
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - getValues
    - pushKV
    - ConnectAndCallRPC
    - size
    - std::move
    - UniValue::find_value
    - UniValue::pushKV
    - get_str
    linkageType: ''
    returnType: void
    signature: void GetWalletBalances(UniValue& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - progress
    - ' progress_bar'
    argTypes:
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1042
    functionName: GetProgressBar
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetProgressBar(double progress, std::string& progress_bar)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1051,1
    - Dst: isatty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1057,1
    - Dst: fileno
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1057,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1064,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1070,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1083,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1083,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1084,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1084,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1085,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1085,1
    - Dst: get_real
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1087,1
    - Dst: GetProgressBar
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1091,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1096,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1097,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1097,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1099,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1102,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1103,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1104,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1106,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1106,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1107,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1107,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1113,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1114,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1115,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1117,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1117,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1117,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1119,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1119,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1123,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1123,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1125,1
    - Dst: Join
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1125,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1127,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1127,1
    - Dst: Join
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1127,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1129,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1129,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1131,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1132,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1133,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1133,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1135,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1135,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1136,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1137,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1137,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1139,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1139,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1141,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1142,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1142,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1145,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1146,1
    - Dst: getKeys
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1150,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1151,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1151,1
    - Dst: getKeys
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1154,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1155,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1157,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1158,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1163,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1164,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1164,1
    - Dst: setStr
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1166,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1167
    functionName: ParseGetInfoResult
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - getValStr
    - std::vector::emplace_back
    - find_value
    - GetArg
    - std::string::empty
    - Join
    - std::vector::push_back
    - isatty
    - std::map::find
    - getValues
    - fileno
    - std::runtime_error
    - std::vector::reserve
    - std::vector::empty
    - std::vector::size
    - get_real
    - GetProgressBar
    - empty
    - getKeys
    - isNull
    - strprintf
    - std::map::end
    - setStr
    - push_back
    - std::max
    linkageType: ''
    returnType: void
    signature: void ParseGetInfoResult(UniValue& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConnectAndCallRPC
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1176,1
    - Dst: RpcWalletName
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1173
    functionDepth: 2
    functionLinenumber: 1173
    functionLinenumberEnd: 1177
    functionName: GetNewAddress
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - ConnectAndCallRPC
    - RpcWalletName
    linkageType: ''
    returnType: UniValue
    signature: UniValue GetNewAddress()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1186,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1186,1
    - Dst: size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1187,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1188,1
    - Dst: at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1189,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1190,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1192,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' address'
    - ' args'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1193
    functionName: SetGenerateToAddressArgs
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::runtime_error
    - at
    - size
    - emplace_back
    - begin
    linkageType: ''
    returnType: void
    signature: void SetGenerateToAddressArgs(const std::string& address, std::vector<std::string>&
      args)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: IsSwitchChar
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1201,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1206,1
    - Dst: NO_STDIN_ECHO
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1207,1
    - Dst: StdinReady
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1208,1
    - Dst: fputs
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1209,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1210,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1212,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1213,1
    - Dst: StdinTerminal
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1215,1
    - Dst: fputc
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1216,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1218,1
    - Dst: std::vector<std::string>
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1220,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1221,1
    - Dst: NO_STDIN_ECHO
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1222,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1224,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1224,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1225,1
    - Dst: StdinReady
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1227,1
    - Dst: fputs
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1228,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1229,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1231,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1232,1
    - Dst: StdinTerminal
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1234,1
    - Dst: fputc
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1235,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1237,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1237,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1239,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1242,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1243,1
    - Dst: StdinTerminal
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1245,1
    - Dst: fputc
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1246,1
    - Dst: CheckMultipleCLIArgs
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1249,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1252,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1253,1
    - Dst: GetinfoRequestHandler::GetinfoRequestHandler
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1253,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1254,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1255,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1255,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1255,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1256,1
    - Dst: NetinfoRequestHandler
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1256,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1259,1
    - Dst: NetinfoRequestHandler::NetinfoRequestHandler
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1259,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1260,1
    - Dst: GetNewAddress
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1261,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1262,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1263,1
    - Dst: SetGenerateToAddressArgs
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1264,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1264,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1265,1
    - Dst: GenerateToAddressRequestHandler::GenerateToAddressRequestHandler
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1265,1
    - Dst: ParseError
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1267,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1269,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1270,1
    - Dst: AddrinfoRequestHandler::AddrinfoRequestHandler
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1270,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1272,1
    - Dst: DefaultRequestHandler::DefaultRequestHandler
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1272,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1273,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1274,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1277,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1277,1
    - Dst: RpcWalletName
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1281,1
    - Dst: ConnectAndCallRPC
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1282,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1282,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1285,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1286,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1287,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1288,1
    - Dst: GetWalletBalances
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1290,1
    - Dst: ParseGetInfoResult
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1292,1
    - Dst: ParseResult
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1295,1
    - Dst: ParseError
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1297,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1301,1
    - Dst: what
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1301,1
    - Dst: PrintExceptionContinue
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1304,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-cli.cpp:1309,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 98
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1195
    functionDepth: 3
    functionLinenumber: 1195
    functionLinenumberEnd: 1312
    functionName: CommandLineRPC
    functionSourceFile: /src/bitcoin-core/src/bitcoin-cli.cpp
    functionUses: 0
    functionsReached:
    - IsSwitchChar
    - DefaultRequestHandler::DefaultRequestHandler
    - ConnectAndCallRPC
    - std::string
    - std::vector::push_back
    - fflush
    - StdinReady
    - what
    - std::getline
    - ParseResult
    - NetinfoRequestHandler
    - SetGenerateToAddressArgs
    - NO_STDIN_ECHO
    - ForceSetArg
    - std::unique_ptr::reset
    - GenerateToAddressRequestHandler::GenerateToAddressRequestHandler
    - tinyformat::detail::FormatArg::format
    - std::runtime_error
    - StdinTerminal
    - starts_with
    - GetWalletBalances
    - std::vector::insert
    - fputc
    - std::vector::empty
    - std::vector::size
    - NetinfoRequestHandler::NetinfoRequestHandler
    - std::unique_ptr::get
    - PrintExceptionContinue
    - GetNewAddress
    - std::vector::erase
    - CheckMultipleCLIArgs
    - isNull
    - fputs
    - std::vector::at
    - RpcWalletName
    - std::vector::begin
    - ParseError
    - std::vector<std::string>
    - GetinfoRequestHandler::GetinfoRequestHandler
    - UniValue::find_value
    - GetBoolArg
    - ParseGetInfoResult
    - AddrinfoRequestHandler::AddrinfoRequestHandler
    linkageType: ''
    returnType: int
    signature: int CommandLineRPC(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/i2p.cpp:45,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:45,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: i2p::SwapBase64
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - std::string::resize
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string SwapBase64(const std::string& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::SwapBase64
      Src: /src/bitcoin-core/src/i2p.cpp:76,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/i2p.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:79,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:79,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' i2p_b64'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: i2p::DecodeI2PBase64
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - DecodeBase64
    - std::runtime_error
    - std::move
    - i2p::SwapBase64
    - strprintf
    linkageType: ''
    returnType: Binary
    signature: Binary DecodeI2PBase64(const std::string& i2p_b64)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256::CSHA256
      Src: /src/bitcoin-core/src/i2p.cpp:92,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/i2p.cpp:93,1
    - Dst: data
      Src: /src/bitcoin-core/src/i2p.cpp:93,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:93,1
    - Dst: CSHA256::Finalize
      Src: /src/bitcoin-core/src/i2p.cpp:95,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/i2p.cpp:97,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/i2p.cpp:98,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/i2p.cpp:99,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:100,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - Binary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: i2p::DestBinToAddr
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - EncodeBase32
    - CNetAddr::CNetAddr
    - std::runtime_error
    - CSHA256::Finalize
    - size
    - data
    - CSHA256::CSHA256
    - CNetAddr::SetSpecial
    - strprintf
    - CSHA256::Write
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr DestBinToAddr(const Binary& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2p::DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:114,1
    - Dst: i2p::DestBinToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: i2p::DestB64ToAddr
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - i2p::DestBinToAddr
    - i2p::DecodeI2PBase64
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr DestB64ToAddr(const std::string& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' private_key_file'
    - ' control_host'
    - interrupt
    argTypes:
    - fs::path
    - Proxy
    - CThreadInterrupt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: i2p::sam::Session::Session
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Session::Session(const fs::path& private_key_file,\n                 const
      Proxy& control_host,\n                 CThreadInterrupt* interrupt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' control_host'
    - interrupt
    argTypes:
    - Proxy
    - CThreadInterrupt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: i2p::sam::Session::Session
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session::Session(const Proxy& control_host, CThreadInterrupt*
      interrupt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:139,1
    - Dst: Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Session::~Session()
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Disconnect
    linkageType: ''
    returnType: void
    signature: void Session::~Session()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:146,1
    - Dst: i2p::sam::Session::CreateIfNotCreatedAlready
      Src: /src/bitcoin-core/src/i2p.cpp:147,1
    - Dst: i2p::sam::Session::StreamAccept
      Src: /src/bitcoin-core/src/i2p.cpp:149,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:152,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:152,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: i2p::sam::Session::Listen
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - i2p::sam::Session::CreateIfNotCreatedAlready
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - i2p::sam::Session::StreamAccept
    - what
    linkageType: ''
    returnType: bool
    signature: bool Session::Listen(Connection& conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/i2p.cpp:160,1
    - Dst: sock::Wait
      Src: /src/bitcoin-core/src/i2p.cpp:167,1
    - Dst: sock::RecvUntilTerminator
      Src: /src/bitcoin-core/src/i2p.cpp:179,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:181,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/i2p.cpp:185,1
    - Dst: DestB64ToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:187,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/i2p.cpp:194,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:195,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:198,1
    - Dst: CService
      Src: /src/bitcoin-core/src/i2p.cpp:203,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:209,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:211,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:214,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:215,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:217,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: i2p::sam::Session::Accept
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - DestB64ToAddr
    - LogPrintLevel
    - sock::Wait
    - i2p::sam::Session::Disconnect
    - CNetAddr::CNetAddr
    - AssertLockNotHeld
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - std::string::find
    - what
    - strprintf
    - sock::RecvUntilTerminator
    - CService
    linkageType: ''
    returnType: bool
    signature: bool Session::Accept(Connection& conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetPort
      Src: /src/bitcoin-core/src/i2p.cpp:226,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: GetPort
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:240,1
    - Dst: i2p::sam::Session::CreateIfNotCreatedAlready
      Src: /src/bitcoin-core/src/i2p.cpp:241,1
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:244,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:250,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:252,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:253,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:256,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:259,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:264,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:265,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:266,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:273,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:273,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ' to'
    - ' conn'
    - ' proxy_error'
    argTypes:
    - CService
    - Connection
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 279
    functionName: i2p::sam::Session::Connect
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - ToStringAddrPort
    - strprintf
    - i2p::sam::Session::Disconnect
    - Get
    - std::runtime_error
    - i2p::sam::Session::CreateIfNotCreatedAlready
    - std::move
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - GetPort
    - i2p::sam::Session::Hello
    - i2p::sam::Session::SendRequestAndGetReply
    - what
    - ToStringAddr
    linkageType: ''
    returnType: bool
    signature: bool Session::Connect(const CService& to, Connection& conn, bool& proxy_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/i2p.cpp:285,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:286,1
    - Dst: second::has_value
      Src: /src/bitcoin-core/src/i2p.cpp:286,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:287,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:288,1
    - Dst: second::value
      Src: /src/bitcoin-core/src/i2p.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: Session::Reply::Get(const std::string& key) const
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::runtime_error
    - strprintf
    - second::has_value
    - find
    - second::value
    linkageType: ''
    returnType: std::string
    signature: std::string Session::Reply::Get(const std::string& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SendComplete
      Src: /src/bitcoin-core/src/i2p.cpp:297,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/i2p.cpp:302,1
    - Dst: RecvUntilTerminator
      Src: /src/bitcoin-core/src/i2p.cpp:310,1
    - Dst: Split
      Src: /src/bitcoin-core/src/i2p.cpp:312,1
    - Dst: indirectmap::find
      Src: /src/bitcoin-core/src/i2p.cpp:313,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:314,1
    - Dst: Reply::keys::emplace
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: Reply::keys::emplace
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: Reply::Get
      Src: /src/bitcoin-core/src/i2p.cpp:321,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:322,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' sock'
    - ' request'
    - check_result_ok
    argTypes:
    - Sock
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 327
    functionName: i2p::sam::Session::SendRequestAndGetReply
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - end
    - SendComplete
    - starts_with
    - std::runtime_error
    - RecvUntilTerminator
    - Reply::keys::emplace
    - Split
    - strprintf
    - Reply::Get
    - indirectmap::find
    - begin
    linkageType: ''
    returnType: Session::Reply
    signature: "Session::Reply Session::SendRequestAndGetReply(const Sock& sock,\n
      \                                              const std::string& request,\n
      \                                              bool check_result_ok) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::Connect
      Src: /src/bitcoin-core/src/i2p.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: i2p::sam::Session::Hello
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - std::runtime_error
    - strprintf
    - i2p::sam::Session::SendRequestAndGetReply
    - i2p::sam::Session::Connect
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Session::Hello() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:344,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/i2p.cpp:347,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:348,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: i2p::sam::Session::CheckControlSock
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 3
    functionsReached:
    - LogPrintLevel
    - LOCK
    - i2p::sam::Session::Disconnect
    - IsConnected
    linkageType: ''
    returnType: void
    signature: void Session::CheckControlSock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:359,1
    - Dst: DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:361,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: i2p::sam::Session::DestGenerate
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - i2p::sam::Session::SendRequestAndGetReply
    - DecodeI2PBase64
    - Get
    linkageType: ''
    returnType: void
    signature: void Session::DestGenerate(const Sock& sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::DestGenerate
      Src: /src/bitcoin-core/src/i2p.cpp:366,1
    - Dst: WriteBinaryFile
      Src: /src/bitcoin-core/src/i2p.cpp:369,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:371,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: i2p::sam::Session::GenerateAndSavePrivateKey
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - end
    - WriteBinaryFile
    - fs::quoted
    - std::runtime_error
    - i2p::sam::Session::DestGenerate
    - std::string
    - strprintf
    - begin
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void Session::GenerateAndSavePrivateKey(const Sock& sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:386,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:387,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:387,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:388,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/i2p.cpp:392,1
    - Dst: at
      Src: /src/bitcoin-core/src/i2p.cpp:392,1
    - Dst: be16toh_internal
      Src: /src/bitcoin-core/src/i2p.cpp:393,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:397,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:398,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:398,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:402,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:405,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 406
    functionName: i2p::sam::Session::MyDestination
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::runtime_error
    - size
    - memcpy
    - be16toh_internal
    - strprintf
    - begin
    linkageType: ''
    returnType: Binary
    signature: Binary Session::MyDestination() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/i2p.cpp:411,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/i2p.cpp:416,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:418,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/i2p.cpp:418,1
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:420,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:425,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:427,1
    - Dst: DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:431,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:431,1
    - Dst: ReadBinaryFile
      Src: /src/bitcoin-core/src/i2p.cpp:435,1
    - Dst: assign
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: i2p::sam::Session::GenerateAndSavePrivateKey
      Src: /src/bitcoin-core/src/i2p.cpp:439,1
    - Dst: SwapBase64
      Src: /src/bitcoin-core/src/i2p.cpp:442,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/i2p.cpp:442,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:444,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:445,1
    - Dst: CService
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: DestBinToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: i2p::sam::Session::MyDestination
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:453,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:455,1
    - Dst: Capitalize
      Src: /src/bitcoin-core/src/i2p.cpp:456,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 408
    functionDepth: 5
    functionLinenumber: 408
    functionLinenumberEnd: 459
    functionName: i2p::sam::Session::CreateIfNotCreatedAlready
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 2
    functionsReached:
    - Get
    - EncodeBase64
    - std::move
    - i2p::sam::Session::Hello
    - ToStringAddrPort
    - ToString
    - Capitalize
    - i2p::sam::Session::GenerateAndSavePrivateKey
    - ReadBinaryFile
    - CService
    - DecodeI2PBase64
    - SwapBase64
    - strprintf
    - LogPrintLevel
    - end
    - assign
    - GetRandHash
    - IsConnected
    - i2p::sam::Session::SendRequestAndGetReply
    - begin
    - i2p::sam::Session::MyDestination
    - DestBinToAddr
    linkageType: ''
    returnType: void
    signature: void Session::CreateIfNotCreatedAlready()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:463,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:465,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:466,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:468,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:476,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:479,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: i2p::sam::Session::StreamAccept
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - i2p::sam::Session::Disconnect
    - std::runtime_error
    - i2p::sam::Session::Hello
    - strprintf
    - i2p::sam::Session::SendRequestAndGetReply
    - Get
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Session::StreamAccept()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/i2p.cpp:485,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:486,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:488,1
    - Dst: reset
      Src: /src/bitcoin-core/src/i2p.cpp:490,1
    - Dst: clear
      Src: /src/bitcoin-core/src/i2p.cpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: i2p::sam::Session::Disconnect
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 4
    functionsReached:
    - LogPrintLevel
    - clear
    - reset
    - empty
    linkageType: ''
    returnType: void
    signature: void Session::Disconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' private_key_file'
    - ' control_host'
    - interrupt
    argTypes:
    - fs::path
    - Proxy
    - CThreadInterrupt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: i2p::sam::Session::Session
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Session::Session(const fs::path& private_key_file,\n                 const
      Proxy& control_host,\n                 CThreadInterrupt* interrupt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' control_host'
    - interrupt
    argTypes:
    - Proxy
    - CThreadInterrupt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: i2p::sam::Session::Session
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session::Session(const Proxy& control_host, CThreadInterrupt*
      interrupt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:139,1
    - Dst: Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Session::~Session()
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Disconnect
    linkageType: ''
    returnType: void
    signature: void Session::~Session()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:146,1
    - Dst: i2p::sam::Session::CreateIfNotCreatedAlready
      Src: /src/bitcoin-core/src/i2p.cpp:147,1
    - Dst: i2p::sam::Session::StreamAccept
      Src: /src/bitcoin-core/src/i2p.cpp:149,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:152,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:152,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 6
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: i2p::sam::Session::Listen
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - i2p::sam::Session::CreateIfNotCreatedAlready
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - i2p::sam::Session::StreamAccept
    - what
    linkageType: ''
    returnType: bool
    signature: bool Session::Listen(Connection& conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/i2p.cpp:160,1
    - Dst: sock::Wait
      Src: /src/bitcoin-core/src/i2p.cpp:167,1
    - Dst: sock::RecvUntilTerminator
      Src: /src/bitcoin-core/src/i2p.cpp:179,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:181,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/i2p.cpp:185,1
    - Dst: DestB64ToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:187,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/i2p.cpp:194,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:195,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:198,1
    - Dst: CService
      Src: /src/bitcoin-core/src/i2p.cpp:203,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:209,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:211,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:214,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:215,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:217,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: i2p::sam::Session::Accept
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - DestB64ToAddr
    - LogPrintLevel
    - sock::Wait
    - i2p::sam::Session::Disconnect
    - CNetAddr::CNetAddr
    - AssertLockNotHeld
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - std::string::find
    - what
    - strprintf
    - sock::RecvUntilTerminator
    - CService
    linkageType: ''
    returnType: bool
    signature: bool Session::Accept(Connection& conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetPort
      Src: /src/bitcoin-core/src/i2p.cpp:226,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: GetPort
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:240,1
    - Dst: i2p::sam::Session::CreateIfNotCreatedAlready
      Src: /src/bitcoin-core/src/i2p.cpp:241,1
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:244,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:250,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:252,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:253,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:256,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:259,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:264,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:265,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:266,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:273,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:273,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ' to'
    - ' conn'
    - ' proxy_error'
    argTypes:
    - CService
    - Connection
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 279
    functionName: i2p::sam::Session::Connect
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - LogPrintLevel
    - ToStringAddrPort
    - strprintf
    - i2p::sam::Session::Disconnect
    - Get
    - std::runtime_error
    - i2p::sam::Session::CreateIfNotCreatedAlready
    - std::move
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - GetPort
    - i2p::sam::Session::Hello
    - i2p::sam::Session::SendRequestAndGetReply
    - what
    - ToStringAddr
    linkageType: ''
    returnType: bool
    signature: bool Session::Connect(const CService& to, Connection& conn, bool& proxy_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/i2p.cpp:285,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:286,1
    - Dst: second::has_value
      Src: /src/bitcoin-core/src/i2p.cpp:286,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:287,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:288,1
    - Dst: second::value
      Src: /src/bitcoin-core/src/i2p.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: Session::Reply::Get(const std::string& key) const
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::runtime_error
    - strprintf
    - second::has_value
    - find
    - second::value
    linkageType: ''
    returnType: std::string
    signature: std::string Session::Reply::Get(const std::string& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SendComplete
      Src: /src/bitcoin-core/src/i2p.cpp:297,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/i2p.cpp:302,1
    - Dst: RecvUntilTerminator
      Src: /src/bitcoin-core/src/i2p.cpp:310,1
    - Dst: Split
      Src: /src/bitcoin-core/src/i2p.cpp:312,1
    - Dst: indirectmap::find
      Src: /src/bitcoin-core/src/i2p.cpp:313,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:314,1
    - Dst: Reply::keys::emplace
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: Reply::keys::emplace
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: Reply::Get
      Src: /src/bitcoin-core/src/i2p.cpp:321,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:322,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' sock'
    - ' request'
    - check_result_ok
    argTypes:
    - Sock
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 327
    functionName: i2p::sam::Session::SendRequestAndGetReply
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 6
    functionsReached:
    - end
    - SendComplete
    - starts_with
    - std::runtime_error
    - RecvUntilTerminator
    - Reply::keys::emplace
    - Split
    - strprintf
    - Reply::Get
    - indirectmap::find
    - begin
    linkageType: ''
    returnType: Session::Reply
    signature: "Session::Reply Session::SendRequestAndGetReply(const Sock& sock,\n
      \                                              const std::string& request,\n
      \                                              bool check_result_ok) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::Connect
      Src: /src/bitcoin-core/src/i2p.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: i2p::sam::Session::Hello
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 4
    functionsReached:
    - ToString
    - std::runtime_error
    - strprintf
    - i2p::sam::Session::SendRequestAndGetReply
    - i2p::sam::Session::Connect
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Session::Hello() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:344,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/i2p.cpp:347,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:348,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: i2p::sam::Session::CheckControlSock
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 6
    functionsReached:
    - LogPrintLevel
    - LOCK
    - i2p::sam::Session::Disconnect
    - IsConnected
    linkageType: ''
    returnType: void
    signature: void Session::CheckControlSock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:359,1
    - Dst: DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:361,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: i2p::sam::Session::DestGenerate
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - i2p::sam::Session::SendRequestAndGetReply
    - DecodeI2PBase64
    - Get
    linkageType: ''
    returnType: void
    signature: void Session::DestGenerate(const Sock& sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::DestGenerate
      Src: /src/bitcoin-core/src/i2p.cpp:366,1
    - Dst: WriteBinaryFile
      Src: /src/bitcoin-core/src/i2p.cpp:369,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:371,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: i2p::sam::Session::GenerateAndSavePrivateKey
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - end
    - WriteBinaryFile
    - fs::quoted
    - std::runtime_error
    - i2p::sam::Session::DestGenerate
    - std::string
    - strprintf
    - begin
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void Session::GenerateAndSavePrivateKey(const Sock& sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:386,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:387,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:387,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:388,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/i2p.cpp:392,1
    - Dst: at
      Src: /src/bitcoin-core/src/i2p.cpp:392,1
    - Dst: be16toh_internal
      Src: /src/bitcoin-core/src/i2p.cpp:393,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:397,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:398,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:398,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:402,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:405,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 406
    functionName: i2p::sam::Session::MyDestination
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - at
    - std::runtime_error
    - size
    - memcpy
    - be16toh_internal
    - strprintf
    - begin
    linkageType: ''
    returnType: Binary
    signature: Binary Session::MyDestination() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/i2p.cpp:411,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/i2p.cpp:416,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:418,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/i2p.cpp:418,1
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:420,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:425,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:427,1
    - Dst: DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:431,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:431,1
    - Dst: ReadBinaryFile
      Src: /src/bitcoin-core/src/i2p.cpp:435,1
    - Dst: assign
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: i2p::sam::Session::GenerateAndSavePrivateKey
      Src: /src/bitcoin-core/src/i2p.cpp:439,1
    - Dst: SwapBase64
      Src: /src/bitcoin-core/src/i2p.cpp:442,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/i2p.cpp:442,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:444,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:445,1
    - Dst: CService
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: DestBinToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: i2p::sam::Session::MyDestination
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:453,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:455,1
    - Dst: Capitalize
      Src: /src/bitcoin-core/src/i2p.cpp:456,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 408
    functionDepth: 5
    functionLinenumber: 408
    functionLinenumberEnd: 459
    functionName: i2p::sam::Session::CreateIfNotCreatedAlready
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 4
    functionsReached:
    - Get
    - EncodeBase64
    - std::move
    - i2p::sam::Session::Hello
    - ToStringAddrPort
    - ToString
    - Capitalize
    - i2p::sam::Session::GenerateAndSavePrivateKey
    - ReadBinaryFile
    - CService
    - DecodeI2PBase64
    - SwapBase64
    - strprintf
    - LogPrintLevel
    - end
    - assign
    - GetRandHash
    - IsConnected
    - i2p::sam::Session::SendRequestAndGetReply
    - begin
    - i2p::sam::Session::MyDestination
    - DestBinToAddr
    linkageType: ''
    returnType: void
    signature: void Session::CreateIfNotCreatedAlready()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:463,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:465,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:466,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:468,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:476,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:479,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: i2p::sam::Session::StreamAccept
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 2
    functionsReached:
    - i2p::sam::Session::Disconnect
    - std::runtime_error
    - i2p::sam::Session::Hello
    - strprintf
    - i2p::sam::Session::SendRequestAndGetReply
    - Get
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Session::StreamAccept()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/i2p.cpp:485,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:486,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:488,1
    - Dst: reset
      Src: /src/bitcoin-core/src/i2p.cpp:490,1
    - Dst: clear
      Src: /src/bitcoin-core/src/i2p.cpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: i2p::sam::Session::Disconnect
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 8
    functionsReached:
    - LogPrintLevel
    - clear
    - reset
    - empty
    linkageType: ''
    returnType: void
    signature: void Session::Disconnect()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/i2p.cpp:45,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:45,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: i2p::SwapBase64
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - std::string::resize
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string SwapBase64(const std::string& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::SwapBase64
      Src: /src/bitcoin-core/src/i2p.cpp:76,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/i2p.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:79,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:79,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' i2p_b64'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: i2p::DecodeI2PBase64
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - DecodeBase64
    - std::runtime_error
    - std::move
    - i2p::SwapBase64
    - strprintf
    linkageType: ''
    returnType: Binary
    signature: Binary DecodeI2PBase64(const std::string& i2p_b64)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256::CSHA256
      Src: /src/bitcoin-core/src/i2p.cpp:92,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/i2p.cpp:93,1
    - Dst: data
      Src: /src/bitcoin-core/src/i2p.cpp:93,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:93,1
    - Dst: CSHA256::Finalize
      Src: /src/bitcoin-core/src/i2p.cpp:95,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/i2p.cpp:97,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/i2p.cpp:98,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/i2p.cpp:99,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:100,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - Binary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: i2p::DestBinToAddr
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 1
    functionsReached:
    - EncodeBase32
    - CNetAddr::CNetAddr
    - std::runtime_error
    - CSHA256::Finalize
    - size
    - data
    - CSHA256::CSHA256
    - CNetAddr::SetSpecial
    - strprintf
    - CSHA256::Write
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr DestBinToAddr(const Binary& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2p::DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:114,1
    - Dst: i2p::DestBinToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: i2p::DestB64ToAddr
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - i2p::DestBinToAddr
    - i2p::DecodeI2PBase64
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr DestB64ToAddr(const std::string& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' private_key_file'
    - ' control_host'
    - interrupt
    argTypes:
    - fs::path
    - Proxy
    - CThreadInterrupt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: i2p::sam::Session::Session
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Session::Session(const fs::path& private_key_file,\n                 const
      Proxy& control_host,\n                 CThreadInterrupt* interrupt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' control_host'
    - interrupt
    argTypes:
    - Proxy
    - CThreadInterrupt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: i2p::sam::Session::Session
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session::Session(const Proxy& control_host, CThreadInterrupt*
      interrupt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:139,1
    - Dst: Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Session::~Session()
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Disconnect
    linkageType: ''
    returnType: void
    signature: void Session::~Session()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:146,1
    - Dst: i2p::sam::Session::CreateIfNotCreatedAlready
      Src: /src/bitcoin-core/src/i2p.cpp:147,1
    - Dst: i2p::sam::Session::StreamAccept
      Src: /src/bitcoin-core/src/i2p.cpp:149,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:152,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:152,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 6
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: i2p::sam::Session::Listen
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - i2p::sam::Session::CreateIfNotCreatedAlready
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - i2p::sam::Session::StreamAccept
    - what
    linkageType: ''
    returnType: bool
    signature: bool Session::Listen(Connection& conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/i2p.cpp:160,1
    - Dst: sock::Wait
      Src: /src/bitcoin-core/src/i2p.cpp:167,1
    - Dst: sock::RecvUntilTerminator
      Src: /src/bitcoin-core/src/i2p.cpp:179,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:181,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/i2p.cpp:185,1
    - Dst: DestB64ToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:187,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/i2p.cpp:194,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:195,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:198,1
    - Dst: CService
      Src: /src/bitcoin-core/src/i2p.cpp:203,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:209,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:211,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:214,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:215,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:217,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: i2p::sam::Session::Accept
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - DestB64ToAddr
    - LogPrintLevel
    - sock::Wait
    - i2p::sam::Session::Disconnect
    - CNetAddr::CNetAddr
    - AssertLockNotHeld
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - std::string::find
    - what
    - strprintf
    - sock::RecvUntilTerminator
    - CService
    linkageType: ''
    returnType: bool
    signature: bool Session::Accept(Connection& conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetPort
      Src: /src/bitcoin-core/src/i2p.cpp:226,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: GetPort
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:240,1
    - Dst: i2p::sam::Session::CreateIfNotCreatedAlready
      Src: /src/bitcoin-core/src/i2p.cpp:241,1
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:244,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:250,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:252,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:253,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:256,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:259,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:264,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:265,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:266,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:273,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:273,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ' to'
    - ' conn'
    - ' proxy_error'
    argTypes:
    - CService
    - Connection
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 279
    functionName: i2p::sam::Session::Connect
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 2
    functionsReached:
    - LogPrintLevel
    - ToStringAddrPort
    - strprintf
    - i2p::sam::Session::Disconnect
    - Get
    - std::runtime_error
    - i2p::sam::Session::CreateIfNotCreatedAlready
    - std::move
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - GetPort
    - i2p::sam::Session::Hello
    - i2p::sam::Session::SendRequestAndGetReply
    - what
    - ToStringAddr
    linkageType: ''
    returnType: bool
    signature: bool Session::Connect(const CService& to, Connection& conn, bool& proxy_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/i2p.cpp:285,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:286,1
    - Dst: second::has_value
      Src: /src/bitcoin-core/src/i2p.cpp:286,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:287,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:288,1
    - Dst: second::value
      Src: /src/bitcoin-core/src/i2p.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: Session::Reply::Get(const std::string& key) const
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::runtime_error
    - strprintf
    - second::has_value
    - find
    - second::value
    linkageType: ''
    returnType: std::string
    signature: std::string Session::Reply::Get(const std::string& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SendComplete
      Src: /src/bitcoin-core/src/i2p.cpp:297,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/i2p.cpp:302,1
    - Dst: RecvUntilTerminator
      Src: /src/bitcoin-core/src/i2p.cpp:310,1
    - Dst: Split
      Src: /src/bitcoin-core/src/i2p.cpp:312,1
    - Dst: indirectmap::find
      Src: /src/bitcoin-core/src/i2p.cpp:313,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:314,1
    - Dst: Reply::keys::emplace
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: Reply::keys::emplace
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: Reply::Get
      Src: /src/bitcoin-core/src/i2p.cpp:321,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:322,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' sock'
    - ' request'
    - check_result_ok
    argTypes:
    - Sock
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 327
    functionName: i2p::sam::Session::SendRequestAndGetReply
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 11
    functionsReached:
    - end
    - SendComplete
    - starts_with
    - std::runtime_error
    - RecvUntilTerminator
    - Reply::keys::emplace
    - Split
    - strprintf
    - Reply::Get
    - indirectmap::find
    - begin
    linkageType: ''
    returnType: Session::Reply
    signature: "Session::Reply Session::SendRequestAndGetReply(const Sock& sock,\n
      \                                              const std::string& request,\n
      \                                              bool check_result_ok) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::Connect
      Src: /src/bitcoin-core/src/i2p.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: i2p::sam::Session::Hello
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 7
    functionsReached:
    - ToString
    - std::runtime_error
    - strprintf
    - i2p::sam::Session::SendRequestAndGetReply
    - i2p::sam::Session::Connect
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Session::Hello() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:344,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/i2p.cpp:347,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:348,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: i2p::sam::Session::CheckControlSock
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 9
    functionsReached:
    - LogPrintLevel
    - LOCK
    - i2p::sam::Session::Disconnect
    - IsConnected
    linkageType: ''
    returnType: void
    signature: void Session::CheckControlSock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:359,1
    - Dst: DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:361,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: i2p::sam::Session::DestGenerate
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 2
    functionsReached:
    - i2p::sam::Session::SendRequestAndGetReply
    - DecodeI2PBase64
    - Get
    linkageType: ''
    returnType: void
    signature: void Session::DestGenerate(const Sock& sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::DestGenerate
      Src: /src/bitcoin-core/src/i2p.cpp:366,1
    - Dst: WriteBinaryFile
      Src: /src/bitcoin-core/src/i2p.cpp:369,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:371,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: i2p::sam::Session::GenerateAndSavePrivateKey
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 2
    functionsReached:
    - end
    - WriteBinaryFile
    - fs::quoted
    - std::runtime_error
    - i2p::sam::Session::DestGenerate
    - std::string
    - strprintf
    - begin
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void Session::GenerateAndSavePrivateKey(const Sock& sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:386,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:387,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:387,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:388,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/i2p.cpp:392,1
    - Dst: at
      Src: /src/bitcoin-core/src/i2p.cpp:392,1
    - Dst: be16toh_internal
      Src: /src/bitcoin-core/src/i2p.cpp:393,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:397,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:398,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:398,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:402,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:405,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 406
    functionName: i2p::sam::Session::MyDestination
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 2
    functionsReached:
    - at
    - std::runtime_error
    - size
    - memcpy
    - be16toh_internal
    - strprintf
    - begin
    linkageType: ''
    returnType: Binary
    signature: Binary Session::MyDestination() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/i2p.cpp:411,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/i2p.cpp:416,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:418,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/i2p.cpp:418,1
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:420,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:425,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:427,1
    - Dst: DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:431,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:431,1
    - Dst: ReadBinaryFile
      Src: /src/bitcoin-core/src/i2p.cpp:435,1
    - Dst: assign
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: i2p::sam::Session::GenerateAndSavePrivateKey
      Src: /src/bitcoin-core/src/i2p.cpp:439,1
    - Dst: SwapBase64
      Src: /src/bitcoin-core/src/i2p.cpp:442,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/i2p.cpp:442,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:444,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:445,1
    - Dst: CService
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: DestBinToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: i2p::sam::Session::MyDestination
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:453,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:455,1
    - Dst: Capitalize
      Src: /src/bitcoin-core/src/i2p.cpp:456,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 408
    functionDepth: 5
    functionLinenumber: 408
    functionLinenumberEnd: 459
    functionName: i2p::sam::Session::CreateIfNotCreatedAlready
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 6
    functionsReached:
    - Get
    - EncodeBase64
    - std::move
    - i2p::sam::Session::Hello
    - ToStringAddrPort
    - ToString
    - Capitalize
    - i2p::sam::Session::GenerateAndSavePrivateKey
    - ReadBinaryFile
    - CService
    - DecodeI2PBase64
    - SwapBase64
    - strprintf
    - LogPrintLevel
    - end
    - assign
    - GetRandHash
    - IsConnected
    - i2p::sam::Session::SendRequestAndGetReply
    - begin
    - i2p::sam::Session::MyDestination
    - DestBinToAddr
    linkageType: ''
    returnType: void
    signature: void Session::CreateIfNotCreatedAlready()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:463,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:465,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:466,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:468,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:476,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:479,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: i2p::sam::Session::StreamAccept
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 3
    functionsReached:
    - i2p::sam::Session::Disconnect
    - std::runtime_error
    - i2p::sam::Session::Hello
    - strprintf
    - i2p::sam::Session::SendRequestAndGetReply
    - Get
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Session::StreamAccept()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/i2p.cpp:485,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:486,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:488,1
    - Dst: reset
      Src: /src/bitcoin-core/src/i2p.cpp:490,1
    - Dst: clear
      Src: /src/bitcoin-core/src/i2p.cpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: i2p::sam::Session::Disconnect
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 12
    functionsReached:
    - LogPrintLevel
    - clear
    - reset
    - empty
    linkageType: ''
    returnType: void
    signature: void Session::Disconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' private_key_file'
    - ' control_host'
    - interrupt
    argTypes:
    - fs::path
    - Proxy
    - CThreadInterrupt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: i2p::sam::Session::Session
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Session::Session(const fs::path& private_key_file,\n                 const
      Proxy& control_host,\n                 CThreadInterrupt* interrupt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' control_host'
    - interrupt
    argTypes:
    - Proxy
    - CThreadInterrupt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: i2p::sam::Session::Session
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session::Session(const Proxy& control_host, CThreadInterrupt*
      interrupt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:139,1
    - Dst: Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Session::~Session()
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Disconnect
    linkageType: ''
    returnType: void
    signature: void Session::~Session()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:146,1
    - Dst: i2p::sam::Session::CreateIfNotCreatedAlready
      Src: /src/bitcoin-core/src/i2p.cpp:147,1
    - Dst: i2p::sam::Session::StreamAccept
      Src: /src/bitcoin-core/src/i2p.cpp:149,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:152,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:152,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 6
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: i2p::sam::Session::Listen
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - i2p::sam::Session::CreateIfNotCreatedAlready
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - i2p::sam::Session::StreamAccept
    - what
    linkageType: ''
    returnType: bool
    signature: bool Session::Listen(Connection& conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/i2p.cpp:160,1
    - Dst: sock::Wait
      Src: /src/bitcoin-core/src/i2p.cpp:167,1
    - Dst: sock::RecvUntilTerminator
      Src: /src/bitcoin-core/src/i2p.cpp:179,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:181,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/i2p.cpp:185,1
    - Dst: DestB64ToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:187,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/i2p.cpp:194,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:195,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:198,1
    - Dst: CService
      Src: /src/bitcoin-core/src/i2p.cpp:203,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:209,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:211,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:214,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:215,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:217,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - ' conn'
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: i2p::sam::Session::Accept
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - DestB64ToAddr
    - LogPrintLevel
    - sock::Wait
    - i2p::sam::Session::Disconnect
    - CNetAddr::CNetAddr
    - AssertLockNotHeld
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - std::string::find
    - what
    - strprintf
    - sock::RecvUntilTerminator
    - CService
    linkageType: ''
    returnType: bool
    signature: bool Session::Accept(Connection& conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetPort
      Src: /src/bitcoin-core/src/i2p.cpp:226,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: GetPort
      Src: /src/bitcoin-core/src/i2p.cpp:227,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:240,1
    - Dst: i2p::sam::Session::CreateIfNotCreatedAlready
      Src: /src/bitcoin-core/src/i2p.cpp:241,1
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:244,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/i2p.cpp:248,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:250,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:252,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:253,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:256,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:259,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:264,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:265,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:266,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:273,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:273,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: what
      Src: /src/bitcoin-core/src/i2p.cpp:275,1
    - Dst: i2p::sam::Session::CheckControlSock
      Src: /src/bitcoin-core/src/i2p.cpp:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ' to'
    - ' conn'
    - ' proxy_error'
    argTypes:
    - CService
    - Connection
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 279
    functionName: i2p::sam::Session::Connect
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 3
    functionsReached:
    - LogPrintLevel
    - ToStringAddrPort
    - strprintf
    - i2p::sam::Session::Disconnect
    - Get
    - std::runtime_error
    - i2p::sam::Session::CreateIfNotCreatedAlready
    - std::move
    - i2p::sam::Session::CheckControlSock
    - LOCK
    - GetPort
    - i2p::sam::Session::Hello
    - i2p::sam::Session::SendRequestAndGetReply
    - what
    - ToStringAddr
    linkageType: ''
    returnType: bool
    signature: bool Session::Connect(const CService& to, Connection& conn, bool& proxy_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/i2p.cpp:285,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:286,1
    - Dst: second::has_value
      Src: /src/bitcoin-core/src/i2p.cpp:286,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:287,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:288,1
    - Dst: second::value
      Src: /src/bitcoin-core/src/i2p.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: Session::Reply::Get(const std::string& key) const
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::runtime_error
    - strprintf
    - second::has_value
    - find
    - second::value
    linkageType: ''
    returnType: std::string
    signature: std::string Session::Reply::Get(const std::string& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SendComplete
      Src: /src/bitcoin-core/src/i2p.cpp:297,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/i2p.cpp:302,1
    - Dst: RecvUntilTerminator
      Src: /src/bitcoin-core/src/i2p.cpp:310,1
    - Dst: Split
      Src: /src/bitcoin-core/src/i2p.cpp:312,1
    - Dst: indirectmap::find
      Src: /src/bitcoin-core/src/i2p.cpp:313,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:314,1
    - Dst: Reply::keys::emplace
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:315,1
    - Dst: Reply::keys::emplace
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:317,1
    - Dst: Reply::Get
      Src: /src/bitcoin-core/src/i2p.cpp:321,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:322,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' sock'
    - ' request'
    - check_result_ok
    argTypes:
    - Sock
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 327
    functionName: i2p::sam::Session::SendRequestAndGetReply
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 16
    functionsReached:
    - end
    - SendComplete
    - starts_with
    - std::runtime_error
    - RecvUntilTerminator
    - Reply::keys::emplace
    - Split
    - strprintf
    - Reply::Get
    - indirectmap::find
    - begin
    linkageType: ''
    returnType: Session::Reply
    signature: "Session::Reply Session::SendRequestAndGetReply(const Sock& sock,\n
      \                                              const std::string& request,\n
      \                                              bool check_result_ok) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::Connect
      Src: /src/bitcoin-core/src/i2p.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/i2p.cpp:334,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: i2p::sam::Session::Hello
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 10
    functionsReached:
    - ToString
    - std::runtime_error
    - strprintf
    - i2p::sam::Session::SendRequestAndGetReply
    - i2p::sam::Session::Connect
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Session::Hello() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/i2p.cpp:344,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/i2p.cpp:347,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:348,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: i2p::sam::Session::CheckControlSock
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 12
    functionsReached:
    - LogPrintLevel
    - LOCK
    - i2p::sam::Session::Disconnect
    - IsConnected
    linkageType: ''
    returnType: void
    signature: void Session::CheckControlSock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:359,1
    - Dst: DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:361,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: i2p::sam::Session::DestGenerate
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 3
    functionsReached:
    - i2p::sam::Session::SendRequestAndGetReply
    - DecodeI2PBase64
    - Get
    linkageType: ''
    returnType: void
    signature: void Session::DestGenerate(const Sock& sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::DestGenerate
      Src: /src/bitcoin-core/src/i2p.cpp:366,1
    - Dst: WriteBinaryFile
      Src: /src/bitcoin-core/src/i2p.cpp:369,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:370,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:371,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/i2p.cpp:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: i2p::sam::Session::GenerateAndSavePrivateKey
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 3
    functionsReached:
    - end
    - WriteBinaryFile
    - fs::quoted
    - std::runtime_error
    - i2p::sam::Session::DestGenerate
    - std::string
    - strprintf
    - begin
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void Session::GenerateAndSavePrivateKey(const Sock& sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:386,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:387,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:387,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:388,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/i2p.cpp:392,1
    - Dst: at
      Src: /src/bitcoin-core/src/i2p.cpp:392,1
    - Dst: be16toh_internal
      Src: /src/bitcoin-core/src/i2p.cpp:393,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:397,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:398,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:398,1
    - Dst: size
      Src: /src/bitcoin-core/src/i2p.cpp:402,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:405,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 406
    functionName: i2p::sam::Session::MyDestination
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 3
    functionsReached:
    - at
    - std::runtime_error
    - size
    - memcpy
    - be16toh_internal
    - strprintf
    - begin
    linkageType: ''
    returnType: Binary
    signature: Binary Session::MyDestination() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/i2p.cpp:411,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/i2p.cpp:416,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:418,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/i2p.cpp:418,1
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:420,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:425,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:427,1
    - Dst: DecodeI2PBase64
      Src: /src/bitcoin-core/src/i2p.cpp:431,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:431,1
    - Dst: ReadBinaryFile
      Src: /src/bitcoin-core/src/i2p.cpp:435,1
    - Dst: assign
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: begin
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: end
      Src: /src/bitcoin-core/src/i2p.cpp:437,1
    - Dst: i2p::sam::Session::GenerateAndSavePrivateKey
      Src: /src/bitcoin-core/src/i2p.cpp:439,1
    - Dst: SwapBase64
      Src: /src/bitcoin-core/src/i2p.cpp:442,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/i2p.cpp:442,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:444,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:445,1
    - Dst: CService
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: DestBinToAddr
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: i2p::sam::Session::MyDestination
      Src: /src/bitcoin-core/src/i2p.cpp:451,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/i2p.cpp:453,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:455,1
    - Dst: Capitalize
      Src: /src/bitcoin-core/src/i2p.cpp:456,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/i2p.cpp:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 408
    functionDepth: 5
    functionLinenumber: 408
    functionLinenumberEnd: 459
    functionName: i2p::sam::Session::CreateIfNotCreatedAlready
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 8
    functionsReached:
    - Get
    - EncodeBase64
    - std::move
    - i2p::sam::Session::Hello
    - ToStringAddrPort
    - ToString
    - Capitalize
    - i2p::sam::Session::GenerateAndSavePrivateKey
    - ReadBinaryFile
    - CService
    - DecodeI2PBase64
    - SwapBase64
    - strprintf
    - LogPrintLevel
    - end
    - assign
    - GetRandHash
    - IsConnected
    - i2p::sam::Session::SendRequestAndGetReply
    - begin
    - i2p::sam::Session::MyDestination
    - DestBinToAddr
    linkageType: ''
    returnType: void
    signature: void Session::CreateIfNotCreatedAlready()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2p::sam::Session::Hello
      Src: /src/bitcoin-core/src/i2p.cpp:463,1
    - Dst: i2p::sam::Session::SendRequestAndGetReply
      Src: /src/bitcoin-core/src/i2p.cpp:465,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:466,1
    - Dst: Get
      Src: /src/bitcoin-core/src/i2p.cpp:468,1
    - Dst: i2p::sam::Session::Disconnect
      Src: /src/bitcoin-core/src/i2p.cpp:476,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/i2p.cpp:479,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/i2p.cpp:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: i2p::sam::Session::StreamAccept
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 4
    functionsReached:
    - i2p::sam::Session::Disconnect
    - std::runtime_error
    - i2p::sam::Session::Hello
    - strprintf
    - i2p::sam::Session::SendRequestAndGetReply
    - Get
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Session::StreamAccept()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/i2p.cpp:485,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:486,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/i2p.cpp:488,1
    - Dst: reset
      Src: /src/bitcoin-core/src/i2p.cpp:490,1
    - Dst: clear
      Src: /src/bitcoin-core/src/i2p.cpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: i2p::sam::Session::Disconnect
    functionSourceFile: /src/bitcoin-core/src/i2p.cpp
    functionUses: 16
    functionsReached:
    - LogPrintLevel
    - clear
    - reset
    - empty
    linkageType: ''
    returnType: void
    signature: void Session::Disconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: CCoin
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rest.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: CCoin
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CCoin(Coin&& in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/rest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CCoin, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:74,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - req
    - status
    - message
    argTypes:
    - HTTPRequest*
    - enum HTTPStatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: RESTERR
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - HTTPRequest*::WriteReply
    - HTTPRequest*::WriteHeader
    linkageType: ''
    returnType: bool
    signature: bool RESTERR(HTTPRequest* req, enum HTTPStatusCode status, std::string
      message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::AnyPtr<NodeContext>
      Src: /src/bitcoin-core/src/rest.cpp:88,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:90,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rest.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - req
    argTypes:
    - std::any
    - HTTPRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: GetNodeContext
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - util::AnyPtr<NodeContext>
    - RESTERR
    - strprintf
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * GetNodeContext(const std::any& context, HTTPRequest*
      req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::AnyPtr<NodeContext>
      Src: /src/bitcoin-core/src/rest.cpp:109,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:111,1
    - Dst: auto::mempool::get
      Src: /src/bitcoin-core/src/rest.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - req
    argTypes:
    - std::any
    - HTTPRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: GetMemPool
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - util::AnyPtr<NodeContext>
    - RESTERR
    - auto::mempool::get
    linkageType: ''
    returnType: CTxMemPool
    signature: CTxMemPool * GetMemPool(const std::any& context, HTTPRequest* req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::AnyPtr<NodeContext>
      Src: /src/bitcoin-core/src/rest.cpp:126,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:128,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rest.cpp:129,1
    - Dst: auto::chainman::get
      Src: /src/bitcoin-core/src/rest.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - req
    argTypes:
    - std::any
    - HTTPRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: GetChainman
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - util::AnyPtr<NodeContext>
    - RESTERR
    - auto::chainman::get
    - strprintf
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager * GetChainman(const std::any& context, HTTPRequest*
      req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/bitcoin-core/src/rest.cpp:142,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/rest.cpp:142,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/rest.cpp:143,1
    - Dst: erase
      Src: /src/bitcoin-core/src/rest.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' param'
    - ' strReq'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: ParseDataFormat
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - substr
    - rfind
    - erase
    linkageType: ''
    returnType: RESTResponseFormat
    signature: RESTResponseFormat ParseDataFormat(std::string& param, const std::string&
      strReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bitcoin-core/src/rest.cpp:167,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/rest.cpp:168,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/rest.cpp:169,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/rest.cpp:170,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/rest.cpp:174,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/rest.cpp:175,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/rest.cpp:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: AvailableDataFormatsString
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - std::string::append
    - strlen
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string AvailableDataFormatsString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RPCIsInWarmup
      Src: /src/bitcoin-core/src/rest.cpp:183,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - HTTPRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: CheckWarmup
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - RESTERR
    - RPCIsInWarmup
    linkageType: ''
    returnType: bool
    signature: bool CheckWarmup(HTTPRequest* req)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:192,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:195,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rest.cpp:196,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:200,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:204,1
    - Dst: HTTPRequest*::GetQueryParameter
      Src: /src/bitcoin-core/src/rest.cpp:208,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:210,1
    - Dst: what
      Src: /src/bitcoin-core/src/rest.cpp:210,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:213,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/rest.cpp:216,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/rest.cpp:217,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:218,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rest.cpp:218,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/rest.cpp:221,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:223,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rest.cpp:228,1
    - Dst: GetChainman
      Src: /src/bitcoin-core/src/rest.cpp:229,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rest.cpp:233,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rest.cpp:234,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/rest.cpp:235,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rest.cpp:236,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/rest.cpp:237,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rest.cpp:238,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:239,1
    - Dst: Next
      Src: /src/bitcoin-core/src/rest.cpp:242,1
    - Dst: CBlockIndex*::GetBlockHeader
      Src: /src/bitcoin-core/src/rest.cpp:250,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:253,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:254,1
    - Dst: CBlockIndex*::GetBlockHeader
      Src: /src/bitcoin-core/src/rest.cpp:261,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rest.cpp:264,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:265,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:266,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rest.cpp:272,1
    - Dst: blockheaderToJSON
      Src: /src/bitcoin-core/src/rest.cpp:272,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rest.cpp:272,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rest.cpp:274,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:275,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:276,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:280,1
    - Dst: AvailableDataFormatsString
      Src: /src/bitcoin-core/src/rest.cpp:280,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 283
    functionName: rest_headers
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - blockheaderToJSON
    - HTTPRequest*::WriteHeader
    - Contains
    - GetChainman
    - CBlockIndex*::GetBlockHeader
    - std::vector::push_back
    - ToIntegral
    - SplitString
    - what
    - HTTPRequest*::GetQueryParameter
    - HTTPRequest*::WriteReply
    - ParseDataFormat
    - AvailableDataFormatsString
    - CheckWarmup
    - std::vector::reserve
    - UniValue::push_back
    - uint256::FromHex
    - std::vector::size
    - m_blockman::LookupBlockIndex
    - RESTERR
    - ActiveChain
    - strprintf
    - Next
    - Tip
    - UniValue::write
    - auto::has_value
    - LOCK
    - HexStr
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: "bool rest_headers(const std::any& context,\n                         HTTPRequest*
      req,\n                         const std::string& uri_part)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/rest.cpp:290,1
    - Dst: vtxundo::size
      Src: /src/bitcoin-core/src/rest.cpp:290,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/rest.cpp:291,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/rest.cpp:293,1
    - Dst: vprevout::size
      Src: /src/bitcoin-core/src/rest.cpp:293,1
    - Dst: out::Serialize
      Src: /src/bitcoin-core/src/rest.cpp:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' stream'
    - ' block_undo'
    argTypes:
    - DataStream
    - CBlockUndo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: SerializeBlockUndo
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - WriteCompactSize
    - out::Serialize
    - vtxundo::size
    - vprevout::size
    linkageType: ''
    returnType: void
    signature: void SerializeBlockUndo(DataStream& stream, const CBlockUndo& block_undo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/rest.cpp:305,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:310,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rest.cpp:310,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rest.cpp:313,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:314,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rest.cpp:314,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rest.cpp:316,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rest.cpp:316,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/rest.cpp:318,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rest.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' block_undo'
    - ' result'
    argTypes:
    - CBlockUndo
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 320
    functionName: BlockUndoToJSON
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - ValueFromAmount
    - UniValue::push_back
    - std::move
    - UniValue::pushKV
    - ScriptToUniv
    linkageType: ''
    returnType: void
    signature: void BlockUndoToJSON(const CBlockUndo& block_undo, UniValue& result)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:324,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:328,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rest.cpp:329,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:332,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:336,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/rest.cpp:339,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:341,1
    - Dst: GetChainman
      Src: /src/bitcoin-core/src/rest.cpp:344,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rest.cpp:349,1
    - Dst: ChainstateManager*::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rest.cpp:349,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:351,1
    - Dst: ChainstateManager*::m_blockman::ReadBlockUndo
      Src: /src/bitcoin-core/src/rest.cpp:355,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:356,1
    - Dst: SerializeBlockUndo
      Src: /src/bitcoin-core/src/rest.cpp:362,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:363,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:364,1
    - Dst: SerializeBlockUndo
      Src: /src/bitcoin-core/src/rest.cpp:370,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rest.cpp:371,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:372,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:373,1
    - Dst: BlockUndoToJSON
      Src: /src/bitcoin-core/src/rest.cpp:379,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rest.cpp:380,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:381,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:382,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:387,1
    - Dst: AvailableDataFormatsString
      Src: /src/bitcoin-core/src/rest.cpp:387,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 390
    functionName: rest_spent_txouts
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - AvailableDataFormatsString
    - UniValue::write
    - HTTPRequest*::WriteHeader
    - WITH_LOCK
    - CheckWarmup
    - GetChainman
    - BlockUndoToJSON
    - RESTERR
    - SerializeBlockUndo
    - SplitString
    - ChainstateManager*::m_blockman::ReadBlockUndo
    - ChainstateManager*::m_blockman::LookupBlockIndex
    - uint256::FromHex
    - HTTPRequest*::WriteReply
    - HexStr
    - std::vector::size
    - ParseDataFormat
    linkageType: ''
    returnType: bool
    signature: bool rest_spent_txouts(const std::any& context, HTTPRequest* req, const
      std::string& uri_part)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:397,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:400,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/rest.cpp:402,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:404,1
    - Dst: GetChainman
      Src: /src/bitcoin-core/src/rest.cpp:410,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rest.cpp:414,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rest.cpp:415,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rest.cpp:416,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:418,1
    - Dst: m_blockman::IsBlockPruned
      Src: /src/bitcoin-core/src/rest.cpp:421,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:422,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:424,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/rest.cpp:426,1
    - Dst: m_blockman::ReadRawBlock
      Src: /src/bitcoin-core/src/rest.cpp:430,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:431,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:436,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:437,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rest.cpp:442,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:443,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:444,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/rest.cpp:451,1
    - Dst: blockToJSON
      Src: /src/bitcoin-core/src/rest.cpp:452,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rest.cpp:452,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rest.cpp:453,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:454,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:455,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:460,1
    - Dst: AvailableDataFormatsString
      Src: /src/bitcoin-core/src/rest.cpp:460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - ' context'
    - req
    - ' uri_part'
    - tx_verbosity
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    - TxVerbosity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 463
    functionName: rest_block
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - HTTPRequest*::WriteHeader
    - GetChainman
    - m_blockman::ReadRawBlock
    - HTTPRequest*::WriteReply
    - ParseDataFormat
    - AvailableDataFormatsString
    - CheckWarmup
    - uint256::FromHex
    - HexStr
    - m_blockman::LookupBlockIndex
    - RESTERR
    - ActiveChain
    - m_blockman::IsBlockPruned
    - UniValue::write
    - blockToJSON
    - LOCK
    - CBlockIndex*::GetBlockPos
    - TX_WITH_WITNESS
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: "bool rest_block(const std::any& context,\n                       HTTPRequest*
      req,\n                       const std::string& uri_part,\n                       TxVerbosity
      tx_verbosity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rest_block
      Src: /src/bitcoin-core/src/rest.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: rest_block_extended
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - rest_block
    linkageType: ''
    returnType: bool
    signature: bool rest_block_extended(const std::any& context, HTTPRequest* req,
      const std::string& uri_part)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rest_block
      Src: /src/bitcoin-core/src/rest.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: rest_block_notxdetails
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - rest_block
    linkageType: ''
    returnType: bool
    signature: bool rest_block_notxdetails(const std::any& context, HTTPRequest* req,
      const std::string& uri_part)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:477,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:480,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rest.cpp:482,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:485,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:489,1
    - Dst: HTTPRequest*::GetQueryParameter
      Src: /src/bitcoin-core/src/rest.cpp:493,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:495,1
    - Dst: what
      Src: /src/bitcoin-core/src/rest.cpp:495,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:498,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/rest.cpp:501,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/rest.cpp:502,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:503,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rest.cpp:503,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/rest.cpp:506,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:508,1
    - Dst: BlockFilterTypeByName
      Src: /src/bitcoin-core/src/rest.cpp:512,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:513,1
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/rest.cpp:516,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:518,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rest.cpp:522,1
    - Dst: GetChainman
      Src: /src/bitcoin-core/src/rest.cpp:524,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rest.cpp:527,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rest.cpp:528,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rest.cpp:529,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/rest.cpp:530,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rest.cpp:531,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:532,1
    - Dst: Next
      Src: /src/bitcoin-core/src/rest.cpp:534,1
    - Dst: BlockFilterIndex*::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/rest.cpp:538,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rest.cpp:541,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/rest.cpp:543,1
    - Dst: BlockFilterIndex*::LookupFilterHeader
      Src: /src/bitcoin-core/src/rest.cpp:544,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:553,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rest.cpp:555,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:565,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:566,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rest.cpp:575,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:576,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:577,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rest.cpp:583,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/rest.cpp:583,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rest.cpp:586,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:587,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:588,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:592,1
    - Dst: AvailableDataFormatsString
      Src: /src/bitcoin-core/src/rest.cpp:592,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 595
    functionName: rest_filter_header
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - HTTPRequest*::WriteHeader
    - Contains
    - BlockFilterIndex*::BlockUntilSyncedToCurrentChain
    - GetChainman
    - std::vector::push_back
    - ToIntegral
    - SplitString
    - what
    - HTTPRequest*::GetQueryParameter
    - HTTPRequest*::WriteReply
    - GetBlockFilterIndex
    - ParseDataFormat
    - AvailableDataFormatsString
    - CheckWarmup
    - std::vector::reserve
    - UniValue::push_back
    - uint256::FromHex
    - GetHex
    - std::vector::size
    - m_blockman::LookupBlockIndex
    - RESTERR
    - ActiveChain
    - strprintf
    - uint256::uint256
    - Next
    - UniValue::write
    - auto::has_value
    - BlockFilterIndex*::LookupFilterHeader
    - LOCK
    - BlockFilterTypeByName
    - HexStr
    linkageType: ''
    returnType: bool
    signature: bool rest_filter_header(const std::any& context, HTTPRequest* req,
      const std::string& uri_part)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:599,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:602,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rest.cpp:605,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:606,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:607,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/rest.cpp:610,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:612,1
    - Dst: BlockFilterTypeByName
      Src: /src/bitcoin-core/src/rest.cpp:616,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:617,1
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/rest.cpp:620,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:622,1
    - Dst: GetChainman
      Src: /src/bitcoin-core/src/rest.cpp:628,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rest.cpp:631,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rest.cpp:632,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:634,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/rest.cpp:636,1
    - Dst: BlockFilterIndex*::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/rest.cpp:639,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/rest.cpp:641,1
    - Dst: BlockFilterIndex*::LookupFilter
      Src: /src/bitcoin-core/src/rest.cpp:642,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:653,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:661,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:662,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rest.cpp:669,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:670,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:671,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:676,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rest.cpp:676,1
    - Dst: BlockFilter::GetEncodedFilter
      Src: /src/bitcoin-core/src/rest.cpp:676,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rest.cpp:677,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:678,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:679,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:683,1
    - Dst: AvailableDataFormatsString
      Src: /src/bitcoin-core/src/rest.cpp:683,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 686
    functionName: rest_block_filter
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - BlockFilter::GetEncodedFilter
    - HTTPRequest*::WriteHeader
    - BlockFilterIndex*::BlockUntilSyncedToCurrentChain
    - GetChainman
    - BlockFilterIndex*::LookupFilter
    - SplitString
    - HTTPRequest*::WriteReply
    - GetBlockFilterIndex
    - ParseDataFormat
    - AvailableDataFormatsString
    - CheckWarmup
    - uint256::FromHex
    - std::vector::size
    - m_blockman::LookupBlockIndex
    - RESTERR
    - UniValue::pushKV
    - BlockFilter::BlockFilter
    - UniValue::write
    - CBlockIndex*::IsValid
    - LOCK
    - BlockFilterTypeByName
    - HexStr
    linkageType: ''
    returnType: bool
    signature: bool rest_block_filter(const std::any& context, HTTPRequest* req, const
      std::string& uri_part)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:693,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:696,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rest.cpp:702,1
    - Dst: getblockchaininfo
      Src: /src/bitcoin-core/src/rest.cpp:703,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rest.cpp:704,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:705,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:706,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 713
    functionName: rest_chaininfo
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - UniValue::write
    - HTTPRequest*::WriteReply
    - HTTPRequest*::WriteHeader
    - CheckWarmup
    - RESTERR
    - getblockchaininfo
    - UniValue
    - ParseDataFormat
    linkageType: ''
    returnType: bool
    signature: bool rest_chaininfo(const std::any& context, HTTPRequest* req, const
      std::string& uri_part)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:720,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:723,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rest.cpp:729,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/rest.cpp:731,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/rest.cpp:732,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:734,1
    - Dst: GetChainman
      Src: /src/bitcoin-core/src/rest.cpp:737,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rest.cpp:739,1
    - Dst: ChainstateManager*::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rest.cpp:739,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:740,1
    - Dst: JSONRPCRequest::params::push_back
      Src: /src/bitcoin-core/src/rest.cpp:743,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:746,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:747,1
    - Dst: getdeploymentinfo
      Src: /src/bitcoin-core/src/rest.cpp:747,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' str_uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 755
    functionName: rest_deploymentinfo
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCRequest::params::push_back
    - HTTPRequest*::WriteReply
    - HTTPRequest*::WriteHeader
    - getdeploymentinfo
    - WITH_LOCK
    - CheckWarmup
    - std::string::empty
    - GetChainman
    - RESTERR
    - ChainstateManager*::m_blockman::LookupBlockIndex
    - uint256::FromHex
    - UniValue
    - ParseDataFormat
    linkageType: ''
    returnType: bool
    signature: bool rest_deploymentinfo(const std::any& context, HTTPRequest* req,
      const std::string& str_uri_part)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:759,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:763,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:765,1
    - Dst: GetMemPool
      Src: /src/bitcoin-core/src/rest.cpp:768,1
    - Dst: HTTPRequest*::GetQueryParameter
      Src: /src/bitcoin-core/src/rest.cpp:777,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:779,1
    - Dst: what
      Src: /src/bitcoin-core/src/rest.cpp:779,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:782,1
    - Dst: HTTPRequest*::GetQueryParameter
      Src: /src/bitcoin-core/src/rest.cpp:786,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:788,1
    - Dst: what
      Src: /src/bitcoin-core/src/rest.cpp:788,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:791,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:796,1
    - Dst: MempoolToJSON
      Src: /src/bitcoin-core/src/rest.cpp:798,1
    - Dst: MempoolInfoToJSON
      Src: /src/bitcoin-core/src/rest.cpp:800,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:803,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:804,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:808,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' str_uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 811
    functionName: rest_mempool
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - MempoolToJSON
    - MempoolInfoToJSON
    - HTTPRequest*::WriteHeader
    - CheckWarmup
    - GetMemPool
    - RESTERR
    - what
    - HTTPRequest*::GetQueryParameter
    - HTTPRequest*::WriteReply
    - ParseDataFormat
    linkageType: ''
    returnType: bool
    signature: bool rest_mempool(const std::any& context, HTTPRequest* req, const
      std::string& str_uri_part)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:815,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:818,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/rest.cpp:820,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:822,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/rest.cpp:826,1
    - Dst: GetNodeContext
      Src: /src/bitcoin-core/src/rest.cpp:829,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/rest.cpp:831,1
    - Dst: GetTransaction
      Src: /src/bitcoin-core/src/rest.cpp:832,1
    - Dst: NodeContext*::mempool::get
      Src: /src/bitcoin-core/src/rest.cpp:832,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:834,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/rest.cpp:839,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/rest.cpp:840,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:842,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:843,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/rest.cpp:848,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/rest.cpp:849,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rest.cpp:851,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:852,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:853,1
    - Dst: TxToUniv
      Src: /src/bitcoin-core/src/rest.cpp:859,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rest.cpp:860,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:861,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:862,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:867,1
    - Dst: AvailableDataFormatsString
      Src: /src/bitcoin-core/src/rest.cpp:867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 813
    functionDepth: 4
    functionLinenumber: 813
    functionLinenumberEnd: 870
    functionName: rest_tx
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - NodeContext*::mempool::get
    - uint256
    - GetNodeContext
    - AvailableDataFormatsString
    - UniValue::write
    - HTTPRequest*::WriteHeader
    - HexStr
    - CheckWarmup
    - TxToUniv
    - RESTERR
    - TX_WITH_WITNESS
    - GetTransaction
    - uint256::FromHex
    - HTTPRequest*::WriteReply
    - BlockUntilSyncedToCurrentChain
    - DataStream::DataStream
    - ParseDataFormat
    linkageType: ''
    returnType: bool
    signature: bool rest_tx(const std::any& context, HTTPRequest* req, const std::string&
      uri_part)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:874,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:877,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/rest.cpp:880,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/rest.cpp:882,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rest.cpp:883,1
    - Dst: HTTPRequest*::ReadBody
      Src: /src/bitcoin-core/src/rest.cpp:887,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/rest.cpp:888,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:888,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:889,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:898,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:903,1
    - Dst: util::Split<std::string_view>
      Src: /src/bitcoin-core/src/rest.cpp:905,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/rest.cpp:906,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:907,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/rest.cpp:909,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/rest.cpp:909,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/rest.cpp:910,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/rest.cpp:910,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:913,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rest.cpp:916,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:919,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:922,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/rest.cpp:928,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/rest.cpp:929,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rest.cpp:929,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rest.cpp:929,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/rest.cpp:936,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:939,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:948,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:955,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:959,1
    - Dst: AvailableDataFormatsString
      Src: /src/bitcoin-core/src/rest.cpp:959,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:964,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:965,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rest.cpp:965,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:965,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/rest.cpp:972,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:972,1
    - Dst: GetChainman
      Src: /src/bitcoin-core/src/rest.cpp:973,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/rest.cpp:976,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/rest.cpp:977,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/rest.cpp:979,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/rest.cpp:979,1
    - Dst: for
      Src: /src/bitcoin-core/src/rest.cpp:980,1
    - Dst: isSpent
      Src: /src/bitcoin-core/src/rest.cpp:981,1
    - Dst: GetCoin
      Src: /src/bitcoin-core/src/rest.cpp:981,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rest.cpp:982,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/rest.cpp:982,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rest.cpp:983,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rest.cpp:983,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/rest.cpp:985,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/rest.cpp:986,1
    - Dst: GetMemPool
      Src: /src/bitcoin-core/src/rest.cpp:990,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/rest.cpp:993,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rest.cpp:994,1
    - Dst: process_utxos
      Src: /src/bitcoin-core/src/rest.cpp:996,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rest.cpp:998,1
    - Dst: process_utxos
      Src: /src/bitcoin-core/src/rest.cpp:999,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rest.cpp:999,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rest.cpp:1002,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/rest.cpp:1004,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:1016,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:1017,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rest.cpp:1024,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:1026,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:1027,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:1036,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:1037,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/rest.cpp:1037,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:1038,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:1043,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:1044,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rest.cpp:1044,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rest.cpp:1048,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:1049,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rest.cpp:1049,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rest.cpp:1050,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rest.cpp:1050,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:1052,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rest.cpp:1052,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rest.cpp:1055,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:1056,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:1057,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:1061,1
    - Dst: AvailableDataFormatsString
      Src: /src/bitcoin-core/src/rest.cpp:1061,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 104
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 1064
    functionName: rest_getutxos
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - for
    - std::vector::emplace_back
    - LOCK2
    - HTTPRequest*::WriteHeader
    - GetChainman
    - std::move
    - std::vector::push_back
    - ToIntegral
    - GetMemPool
    - SplitString
    - has_value
    - HTTPRequest*::WriteReply
    - ScriptToUniv
    - ParseDataFormat
    - AvailableDataFormatsString
    - util::Split<std::string_view>
    - std::vector::end
    - auto::at
    - HTTPRequest*::ReadBody
    - std::string::assign
    - std::string::length
    - CheckWarmup
    - UniValue::push_back
    - uint256::GetHex
    - std::string::append
    - ParseHex
    - std::vector::size
    - isSpent
    - process_utxos
    - detail::FromHex
    - ValueFromAmount
    - RESTERR
    - UniValue::pushKV
    - strprintf
    - uint256::uint256
    - std::string::substr
    - std::string::size
    - GetMutex
    - GetCoin
    - UniValue::write
    - std::vector::resize
    - ActiveHeight
    - std::vector::begin
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - ActiveTip
    - ActiveChainstate
    - HexStr
    linkageType: ''
    returnType: bool
    signature: bool rest_getutxos(const std::any& context, HTTPRequest* req, const
      std::string& uri_part)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CheckWarmup
      Src: /src/bitcoin-core/src/rest.cpp:1069,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/rest.cpp:1071,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/rest.cpp:1073,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:1075,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/rest.cpp:1075,1
    - Dst: GetChainman
      Src: /src/bitcoin-core/src/rest.cpp:1080,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rest.cpp:1083,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rest.cpp:1084,1
    - Dst: Height
      Src: /src/bitcoin-core/src/rest.cpp:1085,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:1086,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rest.cpp:1093,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:1094,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:1095,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:1099,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:1100,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rest.cpp:1100,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/rest.cpp:1104,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rest.cpp:1105,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rest.cpp:1106,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rest.cpp:1106,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/rest.cpp:1107,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rest.cpp:1107,1
    - Dst: RESTERR
      Src: /src/bitcoin-core/src/rest.cpp:1111,1
    - Dst: AvailableDataFormatsString
      Src: /src/bitcoin-core/src/rest.cpp:1111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - ' context'
    - req
    - ' str_uri_part'
    argTypes:
    - std::any
    - HTTPRequest*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1114
    functionName: rest_blockhash_by_height
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - AvailableDataFormatsString
    - UniValue::write
    - Height
    - HTTPRequest*::WriteHeader
    - UniValue
    - CheckWarmup
    - GetChainman
    - ToIntegral
    - RESTERR
    - LOCK
    - ActiveChain
    - CBlockIndex*::GetBlockHash
    - UniValue::pushKV
    - HTTPRequest*::WriteReply
    - SanitizeString
    - ParseDataFormat
    linkageType: ''
    returnType: bool
    signature: "bool rest_blockhash_by_height(const std::any& context, HTTPRequest*
      req,\n                       const std::string& str_uri_part)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handler
      Src: /src/bitcoin-core/src/rest.cpp:1138,1
    - Dst: RegisterHTTPHandler
      Src: /src/bitcoin-core/src/rest.cpp:1139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1135
    functionDepth: 2
    functionLinenumber: 1135
    functionLinenumberEnd: 1141
    functionName: StartREST
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - RegisterHTTPHandler
    - handler
    linkageType: ''
    returnType: void
    signature: void StartREST(const std::any& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1145
    functionName: InterruptREST
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InterruptREST()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnregisterHTTPHandler
      Src: /src/bitcoin-core/src/rest.cpp:1150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1152
    functionName: StopREST
    functionSourceFile: /src/bitcoin-core/src/rest.cpp
    functionUses: 0
    functionsReached:
    - UnregisterHTTPHandler
    linkageType: ''
    returnType: void
    signature: void StopREST()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: CScheduler::CScheduler
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScheduler::CScheduler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/scheduler.cpp:18,1
    - Dst: assert
      Src: /src/bitcoin-core/src/scheduler.cpp:19,1
    - Dst: empty
      Src: /src/bitcoin-core/src/scheduler.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nThreadsServicingQueue == 0)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/bitcoin-core/src/scheduler.cpp
    - condition: (taskQueue.empty())
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/bitcoin-core/src/scheduler.cpp
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: CScheduler::~CScheduler()
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void CScheduler::~CScheduler()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:25,1
    - Dst: shouldStop
      Src: /src/bitcoin-core/src/scheduler.cpp:31,1
    - Dst: shouldStop
      Src: /src/bitcoin-core/src/scheduler.cpp:33,1
    - Dst: empty
      Src: /src/bitcoin-core/src/scheduler.cpp:33,1
    - Dst: wait
      Src: /src/bitcoin-core/src/scheduler.cpp:35,1
    - Dst: shouldStop
      Src: /src/bitcoin-core/src/scheduler.cpp:41,1
    - Dst: empty
      Src: /src/bitcoin-core/src/scheduler.cpp:41,1
    - Dst: begin
      Src: /src/bitcoin-core/src/scheduler.cpp:42,1
    - Dst: wait_until
      Src: /src/bitcoin-core/src/scheduler.cpp:43,1
    - Dst: shouldStop
      Src: /src/bitcoin-core/src/scheduler.cpp:50,1
    - Dst: empty
      Src: /src/bitcoin-core/src/scheduler.cpp:50,1
    - Dst: begin
      Src: /src/bitcoin-core/src/scheduler.cpp:53,1
    - Dst: erase
      Src: /src/bitcoin-core/src/scheduler.cpp:54,1
    - Dst: begin
      Src: /src/bitcoin-core/src/scheduler.cpp:54,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:59,1
    - Dst: f
      Src: /src/bitcoin-core/src/scheduler.cpp:60,1
    - Dst: notify_one
      Src: /src/bitcoin-core/src/scheduler.cpp:68,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 69
    functionName: CScheduler::serviceQueue
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - erase
    - empty
    - shouldStop
    - wait_until
    - f
    - WAIT_LOCK
    - REVERSE_LOCK
    - notify_one
    - wait
    - begin
    linkageType: ''
    returnType: void
    signature: void CScheduler::serviceQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:74,1
    - Dst: insert
      Src: /src/bitcoin-core/src/scheduler.cpp:75,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/scheduler.cpp:75,1
    - Dst: notify_one
      Src: /src/bitcoin-core/src/scheduler.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - f
    - t
    argTypes:
    - CScheduler::Function
    - std::chrono::steady_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: CScheduler::schedule
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - LOCK
    - insert
    - notify_one
    linkageType: ''
    returnType: void
    signature: void CScheduler::schedule(CScheduler::Function f, std::chrono::steady_clock::time_point
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/scheduler.cpp:82,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:85,1
    - Dst: std::multimap::emplace_hint
      Src: /src/bitcoin-core/src/scheduler.cpp:91,1
    - Dst: std::multimap::cend
      Src: /src/bitcoin-core/src/scheduler.cpp:91,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/scheduler.cpp:95,1
    - Dst: notify_one
      Src: /src/bitcoin-core/src/scheduler.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - delta_seconds
    argTypes:
    - std::chrono::seconds
    assertStmts:
    - condition: (delta_seconds > 0s && delta_seconds <= 1h)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/scheduler.cpp
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: CScheduler::MockForward
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - LOCK
    - std::multimap::emplace_hint
    - notify_one
    - std::multimap::cend
    - assert
    linkageType: ''
    returnType: void
    signature: void CScheduler::MockForward(std::chrono::seconds delta_seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/bitcoin-core/src/scheduler.cpp:104,1
    - Dst: scheduleFromNow
      Src: /src/bitcoin-core/src/scheduler.cpp:105,1
    - Dst: Repeat
      Src: /src/bitcoin-core/src/scheduler.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' s'
    - f
    - delta
    argTypes:
    - CScheduler
    - CScheduler::Function
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: Repeat
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 1
    functionsReached:
    - f
    - scheduleFromNow
    - Repeat
    linkageType: ''
    returnType: void
    signature: void Repeat(CScheduler& s, CScheduler::Function f, std::chrono::milliseconds
      delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheduleFromNow
      Src: /src/bitcoin-core/src/scheduler.cpp:110,1
    - Dst: Repeat
      Src: /src/bitcoin-core/src/scheduler.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - f
    - delta
    argTypes:
    - CScheduler::Function
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: CScheduler::scheduleEvery
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - scheduleFromNow
    - Repeat
    linkageType: ''
    returnType: void
    signature: void CScheduler::scheduleEvery(CScheduler::Function f, std::chrono::milliseconds
      delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:116,1
    - Dst: size
      Src: /src/bitcoin-core/src/scheduler.cpp:117,1
    - Dst: empty
      Src: /src/bitcoin-core/src/scheduler.cpp:118,1
    - Dst: begin
      Src: /src/bitcoin-core/src/scheduler.cpp:119,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/scheduler.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' first'
    - ' last'
    argTypes:
    - std::chrono::steady_clock::time_point
    - std::chrono::steady_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: CScheduler::getQueueInfo
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - LOCK
    - rbegin
    - begin
    linkageType: ''
    returnType: size_t
    signature: "size_t CScheduler::getQueueInfo(std::chrono::steady_clock::time_point&
      first,\n                                std::chrono::steady_clock::time_point&
      last) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: CScheduler::AreThreadsServicingQueue
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool CScheduler::AreThreadsServicingQueue() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:135,1
    - Dst: empty
      Src: /src/bitcoin-core/src/scheduler.cpp:140,1
    - Dst: schedule
      Src: /src/bitcoin-core/src/scheduler.cpp:142,1
    - Dst: SerialTaskRunner::ProcessQueue
      Src: /src/bitcoin-core/src/scheduler.cpp:142,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/scheduler.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: SerialTaskRunner::MaybeScheduleProcessQueue
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - SerialTaskRunner::ProcessQueue
    - empty
    - wallet::WalletRescanReserver::now
    - LOCK
    - schedule
    linkageType: ''
    returnType: void
    signature: void SerialTaskRunner::MaybeScheduleProcessQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:149,1
    - Dst: empty
      Src: /src/bitcoin-core/src/scheduler.cpp:151,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/scheduler.cpp:154,1
    - Dst: front
      Src: /src/bitcoin-core/src/scheduler.cpp:154,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/scheduler.cpp:155,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:166,1
    - Dst: SerialTaskRunner::MaybeScheduleProcessQueue
      Src: /src/bitcoin-core/src/scheduler.cpp:169,1
    - Dst: callback
      Src: /src/bitcoin-core/src/scheduler.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: SerialTaskRunner::ProcessQueue
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 1
    functionsReached:
    - pop_front
    - empty
    - std::move
    - callback
    - LOCK
    - SerialTaskRunner::MaybeScheduleProcessQueue
    - front
    linkageType: ''
    returnType: void
    signature: void SerialTaskRunner::ProcessQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _instance
    argTypes:
    - SerialTaskRunner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: RAIICallbacksRunning
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RAIICallbacksRunning(SerialTaskRunner* _instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:166,1
    - Dst: MaybeScheduleProcessQueue
      Src: /src/bitcoin-core/src/scheduler.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: ~RAIICallbacksRunning()
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - MaybeScheduleProcessQueue
    linkageType: ''
    returnType: void
    signature: void ~RAIICallbacksRunning()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:179,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/scheduler.cpp:180,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/scheduler.cpp:180,1
    - Dst: SerialTaskRunner::MaybeScheduleProcessQueue
      Src: /src/bitcoin-core/src/scheduler.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: SerialTaskRunner::insert
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - LOCK
    - std::move
    - SerialTaskRunner::MaybeScheduleProcessQueue
    linkageType: ''
    returnType: void
    signature: void SerialTaskRunner::insert(std::function<void()> func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/scheduler.cpp:187,1
    - Dst: AreThreadsServicingQueue
      Src: /src/bitcoin-core/src/scheduler.cpp:187,1
    - Dst: SerialTaskRunner::ProcessQueue
      Src: /src/bitcoin-core/src/scheduler.cpp:190,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:191,1
    - Dst: empty
      Src: /src/bitcoin-core/src/scheduler.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_scheduler.AreThreadsServicingQueue())
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/bitcoin-core/src/scheduler.cpp
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: SerialTaskRunner::flush
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 0
    functionsReached:
    - SerialTaskRunner::ProcessQueue
    - empty
    - LOCK
    - AreThreadsServicingQueue
    - assert
    linkageType: ''
    returnType: void
    signature: void SerialTaskRunner::flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/scheduler.cpp:198,1
    - Dst: SerialTaskRunner::size
      Src: /src/bitcoin-core/src/scheduler.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: SerialTaskRunner::size
    functionSourceFile: /src/bitcoin-core/src/scheduler.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - SerialTaskRunner::size
    linkageType: ''
    returnType: size_t
    signature: size_t SerialTaskRunner::size()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/httprpc.cpp:44,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/httprpc.cpp:48,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/httprpc.cpp:55,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/httprpc.cpp:55,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/httprpc.cpp:57,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - req
    - objError
    - ' jreq'
    argTypes:
    - HTTPRequest*
    - UniValue
    - JSONRPCRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: JSONErrorReply
    functionSourceFile: /src/bitcoin-core/src/httprpc.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - HTTPRequest*::WriteHeader
    - std::move
    - UniValue::find_value
    - HTTPRequest*::WriteReply
    - JSONRPCReplyObj
    linkageType: ''
    returnType: void
    signature: void JSONErrorReply(HTTPRequest* req, UniValue objError, const JSONRPCRequest&
      jreq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/httprpc.cpp:66,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/httprpc.cpp:66,1
    - Dst: CHMAC_SHA256
      Src: /src/bitcoin-core/src/httprpc.cpp:74,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/httprpc.cpp:74,1
    - Dst: data
      Src: /src/bitcoin-core/src/httprpc.cpp:74,1
    - Dst: size
      Src: /src/bitcoin-core/src/httprpc.cpp:74,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/httprpc.cpp:74,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/httprpc.cpp:74,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/httprpc.cpp:74,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/httprpc.cpp:74,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/httprpc.cpp:75,1
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/httprpc.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - user
    - pass
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: CheckUserAuthorized
    functionSourceFile: /src/bitcoin-core/src/httprpc.cpp
    functionUses: 0
    functionsReached:
    - CHMAC_SHA256
    - UCharCast
    - std::array::data
    - size
    - data
    - TimingResistantEqual
    - std::string_view::size
    - HexStr
    - std::string_view::data
    - std::string_view
    linkageType: ''
    returnType: bool
    signature: bool CheckUserAuthorized(std::string_view user, std::string_view pass)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/bitcoin-core/src/httprpc.cpp:86,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/httprpc.cpp:88,1
    - Dst: substr
      Src: /src/bitcoin-core/src/httprpc.cpp:88,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/httprpc.cpp:89,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/httprpc.cpp:92,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/httprpc.cpp:92,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/httprpc.cpp:92,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/httprpc.cpp:94,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/httprpc.cpp:98,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/httprpc.cpp:99,1
    - Dst: CheckUserAuthorized
      Src: /src/bitcoin-core/src/httprpc.cpp:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' strAuth'
    - ' strAuthUsernameOut'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: RPCAuthorized
    functionSourceFile: /src/bitcoin-core/src/httprpc.cpp
    functionUses: 0
    functionsReached:
    - substr
    - auto::begin
    - TrimStringView
    - DecodeBase64
    - std::string::assign
    - starts_with
    - CheckUserAuthorized
    - std::string::find
    - auto::end
    - std::string::substr
    linkageType: ''
    returnType: bool
    signature: bool RPCAuthorized(const std::string& strAuth, std::string& strAuthUsernameOut)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: HTTPRequest*::GetRequestMethod
      Src: /src/bitcoin-core/src/httprpc.cpp:107,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:108,1
    - Dst: HTTPRequest*::GetHeader
      Src: /src/bitcoin-core/src/httprpc.cpp:112,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/httprpc.cpp:114,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:115,1
    - Dst: HTTPRequest*::GetPeer
      Src: /src/bitcoin-core/src/httprpc.cpp:121,1
    - Dst: RPCAuthorized
      Src: /src/bitcoin-core/src/httprpc.cpp:122,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httprpc.cpp:123,1
    - Dst: UninterruptibleSleep
      Src: /src/bitcoin-core/src/httprpc.cpp:128,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/httprpc.cpp:130,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:131,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/httprpc.cpp:137,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/httprpc.cpp:138,1
    - Dst: HTTPRequest*::ReadBody
      Src: /src/bitcoin-core/src/httprpc.cpp:138,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/httprpc.cpp:139,1
    - Dst: HTTPRequest*::GetURI
      Src: /src/bitcoin-core/src/httprpc.cpp:142,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/httprpc.cpp:144,1
    - Dst: count
      Src: /src/bitcoin-core/src/httprpc.cpp:145,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httprpc.cpp:147,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:148,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/httprpc.cpp:152,1
    - Dst: JSONRPCRequest::parse
      Src: /src/bitcoin-core/src/httprpc.cpp:153,1
    - Dst: count
      Src: /src/bitcoin-core/src/httprpc.cpp:154,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httprpc.cpp:155,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:156,1
    - Dst: JSONRPCExec
      Src: /src/bitcoin-core/src/httprpc.cpp:165,1
    - Dst: JSONRPCRequest::IsNotification
      Src: /src/bitcoin-core/src/httprpc.cpp:167,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:169,1
    - Dst: UniValue::isArray
      Src: /src/bitcoin-core/src/httprpc.cpp:174,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/httprpc.cpp:177,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/httprpc.cpp:178,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/httprpc.cpp:179,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/httprpc.cpp:181,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/httprpc.cpp:183,1
    - Dst: count
      Src: /src/bitcoin-core/src/httprpc.cpp:184,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httprpc.cpp:185,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:186,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/httprpc.cpp:195,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/httprpc.cpp:198,1
    - Dst: JSONRPCRequest::parse
      Src: /src/bitcoin-core/src/httprpc.cpp:200,1
    - Dst: JSONRPCExec
      Src: /src/bitcoin-core/src/httprpc.cpp:201,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/httprpc.cpp:203,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/httprpc.cpp:203,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/httprpc.cpp:205,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/httprpc.cpp:205,1
    - Dst: what
      Src: /src/bitcoin-core/src/httprpc.cpp:205,1
    - Dst: JSONRPCRequest::IsNotification
      Src: /src/bitcoin-core/src/httprpc.cpp:207,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/httprpc.cpp:208,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/httprpc.cpp:208,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/httprpc.cpp:220,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/httprpc.cpp:220,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:221,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/httprpc.cpp:226,1
    - Dst: HTTPRequest*::WriteHeader
      Src: /src/bitcoin-core/src/httprpc.cpp:228,1
    - Dst: HTTPRequest*::WriteReply
      Src: /src/bitcoin-core/src/httprpc.cpp:229,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/httprpc.cpp:229,1
    - Dst: JSONErrorReply
      Src: /src/bitcoin-core/src/httprpc.cpp:231,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/httprpc.cpp:231,1
    - Dst: JSONErrorReply
      Src: /src/bitcoin-core/src/httprpc.cpp:234,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/httprpc.cpp:234,1
    - Dst: what
      Src: /src/bitcoin-core/src/httprpc.cpp:234,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 85
    argCount: 2
    argNames:
    - ' context'
    - req
    argTypes:
    - std::any
    - HTTPRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 238
    functionName: HTTPReq_JSONRPC
    functionSourceFile: /src/bitcoin-core/src/httprpc.cpp
    functionUses: 0
    functionsReached:
    - UninterruptibleSleep
    - HTTPRequest*::GetHeader
    - HTTPRequest*::WriteHeader
    - HTTPRequest*::GetPeer
    - find_value
    - std::move
    - JSONRPCExec
    - what
    - HTTPRequest*::WriteReply
    - JSONRPCRequest::parse
    - HTTPRequest*::GetURI
    - HTTPRequest*::ReadBody
    - isObject
    - UniValue::push_back
    - HTTPRequest*::GetRequestMethod
    - UniValue::read
    - JSONRPCRequest::IsNotification
    - UniValue::isArray
    - get_obj
    - UniValue::size
    - RPCAuthorized
    - count
    - JSONRPCReplyObj
    - UniValue::write
    - UniValue::UniValue
    - LogPrintf
    - JSONRPCError
    - UniValue::isObject
    - JSONErrorReply
    linkageType: ''
    returnType: bool
    signature: bool HTTPReq_JSONRPC(const std::any& context, HTTPRequest* req)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/httprpc.cpp:245,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/httprpc.cpp:248,1
    - Dst: InterpretPermString
      Src: /src/bitcoin-core/src/httprpc.cpp:250,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/httprpc.cpp:252,1
    - Dst: GenerateAuthCookie
      Src: /src/bitcoin-core/src/httprpc.cpp:258,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/httprpc.cpp:262,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/httprpc.cpp:265,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/httprpc.cpp:269,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/httprpc.cpp:270,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/httprpc.cpp:271,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/httprpc.cpp:272,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/httprpc.cpp:276,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/httprpc.cpp:276,1
    - Dst: GetStrongRandBytes
      Src: /src/bitcoin-core/src/httprpc.cpp:279,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/httprpc.cpp:280,1
    - Dst: CHMAC_SHA256
      Src: /src/bitcoin-core/src/httprpc.cpp:284,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/httprpc.cpp:284,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/httprpc.cpp:284,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/httprpc.cpp:284,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/httprpc.cpp:284,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/httprpc.cpp:284,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/httprpc.cpp:284,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/httprpc.cpp:284,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/httprpc.cpp:285,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/httprpc.cpp:287,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httprpc.cpp:290,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/httprpc.cpp:291,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httprpc.cpp:292,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/httprpc.cpp:293,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/httprpc.cpp:294,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/httprpc.cpp:294,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/httprpc.cpp:295,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/httprpc.cpp:295,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/httprpc.cpp:296,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/httprpc.cpp:297,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/httprpc.cpp:297,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/httprpc.cpp:297,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/httprpc.cpp:297,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/httprpc.cpp:298,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/httprpc.cpp:300,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/httprpc.cpp:306,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httprpc.cpp:306,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/httprpc.cpp:307,1
    - Dst: find
      Src: /src/bitcoin-core/src/httprpc.cpp:308,1
    - Dst: substr
      Src: /src/bitcoin-core/src/httprpc.cpp:309,1
    - Dst: count
      Src: /src/bitcoin-core/src/httprpc.cpp:310,1
    - Dst: substr
      Src: /src/bitcoin-core/src/httprpc.cpp:313,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/httprpc.cpp:314,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/httprpc.cpp:316,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/httprpc.cpp:316,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/httprpc.cpp:317,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/httprpc.cpp:317,1
    - Dst: std::set_intersection
      Src: /src/bitcoin-core/src/httprpc.cpp:320,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/httprpc.cpp:320,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/httprpc.cpp:320,1
    - Dst: begin
      Src: /src/bitcoin-core/src/httprpc.cpp:321,1
    - Dst: end
      Src: /src/bitcoin-core/src/httprpc.cpp:321,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/httprpc.cpp:321,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/httprpc.cpp:321,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/httprpc.cpp:322,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/httprpc.cpp:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 329
    functionName: InitRPCAuthentication
    functionSourceFile: /src/bitcoin-core/src/httprpc.cpp
    functionUses: 0
    functionsReached:
    - substr
    - GetArgs
    - std::string::data
    - std::set_intersection
    - GetArg
    - std::string::empty
    - std::move
    - LogInfo
    - std::set::end
    - SplitString
    - std::vector::end
    - std::array::data
    - std::vector::back
    - std::set::begin
    - GetStrongRandBytes
    - std::vector::insert
    - LogWarning
    - std::vector::pop_back
    - std::vector::size
    - find
    - CHMAC_SHA256
    - LogError
    - InterpretPermString
    - std::make_move_iterator
    - GenerateAuthCookie
    - count
    - end
    - UCharCast
    - std::string::size
    - push_back
    - std::inserter
    - std::vector::begin
    - LogPrintf
    - GetBoolArg
    - HexStr
    - begin
    linkageType: ''
    returnType: bool
    signature: bool InitRPCAuthentication()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httprpc.cpp:333,1
    - Dst: InitRPCAuthentication
      Src: /src/bitcoin-core/src/httprpc.cpp:334,1
    - Dst: HTTPReq_JSONRPC
      Src: /src/bitcoin-core/src/httprpc.cpp:337,1
    - Dst: RegisterHTTPHandler
      Src: /src/bitcoin-core/src/httprpc.cpp:338,1
    - Dst: HasWalletSupport
      Src: /src/bitcoin-core/src/httprpc.cpp:339,1
    - Dst: RegisterHTTPHandler
      Src: /src/bitcoin-core/src/httprpc.cpp:340,1
    - Dst: EventBase
      Src: /src/bitcoin-core/src/httprpc.cpp:342,1
    - Dst: assert
      Src: /src/bitcoin-core/src/httprpc.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts:
    - condition: (eventBase)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/bitcoin-core/src/httprpc.cpp
    constantsTouched: []
    func_position:
      end: 345
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 345
    functionName: StartHTTPRPC
    functionSourceFile: /src/bitcoin-core/src/httprpc.cpp
    functionUses: 0
    functionsReached:
    - InitRPCAuthentication
    - LogDebug
    - HTTPReq_JSONRPC
    - HasWalletSupport
    - RegisterHTTPHandler
    - assert
    - EventBase
    linkageType: ''
    returnType: bool
    signature: bool StartHTTPRPC(const std::any& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httprpc.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: InterruptHTTPRPC
    functionSourceFile: /src/bitcoin-core/src/httprpc.cpp
    functionUses: 0
    functionsReached:
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void InterruptHTTPRPC()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/httprpc.cpp:354,1
    - Dst: UnregisterHTTPHandler
      Src: /src/bitcoin-core/src/httprpc.cpp:355,1
    - Dst: HasWalletSupport
      Src: /src/bitcoin-core/src/httprpc.cpp:356,1
    - Dst: UnregisterHTTPHandler
      Src: /src/bitcoin-core/src/httprpc.cpp:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: StopHTTPRPC
    functionSourceFile: /src/bitcoin-core/src/httprpc.cpp
    functionUses: 0
    functionsReached:
    - LogDebug
    - UnregisterHTTPHandler
    - HasWalletSupport
    linkageType: ''
    returnType: void
    signature: void StopHTTPRPC()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/netgroup.cpp:13,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/netgroup.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: NetGroupManager::GetAsmapChecksum
    functionSourceFile: /src/bitcoin-core/src/netgroup.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    - size
    linkageType: ''
    returnType: uint256
    signature: uint256 NetGroupManager::GetAsmapChecksum() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NetGroupManager::GetMappedAS
      Src: /src/bitcoin-core/src/netgroup.cpp:23,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netgroup.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netgroup.cpp:27,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netgroup.cpp:32,1
    - Dst: GetNetClass
      Src: /src/bitcoin-core/src/netgroup.cpp:32,1
    - Dst: IsLocal
      Src: /src/bitcoin-core/src/netgroup.cpp:36,1
    - Dst: IsInternal
      Src: /src/bitcoin-core/src/netgroup.cpp:38,1
    - Dst: size
      Src: /src/bitcoin-core/src/netgroup.cpp:41,1
    - Dst: IsRoutable
      Src: /src/bitcoin-core/src/netgroup.cpp:43,1
    - Dst: HasLinkedIPv4
      Src: /src/bitcoin-core/src/netgroup.cpp:45,1
    - Dst: GetLinkedIPv4
      Src: /src/bitcoin-core/src/netgroup.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netgroup.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netgroup.cpp:49,1
    - Dst: IsTor
      Src: /src/bitcoin-core/src/netgroup.cpp:51,1
    - Dst: IsI2P
      Src: /src/bitcoin-core/src/netgroup.cpp:51,1
    - Dst: IsCJDNS
      Src: /src/bitcoin-core/src/netgroup.cpp:53,1
    - Dst: IsHeNet
      Src: /src/bitcoin-core/src/netgroup.cpp:59,1
    - Dst: GetAddrBytes
      Src: /src/bitcoin-core/src/netgroup.cpp:68,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/netgroup.cpp:70,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/netgroup.cpp:70,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/netgroup.cpp:70,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/netgroup.cpp:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netgroup.cpp:74,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/netgroup.cpp:74,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/netgroup.cpp:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - CNetAddr
    assertStmts:
    - condition: (num_bytes < addr_bytes.size())
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/netgroup.cpp
    constantsTouched: []
    func_position:
      end: 79
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 79
    functionName: NetGroupManager::GetGroup
    functionSourceFile: /src/bitcoin-core/src/netgroup.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - GetAddrBytes
    - std::vector::push_back
    - IsLocal
    - IsInternal
    - std::vector::end
    - auto::begin
    - NetGroupManager::GetMappedAS
    - IsI2P
    - std::vector::insert
    - IsRoutable
    - IsCJDNS
    - IsTor
    - assert
    - IsHeNet
    - size
    - GetNetClass
    - GetLinkedIPv4
    - HasLinkedIPv4
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> NetGroupManager::GetGroup(const CNetAddr&
      address) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetNetClass
      Src: /src/bitcoin-core/src/netgroup.cpp:83,1
    - Dst: size
      Src: /src/bitcoin-core/src/netgroup.cpp:84,1
    - Dst: HasLinkedIPv4
      Src: /src/bitcoin-core/src/netgroup.cpp:88,1
    - Dst: GetLinkedIPv4
      Src: /src/bitcoin-core/src/netgroup.cpp:95,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netgroup.cpp:101,1
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netgroup.cpp:101,1
    - Dst: GetAddrBytes
      Src: /src/bitcoin-core/src/netgroup.cpp:102,1
    - Dst: Interpret
      Src: /src/bitcoin-core/src/netgroup.cpp:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - CNetAddr
    assertStmts:
    - condition: (address.IsIPv6())
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/bitcoin-core/src/netgroup.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: NetGroupManager::GetMappedAS
    functionSourceFile: /src/bitcoin-core/src/netgroup.cpp
    functionUses: 1
    functionsReached:
    - GetAddrBytes
    - size
    - Interpret
    - GetNetClass
    - GetLinkedIPv4
    - IsIPv6
    - assert
    - HasLinkedIPv4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NetGroupManager::GetMappedAS(const CNetAddr& address) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetGroupManager::GetMappedAS
      Src: /src/bitcoin-core/src/netgroup.cpp:119,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/netgroup.cpp:124,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/netgroup.cpp:127,1
    - Dst: size
      Src: /src/bitcoin-core/src/netgroup.cpp:127,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/netgroup.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' clearnet_addrs'
    argTypes:
    - std::vector<CNetAddr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: NetGroupManager::ASMapHealthCheck
    functionSourceFile: /src/bitcoin-core/src/netgroup.cpp
    functionUses: 0
    functionsReached:
    - NetGroupManager::GetMappedAS
    - size
    - LogPrintf
    - std::set::insert
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void NetGroupManager::ASMapHealthCheck(const std::vector<CNetAddr>&
      clearnet_addrs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/netgroup.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: NetGroupManager::UsingASMap
    functionSourceFile: /src/bitcoin-core/src/netgroup.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NetGroupManager::UsingASMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cluster() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cluster(const Cluster&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '& operator=(const Cluster&)'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cluster
    signature: Cluster & operator=(const Cluster&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cluster(Cluster&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: '& operator=(Cluster&&)'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cluster
    signature: Cluster & operator=(Cluster&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: Cluster::IsAcceptable
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsAcceptable(bool after_split = false) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: Cluster::IsOptimal
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOptimal() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Cluster::IsOversized
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOversized() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Cluster::NeedsSplitting
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedsSplitting() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: Cluster::GetTxCount
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: LinearizationIndex
    signature: LinearizationIndex GetTxCount() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Cluster::GetClusterEntry
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GraphIndex
    signature: GraphIndex GetClusterEntry(DepGraphIndex index) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cluster_idx
    - graph_idx
    argTypes:
    - DepGraphIndex
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: Cluster::UpdateMapping
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateMapping(DepGraphIndex cluster_idx, GraphIndex graph_idx)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: TxGraphImpl::ClusterSet
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClusterSet() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - graph_index
    - chunk_count
    argTypes:
    - GraphIndex
    - LinearizationIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: TxGraphImpl::ChunkData
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkData(GraphIndex graph_index, LinearizationIndex chunk_count)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Cluster*
    - Cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: TxGraphImpl::CompareClusters
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering CompareClusters(Cluster* a, Cluster* b) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:346,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:346,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:346,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/txgraph.cpp:350,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:356,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:356,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:356,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GraphIndex
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: TxGraphImpl::CompareMainTransactions
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - FeeRateCompare
    - size
    - TxGraphImpl::CompareClusters
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering CompareMainTransactions(GraphIndex a, GraphIndex
      b) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - graph
    argTypes:
    - TxGraphImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 369
    functionName: TxGraphImpl::ChunkOrder::ChunkOrder
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkOrder(const TxGraphImpl* graph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareMainTransactions
      Src: /src/bitcoin-core/src/txgraph.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ChunkData
    - ChunkData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: operator()(const ChunkData& a, const ChunkData& b) const noexcept
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - CompareMainTransactions
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ChunkData& a, const ChunkData& b) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: TxGraphImpl::SetMissing
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetMissing() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DepGraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: TxGraphImpl::SetRemoved
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - DepGraphIndex
    linkageType: ''
    returnType: void
    signature: void SetRemoved() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - i
    argTypes:
    - Cluster*
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: TxGraphImpl::SetPresent
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPresent(Cluster* c, DepGraphIndex i) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: TxGraphImpl::IsMissing
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMissing() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DepGraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: TxGraphImpl::IsRemoved
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - DepGraphIndex
    linkageType: ''
    returnType: bool
    signature: bool IsRemoved() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: TxGraphImpl::IsPresent
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsPresent() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChunkOrder
      Src: /src/bitcoin-core/src/txgraph.cpp:467,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:469,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - max_cluster_count
    - max_cluster_size
    - acceptable_iters
    argTypes:
    - DepGraphIndex
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: TxGraphImpl::TxGraphImpl
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - ChunkOrder
    - Assume
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl(DepGraphIndex max_cluster_count, uint64_t max_cluster_size,
      uint64_t acceptable_iters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: TxGraphImpl::TxGraphImpl
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl(const TxGraphImpl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: '& operator=(const TxGraphImpl&)'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxGraphImpl
    signature: TxGraphImpl & operator=(const TxGraphImpl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: TxGraphImpl::TxGraphImpl
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl(TxGraphImpl&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 480
    functionName: '& operator=(TxGraphImpl&&)'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxGraphImpl
    signature: TxGraphImpl & operator=(TxGraphImpl&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: TxGraphImpl::GetTopLevel
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: int
    signature: int GetTopLevel() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - main_only
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: TxGraphImpl::GetSpecifiedLevel
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: int
    signature: int GetSpecifiedLevel(bool main_only) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - idx
    - ' new_location'
    argTypes:
    - GraphIndex
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: TxGraphImpl::UpdateRef
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: void UpdateRef(GraphIndex idx, Ref& new_location) noexcept final
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:529,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:530,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:530,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:536,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:537,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:540,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:544,1
    - Dst: m_to_remove::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:545,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:553,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:558,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:559,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - idx
    argTypes:
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 560
    functionName: TxGraphImpl::UnlinkRef
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GetClusterSet
    - m_to_remove::push_back
    - push_back
    - TxGraphImpl::Compact
    - TxGraphImpl::IsRemoved
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: void
    signature: void UnlinkRef(GraphIndex idx) noexcept final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    functionName: TxGraphImpl::HaveStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool HaveStaging() const noexcept final
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:627,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:628,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 630
    functionName: '& TxGraphImpl::GetClusterSet(int level) noexcept'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - has_value
    linkageType: ''
    returnType: TxGraphImpl::ClusterSet
    signature: TxGraphImpl::ClusterSet & TxGraphImpl::GetClusterSet(int level) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:635,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:636,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 638
    functionName: '& TxGraphImpl::GetClusterSet(int level) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - has_value
    linkageType: ''
    returnType: TxGraphImpl::ClusterSet
    signature: TxGraphImpl::ClusterSet & TxGraphImpl::GetClusterSet(int level) const
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:672,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:673,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:676,1
    - Dst: extract
      Src: /src/bitcoin-core/src/txgraph.cpp:676,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Entry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 679
    functionName: TxGraphImpl::ClearChunkData
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - extract
    - emplace_back
    - Assume
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::ClearChunkData(Entry& entry) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:684,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:686,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:689,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:689,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:689,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:690,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:692,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/txgraph.cpp:695,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - idx
    - chunk_count
    argTypes:
    - GraphIndex
    - LinearizationIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 699
    functionName: TxGraphImpl::CreateChunkData
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - Assume
    - empty
    - back
    - std::move
    - pop_back
    - insert
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::CreateChunkData(GraphIndex idx, LinearizationIndex
      chunk_count) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: Cluster::GetTotalTxSize
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - FeeRate
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Cluster::GetTotalTxSize() const noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:713,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:714,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:714,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:716,1
    - Dst: TxGraphImpl::SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:717,1
    - Dst: TxGraphImpl::SetRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:719,1
    - Dst: m_removed::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:720,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:726,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:727,1
    - Dst: TxGraphImpl::SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:728,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:729,1
    - Dst: TxGraphImpl::ClearChunkData
      Src: /src/bitcoin-core/src/txgraph.cpp:734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - level
    - idx
    - oversized_tx
    argTypes:
    - int
    - GraphIndex
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 735
    functionName: TxGraphImpl::ClearLocator
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::SetMissing
    - TxGraphImpl::SetRemoved
    - Assume
    - GetClusterSet
    - TxGraphImpl::IsRemoved
    - m_removed::push_back
    - TxGraphImpl::ClearChunkData
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::ClearLocator(int level, GraphIndex idx, bool oversized_tx)
      noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ClearChunkData
      Src: /src/bitcoin-core/src/txgraph.cpp:744,1
    - Dst: SetPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:745,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:752,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/txgraph.cpp:756,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:757,1
    - Dst: auto::transactions::Count
      Src: /src/bitcoin-core/src/txgraph.cpp:758,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:759,1
    - Dst: FromFeeFrac
      Src: /src/bitcoin-core/src/txgraph.cpp:766,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:767,1
    - Dst: auto::transactions::Reset
      Src: /src/bitcoin-core/src/txgraph.cpp:768,1
    - Dst: auto::transactions::None
      Src: /src/bitcoin-core/src/txgraph.cpp:769,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/txgraph.cpp:771,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:775,1
    - Dst: CreateChunkData
      Src: /src/bitcoin-core/src/txgraph.cpp:777,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 783
    functionName: Cluster::Updated
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - ClearChunkData
    - Cluster::IsAcceptable
    - Assume
    - FromFeeFrac
    - CreateChunkData
    - LinearizationIndex
    - LinearizationChunking::NumChunksLeft
    - auto::transactions::Reset
    - auto::transactions::None
    - LinearizationChunking::GetChunk
    - SetPresent
    - auto::transactions::Count
    linkageType: ''
    returnType: void
    signature: void Cluster::Updated(TxGraphImpl& graph) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:787,1
    - Dst: IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:792,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' graph'
    - ' out'
    argTypes:
    - TxGraphImpl
    - std::vector<Cluster*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 796
    functionName: Cluster::GetConflicts
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - IsPresent
    - Assume
    linkageType: ''
    returnType: void
    signature: void Cluster::GetConflicts(const TxGraphImpl& graph, std::vector<Cluster*>&
      out) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:800,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:800,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:801,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:806,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:807,1
    - Dst: TxGraphImpl::GetConflicts
      Src: /src/bitcoin-core/src/txgraph.cpp:814,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:818,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:818,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:818,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:818,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    - Dst: std::unique
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 821
    functionName: TxGraphImpl::GetConflicts
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - std::vector::erase
    - Assume
    - GetClusterSet
    - std::vector::begin
    - TxGraphImpl::CompareClusters
    - std::vector::push_back
    - std::unique
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::GetConflicts
    - std::sort
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: std::vector<Cluster*>
    signature: std::vector<Cluster*> TxGraphImpl::GetConflicts() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Cluster>
      Src: /src/bitcoin-core/src/txgraph.cpp:826,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/txgraph.cpp:827,1
    - Dst: InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:833,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:833,1
    - Dst: auto::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 837
    functionName: Cluster::CopyToStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Cluster>
    - std::move
    - InsertCluster
    - auto::Updated
    - auto::get
    linkageType: ''
    returnType: Cluster
    signature: Cluster * Cluster::CopyToStaging(TxGraphImpl& graph) const noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:842,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:842,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:845,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:846,1
    - Dst: m_entries::size
      Src: /src/bitcoin-core/src/txgraph.cpp:846,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:852,1
    - Dst: GraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:856,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:859,1
    - Dst: ClearLocator
      Src: /src/bitcoin-core/src/txgraph.cpp:862,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:863,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:864,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:867,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/txgraph.cpp:867,1
    - Dst: RemoveTransactions
      Src: /src/bitcoin-core/src/txgraph.cpp:870,1
    - Dst: resize
      Src: /src/bitcoin-core/src/txgraph.cpp:871,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/txgraph.cpp:871,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:874,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:874,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/txgraph.cpp:875,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:875,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:876,1
    - Dst: SetType::None
      Src: /src/bitcoin-core/src/txgraph.cpp:878,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:881,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txgraph.cpp:888,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/txgraph.cpp:888,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:889,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:890,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:891,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:894,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:895,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - ' graph'
    - ' to_remove'
    argTypes:
    - TxGraphImpl
    - std::span<GraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 896
    functionName: Cluster::ApplyRemovals
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - begin
    - SetType::Any
    - SetType::Set
    - RemoveTransactions
    - pop_back
    - ClearLocator
    - resize
    - GraphIndex
    - back
    - std::remove_if
    - Cluster::IsAcceptable
    - empty
    - Assume
    - SetType::Reset
    - SetType::None
    - PositionRange
    - end
    - Cluster::Updated
    - erase
    - SetClusterQuality
    - LinearizationIndex
    - m_entries::size
    - front
    - subspan
    linkageType: ''
    returnType: void
    signature: void Cluster::ApplyRemovals(TxGraphImpl& graph, std::span<GraphIndex>&
      to_remove) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearLocator
      Src: /src/bitcoin-core/src/txgraph.cpp:901,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:904,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: Cluster::Clear
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - ClearLocator
    - clear
    linkageType: ''
    returnType: void
    signature: void Cluster::Clear(TxGraphImpl& graph) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:910,1
    - Dst: SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:914,1
    - Dst: ExtractCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:917,1
    - Dst: InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:918,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:918,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 920
    functionName: Cluster::MoveToMain
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - ExtractCluster
    - Cluster::Updated
    - Assume
    - std::move
    - InsertCluster
    - SetMissing
    linkageType: ''
    returnType: void
    signature: void Cluster::MoveToMain(TxGraphImpl& graph) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/txgraph.cpp:924,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:925,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:925,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/txgraph.cpp:925,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:926,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:926,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:926,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/txgraph.cpp:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - std::vector<FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 927
    functionName: Cluster::AppendChunkFeerates
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - reserve
    - auto::size
    - auto::begin
    - ChunkLinearization
    - size
    - auto::end
    - insert
    linkageType: ''
    returnType: void
    signature: void Cluster::AppendChunkFeerates(std::vector<FeeFrac>& ret) const
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:934,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/txgraph.cpp:936,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:937,1
    - Dst: Count
      Src: /src/bitcoin-core/src/txgraph.cpp:939,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:943,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:945,1
    - Dst: FromFeeFrac
      Src: /src/bitcoin-core/src/txgraph.cpp:946,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:950,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ' ret'
    - ' deps'
    argTypes:
    - std::vector<TrimTxData>
    - std::vector<std::pair<GraphIndex, GraphIndex>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 958
    functionName: Cluster::AppendTrimData
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GraphIndex
    - FromFeeFrac
    - LinearizationChunking::GetChunk
    - Count
    - emplace_back
    - LinearizationChunking::NumChunksLeft
    - FeeRate
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Cluster::AppendTrimData(std::vector<TrimTxData>& ret, std::vector<std::pair<GraphIndex,
      GraphIndex>>& deps) const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:963,1
    - Dst: Cluster::NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:963,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:965,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:974,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:977,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/txgraph.cpp:980,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/txgraph.cpp:984,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/txgraph.cpp:985,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/txgraph.cpp:986,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:989,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:989,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:990,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:993,1
    - Dst: std::make_unique<Cluster>
      Src: /src/bitcoin-core/src/txgraph.cpp:998,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:999,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/txgraph.cpp:999,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/txgraph.cpp:1003,1
    - Dst: DepGraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1003,1
    - Dst: InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1005,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1005,1
    - Dst: Cluster*::m_depgraph::AddTransaction
      Src: /src/bitcoin-core/src/txgraph.cpp:1013,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:1013,1
    - Dst: Cluster*::m_mapping::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1015,1
    - Dst: Cluster*::m_linearization::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1018,1
    - Dst: GetReducedParents
      Src: /src/bitcoin-core/src/txgraph.cpp:1026,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:1026,1
    - Dst: Cluster*::m_depgraph::AddDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1027,1
    - Dst: Cluster*::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:1031,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1035,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1036,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 960
    functionDepth: 2
    functionLinenumber: 960
    functionLinenumberEnd: 1038
    functionName: Cluster::Split
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - auto::Any
    - Cluster*::m_depgraph::AddTransaction
    - SetType::Set
    - FindConnectedComponent
    - std::move
    - std::vector::push_back
    - InsertCluster
    - FeeRate
    - Cluster::NeedsSplitting
    - GetReducedParents
    - clear
    - DepGraphIndex
    - Cluster::IsAcceptable
    - Cluster*::m_mapping::push_back
    - Assume
    - PostLinearize
    - Cluster*::m_linearization::push_back
    - auto::Count
    - Cluster*::m_depgraph::AddDependencies
    - Cluster*::Updated
    - PositionRange
    - Cluster::Updated
    - SetClusterQuality
    - std::make_unique<Cluster>
    - auto::get
    linkageType: ''
    returnType: bool
    signature: bool Cluster::Split(TxGraphImpl& graph) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_depgraph::PositionRange
      Src: /src/bitcoin-core/src/txgraph.cpp:1043,1
    - Dst: AddTransaction
      Src: /src/bitcoin-core/src/txgraph.cpp:1048,1
    - Dst: m_depgraph::FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:1048,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1050,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1051,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1055,1
    - Dst: m_depgraph::GetReducedParents
      Src: /src/bitcoin-core/src/txgraph.cpp:1060,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:1061,1
    - Dst: AddDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1063,1
    - Dst: ClearChunkData
      Src: /src/bitcoin-core/src/txgraph.cpp:1070,1
    - Dst: SetPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:1071,1
    - Dst: m_linearization::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1075,1
    - Dst: m_mapping::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' graph'
    - ' other'
    argTypes:
    - TxGraphImpl
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1077
    functionName: Cluster::Merge
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - ClearChunkData
    - AddTransaction
    - m_depgraph::GetReducedParents
    - m_depgraph::FeeRate
    - push_back
    - SetType::Set
    - size
    - AddDependencies
    - m_mapping::clear
    - m_depgraph::PositionRange
    - m_linearization::clear
    - SetPresent
    linkageType: ''
    returnType: void
    signature: void Cluster::Merge(TxGraphImpl& graph, Cluster& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1087,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1090,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1090,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1090,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1092,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1093,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1099,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1102,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:1104,1
    - Dst: AddDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1110,1
    - Dst: FixLinearization
      Src: /src/bitcoin-core/src/txgraph.cpp:1115,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1116,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1117,1
    - Dst: Cluster::NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:1117,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1118,1
    - Dst: Cluster::IsOversized
      Src: /src/bitcoin-core/src/txgraph.cpp:1118,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1119,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:1120,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:1124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' graph'
    - to_apply
    argTypes:
    - TxGraphImpl
    - std::span<std::pair<GraphIndex, GraphIndex>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1125
    functionName: Cluster::ApplyDependencies
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Cluster::IsAcceptable
    - FixLinearization
    - Cluster::NeedsSplitting
    - Cluster::IsOversized
    - Assume
    - Cluster::Updated
    - std::span<std::pair<GraphIndex, GraphIndex>>::end
    - SetClusterQuality
    - PostLinearize
    - SetType::Set
    - AddDependencies
    - std::span<std::pair<GraphIndex, GraphIndex>>::begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void Cluster::ApplyDependencies(TxGraphImpl& graph, std::span<std::pair<GraphIndex,
      GraphIndex>> to_apply) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1136
    functionName: TxGraphImpl::~TxGraphImpl() noexcept
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - GetRefGraph
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::~TxGraphImpl() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1140,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1142,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1144,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1144,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1147,1
    - Dst: ClusterSetIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1149,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1153,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1156,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1157,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1158,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1158,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - level
    - quality
    - setindex
    argTypes:
    - int
    - QualityLevel
    - ClusterSetIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1164
    functionName: TxGraphImpl::ExtractCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GetClusterSet
    - back
    - std::move
    - size
    - pop_back
    - ClusterSetIndex
    linkageType: ''
    returnType: std::unique_ptr<Cluster>
    signature: std::unique_ptr<Cluster> TxGraphImpl::ExtractCluster(int level, QualityLevel
      quality, ClusterSetIndex setindex) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1169,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1171,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1174,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1176,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1180,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - level
    - ' cluster'
    - quality
    argTypes:
    - int
    - std::unique_ptr<Cluster>
    - QualityLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1182
    functionName: TxGraphImpl::InsertCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GetClusterSet
    - push_back
    - std::move
    - size
    linkageType: ''
    returnType: ClusterSetIndex
    signature: ClusterSetIndex TxGraphImpl::InsertCluster(int level, std::unique_ptr<Cluster>&&
      cluster, QualityLevel quality) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1186,1
    - Dst: TxGraphImpl::ExtractCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1191,1
    - Dst: TxGraphImpl::InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1193,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - level
    - old_quality
    - old_index
    - new_quality
    argTypes:
    - int
    - QualityLevel
    - ClusterSetIndex
    - QualityLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1194
    functionName: TxGraphImpl::SetClusterQuality
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ExtractCluster
    - TxGraphImpl::InsertCluster
    - Assume
    - std::move
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SetClusterQuality(int level, QualityLevel old_quality,
      ClusterSetIndex old_index, QualityLevel new_quality) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::ExtractCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1199,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/txgraph.cpp:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cluster'
    argTypes:
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1202
    functionName: TxGraphImpl::DeleteCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ExtractCluster
    - auto::reset
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::DeleteCluster(Cluster& cluster) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1206,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1206,1
    - Dst: TxGraphImpl::IsMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:1212,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:1214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - idx
    - level
    argTypes:
    - GraphIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1220
    functionName: TxGraphImpl::FindCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::IsMissing
    - TxGraphImpl::IsRemoved
    - Assume
    - TxGraphImpl::GetTopLevel
    linkageType: ''
    returnType: Cluster
    signature: Cluster * TxGraphImpl::FindCluster(GraphIndex idx, int level) const
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1224,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1225,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1227,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1232,1
    - Dst: Cluster*::CopyToStaging
      Src: /src/bitcoin-core/src/txgraph.cpp:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cluster
    argTypes:
    - Cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1236
    functionName: TxGraphImpl::PullIn
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::MakeAcceptable
    - Cluster*::CopyToStaging
    - Assume
    - TxGraphImpl::GetTopLevel
    linkageType: ''
    returnType: Cluster
    signature: Cluster * TxGraphImpl::PullIn(Cluster* cluster) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1240,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1240,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1242,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1245,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1249,1
    - Dst: TxGraphImpl::PullIn
      Src: /src/bitcoin-core/src/txgraph.cpp:1250,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1254,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1254,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:1254,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:1257,1
    - Dst: std::span::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1261,1
    - Dst: std::span::front
      Src: /src/bitcoin-core/src/txgraph.cpp:1262,1
    - Dst: Cluster*::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:1266,1
    - Dst: std::span::subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1270,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1273,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:1275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - up_to_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1276
    functionName: TxGraphImpl::ApplyRemovals
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::span::front
    - empty
    - GetClusterSet
    - Assume
    - std::span::empty
    - Cluster*::ApplyRemovals
    - std::span::subspan
    - TxGraphImpl::Compact
    - TxGraphImpl::CompareClusters
    - clear
    - TxGraphImpl::PullIn
    - TxGraphImpl::GetTopLevel
    - std::sort
    - TxGraphImpl::FindCluster
    - begin
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::ApplyRemovals(int up_to_level) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1280,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1280,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1281,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1281,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:1283,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1289,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:1291,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:1298,1
    - Dst: cluster::UpdateMapping
      Src: /src/bitcoin-core/src/txgraph.cpp:1299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GraphIndex
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1303
    functionName: TxGraphImpl::SwapIndexes
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - Assume
    - size
    - swap
    - GetRefIndex
    - cluster::UpdateMapping
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SwapIndexes(GraphIndex a, GraphIndex b) noexcept
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1309,1
    - Dst: m_to_remove::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1310,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1311,1
    - Dst: m_removed::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1311,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:1312,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1313,1
    - Dst: m_to_remove::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1314,1
    - Dst: m_removed::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1315,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/txgraph.cpp:1319,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1325,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1325,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:1325,1
    - Dst: GraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1327,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1331,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1336,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1339,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:1339,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1343,1
    - Dst: TxGraphImpl::SwapIndexes
      Src: /src/bitcoin-core/src/txgraph.cpp:1343,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1343,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1345,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1348
    functionName: TxGraphImpl::Compact
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached:
    - end
    - TxGraphImpl::IsPresent
    - m_deps_to_add::empty
    - Assume
    - GraphIndex
    - begin
    - size
    - TxGraphImpl::SwapIndexes
    - clear
    - m_to_remove::empty
    - has_value
    - pop_back
    - std::sort
    - ClearShrink
    - m_removed::empty
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::Compact() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:1354,1
    - Dst: TxGraphImpl::Split
      Src: /src/bitcoin-core/src/txgraph.cpp:1355,1
    - Dst: TxGraphImpl::DeleteCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' cluster'
    argTypes:
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 3
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: TxGraphImpl::Split
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - TxGraphImpl::Split
    - TxGraphImpl::ApplyRemovals
    - TxGraphImpl::DeleteCluster
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::Split(Cluster& cluster) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1364,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1364,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:1366,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1369,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1370,1
    - Dst: TxGraphImpl::Split
      Src: /src/bitcoin-core/src/txgraph.cpp:1371,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - up_to_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1362
    functionDepth: 4
    functionLinenumber: 1362
    functionLinenumberEnd: 1375
    functionName: TxGraphImpl::SplitAll
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - empty
    - GetClusterSet
    - Assume
    - TxGraphImpl::ApplyRemovals
    - TxGraphImpl::Split
    - back
    - TxGraphImpl::GetTopLevel
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SplitAll(int up_to_level) noexcept
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1379,1
    - Dst: m_group_data::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:1381,1
    - Dst: TxGraphImpl::SplitAll
      Src: /src/bitcoin-core/src/txgraph.cpp:1386,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1401,1
    - Dst: GetClusterEntry
      Src: /src/bitcoin-core/src/txgraph.cpp:1402,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1403,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1405,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1411,1
    - Dst: m_deps_to_add::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1411,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1413,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1414,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1417,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1420,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1422,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1426,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1426,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1426,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::unique
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1429,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1429,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1429,1
    - Dst: std::lower_bound
      Src: /src/bitcoin-core/src/txgraph.cpp:1453,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1453,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1453,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1455,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1455,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1456,1
    - Dst: find_root_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1477,1
    - Dst: find_root_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1478,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:1482,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:1489,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1489,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1490,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1502,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1503,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1504,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1507,1
    - Dst: union_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1512,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1512,1
    - Dst: union_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1515,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1515,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1515,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1521,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1522,1
    - Dst: find_root_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1526,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1529,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1531,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1532,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1542,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1542,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1542,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1543,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1543,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1543,1
    - Dst: m_group_data::m_group_clusters::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1548,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1548,1
    - Dst: m_deps_to_add::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1549,1
    - Dst: m_deps_to_add::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1550,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1550,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1552,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1553,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1554,1
    - Dst: m_group_data::m_groups::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1558,1
    - Dst: m_group_data::m_group_clusters::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1559,1
    - Dst: m_deps_to_add::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1561,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1566,1
    - Dst: m_group_data::m_group_clusters::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1567,1
    - Dst: auto::first::GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:1568,1
    - Dst: auto::first::GetTotalTxSize
      Src: /src/bitcoin-core/src/txgraph.cpp:1569,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1574,1
    - Dst: m_deps_to_add::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1575,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1584,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1584,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1585,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1585,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:1586,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 108
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1377
    functionDepth: 5
    functionLinenumber: 1377
    functionLinenumberEnd: 1587
    functionName: TxGraphImpl::GroupClusters
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - m_deps_to_add::clear
    - std::vector::emplace_back
    - m_deps_to_add::reserve
    - m_group_data::m_group_clusters::push_back
    - union_fn
    - swap
    - m_group_data::m_groups::emplace_back
    - auto::first::GetTxCount
    - std::vector::end
    - GetClusterEntry
    - std::vector::reserve
    - m_group_data::m_group_clusters::size
    - std::vector::size
    - m_deps_to_add::push_back
    - std::vector::erase
    - Assume
    - GetClusterSet
    - std::lower_bound
    - std::unique
    - std::vector::resize
    - locate_fn
    - m_group_data::has_value
    - TxGraphImpl::Compact
    - std::vector::begin
    - TxGraphImpl::SplitAll
    - find_root_fn
    - m_deps_to_add::size
    - auto::first::GetTotalTxSize
    - std::sort
    - m_group_data::m_group_clusters::reserve
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::GroupClusters(int level) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1591,1
    - Dst: std::span<Cluster*>::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1591,1
    - Dst: std::span<Cluster*>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1593,1
    - Dst: GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:1599,1
    - Dst: std::span<Cluster*>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1600,1
    - Dst: GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:1601,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:1607,1
    - Dst: std::span<Cluster*>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1610,1
    - Dst: TxGraphImpl::Merge
      Src: /src/bitcoin-core/src/txgraph.cpp:1611,1
    - Dst: TxGraphImpl::DeleteCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - to_merge
    argTypes:
    - std::span<Cluster*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1589
    functionDepth: 3
    functionLinenumber: 1589
    functionLinenumberEnd: 1614
    functionName: TxGraphImpl::Merge
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - TxGraphImpl::DeleteCluster
    - std::span<Cluster*>::size
    - std::span<Cluster*>::empty
    - Assume
    - swap
    - GetTxCount
    - TxGraphImpl::Merge
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::Merge(std::span<Cluster*> to_merge) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1618,1
    - Dst: TxGraphImpl::GroupClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:1622,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1623,1
    - Dst: m_group_data::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:1623,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1625,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1631,1
    - Dst: TxGraphImpl::PullIn
      Src: /src/bitcoin-core/src/txgraph.cpp:1636,1
    - Dst: TxGraphImpl::Merge
      Src: /src/bitcoin-core/src/txgraph.cpp:1640,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1643,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1645,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1645,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1647,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:1647,1
    - Dst: cluster::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1648,1
    - Dst: m_deps_to_add::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1652,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:1653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1616
    functionDepth: 6
    functionLinenumber: 1616
    functionLinenumberEnd: 1657
    functionName: TxGraphImpl::ApplyDependencies
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - m_deps_to_add::clear
    - Assume
    - GetClusterSet
    - subspan
    - m_group_data::has_value
    - TxGraphImpl::Compact
    - TxGraphImpl::GroupClusters
    - cluster::ApplyDependencies
    - auto::empty
    - TxGraphImpl::PullIn
    - TxGraphImpl::Merge
    - TxGraphImpl::IsPresent
    - m_deps_to_add::empty
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::ApplyDependencies(int level) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1662,1
    - Dst: Cluster::NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:1662,1
    - Dst: Cluster::IsOptimal
      Src: /src/bitcoin-core/src/txgraph.cpp:1664,1
    - Dst: m_rng::rand64
      Src: /src/bitcoin-core/src/txgraph.cpp:1666,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1667,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1670,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1672,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:1676,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1678,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:1679,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:1683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' graph'
    - max_iters
    argTypes:
    - TxGraphImpl
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1685
    functionName: Cluster::Relinearize
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Linearize
    - Cluster::IsAcceptable
    - Cluster::NeedsSplitting
    - Cluster::Updated
    - Assume
    - m_rng::rand64
    - SetClusterQuality
    - PostLinearize
    - std::move
    - Cluster::IsOptimal
    linkageType: ''
    returnType: std::pair<uint64_t, bool>
    signature: std::pair<uint64_t, bool> Cluster::Relinearize(TxGraphImpl& graph,
      uint64_t max_iters) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:1690,1
    - Dst: IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1690,1
    - Dst: TxGraphImpl::IsOversized
      Src: /src/bitcoin-core/src/txgraph.cpp:1690,1
    - Dst: Relinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ' cluster'
    argTypes:
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1693
    functionName: TxGraphImpl::MakeAcceptable
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - Relinearize
    - TxGraphImpl::IsOversized
    - IsAcceptable
    - NeedsSplitting
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::MakeAcceptable(Cluster& cluster) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1697,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1698,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1701,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1702,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1695
    functionDepth: 7
    functionLinenumber: 1695
    functionLinenumberEnd: 1704
    functionName: TxGraphImpl::MakeAllAcceptable
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - empty
    - GetClusterSet
    - back
    - TxGraphImpl::MakeAcceptable
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::MakeAllAcceptable(int level) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1706
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cluster::Cluster(uint64_t sequence) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddTransaction
      Src: /src/bitcoin-core/src/txgraph.cpp:1712,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1713,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sequence
    - ' graph'
    - ' feerate'
    - graph_index
    argTypes:
    - uint64_t
    - TxGraphImpl
    - FeePerWeight
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1708
    functionDepth: 1
    functionLinenumber: 1708
    functionLinenumberEnd: 1715
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - AddTransaction
    linkageType: ''
    returnType: void
    signature: void Cluster::Cluster(uint64_t sequence, TxGraphImpl& graph, const
      FeePerWeight& feerate, GraphIndex graph_index) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1719,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1719,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1724,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1725,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1726,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:1727,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1729,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1730,1
    - Dst: std::make_unique<Cluster>
      Src: /src/bitcoin-core/src/txgraph.cpp:1733,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/txgraph.cpp:1734,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1735,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1736,1
    - Dst: TxGraphImpl::InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1737,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1737,1
    - Dst: auto::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:1738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' feerate'
    argTypes:
    - FeePerWeight
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1717
    functionDepth: 2
    functionLinenumber: 1717
    functionLinenumberEnd: 1748
    functionName: TxGraphImpl::AddTransaction
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - Assume
    - GetClusterSet
    - TxGraphImpl::InsertCluster
    - back
    - GetRefGraph
    - std::make_unique<Cluster>
    - size
    - GetRefIndex
    - std::move
    - TxGraphImpl::GetTopLevel
    - emplace_back
    - auto::Updated
    - auto::get
    linkageType: ''
    returnType: TxGraph::Ref
    signature: TxGraph::Ref TxGraphImpl::AddTransaction(const FeePerWeight& feerate)
      noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1754,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1755,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1755,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1756,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1756,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1758,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1759,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1759,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1762,1
    - Dst: m_to_remove::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1763,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1763,1
    - Dst: m_group_data::reset
      Src: /src/bitcoin-core/src/txgraph.cpp:1765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1767
    functionName: TxGraphImpl::RemoveTransaction
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GetClusterSet
    - m_to_remove::push_back
    - GetRefGraph
    - GetRefIndex
    - m_group_data::reset
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::RemoveTransaction(const Ref& arg) noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1773,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1773,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1774,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1774,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1774,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1775,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1775,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1777,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1777,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1780,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1781,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1781,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1783,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1783,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1786,1
    - Dst: m_deps_to_add::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1787,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1787,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1787,1
    - Dst: m_group_data::reset
      Src: /src/bitcoin-core/src/txgraph.cpp:1789,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ' parent'
    - ' child'
    argTypes:
    - Ref
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1769
    functionDepth: 2
    functionLinenumber: 1769
    functionLinenumberEnd: 1791
    functionName: TxGraphImpl::AddDependency
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - m_deps_to_add::emplace_back
    - Assume
    - GetClusterSet
    - GetRefGraph
    - GetRefIndex
    - m_group_data::reset
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::AddDependency(const Ref& parent, const Ref& child)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1795,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1796,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1796,1
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1797,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:1799,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1800,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' arg'
    - main_only
    argTypes:
    - Ref
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1793
    functionDepth: 3
    functionLinenumber: 1793
    functionLinenumberEnd: 1802
    functionName: TxGraphImpl::Exists
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - TxGraphImpl::ApplyRemovals
    - GetRefGraph
    - GetRefIndex
    - TxGraphImpl::GetSpecifiedLevel
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: bool
    signature: bool TxGraphImpl::Exists(const Ref& arg, bool main_only) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1809,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:1810,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/txgraph.cpp:1811,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:1811,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1812,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1814,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/txgraph.cpp:1814,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1818,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' graph'
    - ' args'
    - ' output'
    argTypes:
    - TxGraphImpl
    - std::span<std::pair<Cluster*, DepGraphIndex>>
    - std::vector<TxGraph::Ref*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1821
    functionName: Cluster::GetAncestorRefs
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - empty
    - push_back
    - SetType::Any
    - Ancestors
    - front
    - subspan
    linkageType: ''
    returnType: void
    signature: void Cluster::GetAncestorRefs(const TxGraphImpl& graph, std::span<std::pair<Cluster*,
      DepGraphIndex>>& args, std::vector<TxGraph::Ref*>& output) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1828,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:1829,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/txgraph.cpp:1830,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:1830,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1831,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1833,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/txgraph.cpp:1833,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1837,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' graph'
    - ' args'
    - ' output'
    argTypes:
    - TxGraphImpl
    - std::span<std::pair<Cluster*, DepGraphIndex>>
    - std::vector<TxGraph::Ref*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1840
    functionName: Cluster::GetDescendantRefs
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Descendants
    - Assume
    - empty
    - push_back
    - SetType::Any
    - front
    - subspan
    linkageType: ''
    returnType: void
    signature: void Cluster::GetDescendantRefs(const TxGraphImpl& graph, std::span<std::pair<Cluster*,
      DepGraphIndex>>& args, std::vector<TxGraph::Ref*>& output) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1847,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1847,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1849,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' graph'
    - range
    - start_pos
    argTypes:
    - TxGraphImpl
    - std::span<TxGraph::Ref*>
    - LinearizationIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1854
    functionName: Cluster::GetClusterRefs
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - size
    - Assume
    linkageType: ''
    returnType: bool
    signature: bool Cluster::GetClusterRefs(TxGraphImpl& graph, std::span<TxGraph::Ref*>
      range, LinearizationIndex start_pos) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromFeeFrac
      Src: /src/bitcoin-core/src/txgraph.cpp:1858,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:1858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1859
    functionName: Cluster::GetIndividualFeerate
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - FromFeeFrac
    - FeeRate
    linkageType: ''
    returnType: FeePerWeight
    signature: FeePerWeight Cluster::GetIndividualFeerate(DepGraphIndex idx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1863,1
    - Dst: SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:1869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1871
    functionName: Cluster::MakeStagingTransactionsMissing
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - SetMissing
    - Assume
    linkageType: ''
    returnType: void
    signature: void Cluster::MakeStagingTransactionsMissing(TxGraphImpl& graph) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1876,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1877,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1877,1
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1879,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1880,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1882,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1882,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1882,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1884,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1884,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1887,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/txgraph.cpp:1888,1
    - Dst: auto::GetAncestorRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' arg'
    - main_only
    argTypes:
    - Ref
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1873
    functionDepth: 7
    functionLinenumber: 1873
    functionLinenumberEnd: 1892
    functionName: TxGraphImpl::GetAncestors
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetClusterSet
    - empty
    - auto::GetAncestorRefs
    - GetRefGraph
    - GetRefIndex
    - TxGraphImpl::GetSpecifiedLevel
    - std::span
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetAncestors(const Ref& arg,
      bool main_only) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1897,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1898,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1898,1
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1900,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1901,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1903,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1903,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1903,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1905,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1905,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1908,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/txgraph.cpp:1909,1
    - Dst: auto::GetDescendantRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' arg'
    - main_only
    argTypes:
    - Ref
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1894
    functionDepth: 7
    functionLinenumber: 1894
    functionLinenumberEnd: 1913
    functionName: TxGraphImpl::GetDescendants
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetClusterSet
    - empty
    - GetRefGraph
    - GetRefIndex
    - TxGraphImpl::GetSpecifiedLevel
    - std::span
    - TxGraphImpl::FindCluster
    - auto::GetDescendantRefs
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetDescendants(const Ref& arg,
      bool main_only) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1918,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1919,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1921,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1921,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1921,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1925,1
    - Dst: std::span<const Ref* const>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1925,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1927,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1929,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1930,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1930,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1932,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1932,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1935,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1935,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1938,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1938,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1938,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:1938,1
    - Dst: std::span::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1942,1
    - Dst: std::span::front
      Src: /src/bitcoin-core/src/txgraph.cpp:1943,1
    - Dst: GetAncestorRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1943,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - args
    - main_only
    argTypes:
    - std::span<const Ref* const>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1915
    functionDepth: 7
    functionLinenumber: 1915
    functionLinenumberEnd: 1946
    functionName: TxGraphImpl::GetAncestorsUnion
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - std::vector::end
    - std::vector::emplace_back
    - std::span::front
    - empty
    - Assume
    - GetClusterSet
    - GetAncestorRefs
    - std::span::empty
    - GetRefGraph
    - std::vector::reserve
    - GetRefIndex
    - std::vector::begin
    - TxGraphImpl::CompareClusters
    - TxGraphImpl::GetSpecifiedLevel
    - std::span<const Ref* const>::size
    - std::sort
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetAncestorsUnion(std::span<const
      Ref* const> args, bool main_only) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1951,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1952,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1954,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1954,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1954,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1958,1
    - Dst: std::span<const Ref* const>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1958,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1960,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1962,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1963,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1963,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1965,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1965,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1968,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1968,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1971,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1971,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1971,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:1971,1
    - Dst: std::span::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1975,1
    - Dst: std::span::front
      Src: /src/bitcoin-core/src/txgraph.cpp:1976,1
    - Dst: GetDescendantRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1976,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - args
    - main_only
    argTypes:
    - std::span<const Ref* const>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1948
    functionDepth: 7
    functionLinenumber: 1948
    functionLinenumberEnd: 1979
    functionName: TxGraphImpl::GetDescendantsUnion
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - std::vector::end
    - std::vector::emplace_back
    - std::span::front
    - empty
    - Assume
    - GetClusterSet
    - std::span::empty
    - GetRefGraph
    - std::vector::reserve
    - GetRefIndex
    - std::vector::begin
    - TxGraphImpl::CompareClusters
    - TxGraphImpl::GetSpecifiedLevel
    - std::span<const Ref* const>::size
    - std::sort
    - TxGraphImpl::FindCluster
    - GetDescendantRefs
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetDescendantsUnion(std::span<const
      Ref* const> args, bool main_only) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1985,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1986,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1986,1
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1988,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1989,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1991,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1991,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1991,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1993,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1993,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1996,1
    - Dst: auto::GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:1997,1
    - Dst: auto::GetClusterRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' arg'
    - main_only
    argTypes:
    - Ref
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1981
    functionDepth: 7
    functionLinenumber: 1981
    functionLinenumberEnd: 2000
    functionName: TxGraphImpl::GetCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetClusterSet
    - empty
    - GetRefGraph
    - auto::GetTxCount
    - GetRefIndex
    - TxGraphImpl::MakeAcceptable
    - auto::GetClusterRefs
    - TxGraphImpl::GetSpecifiedLevel
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetCluster(const Ref& arg,
      bool main_only) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2004,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:2005,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - main_only
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 2002
    functionDepth: 3
    functionLinenumber: 2002
    functionLinenumberEnd: 2007
    functionName: TxGraphImpl::GetTransactionCount
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyRemovals
    - TxGraphImpl::GetSpecifiedLevel
    - GetClusterSet
    linkageType: ''
    returnType: TxGraph::GraphIndex
    signature: TxGraph::GraphIndex TxGraphImpl::GetTransactionCount(bool main_only)
      noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2012,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2013,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2013,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2017,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:2020,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2021,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2021,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2022,1
    - Dst: Cluster*::GetIndividualFeerate
      Src: /src/bitcoin-core/src/txgraph.cpp:2028,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2028,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2009
    functionDepth: 3
    functionLinenumber: 2009
    functionLinenumberEnd: 2029
    functionName: TxGraphImpl::GetIndividualFeerate
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - TxGraphImpl::ApplyRemovals
    - GetRefGraph
    - GetRefIndex
    - Cluster*::GetIndividualFeerate
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: FeePerWeight
    signature: FeePerWeight TxGraphImpl::GetIndividualFeerate(const Ref& arg) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2034,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2035,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2035,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2037,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2039,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2039,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:2041,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2041,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2045,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2031
    functionDepth: 7
    functionLinenumber: 2031
    functionLinenumberEnd: 2048
    functionName: TxGraphImpl::GetMainChunkFeerate
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetRefGraph
    - GetRefIndex
    - TxGraphImpl::MakeAcceptable
    - TxGraphImpl::FindCluster
    - m_deps_to_add::empty
    linkageType: ''
    returnType: FeePerWeight
    signature: FeePerWeight TxGraphImpl::GetMainChunkFeerate(const Ref& arg) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2052,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2053,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2054,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:2058,1
    - Dst: TxGraphImpl::GroupClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:2064,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2066,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - main_only
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2050
    functionDepth: 6
    functionLinenumber: 2050
    functionLinenumberEnd: 2068
    functionName: TxGraphImpl::IsOversized
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - Assume
    - m_oversized::has_value
    - GetClusterSet
    - TxGraphImpl::ApplyRemovals
    - TxGraphImpl::GroupClusters
    - TxGraphImpl::GetSpecifiedLevel
    linkageType: ''
    returnType: bool
    signature: bool TxGraphImpl::IsOversized(bool main_only) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2073,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2073,1
    - Dst: TxGraphImpl::SplitAll
      Src: /src/bitcoin-core/src/txgraph.cpp:2079,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2080,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/txgraph.cpp:2082,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2090,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2070
    functionDepth: 7
    functionLinenumber: 2070
    functionLinenumberEnd: 2091
    functionName: TxGraphImpl::StartStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - emplace
    - Assume
    - m_oversized::has_value
    - TxGraphImpl::SplitAll
    - has_value
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::StartStaging() noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2096,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2096,1
    - Dst: TxGraphImpl::SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:2100,1
    - Dst: MakeStagingTransactionsMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:2105,1
    - Dst: reset
      Src: /src/bitcoin-core/src/txgraph.cpp:2109,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:2110,1
    - Dst: m_group_data::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2111,1
    - Dst: m_to_remove::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2093
    functionDepth: 3
    functionLinenumber: 2093
    functionLinenumberEnd: 2122
    functionName: TxGraphImpl::AbortStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::SetMissing
    - MakeStagingTransactionsMissing
    - Assume
    - m_group_data::has_value
    - TxGraphImpl::Compact
    - reset
    - m_to_remove::empty
    - has_value
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::AbortStaging() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2127,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2127,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2128,1
    - Dst: TxGraphImpl::GetConflicts
      Src: /src/bitcoin-core/src/txgraph.cpp:2131,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2133,1
    - Dst: TxGraphImpl::DeleteCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:2134,1
    - Dst: TxGraphImpl::SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:2139,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2144,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:2145,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2149,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2150,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2151,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2152,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2153,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2154,1
    - Dst: reset
      Src: /src/bitcoin-core/src/txgraph.cpp:2156,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:2157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2124
    functionDepth: 3
    functionLinenumber: 2124
    functionLinenumberEnd: 2158
    functionName: TxGraphImpl::CommitStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::SetMissing
    - TxGraphImpl::DeleteCluster
    - Assume
    - empty
    - back
    - TxGraphImpl::Compact
    - std::move
    - reset
    - Clear
    - has_value
    - TxGraphImpl::GetConflicts
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::CommitStaging() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2163,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:2163,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:2165,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:2168,1
    - Dst: Cluster::NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:2171,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:2172,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:2174,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:2176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' graph'
    - idx
    - fee
    argTypes:
    - TxGraphImpl
    - DepGraphIndex
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2160
    functionDepth: 2
    functionLinenumber: 2160
    functionLinenumberEnd: 2177
    functionName: Cluster::SetFee
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - Cluster::NeedsSplitting
    - Cluster::Updated
    - Assume
    - SetClusterQuality
    - FeeRate
    linkageType: ''
    returnType: void
    signature: void Cluster::SetFee(TxGraphImpl& graph, DepGraphIndex idx, int64_t
      fee) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2182,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2183,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2183,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2184,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2186,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2189,1
    - Dst: cluster::SetFee
      Src: /src/bitcoin-core/src/txgraph.cpp:2190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' ref'
    - fee
    argTypes:
    - Ref
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2193
    functionName: TxGraphImpl::SetTransactionFee
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GetRefGraph
    - GetRefIndex
    - cluster::SetFee
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SetTransactionFee(const Ref& ref, int64_t fee) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2198,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2198,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2199,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2199,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2201,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2202,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2202,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2204,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2205,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2208,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2208,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2209,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2209,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2210,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2211,1
    - Dst: TxGraphImpl::CompareMainTransactions
      Src: /src/bitcoin-core/src/txgraph.cpp:2213,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2213,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Ref
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2195
    functionDepth: 7
    functionLinenumber: 2195
    functionLinenumberEnd: 2214
    functionName: TxGraphImpl::CompareMainOrder
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetRefGraph
    - TxGraphImpl::CompareMainTransactions
    - GetRefIndex
    - TxGraphImpl::MakeAcceptable
    - TxGraphImpl::IsPresent
    - m_deps_to_add::empty
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering TxGraphImpl::CompareMainOrder(const Ref& a, const
      Ref& b) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2218,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2219,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2220,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2221,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2221,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:2224,1
    - Dst: std::span<const Ref* const>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:2224,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2226,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2227,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2228,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2228,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:2229,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2229,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2230,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2233,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2233,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2233,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:2233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - refs
    - main_only
    argTypes:
    - std::span<const Ref* const>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2216
    functionDepth: 7
    functionLinenumber: 2216
    functionLinenumberEnd: 2241
    functionName: TxGraphImpl::CountDistinctClusters
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - std::vector::end
    - Assume
    - GetClusterSet
    - GetRefGraph
    - std::vector::reserve
    - GetRefIndex
    - std::vector::push_back
    - std::vector::begin
    - TxGraphImpl::CompareClusters
    - TxGraphImpl::GetSpecifiedLevel
    - std::span<const Ref* const>::size
    - std::sort
    - TxGraphImpl::FindCluster
    - m_deps_to_add::empty
    linkageType: ''
    returnType: TxGraph::GraphIndex
    signature: TxGraph::GraphIndex TxGraphImpl::CountDistinctClusters(std::span<const
      Ref* const> refs, bool main_only) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2245,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2245,1
    - Dst: TxGraphImpl::MakeAllAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2246,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2247,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2247,1
    - Dst: TxGraphImpl::MakeAllAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2248,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2249,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2249,1
    - Dst: TxGraphImpl::GetConflicts
      Src: /src/bitcoin-core/src/txgraph.cpp:2252,1
    - Dst: AppendChunkFeerates
      Src: /src/bitcoin-core/src/txgraph.cpp:2255,1
    - Dst: AppendChunkFeerates
      Src: /src/bitcoin-core/src/txgraph.cpp:2260,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2264,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2264,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2264,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2265,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2265,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:2265,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/txgraph.cpp:2266,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2266,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2243
    functionDepth: 8
    functionLinenumber: 2243
    functionLinenumberEnd: 2267
    functionName: TxGraphImpl::GetMainStagingDiagrams
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - std::make_pair
    - Assume
    - TxGraphImpl::MakeAllAcceptable
    - std::vector::begin
    - std::move
    - has_value
    - AppendChunkFeerates
    - TxGraphImpl::GetConflicts
    - std::sort
    - begin
    - m_deps_to_add::empty
    linkageType: ''
    returnType: std::pair<std::vector<FeeFrac>, std::vector<FeeFrac>>
    signature: std::pair<std::vector<FeeFrac>, std::vector<FeeFrac>> TxGraphImpl::GetMainStagingDiagrams()
      noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2272,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/txgraph.cpp:2272,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2272,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2274,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:2274,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2274,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2276,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2276,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2278,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2282,1
    - Dst: Cluster::GetTotalTxSize
      Src: /src/bitcoin-core/src/txgraph.cpp:2282,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2286,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2286,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2295,1
    - Dst: IsAcyclic
      Src: /src/bitcoin-core/src/txgraph.cpp:2295,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2297,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2297,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:2300,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2301,1
    - Dst: SetType::IsSupersetOf
      Src: /src/bitcoin-core/src/txgraph.cpp:2301,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/txgraph.cpp:2301,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2303,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2304,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2306,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2307,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2309,1
    - Dst: LinearizationChunking::MarkDone
      Src: /src/bitcoin-core/src/txgraph.cpp:2310,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2310,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2313,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2313,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2316,1
    - Dst: Count
      Src: /src/bitcoin-core/src/txgraph.cpp:2316,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2317,1
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2317,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:2320,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2321,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2321,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2323,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2327,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/txgraph.cpp:2327,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2327,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2331,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:2331,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - ' graph'
    - level
    argTypes:
    - TxGraphImpl
    - int
    assertStmts:
    - condition: (lin_pos < m_mapping.size())
      pos:
        line_end: 2296
        line_start: 2296
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_locator[level].cluster == this)
      pos:
        line_end: 2302
        line_start: 2302
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_main_chunk_feerate == linchunking.GetChunk(0).feerate)
      pos:
        line_end: 2312
        line_start: 2312
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: ((entry.m_main_chunkindex_iterator != graph.m_main_chunkindex.end())
        == is_chunk_end)
      pos:
        line_end: 2316
        line_start: 2316
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_quality != QualityLevel::OVERSIZED_SINGLETON || m_linearization.size()
        == 1)
      pos:
        line_end: 2285
        line_start: 2285
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_locator[level].index == lin_pos)
      pos:
        line_end: 2303
        line_start: 2303
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (chunk_data.m_chunk_count == chunk_pos)
      pos:
        line_end: 2322
        line_start: 2322
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_depgraph.IsConnected(linchunking.GetChunk(0).transactions))
      pos:
        line_end: 2326
        line_start: 2326
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_depgraph.PositionRange() == m_mapping.size())
      pos:
        line_end: 2271
        line_start: 2271
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_depgraph.TxCount() == m_linearization.size())
      pos:
        line_end: 2273
        line_start: 2273
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_done.IsSupersetOf(m_depgraph.Ancestors(lin_pos)))
      pos:
        line_end: 2300
        line_start: 2300
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_done == m_depgraph.Positions())
      pos:
        line_end: 2330
        line_start: 2330
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_linearization.size() <= graph.m_max_cluster_count)
      pos:
        line_end: 2275
        line_start: 2275
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_level == level)
      pos:
        line_end: 2277
        line_start: 2277
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_quality == QualityLevel::OVERSIZED_SINGLETON || GetTotalTxSize()
        <= graph.m_max_cluster_size)
      pos:
        line_end: 2281
        line_start: 2281
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_depgraph.IsAcyclic())
      pos:
        line_end: 2294
        line_start: 2294
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_main_lin_index == linindex)
      pos:
        line_end: 2306
        line_start: 2306
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (chunk_data.m_chunk_count == LinearizationIndex(-1))
      pos:
        line_end: 2320
        line_start: 2320
        source_file: /src/bitcoin-core/src/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 2332
      start: 2269
    functionDepth: 1
    functionLinenumber: 2269
    functionLinenumberEnd: 2332
    functionName: Cluster::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - SetType::IsSupersetOf
    - Cluster::IsAcceptable
    - SetType::Set
    - TxCount
    - size
    - IsAcyclic
    - LinearizationChunking::MarkDone
    - LinearizationIndex
    - Ancestors
    - m_main_chunkindex::end
    - IsConnected
    - Count
    - LinearizationChunking::GetChunk
    - assert
    - PositionRange
    - Cluster::GetTotalTxSize
    linkageType: ''
    returnType: void
    signature: void Cluster::SanityCheck(const TxGraphImpl& graph, int level) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2350,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2354,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2357,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2357,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2358,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2358,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:2360,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2362,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2362,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2363,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2370,1
    - Dst: TxGraphImpl::IsMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:2370,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:2370,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2370,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2371,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2373,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2375,1
    - Dst: cluster::GetClusterEntry
      Src: /src/bitcoin-core/src/txgraph.cpp:2375,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2377,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:2379,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2381,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2383,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2385,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2392,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2393,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2394,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2402,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2405,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2406,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/txgraph.cpp:2406,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2407,1
    - Dst: GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:2410,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2411,1
    - Dst: TxGraphImpl::SanityCheck
      Src: /src/bitcoin-core/src/txgraph.cpp:2414,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2416,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2417,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2423,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2423,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2432,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2433,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2433,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2434,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2434,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2438,1
    - Dst: m_removed::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2441,1
    - Dst: m_removed::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2441,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/txgraph.cpp:2447,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txgraph.cpp:2448,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2451,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2454,1
    - Dst: m_to_remove::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2455,1
    - Dst: m_removed::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2456,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2460,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2460,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2460,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2464,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:2464,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2465,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2470,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2470,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2478,1
    - Dst: FeeFrac::IsEmpty
      Src: /src/bitcoin-core/src/txgraph.cpp:2480,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2481,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/txgraph.cpp:2481,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2485,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (GetRefIndex(*entry.m_ref) == idx)
      pos:
        line_end: 2357
        line_start: 2357
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (locator.IsMissing() + locator.IsRemoved() + locator.IsPresent()
        == 1)
      pos:
        line_end: 2369
        line_start: 2369
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (sequences.count(cluster.m_sequence) == 0)
      pos:
        line_end: 2405
        line_start: 2405
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (cluster.m_quality == quality)
      pos:
        line_end: 2415
        line_start: 2415
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (chl_idx < m_entries.size())
      pos:
        line_end: 2433
        line_start: 2433
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (!was_removed)
      pos:
        line_end: 2372
        line_start: 2372
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (level > 0)
      pos:
        line_end: 2380
        line_start: 2380
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (level < MAX_LEVELS)
      pos:
        line_end: 2392
        line_start: 2392
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (cluster.m_setindex == setindex)
      pos:
        line_end: 2416
        line_start: 2416
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (idx < m_entries.size())
      pos:
        line_end: 2422
        line_start: 2422
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_chunkindex == expected_chunkindex)
      pos:
        line_end: 2484
        line_start: 2484
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_unlinked.empty())
      pos:
        line_end: 2469
        line_start: 2469
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (GetRefGraph(*entry.m_ref) == this)
      pos:
        line_end: 2356
        line_start: 2356
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (par_idx != chl_idx)
      pos:
        line_end: 2431
        line_start: 2431
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (par_idx < m_entries.size())
      pos:
        line_end: 2432
        line_start: 2432
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (clusterset.m_oversized.has_value())
      pos:
        line_end: 2459
        line_start: 2459
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (FeeRateCompare(last_chunk_feerate, chunk_feerate) >= 0)
      pos:
        line_end: 2480
        line_start: 2480
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_locator[0].IsPresent())
      pos:
        line_end: 2361
        line_start: 2361
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (locator.cluster->GetClusterEntry(locator.index) == idx)
      pos:
        line_end: 2374
        line_start: 2374
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (was_present && !was_removed)
      pos:
        line_end: 2382
        line_start: 2382
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_clusters == expected_clusters[level])
      pos:
        line_end: 2437
        line_start: 2437
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (cluster.m_sequence < m_next_sequence_counter)
      pos:
        line_end: 2404
        line_start: 2404
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_removed == expected_removed[level])
      pos:
        line_end: 2450
        line_start: 2450
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_unlinked == expected_unlinked)
      pos:
        line_end: 2464
        line_start: 2464
        source_file: /src/bitcoin-core/src/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 2486
      start: 2334
    functionDepth: 1
    functionLinenumber: 2334
    functionLinenumberEnd: 2486
    functionName: TxGraphImpl::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - m_removed::end
    - m_oversized::has_value
    - std::set::insert
    - m_removed::empty
    - GetRefGraph
    - GetRefIndex
    - cluster::GetClusterEntry
    - m_to_remove::empty
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::IsMissing
    - TxGraphImpl::SanityCheck
    - GetClusterSet
    - FeeRateCompare
    - GetTxCount
    - FeeFrac::IsEmpty
    - std::set::erase
    - std::set::count
    - assert
    - TxGraphImpl::IsPresent
    - end
    - erase
    - TxGraphImpl::IsRemoved
    - size
    - m_removed::begin
    - std::set::empty
    - insert
    - begin
    - m_deps_to_add::empty
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SanityCheck() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2495,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2498,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2499,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2503,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/txgraph.cpp:2508,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2508,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/txgraph.cpp:2515,1
    - Dst: get
      Src: /src/bitcoin-core/src/txgraph.cpp:2517,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - iters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2488
    functionDepth: 7
    functionLinenumber: 2488
    functionLinenumberEnd: 2532
    functionName: TxGraphImpl::DoWork
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - empty
    - GetClusterSet
    - size
    - randrange
    - get
    - TxGraphImpl::GetTopLevel
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool TxGraphImpl::DoWork(uint64_t iters) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2537,1
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2542,1
    - Dst: contains
      Src: /src/bitcoin-core/src/txgraph.cpp:2549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2534
    functionDepth: 1
    functionLinenumber: 2534
    functionLinenumberEnd: 2551
    functionName: BlockBuilderImpl::Next
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - contains
    - m_main_chunkindex::end
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::Next() noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2557,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/txgraph.cpp:2558,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2561,1
    - Dst: std::optional::first::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:2564,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2565,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2569,1
    - Dst: std::optional::first::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:2570,1
    - Dst: GetClusterRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:2572,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2553
    functionDepth: 1
    functionLinenumber: 2553
    functionLinenumberEnd: 2580
    functionName: BlockBuilderImpl::GetCurrentChunk
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::optional::first::resize
    - GetClusterRefs
    - Assume
    - std::optional::emplace
    - LinearizationIndex
    - m_main_chunkindex::end
    linkageType: ''
    returnType: std::optional<std::pair<std::vector<TxGraph::Ref*>, FeePerWeight>>
    signature: std::optional<std::pair<std::vector<TxGraph::Ref*>, FeePerWeight>>
      BlockBuilderImpl::GetCurrentChunk() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeAllAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2585,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2587,1
    - Dst: m_main_clusterset::m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2587,1
    - Dst: m_main_chunkindex::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2592,1
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2582
    functionDepth: 1
    functionLinenumber: 2582
    functionLinenumberEnd: 2600
    functionName: BlockBuilderImpl::BlockBuilderImpl
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - m_main_chunkindex::begin
    - MakeAllAcceptable
    - m_main_clusterset::m_deps_to_add::empty
    - m_main_chunkindex::end
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::BlockBuilderImpl(TxGraphImpl& graph) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2602
    functionDepth: 1
    functionLinenumber: 2602
    functionLinenumberEnd: 2607
    functionName: BlockBuilderImpl::~BlockBuilderImpl()
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::~BlockBuilderImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BlockBuilderImpl::Next
      Src: /src/bitcoin-core/src/txgraph.cpp:2613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2614
    functionName: BlockBuilderImpl::Include
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - BlockBuilderImpl::Next
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::Include() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2623,1
    - Dst: BlockBuilderImpl::Next
      Src: /src/bitcoin-core/src/txgraph.cpp:2625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2626
    functionName: BlockBuilderImpl::Skip
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - insert
    - BlockBuilderImpl::Next
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::Skip() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BlockBuilderImpl>
      Src: /src/bitcoin-core/src/txgraph.cpp:2630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2631
      start: 2628
    functionDepth: 0
    functionLinenumber: 2628
    functionLinenumberEnd: 2631
    functionName: TxGraphImpl::GetBlockBuilder
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BlockBuilderImpl>
    linkageType: ''
    returnType: std::unique_ptr<TxGraph::BlockBuilder>
    signature: std::unique_ptr<TxGraph::BlockBuilder> TxGraphImpl::GetBlockBuilder()
      noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::MakeAllAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2637,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2638,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2638,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2640,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/txgraph.cpp:2641,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2644,1
    - Dst: std::pair::first::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:2646,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2647,1
    - Dst: std::pair::first::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:2650,1
    - Dst: Cluster*::GetClusterRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:2652,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/txgraph.cpp:2653,1
    - Dst: std::pair::first::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2653,1
    - Dst: std::pair::first::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2633
    functionDepth: 8
    functionLinenumber: 2633
    functionLinenumberEnd: 2658
    functionName: TxGraphImpl::GetWorstMainChunk
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::pair::first::begin
    - empty
    - Assume
    - std::pair::first::end
    - LinearizationIndex
    - TxGraphImpl::MakeAllAcceptable
    - std::pair::first::resize
    - Cluster*::GetClusterRefs
    - rbegin
    - std::reverse
    - m_deps_to_add::empty
    linkageType: ''
    returnType: std::pair<std::vector<TxGraph::Ref*>, FeePerWeight>
    signature: std::pair<std::vector<TxGraph::Ref*>, FeePerWeight> TxGraphImpl::GetWorstMainChunk()
      noexcept
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2662,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2663,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2667,1
    - Dst: TxGraphImpl::GroupClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:2669,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2670,1
    - Dst: m_group_data::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2670,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2672,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2672,1
    - Dst: find_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2735,1
    - Dst: find_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2736,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:2742,1
    - Dst: std::lower_bound
      Src: /src/bitcoin-core/src/txgraph.cpp:2753,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2753,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2753,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2756,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2756,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2762,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2763,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2764,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2765,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:2768,1
    - Dst: AppendTrimData
      Src: /src/bitcoin-core/src/txgraph.cpp:2772,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:2775,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2779,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2779,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2779,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2782,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2782,1
    - Dst: m_deps_to_add::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2783,1
    - Dst: m_deps_to_add::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2784,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2788,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2788,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2788,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2792,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2793,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2793,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2794,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2796,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2804,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2807,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2807,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2812,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2812,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2812,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2816,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2819,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2820,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2825,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2825,1
    - Dst: std::make_heap
      Src: /src/bitcoin-core/src/txgraph.cpp:2828,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2828,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2828,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2842,1
    - Dst: std::pop_heap
      Src: /src/bitcoin-core/src/txgraph.cpp:2844,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2844,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2844,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/txgraph.cpp:2846,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2847,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2855,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:2856,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2857,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2858,1
    - Dst: find_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2858,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2858,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2860,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2860,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2860,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: std::unique
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: union_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2875,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:2879,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2880,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2881,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2884,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2886,1
    - Dst: std::push_heap
      Src: /src/bitcoin-core/src/txgraph.cpp:2887,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2887,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2887,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2898,1
    - Dst: m_to_remove::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2899,1
    - Dst: m_group_data::reset
      Src: /src/bitcoin-core/src/txgraph.cpp:2903,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2905,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2905,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2660
    functionDepth: 6
    functionLinenumber: 2660
    functionLinenumberEnd: 2907
    functionName: TxGraphImpl::Trim
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - m_oversized::has_value
    - m_to_remove::push_back
    - union_fn
    - swap
    - std::vector::push_back
    - std::pop_heap
    - find_fn
    - std::vector::end
    - std::push_heap
    - std::vector::back
    - std::vector::insert
    - m_deps_to_add::begin
    - TxGraphImpl::GetTopLevel
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - std::vector::erase
    - Assume
    - GetClusterSet
    - std::make_heap
    - TxGraphImpl::GroupClusters
    - AppendTrimData
    - std::lower_bound
    - std::vector::clear
    - std::unique
    - m_group_data::reset
    - locate_fn
    - m_group_data::has_value
    - std::vector::begin
    - std::sort
    - subspan
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::Trim() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cluster() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cluster(const Cluster&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '& operator=(const Cluster&)'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cluster
    signature: Cluster & operator=(const Cluster&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cluster(Cluster&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: '& operator=(Cluster&&)'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cluster
    signature: Cluster & operator=(Cluster&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: Cluster::IsAcceptable
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsAcceptable(bool after_split = false) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: Cluster::IsOptimal
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOptimal() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Cluster::IsOversized
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOversized() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Cluster::NeedsSplitting
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedsSplitting() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: Cluster::GetTxCount
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: LinearizationIndex
    signature: LinearizationIndex GetTxCount() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Cluster::GetClusterEntry
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GraphIndex
    signature: GraphIndex GetClusterEntry(DepGraphIndex index) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cluster_idx
    - graph_idx
    argTypes:
    - DepGraphIndex
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: Cluster::UpdateMapping
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateMapping(DepGraphIndex cluster_idx, GraphIndex graph_idx)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: TxGraphImpl::ClusterSet
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClusterSet() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - graph_index
    - chunk_count
    argTypes:
    - GraphIndex
    - LinearizationIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: TxGraphImpl::ChunkData
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkData(GraphIndex graph_index, LinearizationIndex chunk_count)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Cluster*
    - Cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: TxGraphImpl::CompareClusters
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 6
    functionsReached:
    - Assume
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering CompareClusters(Cluster* a, Cluster* b) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:346,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:346,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:346,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/txgraph.cpp:350,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:356,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:356,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:356,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GraphIndex
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: TxGraphImpl::CompareMainTransactions
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - Assume
    - FeeRateCompare
    - size
    - TxGraphImpl::CompareClusters
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering CompareMainTransactions(GraphIndex a, GraphIndex
      b) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - graph
    argTypes:
    - TxGraphImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 369
    functionName: TxGraphImpl::ChunkOrder::ChunkOrder
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkOrder(const TxGraphImpl* graph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareMainTransactions
      Src: /src/bitcoin-core/src/txgraph.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ChunkData
    - ChunkData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: operator()(const ChunkData& a, const ChunkData& b) const noexcept
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - CompareMainTransactions
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ChunkData& a, const ChunkData& b) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: TxGraphImpl::SetMissing
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetMissing() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DepGraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: TxGraphImpl::SetRemoved
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - DepGraphIndex
    linkageType: ''
    returnType: void
    signature: void SetRemoved() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - i
    argTypes:
    - Cluster*
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: TxGraphImpl::SetPresent
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPresent(Cluster* c, DepGraphIndex i) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: TxGraphImpl::IsMissing
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMissing() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DepGraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: TxGraphImpl::IsRemoved
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 4
    functionsReached:
    - DepGraphIndex
    linkageType: ''
    returnType: bool
    signature: bool IsRemoved() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: TxGraphImpl::IsPresent
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsPresent() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChunkOrder
      Src: /src/bitcoin-core/src/txgraph.cpp:467,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:469,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - max_cluster_count
    - max_cluster_size
    - acceptable_iters
    argTypes:
    - DepGraphIndex
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: TxGraphImpl::TxGraphImpl
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - ChunkOrder
    - Assume
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl(DepGraphIndex max_cluster_count, uint64_t max_cluster_size,
      uint64_t acceptable_iters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: TxGraphImpl::TxGraphImpl
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl(const TxGraphImpl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: '& operator=(const TxGraphImpl&)'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxGraphImpl
    signature: TxGraphImpl & operator=(const TxGraphImpl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: TxGraphImpl::TxGraphImpl
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl(TxGraphImpl&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 480
    functionName: '& operator=(TxGraphImpl&&)'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxGraphImpl
    signature: TxGraphImpl & operator=(TxGraphImpl&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: TxGraphImpl::GetTopLevel
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 14
    functionsReached:
    - has_value
    linkageType: ''
    returnType: int
    signature: int GetTopLevel() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - main_only
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: TxGraphImpl::GetSpecifiedLevel
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 9
    functionsReached:
    - has_value
    linkageType: ''
    returnType: int
    signature: int GetSpecifiedLevel(bool main_only) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - idx
    - ' new_location'
    argTypes:
    - GraphIndex
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: TxGraphImpl::UpdateRef
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: void UpdateRef(GraphIndex idx, Ref& new_location) noexcept final
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:529,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:530,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:530,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:536,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:537,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:540,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:544,1
    - Dst: m_to_remove::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:545,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:553,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:558,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:559,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - idx
    argTypes:
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 560
    functionName: TxGraphImpl::UnlinkRef
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GetClusterSet
    - m_to_remove::push_back
    - push_back
    - TxGraphImpl::Compact
    - TxGraphImpl::IsRemoved
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: void
    signature: void UnlinkRef(GraphIndex idx) noexcept final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    functionName: TxGraphImpl::HaveStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool HaveStaging() const noexcept final
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:627,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:628,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 630
    functionName: '& TxGraphImpl::GetClusterSet(int level) noexcept'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - has_value
    linkageType: ''
    returnType: TxGraphImpl::ClusterSet
    signature: TxGraphImpl::ClusterSet & TxGraphImpl::GetClusterSet(int level) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:635,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:636,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 638
    functionName: '& TxGraphImpl::GetClusterSet(int level) const noexcept'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - has_value
    linkageType: ''
    returnType: TxGraphImpl::ClusterSet
    signature: TxGraphImpl::ClusterSet & TxGraphImpl::GetClusterSet(int level) const
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:672,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:673,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:676,1
    - Dst: extract
      Src: /src/bitcoin-core/src/txgraph.cpp:676,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Entry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 679
    functionName: TxGraphImpl::ClearChunkData
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - end
    - extract
    - emplace_back
    - Assume
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::ClearChunkData(Entry& entry) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:684,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:686,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:689,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:689,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:689,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:690,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:692,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/txgraph.cpp:695,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - idx
    - chunk_count
    argTypes:
    - GraphIndex
    - LinearizationIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 699
    functionName: TxGraphImpl::CreateChunkData
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - Assume
    - empty
    - back
    - std::move
    - pop_back
    - insert
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::CreateChunkData(GraphIndex idx, LinearizationIndex
      chunk_count) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: Cluster::GetTotalTxSize
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - FeeRate
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Cluster::GetTotalTxSize() const noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:713,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:714,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:714,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:716,1
    - Dst: TxGraphImpl::SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:717,1
    - Dst: TxGraphImpl::SetRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:719,1
    - Dst: m_removed::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:720,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:726,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:727,1
    - Dst: TxGraphImpl::SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:728,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:729,1
    - Dst: TxGraphImpl::ClearChunkData
      Src: /src/bitcoin-core/src/txgraph.cpp:734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - level
    - idx
    - oversized_tx
    argTypes:
    - int
    - GraphIndex
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 735
    functionName: TxGraphImpl::ClearLocator
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::SetMissing
    - TxGraphImpl::SetRemoved
    - Assume
    - GetClusterSet
    - TxGraphImpl::IsRemoved
    - m_removed::push_back
    - TxGraphImpl::ClearChunkData
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::ClearLocator(int level, GraphIndex idx, bool oversized_tx)
      noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ClearChunkData
      Src: /src/bitcoin-core/src/txgraph.cpp:744,1
    - Dst: SetPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:745,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:752,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/txgraph.cpp:756,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:757,1
    - Dst: auto::transactions::Count
      Src: /src/bitcoin-core/src/txgraph.cpp:758,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:759,1
    - Dst: FromFeeFrac
      Src: /src/bitcoin-core/src/txgraph.cpp:766,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:767,1
    - Dst: auto::transactions::Reset
      Src: /src/bitcoin-core/src/txgraph.cpp:768,1
    - Dst: auto::transactions::None
      Src: /src/bitcoin-core/src/txgraph.cpp:769,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/txgraph.cpp:771,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:775,1
    - Dst: CreateChunkData
      Src: /src/bitcoin-core/src/txgraph.cpp:777,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 783
    functionName: Cluster::Updated
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 6
    functionsReached:
    - ClearChunkData
    - Cluster::IsAcceptable
    - Assume
    - FromFeeFrac
    - CreateChunkData
    - LinearizationIndex
    - LinearizationChunking::NumChunksLeft
    - auto::transactions::Reset
    - auto::transactions::None
    - LinearizationChunking::GetChunk
    - SetPresent
    - auto::transactions::Count
    linkageType: ''
    returnType: void
    signature: void Cluster::Updated(TxGraphImpl& graph) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:787,1
    - Dst: IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:792,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' graph'
    - ' out'
    argTypes:
    - TxGraphImpl
    - std::vector<Cluster*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 796
    functionName: Cluster::GetConflicts
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - IsPresent
    - Assume
    linkageType: ''
    returnType: void
    signature: void Cluster::GetConflicts(const TxGraphImpl& graph, std::vector<Cluster*>&
      out) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:800,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:800,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:801,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:806,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:807,1
    - Dst: TxGraphImpl::GetConflicts
      Src: /src/bitcoin-core/src/txgraph.cpp:814,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:818,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:818,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:818,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:818,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    - Dst: std::unique
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 821
    functionName: TxGraphImpl::GetConflicts
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 4
    functionsReached:
    - std::vector::end
    - std::vector::erase
    - Assume
    - GetClusterSet
    - std::vector::begin
    - TxGraphImpl::CompareClusters
    - std::vector::push_back
    - std::unique
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::GetConflicts
    - std::sort
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: std::vector<Cluster*>
    signature: std::vector<Cluster*> TxGraphImpl::GetConflicts() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Cluster>
      Src: /src/bitcoin-core/src/txgraph.cpp:826,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/txgraph.cpp:827,1
    - Dst: InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:833,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:833,1
    - Dst: auto::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 837
    functionName: Cluster::CopyToStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Cluster>
    - std::move
    - InsertCluster
    - auto::Updated
    - auto::get
    linkageType: ''
    returnType: Cluster
    signature: Cluster * Cluster::CopyToStaging(TxGraphImpl& graph) const noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:842,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:842,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:845,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:846,1
    - Dst: m_entries::size
      Src: /src/bitcoin-core/src/txgraph.cpp:846,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:852,1
    - Dst: GraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:856,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:859,1
    - Dst: ClearLocator
      Src: /src/bitcoin-core/src/txgraph.cpp:862,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:863,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:864,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:867,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/txgraph.cpp:867,1
    - Dst: RemoveTransactions
      Src: /src/bitcoin-core/src/txgraph.cpp:870,1
    - Dst: resize
      Src: /src/bitcoin-core/src/txgraph.cpp:871,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/txgraph.cpp:871,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:874,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:874,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/txgraph.cpp:875,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:875,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:876,1
    - Dst: SetType::None
      Src: /src/bitcoin-core/src/txgraph.cpp:878,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:881,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txgraph.cpp:888,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/txgraph.cpp:888,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:889,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:890,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:891,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:894,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:895,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - ' graph'
    - ' to_remove'
    argTypes:
    - TxGraphImpl
    - std::span<GraphIndex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 896
    functionName: Cluster::ApplyRemovals
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - begin
    - SetType::Any
    - SetType::Set
    - RemoveTransactions
    - pop_back
    - ClearLocator
    - resize
    - GraphIndex
    - back
    - std::remove_if
    - Cluster::IsAcceptable
    - empty
    - Assume
    - SetType::Reset
    - SetType::None
    - PositionRange
    - end
    - Cluster::Updated
    - erase
    - SetClusterQuality
    - LinearizationIndex
    - m_entries::size
    - front
    - subspan
    linkageType: ''
    returnType: void
    signature: void Cluster::ApplyRemovals(TxGraphImpl& graph, std::span<GraphIndex>&
      to_remove) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearLocator
      Src: /src/bitcoin-core/src/txgraph.cpp:901,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:904,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: Cluster::Clear
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - ClearLocator
    - clear
    linkageType: ''
    returnType: void
    signature: void Cluster::Clear(TxGraphImpl& graph) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:910,1
    - Dst: SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:914,1
    - Dst: ExtractCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:917,1
    - Dst: InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:918,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:918,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 920
    functionName: Cluster::MoveToMain
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - ExtractCluster
    - Cluster::Updated
    - Assume
    - std::move
    - InsertCluster
    - SetMissing
    linkageType: ''
    returnType: void
    signature: void Cluster::MoveToMain(TxGraphImpl& graph) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/txgraph.cpp:924,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:925,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:925,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/txgraph.cpp:925,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:926,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:926,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:926,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/txgraph.cpp:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - std::vector<FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 927
    functionName: Cluster::AppendChunkFeerates
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - reserve
    - auto::size
    - auto::begin
    - ChunkLinearization
    - size
    - auto::end
    - insert
    linkageType: ''
    returnType: void
    signature: void Cluster::AppendChunkFeerates(std::vector<FeeFrac>& ret) const
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:934,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/txgraph.cpp:936,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:937,1
    - Dst: Count
      Src: /src/bitcoin-core/src/txgraph.cpp:939,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:943,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:945,1
    - Dst: FromFeeFrac
      Src: /src/bitcoin-core/src/txgraph.cpp:946,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:950,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ' ret'
    - ' deps'
    argTypes:
    - std::vector<TrimTxData>
    - std::vector<std::pair<GraphIndex, GraphIndex>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 958
    functionName: Cluster::AppendTrimData
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GraphIndex
    - FromFeeFrac
    - LinearizationChunking::GetChunk
    - Count
    - emplace_back
    - LinearizationChunking::NumChunksLeft
    - FeeRate
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Cluster::AppendTrimData(std::vector<TrimTxData>& ret, std::vector<std::pair<GraphIndex,
      GraphIndex>>& deps) const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:963,1
    - Dst: Cluster::NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:963,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:965,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:974,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:977,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/txgraph.cpp:980,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/txgraph.cpp:984,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/txgraph.cpp:985,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/txgraph.cpp:986,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:989,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:989,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:990,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:993,1
    - Dst: std::make_unique<Cluster>
      Src: /src/bitcoin-core/src/txgraph.cpp:998,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:999,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/txgraph.cpp:999,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/txgraph.cpp:1003,1
    - Dst: DepGraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1003,1
    - Dst: InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1005,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1005,1
    - Dst: Cluster*::m_depgraph::AddTransaction
      Src: /src/bitcoin-core/src/txgraph.cpp:1013,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:1013,1
    - Dst: Cluster*::m_mapping::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1015,1
    - Dst: Cluster*::m_linearization::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1018,1
    - Dst: GetReducedParents
      Src: /src/bitcoin-core/src/txgraph.cpp:1026,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:1026,1
    - Dst: Cluster*::m_depgraph::AddDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1027,1
    - Dst: Cluster*::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:1031,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1035,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1036,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 960
    functionDepth: 2
    functionLinenumber: 960
    functionLinenumberEnd: 1038
    functionName: Cluster::Split
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - auto::Any
    - Cluster*::m_depgraph::AddTransaction
    - SetType::Set
    - FindConnectedComponent
    - std::move
    - std::vector::push_back
    - InsertCluster
    - FeeRate
    - Cluster::NeedsSplitting
    - GetReducedParents
    - clear
    - DepGraphIndex
    - Cluster::IsAcceptable
    - Cluster*::m_mapping::push_back
    - Assume
    - PostLinearize
    - Cluster*::m_linearization::push_back
    - auto::Count
    - Cluster*::m_depgraph::AddDependencies
    - Cluster*::Updated
    - PositionRange
    - Cluster::Updated
    - SetClusterQuality
    - std::make_unique<Cluster>
    - auto::get
    linkageType: ''
    returnType: bool
    signature: bool Cluster::Split(TxGraphImpl& graph) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_depgraph::PositionRange
      Src: /src/bitcoin-core/src/txgraph.cpp:1043,1
    - Dst: AddTransaction
      Src: /src/bitcoin-core/src/txgraph.cpp:1048,1
    - Dst: m_depgraph::FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:1048,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1050,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1051,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1055,1
    - Dst: m_depgraph::GetReducedParents
      Src: /src/bitcoin-core/src/txgraph.cpp:1060,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:1061,1
    - Dst: AddDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1063,1
    - Dst: ClearChunkData
      Src: /src/bitcoin-core/src/txgraph.cpp:1070,1
    - Dst: SetPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:1071,1
    - Dst: m_linearization::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1075,1
    - Dst: m_mapping::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' graph'
    - ' other'
    argTypes:
    - TxGraphImpl
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1077
    functionName: Cluster::Merge
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - ClearChunkData
    - AddTransaction
    - m_depgraph::GetReducedParents
    - m_depgraph::FeeRate
    - push_back
    - SetType::Set
    - size
    - AddDependencies
    - m_mapping::clear
    - m_depgraph::PositionRange
    - m_linearization::clear
    - SetPresent
    linkageType: ''
    returnType: void
    signature: void Cluster::Merge(TxGraphImpl& graph, Cluster& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1087,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1090,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1090,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1090,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1092,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1093,1
    - Dst: std::span<std::pair<GraphIndex, GraphIndex>>::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1099,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1102,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:1104,1
    - Dst: AddDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1110,1
    - Dst: FixLinearization
      Src: /src/bitcoin-core/src/txgraph.cpp:1115,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1116,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1117,1
    - Dst: Cluster::NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:1117,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1118,1
    - Dst: Cluster::IsOversized
      Src: /src/bitcoin-core/src/txgraph.cpp:1118,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1119,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:1120,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:1124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' graph'
    - to_apply
    argTypes:
    - TxGraphImpl
    - std::span<std::pair<GraphIndex, GraphIndex>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1125
    functionName: Cluster::ApplyDependencies
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Cluster::IsAcceptable
    - FixLinearization
    - Cluster::NeedsSplitting
    - Cluster::IsOversized
    - Assume
    - Cluster::Updated
    - std::span<std::pair<GraphIndex, GraphIndex>>::end
    - SetClusterQuality
    - PostLinearize
    - SetType::Set
    - AddDependencies
    - std::span<std::pair<GraphIndex, GraphIndex>>::begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void Cluster::ApplyDependencies(TxGraphImpl& graph, std::span<std::pair<GraphIndex,
      GraphIndex>> to_apply) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1136
    functionName: TxGraphImpl::~TxGraphImpl() noexcept
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - GetRefGraph
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::~TxGraphImpl() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1140,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1142,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1144,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1144,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1147,1
    - Dst: ClusterSetIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1149,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1153,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1156,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1157,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1158,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1158,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - level
    - quality
    - setindex
    argTypes:
    - int
    - QualityLevel
    - ClusterSetIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1164
    functionName: TxGraphImpl::ExtractCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached:
    - Assume
    - GetClusterSet
    - back
    - std::move
    - size
    - pop_back
    - ClusterSetIndex
    linkageType: ''
    returnType: std::unique_ptr<Cluster>
    signature: std::unique_ptr<Cluster> TxGraphImpl::ExtractCluster(int level, QualityLevel
      quality, ClusterSetIndex setindex) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1169,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1171,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1174,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1176,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1180,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - level
    - ' cluster'
    - quality
    argTypes:
    - int
    - std::unique_ptr<Cluster>
    - QualityLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1182
    functionName: TxGraphImpl::InsertCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached:
    - Assume
    - GetClusterSet
    - push_back
    - std::move
    - size
    linkageType: ''
    returnType: ClusterSetIndex
    signature: ClusterSetIndex TxGraphImpl::InsertCluster(int level, std::unique_ptr<Cluster>&&
      cluster, QualityLevel quality) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1186,1
    - Dst: TxGraphImpl::ExtractCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1191,1
    - Dst: TxGraphImpl::InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1193,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - level
    - old_quality
    - old_index
    - new_quality
    argTypes:
    - int
    - QualityLevel
    - ClusterSetIndex
    - QualityLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1194
    functionName: TxGraphImpl::SetClusterQuality
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ExtractCluster
    - TxGraphImpl::InsertCluster
    - Assume
    - std::move
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SetClusterQuality(int level, QualityLevel old_quality,
      ClusterSetIndex old_index, QualityLevel new_quality) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::ExtractCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1199,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/txgraph.cpp:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cluster'
    argTypes:
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1202
    functionName: TxGraphImpl::DeleteCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 3
    functionsReached:
    - TxGraphImpl::ExtractCluster
    - auto::reset
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::DeleteCluster(Cluster& cluster) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1206,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1206,1
    - Dst: TxGraphImpl::IsMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:1212,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:1214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - idx
    - level
    argTypes:
    - GraphIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1220
    functionName: TxGraphImpl::FindCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 12
    functionsReached:
    - TxGraphImpl::IsMissing
    - TxGraphImpl::IsRemoved
    - Assume
    - TxGraphImpl::GetTopLevel
    linkageType: ''
    returnType: Cluster
    signature: Cluster * TxGraphImpl::FindCluster(GraphIndex idx, int level) const
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1224,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1225,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1227,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1232,1
    - Dst: Cluster*::CopyToStaging
      Src: /src/bitcoin-core/src/txgraph.cpp:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cluster
    argTypes:
    - Cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1236
    functionName: TxGraphImpl::PullIn
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached:
    - TxGraphImpl::MakeAcceptable
    - Cluster*::CopyToStaging
    - Assume
    - TxGraphImpl::GetTopLevel
    linkageType: ''
    returnType: Cluster
    signature: Cluster * TxGraphImpl::PullIn(Cluster* cluster) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1240,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1240,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1242,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1245,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1249,1
    - Dst: TxGraphImpl::PullIn
      Src: /src/bitcoin-core/src/txgraph.cpp:1250,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1254,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1254,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:1254,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:1257,1
    - Dst: std::span::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1261,1
    - Dst: std::span::front
      Src: /src/bitcoin-core/src/txgraph.cpp:1262,1
    - Dst: Cluster*::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:1266,1
    - Dst: std::span::subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1270,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1273,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:1275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - up_to_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1276
    functionName: TxGraphImpl::ApplyRemovals
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 6
    functionsReached:
    - end
    - std::span::front
    - empty
    - GetClusterSet
    - Assume
    - std::span::empty
    - Cluster*::ApplyRemovals
    - std::span::subspan
    - TxGraphImpl::Compact
    - TxGraphImpl::CompareClusters
    - clear
    - TxGraphImpl::PullIn
    - TxGraphImpl::GetTopLevel
    - std::sort
    - TxGraphImpl::FindCluster
    - begin
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::ApplyRemovals(int up_to_level) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1280,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1280,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1281,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1281,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:1283,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1289,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:1291,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:1298,1
    - Dst: cluster::UpdateMapping
      Src: /src/bitcoin-core/src/txgraph.cpp:1299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GraphIndex
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1303
    functionName: TxGraphImpl::SwapIndexes
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 1
    functionsReached:
    - end
    - Assume
    - size
    - swap
    - GetRefIndex
    - cluster::UpdateMapping
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SwapIndexes(GraphIndex a, GraphIndex b) noexcept
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1309,1
    - Dst: m_to_remove::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1310,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1311,1
    - Dst: m_removed::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1311,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:1312,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1313,1
    - Dst: m_to_remove::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1314,1
    - Dst: m_removed::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1315,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/txgraph.cpp:1319,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1325,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1325,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:1325,1
    - Dst: GraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1327,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1331,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1336,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1339,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:1339,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1343,1
    - Dst: TxGraphImpl::SwapIndexes
      Src: /src/bitcoin-core/src/txgraph.cpp:1343,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1343,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1345,1
    - Dst: clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1348
    functionName: TxGraphImpl::Compact
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 8
    functionsReached:
    - end
    - TxGraphImpl::IsPresent
    - m_deps_to_add::empty
    - Assume
    - GraphIndex
    - begin
    - size
    - TxGraphImpl::SwapIndexes
    - clear
    - m_to_remove::empty
    - has_value
    - pop_back
    - std::sort
    - ClearShrink
    - m_removed::empty
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::Compact() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:1354,1
    - Dst: TxGraphImpl::Split
      Src: /src/bitcoin-core/src/txgraph.cpp:1355,1
    - Dst: TxGraphImpl::DeleteCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' cluster'
    argTypes:
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 3
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: TxGraphImpl::Split
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 3
    functionsReached:
    - TxGraphImpl::Split
    - TxGraphImpl::ApplyRemovals
    - TxGraphImpl::DeleteCluster
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::Split(Cluster& cluster) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1364,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1364,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:1366,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1369,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1370,1
    - Dst: TxGraphImpl::Split
      Src: /src/bitcoin-core/src/txgraph.cpp:1371,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - up_to_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1362
    functionDepth: 4
    functionLinenumber: 1362
    functionLinenumberEnd: 1375
    functionName: TxGraphImpl::SplitAll
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached:
    - empty
    - GetClusterSet
    - Assume
    - TxGraphImpl::ApplyRemovals
    - TxGraphImpl::Split
    - back
    - TxGraphImpl::GetTopLevel
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SplitAll(int up_to_level) noexcept
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1379,1
    - Dst: m_group_data::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:1381,1
    - Dst: TxGraphImpl::SplitAll
      Src: /src/bitcoin-core/src/txgraph.cpp:1386,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1401,1
    - Dst: GetClusterEntry
      Src: /src/bitcoin-core/src/txgraph.cpp:1402,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1403,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1405,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1411,1
    - Dst: m_deps_to_add::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1411,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1413,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1414,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1417,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1420,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1422,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1426,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1426,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1426,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::unique
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1427,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1429,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1429,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1429,1
    - Dst: std::lower_bound
      Src: /src/bitcoin-core/src/txgraph.cpp:1453,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1453,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1453,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1455,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1455,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1456,1
    - Dst: find_root_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1477,1
    - Dst: find_root_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1478,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:1482,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:1489,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1489,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1490,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1502,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1503,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1504,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1507,1
    - Dst: union_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1512,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1512,1
    - Dst: union_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1515,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1515,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1515,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1521,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1522,1
    - Dst: find_root_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:1526,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1529,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1531,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1532,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1542,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1542,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1542,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1543,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1543,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1543,1
    - Dst: m_group_data::m_group_clusters::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1548,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1548,1
    - Dst: m_deps_to_add::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1549,1
    - Dst: m_deps_to_add::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1550,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1550,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1552,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1553,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1554,1
    - Dst: m_group_data::m_groups::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1558,1
    - Dst: m_group_data::m_group_clusters::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1559,1
    - Dst: m_deps_to_add::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1561,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1566,1
    - Dst: m_group_data::m_group_clusters::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1567,1
    - Dst: auto::first::GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:1568,1
    - Dst: auto::first::GetTotalTxSize
      Src: /src/bitcoin-core/src/txgraph.cpp:1569,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1574,1
    - Dst: m_deps_to_add::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1575,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1584,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1584,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1585,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1585,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:1586,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 108
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1377
    functionDepth: 5
    functionLinenumber: 1377
    functionLinenumberEnd: 1587
    functionName: TxGraphImpl::GroupClusters
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 3
    functionsReached:
    - m_deps_to_add::clear
    - std::vector::emplace_back
    - m_deps_to_add::reserve
    - m_group_data::m_group_clusters::push_back
    - union_fn
    - swap
    - m_group_data::m_groups::emplace_back
    - auto::first::GetTxCount
    - std::vector::end
    - GetClusterEntry
    - std::vector::reserve
    - m_group_data::m_group_clusters::size
    - std::vector::size
    - m_deps_to_add::push_back
    - std::vector::erase
    - Assume
    - GetClusterSet
    - std::lower_bound
    - std::unique
    - std::vector::resize
    - locate_fn
    - m_group_data::has_value
    - TxGraphImpl::Compact
    - std::vector::begin
    - TxGraphImpl::SplitAll
    - find_root_fn
    - m_deps_to_add::size
    - auto::first::GetTotalTxSize
    - std::sort
    - m_group_data::m_group_clusters::reserve
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::GroupClusters(int level) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1591,1
    - Dst: std::span<Cluster*>::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1591,1
    - Dst: std::span<Cluster*>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1593,1
    - Dst: GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:1599,1
    - Dst: std::span<Cluster*>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1600,1
    - Dst: GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:1601,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:1607,1
    - Dst: std::span<Cluster*>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1610,1
    - Dst: TxGraphImpl::Merge
      Src: /src/bitcoin-core/src/txgraph.cpp:1611,1
    - Dst: TxGraphImpl::DeleteCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - to_merge
    argTypes:
    - std::span<Cluster*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1589
    functionDepth: 3
    functionLinenumber: 1589
    functionLinenumberEnd: 1614
    functionName: TxGraphImpl::Merge
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 3
    functionsReached:
    - TxGraphImpl::DeleteCluster
    - std::span<Cluster*>::size
    - std::span<Cluster*>::empty
    - Assume
    - swap
    - GetTxCount
    - TxGraphImpl::Merge
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::Merge(std::span<Cluster*> to_merge) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1618,1
    - Dst: TxGraphImpl::GroupClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:1622,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1623,1
    - Dst: m_group_data::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:1623,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1625,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1631,1
    - Dst: TxGraphImpl::PullIn
      Src: /src/bitcoin-core/src/txgraph.cpp:1636,1
    - Dst: TxGraphImpl::Merge
      Src: /src/bitcoin-core/src/txgraph.cpp:1640,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1643,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1645,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1645,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1647,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:1647,1
    - Dst: cluster::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1648,1
    - Dst: m_deps_to_add::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:1652,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:1653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1616
    functionDepth: 6
    functionLinenumber: 1616
    functionLinenumberEnd: 1657
    functionName: TxGraphImpl::ApplyDependencies
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 11
    functionsReached:
    - m_deps_to_add::clear
    - Assume
    - GetClusterSet
    - subspan
    - m_group_data::has_value
    - TxGraphImpl::Compact
    - TxGraphImpl::GroupClusters
    - cluster::ApplyDependencies
    - auto::empty
    - TxGraphImpl::PullIn
    - TxGraphImpl::Merge
    - TxGraphImpl::IsPresent
    - m_deps_to_add::empty
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::ApplyDependencies(int level) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1662,1
    - Dst: Cluster::NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:1662,1
    - Dst: Cluster::IsOptimal
      Src: /src/bitcoin-core/src/txgraph.cpp:1664,1
    - Dst: m_rng::rand64
      Src: /src/bitcoin-core/src/txgraph.cpp:1666,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1667,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1670,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1672,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:1676,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1678,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:1679,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:1683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' graph'
    - max_iters
    argTypes:
    - TxGraphImpl
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1685
    functionName: Cluster::Relinearize
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Linearize
    - Cluster::IsAcceptable
    - Cluster::NeedsSplitting
    - Cluster::Updated
    - Assume
    - m_rng::rand64
    - SetClusterQuality
    - PostLinearize
    - std::move
    - Cluster::IsOptimal
    linkageType: ''
    returnType: std::pair<uint64_t, bool>
    signature: std::pair<uint64_t, bool> Cluster::Relinearize(TxGraphImpl& graph,
      uint64_t max_iters) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:1690,1
    - Dst: IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1690,1
    - Dst: TxGraphImpl::IsOversized
      Src: /src/bitcoin-core/src/txgraph.cpp:1690,1
    - Dst: Relinearize
      Src: /src/bitcoin-core/src/txgraph.cpp:1691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ' cluster'
    argTypes:
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1693
    functionName: TxGraphImpl::MakeAcceptable
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 6
    functionsReached:
    - Relinearize
    - TxGraphImpl::IsOversized
    - IsAcceptable
    - NeedsSplitting
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::MakeAcceptable(Cluster& cluster) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1697,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1698,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1701,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1702,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1695
    functionDepth: 7
    functionLinenumber: 1695
    functionLinenumberEnd: 1704
    functionName: TxGraphImpl::MakeAllAcceptable
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - empty
    - GetClusterSet
    - back
    - TxGraphImpl::MakeAcceptable
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::MakeAllAcceptable(int level) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1706
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cluster::Cluster(uint64_t sequence) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddTransaction
      Src: /src/bitcoin-core/src/txgraph.cpp:1712,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1713,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sequence
    - ' graph'
    - ' feerate'
    - graph_index
    argTypes:
    - uint64_t
    - TxGraphImpl
    - FeePerWeight
    - GraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1708
    functionDepth: 1
    functionLinenumber: 1708
    functionLinenumberEnd: 1715
    functionName: Cluster::Cluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - AddTransaction
    linkageType: ''
    returnType: void
    signature: void Cluster::Cluster(uint64_t sequence, TxGraphImpl& graph, const
      FeePerWeight& feerate, GraphIndex graph_index) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1719,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1719,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1724,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1725,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:1726,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:1727,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1729,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1730,1
    - Dst: std::make_unique<Cluster>
      Src: /src/bitcoin-core/src/txgraph.cpp:1733,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/txgraph.cpp:1734,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1735,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1736,1
    - Dst: TxGraphImpl::InsertCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1737,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:1737,1
    - Dst: auto::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:1738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' feerate'
    argTypes:
    - FeePerWeight
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1717
    functionDepth: 2
    functionLinenumber: 1717
    functionLinenumberEnd: 1748
    functionName: TxGraphImpl::AddTransaction
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - Assume
    - GetClusterSet
    - TxGraphImpl::InsertCluster
    - back
    - GetRefGraph
    - std::make_unique<Cluster>
    - size
    - GetRefIndex
    - std::move
    - TxGraphImpl::GetTopLevel
    - emplace_back
    - auto::Updated
    - auto::get
    linkageType: ''
    returnType: TxGraph::Ref
    signature: TxGraph::Ref TxGraphImpl::AddTransaction(const FeePerWeight& feerate)
      noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1754,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1755,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1755,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1756,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1756,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1758,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1759,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1759,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1762,1
    - Dst: m_to_remove::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1763,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1763,1
    - Dst: m_group_data::reset
      Src: /src/bitcoin-core/src/txgraph.cpp:1765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1767
    functionName: TxGraphImpl::RemoveTransaction
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GetClusterSet
    - m_to_remove::push_back
    - GetRefGraph
    - GetRefIndex
    - m_group_data::reset
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::RemoveTransaction(const Ref& arg) noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1773,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1773,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1774,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1774,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1774,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1775,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1775,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1777,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1777,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1780,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1781,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1781,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1783,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1783,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1786,1
    - Dst: m_deps_to_add::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1787,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1787,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1787,1
    - Dst: m_group_data::reset
      Src: /src/bitcoin-core/src/txgraph.cpp:1789,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ' parent'
    - ' child'
    argTypes:
    - Ref
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1769
    functionDepth: 2
    functionLinenumber: 1769
    functionLinenumberEnd: 1791
    functionName: TxGraphImpl::AddDependency
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - m_deps_to_add::emplace_back
    - Assume
    - GetClusterSet
    - GetRefGraph
    - GetRefIndex
    - m_group_data::reset
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::AddDependency(const Ref& parent, const Ref& child)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1795,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1796,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1796,1
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1797,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:1799,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1800,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' arg'
    - main_only
    argTypes:
    - Ref
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1793
    functionDepth: 3
    functionLinenumber: 1793
    functionLinenumberEnd: 1802
    functionName: TxGraphImpl::Exists
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - TxGraphImpl::ApplyRemovals
    - GetRefGraph
    - GetRefIndex
    - TxGraphImpl::GetSpecifiedLevel
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: bool
    signature: bool TxGraphImpl::Exists(const Ref& arg, bool main_only) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1809,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:1810,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/txgraph.cpp:1811,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:1811,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1812,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1814,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/txgraph.cpp:1814,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1818,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' graph'
    - ' args'
    - ' output'
    argTypes:
    - TxGraphImpl
    - std::span<std::pair<Cluster*, DepGraphIndex>>
    - std::vector<TxGraph::Ref*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1821
    functionName: Cluster::GetAncestorRefs
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - empty
    - push_back
    - SetType::Any
    - Ancestors
    - front
    - subspan
    linkageType: ''
    returnType: void
    signature: void Cluster::GetAncestorRefs(const TxGraphImpl& graph, std::span<std::pair<Cluster*,
      DepGraphIndex>>& args, std::vector<TxGraph::Ref*>& output) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1828,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:1829,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/txgraph.cpp:1830,1
    - Dst: front
      Src: /src/bitcoin-core/src/txgraph.cpp:1830,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:1831,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1833,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/txgraph.cpp:1833,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1837,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' graph'
    - ' args'
    - ' output'
    argTypes:
    - TxGraphImpl
    - std::span<std::pair<Cluster*, DepGraphIndex>>
    - std::vector<TxGraph::Ref*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1840
    functionName: Cluster::GetDescendantRefs
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Descendants
    - Assume
    - empty
    - push_back
    - SetType::Any
    - front
    - subspan
    linkageType: ''
    returnType: void
    signature: void Cluster::GetDescendantRefs(const TxGraphImpl& graph, std::span<std::pair<Cluster*,
      DepGraphIndex>>& args, std::vector<TxGraph::Ref*>& output) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1847,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1847,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1849,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:1853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' graph'
    - range
    - start_pos
    argTypes:
    - TxGraphImpl
    - std::span<TxGraph::Ref*>
    - LinearizationIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1854
    functionName: Cluster::GetClusterRefs
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - size
    - Assume
    linkageType: ''
    returnType: bool
    signature: bool Cluster::GetClusterRefs(TxGraphImpl& graph, std::span<TxGraph::Ref*>
      range, LinearizationIndex start_pos) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromFeeFrac
      Src: /src/bitcoin-core/src/txgraph.cpp:1858,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:1858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1859
    functionName: Cluster::GetIndividualFeerate
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - FromFeeFrac
    - FeeRate
    linkageType: ''
    returnType: FeePerWeight
    signature: FeePerWeight Cluster::GetIndividualFeerate(DepGraphIndex idx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1863,1
    - Dst: SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:1869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1871
    functionName: Cluster::MakeStagingTransactionsMissing
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - SetMissing
    - Assume
    linkageType: ''
    returnType: void
    signature: void Cluster::MakeStagingTransactionsMissing(TxGraphImpl& graph) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1876,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1877,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1877,1
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1879,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1880,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1882,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1882,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1882,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1884,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1884,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1887,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/txgraph.cpp:1888,1
    - Dst: auto::GetAncestorRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' arg'
    - main_only
    argTypes:
    - Ref
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1873
    functionDepth: 7
    functionLinenumber: 1873
    functionLinenumberEnd: 1892
    functionName: TxGraphImpl::GetAncestors
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetClusterSet
    - empty
    - auto::GetAncestorRefs
    - GetRefGraph
    - GetRefIndex
    - TxGraphImpl::GetSpecifiedLevel
    - std::span
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetAncestors(const Ref& arg,
      bool main_only) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1897,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1898,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1898,1
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1900,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1901,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1903,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1903,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1903,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1905,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1905,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1908,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/txgraph.cpp:1909,1
    - Dst: auto::GetDescendantRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' arg'
    - main_only
    argTypes:
    - Ref
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1894
    functionDepth: 7
    functionLinenumber: 1894
    functionLinenumberEnd: 1913
    functionName: TxGraphImpl::GetDescendants
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetClusterSet
    - empty
    - GetRefGraph
    - GetRefIndex
    - TxGraphImpl::GetSpecifiedLevel
    - std::span
    - TxGraphImpl::FindCluster
    - auto::GetDescendantRefs
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetDescendants(const Ref& arg,
      bool main_only) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1918,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1919,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1921,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1921,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1921,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1925,1
    - Dst: std::span<const Ref* const>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1925,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1927,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1929,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1930,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1930,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1932,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1932,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1935,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1935,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1938,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1938,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1938,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:1938,1
    - Dst: std::span::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1942,1
    - Dst: std::span::front
      Src: /src/bitcoin-core/src/txgraph.cpp:1943,1
    - Dst: GetAncestorRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1943,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - args
    - main_only
    argTypes:
    - std::span<const Ref* const>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1915
    functionDepth: 7
    functionLinenumber: 1915
    functionLinenumberEnd: 1946
    functionName: TxGraphImpl::GetAncestorsUnion
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - std::vector::end
    - std::vector::emplace_back
    - std::span::front
    - empty
    - Assume
    - GetClusterSet
    - GetAncestorRefs
    - std::span::empty
    - GetRefGraph
    - std::vector::reserve
    - GetRefIndex
    - std::vector::begin
    - TxGraphImpl::CompareClusters
    - TxGraphImpl::GetSpecifiedLevel
    - std::span<const Ref* const>::size
    - std::sort
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetAncestorsUnion(std::span<const
      Ref* const> args, bool main_only) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1951,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1952,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1954,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1954,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1954,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:1958,1
    - Dst: std::span<const Ref* const>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:1958,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1960,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1962,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1963,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1963,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1965,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1965,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/txgraph.cpp:1968,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1968,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:1971,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:1971,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:1971,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:1971,1
    - Dst: std::span::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1975,1
    - Dst: std::span::front
      Src: /src/bitcoin-core/src/txgraph.cpp:1976,1
    - Dst: GetDescendantRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1976,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - args
    - main_only
    argTypes:
    - std::span<const Ref* const>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1948
    functionDepth: 7
    functionLinenumber: 1948
    functionLinenumberEnd: 1979
    functionName: TxGraphImpl::GetDescendantsUnion
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - std::vector::end
    - std::vector::emplace_back
    - std::span::front
    - empty
    - Assume
    - GetClusterSet
    - std::span::empty
    - GetRefGraph
    - std::vector::reserve
    - GetRefIndex
    - std::vector::begin
    - TxGraphImpl::CompareClusters
    - TxGraphImpl::GetSpecifiedLevel
    - std::span<const Ref* const>::size
    - std::sort
    - TxGraphImpl::FindCluster
    - GetDescendantRefs
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetDescendantsUnion(std::span<const
      Ref* const> args, bool main_only) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1985,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1986,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:1986,1
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:1988,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:1989,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:1991,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:1991,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:1991,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:1993,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:1993,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:1996,1
    - Dst: auto::GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:1997,1
    - Dst: auto::GetClusterRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:1998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' arg'
    - main_only
    argTypes:
    - Ref
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1981
    functionDepth: 7
    functionLinenumber: 1981
    functionLinenumberEnd: 2000
    functionName: TxGraphImpl::GetCluster
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetClusterSet
    - empty
    - GetRefGraph
    - auto::GetTxCount
    - GetRefIndex
    - TxGraphImpl::MakeAcceptable
    - auto::GetClusterRefs
    - TxGraphImpl::GetSpecifiedLevel
    - TxGraphImpl::FindCluster
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::GetCluster(const Ref& arg,
      bool main_only) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2004,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:2005,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - main_only
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 2002
    functionDepth: 3
    functionLinenumber: 2002
    functionLinenumberEnd: 2007
    functionName: TxGraphImpl::GetTransactionCount
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyRemovals
    - TxGraphImpl::GetSpecifiedLevel
    - GetClusterSet
    linkageType: ''
    returnType: TxGraph::GraphIndex
    signature: TxGraph::GraphIndex TxGraphImpl::GetTransactionCount(bool main_only)
      noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2012,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2013,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2013,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2017,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:2020,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2021,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2021,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2022,1
    - Dst: Cluster*::GetIndividualFeerate
      Src: /src/bitcoin-core/src/txgraph.cpp:2028,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2028,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2009
    functionDepth: 3
    functionLinenumber: 2009
    functionLinenumberEnd: 2029
    functionName: TxGraphImpl::GetIndividualFeerate
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - TxGraphImpl::ApplyRemovals
    - GetRefGraph
    - GetRefIndex
    - Cluster*::GetIndividualFeerate
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: FeePerWeight
    signature: FeePerWeight TxGraphImpl::GetIndividualFeerate(const Ref& arg) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2034,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2035,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2035,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2037,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2039,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2039,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:2041,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2041,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2045,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2031
    functionDepth: 7
    functionLinenumber: 2031
    functionLinenumberEnd: 2048
    functionName: TxGraphImpl::GetMainChunkFeerate
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetRefGraph
    - GetRefIndex
    - TxGraphImpl::MakeAcceptable
    - TxGraphImpl::FindCluster
    - m_deps_to_add::empty
    linkageType: ''
    returnType: FeePerWeight
    signature: FeePerWeight TxGraphImpl::GetMainChunkFeerate(const Ref& arg) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2052,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2053,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2054,1
    - Dst: TxGraphImpl::ApplyRemovals
      Src: /src/bitcoin-core/src/txgraph.cpp:2058,1
    - Dst: TxGraphImpl::GroupClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:2064,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2066,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - main_only
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2050
    functionDepth: 6
    functionLinenumber: 2050
    functionLinenumberEnd: 2068
    functionName: TxGraphImpl::IsOversized
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached:
    - Assume
    - m_oversized::has_value
    - GetClusterSet
    - TxGraphImpl::ApplyRemovals
    - TxGraphImpl::GroupClusters
    - TxGraphImpl::GetSpecifiedLevel
    linkageType: ''
    returnType: bool
    signature: bool TxGraphImpl::IsOversized(bool main_only) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2073,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2073,1
    - Dst: TxGraphImpl::SplitAll
      Src: /src/bitcoin-core/src/txgraph.cpp:2079,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2080,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/txgraph.cpp:2082,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2090,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2070
    functionDepth: 7
    functionLinenumber: 2070
    functionLinenumberEnd: 2091
    functionName: TxGraphImpl::StartStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - emplace
    - Assume
    - m_oversized::has_value
    - TxGraphImpl::SplitAll
    - has_value
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::StartStaging() noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2096,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2096,1
    - Dst: TxGraphImpl::SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:2100,1
    - Dst: MakeStagingTransactionsMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:2105,1
    - Dst: reset
      Src: /src/bitcoin-core/src/txgraph.cpp:2109,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:2110,1
    - Dst: m_group_data::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2111,1
    - Dst: m_to_remove::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2093
    functionDepth: 3
    functionLinenumber: 2093
    functionLinenumberEnd: 2122
    functionName: TxGraphImpl::AbortStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::SetMissing
    - MakeStagingTransactionsMissing
    - Assume
    - m_group_data::has_value
    - TxGraphImpl::Compact
    - reset
    - m_to_remove::empty
    - has_value
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::AbortStaging() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2127,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2127,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2128,1
    - Dst: TxGraphImpl::GetConflicts
      Src: /src/bitcoin-core/src/txgraph.cpp:2131,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2133,1
    - Dst: TxGraphImpl::DeleteCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:2134,1
    - Dst: TxGraphImpl::SetMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:2139,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2144,1
    - Dst: back
      Src: /src/bitcoin-core/src/txgraph.cpp:2145,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2149,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2150,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2151,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2152,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2153,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2154,1
    - Dst: reset
      Src: /src/bitcoin-core/src/txgraph.cpp:2156,1
    - Dst: TxGraphImpl::Compact
      Src: /src/bitcoin-core/src/txgraph.cpp:2157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2124
    functionDepth: 3
    functionLinenumber: 2124
    functionLinenumberEnd: 2158
    functionName: TxGraphImpl::CommitStaging
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::SetMissing
    - TxGraphImpl::DeleteCluster
    - Assume
    - empty
    - back
    - TxGraphImpl::Compact
    - std::move
    - reset
    - Clear
    - has_value
    - TxGraphImpl::GetConflicts
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::CommitStaging() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2163,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:2163,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:2165,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/txgraph.cpp:2168,1
    - Dst: Cluster::NeedsSplitting
      Src: /src/bitcoin-core/src/txgraph.cpp:2171,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:2172,1
    - Dst: SetClusterQuality
      Src: /src/bitcoin-core/src/txgraph.cpp:2174,1
    - Dst: Cluster::Updated
      Src: /src/bitcoin-core/src/txgraph.cpp:2176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' graph'
    - idx
    - fee
    argTypes:
    - TxGraphImpl
    - DepGraphIndex
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2160
    functionDepth: 2
    functionLinenumber: 2160
    functionLinenumberEnd: 2177
    functionName: Cluster::SetFee
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - Cluster::NeedsSplitting
    - Cluster::Updated
    - Assume
    - SetClusterQuality
    - FeeRate
    linkageType: ''
    returnType: void
    signature: void Cluster::SetFee(TxGraphImpl& graph, DepGraphIndex idx, int64_t
      fee) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2182,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2183,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2183,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2184,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2186,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2189,1
    - Dst: cluster::SetFee
      Src: /src/bitcoin-core/src/txgraph.cpp:2190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' ref'
    - fee
    argTypes:
    - Ref
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2193
    functionName: TxGraphImpl::SetTransactionFee
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - GetRefGraph
    - GetRefIndex
    - cluster::SetFee
    - TxGraphImpl::IsPresent
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SetTransactionFee(const Ref& ref, int64_t fee) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2198,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2198,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2199,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2199,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2201,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2202,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2202,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2204,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2205,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2208,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2208,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2209,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2209,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2210,1
    - Dst: TxGraphImpl::MakeAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2211,1
    - Dst: TxGraphImpl::CompareMainTransactions
      Src: /src/bitcoin-core/src/txgraph.cpp:2213,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2213,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Ref
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2195
    functionDepth: 7
    functionLinenumber: 2195
    functionLinenumberEnd: 2214
    functionName: TxGraphImpl::CompareMainOrder
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - Assume
    - GetRefGraph
    - TxGraphImpl::CompareMainTransactions
    - GetRefIndex
    - TxGraphImpl::MakeAcceptable
    - TxGraphImpl::IsPresent
    - m_deps_to_add::empty
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering TxGraphImpl::CompareMainOrder(const Ref& a, const
      Ref& b) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetSpecifiedLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2218,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2219,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2220,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2221,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2221,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/txgraph.cpp:2224,1
    - Dst: std::span<const Ref* const>::size
      Src: /src/bitcoin-core/src/txgraph.cpp:2224,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2226,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2227,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2228,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2228,1
    - Dst: TxGraphImpl::FindCluster
      Src: /src/bitcoin-core/src/txgraph.cpp:2229,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2229,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2230,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2233,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2233,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2233,1
    - Dst: TxGraphImpl::CompareClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:2233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - refs
    - main_only
    argTypes:
    - std::span<const Ref* const>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2216
    functionDepth: 7
    functionLinenumber: 2216
    functionLinenumberEnd: 2241
    functionName: TxGraphImpl::CountDistinctClusters
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - std::vector::end
    - Assume
    - GetClusterSet
    - GetRefGraph
    - std::vector::reserve
    - GetRefIndex
    - std::vector::push_back
    - std::vector::begin
    - TxGraphImpl::CompareClusters
    - TxGraphImpl::GetSpecifiedLevel
    - std::span<const Ref* const>::size
    - std::sort
    - TxGraphImpl::FindCluster
    - m_deps_to_add::empty
    linkageType: ''
    returnType: TxGraph::GraphIndex
    signature: TxGraph::GraphIndex TxGraphImpl::CountDistinctClusters(std::span<const
      Ref* const> refs, bool main_only) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2245,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2245,1
    - Dst: TxGraphImpl::MakeAllAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2246,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2247,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2247,1
    - Dst: TxGraphImpl::MakeAllAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2248,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2249,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2249,1
    - Dst: TxGraphImpl::GetConflicts
      Src: /src/bitcoin-core/src/txgraph.cpp:2252,1
    - Dst: AppendChunkFeerates
      Src: /src/bitcoin-core/src/txgraph.cpp:2255,1
    - Dst: AppendChunkFeerates
      Src: /src/bitcoin-core/src/txgraph.cpp:2260,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2264,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2264,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2264,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2265,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2265,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:2265,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/txgraph.cpp:2266,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2266,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/txgraph.cpp:2266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2243
    functionDepth: 8
    functionLinenumber: 2243
    functionLinenumberEnd: 2267
    functionName: TxGraphImpl::GetMainStagingDiagrams
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - std::make_pair
    - Assume
    - TxGraphImpl::MakeAllAcceptable
    - std::vector::begin
    - std::move
    - has_value
    - AppendChunkFeerates
    - TxGraphImpl::GetConflicts
    - std::sort
    - begin
    - m_deps_to_add::empty
    linkageType: ''
    returnType: std::pair<std::vector<FeeFrac>, std::vector<FeeFrac>>
    signature: std::pair<std::vector<FeeFrac>, std::vector<FeeFrac>> TxGraphImpl::GetMainStagingDiagrams()
      noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2272,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/txgraph.cpp:2272,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2272,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2274,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:2274,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2274,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2276,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2276,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2278,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2282,1
    - Dst: Cluster::GetTotalTxSize
      Src: /src/bitcoin-core/src/txgraph.cpp:2282,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2286,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2286,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2295,1
    - Dst: IsAcyclic
      Src: /src/bitcoin-core/src/txgraph.cpp:2295,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2297,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2297,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/txgraph.cpp:2300,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2301,1
    - Dst: SetType::IsSupersetOf
      Src: /src/bitcoin-core/src/txgraph.cpp:2301,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/txgraph.cpp:2301,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2303,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2304,1
    - Dst: Cluster::IsAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2306,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2307,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2309,1
    - Dst: LinearizationChunking::MarkDone
      Src: /src/bitcoin-core/src/txgraph.cpp:2310,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2310,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2313,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2313,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2316,1
    - Dst: Count
      Src: /src/bitcoin-core/src/txgraph.cpp:2316,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2317,1
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2317,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:2320,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2321,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2321,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2323,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2327,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/txgraph.cpp:2327,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/txgraph.cpp:2327,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2331,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/txgraph.cpp:2331,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - ' graph'
    - level
    argTypes:
    - TxGraphImpl
    - int
    assertStmts:
    - condition: (lin_pos < m_mapping.size())
      pos:
        line_end: 2296
        line_start: 2296
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_locator[level].cluster == this)
      pos:
        line_end: 2302
        line_start: 2302
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_main_chunk_feerate == linchunking.GetChunk(0).feerate)
      pos:
        line_end: 2312
        line_start: 2312
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: ((entry.m_main_chunkindex_iterator != graph.m_main_chunkindex.end())
        == is_chunk_end)
      pos:
        line_end: 2316
        line_start: 2316
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_quality != QualityLevel::OVERSIZED_SINGLETON || m_linearization.size()
        == 1)
      pos:
        line_end: 2285
        line_start: 2285
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_locator[level].index == lin_pos)
      pos:
        line_end: 2303
        line_start: 2303
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (chunk_data.m_chunk_count == chunk_pos)
      pos:
        line_end: 2322
        line_start: 2322
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_depgraph.IsConnected(linchunking.GetChunk(0).transactions))
      pos:
        line_end: 2326
        line_start: 2326
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_depgraph.PositionRange() == m_mapping.size())
      pos:
        line_end: 2271
        line_start: 2271
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_depgraph.TxCount() == m_linearization.size())
      pos:
        line_end: 2273
        line_start: 2273
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_done.IsSupersetOf(m_depgraph.Ancestors(lin_pos)))
      pos:
        line_end: 2300
        line_start: 2300
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_done == m_depgraph.Positions())
      pos:
        line_end: 2330
        line_start: 2330
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_linearization.size() <= graph.m_max_cluster_count)
      pos:
        line_end: 2275
        line_start: 2275
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_level == level)
      pos:
        line_end: 2277
        line_start: 2277
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_quality == QualityLevel::OVERSIZED_SINGLETON || GetTotalTxSize()
        <= graph.m_max_cluster_size)
      pos:
        line_end: 2281
        line_start: 2281
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (m_depgraph.IsAcyclic())
      pos:
        line_end: 2294
        line_start: 2294
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_main_lin_index == linindex)
      pos:
        line_end: 2306
        line_start: 2306
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (chunk_data.m_chunk_count == LinearizationIndex(-1))
      pos:
        line_end: 2320
        line_start: 2320
        source_file: /src/bitcoin-core/src/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 2332
      start: 2269
    functionDepth: 1
    functionLinenumber: 2269
    functionLinenumberEnd: 2332
    functionName: Cluster::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - SetType::IsSupersetOf
    - Cluster::IsAcceptable
    - SetType::Set
    - TxCount
    - size
    - IsAcyclic
    - LinearizationChunking::MarkDone
    - LinearizationIndex
    - Ancestors
    - m_main_chunkindex::end
    - IsConnected
    - Count
    - LinearizationChunking::GetChunk
    - assert
    - PositionRange
    - Cluster::GetTotalTxSize
    linkageType: ''
    returnType: void
    signature: void Cluster::SanityCheck(const TxGraphImpl& graph, int level) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2350,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2354,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2357,1
    - Dst: GetRefGraph
      Src: /src/bitcoin-core/src/txgraph.cpp:2357,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2358,1
    - Dst: GetRefIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2358,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:2360,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2362,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2362,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2363,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2370,1
    - Dst: TxGraphImpl::IsMissing
      Src: /src/bitcoin-core/src/txgraph.cpp:2370,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:2370,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2370,1
    - Dst: TxGraphImpl::IsPresent
      Src: /src/bitcoin-core/src/txgraph.cpp:2371,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2373,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2375,1
    - Dst: cluster::GetClusterEntry
      Src: /src/bitcoin-core/src/txgraph.cpp:2375,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2377,1
    - Dst: TxGraphImpl::IsRemoved
      Src: /src/bitcoin-core/src/txgraph.cpp:2379,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2381,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2383,1
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2385,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2392,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2393,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2394,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2402,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2405,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2406,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/txgraph.cpp:2406,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2407,1
    - Dst: GetTxCount
      Src: /src/bitcoin-core/src/txgraph.cpp:2410,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2411,1
    - Dst: TxGraphImpl::SanityCheck
      Src: /src/bitcoin-core/src/txgraph.cpp:2414,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2416,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2417,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2423,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2423,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2432,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2433,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2433,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2434,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2434,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2438,1
    - Dst: m_removed::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2441,1
    - Dst: m_removed::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2441,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/txgraph.cpp:2447,1
    - Dst: erase
      Src: /src/bitcoin-core/src/txgraph.cpp:2448,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2451,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2454,1
    - Dst: m_to_remove::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2455,1
    - Dst: m_removed::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2456,1
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2460,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2460,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2460,1
    - Dst: begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2464,1
    - Dst: end
      Src: /src/bitcoin-core/src/txgraph.cpp:2464,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2465,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2470,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2470,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2478,1
    - Dst: FeeFrac::IsEmpty
      Src: /src/bitcoin-core/src/txgraph.cpp:2480,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2481,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/txgraph.cpp:2481,1
    - Dst: assert
      Src: /src/bitcoin-core/src/txgraph.cpp:2485,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (GetRefIndex(*entry.m_ref) == idx)
      pos:
        line_end: 2357
        line_start: 2357
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (locator.IsMissing() + locator.IsRemoved() + locator.IsPresent()
        == 1)
      pos:
        line_end: 2369
        line_start: 2369
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (sequences.count(cluster.m_sequence) == 0)
      pos:
        line_end: 2405
        line_start: 2405
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (cluster.m_quality == quality)
      pos:
        line_end: 2415
        line_start: 2415
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (chl_idx < m_entries.size())
      pos:
        line_end: 2433
        line_start: 2433
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (!was_removed)
      pos:
        line_end: 2372
        line_start: 2372
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (level > 0)
      pos:
        line_end: 2380
        line_start: 2380
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (level < MAX_LEVELS)
      pos:
        line_end: 2392
        line_start: 2392
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (cluster.m_setindex == setindex)
      pos:
        line_end: 2416
        line_start: 2416
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (idx < m_entries.size())
      pos:
        line_end: 2422
        line_start: 2422
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_chunkindex == expected_chunkindex)
      pos:
        line_end: 2484
        line_start: 2484
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_unlinked.empty())
      pos:
        line_end: 2469
        line_start: 2469
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (GetRefGraph(*entry.m_ref) == this)
      pos:
        line_end: 2356
        line_start: 2356
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (par_idx != chl_idx)
      pos:
        line_end: 2431
        line_start: 2431
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (par_idx < m_entries.size())
      pos:
        line_end: 2432
        line_start: 2432
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (clusterset.m_oversized.has_value())
      pos:
        line_end: 2459
        line_start: 2459
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (FeeRateCompare(last_chunk_feerate, chunk_feerate) >= 0)
      pos:
        line_end: 2480
        line_start: 2480
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (entry.m_locator[0].IsPresent())
      pos:
        line_end: 2361
        line_start: 2361
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (locator.cluster->GetClusterEntry(locator.index) == idx)
      pos:
        line_end: 2374
        line_start: 2374
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (was_present && !was_removed)
      pos:
        line_end: 2382
        line_start: 2382
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_clusters == expected_clusters[level])
      pos:
        line_end: 2437
        line_start: 2437
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (cluster.m_sequence < m_next_sequence_counter)
      pos:
        line_end: 2404
        line_start: 2404
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_removed == expected_removed[level])
      pos:
        line_end: 2450
        line_start: 2450
        source_file: /src/bitcoin-core/src/txgraph.cpp
    - condition: (actual_unlinked == expected_unlinked)
      pos:
        line_end: 2464
        line_start: 2464
        source_file: /src/bitcoin-core/src/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 2486
      start: 2334
    functionDepth: 1
    functionLinenumber: 2334
    functionLinenumberEnd: 2486
    functionName: TxGraphImpl::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached:
    - m_removed::end
    - m_oversized::has_value
    - std::set::insert
    - m_removed::empty
    - GetRefGraph
    - GetRefIndex
    - cluster::GetClusterEntry
    - m_to_remove::empty
    - TxGraphImpl::GetTopLevel
    - TxGraphImpl::IsMissing
    - TxGraphImpl::SanityCheck
    - GetClusterSet
    - FeeRateCompare
    - GetTxCount
    - FeeFrac::IsEmpty
    - std::set::erase
    - std::set::count
    - assert
    - TxGraphImpl::IsPresent
    - end
    - erase
    - TxGraphImpl::IsRemoved
    - size
    - m_removed::begin
    - std::set::empty
    - insert
    - begin
    - m_deps_to_add::empty
    linkageType: ''
    returnType: void
    signature: void TxGraphImpl::SanityCheck() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2495,1
    - Dst: TxGraphImpl::ApplyDependencies
      Src: /src/bitcoin-core/src/txgraph.cpp:2498,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2499,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2503,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/txgraph.cpp:2508,1
    - Dst: size
      Src: /src/bitcoin-core/src/txgraph.cpp:2508,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/txgraph.cpp:2515,1
    - Dst: get
      Src: /src/bitcoin-core/src/txgraph.cpp:2517,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - iters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2488
    functionDepth: 7
    functionLinenumber: 2488
    functionLinenumberEnd: 2532
    functionName: TxGraphImpl::DoWork
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - TxGraphImpl::ApplyDependencies
    - empty
    - GetClusterSet
    - size
    - randrange
    - get
    - TxGraphImpl::GetTopLevel
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool TxGraphImpl::DoWork(uint64_t iters) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2537,1
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2542,1
    - Dst: contains
      Src: /src/bitcoin-core/src/txgraph.cpp:2549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2534
    functionDepth: 1
    functionLinenumber: 2534
    functionLinenumberEnd: 2551
    functionName: BlockBuilderImpl::Next
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 2
    functionsReached:
    - contains
    - m_main_chunkindex::end
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::Next() noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2557,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/txgraph.cpp:2558,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2561,1
    - Dst: std::optional::first::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:2564,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2565,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2569,1
    - Dst: std::optional::first::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:2570,1
    - Dst: GetClusterRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:2572,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2553
    functionDepth: 1
    functionLinenumber: 2553
    functionLinenumberEnd: 2580
    functionName: BlockBuilderImpl::GetCurrentChunk
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::optional::first::resize
    - GetClusterRefs
    - Assume
    - std::optional::emplace
    - LinearizationIndex
    - m_main_chunkindex::end
    linkageType: ''
    returnType: std::optional<std::pair<std::vector<TxGraph::Ref*>, FeePerWeight>>
    signature: std::optional<std::pair<std::vector<TxGraph::Ref*>, FeePerWeight>>
      BlockBuilderImpl::GetCurrentChunk() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeAllAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2585,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2587,1
    - Dst: m_main_clusterset::m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2587,1
    - Dst: m_main_chunkindex::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2592,1
    - Dst: m_main_chunkindex::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - TxGraphImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2582
    functionDepth: 1
    functionLinenumber: 2582
    functionLinenumberEnd: 2600
    functionName: BlockBuilderImpl::BlockBuilderImpl
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - m_main_chunkindex::begin
    - MakeAllAcceptable
    - m_main_clusterset::m_deps_to_add::empty
    - m_main_chunkindex::end
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::BlockBuilderImpl(TxGraphImpl& graph) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2602
    functionDepth: 1
    functionLinenumber: 2602
    functionLinenumberEnd: 2607
    functionName: BlockBuilderImpl::~BlockBuilderImpl()
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::~BlockBuilderImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BlockBuilderImpl::Next
      Src: /src/bitcoin-core/src/txgraph.cpp:2613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2614
    functionName: BlockBuilderImpl::Include
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - BlockBuilderImpl::Next
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::Include() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2623,1
    - Dst: BlockBuilderImpl::Next
      Src: /src/bitcoin-core/src/txgraph.cpp:2625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2626
    functionName: BlockBuilderImpl::Skip
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - insert
    - BlockBuilderImpl::Next
    linkageType: ''
    returnType: void
    signature: void BlockBuilderImpl::Skip() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BlockBuilderImpl>
      Src: /src/bitcoin-core/src/txgraph.cpp:2630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2631
      start: 2628
    functionDepth: 0
    functionLinenumber: 2628
    functionLinenumberEnd: 2631
    functionName: TxGraphImpl::GetBlockBuilder
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BlockBuilderImpl>
    linkageType: ''
    returnType: std::unique_ptr<TxGraph::BlockBuilder>
    signature: std::unique_ptr<TxGraph::BlockBuilder> TxGraphImpl::GetBlockBuilder()
      noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::MakeAllAcceptable
      Src: /src/bitcoin-core/src/txgraph.cpp:2637,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2638,1
    - Dst: m_deps_to_add::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2638,1
    - Dst: empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2640,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/txgraph.cpp:2641,1
    - Dst: LinearizationIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2644,1
    - Dst: std::pair::first::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:2646,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2647,1
    - Dst: std::pair::first::resize
      Src: /src/bitcoin-core/src/txgraph.cpp:2650,1
    - Dst: Cluster*::GetClusterRefs
      Src: /src/bitcoin-core/src/txgraph.cpp:2652,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/txgraph.cpp:2653,1
    - Dst: std::pair::first::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2653,1
    - Dst: std::pair::first::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2633
    functionDepth: 8
    functionLinenumber: 2633
    functionLinenumberEnd: 2658
    functionName: TxGraphImpl::GetWorstMainChunk
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::pair::first::begin
    - empty
    - Assume
    - std::pair::first::end
    - LinearizationIndex
    - TxGraphImpl::MakeAllAcceptable
    - std::pair::first::resize
    - Cluster*::GetClusterRefs
    - rbegin
    - std::reverse
    - m_deps_to_add::empty
    linkageType: ''
    returnType: std::pair<std::vector<TxGraph::Ref*>, FeePerWeight>
    signature: std::pair<std::vector<TxGraph::Ref*>, FeePerWeight> TxGraphImpl::GetWorstMainChunk()
      noexcept
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TxGraphImpl::GetTopLevel
      Src: /src/bitcoin-core/src/txgraph.cpp:2662,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2663,1
    - Dst: GetClusterSet
      Src: /src/bitcoin-core/src/txgraph.cpp:2667,1
    - Dst: TxGraphImpl::GroupClusters
      Src: /src/bitcoin-core/src/txgraph.cpp:2669,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2670,1
    - Dst: m_group_data::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2670,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2672,1
    - Dst: m_oversized::has_value
      Src: /src/bitcoin-core/src/txgraph.cpp:2672,1
    - Dst: find_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2735,1
    - Dst: find_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2736,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:2742,1
    - Dst: std::lower_bound
      Src: /src/bitcoin-core/src/txgraph.cpp:2753,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2753,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2753,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2756,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2756,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2762,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2763,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2764,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2765,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:2768,1
    - Dst: AppendTrimData
      Src: /src/bitcoin-core/src/txgraph.cpp:2772,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/txgraph.cpp:2775,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2779,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2779,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2779,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/txgraph.cpp:2782,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2782,1
    - Dst: m_deps_to_add::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2783,1
    - Dst: m_deps_to_add::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2784,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2788,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2788,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2788,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2792,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2793,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2793,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2794,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2796,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2804,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2807,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2807,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2812,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2812,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2812,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2816,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2819,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2820,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2825,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2825,1
    - Dst: std::make_heap
      Src: /src/bitcoin-core/src/txgraph.cpp:2828,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2828,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2828,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2842,1
    - Dst: std::pop_heap
      Src: /src/bitcoin-core/src/txgraph.cpp:2844,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2844,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2844,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/txgraph.cpp:2846,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2847,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/txgraph.cpp:2855,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:2856,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2857,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2858,1
    - Dst: find_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2858,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2858,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/txgraph.cpp:2860,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2860,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2860,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: std::unique
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2861,1
    - Dst: union_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2875,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/txgraph.cpp:2879,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2880,1
    - Dst: locate_fn
      Src: /src/bitcoin-core/src/txgraph.cpp:2881,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2884,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2886,1
    - Dst: std::push_heap
      Src: /src/bitcoin-core/src/txgraph.cpp:2887,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/txgraph.cpp:2887,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/txgraph.cpp:2887,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2898,1
    - Dst: m_to_remove::push_back
      Src: /src/bitcoin-core/src/txgraph.cpp:2899,1
    - Dst: m_group_data::reset
      Src: /src/bitcoin-core/src/txgraph.cpp:2903,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/txgraph.cpp:2905,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/txgraph.cpp:2905,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2660
    functionDepth: 6
    functionLinenumber: 2660
    functionLinenumberEnd: 2907
    functionName: TxGraphImpl::Trim
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - m_oversized::has_value
    - m_to_remove::push_back
    - union_fn
    - swap
    - std::vector::push_back
    - std::pop_heap
    - find_fn
    - std::vector::end
    - std::push_heap
    - std::vector::back
    - std::vector::insert
    - m_deps_to_add::begin
    - TxGraphImpl::GetTopLevel
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - std::vector::erase
    - Assume
    - GetClusterSet
    - std::make_heap
    - TxGraphImpl::GroupClusters
    - AppendTrimData
    - std::lower_bound
    - std::vector::clear
    - std::unique
    - m_group_data::reset
    - locate_fn
    - m_group_data::has_value
    - std::vector::begin
    - std::sort
    - subspan
    linkageType: ''
    returnType: std::vector<TxGraph::Ref*>
    signature: std::vector<TxGraph::Ref*> TxGraphImpl::Trim() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnlinkRef
      Src: /src/bitcoin-core/src/txgraph.cpp:2915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2911
    functionDepth: 0
    functionLinenumber: 2911
    functionLinenumberEnd: 2918
    functionName: TxGraph::Ref::~Ref()
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - UnlinkRef
    linkageType: ''
    returnType: void
    signature: void TxGraph::Ref::~Ref()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UnlinkRef
      Src: /src/bitcoin-core/src/txgraph.cpp:2923,1
    - Dst: m_graph::UpdateRef
      Src: /src/bitcoin-core/src/txgraph.cpp:2925,1
    - Dst: GraphIndex
      Src: /src/bitcoin-core/src/txgraph.cpp:2930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2932
    functionName: '& TxGraph::Ref::operator=(Ref&& other) noexcept'
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - GraphIndex
    - UnlinkRef
    - m_graph::UpdateRef
    linkageType: ''
    returnType: TxGraph::Ref
    signature: TxGraph::Ref & TxGraph::Ref::operator=(Ref&& other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_graph::UpdateRef
      Src: /src/bitcoin-core/src/txgraph.cpp:2937,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:2939,1
    - Dst: swap
      Src: /src/bitcoin-core/src/txgraph.cpp:2940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2941
      start: 2934
    functionDepth: 1
    functionLinenumber: 2934
    functionLinenumberEnd: 2941
    functionName: TxGraph::Ref::Ref(Ref&& other) noexcept
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - m_graph::UpdateRef
    - swap
    linkageType: ''
    returnType: void
    signature: void TxGraph::Ref::Ref(Ref&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TxGraphImpl>
      Src: /src/bitcoin-core/src/txgraph.cpp:2945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - max_cluster_count
    - max_cluster_size
    - acceptable_iters
    argTypes:
    - unsigned
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 2946
    functionName: MakeTxGraph
    functionSourceFile: /src/bitcoin-core/src/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<TxGraphImpl>
    linkageType: ''
    returnType: std::unique_ptr<TxGraph>
    signature: std::unique_ptr<TxGraph> MakeTxGraph(unsigned max_cluster_count, uint64_t
      max_cluster_size, uint64_t acceptable_iters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: CKeyID::CKeyID
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CKeyID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - uint160
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: CKeyID::CKeyID
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CKeyID(const uint160& in)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - chHeader
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: CPubKey::GetLen
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetLen(unsigned char chHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: CPubKey::Invalidate
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Invalidate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/pubkey.h:78,1
    - Dst: CPubKey::GetLen
      Src: /src/bitcoin-core/src/pubkey.h:78,1
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/pubkey.h:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - vch
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: CPubKey::ValidSize
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>::size
    - CPubKey::GetLen
    linkageType: ''
    returnType: bool
    signature: bool ValidSize(const std::vector<unsigned char> &vch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::Invalidate
      Src: /src/bitcoin-core/src/pubkey.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: CPubKey::CPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 4
    functionsReached:
    - CPubKey::Invalidate
    linkageType: ''
    returnType: void
    signature: void CPubKey()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::GetLen
      Src: /src/bitcoin-core/src/pubkey.h:91,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/pubkey.h:93,1
    - Dst: CPubKey::Invalidate
      Src: /src/bitcoin-core/src/pubkey.h:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pbegin
    - pend
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: CPubKey::Set
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 5
    functionsReached:
    - CPubKey::GetLen
    - CPubKey::Invalidate
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Set(const T pbegin, const T pend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/pubkey.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pbegin
    - pend
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: CPubKey::CPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 4
    functionsReached:
    - CPubKey::Set
    linkageType: ''
    returnType: void
    signature: void CPubKey(const T pbegin, const T pend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/pubkey.h:108,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/pubkey.h:108,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/pubkey.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _vch
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: CPubKey::CPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 4
    functionsReached:
    - CPubKey::Set
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void CPubKey(std::span<const uint8_t> _vch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::GetLen
      Src: /src/bitcoin-core/src/pubkey.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: CPubKey::size
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 9
    functionsReached:
    - CPubKey::GetLen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: CPubKey::data
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: CPubKey::begin
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: CPubKey::end
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - CPubKey::size
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& operator[](unsigned int pos) const'
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char & operator[](unsigned int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/pubkey.h:122,1
    - Dst: size
      Src: /src/bitcoin-core/src/pubkey.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CPubKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: operator==(const CPubKey& a, const CPubKey& b)
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - memcmp
    - size
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CPubKey& a, const CPubKey& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CPubKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: operator!=(const CPubKey& a, const CPubKey& b)
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CPubKey& a, const CPubKey& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/pubkey.h:131,1
    - Dst: size
      Src: /src/bitcoin-core/src/pubkey.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CPubKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: operator<(const CPubKey& a, const CPubKey& b)
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - memcmp
    - size
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CPubKey& a, const CPubKey& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/pubkey.h:136,1
    - Dst: size
      Src: /src/bitcoin-core/src/pubkey.h:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CPubKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: operator>(const CPubKey& a, const CPubKey& b)
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - memcmp
    - size
    linkageType: ''
    returnType: bool
    signature: bool operator>(const CPubKey& a, const CPubKey& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.h:143,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/pubkey.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: CPubKey::Serialize
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - WriteCompactSize
    - CPubKey::size
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.h:153,1
    - Dst: CPubKey::Invalidate
      Src: /src/bitcoin-core/src/pubkey.h:154,1
    - Dst: ignore
      Src: /src/bitcoin-core/src/pubkey.h:158,1
    - Dst: CPubKey::Invalidate
      Src: /src/bitcoin-core/src/pubkey.h:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: CPubKey::Unserialize
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - CPubKey::Invalidate
    - ignore
    - CPubKey::size
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKeyID
      Src: /src/bitcoin-core/src/pubkey.h:166,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/pubkey.h:166,1
    - Dst: first
      Src: /src/bitcoin-core/src/pubkey.h:166,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: CPubKey::GetID
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 1
    functionsReached:
    - CKeyID
    - Hash160
    - CPubKey::size
    - first
    linkageType: ''
    returnType: CKeyID
    signature: CKeyID GetID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/bitcoin-core/src/pubkey.h:172,1
    - Dst: first
      Src: /src/bitcoin-core/src/pubkey.h:172,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: CPubKey::GetHash
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - Hash
    - CPubKey::size
    - first
    linkageType: ''
    returnType: uint256
    signature: uint256 GetHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: CPubKey::IsValid
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 6
    functionsReached:
    - CPubKey::size
    linkageType: ''
    returnType: bool
    signature: bool IsValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.h:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: CPubKey::IsValidNonHybrid
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - CPubKey::size
    linkageType: ''
    returnType: bool
    signature: bool IsValidNonHybrid() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/pubkey.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: CPubKey::IsCompressed
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 3
    functionsReached:
    - CPubKey::size
    linkageType: ''
    returnType: bool
    signature: bool IsCompressed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: XOnlyPubKey::XOnlyPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XOnlyPubKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: XOnlyPubKey::XOnlyPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XOnlyPubKey(const XOnlyPubKey&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: '& operator=(const XOnlyPubKey&)'
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XOnlyPubKey
    signature: XOnlyPubKey & operator=(const XOnlyPubKey&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::IsNull
      Src: /src/bitcoin-core/src/pubkey.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: XOnlyPubKey::IsNull
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 1
    functionsReached:
    - XOnlyPubKey::IsNull
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: XOnlyPubKey::XOnlyPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XOnlyPubKey(std::span<const unsigned char> bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subspan
      Src: /src/bitcoin-core/src/pubkey.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: XOnlyPubKey::XOnlyPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 1
    functionsReached:
    - subspan
    linkageType: ''
    returnType: void
    signature: void XOnlyPubKey(const CPubKey& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/pubkey.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: '& operator[](int pos) const'
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char & operator[](int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/pubkey.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: XOnlyPubKey::size
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: size_t
    signature: size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: XOnlyPubKey::data
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 4
    functionsReached:
    - XOnlyPubKey::begin
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: XOnlyPubKey::begin
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 6
    functionsReached:
    - XOnlyPubKey::begin
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/pubkey.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: XOnlyPubKey::end
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 3
    functionsReached:
    - XOnlyPubKey::end
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: XOnlyPubKey::data
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 4
    functionsReached:
    - XOnlyPubKey::begin
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/pubkey.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: XOnlyPubKey::begin
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 8
    functionsReached:
    - XOnlyPubKey::begin
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/pubkey.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: XOnlyPubKey::end
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 4
    functionsReached:
    - XOnlyPubKey::end
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * end()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XOnlyPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: operator==(const XOnlyPubKey& other) const
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const XOnlyPubKey& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XOnlyPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: operator!=(const XOnlyPubKey& other) const
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const XOnlyPubKey& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XOnlyPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: operator<(const XOnlyPubKey& other) const
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const XOnlyPubKey& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/pubkey.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: XOnlyPubKey::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(XOnlyPubKey, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: EllSwiftPubKey
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EllSwiftPubKey() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/pubkey.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: data
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 91
    functionsReached:
    - data
    linkageType: ''
    returnType: std::byte
    signature: std::byte * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: size
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 417
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/bitcoin-core/src/pubkey.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: begin
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 219
    functionsReached:
    - cbegin
    linkageType: ''
    returnType: auto
    signature: auto begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/bitcoin-core/src/pubkey.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: end
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 240
    functionsReached:
    - cend
    linkageType: ''
    returnType: auto
    signature: auto end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EllSwiftPubKey
    - EllSwiftPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: operator==(const EllSwiftPubKey& a, const EllSwiftPubKey& b)
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EllSwiftPubKey& a, const EllSwiftPubKey& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EllSwiftPubKey
    - EllSwiftPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: operator!=(const EllSwiftPubKey& a, const EllSwiftPubKey& b)
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EllSwiftPubKey& a, const EllSwiftPubKey& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/pubkey.h:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CExtPubKey
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: operator==(const CExtPubKey &a, const CExtPubKey &b)
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CExtPubKey &a, const CExtPubKey &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CExtPubKey
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: operator!=(const CExtPubKey &a, const CExtPubKey &b)
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CExtPubKey &a, const CExtPubKey &b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CExtPubKey
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 376
    functionName: operator<(const CExtPubKey &a, const CExtPubKey &b)
    functionSourceFile: /src/bitcoin-core/src/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CExtPubKey &a, const CExtPubKey &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetKey
      Src: /src/bitcoin-core/src/addrman.cpp:50,1
    - Dst: GetCheapHash
      Src: /src/bitcoin-core/src/addrman.cpp:50,1
    - Dst: GetGroup
      Src: /src/bitcoin-core/src/addrman.cpp:51,1
    - Dst: GetCheapHash
      Src: /src/bitcoin-core/src/addrman.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' nKey'
    - ' netgroupman'
    argTypes:
    - uint256
    - NetGroupManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: AddrInfo::GetTriedBucket
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - GetGroup
    - GetCheapHash
    - GetKey
    linkageType: ''
    returnType: int
    signature: int AddrInfo::GetTriedBucket(const uint256& nKey, const NetGroupManager&
      netgroupman) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetGroup
      Src: /src/bitcoin-core/src/addrman.cpp:57,1
    - Dst: GetGroup
      Src: /src/bitcoin-core/src/addrman.cpp:58,1
    - Dst: GetCheapHash
      Src: /src/bitcoin-core/src/addrman.cpp:58,1
    - Dst: GetCheapHash
      Src: /src/bitcoin-core/src/addrman.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' nKey'
    - ' src'
    - ' netgroupman'
    argTypes:
    - uint256
    - CNetAddr
    - NetGroupManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: AddrInfo::GetNewBucket
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - GetGroup
    - GetCheapHash
    linkageType: ''
    returnType: int
    signature: int AddrInfo::GetNewBucket(const uint256& nKey, const CNetAddr& src,
      const NetGroupManager& netgroupman) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetKey
      Src: /src/bitcoin-core/src/addrman.cpp:65,1
    - Dst: GetCheapHash
      Src: /src/bitcoin-core/src/addrman.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' nKey'
    - fNew
    - bucket
    argTypes:
    - uint256
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: AddrInfo::GetBucketPosition
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - GetCheapHash
    - GetKey
    linkageType: ''
    returnType: int
    signature: int AddrInfo::GetBucketPosition(const uint256& nKey, bool fNew, int
      bucket) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/addrman.cpp:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - now
    argTypes:
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: AddrInfo::IsTerrible
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - TicksSinceEpoch
    linkageType: ''
    returnType: bool
    signature: bool AddrInfo::IsTerrible(NodeSeconds now) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/bitcoin-core/src/addrman.cpp:104,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/addrman.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - now
    argTypes:
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: AddrInfo::GetChance
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - pow
    - std::min
    linkageType: ''
    returnType: double
    signature: double AddrInfo::GetChance(NodeSeconds now) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand256
      Src: /src/bitcoin-core/src/addrman.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ' netgroupman'
    - deterministic
    - consistency_check_ratio
    argTypes:
    - NetGroupManager
    - bool
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: AddrManImpl::AddrManImpl
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - rand256
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::AddrManImpl(const NetGroupManager& netgroupman, bool
      deterministic, int32_t consistency_check_ratio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetNull
      Src: /src/bitcoin-core/src/addrman.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: AddrManImpl::~AddrManImpl()
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - SetNull
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::~AddrManImpl()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:135,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/addrman.cpp:178,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/addrman.cpp:183,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:197,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:206,1
    - Dst: GetAsmapChecksum
      Src: /src/bitcoin-core/src/addrman.cpp:227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' s_'
    argTypes:
    - Stream
    assertStmts:
    - condition: (nIds != nTried)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/bitcoin-core/src/addrman.cpp
    - condition: (nIds != nNew)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/bitcoin-core/src/addrman.cpp
    constantsTouched: []
    func_position:
      end: 228
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 228
    functionName: AddrManImpl::Serialize
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - static_cast<uint8_t>
    - assert
    - GetAsmapChecksum
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::Serialize(Stream& s_) const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:233,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:235,1
    - Dst: empty
      Src: /src/bitcoin-core/src/addrman.cpp:235,1
    - Dst: Using
      Src: /src/bitcoin-core/src/addrman.cpp:238,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/addrman.cpp:246,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrman.cpp:246,1
    - Dst: InvalidAddrManVersionError
      Src: /src/bitcoin-core/src/addrman.cpp:253,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrman.cpp:253,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/addrman.cpp:269,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrman.cpp:270,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/addrman.cpp:276,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrman.cpp:277,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:287,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/addrman.cpp:288,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:289,1
    - Dst: AddrInfo::AddrInfo
      Src: /src/bitcoin-core/src/addrman.cpp:296,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/addrman.cpp:298,1
    - Dst: AddrInfo::GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:299,1
    - Dst: AddrInfo::IsValid
      Src: /src/bitcoin-core/src/addrman.cpp:300,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:302,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/addrman.cpp:304,1
    - Dst: AddrInfo::GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:309,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/addrman.cpp:328,1
    - Dst: GetAsmapChecksum
      Src: /src/bitcoin-core/src/addrman.cpp:336,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/addrman.cpp:337,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:345,1
    - Dst: AddrInfo::IsValid
      Src: /src/bitcoin-core/src/addrman.cpp:354,1
    - Dst: AddrInfo::GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:361,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/addrman.cpp:369,1
    - Dst: AddrInfo::GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:370,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/addrman.cpp:380,1
    - Dst: cend
      Src: /src/bitcoin-core/src/addrman.cpp:380,1
    - Dst: AddrManImpl::Delete
      Src: /src/bitcoin-core/src/addrman.cpp:383,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:390,1
    - Dst: AddrManImpl::CheckAddrman
      Src: /src/bitcoin-core/src/addrman.cpp:393,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/addrman.cpp:395,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrman.cpp:395,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 93
    argCount: 1
    argNames:
    - ' s_'
    argTypes:
    - Stream
    assertStmts:
    - condition: (vRandom.empty())
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/bitcoin-core/src/addrman.cpp
    constantsTouched: []
    func_position:
      end: 399
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 399
    functionName: AddrManImpl::Unserialize
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - AddrInfo::AddrInfo
    - std::vector::emplace_back
    - AddrManImpl::Delete
    - AddrInfo::GetBucketPosition
    - cend
    - std::ios_base::failure
    - Using
    - cbegin
    - InvalidAddrManVersionError
    - AddrInfo::GetNewBucket
    - AddrManImpl::CheckAddrman
    - AddrInfo::IsValid
    - GetNetwork
    - empty
    - LogDebug
    - strprintf
    - assert
    - uint256::uint256
    - AddrInfo::GetNetwork
    - push_back
    - AddrInfo::GetTriedBucket
    - size
    - LOCK
    - GetAsmapChecksum
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::Unserialize(Stream& s_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:403,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:405,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:406,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:410,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' addr'
    - pnId
    argTypes:
    - CService
    - nid_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 414
    functionName: AddrManImpl::Find
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: AddrInfo
    signature: AddrInfo * AddrManImpl::Find(const CService& addr, nid_type* pnId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:418,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/addrman.cpp:421,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:423,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/addrman.cpp:424,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' addr'
    - ' addrSource'
    - pnId
    argTypes:
    - CAddress
    - CNetAddr
    - nid_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 430
    functionName: AddrManImpl::Create
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - GetNetwork
    - push_back
    - size
    - AddrInfo
    - AssertLockHeld
    linkageType: ''
    returnType: AddrInfo
    signature: AddrInfo * AddrManImpl::Create(const CAddress& addr, const CNetAddr&
      addrSource, nid_type* pnId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:434,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:439,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:439,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:439,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:444,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:445,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:446,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:446,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:447,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - nRndPos1
    - nRndPos2
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts:
    - condition: (nRndPos1 < vRandom.size() && nRndPos2 < vRandom.size())
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/bitcoin-core/src/addrman.cpp
    - condition: (it_1 != mapInfo.end())
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/bitcoin-core/src/addrman.cpp
    - condition: (it_2 != mapInfo.end())
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/bitcoin-core/src/addrman.cpp
    constantsTouched: []
    func_position:
      end: 454
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 454
    functionName: AddrManImpl::SwapRandom
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - end
    - size
    - AssertLockHeld
    - assert
    - find
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::SwapRandom(unsigned int nRndPos1, unsigned int nRndPos2)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:458,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:460,1
    - Dst: count
      Src: /src/bitcoin-core/src/addrman.cpp:460,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:462,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:463,1
    - Dst: AddrManImpl::SwapRandom
      Src: /src/bitcoin-core/src/addrman.cpp:465,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:465,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:466,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/addrman.cpp:467,1
    - Dst: erase
      Src: /src/bitcoin-core/src/addrman.cpp:468,1
    - Dst: erase
      Src: /src/bitcoin-core/src/addrman.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - nId
    argTypes:
    - nid_type
    assertStmts:
    - condition: (info.nRefCount == 0)
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/bitcoin-core/src/addrman.cpp
    - condition: (mapInfo.count(nId) != 0)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/bitcoin-core/src/addrman.cpp
    - condition: (!info.fInTried)
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/bitcoin-core/src/addrman.cpp
    constantsTouched: []
    func_position:
      end: 471
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 471
    functionName: AddrManImpl::Delete
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - GetNetwork
    - erase
    - size
    - AssertLockHeld
    - pop_back
    - assert
    - AddrManImpl::SwapRandom
    - count
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::Delete(nid_type nId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:475,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:481,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:484,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:484,1
    - Dst: AddrManImpl::Delete
      Src: /src/bitcoin-core/src/addrman.cpp:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - nUBucket
    - nUBucketPos
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (infoDelete.nRefCount > 0)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/bitcoin-core/src/addrman.cpp
    constantsTouched: []
    func_position:
      end: 489
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 489
    functionName: AddrManImpl::ClearNew
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - ToStringAddrPort
    - AddrManImpl::Delete
    - LogDebug
    - AssertLockHeld
    - assert
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::ClearNew(int nUBucket, int nUBucketPos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:493,1
    - Dst: GetNewBucket
      Src: /src/bitcoin-core/src/addrman.cpp:496,1
    - Dst: GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:499,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:507,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:509,1
    - Dst: GetTriedBucket
      Src: /src/bitcoin-core/src/addrman.cpp:512,1
    - Dst: GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:513,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:519,1
    - Dst: count
      Src: /src/bitcoin-core/src/addrman.cpp:519,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:526,1
    - Dst: GetNewBucket
      Src: /src/bitcoin-core/src/addrman.cpp:529,1
    - Dst: GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:530,1
    - Dst: AddrManImpl::ClearNew
      Src: /src/bitcoin-core/src/addrman.cpp:531,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:532,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:538,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:539,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:540,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:542,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - ' info'
    - nId
    argTypes:
    - AddrInfo
    - nid_type
    assertStmts:
    - condition: (vvNew[nUBucket][nUBucketPos] == -1)
      pos:
        line_end: 531
        line_start: 531
        source_file: /src/bitcoin-core/src/addrman.cpp
    - condition: (info.nRefCount == 0)
      pos:
        line_end: 508
        line_start: 508
        source_file: /src/bitcoin-core/src/addrman.cpp
    - condition: (mapInfo.count(nIdEvict) == 1)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/bitcoin-core/src/addrman.cpp
    - condition: (vvTried[nKBucket][nKBucketPos] == -1)
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/bitcoin-core/src/addrman.cpp
    constantsTouched: []
    func_position:
      end: 548
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 548
    functionName: AddrManImpl::MakeTried
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - GetNetwork
    - ToStringAddrPort
    - GetTriedBucket
    - LogDebug
    - GetNewBucket
    - AddrManImpl::ClearNew
    - AssertLockHeld
    - GetBucketPosition
    - assert
    - count
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::MakeTried(AddrInfo& info, nid_type nId)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:552,1
    - Dst: IsRoutable
      Src: /src/bitcoin-core/src/addrman.cpp:554,1
    - Dst: AddrManImpl::Find
      Src: /src/bitcoin-core/src/addrman.cpp:558,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/addrman.cpp:567,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/addrman.cpp:570,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/addrman.cpp:574,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/addrman.cpp:592,1
    - Dst: AddrManImpl::Create
      Src: /src/bitcoin-core/src/addrman.cpp:595,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/addrman.cpp:596,1
    - Dst: AddrInfo*::GetNewBucket
      Src: /src/bitcoin-core/src/addrman.cpp:599,1
    - Dst: AddrInfo*::GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:600,1
    - Dst: IsTerrible
      Src: /src/bitcoin-core/src/addrman.cpp:605,1
    - Dst: AddrManImpl::ClearNew
      Src: /src/bitcoin-core/src/addrman.cpp:611,1
    - Dst: GetMappedAS
      Src: /src/bitcoin-core/src/addrman.cpp:614,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:615,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:616,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrman.cpp:616,1
    - Dst: AddrManImpl::Delete
      Src: /src/bitcoin-core/src/addrman.cpp:619,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - ' addr'
    - ' source'
    - time_penalty
    argTypes:
    - CAddress
    - CNetAddr
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 624
    functionName: AddrManImpl::AddSingle
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - IsTerrible
    - ToStringAddrPort
    - AddrManImpl::Delete
    - GetMappedAS
    - LogDebug
    - AddrInfo*::GetNewBucket
    - std::max
    - ServiceFlags
    - AddrInfo*::GetBucketPosition
    - randrange
    - AssertLockHeld
    - AddrManImpl::ClearNew
    - strprintf
    - NodeClock::now
    - AddrManImpl::Create
    - IsRoutable
    - AddrManImpl::Find
    linkageType: ''
    returnType: bool
    signature: bool AddrManImpl::AddSingle(const CAddress& addr, const CNetAddr& source,
      std::chrono::seconds time_penalty)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:628,1
    - Dst: AddrManImpl::Find
      Src: /src/bitcoin-core/src/addrman.cpp:634,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/addrman.cpp:652,1
    - Dst: GetTriedBucket
      Src: /src/bitcoin-core/src/addrman.cpp:656,1
    - Dst: GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:657,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:661,1
    - Dst: insert
      Src: /src/bitcoin-core/src/addrman.cpp:662,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:665,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:666,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:667,1
    - Dst: auto::second::ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:667,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:668,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:669,1
    - Dst: AddrManImpl::MakeTried
      Src: /src/bitcoin-core/src/addrman.cpp:673,1
    - Dst: GetMappedAS
      Src: /src/bitcoin-core/src/addrman.cpp:674,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:675,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:676,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrman.cpp:676,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ' addr'
    - test_before_evict
    - time
    argTypes:
    - CService
    - bool
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 626
    functionDepth: 5
    functionLinenumber: 626
    functionLinenumberEnd: 679
    functionName: AddrManImpl::Good_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - ToStringAddrPort
    - GetTriedBucket
    - Assume
    - strprintf
    - GetMappedAS
    - LogDebug
    - size
    - auto::second::ToStringAddrPort
    - AddrManImpl::MakeTried
    - AssertLockHeld
    - GetBucketPosition
    - insert
    - AddrManImpl::Find
    linkageType: ''
    returnType: bool
    signature: bool AddrManImpl::Good_(const CService& addr, bool test_before_evict,
      NodeSeconds time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/addrman.cpp:684,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:684,1
    - Dst: AddrManImpl::AddSingle
      Src: /src/bitcoin-core/src/addrman.cpp:685,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:688,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:688,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/addrman.cpp:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' vAddr'
    - ' source'
    - time_penalty
    argTypes:
    - std::vector<CAddress>
    - CNetAddr
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 681
    functionDepth: 5
    functionLinenumber: 681
    functionLinenumberEnd: 691
    functionName: AddrManImpl::Add_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - end
    - LogDebug
    - size
    - AddrManImpl::AddSingle
    - begin
    - ToStringAddr
    linkageType: ''
    returnType: bool
    signature: bool AddrManImpl::Add_(const std::vector<CAddress>& vAddr, const CNetAddr&
      source, std::chrono::seconds time_penalty)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:695,1
    - Dst: AddrManImpl::Find
      Src: /src/bitcoin-core/src/addrman.cpp:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' addr'
    - fCountFailure
    - time
    argTypes:
    - CService
    - bool
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 711
    functionName: AddrManImpl::Attempt_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    - AddrManImpl::Find
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::Attempt_(const CService& addr, bool fCountFailure,
      NodeSeconds time)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:715,1
    - Dst: empty
      Src: /src/bitcoin-core/src/addrman.cpp:717,1
    - Dst: empty
      Src: /src/bitcoin-core/src/addrman.cpp:722,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:726,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:727,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/addrman.cpp:747,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/addrman.cpp:756,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/addrman.cpp:757,1
    - Dst: AddrManImpl::GetEntry
      Src: /src/bitcoin-core/src/addrman.cpp:765,1
    - Dst: empty
      Src: /src/bitcoin-core/src/addrman.cpp:767,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:768,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/addrman.cpp:769,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:769,1
    - Dst: contains
      Src: /src/bitcoin-core/src/addrman.cpp:769,1
    - Dst: auto::second::GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:769,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:780,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:781,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:781,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/addrman.cpp:785,1
    - Dst: GetChance
      Src: /src/bitcoin-core/src/addrman.cpp:785,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:786,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:786,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 2
    argNames:
    - new_only
    - ' networks'
    argTypes:
    - bool
    - std::unordered_set<Network>
    assertStmts:
    - condition: (it_found != mapInfo.end())
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/bitcoin-core/src/addrman.cpp
    constantsTouched: []
    func_position:
      end: 793
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 793
    functionName: AddrManImpl::Select_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - end
    - ToStringAddrPort
    - empty
    - Assume
    - randbits
    - LogDebug
    - randbool
    - contains
    - randrange
    - AssertLockHeld
    - AddrManImpl::GetEntry
    - auto::second::GetNetwork
    - assert
    - find
    - GetChance
    linkageType: ''
    returnType: std::pair<CAddress, NodeSeconds>
    signature: std::pair<CAddress, NodeSeconds> AddrManImpl::Select_(bool new_only,
      const std::unordered_set<Network>& networks) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:797,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/addrman.cpp:800,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/addrman.cpp:800,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/addrman.cpp:804,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/addrman.cpp:804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - use_tried
    - bucket
    - position
    argTypes:
    - bool
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 810
    functionName: AddrManImpl::GetEntry
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AssertLockHeld
    - Assume
    linkageType: ''
    returnType: nid_type
    signature: nid_type AddrManImpl::GetEntry(bool use_tried, size_t bucket, size_t
      position) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:814,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/addrman.cpp:815,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:817,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/addrman.cpp:819,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/addrman.cpp:823,1
    - Dst: Now
      Src: /src/bitcoin-core/src/addrman.cpp:827,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/addrman.cpp:829,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:830,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/addrman.cpp:831,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/addrman.cpp:834,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:834,1
    - Dst: AddrManImpl::SwapRandom
      Src: /src/bitcoin-core/src/addrman.cpp:835,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:836,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:837,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:837,1
    - Dst: GetNetClass
      Src: /src/bitcoin-core/src/addrman.cpp:842,1
    - Dst: IsTerrible
      Src: /src/bitcoin-core/src/addrman.cpp:845,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/addrman.cpp:847,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:849,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/addrman.cpp:849,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - max_addresses
    - max_pct
    - network
    - filtered
    argTypes:
    - size_t
    - size_t
    - std::optional<Network>
    - bool
    assertStmts:
    - condition: (it != mapInfo.end())
      pos:
        line_end: 836
        line_start: 836
        source_file: /src/bitcoin-core/src/addrman.cpp
    constantsTouched: []
    func_position:
      end: 851
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 851
    functionName: AddrManImpl::GetAddr_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - std::vector::size
    - IsTerrible
    - Assume
    - LogDebug
    - size
    - std::vector::reserve
    - std::vector::push_back
    - GetNetClass
    - randrange
    - AssertLockHeld
    - assert
    - AddrManImpl::SwapRandom
    - std::min
    - Now
    linkageType: ''
    returnType: std::vector<CAddress>
    signature: std::vector<CAddress> AddrManImpl::GetAddr_(size_t max_addresses, size_t
      max_pct, std::optional<Network> network, const bool filtered) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:855,1
    - Dst: AddrManImpl::GetEntry
      Src: /src/bitcoin-core/src/addrman.cpp:861,1
    - Dst: at
      Src: /src/bitcoin-core/src/addrman.cpp:863,1
    - Dst: AddressPosition
      Src: /src/bitcoin-core/src/addrman.cpp:864,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/addrman.cpp:869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - from_tried
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 875
    functionName: AddrManImpl::GetEntries_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - at
    - AddressPosition
    - AssertLockHeld
    - AddrManImpl::GetEntry
    linkageType: ''
    returnType: std::vector<std::pair<AddrInfo, AddressPosition>>
    signature: std::vector<std::pair<AddrInfo, AddressPosition>> AddrManImpl::GetEntries_(bool
      from_tried) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:879,1
    - Dst: AddrManImpl::Find
      Src: /src/bitcoin-core/src/addrman.cpp:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' addr'
    - time
    argTypes:
    - CService
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 894
    functionName: AddrManImpl::Connected_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    - AddrManImpl::Find
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::Connected_(const CService& addr, NodeSeconds time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:898,1
    - Dst: AddrManImpl::Find
      Src: /src/bitcoin-core/src/addrman.cpp:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' addr'
    - nServices
    argTypes:
    - CService
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 910
    functionName: AddrManImpl::SetServices_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    - AddrManImpl::Find
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::SetServices_(const CService& addr, ServiceFlags nServices)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:914,1
    - Dst: begin
      Src: /src/bitcoin-core/src/addrman.cpp:916,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:916,1
    - Dst: count
      Src: /src/bitcoin-core/src/addrman.cpp:922,1
    - Dst: GetTriedBucket
      Src: /src/bitcoin-core/src/addrman.cpp:928,1
    - Dst: GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:929,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/addrman.cpp:930,1
    - Dst: Now
      Src: /src/bitcoin-core/src/addrman.cpp:938,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:947,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:947,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:947,1
    - Dst: AddrManImpl::Good_
      Src: /src/bitcoin-core/src/addrman.cpp:950,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/addrman.cpp:957,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:957,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/addrman.cpp:957,1
    - Dst: AddrManImpl::Good_
      Src: /src/bitcoin-core/src/addrman.cpp:958,1
    - Dst: AddrManImpl::Good_
      Src: /src/bitcoin-core/src/addrman.cpp:962,1
    - Dst: Now
      Src: /src/bitcoin-core/src/addrman.cpp:962,1
    - Dst: erase
      Src: /src/bitcoin-core/src/addrman.cpp:968,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 912
    functionDepth: 6
    functionLinenumber: 912
    functionLinenumberEnd: 973
    functionName: AddrManImpl::ResolveCollisions_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - end
    - ToStringAddrPort
    - erase
    - GetTriedBucket
    - LogDebug
    - IsValid
    - count
    - AssertLockHeld
    - AddrManImpl::Good_
    - GetBucketPosition
    - begin
    - Now
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::ResolveCollisions_()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:977,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:979,1
    - Dst: begin
      Src: /src/bitcoin-core/src/addrman.cpp:981,1
    - Dst: std::advance
      Src: /src/bitcoin-core/src/addrman.cpp:984,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/addrman.cpp:984,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:984,1
    - Dst: count
      Src: /src/bitcoin-core/src/addrman.cpp:988,1
    - Dst: erase
      Src: /src/bitcoin-core/src/addrman.cpp:989,1
    - Dst: GetTriedBucket
      Src: /src/bitcoin-core/src/addrman.cpp:996,1
    - Dst: GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1001
    functionName: AddrManImpl::SelectTriedCollision_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - erase
    - GetTriedBucket
    - std::advance
    - size
    - count
    - randrange
    - AssertLockHeld
    - GetBucketPosition
    - begin
    linkageType: ''
    returnType: std::pair<CAddress, NodeSeconds>
    signature: std::pair<CAddress, NodeSeconds> AddrManImpl::SelectTriedCollision_()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:1005,1
    - Dst: AddrManImpl::Find
      Src: /src/bitcoin-core/src/addrman.cpp:1007,1
    - Dst: AddrInfo*::GetTriedBucket
      Src: /src/bitcoin-core/src/addrman.cpp:1012,1
    - Dst: AddressPosition
      Src: /src/bitcoin-core/src/addrman.cpp:1013,1
    - Dst: AddrInfo*::GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:1016,1
    - Dst: AddrInfo*::GetNewBucket
      Src: /src/bitcoin-core/src/addrman.cpp:1018,1
    - Dst: AddressPosition
      Src: /src/bitcoin-core/src/addrman.cpp:1019,1
    - Dst: AddrInfo*::GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:1022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1024
    functionName: AddrManImpl::FindAddressEntry_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - AddrInfo*::GetBucketPosition
    - AddressPosition
    - AddrInfo*::GetNewBucket
    - AssertLockHeld
    - AddrInfo*::GetTriedBucket
    - AddrManImpl::Find
    linkageType: ''
    returnType: std::optional<AddressPosition>
    signature: std::optional<AddressPosition> AddrManImpl::FindAddressEntry_(const
      CAddress& addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:1028,1
    - Dst: std::optional<Network>::has_value
      Src: /src/bitcoin-core/src/addrman.cpp:1030,1
    - Dst: std::optional<bool>::has_value
      Src: /src/bitcoin-core/src/addrman.cpp:1031,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:1034,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:1037,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:1037,1
    - Dst: std::optional<bool>::has_value
      Src: /src/bitcoin-core/src/addrman.cpp:1039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - net
    - in_new
    argTypes:
    - std::optional<Network>
    - std::optional<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1046
    functionName: AddrManImpl::Size_
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::optional<bool>::has_value
    - size
    - AssertLockHeld
    - find
    - std::optional<Network>::has_value
    linkageType: ''
    returnType: size_t
    signature: size_t AddrManImpl::Size_(std::optional<Network> net, std::optional<bool>
      in_new) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:1050,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/addrman.cpp:1054,1
    - Dst: AddrManImpl::CheckAddrman
      Src: /src/bitcoin-core/src/addrman.cpp:1056,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/addrman.cpp:1058,1
    - Dst: assert
      Src: /src/bitcoin-core/src/addrman.cpp:1059,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1058
        line_start: 1058
        source_file: /src/bitcoin-core/src/addrman.cpp
    constantsTouched: []
    func_position:
      end: 1061
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1061
    functionName: AddrManImpl::Check
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - randrange
    - AssertLockHeld
    - AddrManImpl::CheckAddrman
    - assert
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::Check() const
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/addrman.cpp:1065,1
    - Dst: LOG_TIME_MILLIS_WITH_CATEGORY_MSG_ONCE
      Src: /src/bitcoin-core/src/addrman.cpp:1067,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrman.cpp:1068,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:1068,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:1074,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/addrman.cpp:1081,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/addrman.cpp:1086,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:1087,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/addrman.cpp:1094,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:1096,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:1097,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:1100,1
    - Dst: std::unordered_set::size
      Src: /src/bitcoin-core/src/addrman.cpp:1110,1
    - Dst: std::unordered_map::size
      Src: /src/bitcoin-core/src/addrman.cpp:1112,1
    - Dst: std::unordered_set::count
      Src: /src/bitcoin-core/src/addrman.cpp:1118,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:1120,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:1121,1
    - Dst: auto::second::GetTriedBucket
      Src: /src/bitcoin-core/src/addrman.cpp:1121,1
    - Dst: auto::second::GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:1124,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/addrman.cpp:1127,1
    - Dst: std::unordered_map::count
      Src: /src/bitcoin-core/src/addrman.cpp:1135,1
    - Dst: find
      Src: /src/bitcoin-core/src/addrman.cpp:1137,1
    - Dst: end
      Src: /src/bitcoin-core/src/addrman.cpp:1138,1
    - Dst: auto::second::GetBucketPosition
      Src: /src/bitcoin-core/src/addrman.cpp:1138,1
    - Dst: std::unordered_map::erase
      Src: /src/bitcoin-core/src/addrman.cpp:1142,1
    - Dst: std::unordered_set::size
      Src: /src/bitcoin-core/src/addrman.cpp:1147,1
    - Dst: std::unordered_map::size
      Src: /src/bitcoin-core/src/addrman.cpp:1149,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/addrman.cpp:1151,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrman.cpp:1156,1
    - Dst: std::unordered_map::size
      Src: /src/bitcoin-core/src/addrman.cpp:1156,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1166
    functionName: AddrManImpl::CheckAddrman
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 2
    functionsReached:
    - end
    - GetNetwork
    - std::unordered_set::erase
    - auto::second::GetBucketPosition
    - std::unordered_set::size
    - auto::second::GetTriedBucket
    - std::unordered_set::count
    - std::unordered_map::size
    - std::unordered_map::erase
    - TicksSinceEpoch
    - size
    - std::unordered_set::insert
    - LOG_TIME_MILLIS_WITH_CATEGORY_MSG_ONCE
    - AssertLockHeld
    - strprintf
    - std::unordered_map::count
    - find
    - IsNull
    linkageType: ''
    returnType: int
    signature: int AddrManImpl::CheckAddrman() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1170,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1171,1
    - Dst: AddrManImpl::Size_
      Src: /src/bitcoin-core/src/addrman.cpp:1172,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - net
    - in_new
    argTypes:
    - std::optional<Network>
    - std::optional<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1175
    functionName: AddrManImpl::Size
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::Check
    - AddrManImpl::Size_
    linkageType: ''
    returnType: size_t
    signature: size_t AddrManImpl::Size(std::optional<Network> net, std::optional<bool>
      in_new) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1179,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1180,1
    - Dst: AddrManImpl::Add_
      Src: /src/bitcoin-core/src/addrman.cpp:1181,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' vAddr'
    - ' source'
    - time_penalty
    argTypes:
    - std::vector<CAddress>
    - CNetAddr
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1177
    functionDepth: 6
    functionLinenumber: 1177
    functionLinenumberEnd: 1184
    functionName: AddrManImpl::Add
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::Check
    - AddrManImpl::Add_
    linkageType: ''
    returnType: bool
    signature: bool AddrManImpl::Add(const std::vector<CAddress>& vAddr, const CNetAddr&
      source, std::chrono::seconds time_penalty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1188,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1189,1
    - Dst: AddrManImpl::Good_
      Src: /src/bitcoin-core/src/addrman.cpp:1190,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' addr'
    - time
    argTypes:
    - CService
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1186
    functionDepth: 6
    functionLinenumber: 1186
    functionLinenumberEnd: 1193
    functionName: AddrManImpl::Good
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::Check
    - AddrManImpl::Good_
    linkageType: ''
    returnType: bool
    signature: bool AddrManImpl::Good(const CService& addr, NodeSeconds time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1197,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1198,1
    - Dst: AddrManImpl::Attempt_
      Src: /src/bitcoin-core/src/addrman.cpp:1199,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' addr'
    - fCountFailure
    - time
    argTypes:
    - CService
    - bool
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1201
    functionName: AddrManImpl::Attempt
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::Check
    - AddrManImpl::Attempt_
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::Attempt(const CService& addr, bool fCountFailure,
      NodeSeconds time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1205,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1206,1
    - Dst: AddrManImpl::ResolveCollisions_
      Src: /src/bitcoin-core/src/addrman.cpp:1207,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1203
    functionDepth: 7
    functionLinenumber: 1203
    functionLinenumberEnd: 1209
    functionName: AddrManImpl::ResolveCollisions
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - AddrManImpl::ResolveCollisions_
    - LOCK
    - AddrManImpl::Check
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::ResolveCollisions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1213,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1214,1
    - Dst: AddrManImpl::SelectTriedCollision_
      Src: /src/bitcoin-core/src/addrman.cpp:1215,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1218
    functionName: AddrManImpl::SelectTriedCollision
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::Check
    - AddrManImpl::SelectTriedCollision_
    linkageType: ''
    returnType: std::pair<CAddress, NodeSeconds>
    signature: std::pair<CAddress, NodeSeconds> AddrManImpl::SelectTriedCollision()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1222,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1223,1
    - Dst: AddrManImpl::Select_
      Src: /src/bitcoin-core/src/addrman.cpp:1224,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - new_only
    - ' networks'
    argTypes:
    - bool
    - std::unordered_set<Network>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1227
    functionName: AddrManImpl::Select
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::Check
    - AddrManImpl::Select_
    linkageType: ''
    returnType: std::pair<CAddress, NodeSeconds>
    signature: std::pair<CAddress, NodeSeconds> AddrManImpl::Select(bool new_only,
      const std::unordered_set<Network>& networks) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1231,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1232,1
    - Dst: AddrManImpl::GetAddr_
      Src: /src/bitcoin-core/src/addrman.cpp:1233,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - max_addresses
    - max_pct
    - network
    - filtered
    argTypes:
    - size_t
    - size_t
    - std::optional<Network>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1229
    functionDepth: 3
    functionLinenumber: 1229
    functionLinenumberEnd: 1236
    functionName: AddrManImpl::GetAddr
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::Check
    - AddrManImpl::GetAddr_
    linkageType: ''
    returnType: std::vector<CAddress>
    signature: std::vector<CAddress> AddrManImpl::GetAddr(size_t max_addresses, size_t
      max_pct, std::optional<Network> network, const bool filtered) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1240,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1241,1
    - Dst: AddrManImpl::GetEntries_
      Src: /src/bitcoin-core/src/addrman.cpp:1242,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - from_tried
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1245
    functionName: AddrManImpl::GetEntries
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::Check
    - AddrManImpl::GetEntries_
    linkageType: ''
    returnType: std::vector<std::pair<AddrInfo, AddressPosition>>
    signature: std::vector<std::pair<AddrInfo, AddressPosition>> AddrManImpl::GetEntries(bool
      from_tried) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1249,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1250,1
    - Dst: AddrManImpl::Connected_
      Src: /src/bitcoin-core/src/addrman.cpp:1251,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' addr'
    - time
    argTypes:
    - CService
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1247
    functionDepth: 2
    functionLinenumber: 1247
    functionLinenumberEnd: 1253
    functionName: AddrManImpl::Connected
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::Check
    - AddrManImpl::Connected_
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::Connected(const CService& addr, NodeSeconds time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1257,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1258,1
    - Dst: AddrManImpl::SetServices_
      Src: /src/bitcoin-core/src/addrman.cpp:1259,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' addr'
    - nServices
    argTypes:
    - CService
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1255
    functionDepth: 2
    functionLinenumber: 1255
    functionLinenumberEnd: 1261
    functionName: AddrManImpl::SetServices
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - AddrManImpl::SetServices_
    - LOCK
    - AddrManImpl::Check
    linkageType: ''
    returnType: void
    signature: void AddrManImpl::SetServices(const CService& addr, ServiceFlags nServices)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/addrman.cpp:1265,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1266,1
    - Dst: AddrManImpl::FindAddressEntry_
      Src: /src/bitcoin-core/src/addrman.cpp:1267,1
    - Dst: AddrManImpl::Check
      Src: /src/bitcoin-core/src/addrman.cpp:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1270
    functionName: AddrManImpl::FindAddressEntry
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AddrManImpl::FindAddressEntry_
    - AddrManImpl::Check
    linkageType: ''
    returnType: std::optional<AddressPosition>
    signature: std::optional<AddressPosition> AddrManImpl::FindAddressEntry(const
      CAddress& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrManImpl>
      Src: /src/bitcoin-core/src/addrman.cpp:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' netgroupman'
    - deterministic
    - consistency_check_ratio
    argTypes:
    - NetGroupManager
    - bool
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1273
    functionName: AddrMan::AddrMan
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AddrManImpl>
    linkageType: ''
    returnType: void
    signature: void AddrMan::AddrMan(const NetGroupManager& netgroupman, bool deterministic,
      int32_t consistency_check_ratio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1275
    functionName: AddrMan::~AddrMan()
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddrMan::~AddrMan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::Serialize
      Src: /src/bitcoin-core/src/addrman.cpp:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s_'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1281
    functionName: AddrMan::Serialize
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::Serialize
    linkageType: ''
    returnType: void
    signature: void AddrMan::Serialize(Stream& s_) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::Unserialize
      Src: /src/bitcoin-core/src/addrman.cpp:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s_'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1287
    functionName: AddrMan::Unserialize
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::Unserialize
    linkageType: ''
    returnType: void
    signature: void AddrMan::Unserialize(Stream& s_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::Size
      Src: /src/bitcoin-core/src/addrman.cpp:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - net
    - in_new
    argTypes:
    - std::optional<Network>
    - std::optional<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1300
    functionName: AddrMan::Size
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::Size
    linkageType: ''
    returnType: size_t
    signature: size_t AddrMan::Size(std::optional<Network> net, std::optional<bool>
      in_new) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::Add
      Src: /src/bitcoin-core/src/addrman.cpp:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' vAddr'
    - ' source'
    - time_penalty
    argTypes:
    - std::vector<CAddress>
    - CNetAddr
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1305
    functionName: AddrMan::Add
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::Add
    linkageType: ''
    returnType: bool
    signature: bool AddrMan::Add(const std::vector<CAddress>& vAddr, const CNetAddr&
      source, std::chrono::seconds time_penalty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::Good
      Src: /src/bitcoin-core/src/addrman.cpp:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - time
    argTypes:
    - CService
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: AddrMan::Good
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::Good
    linkageType: ''
    returnType: bool
    signature: bool AddrMan::Good(const CService& addr, NodeSeconds time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::Attempt
      Src: /src/bitcoin-core/src/addrman.cpp:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' addr'
    - fCountFailure
    - time
    argTypes:
    - CService
    - bool
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1315
    functionName: AddrMan::Attempt
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::Attempt
    linkageType: ''
    returnType: void
    signature: void AddrMan::Attempt(const CService& addr, bool fCountFailure, NodeSeconds
      time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::ResolveCollisions
      Src: /src/bitcoin-core/src/addrman.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1320
    functionName: AddrMan::ResolveCollisions
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::ResolveCollisions
    linkageType: ''
    returnType: void
    signature: void AddrMan::ResolveCollisions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::SelectTriedCollision
      Src: /src/bitcoin-core/src/addrman.cpp:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1325
    functionName: AddrMan::SelectTriedCollision
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::SelectTriedCollision
    linkageType: ''
    returnType: std::pair<CAddress, NodeSeconds>
    signature: std::pair<CAddress, NodeSeconds> AddrMan::SelectTriedCollision()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::Select
      Src: /src/bitcoin-core/src/addrman.cpp:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - new_only
    - ' networks'
    argTypes:
    - bool
    - std::unordered_set<Network>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: AddrMan::Select
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::Select
    linkageType: ''
    returnType: std::pair<CAddress, NodeSeconds>
    signature: std::pair<CAddress, NodeSeconds> AddrMan::Select(bool new_only, const
      std::unordered_set<Network>& networks) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::GetAddr
      Src: /src/bitcoin-core/src/addrman.cpp:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - max_addresses
    - max_pct
    - network
    - filtered
    argTypes:
    - size_t
    - size_t
    - std::optional<Network>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1335
    functionName: AddrMan::GetAddr
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::GetAddr
    linkageType: ''
    returnType: std::vector<CAddress>
    signature: std::vector<CAddress> AddrMan::GetAddr(size_t max_addresses, size_t
      max_pct, std::optional<Network> network, const bool filtered) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::GetEntries
      Src: /src/bitcoin-core/src/addrman.cpp:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_tried
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1340
    functionName: AddrMan::GetEntries
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::GetEntries
    linkageType: ''
    returnType: std::vector<std::pair<AddrInfo, AddressPosition>>
    signature: std::vector<std::pair<AddrInfo, AddressPosition>> AddrMan::GetEntries(bool
      use_tried) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::Connected
      Src: /src/bitcoin-core/src/addrman.cpp:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - time
    argTypes:
    - CService
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1345
    functionName: AddrMan::Connected
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::Connected
    linkageType: ''
    returnType: void
    signature: void AddrMan::Connected(const CService& addr, NodeSeconds time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::SetServices
      Src: /src/bitcoin-core/src/addrman.cpp:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - nServices
    argTypes:
    - CService
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1350
    functionName: AddrMan::SetServices
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::SetServices
    linkageType: ''
    returnType: void
    signature: void AddrMan::SetServices(const CService& addr, ServiceFlags nServices)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrMan::FindAddressEntry
      Src: /src/bitcoin-core/src/addrman.cpp:1354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1355
    functionName: AddrMan::FindAddressEntry
    functionSourceFile: /src/bitcoin-core/src/addrman.cpp
    functionUses: 1
    functionsReached:
    - AddrMan::FindAddressEntry
    linkageType: ''
    returnType: std::optional<AddressPosition>
    signature: std::optional<AddressPosition> AddrMan::FindAddressEntry(const CAddress&
      addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:123,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:128,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/validation.cpp:130,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:133,1
    - Dst: Height
      Src: /src/bitcoin-core/src/validation.cpp:133,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:133,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:134,1
    - Dst: Genesis
      Src: /src/bitcoin-core/src/validation.cpp:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: Chainstate::FindForkInGlobalIndex
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - Height
    - Contains
    - Genesis
    - LookupBlockIndex
    - CBlockIndex*::GetAncestor
    - AssertLockHeld
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * Chainstate::FindForkInGlobalIndex(const CBlockLocator&
      locator) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:150,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/validation.cpp:165,1
    - Dst: IsFinalTx
      Src: /src/bitcoin-core/src/validation.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' active_chain_tip'
    - ' tx'
    argTypes:
    - CBlockIndex
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: CheckFinalTxAtTip
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    - IsFinalTx
    - GetMedianTimePast
    linkageType: ''
    returnType: bool
    signature: bool CheckFinalTxAtTip(const CBlockIndex& active_chain_tip, const CTransaction&
      tx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/validation.cpp:187,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/validation.cpp:187,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/validation.cpp:188,1
    - Dst: GetCoin
      Src: /src/bitcoin-core/src/validation.cpp:189,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:194,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' tip'
    - ' coins'
    - ' tx'
    argTypes:
    - CBlockIndex
    - CCoinsView
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: CalculatePrevHeights
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetCoin
    - std::vector::resize
    - GetHash
    - LogPrintf
    - vin::size
    linkageType: ''
    returnType: std::optional<std::vector<int>>
    signature: "std::optional<std::vector<int>> CalculatePrevHeights(\n    const CBlockIndex&
      tip,\n    const CCoinsView& coins,\n    const CTransaction& tx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/validation.cpp:187,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/validation.cpp:187,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/validation.cpp:188,1
    - Dst: GetCoin
      Src: /src/bitcoin-core/src/validation.cpp:189,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:194,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' tip'
    - ' coins'
    - ' tx'
    argTypes:
    - CBlockIndex
    - CCoinsView
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: CalculatePrevHeights
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetCoin
    - std::vector::resize
    - GetHash
    - LogPrintf
    - vin::size
    linkageType: ''
    returnType: std::optional<std::vector<int>>
    signature: "std::optional<std::vector<int>> CalculatePrevHeights(\n    const CBlockIndex&
      tip,\n    const CCoinsView& coins,\n    const CTransaction& tx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:207,1
    - Dst: CalculatePrevHeights
      Src: /src/bitcoin-core/src/validation.cpp:209,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/validation.cpp:210,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:212,1
    - Dst: CalculateSequenceLocks
      Src: /src/bitcoin-core/src/validation.cpp:219,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/validation.cpp:219,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/validation.cpp:232,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/validation.cpp:235,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:244,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - tip
    - ' coins_view'
    - ' tx'
    argTypes:
    - CBlockIndex*
    - CCoinsView
    - CTransaction
    assertStmts:
    - condition: (tip)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 245
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 245
    functionName: CalculateLockPointsAtTip
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - CBlockIndex::CBlockIndex
    - auto::has_value
    - CalculatePrevHeights
    - std::max
    - Assert
    - CalculateSequenceLocks
    - CBlockIndex*::GetAncestor
    - assert
    linkageType: ''
    returnType: std::optional<LockPoints>
    signature: "std::optional<LockPoints> CalculateLockPointsAtTip(\n    CBlockIndex*
      tip,\n    const CCoinsView& coins_view,\n    const CTransaction& tx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:250,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:252,1
    - Dst: EvaluateSequenceLocks
      Src: /src/bitcoin-core/src/validation.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tip
    - ' lock_points'
    argTypes:
    - CBlockIndex*
    - LockPoints
    assertStmts:
    - condition: (tip != nullptr)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 263
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 263
    functionName: CheckSequenceLocksAtTip
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - assert
    - EvaluateSequenceLocks
    - CBlockIndex::CBlockIndex
    linkageType: ''
    returnType: bool
    signature: "bool CheckSequenceLocksAtTip(CBlockIndex* tip,\n                             const
      LockPoints& lock_points)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:286,1
    - Dst: m_chainman::IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:287,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:290,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/validation.cpp:290,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/validation.cpp:290,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 8
    functionsReached:
    - GetTime
    - AssertLockHeld
    - m_chain::Height
    - m_chainman::IsInitialBlockDownload
    - m_chain::Tip
    - count_seconds
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:304,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:305,1
    - Dst: take
      Src: /src/bitcoin-core/src/validation.cpp:313,1
    - Dst: auto::rbegin
      Src: /src/bitcoin-core/src/validation.cpp:314,1
    - Dst: auto::rend
      Src: /src/bitcoin-core/src/validation.cpp:315,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:317,1
    - Dst: AcceptToMemoryPool
      Src: /src/bitcoin-core/src/validation.cpp:318,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/validation.cpp:318,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/validation.cpp:323,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:324,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:324,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/validation.cpp:325,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:325,1
    - Dst: UpdateTransactionsFromBlock
      Src: /src/bitcoin-core/src/validation.cpp:336,1
    - Dst: Chainstate::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/validation.cpp:346,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:347,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:348,1
    - Dst: auto::GetTx
      Src: /src/bitcoin-core/src/validation.cpp:349,1
    - Dst: CheckFinalTxAtTip
      Src: /src/bitcoin-core/src/validation.cpp:352,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:352,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:352,1
    - Dst: auto::GetLockPoints
      Src: /src/bitcoin-core/src/validation.cpp:354,1
    - Dst: TestLockPointValidity
      Src: /src/bitcoin-core/src/validation.cpp:357,1
    - Dst: CheckSequenceLocksAtTip
      Src: /src/bitcoin-core/src/validation.cpp:358,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:358,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:362,1
    - Dst: CalculateLockPointsAtTip
      Src: /src/bitcoin-core/src/validation.cpp:363,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:363,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/validation.cpp:364,1
    - Dst: CheckSequenceLocksAtTip
      Src: /src/bitcoin-core/src/validation.cpp:364,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:364,1
    - Dst: auto::UpdateLockPoints
      Src: /src/bitcoin-core/src/validation.cpp:366,1
    - Dst: auto::GetSpendsCoinbase
      Src: /src/bitcoin-core/src/validation.cpp:373,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:375,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:376,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:377,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/validation.cpp:377,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:378,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:379,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - ' disconnectpool'
    - fAddToMempool
    argTypes:
    - DisconnectedBlockTransactions
    - bool
    assertStmts:
    - condition: (!coin.IsSpent())
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 386
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 386
    functionName: Chainstate::MaybeUpdateMempoolForReorg
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - GetHash
    - auto::GetTx
    - std::vector::push_back
    - UpdateTransactionsFromBlock
    - removeRecursive
    - auto::GetSpendsCoinbase
    - GetTime
    - CheckFinalTxAtTip
    - AssertLockHeld
    - auto::GetLockPoints
    - exists
    - std::optional::has_value
    - auto::rbegin
    - TestLockPointValidity
    - CheckSequenceLocksAtTip
    - Assert
    - assert
    - CalculateLockPointsAtTip
    - Tip
    - auto::UpdateLockPoints
    - IsSpent
    - AcceptToMemoryPool
    - auto::rend
    - IsCoinBase
    - take
    - Chainstate::EXCLUSIVE_LOCKS_REQUIRED
    linkageType: ''
    returnType: void
    signature: "void Chainstate::MaybeUpdateMempoolForReorg(\n    DisconnectedBlockTransactions&
      disconnectpool,\n    bool fAddToMempool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' mempool'
    - ' active_chainstate'
    argTypes:
    - CTxMemPool
    - Chainstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: MemPoolAccept::MemPoolAccept
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    linkageType: ''
    returnType: void
    signature: void MemPoolAccept(CTxMemPool& mempool, Chainstate& active_chainstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' chainparams'
    - accept_time
    - bypass_limits
    - ' coins_to_uncache'
    - test_accept
    argTypes:
    - CChainParams
    - int64_t
    - bool
    - std::vector<COutPoint>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 504
    functionName: MemPoolAccept::SingleAccept
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATMPArgs
    signature: "ATMPArgs SingleAccept(const CChainParams& chainparams, int64_t accept_time,\n
      \                                    bool bypass_limits, std::vector<COutPoint>&
      coins_to_uncache,\n                                     bool test_accept)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' chainparams'
    - accept_time
    - ' coins_to_uncache'
    argTypes:
    - CChainParams
    - int64_t
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: MemPoolAccept::PackageTestAccept
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATMPArgs
    signature: "ATMPArgs PackageTestAccept(const CChainParams& chainparams, int64_t
      accept_time,\n                                          std::vector<COutPoint>&
      coins_to_uncache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' chainparams'
    - accept_time
    - ' coins_to_uncache'
    - ' client_maxfeerate'
    argTypes:
    - CChainParams
    - int64_t
    - std::vector<COutPoint>
    - std::optional<CFeeRate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 538
    functionName: MemPoolAccept::PackageChildWithParents
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATMPArgs
    signature: "ATMPArgs PackageChildWithParents(const CChainParams& chainparams,
      int64_t accept_time,\n                                                std::vector<COutPoint>&
      coins_to_uncache, const std::optional<CFeeRate>& client_maxfeerate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' package_args'
    argTypes:
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 554
    functionName: MemPoolAccept::SingleInPackageAccept
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATMPArgs
    signature: ATMPArgs SingleInPackageAccept(const ATMPArgs& package_args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:585,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:586,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:587,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 11
    argNames:
    - ' chainparams'
    - accept_time
    - bypass_limits
    - ' coins_to_uncache'
    - test_accept
    - allow_replacement
    - allow_sibling_eviction
    - package_submission
    - package_feerates
    - client_maxfeerate
    - allow_carveouts
    argTypes:
    - CChainParams
    - int64_t
    - bool
    - std::vector<COutPoint>
    - bool
    - bool
    - bool
    - bool
    - bool
    - std::optional<CFeeRate>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 590
    functionName: MemPoolAccept::ATMPArgs
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: "void ATMPArgs(const CChainParams& chainparams,\n                 int64_t
      accept_time,\n                 bool bypass_limits,\n                 std::vector<COutPoint>&
      coins_to_uncache,\n                 bool test_accept,\n                 bool
      allow_replacement,\n                 bool allow_sibling_eviction,\n                 bool
      package_submission,\n                 bool package_feerates,\n                 std::optional<CFeeRate>
      client_maxfeerate,\n                 bool allow_carveouts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ptx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 629
    functionName: MemPoolAccept::Workspace
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: void
    signature: void Workspace(const CTransactionRef& ptx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:705,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:706,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/validation.cpp:707,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:709,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:709,1
    - Dst: m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/validation.cpp:712,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:713,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:714,1
    - Dst: m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/validation.cpp:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cs
    argTypes:
    - m_pool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 717
    functionName: MemPoolAccept::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetMinFee
    - Invalid
    - AssertLockHeld
    - strprintf
    - m_opts::min_relay_feerate::GetFee
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main, m_pool.cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: '& GetValidationCache()'
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ValidationCache
    signature: ValidationCache & GetValidationCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPoolAccept::CleanupTemporaryCoins
      Src: /src/bitcoin-core/src/validation.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cs
    argTypes:
    - m_pool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 783
    functionName: MemPoolAccept::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - MemPoolAccept::CleanupTemporaryCoins
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main, m_pool.cs)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:788,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:789,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/validation.cpp:802,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:807,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:808,1
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/validation.cpp:812,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:813,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/validation.cpp:817,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/validation.cpp:817,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:818,1
    - Dst: CheckFinalTxAtTip
      Src: /src/bitcoin-core/src/validation.cpp:823,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:823,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:823,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:824,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:827,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:827,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:829,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:830,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:830,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:833,1
    - Dst: GetConflictTx
      Src: /src/bitcoin-core/src/validation.cpp:839,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:843,1
    - Dst: m_conflicts::insert
      Src: /src/bitcoin-core/src/validation.cpp:845,1
    - Dst: CTransaction*::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:845,1
    - Dst: SetBackend
      Src: /src/bitcoin-core/src/validation.cpp:849,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:851,1
    - Dst: HaveCoinInCache
      Src: /src/bitcoin-core/src/validation.cpp:854,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/validation.cpp:855,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/validation.cpp:861,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/validation.cpp:863,1
    - Dst: HaveCoinInCache
      Src: /src/bitcoin-core/src/validation.cpp:865,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/validation.cpp:865,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:866,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:870,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:876,1
    - Dst: SetBackend
      Src: /src/bitcoin-core/src/validation.cpp:881,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:883,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:883,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:883,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:883,1
    - Dst: CalculateLockPointsAtTip
      Src: /src/bitcoin-core/src/validation.cpp:890,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:890,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/validation.cpp:891,1
    - Dst: CheckSequenceLocksAtTip
      Src: /src/bitcoin-core/src/validation.cpp:891,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:891,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:892,1
    - Dst: Consensus::CheckTxInputs
      Src: /src/bitcoin-core/src/validation.cpp:896,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:896,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/validation.cpp:900,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:901,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/validation.cpp:905,1
    - Dst: IsWitnessStandard
      Src: /src/bitcoin-core/src/validation.cpp:905,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:906,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/validation.cpp:909,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/validation.cpp:915,1
    - Dst: Coin::IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:916,1
    - Dst: GetSequence
      Src: /src/bitcoin-core/src/validation.cpp:924,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/validation.cpp:926,1
    - Dst: m_changeset::StageAddition
      Src: /src/bitcoin-core/src/validation.cpp:928,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:928,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/validation.cpp:928,1
    - Dst: m_tx_handle::GetModifiedFee
      Src: /src/bitcoin-core/src/validation.cpp:931,1
    - Dst: m_tx_handle::GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:933,1
    - Dst: PreCheckEphemeralTx
      Src: /src/bitcoin-core/src/validation.cpp:937,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:943,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:944,1
    - Dst: m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/validation.cpp:952,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:955,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:956,1
    - Dst: m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/validation.cpp:956,1
    - Dst: CheckFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:961,1
    - Dst: GetIterSet
      Src: /src/bitcoin-core/src/validation.cpp:963,1
    - Dst: m_conflicts::size
      Src: /src/bitcoin-core/src/validation.cpp:970,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:998,1
    - Dst: m_iters_conflicting::size
      Src: /src/bitcoin-core/src/validation.cpp:998,1
    - Dst: m_iters_conflicting::begin
      Src: /src/bitcoin-core/src/validation.cpp:999,1
    - Dst: CTxMemPool::txiter::GetSizeWithDescendants
      Src: /src/bitcoin-core/src/validation.cpp:1002,1
    - Dst: m_changeset::CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/validation.cpp:1005,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1006,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/validation.cpp:1009,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1013,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1035,1
    - Dst: m_changeset::CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/validation.cpp:1037,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1038,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1040,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/validation.cpp:1047,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1051,1
    - Dst: m_conflicts::insert
      Src: /src/bitcoin-core/src/validation.cpp:1055,1
    - Dst: auto::second::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1055,1
    - Dst: m_iters_conflicting::insert
      Src: /src/bitcoin-core/src/validation.cpp:1059,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/validation.cpp:1059,1
    - Dst: auto::second::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1059,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1066,1
    - Dst: EntriesAndTxidsDisjoint
      Src: /src/bitcoin-core/src/validation.cpp:1074,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1077,1
    - Dst: m_conflicts::empty
      Src: /src/bitcoin-core/src/validation.cpp:1081,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 116
    argCount: 2
    argNames:
    - ' args'
    - ' ws'
    argTypes:
    - ATMPArgs
    - Workspace
    assertStmts:
    - condition: (ws.m_iters_conflicting.size() == 1)
      pos:
        line_end: 997
        line_start: 997
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (m_active_chainstate.m_blockman.LookupBlockIndex(m_view.GetBestBlock())
        == m_active_chainstate.m_chain.Tip())
      pos:
        line_end: 882
        line_start: 882
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1083
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 1083
    functionName: MemPoolAccept::PreChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - EntriesAndTxidsDisjoint
    - AreInputsStandard
    - m_changeset::CalculateMemPoolAncestors
    - GetHash
    - std::move
    - HasWitness
    - m_changeset::StageAddition
    - Invalid
    - IsWitnessStandard
    - m_tx_handle::GetTxSize
    - IsStandardTx
    - GetChangeSet
    - CTransaction*::GetHash
    - TX_NO_WITNESS
    - SetBackend
    - GetSequence
    - GetBestBlock
    - m_tx_handle::GetModifiedFee
    - CTxMemPool::txiter::GetSizeWithDescendants
    - util::ErrorString
    - CheckTransaction
    - CheckFinalTxAtTip
    - GetTransactionSigOpCost
    - m_iters_conflicting::insert
    - AssertLockHeld
    - m_chain::Height
    - m_opts::min_relay_feerate::GetFee
    - m_chain::Tip
    - exists
    - GetIterSet
    - m_conflicts::insert
    - Coin::IsCoinBase
    - Assume
    - AccessCoin
    - GetWitnessHash
    - std::optional::has_value
    - GetSerializeSize
    - CheckFeeRate
    - HaveCoinInCache
    - COutPoint
    - vout::size
    - m_blockman::LookupBlockIndex
    - CheckSequenceLocksAtTip
    - Assert
    - m_iters_conflicting::size
    - Consensus::CheckTxInputs
    - SingleTRUCChecks
    - strprintf
    - m_conflicts::size
    - assert
    - GetIter
    - GetConflictTx
    - CalculateLockPointsAtTip
    - m_iters_conflicting::begin
    - m_conflicts::empty
    - auto::second::GetHash
    - push_back
    - std::optional::value
    - IsCoinBase
    - HaveCoin
    - PreCheckEphemeralTx
    linkageType: ''
    returnType: bool
    signature: bool MemPoolAccept::PreChecks(ATMPArgs& args, Workspace& ws)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1087,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1088,1
    - Dst: PaysMoreThanConflicts
      Src: /src/bitcoin-core/src/validation.cpp:1104,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1107,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1108,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/validation.cpp:1114,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1115,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1116,1
    - Dst: HasNoNewUnconfirmed
      Src: /src/bitcoin-core/src/validation.cpp:1119,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1121,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1122,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1123,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/validation.cpp:1129,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:1130,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/validation.cpp:1132,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1135,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1136,1
    - Dst: m_changeset::StageRemoval
      Src: /src/bitcoin-core/src/validation.cpp:1141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - Workspace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1144
    functionName: MemPoolAccept::ReplacementChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    - Assume
    - GetTxSize
    - HasNoNewUnconfirmed
    - PaysForRBF
    - m_changeset::StageRemoval
    - PaysMoreThanConflicts
    - Invalid
    - AssertLockHeld
    - GetEntriesForConflicts
    - GetModifiedFee
    linkageType: ''
    returnType: bool
    signature: bool MemPoolAccept::ReplacementChecks(Workspace& ws)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1151,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1152,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1157,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1157,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1157,1
    - Dst: CheckPackageLimits
      Src: /src/bitcoin-core/src/validation.cpp:1159,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1162,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/validation.cpp:1162,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1169,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1169,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/validation.cpp:1169,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1170,1
    - Dst: m_ancestors::empty
      Src: /src/bitcoin-core/src/validation.cpp:1178,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1179,1
    - Dst: CTxMemPool::setEntries::merge
      Src: /src/bitcoin-core/src/validation.cpp:1187,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/validation.cpp:1196,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1198,1
    - Dst: m_changeset::StageRemoval
      Src: /src/bitcoin-core/src/validation.cpp:1204,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/validation.cpp:1205,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:1206,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1210,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/validation.cpp:1211,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1215,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1224,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1226,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/validation.cpp:1226,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/validation.cpp:1226,1
    - Dst: ImprovesFeerateDiagram
      Src: /src/bitcoin-core/src/validation.cpp:1231,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1232,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/validation.cpp:1233,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:1236,1
    - Dst: front
      Src: /src/bitcoin-core/src/validation.cpp:1237,1
    - Dst: front
      Src: /src/bitcoin-core/src/validation.cpp:1237,1
    - Dst: back
      Src: /src/bitcoin-core/src/validation.cpp:1238,1
    - Dst: back
      Src: /src/bitcoin-core/src/validation.cpp:1238,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/validation.cpp:1239,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - ' txns'
    - ' workspaces'
    - total_vsize
    - ' package_state'
    argTypes:
    - std::vector<CTransactionRef>
    - std::vector<Workspace>
    - int64_t
    - PackageValidationState
    assertStmts:
    - condition: (std::all_of(txns.cbegin(), txns.cend(), [this](const auto& tx) {
        return !m_pool.exists(tx->GetHash()); }))
      pos:
        line_end: 1154
        line_start: 1154
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (txns.size() == workspaces.size())
      pos:
        line_end: 1156
        line_start: 1156
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1243
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1243
    functionName: MemPoolAccept::PackageMempoolChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CTxMemPool::setEntries::merge
    - cend
    - GetHash
    - GetPackageHash
    - Invalid
    - GetEntriesForConflicts
    - cbegin
    - GetModifiedFee
    - m_ancestors::empty
    - auto::value
    - util::ErrorString
    - IsChildWithParents
    - GetTxSize
    - m_ptx::GetHash
    - back
    - AssertLockHeld
    - exists
    - ImprovesFeerateDiagram
    - Assume
    - front
    - LogDebug
    - m_changeset::StageRemoval
    - CFeeRate::ToString
    - strprintf
    - assert
    - std::all_of
    - size
    - PaysForRBF
    - CheckPackageLimits
    linkageType: ''
    returnType: bool
    signature: "bool MemPoolAccept::PackageMempoolChecks(const std::vector<CTransactionRef>&
      txns,\n                                         std::vector<Workspace>& workspaces,\n
      \                                        const int64_t total_vsize,\n                                         PackageValidationState&
      package_state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1247,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1248,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/validation.cpp:1256,1
    - Dst: GetValidationCache
      Src: /src/bitcoin-core/src/validation.cpp:1256,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/validation.cpp:1261,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/validation.cpp:1261,1
    - Dst: GetValidationCache
      Src: /src/bitcoin-core/src/validation.cpp:1261,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/validation.cpp:1262,1
    - Dst: GetValidationCache
      Src: /src/bitcoin-core/src/validation.cpp:1262,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1264,1
    - Dst: GetRejectReason
      Src: /src/bitcoin-core/src/validation.cpp:1265,1
    - Dst: GetDebugMessage
      Src: /src/bitcoin-core/src/validation.cpp:1265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' args'
    - ' ws'
    argTypes:
    - ATMPArgs
    - Workspace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1271
    functionName: MemPoolAccept::PolicyScriptChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetRejectReason
    - HasWitness
    - GetValidationCache
    - Invalid
    - AssertLockHeld
    - GetDebugMessage
    - CheckInputScripts
    linkageType: ''
    returnType: bool
    signature: bool MemPoolAccept::PolicyScriptChecks(const ATMPArgs& args, Workspace&
      ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1275,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1276,1
    - Dst: GetBlockScriptFlags
      Src: /src/bitcoin-core/src/validation.cpp:1296,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:1296,1
    - Dst: CheckInputsFromMempoolAndCache
      Src: /src/bitcoin-core/src/validation.cpp:1297,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:1298,1
    - Dst: GetValidationCache
      Src: /src/bitcoin-core/src/validation.cpp:1298,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:1299,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:1299,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:1299,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' args'
    - ' ws'
    argTypes:
    - ATMPArgs
    - Workspace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1304
    functionName: MemPoolAccept::ConsensusScriptChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - ToString
    - Assume
    - CheckInputsFromMempoolAndCache
    - GetValidationCache
    - LogPrintf
    - AssertLockHeld
    - GetBlockScriptFlags
    - m_chain::Tip
    linkageType: ''
    returnType: bool
    signature: bool MemPoolAccept::ConsensusScriptChecks(const ATMPArgs& args, Workspace&
      ws)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1308,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1309,1
    - Dst: m_changeset::GetRemovals
      Src: /src/bitcoin-core/src/validation.cpp:1311,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1311,1
    - Dst: m_changeset::GetRemovals
      Src: /src/bitcoin-core/src/validation.cpp:1313,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1315,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/validation.cpp:1316,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/validation.cpp:1317,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/validation.cpp:1318,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:1319,1
    - Dst: m_changeset::GetTxCount
      Src: /src/bitcoin-core/src/validation.cpp:1322,1
    - Dst: m_changeset::GetAddedTxn
      Src: /src/bitcoin-core/src/validation.cpp:1324,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1325,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1326,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1327,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1328,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/validation.cpp:1332,1
    - Dst: m_changeset::GetAddedTxns
      Src: /src/bitcoin-core/src/validation.cpp:1332,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1333,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:1334,1
    - Dst: m_changeset::GetTxCount
      Src: /src/bitcoin-core/src/validation.cpp:1335,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:1340,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/validation.cpp:1341,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/validation.cpp:1342,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:1343,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/validation.cpp:1344,1
    - Dst: std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>
      Src: /src/bitcoin-core/src/validation.cpp:1345,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/validation.cpp:1345,1
    - Dst: uint256::data
      Src: /src/bitcoin-core/src/validation.cpp:1346,1
    - Dst: m_replaced_transactions::push_back
      Src: /src/bitcoin-core/src/validation.cpp:1351,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/validation.cpp:1351,1
    - Dst: m_changeset::Apply
      Src: /src/bitcoin-core/src/validation.cpp:1353,1
    - Dst: m_changeset::reset
      Src: /src/bitcoin-core/src/validation.cpp:1354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1355
    functionName: MemPoolAccept::FinalizeSubpackage
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    - GetPackageHash
    - m_changeset::GetAddedTxns
    - m_changeset::GetRemovals
    - uint256::data
    - m_changeset::GetAddedTxn
    - GetTime
    - GetTxSize
    - GetFee
    - m_changeset::GetTxCount
    - TRACEPOINT
    - AssertLockHeld
    - m_replaced_transactions::push_back
    - Assume
    - GetWitnessHash
    - LogDebug
    - uint256::ToString
    - std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>
    - m_changeset::Apply
    - GetTx
    - GetSharedTx
    - strprintf
    - m_changeset::reset
    linkageType: ''
    returnType: void
    signature: void MemPoolAccept::FinalizeSubpackage(const ATMPArgs& args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1361,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1362,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: MemPoolAccept::FinalizeSubpackage
      Src: /src/bitcoin-core/src/validation.cpp:1368,1
    - Dst: MemPoolAccept::ConsensusScriptChecks
      Src: /src/bitcoin-core/src/validation.cpp:1374,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/validation.cpp:1375,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1375,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1375,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1377,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1379,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1380,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1381,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/validation.cpp:1383,1
    - Dst: m_changeset::StageRemoval
      Src: /src/bitcoin-core/src/validation.cpp:1384,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/validation.cpp:1384,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1384,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1388,1
    - Dst: m_changeset::Apply
      Src: /src/bitcoin-core/src/validation.cpp:1392,1
    - Dst: m_changeset::reset
      Src: /src/bitcoin-core/src/validation.cpp:1393,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/validation.cpp:1398,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1398,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/validation.cpp:1399,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1399,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:1399,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/validation.cpp:1399,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1400,1
    - Dst: m_replaced_transactions::empty
      Src: /src/bitcoin-core/src/validation.cpp:1402,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:1403,1
    - Dst: m_replaced_transactions::size
      Src: /src/bitcoin-core/src/validation.cpp:1404,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1404,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/validation.cpp:1406,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/validation.cpp:1411,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1411,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1412,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/validation.cpp:1412,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/validation.cpp:1414,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1416,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/validation.cpp:1417,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1417,1
    - Dst: Success
      Src: /src/bitcoin-core/src/validation.cpp:1418,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1418,1
    - Dst: NewMempoolTransactionInfo
      Src: /src/bitcoin-core/src/validation.cpp:1422,1
    - Dst: GetHeight
      Src: /src/bitcoin-core/src/validation.cpp:1423,1
    - Dst: IsCurrentForFeeEstimation
      Src: /src/bitcoin-core/src/validation.cpp:1425,1
    - Dst: HasNoInputsOf
      Src: /src/bitcoin-core/src/validation.cpp:1426,1
    - Dst: m_opts::signals::TransactionAddedToMempool
      Src: /src/bitcoin-core/src/validation.cpp:1427,1
    - Dst: GetAndIncrementSequence
      Src: /src/bitcoin-core/src/validation.cpp:1427,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - ' args'
    - ' workspaces'
    - ' package_state'
    - ' results'
    argTypes:
    - ATMPArgs
    - std::vector<Workspace>
    - PackageValidationState
    - std::map<Wtxid, MempoolAcceptResult>
    assertStmts:
    - condition: (std::all_of(workspaces.cbegin(), workspaces.cend(), [this](const
        auto& ws) { return !m_pool.exists(ws.m_ptx->GetHash()); }))
      pos:
        line_end: 1364
        line_start: 1364
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1430
      start: 1357
    functionDepth: 3
    functionLinenumber: 1357
    functionLinenumberEnd: 1430
    functionName: MemPoolAccept::SubmitPackage
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - m_replaced_transactions::empty
    - cend
    - std::move
    - m_ptx::GetWitnessHash
    - Invalid
    - GetHeight
    - cbegin
    - MemPoolAccept::ConsensusScriptChecks
    - GetChangeSet
    - m_opts::signals::TransactionAddedToMempool
    - m_ptx::GetHash
    - std::vector::reserve
    - AssertLockHeld
    - MemPoolAccept::FinalizeSubpackage
    - exists
    - emplace
    - Assume
    - static_cast<int>
    - m_changeset::Apply
    - LogDebug
    - GetAndIncrementSequence
    - m_changeset::StageRemoval
    - m_changeset::reset
    - strprintf
    - m_replaced_transactions::size
    - assert
    - GetIter
    - Success
    - std::all_of
    - IsCurrentForFeeEstimation
    - auto::has_value
    - std::back_inserter
    - NewMempoolTransactionInfo
    - static_cast<uint32_t>
    - std::transform
    - size
    - HasNoInputsOf
    - Failure
    linkageType: ''
    returnType: bool
    signature: "bool MemPoolAccept::SubmitPackage(const ATMPArgs& args, std::vector<Workspace>&
      workspaces,\n                                  PackageValidationState& package_state,\n
      \                                 std::map<Wtxid, MempoolAcceptResult>& results)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1434,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:1435,1
    - Dst: Workspace::m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1438,1
    - Dst: MemPoolAccept::PreChecks
      Src: /src/bitcoin-core/src/validation.cpp:1440,1
    - Dst: Workspace::m_state::GetResult
      Src: /src/bitcoin-core/src/validation.cpp:1441,1
    - Dst: FeeFailure
      Src: /src/bitcoin-core/src/validation.cpp:1443,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1443,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1445,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1452,1
    - Dst: m_client_maxfeerate::value
      Src: /src/bitcoin-core/src/validation.cpp:1452,1
    - Dst: Workspace::m_state::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1453,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1454,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/validation.cpp:1459,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1460,1
    - Dst: MemPoolAccept::ReplacementChecks
      Src: /src/bitcoin-core/src/validation.cpp:1464,1
    - Dst: Workspace::m_state::GetResult
      Src: /src/bitcoin-core/src/validation.cpp:1465,1
    - Dst: FeeFailure
      Src: /src/bitcoin-core/src/validation.cpp:1467,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1467,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1469,1
    - Dst: MemPoolAccept::PolicyScriptChecks
      Src: /src/bitcoin-core/src/validation.cpp:1474,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1474,1
    - Dst: MemPoolAccept::ConsensusScriptChecks
      Src: /src/bitcoin-core/src/validation.cpp:1476,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1476,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/validation.cpp:1478,1
    - Dst: Success
      Src: /src/bitcoin-core/src/validation.cpp:1481,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1481,1
    - Dst: MemPoolAccept::FinalizeSubpackage
      Src: /src/bitcoin-core/src/validation.cpp:1485,1
    - Dst: LimitMempoolSize
      Src: /src/bitcoin-core/src/validation.cpp:1489,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:1489,1
    - Dst: MemPoolAccept::CleanupTemporaryCoins
      Src: /src/bitcoin-core/src/validation.cpp:1492,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1494,1
    - Dst: Workspace::m_state::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1496,1
    - Dst: FeeFailure
      Src: /src/bitcoin-core/src/validation.cpp:1497,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1497,1
    - Dst: Workspace::m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1497,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/validation.cpp:1503,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1503,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1504,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/validation.cpp:1504,1
    - Dst: NewMempoolTransactionInfo
      Src: /src/bitcoin-core/src/validation.cpp:1505,1
    - Dst: GetHeight
      Src: /src/bitcoin-core/src/validation.cpp:1506,1
    - Dst: IsCurrentForFeeEstimation
      Src: /src/bitcoin-core/src/validation.cpp:1508,1
    - Dst: HasNoInputsOf
      Src: /src/bitcoin-core/src/validation.cpp:1509,1
    - Dst: m_opts::signals::TransactionAddedToMempool
      Src: /src/bitcoin-core/src/validation.cpp:1510,1
    - Dst: GetAndIncrementSequence
      Src: /src/bitcoin-core/src/validation.cpp:1510,1
    - Dst: m_replaced_transactions::empty
      Src: /src/bitcoin-core/src/validation.cpp:1513,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:1514,1
    - Dst: m_replaced_transactions::size
      Src: /src/bitcoin-core/src/validation.cpp:1515,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/validation.cpp:1517,1
    - Dst: Success
      Src: /src/bitcoin-core/src/validation.cpp:1520,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1520,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - ' ptx'
    - ' args'
    argTypes:
    - CTransactionRef
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1432
    functionDepth: 4
    functionLinenumber: 1432
    functionLinenumberEnd: 1522
    functionName: MemPoolAccept::AcceptSingleTransaction
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - m_replaced_transactions::empty
    - CFeeRate
    - GetHash
    - std::move
    - m_client_maxfeerate::value
    - CheckEphemeralSpends
    - GetHeight
    - MemPoolAccept::CleanupTemporaryCoins
    - MemPoolAccept::ConsensusScriptChecks
    - m_opts::signals::TransactionAddedToMempool
    - AssertLockHeld
    - MemPoolAccept::FinalizeSubpackage
    - MemPoolAccept::ReplacementChecks
    - exists
    - Workspace::m_state::GetResult
    - Assume
    - static_cast<int>
    - LogDebug
    - GetAndIncrementSequence
    - Workspace::m_ptx::GetWitnessHash
    - m_replaced_transactions::size
    - GetIter
    - Success
    - IsCurrentForFeeEstimation
    - LimitMempoolSize
    - auto::has_value
    - NewMempoolTransactionInfo
    - static_cast<uint32_t>
    - Workspace::m_state::Invalid
    - LOCK
    - MemPoolAccept::PolicyScriptChecks
    - MemPoolAccept::PreChecks
    - HasNoInputsOf
    - Failure
    - FeeFailure
    linkageType: ''
    returnType: MempoolAcceptResult
    signature: MempoolAcceptResult MemPoolAccept::AcceptSingleTransaction(const CTransactionRef&
      ptx, ATMPArgs& args)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1526,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/validation.cpp:1530,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1530,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/validation.cpp:1533,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1533,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/validation.cpp:1534,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1534,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:1534,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/validation.cpp:1534,1
    - Dst: MemPoolAccept::Workspace
      Src: /src/bitcoin-core/src/validation.cpp:1535,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:1538,1
    - Dst: MemPoolAccept::PreChecks
      Src: /src/bitcoin-core/src/validation.cpp:1542,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1543,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1545,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1545,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1545,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1546,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1546,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1551,1
    - Dst: m_client_maxfeerate::value
      Src: /src/bitcoin-core/src/validation.cpp:1551,1
    - Dst: m_state::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1553,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1554,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1556,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1556,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1556,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1557,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1557,1
    - Dst: PackageAddTransaction
      Src: /src/bitcoin-core/src/validation.cpp:1569,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/validation.cpp:1575,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1576,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/validation.cpp:1576,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1577,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/validation.cpp:1590,1
    - Dst: std::vector::cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1590,1
    - Dst: std::vector::cend
      Src: /src/bitcoin-core/src/validation.cpp:1590,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/validation.cpp:1592,1
    - Dst: std::vector::cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1592,1
    - Dst: std::vector::cend
      Src: /src/bitcoin-core/src/validation.cpp:1592,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/validation.cpp:1596,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/validation.cpp:1596,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/validation.cpp:1597,1
    - Dst: std::vector::cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1597,1
    - Dst: std::vector::cend
      Src: /src/bitcoin-core/src/validation.cpp:1597,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/validation.cpp:1597,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1598,1
    - Dst: CheckFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1601,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1602,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1603,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/validation.cpp:1603,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1603,1
    - Dst: FeeFailure
      Src: /src/bitcoin-core/src/validation.cpp:1604,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1604,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1609,1
    - Dst: MemPoolAccept::PackageMempoolChecks
      Src: /src/bitcoin-core/src/validation.cpp:1609,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1610,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1610,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/validation.cpp:1617,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1618,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1619,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1619,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1620,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1620,1
    - Dst: MemPoolAccept::PolicyScriptChecks
      Src: /src/bitcoin-core/src/validation.cpp:1626,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1628,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1629,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1629,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1629,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1630,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1630,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/validation.cpp:1634,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1636,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1637,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1637,1
    - Dst: Success
      Src: /src/bitcoin-core/src/validation.cpp:1638,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1638,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1644,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1644,1
    - Dst: MemPoolAccept::SubmitPackage
      Src: /src/bitcoin-core/src/validation.cpp:1646,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1648,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1648,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1651,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1651,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 2
    argNames:
    - ' txns'
    - ' args'
    argTypes:
    - std::vector<CTransactionRef>
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1524
    functionDepth: 4
    functionLinenumber: 1524
    functionLinenumberEnd: 1652
    functionName: MemPoolAccept::AcceptMultipleTransactions
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - cend
    - PackageValidationState::Invalid
    - std::move
    - m_ptx::GetWitnessHash
    - m_client_maxfeerate::value
    - CheckEphemeralSpends
    - std::map::emplace
    - PackageAddTransaction
    - cbegin
    - auto::value
    - IsWellFormedPackage
    - std::vector::back
    - std::vector::reserve
    - std::vector::cend
    - AssertLockHeld
    - std::vector::size
    - std::vector::cbegin
    - GetWitnessHash
    - CheckFeeRate
    - MemPoolAccept::Workspace
    - MemPoolAccept::SubmitPackage
    - Success
    - std::back_inserter
    - std::accumulate
    - static_cast<uint32_t>
    - std::transform
    - m_state::Invalid
    - size
    - LOCK
    - PackageTRUCChecks
    - MemPoolAccept::PolicyScriptChecks
    - MemPoolAccept::PreChecks
    - PackageMempoolAcceptResult
    - Failure
    - MemPoolAccept::PackageMempoolChecks
    - FeeFailure
    linkageType: ''
    returnType: PackageMempoolAcceptResult
    signature: PackageMempoolAcceptResult MemPoolAccept::AcceptMultipleTransactions(const
      std::vector<CTransactionRef>& txns, ATMPArgs& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetNonBaseCoins
      Src: /src/bitcoin-core/src/validation.cpp:1675,1
    - Dst: Uncache
      Src: /src/bitcoin-core/src/validation.cpp:1678,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/validation.cpp:1681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1682
    functionName: MemPoolAccept::CleanupTemporaryCoins
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - Uncache
    - GetNonBaseCoins
    - Reset
    linkageType: ''
    returnType: void
    signature: void MemPoolAccept::CleanupTemporaryCoins()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1686,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1687,1
    - Dst: MemPoolAccept::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/validation.cpp:1688,1
    - Dst: if
      Src: /src/bitcoin-core/src/validation.cpp:1689,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1689,1
    - Dst: MemPoolAccept::AcceptMultipleTransactions
      Src: /src/bitcoin-core/src/validation.cpp:1690,1
    - Dst: front
      Src: /src/bitcoin-core/src/validation.cpp:1692,1
    - Dst: MemPoolAccept::SingleInPackageAccept
      Src: /src/bitcoin-core/src/validation.cpp:1693,1
    - Dst: MemPoolAccept::AcceptSingleTransaction
      Src: /src/bitcoin-core/src/validation.cpp:1694,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1697,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1699,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' subpackage'
    - ' args'
    argTypes:
    - std::vector<CTransactionRef>
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1684
    functionDepth: 5
    functionLinenumber: 1684
    functionLinenumberEnd: 1700
    functionName: MemPoolAccept::AcceptSubPackage
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - MemPoolAccept::SingleInPackageAccept
    - GetWitnessHash
    - PackageValidationState::Invalid
    - size
    - MemPoolAccept::EXCLUSIVE_LOCKS_REQUIRED
    - if
    - MemPoolAccept::AcceptSingleTransaction
    - AssertLockHeld
    - PackageMempoolAcceptResult
    - front
    - MemPoolAccept::AcceptMultipleTransactions
    linkageType: ''
    returnType: PackageMempoolAcceptResult
    signature: PackageMempoolAcceptResult MemPoolAccept::AcceptSubPackage(const std::vector<CTransactionRef>&
      subpackage, ATMPArgs& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' mempool'
    - ' active_chainstate'
    argTypes:
    - CTxMemPool
    - Chainstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: MemPoolAccept::MemPoolAccept
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    linkageType: ''
    returnType: void
    signature: void MemPoolAccept(CTxMemPool& mempool, Chainstate& active_chainstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' chainparams'
    - accept_time
    - bypass_limits
    - ' coins_to_uncache'
    - test_accept
    argTypes:
    - CChainParams
    - int64_t
    - bool
    - std::vector<COutPoint>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 504
    functionName: MemPoolAccept::SingleAccept
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATMPArgs
    signature: "ATMPArgs SingleAccept(const CChainParams& chainparams, int64_t accept_time,\n
      \                                    bool bypass_limits, std::vector<COutPoint>&
      coins_to_uncache,\n                                     bool test_accept)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' chainparams'
    - accept_time
    - ' coins_to_uncache'
    argTypes:
    - CChainParams
    - int64_t
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: MemPoolAccept::PackageTestAccept
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATMPArgs
    signature: "ATMPArgs PackageTestAccept(const CChainParams& chainparams, int64_t
      accept_time,\n                                          std::vector<COutPoint>&
      coins_to_uncache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' chainparams'
    - accept_time
    - ' coins_to_uncache'
    - ' client_maxfeerate'
    argTypes:
    - CChainParams
    - int64_t
    - std::vector<COutPoint>
    - std::optional<CFeeRate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 538
    functionName: MemPoolAccept::PackageChildWithParents
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATMPArgs
    signature: "ATMPArgs PackageChildWithParents(const CChainParams& chainparams,
      int64_t accept_time,\n                                                std::vector<COutPoint>&
      coins_to_uncache, const std::optional<CFeeRate>& client_maxfeerate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' package_args'
    argTypes:
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 554
    functionName: MemPoolAccept::SingleInPackageAccept
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ATMPArgs
    signature: ATMPArgs SingleInPackageAccept(const ATMPArgs& package_args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:585,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:586,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:587,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 11
    argNames:
    - ' chainparams'
    - accept_time
    - bypass_limits
    - ' coins_to_uncache'
    - test_accept
    - allow_replacement
    - allow_sibling_eviction
    - package_submission
    - package_feerates
    - client_maxfeerate
    - allow_carveouts
    argTypes:
    - CChainParams
    - int64_t
    - bool
    - std::vector<COutPoint>
    - bool
    - bool
    - bool
    - bool
    - bool
    - std::optional<CFeeRate>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 590
    functionName: MemPoolAccept::ATMPArgs
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: "void ATMPArgs(const CChainParams& chainparams,\n                 int64_t
      accept_time,\n                 bool bypass_limits,\n                 std::vector<COutPoint>&
      coins_to_uncache,\n                 bool test_accept,\n                 bool
      allow_replacement,\n                 bool allow_sibling_eviction,\n                 bool
      package_submission,\n                 bool package_feerates,\n                 std::optional<CFeeRate>
      client_maxfeerate,\n                 bool allow_carveouts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ptx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 629
    functionName: MemPoolAccept::Workspace
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: void
    signature: void Workspace(const CTransactionRef& ptx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:705,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:706,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/validation.cpp:707,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:709,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:709,1
    - Dst: m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/validation.cpp:712,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:713,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:714,1
    - Dst: m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/validation.cpp:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cs
    argTypes:
    - m_pool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 717
    functionName: MemPoolAccept::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - GetMinFee
    - Invalid
    - AssertLockHeld
    - strprintf
    - m_opts::min_relay_feerate::GetFee
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main, m_pool.cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: '& GetValidationCache()'
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ValidationCache
    signature: ValidationCache & GetValidationCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPoolAccept::CleanupTemporaryCoins
      Src: /src/bitcoin-core/src/validation.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cs
    argTypes:
    - m_pool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 783
    functionName: MemPoolAccept::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - MemPoolAccept::CleanupTemporaryCoins
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main, m_pool.cs)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:788,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:789,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/validation.cpp:802,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:807,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:808,1
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/validation.cpp:812,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:813,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/validation.cpp:817,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/validation.cpp:817,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:818,1
    - Dst: CheckFinalTxAtTip
      Src: /src/bitcoin-core/src/validation.cpp:823,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:823,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:823,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:824,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:827,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:827,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:829,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:830,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:830,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:833,1
    - Dst: GetConflictTx
      Src: /src/bitcoin-core/src/validation.cpp:839,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:843,1
    - Dst: m_conflicts::insert
      Src: /src/bitcoin-core/src/validation.cpp:845,1
    - Dst: CTransaction*::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:845,1
    - Dst: SetBackend
      Src: /src/bitcoin-core/src/validation.cpp:849,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:851,1
    - Dst: HaveCoinInCache
      Src: /src/bitcoin-core/src/validation.cpp:854,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/validation.cpp:855,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/validation.cpp:861,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/validation.cpp:863,1
    - Dst: HaveCoinInCache
      Src: /src/bitcoin-core/src/validation.cpp:865,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/validation.cpp:865,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:866,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:870,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:876,1
    - Dst: SetBackend
      Src: /src/bitcoin-core/src/validation.cpp:881,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:883,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:883,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:883,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:883,1
    - Dst: CalculateLockPointsAtTip
      Src: /src/bitcoin-core/src/validation.cpp:890,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:890,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/validation.cpp:891,1
    - Dst: CheckSequenceLocksAtTip
      Src: /src/bitcoin-core/src/validation.cpp:891,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:891,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:892,1
    - Dst: Consensus::CheckTxInputs
      Src: /src/bitcoin-core/src/validation.cpp:896,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:896,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/validation.cpp:900,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:901,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/validation.cpp:905,1
    - Dst: IsWitnessStandard
      Src: /src/bitcoin-core/src/validation.cpp:905,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:906,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/validation.cpp:909,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/validation.cpp:915,1
    - Dst: Coin::IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:916,1
    - Dst: GetSequence
      Src: /src/bitcoin-core/src/validation.cpp:924,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/validation.cpp:926,1
    - Dst: m_changeset::StageAddition
      Src: /src/bitcoin-core/src/validation.cpp:928,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:928,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/validation.cpp:928,1
    - Dst: m_tx_handle::GetModifiedFee
      Src: /src/bitcoin-core/src/validation.cpp:931,1
    - Dst: m_tx_handle::GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:933,1
    - Dst: PreCheckEphemeralTx
      Src: /src/bitcoin-core/src/validation.cpp:937,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:943,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:944,1
    - Dst: m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/validation.cpp:952,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:955,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:956,1
    - Dst: m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/validation.cpp:956,1
    - Dst: CheckFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:961,1
    - Dst: GetIterSet
      Src: /src/bitcoin-core/src/validation.cpp:963,1
    - Dst: m_conflicts::size
      Src: /src/bitcoin-core/src/validation.cpp:970,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:998,1
    - Dst: m_iters_conflicting::size
      Src: /src/bitcoin-core/src/validation.cpp:998,1
    - Dst: m_iters_conflicting::begin
      Src: /src/bitcoin-core/src/validation.cpp:999,1
    - Dst: CTxMemPool::txiter::GetSizeWithDescendants
      Src: /src/bitcoin-core/src/validation.cpp:1002,1
    - Dst: m_changeset::CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/validation.cpp:1005,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1006,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/validation.cpp:1009,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1013,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1035,1
    - Dst: m_changeset::CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/validation.cpp:1037,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1038,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1040,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/validation.cpp:1047,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1051,1
    - Dst: m_conflicts::insert
      Src: /src/bitcoin-core/src/validation.cpp:1055,1
    - Dst: auto::second::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1055,1
    - Dst: m_iters_conflicting::insert
      Src: /src/bitcoin-core/src/validation.cpp:1059,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/validation.cpp:1059,1
    - Dst: auto::second::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1059,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1066,1
    - Dst: EntriesAndTxidsDisjoint
      Src: /src/bitcoin-core/src/validation.cpp:1074,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1077,1
    - Dst: m_conflicts::empty
      Src: /src/bitcoin-core/src/validation.cpp:1081,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 116
    argCount: 2
    argNames:
    - ' args'
    - ' ws'
    argTypes:
    - ATMPArgs
    - Workspace
    assertStmts:
    - condition: (ws.m_iters_conflicting.size() == 1)
      pos:
        line_end: 997
        line_start: 997
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (m_active_chainstate.m_blockman.LookupBlockIndex(m_view.GetBestBlock())
        == m_active_chainstate.m_chain.Tip())
      pos:
        line_end: 882
        line_start: 882
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1083
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 1083
    functionName: MemPoolAccept::PreChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - CoinsTip
    - EntriesAndTxidsDisjoint
    - AreInputsStandard
    - m_changeset::CalculateMemPoolAncestors
    - GetHash
    - std::move
    - HasWitness
    - m_changeset::StageAddition
    - Invalid
    - IsWitnessStandard
    - m_tx_handle::GetTxSize
    - IsStandardTx
    - GetChangeSet
    - CTransaction*::GetHash
    - TX_NO_WITNESS
    - SetBackend
    - GetSequence
    - GetBestBlock
    - m_tx_handle::GetModifiedFee
    - CTxMemPool::txiter::GetSizeWithDescendants
    - util::ErrorString
    - CheckTransaction
    - CheckFinalTxAtTip
    - GetTransactionSigOpCost
    - m_iters_conflicting::insert
    - AssertLockHeld
    - m_chain::Height
    - m_opts::min_relay_feerate::GetFee
    - m_chain::Tip
    - exists
    - GetIterSet
    - m_conflicts::insert
    - Coin::IsCoinBase
    - Assume
    - AccessCoin
    - GetWitnessHash
    - std::optional::has_value
    - GetSerializeSize
    - CheckFeeRate
    - HaveCoinInCache
    - COutPoint
    - vout::size
    - m_blockman::LookupBlockIndex
    - CheckSequenceLocksAtTip
    - Assert
    - m_iters_conflicting::size
    - Consensus::CheckTxInputs
    - SingleTRUCChecks
    - strprintf
    - m_conflicts::size
    - assert
    - GetIter
    - GetConflictTx
    - CalculateLockPointsAtTip
    - m_iters_conflicting::begin
    - m_conflicts::empty
    - auto::second::GetHash
    - push_back
    - std::optional::value
    - IsCoinBase
    - HaveCoin
    - PreCheckEphemeralTx
    linkageType: ''
    returnType: bool
    signature: bool MemPoolAccept::PreChecks(ATMPArgs& args, Workspace& ws)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1087,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1088,1
    - Dst: PaysMoreThanConflicts
      Src: /src/bitcoin-core/src/validation.cpp:1104,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1107,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1108,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/validation.cpp:1114,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1115,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1116,1
    - Dst: HasNoNewUnconfirmed
      Src: /src/bitcoin-core/src/validation.cpp:1119,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1121,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1122,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1123,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/validation.cpp:1129,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:1130,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/validation.cpp:1132,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1135,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1136,1
    - Dst: m_changeset::StageRemoval
      Src: /src/bitcoin-core/src/validation.cpp:1141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - Workspace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1144
    functionName: MemPoolAccept::ReplacementChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - strprintf
    - Assume
    - GetTxSize
    - HasNoNewUnconfirmed
    - PaysForRBF
    - m_changeset::StageRemoval
    - PaysMoreThanConflicts
    - Invalid
    - AssertLockHeld
    - GetEntriesForConflicts
    - GetModifiedFee
    linkageType: ''
    returnType: bool
    signature: bool MemPoolAccept::ReplacementChecks(Workspace& ws)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1151,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1152,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1155,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1157,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1157,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1157,1
    - Dst: CheckPackageLimits
      Src: /src/bitcoin-core/src/validation.cpp:1159,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1162,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/validation.cpp:1162,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1169,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1169,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/validation.cpp:1169,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1170,1
    - Dst: m_ancestors::empty
      Src: /src/bitcoin-core/src/validation.cpp:1178,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1179,1
    - Dst: CTxMemPool::setEntries::merge
      Src: /src/bitcoin-core/src/validation.cpp:1187,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/validation.cpp:1196,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1198,1
    - Dst: m_changeset::StageRemoval
      Src: /src/bitcoin-core/src/validation.cpp:1204,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/validation.cpp:1205,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:1206,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1210,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/validation.cpp:1211,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1215,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1224,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1226,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/validation.cpp:1226,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/validation.cpp:1226,1
    - Dst: ImprovesFeerateDiagram
      Src: /src/bitcoin-core/src/validation.cpp:1231,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1232,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/validation.cpp:1233,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:1236,1
    - Dst: front
      Src: /src/bitcoin-core/src/validation.cpp:1237,1
    - Dst: front
      Src: /src/bitcoin-core/src/validation.cpp:1237,1
    - Dst: back
      Src: /src/bitcoin-core/src/validation.cpp:1238,1
    - Dst: back
      Src: /src/bitcoin-core/src/validation.cpp:1238,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/validation.cpp:1239,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - ' txns'
    - ' workspaces'
    - total_vsize
    - ' package_state'
    argTypes:
    - std::vector<CTransactionRef>
    - std::vector<Workspace>
    - int64_t
    - PackageValidationState
    assertStmts:
    - condition: (std::all_of(txns.cbegin(), txns.cend(), [this](const auto& tx) {
        return !m_pool.exists(tx->GetHash()); }))
      pos:
        line_end: 1154
        line_start: 1154
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (txns.size() == workspaces.size())
      pos:
        line_end: 1156
        line_start: 1156
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1243
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1243
    functionName: MemPoolAccept::PackageMempoolChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - CTxMemPool::setEntries::merge
    - cend
    - GetHash
    - GetPackageHash
    - Invalid
    - GetEntriesForConflicts
    - cbegin
    - GetModifiedFee
    - m_ancestors::empty
    - auto::value
    - util::ErrorString
    - IsChildWithParents
    - GetTxSize
    - m_ptx::GetHash
    - back
    - AssertLockHeld
    - exists
    - ImprovesFeerateDiagram
    - Assume
    - front
    - LogDebug
    - m_changeset::StageRemoval
    - CFeeRate::ToString
    - strprintf
    - assert
    - std::all_of
    - size
    - PaysForRBF
    - CheckPackageLimits
    linkageType: ''
    returnType: bool
    signature: "bool MemPoolAccept::PackageMempoolChecks(const std::vector<CTransactionRef>&
      txns,\n                                         std::vector<Workspace>& workspaces,\n
      \                                        const int64_t total_vsize,\n                                         PackageValidationState&
      package_state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1247,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1248,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/validation.cpp:1256,1
    - Dst: GetValidationCache
      Src: /src/bitcoin-core/src/validation.cpp:1256,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/validation.cpp:1261,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/validation.cpp:1261,1
    - Dst: GetValidationCache
      Src: /src/bitcoin-core/src/validation.cpp:1261,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/validation.cpp:1262,1
    - Dst: GetValidationCache
      Src: /src/bitcoin-core/src/validation.cpp:1262,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1264,1
    - Dst: GetRejectReason
      Src: /src/bitcoin-core/src/validation.cpp:1265,1
    - Dst: GetDebugMessage
      Src: /src/bitcoin-core/src/validation.cpp:1265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' args'
    - ' ws'
    argTypes:
    - ATMPArgs
    - Workspace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1271
    functionName: MemPoolAccept::PolicyScriptChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - GetRejectReason
    - HasWitness
    - GetValidationCache
    - Invalid
    - AssertLockHeld
    - GetDebugMessage
    - CheckInputScripts
    linkageType: ''
    returnType: bool
    signature: bool MemPoolAccept::PolicyScriptChecks(const ATMPArgs& args, Workspace&
      ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1275,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1276,1
    - Dst: GetBlockScriptFlags
      Src: /src/bitcoin-core/src/validation.cpp:1296,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:1296,1
    - Dst: CheckInputsFromMempoolAndCache
      Src: /src/bitcoin-core/src/validation.cpp:1297,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:1298,1
    - Dst: GetValidationCache
      Src: /src/bitcoin-core/src/validation.cpp:1298,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:1299,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:1299,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:1299,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' args'
    - ' ws'
    argTypes:
    - ATMPArgs
    - Workspace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1304
    functionName: MemPoolAccept::ConsensusScriptChecks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - CoinsTip
    - ToString
    - Assume
    - CheckInputsFromMempoolAndCache
    - GetValidationCache
    - LogPrintf
    - AssertLockHeld
    - GetBlockScriptFlags
    - m_chain::Tip
    linkageType: ''
    returnType: bool
    signature: bool MemPoolAccept::ConsensusScriptChecks(const ATMPArgs& args, Workspace&
      ws)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1308,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1309,1
    - Dst: m_changeset::GetRemovals
      Src: /src/bitcoin-core/src/validation.cpp:1311,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1311,1
    - Dst: m_changeset::GetRemovals
      Src: /src/bitcoin-core/src/validation.cpp:1313,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1315,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/validation.cpp:1316,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/validation.cpp:1317,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/validation.cpp:1318,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:1319,1
    - Dst: m_changeset::GetTxCount
      Src: /src/bitcoin-core/src/validation.cpp:1322,1
    - Dst: m_changeset::GetAddedTxn
      Src: /src/bitcoin-core/src/validation.cpp:1324,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1325,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1326,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1327,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1328,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/validation.cpp:1332,1
    - Dst: m_changeset::GetAddedTxns
      Src: /src/bitcoin-core/src/validation.cpp:1332,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1333,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:1334,1
    - Dst: m_changeset::GetTxCount
      Src: /src/bitcoin-core/src/validation.cpp:1335,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:1340,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/validation.cpp:1341,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/validation.cpp:1342,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:1343,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/validation.cpp:1344,1
    - Dst: std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>
      Src: /src/bitcoin-core/src/validation.cpp:1345,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/validation.cpp:1345,1
    - Dst: uint256::data
      Src: /src/bitcoin-core/src/validation.cpp:1346,1
    - Dst: m_replaced_transactions::push_back
      Src: /src/bitcoin-core/src/validation.cpp:1351,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/validation.cpp:1351,1
    - Dst: m_changeset::Apply
      Src: /src/bitcoin-core/src/validation.cpp:1353,1
    - Dst: m_changeset::reset
      Src: /src/bitcoin-core/src/validation.cpp:1354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1355
    functionName: MemPoolAccept::FinalizeSubpackage
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - GetHash
    - GetPackageHash
    - m_changeset::GetAddedTxns
    - m_changeset::GetRemovals
    - uint256::data
    - m_changeset::GetAddedTxn
    - GetTime
    - GetTxSize
    - GetFee
    - m_changeset::GetTxCount
    - TRACEPOINT
    - AssertLockHeld
    - m_replaced_transactions::push_back
    - Assume
    - GetWitnessHash
    - LogDebug
    - uint256::ToString
    - std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>
    - m_changeset::Apply
    - GetTx
    - GetSharedTx
    - strprintf
    - m_changeset::reset
    linkageType: ''
    returnType: void
    signature: void MemPoolAccept::FinalizeSubpackage(const ATMPArgs& args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1361,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1362,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1365,1
    - Dst: MemPoolAccept::FinalizeSubpackage
      Src: /src/bitcoin-core/src/validation.cpp:1368,1
    - Dst: MemPoolAccept::ConsensusScriptChecks
      Src: /src/bitcoin-core/src/validation.cpp:1374,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/validation.cpp:1375,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1375,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1375,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1377,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1379,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:1380,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1381,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/validation.cpp:1383,1
    - Dst: m_changeset::StageRemoval
      Src: /src/bitcoin-core/src/validation.cpp:1384,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/validation.cpp:1384,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1384,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1388,1
    - Dst: m_changeset::Apply
      Src: /src/bitcoin-core/src/validation.cpp:1392,1
    - Dst: m_changeset::reset
      Src: /src/bitcoin-core/src/validation.cpp:1393,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/validation.cpp:1398,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1398,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/validation.cpp:1399,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1399,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:1399,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/validation.cpp:1399,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1400,1
    - Dst: m_replaced_transactions::empty
      Src: /src/bitcoin-core/src/validation.cpp:1402,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:1403,1
    - Dst: m_replaced_transactions::size
      Src: /src/bitcoin-core/src/validation.cpp:1404,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1404,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/validation.cpp:1406,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/validation.cpp:1411,1
    - Dst: m_ptx::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1411,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1412,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/validation.cpp:1412,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/validation.cpp:1414,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1416,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/validation.cpp:1417,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1417,1
    - Dst: Success
      Src: /src/bitcoin-core/src/validation.cpp:1418,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1418,1
    - Dst: NewMempoolTransactionInfo
      Src: /src/bitcoin-core/src/validation.cpp:1422,1
    - Dst: GetHeight
      Src: /src/bitcoin-core/src/validation.cpp:1423,1
    - Dst: IsCurrentForFeeEstimation
      Src: /src/bitcoin-core/src/validation.cpp:1425,1
    - Dst: HasNoInputsOf
      Src: /src/bitcoin-core/src/validation.cpp:1426,1
    - Dst: m_opts::signals::TransactionAddedToMempool
      Src: /src/bitcoin-core/src/validation.cpp:1427,1
    - Dst: GetAndIncrementSequence
      Src: /src/bitcoin-core/src/validation.cpp:1427,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - ' args'
    - ' workspaces'
    - ' package_state'
    - ' results'
    argTypes:
    - ATMPArgs
    - std::vector<Workspace>
    - PackageValidationState
    - std::map<Wtxid, MempoolAcceptResult>
    assertStmts:
    - condition: (std::all_of(workspaces.cbegin(), workspaces.cend(), [this](const
        auto& ws) { return !m_pool.exists(ws.m_ptx->GetHash()); }))
      pos:
        line_end: 1364
        line_start: 1364
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1430
      start: 1357
    functionDepth: 3
    functionLinenumber: 1357
    functionLinenumberEnd: 1430
    functionName: MemPoolAccept::SubmitPackage
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - m_replaced_transactions::empty
    - cend
    - std::move
    - m_ptx::GetWitnessHash
    - Invalid
    - GetHeight
    - cbegin
    - MemPoolAccept::ConsensusScriptChecks
    - GetChangeSet
    - m_opts::signals::TransactionAddedToMempool
    - m_ptx::GetHash
    - std::vector::reserve
    - AssertLockHeld
    - MemPoolAccept::FinalizeSubpackage
    - exists
    - emplace
    - Assume
    - static_cast<int>
    - m_changeset::Apply
    - LogDebug
    - GetAndIncrementSequence
    - m_changeset::StageRemoval
    - m_changeset::reset
    - strprintf
    - m_replaced_transactions::size
    - assert
    - GetIter
    - Success
    - std::all_of
    - IsCurrentForFeeEstimation
    - auto::has_value
    - std::back_inserter
    - NewMempoolTransactionInfo
    - static_cast<uint32_t>
    - std::transform
    - size
    - HasNoInputsOf
    - Failure
    linkageType: ''
    returnType: bool
    signature: "bool MemPoolAccept::SubmitPackage(const ATMPArgs& args, std::vector<Workspace>&
      workspaces,\n                                  PackageValidationState& package_state,\n
      \                                 std::map<Wtxid, MempoolAcceptResult>& results)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1434,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:1435,1
    - Dst: Workspace::m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1438,1
    - Dst: MemPoolAccept::PreChecks
      Src: /src/bitcoin-core/src/validation.cpp:1440,1
    - Dst: Workspace::m_state::GetResult
      Src: /src/bitcoin-core/src/validation.cpp:1441,1
    - Dst: FeeFailure
      Src: /src/bitcoin-core/src/validation.cpp:1443,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1443,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1445,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1452,1
    - Dst: m_client_maxfeerate::value
      Src: /src/bitcoin-core/src/validation.cpp:1452,1
    - Dst: Workspace::m_state::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1453,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1454,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/validation.cpp:1459,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1460,1
    - Dst: MemPoolAccept::ReplacementChecks
      Src: /src/bitcoin-core/src/validation.cpp:1464,1
    - Dst: Workspace::m_state::GetResult
      Src: /src/bitcoin-core/src/validation.cpp:1465,1
    - Dst: FeeFailure
      Src: /src/bitcoin-core/src/validation.cpp:1467,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1467,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1469,1
    - Dst: MemPoolAccept::PolicyScriptChecks
      Src: /src/bitcoin-core/src/validation.cpp:1474,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1474,1
    - Dst: MemPoolAccept::ConsensusScriptChecks
      Src: /src/bitcoin-core/src/validation.cpp:1476,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1476,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/validation.cpp:1478,1
    - Dst: Success
      Src: /src/bitcoin-core/src/validation.cpp:1481,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1481,1
    - Dst: MemPoolAccept::FinalizeSubpackage
      Src: /src/bitcoin-core/src/validation.cpp:1485,1
    - Dst: LimitMempoolSize
      Src: /src/bitcoin-core/src/validation.cpp:1489,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:1489,1
    - Dst: MemPoolAccept::CleanupTemporaryCoins
      Src: /src/bitcoin-core/src/validation.cpp:1492,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1494,1
    - Dst: Workspace::m_state::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1496,1
    - Dst: FeeFailure
      Src: /src/bitcoin-core/src/validation.cpp:1497,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1497,1
    - Dst: Workspace::m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1497,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/validation.cpp:1503,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1503,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1504,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/validation.cpp:1504,1
    - Dst: NewMempoolTransactionInfo
      Src: /src/bitcoin-core/src/validation.cpp:1505,1
    - Dst: GetHeight
      Src: /src/bitcoin-core/src/validation.cpp:1506,1
    - Dst: IsCurrentForFeeEstimation
      Src: /src/bitcoin-core/src/validation.cpp:1508,1
    - Dst: HasNoInputsOf
      Src: /src/bitcoin-core/src/validation.cpp:1509,1
    - Dst: m_opts::signals::TransactionAddedToMempool
      Src: /src/bitcoin-core/src/validation.cpp:1510,1
    - Dst: GetAndIncrementSequence
      Src: /src/bitcoin-core/src/validation.cpp:1510,1
    - Dst: m_replaced_transactions::empty
      Src: /src/bitcoin-core/src/validation.cpp:1513,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:1514,1
    - Dst: m_replaced_transactions::size
      Src: /src/bitcoin-core/src/validation.cpp:1515,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/validation.cpp:1517,1
    - Dst: Success
      Src: /src/bitcoin-core/src/validation.cpp:1520,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1520,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - ' ptx'
    - ' args'
    argTypes:
    - CTransactionRef
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1432
    functionDepth: 4
    functionLinenumber: 1432
    functionLinenumberEnd: 1522
    functionName: MemPoolAccept::AcceptSingleTransaction
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - CoinsTip
    - m_replaced_transactions::empty
    - CFeeRate
    - GetHash
    - std::move
    - m_client_maxfeerate::value
    - CheckEphemeralSpends
    - GetHeight
    - MemPoolAccept::CleanupTemporaryCoins
    - MemPoolAccept::ConsensusScriptChecks
    - m_opts::signals::TransactionAddedToMempool
    - AssertLockHeld
    - MemPoolAccept::FinalizeSubpackage
    - MemPoolAccept::ReplacementChecks
    - exists
    - Workspace::m_state::GetResult
    - Assume
    - static_cast<int>
    - LogDebug
    - GetAndIncrementSequence
    - Workspace::m_ptx::GetWitnessHash
    - m_replaced_transactions::size
    - GetIter
    - Success
    - IsCurrentForFeeEstimation
    - LimitMempoolSize
    - auto::has_value
    - NewMempoolTransactionInfo
    - static_cast<uint32_t>
    - Workspace::m_state::Invalid
    - LOCK
    - MemPoolAccept::PolicyScriptChecks
    - MemPoolAccept::PreChecks
    - HasNoInputsOf
    - Failure
    - FeeFailure
    linkageType: ''
    returnType: MempoolAcceptResult
    signature: MempoolAcceptResult MemPoolAccept::AcceptSingleTransaction(const CTransactionRef&
      ptx, ATMPArgs& args)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1526,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/validation.cpp:1530,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1530,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/validation.cpp:1533,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1533,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/validation.cpp:1534,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1534,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:1534,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/validation.cpp:1534,1
    - Dst: MemPoolAccept::Workspace
      Src: /src/bitcoin-core/src/validation.cpp:1535,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:1538,1
    - Dst: MemPoolAccept::PreChecks
      Src: /src/bitcoin-core/src/validation.cpp:1542,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1543,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1545,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1545,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1545,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1546,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1546,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1551,1
    - Dst: m_client_maxfeerate::value
      Src: /src/bitcoin-core/src/validation.cpp:1551,1
    - Dst: m_state::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1553,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1554,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1556,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1556,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1556,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1557,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1557,1
    - Dst: PackageAddTransaction
      Src: /src/bitcoin-core/src/validation.cpp:1569,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/validation.cpp:1575,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1576,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/validation.cpp:1576,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1577,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/validation.cpp:1590,1
    - Dst: std::vector::cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1590,1
    - Dst: std::vector::cend
      Src: /src/bitcoin-core/src/validation.cpp:1590,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/validation.cpp:1592,1
    - Dst: std::vector::cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1592,1
    - Dst: std::vector::cend
      Src: /src/bitcoin-core/src/validation.cpp:1592,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/validation.cpp:1596,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/validation.cpp:1596,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/validation.cpp:1597,1
    - Dst: std::vector::cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1597,1
    - Dst: std::vector::cend
      Src: /src/bitcoin-core/src/validation.cpp:1597,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/validation.cpp:1597,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1598,1
    - Dst: CheckFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1601,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1602,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1603,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/validation.cpp:1603,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1603,1
    - Dst: FeeFailure
      Src: /src/bitcoin-core/src/validation.cpp:1604,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/validation.cpp:1604,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1609,1
    - Dst: MemPoolAccept::PackageMempoolChecks
      Src: /src/bitcoin-core/src/validation.cpp:1609,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1610,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1610,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/validation.cpp:1617,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1618,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1619,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1619,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1620,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1620,1
    - Dst: MemPoolAccept::PolicyScriptChecks
      Src: /src/bitcoin-core/src/validation.cpp:1626,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1628,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1629,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1629,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1629,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1630,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1630,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/validation.cpp:1634,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1636,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1637,1
    - Dst: m_ptx::GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1637,1
    - Dst: Success
      Src: /src/bitcoin-core/src/validation.cpp:1638,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1638,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1644,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1644,1
    - Dst: MemPoolAccept::SubmitPackage
      Src: /src/bitcoin-core/src/validation.cpp:1646,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1648,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1648,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1651,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1651,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 2
    argNames:
    - ' txns'
    - ' args'
    argTypes:
    - std::vector<CTransactionRef>
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1524
    functionDepth: 4
    functionLinenumber: 1524
    functionLinenumberEnd: 1652
    functionName: MemPoolAccept::AcceptMultipleTransactions
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - CFeeRate
    - cend
    - PackageValidationState::Invalid
    - std::move
    - m_ptx::GetWitnessHash
    - m_client_maxfeerate::value
    - CheckEphemeralSpends
    - std::map::emplace
    - PackageAddTransaction
    - cbegin
    - auto::value
    - IsWellFormedPackage
    - std::vector::back
    - std::vector::reserve
    - std::vector::cend
    - AssertLockHeld
    - std::vector::size
    - std::vector::cbegin
    - GetWitnessHash
    - CheckFeeRate
    - MemPoolAccept::Workspace
    - MemPoolAccept::SubmitPackage
    - Success
    - std::back_inserter
    - std::accumulate
    - static_cast<uint32_t>
    - std::transform
    - m_state::Invalid
    - size
    - LOCK
    - PackageTRUCChecks
    - MemPoolAccept::PolicyScriptChecks
    - MemPoolAccept::PreChecks
    - PackageMempoolAcceptResult
    - Failure
    - MemPoolAccept::PackageMempoolChecks
    - FeeFailure
    linkageType: ''
    returnType: PackageMempoolAcceptResult
    signature: PackageMempoolAcceptResult MemPoolAccept::AcceptMultipleTransactions(const
      std::vector<CTransactionRef>& txns, ATMPArgs& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetNonBaseCoins
      Src: /src/bitcoin-core/src/validation.cpp:1675,1
    - Dst: Uncache
      Src: /src/bitcoin-core/src/validation.cpp:1678,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/validation.cpp:1681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1682
    functionName: MemPoolAccept::CleanupTemporaryCoins
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 4
    functionsReached:
    - Uncache
    - GetNonBaseCoins
    - Reset
    linkageType: ''
    returnType: void
    signature: void MemPoolAccept::CleanupTemporaryCoins()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1686,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1687,1
    - Dst: MemPoolAccept::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/validation.cpp:1688,1
    - Dst: if
      Src: /src/bitcoin-core/src/validation.cpp:1689,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1689,1
    - Dst: MemPoolAccept::AcceptMultipleTransactions
      Src: /src/bitcoin-core/src/validation.cpp:1690,1
    - Dst: front
      Src: /src/bitcoin-core/src/validation.cpp:1692,1
    - Dst: MemPoolAccept::SingleInPackageAccept
      Src: /src/bitcoin-core/src/validation.cpp:1693,1
    - Dst: MemPoolAccept::AcceptSingleTransaction
      Src: /src/bitcoin-core/src/validation.cpp:1694,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1697,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1699,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' subpackage'
    - ' args'
    argTypes:
    - std::vector<CTransactionRef>
    - ATMPArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1684
    functionDepth: 5
    functionLinenumber: 1684
    functionLinenumberEnd: 1700
    functionName: MemPoolAccept::AcceptSubPackage
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - MemPoolAccept::SingleInPackageAccept
    - GetWitnessHash
    - PackageValidationState::Invalid
    - size
    - MemPoolAccept::EXCLUSIVE_LOCKS_REQUIRED
    - if
    - MemPoolAccept::AcceptSingleTransaction
    - AssertLockHeld
    - PackageMempoolAcceptResult
    - front
    - MemPoolAccept::AcceptMultipleTransactions
    linkageType: ''
    returnType: PackageMempoolAcceptResult
    signature: PackageMempoolAcceptResult MemPoolAccept::AcceptSubPackage(const std::vector<CTransactionRef>&
      subpackage, ATMPArgs& args)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:1712,1
    - Dst: empty
      Src: /src/bitcoin-core/src/validation.cpp:1712,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1713,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/validation.cpp:1724,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1725,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1728,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/validation.cpp:1728,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1731,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1732,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:1735,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1747,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1748,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1752,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:1762,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/validation.cpp:1762,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1763,1
    - Dst: MempoolTx
      Src: /src/bitcoin-core/src/validation.cpp:1763,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/validation.cpp:1763,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/validation.cpp:1763,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1764,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:1772,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/validation.cpp:1772,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1774,1
    - Dst: MempoolTxDifferentWitness
      Src: /src/bitcoin-core/src/validation.cpp:1774,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/validation.cpp:1774,1
    - Dst: MemPoolAccept::AcceptSubPackage
      Src: /src/bitcoin-core/src/validation.cpp:1778,1
    - Dst: auto::m_tx_results::at
      Src: /src/bitcoin-core/src/validation.cpp:1779,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1783,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1783,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1784,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1785,1
    - Dst: m_state::GetResult
      Src: /src/bitcoin-core/src/validation.cpp:1786,1
    - Dst: m_state::GetResult
      Src: /src/bitcoin-core/src/validation.cpp:1787,1
    - Dst: PackageValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1798,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1799,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1801,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/validation.cpp:1802,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/validation.cpp:1807,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1807,1
    - Dst: MemPoolAccept::AcceptSubPackage
      Src: /src/bitcoin-core/src/validation.cpp:1808,1
    - Dst: ClearSubPackageState
      Src: /src/bitcoin-core/src/validation.cpp:1814,1
    - Dst: LimitMempoolSize
      Src: /src/bitcoin-core/src/validation.cpp:1819,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:1819,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:1822,1
    - Dst: auto::m_tx_results::count
      Src: /src/bitcoin-core/src/validation.cpp:1823,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1825,1
    - Dst: std::map::count
      Src: /src/bitcoin-core/src/validation.cpp:1825,1
    - Dst: auto::m_tx_results::at
      Src: /src/bitcoin-core/src/validation.cpp:1828,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1829,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1830,1
    - Dst: TxValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1832,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1833,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1833,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1835,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/validation.cpp:1837,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/validation.cpp:1837,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1840,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1841,1
    - Dst: std::map::count
      Src: /src/bitcoin-core/src/validation.cpp:1841,1
    - Dst: exists
      Src: /src/bitcoin-core/src/validation.cpp:1843,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1843,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1844,1
    - Dst: TxValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:1846,1
    - Dst: std::map::erase
      Src: /src/bitcoin-core/src/validation.cpp:1848,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1849,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:1849,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/validation.cpp:1851,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/validation.cpp:1851,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1852,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/validation.cpp:1854,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:1857,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/validation.cpp:1857,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:1857,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/validation.cpp:1858,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1858,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 2
    argNames:
    - ' package'
    - ' args'
    argTypes:
    - Package
    - ATMPArgs
    assertStmts:
    - condition: (m_pool.exists(wtxid))
      pos:
        line_end: 1782
        line_start: 1782
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1859
      start: 1710
    functionDepth: 6
    functionLinenumber: 1710
    functionLinenumberEnd: 1859
    functionName: MemPoolAccept::AcceptPackage
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - ClearSubPackageState
    - m_state::GetResult
    - PackageValidationState::Invalid
    - GetHash
    - std::move
    - std::vector::push_back
    - std::map::count
    - Invalid
    - std::map::emplace
    - std::map::find
    - auto::m_tx_results::count
    - TxValidationState::Invalid
    - IsWellFormedPackage
    - std::map::size
    - IsChildWithParents
    - GetTxSize
    - GetFee
    - AssertLockHeld
    - std::vector::empty
    - exists
    - empty
    - Assume
    - GetWitnessHash
    - MempoolTxDifferentWitness
    - std::map::erase
    - Assert
    - GetTx
    - assert
    - LimitMempoolSize
    - std::map::end
    - MemPoolAccept::AcceptSubPackage
    - auto::m_tx_results::at
    - size
    - LOCK
    - MempoolTx
    - GetEntry
    - PackageMempoolAcceptResult
    - Failure
    linkageType: ''
    returnType: PackageMempoolAcceptResult
    signature: PackageMempoolAcceptResult MemPoolAccept::AcceptPackage(const Package&
      package, ATMPArgs& args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1866,1
    - Dst: m_chainman::GetParams
      Src: /src/bitcoin-core/src/validation.cpp:1867,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1868,1
    - Dst: GetMempool
      Src: /src/bitcoin-core/src/validation.cpp:1868,1
    - Dst: GetMempool
      Src: /src/bitcoin-core/src/validation.cpp:1869,1
    - Dst: MemPoolAccept::SingleAccept
      Src: /src/bitcoin-core/src/validation.cpp:1872,1
    - Dst: MemPoolAccept
      Src: /src/bitcoin-core/src/validation.cpp:1873,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:1881,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/validation.cpp:1882,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:1883,1
    - Dst: MempoolAcceptResult::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/validation.cpp:1884,1
    - Dst: FlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:1889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' active_chainstate'
    - ' tx'
    - accept_time
    - bypass_limits
    - test_accept
    argTypes:
    - Chainstate
    - CTransactionRef
    - int64_t
    - bool
    - bool
    assertStmts:
    - condition: (active_chainstate.GetMempool() != nullptr)
      pos:
        line_end: 1867
        line_start: 1867
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1891
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1891
    functionName: AcceptToMemoryPool
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - CoinsTip
    - MemPoolAccept
    - GetMempool
    - GetHash
    - TRACEPOINT
    - AssertLockHeld
    - MempoolAcceptResult::m_state::GetRejectReason
    - MemPoolAccept::SingleAccept
    - assert
    - FlushStateToDisk
    - m_chainman::GetParams
    linkageType: ''
    returnType: MempoolAcceptResult
    signature: "MempoolAcceptResult AcceptToMemoryPool(Chainstate& active_chainstate,
      const CTransactionRef& tx,\n                                       int64_t accept_time,
      bool bypass_limits, bool test_accept)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1896,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1897,1
    - Dst: empty
      Src: /src/bitcoin-core/src/validation.cpp:1897,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1898,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/validation.cpp:1898,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:1898,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:1898,1
    - Dst: m_chainman::GetParams
      Src: /src/bitcoin-core/src/validation.cpp:1901,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/validation.cpp:1902,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1903,1
    - Dst: MemPoolAccept::PackageTestAccept
      Src: /src/bitcoin-core/src/validation.cpp:1905,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/validation.cpp:1905,1
    - Dst: MemPoolAccept
      Src: /src/bitcoin-core/src/validation.cpp:1906,1
    - Dst: MemPoolAccept::PackageChildWithParents
      Src: /src/bitcoin-core/src/validation.cpp:1908,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/validation.cpp:1908,1
    - Dst: MemPoolAccept
      Src: /src/bitcoin-core/src/validation.cpp:1909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' active_chainstate'
    - ' pool'
    - ' package'
    - test_accept
    - ' client_maxfeerate'
    argTypes:
    - Chainstate
    - CTxMemPool
    - Package
    - bool
    - std::optional<CFeeRate>
    assertStmts:
    - condition: (std::all_of(package.cbegin(), package.cend(), [](const auto& tx){return
        tx != nullptr;}))
      pos:
        line_end: 1897
        line_start: 1897
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (!package.empty())
      pos:
        line_end: 1896
        line_start: 1896
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1911
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1911
    functionName: ProcessNewPackage
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - GetTime
    - MemPoolAccept::PackageTestAccept
    - empty
    - MemPoolAccept
    - MemPoolAccept::PackageChildWithParents
    - cend
    - EXCLUSIVE_LOCKS_REQUIRED
    - AssertLockHeld
    - m_chainman::GetParams
    - assert
    - cbegin
    - std::all_of
    linkageType: ''
    returnType: PackageMempoolAcceptResult
    signature: "PackageMempoolAcceptResult ProcessNewPackage(Chainstate& active_chainstate,
      CTxMemPool& pool,\n                                                   const
      Package& package, bool test_accept, const std::optional<CFeeRate>& client_maxfeerate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nHeight
    - ' consensusParams'
    argTypes:
    - int
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1936
    functionName: GetBlockSubsidy
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1939,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:1939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - db_params
    - options
    argTypes:
    - DBParams
    - CoinsViewOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1940
    functionName: CoinsViews::CoinsViews
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CoinsViews::CoinsViews(DBParams db_params, CoinsViewOptions options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1944,1
    - Dst: std::make_unique<CCoinsViewCache>
      Src: /src/bitcoin-core/src/validation.cpp:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1946
    functionName: CoinsViews::InitCache
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CCoinsViewCache>
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CoinsViews::InitCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mempool
    - ' blockman'
    - ' chainman'
    - from_snapshot_blockhash
    argTypes:
    - CTxMemPool*
    - BlockManager
    - ChainstateManager
    - std::optional<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1956
    functionName: Chainstate::Chainstate
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Chainstate::Chainstate(\n    CTxMemPool* mempool,\n    BlockManager&
      blockman,\n    ChainstateManager& chainman,\n    std::optional<uint256> from_snapshot_blockhash)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:1961,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:1961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1958
    functionDepth: 1
    functionLinenumber: 1958
    functionLinenumberEnd: 1963
    functionName: Chainstate::SnapshotBase
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - m_blockman::LookupBlockIndex
    - Assert
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * Chainstate::SnapshotBase() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CoinsViews>
      Src: /src/bitcoin-core/src/validation.cpp:1975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cache_size_bytes
    - in_memory
    - should_wipe
    - leveldb_name
    argTypes:
    - size_t
    - bool
    - bool
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1986
    functionName: Chainstate::InitCoinsDB
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CoinsViews>
    linkageType: ''
    returnType: void
    signature: "void Chainstate::InitCoinsDB(\n    size_t cache_size_bytes,\n    bool
      in_memory,\n    bool should_wipe,\n    fs::path leveldb_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:1990,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:1991,1
    - Dst: InitCache
      Src: /src/bitcoin-core/src/validation.cpp:1993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cache_size_bytes
    argTypes:
    - size_t
    assertStmts:
    - condition: (m_coins_views != nullptr)
      pos:
        line_end: 1990
        line_start: 1990
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 1994
      start: 1988
    functionDepth: 1
    functionLinenumber: 1988
    functionLinenumberEnd: 1994
    functionName: Chainstate::InitCoinsCache
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - assert
    - AssertLockHeld
    - InitCache
    linkageType: ''
    returnType: void
    signature: void Chainstate::InitCoinsCache(size_t cache_size_bytes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/validation.cpp:2004,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:2007,1
    - Dst: load
      Src: /src/bitcoin-core/src/validation.cpp:2008,1
    - Dst: LoadingBlocks
      Src: /src/bitcoin-core/src/validation.cpp:2010,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/validation.cpp:2013,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:2014,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:2017,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/validation.cpp:2017,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:2020,1
    - Dst: Now
      Src: /src/bitcoin-core/src/validation.cpp:2020,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:2023,1
    - Dst: store
      Src: /src/bitcoin-core/src/validation.cpp:2024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2001
    functionDepth: 1
    functionLinenumber: 2001
    functionLinenumberEnd: 2026
    functionName: ChainstateManager::IsInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - Tip
    - LoadingBlocks
    - store
    - MinimumChainWork
    - load
    - LogInfo
    - LOCK
    - ActiveChain
    - Now
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::IsInitialBlockDownload() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2030,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:2035,1
    - Dst: Chainstate::GetRole
      Src: /src/bitcoin-core/src/validation.cpp:2035,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:2039,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/validation.cpp:2039,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:2039,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:2040,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:2041,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:2043,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:2045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2047
    functionName: Chainstate::CheckForkWarningConditions
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - _
    - IsInitialBlockDownload
    - GetNotifications
    - LogPrintf
    - AssertLockHeld
    - GetBlockProof
    - Chainstate::GetRole
    linkageType: ''
    returnType: void
    signature: void Chainstate::CheckForkWarningConditions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2052,1
    - Dst: Chainstate::SetBlockFailureFlags
      Src: /src/bitcoin-core/src/validation.cpp:2056,1
    - Dst: m_best_header::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:2057,1
    - Dst: RecalculateBestHeader
      Src: /src/bitcoin-core/src/validation.cpp:2058,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:2061,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2062,1
    - Dst: log
      Src: /src/bitcoin-core/src/validation.cpp:2063,1
    - Dst: CBlockIndex*::nChainWork::getdouble
      Src: /src/bitcoin-core/src/validation.cpp:2063,1
    - Dst: log
      Src: /src/bitcoin-core/src/validation.cpp:2063,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/validation.cpp:2063,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:2063,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:2064,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:2065,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:2066,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2067,1
    - Dst: Height
      Src: /src/bitcoin-core/src/validation.cpp:2067,1
    - Dst: log
      Src: /src/bitcoin-core/src/validation.cpp:2067,1
    - Dst: CBlockIndex*::nChainWork::getdouble
      Src: /src/bitcoin-core/src/validation.cpp:2067,1
    - Dst: log
      Src: /src/bitcoin-core/src/validation.cpp:2067,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/validation.cpp:2068,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:2068,1
    - Dst: Chainstate::CheckForkWarningConditions
      Src: /src/bitcoin-core/src/validation.cpp:2069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pindexNew
    argTypes:
    - CBlockIndex*
    assertStmts:
    - condition: (tip)
      pos:
        line_end: 2064
        line_start: 2064
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 2070
      start: 2050
    functionDepth: 3
    functionLinenumber: 2050
    functionLinenumberEnd: 2070
    functionName: Chainstate::InvalidChainFound
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - m_best_header::GetAncestor
    - Tip
    - Chainstate::CheckForkWarningConditions
    - log
    - Height
    - LogPrintf
    - FormatISO8601DateTime
    - RecalculateBestHeader
    - AssertLockHeld
    - CBlockIndex*::GetBlockHash
    - CBlockIndex*::GetBlockTime
    - assert
    - Chainstate::SetBlockFailureFlags
    - CBlockIndex*::nChainWork::getdouble
    linkageType: ''
    returnType: void
    signature: void Chainstate::InvalidChainFound(CBlockIndex* pindexNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2076,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/validation.cpp:2077,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:2079,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validation.cpp:2080,1
    - Dst: Chainstate::InvalidChainFound
      Src: /src/bitcoin-core/src/validation.cpp:2081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pindex
    - ' state'
    argTypes:
    - CBlockIndex*
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2074
    functionDepth: 4
    functionLinenumber: 2074
    functionLinenumberEnd: 2083
    functionName: Chainstate::InvalidBlockFound
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - erase
    - m_dirty_blockindex::insert
    - GetResult
    - Chainstate::InvalidChainFound
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void Chainstate::InvalidBlockFound(CBlockIndex* pindex, const BlockValidationState&
      state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:2088,1
    - Dst: CTxUndo::vprevout::reserve
      Src: /src/bitcoin-core/src/validation.cpp:2089,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2089,1
    - Dst: CTxUndo::vprevout::emplace_back
      Src: /src/bitcoin-core/src/validation.cpp:2091,1
    - Dst: SpendCoin
      Src: /src/bitcoin-core/src/validation.cpp:2092,1
    - Dst: CTxUndo::vprevout::back
      Src: /src/bitcoin-core/src/validation.cpp:2092,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:2093,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/validation.cpp:2097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' tx'
    - ' inputs'
    - txundo
    - nHeight
    argTypes:
    - CTransaction
    - CCoinsViewCache
    - CTxUndo
    - int
    assertStmts:
    - condition: (is_spent)
      pos:
        line_end: 2092
        line_start: 2092
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 2098
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2098
    functionName: UpdateCoins
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CTxUndo::vprevout::back
    - CTxUndo::vprevout::reserve
    - SpendCoin
    - AddCoins
    - IsCoinBase
    - assert
    - CTxUndo::vprevout::emplace_back
    - vin::size
    linkageType: ''
    returnType: void
    signature: void UpdateCoins(const CTransaction& tx, CCoinsViewCache& inputs, CTxUndo
      &txundo, int nHeight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/validation.cpp:2104,1
    - Dst: CachingTransactionSignatureChecker
      Src: /src/bitcoin-core/src/validation.cpp:2104,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:2107,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:2107,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:2107,1
    - Dst: prevout::hash::ToString
      Src: /src/bitcoin-core/src/validation.cpp:2107,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/validation.cpp:2108,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:2108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2100
    functionDepth: 1
    functionLinenumber: 2100
    functionLinenumberEnd: 2110
    functionName: CScriptCheck::operator()()
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - VerifyScript
    - GetWitnessHash
    - CachingTransactionSignatureChecker
    - GetHash
    - std::move
    - strprintf
    - prevout::hash::ToString
    linkageType: ''
    returnType: std::optional<std::pair<ScriptError, std::string>>
    signature: std::optional<std::pair<ScriptError, std::string>> CScriptCheck::operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/validation.cpp:2116,1
    - Dst: Write
      Src: /src/bitcoin-core/src/validation.cpp:2120,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/validation.cpp:2120,1
    - Dst: Write
      Src: /src/bitcoin-core/src/validation.cpp:2121,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/validation.cpp:2121,1
    - Dst: setup_bytes
      Src: /src/bitcoin-core/src/validation.cpp:2123,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:2124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - script_execution_cache_bytes
    - signature_cache_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2112
    functionDepth: 2
    functionLinenumber: 2112
    functionLinenumberEnd: 2126
    functionName: ValidationCache::ValidationCache
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - uint256::begin
    - GetRandHash
    - LogInfo
    - setup_bytes
    - Write
    linkageType: ''
    returnType: void
    signature: void ValidationCache::ValidationCache(const size_t script_execution_cache_bytes,
      const size_t signature_cache_bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:2153,1
    - Dst: std::vector<CScriptCheck>*::reserve
      Src: /src/bitcoin-core/src/validation.cpp:2156,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2156,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/validation.cpp:2164,1
    - Dst: ScriptExecutionCacheHasher
      Src: /src/bitcoin-core/src/validation.cpp:2165,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/validation.cpp:2166,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/validation.cpp:2166,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validation.cpp:2166,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/validation.cpp:2166,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2167,1
    - Dst: m_script_execution_cache::contains
      Src: /src/bitcoin-core/src/validation.cpp:2168,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/validation.cpp:2174,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2174,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/validation.cpp:2178,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:2179,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/validation.cpp:2179,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/validation.cpp:2180,1
    - Dst: Init
      Src: /src/bitcoin-core/src/validation.cpp:2182,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:2182,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:2184,1
    - Dst: m_spent_outputs::size
      Src: /src/bitcoin-core/src/validation.cpp:2184,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2184,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2186,1
    - Dst: std::vector<CScriptCheck>*::emplace_back
      Src: /src/bitcoin-core/src/validation.cpp:2197,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:2197,1
    - Dst: check
      Src: /src/bitcoin-core/src/validation.cpp:2198,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/validation.cpp:2198,1
    - Dst: check2
      Src: /src/bitcoin-core/src/validation.cpp:2210,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/validation.cpp:2211,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2212,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:2212,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/validation.cpp:2212,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2226,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:2226,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/validation.cpp:2226,1
    - Dst: m_script_execution_cache::insert
      Src: /src/bitcoin-core/src/validation.cpp:2233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 9
    argNames:
    - ' tx'
    - ' state'
    - ' inputs'
    - flags
    - cacheSigStore
    - cacheFullScriptStore
    - ' txdata'
    - ' validation_cache'
    - pvChecks
    argTypes:
    - CTransaction
    - TxValidationState
    - CCoinsViewCache
    - unsigned int
    - bool
    - bool
    - PrecomputedTransactionData
    - ValidationCache
    - std::vector<CScriptCheck>*
    assertStmts:
    - condition: (!coin.IsSpent())
      pos:
        line_end: 2178
        line_start: 2178
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (txdata.m_spent_outputs.size() == tx.vin.size())
      pos:
        line_end: 2183
        line_start: 2183
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 2237
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2237
    functionName: CheckInputScripts
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - std::vector::emplace_back
    - check
    - ScriptExecutionCacheHasher
    - ScriptErrorString
    - std::move
    - Invalid
    - m_spent_outputs::size
    - m_script_execution_cache::insert
    - m_script_execution_cache::contains
    - check2
    - std::vector::reserve
    - AssertLockHeld
    - AccessCoin
    - GetWitnessHash
    - std::vector<CScriptCheck>*::emplace_back
    - Init
    - strprintf
    - assert
    - CSHA256::Write
    - uint256::uint256
    - vin::size
    - UCharCast
    - auto::has_value
    - IsSpent
    - uint256::begin
    - IsCoinBase
    - std::vector<CScriptCheck>*::reserve
    linkageType: ''
    returnType: bool
    signature: "bool CheckInputScripts(const CTransaction& tx, TxValidationState&
      state,\n                       const CCoinsViewCache& inputs, unsigned int flags,
      bool cacheSigStore,\n                       bool cacheFullScriptStore, PrecomputedTransactionData&
      txdata,\n                       ValidationCache& validation_cache,\n                       std::vector<CScriptCheck>*
      pvChecks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fatalError
      Src: /src/bitcoin-core/src/validation.cpp:2241,1
    - Dst: Error
      Src: /src/bitcoin-core/src/validation.cpp:2242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' notifications'
    - ' state'
    - ' message'
    argTypes:
    - Notifications
    - BlockValidationState
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2243
    functionName: FatalError
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Error
    - fatalError
    linkageType: ''
    returnType: bool
    signature: bool FatalError(Notifications& notifications, BlockValidationState&
      state, const bilingual_str& message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/validation.cpp:2256,1
    - Dst: AccessByTxid
      Src: /src/bitcoin-core/src/validation.cpp:2262,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/validation.cpp:2263,1
    - Dst: AddCoin
      Src: /src/bitcoin-core/src/validation.cpp:2275,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:2275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' undo'
    - ' view'
    - ' out'
    argTypes:
    - Coin
    - CCoinsViewCache
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2252
    functionDepth: 1
    functionLinenumber: 2252
    functionLinenumberEnd: 2278
    functionName: ApplyTxInUndo
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - IsSpent
    - AccessByTxid
    - std::move
    - HaveCoin
    - AddCoin
    linkageType: ''
    returnType: int
    signature: int ApplyTxInUndo(Coin&& undo, CCoinsViewCache& view, const COutPoint&
      out)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2284,1
    - Dst: ReadBlockUndo
      Src: /src/bitcoin-core/src/validation.cpp:2288,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:2289,1
    - Dst: CBlockUndo::vtxundo::size
      Src: /src/bitcoin-core/src/validation.cpp:2293,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:2293,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:2294,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2304,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2305,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:2308,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:2310,1
    - Dst: CTransaction::IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:2311,1
    - Dst: CTransaction::vout::size
      Src: /src/bitcoin-core/src/validation.cpp:2316,1
    - Dst: scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/validation.cpp:2317,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/validation.cpp:2319,1
    - Dst: SpendCoin
      Src: /src/bitcoin-core/src/validation.cpp:2320,1
    - Dst: CTxUndo::vprevout::size
      Src: /src/bitcoin-core/src/validation.cpp:2332,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2332,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:2333,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2336,1
    - Dst: ApplyTxInUndo
      Src: /src/bitcoin-core/src/validation.cpp:2339,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:2339,1
    - Dst: SetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:2348,1
    - Dst: CBlockIndex*::pprev::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2348,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - ' block'
    - pindex
    - ' view'
    argTypes:
    - CBlock
    - CBlockIndex*
    - CCoinsViewCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2282
    functionDepth: 2
    functionLinenumber: 2282
    functionLinenumberEnd: 2351
    functionName: Chainstate::DisconnectBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Coin::Coin
    - CTransaction::vin::size
    - CTxUndo::vprevout::size
    - CBlockIndex*::pprev::GetBlockHash
    - LogError
    - scriptPubKey::IsUnspendable
    - ApplyTxInUndo
    - SetBestBlock
    - SpendCoin
    - ReadBlockUndo
    - CTransaction::vout::size
    - vtx::size
    - std::move
    - CBlockUndo::vtxundo::size
    - AssertLockHeld
    - CBlockIndex*::GetBlockHash
    - CTransaction::IsCoinBase
    - CTransaction::GetHash
    linkageType: ''
    returnType: DisconnectResult
    signature: DisconnectResult Chainstate::DisconnectBlock(const CBlock& block, const
      CBlockIndex* pindex, CCoinsViewCache& view)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:2355,1
    - Dst: script_flag_exceptions::find
      Src: /src/bitcoin-core/src/validation.cpp:2366,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:2366,1
    - Dst: script_flag_exceptions::end
      Src: /src/bitcoin-core/src/validation.cpp:2367,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/validation.cpp:2372,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/validation.cpp:2377,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/validation.cpp:2382,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/validation.cpp:2387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' block_index'
    - ' chainman'
    argTypes:
    - CBlockIndex
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2353
    functionDepth: 1
    functionLinenumber: 2353
    functionLinenumberEnd: 2392
    functionName: GetBlockScriptFlags
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - script_flag_exceptions::find
    - DeploymentActiveAt
    - Assert
    - script_flag_exceptions::end
    - GetConsensus
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetBlockScriptFlags(const CBlockIndex& block_index, const
      ChainstateManager& chainman)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2401,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:2402,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:2404,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:2405,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2407,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/validation.cpp:2408,1
    - Dst: CheckBlock
      Src: /src/bitcoin-core/src/validation.cpp:2423,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:2423,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/validation.cpp:2424,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/validation.cpp:2428,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:2428,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:2428,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:2430,1
    - Dst: Chainstate::ToString
      Src: /src/bitcoin-core/src/validation.cpp:2430,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/validation.cpp:2435,1
    - Dst: CBlockIndex*::pprev::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2435,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:2436,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:2436,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:2442,1
    - Dst: SetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:2444,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2444,1
    - Dst: AssumedValidBlock
      Src: /src/bitcoin-core/src/validation.cpp:2449,1
    - Dst: m_block_index::find
      Src: /src/bitcoin-core/src/validation.cpp:2455,1
    - Dst: AssumedValidBlock
      Src: /src/bitcoin-core/src/validation.cpp:2455,1
    - Dst: m_block_index::end
      Src: /src/bitcoin-core/src/validation.cpp:2456,1
    - Dst: BlockMap::const_iterator::second::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:2457,1
    - Dst: m_best_header::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:2458,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/validation.cpp:2459,1
    - Dst: GetBlockProofEquivalentTime
      Src: /src/bitcoin-core/src/validation.cpp:2474,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:2474,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2479,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:2481,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2482,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2483,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2484,1
    - Dst: IsBIP30Repeat
      Src: /src/bitcoin-core/src/validation.cpp:2496,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:2553,1
    - Dst: CBlockIndex*::pprev::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:2554,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:2554,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2556,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:2556,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/validation.cpp:2563,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/validation.cpp:2564,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/validation.cpp:2564,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:2564,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2565,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/validation.cpp:2574,1
    - Dst: GetBlockScriptFlags
      Src: /src/bitcoin-core/src/validation.cpp:2579,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2581,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:2583,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2584,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2585,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2586,1
    - Dst: GetCheckQueue
      Src: /src/bitcoin-core/src/validation.cpp:2596,1
    - Dst: HasThreads
      Src: /src/bitcoin-core/src/validation.cpp:2596,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/validation.cpp:2596,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:2598,1
    - Dst: CBlockUndo::vtxundo::reserve
      Src: /src/bitcoin-core/src/validation.cpp:2604,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:2604,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:2605,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/validation.cpp:2607,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2610,1
    - Dst: CTransaction::IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:2612,1
    - Dst: Consensus::CheckTxInputs
      Src: /src/bitcoin-core/src/validation.cpp:2616,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2618,1
    - Dst: TxValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/validation.cpp:2619,1
    - Dst: TxValidationState::GetDebugMessage
      Src: /src/bitcoin-core/src/validation.cpp:2620,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:2620,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/validation.cpp:2624,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2625,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/validation.cpp:2633,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2633,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/validation.cpp:2634,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/validation.cpp:2635,1
    - Dst: SequenceLocks
      Src: /src/bitcoin-core/src/validation.cpp:2638,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2639,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:2640,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/validation.cpp:2649,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2651,1
    - Dst: CTransaction::IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:2655,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/validation.cpp:2664,1
    - Dst: std::optional::Add
      Src: /src/bitcoin-core/src/validation.cpp:2665,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:2665,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/validation.cpp:2667,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2671,1
    - Dst: TxValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/validation.cpp:2672,1
    - Dst: TxValidationState::GetDebugMessage
      Src: /src/bitcoin-core/src/validation.cpp:2672,1
    - Dst: CBlockUndo::vtxundo::emplace_back
      Src: /src/bitcoin-core/src/validation.cpp:2679,1
    - Dst: UpdateCoins
      Src: /src/bitcoin-core/src/validation.cpp:2681,1
    - Dst: CBlockUndo::vtxundo::back
      Src: /src/bitcoin-core/src/validation.cpp:2681,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2683,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:2685,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:2685,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2686,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2686,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:2686,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2687,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2688,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2689,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/validation.cpp:2691,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:2691,1
    - Dst: GetValueOut
      Src: /src/bitcoin-core/src/validation.cpp:2692,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/validation.cpp:2692,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2693,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:2694,1
    - Dst: GetValueOut
      Src: /src/bitcoin-core/src/validation.cpp:2694,1
    - Dst: std::optional::Complete
      Src: /src/bitcoin-core/src/validation.cpp:2697,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/validation.cpp:2698,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/validation.cpp:2698,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:2699,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:2699,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/validation.cpp:2699,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/validation.cpp:2702,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:2703,1
    - Dst: Chainstate::ToString
      Src: /src/bitcoin-core/src/validation.cpp:2703,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2706,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:2708,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2709,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2710,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2711,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2712,1
    - Dst: WriteBlockUndo
      Src: /src/bitcoin-core/src/validation.cpp:2718,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2722,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:2724,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2725,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2726,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2727,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/validation.cpp:2729,1
    - Dst: CBlockIndex*::RaiseValidity
      Src: /src/bitcoin-core/src/validation.cpp:2730,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:2731,1
    - Dst: SetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:2735,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2735,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2737,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:2739,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2740,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2741,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2742,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/validation.cpp:2744,1
    - Dst: uint256::data
      Src: /src/bitcoin-core/src/validation.cpp:2745,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:2747,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2750,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 125
    argCount: 5
    argNames:
    - ' block'
    - ' state'
    - pindex
    - ' view'
    - fJustCheck
    argTypes:
    - CBlock
    - BlockValidationState
    - CBlockIndex*
    - CCoinsViewCache
    - bool
    assertStmts:
    - condition: (pindex->pprev)
      pos:
        line_end: 2552
        line_start: 2552
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex)
      pos:
        line_end: 2401
        line_start: 2401
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (*pindex->phashBlock == block_hash)
      pos:
        line_end: 2404
        line_start: 2404
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (hashPrevBlock == view.GetBestBlock())
      pos:
        line_end: 2435
        line_start: 2435
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 2754
      start: 2398
    functionDepth: 3
    functionLinenumber: 2398
    functionLinenumberEnd: 2754
    functionName: Chainstate::ConnectBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetResult
    - ScriptErrorString
    - CBlockIndex*::RaiseValidity
    - SequenceLocks
    - GetHash
    - FatalError
    - GetNotifications
    - vtx::size
    - CheckInputScripts
    - DeploymentActiveAt
    - TxValidationState::GetDebugMessage
    - std::move
    - LogInfo
    - Invalid
    - CTransaction::IsCoinBase
    - SetBestBlock
    - uint256::data
    - AssumedValidBlock
    - CTransaction::vin::size
    - GetParams
    - CBlockUndo::vtxundo::back
    - GetBestBlock
    - TRACEPOINT
    - GetTransactionSigOpCost
    - AssertLockHeld
    - CBlockIndex*::GetBlockHash
    - CBlockUndo::vtxundo::emplace_back
    - uint256
    - GetBlockProofEquivalentTime
    - GetCheckQueue
    - HasThreads
    - CBlockUndo::vtxundo::reserve
    - std::optional::Add
    - AccessCoin
    - LogError
    - CBlockIndex*::pprev::GetAncestor
    - MinimumChainWork
    - LogDebug
    - IsValid
    - COutPoint
    - GetBlockSubsidy
    - vout::size
    - std::optional::Complete
    - TxValidationState::GetRejectReason
    - WriteBlockUndo
    - Consensus::CheckTxInputs
    - GetValueOut
    - strprintf
    - assert
    - UpdateCoins
    - BlockMap::const_iterator::second::GetAncestor
    - MockableSteadyClock::now
    - m_best_header::GetAncestor
    - _
    - Ticks
    - m_block_index::find
    - std::vector::resize
    - CBlockIndex*::pprev::GetBlockHash
    - std::optional::emplace
    - auto::has_value
    - m_dirty_blockindex::insert
    - CheckBlock
    - m_block_index::end
    - IsBIP30Repeat
    - CBlockIndex*::IsValid
    - Chainstate::ToString
    - GetBlockScriptFlags
    - HaveCoin
    - CTransaction::GetHash
    - GetConsensus
    - MoneyRange
    linkageType: ''
    returnType: bool
    signature: "bool Chainstate::ConnectBlock(const CBlock& block, BlockValidationState&
      state, CBlockIndex* pindex,\n                               CCoinsViewCache&
      view, bool fJustCheck)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2758,1
    - Dst: Chainstate::GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/validation.cpp:2759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2756
    functionDepth: 1
    functionLinenumber: 2756
    functionLinenumberEnd: 2762
    functionName: Chainstate::GetCoinsCacheSizeState
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - Chainstate::GetCoinsCacheSizeState
    - AssertLockHeld
    linkageType: ''
    returnType: CoinsCacheSizeState
    signature: CoinsCacheSizeState Chainstate::GetCoinsCacheSizeState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2768,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/validation.cpp:2769,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:2770,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/validation.cpp:2772,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/validation.cpp:2777,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:2780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - max_coins_cache_size_bytes
    - max_mempool_size_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2764
    functionDepth: 1
    functionLinenumber: 2764
    functionLinenumberEnd: 2786
    functionName: Chainstate::GetCoinsCacheSizeState
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - CoinsTip
    - std::max
    - LogPrintf
    - AssertLockHeld
    - DynamicMemoryUsage
    - std::max<int64_t>
    linkageType: ''
    returnType: CoinsCacheSizeState
    signature: "CoinsCacheSizeState Chainstate::GetCoinsCacheSizeState(\n    size_t
      max_coins_cache_size_bytes,\n    size_t max_mempool_size_bytes)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:2793,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:2794,1
    - Dst: Chainstate::CanFlushToDisk
      Src: /src/bitcoin-core/src/validation.cpp:2794,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:2798,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:2799,1
    - Dst: Chainstate::GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/validation.cpp:2805,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:2806,1
    - Dst: IsPruneMode
      Src: /src/bitcoin-core/src/validation.cpp:2807,1
    - Dst: Height
      Src: /src/bitcoin-core/src/validation.cpp:2810,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/validation.cpp:2814,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/validation.cpp:2817,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/validation.cpp:2817,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:2824,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/validation.cpp:2824,1
    - Dst: LOG_TIME_MILLIS_WITH_CATEGORY
      Src: /src/bitcoin-core/src/validation.cpp:2828,1
    - Dst: FindFilesToPruneManual
      Src: /src/bitcoin-core/src/validation.cpp:2830,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/validation.cpp:2832,1
    - Dst: LOG_TIME_MILLIS_WITH_CATEGORY
      Src: /src/bitcoin-core/src/validation.cpp:2835,1
    - Dst: FindFilesToPrune
      Src: /src/bitcoin-core/src/validation.cpp:2837,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/validation.cpp:2840,1
    - Dst: m_block_tree_db::WriteFlag
      Src: /src/bitcoin-core/src/validation.cpp:2843,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2848,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:2859,1
    - Dst: CheckDiskSpace
      Src: /src/bitcoin-core/src/validation.cpp:2863,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/validation.cpp:2864,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:2864,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:2864,1
    - Dst: LOG_TIME_MILLIS_WITH_CATEGORY
      Src: /src/bitcoin-core/src/validation.cpp:2867,1
    - Dst: FlushChainstateBlockFile
      Src: /src/bitcoin-core/src/validation.cpp:2872,1
    - Dst: Height
      Src: /src/bitcoin-core/src/validation.cpp:2872,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/validation.cpp:2873,1
    - Dst: LOG_TIME_MILLIS_WITH_CATEGORY
      Src: /src/bitcoin-core/src/validation.cpp:2879,1
    - Dst: WriteBlockIndexDB
      Src: /src/bitcoin-core/src/validation.cpp:2881,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/validation.cpp:2882,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:2882,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:2882,1
    - Dst: LOG_TIME_MILLIS_WITH_CATEGORY
      Src: /src/bitcoin-core/src/validation.cpp:2887,1
    - Dst: UnlinkPrunedFiles
      Src: /src/bitcoin-core/src/validation.cpp:2889,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:2892,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/validation.cpp:2893,1
    - Dst: LOG_TIME_MILLIS_WITH_CATEGORY
      Src: /src/bitcoin-core/src/validation.cpp:2894,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:2894,1
    - Dst: CheckDiskSpace
      Src: /src/bitcoin-core/src/validation.cpp:2902,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:2902,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/validation.cpp:2903,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:2903,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:2903,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:2907,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:2907,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/validation.cpp:2908,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:2908,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:2908,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/validation.cpp:2911,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:2912,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2912,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/validation.cpp:2920,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/validation.cpp:2922,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/validation.cpp:2922,1
    - Dst: m_options::signals::ChainStateFlushed
      Src: /src/bitcoin-core/src/validation.cpp:2927,1
    - Dst: Chainstate::GetRole
      Src: /src/bitcoin-core/src/validation.cpp:2927,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/validation.cpp:2927,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/validation.cpp:2930,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:2930,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:2930,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:2930,1
    - Dst: what
      Src: /src/bitcoin-core/src/validation.cpp:2930,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - state
    - mode
    - nManualPruneHeight
    argTypes:
    - BlockValidationState
    - FlushStateMode
    - int
    assertStmts:
    - condition: (this->CanFlushToDisk())
      pos:
        line_end: 2793
        line_start: 2793
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 2933
      start: 2788
    functionDepth: 2
    functionLinenumber: 2788
    functionLinenumberEnd: 2933
    functionName: Chainstate::FlushStateToDisk
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - CheckDiskSpace
    - FatalError
    - GetNotifications
    - WriteBlockIndexDB
    - m_options::signals::ChainStateFlushed
    - what
    - NodeClock::now
    - std::min
    - Chainstate::GetRole
    - UnlinkPrunedFiles
    - LOG_TIME_MILLIS_WITH_CATEGORY
    - FindFilesToPrune
    - TRACEPOINT
    - LogWarning
    - GetLocator
    - Height
    - IsPruneMode
    - LogDebug
    - m_block_tree_db::WriteFlag
    - strprintf
    - Chainstate::CanFlushToDisk
    - assert
    - RandomMixin::max
    - Chainstate::GetCoinsCacheSizeState
    - FindFilesToPruneManual
    - LogPrintLevel
    - _
    - Ticks
    - std::max
    - LOCK
    - std::optional::value
    - std::set::empty
    - FlushChainstateBlockFile
    - FastRandomContext
    linkageType: ''
    returnType: bool
    signature: "bool Chainstate::FlushStateToDisk(\n    BlockValidationState &state,\n
      \   FlushStateMode mode,\n    int nManualPruneHeight)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Chainstate::FlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:2938,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:2939,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:2939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2941
      start: 2935
    functionDepth: 3
    functionLinenumber: 2935
    functionLinenumberEnd: 2941
    functionName: Chainstate::ForceFlushStateToDisk
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - Chainstate::FlushStateToDisk
    - BlockValidationState::ToString
    linkageType: ''
    returnType: void
    signature: void Chainstate::ForceFlushStateToDisk()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Chainstate::FlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:2947,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:2948,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:2948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2943
    functionDepth: 3
    functionLinenumber: 2943
    functionLinenumberEnd: 2950
    functionName: Chainstate::PruneAndFlush
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - Chainstate::FlushStateToDisk
    - BlockValidationState::ToString
    linkageType: ''
    returnType: void
    signature: void Chainstate::PruneAndFlush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2961,1
    - Dst: LogPrintLevel_
      Src: /src/bitcoin-core/src/validation.cpp:2964,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:2966,1
    - Dst: log
      Src: /src/bitcoin-core/src/validation.cpp:2967,1
    - Dst: nChainWork::getdouble
      Src: /src/bitcoin-core/src/validation.cpp:2967,1
    - Dst: log
      Src: /src/bitcoin-core/src/validation.cpp:2967,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/validation.cpp:2968,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:2968,1
    - Dst: GuessVerificationProgress
      Src: /src/bitcoin-core/src/validation.cpp:2969,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/validation.cpp:2970,1
    - Dst: GetCacheSize
      Src: /src/bitcoin-core/src/validation.cpp:2971,1
    - Dst: empty
      Src: /src/bitcoin-core/src/validation.cpp:2972,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:2972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2958
    functionDepth: 1
    functionLinenumber: 2958
    functionLinenumberEnd: 2973
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 12
    functionsReached:
    - LogPrintLevel_
    - GetBlockTime
    - empty
    - log
    - GuessVerificationProgress
    - nChainWork::getdouble
    - FormatISO8601DateTime
    - AssertLockHeld
    - strprintf
    - DynamicMemoryUsage
    - GetCacheSize
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:2977,1
    - Dst: Chainstate::CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:2978,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:2982,1
    - Dst: UpdateTipLog
      Src: /src/bitcoin-core/src/validation.cpp:2986,1
    - Dst: AddTransactionsUpdated
      Src: /src/bitcoin-core/src/validation.cpp:2993,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:2997,1
    - Dst: m_versionbitscache::CheckUnknownActivations
      Src: /src/bitcoin-core/src/validation.cpp:2998,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/validation.cpp:2998,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:3000,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:3000,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:3002,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/validation.cpp:3004,1
    - Dst: UpdateTipLog
      Src: /src/bitcoin-core/src/validation.cpp:3008,1
    - Dst: util::Join
      Src: /src/bitcoin-core/src/validation.cpp:3009,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:3009,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pindexNew
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 2975
    functionDepth: 1
    functionLinenumber: 2975
    functionLinenumberEnd: 3010
    functionName: Chainstate::UpdateTip
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - _
    - UpdateTipLog
    - IsInitialBlockDownload
    - GetParams
    - Chainstate::CoinsTip
    - GetNotifications
    - util::Join
    - std::vector::push_back
    - ActiveChainstate
    - AssertLockHeld
    - strprintf
    - m_versionbitscache::CheckUnknownActivations
    - Untranslated
    - AddTransactionsUpdated
    linkageType: ''
    returnType: void
    signature: void Chainstate::UpdateTip(const CBlockIndex* pindexNew)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3024,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3025,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3027,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3028,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3029,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/validation.cpp:3031,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/validation.cpp:3033,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:3034,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:3038,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:3040,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3041,1
    - Dst: CCoinsViewCache::GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:3041,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:3041,1
    - Dst: Chainstate::DisconnectBlock
      Src: /src/bitcoin-core/src/validation.cpp:3042,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:3043,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:3043,1
    - Dst: CCoinsViewCache::Flush
      Src: /src/bitcoin-core/src/validation.cpp:3046,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3047,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:3049,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3050,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:3050,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:3059,1
    - Dst: Chainstate::FlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:3064,1
    - Dst: DisconnectedBlockTransactions*::AddTransactionsFromBlock
      Src: /src/bitcoin-core/src/validation.cpp:3071,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/validation.cpp:3072,1
    - Dst: SetTip
      Src: /src/bitcoin-core/src/validation.cpp:3076,1
    - Dst: Chainstate::UpdateTip
      Src: /src/bitcoin-core/src/validation.cpp:3078,1
    - Dst: m_options::signals::BlockDisconnected
      Src: /src/bitcoin-core/src/validation.cpp:3082,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - ' state'
    - disconnectpool
    argTypes:
    - BlockValidationState
    - DisconnectedBlockTransactions*
    assertStmts:
    - condition: (pindexDelete)
      pos:
        line_end: 3027
        line_start: 3027
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (flushed)
      pos:
        line_end: 3046
        line_start: 3046
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindexDelete->pprev)
      pos:
        line_end: 3028
        line_start: 3028
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (view.GetBestBlock() == pindexDelete->GetBlockHash())
      pos:
        line_end: 3040
        line_start: 3040
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 3085
      start: 3022
    functionDepth: 3
    functionLinenumber: 3022
    functionLinenumberEnd: 3085
    functionName: Chainstate::DisconnectTip
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - DisconnectedBlockTransactions*::AddTransactionsFromBlock
    - CoinsTip
    - removeRecursive
    - m_options::signals::BlockDisconnected
    - ReadBlock
    - AssertLockHeld
    - CBlockIndex*::GetBlockHash
    - Chainstate::DisconnectBlock
    - SetTip
    - LogError
    - std::make_shared<CBlock>
    - LogDebug
    - Chainstate::FlushStateToDisk
    - assert
    - MockableSteadyClock::now
    - Tip
    - CCoinsViewCache::GetBestBlock
    - Ticks
    - CCoinsViewCache::Flush
    - Chainstate::UpdateTip
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::DisconnectTip(BlockValidationState& state, DisconnectedBlockTransactions*
      disconnectpool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3090
    functionName: PerBlockConnectTrace
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerBlockConnectTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3104
    functionName: ConnectTrace::ConnectTrace
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnectTrace()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3107,1
    - Dst: back
      Src: /src/bitcoin-core/src/validation.cpp:3107,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3108,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3109,1
    - Dst: back
      Src: /src/bitcoin-core/src/validation.cpp:3110,1
    - Dst: back
      Src: /src/bitcoin-core/src/validation.cpp:3111,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:3111,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/validation.cpp:3112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pindex
    - pblock
    argTypes:
    - CBlockIndex*
    - std::shared_ptr<const CBlock>
    assertStmts:
    - condition: (!blocksConnected.back().pindex)
      pos:
        line_end: 3106
        line_start: 3106
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pblock)
      pos:
        line_end: 3108
        line_start: 3108
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex)
      pos:
        line_end: 3107
        line_start: 3107
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 3113
      start: 3106
    functionDepth: 0
    functionLinenumber: 3106
    functionLinenumberEnd: 3113
    functionName: ConnectTrace::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - back
    - assert
    - std::move
    linkageType: ''
    returnType: void
    signature: void BlockConnected(CBlockIndex* pindex, std::shared_ptr<const CBlock>
      pblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3121,1
    - Dst: back
      Src: /src/bitcoin-core/src/validation.cpp:3121,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/validation.cpp:3122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!blocksConnected.back().pindex)
      pos:
        line_end: 3120
        line_start: 3120
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 3124
      start: 3115
    functionDepth: 0
    functionLinenumber: 3115
    functionLinenumberEnd: 3124
    functionName: '& GetBlocksConnected()'
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - back
    - assert
    linkageType: ''
    returnType: std::vector<PerBlockConnectTrace>
    signature: std::vector<PerBlockConnectTrace> & GetBlocksConnected()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3135,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3136,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3138,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3138,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:3140,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/validation.cpp:3143,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/validation.cpp:3144,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/validation.cpp:3145,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:3145,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:3145,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:3149,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:3154,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:3158,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3159,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:3161,1
    - Dst: Chainstate::ConnectBlock
      Src: /src/bitcoin-core/src/validation.cpp:3162,1
    - Dst: m_options::signals::BlockChecked
      Src: /src/bitcoin-core/src/validation.cpp:3164,1
    - Dst: IsInvalid
      Src: /src/bitcoin-core/src/validation.cpp:3167,1
    - Dst: Chainstate::InvalidBlockFound
      Src: /src/bitcoin-core/src/validation.cpp:3168,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:3169,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:3169,1
    - Dst: Chainstate::ToString
      Src: /src/bitcoin-core/src/validation.cpp:3169,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:3172,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3174,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:3175,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3176,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3177,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3178,1
    - Dst: CCoinsViewCache::Flush
      Src: /src/bitcoin-core/src/validation.cpp:3179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3180,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:3182,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:3184,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3185,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3186,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3187,1
    - Dst: Chainstate::FlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:3189,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:3192,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:3194,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3195,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3196,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3197,1
    - Dst: removeForBlock
      Src: /src/bitcoin-core/src/validation.cpp:3200,1
    - Dst: removeForBlock
      Src: /src/bitcoin-core/src/validation.cpp:3201,1
    - Dst: SetTip
      Src: /src/bitcoin-core/src/validation.cpp:3204,1
    - Dst: Chainstate::UpdateTip
      Src: /src/bitcoin-core/src/validation.cpp:3205,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:3207,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:3210,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3211,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3212,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3213,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:3214,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3215,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3216,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:3217,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:3221,1
    - Dst: MaybeCompleteSnapshotValidation
      Src: /src/bitcoin-core/src/validation.cpp:3224,1
    - Dst: BlockConnected
      Src: /src/bitcoin-core/src/validation.cpp:3227,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:3227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 5
    argNames:
    - ' state'
    - pindexNew
    - ' pblock'
    - ' connectTrace'
    - ' disconnectpool'
    argTypes:
    - BlockValidationState
    - CBlockIndex*
    - std::shared_ptr<const CBlock>
    - ConnectTrace
    - DisconnectedBlockTransactions
    assertStmts:
    - condition: (m_chainman.num_blocks_total > 0)
      pos:
        line_end: 3173
        line_start: 3173
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (flushed)
      pos:
        line_end: 3179
        line_start: 3179
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindexNew->pprev == m_chain.Tip())
      pos:
        line_end: 3137
        line_start: 3137
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 3229
      start: 3133
    functionDepth: 5
    functionLinenumber: 3133
    functionLinenumberEnd: 3229
    functionName: Chainstate::ConnectTip
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - FatalError
    - GetNotifications
    - Chainstate::InvalidBlockFound
    - std::move
    - MaybeCompleteSnapshotValidation
    - Chainstate::ConnectBlock
    - ReadBlock
    - removeForBlock
    - BlockConnected
    - m_options::signals::BlockChecked
    - IsInvalid
    - AssertLockHeld
    - CBlockIndex*::GetBlockHash
    - SetTip
    - LogError
    - std::make_shared<CBlock>
    - LogDebug
    - Chainstate::FlushStateToDisk
    - assert
    - MockableSteadyClock::now
    - Tip
    - _
    - Ticks
    - CCoinsViewCache::Flush
    - Chainstate::ToString
    - ActiveChainstate
    - Chainstate::UpdateTip
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::ConnectTip(BlockValidationState& state, CBlockIndex*
      pindexNew, const std::shared_ptr<const CBlock>& pblock, ConnectTrace& connectTrace,
      DisconnectedBlockTransactions& disconnectpool)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3237,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/validation.cpp:3243,1
    - Dst: rend
      Src: /src/bitcoin-core/src/validation.cpp:3244,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/validation.cpp:3253,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3254,1
    - Dst: CBlockIndex*::HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:3254,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:3272,1
    - Dst: m_blocks_unlinked::insert
      Src: /src/bitcoin-core/src/validation.cpp:3277,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/validation.cpp:3278,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validation.cpp:3280,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validation.cpp:3283,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pindexTest->HaveNumChainTxs() || pindexTest->nHeight == 0)
      pos:
        line_end: 3253
        line_start: 3253
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 3292
      start: 3235
    functionDepth: 1
    functionLinenumber: 3235
    functionLinenumberEnd: 3292
    functionName: Chainstate::FindMostWorkChain
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - rend
    - std::make_pair
    - CBlockIndex*::HaveNumChainTxs
    - m_dirty_blockindex::insert
    - erase
    - Contains
    - AssertLockHeld
    - rbegin
    - assert
    - m_blocks_unlinked::insert
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * Chainstate::FindMostWorkChain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/validation.cpp:3298,1
    - Dst: end
      Src: /src/bitcoin-core/src/validation.cpp:3299,1
    - Dst: value_comp
      Src: /src/bitcoin-core/src/validation.cpp:3299,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3299,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validation.cpp:3300,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3303,1
    - Dst: empty
      Src: /src/bitcoin-core/src/validation.cpp:3303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!setBlockIndexCandidates.empty())
      pos:
        line_end: 3302
        line_start: 3302
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 3304
      start: 3295
    functionDepth: 1
    functionLinenumber: 3295
    functionLinenumberEnd: 3304
    functionName: Chainstate::PruneBlockIndexCandidates
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - end
    - Tip
    - erase
    - empty
    - value_comp
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void Chainstate::PruneBlockIndexCandidates()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3314,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3315,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3317,1
    - Dst: FindFork
      Src: /src/bitcoin-core/src/validation.cpp:3318,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3323,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3323,1
    - Dst: Chainstate::DisconnectTip
      Src: /src/bitcoin-core/src/validation.cpp:3324,1
    - Dst: Chainstate::MaybeUpdateMempoolForReorg
      Src: /src/bitcoin-core/src/validation.cpp:3327,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/validation.cpp:3332,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:3332,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:3332,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/validation.cpp:3345,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/validation.cpp:3346,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/validation.cpp:3347,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:3348,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/validation.cpp:3350,1
    - Dst: Chainstate::ConnectTip
      Src: /src/bitcoin-core/src/validation.cpp:3357,1
    - Dst: std::shared_ptr<const CBlock>
      Src: /src/bitcoin-core/src/validation.cpp:3357,1
    - Dst: IsInvalid
      Src: /src/bitcoin-core/src/validation.cpp:3358,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/validation.cpp:3360,1
    - Dst: Chainstate::InvalidChainFound
      Src: /src/bitcoin-core/src/validation.cpp:3361,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/validation.cpp:3361,1
    - Dst: BlockValidationState
      Src: /src/bitcoin-core/src/validation.cpp:3363,1
    - Dst: Chainstate::MaybeUpdateMempoolForReorg
      Src: /src/bitcoin-core/src/validation.cpp:3371,1
    - Dst: Chainstate::PruneBlockIndexCandidates
      Src: /src/bitcoin-core/src/validation.cpp:3375,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3376,1
    - Dst: Chainstate::MaybeUpdateMempoolForReorg
      Src: /src/bitcoin-core/src/validation.cpp:3388,1
    - Dst: check
      Src: /src/bitcoin-core/src/validation.cpp:3390,1
    - Dst: Chainstate::CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:3390,1
    - Dst: Chainstate::m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:3390,1
    - Dst: Chainstate::CheckForkWarningConditions
      Src: /src/bitcoin-core/src/validation.cpp:3392,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 5
    argNames:
    - ' state'
    - pindexMostWork
    - ' pblock'
    - ' fInvalidFound'
    - ' connectTrace'
    argTypes:
    - BlockValidationState
    - CBlockIndex*
    - std::shared_ptr<const CBlock>
    - bool
    - ConnectTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3312
    functionDepth: 6
    functionLinenumber: 3312
    functionLinenumberEnd: 3395
    functionName: Chainstate::ActivateBestChainStep
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - check
    - GetResult
    - FatalError
    - GetNotifications
    - std::vector::push_back
    - Chainstate::InvalidChainFound
    - Chainstate::PruneBlockIndexCandidates
    - Chainstate::DisconnectTip
    - Chainstate::m_chain::Height
    - std::min
    - std::vector::front
    - Chainstate::MaybeUpdateMempoolForReorg
    - FindFork
    - std::vector::reserve
    - IsInvalid
    - AssertLockHeld
    - BlockValidationState
    - Chainstate::CheckForkWarningConditions
    - std::vector::clear
    - Chainstate::ConnectTip
    - Tip
    - _
    - Chainstate::CoinsTip
    - CBlockIndex*::GetAncestor
    - std::shared_ptr<const CBlock>
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::ActivateBestChainStep(BlockValidationState& state,
      CBlockIndex* pindexMostWork, const std::shared_ptr<const CBlock>& pblock, bool&
      fInvalidFound, ConnectTrace& connectTrace)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - init
    - blockfiles_indexed
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3402
      start: 3397
    functionDepth: 0
    functionLinenumber: 3397
    functionLinenumberEnd: 3402
    functionName: GetSynchronizationState
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SynchronizationState
    signature: SynchronizationState GetSynchronizationState(bool init, bool blockfiles_indexed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3410,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/validation.cpp:3410,1
    - Dst: ChainstateManager::IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:3415,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:3421,1
    - Dst: GetSynchronizationState
      Src: /src/bitcoin-core/src/validation.cpp:3421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3404
    functionDepth: 2
    functionLinenumber: 3404
    functionLinenumberEnd: 3424
    functionName: ChainstateManager::NotifyHeaderTip
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetSynchronizationState
    - GetMutex
    - GetNotifications
    - ChainstateManager::IsInitialBlockDownload
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::NotifyHeaderTip()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:3427,1
    - Dst: CallbacksPending
      Src: /src/bitcoin-core/src/validation.cpp:3429,1
    - Dst: SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/validation.cpp:3430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3426
    functionDepth: 1
    functionLinenumber: 3426
    functionLinenumberEnd: 3432
    functionName: LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CallbacksPending
    - AssertLockNotHeld
    - SyncWithValidationInterfaceQueue
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(cs_main)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:3436,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:3442,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3448,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3452,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:3453,1
    - Dst: LimitValidationInterfaceQueue
      Src: /src/bitcoin-core/src/validation.cpp:3468,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3471,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3474,1
    - Dst: MempoolMutex
      Src: /src/bitcoin-core/src/validation.cpp:3474,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:3475,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3476,1
    - Dst: ConnectTrace::ConnectTrace
      Src: /src/bitcoin-core/src/validation.cpp:3481,1
    - Dst: Chainstate::FindMostWorkChain
      Src: /src/bitcoin-core/src/validation.cpp:3484,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3488,1
    - Dst: Chainstate::GetRole
      Src: /src/bitcoin-core/src/validation.cpp:3497,1
    - Dst: Chainstate::ActivateBestChainStep
      Src: /src/bitcoin-core/src/validation.cpp:3498,1
    - Dst: std::shared_ptr<const CBlock>::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:3498,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:3498,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3508,1
    - Dst: ConnectTrace::GetBlocksConnected
      Src: /src/bitcoin-core/src/validation.cpp:3510,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3511,1
    - Dst: m_options::signals::BlockConnected
      Src: /src/bitcoin-core/src/validation.cpp:3513,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3525,1
    - Dst: CBlockIndexWorkComparator
      Src: /src/bitcoin-core/src/validation.cpp:3525,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3525,1
    - Dst: FindFork
      Src: /src/bitcoin-core/src/validation.cpp:3528,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:3529,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:3538,1
    - Dst: m_options::signals::UpdatedBlockTip
      Src: /src/bitcoin-core/src/validation.cpp:3541,1
    - Dst: kernel::IsInterrupted
      Src: /src/bitcoin-core/src/validation.cpp:3544,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:3544,1
    - Dst: GetSynchronizationState
      Src: /src/bitcoin-core/src/validation.cpp:3545,1
    - Dst: GuessVerificationProgress
      Src: /src/bitcoin-core/src/validation.cpp:3547,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:3558,1
    - Dst: m_options::signals::ActiveTipChange
      Src: /src/bitcoin-core/src/validation.cpp:3559,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:3559,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:3559,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3567,1
    - Dst: MaybeRebalanceCaches
      Src: /src/bitcoin-core/src/validation.cpp:3568,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3571,1
    - Dst: snapshot_download_completed
      Src: /src/bitcoin-core/src/validation.cpp:3581,1
    - Dst: CheckBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:3593,1
    - Dst: Chainstate::FlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:3596,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 2
    argNames:
    - ' state'
    - pblock
    argTypes:
    - BlockValidationState
    - std::shared_ptr<const CBlock>
    assertStmts:
    - condition: (trace.pblock && trace.pindex)
      pos:
        line_end: 3510
        line_start: 3510
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 3601
      start: 3434
    functionDepth: 7
    functionLinenumber: 3434
    functionLinenumberEnd: 3601
    functionName: Chainstate::ActivateBestChain
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CBlockIndexWorkComparator
    - GetNotifications
    - ConnectTrace::ConnectTrace
    - Chainstate::GetRole
    - CheckBlockIndex
    - MaybeRebalanceCaches
    - FindFork
    - snapshot_download_completed
    - CBlockIndex*::GetBlockHash
    - m_options::signals::BlockConnected
    - GetSynchronizationState
    - Chainstate::FindMostWorkChain
    - GuessVerificationProgress
    - AssertLockNotHeld
    - WITH_LOCK
    - Assert
    - kernel::IsInterrupted
    - LimitValidationInterfaceQueue
    - Chainstate::FlushStateToDisk
    - assert
    - m_options::signals::ActiveTipChange
    - Tip
    - IsInitialBlockDownload
    - LogPrintf
    - LOCK
    - ConnectTrace::GetBlocksConnected
    - ActiveChainstate
    - MempoolMutex
    - Chainstate::ActivateBestChainStep
    - m_options::signals::UpdatedBlockTip
    - std::shared_ptr<const CBlock>::GetHash
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::ActivateBestChain(BlockValidationState& state, std::shared_ptr<const
      CBlock> pblock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:3605,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:3606,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3608,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3609,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3613,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3617,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validation.cpp:3618,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/validation.cpp:3620,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/validation.cpp:3625,1
    - Dst: CBlockIndex*::HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:3625,1
    - Dst: insert
      Src: /src/bitcoin-core/src/validation.cpp:3626,1
    - Dst: Chainstate::PruneBlockIndexCandidates
      Src: /src/bitcoin-core/src/validation.cpp:3627,1
    - Dst: Chainstate::ActivateBestChain
      Src: /src/bitcoin-core/src/validation.cpp:3631,1
    - Dst: std::shared_ptr<const CBlock>
      Src: /src/bitcoin-core/src/validation.cpp:3631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' state'
    - pindex
    argTypes:
    - BlockValidationState
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3603
    functionDepth: 8
    functionLinenumber: 3603
    functionLinenumberEnd: 3632
    functionName: Chainstate::PreciousBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - RandomMixin::min
    - erase
    - CBlockIndex*::HaveNumChainTxs
    - Chainstate::ActivateBestChain
    - AssertLockNotHeld
    - CBlockIndex*::IsValid
    - LOCK
    - Chainstate::PruneBlockIndexCandidates
    - std::shared_ptr<const CBlock>
    - insert
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::PreciousBlock(BlockValidationState& state, CBlockIndex*
      pindex)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:3636,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:3637,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3640,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3650,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3662,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/validation.cpp:3670,1
    - Dst: CBlockIndexWorkComparator
      Src: /src/bitcoin-core/src/validation.cpp:3671,1
    - Dst: std::multimap::insert
      Src: /src/bitcoin-core/src/validation.cpp:3673,1
    - Dst: LimitValidationInterfaceQueue
      Src: /src/bitcoin-core/src/validation.cpp:3683,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3685,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3688,1
    - Dst: MempoolMutex
      Src: /src/bitcoin-core/src/validation.cpp:3688,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/validation.cpp:3689,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3691,1
    - Dst: Chainstate::DisconnectTip
      Src: /src/bitcoin-core/src/validation.cpp:3696,1
    - Dst: Chainstate::MaybeUpdateMempoolForReorg
      Src: /src/bitcoin-core/src/validation.cpp:3702,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3704,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3704,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:3712,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validation.cpp:3713,1
    - Dst: insert
      Src: /src/bitcoin-core/src/validation.cpp:3714,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:3719,1
    - Dst: std::multimap::lower_bound
      Src: /src/bitcoin-core/src/validation.cpp:3726,1
    - Dst: m_best_header::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:3728,1
    - Dst: std::multimap::end
      Src: /src/bitcoin-core/src/validation.cpp:3734,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:3736,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:3740,1
    - Dst: std::multimap::erase
      Src: /src/bitcoin-core/src/validation.cpp:3743,1
    - Dst: CBlockIndexWorkComparator
      Src: /src/bitcoin-core/src/validation.cpp:3746,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/validation.cpp:3747,1
    - Dst: CBlockIndex*::HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:3748,1
    - Dst: insert
      Src: /src/bitcoin-core/src/validation.cpp:3749,1
    - Dst: CheckBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:3765,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3768,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/validation.cpp:3769,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:3777,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validation.cpp:3778,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/validation.cpp:3789,1
    - Dst: HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:3789,1
    - Dst: value_comp
      Src: /src/bitcoin-core/src/validation.cpp:3789,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3789,1
    - Dst: insert
      Src: /src/bitcoin-core/src/validation.cpp:3790,1
    - Dst: Chainstate::InvalidChainFound
      Src: /src/bitcoin-core/src/validation.cpp:3794,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:3806,1
    - Dst: GetSynchronizationState
      Src: /src/bitcoin-core/src/validation.cpp:3807,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:3807,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:3809,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/validation.cpp:3809,1
    - Dst: GuessVerificationProgress
      Src: /src/bitcoin-core/src/validation.cpp:3809,1
    - Dst: m_options::signals::ActiveTipChange
      Src: /src/bitcoin-core/src/validation.cpp:3814,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:3814,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3814,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:3814,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 2
    argNames:
    - ' state'
    - pindex
    argTypes:
    - BlockValidationState
    - CBlockIndex*
    assertStmts:
    - condition: (pindex)
      pos:
        line_end: 3639
        line_start: 3639
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (invalid_walk_tip->pprev == m_chain.Tip())
      pos:
        line_end: 3703
        line_start: 3703
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 3818
      start: 3634
    functionDepth: 4
    functionLinenumber: 3634
    functionLinenumberEnd: 3818
    functionName: Chainstate::InvalidateBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - std::multimap::lower_bound
    - CBlockIndexWorkComparator
    - Contains
    - GetNotifications
    - Chainstate::InvalidChainFound
    - Chainstate::DisconnectTip
    - std::multimap::end
    - CheckBlockIndex
    - Chainstate::MaybeUpdateMempoolForReorg
    - value_comp
    - std::multimap::insert
    - GetSynchronizationState
    - CBlockIndex*::HaveNumChainTxs
    - GuessVerificationProgress
    - HaveNumChainTxs
    - AssertLockNotHeld
    - IsValid
    - WITH_LOCK
    - Assert
    - LimitValidationInterfaceQueue
    - assert
    - m_options::signals::ActiveTipChange
    - std::multimap::erase
    - Tip
    - m_best_header::GetAncestor
    - GetMutex
    - m_dirty_blockindex::insert
    - erase
    - IsInitialBlockDownload
    - CBlockIndex*::IsValid
    - LOCK
    - CBlockIndex*::GetAncestor
    - MempoolMutex
    - insert
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::InvalidateBlock(BlockValidationState& state, CBlockIndex*
      pindex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3822,1
    - Dst: GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:3825,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:3827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - invalid_block
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3830
      start: 3820
    functionDepth: 1
    functionLinenumber: 3820
    functionLinenumberEnd: 3830
    functionName: Chainstate::SetBlockFailureFlags
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - m_dirty_blockindex::insert
    - AssertLockHeld
    - GetAncestor
    linkageType: ''
    returnType: void
    signature: void Chainstate::SetBlockFailureFlags(CBlockIndex* invalid_block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3833,1
    - Dst: GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:3839,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:3839,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:3841,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/validation.cpp:3842,1
    - Dst: HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:3842,1
    - Dst: value_comp
      Src: /src/bitcoin-core/src/validation.cpp:3842,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3842,1
    - Dst: insert
      Src: /src/bitcoin-core/src/validation.cpp:3843,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3851
      start: 3832
    functionDepth: 1
    functionLinenumber: 3832
    functionLinenumberEnd: 3851
    functionName: Chainstate::ResetBlockFailureFlags
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - m_dirty_blockindex::insert
    - value_comp
    - HaveNumChainTxs
    - IsValid
    - CBlockIndex*::GetAncestor
    - AssertLockHeld
    - insert
    - GetAncestor
    linkageType: ''
    returnType: void
    signature: void Chainstate::ResetBlockFailureFlags(CBlockIndex *pindex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3855,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3858,1
    - Dst: value_comp
      Src: /src/bitcoin-core/src/validation.cpp:3858,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:3858,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:3862,1
    - Dst: insert
      Src: /src/bitcoin-core/src/validation.cpp:3866,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:3871,1
    - Dst: GetSnapshotBaseBlock
      Src: /src/bitcoin-core/src/validation.cpp:3871,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:3872,1
    - Dst: insert
      Src: /src/bitcoin-core/src/validation.cpp:3873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3876
      start: 3853
    functionDepth: 1
    functionLinenumber: 3853
    functionLinenumberEnd: 3876
    functionName: Chainstate::TryAddBlockIndexCandidate
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - value_comp
    - GetSnapshotBaseBlock
    - ActiveChainstate
    - Assert
    - AssertLockHeld
    - CBlockIndex*::GetAncestor
    - insert
    linkageType: ''
    returnType: void
    signature: void Chainstate::TryAddBlockIndexCandidate(CBlockIndex* pindex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:3881,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:3882,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:3889,1
    - Dst: prev_tx_sum
      Src: /src/bitcoin-core/src/validation.cpp:3889,1
    - Dst: ChainstateManager::GetSnapshotBaseBlock
      Src: /src/bitcoin-core/src/validation.cpp:3890,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/validation.cpp:3891,1
    - Dst: prev_tx_sum
      Src: /src/bitcoin-core/src/validation.cpp:3892,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/validation.cpp:3892,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/validation.cpp:3899,1
    - Dst: CBlockIndex*::RaiseValidity
      Src: /src/bitcoin-core/src/validation.cpp:3902,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:3903,1
    - Dst: CBlockIndex*::pprev::HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:3905,1
    - Dst: std::deque::push_back
      Src: /src/bitcoin-core/src/validation.cpp:3908,1
    - Dst: std::deque::empty
      Src: /src/bitcoin-core/src/validation.cpp:3911,1
    - Dst: std::deque::front
      Src: /src/bitcoin-core/src/validation.cpp:3912,1
    - Dst: std::deque::pop_front
      Src: /src/bitcoin-core/src/validation.cpp:3913,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:3918,1
    - Dst: prev_tx_sum
      Src: /src/bitcoin-core/src/validation.cpp:3918,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/validation.cpp:3919,1
    - Dst: prev_tx_sum
      Src: /src/bitcoin-core/src/validation.cpp:3920,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/validation.cpp:3920,1
    - Dst: prev_tx_sum
      Src: /src/bitcoin-core/src/validation.cpp:3922,1
    - Dst: ChainstateManager::GetAll
      Src: /src/bitcoin-core/src/validation.cpp:3924,1
    - Dst: TryAddBlockIndexCandidate
      Src: /src/bitcoin-core/src/validation.cpp:3925,1
    - Dst: m_blocks_unlinked::equal_range
      Src: /src/bitcoin-core/src/validation.cpp:3927,1
    - Dst: std::deque::push_back
      Src: /src/bitcoin-core/src/validation.cpp:3930,1
    - Dst: m_blocks_unlinked::erase
      Src: /src/bitcoin-core/src/validation.cpp:3932,1
    - Dst: CBlockIndex*::pprev::IsValid
      Src: /src/bitcoin-core/src/validation.cpp:3936,1
    - Dst: m_blocks_unlinked::insert
      Src: /src/bitcoin-core/src/validation.cpp:3937,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/validation.cpp:3937,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - ' block'
    - pindexNew
    - ' pos'
    argTypes:
    - CBlock
    - CBlockIndex*
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3940
      start: 3879
    functionDepth: 1
    functionLinenumber: 3879
    functionLinenumberEnd: 3940
    functionName: ChainstateManager::ReceivedBlockTransactions
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - CBlockIndex*::RaiseValidity
    - m_blocks_unlinked::erase
    - vtx::size
    - FormatFullVersion
    - DeploymentActiveAt
    - CBlockIndex*::pprev::IsValid
    - std::deque::front
    - std::deque::push_back
    - prev_tx_sum
    - CBlockIndex*::pprev::HaveNumChainTxs
    - m_blocks_unlinked::insert
    - std::deque::empty
    - LogWarning
    - AssertLockHeld
    - std::deque::pop_front
    - Assume
    - TryAddBlockIndexCandidate
    - m_dirty_blockindex::insert
    - ChainstateManager::GetAll
    - ChainstateManager::GetSnapshotBaseBlock
    - m_blocks_unlinked::equal_range
    linkageType: ''
    returnType: void
    signature: void ChainstateManager::ReceivedBlockTransactions(const CBlock& block,
      CBlockIndex* pindexNew, const FlatFilePos& pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/validation.cpp:3945,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:3945,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:3946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' block'
    - ' state'
    - ' consensusParams'
    argTypes:
    - CBlockHeader
    - BlockValidationState
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3949
      start: 3942
    functionDepth: 1
    functionLinenumber: 3942
    functionLinenumberEnd: 3949
    functionName: CheckBlockHeader
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - GetHash
    - Invalid
    linkageType: ''
    returnType: bool
    signature: bool CheckBlockHeader(const CBlockHeader& block, BlockValidationState&
      state, const Consensus::Params& consensusParams, bool fCheckPOW = true)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/validation.cpp:3956,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:3958,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:3968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' block'
    - ' state'
    argTypes:
    - CBlock
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3976
      start: 3951
    functionDepth: 1
    functionLinenumber: 3951
    functionLinenumberEnd: 3976
    functionName: CheckMerkleRoot
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Invalid
    - BlockMerkleRoot
    linkageType: ''
    returnType: bool
    signature: bool CheckMerkleRoot(const CBlock& block, BlockValidationState& state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/validation.cpp:3989,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:3991,1
    - Dst: vtx::empty
      Src: /src/bitcoin-core/src/validation.cpp:3991,1
    - Dst: vin::empty
      Src: /src/bitcoin-core/src/validation.cpp:3991,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:3994,1
    - Dst: size
      Src: /src/bitcoin-core/src/validation.cpp:3994,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:3995,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:3998,1
    - Dst: BlockWitnessMerkleRoot
      Src: /src/bitcoin-core/src/validation.cpp:4004,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/validation.cpp:4006,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/validation.cpp:4007,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/validation.cpp:4007,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4008,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:4011,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/validation.cpp:4021,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4022,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:4025,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ' block'
    - expect_witness_commitment
    - ' state'
    argTypes:
    - CBlock
    - bool
    - BlockValidationState
    assertStmts:
    - condition: (!block.vtx.empty() && !block.vtx[0]->vin.empty())
      pos:
        line_end: 3990
        line_start: 3990
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 4030
      start: 3984
    functionDepth: 1
    functionLinenumber: 3984
    functionLinenumberEnd: 4030
    functionName: CheckWitnessMalleation
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessCommitmentIndex
    - vin::empty
    - vtx::empty
    - CHash256
    - uint256::begin
    - size
    - HasWitness
    - BlockWitnessMerkleRoot
    - memcmp
    - Invalid
    - strprintf
    - assert
    linkageType: ''
    returnType: bool
    signature: bool CheckWitnessMalleation(const CBlock& block, bool expect_witness_commitment,
      BlockValidationState& state)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CheckBlockHeader
      Src: /src/bitcoin-core/src/validation.cpp:4041,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/validation.cpp:4045,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4046,1
    - Dst: CheckMerkleRoot
      Src: /src/bitcoin-core/src/validation.cpp:4050,1
    - Dst: vtx::empty
      Src: /src/bitcoin-core/src/validation.cpp:4061,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:4061,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/validation.cpp:4061,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/validation.cpp:4061,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4062,1
    - Dst: vtx::empty
      Src: /src/bitcoin-core/src/validation.cpp:4065,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:4065,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4066,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:4067,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:4068,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4069,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/validation.cpp:4075,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:4078,1
    - Dst: TxValidationState::GetResult
      Src: /src/bitcoin-core/src/validation.cpp:4078,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4079,1
    - Dst: TxValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/validation.cpp:4079,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:4080,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:4080,1
    - Dst: TxValidationState::GetDebugMessage
      Src: /src/bitcoin-core/src/validation.cpp:4080,1
    - Dst: GetLegacySigOpCount
      Src: /src/bitcoin-core/src/validation.cpp:4088,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4091,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 5
    argNames:
    - ' block'
    - ' state'
    - ' consensusParams'
    - fCheckPOW
    - fCheckMerkleRoot
    argTypes:
    - CBlock
    - BlockValidationState
    - Consensus::Params
    - bool
    - bool
    assertStmts:
    - condition: (tx_state.GetResult() == TxValidationResult::TX_CONSENSUS)
      pos:
        line_end: 4077
        line_start: 4077
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 4097
      start: 4032
    functionDepth: 4
    functionLinenumber: 4032
    functionLinenumberEnd: 4097
    functionName: CheckBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - GetLegacySigOpCount
    - vtx::empty
    - CheckMerkleRoot
    - CheckSignetBlockSolution
    - TX_NO_WITNESS
    - GetSerializeSize
    - GetHash
    - vtx::size
    - CheckTransaction
    - TxValidationState::GetResult
    - TxValidationState::GetDebugMessage
    - IsCoinBase
    - TxValidationState::GetRejectReason
    - Invalid
    - strprintf
    - CheckBlockHeader
    - assert
    linkageType: ''
    returnType: bool
    signature: bool CheckBlock(const CBlock& block, BlockValidationState& state, const
      Consensus::Params& consensusParams, bool fCheckPOW, bool fCheckMerkleRoot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/validation.cpp:4101,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/validation.cpp:4103,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/validation.cpp:4103,1
    - Dst: scriptWitness::stack::resize
      Src: /src/bitcoin-core/src/validation.cpp:4105,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/validation.cpp:4107,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:4107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' block'
    - pindexPrev
    argTypes:
    - CBlock
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4099
    functionDepth: 1
    functionLinenumber: 4099
    functionLinenumberEnd: 4109
    functionName: ChainstateManager::UpdateUncommittedBlockStructures
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - GetWitnessCommitmentIndex
    - scriptWitness::stack::resize
    - MakeTransactionRef
    - std::move
    - HasWitness
    - DeploymentActiveAfter
    linkageType: ''
    returnType: void
    signature: void ChainstateManager::UpdateUncommittedBlockStructures(CBlock& block,
      const CBlockIndex* pindexPrev) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/validation.cpp:4114,1
    - Dst: BlockWitnessMerkleRoot
      Src: /src/bitcoin-core/src/validation.cpp:4117,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/validation.cpp:4118,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/validation.cpp:4119,1
    - Dst: CTxOut::scriptPubKey::resize
      Src: /src/bitcoin-core/src/validation.cpp:4121,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/validation.cpp:4128,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/validation.cpp:4128,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/validation.cpp:4129,1
    - Dst: CTxOut::scriptPubKey::begin
      Src: /src/bitcoin-core/src/validation.cpp:4129,1
    - Dst: CTxOut::scriptPubKey::end
      Src: /src/bitcoin-core/src/validation.cpp:4129,1
    - Dst: CMutableTransaction::vout::push_back
      Src: /src/bitcoin-core/src/validation.cpp:4131,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/validation.cpp:4132,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:4132,1
    - Dst: ChainstateManager::UpdateUncommittedBlockStructures
      Src: /src/bitcoin-core/src/validation.cpp:4134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' block'
    - pindexPrev
    argTypes:
    - CBlock
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4111
    functionDepth: 2
    functionLinenumber: 4111
    functionLinenumberEnd: 4136
    functionName: ChainstateManager::GenerateCoinbaseCommitment
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessCommitmentIndex
    - std::vector<unsigned char>
    - CTxOut::CTxOut
    - CMutableTransaction::vout::push_back
    - CTxOut::scriptPubKey::resize
    - CHash256
    - CTxOut::scriptPubKey::begin
    - CTxOut::scriptPubKey::end
    - MakeTransactionRef
    - uint256::begin
    - std::move
    - memcpy
    - BlockWitnessMerkleRoot
    - ChainstateManager::UpdateUncommittedBlockStructures
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ChainstateManager::GenerateCoinbaseCommitment(CBlock&
      block, const CBlockIndex* pindexPrev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/validation.cpp:4140,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/validation.cpp:4140,1
    - Dst: cend
      Src: /src/bitcoin-core/src/validation.cpp:4140,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/validation.cpp:4141,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:4141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' headers'
    - ' consensusParams'
    argTypes:
    - std::vector<CBlockHeader>
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4142
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4142
    functionName: HasValidProofOfWork
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - CheckProofOfWork
    - cend
    - GetHash
    - cbegin
    - std::all_of
    linkageType: ''
    returnType: bool
    signature: bool HasValidProofOfWork(const std::vector<CBlockHeader>& headers,
      const Consensus::Params& consensusParams)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckMerkleRoot
      Src: /src/bitcoin-core/src/validation.cpp:4147,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:4148,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4148,1
    - Dst: vtx::empty
      Src: /src/bitcoin-core/src/validation.cpp:4152,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:4152,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/validation.cpp:4159,1
    - Dst: vtx::begin
      Src: /src/bitcoin-core/src/validation.cpp:4159,1
    - Dst: vtx::end
      Src: /src/bitcoin-core/src/validation.cpp:4159,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/validation.cpp:4160,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/validation.cpp:4160,1
    - Dst: CheckWitnessMalleation
      Src: /src/bitcoin-core/src/validation.cpp:4167,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:4168,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' block'
    - check_witness_root
    argTypes:
    - CBlock
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4173
      start: 4144
    functionDepth: 2
    functionLinenumber: 4144
    functionLinenumberEnd: 4173
    functionName: IsBlockMutated
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - vtx::empty
    - CheckMerkleRoot
    - BlockValidationState::ToString
    - TX_NO_WITNESS
    - GetSerializeSize
    - LogDebug
    - std::any_of
    - IsCoinBase
    - vtx::end
    - vtx::begin
    - CheckWitnessMalleation
    linkageType: ''
    returnType: bool
    signature: bool IsBlockMutated(const CBlock& block, bool check_witness_root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/validation.cpp:4180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - headers
    argTypes:
    - std::span<const CBlockHeader>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4183
      start: 4175
    functionDepth: 2
    functionLinenumber: 4175
    functionLinenumberEnd: 4183
    functionName: CalculateClaimedHeadersWork
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - GetBlockProof
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 CalculateClaimedHeadersWork(std::span<const CBlockHeader>
      headers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4200,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:4201,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:4205,1
    - Dst: GetNextWorkRequired
      Src: /src/bitcoin-core/src/validation.cpp:4206,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4207,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:4210,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/validation.cpp:4210,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4211,1
    - Dst: DifficultyAdjustmentInterval
      Src: /src/bitcoin-core/src/validation.cpp:4218,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:4219,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:4219,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4220,1
    - Dst: Time
      Src: /src/bitcoin-core/src/validation.cpp:4226,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/validation.cpp:4226,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4227,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/validation.cpp:4231,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/validation.cpp:4232,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/validation.cpp:4233,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4234,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:4234,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:4235,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pindexPrev != nullptr)
      pos:
        line_end: 4200
        line_start: 4200
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 4239
      start: 4198
    functionDepth: 1
    functionLinenumber: 4198
    functionLinenumberEnd: 4239
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 12
    functionsReached:
    - GetNextWorkRequired
    - GetBlockTime
    - Time
    - DifficultyAdjustmentInterval
    - GetMedianTimePast
    - DeploymentActiveAfter
    - Invalid
    - AssertLockHeld
    - strprintf
    - NodeClock::now
    - assert
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/validation.cpp:4253,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:4254,1
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/validation.cpp:4259,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:4260,1
    - Dst: IsFinalTx
      Src: /src/bitcoin-core/src/validation.cpp:4264,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4265,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/validation.cpp:4270,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/validation.cpp:4272,1
    - Dst: scriptSig::size
      Src: /src/bitcoin-core/src/validation.cpp:4273,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/validation.cpp:4273,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/validation.cpp:4274,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/validation.cpp:4274,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/validation.cpp:4274,1
    - Dst: scriptSig::begin
      Src: /src/bitcoin-core/src/validation.cpp:4274,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4275,1
    - Dst: CheckWitnessMalleation
      Src: /src/bitcoin-core/src/validation.cpp:4287,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/validation.cpp:4287,1
    - Dst: GetBlockWeight
      Src: /src/bitcoin-core/src/validation.cpp:4297,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4298,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:4298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ' block'
    - ' state'
    - ' chainman'
    - pindexPrev
    argTypes:
    - CBlock
    - BlockValidationState
    - ChainstateManager
    - CBlockIndex*
    assertStmts:
    - condition: (pindexPrev != nullptr)
      pos:
        line_end: 4253
        line_start: 4253
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 4302
      start: 4247
    functionDepth: 2
    functionLinenumber: 4247
    functionLinenumberEnd: 4302
    functionName: ContextualCheckBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetBlockWeight
    - GetBlockTime
    - strprintf
    - IsFinalTx
    - CScript::size
    - CScript::end
    - scriptSig::begin
    - DeploymentActiveAfter
    - CScript::begin
    - Invalid
    - CScript
    - CBlockIndex*::GetMedianTimePast
    - assert
    - CheckWitnessMalleation
    - scriptSig::size
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool ContextualCheckBlock(const CBlock& block, BlockValidationState&
      state, const ChainstateManager& chainman, const CBlockIndex* pindexPrev)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4306,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:4309,1
    - Dst: m_block_index::find
      Src: /src/bitcoin-core/src/validation.cpp:4310,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:4311,1
    - Dst: m_block_index::end
      Src: /src/bitcoin-core/src/validation.cpp:4312,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:4318,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4318,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4319,1
    - Dst: CheckBlockHeader
      Src: /src/bitcoin-core/src/validation.cpp:4324,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:4324,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:4325,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4325,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:4325,1
    - Dst: m_block_index::find
      Src: /src/bitcoin-core/src/validation.cpp:4331,1
    - Dst: m_block_index::end
      Src: /src/bitcoin-core/src/validation.cpp:4332,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:4333,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4333,1
    - Dst: hashPrevBlock::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4333,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4334,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:4338,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4338,1
    - Dst: hashPrevBlock::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4338,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4339,1
    - Dst: ContextualCheckBlockHeader
      Src: /src/bitcoin-core/src/validation.cpp:4341,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:4342,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4342,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:4342,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:4347,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4347,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4348,1
    - Dst: AddToBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:4350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - ' block'
    - ' state'
    - ppindex
    - min_pow_checked
    argTypes:
    - CBlockHeader
    - BlockValidationState
    - CBlockIndex**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4356
      start: 4304
    functionDepth: 2
    functionLinenumber: 4304
    functionLinenumberEnd: 4356
    functionName: ChainstateManager::AcceptBlockHeader
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - m_block_index::find
    - ToString
    - ContextualCheckBlockHeader
    - hashPrevBlock::ToString
    - LogDebug
    - m_block_index::end
    - GetHash
    - uint256::ToString
    - AddToBlockIndex
    - AssertLockHeld
    - Invalid
    - CheckBlockHeader
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::AcceptBlockHeader(const CBlockHeader& block,
      BlockValidationState& state, CBlockIndex** ppindex, bool min_pow_checked)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:4361,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:4363,1
    - Dst: ChainstateManager::AcceptBlockHeader
      Src: /src/bitcoin-core/src/validation.cpp:4366,1
    - Dst: ChainstateManager::CheckBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:4367,1
    - Dst: ChainstateManager::NotifyHeaderTip
      Src: /src/bitcoin-core/src/validation.cpp:4377,1
    - Dst: ChainstateManager::IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:4378,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/validation.cpp:4380,1
    - Dst: Time
      Src: /src/bitcoin-core/src/validation.cpp:4380,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:4380,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/validation.cpp:4381,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - headers
    - min_pow_checked
    - ' state'
    - ppindex
    argTypes:
    - std::span<const CBlockHeader>
    - bool
    - BlockValidationState
    - CBlockIndex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4387
      start: 4359
    functionDepth: 3
    functionLinenumber: 4359
    functionLinenumberEnd: 4387
    functionName: ChainstateManager::ProcessNewBlockHeaders
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Time
    - ChainstateManager::NotifyHeaderTip
    - ChainstateManager::CheckBlockIndex
    - ChainstateManager::AcceptBlockHeader
    - AssertLockNotHeld
    - ChainstateManager::IsInitialBlockDownload
    - LOCK
    - LogInfo
    - NodeClock::now
    - GetConsensus
    - std::max<int64_t>
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::ProcessNewBlockHeaders(std::span<const CBlockHeader>
      headers, bool min_pow_checked, BlockValidationState& state, const CBlockIndex**
      ppindex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:4391,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/validation.cpp:4391,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:4393,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/validation.cpp:4393,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/validation.cpp:4397,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:4397,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:4400,1
    - Dst: ChainstateManager::IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:4404,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:4405,1
    - Dst: GetSynchronizationState
      Src: /src/bitcoin-core/src/validation.cpp:4405,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/validation.cpp:4407,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:4407,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/validation.cpp:4408,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' work'
    - height
    - timestamp
    argTypes:
    - arith_uint256
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4412
      start: 4389
    functionDepth: 2
    functionLinenumber: 4389
    functionLinenumberEnd: 4412
    functionName: ChainstateManager::ReportHeadersPresync
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - GetSynchronizationState
    - GetMutex
    - AssertLockNotHeld
    - GetNotifications
    - ChainstateManager::IsInitialBlockDownload
    - LOCK
    - LogInfo
    - UintToArith256
    - NodeClock::now
    - GetConsensus
    - std::max<int64_t>
    linkageType: ''
    returnType: void
    signature: void ChainstateManager::ReportHeadersPresync(const arith_uint256& work,
      int64_t height, int64_t timestamp)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4420,1
    - Dst: ChainstateManager::AcceptBlockHeader
      Src: /src/bitcoin-core/src/validation.cpp:4425,1
    - Dst: ChainstateManager::CheckBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:4426,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/validation.cpp:4436,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/validation.cpp:4436,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/validation.cpp:4442,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/validation.cpp:4462,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/validation.cpp:4465,1
    - Dst: CheckBlock
      Src: /src/bitcoin-core/src/validation.cpp:4467,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:4467,1
    - Dst: ContextualCheckBlock
      Src: /src/bitcoin-core/src/validation.cpp:4468,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:4469,1
    - Dst: IsInvalid
      Src: /src/bitcoin-core/src/validation.cpp:4469,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:4470,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4472,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:4472,1
    - Dst: ChainstateManager::IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:4478,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/validation.cpp:4478,1
    - Dst: signals::NewPoWValidBlock
      Src: /src/bitcoin-core/src/validation.cpp:4479,1
    - Dst: UpdateBlockInfo
      Src: /src/bitcoin-core/src/validation.cpp:4488,1
    - Dst: WriteBlock
      Src: /src/bitcoin-core/src/validation.cpp:4490,1
    - Dst: FlatFilePos::IsNull
      Src: /src/bitcoin-core/src/validation.cpp:4491,1
    - Dst: Error
      Src: /src/bitcoin-core/src/validation.cpp:4492,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:4492,1
    - Dst: ChainstateManager::ReceivedBlockTransactions
      Src: /src/bitcoin-core/src/validation.cpp:4496,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/validation.cpp:4498,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:4498,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:4498,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:4498,1
    - Dst: what
      Src: /src/bitcoin-core/src/validation.cpp:4498,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:4508,1
    - Dst: ChainstateManager::CheckBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:4510,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 7
    argNames:
    - ' pblock'
    - ' state'
    - ppindex
    - fRequested
    - dbp
    - fNewBlock
    - min_pow_checked
    argTypes:
    - std::shared_ptr<const CBlock>
    - BlockValidationState
    - CBlockIndex**
    - bool
    - FlatFilePos*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4513
      start: 4415
    functionDepth: 5
    functionLinenumber: 4415
    functionLinenumberEnd: 4513
    functionName: ChainstateManager::AcceptBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - FatalError
    - GetNotifications
    - what
    - ToString
    - ChainstateManager::ReceivedBlockTransactions
    - GetParams
    - WriteBlock
    - IsInvalid
    - ChainstateManager::IsInitialBlockDownload
    - UpdateBlockInfo
    - AssertLockHeld
    - FlatFilePos::IsNull
    - ContextualCheckBlock
    - Assume
    - LogError
    - MinimumChainWork
    - ChainstateManager::AcceptBlockHeader
    - signals::NewPoWValidBlock
    - strprintf
    - Error
    - _
    - ChainstateManager::CheckBlockIndex
    - ActiveHeight
    - CheckBlock
    - ActiveChainstate
    - ActiveTip
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::AcceptBlock(const std::shared_ptr<const CBlock>&
      pblock, BlockValidationState& state, CBlockIndex** ppindex, bool fRequested,
      const FlatFilePos* dbp, bool* fNewBlock, bool min_pow_checked)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validation.cpp:4517,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:4526,1
    - Dst: CheckBlock
      Src: /src/bitcoin-core/src/validation.cpp:4533,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:4533,1
    - Dst: ChainstateManager::AcceptBlock
      Src: /src/bitcoin-core/src/validation.cpp:4536,1
    - Dst: signals::BlockChecked
      Src: /src/bitcoin-core/src/validation.cpp:4540,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4542,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4542,1
    - Dst: ChainstateManager::NotifyHeaderTip
      Src: /src/bitcoin-core/src/validation.cpp:4547,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:4550,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4551,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4551,1
    - Dst: Chainstate*::ActivateBestChain
      Src: /src/bitcoin-core/src/validation.cpp:4557,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4558,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - ' block'
    - force_processing
    - min_pow_checked
    - new_block
    argTypes:
    - std::shared_ptr<const CBlock>
    - bool
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4563
      start: 4515
    functionDepth: 6
    functionLinenumber: 4515
    functionLinenumberEnd: 4563
    functionName: ChainstateManager::ProcessNewBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - ChainstateManager::NotifyHeaderTip
    - BlockValidationState::ToString
    - LogError
    - Chainstate*::ActivateBestChain
    - CheckBlock
    - AssertLockNotHeld
    - ChainstateManager::AcceptBlock
    - LOCK
    - ActiveChainstate
    - signals::BlockChecked
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::ProcessNewBlock(const std::shared_ptr<const
      CBlock>& block, bool force_processing, bool min_pow_checked, bool* new_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4567,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:4568,1
    - Dst: GetMempool
      Src: /src/bitcoin-core/src/validation.cpp:4569,1
    - Dst: TxValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4571,1
    - Dst: Failure
      Src: /src/bitcoin-core/src/validation.cpp:4572,1
    - Dst: AcceptToMemoryPool
      Src: /src/bitcoin-core/src/validation.cpp:4574,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/validation.cpp:4574,1
    - Dst: GetMempool
      Src: /src/bitcoin-core/src/validation.cpp:4575,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:4575,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:4575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' tx'
    - test_accept
    argTypes:
    - CTransactionRef
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4577
      start: 4565
    functionDepth: 2
    functionLinenumber: 4565
    functionLinenumberEnd: 4577
    functionName: ChainstateManager::ProcessTransaction
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - TxValidationState::Invalid
    - GetTime
    - CoinsTip
    - GetMempool
    - AcceptToMemoryPool
    - ActiveChainstate
    - AssertLockHeld
    - m_chain::Height
    - Failure
    linkageType: ''
    returnType: MempoolAcceptResult
    signature: MempoolAcceptResult ChainstateManager::ProcessTransaction(const CTransactionRef&
      tx, bool test_accept)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4589,1
    - Dst: m_chainman::GetMutex
      Src: /src/bitcoin-core/src/validation.cpp:4589,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:4592,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:4592,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:4594,1
    - Dst: BlockValidationState::Invalid
      Src: /src/bitcoin-core/src/validation.cpp:4595,1
    - Dst: CheckBlock
      Src: /src/bitcoin-core/src/validation.cpp:4600,1
    - Dst: m_chainman::GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:4600,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/validation.cpp:4603,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/validation.cpp:4603,1
    - Dst: ContextualCheckBlockHeader
      Src: /src/bitcoin-core/src/validation.cpp:4622,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/validation.cpp:4623,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/validation.cpp:4623,1
    - Dst: ContextualCheckBlock
      Src: /src/bitcoin-core/src/validation.cpp:4627,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/validation.cpp:4628,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/validation.cpp:4628,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validation.cpp:4635,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:4639,1
    - Dst: ConnectBlock
      Src: /src/bitcoin-core/src/validation.cpp:4642,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/validation.cpp:4643,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/validation.cpp:4643,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/validation.cpp:4648,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/validation.cpp:4648,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - ' chainstate'
    - ' block'
    - check_pow
    - check_merkle_root
    argTypes:
    - Chainstate
    - CBlock
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4651
      start: 4580
    functionDepth: 5
    functionLinenumber: 4580
    functionLinenumberEnd: 4651
    functionName: TestBlockValidity
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - BlockValidationState::IsValid
    - m_chainman::GetConsensus
    - CoinsTip
    - ConnectBlock
    - ContextualCheckBlockHeader
    - CheckBlock
    - GetHash
    - NONFATAL_UNREACHABLE
    - Assert
    - AssertLockHeld
    - BlockValidationState::Invalid
    - m_chainman::GetMutex
    - m_chain::Tip
    - ContextualCheckBlock
    linkageType: ''
    returnType: BlockValidationState
    signature: "BlockValidationState TestBlockValidity(\n    Chainstate& chainstate,\n
      \   const CBlock& block,\n    const bool check_pow,\n    const bool check_merkle_root)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:4657,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:4659,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' active_chainstate'
    - nManualPruneHeight
    argTypes:
    - Chainstate
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4661
      start: 4654
    functionDepth: 1
    functionLinenumber: 4654
    functionLinenumberEnd: 4661
    functionName: PruneBlockFilesManual
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - FlushStateToDisk
    - BlockValidationState::ToString
    linkageType: ''
    returnType: void
    signature: void PruneBlockFilesManual(Chainstate& active_chainstate, int nManualPruneHeight)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4665,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:4666,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:4667,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:4667,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:4668,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4670,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:4670,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:4675,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:4675,1
    - Dst: SetTip
      Src: /src/bitcoin-core/src/validation.cpp:4679,1
    - Dst: Chainstate::PruneBlockIndexCandidates
      Src: /src/bitcoin-core/src/validation.cpp:4680,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:4682,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4683,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4684,1
    - Dst: Height
      Src: /src/bitcoin-core/src/validation.cpp:4685,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/validation.cpp:4686,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:4686,1
    - Dst: GuessVerificationProgress
      Src: /src/bitcoin-core/src/validation.cpp:4687,1
    - Dst: Chainstate::GetRole
      Src: /src/bitcoin-core/src/validation.cpp:4690,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:4692,1
    - Dst: GetSynchronizationState
      Src: /src/bitcoin-core/src/validation.cpp:4693,1
    - Dst: GuessVerificationProgress
      Src: /src/bitcoin-core/src/validation.cpp:4695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!coins_cache.GetBestBlock().IsNull())
      pos:
        line_end: 4666
        line_start: 4666
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 4699
      start: 4663
    functionDepth: 2
    functionLinenumber: 4663
    functionLinenumberEnd: 4699
    functionName: Chainstate::LoadChainTip
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - GetSynchronizationState
    - CoinsTip
    - SetTip
    - Height
    - GuessVerificationProgress
    - GetBestBlock
    - GetNotifications
    - LogInfo
    - LookupBlockIndex
    - FormatISO8601DateTime
    - Chainstate::PruneBlockIndexCandidates
    - AssertLockHeld
    - CBlockIndex*::GetBlockHash
    - CBlockIndex*::GetBlockTime
    - assert
    - Chainstate::GetRole
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::LoadChainTip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: progress
      Src: /src/bitcoin-core/src/validation.cpp:4704,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:4704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' notifications'
    argTypes:
    - Notifications
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4705
      start: 4701
    functionDepth: 1
    functionLinenumber: 4701
    functionLinenumberEnd: 4705
    functionName: CVerifyDB::CVerifyDB
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - progress
    - _
    linkageType: ''
    returnType: void
    signature: void CVerifyDB::CVerifyDB(Notifications& notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: progress
      Src: /src/bitcoin-core/src/validation.cpp:4709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4710
      start: 4707
    functionDepth: 0
    functionLinenumber: 4707
    functionLinenumberEnd: 4710
    functionName: CVerifyDB::~CVerifyDB()
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - progress
    linkageType: ''
    returnType: void
    signature: void CVerifyDB::~CVerifyDB()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4718,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:4720,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:4720,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:4725,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:4726,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/validation.cpp:4728,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/validation.cpp:4728,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4729,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4738,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:4742,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/validation.cpp:4743,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/validation.cpp:4743,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:4743,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4746,1
    - Dst: progress
      Src: /src/bitcoin-core/src/validation.cpp:4749,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:4749,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:4750,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/validation.cpp:4753,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4756,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/validation.cpp:4760,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/validation.cpp:4762,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:4763,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4763,1
    - Dst: CheckBlock
      Src: /src/bitcoin-core/src/validation.cpp:4767,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:4768,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4769,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4769,1
    - Dst: CBlockIndex*::GetUndoPos
      Src: /src/bitcoin-core/src/validation.cpp:4775,1
    - Dst: m_blockman::ReadBlockUndo
      Src: /src/bitcoin-core/src/validation.cpp:4776,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:4777,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4777,1
    - Dst: CCoinsViewCache::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/validation.cpp:4783,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:4783,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:4787,1
    - Dst: CCoinsViewCache::GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:4787,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4787,1
    - Dst: DisconnectBlock
      Src: /src/bitcoin-core/src/validation.cpp:4788,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:4790,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4790,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/validation.cpp:4797,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:4806,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:4806,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:4810,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:4814,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:4818,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/validation.cpp:4819,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/validation.cpp:4819,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:4819,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4822,1
    - Dst: progress
      Src: /src/bitcoin-core/src/validation.cpp:4825,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:4825,1
    - Dst: m_chain::Next
      Src: /src/bitcoin-core/src/validation.cpp:4826,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/validation.cpp:4827,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/validation.cpp:4828,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:4829,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4829,1
    - Dst: ConnectBlock
      Src: /src/bitcoin-core/src/validation.cpp:4832,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:4833,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4833,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:4833,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4840,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 96
    argCount: 5
    argNames:
    - ' chainstate'
    - ' consensus_params'
    - ' coinsview'
    - nCheckLevel
    - nCheckDepth
    argTypes:
    - Chainstate
    - Consensus::Params
    - CCoinsView
    - int
    - int
    assertStmts:
    - condition: (coins.GetBestBlock() == pindex->GetBlockHash())
      pos:
        line_end: 4786
        line_start: 4786
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 4849
      start: 4712
    functionDepth: 5
    functionLinenumber: 4712
    functionLinenumberEnd: 4849
    functionName: CVerifyDB::VerifyDB
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - progress
    - CoinsTip
    - ConnectBlock
    - LogInfo
    - CBlock::CBlock
    - m_blockman::ReadBlockUndo
    - std::min
    - CBlockIndex*::GetUndoPos
    - AssertLockHeld
    - m_chain::Height
    - CBlockIndex*::GetBlockHash
    - CBlock::vtx::size
    - m_chain::Tip
    - BlockValidationState::ToString
    - assert
    - _
    - CCoinsViewCache::GetBestBlock
    - CheckBlock
    - CCoinsViewCache::DynamicMemoryUsage
    - std::max
    - LogPrintf
    - m_chain::Next
    - m_blockman::ReadBlock
    - DisconnectBlock
    - m_blockman::IsPruneMode
    linkageType: ''
    returnType: VerifyDBResult
    signature: "VerifyDBResult CVerifyDB::VerifyDB(\n    Chainstate& chainstate,\n
      \   const Consensus::Params& consensus_params,\n    CCoinsView& coinsview,\n
      \   int nCheckLevel, int nCheckDepth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4854,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/validation.cpp:4856,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/validation.cpp:4857,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4858,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4858,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/validation.cpp:4863,1
    - Dst: SpendCoin
      Src: /src/bitcoin-core/src/validation.cpp:4865,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/validation.cpp:4869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pindex
    - ' inputs'
    argTypes:
    - CBlockIndex*
    - CCoinsViewCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4872
      start: 4852
    functionDepth: 1
    functionLinenumber: 4852
    functionLinenumberEnd: 4872
    functionName: Chainstate::RollforwardBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - ReadBlock
    - LogError
    - SpendCoin
    - AddCoins
    - CBlock::CBlock
    - IsCoinBase
    - CBlockIndex*::GetBlockHash
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::RollforwardBlock(const CBlockIndex* pindex, CCoinsViewCache&
      inputs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:4876,1
    - Dst: Chainstate::CoinsDB
      Src: /src/bitcoin-core/src/validation.cpp:4878,1
    - Dst: GetHeadBlocks
      Src: /src/bitcoin-core/src/validation.cpp:4881,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/validation.cpp:4882,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/validation.cpp:4883,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4884,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:4888,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:4888,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4889,1
    - Dst: m_block_index::count
      Src: /src/bitcoin-core/src/validation.cpp:4895,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4896,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/validation.cpp:4901,1
    - Dst: m_block_index::count
      Src: /src/bitcoin-core/src/validation.cpp:4902,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4903,1
    - Dst: LastCommonAncestor
      Src: /src/bitcoin-core/src/validation.cpp:4907,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:4908,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/validation.cpp:4914,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/validation.cpp:4915,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4916,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4916,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4919,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4919,1
    - Dst: Chainstate::DisconnectBlock
      Src: /src/bitcoin-core/src/validation.cpp:4920,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:4922,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4922,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:4936,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:4936,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:4938,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4938,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:4939,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:4939,1
    - Dst: Chainstate::RollforwardBlock
      Src: /src/bitcoin-core/src/validation.cpp:4940,1
    - Dst: CCoinsViewCache::SetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:4943,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:4943,1
    - Dst: CCoinsViewCache::Flush
      Src: /src/bitcoin-core/src/validation.cpp:4944,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:4945,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pindexFork != nullptr)
      pos:
        line_end: 4907
        line_start: 4907
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 4947
      start: 4874
    functionDepth: 3
    functionLinenumber: 4874
    functionLinenumberEnd: 4947
    functionName: Chainstate::ReplayBlocks
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetNotifications
    - LastCommonAncestor
    - GetHeadBlocks
    - LogInfo
    - CBlock::CBlock
    - ReadBlock
    - Chainstate::RollforwardBlock
    - CBlockIndex*::GetBlockHash
    - Chainstate::DisconnectBlock
    - std::vector::empty
    - std::vector::size
    - LogError
    - CCoinsViewCache::SetBestBlock
    - Assert
    - Chainstate::CoinsDB
    - IsNull
    - assert
    - m_block_index::count
    - _
    - LOCK
    - CCoinsViewCache::Flush
    - CBlockIndex*::GetAncestor
    - GetBlockHash
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::ReplayBlocks()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4951,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:4954,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/validation.cpp:4956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4965
      start: 4949
    functionDepth: 1
    functionLinenumber: 4949
    functionLinenumberEnd: 4965
    functionName: Chainstate::NeedsRedownload
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - AssertLockHeld
    - DeploymentActiveAt
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::NeedsRedownload() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4969,1
    - Dst: clear
      Src: /src/bitcoin-core/src/validation.cpp:4970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4971
      start: 4967
    functionDepth: 1
    functionLinenumber: 4967
    functionLinenumberEnd: 4971
    functionName: Chainstate::ClearBlockIndexCandidates
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - clear
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void Chainstate::ClearBlockIndexCandidates()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:4975,1
    - Dst: LoadBlockIndexDB
      Src: /src/bitcoin-core/src/validation.cpp:4978,1
    - Dst: ChainstateManager::SnapshotBlockhash
      Src: /src/bitcoin-core/src/validation.cpp:4978,1
    - Dst: ScanAndUnlinkAlreadyPrunedFiles
      Src: /src/bitcoin-core/src/validation.cpp:4981,1
    - Dst: GetAllBlockIndices
      Src: /src/bitcoin-core/src/validation.cpp:4983,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/validation.cpp:4984,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/validation.cpp:4984,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/validation.cpp:4984,1
    - Dst: CBlockIndexHeightOnlyComparator
      Src: /src/bitcoin-core/src/validation.cpp:4985,1
    - Dst: ChainstateManager::GetSnapshotBaseBlock
      Src: /src/bitcoin-core/src/validation.cpp:4994,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/validation.cpp:4995,1
    - Dst: HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:4996,1
    - Dst: ChainstateManager::GetAll
      Src: /src/bitcoin-core/src/validation.cpp:4998,1
    - Dst: TryAddBlockIndexCandidate
      Src: /src/bitcoin-core/src/validation.cpp:4999,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/validation.cpp:5005,1
    - Dst: CBlockIndexWorkComparator
      Src: /src/bitcoin-core/src/validation.cpp:5005,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5010
      start: 4973
    functionDepth: 1
    functionLinenumber: 4973
    functionLinenumberEnd: 5010
    functionName: ChainstateManager::LoadBlockIndex
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetAllBlockIndices
    - std::vector::end
    - ScanAndUnlinkAlreadyPrunedFiles
    - CBlockIndexWorkComparator
    - HaveNumChainTxs
    - IsValid
    - ChainstateManager::GetAll
    - std::vector::begin
    - TryAddBlockIndexCandidate
    - ChainstateManager::GetSnapshotBaseBlock
    - LoadBlockIndexDB
    - AssertLockHeld
    - CBlockIndexHeightOnlyComparator
    - std::sort
    - ChainstateManager::SnapshotBlockhash
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::LoadBlockIndex()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5014,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/validation.cpp:5016,1
    - Dst: m_block_index::count
      Src: /src/bitcoin-core/src/validation.cpp:5022,1
    - Dst: GenesisBlock
      Src: /src/bitcoin-core/src/validation.cpp:5022,1
    - Dst: GenesisBlock
      Src: /src/bitcoin-core/src/validation.cpp:5026,1
    - Dst: WriteBlock
      Src: /src/bitcoin-core/src/validation.cpp:5027,1
    - Dst: FlatFilePos::IsNull
      Src: /src/bitcoin-core/src/validation.cpp:5028,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:5029,1
    - Dst: AddToBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:5032,1
    - Dst: ReceivedBlockTransactions
      Src: /src/bitcoin-core/src/validation.cpp:5033,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:5035,1
    - Dst: what
      Src: /src/bitcoin-core/src/validation.cpp:5035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5040
      start: 5012
    functionDepth: 1
    functionLinenumber: 5012
    functionLinenumberEnd: 5040
    functionName: Chainstate::LoadGenesisBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - m_block_index::count
    - GetParams
    - WriteBlock
    - LogError
    - ReceivedBlockTransactions
    - GenesisBlock
    - LOCK
    - AddToBlockIndex
    - FlatFilePos::IsNull
    - what
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::LoadGenesisBlock()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5048,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:5050,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/validation.cpp:5051,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/validation.cpp:5058,1
    - Dst: BufferedFile::eof
      Src: /src/bitcoin-core/src/validation.cpp:5059,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/validation.cpp:5062,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/validation.cpp:5064,1
    - Dst: BufferedFile::FindByte
      Src: /src/bitcoin-core/src/validation.cpp:5069,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/validation.cpp:5069,1
    - Dst: MessageStart
      Src: /src/bitcoin-core/src/validation.cpp:5069,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/validation.cpp:5070,1
    - Dst: MessageStart
      Src: /src/bitcoin-core/src/validation.cpp:5072,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/validation.cpp:5086,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/validation.cpp:5089,1
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/validation.cpp:5090,1
    - Dst: CBlockHeader::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:5092,1
    - Dst: BufferedFile::SkipTo
      Src: /src/bitcoin-core/src/validation.cpp:5096,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5101,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:5103,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:5103,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:5104,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5104,1
    - Dst: CBlockHeader::hashPrevBlock::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5105,1
    - Dst: std::multimap<uint256, FlatFilePos>*::emplace
      Src: /src/bitcoin-core/src/validation.cpp:5107,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:5113,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/validation.cpp:5116,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/validation.cpp:5117,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/validation.cpp:5118,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/validation.cpp:5119,1
    - Dst: ChainstateManager::AcceptBlock
      Src: /src/bitcoin-core/src/validation.cpp:5122,1
    - Dst: BlockValidationState::IsError
      Src: /src/bitcoin-core/src/validation.cpp:5125,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:5128,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:5129,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5129,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:5140,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5140,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/validation.cpp:5140,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:5142,1
    - Dst: IsPruneMode
      Src: /src/bitcoin-core/src/validation.cpp:5147,1
    - Dst: ChainstateManager::GetAll
      Src: /src/bitcoin-core/src/validation.cpp:5156,1
    - Dst: ActivateBestChain
      Src: /src/bitcoin-core/src/validation.cpp:5158,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:5159,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5159,1
    - Dst: ChainstateManager::NotifyHeaderTip
      Src: /src/bitcoin-core/src/validation.cpp:5169,1
    - Dst: std::deque::push_back
      Src: /src/bitcoin-core/src/validation.cpp:5175,1
    - Dst: std::deque::empty
      Src: /src/bitcoin-core/src/validation.cpp:5176,1
    - Dst: std::deque::front
      Src: /src/bitcoin-core/src/validation.cpp:5177,1
    - Dst: std::deque::pop_front
      Src: /src/bitcoin-core/src/validation.cpp:5178,1
    - Dst: std::multimap<uint256, FlatFilePos>*::equal_range
      Src: /src/bitcoin-core/src/validation.cpp:5179,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/validation.cpp:5182,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/validation.cpp:5183,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/validation.cpp:5184,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:5185,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:5185,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5185,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5186,1
    - Dst: ChainstateManager::AcceptBlock
      Src: /src/bitcoin-core/src/validation.cpp:5188,1
    - Dst: std::deque::push_back
      Src: /src/bitcoin-core/src/validation.cpp:5190,1
    - Dst: std::multimap<uint256, FlatFilePos>*::erase
      Src: /src/bitcoin-core/src/validation.cpp:5194,1
    - Dst: ChainstateManager::NotifyHeaderTip
      Src: /src/bitcoin-core/src/validation.cpp:5195,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:5210,1
    - Dst: what
      Src: /src/bitcoin-core/src/validation.cpp:5210,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:5214,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5214,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:5214,1
    - Dst: what
      Src: /src/bitcoin-core/src/validation.cpp:5214,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:5216,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:5216,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/validation.cpp:5216,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 97
    argCount: 3
    argNames:
    - ' file_in'
    - dbp
    - blocks_with_unknown_parent
    argTypes:
    - AutoFile
    - FlatFilePos*
    - std::multimap<uint256, FlatFilePos>*
    assertStmts:
    - condition: (!dbp == !blocks_with_unknown_parent)
      pos:
        line_end: 5047
        line_start: 5047
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 5217
      start: 5042
    functionDepth: 6
    functionLinenumber: 5042
    functionLinenumberEnd: 5217
    functionName: ChainstateManager::LoadExternalBlockFile
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - ChainstateManager::NotifyHeaderTip
    - GetNotifications
    - LogInfo
    - std::byte
    - BlockValidationState::IsError
    - std::deque::front
    - what
    - std::deque::push_back
    - std::shared_ptr::GetHash
    - MessageStart
    - ReadBlock
    - ToString
    - GetParams
    - std::deque::empty
    - CBlockHeader::GetHash
    - ChainstateManager::AcceptBlock
    - CBlockHeader::CBlockHeader
    - std::multimap<uint256, FlatFilePos>*::emplace
    - std::deque::pop_front
    - CBlockHeader::hashPrevBlock::ToString
    - BufferedFile::SkipTo
    - std::multimap<uint256, FlatFilePos>*::equal_range
    - BlockValidationState::ToString
    - BufferedFile::eof
    - std::make_shared<CBlock>
    - BufferedFile::SetPos
    - LogDebug
    - uint256::ToString
    - WITH_LOCK
    - IsPruneMode
    - BufferedFile::SetLimit
    - BufferedFile::GetPos
    - strprintf
    - BufferedFile::FindByte
    - assert
    - std::multimap<uint256, FlatFilePos>*::erase
    - MockableSteadyClock::now
    - _
    - Ticks
    - ActiveHeight
    - ChainstateManager::GetAll
    - LOCK
    - LookupBlockIndex
    - ActiveChainstate
    - ActivateBestChain
    - TX_WITH_WITNESS
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: "void ChainstateManager::LoadExternalBlockFile(\n    AutoFile& file_in,\n
      \   FlatFilePos* dbp,\n    std::multimap<uint256, FlatFilePos>* blocks_with_unknown_parent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:5222,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/validation.cpp:5223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5225
      start: 5219
    functionDepth: 1
    functionLinenumber: 5219
    functionLinenumberEnd: 5225
    functionName: ChainstateManager::ShouldCheckBlockIndex
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - FastRandomContext
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::ShouldCheckBlockIndex() const
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: ChainstateManager::ShouldCheckBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:5229,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5233,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/validation.cpp:5238,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5239,1
    - Dst: m_block_index::size
      Src: /src/bitcoin-core/src/validation.cpp:5239,1
    - Dst: CChain::CChain
      Src: /src/bitcoin-core/src/validation.cpp:5248,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5250,1
    - Dst: CChain::SetTip
      Src: /src/bitcoin-core/src/validation.cpp:5251,1
    - Dst: CChain::Contains
      Src: /src/bitcoin-core/src/validation.cpp:5256,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5258,1
    - Dst: std::multimap::emplace
      Src: /src/bitcoin-core/src/validation.cpp:5259,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5262,1
    - Dst: std::multimap::size
      Src: /src/bitcoin-core/src/validation.cpp:5262,1
    - Dst: CChain::Height
      Src: /src/bitcoin-core/src/validation.cpp:5262,1
    - Dst: m_block_index::size
      Src: /src/bitcoin-core/src/validation.cpp:5262,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5265,1
    - Dst: ChainstateManager::GetSnapshotBaseBlock
      Src: /src/bitcoin-core/src/validation.cpp:5283,1
    - Dst: swap
      Src: /src/bitcoin-core/src/validation.cpp:5287,1
    - Dst: swap
      Src: /src/bitcoin-core/src/validation.cpp:5288,1
    - Dst: swap
      Src: /src/bitcoin-core/src/validation.cpp:5289,1
    - Dst: swap
      Src: /src/bitcoin-core/src/validation.cpp:5290,1
    - Dst: swap
      Src: /src/bitcoin-core/src/validation.cpp:5291,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5324,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:5324,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:5324,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:5325,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:5325,1
    - Dst: m_chain::Genesis
      Src: /src/bitcoin-core/src/validation.cpp:5326,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5327,1
    - Dst: m_chain::Genesis
      Src: /src/bitcoin-core/src/validation.cpp:5327,1
    - Dst: CBlockIndex*::HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:5331,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5331,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5336,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5337,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5340,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5342,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:5343,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5345,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5349,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5352,1
    - Dst: CBlockIndex*::HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:5352,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5353,1
    - Dst: CBlockIndex*::HaveNumChainTxs
      Src: /src/bitcoin-core/src/validation.cpp:5353,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5354,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5355,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5356,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5357,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5358,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5359,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5360,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5363,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5365,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5370,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5373,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5377,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5380,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:5383,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:5383,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:5384,1
    - Dst: CBlockIndexWorkComparator
      Src: /src/bitcoin-core/src/validation.cpp:5398,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:5398,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:5421,1
    - Dst: SnapshotBase
      Src: /src/bitcoin-core/src/validation.cpp:5421,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:5427,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:5427,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5428,1
    - Dst: setBlockIndexCandidates::contains
      Src: /src/bitcoin-core/src/validation.cpp:5428,1
    - Dst: const_cast<CBlockIndex*>
      Src: /src/bitcoin-core/src/validation.cpp:5428,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5436,1
    - Dst: setBlockIndexCandidates::contains
      Src: /src/bitcoin-core/src/validation.cpp:5436,1
    - Dst: const_cast<CBlockIndex*>
      Src: /src/bitcoin-core/src/validation.cpp:5436,1
    - Dst: m_blocks_unlinked::equal_range
      Src: /src/bitcoin-core/src/validation.cpp:5440,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5443,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5452,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5454,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5455,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5458,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:5467,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:5467,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:5469,1
    - Dst: CBlockIndexWorkComparator
      Src: /src/bitcoin-core/src/validation.cpp:5470,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:5470,1
    - Dst: setBlockIndexCandidates::contains
      Src: /src/bitcoin-core/src/validation.cpp:5470,1
    - Dst: const_cast<CBlockIndex*>
      Src: /src/bitcoin-core/src/validation.cpp:5470,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:5472,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5473,1
    - Dst: snap_update_firsts
      Src: /src/bitcoin-core/src/validation.cpp:5484,1
    - Dst: std::multimap::equal_range
      Src: /src/bitcoin-core/src/validation.cpp:5485,1
    - Dst: CChain::Contains
      Src: /src/bitcoin-core/src/validation.cpp:5491,1
    - Dst: snap_update_firsts
      Src: /src/bitcoin-core/src/validation.cpp:5502,1
    - Dst: std::multimap::equal_range
      Src: /src/bitcoin-core/src/validation.cpp:5514,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5516,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5529,1
    - Dst: CChain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:5529,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5541,1
    - Dst: std::multimap::size
      Src: /src/bitcoin-core/src/validation.cpp:5541,1
    - Dst: CChain::Height
      Src: /src/bitcoin-core/src/validation.cpp:5541,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 189
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((pindex->nStatus & BLOCK_VALID_MASK) >= BLOCK_VALID_TREE)
      pos:
        line_end: 5344
        line_start: 5344
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex->pprev == nullptr || pindex->nChainWork >= pindex->pprev->nChainWork)
      pos:
        line_end: 5354
        line_start: 5354
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (!(m_best_header->nStatus & BLOCK_FAILED_MASK))
      pos:
        line_end: 5249
        line_start: 5249
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (block_index.pprev)
      pos:
        line_end: 5257
        line_start: 5257
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (!(pindex->nStatus & BLOCK_HAVE_DATA) == (pindex->nTx == 0))
      pos:
        line_end: 5335
        line_start: 5335
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: ((pindexFirstNeverProcessed == nullptr || pindex == snap_base) ==
        pindex->HaveNumChainTxs())
      pos:
        line_end: 5351
        line_start: 5351
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex->m_chain_tx_count == pindex->nTx)
      pos:
        line_end: 5369
        line_start: 5369
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (rangeUnlinked.first->first == pindex->pprev)
      pos:
        line_end: 5442
        line_start: 5442
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex == c->m_chain.Genesis())
      pos:
        line_end: 5326
        line_start: 5326
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (!foundInUnlinked)
      pos:
        line_end: 5454
        line_start: 5454
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (((pindex->nStatus & BLOCK_VALID_MASK) >= BLOCK_VALID_TRANSACTIONS)
        == (pindex->nTx > 0))
      pos:
        line_end: 5348
        line_start: 5348
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindexFirstNotTreeValid == nullptr)
      pos:
        line_end: 5357
        line_start: 5357
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindexFirstNotTreeValid == nullptr)
      pos:
        line_end: 5356
        line_start: 5356
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex->nTx > 0)
      pos:
        line_end: 5339
        line_start: 5339
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex->nHeight == nHeight)
      pos:
        line_end: 5353
        line_start: 5353
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: ((pindex->nStatus & BLOCK_FAILED_MASK) || pindex->nChainWork <= m_best_header->nChainWork)
      pos:
        line_end: 5379
        line_start: 5379
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (c->setBlockIndexCandidates.contains(const_cast<CBlockIndex*>(pindex)))
      pos:
        line_end: 5427
        line_start: 5427
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (foundInUnlinked)
      pos:
        line_end: 5451
        line_start: 5451
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex->GetBlockHash() == GetConsensus().hashGenesisBlock)
      pos:
        line_end: 5323
        line_start: 5323
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: ((pindex->m_chain_tx_count != 0) == (pindex == snap_base))
      pos:
        line_end: 5376
        line_start: 5376
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex->m_chain_tx_count == pindex->nTx + pindex->pprev->m_chain_tx_count)
      pos:
        line_end: 5372
        line_start: 5372
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex->nStatus & BLOCK_HAVE_DATA)
      pos:
        line_end: 5341
        line_start: 5341
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex->nSequenceId <= 0)
      pos:
        line_end: 5330
        line_start: 5330
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindexFirstMissing == pindexFirstNeverProcessed)
      pos:
        line_end: 5336
        line_start: 5336
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (m_blockman.m_have_pruned)
      pos:
        line_end: 5457
        line_start: 5457
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindexFirstNotChainValid == nullptr)
      pos:
        line_end: 5358
        line_start: 5358
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (nHeight < 2 || (pindex->pskip && (pindex->pskip->nHeight < nHeight)))
      pos:
        line_end: 5355
        line_start: 5355
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (foundInUnlinked)
      pos:
        line_end: 5472
        line_start: 5472
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (m_best_header)
      pos:
        line_end: 5248
        line_start: 5248
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (m_blockman.m_block_index.size() <= 1)
      pos:
        line_end: 5238
        line_start: 5238
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (forward.size() + best_hdr_chain.Height() + 1 == m_blockman.m_block_index.size())
      pos:
        line_end: 5261
        line_start: 5261
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (!c->setBlockIndexCandidates.contains(const_cast<CBlockIndex*>(pindex)))
      pos:
        line_end: 5435
        line_start: 5435
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: ((pindex->nStatus & BLOCK_FAILED_MASK) == 0)
      pos:
        line_end: 5362
        line_start: 5362
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (nNodes == forward.size() + best_hdr_chain.Height() + 1)
      pos:
        line_end: 5540
        line_start: 5540
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: ((pindexFirstNotTransactionsValid == nullptr || pindex == snap_base)
        == pindex->HaveNumChainTxs())
      pos:
        line_end: 5352
        line_start: 5352
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (!foundInUnlinked)
      pos:
        line_end: 5453
        line_start: 5453
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindexFirstNotScriptsValid == nullptr)
      pos:
        line_end: 5359
        line_start: 5359
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex)
      pos:
        line_end: 5264
        line_start: 5264
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (pindex->nStatus & BLOCK_FAILED_MASK)
      pos:
        line_end: 5364
        line_start: 5364
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (rangePar.first != rangePar.second)
      pos:
        line_end: 5515
        line_start: 5515
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: ((pindex == nullptr) == (pindexPar == best_hdr_chain.Tip()))
      pos:
        line_end: 5528
        line_start: 5528
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 5542
      start: 5227
    functionDepth: 2
    functionLinenumber: 5227
    functionLinenumberEnd: 5542
    functionName: ChainstateManager::CheckBlockIndex
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - CBlockIndexWorkComparator
    - swap
    - setBlockIndexCandidates::contains
    - CChain::CChain
    - snap_update_firsts
    - CChain::SetTip
    - CBlockIndex*::GetBlockHash
    - get
    - m_chain::Tip
    - SnapshotBase
    - ChainstateManager::ShouldCheckBlockIndex
    - CChain::Height
    - CBlockIndex*::HaveNumChainTxs
    - std::multimap::emplace
    - CChain::Tip
    - m_block_index::size
    - ActiveChain
    - CChain::Contains
    - assert
    - m_chain::Genesis
    - LOCK
    - const_cast<CBlockIndex*>
    - CBlockIndex*::GetAncestor
    - ChainstateManager::GetSnapshotBaseBlock
    - std::multimap::size
    - ActiveChainstate
    - m_blocks_unlinked::equal_range
    - std::multimap::equal_range
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void ChainstateManager::CheckBlockIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:5546,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/validation.cpp:5547,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5548,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:5550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5551
      start: 5544
    functionDepth: 1
    functionLinenumber: 5544
    functionLinenumberEnd: 5551
    functionName: Chainstate::ToString
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - Tip
    - CBlockIndex*::GetBlockHash
    - AssertLockHeld
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string Chainstate::ToString()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:5555,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/validation.cpp:5564,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:5566,1
    - Dst: Chainstate::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5567,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:5568,1
    - Dst: Chainstate::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5569,1
    - Dst: Chainstate::FlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:5576,1
    - Dst: Chainstate::FlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:5579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - coinstip_size
    - coinsdb_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5582
      start: 5553
    functionDepth: 3
    functionLinenumber: 5553
    functionLinenumberEnd: 5582
    functionName: Chainstate::ResizeCoinsCaches
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - Chainstate::ToString
    - Chainstate::FlushStateToDisk
    - AssertLockHeld
    - CoinsDB
    linkageType: ''
    returnType: bool
    signature: bool Chainstate::ResizeCoinsCaches(size_t coinstip_size, size_t coinsdb_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:5586,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/validation.cpp:5586,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/validation.cpp:5587,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/validation.cpp:5593,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/validation.cpp:5597,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/validation.cpp:5597,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:5599,1
    - Dst: std::abs
      Src: /src/bitcoin-core/src/validation.cpp:5599,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:5599,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/validation.cpp:5599,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/validation.cpp:5600,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:5606,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/validation.cpp:5607,1
    - Dst: std::min<double>
      Src: /src/bitcoin-core/src/validation.cpp:5618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5584
    functionDepth: 1
    functionLinenumber: 5584
    functionLinenumberEnd: 5619
    functionName: ChainstateManager::GuessVerificationProgress
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetMutex
    - Ticks
    - Assume
    - GetParams
    - std::abs
    - LogDebug
    - std::min<double>
    - TicksSinceEpoch
    - CBlockIndex*::GetBlockTime
    - AssertLockHeld
    - NodeClock::now
    - GetConsensus
    linkageType: ''
    returnType: double
    signature: double ChainstateManager::GuessVerificationProgress(const CBlockIndex*
      pindex) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5629
      start: 5621
    functionDepth: 1
    functionLinenumber: 5621
    functionLinenumberEnd: 5629
    functionName: ChainstateManager::SnapshotBlockhash
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: std::optional<uint256>
    signature: std::optional<uint256> ChainstateManager::SnapshotBlockhash() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5633,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:5636,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:5636,1
    - Dst: ChainstateManager::IsUsable
      Src: /src/bitcoin-core/src/validation.cpp:5637,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/validation.cpp:5637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5641
      start: 5631
    functionDepth: 1
    functionLinenumber: 5631
    functionLinenumberEnd: 5641
    functionName: ChainstateManager::GetAll
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - LOCK
    - get
    - ChainstateManager::IsUsable
    linkageType: ''
    returnType: std::vector<Chainstate*>
    signature: std::vector<Chainstate*> ChainstateManager::GetAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:5645,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5646,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:5647,1
    - Dst: std::make_unique<Chainstate>
      Src: /src/bitcoin-core/src/validation.cpp:5649,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:5650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - mempool
    argTypes:
    - CTxMemPool*
    assertStmts:
    - condition: (!m_ibd_chainstate)
      pos:
        line_end: 5645
        line_start: 5645
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (!m_active_chainstate)
      pos:
        line_end: 5646
        line_start: 5646
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 5652
      start: 5643
    functionDepth: 1
    functionLinenumber: 5643
    functionLinenumberEnd: 5652
    functionName: '& ChainstateManager::InitializeChainstate(CTxMemPool* mempool)'
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Chainstate>
    - get
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: Chainstate
    signature: Chainstate & ChainstateManager::InitializeChainstate(CTxMemPool* mempool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:5657,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/validation.cpp:5663,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:5665,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:5666,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/validation.cpp:5669,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:5670,1
    - Dst: code
      Src: /src/bitcoin-core/src/validation.cpp:5670,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:5674,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:5675,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/validation.cpp:5679,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:5682,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/validation.cpp:5691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5692
      start: 5655
    functionDepth: 1
    functionLinenumber: 5655
    functionLinenumberEnd: 5692
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 12
    functionsReached:
    - code
    - wallet::WalletImpl::remove
    - fs::exists
    - LogInfo
    - LogPrintf
    - LogWarning
    - DestroyDB
    - AssertLockHeld
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ChainstateManager::SnapshotBlockhash
      Src: /src/bitcoin-core/src/validation.cpp:5701,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5702,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5708,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/validation.cpp:5710,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/validation.cpp:5711,1
    - Dst: util::Join
      Src: /src/bitcoin-core/src/validation.cpp:5712,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5712,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5713,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5713,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5714,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:5718,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5720,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5720,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5721,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5726,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5726,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5726,1
    - Dst: GetAncestor
      Src: /src/bitcoin-core/src/validation.cpp:5729,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5730,1
    - Dst: GetMempool
      Src: /src/bitcoin-core/src/validation.cpp:5733,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/validation.cpp:5734,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5735,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5752,1
    - Dst: ChainstateManager::ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:5761,1
    - Dst: ChainstateManager::ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:5762,1
    - Dst: ChainstateManager::ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:5766,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/validation.cpp:5767,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/validation.cpp:5768,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5771,1
    - Dst: return std::make_unique<Chainstate>
      Src: /src/bitcoin-core/src/validation.cpp:5772,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5776,1
    - Dst: auto::InitCoinsDB
      Src: /src/bitcoin-core/src/validation.cpp:5777,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/validation.cpp:5778,1
    - Dst: auto::InitCoinsCache
      Src: /src/bitcoin-core/src/validation.cpp:5780,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/validation.cpp:5781,1
    - Dst: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/validation.cpp:5784,1
    - Dst: ChainstateManager::MaybeRebalanceCaches
      Src: /src/bitcoin-core/src/validation.cpp:5785,1
    - Dst: node::FindSnapshotChainstateDir
      Src: /src/bitcoin-core/src/validation.cpp:5789,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/validation.cpp:5793,1
    - Dst: DeleteCoinsDBFromDisk
      Src: /src/bitcoin-core/src/validation.cpp:5794,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:5796,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5796,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:5796,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:5797,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:5800,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - ' coins_file'
    - ' metadata'
    - in_memory
    argTypes:
    - AutoFile
    - SnapshotMetadata
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5801
      start: 5694
    functionDepth: 2
    functionLinenumber: 5694
    functionLinenumberEnd: 5801
    functionName: ChainstateManager::ActivateSnapshot
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - return std::make_unique<Chainstate>
    - GetNotifications
    - auto::reset
    - std::move
    - auto::InitCoinsDB
    - util::ToString
    - static_cast<size_t>
    - GetParams
    - GetMempool
    - util::Join
    - Untranslated
    - GetAncestor
    - ChainstateManager::SnapshotBlockhash
    - fs::PathToString
    - node::FindSnapshotChainstateDir
    - uint256::ToString
    - WITH_LOCK
    - auto::InitCoinsCache
    - strprintf
    - ChainstateManager::MaybeRebalanceCaches
    - ChainstateManager::ActiveChainstate
    - DeleteCoinsDBFromDisk
    - ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    - _
    - LOCK
    - LookupBlockIndex
    linkageType: ''
    returnType: util::Result<CBlockIndex*>
    signature: "util::Result<CBlockIndex*> ChainstateManager::ActivateSnapshot(\n
      \       AutoFile& coins_file,\n        const SnapshotMetadata& metadata,\n        bool
      in_memory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_TIME_MILLIS_WITH_CATEGORY_MSG_ONCE
      Src: /src/bitcoin-core/src/validation.cpp:5848,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5849,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/validation.cpp:5851,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/validation.cpp:5854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coins_cache'
    - snapshot_loaded
    argTypes:
    - CCoinsViewCache
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5855
      start: 5846
    functionDepth: 0
    functionLinenumber: 5846
    functionLinenumberEnd: 5855
    functionName: FlushSnapshotToDisk
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - DynamicMemoryUsage
    - Flush
    - LOG_TIME_MILLIS_WITH_CATEGORY_MSG_ONCE
    - strprintf
    linkageType: ''
    returnType: void
    signature: void FlushSnapshotToDisk(CCoinsViewCache& coins_cache, bool snapshot_loaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5862
      start: 5859
    functionDepth: 0
    functionLinenumber: 5859
    functionLinenumberEnd: 5862
    functionName: what
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StopHashingException
      Src: /src/bitcoin-core/src/validation.cpp:5867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' interrupt'
    argTypes:
    - util::SignalInterrupt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5868
      start: 5865
    functionDepth: 0
    functionLinenumber: 5865
    functionLinenumberEnd: 5868
    functionName: SnapshotUTXOHashBreakpoint
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - StopHashingException
    linkageType: ''
    returnType: void
    signature: void SnapshotUTXOHashBreakpoint(const util::SignalInterrupt& interrupt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5877,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/validation.cpp:5877,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5881,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/validation.cpp:5881,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5886,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5886,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5887,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/validation.cpp:5891,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5894,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5894,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5903,1
    - Dst: CBlockIndexWorkComparator
      Src: /src/bitcoin-core/src/validation.cpp:5903,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/validation.cpp:5903,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5904,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:5910,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:5910,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/validation.cpp:5918,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5921,1
    - Dst: COutPoint::COutPoint
      Src: /src/bitcoin-core/src/validation.cpp:5925,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/validation.cpp:5926,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/validation.cpp:5927,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/validation.cpp:5927,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/validation.cpp:5931,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5933,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5933,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/validation.cpp:5936,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5937,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5937,1
    - Dst: EmplaceCoinInternalDANGER
      Src: /src/bitcoin-core/src/validation.cpp:5940,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:5940,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:5940,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:5946,1
    - Dst: static_cast<float>
      Src: /src/bitcoin-core/src/validation.cpp:5948,1
    - Dst: static_cast<float>
      Src: /src/bitcoin-core/src/validation.cpp:5948,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/validation.cpp:5949,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5958,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:5961,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/validation.cpp:5962,1
    - Dst: SetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:5968,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/validation.cpp:5968,1
    - Dst: FlushSnapshotToDisk
      Src: /src/bitcoin-core/src/validation.cpp:5971,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5976,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5976,1
    - Dst: SetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:5986,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:5997,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:5997,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6001,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/validation.cpp:6003,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:6004,1
    - Dst: FlushSnapshotToDisk
      Src: /src/bitcoin-core/src/validation.cpp:6007,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6009,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/validation.cpp:6009,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/validation.cpp:6013,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/validation.cpp:6013,1
    - Dst: ComputeUTXOStats
      Src: /src/bitcoin-core/src/validation.cpp:6018,1
    - Dst: SnapshotUTXOHashBreakpoint
      Src: /src/bitcoin-core/src/validation.cpp:6019,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:6021,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/validation.cpp:6023,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:6024,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:6029,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:6029,1
    - Dst: hash_serialized::ToString
      Src: /src/bitcoin-core/src/validation.cpp:6030,1
    - Dst: std::optional::hashSerialized::ToString
      Src: /src/bitcoin-core/src/validation.cpp:6030,1
    - Dst: m_chain::SetTip
      Src: /src/bitcoin-core/src/validation.cpp:6033,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:6036,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:6046,1
    - Dst: DeploymentActiveAt
      Src: /src/bitcoin-core/src/validation.cpp:6051,1
    - Dst: m_dirty_blockindex::insert
      Src: /src/bitcoin-core/src/validation.cpp:6055,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6063,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6064,1
    - Dst: setBlockIndexCandidates::insert
      Src: /src/bitcoin-core/src/validation.cpp:6066,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6068,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/validation.cpp:6069,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 3
    argNames:
    - ' snapshot_chainstate'
    - ' coins_file'
    - ' metadata'
    argTypes:
    - Chainstate
    - AutoFile
    - SnapshotMetadata
    assertStmts:
    - condition: (index)
      pos:
        line_end: 6062
        line_start: 6062
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (coins_cache.GetBestBlock() == base_blockhash)
      pos:
        line_end: 6008
        line_start: 6008
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (index == snapshot_start_block)
      pos:
        line_end: 6063
        line_start: 6063
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 6071
      start: 5870
    functionDepth: 3
    functionLinenumber: 5870
    functionLinenumberEnd: 6071
    functionName: ChainstateManager::PopulateAndValidateSnapshot
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - SnapshotUTXOHashBreakpoint
    - CBlockIndexWorkComparator
    - std::move
    - LogInfo
    - DeploymentActiveAt
    - CoinsDB
    - SetBestBlock
    - Coin::Coin
    - GetParams
    - GetBestBlock
    - m_chain::Height
    - ReadCompactSize
    - DynamicMemoryUsage
    - Untranslated
    - m_chain::SetTip
    - std::optional::has_value
    - WITH_LOCK
    - uint256::ToString
    - hash_serialized::ToString
    - setBlockIndexCandidates::insert
    - ComputeUTXOStats
    - strprintf
    - static_cast<float>
    - assert
    - RandomMixin::max
    - m_dirty_blockindex::insert
    - EmplaceCoinInternalDANGER
    - COutPoint::COutPoint
    - static_cast<uint32_t>
    - std::optional::hashSerialized::ToString
    - GetRandHash
    - GetCoinsCacheSizeState
    - LookupBlockIndex
    - LOCK
    - ActiveTip
    - FlushSnapshotToDisk
    - MoneyRange
    linkageType: ''
    returnType: util::Result<void>
    signature: "util::Result<void> ChainstateManager::PopulateAndValidateSnapshot(\n
      \   Chainstate& snapshot_chainstate,\n    AutoFile& coins_file,\n    const SnapshotMetadata&
      metadata)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:6089,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6090,1
    - Dst: ChainstateManager::ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:6090,1
    - Dst: ChainstateManager::IsUsable
      Src: /src/bitcoin-core/src/validation.cpp:6091,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6091,1
    - Dst: ChainstateManager::IsUsable
      Src: /src/bitcoin-core/src/validation.cpp:6092,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6092,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:6093,1
    - Dst: ChainstateManager::ActiveHeight
      Src: /src/bitcoin-core/src/validation.cpp:6098,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:6099,1
    - Dst: ChainstateManager::GetSnapshotBaseHeight
      Src: /src/bitcoin-core/src/validation.cpp:6099,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:6100,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/validation.cpp:6100,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6107,1
    - Dst: ChainstateManager::SnapshotBlockhash
      Src: /src/bitcoin-core/src/validation.cpp:6107,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:6108,1
    - Dst: ChainstateManager::SnapshotBlockhash
      Src: /src/bitcoin-core/src/validation.cpp:6108,1
    - Dst: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/validation.cpp:6110,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:6111,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:6111,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:6126,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:6127,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6129,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6131,1
    - Dst: ChainstateManager::IsUsable
      Src: /src/bitcoin-core/src/validation.cpp:6131,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6131,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6132,1
    - Dst: ChainstateManager::IsUsable
      Src: /src/bitcoin-core/src/validation.cpp:6132,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6132,1
    - Dst: InvalidateCoinsDBOnDisk
      Src: /src/bitcoin-core/src/validation.cpp:6134,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/validation.cpp:6136,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/validation.cpp:6136,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:6139,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:6142,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:6143,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:6145,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:6145,1
    - Dst: handle_invalid_snapshot
      Src: /src/bitcoin-core/src/validation.cpp:6146,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6150,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:6152,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6154,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6155,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6156,1
    - Dst: ChainstateManager::IsUsable
      Src: /src/bitcoin-core/src/validation.cpp:6156,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6156,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6157,1
    - Dst: ChainstateManager::GetAll
      Src: /src/bitcoin-core/src/validation.cpp:6157,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/validation.cpp:6159,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/validation.cpp:6160,1
    - Dst: chainparams::AssumeutxoForHeight
      Src: /src/bitcoin-core/src/validation.cpp:6162,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:6164,1
    - Dst: handle_invalid_snapshot
      Src: /src/bitcoin-core/src/validation.cpp:6166,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6172,1
    - Dst: ComputeUTXOStats
      Src: /src/bitcoin-core/src/validation.cpp:6175,1
    - Dst: SnapshotUTXOHashBreakpoint
      Src: /src/bitcoin-core/src/validation.cpp:6179,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:6186,1
    - Dst: handle_invalid_snapshot
      Src: /src/bitcoin-core/src/validation.cpp:6190,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:6202,1
    - Dst: hashSerialized::ToString
      Src: /src/bitcoin-core/src/validation.cpp:6203,1
    - Dst: hash_serialized::ToString
      Src: /src/bitcoin-core/src/validation.cpp:6204,1
    - Dst: handle_invalid_snapshot
      Src: /src/bitcoin-core/src/validation.cpp:6205,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6209,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/validation.cpp:6210,1
    - Dst: ChainstateManager::MaybeRebalanceCaches
      Src: /src/bitcoin-core/src/validation.cpp:6213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!this->IsUsable(m_snapshot_chainstate.get()))
      pos:
        line_end: 6130
        line_start: 6130
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (snapshot_base_height == curr_height)
      pos:
        line_end: 6153
        line_start: 6153
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (this->IsUsable(m_ibd_chainstate.get()))
      pos:
        line_end: 6131
        line_start: 6131
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (index_new.nHeight == snapshot_base_height)
      pos:
        line_end: 6149
        line_start: 6149
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (this->IsUsable(m_snapshot_chainstate.get()))
      pos:
        line_end: 6155
        line_start: 6155
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (this->GetAll().size() == 2)
      pos:
        line_end: 6156
        line_start: 6156
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (SnapshotBlockhash())
      pos:
        line_end: 6106
        line_start: 6106
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (snapshot_base_height == index_new.nHeight)
      pos:
        line_end: 6154
        line_start: 6154
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 6216
      start: 6087
    functionDepth: 2
    functionLinenumber: 6087
    functionLinenumberEnd: 6216
    functionName: ChainstateManager::MaybeCompleteSnapshotValidation
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - SnapshotUTXOHashBreakpoint
    - ChainstateManager::ActiveHeight
    - GetNotifications
    - LogInfo
    - handle_invalid_snapshot
    - CoinsDB
    - ToString
    - ForceFlushStateToDisk
    - util::ErrorString
    - InvalidateCoinsDBOnDisk
    - get
    - AssertLockHeld
    - m_chain::Height
    - m_chain::Tip
    - Untranslated
    - ChainstateManager::SnapshotBlockhash
    - LogError
    - uint256::ToString
    - chainparams::AssumeutxoForHeight
    - hash_serialized::ToString
    - Assert
    - ComputeUTXOStats
    - strprintf
    - ChainstateManager::MaybeRebalanceCaches
    - ChainstateManager::ActiveChainstate
    - assert
    - hashSerialized::ToString
    - ChainstateManager::IsUsable
    - ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    - _
    - ChainstateManager::GetSnapshotBaseHeight
    - ChainstateManager::GetAll
    - LogPrintf
    - GetBlockHash
    linkageType: ''
    returnType: SnapshotCompletionResult
    signature: SnapshotCompletionResult ChainstateManager::MaybeCompleteSnapshotValidation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:6220,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_active_chainstate)
      pos:
        line_end: 6220
        line_start: 6220
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 6223
      start: 6218
    functionDepth: 1
    functionLinenumber: 6218
    functionLinenumberEnd: 6223
    functionName: '& ChainstateManager::ActiveChainstate() const'
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - assert
    linkageType: ''
    returnType: Chainstate
    signature: Chainstate & ChainstateManager::ActiveChainstate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:6227,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6229
      start: 6225
    functionDepth: 1
    functionLinenumber: 6225
    functionLinenumberEnd: 6229
    functionName: ChainstateManager::IsSnapshotActive
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - get
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::IsSnapshotActive() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:6233,1
    - Dst: ChainstateManager::IsUsable
      Src: /src/bitcoin-core/src/validation.cpp:6234,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6234,1
    - Dst: ChainstateManager::IsUsable
      Src: /src/bitcoin-core/src/validation.cpp:6235,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6235,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6236,1
    - Dst: ResizeCoinsCaches
      Src: /src/bitcoin-core/src/validation.cpp:6241,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6245,1
    - Dst: ResizeCoinsCaches
      Src: /src/bitcoin-core/src/validation.cpp:6247,1
    - Dst: ChainstateManager::IsInitialBlockDownload
      Src: /src/bitcoin-core/src/validation.cpp:6253,1
    - Dst: ResizeCoinsCaches
      Src: /src/bitcoin-core/src/validation.cpp:6254,1
    - Dst: ResizeCoinsCaches
      Src: /src/bitcoin-core/src/validation.cpp:6256,1
    - Dst: ResizeCoinsCaches
      Src: /src/bitcoin-core/src/validation.cpp:6259,1
    - Dst: ResizeCoinsCaches
      Src: /src/bitcoin-core/src/validation.cpp:6261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ibd_usable || snapshot_usable)
      pos:
        line_end: 6235
        line_start: 6235
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 6265
      start: 6231
    functionDepth: 2
    functionLinenumber: 6231
    functionLinenumberEnd: 6265
    functionName: ChainstateManager::MaybeRebalanceCaches
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 2
    functionsReached:
    - ResizeCoinsCaches
    - LogInfo
    - ChainstateManager::IsInitialBlockDownload
    - get
    - AssertLockHeld
    - assert
    - ChainstateManager::IsUsable
    linkageType: ''
    returnType: void
    signature: void ChainstateManager::MaybeRebalanceCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/validation.cpp:6269,1
    - Dst: reset
      Src: /src/bitcoin-core/src/validation.cpp:6270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6272
      start: 6267
    functionDepth: 0
    functionLinenumber: 6267
    functionLinenumberEnd: 6272
    functionName: ChainstateManager::ResetChainstates
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ChainstateManager::ResetChainstates()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_block_index::has_value
      Src: /src/bitcoin-core/src/validation.cpp:6281,1
    - Dst: chainparams::DefaultConsistencyChecks
      Src: /src/bitcoin-core/src/validation.cpp:6281,1
    - Dst: minimum_chain_work::has_value
      Src: /src/bitcoin-core/src/validation.cpp:6282,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/validation.cpp:6282,1
    - Dst: chainparams::GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:6282,1
    - Dst: assumed_valid_block::has_value
      Src: /src/bitcoin-core/src/validation.cpp:6283,1
    - Dst: chainparams::GetConsensus
      Src: /src/bitcoin-core/src/validation.cpp:6283,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:6284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - ChainstateManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6285
      start: 6279
    functionDepth: 2
    functionLinenumber: 6279
    functionLinenumberEnd: 6285
    functionName: Flatten
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - chainparams::DefaultConsistencyChecks
    - check_block_index::has_value
    - minimum_chain_work::has_value
    - std::move
    - chainparams::GetConsensus
    - UintToArith256
    - assumed_valid_block::has_value
    linkageType: ''
    returnType: ChainstateManager::Options
    signature: ChainstateManager::Options && Flatten(ChainstateManager::Options&&
      opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp
      Src: /src/bitcoin-core/src/validation.cpp:6288,1
    - Dst: Flatten
      Src: /src/bitcoin-core/src/validation.cpp:6290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:6290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validation.cpp:6291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' interrupt'
    - options
    - blockman_options
    argTypes:
    - util::SignalInterrupt
    - Options
    - node::BlockManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6294
      start: 6287
    functionDepth: 0
    functionLinenumber: 6287
    functionLinenumberEnd: 6294
    functionName: ChainstateManager::ChainstateManager
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - Flatten
    - std::clamp
    - std::move
    linkageType: ''
    returnType: void
    signature: void ChainstateManager::ChainstateManager(const util::SignalInterrupt&
      interrupt, Options options, node::BlockManager::Options blockman_options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validation.cpp:6298,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/validation.cpp:6300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6301
      start: 6296
    functionDepth: 1
    functionLinenumber: 6296
    functionLinenumberEnd: 6301
    functionName: ChainstateManager::~ChainstateManager()
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Clear
    linkageType: ''
    returnType: void
    signature: void ChainstateManager::~ChainstateManager()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6305,1
    - Dst: node::FindSnapshotChainstateDir
      Src: /src/bitcoin-core/src/validation.cpp:6306,1
    - Dst: node::ReadSnapshotBaseBlockhash
      Src: /src/bitcoin-core/src/validation.cpp:6310,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6314,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6315,1
    - Dst: ChainstateManager::ActivateExistingSnapshot
      Src: /src/bitcoin-core/src/validation.cpp:6317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_snapshot_chainstate)
      pos:
        line_end: 6304
        line_start: 6304
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 6319
      start: 6303
    functionDepth: 1
    functionLinenumber: 6303
    functionLinenumberEnd: 6319
    functionName: ChainstateManager::DetectSnapshotChainstate
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - ChainstateManager::ActivateExistingSnapshot
    - node::FindSnapshotChainstateDir
    - LogInfo
    - assert
    - node::ReadSnapshotBaseBlockhash
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::DetectSnapshotChainstate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6323,1
    - Dst: std::make_unique<Chainstate>
      Src: /src/bitcoin-core/src/validation.cpp:6325,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6326,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validation.cpp:6326,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:6329,1
    - Dst: m_mempool::size
      Src: /src/bitcoin-core/src/validation.cpp:6329,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:6330,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - base_blockhash
    argTypes:
    - uint256
    assertStmts:
    - condition: (!m_snapshot_chainstate)
      pos:
        line_end: 6322
        line_start: 6322
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 6335
      start: 6321
    functionDepth: 1
    functionLinenumber: 6321
    functionLinenumberEnd: 6335
    functionName: '& ChainstateManager::ActivateExistingSnapshot(uint256 base_blockhash)'
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - m_mempool::size
    - ToString
    - LogInfo
    - std::make_unique<Chainstate>
    - Assert
    - get
    - assert
    linkageType: ''
    returnType: Chainstate
    signature: Chainstate & ChainstateManager::ActivateExistingSnapshot(uint256 base_blockhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:6339,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/validation.cpp:6340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' block_index'
    argTypes:
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6341
      start: 6337
    functionDepth: 0
    functionLinenumber: 6337
    functionLinenumberEnd: 6341
    functionName: IsBIP30Repeat
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - GetBlockHash
    linkageType: ''
    returnType: bool
    signature: bool IsBIP30Repeat(const CBlockIndex& block_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' block_hash'
    - block_height
    argTypes:
    - uint256
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6347
      start: 6343
    functionDepth: 0
    functionLinenumber: 6343
    functionLinenumberEnd: 6347
    functionName: IsBIP30Unspendable
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBIP30Unspendable(const uint256& block_hash, int block_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:6351,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6353,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/validation.cpp:6354,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (storage_path_maybe)
      pos:
        line_end: 6355
        line_start: 6355
        source_file: /src/bitcoin-core/src/validation.cpp
    - condition: (cs.m_from_snapshot_blockhash)
      pos:
        line_end: 6352
        line_start: 6352
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 6358
      start: 6349
    functionDepth: 1
    functionLinenumber: 6349
    functionLinenumberEnd: 6358
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 14
    functionsReached:
    - CoinsDB
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSnapshotCoinsDBPath
      Src: /src/bitcoin-core/src/validation.cpp:6362,1
    - Dst: reset
      Src: /src/bitcoin-core/src/validation.cpp:6365,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6368,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6369,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6370,1
    - Dst: fs::rename
      Src: /src/bitcoin-core/src/validation.cpp:6376,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6378,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6379,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:6381,1
    - Dst: what
      Src: /src/bitcoin-core/src/validation.cpp:6382,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:6383,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:6383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6391
      start: 6360
    functionDepth: 1
    functionLinenumber: 6360
    functionLinenumberEnd: 6391
    functionName: Chainstate::InvalidateCoinsDBOnDisk
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - _
    - strprintf
    - LogInfo
    - LogPrintf
    - reset
    - GetSnapshotCoinsDBPath
    - what
    - fs::rename
    - fs::PathToString
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> Chainstate::InvalidateCoinsDBOnDisk()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:6395,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:6396,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:6397,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:6399,1
    - Dst: node::FindSnapshotChainstateDir
      Src: /src/bitcoin-core/src/validation.cpp:6399,1
    - Dst: DeleteCoinsDBFromDisk
      Src: /src/bitcoin-core/src/validation.cpp:6400,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:6401,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6402,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6405,1
    - Dst: reset
      Src: /src/bitcoin-core/src/validation.cpp:6407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6409
      start: 6393
    functionDepth: 1
    functionLinenumber: 6393
    functionLinenumberEnd: 6409
    functionName: ChainstateManager::DeleteSnapshotChainstate
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - node::FindSnapshotChainstateDir
    - LogPrintf
    - Assert
    - reset
    - AssertLockHeld
    - get
    - DeleteCoinsDBFromDisk
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::DeleteSnapshotChainstate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetAll
      Src: /src/bitcoin-core/src/validation.cpp:6413,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/validation.cpp:6416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6419
      start: 6411
    functionDepth: 0
    functionLinenumber: 6411
    functionLinenumberEnd: 6419
    functionName: Chainstate::GetRole
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 4
    functionsReached:
    - ActiveChainstate
    - GetAll
    linkageType: ''
    returnType: ChainstateRole
    signature: ChainstateRole Chainstate::GetRole() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnapshotBase
      Src: /src/bitcoin-core/src/validation.cpp:6423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6424
      start: 6421
    functionDepth: 0
    functionLinenumber: 6421
    functionLinenumberEnd: 6424
    functionName: ChainstateManager::GetSnapshotBaseBlock
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 3
    functionsReached:
    - SnapshotBase
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * ChainstateManager::GetSnapshotBaseBlock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChainstateManager::GetSnapshotBaseBlock
      Src: /src/bitcoin-core/src/validation.cpp:6428,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/validation.cpp:6429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6430
      start: 6426
    functionDepth: 1
    functionLinenumber: 6426
    functionLinenumberEnd: 6430
    functionName: ChainstateManager::GetSnapshotBaseHeight
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 1
    functionsReached:
    - std::make_optional
    - ChainstateManager::GetSnapshotBaseBlock
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> ChainstateManager::GetSnapshotBaseHeight() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:6434,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/validation.cpp:6435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6441
      start: 6432
    functionDepth: 1
    functionLinenumber: 6432
    functionLinenumberEnd: 6441
    functionName: ChainstateManager::RecalculateBestHeader
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - ActiveChain
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void ChainstateManager::RecalculateBestHeader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/validation.cpp:6445,1
    - Dst: ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/validation.cpp:6446,1
    - Dst: if
      Src: /src/bitcoin-core/src/validation.cpp:6447,1
    - Dst: HasCoinsViews
      Src: /src/bitcoin-core/src/validation.cpp:6447,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/validation.cpp:6450,1
    - Dst: get_storage_path
      Src: /src/bitcoin-core/src/validation.cpp:6452,1
    - Dst: get_storage_path
      Src: /src/bitcoin-core/src/validation.cpp:6453,1
    - Dst: ChainstateManager::IsSnapshotValidated
      Src: /src/bitcoin-core/src/validation.cpp:6455,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:6463,1
    - Dst: ChainstateManager::ResetChainstates
      Src: /src/bitcoin-core/src/validation.cpp:6477,1
    - Dst: assert
      Src: /src/bitcoin-core/src/validation.cpp:6480,1
    - Dst: ChainstateManager::GetAll
      Src: /src/bitcoin-core/src/validation.cpp:6480,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6482,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6483,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/validation.cpp:6491,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6492,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6492,1
    - Dst: what
      Src: /src/bitcoin-core/src/validation.cpp:6492,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/validation.cpp:6493,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/validation.cpp:6493,1
    - Dst: _
      Src: /src/bitcoin-core/src/validation.cpp:6493,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6496,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6496,1
    - Dst: fs::rename
      Src: /src/bitcoin-core/src/validation.cpp:6500,1
    - Dst: rename_failed_abort
      Src: /src/bitcoin-core/src/validation.cpp:6502,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6506,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6508,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6508,1
    - Dst: fs::rename
      Src: /src/bitcoin-core/src/validation.cpp:6511,1
    - Dst: rename_failed_abort
      Src: /src/bitcoin-core/src/validation.cpp:6513,1
    - Dst: DeleteCoinsDBFromDisk
      Src: /src/bitcoin-core/src/validation.cpp:6517,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/validation.cpp:6520,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6522,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/validation.cpp:6524,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/validation.cpp:6525,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (this->GetAll().size() == 0)
      pos:
        line_end: 6479
        line_start: 6479
        source_file: /src/bitcoin-core/src/validation.cpp
    constantsTouched: []
    func_position:
      end: 6528
      start: 6443
    functionDepth: 2
    functionLinenumber: 6443
    functionLinenumberEnd: 6528
    functionName: ChainstateManager::ValidatedSnapshotCleanup
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - GetNotifications
    - if
    - LogInfo
    - what
    - CoinsDB
    - AssertLockHeld
    - fs::rename
    - fs::PathToString
    - ChainstateManager::ResetChainstates
    - rename_failed_abort
    - HasCoinsViews
    - LogError
    - get_storage_path
    - strprintf
    - DeleteCoinsDBFromDisk
    - assert
    - ChainstateManager::EXCLUSIVE_LOCKS_REQUIRED
    - _
    - ChainstateManager::IsSnapshotValidated
    - ChainstateManager::GetAll
    - LogPrintf
    linkageType: ''
    returnType: bool
    signature: bool ChainstateManager::ValidatedSnapshotCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '& ChainstateManager::GetAll'
      Src: /src/bitcoin-core/src/validation.cpp:6535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6536
      start: 6530
    functionDepth: 0
    functionLinenumber: 6530
    functionLinenumberEnd: 6536
    functionName: '& ChainstateManager::GetChainstateForIndexing()'
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - '& ChainstateManager::GetAll'
    linkageType: ''
    returnType: Chainstate
    signature: Chainstate & ChainstateManager::GetChainstateForIndexing()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:6540,1
    - Dst: ChainstateManager::GetAll
      Src: /src/bitcoin-core/src/validation.cpp:6545,1
    - Dst: get
      Src: /src/bitcoin-core/src/validation.cpp:6545,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validation.cpp:6548,1
    - Dst: ChainstateManager::GetSnapshotBaseHeight
      Src: /src/bitcoin-core/src/validation.cpp:6548,1
    - Dst: std::max<int>
      Src: /src/bitcoin-core/src/validation.cpp:6551,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/validation.cpp:6552,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/validation.cpp:6552,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/validation.cpp:6560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' chainstate'
    - last_height_can_prune
    argTypes:
    - Chainstate
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6563
      start: 6538
    functionDepth: 2
    functionLinenumber: 6538
    functionLinenumberEnd: 6563
    functionName: ChainstateManager::GetPruneRange
    functionSourceFile: /src/bitcoin-core/src/validation.cpp
    functionUses: 0
    functionsReached:
    - std::max<int>
    - static_cast<int>
    - ChainstateManager::GetSnapshotBaseHeight
    - ChainstateManager::GetAll
    - Assert
    - get
    - m_chain::Height
    - std::min
    linkageType: ''
    returnType: std::pair<int, int>
    signature: std::pair<int, int> ChainstateManager::GetPruneRange(const Chainstate&
      chainstate, int last_height_can_prune)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: CCoinsView::GetCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> CCoinsView::GetCoin(const COutPoint& outpoint)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256
      Src: /src/bitcoin-core/src/coins.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: CCoinsView::GetBestBlock
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 CCoinsView::GetBestBlock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint256>
      Src: /src/bitcoin-core/src/coins.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: CCoinsView::GetHeadBlocks
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint256>
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> CCoinsView::GetHeadBlocks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cursor'
    - hashBlock
    argTypes:
    - CoinsViewCacheCursor
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: CCoinsView::BatchWrite
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CCoinsView::BatchWrite(CoinsViewCacheCursor& cursor, const uint256
      &hashBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: CCoinsView::Cursor
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<CCoinsViewCursor>
    signature: std::unique_ptr<CCoinsViewCursor> CCoinsView::Cursor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsView::GetCoin
      Src: /src/bitcoin-core/src/coins.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outpoint
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: CCoinsView::HaveCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - CCoinsView::GetCoin
    linkageType: ''
    returnType: bool
    signature: bool CCoinsView::HaveCoin(const COutPoint &outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - viewIn
    argTypes:
    - CCoinsView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: CCoinsViewBacked::CCoinsViewBacked
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewBacked::CCoinsViewBacked(CCoinsView *viewIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewBacked::GetCoin
      Src: /src/bitcoin-core/src/coins.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: CCoinsViewBacked::GetCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewBacked::GetCoin
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> CCoinsViewBacked::GetCoin(const COutPoint& outpoint)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewBacked::HaveCoin
      Src: /src/bitcoin-core/src/coins.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outpoint
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: CCoinsViewBacked::HaveCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewBacked::HaveCoin
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewBacked::HaveCoin(const COutPoint &outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewBacked::GetBestBlock
      Src: /src/bitcoin-core/src/coins.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: CCoinsViewBacked::GetBestBlock
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewBacked::GetBestBlock
    linkageType: ''
    returnType: uint256
    signature: uint256 CCoinsViewBacked::GetBestBlock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewBacked::GetHeadBlocks
      Src: /src/bitcoin-core/src/coins.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: CCoinsViewBacked::GetHeadBlocks
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewBacked::GetHeadBlocks
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> CCoinsViewBacked::GetHeadBlocks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - viewIn
    argTypes:
    - CCoinsView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: CCoinsViewBacked::SetBackend
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewBacked::SetBackend(CCoinsView &viewIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewBacked::BatchWrite
      Src: /src/bitcoin-core/src/coins.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cursor'
    - hashBlock
    argTypes:
    - CoinsViewCacheCursor
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: CCoinsViewBacked::BatchWrite
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewBacked::BatchWrite
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewBacked::BatchWrite(CoinsViewCacheCursor& cursor, const
      uint256 &hashBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewBacked::Cursor
      Src: /src/bitcoin-core/src/coins.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: CCoinsViewBacked::Cursor
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewBacked::Cursor
    linkageType: ''
    returnType: std::unique_ptr<CCoinsViewCursor>
    signature: std::unique_ptr<CCoinsViewCursor> CCoinsViewBacked::Cursor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewBacked::EstimateSize
      Src: /src/bitcoin-core/src/coins.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: CCoinsViewBacked::EstimateSize
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewBacked::EstimateSize
    linkageType: ''
    returnType: size_t
    signature: size_t CCoinsViewBacked::EstimateSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SaltedOutpointHasher
      Src: /src/bitcoin-core/src/coins.cpp:39,1
    - Dst: second::SelfRef
      Src: /src/bitcoin-core/src/coins.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - baseIn
    - deterministic
    argTypes:
    - CCoinsView*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: CCoinsViewCache::CCoinsViewCache
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - SaltedOutpointHasher
    - second::SelfRef
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCache::CCoinsViewCache(CCoinsView* baseIn, bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/coins.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: CCoinsViewCache::DynamicMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - memusage::DynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t CCoinsViewCache::DynamicMemoryUsage() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/coins.cpp:49,1
    - Dst: CCoinsViewCache::GetCoin
      Src: /src/bitcoin-core/src/coins.cpp:51,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.cpp:52,1
    - Dst: second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:53,1
    - Dst: second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:54,1
    - Dst: SetFresh
      Src: /src/bitcoin-core/src/coins.cpp:56,1
    - Dst: erase
      Src: /src/bitcoin-core/src/coins.cpp:59,1
    - Dst: end
      Src: /src/bitcoin-core/src/coins.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - outpoint
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: CCoinsViewCache::FetchCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - end
    - SetFresh
    - erase
    - CCoinsViewCache::GetCoin
    - std::move
    - second::coin::DynamicMemoryUsage
    - second::coin::IsSpent
    - try_emplace
    linkageType: ''
    returnType: CCoinsMap::iterator
    signature: CCoinsMap::iterator CCoinsViewCache::FetchCoin(const COutPoint &outpoint)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewCache::FetchCoin
      Src: /src/bitcoin-core/src/coins.cpp:68,1
    - Dst: end
      Src: /src/bitcoin-core/src/coins.cpp:68,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: CCoinsViewCache::GetCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - end
    - CCoinsViewCache::FetchCoin
    - auto::second::coin::IsSpent
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> CCoinsViewCache::GetCoin(const COutPoint& outpoint)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/coins.cpp:73,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:73,1
    - Dst: out::scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/coins.cpp:74,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/coins.cpp:77,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/coins.cpp:77,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/coins.cpp:77,1
    - Dst: std::tuple<>
      Src: /src/bitcoin-core/src/coins.cpp:77,1
    - Dst: CCoinsMap::iterator::second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:80,1
    - Dst: CCoinsMap::iterator::second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:83,1
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/coins.cpp:84,1
    - Dst: CCoinsMap::iterator::second::IsDirty
      Src: /src/bitcoin-core/src/coins.cpp:99,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.cpp:101,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/coins.cpp:102,1
    - Dst: SetFresh
      Src: /src/bitcoin-core/src/coins.cpp:103,1
    - Dst: CCoinsMap::iterator::second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:104,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/coins.cpp:105,1
    - Dst: COutPoint::hash::data
      Src: /src/bitcoin-core/src/coins.cpp:106,1
    - Dst: CCoinsMap::iterator::second::coin::IsCoinBase
      Src: /src/bitcoin-core/src/coins.cpp:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - outpoint
    - ' coin'
    - possible_overwrite
    argTypes:
    - COutPoint
    - Coin
    - bool
    assertStmts:
    - condition: (!coin.IsSpent())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/coins.cpp
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: CCoinsViewCache::AddCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - SetFresh
    - CCoinsMap::iterator::second::coin::DynamicMemoryUsage
    - emplace
    - std::tie
    - SetDirty
    - IsSpent
    - std::tuple<>
    - std::move
    - TRACEPOINT
    - CCoinsMap::iterator::second::coin::IsCoinBase
    - std::logic_error
    - std::forward_as_tuple
    - out::scriptPubKey::IsUnspendable
    - COutPoint::hash::data
    - assert
    - CCoinsMap::iterator::second::IsDirty
    - CCoinsMap::iterator::second::coin::IsSpent
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCache::AddCoin(const COutPoint &outpoint, Coin&& coin,
      bool possible_overwrite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewCache::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:114,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/coins.cpp:115,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.cpp:115,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.cpp:115,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/coins.cpp:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ' outpoint'
    - ' coin'
    argTypes:
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: CCoinsViewCache::EmplaceCoinInternalDANGER
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - SetDirty
    - CCoinsViewCache::DynamicMemoryUsage
    - try_emplace
    - std::move
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCache::EmplaceCoinInternalDANGER(COutPoint&& outpoint,
      Coin&& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTransaction::IsCoinBase
      Src: /src/bitcoin-core/src/coins.cpp:120,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/coins.cpp:121,1
    - Dst: CTransaction::vout::size
      Src: /src/bitcoin-core/src/coins.cpp:122,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/coins.cpp:123,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/coins.cpp:123,1
    - Dst: AddCoin
      Src: /src/bitcoin-core/src/coins.cpp:126,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/coins.cpp:126,1
    - Dst: Coin
      Src: /src/bitcoin-core/src/coins.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' cache'
    - tx
    - nHeight
    - check_for_overwrite
    argTypes:
    - CCoinsViewCache
    - CTransaction
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: AddCoins
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 3
    functionsReached:
    - Coin
    - HaveCoin
    - COutPoint
    - CTransaction::vout::size
    - AddCoin
    - CTransaction::IsCoinBase
    - CTransaction::GetHash
    linkageType: ''
    returnType: void
    signature: void AddCoins(CCoinsViewCache& cache, const CTransaction &tx, int nHeight,
      bool check_for_overwrite)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewCache::FetchCoin
      Src: /src/bitcoin-core/src/coins.cpp:131,1
    - Dst: end
      Src: /src/bitcoin-core/src/coins.cpp:132,1
    - Dst: CCoinsMap::iterator::second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:133,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/coins.cpp:134,1
    - Dst: COutPoint::hash::data
      Src: /src/bitcoin-core/src/coins.cpp:135,1
    - Dst: CCoinsMap::iterator::second::coin::IsCoinBase
      Src: /src/bitcoin-core/src/coins.cpp:139,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.cpp:141,1
    - Dst: CCoinsMap::iterator::second::IsFresh
      Src: /src/bitcoin-core/src/coins.cpp:143,1
    - Dst: erase
      Src: /src/bitcoin-core/src/coins.cpp:144,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/coins.cpp:146,1
    - Dst: CCoinsMap::iterator::second::coin::Clear
      Src: /src/bitcoin-core/src/coins.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - outpoint
    - moveout
    argTypes:
    - COutPoint
    - Coin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 150
    functionName: CCoinsViewCache::SpendCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - end
    - CCoinsMap::iterator::second::IsFresh
    - CCoinsMap::iterator::second::coin::DynamicMemoryUsage
    - erase
    - SetDirty
    - TRACEPOINT
    - std::move
    - CCoinsMap::iterator::second::coin::IsCoinBase
    - CCoinsViewCache::FetchCoin
    - CCoinsMap::iterator::second::coin::Clear
    - COutPoint::hash::data
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewCache::SpendCoin(const COutPoint &outpoint, Coin* moveout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FetchCoin
      Src: /src/bitcoin-core/src/coins.cpp:155,1
    - Dst: end
      Src: /src/bitcoin-core/src/coins.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - outpoint
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: '& CCoinsViewCache::AccessCoin(const COutPoint &outpoint) const'
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - end
    - FetchCoin
    linkageType: ''
    returnType: Coin
    signature: Coin & CCoinsViewCache::AccessCoin(const COutPoint &outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewCache::FetchCoin
      Src: /src/bitcoin-core/src/coins.cpp:164,1
    - Dst: end
      Src: /src/bitcoin-core/src/coins.cpp:165,1
    - Dst: CCoinsMap::const_iterator::second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - outpoint
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: CCoinsViewCache::HaveCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - end
    - CCoinsViewCache::FetchCoin
    - CCoinsMap::const_iterator::second::coin::IsSpent
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewCache::HaveCoin(const COutPoint &outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/coins.cpp:169,1
    - Dst: end
      Src: /src/bitcoin-core/src/coins.cpp:170,1
    - Dst: CCoinsMap::const_iterator::second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - outpoint
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: CCoinsViewCache::HaveCoinInCache
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - CCoinsMap::const_iterator::second::coin::IsSpent
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewCache::HaveCoinInCache(const COutPoint &outpoint) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/coins.cpp:174,1
    - Dst: CCoinsViewCache::GetBestBlock
      Src: /src/bitcoin-core/src/coins.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: CCoinsViewCache::GetBestBlock
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 3
    functionsReached:
    - CCoinsViewCache::GetBestBlock
    - IsNull
    linkageType: ''
    returnType: uint256
    signature: uint256 CCoinsViewCache::GetBestBlock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashBlockIn
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: CCoinsViewCache::SetBestBlock
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCache::SetBestBlock(const uint256 &hashBlockIn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Begin
      Src: /src/bitcoin-core/src/coins.cpp:184,1
    - Dst: End
      Src: /src/bitcoin-core/src/coins.cpp:184,1
    - Dst: NextAndMaybeErase
      Src: /src/bitcoin-core/src/coins.cpp:184,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/coins.cpp:186,1
    - Dst: find
      Src: /src/bitcoin-core/src/coins.cpp:189,1
    - Dst: end
      Src: /src/bitcoin-core/src/coins.cpp:190,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/coins.cpp:193,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:193,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/coins.cpp:196,1
    - Dst: WillErase
      Src: /src/bitcoin-core/src/coins.cpp:198,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.cpp:201,1
    - Dst: coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:205,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/coins.cpp:206,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/coins.cpp:210,1
    - Dst: SetFresh
      Src: /src/bitcoin-core/src/coins.cpp:210,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/coins.cpp:214,1
    - Dst: CCoinsMap::iterator::second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:214,1
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/coins.cpp:219,1
    - Dst: CCoinsMap::iterator::second::IsFresh
      Src: /src/bitcoin-core/src/coins.cpp:222,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:222,1
    - Dst: CCoinsMap::iterator::second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:225,1
    - Dst: erase
      Src: /src/bitcoin-core/src/coins.cpp:226,1
    - Dst: CCoinsMap::iterator::second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:229,1
    - Dst: WillErase
      Src: /src/bitcoin-core/src/coins.cpp:230,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/coins.cpp:233,1
    - Dst: CCoinsMap::iterator::second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:237,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/coins.cpp:238,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - ' cursor'
    - hashBlockIn
    argTypes:
    - CoinsViewCacheCursor
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 248
    functionName: CCoinsViewCache::BatchWrite
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - coin::DynamicMemoryUsage
    - CCoinsMap::iterator::second::coin::DynamicMemoryUsage
    - std::move
    - try_emplace
    - CCoinsMap::iterator::second::coin::IsSpent
    - auto::second::coin::IsSpent
    - WillErase
    - auto::second::IsDirty
    - find
    - CCoinsMap::iterator::second::IsFresh
    - SetDirty
    - auto::second::IsFresh
    - end
    - SetFresh
    - NextAndMaybeErase
    - erase
    - End
    - Begin
    - std::logic_error
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewCache::BatchWrite(CoinsViewCacheCursor& cursor, const
      uint256 &hashBlockIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoinsViewCacheCursor
      Src: /src/bitcoin-core/src/coins.cpp:251,1
    - Dst: CCoinsViewCache::BatchWrite
      Src: /src/bitcoin-core/src/coins.cpp:252,1
    - Dst: clear
      Src: /src/bitcoin-core/src/coins.cpp:254,1
    - Dst: CCoinsViewCache::ReallocateCache
      Src: /src/bitcoin-core/src/coins.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: CCoinsViewCache::Flush
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 3
    functionsReached:
    - CCoinsViewCache::ReallocateCache
    - clear
    - CoinsViewCacheCursor
    - CCoinsViewCache::BatchWrite
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewCache::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoinsViewCacheCursor
      Src: /src/bitcoin-core/src/coins.cpp:263,1
    - Dst: CCoinsViewCache::BatchWrite
      Src: /src/bitcoin-core/src/coins.cpp:264,1
    - Dst: second::Next
      Src: /src/bitcoin-core/src/coins.cpp:266,1
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/coins.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: CCoinsViewCache::Sync
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - second::Next
    - std::logic_error
    - CoinsViewCacheCursor
    - CCoinsViewCache::BatchWrite
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewCache::Sync()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/coins.cpp:276,1
    - Dst: end
      Src: /src/bitcoin-core/src/coins.cpp:277,1
    - Dst: CCoinsMap::iterator::second::IsDirty
      Src: /src/bitcoin-core/src/coins.cpp:277,1
    - Dst: CCoinsMap::iterator::second::IsFresh
      Src: /src/bitcoin-core/src/coins.cpp:277,1
    - Dst: CCoinsMap::iterator::second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:278,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/coins.cpp:279,1
    - Dst: hash::data
      Src: /src/bitcoin-core/src/coins.cpp:280,1
    - Dst: CCoinsMap::iterator::second::coin::IsCoinBase
      Src: /src/bitcoin-core/src/coins.cpp:284,1
    - Dst: erase
      Src: /src/bitcoin-core/src/coins.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: CCoinsViewCache::Uncache
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - end
    - CCoinsMap::iterator::second::IsFresh
    - CCoinsMap::iterator::second::coin::DynamicMemoryUsage
    - erase
    - hash::data
    - TRACEPOINT
    - CCoinsMap::iterator::second::coin::IsCoinBase
    - CCoinsMap::iterator::second::IsDirty
    - find
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCache::Uncache(const COutPoint& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/coins.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: CCoinsViewCache::GetCacheSize
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CCoinsViewCache::GetCacheSize() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/coins.cpp:295,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/coins.cpp:296,1
    - Dst: CCoinsViewCache::HaveCoin
      Src: /src/bitcoin-core/src/coins.cpp:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 5
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: CCoinsViewCache::HaveInputs
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - IsCoinBase
    - CCoinsViewCache::HaveCoin
    - vin::size
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewCache::HaveInputs(const CTransaction& tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/coins.cpp:308,1
    - Dst: size
      Src: /src/bitcoin-core/src/coins.cpp:308,1
    - Dst: ~CCoinsMap
      Src: /src/bitcoin-core/src/coins.cpp:309,1
    - Dst: ~CCoinsMapMemoryResource
      Src: /src/bitcoin-core/src/coins.cpp:310,1
    - Dst: CCoinsMapMemoryResource::CCoinsMapMemoryResource
      Src: /src/bitcoin-core/src/coins.cpp:311,1
    - Dst: CCoinsMap::CCoinsMap
      Src: /src/bitcoin-core/src/coins.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cacheCoins.size() == 0)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/bitcoin-core/src/coins.cpp
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: CCoinsViewCache::ReallocateCache
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - ~CCoinsMapMemoryResource
    - size
    - CCoinsMapMemoryResource::CCoinsMapMemoryResource
    - ~CCoinsMap
    - CCoinsMap::CCoinsMap
    - assert
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCache::ReallocateCache()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsDirty
      Src: /src/bitcoin-core/src/coins.cpp:321,1
    - Dst: IsFresh
      Src: /src/bitcoin-core/src/coins.cpp:322,1
    - Dst: coin::IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:323,1
    - Dst: assert
      Src: /src/bitcoin-core/src/coins.cpp:325,1
    - Dst: coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/coins.cpp:328,1
    - Dst: IsDirty
      Src: /src/bitcoin-core/src/coins.cpp:331,1
    - Dst: IsFresh
      Src: /src/bitcoin-core/src/coins.cpp:331,1
    - Dst: second::Next
      Src: /src/bitcoin-core/src/coins.cpp:335,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/coins.cpp:335,1
    - Dst: assert
      Src: /src/bitcoin-core/src/coins.cpp:337,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/coins.cpp:337,1
    - Dst: Prev
      Src: /src/bitcoin-core/src/coins.cpp:337,1
    - Dst: assert
      Src: /src/bitcoin-core/src/coins.cpp:338,1
    - Dst: auto::second::Prev
      Src: /src/bitcoin-core/src/coins.cpp:338,1
    - Dst: Next
      Src: /src/bitcoin-core/src/coins.cpp:338,1
    - Dst: assert
      Src: /src/bitcoin-core/src/coins.cpp:340,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/coins.cpp:340,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/coins.cpp:340,1
    - Dst: assert
      Src: /src/bitcoin-core/src/coins.cpp:344,1
    - Dst: assert
      Src: /src/bitcoin-core/src/coins.cpp:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (attr != 2 && attr != 4 && attr != 7)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/bitcoin-core/src/coins.cpp
    - condition: (it->second.Next()->second.Prev() == it)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/bitcoin-core/src/coins.cpp
    - condition: (count_linked == count_flagged)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/bitcoin-core/src/coins.cpp
    - condition: (it->second.IsDirty() || it->second.IsFresh())
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/bitcoin-core/src/coins.cpp
    - condition: (it->second.Prev()->second.Next() == it)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/bitcoin-core/src/coins.cpp
    - condition: (recomputed_usage == cachedCoinsUsage)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/bitcoin-core/src/coins.cpp
    constantsTouched: []
    func_position:
      end: 346
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 346
    functionName: CCoinsViewCache::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - coin::DynamicMemoryUsage
    - auto::second::Prev
    - Prev
    - IsDirty
    - auto::second::IsFresh
    - coin::IsSpent
    - auto::second::IsDirty
    - second::Next
    - auto::second::Next
    - assert
    - IsFresh
    - Next
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCache::SanityCheck() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/coins.cpp:355,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/coins.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' view'
    - ' txid'
    argTypes:
    - CCoinsViewCache
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 360
    functionName: AccessByTxid
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 1
    functionsReached:
    - IsSpent
    - AccessCoin
    linkageType: ''
    returnType: Coin
    signature: Coin & AccessByTxid(const CCoinsViewCache& view, const Txid& txid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/bitcoin-core/src/coins.cpp:366,1
    - Dst: f
      Src: /src/bitcoin-core/src/coins.cpp:369,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/coins.cpp:371,1
    - Dst: what
      Src: /src/bitcoin-core/src/coins.cpp:371,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/coins.cpp:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - func
    - ' err_callbacks'
    argTypes:
    - Func
    - std::vector<std::function<void()>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: ExecuteBackedWrapper
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - func
    - std::abort
    - f
    - LogError
    - what
    linkageType: ''
    returnType: ReturnType
    signature: ReturnType ExecuteBackedWrapper(Func func, const std::vector<std::function<void()>>&
      err_callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExecuteBackedWrapper
      Src: /src/bitcoin-core/src/coins.cpp:382,1
    - Dst: CCoinsViewBacked::GetCoin
      Src: /src/bitcoin-core/src/coins.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: CCoinsViewErrorCatcher::GetCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - CCoinsViewBacked::GetCoin
    - ExecuteBackedWrapper
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> CCoinsViewErrorCatcher::GetCoin(const COutPoint&
      outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExecuteBackedWrapper
      Src: /src/bitcoin-core/src/coins.cpp:387,1
    - Dst: CCoinsViewBacked::HaveCoin
      Src: /src/bitcoin-core/src/coins.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: CCoinsViewErrorCatcher::HaveCoin
    functionSourceFile: /src/bitcoin-core/src/coins.cpp
    functionUses: 0
    functionsReached:
    - CCoinsViewBacked::HaveCoin
    - ExecuteBackedWrapper
    linkageType: ''
    returnType: bool
    signature: bool CCoinsViewErrorCatcher::HaveCoin(const COutPoint& outpoint) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetOpName
      Src: /src/bitcoin-core/src/core_read.cpp:36,1
    - Dst: static_cast<opcodetype>
      Src: /src/bitcoin-core/src/core_read.cpp:36,1
    - Dst: static_cast<opcodetype>
      Src: /src/bitcoin-core/src/core_read.cpp:40,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/core_read.cpp:42,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/core_read.cpp:43,1
    - Dst: static_cast<opcodetype>
      Src: /src/bitcoin-core/src/core_read.cpp:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: OpCodeParser::OpCodeParser
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 0
    functionsReached:
    - std::string::starts_with
    - GetOpName
    - static_cast<opcodetype>
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void OpCodeParser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/core_read.cpp:49,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_read.cpp:50,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/core_read.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: OpCodeParser::Parse
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::runtime_error
    - find
    linkageType: ''
    returnType: opcodetype
    signature: opcodetype Parse(const std::string& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpCodeParser::OpCodeParser
      Src: /src/bitcoin-core/src/core_read.cpp:57,1
    - Dst: OpCodeParser::Parse
      Src: /src/bitcoin-core/src/core_read.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ParseOpCode
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 0
    functionsReached:
    - OpCodeParser::OpCodeParser
    - OpCodeParser::Parse
    linkageType: ''
    returnType: opcodetype
    signature: opcodetype ParseOpCode(const std::string& s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetOpName
      Src: /src/bitcoin-core/src/core_read.cpp:36,1
    - Dst: static_cast<opcodetype>
      Src: /src/bitcoin-core/src/core_read.cpp:36,1
    - Dst: static_cast<opcodetype>
      Src: /src/bitcoin-core/src/core_read.cpp:40,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/core_read.cpp:42,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/core_read.cpp:43,1
    - Dst: static_cast<opcodetype>
      Src: /src/bitcoin-core/src/core_read.cpp:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: OpCodeParser::OpCodeParser
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 1
    functionsReached:
    - std::string::starts_with
    - GetOpName
    - static_cast<opcodetype>
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void OpCodeParser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/core_read.cpp:49,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_read.cpp:50,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/core_read.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: OpCodeParser::Parse
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::runtime_error
    - find
    linkageType: ''
    returnType: opcodetype
    signature: opcodetype Parse(const std::string& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpCodeParser::OpCodeParser
      Src: /src/bitcoin-core/src/core_read.cpp:57,1
    - Dst: OpCodeParser::Parse
      Src: /src/bitcoin-core/src/core_read.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ParseOpCode
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 0
    functionsReached:
    - OpCodeParser::OpCodeParser
    - OpCodeParser::Parse
    linkageType: ''
    returnType: opcodetype
    signature: opcodetype ParseOpCode(const std::string& s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/core_read.cpp:65,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/core_read.cpp:67,1
    - Dst: empty
      Src: /src/bitcoin-core/src/core_read.cpp:70,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/core_read.cpp:72,1
    - Dst: begin
      Src: /src/bitcoin-core/src/core_read.cpp:72,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_read.cpp:72,1
    - Dst: front
      Src: /src/bitcoin-core/src/core_read.cpp:73,1
    - Dst: size
      Src: /src/bitcoin-core/src/core_read.cpp:73,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/core_read.cpp:73,1
    - Dst: begin
      Src: /src/bitcoin-core/src/core_read.cpp:73,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_read.cpp:73,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/core_read.cpp:76,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/core_read.cpp:80,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/core_read.cpp:81,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/core_read.cpp:85,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/core_read.cpp:86,1
    - Dst: size
      Src: /src/bitcoin-core/src/core_read.cpp:86,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/core_read.cpp:86,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_read.cpp:86,1
    - Dst: begin
      Src: /src/bitcoin-core/src/core_read.cpp:86,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_read.cpp:86,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/core_read.cpp:88,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_read.cpp:88,1
    - Dst: begin
      Src: /src/bitcoin-core/src/core_read.cpp:88,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_read.cpp:88,1
    - Dst: CScript::insert
      Src: /src/bitcoin-core/src/core_read.cpp:89,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/core_read.cpp:89,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/core_read.cpp:89,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/core_read.cpp:89,1
    - Dst: size
      Src: /src/bitcoin-core/src/core_read.cpp:90,1
    - Dst: front
      Src: /src/bitcoin-core/src/core_read.cpp:90,1
    - Dst: back
      Src: /src/bitcoin-core/src/core_read.cpp:90,1
    - Dst: begin
      Src: /src/bitcoin-core/src/core_read.cpp:93,1
    - Dst: end
      Src: /src/bitcoin-core/src/core_read.cpp:93,1
    - Dst: ParseOpCode
      Src: /src/bitcoin-core/src/core_read.cpp:97,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 102
    functionName: ParseScript
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 1
    functionsReached:
    - begin
    - std::string
    - ToIntegral
    - SplitString
    - auto::value
    - std::vector::end
    - std::runtime_error
    - starts_with
    - back
    - ParseOpCode
    - ParseHex
    - empty
    - CScript::end
    - CScript::insert
    - std::all_of
    - end
    - IsHex
    - auto::has_value
    - size
    - std::vector::begin
    - front
    - CScript::CScript
    linkageType: ''
    returnType: CScript
    signature: CScript ParseScript(const std::string& s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/core_read.cpp:108,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/core_read.cpp:109,1
    - Dst: scriptSig::HasValidOps
      Src: /src/bitcoin-core/src/core_read.cpp:110,1
    - Dst: scriptSig::size
      Src: /src/bitcoin-core/src/core_read.cpp:110,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/core_read.cpp:116,1
    - Dst: scriptPubKey::HasValidOps
      Src: /src/bitcoin-core/src/core_read.cpp:117,1
    - Dst: scriptPubKey::size
      Src: /src/bitcoin-core/src/core_read.cpp:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: CheckTxScriptsSanity
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 0
    functionsReached:
    - scriptPubKey::HasValidOps
    - CTransaction
    - scriptSig::HasValidOps
    - vout::size
    - scriptPubKey::size
    - scriptSig::size
    - vin::size
    linkageType: ''
    returnType: bool
    signature: bool CheckTxScriptsSanity(const CMutableTransaction& tx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/core_read.cpp:140,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/core_read.cpp:148,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/core_read.cpp:149,1
    - Dst: CheckTxScriptsSanity
      Src: /src/bitcoin-core/src/core_read.cpp:157,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_read.cpp:158,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/core_read.cpp:166,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/core_read.cpp:167,1
    - Dst: CheckTxScriptsSanity
      Src: /src/bitcoin-core/src/core_read.cpp:175,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_read.cpp:176,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_read.cpp:182,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/core_read.cpp:188,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - ' tx'
    - ' tx_data'
    - try_no_witness
    - try_witness
    argTypes:
    - CMutableTransaction
    - std::vector<unsigned char>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 194
    functionName: DecodeTx
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 0
    functionsReached:
    - TX_NO_WITNESS
    - CMutableTransaction::CMutableTransaction
    - std::move
    - CheckTxScriptsSanity
    - TX_WITH_WITNESS
    - DataStream::empty
    linkageType: ''
    returnType: bool
    signature: bool DecodeTx(CMutableTransaction& tx, const std::vector<unsigned char>&
      tx_data, bool try_no_witness, bool try_witness)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsHex
      Src: /src/bitcoin-core/src/core_read.cpp:198,1
    - Dst: DecodeTx
      Src: /src/bitcoin-core/src/core_read.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' tx'
    - ' hex_tx'
    - try_no_witness
    - try_witness
    argTypes:
    - CMutableTransaction
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: DecodeHexTx
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 1
    functionsReached:
    - IsHex
    - DecodeTx
    linkageType: ''
    returnType: bool
    signature: bool DecodeHexTx(CMutableTransaction& tx, const std::string& hex_tx,
      bool try_no_witness, bool try_witness)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsHex
      Src: /src/bitcoin-core/src/core_read.cpp:208,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/core_read.cpp:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' header'
    - ' hex_header'
    argTypes:
    - CBlockHeader
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: DecodeHexBlockHeader
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 1
    functionsReached:
    - IsHex
    - ParseHex
    linkageType: ''
    returnType: bool
    signature: bool DecodeHexBlockHeader(CBlockHeader& header, const std::string&
      hex_header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsHex
      Src: /src/bitcoin-core/src/core_read.cpp:222,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/core_read.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' block'
    - ' strHexBlk'
    argTypes:
    - CBlock
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: DecodeHexBlk
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 1
    functionsReached:
    - IsHex
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: bool
    signature: bool DecodeHexBlk(CBlock& block, const std::string& strHexBlk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_read.cpp:240,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_read.cpp:241,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_read.cpp:242,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_read.cpp:243,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_read.cpp:244,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_read.cpp:245,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/core_read.cpp:246,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/core_read.cpp:248,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/core_read.cpp:249,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/core_read.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sighash'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: SighashFromStr
    functionSourceFile: /src/bitcoin-core/src/core_read.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - Untranslated
    - std::string
    linkageType: ''
    returnType: util::Result<int>
    signature: util::Result<int> SighashFromStr(const std::string& sighash)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/net_permissions.cpp:30,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:34,1
    - Dst: substr
      Src: /src/bitcoin-core/src/net_permissions.cpp:41,1
    - Dst: auto::length
      Src: /src/bitcoin-core/src/net_permissions.cpp:42,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/net_permissions.cpp:43,1
    - Dst: auto::length
      Src: /src/bitcoin-core/src/net_permissions.cpp:44,1
    - Dst: auto::substr
      Src: /src/bitcoin-core/src/net_permissions.cpp:46,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:50,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:51,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:52,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:53,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:54,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:55,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:56,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:57,1
    - Dst: _
      Src: /src/bitcoin-core/src/net_permissions.cpp:62,1
    - Dst: auto::length
      Src: /src/bitcoin-core/src/net_permissions.cpp:67,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_permissions.cpp:69,1
    - Dst: _
      Src: /src/bitcoin-core/src/net_permissions.cpp:69,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_permissions.cpp:80,1
    - Dst: _
      Src: /src/bitcoin-core/src/net_permissions.cpp:80,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/net_permissions.cpp:86,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - ' str'
    - ' output'
    - output_connection_direction
    - ' readen'
    - ' error'
    argTypes:
    - std::string
    - NetPermissionFlags
    - ConnectionDirection*
    - size_t
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 88
    functionName: TryParsePermissionFlags
    functionSourceFile: /src/bitcoin-core/src/net_permissions.cpp
    functionUses: 0
    functionsReached:
    - substr
    - _
    - auto::substr
    - auto::length
    - NetPermissions::AddFlag
    - auto::find
    - strprintf
    - Untranslated
    - find
    linkageType: ''
    returnType: bool
    signature: bool TryParsePermissionFlags(const std::string& str, NetPermissionFlags&
      output, ConnectionDirection* output_connection_direction, size_t& readen, bilingual_str&
      error)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/net_permissions.cpp:30,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:34,1
    - Dst: substr
      Src: /src/bitcoin-core/src/net_permissions.cpp:41,1
    - Dst: auto::length
      Src: /src/bitcoin-core/src/net_permissions.cpp:42,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/net_permissions.cpp:43,1
    - Dst: auto::length
      Src: /src/bitcoin-core/src/net_permissions.cpp:44,1
    - Dst: auto::substr
      Src: /src/bitcoin-core/src/net_permissions.cpp:46,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:50,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:51,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:52,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:53,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:54,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:55,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:56,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:57,1
    - Dst: _
      Src: /src/bitcoin-core/src/net_permissions.cpp:62,1
    - Dst: auto::length
      Src: /src/bitcoin-core/src/net_permissions.cpp:67,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_permissions.cpp:69,1
    - Dst: _
      Src: /src/bitcoin-core/src/net_permissions.cpp:69,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_permissions.cpp:80,1
    - Dst: _
      Src: /src/bitcoin-core/src/net_permissions.cpp:80,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/net_permissions.cpp:86,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - ' str'
    - ' output'
    - output_connection_direction
    - ' readen'
    - ' error'
    argTypes:
    - std::string
    - NetPermissionFlags
    - ConnectionDirection*
    - size_t
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 88
    functionName: TryParsePermissionFlags
    functionSourceFile: /src/bitcoin-core/src/net_permissions.cpp
    functionUses: 0
    functionsReached:
    - substr
    - _
    - auto::substr
    - auto::length
    - NetPermissions::AddFlag
    - auto::find
    - strprintf
    - Untranslated
    - find
    linkageType: ''
    returnType: bool
    signature: bool TryParsePermissionFlags(const std::string& str, NetPermissionFlags&
      output, ConnectionDirection* output_connection_direction, size_t& readen, bilingual_str&
      error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:95,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_permissions.cpp:95,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:96,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_permissions.cpp:96,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:97,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_permissions.cpp:97,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:98,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_permissions.cpp:98,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:99,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_permissions.cpp:99,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:100,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_permissions.cpp:100,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net_permissions.cpp:101,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net_permissions.cpp:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - flags
    argTypes:
    - NetPermissionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: NetPermissions::ToStrings
    functionSourceFile: /src/bitcoin-core/src/net_permissions.cpp
    functionUses: 0
    functionsReached:
    - NetPermissions::HasFlag
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> NetPermissions::ToStrings(NetPermissionFlags
      flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TryParsePermissionFlags
      Src: /src/bitcoin-core/src/net_permissions.cpp:109,1
    - Dst: substr
      Src: /src/bitcoin-core/src/net_permissions.cpp:111,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/net_permissions.cpp:112,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/net_permissions.cpp:113,1
    - Dst: ResolveErrMsg
      Src: /src/bitcoin-core/src/net_permissions.cpp:114,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/net_permissions.cpp:117,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_permissions.cpp:118,1
    - Dst: _
      Src: /src/bitcoin-core/src/net_permissions.cpp:118,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/net_permissions.cpp:123,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/net_permissions.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' str'
    - ' output'
    - ' error'
    argTypes:
    - std::string
    - NetWhitebindPermissions
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 126
    functionName: NetWhitebindPermissions::TryParse
    functionSourceFile: /src/bitcoin-core/src/net_permissions.cpp
    functionUses: 0
    functionsReached:
    - substr
    - _
    - ResolveErrMsg
    - std::optional::has_value
    - std::optional::value
    - strprintf
    - Lookup
    - Untranslated
    - TryParsePermissionFlags
    linkageType: ''
    returnType: bool
    signature: bool NetWhitebindPermissions::TryParse(const std::string& str, NetWhitebindPermissions&
      output, bilingual_str& error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TryParsePermissionFlags
      Src: /src/bitcoin-core/src/net_permissions.cpp:133,1
    - Dst: substr
      Src: /src/bitcoin-core/src/net_permissions.cpp:135,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/net_permissions.cpp:136,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/net_permissions.cpp:137,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net_permissions.cpp:138,1
    - Dst: _
      Src: /src/bitcoin-core/src/net_permissions.cpp:138,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/net_permissions.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' str'
    - ' output'
    - ' output_connection_direction'
    - ' error'
    argTypes:
    - std::string
    - NetWhitelistPermissions
    - ConnectionDirection
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: NetWhitelistPermissions::TryParse
    functionSourceFile: /src/bitcoin-core/src/net_permissions.cpp
    functionUses: 0
    functionsReached:
    - substr
    - _
    - LookupSubNet
    - CSubNet::IsValid
    - strprintf
    - Untranslated
    - TryParsePermissionFlags
    linkageType: ''
    returnType: bool
    signature: bool NetWhitelistPermissions::TryParse(const std::string& str, NetWhitelistPermissions&
      output, ConnectionDirection& output_connection_direction, bilingual_str& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/addrdb.cpp:43,1
    - Dst: HashedSourceWriter::GetHash
      Src: /src/bitcoin-core/src/addrdb.cpp:44,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:46,1
    - Dst: what
      Src: /src/bitcoin-core/src/addrdb.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' stream'
    - ' data'
    argTypes:
    - Stream
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: SerializeDB
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - LogError
    - Params
    - HashedSourceWriter::GetHash
    - what
    linkageType: ''
    returnType: bool
    signature: bool SerializeDB(Stream& stream, const Data& data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/addrdb.cpp:57,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrdb.cpp:58,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/addrdb.cpp:61,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/addrdb.cpp:61,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/addrdb.cpp:62,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/addrdb.cpp:64,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:65,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:66,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:66,1
    - Dst: SerializeDB
      Src: /src/bitcoin-core/src/addrdb.cpp:71,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/addrdb.cpp:72,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:73,1
    - Dst: AutoFile::Commit
      Src: /src/bitcoin-core/src/addrdb.cpp:76,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/addrdb.cpp:77,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:78,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:79,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:79,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/addrdb.cpp:82,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:84,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:85,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:85,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/addrdb.cpp:85,1
    - Dst: RenameOver
      Src: /src/bitcoin-core/src/addrdb.cpp:90,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:91,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - ' prefix'
    - ' path'
    - ' data'
    argTypes:
    - std::string
    - fs::path
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 97
    functionName: SerializeFileDB
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - RenameOver
    - AutoFile::IsNull
    - LogError
    - AutoFile::Commit
    - fsbridge::fopen
    - fs::u8path
    - remove
    - SerializeDB
    - GetDataDirNet
    - AutoFile::fclose
    - SysErrorString
    - FastRandomContext
    - strprintf
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool SerializeFileDB(const std::string& prefix, const fs::path& path,
      const Data& data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/addrdb.cpp:107,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/addrdb.cpp:116,1
    - Dst: HashVerifier::GetHash
      Src: /src/bitcoin-core/src/addrdb.cpp:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' stream'
    - ' data'
    argTypes:
    - Stream
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: DeserializeDB
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - Params
    - uint256::uint256
    - HashVerifier::GetHash
    linkageType: ''
    returnType: void
    signature: void DeserializeDB(Stream& stream, Data&& data, bool fCheckSum = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/addrdb.cpp:127,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/addrdb.cpp:129,1
    - Dst: DeserializeDB
      Src: /src/bitcoin-core/src/addrdb.cpp:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' data'
    argTypes:
    - fs::path
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: DeserializeFileDB
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::IsNull
    - DeserializeDB
    - fsbridge::fopen
    linkageType: ''
    returnType: void
    signature: void DeserializeFileDB(const fs::path& path, Data&& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/addrdb.cpp:43,1
    - Dst: HashedSourceWriter::GetHash
      Src: /src/bitcoin-core/src/addrdb.cpp:44,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:46,1
    - Dst: what
      Src: /src/bitcoin-core/src/addrdb.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' stream'
    - ' data'
    argTypes:
    - Stream
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: SerializeDB
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 1
    functionsReached:
    - LogError
    - Params
    - HashedSourceWriter::GetHash
    - what
    linkageType: ''
    returnType: bool
    signature: bool SerializeDB(Stream& stream, const Data& data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/addrdb.cpp:57,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrdb.cpp:58,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/addrdb.cpp:61,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/addrdb.cpp:61,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/addrdb.cpp:62,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/addrdb.cpp:64,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:65,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:66,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:66,1
    - Dst: SerializeDB
      Src: /src/bitcoin-core/src/addrdb.cpp:71,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/addrdb.cpp:72,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:73,1
    - Dst: AutoFile::Commit
      Src: /src/bitcoin-core/src/addrdb.cpp:76,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/addrdb.cpp:77,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:78,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:79,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:79,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/addrdb.cpp:82,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:84,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:85,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:85,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/addrdb.cpp:85,1
    - Dst: RenameOver
      Src: /src/bitcoin-core/src/addrdb.cpp:90,1
    - Dst: remove
      Src: /src/bitcoin-core/src/addrdb.cpp:91,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - ' prefix'
    - ' path'
    - ' data'
    argTypes:
    - std::string
    - fs::path
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 97
    functionName: SerializeFileDB
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - RenameOver
    - AutoFile::IsNull
    - LogError
    - AutoFile::Commit
    - fsbridge::fopen
    - fs::u8path
    - remove
    - SerializeDB
    - GetDataDirNet
    - AutoFile::fclose
    - SysErrorString
    - FastRandomContext
    - strprintf
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool SerializeFileDB(const std::string& prefix, const fs::path& path,
      const Data& data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/addrdb.cpp:107,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/addrdb.cpp:116,1
    - Dst: HashVerifier::GetHash
      Src: /src/bitcoin-core/src/addrdb.cpp:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' stream'
    - ' data'
    argTypes:
    - Stream
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: DeserializeDB
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 1
    functionsReached:
    - Params
    - uint256::uint256
    - HashVerifier::GetHash
    linkageType: ''
    returnType: void
    signature: void DeserializeDB(Stream& stream, Data&& data, bool fCheckSum = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/addrdb.cpp:127,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/addrdb.cpp:129,1
    - Dst: DeserializeDB
      Src: /src/bitcoin-core/src/addrdb.cpp:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' data'
    argTypes:
    - fs::path
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: DeserializeFileDB
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::IsNull
    - DeserializeDB
    - fsbridge::fopen
    linkageType: ''
    returnType: void
    signature: void DeserializeFileDB(const fs::path& path, Data&& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ban_list_path
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: CBanDB::CBanDB
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBanDB::CBanDB(fs::path ban_list_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: common::WriteSettings
      Src: /src/bitcoin-core/src/addrdb.cpp:145,1
    - Dst: BanMapToJson
      Src: /src/bitcoin-core/src/addrdb.cpp:145,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/addrdb.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' banSet'
    argTypes:
    - banmap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: CBanDB::Write
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - LogError
    - common::WriteSettings
    - BanMapToJson
    linkageType: ''
    returnType: bool
    signature: bool CBanDB::Write(const banmap_t& banSet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/addrdb.cpp:157,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/addrdb.cpp:158,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/addrdb.cpp:158,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:158,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/addrdb.cpp:161,1
    - Dst: common::ReadSettings
      Src: /src/bitcoin-core/src/addrdb.cpp:168,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/addrdb.cpp:170,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:170,1
    - Dst: BanMapFromJson
      Src: /src/bitcoin-core/src/addrdb.cpp:176,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/addrdb.cpp:178,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:178,1
    - Dst: what
      Src: /src/bitcoin-core/src/addrdb.cpp:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' banSet'
    argTypes:
    - banmap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 183
    functionName: CBanDB::Read
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - fs::quoted
    - BanMapFromJson
    - fs::exists
    - LogWarning
    - what
    - fs::PathToString
    - common::ReadSettings
    linkageType: ''
    returnType: bool
    signature: bool CBanDB::Read(banmap_t& banSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/addrdb.cpp:187,1
    - Dst: SerializeFileDB
      Src: /src/bitcoin-core/src/addrdb.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' args'
    - ' addr'
    argTypes:
    - ArgsManager
    - AddrMan
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: DumpPeerAddresses
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - GetDataDirNet
    - SerializeFileDB
    linkageType: ''
    returnType: bool
    signature: bool DumpPeerAddresses(const ArgsManager& args, const AddrMan& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeserializeDB
      Src: /src/bitcoin-core/src/addrdb.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' ssPeers'
    argTypes:
    - AddrMan
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: ReadFromStream
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - DeserializeDB
    linkageType: ''
    returnType: void
    signature: void ReadFromStream(AddrMan& addr, DataStream& ssPeers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp<int32_t>
      Src: /src/bitcoin-core/src/addrdb.cpp:198,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/addrdb.cpp:198,1
    - Dst: HasTestOption
      Src: /src/bitcoin-core/src/addrdb.cpp:199,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/addrdb.cpp:201,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/addrdb.cpp:203,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/addrdb.cpp:204,1
    - Dst: DeserializeFileDB
      Src: /src/bitcoin-core/src/addrdb.cpp:206,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/addrdb.cpp:207,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/addrdb.cpp:207,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/addrdb.cpp:207,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/addrdb.cpp:207,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/addrdb.cpp:210,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/addrdb.cpp:211,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/addrdb.cpp:211,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:211,1
    - Dst: DumpPeerAddresses
      Src: /src/bitcoin-core/src/addrdb.cpp:212,1
    - Dst: RenameOver
      Src: /src/bitcoin-core/src/addrdb.cpp:214,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrdb.cpp:215,1
    - Dst: _
      Src: /src/bitcoin-core/src/addrdb.cpp:215,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/addrdb.cpp:218,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/addrdb.cpp:219,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/addrdb.cpp:219,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:219,1
    - Dst: DumpPeerAddresses
      Src: /src/bitcoin-core/src/addrdb.cpp:220,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrdb.cpp:222,1
    - Dst: _
      Src: /src/bitcoin-core/src/addrdb.cpp:222,1
    - Dst: what
      Src: /src/bitcoin-core/src/addrdb.cpp:223,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/addrdb.cpp:223,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' netgroupman'
    - ' args'
    argTypes:
    - NetGroupManager
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 226
    functionName: LoadAddrman
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - fs::quoted
    - _
    - Ticks
    - fs::PathToString
    - RenameOver
    - HasTestOption
    - GetIntArg
    - DeserializeFileDB
    - GetDataDirNet
    - std::clamp<int32_t>
    - LogInfo
    - LogWarning
    - what
    - strprintf
    - DumpPeerAddresses
    - auto::Size
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: util::Result<std::unique_ptr<AddrMan>>
    signature: util::Result<std::unique_ptr<AddrMan>> LoadAddrman(const NetGroupManager&
      netgroupman, const ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_TIME_SECONDS
      Src: /src/bitcoin-core/src/addrdb.cpp:230,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/addrdb.cpp:230,1
    - Dst: size
      Src: /src/bitcoin-core/src/addrdb.cpp:230,1
    - Dst: SerializeFileDB
      Src: /src/bitcoin-core/src/addrdb.cpp:231,1
    - Dst: CAddress::V2_DISK
      Src: /src/bitcoin-core/src/addrdb.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' anchors_db_path'
    - ' anchors'
    argTypes:
    - fs::path
    - std::vector<CAddress>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: DumpAnchors
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - LOG_TIME_SECONDS
    - strprintf
    - size
    - CAddress::V2_DISK
    - SerializeFileDB
    linkageType: ''
    returnType: void
    signature: void DumpAnchors(const fs::path& anchors_db_path, const std::vector<CAddress>&
      anchors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeserializeFileDB
      Src: /src/bitcoin-core/src/addrdb.cpp:238,1
    - Dst: CAddress::V2_DISK
      Src: /src/bitcoin-core/src/addrdb.cpp:238,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/addrdb.cpp:239,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/addrdb.cpp:239,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/addrdb.cpp:239,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/addrdb.cpp:239,1
    - Dst: filename
      Src: /src/bitcoin-core/src/addrdb.cpp:239,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/addrdb.cpp:241,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/addrdb.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' anchors_db_path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: ReadAnchors
    functionSourceFile: /src/bitcoin-core/src/addrdb.cpp
    functionUses: 0
    functionsReached:
    - fs::quoted
    - wallet::WalletImpl::remove
    - filename
    - DeserializeFileDB
    - LogInfo
    - std::vector::clear
    - CAddress::V2_DISK
    - std::vector::size
    - fs::PathToString
    linkageType: ''
    returnType: std::vector<CAddress>
    signature: std::vector<CAddress> ReadAnchors(const fs::path& anchors_db_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/deploymentstatus.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: is_minimum
    functionSourceFile: /src/bitcoin-core/src/deploymentstatus.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::min
    linkageType: ''
    returnType: bool
    signature: bool is_minimum()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - ThresholdState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 24
    functionName: StateName
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string StateName(ThresholdState state)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Period
      Src: /src/bitcoin-core/src/versionbits.cpp:28,1
    - Dst: Threshold
      Src: /src/bitcoin-core/src/versionbits.cpp:29,1
    - Dst: AbstractThresholdConditionChecker::MinActivationHeight
      Src: /src/bitcoin-core/src/versionbits.cpp:30,1
    - Dst: BeginTime
      Src: /src/bitcoin-core/src/versionbits.cpp:31,1
    - Dst: EndTime
      Src: /src/bitcoin-core/src/versionbits.cpp:32,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/versionbits.cpp:46,1
    - Dst: count
      Src: /src/bitcoin-core/src/versionbits.cpp:51,1
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/versionbits.cpp:57,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/versionbits.cpp:62,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/versionbits.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/versionbits.cpp:67,1
    - Dst: count
      Src: /src/bitcoin-core/src/versionbits.cpp:67,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/versionbits.cpp:71,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/versionbits.cpp:73,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/versionbits.cpp:74,1
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/versionbits.cpp:78,1
    - Dst: Condition
      Src: /src/bitcoin-core/src/versionbits.cpp:88,1
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/versionbits.cpp:95,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pindexPrev
    - ' cache'
    argTypes:
    - CBlockIndex*
    - ThresholdConditionCache
    assertStmts:
    - condition: (cache.count(pindexPrev))
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bitcoin-core/src/versionbits.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 117
    functionName: AbstractThresholdConditionChecker::GetStateFor
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - Threshold
    - Condition
    - EndTime
    - BeginTime
    - std::vector::back
    - AbstractThresholdConditionChecker::MinActivationHeight
    - std::vector::push_back
    - CBlockIndex*::GetAncestor
    - CBlockIndex*::GetMedianTimePast
    - std::vector::pop_back
    - std::vector::empty
    - assert
    - Period
    - count
    linkageType: ''
    returnType: ThresholdState
    signature: ThresholdState AbstractThresholdConditionChecker::GetStateFor(const
      CBlockIndex* pindexPrev, ThresholdConditionCache& cache) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Period
      Src: /src/bitcoin-core/src/versionbits.cpp:123,1
    - Dst: Threshold
      Src: /src/bitcoin-core/src/versionbits.cpp:124,1
    - Dst: std::vector<bool>*::assign
      Src: /src/bitcoin-core/src/versionbits.cpp:133,1
    - Dst: Condition
      Src: /src/bitcoin-core/src/versionbits.cpp:143,1
    - Dst: std::vector<bool>*::at
      Src: /src/bitcoin-core/src/versionbits.cpp:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pindex
    - signalling_blocks
    argTypes:
    - CBlockIndex*
    - std::vector<bool>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: AbstractThresholdConditionChecker::GetStateStatisticsFor
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - Threshold
    - Condition
    - std::vector<bool>*::at
    - Period
    - std::vector<bool>*::assign
    linkageType: ''
    returnType: BIP9Stats
    signature: BIP9Stats AbstractThresholdConditionChecker::GetStateStatisticsFor(const
      CBlockIndex* pindex, std::vector<bool>* signalling_blocks) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BeginTime
      Src: /src/bitcoin-core/src/versionbits.cpp:159,1
    - Dst: AbstractThresholdConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/versionbits.cpp:164,1
    - Dst: Period
      Src: /src/bitcoin-core/src/versionbits.cpp:171,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/versionbits.cpp:179,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/versionbits.cpp:179,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/versionbits.cpp:181,1
    - Dst: AbstractThresholdConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/versionbits.cpp:183,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/versionbits.cpp:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pindexPrev
    - ' cache'
    argTypes:
    - CBlockIndex*
    - ThresholdConditionCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 190
    functionName: AbstractThresholdConditionChecker::GetStateSinceHeightFor
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - AbstractThresholdConditionChecker::GetStateFor
    - BeginTime
    - Assert
    - CBlockIndex*::GetAncestor
    - Period
    linkageType: ''
    returnType: int
    signature: int AbstractThresholdConditionChecker::GetStateSinceHeightFor(const
      CBlockIndex* pindexPrev, ThresholdConditionCache& cache) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/versionbits.cpp:201,1
    - Dst: VersionBitsConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/versionbits.cpp:202,1
    - Dst: VersionBitsConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/versionbits.cpp:203,1
    - Dst: VersionBitsConditionChecker::GetStateSinceHeightFor
      Src: /src/bitcoin-core/src/versionbits.cpp:204,1
    - Dst: StateName
      Src: /src/bitcoin-core/src/versionbits.cpp:207,1
    - Dst: StateName
      Src: /src/bitcoin-core/src/versionbits.cpp:208,1
    - Dst: BIP9Info::stats::emplace
      Src: /src/bitcoin-core/src/versionbits.cpp:212,1
    - Dst: VersionBitsConditionChecker::GetStateStatisticsFor
      Src: /src/bitcoin-core/src/versionbits.cpp:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ' block_index'
    - ' params'
    - id
    argTypes:
    - CBlockIndex
    - Consensus::Params
    - Consensus::DeploymentPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: VersionBitsCache::Info
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - VersionBitsConditionChecker::GetStateSinceHeightFor
    - StateName
    - BIP9Info::stats::emplace
    - LOCK
    - VersionBitsConditionChecker::GetStateFor
    - VersionBitsConditionChecker::GetStateStatisticsFor
    linkageType: ''
    returnType: BIP9Info
    signature: BIP9Info VersionBitsCache::Info(const CBlockIndex& block_index, const
      Consensus::Params& params, Consensus::DeploymentPos id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/versionbits.cpp:232,1
    - Dst: static_cast<Consensus::DeploymentPos>
      Src: /src/bitcoin-core/src/versionbits.cpp:234,1
    - Dst: VersionBitsConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/versionbits.cpp:236,1
    - Dst: VersionBitsConditionChecker::Mask
      Src: /src/bitcoin-core/src/versionbits.cpp:238,1
    - Dst: BIP9GBTStatus::signalling::try_emplace
      Src: /src/bitcoin-core/src/versionbits.cpp:246,1
    - Dst: BIP9GBTStatus::locked_in::try_emplace
      Src: /src/bitcoin-core/src/versionbits.cpp:249,1
    - Dst: BIP9GBTStatus::active::try_emplace
      Src: /src/bitcoin-core/src/versionbits.cpp:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' block_index'
    - ' params'
    argTypes:
    - CBlockIndex
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 257
    functionName: VersionBitsCache::GBTStatus
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - BIP9GBTStatus::active::try_emplace
    - static_cast<Consensus::DeploymentPos>
    - LOCK
    - VersionBitsConditionChecker::GetStateFor
    - VersionBitsConditionChecker::Mask
    - BIP9GBTStatus::locked_in::try_emplace
    - BIP9GBTStatus::signalling::try_emplace
    linkageType: ''
    returnType: BIP9GBTStatus
    signature: BIP9GBTStatus VersionBitsCache::GBTStatus(const CBlockIndex& block_index,
      const Consensus::Params& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/versionbits.cpp:261,1
    - Dst: VersionBitsConditionChecker
      Src: /src/bitcoin-core/src/versionbits.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pindexPrev
    - ' params'
    - pos
    argTypes:
    - CBlockIndex*
    - Consensus::Params
    - Consensus::DeploymentPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: VersionBitsCache::IsActiveAfter
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - VersionBitsConditionChecker
    linkageType: ''
    returnType: bool
    signature: bool VersionBitsCache::IsActiveAfter(const CBlockIndex* pindexPrev,
      const Consensus::Params& params, Consensus::DeploymentPos pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Consensus::DeploymentPos>
      Src: /src/bitcoin-core/src/versionbits.cpp:270,1
    - Dst: VersionBitsConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/versionbits.cpp:272,1
    - Dst: VersionBitsConditionChecker::Mask
      Src: /src/bitcoin-core/src/versionbits.cpp:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pindexPrev
    - ' params'
    - ' caches'
    argTypes:
    - CBlockIndex*
    - Consensus::Params
    - std::array<ThresholdConditionCache, Consensus::MAX_VERSION_BITS_DEPLOYMENTS>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: ComputeBlockVersion
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Consensus::DeploymentPos>
    - VersionBitsConditionChecker::GetStateFor
    - VersionBitsConditionChecker::Mask
    linkageType: ''
    returnType: int32_t
    signature: int32_t ComputeBlockVersion(const CBlockIndex* pindexPrev, const Consensus::Params&
      params, std::array<ThresholdConditionCache, Consensus::MAX_VERSION_BITS_DEPLOYMENTS>&
      caches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/versionbits.cpp:283,1
    - Dst: VersionBitsCache::ComputeBlockVersion
      Src: /src/bitcoin-core/src/versionbits.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pindexPrev
    - ' params'
    argTypes:
    - CBlockIndex*
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: VersionBitsCache::ComputeBlockVersion
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - VersionBitsCache::ComputeBlockVersion
    linkageType: ''
    returnType: int32_t
    signature: int32_t VersionBitsCache::ComputeBlockVersion(const CBlockIndex* pindexPrev,
      const Consensus::Params& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/versionbits.cpp:289,1
    - Dst: clear
      Src: /src/bitcoin-core/src/versionbits.cpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: VersionBitsCache::Clear
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - clear
    linkageType: ''
    returnType: void
    signature: void VersionBitsCache::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/versionbits.cpp:310,1
    - Dst: IsTestChain
      Src: /src/bitcoin-core/src/versionbits.cpp:312,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/versionbits.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' chainparams'
    - ' caches'
    - bit
    argTypes:
    - CChainParams
    - std::array<ThresholdConditionCache, Consensus::MAX_VERSION_BITS_DEPLOYMENTS>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: WarningBitsConditionChecker::WarningBitsConditionChecker
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - IsTestChain
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void WarningBitsConditionChecker(const CChainParams& chainparams, std::array<ThresholdConditionCache,
      Consensus::MAX_VERSION_BITS_DEPLOYMENTS>& caches, int bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: WarningBitsConditionChecker::BeginTime
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t BeginTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/versionbits.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: WarningBitsConditionChecker::EndTime
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: int64_t
    signature: int64_t EndTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: WarningBitsConditionChecker::Period
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Period() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: WarningBitsConditionChecker::Threshold
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Threshold() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VersionBitsCache::ComputeBlockVersion
      Src: /src/bitcoin-core/src/versionbits.cpp:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: WarningBitsConditionChecker::Condition
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - VersionBitsCache::ComputeBlockVersion
    linkageType: ''
    returnType: bool
    signature: bool Condition(const CBlockIndex* pindex) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/versionbits.cpp:310,1
    - Dst: IsTestChain
      Src: /src/bitcoin-core/src/versionbits.cpp:312,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/versionbits.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' chainparams'
    - ' caches'
    - bit
    argTypes:
    - CChainParams
    - std::array<ThresholdConditionCache, Consensus::MAX_VERSION_BITS_DEPLOYMENTS>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: WarningBitsConditionChecker::WarningBitsConditionChecker
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - IsTestChain
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void WarningBitsConditionChecker(const CChainParams& chainparams, std::array<ThresholdConditionCache,
      Consensus::MAX_VERSION_BITS_DEPLOYMENTS>& caches, int bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: WarningBitsConditionChecker::BeginTime
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t BeginTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/versionbits.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: WarningBitsConditionChecker::EndTime
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: int64_t
    signature: int64_t EndTime() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: WarningBitsConditionChecker::Period
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Period() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: WarningBitsConditionChecker::Threshold
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Threshold() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VersionBitsCache::ComputeBlockVersion
      Src: /src/bitcoin-core/src/versionbits.cpp:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: WarningBitsConditionChecker::Condition
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - VersionBitsCache::ComputeBlockVersion
    linkageType: ''
    returnType: bool
    signature: bool Condition(const CBlockIndex* pindex) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/versionbits.cpp:335,1
    - Dst: WarningBitsConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/versionbits.cpp:339,1
    - Dst: at
      Src: /src/bitcoin-core/src/versionbits.cpp:339,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/versionbits.cpp:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pindex
    - ' chainparams'
    argTypes:
    - CBlockIndex*
    - CChainParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: VersionBitsCache::CheckUnknownActivations
    functionSourceFile: /src/bitcoin-core/src/versionbits.cpp
    functionUses: 0
    functionsReached:
    - WarningBitsConditionChecker::GetStateFor
    - LOCK
    - at
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::pair<int, bool>>
    signature: std::vector<std::pair<int, bool>> VersionBitsCache::CheckUnknownActivations(const
      CBlockIndex* pindex, const CChainParams& chainparams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:60,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:60,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:61,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:61,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:62,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:62,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:63,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:63,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:64,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:64,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:65,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:65,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:66,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: CBlockFileInfo::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - VARINT
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CBlockFileInfo, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: CBlockFileInfo::CBlockFileInfo
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBlockFileInfo()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - nHeightIn
    - nTimeIn
    argTypes:
    - unsigned int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: CBlockFileInfo::AddBlock
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddBlock(unsigned int nHeightIn, uint64_t nTimeIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - CBlockHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: CBlockIndex::CBlockIndex
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBlockIndex(const CBlockHeader& block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/chain.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: CBlockIndex::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/chain.h:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: CBlockIndex::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/chain.h:232,1
    - Dst: CBlockIndex::GetBlockHash
      Src: /src/bitcoin-core/src/chain.h:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: CBlockIndex::GetBlockHeader
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - CBlockIndex::GetBlockHash
    - CBlockHeader::CBlockHeader
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader GetBlockHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/chain.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (phashBlock != nullptr)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/bitcoin-core/src/chain.h
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: CBlockIndex::GetBlockHash
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint256
    signature: uint256 GetBlockHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: CBlockIndex::HaveNumChainTxs
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveNumChainTxs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: CBlockIndex::Time
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeSeconds
    signature: NodeSeconds Time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: CBlockIndex::GetBlockTime
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetBlockTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: CBlockIndex::GetBlockTimeMax
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetBlockTimeMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/chain.h:286,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/chain.h:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: CBlockIndex::GetMedianTimePast
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - std::sort
    - CBlockIndex*::GetBlockTime
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetMedianTimePast() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/chain.h:298,1
    - Dst: assert
      Src: /src/bitcoin-core/src/chain.h:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!(nUpTo & ~BLOCK_VALID_MASK))
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/bitcoin-core/src/chain.h
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: CBlockIndex::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/chain.h:309,1
    - Dst: assert
      Src: /src/bitcoin-core/src/chain.h:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!(nUpTo & ~BLOCK_VALID_MASK))
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/bitcoin-core/src/chain.h
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: CBlockIndex::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: CBlockIndex::CBlockIndex
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBlockIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: ~CBlockIndex()
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CBlockIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: CBlockIndex::CBlockIndex
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBlockIndex(const CBlockIndex&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: '& operator=(const CBlockIndex&)'
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex & operator=(const CBlockIndex&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: CBlockIndex::CBlockIndex
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBlockIndex(CBlockIndex&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: '& operator=(CBlockIndex&&)'
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex & operator=(CBlockIndex&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256
      Src: /src/bitcoin-core/src/chain.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: CDiskBlockIndex::CDiskBlockIndex
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - uint256
    linkageType: ''
    returnType: void
    signature: void CDiskBlockIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CDiskBlockIndex::GetBlockHash
      Src: /src/bitcoin-core/src/chain.h:374,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/chain.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: CDiskBlockIndex::CDiskBlockIndex
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - uint256
    - CDiskBlockIndex::GetBlockHash
    linkageType: ''
    returnType: void
    signature: void CDiskBlockIndex(const CBlockIndex* pindex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/chain.h:379,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:381,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/chain.h:381,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:383,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/chain.h:383,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:384,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:384,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:385,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:385,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:386,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/chain.h:386,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:387,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:387,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:388,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/chain.h:388,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:391,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:392,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:393,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:394,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:395,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/chain.h:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 397
    functionName: CDiskBlockIndex::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - VARINT
    - LOCK
    - READWRITE
    - VARINT_MODE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CDiskBlockIndex, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/chain.h:401,1
    - Dst: CBlockHeader::GetHash
      Src: /src/bitcoin-core/src/chain.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: CDiskBlockIndex::ConstructBlockHash
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - CBlockHeader::GetHash
    - CBlockHeader::CBlockHeader
    linkageType: ''
    returnType: uint256
    signature: uint256 ConstructBlockHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: CDiskBlockIndex::GetBlockHash
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint256
    signature: uint256 GetBlockHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: CDiskBlockIndex::ToString
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ToString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: CChain::CChain
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CChain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: CChain::CChain
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CChain(const CChain&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: '& operator=(const CChain&)'
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CChain
    signature: CChain & operator=(const CChain&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/chain.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: CChain::Genesis
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * Genesis() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/chain.h:435,1
    - Dst: size
      Src: /src/bitcoin-core/src/chain.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: CChain::Tip
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * Tip() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/chain.h:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - nHeight
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: '* operator[](int nHeight) const'
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * operator[](int nHeight) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: CChain::Contains
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Contains(const CBlockIndex* pindex) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CChain::Contains
      Src: /src/bitcoin-core/src/chain.h:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: CChain::Next
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 0
    functionsReached:
    - CChain::Contains
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * Next(const CBlockIndex* pindex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/chain.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: CChain::Height
    functionSourceFile: /src/bitcoin-core/src/chain.h
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Height() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/chainparams.cpp:28,1
    - Dst: seeds::emplace
      Src: /src/bitcoin-core/src/chainparams.cpp:29,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/chainparams.cpp:29,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/chainparams.cpp:31,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/chainparams.cpp:32,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/chainparams.cpp:33,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:34,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/chainparams.cpp:36,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:38,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chainparams.cpp:38,1
    - Dst: challenge::emplace
      Src: /src/bitcoin-core/src/chainparams.cpp:40,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - CChainParams::SigNetOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: ReadSigNetArgs
    functionSourceFile: /src/bitcoin-core/src/chainparams.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - seeds::emplace
    - GetArgs
    - std::runtime_error
    - challenge::emplace
    - strprintf
    - TryParseHex
    linkageType: ''
    returnType: void
    signature: void ReadSigNetArgs(const ArgsManager& args, CChainParams::SigNetOptions&
      options)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/chainparams.cpp:46,1
    - Dst: HasTestOption
      Src: /src/bitcoin-core/src/chainparams.cpp:47,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/chainparams.cpp:49,1
    - Dst: find
      Src: /src/bitcoin-core/src/chainparams.cpp:50,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:52,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chainparams.cpp:52,1
    - Dst: substr
      Src: /src/bitcoin-core/src/chainparams.cpp:55,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/chainparams.cpp:56,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/chainparams.cpp:57,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:58,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chainparams.cpp:58,1
    - Dst: substr
      Src: /src/bitcoin-core/src/chainparams.cpp:61,1
    - Dst: GetBuriedDeployment
      Src: /src/bitcoin-core/src/chainparams.cpp:62,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:65,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chainparams.cpp:65,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/chainparams.cpp:69,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/chainparams.cpp:70,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/chainparams.cpp:71,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/chainparams.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:72,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/chainparams.cpp:75,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:77,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chainparams.cpp:77,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/chainparams.cpp:80,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:82,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chainparams.cpp:82,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/chainparams.cpp:85,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/chainparams.cpp:86,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:88,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chainparams.cpp:88,1
    - Dst: Consensus::DeploymentPos
      Src: /src/bitcoin-core/src/chainparams.cpp:97,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/chainparams.cpp:99,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/chainparams.cpp:105,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/chainparams.cpp:105,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 48
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - CChainParams::RegTestOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 108
    functionName: ReadRegTestArgs
    functionSourceFile: /src/bitcoin-core/src/chainparams.cpp
    functionUses: 0
    functionsReached:
    - substr
    - GetArgs
    - strprintf
    - HasTestOption
    - Consensus::DeploymentPos
    - GetBuriedDeployment
    - std::runtime_error
    - LogInfo
    - ToIntegral
    - RandomMixin::max
    - SplitString
    - GetBoolArg
    - find
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void ReadRegTestArgs(const ArgsManager& args, CChainParams::RegTestOptions&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/chainparams.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (globalChainParams)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/bitcoin-core/src/chainparams.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: Params
    functionSourceFile: /src/bitcoin-core/src/chainparams.cpp
    functionUses: 34
    functionsReached:
    - assert
    linkageType: ''
    returnType: CChainParams
    signature: CChainParams &Params()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CChainParams::Main
      Src: /src/bitcoin-core/src/chainparams.cpp:121,1
    - Dst: CChainParams::TestNet
      Src: /src/bitcoin-core/src/chainparams.cpp:123,1
    - Dst: CChainParams::TestNet4
      Src: /src/bitcoin-core/src/chainparams.cpp:125,1
    - Dst: ReadSigNetArgs
      Src: /src/bitcoin-core/src/chainparams.cpp:128,1
    - Dst: CChainParams::SigNet
      Src: /src/bitcoin-core/src/chainparams.cpp:129,1
    - Dst: ReadRegTestArgs
      Src: /src/bitcoin-core/src/chainparams.cpp:133,1
    - Dst: CChainParams::RegTest
      Src: /src/bitcoin-core/src/chainparams.cpp:134,1
    - Dst: assert
      Src: /src/bitcoin-core/src/chainparams.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' args'
    - chain
    argTypes:
    - ArgsManager
    - ChainType
    assertStmts:
    - condition: (false)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/bitcoin-core/src/chainparams.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 138
    functionName: CreateChainParams
    functionSourceFile: /src/bitcoin-core/src/chainparams.cpp
    functionUses: 0
    functionsReached:
    - ReadSigNetArgs
    - ReadRegTestArgs
    - CChainParams::TestNet4
    - CChainParams::SigNet
    - CChainParams::Main
    - assert
    - CChainParams::TestNet
    - CChainParams::RegTest
    linkageType: ''
    returnType: std::unique_ptr<const CChainParams>
    signature: std::unique_ptr<const CChainParams> CreateChainParams(const ArgsManager&
      args, const ChainType chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectBaseParams
      Src: /src/bitcoin-core/src/chainparams.cpp:142,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/chainparams.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chain
    argTypes:
    - ChainType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: SelectParams
    functionSourceFile: /src/bitcoin-core/src/chainparams.cpp
    functionUses: 2
    functionsReached:
    - SelectBaseParams
    - CreateChainParams
    linkageType: ''
    returnType: void
    signature: void SelectParams(const ChainType chain)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/checkqueue.h:76,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/checkqueue.h:82,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/checkqueue.h:85,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/checkqueue.h:85,1
    - Dst: swap
      Src: /src/bitcoin-core/src/checkqueue.h:86,1
    - Dst: notify_one
      Src: /src/bitcoin-core/src/checkqueue.h:91,1
    - Dst: empty
      Src: /src/bitcoin-core/src/checkqueue.h:98,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/checkqueue.h:101,1
    - Dst: wait
      Src: /src/bitcoin-core/src/checkqueue.h:108,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/checkqueue.h:121,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/checkqueue.h:121,1
    - Dst: size
      Src: /src/bitcoin-core/src/checkqueue.h:121,1
    - Dst: end
      Src: /src/bitcoin-core/src/checkqueue.h:122,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/checkqueue.h:123,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/checkqueue.h:123,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/checkqueue.h:123,1
    - Dst: end
      Src: /src/bitcoin-core/src/checkqueue.h:123,1
    - Dst: erase
      Src: /src/bitcoin-core/src/checkqueue.h:124,1
    - Dst: end
      Src: /src/bitcoin-core/src/checkqueue.h:124,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/checkqueue.h:126,1
    - Dst: check
      Src: /src/bitcoin-core/src/checkqueue.h:131,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/checkqueue.h:132,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/checkqueue.h:135,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 137
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached:
    - end
    - check
    - erase
    - empty
    - std::optional::has_value
    - WAIT_LOCK
    - std::make_move_iterator
    - swap
    - std::vector::reserve
    - std::move
    - std::max
    - size
    - std::vector::assign
    - std::vector::clear
    - notify_one
    - has_value
    - wait
    - std::min
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/checkqueue.h:147,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/checkqueue.h:148,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/checkqueue.h:150,1
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/checkqueue.h:151,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/checkqueue.h:151,1
    - Dst: Loop
      Src: /src/bitcoin-core/src/checkqueue.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - batch_size
    - worker_threads_num
    argTypes:
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: CCheckQueue::CCheckQueue
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached:
    - reserve
    - util::ThreadRename
    - LogInfo
    - strprintf
    - emplace_back
    - Loop
    linkageType: ''
    returnType: void
    signature: void CCheckQueue(unsigned int batch_size, int worker_threads_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: CCheckQueue::CCheckQueue
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCheckQueue(const CCheckQueue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '& operator=(const CCheckQueue&)'
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CCheckQueue
    signature: CCheckQueue & operator=(const CCheckQueue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: CCheckQueue::CCheckQueue
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCheckQueue(CCheckQueue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: '& operator=(CCheckQueue&&)'
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CCheckQueue
    signature: CCheckQueue & operator=(CCheckQueue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Loop
      Src: /src/bitcoin-core/src/checkqueue.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached:
    - Loop
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/checkqueue.h:174,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/checkqueue.h:179,1
    - Dst: insert
      Src: /src/bitcoin-core/src/checkqueue.h:180,1
    - Dst: end
      Src: /src/bitcoin-core/src/checkqueue.h:180,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/checkqueue.h:180,1
    - Dst: begin
      Src: /src/bitcoin-core/src/checkqueue.h:180,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/checkqueue.h:180,1
    - Dst: end
      Src: /src/bitcoin-core/src/checkqueue.h:180,1
    - Dst: size
      Src: /src/bitcoin-core/src/checkqueue.h:181,1
    - Dst: size
      Src: /src/bitcoin-core/src/checkqueue.h:184,1
    - Dst: notify_one
      Src: /src/bitcoin-core/src/checkqueue.h:185,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/checkqueue.h:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached:
    - end
    - empty
    - notify_all
    - std::make_move_iterator
    - size
    - LOCK
    - notify_one
    - insert
    - begin
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/checkqueue.h:193,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/checkqueue.h:194,1
    - Dst: join
      Src: /src/bitcoin-core/src/checkqueue.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: ~CCheckQueue()
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached:
    - join
    - WITH_LOCK
    - notify_all
    linkageType: ''
    returnType: void
    signature: void ~CCheckQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/checkqueue.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: CCheckQueue::HasThreads
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool HasThreads() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CCheckQueueControl
      Src: /src/bitcoin-core/src/checkqueue.h:216,1
    - Dst: LOCK_ARGS
      Src: /src/bitcoin-core/src/checkqueue.h:219,1
    - Dst: Complete
      Src: /src/bitcoin-core/src/checkqueue.h:223,1
    - Dst: Add
      Src: /src/bitcoin-core/src/checkqueue.h:230,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/checkqueue.h:230,1
    - Dst: Complete
      Src: /src/bitcoin-core/src/checkqueue.h:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 238
    functionName: CCheckQueueControl
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 1
    functionsReached:
    - std::move
    - Complete
    - CCheckQueueControl
    - LOCK_ARGS
    - Add
    linkageType: ''
    returnType: class SCOPED_LOCKABLE
    signature: class SCOPED_LOCKABLE CCheckQueueControl
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: CCheckQueueControl
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCheckQueueControl(const CCheckQueueControl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ARGS
      Src: /src/bitcoin-core/src/checkqueue.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m_control_mutex
    argTypes:
    - queueIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 0
    functionsReached:
    - LOCK_ARGS
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION(queueIn.m_control_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Complete
      Src: /src/bitcoin-core/src/checkqueue.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: Complete
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 10
    functionsReached:
    - Complete
    linkageType: ''
    returnType: std::optional<R>
    signature: std::optional<R> Complete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/checkqueue.h:230,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/checkqueue.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' vChecks'
    argTypes:
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: Add
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 14
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: void
    signature: void Add(std::vector<T>&& vChecks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Complete
      Src: /src/bitcoin-core/src/checkqueue.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/checkqueue.h
    functionUses: 1
    functionsReached:
    - Complete
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: ~PeerManager()
    functionSourceFile: /src/bitcoin-core/src/net_processing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PeerManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: PeerManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/net_processing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(g_msgproc_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: CSerializedNetMsg
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSerializedNetMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: CSerializedNetMsg
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSerializedNetMsg(CSerializedNetMsg&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '& operator=(CSerializedNetMsg&&)'
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CSerializedNetMsg
    signature: CSerializedNetMsg & operator=(CSerializedNetMsg&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - CSerializedNetMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: CSerializedNetMsg
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSerializedNetMsg(const CSerializedNetMsg& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& operator=(const CSerializedNetMsg&)'
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CSerializedNetMsg
    signature: CSerializedNetMsg & operator=(const CSerializedNetMsg&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: Copy
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CSerializedNetMsg
    signature: CSerializedNetMsg Copy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.h:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' recv_in'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: CNetMessage::CNetMessage
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CNetMessage(DataStream&& recv_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: CNetMessage::CNetMessage
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CNetMessage(CNetMessage&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: CNetMessage::CNetMessage
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CNetMessage(const CNetMessage&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: '& operator=(CNetMessage&&)'
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CNetMessage
    signature: CNetMessage & operator=(CNetMessage&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: '& operator=(const CNetMessage&)'
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CNetMessage
    signature: CNetMessage & operator=(const CNetMessage&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: ~Transport()
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Transport()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.h:388,1
    - Dst: clear
      Src: /src/bitcoin-core/src/net.h:389,1
    - Dst: clear
      Src: /src/bitcoin-core/src/net.h:390,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net.h:391,1
    - Dst: SetNull
      Src: /src/bitcoin-core/src/net.h:395,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/net.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: V1Transport::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - SetNull
    - Reset
    - clear
    - AssertLockHeld
    - resize
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(m_recv_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.h:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: V1Transport::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(m_recv_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.h:422,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net.h:423,1
    - Dst: CompleteInternal
      Src: /src/bitcoin-core/src/net.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: (!m_recv_mutex)
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - CompleteInternal
    - AssertLockNotHeld
    - WITH_LOCK
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_recv_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.h:430,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.h:431,1
    - Dst: readData
      Src: /src/bitcoin-core/src/net.h:432,1
    - Dst: readHeader
      Src: /src/bitcoin-core/src/net.h:432,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/net.h:434,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/net.h:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 439
    functionName: (!m_recv_mutex)
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - AssertLockNotHeld
    - Reset
    - LOCK
    - readData
    - readHeader
    - subspan
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_recv_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: V1Transport::ShouldReconnectV1
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ShouldReconnectV1() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 723
    functionName: CNode::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_subver_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - permission
    argTypes:
    - NetPermissionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 727
    functionName: CNode::HasPermission
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - NetPermissions::HasFlag
    linkageType: ''
    returnType: bool
    signature: bool HasPermission(NetPermissionFlags permission) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: CNode::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_vSend)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net.h:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 772
        line_start: 772
        source_file: /src/bitcoin-core/src/net.h
    constantsTouched: []
    func_position:
      end: 774
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 774
    functionName: CNode::IsOutboundOrBlockRelayConn
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool IsOutboundOrBlockRelayConn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 778
    functionName: CNode::IsFullOutboundConn
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFullOutboundConn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 782
    functionName: CNode::IsManualConn
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsManualConn() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net.h:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 796
        line_start: 796
        source_file: /src/bitcoin-core/src/net.h
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    functionName: CNode::IsManualOrFullOutboundConn
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool IsManualOrFullOutboundConn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: CNode::IsBlockOnlyConn
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBlockOnlyConn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 806
    functionName: CNode::IsFeelerConn
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFeelerConn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 810
    functionName: CNode::IsAddrFetchConn
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsAddrFetchConn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: CNode::IsInboundConn
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInboundConn() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net.h:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 827
        line_start: 827
        source_file: /src/bitcoin-core/src/net.h
    constantsTouched: []
    func_position:
      end: 829
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 829
    functionName: CNode::ExpectServicesFromConn
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ExpectServicesFromConn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 892
    functionName: CNode::CNode
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CNode(const CNode&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 893
    functionName: '& operator=(const CNode&)'
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CNode
    signature: CNode & operator=(const CNode&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: CNode::GetId
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeId
    signature: NodeId GetId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: CNode::GetLocalNonce
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetLocalNonce() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net.h:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nRefCount >= 0)
      pos:
        line_end: 904
        line_start: 904
        source_file: /src/bitcoin-core/src/net.h
    constantsTouched: []
    func_position:
      end: 907
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 907
    functionName: CNode::GetRefCount
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int GetRefCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - greatest_common_version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 924
    functionName: CNode::SetCommonVersion
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: void SetCommonVersion(int greatest_common_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: CNode::GetCommonVersion
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetCommonVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: CNode::AddRef
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CNode
    signature: CNode * AddRef()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: CNode::Release
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNode::ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net.h:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 949
    functionName: CNode::ConnectionTypeAsString
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 1
    functionsReached:
    - CNode::ConnectionTypeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string ConnectionTypeAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.h:970,1
    - Dst: load
      Src: /src/bitcoin-core/src/net.h:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ping_time
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: CNode::PongReceived
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - std::min
    - load
    linkageType: ''
    returnType: void
    signature: void PongReceived(std::chrono::microseconds ping_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1033
    functionName: NetEventsInterface::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(g_msgproc_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1041
    functionName: NetEventsInterface::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(g_msgproc_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1049
    functionName: ~NetEventsInterface()
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NetEventsInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.h:1086,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.h:1090,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.h:1091,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net.h:1093,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.h:1102,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.h:1108,1
    - Dst: GetLocalServices
      Src: /src/bitcoin-core/src/net.h:1111,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net.h:1113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1119
    functionName: (!m_added_nodes_mutex, !m_total_bytes_sent_mutex)
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - push_back
    - GetLocalServices
    - AssertLockNotHeld
    - std::max
    - LOCK
    - std::min
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_added_nodes_mutex, !m_total_bytes_sent_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::StopThreads
      Src: /src/bitcoin-core/src/net.h:1132,1
    - Dst: CConnman::StopNodes
      Src: /src/bitcoin-core/src/net.h:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1134
    functionName: CConnman::Stop
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - CConnman::StopThreads
    - CConnman::StopNodes
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1137
    functionName: CConnman::GetNetworkActive
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetNetworkActive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1138
    functionName: CConnman::GetUseAddrmanOutgoing
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetUseAddrmanOutgoing() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.h:1154,1
    - Dst: CConnman::NodeFullyConnected
      Src: /src/bitcoin-core/src/net.h:1156,1
    - Dst: func
      Src: /src/bitcoin-core/src/net.h:1157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - NodeFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1159
    functionName: CConnman::ForEachNode
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - func
    - LOCK
    - CConnman::NodeFullyConnected
    linkageType: ''
    returnType: void
    signature: void ForEachNode(const NodeFn& func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.h:1163,1
    - Dst: CConnman::NodeFullyConnected
      Src: /src/bitcoin-core/src/net.h:1165,1
    - Dst: func
      Src: /src/bitcoin-core/src/net.h:1166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - NodeFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1168
    functionName: CConnman::ForEachNode
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - func
    - LOCK
    - CConnman::NodeFullyConnected
    linkageType: ''
    returnType: void
    signature: void ForEachNode(const NodeFn& func) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/net.h:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - services
    argTypes:
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1257
    functionName: CConnman::AddLocalServices
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - ServiceFlags
    linkageType: ''
    returnType: void
    signature: void AddLocalServices(ServiceFlags services)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/net.h:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - services
    argTypes:
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1258
    functionName: CConnman::RemoveLocalServices
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - ServiceFlags
    linkageType: ''
    returnType: void
    signature: void RemoveLocalServices(ServiceFlags services)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net.h:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flags'
    argTypes:
    - NetPermissionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1291
    functionName: CConnman::AddSocketPermissionFlags
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - NetPermissions::AddFlag
    linkageType: ''
    returnType: void
    signature: void AddSocketPermissionFlags(NetPermissionFlags& flags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sock_
    - permissions_
    argTypes:
    - std::shared_ptr<Sock>
    - NetPermissionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1295
    functionName: CConnman::ListenSocket
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListenSocket(std::shared_ptr<Sock> sock_, NetPermissionFlags permissions_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.h:1659,1
    - Dst: AddRef
      Src: /src/bitcoin-core/src/net.h:1662,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/net.h:1666,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.h:1666,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.h:1666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' connman'
    - shuffle
    argTypes:
    - CConnman
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1668
    functionName: CConnman::NodesSnapshot::NodesSnapshot
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - end
    - AddRef
    - LOCK
    - std::shuffle
    - begin
    linkageType: ''
    returnType: void
    signature: void NodesSnapshot(const CConnman& connman, bool shuffle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/bitcoin-core/src/net.h:1673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1675
    functionName: ~NodesSnapshot()
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~NodesSnapshot()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1680
    functionName: '& Nodes() const'
    functionSourceFile: /src/bitcoin-core/src/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CNode*>
    signature: std::vector<CNode*> & Nodes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getInt
      Src: /src/bitcoin-core/src/net_types.cpp:15,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/net_types.cpp:16,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/net_types.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' json'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: CBanEntry::CBanEntry
    functionSourceFile: /src/bitcoin-core/src/net_types.cpp
    functionUses: 0
    functionsReached:
    - getInt
    linkageType: ''
    returnType: void
    signature: void CBanEntry::CBanEntry(const UniValue& json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/net_types.cpp:24,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/net_types.cpp:25,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/net_types.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: CBanEntry::ToJson
    functionSourceFile: /src/bitcoin-core/src/net_types.cpp
    functionUses: 0
    functionsReached:
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue CBanEntry::ToJson() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToJson
      Src: /src/bitcoin-core/src/net_types.cpp:44,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/net_types.cpp:45,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net_types.cpp:45,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/net_types.cpp:46,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net_types.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bans'
    argTypes:
    - banmap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: BanMapToJson
    functionSourceFile: /src/bitcoin-core/src/net_types.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - ToJson
    - UniValue::push_back
    - std::move
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue BanMapToJson(const banmap_t& bans)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getValues
      Src: /src/bitcoin-core/src/net_types.cpp:60,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/net_types.cpp:61,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net_types.cpp:63,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/net_types.cpp:66,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/net_types.cpp:67,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/net_types.cpp:68,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net_types.cpp:69,1
    - Dst: insert_or_assign
      Src: /src/bitcoin-core/src/net_types.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' bans_json'
    - ' bans'
    argTypes:
    - UniValue
    - banmap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: BanMapFromJson
    functionSourceFile: /src/bitcoin-core/src/net_types.cpp
    functionUses: 1
    functionsReached:
    - getValues
    - LookupSubNet
    - LogPrintf
    - insert_or_assign
    - CSubNet::IsValid
    - get_str
    - getInt
    linkageType: ''
    returnType: void
    signature: void BanMapFromJson(const UniValue& bans_json, banmap_t& bans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EllSwiftCreate
      Src: /src/bitcoin-core/src/bip324.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ent32
    argTypes:
    - CKey
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: BIP324Cipher::BIP324Cipher
    functionSourceFile: /src/bitcoin-core/src/bip324.cpp
    functionUses: 0
    functionsReached:
    - EllSwiftCreate
    linkageType: ''
    returnType: void
    signature: void BIP324Cipher::BIP324Cipher(const CKey& key, std::span<const std::byte>
      ent32) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - ' pubkey'
    argTypes:
    - CKey
    - EllSwiftPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: BIP324Cipher::BIP324Cipher
    functionSourceFile: /src/bitcoin-core/src/bip324.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIP324Cipher::BIP324Cipher(const CKey& key, const EllSwiftPubKey&
      pubkey) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/bip324.cpp:37,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bip324.cpp:38,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bip324.cpp:38,1
    - Dst: end
      Src: /src/bitcoin-core/src/bip324.cpp:38,1
    - Dst: ComputeBIP324ECDHSecret
      Src: /src/bitcoin-core/src/bip324.cpp:41,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/bip324.cpp:45,1
    - Dst: ECDHSecret::data
      Src: /src/bitcoin-core/src/bip324.cpp:45,1
    - Dst: ECDHSecret::size
      Src: /src/bitcoin-core/src/bip324.cpp:45,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/bitcoin-core/src/bip324.cpp:47,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/bip324.cpp:47,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/bip324.cpp:47,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bip324.cpp:48,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/bitcoin-core/src/bip324.cpp:49,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/bip324.cpp:49,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/bip324.cpp:49,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bip324.cpp:50,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/bitcoin-core/src/bip324.cpp:51,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/bip324.cpp:51,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/bip324.cpp:51,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bip324.cpp:52,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/bitcoin-core/src/bip324.cpp:53,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/bip324.cpp:53,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/bip324.cpp:53,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bip324.cpp:54,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/bitcoin-core/src/bip324.cpp:57,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/bip324.cpp:57,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/bip324.cpp:57,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/bip324.cpp:58,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bip324.cpp:58,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bip324.cpp:58,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bip324.cpp:59,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/bip324.cpp:60,1
    - Dst: end
      Src: /src/bitcoin-core/src/bip324.cpp:60,1
    - Dst: end
      Src: /src/bitcoin-core/src/bip324.cpp:60,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bip324.cpp:61,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/bitcoin-core/src/bip324.cpp:64,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/bip324.cpp:64,1
    - Dst: data
      Src: /src/bitcoin-core/src/bip324.cpp:64,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/bip324.cpp:67,1
    - Dst: ECDHSecret::data
      Src: /src/bitcoin-core/src/bip324.cpp:67,1
    - Dst: ECDHSecret::size
      Src: /src/bitcoin-core/src/bip324.cpp:67,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/bip324.cpp:68,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/bip324.cpp:68,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/bip324.cpp:69,1
    - Dst: CKey
      Src: /src/bitcoin-core/src/bip324.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ' their_pubkey'
    - initiator
    - self_decrypt
    argTypes:
    - EllSwiftPubKey
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: BIP324Cipher::Initialize
    functionSourceFile: /src/bitcoin-core/src/bip324.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::copy
    - UCharCast
    - ComputeBIP324ECDHSecret
    - emplace
    - memory_cleanse
    - CHKDF_HMAC_SHA256_L32::Expand32
    - std::array::data
    - ECDHSecret::data
    - std::string
    - data
    - Params
    - ECDHSecret::size
    - CKey
    - begin
    linkageType: ''
    returnType: void
    signature: void BIP324Cipher::Initialize(const EllSwiftPubKey& their_pubkey, bool
      initiator, bool self_decrypt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/bip324.cpp:75,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/bip324.cpp:75,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/bip324.cpp:75,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/bip324.cpp:79,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/bip324.cpp:80,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/bip324.cpp:81,1
    - Dst: Crypt
      Src: /src/bitcoin-core/src/bip324.cpp:82,1
    - Dst: std::span<std::byte>::first
      Src: /src/bitcoin-core/src/bip324.cpp:82,1
    - Dst: BIP324Cipher::Encrypt
      Src: /src/bitcoin-core/src/bip324.cpp:86,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/bip324.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - contents
    - aad
    - ignore
    - output
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - bool
    - std::span<std::byte>
    assertStmts:
    - condition: (output.size() == contents.size() + EXPANSION)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bitcoin-core/src/bip324.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: BIP324Cipher::Encrypt
    functionSourceFile: /src/bitcoin-core/src/bip324.cpp
    functionUses: 1
    functionsReached:
    - std::span<std::byte>::first
    - std::span<std::byte>::size
    - std::span<const std::byte>::size
    - Crypt
    - BIP324Cipher::Encrypt
    - std::span<std::byte>::subspan
    - assert
    linkageType: ''
    returnType: void
    signature: void BIP324Cipher::Encrypt(std::span<const std::byte> contents, std::span<const
      std::byte> aad, bool ignore, std::span<std::byte> output) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/bip324.cpp:91,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/bip324.cpp:91,1
    - Dst: Crypt
      Src: /src/bitcoin-core/src/bip324.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const std::byte>
    assertStmts:
    - condition: (input.size() == LENGTH_LEN)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bitcoin-core/src/bip324.cpp
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: BIP324Cipher::DecryptLength
    functionSourceFile: /src/bitcoin-core/src/bip324.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - assert
    - Crypt
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BIP324Cipher::DecryptLength(std::span<const std::byte> input)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/bip324.cpp:102,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/bip324.cpp:102,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/bip324.cpp:102,1
    - Dst: BIP324Cipher::Decrypt
      Src: /src/bitcoin-core/src/bip324.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - aad
    - ' ignore'
    - contents
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - bool
    - std::span<std::byte>
    assertStmts:
    - condition: (input.size() + LENGTH_LEN == contents.size() + EXPANSION)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bitcoin-core/src/bip324.cpp
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: BIP324Cipher::Decrypt
    functionSourceFile: /src/bitcoin-core/src/bip324.cpp
    functionUses: 1
    functionsReached:
    - std::span<const std::byte>::size
    - BIP324Cipher::Decrypt
    - assert
    - std::span<std::byte>::size
    linkageType: ''
    returnType: bool
    signature: bool BIP324Cipher::Decrypt(std::span<const std::byte> input, std::span<const
      std::byte> aad, bool& ignore, std::span<std::byte> contents) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: InvalidAddrManVersionError::InvalidAddrManVersionError
    functionSourceFile: /src/bitcoin-core/src/addrman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidAddrManVersionError(std::string msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/addrman.h:52,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/addrman.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - AddressPosition
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: operator==(AddressPosition other)
    functionSourceFile: /src/bitcoin-core/src/addrman.h
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(AddressPosition other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - tried_in
    - multiplicity_in
    - bucket_in
    - position_in
    argTypes:
    - bool
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: AddressPosition
    functionSourceFile: /src/bitcoin-core/src/addrman.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressPosition(bool tried_in, int multiplicity_in, int bucket_in,
      int position_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbsPathForConfigVal
      Src: /src/bitcoin-core/src/init.cpp:174,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/init.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: GetPidFile
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - GetPathArg
    - AbsPathForConfigVal
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetPidFile(const ArgsManager& args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsArgNegated
      Src: /src/bitcoin-core/src/init.cpp:179,1
    - Dst: GetPidFile
      Src: /src/bitcoin-core/src/init.cpp:181,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/init.cpp:184,1
    - Dst: GetCurrentProcessId
      Src: /src/bitcoin-core/src/init.cpp:184,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/init.cpp:186,1
    - Dst: getpid
      Src: /src/bitcoin-core/src/init.cpp:186,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:191,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:191,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:191,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:191,1
    - Dst: GetPidFile
      Src: /src/bitcoin-core/src/init.cpp:191,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/init.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 193
    functionName: CreatePidFile
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - _
    - getpid
    - tinyformat::detail::FormatArg::format
    - InitError
    - SysErrorString
    - strprintf
    - GetPidFile
    - IsArgNegated
    - fs::PathToString
    - GetCurrentProcessId
    linkageType: ''
    returnType: bool
    signature: bool CreatePidFile(const ArgsManager& args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetPidFile
      Src: /src/bitcoin-core/src/init.cpp:198,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/init.cpp:199,1
    - Dst: std::error_code::message
      Src: /src/bitcoin-core/src/init.cpp:200,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/init.cpp:201,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: RemovePidFile
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletImpl::remove
    - std::error_code::message
    - LogPrintf
    - GetPidFile
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void RemovePidFile(const ArgsManager& args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:209,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/init.cpp:210,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:215,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/init.cpp:218,1
    - Dst: notifications::m_tip_block_cv::notify_all
      Src: /src/bitcoin-core/src/init.cpp:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts:
    - condition: (!g_shutdown)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (node.shutdown_signal)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/bitcoin-core/src/init.cpp
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: InitContext
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - assert
    - emplace
    - notifications::m_tip_block_cv::notify_all
    - WITH_LOCK
    linkageType: ''
    returnType: void
    signature: void InitContext(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: ShutdownRequested
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: bool
    signature: bool ShutdownRequested(node::NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:255,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:256,1
    - Dst: join
      Src: /src/bitcoin-core/src/init.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: ShutdownNotify
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - join
    - GetArgs
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void ShutdownNotify(const ArgsManager& args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownNotify
      Src: /src/bitcoin-core/src/init.cpp:267,1
    - Dst: InterruptHTTPServer
      Src: /src/bitcoin-core/src/init.cpp:269,1
    - Dst: InterruptHTTPRPC
      Src: /src/bitcoin-core/src/init.cpp:270,1
    - Dst: InterruptRPC
      Src: /src/bitcoin-core/src/init.cpp:271,1
    - Dst: InterruptREST
      Src: /src/bitcoin-core/src/init.cpp:272,1
    - Dst: InterruptTorControl
      Src: /src/bitcoin-core/src/init.cpp:273,1
    - Dst: InterruptMapPort
      Src: /src/bitcoin-core/src/init.cpp:274,1
    - Dst: connman::Interrupt
      Src: /src/bitcoin-core/src/init.cpp:276,1
    - Dst: Interrupt
      Src: /src/bitcoin-core/src/init.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 280
    functionName: Interrupt
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 3
    functionsReached:
    - InterruptREST
    - InterruptHTTPRPC
    - Interrupt
    - InterruptRPC
    - InterruptHTTPServer
    - InterruptTorControl
    - ShutdownNotify
    - connman::Interrupt
    - InterruptMapPort
    linkageType: ''
    returnType: void
    signature: void Interrupt(NodeContext& node)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/init.cpp:285,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:287,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:288,1
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/init.cpp:294,1
    - Dst: mempool::AddTransactionsUpdated
      Src: /src/bitcoin-core/src/init.cpp:295,1
    - Dst: StopHTTPRPC
      Src: /src/bitcoin-core/src/init.cpp:297,1
    - Dst: StopREST
      Src: /src/bitcoin-core/src/init.cpp:298,1
    - Dst: StopRPC
      Src: /src/bitcoin-core/src/init.cpp:299,1
    - Dst: StopHTTPServer
      Src: /src/bitcoin-core/src/init.cpp:300,1
    - Dst: StopMapPort
      Src: /src/bitcoin-core/src/init.cpp:301,1
    - Dst: validation_signals::UnregisterValidationInterface
      Src: /src/bitcoin-core/src/init.cpp:305,1
    - Dst: peerman::get
      Src: /src/bitcoin-core/src/init.cpp:305,1
    - Dst: connman::Stop
      Src: /src/bitcoin-core/src/init.cpp:306,1
    - Dst: StopTorControl
      Src: /src/bitcoin-core/src/init.cpp:308,1
    - Dst: background_init_thread::joinable
      Src: /src/bitcoin-core/src/init.cpp:310,1
    - Dst: background_init_thread::join
      Src: /src/bitcoin-core/src/init.cpp:310,1
    - Dst: scheduler::stop
      Src: /src/bitcoin-core/src/init.cpp:314,1
    - Dst: peerman::reset
      Src: /src/bitcoin-core/src/init.cpp:318,1
    - Dst: connman::reset
      Src: /src/bitcoin-core/src/init.cpp:319,1
    - Dst: banman::reset
      Src: /src/bitcoin-core/src/init.cpp:320,1
    - Dst: addrman::reset
      Src: /src/bitcoin-core/src/init.cpp:321,1
    - Dst: netgroupman::reset
      Src: /src/bitcoin-core/src/init.cpp:322,1
    - Dst: mempool::GetLoadTried
      Src: /src/bitcoin-core/src/init.cpp:324,1
    - Dst: ShouldPersistMempool
      Src: /src/bitcoin-core/src/init.cpp:324,1
    - Dst: DumpMempool
      Src: /src/bitcoin-core/src/init.cpp:325,1
    - Dst: MempoolPath
      Src: /src/bitcoin-core/src/init.cpp:325,1
    - Dst: fee_estimator::Flush
      Src: /src/bitcoin-core/src/init.cpp:331,1
    - Dst: validation_signals::UnregisterValidationInterface
      Src: /src/bitcoin-core/src/init.cpp:333,1
    - Dst: fee_estimator::get
      Src: /src/bitcoin-core/src/init.cpp:333,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/init.cpp:339,1
    - Dst: chainman::GetAll
      Src: /src/bitcoin-core/src/init.cpp:340,1
    - Dst: CanFlushToDisk
      Src: /src/bitcoin-core/src/init.cpp:341,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/init.cpp:342,1
    - Dst: validation_signals::FlushBackgroundCallbacks
      Src: /src/bitcoin-core/src/init.cpp:349,1
    - Dst: Stop
      Src: /src/bitcoin-core/src/init.cpp:352,1
    - Dst: reset
      Src: /src/bitcoin-core/src/init.cpp:353,1
    - Dst: reset
      Src: /src/bitcoin-core/src/init.cpp:354,1
    - Dst: DestroyAllBlockFilterIndexes
      Src: /src/bitcoin-core/src/init.cpp:355,1
    - Dst: indexes::clear
      Src: /src/bitcoin-core/src/init.cpp:356,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/init.cpp:365,1
    - Dst: chainman::GetAll
      Src: /src/bitcoin-core/src/init.cpp:366,1
    - Dst: CanFlushToDisk
      Src: /src/bitcoin-core/src/init.cpp:367,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/init.cpp:368,1
    - Dst: ResetCoinsViews
      Src: /src/bitcoin-core/src/init.cpp:369,1
    - Dst: stop
      Src: /src/bitcoin-core/src/init.cpp:374,1
    - Dst: validation_signals::UnregisterValidationInterface
      Src: /src/bitcoin-core/src/init.cpp:379,1
    - Dst: get
      Src: /src/bitcoin-core/src/init.cpp:379,1
    - Dst: reset
      Src: /src/bitcoin-core/src/init.cpp:380,1
    - Dst: chain_clients::clear
      Src: /src/bitcoin-core/src/init.cpp:384,1
    - Dst: validation_signals::UnregisterAllValidationInterfaces
      Src: /src/bitcoin-core/src/init.cpp:386,1
    - Dst: mempool::reset
      Src: /src/bitcoin-core/src/init.cpp:388,1
    - Dst: fee_estimator::reset
      Src: /src/bitcoin-core/src/init.cpp:389,1
    - Dst: chainman::reset
      Src: /src/bitcoin-core/src/init.cpp:390,1
    - Dst: validation_signals::reset
      Src: /src/bitcoin-core/src/init.cpp:391,1
    - Dst: scheduler::reset
      Src: /src/bitcoin-core/src/init.cpp:392,1
    - Dst: ecc_context::reset
      Src: /src/bitcoin-core/src/init.cpp:393,1
    - Dst: kernel::reset
      Src: /src/bitcoin-core/src/init.cpp:394,1
    - Dst: RemovePidFile
      Src: /src/bitcoin-core/src/init.cpp:396,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:398,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 81
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 399
    functionName: Shutdown
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - mempool::reset
    - background_init_thread::joinable
    - scheduler::reset
    - stop
    - ecc_context::reset
    - util::ThreadRename
    - LogInfo
    - indexes::clear
    - netgroupman::reset
    - connman::Stop
    - StopRPC
    - ForceFlushStateToDisk
    - validation_signals::FlushBackgroundCallbacks
    - chainman::GetAll
    - MempoolPath
    - validation_signals::reset
    - kernel::reset
    - fee_estimator::reset
    - get
    - background_init_thread::join
    - StopHTTPRPC
    - DestroyAllBlockFilterIndexes
    - Stop
    - StopMapPort
    - peerman::get
    - addrman::reset
    - DumpMempool
    - banman::reset
    - Assert
    - StopHTTPServer
    - fee_estimator::Flush
    - mempool::AddTransactionsUpdated
    - StopREST
    - mempool::GetLoadTried
    - ShouldPersistMempool
    - fee_estimator::get
    - ResetCoinsViews
    - chainman::reset
    - chain_clients::clear
    - LOCK
    - validation_signals::UnregisterAllValidationInterfaces
    - connman::reset
    - reset
    - scheduler::stop
    - StopTorControl
    - RemovePidFile
    - validation_signals::UnregisterValidationInterface
    - CanFlushToDisk
    - TRY_LOCK
    - peerman::reset
    linkageType: ''
    returnType: void
    signature: void Shutdown(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: HandleSIGTERM
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: void
    signature: void HandleSIGTERM(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/init.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: HandleSIGHUP
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void HandleSIGHUP(int)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:421,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/init.cpp:422,1
    - Dst: Sleep
      Src: /src/bitcoin-core/src/init.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dwCtrlType
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: consoleCtrlHandler
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - LogError
    - Assert
    - Sleep
    linkageType: ''
    returnType: BOOL
    signature: BOOL consoleCtrlHandler(DWORD dwCtrlType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/bitcoin-core/src/init.cpp:435,1
    - Dst: sigaction
      Src: /src/bitcoin-core/src/init.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: registerSignalHandler
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaction
    linkageType: ''
    returnType: void
    signature: void registerSignalHandler(int signal, void(*handler)(int))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetupHelpOptions
      Src: /src/bitcoin-core/src/init.cpp:443,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:444,1
    - Dst: init::AddLoggingArgs
      Src: /src/bitcoin-core/src/init.cpp:446,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/init.cpp:448,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/init.cpp:449,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/init.cpp:450,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/init.cpp:451,1
    - Dst: CreateBaseChainParams
      Src: /src/bitcoin-core/src/init.cpp:452,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/init.cpp:453,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/init.cpp:454,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/init.cpp:455,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/init.cpp:456,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/init.cpp:457,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:465,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:467,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/init.cpp:469,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:470,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:471,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:472,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:478,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:480,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:482,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:482,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:483,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:483,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:484,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:484,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:485,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:485,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:486,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:487,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:487,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:488,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:488,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:489,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:490,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:490,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:491,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:492,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:492,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:494,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:494,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:495,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:495,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/init.cpp:496,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:497,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:497,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:499,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:499,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:500,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:501,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:505,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:505,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:506,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:506,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:509,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:510,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:511,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:511,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:513,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:514,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:516,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:516,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:517,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:518,1
    - Dst: ListBlockFilterTypes
      Src: /src/bitcoin-core/src/init.cpp:518,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:522,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:522,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:523,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:523,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:524,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:524,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:525,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:525,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:525,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:525,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:525,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:525,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:525,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:526,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:527,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:528,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:529,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:529,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:530,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:530,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:531,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:532,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:532,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:533,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:533,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:534,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:534,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:535,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:535,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:536,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:536,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:537,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:537,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:538,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:538,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:539,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:539,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:541,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:543,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:545,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:546,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:546,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:547,1
    - Dst: Join
      Src: /src/bitcoin-core/src/init.cpp:547,1
    - Dst: GetNetworkNames
      Src: /src/bitcoin-core/src/init.cpp:547,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:548,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:548,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:549,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:549,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:550,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:550,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:551,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:551,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:552,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:552,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:552,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:552,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:552,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:552,1
    - Dst: auto::GetDefaultPort
      Src: /src/bitcoin-core/src/init.cpp:552,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:565,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:573,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:573,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:574,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:575,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:576,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:576,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:577,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:577,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:578,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:578,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:579,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:580,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:580,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:581,1
    - Dst: Join
      Src: /src/bitcoin-core/src/init.cpp:582,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:585,1
    - Dst: AddWalletOptions
      Src: /src/bitcoin-core/src/init.cpp:591,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:594,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:595,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:596,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:597,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:598,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:599,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:599,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:600,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:600,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:601,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:601,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:602,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:602,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:603,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:603,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:605,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:606,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:607,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:608,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:609,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:610,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:611,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:612,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:613,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:614,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:617,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:617,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:618,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:618,1
    - Dst: Join
      Src: /src/bitcoin-core/src/init.cpp:618,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:619,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:619,1
    - Dst: auto::DefaultConsistencyChecks
      Src: /src/bitcoin-core/src/init.cpp:619,1
    - Dst: auto::DefaultConsistencyChecks
      Src: /src/bitcoin-core/src/init.cpp:619,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:620,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:620,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:621,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:621,1
    - Dst: auto::DefaultConsistencyChecks
      Src: /src/bitcoin-core/src/init.cpp:621,1
    - Dst: auto::DefaultConsistencyChecks
      Src: /src/bitcoin-core/src/init.cpp:621,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:623,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:624,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:625,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:625,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:626,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:626,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:627,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:627,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:628,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:628,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:629,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:629,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:630,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:630,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:631,1
    - Dst: Join
      Src: /src/bitcoin-core/src/init.cpp:631,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:632,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:633,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:634,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:634,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:635,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:636,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/init.cpp:637,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:639,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:639,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:640,1
    - Dst: SetupChainParamsBaseOptions
      Src: /src/bitcoin-core/src/init.cpp:642,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:644,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:644,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:645,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:645,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/init.cpp:645,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:646,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:646,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/init.cpp:646,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:647,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:647,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/init.cpp:647,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:648,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:648,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:649,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:649,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:650,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:651,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:655,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:655,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:657,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:657,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/init.cpp:658,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:659,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:659,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:660,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:660,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:663,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:663,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:664,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:664,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:665,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:665,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/init.cpp:665,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:666,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:668,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:668,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:669,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:670,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:671,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:672,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:672,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:673,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:674,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:674,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:675,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:676,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:676,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/init.cpp:676,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/init.cpp:676,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/init.cpp:676,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/init.cpp:676,1
    - Dst: auto::RPCPort
      Src: /src/bitcoin-core/src/init.cpp:676,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:677,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:677,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:678,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:678,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:679,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:680,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:681,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:682,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:682,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:683,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:685,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:689,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:689,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/init.cpp:690,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:690,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:692,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:693,1
    - Dst: AddHiddenArgs
      Src: /src/bitcoin-core/src/init.cpp:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 159
    argCount: 2
    argNames:
    - ' argsman'
    - can_listen_ipc
    argTypes:
    - ArgsManager
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 698
    functionName: SetupServerArgs
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - SetupChainParamsBaseOptions
    - Join
    - auto::GetDefaultPort
    - auto::GetConsensus
    - AddWalletOptions
    - CreateChainParams
    - FormatMoney
    - GetHex
    - init::AddLoggingArgs
    - auto::DefaultConsistencyChecks
    - CreateBaseChainParams
    - SetupHelpOptions
    - auto::RPCPort
    - strprintf
    - ListBlockFilterTypes
    - AddArg
    - Ticks
    - GetNetworkNames
    - AddHiddenArgs
    linkageType: ''
    returnType: void
    signature: void SetupServerArgs(ArgsManager& argsman, bool can_listen_ipc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:703,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/init.cpp:704,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/init.cpp:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: StartupNotify
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - GetArg
    - std::thread::detach
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void StartupNotify(const ArgsManager& args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:713,1
    - Dst: InitHTTPServer
      Src: /src/bitcoin-core/src/init.cpp:714,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:714,1
    - Dst: StartRPC
      Src: /src/bitcoin-core/src/init.cpp:717,1
    - Dst: StartHTTPRPC
      Src: /src/bitcoin-core/src/init.cpp:719,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:721,1
    - Dst: StartREST
      Src: /src/bitcoin-core/src/init.cpp:721,1
    - Dst: StartHTTPServer
      Src: /src/bitcoin-core/src/init.cpp:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 711
    functionDepth: 5
    functionLinenumber: 711
    functionLinenumberEnd: 724
    functionName: AppInitServers
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - StartREST
    - StartHTTPServer
    - StartRPC
    - Assert
    - GetBoolArg
    - StartHTTPRPC
    - InitHTTPServer
    linkageType: ''
    returnType: bool
    signature: bool AppInitServers(NodeContext& node)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:731,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:732,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:733,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:735,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:736,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:737,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:740,1
    - Dst: IsArgNegated
      Src: /src/bitcoin-core/src/init.cpp:740,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:740,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:743,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:744,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:745,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:746,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:749,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:752,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:753,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:756,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:757,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:760,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:761,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:764,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:766,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:767,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:769,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:770,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:771,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:772,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:773,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:774,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:778,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:780,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:781,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:784,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:786,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:787,1
    - Dst: SoftSetArg
      Src: /src/bitcoin-core/src/init.cpp:789,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/init.cpp:789,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:790,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:794,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:795,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:796,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:798,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/init.cpp:799,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/init.cpp:800,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/init.cpp:800,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/init.cpp:800,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/init.cpp:801,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:804,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:805,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 808
    functionName: InitParameterInteraction
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - SoftSetBoolArg
    - auto::begin
    - GetArgs
    - ToString
    - GetArg
    - GetIntArg
    - SoftSetArg
    - std::any_of
    - LogInfo
    - auto::empty
    - GetBoolArg
    - auto::end
    - ParseNetwork
    - IsArgNegated
    linkageType: ''
    returnType: void
    signature: void InitParameterInteraction(ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init::SetLoggingOptions
      Src: /src/bitcoin-core/src/init.cpp:818,1
    - Dst: init::LogPackageVersion
      Src: /src/bitcoin-core/src/init.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: InitLogging
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - init::LogPackageVersion
    - init::SetLoggingOptions
    linkageType: ''
    returnType: void
    signature: void InitLogging(const ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::set_new_handler
      Src: /src/bitcoin-core/src/init.cpp:838,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/init.cpp:839,1
    - Dst: std::terminate
      Src: /src/bitcoin-core/src/init.cpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 843
    functionName: new_handler_terminate
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - std::set_new_handler
    - std::terminate
    - LogError
    linkageType: ''
    returnType: void
    signature: void new_handler_terminate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _CrtSetReportMode
      Src: /src/bitcoin-core/src/init.cpp:850,1
    - Dst: _CrtSetReportFile
      Src: /src/bitcoin-core/src/init.cpp:851,1
    - Dst: CreateFileA
      Src: /src/bitcoin-core/src/init.cpp:851,1
    - Dst: _set_abort_behavior
      Src: /src/bitcoin-core/src/init.cpp:853,1
    - Dst: HeapSetInformation
      Src: /src/bitcoin-core/src/init.cpp:857,1
    - Dst: SetupNetworking
      Src: /src/bitcoin-core/src/init.cpp:859,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:860,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:860,1
    - Dst: registerSignalHandler
      Src: /src/bitcoin-core/src/init.cpp:865,1
    - Dst: registerSignalHandler
      Src: /src/bitcoin-core/src/init.cpp:866,1
    - Dst: registerSignalHandler
      Src: /src/bitcoin-core/src/init.cpp:869,1
    - Dst: signal
      Src: /src/bitcoin-core/src/init.cpp:872,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/bitcoin-core/src/init.cpp:874,1
    - Dst: std::set_new_handler
      Src: /src/bitcoin-core/src/init.cpp:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' args'
    - ' exit_status'
    argTypes:
    - ArgsManager
    - std::atomic<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 880
    functionName: AppInitBasicSetup
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - _CrtSetReportFile
    - _set_abort_behavior
    - Untranslated
    - registerSignalHandler
    - HeapSetInformation
    - _CrtSetReportMode
    - SetConsoleCtrlHandler
    - InitError
    - std::set_new_handler
    - signal
    - CreateFileA
    - SetupNetworking
    linkageType: ''
    returnType: bool
    signature: bool AppInitBasicSetup(const ArgsManager& args, std::atomic<int>& exit_status)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/init.cpp:884,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:890,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:891,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:891,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:894,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:894,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:895,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:895,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:899,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:900,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:900,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/init.cpp:906,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:908,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/init.cpp:908,1
    - Dst: MessageStart
      Src: /src/bitcoin-core/src/init.cpp:908,1
    - Dst: GetUnsuitableSectionOnlyArgs
      Src: /src/bitcoin-core/src/init.cpp:911,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:912,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:912,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/init.cpp:912,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/init.cpp:912,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:912,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/init.cpp:915,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:916,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:921,1
    - Dst: GetUnrecognizedSections
      Src: /src/bitcoin-core/src/init.cpp:926,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:927,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:927,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:927,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:927,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:927,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/init.cpp:930,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:931,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/init.cpp:934,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/init.cpp:934,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:935,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:935,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:935,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:935,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:939,1
    - Dst: AllBlockFilterTypes
      Src: /src/bitcoin-core/src/init.cpp:941,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:943,1
    - Dst: BlockFilterTypeByName
      Src: /src/bitcoin-core/src/init.cpp:946,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:947,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:947,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:947,1
    - Dst: insert
      Src: /src/bitcoin-core/src/init.cpp:949,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:954,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/init.cpp:955,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:959,1
    - Dst: count
      Src: /src/bitcoin-core/src/init.cpp:960,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:961,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:961,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/init.cpp:964,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:967,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:968,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:969,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:969,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:970,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:971,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:971,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:976,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:976,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:977,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:977,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:981,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:981,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:982,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:983,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:983,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:987,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:987,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:988,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:988,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/init.cpp:995,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:997,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:999,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:999,1
    - Dst: RaiseFileDescriptorLimit
      Src: /src/bitcoin-core/src/init.cpp:1005,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/init.cpp:1008,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1011,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1011,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1011,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/init.cpp:1014,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:1017,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1017,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1017,1
    - Dst: init::SetLoggingCategories
      Src: /src/bitcoin-core/src/init.cpp:1020,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1020,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/init.cpp:1020,1
    - Dst: init::SetLoggingLevel
      Src: /src/bitcoin-core/src/init.cpp:1021,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1021,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/init.cpp:1021,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1023,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1028,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1030,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:1030,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:1033,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/init.cpp:1034,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1035,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/init.cpp:1035,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1040,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1042,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1042,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1042,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1047,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1049,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1049,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1049,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1052,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1052,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1052,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1056,1
    - Dst: ParameterInteraction
      Src: /src/bitcoin-core/src/init.cpp:1058,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1061,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/init.cpp:1062,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1065,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/init.cpp:1066,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1068,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/init.cpp:1069,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/init.cpp:1070,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1071,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:1071,1
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/init.cpp:1074,1
    - Dst: begin
      Src: /src/bitcoin-core/src/init.cpp:1074,1
    - Dst: end
      Src: /src/bitcoin-core/src/init.cpp:1074,1
    - Dst: find
      Src: /src/bitcoin-core/src/init.cpp:1075,1
    - Dst: substr
      Src: /src/bitcoin-core/src/init.cpp:1076,1
    - Dst: end
      Src: /src/bitcoin-core/src/init.cpp:1078,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:1079,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1079,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1079,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/init.cpp:1089,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/init.cpp:1092,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1094,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/init.cpp:1094,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/init.cpp:1098,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/init.cpp:1101,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/init.cpp:1105,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1107,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/init.cpp:1107,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/init.cpp:1110,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1112,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/init.cpp:1112,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 134
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 1117
    functionName: AppInitParameterInteraction
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - substr
    - GetArgs
    - GetArg
    - LogInfo
    - std::min
    - ChainTypeToString
    - IsArgSet
    - MessageStart
    - util::ErrorString
    - SetMockTime
    - ApplyArgsManOptions
    - GetUnsuitableSectionOnlyArgs
    - GetChainType
    - bilingual_str::empty
    - RaiseFileDescriptorLimit
    - InitWarning
    - std::vector::empty
    - Untranslated
    - find
    - std::find_if
    - init::SetLoggingLevel
    - AmountErrMsg
    - Params
    - strprintf
    - count
    - AllBlockFilterTypes
    - ParseMoney
    - end
    - _
    - GetBlocksDirPath
    - init::SetLoggingCategories
    - InitError
    - GetIntArg
    - fs::is_directory
    - ServiceFlags
    - GetUnrecognizedSections
    - std::max
    - BlockFilterTypeByName
    - ParameterInteraction
    - GetDataDirNet
    - GetBoolArg
    - HexStr
    - insert
    - begin
    linkageType: ''
    returnType: bool
    signature: bool AppInitParameterInteraction(const ArgsManager& args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/init.cpp:1122,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1124,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1124,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1124,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:1124,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1126,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1126,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1126,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:1126,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' dir'
    - probeOnly
    argTypes:
    - fs::path
    - bool
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1128
        line_start: 1128
        source_file: /src/bitcoin-core/src/init.cpp
    constantsTouched: []
    func_position:
      end: 1130
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1130
    functionName: LockDirectory
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - _
    - InitError
    - strprintf
    - util::LockDirectory
    - assert
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool LockDirectory(const fs::path& dir, bool probeOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockDirectory
      Src: /src/bitcoin-core/src/init.cpp:1133,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/init.cpp:1133,1
    - Dst: LockDirectory
      Src: /src/bitcoin-core/src/init.cpp:1134,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/init.cpp:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - probeOnly
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1135
    functionName: LockDirectories
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - LockDirectory
    - GetDataDirNet
    - GetBlocksDirPath
    linkageType: ''
    returnType: bool
    signature: bool LockDirectories(bool probeOnly)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kernel::SanityChecks
      Src: /src/bitcoin-core/src/init.cpp:1140,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1142,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/init.cpp:1142,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1143,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1143,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1143,1
    - Dst: ECC_InitSanityCheck
      Src: /src/bitcoin-core/src/init.cpp:1146,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1147,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1147,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1147,1
    - Dst: LockDirectories
      Src: /src/bitcoin-core/src/init.cpp:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' kernel'
    argTypes:
    - kernel::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1137
    functionDepth: 5
    functionLinenumber: 1137
    functionLinenumberEnd: 1154
    functionName: AppInitSanityChecks
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - _
    - util::ErrorString
    - LockDirectories
    - InitError
    - ECC_InitSanityCheck
    - strprintf
    - kernel::SanityChecks
    linkageType: ''
    returnType: bool
    signature: bool AppInitSanityChecks(const kernel::Context& kernel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LockDirectories
      Src: /src/bitcoin-core/src/init.cpp:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1166
    functionName: AppInitLockDirectories
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - LockDirectories
    linkageType: ''
    returnType: bool
    signature: bool AppInitLockDirectories()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init::makeChain
      Src: /src/bitcoin-core/src/init.cpp:1170,1
    - Dst: init::makeMining
      Src: /src/bitcoin-core/src/init.cpp:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1173
    functionName: AppInitInterfaces
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - init::makeMining
    - init::makeChain
    linkageType: ''
    returnType: bool
    signature: bool AppInitInterfaces(NodeContext& node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:1180,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/init.cpp:1181,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1183,1
    - Dst: InvalidPortErrMsg
      Src: /src/bitcoin-core/src/init.cpp:1183,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1203,1
    - Dst: substr
      Src: /src/bitcoin-core/src/init.cpp:1205,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/init.cpp:1205,1
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/init.cpp:1208,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/init.cpp:1211,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1212,1
    - Dst: InvalidPortErrMsg
      Src: /src/bitcoin-core/src/init.cpp:1212,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1215,1
    - Dst: InvalidPortErrMsg
      Src: /src/bitcoin-core/src/init.cpp:1215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1222
    functionName: CheckHostPortOptions
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - substr
    - GetArgs
    - GetArg
    - rfind
    - InitError
    - starts_with
    - ToIntegral
    - SplitHostPort
    - InvalidPortErrMsg
    linkageType: ''
    returnType: bool
    signature: bool CheckHostPortOptions(const ArgsManager& args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: notifications::reset
      Src: /src/bitcoin-core/src/init.cpp:1234,1
    - Dst: mempool::reset
      Src: /src/bitcoin-core/src/init.cpp:1235,1
    - Dst: chainman::reset
      Src: /src/bitcoin-core/src/init.cpp:1236,1
    - Dst: Params
      Src: /src/bitcoin-core/src/init.cpp:1238,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1240,1
    - Dst: std::make_unique<KernelNotifications>
      Src: /src/bitcoin-core/src/init.cpp:1241,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1241,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1241,1
    - Dst: ReadNotificationArgs
      Src: /src/bitcoin-core/src/init.cpp:1242,1
    - Dst: DefaultConsistencyChecks
      Src: /src/bitcoin-core/src/init.cpp:1245,1
    - Dst: validation_signals::get
      Src: /src/bitcoin-core/src/init.cpp:1246,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1248,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/init.cpp:1248,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1250,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/init.cpp:1251,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/init.cpp:1252,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1255,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/init.cpp:1260,1
    - Dst: validation_signals::get
      Src: /src/bitcoin-core/src/init.cpp:1262,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1264,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/init.cpp:1264,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/init.cpp:1268,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/init.cpp:1271,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1276,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/init.cpp:1276,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1281,1
    - Dst: std::make_unique<ChainstateManager>
      Src: /src/bitcoin-core/src/init.cpp:1283,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1283,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/init.cpp:1285,1
    - Dst: what
      Src: /src/bitcoin-core/src/init.cpp:1285,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1286,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:1288,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1288,1
    - Dst: what
      Src: /src/bitcoin-core/src/init.cpp:1288,1
    - Dst: chainman::m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/init.cpp:1297,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1298,1
    - Dst: connman::AddLocalServices
      Src: /src/bitcoin-core/src/init.cpp:1299,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1301,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1304,1
    - Dst: Interrupt
      Src: /src/bitcoin-core/src/init.cpp:1306,1
    - Dst: Stop
      Src: /src/bitcoin-core/src/init.cpp:1307,1
    - Dst: Init
      Src: /src/bitcoin-core/src/init.cpp:1308,1
    - Dst: StartBackgroundSync
      Src: /src/bitcoin-core/src/init.cpp:1308,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/init.cpp:1309,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/init.cpp:1309,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1314,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/init.cpp:1314,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/init.cpp:1316,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1317,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1318,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:1319,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:1319,1
    - Dst: ThreadSafeMessageBox
      Src: /src/bitcoin-core/src/init.cpp:1321,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1322,1
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/init.cpp:1325,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1325,1
    - Dst: f
      Src: /src/bitcoin-core/src/init.cpp:1328,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/init.cpp:1330,1
    - Dst: what
      Src: /src/bitcoin-core/src/init.cpp:1330,1
    - Dst: std::make_tuple
      Src: /src/bitcoin-core/src/init.cpp:1331,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1331,1
    - Dst: catch_exceptions
      Src: /src/bitcoin-core/src/init.cpp:1334,1
    - Dst: LoadChainstate
      Src: /src/bitcoin-core/src/init.cpp:1334,1
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/init.cpp:1336,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1336,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/init.cpp:1338,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/init.cpp:1341,1
    - Dst: catch_exceptions
      Src: /src/bitcoin-core/src/init.cpp:1341,1
    - Dst: VerifyLoadedChainstate
      Src: /src/bitcoin-core/src/init.cpp:1341,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1343,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 5
    argNames:
    - ' node'
    - do_reindex
    - do_reindex_chainstate
    - ' cache_sizes'
    - ' args'
    argTypes:
    - NodeContext
    - bool
    - bool
    - kernel::CacheSizes
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1226
    functionDepth: 3
    functionLinenumber: 1226
    functionLinenumberEnd: 1347
    functionName: InitAndLoadChainstate
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 0
    functionsReached:
    - mempool::reset
    - StartBackgroundSync
    - GetName
    - LogInfo
    - what
    - mempool::get
    - std::make_unique<CTxMemPool>
    - connman::AddLocalServices
    - VerifyLoadedChainstate
    - IsArgSet
    - std::make_unique<ChainstateManager>
    - std::tie
    - ApplyArgsManOptions
    - f
    - validation_signals::get
    - std::make_unique<KernelNotifications>
    - LogWarning
    - chainman::m_blockman::IsPruneMode
    - bilingual_str::empty
    - Untranslated
    - DefaultConsistencyChecks
    - Stop
    - LogError
    - InitMessage
    - Interrupt
    - std::make_tuple
    - LoadChainstate
    - catch_exceptions
    - Assert
    - Params
    - Init
    - strprintf
    - notifications::reset
    - ThreadSafeMessageBox
    - _
    - ReadNotificationArgs
    - GetBlocksDirPath
    - GetIntArg
    - GetDataDirNet
    - LogPrintf
    - chainman::reset
    - m_blockman::IsPruneMode
    linkageType: ''
    returnType: ChainstateLoadResult
    signature: "ChainstateLoadResult InitAndLoadChainstate(\n    NodeContext& node,\n
      \   bool do_reindex,\n    const bool do_reindex_chainstate,\n    const kernel::CacheSizes&
      cache_sizes,\n    const ArgsManager& args)"
  - BBCount: 103
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1351,1
    - Dst: Params
      Src: /src/bitcoin-core/src/init.cpp:1352,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/init.cpp:1354,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:1354,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1356,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1356,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1356,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:1356,1
    - Dst: CreatePidFile
      Src: /src/bitcoin-core/src/init.cpp:1360,1
    - Dst: init::StartLogging
      Src: /src/bitcoin-core/src/init.cpp:1364,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1369,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:1372,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/init.cpp:1372,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/init.cpp:1373,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:1377,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:1377,1
    - Dst: fs::current_path
      Src: /src/bitcoin-core/src/init.cpp:1377,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1380,1
    - Dst: std::make_unique<CScheduler>
      Src: /src/bitcoin-core/src/init.cpp:1381,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/init.cpp:1385,1
    - Dst: serviceQueue
      Src: /src/bitcoin-core/src/init.cpp:1385,1
    - Dst: scheduleEvery
      Src: /src/bitcoin-core/src/init.cpp:1388,1
    - Dst: RandAddPeriodic
      Src: /src/bitcoin-core/src/init.cpp:1389,1
    - Dst: scheduleEvery
      Src: /src/bitcoin-core/src/init.cpp:1393,1
    - Dst: CheckDiskSpace
      Src: /src/bitcoin-core/src/init.cpp:1395,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/init.cpp:1395,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/init.cpp:1396,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1397,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/init.cpp:1398,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/init.cpp:1403,1
    - Dst: std::make_unique<BCLog::LogRateLimiter>
      Src: /src/bitcoin-core/src/init.cpp:1403,1
    - Dst: scheduleEvery
      Src: /src/bitcoin-core/src/init.cpp:1404,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/init.cpp:1404,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1408,1
    - Dst: std::make_unique<ValidationSignals>
      Src: /src/bitcoin-core/src/init.cpp:1409,1
    - Dst: std::make_unique<SerialTaskRunner>
      Src: /src/bitcoin-core/src/init.cpp:1409,1
    - Dst: Construct
      Src: /src/bitcoin-core/src/init.cpp:1416,1
    - Dst: InitWallet
      Src: /src/bitcoin-core/src/init.cpp:1417,1
    - Dst: init::ipc
      Src: /src/bitcoin-core/src/init.cpp:1419,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1420,1
    - Dst: interfaces::Ipc*::listenAddress
      Src: /src/bitcoin-core/src/init.cpp:1422,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1424,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:1424,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1424,1
    - Dst: what
      Src: /src/bitcoin-core/src/init.cpp:1424,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1426,1
    - Dst: RegisterAllCoreRPCCommands
      Src: /src/bitcoin-core/src/init.cpp:1433,1
    - Dst: registerRpcs
      Src: /src/bitcoin-core/src/init.cpp:1435,1
    - Dst: RegisterZMQRPCCommands
      Src: /src/bitcoin-core/src/init.cpp:1438,1
    - Dst: CheckHostPortOptions
      Src: /src/bitcoin-core/src/init.cpp:1442,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1446,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/init.cpp:1447,1
    - Dst: RemoveAll
      Src: /src/bitcoin-core/src/init.cpp:1448,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/init.cpp:1450,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1452,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1452,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1452,1
    - Dst: Add
      Src: /src/bitcoin-core/src/init.cpp:1453,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:1457,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/init.cpp:1458,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/init.cpp:1458,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1459,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1460,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/init.cpp:1463,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1475,1
    - Dst: InitMessage_connect
      Src: /src/bitcoin-core/src/init.cpp:1476,1
    - Dst: AppInitServers
      Src: /src/bitcoin-core/src/init.cpp:1477,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1478,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1478,1
    - Dst: verify
      Src: /src/bitcoin-core/src/init.cpp:1483,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1494,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1495,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/init.cpp:1498,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:1504,1
    - Dst: IsArgNegated
      Src: /src/bitcoin-core/src/init.cpp:1504,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/init.cpp:1505,1
    - Dst: fs::path::is_absolute
      Src: /src/bitcoin-core/src/init.cpp:1506,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/init.cpp:1507,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/init.cpp:1509,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1510,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1510,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1510,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/init.cpp:1510,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:1510,1
    - Dst: DecodeAsmap
      Src: /src/bitcoin-core/src/init.cpp:1513,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/init.cpp:1514,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1515,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1515,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1515,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/init.cpp:1515,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:1515,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/init.cpp:1518,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1519,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/init.cpp:1519,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1521,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1525,1
    - Dst: std::make_unique<NetGroupManager>
      Src: /src/bitcoin-core/src/init.cpp:1526,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/init.cpp:1526,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1529,1
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/init.cpp:1530,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1530,1
    - Dst: LoadAddrman
      Src: /src/bitcoin-core/src/init.cpp:1531,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1532,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/init.cpp:1532,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/init.cpp:1533,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/init.cpp:1536,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1537,1
    - Dst: std::make_unique<BanMan>
      Src: /src/bitcoin-core/src/init.cpp:1538,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/init.cpp:1538,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1538,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1539,1
    - Dst: std::make_unique<CConnman>
      Src: /src/bitcoin-core/src/init.cpp:1540,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/init.cpp:1540,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/init.cpp:1541,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1542,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1544,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1548,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/init.cpp:1549,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1550,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1550,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1550,1
    - Dst: GetChainTypeString
      Src: /src/bitcoin-core/src/init.cpp:1550,1
    - Dst: std::make_unique<CBlockPolicyEstimator>
      Src: /src/bitcoin-core/src/init.cpp:1552,1
    - Dst: FeeestPath
      Src: /src/bitcoin-core/src/init.cpp:1552,1
    - Dst: fee_estimator::get
      Src: /src/bitcoin-core/src/init.cpp:1555,1
    - Dst: scheduleEvery
      Src: /src/bitcoin-core/src/init.cpp:1556,1
    - Dst: CBlockPolicyEstimator*::FlushFeeEstimates
      Src: /src/bitcoin-core/src/init.cpp:1556,1
    - Dst: RegisterValidationInterface
      Src: /src/bitcoin-core/src/init.cpp:1557,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1560,1
    - Dst: substr
      Src: /src/bitcoin-core/src/init.cpp:1563,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/init.cpp:1563,1
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/init.cpp:1564,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1565,1
    - Dst: InvalidPortErrMsg
      Src: /src/bitcoin-core/src/init.cpp:1565,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1571,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/init.cpp:1572,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1573,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1573,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1573,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/init.cpp:1574,1
    - Dst: FormatSubVersion
      Src: /src/bitcoin-core/src/init.cpp:1576,1
    - Dst: size
      Src: /src/bitcoin-core/src/init.cpp:1577,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1578,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1578,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1578,1
    - Dst: size
      Src: /src/bitcoin-core/src/init.cpp:1579,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1585,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/init.cpp:1585,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/init.cpp:1585,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1586,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1586,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1586,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1590,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1592,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/init.cpp:1595,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/init.cpp:1596,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/init.cpp:1597,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/init.cpp:1598,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/init.cpp:1599,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1600,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/init.cpp:1601,1
    - Dst: substr
      Src: /src/bitcoin-core/src/init.cpp:1602,1
    - Dst: length
      Src: /src/bitcoin-core/src/init.cpp:1605,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1606,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1606,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1606,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/init.cpp:1608,1
    - Dst: substr
      Src: /src/bitcoin-core/src/init.cpp:1608,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/init.cpp:1611,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/init.cpp:1612,1
    - Dst: IsUnixSocketPath
      Src: /src/bitcoin-core/src/init.cpp:1613,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/init.cpp:1616,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/init.cpp:1617,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1618,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1618,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1618,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/init.cpp:1620,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/init.cpp:1622,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1623,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1623,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1623,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/init.cpp:1627,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1638,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1638,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1638,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/init.cpp:1641,1
    - Dst: SetProxy
      Src: /src/bitcoin-core/src/init.cpp:1642,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/init.cpp:1644,1
    - Dst: SetProxy
      Src: /src/bitcoin-core/src/init.cpp:1645,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/init.cpp:1647,1
    - Dst: SetNameProxy
      Src: /src/bitcoin-core/src/init.cpp:1648,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/init.cpp:1650,1
    - Dst: SetProxy
      Src: /src/bitcoin-core/src/init.cpp:1651,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/init.cpp:1654,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/init.cpp:1654,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:1659,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1664,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1665,1
    - Dst: IsUnixSocketPath
      Src: /src/bitcoin-core/src/init.cpp:1669,1
    - Dst: Proxy
      Src: /src/bitcoin-core/src/init.cpp:1670,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/init.cpp:1672,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/init.cpp:1673,1
    - Dst: std::optional::IsValid
      Src: /src/bitcoin-core/src/init.cpp:1673,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1674,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1674,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1674,1
    - Dst: Proxy
      Src: /src/bitcoin-core/src/init.cpp:1677,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/init.cpp:1677,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/init.cpp:1682,1
    - Dst: SetProxy
      Src: /src/bitcoin-core/src/init.cpp:1683,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1687,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1689,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1690,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/init.cpp:1694,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1697,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/init.cpp:1698,1
    - Dst: GetListenPort
      Src: /src/bitcoin-core/src/init.cpp:1698,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/init.cpp:1699,1
    - Dst: std::optional::IsValid
      Src: /src/bitcoin-core/src/init.cpp:1699,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/init.cpp:1700,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/init.cpp:1700,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1702,1
    - Dst: ResolveErrMsg
      Src: /src/bitcoin-core/src/init.cpp:1702,1
    - Dst: CZMQNotificationInterface::Create
      Src: /src/bitcoin-core/src/init.cpp:1706,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1708,1
    - Dst: m_blockman::ReadRawBlock
      Src: /src/bitcoin-core/src/init.cpp:1709,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/init.cpp:1709,1
    - Dst: GetBlockPos
      Src: /src/bitcoin-core/src/init.cpp:1709,1
    - Dst: RegisterValidationInterface
      Src: /src/bitcoin-core/src/init.cpp:1713,1
    - Dst: get
      Src: /src/bitcoin-core/src/init.cpp:1713,1
    - Dst: CalculateCacheSizes
      Src: /src/bitcoin-core/src/init.cpp:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/init.cpp:1720,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1722,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1723,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1724,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1725,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1728,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/init.cpp:1729,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1731,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1733,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1734,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1736,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1737,1
    - Dst: InitAndLoadChainstate
      Src: /src/bitcoin-core/src/init.cpp:1740,1
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/init.cpp:1746,1
    - Dst: HasTestOption
      Src: /src/bitcoin-core/src/init.cpp:1748,1
    - Dst: ThreadSafeQuestion
      Src: /src/bitcoin-core/src/init.cpp:1749,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:1750,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1750,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1757,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/init.cpp:1758,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/init.cpp:1760,1
    - Dst: InitAndLoadChainstate
      Src: /src/bitcoin-core/src/init.cpp:1760,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1768,1
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/init.cpp:1773,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1774,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1778,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1779,1
    - Dst: assert
      Src: /src/bitcoin-core/src/init.cpp:1781,1
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/init.cpp:1782,1
    - Dst: banman::get
      Src: /src/bitcoin-core/src/init.cpp:1783,1
    - Dst: RegisterValidationInterface
      Src: /src/bitcoin-core/src/init.cpp:1786,1
    - Dst: peerman::get
      Src: /src/bitcoin-core/src/init.cpp:1786,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1790,1
    - Dst: std::make_unique<TxIndex>
      Src: /src/bitcoin-core/src/init.cpp:1791,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/init.cpp:1791,1
    - Dst: indexes::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:1792,1
    - Dst: get
      Src: /src/bitcoin-core/src/init.cpp:1792,1
    - Dst: InitBlockFilterIndex
      Src: /src/bitcoin-core/src/init.cpp:1796,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/init.cpp:1796,1
    - Dst: indexes::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:1797,1
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/init.cpp:1797,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1800,1
    - Dst: std::make_unique<CoinStatsIndex>
      Src: /src/bitcoin-core/src/init.cpp:1801,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/init.cpp:1801,1
    - Dst: indexes::emplace_back
      Src: /src/bitcoin-core/src/init.cpp:1802,1
    - Dst: get
      Src: /src/bitcoin-core/src/init.cpp:1802,1
    - Dst: Init
      Src: /src/bitcoin-core/src/init.cpp:1806,1
    - Dst: load
      Src: /src/bitcoin-core/src/init.cpp:1810,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/init.cpp:1819,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/init.cpp:1821,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/init.cpp:1822,1
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/init.cpp:1823,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1823,1
    - Dst: PruneAndFlush
      Src: /src/bitcoin-core/src/init.cpp:1824,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/init.cpp:1829,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/init.cpp:1829,1
    - Dst: BackgroundSyncInProgress
      Src: /src/bitcoin-core/src/init.cpp:1829,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1830,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/init.cpp:1831,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1833,1
    - Dst: CheckDiskSpace
      Src: /src/bitcoin-core/src/init.cpp:1839,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/init.cpp:1839,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1840,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1840,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1840,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/init.cpp:1840,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:1840,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/init.cpp:1840,1
    - Dst: CheckDiskSpace
      Src: /src/bitcoin-core/src/init.cpp:1843,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/init.cpp:1843,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:1844,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1844,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1844,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/init.cpp:1844,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:1844,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/init.cpp:1844,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/init.cpp:1848,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/init.cpp:1848,1
    - Dst: AssumedBlockchainSize
      Src: /src/bitcoin-core/src/init.cpp:1852,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/init.cpp:1854,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/init.cpp:1855,1
    - Dst: m_blockman::GetPruneTarget
      Src: /src/bitcoin-core/src/init.cpp:1855,1
    - Dst: CheckDiskSpace
      Src: /src/bitcoin-core/src/init.cpp:1858,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/init.cpp:1858,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:1859,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1859,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1859,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/init.cpp:1863,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/init.cpp:1863,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/init.cpp:1863,1
    - Dst: AssumedBlockchainSize
      Src: /src/bitcoin-core/src/init.cpp:1864,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:1870,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/init.cpp:1871,1
    - Dst: NotifyBlockTip_connect
      Src: /src/bitcoin-core/src/init.cpp:1872,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/init.cpp:1875,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/init.cpp:1875,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/init.cpp:1877,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1883,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/init.cpp:1884,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/init.cpp:1884,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/init.cpp:1887,1
    - Dst: ScheduleBatchPriority
      Src: /src/bitcoin-core/src/init.cpp:1888,1
    - Dst: ImportBlocks
      Src: /src/bitcoin-core/src/init.cpp:1890,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1891,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1892,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1893,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/init.cpp:1894,1
    - Dst: StartIndexBackgroundSync
      Src: /src/bitcoin-core/src/init.cpp:1900,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1901,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/init.cpp:1902,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/init.cpp:1906,1
    - Dst: LoadMempool
      Src: /src/bitcoin-core/src/init.cpp:1907,1
    - Dst: ShouldPersistMempool
      Src: /src/bitcoin-core/src/init.cpp:1907,1
    - Dst: MempoolPath
      Src: /src/bitcoin-core/src/init.cpp:1907,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/init.cpp:1907,1
    - Dst: auto*::SetLoadTried
      Src: /src/bitcoin-core/src/init.cpp:1908,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/init.cpp:1924,1
    - Dst: m_tip_block_cv::wait
      Src: /src/bitcoin-core/src/init.cpp:1925,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/init.cpp:1925,1
    - Dst: TipBlock
      Src: /src/bitcoin-core/src/init.cpp:1926,1
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/init.cpp:1926,1
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/init.cpp:1930,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/init.cpp:1938,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/init.cpp:1938,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:1939,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/init.cpp:1939,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1940,1
    - Dst: BlockIndex
      Src: /src/bitcoin-core/src/init.cpp:1940,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/init.cpp:1942,1
    - Dst: GuessVerificationProgress
      Src: /src/bitcoin-core/src/init.cpp:1946,1
    - Dst: m_best_header::GetBlockTime
      Src: /src/bitcoin-core/src/init.cpp:1950,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:1953,1
    - Dst: peerman::SetBestBlock
      Src: /src/bitcoin-core/src/init.cpp:1954,1
    - Dst: StartMapPort
      Src: /src/bitcoin-core/src/init.cpp:1957,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1957,1
    - Dst: banman::get
      Src: /src/bitcoin-core/src/init.cpp:1963,1
    - Dst: peerman::get
      Src: /src/bitcoin-core/src/init.cpp:1964,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1965,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1966,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1967,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1970,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:1971,1
    - Dst: static_cast<uint16_t>
      Src: /src/bitcoin-core/src/init.cpp:1975,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:1975,1
    - Dst: Params
      Src: /src/bitcoin-core/src/init.cpp:1975,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:1980,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:1980,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:1987,1
    - Dst: rfind
      Src: /src/bitcoin-core/src/init.cpp:1989,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/init.cpp:1991,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/init.cpp:1992,1
    - Dst: CConnman::Options::vBinds::push_back
      Src: /src/bitcoin-core/src/init.cpp:1993,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/init.cpp:1993,1
    - Dst: IsBadPort
      Src: /src/bitcoin-core/src/init.cpp:1994,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/init.cpp:1994,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:1995,1
    - Dst: BadPortWarning
      Src: /src/bitcoin-core/src/init.cpp:1995,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/init.cpp:1995,1
    - Dst: substr
      Src: /src/bitcoin-core/src/init.cpp:2000,1
    - Dst: substr
      Src: /src/bitcoin-core/src/init.cpp:2002,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/init.cpp:2003,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/init.cpp:2004,1
    - Dst: CConnman::Options::onion_binds::push_back
      Src: /src/bitcoin-core/src/init.cpp:2005,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/init.cpp:2005,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:2010,1
    - Dst: ResolveErrMsg
      Src: /src/bitcoin-core/src/init.cpp:2010,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:2013,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/init.cpp:2016,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:2016,1
    - Dst: CConnman::Options::vWhiteBinds::push_back
      Src: /src/bitcoin-core/src/init.cpp:2017,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:2022,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:2022,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:2026,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/init.cpp:2027,1
    - Dst: IsBadPort
      Src: /src/bitcoin-core/src/init.cpp:2028,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:2029,1
    - Dst: BadPortWarning
      Src: /src/bitcoin-core/src/init.cpp:2029,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/init.cpp:2033,1
    - Dst: CConnman::Options::onion_binds::empty
      Src: /src/bitcoin-core/src/init.cpp:2034,1
    - Dst: CConnman::Options::onion_binds::front
      Src: /src/bitcoin-core/src/init.cpp:2035,1
    - Dst: CConnman::Options::vBinds::empty
      Src: /src/bitcoin-core/src/init.cpp:2036,1
    - Dst: CConnman::Options::vBinds::front
      Src: /src/bitcoin-core/src/init.cpp:2037,1
    - Dst: DefaultOnionServiceTarget
      Src: /src/bitcoin-core/src/init.cpp:2039,1
    - Dst: CConnman::Options::onion_binds::push_back
      Src: /src/bitcoin-core/src/init.cpp:2040,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:2043,1
    - Dst: CConnman::Options::onion_binds::size
      Src: /src/bitcoin-core/src/init.cpp:2044,1
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/init.cpp:2045,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:2045,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:2045,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/init.cpp:2047,1
    - Dst: StartTorControl
      Src: /src/bitcoin-core/src/init.cpp:2049,1
    - Dst: Discover
      Src: /src/bitcoin-core/src/init.cpp:2055,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:2058,1
    - Dst: NetWhitelistPermissions::TryParse
      Src: /src/bitcoin-core/src/init.cpp:2062,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:2062,1
    - Dst: CConnman::Options::vWhitelistedRangeIncoming::push_back
      Src: /src/bitcoin-core/src/init.cpp:2064,1
    - Dst: CConnman::Options::vWhitelistedRangeOutgoing::push_back
      Src: /src/bitcoin-core/src/init.cpp:2067,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:2071,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/init.cpp:2073,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/init.cpp:2074,1
    - Dst: IsArgNegated
      Src: /src/bitcoin-core/src/init.cpp:2074,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/init.cpp:2079,1
    - Dst: CConnman::Options::m_specified_outgoing::empty
      Src: /src/bitcoin-core/src/init.cpp:2082,1
    - Dst: CConnman::Options::vSeedNodes::empty
      Src: /src/bitcoin-core/src/init.cpp:2082,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:2083,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:2086,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:2086,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/init.cpp:2086,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/init.cpp:2087,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/init.cpp:2091,1
    - Dst: empty
      Src: /src/bitcoin-core/src/init.cpp:2092,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/init.cpp:2093,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/init.cpp:2094,1
    - Dst: std::optional::IsValid
      Src: /src/bitcoin-core/src/init.cpp:2094,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:2095,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:2095,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:2095,1
    - Dst: SetProxy
      Src: /src/bitcoin-core/src/init.cpp:2097,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/init.cpp:2097,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/init.cpp:2099,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/init.cpp:2099,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:2100,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:2101,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/init.cpp:2104,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/init.cpp:2107,1
    - Dst: connman::Start
      Src: /src/bitcoin-core/src/init.cpp:2109,1
    - Dst: SetRPCWarmupFinished
      Src: /src/bitcoin-core/src/init.cpp:2119,1
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/init.cpp:2121,1
    - Dst: _
      Src: /src/bitcoin-core/src/init.cpp:2121,1
    - Dst: start
      Src: /src/bitcoin-core/src/init.cpp:2124,1
    - Dst: banman::get
      Src: /src/bitcoin-core/src/init.cpp:2127,1
    - Dst: scheduleEvery
      Src: /src/bitcoin-core/src/init.cpp:2128,1
    - Dst: BanMan*::DumpBanlist
      Src: /src/bitcoin-core/src/init.cpp:2129,1
    - Dst: peerman::StartScheduledTasks
      Src: /src/bitcoin-core/src/init.cpp:2132,1
    - Dst: StartupNotify
      Src: /src/bitcoin-core/src/init.cpp:2135,1
    CyclomaticComplexity: 152
    EdgeCount: 152
    ICount: 461
    argCount: 2
    argNames:
    - ' node'
    - tip_info
    argTypes:
    - NodeContext
    - interfaces::BlockAndHeaderTipInfo*
    assertStmts:
    - condition: (!node.validation_signals)
      pos:
        line_end: 1407
        line_start: 1407
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (!node.mempool)
      pos:
        line_end: 1732
        line_start: 1732
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (!node.chainman)
      pos:
        line_end: 1733
        line_start: 1733
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (!node.peerman)
      pos:
        line_end: 1780
        line_start: 1780
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (!node.addrman)
      pos:
        line_end: 1528
        line_start: 1528
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (!node.banman)
      pos:
        line_end: 1536
        line_start: 1536
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (!node.netgroupman)
      pos:
        line_end: 1524
        line_start: 1524
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (chainman)
      pos:
        line_end: 1707
        line_start: 1707
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (!node.connman)
      pos:
        line_end: 1538
        line_start: 1538
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (!node.fee_estimator)
      pos:
        line_end: 1543
        line_start: 1543
        source_file: /src/bitcoin-core/src/init.cpp
    - condition: (!node.scheduler)
      pos:
        line_end: 1379
        line_start: 1379
        source_file: /src/bitcoin-core/src/init.cpp
    constantsTouched: []
    func_position:
      end: 2139
      start: 1349
    functionDepth: 6
    functionLinenumber: 1349
    functionLinenumberEnd: 2139
    functionName: AppInitMain
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - SetProxy
    - GetArg
    - peerman::SetBestBlock
    - ToLower
    - std::move
    - std::string::empty
    - m_best_header::GetBlockTime
    - CConnman::Options::vBinds::empty
    - m_blockman::ReadRawBlock
    - serviceQueue
    - ShutdownRequested
    - std::min
    - FormatSubVersion
    - CBlockPolicyEstimator*::FlushFeeEstimates
    - CConnman::Options::vBinds::push_back
    - std::tie
    - scheduleEvery
    - std::make_unique<CScheduler>
    - static_cast<uint16_t>
    - CConnman::Options::onion_binds::push_back
    - fs::path::is_absolute
    - get
    - CZMQNotificationInterface::Create
    - InitWallet
    - std::vector::size
    - BlockFilterTypeName
    - StartupNotify
    - CConnman::Options::vWhiteBinds::push_back
    - empty
    - std::optional::has_value
    - TipBlock
    - uint256::ToString
    - BanMan*::DumpBanlist
    - FeeestPath
    - auto::empty
    - Discover
    - CConnman::Options::vSeedNodes::empty
    - strprintf
    - assert
    - GetMutex
    - HasTestOption
    - InitError
    - size
    - LogPrintf
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - fee_estimator::get
    - PeerManager::make
    - InitMessage_connect
    - start
    - ServiceFlags
    - std::make_unique<BanMan>
    - substr
    - verify
    - CConnman::Options::onion_binds::empty
    - fs::current_path
    - CheckDiskSpace
    - auto::size
    - fs::exists
    - load
    - RegisterZMQRPCCommands
    - IsUnixSocketPath
    - GetNotifications
    - DefaultOnionServiceTarget
    - what
    - Proxy::Proxy
    - GetBlockFilterIndex
    - interfaces::Ipc*::listenAddress
    - IsBadPort
    - banman::get
    - ApplyArgsManOptions
    - GetPathArg
    - rfind
    - RandAddPeriodic
    - std::make_unique<CConnman>
    - SetRPCWarmupFinished
    - auto*::SetLoadTried
    - InitWarning
    - ParseByteUnits
    - InitAndLoadChainstate
    - StartIndexBackgroundSync
    - std::make_unique<SerialTaskRunner>
    - LogError
    - peerman::get
    - ActiveChain
    - Assert
    - Params
    - InvalidPortErrMsg
    - LoadMempool
    - init::ipc
    - StartMapPort
    - registerRpcs
    - interfaces::MakeChain
    - CConnman::Options::onion_binds::front
    - indexes::emplace_back
    - CConnman::Options::vWhitelistedRangeOutgoing::push_back
    - AppInitServers
    - ScheduleBatchPriority
    - BadPortWarning
    - GetArgs
    - Contains
    - GetHash
    - BlockIndex
    - LogInfo
    - CreatePidFile
    - std::make_unique<TxIndex>
    - CalculateCacheSizes
    - std::make_unique<CBlockPolicyEstimator>
    - MempoolPath
    - std::make_unique<NetGroupManager>
    - std::optional::IsValid
    - WAIT_LOCK
    - GetChainType
    - SplitHostPort
    - CConnman::Options::vBinds::front
    - CConnman::Options::onion_binds::size
    - fs::quoted
    - InitMessage
    - SetNameProxy
    - GuessVerificationProgress
    - WITH_LOCK
    - length
    - m_blockman::GetPruneTarget
    - init::StartLogging
    - ReplaceAll
    - CheckHostPortOptions
    - ShouldPersistMempool
    - GetBlocksDirPath
    - connman::Start
    - NetWhitebindPermissions::TryParse
    - m_tip_block_cv::wait
    - RemoveAll
    - GetDataDirNet
    - std::optional::value
    - InitBlockFilterIndex
    - ActiveTip
    - CService::ToStringAddrPort
    - NetWhitelistPermissions::TryParse
    - FastRandomContext::rand64
    - SanitizeString
    - std::make_unique<CoinStatsIndex>
    - std::make_unique<BCLog::LogRateLimiter>
    - Proxy::IsValid
    - Add
    - m_blockman::IsPruneMode
    - PruneAndFlush
    - GetListenPort
    - AssumedBlockchainSize
    - FastRandomContext::FastRandomContext
    - std::vector::push_back
    - DecodeAsmap
    - CConnman::Options::m_specified_outgoing::empty
    - IsArgNegated
    - LogInstance
    - IsArgSet
    - GetChainTypeString
    - ResolveErrMsg
    - CService::CService
    - util::ErrorString
    - BackgroundSyncInProgress
    - ImportBlocks
    - StartTorControl
    - Untranslated
    - std::thread
    - ParseNetwork
    - fs::PathToString
    - std::thread::detach
    - GetBlockTime
    - Construct
    - NotifyBlockTip_connect
    - CConnman::Options::vWhitelistedRangeIncoming::push_back
    - GetBlockPos
    - Proxy
    - RegisterAllCoreRPCCommands
    - ThreadSafeQuestion
    - Init
    - Remove
    - _
    - fs::PathFromString
    - RegisterValidationInterface
    - std::make_unique<ValidationSignals>
    - GetIntArg
    - AddLocal
    - GetAll
    - LoadAddrman
    - ActiveChainstate
    - peerman::StartScheduledTasks
    - GetBoolArg
    - Lookup
    - GetBlockHash
    linkageType: ''
    returnType: bool
    signature: bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo*
      tip_info)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:2149,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/init.cpp:2150,1
    - Dst: GetChainstateForIndexing
      Src: /src/bitcoin-core/src/init.cpp:2150,1
    - Dst: GetSummary
      Src: /src/bitcoin-core/src/init.cpp:2154,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/init.cpp:2158,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/init.cpp:2159,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/init.cpp:2160,1
    - Dst: FindFork
      Src: /src/bitcoin-core/src/init.cpp:2161,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/init.cpp:2164,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/init.cpp:2173,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/init.cpp:2175,1
    - Dst: m_blockman::CheckBlockDataAvailability
      Src: /src/bitcoin-core/src/init.cpp:2176,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/init.cpp:2176,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/init.cpp:2176,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/init.cpp:2177,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/init.cpp:2177,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/init.cpp:2177,1
    - Dst: StartBackgroundSync
      Src: /src/bitcoin-core/src/init.cpp:2182,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2141
    functionDepth: 1
    functionLinenumber: 2141
    functionLinenumberEnd: 2184
    functionName: StartIndexBackgroundSync
    functionSourceFile: /src/bitcoin-core/src/init.cpp
    functionUses: 1
    functionsReached:
    - InitError
    - Tip
    - WITH_LOCK
    - Contains
    - FindFork
    - GetChainstateForIndexing
    - m_blockman::CheckBlockDataAvailability
    - GetSummary
    - LOCK
    - Assert
    - m_blockman::LookupBlockIndex
    - std::optional::value
    - ActiveChain
    - strprintf
    - StartBackgroundSync
    - Untranslated
    linkageType: ''
    returnType: bool
    signature: bool StartIndexBackgroundSync(NodeContext& node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/hash.cpp:20,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/hash.cpp:24,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/hash.cpp:27,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/hash.cpp:30,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/hash.cpp:34,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/hash.cpp:40,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/hash.cpp:44,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/hash.cpp:54,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/hash.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - nHashSeed
    - vDataToHash
    argTypes:
    - unsigned int
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 69
    functionName: MurmurHash3
    functionSourceFile: /src/bitcoin-core/src/hash.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - rotl
    - std::span<const unsigned char>::data
    - ReadLE32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MurmurHash3(unsigned int nHashSeed, std::span<const unsigned
      char> vDataToHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/hash.cpp:74,1
    - Dst: CHMAC_SHA512
      Src: /src/bitcoin-core/src/hash.cpp:75,1
    - Dst: ChainCode::begin
      Src: /src/bitcoin-core/src/hash.cpp:75,1
    - Dst: ChainCode::size
      Src: /src/bitcoin-core/src/hash.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - chainCode
    - nChild
    - header
    - data
    - output
    argTypes:
    - ChainCode
    - unsigned int
    - unsigned char
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: BIP32Hash
    functionSourceFile: /src/bitcoin-core/src/hash.cpp
    functionUses: 2
    functionsReached:
    - ChainCode::begin
    - ChainCode::size
    - CHMAC_SHA512
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void BIP32Hash(const ChainCode &chainCode, unsigned int nChild, unsigned
      char header, const unsigned char data[32], unsigned char output[64])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/hash.cpp:80,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/hash.cpp:81,1
    - Dst: begin
      Src: /src/bitcoin-core/src/hash.cpp:81,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/hash.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: SHA256Uint256
    functionSourceFile: /src/bitcoin-core/src/hash.cpp
    functionUses: 0
    functionsReached:
    - uint256::begin
    - begin
    - uint256::uint256
    - CSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 SHA256Uint256(const uint256& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/hash.cpp:88,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/hash.cpp:89,1
    - Dst: data
      Src: /src/bitcoin-core/src/hash.cpp:89,1
    - Dst: size
      Src: /src/bitcoin-core/src/hash.cpp:89,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/hash.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' tag'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: TaggedHash
    functionSourceFile: /src/bitcoin-core/src/hash.cpp
    functionUses: 0
    functionsReached:
    - uint256::begin
    - CSHA256
    - size
    - data
    - uint256::uint256
    linkageType: ''
    returnType: HashWriter
    signature: HashWriter TaggedHash(const std::string& tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/clientversion.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nVersion
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: FormatVersion
    functionSourceFile: /src/bitcoin-core/src/clientversion.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatVersion(int nVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: FormatFullVersion
    functionSourceFile: /src/bitcoin-core/src/clientversion.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string FormatFullVersion()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/clientversion.cpp:68,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/clientversion.cpp:68,1
    - Dst: Join
      Src: /src/bitcoin-core/src/clientversion.cpp:68,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/clientversion.cpp:69,1
    - Dst: FormatVersion
      Src: /src/bitcoin-core/src/clientversion.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' name'
    - nClientVersion
    - ' comments'
    argTypes:
    - std::string
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: FormatSubVersion
    functionSourceFile: /src/bitcoin-core/src/clientversion.cpp
    functionUses: 1
    functionsReached:
    - FormatVersion
    - Join
    - empty
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatSubVersion(const std::string& name, int nClientVersion,
      const std::vector<std::string>& comments)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/clientversion.cpp:74,1
    - Dst: _
      Src: /src/bitcoin-core/src/clientversion.cpp:74,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/clientversion.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' strPrefix'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: CopyrightHolders
    functionSourceFile: /src/bitcoin-core/src/clientversion.cpp
    functionUses: 0
    functionsReached:
    - _
    - auto::find
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CopyrightHolders(const std::string& strPrefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyrightHolders
      Src: /src/bitcoin-core/src/clientversion.cpp:88,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/clientversion.cpp:88,1
    - Dst: _
      Src: /src/bitcoin-core/src/clientversion.cpp:88,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/clientversion.cpp:90,1
    - Dst: _
      Src: /src/bitcoin-core/src/clientversion.cpp:90,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/clientversion.cpp:95,1
    - Dst: _
      Src: /src/bitcoin-core/src/clientversion.cpp:95,1
    - Dst: _
      Src: /src/bitcoin-core/src/clientversion.cpp:98,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/clientversion.cpp:99,1
    - Dst: _
      Src: /src/bitcoin-core/src/clientversion.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: LicenseInfo
    functionSourceFile: /src/bitcoin-core/src/clientversion.cpp
    functionUses: 4
    functionsReached:
    - _
    - CopyrightHolders
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LicenseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' to_spend'
    - ' to_sign'
    argTypes:
    - T1
    - T2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: SignetTxs::SignetTxs
    functionSourceFile: /src/bitcoin-core/src/signet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignetTxs(const T1& to_spend, const T2& to_sign)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const int8_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const uint8_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const int16_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const uint16_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const int32_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const uint32_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const int64_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const uint64_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const float& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const double& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(X * const &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const X * const &v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/memusage.h:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - alloc
    argTypes:
    - size_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/memusage.h
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: memusage::MallocUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t MallocUsage(size_t alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:91,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/memusage.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::vector<T, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - capacity
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::vector<T, Allocator>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/memusage.h:96,1
    - Dst: data
      Src: /src/bitcoin-core/src/memusage.h:100,1
    - Dst: data
      Src: /src/bitcoin-core/src/memusage.h:100,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:100,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:103,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/memusage.h:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<const char*>
    - memusage::MallocUsage
    - size
    - data
    - capacity
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:109,1
    - Dst: allocated_memory
      Src: /src/bitcoin-core/src/memusage.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - prevector<N, X, S, D>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - allocated_memory
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const prevector<N, X, S, D>& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::set<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::set<X, Y>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::set<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: memusage::IncrementalDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 2
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t IncrementalDynamicUsage(const std::set<X, Y>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:127,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - std::map<X, Y, Z>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::map<X, Y, Z>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - std::map<X, Y, Z>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: memusage::IncrementalDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 2
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t IncrementalDynamicUsage(const std::map<X, Y, Z>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:141,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - indirectmap<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const indirectmap<X, Y>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - indirectmap<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: memusage::IncrementalDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 2
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t IncrementalDynamicUsage(const indirectmap<X, Y>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::unique_ptr<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::unique_ptr<X>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:162,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::shared_ptr<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::shared_ptr<X>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:177,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - std::list<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::list<X>& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:190,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:190,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:190,1
    - Dst: bucket_count
      Src: /src/bitcoin-core/src/memusage.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::unordered_set<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - bucket_count
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::unordered_set<X, Y>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:196,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:196,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:196,1
    - Dst: bucket_count
      Src: /src/bitcoin-core/src/memusage.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - std::unordered_map<X, Y, Z>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - bucket_count
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::unordered_map<X, Y, Z>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_allocator
      Src: /src/bitcoin-core/src/memusage.h:208,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:212,1
    - Dst: auto*::NumAllocatedChunks
      Src: /src/bitcoin-core/src/memusage.h:213,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:214,1
    - Dst: auto*::ChunkSizeBytes
      Src: /src/bitcoin-core/src/memusage.h:214,1
    - Dst: auto*::NumAllocatedChunks
      Src: /src/bitcoin-core/src/memusage.h:214,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:215,1
    - Dst: bucket_count
      Src: /src/bitcoin-core/src/memusage.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - "std::unordered_map<Key,\n                                                           T,\n
      \                                                          Hash,\n                                                           Pred,\n
      \                                                          PoolAllocator<std::pair<const
      Key, T>,\n                                                                         MAX_BLOCK_SIZE_BYTES,\n
      \                                                                        ALIGN_BYTES>>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - auto*::NumAllocatedChunks
    - memusage::MallocUsage
    - bucket_count
    - get_allocator
    - auto*::ChunkSizeBytes
    linkageType: ''
    returnType: size_t
    signature: "size_t DynamicUsage(const std::unordered_map<Key,\n                                                           T,\n
      \                                                          Hash,\n                                                           Pred,\n
      \                                                          PoolAllocator<std::pair<const
      Key, T>,\n                                                                         MAX_BLOCK_SIZE_BYTES,\n
      \                                                                        ALIGN_BYTES>>&
      m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const int8_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const uint8_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const int16_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const uint16_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const int32_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const uint32_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const int64_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const uint64_t& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const float& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const double& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(X * const &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const X * const &v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/memusage.h:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - alloc
    argTypes:
    - size_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/memusage.h
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: memusage::MallocUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 17
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t MallocUsage(size_t alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:91,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/memusage.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::vector<T, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - capacity
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::vector<T, Allocator>& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/memusage.h:96,1
    - Dst: data
      Src: /src/bitcoin-core/src/memusage.h:100,1
    - Dst: data
      Src: /src/bitcoin-core/src/memusage.h:100,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:100,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:103,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/memusage.h:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<const char*>
    - memusage::MallocUsage
    - size
    - data
    - capacity
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:109,1
    - Dst: allocated_memory
      Src: /src/bitcoin-core/src/memusage.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - prevector<N, X, S, D>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - allocated_memory
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const prevector<N, X, S, D>& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::set<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::set<X, Y>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::set<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: memusage::IncrementalDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 2
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t IncrementalDynamicUsage(const std::set<X, Y>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:127,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - std::map<X, Y, Z>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::map<X, Y, Z>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - std::map<X, Y, Z>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: memusage::IncrementalDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 2
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t IncrementalDynamicUsage(const std::map<X, Y, Z>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:141,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - indirectmap<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const indirectmap<X, Y>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - indirectmap<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: memusage::IncrementalDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 2
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t IncrementalDynamicUsage(const indirectmap<X, Y>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::unique_ptr<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::unique_ptr<X>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:162,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::shared_ptr<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::shared_ptr<X>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:177,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - std::list<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::list<X>& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:190,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:190,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:190,1
    - Dst: bucket_count
      Src: /src/bitcoin-core/src/memusage.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::unordered_set<X, Y>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - bucket_count
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::unordered_set<X, Y>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:196,1
    - Dst: size
      Src: /src/bitcoin-core/src/memusage.h:196,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:196,1
    - Dst: bucket_count
      Src: /src/bitcoin-core/src/memusage.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - std::unordered_map<X, Y, Z>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - bucket_count
    - memusage::MallocUsage
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicUsage(const std::unordered_map<X, Y, Z>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_allocator
      Src: /src/bitcoin-core/src/memusage.h:208,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:212,1
    - Dst: auto*::NumAllocatedChunks
      Src: /src/bitcoin-core/src/memusage.h:213,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:214,1
    - Dst: auto*::ChunkSizeBytes
      Src: /src/bitcoin-core/src/memusage.h:214,1
    - Dst: auto*::NumAllocatedChunks
      Src: /src/bitcoin-core/src/memusage.h:214,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/memusage.h:215,1
    - Dst: bucket_count
      Src: /src/bitcoin-core/src/memusage.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - "std::unordered_map<Key,\n                                                           T,\n
      \                                                          Hash,\n                                                           Pred,\n
      \                                                          PoolAllocator<std::pair<const
      Key, T>,\n                                                                         MAX_BLOCK_SIZE_BYTES,\n
      \                                                                        ALIGN_BYTES>>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: memusage::DynamicUsage
    functionSourceFile: /src/bitcoin-core/src/memusage.h
    functionUses: 14
    functionsReached:
    - auto*::NumAllocatedChunks
    - memusage::MallocUsage
    - bucket_count
    - get_allocator
    - auto*::ChunkSizeBytes
    linkageType: ''
    returnType: size_t
    signature: "size_t DynamicUsage(const std::unordered_map<Key,\n                                                           T,\n
      \                                                          Hash,\n                                                           Pred,\n
      \                                                          PoolAllocator<std::pair<const
      Key, T>,\n                                                                         MAX_BLOCK_SIZE_BYTES,\n
      \                                                                        ALIGN_BYTES>>&
      m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/net.cpp:123,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/net.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: CSerializedNetMsg::GetMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - memusage::DynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t CSerializedNetMsg::GetMemoryUsage() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/net.cpp:128,1
    - Dst: CNetMessage::GetMemoryUsage
      Src: /src/bitcoin-core/src/net.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: CNetMessage::GetMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - CNetMessage::GetMemoryUsage
    - memusage::DynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t CNetMessage::GetMemoryUsage() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:133,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' strDest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: CConnman::AddAddrFetch
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - LOCK
    linkageType: ''
    returnType: void
    signature: void CConnman::AddAddrFetch(const std::string& strDest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/net.cpp:140,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/net.cpp:143,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/net.cpp:144,1
    - Dst: std::optional::GetPort
      Src: /src/bitcoin-core/src/net.cpp:144,1
    - Dst: std::optional::GetPort
      Src: /src/bitcoin-core/src/net.cpp:144,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/net.cpp:149,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/net.cpp:152,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net.cpp:153,1
    - Dst: NetWhitebindPermissions::m_service::GetPort
      Src: /src/bitcoin-core/src/net.cpp:154,1
    - Dst: static_cast<uint16_t>
      Src: /src/bitcoin-core/src/net.cpp:160,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/net.cpp:160,1
    - Dst: Params
      Src: /src/bitcoin-core/src/net.cpp:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: GetListenPort
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - GetArgs
    - std::optional::has_value
    - NetWhitebindPermissions::TryParse
    - static_cast<uint16_t>
    - GetIntArg
    - Params
    - NetPermissions::HasFlag
    - std::optional::GetPort
    - Lookup
    - NetWhitebindPermissions::m_service::GetPort
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetListenPort()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:172,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/net.cpp:177,1
    - Dst: ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/net.cpp:177,1
    - Dst: IsPrivacyNet
      Src: /src/bitcoin-core/src/net.cpp:178,1
    - Dst: IsConnectedThroughPrivacyNet
      Src: /src/bitcoin-core/src/net.cpp:178,1
    - Dst: GetReachabilityFrom
      Src: /src/bitcoin-core/src/net.cpp:182,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/net.cpp:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - CNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 191
    functionName: GetLocal
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - GetNetwork
    - GetReachabilityFrom
    - IsPrivacyNet
    - std::optional::emplace
    - ConnectedThroughNetwork
    - LOCK
    - IsConnectedThroughPrivacyNet
    linkageType: ''
    returnType: std::optional<CService>
    signature: std::optional<CService> GetLocal(const CNode& peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/net.cpp:202,1
    - Dst: ParamsStream::eof
      Src: /src/bitcoin-core/src/net.cpp:204,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/net.cpp:205,1
    - Dst: SeedsServiceFlags
      Src: /src/bitcoin-core/src/net.cpp:207,1
    - Dst: FastRandomContext::rand_uniform_delay
      Src: /src/bitcoin-core/src/net.cpp:208,1
    - Dst: Now
      Src: /src/bitcoin-core/src/net.cpp:208,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:209,1
    - Dst: CAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:209,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - vSeedsIn
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: ConvertSeeds
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CService::CService
    - SeedsServiceFlags
    - LogDebug
    - CAddress::ToStringAddrPort
    - FastRandomContext::FastRandomContext
    - std::vector::push_back
    - FastRandomContext::rand_uniform_delay
    - ParamsStream::eof
    - Now
    linkageType: ''
    returnType: std::vector<CAddress>
    signature: std::vector<CAddress> ConvertSeeds(const std::vector<uint8_t> &vSeedsIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLocal
      Src: /src/bitcoin-core/src/net.cpp:221,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/net.cpp:221,1
    - Dst: GetListenPort
      Src: /src/bitcoin-core/src/net.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' peer'
    argTypes:
    - CNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 6
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: GetLocalAddress
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr
    - GetLocal
    - GetListenPort
    linkageType: ''
    returnType: CService
    signature: CService GetLocalAddress(const CNode& peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:226,1
    - Dst: find
      Src: /src/bitcoin-core/src/net.cpp:227,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: GetnScore
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - LOCK
    - find
    linkageType: ''
    returnType: int
    signature: int GetnScore(const CService& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNode*::GetAddrLocal
      Src: /src/bitcoin-core/src/net.cpp:234,1
    - Dst: CNode*::addr::IsRoutable
      Src: /src/bitcoin-core/src/net.cpp:235,1
    - Dst: CService::IsRoutable
      Src: /src/bitcoin-core/src/net.cpp:235,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/net.cpp:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pnode
    argTypes:
    - CNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: IsPeerAddrLocalGood
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CNode*::addr::IsRoutable
    - CService::IsRoutable
    - Contains
    - CNode*::GetAddrLocal
    linkageType: ''
    returnType: bool
    signature: bool IsPeerAddrLocalGood(CNode *pnode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/net.cpp:241,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/net.cpp:245,1
    - Dst: IsPeerAddrLocalGood
      Src: /src/bitcoin-core/src/net.cpp:246,1
    - Dst: CService::IsRoutable
      Src: /src/bitcoin-core/src/net.cpp:246,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/net.cpp:247,1
    - Dst: GetnScore
      Src: /src/bitcoin-core/src/net.cpp:247,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net.cpp:249,1
    - Dst: GetAddrLocal
      Src: /src/bitcoin-core/src/net.cpp:252,1
    - Dst: CService::SetIP
      Src: /src/bitcoin-core/src/net.cpp:258,1
    - Dst: GetAddrLocal
      Src: /src/bitcoin-core/src/net.cpp:258,1
    - Dst: CService::IsRoutable
      Src: /src/bitcoin-core/src/net.cpp:261,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:262,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:262,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net.cpp:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - CNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 239
    functionDepth: 7
    functionLinenumber: 239
    functionLinenumberEnd: 267
    functionName: GetLocalAddrForPeer
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - FastRandomContext::randbits
    - GetId
    - LogDebug
    - GetnScore
    - FastRandomContext::FastRandomContext
    - IsPeerAddrLocalGood
    - CService::ToStringAddrPort
    - CService::SetIP
    - GetAddrLocal
    - IsInboundConn
    - GetLocalAddress
    - CService::IsRoutable
    linkageType: ''
    returnType: std::optional<CService>
    signature: std::optional<CService> GetLocalAddrForPeer(CNode& node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/net.cpp:272,1
    - Dst: CService::IsRoutable
      Src: /src/bitcoin-core/src/net.cpp:274,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/net.cpp:280,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:283,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:283,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:286,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/net.cpp:287,1
    - Dst: LocalServiceInfo
      Src: /src/bitcoin-core/src/net.cpp:287,1
    - Dst: CService::GetPort
      Src: /src/bitcoin-core/src/net.cpp:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ' addr_'
    - nScore
    argTypes:
    - CService
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 296
    functionName: AddLocal
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - emplace
    - LocalServiceInfo
    - CService::GetPort
    - Contains
    - LogPrintf
    - LOCK
    - CService::ToStringAddrPort
    - MaybeFlipIPv6toCJDNS
    - CService::IsRoutable
    linkageType: ''
    returnType: bool
    signature: bool AddLocal(const CService& addr_, int nScore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/net.cpp:300,1
    - Dst: CService
      Src: /src/bitcoin-core/src/net.cpp:300,1
    - Dst: GetListenPort
      Src: /src/bitcoin-core/src/net.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - nScore
    argTypes:
    - CNetAddr
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: AddLocal
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached:
    - GetListenPort
    - CService
    - AddLocal
    linkageType: ''
    returnType: bool
    signature: bool AddLocal(const CNetAddr &addr, int nScore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:305,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:306,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:306,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: RemoveLocal
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - LOCK
    - ToStringAddrPort
    - erase
    linkageType: ''
    returnType: void
    signature: void RemoveLocal(const CService& addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:313,1
    - Dst: find
      Src: /src/bitcoin-core/src/net.cpp:314,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: SeenLocal
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - end
    - LOCK
    - find
    linkageType: ''
    returnType: bool
    signature: bool SeenLocal(const CService& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:324,1
    - Dst: count
      Src: /src/bitcoin-core/src/net.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: IsLocal
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 3
    functionsReached:
    - LOCK
    - count
    linkageType: ''
    returnType: bool
    signature: bool IsLocal(const CService& addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:330,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/net.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ip'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: CConnman::FindNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CNetAddr>
    - LOCK
    linkageType: ''
    returnType: CNode
    signature: CNode * CConnman::FindNode(const CNetAddr& ip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' addrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: CConnman::FindNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: CNode
    signature: CNode * CConnman::FindNode(const std::string& addrName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:352,1
    - Dst: static_cast<CService>
      Src: /src/bitcoin-core/src/net.cpp:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: CConnman::FindNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - static_cast<CService>
    linkageType: ''
    returnType: CNode
    signature: CNode * CConnman::FindNode(const CService& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::FindNode
      Src: /src/bitcoin-core/src/net.cpp:363,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/net.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: CConnman::AlreadyConnectedToAddress
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CNetAddr>
    - CConnman::FindNode
    linkageType: ''
    returnType: bool
    signature: bool CConnman::AlreadyConnectedToAddress(const CAddress& addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:368,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net.cpp:370,1
    - Dst: GetLocalNonce
      Src: /src/bitcoin-core/src/net.cpp:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: CConnman::CheckIncomingNonce
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsInboundConn
    - GetLocalNonce
    linkageType: ''
    returnType: bool
    signature: bool CConnman::CheckIncomingNonce(uint64_t nonce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/net.cpp:379,1
    - Dst: GetSockName
      Src: /src/bitcoin-core/src/net.cpp:382,1
    - Dst: CService::SetSockAddr
      Src: /src/bitcoin-core/src/net.cpp:383,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/net.cpp:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 388
    functionName: GetBindAddress
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - GetSockName
    - CService::CService
    - CService::SetSockAddr
    linkageType: ''
    returnType: CService
    signature: CService GetBindAddress(const Sock& sock)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:392,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net.cpp:393,1
    - Dst: IsLocal
      Src: /src/bitcoin-core/src/net.cpp:396,1
    - Dst: CConnman::FindNode
      Src: /src/bitcoin-core/src/net.cpp:400,1
    - Dst: static_cast<CService>
      Src: /src/bitcoin-core/src/net.cpp:400,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:403,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/net.cpp:408,1
    - Dst: CAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:410,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/net.cpp:411,1
    - Dst: Now
      Src: /src/bitcoin-core/src/net.cpp:411,1
    - Dst: CConnman::GetDefaultPort
      Src: /src/bitcoin-core/src/net.cpp:414,1
    - Dst: CConnman::GetDefaultPort
      Src: /src/bitcoin-core/src/net.cpp:415,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/net.cpp:420,1
    - Dst: HaveNameProxy
      Src: /src/bitcoin-core/src/net.cpp:420,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/net.cpp:421,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/net.cpp:422,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net.cpp:422,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net.cpp:422,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/net.cpp:422,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/net.cpp:426,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/net.cpp:427,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:428,1
    - Dst: CAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:428,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:433,1
    - Dst: CConnman::FindNode
      Src: /src/bitcoin-core/src/net.cpp:434,1
    - Dst: static_cast<CService>
      Src: /src/bitcoin-core/src/net.cpp:434,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:436,1
    - Dst: CAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net.cpp:444,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net.cpp:448,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/net.cpp:453,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/net.cpp:454,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net.cpp:455,1
    - Dst: CService::IsValid
      Src: /src/bitcoin-core/src/net.cpp:455,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/net.cpp:459,1
    - Dst: GetProxy
      Src: /src/bitcoin-core/src/net.cpp:460,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/net.cpp:460,1
    - Dst: IsI2P
      Src: /src/bitcoin-core/src/net.cpp:463,1
    - Dst: Connect
      Src: /src/bitcoin-core/src/net.cpp:468,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:471,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:472,1
    - Dst: std::make_unique<i2p::sam::Session>
      Src: /src/bitcoin-core/src/net.cpp:474,1
    - Dst: std::unique_ptr::swap
      Src: /src/bitcoin-core/src/net.cpp:476,1
    - Dst: front
      Src: /src/bitcoin-core/src/net.cpp:476,1
    - Dst: pop
      Src: /src/bitcoin-core/src/net.cpp:477,1
    - Dst: std::unique_ptr::Connect
      Src: /src/bitcoin-core/src/net.cpp:480,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:482,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:483,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/net.cpp:484,1
    - Dst: std::unique_ptr::release
      Src: /src/bitcoin-core/src/net.cpp:484,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:490,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/net.cpp:494,1
    - Dst: Proxy::ToString
      Src: /src/bitcoin-core/src/net.cpp:494,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:494,1
    - Dst: ConnectThroughProxy
      Src: /src/bitcoin-core/src/net.cpp:495,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/net.cpp:495,1
    - Dst: GetPort
      Src: /src/bitcoin-core/src/net.cpp:495,1
    - Dst: ConnectDirectly
      Src: /src/bitcoin-core/src/net.cpp:498,1
    - Dst: Attempt
      Src: /src/bitcoin-core/src/net.cpp:503,1
    - Dst: GetNameProxy
      Src: /src/bitcoin-core/src/net.cpp:505,1
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/net.cpp:508,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/net.cpp:508,1
    - Dst: ConnectThroughProxy
      Src: /src/bitcoin-core/src/net.cpp:510,1
    - Dst: CConnman::AddWhitelistPermissionFlags
      Src: /src/bitcoin-core/src/net.cpp:519,1
    - Dst: CConnman::GetNewNodeId
      Src: /src/bitcoin-core/src/net.cpp:522,1
    - Dst: CConnman::GetDeterministicRandomizer
      Src: /src/bitcoin-core/src/net.cpp:523,1
    - Dst: CService::IsValid
      Src: /src/bitcoin-core/src/net.cpp:524,1
    - Dst: GetBindAddress
      Src: /src/bitcoin-core/src/net.cpp:525,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:528,1
    - Dst: CConnman::CalculateKeyedNetGroup
      Src: /src/bitcoin-core/src/net.cpp:530,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:538,1
    - Dst: CNode::CNode
      Src: /src/bitcoin-core/src/net.cpp:527,1
    - Dst: CNode*::AddRef
      Src: /src/bitcoin-core/src/net.cpp:542,1
    - Dst: RandAddEvent
      Src: /src/bitcoin-core/src/net.cpp:545,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 5
    argNames:
    - addrConnect
    - pszDest
    - fCountFailure
    - conn_type
    - use_v2transport
    argTypes:
    - CAddress
    - char*
    - bool
    - ConnectionType
    - bool
    assertStmts:
    - condition: (conn_type != ConnectionType::INBOUND)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/bitcoin-core/src/net.cpp
    - condition: (!addr_bind.IsValid())
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/bitcoin-core/src/net.cpp
    constantsTouched: []
    func_position:
      end: 551
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 551
    functionName: CConnman::ConnectNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CService>
    - Connect
    - CAddress::ToStringAddrPort
    - std::move
    - std::string
    - IsLocal
    - std::vector::push_back
    - CConnman::GetDefaultPort
    - RandAddEvent
    - std::shuffle
    - CNode::CNode
    - Proxy::Proxy
    - ConnectDirectly
    - std::vector::end
    - ToStringAddrPort
    - CService::CService
    - GetBindAddress
    - IsI2P
    - SplitHostPort
    - GetPort
    - ConnectThroughProxy
    - std::vector::empty
    - CConnman::CalculateKeyedNetGroup
    - Now
    - std::unique_ptr::swap
    - ToStringAddr
    - GetNetwork
    - emplace
    - empty
    - CConnman::GetNewNodeId
    - LogDebug
    - AssertLockNotHeld
    - IsValid
    - Attempt
    - GetNameProxy
    - CConnman::GetDeterministicRandomizer
    - Proxy::ToString
    - CConnman::FindNode
    - CNode*::AddRef
    - assert
    - MaybeFlipIPv6toCJDNS
    - LogPrintLevel
    - std::make_unique<i2p::sam::Session>
    - CConnman::AddWhitelistPermissionFlags
    - Ticks
    - CService::IsValid
    - pop
    - GetProxy
    - std::vector::begin
    - std::unique_ptr::Connect
    - HaveNameProxy
    - LogPrintf
    - LOCK
    - size
    - std::unique_ptr::release
    - FastRandomContext
    - Lookup
    - CAddress::IsValid
    - front
    linkageType: ''
    returnType: CNode
    signature: CNode * CConnman::ConnectNode(CAddress addrConnect, const char *pszDest,
      bool fCountFailure, ConnectionType conn_type, bool use_v2transport)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:556,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:558,1
    - Dst: CNode::GetId
      Src: /src/bitcoin-core/src/net.cpp:558,1
    - Dst: CNode::LogIP
      Src: /src/bitcoin-core/src/net.cpp:558,1
    - Dst: reset
      Src: /src/bitcoin-core/src/net.cpp:559,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/net.cpp:561,1
    - Dst: CNode::GetId
      Src: /src/bitcoin-core/src/net.cpp:562,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/net.cpp:563,1
    - Dst: CNode::ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net.cpp:564,1
    - Dst: CNode::ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/net.cpp:565,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/net.cpp:566,1
    - Dst: reset
      Src: /src/bitcoin-core/src/net.cpp:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 569
    functionName: CNode::CloseSocketDisconnect
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CNode::GetId
    - Ticks
    - LogDebug
    - CNode::LogIP
    - TRACEPOINT
    - LOCK
    - reset
    - CNode::ConnectionTypeAsString
    - CNode::ConnectedThroughNetwork
    - c_str
    linkageType: ''
    returnType: void
    signature: void CNode::CloseSocketDisconnect()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: m_subnet::Match
      Src: /src/bitcoin-core/src/net.cpp:573,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net.cpp:574,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net.cpp:577,1
    - Dst: NetPermissions::ClearFlag
      Src: /src/bitcoin-core/src/net.cpp:578,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net.cpp:579,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net.cpp:580,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net.cpp:581,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/net.cpp:582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' flags'
    - addr
    - ' ranges'
    argTypes:
    - NetPermissionFlags
    - CNetAddr
    - std::vector<NetWhitelistPermissions>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: CConnman::AddWhitelistPermissionFlags
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - NetPermissions::AddFlag
    - NetPermissions::ClearFlag
    - NetPermissions::HasFlag
    - m_subnet::Match
    linkageType: ''
    returnType: void
    signature: void CConnman::AddWhitelistPermissionFlags(NetPermissionFlags& flags,
      const CNetAddr &addr, const std::vector<NetWhitelistPermissions>& ranges) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:588,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 591
    functionName: CNode::GetAddrLocal
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    linkageType: ''
    returnType: CService
    signature: CService CNode::GetAddrLocal() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:594,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:595,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:596,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/net.cpp:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' addrLocalIn'
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 599
    functionName: CNode::SetAddrLocal
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsValid
    - AssertLockNotHeld
    - Assume
    linkageType: ''
    returnType: void
    signature: void CNode::SetAddrLocal(const CService& addrLocalIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetNetClass
      Src: /src/bitcoin-core/src/net.cpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: CNode::ConnectedThroughNetwork
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - GetNetClass
    linkageType: ''
    returnType: Network
    signature: Network CNode::ConnectedThroughNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsPrivacyNet
      Src: /src/bitcoin-core/src/net.cpp:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: CNode::IsConnectedThroughPrivacyNet
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - IsPrivacyNet
    linkageType: ''
    returnType: bool
    signature: bool CNode::IsConnectedThroughPrivacyNet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 613
    functionName: X
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CNode::GetId
      Src: /src/bitcoin-core/src/net.cpp:615,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:616,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:617,1
    - Dst: CNode::ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/net.cpp:618,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:619,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:620,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:621,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:622,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:623,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:624,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:625,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:627,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:628,1
    - Dst: CNode::IsInboundConn
      Src: /src/bitcoin-core/src/net.cpp:630,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:631,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:632,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:634,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:635,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:636,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:639,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:640,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:641,1
    - Dst: GetInfo
      Src: /src/bitcoin-core/src/net.cpp:642,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/net.cpp:644,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:646,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:648,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:649,1
    - Dst: CNode::GetAddrLocal
      Src: /src/bitcoin-core/src/net.cpp:652,1
    - Dst: CService::IsValid
      Src: /src/bitcoin-core/src/net.cpp:653,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:653,1
    - Dst: X
      Src: /src/bitcoin-core/src/net.cpp:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - CNodeStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 656
    functionName: CNode::CopyStats
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CNode::GetId
    - X
    - CService::IsValid
    - GetInfo
    - CNode::IsInboundConn
    - LOCK
    - CService::ToStringAddrPort
    - CNode::ConnectedThroughNetwork
    - HexStr
    - CNode::GetAddrLocal
    linkageType: ''
    returnType: void
    signature: void CNode::CopyStats(CNodeStats& stats)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:662,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:663,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/bitcoin-core/src/net.cpp:664,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/net.cpp:665,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/net.cpp:666,1
    - Dst: ReceivedBytes
      Src: /src/bitcoin-core/src/net.cpp:668,1
    - Dst: ReceivedMessageComplete
      Src: /src/bitcoin-core/src/net.cpp:673,1
    - Dst: GetReceivedMessage
      Src: /src/bitcoin-core/src/net.cpp:676,1
    - Dst: at
      Src: /src/bitcoin-core/src/net.cpp:680,1
    - Dst: find
      Src: /src/bitcoin-core/src/net.cpp:686,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:687,1
    - Dst: find
      Src: /src/bitcoin-core/src/net.cpp:688,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net.cpp:690,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:690,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net.cpp:694,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - msg_bytes
    - ' complete'
    argTypes:
    - std::span<const uint8_t>
    - bool
    assertStmts:
    - condition: (i != mapRecvBytesPerMsgType.end())
      pos:
        line_end: 689
        line_start: 689
        source_file: /src/bitcoin-core/src/net.cpp
    constantsTouched: []
    func_position:
      end: 701
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 701
    functionName: CNode::ReceiveMsgBytes
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - GetTime
    - push_back
    - at
    - std::move
    - LOCK
    - std::chrono::duration_cast<std::chrono::seconds>
    - ReceivedBytes
    - GetReceivedMessage
    - assert
    - ReceivedMessageComplete
    - find
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: bool
    signature: bool CNode::ReceiveMsgBytes(std::span<const uint8_t> msg_bytes, bool&
      complete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:705,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log_ip
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: CNode::LogIP
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - ToStringAddrPort
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CNode::LogIP(bool log_ip) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:710,1
    - Dst: CNode::GetId
      Src: /src/bitcoin-core/src/net.cpp:711,1
    - Dst: CNode::LogIP
      Src: /src/bitcoin-core/src/net.cpp:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log_ip
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: CNode::DisconnectMsg
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CNode::GetId
    - CNode::LogIP
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CNode::DisconnectMsg(bool log_ip) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/net.cpp:716,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:718,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/net.cpp:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node_id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 720
    functionName: V1Transport::V1Transport
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Params
    - Reset
    linkageType: ''
    returnType: void
    signature: void V1Transport::V1Transport(const NodeId node_id) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: V1Transport::GetInfo
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Transport::Info
    signature: Transport::Info V1Transport::GetInfo() const noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:729,1
    - Dst: std::min<unsigned int>
      Src: /src/bitcoin-core/src/net.cpp:732,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/net.cpp:732,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/net.cpp:734,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/net.cpp:734,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:746,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:752,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/net.cpp:752,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:760,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net.cpp:760,1
    - Dst: GetMessageType
      Src: /src/bitcoin-core/src/net.cpp:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - msg_bytes
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 768
    functionName: V1Transport::readHeader
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::min<unsigned int>
    - std::span<const uint8_t>::data
    - LogDebug
    - memcpy
    - AssertLockHeld
    - SanitizeString
    - HexStr
    - GetMessageType
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: int
    signature: int V1Transport::readHeader(std::span<const uint8_t> msg_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:772,1
    - Dst: std::min<unsigned int>
      Src: /src/bitcoin-core/src/net.cpp:774,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/net.cpp:774,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:776,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net.cpp:778,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.cpp:778,1
    - Dst: Write
      Src: /src/bitcoin-core/src/net.cpp:781,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/bitcoin-core/src/net.cpp:781,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/net.cpp:782,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/net.cpp:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - msg_bytes
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 786
    functionName: V1Transport::readData
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - std::min<unsigned int>
    - std::span<const uint8_t>::data
    - size
    - memcpy
    - Write
    - AssertLockHeld
    - resize
    - std::min
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: int
    signature: int V1Transport::readData(std::span<const uint8_t> msg_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:790,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net.cpp:791,1
    - Dst: CompleteInternal
      Src: /src/bitcoin-core/src/net.cpp:791,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/net.cpp:792,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/net.cpp:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (CompleteInternal())
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/bitcoin-core/src/net.cpp
    constantsTouched: []
    func_position:
      end: 795
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 795
    functionName: '& V1Transport::GetMessageHash() const'
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CompleteInternal
    - Finalize
    - AssertLockHeld
    - IsNull
    - assert
    linkageType: ''
    returnType: uint256
    signature: uint256 & V1Transport::GetMessageHash() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:799,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:803,1
    - Dst: GetMessageType
      Src: /src/bitcoin-core/src/net.cpp:807,1
    - Dst: GetMessageHash
      Src: /src/bitcoin-core/src/net.cpp:812,1
    - Dst: RandAddEvent
      Src: /src/bitcoin-core/src/net.cpp:815,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/net.cpp:815,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/net.cpp:815,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/net.cpp:818,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/net.cpp:818,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:819,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net.cpp:820,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/net.cpp:821,1
    - Dst: first
      Src: /src/bitcoin-core/src/net.cpp:821,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/net.cpp:822,1
    - Dst: IsMessageTypeValid
      Src: /src/bitcoin-core/src/net.cpp:825,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:826,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/net.cpp:827,1
    - Dst: GetMessageType
      Src: /src/bitcoin-core/src/net.cpp:827,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/net.cpp:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - time
    - ' reject_message'
    argTypes:
    - std::chrono::microseconds
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 834
    functionName: V1Transport::GetReceivedMessage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - LogDebug
    - AssertLockNotHeld
    - uint256::begin
    - RandAddEvent
    - Reset
    - LOCK
    - memcmp
    - GetMessageHash
    - first
    - SanitizeString
    - HexStr
    - GetMessageType
    - IsMessageTypeValid
    linkageType: ''
    returnType: CNetMessage
    signature: CNetMessage V1Transport::GetReceivedMessage(const std::chrono::microseconds
      time, bool& reject_message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:838,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:840,1
    - Dst: data::size
      Src: /src/bitcoin-core/src/net.cpp:841,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/net.cpp:844,1
    - Dst: m_type::c_str
      Src: /src/bitcoin-core/src/net.cpp:847,1
    - Dst: data::size
      Src: /src/bitcoin-core/src/net.cpp:847,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/net.cpp:848,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/net.cpp:848,1
    - Dst: clear
      Src: /src/bitcoin-core/src/net.cpp:851,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - CSerializedNetMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 836
    functionDepth: 4
    functionLinenumber: 836
    functionLinenumberEnd: 859
    functionName: V1Transport::SetMessageToSend
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - Hash
    - m_type::c_str
    - data::size
    - AssertLockNotHeld
    - uint256::begin
    - std::move
    - memcpy
    - LOCK
    - clear
    linkageType: ''
    returnType: bool
    signature: bool V1Transport::SetMessageToSend(CSerializedNetMsg& msg) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:863,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:864,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/net.cpp:866,1
    - Dst: data::empty
      Src: /src/bitcoin-core/src/net.cpp:869,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/net.cpp:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - have_next_message
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 880
    functionName: V1Transport::GetBytesToSend
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - data::empty
    - LOCK
    - AssertLockNotHeld
    - subspan
    linkageType: ''
    returnType: Transport::BytesToSend
    signature: Transport::BytesToSend V1Transport::GetBytesToSend(bool have_next_message)
      const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:884,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:885,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:887,1
    - Dst: data::size
      Src: /src/bitcoin-core/src/net.cpp:891,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - bytes_sent
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 896
    functionName: V1Transport::MarkBytesSent
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - data::size
    - AssertLockNotHeld
    - size
    - LOCK
    - ClearShrink
    linkageType: ''
    returnType: void
    signature: void V1Transport::MarkBytesSent(size_t bytes_sent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:900,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:901,1
    - Dst: GetMemoryUsage
      Src: /src/bitcoin-core/src/net.cpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 904
    functionName: V1Transport::GetSendMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - GetMemoryUsage
    - LOCK
    - AssertLockNotHeld
    linkageType: ''
    returnType: size_t
    signature: size_t V1Transport::GetSendMemoryUsage() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:957,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/net.cpp:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 960
    functionName: V2MessageMap::V2MessageMap
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - size
    linkageType: ''
    returnType: void
    signature: void V2MessageMap() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/net.cpp:964,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' message_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 967
    functionName: operator()(const std::string& message_name) const noexcept
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::optional<uint8_t>
    signature: std::optional<uint8_t> operator()(const std::string& message_name)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/net.cpp:975,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/net.cpp:976,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/net.cpp:976,1
    - Dst: FastRandomContext::fillrand
      Src: /src/bitcoin-core/src/net.cpp:977,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/net.cpp:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 979
    functionName: GenerateRandomGarbage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - FastRandomContext::FastRandomContext
    - MakeWritableByteSpan
    - FastRandomContext::randrange
    - FastRandomContext::fillrand
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> GenerateRandomGarbage() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:957,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/net.cpp:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 960
    functionName: V2MessageMap::V2MessageMap
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - size
    linkageType: ''
    returnType: void
    signature: void V2MessageMap() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/net.cpp:964,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' message_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 967
    functionName: operator()(const std::string& message_name) const noexcept
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::optional<uint8_t>
    signature: std::optional<uint8_t> operator()(const std::string& message_name)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/net.cpp:975,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/net.cpp:976,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/net.cpp:976,1
    - Dst: FastRandomContext::fillrand
      Src: /src/bitcoin-core/src/net.cpp:977,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/net.cpp:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 979
    functionName: GenerateRandomGarbage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - FastRandomContext::FastRandomContext
    - MakeWritableByteSpan
    - FastRandomContext::randrange
    - FastRandomContext::fillrand
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> GenerateRandomGarbage() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:985,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:986,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:987,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:987,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net.cpp:989,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/net.cpp:989,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:989,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net.cpp:990,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:990,1
    - Dst: GetOurPubKey
      Src: /src/bitcoin-core/src/net.cpp:990,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:990,1
    - Dst: GetOurPubKey
      Src: /src/bitcoin-core/src/net.cpp:990,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/net.cpp:990,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net.cpp:991,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:991,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:991,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:991,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/net.cpp:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 993
    functionName: V2Transport::StartSendingHandshake
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::copy
    - empty
    - Assume
    - size
    - GetOurPubKey
    - MakeWritableByteSpan
    - AssertLockHeld
    - resize
    - begin
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: void
    signature: void V2Transport::StartSendingHandshake() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:999,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1002,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1002,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1005,1
    - Dst: V2Transport::StartSendingHandshake
      Src: /src/bitcoin-core/src/net.cpp:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - nodeid
    - initiating
    - ' key'
    - ent32
    - garbage
    argTypes:
    - NodeId
    - bool
    - CKey
    - std::span<const std::byte>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1008
    functionName: V2Transport::V2Transport
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - size
    - V2Transport::StartSendingHandshake
    - std::move
    - LOCK
    linkageType: ''
    returnType: void
    signature: void V2Transport::V2Transport(NodeId nodeid, bool initiating, const
      CKey& key, std::span<const std::byte> ent32, std::vector<uint8_t> garbage) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/net.cpp:1011,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1012,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/net.cpp:1012,1
    - Dst: GenerateRandomGarbage
      Src: /src/bitcoin-core/src/net.cpp:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - nodeid
    - initiating
    argTypes:
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 4
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: V2Transport::V2Transport
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - GetRandHash
    - GenerateRandomGarbage
    - GenerateRandomKey
    - MakeByteSpan
    linkageType: ''
    returnType: void
    signature: void V2Transport::V2Transport(NodeId nodeid, bool initiating) noexcept
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:1016,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1020,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1023,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1026,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1029,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1032,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1035,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1038,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - recv_state
    argTypes:
    - RecvState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1043
    functionName: V2Transport::SetReceiveState
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    - Assume
    linkageType: ''
    returnType: void
    signature: void V2Transport::SetReceiveState(RecvState recv_state) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:1047,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1051,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1054,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1058,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - send_state
    argTypes:
    - SendState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1063
    functionName: V2Transport::SetSendState
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    - Assume
    linkageType: ''
    returnType: void
    signature: void V2Transport::SetSendState(SendState send_state) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1067,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1068,1
    - Dst: V2Transport::ReceivedMessageComplete
      Src: /src/bitcoin-core/src/net.cpp:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1072
    functionName: V2Transport::ReceivedMessageComplete
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    - V2Transport::ReceivedMessageComplete
    linkageType: ''
    returnType: bool
    signature: bool V2Transport::ReceivedMessageComplete() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:1076,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1077,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1078,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net.cpp:1084,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:1084,1
    - Dst: Params
      Src: /src/bitcoin-core/src/net.cpp:1084,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:1084,1
    - Dst: Params
      Src: /src/bitcoin-core/src/net.cpp:1084,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/net.cpp:1084,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1085,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1085,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/net.cpp:1085,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/net.cpp:1086,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:1086,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:1086,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/net.cpp:1086,1
    - Dst: V2Transport::SetReceiveState
      Src: /src/bitcoin-core/src/net.cpp:1088,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1090,1
    - Dst: V2Transport::SetSendState
      Src: /src/bitcoin-core/src/net.cpp:1091,1
    - Dst: V2Transport::StartSendingHandshake
      Src: /src/bitcoin-core/src/net.cpp:1092,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1093,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/net.cpp:1093,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1095,1
    - Dst: V2Transport::ReceivedBytes
      Src: /src/bitcoin-core/src/net.cpp:1099,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1100,1
    - Dst: std::span::empty
      Src: /src/bitcoin-core/src/net.cpp:1100,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1101,1
    - Dst: V2Transport::SetReceiveState
      Src: /src/bitcoin-core/src/net.cpp:1102,1
    - Dst: V2Transport::SetSendState
      Src: /src/bitcoin-core/src/net.cpp:1103,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:1105,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:1106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1110
    functionName: V2Transport::ProcessReceivedMaybeV1Bytes
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::copy
    - V2Transport::ReceivedBytes
    - ClearShrink
    - Assume
    - V2Transport::SetReceiveState
    - std::span::empty
    - AssertLockNotHeld
    - size
    - V2Transport::StartSendingHandshake
    - LOCK
    - V2Transport::SetSendState
    - Params
    - std::array::begin
    - AssertLockHeld
    - std::array::size
    - begin
    - std::equal
    linkageType: ''
    returnType: void
    signature: void V2Transport::ProcessReceivedMaybeV1Bytes() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:1114,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1115,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1116,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1117,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1117,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/net.cpp:1117,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1127,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/net.cpp:1127,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/net.cpp:1128,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/net.cpp:1128,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/net.cpp:1128,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:1128,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1129,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/net.cpp:1130,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/net.cpp:1130,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1135,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/net.cpp:1135,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1141,1
    - Dst: Initialize
      Src: /src/bitcoin-core/src/net.cpp:1142,1
    - Dst: V2Transport::SetReceiveState
      Src: /src/bitcoin-core/src/net.cpp:1145,1
    - Dst: clear
      Src: /src/bitcoin-core/src/net.cpp:1146,1
    - Dst: V2Transport::SetSendState
      Src: /src/bitcoin-core/src/net.cpp:1149,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net.cpp:1152,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1152,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net.cpp:1153,1
    - Dst: GetSendGarbageTerminator
      Src: /src/bitcoin-core/src/net.cpp:1153,1
    - Dst: GetSendGarbageTerminator
      Src: /src/bitcoin-core/src/net.cpp:1154,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1155,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net.cpp:1158,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1158,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1158,1
    - Dst: Encrypt
      Src: /src/bitcoin-core/src/net.cpp:1159,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1161,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1163,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1163,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:1165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1112
    functionDepth: 2
    functionLinenumber: 1112
    functionLinenumberEnd: 1170
    functionName: V2Transport::ProcessReceivedKeyBytes
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - resize
    - secp256k1_strauss_scratch_size
    - Initialize
    - V2Transport::SetSendState
    - clear
    - AssertLockHeld
    - Encrypt
    - std::span
    - GetSendGarbageTerminator
    - ClearShrink
    - Assume
    - V2Transport::SetReceiveState
    - LogDebug
    - AssertLockNotHeld
    - MakeWritableByteSpan
    - std::array::begin
    - MakeByteSpan
    - std::equal
    - size
    - LOCK
    - std::array::size
    - std::array::end
    - HexStr
    - begin
    linkageType: ''
    returnType: bool
    signature: bool V2Transport::ProcessReceivedKeyBytes() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:1174,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1175,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1176,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1176,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1177,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/net.cpp:1178,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1178,1
    - Dst: GetReceiveGarbageTerminator
      Src: /src/bitcoin-core/src/net.cpp:1178,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:1180,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net.cpp:1181,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1181,1
    - Dst: clear
      Src: /src/bitcoin-core/src/net.cpp:1182,1
    - Dst: V2Transport::SetReceiveState
      Src: /src/bitcoin-core/src/net.cpp:1183,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1184,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1197
    functionName: V2Transport::ProcessReceivedGarbageBytes
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - Assume
    - V2Transport::SetReceiveState
    - LogDebug
    - size
    - std::move
    - clear
    - GetReceiveGarbageTerminator
    - AssertLockHeld
    - MakeByteSpan
    - resize
    linkageType: ''
    returnType: bool
    signature: bool V2Transport::ProcessReceivedGarbageBytes() noexcept
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:1201,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1202,1
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/net.cpp:1210,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1212,1
    - Dst: DecryptLength
      Src: /src/bitcoin-core/src/net.cpp:1214,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1214,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1216,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1219,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1219,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net.cpp:1223,1
    - Dst: Decrypt
      Src: /src/bitcoin-core/src/net.cpp:1225,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1226,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1227,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1229,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1231,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:1235,1
    - Dst: RandAddEvent
      Src: /src/bitcoin-core/src/net.cpp:1237,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/net.cpp:1237,1
    - Dst: data
      Src: /src/bitcoin-core/src/net.cpp:1237,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1237,1
    - Dst: V2Transport::SetReceiveState
      Src: /src/bitcoin-core/src/net.cpp:1246,1
    - Dst: V2Transport::SetReceiveState
      Src: /src/bitcoin-core/src/net.cpp:1250,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1254,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:1258,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:1260,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1199
    functionDepth: 2
    functionLinenumber: 1199
    functionLinenumberEnd: 1266
    functionName: V2Transport::ProcessReceivedPacketBytes
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - std::min<size_t>
    - Assume
    - V2Transport::SetReceiveState
    - LogDebug
    - size
    - RandAddEvent
    - data
    - MakeWritableByteSpan
    - AssertLockHeld
    - MakeByteSpan
    - resize
    - ClearShrink
    - Decrypt
    - DecryptLength
    linkageType: ''
    returnType: bool
    signature: bool V2Transport::ProcessReceivedPacketBytes() noexcept
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:1270,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1275,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1275,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1280,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1283,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1283,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/net.cpp:1283,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/net.cpp:1287,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1287,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1296,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1297,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1303,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1310,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1315
    functionName: V2Transport::GetMaxBytesToProcess
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - size
    - AssertLockHeld
    - Assume
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: size_t
    signature: size_t V2Transport::GetMaxBytesToProcess() noexcept
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1319,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1323,1
    - Dst: V2Transport::ReceivedBytes
      Src: /src/bitcoin-core/src/net.cpp:1324,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:1330,1
    - Dst: V2Transport::GetMaxBytesToProcess
      Src: /src/bitcoin-core/src/net.cpp:1332,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1335,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.cpp:1335,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1335,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/net.cpp:1335,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/net.cpp:1342,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.cpp:1351,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1351,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/net.cpp:1352,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1352,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1357,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:1357,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1361,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.cpp:1367,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1367,1
    - Dst: insert
      Src: /src/bitcoin-core/src/net.cpp:1369,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:1369,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/net.cpp:1369,1
    - Dst: data
      Src: /src/bitcoin-core/src/net.cpp:1369,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/net.cpp:1369,1
    - Dst: data
      Src: /src/bitcoin-core/src/net.cpp:1369,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/net.cpp:1370,1
    - Dst: V2Transport::ProcessReceivedMaybeV1Bytes
      Src: /src/bitcoin-core/src/net.cpp:1375,1
    - Dst: V2Transport::ProcessReceivedKeyBytes
      Src: /src/bitcoin-core/src/net.cpp:1380,1
    - Dst: V2Transport::ProcessReceivedGarbageBytes
      Src: /src/bitcoin-core/src/net.cpp:1384,1
    - Dst: V2Transport::ProcessReceivedPacketBytes
      Src: /src/bitcoin-core/src/net.cpp:1389,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1397,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1401,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 1
    argNames:
    - ' msg_bytes'
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1317
    functionDepth: 3
    functionLinenumber: 1317
    functionLinenumberEnd: 1405
    functionName: V2Transport::ReceivedBytes
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - V2Transport::GetMaxBytesToProcess
    - data
    - V2Transport::ProcessReceivedKeyBytes
    - std::min
    - capacity
    - V2Transport::ProcessReceivedGarbageBytes
    - V2Transport::ReceivedBytes
    - empty
    - Assume
    - AssertLockNotHeld
    - V2Transport::ProcessReceivedPacketBytes
    - end
    - UCharCast
    - size
    - LOCK
    - insert
    - V2Transport::ProcessReceivedMaybeV1Bytes
    - subspan
    linkageType: ''
    returnType: bool
    signature: bool V2Transport::ReceivedBytes(std::span<const uint8_t>& msg_bytes)
      noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1409,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/net.cpp:1411,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1415,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1424,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/net.cpp:1436,1
    - Dst: data
      Src: /src/bitcoin-core/src/net.cpp:1436,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/net.cpp:1443,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' contents'
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1407
    functionDepth: 2
    functionLinenumber: 1407
    functionLinenumberEnd: 1445
    functionName: V2Transport::GetMessageType
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - data
    - reinterpret_cast<const char*>
    - size
    - subspan
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> V2Transport::GetMessageType(std::span<const
      uint8_t>& contents) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1449,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1450,1
    - Dst: V2Transport::GetReceivedMessage
      Src: /src/bitcoin-core/src/net.cpp:1451,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1453,1
    - Dst: V2Transport::GetMessageType
      Src: /src/bitcoin-core/src/net.cpp:1455,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1458,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:1461,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/net.cpp:1463,1
    - Dst: CNetMessage::m_recv::resize
      Src: /src/bitcoin-core/src/net.cpp:1464,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/net.cpp:1464,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net.cpp:1465,1
    - Dst: std::span::begin
      Src: /src/bitcoin-core/src/net.cpp:1465,1
    - Dst: std::span::end
      Src: /src/bitcoin-core/src/net.cpp:1465,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/net.cpp:1465,1
    - Dst: CNetMessage::m_recv::data
      Src: /src/bitcoin-core/src/net.cpp:1465,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1467,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1467,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:1470,1
    - Dst: V2Transport::SetReceiveState
      Src: /src/bitcoin-core/src/net.cpp:1471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - time
    - ' reject_message'
    argTypes:
    - std::chrono::microseconds
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1447
    functionDepth: 3
    functionLinenumber: 1447
    functionLinenumberEnd: 1474
    functionName: V2Transport::GetReceivedMessage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - std::copy
    - CNetMessage::m_recv::resize
    - UCharCast
    - std::span::size
    - ClearShrink
    - Assume
    - V2Transport::GetMessageType
    - V2Transport::SetReceiveState
    - std::span::begin
    - V2Transport::GetReceivedMessage
    - AssertLockNotHeld
    - size
    - std::move
    - std::span::end
    - LOCK
    - LogDebug
    - CNetMessage::m_recv::data
    linkageType: ''
    returnType: CNetMessage
    signature: CNetMessage V2Transport::GetReceivedMessage(std::chrono::microseconds
      time, bool& reject_message) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1478,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1479,1
    - Dst: V2Transport::SetMessageToSend
      Src: /src/bitcoin-core/src/net.cpp:1480,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:1484,1
    - Dst: V2_MESSAGE_MAP
      Src: /src/bitcoin-core/src/net.cpp:1487,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/net.cpp:1489,1
    - Dst: data::size
      Src: /src/bitcoin-core/src/net.cpp:1489,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net.cpp:1491,1
    - Dst: data::begin
      Src: /src/bitcoin-core/src/net.cpp:1491,1
    - Dst: data::end
      Src: /src/bitcoin-core/src/net.cpp:1491,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net.cpp:1491,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/net.cpp:1495,1
    - Dst: data::size
      Src: /src/bitcoin-core/src/net.cpp:1495,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net.cpp:1496,1
    - Dst: m_type::begin
      Src: /src/bitcoin-core/src/net.cpp:1496,1
    - Dst: m_type::end
      Src: /src/bitcoin-core/src/net.cpp:1496,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/net.cpp:1496,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net.cpp:1497,1
    - Dst: data::begin
      Src: /src/bitcoin-core/src/net.cpp:1497,1
    - Dst: data::end
      Src: /src/bitcoin-core/src/net.cpp:1497,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net.cpp:1497,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net.cpp:1500,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net.cpp:1500,1
    - Dst: Encrypt
      Src: /src/bitcoin-core/src/net.cpp:1501,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1501,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/net.cpp:1501,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:1504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - CSerializedNetMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1476
    functionDepth: 2
    functionLinenumber: 1476
    functionLinenumberEnd: 1506
    functionName: V2Transport::SetMessageToSend
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - std::copy
    - data::begin
    - V2_MESSAGE_MAP
    - resize
    - Encrypt
    - std::vector::size
    - V2Transport::SetMessageToSend
    - m_type::begin
    - empty
    - AssertLockNotHeld
    - MakeWritableByteSpan
    - MakeByteSpan
    - m_type::end
    - std::vector::resize
    - std::vector::data
    - data::size
    - std::vector::begin
    - LOCK
    - data::end
    - ClearShrink
    linkageType: ''
    returnType: bool
    signature: bool V2Transport::SetMessageToSend(CSerializedNetMsg& msg) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1510,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1511,1
    - Dst: V2Transport::GetBytesToSend
      Src: /src/bitcoin-core/src/net.cpp:1512,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1514,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:1514,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1515,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1515,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/net.cpp:1517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - have_next_message
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1523
    functionName: V2Transport::GetBytesToSend
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - empty
    - Assume
    - AssertLockNotHeld
    - size
    - LOCK
    - V2Transport::GetBytesToSend
    - subspan
    linkageType: ''
    returnType: Transport::BytesToSend
    signature: Transport::BytesToSend V2Transport::GetBytesToSend(bool have_next_message)
      const noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1527,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1528,1
    - Dst: V2Transport::MarkBytesSent
      Src: /src/bitcoin-core/src/net.cpp:1529,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1532,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1536,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1536,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1541,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/net.cpp:1543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - bytes_sent
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1545
    functionName: V2Transport::MarkBytesSent
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - Assume
    - LogDebug
    - AssertLockNotHeld
    - size
    - LOCK
    - V2Transport::MarkBytesSent
    - ClearShrink
    linkageType: ''
    returnType: void
    signature: void V2Transport::MarkBytesSent(size_t bytes_sent) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1549,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1550,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1554,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:1558,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1562
    functionName: V2Transport::ShouldReconnectV1
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    - empty
    linkageType: ''
    returnType: bool
    signature: bool V2Transport::ShouldReconnectV1() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1566,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1567,1
    - Dst: V2Transport::GetSendMemoryUsage
      Src: /src/bitcoin-core/src/net.cpp:1568,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/net.cpp:1570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1571
    functionName: V2Transport::GetSendMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - memusage::DynamicUsage
    - LOCK
    - V2Transport::GetSendMemoryUsage
    - AssertLockNotHeld
    linkageType: ''
    returnType: size_t
    signature: size_t V2Transport::GetSendMemoryUsage() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1575,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1576,1
    - Dst: V2Transport::GetInfo
      Src: /src/bitcoin-core/src/net.cpp:1577,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/net.cpp:1586,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/net.cpp:1586,1
    - Dst: GetSessionID
      Src: /src/bitcoin-core/src/net.cpp:1586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1573
    functionDepth: 3
    functionLinenumber: 1573
    functionLinenumberEnd: 1592
    functionName: V2Transport::GetInfo
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - uint256
    - MakeUCharSpan
    - AssertLockNotHeld
    - LOCK
    - GetSessionID
    - V2Transport::GetInfo
    linkageType: ''
    returnType: Transport::Info
    signature: Transport::Info V2Transport::GetInfo() const noexcept
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vSendMsg::begin
      Src: /src/bitcoin-core/src/net.cpp:1596,1
    - Dst: vSendMsg::end
      Src: /src/bitcoin-core/src/net.cpp:1602,1
    - Dst: auto::GetMemoryUsage
      Src: /src/bitcoin-core/src/net.cpp:1606,1
    - Dst: m_transport::SetMessageToSend
      Src: /src/bitcoin-core/src/net.cpp:1607,1
    - Dst: m_transport::GetBytesToSend
      Src: /src/bitcoin-core/src/net.cpp:1613,1
    - Dst: vSendMsg::end
      Src: /src/bitcoin-core/src/net.cpp:1613,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/net.cpp:1617,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/net.cpp:1617,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:1617,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:1619,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:1621,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1622,1
    - Dst: m_sock::Send
      Src: /src/bitcoin-core/src/net.cpp:1635,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/net.cpp:1635,1
    - Dst: data
      Src: /src/bitcoin-core/src/net.cpp:1635,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1635,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:1638,1
    - Dst: m_transport::MarkBytesSent
      Src: /src/bitcoin-core/src/net.cpp:1641,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:1643,1
    - Dst: AccountForSentBytes
      Src: /src/bitcoin-core/src/net.cpp:1644,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1647,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/net.cpp:1654,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1656,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:1656,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/net.cpp:1656,1
    - Dst: CloseSocketDisconnect
      Src: /src/bitcoin-core/src/net.cpp:1657,1
    - Dst: m_transport::GetSendMemoryUsage
      Src: /src/bitcoin-core/src/net.cpp:1664,1
    - Dst: vSendMsg::end
      Src: /src/bitcoin-core/src/net.cpp:1666,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net.cpp:1667,1
    - Dst: vSendMsg::erase
      Src: /src/bitcoin-core/src/net.cpp:1669,1
    - Dst: vSendMsg::begin
      Src: /src/bitcoin-core/src/net.cpp:1669,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - CNode
    assertStmts:
    - condition: (node.m_send_memusage == 0)
      pos:
        line_end: 1666
        line_start: 1666
        source_file: /src/bitcoin-core/src/net.cpp
    constantsTouched: []
    func_position:
      end: 1671
      start: 1594
    functionDepth: 2
    functionLinenumber: 1594
    functionLinenumberEnd: 1671
    functionName: CConnman::SocketSendData
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - vSendMsg::begin
    - WSAGetLastError
    - data
    - auto::GetMemoryUsage
    - GetTime
    - reinterpret_cast<const char*>
    - vSendMsg::end
    - DisconnectMsg
    - m_transport::GetBytesToSend
    - m_transport::MarkBytesSent
    - NetworkErrorString
    - Assume
    - empty
    - std::optional::has_value
    - AccountForSentBytes
    - LogDebug
    - m_transport::GetSendMemoryUsage
    - m_transport::SetMessageToSend
    - assert
    - vSendMsg::erase
    - size
    - LOCK
    - CloseSocketDisconnect
    - m_sock::Send
    linkageType: ''
    returnType: std::pair<size_t, bool>
    signature: std::pair<size_t, bool> CConnman::SocketSendData(CNode& node) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1686,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net.cpp:1691,1
    - Dst: m_relays_txs::load
      Src: /src/bitcoin-core/src/net.cpp:1697,1
    - Dst: m_bloom_filter_loaded::load
      Src: /src/bitcoin-core/src/net.cpp:1698,1
    - Dst: addr::IsLocal
      Src: /src/bitcoin-core/src/net.cpp:1701,1
    - Dst: ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/net.cpp:1702,1
    - Dst: HasPermission
      Src: /src/bitcoin-core/src/net.cpp:1703,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net.cpp:1706,1
    - Dst: SelectNodeToEvict
      Src: /src/bitcoin-core/src/net.cpp:1709,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:1709,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1713,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net.cpp:1715,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1716,1
    - Dst: ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net.cpp:1716,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:1716,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/net.cpp:1717,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net.cpp:1718,1
    - Dst: m_addr_name::c_str
      Src: /src/bitcoin-core/src/net.cpp:1719,1
    - Dst: ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net.cpp:1720,1
    - Dst: ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/net.cpp:1721,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/net.cpp:1722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1681
    functionDepth: 2
    functionLinenumber: 1681
    functionLinenumberEnd: 1728
    functionName: CConnman::AttemptToEvictConnection
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - Ticks
    - SelectNodeToEvict
    - addr::IsLocal
    - LogDebug
    - DisconnectMsg
    - ConnectedThroughNetwork
    - std::move
    - TRACEPOINT
    - std::vector::push_back
    - LOCK
    - m_addr_name::c_str
    - m_bloom_filter_loaded::load
    - m_relays_txs::load
    - ConnectionTypeAsString
    - HasPermission
    - GetId
    linkageType: ''
    returnType: bool
    signature: bool CConnman::AttemptToEvictConnection()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sock::Accept
      Src: /src/bitcoin-core/src/net.cpp:1733,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/net.cpp:1736,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:1738,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/net.cpp:1738,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/net.cpp:1743,1
    - Dst: CService::SetSockAddr
      Src: /src/bitcoin-core/src/net.cpp:1744,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/net.cpp:1745,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/net.cpp:1747,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/net.cpp:1750,1
    - Dst: GetBindAddress
      Src: /src/bitcoin-core/src/net.cpp:1750,1
    - Dst: CConnman::AddSocketPermissionFlags
      Src: /src/bitcoin-core/src/net.cpp:1753,1
    - Dst: CConnman::CreateNodeFromAcceptedSocket
      Src: /src/bitcoin-core/src/net.cpp:1755,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:1755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' hListenSocket'
    argTypes:
    - ListenSocket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1730
    functionDepth: 3
    functionLinenumber: 1730
    functionLinenumberEnd: 1756
    functionName: CConnman::AcceptConnection
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - NetworkErrorString
    - GetBindAddress
    - CService::CService
    - CService::SetSockAddr
    - WSAGetLastError
    - std::move
    - LogPrintf
    - sock::Accept
    - CConnman::AddSocketPermissionFlags
    - CConnman::CreateNodeFromAcceptedSocket
    - MaybeFlipIPv6toCJDNS
    linkageType: ''
    returnType: void
    signature: void CConnman::AcceptConnection(const ListenSocket& hListenSocket)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::AddWhitelistPermissionFlags
      Src: /src/bitcoin-core/src/net.cpp:1765,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1768,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net.cpp:1770,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1775,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:1775,1
    - Dst: IsSelectable
      Src: /src/bitcoin-core/src/net.cpp:1779,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:1780,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:1780,1
    - Dst: SetSockOpt
      Src: /src/bitcoin-core/src/net.cpp:1787,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1788,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:1789,1
    - Dst: IsBanned
      Src: /src/bitcoin-core/src/net.cpp:1793,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net.cpp:1794,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1796,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:1796,1
    - Dst: IsDiscouraged
      Src: /src/bitcoin-core/src/net.cpp:1801,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net.cpp:1802,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1804,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:1804,1
    - Dst: CConnman::AttemptToEvictConnection
      Src: /src/bitcoin-core/src/net.cpp:1810,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1812,1
    - Dst: CConnman::GetNewNodeId
      Src: /src/bitcoin-core/src/net.cpp:1817,1
    - Dst: CConnman::GetDeterministicRandomizer
      Src: /src/bitcoin-core/src/net.cpp:1818,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/net.cpp:1820,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:1820,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:1820,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:1820,1
    - Dst: CConnman::GetLocalServices
      Src: /src/bitcoin-core/src/net.cpp:1823,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:1827,1
    - Dst: CConnman::CalculateKeyedNetGroup
      Src: /src/bitcoin-core/src/net.cpp:1829,1
    - Dst: CNode::CNode
      Src: /src/bitcoin-core/src/net.cpp:1826,1
    - Dst: CNode*::AddRef
      Src: /src/bitcoin-core/src/net.cpp:1841,1
    - Dst: InitializeNode
      Src: /src/bitcoin-core/src/net.cpp:1842,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1844,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net.cpp:1845,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1847,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:1847,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/net.cpp:1848,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net.cpp:1849,1
    - Dst: CNode*::m_addr_name::c_str
      Src: /src/bitcoin-core/src/net.cpp:1850,1
    - Dst: CNode*::ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net.cpp:1851,1
    - Dst: CNode*::ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/net.cpp:1852,1
    - Dst: CConnman::GetNodeCount
      Src: /src/bitcoin-core/src/net.cpp:1853,1
    - Dst: RandAddEvent
      Src: /src/bitcoin-core/src/net.cpp:1856,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - ' sock'
    - permission_flags
    - ' addr_bind'
    - ' addr'
    argTypes:
    - std::unique_ptr<Sock>
    - NetPermissionFlags
    - CService
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1758
    functionDepth: 3
    functionLinenumber: 1758
    functionLinenumberEnd: 1857
    functionName: CConnman::CreateNodeFromAcceptedSocket
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - CNode*::ConnectedThroughNetwork
    - CConnman::GetLocalServices
    - CNode*::m_addr_name::c_str
    - std::move
    - RandAddEvent
    - IsBanned
    - IsSelectable
    - std::find
    - CNode::CNode
    - InitializeNode
    - CConnman::GetNodeCount
    - ToStringAddrPort
    - SetSockOpt
    - IsInboundConn
    - TRACEPOINT
    - IsDiscouraged
    - NetPermissions::HasFlag
    - CConnman::CalculateKeyedNetGroup
    - CConnman::GetNewNodeId
    - LogDebug
    - CConnman::GetDeterministicRandomizer
    - CNode*::ConnectionTypeAsString
    - CNode*::AddRef
    - CConnman::AddWhitelistPermissionFlags
    - end
    - push_back
    - CNode*::GetId
    - LOCK
    - LogPrintf
    - CConnman::AttemptToEvictConnection
    - begin
    linkageType: ''
    returnType: void
    signature: "void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&&
      sock,\n                                            NetPermissionFlags permission_flags,\n
      \                                           const CService& addr_bind,\n                                            const
      CService& addr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1861,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net.cpp:1882,1
    - Dst: return std::count_if
      Src: /src/bitcoin-core/src/net.cpp:1883,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:1883,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:1883,1
    - Dst: CConnman::OpenNetworkConnection
      Src: /src/bitcoin-core/src/net.cpp:1892,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/net.cpp:1892,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:1892,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/net.cpp:1892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ' address'
    - conn_type
    argTypes:
    - std::string
    - ConnectionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1859
    functionDepth: 1
    functionLinenumber: 1859
    functionLinenumberEnd: 1894
    functionName: CConnman::AddConnection
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - return std::count_if
    - CConnman::OpenNetworkConnection
    - AssertLockNotHeld
    - WITH_LOCK
    - std::move
    - CAddress
    - c_str
    - begin
    linkageType: ''
    returnType: bool
    signature: bool CConnman::AddConnection(const std::string& address, ConnectionType
      conn_type, bool use_v2transport = false)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1898,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:1899,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1906,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1913,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:1913,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net.cpp:1926,1
    - Dst: remove
      Src: /src/bitcoin-core/src/net.cpp:1926,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:1926,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:1926,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:1926,1
    - Dst: m_transport::ShouldReconnectV1
      Src: /src/bitcoin-core/src/net.cpp:1931,1
    - Dst: decltype(m_reconnections)::push_back
      Src: /src/bitcoin-core/src/net.cpp:1932,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:1934,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:1938,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net.cpp:1938,1
    - Dst: grantOutbound::Release
      Src: /src/bitcoin-core/src/net.cpp:1942,1
    - Dst: CloseSocketDisconnect
      Src: /src/bitcoin-core/src/net.cpp:1945,1
    - Dst: IsManualOrFullOutboundConn
      Src: /src/bitcoin-core/src/net.cpp:1948,1
    - Dst: addr::GetNetwork
      Src: /src/bitcoin-core/src/net.cpp:1948,1
    - Dst: Release
      Src: /src/bitcoin-core/src/net.cpp:1951,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net.cpp:1952,1
    - Dst: GetRefCount
      Src: /src/bitcoin-core/src/net.cpp:1962,1
    - Dst: remove
      Src: /src/bitcoin-core/src/net.cpp:1963,1
    - Dst: CConnman::DeleteNode
      Src: /src/bitcoin-core/src/net.cpp:1964,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1970,1
    - Dst: splice
      Src: /src/bitcoin-core/src/net.cpp:1971,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:1971,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:1971,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1896
    functionDepth: 1
    functionLinenumber: 1896
    functionLinenumberEnd: 1973
    functionName: CConnman::DisconnectNodes
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - m_transport::ShouldReconnectV1
    - decltype(m_reconnections)::push_back
    - remove
    - splice
    - std::move
    - addr::GetNetwork
    - grantOutbound::Release
    - DisconnectMsg
    - CConnman::DeleteNode
    - IsManualOrFullOutboundConn
    - LogDebug
    - AssertLockNotHeld
    - GetId
    - end
    - Release
    - erase
    - GetRefCount
    - push_back
    - LOCK
    - CloseSocketDisconnect
    - begin
    linkageType: ''
    returnType: void
    signature: void CConnman::DisconnectNodes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:1979,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:1980,1
    - Dst: CConnman::NotifyNumConnectionsChanged
      Src: /src/bitcoin-core/src/net.cpp:1985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1975
    functionDepth: 1
    functionLinenumber: 1975
    functionLinenumberEnd: 1988
    functionName: CConnman::NotifyNumConnectionsChanged
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - CConnman::NotifyNumConnectionsChanged
    - size
    linkageType: ''
    returnType: void
    signature: void CConnman::NotifyNumConnectionsChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - now
    argTypes:
    - CNode
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 1993
    functionName: CConnman::ShouldRunInactivityChecks
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CConnman::ShouldRunInactivityChecks(const CNode& node, std::chrono::seconds
      now) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:1999,1
    - Dst: m_last_send::load
      Src: /src/bitcoin-core/src/net.cpp:2000,1
    - Dst: m_last_recv::load
      Src: /src/bitcoin-core/src/net.cpp:2001,1
    - Dst: CConnman::ShouldRunInactivityChecks
      Src: /src/bitcoin-core/src/net.cpp:2003,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/net.cpp:2005,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/net.cpp:2006,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2012,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net.cpp:2014,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:2016,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2022,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net.cpp:2023,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:2024,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2030,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/net.cpp:2031,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:2032,1
    - Dst: m_transport::GetInfo
      Src: /src/bitcoin-core/src/net.cpp:2038,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2039,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:2039,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2041,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:2041,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - CNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 1995
    functionDepth: 1
    functionLinenumber: 1995
    functionLinenumberEnd: 2047
    functionName: CConnman::InactivityCheck
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - m_transport::GetInfo
    - LogDebug
    - DisconnectMsg
    - m_last_recv::load
    - CConnman::ShouldRunInactivityChecks
    - auto::count
    - m_last_send::load
    - count_seconds
    linkageType: ''
    returnType: bool
    signature: bool CConnman::InactivityCheck(const CNode& node) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Sock::EventsPerSock::emplace
      Src: /src/bitcoin-core/src/net.cpp:2054,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2061,1
    - Dst: m_transport::GetBytesToSend
      Src: /src/bitcoin-core/src/net.cpp:2065,1
    - Dst: vSendMsg::empty
      Src: /src/bitcoin-core/src/net.cpp:2065,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:2066,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2070,1
    - Dst: Sock::EventsPerSock::emplace
      Src: /src/bitcoin-core/src/net.cpp:2073,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - std::span<CNode* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2078
    functionName: CConnman::GenerateWaitSockets
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - empty
    - m_transport::GetBytesToSend
    - LOCK
    - vSendMsg::empty
    - Sock::EventsPerSock::emplace
    linkageType: ''
    returnType: Sock::EventsPerSock
    signature: Sock::EventsPerSock CConnman::GenerateWaitSockets(std::span<CNode*
      const> nodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:2082,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/net.cpp:2089,1
    - Dst: CConnman::GenerateWaitSockets
      Src: /src/bitcoin-core/src/net.cpp:2095,1
    - Dst: NodesSnapshot::Nodes
      Src: /src/bitcoin-core/src/net.cpp:2095,1
    - Dst: Sock::EventsPerSock::empty
      Src: /src/bitcoin-core/src/net.cpp:2096,1
    - Dst: Sock::EventsPerSock::begin
      Src: /src/bitcoin-core/src/net.cpp:2096,1
    - Dst: WaitMany
      Src: /src/bitcoin-core/src/net.cpp:2096,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2097,1
    - Dst: CConnman::SocketHandlerConnected
      Src: /src/bitcoin-core/src/net.cpp:2101,1
    - Dst: NodesSnapshot::Nodes
      Src: /src/bitcoin-core/src/net.cpp:2101,1
    - Dst: CConnman::SocketHandlerListening
      Src: /src/bitcoin-core/src/net.cpp:2105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2080
    functionDepth: 2
    functionLinenumber: 2080
    functionLinenumberEnd: 2106
    functionName: CConnman::SocketHandler
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CConnman::SocketHandlerConnected
    - CConnman::GenerateWaitSockets
    - WaitMany
    - Sock::EventsPerSock::empty
    - NodesSnapshot::Nodes
    - sleep_for
    - AssertLockNotHeld
    - CConnman::SocketHandlerListening
    - Sock::EventsPerSock::begin
    - count_milliseconds
    linkageType: ''
    returnType: void
    signature: void CConnman::SocketHandler()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:2111,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2124,1
    - Dst: find
      Src: /src/bitcoin-core/src/net.cpp:2128,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:2129,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net.cpp:2138,1
    - Dst: CConnman::SocketSendData
      Src: /src/bitcoin-core/src/net.cpp:2138,1
    - Dst: CConnman::RecordBytesSent
      Src: /src/bitcoin-core/src/net.cpp:2140,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2159,1
    - Dst: m_sock::Recv
      Src: /src/bitcoin-core/src/net.cpp:2163,1
    - Dst: ReceiveMsgBytes
      Src: /src/bitcoin-core/src/net.cpp:2168,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2169,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:2171,1
    - Dst: CloseSocketDisconnect
      Src: /src/bitcoin-core/src/net.cpp:2173,1
    - Dst: CConnman::RecordBytesRecv
      Src: /src/bitcoin-core/src/net.cpp:2175,1
    - Dst: MarkReceivedMsgsForProcessing
      Src: /src/bitcoin-core/src/net.cpp:2177,1
    - Dst: CConnman::WakeMessageHandler
      Src: /src/bitcoin-core/src/net.cpp:2178,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2185,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:2185,1
    - Dst: CloseSocketDisconnect
      Src: /src/bitcoin-core/src/net.cpp:2187,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/net.cpp:2192,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2196,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:2196,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/net.cpp:2196,1
    - Dst: CloseSocketDisconnect
      Src: /src/bitcoin-core/src/net.cpp:2198,1
    - Dst: CConnman::InactivityCheck
      Src: /src/bitcoin-core/src/net.cpp:2203,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 2
    argNames:
    - ' nodes'
    - ' events_per_sock'
    argTypes:
    - std::vector<CNode*>
    - Sock::EventsPerSock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2108
    functionDepth: 3
    functionLinenumber: 2108
    functionLinenumberEnd: 2205
    functionName: CConnman::SocketHandlerConnected
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - end
    - NetworkErrorString
    - CConnman::InactivityCheck
    - CConnman::SocketSendData
    - LogDebug
    - AssertLockNotHeld
    - WITH_LOCK
    - ReceiveMsgBytes
    - DisconnectMsg
    - CConnman::RecordBytesRecv
    - LOCK
    - WSAGetLastError
    - CloseSocketDisconnect
    - MarkReceivedMsgsForProcessing
    - CConnman::WakeMessageHandler
    - CConnman::RecordBytesSent
    - find
    - m_sock::Recv
    linkageType: ''
    returnType: void
    signature: "void CConnman::SocketHandlerConnected(const std::vector<CNode*>& nodes,\n
      \                                     const Sock::EventsPerSock& events_per_sock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/net.cpp:2213,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:2214,1
    - Dst: CConnman::AcceptConnection
      Src: /src/bitcoin-core/src/net.cpp:2215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' events_per_sock'
    argTypes:
    - Sock::EventsPerSock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2207
    functionDepth: 4
    functionLinenumber: 2207
    functionLinenumberEnd: 2218
    functionName: CConnman::SocketHandlerListening
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - CConnman::AcceptConnection
    linkageType: ''
    returnType: void
    signature: void CConnman::SocketHandlerListening(const Sock::EventsPerSock& events_per_sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:2222,1
    - Dst: CConnman::DisconnectNodes
      Src: /src/bitcoin-core/src/net.cpp:2226,1
    - Dst: CConnman::NotifyNumConnectionsChanged
      Src: /src/bitcoin-core/src/net.cpp:2227,1
    - Dst: CConnman::SocketHandler
      Src: /src/bitcoin-core/src/net.cpp:2228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2220
    functionDepth: 3
    functionLinenumber: 2220
    functionLinenumberEnd: 2230
    functionName: CConnman::ThreadSocketHandler
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CConnman::DisconnectNodes
    - CConnman::NotifyNumConnectionsChanged
    - CConnman::SocketHandler
    - AssertLockNotHeld
    linkageType: ''
    returnType: void
    signature: void CConnman::ThreadSocketHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2235,1
    - Dst: notify_one
      Src: /src/bitcoin-core/src/net.cpp:2238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2239
    functionName: CConnman::WakeMessageHandler
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - notify_one
    linkageType: ''
    returnType: void
    signature: void CConnman::WakeMessageHandler()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/net.cpp:2245,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net.cpp:2246,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2248,1
    - Dst: std::chrono::seconds::count
      Src: /src/bitcoin-core/src/net.cpp:2248,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2250,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/net.cpp:2250,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net.cpp:2255,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2256,1
    - Dst: CConnman::GetFullOutboundConnCount
      Src: /src/bitcoin-core/src/net.cpp:2260,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2262,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/net.cpp:2268,1
    - Dst: DNSSeeds
      Src: /src/bitcoin-core/src/net.cpp:2269,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/net.cpp:2270,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net.cpp:2270,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net.cpp:2270,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/net.cpp:2273,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net.cpp:2275,1
    - Dst: Size
      Src: /src/bitcoin-core/src/net.cpp:2276,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net.cpp:2280,1
    - Dst: Size
      Src: /src/bitcoin-core/src/net.cpp:2298,1
    - Dst: Size
      Src: /src/bitcoin-core/src/net.cpp:2304,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2305,1
    - Dst: std::chrono::seconds::count
      Src: /src/bitcoin-core/src/net.cpp:2305,1
    - Dst: std::chrono::seconds::count
      Src: /src/bitcoin-core/src/net.cpp:2307,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.cpp:2311,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2312,1
    - Dst: CConnman::GetFullOutboundConnCount
      Src: /src/bitcoin-core/src/net.cpp:2315,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2317,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2318,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2320,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2332,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2334,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2338,1
    - Dst: HaveNameProxy
      Src: /src/bitcoin-core/src/net.cpp:2341,1
    - Dst: CConnman::AddAddrFetch
      Src: /src/bitcoin-core/src/net.cpp:2342,1
    - Dst: SeedsServiceFlags
      Src: /src/bitcoin-core/src/net.cpp:2345,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:2346,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/net.cpp:2347,1
    - Dst: CNetAddr::SetInternal
      Src: /src/bitcoin-core/src/net.cpp:2348,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/net.cpp:2356,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/net.cpp:2357,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/net.cpp:2359,1
    - Dst: CService
      Src: /src/bitcoin-core/src/net.cpp:2359,1
    - Dst: CConnman::GetDefaultPort
      Src: /src/bitcoin-core/src/net.cpp:2359,1
    - Dst: FastRandomContext::rand_uniform_delay
      Src: /src/bitcoin-core/src/net.cpp:2360,1
    - Dst: Now
      Src: /src/bitcoin-core/src/net.cpp:2360,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net.cpp:2361,1
    - Dst: Add
      Src: /src/bitcoin-core/src/net.cpp:2364,1
    - Dst: CConnman::AddAddrFetch
      Src: /src/bitcoin-core/src/net.cpp:2369,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2374,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2376,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2241
    functionDepth: 4
    functionLinenumber: 2241
    functionLinenumberEnd: 2378
    functionName: CConnman::ThreadDNSAddressSeed
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - DNSSeeds
    - Size
    - GetArgs
    - SeedsServiceFlags
    - sleep_for
    - FastRandomContext::FastRandomContext
    - std::vector::push_back
    - CConnman::GetDefaultPort
    - std::shuffle
    - NodeClock::now
    - CNetAddr::SetInternal
    - std::min
    - std::vector::end
    - CConnman::GetFullOutboundConnCount
    - FastRandomContext::rand_uniform_delay
    - CConnman::AddAddrFetch
    - count_milliseconds
    - std::vector::size
    - CService
    - Now
    - LookupHost
    - CNetAddr::CNetAddr
    - auto::empty
    - strprintf
    - std::vector::begin
    - HaveNameProxy
    - LogPrintf
    - CAddress
    - GetBoolArg
    - std::chrono::seconds::count
    - Add
    linkageType: ''
    returnType: void
    signature: void CConnman::ThreadDNSAddressSeed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/net.cpp:2382,1
    - Dst: DumpPeerAddresses
      Src: /src/bitcoin-core/src/net.cpp:2384,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2386,1
    - Dst: Size
      Src: /src/bitcoin-core/src/net.cpp:2387,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/net.cpp:2387,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/net.cpp:2387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2380
    functionDepth: 4
    functionLinenumber: 2380
    functionLinenumberEnd: 2388
    functionName: CConnman::DumpAddresses
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - Size
    - Ticks
    - LogDebug
    - DumpPeerAddresses
    linkageType: ''
    returnType: void
    signature: void CConnman::DumpAddresses()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:2392,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2395,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:2396,1
    - Dst: front
      Src: /src/bitcoin-core/src/net.cpp:2398,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/net.cpp:2399,1
    - Dst: CConnman::GetLocalServices
      Src: /src/bitcoin-core/src/net.cpp:2403,1
    - Dst: CConnman::OpenNetworkConnection
      Src: /src/bitcoin-core/src/net.cpp:2407,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:2407,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/net.cpp:2407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2409
    functionName: CConnman::ProcessAddrFetch
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - pop_front
    - CConnman::OpenNetworkConnection
    - empty
    - CConnman::GetLocalServices
    - AssertLockNotHeld
    - std::move
    - LOCK
    - std::string::c_str
    - front
    linkageType: ''
    returnType: void
    signature: void CConnman::ProcessAddrFetch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2414
    functionName: CConnman::GetTryNewOutboundPeer
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CConnman::GetTryNewOutboundPeer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2416
    functionDepth: 1
    functionLinenumber: 2416
    functionLinenumberEnd: 2420
    functionName: CConnman::SetTryNewOutboundPeer
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void CConnman::SetTryNewOutboundPeer(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2422
    functionDepth: 1
    functionLinenumber: 2422
    functionLinenumberEnd: 2426
    functionName: CConnman::StartExtraBlockRelayPeers
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void CConnman::StartExtraBlockRelayPeers()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2433,1
    - Dst: IsFullOutboundConn
      Src: /src/bitcoin-core/src/net.cpp:2435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2429
    functionDepth: 1
    functionLinenumber: 2429
    functionLinenumberEnd: 2439
    functionName: CConnman::GetFullOutboundConnCount
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - IsFullOutboundConn
    linkageType: ''
    returnType: int
    signature: int CConnman::GetFullOutboundConnCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2451,1
    - Dst: IsFullOutboundConn
      Src: /src/bitcoin-core/src/net.cpp:2453,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net.cpp:2458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2447
    functionDepth: 1
    functionLinenumber: 2447
    functionLinenumberEnd: 2459
    functionName: CConnman::GetExtraFullOutboundCount
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - LOCK
    - IsFullOutboundConn
    linkageType: ''
    returnType: int
    signature: int CConnman::GetExtraFullOutboundCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2465,1
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/net.cpp:2467,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/net.cpp:2472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2461
    functionDepth: 1
    functionLinenumber: 2461
    functionLinenumberEnd: 2473
    functionName: CConnman::GetExtraBlockRelayCount
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - LOCK
    - IsBlockOnlyConn
    linkageType: ''
    returnType: int
    signature: int CConnman::GetExtraBlockRelayCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Contains
      Src: /src/bitcoin-core/src/net.cpp:2481,1
    - Dst: Size
      Src: /src/bitcoin-core/src/net.cpp:2481,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/net.cpp:2482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2486
    functionName: CConnman::GetReachableEmptyNetworks
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - Size
    - std::unordered_set::insert
    - Contains
    linkageType: ''
    returnType: std::unordered_set<Network>
    signature: std::unordered_set<Network> CConnman::GetReachableEmptyNetworks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:2490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - net
    argTypes:
    - Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2492
    functionName: CConnman::MultipleManualOrFullOutboundConns
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool CConnman::MultipleManualOrFullOutboundConns(Network net) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/net.cpp:2497,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/net.cpp:2497,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/net.cpp:2497,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/net.cpp:2497,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2499,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/net.cpp:2501,1
    - Dst: Size
      Src: /src/bitcoin-core/src/net.cpp:2501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - std::optional<Network>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2494
    functionDepth: 1
    functionLinenumber: 2494
    functionLinenumberEnd: 2508
    functionName: CConnman::MaybePickPreferredNetwork
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - Size
    - Contains
    - LOCK
    - std::array::begin
    - FastRandomContext
    - std::shuffle
    - std::array::end
    linkageType: ''
    returnType: bool
    signature: bool CConnman::MaybePickPreferredNetwork(std::optional<Network>& network)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:2512,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:2513,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/net.cpp:2514,1
    - Dst: std::vector<std::string>::empty
      Src: /src/bitcoin-core/src/net.cpp:2516,1
    - Dst: CConnman::GetLocalServices
      Src: /src/bitcoin-core/src/net.cpp:2520,1
    - Dst: CConnman::OpenNetworkConnection
      Src: /src/bitcoin-core/src/net.cpp:2526,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/net.cpp:2526,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2529,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/net.cpp:2529,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2533,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/net.cpp:2533,1
    - Dst: CConnman::PerformReconnections
      Src: /src/bitcoin-core/src/net.cpp:2535,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:2540,1
    - Dst: FastRandomContext::rand_exp_duration
      Src: /src/bitcoin-core/src/net.cpp:2543,1
    - Dst: FastRandomContext::rand_exp_duration
      Src: /src/bitcoin-core/src/net.cpp:2544,1
    - Dst: FastRandomContext::rand_exp_duration
      Src: /src/bitcoin-core/src/net.cpp:2545,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/net.cpp:2546,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/net.cpp:2547,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/net.cpp:2548,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net.cpp:2550,1
    - Dst: Size
      Src: /src/bitcoin-core/src/net.cpp:2551,1
    - Dst: std::span<const std::string>::empty
      Src: /src/bitcoin-core/src/net.cpp:2551,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2555,1
    - Dst: SpanPopBack
      Src: /src/bitcoin-core/src/net.cpp:2562,1
    - Dst: CConnman::AddAddrFetch
      Src: /src/bitcoin-core/src/net.cpp:2563,1
    - Dst: Size
      Src: /src/bitcoin-core/src/net.cpp:2565,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/net.cpp:2566,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/net.cpp:2568,1
    - Dst: std::chrono::seconds::count
      Src: /src/bitcoin-core/src/net.cpp:2568,1
    - Dst: CConnman::ProcessAddrFetch
      Src: /src/bitcoin-core/src/net.cpp:2572,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2574,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/net.cpp:2574,1
    - Dst: CConnman::PerformReconnections
      Src: /src/bitcoin-core/src/net.cpp:2577,1
    - Dst: CConnman::GetReachableEmptyNetworks
      Src: /src/bitcoin-core/src/net.cpp:2583,1
    - Dst: std::unordered_set::empty
      Src: /src/bitcoin-core/src/net.cpp:2584,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:2591,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2593,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2598,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:2599,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2601,1
    - Dst: ConvertSeeds
      Src: /src/bitcoin-core/src/net.cpp:2606,1
    - Dst: FixedSeeds
      Src: /src/bitcoin-core/src/net.cpp:2606,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/net.cpp:2613,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/net.cpp:2613,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net.cpp:2613,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net.cpp:2613,1
    - Dst: std::unordered_set::count
      Src: /src/bitcoin-core/src/net.cpp:2614,1
    - Dst: CAddress::GetNetwork
      Src: /src/bitcoin-core/src/net.cpp:2614,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net.cpp:2615,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/net.cpp:2616,1
    - Dst: CNetAddr::SetInternal
      Src: /src/bitcoin-core/src/net.cpp:2617,1
    - Dst: Add
      Src: /src/bitcoin-core/src/net.cpp:2618,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:2620,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net.cpp:2620,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2636,1
    - Dst: IsFullOutboundConn
      Src: /src/bitcoin-core/src/net.cpp:2638,1
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/net.cpp:2639,1
    - Dst: CAddress::IsTor
      Src: /src/bitcoin-core/src/net.cpp:2656,1
    - Dst: CAddress::IsI2P
      Src: /src/bitcoin-core/src/net.cpp:2656,1
    - Dst: CAddress::IsCJDNS
      Src: /src/bitcoin-core/src/net.cpp:2656,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/net.cpp:2666,1
    - Dst: GetGroup
      Src: /src/bitcoin-core/src/net.cpp:2666,1
    - Dst: std::span<const std::string>::empty
      Src: /src/bitcoin-core/src/net.cpp:2672,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net.cpp:2673,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net.cpp:2674,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:2680,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:2696,1
    - Dst: CConnman::GetTryNewOutboundPeer
      Src: /src/bitcoin-core/src/net.cpp:2703,1
    - Dst: FastRandomContext::rand_exp_duration
      Src: /src/bitcoin-core/src/net.cpp:2727,1
    - Dst: FastRandomContext::rand_exp_duration
      Src: /src/bitcoin-core/src/net.cpp:2730,1
    - Dst: CConnman::MaybePickPreferredNetwork
      Src: /src/bitcoin-core/src/net.cpp:2736,1
    - Dst: FastRandomContext::rand_exp_duration
      Src: /src/bitcoin-core/src/net.cpp:2743,1
    - Dst: ResolveCollisions
      Src: /src/bitcoin-core/src/net.cpp:2749,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/net.cpp:2751,1
    - Dst: All
      Src: /src/bitcoin-core/src/net.cpp:2753,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:2757,1
    - Dst: back
      Src: /src/bitcoin-core/src/net.cpp:2758,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/net.cpp:2759,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/net.cpp:2760,1
    - Dst: IsLocal
      Src: /src/bitcoin-core/src/net.cpp:2760,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/net.cpp:2760,1
    - Dst: HasAllDesirableServiceFlags
      Src: /src/bitcoin-core/src/net.cpp:2761,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/net.cpp:2762,1
    - Dst: GetGroup
      Src: /src/bitcoin-core/src/net.cpp:2762,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2764,1
    - Dst: CAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:2764,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/net.cpp:2781,1
    - Dst: SelectTriedCollision
      Src: /src/bitcoin-core/src/net.cpp:2781,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/net.cpp:2783,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/net.cpp:2786,1
    - Dst: Select
      Src: /src/bitcoin-core/src/net.cpp:2786,1
    - Dst: CConnman::AlreadyConnectedToAddress
      Src: /src/bitcoin-core/src/net.cpp:2787,1
    - Dst: Good
      Src: /src/bitcoin-core/src/net.cpp:2793,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/net.cpp:2795,1
    - Dst: Select
      Src: /src/bitcoin-core/src/net.cpp:2795,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/net.cpp:2802,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/net.cpp:2802,1
    - Dst: Select
      Src: /src/bitcoin-core/src/net.cpp:2803,1
    - Dst: Select
      Src: /src/bitcoin-core/src/net.cpp:2804,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/net.cpp:2808,1
    - Dst: GetGroup
      Src: /src/bitcoin-core/src/net.cpp:2808,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/net.cpp:2813,1
    - Dst: IsLocal
      Src: /src/bitcoin-core/src/net.cpp:2813,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/net.cpp:2817,1
    - Dst: HasAllDesirableServiceFlags
      Src: /src/bitcoin-core/src/net.cpp:2829,1
    - Dst: MayHaveUsefulAddressDB
      Src: /src/bitcoin-core/src/net.cpp:2831,1
    - Dst: CAddress::IsIPv4
      Src: /src/bitcoin-core/src/net.cpp:2836,1
    - Dst: CAddress::IsIPv6
      Src: /src/bitcoin-core/src/net.cpp:2836,1
    - Dst: IsBadPort
      Src: /src/bitcoin-core/src/net.cpp:2836,1
    - Dst: CAddress::GetPort
      Src: /src/bitcoin-core/src/net.cpp:2836,1
    - Dst: CConnman::AddedNodesContain
      Src: /src/bitcoin-core/src/net.cpp:2843,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/net.cpp:2844,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/net.cpp:2845,1
    - Dst: ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net.cpp:2846,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/net.cpp:2846,1
    - Dst: CAddress::GetNetwork
      Src: /src/bitcoin-core/src/net.cpp:2846,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:2847,1
    - Dst: CAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:2847,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/net.cpp:2855,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2858,1
    - Dst: FastRandomContext::rand_uniform_duration
      Src: /src/bitcoin-core/src/net.cpp:2858,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2861,1
    - Dst: CAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:2861,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:2864,1
    - Dst: CAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:2864,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/net.cpp:2864,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/net.cpp:2864,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/net.cpp:2870,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.cpp:2870,1
    - Dst: CConnman::GetLocalServices
      Src: /src/bitcoin-core/src/net.cpp:2872,1
    - Dst: CConnman::OpenNetworkConnection
      Src: /src/bitcoin-core/src/net.cpp:2873,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:2873,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 174
    argCount: 2
    argNames:
    - connect
    - seed_nodes
    argTypes:
    - std::vector<std::string>
    - std::span<const std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2510
    functionDepth: 3
    functionLinenumber: 2510
    functionLinenumberEnd: 2876
    functionName: CConnman::ThreadOpenConnections
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - Size
    - std::unordered_set::empty
    - sleep_for
    - CAddress::ToStringAddrPort
    - std::move
    - CNetAddr::SetInternal
    - std::min
    - GetTime
    - std::tie
    - std::span<const std::string>::empty
    - ConnectionTypeAsString
    - std::vector::size
    - FixedSeeds
    - empty
    - std::optional::has_value
    - strprintf
    - std::set::count
    - LogPrintLevel
    - std::vector::begin
    - LogPrintf
    - LOCK
    - CConnman::ProcessAddrFetch
    - CConnman::AddAddrFetch
    - ConvertSeeds
    - CAddress::GetNetwork
    - NodeClock::now
    - IsBadPort
    - HasAllDesirableServiceFlags
    - GetGroup
    - SpanPopBack
    - FastRandomContext::rand_uniform_duration
    - FastRandomContext::rand_exp_duration
    - std::vector::erase
    - CConnman::AlreadyConnectedToAddress
    - AssertLockNotHeld
    - CConnman::GetTryNewOutboundPeer
    - CConnman::OpenNetworkConnection
    - ResolveCollisions
    - GetNetworkName
    - std::set::size
    - GetArgs
    - CConnman::MaybePickPreferredNetwork
    - Contains
    - LogInfo
    - All
    - IsLocal
    - std::set::insert
    - CAddress::IsTor
    - pop_back
    - IsBlockOnlyConn
    - std::vector::end
    - CAddress::IsCJDNS
    - back
    - std::vector<std::string>::empty
    - Select
    - CConnman::GetReachableEmptyNetworks
    - SelectTriedCollision
    - std::remove_if
    - CAddress::IsI2P
    - LogDebug
    - IsFullOutboundConn
    - CAddress::GetPort
    - std::optional::value
    - CAddress::IsValid
    - Add
    - CConnman::GetLocalServices
    - CConnman::PerformReconnections
    - FastRandomContext::FastRandomContext
    - count_milliseconds
    - CNetAddr::CNetAddr
    - CAddress::IsIPv4
    - CAddress::IsIPv6
    - c_str
    - std::unordered_set::count
    - CConnman::AddedNodesContain
    - Good
    - MayHaveUsefulAddressDB
    - GetBoolArg
    - std::chrono::seconds::count
    linkageType: ''
    returnType: void
    signature: void CConnman::ThreadOpenConnections(const std::vector<std::string>
      connect, std::span<const std::string> seed_nodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2881,1
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/net.cpp:2883,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/net.cpp:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2878
    functionDepth: 1
    functionLinenumber: 2878
    functionLinenumberEnd: 2889
    functionName: CConnman::GetCurrentBlockRelayOnlyConns
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - LOCK
    - IsBlockOnlyConn
    linkageType: ''
    returnType: std::vector<CAddress>
    signature: std::vector<CAddress> CConnman::GetCurrentBlockRelayOnlyConns() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2897,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/net.cpp:2898,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:2898,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/net.cpp:2899,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/net.cpp:2899,1
    - Dst: cend
      Src: /src/bitcoin-core/src/net.cpp:2899,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/net.cpp:2899,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:2907,1
    - Dst: addr::IsValid
      Src: /src/bitcoin-core/src/net.cpp:2909,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net.cpp:2910,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/net.cpp:2913,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:2914,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net.cpp:2914,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net.cpp:2914,1
    - Dst: static_cast<const CService&>
      Src: /src/bitcoin-core/src/net.cpp:2914,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/net.cpp:2920,1
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/net.cpp:2920,1
    - Dst: CConnman::GetDefaultPort
      Src: /src/bitcoin-core/src/net.cpp:2920,1
    - Dst: CService
      Src: /src/bitcoin-core/src/net.cpp:2921,1
    - Dst: CService::IsValid
      Src: /src/bitcoin-core/src/net.cpp:2922,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/net.cpp:2924,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/net.cpp:2925,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/net.cpp:2935,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/net.cpp:2936,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/net.cpp:2945,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:2945,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - include_connected
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2891
    functionDepth: 5
    functionLinenumber: 2891
    functionLinenumberEnd: 2949
    functionName: CConnman::GetAddedNodeInfo
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::make_pair
    - std::vector::emplace_back
    - cend
    - std::string::empty
    - std::move
    - CConnman::GetDefaultPort
    - std::map::find
    - cbegin
    - std::vector::reserve
    - CService
    - static_cast<const CService&>
    - addr::IsValid
    - MaybeFlipIPv6toCJDNS
    - std::map::end
    - LookupNumeric
    - CService::IsValid
    - std::back_inserter
    - size
    - LOCK
    - IsInboundConn
    linkageType: ''
    returnType: std::vector<AddedNodeInfo>
    signature: std::vector<AddedNodeInfo> CConnman::GetAddedNodeInfo(bool include_connected)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:2953,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:2954,1
    - Dst: CConnman::GetAddedNodeInfo
      Src: /src/bitcoin-core/src/net.cpp:2958,1
    - Dst: CConnman::OpenNetworkConnection
      Src: /src/bitcoin-core/src/net.cpp:2968,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:2968,1
    - Dst: m_params::m_added_node::c_str
      Src: /src/bitcoin-core/src/net.cpp:2968,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2969,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/net.cpp:2969,1
    - Dst: CountingSemaphoreGrant<>
      Src: /src/bitcoin-core/src/net.cpp:2970,1
    - Dst: CConnman::PerformReconnections
      Src: /src/bitcoin-core/src/net.cpp:2973,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:2975,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/net.cpp:2975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2951
    functionDepth: 6
    functionLinenumber: 2951
    functionLinenumberEnd: 2978
    functionName: CConnman::ThreadOpenAddedConnections
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - m_params::m_added_node::c_str
    - leveldb::DelayMilliseconds
    - CConnman::OpenNetworkConnection
    - CConnman::GetAddedNodeInfo
    - sleep_for
    - AssertLockNotHeld
    - std::move
    - CountingSemaphoreGrant<>
    - CConnman::PerformReconnections
    - count_milliseconds
    linkageType: ''
    returnType: void
    signature: void CConnman::ThreadOpenAddedConnections()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:2983,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net.cpp:2984,1
    - Dst: IsDiscouraged
      Src: /src/bitcoin-core/src/net.cpp:2996,1
    - Dst: IsBanned
      Src: /src/bitcoin-core/src/net.cpp:2996,1
    - Dst: IsLocal
      Src: /src/bitcoin-core/src/net.cpp:2997,1
    - Dst: CConnman::AlreadyConnectedToAddress
      Src: /src/bitcoin-core/src/net.cpp:2997,1
    - Dst: CConnman::FindNode
      Src: /src/bitcoin-core/src/net.cpp:3000,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/net.cpp:3000,1
    - Dst: CConnman::ConnectNode
      Src: /src/bitcoin-core/src/net.cpp:3003,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:3007,1
    - Dst: InitializeNode
      Src: /src/bitcoin-core/src/net.cpp:3009,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3011,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net.cpp:3012,1
    - Dst: CNode*::IsManualOrFullOutboundConn
      Src: /src/bitcoin-core/src/net.cpp:3015,1
    - Dst: CNode*::addr::GetNetwork
      Src: /src/bitcoin-core/src/net.cpp:3015,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/net.cpp:3018,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net.cpp:3019,1
    - Dst: CNode*::m_addr_name::c_str
      Src: /src/bitcoin-core/src/net.cpp:3020,1
    - Dst: CNode*::ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net.cpp:3021,1
    - Dst: CNode*::ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/net.cpp:3022,1
    - Dst: CConnman::GetNodeCount
      Src: /src/bitcoin-core/src/net.cpp:3023,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 6
    argNames:
    - ' addrConnect'
    - fCountFailure
    - ' grant_outbound'
    - pszDest
    - conn_type
    - use_v2transport
    argTypes:
    - CAddress
    - bool
    - CountingSemaphoreGrant<>
    - char*
    - ConnectionType
    - bool
    assertStmts:
    - condition: (conn_type != ConnectionType::INBOUND)
      pos:
        line_end: 2983
        line_start: 2983
        source_file: /src/bitcoin-core/src/net.cpp
    constantsTouched: []
    func_position:
      end: 3024
      start: 2981
    functionDepth: 5
    functionLinenumber: 2981
    functionLinenumberEnd: 3024
    functionName: CConnman::OpenNetworkConnection
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 4
    functionsReached:
    - CNode*::ConnectedThroughNetwork
    - CNode*::m_addr_name::c_str
    - std::move
    - std::string
    - IsLocal
    - IsBanned
    - InitializeNode
    - CConnman::GetNodeCount
    - CNode*::IsManualOrFullOutboundConn
    - TRACEPOINT
    - IsDiscouraged
    - CConnman::ConnectNode
    - CConnman::AlreadyConnectedToAddress
    - AssertLockNotHeld
    - CNode*::ConnectionTypeAsString
    - CConnman::FindNode
    - assert
    - push_back
    - CNode*::GetId
    - LOCK
    - CNode*::addr::GetNetwork
    linkageType: ''
    returnType: void
    signature: void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool
      fCountFailure, CountingSemaphoreGrant<>&& grant_outbound, const char *pszDest,
      ConnectionType conn_type, bool use_v2transport)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3030,1
    - Dst: NodesSnapshot::Nodes
      Src: /src/bitcoin-core/src/net.cpp:3042,1
    - Dst: ProcessMessages
      Src: /src/bitcoin-core/src/net.cpp:3047,1
    - Dst: SendMessages
      Src: /src/bitcoin-core/src/net.cpp:3052,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/net.cpp:3059,1
    - Dst: wait_until
      Src: /src/bitcoin-core/src/net.cpp:3061,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/net.cpp:3061,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/net.cpp:3061,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/net.cpp:3061,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3028
    functionDepth: 1
    functionLinenumber: 3028
    functionLinenumberEnd: 3065
    functionName: CConnman::ThreadMessageHandler
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - SendMessages
    - NodesSnapshot::Nodes
    - WAIT_LOCK
    - wallet::WalletRescanReserver::now
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - count_milliseconds
    - wait_until
    - ProcessMessages
    linkageType: ''
    returnType: void
    signature: void CConnman::ThreadMessageHandler()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/net.cpp:3077,1
    - Dst: Listen
      Src: /src/bitcoin-core/src/net.cpp:3085,1
    - Dst: i2p::Connection::me::IsValid
      Src: /src/bitcoin-core/src/net.cpp:3086,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/net.cpp:3087,1
    - Dst: SleepOnFailure
      Src: /src/bitcoin-core/src/net.cpp:3090,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/net.cpp:3095,1
    - Dst: Accept
      Src: /src/bitcoin-core/src/net.cpp:3099,1
    - Dst: SleepOnFailure
      Src: /src/bitcoin-core/src/net.cpp:3100,1
    - Dst: CConnman::CreateNodeFromAcceptedSocket
      Src: /src/bitcoin-core/src/net.cpp:3104,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:3104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3067
    functionDepth: 4
    functionLinenumber: 3067
    functionLinenumberEnd: 3108
    functionName: CConnman::ThreadI2PAcceptIncoming
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - i2p::Connection::me::IsValid
    - Listen
    - sleep_for
    - SleepOnFailure
    - RemoveLocal
    - AddLocal
    - std::move
    - Accept
    - CConnman::CreateNodeFromAcceptedSocket
    linkageType: ''
    returnType: void
    signature: void CConnman::ThreadI2PAcceptIncoming()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetSockAddr
      Src: /src/bitcoin-core/src/net.cpp:3117,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/net.cpp:3119,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3119,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:3119,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/net.cpp:3120,1
    - Dst: CreateSock
      Src: /src/bitcoin-core/src/net.cpp:3124,1
    - Dst: GetSAFamily
      Src: /src/bitcoin-core/src/net.cpp:3124,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/net.cpp:3126,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3126,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/net.cpp:3126,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/net.cpp:3126,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/net.cpp:3127,1
    - Dst: std::unique_ptr::SetSockOpt
      Src: /src/bitcoin-core/src/net.cpp:3133,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/net.cpp:3134,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3134,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/net.cpp:3134,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/net.cpp:3134,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:3135,1
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/net.cpp:3140,1
    - Dst: std::unique_ptr::SetSockOpt
      Src: /src/bitcoin-core/src/net.cpp:3142,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/net.cpp:3143,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3143,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/net.cpp:3143,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/net.cpp:3143,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:3144,1
    - Dst: std::unique_ptr::SetSockOpt
      Src: /src/bitcoin-core/src/net.cpp:3149,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/net.cpp:3150,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3150,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/net.cpp:3150,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/net.cpp:3150,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:3151,1
    - Dst: std::unique_ptr::Bind
      Src: /src/bitcoin-core/src/net.cpp:3156,1
    - Dst: reinterpret_cast<struct sockaddr*>
      Src: /src/bitcoin-core/src/net.cpp:3156,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/net.cpp:3157,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3159,1
    - Dst: _
      Src: /src/bitcoin-core/src/net.cpp:3159,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:3159,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3161,1
    - Dst: _
      Src: /src/bitcoin-core/src/net.cpp:3161,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:3161,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/net.cpp:3161,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/net.cpp:3162,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:3165,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:3165,1
    - Dst: std::unique_ptr::Listen
      Src: /src/bitcoin-core/src/net.cpp:3168,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3170,1
    - Dst: _
      Src: /src/bitcoin-core/src/net.cpp:3170,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/net.cpp:3170,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/net.cpp:3170,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/net.cpp:3171,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/net.cpp:3175,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:3175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - ' addrBind'
    - ' strError'
    - permissions
    argTypes:
    - CService
    - bilingual_str
    - NetPermissionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3110
    functionDepth: 1
    functionLinenumber: 3110
    functionLinenumberEnd: 3177
    functionName: CConnman::BindListenPort
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - NetworkErrorString
    - ToStringAddrPort
    - GetSAFamily
    - reinterpret_cast<struct sockaddr*>
    - _
    - GetSockAddr
    - CreateSock
    - WSAGetLastError
    - std::move
    - LogPrintf
    - std::unique_ptr::Listen
    - std::unique_ptr::Bind
    - strprintf
    - emplace_back
    - IsIPv6
    - Untranslated
    - std::unique_ptr::SetSockOpt
    linkageType: ''
    returnType: bool
    signature: bool CConnman::BindListenPort(const CService& addrBind, bilingual_str&
      strError, NetPermissionFlags permissions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetLocalAddresses
      Src: /src/bitcoin-core/src/net.cpp:3184,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/net.cpp:3185,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:3186,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/net.cpp:3186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3179
    functionDepth: 3
    functionLinenumber: 3179
    functionLinenumberEnd: 3188
    functionName: Discover
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - LogPrintf
    - GetLocalAddresses
    - AddLocal
    - ToStringAddr
    linkageType: ''
    returnType: void
    signature: void Discover()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:3192,1
    - Dst: NotifyNetworkActiveChanged
      Src: /src/bitcoin-core/src/net.cpp:3201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3190
    functionDepth: 1
    functionLinenumber: 3190
    functionLinenumberEnd: 3203
    functionName: CConnman::SetNetworkActive
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - NotifyNetworkActiveChanged
    linkageType: ''
    returnType: void
    signature: void CConnman::SetNetworkActive(bool active)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::SetTryNewOutboundPeer
      Src: /src/bitcoin-core/src/net.cpp:3213,1
    - Dst: Init
      Src: /src/bitcoin-core/src/net.cpp:3216,1
    - Dst: CConnman::SetNetworkActive
      Src: /src/bitcoin-core/src/net.cpp:3217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - nSeed0In
    - nSeed1In
    - ' addrman_in'
    - ' netgroupman'
    - ' params'
    - network_active
    argTypes:
    - uint64_t
    - uint64_t
    - AddrMan
    - NetGroupManager
    - CChainParams
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3205
    functionDepth: 2
    functionLinenumber: 3205
    functionLinenumberEnd: 3218
    functionName: CConnman::CConnman
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CConnman::SetNetworkActive
    - CConnman::SetTryNewOutboundPeer
    - Init
    linkageType: ''
    returnType: void
    signature: "void CConnman::CConnman(uint64_t nSeed0In, uint64_t nSeed1In, AddrMan&
      addrman_in,\n                   const NetGroupManager& netgroupman, const CChainParams&
      params, bool network_active)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/net.cpp:3222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3223
    functionName: CConnman::GetNewNodeId
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: NodeId
    signature: NodeId CConnman::GetNewNodeId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::GetDefaultPort
      Src: /src/bitcoin-core/src/net.cpp:3227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - net
    argTypes:
    - Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3225
    functionDepth: 1
    functionLinenumber: 3225
    functionLinenumberEnd: 3228
    functionName: CConnman::GetDefaultPort
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 4
    functionsReached:
    - CConnman::GetDefaultPort
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t CConnman::GetDefaultPort(Network net) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/net.cpp:3232,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/net.cpp:3233,1
    - Dst: CConnman::GetDefaultPort
      Src: /src/bitcoin-core/src/net.cpp:3233,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/net.cpp:3233,1
    - Dst: CConnman::GetDefaultPort
      Src: /src/bitcoin-core/src/net.cpp:3233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3230
    functionDepth: 5
    functionLinenumber: 3230
    functionLinenumberEnd: 3234
    functionName: CConnman::GetDefaultPort
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 5
    functionsReached:
    - CNetAddr::GetNetwork
    - CConnman::GetDefaultPort
    - CNetAddr::CNetAddr
    - CNetAddr::SetSpecial
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t CConnman::GetDefaultPort(const std::string& addr) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/net.cpp:3238,1
    - Dst: CConnman::BindListenPort
      Src: /src/bitcoin-core/src/net.cpp:3241,1
    - Dst: ThreadSafeMessageBox
      Src: /src/bitcoin-core/src/net.cpp:3243,1
    - Dst: CService::IsRoutable
      Src: /src/bitcoin-core/src/net.cpp:3248,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/net.cpp:3248,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/net.cpp:3249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ' addr_'
    - flags
    - permissions
    argTypes:
    - CService
    - unsigned int
    - NetPermissionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3253
      start: 3236
    functionDepth: 3
    functionLinenumber: 3236
    functionLinenumberEnd: 3253
    functionName: CConnman::Bind
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CConnman::BindListenPort
    - AddLocal
    - NetPermissions::HasFlag
    - ThreadSafeMessageBox
    - MaybeFlipIPv6toCJDNS
    - CService::IsRoutable
    linkageType: ''
    returnType: bool
    signature: bool CConnman::Bind(const CService& addr_, unsigned int flags, NetPermissionFlags
      permissions)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::Bind
      Src: /src/bitcoin-core/src/net.cpp:3258,1
    - Dst: CConnman::Bind
      Src: /src/bitcoin-core/src/net.cpp:3263,1
    - Dst: CConnman::Bind
      Src: /src/bitcoin-core/src/net.cpp:3268,1
    - Dst: in6_addr
      Src: /src/bitcoin-core/src/net.cpp:3276,1
    - Dst: GetListenPort
      Src: /src/bitcoin-core/src/net.cpp:3276,1
    - Dst: CConnman::Bind
      Src: /src/bitcoin-core/src/net.cpp:3277,1
    - Dst: htonl
      Src: /src/bitcoin-core/src/net.cpp:3280,1
    - Dst: GetListenPort
      Src: /src/bitcoin-core/src/net.cpp:3281,1
    - Dst: CConnman::Bind
      Src: /src/bitcoin-core/src/net.cpp:3282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3255
    functionDepth: 6
    functionLinenumber: 3255
    functionLinenumberEnd: 3287
    functionName: CConnman::InitBinds
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CConnman::Bind
    - htonl
    - GetListenPort
    - in6_addr
    linkageType: ''
    returnType: bool
    signature: bool CConnman::InitBinds(const Options& options)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3291,1
    - Dst: Init
      Src: /src/bitcoin-core/src/net.cpp:3292,1
    - Dst: CConnman::InitBinds
      Src: /src/bitcoin-core/src/net.cpp:3294,1
    - Dst: ThreadSafeMessageBox
      Src: /src/bitcoin-core/src/net.cpp:3296,1
    - Dst: _
      Src: /src/bitcoin-core/src/net.cpp:3297,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/net.cpp:3303,1
    - Dst: GetProxy
      Src: /src/bitcoin-core/src/net.cpp:3304,1
    - Dst: std::make_unique<i2p::sam::Session>
      Src: /src/bitcoin-core/src/net.cpp:3305,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/net.cpp:3305,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/net.cpp:3311,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/net.cpp:3312,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net.cpp:3312,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net.cpp:3312,1
    - Dst: ReadAnchors
      Src: /src/bitcoin-core/src/net.cpp:3317,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/net.cpp:3317,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:3318,1
    - Dst: resize
      Src: /src/bitcoin-core/src/net.cpp:3319,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:3321,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:3321,1
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/net.cpp:3325,1
    - Dst: _
      Src: /src/bitcoin-core/src/net.cpp:3325,1
    - Dst: std::make_unique<std::counting_semaphore<>>
      Src: /src/bitcoin-core/src/net.cpp:3332,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/net.cpp:3332,1
    - Dst: std::make_unique<std::counting_semaphore<>>
      Src: /src/bitcoin-core/src/net.cpp:3336,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net.cpp:3342,1
    - Dst: reset
      Src: /src/bitcoin-core/src/net.cpp:3343,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3347,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/net.cpp:3352,1
    - Dst: CConnman::ThreadSocketHandler
      Src: /src/bitcoin-core/src/net.cpp:3352,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/net.cpp:3354,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/net.cpp:3355,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/net.cpp:3357,1
    - Dst: CConnman::ThreadDNSAddressSeed
      Src: /src/bitcoin-core/src/net.cpp:3357,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/net.cpp:3360,1
    - Dst: CConnman::ThreadOpenAddedConnections
      Src: /src/bitcoin-core/src/net.cpp:3360,1
    - Dst: m_specified_outgoing::empty
      Src: /src/bitcoin-core/src/net.cpp:3362,1
    - Dst: ThreadSafeMessageBox
      Src: /src/bitcoin-core/src/net.cpp:3364,1
    - Dst: _
      Src: /src/bitcoin-core/src/net.cpp:3365,1
    - Dst: m_specified_outgoing::empty
      Src: /src/bitcoin-core/src/net.cpp:3370,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/net.cpp:3371,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:3373,1
    - Dst: CConnman::ThreadOpenConnections
      Src: /src/bitcoin-core/src/net.cpp:3373,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/net.cpp:3377,1
    - Dst: CConnman::ThreadMessageHandler
      Src: /src/bitcoin-core/src/net.cpp:3377,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/net.cpp:3381,1
    - Dst: CConnman::ThreadI2PAcceptIncoming
      Src: /src/bitcoin-core/src/net.cpp:3381,1
    - Dst: scheduleEvery
      Src: /src/bitcoin-core/src/net.cpp:3385,1
    - Dst: CConnman::DumpAddresses
      Src: /src/bitcoin-core/src/net.cpp:3385,1
    - Dst: UsingASMap
      Src: /src/bitcoin-core/src/net.cpp:3388,1
    - Dst: CConnman::ASMapHealthCheck
      Src: /src/bitcoin-core/src/net.cpp:3389,1
    - Dst: scheduleEvery
      Src: /src/bitcoin-core/src/net.cpp:3390,1
    - Dst: CConnman::ASMapHealthCheck
      Src: /src/bitcoin-core/src/net.cpp:3390,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 2
    argNames:
    - ' scheduler'
    - ' connOptions'
    argTypes:
    - CScheduler
    - Options
    assertStmts:
    - condition: (m_msgproc)
      pos:
        line_end: 3341
        line_start: 3341
        source_file: /src/bitcoin-core/src/net.cpp
    constantsTouched: []
    func_position:
      end: 3394
      start: 3289
    functionDepth: 7
    functionLinenumber: 3289
    functionLinenumberEnd: 3394
    functionName: CConnman::Start
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - UsingASMap
    - std::move
    - std::shuffle
    - Proxy::Proxy
    - CConnman::ThreadMessageHandler
    - resize
    - std::min
    - CConnman::ThreadI2PAcceptIncoming
    - std::vector::end
    - scheduleEvery
    - ReadAnchors
    - std::make_unique<std::counting_semaphore<>>
    - std::vector::empty
    - std::thread
    - InitMessage
    - CConnman::ThreadOpenAddedConnections
    - CConnman::ASMapHealthCheck
    - AssertLockNotHeld
    - Init
    - CConnman::ThreadDNSAddressSeed
    - ThreadSafeMessageBox
    - CConnman::InitBinds
    - assert
    - std::make_unique<i2p::sam::Session>
    - _
    - CConnman::DumpAddresses
    - CConnman::ThreadOpenConnections
    - GetProxy
    - std::vector::begin
    - size
    - GetDataDirNet
    - LogPrintf
    - LOCK
    - reset
    - CConnman::ThreadSocketHandler
    - m_specified_outgoing::empty
    - GetBoolArg
    linkageType: ''
    returnType: bool
    signature: bool CConnman::Start(CScheduler& scheduler, const Options& connOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3399
    functionName: CNetCleanup::CNetCleanup
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CNetCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/bitcoin-core/src/net.cpp:3405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3407
    functionName: ~CNetCleanup()
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void ~CNetCleanup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3414,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/net.cpp:3417,1
    - Dst: interruptNet
      Src: /src/bitcoin-core/src/net.cpp:3419,1
    - Dst: g_socks5_interrupt
      Src: /src/bitcoin-core/src/net.cpp:3420,1
    - Dst: release
      Src: /src/bitcoin-core/src/net.cpp:3424,1
    - Dst: release
      Src: /src/bitcoin-core/src/net.cpp:3430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3411
    functionDepth: 1
    functionLinenumber: 3411
    functionLinenumberEnd: 3433
    functionName: CConnman::Interrupt
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - g_socks5_interrupt
    - notify_all
    - interruptNet
    - LOCK
    - release
    linkageType: ''
    returnType: void
    signature: void CConnman::Interrupt()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: joinable
      Src: /src/bitcoin-core/src/net.cpp:3437,1
    - Dst: join
      Src: /src/bitcoin-core/src/net.cpp:3438,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/net.cpp:3440,1
    - Dst: join
      Src: /src/bitcoin-core/src/net.cpp:3441,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/net.cpp:3442,1
    - Dst: join
      Src: /src/bitcoin-core/src/net.cpp:3443,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/net.cpp:3444,1
    - Dst: join
      Src: /src/bitcoin-core/src/net.cpp:3445,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/net.cpp:3446,1
    - Dst: join
      Src: /src/bitcoin-core/src/net.cpp:3447,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/net.cpp:3448,1
    - Dst: join
      Src: /src/bitcoin-core/src/net.cpp:3449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3435
    functionDepth: 0
    functionLinenumber: 3435
    functionLinenumberEnd: 3450
    functionName: CConnman::StopThreads
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - join
    - joinable
    linkageType: ''
    returnType: void
    signature: void CConnman::StopThreads()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::DumpAddresses
      Src: /src/bitcoin-core/src/net.cpp:3455,1
    - Dst: CConnman::GetCurrentBlockRelayOnlyConns
      Src: /src/bitcoin-core/src/net.cpp:3460,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net.cpp:3461,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/net.cpp:3462,1
    - Dst: DumpAnchors
      Src: /src/bitcoin-core/src/net.cpp:3464,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/net.cpp:3464,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/net.cpp:3470,1
    - Dst: std::vector::swap
      Src: /src/bitcoin-core/src/net.cpp:3470,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:3472,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:3472,1
    - Dst: CloseSocketDisconnect
      Src: /src/bitcoin-core/src/net.cpp:3473,1
    - Dst: CConnman::DeleteNode
      Src: /src/bitcoin-core/src/net.cpp:3474,1
    - Dst: CConnman::DeleteNode
      Src: /src/bitcoin-core/src/net.cpp:3478,1
    - Dst: clear
      Src: /src/bitcoin-core/src/net.cpp:3480,1
    - Dst: clear
      Src: /src/bitcoin-core/src/net.cpp:3481,1
    - Dst: reset
      Src: /src/bitcoin-core/src/net.cpp:3482,1
    - Dst: reset
      Src: /src/bitcoin-core/src/net.cpp:3483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3452
    functionDepth: 5
    functionLinenumber: 3452
    functionLinenumberEnd: 3484
    functionName: CConnman::StopNodes
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - std::vector::resize
    - CConnman::GetCurrentBlockRelayOnlyConns
    - CConnman::DumpAddresses
    - DumpAnchors
    - WITH_LOCK
    - LogDebug
    - DisconnectMsg
    - GetDataDirNet
    - std::vector::swap
    - CConnman::DeleteNode
    - clear
    - CloseSocketDisconnect
    - reset
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void CConnman::StopNodes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net.cpp:3488,1
    - Dst: FinalizeNode
      Src: /src/bitcoin-core/src/net.cpp:3489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pnode
    argTypes:
    - CNode*
    assertStmts:
    - condition: (pnode)
      pos:
        line_end: 3487
        line_start: 3487
        source_file: /src/bitcoin-core/src/net.cpp
    constantsTouched: []
    func_position:
      end: 3491
      start: 3486
    functionDepth: 0
    functionLinenumber: 3486
    functionLinenumberEnd: 3491
    functionName: CConnman::DeleteNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached:
    - FinalizeNode
    - assert
    linkageType: ''
    returnType: void
    signature: void CConnman::DeleteNode(CNode* pnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::Interrupt
      Src: /src/bitcoin-core/src/net.cpp:3495,1
    - Dst: CConnman::Stop
      Src: /src/bitcoin-core/src/net.cpp:3496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3497
      start: 3493
    functionDepth: 2
    functionLinenumber: 3493
    functionLinenumberEnd: 3497
    functionName: CConnman::~CConnman()
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CConnman::Interrupt
    - CConnman::Stop
    linkageType: ''
    returnType: void
    signature: void CConnman::~CConnman()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetAddr
      Src: /src/bitcoin-core/src/net.cpp:3501,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/net.cpp:3503,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/net.cpp:3503,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net.cpp:3503,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net.cpp:3503,1
    - Dst: IsDiscouraged
      Src: /src/bitcoin-core/src/net.cpp:3504,1
    - Dst: IsBanned
      Src: /src/bitcoin-core/src/net.cpp:3504,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net.cpp:3505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - max_addresses
    - max_pct
    - network
    - filtered
    argTypes:
    - size_t
    - size_t
    - std::optional<Network>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3508
      start: 3499
    functionDepth: 1
    functionLinenumber: 3499
    functionLinenumberEnd: 3508
    functionName: CConnman::GetAddressesUnsafe
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::erase
    - std::vector::begin
    - IsBanned
    - IsDiscouraged
    - GetAddr
    - std::remove_if
    linkageType: ''
    returnType: std::vector<CAddress>
    signature: std::vector<CAddress> CConnman::GetAddressesUnsafe(size_t max_addresses,
      size_t max_pct, std::optional<Network> network, const bool filtered) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addrBind::GetAddrBytes
      Src: /src/bitcoin-core/src/net.cpp:3512,1
    - Dst: CConnman::GetDeterministicRandomizer
      Src: /src/bitcoin-core/src/net.cpp:3513,1
    - Dst: ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/net.cpp:3514,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net.cpp:3518,1
    - Dst: addrBind::GetPort
      Src: /src/bitcoin-core/src/net.cpp:3518,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:3520,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/net.cpp:3521,1
    - Dst: CConnman::GetAddressesUnsafe
      Src: /src/bitcoin-core/src/net.cpp:3524,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/net.cpp:3550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' requestor'
    - max_addresses
    - max_pct
    argTypes:
    - CNode
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3553
      start: 3510
    functionDepth: 2
    functionLinenumber: 3510
    functionLinenumberEnd: 3553
    functionName: CConnman::GetAddresses
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - addrBind::GetAddrBytes
    - emplace
    - ConnectedThroughNetwork
    - CConnman::GetDeterministicRandomizer
    - CConnman::GetAddressesUnsafe
    - FastRandomContext
    - addrBind::GetPort
    - IsInboundConn
    linkageType: ''
    returnType: std::vector<CAddress>
    signature: std::vector<CAddress> CConnman::GetAddresses(CNode& requestor, size_t
      max_addresses, size_t max_pct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/net.cpp:3557,1
    - Dst: CConnman::GetDefaultPort
      Src: /src/bitcoin-core/src/net.cpp:3557,1
    - Dst: CService::IsValid
      Src: /src/bitcoin-core/src/net.cpp:3558,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3560,1
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/net.cpp:3562,1
    - Dst: CConnman::GetDefaultPort
      Src: /src/bitcoin-core/src/net.cpp:3562,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/net.cpp:3565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' add'
    argTypes:
    - AddedNodeParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3555
    functionDepth: 5
    functionLinenumber: 3555
    functionLinenumberEnd: 3567
    functionName: CConnman::AddNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LookupNumeric
    - CService::IsValid
    - push_back
    - LOCK
    - CConnman::GetDefaultPort
    linkageType: ''
    returnType: bool
    signature: bool CConnman::AddNode(const AddedNodeParams& add)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3571,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:3572,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:3572,1
    - Dst: erase
      Src: /src/bitcoin-core/src/net.cpp:3574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' strNode'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3569
    functionDepth: 1
    functionLinenumber: 3569
    functionLinenumberEnd: 3579
    functionName: CConnman::RemoveAddedNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - LOCK
    - erase
    - begin
    linkageType: ''
    returnType: bool
    signature: bool CConnman::RemoveAddedNode(const std::string& strNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3583,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/net.cpp:3584,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:3585,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3586,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:3587,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/net.cpp:3588,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/net.cpp:3588,1
    - Dst: cend
      Src: /src/bitcoin-core/src/net.cpp:3588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3590
      start: 3581
    functionDepth: 1
    functionLinenumber: 3581
    functionLinenumberEnd: 3590
    functionName: CConnman::AddedNodesContain
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - ToStringAddrPort
    - cend
    - AssertLockNotHeld
    - size
    - std::any_of
    - LOCK
    - cbegin
    - ToStringAddr
    linkageType: ''
    returnType: bool
    signature: bool CConnman::AddedNodesContain(const CAddress& addr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3594,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:3596,1
    - Dst: IsInboundConn
      Src: /src/bitcoin-core/src/net.cpp:3600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - flags
    argTypes:
    - ConnectionDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3606
      start: 3592
    functionDepth: 1
    functionLinenumber: 3592
    functionLinenumberEnd: 3606
    functionName: CConnman::GetNodeCount
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    - IsInboundConn
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t CConnman::GetNodeCount(ConnectionDirection flags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3609
    functionDepth: 1
    functionLinenumber: 3609
    functionLinenumberEnd: 3613
    functionName: CConnman::getNetLocalAddresses
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: std::map<CNetAddr, LocalServiceInfo>
    signature: std::map<CNetAddr, LocalServiceInfo> CConnman::getNetLocalAddresses()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::GetMappedAS
      Src: /src/bitcoin-core/src/net.cpp:3617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3618
      start: 3615
    functionDepth: 1
    functionLinenumber: 3615
    functionLinenumberEnd: 3618
    functionName: CConnman::GetMappedAS
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - CConnman::GetMappedAS
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CConnman::GetMappedAS(const CNetAddr& addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/net.cpp:3622,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3623,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/net.cpp:3624,1
    - Dst: size
      Src: /src/bitcoin-core/src/net.cpp:3624,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/net.cpp:3626,1
    - Dst: CopyStats
      Src: /src/bitcoin-core/src/net.cpp:3627,1
    - Dst: back
      Src: /src/bitcoin-core/src/net.cpp:3627,1
    - Dst: back
      Src: /src/bitcoin-core/src/net.cpp:3628,1
    - Dst: CConnman::GetMappedAS
      Src: /src/bitcoin-core/src/net.cpp:3628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' vstats'
    argTypes:
    - std::vector<CNodeStats>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3630
      start: 3620
    functionDepth: 2
    functionLinenumber: 3620
    functionLinenumberEnd: 3630
    functionName: CConnman::GetNodeStats
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - CConnman::GetMappedAS
    - back
    - size
    - LOCK
    - clear
    - CopyStats
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void CConnman::GetNodeStats(std::vector<CNodeStats>& vstats) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3634,1
    - Dst: CConnman::FindNode
      Src: /src/bitcoin-core/src/net.cpp:3635,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:3636,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3636,1
    - Dst: CNode*::DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:3636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' strNode'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3641
      start: 3632
    functionDepth: 2
    functionLinenumber: 3632
    functionLinenumberEnd: 3641
    functionName: CConnman::DisconnectNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CConnman::FindNode
    - LogDebug
    - LOCK
    - strprintf
    - CNode*::DisconnectMsg
    linkageType: ''
    returnType: bool
    signature: bool CConnman::DisconnectNode(const std::string& strNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3646,1
    - Dst: Match
      Src: /src/bitcoin-core/src/net.cpp:3648,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:3649,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:3649,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/net.cpp:3649,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:3649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' subnet'
    argTypes:
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3655
      start: 3643
    functionDepth: 1
    functionLinenumber: 3643
    functionLinenumberEnd: 3655
    functionName: CConnman::DisconnectNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - LogDebug
    - DisconnectMsg
    - LOCK
    - Match
    - strprintf
    linkageType: ''
    returnType: bool
    signature: bool CConnman::DisconnectNode(const CSubNet& subnet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::DisconnectNode
      Src: /src/bitcoin-core/src/net.cpp:3659,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/net.cpp:3659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3660
      start: 3657
    functionDepth: 1
    functionLinenumber: 3657
    functionLinenumberEnd: 3660
    functionName: CConnman::DisconnectNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - CSubNet
    - CConnman::DisconnectNode
    linkageType: ''
    returnType: bool
    signature: bool CConnman::DisconnectNode(const CNetAddr& addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3664,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net.cpp:3666,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:3667,1
    - Dst: DisconnectMsg
      Src: /src/bitcoin-core/src/net.cpp:3667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3673
      start: 3662
    functionDepth: 1
    functionLinenumber: 3662
    functionLinenumberEnd: 3673
    functionName: CConnman::DisconnectNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - LogDebug
    - DisconnectMsg
    - GetId
    linkageType: ''
    returnType: bool
    signature: bool CConnman::DisconnectNode(NodeId id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3678
      start: 3675
    functionDepth: 0
    functionLinenumber: 3675
    functionLinenumberEnd: 3678
    functionName: CConnman::RecordBytesRecv
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CConnman::RecordBytesRecv(uint64_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3682,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3683,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:3687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3696
      start: 3680
    functionDepth: 1
    functionLinenumber: 3680
    functionLinenumberEnd: 3696
    functionName: CConnman::RecordBytesSent
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - GetTime
    - AssertLockNotHeld
    linkageType: ''
    returnType: void
    signature: void CConnman::RecordBytesSent(uint64_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3700,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3703
      start: 3698
    functionDepth: 1
    functionLinenumber: 3698
    functionLinenumberEnd: 3703
    functionName: CConnman::GetMaxOutboundTarget
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CConnman::GetMaxOutboundTarget() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3708
      start: 3705
    functionDepth: 0
    functionLinenumber: 3705
    functionLinenumberEnd: 3708
    functionName: CConnman::GetMaxOutboundTimeframe
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds CConnman::GetMaxOutboundTimeframe() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3712,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3713,1
    - Dst: CConnman::GetMaxOutboundTimeLeftInCycle_
      Src: /src/bitcoin-core/src/net.cpp:3714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3715
      start: 3710
    functionDepth: 1
    functionLinenumber: 3710
    functionLinenumberEnd: 3715
    functionName: CConnman::GetMaxOutboundTimeLeftInCycle
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CConnman::GetMaxOutboundTimeLeftInCycle_
    - AssertLockNotHeld
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds CConnman::GetMaxOutboundTimeLeftInCycle() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/net.cpp:3719,1
    - Dst: count
      Src: /src/bitcoin-core/src/net.cpp:3724,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:3728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3717
    functionDepth: 1
    functionLinenumber: 3717
    functionLinenumberEnd: 3730
    functionName: CConnman::GetMaxOutboundTimeLeftInCycle_
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 1
    functionsReached:
    - count
    - GetTime
    - AssertLockHeld
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds CConnman::GetMaxOutboundTimeLeftInCycle_() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3734,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3735,1
    - Dst: CConnman::GetMaxOutboundTimeLeftInCycle_
      Src: /src/bitcoin-core/src/net.cpp:3742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - historicalBlockServingLimit
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3732
    functionDepth: 2
    functionLinenumber: 3732
    functionLinenumberEnd: 3751
    functionName: CConnman::OutboundTargetReached
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CConnman::GetMaxOutboundTimeLeftInCycle_
    - AssertLockNotHeld
    linkageType: ''
    returnType: bool
    signature: bool CConnman::OutboundTargetReached(bool historicalBlockServingLimit)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3755,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3761
      start: 3753
    functionDepth: 1
    functionLinenumber: 3753
    functionLinenumberEnd: 3761
    functionName: CConnman::GetOutboundTargetBytesLeft
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CConnman::GetOutboundTargetBytesLeft() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3766
      start: 3763
    functionDepth: 0
    functionLinenumber: 3763
    functionLinenumberEnd: 3766
    functionName: CConnman::GetTotalBytesRecv
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CConnman::GetTotalBytesRecv() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3770,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3768
    functionDepth: 1
    functionLinenumber: 3768
    functionLinenumberEnd: 3773
    functionName: CConnman::GetTotalBytesSent
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AssertLockNotHeld
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CConnman::GetTotalBytesSent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3778
      start: 3775
    functionDepth: 0
    functionLinenumber: 3775
    functionLinenumberEnd: 3778
    functionName: CConnman::GetLocalServices
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ServiceFlags
    signature: ServiceFlags CConnman::GetLocalServices() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<V2Transport>
      Src: /src/bitcoin-core/src/net.cpp:3783,1
    - Dst: std::make_unique<V1Transport>
      Src: /src/bitcoin-core/src/net.cpp:3785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - use_v2transport
    - inbound
    argTypes:
    - NodeId
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3787
      start: 3780
    functionDepth: 0
    functionLinenumber: 3780
    functionLinenumberEnd: 3787
    functionName: MakeTransport
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<V1Transport>
    - std::make_unique<V2Transport>
    linkageType: ''
    returnType: std::unique_ptr<Transport>
    signature: std::unique_ptr<Transport> MakeTransport(NodeId id, bool use_v2transport,
      bool inbound) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeTransport
      Src: /src/bitcoin-core/src/net.cpp:3799,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:3802,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:3805,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:3805,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:3814,1
    - Dst: assert
      Src: /src/bitcoin-core/src/net.cpp:3816,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:3824,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:3826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 10
    argNames:
    - idIn
    - sock
    - ' addrIn'
    - nKeyedNetGroupIn
    - nLocalHostNonceIn
    - ' addrBindIn'
    - ' addrNameIn'
    - conn_type_in
    - inbound_onion
    - ' node_opts'
    argTypes:
    - NodeId
    - std::shared_ptr<Sock>
    - CAddress
    - uint64_t
    - uint64_t
    - CService
    - std::string
    - ConnectionType
    - bool
    - CNodeOptions
    assertStmts:
    - condition: (conn_type_in == ConnectionType::INBOUND)
      pos:
        line_end: 3815
        line_start: 3815
        source_file: /src/bitcoin-core/src/net.cpp
    constantsTouched: []
    func_position:
      end: 3828
      start: 3789
    functionDepth: 1
    functionLinenumber: 3789
    functionLinenumberEnd: 3828
    functionName: CNode::CNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached:
    - GetTime
    - ToStringAddrPort
    - empty
    - LogDebug
    - std::move
    - MakeTransport
    - assert
    linkageType: ''
    returnType: void
    signature: "void CNode::CNode(NodeId idIn,\n             std::shared_ptr<Sock>
      sock,\n             const CAddress& addrIn,\n             uint64_t nKeyedNetGroupIn,\n
      \            uint64_t nLocalHostNonceIn,\n             const CService& addrBindIn,\n
      \            const std::string& addrNameIn,\n             ConnectionType conn_type_in,\n
      \            bool inbound_onion,\n             CNodeOptions&& node_opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3832,1
    - Dst: GetMemoryUsage
      Src: /src/bitcoin-core/src/net.cpp:3838,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3841,1
    - Dst: splice
      Src: /src/bitcoin-core/src/net.cpp:3842,1
    - Dst: end
      Src: /src/bitcoin-core/src/net.cpp:3842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3830
    functionDepth: 1
    functionLinenumber: 3830
    functionLinenumberEnd: 3845
    functionName: CNode::MarkReceivedMsgsForProcessing
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - GetMemoryUsage
    - AssertLockNotHeld
    - splice
    - LOCK
    linkageType: ''
    returnType: void
    signature: void CNode::MarkReceivedMsgsForProcessing()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3849,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:3850,1
    - Dst: std::list::splice
      Src: /src/bitcoin-core/src/net.cpp:3854,1
    - Dst: std::list::begin
      Src: /src/bitcoin-core/src/net.cpp:3854,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:3854,1
    - Dst: std::list::front
      Src: /src/bitcoin-core/src/net.cpp:3855,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/net.cpp:3858,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:3858,1
    - Dst: std::list::front
      Src: /src/bitcoin-core/src/net.cpp:3858,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:3858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3847
    functionDepth: 1
    functionLinenumber: 3847
    functionLinenumberEnd: 3859
    functionName: CNode::PollMessage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - empty
    - std::list::front
    - std::move
    - std::list::splice
    - LOCK
    - begin
    - std::list::begin
    linkageType: ''
    returnType: std::optional<std::pair<CNetMessage, bool>>
    signature: std::optional<std::pair<CNetMessage, bool>> CNode::PollMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pnode
    argTypes:
    - CNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3861
    functionDepth: 0
    functionLinenumber: 3861
    functionLinenumberEnd: 3864
    functionName: CConnman::NodeFullyConnected
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CConnman::NodeFullyConnected(const CNode* pnode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3868,1
    - Dst: data::size
      Src: /src/bitcoin-core/src/net.cpp:3869,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/net.cpp:3870,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net.cpp:3870,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/net.cpp:3871,1
    - Dst: CaptureMessage
      Src: /src/bitcoin-core/src/net.cpp:3872,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/net.cpp:3875,1
    - Dst: CNode*::GetId
      Src: /src/bitcoin-core/src/net.cpp:3876,1
    - Dst: CNode*::m_addr_name::c_str
      Src: /src/bitcoin-core/src/net.cpp:3877,1
    - Dst: CNode*::ConnectionTypeAsString
      Src: /src/bitcoin-core/src/net.cpp:3878,1
    - Dst: m_type::c_str
      Src: /src/bitcoin-core/src/net.cpp:3879,1
    - Dst: data::size
      Src: /src/bitcoin-core/src/net.cpp:3880,1
    - Dst: data::data
      Src: /src/bitcoin-core/src/net.cpp:3881,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3886,1
    - Dst: CNode*::m_transport::GetBytesToSend
      Src: /src/bitcoin-core/src/net.cpp:3890,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:3891,1
    - Dst: CNode*::vSendMsg::empty
      Src: /src/bitcoin-core/src/net.cpp:3891,1
    - Dst: GetMemoryUsage
      Src: /src/bitcoin-core/src/net.cpp:3894,1
    - Dst: CNode*::m_transport::GetSendMemoryUsage
      Src: /src/bitcoin-core/src/net.cpp:3895,1
    - Dst: CNode*::vSendMsg::push_back
      Src: /src/bitcoin-core/src/net.cpp:3897,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:3897,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/net.cpp:3907,1
    - Dst: CConnman::SocketSendData
      Src: /src/bitcoin-core/src/net.cpp:3907,1
    - Dst: CConnman::RecordBytesSent
      Src: /src/bitcoin-core/src/net.cpp:3910,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pnode
    - ' msg'
    argTypes:
    - CNode*
    - CSerializedNetMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3911
      start: 3866
    functionDepth: 3
    functionLinenumber: 3866
    functionLinenumberEnd: 3911
    functionName: CConnman::PushMessage
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - CNode*::m_transport::GetSendMemoryUsage
    - CNode*::vSendMsg::empty
    - CaptureMessage
    - CNode*::m_addr_name::c_str
    - std::move
    - CNode*::m_transport::GetBytesToSend
    - std::tie
    - m_type::c_str
    - TRACEPOINT
    - CConnman::RecordBytesSent
    - empty
    - GetMemoryUsage
    - CConnman::SocketSendData
    - LogDebug
    - AssertLockNotHeld
    - CNode*::vSendMsg::push_back
    - CNode*::ConnectionTypeAsString
    - data::data
    - data::size
    - CNode*::GetId
    - LOCK
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void CConnman::PushMessage(CNode* pnode, CSerializedNetMsg&& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3916,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/net.cpp:3918,1
    - Dst: CConnman::NodeFullyConnected
      Src: /src/bitcoin-core/src/net.cpp:3923,1
    - Dst: func
      Src: /src/bitcoin-core/src/net.cpp:3923,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - id
    - func
    argTypes:
    - NodeId
    - std::function<bool(CNode* pnode)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3924
      start: 3913
    functionDepth: 1
    functionLinenumber: 3913
    functionLinenumberEnd: 3924
    functionName: CConnman::ForNode
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - func
    - LOCK
    - CConnman::NodeFullyConnected
    - GetId
    linkageType: ''
    returnType: bool
    signature: bool CConnman::ForNode(NodeId id, std::function<bool(CNode* pnode)>
      func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/net.cpp:3928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3929
      start: 3926
    functionDepth: 0
    functionLinenumber: 3926
    functionLinenumberEnd: 3929
    functionName: CConnman::GetDeterministicRandomizer
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 3
    functionsReached:
    - CSipHasher
    linkageType: ''
    returnType: CSipHasher
    signature: CSipHasher CConnman::GetDeterministicRandomizer(uint64_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetGroup
      Src: /src/bitcoin-core/src/net.cpp:3933,1
    - Dst: CConnman::GetDeterministicRandomizer
      Src: /src/bitcoin-core/src/net.cpp:3935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3936
      start: 3931
    functionDepth: 1
    functionLinenumber: 3931
    functionLinenumberEnd: 3936
    functionName: CConnman::CalculateKeyedNetGroup
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached:
    - GetGroup
    - CConnman::GetDeterministicRandomizer
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CConnman::CalculateKeyedNetGroup(const CNetAddr& address)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3940,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/net.cpp:3941,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/net.cpp:3946,1
    - Dst: empty
      Src: /src/bitcoin-core/src/net.cpp:3947,1
    - Dst: decltype(m_reconnections)::splice
      Src: /src/bitcoin-core/src/net.cpp:3948,1
    - Dst: decltype(m_reconnections)::end
      Src: /src/bitcoin-core/src/net.cpp:3948,1
    - Dst: begin
      Src: /src/bitcoin-core/src/net.cpp:3948,1
    - Dst: decltype(m_reconnections)::begin
      Src: /src/bitcoin-core/src/net.cpp:3951,1
    - Dst: CConnman::OpenNetworkConnection
      Src: /src/bitcoin-core/src/net.cpp:3952,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/net.cpp:3958,1
    - Dst: destination::empty
      Src: /src/bitcoin-core/src/net.cpp:3959,1
    - Dst: destination::c_str
      Src: /src/bitcoin-core/src/net.cpp:3959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3963
      start: 3938
    functionDepth: 6
    functionLinenumber: 3938
    functionLinenumberEnd: 3963
    functionName: CConnman::PerformReconnections
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached:
    - CConnman::OpenNetworkConnection
    - empty
    - decltype(m_reconnections)::begin
    - decltype(m_reconnections)::splice
    - decltype(m_reconnections)::end
    - AssertLockNotHeld
    - std::move
    - LOCK
    - destination::empty
    - begin
    - destination::c_str
    linkageType: ''
    returnType: void
    signature: void CConnman::PerformReconnections()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CConnman::GetAddressesUnsafe
      Src: /src/bitcoin-core/src/net.cpp:3967,1
    - Dst: CConnman::GetAddressesUnsafe
      Src: /src/bitcoin-core/src/net.cpp:3968,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/net.cpp:3970,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net.cpp:3970,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/net.cpp:3970,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/net.cpp:3971,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net.cpp:3971,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net.cpp:3971,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/net.cpp:3971,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/net.cpp:3972,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/net.cpp:3973,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/net.cpp:3973,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/net.cpp:3973,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/net.cpp:3973,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/net.cpp:3974,1
    - Dst: CConnman::ASMapHealthCheck
      Src: /src/bitcoin-core/src/net.cpp:3975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3976
      start: 3965
    functionDepth: 2
    functionLinenumber: 3965
    functionLinenumberEnd: 3976
    functionName: CConnman::ASMapHealthCheck
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 2
    functionsReached:
    - std::vector::end
    - std::back_inserter
    - std::transform
    - CConnman::ASMapHealthCheck
    - std::vector::begin
    - std::vector::reserve
    - static_cast<CNetAddr>
    - CConnman::GetAddressesUnsafe
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void CConnman::ASMapHealthCheck()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/net.cpp:3988,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/net.cpp:3991,1
    - Dst: std::replace
      Src: /src/bitcoin-core/src/net.cpp:3992,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/net.cpp:3992,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/net.cpp:3992,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/net.cpp:3994,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/net.cpp:3994,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/net.cpp:3995,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/net.cpp:3998,1
    - Dst: ser_writedata64
      Src: /src/bitcoin-core/src/net.cpp:4000,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/net.cpp:4000,1
    - Dst: length
      Src: /src/bitcoin-core/src/net.cpp:4002,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/net.cpp:4005,1
    - Dst: ser_writedata32
      Src: /src/bitcoin-core/src/net.cpp:4006,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/net.cpp:4009,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/net.cpp:4010,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/net.cpp:4011,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/net.cpp:4011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' addr'
    - ' msg_type'
    - data
    - is_incoming
    argTypes:
    - CAddress
    - std::string
    - std::span<const unsigned char>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4013
      start: 3979
    functionDepth: 2
    functionLinenumber: 3979
    functionLinenumberEnd: 4013
    functionName: CaptureMessageToFile
    functionSourceFile: /src/bitcoin-core/src/net.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - ser_writedata64
    - GetTime
    - ToStringAddrPort
    - std::replace
    - fs::PathToString
    - strprintf
    - std::string::begin
    - fs::u8path
    - fsbridge::fopen
    - ser_writedata32
    - std::ios_base::failure
    - length
    - GetDataDirNet
    - std::string::end
    - AutoFile::fclose
    - fs::create_directories
    - auto::count
    linkageType: ''
    returnType: void
    signature: "void CaptureMessageToFile(const CAddress& addr,\n                                 const
      std::string& msg_type,\n                                 std::span<const unsigned
      char> data,\n                                 bool is_incoming)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/validationinterface.cpp:47,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/validationinterface.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - task_runner
    argTypes:
    - std::unique_ptr<util::TaskRunnerInterface>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ValidationSignalsImpl::ValidationSignalsImpl
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - std::move
    linkageType: ''
    returnType: void
    signature: void ValidationSignalsImpl(std::unique_ptr<util::TaskRunnerInterface>
      task_runner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validationinterface.cpp:51,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/validationinterface.cpp:52,1
    - Dst: get
      Src: /src/bitcoin-core/src/validationinterface.cpp:52,1
    - Dst: end
      Src: /src/bitcoin-core/src/validationinterface.cpp:52,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/validationinterface.cpp:53,1
    - Dst: end
      Src: /src/bitcoin-core/src/validationinterface.cpp:53,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validationinterface.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - std::move
    - LOCK
    - get
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validationinterface.cpp:59,1
    - Dst: find
      Src: /src/bitcoin-core/src/validationinterface.cpp:60,1
    - Dst: end
      Src: /src/bitcoin-core/src/validationinterface.cpp:61,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validationinterface.cpp:62,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validationinterface.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - end
    - LOCK
    - find
    - erase
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/validationinterface.cpp:73,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validationinterface.cpp:75,1
    - Dst: clear
      Src: /src/bitcoin-core/src/validationinterface.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: ValidationSignalsImpl::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - clear
    - erase
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/validationinterface.cpp:83,1
    - Dst: end
      Src: /src/bitcoin-core/src/validationinterface.cpp:83,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/validationinterface.cpp:86,1
    - Dst: f
      Src: /src/bitcoin-core/src/validationinterface.cpp:87,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/validationinterface.cpp:89,1
    - Dst: erase
      Src: /src/bitcoin-core/src/validationinterface.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: ValidationSignalsImpl::for
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - f
    - std::next
    - REVERSE_LOCK
    - begin
    linkageType: ''
    returnType: void
    signature: void for (auto it = m_list.begin(); it != m_list.end();)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ValidationSignalsImpl>
      Src: /src/bitcoin-core/src/validationinterface.cpp:95,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validationinterface.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - task_runner
    argTypes:
    - std::unique_ptr<util::TaskRunnerInterface>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: ValidationSignals::ValidationSignals
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ValidationSignalsImpl>
    - std::move
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::ValidationSignals(std::unique_ptr<util::TaskRunnerInterface>
      task_runner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ValidationSignals::~ValidationSignals()
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::~ValidationSignals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_task_runner::flush
      Src: /src/bitcoin-core/src/validationinterface.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: ValidationSignals::FlushBackgroundCallbacks
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - m_task_runner::flush
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::FlushBackgroundCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_task_runner::size
      Src: /src/bitcoin-core/src/validationinterface.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ValidationSignals::CallbacksPending
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - m_task_runner::size
    linkageType: ''
    returnType: size_t
    signature: size_t ValidationSignals::CallbacksPending()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Register
      Src: /src/bitcoin-core/src/validationinterface.cpp:113,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validationinterface.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - std::shared_ptr<CValidationInterface>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: ValidationSignals::RegisterSharedValidationInterface
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - Register
    - std::move
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::RegisterSharedValidationInterface(std::shared_ptr<CValidationInterface>
      callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValidationSignals::RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/validationinterface.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - CValidationInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: ValidationSignals::RegisterValidationInterface
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - ValidationSignals::RegisterSharedValidationInterface
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::RegisterValidationInterface(CValidationInterface*
      callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValidationSignals::UnregisterValidationInterface
      Src: /src/bitcoin-core/src/validationinterface.cpp:125,1
    - Dst: std::shared_ptr<CValidationInterface>::get
      Src: /src/bitcoin-core/src/validationinterface.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - std::shared_ptr<CValidationInterface>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: ValidationSignals::UnregisterSharedValidationInterface
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - std::shared_ptr<CValidationInterface>::get
    - ValidationSignals::UnregisterValidationInterface
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::UnregisterSharedValidationInterface(std::shared_ptr<CValidationInterface>
      callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unregister
      Src: /src/bitcoin-core/src/validationinterface.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - CValidationInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: ValidationSignals::UnregisterValidationInterface
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - Unregister
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::UnregisterValidationInterface(CValidationInterface*
      callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/bitcoin-core/src/validationinterface.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: ValidationSignals::UnregisterAllValidationInterfaces
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::UnregisterAllValidationInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_task_runner::insert
      Src: /src/bitcoin-core/src/validationinterface.cpp:140,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/validationinterface.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: ValidationSignals::CallFunctionInValidationInterfaceQueue
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - m_task_runner::insert
    - std::move
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::CallFunctionInValidationInterfaceQueue(std::function<void()>
      func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/validationinterface.cpp:145,1
    - Dst: ValidationSignals::CallFunctionInValidationInterfaceQueue
      Src: /src/bitcoin-core/src/validationinterface.cpp:148,1
    - Dst: std::promise::set_value
      Src: /src/bitcoin-core/src/validationinterface.cpp:149,1
    - Dst: std::promise::get_future
      Src: /src/bitcoin-core/src/validationinterface.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: ValidationSignals::SyncWithValidationInterfaceQueue
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached:
    - ValidationSignals::CallFunctionInValidationInterfaceQueue
    - AssertLockNotHeld
    - std::promise::set_value
    - std::promise::get_future
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::SyncWithValidationInterfaceQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - event
    - ','
    - fmt
    - ','
    - name
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: ENQUEUE_AND_LOG_EVENT
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENQUEUE_AND_LOG_EVENT(event, fmt, name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: LOG_EVENT
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_EVENT(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:177,1
    - Dst: ValidationSignals::UpdatedBlockTip
      Src: /src/bitcoin-core/src/validationinterface.cpp:177,1
    - Dst: ENQUEUE_AND_LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:179,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:180,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pindexNew
    - pindexFork
    - fInitialDownload
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: ValidationSignals::UpdatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - ENQUEUE_AND_LOG_EVENT
    - CBlockIndex*::GetBlockHash
    - ValidationSignals::UpdatedBlockTip
    - Iterate
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::UpdatedBlockTip(const CBlockIndex *pindexNew,
      const CBlockIndex *pindexFork, bool fInitialDownload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:187,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:187,1
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:188,1
    - Dst: ValidationSignals::ActiveTipChange
      Src: /src/bitcoin-core/src/validationinterface.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' new_tip'
    - is_ibd
    argTypes:
    - CBlockIndex
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: ValidationSignals::ActiveTipChange
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - ValidationSignals::ActiveTipChange
    - GetBlockHash
    - LOG_EVENT
    - Iterate
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::ActiveTipChange(const CBlockIndex& new_tip,
      bool is_ibd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:194,1
    - Dst: ValidationSignals::TransactionAddedToMempool
      Src: /src/bitcoin-core/src/validationinterface.cpp:194,1
    - Dst: ENQUEUE_AND_LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:196,1
    - Dst: info::m_tx::GetHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:197,1
    - Dst: info::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' tx'
    - mempool_sequence
    argTypes:
    - NewMempoolTransactionInfo
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: ValidationSignals::TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - ValidationSignals::TransactionAddedToMempool
    - info::m_tx::GetWitnessHash
    - Iterate
    - ENQUEUE_AND_LOG_EVENT
    - info::m_tx::GetHash
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::TransactionAddedToMempool(const NewMempoolTransactionInfo&
      tx, uint64_t mempool_sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:203,1
    - Dst: ValidationSignals::TransactionRemovedFromMempool
      Src: /src/bitcoin-core/src/validationinterface.cpp:203,1
    - Dst: ENQUEUE_AND_LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:205,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:206,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:207,1
    - Dst: RemovalReasonToString
      Src: /src/bitcoin-core/src/validationinterface.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' tx'
    - reason
    - mempool_sequence
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: ValidationSignals::TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - GetWitnessHash
    - GetHash
    - RemovalReasonToString
    - Iterate
    - ENQUEUE_AND_LOG_EVENT
    - ValidationSignals::TransactionRemovedFromMempool
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::TransactionRemovedFromMempool(const CTransactionRef&
      tx, MemPoolRemovalReason reason, uint64_t mempool_sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:213,1
    - Dst: ValidationSignals::BlockConnected
      Src: /src/bitcoin-core/src/validationinterface.cpp:213,1
    - Dst: ENQUEUE_AND_LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:215,1
    - Dst: std::shared_ptr<const CBlock>::GetHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - role
    - pblock
    - pindex
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: ValidationSignals::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - ValidationSignals::BlockConnected
    - std::shared_ptr<const CBlock>::GetHash
    - ENQUEUE_AND_LOG_EVENT
    - Iterate
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::BlockConnected(ChainstateRole role, const std::shared_ptr<const
      CBlock> &pblock, const CBlockIndex *pindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:223,1
    - Dst: ValidationSignals::MempoolTransactionsRemovedForBlock
      Src: /src/bitcoin-core/src/validationinterface.cpp:223,1
    - Dst: ENQUEUE_AND_LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:225,1
    - Dst: size
      Src: /src/bitcoin-core/src/validationinterface.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' txs_removed_for_block'
    - nBlockHeight
    argTypes:
    - std::vector<RemovedMempoolTransactionInfo>
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: ValidationSignals::MempoolTransactionsRemovedForBlock
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - ValidationSignals::MempoolTransactionsRemovedForBlock
    - ENQUEUE_AND_LOG_EVENT
    - size
    - Iterate
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::MempoolTransactionsRemovedForBlock(const std::vector<RemovedMempoolTransactionInfo>&
      txs_removed_for_block, unsigned int nBlockHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:233,1
    - Dst: ValidationSignals::BlockDisconnected
      Src: /src/bitcoin-core/src/validationinterface.cpp:233,1
    - Dst: ENQUEUE_AND_LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:235,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' pblock'
    - pindex
    argTypes:
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: ValidationSignals::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - ENQUEUE_AND_LOG_EVENT
    - ValidationSignals::BlockDisconnected
    - GetHash
    - Iterate
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::BlockDisconnected(const std::shared_ptr<const
      CBlock>& pblock, const CBlockIndex* pindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:242,1
    - Dst: ValidationSignals::ChainStateFlushed
      Src: /src/bitcoin-core/src/validationinterface.cpp:242,1
    - Dst: ENQUEUE_AND_LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:244,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/validationinterface.cpp:245,1
    - Dst: CBlockLocator::vHave::front
      Src: /src/bitcoin-core/src/validationinterface.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - role
    - locator
    argTypes:
    - ChainstateRole
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: ValidationSignals::ChainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - CBlockLocator::vHave::front
    - ValidationSignals::ChainStateFlushed
    - Iterate
    - ENQUEUE_AND_LOG_EVENT
    - CBlockLocator::IsNull
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::ChainStateFlushed(ChainstateRole role, const
      CBlockLocator &locator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:249,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:250,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/validationinterface.cpp:250,1
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:251,1
    - Dst: ValidationSignals::BlockChecked
      Src: /src/bitcoin-core/src/validationinterface.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' block'
    - ' state'
    argTypes:
    - CBlock
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: ValidationSignals::BlockChecked
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - LOG_EVENT
    - GetHash
    - Iterate
    - ValidationSignals::BlockChecked
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::BlockChecked(const CBlock& block, const BlockValidationState&
      state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_EVENT
      Src: /src/bitcoin-core/src/validationinterface.cpp:255,1
    - Dst: std::shared_ptr<const CBlock>::GetHash
      Src: /src/bitcoin-core/src/validationinterface.cpp:255,1
    - Dst: Iterate
      Src: /src/bitcoin-core/src/validationinterface.cpp:256,1
    - Dst: ValidationSignals::NewPoWValidBlock
      Src: /src/bitcoin-core/src/validationinterface.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pindex
    - block
    argTypes:
    - CBlockIndex*
    - std::shared_ptr<const CBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: ValidationSignals::NewPoWValidBlock
    functionSourceFile: /src/bitcoin-core/src/validationinterface.cpp
    functionUses: 1
    functionsReached:
    - ValidationSignals::NewPoWValidBlock
    - std::shared_ptr<const CBlock>::GetHash
    - LOG_EVENT
    - Iterate
    linkageType: ''
    returnType: void
    signature: void ValidationSignals::NewPoWValidBlock(const CBlockIndex *pindex,
      const std::shared_ptr<const CBlock> &block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& DataDir() const'
    functionSourceFile: /src/bitcoin-core/src/chainparamsbase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & DataDir() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: CBaseChainParams::RPCPort
    functionSourceFile: /src/bitcoin-core/src/chainparamsbase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t RPCPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: CBaseChainParams::CBaseChainParams
    functionSourceFile: /src/bitcoin-core/src/chainparamsbase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBaseChainParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' data_dir'
    - rpc_port
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: CBaseChainParams::CBaseChainParams
    functionSourceFile: /src/bitcoin-core/src/chainparamsbase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBaseChainParams(const std::string& data_dir, uint16_t rpc_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: TorControlConnection::TorControlConnection
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TorControlConnection::TorControlConnection(struct event_base*
      _base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_free
      Src: /src/bitcoin-core/src/torcontrol.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: TorControlConnection::~TorControlConnection()
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - bufferevent_free
    linkageType: ''
    returnType: void
    signature: void TorControlConnection::~TorControlConnection()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TorControlConnection*>
      Src: /src/bitcoin-core/src/torcontrol.cpp:90,1
    - Dst: bufferevent_get_input
      Src: /src/bitcoin-core/src/torcontrol.cpp:91,1
    - Dst: assert
      Src: /src/bitcoin-core/src/torcontrol.cpp:94,1
    - Dst: evbuffer_readln
      Src: /src/bitcoin-core/src/torcontrol.cpp:96,1
    - Dst: free
      Src: /src/bitcoin-core/src/torcontrol.cpp:99,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:100,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/torcontrol.cpp:103,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/torcontrol.cpp:103,1
    - Dst: TorControlConnection*::message::lines::push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:104,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/torcontrol.cpp:104,1
    - Dst: TorControlConnection*::reply_handlers::empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:113,1
    - Dst: TorControlConnection*::reply_handlers::front
      Src: /src/bitcoin-core/src/torcontrol.cpp:115,1
    - Dst: TorControlConnection*::reply_handlers::pop_front
      Src: /src/bitcoin-core/src/torcontrol.cpp:116,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:118,1
    - Dst: TorControlConnection*::message::Clear
      Src: /src/bitcoin-core/src/torcontrol.cpp:121,1
    - Dst: evbuffer_get_length
      Src: /src/bitcoin-core/src/torcontrol.cpp:127,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:128,1
    - Dst: TorControlConnection*::Disconnect
      Src: /src/bitcoin-core/src/torcontrol.cpp:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/bitcoin-core/src/torcontrol.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 131
    functionName: TorControlConnection::readcb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - std::string::size
    - evbuffer_readln
    - TorControlConnection*::message::Clear
    - TorControlConnection*::message::lines::push_back
    - LogDebug
    - TorControlConnection*::reply_handlers::pop_front
    - evbuffer_get_length
    - static_cast<TorControlConnection*>
    - ToIntegral
    - LogPrintf
    - TorControlConnection*::reply_handlers::front
    - TorControlConnection*::Disconnect
    - TorControlConnection*::reply_handlers::empty
    - assert
    - free
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void TorControlConnection::readcb(struct bufferevent *bev, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TorControlConnection*>
      Src: /src/bitcoin-core/src/torcontrol.cpp:135,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:137,1
    - Dst: TorControlConnection*::connected
      Src: /src/bitcoin-core/src/torcontrol.cpp:138,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:141,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:143,1
    - Dst: TorControlConnection*::Disconnect
      Src: /src/bitcoin-core/src/torcontrol.cpp:145,1
    - Dst: TorControlConnection*::disconnected
      Src: /src/bitcoin-core/src/torcontrol.cpp:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: TorControlConnection::eventcb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - LogDebug
    - static_cast<TorControlConnection*>
    - TorControlConnection*::Disconnect
    - TorControlConnection*::disconnected
    - TorControlConnection*::connected
    linkageType: ''
    returnType: void
    signature: void TorControlConnection::eventcb(struct bufferevent *bev, short what,
      void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TorControlConnection::Disconnect
      Src: /src/bitcoin-core/src/torcontrol.cpp:153,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/torcontrol.cpp:156,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/torcontrol.cpp:157,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:158,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/torcontrol.cpp:164,1
    - Dst: reinterpret_cast<struct sockaddr*>
      Src: /src/bitcoin-core/src/torcontrol.cpp:164,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:165,1
    - Dst: bufferevent_socket_new
      Src: /src/bitcoin-core/src/torcontrol.cpp:170,1
    - Dst: bufferevent_setcb
      Src: /src/bitcoin-core/src/torcontrol.cpp:174,1
    - Dst: bufferevent_enable
      Src: /src/bitcoin-core/src/torcontrol.cpp:175,1
    - Dst: bufferevent_socket_connect
      Src: /src/bitcoin-core/src/torcontrol.cpp:180,1
    - Dst: reinterpret_cast<struct sockaddr*>
      Src: /src/bitcoin-core/src/torcontrol.cpp:180,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ' tor_control_center'
    - ' _connected'
    - ' _disconnected'
    argTypes:
    - std::string
    - ConnectionCB
    - ConnectionCB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 185
    functionName: TorControlConnection::Connect
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - bufferevent_setcb
    - reinterpret_cast<struct sockaddr*>
    - std::optional::has_value
    - bufferevent_socket_connect
    - bufferevent_socket_new
    - bufferevent_enable
    - LogPrintf
    - std::optional::value
    - TorControlConnection::Disconnect
    - Lookup
    linkageType: ''
    returnType: bool
    signature: bool TorControlConnection::Connect(const std::string& tor_control_center,
      const ConnectionCB& _connected, const ConnectionCB& _disconnected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_free
      Src: /src/bitcoin-core/src/torcontrol.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: TorControlConnection::Disconnect
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 1
    functionsReached:
    - bufferevent_free
    linkageType: ''
    returnType: void
    signature: void TorControlConnection::Disconnect()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/bitcoin-core/src/torcontrol.cpp:198,1
    - Dst: evbuffer_add
      Src: /src/bitcoin-core/src/torcontrol.cpp:201,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/torcontrol.cpp:201,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:201,1
    - Dst: evbuffer_add
      Src: /src/bitcoin-core/src/torcontrol.cpp:202,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cmd
    - ' reply_handler'
    argTypes:
    - std::string
    - ReplyHandlerCB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: TorControlConnection::Command
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - push_back
    - evbuffer_add
    - bufferevent_get_output
    linkageType: ''
    returnType: bool
    signature: bool TorControlConnection::Command(const std::string &cmd, const ReplyHandlerCB&
      reply_handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:218,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:219,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:222,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/torcontrol.cpp:224,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/torcontrol.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: SplitTorReplyLine
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - make_pair
    - std::string::push_back
    - std::string::substr
    linkageType: ''
    returnType: std::pair<std::string,std::string>
    signature: std::pair<std::string,std::string> SplitTorReplyLine(const std::string
      &s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:237,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:239,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:240,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:243,1
    - Dst: std::map<std::string,std::string>
      Src: /src/bitcoin-core/src/torcontrol.cpp:244,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:248,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:251,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:254,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:257,1
    - Dst: std::map<std::string,std::string>
      Src: /src/bitcoin-core/src/torcontrol.cpp:258,1
    - Dst: size
      Src: /src/bitcoin-core/src/torcontrol.cpp:271,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:279,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:281,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:283,1
    - Dst: size
      Src: /src/bitcoin-core/src/torcontrol.cpp:289,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:302,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:306,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:309,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:314,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/torcontrol.cpp:315,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:319,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 64
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 324
    functionName: ParseTorReplyMapping
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - push_back
    - size
    - std::map<std::string,std::string>
    - std::string::push_back
    linkageType: ''
    returnType: std::map<std::string,std::string>
    signature: std::map<std::string,std::string> ParseTorReplyMapping(const std::string
      &s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: event_new
      Src: /src/bitcoin-core/src/torcontrol.cpp:331,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:333,1
    - Dst: Connect
      Src: /src/bitcoin-core/src/torcontrol.cpp:335,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:335,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:336,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:337,1
    - Dst: ReadBinaryFile
      Src: /src/bitcoin-core/src/torcontrol.cpp:340,1
    - Dst: TorController::GetPrivateKeyFile
      Src: /src/bitcoin-core/src/torcontrol.cpp:340,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:342,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/torcontrol.cpp:342,1
    - Dst: TorController::GetPrivateKeyFile
      Src: /src/bitcoin-core/src/torcontrol.cpp:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - _base
    - ' tor_control_center'
    - ' target'
    argTypes:
    - struct event_base*
    - std::string
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: TorController::TorController
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - std::bind
    - Connect
    - TorController::GetPrivateKeyFile
    - LogDebug
    - ReadBinaryFile
    - LogPrintf
    - event_new
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void TorController::TorController(struct event_base* _base, const std::string&
      tor_control_center, const CService& target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_free
      Src: /src/bitcoin-core/src/torcontrol.cpp:350,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/torcontrol.cpp:353,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/torcontrol.cpp:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: TorController::~TorController()
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - RemoveLocal
    - event_free
    - IsValid
    linkageType: ''
    returnType: void
    signature: void TorController::~TorController()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/bitcoin-core/src/torcontrol.cpp:364,1
    - Dst: substr
      Src: /src/bitcoin-core/src/torcontrol.cpp:365,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/torcontrol.cpp:366,1
    - Dst: empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:369,1
    - Dst: size
      Src: /src/bitcoin-core/src/torcontrol.cpp:370,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/torcontrol.cpp:370,1
    - Dst: substr
      Src: /src/bitcoin-core/src/torcontrol.cpp:371,1
    - Dst: size
      Src: /src/bitcoin-core/src/torcontrol.cpp:371,1
    - Dst: empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:372,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/torcontrol.cpp:375,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:382,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:383,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:385,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:388,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:390,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/torcontrol.cpp:393,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/torcontrol.cpp:394,1
    - Dst: CService::IsValid
      Src: /src/bitcoin-core/src/torcontrol.cpp:394,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:395,1
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/torcontrol.cpp:396,1
    - Dst: CService::IsValid
      Src: /src/bitcoin-core/src/torcontrol.cpp:398,1
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/torcontrol.cpp:400,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/torcontrol.cpp:403,1
    - Dst: CService::IsValid
      Src: /src/bitcoin-core/src/torcontrol.cpp:403,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:404,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/torcontrol.cpp:404,1
    - Dst: Proxy
      Src: /src/bitcoin-core/src/torcontrol.cpp:409,1
    - Dst: SetProxy
      Src: /src/bitcoin-core/src/torcontrol.cpp:410,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/torcontrol.cpp:412,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:415,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/torcontrol.cpp:416,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/torcontrol.cpp:416,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/torcontrol.cpp:416,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/torcontrol.cpp:417,1
    - Dst: Add
      Src: /src/bitcoin-core/src/torcontrol.cpp:425,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - ' _conn'
    - ' reply'
    argTypes:
    - TorControlConnection
    - TorControlReply
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 427
    functionName: TorController::get_socks_cb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - substr
    - SetProxy
    - GetArgs
    - std::string::empty
    - SplitString
    - auto::begin
    - CService::CService
    - starts_with
    - rbegin
    - ParseNetwork
    - empty
    - Assume
    - Proxy
    - LogDebug
    - auto::empty
    - LookupNumeric
    - CService::IsValid
    - size
    - std::any_of
    - LogPrintf
    - CService::ToStringAddrPort
    - auto::end
    - Add
    linkageType: ''
    returnType: void
    signature: void TorController::get_socks_cb(TorControlConnection& _conn, const
      TorControlReply& reply)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:432,1
    - Dst: ParseTorReplyMapping
      Src: /src/bitcoin-core/src/torcontrol.cpp:434,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/torcontrol.cpp:436,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/torcontrol.cpp:436,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/torcontrol.cpp:438,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/torcontrol.cpp:438,1
    - Dst: empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:441,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:442,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:444,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/torcontrol.cpp:444,1
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/torcontrol.cpp:448,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/torcontrol.cpp:448,1
    - Dst: Params
      Src: /src/bitcoin-core/src/torcontrol.cpp:448,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/torcontrol.cpp:449,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/torcontrol.cpp:449,1
    - Dst: WriteBinaryFile
      Src: /src/bitcoin-core/src/torcontrol.cpp:450,1
    - Dst: TorController::GetPrivateKeyFile
      Src: /src/bitcoin-core/src/torcontrol.cpp:450,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:451,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/torcontrol.cpp:451,1
    - Dst: TorController::GetPrivateKeyFile
      Src: /src/bitcoin-core/src/torcontrol.cpp:451,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:453,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/torcontrol.cpp:453,1
    - Dst: TorController::GetPrivateKeyFile
      Src: /src/bitcoin-core/src/torcontrol.cpp:453,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/torcontrol.cpp:455,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:458,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - ' _conn'
    - ' reply'
    argTypes:
    - TorControlConnection
    - TorControlReply
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 429
    functionDepth: 5
    functionLinenumber: 429
    functionLinenumberEnd: 462
    functionName: TorController::add_onion_cb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - LookupNumeric
    - WriteBinaryFile
    - ToStringAddrPort
    - empty
    - SanitizeString
    - TorController::GetPrivateKeyFile
    - LogDebug
    - AddLocal
    - std::string
    - LogInfo
    - ParseTorReplyMapping
    - LogPrintf
    - Params
    - std::map::find
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void TorController::add_onion_cb(TorControlConnection& _conn, const
      TorControlReply& reply)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:467,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/torcontrol.cpp:471,1
    - Dst: Command
      Src: /src/bitcoin-core/src/torcontrol.cpp:472,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:472,1
    - Dst: empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:476,1
    - Dst: Command
      Src: /src/bitcoin-core/src/torcontrol.cpp:481,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:481,1
    - Dst: Params
      Src: /src/bitcoin-core/src/torcontrol.cpp:481,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/torcontrol.cpp:481,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:482,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' _conn'
    - ' reply'
    argTypes:
    - TorControlConnection
    - TorControlReply
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 486
    functionName: TorController::auth_cb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - std::bind
    - Command
    - ToStringAddrPort
    - empty
    - GetArg
    - LogDebug
    - LogPrintf
    - Params
    - strprintf
    linkageType: ''
    returnType: void
    signature: void TorController::auth_cb(TorControlConnection& _conn, const TorControlReply&
      reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/torcontrol.cpp:506,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:506,1
    - Dst: CHMAC_SHA256::Write
      Src: /src/bitcoin-core/src/torcontrol.cpp:508,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/bitcoin-core/src/torcontrol.cpp:508,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:508,1
    - Dst: CHMAC_SHA256::Write
      Src: /src/bitcoin-core/src/torcontrol.cpp:509,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/bitcoin-core/src/torcontrol.cpp:509,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:509,1
    - Dst: CHMAC_SHA256::Write
      Src: /src/bitcoin-core/src/torcontrol.cpp:510,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/bitcoin-core/src/torcontrol.cpp:510,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:510,1
    - Dst: CHMAC_SHA256::Finalize
      Src: /src/bitcoin-core/src/torcontrol.cpp:511,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/torcontrol.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - key
    - cookie
    - clientNonce
    - serverNonce
    argTypes:
    - std::string
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 513
    functionName: ComputeResponse
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - CHMAC_SHA256::Write
    - std::vector::data
    - CHMAC_SHA256::Finalize
    - std::vector<uint8_t>::size
    - std::vector<uint8_t>::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ComputeResponse(const std::string &key, const
      std::vector<uint8_t> &cookie,  const std::vector<uint8_t> &clientNonce, const
      std::vector<uint8_t> &serverNonce)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:518,1
    - Dst: SplitTorReplyLine
      Src: /src/bitcoin-core/src/torcontrol.cpp:519,1
    - Dst: ParseTorReplyMapping
      Src: /src/bitcoin-core/src/torcontrol.cpp:521,1
    - Dst: std::map::empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:522,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:523,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/torcontrol.cpp:523,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/torcontrol.cpp:526,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/torcontrol.cpp:527,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:528,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/torcontrol.cpp:528,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/torcontrol.cpp:528,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:529,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:530,1
    - Dst: ComputeResponse
      Src: /src/bitcoin-core/src/torcontrol.cpp:534,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:536,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/torcontrol.cpp:536,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/torcontrol.cpp:536,1
    - Dst: ComputeResponse
      Src: /src/bitcoin-core/src/torcontrol.cpp:540,1
    - Dst: Command
      Src: /src/bitcoin-core/src/torcontrol.cpp:541,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/torcontrol.cpp:541,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:541,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:543,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - ' _conn'
    - ' reply'
    argTypes:
    - TorControlConnection
    - TorControlReply
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 548
    functionName: TorController::authchallenge_cb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - Command
    - SplitTorReplyLine
    - std::bind
    - std::map::empty
    - ComputeResponse
    - LogDebug
    - LogPrintf
    - ParseTorReplyMapping
    - SanitizeString
    - HexStr
    - ParseHex
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TorController::authchallenge_cb(TorControlConnection& _conn, const
      TorControlReply& reply)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SplitTorReplyLine
      Src: /src/bitcoin-core/src/torcontrol.cpp:561,1
    - Dst: ParseTorReplyMapping
      Src: /src/bitcoin-core/src/torcontrol.cpp:563,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/torcontrol.cpp:565,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/torcontrol.cpp:565,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/torcontrol.cpp:566,1
    - Dst: std::set<std::string>
      Src: /src/bitcoin-core/src/torcontrol.cpp:567,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/torcontrol.cpp:567,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/torcontrol.cpp:567,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/torcontrol.cpp:569,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/torcontrol.cpp:569,1
    - Dst: ParseTorReplyMapping
      Src: /src/bitcoin-core/src/torcontrol.cpp:572,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/torcontrol.cpp:574,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/torcontrol.cpp:574,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:575,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:580,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/torcontrol.cpp:587,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/torcontrol.cpp:588,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/torcontrol.cpp:589,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:590,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/torcontrol.cpp:591,1
    - Dst: Command
      Src: /src/bitcoin-core/src/torcontrol.cpp:592,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:592,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:594,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/torcontrol.cpp:596,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:597,1
    - Dst: Command
      Src: /src/bitcoin-core/src/torcontrol.cpp:598,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:598,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/torcontrol.cpp:599,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:601,1
    - Dst: ReadBinaryFile
      Src: /src/bitcoin-core/src/torcontrol.cpp:602,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/torcontrol.cpp:602,1
    - Dst: std::pair::second::size
      Src: /src/bitcoin-core/src/torcontrol.cpp:603,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/torcontrol.cpp:605,1
    - Dst: std::pair::second::begin
      Src: /src/bitcoin-core/src/torcontrol.cpp:605,1
    - Dst: std::pair::second::end
      Src: /src/bitcoin-core/src/torcontrol.cpp:605,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/torcontrol.cpp:606,1
    - Dst: GetRandBytes
      Src: /src/bitcoin-core/src/torcontrol.cpp:607,1
    - Dst: Command
      Src: /src/bitcoin-core/src/torcontrol.cpp:608,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/torcontrol.cpp:608,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:608,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:611,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:613,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/torcontrol.cpp:616,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:617,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:619,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:622,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - ' _conn'
    - ' reply'
    argTypes:
    - TorControlConnection
    - TorControlReply
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 624
    functionName: TorController::protocolinfo_cb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - GetArg
    - std::string::empty
    - ParseTorReplyMapping
    - SplitString
    - std::map::find
    - std::vector::end
    - std::bind
    - std::set<std::string>
    - ReadBinaryFile
    - std::pair::second::begin
    - Command
    - SplitTorReplyLine
    - GetRandBytes
    - LogDebug
    - std::vector<uint8_t>
    - std::pair::second::size
    - std::set::count
    - ReplaceAll
    - std::map::end
    - fs::PathFromString
    - std::vector::begin
    - LogPrintf
    - HexStr
    - std::pair::second::end
    linkageType: ''
    returnType: void
    signature: void TorController::protocolinfo_cb(TorControlConnection& _conn, const
      TorControlReply& reply)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Command
      Src: /src/bitcoin-core/src/torcontrol.cpp:630,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:630,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' _conn'
    argTypes:
    - TorControlConnection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: TorController::connected_cb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - Command
    - std::bind
    linkageType: ''
    returnType: void
    signature: void TorController::connected_cb(TorControlConnection& _conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsValid
      Src: /src/bitcoin-core/src/torcontrol.cpp:637,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/torcontrol.cpp:638,1
    - Dst: CService
      Src: /src/bitcoin-core/src/torcontrol.cpp:639,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/torcontrol.cpp:643,1
    - Dst: MillisToTimeval
      Src: /src/bitcoin-core/src/torcontrol.cpp:647,1
    - Dst: event_add
      Src: /src/bitcoin-core/src/torcontrol.cpp:649,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/torcontrol.cpp:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' _conn'
    argTypes:
    - TorControlConnection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 652
    functionName: TorController::disconnected_cb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - MillisToTimeval
    - LogDebug
    - RemoveLocal
    - IsValid
    - event_add
    - std::min
    - CService
    linkageType: ''
    returnType: void
    signature: void TorController::disconnected_cb(TorControlConnection& _conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Connect
      Src: /src/bitcoin-core/src/torcontrol.cpp:659,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:659,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/torcontrol.cpp:660,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 663
    functionName: TorController::Reconnect
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - Connect
    - std::bind
    linkageType: ''
    returnType: void
    signature: void TorController::Reconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/torcontrol.cpp:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 668
    functionName: TorController::GetPrivateKeyFile
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 2
    functionsReached:
    - GetDataDirNet
    linkageType: ''
    returnType: fs::path
    signature: fs::path TorController::GetPrivateKeyFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TorController*>
      Src: /src/bitcoin-core/src/torcontrol.cpp:672,1
    - Dst: TorController*::Reconnect
      Src: /src/bitcoin-core/src/torcontrol.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: TorController::reconnect_cb
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - TorController*::Reconnect
    - static_cast<TorController*>
    linkageType: ''
    returnType: void
    signature: void TorController::reconnect_cb(evutil_socket_t fd, short what, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/torcontrol.cpp:682,1
    - Dst: event_base_dispatch
      Src: /src/bitcoin-core/src/torcontrol.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - onion_service_target
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: TorControlThread
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - GetArg
    - event_base_dispatch
    linkageType: ''
    returnType: void
    signature: void TorControlThread(CService onion_service_target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/torcontrol.cpp:689,1
    - Dst: evthread_use_windows_threads
      Src: /src/bitcoin-core/src/torcontrol.cpp:691,1
    - Dst: evthread_use_pthreads
      Src: /src/bitcoin-core/src/torcontrol.cpp:693,1
    - Dst: event_base_new
      Src: /src/bitcoin-core/src/torcontrol.cpp:695,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:697,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/torcontrol.cpp:701,1
    - Dst: TorControlThread
      Src: /src/bitcoin-core/src/torcontrol.cpp:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - onion_service_target
    argTypes:
    - CService
    assertStmts:
    - condition: (!gBase)
      pos:
        line_end: 688
        line_start: 688
        source_file: /src/bitcoin-core/src/torcontrol.cpp
    constantsTouched: []
    func_position:
      end: 704
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 704
    functionName: StartTorControl
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 1
    functionsReached:
    - evthread_use_windows_threads
    - evthread_use_pthreads
    - event_base_new
    - LogPrintf
    - TorControlThread
    - assert
    - std::thread
    linkageType: ''
    returnType: void
    signature: void StartTorControl(CService onion_service_target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/torcontrol.cpp:709,1
    - Dst: event_base_once
      Src: /src/bitcoin-core/src/torcontrol.cpp:710,1
    - Dst: event_base_loopbreak
      Src: /src/bitcoin-core/src/torcontrol.cpp:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: InterruptTorControl
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 1
    functionsReached:
    - LogPrintf
    - event_base_once
    - event_base_loopbreak
    linkageType: ''
    returnType: void
    signature: void InterruptTorControl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/bitcoin-core/src/torcontrol.cpp:719,1
    - Dst: event_base_free
      Src: /src/bitcoin-core/src/torcontrol.cpp:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: StopTorControl
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 1
    functionsReached:
    - join
    - event_base_free
    linkageType: ''
    returnType: void
    signature: void StopTorControl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/bitcoin-core/src/torcontrol.cpp:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: DefaultOnionServiceTarget
    functionSourceFile: /src/bitcoin-core/src/torcontrol.cpp
    functionUses: 1
    functionsReached:
    - htonl
    linkageType: ''
    returnType: CService
    signature: CService DefaultOnionServiceTarget(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/addrman_impl.h:74,1
    - Dst: AsBase
      Src: /src/bitcoin-core/src/addrman_impl.h:74,1
    - Dst: Using
      Src: /src/bitcoin-core/src/addrman_impl.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: AddrInfo::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/addrman_impl.h
    functionUses: 0
    functionsReached:
    - AsBase
    - READWRITE
    - Using
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(AddrInfo, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - addrIn
    - addrSource
    argTypes:
    - CAddress
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: AddrInfo::AddrInfo
    functionSourceFile: /src/bitcoin-core/src/addrman_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddrInfo(const CAddress &addrIn, const CNetAddr &addrSource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: AddrInfo::AddrInfo
    functionSourceFile: /src/bitcoin-core/src/addrman_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddrInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/addrman_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' nKey'
    - ' netgroupman'
    argTypes:
    - uint256
    - NetGroupManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: AddrInfo::GetNewBucket
    functionSourceFile: /src/bitcoin-core/src/addrman_impl.h
    functionUses: 2
    functionsReached:
    - AddrInfo::GetNewBucket
    linkageType: ''
    returnType: int
    signature: int GetNewBucket(const uint256& nKey, const NetGroupManager& netgroupman)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CompressScript
      Src: /src/bitcoin-core/src/compressor.h:67,1
    - Dst: size
      Src: /src/bitcoin-core/src/compressor.h:71,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/compressor.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - ' script'
    argTypes:
    - Stream
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/compressor.h
    functionUses: 1
    functionsReached:
    - VARINT
    - size
    - CompressScript
    linkageType: ''
    returnType: void
    signature: void Ser(Stream &s, const CScript& script)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VARINT
      Src: /src/bitcoin-core/src/compressor.h:79,1
    - Dst: GetSpecialScriptSize
      Src: /src/bitcoin-core/src/compressor.h:81,1
    - Dst: DecompressScript
      Src: /src/bitcoin-core/src/compressor.h:83,1
    - Dst: Stream::ignore
      Src: /src/bitcoin-core/src/compressor.h:90,1
    - Dst: resize
      Src: /src/bitcoin-core/src/compressor.h:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - s
    - ' script'
    argTypes:
    - Stream
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/compressor.h
    functionUses: 1
    functionsReached:
    - VARINT
    - GetSpecialScriptSize
    - Stream::ignore
    - DecompressScript
    - resize
    linkageType: ''
    returnType: void
    signature: void Unser(Stream &s, CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARINT
      Src: /src/bitcoin-core/src/compressor.h:102,1
    - Dst: CompressAmount
      Src: /src/bitcoin-core/src/compressor.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - val
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/compressor.h
    functionUses: 1
    functionsReached:
    - VARINT
    - CompressAmount
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, I val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARINT
      Src: /src/bitcoin-core/src/compressor.h:107,1
    - Dst: DecompressAmount
      Src: /src/bitcoin-core/src/compressor.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s'
    - ' val'
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/compressor.h
    functionUses: 1
    functionsReached:
    - VARINT
    - DecompressAmount
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, I& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/compressor.h:115,1
    - Dst: Using
      Src: /src/bitcoin-core/src/compressor.h:115,1
    - Dst: Using
      Src: /src/bitcoin-core/src/compressor.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: FORMATTER_METHODS
    functionSourceFile: /src/bitcoin-core/src/compressor.h
    functionUses: 0
    functionsReached:
    - READWRITE
    - Using
    linkageType: ''
    returnType: void
    signature: void FORMATTER_METHODS(CTxOut, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: CMessageHeader::CMessageHeader
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMessageHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/protocol.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: CMessageHeader::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CMessageHeader, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/protocol.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: SeedsServiceFlags
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 2
    functionsReached:
    - ServiceFlags
    linkageType: ''
    returnType: ServiceFlags
    signature: ServiceFlags SeedsServiceFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - services
    argTypes:
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: MayHaveUsefulAddressDB
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MayHaveUsefulAddressDB(ServiceFlags services)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: CAddress
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ipIn
    - nServicesIn
    argTypes:
    - CService
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: CAddress
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CAddress(CService ipIn, ServiceFlags nServicesIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ipIn
    - nServicesIn
    - time
    argTypes:
    - CService
    - ServiceFlags
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: CAddress
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CAddress(CService ipIn, ServiceFlags nServicesIn, NodeSeconds
      time)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SER_PARAMS
      Src: /src/bitcoin-core/src/protocol.h:416,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/protocol.h:423,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/protocol.h:431,1
    - Dst: assert
      Src: /src/bitcoin-core/src/protocol.h:434,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/protocol.h:441,1
    - Dst: Using
      Src: /src/bitcoin-core/src/protocol.h:441,1
    - Dst: SER_WRITE
      Src: /src/bitcoin-core/src/protocol.h:445,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/protocol.h:446,1
    - Dst: Using
      Src: /src/bitcoin-core/src/protocol.h:446,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/protocol.h:447,1
    - Dst: static_cast<ServiceFlags>
      Src: /src/bitcoin-core/src/protocol.h:447,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/protocol.h:449,1
    - Dst: Using
      Src: /src/bitcoin-core/src/protocol.h:449,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/protocol.h:453,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/protocol.h:453,1
    - Dst: AsBase
      Src: /src/bitcoin-core/src/protocol.h:453,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (params.fmt == Format::Network)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/bitcoin-core/src/protocol.h
    constantsTouched: []
    func_position:
      end: 454
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 454
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached:
    - SER_PARAMS
    - READWRITE
    - SER_READ
    - std::ios_base::failure
    - SER_WRITE
    - AsBase
    - Using
    - static_cast<ServiceFlags>
    - ser_params
    - assert
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CAddress, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const CService&>
      Src: /src/bitcoin-core/src/protocol.h:465,1
    - Dst: static_cast<const CService&>
      Src: /src/bitcoin-core/src/protocol.h:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CAddress
    - CAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: operator==(const CAddress& a, const CAddress& b)
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached:
    - static_cast<const CService&>
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CAddress& a, const CAddress& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/protocol.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: CInv::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CInv, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: CInv::IsMsgTx
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMsgTx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: CInv::IsMsgBlk
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMsgBlk() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: CInv::IsMsgWtx
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMsgWtx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: CInv::IsMsgFilteredBlk
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMsgFilteredBlk() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: CInv::IsMsgCmpctBlk
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMsgCmpctBlk() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: CInv::IsMsgWitnessBlk
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMsgWitnessBlk() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: CInv::IsGenTxMsg
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsGenTxMsg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: CInv::IsGenBlkMsg
    functionSourceFile: /src/bitcoin-core/src/protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsGenBlkMsg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/deploymentstatus.h:16,1
    - Dst: Consensus::ValidDeployment
      Src: /src/bitcoin-core/src/deploymentstatus.h:16,1
    - Dst: DeploymentHeight
      Src: /src/bitcoin-core/src/deploymentstatus.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pindexPrev
    - ' params'
    - dep
    - ' versionbitscache'
    argTypes:
    - CBlockIndex*
    - Consensus::Params
    - Consensus::BuriedDeployment
    - VersionBitsCache
    assertStmts:
    - condition: (Consensus::ValidDeployment(dep))
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/bitcoin-core/src/deploymentstatus.h
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: DeploymentActiveAfter
    functionSourceFile: /src/bitcoin-core/src/deploymentstatus.h
    functionUses: 6
    functionsReached:
    - Consensus::ValidDeployment
    - assert
    - DeploymentHeight
    linkageType: ''
    returnType: bool
    signature: bool DeploymentActiveAfter(const CBlockIndex* pindexPrev, const Consensus::Params&
      params, Consensus::BuriedDeployment dep, [[maybe_unused]] VersionBitsCache&
      versionbitscache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/deploymentstatus.h:22,1
    - Dst: Consensus::ValidDeployment
      Src: /src/bitcoin-core/src/deploymentstatus.h:22,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/deploymentstatus.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pindexPrev
    - ' params'
    - dep
    - ' versionbitscache'
    argTypes:
    - CBlockIndex*
    - Consensus::Params
    - Consensus::DeploymentPos
    - VersionBitsCache
    assertStmts:
    - condition: (Consensus::ValidDeployment(dep))
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/bitcoin-core/src/deploymentstatus.h
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: DeploymentActiveAfter
    functionSourceFile: /src/bitcoin-core/src/deploymentstatus.h
    functionUses: 6
    functionsReached:
    - Consensus::ValidDeployment
    - assert
    - IsActiveAfter
    linkageType: ''
    returnType: bool
    signature: bool DeploymentActiveAfter(const CBlockIndex* pindexPrev, const Consensus::Params&
      params, Consensus::DeploymentPos dep, VersionBitsCache& versionbitscache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/deploymentstatus.h:29,1
    - Dst: Consensus::ValidDeployment
      Src: /src/bitcoin-core/src/deploymentstatus.h:29,1
    - Dst: DeploymentHeight
      Src: /src/bitcoin-core/src/deploymentstatus.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' index'
    - ' params'
    - dep
    - ' versionbitscache'
    argTypes:
    - CBlockIndex
    - Consensus::Params
    - Consensus::BuriedDeployment
    - VersionBitsCache
    assertStmts:
    - condition: (Consensus::ValidDeployment(dep))
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/deploymentstatus.h
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: DeploymentActiveAt
    functionSourceFile: /src/bitcoin-core/src/deploymentstatus.h
    functionUses: 10
    functionsReached:
    - Consensus::ValidDeployment
    - assert
    - DeploymentHeight
    linkageType: ''
    returnType: bool
    signature: bool DeploymentActiveAt(const CBlockIndex& index, const Consensus::Params&
      params, Consensus::BuriedDeployment dep, [[maybe_unused]] VersionBitsCache&
      versionbitscache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/deploymentstatus.h:35,1
    - Dst: Consensus::ValidDeployment
      Src: /src/bitcoin-core/src/deploymentstatus.h:35,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/deploymentstatus.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' index'
    - ' params'
    - dep
    - ' versionbitscache'
    argTypes:
    - CBlockIndex
    - Consensus::Params
    - Consensus::DeploymentPos
    - VersionBitsCache
    assertStmts:
    - condition: (Consensus::ValidDeployment(dep))
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/deploymentstatus.h
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: DeploymentActiveAt
    functionSourceFile: /src/bitcoin-core/src/deploymentstatus.h
    functionUses: 10
    functionsReached:
    - Consensus::ValidDeployment
    - assert
    - DeploymentActiveAfter
    linkageType: ''
    returnType: bool
    signature: bool DeploymentActiveAt(const CBlockIndex& index, const Consensus::Params&
      params, Consensus::DeploymentPos dep, VersionBitsCache& versionbitscache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/deploymentstatus.h:42,1
    - Dst: Consensus::ValidDeployment
      Src: /src/bitcoin-core/src/deploymentstatus.h:42,1
    - Dst: DeploymentHeight
      Src: /src/bitcoin-core/src/deploymentstatus.h:43,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/deploymentstatus.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' params'
    - dep
    argTypes:
    - Consensus::Params
    - Consensus::BuriedDeployment
    assertStmts:
    - condition: (Consensus::ValidDeployment(dep))
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/deploymentstatus.h
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: DeploymentEnabled
    functionSourceFile: /src/bitcoin-core/src/deploymentstatus.h
    functionUses: 1
    functionsReached:
    - Consensus::ValidDeployment
    - assert
    - RandomMixin::max
    - DeploymentHeight
    linkageType: ''
    returnType: bool
    signature: bool DeploymentEnabled(const Consensus::Params& params, Consensus::BuriedDeployment
      dep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/deploymentstatus.h:48,1
    - Dst: Consensus::ValidDeployment
      Src: /src/bitcoin-core/src/deploymentstatus.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' params'
    - dep
    argTypes:
    - Consensus::Params
    - Consensus::DeploymentPos
    assertStmts:
    - condition: (Consensus::ValidDeployment(dep))
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/deploymentstatus.h
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: DeploymentEnabled
    functionSourceFile: /src/bitcoin-core/src/deploymentstatus.h
    functionUses: 1
    functionsReached:
    - Consensus::ValidDeployment
    - assert
    linkageType: ''
    returnType: bool
    signature: bool DeploymentEnabled(const Consensus::Params& params, Consensus::DeploymentPos
      dep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/blockencodings.h:30,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/blockencodings.h:30,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/blockencodings.h:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - v
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: DifferenceFormatter::Ser
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 0
    functionsReached:
    - WriteCompactSize
    - RandomMixin::max
    - std::ios_base::failure
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, I v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/blockencodings.h:37,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/blockencodings.h:39,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/blockencodings.h:39,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/blockencodings.h:39,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/blockencodings.h:39,1
    - Dst: I
      Src: /src/bitcoin-core/src/blockencodings.h:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: DifferenceFormatter::Unser
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 0
    functionsReached:
    - RandomMixin::min
    - I
    - std::ios_base::failure
    - ReadCompactSize
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, I& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/blockencodings.h:52,1
    - Dst: Using
      Src: /src/bitcoin-core/src/blockencodings.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: BlockTransactionsRequest::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 0
    functionsReached:
    - READWRITE
    - Using
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(BlockTransactionsRequest, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: BlockTransactions::BlockTransactions
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockTransactions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexes::size
      Src: /src/bitcoin-core/src/blockencodings.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' req'
    argTypes:
    - BlockTransactionsRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: BlockTransactions::BlockTransactions
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 1
    functionsReached:
    - indexes::size
    linkageType: ''
    returnType: void
    signature: void BlockTransactions(const BlockTransactionsRequest& req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/blockencodings.h:68,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/blockencodings.h:68,1
    - Dst: Using
      Src: /src/bitcoin-core/src/blockencodings.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: BlockTransactions::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 0
    functionsReached:
    - TX_WITH_WITNESS
    - READWRITE
    - Using
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(BlockTransactions, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/blockencodings.h:79,1
    - Dst: COMPACTSIZE
      Src: /src/bitcoin-core/src/blockencodings.h:79,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/blockencodings.h:79,1
    - Dst: Using
      Src: /src/bitcoin-core/src/blockencodings.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 0
    functionsReached:
    - COMPACTSIZE
    - TX_WITH_WITNESS
    - READWRITE
    - Using
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(PrefilledTransaction, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBlockHeaderAndShortTxIDs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.h:119,1
    - Dst: size
      Src: /src/bitcoin-core/src/blockencodings.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: CBlockHeaderAndShortTxIDs::BlockTxCount
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t BlockTxCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/blockencodings.h:123,1
    - Dst: Using
      Src: /src/bitcoin-core/src/blockencodings.h:123,1
    - Dst: ForRead
      Src: /src/bitcoin-core/src/blockencodings.h:124,1
    - Dst: CBlockHeaderAndShortTxIDs::BlockTxCount
      Src: /src/bitcoin-core/src/blockencodings.h:125,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/blockencodings.h:125,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/blockencodings.h:126,1
    - Dst: CBlockHeaderAndShortTxIDs::FillShortTxIDSelector
      Src: /src/bitcoin-core/src/blockencodings.h:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: CBlockHeaderAndShortTxIDs::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 0
    functionsReached:
    - READWRITE
    - CBlockHeaderAndShortTxIDs::BlockTxCount
    - std::ios_base::failure
    - ForRead
    - Using
    - RandomMixin::max
    - CBlockHeaderAndShortTxIDs::FillShortTxIDSelector
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CBlockHeaderAndShortTxIDs, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - poolIn
    argTypes:
    - CTxMemPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: PartiallyDownloadedBlock::PartiallyDownloadedBlock
    functionSourceFile: /src/bitcoin-core/src/blockencodings.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PartiallyDownloadedBlock(CTxMemPool* poolIn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/pow.cpp:16,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/pow.cpp:17,1
    - Dst: DifficultyAdjustmentInterval
      Src: /src/bitcoin-core/src/pow.cpp:20,1
    - Dst: CBlockHeader*::GetBlockTime
      Src: /src/bitcoin-core/src/pow.cpp:27,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/pow.cpp:27,1
    - Dst: DifficultyAdjustmentInterval
      Src: /src/bitcoin-core/src/pow.cpp:33,1
    - Dst: DifficultyAdjustmentInterval
      Src: /src/bitcoin-core/src/pow.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/pow.cpp:43,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/pow.cpp:44,1
    - Dst: assert
      Src: /src/bitcoin-core/src/pow.cpp:45,1
    - Dst: CalculateNextWorkRequired
      Src: /src/bitcoin-core/src/pow.cpp:47,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/pow.cpp:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pindexLast
    - pblock
    - ' params'
    argTypes:
    - CBlockIndex*
    - CBlockHeader*
    - Consensus::Params
    assertStmts:
    - condition: (pindexLast != nullptr)
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/bitcoin-core/src/pow.cpp
    - condition: (nHeightFirst >= 0)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/pow.cpp
    - condition: (pindexFirst)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/pow.cpp
    constantsTouched: []
    func_position:
      end: 48
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 48
    functionName: GetNextWorkRequired
    functionSourceFile: /src/bitcoin-core/src/pow.cpp
    functionUses: 1
    functionsReached:
    - DifficultyAdjustmentInterval
    - CalculateNextWorkRequired
    - CBlockHeader*::GetBlockTime
    - CBlockIndex*::GetBlockTime
    - UintToArith256
    - CBlockIndex*::GetAncestor
    - assert
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const
      CBlockHeader *pblock, const Consensus::Params& params)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/pow.cpp:56,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/pow.cpp:63,1
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/pow.cpp:64,1
    - Dst: DifficultyAdjustmentInterval
      Src: /src/bitcoin-core/src/pow.cpp:71,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/pow.cpp:72,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/pow.cpp:73,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/pow.cpp:75,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/pow.cpp:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pindexLast
    - nFirstBlockTime
    - ' params'
    argTypes:
    - CBlockIndex*
    - int64_t
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 85
    functionName: CalculateNextWorkRequired
    functionSourceFile: /src/bitcoin-core/src/pow.cpp
    functionUses: 1
    functionsReached:
    - DifficultyAdjustmentInterval
    - arith_uint256::SetCompact
    - CBlockIndex*::GetBlockTime
    - UintToArith256
    - CBlockIndex*::GetAncestor
    - arith_uint256::arith_uint256
    - arith_uint256::GetCompact
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CalculateNextWorkRequired(const CBlockIndex* pindexLast,
      int64_t nFirstBlockTime, const Consensus::Params& params)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DifficultyAdjustmentInterval
      Src: /src/bitcoin-core/src/pow.cpp:93,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/pow.cpp:97,1
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/pow.cpp:98,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/pow.cpp:99,1
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/pow.cpp:102,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/pow.cpp:103,1
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/pow.cpp:113,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/pow.cpp:114,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/pow.cpp:114,1
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/pow.cpp:118,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/pow.cpp:119,1
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/pow.cpp:129,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/pow.cpp:130,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/pow.cpp:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - ' params'
    - height
    - old_nbits
    - new_nbits
    argTypes:
    - Consensus::Params
    - int64_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 136
    functionName: PermittedDifficultyTransition
    functionSourceFile: /src/bitcoin-core/src/pow.cpp
    functionUses: 2
    functionsReached:
    - DifficultyAdjustmentInterval
    - arith_uint256::SetCompact
    - UintToArith256
    - arith_uint256::arith_uint256
    - arith_uint256::GetCompact
    linkageType: ''
    returnType: bool
    signature: bool PermittedDifficultyTransition(const Consensus::Params& params,
      int64_t height, uint32_t old_nbits, uint32_t new_nbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnableFuzzDeterminism
      Src: /src/bitcoin-core/src/pow.cpp:142,1
    - Dst: uint256::data
      Src: /src/bitcoin-core/src/pow.cpp:142,1
    - Dst: CheckProofOfWorkImpl
      Src: /src/bitcoin-core/src/pow.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hash
    - nBits
    - ' params'
    argTypes:
    - uint256
    - unsigned int
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: CheckProofOfWork
    functionSourceFile: /src/bitcoin-core/src/pow.cpp
    functionUses: 2
    functionsReached:
    - EnableFuzzDeterminism
    - CheckProofOfWorkImpl
    - uint256::data
    linkageType: ''
    returnType: bool
    signature: bool CheckProofOfWork(uint256 hash, unsigned int nBits, const Consensus::Params&
      params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/pow.cpp:150,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/pow.cpp:152,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/pow.cpp:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - nBits
    - pow_limit
    argTypes:
    - unsigned int
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: DeriveTarget
    functionSourceFile: /src/bitcoin-core/src/pow.cpp
    functionUses: 0
    functionsReached:
    - arith_uint256::arith_uint256
    - arith_uint256::SetCompact
    - UintToArith256
    linkageType: ''
    returnType: std::optional<arith_uint256>
    signature: std::optional<arith_uint256> DeriveTarget(unsigned int nBits, const
      uint256 pow_limit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeriveTarget
      Src: /src/bitcoin-core/src/pow.cpp:163,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/pow.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hash
    - nBits
    - ' params'
    argTypes:
    - uint256
    - unsigned int
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: CheckProofOfWorkImpl
    functionSourceFile: /src/bitcoin-core/src/pow.cpp
    functionUses: 1
    functionsReached:
    - DeriveTarget
    - UintToArith256
    linkageType: ''
    returnType: bool
    signature: bool CheckProofOfWorkImpl(uint256 hash, unsigned int nBits, const Consensus::Params&
      params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupHelpOptions
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:33,1
    - Dst: SetupChainParamsBaseOptions
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:34,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:36,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:37,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:38,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:39,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:40,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:41,1
    - Dst: AddCommand
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:43,1
    - Dst: AddCommand
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:44,1
    - Dst: AddCommand
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:45,1
    - Dst: AddCommand
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: SetupWalletToolArgs
    functionSourceFile: /src/bitcoin-core/src/bitcoin-wallet.cpp
    functionUses: 0
    functionsReached:
    - SetupHelpOptions
    - AddCommand
    - AddArg
    - SetupChainParamsBaseOptions
    linkageType: ''
    returnType: void
    signature: void SetupWalletToolArgs(ArgsManager& argsman)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SetupWalletToolArgs
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:51,1
    - Dst: ParseParameters
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:53,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:54,1
    - Dst: HelpRequested
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:58,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:58,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:59,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:59,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:61,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:62,1
    - Dst: LicenseInfo
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:62,1
    - Dst: GetHelpMessage
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:71,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:73,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:75,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:82,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:82,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:82,1
    - Dst: CheckDataDirOption
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:84,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:85,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:85,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:89,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/bitcoin-wallet.cpp:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ' args'
    - argc
    - argv
    argTypes:
    - ArgsManager
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 92
    functionName: WalletAppInit
    functionSourceFile: /src/bitcoin-core/src/bitcoin-wallet.cpp
    functionUses: 0
    functionsReached:
    - HelpRequested
    - GetHelpMessage
    - strprintf
    - tinyformat::detail::FormatArg::format
    - ParseParameters
    - GetArg
    - FormatParagraph
    - SetupWalletToolArgs
    - FormatFullVersion
    - CheckDataDirOption
    - GetChainType
    - LicenseInfo
    - SelectParams
    - GetBoolArg
    - LogInstance
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> WalletAppInit(ArgsManager& args, int argc, char*
      argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogError
      Src: /src/bitcoin-core/src/random.cpp:56,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/random.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: RandFailure
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - LogError
    - std::abort
    linkageType: ''
    returnType: void
    signature: void RandFailure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/bitcoin-core/src/random.cpp:65,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/random.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: GetPerformanceCounter
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - __rdtsc
    - wallet::WalletRescanReserver::now
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetPerformanceCounter() noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCPUID
      Src: /src/bitcoin-core/src/random.cpp:95,1
    - Dst: GetCPUID
      Src: /src/bitcoin-core/src/random.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: InitHardwareRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - GetCPUID
    linkageType: ''
    returnType: void
    signature: void InitHardwareRand()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/random.cpp:110,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/random.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: ReportHardwareRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    linkageType: ''
    returnType: void
    signature: void ReportHardwareRand()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: GetRdRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetRdRand() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 186
    functionName: GetRdSeed
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetRdSeed() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: InitHardwareRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitHardwareRand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: ReportHardwareRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportHardwareRand()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetRdRand
      Src: /src/bitcoin-core/src/random.cpp:202,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: SeedHardwareFast
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - Write
    - GetRdRand
    linkageType: ''
    returnType: void
    signature: void SeedHardwareFast(CSHA512& hasher) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRdSeed
      Src: /src/bitcoin-core/src/random.cpp:216,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:217,1
    - Dst: GetRdRand
      Src: /src/bitcoin-core/src/random.cpp:226,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: SeedHardwareSlow
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - Write
    - GetRdRand
    - GetRdSeed
    linkageType: ''
    returnType: void
    signature: void SeedHardwareSlow(CSHA512& hasher) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/random.cpp:237,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/random.cpp:238,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/random.cpp:242,1
    - Dst: CSHA512::Finalize
      Src: /src/bitcoin-core/src/random.cpp:245,1
    - Dst: CSHA512::Reset
      Src: /src/bitcoin-core/src/random.cpp:246,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/random.cpp:247,1
    - Dst: GetPerformanceCounter
      Src: /src/bitcoin-core/src/random.cpp:250,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:251,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/random.cpp:252,1
    - Dst: CSHA512::Finalize
      Src: /src/bitcoin-core/src/random.cpp:255,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:256,1
    - Dst: CSHA512::Reset
      Src: /src/bitcoin-core/src/random.cpp:258,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/random.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - (seed)
    - dur
    - ' hasher'
    argTypes:
    - unsigned char[]
    - SteadyClock::duration
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 260
    functionName: Strengthen
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - CSHA512::Write
    - memory_cleanse
    - CSHA512::Finalize
    - GetPerformanceCounter
    - Write
    - CSHA512::CSHA512
    - CSHA512::Reset
    linkageType: ''
    returnType: void
    signature: void Strengthen(const unsigned char (&seed)[32], SteadyClock::duration
      dur, CSHA512& hasher) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/bitcoin-core/src/random.cpp:268,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:270,1
    - Dst: read
      Src: /src/bitcoin-core/src/random.cpp:274,1
    - Dst: close
      Src: /src/bitcoin-core/src/random.cpp:276,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:277,1
    - Dst: close
      Src: /src/bitcoin-core/src/random.cpp:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ent32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 282
    functionName: GetDevURandom
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - open
    - close
    - RandFailure
    - read
    linkageType: ''
    returnType: void
    signature: void GetDevURandom(unsigned char *ent32)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BCryptGenRandom
      Src: /src/bitcoin-core/src/random.cpp:290,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:296,1
    - Dst: getrandom
      Src: /src/bitcoin-core/src/random.cpp:304,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:305,1
    - Dst: arc4random_buf
      Src: /src/bitcoin-core/src/random.cpp:314,1
    - Dst: getentropy
      Src: /src/bitcoin-core/src/random.cpp:316,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:317,1
    - Dst: sysctl
      Src: /src/bitcoin-core/src/random.cpp:327,1
    - Dst: size
      Src: /src/bitcoin-core/src/random.cpp:327,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:328,1
    - Dst: GetDevURandom
      Src: /src/bitcoin-core/src/random.cpp:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ent32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 338
    functionName: GetOSRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - getentropy
    - RandFailure
    - getrandom
    - sysctl
    - size
    - BCryptGenRandom
    - GetDevURandom
    - arc4random_buf
    linkageType: ''
    returnType: void
    signature: void GetOSRand(unsigned char *ent32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitHardwareRand
      Src: /src/bitcoin-core/src/random.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: RNGState::RNGState
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - InitHardwareRand
    linkageType: ''
    returnType: void
    signature: void RNGState() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: ~RNGState()
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RNGState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/random.cpp:371,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:373,1
    - Dst: GetPerformanceCounter
      Src: /src/bitcoin-core/src/random.cpp:376,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 378
    functionName: (!m_events_mutex)
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - GetPerformanceCounter
    - LOCK
    - Write
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_events_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/random.cpp:387,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/random.cpp:390,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:391,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/random.cpp:394,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: (!m_events_mutex)
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Finalize
    - Reset
    - Write
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_events_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/random.cpp:401,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/random.cpp:402,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/random.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - emplace
    - MakeByteSpan
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/random.cpp:414,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/random.cpp:419,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:422,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:424,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/random.cpp:427,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/random.cpp:429,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/random.cpp:431,1
    - Dst: Keystream
      Src: /src/bitcoin-core/src/random.cpp:433,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/random.cpp:433,1
    - Dst: assert
      Src: /src/bitcoin-core/src/random.cpp:440,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/random.cpp:441,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/random.cpp:444,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/random.cpp:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (num <= 32)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/bitcoin-core/src/random.cpp
    - condition: (out != nullptr)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/bitcoin-core/src/random.cpp
    constantsTouched: []
    func_position:
      end: 447
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 447
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - memory_cleanse
    - Reset
    - memcpy
    - LOCK
    - Write
    - Finalize
    - has_value
    - std::as_writable_bytes
    - assert
    - Keystream
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: GetRNGState
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RNGState
    signature: RNGState & GetRNGState() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPerformanceCounter
      Src: /src/bitcoin-core/src/random.cpp:465,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: SeedTimestamp
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - GetPerformanceCounter
    - Write
    linkageType: ''
    returnType: void
    signature: void SeedTimestamp(CSHA512& hasher) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:475,1
    - Dst: SeedHardwareFast
      Src: /src/bitcoin-core/src/random.cpp:478,1
    - Dst: SeedTimestamp
      Src: /src/bitcoin-core/src/random.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 482
    functionName: SeedFast
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - SeedTimestamp
    - Write
    - SeedHardwareFast
    linkageType: ''
    returnType: void
    signature: void SeedFast(CSHA512& hasher) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedFast
      Src: /src/bitcoin-core/src/random.cpp:489,1
    - Dst: GetOSRand
      Src: /src/bitcoin-core/src/random.cpp:492,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:493,1
    - Dst: SeedEvents
      Src: /src/bitcoin-core/src/random.cpp:496,1
    - Dst: SeedTimestamp
      Src: /src/bitcoin-core/src/random.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' hasher'
    - ' rng'
    argTypes:
    - CSHA512
    - RNGState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 484
    functionDepth: 4
    functionLinenumber: 484
    functionLinenumberEnd: 503
    functionName: SeedSlow
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - SeedFast
    - SeedEvents
    - SeedTimestamp
    - GetOSRand
    - Write
    linkageType: ''
    returnType: void
    signature: void SeedSlow(CSHA512& hasher, RNGState& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MixExtract
      Src: /src/bitcoin-core/src/random.cpp:511,1
    - Dst: CSHA512
      Src: /src/bitcoin-core/src/random.cpp:511,1
    - Dst: Strengthen
      Src: /src/bitcoin-core/src/random.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hasher'
    - ' rng'
    - dur
    argTypes:
    - CSHA512
    - RNGState
    - SteadyClock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionName: SeedStrengthen
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - Strengthen
    - MixExtract
    - CSHA512
    linkageType: ''
    returnType: void
    signature: void SeedStrengthen(CSHA512& hasher, RNGState& rng, SteadyClock::duration
      dur) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedFast
      Src: /src/bitcoin-core/src/random.cpp:519,1
    - Dst: SeedTimestamp
      Src: /src/bitcoin-core/src/random.cpp:522,1
    - Dst: SeedEvents
      Src: /src/bitcoin-core/src/random.cpp:525,1
    - Dst: Size
      Src: /src/bitcoin-core/src/random.cpp:528,1
    - Dst: RandAddDynamicEnv
      Src: /src/bitcoin-core/src/random.cpp:529,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/random.cpp:530,1
    - Dst: Size
      Src: /src/bitcoin-core/src/random.cpp:530,1
    - Dst: SeedStrengthen
      Src: /src/bitcoin-core/src/random.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' hasher'
    - ' rng'
    argTypes:
    - CSHA512
    - RNGState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 534
    functionName: SeedPeriodic
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - Size
    - SeedFast
    - SeedEvents
    - SeedTimestamp
    - LogDebug
    - RandAddDynamicEnv
    - SeedStrengthen
    linkageType: ''
    returnType: void
    signature: void SeedPeriodic(CSHA512& hasher, RNGState& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedHardwareSlow
      Src: /src/bitcoin-core/src/random.cpp:539,1
    - Dst: SeedSlow
      Src: /src/bitcoin-core/src/random.cpp:542,1
    - Dst: Size
      Src: /src/bitcoin-core/src/random.cpp:545,1
    - Dst: RandAddDynamicEnv
      Src: /src/bitcoin-core/src/random.cpp:546,1
    - Dst: RandAddStaticEnv
      Src: /src/bitcoin-core/src/random.cpp:549,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/random.cpp:550,1
    - Dst: Size
      Src: /src/bitcoin-core/src/random.cpp:550,1
    - Dst: SeedStrengthen
      Src: /src/bitcoin-core/src/random.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' hasher'
    - ' rng'
    argTypes:
    - CSHA512
    - RNGState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 554
    functionName: SeedStartup
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - Size
    - LogDebug
    - SeedSlow
    - SeedStrengthen
    - RandAddDynamicEnv
    - RandAddStaticEnv
    - SeedHardwareSlow
    linkageType: ''
    returnType: void
    signature: void SeedStartup(CSHA512& hasher, RNGState& rng) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetRNGState
      Src: /src/bitcoin-core/src/random.cpp:565,1
    - Dst: assert
      Src: /src/bitcoin-core/src/random.cpp:567,1
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/random.cpp:569,1
    - Dst: SeedFast
      Src: /src/bitcoin-core/src/random.cpp:572,1
    - Dst: SeedSlow
      Src: /src/bitcoin-core/src/random.cpp:575,1
    - Dst: SeedPeriodic
      Src: /src/bitcoin-core/src/random.cpp:578,1
    - Dst: MixExtract
      Src: /src/bitcoin-core/src/random.cpp:583,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/random.cpp:583,1
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/random.cpp:585,1
    - Dst: SeedStartup
      Src: /src/bitcoin-core/src/random.cpp:586,1
    - Dst: MixExtract
      Src: /src/bitcoin-core/src/random.cpp:587,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/random.cpp:587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - out
    - num
    - level
    - always_use_real_rng
    argTypes:
    - unsigned char*
    - int
    - RNGLevel
    - bool
    assertStmts:
    - condition: (num <= 32)
      pos:
        line_end: 566
        line_start: 566
        source_file: /src/bitcoin-core/src/random.cpp
    constantsTouched: []
    func_position:
      end: 589
      start: 562
    functionDepth: 6
    functionLinenumber: 562
    functionLinenumberEnd: 589
    functionName: ProcRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - GetRNGState
    - SeedFast
    - SeedSlow
    - SeedPeriodic
    - std::move
    - SeedStartup
    - CSHA512::CSHA512
    - MixExtract
    - assert
    linkageType: ''
    returnType: void
    signature: void ProcRand(unsigned char* out, int num, RNGLevel level, bool always_use_real_rng)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogError
      Src: /src/bitcoin-core/src/random.cpp:56,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/random.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: RandFailure
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 2
    functionsReached:
    - LogError
    - std::abort
    linkageType: ''
    returnType: void
    signature: void RandFailure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/bitcoin-core/src/random.cpp:65,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/random.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: GetPerformanceCounter
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 3
    functionsReached:
    - __rdtsc
    - wallet::WalletRescanReserver::now
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetPerformanceCounter() noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCPUID
      Src: /src/bitcoin-core/src/random.cpp:95,1
    - Dst: GetCPUID
      Src: /src/bitcoin-core/src/random.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: InitHardwareRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - GetCPUID
    linkageType: ''
    returnType: void
    signature: void InitHardwareRand()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/random.cpp:110,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/random.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: ReportHardwareRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    linkageType: ''
    returnType: void
    signature: void ReportHardwareRand()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: GetRdRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetRdRand() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 186
    functionName: GetRdSeed
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetRdSeed() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: InitHardwareRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitHardwareRand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: ReportHardwareRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportHardwareRand()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetRdRand
      Src: /src/bitcoin-core/src/random.cpp:202,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: SeedHardwareFast
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - Write
    - GetRdRand
    linkageType: ''
    returnType: void
    signature: void SeedHardwareFast(CSHA512& hasher) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRdSeed
      Src: /src/bitcoin-core/src/random.cpp:216,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:217,1
    - Dst: GetRdRand
      Src: /src/bitcoin-core/src/random.cpp:226,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: SeedHardwareSlow
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - Write
    - GetRdRand
    - GetRdSeed
    linkageType: ''
    returnType: void
    signature: void SeedHardwareSlow(CSHA512& hasher) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/random.cpp:237,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/random.cpp:238,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/random.cpp:242,1
    - Dst: CSHA512::Finalize
      Src: /src/bitcoin-core/src/random.cpp:245,1
    - Dst: CSHA512::Reset
      Src: /src/bitcoin-core/src/random.cpp:246,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/random.cpp:247,1
    - Dst: GetPerformanceCounter
      Src: /src/bitcoin-core/src/random.cpp:250,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:251,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/random.cpp:252,1
    - Dst: CSHA512::Finalize
      Src: /src/bitcoin-core/src/random.cpp:255,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:256,1
    - Dst: CSHA512::Reset
      Src: /src/bitcoin-core/src/random.cpp:258,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/random.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - (seed)
    - dur
    - ' hasher'
    argTypes:
    - unsigned char[]
    - SteadyClock::duration
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 260
    functionName: Strengthen
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 3
    functionsReached:
    - MockableSteadyClock::now
    - CSHA512::Write
    - memory_cleanse
    - CSHA512::Finalize
    - GetPerformanceCounter
    - Write
    - CSHA512::CSHA512
    - CSHA512::Reset
    linkageType: ''
    returnType: void
    signature: void Strengthen(const unsigned char (&seed)[32], SteadyClock::duration
      dur, CSHA512& hasher) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/bitcoin-core/src/random.cpp:268,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:270,1
    - Dst: read
      Src: /src/bitcoin-core/src/random.cpp:274,1
    - Dst: close
      Src: /src/bitcoin-core/src/random.cpp:276,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:277,1
    - Dst: close
      Src: /src/bitcoin-core/src/random.cpp:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ent32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 282
    functionName: GetDevURandom
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - open
    - close
    - RandFailure
    - read
    linkageType: ''
    returnType: void
    signature: void GetDevURandom(unsigned char *ent32)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BCryptGenRandom
      Src: /src/bitcoin-core/src/random.cpp:290,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:296,1
    - Dst: getrandom
      Src: /src/bitcoin-core/src/random.cpp:304,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:305,1
    - Dst: arc4random_buf
      Src: /src/bitcoin-core/src/random.cpp:314,1
    - Dst: getentropy
      Src: /src/bitcoin-core/src/random.cpp:316,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:317,1
    - Dst: sysctl
      Src: /src/bitcoin-core/src/random.cpp:327,1
    - Dst: size
      Src: /src/bitcoin-core/src/random.cpp:327,1
    - Dst: RandFailure
      Src: /src/bitcoin-core/src/random.cpp:328,1
    - Dst: GetDevURandom
      Src: /src/bitcoin-core/src/random.cpp:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ent32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 338
    functionName: GetOSRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - getentropy
    - RandFailure
    - getrandom
    - sysctl
    - size
    - BCryptGenRandom
    - GetDevURandom
    - arc4random_buf
    linkageType: ''
    returnType: void
    signature: void GetOSRand(unsigned char *ent32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitHardwareRand
      Src: /src/bitcoin-core/src/random.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: RNGState::RNGState
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - InitHardwareRand
    linkageType: ''
    returnType: void
    signature: void RNGState() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: ~RNGState()
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RNGState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/random.cpp:371,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:373,1
    - Dst: GetPerformanceCounter
      Src: /src/bitcoin-core/src/random.cpp:376,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 378
    functionName: (!m_events_mutex)
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - GetPerformanceCounter
    - LOCK
    - Write
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_events_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/random.cpp:387,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/random.cpp:390,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:391,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/random.cpp:394,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: (!m_events_mutex)
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Finalize
    - Reset
    - Write
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_events_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/random.cpp:401,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/random.cpp:402,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/random.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - emplace
    - MakeByteSpan
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/random.cpp:414,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/random.cpp:419,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:422,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:424,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/random.cpp:427,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/random.cpp:429,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/random.cpp:431,1
    - Dst: Keystream
      Src: /src/bitcoin-core/src/random.cpp:433,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/random.cpp:433,1
    - Dst: assert
      Src: /src/bitcoin-core/src/random.cpp:440,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/random.cpp:441,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/random.cpp:444,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/random.cpp:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (num <= 32)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/bitcoin-core/src/random.cpp
    - condition: (out != nullptr)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/bitcoin-core/src/random.cpp
    constantsTouched: []
    func_position:
      end: 447
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 447
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - memory_cleanse
    - Reset
    - memcpy
    - LOCK
    - Write
    - Finalize
    - has_value
    - std::as_writable_bytes
    - assert
    - Keystream
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: GetRNGState
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RNGState
    signature: RNGState & GetRNGState() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPerformanceCounter
      Src: /src/bitcoin-core/src/random.cpp:465,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: SeedTimestamp
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 3
    functionsReached:
    - GetPerformanceCounter
    - Write
    linkageType: ''
    returnType: void
    signature: void SeedTimestamp(CSHA512& hasher) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:475,1
    - Dst: SeedHardwareFast
      Src: /src/bitcoin-core/src/random.cpp:478,1
    - Dst: SeedTimestamp
      Src: /src/bitcoin-core/src/random.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' hasher'
    argTypes:
    - CSHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 482
    functionName: SeedFast
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 3
    functionsReached:
    - SeedTimestamp
    - Write
    - SeedHardwareFast
    linkageType: ''
    returnType: void
    signature: void SeedFast(CSHA512& hasher) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedFast
      Src: /src/bitcoin-core/src/random.cpp:489,1
    - Dst: GetOSRand
      Src: /src/bitcoin-core/src/random.cpp:492,1
    - Dst: Write
      Src: /src/bitcoin-core/src/random.cpp:493,1
    - Dst: SeedEvents
      Src: /src/bitcoin-core/src/random.cpp:496,1
    - Dst: SeedTimestamp
      Src: /src/bitcoin-core/src/random.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' hasher'
    - ' rng'
    argTypes:
    - CSHA512
    - RNGState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 484
    functionDepth: 4
    functionLinenumber: 484
    functionLinenumberEnd: 503
    functionName: SeedSlow
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 2
    functionsReached:
    - SeedFast
    - SeedEvents
    - SeedTimestamp
    - GetOSRand
    - Write
    linkageType: ''
    returnType: void
    signature: void SeedSlow(CSHA512& hasher, RNGState& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MixExtract
      Src: /src/bitcoin-core/src/random.cpp:511,1
    - Dst: CSHA512
      Src: /src/bitcoin-core/src/random.cpp:511,1
    - Dst: Strengthen
      Src: /src/bitcoin-core/src/random.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hasher'
    - ' rng'
    - dur
    argTypes:
    - CSHA512
    - RNGState
    - SteadyClock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionName: SeedStrengthen
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 2
    functionsReached:
    - Strengthen
    - MixExtract
    - CSHA512
    linkageType: ''
    returnType: void
    signature: void SeedStrengthen(CSHA512& hasher, RNGState& rng, SteadyClock::duration
      dur) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedFast
      Src: /src/bitcoin-core/src/random.cpp:519,1
    - Dst: SeedTimestamp
      Src: /src/bitcoin-core/src/random.cpp:522,1
    - Dst: SeedEvents
      Src: /src/bitcoin-core/src/random.cpp:525,1
    - Dst: Size
      Src: /src/bitcoin-core/src/random.cpp:528,1
    - Dst: RandAddDynamicEnv
      Src: /src/bitcoin-core/src/random.cpp:529,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/random.cpp:530,1
    - Dst: Size
      Src: /src/bitcoin-core/src/random.cpp:530,1
    - Dst: SeedStrengthen
      Src: /src/bitcoin-core/src/random.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' hasher'
    - ' rng'
    argTypes:
    - CSHA512
    - RNGState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 534
    functionName: SeedPeriodic
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - Size
    - SeedFast
    - SeedEvents
    - SeedTimestamp
    - LogDebug
    - RandAddDynamicEnv
    - SeedStrengthen
    linkageType: ''
    returnType: void
    signature: void SeedPeriodic(CSHA512& hasher, RNGState& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedHardwareSlow
      Src: /src/bitcoin-core/src/random.cpp:539,1
    - Dst: SeedSlow
      Src: /src/bitcoin-core/src/random.cpp:542,1
    - Dst: Size
      Src: /src/bitcoin-core/src/random.cpp:545,1
    - Dst: RandAddDynamicEnv
      Src: /src/bitcoin-core/src/random.cpp:546,1
    - Dst: RandAddStaticEnv
      Src: /src/bitcoin-core/src/random.cpp:549,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/random.cpp:550,1
    - Dst: Size
      Src: /src/bitcoin-core/src/random.cpp:550,1
    - Dst: SeedStrengthen
      Src: /src/bitcoin-core/src/random.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' hasher'
    - ' rng'
    argTypes:
    - CSHA512
    - RNGState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 554
    functionName: SeedStartup
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - Size
    - LogDebug
    - SeedSlow
    - SeedStrengthen
    - RandAddDynamicEnv
    - RandAddStaticEnv
    - SeedHardwareSlow
    linkageType: ''
    returnType: void
    signature: void SeedStartup(CSHA512& hasher, RNGState& rng) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetRNGState
      Src: /src/bitcoin-core/src/random.cpp:565,1
    - Dst: assert
      Src: /src/bitcoin-core/src/random.cpp:567,1
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/random.cpp:569,1
    - Dst: SeedFast
      Src: /src/bitcoin-core/src/random.cpp:572,1
    - Dst: SeedSlow
      Src: /src/bitcoin-core/src/random.cpp:575,1
    - Dst: SeedPeriodic
      Src: /src/bitcoin-core/src/random.cpp:578,1
    - Dst: MixExtract
      Src: /src/bitcoin-core/src/random.cpp:583,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/random.cpp:583,1
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/random.cpp:585,1
    - Dst: SeedStartup
      Src: /src/bitcoin-core/src/random.cpp:586,1
    - Dst: MixExtract
      Src: /src/bitcoin-core/src/random.cpp:587,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/random.cpp:587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - out
    - num
    - level
    - always_use_real_rng
    argTypes:
    - unsigned char*
    - int
    - RNGLevel
    - bool
    assertStmts:
    - condition: (num <= 32)
      pos:
        line_end: 566
        line_start: 566
        source_file: /src/bitcoin-core/src/random.cpp
    constantsTouched: []
    func_position:
      end: 589
      start: 562
    functionDepth: 6
    functionLinenumber: 562
    functionLinenumberEnd: 589
    functionName: ProcRand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - GetRNGState
    - SeedFast
    - SeedSlow
    - SeedPeriodic
    - std::move
    - SeedStartup
    - CSHA512::CSHA512
    - MixExtract
    - assert
    linkageType: ''
    returnType: void
    signature: void ProcRand(unsigned char* out, int num, RNGLevel level, bool always_use_real_rng)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRNGState
      Src: /src/bitcoin-core/src/random.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' seed'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: MakeRandDeterministicDANGEROUS
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - GetRNGState
    linkageType: ''
    returnType: void
    signature: void MakeRandDeterministicDANGEROUS(const uint256& seed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProcRand
      Src: /src/bitcoin-core/src/random.cpp:604,1
    - Dst: std::span<unsigned char>::data
      Src: /src/bitcoin-core/src/random.cpp:604,1
    - Dst: std::span<unsigned char>::size
      Src: /src/bitcoin-core/src/random.cpp:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 601
    functionDepth: 7
    functionLinenumber: 601
    functionLinenumberEnd: 605
    functionName: GetRandBytes
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 5
    functionsReached:
    - std::span<unsigned char>::data
    - ProcRand
    - std::span<unsigned char>::size
    linkageType: ''
    returnType: void
    signature: void GetRandBytes(std::span<unsigned char> bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProcRand
      Src: /src/bitcoin-core/src/random.cpp:609,1
    - Dst: std::span<unsigned char>::data
      Src: /src/bitcoin-core/src/random.cpp:609,1
    - Dst: std::span<unsigned char>::size
      Src: /src/bitcoin-core/src/random.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 7
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: GetStrongRandBytes
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 2
    functionsReached:
    - std::span<unsigned char>::data
    - ProcRand
    - std::span<unsigned char>::size
    linkageType: ''
    returnType: void
    signature: void GetStrongRandBytes(std::span<unsigned char> bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProcRand
      Src: /src/bitcoin-core/src/random.cpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 7
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: RandAddPeriodic
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - ProcRand
    linkageType: ''
    returnType: void
    signature: void RandAddPeriodic() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRNGState
      Src: /src/bitcoin-core/src/random.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event_info
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 617
    functionName: RandAddEvent
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 4
    functionsReached:
    - GetRNGState
    linkageType: ''
    returnType: void
    signature: void RandAddEvent(const uint32_t event_info) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/random.cpp:621,1
    - Dst: SetKey
      Src: /src/bitcoin-core/src/random.cpp:622,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/random.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: FastRandomContext::RandomSeed
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - SetKey
    - MakeByteSpan
    - GetRandHash
    linkageType: ''
    returnType: void
    signature: void FastRandomContext::RandomSeed() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::RandomSeed
      Src: /src/bitcoin-core/src/random.cpp:628,1
    - Dst: Keystream
      Src: /src/bitcoin-core/src/random.cpp:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 3
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: FastRandomContext::fillrand
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 2
    functionsReached:
    - FastRandomContext::RandomSeed
    - Keystream
    linkageType: ''
    returnType: void
    signature: void FastRandomContext::fillrand(std::span<std::byte> output) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/random.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' seed'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 632
    functionName: FastRandomContext::FastRandomContext
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 8
    functionsReached:
    - MakeByteSpan
    linkageType: ''
    returnType: void
    signature: void FastRandomContext::FastRandomContext(const uint256& seed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushCache
      Src: /src/bitcoin-core/src/random.cpp:636,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/random.cpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' seed'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: FastRandomContext::Reseed
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - FlushCache
    - MakeByteSpan
    linkageType: ''
    returnType: void
    signature: void FastRandomContext::Reseed(const uint256& seed) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetPerformanceCounter
      Src: /src/bitcoin-core/src/random.cpp:643,1
    - Dst: memset
      Src: /src/bitcoin-core/src/random.cpp:656,1
    - Dst: GetOSRand
      Src: /src/bitcoin-core/src/random.cpp:657,1
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/random.cpp:674,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/random.cpp:674,1
    - Dst: GetPerformanceCounter
      Src: /src/bitcoin-core/src/random.cpp:675,1
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/random.cpp:679,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/random.cpp:680,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/random.cpp:681,1
    - Dst: GetRNGState
      Src: /src/bitcoin-core/src/random.cpp:682,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/random.cpp:682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 641
    functionDepth: 4
    functionLinenumber: 641
    functionLinenumberEnd: 685
    functionName: Random_SanityCheck
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - CSHA512::Write
    - GetRNGState
    - GetPerformanceCounter
    - GetOSRand
    - std::move
    - memset
    - CThreadInterrupt::sleep_for
    - CSHA512::CSHA512
    - count_milliseconds
    linkageType: ''
    returnType: bool
    signature: bool Random_SanityCheck()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fDeterministic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 694
    functionName: FastRandomContext::FastRandomContext
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FastRandomContext::FastRandomContext(bool fDeterministic) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProcRand
      Src: /src/bitcoin-core/src/random.cpp:699,1
    - Dst: ReportHardwareRand
      Src: /src/bitcoin-core/src/random.cpp:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 696
    functionDepth: 7
    functionLinenumber: 696
    functionLinenumberEnd: 702
    functionName: RandomInit
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 0
    functionsReached:
    - ReportHardwareRand
    - ProcRand
    linkageType: ''
    returnType: void
    signature: void RandomInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log1p
      Src: /src/bitcoin-core/src/random.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uniform
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 716
    functionName: MakeExponentiallyDistributed
    functionSourceFile: /src/bitcoin-core/src/random.cpp
    functionUses: 1
    functionsReached:
    - std::log1p
    linkageType: ''
    returnType: double
    signature: double MakeExponentiallyDistributed(uint64_t uniform) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetPermissionFlags>
      Src: /src/bitcoin-core/src/net_permissions.h:52,1
    - Dst: static_cast<t>
      Src: /src/bitcoin-core/src/net_permissions.h:52,1
    - Dst: static_cast<t>
      Src: /src/bitcoin-core/src/net_permissions.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NetPermissionFlags
    - NetPermissionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: operator|(NetPermissionFlags a, NetPermissionFlags b)
    functionSourceFile: /src/bitcoin-core/src/net_permissions.h
    functionUses: 0
    functionsReached:
    - static_cast<t>
    - static_cast<NetPermissionFlags>
    linkageType: ''
    returnType: NetPermissionFlags
    signature: NetPermissionFlags operator|(NetPermissionFlags a, NetPermissionFlags
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<t>
      Src: /src/bitcoin-core/src/net_permissions.h:63,1
    - Dst: static_cast<t>
      Src: /src/bitcoin-core/src/net_permissions.h:63,1
    - Dst: static_cast<t>
      Src: /src/bitcoin-core/src/net_permissions.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flags
    - f
    argTypes:
    - NetPermissionFlags
    - NetPermissionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: NetPermissions::HasFlag
    functionSourceFile: /src/bitcoin-core/src/net_permissions.h
    functionUses: 7
    functionsReached:
    - static_cast<t>
    linkageType: ''
    returnType: bool
    signature: bool HasFlag(NetPermissionFlags flags, NetPermissionFlags f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' flags'
    - f
    argTypes:
    - NetPermissionFlags
    - NetPermissionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: NetPermissions::AddFlag
    functionSourceFile: /src/bitcoin-core/src/net_permissions.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddFlag(NetPermissionFlags& flags, NetPermissionFlags f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/net_permissions.h:76,1
    - Dst: static_cast<NetPermissionFlags>
      Src: /src/bitcoin-core/src/net_permissions.h:78,1
    - Dst: static_cast<t>
      Src: /src/bitcoin-core/src/net_permissions.h:78,1
    - Dst: static_cast<t>
      Src: /src/bitcoin-core/src/net_permissions.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' flags'
    - f
    argTypes:
    - NetPermissionFlags
    - NetPermissionFlags
    assertStmts:
    - condition: (f == NetPermissionFlags::Implicit)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/bitcoin-core/src/net_permissions.h
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: NetPermissions::ClearFlag
    functionSourceFile: /src/bitcoin-core/src/net_permissions.h
    functionUses: 1
    functionsReached:
    - assert
    - static_cast<t>
    - static_cast<NetPermissionFlags>
    linkageType: ''
    returnType: void
    signature: void ClearFlag(NetPermissionFlags& flags, NetPermissionFlags f)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ParseCommandLine
      Src: /src/bitcoin-core/src/bitcoin.cpp:60,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin.cpp:62,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/bitcoin.cpp:62,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/bitcoin.cpp:62,1
    - Dst: LicenseInfo
      Src: /src/bitcoin-core/src/bitcoin.cpp:62,1
    - Dst: CommandLine::command::empty
      Src: /src/bitcoin-core/src/bitcoin.cpp:67,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin.cpp:68,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin.cpp:69,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:72,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:74,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:83,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:85,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:87,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:89,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:91,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:93,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:95,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:97,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin.cpp:99,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin.cpp:99,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bitcoin.cpp:101,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/bitcoin.cpp:102,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bitcoin.cpp:102,1
    - Dst: CommandLine::args::begin
      Src: /src/bitcoin-core/src/bitcoin.cpp:102,1
    - Dst: CommandLine::args::end
      Src: /src/bitcoin-core/src/bitcoin.cpp:102,1
    - Dst: ExecCommand
      Src: /src/bitcoin-core/src/bitcoin.cpp:103,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bitcoin.cpp:106,1
    - Dst: what
      Src: /src/bitcoin-core/src/bitcoin.cpp:106,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::emplace_back
    - CommandLine::args::begin
    - strprintf
    - tinyformat::detail::FormatArg::format
    - std::runtime_error
    - CommandLine::args::end
    - FormatParagraph
    - std::vector::insert
    - FormatFullVersion
    - std::vector::empty
    - what
    - LicenseInfo
    - ParseCommandLine
    - ExecCommand
    - CommandLine::command::empty
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CommandLine::args::reserve
      Src: /src/bitcoin-core/src/bitcoin.cpp:115,1
    - Dst: CommandLine::command::empty
      Src: /src/bitcoin-core/src/bitcoin.cpp:118,1
    - Dst: CommandLine::args::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:119,1
    - Dst: std::string_view::starts_with
      Src: /src/bitcoin-core/src/bitcoin.cpp:130,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin.cpp:131,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin.cpp:131,1
    - Dst: std::string_view::empty
      Src: /src/bitcoin-core/src/bitcoin.cpp:132,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: ParseCommandLine
    functionSourceFile: /src/bitcoin-core/src/bitcoin.cpp
    functionUses: 1
    functionsReached:
    - std::string_view::empty
    - CommandLine::args::reserve
    - std::runtime_error
    - std::string_view::starts_with
    - CommandLine::args::emplace_back
    - strprintf
    - CommandLine::command::empty
    linkageType: ''
    returnType: CommandLine
    signature: CommandLine ParseCommandLine(int argc, char* argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bitcoin.cpp:161,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/bitcoin.cpp:165,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/bitcoin.cpp:166,1
    - Dst: util::ExecVp
      Src: /src/bitcoin-core/src/bitcoin.cpp:167,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bitcoin.cpp:167,1
    - Dst: std::system_error
      Src: /src/bitcoin-core/src/bitcoin.cpp:169,1
    - Dst: std::system_category
      Src: /src/bitcoin-core/src/bitcoin.cpp:169,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bitcoin.cpp:169,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bitcoin.cpp:171,1
    - Dst: util::GetExePath
      Src: /src/bitcoin-core/src/bitcoin.cpp:175,1
    - Dst: fs::weakly_canonical
      Src: /src/bitcoin-core/src/bitcoin.cpp:179,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/bitcoin.cpp:180,1
    - Dst: fs::path::parent_path
      Src: /src/bitcoin-core/src/bitcoin.cpp:181,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/bitcoin.cpp:184,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/bitcoin.cpp:191,1
    - Dst: fs::path::filename
      Src: /src/bitcoin-core/src/bitcoin.cpp:195,1
    - Dst: try_exec
      Src: /src/bitcoin-core/src/bitcoin.cpp:195,1
    - Dst: fs::path::parent_path
      Src: /src/bitcoin-core/src/bitcoin.cpp:195,1
    - Dst: fs::path::filename
      Src: /src/bitcoin-core/src/bitcoin.cpp:195,1
    - Dst: WIN32
      Src: /src/bitcoin-core/src/bitcoin.cpp:196,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/bitcoin.cpp:198,1
    - Dst: try_exec
      Src: /src/bitcoin-core/src/bitcoin.cpp:198,1
    - Dst: fs::path::filename
      Src: /src/bitcoin-core/src/bitcoin.cpp:198,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/bitcoin.cpp:201,1
    - Dst: try_exec
      Src: /src/bitcoin-core/src/bitcoin.cpp:201,1
    - Dst: fs::path::filename
      Src: /src/bitcoin-core/src/bitcoin.cpp:201,1
    - Dst: try_exec
      Src: /src/bitcoin-core/src/bitcoin.cpp:203,1
    - Dst: fs::path::filename
      Src: /src/bitcoin-core/src/bitcoin.cpp:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - ' args'
    - wrapper_argv0
    argTypes:
    - std::vector<const char*>
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 204
    functionName: ExecCommand
    functionSourceFile: /src/bitcoin-core/src/bitcoin.cpp
    functionUses: 1
    functionsReached:
    - fs::PathFromString
    - std::vector::emplace_back
    - try_exec
    - std::vector::data
    - fs::weakly_canonical
    - std::runtime_error
    - fs::path::empty
    - std::system_category
    - util::GetExePath
    - WIN32
    - fs::path::parent_path
    - strprintf
    - std::string::c_str
    - std::system_error
    - util::ExecVp
    - fs::PathToString
    - fs::path::filename
    linkageType: ''
    returnType: void
    signature: void ExecCommand(const std::vector<const char*>& args, std::string_view
      wrapper_argv0)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetRandBytes
      Src: /src/bitcoin-core/src/mapport.cpp:37,1
    - Dst: GetListenPort
      Src: /src/bitcoin-core/src/mapport.cpp:41,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/mapport.cpp:43,1
    - Dst: std::get_if<MappingResult>
      Src: /src/bitcoin-core/src/mapport.cpp:49,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/mapport.cpp:50,1
    - Dst: MappingResult*::ToString
      Src: /src/bitcoin-core/src/mapport.cpp:50,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/mapport.cpp:51,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/mapport.cpp:53,1
    - Dst: std::get_if<MappingError>
      Src: /src/bitcoin-core/src/mapport.cpp:54,1
    - Dst: QueryDefaultGateway
      Src: /src/bitcoin-core/src/mapport.cpp:68,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/mapport.cpp:70,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/mapport.cpp:72,1
    - Dst: std::optional::ToStringAddr
      Src: /src/bitcoin-core/src/mapport.cpp:72,1
    - Dst: htonl
      Src: /src/bitcoin-core/src/mapport.cpp:76,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/mapport.cpp:77,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/mapport.cpp:77,1
    - Dst: std::get_if<MappingError>
      Src: /src/bitcoin-core/src/mapport.cpp:78,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/mapport.cpp:80,1
    - Dst: NATPMPRequestPortMap
      Src: /src/bitcoin-core/src/mapport.cpp:81,1
    - Dst: handle_mapping
      Src: /src/bitcoin-core/src/mapport.cpp:83,1
    - Dst: QueryDefaultGateway
      Src: /src/bitcoin-core/src/mapport.cpp:87,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/mapport.cpp:89,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/mapport.cpp:91,1
    - Dst: std::optional::ToStringAddr
      Src: /src/bitcoin-core/src/mapport.cpp:91,1
    - Dst: GetLocalAddresses
      Src: /src/bitcoin-core/src/mapport.cpp:94,1
    - Dst: IsRoutable
      Src: /src/bitcoin-core/src/mapport.cpp:95,1
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/mapport.cpp:95,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/mapport.cpp:96,1
    - Dst: handle_mapping
      Src: /src/bitcoin-core/src/mapport.cpp:97,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/mapport.cpp:103,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/mapport.cpp:108,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/mapport.cpp:115,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/mapport.cpp:116,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 33
    functionDepth: 8
    functionLinenumber: 33
    functionLinenumberEnd: 120
    functionName: ProcessPCP
    functionSourceFile: /src/bitcoin-core/src/mapport.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<MappingError>
    - GetListenPort
    - sleep_for
    - MappingResult*::ToString
    - QueryDefaultGateway
    - std::min
    - PCPRequestPortMap
    - htonl
    - handle_mapping
    - NATPMPRequestPortMap
    - IsRoutable
    - CNetAddr
    - GetRandBytes
    - std::get_if<MappingResult>
    - leveldb::DelayMilliseconds
    - LogPrintLevel
    - GetLocalAddresses
    - AddLocal
    - FastRandomContext
    - std::optional::ToStringAddr
    - IsIPv6
    linkageType: ''
    returnType: void
    signature: void ProcessPCP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProcessPCP
      Src: /src/bitcoin-core/src/mapport.cpp:125,1
    - Dst: sleep_for
      Src: /src/bitcoin-core/src/mapport.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 9
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: ThreadMapPort
    functionSourceFile: /src/bitcoin-core/src/mapport.cpp
    functionUses: 0
    functionsReached:
    - ProcessPCP
    - sleep_for
    linkageType: ''
    returnType: void
    signature: void ThreadMapPort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: joinable
      Src: /src/bitcoin-core/src/mapport.cpp:131,1
    - Dst: assert
      Src: /src/bitcoin-core/src/mapport.cpp:132,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/mapport.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!g_mapport_interrupt)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/bitcoin-core/src/mapport.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: StartThreadMapPort
    functionSourceFile: /src/bitcoin-core/src/mapport.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::thread
    - joinable
    linkageType: ''
    returnType: void
    signature: void StartThreadMapPort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartThreadMapPort
      Src: /src/bitcoin-core/src/mapport.cpp:140,1
    - Dst: InterruptMapPort
      Src: /src/bitcoin-core/src/mapport.cpp:142,1
    - Dst: StopMapPort
      Src: /src/bitcoin-core/src/mapport.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: StartMapPort
    functionSourceFile: /src/bitcoin-core/src/mapport.cpp
    functionUses: 1
    functionsReached:
    - StartThreadMapPort
    - InterruptMapPort
    - StopMapPort
    linkageType: ''
    returnType: void
    signature: void StartMapPort(bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: joinable
      Src: /src/bitcoin-core/src/mapport.cpp:149,1
    - Dst: g_mapport_interrupt
      Src: /src/bitcoin-core/src/mapport.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: InterruptMapPort
    functionSourceFile: /src/bitcoin-core/src/mapport.cpp
    functionUses: 2
    functionsReached:
    - g_mapport_interrupt
    - joinable
    linkageType: ''
    returnType: void
    signature: void InterruptMapPort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: joinable
      Src: /src/bitcoin-core/src/mapport.cpp:156,1
    - Dst: join
      Src: /src/bitcoin-core/src/mapport.cpp:157,1
    - Dst: reset
      Src: /src/bitcoin-core/src/mapport.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: StopMapPort
    functionSourceFile: /src/bitcoin-core/src/mapport.cpp
    functionUses: 2
    functionsReached:
    - reset
    - join
    - joinable
    linkageType: ''
    returnType: void
    signature: void StopMapPort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewDB::StoragePath
      Src: /src/bitcoin-core/src/txdb.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: CCoinsViewDB::StoragePath
    functionSourceFile: /src/bitcoin-core/src/txdb.h
    functionUses: 1
    functionsReached:
    - CCoinsViewDB::StoragePath
    linkageType: ''
    returnType: std::optional<fs::path>
    signature: std::optional<fs::path> StoragePath()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: IsIPv4
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsIPv4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: IsIPv6
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsIPv6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: IsTor
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: IsI2P
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsI2P() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: IsCJDNS
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCJDNS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: HasCJDNSPrefix
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasCJDNSPrefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsTor
      Src: /src/bitcoin-core/src/netaddress.h:188,1
    - Dst: IsI2P
      Src: /src/bitcoin-core/src/netaddress.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: IsPrivacyNet
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 2
    functionsReached:
    - IsTor
    - IsI2P
    linkageType: ''
    returnType: bool
    signature: bool IsPrivacyNet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CNetAddr
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: operator!=(const CNetAddr& a, const CNetAddr& b)
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CNetAddr& a, const CNetAddr& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsIPv4
      Src: /src/bitcoin-core/src/netaddress.h:220,1
    - Dst: IsIPv6
      Src: /src/bitcoin-core/src/netaddress.h:220,1
    - Dst: IsTor
      Src: /src/bitcoin-core/src/netaddress.h:220,1
    - Dst: IsI2P
      Src: /src/bitcoin-core/src/netaddress.h:220,1
    - Dst: IsCJDNS
      Src: /src/bitcoin-core/src/netaddress.h:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: IsRelayable
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 1
    functionsReached:
    - IsIPv4
    - IsTor
    - IsCJDNS
    - IsI2P
    - IsIPv6
    linkageType: ''
    returnType: bool
    signature: bool IsRelayable() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template GetParams<SerParams>
      Src: /src/bitcoin-core/src/netaddress.h:240,1
    - Dst: SerializeV2Stream
      Src: /src/bitcoin-core/src/netaddress.h:241,1
    - Dst: SerializeV1Stream
      Src: /src/bitcoin-core/src/netaddress.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 23
    functionsReached:
    - SerializeV2Stream
    - SerializeV1Stream
    - template GetParams<SerParams>
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template GetParams<SerParams>
      Src: /src/bitcoin-core/src/netaddress.h:253,1
    - Dst: UnserializeV2Stream
      Src: /src/bitcoin-core/src/netaddress.h:254,1
    - Dst: UnserializeV1Stream
      Src: /src/bitcoin-core/src/netaddress.h:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 22
    functionsReached:
    - UnserializeV1Stream
    - UnserializeV2Stream
    - template GetParams<SerParams>
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.h:330,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.h:330,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.h:331,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.h:331,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.h:331,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.h:335,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.h:335,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.h:336,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.h:336,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.h:337,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.h:337,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.h:337,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.h:341,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.h:341,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.h:342,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.h:342,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/netaddress.h:343,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.h:343,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.h:343,1
    - Dst: assert
      Src: /src/bitcoin-core/src/netaddress.h:351,1
    - Dst: memset
      Src: /src/bitcoin-core/src/netaddress.h:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - uint8_t[]
    assertStmts:
    - condition: (prefix_size + m_addr.size() == sizeof(arr))
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/bitcoin-core/src/netaddress.h
    - condition: (prefix_size + m_addr.size() == sizeof(arr))
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/bitcoin-core/src/netaddress.h
    - condition: (false)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/bitcoin-core/src/netaddress.h
    - condition: (m_addr.size() == sizeof(arr))
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/bitcoin-core/src/netaddress.h
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: SerializeV1Array
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 1
    functionsReached:
    - size
    - memcpy
    - data
    - memset
    - assert
    linkageType: ''
    returnType: void
    signature: void SerializeV1Array(uint8_t (&arr)[V1_SERIALIZATION_SIZE]) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeV1Array
      Src: /src/bitcoin-core/src/netaddress.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: SerializeV1Stream
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 1
    functionsReached:
    - SerializeV1Array
    linkageType: ''
    returnType: void
    signature: void SerializeV1Stream(Stream& s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsInternal
      Src: /src/bitcoin-core/src/netaddress.h:377,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/netaddress.h:380,1
    - Dst: COMPACTSIZE
      Src: /src/bitcoin-core/src/netaddress.h:381,1
    - Dst: SerializeV1Stream
      Src: /src/bitcoin-core/src/netaddress.h:382,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/netaddress.h:386,1
    - Dst: GetBIP155Network
      Src: /src/bitcoin-core/src/netaddress.h:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: SerializeV2Stream
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 1
    functionsReached:
    - GetBIP155Network
    - static_cast<uint8_t>
    - SerializeV1Stream
    - COMPACTSIZE
    - IsInternal
    linkageType: ''
    returnType: void
    signature: void SerializeV2Stream(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetLegacyIPv6
      Src: /src/bitcoin-core/src/netaddress.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: UnserializeV1Array
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 0
    functionsReached:
    - SetLegacyIPv6
    linkageType: ''
    returnType: void
    signature: void UnserializeV1Array(uint8_t (&arr)[V1_SERIALIZATION_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnserializeV1Array
      Src: /src/bitcoin-core/src/netaddress.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: UnserializeV1Stream
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 1
    functionsReached:
    - UnserializeV1Array
    linkageType: ''
    returnType: void
    signature: void UnserializeV1Stream(Stream& s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: COMPACTSIZE
      Src: /src/bitcoin-core/src/netaddress.h:429,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/netaddress.h:432,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/netaddress.h:432,1
    - Dst: SetNetFromBIP155Network
      Src: /src/bitcoin-core/src/netaddress.h:438,1
    - Dst: resize
      Src: /src/bitcoin-core/src/netaddress.h:439,1
    - Dst: util::HasPrefix
      Src: /src/bitcoin-core/src/netaddress.h:451,1
    - Dst: memmove
      Src: /src/bitcoin-core/src/netaddress.h:453,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.h:453,1
    - Dst: data
      Src: /src/bitcoin-core/src/netaddress.h:453,1
    - Dst: size
      Src: /src/bitcoin-core/src/netaddress.h:453,1
    - Dst: resize
      Src: /src/bitcoin-core/src/netaddress.h:455,1
    - Dst: util::HasPrefix
      Src: /src/bitcoin-core/src/netaddress.h:459,1
    - Dst: util::HasPrefix
      Src: /src/bitcoin-core/src/netaddress.h:460,1
    - Dst: ignore
      Src: /src/bitcoin-core/src/netaddress.h:469,1
    - Dst: assign
      Src: /src/bitcoin-core/src/netaddress.h:475,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 476
    functionName: UnserializeV2Stream
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 1
    functionsReached:
    - util::HasPrefix
    - assign
    - std::ios_base::failure
    - size
    - data
    - ignore
    - COMPACTSIZE
    - strprintf
    - SetNetFromBIP155Network
    - resize
    - memmove
    linkageType: ''
    returnType: void
    signature: void UnserializeV2Stream(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CSubNet
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: operator!=(const CSubNet& a, const CSubNet& b)
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CSubNet& a, const CSubNet& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CService
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: operator!=(const CService& a, const CService& b)
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CService& a, const CService& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/netaddress.h:566,1
    - Dst: AsBase
      Src: /src/bitcoin-core/src/netaddress.h:566,1
    - Dst: Using
      Src: /src/bitcoin-core/src/netaddress.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: CService::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 0
    functionsReached:
    - AsBase
    - READWRITE
    - Using
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CService, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/netaddress.h:577,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/netaddress.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: CServiceHash::CServiceHash
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 0
    functionsReached:
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void CServiceHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - salt_k0
    - salt_k1
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 582
    functionName: CServiceHash::CServiceHash
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CServiceHash(uint64_t salt_k0, uint64_t salt_k1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/netaddress.h:587,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/netaddress.h:588,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/netaddress.h:589,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/netaddress.h:590,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/netaddress.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - CService
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: operator()(const CService& a) const noexcept
    functionSourceFile: /src/bitcoin-core/src/netaddress.h
    functionUses: 0
    functionsReached:
    - CSipHasher::Finalize
    - CSipHasher::Write
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const CService& a) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:46,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:47,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:48,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:49,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:50,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:51,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:52,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:53,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:54,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:55,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:56,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:57,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(DBVal, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - height_in
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: DBHeightKey
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBHeightKey(int height_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:70,1
    - Dst: ser_writedata32be
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 23
    functionsReached:
    - ser_writedata8
    - ser_writedata32be
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:77,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:79,1
    - Dst: ser_readdata32be
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 22
    functionsReached:
    - std::ios_base::failure
    - ser_readdata8
    - ser_readdata32be
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash_in'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: DBHashKey
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBHashKey(const uint256& hash_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:93,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:95,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - std::ios_base::failure
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(DBHashKey, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:46,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:47,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:48,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:49,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:50,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:51,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:52,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:53,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:54,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:55,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:56,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:57,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(DBVal, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - height_in
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: DBHeightKey
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBHeightKey(int height_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:70,1
    - Dst: ser_writedata32be
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 23
    functionsReached:
    - ser_writedata8
    - ser_writedata32be
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:77,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:79,1
    - Dst: ser_readdata32be
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 22
    functionsReached:
    - std::ios_base::failure
    - ser_readdata8
    - ser_readdata32be
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash_in'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: DBHashKey
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBHashKey(const uint256& hash_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:93,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:95,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - std::ios_base::failure
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(DBHashKey, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:107,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:109,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:110,1
    - Dst: std::make_unique<CoinStatsIndex::DB>
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - chain
    - n_cache_size
    - f_memory
    - f_wipe
    argTypes:
    - std::unique_ptr<interfaces::Chain>
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: CoinStatsIndex::CoinStatsIndex
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - GetDataDirNet
    - std::make_unique<CoinStatsIndex::DB>
    - std::move
    - fs::create_directories
    linkageType: ''
    returnType: void
    signature: void CoinStatsIndex::CoinStatsIndex(std::unique_ptr<interfaces::Chain>
      chain, size_t n_cache_size, bool f_memory, bool f_wipe)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:117,1
    - Dst: Params
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:117,1
    - Dst: Read
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:123,1
    - Dst: DBHeightKey
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:123,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:127,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:129,1
    - Dst: std::pair::first::ToString
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:130,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:130,1
    - Dst: Read
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:132,1
    - Dst: DBHashKey
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:132,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:133,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:134,1
    - Dst: assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:140,1
    - Dst: data::vtx::size
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:141,1
    - Dst: data::vtx::at
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:142,1
    - Dst: IsBIP30Unspendable
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:145,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:145,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:151,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:153,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:154,1
    - Dst: Coin::out::scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:157,1
    - Dst: ApplyCoinHash
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:163,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:165,1
    - Dst: GetBogoSize
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:173,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:177,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:178,1
    - Dst: at
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:178,1
    - Dst: vprevout::size
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:180,1
    - Dst: RemoveCoinHash
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:184,1
    - Dst: GetBogoSize
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:190,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:223,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:224,1
    - Dst: Write
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:229,1
    - Dst: DBHeightKey
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - interfaces::BlockInfo
    assertStmts:
    - condition: (block.data)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bitcoin-core/src/index/coinstatsindex.cpp
    constantsTouched: []
    func_position:
      end: 230
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 230
    functionName: CoinStatsIndex::CustomAppend
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - GetBogoSize
    - DBHeightKey
    - at
    - GetHash
    - data::vtx::size
    - Finalize
    - Write
    - ApplyCoinHash
    - Coin::out::scriptPubKey::IsUnspendable
    - vprevout::size
    - LogWarning
    - IsBIP30Unspendable
    - LogError
    - GetBlockSubsidy
    - uint256::ToString
    - vout::size
    - Params
    - Assert
    - assert
    - uint256::uint256
    - RemoveCoinHash
    - std::pair::first::ToString
    - Read
    - IsCoinBase
    - data::vtx::at
    - DBHashKey
    linkageType: ''
    returnType: bool
    signature: bool CoinStatsIndex::CustomAppend(const interfaces::BlockInfo& block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Seek
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:236,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:238,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:239,1
    - Dst: GetValue
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:245,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:246,1
    - Dst: Write
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:251,1
    - Dst: DBHashKey
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:251,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ' db_it'
    - ' batch'
    - ' index_name'
    - height
    argTypes:
    - CDBIterator
    - CDBBatch
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 253
    functionName: CopyHeightIndexToHashIndex
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - LogError
    - Seek
    - GetValue
    - std::move
    - Write
    - DBHashKey
    - GetKey
    linkageType: ''
    returnType: bool
    signature: "bool CopyHeightIndexToHashIndex(CDBIterator& db_it, CDBBatch& batch,\n
      \                                                    const std::string& index_name,
      int height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:258,1
    - Dst: CopyHeightIndexToHashIndex
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:262,1
    - Dst: WriteBatch
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:266,1
    - Dst: CoinStatsIndex::ReverseBlock
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - interfaces::BlockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 273
    functionName: CoinStatsIndex::CustomRemove
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - CopyHeightIndexToHashIndex
    - CoinStatsIndex::ReverseBlock
    - WriteBatch
    - NewIterator
    linkageType: ''
    returnType: bool
    signature: bool CoinStatsIndex::CustomRemove(const interfaces::BlockInfo& block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:281,1
    - Dst: DBHeightKey
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:281,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:285,1
    - Dst: Read
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:291,1
    - Dst: DBHashKey
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' db'
    - ' block'
    - ' result'
    argTypes:
    - CDBWrapper
    - interfaces::BlockRef
    - DBVal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 292
    functionName: LookUpOne
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - Read
    - DBHashKey
    - std::move
    - DBHeightKey
    linkageType: ''
    returnType: bool
    signature: bool LookUpOne(const CDBWrapper& db, const interfaces::BlockRef& block,
      DBVal& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:296,1
    - Dst: LookUpOne
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:300,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' block_index'
    argTypes:
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 319
    functionName: CoinStatsIndex::LookUpStats
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - LookUpOne
    - GetBlockHash
    linkageType: ''
    returnType: std::optional<CCoinsStats>
    signature: std::optional<CCoinsStats> CoinStatsIndex::LookUpStats(const CBlockIndex&
      block_index) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:323,1
    - Dst: Exists
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:327,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:328,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:329,1
    - Dst: LookUpOne
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:336,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:337,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:338,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:342,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:343,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:345,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - std::optional<interfaces::BlockRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 365
    functionName: CoinStatsIndex::CustomInit
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - LogError
    - Read
    - LookUpOne
    - GetName
    - Finalize
    - Exists
    - uint256::uint256
    linkageType: ''
    returnType: bool
    signature: bool CoinStatsIndex::CustomInit(const std::optional<interfaces::BlockRef>&
      block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' batch'
    argTypes:
    - CDBBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: CoinStatsIndex::CustomCommit
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: bool
    signature: bool CoinStatsIndex::CustomCommit(CDBBatch& batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: CoinStatsIndex::CustomOptions
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interfaces::Chain::NotifyOptions
    signature: interfaces::Chain::NotifyOptions CoinStatsIndex::CustomOptions()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:389,1
    - Dst: Params
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:389,1
    - Dst: Read
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:394,1
    - Dst: DBHeightKey
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:394,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:400,1
    - Dst: std::pair::first::ToString
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:401,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:401,1
    - Dst: Read
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:403,1
    - Dst: DBHashKey
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:403,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:404,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:405,1
    - Dst: assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:412,1
    - Dst: assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:413,1
    - Dst: data::vtx::size
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:414,1
    - Dst: data::vtx::at
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:415,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:417,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:419,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:420,1
    - Dst: Coin::out::scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:423,1
    - Dst: RemoveCoinHash
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:429,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:431,1
    - Dst: GetBogoSize
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:439,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:443,1
    - Dst: undo_data::vtxundo::at
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:444,1
    - Dst: vprevout::size
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:446,1
    - Dst: ApplyCoinHash
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:450,1
    - Dst: GetBogoSize
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:456,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:466,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:467,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:468,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:470,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:471,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:472,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:473,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:474,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:475,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:476,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:477,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:478,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:479,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:480,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/coinstatsindex.cpp:481,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 60
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - interfaces::BlockInfo
    assertStmts:
    - condition: (block.undo_data)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/bitcoin-core/src/index/coinstatsindex.cpp
    - condition: (block.data)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/bitcoin-core/src/index/coinstatsindex.cpp
    constantsTouched: []
    func_position:
      end: 484
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 484
    functionName: CoinStatsIndex::ReverseBlock
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.cpp
    functionUses: 1
    functionsReached:
    - GetBogoSize
    - DBHeightKey
    - GetHash
    - data::vtx::size
    - Finalize
    - ApplyCoinHash
    - Coin::out::scriptPubKey::IsUnspendable
    - vprevout::size
    - LogWarning
    - LogError
    - GetBlockSubsidy
    - uint256::ToString
    - vout::size
    - Params
    - Assert
    - assert
    - uint256::uint256
    - RemoveCoinHash
    - std::pair::first::ToString
    - Read
    - IsCoinBase
    - data::vtx::at
    - DBHashKey
    - undo_data::vtxundo::at
    linkageType: ''
    returnType: bool
    signature: bool CoinStatsIndex::ReverseBlock(const interfaces::BlockInfo& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: BaseIndex::CustomOptions
    functionSourceFile: /src/bitcoin-core/src/index/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interfaces::Chain::NotifyOptions
    signature: interfaces::Chain::NotifyOptions CustomOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - std::optional<interfaces::BlockRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: BaseIndex::CustomInit
    functionSourceFile: /src/bitcoin-core/src/index/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CustomInit(const std::optional<interfaces::BlockRef>& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - interfaces::BlockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: BaseIndex::CustomAppend
    functionSourceFile: /src/bitcoin-core/src/index/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CustomAppend(const interfaces::BlockInfo& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' batch'
    argTypes:
    - CDBBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: BaseIndex::CustomCommit
    functionSourceFile: /src/bitcoin-core/src/index/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CustomCommit(CDBBatch& batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - interfaces::BlockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: BaseIndex::CustomRemove
    functionSourceFile: /src/bitcoin-core/src/index/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CustomRemove(const interfaces::BlockInfo& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: '& GetName() const'
    functionSourceFile: /src/bitcoin-core/src/index/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GetName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/index/base.cpp:39,1
    - Dst: node::AbortNode
      Src: /src/bitcoin-core/src/index/base.cpp:40,1
    - Dst: context
      Src: /src/bitcoin-core/src/index/base.cpp:40,1
    - Dst: context
      Src: /src/bitcoin-core/src/index/base.cpp:40,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/index/base.cpp:40,1
    - Dst: context
      Src: /src/bitcoin-core/src/index/base.cpp:40,1
    - Dst: get
      Src: /src/bitcoin-core/src/index/base.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - util::ConstevalFormatString<sizeof...(Args)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: BaseIndex::FatalErrorf
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - context
    - node::AbortNode
    - tinyformat::detail::FormatArg::format
    - get
    - Untranslated
    linkageType: ''
    returnType: void
    signature: void BaseIndex::FatalErrorf(util::ConstevalFormatString<sizeof...(Args)>
      fmt, const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findBlock
      Src: /src/bitcoin-core/src/index/base.cpp:46,1
    - Dst: interfaces::FoundBlock
      Src: /src/bitcoin-core/src/index/base.cpp:46,1
    - Dst: assert
      Src: /src/bitcoin-core/src/index/base.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/index/base.cpp:48,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/index/base.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' chain'
    - ' block_hash'
    argTypes:
    - interfaces::Chain
    - uint256
    assertStmts:
    - condition: (found)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bitcoin-core/src/index/base.cpp
    - condition: (!locator.IsNull())
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/index/base.cpp
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: GetLocator
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 7
    functionsReached:
    - assert
    - interfaces::FoundBlock
    - findBlock
    - CBlockLocator::IsNull
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator GetLocator(interfaces::Chain& chain, const uint256& block_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/index/base.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' path'
    - n_cache_size
    - f_memory
    - f_wipe
    - f_obfuscate
    argTypes:
    - fs::path
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: BaseIndex::DB::DB(const fs::path& path, size_t n_cache_size, bool
      f_memory, bool f_wipe, bool f_obfuscate)
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - node::ReadDatabaseArgs
    linkageType: ''
    returnType: void
    signature: void BaseIndex::DB::DB(const fs::path& path, size_t n_cache_size, bool
      f_memory, bool f_wipe, bool f_obfuscate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/index/base.cpp:64,1
    - Dst: SetNull
      Src: /src/bitcoin-core/src/index/base.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: BaseIndex::DB::ReadBestBlock(CBlockLocator& locator) const
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - Read
    - SetNull
    linkageType: ''
    returnType: bool
    signature: bool BaseIndex::DB::ReadBestBlock(CBlockLocator& locator) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/index/base.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' batch'
    - ' locator'
    argTypes:
    - CDBBatch
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: BaseIndex::DB::WriteBestBlock(CDBBatch& batch, const CBlockLocator&
      locator)
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: void
    signature: void BaseIndex::DB::WriteBestBlock(CDBBatch& batch, const CBlockLocator&
      locator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/base.cpp:77,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/base.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - chain
    - name
    argTypes:
    - std::unique_ptr<interfaces::Chain>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: BaseIndex::BaseIndex
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BaseIndex::BaseIndex(std::unique_ptr<interfaces::Chain> chain,
      std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseIndex::Interrupt
      Src: /src/bitcoin-core/src/index/base.cpp:81,1
    - Dst: BaseIndex::Stop
      Src: /src/bitcoin-core/src/index/base.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: BaseIndex::~BaseIndex()
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - BaseIndex::Stop
    - BaseIndex::Interrupt
    linkageType: ''
    returnType: void
    signature: void BaseIndex::~BaseIndex()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/index/base.cpp:87,1
    - Dst: reset
      Src: /src/bitcoin-core/src/index/base.cpp:90,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/index/base.cpp:94,1
    - Dst: context
      Src: /src/bitcoin-core/src/index/base.cpp:95,1
    - Dst: GetChainstateForIndexing
      Src: /src/bitcoin-core/src/index/base.cpp:95,1
    - Dst: context
      Src: /src/bitcoin-core/src/index/base.cpp:98,1
    - Dst: RegisterValidationInterface
      Src: /src/bitcoin-core/src/index/base.cpp:98,1
    - Dst: GetDB
      Src: /src/bitcoin-core/src/index/base.cpp:101,1
    - Dst: CBlockLocator::SetNull
      Src: /src/bitcoin-core/src/index/base.cpp:102,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/index/base.cpp:105,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/index/base.cpp:108,1
    - Dst: BaseIndex::SetBestBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:109,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:113,1
    - Dst: CBlockLocator::vHave::at
      Src: /src/bitcoin-core/src/index/base.cpp:113,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/index/base.cpp:115,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/index/base.cpp:115,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/index/base.cpp:115,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:115,1
    - Dst: BaseIndex::SetBestBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:117,1
    - Dst: load
      Src: /src/bitcoin-core/src/index/base.cpp:121,1
    - Dst: BaseIndex::CustomInit
      Src: /src/bitcoin-core/src/index/base.cpp:122,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/index/base.cpp:122,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:122,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/index/base.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 132
    functionName: BaseIndex::Init
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - CBlockLocator::SetNull
    - load
    - GetChainstateForIndexing
    - GetName
    - BaseIndex::CustomInit
    - BaseIndex::SetBestBlockIndex
    - context
    - std::make_optional
    - CBlockIndex*::GetBlockHash
    - Untranslated
    - GetDB
    - AssertLockNotHeld
    - WITH_LOCK
    - m_blockman::LookupBlockIndex
    - strprintf
    - CBlockLocator::IsNull
    - Tip
    - RegisterValidationInterface
    - InitError
    - LOCK
    - CBlockLocator::vHave::at
    - reset
    linkageType: ''
    returnType: bool
    signature: bool BaseIndex::Init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/index/base.cpp:136,1
    - Dst: Genesis
      Src: /src/bitcoin-core/src/index/base.cpp:139,1
    - Dst: Next
      Src: /src/bitcoin-core/src/index/base.cpp:142,1
    - Dst: Next
      Src: /src/bitcoin-core/src/index/base.cpp:149,1
    - Dst: FindFork
      Src: /src/bitcoin-core/src/index/base.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 17
    functionsReached:
    - FindFork
    - AssertLockHeld
    - Next
    - Genesis
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/index/base.cpp:154,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/index/base.cpp:156,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/index/base.cpp:158,1
    - Dst: BaseIndex::FatalErrorf
      Src: /src/bitcoin-core/src/index/base.cpp:159,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:160,1
    - Dst: BaseIndex::CustomOptions
      Src: /src/bitcoin-core/src/index/base.cpp:167,1
    - Dst: m_blockman::ReadBlockUndo
      Src: /src/bitcoin-core/src/index/base.cpp:168,1
    - Dst: BaseIndex::FatalErrorf
      Src: /src/bitcoin-core/src/index/base.cpp:169,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:170,1
    - Dst: BaseIndex::CustomAppend
      Src: /src/bitcoin-core/src/index/base.cpp:176,1
    - Dst: BaseIndex::FatalErrorf
      Src: /src/bitcoin-core/src/index/base.cpp:177,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pindex
    - block_data
    argTypes:
    - CBlockIndex*
    - CBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 183
    functionName: BaseIndex::ProcessBlock
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - BaseIndex::CustomOptions
    - kernel::MakeBlockInfo
    - BaseIndex::FatalErrorf
    - CBlock::CBlock
    - m_blockman::ReadBlockUndo
    - CBlockIndex*::GetBlockHash
    - m_blockman::ReadBlock
    - BaseIndex::CustomAppend
    linkageType: ''
    returnType: bool
    signature: bool BaseIndex::ProcessBlock(const CBlockIndex* pindex, const CBlock*
      block_data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/index/base.cpp:187,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/index/base.cpp:193,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:193,1
    - Dst: BaseIndex::SetBestBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:195,1
    - Dst: BaseIndex::Commit
      Src: /src/bitcoin-core/src/index/base.cpp:199,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/index/base.cpp:203,1
    - Dst: NextSyncBlock
      Src: /src/bitcoin-core/src/index/base.cpp:203,1
    - Dst: BaseIndex::SetBestBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:207,1
    - Dst: BaseIndex::Commit
      Src: /src/bitcoin-core/src/index/base.cpp:209,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/index/base.cpp:216,1
    - Dst: NextSyncBlock
      Src: /src/bitcoin-core/src/index/base.cpp:217,1
    - Dst: BaseIndex::Rewind
      Src: /src/bitcoin-core/src/index/base.cpp:223,1
    - Dst: BaseIndex::FatalErrorf
      Src: /src/bitcoin-core/src/index/base.cpp:224,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:224,1
    - Dst: BaseIndex::ProcessBlock
      Src: /src/bitcoin-core/src/index/base.cpp:230,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/index/base.cpp:232,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/index/base.cpp:234,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:235,1
    - Dst: BaseIndex::SetBestBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:240,1
    - Dst: BaseIndex::Commit
      Src: /src/bitcoin-core/src/index/base.cpp:243,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/index/base.cpp:249,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:249,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/index/base.cpp:251,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:251,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 253
    functionName: BaseIndex::Sync
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - BaseIndex::Commit
    - BaseIndex::Rewind
    - BaseIndex::ProcessBlock
    - WITH_LOCK
    - load
    - GetName
    - LogInfo
    - LOCK
    - BaseIndex::FatalErrorf
    - NextSyncBlock
    - wallet::WalletRescanReserver::now
    - BaseIndex::SetBestBlockIndex
    linkageType: ''
    returnType: void
    signature: void BaseIndex::Sync()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BaseIndex::CustomCommit
      Src: /src/bitcoin-core/src/index/base.cpp:262,1
    - Dst: GetDB
      Src: /src/bitcoin-core/src/index/base.cpp:264,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/index/base.cpp:264,1
    - Dst: load
      Src: /src/bitcoin-core/src/index/base.cpp:264,1
    - Dst: GetDB
      Src: /src/bitcoin-core/src/index/base.cpp:265,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/base.cpp:269,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 273
    functionName: BaseIndex::Commit
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 1
    functionsReached:
    - BaseIndex::CustomCommit
    - GetDB
    - LogError
    - load
    - GetName
    - GetLocator
    linkageType: ''
    returnType: bool
    signature: bool BaseIndex::Commit()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/index/base.cpp:277,1
    - Dst: assert
      Src: /src/bitcoin-core/src/index/base.cpp:278,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/index/base.cpp:278,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/index/base.cpp:280,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/index/base.cpp:284,1
    - Dst: BaseIndex::CustomOptions
      Src: /src/bitcoin-core/src/index/base.cpp:285,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/index/base.cpp:286,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/base.cpp:287,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:288,1
    - Dst: BaseIndex::CustomOptions
      Src: /src/bitcoin-core/src/index/base.cpp:293,1
    - Dst: m_blockman::ReadBlockUndo
      Src: /src/bitcoin-core/src/index/base.cpp:294,1
    - Dst: BaseIndex::CustomRemove
      Src: /src/bitcoin-core/src/index/base.cpp:299,1
    - Dst: BaseIndex::SetBestBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:309,1
    - Dst: BaseIndex::Commit
      Src: /src/bitcoin-core/src/index/base.cpp:310,1
    - Dst: BaseIndex::SetBestBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - current_tip
    - new_tip
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    assertStmts:
    - condition: (current_tip == m_best_block_index)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/bitcoin-core/src/index/base.cpp
    - condition: (current_tip->GetAncestor(new_tip->nHeight) == new_tip)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/bitcoin-core/src/index/base.cpp
    constantsTouched: []
    func_position:
      end: 317
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 317
    functionName: BaseIndex::Rewind
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 1
    functionsReached:
    - BaseIndex::Commit
    - LogError
    - BaseIndex::CustomOptions
    - kernel::MakeBlockInfo
    - CBlock::CBlock
    - m_blockman::ReadBlockUndo
    - CBlockIndex*::GetAncestor
    - CBlockIndex*::GetBlockHash
    - m_blockman::ReadBlock
    - BaseIndex::CustomRemove
    - assert
    - BaseIndex::SetBestBlockIndex
    linkageType: ''
    returnType: bool
    signature: bool BaseIndex::Rewind(const CBlockIndex* current_tip, const CBlockIndex*
      new_tip)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/index/base.cpp:336,1
    - Dst: BaseIndex::FatalErrorf
      Src: /src/bitcoin-core/src/index/base.cpp:339,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/index/base.cpp:349,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/index/base.cpp:350,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:352,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:353,1
    - Dst: BaseIndex::Rewind
      Src: /src/bitcoin-core/src/index/base.cpp:356,1
    - Dst: BaseIndex::FatalErrorf
      Src: /src/bitcoin-core/src/index/base.cpp:357,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:358,1
    - Dst: BaseIndex::ProcessBlock
      Src: /src/bitcoin-core/src/index/base.cpp:364,1
    - Dst: get
      Src: /src/bitcoin-core/src/index/base.cpp:364,1
    - Dst: BaseIndex::SetBestBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - role
    - ' block'
    - pindex
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 371
    functionName: BaseIndex::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - BaseIndex::Rewind
    - BaseIndex::ProcessBlock
    - load
    - BaseIndex::FatalErrorf
    - GetName
    - LogWarning
    - CBlockIndex*::GetAncestor
    - CBlockIndex*::GetBlockHash
    - get
    - BaseIndex::SetBestBlockIndex
    linkageType: ''
    returnType: void
    signature: void BaseIndex::BlockConnected(ChainstateRole role, const std::shared_ptr<const
      CBlock>& block, const CBlockIndex* pindex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vHave::front
      Src: /src/bitcoin-core/src/index/base.cpp:385,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/index/base.cpp:388,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/index/base.cpp:389,1
    - Dst: BaseIndex::FatalErrorf
      Src: /src/bitcoin-core/src/index/base.cpp:393,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/index/base.cpp:394,1
    - Dst: load
      Src: /src/bitcoin-core/src/index/base.cpp:403,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/index/base.cpp:404,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/index/base.cpp:405,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/index/base.cpp:407,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:408,1
    - Dst: BaseIndex::Commit
      Src: /src/bitcoin-core/src/index/base.cpp:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - role
    - ' locator'
    argTypes:
    - ChainstateRole
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 416
    functionName: BaseIndex::ChainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - BaseIndex::Commit
    - ToString
    - load
    - BaseIndex::FatalErrorf
    - LOCK
    - m_blockman::LookupBlockIndex
    - CBlockIndex*::GetAncestor
    - LogWarning
    - CBlockIndex*::GetBlockHash
    - vHave::front
    linkageType: ''
    returnType: void
    signature: void BaseIndex::ChainStateFlushed(ChainstateRole role, const CBlockLocator&
      locator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/index/base.cpp:420,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/index/base.cpp:429,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/index/base.cpp:430,1
    - Dst: load
      Src: /src/bitcoin-core/src/index/base.cpp:431,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/index/base.cpp:432,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/index/base.cpp:437,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:437,1
    - Dst: context
      Src: /src/bitcoin-core/src/index/base.cpp:438,1
    - Dst: SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/index/base.cpp:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 440
    functionName: BaseIndex::BlockUntilSyncedToCurrentChain
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - context
    - SyncWithValidationInterfaceQueue
    - AssertLockNotHeld
    - load
    - GetName
    - LogInfo
    - LOCK
    - CBlockIndex*::GetAncestor
    - m_chain::Tip
    linkageType: ''
    returnType: bool
    signature: bool BaseIndex::BlockUntilSyncedToCurrentChain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_interrupt
      Src: /src/bitcoin-core/src/index/base.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: BaseIndex::Interrupt
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 1
    functionsReached:
    - m_interrupt
    linkageType: ''
    returnType: void
    signature: void BaseIndex::Interrupt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/index/base.cpp:449,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/index/base.cpp:451,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:451,1
    - Dst: BaseIndex::Sync
      Src: /src/bitcoin-core/src/index/base.cpp:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 4
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: BaseIndex::StartBackgroundSync
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - BaseIndex::Sync
    - std::thread
    - std::logic_error
    - GetName
    linkageType: ''
    returnType: bool
    signature: bool BaseIndex::StartBackgroundSync()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/bitcoin-core/src/index/base.cpp:457,1
    - Dst: context
      Src: /src/bitcoin-core/src/index/base.cpp:458,1
    - Dst: UnregisterValidationInterface
      Src: /src/bitcoin-core/src/index/base.cpp:458,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/index/base.cpp:461,1
    - Dst: join
      Src: /src/bitcoin-core/src/index/base.cpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: BaseIndex::Stop
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 1
    functionsReached:
    - join
    - context
    - joinable
    - UnregisterValidationInterface
    linkageType: ''
    returnType: void
    signature: void BaseIndex::Stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:469,1
    - Dst: load
      Src: /src/bitcoin-core/src/index/base.cpp:471,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:473,1
    - Dst: getBlockHash
      Src: /src/bitcoin-core/src/index/base.cpp:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 479
    functionName: BaseIndex::GetSummary
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 0
    functionsReached:
    - GetBlockHash
    - getBlockHash
    - load
    - GetName
    linkageType: ''
    returnType: IndexSummary
    signature: IndexSummary BaseIndex::GetSummary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/index/base.cpp:483,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/index/base.cpp:483,1
    - Dst: AllowPrune
      Src: /src/bitcoin-core/src/index/base.cpp:483,1
    - Dst: AllowPrune
      Src: /src/bitcoin-core/src/index/base.cpp:485,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/index/base.cpp:488,1
    - Dst: m_blockman::UpdatePruneLock
      Src: /src/bitcoin-core/src/index/base.cpp:488,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/base.cpp:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - block
    argTypes:
    - CBlockIndex*
    assertStmts:
    - condition: (!m_chainstate->m_blockman.IsPruneMode() || AllowPrune())
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/bitcoin-core/src/index/base.cpp
    constantsTouched: []
    func_position:
      end: 498
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 498
    functionName: BaseIndex::SetBestBlockIndex
    functionSourceFile: /src/bitcoin-core/src/index/base.cpp
    functionUses: 4
    functionsReached:
    - WITH_LOCK
    - GetName
    - AllowPrune
    - m_blockman::UpdatePruneLock
    - assert
    - m_blockman::IsPruneMode
    linkageType: ''
    returnType: void
    signature: void BaseIndex::SetBestBlockIndex(const CBlockIndex* block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/disktxpos.h:17,1
    - Dst: AsBase
      Src: /src/bitcoin-core/src/index/disktxpos.h:17,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/index/disktxpos.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/index/disktxpos.h
    functionUses: 0
    functionsReached:
    - AsBase
    - VARINT
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CDiskTxPos, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - blockIn
    - nTxOffsetIn
    argTypes:
    - FlatFilePos
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: CDiskTxPos
    functionSourceFile: /src/bitcoin-core/src/index/disktxpos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CDiskTxPos(const FlatFilePos &blockIn, unsigned int nTxOffsetIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: CDiskTxPos
    functionSourceFile: /src/bitcoin-core/src/index/disktxpos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CDiskTxPos()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: BlockFilterIndex::AllowPrune
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowPrune() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: BlockFilterIndex::override
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIFETIMEBOUND
    signature: LIFETIMEBOUND override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: BlockFilterIndex::GetFilterType
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockFilterType
    signature: BlockFilterType GetFilterType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/index/txindex.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - n_cache_size
    - f_memory
    - f_wipe
    argTypes:
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: TxIndex::DB::DB(size_t n_cache_size, bool f_memory, bool f_wipe)
    functionSourceFile: /src/bitcoin-core/src/index/txindex.cpp
    functionUses: 0
    functionsReached:
    - GetDataDirNet
    linkageType: ''
    returnType: void
    signature: void TxIndex::DB::DB(size_t n_cache_size, bool f_memory, bool f_wipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/index/txindex.cpp:39,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/index/txindex.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txid
    - ' pos'
    argTypes:
    - uint256
    - CDiskTxPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: TxIndex::DB::ReadTxPos(const uint256 &txid, CDiskTxPos& pos) const
    functionSourceFile: /src/bitcoin-core/src/index/txindex.cpp
    functionUses: 0
    functionsReached:
    - Read
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool TxIndex::DB::ReadTxPos(const uint256 &txid, CDiskTxPos& pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/index/txindex.cpp:46,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/index/txindex.cpp:46,1
    - Dst: WriteBatch
      Src: /src/bitcoin-core/src/index/txindex.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' v_pos'
    argTypes:
    - std::vector<std::pair<uint256, CDiskTxPos>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: TxIndex::DB::WriteTxs(const std::vector<std::pair<uint256, CDiskTxPos>>&
      v_pos)
    functionSourceFile: /src/bitcoin-core/src/index/txindex.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - CDBBatch::Write
    - WriteBatch
    linkageType: ''
    returnType: bool
    signature: bool TxIndex::DB::WriteTxs(const std::vector<std::pair<uint256, CDiskTxPos>>&
      v_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/txindex.cpp:52,1
    - Dst: std::make_unique<TxIndex::DB>
      Src: /src/bitcoin-core/src/index/txindex.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - chain
    - n_cache_size
    - f_memory
    - f_wipe
    argTypes:
    - std::unique_ptr<interfaces::Chain>
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: TxIndex::TxIndex
    functionSourceFile: /src/bitcoin-core/src/index/txindex.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<TxIndex::DB>
    - std::move
    linkageType: ''
    returnType: void
    signature: void TxIndex::TxIndex(std::unique_ptr<interfaces::Chain> chain, size_t
      n_cache_size, bool f_memory, bool f_wipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: TxIndex::~TxIndex()
    functionSourceFile: /src/bitcoin-core/src/index/txindex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxIndex::~TxIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/index/txindex.cpp:62,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/index/txindex.cpp:63,1
    - Dst: data::vtx::size
      Src: /src/bitcoin-core/src/index/txindex.cpp:63,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/index/txindex.cpp:65,1
    - Dst: data::vtx::size
      Src: /src/bitcoin-core/src/index/txindex.cpp:65,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/index/txindex.cpp:67,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/index/txindex.cpp:67,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/index/txindex.cpp:68,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/index/txindex.cpp:68,1
    - Dst: WriteTxs
      Src: /src/bitcoin-core/src/index/txindex.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - interfaces::BlockInfo
    assertStmts:
    - condition: (block.data)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/index/txindex.cpp
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: TxIndex::CustomAppend
    functionSourceFile: /src/bitcoin-core/src/index/txindex.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - GetSerializeSize
    - GetHash
    - data::vtx::size
    - std::vector::reserve
    - GetSizeOfCompactSize
    - WriteTxs
    - TX_WITH_WITNESS
    - assert
    linkageType: ''
    returnType: bool
    signature: bool TxIndex::CustomAppend(const interfaces::BlockInfo& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& TxIndex::GetDB() const'
    functionSourceFile: /src/bitcoin-core/src/index/txindex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseIndex::DB
    signature: BaseIndex::DB & TxIndex::GetDB() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReadTxPos
      Src: /src/bitcoin-core/src/index/txindex.cpp:78,1
    - Dst: m_blockman::OpenBlockFile
      Src: /src/bitcoin-core/src/index/txindex.cpp:82,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/index/txindex.cpp:83,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/txindex.cpp:84,1
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/index/txindex.cpp:87,1
    - Dst: AutoFile::seek
      Src: /src/bitcoin-core/src/index/txindex.cpp:90,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/index/txindex.cpp:91,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/txindex.cpp:93,1
    - Dst: what
      Src: /src/bitcoin-core/src/index/txindex.cpp:93,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/index/txindex.cpp:96,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/txindex.cpp:97,1
    - Dst: CBlockHeader::GetHash
      Src: /src/bitcoin-core/src/index/txindex.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ' tx_hash'
    - ' block_hash'
    - ' tx'
    argTypes:
    - uint256
    - uint256
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: TxIndex::FindTx
    functionSourceFile: /src/bitcoin-core/src/index/txindex.cpp
    functionUses: 0
    functionsReached:
    - ReadTxPos
    - LogError
    - AutoFile::IsNull
    - GetHash
    - CBlockHeader::GetHash
    - AutoFile::seek
    - CBlockHeader::CBlockHeader
    - what
    - TX_WITH_WITNESS
    - m_blockman::OpenBlockFile
    linkageType: ''
    returnType: bool
    signature: bool TxIndex::FindTx(const uint256& tx_hash, uint256& block_hash, CTransactionRef&
      tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: TxIndex::AllowPrune
    functionSourceFile: /src/bitcoin-core/src/index/txindex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowPrune() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(DBVal, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - height_in
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: DBHeightKey
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBHeightKey(int height_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:65,1
    - Dst: ser_writedata32be
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 23
    functionsReached:
    - ser_writedata8
    - ser_writedata32be
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:72,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:74,1
    - Dst: ser_readdata32be
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 22
    functionsReached:
    - std::ios_base::failure
    - ser_readdata8
    - ser_readdata32be
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash_in'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: DBHashKey
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBHashKey(const uint256& hash_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:87,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:89,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - std::ios_base::failure
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(DBHashKey, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(DBVal, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - height_in
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: DBHeightKey
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBHeightKey(int height_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_writedata8
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:65,1
    - Dst: ser_writedata32be
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 23
    functionsReached:
    - ser_writedata8
    - ser_writedata32be
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ser_readdata8
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:72,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:74,1
    - Dst: ser_readdata32be
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 22
    functionsReached:
    - std::ios_base::failure
    - ser_readdata8
    - ser_readdata32be
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash_in'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: DBHashKey
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBHashKey(const uint256& hash_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:87,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:89,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - std::ios_base::failure
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(DBHashKey, obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:102,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:102,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:105,1
    - Dst: empty
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:106,1
    - Dst: std::invalid_argument
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:106,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:108,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:108,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:109,1
    - Dst: std::make_unique<BaseIndex::DB>
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:111,1
    - Dst: std::make_unique<FlatFileSeq>
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:112,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - chain
    - filter_type
    - n_cache_size
    - f_memory
    - f_wipe
    argTypes:
    - std::unique_ptr<interfaces::Chain>
    - BlockFilterType
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: BlockFilterIndex::BlockFilterIndex
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BaseIndex::DB>
    - empty
    - fs::u8path
    - std::move
    - GetDataDirNet
    - std::make_unique<FlatFileSeq>
    - fs::create_directories
    - BlockFilterTypeName
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: "void BlockFilterIndex::BlockFilterIndex(std::unique_ptr<interfaces::Chain>
      chain, BlockFilterType filter_type,\n                                   size_t
      n_cache_size, bool f_memory, bool f_wipe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: BlockFilterIndex::CustomOptions
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interfaces::Chain::NotifyOptions
    signature: interfaces::Chain::NotifyOptions BlockFilterIndex::CustomOptions()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:124,1
    - Dst: Exists
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:128,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:129,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:130,1
    - Dst: BlockFilterIndex::ReadFilterHeader
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:140,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - std::optional<interfaces::BlockRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 149
    functionName: BlockFilterIndex::CustomInit
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - LogError
    - Read
    - GetName
    - BlockFilterIndex::ReadFilterHeader
    - Exists
    linkageType: ''
    returnType: bool
    signature: bool BlockFilterIndex::CustomInit(const std::optional<interfaces::BlockRef>&
      block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:156,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:157,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:158,1
    - Dst: AutoFile::Commit
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:161,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:162,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:163,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:166,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:167,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:167,1
    - Dst: BlockFilterIndex::Write
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' batch'
    argTypes:
    - CDBBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: BlockFilterIndex::CustomCommit
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::IsNull
    - AutoFile::Commit
    - LogError
    - AutoFile::fclose
    - SysErrorString
    - Open
    - BlockFilterIndex::Write
    linkageType: ''
    returnType: bool
    signature: bool BlockFilterIndex::CustomCommit(CDBBatch& batch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:177,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:178,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:183,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:187,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:188,1
    - Dst: BlockFilter
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:191,1
    - Dst: BlockFilterIndex::GetFilterType
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:191,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:191,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:194,1
    - Dst: what
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ' pos'
    - ' hash'
    - ' filter'
    argTypes:
    - FlatFilePos
    - uint256
    - BlockFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: BlockFilterIndex::ReadFilterFromDisk
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - Hash
    - AutoFile::IsNull
    - LogError
    - std::move
    - BlockFilter
    - BlockFilterIndex::GetFilterType
    - what
    - Open
    - uint256::uint256
    linkageType: ''
    returnType: bool
    signature: bool BlockFilterIndex::ReadFilterFromDisk(const FlatFilePos& pos, const
      uint256& hash, BlockFilter& filter) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:203,1
    - Dst: BlockFilterIndex::GetFilterType
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:203,1
    - Dst: BlockFilterIndex::GetFilterType
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:203,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:206,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:206,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:207,1
    - Dst: GetEncodedFilter
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:207,1
    - Dst: Open
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:211,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:212,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:213,1
    - Dst: AutoFile::Truncate
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:216,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:217,1
    - Dst: AutoFile::Commit
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:220,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:221,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:222,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:225,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:226,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:226,1
    - Dst: Allocate
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:236,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:238,1
    - Dst: Open
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:242,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:243,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:244,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:248,1
    - Dst: GetEncodedFilter
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:248,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:250,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:251,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - ' pos'
    - ' filter'
    argTypes:
    - FlatFilePos
    - BlockFilter
    assertStmts:
    - condition: (filter.GetFilterType() == GetFilterType())
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/bitcoin-core/src/index/blockfilterindex.cpp
    constantsTouched: []
    func_position:
      end: 256
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 256
    functionName: BlockFilterIndex::WriteFilterToDisk
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - GetEncodedFilter
    - Allocate
    - AutoFile::IsNull
    - LogError
    - GetSerializeSize
    - AutoFile::Commit
    - AutoFile::fclose
    - AutoFile::Truncate
    - BlockFilterIndex::GetFilterType
    - SysErrorString
    - Open
    - assert
    - GetBlockHash
    linkageType: ''
    returnType: size_t
    signature: size_t BlockFilterIndex::WriteFilterToDisk(FlatFilePos& pos, const
      BlockFilter& filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:261,1
    - Dst: DBHeightKey
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:261,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:266,1
    - Dst: std::pair::first::ToString
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:267,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - height
    - ' expected_block_hash'
    argTypes:
    - int
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: BlockFilterIndex::ReadFilterHeader
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 1
    functionsReached:
    - std::pair::first::ToString
    - ToString
    - DBHeightKey
    - LogError
    - Read
    linkageType: ''
    returnType: std::optional<uint256>
    signature: std::optional<uint256> BlockFilterIndex::ReadFilterHeader(int height,
      const uint256& expected_block_hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:276,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:276,1
    - Dst: BlockFilter::ComputeHeader
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:277,1
    - Dst: BlockFilterIndex::Write
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - interfaces::BlockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: BlockFilterIndex::CustomAppend
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - BlockFilterIndex::Write
    - BlockFilter::ComputeHeader
    linkageType: ''
    returnType: bool
    signature: bool BlockFilterIndex::CustomAppend(const interfaces::BlockInfo& block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BlockFilterIndex::WriteFilterToDisk
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:285,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:289,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:290,1
    - Dst: BlockFilterIndex::Write
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:294,1
    - Dst: DBHeightKey
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' filter'
    - block_height
    - ' filter_header'
    argTypes:
    - BlockFilter
    - uint32_t
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: BlockFilterIndex::Write
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 3
    functionsReached:
    - DBHeightKey
    - GetHash
    - BlockFilterIndex::WriteFilterToDisk
    - BlockFilterIndex::Write
    - GetBlockHash
    linkageType: ''
    returnType: bool
    signature: bool BlockFilterIndex::Write(const BlockFilter& filter, uint32_t block_height,
      const uint256& filter_header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Seek
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:306,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:308,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:309,1
    - Dst: GetValue
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:315,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:316,1
    - Dst: Write
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:321,1
    - Dst: DBHashKey
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:321,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ' db_it'
    - ' batch'
    - ' index_name'
    - height
    argTypes:
    - CDBIterator
    - CDBBatch
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 323
    functionName: CopyHeightIndexToHashIndex
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 1
    functionsReached:
    - LogError
    - Seek
    - GetValue
    - std::move
    - Write
    - DBHashKey
    - GetKey
    linkageType: ''
    returnType: bool
    signature: "bool CopyHeightIndexToHashIndex(CDBIterator& db_it, CDBBatch& batch,\n
      \                                                    const std::string& index_name,
      int height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:328,1
    - Dst: CopyHeightIndexToHashIndex
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:333,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:340,1
    - Dst: WriteBatch
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:341,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:344,1
    - Dst: BlockFilterIndex::ReadFilterHeader
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:344,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - interfaces::BlockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 346
    functionName: BlockFilterIndex::CustomRemove
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - WriteBatch
    - CDBBatch::Write
    - NewIterator
    - Assert
    - CopyHeightIndexToHashIndex
    - BlockFilterIndex::ReadFilterHeader
    linkageType: ''
    returnType: bool
    signature: bool BlockFilterIndex::CustomRemove(const interfaces::BlockInfo& block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:353,1
    - Dst: DBHeightKey
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:353,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:356,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:357,1
    - Dst: Read
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:363,1
    - Dst: DBHashKey
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:363,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' db'
    - block_index
    - ' result'
    argTypes:
    - CDBWrapper
    - CBlockIndex*
    - DBVal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 364
    functionName: LookupOne
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - DBHeightKey
    - Read
    - std::move
    - CBlockIndex*::GetBlockHash
    - DBHashKey
    linkageType: ''
    returnType: bool
    signature: bool LookupOne(const CDBWrapper& db, const CBlockIndex* block_index,
      DBVal& result)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:370,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:374,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:379,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:383,1
    - Dst: std::unique_ptr::Seek
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:384,1
    - Dst: DBHeightKey
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:384,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:386,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:386,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:390,1
    - Dst: std::unique_ptr::GetValue
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:391,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:392,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:397,1
    - Dst: resize
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:400,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:407,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:409,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:411,1
    - Dst: Read
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:415,1
    - Dst: DBHashKey
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:415,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:416,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:417,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - ' db'
    - ' index_name'
    - start_height
    - stop_index
    - ' results'
    argTypes:
    - CDBWrapper
    - std::string
    - int
    - CBlockIndex*
    - std::vector<DBVal>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 423
    functionName: LookupRange
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::unique_ptr::Seek
    - DBHeightKey
    - LogError
    - std::unique_ptr::Valid
    - Read
    - DBHashKey
    - uint256::ToString
    - NewIterator
    - std::move
    - CBlockIndex*::GetBlockHash
    - std::unique_ptr::Next
    - std::unique_ptr::GetKey
    - resize
    - std::unique_ptr::GetValue
    linkageType: ''
    returnType: bool
    signature: "bool LookupRange(CDBWrapper& db, const std::string& index_name, int
      start_height,\n                        const CBlockIndex* stop_index, std::vector<DBVal>&
      results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LookupOne
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:428,1
    - Dst: BlockFilterIndex::ReadFilterFromDisk
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - block_index
    - ' filter_out'
    argTypes:
    - CBlockIndex*
    - BlockFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 5
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: BlockFilterIndex::LookupFilter
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - LookupOne
    - BlockFilterIndex::ReadFilterFromDisk
    linkageType: ''
    returnType: bool
    signature: bool BlockFilterIndex::LookupFilter(const CBlockIndex* block_index,
      BlockFilter& filter_out) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:437,1
    - Dst: find
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:443,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:443,1
    - Dst: end
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:444,1
    - Dst: LookupOne
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:451,1
    - Dst: size
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:456,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:458,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - block_index
    - ' header_out'
    argTypes:
    - CBlockIndex*
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 463
    functionName: BlockFilterIndex::LookupFilterHeader
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - end
    - LookupOne
    - emplace
    - size
    - LOCK
    - CBlockIndex*::GetBlockHash
    - find
    linkageType: ''
    returnType: bool
    signature: bool BlockFilterIndex::LookupFilterHeader(const CBlockIndex* block_index,
      uint256& header_out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LookupRange
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:469,1
    - Dst: resize
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:473,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:473,1
    - Dst: begin
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:474,1
    - Dst: BlockFilterIndex::ReadFilterFromDisk
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - start_height
    - stop_index
    - ' filters_out'
    argTypes:
    - int
    - CBlockIndex*
    - std::vector<BlockFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 465
    functionDepth: 5
    functionLinenumber: 465
    functionLinenumberEnd: 483
    functionName: BlockFilterIndex::LookupFilterRange
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - LookupRange
    - BlockFilterIndex::ReadFilterFromDisk
    - resize
    - std::vector::size
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool BlockFilterIndex::LookupFilterRange(int start_height, const CBlockIndex*
      stop_index,\n                                         std::vector<BlockFilter>&
      filters_out) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LookupRange
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:490,1
    - Dst: clear
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:494,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:495,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:495,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - start_height
    - stop_index
    - ' hashes_out'
    argTypes:
    - int
    - CBlockIndex*
    - std::vector<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: BlockFilterIndex::LookupFilterHashRange
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - LookupRange
    - push_back
    - clear
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: "bool BlockFilterIndex::LookupFilterHashRange(int start_height, const
      CBlockIndex* stop_index,\n                                             std::vector<uint256>&
      hashes_out) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:504,1
    - Dst: end
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter_type
    argTypes:
    - BlockFilterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: GetBlockFilterIndex
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 4
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: BlockFilterIndex
    signature: BlockFilterIndex * GetBlockFilterIndex(BlockFilterType filter_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - std::function<void (BlockFilterIndex&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: ForEachBlockFilterIndex
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: void
    signature: void ForEachBlockFilterIndex(std::function<void (BlockFilterIndex&)>
      fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:516,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:517,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:518,1
    - Dst: make_chain
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - make_chain
    - filter_type
    - n_cache_size
    - f_memory
    - f_wipe
    argTypes:
    - std::function<std::unique_ptr<interfaces::Chain>()>
    - BlockFilterType
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 521
    functionName: InitBlockFilterIndex
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 1
    functionsReached:
    - emplace
    - make_chain
    - std::forward_as_tuple
    linkageType: ''
    returnType: bool
    signature: "bool InitBlockFilterIndex(std::function<std::unique_ptr<interfaces::Chain>()>
      make_chain, BlockFilterType filter_type,\n                          size_t n_cache_size,
      bool f_memory, bool f_wipe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter_type
    argTypes:
    - BlockFilterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: DestroyBlockFilterIndex
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: bool
    signature: bool DestroyBlockFilterIndex(BlockFilterType filter_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/index/blockfilterindex.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: DestroyAllBlockFilterIndexes
    functionSourceFile: /src/bitcoin-core/src/index/blockfilterindex.cpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void DestroyAllBlockFilterIndexes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: CoinStatsIndex::AllowPrune
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowPrune() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& GetDB() const override'
    functionSourceFile: /src/bitcoin-core/src/index/coinstatsindex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseIndex::DB
    signature: BaseIndex::DB & GetDB() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: sha256d64_avx2::K
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_set1_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i K(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:19,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 2
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 3
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w, __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z, __m256i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:26,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_or_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_avx2::Or
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_or_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Or(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_and_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_avx2::And
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_and_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i And(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_srli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_avx2::ShR
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_srli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShR(__m256i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_slli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: sha256d64_avx2::ShL
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_slli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShL(__m256i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_avx2::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::And
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Ch(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_avx2::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::And
    - sha256d64_avx2::Or
    linkageType: ''
    returnType: __m256i
    signature: __m256i Maj(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_avx2::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma0(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_avx2::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma1(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_avx2::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma0(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sha256d64_avx2::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma1(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Ch
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Maj
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:44,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: sha256d64_avx2::ALWAYS_INLINE::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - Sigma0
    - Sigma1
    - Ch
    - Add
    - Maj
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Round(__m256i a, __m256i b, __m256i c, __m256i&
      d, __m256i e, __m256i f, __m256i g, __m256i& h, __m256i k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:49,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:50,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:51,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:52,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:53,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:54,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:55,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:56,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:57,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:59,1
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: sha256d64_avx2::Read8
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - _mm256_shuffle_epi8
    - _mm256_set_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Read8(const unsigned char* chunk, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:63,1
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:63,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:64,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:64,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:65,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:65,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:66,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:66,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:67,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:67,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:68,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:68,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:69,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:69,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:70,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:70,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:71,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: sha256d64_avx2::Write8
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - WriteLE32
    - _mm256_shuffle_epi8
    - _mm256_extract_epi32
    - _mm256_set_epi32
    linkageType: ''
    returnType: void
    signature: void Write8(unsigned char* out, int offset, __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: sha256d64_avx2::K
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_set1_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i K(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 6
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:19,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 7
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 8
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 9
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w, __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z, __m256i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 6
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:26,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 7
    functionsReached:
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_or_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_avx2::Or
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 5
    functionsReached:
    - _mm256_or_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Or(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_and_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_avx2::And
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 2
    functionsReached:
    - _mm256_and_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i And(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_srli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_avx2::ShR
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 4
    functionsReached:
    - _mm256_srli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShR(__m256i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_slli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: sha256d64_avx2::ShL
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 4
    functionsReached:
    - _mm256_slli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShL(__m256i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_avx2::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::And
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Ch(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_avx2::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::And
    - sha256d64_avx2::Or
    linkageType: ''
    returnType: __m256i
    signature: __m256i Maj(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_avx2::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma0(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_avx2::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma1(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_avx2::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma0(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sha256d64_avx2::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma1(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Ch
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Maj
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:44,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: sha256d64_avx2::ALWAYS_INLINE::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - Sigma0
    - Sigma1
    - Ch
    - Add
    - Maj
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Round(__m256i a, __m256i b, __m256i c, __m256i&
      d, __m256i e, __m256i f, __m256i g, __m256i& h, __m256i k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:49,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:50,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:51,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:52,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:53,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:54,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:55,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:56,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:57,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:59,1
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: sha256d64_avx2::Read8
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - _mm256_shuffle_epi8
    - _mm256_set_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Read8(const unsigned char* chunk, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:63,1
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:63,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:64,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:64,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:65,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:65,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:66,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:66,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:67,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:67,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:68,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:68,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:69,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:69,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:70,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:70,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:71,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: sha256d64_avx2::Write8
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - WriteLE32
    - _mm256_shuffle_epi8
    - _mm256_extract_epi32
    - _mm256_set_epi32
    linkageType: ''
    returnType: void
    signature: void Write8(unsigned char* out, int offset, __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:79,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:80,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:81,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:82,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:83,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:84,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:85,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:86,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:90,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:91,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:92,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:93,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:94,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:95,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:96,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:97,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:98,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:99,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:100,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:101,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:102,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:103,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:104,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:105,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:155,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:155,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:156,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:156,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:157,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:157,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:158,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:158,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:159,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:159,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:160,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:160,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:161,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:161,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:162,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:162,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:167,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:167,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:168,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:168,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:169,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:169,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:170,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:170,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:171,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:171,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:172,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:172,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:173,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:173,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:174,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:174,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:175,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:175,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:176,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:176,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:177,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:177,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:178,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:178,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:179,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:179,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:180,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:180,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:181,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:181,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:182,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:182,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:183,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:183,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:184,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:184,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:185,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:185,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:186,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:186,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:187,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:187,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:188,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:188,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:189,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:189,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:190,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:190,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:191,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:191,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:192,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:192,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:193,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:193,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:194,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:194,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:195,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:195,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:196,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:196,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:197,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:197,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:198,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:198,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:199,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:199,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:200,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:200,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:201,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:201,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:202,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:202,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:203,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:203,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:204,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:204,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:205,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:205,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:206,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:206,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:207,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:207,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:208,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:208,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:209,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:209,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:210,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:210,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:211,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:211,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:212,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:212,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:213,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:213,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:214,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:214,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:215,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:215,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:216,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:216,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:217,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:217,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:218,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:218,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:219,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:219,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:220,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:220,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:221,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:221,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:222,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:222,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:223,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:223,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:224,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:224,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:225,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:225,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:226,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:226,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:227,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:227,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:228,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:228,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:229,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:229,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:230,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:230,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:232,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:233,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:234,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:235,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:236,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:237,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:238,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:239,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:242,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:243,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:244,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:245,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:246,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:247,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:248,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:249,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:251,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:252,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:253,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:254,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:255,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:256,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:257,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:258,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:258,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:258,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:259,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:259,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:260,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:260,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:261,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:261,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:262,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:262,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:263,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:263,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:264,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:264,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:265,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:265,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:266,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:324,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:324,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 325
    functionName: sha256d64_avx2::Transform_8way
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    - sha256d64_avx2::Write8
    - sha256d64_avx2::Inc
    - Round
    - sha256d64_avx2::Read8
    - sha256d64_avx2::K
    - sha256d64_avx2::sigma1
    - sha256d64_avx2::sigma0
    linkageType: ''
    returnType: void
    signature: void Transform_8way(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: sha256d64_avx2::K
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - _mm256_set1_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i K(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 13
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:19,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 14
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 15
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 16
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w, __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z, __m256i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 12
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:26,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 13
    functionsReached:
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_or_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_avx2::Or
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 10
    functionsReached:
    - _mm256_or_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Or(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_and_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_avx2::And
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 4
    functionsReached:
    - _mm256_and_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i And(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_srli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_avx2::ShR
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 8
    functionsReached:
    - _mm256_srli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShR(__m256i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_slli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: sha256d64_avx2::ShL
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 8
    functionsReached:
    - _mm256_slli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShL(__m256i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_avx2::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::And
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Ch(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_avx2::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::And
    - sha256d64_avx2::Or
    linkageType: ''
    returnType: __m256i
    signature: __m256i Maj(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_avx2::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma0(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_avx2::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma1(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_avx2::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma0(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sha256d64_avx2::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma1(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Ch
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Maj
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:44,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: sha256d64_avx2::ALWAYS_INLINE::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - Sigma0
    - Sigma1
    - Ch
    - Add
    - Maj
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Round(__m256i a, __m256i b, __m256i c, __m256i&
      d, __m256i e, __m256i f, __m256i g, __m256i& h, __m256i k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:49,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:50,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:51,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:52,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:53,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:54,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:55,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:56,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:57,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:59,1
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: sha256d64_avx2::Read8
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - ReadLE32
    - _mm256_shuffle_epi8
    - _mm256_set_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Read8(const unsigned char* chunk, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:63,1
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:63,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:64,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:64,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:65,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:65,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:66,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:66,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:67,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:67,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:68,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:68,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:69,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:69,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:70,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:70,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:71,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: sha256d64_avx2::Write8
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - WriteLE32
    - _mm256_shuffle_epi8
    - _mm256_extract_epi32
    - _mm256_set_epi32
    linkageType: ''
    returnType: void
    signature: void Write8(unsigned char* out, int offset, __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: sha256d64_avx2::K
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - _mm256_set1_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i K(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 19
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:19,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 20
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 21
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 22
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w, __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z, __m256i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 18
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:26,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 19
    functionsReached:
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_or_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_avx2::Or
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 15
    functionsReached:
    - _mm256_or_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Or(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_and_si256
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_avx2::And
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 6
    functionsReached:
    - _mm256_and_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i And(__m256i x, __m256i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_srli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_avx2::ShR
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 12
    functionsReached:
    - _mm256_srli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShR(__m256i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_slli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: sha256d64_avx2::ShL
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 12
    functionsReached:
    - _mm256_slli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShL(__m256i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_avx2::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::And
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Ch(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::And
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_avx2::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::And
    - sha256d64_avx2::Or
    linkageType: ''
    returnType: __m256i
    signature: __m256i Maj(__m256i x, __m256i y, __m256i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_avx2::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma0(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_avx2::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma1(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_avx2::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma0(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::Or
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sha256d64_avx2::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma1(__m256i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Ch
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:42,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Maj
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:43,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:44,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: sha256d64_avx2::ALWAYS_INLINE::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - Sigma0
    - Sigma1
    - Ch
    - Add
    - Maj
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Round(__m256i a, __m256i b, __m256i c, __m256i&
      d, __m256i e, __m256i f, __m256i g, __m256i& h, __m256i k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:49,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:50,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:51,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:52,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:53,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:54,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:55,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:56,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:57,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:59,1
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: sha256d64_avx2::Read8
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - ReadLE32
    - _mm256_shuffle_epi8
    - _mm256_set_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Read8(const unsigned char* chunk, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:63,1
    - Dst: _mm256_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:63,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:64,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:64,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:65,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:65,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:66,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:66,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:67,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:67,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:68,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:68,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:69,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:69,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:70,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:70,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:71,1
    - Dst: _mm256_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: sha256d64_avx2::Write8
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - WriteLE32
    - _mm256_shuffle_epi8
    - _mm256_extract_epi32
    - _mm256_set_epi32
    linkageType: ''
    returnType: void
    signature: void Write8(unsigned char* out, int offset, __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:79,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:80,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:81,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:82,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:83,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:84,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:85,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:86,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:90,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:91,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:92,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:93,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:94,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:95,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:96,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:97,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:98,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:99,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:100,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:101,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:102,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:103,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:104,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:105,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:106,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:107,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:108,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:109,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:110,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:111,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:112,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:113,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:114,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:115,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:116,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:117,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:118,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:119,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:120,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:121,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:122,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:123,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:124,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:125,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:126,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:127,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:128,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:129,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:130,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:131,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:132,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:133,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:134,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:135,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:136,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:137,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:138,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:139,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:140,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:141,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:142,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:143,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:144,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:145,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:146,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:147,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:148,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:149,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:150,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:151,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:152,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:153,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:155,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:155,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:156,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:156,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:157,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:157,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:158,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:158,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:159,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:159,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:160,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:160,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:161,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:161,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:162,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:162,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:167,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:167,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:168,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:168,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:169,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:169,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:170,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:170,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:171,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:171,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:172,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:172,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:173,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:173,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:174,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:174,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:175,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:175,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:176,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:176,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:177,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:177,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:178,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:178,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:179,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:179,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:180,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:180,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:181,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:181,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:182,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:182,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:183,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:183,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:184,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:184,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:185,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:185,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:186,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:186,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:187,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:187,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:188,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:188,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:189,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:189,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:190,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:190,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:191,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:191,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:192,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:192,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:193,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:193,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:194,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:194,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:195,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:195,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:196,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:196,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:197,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:197,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:198,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:198,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:199,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:199,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:200,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:200,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:201,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:201,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:202,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:202,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:203,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:203,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:204,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:204,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:205,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:205,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:206,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:206,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:207,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:207,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:208,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:208,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:209,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:209,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:210,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:210,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:211,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:211,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:212,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:212,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:213,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:213,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:214,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:214,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:215,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:215,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:216,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:216,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:217,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:217,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:218,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:218,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:219,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:219,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:220,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:220,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:221,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:221,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:222,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:222,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:223,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:223,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:224,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:224,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:225,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:225,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:226,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:226,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:227,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:227,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:228,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:228,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:229,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:229,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:230,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:230,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:232,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:233,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:234,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:235,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:236,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:237,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:238,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:239,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:242,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:243,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:244,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:245,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:246,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:247,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:248,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:249,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:251,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:252,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:253,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:254,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:255,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:256,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:257,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:258,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:258,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:258,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:259,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:259,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:260,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:260,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:261,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:261,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:262,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:262,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:263,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:263,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:264,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:264,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:265,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:265,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:266,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:267,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:268,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:269,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:270,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:271,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:272,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:273,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:274,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:275,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:276,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:277,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:278,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:279,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:280,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:281,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:282,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:283,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:284,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:285,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:286,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:287,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:288,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:289,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:290,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:291,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:292,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:293,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:294,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:295,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:296,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:297,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:298,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:299,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:300,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:301,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:302,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:303,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:304,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:305,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:306,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:307,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:308,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:309,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:310,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:311,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:312,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:313,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:314,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:324,1
    - Dst: sha256d64_avx2::Add
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:324,1
    - Dst: sha256d64_avx2::K
      Src: /src/bitcoin-core/src/crypto/sha256_avx2.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 325
    functionName: sha256d64_avx2::Transform_8way
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    - sha256d64_avx2::Write8
    - sha256d64_avx2::Inc
    - Round
    - sha256d64_avx2::Read8
    - sha256d64_avx2::K
    - sha256d64_avx2::sigma1
    - sha256d64_avx2::sigma0
    linkageType: ''
    returnType: void
    signature: void Transform_8way(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: CSHA512::Size
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: extract3
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extract3(limb_t& c0, limb_t& c1, limb_t& c2, limb_t& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: mul
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mul(limb_t& c0, limb_t& c1, const limb_t& a, const limb_t& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' d0'
    - ' d1'
    - ' d2'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: mulnadd3
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mulnadd3(limb_t& c0, limb_t& c1, limb_t& c2, limb_t& d0, limb_t&
      d1, limb_t& d2, const limb_t& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' c0'
    - ' c1'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: muln2
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muln2(limb_t& c0, limb_t& c1, const limb_t& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: muladd3
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muladd3(limb_t& c0, limb_t& c1, limb_t& c2, const limb_t& a, const
      limb_t& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' a'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: addnextract2
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addnextract2(limb_t& c0, limb_t& c1, const limb_t& a, limb_t&
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: extract3
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extract3(limb_t& c0, limb_t& c1, limb_t& c2, limb_t& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: mul
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mul(limb_t& c0, limb_t& c1, const limb_t& a, const limb_t& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' d0'
    - ' d1'
    - ' d2'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: mulnadd3
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mulnadd3(limb_t& c0, limb_t& c1, limb_t& c2, limb_t& d0, limb_t&
      d1, limb_t& d2, const limb_t& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' c0'
    - ' c1'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: muln2
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muln2(limb_t& c0, limb_t& c1, const limb_t& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: muladd3
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muladd3(limb_t& c0, limb_t& c1, limb_t& c2, const limb_t& a, const
      limb_t& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' a'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: addnextract2
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addnextract2(limb_t& c0, limb_t& c1, const limb_t& a, limb_t&
      n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:117,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: Num3072::IsOverflow
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: bool
    signature: bool Num3072::IsOverflow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addnextract2
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: Num3072::FullReduce
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - addnextract2
    linkageType: ''
    returnType: void
    signature: void Num3072::FullReduce()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: Num3072Signed
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Num3072Signed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:157,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:162,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - Num3072
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: FromNum3072
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - limb_t
    linkageType: ''
    returnType: void
    signature: void FromNum3072(const Num3072& in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:174,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:182,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Num3072
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 184
    functionName: ToNum3072
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - double_limb_t
    - Assume
    linkageType: ''
    returnType: void
    signature: void ToNum3072(Num3072& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:195,1
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:196,1
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:198,1
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:209,1
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - negate
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: Normalize
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - signed_limb_t
    linkageType: ''
    returnType: void
    signature: void Normalize(bool negate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::countr_zero
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - eta
    - f
    - g
    - ' out'
    argTypes:
    - signed_limb_t
    - limb_t
    - limb_t
    - SignedMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 290
    functionName: ComputeDivstepMatrix
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - std::countr_zero
    linkageType: ''
    returnType: limb_t
    signature: limb_t ComputeDivstepMatrix(signed_limb_t eta, limb_t f, limb_t g,
      SignedMatrix& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:310,1
    - Dst: limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:311,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:316,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - ' d'
    - ' e'
    - ' t'
    argTypes:
    - Num3072Signed
    - Num3072Signed
    - SignedMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 343
    functionName: UpdateDE
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - limb_t
    linkageType: ''
    returnType: void
    signature: void UpdateDE(Num3072Signed& d, Num3072Signed& e, const SignedMatrix&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:362,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - ' f'
    - ' g'
    - ' t'
    - len
    argTypes:
    - Num3072Signed
    - Num3072Signed
    - SignedMatrix
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 380
    functionName: UpdateFG
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: void UpdateFG(Num3072Signed& f, Num3072Signed& g, const SignedMatrix&
      t, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: Num3072Signed
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Num3072Signed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:157,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:162,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - Num3072
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: FromNum3072
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - limb_t
    linkageType: ''
    returnType: void
    signature: void FromNum3072(const Num3072& in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:174,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:182,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Num3072
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 184
    functionName: ToNum3072
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - double_limb_t
    - Assume
    linkageType: ''
    returnType: void
    signature: void ToNum3072(Num3072& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:195,1
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:196,1
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:198,1
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:209,1
    - Dst: signed_limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - negate
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: Normalize
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - signed_limb_t
    linkageType: ''
    returnType: void
    signature: void Normalize(bool negate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::countr_zero
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - eta
    - f
    - g
    - ' out'
    argTypes:
    - signed_limb_t
    - limb_t
    - limb_t
    - SignedMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 290
    functionName: ComputeDivstepMatrix
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - std::countr_zero
    linkageType: ''
    returnType: limb_t
    signature: limb_t ComputeDivstepMatrix(signed_limb_t eta, limb_t f, limb_t g,
      SignedMatrix& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:310,1
    - Dst: limb_t
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:311,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:316,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - ' d'
    - ' e'
    - ' t'
    argTypes:
    - Num3072Signed
    - Num3072Signed
    - SignedMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 343
    functionName: UpdateDE
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - limb_t
    linkageType: ''
    returnType: void
    signature: void UpdateDE(Num3072Signed& d, Num3072Signed& e, const SignedMatrix&
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:362,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - ' f'
    - ' g'
    - ' t'
    - len
    argTypes:
    - Num3072Signed
    - Num3072Signed
    - SignedMatrix
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 380
    functionName: UpdateFG
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Assume
    linkageType: ''
    returnType: void
    signature: void UpdateFG(Num3072Signed& f, Num3072Signed& g, const SignedMatrix&
      t, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FromNum3072
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:405,1
    - Dst: ComputeDivstepMatrix
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:413,1
    - Dst: UpdateFG
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:415,1
    - Dst: UpdateDE
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:417,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:445,1
    - Dst: Num3072Signed::Normalize
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:449,1
    - Dst: Num3072::Num3072
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:450,1
    - Dst: Num3072Signed::ToNum3072
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 453
    functionName: Num3072::GetInverse
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Num3072Signed::ToNum3072
    - Assume
    - ComputeDivstepMatrix
    - Num3072Signed::Normalize
    - FromNum3072
    - UpdateDE
    - Num3072::Num3072
    - UpdateFG
    linkageType: ''
    returnType: Num3072
    signature: Num3072 Num3072::GetInverse() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::Num3072
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:458,1
    - Dst: mul
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:463,1
    - Dst: muladd3
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:464,1
    - Dst: mulnadd3
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:465,1
    - Dst: muladd3
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:466,1
    - Dst: extract3
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:467,1
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:471,1
    - Dst: muladd3
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:472,1
    - Dst: extract3
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:473,1
    - Dst: muln2
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:476,1
    - Dst: addnextract2
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:478,1
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:481,1
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:482,1
    - Dst: Num3072::IsOverflow
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:488,1
    - Dst: Num3072::FullReduce
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:488,1
    - Dst: Num3072::FullReduce
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:489,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Num3072
    assertStmts:
    - condition: (c2 == 0)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/bitcoin-core/src/crypto/muhash.cpp
    - condition: (c1 == 0)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/bitcoin-core/src/crypto/muhash.cpp
    - condition: (c0 == 0 || c0 == 1)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/bitcoin-core/src/crypto/muhash.cpp
    constantsTouched: []
    func_position:
      end: 490
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 490
    functionName: Num3072::Multiply
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - muladd3
    - Num3072::IsOverflow
    - extract3
    - mul
    - muln2
    - mulnadd3
    - addnextract2
    - Num3072::FullReduce
    - Num3072::Num3072
    - assert
    linkageType: ''
    returnType: void
    signature: void Num3072::Multiply(const Num3072& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: Num3072::SetToOne
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Num3072::SetToOne()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::IsOverflow
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:500,1
    - Dst: Num3072::FullReduce
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:500,1
    - Dst: Num3072::IsOverflow
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:503,1
    - Dst: Num3072::FullReduce
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:505,1
    - Dst: Num3072::GetInverse
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:506,1
    - Dst: Num3072::GetInverse
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:508,1
    - Dst: Num3072::Multiply
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:511,1
    - Dst: Num3072::IsOverflow
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:512,1
    - Dst: Num3072::FullReduce
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Num3072
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 498
    functionDepth: 4
    functionLinenumber: 498
    functionLinenumberEnd: 513
    functionName: Num3072::Divide
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Num3072::Multiply
    - Num3072::GetInverse
    - Num3072::FullReduce
    - Num3072::IsOverflow
    linkageType: ''
    returnType: void
    signature: void Num3072::Divide(const Num3072& a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:518,1
    - Dst: ReadLE64
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - (data)
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: Num3072::Num3072
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 2
    functionsReached:
    - ReadLE32
    - ReadLE64
    linkageType: ''
    returnType: void
    signature: void Num3072::Num3072(const unsigned char (&data)[BYTE_SIZE])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:528,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - (out)
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: Num3072::ToBytes
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - WriteLE64
    - WriteLE32
    linkageType: ''
    returnType: void
    signature: void Num3072::ToBytes(unsigned char (&out)[BYTE_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:538,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:540,1
    - Dst: Keystream
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:540,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 544
    functionName: MuHash3072::ToNum3072
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - MakeWritableByteSpan
    - GetSHA256
    - Keystream
    - MakeByteSpan
    linkageType: ''
    returnType: Num3072
    signature: Num3072 MuHash3072::ToNum3072(std::span<const unsigned char> in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuHash3072::ToNum3072
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: MuHash3072::MuHash3072
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - MuHash3072::ToNum3072
    linkageType: ''
    returnType: void
    signature: void MuHash3072::MuHash3072(std::span<const unsigned char> in) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Divide
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:553,1
    - Dst: SetToOne
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:554,1
    - Dst: ToBytes
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:557,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 560
    functionName: MuHash3072::Finalize
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - ToBytes
    - GetSHA256
    - SetToOne
    - Divide
    linkageType: ''
    returnType: void
    signature: void MuHash3072::Finalize(uint256& out) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:564,1
    - Dst: Multiply
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' mul'
    argTypes:
    - MuHash3072
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 567
    functionName: '& MuHash3072::operator*=(const MuHash3072& mul) noexcept'
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Multiply
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::operator*=(const MuHash3072& mul) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:571,1
    - Dst: Multiply
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' div'
    argTypes:
    - MuHash3072
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 574
    functionName: '& MuHash3072::operator/=(const MuHash3072& div) noexcept'
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Multiply
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::operator/=(const MuHash3072& div) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:577,1
    - Dst: ToNum3072
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: '& MuHash3072::Insert(std::span<const unsigned char> in) noexcept'
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - ToNum3072
    - Multiply
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::Insert(std::span<const unsigned char> in)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:582,1
    - Dst: ToNum3072
      Src: /src/bitcoin-core/src/crypto/muhash.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: '& MuHash3072::Remove(std::span<const unsigned char> in) noexcept'
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - ToNum3072
    - Multiply
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::Remove(std::span<const unsigned char> in)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/hmac_sha256.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: '& Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/bitcoin-core/src/crypto/hmac_sha256.h
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: CHMAC_SHA256
    signature: CHMAC_SHA256 & Write(const unsigned char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: sha256d64_sse41::K
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i K(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_add_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:19,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 2
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 3
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w, __m128i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z, __m128i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:26,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_sse41::Or
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_or_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Or(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_and_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_sse41::And
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_and_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i And(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_srli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_sse41::ShR
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_srli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShR(__m128i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_slli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: sha256d64_sse41::ShL
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_slli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShL(__m128i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_sse41::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Ch(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_sse41::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Maj(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_sse41::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma0(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_sse41::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma1(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_sse41::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma0(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sha256d64_sse41::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma1(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Ch
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Maj
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:44,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: sha256d64_sse41::ALWAYS_INLINE::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - Sigma0
    - Sigma1
    - Ch
    - Add
    - Maj
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Round(__m128i a, __m128i b, __m128i c, __m128i&
      d, __m128i e, __m128i f, __m128i g, __m128i& h, __m128i k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:49,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:50,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:51,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:52,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:53,1
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:55,1
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: sha256d64_sse41::Read4
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_set_epi32
    - _mm_shuffle_epi8
    - ReadLE32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Read4(const unsigned char* chunk, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:59,1
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:59,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:60,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:60,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:61,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:61,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:62,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:62,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:63,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: sha256d64_sse41::Write4
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_set_epi32
    - WriteLE32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    linkageType: ''
    returnType: void
    signature: void Write4(unsigned char* out, int offset, __m128i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: sha256d64_sse41::K
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i K(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 6
    functionsReached:
    - _mm_add_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:19,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 7
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 8
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 9
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w, __m128i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z, __m128i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 6
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:26,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 7
    functionsReached:
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_sse41::Or
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 5
    functionsReached:
    - _mm_or_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Or(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_and_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_sse41::And
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 2
    functionsReached:
    - _mm_and_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i And(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_srli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_sse41::ShR
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 4
    functionsReached:
    - _mm_srli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShR(__m128i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_slli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: sha256d64_sse41::ShL
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 4
    functionsReached:
    - _mm_slli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShL(__m128i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_sse41::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Ch(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_sse41::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Maj(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_sse41::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma0(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_sse41::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma1(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_sse41::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma0(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sha256d64_sse41::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma1(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Ch
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Maj
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:44,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: sha256d64_sse41::ALWAYS_INLINE::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - Sigma0
    - Sigma1
    - Ch
    - Add
    - Maj
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Round(__m128i a, __m128i b, __m128i c, __m128i&
      d, __m128i e, __m128i f, __m128i g, __m128i& h, __m128i k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:49,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:50,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:51,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:52,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:53,1
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:55,1
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: sha256d64_sse41::Read4
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_set_epi32
    - _mm_shuffle_epi8
    - ReadLE32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Read4(const unsigned char* chunk, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:59,1
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:59,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:60,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:60,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:61,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:61,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:62,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:62,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:63,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: sha256d64_sse41::Write4
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_set_epi32
    - WriteLE32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    linkageType: ''
    returnType: void
    signature: void Write4(unsigned char* out, int offset, __m128i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:71,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:72,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:73,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:74,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:75,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:76,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:77,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:78,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:82,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:83,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:84,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:85,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:86,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:87,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:88,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:89,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:90,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:91,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:92,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:93,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:94,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:95,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:96,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:97,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:147,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:147,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:148,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:148,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:149,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:149,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:150,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:150,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:151,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:151,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:152,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:152,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:153,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:153,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:154,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:154,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:159,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:159,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:160,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:160,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:161,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:161,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:162,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:162,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:163,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:163,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:164,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:164,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:165,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:165,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:166,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:166,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:167,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:167,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:168,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:168,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:169,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:169,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:170,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:170,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:171,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:171,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:172,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:172,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:173,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:173,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:174,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:174,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:175,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:175,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:176,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:176,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:177,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:177,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:178,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:178,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:179,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:179,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:180,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:180,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:181,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:181,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:182,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:182,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:183,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:183,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:184,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:184,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:185,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:185,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:186,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:186,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:187,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:187,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:188,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:188,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:189,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:189,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:190,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:190,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:191,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:191,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:192,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:192,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:193,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:193,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:194,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:194,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:195,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:195,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:196,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:196,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:197,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:197,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:198,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:198,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:199,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:199,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:200,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:200,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:201,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:201,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:202,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:202,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:203,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:203,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:204,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:204,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:205,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:205,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:206,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:206,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:207,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:207,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:208,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:208,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:209,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:209,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:210,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:210,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:211,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:211,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:212,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:212,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:213,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:213,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:214,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:214,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:215,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:215,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:216,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:216,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:217,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:217,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:218,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:218,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:219,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:219,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:220,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:220,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:221,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:221,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:222,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:222,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:224,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:225,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:226,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:227,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:228,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:229,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:230,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:231,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:234,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:235,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:236,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:237,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:238,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:239,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:240,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:241,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:243,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:244,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:245,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:246,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:247,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:248,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:249,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:250,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:250,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:250,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:251,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:251,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:252,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:252,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:253,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:253,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:254,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:254,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:255,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:255,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:256,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:256,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:257,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:257,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:258,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:316,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:316,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 317
    functionName: sha256d64_sse41::Transform_4way
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Read4
    - Round
    - sha256d64_sse41::Add
    - sha256d64_sse41::Inc
    - sha256d64_sse41::sigma0
    - sha256d64_sse41::K
    - sha256d64_sse41::Write4
    - sha256d64_sse41::sigma1
    linkageType: ''
    returnType: void
    signature: void Transform_4way(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: sha256d64_sse41::K
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - _mm_set1_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i K(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 13
    functionsReached:
    - _mm_add_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:19,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 14
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 15
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 16
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w, __m128i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z, __m128i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 12
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:26,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 13
    functionsReached:
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_sse41::Or
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 10
    functionsReached:
    - _mm_or_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Or(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_and_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_sse41::And
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 4
    functionsReached:
    - _mm_and_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i And(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_srli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_sse41::ShR
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 8
    functionsReached:
    - _mm_srli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShR(__m128i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_slli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: sha256d64_sse41::ShL
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 8
    functionsReached:
    - _mm_slli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShL(__m128i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_sse41::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Ch(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_sse41::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Maj(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_sse41::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma0(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_sse41::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma1(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_sse41::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma0(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sha256d64_sse41::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma1(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Ch
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Maj
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:44,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: sha256d64_sse41::ALWAYS_INLINE::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - Sigma0
    - Sigma1
    - Ch
    - Add
    - Maj
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Round(__m128i a, __m128i b, __m128i c, __m128i&
      d, __m128i e, __m128i f, __m128i g, __m128i& h, __m128i k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:49,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:50,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:51,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:52,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:53,1
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:55,1
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: sha256d64_sse41::Read4
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - _mm_set_epi32
    - _mm_shuffle_epi8
    - ReadLE32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Read4(const unsigned char* chunk, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:59,1
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:59,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:60,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:60,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:61,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:61,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:62,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:62,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:63,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: sha256d64_sse41::Write4
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - _mm_set_epi32
    - WriteLE32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    linkageType: ''
    returnType: void
    signature: void Write4(unsigned char* out, int offset, __m128i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: sha256d64_sse41::K
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - _mm_set1_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i K(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 19
    functionsReached:
    - _mm_add_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:19,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 20
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 21
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 22
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w, __m128i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z, __m128i w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 18
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:26,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 19
    functionsReached:
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_sse41::Or
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 15
    functionsReached:
    - _mm_or_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Or(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_and_si128
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_sse41::And
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 6
    functionsReached:
    - _mm_and_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i And(__m128i x, __m128i y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_srli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_sse41::ShR
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 12
    functionsReached:
    - _mm_srli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShR(__m128i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_slli_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: sha256d64_sse41::ShL
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 12
    functionsReached:
    - _mm_slli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShL(__m128i x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_sse41::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Ch(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::And
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_sse41::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Maj(__m128i x, __m128i y, __m128i z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_sse41::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma0(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_sse41::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma1(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_sse41::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma0(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::Or
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sha256d64_sse41::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShL
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma1(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Ch
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:42,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Maj
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:43,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:44,1
    - Dst: Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: sha256d64_sse41::ALWAYS_INLINE::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - Sigma0
    - Sigma1
    - Ch
    - Add
    - Maj
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Round(__m128i a, __m128i b, __m128i c, __m128i&
      d, __m128i e, __m128i f, __m128i g, __m128i& h, __m128i k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:49,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:50,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:51,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:52,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:53,1
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:55,1
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: sha256d64_sse41::Read4
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - _mm_set_epi32
    - _mm_shuffle_epi8
    - ReadLE32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Read4(const unsigned char* chunk, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:59,1
    - Dst: _mm_set_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:59,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:60,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:60,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:61,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:61,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:62,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:62,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:63,1
    - Dst: _mm_extract_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: sha256d64_sse41::Write4
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - _mm_set_epi32
    - WriteLE32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    linkageType: ''
    returnType: void
    signature: void Write4(unsigned char* out, int offset, __m128i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:71,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:72,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:73,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:74,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:75,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:76,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:77,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:78,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:82,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:83,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:84,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:85,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:86,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:87,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:88,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:89,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:90,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:91,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:92,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:93,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:94,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:95,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:96,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:97,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:98,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:99,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:100,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:101,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:102,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:103,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:104,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:105,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:106,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:107,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:108,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:109,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:110,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:111,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:112,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:113,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:114,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:115,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:116,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:117,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:118,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:119,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:120,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:121,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:122,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:123,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:124,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:125,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:126,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:127,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:128,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:129,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:130,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:131,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:132,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:133,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:134,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:135,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:136,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:137,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:138,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:139,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:140,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:141,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:142,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:143,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:144,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:145,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:147,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:147,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:148,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:148,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:149,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:149,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:150,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:150,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:151,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:151,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:152,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:152,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:153,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:153,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:154,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:154,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:159,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:159,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:160,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:160,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:161,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:161,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:162,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:162,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:163,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:163,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:164,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:164,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:165,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:165,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:166,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:166,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:167,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:167,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:168,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:168,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:169,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:169,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:170,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:170,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:171,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:171,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:172,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:172,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:173,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:173,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:174,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:174,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:175,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:175,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:176,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:176,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:177,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:177,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:178,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:178,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:179,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:179,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:180,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:180,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:181,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:181,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:182,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:182,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:183,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:183,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:184,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:184,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:185,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:185,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:186,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:186,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:187,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:187,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:188,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:188,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:189,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:189,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:190,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:190,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:191,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:191,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:192,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:192,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:193,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:193,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:194,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:194,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:195,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:195,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:196,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:196,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:197,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:197,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:198,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:198,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:199,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:199,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:200,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:200,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:201,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:201,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:202,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:202,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:203,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:203,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:204,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:204,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:205,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:205,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:206,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:206,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:207,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:207,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:208,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:208,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:209,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:209,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:210,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:210,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:211,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:211,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:212,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:212,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:213,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:213,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:214,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:214,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:215,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:215,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:216,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:216,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:217,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:217,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:218,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:218,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:219,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:219,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:220,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:220,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:221,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:221,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:222,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:222,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:224,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:225,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:226,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:227,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:228,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:229,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:230,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:231,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:234,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:235,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:236,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:237,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:238,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:239,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:240,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:241,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:243,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:244,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:245,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:246,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:247,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:248,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:249,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:250,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:250,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:250,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:251,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:251,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:252,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:252,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:253,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:253,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:254,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:254,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:255,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:255,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:256,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:256,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:257,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:257,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:258,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:259,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:260,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:261,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:262,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:263,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:264,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:265,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:266,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:267,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:268,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:269,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:270,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:271,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:272,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:273,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:274,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:275,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:276,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:277,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:278,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:279,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:280,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:281,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:282,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:283,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:284,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:285,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:286,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:287,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:288,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:289,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:290,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:291,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:292,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:293,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:294,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:295,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:296,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:297,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:298,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:299,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:300,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:301,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:302,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:303,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:304,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:305,1
    - Dst: Round
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:306,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:316,1
    - Dst: sha256d64_sse41::Add
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:316,1
    - Dst: sha256d64_sse41::K
      Src: /src/bitcoin-core/src/crypto/sha256_sse41.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 317
    functionName: sha256d64_sse41::Transform_4way
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Read4
    - Round
    - sha256d64_sse41::Add
    - sha256d64_sse41::Inc
    - sha256d64_sse41::sigma0
    - sha256d64_sse41::K
    - sha256d64_sse41::Write4
    - sha256d64_sse41::sigma1
    linkageType: ''
    returnType: void
    signature: void Transform_4way(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - k0
    - k1
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: CSipHasher::CSipHasher
    functionSourceFile: /src/bitcoin-core/src/crypto/siphash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSipHasher::CSipHasher(uint64_t k0, uint64_t k1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (count % 8 == 0)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/crypto/siphash.cpp
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: '& CSipHasher::Write(uint64_t data)'
    functionSourceFile: /src/bitcoin-core/src/crypto/siphash.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CSipHasher
    signature: CSipHasher & CSipHasher::Write(uint64_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:54,1
    - Dst: std::span<const unsigned char>::front
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:55,1
    - Dst: std::span<const unsigned char>::subspan
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 75
    functionName: '& CSipHasher::Write(std::span<const unsigned char> data)'
    functionSourceFile: /src/bitcoin-core/src/crypto/siphash.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - std::span<const unsigned char>::subspan
    - std::span<const unsigned char>::front
    linkageType: ''
    returnType: CSipHasher
    signature: CSipHasher & CSipHasher::Write(std::span<const unsigned char> data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: CSipHasher::Finalize
    functionSourceFile: /src/bitcoin-core/src/crypto/siphash.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CSipHasher::Finalize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:98,1
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:108,1
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:113,1
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 3
    argNames:
    - k0
    - k1
    - ' val'
    argTypes:
    - uint64_t
    - uint64_t
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 133
    functionName: SipHashUint256
    functionSourceFile: /src/bitcoin-core/src/crypto/siphash.cpp
    functionUses: 1
    functionsReached:
    - GetUint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SipHashUint256(uint64_t k0, uint64_t k1, const uint256& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:138,1
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:148,1
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:153,1
    - Dst: GetUint64
      Src: /src/bitcoin-core/src/crypto/siphash.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 4
    argNames:
    - k0
    - k1
    - ' val'
    - extra
    argTypes:
    - uint64_t
    - uint64_t
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 174
    functionName: SipHashUint256Extra
    functionSourceFile: /src/bitcoin-core/src/crypto/siphash.cpp
    functionUses: 0
    functionsReached:
    - GetUint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SipHashUint256Extra(uint64_t k0, uint64_t k1, const uint256&
      val, uint32_t extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:38,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:39,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:40,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:41,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:42,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:46,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:47,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:48,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:49,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:50,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:51,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:52,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:53,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:54,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:55,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:56,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:57,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:58,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:59,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:60,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:61,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:62,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:63,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:64,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:65,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:66,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:67,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:68,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 159
    argCount: 1
    argNames:
    - (st)
    argTypes:
    - uint64_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 103
    functionName: KeccakF
    functionSourceFile: /src/bitcoin-core/src/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - rotl
    linkageType: ''
    returnType: void
    signature: void KeccakF(uint64_t (&st)[25])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:107,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:109,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:109,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:109,1
    - Dst: std::span<const unsigned char>::subspan
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:110,1
    - Dst: ReadLE64
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:111,1
    - Dst: KeccakF
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:114,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:118,1
    - Dst: ReadLE64
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:120,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:120,1
    - Dst: std::span<const unsigned char>::subspan
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:121,1
    - Dst: KeccakF
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:123,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:127,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:129,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:129,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:129,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 133
    functionName: '& SHA3_256::Write(std::span<const unsigned char> data)'
    functionSourceFile: /src/bitcoin-core/src/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - std::copy
    - KeccakF
    - std::span<const unsigned char>::begin
    - std::span<const unsigned char>::end
    - std::span<const unsigned char>::data
    - ReadLE64
    - std::span<const unsigned char>::subspan
    linkageType: ''
    returnType: SHA3_256
    signature: SHA3_256 & SHA3_256::Write(std::span<const unsigned char> data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:137,1
    - Dst: std::span<unsigned char>::size
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:137,1
    - Dst: std::fill
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:138,1
    - Dst: ReadLE64
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:140,1
    - Dst: KeccakF
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:142,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:144,1
    - Dst: std::span<unsigned char>::data
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<unsigned char>
    assertStmts:
    - condition: (output.size() == OUTPUT_SIZE)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/bitcoin-core/src/crypto/sha3.cpp
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: '& SHA3_256::Finalize(std::span<unsigned char> output)'
    functionSourceFile: /src/bitcoin-core/src/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - std::fill
    - KeccakF
    - std::span<unsigned char>::data
    - ReadLE64
    - WriteLE64
    - std::span<unsigned char>::size
    - assert
    linkageType: ''
    returnType: SHA3_256
    signature: SHA3_256 & SHA3_256::Finalize(std::span<unsigned char> output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:153,1
    - Dst: begin
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:153,1
    - Dst: end
      Src: /src/bitcoin-core/src/crypto/sha3.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: '& SHA3_256::Reset()'
    functionSourceFile: /src/bitcoin-core/src/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::fill
    - begin
    linkageType: ''
    returnType: SHA3_256
    signature: SHA3_256 & SHA3_256::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHMAC_SHA256
      Src: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp:12,1
    - Dst: data
      Src: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp:12,1
    - Dst: size
      Src: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ikm
    - ikmlen
    - ' salt'
    argTypes:
    - unsigned char*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: CHKDF_HMAC_SHA256_L32::CHKDF_HMAC_SHA256_L32
    functionSourceFile: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp
    functionUses: 0
    functionsReached:
    - CHMAC_SHA256
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void CHKDF_HMAC_SHA256_L32::CHKDF_HMAC_SHA256_L32(const unsigned char*
      ikm, size_t ikmlen, const std::string& salt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp:18,1
    - Dst: CHMAC_SHA256
      Src: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp:20,1
    - Dst: data
      Src: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp:20,1
    - Dst: size
      Src: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' info'
    - hash
    argTypes:
    - std::string
    - unsigned char[]
    assertStmts:
    - condition: (info.size() <= 128)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: CHKDF_HMAC_SHA256_L32::Expand32
    functionSourceFile: /src/bitcoin-core/src/crypto/hkdf_sha256_32.cpp
    functionUses: 1
    functionsReached:
    - CHMAC_SHA256
    - data
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void CHKDF_HMAC_SHA256_L32::Expand32(const std::string& info, unsigned
      char hash[OUTPUT_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:49,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:50,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:59,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:59,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:59,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:60,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:60,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:60,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:61,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:61,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:61,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:62,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:62,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:62,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:70,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:70,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:72,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:73,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:74,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:75,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:78,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:78,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:80,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:81,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:82,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:83,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:86,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:86,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:88,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:89,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:90,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:91,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:94,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:94,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:96,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:97,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:98,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:99,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:102,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:102,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:104,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:105,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:106,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:107,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:110,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:110,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:112,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:113,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:114,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:115,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:118,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:118,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:120,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:121,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:122,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:123,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:126,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:126,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:128,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:129,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:130,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:131,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:134,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:134,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:136,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:137,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:138,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:139,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:142,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:142,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:144,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:145,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:146,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:147,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:150,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:150,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:152,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:153,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:154,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:155,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:158,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:158,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:160,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:161,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:162,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:163,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:166,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:166,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:168,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:169,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:172,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:172,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:174,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:175,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:178,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:178,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:180,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:181,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:184,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:184,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:186,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:187,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:190,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:191,1
    - Dst: vst1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:195,1
    - Dst: vst1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 104
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 197
    functionName: sha256_arm_shani::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp
    functionUses: 0
    functionsReached:
    - vst1q_u32
    - vsha256su0q_u32
    - vsha256su1q_u32
    - vaddq_u32
    - vld1q_u32
    - vsha256hq_u32
    - vsha256h2q_u32
    - vrev32q_u8
    - vld1q_u8
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:49,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:50,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:59,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:59,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:59,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:60,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:60,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:60,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:61,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:61,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:61,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:62,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:62,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:62,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:70,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:70,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:72,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:73,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:74,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:75,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:78,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:78,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:80,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:81,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:82,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:83,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:86,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:86,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:88,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:89,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:90,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:91,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:94,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:94,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:96,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:97,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:98,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:99,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:102,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:102,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:104,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:105,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:106,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:107,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:110,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:110,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:112,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:113,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:114,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:115,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:118,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:118,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:120,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:121,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:122,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:123,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:126,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:126,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:128,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:129,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:130,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:131,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:134,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:134,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:136,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:137,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:138,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:139,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:142,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:142,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:144,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:145,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:146,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:147,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:150,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:150,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:152,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:153,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:154,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:155,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:158,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:158,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:160,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:161,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:162,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:163,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:166,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:166,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:168,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:169,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:172,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:172,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:174,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:175,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:178,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:178,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:180,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:181,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:184,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:184,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:186,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:187,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:190,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:191,1
    - Dst: vst1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:195,1
    - Dst: vst1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 104
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 197
    functionName: sha256_arm_shani::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp
    functionUses: 0
    functionsReached:
    - vst1q_u32
    - vsha256su0q_u32
    - vsha256su1q_u32
    - vaddq_u32
    - vld1q_u32
    - vsha256hq_u32
    - vsha256h2q_u32
    - vrev32q_u8
    - vld1q_u8
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:244,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:246,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:250,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:250,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:250,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:251,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:251,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:251,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:252,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:252,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:252,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:253,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:253,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:253,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:254,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:254,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:254,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:255,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:255,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:255,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:256,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:256,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:256,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:257,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:257,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:257,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:260,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:261,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:262,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:265,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:266,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:267,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:268,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:269,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:270,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:271,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:272,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:275,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:276,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:277,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:280,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:281,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:282,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:283,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:284,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:285,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:286,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:287,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:290,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:291,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:292,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:295,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:296,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:297,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:298,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:299,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:300,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:301,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:302,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:305,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:306,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:307,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:310,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:311,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:312,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:313,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:314,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:315,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:316,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:317,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:320,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:321,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:322,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:325,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:326,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:327,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:328,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:329,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:330,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:331,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:332,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:335,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:336,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:337,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:340,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:341,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:342,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:343,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:344,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:345,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:346,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:347,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:350,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:351,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:352,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:355,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:356,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:357,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:358,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:359,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:360,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:361,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:362,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:365,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:366,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:367,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:370,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:371,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:372,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:373,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:374,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:375,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:376,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:377,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:380,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:381,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:382,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:385,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:386,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:387,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:388,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:389,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:390,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:391,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:392,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:395,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:396,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:397,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:400,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:401,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:402,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:403,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:404,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:405,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:406,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:407,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:410,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:411,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:412,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:415,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:416,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:417,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:418,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:419,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:420,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:421,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:422,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:425,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:426,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:427,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:430,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:431,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:432,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:433,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:434,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:435,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:436,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:437,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:440,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:441,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:442,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:445,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:446,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:447,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:448,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:451,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:452,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:453,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:456,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:457,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:458,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:459,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:462,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:463,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:464,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:467,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:468,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:469,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:470,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:473,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:474,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:475,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:478,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:479,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:480,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:481,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:484,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:485,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:486,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:487,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:488,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:489,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:498,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:501,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:502,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:503,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:504,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:507,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:510,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:511,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:512,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:513,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:516,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:519,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:520,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:521,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:522,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:525,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:528,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:529,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:530,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:531,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:534,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:537,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:538,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:539,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:540,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:543,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:546,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:547,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:548,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:549,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:552,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:555,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:556,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:557,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:558,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:561,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:564,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:565,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:566,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:567,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:570,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:573,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:574,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:575,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:576,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:579,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:582,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:583,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:584,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:585,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:588,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:591,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:592,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:593,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:594,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:597,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:600,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:601,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:602,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:603,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:606,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:609,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:610,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:611,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:612,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:615,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:618,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:619,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:620,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:621,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:624,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:627,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:628,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:629,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:630,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:633,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:636,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:637,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:638,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:639,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:642,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:643,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:644,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:645,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:652,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:654,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:658,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:660,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:664,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:665,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:666,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:669,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:670,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:671,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:672,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:673,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:674,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:675,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:676,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:679,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:680,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:681,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:684,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:685,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:686,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:687,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:688,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:689,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:690,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:691,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:694,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:697,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:699,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:700,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:701,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:702,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:703,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:704,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:707,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:710,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:711,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:712,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:713,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:714,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:715,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:716,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:717,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:720,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:721,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:722,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:725,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:726,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:727,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:728,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:729,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:730,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:731,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:732,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:735,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:736,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:737,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:740,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:741,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:742,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:743,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:744,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:745,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:746,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:747,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:750,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:751,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:752,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:755,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:756,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:757,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:758,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:759,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:760,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:761,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:762,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:765,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:766,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:767,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:770,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:771,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:772,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:773,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:774,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:775,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:776,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:777,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:780,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:781,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:782,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:785,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:786,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:787,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:788,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:789,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:790,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:791,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:792,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:795,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:796,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:797,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:800,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:801,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:802,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:803,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:804,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:805,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:806,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:807,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:810,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:811,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:812,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:815,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:816,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:817,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:818,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:819,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:820,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:821,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:822,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:825,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:826,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:827,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:830,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:831,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:832,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:833,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:834,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:835,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:836,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:837,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:840,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:841,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:842,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:845,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:846,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:847,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:848,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:851,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:852,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:853,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:856,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:857,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:858,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:859,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:862,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:863,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:864,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:867,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:868,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:869,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:870,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:873,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:874,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:875,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:878,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:879,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:880,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:881,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:884,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:885,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:886,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:887,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:888,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:889,1
    - Dst: vst1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:892,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:892,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:892,1
    - Dst: vst1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:893,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:893,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:893,1
    - Dst: vst1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:894,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:894,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:894,1
    - Dst: vst1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:895,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:895,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 541
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 896
    functionName: sha256d64_arm_shani::Transform_2way
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp
    functionUses: 0
    functionsReached:
    - vsha256su0q_u32
    - vsha256su1q_u32
    - vaddq_u32
    - vld1q_u32
    - vsha256hq_u32
    - vsha256h2q_u32
    - vst1q_u8
    - vreinterpretq_u8_u32
    - vrev32q_u8
    - vld1q_u8
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: void
    signature: void Transform_2way(unsigned char* output, const unsigned char* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:244,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:246,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:250,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:250,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:250,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:251,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:251,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:251,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:252,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:252,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:252,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:253,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:253,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:253,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:254,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:254,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:254,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:255,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:255,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:255,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:256,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:256,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:256,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:257,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:257,1
    - Dst: vld1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:257,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:260,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:261,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:262,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:265,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:266,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:267,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:268,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:269,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:270,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:271,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:272,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:275,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:276,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:277,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:280,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:281,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:282,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:283,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:284,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:285,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:286,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:287,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:290,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:291,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:292,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:295,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:296,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:297,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:298,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:299,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:300,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:301,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:302,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:305,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:306,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:307,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:310,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:311,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:312,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:313,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:314,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:315,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:316,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:317,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:320,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:321,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:322,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:325,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:326,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:327,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:328,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:329,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:330,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:331,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:332,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:335,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:336,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:337,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:340,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:341,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:342,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:343,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:344,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:345,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:346,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:347,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:350,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:351,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:352,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:355,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:356,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:357,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:358,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:359,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:360,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:361,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:362,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:365,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:366,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:367,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:370,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:371,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:372,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:373,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:374,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:375,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:376,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:377,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:380,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:381,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:382,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:385,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:386,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:387,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:388,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:389,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:390,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:391,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:392,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:395,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:396,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:397,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:400,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:401,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:402,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:403,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:404,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:405,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:406,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:407,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:410,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:411,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:412,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:415,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:416,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:417,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:418,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:419,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:420,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:421,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:422,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:425,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:426,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:427,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:430,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:431,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:432,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:433,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:434,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:435,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:436,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:437,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:440,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:441,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:442,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:445,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:446,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:447,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:448,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:451,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:452,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:453,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:456,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:457,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:458,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:459,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:462,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:463,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:464,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:467,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:468,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:469,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:470,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:473,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:474,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:475,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:478,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:479,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:480,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:481,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:484,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:485,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:486,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:487,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:488,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:489,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:498,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:501,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:502,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:503,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:504,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:507,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:510,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:511,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:512,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:513,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:516,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:519,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:520,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:521,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:522,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:525,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:528,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:529,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:530,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:531,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:534,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:537,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:538,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:539,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:540,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:543,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:546,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:547,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:548,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:549,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:552,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:555,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:556,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:557,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:558,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:561,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:564,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:565,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:566,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:567,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:570,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:573,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:574,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:575,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:576,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:579,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:582,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:583,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:584,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:585,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:588,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:591,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:592,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:593,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:594,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:597,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:600,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:601,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:602,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:603,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:606,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:609,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:610,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:611,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:612,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:615,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:618,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:619,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:620,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:621,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:624,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:627,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:628,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:629,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:630,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:633,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:636,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:637,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:638,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:639,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:642,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:643,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:644,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:645,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:652,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:654,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:658,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:660,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:664,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:665,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:666,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:669,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:670,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:671,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:672,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:673,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:674,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:675,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:676,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:679,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:680,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:681,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:684,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:685,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:686,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:687,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:688,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:689,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:690,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:691,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:694,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:697,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:699,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:700,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:701,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:702,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:703,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:704,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:707,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:710,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:711,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:712,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:713,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:714,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:715,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:716,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:717,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:720,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:721,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:722,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:725,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:726,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:727,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:728,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:729,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:730,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:731,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:732,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:735,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:736,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:737,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:740,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:741,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:742,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:743,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:744,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:745,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:746,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:747,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:750,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:751,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:752,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:755,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:756,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:757,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:758,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:759,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:760,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:761,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:762,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:765,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:766,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:767,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:770,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:771,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:772,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:773,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:774,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:775,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:776,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:777,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:780,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:781,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:782,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:785,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:786,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:787,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:788,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:789,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:790,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:791,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:792,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:795,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:796,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:797,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:800,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:801,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:802,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:803,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:804,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:805,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:806,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:807,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:810,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:811,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:812,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:815,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:816,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:817,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:818,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:819,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:820,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:821,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:822,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:825,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:826,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:827,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:830,1
    - Dst: vsha256su0q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:831,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:832,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:833,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:834,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:835,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:836,1
    - Dst: vsha256su1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:837,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:840,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:841,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:842,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:845,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:846,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:847,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:848,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:851,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:852,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:853,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:856,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:857,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:858,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:859,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:862,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:863,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:864,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:867,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:868,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:869,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:870,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:873,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:874,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:875,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:878,1
    - Dst: vsha256hq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:879,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:880,1
    - Dst: vsha256h2q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:881,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:884,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:885,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:886,1
    - Dst: vld1q_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:887,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:888,1
    - Dst: vaddq_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:889,1
    - Dst: vst1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:892,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:892,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:892,1
    - Dst: vst1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:893,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:893,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:893,1
    - Dst: vst1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:894,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:894,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:894,1
    - Dst: vst1q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:895,1
    - Dst: vrev32q_u8
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:895,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 541
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 896
    functionName: sha256d64_arm_shani::Transform_2way
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_arm_shani.cpp
    functionUses: 0
    functionsReached:
    - vsha256su0q_u32
    - vsha256su1q_u32
    - vaddq_u32
    - vld1q_u32
    - vsha256hq_u32
    - vsha256h2q_u32
    - vst1q_u8
    - vreinterpretq_u8_u32
    - vrev32q_u8
    - vld1q_u8
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: void
    signature: void Transform_2way(unsigned char* output, const unsigned char* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - a
    - ' b'
    - c
    - d
    - ' e'
    - f
    - k
    - w
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: sha1::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t& b, uint32_t c, uint32_t d, uint32_t&
      e, uint32_t f, uint32_t k, uint32_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha1::f1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha1::f2
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha1::f3
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha1::left
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t left(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: sha1::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 141
    functionName: sha1::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - ReadBE32
    - sha1::f1
    - sha1::Round
    - sha1::f3
    - sha1::left
    - sha1::f2
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - a
    - ' b'
    - c
    - d
    - ' e'
    - f
    - k
    - w
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: sha1::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t& b, uint32_t c, uint32_t d, uint32_t&
      e, uint32_t f, uint32_t k, uint32_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha1::f1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha1::f2
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha1::f3
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha1::left
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t left(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: sha1::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 141
    functionName: sha1::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - ReadBE32
    - sha1::f1
    - sha1::Round
    - sha1::f3
    - sha1::left
    - sha1::f2
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - a
    - ' b'
    - c
    - d
    - ' e'
    - f
    - k
    - w
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: sha1::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t& b, uint32_t c, uint32_t d, uint32_t&
      e, uint32_t f, uint32_t k, uint32_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha1::f1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha1::f2
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha1::f3
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha1::left
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t left(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: sha1::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 141
    functionName: sha1::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - ReadBE32
    - sha1::f1
    - sha1::Round
    - sha1::f3
    - sha1::left
    - sha1::f2
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - a
    - ' b'
    - c
    - d
    - ' e'
    - f
    - k
    - w
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: sha1::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t& b, uint32_t c, uint32_t d, uint32_t&
      e, uint32_t f, uint32_t k, uint32_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha1::f1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha1::f2
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha1::f3
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha1::left
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t left(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: sha1::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:51,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:52,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:53,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:54,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:55,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:56,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:57,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:58,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:59,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:60,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:61,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:62,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:63,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:64,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:65,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:66,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:68,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:69,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:70,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::f1
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:71,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:72,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:73,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:74,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:75,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:76,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:77,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:78,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:79,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:80,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:81,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:82,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:83,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:85,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:86,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:87,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:88,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:89,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:90,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:91,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:92,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:93,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:94,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:95,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:96,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:97,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:98,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:99,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:100,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:102,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:103,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:104,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:105,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:106,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:107,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:108,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:109,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:110,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:111,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:112,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::f3
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:113,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:114,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:115,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:116,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:117,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:119,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:120,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:121,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:122,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:123,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:124,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:125,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:126,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:127,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:128,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:129,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:130,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:131,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:132,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:133,1
    - Dst: sha1::Round
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    - Dst: sha1::f2
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    - Dst: sha1::left
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 141
    functionName: sha1::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - ReadBE32
    - sha1::f1
    - sha1::Round
    - sha1::f3
    - sha1::left
    - sha1::f2
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Initialize
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: CSHA1::CSHA1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - sha1::Initialize
    linkageType: ''
    returnType: void
    signature: void CSHA1::CSHA1()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:160,1
    - Dst: sha1::Transform
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:163,1
    - Dst: sha1::Transform
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:168,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: '& CSHA1::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - sha1::Transform
    - memcpy
    linkageType: ''
    returnType: CSHA1
    signature: CSHA1 & CSHA1::Write(const unsigned char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:184,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:185,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:186,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:187,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:188,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:189,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:190,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: CSHA1::Finalize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - Write
    - WriteBE64
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void CSHA1::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Initialize
      Src: /src/bitcoin-core/src/crypto/sha1.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: '& CSHA1::Reset()'
    functionSourceFile: /src/bitcoin-core/src/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - sha1::Initialize
    linkageType: ''
    returnType: CSHA1
    signature: CSHA1 & CSHA1::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: SHA3_256::SHA3_256
    functionSourceFile: /src/bitcoin-core/src/crypto/sha3.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA3_256()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:22,1
    - Dst: le16toh_internal
      Src: /src/bitcoin-core/src/crypto/common.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - B*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: ReadLE16
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 0
    functionsReached:
    - le16toh_internal
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ReadLE16(const B* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:30,1
    - Dst: le32toh_internal
      Src: /src/bitcoin-core/src/crypto/common.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - B*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: ReadLE32
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 15
    functionsReached:
    - le32toh_internal
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadLE32(const B* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:38,1
    - Dst: le64toh_internal
      Src: /src/bitcoin-core/src/crypto/common.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - B*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ReadLE64
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 6
    functionsReached:
    - le64toh_internal
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadLE64(const B* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16_internal
      Src: /src/bitcoin-core/src/crypto/common.h:45,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - B*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: WriteLE16
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 0
    functionsReached:
    - htole16_internal
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteLE16(B* ptr, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32_internal
      Src: /src/bitcoin-core/src/crypto/common.h:52,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - B*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: WriteLE32
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 13
    functionsReached:
    - memcpy
    - htole32_internal
    linkageType: ''
    returnType: void
    signature: void WriteLE32(B* ptr, uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole64_internal
      Src: /src/bitcoin-core/src/crypto/common.h:59,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - B*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: WriteLE64
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 3
    functionsReached:
    - htole64_internal
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteLE64(B* ptr, uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:67,1
    - Dst: be16toh_internal
      Src: /src/bitcoin-core/src/crypto/common.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - B*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ReadBE16
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 1
    functionsReached:
    - be16toh_internal
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ReadBE16(const B* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:75,1
    - Dst: be32toh_internal
      Src: /src/bitcoin-core/src/crypto/common.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - B*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: ReadBE32
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 8
    functionsReached:
    - be32toh_internal
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadBE32(const B* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:83,1
    - Dst: be64toh_internal
      Src: /src/bitcoin-core/src/crypto/common.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - B*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: ReadBE64
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 0
    functionsReached:
    - be64toh_internal
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadBE64(const B* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16_internal
      Src: /src/bitcoin-core/src/crypto/common.h:90,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - B*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: WriteBE16
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 0
    functionsReached:
    - htobe16_internal
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteBE16(B* ptr, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32_internal
      Src: /src/bitcoin-core/src/crypto/common.h:97,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - B*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: WriteBE32
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 4
    functionsReached:
    - htobe32_internal
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteBE32(B* ptr, uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64_internal
      Src: /src/bitcoin-core/src/crypto/common.h:104,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/common.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - B*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: WriteBE64
    functionSourceFile: /src/bitcoin-core/src/crypto/common.h
    functionUses: 1
    functionsReached:
    - htobe64_internal
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteBE64(B* ptr, uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/poly1305.h:51,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/poly1305.h:51,1
    - Dst: poly1305_donna::poly1305_init
      Src: /src/bitcoin-core/src/crypto/poly1305.h:52,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/crypto/poly1305.h:52,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/poly1305.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts:
    - condition: (key.size() == KEYLEN)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bitcoin-core/src/crypto/poly1305.h
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Poly1305::Poly1305
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.h
    functionUses: 0
    functionsReached:
    - UCharCast
    - std::span<const std::byte>::data
    - std::span<const std::byte>::size
    - assert
    - poly1305_donna::poly1305_init
    linkageType: ''
    returnType: void
    signature: void Poly1305(std::span<const std::byte> key) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_donna::poly1305_update
      Src: /src/bitcoin-core/src/crypto/poly1305.h:58,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/crypto/poly1305.h:58,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/poly1305.h:58,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/poly1305.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '& Update(std::span<const std::byte> msg) noexcept'
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.h
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - UCharCast
    - std::span<const std::byte>::data
    - poly1305_donna::poly1305_update
    linkageType: ''
    returnType: Poly1305
    signature: Poly1305 & Update(std::span<const std::byte> msg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/poly1305.h:65,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/poly1305.h:65,1
    - Dst: poly1305_donna::poly1305_finish
      Src: /src/bitcoin-core/src/crypto/poly1305.h:66,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/crypto/poly1305.h:66,1
    - Dst: std::span<std::byte>::data
      Src: /src/bitcoin-core/src/crypto/poly1305.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<std::byte>
    assertStmts:
    - condition: (out.size() == TAGLEN)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/crypto/poly1305.h
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Poly1305::Finalize
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.h
    functionUses: 0
    functionsReached:
    - UCharCast
    - std::span<std::byte>::size
    - std::span<std::byte>::data
    - poly1305_donna::poly1305_finish
    - assert
    linkageType: ''
    returnType: void
    signature: void Finalize(std::span<std::byte> out) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ChaCha20Aligned::ChaCha20Aligned
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20Aligned() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ChaCha20::ChaCha20
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ChaCha20::ChaCha20
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20(std::span<const std::byte> key) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/crypto/chacha20.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nonce
    - block_counter
    argTypes:
    - Nonce96
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ChaCha20::Seek
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.h
    functionUses: 1
    functionsReached:
    - ChaCha20::Seek
    linkageType: ''
    returnType: void
    signature: void Seek(Nonce96 nonce, uint32_t block_counter) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: FSChaCha20::FSChaCha20
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FSChaCha20(const FSChaCha20&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: FSChaCha20::FSChaCha20
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FSChaCha20(FSChaCha20&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: '& operator=(const FSChaCha20&)'
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FSChaCha20
    signature: FSChaCha20 & operator=(const FSChaCha20&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: '& operator=(FSChaCha20&&)'
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FSChaCha20
    signature: FSChaCha20 & operator=(FSChaCha20&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AEADChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - plain
    - aad
    - nonce
    - cipher
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - Nonce96
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: AEADChaCha20Poly1305::Encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.h
    functionUses: 1
    functionsReached:
    - AEADChaCha20Poly1305::Encrypt
    linkageType: ''
    returnType: void
    signature: void Encrypt(std::span<const std::byte> plain, std::span<const std::byte>
      aad, Nonce96 nonce, std::span<std::byte> cipher) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AEADChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cipher
    - aad
    - nonce
    - plain
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - Nonce96
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: AEADChaCha20Poly1305::Decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.h
    functionUses: 1
    functionsReached:
    - AEADChaCha20Poly1305::Decrypt
    linkageType: ''
    returnType: bool
    signature: bool Decrypt(std::span<const std::byte> cipher, std::span<const std::byte>
      aad, Nonce96 nonce, std::span<std::byte> plain) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: FSChaCha20Poly1305::FSChaCha20Poly1305
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FSChaCha20Poly1305(const FSChaCha20Poly1305&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: FSChaCha20Poly1305::FSChaCha20Poly1305
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FSChaCha20Poly1305(FSChaCha20Poly1305&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '& operator=(const FSChaCha20Poly1305&)'
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FSChaCha20Poly1305
    signature: FSChaCha20Poly1305 & operator=(const FSChaCha20Poly1305&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '& operator=(FSChaCha20Poly1305&&)'
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FSChaCha20Poly1305
    signature: FSChaCha20Poly1305 & operator=(FSChaCha20Poly1305&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - rekey_interval
    argTypes:
    - std::span<const std::byte>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: FSChaCha20Poly1305::FSChaCha20Poly1305
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FSChaCha20Poly1305(std::span<const std::byte> key, uint32_t rekey_interval)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plain
    - aad
    - cipher
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: FSChaCha20Poly1305::Encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.h
    functionUses: 1
    functionsReached:
    - FSChaCha20Poly1305::Encrypt
    linkageType: ''
    returnType: void
    signature: void Encrypt(std::span<const std::byte> plain, std::span<const std::byte>
      aad, std::span<std::byte> cipher) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cipher
    - aad
    - plain
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: FSChaCha20Poly1305::Decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.h
    functionUses: 1
    functionsReached:
    - FSChaCha20Poly1305::Decrypt
    linkageType: ''
    returnType: bool
    signature: bool Decrypt(std::span<const std::byte> cipher, std::span<const std::byte>
      aad, std::span<std::byte> plain) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:17,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:18,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:19,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:20,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:21,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:31,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:32,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:33,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - st
    - key
    argTypes:
    - poly1305_context*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 38
    functionName: poly1305_donna::poly1305_init
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.cpp
    functionUses: 1
    functionsReached:
    - ReadLE32
    linkageType: ''
    returnType: void
    signature: void poly1305_init(poly1305_context *st, const unsigned char key[32])
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:67,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:68,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:69,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:70,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 3
    argNames:
    - st
    - m
    - bytes
    argTypes:
    - poly1305_context*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 98
    functionName: poly1305_donna::poly1305_blocks
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    linkageType: ''
    returnType: void
    signature: void poly1305_blocks(poly1305_context *st, const unsigned char *m,
      size_t bytes) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_donna::poly1305_blocks
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:114,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:164,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:165,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:166,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 84
    argCount: 2
    argNames:
    - st
    - mac
    argTypes:
    - poly1305_context*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 184
    functionName: poly1305_donna::poly1305_finish
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.cpp
    functionUses: 1
    functionsReached:
    - poly1305_donna::poly1305_blocks
    - WriteLE32
    linkageType: ''
    returnType: void
    signature: void poly1305_finish(poly1305_context *st, unsigned char mac[16]) noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_donna::poly1305_blocks
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:202,1
    - Dst: poly1305_donna::poly1305_blocks
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - st
    - m
    - bytes
    argTypes:
    - poly1305_context*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 221
    functionName: poly1305_donna::poly1305_update
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.cpp
    functionUses: 1
    functionsReached:
    - poly1305_donna::poly1305_blocks
    linkageType: ''
    returnType: void
    signature: void poly1305_update(poly1305_context *st, const unsigned char *m,
      size_t bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:17,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:18,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:19,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:20,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:21,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:31,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:32,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:33,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - st
    - key
    argTypes:
    - poly1305_context*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 38
    functionName: poly1305_donna::poly1305_init
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.cpp
    functionUses: 1
    functionsReached:
    - ReadLE32
    linkageType: ''
    returnType: void
    signature: void poly1305_init(poly1305_context *st, const unsigned char key[32])
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:67,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:68,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:69,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:70,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 3
    argNames:
    - st
    - m
    - bytes
    argTypes:
    - poly1305_context*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 98
    functionName: poly1305_donna::poly1305_blocks
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.cpp
    functionUses: 2
    functionsReached:
    - ReadLE32
    linkageType: ''
    returnType: void
    signature: void poly1305_blocks(poly1305_context *st, const unsigned char *m,
      size_t bytes) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_donna::poly1305_blocks
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:114,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:164,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:165,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:166,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 84
    argCount: 2
    argNames:
    - st
    - mac
    argTypes:
    - poly1305_context*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 184
    functionName: poly1305_donna::poly1305_finish
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.cpp
    functionUses: 1
    functionsReached:
    - poly1305_donna::poly1305_blocks
    - WriteLE32
    linkageType: ''
    returnType: void
    signature: void poly1305_finish(poly1305_context *st, unsigned char mac[16]) noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_donna::poly1305_blocks
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:202,1
    - Dst: poly1305_donna::poly1305_blocks
      Src: /src/bitcoin-core/src/crypto/poly1305.cpp:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - st
    - m
    - bytes
    argTypes:
    - poly1305_context*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 221
    functionName: poly1305_donna::poly1305_update
    functionSourceFile: /src/bitcoin-core/src/crypto/poly1305.cpp
    functionUses: 1
    functionsReached:
    - poly1305_donna::poly1305_blocks
    linkageType: ''
    returnType: void
    signature: void poly1305_update(poly1305_context *st, const unsigned char *m,
      size_t bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 25
    functionName: CreateByteToHexMap
    functionSourceFile: /src/bitcoin-core/src/crypto/hex_base.cpp
    functionUses: 0
    functionsReached:
    - std::array::size
    linkageType: ''
    returnType: std::array<ByteAsHex, 256>
    signature: std::array<ByteAsHex, 256> CreateByteToHexMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 25
    functionName: CreateByteToHexMap
    functionSourceFile: /src/bitcoin-core/src/crypto/hex_base.cpp
    functionUses: 0
    functionsReached:
    - std::array::size
    linkageType: ''
    returnType: std::array<ByteAsHex, 256>
    signature: std::array<ByteAsHex, 256> CreateByteToHexMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:31,1
    - Dst: CreateByteToHexMap
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:32,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:35,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:37,1
    - Dst: data
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:37,1
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:41,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:41,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/crypto/hex_base.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::span<const uint8_t>
    assertStmts:
    - condition: (it == rv.data() + rv.size())
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/crypto/hex_base.cpp
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: HexStr
    functionSourceFile: /src/bitcoin-core/src/crypto/hex_base.cpp
    functionUses: 25
    functionsReached:
    - std::memcpy
    - std::string::size
    - std::string::data
    - data
    - CreateByteToHexMap
    - assert
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::string
    signature: std::string HexStr(const std::span<const uint8_t> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: HexDigit
    functionSourceFile: /src/bitcoin-core/src/crypto/hex_base.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: signed char
    signature: signed char HexDigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::SetToOne
      Src: /src/bitcoin-core/src/crypto/muhash.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Num3072::Num3072
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.h
    functionUses: 2
    functionsReached:
    - Num3072::SetToOne
    linkageType: ''
    returnType: void
    signature: void Num3072()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/crypto/muhash.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: Num3072::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(Num3072, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: MuHash3072::MuHash3072
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MuHash3072() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/crypto/muhash.h:131,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/crypto/muhash.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: MuHash3072::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/crypto/muhash.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(MuHash3072, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ripemd160::f1
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ripemd160::f2
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ripemd160::f3
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ripemd160::f4
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f4(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ripemd160::f5
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f5(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: ripemd160::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - i
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ripemd160::rol
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rol(uint32_t x, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::rol
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:37,1
    - Dst: ripemd160::rol
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - f
    - x
    - k
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ripemd160::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::rol
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t f, uint32_t x, uint32_t k, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:41,1
    - Dst: ripemd160::f1
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ripemd160::R11
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R11(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:42,1
    - Dst: ripemd160::f2
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ripemd160::R21
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R21(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:43,1
    - Dst: ripemd160::f3
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ripemd160::R31
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R31(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:44,1
    - Dst: ripemd160::f4
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ripemd160::R41
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R41(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:45,1
    - Dst: ripemd160::f5
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ripemd160::R51
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R51(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:47,1
    - Dst: ripemd160::f5
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ripemd160::R12
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R12(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:48,1
    - Dst: ripemd160::f4
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ripemd160::R22
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R22(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:49,1
    - Dst: ripemd160::f3
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ripemd160::R32
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R32(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:50,1
    - Dst: ripemd160::f2
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ripemd160::R42
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R42(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:51,1
    - Dst: ripemd160::f1
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ripemd160::R52
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R52(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:63,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:64,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:65,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:66,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:67,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:68,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:69,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:70,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:71,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:72,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:73,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:74,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:75,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:76,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:77,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:78,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:79,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:80,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:81,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:82,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:83,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:84,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:85,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:86,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:87,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:88,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:89,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:90,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:91,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:92,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:93,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:94,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:96,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:97,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:98,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:99,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:100,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:101,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:102,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:103,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:104,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:105,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:106,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:107,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:108,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:109,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:110,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:111,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:112,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:113,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:114,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:115,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:116,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:117,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:118,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:119,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:120,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:121,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:122,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:123,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:124,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:125,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:126,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:127,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:129,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:130,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:131,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:132,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:133,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:134,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:135,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:136,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:137,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:138,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:139,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:140,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:141,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:142,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:143,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:144,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:145,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:146,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:147,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:148,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:149,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:150,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:151,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:152,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:153,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:154,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:155,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:156,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:157,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:158,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:159,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:160,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:162,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:163,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:164,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:165,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:166,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:167,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:168,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:169,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:170,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:171,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:172,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:173,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:174,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:175,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:176,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:177,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:178,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:179,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:180,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:181,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:182,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:183,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:184,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:185,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:186,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:187,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:188,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:189,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:190,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:191,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:192,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:193,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:195,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:196,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:197,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:198,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:199,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:200,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:201,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:202,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:203,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:204,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:205,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:206,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:207,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:208,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:209,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:210,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:211,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:212,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:213,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:214,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:215,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:216,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:217,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:218,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:219,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:220,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:221,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:222,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:223,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:224,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:225,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 166
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 234
    functionName: ripemd160::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - ripemd160::R21
    - ripemd160::R12
    - ripemd160::R42
    - ripemd160::R41
    - ripemd160::R32
    - ripemd160::R31
    - ripemd160::R51
    - ripemd160::R11
    - ripemd160::R52
    - ripemd160::R22
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ripemd160::f1
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ripemd160::f2
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ripemd160::f3
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ripemd160::f4
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f4(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ripemd160::f5
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f5(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: ripemd160::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - i
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ripemd160::rol
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rol(uint32_t x, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::rol
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:37,1
    - Dst: ripemd160::rol
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - f
    - x
    - k
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ripemd160::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 10
    functionsReached:
    - ripemd160::rol
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t f, uint32_t x, uint32_t k, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:41,1
    - Dst: ripemd160::f1
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ripemd160::R11
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R11(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:42,1
    - Dst: ripemd160::f2
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ripemd160::R21
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R21(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:43,1
    - Dst: ripemd160::f3
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ripemd160::R31
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R31(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:44,1
    - Dst: ripemd160::f4
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ripemd160::R41
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R41(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:45,1
    - Dst: ripemd160::f5
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ripemd160::R51
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R51(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:47,1
    - Dst: ripemd160::f5
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ripemd160::R12
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R12(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:48,1
    - Dst: ripemd160::f4
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ripemd160::R22
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R22(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:49,1
    - Dst: ripemd160::f3
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ripemd160::R32
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R32(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:50,1
    - Dst: ripemd160::f2
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ripemd160::R42
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R42(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:51,1
    - Dst: ripemd160::f1
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ripemd160::R52
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 1
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R52(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:63,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:64,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:65,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:66,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:67,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:68,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:69,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:70,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:71,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:72,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:73,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:74,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:75,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:76,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:77,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:78,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:79,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:80,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:81,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:82,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:83,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:84,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:85,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:86,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:87,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:88,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:89,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:90,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:91,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:92,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:93,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:94,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:96,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:97,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:98,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:99,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:100,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:101,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:102,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:103,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:104,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:105,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:106,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:107,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:108,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:109,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:110,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:111,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:112,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:113,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:114,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:115,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:116,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:117,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:118,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:119,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:120,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:121,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:122,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:123,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:124,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:125,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:126,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:127,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:129,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:130,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:131,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:132,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:133,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:134,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:135,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:136,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:137,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:138,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:139,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:140,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:141,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:142,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:143,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:144,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:145,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:146,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:147,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:148,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:149,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:150,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:151,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:152,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:153,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:154,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:155,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:156,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:157,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:158,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:159,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:160,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:162,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:163,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:164,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:165,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:166,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:167,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:168,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:169,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:170,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:171,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:172,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:173,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:174,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:175,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:176,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:177,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:178,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:179,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:180,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:181,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:182,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:183,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:184,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:185,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:186,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:187,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:188,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:189,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:190,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:191,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:192,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:193,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:195,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:196,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:197,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:198,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:199,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:200,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:201,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:202,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:203,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:204,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:205,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:206,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:207,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:208,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:209,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:210,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:211,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:212,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:213,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:214,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:215,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:216,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:217,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:218,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:219,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:220,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:221,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:222,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:223,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:224,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:225,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 166
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 234
    functionName: ripemd160::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - ripemd160::R21
    - ripemd160::R12
    - ripemd160::R42
    - ripemd160::R41
    - ripemd160::R32
    - ripemd160::R31
    - ripemd160::R51
    - ripemd160::R11
    - ripemd160::R52
    - ripemd160::R22
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ripemd160::f1
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ripemd160::f2
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ripemd160::f3
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ripemd160::f4
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f4(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ripemd160::f5
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f5(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: ripemd160::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - i
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ripemd160::rol
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rol(uint32_t x, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::rol
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:37,1
    - Dst: ripemd160::rol
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - f
    - x
    - k
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ripemd160::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 20
    functionsReached:
    - ripemd160::rol
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t f, uint32_t x, uint32_t k, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:41,1
    - Dst: ripemd160::f1
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ripemd160::R11
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R11(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:42,1
    - Dst: ripemd160::f2
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ripemd160::R21
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R21(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:43,1
    - Dst: ripemd160::f3
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ripemd160::R31
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R31(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:44,1
    - Dst: ripemd160::f4
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ripemd160::R41
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R41(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:45,1
    - Dst: ripemd160::f5
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ripemd160::R51
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R51(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:47,1
    - Dst: ripemd160::f5
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ripemd160::R12
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R12(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:48,1
    - Dst: ripemd160::f4
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ripemd160::R22
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R22(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:49,1
    - Dst: ripemd160::f3
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ripemd160::R32
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R32(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:50,1
    - Dst: ripemd160::f2
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ripemd160::R42
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R42(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:51,1
    - Dst: ripemd160::f1
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ripemd160::R52
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 2
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R52(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:63,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:64,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:65,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:66,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:67,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:68,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:69,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:70,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:71,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:72,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:73,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:74,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:75,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:76,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:77,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:78,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:79,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:80,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:81,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:82,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:83,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:84,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:85,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:86,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:87,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:88,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:89,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:90,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:91,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:92,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:93,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:94,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:96,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:97,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:98,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:99,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:100,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:101,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:102,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:103,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:104,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:105,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:106,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:107,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:108,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:109,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:110,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:111,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:112,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:113,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:114,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:115,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:116,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:117,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:118,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:119,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:120,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:121,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:122,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:123,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:124,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:125,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:126,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:127,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:129,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:130,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:131,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:132,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:133,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:134,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:135,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:136,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:137,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:138,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:139,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:140,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:141,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:142,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:143,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:144,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:145,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:146,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:147,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:148,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:149,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:150,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:151,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:152,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:153,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:154,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:155,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:156,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:157,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:158,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:159,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:160,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:162,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:163,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:164,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:165,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:166,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:167,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:168,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:169,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:170,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:171,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:172,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:173,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:174,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:175,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:176,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:177,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:178,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:179,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:180,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:181,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:182,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:183,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:184,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:185,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:186,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:187,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:188,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:189,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:190,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:191,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:192,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:193,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:195,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:196,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:197,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:198,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:199,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:200,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:201,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:202,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:203,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:204,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:205,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:206,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:207,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:208,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:209,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:210,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:211,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:212,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:213,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:214,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:215,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:216,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:217,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:218,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:219,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:220,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:221,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:222,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:223,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:224,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:225,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 166
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 234
    functionName: ripemd160::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - ripemd160::R21
    - ripemd160::R12
    - ripemd160::R42
    - ripemd160::R41
    - ripemd160::R32
    - ripemd160::R31
    - ripemd160::R51
    - ripemd160::R11
    - ripemd160::R52
    - ripemd160::R22
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ripemd160::f1
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ripemd160::f2
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ripemd160::f3
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ripemd160::f4
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f4(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ripemd160::f5
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f5(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: ripemd160::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - i
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ripemd160::rol
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rol(uint32_t x, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::rol
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:37,1
    - Dst: ripemd160::rol
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - f
    - x
    - k
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ripemd160::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 30
    functionsReached:
    - ripemd160::rol
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t f, uint32_t x, uint32_t k, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:41,1
    - Dst: ripemd160::f1
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ripemd160::R11
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R11(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:42,1
    - Dst: ripemd160::f2
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ripemd160::R21
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R21(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:43,1
    - Dst: ripemd160::f3
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ripemd160::R31
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R31(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:44,1
    - Dst: ripemd160::f4
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ripemd160::R41
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R41(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:45,1
    - Dst: ripemd160::f5
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ripemd160::R51
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R51(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:47,1
    - Dst: ripemd160::f5
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ripemd160::R12
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R12(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:48,1
    - Dst: ripemd160::f4
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ripemd160::R22
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R22(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:49,1
    - Dst: ripemd160::f3
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ripemd160::R32
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R32(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:50,1
    - Dst: ripemd160::f2
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ripemd160::R42
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R42(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:51,1
    - Dst: ripemd160::f1
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ripemd160::R52
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 3
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R52(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:58,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:59,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:60,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:61,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:63,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:64,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:65,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:66,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:67,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:68,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:69,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:70,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:71,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:72,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:73,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:74,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:75,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:76,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:77,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:78,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:79,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:80,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:81,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:82,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:83,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:84,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:85,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:86,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:87,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:88,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:89,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:90,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:91,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:92,1
    - Dst: ripemd160::R11
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:93,1
    - Dst: ripemd160::R12
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:94,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:96,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:97,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:98,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:99,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:100,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:101,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:102,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:103,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:104,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:105,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:106,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:107,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:108,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:109,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:110,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:111,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:112,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:113,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:114,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:115,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:116,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:117,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:118,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:119,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:120,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:121,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:122,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:123,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:124,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:125,1
    - Dst: ripemd160::R21
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:126,1
    - Dst: ripemd160::R22
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:127,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:129,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:130,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:131,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:132,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:133,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:134,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:135,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:136,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:137,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:138,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:139,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:140,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:141,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:142,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:143,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:144,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:145,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:146,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:147,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:148,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:149,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:150,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:151,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:152,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:153,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:154,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:155,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:156,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:157,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:158,1
    - Dst: ripemd160::R31
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:159,1
    - Dst: ripemd160::R32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:160,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:162,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:163,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:164,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:165,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:166,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:167,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:168,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:169,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:170,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:171,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:172,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:173,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:174,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:175,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:176,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:177,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:178,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:179,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:180,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:181,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:182,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:183,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:184,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:185,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:186,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:187,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:188,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:189,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:190,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:191,1
    - Dst: ripemd160::R41
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:192,1
    - Dst: ripemd160::R42
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:193,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:195,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:196,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:197,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:198,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:199,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:200,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:201,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:202,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:203,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:204,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:205,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:206,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:207,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:208,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:209,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:210,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:211,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:212,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:213,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:214,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:215,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:216,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:217,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:218,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:219,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:220,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:221,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:222,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:223,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:224,1
    - Dst: ripemd160::R51
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:225,1
    - Dst: ripemd160::R52
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 166
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 234
    functionName: ripemd160::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - ripemd160::R21
    - ripemd160::R12
    - ripemd160::R42
    - ripemd160::R41
    - ripemd160::R32
    - ripemd160::R31
    - ripemd160::R51
    - ripemd160::R11
    - ripemd160::R52
    - ripemd160::R22
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Initialize
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: CRIPEMD160::CRIPEMD160
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Initialize
    linkageType: ''
    returnType: void
    signature: void CRIPEMD160::CRIPEMD160()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:253,1
    - Dst: ripemd160::Transform
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:256,1
    - Dst: ripemd160::Transform
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:261,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: '& CRIPEMD160::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Transform
    - memcpy
    linkageType: ''
    returnType: CRIPEMD160
    signature: CRIPEMD160 & CRIPEMD160::Write(const unsigned char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:277,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:278,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:279,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:280,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:281,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:282,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:283,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: CRIPEMD160::Finalize
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - WriteLE64
    - WriteLE32
    - Write
    linkageType: ''
    returnType: void
    signature: void CRIPEMD160::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Initialize
      Src: /src/bitcoin-core/src/crypto/ripemd160.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: '& CRIPEMD160::Reset()'
    functionSourceFile: /src/bitcoin-core/src/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Initialize
    linkageType: ''
    returnType: CRIPEMD160
    signature: CRIPEMD160 & CRIPEMD160::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/hmac_sha256.cpp:13,1
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/hmac_sha256.cpp:14,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/crypto/hmac_sha256.cpp:16,1
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/hmac_sha256.cpp:17,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/hmac_sha256.cpp:22,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/hmac_sha256.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 27
    functionName: CHMAC_SHA256::CHMAC_SHA256
    functionSourceFile: /src/bitcoin-core/src/crypto/hmac_sha256.cpp
    functionUses: 0
    functionsReached:
    - memset
    - Write
    - CSHA256
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA256::CHMAC_SHA256(const unsigned char* key, size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHMAC_SHA256::Finalize
      Src: /src/bitcoin-core/src/crypto/hmac_sha256.cpp:32,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/hmac_sha256.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: CHMAC_SHA256::Finalize
    functionSourceFile: /src/bitcoin-core/src/crypto/hmac_sha256.cpp
    functionUses: 2
    functionsReached:
    - CHMAC_SHA256::Finalize
    - Write
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: sha256::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Ch(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: sha256::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Maj(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: sha256::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma0(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: sha256::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma1(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: sha256::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma0(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sha256::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma1(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:79,1
    - Dst: sha256::Ch
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:79,1
    - Dst: sha256::Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:80,1
    - Dst: sha256::Maj
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: sha256::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Sigma1
    - sha256::Sigma0
    - sha256::Ch
    - sha256::Maj
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t b, uint32_t c, uint32_t& d, uint32_t
      e, uint32_t f, uint32_t g, uint32_t& h, uint32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: sha256::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:105,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:105,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:106,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:106,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:107,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:107,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:108,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:108,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:109,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:109,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:110,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:110,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:111,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:111,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:112,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:112,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:113,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:113,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:114,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:114,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:115,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:115,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:116,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:116,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:117,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:117,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:118,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:118,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:119,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:119,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:120,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:120,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 76
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 183
    functionName: sha256::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - sha256::sigma1
    - ReadBE32
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:199,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:199,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:200,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:200,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:201,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:201,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:202,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:202,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:203,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:203,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:204,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:204,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:205,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:205,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:206,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:206,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:207,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:207,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:208,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:208,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:209,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:209,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:210,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:210,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:211,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:211,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:212,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:212,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:213,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:213,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:214,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:214,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:276,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:277,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:278,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:279,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:280,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:281,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:282,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:283,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:284,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:285,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:286,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:287,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:288,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:289,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:290,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:291,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:292,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:293,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:294,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:295,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:296,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:297,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:298,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:299,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:300,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:301,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:302,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:303,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:304,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:305,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:306,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:307,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:308,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:309,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:310,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:311,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:312,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:313,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:314,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:315,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:316,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:317,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:318,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:319,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:320,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:321,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:322,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:323,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:324,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:325,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:326,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:327,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:328,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:329,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:330,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:331,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:332,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:333,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:334,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:335,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:336,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:337,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:338,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:339,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:360,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:361,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:362,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:363,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:364,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:365,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:366,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:367,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:368,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:369,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:370,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:371,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:372,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:373,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:374,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:375,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:376,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:376,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:377,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:377,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:383,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:383,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:384,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:384,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:385,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:385,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:386,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:386,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:387,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:387,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:388,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:388,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:389,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:389,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:390,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:390,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:426,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:427,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:428,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:429,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:430,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:431,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:432,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 434
    functionName: sha256::TransformD64
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - ReadBE32
    - sha256::sigma1
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void TransformD64(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: sha256::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Ch(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: sha256::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Maj(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: sha256::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma0(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: sha256::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma1(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: sha256::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma0(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sha256::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma1(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:79,1
    - Dst: sha256::Ch
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:79,1
    - Dst: sha256::Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:80,1
    - Dst: sha256::Maj
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: sha256::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 2
    functionsReached:
    - sha256::Sigma1
    - sha256::Sigma0
    - sha256::Ch
    - sha256::Maj
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t b, uint32_t c, uint32_t& d, uint32_t
      e, uint32_t f, uint32_t g, uint32_t& h, uint32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: sha256::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:105,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:105,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:106,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:106,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:107,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:107,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:108,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:108,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:109,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:109,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:110,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:110,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:111,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:111,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:112,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:112,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:113,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:113,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:114,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:114,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:115,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:115,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:116,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:116,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:117,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:117,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:118,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:118,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:119,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:119,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:120,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:120,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 76
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 183
    functionName: sha256::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - sha256::sigma1
    - ReadBE32
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:199,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:199,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:200,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:200,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:201,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:201,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:202,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:202,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:203,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:203,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:204,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:204,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:205,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:205,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:206,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:206,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:207,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:207,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:208,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:208,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:209,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:209,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:210,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:210,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:211,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:211,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:212,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:212,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:213,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:213,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:214,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:214,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:276,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:277,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:278,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:279,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:280,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:281,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:282,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:283,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:284,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:285,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:286,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:287,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:288,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:289,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:290,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:291,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:292,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:293,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:294,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:295,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:296,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:297,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:298,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:299,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:300,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:301,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:302,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:303,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:304,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:305,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:306,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:307,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:308,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:309,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:310,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:311,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:312,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:313,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:314,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:315,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:316,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:317,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:318,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:319,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:320,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:321,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:322,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:323,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:324,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:325,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:326,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:327,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:328,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:329,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:330,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:331,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:332,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:333,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:334,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:335,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:336,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:337,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:338,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:339,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:360,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:361,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:362,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:363,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:364,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:365,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:366,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:367,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:368,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:369,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:370,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:371,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:372,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:373,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:374,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:375,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:376,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:376,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:377,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:377,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:383,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:383,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:384,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:384,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:385,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:385,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:386,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:386,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:387,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:387,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:388,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:388,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:389,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:389,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:390,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:390,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:426,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:427,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:428,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:429,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:430,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:431,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:432,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 434
    functionName: sha256::TransformD64
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - ReadBE32
    - sha256::sigma1
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void TransformD64(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:457,1
    - Dst: tr
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:458,1
    - Dst: tr
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:459,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:460,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:461,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:462,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:463,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:464,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:465,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:466,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:467,1
    - Dst: sha256::Initialize
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:468,1
    - Dst: tr
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:469,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:470,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:471,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:472,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:473,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:474,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:475,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:476,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 478
    functionName: TransformD64Wrapper
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Initialize
    - WriteBE32
    - tr
    linkageType: ''
    returnType: void
    signature: void TransformD64Wrapper(unsigned char* out, const unsigned char* in)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:537,1
    - Dst: Transform
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:538,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:539,1
    - Dst: TransformD64
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:544,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:545,1
    - Dst: TransformD64_2way
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:550,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:551,1
    - Dst: TransformD64_4way
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:557,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:558,1
    - Dst: TransformD64_8way
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:564,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 569
    functionName: SelfTest
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - TransformD64_4way
    - TransformD64_8way
    - TransformD64_2way
    - TransformD64
    - Transform
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool SelfTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 579
    functionName: AVXEnabled
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AVXEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: sha256::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Ch(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: sha256::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Maj(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: sha256::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma0(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: sha256::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma1(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: sha256::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma0(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sha256::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma1(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:79,1
    - Dst: sha256::Ch
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:79,1
    - Dst: sha256::Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:80,1
    - Dst: sha256::Maj
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: sha256::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 4
    functionsReached:
    - sha256::Sigma1
    - sha256::Sigma0
    - sha256::Ch
    - sha256::Maj
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t b, uint32_t c, uint32_t& d, uint32_t
      e, uint32_t f, uint32_t g, uint32_t& h, uint32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: sha256::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:105,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:105,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:106,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:106,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:107,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:107,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:108,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:108,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:109,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:109,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:110,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:110,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:111,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:111,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:112,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:112,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:113,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:113,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:114,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:114,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:115,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:115,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:116,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:116,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:117,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:117,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:118,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:118,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:119,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:119,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:120,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:120,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 76
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 183
    functionName: sha256::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - sha256::sigma1
    - ReadBE32
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:199,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:199,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:200,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:200,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:201,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:201,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:202,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:202,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:203,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:203,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:204,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:204,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:205,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:205,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:206,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:206,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:207,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:207,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:208,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:208,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:209,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:209,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:210,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:210,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:211,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:211,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:212,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:212,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:213,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:213,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:214,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:214,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:276,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:277,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:278,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:279,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:280,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:281,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:282,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:283,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:284,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:285,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:286,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:287,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:288,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:289,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:290,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:291,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:292,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:293,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:294,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:295,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:296,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:297,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:298,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:299,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:300,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:301,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:302,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:303,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:304,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:305,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:306,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:307,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:308,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:309,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:310,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:311,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:312,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:313,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:314,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:315,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:316,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:317,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:318,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:319,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:320,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:321,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:322,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:323,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:324,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:325,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:326,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:327,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:328,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:329,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:330,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:331,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:332,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:333,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:334,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:335,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:336,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:337,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:338,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:339,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:360,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:361,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:362,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:363,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:364,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:365,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:366,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:367,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:368,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:369,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:370,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:371,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:372,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:373,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:374,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:375,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:376,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:376,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:377,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:377,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:383,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:383,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:384,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:384,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:385,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:385,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:386,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:386,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:387,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:387,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:388,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:388,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:389,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:389,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:390,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:390,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:426,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:427,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:428,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:429,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:430,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:431,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:432,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 434
    functionName: sha256::TransformD64
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - ReadBE32
    - sha256::sigma1
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void TransformD64(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: sha256::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Ch(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: sha256::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Maj(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: sha256::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma0(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: sha256::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma1(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: sha256::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma0(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sha256::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma1(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:79,1
    - Dst: sha256::Ch
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:79,1
    - Dst: sha256::Sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:80,1
    - Dst: sha256::Maj
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: sha256::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 6
    functionsReached:
    - sha256::Sigma1
    - sha256::Sigma0
    - sha256::Ch
    - sha256::Maj
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t b, uint32_t c, uint32_t& d, uint32_t
      e, uint32_t f, uint32_t g, uint32_t& h, uint32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: sha256::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:105,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:105,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:106,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:106,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:107,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:107,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:108,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:108,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:109,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:109,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:110,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:110,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:111,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:111,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:112,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:112,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:113,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:113,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:114,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:114,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:115,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:115,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:116,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:116,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:117,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:117,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:118,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:118,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:119,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:119,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:120,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:120,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:122,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:123,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:124,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:125,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:126,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:127,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:128,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:129,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:130,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:131,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:132,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:133,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:134,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:135,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:136,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:137,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:139,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:140,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:141,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:142,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:143,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:144,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:145,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:146,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:147,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:148,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:149,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:150,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:151,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:152,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:153,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:154,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:156,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:157,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:158,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:159,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:160,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:161,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:162,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:163,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:164,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:165,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:166,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:167,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:168,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:169,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:170,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 76
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 183
    functionName: sha256::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - sha256::sigma1
    - ReadBE32
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:199,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:199,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:200,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:200,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:201,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:201,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:202,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:202,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:203,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:203,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:204,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:204,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:205,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:205,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:206,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:206,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:207,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:207,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:208,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:208,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:209,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:209,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:210,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:210,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:211,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:211,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:212,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:212,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:213,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:213,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:214,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:214,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:215,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:216,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:217,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:218,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:219,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:220,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:221,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:222,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:223,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:224,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:225,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:226,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:227,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:228,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:229,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:230,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:231,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:232,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:233,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:234,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:235,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:236,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:237,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:238,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:239,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:240,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:241,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:242,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:243,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:244,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:245,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:246,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:247,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:248,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:249,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:250,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:251,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:252,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:253,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:254,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:255,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:256,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:257,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:258,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:259,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:260,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:261,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:262,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:276,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:277,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:278,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:279,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:280,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:281,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:282,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:283,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:284,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:285,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:286,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:287,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:288,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:289,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:290,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:291,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:292,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:293,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:294,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:295,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:296,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:297,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:298,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:299,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:300,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:301,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:302,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:303,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:304,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:305,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:306,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:307,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:308,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:309,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:310,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:311,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:312,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:313,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:314,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:315,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:316,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:317,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:318,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:319,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:320,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:321,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:322,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:323,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:324,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:325,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:326,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:327,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:328,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:329,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:330,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:331,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:332,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:333,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:334,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:335,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:336,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:337,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:338,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:339,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:360,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:361,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:362,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:363,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:364,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:365,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:366,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:367,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:368,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:369,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:370,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:371,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:372,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:373,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:374,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:375,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:376,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:376,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:377,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:377,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:378,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:379,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:380,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:381,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:382,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:383,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:383,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:384,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:384,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:385,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:385,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:386,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:386,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:387,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:387,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:388,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:388,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:389,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:389,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:390,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:390,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:391,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:392,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:393,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:394,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:395,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:396,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:397,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:398,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:399,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:400,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:401,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:402,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:403,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:404,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:405,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:406,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:407,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:408,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:409,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:410,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:411,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:412,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:413,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:414,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:415,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:416,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:417,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:418,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:419,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:420,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:421,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:422,1
    - Dst: sha256::Round
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: sha256::sigma1
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: sha256::sigma0
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:423,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:426,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:427,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:428,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:429,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:430,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:431,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:432,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 434
    functionName: sha256::TransformD64
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - ReadBE32
    - sha256::sigma1
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void TransformD64(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:457,1
    - Dst: tr
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:458,1
    - Dst: tr
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:459,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:460,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:461,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:462,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:463,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:464,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:465,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:466,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:467,1
    - Dst: sha256::Initialize
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:468,1
    - Dst: tr
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:469,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:470,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:471,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:472,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:473,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:474,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:475,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:476,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 478
    functionName: TransformD64Wrapper
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Initialize
    - WriteBE32
    - tr
    linkageType: ''
    returnType: void
    signature: void TransformD64Wrapper(unsigned char* out, const unsigned char* in)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:537,1
    - Dst: Transform
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:538,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:539,1
    - Dst: TransformD64
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:544,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:545,1
    - Dst: TransformD64_2way
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:550,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:551,1
    - Dst: TransformD64_4way
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:557,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:558,1
    - Dst: TransformD64_8way
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:564,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 569
    functionName: SelfTest
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - TransformD64_4way
    - TransformD64_8way
    - TransformD64_2way
    - TransformD64
    - Transform
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool SelfTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 579
    functionName: AVXEnabled
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AVXEnabled()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetCPUID
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:604,1
    - Dst: AVXEnabled
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:611,1
    - Dst: GetCPUID
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:614,1
    - Dst: getauxval
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:659,1
    - Dst: getauxval
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:664,1
    - Dst: sysctlbyname
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:673,1
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:688,1
    - Dst: SelfTest
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:688,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - use_implementation
    argTypes:
    - sha256_implementation::UseImplementation
    assertStmts:
    - condition: (SelfTest())
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/bitcoin-core/src/crypto/sha256.cpp
    constantsTouched: []
    func_position:
      end: 690
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 690
    functionName: SHA256AutoDetect
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - AVXEnabled
    - GetCPUID
    - sysctlbyname
    - assert
    - getauxval
    - SelfTest
    linkageType: ''
    returnType: std::string
    signature: std::string SHA256AutoDetect(sha256_implementation::UseImplementation
      use_implementation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: CSHA256::CSHA256
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 3
    functionsReached:
    - sha256::Initialize
    linkageType: ''
    returnType: void
    signature: void CSHA256::CSHA256()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:705,1
    - Dst: Transform
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:708,1
    - Dst: Transform
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:713,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 723
    functionName: '& CSHA256::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - Transform
    - memcpy
    linkageType: ''
    returnType: CSHA256
    signature: CSHA256 & CSHA256::Write(const unsigned char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:729,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:730,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:731,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:732,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:733,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:734,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:735,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:736,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:737,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:738,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 740
    functionName: CSHA256::Finalize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 3
    functionsReached:
    - Write
    - WriteBE64
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void CSHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 747
    functionName: '& CSHA256::Reset()'
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Initialize
    linkageType: ''
    returnType: CSHA256
    signature: CSHA256 & CSHA256::Reset()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformD64_8way
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:753,1
    - Dst: TransformD64_4way
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:761,1
    - Dst: TransformD64_2way
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:769,1
    - Dst: TransformD64
      Src: /src/bitcoin-core/src/crypto/sha256.cpp:776,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - out
    - in
    - blocks
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 781
    functionName: SHA256D64
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - TransformD64
    - TransformD64_2way
    - TransformD64_8way
    - TransformD64_4way
    linkageType: ''
    returnType: void
    signature: void SHA256D64(unsigned char* out, const unsigned char* in, size_t
      blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/crypto/hex_base.h:18,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/crypto/hex_base.h:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::span<const char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: HexStr
    functionSourceFile: /src/bitcoin-core/src/crypto/hex_base.h
    functionUses: 26
    functionsReached:
    - MakeUCharSpan
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string HexStr(const std::span<const char> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/crypto/hex_base.h:19,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/crypto/hex_base.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: HexStr
    functionSourceFile: /src/bitcoin-core/src/crypto/hex_base.h
    functionUses: 27
    functionsReached:
    - MakeUCharSpan
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string HexStr(const std::span<const std::byte> s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/hmac_sha512.cpp:13,1
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/hmac_sha512.cpp:14,1
    - Dst: CSHA512
      Src: /src/bitcoin-core/src/crypto/hmac_sha512.cpp:16,1
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/hmac_sha512.cpp:17,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/hmac_sha512.cpp:22,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/hmac_sha512.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 27
    functionName: CHMAC_SHA512::CHMAC_SHA512
    functionSourceFile: /src/bitcoin-core/src/crypto/hmac_sha512.cpp
    functionUses: 0
    functionsReached:
    - memset
    - Write
    - CSHA512
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA512::CHMAC_SHA512(const unsigned char* key, size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHMAC_SHA512::Finalize
      Src: /src/bitcoin-core/src/crypto/hmac_sha512.cpp:32,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/hmac_sha512.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: CHMAC_SHA512::Finalize
    functionSourceFile: /src/bitcoin-core/src/crypto/hmac_sha512.cpp
    functionUses: 1
    functionsReached:
    - CHMAC_SHA512::Finalize
    - Write
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi64x
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:24,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:25,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:26,1
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' state0'
    - ' state1'
    - k1
    - k0
    argTypes:
    - __m128i
    - __m128i
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: ALWAYS_INLINE::QuadRound
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi32
    - _mm_sha256rnds2_epu32
    - _mm_set_epi64x
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE QuadRound(__m128i& state0, __m128i& state1, uint64_t
      k1, uint64_t k0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:31,1
    - Dst: _mm_set_epi64x
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:31,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:32,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:33,1
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' state0'
    - ' state1'
    - m
    - k1
    - k0
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALWAYS_INLINE::QuadRound
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_add_epi32
    - _mm_shuffle_epi32
    - _mm_sha256rnds2_epu32
    - _mm_set_epi64x
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE QuadRound(__m128i& state0, __m128i& state1, __m128i
      m, uint64_t k1, uint64_t k0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sha256msg1_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' m0'
    - m1
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ALWAYS_INLINE::ShiftMessageA
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha256msg1_epu32
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE ShiftMessageA(__m128i& m0, __m128i m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sha256msg2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:43,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:43,1
    - Dst: _mm_alignr_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' m0'
    - m1
    - ' m2'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ALWAYS_INLINE::ShiftMessageC
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha256msg2_epu32
    - _mm_add_epi32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE ShiftMessageC(__m128i& m0, __m128i m1, __m128i&
      m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALWAYS_INLINE::ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:48,1
    - Dst: ALWAYS_INLINE::ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' m0'
    - m1
    - ' m2'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: ALWAYS_INLINE::ShiftMessageB
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - ALWAYS_INLINE::ShiftMessageA
    - ALWAYS_INLINE::ShiftMessageC
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE ShiftMessageB(__m128i& m0, __m128i m1, __m128i&
      m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:54,1
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:55,1
    - Dst: _mm_alignr_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:56,1
    - Dst: _mm_blend_epi16
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s0'
    - ' s1'
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ALWAYS_INLINE::Shuffle
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_blend_epi16
    - _mm_shuffle_epi32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Shuffle(__m128i& s0, __m128i& s1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:62,1
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:63,1
    - Dst: _mm_blend_epi16
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:64,1
    - Dst: _mm_alignr_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s0'
    - ' s1'
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: ALWAYS_INLINE::Unshuffle
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_blend_epi16
    - _mm_shuffle_epi32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Unshuffle(__m128i& s0, __m128i& s1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:70,1
    - Dst: _mm_loadu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:70,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ALWAYS_INLINE::Load
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_load_si128
    - _mm_shuffle_epi8
    - _mm_loadu_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i ALWAYS_INLINE Load(const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:75,1
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:75,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - unsigned char*
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ALWAYS_INLINE::Save
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_storeu_si128
    - _mm_load_si128
    - _mm_shuffle_epi8
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Save(unsigned char* out, __m128i s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi64x
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:24,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:25,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:26,1
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' state0'
    - ' state1'
    - k1
    - k0
    argTypes:
    - __m128i
    - __m128i
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: ALWAYS_INLINE::QuadRound
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi32
    - _mm_sha256rnds2_epu32
    - _mm_set_epi64x
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE QuadRound(__m128i& state0, __m128i& state1, uint64_t
      k1, uint64_t k0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:31,1
    - Dst: _mm_set_epi64x
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:31,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:32,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:33,1
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' state0'
    - ' state1'
    - m
    - k1
    - k0
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALWAYS_INLINE::QuadRound
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_add_epi32
    - _mm_shuffle_epi32
    - _mm_sha256rnds2_epu32
    - _mm_set_epi64x
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE QuadRound(__m128i& state0, __m128i& state1, __m128i
      m, uint64_t k1, uint64_t k0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sha256msg1_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' m0'
    - m1
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ALWAYS_INLINE::ShiftMessageA
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 1
    functionsReached:
    - _mm_sha256msg1_epu32
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE ShiftMessageA(__m128i& m0, __m128i m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sha256msg2_epu32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:43,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:43,1
    - Dst: _mm_alignr_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' m0'
    - m1
    - ' m2'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ALWAYS_INLINE::ShiftMessageC
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 1
    functionsReached:
    - _mm_sha256msg2_epu32
    - _mm_add_epi32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE ShiftMessageC(__m128i& m0, __m128i m1, __m128i&
      m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALWAYS_INLINE::ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:48,1
    - Dst: ALWAYS_INLINE::ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' m0'
    - m1
    - ' m2'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: ALWAYS_INLINE::ShiftMessageB
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - ALWAYS_INLINE::ShiftMessageA
    - ALWAYS_INLINE::ShiftMessageC
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE ShiftMessageB(__m128i& m0, __m128i m1, __m128i&
      m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:54,1
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:55,1
    - Dst: _mm_alignr_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:56,1
    - Dst: _mm_blend_epi16
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s0'
    - ' s1'
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ALWAYS_INLINE::Shuffle
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_blend_epi16
    - _mm_shuffle_epi32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Shuffle(__m128i& s0, __m128i& s1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:62,1
    - Dst: _mm_shuffle_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:63,1
    - Dst: _mm_blend_epi16
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:64,1
    - Dst: _mm_alignr_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s0'
    - ' s1'
    argTypes:
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: ALWAYS_INLINE::Unshuffle
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_blend_epi16
    - _mm_shuffle_epi32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Unshuffle(__m128i& s0, __m128i& s1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:70,1
    - Dst: _mm_loadu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:70,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ALWAYS_INLINE::Load
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_load_si128
    - _mm_shuffle_epi8
    - _mm_loadu_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i ALWAYS_INLINE Load(const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:75,1
    - Dst: _mm_shuffle_epi8
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:75,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - unsigned char*
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ALWAYS_INLINE::Save
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_storeu_si128
    - _mm_load_si128
    - _mm_shuffle_epi8
    linkageType: ''
    returnType: void
    signature: void ALWAYS_INLINE Save(unsigned char* out, __m128i s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:85,1
    - Dst: _mm_loadu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:86,1
    - Dst: Shuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:87,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:95,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:96,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:97,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:98,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:99,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:100,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:101,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:102,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:103,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:104,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:105,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:106,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:107,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:108,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:109,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:110,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:111,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:112,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:113,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:114,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:115,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:116,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:117,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:118,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:119,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:120,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:121,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:122,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:123,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:124,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:125,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:126,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:127,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:128,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:131,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:132,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:138,1
    - Dst: _mm_storeu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:139,1
    - Dst: _mm_storeu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 141
    functionName: sha256_x86_shani::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - ShiftMessageB
    - Unshuffle
    - Shuffle
    - QuadRound
    - Load
    - ShiftMessageA
    - ShiftMessageC
    - _mm_add_epi32
    - _mm_storeu_si128
    - _mm_loadu_si128
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:85,1
    - Dst: _mm_loadu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:86,1
    - Dst: Shuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:87,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:95,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:96,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:97,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:98,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:99,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:100,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:101,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:102,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:103,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:104,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:105,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:106,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:107,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:108,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:109,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:110,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:111,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:112,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:113,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:114,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:115,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:116,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:117,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:118,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:119,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:120,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:121,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:122,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:123,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:124,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:125,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:126,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:127,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:128,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:131,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:132,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:138,1
    - Dst: _mm_storeu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:139,1
    - Dst: _mm_storeu_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 141
    functionName: sha256_x86_shani::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - ShiftMessageB
    - Unshuffle
    - Shuffle
    - QuadRound
    - Load
    - ShiftMessageA
    - ShiftMessageC
    - _mm_add_epi32
    - _mm_storeu_si128
    - _mm_loadu_si128
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:152,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:153,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:154,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:155,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:156,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:157,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:158,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:159,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:160,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:161,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:162,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:163,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:164,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:165,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:166,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:167,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:168,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:169,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:170,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:171,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:172,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:173,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:174,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:175,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:176,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:177,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:178,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:179,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:180,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:181,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:182,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:183,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:184,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:185,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:186,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:187,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:188,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:189,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:190,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:191,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:192,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:193,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:194,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:195,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:196,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:197,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:198,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:199,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:200,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:201,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:202,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:203,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:204,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:205,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:206,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:207,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:208,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:209,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:210,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:211,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:212,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:213,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:214,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:215,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:216,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:217,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:218,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:219,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:220,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:221,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:222,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:222,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:223,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:223,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:224,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:224,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:225,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:225,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:232,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:233,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:234,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:235,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:236,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:237,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:238,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:239,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:240,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:241,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:242,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:243,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:244,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:245,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:246,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:247,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:248,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:249,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:250,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:251,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:252,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:253,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:254,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:255,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:256,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:257,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:258,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:259,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:260,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:261,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:262,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:263,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:264,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:265,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:266,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:267,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:270,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:271,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:278,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:279,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:280,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:281,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:282,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:283,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:284,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:285,1
    - Dst: _mm_set_epi64x
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:286,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:287,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:288,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:289,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:290,1
    - Dst: _mm_set_epi64x
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:291,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:292,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:293,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:294,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:295,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:296,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:297,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:298,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:299,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:300,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:301,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:302,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:303,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:304,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:305,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:306,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:307,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:308,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:309,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:310,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:311,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:312,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:313,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:314,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:315,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:316,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:317,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:318,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:319,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:320,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:321,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:322,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:323,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:324,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:325,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:326,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:327,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:328,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:329,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:330,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:331,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:332,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:333,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:334,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:335,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:336,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:337,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:338,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:339,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:340,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:341,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:342,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:342,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:343,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:343,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:344,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:344,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:345,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:345,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:348,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:349,1
    - Dst: Save
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:350,1
    - Dst: Save
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:351,1
    - Dst: Save
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:352,1
    - Dst: Save
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 195
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 354
    functionName: sha256d64_x86_shani::Transform_2way
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - ShiftMessageB
    - Unshuffle
    - Save
    - QuadRound
    - Load
    - ShiftMessageA
    - ShiftMessageC
    - _mm_add_epi32
    - _mm_load_si128
    - _mm_set_epi64x
    linkageType: ''
    returnType: void
    signature: void Transform_2way(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:152,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:153,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:154,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:155,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:156,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:157,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:158,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:159,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:160,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:161,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:162,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:163,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:164,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:165,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:166,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:167,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:168,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:169,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:170,1
    - Dst: Load
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:171,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:172,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:173,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:174,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:175,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:176,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:177,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:178,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:179,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:180,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:181,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:182,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:183,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:184,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:185,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:186,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:187,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:188,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:189,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:190,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:191,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:192,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:193,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:194,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:195,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:196,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:197,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:198,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:199,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:200,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:201,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:202,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:203,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:204,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:205,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:206,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:207,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:208,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:209,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:210,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:211,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:212,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:213,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:214,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:215,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:216,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:217,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:218,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:219,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:220,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:221,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:222,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:222,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:223,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:223,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:224,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:224,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:225,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:225,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:232,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:233,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:234,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:235,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:236,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:237,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:238,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:239,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:240,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:241,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:242,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:243,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:244,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:245,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:246,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:247,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:248,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:249,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:250,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:251,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:252,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:253,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:254,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:255,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:256,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:257,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:258,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:259,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:260,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:261,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:262,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:263,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:264,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:265,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:266,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:267,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:270,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:271,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:278,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:279,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:280,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:281,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:282,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:283,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:284,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:285,1
    - Dst: _mm_set_epi64x
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:286,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:287,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:288,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:289,1
    - Dst: ShiftMessageA
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:290,1
    - Dst: _mm_set_epi64x
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:291,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:292,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:293,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:294,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:295,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:296,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:297,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:298,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:299,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:300,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:301,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:302,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:303,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:304,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:305,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:306,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:307,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:308,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:309,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:310,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:311,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:312,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:313,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:314,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:315,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:316,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:317,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:318,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:319,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:320,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:321,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:322,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:323,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:324,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:325,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:326,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:327,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:328,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:329,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:330,1
    - Dst: ShiftMessageB
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:331,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:332,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:333,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:334,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:335,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:336,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:337,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:338,1
    - Dst: ShiftMessageC
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:339,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:340,1
    - Dst: QuadRound
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:341,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:342,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:342,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:343,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:343,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:344,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:344,1
    - Dst: _mm_add_epi32
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:345,1
    - Dst: _mm_load_si128
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:345,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:348,1
    - Dst: Unshuffle
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:349,1
    - Dst: Save
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:350,1
    - Dst: Save
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:351,1
    - Dst: Save
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:352,1
    - Dst: Save
      Src: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 195
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 354
    functionName: sha256d64_x86_shani::Transform_2way
    functionSourceFile: /src/bitcoin-core/src/crypto/sha256_x86_shani.cpp
    functionUses: 0
    functionsReached:
    - ShiftMessageB
    - Unshuffle
    - Save
    - QuadRound
    - Load
    - ShiftMessageA
    - ShiftMessageC
    - _mm_add_epi32
    - _mm_load_si128
    - _mm_set_epi64x
    linkageType: ''
    returnType: void
    signature: void Transform_2way(unsigned char* out, const unsigned char* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/bitcoin-core/src/crypto/aes.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: AES256Encrypt::AES256Encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void AES256Encrypt::AES256Encrypt(const unsigned char key[32])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/aes.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: AES256Encrypt::~AES256Encrypt()
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256Encrypt::~AES256Encrypt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES256_encrypt
      Src: /src/bitcoin-core/src/crypto/aes.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext
    - plaintext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: AES256Encrypt::Encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_encrypt
    linkageType: ''
    returnType: void
    signature: void AES256Encrypt::Encrypt(unsigned char ciphertext[16], const unsigned
      char plaintext[16]) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/bitcoin-core/src/crypto/aes.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: AES256Decrypt::AES256Decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void AES256Decrypt::AES256Decrypt(const unsigned char key[32])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/aes.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: AES256Decrypt::~AES256Decrypt()
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256Decrypt::~AES256Decrypt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES256_decrypt
      Src: /src/bitcoin-core/src/crypto/aes.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - ciphertext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: AES256Decrypt::Decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_decrypt
    linkageType: ''
    returnType: void
    signature: void AES256Decrypt::Decrypt(unsigned char plaintext[16], const unsigned
      char ciphertext[16]) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/aes.cpp:57,1
    - Dst: Encrypt
      Src: /src/bitcoin-core/src/crypto/aes.cpp:63,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/aes.cpp:64,1
    - Dst: Encrypt
      Src: /src/bitcoin-core/src/crypto/aes.cpp:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - ' enc'
    - iv
    - data
    - size
    - pad
    - out
    argTypes:
    - T
    - unsigned char[]
    - unsigned char*
    - int
    - bool
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: CBCEncrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - Encrypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: int CBCEncrypt(const T& enc, const unsigned char iv[AES_BLOCKSIZE],
      const unsigned char* data, int size, bool pad, unsigned char* out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Decrypt
      Src: /src/bitcoin-core/src/crypto/aes.cpp:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - ' dec'
    - iv
    - data
    - size
    - pad
    - out
    argTypes:
    - T
    - unsigned char[]
    - unsigned char*
    - int
    - bool
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 119
    functionName: CBCDecrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - Decrypt
    linkageType: ''
    returnType: int
    signature: int CBCDecrypt(const T& dec, const unsigned char iv[AES_BLOCKSIZE],
      const unsigned char* data, int size, bool pad, unsigned char* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/aes.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - ivIn
    - padIn
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: AES256CBCEncrypt::AES256CBCEncrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES256CBCEncrypt::AES256CBCEncrypt(const unsigned char key[AES256_KEYSIZE],
      const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBCEncrypt
      Src: /src/bitcoin-core/src/crypto/aes.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - out
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: AES256CBCEncrypt::Encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - CBCEncrypt
    linkageType: ''
    returnType: int
    signature: int AES256CBCEncrypt::Encrypt(const unsigned char* data, int size,
      unsigned char* out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/aes.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: AES256CBCEncrypt::~AES256CBCEncrypt()
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256CBCEncrypt::~AES256CBCEncrypt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/aes.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - ivIn
    - padIn
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: AES256CBCDecrypt::AES256CBCDecrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES256CBCDecrypt::AES256CBCDecrypt(const unsigned char key[AES256_KEYSIZE],
      const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBCDecrypt
      Src: /src/bitcoin-core/src/crypto/aes.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - out
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: AES256CBCDecrypt::Decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - CBCDecrypt
    linkageType: ''
    returnType: int
    signature: int AES256CBCDecrypt::Decrypt(const unsigned char* data, int size,
      unsigned char* out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/crypto/aes.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: AES256CBCDecrypt::~AES256CBCDecrypt()
    functionSourceFile: /src/bitcoin-core/src/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256CBCDecrypt::~AES256CBCDecrypt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/hmac_sha512.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: '& Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/bitcoin-core/src/crypto/hmac_sha512.h
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: CHMAC_SHA512
    signature: CHMAC_SHA512 & Write(const unsigned char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:18,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts:
    - condition: (key.size() == KEYLEN)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: AEADChaCha20Poly1305::AEADChaCha20Poly1305
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - assert
    linkageType: ''
    returnType: void
    signature: void AEADChaCha20Poly1305::AEADChaCha20Poly1305(std::span<const std::byte>
      key) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:23,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:23,1
    - Dst: AEADChaCha20Poly1305::SetKey
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts:
    - condition: (key.size() == KEYLEN)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: AEADChaCha20Poly1305::SetKey
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - std::span<const std::byte>::size
    - assert
    - AEADChaCha20Poly1305::SetKey
    linkageType: ''
    returnType: void
    signature: void AEADChaCha20Poly1305::SetKey(std::span<const std::byte> key) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b1
    - b2
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: timingsafe_bcmp_internal
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int timingsafe_bcmp_internal(const unsigned char* b1, const unsigned
      char* b2, size_t n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Keystream
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:45,1
    - Dst: first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:48,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:52,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:53,1
    - Dst: first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:53,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:55,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:56,1
    - Dst: first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:56,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:59,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:59,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:60,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:60,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:61,1
    - Dst: Poly1305::Finalize
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' chacha20'
    - aad
    - cipher
    - tag
    argTypes:
    - ChaCha20
    - std::span<const std::byte>
    - std::span<const std::byte>
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: ComputeTag
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - Poly1305::Update
    - WriteLE64
    - Poly1305::Finalize
    - first
    - Keystream
    linkageType: ''
    returnType: void
    signature: void ComputeTag(ChaCha20& chacha20, std::span<const std::byte> aad,
      std::span<const std::byte> cipher, std::span<std::byte> tag) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b1
    - b2
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: timingsafe_bcmp_internal
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int timingsafe_bcmp_internal(const unsigned char* b1, const unsigned
      char* b2, size_t n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Keystream
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:45,1
    - Dst: first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:48,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:52,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:53,1
    - Dst: first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:53,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:55,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:56,1
    - Dst: first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:56,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:59,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:59,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:60,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:60,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:61,1
    - Dst: Poly1305::Finalize
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' chacha20'
    - aad
    - cipher
    - tag
    argTypes:
    - ChaCha20
    - std::span<const std::byte>
    - std::span<const std::byte>
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: ComputeTag
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - Poly1305::Update
    - WriteLE64
    - Poly1305::Finalize
    - first
    - Keystream
    linkageType: ''
    returnType: void
    signature: void ComputeTag(ChaCha20& chacha20, std::span<const std::byte> aad,
      std::span<const std::byte> cipher, std::span<std::byte> tag) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:71,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:71,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:71,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:71,1
    - Dst: Seek
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:74,1
    - Dst: Crypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:75,1
    - Dst: std::span<std::byte>::first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:75,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:75,1
    - Dst: Crypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:76,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:76,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:76,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:76,1
    - Dst: Seek
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:79,1
    - Dst: ComputeTag
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:80,1
    - Dst: std::span<std::byte>::first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:80,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:80,1
    - Dst: std::span<std::byte>::last
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - plain1
    - plain2
    - aad
    - nonce
    - cipher
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - std::span<const std::byte>
    - Nonce96
    - std::span<std::byte>
    assertStmts:
    - condition: (cipher.size() == plain1.size() + plain2.size() + EXPANSION)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: AEADChaCha20Poly1305::Encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - std::span<std::byte>::first
    - std::span<std::byte>::size
    - ComputeTag
    - std::span<const std::byte>::size
    - Seek
    - Crypt
    - std::span<std::byte>::last
    - std::span<std::byte>::subspan
    - assert
    linkageType: ''
    returnType: void
    signature: void AEADChaCha20Poly1305::Encrypt(std::span<const std::byte> plain1,
      std::span<const std::byte> plain2, std::span<const std::byte> aad, Nonce96 nonce,
      std::span<std::byte> cipher) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:85,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:85,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:85,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:85,1
    - Dst: Seek
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:88,1
    - Dst: ComputeTag
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:90,1
    - Dst: std::span<const std::byte>::first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:90,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:90,1
    - Dst: timingsafe_bcmp_internal
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:91,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:91,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:91,1
    - Dst: std::span<const std::byte>::last
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:91,1
    - Dst: Crypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:94,1
    - Dst: std::span<const std::byte>::first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:94,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:94,1
    - Dst: Crypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:95,1
    - Dst: std::span<const std::byte>::subspan
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:95,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:95,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - cipher
    - aad
    - nonce
    - plain1
    - plain2
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - Nonce96
    - std::span<std::byte>
    - std::span<std::byte>
    assertStmts:
    - condition: (cipher.size() == plain1.size() + plain2.size() + EXPANSION)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: AEADChaCha20Poly1305::Decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - UCharCast
    - std::span<std::byte>::size
    - ComputeTag
    - std::span<const std::byte>::subspan
    - std::span<const std::byte>::size
    - Seek
    - Crypt
    - std::span<const std::byte>::first
    - std::span<const std::byte>::last
    - timingsafe_bcmp_internal
    - assert
    linkageType: ''
    returnType: bool
    signature: bool AEADChaCha20Poly1305::Decrypt(std::span<const std::byte> cipher,
      std::span<const std::byte> aad, Nonce96 nonce, std::span<std::byte> plain1,
      std::span<std::byte> plain2) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Seek
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:102,1
    - Dst: AEADChaCha20Poly1305::Keystream
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nonce
    - keystream
    argTypes:
    - Nonce96
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: AEADChaCha20Poly1305::Keystream
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - Seek
    - AEADChaCha20Poly1305::Keystream
    linkageType: ''
    returnType: void
    signature: void AEADChaCha20Poly1305::Keystream(Nonce96 nonce, std::span<std::byte>
      keystream) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Keystream
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:112,1
    - Dst: SetKey
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:114,1
    - Dst: first
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:114,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: FSChaCha20Poly1305::NextPacket
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - first
    - memory_cleanse
    - Keystream
    - SetKey
    linkageType: ''
    returnType: void
    signature: void FSChaCha20Poly1305::NextPacket() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:126,1
    - Dst: FSChaCha20Poly1305::NextPacket
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - plain1
    - plain2
    - aad
    - cipher
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - std::span<const std::byte>
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: FSChaCha20Poly1305::Encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 2
    functionsReached:
    - FSChaCha20Poly1305::NextPacket
    - FSChaCha20Poly1305::Encrypt
    linkageType: ''
    returnType: void
    signature: void FSChaCha20Poly1305::Encrypt(std::span<const std::byte> plain1,
      std::span<const std::byte> plain2, std::span<const std::byte> aad, std::span<std::byte>
      cipher) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:132,1
    - Dst: FSChaCha20Poly1305::NextPacket
      Src: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cipher
    - aad
    - plain1
    - plain2
    argTypes:
    - std::span<const std::byte>
    - std::span<const std::byte>
    - std::span<std::byte>
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: FSChaCha20Poly1305::Decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20poly1305.cpp
    functionUses: 2
    functionsReached:
    - FSChaCha20Poly1305::NextPacket
    - FSChaCha20Poly1305::Decrypt
    linkageType: ''
    returnType: bool
    signature: bool FSChaCha20Poly1305::Decrypt(std::span<const std::byte> cipher,
      std::span<const std::byte> aad, std::span<std::byte> plain1, std::span<std::byte>
      plain2) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha512::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Ch(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha512::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Maj(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha512::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma0(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha512::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma1(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha512::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma0(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha512::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma1(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:27,1
    - Dst: sha512::Ch
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:27,1
    - Dst: sha512::Sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:28,1
    - Dst: sha512::Maj
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    - w
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: sha512::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Ch
    - sha512::Maj
    - sha512::Sigma1
    - sha512::Sigma0
    linkageType: ''
    returnType: void
    signature: void Round(uint64_t a, uint64_t b, uint64_t c, uint64_t& d, uint64_t
      e, uint64_t f, uint64_t g, uint64_t& h, uint64_t k, uint64_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: sha512::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint64_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:52,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:52,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:53,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:53,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:54,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:54,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:55,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:55,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:56,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:56,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:57,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:57,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:58,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:58,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:59,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:59,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:60,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:60,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:61,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:61,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:62,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:62,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:63,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:63,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:64,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:64,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:65,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:65,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:66,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:66,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:67,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:67,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 89
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint64_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 145
    functionName: sha512::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Round
    - sha512::sigma0
    - ReadBE64
    - sha512::sigma1
    linkageType: ''
    returnType: void
    signature: void Transform(uint64_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha512::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Ch(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha512::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Maj(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha512::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma0(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha512::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma1(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha512::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma0(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha512::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma1(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:27,1
    - Dst: sha512::Ch
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:27,1
    - Dst: sha512::Sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:28,1
    - Dst: sha512::Maj
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    - w
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: sha512::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 1
    functionsReached:
    - sha512::Ch
    - sha512::Maj
    - sha512::Sigma1
    - sha512::Sigma0
    linkageType: ''
    returnType: void
    signature: void Round(uint64_t a, uint64_t b, uint64_t c, uint64_t& d, uint64_t
      e, uint64_t f, uint64_t g, uint64_t& h, uint64_t k, uint64_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: sha512::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint64_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:52,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:52,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:53,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:53,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:54,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:54,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:55,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:55,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:56,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:56,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:57,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:57,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:58,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:58,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:59,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:59,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:60,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:60,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:61,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:61,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:62,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:62,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:63,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:63,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:64,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:64,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:65,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:65,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:66,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:66,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:67,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:67,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 89
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint64_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 145
    functionName: sha512::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Round
    - sha512::sigma0
    - ReadBE64
    - sha512::sigma1
    linkageType: ''
    returnType: void
    signature: void Transform(uint64_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha512::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Ch(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha512::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Maj(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha512::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma0(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha512::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma1(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha512::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma0(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha512::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma1(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:27,1
    - Dst: sha512::Ch
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:27,1
    - Dst: sha512::Sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:28,1
    - Dst: sha512::Maj
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    - w
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: sha512::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 2
    functionsReached:
    - sha512::Ch
    - sha512::Maj
    - sha512::Sigma1
    - sha512::Sigma0
    linkageType: ''
    returnType: void
    signature: void Round(uint64_t a, uint64_t b, uint64_t c, uint64_t& d, uint64_t
      e, uint64_t f, uint64_t g, uint64_t& h, uint64_t k, uint64_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: sha512::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint64_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:52,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:52,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:53,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:53,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:54,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:54,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:55,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:55,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:56,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:56,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:57,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:57,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:58,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:58,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:59,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:59,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:60,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:60,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:61,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:61,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:62,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:62,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:63,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:63,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:64,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:64,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:65,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:65,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:66,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:66,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:67,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:67,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 89
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint64_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 145
    functionName: sha512::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Round
    - sha512::sigma0
    - ReadBE64
    - sha512::sigma1
    linkageType: ''
    returnType: void
    signature: void Transform(uint64_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha512::Ch
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Ch(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha512::Maj
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Maj(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha512::Sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma0(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha512::Sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma1(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha512::sigma0
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma0(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha512::sigma1
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma1(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:27,1
    - Dst: sha512::Ch
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:27,1
    - Dst: sha512::Sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:28,1
    - Dst: sha512::Maj
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    - w
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: sha512::Round
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 3
    functionsReached:
    - sha512::Ch
    - sha512::Maj
    - sha512::Sigma1
    - sha512::Sigma0
    linkageType: ''
    returnType: void
    signature: void Round(uint64_t a, uint64_t b, uint64_t c, uint64_t& d, uint64_t
      e, uint64_t f, uint64_t g, uint64_t& h, uint64_t k, uint64_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: sha512::Initialize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint64_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:52,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:52,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:53,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:53,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:54,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:54,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:55,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:55,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:56,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:56,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:57,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:57,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:58,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:58,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:59,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:59,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:60,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:60,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:61,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:61,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:62,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:62,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:63,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:63,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:64,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:64,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:65,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:65,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:66,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:66,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:67,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:67,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:69,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:70,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:71,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:72,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:73,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:74,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:75,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:76,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:77,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:78,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:79,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:80,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:81,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:82,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:83,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:84,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:86,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:87,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:88,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:89,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:90,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:91,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:92,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:93,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:94,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:95,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:96,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:97,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:98,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:99,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:100,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:101,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:103,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:104,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:105,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:106,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:107,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:108,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:109,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:110,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:111,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:112,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:113,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:114,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:115,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:116,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:117,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:118,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:120,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:121,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:122,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:123,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:124,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:125,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:126,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:127,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:128,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:129,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:130,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:131,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:132,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:133,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:134,1
    - Dst: sha512::Round
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma1
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma0
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 89
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint64_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 145
    functionName: sha512::Transform
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Round
    - sha512::sigma0
    - ReadBE64
    - sha512::sigma1
    linkageType: ''
    returnType: void
    signature: void Transform(uint64_t* s, const unsigned char* chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Initialize
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: CSHA512::CSHA512
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 5
    functionsReached:
    - sha512::Initialize
    linkageType: ''
    returnType: void
    signature: void CSHA512::CSHA512()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:165,1
    - Dst: sha512::Transform
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:168,1
    - Dst: sha512::Transform
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:173,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: '& CSHA512::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Transform
    - memcpy
    linkageType: ''
    returnType: CSHA512
    signature: CSHA512 & CSHA512::Write(const unsigned char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:189,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:190,1
    - Dst: Write
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:191,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:192,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:193,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:194,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:195,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:196,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:197,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:198,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: CSHA512::Finalize
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 2
    functionsReached:
    - Write
    - WriteBE64
    linkageType: ''
    returnType: void
    signature: void CSHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Initialize
      Src: /src/bitcoin-core/src/crypto/sha512.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: '& CSHA512::Reset()'
    functionSourceFile: /src/bitcoin-core/src/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Initialize
    linkageType: ''
    returnType: CSHA512
    signature: CSHA512 & CSHA512::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: QUARTERROUND
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUARTERROUND(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: REPEAT10
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT10(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:27,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:27,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:28,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:28,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:29,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:29,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:30,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:30,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:31,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:31,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:32,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:32,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:33,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:33,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:34,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:34,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:35,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts:
    - condition: (key.size() == KEYLEN)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bitcoin-core/src/crypto/chacha20.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: ChaCha20Aligned::SetKey
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - assert
    - std::span<const std::byte>::data
    - ReadLE32
    linkageType: ''
    returnType: void
    signature: void ChaCha20Aligned::SetKey(std::span<const std::byte> key) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ChaCha20Aligned::~ChaCha20Aligned()
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - memory_cleanse
    linkageType: ''
    returnType: void
    signature: void ChaCha20Aligned::~ChaCha20Aligned()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20Aligned::SetKey
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ChaCha20Aligned::ChaCha20Aligned
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - ChaCha20Aligned::SetKey
    linkageType: ''
    returnType: void
    signature: void ChaCha20Aligned::ChaCha20Aligned(std::span<const std::byte> key)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - nonce
    - block_counter
    argTypes:
    - Nonce96
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ChaCha20Aligned::Seek
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20Aligned::Seek(Nonce96 nonce, uint32_t block_counter) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::span<std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:62,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:64,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:64,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:105,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:106,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:107,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:108,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:109,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:110,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:111,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:134,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:135,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:136,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:137,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:138,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:139,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:140,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:141,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:142,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:143,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:144,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:145,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:146,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:147,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:148,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 84
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<std::byte>
    assertStmts:
    - condition: (blocks * BLOCKLEN == output.size())
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/crypto/chacha20.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 159
    functionName: ChaCha20Aligned::Keystream
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - QUARTERROUND
    - std::span<std::byte>::size
    - std::span<std::byte>::data
    - WriteLE32
    - assert
    linkageType: ''
    returnType: void
    signature: void ChaCha20Aligned::Keystream(std::span<std::byte> output) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:163,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:163,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:163,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:164,1
    - Dst: std::span<std::byte>::data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:165,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:166,1
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:167,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:167,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:208,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:209,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:210,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:211,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:212,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:213,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:214,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:234,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:235,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:236,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:237,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:238,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:239,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:240,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:241,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:242,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:243,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:244,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:245,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:246,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:247,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:248,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:249,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:254,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:255,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:256,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:257,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:258,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:259,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:260,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:261,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:262,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:263,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:264,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:265,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:266,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:267,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:268,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 102
    argCount: 2
    argNames:
    - in_bytes
    - out_bytes
    argTypes:
    - std::span<const std::byte>
    - std::span<std::byte>
    assertStmts:
    - condition: (in_bytes.size() == out_bytes.size())
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/bitcoin-core/src/crypto/chacha20.cpp
    - condition: (blocks * BLOCKLEN == out_bytes.size())
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/bitcoin-core/src/crypto/chacha20.cpp
    constantsTouched: []
    func_position:
      end: 280
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 280
    functionName: ChaCha20Aligned::Crypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - QUARTERROUND
    - std::span<std::byte>::size
    - std::span<const std::byte>::data
    - std::span<std::byte>::data
    - std::span<const std::byte>::size
    - WriteLE32
    - assert
    linkageType: ''
    returnType: void
    signature: void ChaCha20Aligned::Crypt(std::span<const std::byte> in_bytes, std::span<std::byte>
      out_bytes) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::span<std::byte>::empty
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:284,1
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:286,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:286,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:287,1
    - Dst: end
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:287,1
    - Dst: end
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:287,1
    - Dst: std::span<std::byte>::begin
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:287,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:289,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:291,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:292,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:293,1
    - Dst: std::span<std::byte>::first
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:293,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:294,1
    - Dst: std::span<std::byte>::empty
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:296,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:297,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:298,1
    - Dst: begin
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:298,1
    - Dst: begin
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:298,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:298,1
    - Dst: std::span<std::byte>::begin
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:298,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 301
    functionName: ChaCha20::Keystream
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::copy
    - std::span<std::byte>::first
    - std::min<size_t>
    - std::span<std::byte>::size
    - ChaCha20::Keystream
    - std::span<std::byte>::empty
    - std::span<std::byte>::begin
    - std::span<std::byte>::subspan
    - begin
    linkageType: ''
    returnType: void
    signature: void ChaCha20::Keystream(std::span<std::byte> out) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:305,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:305,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:305,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:307,1
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:309,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:309,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:314,1
    - Dst: std::span<const std::byte>::subspan
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:315,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:317,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:318,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:319,1
    - Dst: std::span<const std::byte>::first
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:319,1
    - Dst: std::span<std::byte>::first
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:319,1
    - Dst: std::span<std::byte>::subspan
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:320,1
    - Dst: std::span<const std::byte>::subspan
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:321,1
    - Dst: std::span<const std::byte>::empty
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:323,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:324,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:325,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - std::span<const std::byte>
    - std::span<std::byte>
    assertStmts:
    - condition: (input.size() == output.size())
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/bitcoin-core/src/crypto/chacha20.cpp
    constantsTouched: []
    func_position:
      end: 330
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 330
    functionName: ChaCha20::Crypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 1
    functionsReached:
    - std::span<std::byte>::first
    - std::span<std::byte>::size
    - std::min<size_t>
    - std::span<const std::byte>::subspan
    - std::span<const std::byte>::size
    - std::span<const std::byte>::empty
    - ChaCha20::Keystream
    - ChaCha20::Crypt
    - std::span<const std::byte>::first
    - std::span<std::byte>::subspan
    - assert
    linkageType: ''
    returnType: void
    signature: void ChaCha20::Crypt(std::span<const std::byte> input, std::span<std::byte>
      output) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:334,1
    - Dst: data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:334,1
    - Dst: size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: ChaCha20::~ChaCha20()
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - data
    - memory_cleanse
    - size
    linkageType: ''
    returnType: void
    signature: void ChaCha20::~ChaCha20()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20::SetKey
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:339,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:341,1
    - Dst: data
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:341,1
    - Dst: size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: ChaCha20::SetKey
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 1
    functionsReached:
    - data
    - ChaCha20::SetKey
    - memory_cleanse
    - size
    linkageType: ''
    returnType: void
    signature: void ChaCha20::SetKey(std::span<const std::byte> key) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:347,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - rekey_interval
    argTypes:
    - std::span<const std::byte>
    - uint32_t
    assertStmts:
    - condition: (key.size() == KEYLEN)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/bitcoin-core/src/crypto/chacha20.cpp
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: FSChaCha20::FSChaCha20
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - assert
    linkageType: ''
    returnType: void
    signature: void FSChaCha20::FSChaCha20(std::span<const std::byte> key, uint32_t
      rekey_interval) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:352,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:352,1
    - Dst: std::span<std::byte>::size
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:352,1
    - Dst: FSChaCha20::Crypt
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:355,1
    - Dst: Keystream
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:361,1
    - Dst: SetKey
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:363,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:366,1
    - Dst: Seek
      Src: /src/bitcoin-core/src/crypto/chacha20.cpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - std::span<const std::byte>
    - std::span<std::byte>
    assertStmts:
    - condition: (input.size() == output.size())
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/bitcoin-core/src/crypto/chacha20.cpp
    constantsTouched: []
    func_position:
      end: 372
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 372
    functionName: FSChaCha20::Crypt
    functionSourceFile: /src/bitcoin-core/src/crypto/chacha20.cpp
    functionUses: 1
    functionsReached:
    - FSChaCha20::Crypt
    - std::span<std::byte>::size
    - memory_cleanse
    - SetKey
    - std::span<const std::byte>::size
    - Seek
    - assert
    - Keystream
    linkageType: ''
    returnType: void
    signature: void FSChaCha20::Crypt(std::span<const std::byte> input, std::span<std::byte>
      output) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: gettimedouble
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: double
    signature: double gettimedouble(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: print_number
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_number(double x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:34,1
    - Dst: gettimedouble
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:36,1
    - Dst: benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:37,1
    - Dst: gettimedouble
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:38,1
    - Dst: teardown
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:40,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:50,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:51,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:52,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:53,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:54,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:55,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - name
    - data
    - count
    - iter
    argTypes:
    - char*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 57
    functionName: run_benchmark
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 8
    functionsReached:
    - print_number
    - setup
    - gettimedouble
    - teardown
    - benchmark
    - printf
    linkageType: ''
    returnType: void
    signature: void run_benchmark(char *name, void (*benchmark)(void*), void (*setup)(void*),
      void (*teardown)(void*), void* data, int count, int iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES128_init
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: bench_AES128_init
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_init
    linkageType: ''
    returnType: void
    signature: void bench_AES128_init(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES128_init
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: bench_AES128_encrypt_setup
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_init
    linkageType: ''
    returnType: void
    signature: void bench_AES128_encrypt_setup(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES128_encrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: bench_AES128_encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES128_encrypt(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES128_decrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: bench_AES128_decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES128_decrypt(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES192_init
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: bench_AES192_init
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_init
    linkageType: ''
    returnType: void
    signature: void bench_AES192_init(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES192_init
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: bench_AES192_encrypt_setup
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_init
    linkageType: ''
    returnType: void
    signature: void bench_AES192_encrypt_setup(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES192_encrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: bench_AES192_encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES192_encrypt(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES192_decrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: bench_AES192_decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES192_decrypt(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: bench_AES256_init
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void bench_AES256_init(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: bench_AES256_encrypt_setup
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void bench_AES256_encrypt_setup(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES256_encrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: bench_AES256_encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES256_encrypt(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES256_decrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: bench_AES256_decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES256_decrypt(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:160,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:161,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:162,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:163,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:164,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:165,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:166,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:167,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/crypto/ctaes/bench.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - run_benchmark
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - data
    - len
    - hex
    argTypes:
    - unsigned char*
    - int
    - char*
    assertStmts:
    - condition: ((*hex >= '0' && *hex <= '9') || (*hex >= 'a' && *hex <= 'f'))
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bitcoin-core/src/crypto/ctaes/test.c
    - condition: (*hex == 0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/crypto/ctaes/test.c
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: from_hex
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void from_hex(unsigned char* data, int len, const char* hex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:66,1
    - Dst: from_hex
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:67,1
    - Dst: from_hex
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:68,1
    - Dst: from_hex
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:72,1
    - Dst: AES128_init
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:73,1
    - Dst: AES128_encrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:74,1
    - Dst: AES128_decrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:75,1
    - Dst: from_hex
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:80,1
    - Dst: AES192_init
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:81,1
    - Dst: AES192_encrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:82,1
    - Dst: AES192_decrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:83,1
    - Dst: from_hex
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:88,1
    - Dst: AES256_init
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:89,1
    - Dst: AES256_encrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:90,1
    - Dst: AES256_decrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:91,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:95,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:96,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:99,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:100,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:105,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/crypto/ctaes/test.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (test->keysize == 128 || test->keysize == 192 || test->keysize ==
        256)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/crypto/ctaes/test.c
    constantsTouched: []
    func_position:
      end: 110
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/test.c
    functionUses: 0
    functionsReached:
    - AES128_init
    - from_hex
    - AES128_decrypt
    - AES256_init
    - AES128_encrypt
    - AES256_decrypt
    - AES192_decrypt
    - memcmp
    - fprintf
    - AES192_init
    - assert
    - AES192_encrypt
    - AES256_encrypt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - byte
    - r
    - c
    argTypes:
    - AES_state*
    - unsigned char
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: LoadByte
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LoadByte(AES_state* s, unsigned char byte, int r, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadByte
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - data16
    argTypes:
    - AES_state*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: LoadBytes
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - LoadByte
    linkageType: ''
    returnType: void
    signature: void LoadBytes(AES_state *s, const unsigned char* data16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data16
    - s
    argTypes:
    - unsigned char*
    - AES_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: SaveBytes
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SaveBytes(unsigned char* data16, const AES_state *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 115
    argCount: 2
    argNames:
    - s
    - inv
    argTypes:
    - AES_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 256
    functionName: SubBytes
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubBytes(AES_state *s, int inv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - from
    - ','
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: BIT_RANGE
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT_RANGE(from,to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - from
    - ','
    - to
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: BIT_RANGE_LEFT
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT_RANGE_LEFT(x,from,to,shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - from
    - ','
    - to
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: BIT_RANGE_RIGHT
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT_RANGE_RIGHT(x,from,to,shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_RANGE
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:268,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:269,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:269,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:270,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:270,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:271,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - AES_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: ShiftRows
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - BIT_RANGE
    - BIT_RANGE_RIGHT
    - BIT_RANGE_LEFT
    linkageType: ''
    returnType: void
    signature: void ShiftRows(AES_state* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_RANGE
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:280,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:281,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:281,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:282,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:282,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:283,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - AES_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: InvShiftRows
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - BIT_RANGE
    - BIT_RANGE_RIGHT
    - BIT_RANGE_LEFT
    linkageType: ''
    returnType: void
    signature: void InvShiftRows(AES_state* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: ROT
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROT(x,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:312,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:312,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:312,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:313,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:313,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:313,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:314,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:314,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:314,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:315,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:315,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:315,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:316,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:316,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:316,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:317,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:317,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:317,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:318,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:318,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:318,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:319,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:319,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:319,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:334,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:335,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:336,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:337,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:338,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:339,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:340,1
    - Dst: ROT
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - s
    - inv
    argTypes:
    - AES_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 352
    functionName: MixColumns
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - ROT
    linkageType: ''
    returnType: void
    signature: void MixColumns(AES_state* s, int inv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - round
    argTypes:
    - AES_state*
    - AES_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: AddRoundKey
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddRoundKey(AES_state* s, const AES_state* round)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - c
    argTypes:
    - AES_state*
    - AES_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: GetOneColumn
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetOneColumn(AES_state* s, const AES_state* a, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - r
    - a
    - c1
    - c2
    argTypes:
    - AES_state*
    - AES_state*
    - AES_state*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: KeySetupColumnMix
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeySetupColumnMix(AES_state* s, AES_state* r, const AES_state*
      a, int c1, int c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - AES_state*
    - AES_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: KeySetupTransform
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeySetupTransform(AES_state* s, const AES_state* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - AES_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: MultX
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultX(AES_state* s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LoadByte
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:429,1
    - Dst: GetOneColumn
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:433,1
    - Dst: SubBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:438,1
    - Dst: KeySetupTransform
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:439,1
    - Dst: MultX
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:440,1
    - Dst: SubBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:442,1
    - Dst: KeySetupColumnMix
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - rounds
    - key
    - nkeywords
    - nrounds
    argTypes:
    - AES_state*
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 447
    functionName: AES_setup
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - SubBytes
    - LoadByte
    - MultX
    - KeySetupTransform
    - GetOneColumn
    - KeySetupColumnMix
    linkageType: ''
    returnType: void
    signature: void AES_setup(AES_state* rounds, const uint8_t* key, int nkeywords,
      int nrounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:453,1
    - Dst: AddRoundKey
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:454,1
    - Dst: SubBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:457,1
    - Dst: ShiftRows
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:458,1
    - Dst: MixColumns
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:459,1
    - Dst: AddRoundKey
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:460,1
    - Dst: SubBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:463,1
    - Dst: ShiftRows
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:464,1
    - Dst: AddRoundKey
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:465,1
    - Dst: SaveBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - rounds
    - nrounds
    - cipher16
    - plain16
    argTypes:
    - AES_state*
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 468
    functionName: AES_encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - SubBytes
    - MixColumns
    - LoadBytes
    - AddRoundKey
    - ShiftRows
    - SaveBytes
    linkageType: ''
    returnType: void
    signature: void AES_encrypt(const AES_state* rounds, int nrounds, unsigned char*
      cipher16, const unsigned char* plain16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:480,1
    - Dst: AddRoundKey
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:481,1
    - Dst: InvShiftRows
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:484,1
    - Dst: SubBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:485,1
    - Dst: AddRoundKey
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:486,1
    - Dst: MixColumns
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:487,1
    - Dst: InvShiftRows
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:490,1
    - Dst: SubBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:491,1
    - Dst: AddRoundKey
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:492,1
    - Dst: SaveBytes
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - rounds
    - nrounds
    - plain16
    - cipher16
    argTypes:
    - AES_state*
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 495
    functionName: AES_decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - SubBytes
    - MixColumns
    - InvShiftRows
    - LoadBytes
    - AddRoundKey
    - SaveBytes
    linkageType: ''
    returnType: void
    signature: void AES_decrypt(const AES_state* rounds, int nrounds, unsigned char*
      plain16, const unsigned char* cipher16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_setup
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key16
    argTypes:
    - AES128_ctx*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: AES128_init
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_setup
    linkageType: ''
    returnType: void
    signature: void AES128_init(AES128_ctx* ctx, const unsigned char* key16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - cipher16
    - plain16
    argTypes:
    - AES128_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: AES128_encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: void AES128_encrypt(const AES128_ctx* ctx, size_t blocks, unsigned
      char* cipher16, const unsigned char* plain16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_decrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - plain16
    - cipher16
    argTypes:
    - AES128_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: AES128_decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: void AES128_decrypt(const AES128_ctx* ctx, size_t blocks, unsigned
      char* plain16, const unsigned char* cipher16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_setup
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key24
    argTypes:
    - AES192_ctx*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: AES192_init
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_setup
    linkageType: ''
    returnType: void
    signature: void AES192_init(AES192_ctx* ctx, const unsigned char* key24)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - cipher16
    - plain16
    argTypes:
    - AES192_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: AES192_encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: void AES192_encrypt(const AES192_ctx* ctx, size_t blocks, unsigned
      char* cipher16, const unsigned char* plain16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_decrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - plain16
    - cipher16
    argTypes:
    - AES192_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: AES192_decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: void AES192_decrypt(const AES192_ctx* ctx, size_t blocks, unsigned
      char* plain16, const unsigned char* cipher16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_setup
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key32
    argTypes:
    - AES256_ctx*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: AES256_init
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 5
    functionsReached:
    - AES_setup
    linkageType: ''
    returnType: void
    signature: void AES256_init(AES256_ctx* ctx, const unsigned char* key32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - cipher16
    - plain16
    argTypes:
    - AES256_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: AES256_encrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: void AES256_encrypt(const AES256_ctx* ctx, size_t blocks, unsigned
      char* cipher16, const unsigned char* plain16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_decrypt
      Src: /src/bitcoin-core/src/crypto/ctaes/ctaes.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - plain16
    - cipher16
    argTypes:
    - AES256_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: AES256_decrypt
    functionSourceFile: /src/bitcoin-core/src/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: void AES256_decrypt(const AES256_ctx* ctx, size_t blocks, unsigned
      char* plain16, const unsigned char* cipher16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: BOOST_CHECK
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOST_CHECK(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: BOOST_CHECK_EQUAL
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOST_CHECK_EQUAL(v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stmt
    - ','
    - excMatch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: BOOST_CHECK_THROW
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOST_CHECK_THROW(stmt, excMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: BOOST_CHECK_NO_THROW
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOST_CHECK_NO_THROW(stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:38,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:39,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:39,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:42,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:42,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:45,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:46,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:46,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:48,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:49,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:50,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:51,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:55,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:56,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:56,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:60,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:60,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:61,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:65,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:65,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:66,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:66,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:70,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:71,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:71,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:75,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:75,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:76,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:76,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:80,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:81,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 82
    functionName: univalue_constructor
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached:
    - UniValue::isStr
    - UniValue::isNum
    - UniValue::UniValue
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - UniValue::setNumStr
    - UniValue::isNull
    - UniValue::getValStr
    linkageType: ''
    returnType: void
    signature: void univalue_constructor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:86,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:87,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:87,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:88,1
    - Dst: UniValue::push_backV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:88,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:89,1
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:89,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:90,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:90,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:91,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: univalue_push_throw
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_THROW
    - UniValue::pushKVs
    - UniValue::UniValue
    - UniValue::push_back
    - UniValue::push_backV
    - UniValue::pushKVEnd
    - UniValue::pushKV
    linkageType: ''
    returnType: void
    signature: void univalue_push_throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:96,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:98,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:98,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:99,1
    - Dst: UniValue::get_bool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:99,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:102,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:103,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:104,1
    - Dst: UniValue::getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:104,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:105,1
    - Dst: UniValue::getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:105,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:108,1
    - Dst: UniValue::setBool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:109,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:110,1
    - Dst: UniValue::get_bool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:110,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:111,1
    - Dst: UniValue::getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:111,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:113,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:114,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:115,1
    - Dst: UniValue::getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:115,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:116,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:117,1
    - Dst: UniValue::getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:117,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:119,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:120,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:121,1
    - Dst: UniValue::getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:121,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:122,1
    - Dst: UniValue::getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:122,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:123,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:124,1
    - Dst: UniValue::getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:124,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:125,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:125,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:126,1
    - Dst: UniValue::get_real
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:126,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:127,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:127,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:128,1
    - Dst: UniValue::getKeys
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:128,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:129,1
    - Dst: UniValue::getValues
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:129,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:130,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:130,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:132,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:133,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:133,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:134,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:134,1
    - Dst: UniValue::getValues
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:135,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:136,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:136,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:137,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:137,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:139,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:139,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:140,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 141
    functionName: univalue_typecheck
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached:
    - UniValue::getValues
    - UniValue::getInt
    - UniValue::get_bool
    - UniValue::get_obj
    - BOOST_CHECK_EQUAL
    - BOOST_CHECK
    - UniValue::get_str
    - UniValue::read
    - BOOST_CHECK_THROW
    - UniValue::isNum
    - get_bool
    - UniValue::setBool
    - UniValue::UniValue
    - UniValue::get_real
    - UniValue::get_array
    - UniValue::setNumStr
    - UniValue::getKeys
    - BOOST_CHECK_NO_THROW
    - getInt
    linkageType: ''
    returnType: void
    signature: void univalue_typecheck()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:146,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:147,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:147,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:148,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:148,1
    - Dst: UniValue::setObject
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:151,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:151,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:152,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:152,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:153,1
    - Dst: UniValue::getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:153,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:154,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:154,1
    - Dst: UniValue::setArray
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:157,1
    - Dst: UniValue::isArray
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:157,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:158,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:158,1
    - Dst: UniValue::setStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:161,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:161,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:162,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:162,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:167,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:167,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:168,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:168,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:169,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:169,1
    - Dst: UniValue::setFloat
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:172,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:173,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:173,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:174,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:174,1
    - Dst: UniValue::setInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:177,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:177,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:178,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:178,1
    - Dst: UniValue::setInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:180,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:181,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:181,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:182,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:182,1
    - Dst: UniValue::setInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:184,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:185,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:185,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:186,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:186,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:188,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:189,1
    - Dst: UniValue::isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:189,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:190,1
    - Dst: UniValue::getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:190,1
    - Dst: UniValue::setBool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:192,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:193,1
    - Dst: UniValue::isBool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:193,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:194,1
    - Dst: UniValue::isTrue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:194,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:195,1
    - Dst: UniValue::isFalse
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:195,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:196,1
    - Dst: UniValue::get_bool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:196,1
    - Dst: UniValue::setBool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:198,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:199,1
    - Dst: UniValue::isBool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:199,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:200,1
    - Dst: UniValue::isTrue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:200,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:201,1
    - Dst: UniValue::isFalse
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:201,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:202,1
    - Dst: UniValue::get_bool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:202,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:204,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:204,1
    - Dst: UniValue::setNull
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:207,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 208
    functionName: univalue_set
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached:
    - UniValue::get_bool
    - UniValue::setInt
    - BOOST_CHECK_EQUAL
    - UniValue::setFloat
    - UniValue::isBool
    - UniValue::empty
    - UniValue::setObject
    - BOOST_CHECK
    - UniValue::setArray
    - UniValue::setNull
    - BOOST_CHECK_THROW
    - UniValue::isNum
    - UniValue::isFalse
    - UniValue::isArray
    - UniValue::size
    - UniValue::isStr
    - UniValue::write
    - UniValue::clear
    - UniValue::setBool
    - UniValue::getType
    - UniValue::setNumStr
    - UniValue::isTrue
    - UniValue::isNull
    - UniValue::setStr
    - UniValue::getValStr
    - UniValue::isObject
    linkageType: ''
    returnType: void
    signature: void univalue_set()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:215,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:218,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:221,1
    - Dst: UniValue::setStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:224,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:225,1
    - Dst: UniValue::setStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:227,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:228,1
    - Dst: UniValue::push_backV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:230,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:232,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:233,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:234,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:235,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:236,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:238,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:238,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:239,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:239,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:241,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:241,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:242,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:242,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:243,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:243,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:244,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:244,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:245,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:245,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:246,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:246,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:247,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:247,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:248,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:248,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:249,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:249,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:250,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:250,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:251,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:251,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:252,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:252,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:253,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:253,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:254,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:254,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:255,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:255,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:256,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:256,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:257,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:257,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:258,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:258,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:259,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:259,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:260,1
    - Dst: getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:260,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:262,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:262,1
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:264,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:265,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:265,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:266,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 267
    functionName: univalue_array
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached:
    - UniValue::empty
    - getValStr
    - UniValue::size
    - getType
    - UniValue::clear
    - UniValue::push_back
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - BOOST_CHECK
    - UniValue::push_backV
    - UniValue::setStr
    linkageType: ''
    returnType: void
    signature: void univalue_array()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:273,1
    - Dst: UniValue::setInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:276,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:277,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:281,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:285,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:288,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:291,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:294,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:297,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:300,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:303,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:306,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:307,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:309,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:311,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:311,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:312,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:312,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:314,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:314,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:315,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:315,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:316,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:316,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:317,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:317,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:318,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:318,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:319,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:319,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:320,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:320,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:321,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:321,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:322,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:322,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:323,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:323,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:324,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:324,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:326,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:326,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:328,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:329,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:329,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:330,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:330,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:331,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:332,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:332,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:333,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:333,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:334,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:334,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:335,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:336,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:336,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:337,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:337,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:338,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:338,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:340,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:354,1
    - Dst: UniValue::checkObject
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:354,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:357,1
    - Dst: UniValue::checkObject
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:357,1
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:359,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:360,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:360,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:361,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:361,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:362,1
    - Dst: UniValue::getType
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:362,1
    - Dst: UniValue::setObject
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:364,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:365,1
    - Dst: UniValue::setInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:366,1
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:367,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:368,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:368,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:369,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:369,1
    - Dst: UniValue::setInt
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:371,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:372,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:373,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:373,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:374,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:374,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:376,1
    - Dst: UniValue::getObjMap
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:379,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:380,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:380,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:381,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 383
    functionName: univalue_object
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached:
    - UniValue::empty
    - getValStr
    - UniValue::pushKVs
    - UniValue::setObject
    - UniValue::clear
    - UniValue::setInt
    - UniValue::checkObject
    - UniValue::UniValue
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - UniValue::getType
    - UniValue::exists
    - UniValue::pushKVEnd
    - UniValue::pushKV
    - UniValue::getObjMap
    - UniValue::size
    linkageType: ''
    returnType: void
    signature: void univalue_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:390,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:391,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:391,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:394,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:394,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:396,1
    - Dst: UniValue::isArray
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:396,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:397,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:397,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:399,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:402,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:402,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:403,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:403,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:405,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:405,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:407,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:408,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:408,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:409,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:409,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:410,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:410,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:411,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:411,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:413,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:413,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:416,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:416,1
    - Dst: UniValue::get_real
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:416,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:417,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:417,1
    - Dst: UniValue::get_bool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:417,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:418,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:418,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:418,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:419,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:419,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:419,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:420,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:420,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:420,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:422,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:422,1
    - Dst: UniValue::get_real
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:422,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:423,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:423,1
    - Dst: UniValue::get_real
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:423,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:424,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:424,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:426,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:426,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:428,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:428,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:429,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:429,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:431,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:431,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:432,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:432,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:434,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:434,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:435,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:435,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:436,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:436,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:437,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:437,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:439,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:439,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:440,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:440,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:446,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:446,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:447,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:447,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:448,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:448,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:449,1
    - Dst: UniValue::isArray
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:449,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:451,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:451,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:452,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:452,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:453,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:453,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:454,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:454,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:455,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 456
    functionName: univalue_readwrite
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached:
    - getValStr
    - UniValue::write
    - UniValue::get_bool
    - UniValue::get_real
    - UniValue::UniValue
    - isObject
    - isNum
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - UniValue::isArray
    - std::string::push_back
    - get_str
    - isStr
    - get_bool
    - UniValue::size
    - UniValue::isObject
    - UniValue::read
    linkageType: ''
    returnType: void
    signature: void univalue_readwrite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: univalue_constructor
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:460,1
    - Dst: univalue_push_throw
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:461,1
    - Dst: univalue_typecheck
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:462,1
    - Dst: univalue_set
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:463,1
    - Dst: univalue_array
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:464,1
    - Dst: univalue_object
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:465,1
    - Dst: univalue_readwrite
      Src: /src/bitcoin-core/src/univalue/test/object.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/univalue/test/object.cpp
    functionUses: 0
    functionsReached:
    - univalue_set
    - univalue_push_throw
    - univalue_array
    - univalue_typecheck
    - univalue_readwrite
    - univalue_object
    - univalue_constructor
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/test_json.cpp:22,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/test_json.cpp:23,1
    - Dst: string
      Src: /src/bitcoin-core/src/univalue/test/test_json.cpp:23,1
    - Dst: istreambuf_iterator<char>
      Src: /src/bitcoin-core/src/univalue/test/test_json.cpp:23,1
    - Dst: istreambuf_iterator<char>
      Src: /src/bitcoin-core/src/univalue/test/test_json.cpp:24,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/univalue/test/test_json.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/univalue/test/test_json.cpp
    functionUses: 0
    functionsReached:
    - UniValue::write
    - string
    - UniValue::UniValue
    - istreambuf_iterator<char>
    - UniValue::read
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:71,1
    - Dst: std::string::find_last_not_of
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: rtrim
    functionSourceFile: /src/bitcoin-core/src/univalue/test/unitester.cpp
    functionUses: 0
    functionsReached:
    - std::string::erase
    - std::string::find_last_not_of
    linkageType: ''
    returnType: std::string
    signature: std::string rtrim(std::string s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:77,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:82,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:84,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:85,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:88,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:90,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:94,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:95,1
    - Dst: rtrim
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - filename
    - ' jdata'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (testResult == true)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (wantPass || wantFail)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (testResult == false)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (odata == rtrim(jdata))
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: runtest
    functionSourceFile: /src/bitcoin-core/src/univalue/test/unitester.cpp
    functionUses: 0
    functionsReached:
    - rtrim
    - UniValue::write
    - UniValue::UniValue
    - std::string::substr
    - assert
    - UniValue::read
    linkageType: ''
    returnType: void
    signature: void runtest(std::string filename, const std::string& jdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: TEST_FILE
    functionSourceFile: /src/bitcoin-core/src/univalue/test/unitester.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FILE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:161,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:164,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:165,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:166,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:166,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:168,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:169,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:170,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:170,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:172,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:173,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:174,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:174,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:176,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:177,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:178,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (testResult)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (val[0].get_str() == "\"")
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (testResult)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (val[0].get_str() == "\xc6\x91")
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (testResult)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (val[0].get_str() == "\xe2\x86\x91")
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (val[0].get_str() == "\xf0\x9d\x85\xa1")
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    - condition: (testResult)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: unescape_unicode_test
    functionSourceFile: /src/bitcoin-core/src/univalue/test/unitester.cpp
    functionUses: 0
    functionsReached:
    - get_str
    - assert
    - UniValue::UniValue
    - UniValue::read
    linkageType: ''
    returnType: void
    signature: void unescape_unicode_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:184,1
    - Dst: assert
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:185,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (val.read({buf + 3, 7}))
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bitcoin-core/src/univalue/test/unitester.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: no_nul_test
    functionSourceFile: /src/bitcoin-core/src/univalue/test/unitester.cpp
    functionUses: 0
    functionsReached:
    - assert
    - UniValue::UniValue
    - UniValue::read
    linkageType: ''
    returnType: void
    signature: void no_nul_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runtest
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:191,1
    - Dst: unescape_unicode_test
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:194,1
    - Dst: no_nul_test
      Src: /src/bitcoin-core/src/univalue/test/unitester.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/univalue/test/unitester.cpp
    functionUses: 0
    functionsReached:
    - unescape_unicode_test
    - no_nul_test
    - runtest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: JSONUTF8StringFilter::JSONUTF8StringFilter
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSONUTF8StringFilter(std::string& s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:25,1
    - Dst: JSONUTF8StringFilter::push_back_u
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:45,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: JSONUTF8StringFilter::push_back
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h
    functionUses: 1
    functionsReached:
    - JSONUTF8StringFilter::push_back
    - JSONUTF8StringFilter::push_back_u
    linkageType: ''
    returnType: void
    signature: void push_back(unsigned char ch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSONUTF8StringFilter::append_codepoint
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:61,1
    - Dst: JSONUTF8StringFilter::append_codepoint
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - codepoint_
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: JSONUTF8StringFilter::push_back_u
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h
    functionUses: 1
    functionsReached:
    - JSONUTF8StringFilter::append_codepoint
    linkageType: ''
    returnType: void
    signature: void push_back_u(unsigned int codepoint_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: JSONUTF8StringFilter::finalize
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool finalize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:102,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:104,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:105,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:107,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:108,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:109,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:111,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:112,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:113,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - codepoint_
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: JSONUTF8StringFilter::append_codepoint
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue_utffilter.h
    functionUses: 1
    functionsReached:
    - JSONUTF8StringFilter::push_back
    linkageType: ''
    returnType: void
    signature: void append_codepoint(unsigned int codepoint_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: UniValue::UniValue
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UniValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - UniValue::VType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: UniValue::UniValue
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 12
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void UniValue(UniValue::VType type, std::string str = {})
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::setFloat
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:42,1
    - Dst: UniValue::setBool
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:44,1
    - Dst: UniValue::setInt
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:46,1
    - Dst: UniValue::setInt
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:48,1
    - Dst: UniValue::setStr
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:50,1
    - Dst: std::forward<Ref>
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - Ref
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: UniValue::UniValue
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 12
    functionsReached:
    - UniValue::setInt
    - UniValue::setBool
    - UniValue::setFloat
    - std::forward<Ref>
    - UniValue::setStr
    linkageType: ''
    returnType: void
    signature: void UniValue(Ref&& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::setInt
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val_
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: UniValue::setInt
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 4
    functionsReached:
    - UniValue::setInt
    linkageType: ''
    returnType: void
    signature: void setInt(int val_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: UniValue::getType
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum VType
    signature: enum VType getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '& getValStr() const'
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getValStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: UniValue::empty
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 4
    functionsReached:
    - UniValue::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: UniValue::size
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 8
    functionsReached:
    - UniValue::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::findKey
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: UniValue::exists
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 1
    functionsReached:
    - UniValue::findKey
    linkageType: ''
    returnType: bool
    signature: bool exists(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: UniValue::isNull
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: UniValue::isTrue
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTrue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: UniValue::isFalse
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFalse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: UniValue::isBool
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isBool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: UniValue::isStr
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: UniValue::isNum
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: UniValue::isArray
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: UniValue::isObject
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isObject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::getType
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: UniValue::type
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 0
    functionsReached:
    - UniValue::getType
    linkageType: ''
    returnType: enum VType
    signature: enum VType type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:135,1
    - Dst: insert
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:136,1
    - Dst: end
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - It
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: UniValue::push_backV
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 2
    functionsReached:
    - end
    - UniValue::checkType
    - insert
    linkageType: ''
    returnType: void
    signature: void UniValue::push_backV(It first, It last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:143,1
    - Dst: std::from_chars
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:145,1
    - Dst: data
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:145,1
    - Dst: data
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:145,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:145,1
    - Dst: data
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:146,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:146,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/univalue/include/univalue.h:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: UniValue::getInt
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 1
    functionsReached:
    - UniValue::checkType
    - std::runtime_error
    - std::from_chars
    - data
    - UniValue::size
    linkageType: ''
    returnType: Int
    signature: Int UniValue::getInt() const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - jtt
    argTypes:
    - enum jtokentype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: jsonTokenIsValue
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool jsonTokenIsValue(enum jtokentype jtt)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 203
    functionName: json_isspace
    functionSourceFile: /src/bitcoin-core/src/univalue/include/univalue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool json_isspace(int ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:15,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:15,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:17,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:18,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' inS'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 28
    functionName: json_escape
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp
    functionUses: 0
    functionsReached:
    - std::string::reserve
    - static_cast<unsigned char>
    - size
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string json_escape(const std::string& inS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:35,1
    - Dst: UniValue::writeObject
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:46,1
    - Dst: UniValue::writeArray
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:49,1
    - Dst: json_escape
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - prettyIndent
    - indentLevel
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: UniValue::write
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp
    functionUses: 15
    functionsReached:
    - UniValue::writeArray
    - std::string::reserve
    - UniValue::writeObject
    - json_escape
    linkageType: ''
    returnType: std::string
    signature: "std::string UniValue::write(unsigned int prettyIndent,\n                            unsigned
      int indentLevel) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prettyIndent
    - indentLevel
    - ' s'
    argTypes:
    - unsigned int
    - unsigned int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: indentStr
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void indentStr(unsigned int prettyIndent, unsigned int indentLevel,
      std::string& s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:77,1
    - Dst: indentStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:79,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:80,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:81,1
    - Dst: indentStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - prettyIndent
    - indentLevel
    - ' s'
    argTypes:
    - unsigned int
    - unsigned int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: UniValue::writeArray
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp
    functionUses: 1
    functionsReached:
    - UniValue::size
    - UniValue::write
    - indentStr
    linkageType: ''
    returnType: void
    signature: void UniValue::writeArray(unsigned int prettyIndent, unsigned int indentLevel,
      std::string& s) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:100,1
    - Dst: indentStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:102,1
    - Dst: json_escape
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:103,1
    - Dst: at
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:106,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:107,1
    - Dst: indentStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - prettyIndent
    - indentLevel
    - ' s'
    argTypes:
    - unsigned int
    - unsigned int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: UniValue::writeObject
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_write.cpp
    functionUses: 1
    functionsReached:
    - UniValue::size
    - at
    - json_escape
    - indentStr
    linkageType: ''
    returnType: void
    signature: void UniValue::writeObject(unsigned int prettyIndent, unsigned int
      indentLevel, std::string& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: json_isdigit
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool json_isdigit(int ch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_isdigit
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - first
    - last
    - ' out'
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: hatoui
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp
    functionUses: 0
    functionsReached:
    - json_isdigit
    linkageType: ''
    returnType: char
    signature: "char *hatoui(const char *first, const char *last,\n                          unsigned
      int& out)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:58,1
    - Dst: json_isspace
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:63,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:100,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:104,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:108,1
    - Dst: json_isdigit
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:132,1
    - Dst: json_isdigit
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:134,1
    - Dst: json_isdigit
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:140,1
    - Dst: json_isdigit
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:143,1
    - Dst: json_isdigit
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:153,1
    - Dst: json_isdigit
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:155,1
    - Dst: json_isdigit
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:171,1
    - Dst: json_isdigit
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:173,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:201,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:202,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:203,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:204,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:205,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:206,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:207,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:208,1
    - Dst: hatoui
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:213,1
    - Dst: JSONUTF8StringFilter::push_back_u
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:216,1
    - Dst: JSONUTF8StringFilter::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:234,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:234,1
    - Dst: JSONUTF8StringFilter::finalize
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:239,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 165
    argCount: 4
    argNames:
    - ' tokenVal'
    - ' consumed'
    - raw
    - end
    argTypes:
    - std::string
    - unsigned int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 249
    functionName: getJsonToken
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp
    functionUses: 0
    functionsReached:
    - JSONUTF8StringFilter::push_back
    - json_isdigit
    - json_isspace
    - strncmp
    - clear
    - hatoui
    - JSONUTF8StringFilter::push_back_u
    - static_cast<unsigned char>
    - JSONUTF8StringFilter::finalize
    linkageType: ''
    returnType: enum jtokentype
    signature: "enum jtokentype getJsonToken(std::string& tokenVal, unsigned int&
      consumed,\n                            const char *raw, const char *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: expect
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect(bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: setExpect
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setExpect(bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: clearExpect
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clearExpect(bit)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:265,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:274,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:275,1
    - Dst: getJsonToken
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:279,1
    - Dst: jsonTokenIsValue
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:284,1
    - Dst: expect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:287,1
    - Dst: clearExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:290,1
    - Dst: expect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:292,1
    - Dst: clearExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:297,1
    - Dst: expect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:299,1
    - Dst: expect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:304,1
    - Dst: clearExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:307,1
    - Dst: expect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:309,1
    - Dst: expect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:313,1
    - Dst: clearExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:316,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:324,1
    - Dst: UniValue::setObject
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:326,1
    - Dst: UniValue::setArray
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:328,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:329,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:332,1
    - Dst: UniValue*::values::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:333,1
    - Dst: UniValue*::values::back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:335,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:336,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:339,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:343,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:345,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:351,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:355,1
    - Dst: UniValue*::getType
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:356,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:359,1
    - Dst: clearExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:360,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:361,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:366,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:369,1
    - Dst: UniValue*::getType
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:370,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:373,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:378,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:382,1
    - Dst: UniValue*::getType
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:383,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:384,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:386,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:393,1
    - Dst: UniValue::setBool
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:399,1
    - Dst: UniValue::setBool
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:402,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:407,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:412,1
    - Dst: UniValue*::values::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:413,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:415,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:421,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:426,1
    - Dst: UniValue*::values::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:427,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:429,1
    - Dst: expect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:434,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:435,1
    - Dst: UniValue*::keys::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:436,1
    - Dst: clearExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:437,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:438,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:441,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:445,1
    - Dst: UniValue*::values::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:446,1
    - Dst: setExpect
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:449,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:456,1
    - Dst: getJsonToken
      Src: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp:459,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 136
    argCount: 1
    argNames:
    - str_in
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 464
    functionName: UniValue::read
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_read.cpp
    functionUses: 9
    functionsReached:
    - std::vector::push_back
    - jsonTokenIsValue
    - UniValue*::keys::push_back
    - std::string_view::data
    - UniValue::setObject
    - std::vector::back
    - UniValue::setArray
    - expect
    - std::string_view::size
    - clearExpect
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - UniValue*::values::back
    - UniValue::clear
    - UniValue::setBool
    - UniValue*::getType
    - UniValue::UniValue
    - UniValue*::values::push_back
    - getJsonToken
    - setExpect
    linkageType: ''
    returnType: bool
    signature: bool UniValue::read(std::string_view str_in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:23,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:25,1
    - Dst: json_isspace
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:25,1
    - Dst: json_isspace
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:25,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:25,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:27,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:27,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: ParsePrechecks
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - json_isspace
    - empty
    - size
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool ParsePrechecks(const std::string& str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:34,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:36,1
    - Dst: std::istringstream::imbue
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:39,1
    - Dst: std::locale::classic
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:39,1
    - Dst: std::istringstream::eof
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:43,1
    - Dst: std::istringstream::fail
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: ParseDouble
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 0
    functionsReached:
    - std::locale::classic
    - ParsePrechecks
    - std::istringstream::fail
    - size
    - std::istringstream::imbue
    - std::istringstream::eof
    linkageType: ''
    returnType: bool
    signature: bool ParseDouble(const std::string& str, double *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:23,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:25,1
    - Dst: json_isspace
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:25,1
    - Dst: json_isspace
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:25,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:25,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:27,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:27,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: ParsePrechecks
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 1
    functionsReached:
    - strlen
    - json_isspace
    - empty
    - size
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool ParsePrechecks(const std::string& str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:34,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:36,1
    - Dst: std::istringstream::imbue
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:39,1
    - Dst: std::locale::classic
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:39,1
    - Dst: std::istringstream::eof
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:43,1
    - Dst: std::istringstream::fail
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: ParseDouble
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 0
    functionsReached:
    - std::locale::classic
    - ParsePrechecks
    - std::istringstream::fail
    - size
    - std::istringstream::imbue
    - std::istringstream::eof
    linkageType: ''
    returnType: bool
    signature: bool ParseDouble(const std::string& str, double *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: '& UniValue::getKeys() const'
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 0
    functionsReached:
    - checkType
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & UniValue::getKeys() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: '& UniValue::getValues() const'
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: std::vector<UniValue>
    signature: std::vector<UniValue> & UniValue::getValues() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:62,1
    - Dst: UniValue::isTrue
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: UniValue::get_bool
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 3
    functionsReached:
    - UniValue::checkType
    - UniValue::isTrue
    linkageType: ''
    returnType: bool
    signature: bool UniValue::get_bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:68,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: '& UniValue::get_str() const'
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 0
    functionsReached:
    - checkType
    - getValStr
    linkageType: ''
    returnType: std::string
    signature: std::string & UniValue::get_str() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:74,1
    - Dst: ParseDouble
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:76,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:76,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: UniValue::get_real
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 2
    functionsReached:
    - UniValue::checkType
    - getValStr
    - ParseDouble
    - std::runtime_error
    linkageType: ''
    returnType: double
    signature: double UniValue::get_real() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '& UniValue::get_obj() const'
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 0
    functionsReached:
    - checkType
    linkageType: ''
    returnType: UniValue
    signature: UniValue & UniValue::get_obj() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: '& UniValue::get_array() const'
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue_get.cpp
    functionUses: 0
    functionsReached:
    - checkType
    linkageType: ''
    returnType: UniValue
    signature: UniValue & UniValue::get_array() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:21,1
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:22,1
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: UniValue::clear
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 5
    functionsReached:
    - UniValue::clear
    linkageType: ''
    returnType: void
    signature: void UniValue::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: UniValue::setNull
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 1
    functionsReached:
    - UniValue::clear
    linkageType: ''
    returnType: void
    signature: void UniValue::setNull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val_
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: UniValue::setBool
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 4
    functionsReached:
    - UniValue::clear
    linkageType: ''
    returnType: void
    signature: void UniValue::setBool(bool val_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getJsonToken
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:43,1
    - Dst: data
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:43,1
    - Dst: data
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:43,1
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: validNumStr
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 0
    functionsReached:
    - getJsonToken
    - data
    - size
    linkageType: ''
    returnType: bool
    signature: bool validNumStr(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validNumStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:49,1
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:53,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: UniValue::setNumStr
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 3
    functionsReached:
    - UniValue::clear
    - std::move
    - validNumStr
    linkageType: ''
    returnType: void
    signature: void UniValue::setNumStr(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:64,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val_
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: UniValue::setInt
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 4
    functionsReached:
    - UniValue::setNumStr
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void UniValue::setInt(uint64_t val_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:73,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val_
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: UniValue::setInt
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 4
    functionsReached:
    - UniValue::setNumStr
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void UniValue::setInt(int64_t val_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:80,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:82,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val_
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: UniValue::setFloat
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 2
    functionsReached:
    - std::setprecision
    - UniValue::setNumStr
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void UniValue::setFloat(double val_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:87,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: UniValue::setStr
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 3
    functionsReached:
    - UniValue::clear
    - std::move
    linkageType: ''
    returnType: void
    signature: void UniValue::setStr(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: UniValue::setArray
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 2
    functionsReached:
    - UniValue::clear
    linkageType: ''
    returnType: void
    signature: void UniValue::setArray()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: UniValue::setObject
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 3
    functionsReached:
    - UniValue::clear
    linkageType: ''
    returnType: void
    signature: void UniValue::setObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:106,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:108,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: UniValue::push_back
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 12
    functionsReached:
    - UniValue::checkType
    - UniValue::push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void UniValue::push_back(UniValue val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:113,1
    - Dst: insert
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:115,1
    - Dst: end
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:115,1
    - Dst: begin
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:115,1
    - Dst: end
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<UniValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: UniValue::push_backV
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 2
    functionsReached:
    - end
    - UniValue::checkType
    - insert
    - begin
    linkageType: ''
    returnType: void
    signature: void UniValue::push_backV(const std::vector<UniValue>& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:120,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:122,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:122,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:123,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - std::string
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: UniValue::pushKVEnd
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 2
    functionsReached:
    - UniValue::checkType
    - UniValue::push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void UniValue::pushKVEnd(std::string key, UniValue val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:128,1
    - Dst: UniValue::findKey
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:131,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:132,1
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:134,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:134,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - std::string
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: UniValue::pushKV
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 13
    functionsReached:
    - UniValue::checkType
    - UniValue::findKey
    - UniValue::pushKVEnd
    - std::move
    linkageType: ''
    returnType: void
    signature: void UniValue::pushKV(std::string key, UniValue val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:139,1
    - Dst: UniValue::checkType
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:140,1
    - Dst: UniValue::keys::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:142,1
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:143,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:143,1
    - Dst: UniValue::keys::at
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:143,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:143,1
    - Dst: UniValue::values::at
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: UniValue::pushKVs
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 2
    functionsReached:
    - UniValue::keys::size
    - UniValue::checkType
    - std::move
    - UniValue::pushKVEnd
    - UniValue::keys::at
    - UniValue::values::at
    linkageType: ''
    returnType: void
    signature: void UniValue::pushKVs(UniValue obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:151,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' kv'
    argTypes:
    - std::map<std::string,UniValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: UniValue::getObjMap
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 1
    functionsReached:
    - UniValue::clear
    - UniValue::size
    linkageType: ''
    returnType: void
    signature: void UniValue::getObjMap(std::map<std::string,UniValue>& kv) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' retIdx'
    argTypes:
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: UniValue::findKey
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 2
    functionsReached:
    - UniValue::size
    linkageType: ''
    returnType: bool
    signature: bool UniValue::findKey(const std::string& key, size_t& retIdx) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::findKey
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:176,1
    - Dst: at
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - std::map<std::string,UniValue::VType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 186
    functionName: UniValue::checkObject
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 1
    functionsReached:
    - UniValue::findKey
    - at
    linkageType: ''
    returnType: bool
    signature: bool UniValue::checkObject(const std::map<std::string,UniValue::VType>&
      t) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findKey
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:194,1
    - Dst: at
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: '& UniValue::operator[](const std::string& key) const'
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 0
    functionsReached:
    - at
    - findKey
    linkageType: ''
    returnType: UniValue
    signature: UniValue & UniValue::operator[](const std::string& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:204,1
    - Dst: at
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: '& UniValue::operator[](size_t index) const'
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 0
    functionsReached:
    - at
    - size
    linkageType: ''
    returnType: UniValue
    signature: UniValue & UniValue::operator[](size_t index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:213,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - VType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: UniValue::checkType
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 9
    functionsReached:
    - uvTypeName
    linkageType: ''
    returnType: void
    signature: void UniValue::checkType(const VType& expected) const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - t
    argTypes:
    - UniValue::VType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: uvTypeName
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *uvTypeName(UniValue::VType t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:235,1
    - Dst: at
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: '& UniValue::find_value(std::string_view key) const'
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 0
    functionsReached:
    - at
    - size
    linkageType: ''
    returnType: UniValue
    signature: UniValue & UniValue::find_value(std::string_view key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::reserve
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:245,1
    - Dst: UniValue::reserve
      Src: /src/bitcoin-core/src/univalue/lib/univalue.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_cap
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: UniValue::reserve
    functionSourceFile: /src/bitcoin-core/src/univalue/lib/univalue.cpp
    functionUses: 2
    functionsReached:
    - UniValue::reserve
    linkageType: ''
    returnType: void
    signature: void UniValue::reserve(size_t new_cap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - horizon
    argTypes:
    - FeeEstimateHorizon
    assertStmts:
    - condition: (false)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: StringForFeeEstimateHorizon
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string StringForFeeEstimateHorizon(FeeEstimateHorizon horizon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDouble
      Src: /src/bitcoin-core/src/policy/fees.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - Stream
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - EncodeDouble
    linkageType: ''
    returnType: void
    signature: void Ser(Stream &s, double v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDouble
      Src: /src/bitcoin-core/src/policy/fees.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - DecodeDouble
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, double& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDouble
      Src: /src/bitcoin-core/src/policy/fees.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - Stream
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - EncodeDouble
    linkageType: ''
    returnType: void
    signature: void Ser(Stream &s, double v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDouble
      Src: /src/bitcoin-core/src/policy/fees.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s'
    - ' v'
    argTypes:
    - Stream
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - DecodeDouble
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, double& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: TxConfirmStats::GetMaxConfirms
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetMaxConfirms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:184,1
    - Dst: resize
      Src: /src/bitcoin-core/src/policy/fees.cpp:185,1
    - Dst: resize
      Src: /src/bitcoin-core/src/policy/fees.cpp:186,1
    - Dst: resize
      Src: /src/bitcoin-core/src/policy/fees.cpp:188,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:188,1
    - Dst: resize
      Src: /src/bitcoin-core/src/policy/fees.cpp:189,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:189,1
    - Dst: resize
      Src: /src/bitcoin-core/src/policy/fees.cpp:192,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:192,1
    - Dst: resize
      Src: /src/bitcoin-core/src/policy/fees.cpp:193,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:193,1
    - Dst: TxConfirmStats::resizeInMemoryCounters
      Src: /src/bitcoin-core/src/policy/fees.cpp:195,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ' defaultBuckets'
    - ' defaultBucketMap'
    - maxPeriods
    - _decay
    - _scale
    argTypes:
    - std::vector<double>
    - std::map<double, unsigned int>
    - unsigned int
    - double
    - unsigned int
    assertStmts:
    - condition: (_scale != 0 && "_scale must be non-zero")
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 196
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 196
    functionName: TxConfirmStats::TxConfirmStats
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - TxConfirmStats::resizeInMemoryCounters
    - assert
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: "void TxConfirmStats::TxConfirmStats(const std::vector<double>& defaultBuckets,\n
      \                               const std::map<double, unsigned int>& defaultBucketMap,\n
      \                              unsigned int maxPeriods, double _decay, unsigned
      int _scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/policy/fees.cpp:200,1
    - Dst: TxConfirmStats::GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:200,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:201,1
    - Dst: resize
      Src: /src/bitcoin-core/src/policy/fees.cpp:202,1
    - Dst: resize
      Src: /src/bitcoin-core/src/policy/fees.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newbuckets
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: TxConfirmStats::resizeInMemoryCounters
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - resize
    - TxConfirmStats::GetMaxConfirms
    - size
    linkageType: ''
    returnType: void
    signature: void TxConfirmStats::resizeInMemoryCounters(size_t newbuckets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:210,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:211,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nBlockHeight
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: TxConfirmStats::ClearCurrent
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void TxConfirmStats::ClearCurrent(unsigned int nBlockHeight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/policy/fees.cpp:223,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - blocksToConfirm
    - feerate
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: TxConfirmStats::Record
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - lower_bound
    - size
    linkageType: ''
    returnType: void
    signature: void TxConfirmStats::Record(int blocksToConfirm, double feerate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:233,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:233,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:233,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:234,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (confAvg.size() == failAvg.size())
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: TxConfirmStats::UpdateMovingAverages
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void TxConfirmStats::UpdateMovingAverages()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:255,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:273,1
    - Dst: TxConfirmStats::GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:290,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/policy/fees.cpp:311,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/policy/fees.cpp:312,1
    - Dst: EstimatorBucket
      Src: /src/bitcoin-core/src/policy/fees.cpp:326,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/policy/fees.cpp:351,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/policy/fees.cpp:352,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/policy/fees.cpp:373,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/policy/fees.cpp:374,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:392,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 5
    argNames:
    - confTarget
    - sufficientTxVal
    - successBreakPoint
    - nBlockHeight
    - result
    argTypes:
    - int
    - double
    - double
    - unsigned int
    - EstimationResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 409
    functionName: TxConfirmStats::EstimateMedianVal
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - LogDebug
    - size
    - std::max
    - TxConfirmStats::GetMaxConfirms
    - EstimatorBucket
    - std::min
    linkageType: ''
    returnType: double
    signature: "double TxConfirmStats::EstimateMedianVal(int confTarget, double sufficientTxVal,\n
      \                                        double successBreakPoint, unsigned
      int nBlockHeight,\n                                         EstimationResult
      *result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:413,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:415,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:416,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:417,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' fileout'
    argTypes:
    - AutoFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: TxConfirmStats::Write
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - Using
    linkageType: ''
    returnType: void
    signature: void TxConfirmStats::Write(AutoFile& fileout) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:429,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:431,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:435,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:438,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:439,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:440,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:442,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:443,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:444,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:446,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:447,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:451,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:454,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:455,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:459,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:460,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:461,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:464,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:465,1
    - Dst: TxConfirmStats::resizeInMemoryCounters
      Src: /src/bitcoin-core/src/policy/fees.cpp:471,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:473,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - ' filein'
    - numBuckets
    argTypes:
    - AutoFile
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 475
    functionName: TxConfirmStats::Read
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - TxConfirmStats::resizeInMemoryCounters
    - std::runtime_error
    - LogDebug
    - size
    - Using
    linkageType: ''
    returnType: void
    signature: void TxConfirmStats::Read(AutoFile& filein, size_t numBuckets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/policy/fees.cpp:479,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nBlockHeight
    - val
    argTypes:
    - unsigned int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: TxConfirmStats::NewTx
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - lower_bound
    - size
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int TxConfirmStats::NewTx(unsigned int nBlockHeight, double
      val)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:492,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:496,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:500,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:505,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:509,1
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:514,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - entryHeight
    - nBestSeenHeight
    - bucketindex
    - inBlock
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    - bool
    assertStmts:
    - condition: (scale != 0)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 520
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 520
    functionName: TxConfirmStats::removeTx
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - assert
    - LogDebug
    - size
    linkageType: ''
    returnType: void
    signature: void TxConfirmStats::removeTx(unsigned int entryHeight, unsigned int
      nBestSeenHeight, unsigned int bucketindex, bool inBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:524,1
    - Dst: CBlockPolicyEstimator::_removeTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: CBlockPolicyEstimator::removeTx
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CBlockPolicyEstimator::_removeTx
    linkageType: ''
    returnType: bool
    signature: bool CBlockPolicyEstimator::removeTx(uint256 hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/policy/fees.cpp:530,1
    - Dst: find
      Src: /src/bitcoin-core/src/policy/fees.cpp:531,1
    - Dst: end
      Src: /src/bitcoin-core/src/policy/fees.cpp:532,1
    - Dst: CBlockPolicyEstimator::removeTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:533,1
    - Dst: CBlockPolicyEstimator::removeTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:534,1
    - Dst: CBlockPolicyEstimator::removeTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:535,1
    - Dst: erase
      Src: /src/bitcoin-core/src/policy/fees.cpp:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' hash'
    - inBlock
    argTypes:
    - uint256
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 541
    functionName: CBlockPolicyEstimator::_removeTx
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - end
    - erase
    - AssertLockHeld
    - CBlockPolicyEstimator::removeTx
    - find
    linkageType: ''
    returnType: bool
    signature: bool CBlockPolicyEstimator::_removeTx(const uint256& hash, bool inBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/policy/fees.cpp:550,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/policy/fees.cpp:553,1
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:555,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:555,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:555,1
    - Dst: std::unique_ptr<TxConfirmStats>
      Src: /src/bitcoin-core/src/policy/fees.cpp:557,1
    - Dst: TxConfirmStats::TxConfirmStats
      Src: /src/bitcoin-core/src/policy/fees.cpp:557,1
    - Dst: std::unique_ptr<TxConfirmStats>
      Src: /src/bitcoin-core/src/policy/fees.cpp:558,1
    - Dst: TxConfirmStats::TxConfirmStats
      Src: /src/bitcoin-core/src/policy/fees.cpp:558,1
    - Dst: std::unique_ptr<TxConfirmStats>
      Src: /src/bitcoin-core/src/policy/fees.cpp:559,1
    - Dst: TxConfirmStats::TxConfirmStats
      Src: /src/bitcoin-core/src/policy/fees.cpp:559,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/policy/fees.cpp:561,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/policy/fees.cpp:563,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/policy/fees.cpp:564,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/policy/fees.cpp:564,1
    - Dst: CBlockPolicyEstimator::GetFeeEstimatorFileAge
      Src: /src/bitcoin-core/src/policy/fees.cpp:568,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/policy/fees.cpp:570,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/policy/fees.cpp:570,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/policy/fees.cpp:570,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/policy/fees.cpp:570,1
    - Dst: CBlockPolicyEstimator::Read
      Src: /src/bitcoin-core/src/policy/fees.cpp:574,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/policy/fees.cpp:575,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/policy/fees.cpp:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' estimation_filepath'
    - read_stale_estimates
    argTypes:
    - fs::path
    - bool
    assertStmts:
    - condition: (bucketMap.size() == buckets.size())
      pos:
        line_end: 554
        line_start: 554
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 577
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 577
    functionName: CBlockPolicyEstimator::CBlockPolicyEstimator
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - Ticks
    - CBlockPolicyEstimator::Read
    - push_back
    - AutoFile::IsNull
    - TxConfirmStats::TxConfirmStats
    - fsbridge::fopen
    - size
    - LogInfo
    - LogPrintf
    - std::unique_ptr<TxConfirmStats>
    - assert
    - fs::PathToString
    - CBlockPolicyEstimator::GetFeeEstimatorFileAge
    linkageType: ''
    returnType: void
    signature: void CBlockPolicyEstimator::CBlockPolicyEstimator(const fs::path& estimation_filepath,
      const bool read_stale_estimates)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 579
    functionName: CBlockPolicyEstimator::~CBlockPolicyEstimator()
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBlockPolicyEstimator::~CBlockPolicyEstimator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockPolicyEstimator::processTransaction
      Src: /src/bitcoin-core/src/policy/fees.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - NewMempoolTransactionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: CBlockPolicyEstimator::TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - CBlockPolicyEstimator::processTransaction
    linkageType: ''
    returnType: void
    signature: void CBlockPolicyEstimator::TransactionAddedToMempool(const NewMempoolTransactionInfo&
      tx, uint64_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockPolicyEstimator::removeTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:588,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/fees.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: CBlockPolicyEstimator::TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - CBlockPolicyEstimator::removeTx
    - GetHash
    linkageType: ''
    returnType: void
    signature: void CBlockPolicyEstimator::TransactionRemovedFromMempool(const CTransactionRef&
      tx, MemPoolRemovalReason /*unused*/, uint64_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockPolicyEstimator::processBlock
      Src: /src/bitcoin-core/src/policy/fees.cpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' txs_removed_for_block'
    - nBlockHeight
    argTypes:
    - std::vector<RemovedMempoolTransactionInfo>
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: CBlockPolicyEstimator::MempoolTransactionsRemovedForBlock
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - CBlockPolicyEstimator::processBlock
    linkageType: ''
    returnType: void
    signature: void CBlockPolicyEstimator::MempoolTransactionsRemovedForBlock(const
      std::vector<RemovedMempoolTransactionInfo>& txs_removed_for_block, unsigned
      int nBlockHeight)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:598,1
    - Dst: info::m_tx::GetHash
      Src: /src/bitcoin-core/src/policy/fees.cpp:600,1
    - Dst: count
      Src: /src/bitcoin-core/src/policy/fees.cpp:601,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:602,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/policy/fees.cpp:603,1
    - Dst: NewTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:633,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/policy/fees.cpp:633,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/policy/fees.cpp:633,1
    - Dst: NewTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:635,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/policy/fees.cpp:635,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/policy/fees.cpp:635,1
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:636,1
    - Dst: NewTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:637,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/policy/fees.cpp:637,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/policy/fees.cpp:637,1
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - NewMempoolTransactionInfo
    assertStmts:
    - condition: (bucketIndex == bucketIndex3)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    - condition: (bucketIndex == bucketIndex2)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 639
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 639
    functionName: CBlockPolicyEstimator::processTransaction
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - LogDebug
    - NewTx
    - LOCK
    - static_cast<double>
    - CFeeRate::GetFeePerK
    - info::m_tx::GetHash
    - assert
    - count
    linkageType: ''
    returnType: void
    signature: void CBlockPolicyEstimator::processTransaction(const NewMempoolTransactionInfo&
      tx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/policy/fees.cpp:643,1
    - Dst: CBlockPolicyEstimator::_removeTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:644,1
    - Dst: info::m_tx::GetHash
      Src: /src/bitcoin-core/src/policy/fees.cpp:644,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:656,1
    - Dst: Record
      Src: /src/bitcoin-core/src/policy/fees.cpp:663,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/policy/fees.cpp:663,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/policy/fees.cpp:663,1
    - Dst: Record
      Src: /src/bitcoin-core/src/policy/fees.cpp:664,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/policy/fees.cpp:664,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/policy/fees.cpp:664,1
    - Dst: Record
      Src: /src/bitcoin-core/src/policy/fees.cpp:665,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/policy/fees.cpp:665,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/policy/fees.cpp:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - nBlockHeight
    - ' tx'
    argTypes:
    - unsigned int
    - RemovedMempoolTransactionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 667
    functionName: CBlockPolicyEstimator::processBlockTx
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - CBlockPolicyEstimator::_removeTx
    - LogDebug
    - Record
    - static_cast<double>
    - CFeeRate::GetFeePerK
    - AssertLockHeld
    - info::m_tx::GetHash
    linkageType: ''
    returnType: bool
    signature: bool CBlockPolicyEstimator::processBlockTx(unsigned int nBlockHeight,
      const RemovedMempoolTransactionInfo& tx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:672,1
    - Dst: ClearCurrent
      Src: /src/bitcoin-core/src/policy/fees.cpp:688,1
    - Dst: ClearCurrent
      Src: /src/bitcoin-core/src/policy/fees.cpp:689,1
    - Dst: ClearCurrent
      Src: /src/bitcoin-core/src/policy/fees.cpp:690,1
    - Dst: UpdateMovingAverages
      Src: /src/bitcoin-core/src/policy/fees.cpp:693,1
    - Dst: UpdateMovingAverages
      Src: /src/bitcoin-core/src/policy/fees.cpp:694,1
    - Dst: UpdateMovingAverages
      Src: /src/bitcoin-core/src/policy/fees.cpp:695,1
    - Dst: CBlockPolicyEstimator::processBlockTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:700,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:706,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:710,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:711,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:711,1
    - Dst: CBlockPolicyEstimator::MaxUsableEstimate
      Src: /src/bitcoin-core/src/policy/fees.cpp:712,1
    - Dst: CBlockPolicyEstimator::HistoricalBlockSpan
      Src: /src/bitcoin-core/src/policy/fees.cpp:712,1
    - Dst: CBlockPolicyEstimator::BlockSpan
      Src: /src/bitcoin-core/src/policy/fees.cpp:712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' txs_removed_for_block'
    - nBlockHeight
    argTypes:
    - std::vector<RemovedMempoolTransactionInfo>
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 716
    functionName: CBlockPolicyEstimator::processBlock
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - CBlockPolicyEstimator::MaxUsableEstimate
    - UpdateMovingAverages
    - LogDebug
    - ClearCurrent
    - size
    - CBlockPolicyEstimator::BlockSpan
    - LOCK
    - CBlockPolicyEstimator::HistoricalBlockSpan
    - CBlockPolicyEstimator::processBlockTx
    linkageType: ''
    returnType: void
    signature: "void CBlockPolicyEstimator::processBlock(const std::vector<RemovedMempoolTransactionInfo>&
      txs_removed_for_block,\n                                         unsigned int
      nBlockHeight)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/fees.cpp:722,1
    - Dst: CBlockPolicyEstimator::estimateRawFee
      Src: /src/bitcoin-core/src/policy/fees.cpp:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - confTarget
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 725
    functionName: CBlockPolicyEstimator::estimateFee
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - CBlockPolicyEstimator::estimateRawFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate CBlockPolicyEstimator::estimateFee(int confTarget) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/policy/fees.cpp:733,1
    - Dst: get
      Src: /src/bitcoin-core/src/policy/fees.cpp:738,1
    - Dst: get
      Src: /src/bitcoin-core/src/policy/fees.cpp:742,1
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:746,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:748,1
    - Dst: TxConfirmStats*::GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:750,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/fees.cpp:751,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/fees.cpp:753,1
    - Dst: TxConfirmStats*::EstimateMedianVal
      Src: /src/bitcoin-core/src/policy/fees.cpp:755,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/fees.cpp:758,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/fees.cpp:760,1
    - Dst: llround
      Src: /src/bitcoin-core/src/policy/fees.cpp:760,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - confTarget
    - successThreshold
    - horizon
    - result
    argTypes:
    - int
    - double
    - FeeEstimateHorizon
    - EstimationResult*
    assertStmts:
    - condition: (stats)
      pos:
        line_end: 745
        line_start: 745
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 761
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 761
    functionName: CBlockPolicyEstimator::estimateRawFee
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - TxConfirmStats*::EstimateMedianVal
    - CFeeRate
    - LOCK
    - TxConfirmStats*::GetMaxConfirms
    - llround
    - get
    - assert
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate CBlockPolicyEstimator::estimateRawFee(int confTarget, double
      successThreshold, FeeEstimateHorizon horizon, EstimationResult* result) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:765,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:768,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:771,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:774,1
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - horizon
    argTypes:
    - FeeEstimateHorizon
    assertStmts:
    - condition: (false)
      pos:
        line_end: 776
        line_start: 776
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 778
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 778
    functionName: CBlockPolicyEstimator::HighestTargetTracked
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - assert
    - GetMaxConfirms
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CBlockPolicyEstimator::HighestTargetTracked(FeeEstimateHorizon
      horizon) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nBestSeenHeight >= firstRecordedHeight)
      pos:
        line_end: 782
        line_start: 782
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 786
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 786
    functionName: CBlockPolicyEstimator::BlockSpan
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CBlockPolicyEstimator::BlockSpan() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (historicalBest >= historicalFirst)
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 796
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 796
    functionName: CBlockPolicyEstimator::HistoricalBlockSpan
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CBlockPolicyEstimator::HistoricalBlockSpan() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/policy/fees.cpp:801,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:801,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/policy/fees.cpp:801,1
    - Dst: CBlockPolicyEstimator::BlockSpan
      Src: /src/bitcoin-core/src/policy/fees.cpp:801,1
    - Dst: CBlockPolicyEstimator::HistoricalBlockSpan
      Src: /src/bitcoin-core/src/policy/fees.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: CBlockPolicyEstimator::MaxUsableEstimate
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - CBlockPolicyEstimator::BlockSpan
    - std::max
    - GetMaxConfirms
    - CBlockPolicyEstimator::HistoricalBlockSpan
    - std::min
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CBlockPolicyEstimator::MaxUsableEstimate() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:811,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:813,1
    - Dst: EstimateMedianVal
      Src: /src/bitcoin-core/src/policy/fees.cpp:814,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:816,1
    - Dst: EstimateMedianVal
      Src: /src/bitcoin-core/src/policy/fees.cpp:817,1
    - Dst: EstimateMedianVal
      Src: /src/bitcoin-core/src/policy/fees.cpp:820,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:825,1
    - Dst: EstimateMedianVal
      Src: /src/bitcoin-core/src/policy/fees.cpp:826,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:826,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:832,1
    - Dst: EstimateMedianVal
      Src: /src/bitcoin-core/src/policy/fees.cpp:833,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:833,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - confTarget
    - successThreshold
    - checkShorterHorizon
    - result
    argTypes:
    - unsigned int
    - double
    - bool
    - EstimationResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 842
    functionName: CBlockPolicyEstimator::estimateCombinedFee
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - GetMaxConfirms
    - EstimateMedianVal
    linkageType: ''
    returnType: double
    signature: double CBlockPolicyEstimator::estimateCombinedFee(unsigned int confTarget,
      double successThreshold, bool checkShorterHorizon, EstimationResult *result)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:851,1
    - Dst: EstimateMedianVal
      Src: /src/bitcoin-core/src/policy/fees.cpp:852,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:854,1
    - Dst: EstimateMedianVal
      Src: /src/bitcoin-core/src/policy/fees.cpp:855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - doubleTarget
    - result
    argTypes:
    - unsigned int
    - EstimationResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 862
    functionName: CBlockPolicyEstimator::estimateConservativeFee
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - GetMaxConfirms
    - EstimateMedianVal
    linkageType: ''
    returnType: double
    signature: double CBlockPolicyEstimator::estimateConservativeFee(unsigned int
      doubleTarget, EstimationResult *result) const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:873,1
    - Dst: GetMaxConfirms
      Src: /src/bitcoin-core/src/policy/fees.cpp:884,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/fees.cpp:885,1
    - Dst: CBlockPolicyEstimator::MaxUsableEstimate
      Src: /src/bitcoin-core/src/policy/fees.cpp:891,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/fees.cpp:897,1
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/fees.cpp:899,1
    - Dst: CBlockPolicyEstimator::estimateCombinedFee
      Src: /src/bitcoin-core/src/policy/fees.cpp:918,1
    - Dst: CBlockPolicyEstimator::estimateCombinedFee
      Src: /src/bitcoin-core/src/policy/fees.cpp:924,1
    - Dst: CBlockPolicyEstimator::estimateCombinedFee
      Src: /src/bitcoin-core/src/policy/fees.cpp:932,1
    - Dst: CBlockPolicyEstimator::estimateConservativeFee
      Src: /src/bitcoin-core/src/policy/fees.cpp:942,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/fees.cpp:952,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/fees.cpp:954,1
    - Dst: llround
      Src: /src/bitcoin-core/src/policy/fees.cpp:954,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - confTarget
    - feeCalc
    - conservative
    argTypes:
    - int
    - FeeCalculation*
    - bool
    assertStmts:
    - condition: (confTarget > 0)
      pos:
        line_end: 898
        line_start: 898
        source_file: /src/bitcoin-core/src/policy/fees.cpp
    constantsTouched: []
    func_position:
      end: 955
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 955
    functionName: CBlockPolicyEstimator::estimateSmartFee
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - CBlockPolicyEstimator::MaxUsableEstimate
    - CFeeRate
    - CBlockPolicyEstimator::estimateConservativeFee
    - LOCK
    - GetMaxConfirms
    - CBlockPolicyEstimator::estimateCombinedFee
    - llround
    - assert
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate CBlockPolicyEstimator::estimateSmartFee(int confTarget, FeeCalculation
      *feeCalc, bool conservative) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockPolicyEstimator::FlushUnconfirmed
      Src: /src/bitcoin-core/src/policy/fees.cpp:958,1
    - Dst: CBlockPolicyEstimator::FlushFeeEstimates
      Src: /src/bitcoin-core/src/policy/fees.cpp:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: CBlockPolicyEstimator::Flush
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - CBlockPolicyEstimator::FlushFeeEstimates
    - CBlockPolicyEstimator::FlushUnconfirmed
    linkageType: ''
    returnType: void
    signature: void CBlockPolicyEstimator::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/policy/fees.cpp:964,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/policy/fees.cpp:965,1
    - Dst: CBlockPolicyEstimator::Write
      Src: /src/bitcoin-core/src/policy/fees.cpp:965,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/policy/fees.cpp:966,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/policy/fees.cpp:966,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/policy/fees.cpp:967,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/policy/fees.cpp:970,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/policy/fees.cpp:971,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/policy/fees.cpp:971,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/policy/fees.cpp:971,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/policy/fees.cpp:974,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/policy/fees.cpp:974,1
    - Dst: filename
      Src: /src/bitcoin-core/src/policy/fees.cpp:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 975
    functionName: CBlockPolicyEstimator::FlushFeeEstimates
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - AutoFile::IsNull
    - LogError
    - fsbridge::fopen
    - AutoFile::fclose
    - LogInfo
    - LogPrintf
    - SysErrorString
    - CBlockPolicyEstimator::Write
    - filename
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void CBlockPolicyEstimator::FlushFeeEstimates()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:980,1
    - Dst: CBlockPolicyEstimator::BlockSpan
      Src: /src/bitcoin-core/src/policy/fees.cpp:984,1
    - Dst: CBlockPolicyEstimator::HistoricalBlockSpan
      Src: /src/bitcoin-core/src/policy/fees.cpp:984,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:990,1
    - Dst: CBlockPolicyEstimator::Write
      Src: /src/bitcoin-core/src/policy/fees.cpp:991,1
    - Dst: CBlockPolicyEstimator::Write
      Src: /src/bitcoin-core/src/policy/fees.cpp:992,1
    - Dst: CBlockPolicyEstimator::Write
      Src: /src/bitcoin-core/src/policy/fees.cpp:993,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/policy/fees.cpp:996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' fileout'
    argTypes:
    - AutoFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1000
    functionName: CBlockPolicyEstimator::Write
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 2
    functionsReached:
    - CBlockPolicyEstimator::BlockSpan
    - LOCK
    - LogWarning
    - CBlockPolicyEstimator::HistoricalBlockSpan
    - Using
    - CBlockPolicyEstimator::Write
    linkageType: ''
    returnType: bool
    signature: bool CBlockPolicyEstimator::Write(AutoFile& fileout) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:1005,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/fees.cpp:1009,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/policy/fees.cpp:1018,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:1023,1
    - Dst: Using
      Src: /src/bitcoin-core/src/policy/fees.cpp:1026,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/policy/fees.cpp:1027,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/policy/fees.cpp:1029,1
    - Dst: TxConfirmStats::TxConfirmStats
      Src: /src/bitcoin-core/src/policy/fees.cpp:1032,1
    - Dst: TxConfirmStats::TxConfirmStats
      Src: /src/bitcoin-core/src/policy/fees.cpp:1033,1
    - Dst: TxConfirmStats::TxConfirmStats
      Src: /src/bitcoin-core/src/policy/fees.cpp:1034,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/policy/fees.cpp:1035,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/policy/fees.cpp:1036,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/policy/fees.cpp:1037,1
    - Dst: clear
      Src: /src/bitcoin-core/src/policy/fees.cpp:1042,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:1043,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/policy/fees.cpp:1048,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/policy/fees.cpp:1049,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/policy/fees.cpp:1050,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/policy/fees.cpp:1058,1
    - Dst: what
      Src: /src/bitcoin-core/src/policy/fees.cpp:1058,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - ' filein'
    argTypes:
    - AutoFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1062
    functionName: CBlockPolicyEstimator::Read
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - TxConfirmStats::TxConfirmStats
    - size
    - std::move
    - LOCK
    - LogWarning
    - clear
    - Using
    - strprintf
    - what
    - std::unique_ptr::Read
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool CBlockPolicyEstimator::Read(AutoFile& filein)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/policy/fees.cpp:1066,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:1067,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/fees.cpp:1068,1
    - Dst: empty
      Src: /src/bitcoin-core/src/policy/fees.cpp:1070,1
    - Dst: begin
      Src: /src/bitcoin-core/src/policy/fees.cpp:1071,1
    - Dst: CBlockPolicyEstimator::_removeTx
      Src: /src/bitcoin-core/src/policy/fees.cpp:1072,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/policy/fees.cpp:1074,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/policy/fees.cpp:1075,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/policy/fees.cpp:1075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1064
    functionDepth: 3
    functionLinenumber: 1064
    functionLinenumberEnd: 1076
    functionName: CBlockPolicyEstimator::FlushUnconfirmed
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - MockableSteadyClock::now
    - CBlockPolicyEstimator::_removeTx
    - Ticks
    - empty
    - LogDebug
    - size
    - LOCK
    - begin
    linkageType: ''
    returnType: void
    signature: void CBlockPolicyEstimator::FlushUnconfirmed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::last_write_time
      Src: /src/bitcoin-core/src/policy/fees.cpp:1080,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/policy/fees.cpp:1081,1
    - Dst: std::chrono::duration_cast<std::chrono::hours>
      Src: /src/bitcoin-core/src/policy/fees.cpp:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1083
    functionName: CBlockPolicyEstimator::GetFeeEstimatorFileAge
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::duration_cast<std::chrono::hours>
    - fs::last_write_time
    - wallet::WalletRescanReserver::now
    linkageType: ''
    returnType: std::chrono::hours
    signature: std::chrono::hours CBlockPolicyEstimator::GetFeeEstimatorFileAge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/policy/fees.cpp:1091,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/policy/fees.cpp:1091,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/policy/fees.cpp:1091,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/policy/fees.cpp:1092,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/policy/fees.cpp:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' min_incremental_fee'
    - max_filter_fee_rate
    - fee_filter_spacing
    argTypes:
    - CFeeRate
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1101
    functionName: MakeFeeSet
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - GetFeePerK
    - std::set::insert
    - CAmount
    linkageType: ''
    returnType: std::set<double>
    signature: "std::set<double> MakeFeeSet(const CFeeRate& min_incremental_fee,\n
      \                                  double max_filter_fee_rate,\n                                   double
      fee_filter_spacing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeFeeSet
      Src: /src/bitcoin-core/src/policy/fees.cpp:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' minIncrementalFee'
    - ' rng'
    argTypes:
    - CFeeRate
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1107
    functionName: FeeFilterRounder::FeeFilterRounder
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - MakeFeeSet
    linkageType: ''
    returnType: void
    signature: void FeeFilterRounder::FeeFilterRounder(const CFeeRate& minIncrementalFee,
      FastRandomContext& rng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/policy/fees.cpp:1111,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/policy/fees.cpp:1112,1
    - Dst: end
      Src: /src/bitcoin-core/src/policy/fees.cpp:1113,1
    - Dst: begin
      Src: /src/bitcoin-core/src/policy/fees.cpp:1114,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/policy/fees.cpp:1115,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/policy/fees.cpp:1115,1
    - Dst: static_cast<CAmount>
      Src: /src/bitcoin-core/src/policy/fees.cpp:1118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - currentMinFee
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: FeeFilterRounder::round
    functionSourceFile: /src/bitcoin-core/src/policy/fees.cpp
    functionUses: 0
    functionsReached:
    - end
    - lower_bound
    - static_cast<CAmount>
    - rand32
    - AssertLockNotHeld
    - WITH_LOCK
    - begin
    linkageType: ''
    returnType: CAmount
    signature: CAmount FeeFilterRounder::round(CAmount currentMinFee)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/policy/rbf.cpp:26,1
    - Dst: SignalsOptInRBF
      Src: /src/bitcoin-core/src/policy/rbf.cpp:29,1
    - Dst: exists
      Src: /src/bitcoin-core/src/policy/rbf.cpp:35,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/rbf.cpp:35,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/policy/rbf.cpp:41,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/policy/rbf.cpp:41,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/rbf.cpp:41,1
    - Dst: AssumeCalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/policy/rbf.cpp:42,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/policy/rbf.cpp:42,1
    - Dst: SignalsOptInRBF
      Src: /src/bitcoin-core/src/policy/rbf.cpp:46,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/rbf.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' tx'
    - ' pool'
    argTypes:
    - CTransaction
    - CTxMemPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: IsRBFOptIn
    functionSourceFile: /src/bitcoin-core/src/policy/rbf.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    - Assert
    - GetEntry
    - AssertLockHeld
    - kernel::NoLimits
    - GetTx
    - AssumeCalculateMemPoolAncestors
    - exists
    - SignalsOptInRBF
    linkageType: ''
    returnType: RBFTransactionState
    signature: RBFTransactionState IsRBFOptIn(const CTransaction& tx, const CTxMemPool&
      pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignalsOptInRBF
      Src: /src/bitcoin-core/src/policy/rbf.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: IsRBFOptInEmptyMempool
    functionSourceFile: /src/bitcoin-core/src/policy/rbf.cpp
    functionUses: 0
    functionsReached:
    - SignalsOptInRBF
    linkageType: ''
    returnType: RBFTransactionState
    signature: RBFTransactionState IsRBFOptInEmptyMempool(const CTransaction& tx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/policy/rbf.cpp:64,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/rbf.cpp:65,1
    - Dst: GetCountWithDescendants
      Src: /src/bitcoin-core/src/policy/rbf.cpp:68,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/rbf.cpp:74,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/policy/rbf.cpp:75,1
    - Dst: CalculateDescendants
      Src: /src/bitcoin-core/src/policy/rbf.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ' tx'
    - ' pool'
    - ' iters_conflicting'
    - ' all_conflicts'
    argTypes:
    - CTransaction
    - CTxMemPool
    - CTxMemPool::setEntries
    - CTxMemPool::setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: GetEntriesForConflicts
    functionSourceFile: /src/bitcoin-core/src/policy/rbf.cpp
    functionUses: 4
    functionsReached:
    - CalculateDescendants
    - uint256::ToString
    - GetHash
    - AssertLockHeld
    - strprintf
    - GetCountWithDescendants
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> GetEntriesForConflicts(const CTransaction&
      tx,\n                                                  CTxMemPool& pool,\n                                                  const
      CTxMemPool::setEntries& iters_conflicting,\n                                                  CTxMemPool::setEntries&
      all_conflicts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/policy/rbf.cpp:91,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/rbf.cpp:94,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/policy/rbf.cpp:95,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/policy/rbf.cpp:99,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/policy/rbf.cpp:107,1
    - Dst: exists
      Src: /src/bitcoin-core/src/policy/rbf.cpp:110,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/rbf.cpp:111,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/rbf.cpp:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ' tx'
    - ' pool'
    - ' iters_conflicting'
    argTypes:
    - CTransaction
    - CTxMemPool
    - CTxMemPool::setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 117
    functionName: HasNoNewUnconfirmed
    functionSourceFile: /src/bitcoin-core/src/policy/rbf.cpp
    functionUses: 2
    functionsReached:
    - GetHash
    - std::set::insert
    - GetTx
    - AssertLockHeld
    - strprintf
    - std::set::count
    - exists
    - vin::size
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> HasNoNewUnconfirmed(const CTransaction&
      tx,\n                                               const CTxMemPool& pool,\n
      \                                              const CTxMemPool::setEntries&
      iters_conflicting)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/rbf.cpp:124,1
    - Dst: count
      Src: /src/bitcoin-core/src/policy/rbf.cpp:125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/rbf.cpp:126,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/policy/rbf.cpp:127,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/policy/rbf.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' ancestors'
    - ' direct_conflicts'
    - ' txid'
    argTypes:
    - CTxMemPool::setEntries
    - std::set<Txid>
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: EntriesAndTxidsDisjoint
    functionSourceFile: /src/bitcoin-core/src/policy/rbf.cpp
    functionUses: 2
    functionsReached:
    - count
    - ToString
    - GetTx
    - strprintf
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> EntriesAndTxidsDisjoint(const CTxMemPool::setEntries&
      ancestors,\n                                                   const std::set<Txid>&
      direct_conflicts,\n                                                   const
      uint256& txid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/policy/rbf.cpp:149,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/policy/rbf.cpp:149,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/rbf.cpp:151,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/policy/rbf.cpp:152,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/policy/rbf.cpp:153,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/policy/rbf.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' iters_conflicting'
    - replacement_feerate
    - ' txid'
    argTypes:
    - CTxMemPool::setEntries
    - CFeeRate
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 158
    functionName: PaysMoreThanConflicts
    functionSourceFile: /src/bitcoin-core/src/policy/rbf.cpp
    functionUses: 2
    functionsReached:
    - ToString
    - GetTxSize
    - CFeeRate::ToString
    - strprintf
    - GetModifiedFee
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> PaysMoreThanConflicts(const CTxMemPool::setEntries&
      iters_conflicting,\n                                                 CFeeRate
      replacement_feerate,\n                                                 const
      uint256& txid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/rbf.cpp:170,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/policy/rbf.cpp:171,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/policy/rbf.cpp:171,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/policy/rbf.cpp:171,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/policy/rbf.cpp:178,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/rbf.cpp:179,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/policy/rbf.cpp:180,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/policy/rbf.cpp:181,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/policy/rbf.cpp:182,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/policy/rbf.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - original_fees
    - replacement_fees
    - replacement_vsize
    - relay_fee
    - ' txid'
    argTypes:
    - CAmount
    - CAmount
    - size_t
    - CFeeRate
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: PaysForRBF
    functionSourceFile: /src/bitcoin-core/src/policy/rbf.cpp
    functionUses: 4
    functionsReached:
    - FormatMoney
    - CFeeRate::GetFee
    - ToString
    - strprintf
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> PaysForRBF(CAmount original_fees,\n                                      CAmount
      replacement_fees,\n                                      size_t replacement_vsize,\n
      \                                     CFeeRate relay_fee,\n                                      const
      uint256& txid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CalculateChunksForRBF
      Src: /src/bitcoin-core/src/policy/rbf.cpp:190,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/policy/rbf.cpp:192,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/policy/rbf.cpp:193,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/policy/rbf.cpp:193,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/policy/rbf.cpp:196,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/policy/rbf.cpp:196,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/policy/rbf.cpp:196,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/policy/rbf.cpp:196,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/policy/rbf.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' changeset'
    argTypes:
    - CTxMemPool::ChangeSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: ImprovesFeerateDiagram
    functionSourceFile: /src/bitcoin-core/src/policy/rbf.cpp
    functionUses: 2
    functionsReached:
    - auto::value
    - std::make_pair
    - auto::has_value
    - util::ErrorString
    - CalculateChunksForRBF
    - std::is_gt
    - CompareChunks
    linkageType: ''
    returnType: std::optional<std::pair<DiagramCheckError, std::string>>
    signature: std::optional<std::pair<DiagramCheckError, std::string>> ImprovesFeerateDiagram(CTxMemPool::ChangeSet&
      changeset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDust
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:26,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' tx'
    - dust_relay_rate
    - base_fee
    - mod_fee
    - ' state'
    argTypes:
    - CTransaction
    - CFeeRate
    - CAmount
    - CAmount
    - TxValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: PreCheckEphemeralTx
    functionSourceFile: /src/bitcoin-core/src/policy/ephemeral_policy.cpp
    functionUses: 2
    functionsReached:
    - Invalid
    - GetDust
    linkageType: ''
    returnType: bool
    signature: bool PreCheckEphemeralTx(const CTransaction& tx, CFeeRate dust_relay_rate,
      CAmount base_fee, CAmount mod_fee, TxValidationState& state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:35,1
    - Dst: std::ranges::all_of
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:35,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:42,1
    - Dst: std::unordered_set::contains
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:52,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:56,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:56,1
    - Dst: get
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:59,1
    - Dst: CTransactionRef::vout::size
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:64,1
    - Dst: IsDust
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:66,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:67,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:67,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:72,1
    - Dst: std::unordered_set::empty
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:75,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:82,1
    - Dst: std::unordered_set::empty
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:85,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:86,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:87,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:88,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:89,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:89,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/policy/ephemeral_policy.cpp:89,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - ' package'
    - dust_relay_rate
    - ' tx_pool'
    - ' out_child_state'
    - ' out_child_wtxid'
    argTypes:
    - Package
    - CFeeRate
    - CTxMemPool
    - TxValidationState
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 95
    functionName: CheckEphemeralSpends
    functionSourceFile: /src/bitcoin-core/src/policy/ephemeral_policy.cpp
    functionUses: 4
    functionsReached:
    - std::map::end
    - std::unordered_set::erase
    - CTransactionRef::vout::size
    - std::unordered_set::empty
    - ToString
    - Assume
    - strprintf
    - GetWitnessHash
    - std::unordered_set::contains
    - GetHash
    - COutPoint
    - std::unordered_set::insert
    - get
    - Invalid
    - std::ranges::all_of
    - std::map::find
    - IsDust
    linkageType: ''
    returnType: bool
    signature: bool CheckEphemeralSpends(const Package& package, CFeeRate dust_relay_rate,
      const CTxMemPool& tx_pool, TxValidationState& out_child_state, Wtxid& out_child_wtxid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' nFeePaid'
    - num_bytes
    argTypes:
    - CAmount
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: CFeeRate::CFeeRate
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CFeeRate::CFeeRate(const CAmount& nFeePaid, uint32_t num_bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CAmount>
      Src: /src/bitcoin-core/src/policy/feerate.cpp:29,1
    - Dst: std::ceil
      Src: /src/bitcoin-core/src/policy/feerate.cpp:29,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/policy/feerate.cpp:32,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/policy/feerate.cpp:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: CFeeRate::GetFee
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.cpp
    functionUses: 2
    functionsReached:
    - std::ceil
    - static_cast<CAmount>
    - CAmount
    linkageType: ''
    returnType: CAmount
    signature: CAmount CFeeRate::GetFee(uint32_t num_bytes) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/feerate.cpp:42,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/feerate.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fee_estimate_mode'
    argTypes:
    - FeeEstimateMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: CFeeRate::ToString
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.cpp
    functionUses: 4
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CFeeRate::ToString(const FeeEstimateMode& fee_estimate_mode)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:25,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:28,1
    - Dst: at
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:29,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:33,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:33,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' package'
    - ' ptx'
    argTypes:
    - Package
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 38
    functionName: FindInPackageParents
    functionSourceFile: /src/bitcoin-core/src/policy/truc_policy.cpp
    functionUses: 0
    functionsReached:
    - at
    - GetHash
    - size
    - std::vector::push_back
    - std::set::insert
    - std::set::count
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> FindInPackageParents(const Package& package, const
      CTransactionRef& ptx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ParentInfo
    functionSourceFile: /src/bitcoin-core/src/policy/truc_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParentInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' txid'
    - ' wtxid'
    - version
    - has_mempool_descendant
    argTypes:
    - Txid
    - Wtxid
    - decltype(CTransaction::version)
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ParentInfo
    functionSourceFile: /src/bitcoin-core/src/policy/truc_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParentInfo(const Txid& txid, const Wtxid& wtxid, decltype(CTransaction::version)
      version, bool has_mempool_descendant)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FindInPackageParents
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:66,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:71,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:72,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:73,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:73,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:76,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:76,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:77,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:78,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:78,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:81,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:81,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:85,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:86,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:86,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:92,1
    - Dst: begin
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:93,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:94,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:95,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:96,1
    - Dst: GetCountWithDescendants
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:97,1
    - Dst: auto::front
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:99,1
    - Dst: at
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:100,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:101,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:102,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:110,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:111,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:111,1
    - Dst: auto::m_txid::ToString
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:112,1
    - Dst: auto::m_wtxid::ToString
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:112,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:124,1
    - Dst: auto::m_txid::ToString
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:125,1
    - Dst: auto::m_wtxid::ToString
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:126,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:130,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:131,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:132,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:132,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:138,1
    - Dst: auto::m_txid::ToString
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:139,1
    - Dst: auto::m_wtxid::ToString
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:139,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:145,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:146,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:147,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:147,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:148,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:148,1
    - Dst: at
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:152,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:153,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:154,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:155,1
    - Dst: at
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:156,1
    - Dst: at
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:157,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 4
    argNames:
    - ' ptx'
    - vsize
    - ' package'
    - ' mempool_ancestors'
    argTypes:
    - CTransactionRef
    - int64_t
    - Package
    - CTxMemPool::setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 162
    functionName: PackageTRUCChecks
    functionSourceFile: /src/bitcoin-core/src/policy/truc_policy.cpp
    functionUses: 2
    functionsReached:
    - auto::front
    - auto::size
    - auto::m_txid::ToString
    - Assume
    - GetWitnessHash
    - at
    - GetHash
    - auto::m_wtxid::ToString
    - size
    - GetTx
    - FindInPackageParents
    - strprintf
    - GetSharedTx
    - GetCountWithDescendants
    - begin
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> PackageTRUCChecks(const CTransactionRef&
      ptx, int64_t vsize,\n                                           const Package&
      package,\n                                           const CTxMemPool::setEntries&
      mempool_ancestors)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:171,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:172,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:172,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:173,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:173,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:174,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:174,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:176,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:177,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:177,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:178,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:178,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:179,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:179,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:192,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:192,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:193,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:193,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:198,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:199,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:199,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:200,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:200,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:205,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:208,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:208,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:209,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:209,1
    - Dst: begin
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:214,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:218,1
    - Dst: empty
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:222,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:223,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:223,1
    - Dst: cend
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:223,1
    - Dst: count
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:224,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:224,1
    - Dst: GetCountWithDescendants
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:225,1
    - Dst: GetCountWithDescendants
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:231,1
    - Dst: begin
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:232,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:236,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:236,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:237,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:238,1
    - Dst: begin
      Src: /src/bitcoin-core/src/policy/truc_policy.cpp:239,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - ' ptx'
    - ' mempool_ancestors'
    - ' direct_conflicts'
    - vsize
    argTypes:
    - CTransactionRef
    - CTxMemPool::setEntries
    - std::set<Txid>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 243
    functionName: SingleTRUCChecks
    functionSourceFile: /src/bitcoin-core/src/policy/truc_policy.cpp
    functionUses: 2
    functionsReached:
    - std::make_pair
    - empty
    - GetWitnessHash
    - cbegin
    - cend
    - GetHash
    - size
    - std::any_of
    - count
    - GetTx
    - GetSharedTx
    - strprintf
    - GetMemPoolChildrenConst
    - GetCountWithDescendants
    - begin
    linkageType: ''
    returnType: std::optional<std::pair<std::string, CTransactionRef>>
    signature: "std::optional<std::pair<std::string, CTransactionRef>> SingleTRUCChecks(const
      CTransactionRef& ptx,\n                                          const CTxMemPool::setEntries&
      mempool_ancestors,\n                                          const std::set<Txid>&
      direct_conflicts,\n                                          int64_t vsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: CFeeRate::CFeeRate
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CFeeRate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _nSatoshisPerK
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: CFeeRate::CFeeRate
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CFeeRate(const I _nSatoshisPerK)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: CFeeRate::GetFeePerK
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetFeePerK() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CFeeRate
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: operator<(const CFeeRate& a, const CFeeRate& b)
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CFeeRate& a, const CFeeRate& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CFeeRate
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator>(const CFeeRate& a, const CFeeRate& b)
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const CFeeRate& a, const CFeeRate& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CFeeRate
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: operator==(const CFeeRate& a, const CFeeRate& b)
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CFeeRate& a, const CFeeRate& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CFeeRate
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator<=(const CFeeRate& a, const CFeeRate& b)
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const CFeeRate& a, const CFeeRate& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CFeeRate
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator>=(const CFeeRate& a, const CFeeRate& b)
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const CFeeRate& a, const CFeeRate& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CFeeRate
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: operator!=(const CFeeRate& a, const CFeeRate& b)
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CFeeRate& a, const CFeeRate& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator+=(const CFeeRate& a)'
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate & operator+=(const CFeeRate& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/feerate.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - a
    argTypes:
    - CFeeRate
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator*(const CFeeRate& f, int a)
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached:
    - CFeeRate
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate operator*(const CFeeRate& f, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/policy/feerate.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - ' f'
    argTypes:
    - int
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: operator*(int a, const CFeeRate& f)
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached:
    - CFeeRate
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate operator*(int a, const CFeeRate& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/policy/feerate.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: CFeeRate::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/policy/feerate.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CFeeRate, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: CBlockPolicyEstimator::TxStatsInfo
    functionSourceFile: /src/bitcoin-core/src/policy/fees.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxStatsInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/policy/fees_args.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: FeeestPath
    functionSourceFile: /src/bitcoin-core/src/policy/fees_args.cpp
    functionUses: 1
    functionsReached:
    - GetDataDirNet
    linkageType: ''
    returnType: fs::path
    signature: fs::path FeeestPath(const ArgsManager& argsman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/policy/policy.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: GetVirtualTransactionSize
    functionSourceFile: /src/bitcoin-core/src/policy/policy.h
    functionUses: 1
    functionsReached:
    - GetVirtualTransactionSize
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetVirtualTransactionSize(const CTransaction& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVirtualTransactionInputSize
      Src: /src/bitcoin-core/src/policy/policy.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: GetVirtualTransactionInputSize
    functionSourceFile: /src/bitcoin-core/src/policy/policy.h
    functionUses: 1
    functionsReached:
    - GetVirtualTransactionInputSize
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetVirtualTransactionInputSize(const CTxIn& tx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/policy/packages.cpp:22,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/packages.cpp:22,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/packages.cpp:22,1
    - Dst: find
      Src: /src/bitcoin-core/src/policy/packages.cpp:29,1
    - Dst: end
      Src: /src/bitcoin-core/src/policy/packages.cpp:29,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/policy/packages.cpp:35,1
    - Dst: erase
      Src: /src/bitcoin-core/src/policy/packages.cpp:35,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/packages.cpp:35,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/policy/packages.cpp:39,1
    - Dst: empty
      Src: /src/bitcoin-core/src/policy/packages.cpp:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' txns'
    - ' later_txids'
    argTypes:
    - Package
    - std::unordered_set<uint256, SaltedTxidHasher>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: IsTopoSortedPackage
    functionSourceFile: /src/bitcoin-core/src/policy/packages.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - Assume
    - empty
    - GetHash
    - size
    - find
    linkageType: ''
    returnType: bool
    signature: bool IsTopoSortedPackage(const Package& txns, std::unordered_set<uint256,
      SaltedTxidHasher>& later_txids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/bitcoin-core/src/policy/packages.cpp:46,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:46,1
    - Dst: cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:46,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/policy/packages.cpp:46,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/policy/packages.cpp:46,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/packages.cpp:47,1
    - Dst: IsTopoSortedPackage
      Src: /src/bitcoin-core/src/policy/packages.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' txns'
    argTypes:
    - Package
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: IsTopoSortedPackage
    functionSourceFile: /src/bitcoin-core/src/policy/packages.cpp
    functionUses: 1
    functionsReached:
    - std::unordered_set::end
    - std::inserter
    - cend
    - std::transform
    - GetHash
    - IsTopoSortedPackage
    - cbegin
    linkageType: ''
    returnType: bool
    signature: bool IsTopoSortedPackage(const Package& txns)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vin::empty
      Src: /src/bitcoin-core/src/policy/packages.cpp:57,1
    - Dst: std::unordered_set::find
      Src: /src/bitcoin-core/src/policy/packages.cpp:65,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/policy/packages.cpp:65,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/policy/packages.cpp:73,1
    - Dst: vin::cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:73,1
    - Dst: vin::cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:73,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/policy/packages.cpp:73,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/policy/packages.cpp:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' txns'
    argTypes:
    - Package
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 77
    functionName: IsConsistentPackage
    functionSourceFile: /src/bitcoin-core/src/policy/packages.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::end
    - vin::empty
    - std::unordered_set::find
    - vin::cend
    - std::inserter
    - std::transform
    - vin::cbegin
    linkageType: ''
    returnType: bool
    signature: bool IsConsistentPackage(const Package& txns)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/policy/packages.cpp:81,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/policy/packages.cpp:84,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/policy/packages.cpp:87,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:87,1
    - Dst: cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:87,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/policy/packages.cpp:88,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/policy/packages.cpp:91,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/policy/packages.cpp:95,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:95,1
    - Dst: cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:95,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/policy/packages.cpp:95,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/policy/packages.cpp:95,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/packages.cpp:96,1
    - Dst: std::unordered_set::size
      Src: /src/bitcoin-core/src/policy/packages.cpp:100,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/packages.cpp:100,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/policy/packages.cpp:101,1
    - Dst: IsTopoSortedPackage
      Src: /src/bitcoin-core/src/policy/packages.cpp:108,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/policy/packages.cpp:109,1
    - Dst: IsConsistentPackage
      Src: /src/bitcoin-core/src/policy/packages.cpp:113,1
    - Dst: Invalid
      Src: /src/bitcoin-core/src/policy/packages.cpp:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - ' txns'
    - ' state'
    - require_sorted
    argTypes:
    - Package
    - PackageValidationState
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 117
    functionName: IsWellFormedPackage
    functionSourceFile: /src/bitcoin-core/src/policy/packages.cpp
    functionUses: 3
    functionsReached:
    - std::unordered_set::end
    - std::unordered_set::size
    - std::inserter
    - std::accumulate
    - IsConsistentPackage
    - cend
    - std::transform
    - GetHash
    - size
    - IsTopoSortedPackage
    - GetTransactionWeight
    - Invalid
    - cbegin
    linkageType: ''
    returnType: bool
    signature: bool IsWellFormedPackage(const Package& txns, PackageValidationState&
      state, bool require_sorted)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/policy/packages.cpp:121,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/policy/packages.cpp:121,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:121,1
    - Dst: cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:121,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/packages.cpp:122,1
    - Dst: back
      Src: /src/bitcoin-core/src/policy/packages.cpp:125,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/policy/packages.cpp:127,1
    - Dst: vin::cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:127,1
    - Dst: vin::cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:127,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/policy/packages.cpp:128,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/policy/packages.cpp:128,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/policy/packages.cpp:132,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:132,1
    - Dst: cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:132,1
    - Dst: std::unordered_set::count
      Src: /src/bitcoin-core/src/policy/packages.cpp:133,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/packages.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' package'
    argTypes:
    - Package
    assertStmts:
    - condition: (std::all_of(package.cbegin(), package.cend(), [](const auto& tx){return
        tx != nullptr;}))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/bitcoin-core/src/policy/packages.cpp
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: IsChildWithParents
    functionSourceFile: /src/bitcoin-core/src/policy/packages.cpp
    functionUses: 3
    functionsReached:
    - std::unordered_set::end
    - vin::cend
    - std::inserter
    - std::unordered_set::count
    - cend
    - back
    - std::transform
    - size
    - GetHash
    - vin::cbegin
    - assert
    - cbegin
    - std::all_of
    linkageType: ''
    returnType: bool
    signature: bool IsChildWithParents(const Package& package)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/policy/packages.cpp:138,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/policy/packages.cpp:140,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:140,1
    - Dst: cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:140,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/policy/packages.cpp:140,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/policy/packages.cpp:140,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/policy/packages.cpp:141,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/policy/packages.cpp:143,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:143,1
    - Dst: cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:143,1
    - Dst: std::unordered_set::count
      Src: /src/bitcoin-core/src/policy/packages.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' package'
    argTypes:
    - Package
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: IsChildWithParentsTree
    functionSourceFile: /src/bitcoin-core/src/policy/packages.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::end
    - std::inserter
    - IsChildWithParents
    - std::unordered_set::count
    - cend
    - std::transform
    - GetHash
    - cbegin
    - std::all_of
    linkageType: ''
    returnType: bool
    signature: bool IsChildWithParentsTree(const Package& package)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/bitcoin-core/src/policy/packages.cpp:155,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/policy/packages.cpp:155,1
    - Dst: cend
      Src: /src/bitcoin-core/src/policy/packages.cpp:155,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/policy/packages.cpp:155,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/policy/packages.cpp:156,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/policy/packages.cpp:159,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/policy/packages.cpp:159,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/policy/packages.cpp:159,1
    - Dst: std::lexicographical_compare
      Src: /src/bitcoin-core/src/policy/packages.cpp:160,1
    - Dst: std::make_reverse_iterator
      Src: /src/bitcoin-core/src/policy/packages.cpp:160,1
    - Dst: end
      Src: /src/bitcoin-core/src/policy/packages.cpp:160,1
    - Dst: std::make_reverse_iterator
      Src: /src/bitcoin-core/src/policy/packages.cpp:160,1
    - Dst: begin
      Src: /src/bitcoin-core/src/policy/packages.cpp:160,1
    - Dst: std::make_reverse_iterator
      Src: /src/bitcoin-core/src/policy/packages.cpp:161,1
    - Dst: end
      Src: /src/bitcoin-core/src/policy/packages.cpp:161,1
    - Dst: std::make_reverse_iterator
      Src: /src/bitcoin-core/src/policy/packages.cpp:161,1
    - Dst: begin
      Src: /src/bitcoin-core/src/policy/packages.cpp:161,1
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/policy/packages.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' transactions'
    argTypes:
    - std::vector<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: GetPackageHash
    functionSourceFile: /src/bitcoin-core/src/policy/packages.cpp
    functionUses: 4
    functionsReached:
    - end
    - std::vector::end
    - std::back_inserter
    - GetWitnessHash
    - begin
    - cend
    - std::transform
    - std::vector::begin
    - std::lexicographical_compare
    - HashWriter::GetSHA256
    - std::sort
    - cbegin
    - std::make_reverse_iterator
    linkageType: ''
    returnType: uint256
    signature: uint256 GetPackageHash(const std::vector<CTransactionRef>& transactions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/policy/policy.cpp:42,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/policy/policy.cpp:45,1
    - Dst: scriptPubKey::IsWitnessProgram
      Src: /src/bitcoin-core/src/policy/policy.cpp:54,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/policy/policy.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' txout'
    - ' dustRelayFeeIn'
    argTypes:
    - CTxOut
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 63
    functionName: GetDustThreshold
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 0
    functionsReached:
    - scriptPubKey::IsUnspendable
    - GetSerializeSize
    - GetFee
    - scriptPubKey::IsWitnessProgram
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetDustThreshold(const CTxOut& txout, const CFeeRate& dustRelayFeeIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDustThreshold
      Src: /src/bitcoin-core/src/policy/policy.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' txout'
    - ' dustRelayFeeIn'
    argTypes:
    - CTxOut
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: IsDust
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 1
    functionsReached:
    - GetDustThreshold
    linkageType: ''
    returnType: bool
    signature: bool IsDust(const CTxOut& txout, const CFeeRate& dustRelayFeeIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vout::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:73,1
    - Dst: IsDust
      Src: /src/bitcoin-core/src/policy/policy.cpp:74,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/policy/policy.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' tx'
    - dust_relay_rate
    argTypes:
    - CTransaction
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: GetDust
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - IsDust
    - vout::size
    linkageType: ''
    returnType: std::vector<uint32_t>
    signature: std::vector<uint32_t> GetDust(const CTransaction& tx, CFeeRate dust_relay_rate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/policy/policy.cpp:82,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/policy/policy.cpp:87,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/policy/policy.cpp:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' scriptPubKey'
    - ' whichType'
    argTypes:
    - CScript
    - TxoutType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: IsStandard
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 0
    functionsReached:
    - Solver
    - std::vector::front
    - std::vector::back
    linkageType: ''
    returnType: bool
    signature: bool IsStandard(const CScript& scriptPubKey, TxoutType& whichType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/policy/policy.cpp:110,1
    - Dst: scriptSig::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:126,1
    - Dst: scriptSig::IsPushOnly
      Src: /src/bitcoin-core/src/policy/policy.cpp:130,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/policy/policy.cpp:136,1
    - Dst: IsStandard
      Src: /src/bitcoin-core/src/policy/policy.cpp:139,1
    - Dst: scriptPubKey::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:145,1
    - Dst: GetDust
      Src: /src/bitcoin-core/src/policy/policy.cpp:158,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - ' tx'
    - ' max_datacarrier_bytes'
    - permit_bare_multisig
    - ' dust_relay_fee'
    - ' reason'
    argTypes:
    - CTransaction
    - std::optional<unsigned>
    - bool
    - CFeeRate
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 164
    functionName: IsStandardTx
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 2
    functionsReached:
    - IsStandard
    - GetDust
    - scriptSig::IsPushOnly
    - GetTransactionWeight
    - scriptPubKey::size
    - value_or
    - scriptSig::size
    linkageType: ''
    returnType: bool
    signature: bool IsStandardTx(const CTransaction& tx, const std::optional<unsigned>&
      max_datacarrier_bytes, bool permit_bare_multisig, const CFeeRate& dust_relay_fee,
      std::string& reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/policy/policy.cpp:171,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/policy/policy.cpp:171,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/policy/policy.cpp:175,1
    - Dst: scriptSig::GetSigOpCount
      Src: /src/bitcoin-core/src/policy/policy.cpp:184,1
    - Dst: scriptPubKey::GetSigOpCount
      Src: /src/bitcoin-core/src/policy/policy.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' tx'
    - ' inputs'
    argTypes:
    - CTransaction
    - CCoinsViewCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 193
    functionName: CheckSigopsBIP54
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 0
    functionsReached:
    - AccessCoin
    - scriptPubKey::GetSigOpCount
    - Assert
    - scriptSig::GetSigOpCount
    - IsCoinBase
    linkageType: ''
    returnType: bool
    signature: bool CheckSigopsBIP54(const CTransaction& tx, const CCoinsViewCache&
      inputs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/policy/policy.cpp:215,1
    - Dst: CheckSigopsBIP54
      Src: /src/bitcoin-core/src/policy/policy.cpp:219,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:223,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/policy/policy.cpp:224,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/policy/policy.cpp:227,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/policy/policy.cpp:237,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/policy/policy.cpp:237,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/policy/policy.cpp:239,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/policy/policy.cpp:241,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/policy/policy.cpp:241,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/policy/policy.cpp:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - ' tx'
    - ' mapInputs'
    argTypes:
    - CTransaction
    - CCoinsViewCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 249
    functionName: AreInputsStandard
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 2
    functionsReached:
    - BaseSignatureChecker
    - AccessCoin
    - std::vector::back
    - IsCoinBase
    - EvalScript
    - CScript::GetSigOpCount
    - Solver
    - std::vector::empty
    - CheckSigopsBIP54
    - vin::size
    linkageType: ''
    returnType: bool
    signature: bool AreInputsStandard(const CTransaction& tx, const CCoinsViewCache&
      mapInputs)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/policy/policy.cpp:253,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:256,1
    - Dst: scriptWitness::IsNull
      Src: /src/bitcoin-core/src/policy/policy.cpp:260,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/policy/policy.cpp:263,1
    - Dst: CScript::IsPayToAnchor
      Src: /src/bitcoin-core/src/policy/policy.cpp:269,1
    - Dst: CScript::IsPayToScriptHash
      Src: /src/bitcoin-core/src/policy/policy.cpp:274,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/policy/policy.cpp:279,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/policy/policy.cpp:279,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/policy/policy.cpp:281,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/policy/policy.cpp:283,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/policy/policy.cpp:283,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/policy/policy.cpp:283,1
    - Dst: CScript::IsWitnessProgram
      Src: /src/bitcoin-core/src/policy/policy.cpp:291,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:295,1
    - Dst: scriptWitness::stack::back
      Src: /src/bitcoin-core/src/policy/policy.cpp:296,1
    - Dst: scriptWitness::stack::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:298,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/policy.cpp:302,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:310,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:313,1
    - Dst: std::span::back
      Src: /src/bitcoin-core/src/policy/policy.cpp:313,1
    - Dst: std::span::back
      Src: /src/bitcoin-core/src/policy/policy.cpp:313,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:317,1
    - Dst: SpanPopBack
      Src: /src/bitcoin-core/src/policy/policy.cpp:319,1
    - Dst: SpanPopBack
      Src: /src/bitcoin-core/src/policy/policy.cpp:320,1
    - Dst: empty
      Src: /src/bitcoin-core/src/policy/policy.cpp:321,1
    - Dst: size
      Src: /src/bitcoin-core/src/policy/policy.cpp:325,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/policy/policy.cpp:328,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 50
    argCount: 2
    argNames:
    - ' tx'
    - ' mapInputs'
    argTypes:
    - CTransaction
    - CCoinsViewCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 338
    functionName: IsWitnessStandard
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 2
    functionsReached:
    - BaseSignatureChecker
    - scriptWitness::stack::back
    - std::span::back
    - scriptWitness::stack::size
    - std::span::size
    - std::vector::back
    - SpanPopBack
    - CScript::IsPayToScriptHash
    - std::vector::empty
    - std::vector::size
    - EvalScript
    - empty
    - AccessCoin
    - scriptWitness::IsNull
    - vin::size
    - CScript::IsPayToAnchor
    - size
    - IsCoinBase
    - CScript
    - CScript::IsWitnessProgram
    linkageType: ''
    returnType: bool
    signature: bool IsWitnessStandard(const CTransaction& tx, const CCoinsViewCache&
      mapInputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/policy/policy.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nWeight
    - nSigOpCost
    - bytes_per_sigop
    argTypes:
    - int64_t
    - int64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: GetVirtualTransactionSize
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 1
    functionsReached:
    - std::max
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetVirtualTransactionSize(int64_t nWeight, int64_t nSigOpCost,
      unsigned int bytes_per_sigop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/policy/policy.cpp:347,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/policy/policy.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tx'
    - nSigOpCost
    - bytes_per_sigop
    argTypes:
    - CTransaction
    - int64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: GetVirtualTransactionSize
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 2
    functionsReached:
    - GetTransactionWeight
    - GetVirtualTransactionSize
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetVirtualTransactionSize(const CTransaction& tx, int64_t nSigOpCost,
      unsigned int bytes_per_sigop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/policy/policy.cpp:352,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/policy/policy.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' txin'
    - nSigOpCost
    - bytes_per_sigop
    argTypes:
    - CTxIn
    - int64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: GetVirtualTransactionInputSize
    functionSourceFile: /src/bitcoin-core/src/policy/policy.cpp
    functionUses: 1
    functionsReached:
    - GetTransactionInputWeight
    - GetVirtualTransactionSize
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetVirtualTransactionInputSize(const CTxIn& txin, int64_t nSigOpCost,
      unsigned int bytes_per_sigop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:34,1
    - Dst: ComputeFilter
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:35,1
    - Dst: GetFilterType
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:35,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:36,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:40,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:45,1
    - Dst: LookupFilter
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:45,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:46,1
    - Dst: LookupFilterHeader
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:46,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:47,1
    - Dst: LookupFilterRange
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:48,1
    - Dst: LookupFilterHashRange
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:48,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:51,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:52,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:54,1
    - Dst: BlockFilter::GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:54,1
    - Dst: BlockFilter::GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:55,1
    - Dst: BlockFilter::ComputeHeader
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:56,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:56,1
    - Dst: BlockFilter::GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:57,1
    - Dst: BlockFilter::GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:57,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:59,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - ' filter_index'
    - block_index
    - ' last_header'
    - ' blockman'
    argTypes:
    - BlockFilterIndex
    - CBlockIndex*
    - uint256
    - BlockManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: CheckFilterLookups
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp
    functionUses: 0
    functionsReached:
    - BlockFilter::GetHash
    - LookupFilterHashRange
    - GetHash
    - LookupFilter
    - LookupFilterHeader
    - BOOST_CHECK
    - BOOST_ERROR
    - BOOST_CHECK_EQUAL
    - std::vector::clear
    - BlockFilter::ComputeHeader
    - LookupFilterRange
    - BlockFilter::BlockFilter
    - GetFilterType
    - uint256::uint256
    - ComputeFilter
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: "bool CheckFilterLookups(BlockFilterIndex& filter_index, const CBlockIndex*
      block_index,\n                               uint256& last_header, const BlockManager&
      blockman)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:71,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:71,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:71,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:73,1
    - Dst: vtx::resize
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:77,1
    - Dst: vtx::push_back
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:79,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:79,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:82,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:83,1
    - Dst: CMutableTransaction::vin::at
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:84,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:85,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:85,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:85,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:86,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:89,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:89,1
    - Dst: chainman::GetConsensus
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - prev
    - ' txns'
    - ' scriptPubKey'
    argTypes:
    - CBlockIndex*
    - std::vector<CMutableTransaction>
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 92
    functionName: BuildChainTestingSetup::CreateBlock
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - vtx::at
    - CreateNewBlock
    - vtx::resize
    - static_cast<uint32_t>
    - chainman::ActiveChainstate
    - MakeTransactionRef
    - CMutableTransaction::vin::at
    - std::move
    - GetHash
    - chainman::GetConsensus
    - CBlockIndex*::GetBlockHash
    - BlockMerkleRoot
    - mempool::get
    - vtx::push_back
    linkageType: ''
    returnType: CBlock
    signature: "CBlock BuildChainTestingSetup::CreateBlock(const CBlockIndex* prev,\n
      \   const std::vector<CMutableTransaction>& txns,\n    const CScript& scriptPubKey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:101,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:103,1
    - Dst: BuildChainTestingSetup::CreateBlock
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:103,1
    - Dst: GetBlockHeader
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:104,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pindex
    - ' coinbase_script_pub_key'
    - length
    - ' chain'
    argTypes:
    - CBlockIndex*
    - CScript
    - size_t
    - std::vector<std::shared_ptr<CBlock>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: BuildChainTestingSetup::BuildChain
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<CBlock>
    - Assert
    - BuildChainTestingSetup::CreateBlock
    - GetBlockHeader
    - resize
    linkageType: ''
    returnType: bool
    signature: "bool BuildChainTestingSetup::BuildChain(const CBlockIndex* pindex,\n
      \   const CScript& coinbase_script_pub_key,\n    size_t length,\n    std::vector<std::shared_ptr<CBlock>>&
      chain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:117,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:118,1
    - Dst: BlockFilterIndex::Init
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:118,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:120,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:124,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:126,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:127,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:131,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:134,1
    - Dst: BlockFilterIndex::LookupFilter
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:134,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:135,1
    - Dst: BlockFilterIndex::LookupFilterHeader
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:135,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:136,1
    - Dst: BlockFilterIndex::LookupFilterRange
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:137,1
    - Dst: BlockFilterIndex::LookupFilterHashRange
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:143,1
    - Dst: BlockFilterIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:143,1
    - Dst: BlockFilterIndex::Sync
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:145,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:149,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:151,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:153,1
    - Dst: CheckFilterLookups
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:154,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:161,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:162,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:164,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:165,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:166,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:166,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:166,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:167,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:167,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:167,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:169,1
    - Dst: BuildChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:169,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:170,1
    - Dst: BuildChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:170,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:176,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:176,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:182,1
    - Dst: chainman::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:183,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:183,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:186,1
    - Dst: BlockFilterIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:186,1
    - Dst: CheckFilterLookups
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:187,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:194,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:194,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:200,1
    - Dst: chainman::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:201,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:204,1
    - Dst: BlockFilterIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:204,1
    - Dst: CheckFilterLookups
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:205,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:214,1
    - Dst: chainman::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:215,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:215,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:218,1
    - Dst: BlockFilterIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:218,1
    - Dst: CheckFilterLookups
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:219,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:225,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:225,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:235,1
    - Dst: chainman::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:236,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:236,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:238,1
    - Dst: BlockFilterIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:238,1
    - Dst: CheckFilterLookups
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:239,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:242,1
    - Dst: chainman::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:243,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:243,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:245,1
    - Dst: BlockFilterIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:245,1
    - Dst: CheckFilterLookups
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:246,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:254,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:255,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:257,1
    - Dst: BlockFilterIndex::LookupFilterRange
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:257,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:258,1
    - Dst: BlockFilterIndex::LookupFilterHashRange
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:258,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:260,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:261,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:261,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:262,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:262,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:264,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:265,1
    - Dst: BlockFilterIndex::Interrupt
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:267,1
    - Dst: BlockFilterIndex::Stop
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tip->nHeight >= 0)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp
    constantsTouched: []
    func_position:
      end: 269
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 269
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - GetHash
    - BOOST_CHECK_EQUAL
    - BlockFilterIndex::LookupFilterRange
    - BlockFilterIndex::Stop
    - chainman::ActiveChain
    - GenerateRandomKey
    - BOOST_CHECK
    - BOOST_REQUIRE
    - BlockFilterIndex::Sync
    - chainman::m_blockman::LookupBlockIndex
    - BlockFilterIndex::LookupFilter
    - BuildChain
    - PKHash
    - std::vector::size
    - BlockFilterIndex::LookupFilterHeader
    - BlockFilterIndex::Init
    - BlockFilterIndex::Interrupt
    - CheckFilterLookups
    - Assert
    - std::vector::clear
    - BlockFilter::BlockFilter
    - CKey::GetPubKey
    - assert
    - uint256::uint256
    - interfaces::MakeChain
    - BlockFilterIndex::BlockUntilSyncedToCurrentChain
    - LOCK
    - BlockFilterIndex::LookupFilterHashRange
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(blockfilter_index_initial_sync, BuildChainTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:275,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:276,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:278,1
    - Dst: InitBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:278,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:278,1
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:280,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:281,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:282,1
    - Dst: BlockFilterIndex*::GetFilterType
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:282,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:285,1
    - Dst: InitBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:285,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:285,1
    - Dst: ForEachBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:288,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:289,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:291,1
    - Dst: DestroyBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:291,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:294,1
    - Dst: DestroyBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:294,1
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:296,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:297,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:300,1
    - Dst: InitBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:300,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:300,1
    - Dst: DestroyAllBlockFilterIndexes
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:302,1
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:304,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 306
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_index_tests.cpp
    functionUses: 0
    functionsReached:
    - DestroyBlockFilterIndex
    - DestroyAllBlockFilterIndexes
    - interfaces::MakeChain
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - InitBlockFilterIndex
    - BlockFilterIndex*::GetFilterType
    - GetBlockFilterIndex
    - ForEachBlockFilterIndex
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(blockfilter_index_init_destroy, BasicTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:20,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:20,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:22,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:24,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:25,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:25,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:25,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:25,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:26,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:26,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:29,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:29,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:29,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:30,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:32,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:33,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:33,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:33,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:33,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:34,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:34,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:34,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:37,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:37,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:37,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:37,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:38,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:38,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:41,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:41,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:41,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:41,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:42,1
    - Dst: GetBlockTimeMax
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:42,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:45,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:45,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:45,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:46,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:46,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:49,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:50,1
    - Dst: Height
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:50,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:51,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:51,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:51,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:51,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:53,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:54,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:56,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:56,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:56,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:56,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:56,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:57,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:60,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:60,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 61
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/interfaces_tests.cpp
    functionUses: 0
    functionsReached:
    - GetBlockTime
    - CBlock::GetHash
    - GetMedianTimePast
    - Height
    - FoundBlock
    - GetBlockTimeMax
    - BOOST_CHECK
    - LOCK
    - GetBlockHash
    - Assert
    - BOOST_CHECK_EQUAL
    - CBlock::CBlock
    - uint256::uint256
    - findBlock
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(findBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:65,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:65,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:67,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:70,1
    - Dst: findFirstBlockWithTimeAndHeight
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:70,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:71,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:73,1
    - Dst: findFirstBlockWithTimeAndHeight
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:73,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/interfaces_tests.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - FoundBlock
    - findFirstBlockWithTimeAndHeight
    - BOOST_CHECK
    - LOCK
    - BOOST_CHECK_EQUAL
    - Assert
    - uint256::uint256
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(findFirstBlockWithTimeAndHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:78,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:78,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:80,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:82,1
    - Dst: findAncestorByHeight
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:82,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:82,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:82,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:83,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:83,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:84,1
    - Dst: findAncestorByHeight
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:84,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/interfaces_tests.cpp
    functionUses: 0
    functionsReached:
    - FoundBlock
    - BOOST_CHECK
    - LOCK
    - BOOST_CHECK_EQUAL
    - Assert
    - findAncestorByHeight
    - uint256::uint256
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(findAncestorByHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:89,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:89,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:93,1
    - Dst: findAncestorByHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:93,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:93,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:93,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:95,1
    - Dst: findAncestorByHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:95,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:95,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/interfaces_tests.cpp
    functionUses: 0
    functionsReached:
    - FoundBlock
    - findAncestorByHash
    - BOOST_CHECK
    - LOCK
    - BOOST_CHECK_EQUAL
    - Assert
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(findAncestorByHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:101,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:101,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:101,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:102,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:105,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:105,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:107,1
    - Dst: Height
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:107,1
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:108,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:110,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:110,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:110,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:112,1
    - Dst: Height
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:112,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:113,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:116,1
    - Dst: findCommonAncestor
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:116,1
    - Dst: auto*::GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:116,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:116,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:116,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:116,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:117,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:118,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:119,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:119,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:122,1
    - Dst: findCommonAncestor
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:122,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:122,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:122,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:123,1
    - Dst: findCommonAncestor
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:123,1
    - Dst: auto*::GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:123,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:123,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:124,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:124,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:125,1
    - Dst: auto*::GetBlockHash
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 126
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/interfaces_tests.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - findCommonAncestor
    - uint256::uint256
    - Height
    - chainman::ActiveChainstate
    - WITH_LOCK
    - GetScriptForRawPubKey
    - auto*::GetBlockHash
    - FoundBlock
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - MakeNewKey
    - Assert
    - GetBlockHash
    - GetPubKey
    - CreateAndProcessBlock
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(findCommonAncestor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:130,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:132,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:135,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:135,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:135,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:136,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:136,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:137,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:137,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:138,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:138,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:138,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:139,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:139,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:141,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:141,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:141,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:142,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:142,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:142,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:143,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:143,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:143,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:144,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:144,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:144,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:145,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:145,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:145,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:147,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:147,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:147,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:148,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:148,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:148,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:149,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:149,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:149,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:150,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:150,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:151,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:151,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:153,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:153,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:153,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:154,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:154,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:154,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:155,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:155,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:156,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:156,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:157,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:157,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:157,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:160,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:160,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:161,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:161,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:161,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:162,1
    - Dst: hasBlocks
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:162,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/interfaces_tests.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 163
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/interfaces_tests.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - hasBlocks
    - BOOST_CHECK
    - LOCK
    - Assert
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(hasBlocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bech32::Decode
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:27,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:28,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:29,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:30,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:30,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:31,1
    - Dst: CaseInsensitiveEqual
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 33
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bech32_tests.cpp
    functionUses: 0
    functionsReached:
    - CaseInsensitiveEqual
    - std::string::empty
    - BOOST_CHECK
    - bech32::Encode
    - bech32::Decode
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bech32_testvectors_valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bech32::Decode
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:48,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:49,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:50,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:50,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:51,1
    - Dst: CaseInsensitiveEqual
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bech32_tests.cpp
    functionUses: 0
    functionsReached:
    - CaseInsensitiveEqual
    - std::string::empty
    - BOOST_CHECK
    - bech32::Encode
    - bech32::Decode
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bech32m_testvectors_valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:93,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:93,1
    - Dst: bech32::Decode
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:99,1
    - Dst: bech32::LocateErrors
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:100,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:101,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 105
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bech32_tests.cpp
    functionUses: 0
    functionsReached:
    - bech32::LocateErrors
    - size
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - bech32::Decode
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bech32_testvectors_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:145,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:145,1
    - Dst: bech32::Decode
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:151,1
    - Dst: bech32::LocateErrors
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:152,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:153,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bech32_tests.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 157
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bech32_tests.cpp
    functionUses: 0
    functionsReached:
    - bech32::LocateErrors
    - size
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - bech32::Decode
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bech32m_testvectors_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - delay_in
    - op_in
    - data_in
    - error_in
    argTypes:
    - std::chrono::milliseconds
    - Op
    - std::vector<uint8_t>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: TestOp
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestOp(std::chrono::milliseconds delay_in, Op op_in, const std::vector<uint8_t>
      &data_in, int error_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:45,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:46,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:47,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:48,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:49,1
    - Dst: htonl
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:56,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: PCPTestingSetup::PCPTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr
    - Lookup
    - BOOST_REQUIRE
    - htonl
    linkageType: ''
    returnType: void
    signature: "void PCPTestingSetup(const ChainType chainType = ChainType::MAIN,\n
      \                            TestOpts opts = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::ClearMockTime
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ~PCPTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::ClearMockTime
    linkageType: ''
    returnType: void
    signature: void ~PCPTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPTestSock::ElapseTime
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:92,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:92,1
    - Dst: PCPTestSock::PrepareOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - local_ip
    - gateway_ip
    - script
    argTypes:
    - CNetAddr
    - CNetAddr
    - std::vector<TestOp>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: PCPTestSock::PCPTestSock
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - PCPTestSock::ElapseTime
    - PCPTestSock::PrepareOp
    linkageType: ''
    returnType: void
    signature: void PCPTestSock(const CNetAddr &local_ip, const CNetAddr &gateway_ip,
      const std::vector<TestOp> &script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Sock
    assertStmts:
    - condition: (false && "Move of Sock into PCPTestSock not allowed.")
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bitcoin-core/src/test/pcp_tests.cpp
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: '& operator=(Sock&& other) override'
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: PCPTestSock
    signature: PCPTestSock & operator=(Sock&& other) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::span
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:104,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:104,1
    - Dst: PCPTestSock::AtEndOfScript
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:105,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:105,1
    - Dst: PCPTestSock::FailScript
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:107,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:110,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:111,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:111,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:111,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:111,1
    - Dst: PCPTestSock::AdvanceOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:112,1
    - Dst: PCPTestSock::FailScript
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: PCPTestSock::Send
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - empty
    - PCPTestSock::AtEndOfScript
    - CurOp
    - PCPTestSock::FailScript
    - static_cast<const uint8_t*>
    - PCPTestSock::AdvanceOp
    - std::span
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Send(const void* data, size_t len, int) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPTestSock::AtEndOfScript
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:122,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:122,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:125,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:126,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:127,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:127,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:128,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:128,1
    - Dst: PCPTestSock::AdvanceOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: PCPTestSock::Recv
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - auto::size
    - PCPTestSock::AtEndOfScript
    - auto::data
    - CurOp
    - PCPTestSock::AdvanceOp
    - std::min
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Recv(void* buf, size_t len, int flags) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:136,1
    - Dst: CService::SetSockAddr
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:137,1
    - Dst: CService
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:137,1
    - Dst: IsBindAny
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:138,1
    - Dst: CService
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:139,1
    - Dst: GetPort
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:141,1
    - Dst: CService
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - sa
    - sa_len
    argTypes:
    - sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: PCPTestSock::Connect
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - CService::CService
    - CService::SetSockAddr
    - IsBindAny
    - GetPort
    - CService
    linkageType: ''
    returnType: int
    signature: int Connect(const sockaddr* sa, socklen_t sa_len) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:151,1
    - Dst: CService::SetSockAddr
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:152,1
    - Dst: CService::IsBindAny
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - sa
    - sa_len
    argTypes:
    - sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: PCPTestSock::Bind
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - CService::CService
    - CService::SetSockAddr
    - CService::IsBindAny
    linkageType: ''
    returnType: int
    signature: int Bind(const sockaddr* sa, socklen_t sa_len) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: PCPTestSock::Listen
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Listen(int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - addr_len
    argTypes:
    - sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: PCPTestSock::Accept
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> Accept(sockaddr* addr, socklen_t* addr_len) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - level
    - opt_name
    - opt_val
    - opt_len
    argTypes:
    - int
    - int
    - void*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: PCPTestSock::GetSockOpt
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetSockOpt(int level, int opt_name, void* opt_val, socklen_t* opt_len)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: PCPTestSock::SetSockOpt
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SetSockOpt(int, int, const void*, socklen_t) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSockAddr
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - name_len
    argTypes:
    - sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: PCPTestSock::GetSockName
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - GetSockAddr
    linkageType: ''
    returnType: int
    signature: int GetSockName(sockaddr* name, socklen_t* name_len) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: PCPTestSock::SetNonBlocking
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetNonBlocking() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: PCPTestSock::IsSelectable
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSelectable() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPTestSock::AtEndOfScript
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:192,1
    - Dst: PCPTestSock::ElapseTime
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:193,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:195,1
    - Dst: PCPTestSock::ElapseTime
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:196,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:198,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:201,1
    - Dst: PCPTestSock::AdvanceOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - timeout
    - requested
    argTypes:
    - std::chrono::milliseconds
    - Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 207
    functionName: PCPTestSock::Wait
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - PCPTestSock::AtEndOfScript
    - CurOp
    - PCPTestSock::AdvanceOp
    - PCPTestSock::ElapseTime
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool Wait(std::chrono::milliseconds timeout,\n              Event
      requested,\n              Event* occurred = nullptr) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - timeout
    - ' events_per_sock'
    argTypes:
    - std::chrono::milliseconds
    - EventsPerSock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: PCPTestSock::WaitMany
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WaitMany(std::chrono::milliseconds timeout, EventsPerSock& events_per_sock)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: PCPTestSock::IsConnected
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsConnected(std::string&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::SetMockTime
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: PCPTestSock::ElapseTime
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 2
    functionsReached:
    - MockableSteadyClock::SetMockTime
    linkageType: ''
    returnType: void
    signature: void ElapseTime(std::chrono::milliseconds duration) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: PCPTestSock::AtEndOfScript
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool AtEndOfScript() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:237,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '&CurOp() const'
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_REQUIRE
    - size
    linkageType: ''
    returnType: TestOp
    signature: TestOp &CurOp() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPTestSock::AtEndOfScript
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:242,1
    - Dst: CurOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: PCPTestSock::PrepareOp
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 1
    functionsReached:
    - PCPTestSock::AtEndOfScript
    - CurOp
    linkageType: ''
    returnType: void
    signature: void PrepareOp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPTestSock::PrepareOp
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: PCPTestSock::AdvanceOp
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 3
    functionsReached:
    - PCPTestSock::PrepareOp
    linkageType: ''
    returnType: void
    signature: void AdvanceOp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: PCPTestSock::FailScript
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void FailScript() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:294,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:295,1
    - Dst: NATPMPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:298,1
    - Dst: std::get_if<MappingResult>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:300,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:301,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:302,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:303,1
    - Dst: MappingResult*::internal::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:303,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:304,1
    - Dst: MappingResult*::external::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:304,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 306
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - MappingResult*::internal::ToStringAddrPort
    - NATPMPRequestPortMap
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::get_if<MappingResult>
    - std::unique_ptr<PCPTestSock>
    - MappingResult*::external::ToStringAddrPort
    - std::make_unique<PCPTestSock>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(natpmp_ipv4)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:338,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:339,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:342,1
    - Dst: std::get_if<MappingResult>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:344,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:345,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:346,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:347,1
    - Dst: MappingResult*::internal::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:347,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:348,1
    - Dst: MappingResult*::external::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:348,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 350
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - MappingResult*::internal::ToStringAddrPort
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::get_if<MappingResult>
    - std::unique_ptr<PCPTestSock>
    - MappingResult*::external::ToStringAddrPort
    - std::make_unique<PCPTestSock>
    - PCPRequestPortMap
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pcp_ipv4)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:382,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:383,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:386,1
    - Dst: std::get_if<MappingResult>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:388,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:389,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:390,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:391,1
    - Dst: MappingResult*::internal::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:391,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:392,1
    - Dst: MappingResult*::external::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:392,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 394
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - MappingResult*::internal::ToStringAddrPort
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::get_if<MappingResult>
    - std::unique_ptr<PCPTestSock>
    - MappingResult*::external::ToStringAddrPort
    - std::make_unique<PCPTestSock>
    - PCPRequestPortMap
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pcp_ipv6)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:401,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:402,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:405,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:406,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:407,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:409,1
    - Dst: std::get_if<MappingError>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:411,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:412,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 414
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<MappingError>
    - ASSERT_DEBUG_LOG
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::unique_ptr<PCPTestSock>
    - std::make_unique<PCPTestSock>
    - PCPRequestPortMap
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pcp_timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:432,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:433,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:436,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:438,1
    - Dst: std::get_if<MappingError>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:440,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:441,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 443
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<MappingError>
    - ASSERT_DEBUG_LOG
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::unique_ptr<PCPTestSock>
    - std::make_unique<PCPTestSock>
    - PCPRequestPortMap
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pcp_connrefused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:491,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:492,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:495,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:496,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:498,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:500,1
    - Dst: std::get_if<MappingResult>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 501
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_DEBUG_LOG
    - BOOST_CHECK
    - std::get_if<MappingResult>
    - std::unique_ptr<PCPTestSock>
    - std::make_unique<PCPTestSock>
    - PCPRequestPortMap
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pcp_ipv6_timeout_success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:533,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:534,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:537,1
    - Dst: std::get_if<MappingError>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:539,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:540,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 542
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<MappingError>
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::unique_ptr<PCPTestSock>
    - std::make_unique<PCPTestSock>
    - PCPRequestPortMap
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pcp_ipv4_fail_no_resources)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:569,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:570,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:573,1
    - Dst: std::get_if<MappingError>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:575,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:576,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 578
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<MappingError>
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::unique_ptr<PCPTestSock>
    - std::make_unique<PCPTestSock>
    - PCPRequestPortMap
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pcp_ipv4_fail_unsupported_version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:601,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:602,1
    - Dst: NATPMPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:605,1
    - Dst: std::get_if<MappingError>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:607,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:608,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:609,1
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:646,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:647,1
    - Dst: NATPMPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:650,1
    - Dst: std::get_if<MappingError>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:652,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:653,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 655
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<MappingError>
    - NATPMPRequestPortMap
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::unique_ptr<PCPTestSock>
    - std::make_unique<PCPTestSock>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(natpmp_protocol_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:687,1
    - Dst: std::unique_ptr<PCPTestSock>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:688,1
    - Dst: PCPRequestPortMap
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:691,1
    - Dst: std::get_if<MappingError>
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:693,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:694,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pcp_tests.cpp:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 696
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pcp_tests.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<MappingError>
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::unique_ptr<PCPTestSock>
    - std::make_unique<PCPTestSock>
    - PCPRequestPortMap
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pcp_protocol_error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:42,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:43,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:44,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:45,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:46,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:47,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:48,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:49,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:50,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:51,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:54,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:55,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:55,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:55,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:62,1
    - Dst: BIP324Cipher::GetOurPubKey
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:62,1
    - Dst: BIP324Cipher::Initialize
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:63,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:67,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:67,1
    - Dst: BIP324Cipher::GetSessionID
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:67,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:68,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:68,1
    - Dst: BIP324Cipher::GetSendGarbageTerminator
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:69,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:69,1
    - Dst: BIP324Cipher::GetReceiveGarbageTerminator
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:69,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:76,1
    - Dst: BIP324Cipher::Encrypt
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:77,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:83,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:83,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:83,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:83,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:85,1
    - Dst: BIP324Cipher::Encrypt
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:86,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:93,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:93,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:94,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:94,1
    - Dst: last
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:94,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:109,1
    - Dst: BIP324Cipher::GetOurPubKey
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:109,1
    - Dst: BIP324Cipher::Initialize
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:114,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:114,1
    - Dst: BIP324Cipher::GetSessionID
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:115,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:115,1
    - Dst: BIP324Cipher::GetSendGarbageTerminator
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:115,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:116,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:116,1
    - Dst: BIP324Cipher::GetReceiveGarbageTerminator
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:116,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:120,1
    - Dst: BIP324Cipher::DecryptLength
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:124,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:124,1
    - Dst: BIP324Cipher::Decrypt
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:125,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:125,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:132,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:132,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:132,1
    - Dst: BIP324Cipher::DecryptLength
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:136,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:136,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:137,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:142,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:143,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:143,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:143,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:143,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:145,1
    - Dst: BIP324Cipher::Decrypt
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:150,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:153,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:156,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 14
    argNames:
    - in_idx
    - ' in_priv_ours_hex'
    - ' in_ellswift_ours_hex'
    - ' in_ellswift_theirs_hex'
    - in_initiating
    - ' in_contents_hex'
    - in_multiply
    - ' in_aad_hex'
    - in_ignore
    - ' mid_send_garbage_hex'
    - ' mid_recv_garbage_hex'
    - ' out_session_id_hex'
    - ' out_ciphertext_hex'
    - ' out_ciphertext_endswith_hex'
    argTypes:
    - uint32_t
    - std::string
    - std::string
    - std::string
    - bool
    - std::string
    - uint32_t
    - std::string
    - bool
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 159
    functionName: TestBIP324PacketVector
    functionSourceFile: /src/bitcoin-core/src/test/bip324_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::push_back
    - BIP324Cipher::GetOurPubKey
    - std::byte
    - resize
    - all_bytes_equal
    - auto::begin
    - std::vector::end
    - auto::resize
    - CKey::CKey
    - BOOST_CHECK
    - std::vector::insert
    - first
    - BIP324Cipher::Decrypt
    - ParseHex
    - std::vector::size
    - BIP324Cipher::Initialize
    - BIP324Cipher::DecryptLength
    - BIP324Cipher::GetSendGarbageTerminator
    - BIP324Cipher::Encrypt
    - auto::empty
    - MakeByteSpan
    - last
    - BIP324Cipher::GetReceiveGarbageTerminator
    - BIP324Cipher::GetSessionID
    - CKey::Set
    - randrange
    - auto::end
    - subspan
    linkageType: ''
    returnType: void
    signature: "void TestBIP324PacketVector(\n    uint32_t in_idx,\n    const std::string&
      in_priv_ours_hex,\n    const std::string& in_ellswift_ours_hex,\n    const std::string&
      in_ellswift_theirs_hex,\n    bool in_initiating,\n    const std::string& in_contents_hex,\n
      \   uint32_t in_multiply,\n    const std::string& in_aad_hex,\n    bool in_ignore,\n
      \   const std::string& mid_send_garbage_hex,\n    const std::string& mid_recv_garbage_hex,\n
      \   const std::string& out_session_id_hex,\n    const std::string& out_ciphertext_hex,\n
      \   const std::string& out_ciphertext_endswith_hex)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:42,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:43,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:44,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:45,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:46,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:47,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:48,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:49,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:50,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:51,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:54,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:55,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:55,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:55,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:62,1
    - Dst: BIP324Cipher::GetOurPubKey
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:62,1
    - Dst: BIP324Cipher::Initialize
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:63,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:67,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:67,1
    - Dst: BIP324Cipher::GetSessionID
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:67,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:68,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:68,1
    - Dst: BIP324Cipher::GetSendGarbageTerminator
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:69,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:69,1
    - Dst: BIP324Cipher::GetReceiveGarbageTerminator
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:69,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:76,1
    - Dst: BIP324Cipher::Encrypt
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:77,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:83,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:83,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:83,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:83,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:85,1
    - Dst: BIP324Cipher::Encrypt
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:86,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:93,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:93,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:94,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:94,1
    - Dst: last
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:94,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:109,1
    - Dst: BIP324Cipher::GetOurPubKey
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:109,1
    - Dst: BIP324Cipher::Initialize
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:114,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:114,1
    - Dst: BIP324Cipher::GetSessionID
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:115,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:115,1
    - Dst: BIP324Cipher::GetSendGarbageTerminator
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:115,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:116,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:116,1
    - Dst: BIP324Cipher::GetReceiveGarbageTerminator
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:116,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:120,1
    - Dst: BIP324Cipher::DecryptLength
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:124,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:124,1
    - Dst: BIP324Cipher::Decrypt
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:125,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:125,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:132,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:132,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:132,1
    - Dst: BIP324Cipher::DecryptLength
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:136,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:136,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:137,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:142,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:143,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:143,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:143,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:143,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:145,1
    - Dst: BIP324Cipher::Decrypt
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:150,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:153,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:156,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 14
    argNames:
    - in_idx
    - ' in_priv_ours_hex'
    - ' in_ellswift_ours_hex'
    - ' in_ellswift_theirs_hex'
    - in_initiating
    - ' in_contents_hex'
    - in_multiply
    - ' in_aad_hex'
    - in_ignore
    - ' mid_send_garbage_hex'
    - ' mid_recv_garbage_hex'
    - ' out_session_id_hex'
    - ' out_ciphertext_hex'
    - ' out_ciphertext_endswith_hex'
    argTypes:
    - uint32_t
    - std::string
    - std::string
    - std::string
    - bool
    - std::string
    - uint32_t
    - std::string
    - bool
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 159
    functionName: TestBIP324PacketVector
    functionSourceFile: /src/bitcoin-core/src/test/bip324_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::push_back
    - BIP324Cipher::GetOurPubKey
    - std::byte
    - resize
    - all_bytes_equal
    - auto::begin
    - std::vector::end
    - auto::resize
    - CKey::CKey
    - BOOST_CHECK
    - std::vector::insert
    - first
    - BIP324Cipher::Decrypt
    - ParseHex
    - std::vector::size
    - BIP324Cipher::Initialize
    - BIP324Cipher::DecryptLength
    - BIP324Cipher::GetSendGarbageTerminator
    - BIP324Cipher::Encrypt
    - auto::empty
    - MakeByteSpan
    - last
    - BIP324Cipher::GetReceiveGarbageTerminator
    - BIP324Cipher::GetSessionID
    - CKey::Set
    - randrange
    - auto::end
    - subspan
    linkageType: ''
    returnType: void
    signature: "void TestBIP324PacketVector(\n    uint32_t in_idx,\n    const std::string&
      in_priv_ours_hex,\n    const std::string& in_ellswift_ours_hex,\n    const std::string&
      in_ellswift_theirs_hex,\n    bool in_initiating,\n    const std::string& in_contents_hex,\n
      \   uint32_t in_multiply,\n    const std::string& in_aad_hex,\n    bool in_ignore,\n
      \   const std::string& mid_send_garbage_hex,\n    const std::string& mid_recv_garbage_hex,\n
      \   const std::string& out_session_id_hex,\n    const std::string& out_ciphertext_hex,\n
      \   const std::string& out_ciphertext_endswith_hex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:169,1
    - Dst: TestBIP324PacketVector
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:196,1
    - Dst: TestBIP324PacketVector
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:211,1
    - Dst: TestBIP324PacketVector
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:226,1
    - Dst: TestBIP324PacketVector
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:241,1
    - Dst: TestBIP324PacketVector
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:256,1
    - Dst: TestBIP324PacketVector
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:271,1
    - Dst: TestBIP324PacketVector
      Src: /src/bitcoin-core/src/test/bip324_tests.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 301
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bip324_tests.cpp
    functionUses: 0
    functionsReached:
    - TestBIP324PacketVector
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(packet_test_vectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: UncopyableStream::UncopyableStream
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UncopyableStream(const UncopyableStream&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(const UncopyableStream&)'
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UncopyableStream
    signature: UncopyableStream & operator=(const UncopyableStream&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: UncopyableStream::UncopyableStream
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UncopyableStream(UncopyableStream&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(UncopyableStream&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UncopyableStream
    signature: UncopyableStream & operator=(UncopyableStream&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: CSerializeMethodsTestSingle::CSerializeMethodsTestSingle
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSerializeMethodsTestSingle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:40,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - intvalin
    - boolvalin
    - stringvalin
    - charstrvalin
    - ' txvalin'
    argTypes:
    - int
    - bool
    - std::string
    - uint8_t*
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: CSerializeMethodsTestSingle::CSerializeMethodsTestSingle
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CSerializeMethodsTestSingle(int intvalin, bool boolvalin, std::string
      stringvalin, const uint8_t* charstrvalin, const CTransactionRef& txvalin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:47,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:48,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:49,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:50,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:51,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: CSerializeMethodsTestSingle::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - TX_WITH_WITNESS
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CSerializeMethodsTestSingle, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CSerializeMethodsTestSingle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: operator==(const CSerializeMethodsTestSingle& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CSerializeMethodsTestSingle& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:71,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: CSerializeMethodsTestMany::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - TX_WITH_WITNESS
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CSerializeMethodsTestMany, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:77,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:77,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:78,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:78,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:79,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:79,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:80,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:81,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:81,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:82,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:82,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:83,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:83,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:84,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:84,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:85,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:85,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:87,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:87,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:90,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:91,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:91,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:92,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:92,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:93,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:94,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:94,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:95,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:95,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:96,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:97,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:98,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:99,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:99,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:100,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:100,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:101,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - GetSerializeSize
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:111,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:112,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:113,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:113,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:117,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:118,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:118,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:119,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:119,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:125,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:126,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:130,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:131,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - DataStream::size
    - VARINT
    - GetSerializeSize
    - VARINT_MODE
    - BOOST_CHECK
    - RandomMixin::max
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(varints)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:139,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:139,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:139,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:139,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:140,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:140,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:140,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:140,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:141,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:141,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:141,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:141,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:142,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:142,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:142,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:142,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:143,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:143,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:143,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:143,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:144,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:144,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:144,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:144,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:145,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:145,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:145,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:146,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:146,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:146,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:146,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:147,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:147,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:147,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:147,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:148,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:148,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:148,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:148,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:149,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:149,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:149,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:149,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:150,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:150,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:150,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:150,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:151,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:151,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:151,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:151,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:152,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:152,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:152,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:152,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:153,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:153,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:153,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:154,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:154,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - VARINT
    - VARINT_MODE
    - BOOST_CHECK_EQUAL
    - HexStr
    - DataStream::clear
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(varints_bitpatterns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:164,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:165,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:169,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:170,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:171,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - WriteCompactSize
    - ReadCompactSize
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(compactsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:184,1
    - Dst: std::ios_base::failure::what
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:184,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - std::ios_base::failure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: isCanonicalException
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - what
    - strcmp
    - std::ios_base::failure::what
    linkageType: ''
    returnType: bool
    signature: bool isCanonicalException(const std::ios_base::failure& ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:192,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:192,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:192,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:192,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:193,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:193,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector<uint8_t>
    - GetHash
    - std::vector::begin
    - BOOST_CHECK
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(vector_bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - DataStream::DataStream
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:214,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:215,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:215,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:218,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:219,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:219,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:222,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:223,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:224,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:227,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:228,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:228,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:231,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:232,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:232,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:235,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:236,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:236,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:239,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:240,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 241
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EXCEPTION
    - first
    - ReadCompactSize
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(noncanonical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:249,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:250,1
    - Dst: CSerializeMethodsTestSingle::CSerializeMethodsTestSingle
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:253,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:255,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:256,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:261,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:262,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:263,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:265,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:266,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:268,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:270,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:276,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:276,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:277,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:277,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 280
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CSerializeMethodsTestSingle::CSerializeMethodsTestSingle
    - std::array::at
    - TX_WITH_WITNESS
    - DataStream::DataStream
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(class_methods)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: Base::Base
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: Base::Base
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(uint8_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template GetParams<BaseFormat>
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:304,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: Base::Serialize
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    - template GetParams<BaseFormat>
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template GetParams<BaseFormat>
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:314,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:318,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:318,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: Base::Unserialize
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - TryParseHex
    - std::string::size
    - template GetParams<BaseFormat>
    - first
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SER_PARAMS
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:344,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:345,1
    - Dst: m_base_format
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:345,1
    - Dst: AsBase
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:345,1
    - Dst: ForRead
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:347,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:350,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:353,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 356
    functionName: Derived::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - SER_PARAMS
    - READWRITE
    - SER_READ
    - ToLower
    - AsBase
    - ToUpper
    - ForRead
    - m_base_format
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(Derived, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template GetParams<OtherParam>
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: OtherParamChecker::Serialize
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - template GetParams<OtherParam>
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template GetParams<OtherParam>
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:380,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: OtherParamChecker::Unserialize
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - template GetParams<OtherParam>
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:400,1
    - Dst: other_param_override
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:404,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:405,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:405,1
    - Dst: Base::Base
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:407,1
    - Dst: other_param_override
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:408,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 410
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - other_param_override
    - Base::Base
    - DataStream::str
    - BOOST_CHECK_EQUAL
    - DataStream::DataStream
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(with_params_multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:415,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:416,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:417,1
    - Dst: ParamsStream::GetStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:417,1
    - Dst: ParamsStream::GetStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:418,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:422,1
    - Dst: ParamsStream::GetStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:422,1
    - Dst: Base::Base
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:424,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - ParamsStream::GetStream
    - Base::Base
    - std::move
    - BOOST_CHECK_EQUAL
    - MakeByteSpan
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(with_params_move)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:433,1
    - Dst: RAW
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:435,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:436,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:436,1
    - Dst: RAW
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:439,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:440,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:442,1
    - Dst: HEX
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:444,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:445,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:445,1
    - Dst: HEX
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:448,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 450
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - HEX
    - DataStream::DataStream
    - DataStream::str
    - RAW
    - BOOST_CHECK_EQUAL
    - DataStream::clear
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(with_params_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:456,1
    - Dst: RAW
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:458,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:459,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:459,1
    - Dst: RAW
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:463,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:464,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:465,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:467,1
    - Dst: HEX
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:469,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:470,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:470,1
    - Dst: HEX
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:475,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:476,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 478
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - HEX
    - DataStream::DataStream
    - DataStream::str
    - RAW
    - BOOST_CHECK_EQUAL
    - DataStream::clear
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(with_params_vector_of_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:489,1
    - Dst: RAW_LOWER
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:491,1
    - Dst: HEX_UPPER
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:493,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:495,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/serialize_tests.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 497
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serialize_tests.cpp
    functionUses: 0
    functionsReached:
    - HEX_UPPER
    - DataStream::str
    - BOOST_CHECK_EQUAL
    - RAW_LOWER
    - DataStream::DataStream
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(with_params_derived)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:25,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    functionUses: 23
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> Serialize(const CScript& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:34,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:35,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:36,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:36,1
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:38,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:39,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:39,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:40,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:40,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:42,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:42,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:43,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:43,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:45,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:45,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:46,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:48,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:48,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:54,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:54,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:57,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:57,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:58,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:58,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:60,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:60,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:61,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:61,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:62,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:62,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:63,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:64,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:64,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:64,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:65,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - ScriptHash
    - GenerateRandomKey
    - GetScriptForDestination
    - Serialize
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - CScript::GetSigOpCount
    - CKey::GetPubKey
    - GetScriptForMultisig
    - uint160::uint160
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(GetSigOpCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:76,1
    - Dst: TransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:76,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' output'
    - ' input'
    - flags
    argTypes:
    - CTransaction
    - CMutableTransaction
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: VerifyWithFlag
    functionSourceFile: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - TransactionSignatureChecker
    - VerifyScript
    linkageType: ''
    returnType: ScriptError
    signature: ScriptError VerifyWithFlag(const CTransaction& output, const CMutableTransaction&
      input, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:90,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:91,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:92,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:93,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:98,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:99,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:103,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:105,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:107,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 6
    argNames:
    - ' spendingTx'
    - ' coins'
    - ' creationTx'
    - ' scriptPubKey'
    - ' scriptSig'
    - ' witness'
    argTypes:
    - CMutableTransaction
    - CCoinsViewCache
    - CMutableTransaction
    - CScript
    - CScript
    - CScriptWitness
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: BuildTxs
    functionSourceFile: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    functionUses: 0
    functionsReached:
    - CTransaction
    - GetHash
    - AddCoins
    - vout::resize
    - CScript
    - vin::resize
    - prevout::SetNull
    linkageType: ''
    returnType: void
    signature: void BuildTxs(CMutableTransaction& spendingTx, CCoinsViewCache& coins,
      CMutableTransaction& creationTx, const CScript& scriptPubKey, const CScript&
      scriptSig, const CScriptWitness& witness)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:113,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:116,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:122,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:123,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:129,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:129,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:129,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:131,1
    - Dst: BuildTxs
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:133,1
    - Dst: CScriptWitness
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:133,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:137,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:137,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:137,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:140,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:140,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:140,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:142,1
    - Dst: VerifyWithFlag
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:142,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:142,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:147,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:147,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:147,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:148,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:148,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:149,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:149,1
    - Dst: BuildTxs
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:151,1
    - Dst: CScriptWitness
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:152,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:152,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:152,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:153,1
    - Dst: VerifyWithFlag
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:153,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:153,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:158,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:158,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:159,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:161,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:162,1
    - Dst: BuildTxs
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:165,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:166,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:166,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:166,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:168,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:168,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:168,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:169,1
    - Dst: VerifyWithFlag
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:169,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:169,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:172,1
    - Dst: BuildTxs
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:174,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:175,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:175,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:175,1
    - Dst: BuildTxs
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:177,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:180,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:181,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:181,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:181,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:186,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:186,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:187,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:187,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:188,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:188,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:190,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:191,1
    - Dst: BuildTxs
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:193,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:194,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:194,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:194,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:195,1
    - Dst: VerifyWithFlag
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:195,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:195,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:200,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:200,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:200,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:201,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:201,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:202,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:204,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:205,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:206,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:206,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:206,1
    - Dst: BuildTxs
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:208,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:209,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:209,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:209,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:210,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:210,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:210,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:211,1
    - Dst: VerifyWithFlag
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:211,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:211,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:216,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:216,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:216,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:217,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:217,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:218,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:218,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:219,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:219,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:221,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:222,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:223,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:223,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:223,1
    - Dst: BuildTxs
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:225,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:226,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:226,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:226,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:227,1
    - Dst: VerifyWithFlag
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:227,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sigopcount_tests.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags)
        == 0)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(creationTx), coins, flags)
        == MAX_PUBKEYS_PER_MULTISIG * WITNESS_SCALE_FACTOR)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags)
        == 1)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags &
        ~SCRIPT_VERIFY_WITNESS) == 0)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (scriptPubKey[0] == 0x00)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (VerifyWithFlag(CTransaction(creationTx), spendingTx, flags) == SCRIPT_ERR_CHECKMULTISIGVERIFY)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags &
        ~SCRIPT_VERIFY_WITNESS) == 0)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (VerifyWithFlag(CTransaction(creationTx), spendingTx, flags) == SCRIPT_ERR_CHECKMULTISIGVERIFY)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags)
        == 2 * WITNESS_SCALE_FACTOR)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (VerifyWithFlag(CTransaction(creationTx), spendingTx, flags) == SCRIPT_ERR_CHECKMULTISIGVERIFY)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags)
        == 0)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (VerifyWithFlag(CTransaction(creationTx), spendingTx, flags) == SCRIPT_ERR_EQUALVERIFY)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags)
        == 2)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (VerifyWithFlag(CTransaction(creationTx), spendingTx, flags) == SCRIPT_ERR_EQUALVERIFY)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags)
        == 1)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (VerifyWithFlag(CTransaction(creationTx), spendingTx, flags) == SCRIPT_ERR_CHECKMULTISIGVERIFY)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags)
        == 2)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    - condition: (GetTransactionSigOpCost(CTransaction(spendingTx), coins, flags)
        == 0)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    constantsTouched: []
    func_position:
      end: 229
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 229
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sigopcount_tests.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - BuildTxs
    - ScriptHash
    - WitnessV0KeyHash
    - GenerateRandomKey
    - GetTransactionSigOpCost
    - VerifyWithFlag
    - prevout::SetNull
    - ToByteVector
    - CScriptWitness
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - CScript::end
    - WitnessV0ScriptHash
    - CKey::GetPubKey
    - assert
    - CScriptWitness::stack::emplace_back
    - CScript
    - CScript::begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(GetTxSigOpCost)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: Dersig100Setup
    functionSourceFile: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dersig100Setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:37,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:37,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:37,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:40,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:42,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:42,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:48,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:52,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:53,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:55,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:62,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:62,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:63,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:67,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:70,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:73,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:73,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:77,1
    - Dst: ToMemPool
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:77,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:78,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:81,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:81,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:81,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:83,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:83,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:84,1
    - Dst: mempool::removeRecursive
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:84,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:85,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:88,1
    - Dst: ToMemPool
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:88,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:89,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:92,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:92,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:92,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:94,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:94,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:95,1
    - Dst: mempool::removeRecursive
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:95,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:96,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:96,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:100,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:101,1
    - Dst: ToMemPool
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:101,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:102,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:105,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:105,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:105,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:109,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 110
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp
    functionUses: 0
    functionsReached:
    - SignatureHash
    - Sign
    - GetHash
    - std::vector::push_back
    - CBlock::CBlock
    - BOOST_CHECK_EQUAL
    - ToMemPool
    - chainman::ActiveChain
    - CBlock::GetHash
    - BOOST_CHECK
    - mempool::size
    - mempool::removeRecursive
    - ToByteVector
    - MakeTransactionRef
    - WITH_LOCK
    - chainman::ProcessTransaction
    - vout::resize
    - CreateAndProcessBlock
    - std::vector::resize
    - LOCK
    - CScript
    - vin::resize
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(tx_mempool_block_doublespend, Dersig100Setup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:125,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:133,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:149,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:155,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:156,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:161,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:161,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:162,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:162,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 165
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp
    functionUses: 17
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - FastRandomContext::randrange
    - std::vector::empty
    - PrecomputedTransactionData::PrecomputedTransactionData
    - std::vector::size
    - CheckInputScripts
    - vin::size
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:171,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:171,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:171,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:172,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:172,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:173,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:173,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:173,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:174,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:174,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:177,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:177,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:178,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:178,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:184,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:187,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:188,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:190,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:196,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:196,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:196,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:198,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:198,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:198,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:204,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:205,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:206,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:214,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:217,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:219,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:219,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:219,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:219,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:225,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:225,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:225,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:225,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:226,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:226,1
    - Dst: ValidateCheckInputsForAllFlags
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:232,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:232,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:232,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:237,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:239,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:240,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:241,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:241,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:241,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:242,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:242,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:242,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:247,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:249,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:250,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:252,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:255,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:255,1
    - Dst: ValidateCheckInputsForAllFlags
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:258,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:258,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:258,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:263,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:266,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:267,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:270,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:276,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:277,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:277,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:278,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:279,1
    - Dst: ValidateCheckInputsForAllFlags
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:281,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:281,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:281,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:284,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:286,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:287,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:287,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:287,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:287,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:292,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:294,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:295,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:298,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:304,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:305,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:305,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:306,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:307,1
    - Dst: ValidateCheckInputsForAllFlags
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:309,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:309,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:309,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:312,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:314,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:315,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:315,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:315,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:315,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:323,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:325,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:326,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:334,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:334,1
    - Dst: MutableTransactionSignatureCreator
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:334,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:335,1
    - Dst: ValidateCheckInputsForAllFlags
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:338,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:338,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:338,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:341,1
    - Dst: ValidateCheckInputsForAllFlags
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:342,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:342,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:342,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:347,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:350,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:351,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:353,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:355,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:362,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:362,1
    - Dst: MutableTransactionSignatureCreator
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:362,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:363,1
    - Dst: ValidateCheckInputsForAllFlags
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:367,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:367,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:367,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:372,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:375,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:377,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:377,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:377,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:377,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:382,1
    - Dst: CheckInputScripts
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:382,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:382,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:382,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:384,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 386
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txvalidationcache_tests.cpp
    functionUses: 0
    functionsReached:
    - SignatureHash
    - scriptWitness::SetNull
    - GetScriptForDestination
    - FillableSigningProvider::AddKey
    - Sign
    - MutableTransactionSignatureCreator
    - GetHash
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - CBlock::CBlock
    - FillableSigningProvider::AddCScript
    - UpdateInput
    - chainman::ActiveChain
    - ScriptHash
    - WitnessV0KeyHash
    - CBlock::GetHash
    - BOOST_CHECK
    - CMutableTransaction::vin::resize
    - PKHash
    - std::vector::size
    - ProduceSignature
    - ToByteVector
    - CMutableTransaction::vout::resize
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - CScript::end
    - CreateAndProcessBlock
    - ValidateCheckInputsForAllFlags
    - chainman::ActiveChainstate
    - CMutableTransaction::GetHash
    - LOCK
    - CScript
    - PrecomputedTransactionData::PrecomputedTransactionData
    - GetPubKey
    - CheckInputScripts
    - CScript::begin
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(checkinputs_test, Dersig100Setup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomNodeEvictionCandidates
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:30,1
    - Dst: candidate_setup_fn
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:32,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:34,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:34,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:34,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:36,1
    - Dst: ProtectEvictionCandidatesByRatio
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:38,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:39,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:39,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:43,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:45,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:45,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:48,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:54,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:56,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:56,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - num_peers
    - candidate_setup_fn
    - ' protected_peer_ids'
    - ' unprotected_peer_ids'
    - ' random_context'
    argTypes:
    - int
    - std::function<void(NodeEvictionCandidate&)>
    - std::unordered_set<NodeId>
    - std::unordered_set<NodeId>
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 60
    functionName: IsProtected
    functionSourceFile: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - GetRandomNodeEvictionCandidates
    - candidate_setup_fn
    - BOOST_TEST_MESSAGE
    - std::vector::begin
    - size
    - BOOST_CHECK_EQUAL
    - std::shuffle
    - ProtectEvictionCandidatesByRatio
    - strprintf
    - std::vector::size
    - count
    linkageType: ''
    returnType: bool
    signature: "bool IsProtected(int num_peers,\n                 std::function<void(NodeEvictionCandidate&)>
      candidate_setup_fn,\n                 const std::unordered_set<NodeId>& protected_peer_ids,\n
      \                const std::unordered_set<NodeId>& unprotected_peer_ids,\n                 FastRandomContext&
      random_context)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:69,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:80,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:94,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:105,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:117,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:117,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:128,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:128,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:140,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:151,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:163,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:163,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:174,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:189,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:189,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:202,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:215,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:215,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:228,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:228,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:240,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:240,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:252,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:252,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:265,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:265,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:278,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:278,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:291,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:291,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:312,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:312,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:331,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:350,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:350,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:369,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:369,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:388,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:388,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:407,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:407,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:426,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:426,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:445,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:445,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:467,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:467,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:489,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:489,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:511,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:511,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:532,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:532,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:553,1
    - Dst: IsProtected
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:553,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 270
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 570
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - IsProtected
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(peer_protection_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:575,1
    - Dst: std::vector<NodeEvictionCandidate>::begin
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:575,1
    - Dst: std::vector<NodeEvictionCandidate>::end
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:575,1
    - Dst: SelectNodeToEvict
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:576,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:576,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - candidates
    - ' node_ids'
    - ' random_context'
    argTypes:
    - std::vector<NodeEvictionCandidate>
    - std::unordered_set<NodeId>
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: IsEvicted
    functionSourceFile: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<NodeEvictionCandidate>::end
    - SelectNodeToEvict
    - std::move
    - std::shuffle
    - std::vector<NodeEvictionCandidate>::begin
    - count
    linkageType: ''
    returnType: bool
    signature: bool IsEvicted(std::vector<NodeEvictionCandidate> candidates, const
      std::unordered_set<NodeId>& node_ids, FastRandomContext& random_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomNodeEvictionCandidates
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:588,1
    - Dst: candidate_setup_fn
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:590,1
    - Dst: IsEvicted
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - number_of_nodes
    - candidate_setup_fn
    - ' node_ids'
    - ' random_context'
    argTypes:
    - int
    - std::function<void(NodeEvictionCandidate&)>
    - std::unordered_set<NodeId>
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 593
    functionName: IsEvicted
    functionSourceFile: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp
    functionUses: 1
    functionsReached:
    - IsEvicted
    - GetRandomNodeEvictionCandidates
    - candidate_setup_fn
    linkageType: ''
    returnType: bool
    signature: bool IsEvicted(const int number_of_nodes, std::function<void(NodeEvictionCandidate&)>
      candidate_setup_fn, const std::unordered_set<NodeId>& node_ids, FastRandomContext&
      random_context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:602,1
    - Dst: IsEvicted
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:602,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:610,1
    - Dst: IsEvicted
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:610,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:618,1
    - Dst: IsEvicted
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:618,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:626,1
    - Dst: IsEvicted
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:626,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:638,1
    - Dst: IsEvicted
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:638,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:645,1
    - Dst: IsEvicted
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:645,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:656,1
    - Dst: IsEvicted
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:656,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:669,1
    - Dst: SelectNodeToEvict
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:669,1
    - Dst: GetRandomNodeEvictionCandidates
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:669,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:676,1
    - Dst: SelectNodeToEvict
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:676,1
    - Dst: GetRandomNodeEvictionCandidates
      Src: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 683
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_peer_eviction_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - IsEvicted
    - SelectNodeToEvict
    - GetRandomNodeEvictionCandidates
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(peer_eviction_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:27,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:28,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:30,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:31,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:33,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:36,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:36,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:37,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:38,1
    - Dst: EncodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/base58_tests.cpp
    functionUses: 0
    functionsReached:
    - write
    - EncodeBase58
    - size
    - read_json
    - BOOST_ERROR
    - get_str
    - UniValue::size
    - ParseHex
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(base58_EncodeBase58)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:47,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:50,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:52,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:53,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:55,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:58,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:58,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:59,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:60,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:60,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:61,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:61,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:61,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:61,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:61,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:61,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:64,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:65,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:65,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:66,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:66,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:68,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:69,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:70,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:71,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:71,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:74,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:75,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:75,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:77,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:77,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:77,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:77,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:77,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:79,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:80,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:81,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:82,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/test/base58_tests.cpp:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/base58_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - write
    - DecodeBase58
    - std::vector::end
    - auto::begin
    - DecodeBase58Check
    - size
    - std::vector::begin
    - BOOST_CHECK
    - read_json
    - BOOST_ERROR
    - get_str
    - UniValue::size
    - auto::end
    - ParseHex
    - BOOST_CHECK_MESSAGE
    - std::vector::size
    - std::equal
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(base58_DecodeBase58)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBlock13b8a
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:22,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:27,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:30,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:32,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:33,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:37,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:37,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:37,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:40,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:40,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:45,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:45,1
    - Dst: CBlock::hashMerkleRoot::GetHex
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:46,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:46,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:49,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:49,1
    - Dst: Txid::ToString
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:49,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:52,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:52,1
    - Dst: Txid::ToString
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 54
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/merkleblock_tests.cpp
    functionUses: 0
    functionsReached:
    - CBlock::hashMerkleRoot::GetHex
    - ToString
    - CBlock::GetHash
    - CMerkleBlock::txn::ExtractMatches
    - detail::FromHex
    - Txid::ToString
    - getBlock13b8a
    - BOOST_CHECK_EQUAL
    - CMerkleBlock::vMatchedTxn::size
    - std::set::insert
    - CMerkleBlock::header::GetHash
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkleblock_construct_from_txids_found)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBlock13b8a
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:63,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:66,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:66,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:69,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:69,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:69,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:70,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:75,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:75,1
    - Dst: CBlock::hashMerkleRoot::GetHex
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:75,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:76,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:76,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:77,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/merkleblock_tests.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/merkleblock_tests.cpp
    functionUses: 0
    functionsReached:
    - CBlock::hashMerkleRoot::GetHex
    - CBlock::GetHash
    - CMerkleBlock::txn::ExtractMatches
    - detail::FromHex
    - getBlock13b8a
    - BOOST_CHECK_EQUAL
    - CMerkleBlock::vMatchedTxn::size
    - std::set::insert
    - CMerkleBlock::header::GetHash
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkleblock_construct_from_txids_not_found)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tx'
    - permit_bare_multisig
    - ' reason'
    argTypes:
    - CTransaction
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: IsStandardTx
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 3
    functionsReached:
    - IsStandardTx
    linkageType: ''
    returnType: bool
    signature: bool IsStandardTx(const CTransaction& tx, bool permit_bare_multisig,
      std::string& reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:29,1
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' tx'
    - ' reason'
    argTypes:
    - CTransaction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: IsStandardTx
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 4
    functionsReached:
    - IsStandardTx
    linkageType: ''
    returnType: bool
    signature: bool IsStandardTx(const CTransaction& tx, std::string& reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:35,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 24
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> Serialize(const CScript& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:42,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:43,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:46,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:47,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:48,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:50,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:54,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' scriptSig'
    - ' scriptPubKey'
    - fStrict
    - ' err'
    argTypes:
    - CScript
    - CScript
    - bool
    - ScriptError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: Verify
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 1
    functionsReached:
    - CMutableTransaction::vout::resize
    - MutableTransactionSignatureChecker
    - VerifyScript
    - CMutableTransaction::CMutableTransaction
    - CMutableTransaction::GetHash
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: bool
    signature: bool Verify(const CScript& scriptSig, const CScript& scriptPubKey,
      bool fStrict, ScriptError& err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:71,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:72,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:72,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:78,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:78,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:79,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:79,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:79,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:80,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:80,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:81,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:81,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:85,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:85,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:86,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:86,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:89,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:99,1
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:99,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:99,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:104,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:105,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:107,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:113,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:113,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:113,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:113,1
    - Dst: CScriptCheck
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:124,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:124,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:126,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:126,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:128,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 132
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 0
    functionsReached:
    - SignSignature
    - GetScriptForDestination
    - FillableSigningProvider::AddKey
    - MakeNewKey
    - FillableSigningProvider::AddCScript
    - ScriptHash
    - IsStandardTx
    - BOOST_CHECK
    - PKHash
    - BOOST_CHECK_MESSAGE
    - CScriptCheck
    - ToByteVector
    - CMutableTransaction::vout::resize
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - vout::resize
    - strprintf
    - CMutableTransaction::GetHash
    - vin::resize
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:139,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:142,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:142,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:144,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:145,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:148,1
    - Dst: Verify
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:148,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:149,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:149,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:153,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:153,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:154,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:155,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:157,1
    - Dst: Verify
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:157,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:158,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 159
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 0
    functionsReached:
    - ScriptHash
    - Verify
    - GetScriptForDestination
    - ScriptErrorString
    - Serialize
    - BOOST_CHECK
    - BOOST_CHECK_MESSAGE
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(norecurse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:167,1
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:170,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:171,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:171,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:172,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:172,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:176,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:176,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:176,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:177,1
    - Dst: std::vector<CPubKey>
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:177,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:178,1
    - Dst: std::vector<CPubKey>
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:178,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:178,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:178,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:179,1
    - Dst: std::vector<CPubKey>
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:179,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:179,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:179,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:184,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:184,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:185,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:185,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:188,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:190,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:196,1
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:196,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:196,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:201,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:202,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:204,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:211,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:211,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:211,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:211,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:212,1
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:212,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:212,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:212,1
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:213,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:213,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:214,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 216
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<CPubKey>
    - SignSignature
    - GetScriptForDestination
    - FillableSigningProvider::AddKey
    - std::vector::push_back
    - MakeNewKey
    - FillableSigningProvider::AddCScript
    - GetScriptForMultisig
    - ScriptHash
    - IsStandardTx
    - std::vector::reserve
    - BOOST_CHECK
    - PKHash
    - BOOST_CHECK_MESSAGE
    - CMutableTransaction::vout::resize
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - vout::resize
    - strprintf
    - std::vector::begin
    - CMutableTransaction::GetHash
    - vin::resize
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:221,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:222,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:223,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:224,1
    - Dst: CScript::IsPayToScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:224,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:227,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:227,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:228,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:229,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:229,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:229,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:229,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:233,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:233,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:235,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:235,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:235,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:235,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:237,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:237,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:238,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:239,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:239,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:239,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:239,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:241,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:241,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:242,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:243,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:243,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:243,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:243,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:245,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:246,1
    - Dst: CScript::IsPayToScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:246,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:248,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:248,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:248,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:249,1
    - Dst: CScript::IsPayToScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:249,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:251,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:251,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:252,1
    - Dst: CScript::IsPayToScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:252,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:254,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:254,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:255,1
    - Dst: CScript::IsPayToScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 256
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - std::vector::end
    - std::vector::begin
    - BOOST_CHECK
    - std::vector::insert
    - std::vector::push_back
    - CScript
    - CScript::IsPayToScriptHash
    - CScript::clear
    - uint160::uint160
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:261,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:264,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:265,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:267,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:271,1
    - Dst: Verify
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:271,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:272,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:272,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:274,1
    - Dst: Verify
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:274,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:275,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 276
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 0
    functionsReached:
    - ScriptHash
    - Verify
    - GetScriptForDestination
    - ScriptErrorString
    - Serialize
    - BOOST_CHECK
    - BOOST_CHECK_MESSAGE
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(switchover)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:286,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:287,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:287,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:290,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:292,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:292,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:294,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:295,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:298,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:298,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:298,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:299,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:299,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:300,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:302,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:302,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:311,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:312,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:312,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:312,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:312,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:312,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:312,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:314,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:314,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:314,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:314,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:314,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:314,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:316,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:316,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:317,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:317,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:321,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:323,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:323,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:325,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:325,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:326,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:326,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:330,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:331,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:331,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:332,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:332,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:334,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:335,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:335,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:336,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:336,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:339,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:339,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:341,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:342,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:343,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:343,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:343,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:345,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:349,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:352,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:352,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:352,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:354,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:354,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:354,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:356,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:356,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:356,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:360,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:360,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:360,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:361,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:361,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:361,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:363,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:363,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:363,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:365,1
    - Dst: GetP2SHSigOpCount
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:365,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:365,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:367,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:368,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:370,1
    - Dst: CTransaction::IsCoinBase
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:370,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:371,1
    - Dst: GetP2SHSigOpCount
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:371,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:373,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:374,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:375,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:375,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:375,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:377,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:379,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:380,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:380,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:382,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:382,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:382,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:383,1
    - Dst: GetP2SHSigOpCount
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:383,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:383,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:385,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:386,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:387,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:387,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:387,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:389,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:391,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:392,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:392,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:392,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:394,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:394,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:394,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:395,1
    - Dst: GetP2SHSigOpCount
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:395,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_p2sh_tests.cpp:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 396
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_p2sh_tests.cpp
    functionUses: 0
    functionsReached:
    - SignSignature
    - AreInputsStandard
    - GetScriptForDestination
    - FillableSigningProvider::AddKey
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - MakeNewKey
    - FillableSigningProvider::AddCScript
    - CTransaction::IsCoinBase
    - GetScriptForMultisig
    - ScriptHash
    - std::vector::reserve
    - AddCoins
    - BOOST_CHECK
    - CMutableTransaction::vin::resize
    - PKHash
    - std::vector<unsigned char>
    - ToByteVector
    - CMutableTransaction::vout::resize
    - GetP2SHSigOpCount
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - CScript::end
    - CScript::begin
    - CMutableTransaction::GetHash
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(AreInputsStandard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:33,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:34,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:35,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:36,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:36,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:36,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:36,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:36,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:38,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:38,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - num_inputs
    - num_outputs
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: create_placeholder_tx
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CMutableTransaction::vout::resize
    - MakeTransactionRef
    - CMutableTransaction
    - transaction_identifier::FromUint256
    - CScript
    - CMutableTransaction::vin::resize
    - rand256
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef create_placeholder_tx(size_t num_inputs, size_t num_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:59,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:66,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:73,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:76,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:77,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:78,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:79,1
    - Dst: CTransaction::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:79,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:80,1
    - Dst: CTransaction::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:81,1
    - Dst: CTransaction::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:83,1
    - Dst: Wtxid::GetHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:83,1
    - Dst: Wtxid::GetHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:83,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:84,1
    - Dst: Wtxid::GetHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:84,1
    - Dst: Wtxid::GetHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:84,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:87,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:88,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:90,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:91,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:91,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:92,1
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:92,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:94,1
    - Dst: Txid::GetHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:94,1
    - Dst: Txid::GetHex
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:96,1
    - Dst: Txid::ToUint256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:96,1
    - Dst: Wtxid::ToUint256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:97,1
    - Dst: Txid::ToUint256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:97,1
    - Dst: Wtxid::ToUint256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:98,1
    - Dst: Txid::ToUint256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:98,1
    - Dst: Wtxid::ToUint256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:104,1
    - Dst: HashWriter
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:114,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:114,1
    - Dst: HashWriter
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:116,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:117,1
    - Dst: HashWriter
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:119,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:120,1
    - Dst: HashWriter
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:122,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:122,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:123,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:125,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:125,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:126,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:126,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:127,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:127,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:128,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:128,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:129,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:129,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:130,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 131
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - HashWriter
    - Wtxid::ToUint256
    - Txid::GetHex
    - detail::FromHex
    - MakeTransactionRef
    - Txid::ToUint256
    - GetSHA256
    - GetPackageHash
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CTransaction::GetWitnessHash
    - CTransaction::GetHash
    - Wtxid::GetHex
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(package_hash_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Package::reserve
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:137,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:139,1
    - Dst: create_placeholder_tx
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:142,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:142,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:143,1
    - Dst: PackageValidationState::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:143,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:144,1
    - Dst: PackageValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:144,1
    - Dst: create_placeholder_tx
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:147,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:149,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:152,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:155,1
    - Dst: Package::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:157,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:157,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:158,1
    - Dst: PackageValidationState::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:158,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:159,1
    - Dst: PackageValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:159,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:164,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:165,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:165,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:168,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:168,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:169,1
    - Dst: PackageValidationState::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:169,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:170,1
    - Dst: PackageValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:170,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:171,1
    - Dst: IsConsistentPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:171,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:174,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:175,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:176,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:176,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:177,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:178,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:180,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:181,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:182,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:182,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:183,1
    - Dst: IsConsistentPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:183,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:185,1
    - Dst: IsTopoSortedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:185,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:187,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:187,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:188,1
    - Dst: PackageValidationState::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:188,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:189,1
    - Dst: PackageValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:189,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:193,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:194,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:194,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:195,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:196,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:197,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:198,1
    - Dst: IsConsistentPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:198,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:199,1
    - Dst: create_placeholder_tx
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:200,1
    - Dst: IsConsistentPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 201
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - Package::push_back
    - BOOST_CHECK_EQUAL
    - CMutableTransaction::vin::emplace_back
    - Package::size
    - IsWellFormedPackage
    - IsConsistentPackage
    - PackageValidationState::GetResult
    - BOOST_CHECK
    - PackageValidationState::GetRejectReason
    - CMutableTransaction::vout::emplace_back
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - IsTopoSortedPackage
    - transaction_identifier::FromUint256
    - rand256
    - create_placeholder_tx
    - GetTransactionWeight
    - Package::reserve
    - Package::emplace_back
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(package_sanitization_tests)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:205,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:206,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:209,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:210,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:210,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:210,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:211,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:214,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:215,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:217,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:218,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:218,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:218,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:219,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:222,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:223,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:225,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:225,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:226,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:227,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:227,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:229,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:229,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:230,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:230,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:232,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:232,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:232,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:233,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:233,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:234,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:234,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:236,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:236,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:236,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:237,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:237,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:238,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:238,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:238,1
    - Dst: create_placeholder_tx
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:241,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:242,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:242,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:244,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:244,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:245,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:246,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:246,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:248,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:248,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:249,1
    - Dst: auto::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:249,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:250,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:250,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:251,1
    - Dst: auto::second::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:251,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:255,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - CheckPackageMempoolAcceptResult
    - CAmount
    - BOOST_CHECK_EQUAL
    - GetVirtualTransactionSize
    - CreateValidMempoolTransaction
    - auto::value
    - GenerateRandomKey
    - auto::second::m_effective_feerate::value
    - BOOST_CHECK
    - BOOST_ERROR
    - auto::second::m_wtxids_fee_calculations::value
    - mempool::size
    - PKHash
    - auto::second::m_state::GetRejectReason
    - auto::m_tx_results::find
    - auto::m_state::GetResult
    - MakeTransactionRef
    - CTransactionRef::GetWitnessHash
    - CKey::GetPubKey
    - auto::m_state::GetRejectReason
    - create_placeholder_tx
    - chainman::ActiveChainstate
    - LOCK
    - ProcessNewPackage
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(package_validation_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:261,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:262,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:262,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:262,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:263,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:264,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:264,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:264,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:268,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:269,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:270,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:272,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:273,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:274,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:277,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:277,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:278,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:278,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:279,1
    - Dst: PackageValidationState::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:279,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:280,1
    - Dst: PackageValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:280,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:281,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:281,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:282,1
    - Dst: IsChildWithParentsTree
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:282,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:283,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:283,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:284,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:284,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:284,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:285,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:285,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:285,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:286,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:286,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:287,1
    - Dst: IsChildWithParentsTree
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:287,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:293,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:295,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:295,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:296,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:297,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:298,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:298,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:298,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:300,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:303,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:303,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:306,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:307,1
    - Dst: Package::begin
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:307,1
    - Dst: Package::end
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:307,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:308,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:308,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:311,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:311,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:312,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:312,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:313,1
    - Dst: IsChildWithParentsTree
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:313,1
    - Dst: Package::erase
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:315,1
    - Dst: Package::begin
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:315,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:316,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:316,1
    - Dst: Package::insert
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:319,1
    - Dst: Package::begin
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:319,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:320,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:320,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:325,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:326,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:326,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:326,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:327,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:328,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:329,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:331,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:332,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:332,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:332,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:333,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:334,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:336,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:337,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:337,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:337,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:338,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:338,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:338,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:339,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:343,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:343,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:344,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:344,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:345,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:345,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:346,1
    - Dst: IsChildWithParentsTree
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:346,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:348,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:348,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:349,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:349,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:350,1
    - Dst: IsWellFormedPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:350,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:351,1
    - Dst: PackageValidationState::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:351,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:352,1
    - Dst: PackageValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 354
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - Package::push_back
    - auto::GetHash
    - GetScriptForDestination
    - GetPackageHash
    - GetHash
    - CAmount
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK_EQUAL
    - std::shuffle
    - CMutableTransaction::vin::emplace_back
    - CreateValidMempoolTransaction
    - IsWellFormedPackage
    - GenerateRandomKey
    - IsChildWithParents
    - PackageValidationState::GetResult
    - BOOST_CHECK
    - Package::insert
    - PackageValidationState::GetRejectReason
    - PKHash
    - CMutableTransaction::vout::emplace_back
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - Package::end
    - IsChildWithParentsTree
    - CKey::GetPubKey
    - Package::erase
    - CTransactionRef::GetHash
    - Package::begin
    - Package::emplace_back
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(noncontextual_package_tests)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:359,1
    - Dst: MockMempoolMinFee
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:360,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:360,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:361,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:362,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:363,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:364,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:364,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:364,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:369,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:372,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:373,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:373,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:375,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:375,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:378,1
    - Dst: auto::m_state::IsInvalid
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:378,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:379,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:379,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:380,1
    - Dst: auto::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:380,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:381,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:381,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:386,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:389,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:390,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:391,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:392,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:394,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:395,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:395,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:395,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:396,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:399,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:400,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:401,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:402,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:404,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:405,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:405,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:405,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:406,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:409,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:410,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:411,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:415,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:415,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:417,1
    - Dst: auto::m_state::IsInvalid
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:417,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:418,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:418,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:419,1
    - Dst: auto::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:419,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:420,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:420,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:427,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:430,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:432,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:432,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:434,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:434,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:435,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:435,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:437,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:437,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:438,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:438,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:439,1
    - Dst: auto::second::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:439,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:440,1
    - Dst: auto::second::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:440,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:441,1
    - Dst: auto::second::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:441,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:442,1
    - Dst: auto::second::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:442,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:444,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:444,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:449,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:449,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:452,1
    - Dst: auto::m_state::IsValid
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:452,1
    - Dst: auto::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:453,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:454,1
    - Dst: auto::m_tx_results::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:454,1
    - Dst: Package::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:454,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:455,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:455,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:456,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:456,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:457,1
    - Dst: auto::m_tx_results::end
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:457,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:458,1
    - Dst: auto::second::m_state::IsValid
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:458,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:459,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:459,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:459,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:460,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:460,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:461,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:461,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:461,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:462,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:462,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:462,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:463,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:463,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:464,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:464,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:464,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:466,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:466,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:471,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:471,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:473,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:473,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:474,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:474,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:476,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:476,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:477,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:477,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:478,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:479,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:482,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:482,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:487,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:487,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:490,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:491,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:491,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:494,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:496,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:496,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:497,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:497,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:503,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:503,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:505,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:505,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:506,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:506,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:508,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:508,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:509,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:509,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:511,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:511,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:512,1
    - Dst: auto::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:512,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:514,1
    - Dst: auto::second::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:514,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:515,1
    - Dst: auto::second::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:515,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:516,1
    - Dst: auto::second::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:516,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:517,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:517,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:523,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:523,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:525,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:525,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:526,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:526,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:528,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:528,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:530,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:530,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:533,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:533,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:534,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:534,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:536,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 538
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - Package::push_back
    - auto::GetHash
    - GetScriptForDestination
    - auto::second::m_state::GetResult
    - CFeeRate
    - CheckPackageMempoolAcceptResult
    - CAmount
    - BOOST_CHECK_EQUAL
    - mempool::get
    - GetVirtualTransactionSize
    - Package::size
    - CreateValidMempoolTransaction
    - auto::value
    - auto::m_tx_results::end
    - GenerateRandomKey
    - BOOST_CHECK
    - BOOST_ERROR
    - auto::second::m_state::IsValid
    - auto::second::m_wtxids_fee_calculations::value
    - auto::m_state::IsValid
    - auto::m_tx_results::size
    - mempool::size
    - PKHash
    - BOOST_CHECK_MESSAGE
    - auto::second::m_state::GetRejectReason
    - auto::m_state::GetResult
    - auto::m_tx_results::find
    - MakeTransactionRef
    - CTransactionRef::GetWitnessHash
    - CKey::GetPubKey
    - auto::m_state::GetRejectReason
    - auto::GetWitnessHash
    - CScriptWitness::stack::emplace_back
    - chainman::ActiveChainstate
    - MockMempoolMinFee
    - LOCK
    - auto::m_state::IsInvalid
    - mineBlocks
    - ProcessNewPackage
    - Package::emplace_back
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(package_submission_tests)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:544,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:545,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:546,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:551,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:552,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:552,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:552,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:553,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:556,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:557,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:559,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:559,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:562,1
    - Dst: auto::m_state::IsValid
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:562,1
    - Dst: auto::m_state::ToString
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:563,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:564,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:564,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:567,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:568,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:568,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:568,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:569,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:572,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:573,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:575,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:575,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:576,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:577,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:577,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:579,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:579,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:580,1
    - Dst: auto::second::m_state::IsValid
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:580,1
    - Dst: auto::second::m_state::ToString
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:580,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:581,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:581,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:581,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:582,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:582,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:583,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:583,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:583,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:586,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:586,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:588,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:589,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:589,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:589,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:590,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:593,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:594,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:596,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:596,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:597,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:598,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:598,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:600,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:600,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:601,1
    - Dst: auto::second::m_state::IsValid
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:601,1
    - Dst: auto::second::m_state::ToString
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:601,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:602,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:602,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:602,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:603,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:603,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:604,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:604,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:604,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:607,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:607,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:610,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:613,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:614,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:616,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:616,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:619,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:619,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:621,1
    - Dst: auto::m_state::IsValid
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:621,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:622,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:622,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:623,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:623,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:624,1
    - Dst: auto::second::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:624,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:625,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:625,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:626,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:626,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:628,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 541
    functionDepth: 4
    functionLinenumber: 541
    functionLinenumberEnd: 629
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - auto::second::m_state::GetResult
    - CheckPackageMempoolAcceptResult
    - CAmount
    - BOOST_CHECK_EQUAL
    - mempool::get
    - GetVirtualTransactionSize
    - CreateValidMempoolTransaction
    - auto::value
    - WitnessV0KeyHash
    - GenerateRandomKey
    - auto::second::m_state::ToString
    - auto::second::m_effective_feerate::value
    - BOOST_CHECK
    - BOOST_ERROR
    - auto::second::m_state::IsValid
    - auto::second::m_wtxids_fee_calculations::value
    - auto::m_state::IsValid
    - mempool::size
    - PKHash
    - BOOST_CHECK_MESSAGE
    - auto::m_tx_results::find
    - auto::m_state::GetResult
    - MakeTransactionRef
    - CTransactionRef::GetWitnessHash
    - CKey::GetPubKey
    - chainman::ActiveChainstate
    - LOCK
    - auto::m_state::ToString
    - mineBlocks
    - ProcessNewPackage
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(package_single_tx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:636,1
    - Dst: MockMempoolMinFee
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:637,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:637,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:638,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:642,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:643,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:643,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:644,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:647,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:648,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:652,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:653,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:653,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:653,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:656,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:657,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:657,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:657,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:659,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:660,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:660,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:660,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:661,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:663,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:664,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:666,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:668,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:669,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:675,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:676,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:679,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:679,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:679,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:681,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:681,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:681,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:683,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:683,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:683,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:689,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:689,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:691,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:691,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:692,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:692,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:697,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:697,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:699,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:699,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:700,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:700,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:702,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:702,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:703,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:703,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:704,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:705,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:706,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:706,1
    - Dst: auto::second::m_other_wtxid::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:706,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:711,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:711,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:713,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:713,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:714,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:714,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:716,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:716,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:717,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:717,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:718,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:719,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:730,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:731,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:731,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:731,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:732,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:735,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:736,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:738,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:738,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:738,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:742,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:742,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:744,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:744,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:745,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:745,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:747,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:747,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:748,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:748,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:749,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:750,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:759,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:760,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:760,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:762,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:762,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:762,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:765,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:768,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:769,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:770,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:773,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:774,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:774,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:776,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:777,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:777,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:777,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:779,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:780,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:780,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:780,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:783,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:786,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:787,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:789,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:791,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:792,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:794,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:796,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:797,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:803,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:804,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:806,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:807,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:808,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:811,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:814,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:815,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:816,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:817,1
    - Dst: mempool::GetMinFee
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:817,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:817,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:818,1
    - Dst: mempool::m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:818,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:818,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:821,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:822,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:822,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:822,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:824,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:825,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:825,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:825,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:826,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:826,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:826,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:827,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:827,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:827,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:831,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:832,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:833,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:841,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:841,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:842,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:842,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:843,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:843,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:845,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:845,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:846,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:846,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:847,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:847,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:848,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:848,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:850,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:851,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:852,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:853,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:854,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:854,1
    - Dst: auto::second::m_other_wtxid::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:854,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:857,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:857,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:858,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:858,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:859,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:859,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:860,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:860,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:861,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:861,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:862,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:862,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 633
    functionDepth: 4
    functionLinenumber: 633
    functionLinenumberEnd: 865
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - Package::push_back
    - GetScriptForDestination
    - CFeeRate
    - CheckPackageMempoolAcceptResult
    - GetPackageHash
    - CAmount
    - BOOST_CHECK_EQUAL
    - mempool::get
    - CMutableTransaction::vin::emplace_back
    - GetVirtualTransactionSize
    - CreateValidMempoolTransaction
    - auto::value
    - mempool::m_opts::min_relay_feerate::GetFee
    - WitnessV0KeyHash
    - GenerateRandomKey
    - auto::second::m_effective_feerate::value
    - mempool::GetMinFee
    - BOOST_CHECK
    - BOOST_ERROR
    - auto::second::m_wtxids_fee_calculations::value
    - CMutableTransaction::vin::resize
    - CMutableTransaction::vout::emplace_back
    - CMutableTransaction::vout::resize
    - auto::m_tx_results::find
    - MakeTransactionRef
    - CScript::end
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - WitnessV0ScriptHash
    - chainman::ProcessTransaction
    - CTransactionRef::GetWitnessHash
    - CKey::GetPubKey
    - auto::second::m_other_wtxid::value
    - CScriptWitness::stack::emplace_back
    - chainman::ActiveChainstate
    - MockMempoolMinFee
    - CTransactionRef::GetHash
    - LOCK
    - mineBlocks
    - CScript
    - ProcessNewPackage
    - CScript::begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(package_witness_swap_tests)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:869,1
    - Dst: MockMempoolMinFee
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:870,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:870,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:871,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:872,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:873,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:874,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:874,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:874,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:875,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:876,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:876,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:876,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:884,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:888,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:889,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:891,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:895,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:896,1
    - Dst: mempool::PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:901,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:901,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:903,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:903,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:904,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:904,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:906,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:906,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:907,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:907,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:909,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:909,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:910,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:910,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:910,1
    - Dst: m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:910,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:912,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:912,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:912,1
    - Dst: m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:912,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:914,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:914,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:914,1
    - Dst: m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:914,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:915,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:915,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:920,1
    - Dst: mempool::ClearPrioritisation
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:920,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:920,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:925,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:925,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:926,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:926,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:928,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:928,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:929,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:929,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:931,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:931,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:932,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:932,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:933,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:934,1
    - Dst: auto::second::m_base_fees::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:934,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:935,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:936,1
    - Dst: auto::second::m_base_fees::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:936,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:939,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:939,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:940,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:940,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:941,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:941,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:942,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:942,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:943,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:943,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:944,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:944,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:945,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:945,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:948,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:948,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:957,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:961,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:962,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:963,1
    - Dst: mempool::GetMinFee
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:963,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:963,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:964,1
    - Dst: mempool::m_opts::min_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:964,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:964,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:966,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:970,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:971,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:972,1
    - Dst: mempool::GetMinFee
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:972,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:972,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:973,1
    - Dst: mempool::GetMinFee
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:973,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:973,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:973,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:974,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:974,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:978,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:978,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:980,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:980,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:981,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:981,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:984,1
    - Dst: auto::m_tx_results::at
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:984,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:984,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:984,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:986,1
    - Dst: auto::m_tx_results::at
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:986,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:986,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:986,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:987,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:987,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:989,1
    - Dst: auto::m_tx_results::at
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:989,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:989,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:989,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:991,1
    - Dst: auto::m_tx_results::at
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:991,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:991,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:991,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:992,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:992,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:992,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:994,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:994,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:995,1
    - Dst: auto::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:995,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:996,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:996,1
    - Dst: mempool::PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1001,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1001,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1004,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1004,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1006,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1006,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1007,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1007,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1010,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1010,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1011,1
    - Dst: auto::m_tx_results::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1011,1
    - Dst: Package::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1011,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1012,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1012,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1013,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1013,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1014,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1015,1
    - Dst: auto::second::m_base_fees::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1015,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1016,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1016,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1017,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1018,1
    - Dst: auto::second::m_base_fees::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1018,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1019,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1019,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1020,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1020,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1021,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1021,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1022,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1022,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1025,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1025,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1035,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1039,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1040,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1042,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1046,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1047,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1051,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1051,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1052,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1052,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1054,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1054,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1055,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1055,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1058,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1058,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1059,1
    - Dst: auto::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1059,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1061,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1061,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1062,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1062,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1063,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1064,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1065,1
    - Dst: auto::second::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1065,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1066,1
    - Dst: auto::second::m_base_fees::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1066,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1067,1
    - Dst: auto::second::m_base_fees::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1067,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1068,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1068,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1068,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1069,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1070,1
    - Dst: auto::second::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1070,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1071,1
    - Dst: auto::second::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1071,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1074,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 867
    functionDepth: 4
    functionLinenumber: 867
    functionLinenumberEnd: 1076
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - Package::push_back
    - GetScriptForDestination
    - GetResult
    - auto::second::m_state::GetResult
    - CFeeRate
    - CheckPackageMempoolAcceptResult
    - m_state::GetResult
    - BOOST_CHECK_EQUAL
    - mempool::ClearPrioritisation
    - mempool::get
    - GetVirtualTransactionSize
    - Package::size
    - CreateValidMempoolTransaction
    - auto::value
    - mempool::m_opts::min_relay_feerate::GetFee
    - WitnessV0KeyHash
    - GenerateRandomKey
    - auto::second::m_effective_feerate::value
    - mempool::GetMinFee
    - BOOST_CHECK
    - BOOST_ERROR
    - auto::second::m_wtxids_fee_calculations::value
    - mempool::PrioritiseTransaction
    - auto::m_tx_results::size
    - mempool::size
    - BOOST_CHECK_MESSAGE
    - auto::second::m_state::GetRejectReason
    - auto::m_state::GetResult
    - auto::m_tx_results::find
    - MakeTransactionRef
    - WITH_LOCK
    - CTransactionRef::GetWitnessHash
    - CFeeRate::GetFeePerK
    - strprintf
    - auto::second::m_base_fees::value
    - CKey::GetPubKey
    - value
    - auto::m_state::GetRejectReason
    - auto::m_tx_results::at
    - chainman::ActiveChainstate
    - MockMempoolMinFee
    - CTransactionRef::GetHash
    - m_state::GetRejectReason
    - LOCK
    - mineBlocks
    - ProcessNewPackage
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(package_cpfp_tests)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1080,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1081,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1082,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1083,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1084,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1084,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1084,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1085,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1086,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1086,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1086,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1096,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1100,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1101,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1102,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1104,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1104,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1105,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1106,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1106,1
    - Dst: Package::push_back
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1107,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1109,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1110,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1110,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1111,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1111,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1112,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1112,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1116,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1116,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1117,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1117,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1118,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1119,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1121,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1121,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1123,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1123,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1124,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1124,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1125,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1125,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1129,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1129,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1130,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1130,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1131,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1132,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1133,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1136,1
    - Dst: mempool::exists
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1136,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1136,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1141,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1141,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1144,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1144,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1148,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1148,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1151,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1151,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1155,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1155,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1158,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1158,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1163,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1163,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1163,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1163,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1163,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1172,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1172,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1173,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1173,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1174,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1174,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1176,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1176,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1177,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1177,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1178,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1179,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1181,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1181,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1185,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1185,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1186,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1186,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1187,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1187,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1189,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1189,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1190,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1190,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1191,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1192,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1193,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1193,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1196,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1196,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1197,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1197,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1198,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1198,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1200,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1200,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1201,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1201,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1202,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1206,1
    - Dst: auto::second::m_replaced_transactions::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1207,1
    - Dst: auto::second::m_replaced_transactions::empty
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1207,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1209,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1209,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1210,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1211,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1211,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1212,1
    - Dst: auto::second::m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1212,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1213,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1213,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1214,1
    - Dst: auto::second::m_effective_feerate::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1214,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1216,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1216,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1220,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1220,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1221,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1221,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1222,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1222,1
    - Dst: mempool::PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1224,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1224,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1225,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1225,1
    - Dst: CheckPackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1226,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1226,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1227,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1227,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1229,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1229,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1230,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1230,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1231,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1232,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1233,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1234,1
    - Dst: mempool::GetIter
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1234,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1235,1
    - Dst: mempool::GetIter
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1235,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txpackage_tests.cpp:1235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1078
    functionDepth: 4
    functionLinenumber: 1078
    functionLinenumberEnd: 1237
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txpackage_tests.cpp
    functionUses: 0
    functionsReached:
    - Package::push_back
    - GetScriptForDestination
    - CheckPackageMempoolAcceptResult
    - auto::second::m_replaced_transactions::size
    - BOOST_CHECK_EQUAL
    - mempool::get
    - GetVirtualTransactionSize
    - CreateValidMempoolTransaction
    - auto::value
    - WitnessV0KeyHash
    - GenerateRandomKey
    - auto::second::m_effective_feerate::value
    - BOOST_CHECK
    - BOOST_ERROR
    - auto::second::m_wtxids_fee_calculations::value
    - mempool::PrioritiseTransaction
    - mempool::size
    - auto::m_tx_results::find
    - MakeTransactionRef
    - mempool::GetIter
    - CTransactionRef::GetWitnessHash
    - auto::second::m_replaced_transactions::empty
    - CKey::GetPubKey
    - chainman::ActiveChainstate
    - CTransactionRef::GetHash
    - LOCK
    - mineBlocks
    - mempool::exists
    - ProcessNewPackage
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(package_rbf_tests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::list::emplace_back
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:19,1
    - Dst: std::prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:21,1
    - Dst: std::list::end
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:21,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:22,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:24,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:24,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:24,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:25,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:25,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:26,1
    - Dst: second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:26,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:29,1
    - Dst: std::prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:29,1
    - Dst: Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:30,1
    - Dst: auto::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:30,1
    - Dst: std::prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' sentinel'
    argTypes:
    - CoinsCachePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 34
    functionName: CreatePairs
    functionSourceFile: /src/bitcoin-core/src/test/coinscachepair_tests.cpp
    functionUses: 0
    functionsReached:
    - SetDirty
    - auto::second::Prev
    - auto::second::IsFresh
    - std::list::emplace_back
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::list::end
    - auto::second::IsDirty
    - second::Prev
    - auto::second::Next
    - std::prev
    - Next
    linkageType: ''
    returnType: std::list<CoinsCachePair>
    signature: std::list<CoinsCachePair> CreatePairs(CoinsCachePair& sentinel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoinsCachePair::second::SelfRef
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:39,1
    - Dst: CreatePairs
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:40,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:43,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:45,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:46,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:48,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:54,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:55,1
    - Dst: auto::second::SetClean
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:59,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:61,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:61,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:62,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:62,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:65,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:65,1
    - Dst: auto::erase
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:65,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:66,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:66,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coinscachepair_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - CreatePairs
    - CoinsCachePair::second::Prev
    - auto::second::IsFresh
    - CoinsCachePair::second::SelfRef
    - CoinsCachePair::second::Next
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - auto::second::SetClean
    - auto::second::IsDirty
    - auto::second::Next
    - auto::end
    - auto::erase
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(linked_list_iteration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoinsCachePair::second::SelfRef
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:73,1
    - Dst: CreatePairs
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:74,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:79,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:80,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:80,1
    - Dst: auto::erase
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:81,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:82,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:84,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:87,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:87,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:88,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coinscachepair_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - CreatePairs
    - CoinsCachePair::second::Prev
    - CoinsCachePair::second::SelfRef
    - CoinsCachePair::second::Next
    - BOOST_CHECK_EQUAL
    - auto::second::Next
    - auto::end
    - auto::erase
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(linked_list_iterate_erase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoinsCachePair::second::SelfRef
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:94,1
    - Dst: CreatePairs
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:95,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:98,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:99,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:100,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:101,1
    - Dst: auto::erase
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:108,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:108,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:108,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:109,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:109,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:110,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:110,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:110,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:111,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:112,1
    - Dst: auto::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:112,1
    - Dst: auto::erase
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:119,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:119,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:119,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:120,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:120,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:121,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:121,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:122,1
    - Dst: auto::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:122,1
    - Dst: auto::erase
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:129,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:129,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:129,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:130,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:130,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:131,1
    - Dst: auto::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:131,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:132,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:132,1
    - Dst: auto::erase
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:136,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:138,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:138,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:139,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 140
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coinscachepair_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::second::Prev
    - CreatePairs
    - CoinsCachePair::second::Prev
    - auto::second::IsFresh
    - std::next
    - CoinsCachePair::second::SelfRef
    - CoinsCachePair::second::Next
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - auto::second::IsDirty
    - auto::second::Next
    - auto::erase
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(linked_list_random_deletion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoinsCachePair::second::SelfRef
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:145,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:151,1
    - Dst: CoinsCachePair::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:151,1
    - Dst: CoinsCachePair::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:151,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:152,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:152,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:153,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:154,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:155,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:155,1
    - Dst: SetFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:158,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:159,1
    - Dst: CoinsCachePair::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:159,1
    - Dst: CoinsCachePair::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:159,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:160,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:160,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:161,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:161,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:162,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:162,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:163,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:163,1
    - Dst: SetFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:166,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:167,1
    - Dst: CoinsCachePair::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:167,1
    - Dst: CoinsCachePair::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:167,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:168,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:168,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:169,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:169,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:170,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:170,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:171,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:171,1
    - Dst: CoinsCachePair::second::SetClean
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:175,1
    - Dst: CoinsCachePair::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:175,1
    - Dst: CoinsCachePair::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:175,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:176,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:176,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:177,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:177,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:178,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:178,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:179,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:179,1
    - Dst: CoinsCachePair::second::SetClean
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:182,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:183,1
    - Dst: CoinsCachePair::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:183,1
    - Dst: CoinsCachePair::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:183,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:184,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:184,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:185,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:185,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:186,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:186,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:187,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:187,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:190,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:191,1
    - Dst: CoinsCachePair::second::IsDirty
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:191,1
    - Dst: CoinsCachePair::second::IsFresh
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:191,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:192,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:192,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:193,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:193,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:194,1
    - Dst: CoinsCachePair::second::Next
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:194,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:195,1
    - Dst: CoinsCachePair::second::Prev
      Src: /src/bitcoin-core/src/test/coinscachepair_tests.cpp:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 196
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coinscachepair_tests.cpp
    functionUses: 0
    functionsReached:
    - SetFresh
    - CoinsCachePair::second::IsDirty
    - SetDirty
    - CoinsCachePair::second::SetClean
    - CoinsCachePair::second::Prev
    - CoinsCachePair::second::IsFresh
    - CoinsCachePair::second::SelfRef
    - CoinsCachePair::second::Next
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(linked_list_set_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecompressAmount
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:29,1
    - Dst: CompressAmount
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: TestEncode
    functionSourceFile: /src/bitcoin-core/src/test/compress_tests.cpp
    functionUses: 0
    functionsReached:
    - CompressAmount
    - DecompressAmount
    linkageType: ''
    returnType: bool
    signature: bool TestEncode(uint64_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompressAmount
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:33,1
    - Dst: DecompressAmount
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: TestDecode
    functionSourceFile: /src/bitcoin-core/src/test/compress_tests.cpp
    functionUses: 0
    functionsReached:
    - CompressAmount
    - DecompressAmount
    linkageType: ''
    returnType: bool
    signature: bool TestDecode(uint64_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompressAmount
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:37,1
    - Dst: DecompressAmount
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - dec
    - enc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: TestPair
    functionSourceFile: /src/bitcoin-core/src/test/compress_tests.cpp
    functionUses: 0
    functionsReached:
    - CompressAmount
    - DecompressAmount
    linkageType: ''
    returnType: bool
    signature: bool TestPair(uint64_t dec, uint64_t enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:43,1
    - Dst: TestPair
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:43,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:44,1
    - Dst: TestPair
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:44,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:45,1
    - Dst: TestPair
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:45,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:46,1
    - Dst: TestPair
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:46,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:47,1
    - Dst: TestPair
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:48,1
    - Dst: TestPair
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:51,1
    - Dst: TestEncode
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:54,1
    - Dst: TestEncode
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:57,1
    - Dst: TestEncode
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:57,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:60,1
    - Dst: TestEncode
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:60,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:63,1
    - Dst: TestDecode
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/compress_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - TestDecode
    - TestPair
    - TestEncode
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(compress_amounts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:69,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:70,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:72,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:72,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:72,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:73,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:73,1
    - Dst: CompressScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:76,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:77,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:80,1
    - Dst: CompressedScript::size
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:81,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:82,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:82,1
    - Dst: CompressedScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:82,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/compress_tests.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - GenerateRandomKey
    - CScript::data
    - CScript::size
    - CompressedScript::size
    - CPubKey::GetID
    - BOOST_CHECK_EQUAL
    - memcmp
    - CScript
    - CompressedScript::data
    - CKey::GetPubKey
    - CompressScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(compress_script_to_ckey_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:88,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:89,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:90,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:90,1
    - Dst: CompressScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:94,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:97,1
    - Dst: CompressedScript::size
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:99,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:99,1
    - Dst: CompressedScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:99,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/compress_tests.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CScript::size
    - CScriptID
    - CompressScript
    - CompressedScript::size
    - BOOST_CHECK_EQUAL
    - memcmp
    - CompressedScript::data
    - CScript::data
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(compress_script_to_cscript_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:104,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:106,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:106,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:106,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:107,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:107,1
    - Dst: CompressScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:110,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:114,1
    - Dst: CompressedScript::size
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:114,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:115,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:115,1
    - Dst: CompressedScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:115,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:115,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:116,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:116,1
    - Dst: CompressedScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:116,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/compress_tests.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - GenerateRandomKey
    - CScript::data
    - CScript::size
    - CompressedScript::size
    - BOOST_CHECK_EQUAL
    - memcmp
    - CScript
    - CompressedScript::data
    - CKey::GetPubKey
    - CompressScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(compress_script_to_compressed_pubkey_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:121,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:122,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:122,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:122,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:123,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:123,1
    - Dst: CompressScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:126,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:127,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:130,1
    - Dst: CompressedScript::size
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:130,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:131,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:131,1
    - Dst: CompressedScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:131,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:131,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/compress_tests.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - GenerateRandomKey
    - CScript::data
    - CScript::size
    - CompressedScript::size
    - BOOST_CHECK_EQUAL
    - memcmp
    - CScript
    - CompressedScript::data
    - CKey::GetPubKey
    - CompressScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(compress_script_to_uncompressed_pubkey_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:137,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:139,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:139,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:140,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:146,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:146,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:146,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:148,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:148,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:149,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:149,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:150,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:150,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:151,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:151,1
    - Dst: CompressScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:155,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:159,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:159,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:161,1
    - Dst: DecompressScript
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:162,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/compress_tests.cpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pubkey_not_on_curve.IsValid())
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/bitcoin-core/src/test/compress_tests.cpp
    - condition: (!pubkey_not_on_curve.IsFullyValid())
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/bitcoin-core/src/test/compress_tests.cpp
    constantsTouched: []
    func_position:
      end: 165
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 165
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/compress_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - XOnlyPubKey::begin
    - ToByteVector
    - randbytes
    - CScript::CScript
    - CScript::size
    - XOnlyPubKey::end
    - XOnlyPubKey
    - BOOST_CHECK_EQUAL
    - DecompressScript
    - CScript
    - XOnlyPubKey::IsFullyValid
    - assert
    - CPubKey::IsFullyValid
    - XOnlyPubKey::XOnlyPubKey
    - CPubKey::IsValid
    - CompressScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(compress_p2pk_scripts_not_on_curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:65,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:66,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:67,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:68,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:69,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:70,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:71,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:73,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:74,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:79,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:79,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:80,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:82,1
    - Dst: CKey::SignSchnorr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:82,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:83,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:84,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:88,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:89,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:89,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:90,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:91,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:92,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:93,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:94,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:95,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:96,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:96,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:97,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:98,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:99,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:100,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 103
    functionName: TestData
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - CKey::Sign
    - std::vector<unsigned char>
    - emplace
    - std::vector::resize
    - CKey::SignSchnorr
    - push_back
    - std::vector::data
    - Hash160
    - CHash256
    - CKey::Set
    - CSHA256
    - CPubKey::GetID
    - CKey::CKey
    - BOOST_CHECK
    - std::vector::push_back
    - CRIPEMD160
    - CHash160
    - CKey::GetPubKey
    linkageType: ''
    returnType: void
    signature: void TestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:123,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: ChallengeNumber
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - data
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ChallengeNumber(const CPubKey& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:124,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ChallengeNumber
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - data
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ChallengeNumber(const std::vector<unsigned char>& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - miniscript::MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: KeyConverter
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyConverter(miniscript::MiniscriptContext ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const Key& a, const Key& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:143,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:144,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:144,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:147,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: ToPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::end
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKBytes(const CPubKey& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:152,1
    - Dst: pkhashes::at
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:153,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:154,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:154,1
    - Dst: xonly_pkhashes::at
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:157,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:158,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: ToPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - pkhashes::at
    - auto::begin
    - miniscript::IsTapscript
    - auto::end
    - xonly_pkhashes::at
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKHBytes(const CPubKey& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:164,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:164,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:165,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:165,1
    - Dst: Key::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: FromString
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 3
    functionsReached:
    - auto::begin
    - std::string
    - Key::IsValid
    - auto::end
    - ParseHex
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromString(I first, I last) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:172,1
    - Dst: Key::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:174,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:178,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:179,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:179,1
    - Dst: XOnlyPubKey::GetEvenCorrespondingCPubKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::GetEvenCorrespondingCPubKey
    - Key::IsValid
    - XOnlyPubKey::XOnlyPubKey
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:185,1
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:186,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:187,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:187,1
    - Dst: pkmap::at
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (last - first == 20)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bitcoin-core/src/test/miniscript_tests.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - CKeyID::CKeyID
    - CKeyID::begin
    - pkmap::at
    - assert
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKHBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:192,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: ToString
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 113
    functionsReached:
    - ToPKBytes
    - HexStr
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: MsContext
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: miniscript::MiniscriptContext
    signature: miniscript::MiniscriptContext MsContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - miniscript::MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Satisfier
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Satisfier(miniscript::MiniscriptContext ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:210,1
    - Dst: Challenge
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: CheckAfter
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - Challenge
    - count
    linkageType: ''
    returnType: bool
    signature: bool CheckAfter(uint32_t value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:215,1
    - Dst: Challenge
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: CheckOlder
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - Challenge
    - count
    linkageType: ''
    returnType: bool
    signature: bool CheckOlder(uint32_t value) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:220,1
    - Dst: Challenge
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:220,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:220,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:221,1
    - Dst: signatures::find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:222,1
    - Dst: signatures::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:223,1
    - Dst: schnorr_signatures::find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:226,1
    - Dst: schnorr_signatures::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' key'
    - ' sig'
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: Sign
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 5
    functionsReached:
    - Challenge
    - ChallengeNumber
    - signatures::find
    - signatures::end
    - miniscript::IsTapscript
    - schnorr_signatures::end
    - schnorr_signatures::find
    - count
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability Sign(const CPubKey& key, std::vector<unsigned
      char>& sig) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:237,1
    - Dst: Challenge
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:237,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:237,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:243,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' hash'
    - ' preimage'
    - chtype
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - ChallengeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: SatHash
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - Challenge
    - end
    - ChallengeNumber
    - find
    - count
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHash(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage, ChallengeType chtype) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SatHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: SatSHA256
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - SatHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatSHA256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SatHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: SatRIPEMD160
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - SatHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatRIPEMD160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SatHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: SatHASH256
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - SatHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SatHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: SatHASH160
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - SatHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' in_ctx LIFETIMEBOUND'
    argTypes:
    - Satisfier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: TestSignatureChecker::TestSignatureChecker
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestSignatureChecker(const Satisfier& in_ctx LIFETIMEBOUND)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:268,1
    - Dst: signatures::find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:270,1
    - Dst: signatures::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' sig'
    - ' pubkey'
    - ' scriptcode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: TestSignatureChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - signatures::find
    - signatures::end
    - CPubKey::IsValid
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& pubkey, const CScript& scriptcode, SigVersion sigversion)
      const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schnorr_signatures::find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:278,1
    - Dst: schnorr_signatures::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:279,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sig
    - pubkey
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: TestSignatureChecker::CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - schnorr_signatures::find
    - schnorr_signatures::end
    linkageType: ''
    returnType: bool
    signature: "bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion,\n                               ScriptExecutionData&,
      ScriptError*) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAfter
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:285,1
    - Dst: GetInt64
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' locktime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: TestSignatureChecker::CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - GetInt64
    - CheckAfter
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& locktime) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOlder
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:290,1
    - Dst: GetInt64
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: TestSignatureChecker::CheckSequence
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckOlder
    - GetInt64
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& sequence) const override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:304,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:305,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:306,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:309,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:309,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:312,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:313,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:314,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:314,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:315,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:315,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:316,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:316,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:317,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:317,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:321,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - root
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: FindChallenges
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - ChallengeNumber
    - std::vector::back
    - std::vector::push_back
    - std::set::emplace
    - get
    - std::vector::pop_back
    - std::vector::empty
    linkageType: ''
    returnType: std::set<Challenge>
    signature: std::set<Challenge> FindChallenges(const Node* root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:330,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:330,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:330,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:333,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:334,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:335,1
    - Dst: GetOutput
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - ' script'
    - ' builder'
    argTypes:
    - miniscript::MiniscriptContext
    - CScript
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: ScriptPubKey
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - miniscript::IsTapscript
    - GetOutput
    - WitnessV0ScriptHash
    - Finalize
    - CScript
    - Add
    linkageType: ''
    returnType: CScript
    signature: CScript ScriptPubKey(miniscript::MiniscriptContext ctx, const CScript&
      script, TaprootBuilder& builder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stack::emplace_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:341,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:341,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:341,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:342,1
    - Dst: stack::push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:344,1
    - Dst: GetSpendData
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:344,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:344,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - ' witness'
    - ' script'
    - ' builder'
    argTypes:
    - miniscript::MiniscriptContext
    - CScriptWitness
    - CScript
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: SatisfactionToWitness
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - miniscript::IsTapscript
    - stack::push_back
    - GetSpendData
    - begin
    - stack::emplace_back
    linkageType: ''
    returnType: void
    signature: void SatisfactionToWitness(miniscript::MiniscriptContext ctx, CScriptWitness&
      witness, const CScript& script, TaprootBuilder& builder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:350,1
    - Dst: FindChallenges
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:351,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:351,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:352,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:352,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:354,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:354,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:354,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:355,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:359,1
    - Dst: Satisfier::supported::insert
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:360,1
    - Dst: ScriptPubKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:364,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:364,1
    - Dst: Satisfy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:368,1
    - Dst: SatisfactionToWitness
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:369,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:369,1
    - Dst: Satisfy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:373,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:375,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:375,1
    - Dst: CScriptWitness::stack::size
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:375,1
    - Dst: SatisfactionToWitness
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:376,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:376,1
    - Dst: GetStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:382,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:382,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:382,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:383,1
    - Dst: CScriptWitness::stack::size
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:383,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:385,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:386,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:387,1
    - Dst: GetWitnessSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:387,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:391,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:391,1
    - Dst: ValidSatisfactions
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:396,1
    - Dst: CheckOpsLimit
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:397,1
    - Dst: CheckStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:398,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:404,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:404,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:407,1
    - Dst: IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:410,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:412,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:416,1
    - Dst: IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:420,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:421,1
    - Dst: IsSatisfiable
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:428,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:430,1
    - Dst: IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:432,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - ' converter'
    - ' testcase'
    - ' node'
    argTypes:
    - KeyConverter
    - std::string
    - NodeRef
    assertStmts:
    - condition: (wit_size <= *node->GetWitnessSize())
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/bitcoin-core/src/test/miniscript_tests.cpp
    constantsTouched: []
    func_position:
      end: 434
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 434
    functionName: TestSatisfy
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - IsSatisfiable
    - miniscript::IsTapscript
    - FindChallenges
    - ScriptPubKey
    - BOOST_CHECK_EQUAL
    - std::shuffle
    - Satisfy
    - auto::begin
    - std::vector::end
    - BOOST_CHECK
    - get
    - CScriptWitness::stack::size
    - std::vector::size
    - Satisfier::supported::insert
    - VerifyScript
    - GetSerializeSize
    - SatisfactionToWitness
    - GetSizeOfCompactSize
    - CheckOpsLimit
    - assert
    - MsContext
    - ValidSatisfactions
    - IsSane
    - GetStackSize
    - std::vector::begin
    - ToScript
    - CheckStackSize
    - GetWitnessSize
    - CScript
    - auto::end
    linkageType: ''
    returnType: void
    signature: void TestSatisfy(const KeyConverter& converter, const std::string&
      testcase, const NodeRef& node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:454,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:455,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:455,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:457,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:457,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:459,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:460,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:460,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:461,1
    - Dst: auto::IsValidTopLevel
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:461,1
    - Dst: auto::ToScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:462,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:463,1
    - Dst: auto::ScriptSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:463,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:463,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:464,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:464,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:464,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:465,1
    - Dst: auto::IsNonMalleable
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:465,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:466,1
    - Dst: auto::NeedsSignature
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:466,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:467,1
    - Dst: auto::GetType
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:467,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:468,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:469,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:470,1
    - Dst: auto::ToScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:470,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:471,1
    - Dst: auto::GetOps
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:471,1
    - Dst: auto::GetOps
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:471,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:472,1
    - Dst: auto::GetStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:472,1
    - Dst: auto::GetStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:472,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:473,1
    - Dst: auto::GetWitnessSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:473,1
    - Dst: auto::GetWitnessSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:473,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:474,1
    - Dst: auto::GetExecStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:474,1
    - Dst: auto::GetExecStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:474,1
    - Dst: TestSatisfy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - ' ms'
    - ' hexscript'
    - mode
    - ' converter'
    argTypes:
    - std::string
    - std::string
    - int
    - KeyConverter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 477
    functionName: Test
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 2
    functionsReached:
    - auto::IsValidTopLevel
    - auto::size
    - miniscript::IsTapscript
    - auto::ToScript
    - auto::ScriptSize
    - TestSatisfy
    - auto::NeedsSignature
    - auto::GetOps
    - auto::IsValid
    - miniscript::FromString
    - BOOST_CHECK_MESSAGE
    - auto::GetType
    - MsContext
    - auto::GetExecStackSize
    - miniscript::FromScript
    - auto::GetWitnessSize
    - auto::GetStackSize
    - auto::IsNonMalleable
    - HexStr
    linkageType: ''
    returnType: void
    signature: "void Test(const std::string& ms, const std::string& hexscript, int
      mode, const KeyConverter& converter,\n          int opslimit = -1, int stacklimit
      = -1, std::optional<uint32_t> max_wit_size = std::nullopt,\n          std::optional<uint32_t>
      stack_exec = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:485,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' ms'
    - ' hexscript'
    - ' hextapscript'
    - mode
    - opslimit
    - stacklimit
    - max_wit_size
    - max_tap_wit_size
    - stack_exec
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - int
    - int
    - std::optional<uint32_t>
    - std::optional<uint32_t>
    - std::optional<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: Test
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 3
    functionsReached:
    - Test
    linkageType: ''
    returnType: void
    signature: "void Test(const std::string& ms, const std::string& hexscript, const
      std::string& hextapscript, int mode,\n          int opslimit, int stacklimit,
      std::optional<uint32_t> max_wit_size,\n          std::optional<uint32_t> max_tap_wit_size,\n
      \         std::optional<uint32_t> stack_exec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ms'
    - ' hexscript'
    - ' hextapscript'
    - mode
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: Test
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 4
    functionsReached:
    - Test
    linkageType: ''
    returnType: void
    signature: void Test(const std::string& ms, const std::string& hexscript, const
      std::string& hextapscript, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:65,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:66,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:67,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:68,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:69,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:70,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:71,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:73,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:74,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:79,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:79,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:80,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:82,1
    - Dst: CKey::SignSchnorr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:82,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:83,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:84,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:88,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:89,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:89,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:90,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:91,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:92,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:93,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:94,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:95,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:96,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:96,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:97,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:98,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:99,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:100,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 103
    functionName: TestData
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - CKey::Sign
    - std::vector<unsigned char>
    - emplace
    - std::vector::resize
    - CKey::SignSchnorr
    - push_back
    - std::vector::data
    - Hash160
    - CHash256
    - CKey::Set
    - CSHA256
    - CPubKey::GetID
    - CKey::CKey
    - BOOST_CHECK
    - std::vector::push_back
    - CRIPEMD160
    - CHash160
    - CKey::GetPubKey
    linkageType: ''
    returnType: void
    signature: void TestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:123,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: ChallengeNumber
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 3
    functionsReached:
    - ReadLE32
    - data
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ChallengeNumber(const CPubKey& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:124,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ChallengeNumber
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 3
    functionsReached:
    - ReadLE32
    - data
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ChallengeNumber(const std::vector<unsigned char>& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - miniscript::MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: KeyConverter
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyConverter(miniscript::MiniscriptContext ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const Key& a, const Key& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:143,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:144,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:144,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:147,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: ToPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 1
    functionsReached:
    - end
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::end
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKBytes(const CPubKey& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:152,1
    - Dst: pkhashes::at
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:153,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:154,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:154,1
    - Dst: xonly_pkhashes::at
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:157,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:158,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: ToPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - pkhashes::at
    - auto::begin
    - miniscript::IsTapscript
    - auto::end
    - xonly_pkhashes::at
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKHBytes(const CPubKey& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:164,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:164,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:165,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:165,1
    - Dst: Key::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: FromString
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 4
    functionsReached:
    - auto::begin
    - std::string
    - Key::IsValid
    - auto::end
    - ParseHex
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromString(I first, I last) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:172,1
    - Dst: Key::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:174,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:178,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:179,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:179,1
    - Dst: XOnlyPubKey::GetEvenCorrespondingCPubKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::GetEvenCorrespondingCPubKey
    - Key::IsValid
    - XOnlyPubKey::XOnlyPubKey
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:185,1
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:186,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:187,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:187,1
    - Dst: pkmap::at
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (last - first == 20)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bitcoin-core/src/test/miniscript_tests.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - CKeyID::CKeyID
    - CKeyID::begin
    - pkmap::at
    - assert
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKHBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:192,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: ToString
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 113
    functionsReached:
    - ToPKBytes
    - HexStr
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: MsContext
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: miniscript::MiniscriptContext
    signature: miniscript::MiniscriptContext MsContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - miniscript::MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Satisfier
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Satisfier(miniscript::MiniscriptContext ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:210,1
    - Dst: Challenge
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: CheckAfter
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 1
    functionsReached:
    - Challenge
    - count
    linkageType: ''
    returnType: bool
    signature: bool CheckAfter(uint32_t value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:215,1
    - Dst: Challenge
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: CheckOlder
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 1
    functionsReached:
    - Challenge
    - count
    linkageType: ''
    returnType: bool
    signature: bool CheckOlder(uint32_t value) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:220,1
    - Dst: Challenge
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:220,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:220,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:221,1
    - Dst: signatures::find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:222,1
    - Dst: signatures::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:223,1
    - Dst: schnorr_signatures::find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:226,1
    - Dst: schnorr_signatures::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' key'
    - ' sig'
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: Sign
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 6
    functionsReached:
    - Challenge
    - ChallengeNumber
    - signatures::find
    - signatures::end
    - miniscript::IsTapscript
    - schnorr_signatures::end
    - schnorr_signatures::find
    - count
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability Sign(const CPubKey& key, std::vector<unsigned
      char>& sig) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:237,1
    - Dst: Challenge
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:237,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:237,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:243,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' hash'
    - ' preimage'
    - chtype
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - ChallengeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: SatHash
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 4
    functionsReached:
    - Challenge
    - end
    - ChallengeNumber
    - find
    - count
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHash(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage, ChallengeType chtype) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SatHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: SatSHA256
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - SatHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatSHA256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SatHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: SatRIPEMD160
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - SatHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatRIPEMD160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SatHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: SatHASH256
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - SatHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SatHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: SatHASH160
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - SatHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' in_ctx LIFETIMEBOUND'
    argTypes:
    - Satisfier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: TestSignatureChecker::TestSignatureChecker
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestSignatureChecker(const Satisfier& in_ctx LIFETIMEBOUND)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:268,1
    - Dst: signatures::find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:270,1
    - Dst: signatures::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' sig'
    - ' pubkey'
    - ' scriptcode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: TestSignatureChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - signatures::find
    - signatures::end
    - CPubKey::IsValid
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& pubkey, const CScript& scriptcode, SigVersion sigversion)
      const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schnorr_signatures::find
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:278,1
    - Dst: schnorr_signatures::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:279,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sig
    - pubkey
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: TestSignatureChecker::CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - schnorr_signatures::find
    - schnorr_signatures::end
    linkageType: ''
    returnType: bool
    signature: "bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion,\n                               ScriptExecutionData&,
      ScriptError*) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAfter
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:285,1
    - Dst: GetInt64
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' locktime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: TestSignatureChecker::CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - GetInt64
    - CheckAfter
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& locktime) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOlder
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:290,1
    - Dst: GetInt64
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: TestSignatureChecker::CheckSequence
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckOlder
    - GetInt64
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& sequence) const override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:304,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:305,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:306,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:309,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:309,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:312,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:313,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:314,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:314,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:315,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:315,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:316,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:316,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:317,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:317,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:321,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - root
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: FindChallenges
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 1
    functionsReached:
    - ChallengeNumber
    - std::vector::back
    - std::vector::push_back
    - std::set::emplace
    - get
    - std::vector::pop_back
    - std::vector::empty
    linkageType: ''
    returnType: std::set<Challenge>
    signature: std::set<Challenge> FindChallenges(const Node* root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:330,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:330,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:330,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:333,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:334,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:335,1
    - Dst: GetOutput
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - ' script'
    - ' builder'
    argTypes:
    - miniscript::MiniscriptContext
    - CScript
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: ScriptPubKey
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 1
    functionsReached:
    - GetScriptForDestination
    - miniscript::IsTapscript
    - GetOutput
    - WitnessV0ScriptHash
    - Finalize
    - CScript
    - Add
    linkageType: ''
    returnType: CScript
    signature: CScript ScriptPubKey(miniscript::MiniscriptContext ctx, const CScript&
      script, TaprootBuilder& builder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stack::emplace_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:341,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:341,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:341,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:342,1
    - Dst: stack::push_back
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:344,1
    - Dst: GetSpendData
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:344,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:344,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - ' witness'
    - ' script'
    - ' builder'
    argTypes:
    - miniscript::MiniscriptContext
    - CScriptWitness
    - CScript
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: SatisfactionToWitness
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 1
    functionsReached:
    - end
    - miniscript::IsTapscript
    - stack::push_back
    - GetSpendData
    - begin
    - stack::emplace_back
    linkageType: ''
    returnType: void
    signature: void SatisfactionToWitness(miniscript::MiniscriptContext ctx, CScriptWitness&
      witness, const CScript& script, TaprootBuilder& builder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:350,1
    - Dst: FindChallenges
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:351,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:351,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:352,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:352,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:354,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:354,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:354,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:355,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:359,1
    - Dst: Satisfier::supported::insert
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:360,1
    - Dst: ScriptPubKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:364,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:364,1
    - Dst: Satisfy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:368,1
    - Dst: SatisfactionToWitness
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:369,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:369,1
    - Dst: Satisfy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:373,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:375,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:375,1
    - Dst: CScriptWitness::stack::size
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:375,1
    - Dst: SatisfactionToWitness
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:376,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:376,1
    - Dst: GetStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:382,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:382,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:382,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:383,1
    - Dst: CScriptWitness::stack::size
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:383,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:385,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:386,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:387,1
    - Dst: GetWitnessSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:387,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:391,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:391,1
    - Dst: ValidSatisfactions
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:396,1
    - Dst: CheckOpsLimit
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:397,1
    - Dst: CheckStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:398,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:404,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:404,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:407,1
    - Dst: IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:410,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:412,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:416,1
    - Dst: IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:420,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:421,1
    - Dst: IsSatisfiable
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:428,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:430,1
    - Dst: IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:432,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - ' converter'
    - ' testcase'
    - ' node'
    argTypes:
    - KeyConverter
    - std::string
    - NodeRef
    assertStmts:
    - condition: (wit_size <= *node->GetWitnessSize())
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/bitcoin-core/src/test/miniscript_tests.cpp
    constantsTouched: []
    func_position:
      end: 434
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 434
    functionName: TestSatisfy
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 1
    functionsReached:
    - IsSatisfiable
    - miniscript::IsTapscript
    - FindChallenges
    - ScriptPubKey
    - BOOST_CHECK_EQUAL
    - std::shuffle
    - Satisfy
    - auto::begin
    - std::vector::end
    - BOOST_CHECK
    - get
    - CScriptWitness::stack::size
    - std::vector::size
    - Satisfier::supported::insert
    - VerifyScript
    - GetSerializeSize
    - SatisfactionToWitness
    - GetSizeOfCompactSize
    - CheckOpsLimit
    - assert
    - MsContext
    - ValidSatisfactions
    - IsSane
    - GetStackSize
    - std::vector::begin
    - ToScript
    - CheckStackSize
    - GetWitnessSize
    - CScript
    - auto::end
    linkageType: ''
    returnType: void
    signature: void TestSatisfy(const KeyConverter& converter, const std::string&
      testcase, const NodeRef& node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:454,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:455,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:455,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:457,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:457,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:459,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:460,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:460,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:461,1
    - Dst: auto::IsValidTopLevel
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:461,1
    - Dst: auto::ToScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:462,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:463,1
    - Dst: auto::ScriptSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:463,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:463,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:464,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:464,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:464,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:465,1
    - Dst: auto::IsNonMalleable
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:465,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:466,1
    - Dst: auto::NeedsSignature
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:466,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:467,1
    - Dst: auto::GetType
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:467,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:468,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:469,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:470,1
    - Dst: auto::ToScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:470,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:471,1
    - Dst: auto::GetOps
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:471,1
    - Dst: auto::GetOps
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:471,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:472,1
    - Dst: auto::GetStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:472,1
    - Dst: auto::GetStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:472,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:473,1
    - Dst: auto::GetWitnessSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:473,1
    - Dst: auto::GetWitnessSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:473,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:474,1
    - Dst: auto::GetExecStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:474,1
    - Dst: auto::GetExecStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:474,1
    - Dst: TestSatisfy
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - ' ms'
    - ' hexscript'
    - mode
    - ' converter'
    argTypes:
    - std::string
    - std::string
    - int
    - KeyConverter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 477
    functionName: Test
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 4
    functionsReached:
    - auto::IsValidTopLevel
    - auto::size
    - miniscript::IsTapscript
    - auto::ToScript
    - auto::ScriptSize
    - TestSatisfy
    - auto::NeedsSignature
    - auto::GetOps
    - auto::IsValid
    - miniscript::FromString
    - BOOST_CHECK_MESSAGE
    - auto::GetType
    - MsContext
    - auto::GetExecStackSize
    - miniscript::FromScript
    - auto::GetWitnessSize
    - auto::GetStackSize
    - auto::IsNonMalleable
    - HexStr
    linkageType: ''
    returnType: void
    signature: "void Test(const std::string& ms, const std::string& hexscript, int
      mode, const KeyConverter& converter,\n          int opslimit = -1, int stacklimit
      = -1, std::optional<uint32_t> max_wit_size = std::nullopt,\n          std::optional<uint32_t>
      stack_exec = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:485,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' ms'
    - ' hexscript'
    - ' hextapscript'
    - mode
    - opslimit
    - stacklimit
    - max_wit_size
    - max_tap_wit_size
    - stack_exec
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - int
    - int
    - std::optional<uint32_t>
    - std::optional<uint32_t>
    - std::optional<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: Test
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 5
    functionsReached:
    - Test
    linkageType: ''
    returnType: void
    signature: "void Test(const std::string& ms, const std::string& hexscript, const
      std::string& hextapscript, int mode,\n          int opslimit, int stacklimit,
      std::optional<uint32_t> max_wit_size,\n          std::optional<uint32_t> max_tap_wit_size,\n
      \         std::optional<uint32_t> stack_exec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ms'
    - ' hexscript'
    - ' hextapscript'
    - mode
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: Test
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 6
    functionsReached:
    - Test
    linkageType: ''
    returnType: void
    signature: void Test(const std::string& ms, const std::string& hexscript, const
      std::string& hextapscript, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:504,1
    - Dst: TestData::TestData
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:504,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:507,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:508,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:509,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:510,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:511,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:512,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:513,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:514,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:515,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:516,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:517,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:518,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:519,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:520,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:521,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:522,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:523,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:524,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:525,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:526,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:527,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:528,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:529,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:530,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:531,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:532,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:533,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:534,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:535,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:536,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:537,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:538,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:539,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:540,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:541,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:542,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:543,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:544,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:545,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:546,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:547,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:548,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:549,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:550,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:551,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:552,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:553,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:554,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:555,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:556,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:557,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:558,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:559,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:560,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:563,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:564,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:565,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:566,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:567,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:568,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:569,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:570,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:571,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:572,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:573,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:574,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:575,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:576,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:577,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:578,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:579,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:580,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:581,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:582,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:583,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:584,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:585,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:586,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:587,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:588,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:589,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:590,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:591,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:592,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:593,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:603,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:603,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:603,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:603,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:605,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:605,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:605,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:605,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:607,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:607,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:607,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:607,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:609,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:613,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:617,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:619,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:625,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:627,1
    - Dst: std::string::insert
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:628,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:628,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:629,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:637,1
    - Dst: std::string::insert
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:638,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:638,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:639,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:640,1
    - Dst: auto::CheckStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:640,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:641,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:645,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:646,1
    - Dst: auto::CheckStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:646,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:647,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:652,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:652,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:653,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:653,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:654,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:654,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:657,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:657,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:658,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:658,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:659,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:659,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:661,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:663,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:665,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:667,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:669,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:670,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:671,1
    - Dst: auto::GetOps
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:671,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:672,1
    - Dst: auto::GetStackSize
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:672,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:680,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:681,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:681,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:683,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:684,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:685,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:685,1
    - Dst: auto::CheckDuplicateKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:685,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:687,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:688,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:688,1
    - Dst: auto::CheckDuplicateKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:688,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:690,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:691,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:691,1
    - Dst: auto::CheckDuplicateKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:691,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:693,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:694,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:694,1
    - Dst: auto::CheckDuplicateKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:694,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:696,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:697,1
    - Dst: auto::CheckDuplicateKey
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:697,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:697,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:703,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:704,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:704,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:704,1
    - Dst: auto::FindInsaneSub
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:705,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:706,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:706,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:709,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:709,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:710,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:710,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:711,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:711,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:712,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:712,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:715,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:716,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:717,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:718,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:723,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:725,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/miniscript_tests.cpp:727,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 148
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 502
    functionDepth: 6
    functionLinenumber: 502
    functionLinenumberEnd: 728
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/miniscript_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - std::string::end
    - BOOST_CHECK_EQUAL
    - auto::GetStackSize
    - auto::begin
    - auto::end
    - auto::IsValid
    - BOOST_CHECK
    - auto::CheckStackSize
    - miniscript::FromString
    - Test
    - auto::FindInsaneSub
    - TestData::TestData
    - auto::IsSane
    - auto::CheckDuplicateKey
    - reset
    - miniscript::FromScript
    - auto::GetOps
    - HexStr
    - std::string::insert
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(fixed_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:20,1
    - Dst: Random_SanityCheck
      Src: /src/bitcoin-core/src/test/random_tests.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/random_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - Random_SanityCheck
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(osrandom_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/random_tests.cpp:26,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:31,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:31,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:32,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:32,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:33,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:33,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:34,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:34,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:36,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:36,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:37,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:37,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:38,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:38,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:39,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:39,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:41,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:41,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:42,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:42,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:43,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:43,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:44,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:50,1
    - Dst: FastRandomContext::rand_uniform_delay
      Src: /src/bitcoin-core/src/test/random_tests.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:51,1
    - Dst: FastRandomContext::rand_uniform_delay
      Src: /src/bitcoin-core/src/test/random_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:52,1
    - Dst: FastRandomContext::rand_uniform_delay
      Src: /src/bitcoin-core/src/test/random_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:53,1
    - Dst: FastRandomContext::rand_uniform_delay
      Src: /src/bitcoin-core/src/test/random_tests.cpp:53,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:54,1
    - Dst: FastRandomContext::rand_uniform_delay
      Src: /src/bitcoin-core/src/test/random_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:55,1
    - Dst: FastRandomContext::rand_uniform_delay
      Src: /src/bitcoin-core/src/test/random_tests.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:57,1
    - Dst: FastRandomContext::rand32
      Src: /src/bitcoin-core/src/test/random_tests.cpp:57,1
    - Dst: FastRandomContext::rand32
      Src: /src/bitcoin-core/src/test/random_tests.cpp:57,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:58,1
    - Dst: FastRandomContext::rand32
      Src: /src/bitcoin-core/src/test/random_tests.cpp:58,1
    - Dst: FastRandomContext::rand32
      Src: /src/bitcoin-core/src/test/random_tests.cpp:58,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:59,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/test/random_tests.cpp:59,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/test/random_tests.cpp:59,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:60,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:60,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:60,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:61,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/random_tests.cpp:61,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/random_tests.cpp:61,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/random_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:62,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/test/random_tests.cpp:62,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/test/random_tests.cpp:62,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:63,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:63,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:63,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:64,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/random_tests.cpp:64,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/random_tests.cpp:64,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:65,1
    - Dst: FastRandomContext::rand32
      Src: /src/bitcoin-core/src/test/random_tests.cpp:65,1
    - Dst: FastRandomContext::rand32
      Src: /src/bitcoin-core/src/test/random_tests.cpp:65,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:66,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:66,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:66,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:67,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/test/random_tests.cpp:67,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/test/random_tests.cpp:67,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:68,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/random_tests.cpp:68,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/random_tests.cpp:68,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:75,1
    - Dst: FastRandomContext::rand_uniform_duration
      Src: /src/bitcoin-core/src/test/random_tests.cpp:75,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:77,1
    - Dst: FastRandomContext::rand_uniform_duration
      Src: /src/bitcoin-core/src/test/random_tests.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 79
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/random_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - FastRandomContext::rand256
    - FastRandomContext::rand64
    - FastRandomContext::randbits
    - FastRandomContext::randbytes
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - FastRandomContext::rand_uniform_delay
    - FastRandomContext
    - SeedRandomForTest
    - FastRandomContext::rand_uniform_duration
    - FastRandomContext::rand32
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(fastrandom_tests_deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:85,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:86,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:86,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:87,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:88,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:90,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:91,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:92,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:92,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:93,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:95,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:95,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:96,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:97,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:98,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:98,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:103,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/test/random_tests.cpp:103,1
    - Dst: rand64
      Src: /src/bitcoin-core/src/test/random_tests.cpp:103,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:106,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:107,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/test/random_tests.cpp:107,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/random_tests.cpp:107,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:111,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/random_tests.cpp:111,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/random_tests.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 113
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/random_tests.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext::rand256
    - randbytes
    - FastRandomContext::randbytes
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK
    - rand64
    - FastRandomContext
    - FastRandomContext::rand64
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(fastrandom_tests_nondeterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:117,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:118,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:121,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:122,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/test/random_tests.cpp:124,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/random_tests.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext::randbits
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - FastRandomContext::randrange
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(fastrandom_randbits)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:133,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/test/random_tests.cpp:147,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:149,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:153,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:155,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:157,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:159,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:161,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:163,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/random_tests.cpp:165,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:167,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:169,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/test/random_tests.cpp:184,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/random_tests.cpp:184,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/random_tests.cpp:184,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/random_tests.cpp:189,1
    - Dst: fabs
      Src: /src/bitcoin-core/src/test/random_tests.cpp:189,1
    - Dst: sqrt
      Src: /src/bitcoin-core/src/test/random_tests.cpp:189,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fabs(val.first * 0.5 - val.second) < sqrt(val.first * 0.25) * 7.78)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/bitcoin-core/src/test/random_tests.cpp
    constantsTouched: []
    func_position:
      end: 192
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 192
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/random_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - FastRandomContext::randbits
    - randbits
    - fabs
    - std::vector::begin
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK_EQUAL
    - FastRandomContext::rand64
    - sqrt
    - assert
    - std::all_of
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(randbits_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/random_tests.cpp:197,1
    - Dst: distribution
      Src: /src/bitcoin-core/src/test/random_tests.cpp:200,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:202,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/random_tests.cpp:205,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/random_tests.cpp:205,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/random_tests.cpp:205,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:207,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/random_tests.cpp:207,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/random_tests.cpp:207,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/random_tests.cpp:207,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/random_tests.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 210
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/random_tests.cpp
    functionUses: 0
    functionsReached:
    - distribution
    - std::vector::end
    - std::vector::begin
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK
    - std::find
    - std::shuffle
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(stdrandom_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/random_tests.cpp:219,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/random_tests.cpp:219,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/random_tests.cpp:219,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:229,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:232,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:233,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:237,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/random_tests.cpp:238,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/random_tests.cpp:239,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 240
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/random_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::shuffle
    - begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(shuffle_stat_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/random_tests.cpp:246,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/random_tests.cpp:246,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/random_tests.cpp:247,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/random_tests.cpp:247,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/random_tests.cpp:248,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/random_tests.cpp:248,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/random_tests.cpp:249,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/random_tests.cpp:249,1
    - Dst: InsecureRandomContext::Reseed
      Src: /src/bitcoin-core/src/test/random_tests.cpp:252,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/random_tests.cpp:253,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/random_tests.cpp:253,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/random_tests.cpp:254,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/random_tests.cpp:254,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/random_tests.cpp:255,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/random_tests.cpp:255,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/random_tests.cpp:256,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/random_tests.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/random_tests.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext::Reseed
    - rng
    - BOOST_TEST
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(xoroshiro128plusplus_reference_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:22,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:23,1
    - Dst: scriptSig::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:24,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: BuildTransactionTestCase
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vin::resize
    - CMutableTransaction::CMutableTransaction
    - scriptSig::resize
    - CMutableTransaction::vout::resize
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction BuildTransactionTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:31,1
    - Dst: BuildTransactionTestCase
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:32,1
    - Dst: CBlock::vtx::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:34,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:35,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:37,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:40,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:40,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:42,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:44,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:45,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:46,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:46,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:49,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:52,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:53,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:54,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:54,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - FastRandomContext
    assertStmts:
    - condition: (!mutated)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: BuildBlockTestCase
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - BuildTransactionTestCase
    - CMutableTransaction::vin::size
    - CBlock::GetHash
    - MakeTransactionRef
    - CBlock::vtx::resize
    - CBlock::CBlock
    - transaction_identifier::FromUint256
    - Params
    - BlockMerkleRoot
    - assert
    - CMutableTransaction::vin::resize
    - rand256
    linkageType: ''
    returnType: CBlock
    signature: CBlock BuildBlockTestCase(FastRandomContext& ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:64,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:66,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:69,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:70,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:71,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:71,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:71,1
    - Dst: auto::rand64
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:75,1
    - Dst: CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:84,1
    - Dst: PartiallyDownloadedBlock::InitData
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:84,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:85,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:86,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:86,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:87,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:87,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:89,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:89,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:89,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:91,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:92,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:93,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:93,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:95,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:98,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:98,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:109,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:109,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:112,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:112,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:113,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:113,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:113,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:114,1
    - Dst: CBlock::hashMerkleRoot::ToString
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:114,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 117
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - GetHash
    - CBlock::hashMerkleRoot::ToString
    - PartiallyDownloadedBlock::FillBlock
    - BOOST_CHECK_EQUAL
    - CBlock::CBlock
    - TestMemPoolEntryHelper::FromTx
    - removeRecursive
    - CBlock::GetHash
    - PartiallyDownloadedBlock::InitData
    - AddToMempool
    - BOOST_CHECK
    - get
    - PartiallyDownloadedBlock::IsTxAvailable
    - Assert
    - BlockMerkleRoot
    - CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
    - auto::rand64
    - size
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(SimpleRoundTripTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - CBlockHeaderAndShortTxIDs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: TestHeaderAndShortIDs::TestHeaderAndShortIDs
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestHeaderAndShortIDs(const CBlockHeaderAndShortTxIDs& orig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand64
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' block'
    - ' ctx'
    argTypes:
    - CBlock
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: TestHeaderAndShortIDs::TestHeaderAndShortIDs
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - rand64
    linkageType: ''
    returnType: void
    signature: void TestHeaderAndShortIDs(const CBlock& block, FastRandomContext&
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:138,1
    - Dst: CBlockHeaderAndShortTxIDs::GetShortID
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' txhash'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: TestHeaderAndShortIDs::GetShortID
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - CBlockHeaderAndShortTxIDs::GetShortID
    - CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetShortID(const Wtxid& txhash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:143,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: TestHeaderAndShortIDs::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - READWRITE
    - Using
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(TestHeaderAndShortIDs, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:148,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:150,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:153,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:154,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:155,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:155,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:155,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:157,1
    - Dst: TestHeaderAndShortIDs::prefilledtxn::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:162,1
    - Dst: TestHeaderAndShortIDs::shorttxids::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:164,1
    - Dst: TestHeaderAndShortIDs::GetShortID
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:165,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:165,1
    - Dst: TestHeaderAndShortIDs::GetShortID
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:166,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:166,1
    - Dst: CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:171,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:175,1
    - Dst: PartiallyDownloadedBlock::InitData
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:175,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:176,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:177,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:177,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:178,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:178,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:180,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:180,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:180,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:182,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:185,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:185,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:192,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:195,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:195,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:195,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:197,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:197,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:201,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:201,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:202,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:202,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:202,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:203,1
    - Dst: CBlock::hashMerkleRoot::ToString
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:203,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:204,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:206,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:206,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:206,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:208,1
    - Dst: CBlock::vtx::clear
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:209,1
    - Dst: CBlock::vtx::clear
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:210,1
    - Dst: CBlock::vtx::clear
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:211,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:212,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:212,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:214,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 215
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - TestHeaderAndShortIDs::shorttxids::resize
    - LOCK2
    - GetHash
    - CBlock::hashMerkleRoot::ToString
    - PartiallyDownloadedBlock::FillBlock
    - BOOST_CHECK_EQUAL
    - CBlock::CBlock
    - TestMemPoolEntryHelper::FromTx
    - CBlock::GetHash
    - PartiallyDownloadedBlock::InitData
    - AddToMempool
    - BOOST_CHECK
    - get
    - PartiallyDownloadedBlock::IsTxAvailable
    - GetWitnessHash
    - Assert
    - BlockMerkleRoot
    - CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
    - uint256::uint256
    - TestHeaderAndShortIDs::prefilledtxn::resize
    - TestHeaderAndShortIDs::GetShortID
    - FastRandomContext
    - CBlock::vtx::clear
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(NonCoinbasePreforwardRTTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:219,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:221,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:224,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:225,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:225,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:226,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:226,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:226,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:228,1
    - Dst: TestHeaderAndShortIDs::prefilledtxn::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:233,1
    - Dst: TestHeaderAndShortIDs::shorttxids::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:236,1
    - Dst: TestHeaderAndShortIDs::GetShortID
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:237,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:237,1
    - Dst: CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:242,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:246,1
    - Dst: PartiallyDownloadedBlock::InitData
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:246,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:247,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:247,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:248,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:248,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:249,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:249,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:251,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:251,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:251,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:253,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:255,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:255,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:256,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:256,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:256,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:258,1
    - Dst: CBlock::hashMerkleRoot::ToString
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:258,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:258,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:259,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:261,1
    - Dst: CBlock::vtx::clear
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:262,1
    - Dst: CBlock::vtx::clear
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:263,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:264,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:264,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:266,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 267
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - TestHeaderAndShortIDs::shorttxids::resize
    - LOCK2
    - GetHash
    - CBlock::hashMerkleRoot::ToString
    - PartiallyDownloadedBlock::FillBlock
    - BOOST_CHECK_EQUAL
    - CBlock::CBlock
    - TestMemPoolEntryHelper::FromTx
    - CBlock::GetHash
    - PartiallyDownloadedBlock::InitData
    - AddToMempool
    - BOOST_CHECK
    - get
    - PartiallyDownloadedBlock::IsTxAvailable
    - GetWitnessHash
    - Assert
    - BlockMerkleRoot
    - CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
    - uint256::uint256
    - TestHeaderAndShortIDs::prefilledtxn::resize
    - TestHeaderAndShortIDs::GetShortID
    - FastRandomContext
    - CBlock::vtx::clear
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(SufficientPreforwardRTTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:271,1
    - Dst: BuildTransactionTestCase
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:272,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:274,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:275,1
    - Dst: CBlock::vtx::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:276,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:277,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:277,1
    - Dst: auto::rand256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:279,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:283,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:284,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:285,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:285,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:285,1
    - Dst: auto::rand64
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:289,1
    - Dst: CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:294,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:298,1
    - Dst: PartiallyDownloadedBlock::InitData
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:298,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:299,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:299,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:301,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:303,1
    - Dst: PartiallyDownloadedBlock::FillBlock
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:303,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:304,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:304,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:304,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:305,1
    - Dst: CBlock::hashMerkleRoot::ToString
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:305,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:305,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!mutated)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    constantsTouched: []
    func_position:
      end: 308
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 308
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - PartiallyDownloadedBlock::FillBlock
    - CBlock::hashMerkleRoot::ToString
    - CBlock::CBlock
    - BOOST_CHECK_EQUAL
    - CheckProofOfWork
    - CBlock::GetHash
    - PartiallyDownloadedBlock::InitData
    - BOOST_CHECK
    - PartiallyDownloadedBlock::IsTxAvailable
    - BuildTransactionTestCase
    - MakeTransactionRef
    - Assert
    - Params
    - BlockMerkleRoot
    - assert
    - CBlockHeaderAndShortTxIDs::CBlockHeaderAndShortTxIDs
    - auto::rand64
    - auto::rand256
    - CBlock::vtx::resize
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(EmptyBlockRoundTripTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:311,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:313,1
    - Dst: BuildTransactionTestCase
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:315,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:316,1
    - Dst: auto::rand256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:316,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:318,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:318,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:322,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:324,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:325,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:325,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:326,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:326,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:326,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:329,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:329,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:329,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:332,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:332,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:332,1
    - Dst: auto::rand64
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:339,1
    - Dst: PartiallyDownloadedBlock::InitData
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:339,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:340,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:341,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:341,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:342,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:342,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:349,1
    - Dst: PartiallyDownloadedBlock::InitData
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:349,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:350,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:350,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:352,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:352,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:353,1
    - Dst: PartiallyDownloadedBlock::IsTxAvailable
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 355
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - GetHash
    - std::move
    - BOOST_CHECK_EQUAL
    - TestMemPoolEntryHelper::FromTx
    - BOOST_CHECK_NE
    - PartiallyDownloadedBlock::InitData
    - AddToMempool
    - BOOST_CHECK
    - get
    - PartiallyDownloadedBlock::IsTxAvailable
    - BuildTransactionTestCase
    - MakeTransactionRef
    - transaction_identifier::FromUint256
    - Assert
    - std::vector::resize
    - auto::rand64
    - auto::rand256
    - CTransactionRef::GetHash
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ReceiveWithExtraTransactions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:359,1
    - Dst: BlockTransactionsRequest::indexes::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:360,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:372,1
    - Dst: BlockTransactionsRequest::blockhash::ToString
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:372,1
    - Dst: BlockTransactionsRequest::blockhash::ToString
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:372,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:373,1
    - Dst: BlockTransactionsRequest::indexes::size
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:373,1
    - Dst: BlockTransactionsRequest::indexes::size
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:373,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:374,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:375,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:376,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 378
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - BlockTransactionsRequest::blockhash::ToString
    - BlockTransactionsRequest::indexes::resize
    - BOOST_CHECK_EQUAL
    - BlockTransactionsRequest::indexes::size
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(TransactionsRequestSerializationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:383,1
    - Dst: BlockTransactionsRequest::indexes::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:384,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:391,1
    - Dst: BlockTransactionsRequest::indexes::size
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:391,1
    - Dst: BlockTransactionsRequest::indexes::size
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:391,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 393
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - BlockTransactionsRequest::indexes::size
    - BlockTransactionsRequest::indexes::resize
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(TransactionsRequestDeserializationMaxTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:401,1
    - Dst: BlockTransactionsRequest::indexes::resize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:402,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:408,1
    - Dst: BlockTransactionsRequest::indexes::size
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:408,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:409,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:410,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:411,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:417,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:419,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockencodings_tests.cpp:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 424
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockencodings_tests.cpp
    functionUses: 0
    functionsReached:
    - BlockTransactionsRequest::indexes::resize
    - WriteCompactSize
    - BOOST_CHECK
    - BlockTransactionsRequest::indexes::size
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(TransactionsRequestDeserializationOverflowTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:22,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:26,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:27,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:35,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:35,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:42,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:43,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:48,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:48,1
    - Dst: AddTestCoin
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:53,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:53,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:56,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:57,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:60,1
    - Dst: print_view_mem_usage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:64,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:65,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:65,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:74,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:75,1
    - Dst: AddTestCoin
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:79,1
    - Dst: print_view_mem_usage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:81,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:81,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:85,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:86,1
    - Dst: AddTestCoin
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:92,1
    - Dst: print_view_mem_usage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:93,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:94,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:100,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:101,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:105,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:106,1
    - Dst: AddTestCoin
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:110,1
    - Dst: print_view_mem_usage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:112,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:113,1
    - Dst: AddTestCoin
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:119,1
    - Dst: print_view_mem_usage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:120,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:124,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:127,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:128,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:129,1
    - Dst: AddTestCoin
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:135,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:136,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:137,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:143,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:144,1
    - Dst: SetBestBlock
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:147,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:147,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:148,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:148,1
    - Dst: print_view_mem_usage
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:149,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:151,1
    - Dst: GetCoinsCacheSizeState
      Src: /src/bitcoin-core/src/test/validation_flush_tests.cpp:152,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 154
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_flush_tests.cpp
    functionUses: 0
    functionsReached:
    - AddTestCoin
    - print_view_mem_usage
    - CoinsTip
    - AccessCoin
    - BOOST_TEST_MESSAGE
    - chainman::ActiveChainstate
    - BOOST_CHECK
    - LOCK
    - GetCoinsCacheSizeState
    - BOOST_CHECK_EQUAL
    - DynamicMemoryUsage
    - Flush
    - SetBestBlock
    - rand256
    - BOOST_TEST
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(getcoinscachesizestate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:17,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:22,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:22,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:25,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:28,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (FlatFilePos{}.IsNull())
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bitcoin-core/src/test/flatfile_tests.cpp
    constantsTouched: []
    func_position:
      end: 29
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 29
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/flatfile_tests.cpp
    functionUses: 0
    functionsReached:
    - GetDataDirBase
    - BOOST_CHECK_EQUAL
    - IsNull
    - assert
    - FlatFileSeq::FileName
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(flatfile_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:33,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:43,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:47,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:47,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:48,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:49,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:49,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:54,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:54,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:55,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:55,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:60,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:60,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:61,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:62,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:62,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:68,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:68,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:71,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:73,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:74,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:80,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:80,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:82,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:83,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:84,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:84,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:90,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:90,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:91,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:91,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:92,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 94
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/flatfile_tests.cpp
    functionUses: 0
    functionsReached:
    - FlatFileSeq::Open
    - BOOST_CHECK_THROW
    - GetSerializeSize
    - GetDataDirBase
    - AutoFile::fclose
    - LIMITED_STRING
    - BOOST_CHECK_EQUAL
    - FlatFilePos
    - BOOST_REQUIRE_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(flatfile_open)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:103,1
    - Dst: FlatFileSeq::Allocate
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:103,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:104,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:104,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:104,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:105,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:107,1
    - Dst: FlatFileSeq::Allocate
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:107,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:107,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:108,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:108,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:108,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:109,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:111,1
    - Dst: FlatFileSeq::Allocate
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:111,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:112,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:112,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:112,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/flatfile_tests.cpp
    functionUses: 0
    functionsReached:
    - FlatFileSeq::Allocate
    - GetDataDirBase
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - leveldb_options_set_max_file_size
    - FlatFilePos
    - FlatFileSeq::FileName
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(flatfile_allocate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:118,1
    - Dst: FlatFileSeq::Allocate
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:122,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:122,1
    - Dst: FlatFileSeq::Flush
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:125,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:125,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:126,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:126,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:126,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:126,1
    - Dst: FlatFileSeq::Flush
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:129,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:129,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:130,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:130,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:130,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/test/flatfile_tests.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/flatfile_tests.cpp
    functionUses: 0
    functionsReached:
    - FlatFileSeq::Allocate
    - FlatFileSeq::Flush
    - GetDataDirBase
    - BOOST_CHECK_EQUAL
    - leveldb_options_set_max_file_size
    - FlatFilePos
    - FlatFileSeq::FileName
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(flatfile_flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:31,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:32,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:33,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:35,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:36,1
    - Dst: DepGraph::RemoveTransactions
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:38,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:45,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:45,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' cluster'
    - ' hexenc'
    argTypes:
    - std::vector<std::pair<FeeFrac, SetType>>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: TestDepGraphSerialization
    functionSourceFile: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::AddDependencies
    - DepGraph::RemoveTransactions
    - DepGraph::AddTransaction
    - SetType::Set
    - size
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Using
    - HexStr
    linkageType: ''
    returnType: void
    signature: void TestDepGraphSerialization(const std::vector<std::pair<FeeFrac,
      SetType>>& cluster, const std::string& hexenc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:31,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:32,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:33,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:35,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:36,1
    - Dst: DepGraph::RemoveTransactions
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:38,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:45,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:45,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' cluster'
    - ' hexenc'
    argTypes:
    - std::vector<std::pair<FeeFrac, SetType>>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: TestDepGraphSerialization
    functionSourceFile: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::AddDependencies
    - DepGraph::RemoveTransactions
    - DepGraph::AddTransaction
    - SetType::Set
    - size
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Using
    - HexStr
    linkageType: ''
    returnType: void
    signature: void TestDepGraphSerialization(const std::vector<std::pair<FeeFrac,
      SetType>>& cluster, const std::string& hexenc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestDepGraphSerialization
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:60,1
    - Dst: TestDepGraphSerialization
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:65,1
    - Dst: TestDepGraphSerialization
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:73,1
    - Dst: TestDepGraphSerialization
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:85,1
    - Dst: TestDepGraphSerialization
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:102,1
    - Dst: TestDepGraphSerialization
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:123,1
    - Dst: TestDepGraphSerialization
      Src: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 175
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/cluster_linearize_tests.cpp
    functionUses: 0
    functionsReached:
    - TestDepGraphSerialization
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(depgraph_ser_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:17,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:17,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:18,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:18,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:19,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:19,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:20,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:20,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:22,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:22,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:23,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:23,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:24,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:24,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:25,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:25,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:27,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/common_url_tests.cpp
    functionUses: 0
    functionsReached:
    - UrlDecode
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(encode_decode_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:31,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:31,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:33,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:33,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:34,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:34,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:35,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:36,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:36,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:38,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:38,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:39,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:39,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:41,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:41,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:42,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:42,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:44,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:45,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:46,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:46,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:48,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:48,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:49,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:49,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:50,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:52,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:53,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:53,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:54,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:55,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:57,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:57,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:58,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:58,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:60,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:60,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:61,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 62
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/common_url_tests.cpp
    functionUses: 0
    functionsReached:
    - UrlDecode
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(decode_malformed_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:65,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/common_url_tests.cpp
    functionUses: 0
    functionsReached:
    - UrlDecode
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(decode_lowercase_hex_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:70,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:72,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/common_url_tests.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/common_url_tests.cpp
    functionUses: 0
    functionsReached:
    - UrlDecode
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(decode_internal_nulls_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:22,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:23,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:24,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:26,1
    - Dst: MakeMinisketch32
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:31,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:32,1
    - Dst: MakeMinisketch32
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:33,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:34,1
    - Dst: MakeMinisketch32
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:36,1
    - Dst: MakeMinisketch32
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:37,1
    - Dst: Minisketch::Deserialize
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:38,1
    - Dst: Minisketch::Serialize
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:38,1
    - Dst: Minisketch::Deserialize
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:39,1
    - Dst: Minisketch::Serialize
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:39,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:41,1
    - Dst: Minisketch::Merge
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:42,1
    - Dst: Minisketch::Decode
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:43,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:44,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:44,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:45,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:46,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:46,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:46,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/minisketch_tests.cpp:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 50
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/minisketch_tests.cpp
    functionUses: 0
    functionsReached:
    - Minisketch::Serialize
    - Minisketch::Decode
    - auto::begin
    - Minisketch::Deserialize
    - auto::has_value
    - MakeMinisketch32
    - std::move
    - BOOST_REQUIRE
    - Minisketch::Merge
    - BOOST_CHECK_EQUAL
    - randrange
    - Minisketch::Add
    - std::sort
    - auto::end
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(minisketch_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/banman_tests.cpp:20,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/banman_tests.cpp:21,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/banman_tests.cpp:30,1
    - Dst: WriteBinaryFile
      Src: /src/bitcoin-core/src/test/banman_tests.cpp:30,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/banman_tests.cpp:33,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/banman_tests.cpp:34,1
    - Dst: BanMan::GetBanned
      Src: /src/bitcoin-core/src/test/banman_tests.cpp:37,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/banman_tests.cpp:38,1
    - Dst: banmap_t::size
      Src: /src/bitcoin-core/src/test/banman_tests.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 41
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/banman_tests.cpp
    functionUses: 0
    functionsReached:
    - WriteBinaryFile
    - SetMockTime
    - BanMan::GetBanned
    - GetDataDirBase
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - banmap_t::size
    - ASSERT_DEBUG_LOG
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:24,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: arith_uint256V
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - UintToArith256
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 arith_uint256V(const std::vector<unsigned char>& vch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:61,1
    - Dst: std::setfill
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:61,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - A
    - width
    argTypes:
    - unsigned char[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: ArrayToString
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: std::string
    signature: std::string ArrayToString(const unsigned char A[], unsigned int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:70,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:70,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:71,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:71,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:71,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:72,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:72,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:73,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:73,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:74,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:74,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:75,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:75,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:78,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:82,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:83,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:91,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:96,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:96,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:96,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:97,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:97,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:97,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:98,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:98,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:98,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:99,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:99,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:99,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:99,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:100,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:100,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:100,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:100,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:101,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:101,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:101,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:104,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:105,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:106,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:106,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:107,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:107,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:110,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:112,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:113,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:117,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:118,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 121
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - arith_uint256
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - UintToArith256
    - uint256::FromHex
    - ArrayToString
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE( basics )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - to
    - from
    - arrayLength
    - bitsToShift
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: shiftArrayRight
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shiftArrayRight(unsigned char* to, const unsigned char* from,
      unsigned int arrayLength, unsigned int bitsToShift)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - to
    - from
    - arrayLength
    - bitsToShift
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: shiftArrayLeft
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shiftArrayLeft(unsigned char* to, const unsigned char* from, unsigned
      int arrayLength, unsigned int bitsToShift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:156,1
    - Dst: shiftArrayLeft
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:159,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:160,1
    - Dst: arith_uint256V
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:160,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:162,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:163,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:165,1
    - Dst: shiftArrayLeft
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:167,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:168,1
    - Dst: arith_uint256V
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:168,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:168,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:170,1
    - Dst: shiftArrayRight
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:172,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:173,1
    - Dst: arith_uint256V
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:173,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:173,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:175,1
    - Dst: shiftArrayLeft
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:177,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:178,1
    - Dst: arith_uint256V
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:178,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:178,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:180,1
    - Dst: shiftArrayRight
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:182,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:183,1
    - Dst: arith_uint256V
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:183,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:183,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:185,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:187,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:190,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 195
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - arith_uint256
    - arith_uint256V
    - BOOST_CHECK
    - shiftArrayLeft
    - arith_uint256::arith_uint256
    - shiftArrayRight
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE( shifts )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:203,1
    - Dst: arith_uint256V
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:203,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:205,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - arith_uint256V
    - std::vector<unsigned char>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE( unaryOperators )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _A_
    - ','
    - _B_
    - ','
    - _OP_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: CHECKBITWISEOPERATOR
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKBITWISEOPERATOR(_A_,_B_,_OP_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _A_
    - ','
    - _B_
    - ','
    - _OP_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: CHECKASSIGNMENTOPERATOR
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASSIGNMENTOPERATOR(_A_,_B_,_OP_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:225,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:226,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:227,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:228,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:229,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:230,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:231,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:232,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:233,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:234,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:235,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:236,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:237,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:238,1
    - Dst: CHECKBITWISEOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:239,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:242,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:243,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:244,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:245,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:246,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:247,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:248,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:249,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:250,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:251,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:252,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:253,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:254,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:255,1
    - Dst: CHECKASSIGNMENTOPERATOR
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:256,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:259,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:259,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:260,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:261,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:262,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:262,1
    - Dst: BOOST_AUTO_TEST_CASE
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:265,1
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:270,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:271,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:273,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:273,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:273,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:274,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:274,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:274,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:275,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:275,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:278,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:285,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:303,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:305,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 321
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - CHECKBITWISEOPERATOR
    - BOOST_CHECK_LT
    - arith_uint256
    - BOOST_CHECK
    - UintToArith256
    - CHECKASSIGNMENTOPERATOR
    - arith_uint256::arith_uint256
    - BOOST_AUTO_TEST_CASE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE( bitwiseOperators )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:328,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:329,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:329,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:330,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:332,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:333,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:334,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:334,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:336,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:337,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:339,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:341,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:342,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:343,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:343,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:344,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - ToString
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE( multiply )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:349,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:350,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:351,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:351,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:352,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:352,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:353,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:354,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:355,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:356,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:357,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:357,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:358,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:358,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:359,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:360,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:361,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_THROW
    - UintToArith256
    - ToString
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE( divide )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:368,1
    - Dst: fabs
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:368,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d1
    - d2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: almostEqual
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - std::numeric_limits<double>::epsilon
    linkageType: ''
    returnType: bool
    signature: bool almostEqual(double d1, double d2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:373,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:373,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:373,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:374,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:374,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:374,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:375,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:375,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:375,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:376,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:376,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:376,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:378,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:382,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:384,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:387,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:387,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:388,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:388,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:389,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:389,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:390,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:390,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:391,1
    - Dst: GetLow64
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:391,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:392,1
    - Dst: GetLow64
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:392,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:393,1
    - Dst: GetLow64
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:397,1
    - Dst: getdouble
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:397,1
    - Dst: ldexp
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:397,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:399,1
    - Dst: getdouble
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:401,1
    - Dst: almostEqual
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:401,1
    - Dst: getdouble
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:401,1
    - Dst: ldexp
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:401,1
    - Dst: GetLow64
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:402,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:405,1
    - Dst: getdouble
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 407
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - GetLow64
    - ToString
    - getdouble
    - ldexp
    - almostEqual
    - size
    - BOOST_CHECK
    - GetHex
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(methods)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:411,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:414,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:415,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:415,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:416,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:416,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:417,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:418,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:420,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:421,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:421,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:422,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:422,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:423,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:424,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:426,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:427,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:427,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:428,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:428,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:429,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:430,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:433,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:433,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:434,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:434,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:435,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:436,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:438,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:439,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:439,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:440,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:440,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:441,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:442,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:444,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:445,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:445,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:446,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:446,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:447,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:448,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:450,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:451,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:451,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:452,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:452,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:453,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:454,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:456,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:457,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:457,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:458,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:458,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:459,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:460,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:462,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:463,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:463,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:464,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:464,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:465,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:466,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:468,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:469,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:469,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:470,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:470,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:471,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:472,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:474,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:475,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:475,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:476,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:476,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:477,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:478,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:480,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:481,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:481,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:482,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:482,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:483,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:484,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:488,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:488,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:490,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:491,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:491,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:492,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:492,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:493,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:494,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:496,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:497,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:497,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:498,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:498,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:499,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:500,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:502,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:503,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:503,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:504,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:504,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:505,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:506,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:508,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:509,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:509,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:510,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:510,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:511,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:512,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:514,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:515,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:515,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:516,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:516,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:517,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:518,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:520,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:521,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:521,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:522,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:522,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:523,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:524,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:526,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:527,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:527,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:528,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:528,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:529,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:530,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:532,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:533,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/arith_uint256_tests.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 535
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/arith_uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - arith_uint256::SetCompact
    - BOOST_CHECK_EQUAL
    - arith_uint256::GetHex
    - arith_uint256::arith_uint256
    - arith_uint256::GetCompact
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bignum_SetCompact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeTxGraph
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:42,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:46,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:49,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:53,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:53,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:58,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:60,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:61,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:66,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:67,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:67,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:68,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:68,1
    - Dst: auto::Trim
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:71,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:73,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:73,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:76,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:76,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:77,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:77,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:78,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:79,1
    - Dst: auto::Exists
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 81
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txgraph_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - std::vector::size
    - MakeTxGraph
    - auto::IsOversized
    - auto::Exists
    - std::vector::reserve
    - auto::GetTransactionCount
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - BOOST_CHECK
    - auto::Trim
    - auto::SanityCheck
    - auto::AddDependency
    - auto::AddTransaction
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(txgraph_trim_zigzag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeTxGraph
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:105,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:109,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:112,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:112,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:114,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:114,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:116,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:120,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:122,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:126,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:126,1
    - Dst: auto::Trim
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:129,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:131,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:131,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:134,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:134,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:135,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:135,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:136,1
    - Dst: auto::Exists
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:136,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:138,1
    - Dst: auto::Exists
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 140
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txgraph_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - std::vector::size
    - MakeTxGraph
    - auto::IsOversized
    - auto::Exists
    - std::vector::reserve
    - auto::GetTransactionCount
    - std::vector::push_back
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - auto::Trim
    - auto::SanityCheck
    - auto::AddDependency
    - auto::AddTransaction
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(txgraph_trim_flower)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:190,1
    - Dst: MakeTxGraph
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:191,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:197,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:199,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:199,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:202,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:202,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:202,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:206,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:206,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:211,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:211,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:214,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:216,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:218,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:220,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:220,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:223,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:223,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:225,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:230,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:230,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:230,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:232,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:235,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:235,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:237,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:240,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:240,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:241,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:242,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:242,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:242,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:243,1
    - Dst: auto::Trim
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:246,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:247,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:247,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:248,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:248,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:248,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:249,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:252,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 253
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txgraph_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - FastRandomContext::randbits
    - swap
    - FastRandomContext::FastRandomContext
    - std::vector::push_back
    - std::move
    - auto::SanityCheck
    - MakeTxGraph
    - std::min<int>
    - std::vector::back
    - auto::GetTransactionCount
    - BOOST_CHECK
    - FastRandomContext::randrange
    - std::vector::pop_back
    - std::vector::size
    - auto::AddDependency
    - auto::IsOversized
    - auto::Trim
    - auto::AddTransaction
    - std::vector::rbegin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(txgraph_trim_huge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeTxGraph
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:263,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:267,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:274,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:274,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:276,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:280,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:280,1
    - Dst: auto::Trim
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:283,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:284,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:285,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:285,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:286,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:286,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:289,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:290,1
    - Dst: auto::Exists
      Src: /src/bitcoin-core/src/test/txgraph_tests.cpp:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txgraph_tests.cpp
    functionUses: 1
    functionsReached:
    - MakeTxGraph
    - auto::IsOversized
    - auto::Exists
    - std::vector::reserve
    - auto::GetTransactionCount
    - std::vector::push_back
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - auto::Trim
    - auto::SanityCheck
    - std::vector::size
    - auto::AddTransaction
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(txgraph_trim_big_singletons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:22,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:23,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:23,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:24,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:24,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:25,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:26,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:30,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:33,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:34,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' inputs'
    - ' output_values'
    argTypes:
    - std::vector<CTransactionRef>
    - std::vector<CAmount>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 38
    functionName: make_tx
    functionSourceFile: /src/bitcoin-core/src/test/rbf_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::resize
    - CScriptWitness::stack::emplace_back
    - MakeTransactionRef
    - GetHash
    - size
    - CMutableTransaction
    - CScript
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: CTransactionRef
    signature: "CTransactionRef make_tx(const std::vector<CTransactionRef>& inputs,\n
      \                                     const std::vector<CAmount>& output_values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:45,1
    - Dst: CTransactionRef::vout::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:45,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:48,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:49,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:50,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:50,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:52,1
    - Dst: CScriptWitness::stack::emplace_back
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:56,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:59,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:60,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:68,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:68,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - parent
    - ' output_values'
    argTypes:
    - CTransactionRef
    - std::vector<CAmount>
    assertStmts:
    - condition: (parent->vout.size() >= 2)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/test/rbf_tests.cpp
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: make_two_siblings
    functionSourceFile: /src/bitcoin-core/src/test/rbf_tests.cpp
    functionUses: 0
    functionsReached:
    - CTransactionRef::vout::size
    - CMutableTransaction::vout::resize
    - std::make_pair
    - CScriptWitness::stack::emplace_back
    - MakeTransactionRef
    - size
    - CTransactionRef::GetHash
    - CMutableTransaction
    - CScript
    - assert
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: std::pair<CTransactionRef, CTransactionRef>
    signature: "std::pair<CTransactionRef, CTransactionRef> make_two_siblings(const
      CTransactionRef parent,\n                                      const std::vector<CAmount>&
      output_values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:117,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:118,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:126,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:127,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:127,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:128,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:129,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:129,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:132,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:133,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:133,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:134,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:135,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:135,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:138,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:139,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:139,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:140,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:141,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:141,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:144,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:144,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:147,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:148,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:148,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:149,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:150,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:150,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:153,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:154,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:154,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:155,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:156,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:156,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:159,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:160,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:160,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:161,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:162,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:162,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:165,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:166,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:166,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:168,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:168,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:169,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:169,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:170,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:170,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:171,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:171,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:172,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:172,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:173,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:173,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:174,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:174,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:175,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:175,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:176,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:176,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:177,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:177,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:178,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:178,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:179,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:179,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:180,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:180,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:182,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:182,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:183,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:183,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:184,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:184,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:185,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:185,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:186,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:186,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:187,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:187,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:188,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:188,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:189,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:189,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:203,1
    - Dst: PaysMoreThanConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:203,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:204,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:204,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:204,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:207,1
    - Dst: PaysMoreThanConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:207,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:207,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:207,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:208,1
    - Dst: PaysMoreThanConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:208,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:208,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:208,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:210,1
    - Dst: PaysMoreThanConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:210,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:210,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:210,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:211,1
    - Dst: PaysMoreThanConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:211,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:211,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:211,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:211,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:212,1
    - Dst: PaysMoreThanConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:212,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:212,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:212,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:212,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:216,1
    - Dst: PaysMoreThanConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:216,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:216,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:216,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:216,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:219,1
    - Dst: EntriesAndTxidsDisjoint
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:219,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:219,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:220,1
    - Dst: EntriesAndTxidsDisjoint
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:220,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:221,1
    - Dst: EntriesAndTxidsDisjoint
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:221,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:221,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:222,1
    - Dst: EntriesAndTxidsDisjoint
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:222,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:222,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:223,1
    - Dst: EntriesAndTxidsDisjoint
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:223,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:223,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:226,1
    - Dst: EntriesAndTxidsDisjoint
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:226,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:226,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:232,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:232,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:235,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:238,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:238,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:238,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:239,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:239,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:239,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:241,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:241,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:242,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:242,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:243,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:243,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:244,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:244,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:245,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:245,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:246,1
    - Dst: PaysForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:246,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:253,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:255,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:255,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:255,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:259,1
    - Dst: CTxMemPool::setEntries::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:260,1
    - Dst: CTxMemPool::setEntries::clear
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:261,1
    - Dst: add_descendants
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:263,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:264,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:264,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:264,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:266,1
    - Dst: CTxMemPool::setEntries::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:266,1
    - Dst: CTxMemPool::setEntries::clear
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:267,1
    - Dst: add_descendants
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:269,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:270,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:270,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:270,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:272,1
    - Dst: CTxMemPool::setEntries::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:272,1
    - Dst: CTxMemPool::setEntries::clear
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:273,1
    - Dst: add_descendants
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:275,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:276,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:276,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:276,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:278,1
    - Dst: CTxMemPool::setEntries::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:278,1
    - Dst: CTxMemPool::setEntries::clear
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:279,1
    - Dst: add_descendants
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:281,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:282,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:282,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:282,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:284,1
    - Dst: CTxMemPool::setEntries::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:284,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:285,1
    - Dst: CTxMemPool::setEntries::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:285,1
    - Dst: CTxMemPool::setEntries::clear
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:286,1
    - Dst: add_descendants
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:289,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:290,1
    - Dst: GetEntriesForConflicts
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:290,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:290,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:293,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:296,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:296,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:298,1
    - Dst: HasNoNewUnconfirmed
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:298,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:298,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:301,1
    - Dst: HasNoNewUnconfirmed
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:301,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:301,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:302,1
    - Dst: HasNoNewUnconfirmed
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:302,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:302,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:304,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:305,1
    - Dst: HasNoNewUnconfirmed
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:305,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:305,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:306,1
    - Dst: HasNoNewUnconfirmed
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:306,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:306,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:308,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:309,1
    - Dst: HasNoNewUnconfirmed
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:309,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:309,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:314,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:314,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:314,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:314,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:317,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:317,1
    - Dst: add_descendants
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:320,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:321,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:321,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:324,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:324,1
    - Dst: add_descendants
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:327,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:328,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:329,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:329,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:330,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:330,1
    - Dst: add_descendants
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:333,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:334,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:334,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:335,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:335,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:335,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:335,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:337,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:337,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:337,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:337,1
    - Dst: add_descendant_to_parents
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:340,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:341,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:341,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:342,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:342,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:342,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:342,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:342,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:343,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:343,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:343,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:343,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:343,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:344,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:344,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:344,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:344,1
    - Dst: add_children_to_parent
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:347,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:348,1
    - Dst: auto::first::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:348,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:349,1
    - Dst: auto::second::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:349,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:350,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:350,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:350,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:350,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:350,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:351,1
    - Dst: CheckConflictTopology
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:351,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:351,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:351,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 353
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rbf_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetModifiedFee
    - auto::GetHash
    - EntriesAndTxidsDisjoint
    - LOCK2
    - CFeeRate
    - auto::GetTxSize
    - HasNoNewUnconfirmed
    - BOOST_CHECK_EQUAL
    - auto::GetFee
    - CTxMemPool::setEntries::size
    - GetEntriesForConflicts
    - add_descendants
    - auto::first::GetHash
    - AddToMempool
    - add_descendant_to_parents
    - BOOST_CHECK
    - exists
    - CTxMemPool::setEntries::clear
    - add_children_to_parent
    - TestMemPoolEntryHelper::Fee
    - Assert
    - PaysMoreThanConflicts
    - strprintf
    - make_tx
    - GetIter
    - auto::second::GetHash
    - PrioritiseTransaction
    - GetRandHash
    - auto::GetSharedTx
    - PaysForRBF
    - auto::get
    - CheckConflictTopology
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(rbf_helper_functions, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:357,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:358,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:365,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:366,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:366,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:367,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:368,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:368,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:370,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:370,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:371,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:372,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:372,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:373,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:376,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:377,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:378,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:383,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:384,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:385,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:386,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:386,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:387,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:387,1
    - Dst: ImprovesFeerateDiagram
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:388,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:389,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:389,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:390,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:390,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:391,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:391,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:394,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:395,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:396,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:397,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:398,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:398,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:399,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:400,1
    - Dst: ImprovesFeerateDiagram
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:400,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:402,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:404,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:404,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:405,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:406,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:407,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:408,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:408,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:409,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:409,1
    - Dst: ImprovesFeerateDiagram
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:410,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:411,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:411,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:412,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:412,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:413,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:413,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:414,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:416,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:416,1
    - Dst: auto::GetTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:419,1
    - Dst: CScriptWitness
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:420,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:421,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:421,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:422,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:423,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:424,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:425,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:425,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:426,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:426,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:426,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:427,1
    - Dst: ImprovesFeerateDiagram
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:427,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:428,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:431,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:432,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:432,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:433,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:433,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:435,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:436,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:437,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:438,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:439,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:439,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:440,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:440,1
    - Dst: auto::GetModifiedFee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:440,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:440,1
    - Dst: ImprovesFeerateDiagram
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:441,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:442,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:442,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:443,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:443,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:444,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:444,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:444,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:444,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 445
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rbf_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetModifiedFee
    - auto::GetHash
    - LOCK2
    - auto::StageRemoval
    - auto::reset
    - auto::StageAddition
    - auto::GetTx
    - TestMemPoolEntryHelper::FromTx
    - auto::value
    - GetChangeSet
    - AddToMempool
    - BOOST_CHECK
    - BOOST_CHECK_MESSAGE
    - LockPoints
    - ImprovesFeerateDiagram
    - CScriptWitness
    - MakeTransactionRef
    - TestMemPoolEntryHelper::Fee
    - Assert
    - strprintf
    - make_tx
    - GetIter
    - auto::has_value
    - PrioritiseTransaction
    - auto::GetSharedTx
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(improves_feerate, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:449,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:450,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:459,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:460,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:460,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:462,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:462,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:463,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:465,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:466,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:470,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:471,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:472,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:472,1
    - Dst: auto::CalculateChunksForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:473,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:474,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:474,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:476,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:477,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:478,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:483,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:484,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:485,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:485,1
    - Dst: auto::CalculateChunksForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:486,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:487,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:487,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:489,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:491,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:495,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:496,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:496,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:497,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:497,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:498,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:501,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:502,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:503,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:504,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:504,1
    - Dst: auto::CalculateChunksForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:505,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:506,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:506,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:508,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:510,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:515,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:516,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:517,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:517,1
    - Dst: auto::CalculateChunksForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:518,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:519,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:519,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:521,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:523,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:527,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:528,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:528,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:529,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:529,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:532,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:533,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:534,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:535,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:536,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:536,1
    - Dst: auto::CalculateChunksForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:537,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:538,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:538,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:539,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:539,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:539,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:539,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:543,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:544,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:544,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:545,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:545,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:546,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:548,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:549,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:549,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:550,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:550,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:551,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:554,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:555,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:556,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:557,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:557,1
    - Dst: auto::CalculateChunksForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:558,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:559,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:559,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:561,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:563,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:567,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:568,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:568,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:569,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:569,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:571,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:572,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:572,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:573,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:573,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:575,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:576,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:576,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:577,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:577,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:580,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:581,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:582,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:583,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:584,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:584,1
    - Dst: auto::CalculateChunksForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:585,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:586,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:586,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:587,1
    - Dst: auto::first::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:587,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:588,1
    - Dst: auto::second::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:588,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:592,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:593,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:593,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:594,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:594,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:597,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:598,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:599,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:600,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:601,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:602,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:602,1
    - Dst: auto::CalculateChunksForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:603,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:605,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:605,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:606,1
    - Dst: auto::first::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:606,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:607,1
    - Dst: auto::second::size
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:607,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:611,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:612,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:612,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:613,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:613,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:616,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:617,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:618,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:619,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:620,1
    - Dst: auto::StageRemoval
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:621,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:622,1
    - Dst: LockPoints
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:622,1
    - Dst: auto::CalculateChunksForRBF
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:623,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:625,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:625,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:626,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:626,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:626,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 628
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rbf_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - LOCK2
    - auto::second::size
    - auto::GetTxSize
    - auto::StageRemoval
    - auto::StageAddition
    - BOOST_CHECK_EQUAL
    - TestMemPoolEntryHelper::FromTx
    - GetChangeSet
    - util::ErrorString
    - AddToMempool
    - BOOST_CHECK
    - auto::CalculateChunksForRBF
    - LockPoints
    - TestMemPoolEntryHelper::Fee
    - Assert
    - auto::first::size
    - strprintf
    - make_tx
    - GetIter
    - auto::has_value
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(calc_feerate_diagram_rbf, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:638,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:638,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:638,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:639,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:639,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:639,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:645,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:645,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:646,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:646,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:652,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:652,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:652,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:653,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:653,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:653,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:660,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:660,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:660,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:661,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:661,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:661,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:667,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:667,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:668,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:668,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:674,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:674,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:674,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:675,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:675,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:675,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:681,1
    - Dst: std::is_eq
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:681,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:681,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:682,1
    - Dst: std::is_eq
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:682,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:682,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:689,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:689,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:689,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:690,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:690,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:690,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:696,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:696,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:696,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:697,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:697,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:697,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:701,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:701,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:702,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/rbf_tests.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 703
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rbf_tests.cpp
    functionUses: 1
    functionsReached:
    - std::is_lt
    - std::is_eq
    - BOOST_CHECK
    - std::is_gt
    - CompareChunks
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(feerate_chunks_utilities)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BuildSkip
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:24,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:29,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:30,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:32,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:37,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:38,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:40,1
    - Dst: GetAncestor
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:40,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:41,1
    - Dst: GetAncestor
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:42,1
    - Dst: GetAncestor
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:42,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 44
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/skiplist_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - BOOST_CHECK
    - randrange
    - GetAncestor
    - BuildSkip
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(skiplist_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:51,1
    - Dst: ArithToUint256
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:52,1
    - Dst: BuildSkip
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:57,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:57,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:57,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:58,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:64,1
    - Dst: ArithToUint256
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:65,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:65,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:67,1
    - Dst: BuildSkip
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:69,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:70,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:70,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:71,1
    - Dst: CChain::CChain
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:75,1
    - Dst: CChain::SetTip
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:76,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:76,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:80,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:82,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:85,1
    - Dst: CBlockLocator::vHave::front
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:85,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:86,1
    - Dst: CBlockLocator::vHave::back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:86,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:86,1
    - Dst: CBlockLocator::vHave::size
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:90,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:90,1
    - Dst: CBlockLocator::vHave::size
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:95,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:96,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:96,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 100
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/skiplist_tests.cpp
    functionUses: 1
    functionsReached:
    - CBlockLocator::vHave::back
    - CBlockLocator::vHave::front
    - std::vector::data
    - CChain::CChain
    - ArithToUint256
    - CChain::SetTip
    - std::vector::back
    - arith_uint256
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - UintToArith256
    - randrange
    - GetLocator
    - CBlockIndex*::GetBlockHash
    - CBlockLocator::vHave::size
    - std::vector::size
    - GetBlockHash
    - BuildSkip
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(getlocator_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:106,1
    - Dst: ArithToUint256
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:107,1
    - Dst: BuildSkip
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:111,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:117,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:118,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:120,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:125,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:127,1
    - Dst: CChain::CChain
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:131,1
    - Dst: CChain::SetTip
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:132,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:132,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:137,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:137,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:141,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:142,1
    - Dst: GetAncestor
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 144
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/skiplist_tests.cpp
    functionUses: 1
    functionsReached:
    - GetMedianTimePast
    - CChain::CChain
    - ArithToUint256
    - CChain::SetTip
    - std::vector::back
    - CChain::FindEarliestAtLeast
    - std::max
    - BOOST_CHECK
    - randrange
    - std::vector::size
    - GetAncestor
    - BuildSkip
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(findearliestatleast_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::list::empty
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:150,1
    - Dst: std::list::back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:150,1
    - Dst: std::list::emplace_back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:151,1
    - Dst: std::list::back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:152,1
    - Dst: std::list::back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:153,1
    - Dst: std::list::back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:154,1
    - Dst: std::list::back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:155,1
    - Dst: CChain::CChain
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:158,1
    - Dst: CChain::SetTip
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:159,1
    - Dst: std::list::back
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:159,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:161,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:161,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:162,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:162,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:163,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:163,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:164,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:164,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:165,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:165,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:166,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:166,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:167,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:167,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:169,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:169,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:170,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:170,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:172,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:172,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:172,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:173,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:173,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:173,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:174,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:174,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:175,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:175,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:175,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:176,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:176,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:176,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:178,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:178,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:179,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:179,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:180,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:180,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:181,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:181,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:182,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:182,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:184,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:185,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:186,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:186,1
    - Dst: CChain::FindEarliestAtLeast
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:187,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/skiplist_tests.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 189
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/skiplist_tests.cpp
    functionUses: 1
    functionsReached:
    - std::list::empty
    - RandomMixin::min
    - CChain::SetTip
    - CChain::FindEarliestAtLeast
    - std::list::emplace_back
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::list::back
    - RandomMixin::max
    - CChain::CChain
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(findearliestatleast_edge_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<TestSubscriber>
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:23,1
    - Dst: validation_signals::RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:24,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:25,1
    - Dst: FlushStateToDisk
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:29,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:30,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:31,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:34,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:34,1
    - Dst: FlushStateToDisk
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:35,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:37,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:39,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:39,1
    - Dst: FlushStateToDisk
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:40,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/chainstate_write_tests.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 43
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/chainstate_write_tests.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - validation_signals::RegisterSharedValidationInterface
    - SetMockTime
    - std::make_shared<TestSubscriber>
    - validation_signals::SyncWithValidationInterfaceQueue
    - BOOST_CHECK
    - Assert
    - FlushStateToDisk
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstate_write_interval, TestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ChainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/test/chainstate_write_tests.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainStateFlushed(ChainstateRole, const CBlockLocator&) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:30,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:33,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:34,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:38,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' consensusParams'
    argTypes:
    - Consensus::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: TestBlockSubsidyHalvings
    functionSourceFile: /src/bitcoin-core/src/test/validation_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - GetBlockSubsidy
    linkageType: ''
    returnType: void
    signature: void TestBlockSubsidyHalvings(const Consensus::Params& consensusParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestBlockSubsidyHalvings
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nSubsidyHalvingInterval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: TestBlockSubsidyHalvings
    functionSourceFile: /src/bitcoin-core/src/test/validation_tests.cpp
    functionUses: 1
    functionsReached:
    - TestBlockSubsidyHalvings
    linkageType: ''
    returnType: void
    signature: void TestBlockSubsidyHalvings(int nSubsidyHalvingInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:50,1
    - Dst: TestBlockSubsidyHalvings
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:51,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:51,1
    - Dst: TestBlockSubsidyHalvings
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:52,1
    - Dst: TestBlockSubsidyHalvings
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_tests.cpp
    functionUses: 1
    functionsReached:
    - CreateChainParams
    - TestBlockSubsidyHalvings
    - auto::GetConsensus
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(block_subsidy_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:58,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:61,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:62,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:64,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:64,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::GetConsensus
    - GetBlockSubsidy
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CreateChainParams
    - MoneyRange
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(subsidy_limit_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:71,1
    - Dst: ArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:72,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:73,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:75,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:79,1
    - Dst: SignetTxs::Create
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:80,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:80,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:80,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:83,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:84,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:85,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:85,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:86,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:86,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:87,1
    - Dst: SignetTxs::Create
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:88,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:88,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:88,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:93,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:95,1
    - Dst: CBlock::vtx::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:96,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:97,1
    - Dst: SignetTxs::Create
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:98,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:98,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:98,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:102,1
    - Dst: CBlock::vtx::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:103,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:104,1
    - Dst: SignetTxs::Create
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:105,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:105,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:105,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:108,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:109,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:110,1
    - Dst: CBlock::vtx::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:111,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:112,1
    - Dst: SignetTxs::Create
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:113,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:113,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:113,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:116,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:117,1
    - Dst: CBlock::vtx::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:118,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:118,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:119,1
    - Dst: SignetTxs::Create
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:120,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:120,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:120,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:123,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:124,1
    - Dst: CBlock::vtx::at
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:125,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:126,1
    - Dst: SignetTxs::Create
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:127,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:127,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 128
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_tests.cpp
    functionUses: 1
    functionsReached:
    - CBlock::vtx::push_back
    - CMutableTransaction::vout::at
    - CheckSignetBlockSolution
    - auto::GetConsensus
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - ArgsManager::ArgsManager
    - BOOST_CHECK
    - CBlock::CBlock
    - ArgsManager::ForceSetArg
    - CreateChainParams
    - std::vector::push_back
    - CBlock::vtx::at
    - SignetTxs::Create
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(signet_parse_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:133,1
    - Dst: auto::AssumeutxoForHeight
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:141,1
    - Dst: auto::AssumeutxoForHeight
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:144,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:145,1
    - Dst: auto::hash_serialized::ToString
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:146,1
    - Dst: auto::AssumeutxoForBlockhash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:148,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:149,1
    - Dst: auto::hash_serialized::ToString
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:149,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::hash_serialized::ToString
    - auto::AssumeutxoForBlockhash
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CreateChainParams
    - auto::AssumeutxoForHeight
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_assumeutxo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsBlockMutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:158,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:165,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:175,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:176,1
    - Dst: scriptWitness::stack::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:178,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:179,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:182,1
    - Dst: scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:183,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:191,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:192,1
    - Dst: auto::IsCoinBase
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:192,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:196,1
    - Dst: vtx::empty
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:196,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:196,1
    - Dst: vout::empty
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:196,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:199,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:199,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:200,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:200,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:201,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:205,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:208,1
    - Dst: CBlock::vtx::empty
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:210,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:212,1
    - Dst: is_not_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:212,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:216,1
    - Dst: create_coinbase_tx
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:216,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:217,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:217,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:218,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:218,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:219,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:220,1
    - Dst: is_not_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:220,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:225,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:225,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:226,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:226,1
    - Dst: HashWriter::write
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:228,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:228,1
    - Dst: HashWriter::write
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:229,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:229,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:230,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:231,1
    - Dst: is_not_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:231,1
    - Dst: HashWriter::write
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:237,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:237,1
    - Dst: HashWriter::write
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:238,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:238,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:239,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:240,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:240,1
    - Dst: CBlock::vtx::clear
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:244,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:246,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:247,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:248,1
    - Dst: scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:249,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:250,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:250,1
    - Dst: CBlock::vtx::back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:251,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:252,1
    - Dst: CBlock::vtx::back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:252,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:253,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:253,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:253,1
    - Dst: CBlock::vtx::back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:253,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:255,1
    - Dst: is_not_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:255,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:277,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:278,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:278,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:279,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:280,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:280,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:281,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:282,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:282,1
    - Dst: HashWriter::write
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:286,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:286,1
    - Dst: HashWriter::write
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:287,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:287,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:288,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:288,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:288,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:290,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:290,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:290,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:293,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:294,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:294,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:295,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:295,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:296,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:297,1
    - Dst: is_not_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:297,1
    - Dst: CBlock::vtx::clear
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:302,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:303,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:303,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:304,1
    - Dst: CBlock::vtx::back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:304,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:305,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:305,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:306,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:306,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:310,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:311,1
    - Dst: create_coinbase_tx
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:311,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:313,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:314,1
    - Dst: scriptWitness::stack::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:315,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:317,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:317,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:319,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:322,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:322,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:324,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:324,1
    - Dst: BlockWitnessMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:328,1
    - Dst: insert_witness_commitment
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:329,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:330,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:332,1
    - Dst: is_not_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:332,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:337,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:337,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:339,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:343,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:343,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:344,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:344,1
    - Dst: BlockWitnessMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:346,1
    - Dst: insert_witness_commitment
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:347,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:348,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:350,1
    - Dst: is_not_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:350,1
    - Dst: scriptWitness::stack::resize
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:355,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:356,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:357,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:359,1
    - Dst: is_mutated
      Src: /src/bitcoin-core/src/test/validation_tests.cpp:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (GetSerializeSize(TX_NO_WITNESS(tx3)) == 64)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/bitcoin-core/src/test/validation_tests.cpp
    - condition: (block.vtx.back()->IsCoinBase())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/bitcoin-core/src/test/validation_tests.cpp
    - condition: (!mtx.vin[0].scriptWitness.stack[0].empty())
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/bitcoin-core/src/test/validation_tests.cpp
    - condition: (GetSerializeSize(TX_NO_WITNESS(block.vtx.back())) == 64)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/bitcoin-core/src/test/validation_tests.cpp
    - condition: (hasher.GetHash() == tx3.GetHash())
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/bitcoin-core/src/test/validation_tests.cpp
    - condition: (!block.vtx.empty() && block.vtx[0]->IsCoinBase() && !block.vtx[0]->vout.empty())
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/bitcoin-core/src/test/validation_tests.cpp
    - condition: (tx->IsCoinBase())
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/bitcoin-core/src/test/validation_tests.cpp
    constantsTouched: []
    func_position:
      end: 361
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 361
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_tests.cpp
    functionUses: 1
    functionsReached:
    - create_coinbase_tx
    - scriptWitness::stack::resize
    - is_mutated
    - GetHash
    - memcpy
    - BlockWitnessMerkleRoot
    - CBlock::CBlock
    - scriptPubKey::resize
    - HashWriter::GetHash
    - auto::IsCoinBase
    - CBlock::vtx::push_back
    - CHash256
    - TX_NO_WITNESS
    - BOOST_CHECK
    - DecodeHexTx
    - insert_witness_commitment
    - CMutableTransaction::vin::resize
    - std::vector<unsigned char>
    - vtx::empty
    - CMutableTransaction::vout::resize
    - HashWriter::write
    - empty
    - GetSerializeSize
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - vout::empty
    - is_not_mutated
    - BlockMerkleRoot
    - assert
    - CMutableTransaction::GetHash
    - IsCoinBase
    - IsBlockMutated
    - CBlock::vtx::empty
    - CBlock::vtx::back
    - begin
    - CBlock::vtx::clear
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(block_malleation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PoolResource<8, 8>
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:22,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:23,1
    - Dst: auto::ChunkSizeBytes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:26,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:27,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:27,1
    - Dst: auto::Allocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:30,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:32,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:32,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:34,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:34,1
    - Dst: auto::Deallocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:35,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:36,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:37,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:37,1
    - Dst: auto::Allocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:40,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:41,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:42,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:42,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:43,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:43,1
    - Dst: auto::Deallocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:45,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:46,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:47,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:47,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:48,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:48,1
    - Dst: auto::Allocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:51,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:52,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:54,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:55,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:55,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:56,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:56,1
    - Dst: auto::Deallocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:58,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:59,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:60,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:60,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:61,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:61,1
    - Dst: auto::Allocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:64,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:65,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:66,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:66,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:67,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:67,1
    - Dst: auto::Deallocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:69,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:70,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:71,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:71,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:72,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:72,1
    - Dst: auto::Allocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:76,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:77,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:77,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:78,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:78,1
    - Dst: auto::Deallocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:80,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:81,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:82,1
    - Dst: PoolResourceTester::FreeListSizes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:82,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:83,1
    - Dst: PoolResourceTester::AvailableMemoryFromChunk
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 84
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pool_tests.cpp
    functionUses: 1
    functionsReached:
    - PoolResourceTester::AvailableMemoryFromChunk
    - auto::Deallocate
    - PoolResourceTester::CheckAllDataAccountedFor
    - PoolResourceTester::FreeListSizes
    - PoolResource<8, 8>
    - auto::Allocate
    - auto::ChunkSizeBytes
    - BOOST_TEST
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(basic_allocating)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PoolResource<128, 8>
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:89,1
    - Dst: std::vector<std::span<uint8_t>>
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:93,1
    - Dst: auto::Allocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:97,1
    - Dst: uint8_t::uint8_t
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:97,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:98,1
    - Dst: auto::emplace_back
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:99,1
    - Dst: std::fill
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:102,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:109,1
    - Dst: std::destroy
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:111,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:111,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:111,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:111,1
    - Dst: auto::Deallocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:112,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:112,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:112,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 117
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pool_tests.cpp
    functionUses: 1
    functionsReached:
    - std::fill
    - uint8_t::uint8_t
    - auto::emplace_back
    - auto::Deallocate
    - PoolResourceTester::CheckAllDataAccountedFor
    - PoolResource<128, 8>
    - size
    - std::vector<std::span<uint8_t>>
    - data
    - std::destroy
    - auto::Allocate
    - BOOST_TEST
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(allocate_any_byte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PoolResource<128, 8>
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:128,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:132,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:132,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:134,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:135,1
    - Dst: auto::Allocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:136,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:137,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:138,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:138,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:139,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:142,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:142,1
    - Dst: auto::Deallocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:143,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:144,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:145,1
    - Dst: auto::Deallocate
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:151,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pool_tests.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - auto::Deallocate
    - std::vector::back
    - PoolResourceTester::CheckAllDataAccountedFor
    - PoolResource<128, 8>
    - std::vector::push_back
    - auto::Allocate
    - randrange
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - BOOST_TEST
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(random_allocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Map::allocator_type::ResourceType
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:167,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:169,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:175,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:175,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:175,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:183,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:183,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:183,1
    - Dst: auto::ChunkSizeBytes
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:186,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:187,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:188,1
    - Dst: auto::NumAllocatedChunks
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:188,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/pool_tests.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 192
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pool_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - memusage::DynamicUsage
    - PoolResourceTester::CheckAllDataAccountedFor
    - auto::NumAllocatedChunks
    - Map::allocator_type::ResourceType
    - auto::ChunkSizeBytes
    - BOOST_TEST
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(memusage_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: scriptnum10_error::scriptnum10_error
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scriptnum10_error(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: CScriptNum10::CScriptNum10
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScriptNum10(const int64_t& n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum10.h:39,1
    - Dst: scriptnum10_error
      Src: /src/bitcoin-core/src/test/scriptnum10.h:40,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum10.h:42,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/scriptnum10.h:49,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum10.h:55,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum10.h:55,1
    - Dst: scriptnum10_error
      Src: /src/bitcoin-core/src/test/scriptnum10.h:56,1
    - Dst: CScriptNum10::set_vch
      Src: /src/bitcoin-core/src/test/scriptnum10.h:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' vch'
    - fRequireMinimal
    argTypes:
    - std::vector<unsigned char>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: CScriptNum10::CScriptNum10
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached:
    - CScriptNum10::set_vch
    - back
    - scriptnum10_error
    - size
    linkageType: ''
    returnType: void
    signature: "void CScriptNum10(const std::vector<unsigned char>& vch, bool fRequireMinimal,\n
      \                       const size_t nMaxNumSize = nDefaultMaxNumSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: operator==(const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: operator!=(const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator<=(const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: operator< (const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator< (const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator>=(const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator> (const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator> (const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator==(const CScriptNum10& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CScriptNum10& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: operator!=(const CScriptNum10& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CScriptNum10& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator<=(const CScriptNum10& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const CScriptNum10& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: operator< (const CScriptNum10& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator< (const CScriptNum10& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: operator>=(const CScriptNum10& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const CScriptNum10& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: operator> (const CScriptNum10& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator> (const CScriptNum10& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScriptNum10
      Src: /src/bitcoin-core/src/test/scriptnum10.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: operator+(   const int64_t& rhs)    const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached:
    - CScriptNum10
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 operator+(   const int64_t& rhs)    const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScriptNum10
      Src: /src/bitcoin-core/src/test/scriptnum10.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: operator-(   const int64_t& rhs)    const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached:
    - CScriptNum10
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 operator-(   const int64_t& rhs)    const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: operator+(   const CScriptNum10& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 operator+(   const CScriptNum10& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: operator-(   const CScriptNum10& rhs) const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 operator-(   const CScriptNum10& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& operator+=( const CScriptNum10& rhs)'
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 & operator+=( const CScriptNum10& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum10
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '& operator-=( const CScriptNum10& rhs)'
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 & operator-=( const CScriptNum10& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/scriptnum10.h:87,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scriptnum10.h:87,1
    - Dst: CScriptNum10
      Src: /src/bitcoin-core/src/test/scriptnum10.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_value != std::numeric_limits<int64_t>::min())
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bitcoin-core/src/test/scriptnum10.h
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: operator-()                         const
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached:
    - assert
    - RandomMixin::min
    - CScriptNum10
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 operator-()                         const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: '& operator=( const int64_t& rhs)'
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 & operator=( const int64_t& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/scriptnum10.h:99,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/scriptnum10.h:99,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scriptnum10.h:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts:
    - condition: "(rhs == 0 || (rhs > 0 && m_value <= std::numeric_limits<int64_t>::max()
        - rhs) ||\n                           (rhs < 0 && m_value >= std::numeric_limits<int64_t>::min()
        - rhs))"
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/bitcoin-core/src/test/scriptnum10.h
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: '& operator+=( const int64_t& rhs)'
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached:
    - assert
    - RandomMixin::max
    - RandomMixin::min
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 & operator+=( const int64_t& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/scriptnum10.h:107,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scriptnum10.h:107,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/scriptnum10.h:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts:
    - condition: "(rhs == 0 || (rhs > 0 && m_value >= std::numeric_limits<int64_t>::min()
        + rhs) ||\n                           (rhs < 0 && m_value <= std::numeric_limits<int64_t>::max()
        + rhs))"
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/bitcoin-core/src/test/scriptnum10.h
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: '& operator-=( const int64_t& rhs)'
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - assert
    - RandomMixin::min
    linkageType: ''
    returnType: CScriptNum10
    signature: CScriptNum10 & operator-=( const int64_t& rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/scriptnum10.h:115,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/scriptnum10.h:116,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scriptnum10.h:117,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scriptnum10.h:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: CScriptNum10::getint
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached:
    - RandomMixin::min
    - RandomMixin::max
    linkageType: ''
    returnType: int
    signature: int getint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScriptNum10::serialize
      Src: /src/bitcoin-core/src/test/scriptnum10.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: CScriptNum10::getvch
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 0
    functionsReached:
    - CScriptNum10::serialize
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> getvch() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/scriptnum10.h:130,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/scriptnum10.h:138,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/scriptnum10.h:152,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/scriptnum10.h:153,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/scriptnum10.h:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 158
    functionName: CScriptNum10::serialize
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - std::vector<unsigned char>
    - std::vector::back
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> serialize(const int64_t& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/scriptnum10.h:163,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum10.h:167,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/test/scriptnum10.h:168,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/scriptnum10.h:172,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum10.h:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: CScriptNum10::set_vch
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum10.h
    functionUses: 1
    functionsReached:
    - size
    - back
    - empty
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t set_vch(const std::vector<unsigned char>& vch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:19,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:21,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:31,1
    - Dst: CalculateNextWorkRequired
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:31,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:31,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:32,1
    - Dst: PermittedDifficultyTransition
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:32,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 33
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - PermittedDifficultyTransition
    - auto::GetConsensus
    - CBlockIndex::CBlockIndex
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CreateChainParams
    - CalculateNextWorkRequired
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_next_work)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:38,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:40,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:45,1
    - Dst: CalculateNextWorkRequired
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:45,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:45,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:46,1
    - Dst: PermittedDifficultyTransition
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:46,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - PermittedDifficultyTransition
    - auto::GetConsensus
    - CBlockIndex::CBlockIndex
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CreateChainParams
    - CalculateNextWorkRequired
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_next_work_pow_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:52,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:59,1
    - Dst: CalculateNextWorkRequired
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:59,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:59,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:60,1
    - Dst: PermittedDifficultyTransition
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:60,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:60,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:63,1
    - Dst: PermittedDifficultyTransition
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:63,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - PermittedDifficultyTransition
    - auto::GetConsensus
    - CBlockIndex::CBlockIndex
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CreateChainParams
    - CalculateNextWorkRequired
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_next_work_lower_limit_actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:69,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:76,1
    - Dst: CalculateNextWorkRequired
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:76,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:76,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:77,1
    - Dst: PermittedDifficultyTransition
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:77,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:77,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:80,1
    - Dst: PermittedDifficultyTransition
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:80,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - PermittedDifficultyTransition
    - auto::GetConsensus
    - CBlockIndex::CBlockIndex
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CreateChainParams
    - CalculateNextWorkRequired
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_next_work_upper_limit_actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:85,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:86,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:90,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckProofOfWork
    - BOOST_CHECK
    - CreateChainParams
    - UintToArith256
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_negative_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:95,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:99,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - CheckProofOfWork
    - CreateChainParams
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_overflow_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:104,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:105,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:107,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:109,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:111,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckProofOfWork
    - BOOST_CHECK
    - CreateChainParams
    - UintToArith256
    - uint256::uint256
    - arith_uint256::GetCompact
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_too_easy_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:116,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:117,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:119,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:120,1
    - Dst: ArithToUint256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:122,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:123,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckProofOfWork
    - ArithToUint256
    - BOOST_CHECK
    - CreateChainParams
    - UintToArith256
    - uint256::uint256
    - arith_uint256::GetCompact
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_biger_hash_than_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:128,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:129,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:132,1
    - Dst: ArithToUint256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:134,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckProofOfWork
    - ArithToUint256
    - BOOST_CHECK
    - CreateChainParams
    - uint256::uint256
    - arith_uint256::GetCompact
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_zero_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:139,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:144,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:146,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:146,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:150,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:151,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:152,1
    - Dst: GetBlockProofEquivalentTime
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:154,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:155,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:155,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - GetBlockProofEquivalentTime
    - auto::GetConsensus
    - arith_uint256
    - BOOST_CHECK_EQUAL
    - CreateChainParams
    - randrange
    - CBlockIndex*::GetBlockTime
    - GetBlockProof
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(GetBlockProofEquivalentTime_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:161,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:162,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:165,1
    - Dst: auto::GenesisBlock
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:165,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:168,1
    - Dst: arith_uint256::arith_uint256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:171,1
    - Dst: arith_uint256::SetCompact
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:173,1
    - Dst: auto::GenesisBlock
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:173,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:175,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:176,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:176,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:180,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:182,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' args'
    - chain_type
    argTypes:
    - ArgsManager
    - ChainType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 184
    functionName: sanity_check_chainparams
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetConsensus
    - arith_uint256::SetCompact
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CreateChainParams
    - UintToArith256
    - auto::GenesisBlock
    - arith_uint256::arith_uint256
    linkageType: ''
    returnType: void
    signature: void sanity_check_chainparams(const ArgsManager& args, ChainType chain_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_chainparams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - sanity_check_chainparams
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ChainParams_MAIN_sanity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_chainparams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - sanity_check_chainparams
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ChainParams_REGTEST_sanity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_chainparams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - sanity_check_chainparams
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ChainParams_TESTNET_sanity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_chainparams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 5
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - sanity_check_chainparams
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ChainParams_TESTNET4_sanity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_chainparams
      Src: /src/bitcoin-core/src/test/pow_tests.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pow_tests.cpp
    functionUses: 1
    functionsReached:
    - sanity_check_chainparams
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ChainParams_SIGNET_sanity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeEcho
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: TestInit::makeEcho
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeEcho
    linkageType: ''
    returnType: std::unique_ptr<interfaces::Echo>
    signature: std::unique_ptr<interfaces::Echo> makeEcho() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:36,1
    - Dst: fs::temp_directory_path
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:36,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:36,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:37,1
    - Dst: mkstemp
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:38,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:38,1
    - Dst: BOOST_CHECK_GE
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:39,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:40,1
    - Dst: close
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:40,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:41,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:41,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:42,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: TempPath
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - mkstemp
    - fs::PathFromString
    - std::string::data
    - fs::temp_directory_path
    - wallet::WalletImpl::remove
    - close
    - BOOST_CHECK_EQUAL
    - std::string::push_back
    - std::string::resize
    - BOOST_CHECK_GE
    - fs::PathToString
    linkageType: ''
    returnType: std::string
    signature: std::string TempPath(std::string_view pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:60,1
    - Dst: mp::EventLoop::m_io_context::provider::newTwoWayPipe
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:61,1
    - Dst: std::make_unique<mp::Connection>
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:63,1
    - Dst: kj::mv
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:63,1
    - Dst: std::make_unique<mp::ProxyClient<gen::FooInterface>>
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:64,1
    - Dst: auto::m_rpc_system::bootstrap
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:65,1
    - Dst: mp::ServerVatId
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:65,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:66,1
    - Dst: std::promise::set_value
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:67,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:67,1
    - Dst: mp::EventLoop::sync
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:68,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:68,1
    - Dst: std::make_unique<mp::Connection>
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:70,1
    - Dst: kj::mv
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:70,1
    - Dst: kj::heap<mp::ProxyServer<gen::FooInterface>>
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:71,1
    - Dst: std::make_shared<FooImplementation>
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:71,1
    - Dst: mp::EventLoop::addClient
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:72,1
    - Dst: kj::mv
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:72,1
    - Dst: auto::onDisconnect
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:74,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:74,1
    - Dst: mp::EventLoop::loop
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:75,1
    - Dst: std::promise::get_future
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:77,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:80,1
    - Dst: std::unique_ptr::add
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:80,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:82,1
    - Dst: std::unique_ptr::passOutPoint
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:83,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:84,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:87,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:88,1
    - Dst: std::unique_ptr::passUniValue
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:90,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:90,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:90,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:92,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:95,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:96,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:96,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:97,1
    - Dst: std::unique_ptr::passTransaction
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:99,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:99,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:99,1
    - Dst: std::unique_ptr::passVectorChar
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:102,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:103,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:103,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:103,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:103,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:103,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:103,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:103,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:105,1
    - Dst: std::unique_ptr::passScript
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:106,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:107,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:107,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:107,1
    - Dst: disconnect_client
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:110,1
    - Dst: std::thread::join
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 112
    functionName: IpcPipeTest
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.cpp
    functionUses: 0
    functionsReached:
    - auto::m_rpc_system::bootstrap
    - std::unique_ptr::add
    - auto::reset
    - std::move
    - LogInfo
    - BOOST_CHECK_EQUAL
    - std::promise::set_value
    - CMutableTransaction::vin::emplace_back
    - std::unique_ptr::passOutPoint
    - std::make_unique<mp::Connection>
    - std::vector::end
    - kj::heap<mp::ProxyServer<gen::FooInterface>>
    - kj::mv
    - BOOST_CHECK
    - mp::EventLoop::loop
    - mp::EventLoop::m_io_context::provider::newTwoWayPipe
    - CMutableTransaction::vout::emplace_back
    - std::unique_ptr::passTransaction
    - std::thread::join
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - mp::EventLoop::sync
    - std::promise::get_future
    - std::unique_ptr::passVectorChar
    - transaction_identifier::FromUint256
    - Assert
    - UniValue::pushKV
    - mp::EventLoop::addClient
    - std::string_view
    - auto::onDisconnect
    - mp::ServerVatId
    - std::make_unique<mp::ProxyClient<gen::FooInterface>>
    - UniValue::write
    - disconnect_client
    - std::make_shared<FooImplementation>
    - std::unique_ptr::passScript
    - std::unique_ptr::passUniValue
    - std::vector::begin
    - CScript
    - HexStr
    - auto::get
    linkageType: ''
    returnType: void
    signature: void IpcPipeTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:118,1
    - Dst: socketpair
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:118,1
    - Dst: std::make_unique<TestInit>
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:119,1
    - Dst: ipc::capnp::MakeCapnpProtocol
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:120,1
    - Dst: std::unique_ptr::serve
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:123,1
    - Dst: std::promise::set_value
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:123,1
    - Dst: std::promise::get_future
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:125,1
    - Dst: std::unique_ptr::connect
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:126,1
    - Dst: std::unique_ptr::makeEcho
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:127,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:128,1
    - Dst: std::unique_ptr::echo
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:128,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:129,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:130,1
    - Dst: std::thread::join
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: IpcSocketPairTest
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.cpp
    functionUses: 0
    functionsReached:
    - socketpair
    - std::unique_ptr::makeEcho
    - std::unique_ptr::reset
    - std::make_unique<TestInit>
    - std::unique_ptr::connect
    - std::thread::join
    - std::promise::get_future
    - std::unique_ptr::echo
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::serve
    - std::promise::set_value
    - ipc::capnp::MakeCapnpProtocol
    linkageType: ''
    returnType: void
    signature: void IpcSocketPairTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TestInit>
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:137,1
    - Dst: ipc::capnp::MakeCapnpProtocol
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:138,1
    - Dst: ipc::MakeProcess
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:139,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:142,1
    - Dst: std::unique_ptr::bind
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:142,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:143,1
    - Dst: std::unique_ptr::connect
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:143,1
    - Dst: std::unique_ptr::bind
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:147,1
    - Dst: BOOST_CHECK_GE
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:148,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:149,1
    - Dst: std::unique_ptr::listen
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:150,1
    - Dst: std::unique_ptr::connect
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:155,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:156,1
    - Dst: std::unique_ptr::connect
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:157,1
    - Dst: std::unique_ptr::makeEcho
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:158,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:159,1
    - Dst: std::unique_ptr::echo
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:159,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:167,1
    - Dst: TempPath
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:167,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:168,1
    - Dst: TempPath
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:168,1
    - Dst: bind_and_listen
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:173,1
    - Dst: connect_and_test
      Src: /src/bitcoin-core/src/test/ipc_test.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' datadir'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 180
    functionName: IpcSocketTest
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::listen
    - std::unique_ptr::makeEcho
    - BOOST_CHECK_THROW
    - connect_and_test
    - std::make_unique<TestInit>
    - ipc::MakeProcess
    - std::unique_ptr::bind
    - std::unique_ptr::connect
    - std::unique_ptr::echo
    - BOOST_CHECK_EQUAL
    - strprintf
    - bind_and_listen
    - BOOST_CHECK_GE
    - TempPath
    - ipc::capnp::MakeCapnpProtocol
    linkageType: ''
    returnType: void
    signature: void IpcSocketTest(const fs::path& datadir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - A
    - B
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: prevector_tester::local_check_equal
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 0
    functionsReached:
    - prevector_tester::local_check
    linkageType: ''
    returnType: void
    signature: void local_check_equal(A a, B b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: prevector_tester::local_check
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void local_check(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::local_check_equal
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:46,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:46,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:46,1
    - Dst: prevector_tester::local_check_equal
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:47,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:47,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:47,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:48,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:49,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:50,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:50,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:51,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:51,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:52,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:52,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:52,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:55,1
    - Dst: pretype
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:55,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:55,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:55,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:56,1
    - Dst: pretype
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:56,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:56,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:56,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:59,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:62,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:65,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:68,1
    - Dst: prevector_tester::local_check_equal
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:74,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:74,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:74,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:75,1
    - Dst: prevector_tester::local_check_equal
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: prevector_tester::test
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - DataStream::size
    - empty
    - pretype
    - prevector_tester::local_check
    - prevector_tester::size
    - prevector_tester::local_check_equal
    - begin
    linkageType: ''
    returnType: void
    signature: void test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:83,1
    - Dst: prevector_tester::local_check_equal
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:84,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:84,1
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:85,1
    - Dst: prevector_tester::local_check_equal
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:86,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:86,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: prevector_tester::resize
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::size
    - prevector_tester::resize
    - prevector_tester::test
    - prevector_tester::local_check_equal
    linkageType: ''
    returnType: void
    signature: void resize(Size s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:92,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:93,1
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:93,1
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:94,1
    - Dst: prevector_tester::local_check
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:95,1
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:95,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: prevector_tester::reserve
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::test
    - prevector_tester::capacity
    - prevector_tester::local_check
    - prevector_tester::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(Size s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:101,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:101,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:102,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:102,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - position
    - ' value'
    argTypes:
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: prevector_tester::insert
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::test
    - begin
    - prevector_tester::insert
    linkageType: ''
    returnType: void
    signature: void insert(Size position, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:108,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:108,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:109,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:109,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - position
    - count
    - ' value'
    argTypes:
    - Size
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: prevector_tester::insert
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 2
    functionsReached:
    - prevector_tester::test
    - begin
    - prevector_tester::insert
    linkageType: ''
    returnType: void
    signature: void insert(Size position, Size count, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:116,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:116,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:117,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:117,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - position
    - first
    - last
    argTypes:
    - Size
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: prevector_tester::insert_range
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 0
    functionsReached:
    - prevector_tester::test
    - begin
    - prevector_tester::insert
    linkageType: ''
    returnType: void
    signature: void insert_range(Size position, I first, I last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:123,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:123,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:124,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:124,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - position
    argTypes:
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: prevector_tester::erase
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::test
    - begin
    - prevector_tester::erase
    linkageType: ''
    returnType: void
    signature: void erase(Size position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:130,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:130,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:130,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:131,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:131,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:131,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - Size
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: prevector_tester::erase
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 2
    functionsReached:
    - prevector_tester::test
    - begin
    - prevector_tester::erase
    linkageType: ''
    returnType: void
    signature: void erase(Size first, Size last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pos
    - ' value'
    argTypes:
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: prevector_tester::update
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 0
    functionsReached:
    - prevector_tester::test
    linkageType: ''
    returnType: void
    signature: void update(Size pos, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:144,1
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:145,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: prevector_tester::push_back
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::test
    - prevector_tester::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::pop_back
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:151,1
    - Dst: prevector_tester::pop_back
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:152,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: prevector_tester::pop_back
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::pop_back
    - prevector_tester::test
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:158,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: prevector_tester::clear
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::assign
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:164,1
    - Dst: prevector_tester::assign
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' value'
    argTypes:
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: prevector_tester::assign
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::assign
    linkageType: ''
    returnType: void
    signature: void assign(Size n, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: prevector_tester::size
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 3
    functionsReached:
    - prevector_tester::size
    linkageType: ''
    returnType: Size
    signature: Size size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: prevector_tester::capacity
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 2
    functionsReached:
    - prevector_tester::capacity
    linkageType: ''
    returnType: Size
    signature: Size capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::shrink_to_fit
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:180,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: prevector_tester::shrink_to_fit
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::test
    - prevector_tester::shrink_to_fit
    linkageType: ''
    returnType: void
    signature: void shrink_to_fit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::swap
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:186,1
    - Dst: prevector_tester::swap
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:187,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: prevector_tester::swap
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::test
    - prevector_tester::swap
    linkageType: ''
    returnType: void
    signature: void swap() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::move
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:193,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:194,1
    - Dst: prevector_tester::move
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:195,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: prevector_tester::move
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::move
    - prevector_tester::clear
    linkageType: ''
    returnType: void
    signature: void move()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: prevector_tester::copy
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realtype::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:207,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:208,1
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:209,1
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:210,1
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:212,1
    - Dst: prevector_tester::resize_uninitialized
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:213,1
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:215,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:217,1
    - Dst: prevector_tester::resize_uninitialized
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:218,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - values
    argTypes:
    - realtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 224
    functionName: prevector_tester::resize_uninitialized
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::resize_uninitialized
    - prevector_tester::push_back
    - realtype::size
    - prevector_tester::reserve
    - prevector_tester::test
    - prevector_tester::resize
    - prevector_tester::capacity
    - prevector_tester::size
    linkageType: ''
    returnType: void
    signature: void resize_uninitialized(realtype values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:228,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: ~prevector_tester()
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void ~prevector_tester()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:233,1
    - Dst: Reseed
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: prevector_tester::prevector_tester
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 0
    functionsReached:
    - Reseed
    - rand256
    linkageType: ''
    returnType: void
    signature: void prevector_tester(FastRandomContext& rng)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:243,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:244,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:244,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:244,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:244,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:246,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:246,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:247,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:247,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:247,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:249,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:250,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:250,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:250,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:250,1
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:251,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:253,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:254,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:254,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:254,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:254,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:254,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:256,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:257,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:257,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:257,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:258,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:258,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:259,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:261,1
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:262,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:262,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:264,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:264,1
    - Dst: prevector_tester::pop_back
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:265,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:267,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:269,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:271,1
    - Dst: prevector_tester::insert_range
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:273,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:273,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:273,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:275,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:276,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:276,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:276,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:277,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:277,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:278,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:280,1
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:281,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:281,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:283,1
    - Dst: prevector_tester::shrink_to_fit
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:284,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:286,1
    - Dst: prevector_tester::update
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:287,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:287,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:287,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:287,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:289,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:290,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:292,1
    - Dst: prevector_tester::assign
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:293,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:293,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:293,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:295,1
    - Dst: prevector_tester::swap
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:296,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:298,1
    - Dst: prevector_tester::copy
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:299,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:301,1
    - Dst: prevector_tester::move
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:302,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:304,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:305,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:308,1
    - Dst: prevector_tester::resize_uninitialized
      Src: /src/bitcoin-core/src/test/prevector_tests.cpp:310,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 314
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/prevector_tests.cpp
    functionUses: 1
    functionsReached:
    - prevector_tester::resize_uninitialized
    - prevector_tester::push_back
    - prevector_tester::update
    - rand32
    - prevector_tester::insert
    - randbool
    - prevector_tester::resize
    - prevector_tester::swap
    - std::min
    - prevector_tester::shrink_to_fit
    - randbits
    - std::min<int>
    - prevector_tester::copy
    - prevector_tester::insert_range
    - prevector_tester::reserve
    - prevector_tester::move
    - prevector_tester::clear
    - prevector_tester::assign
    - prevector_tester::erase
    - std::max
    - randrange
    - prevector_tester::pop_back
    - prevector_tester::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(PrevectorTestInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:21,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:22,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:23,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:23,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:24,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:24,1
    - Dst: chainman::GetConsensus
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:24,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:26,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:27,1
    - Dst: chainman::ProcessNewBlock
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:27,1
    - Dst: std::make_shared<const CBlock>
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:27,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' node'
    - block_time
    argTypes:
    - node::NodeContext
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: mineBlock
    functionSourceFile: /src/bitcoin-core/src/test/peerman_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - GetTime
    - CreateNewBlock
    - SetMockTime
    - CBlock::GetHash
    - std::make_shared<const CBlock>
    - chainman::ActiveChainstate
    - chainman::ProcessNewBlock
    - validation_signals::SyncWithValidationInterfaceQueue
    - chainman::GetConsensus
    - Assert
    linkageType: ''
    returnType: void
    signature: void mineBlock(const node::NodeContext& node, std::chrono::seconds
      block_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:34,1
    - Dst: chainman::GetParams
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:35,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:39,1
    - Dst: std::unique_ptr::GetDesirableServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:39,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:39,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:42,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:42,1
    - Dst: auto::GetBlockTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:43,1
    - Dst: std::unique_ptr::SetBestBlock
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:45,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:48,1
    - Dst: std::unique_ptr::GetDesirableServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:48,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:48,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:51,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:52,1
    - Dst: std::unique_ptr::GetDesirableServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:52,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:52,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:55,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:55,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:56,1
    - Dst: std::unique_ptr::GetDesirableServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:56,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:56,1
    - Dst: validation_signals::RegisterValidationInterface
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:60,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:60,1
    - Dst: mineBlock
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:65,1
    - Dst: std::unique_ptr::GetDesirableServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:65,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:65,1
    - Dst: mineBlock
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:68,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:69,1
    - Dst: std::unique_ptr::GetDesirableServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:69,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:69,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:72,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:73,1
    - Dst: std::unique_ptr::GetDesirableServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:73,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/peerman_tests.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 74
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/peerman_tests.cpp
    functionUses: 1
    functionsReached:
    - chainman::ActiveChain
    - std::unique_ptr::GetDesirableServiceFlags
    - GetTime
    - chainman::GetParams
    - validation_signals::RegisterValidationInterface
    - std::unique_ptr::get
    - SetMockTime
    - WITH_LOCK
    - BOOST_CHECK
    - std::unique_ptr::SetBestBlock
    - PeerManager::make
    - mineBlock
    - ServiceFlags
    - auto::GetBlockTime
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(connections_desirable_service_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxReconciliationTracker::PreRegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:19,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:22,1
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:22,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:27,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:27,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:28,1
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:28,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:29,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:29,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:30,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:30,1
    - Dst: TxReconciliationTracker::PreRegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:31,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:32,1
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:32,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:33,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:33,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:36,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:36,1
    - Dst: TxReconciliationTracker::PreRegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:37,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:38,1
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:38,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:39,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:39,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:42,1
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:42,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:45,1
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:45,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:46,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 47
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txreconciliation_tests.cpp
    functionUses: 1
    functionsReached:
    - TxReconciliationTracker::RegisterPeer
    - TxReconciliationTracker::IsPeerRegistered
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE
    - BOOST_REQUIRE_EQUAL
    - TxReconciliationTracker::PreRegisterPeer
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(RegisterPeerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxReconciliationTracker::PreRegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:55,1
    - Dst: TxReconciliationTracker::ForgetPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:57,1
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:57,1
    - Dst: TxReconciliationTracker::PreRegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:60,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:61,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:61,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:62,1
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:62,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:63,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:63,1
    - Dst: TxReconciliationTracker::ForgetPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:65,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txreconciliation_tests.cpp
    functionUses: 1
    functionsReached:
    - TxReconciliationTracker::ForgetPeer
    - TxReconciliationTracker::RegisterPeer
    - TxReconciliationTracker::IsPeerRegistered
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE
    - BOOST_REQUIRE_EQUAL
    - TxReconciliationTracker::PreRegisterPeer
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ForgetPeerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:73,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:73,1
    - Dst: TxReconciliationTracker::PreRegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:74,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:75,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:75,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:77,1
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:77,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:78,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:78,1
    - Dst: TxReconciliationTracker::ForgetPeer
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:81,1
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/test/txreconciliation_tests.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txreconciliation_tests.cpp
    functionUses: 1
    functionsReached:
    - TxReconciliationTracker::ForgetPeer
    - TxReconciliationTracker::IsPeerRegistered
    - TxReconciliationTracker::RegisterPeer
    - BOOST_CHECK
    - BOOST_REQUIRE
    - BOOST_REQUIRE_EQUAL
    - TxReconciliationTracker::PreRegisterPeer
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsPeerRegisteredTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:40,1
    - Dst: CuckooCache::cache::setup_bytes
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:43,1
    - Dst: CuckooCache::cache::insert
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:45,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:45,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:48,1
    - Dst: CuckooCache::cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:48,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 1
    functionsReached:
    - CuckooCache::cache::insert
    - CuckooCache::cache::setup_bytes
    - BOOST_CHECK
    - CuckooCache::cache::contains
    - SeedRandomForTest
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_cuckoocache_no_fakes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:59,1
    - Dst: Cache::setup_bytes
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:64,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:65,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:67,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:69,1
    - Dst: Cache::insert
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:78,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - megabytes
    - load
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: test_cache
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - static_cast<uint32_t>
    - rand32
    - Cache::setup_bytes
    - Cache::insert
    - Cache::contains
    - SeedRandomForTest
    - begin
    linkageType: ''
    returnType: double
    signature: double test_cache(size_t megabytes, double load)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hits
    - load
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: normalize_hit_rate
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: double
    signature: double normalize_hit_rate(double hits, double load)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cache
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:120,1
    - Dst: normalize_hit_rate
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - normalize_hit_rate
    - test_cache
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(cuckoocache_hit_rate_ok, HitRateTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:132,1
    - Dst: Cache::setup_bytes
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:136,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:137,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:138,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:140,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:142,1
    - Dst: Cache::insert
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:152,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:155,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:155,1
    - Dst: Cache::insert
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:158,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:168,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:170,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:172,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:179,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - megabytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 183
    functionName: test_cache_erase
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - static_cast<uint32_t>
    - rand32
    - BOOST_CHECK
    - Cache::setup_bytes
    - BOOST_CHECK_EQUAL
    - Cache::insert
    - Cache::contains
    - SeedRandomForTest
    - begin
    linkageType: ''
    returnType: void
    signature: void test_cache_erase(size_t megabytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cache_erase
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - test_cache_erase
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(cuckoocache_erase_ok, EraseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:197,1
    - Dst: Cache::setup_bytes
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:201,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:202,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:203,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:205,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:207,1
    - Dst: Cache::insert
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:221,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:227,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:232,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:238,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:239,1
    - Dst: join
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:246,1
    - Dst: Cache::insert
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:251,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:261,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:263,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:265,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:272,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:275,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - megabytes
    argTypes:
    - size_t
    assertStmts:
    - condition: (contains)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    constantsTouched: []
    func_position:
      end: 276
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 276
    functionName: test_cache_erase_parallel
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::resize
    - static_cast<uint32_t>
    - rand32
    - std::vector::reserve
    - BOOST_CHECK
    - Cache::setup_bytes
    - BOOST_CHECK_EQUAL
    - Cache::insert
    - Cache::contains
    - SeedRandomForTest
    - assert
    - join
    - begin
    linkageType: ''
    returnType: void
    signature: void test_cache_erase_parallel(size_t megabytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cache_erase_parallel
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - test_cache_erase_parallel
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(cuckoocache_erase_parallel_ok, EraseParallelTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:304,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:316,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:317,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:319,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:321,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:324,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:326,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:328,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:340,1
    - Dst: Cache::setup_bytes
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:344,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:345,1
    - Dst: std::deque::size
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:353,1
    - Dst: std::deque::pop_front
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:354,1
    - Dst: std::deque::emplace_back
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:355,1
    - Dst: Cache::contains
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:359,1
    - Dst: reads::back
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:359,1
    - Dst: reads::pop_back
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:360,1
    - Dst: std::deque::size
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:365,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:367,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 375
    functionName: test_cache_generations
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - std::deque::size
    - std::vector::resize
    - std::deque::emplace_back
    - push_back
    - rand32
    - static_cast<uint32_t>
    - std::vector::reserve
    - BOOST_CHECK
    - Cache::setup_bytes
    - reads::pop_back
    - std::deque::pop_front
    - Cache::contains
    - SeedRandomForTest
    - reads::back
    - insert
    - begin
    linkageType: ''
    returnType: void
    signature: void test_cache_generations()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:316,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:317,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:319,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:321,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:324,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:326,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - n_insert
    - ' rng'
    - ' c'
    argTypes:
    - uint32_t
    - FastRandomContext
    - Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: block_activity
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - std::vector::resize
    - push_back
    - rand32
    - insert
    - begin
    linkageType: ''
    returnType: void
    signature: void block_activity(uint32_t n_insert, FastRandomContext& rng, Cache&
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cache_generations
      Src: /src/bitcoin-core/src/test/cuckoocache_tests.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/cuckoocache_tests.cpp
    functionUses: 0
    functionsReached:
    - test_cache_generations
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(cuckoocache_generations, GenerationsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:21,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:22,1
    - Dst: FeeFilterRounder::round
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:22,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:24,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:24,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:25,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:25,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:28,1
    - Dst: FeeFilterRounder::round
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:28,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:29,1
    - Dst: FeeFilterRounder::round
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:32,1
    - Dst: FeeFilterRounder::round
      Src: /src/bitcoin-core/src/test/policy_fee_tests.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/policy_fee_tests.cpp
    functionUses: 1
    functionsReached:
    - std::set::begin
    - BOOST_CHECK_EQUAL
    - std::set::emplace
    - FeeFilterRounder::round
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(FeeRounder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bswap_tests.cpp:19,1
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/test/bswap_tests.cpp:19,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bswap_tests.cpp:20,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/test/bswap_tests.cpp:20,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bswap_tests.cpp:21,1
    - Dst: internal_bswap_64
      Src: /src/bitcoin-core/src/test/bswap_tests.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 22
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bswap_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - internal_bswap_64
    - internal_bswap_16
    - internal_bswap_32
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bswap_tests)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:18,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:19,1
    - Dst: TxIndex::Init
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:19,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:22,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:26,1
    - Dst: TxIndex::FindTx
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:26,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:26,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:30,1
    - Dst: TxIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:30,1
    - Dst: TxIndex::Sync
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:32,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:35,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:37,1
    - Dst: TxIndex::FindTx
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:37,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:37,1
    - Dst: TxIndex::FindTx
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:42,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:42,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:43,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:44,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:44,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:45,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:51,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:51,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:51,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:53,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:56,1
    - Dst: TxIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:56,1
    - Dst: TxIndex::FindTx
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:57,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:57,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:58,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:59,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:59,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:60,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:70,1
    - Dst: TxIndex::Stop
      Src: /src/bitcoin-core/src/test/txindex_tests.cpp:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 74
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txindex_tests.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - GetPubKey
    - TxIndex::Init
    - interfaces::MakeChain
    - TxIndex::FindTx
    - GetHash
    - CTransactionRef::GetHash
    - BOOST_CHECK
    - BOOST_REQUIRE
    - TxIndex::Sync
    - Params
    - BOOST_ERROR
    - validation_signals::SyncWithValidationInterfaceQueue
    - TxIndex::Stop
    - PKHash
    - uint256::uint256
    - CreateAndProcessBlock
    - TxIndex::BlockUntilSyncedToCurrentChain
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(txindex_initial_sync, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:46,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:47,1
    - Dst: CalculateLockPointsAtTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:48,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:49,1
    - Dst: CheckSequenceLocksAtTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: miner_tests::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - CalculateLockPointsAtTip
    - std::optional::has_value
    - chainman::ActiveChainstate
    - CheckSequenceLocksAtTip
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::reset
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:56,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:58,1
    - Dst: MemPoolOptionsForTest
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:58,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:59,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: '& MakeMempool()'
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 0
    functionsReached:
    - mempool::reset
    - bilingual_str::empty
    - Assert
    - std::make_unique<CTxMemPool>
    - MemPoolOptionsForTest
    linkageType: ''
    returnType: CTxMemPool
    signature: CTxMemPool & MakeMempool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeMining
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: miner_tests::MakeMining
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeMining
    linkageType: ''
    returnType: std::unique_ptr<Mining>
    signature: std::unique_ptr<Mining> MakeMining()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:46,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:47,1
    - Dst: CalculateLockPointsAtTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:48,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:49,1
    - Dst: CheckSequenceLocksAtTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: miner_tests::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - CalculateLockPointsAtTip
    - std::optional::has_value
    - chainman::ActiveChainstate
    - CheckSequenceLocksAtTip
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::reset
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:56,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:58,1
    - Dst: MemPoolOptionsForTest
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:58,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:59,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: '& MakeMempool()'
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 0
    functionsReached:
    - mempool::reset
    - bilingual_str::empty
    - Assert
    - std::make_unique<CTxMemPool>
    - MemPoolOptionsForTest
    linkageType: ''
    returnType: CTxMemPool
    signature: CTxMemPool & MakeMempool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeMining
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: miner_tests::MakeMining
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeMining
    linkageType: ''
    returnType: std::unique_ptr<Mining>
    signature: std::unique_ptr<Mining> MakeMining()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CBlockIndex>
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 17
    functionsReached:
    - std::make_unique<CBlockIndex>
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:109,1
    - Dst: MakeMining
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:110,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:114,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:120,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:121,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:122,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:123,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:125,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:128,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:129,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:129,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:130,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:133,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:135,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:136,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:136,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:137,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:142,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:143,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:143,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:144,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:146,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:147,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:148,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:149,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:149,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:150,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:151,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:152,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:152,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:155,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:156,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:156,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:159,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:159,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:160,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:163,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:166,1
    - Dst: auto::GetTxSize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:166,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:167,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:172,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:173,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:173,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:174,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:174,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:178,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:182,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:183,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:183,1
    - Dst: std::unique_ptr::waitNext
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:186,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:187,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:189,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:191,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:192,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:192,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:193,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:193,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:199,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:199,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:201,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:202,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:202,1
    - Dst: std::unique_ptr::waitNext
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:205,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:206,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:207,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:208,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:209,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:209,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:210,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:210,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:215,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:216,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:219,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:220,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:220,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:224,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:225,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:227,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:228,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:228,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:229,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:230,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:231,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:235,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:235,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:236,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:236,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:243,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:243,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:244,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:245,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:246,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:247,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:247,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:248,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 71
    argCount: 2
    argNames:
    - ' scriptPubKey'
    - ' txFirst'
    argTypes:
    - CScript
    - std::vector<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 249
    functionName: MinerTestingSetup::TestPackageSelection
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CreateNewBlock
    - GetHash
    - auto::GetTxSize
    - auto::GetFee
    - BOOST_REQUIRE_EQUAL
    - removeRecursive
    - auto::createNewBlock
    - GetFee
    - AddToMempool
    - BOOST_CHECK
    - BOOST_REQUIRE
    - std::unique_ptr::waitNext
    - CBlock::vtx::size
    - CMutableTransaction::vin::resize
    - Now
    - CMutableTransaction::vout::resize
    - CTransaction
    - GetSerializeSize
    - CMutableTransaction::CMutableTransaction
    - TestMemPoolEntryHelper::Fee
    - std::unique_ptr::getBlock
    - MakeMempool
    - chainman::ActiveChainstate
    - MakeMining
    - CMutableTransaction::GetHash
    - LOCK
    - CScript
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: void
    signature: void MinerTestingSetup::TestPackageSelection(const CScript& scriptPubKey,
      const std::vector<CTransactionRef>& txFirst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:254,1
    - Dst: MakeMining
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:264,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:265,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:271,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:272,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:275,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:276,1
    - Dst: auto::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:277,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:280,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:282,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:283,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:285,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:289,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:292,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:292,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:292,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:296,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:296,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:296,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:300,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:301,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:303,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:307,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:310,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:310,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:310,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:313,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:313,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:317,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:318,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:321,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:328,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:332,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:334,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:334,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:334,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:337,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:337,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:341,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:342,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:345,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:346,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:346,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:346,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:347,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:347,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:347,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:351,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:352,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:355,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:356,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:358,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:359,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:359,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:359,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:361,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:362,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:363,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:366,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:367,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:367,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:367,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:368,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:368,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:372,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:373,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:376,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:377,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:378,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:380,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:382,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:382,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:382,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:384,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:384,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:384,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:388,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:389,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:392,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:393,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:395,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:396,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:397,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:397,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:397,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:398,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:399,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:400,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:400,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:400,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:401,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:401,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:401,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:405,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:406,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:409,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:411,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:412,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:413,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:414,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:414,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:415,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:415,1
    - Dst: CBlockIndex*::BuildSkip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:418,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:419,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:421,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:421,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:423,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:424,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:425,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:426,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:426,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:427,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:427,1
    - Dst: CBlockIndex*::BuildSkip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:430,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:431,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:433,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:433,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:436,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:438,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:440,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:441,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:441,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:442,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:443,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:443,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:443,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:445,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:445,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:445,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:445,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:447,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:448,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:448,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:448,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:449,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:449,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:449,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:452,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:453,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:454,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:454,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:455,1
    - Dst: CBlockIndex*::pprev::GetBlockHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:455,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:461,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:462,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:465,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:465,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:472,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:473,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:474,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:476,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:477,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:479,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:481,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:483,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:484,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:484,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:484,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:485,1
    - Dst: CheckFinalTxAtTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:485,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:485,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:485,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:486,1
    - Dst: TestSequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:486,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:489,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:490,1
    - Dst: SequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:490,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:490,1
    - Dst: CreateBlockIndex
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:490,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:494,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:495,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:495,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:495,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:497,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:498,1
    - Dst: TestMemPoolEntryHelper::Time
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:498,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:498,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:499,1
    - Dst: CheckFinalTxAtTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:499,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:499,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:499,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:500,1
    - Dst: TestSequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:500,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:504,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:504,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:506,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:507,1
    - Dst: SequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:507,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:507,1
    - Dst: CreateBlockIndex
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:507,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:511,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:511,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:511,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:516,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:519,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:520,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:521,1
    - Dst: TestMemPoolEntryHelper::Time
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:521,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:521,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:522,1
    - Dst: CheckFinalTxAtTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:522,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:522,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:522,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:523,1
    - Dst: TestSequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:523,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:524,1
    - Dst: IsFinalTx
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:524,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:524,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:524,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:524,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:528,1
    - Dst: IsFinalTx
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:528,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:528,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:528,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:531,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:532,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:533,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:535,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:536,1
    - Dst: TestMemPoolEntryHelper::Time
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:536,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:536,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:537,1
    - Dst: CheckFinalTxAtTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:537,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:537,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:537,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:538,1
    - Dst: TestSequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:538,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:539,1
    - Dst: IsFinalTx
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:539,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:539,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:539,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:539,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:543,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:546,1
    - Dst: CheckFinalTxAtTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:546,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:546,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:546,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:547,1
    - Dst: TestSequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:547,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:549,1
    - Dst: TestSequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:549,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:551,1
    - Dst: TestSequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:551,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:553,1
    - Dst: TestSequenceLocks
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:553,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:555,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:556,1
    - Dst: auto::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:562,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:563,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:563,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:566,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:566,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:566,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:569,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:570,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:570,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:572,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:573,1
    - Dst: auto::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:574,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:575,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 206
    argCount: 3
    argNames:
    - ' scriptPubKey'
    - ' txFirst'
    - baseheight
    argTypes:
    - CScript
    - std::vector<CTransactionRef>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 576
    functionName: MinerTestingSetup::TestBasicMining
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - SequenceLocks
    - GetHash
    - BOOST_CHECK_EQUAL
    - HasReason
    - CreateBlockIndex
    - auto::createNewBlock
    - chainman::ActiveChain
    - BOOST_CHECK_EXCEPTION
    - ScriptHash
    - CBlockIndex*::BuildSkip
    - SetMockTime
    - AddToMempool
    - BOOST_CHECK
    - BOOST_REQUIRE
    - CheckFinalTxAtTip
    - CBlockIndex*::GetBlockHash
    - CBlock::vtx::size
    - CMutableTransaction::vin::resize
    - prevout::SetNull
    - Now
    - std::vector<unsigned char>
    - CMutableTransaction::vout::resize
    - CBlockIndex::CBlockIndex
    - auto::getBlock
    - TestSequenceLocks
    - CTransaction
    - GetMedianTimePast
    - CMutableTransaction::CMutableTransaction
    - CScript::end
    - TestMemPoolEntryHelper::Time
    - TestMemPoolEntryHelper::Fee
    - IsFinalTx
    - Assert
    - MakeMempool
    - uint256::uint256
    - rand256
    - std::vector::resize
    - CBlockIndex*::pprev::GetBlockHash
    - chainman::ActiveChainstate
    - MakeMining
    - CMutableTransaction::GetHash
    - LOCK
    - CScript
    - CScript::begin
    linkageType: ''
    returnType: void
    signature: void MinerTestingSetup::TestBasicMining(const CScript& scriptPubKey,
      const std::vector<CTransactionRef>& txFirst, int baseheight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeMining
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:580,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:581,1
    - Dst: MakeMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:586,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:587,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:592,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:593,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:594,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:596,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:597,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:599,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:600,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:600,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:600,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:601,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:603,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:607,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:608,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:608,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:608,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:611,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:613,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:614,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:614,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:614,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:615,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:620,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:621,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:621,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:621,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:622,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:630,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:632,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:633,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:633,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:634,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:638,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:639,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:639,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:640,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:644,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:645,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:645,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:647,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:648,1
    - Dst: auto::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:649,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:650,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:650,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:651,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:651,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:652,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:652,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:653,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:653,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:654,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:654,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:655,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:655,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:656,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:658,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:658,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:660,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 2
    argNames:
    - ' scriptPubKey'
    - ' txFirst'
    argTypes:
    - CScript
    - std::vector<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 662
    functionName: MinerTestingSetup::TestPrioritisedMining
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    - BOOST_REQUIRE_EQUAL
    - auto::createNewBlock
    - AddToMempool
    - BOOST_CHECK
    - BOOST_REQUIRE
    - CBlock::vtx::size
    - CMutableTransaction::vin::resize
    - Now
    - CMutableTransaction::vout::resize
    - auto::getBlock
    - CMutableTransaction::CMutableTransaction
    - TestMemPoolEntryHelper::Fee
    - MakeMempool
    - PrioritiseTransaction
    - MakeMining
    - CMutableTransaction::GetHash
    - LOCK
    - CScript
    linkageType: ''
    returnType: void
    signature: void MinerTestingSetup::TestPrioritisedMining(const CScript& scriptPubKey,
      const std::vector<CTransactionRef>& txFirst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MakeMining
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:667,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:668,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:671,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:676,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:677,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:679,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:683,1
    - Dst: auto::checkBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:683,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:684,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:685,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:688,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:693,1
    - Dst: auto::checkBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:693,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:694,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:695,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:701,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:701,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:701,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:707,1
    - Dst: auto::checkBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:707,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:708,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:709,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:715,1
    - Dst: auto::getTip
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:719,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:727,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:728,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:731,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:734,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:736,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:739,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:740,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:741,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:742,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:744,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:745,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:746,1
    - Dst: std::make_shared<const CBlock>
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:749,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:754,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:754,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:756,1
    - Dst: std::unique_ptr::submitSolution
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:756,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:756,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:759,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:762,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:763,1
    - Dst: auto::GetBlockHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:763,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:763,1
    - Dst: std::unique_ptr::waitNext
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:766,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:767,1
    - Dst: auto::waitTipChanged
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:770,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:774,1
    - Dst: TestBasicMining
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:776,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:778,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:779,1
    - Dst: TestPackageSelection
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:781,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:783,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:784,1
    - Dst: TestPrioritisedMining
      Src: /src/bitcoin-core/src/test/miner_tests.cpp:786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 787
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/miner_tests.cpp
    functionUses: 1
    functionsReached:
    - TestBasicMining
    - auto::GetBlockHash
    - std::vector::push_back
    - BOOST_REQUIRE_EQUAL
    - auto::createNewBlock
    - CheckProofOfWork
    - chainman::ActiveChain
    - CBlock::GetHash
    - SetMockTime
    - std::make_shared<const CBlock>
    - std::unique_ptr::waitNext
    - BOOST_REQUIRE
    - std::vector::size
    - CMutableTransaction::vout::resize
    - auto::getTip
    - MakeTransactionRef
    - TestPackageSelection
    - std::unique_ptr::getBlock
    - auto::checkBlock
    - Assert
    - BlockMerkleRoot
    - std::unique_ptr::submitSolution
    - auto::waitTipChanged
    - size
    - MakeMining
    - LOCK
    - TestPrioritisedMining
    - CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: LogIPsTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogIPsTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: ip
    functionSourceFile: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp
    functionUses: 71
    functionsReached:
    - Params
    linkageType: ''
    returnType: CService
    signature: CService ip(uint32_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:52,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:53,1
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:53,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:53,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:53,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:55,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:56,1
    - Dst: CAddress::SetSpecial
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:56,1
    - Dst: OnionToString
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:56,1
    - Dst: CAddress::IsLocal
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:59,1
    - Dst: CAddress::IsRoutable
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:59,1
    - Dst: ip
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:60,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:60,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:63,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:63,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:67,1
    - Dst: CNode::CNode
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:67,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:76,1
    - Dst: SetCommonVersion
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:77,1
    - Dst: InitializeNode
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:79,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:79,1
    - Dst: AddTestNode
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' id'
    - ' nodes'
    - ' peerman'
    - ' connman'
    - conn_type
    argTypes:
    - NodeId
    - std::vector<CNode*>
    - PeerManager
    - ConnmanTestMsg
    - ConnectionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 83
    functionName: AddPeer
    functionSourceFile: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp
    functionUses: 0
    functionsReached:
    - randbytes
    - CAddress::IsLocal
    - InitializeNode
    - CNode::CNode
    - OnionToString
    - has_value
    - randbits
    - back
    - BOOST_REQUIRE
    - AddTestNode
    - CAddress::SetSpecial
    - Params
    - CAddress::IsRoutable
    - SetCommonVersion
    - value
    - MaybeFlipIPv6toCJDNS
    - LookupNumeric
    - ServiceFlags
    - ip
    - emplace_back
    - CAddress::IsValid
    linkageType: ''
    returnType: void
    signature: void AddPeer(NodeId& id, std::vector<CNode*>& nodes, PeerManager& peerman,
      ConnmanTestMsg& connman, ConnectionType conn_type, bool onion_peer = false,
      std::optional<std::string> address = std::nullopt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConnmanTestMsg>
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:88,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:88,1
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:89,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:95,1
    - Dst: AddPeer
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:96,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:97,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:97,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:105,1
    - Dst: auto::ConnectNodePublic
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:105,1
    - Dst: AddPeer
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:109,1
    - Dst: AddPeer
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:110,1
    - Dst: AddPeer
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:111,1
    - Dst: AddPeer
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:116,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:116,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:117,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:117,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:119,1
    - Dst: auto::TestNodes
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:121,1
    - Dst: auto::AddNode
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:121,1
    - Dst: addr::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:121,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:122,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:122,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:122,1
    - Dst: addr::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:122,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:126,1
    - Dst: auto::AddNode
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:129,1
    - Dst: auto::AddNode
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:129,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:132,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:133,1
    - Dst: auto::GetAddedNodeInfo
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:133,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:134,1
    - Dst: auto::GetAddedNodeInfo
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:134,1
    - Dst: auto::TestNodes
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:138,1
    - Dst: auto::AddedNodesContain
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:138,1
    - Dst: AddPeer
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:141,1
    - Dst: auto::AddedNodesContain
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:141,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:141,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:143,1
    - Dst: auto::GetAddedNodeInfo
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:144,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:145,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:145,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:146,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:146,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:148,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:148,1
    - Dst: resolvedAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:148,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:149,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:149,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:153,1
    - Dst: auto::TestNodes
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:154,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:155,1
    - Dst: auto::AlreadyConnectedPublic
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:155,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:158,1
    - Dst: auto::TestNodes
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:159,1
    - Dst: addr::GetPort
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:162,1
    - Dst: auto::AlreadyConnectedPublic
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:162,1
    - Dst: auto::TestNodes
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:166,1
    - Dst: auto::FinalizeNode
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:167,1
    - Dst: auto::ClearTestNodes
      Src: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 170
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_peer_connection_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::TestNodes
    - auto::ClearTestNodes
    - BOOST_CHECK_EQUAL
    - auto::AlreadyConnectedPublic
    - addr::GetPort
    - std::vector::back
    - BOOST_CHECK
    - BOOST_REQUIRE
    - std::vector::size
    - addr::ToStringAddrPort
    - ASSERT_DEBUG_LOG
    - auto::AddedNodesContain
    - Params
    - resolvedAddress::ToStringAddrPort
    - strprintf
    - AddPeer
    - GetId
    - auto::ConnectNodePublic
    - std::make_unique<ConnmanTestMsg>
    - BOOST_TEST_MESSAGE
    - auto::GetAddedNodeInfo
    - auto::AddNode
    - auto::FinalizeNode
    - PeerManager::make
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(test_addnode_getaddednodeinfo_and_connection_detection,
      PeerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: FooImplementation::add
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int add(int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: FooImplementation::passOutPoint
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: COutPoint
    signature: COutPoint passOutPoint(COutPoint o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: FooImplementation::passUniValue
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UniValue
    signature: UniValue passUniValue(UniValue v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: FooImplementation::passTransaction
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef passTransaction(CTransactionRef t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: FooImplementation::passVectorChar
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<char>
    signature: std::vector<char> passVectorChar(std::vector<char> v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: FooImplementation::passBlockState
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockValidationState
    signature: BlockValidationState passBlockState(BlockValidationState s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: FooImplementation::passScript
    functionSourceFile: /src/bitcoin-core/src/test/ipc_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScript
    signature: CScript passScript(CScript s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:25,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:26,1
    - Dst: obfuscation
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:27,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:27,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:33,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:34,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:37,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:37,1
    - Dst: apply_random_xor_chunks
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:39,1
    - Dst: std::ranges::all_of
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:41,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:42,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:42,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:43,1
    - Dst: apply_random_xor_chunks
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:45,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - randbytes
    - apply_random_xor_chunks
    - size
    - randbool
    - BOOST_CHECK
    - randrange
    - first
    - std::ranges::all_of
    - obfuscation
    - std::min
    - subspan
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(xor_roundtrip_random_chunks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:56,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:61,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:62,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:63,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:63,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:65,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:65,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:67,1
    - Dst: expected_xor
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:70,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:70,1
    - Dst: obfuscation
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:71,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:73,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:73,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:73,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:73,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - std::vector::end
    - randbytes
    - size
    - std::vector::begin
    - randbool
    - randrange
    - obfuscation
    - expected_xor
    - std::min
    - subspan
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(xor_bytes_reference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:79,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:82,1
    - Dst: Obfuscation::HexKey
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:82,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - HexStr
    - randbytes
    - Obfuscation::HexKey
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(obfuscation_hexkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:87,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:93,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:99,1
    - Dst: Obfuscation::HexKey
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:99,1
    - Dst: Obfuscation::HexKey
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - DataStream::size
    - randbytes
    - BOOST_CHECK_EQUAL
    - DataStream::DataStream
    - Obfuscation::HexKey
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(obfuscation_serialize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(obfuscation_empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:113,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:114,1
    - Dst: raw_file
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:121,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:122,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:123,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:124,1
    - Dst: AutoFile::ignore
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:124,1
    - Dst: raw_file
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:133,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:135,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:135,1
    - Dst: raw_file
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:139,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:142,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:142,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:144,1
    - Dst: AutoFile::ignore
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:144,1
    - Dst: raw_file
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:147,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:150,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:150,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:150,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:151,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:151,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:151,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:153,1
    - Dst: raw_file
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:156,1
    - Dst: AutoFile::ignore
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:159,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:161,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:161,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:161,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:163,1
    - Dst: AutoFile::ignore
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:163,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 166
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - GetDataDirBase
    - AutoFile::ignore
    - fsbridge::fopen
    - AutoFile::fclose
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE_EQUAL
    - HexStr
    - raw_file
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(xor_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:180,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:182,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:183,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:186,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:188,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:189,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:191,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:195,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:196,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:198,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:200,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:202,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:203,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:205,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:209,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:213,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:215,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:216,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:218,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:222,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 224
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - std::vector::clear
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(streams_vector_writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:231,1
    - Dst: SpanReader::size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:231,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:232,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:232,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:237,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:238,1
    - Dst: SpanReader::size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:238,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:239,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:239,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:244,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:245,1
    - Dst: SpanReader::size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:245,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:246,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:246,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:251,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:252,1
    - Dst: SpanReader::size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:252,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:253,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:253,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:257,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:262,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:263,1
    - Dst: SpanReader::size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:263,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:264,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:264,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 269
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_THROW
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - SpanReader::size
    - SpanReader::empty
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(streams_vector_reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:277,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:278,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:279,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - VARINT
    - BOOST_CHECK_EQUAL
    - SpanReader::empty
    - BOOST_CHECK
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(streams_vector_reader_rvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitStreamWriter::Write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:287,1
    - Dst: BitStreamWriter::Write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:288,1
    - Dst: BitStreamWriter::Write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:289,1
    - Dst: BitStreamWriter::Write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:290,1
    - Dst: BitStreamWriter::Write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:291,1
    - Dst: BitStreamWriter::Write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:292,1
    - Dst: BitStreamWriter::Write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:293,1
    - Dst: BitStreamWriter::Write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:294,1
    - Dst: BitStreamWriter::Flush
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:295,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:300,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:303,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:306,1
    - Dst: BitStreamReader::Read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:306,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:307,1
    - Dst: BitStreamReader::Read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:307,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:308,1
    - Dst: BitStreamReader::Read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:308,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:309,1
    - Dst: BitStreamReader::Read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:309,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:310,1
    - Dst: BitStreamReader::Read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:310,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:311,1
    - Dst: BitStreamReader::Read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:311,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:312,1
    - Dst: BitStreamReader::Read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:312,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:313,1
    - Dst: BitStreamReader::Read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:313,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:314,1
    - Dst: BitStreamReader::Read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 315
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BitStreamWriter::Flush
    - BOOST_CHECK_THROW
    - BitStreamWriter::Write
    - BOOST_CHECK_EQUAL
    - BitStreamReader::Read
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bitstream_reader_writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:323,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:323,1
    - Dst: obfuscation
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:330,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:331,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:331,1
    - Dst: obfuscation
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:338,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:339,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 341
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - obfuscation
    - DataStream::str
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(streams_serializedata_xor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:345,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:346,1
    - Dst: AutoFile::seek
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:352,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:358,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:360,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:360,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:360,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:366,1
    - Dst: BufferedFile::eof
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:366,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:370,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:372,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:375,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:375,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:378,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:378,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:383,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:383,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:385,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:391,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:391,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:394,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:396,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:396,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:396,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:400,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:400,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:402,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:402,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:407,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:409,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:409,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:412,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:412,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:413,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:413,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:415,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:420,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:420,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:422,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:423,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:423,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:427,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:427,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:428,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:428,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:430,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:434,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:434,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:439,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:442,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:442,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:447,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:449,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:449,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:449,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:453,1
    - Dst: BufferedFile::eof
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:453,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:456,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:456,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:457,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:457,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:459,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:460,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:460,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:463,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:463,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:466,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:466,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:468,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:468,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 471
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BufferedFile::eof
    - wallet::WalletImpl::remove
    - BufferedFile::SetPos
    - GetDataDirBase
    - fsbridge::fopen
    - AutoFile::fclose
    - BOOST_CHECK
    - AutoFile::seek
    - BOOST_CHECK_EQUAL
    - BufferedFile::GetPos
    - BufferedFile::SetLimit
    - what
    - BOOST_REQUIRE_EQUAL
    - strstr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(streams_buffered_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:475,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:476,1
    - Dst: AutoFile::seek
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:481,1
    - Dst: BufferedFile::SkipTo
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:489,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:490,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:490,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:492,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:495,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:495,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:497,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:499,1
    - Dst: BufferedFile::SkipTo
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:501,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:503,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:506,1
    - Dst: BufferedFile::SkipTo
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:508,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:509,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:511,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:511,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:511,1
    - Dst: BufferedFile::SkipTo
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:515,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:516,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:516,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:518,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:518,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 520
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BufferedFile::SkipTo
    - wallet::WalletImpl::remove
    - BufferedFile::SetPos
    - GetDataDirBase
    - fsbridge::fopen
    - AutoFile::fclose
    - BOOST_CHECK
    - AutoFile::seek
    - BOOST_CHECK_EQUAL
    - BufferedFile::GetPos
    - BufferedFile::SetLimit
    - what
    - BOOST_REQUIRE_EQUAL
    - strstr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(streams_buffered_file_skip)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:525,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:527,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:529,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:530,1
    - Dst: AutoFile::seek
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:534,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:536,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:537,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:546,1
    - Dst: BufferedFile::eof
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:546,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:547,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:547,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:553,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:558,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:561,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:570,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:573,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:582,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:585,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:593,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:593,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:595,1
    - Dst: BufferedFile::SkipTo
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:596,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:602,1
    - Dst: BufferedFile::FindByte
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:605,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:605,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:607,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:607,1
    - Dst: BufferedFile::SetLimit
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:610,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:613,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:618,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:619,1
    - Dst: BufferedFile::GetPos
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:624,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:625,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:631,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:639,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:639,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:641,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 522
    functionDepth: 4
    functionLinenumber: 522
    functionLinenumberEnd: 642
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BufferedFile::SkipTo
    - static_cast<size_t>
    - BufferedFile::eof
    - wallet::WalletImpl::remove
    - BufferedFile::SetPos
    - GetDataDirBase
    - fsbridge::fopen
    - AutoFile::fclose
    - BOOST_CHECK
    - AutoFile::seek
    - BOOST_CHECK_EQUAL
    - BufferedFile::GetPos
    - randrange
    - BufferedFile::SetLimit
    - std::byte
    - BOOST_REQUIRE_EQUAL
    - BufferedFile::FindByte
    - SeedRandomForTest
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(streams_buffered_file_rand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:646,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:647,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:650,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:651,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:655,1
    - Dst: AutoFile::write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:656,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:656,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:657,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:657,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:659,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:659,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:659,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:662,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:664,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:665,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:668,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:668,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:668,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:668,1
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:671,1
    - Dst: BufferedReader::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:674,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:676,1
    - Dst: DataBuffer::begin
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:677,1
    - Dst: DataBuffer::end
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:677,1
    - Dst: DataBuffer::begin
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:678,1
    - Dst: DataBuffer::end
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:678,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:686,1
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:686,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:691,1
    - Dst: BufferedReader::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:691,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:695,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 696
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - randbytes
    - GetDataDirBase
    - std::move
    - AutoFile::fclose
    - randbool
    - BOOST_CHECK_EQUAL
    - leveldb_options_set_max_file_size
    - AutoFile::write
    - BOOST_REQUIRE_EQUAL
    - FlatFileSeq::FileName
    - std::min
    - FlatFileSeq::Open
    - BOOST_CHECK_EXCEPTION
    - BufferedReader::read
    - Assert
    - DataBuffer::end
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - DataBuffer::begin
    - wallet::WalletImpl::remove
    - AutoFile::read
    - randrange
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(buffered_reader_matches_autofile_random_content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:700,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:701,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:704,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:705,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:706,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:709,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:711,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:713,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:718,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:718,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:718,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:718,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:720,1
    - Dst: AutoFile::write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:721,1
    - Dst: BufferedWriter::write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:722,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:727,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:727,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:728,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:728,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:734,1
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:735,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:738,1
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:738,1
    - Dst: FlatFileSeq::Open
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:743,1
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:744,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:747,1
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:747,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:750,1
    - Dst: DataBuffer::begin
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:751,1
    - Dst: DataBuffer::end
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:751,1
    - Dst: DataBuffer::begin
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:752,1
    - Dst: DataBuffer::end
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:752,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:755,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:755,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:756,1
    - Dst: FlatFileSeq::FileName
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 757
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - randbytes
    - GetDataDirBase
    - AutoFile::fclose
    - randbool
    - AutoFile::write
    - BOOST_REQUIRE_EQUAL
    - FlatFileSeq::FileName
    - std::min
    - FlatFileSeq::Open
    - BOOST_CHECK_EXCEPTION
    - BufferedWriter::write
    - Assert
    - DataBuffer::end
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - DataBuffer::begin
    - wallet::WalletImpl::remove
    - AutoFile::read
    - randrange
    - subspan
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(buffered_writer_matches_autofile_random_content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:761,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:761,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:761,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:762,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:765,1
    - Dst: BufferedWriter::write
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:769,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:769,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:771,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:771,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:776,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:777,1
    - Dst: BufferedReader::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:779,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:779,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:780,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:781,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:782,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:785,1
    - Dst: BufferedReader::read
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:785,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 789
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - rand32
    - wallet::WalletImpl::remove
    - GetDataDirBase
    - fsbridge::fopen
    - std::move
    - AutoFile::fclose
    - BufferedReader::read
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE_EQUAL
    - BufferedWriter::write
    - std::as_writable_bytes
    - std::as_bytes
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(buffered_writer_reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:801,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:802,1
    - Dst: HashedSourceWriter::GetHash
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:802,1
    - Dst: HashVerifier::GetHash
      Src: /src/bitcoin-core/src/test/streams_tests.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/streams_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - HashedSourceWriter::GetHash
    - HashVerifier::GetHash
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(streams_hashed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - txid_rejects
    - wtxid_rejects
    - txid_recon
    - wtxid_recon
    - keep
    - txid_inv
    - wtxid_inv
    argTypes:
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: Behaviors
    functionSourceFile: /src/bitcoin-core/src/test/txdownload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Behaviors(bool txid_rejects, bool wtxid_rejects, bool txid_recon,
      bool wtxid_recon, bool keep, bool txid_inv, bool wtxid_inv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:43,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:46,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' other'
    - segwit
    argTypes:
    - Behaviors
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: CheckEqual
    functionSourceFile: /src/bitcoin-core/src/test/txdownload_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void CheckEqual(const Behaviors& other, bool segwit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: m_package_to_validate::has_value
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:78,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:79,1
    - Dst: m_orphanage::HaveTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:83,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:83,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:84,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:88,1
    - Dst: m_unique_parents::size
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:91,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:92,1
    - Dst: m_unique_parents::size
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - ' txdownload_impl'
    - ' tx'
    - ' ret'
    - ' err_msg'
    - expect_orphan
    - expect_keep
    - expected_parents
    argTypes:
    - node::TxDownloadManagerImpl
    - CTransactionRef
    - node::RejectedTxTodo
    - std::string
    - bool
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: CheckOrphanBehavior
    functionSourceFile: /src/bitcoin-core/src/test/txdownload_tests.cpp
    functionUses: 0
    functionsReached:
    - m_orphanage::HaveTx
    - GetWitnessHash
    - m_unique_parents::size
    - strprintf
    - m_package_to_validate::has_value
    linkageType: ''
    returnType: bool
    signature: "bool CheckOrphanBehavior(node::TxDownloadManagerImpl& txdownload_impl,
      const CTransactionRef& tx, const node::RejectedTxTodo& ret, std::string& err_msg,\n
      \                               bool expect_orphan, bool expect_keep, unsigned
      int expected_parents)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:103,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:104,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:106,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:107,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:107,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:108,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - segwit
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: CreatePlaceholderTx
    functionSourceFile: /src/bitcoin-core/src/test/txdownload_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - CScript
    - scriptWitness::stack::push_back
    - CMutableTransaction::vin::emplace_back
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef CreatePlaceholderTx(bool segwit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:115,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:122,1
    - Dst: CreatePlaceholderTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:127,1
    - Dst: CreatePlaceholderTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:128,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:129,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:130,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:131,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:132,1
    - Dst: node::TxDownloadManagerImpl::ConnectedPeer
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:136,1
    - Dst: TxValidationState::Invalid
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:138,1
    - Dst: node::TxDownloadManagerImpl::MempoolRejectedTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:139,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:144,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:144,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:145,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:145,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:146,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:146,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:147,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:147,1
    - Dst: node::TxDownloadManagerImpl::AddTxAnnouncement
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:149,1
    - Dst: node::TxDownloadManagerImpl::AddTxAnnouncement
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:150,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:152,1
    - Dst: Behaviors::CheckEqual
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:153,1
    - Dst: TxValidationState::Invalid
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:156,1
    - Dst: node::TxDownloadManagerImpl::MempoolRejectedTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:157,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:161,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:161,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:161,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:162,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:162,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:162,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:165,1
    - Dst: node::TxDownloadManagerImpl::m_orphanage::HaveTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:165,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 169
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txdownload_tests.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - TxValidationState::Invalid
    - auto::GetHash
    - auto::GetWitnessHash
    - node::TxDownloadManagerImpl::AddTxAnnouncement
    - BOOST_TEST_MESSAGE
    - CreatePlaceholderTx
    - ToUint256
    - BOOST_CHECK_EQUAL
    - Assert
    - node::TxDownloadManagerImpl::RecentRejectsFilter
    - node::TxDownloadManagerImpl::MempoolRejectedTx
    - node::TxDownloadManagerImpl::ConnectedPeer
    - node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
    - Behaviors::CheckEqual
    - node::TxDownloadManagerImpl::m_orphanage::HaveTx
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(tx_rejection_types, TestChain100Setup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:173,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:180,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:184,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:185,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:185,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:185,1
    - Dst: TxValidationState::Invalid
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:194,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:202,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:203,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:205,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:206,1
    - Dst: node::TxDownloadManagerImpl::ConnectedPeer
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:209,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:220,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:220,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:221,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:221,1
    - Dst: node::TxDownloadManagerImpl::RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:222,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:222,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:224,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:224,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:225,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:227,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:227,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:237,1
    - Dst: node::TxDownloadManagerImpl::MempoolRejectedTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:238,1
    - Dst: CheckOrphanBehavior
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:240,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:242,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:251,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:251,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:252,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:254,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:255,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:256,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:256,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:260,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:261,1
    - Dst: node::TxDownloadManagerImpl::ConnectedPeer
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:266,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:268,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:268,1
    - Dst: node::TxDownloadManagerImpl::MempoolRejectedTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:269,1
    - Dst: CheckOrphanBehavior
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:271,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:273,1
    - Dst: node::TxDownloadManagerImpl::ConnectedPeer
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:279,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:281,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:281,1
    - Dst: node::TxDownloadManagerImpl::RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:283,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:283,1
    - Dst: node::TxDownloadManagerImpl::MempoolRejectedTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:287,1
    - Dst: CheckOrphanBehavior
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:289,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:291,1
    - Dst: node::TxDownloadManagerImpl::ConnectedPeer
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:297,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:299,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:299,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:304,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:304,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:306,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:306,1
    - Dst: node::TxDownloadManagerImpl::MempoolRejectedTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:309,1
    - Dst: CheckOrphanBehavior
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:311,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:313,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:319,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:319,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:320,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:320,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:320,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:323,1
    - Dst: CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:323,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:323,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:323,1
    - Dst: node::TxDownloadManagerImpl::ConnectedPeer
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:329,1
    - Dst: node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:331,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:331,1
    - Dst: node::TxDownloadManagerImpl::MempoolRejectedTx
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:332,1
    - Dst: CheckOrphanBehavior
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:334,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txdownload_tests.cpp:336,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (coinbase_idx < m_coinbase_txns.size())
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/bitcoin-core/src/test/txdownload_tests.cpp
    - condition: (coinbase_idx < m_coinbase_txns.size())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/bitcoin-core/src/test/txdownload_tests.cpp
    - condition: (coinbase_idx < m_coinbase_txns.size())
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/bitcoin-core/src/test/txdownload_tests.cpp
    constantsTouched: []
    func_position:
      end: 339
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 339
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txdownload_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - std::vector::emplace_back
    - GetScriptForDestination
    - GetHash
    - CheckOrphanBehavior
    - node::TxDownloadManagerImpl::RecentRejectsFilter
    - CreateValidMempoolTransaction
    - TxValidationState::Invalid
    - GenerateRandomKey
    - BOOST_CHECK
    - PKHash
    - node::TxDownloadManagerImpl::RecentRejectsReconsiderableFilter
    - BOOST_CHECK_MESSAGE
    - MakeTransactionRef
    - WITH_LOCK
    - chainman::ProcessTransaction
    - Assert
    - node::TxDownloadManagerImpl::ConnectedPeer
    - CKey::GetPubKey
    - assert
    - node::TxDownloadManagerImpl::RecentConfirmedTransactionsFilter
    - size
    - mineBlocks
    - node::TxDownloadManagerImpl::MempoolRejectedTx
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(handle_missing_inputs, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:36,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ResetLogger
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void ResetLogger()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:51,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:52,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:53,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:54,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:55,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:56,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:57,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:58,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:59,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:61,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:62,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:63,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:64,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:65,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:68,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:70,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: LogSetup
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - GetDataDirBase
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void LogSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:76,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:77,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:78,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:79,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:80,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:81,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:82,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:83,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: ~LogSetup()
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void ~LogSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Timer<std::chrono::microseconds>
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:92,1
    - Dst: auto::LogMsg
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:92,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - BCLog::Timer<std::chrono::microseconds>
    - std::string_view::size
    - auto::LogMsg
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(logging_timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:97,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:108,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:109,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:110,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:111,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:112,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:113,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:118,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:118,1
    - Dst: util::RemovePrefix
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:118,1
    - Dst: file_name
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:118,1
    - Dst: line
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:118,1
    - Dst: function_name
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:118,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:119,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:119,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:123,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:124,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:126,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:126,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:126,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:126,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 127
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - line
    - std::vector::end
    - util::RemovePrefix
    - tinyformat::detail::FormatArg::format
    - std::move
    - file_name
    - std::vector::push_back
    - function_name
    - std::vector::begin
    - leveldb::VersionSet::current
    - LogInstance
    - std::getline
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(logging_LogPrintStr, LogSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:131,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:132,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:133,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:134,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:135,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:136,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:139,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:140,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:149,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:149,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:149,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:149,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - std::vector::end
    - std::vector::begin
    - std::vector::push_back
    - LogPrintf
    - std::getline
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacrosDeprecated, LogSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogTrace
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:154,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:155,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:156,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:157,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:158,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:162,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:170,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:170,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:170,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:170,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - std::vector::end
    - LogError
    - LogDebug
    - std::vector::begin
    - LogInfo
    - LogWarning
    - std::vector::push_back
    - LogTrace
    - std::getline
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacros, LogSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:175,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:176,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:178,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:181,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:182,1
    - Dst: GetLogCategory
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:182,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:183,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:192,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:197,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:198,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:200,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:200,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:200,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:200,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 201
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - std::vector::end
    - std::vector::emplace_back
    - GetLogCategory
    - LogDebug
    - TrimString
    - std::vector::begin
    - std::vector::push_back
    - BOOST_REQUIRE
    - SplitString
    - LogInstance
    - std::getline
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacros_CategoryName, LogSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:205,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:207,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:208,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:211,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:212,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:213,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:214,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:217,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:218,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:219,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:230,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:231,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:233,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:233,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:233,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:233,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 234
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - std::vector::end
    - std::vector::begin
    - std::vector::push_back
    - LogInstance
    - std::getline
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(logging_SeverityLevels, LogSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResetLogger
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:240,1
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:241,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:242,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:245,1
    - Dst: ArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:245,1
    - Dst: init::SetLoggingLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:247,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:248,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:249,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:249,1
    - Dst: ResetLogger
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:254,1
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:255,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:256,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:259,1
    - Dst: ArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:259,1
    - Dst: init::SetLoggingLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:261,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:262,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:263,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:263,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:265,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:266,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:267,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:267,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:268,1
    - Dst: ResetLogger
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:273,1
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:274,1
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:275,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:278,1
    - Dst: ArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:278,1
    - Dst: init::SetLoggingLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:280,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:281,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:282,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:282,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:284,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:285,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:285,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:287,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:288,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:288,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:289,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:291,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:292,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:292,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 295
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - ArgsManager::AddArg
    - init::SetLoggingLevel
    - ArgsManager::ArgsManager
    - size
    - BOOST_CHECK
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - ArgsManager::ParseParameters
    - find
    - LogInstance
    - ResetLogger
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(logging_Conf, LogSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockForward
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:299,1
    - Dst: scheduleFromNow
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:301,1
    - Dst: std::promise::set_value
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:301,1
    - Dst: std::promise::get_future
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' scheduler'
    - duration
    argTypes:
    - CScheduler
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: MockForwardAndSync
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - std::promise::set_value
    - scheduleFromNow
    - std::promise::get_future
    - MockForward
    linkageType: ''
    returnType: void
    signature: void MockForwardAndSync(CScheduler& scheduler, std::chrono::seconds
      duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:308,1
    - Dst: CScheduler::serviceQueue
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:308,1
    - Dst: CScheduler::scheduleEvery
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:311,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:311,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:315,1
    - Dst: leveldb::VersionSet::current
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:316,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:319,1
    - Dst: BCLog::LogRateLimiter::SuppressionsActive
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:319,1
    - Dst: BCLog::LogRateLimiter::Reset
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:322,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:323,1
    - Dst: BCLog::LogRateLimiter::SuppressionsActive
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:323,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:326,1
    - Dst: BCLog::LogRateLimiter::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:326,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:326,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:327,1
    - Dst: BCLog::LogRateLimiter::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:327,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:328,1
    - Dst: BCLog::LogRateLimiter::SuppressionsActive
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:328,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:329,1
    - Dst: BCLog::LogRateLimiter::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:329,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:330,1
    - Dst: BCLog::LogRateLimiter::SuppressionsActive
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:330,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:331,1
    - Dst: BCLog::LogRateLimiter::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:332,1
    - Dst: BCLog::LogRateLimiter::SuppressionsActive
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:332,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:335,1
    - Dst: BCLog::LogRateLimiter::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:335,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:335,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:336,1
    - Dst: BCLog::LogRateLimiter::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:336,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:337,1
    - Dst: BCLog::LogRateLimiter::SuppressionsActive
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:337,1
    - Dst: MockForwardAndSync
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:342,1
    - Dst: BCLog::LogRateLimiter::SuppressionsActive
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:342,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:343,1
    - Dst: BCLog::LogRateLimiter::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:343,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:343,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:344,1
    - Dst: BCLog::LogRateLimiter::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:344,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:344,1
    - Dst: CScheduler::stop
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 347
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 1
    functionsReached:
    - MockForwardAndSync
    - BCLog::LogRateLimiter::SuppressionsActive
    - std::move
    - CScheduler::scheduleEvery
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BCLog::LogRateLimiter::Consume
    - leveldb::VersionSet::current
    - std::string
    - CScheduler::stop
    - BCLog::LogRateLimiter::Reset
    - std::thread
    - CScheduler::serviceQueue
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(logging_log_rate_limiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:354,1
    - Dst: BCLog::LogLimitStats::GetAvailableBytes
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:354,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:355,1
    - Dst: BCLog::LogLimitStats::GetDroppedBytes
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:355,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:358,1
    - Dst: BCLog::LogLimitStats::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:358,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:359,1
    - Dst: BCLog::LogLimitStats::GetAvailableBytes
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:359,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:360,1
    - Dst: BCLog::LogLimitStats::GetDroppedBytes
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:360,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:362,1
    - Dst: BCLog::LogLimitStats::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:362,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:363,1
    - Dst: BCLog::LogLimitStats::GetAvailableBytes
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:363,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:364,1
    - Dst: BCLog::LogLimitStats::GetDroppedBytes
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:364,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:367,1
    - Dst: BCLog::LogLimitStats::Consume
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:367,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:368,1
    - Dst: BCLog::LogLimitStats::GetAvailableBytes
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:368,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:369,1
    - Dst: BCLog::LogLimitStats::GetDroppedBytes
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 370
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 1
    functionsReached:
    - BCLog::LogLimitStats::GetDroppedBytes
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BCLog::LogLimitStats::GetAvailableBytes
    - BCLog::LogLimitStats::Consume
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(logging_log_limit_stats)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:376,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:379,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:382,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - location
    - message
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 388
    functionName: LogFromLocation
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - LogPrintLevel
    linkageType: ''
    returnType: void
    signature: void LogFromLocation(int location, std::string message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:392,1
    - Dst: LogFromLocation
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - location
    - message
    - expect
    argTypes:
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: LogFromLocationAndExpect
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - LogFromLocation
    - ASSERT_DEBUG_LOG
    linkageType: ''
    returnType: void
    signature: void LogFromLocationAndExpect(int location, std::string message, std::string
      expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:398,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:399,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:400,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:401,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:402,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:403,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:406,1
    - Dst: CScheduler::serviceQueue
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:406,1
    - Dst: CScheduler::scheduleEvery
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:407,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:407,1
    - Dst: std::make_unique<BCLog::LogRateLimiter>
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:408,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:409,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:409,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:414,1
    - Dst: utf8string
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:414,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:415,1
    - Dst: static_cast<std::streamsize>
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:418,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:418,1
    - Dst: LogFromLocation
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:422,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:424,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:424,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:426,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:428,1
    - Dst: LogFromLocationAndExpect
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:428,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:429,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:429,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:431,1
    - Dst: LogFromLocation
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:433,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:436,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:436,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:438,1
    - Dst: LogFromLocationAndExpect
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:438,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:439,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:439,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:441,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:443,1
    - Dst: MockForwardAndSync
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:444,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:447,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:447,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:449,1
    - Dst: LogFromLocationAndExpect
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:449,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:453,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:455,1
    - Dst: LogFromLocationAndExpect
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:455,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:458,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:458,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:460,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:462,1
    - Dst: LogFromLocationAndExpect
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:462,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:465,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:465,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:467,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:468,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:469,1
    - Dst: CScheduler::stop
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:470,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/logging_tests.cpp:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 472
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/logging_tests.cpp
    functionUses: 0
    functionsReached:
    - utf8string
    - BOOST_CHECK_THROW
    - ASSERT_DEBUG_LOG
    - LogFromLocation
    - BOOST_CHECK_MESSAGE
    - MockForwardAndSync
    - static_cast<std::streamsize>
    - std::move
    - CScheduler::scheduleEvery
    - LogFromLocationAndExpect
    - BOOST_CHECK_NO_THROW
    - CScheduler::stop
    - std::make_unique<BCLog::LogRateLimiter>
    - std::string::c_str
    - std::thread
    - LogInstance
    - GetFileSize
    - CScheduler::serviceQueue
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(logging_filesize_rate_limit, LogSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:25,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:27,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:32,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:32,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' scriptPubKey'
    - ' keys'
    - ' transaction'
    - whichIn
    argTypes:
    - CScript
    - std::vector<CKey>
    - CTransaction
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: sign_multisig
    functionSourceFile: /src/bitcoin-core/src/test/multisig_tests.cpp
    functionUses: 0
    functionsReached:
    - SignatureHash
    - Sign
    - BOOST_CHECK
    - std::vector::push_back
    - CScript::CScript
    linkageType: ''
    returnType: CScript
    signature: CScript sign_multisig(const CScript& scriptPubKey, const std::vector<CKey>&
      keys, const CTransaction& transaction, int whichIn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:47,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:49,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:50,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:50,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:50,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:50,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:52,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:53,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:53,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:53,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:53,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:55,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:56,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:56,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:56,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:56,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:56,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:56,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:58,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:59,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:67,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:68,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:70,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:75,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:79,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:80,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:81,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:81,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:81,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:82,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:82,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:86,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:87,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:87,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:88,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:88,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:88,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:88,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:89,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:89,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:91,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:92,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:93,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:93,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:94,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:94,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:94,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:94,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:95,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:95,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:101,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:102,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:102,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:105,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:105,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:105,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:105,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:106,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:106,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:110,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:110,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:110,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:110,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:111,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:111,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:116,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:116,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:116,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:117,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:117,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:123,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:124,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:125,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:125,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:128,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:128,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:128,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:128,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:129,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:129,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:133,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:133,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:133,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:133,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:134,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 137
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/multisig_tests.cpp
    functionUses: 1
    functionsReached:
    - ScriptErrorString
    - std::vector::push_back
    - MakeNewKey
    - CScript::clear
    - BOOST_CHECK
    - std::vector::assign
    - BOOST_CHECK_MESSAGE
    - ToByteVector
    - CMutableTransaction::vout::resize
    - MutableTransactionSignatureChecker
    - VerifyScript
    - sign_multisig
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - vout::resize
    - strprintf
    - CMutableTransaction::GetHash
    - vin::resize
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(multisig_verify)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:143,1
    - Dst: IsStandard
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:147,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:149,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:154,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:155,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:155,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:155,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:156,1
    - Dst: is_standard
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:156,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:158,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:159,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:159,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:159,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:159,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:160,1
    - Dst: is_standard
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:160,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:162,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:163,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:163,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:163,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:163,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:163,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:163,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:164,1
    - Dst: is_standard
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:164,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:166,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:167,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:167,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:167,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:167,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:167,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:167,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:167,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:167,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:168,1
    - Dst: is_standard
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:168,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:171,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:171,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:171,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:171,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:172,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:172,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:172,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:172,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:173,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:173,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:173,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:173,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:174,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:174,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:174,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:174,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:175,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:175,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:175,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:175,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:176,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:176,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:176,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:179,1
    - Dst: is_standard
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 181
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/multisig_tests.cpp
    functionUses: 1
    functionsReached:
    - IsStandard
    - ToByteVector
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - MakeNewKey
    - is_standard
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(multisig_IsStandard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:190,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:191,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:191,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:194,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:195,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:195,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:195,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:195,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:197,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:198,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:198,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:198,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:198,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:200,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:201,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:201,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:201,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:201,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:201,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:201,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:203,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:204,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:212,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:213,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:215,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:222,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:222,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:222,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/multisig_tests.cpp:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 224
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/multisig_tests.cpp
    functionUses: 1
    functionsReached:
    - ToByteVector
    - CMutableTransaction::vout::resize
    - SignSignature
    - FillableSigningProvider::AddKey
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - CMutableTransaction::GetHash
    - BOOST_CHECK
    - MakeNewKey
    - vout::resize
    - strprintf
    - vin::resize
    - GetPubKey
    - BOOST_CHECK_MESSAGE
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(multisig_Sign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:58,1
    - Dst: std::setfill
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:58,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - A
    - width
    argTypes:
    - unsigned char[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ArrayToString
    functionSourceFile: /src/bitcoin-core/src/test/uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: std::string
    signature: std::string ArrayToString(const unsigned char A[], unsigned int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:66,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:66,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:66,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:67,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:67,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:67,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:68,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:68,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:68,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:69,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:69,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:69,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:70,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:70,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:71,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:71,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:72,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:72,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:72,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:73,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:73,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:73,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:74,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:74,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:74,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:75,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:75,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:75,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:76,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:76,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:76,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:77,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:77,1
    - Dst: ArrayToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:77,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:80,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:80,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:81,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:81,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:82,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:82,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:83,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:83,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:86,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:86,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:86,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:87,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:87,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:87,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:88,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:88,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:88,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:89,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:89,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:90,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:90,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:91,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:91,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:92,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:92,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:93,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:94,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:94,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:96,1
    - Dst: uint160::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:96,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:97,1
    - Dst: uint160::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:97,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:98,1
    - Dst: uint160::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:98,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:99,1
    - Dst: uint160::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:99,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:99,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:100,1
    - Dst: uint160::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:100,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:100,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:101,1
    - Dst: uint160::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:101,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:103,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:104,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:104,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:105,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 106
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - uint256
    - uint160
    - BOOST_CHECK_NE
    - ToString
    - BOOST_CHECK_EQUAL
    - uint160::FromHex
    - uint256::FromHex
    - ArrayToString
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE( basics )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:110,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:112,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:113,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:114,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:118,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:119,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:120,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:121,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:122,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:123,1
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:125,1
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:127,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:128,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:129,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:132,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:133,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:134,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:135,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:136,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:137,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:140,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:142,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:142,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:142,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:144,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:144,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:144,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 148
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - end
    - uint160::begin
    - BOOST_CHECK_LT
    - uint256::begin
    - uint256::uint256
    - begin
    - uint160::uint160
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE( comparison )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:152,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:152,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:152,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:153,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:153,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:154,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:154,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:155,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:155,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:155,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:157,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:158,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:158,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:158,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:159,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:159,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:159,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:159,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:161,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:161,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:162,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:162,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:162,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:162,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:163,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:163,1
    - Dst: uint256::end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:163,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:163,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:164,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:164,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:164,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:164,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:165,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:165,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:165,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:165,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:166,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:166,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:166,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:166,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:167,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:167,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:168,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:169,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:169,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:170,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:170,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:171,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:171,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:172,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:172,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:173,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:173,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:173,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:174,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:174,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:174,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:175,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:175,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:175,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:176,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:176,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:176,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:177,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:177,1
    - Dst: uint256::end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:177,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:178,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:178,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:179,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:179,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:183,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:183,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:183,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:185,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:186,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:188,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:188,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:188,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:190,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:191,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:193,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:193,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:193,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:195,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:196,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:198,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:198,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:198,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:199,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:199,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:199,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:200,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:200,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:200,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:201,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:201,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:201,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:203,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:204,1
    - Dst: uint160::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:204,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:204,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:205,1
    - Dst: uint160::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:205,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:205,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:205,1
    - Dst: uint160::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:207,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:207,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:208,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:208,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:208,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:208,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:209,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:209,1
    - Dst: uint160::end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:209,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:209,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:210,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:210,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:210,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:210,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:211,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:211,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:211,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:211,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:212,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:212,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:212,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:212,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:213,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:213,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:214,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:215,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:215,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:216,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:216,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:217,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:217,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:218,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:218,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:219,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:219,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:219,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:220,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:220,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:220,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:221,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:221,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:221,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:222,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:222,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:222,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:223,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:223,1
    - Dst: uint160::end
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:223,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:224,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:224,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:225,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:225,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:228,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:228,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:228,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:230,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:231,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:233,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:233,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:233,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:235,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:236,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:238,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:238,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:238,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:240,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 242
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - uint160
    - std::string
    - BOOST_CHECK_EQUAL
    - uint160::FromHex
    - secp256k1_strauss_scratch_size
    - ToString
    - uint160::begin
    - uint256::end
    - uint256::FromHex
    - GetHex
    - uint256
    - GetSerializeSize
    - uint160::end
    - DataStream::clear
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - end
    - uint256::begin
    - size
    - DataStream::str
    - begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(methods)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:251,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:254,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:257,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:258,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:259,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:259,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:259,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:263,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:263,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:264,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:264,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:265,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:265,1
    - Dst: auto::substr
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:265,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:266,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:266,1
    - Dst: auto::substr
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:266,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:267,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:273,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:273,1
    - Dst: auto::substr
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:273,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:277,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:277,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:277,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:277,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:278,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:278,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:283,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:283,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:283,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:283,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:284,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:284,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:284,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:284,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:285,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:285,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:285,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 287
    functionName: TestFromHex
    functionSourceFile: /src/bitcoin-core/src/test/uint256_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - std::string_view
    - std::string::data
    - auto::substr
    - detail::FromHex
    - ToLower
    - BOOST_CHECK
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - secp256k1_strauss_scratch_size
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void TestFromHex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestFromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:291,1
    - Dst: TestFromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:292,1
    - Dst: TestFromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:293,1
    - Dst: TestFromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - TestFromHex
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(from_hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:299,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:299,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:300,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:300,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:301,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:301,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:302,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:302,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:303,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:303,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:304,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:304,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:305,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:305,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:306,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:306,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:307,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:307,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:309,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:309,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:310,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:310,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:310,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:310,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:310,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:311,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:311,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:311,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:311,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:311,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:313,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:313,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:314,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:314,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:315,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:315,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:316,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:316,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:317,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:317,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:318,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:318,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:319,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:319,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:320,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:320,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:320,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:321,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:321,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:322,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:322,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:323,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 324
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - std::string::size
    - ToLower
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE_EQUAL
    - uint256::FromUserHex
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(from_user_hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE( check_ONE )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:334,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/uint256_tests.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/uint256_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - uint256::FromHex
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(FromHex_vs_uint256)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: TxRequestTest::RandomTime8s
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - randbits
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: std::chrono::microseconds TxRequestTest::RandomTime8s()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: TxRequestTest::RandomTime1y
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - randbits
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: std::chrono::microseconds TxRequestTest::RandomTime1y()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' runner'
    - starttime
    argTypes:
    - FastRandomContext
    - Runner
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Scenario::Scenario
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scenario(FastRandomContext& rng, Runner& runner, std::chrono::microseconds
      starttime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Scenario::SetTestName
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetTestName(std::string testname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:98,1
    - Dst: std::chrono::microseconds::count
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - amount
    argTypes:
    - std::chrono::microseconds
    assertStmts:
    - condition: (amount.count() >= 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bitcoin-core/src/test/txrequest_tests.cpp
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: Scenario::AdvanceTime
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds::count
    - assert
    linkageType: ''
    returnType: void
    signature: void AdvanceTime(std::chrono::microseconds amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:106,1
    - Dst: txrequest::ForgetTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:107,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' txhash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: Scenario::ForgetTxHash
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::SanityCheck
    - txrequest::ForgetTxHash
    linkageType: ''
    returnType: void
    signature: void ForgetTxHash(const uint256& txhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:116,1
    - Dst: txrequest::ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:117,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - peer
    - ' gtxid'
    - pref
    - reqtime
    argTypes:
    - NodeId
    - GenTxid
    - bool
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: Scenario::ReceivedInv
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::SanityCheck
    - txrequest::ReceivedInv
    linkageType: ''
    returnType: void
    signature: void ReceivedInv(NodeId peer, const GenTxid& gtxid, bool pref, std::chrono::microseconds
      reqtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:126,1
    - Dst: txrequest::DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:127,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: Scenario::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::DisconnectedPeer
    - txrequest::SanityCheck
    linkageType: ''
    returnType: void
    signature: void DisconnectedPeer(NodeId peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:136,1
    - Dst: txrequest::RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:137,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - peer
    - ' txhash'
    - exptime
    argTypes:
    - NodeId
    - uint256
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: Scenario::RequestedTx
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::SanityCheck
    - txrequest::RequestedTx
    linkageType: ''
    returnType: void
    signature: void RequestedTx(NodeId peer, const uint256& txhash, std::chrono::microseconds
      exptime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:146,1
    - Dst: txrequest::ReceivedResponse
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:147,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - peer
    - ' txhash'
    argTypes:
    - NodeId
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: Scenario::ReceivedResponse
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::SanityCheck
    - txrequest::ReceivedResponse
    linkageType: ''
    returnType: void
    signature: void ReceivedResponse(NodeId peer, const uint256& txhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:170,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:170,1
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:171,1
    - Dst: txrequest::GetRequestable
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:173,1
    - Dst: expired::insert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:175,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:177,1
    - Dst: txrequest::PostGetRequestableSanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:178,1
    - Dst: txrequest::Count
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:180,1
    - Dst: txrequest::CountCandidates
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:181,1
    - Dst: txrequest::CountInFlight
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:182,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:183,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:183,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:184,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:184,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:185,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:185,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:186,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - peer
    - ' expected'
    - candidates
    - inflight
    - completed
    - ' checkname'
    argTypes:
    - NodeId
    - std::vector<GenTxid>
    - size_t
    - size_t
    - size_t
    - std::string
    assertStmts:
    - condition: (offset.count() <= 0)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/bitcoin-core/src/test/txrequest_tests.cpp
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: Scenario::Check
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - txrequest::CountInFlight
    - expired::insert
    - BOOST_CHECK_MESSAGE
    - actions::emplace_back
    - txrequest::CountCandidates
    - txrequest::Count
    - txrequest::SanityCheck
    - txrequest::GetRequestable
    - strprintf
    - assert
    - count
    - txrequest::PostGetRequestableSanityCheck
    linkageType: ''
    returnType: void
    signature: "void Check(NodeId peer, const std::vector<GenTxid>& expected, size_t
      candidates, size_t inflight,\n               size_t completed, const std::string&
      checkname,\n               std::chrono::microseconds offset = std::chrono::microseconds{0})"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:198,1
    - Dst: expired::find
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:199,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:200,1
    - Dst: expired::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:200,1
    - Dst: expired::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:201,1
    - Dst: expired::erase
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - gtxid
    argTypes:
    - NodeId
    - GenTxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: Scenario::CheckExpired
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - expired::end
    - actions::emplace_back
    - expired::find
    - BOOST_CHECK_MESSAGE
    - expired::erase
    linkageType: ''
    returnType: void
    signature: void CheckExpired(NodeId peer, GenTxid gtxid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:215,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:218,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:221,1
    - Dst: txrequest::ComputePriority
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:222,1
    - Dst: txrequest::ComputePriority
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:223,1
    - Dst: txhashset::insert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: Scenario::NewTxHash
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - txrequest::ComputePriority
    - size
    - uint256::uint256
    - rand256
    - txhashset::insert
    linkageType: ''
    returnType: uint256
    signature: uint256 NewTxHash(const std::vector<std::vector<NodeId>>& orders =
      {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Scenario::NewTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:241,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:242,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:242,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: Scenario::NewGTxid
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - randbool
    - transaction_identifier::FromUint256
    - Scenario::NewTxHash
    linkageType: ''
    returnType: GenTxid
    signature: GenTxid NewGTxid(const std::vector<std::vector<NodeId>>& orders = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:252,1
    - Dst: peerset::insert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: Scenario::NewPeer
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - randbits
    - peerset::insert
    linkageType: ''
    returnType: NodeId
    signature: NodeId NewPeer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: Scenario::Now
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: std::chrono::microseconds Now() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:267,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:268,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:271,1
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:273,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:273,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:276,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:276,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:278,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:280,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:281,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:282,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:283,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:284,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:288,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:288,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:289,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:290,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:291,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:291,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:291,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:292,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:295,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:296,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:297,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:298,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:299,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:302,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:302,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:302,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:303,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:305,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:305,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:306,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:313,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:315,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:315,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 2
    argNames:
    - ' scenario'
    - config
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 318
    functionName: TxRequestTest::BuildSingleTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckExpired
    - ReceivedResponse
    - auto::count
    - RequestedTx
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - ReceivedInv
    - auto::ToUint256
    - randrange
    - strprintf
    - SetTestName
    - NewGTxid
    - ForgetTxHash
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildSingleTest(Scenario& scenario, int config)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:327,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:327,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:330,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:330,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:334,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:334,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:337,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:338,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:339,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:340,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:340,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:341,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:344,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:353,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:354,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:355,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:355,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:355,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:356,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:357,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:361,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:361,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:362,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:363,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:364,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:364,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:364,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:369,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:371,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:371,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:373,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:373,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:373,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:374,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:375,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:376,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:376,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:376,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:379,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:380,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:380,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:380,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:381,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:382,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - ' scenario'
    - config
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 383
    functionName: TxRequestTest::BuildPriorityTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - ReceivedResponse
    - RequestedTx
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - randbool
    - ReceivedInv
    - auto::ToUint256
    - strprintf
    - SetTestName
    - NewGTxid
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildPriorityTest(Scenario& scenario, int config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:389,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:389,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:394,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:397,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:397,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:398,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:401,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:401,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:402,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:406,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:407,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:408,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:412,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:412,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:412,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:416,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:421,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:423,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:429,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:432,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:438,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:438,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:439,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:440,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:441,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:447,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:447,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:447,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:448,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:448,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:450,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:450,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:451,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:452,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:453,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:455,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:455,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:456,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:456,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:458,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:459,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:465,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - ' scenario'
    - peers
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 467
    functionName: TxRequestTest::BuildBigPriorityTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - AdvanceTime
    - std::vector::push_back
    - randbool
    - std::shuffle
    - NewGTxid
    - std::vector::end
    - std::vector::back
    - back
    - TxRequestTest::RandomTime8s
    - std::vector::reserve
    - Check
    - ReceivedInv
    - auto::ToUint256
    - ReceivedResponse
    - std::vector::size
    - Now
    - std::vector::erase
    - DisconnectedPeer
    - strprintf
    - push_back
    - NewPeer
    - std::vector::begin
    - randrange
    - SetTestName
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildBigPriorityTest(Scenario& scenario, int peers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:476,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:476,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:478,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:479,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:480,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:482,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:482,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:483,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:485,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:487,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:489,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:489,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:490,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:491,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:492,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:493,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:493,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:494,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:495,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:498,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:500,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' scenario'
    - config
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 502
    functionName: TxRequestTest::BuildRequestOrderTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - ReceivedInv
    - strprintf
    - SetTestName
    - NewGTxid
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildRequestOrderTest(Scenario& scenario, int config)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:511,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:511,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:513,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:514,1
    - Dst: NewTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:515,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:516,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:517,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:519,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:519,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:519,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:520,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:520,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:520,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:524,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:525,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:525,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:525,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:526,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:528,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:529,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:529,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:529,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:530,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:535,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:536,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:536,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:536,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:538,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:539,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:541,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:542,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:546,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:548,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:548,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:548,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:549,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:550,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:552,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:552,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:552,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:553,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:554,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:559,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:561,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:562,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:563,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:565,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:566,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:567,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:572,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:572,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:572,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:573,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:574,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - ' scenario'
    - config
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 576
    functionName: TxRequestTest::BuildWtxidTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckExpired
    - RequestedTx
    - NewTxHash
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - randbool
    - std::max
    - transaction_identifier::FromUint256
    - ReceivedInv
    - auto::ToUint256
    - strprintf
    - SetTestName
    - ForgetTxHash
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildWtxidTest(Scenario& scenario, int config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:581,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:582,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:583,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:586,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:586,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:587,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:588,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:589,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:589,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:590,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:592,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:594,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:597,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:597,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:597,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:598,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:599,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:600,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:603,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:603,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:603,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:604,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:604,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:605,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:605,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:606,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:607,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:610,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:610,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:611,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:612,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:613,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:614,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:615,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:618,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:618,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:618,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:619,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:620,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - ' scenario'
    argTypes:
    - Scenario
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 622
    functionName: TxRequestTest::BuildTimeBackwardsTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckExpired
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - randbool
    - ReceivedInv
    - auto::ToUint256
    - RequestedTx
    - NewGTxid
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildTimeBackwardsTest(Scenario& scenario)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:627,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:628,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:629,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:630,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:633,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:634,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:637,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:637,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:637,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:638,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:639,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:640,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:643,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:643,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:643,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:644,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:644,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:645,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:646,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:649,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:649,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:649,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:650,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:650,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:651,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:651,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:652,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:653,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:656,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:657,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:657,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:658,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:659,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:662,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:663,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:664,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:667,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:667,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:668,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:669,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:670,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:673,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:673,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:673,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:674,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:674,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:675,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:676,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:679,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:679,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:679,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:680,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:681,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:682,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:685,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:685,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:685,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:686,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:686,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:687,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:688,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:691,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:691,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:691,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:692,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:692,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:693,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:694,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:697,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:698,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 1
    argNames:
    - ' scenario'
    argTypes:
    - Scenario
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 700
    functionName: TxRequestTest::BuildWeirdRequestsTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckExpired
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - randbool
    - ReceivedInv
    - auto::ToUint256
    - RequestedTx
    - NewGTxid
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildWeirdRequestsTest(Scenario& scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:708,1
    - Dst: TxRequestTest::BuildWtxidTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:708,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:709,1
    - Dst: TxRequestTest::BuildRequestOrderTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:709,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:710,1
    - Dst: TxRequestTest::BuildSingleTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:710,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:711,1
    - Dst: TxRequestTest::BuildPriorityTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:711,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:712,1
    - Dst: TxRequestTest::BuildBigPriorityTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:712,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:713,1
    - Dst: TxRequestTest::BuildTimeBackwardsTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:713,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:714,1
    - Dst: TxRequestTest::BuildWeirdRequestsTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:714,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:717,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:717,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:717,1
    - Dst: TxRequestTest::RandomTime1y
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:720,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:722,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:725,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:725,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:725,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:727,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:728,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:729,1
    - Dst: std::stable_sort
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:735,1
    - Dst: Runner::actions::begin
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:735,1
    - Dst: Runner::actions::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:735,1
    - Dst: second
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:741,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:744,1
    - Dst: Runner::txrequest::Size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:744,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:745,1
    - Dst: Runner::expired::empty
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 746
    functionName: TxRequestTest::TestInterleavedScenarios
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - BOOST_CHECK_EQUAL
    - TxRequestTest::RandomTime1y
    - std::shuffle
    - TxRequestTest::BuildRequestOrderTest
    - TxRequestTest::BuildBigPriorityTest
    - TxRequestTest::BuildWtxidTest
    - std::vector::end
    - TxRequestTest::BuildTimeBackwardsTest
    - std::vector::back
    - std::stable_sort
    - TxRequestTest::RandomTime8s
    - TxRequestTest::BuildPriorityTest
    - BOOST_CHECK
    - second
    - std::vector::pop_back
    - std::vector::size
    - Runner::actions::begin
    - Runner::expired::empty
    - TxRequestTest::BuildWeirdRequestsTest
    - Runner::txrequest::Size
    - Runner::actions::end
    - std::vector::begin
    - TxRequestTest::BuildSingleTest
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::TestInterleavedScenarios()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: TxRequestTest::RandomTime8s
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 8
    functionsReached:
    - randbits
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: std::chrono::microseconds TxRequestTest::RandomTime8s()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: TxRequestTest::RandomTime1y
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - randbits
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: std::chrono::microseconds TxRequestTest::RandomTime1y()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' runner'
    - starttime
    argTypes:
    - FastRandomContext
    - Runner
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Scenario::Scenario
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scenario(FastRandomContext& rng, Runner& runner, std::chrono::microseconds
      starttime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Scenario::SetTestName
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetTestName(std::string testname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:98,1
    - Dst: std::chrono::microseconds::count
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - amount
    argTypes:
    - std::chrono::microseconds
    assertStmts:
    - condition: (amount.count() >= 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bitcoin-core/src/test/txrequest_tests.cpp
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: Scenario::AdvanceTime
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds::count
    - assert
    linkageType: ''
    returnType: void
    signature: void AdvanceTime(std::chrono::microseconds amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:106,1
    - Dst: txrequest::ForgetTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:107,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' txhash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: Scenario::ForgetTxHash
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::SanityCheck
    - txrequest::ForgetTxHash
    linkageType: ''
    returnType: void
    signature: void ForgetTxHash(const uint256& txhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:116,1
    - Dst: txrequest::ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:117,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - peer
    - ' gtxid'
    - pref
    - reqtime
    argTypes:
    - NodeId
    - GenTxid
    - bool
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: Scenario::ReceivedInv
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::SanityCheck
    - txrequest::ReceivedInv
    linkageType: ''
    returnType: void
    signature: void ReceivedInv(NodeId peer, const GenTxid& gtxid, bool pref, std::chrono::microseconds
      reqtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:126,1
    - Dst: txrequest::DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:127,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: Scenario::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::DisconnectedPeer
    - txrequest::SanityCheck
    linkageType: ''
    returnType: void
    signature: void DisconnectedPeer(NodeId peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:136,1
    - Dst: txrequest::RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:137,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - peer
    - ' txhash'
    - exptime
    argTypes:
    - NodeId
    - uint256
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: Scenario::RequestedTx
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::SanityCheck
    - txrequest::RequestedTx
    linkageType: ''
    returnType: void
    signature: void RequestedTx(NodeId peer, const uint256& txhash, std::chrono::microseconds
      exptime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:146,1
    - Dst: txrequest::ReceivedResponse
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:147,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - peer
    - ' txhash'
    argTypes:
    - NodeId
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: Scenario::ReceivedResponse
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - actions::emplace_back
    - txrequest::SanityCheck
    - txrequest::ReceivedResponse
    linkageType: ''
    returnType: void
    signature: void ReceivedResponse(NodeId peer, const uint256& txhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:170,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:170,1
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:171,1
    - Dst: txrequest::GetRequestable
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:173,1
    - Dst: expired::insert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:175,1
    - Dst: txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:177,1
    - Dst: txrequest::PostGetRequestableSanityCheck
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:178,1
    - Dst: txrequest::Count
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:180,1
    - Dst: txrequest::CountCandidates
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:181,1
    - Dst: txrequest::CountInFlight
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:182,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:183,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:183,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:184,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:184,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:185,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:185,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:186,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - peer
    - ' expected'
    - candidates
    - inflight
    - completed
    - ' checkname'
    argTypes:
    - NodeId
    - std::vector<GenTxid>
    - size_t
    - size_t
    - size_t
    - std::string
    assertStmts:
    - condition: (offset.count() <= 0)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/bitcoin-core/src/test/txrequest_tests.cpp
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: Scenario::Check
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - txrequest::CountInFlight
    - expired::insert
    - BOOST_CHECK_MESSAGE
    - actions::emplace_back
    - txrequest::CountCandidates
    - txrequest::Count
    - txrequest::SanityCheck
    - txrequest::GetRequestable
    - strprintf
    - assert
    - count
    - txrequest::PostGetRequestableSanityCheck
    linkageType: ''
    returnType: void
    signature: "void Check(NodeId peer, const std::vector<GenTxid>& expected, size_t
      candidates, size_t inflight,\n               size_t completed, const std::string&
      checkname,\n               std::chrono::microseconds offset = std::chrono::microseconds{0})"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: actions::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:198,1
    - Dst: expired::find
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:199,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:200,1
    - Dst: expired::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:200,1
    - Dst: expired::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:201,1
    - Dst: expired::erase
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - gtxid
    argTypes:
    - NodeId
    - GenTxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: Scenario::CheckExpired
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - expired::end
    - actions::emplace_back
    - expired::find
    - BOOST_CHECK_MESSAGE
    - expired::erase
    linkageType: ''
    returnType: void
    signature: void CheckExpired(NodeId peer, GenTxid gtxid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:215,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:218,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:221,1
    - Dst: txrequest::ComputePriority
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:222,1
    - Dst: txrequest::ComputePriority
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:223,1
    - Dst: txhashset::insert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: Scenario::NewTxHash
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - txrequest::ComputePriority
    - size
    - uint256::uint256
    - rand256
    - txhashset::insert
    linkageType: ''
    returnType: uint256
    signature: uint256 NewTxHash(const std::vector<std::vector<NodeId>>& orders =
      {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Scenario::NewTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:241,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:242,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:242,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: Scenario::NewGTxid
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - randbool
    - transaction_identifier::FromUint256
    - Scenario::NewTxHash
    linkageType: ''
    returnType: GenTxid
    signature: GenTxid NewGTxid(const std::vector<std::vector<NodeId>>& orders = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:252,1
    - Dst: peerset::insert
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: Scenario::NewPeer
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - randbits
    - peerset::insert
    linkageType: ''
    returnType: NodeId
    signature: NodeId NewPeer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: Scenario::Now
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: std::chrono::microseconds Now() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:267,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:268,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:271,1
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:273,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:273,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:276,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:276,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:278,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:280,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:281,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:282,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:283,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:284,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:288,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:288,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:289,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:290,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:291,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:291,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:291,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:292,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:295,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:296,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:297,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:298,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:299,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:302,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:302,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:302,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:303,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:305,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:305,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:306,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:313,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:315,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:315,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 2
    argNames:
    - ' scenario'
    - config
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 318
    functionName: TxRequestTest::BuildSingleTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckExpired
    - ReceivedResponse
    - auto::count
    - RequestedTx
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - ReceivedInv
    - auto::ToUint256
    - randrange
    - strprintf
    - SetTestName
    - NewGTxid
    - ForgetTxHash
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildSingleTest(Scenario& scenario, int config)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:327,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:327,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:330,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:330,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:334,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:334,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:337,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:338,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:339,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:340,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:340,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:341,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:344,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:353,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:354,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:355,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:355,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:355,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:356,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:357,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:361,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:361,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:362,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:363,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:364,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:364,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:364,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:369,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:371,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:371,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:373,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:373,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:373,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:374,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:375,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:376,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:376,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:376,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:379,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:380,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:380,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:380,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:381,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:382,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - ' scenario'
    - config
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 383
    functionName: TxRequestTest::BuildPriorityTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - ReceivedResponse
    - RequestedTx
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - randbool
    - ReceivedInv
    - auto::ToUint256
    - strprintf
    - SetTestName
    - NewGTxid
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildPriorityTest(Scenario& scenario, int config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:389,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:389,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:394,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:397,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:397,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:398,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:401,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:401,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:402,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:406,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:407,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:408,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:412,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:412,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:412,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:416,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:421,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:423,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:429,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:432,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:438,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:438,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:439,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:440,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:441,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:447,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:447,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:447,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:448,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:448,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:450,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:450,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:451,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:452,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:453,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:455,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:455,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:456,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:456,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:458,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:459,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:465,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - ' scenario'
    - peers
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 467
    functionName: TxRequestTest::BuildBigPriorityTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - AdvanceTime
    - std::vector::push_back
    - randbool
    - std::shuffle
    - NewGTxid
    - std::vector::end
    - std::vector::back
    - back
    - TxRequestTest::RandomTime8s
    - std::vector::reserve
    - Check
    - ReceivedInv
    - auto::ToUint256
    - ReceivedResponse
    - std::vector::size
    - Now
    - std::vector::erase
    - DisconnectedPeer
    - strprintf
    - push_back
    - NewPeer
    - std::vector::begin
    - randrange
    - SetTestName
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildBigPriorityTest(Scenario& scenario, int peers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:476,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:476,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:478,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:479,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:480,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:482,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:482,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:483,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:485,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:487,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:489,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:489,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:490,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:491,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:492,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:493,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:493,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:494,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:495,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:498,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:500,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' scenario'
    - config
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 502
    functionName: TxRequestTest::BuildRequestOrderTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - ReceivedInv
    - strprintf
    - SetTestName
    - NewGTxid
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildRequestOrderTest(Scenario& scenario, int config)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SetTestName
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:511,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:511,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:513,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:514,1
    - Dst: NewTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:515,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:516,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:517,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:519,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:519,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:519,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:520,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:520,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:520,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:524,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:525,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:525,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:525,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:526,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:528,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:529,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:529,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:529,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:530,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:535,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:536,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:536,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:536,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:538,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:539,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:541,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:542,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:546,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:548,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:548,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:548,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:549,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:550,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:552,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:552,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:552,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:553,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:554,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:559,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:561,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:562,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:563,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:565,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:566,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:567,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:572,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:572,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:572,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:573,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:574,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - ' scenario'
    - config
    argTypes:
    - Scenario
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 576
    functionName: TxRequestTest::BuildWtxidTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckExpired
    - RequestedTx
    - NewTxHash
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - randbool
    - std::max
    - transaction_identifier::FromUint256
    - ReceivedInv
    - auto::ToUint256
    - strprintf
    - SetTestName
    - ForgetTxHash
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildWtxidTest(Scenario& scenario, int config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:581,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:582,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:583,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:586,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:586,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:587,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:588,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:589,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:589,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:590,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:592,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:594,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:597,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:597,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:597,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:598,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:599,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:600,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:603,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:603,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:603,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:604,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:604,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:605,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:605,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:606,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:607,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:610,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:610,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:611,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:612,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:613,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:614,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:615,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:618,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:618,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:618,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:619,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:620,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - ' scenario'
    argTypes:
    - Scenario
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 622
    functionName: TxRequestTest::BuildTimeBackwardsTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckExpired
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - randbool
    - ReceivedInv
    - auto::ToUint256
    - RequestedTx
    - NewGTxid
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildTimeBackwardsTest(Scenario& scenario)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:627,1
    - Dst: NewPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:628,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:629,1
    - Dst: NewGTxid
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:630,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:633,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:634,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:637,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:637,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:637,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:638,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:639,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:640,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:643,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:643,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:643,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:644,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:644,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:645,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:646,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:649,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:649,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:649,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:650,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:650,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:651,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:651,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:652,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:653,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:656,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:657,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:657,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:658,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:659,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:662,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:663,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:664,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:667,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:667,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:668,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:669,1
    - Dst: CheckExpired
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:670,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:673,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:673,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:673,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:674,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:674,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:675,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:676,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:679,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:679,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:679,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:680,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:681,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:682,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:685,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:685,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:685,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:686,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:686,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:687,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:688,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:691,1
    - Dst: AdvanceTime
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:691,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:691,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:692,1
    - Dst: auto::ToUint256
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:692,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:693,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:694,1
    - Dst: DisconnectedPeer
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:697,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:698,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 1
    argNames:
    - ' scenario'
    argTypes:
    - Scenario
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 700
    functionName: TxRequestTest::BuildWeirdRequestsTest
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckExpired
    - DisconnectedPeer
    - TxRequestTest::RandomTime8s
    - NewPeer
    - AdvanceTime
    - Check
    - randbool
    - ReceivedInv
    - auto::ToUint256
    - RequestedTx
    - NewGTxid
    - Now
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::BuildWeirdRequestsTest(Scenario& scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:708,1
    - Dst: TxRequestTest::BuildWtxidTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:708,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:709,1
    - Dst: TxRequestTest::BuildRequestOrderTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:709,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:710,1
    - Dst: TxRequestTest::BuildSingleTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:710,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:711,1
    - Dst: TxRequestTest::BuildPriorityTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:711,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:712,1
    - Dst: TxRequestTest::BuildBigPriorityTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:712,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:713,1
    - Dst: TxRequestTest::BuildTimeBackwardsTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:713,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:714,1
    - Dst: TxRequestTest::BuildWeirdRequestsTest
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:714,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:717,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:717,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:717,1
    - Dst: TxRequestTest::RandomTime1y
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:720,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:722,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:725,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:725,1
    - Dst: TxRequestTest::RandomTime8s
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:725,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:727,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:728,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:729,1
    - Dst: std::stable_sort
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:735,1
    - Dst: Runner::actions::begin
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:735,1
    - Dst: Runner::actions::end
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:735,1
    - Dst: second
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:741,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:744,1
    - Dst: Runner::txrequest::Size
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:744,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:745,1
    - Dst: Runner::expired::empty
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 746
    functionName: TxRequestTest::TestInterleavedScenarios
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - BOOST_CHECK_EQUAL
    - TxRequestTest::RandomTime1y
    - std::shuffle
    - TxRequestTest::BuildRequestOrderTest
    - TxRequestTest::BuildBigPriorityTest
    - TxRequestTest::BuildWtxidTest
    - std::vector::end
    - TxRequestTest::BuildTimeBackwardsTest
    - std::vector::back
    - std::stable_sort
    - TxRequestTest::RandomTime8s
    - TxRequestTest::BuildPriorityTest
    - BOOST_CHECK
    - second
    - std::vector::pop_back
    - std::vector::size
    - Runner::actions::begin
    - Runner::expired::empty
    - TxRequestTest::BuildWeirdRequestsTest
    - Runner::txrequest::Size
    - Runner::actions::end
    - std::vector::begin
    - TxRequestTest::BuildSingleTest
    linkageType: ''
    returnType: void
    signature: void TxRequestTest::TestInterleavedScenarios()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInterleavedScenarios
      Src: /src/bitcoin-core/src/test/txrequest_tests.cpp:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 757
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txrequest_tests.cpp
    functionUses: 1
    functionsReached:
    - TestInterleavedScenarios
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(TxRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:45,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:45,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:49,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:49,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:49,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:51,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:51,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:51,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:52,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:52,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:52,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:53,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:53,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/script_parse_tests.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 54
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_parse_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - BOOST_CHECK_EQUAL
    - ParseScript
    - HasReason
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(parse_script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:21,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:23,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:24,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:25,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:26,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:27,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:28,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:29,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:29,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:32,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:32,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:33,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:33,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:36,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:37,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 38
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/base32_tests.cpp
    functionUses: 1
    functionsReached:
    - all_bytes_equal
    - EncodeBase32
    - size
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE
    - BOOST_CHECK_MESSAGE
    - DecodeBase32
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(base32_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:43,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:43,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:46,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:46,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:47,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:48,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:49,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:49,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:50,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:50,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:51,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:52,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:53,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/base32_tests.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/base32_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - EncodeBase32
    - DecodeBase32
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(base32_padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:29,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:30,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:31,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:31,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:32,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:32,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' prv'
    - ' pub'
    - ' expected_error'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: CheckUnparsable
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - auto::empty
    - Parse
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void CheckUnparsable(const std::string& prv, const std::string& pub,
      const std::string& expected_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:40,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:41,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: CheckInferRaw
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - InferDescriptor
    - std::unique_ptr::ToString
    linkageType: ''
    returnType: void
    signature: void CheckInferRaw(const CScript& script)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:62,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:62,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:63,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:63,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:65,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:65,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:66,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: EqualDescriptor
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::substr
    linkageType: ''
    returnType: bool
    signature: bool EqualDescriptor(std::string a, std::string b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - FlatSigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: EqualSigningProviders
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EqualSigningProviders(const FlatSigningProvider& a, const FlatSigningProvider&
      b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:84,1
    - Dst: GetDescriptorChecksum
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:91,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:92,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:92,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:93,1
    - Dst: GetDescriptorChecksum
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: UseHInsteadOfApostrophe
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::string
    - std::string::find
    - GetDescriptorChecksum
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string UseHInsteadOfApostrophe(const std::string& desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:102,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: CountXpubs
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t CountXpubs(const std::string& desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sregex_iterator
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:114,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:114,1
    - Dst: std::sregex_iterator
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:115,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:118,1
    - Dst: std::regex_iterator::str
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:118,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: CountUniqueXpubs
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::sregex_iterator
    - std::regex_iterator::str
    - std::set::emplace
    - begin
    - std::set::size
    linkageType: ''
    returnType: size_t
    signature: size_t CountUniqueXpubs(const std::string& desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:130,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:130,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:131,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:131,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:131,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:134,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' provider'
    - flags
    argTypes:
    - FlatSigningProvider
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: GetKeyData
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::copy
    - size
    - BOOST_CHECK_EQUAL
    - std::set::insert
    - begin
    linkageType: ''
    returnType: std::set<CPubKey>
    signature: std::set<CPubKey> GetKeyData(const FlatSigningProvider& provider, int
      flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:147,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:147,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:157,1
    - Dst: first::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:157,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:158,1
    - Dst: first::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:158,1
    - Dst: first::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:158,1
    - Dst: std::fill
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:162,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:162,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:162,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:163,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ' provider'
    - flags
    argTypes:
    - FlatSigningProvider
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 169
    functionName: GetKeyOriginData
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::copy
    - std::fill
    - std::set::contains
    - GetID
    - first::size
    - BOOST_CHECK_EQUAL
    - std::set::insert
    - first::end
    - std::set::emplace
    - begin
    - first::begin
    linkageType: ''
    returnType: std::set<std::pair<CPubKey, KeyOriginInfo>>
    signature: std::set<std::pair<CPubKey, KeyOriginInfo>> GetKeyOriginData(const
      FlatSigningProvider& provider, int flags)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: UseHInsteadOfApostrophe
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:186,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:188,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:189,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:189,1
    - Dst: UseHInsteadOfApostrophe
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:191,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:193,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:194,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:194,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:196,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:197,1
    - Dst: IsSolvable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:200,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:200,1
    - Dst: MaxSatisfactionWeight
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:201,1
    - Dst: MaxSatisfactionWeight
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:203,1
    - Dst: MaxSatisfactionElems
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:204,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:206,1
    - Dst: IsSingleType
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:209,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:210,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:210,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:213,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:213,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:214,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:214,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:217,1
    - Dst: FlatSigningProvider::keys::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:217,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:218,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:218,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:222,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:223,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:225,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:225,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:226,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:226,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:228,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:228,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:229,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:229,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:234,1
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:234,1
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:240,1
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:240,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:242,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:242,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:244,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:244,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:246,1
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:246,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:247,1
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:247,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:249,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:249,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:250,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:250,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:252,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:252,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:254,1
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:254,1
    - Dst: ExpandPrivate
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:258,1
    - Dst: ExpandPrivate
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:261,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:263,1
    - Dst: EqualSigningProviders
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:263,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:268,1
    - Dst: ToNormalizedString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:268,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:269,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:269,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:270,1
    - Dst: ToNormalizedString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:270,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:271,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:271,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:274,1
    - Dst: IsRange
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:274,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:275,1
    - Dst: IsRange
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:275,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:284,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:284,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:285,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:300,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:300,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:303,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:303,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:303,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:306,1
    - Dst: ExpandFromCache
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:306,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:307,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:308,1
    - Dst: GetKeyData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:308,1
    - Dst: GetKeyData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:308,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:309,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:310,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:310,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:310,1
    - Dst: DescriptorCache::GetCachedDerivedExtPubKeys
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:313,1
    - Dst: DescriptorCache::GetCachedParentExtPubKeys
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:314,1
    - Dst: CountXpubs
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:315,1
    - Dst: CountUniqueXpubs
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:316,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:324,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:324,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:325,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:325,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:330,1
    - Dst: Derive
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:330,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:331,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:336,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:340,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:342,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:342,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:346,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:348,1
    - Dst: origins::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:348,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:353,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:353,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:353,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:356,1
    - Dst: origins::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:356,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:358,1
    - Dst: origins::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:358,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:366,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:372,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:374,1
    - Dst: Derive
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:374,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:375,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:380,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:384,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:384,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:386,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:386,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:388,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:388,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:393,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:395,1
    - Dst: origins::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:395,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:400,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:400,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:401,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:401,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:409,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:409,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:412,1
    - Dst: ExpandFromCache
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:412,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:413,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:414,1
    - Dst: GetKeyData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:414,1
    - Dst: GetKeyData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:414,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:415,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:416,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:416,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:416,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:420,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:421,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:421,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:424,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:426,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:428,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:430,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:431,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:431,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:439,1
    - Dst: Merge
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:439,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:440,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:444,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:445,1
    - Dst: auto::IsSolvable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:445,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:448,1
    - Dst: auto::Expand
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:448,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:449,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:449,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:450,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:451,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:451,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:452,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:452,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:452,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:458,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:458,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:459,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:465,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:465,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 166
    argCount: 6
    argNames:
    - prv
    - pub
    - ' norm_pub'
    - flags
    - ' scripts'
    - ' type'
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - std::vector<std::vector<std::string>>
    - std::optional<OutputType>
    assertStmts:
    - condition: (scripts.size() == 1)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    constantsTouched: []
    func_position:
      end: 466
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 466
    functionName: DoCheck
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - EqualDescriptor
    - IsSolvable
    - ScriptSize
    - std::move
    - auto::IsSolvable
    - BOOST_CHECK_EQUAL
    - std::set::insert
    - CountXpubs
    - UseHInsteadOfApostrophe
    - ToNormalizedString
    - ToPrivateString
    - auto::Expand
    - InferDescriptor
    - ToString
    - ExpandPrivate
    - BOOST_CHECK
    - MaxSatisfactionWeight
    - origins::size
    - GetOutputType
    - ExpandFromCache
    - DescriptorCache::GetCachedParentExtPubKeys
    - Expand
    - Merge
    - std::vector::empty
    - keys::size
    - CMutableTransaction::vin::resize
    - std::vector::size
    - BOOST_CHECK_MESSAGE
    - PrecomputedTransactionData::Init
    - ProduceSignature
    - FlatSigningProvider::keys::size
    - CMutableTransaction::vout::resize
    - empty
    - CMutableTransaction::CMutableTransaction
    - Parse
    - std::set::erase
    - std::set::count
    - assert
    - MaxSatisfactionElems
    - count
    - EqualSigningProviders
    - DescriptorCache::GetCachedDerivedExtPubKeys
    - std::vector::at
    - Derive
    - IsRange
    - size
    - DescriptorID
    - std::set::empty
    - CountUniqueXpubs
    - PrecomputedTransactionData::PrecomputedTransactionData
    - HexStr
    - GetKeyData
    - IsSingleType
    - GetKeyOriginData
    - std::set::size
    linkageType: ''
    returnType: void
    signature: "void DoCheck(std::string prv, std::string pub, const std::string&
      norm_pub, int flags,\n             const std::vector<std::vector<std::string>>&
      scripts, const std::optional<OutputType>& type, std::optional<uint256> op_desc_id
      = std::nullopt,\n             const std::set<std::vector<uint32_t>>& paths =
      ONLY_EMPTY, bool replace_apostrophe_with_h_in_prv=false,\n             bool
      replace_apostrophe_with_h_in_pub=false, uint32_t spender_nlocktime=0, uint32_t
      spender_nsequence=CTxIn::SEQUENCE_FINAL,\n             std::map<std::vector<uint8_t>,
      std::vector<uint8_t>> preimages={},\n             std::optional<std::string>
      expected_prv = std::nullopt, std::optional<std::string> expected_pub = std::nullopt,
      int desc_index = 0)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DoCheck
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:475,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:481,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:481,1
    - Dst: DoCheck
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - ' prv'
    - ' pub'
    - ' norm_pub'
    - flags
    - ' scripts'
    - ' type'
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - std::vector<std::vector<std::string>>
    - std::optional<OutputType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: Check
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 69
    functionsReached:
    - find
    - DoCheck
    linkageType: ''
    returnType: void
    signature: "void Check(const std::string& prv, const std::string& pub, const std::string&
      norm_pub, int flags,\n           const std::vector<std::vector<std::string>>&
      scripts, const std::optional<OutputType>& type, std::optional<uint256> op_desc_id
      = std::nullopt,\n           const std::set<std::vector<uint32_t>>& paths = ONLY_EMPTY,
      uint32_t spender_nlocktime=0,\n           uint32_t spender_nsequence=CTxIn::SEQUENCE_FINAL,
      std::map<std::vector<uint8_t>, std::vector<uint8_t>> preimages={},\n           std::optional<std::string>
      expected_prv = std::nullopt, std::optional<std::string> expected_pub = std::nullopt,
      int desc_index = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:499,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:499,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:499,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:500,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:500,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:500,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:501,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:501,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:501,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:502,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:502,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:502,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:503,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:504,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:504,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:504,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:504,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:506,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:506,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:515,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:516,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:516,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:517,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:517,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:519,1
    - Dst: auto::Expand
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 9
    argNames:
    - ' prv'
    - ' pub'
    - ' expanded_prvs'
    - ' expanded_pubs'
    - ' expanded_norm_pubs'
    - flags
    - ' scripts'
    - ' type'
    - ' paths'
    argTypes:
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<std::string>
    - std::vector<std::string>
    - int
    - std::vector<std::vector<std::vector<std::string>>>
    - std::optional<OutputType>
    - std::vector<std::set<std::vector<uint32_t>>>
    assertStmts:
    - condition: (expanded_prvs.size() == scripts.size())
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    - condition: (expanded_prvs.size() == expanded_pubs.size())
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    - condition: (expanded_prvs.size() == expanded_norm_pubs.size())
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    - condition: (parsed.size() > 1)
      pos:
        line_end: 515
        line_start: 515
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    - condition: (expanded_prvs.size() == paths.size())
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    constantsTouched: []
    func_position:
      end: 522
      start: 489
    functionDepth: 4
    functionLinenumber: 489
    functionLinenumberEnd: 522
    functionName: CheckMultipath
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - auto::size
    - auto::Expand
    - auto::at
    - at
    - Parse
    - size
    - Check
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: "void CheckMultipath(const std::string& prv,\n        const std::string&
      pub,\n        const std::vector<std::string>& expanded_prvs,\n        const
      std::vector<std::string>& expanded_pubs,\n        const std::vector<std::string>&
      expanded_norm_pubs,\n        int flags,\n        const std::vector<std::vector<std::vector<std::string>>>&
      scripts,\n        const std::optional<OutputType>& type,\n        const std::vector<std::set<std::vector<uint32_t>>>&
      paths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:526,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:527,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:527,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:531,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:532,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:532,1
    - Dst: FlatSigningProvider::scripts::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:533,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:533,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:536,1
    - Dst: FlatSigningProvider::pubkeys::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:537,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:537,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:539,1
    - Dst: Split
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:542,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:543,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:543,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:544,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:545,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:545,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:545,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:546,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:549,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:550,1
    - Dst: std::span::first
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:552,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:552,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:556,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:556,1
    - Dst: std::span::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:556,1
    - Dst: std::span::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:556,1
    - Dst: KeyOriginInfo::path::push_back
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:557,1
    - Dst: FlatSigningProvider::origins::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:560,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:560,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:560,1
    - Dst: GetDescriptorChecksum
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:564,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:566,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:567,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ' script_hex'
    - ' expected_desc'
    - ' hex_scripts'
    - ' origin_pubkeys'
    argTypes:
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 524
    functionDepth: 5
    functionLinenumber: 524
    functionLinenumberEnd: 568
    functionName: CheckInferDescriptor
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::make_pair
    - CPubKey::GetID
    - FlatSigningProvider::pubkeys::emplace
    - ToIntegral
    - BOOST_CHECK_EQUAL
    - KeyOriginInfo::path::push_back
    - std::vector::end
    - auto::begin
    - std::span::size
    - InferDescriptor
    - std::span::begin
    - std::span::end
    - FlatSigningProvider::scripts::emplace
    - ParseHex
    - std::vector::size
    - empty
    - CScriptID
    - std::unique_ptr::ToString
    - Assert
    - end
    - FlatSigningProvider::origins::emplace
    - std::span::first
    - std::vector::begin
    - GetDescriptorChecksum
    - Split
    - auto::end
    - begin
    linkageType: ''
    returnType: void
    signature: void CheckInferDescriptor(const std::string& script_hex, const std::string&
      expected_desc, const std::vector<std::string>& hex_scripts, const std::vector<std::pair<std::string,
      std::string>>& origin_pubkeys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:29,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:30,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:31,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:31,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:32,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:32,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' prv'
    - ' pub'
    - ' expected_error'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: CheckUnparsable
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - auto::empty
    - Parse
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void CheckUnparsable(const std::string& prv, const std::string& pub,
      const std::string& expected_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:40,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:41,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: CheckInferRaw
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - InferDescriptor
    - std::unique_ptr::ToString
    linkageType: ''
    returnType: void
    signature: void CheckInferRaw(const CScript& script)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:62,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:62,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:63,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:63,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:65,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:65,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:66,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: EqualDescriptor
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 1
    functionsReached:
    - std::string::size
    - std::string::substr
    linkageType: ''
    returnType: bool
    signature: bool EqualDescriptor(std::string a, std::string b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - FlatSigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: EqualSigningProviders
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EqualSigningProviders(const FlatSigningProvider& a, const FlatSigningProvider&
      b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:84,1
    - Dst: GetDescriptorChecksum
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:91,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:92,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:92,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:93,1
    - Dst: GetDescriptorChecksum
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: UseHInsteadOfApostrophe
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::string
    - std::string::find
    - GetDescriptorChecksum
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string UseHInsteadOfApostrophe(const std::string& desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:102,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: CountXpubs
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 1
    functionsReached:
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t CountXpubs(const std::string& desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sregex_iterator
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:114,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:114,1
    - Dst: std::sregex_iterator
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:115,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:118,1
    - Dst: std::regex_iterator::str
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:118,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: CountUniqueXpubs
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::sregex_iterator
    - std::regex_iterator::str
    - std::set::emplace
    - begin
    - std::set::size
    linkageType: ''
    returnType: size_t
    signature: size_t CountUniqueXpubs(const std::string& desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:130,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:130,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:131,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:131,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:131,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:134,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' provider'
    - flags
    argTypes:
    - FlatSigningProvider
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: GetKeyData
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::copy
    - size
    - BOOST_CHECK_EQUAL
    - std::set::insert
    - begin
    linkageType: ''
    returnType: std::set<CPubKey>
    signature: std::set<CPubKey> GetKeyData(const FlatSigningProvider& provider, int
      flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:147,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:147,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:157,1
    - Dst: first::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:157,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:158,1
    - Dst: first::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:158,1
    - Dst: first::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:158,1
    - Dst: std::fill
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:162,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:162,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:162,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:163,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ' provider'
    - flags
    argTypes:
    - FlatSigningProvider
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 169
    functionName: GetKeyOriginData
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::copy
    - std::fill
    - std::set::contains
    - GetID
    - first::size
    - BOOST_CHECK_EQUAL
    - std::set::insert
    - first::end
    - std::set::emplace
    - begin
    - first::begin
    linkageType: ''
    returnType: std::set<std::pair<CPubKey, KeyOriginInfo>>
    signature: std::set<std::pair<CPubKey, KeyOriginInfo>> GetKeyOriginData(const
      FlatSigningProvider& provider, int flags)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: UseHInsteadOfApostrophe
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:186,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:188,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:189,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:189,1
    - Dst: UseHInsteadOfApostrophe
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:191,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:193,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:194,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:194,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:196,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:197,1
    - Dst: IsSolvable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:200,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:200,1
    - Dst: MaxSatisfactionWeight
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:201,1
    - Dst: MaxSatisfactionWeight
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:203,1
    - Dst: MaxSatisfactionElems
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:204,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:206,1
    - Dst: IsSingleType
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:209,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:210,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:210,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:213,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:213,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:214,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:214,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:217,1
    - Dst: FlatSigningProvider::keys::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:217,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:218,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:218,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:222,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:223,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:225,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:225,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:226,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:226,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:228,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:228,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:229,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:229,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:234,1
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:234,1
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:240,1
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:240,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:242,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:242,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:244,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:244,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:246,1
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:246,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:247,1
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:247,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:249,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:249,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:250,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:250,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:252,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:252,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:254,1
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:254,1
    - Dst: ExpandPrivate
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:258,1
    - Dst: ExpandPrivate
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:261,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:263,1
    - Dst: EqualSigningProviders
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:263,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:268,1
    - Dst: ToNormalizedString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:268,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:269,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:269,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:270,1
    - Dst: ToNormalizedString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:270,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:271,1
    - Dst: EqualDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:271,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:274,1
    - Dst: IsRange
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:274,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:275,1
    - Dst: IsRange
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:275,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:284,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:284,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:285,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:300,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:300,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:303,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:303,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:303,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:306,1
    - Dst: ExpandFromCache
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:306,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:307,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:308,1
    - Dst: GetKeyData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:308,1
    - Dst: GetKeyData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:308,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:309,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:310,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:310,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:310,1
    - Dst: DescriptorCache::GetCachedDerivedExtPubKeys
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:313,1
    - Dst: DescriptorCache::GetCachedParentExtPubKeys
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:314,1
    - Dst: CountXpubs
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:315,1
    - Dst: CountUniqueXpubs
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:316,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:324,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:324,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:325,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:325,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:330,1
    - Dst: Derive
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:330,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:331,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:336,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:340,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:342,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:342,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:346,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:348,1
    - Dst: origins::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:348,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:353,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:353,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:353,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:356,1
    - Dst: origins::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:356,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:358,1
    - Dst: origins::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:358,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:366,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:372,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:374,1
    - Dst: Derive
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:374,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:375,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:380,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:384,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:384,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:386,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:386,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:388,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:388,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:393,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:395,1
    - Dst: origins::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:395,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:400,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:400,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:401,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:401,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:409,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:409,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:412,1
    - Dst: ExpandFromCache
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:412,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:413,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:414,1
    - Dst: GetKeyData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:414,1
    - Dst: GetKeyData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:414,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:415,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:416,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:416,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:416,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:420,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:421,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:421,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:424,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:426,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:428,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:430,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:431,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:431,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:439,1
    - Dst: Merge
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:439,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:440,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:444,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:445,1
    - Dst: auto::IsSolvable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:445,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:448,1
    - Dst: auto::Expand
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:448,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:449,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:449,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:450,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:451,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:451,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:452,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:452,1
    - Dst: GetKeyOriginData
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:452,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:458,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:458,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:459,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:465,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:465,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 166
    argCount: 6
    argNames:
    - prv
    - pub
    - ' norm_pub'
    - flags
    - ' scripts'
    - ' type'
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - std::vector<std::vector<std::string>>
    - std::optional<OutputType>
    assertStmts:
    - condition: (scripts.size() == 1)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    constantsTouched: []
    func_position:
      end: 466
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 466
    functionName: DoCheck
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 1
    functionsReached:
    - EqualDescriptor
    - IsSolvable
    - ScriptSize
    - std::move
    - auto::IsSolvable
    - BOOST_CHECK_EQUAL
    - std::set::insert
    - CountXpubs
    - UseHInsteadOfApostrophe
    - ToNormalizedString
    - ToPrivateString
    - auto::Expand
    - InferDescriptor
    - ToString
    - ExpandPrivate
    - BOOST_CHECK
    - MaxSatisfactionWeight
    - origins::size
    - GetOutputType
    - ExpandFromCache
    - DescriptorCache::GetCachedParentExtPubKeys
    - Expand
    - Merge
    - std::vector::empty
    - keys::size
    - CMutableTransaction::vin::resize
    - std::vector::size
    - BOOST_CHECK_MESSAGE
    - PrecomputedTransactionData::Init
    - ProduceSignature
    - FlatSigningProvider::keys::size
    - CMutableTransaction::vout::resize
    - empty
    - CMutableTransaction::CMutableTransaction
    - Parse
    - std::set::erase
    - std::set::count
    - assert
    - MaxSatisfactionElems
    - count
    - EqualSigningProviders
    - DescriptorCache::GetCachedDerivedExtPubKeys
    - std::vector::at
    - Derive
    - IsRange
    - size
    - DescriptorID
    - std::set::empty
    - CountUniqueXpubs
    - PrecomputedTransactionData::PrecomputedTransactionData
    - HexStr
    - GetKeyData
    - IsSingleType
    - GetKeyOriginData
    - std::set::size
    linkageType: ''
    returnType: void
    signature: "void DoCheck(std::string prv, std::string pub, const std::string&
      norm_pub, int flags,\n             const std::vector<std::vector<std::string>>&
      scripts, const std::optional<OutputType>& type, std::optional<uint256> op_desc_id
      = std::nullopt,\n             const std::set<std::vector<uint32_t>>& paths =
      ONLY_EMPTY, bool replace_apostrophe_with_h_in_prv=false,\n             bool
      replace_apostrophe_with_h_in_pub=false, uint32_t spender_nlocktime=0, uint32_t
      spender_nsequence=CTxIn::SEQUENCE_FINAL,\n             std::map<std::vector<uint8_t>,
      std::vector<uint8_t>> preimages={},\n             std::optional<std::string>
      expected_prv = std::nullopt, std::optional<std::string> expected_pub = std::nullopt,
      int desc_index = 0)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DoCheck
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:475,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:481,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:481,1
    - Dst: DoCheck
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - ' prv'
    - ' pub'
    - ' norm_pub'
    - flags
    - ' scripts'
    - ' type'
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - std::vector<std::vector<std::string>>
    - std::optional<OutputType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: Check
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 71
    functionsReached:
    - find
    - DoCheck
    linkageType: ''
    returnType: void
    signature: "void Check(const std::string& prv, const std::string& pub, const std::string&
      norm_pub, int flags,\n           const std::vector<std::vector<std::string>>&
      scripts, const std::optional<OutputType>& type, std::optional<uint256> op_desc_id
      = std::nullopt,\n           const std::set<std::vector<uint32_t>>& paths = ONLY_EMPTY,
      uint32_t spender_nlocktime=0,\n           uint32_t spender_nsequence=CTxIn::SEQUENCE_FINAL,
      std::map<std::vector<uint8_t>, std::vector<uint8_t>> preimages={},\n           std::optional<std::string>
      expected_prv = std::nullopt, std::optional<std::string> expected_pub = std::nullopt,
      int desc_index = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:499,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:499,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:499,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:500,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:500,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:500,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:501,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:501,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:501,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:502,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:502,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:502,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:503,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:504,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:504,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:504,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:504,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:506,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:506,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:515,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:516,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:516,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:517,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:517,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:519,1
    - Dst: auto::Expand
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 9
    argNames:
    - ' prv'
    - ' pub'
    - ' expanded_prvs'
    - ' expanded_pubs'
    - ' expanded_norm_pubs'
    - flags
    - ' scripts'
    - ' type'
    - ' paths'
    argTypes:
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<std::string>
    - std::vector<std::string>
    - int
    - std::vector<std::vector<std::vector<std::string>>>
    - std::optional<OutputType>
    - std::vector<std::set<std::vector<uint32_t>>>
    assertStmts:
    - condition: (expanded_prvs.size() == scripts.size())
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    - condition: (expanded_prvs.size() == expanded_pubs.size())
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    - condition: (expanded_prvs.size() == expanded_norm_pubs.size())
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    - condition: (parsed.size() > 1)
      pos:
        line_end: 515
        line_start: 515
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    - condition: (expanded_prvs.size() == paths.size())
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/bitcoin-core/src/test/descriptor_tests.cpp
    constantsTouched: []
    func_position:
      end: 522
      start: 489
    functionDepth: 4
    functionLinenumber: 489
    functionLinenumberEnd: 522
    functionName: CheckMultipath
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - auto::size
    - auto::Expand
    - auto::at
    - at
    - Parse
    - size
    - Check
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: "void CheckMultipath(const std::string& prv,\n        const std::string&
      pub,\n        const std::vector<std::string>& expanded_prvs,\n        const
      std::vector<std::string>& expanded_pubs,\n        const std::vector<std::string>&
      expanded_norm_pubs,\n        int flags,\n        const std::vector<std::vector<std::vector<std::string>>>&
      scripts,\n        const std::optional<OutputType>& type,\n        const std::vector<std::set<std::vector<uint32_t>>>&
      paths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:526,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:527,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:527,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:531,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:532,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:532,1
    - Dst: FlatSigningProvider::scripts::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:533,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:533,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:536,1
    - Dst: FlatSigningProvider::pubkeys::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:537,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:537,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:539,1
    - Dst: Split
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:542,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:543,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:543,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:544,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:545,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:545,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:545,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:546,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:549,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:550,1
    - Dst: std::span::first
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:552,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:552,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:556,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:556,1
    - Dst: std::span::begin
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:556,1
    - Dst: std::span::end
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:556,1
    - Dst: KeyOriginInfo::path::push_back
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:557,1
    - Dst: FlatSigningProvider::origins::emplace
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:560,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:560,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:560,1
    - Dst: GetDescriptorChecksum
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:564,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:566,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:567,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ' script_hex'
    - ' expected_desc'
    - ' hex_scripts'
    - ' origin_pubkeys'
    argTypes:
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 524
    functionDepth: 5
    functionLinenumber: 524
    functionLinenumberEnd: 568
    functionName: CheckInferDescriptor
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::make_pair
    - CPubKey::GetID
    - FlatSigningProvider::pubkeys::emplace
    - ToIntegral
    - BOOST_CHECK_EQUAL
    - KeyOriginInfo::path::push_back
    - std::vector::end
    - auto::begin
    - std::span::size
    - InferDescriptor
    - std::span::begin
    - std::span::end
    - FlatSigningProvider::scripts::emplace
    - ParseHex
    - std::vector::size
    - empty
    - CScriptID
    - std::unique_ptr::ToString
    - Assert
    - end
    - FlatSigningProvider::origins::emplace
    - std::span::first
    - std::vector::begin
    - GetDescriptorChecksum
    - Split
    - auto::end
    - begin
    linkageType: ''
    returnType: void
    signature: void CheckInferDescriptor(const std::string& script_hex, const std::string&
      expected_desc, const std::vector<std::string>& hex_scripts, const std::vector<std::pair<std::string,
      std::string>>& origin_pubkeys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:577,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:578,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:579,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:580,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:581,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:582,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:583,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:584,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:585,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:588,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:589,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:590,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:591,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:592,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:593,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:596,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:597,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:598,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:601,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:602,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:603,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:604,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:605,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:606,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:607,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:610,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:611,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:612,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:614,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:615,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:616,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:617,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:619,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:621,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:623,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:624,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:625,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:626,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:627,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:630,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:655,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:680,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:705,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:730,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:755,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:785,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:815,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:845,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:875,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:900,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:925,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:950,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:951,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:952,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:953,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:954,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:955,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:956,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:957,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:958,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:959,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:960,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:961,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:962,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:963,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:964,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:967,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:968,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:969,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:970,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:971,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:972,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:973,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:974,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:975,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:976,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:977,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:978,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:979,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:980,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:981,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:982,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:983,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:984,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:985,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:986,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:987,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:988,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:989,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:991,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:992,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:993,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:994,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:995,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:996,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:997,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1000,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1001,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1002,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1005,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1006,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1007,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1008,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1009,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1010,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1011,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1012,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1015,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1016,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1017,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1019,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1029,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1038,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1044,1
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1048,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1049,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1049,1
    - Dst: CheckInferRaw
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1052,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1055,1
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1058,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1059,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1059,1
    - Dst: CheckInferRaw
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1062,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1067,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1069,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1070,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1071,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1072,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1074,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1076,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1078,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1080,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1082,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1083,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1084,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1085,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1087,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1089,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1091,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1094,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1096,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1098,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1100,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1102,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1104,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1105,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1107,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1108,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1110,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1111,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1113,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1115,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1117,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1119,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1122,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1123,1
    - Dst: CheckInferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1126,1
    - Dst: CheckInferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1128,1
    - Dst: CheckInferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1130,1
    - Dst: CheckInferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1132,1
    - Dst: CheckInferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1134,1
    - Dst: CheckInferDescriptor
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1136,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1139,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1140,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1141,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1142,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1143,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1144,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1145,1
    - Dst: Check
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1146,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1147,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1177,1
    - Dst: CheckMultipath
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1207,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1239,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1240,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1241,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1242,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1243,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1244,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1245,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1246,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1247,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1248,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1249,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1250,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1251,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1252,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1253,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1254,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1257,1
    - Dst: CheckUnparsable
      Src: /src/bitcoin-core/src/test/descriptor_tests.cpp:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 197
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 574
    functionDepth: 6
    functionLinenumber: 574
    functionLinenumberEnd: 1259
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/descriptor_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckMultipath
    - ToByteVector
    - CheckUnparsable
    - Check
    - MakeNewKey
    - CheckInferDescriptor
    - CScript::clear
    - GetPubKey
    - CheckInferRaw
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(descriptor_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/script_tests.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - err
    argTypes:
    - ScriptError_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: FormatScriptError
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string FormatScriptError(ScriptError_t err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/script_tests.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: ParseScriptError
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_ERROR
    linkageType: ''
    returnType: ScriptError_t
    signature: ScriptError_t ParseScriptError(const std::string& name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BuildCreditingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:125,1
    - Dst: BuildSpendingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:126,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:127,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:127,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:127,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:128,1
    - Dst: FormatScriptError
      Src: /src/bitcoin-core/src/test/script_tests.cpp:128,1
    - Dst: FormatScriptError
      Src: /src/bitcoin-core/src/test/script_tests.cpp:128,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/script_tests.cpp:132,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:137,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:137,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:137,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/script_tests.cpp:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - ' scriptPubKey'
    - ' scriptSig'
    - ' scriptWitness'
    - flags
    - ' message'
    - scriptError
    argTypes:
    - CScript
    - CScript
    - CScriptWitness
    - uint32_t
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: DoTest
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - BuildCreditingTransaction
    - MutableTransactionSignatureChecker
    - VerifyScript
    - randbits
    - BuildSpendingTransaction
    - strprintf
    - FormatScriptError
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void DoTest(const CScript& scriptPubKey, const CScript& scriptSig,
      const CScriptWitness& scriptWitness, uint32_t flags, const std::string& message,
      int scriptError, CAmount nValue = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:145,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:145,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:145,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:146,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:146,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:146,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:148,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:149,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:149,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:151,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/bitcoin-core/src/test/script_tests.cpp:155,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/script_tests.cpp:155,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:156,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/script_tests.cpp:159,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:159,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/script_tests.cpp:163,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:164,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:165,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:165,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:165,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:166,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:167,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:167,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:168,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:168,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:168,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:168,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:169,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:170,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:170,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:171,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:171,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:171,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' vchSig'
    argTypes:
    - std::vector<unsigned char>
    assertStmts:
    - condition: (s[0] == 0)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    - condition: (ret)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    constantsTouched: []
    func_position:
      end: 172
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 172
    functionName: NegateSignatureS
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - std::vector::end
    - erase
    - secp256k1_ec_seckey_negate
    - push_back
    - size
    - std::vector::begin
    - data
    - clear
    - assert
    - insert
    - begin
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void NegateSignatureS(std::vector<unsigned char>& vchSig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:189,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:190,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:191,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:192,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:193,1
    - Dst: const_cast<unsigned char*>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:194,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/script_tests.cpp:194,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:196,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:197,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:198,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:199,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:201,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:202,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:203,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: KeyData
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 7
    functionsReached:
    - const_cast<unsigned char*>
    - Set
    - data
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void KeyData()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: TestBuilder::DoPush
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoPush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: TestBuilder::DoPush
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - TestBuilder::DoPush
    linkageType: ''
    returnType: void
    signature: void DoPush(const std::vector<unsigned char>& data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/test/script_tests.cpp:253,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/test/script_tests.cpp:254,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/script_tests.cpp:254,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:255,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:255,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:256,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:256,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_tests.cpp:259,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/script_tests.cpp:260,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/script_tests.cpp:260,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:260,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:260,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:261,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:261,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:265,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:265,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/test/script_tests.cpp:265,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/script_tests.cpp:267,1
    - Dst: BuildCreditingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:267,1
    - Dst: BuildSpendingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:268,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:268,1
    - Dst: CScriptWitness
      Src: /src/bitcoin-core/src/test/script_tests.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' script_'
    - ' comment_'
    - flags_
    argTypes:
    - CScript
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: TestBuilder::TestBuilder
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - BuildCreditingTransaction
    - ToByteVector
    - CScriptWitness
    - CScriptID
    - MakeTransactionRef
    - uint256::begin
    - CSHA256
    - size
    - CHash160
    - data
    - BuildSpendingTransaction
    - CScript
    - uint160::uint160
    - uint256::uint256
    - subspan
    linkageType: ''
    returnType: void
    signature: void TestBuilder(const CScript& script_, const std::string& comment_,
      uint32_t flags_, bool P2SH = false, WitnessMode wm = WitnessMode::NONE, int
      witnessversion = 0, CAmount nValue_ = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - ScriptError_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: '& ScriptError(ScriptError_t err)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & ScriptError(ScriptError_t err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' _op'
    argTypes:
    - opcodetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: '& Opcode(const opcodetype& _op)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - DoPush
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Opcode(const opcodetype& _op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: '& Num(int num)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - DoPush
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Num(int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:293,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hex'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: '& Push(const std::string& hex)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - DoPush
    - ParseHex
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Push(const std::string& hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:299,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:299,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:299,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' _script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: '& Push(const CScript& _script)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - DoPush
    - end
    - begin
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Push(const CScript& _script)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:305,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/script_tests.cpp:309,1
    - Dst: NegateSignatureS
      Src: /src/bitcoin-core/src/test/script_tests.cpp:311,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:313,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:313,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:313,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:314,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:314,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:315,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:315,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:316,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:316,1
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: '& PushSig(const CKey& key, int nHashType = SIGHASH_ALL, unsigned
      int lenR = 32, unsigned int lenS = 32, SigVersion sigversion = SigVersion::BASE,
      CAmount amount = 0)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - SignatureHash
    - Sign
    - NegateSignatureS
    - std::vector::begin
    - size
    - std::vector::push_back
    - DoPush
    - static_cast<unsigned char>
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & PushSig(const CKey& key, int nHashType = SIGHASH_ALL,
      unsigned int lenR = 32, unsigned int lenS = 32, SigVersion sigversion = SigVersion::BASE,
      CAmount amount = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PushSig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: '& PushWitSig(const CKey& key, CAmount amount = -1, int nHashType
      = SIGHASH_ALL, unsigned int lenR = 32, unsigned int lenS = 32, SigVersion sigversion
      = SigVersion::WITNESS_V0)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - PushSig
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & PushWitSig(const CKey& key, CAmount amount = -1, int
      nHashType = SIGHASH_ALL, unsigned int lenR = 32, unsigned int lenS = 32, SigVersion
      sigversion = SigVersion::WITNESS_V0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:330,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:330,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:330,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: '& Push(const CPubKey& pubkey)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - DoPush
    - end
    - begin
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Push(const CPubKey& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:336,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:336,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:336,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: '& PushRedeem()'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - DoPush
    - end
    - begin
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & PushRedeem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:342,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:342,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:342,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:342,1
    - Dst: AsWit
      Src: /src/bitcoin-core/src/test/script_tests.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: '& PushWitRedeem()'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - DoPush
    - AsWit
    - begin
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & PushWitRedeem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:348,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:349,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:350,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:351,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:351,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:351,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/script_tests.cpp:353,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:353,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:353,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:353,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:354,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:354,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:354,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pos
    - ' hexin'
    - ' hexout'
    argTypes:
    - unsigned int
    - std::string
    - std::string
    assertStmts:
    - condition: (pos + datain.size() <= push.size())
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    - condition: (havePush)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: '& EditPush(unsigned int pos, const std::string& hexin, const std::string&
      hexout)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - std::vector::end
    - erase
    - insert
    - begin
    - size
    - std::vector::begin
    - assert
    - ParseHex
    - BOOST_CHECK_MESSAGE
    - std::vector::size
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & EditPush(unsigned int pos, const std::string& hexin,
      const std::string& hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:360,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:361,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pos
    argTypes:
    - unsigned int
    assertStmts:
    - condition: (havePush)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    - condition: (pos < push.size())
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: '& DamagePush(unsigned int pos)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & DamagePush(unsigned int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:369,1
    - Dst: DoTest
      Src: /src/bitcoin-core/src/test/script_tests.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' test'
    argTypes:
    - ScriptTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: '& Test(ScriptTest& test)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - DoPush
    - DoTest
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Test(ScriptTest& test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:377,1
    - Dst: stack::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (havePush)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: '& AsWit()'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - assert
    - stack::push_back
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & AsWit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:385,1
    - Dst: stack::empty
      Src: /src/bitcoin-core/src/test/script_tests.cpp:387,1
    - Dst: stack::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:389,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:390,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:390,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:392,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/script_tests.cpp:392,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:393,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/script_tests.cpp:393,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:395,1
    - Dst: FormatScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:395,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:396,1
    - Dst: FormatScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:396,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:397,1
    - Dst: FormatScriptFlags
      Src: /src/bitcoin-core/src/test/script_tests.cpp:397,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:398,1
    - Dst: FormatScriptError
      Src: /src/bitcoin-core/src/test/script_tests.cpp:398,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: TestBuilder::GetJSON
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - stack::size
    - TestBuilder::DoPush
    - ValueFromAmount
    - UniValue::push_back
    - std::move
    - FormatScriptFlags
    - stack::empty
    - HexStr
    - FormatScriptError
    - FormatScript
    linkageType: ''
    returnType: UniValue
    signature: UniValue GetJSON()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: TestBuilder::GetComment
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetComment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/test/script_tests.cpp:411,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/script_tests.cpp:414,1
    - Dst: std::string::replace
      Src: /src/bitcoin-core/src/test/script_tests.cpp:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' univalue'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: JSONPrettyPrint
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::replace
    - write
    - std::string::find
    linkageType: ''
    returnType: std::string
    signature: std::string JSONPrettyPrint(const UniValue& univalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:189,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:190,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:191,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:192,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:193,1
    - Dst: const_cast<unsigned char*>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:194,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/script_tests.cpp:194,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:196,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:197,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:198,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:199,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:201,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:202,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:203,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: KeyData
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 7
    functionsReached:
    - const_cast<unsigned char*>
    - Set
    - data
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void KeyData()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: TestBuilder::DoPush
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoPush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: TestBuilder::DoPush
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 3
    functionsReached:
    - TestBuilder::DoPush
    linkageType: ''
    returnType: void
    signature: void DoPush(const std::vector<unsigned char>& data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/test/script_tests.cpp:253,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/test/script_tests.cpp:254,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/script_tests.cpp:254,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:255,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:255,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:256,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:256,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_tests.cpp:259,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/script_tests.cpp:260,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/script_tests.cpp:260,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:260,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:260,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:261,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:261,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:265,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:265,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/test/script_tests.cpp:265,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/script_tests.cpp:267,1
    - Dst: BuildCreditingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:267,1
    - Dst: BuildSpendingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:268,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:268,1
    - Dst: CScriptWitness
      Src: /src/bitcoin-core/src/test/script_tests.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' script_'
    - ' comment_'
    - flags_
    argTypes:
    - CScript
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: TestBuilder::TestBuilder
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - BuildCreditingTransaction
    - ToByteVector
    - CScriptWitness
    - CScriptID
    - MakeTransactionRef
    - uint256::begin
    - CSHA256
    - size
    - CHash160
    - data
    - BuildSpendingTransaction
    - CScript
    - uint160::uint160
    - uint256::uint256
    - subspan
    linkageType: ''
    returnType: void
    signature: void TestBuilder(const CScript& script_, const std::string& comment_,
      uint32_t flags_, bool P2SH = false, WitnessMode wm = WitnessMode::NONE, int
      witnessversion = 0, CAmount nValue_ = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - ScriptError_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: '& ScriptError(ScriptError_t err)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & ScriptError(ScriptError_t err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' _op'
    argTypes:
    - opcodetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: '& Opcode(const opcodetype& _op)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - DoPush
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Opcode(const opcodetype& _op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: '& Num(int num)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - DoPush
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Num(int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:293,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hex'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: '& Push(const std::string& hex)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - DoPush
    - ParseHex
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Push(const std::string& hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:299,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:299,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:299,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' _script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: '& Push(const CScript& _script)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - DoPush
    - end
    - begin
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Push(const CScript& _script)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:305,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/script_tests.cpp:309,1
    - Dst: NegateSignatureS
      Src: /src/bitcoin-core/src/test/script_tests.cpp:311,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:313,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:313,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:313,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:314,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:314,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:315,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:315,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:316,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:316,1
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: '& PushSig(const CKey& key, int nHashType = SIGHASH_ALL, unsigned
      int lenR = 32, unsigned int lenS = 32, SigVersion sigversion = SigVersion::BASE,
      CAmount amount = 0)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - SignatureHash
    - Sign
    - NegateSignatureS
    - std::vector::begin
    - size
    - std::vector::push_back
    - DoPush
    - static_cast<unsigned char>
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & PushSig(const CKey& key, int nHashType = SIGHASH_ALL,
      unsigned int lenR = 32, unsigned int lenS = 32, SigVersion sigversion = SigVersion::BASE,
      CAmount amount = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PushSig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: '& PushWitSig(const CKey& key, CAmount amount = -1, int nHashType
      = SIGHASH_ALL, unsigned int lenR = 32, unsigned int lenS = 32, SigVersion sigversion
      = SigVersion::WITNESS_V0)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - PushSig
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & PushWitSig(const CKey& key, CAmount amount = -1, int
      nHashType = SIGHASH_ALL, unsigned int lenR = 32, unsigned int lenS = 32, SigVersion
      sigversion = SigVersion::WITNESS_V0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:330,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:330,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:330,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: '& Push(const CPubKey& pubkey)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - DoPush
    - end
    - begin
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Push(const CPubKey& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:336,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:336,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:336,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: '& PushRedeem()'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - DoPush
    - end
    - begin
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & PushRedeem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:342,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:342,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:342,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:342,1
    - Dst: AsWit
      Src: /src/bitcoin-core/src/test/script_tests.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: '& PushWitRedeem()'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - DoPush
    - AsWit
    - begin
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & PushWitRedeem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:348,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:349,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:350,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:351,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:351,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:351,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:352,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/script_tests.cpp:353,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:353,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:353,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:353,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:354,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:354,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:354,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pos
    - ' hexin'
    - ' hexout'
    argTypes:
    - unsigned int
    - std::string
    - std::string
    assertStmts:
    - condition: (pos + datain.size() <= push.size())
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    - condition: (havePush)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: '& EditPush(unsigned int pos, const std::string& hexin, const std::string&
      hexout)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - std::vector::end
    - erase
    - insert
    - begin
    - size
    - std::vector::begin
    - assert
    - ParseHex
    - BOOST_CHECK_MESSAGE
    - std::vector::size
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & EditPush(unsigned int pos, const std::string& hexin,
      const std::string& hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:360,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:361,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pos
    argTypes:
    - unsigned int
    assertStmts:
    - condition: (havePush)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    - condition: (pos < push.size())
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: '& DamagePush(unsigned int pos)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & DamagePush(unsigned int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:369,1
    - Dst: DoTest
      Src: /src/bitcoin-core/src/test/script_tests.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' test'
    argTypes:
    - ScriptTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: '& Test(ScriptTest& test)'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - DoPush
    - DoTest
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & Test(ScriptTest& test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:377,1
    - Dst: stack::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (havePush)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/bitcoin-core/src/test/script_tests.cpp
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: '& AsWit()'
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - assert
    - stack::push_back
    linkageType: ''
    returnType: TestBuilder
    signature: TestBuilder & AsWit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/test/script_tests.cpp:385,1
    - Dst: stack::empty
      Src: /src/bitcoin-core/src/test/script_tests.cpp:387,1
    - Dst: stack::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:389,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:390,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:390,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:392,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/script_tests.cpp:392,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:393,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/script_tests.cpp:393,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:395,1
    - Dst: FormatScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:395,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:396,1
    - Dst: FormatScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:396,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:397,1
    - Dst: FormatScriptFlags
      Src: /src/bitcoin-core/src/test/script_tests.cpp:397,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:398,1
    - Dst: FormatScriptError
      Src: /src/bitcoin-core/src/test/script_tests.cpp:398,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: TestBuilder::GetJSON
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - stack::size
    - TestBuilder::DoPush
    - ValueFromAmount
    - UniValue::push_back
    - std::move
    - FormatScriptFlags
    - stack::empty
    - HexStr
    - FormatScriptError
    - FormatScript
    linkageType: ''
    returnType: UniValue
    signature: UniValue GetJSON()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: TestBuilder::GetComment
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetComment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/test/script_tests.cpp:411,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/script_tests.cpp:414,1
    - Dst: std::string::replace
      Src: /src/bitcoin-core/src/test/script_tests.cpp:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' univalue'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: JSONPrettyPrint
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::replace
    - write
    - std::string::find
    linkageType: ''
    returnType: std::string
    signature: std::string JSONPrettyPrint(const UniValue& univalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:430,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:430,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:430,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:430,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:433,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:433,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:433,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:437,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:437,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:437,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:437,1
    - Dst: KeyData::pubkey1C::GetID
      Src: /src/bitcoin-core/src/test/script_tests.cpp:437,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:440,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:440,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:440,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:440,1
    - Dst: KeyData::pubkey2C::GetID
      Src: /src/bitcoin-core/src/test/script_tests.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:444,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:444,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:444,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:444,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:447,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:447,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:447,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:447,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:451,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:451,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:451,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:451,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:454,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:454,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:454,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:454,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:458,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:458,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:458,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:458,1
    - Dst: KeyData::pubkey0::GetID
      Src: /src/bitcoin-core/src/test/script_tests.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:461,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:461,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:461,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:461,1
    - Dst: KeyData::pubkey1::GetID
      Src: /src/bitcoin-core/src/test/script_tests.cpp:461,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:464,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:464,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:464,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:464,1
    - Dst: KeyData::pubkey1::GetID
      Src: /src/bitcoin-core/src/test/script_tests.cpp:464,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:468,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:468,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:468,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:468,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:468,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:468,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:471,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:471,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:471,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:471,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:471,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:471,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:475,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:475,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:475,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:475,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:475,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:475,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:478,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:478,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:478,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:478,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:478,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:478,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:482,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:482,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:482,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:482,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:485,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:485,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:485,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:485,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:488,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:488,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:488,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:488,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:491,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:491,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:491,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:491,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:494,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:494,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:494,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:494,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:497,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:497,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:497,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:497,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:500,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:500,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:500,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:500,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:503,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:503,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:503,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:503,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:506,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:506,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:506,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:506,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:509,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:509,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:509,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:509,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:513,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:513,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:513,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:513,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:516,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:516,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:516,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:516,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:519,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:519,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:519,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:519,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:522,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:522,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:522,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:522,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:525,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:525,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:525,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:525,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:528,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:528,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:528,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:528,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:531,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:531,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:531,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:531,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:534,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:534,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:534,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:534,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:537,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:537,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:537,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:537,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:540,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:540,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:540,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:540,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:543,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:543,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:543,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:543,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:546,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:546,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:546,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:546,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:549,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:549,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:549,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:549,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:549,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:552,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:552,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:552,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:552,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:552,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:555,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:555,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:555,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:555,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:555,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:558,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:558,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:558,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:558,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:558,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:561,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:561,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:561,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:561,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:561,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:564,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:564,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:564,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:564,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:564,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:567,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:567,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:567,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:567,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:567,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:570,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:570,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:570,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:570,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:570,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:573,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:573,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:573,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:573,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:573,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:576,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:576,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:576,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:576,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:576,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:579,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:579,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:579,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:579,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:579,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:582,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:582,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:582,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:582,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:582,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:585,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:585,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:585,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:585,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:588,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:588,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:588,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:588,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:592,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:592,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:592,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:592,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:595,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:595,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:595,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:595,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:599,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:599,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:599,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:599,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:602,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:602,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:602,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:602,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:605,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:605,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:605,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:605,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:608,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:608,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:608,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:608,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:611,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:611,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:611,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:611,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:614,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:614,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:614,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:614,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:617,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:617,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:617,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:617,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:617,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:620,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:620,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:620,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:620,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:620,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:623,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:623,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:623,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:623,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:623,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:627,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:627,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:627,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:627,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:630,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:630,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:630,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:630,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:633,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:633,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:633,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:633,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:636,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:636,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:636,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:636,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:640,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:640,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:640,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:640,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:640,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:640,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:643,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:643,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:643,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:643,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:643,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:643,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:646,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:646,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:646,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:646,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:646,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:646,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:649,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:649,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:649,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:649,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:649,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:649,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:653,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:653,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:653,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:653,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:653,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:656,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:656,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:656,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:656,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:656,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:659,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:659,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:659,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:659,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:662,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:662,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:662,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:662,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:665,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:665,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:665,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:665,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:668,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:668,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:668,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:668,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:671,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:671,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:671,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:671,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:671,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:674,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:674,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:674,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:674,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:677,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:677,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:677,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:677,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:680,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:680,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:680,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:680,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:683,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:683,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:683,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:683,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:686,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:686,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:686,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:686,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:690,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:690,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:690,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:690,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:693,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:693,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:693,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:693,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:696,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:696,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:696,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:696,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:699,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:699,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:699,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:699,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:702,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:702,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:702,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:702,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:705,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:705,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:705,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:705,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:708,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:708,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:708,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:708,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:711,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:711,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:711,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:711,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:714,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:714,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:714,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:714,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:717,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:717,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:717,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:717,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:720,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:720,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:720,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:720,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:723,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:723,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:723,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:723,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:726,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:726,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:726,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:726,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:729,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:729,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:729,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:729,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:732,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:732,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:732,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:732,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:735,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:735,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:735,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:735,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:739,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:739,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:739,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:739,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:744,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:744,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_tests.cpp:745,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/script_tests.cpp:746,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/script_tests.cpp:746,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:746,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:746,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:747,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:748,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:749,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:749,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:749,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:753,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:753,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:753,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:753,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:757,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:757,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:758,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:758,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:762,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:762,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:762,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:762,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:765,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:765,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:765,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:765,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:768,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:768,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:768,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:768,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:771,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:771,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:771,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:771,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:776,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:776,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:776,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:776,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:779,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:779,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:779,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:779,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:782,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:782,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:782,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:782,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:785,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:785,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:785,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:785,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:790,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:790,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:790,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:790,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:793,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:793,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:793,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:793,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:796,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:796,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:796,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:796,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:799,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:799,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:799,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:799,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:804,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:804,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:804,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:804,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:804,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:806,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:807,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:807,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:807,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:807,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:807,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:809,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:810,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:810,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:810,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:810,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:810,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:812,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:813,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:813,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:813,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:813,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:813,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:815,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:818,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:818,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:818,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:818,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:818,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:820,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:821,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:821,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:821,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:821,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:821,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:823,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:824,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:824,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:824,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:824,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:824,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:826,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:827,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:827,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:827,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:827,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:827,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:829,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:830,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:830,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:830,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:830,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:830,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:832,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:833,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:833,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:833,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:833,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:833,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:835,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:836,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:836,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:836,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:836,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:836,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:838,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:839,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:839,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:839,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:839,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:839,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:841,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:843,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:843,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:843,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:843,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:843,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:845,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:846,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:846,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:846,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:846,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:846,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:848,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:849,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:849,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:849,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:849,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:849,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:851,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:852,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:852,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:852,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:852,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:852,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:854,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:855,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:855,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:855,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:855,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:855,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:857,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:858,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:858,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:858,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:858,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:858,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:860,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:861,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:861,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:861,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:861,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:861,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:863,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:864,1
    - Dst: TestBuilder
      Src: /src/bitcoin-core/src/test/script_tests.cpp:864,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:864,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:864,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:864,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:866,1
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/script_tests.cpp:871,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:873,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/script_tests.cpp:875,1
    - Dst: JSONPrettyPrint
      Src: /src/bitcoin-core/src/test/script_tests.cpp:875,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/test/script_tests.cpp:875,1
    - Dst: Test
      Src: /src/bitcoin-core/src/test/script_tests.cpp:883,1
    - Dst: JSONPrettyPrint
      Src: /src/bitcoin-core/src/test/script_tests.cpp:884,1
    - Dst: GetJSON
      Src: /src/bitcoin-core/src/test/script_tests.cpp:884,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/script_tests.cpp:888,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:889,1
    - Dst: GetComment
      Src: /src/bitcoin-core/src/test/script_tests.cpp:889,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/script_tests.cpp:895,1
    - Dst: fputs
      Src: /src/bitcoin-core/src/test/script_tests.cpp:896,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:896,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/test/script_tests.cpp:897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 151
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 899
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - TestBuilder
    - std::vector::push_back
    - std::set::insert
    - get_array
    - CScript::data
    - GetJSON
    - KeyData::pubkey1C::GetID
    - GetComment
    - KeyData::pubkey1::GetID
    - read_json
    - std::vector::pop_back
    - JSONPrettyPrint
    - BOOST_CHECK_MESSAGE
    - ToByteVector
    - Test
    - CScript::size
    - CSHA256
    - UniValue::size
    - std::set::count
    - std::string::c_str
    - uint256::uint256
    - fputs
    - fsbridge::fopen
    - uint256::begin
    - KeyData::pubkey2C::GetID
    - KeyData::pubkey0::GetID
    - CScript
    - fclose
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_build)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/script_tests.cpp:910,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:913,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/script_tests.cpp:915,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:920,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/script_tests.cpp:920,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:922,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:923,1
    - Dst: auto::starts_with
      Src: /src/bitcoin-core/src/test/script_tests.cpp:927,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:928,1
    - Dst: auto::substr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:928,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:928,1
    - Dst: CScriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:929,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:929,1
    - Dst: TaprootBuilder::Add
      Src: /src/bitcoin-core/src/test/script_tests.cpp:933,1
    - Dst: CScriptWitness::stack::back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:933,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/test/script_tests.cpp:934,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:934,1
    - Dst: KeyData::key0::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:934,1
    - Dst: TaprootBuilder::GetSpendData
      Src: /src/bitcoin-core/src/test/script_tests.cpp:935,1
    - Dst: CScriptWitness::stack::back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:935,1
    - Dst: CScriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:936,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:936,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:938,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/script_tests.cpp:939,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/script_tests.cpp:940,1
    - Dst: CScriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:942,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/script_tests.cpp:942,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/script_tests.cpp:945,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:948,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_tests.cpp:950,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/script_tests.cpp:951,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:955,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:956,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:957,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:958,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:961,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:961,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:962,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:962,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/test/script_tests.cpp:962,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:964,1
    - Dst: ParseScriptFlags
      Src: /src/bitcoin-core/src/test/script_tests.cpp:966,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:966,1
    - Dst: ParseScriptError
      Src: /src/bitcoin-core/src/test/script_tests.cpp:967,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:967,1
    - Dst: DoTest
      Src: /src/bitcoin-core/src/test/script_tests.cpp:969,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 971
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - KeyData::key0::GetPubKey
    - AmountFromValue
    - ParseScriptError
    - auto::starts_with
    - auto::value
    - auto::begin
    - CScriptWitness::stack::back
    - TaprootBuilder::Add
    - read_json
    - BOOST_ERROR
    - ParseScript
    - BOOST_CHECK_MESSAGE
    - DoTest
    - TaprootBuilder::Finalize
    - write
    - ToByteVector
    - auto::substr
    - CScriptWitness::stack::push_back
    - ParseScriptFlags
    - TaprootBuilder::IsComplete
    - get_str
    - UniValue::size
    - TryParseHex
    - TaprootBuilder::GetOutput
    - std::string::size
    - isArray
    - auto::has_value
    - TaprootBuilder::GetSpendData
    - size
    - XOnlyPubKey
    - CScript
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_json_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:984,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:984,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:984,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:984,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:985,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:985,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:988,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:988,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:988,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:988,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:989,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:990,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:990,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:993,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:993,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:993,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:993,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:994,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:995,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:995,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:998,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:998,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:998,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:998,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:999,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1000,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1000,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1007,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1007,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1007,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1007,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1007,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1007,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1008,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1009,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1009,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1009,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1009,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1009,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1009,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1010,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1011,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1011,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1011,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1011,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1011,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1011,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 1013
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - BaseSignatureChecker
    - ScriptErrorString
    - std::vector::begin
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CScript
    - BOOST_CHECK_MESSAGE
    - EvalScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_PushData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1017,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1021,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1021,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1021,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1023
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - BaseSignatureChecker
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CScript
    - EvalScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_cltv_truncated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1028,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1030,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1043,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1043,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' scriptPubKey'
    - ' keys'
    - ' transaction'
    argTypes:
    - CScript
    - std::vector<CKey>
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1048
    functionName: sign_multisig
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - SignatureHash
    - Sign
    - BOOST_CHECK
    - std::vector::push_back
    - CScript::CScript
    linkageType: ''
    returnType: CScript
    signature: CScript sign_multisig(const CScript& scriptPubKey, const std::vector<CKey>&
      keys, const CTransaction& transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1053,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' scriptPubKey'
    - ' key'
    - ' transaction'
    argTypes:
    - CScript
    - CKey
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1055
    functionName: sign_multisig
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - sign_multisig
    linkageType: ''
    returnType: CScript
    signature: CScript sign_multisig(const CScript& scriptPubKey, const CKey& key,
      const CTransaction& transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1060,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1061,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1062,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1064,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1065,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1065,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1065,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1065,1
    - Dst: BuildCreditingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1067,1
    - Dst: BuildSpendingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1068,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1068,1
    - Dst: CScriptWitness
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1068,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1070,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1070,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1071,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1071,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1071,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1072,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1072,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1074,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1074,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1074,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1075,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1075,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1077,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1077,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1078,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1078,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1078,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1079,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1079,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1081,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1081,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1082,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1082,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1082,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1083,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1057
    functionDepth: 4
    functionLinenumber: 1057
    functionLinenumberEnd: 1084
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - BuildCreditingTransaction
    - ToByteVector
    - CScriptWitness
    - GenerateRandomKey
    - VerifyScript
    - MutableTransactionSignatureChecker
    - sign_multisig
    - CTransaction
    - ScriptErrorString
    - BuildSpendingTransaction
    - BOOST_CHECK
    - CScript
    - CKey::GetPubKey
    - BOOST_CHECK_MESSAGE
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_CHECKMULTISIG12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1089,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1090,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1091,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1092,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1094,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1095,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1095,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1095,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1095,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1095,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1095,1
    - Dst: BuildCreditingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1097,1
    - Dst: BuildSpendingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1098,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1098,1
    - Dst: CScriptWitness
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1098,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1101,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1101,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1102,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1103,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1103,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1103,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1104,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1104,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1106,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1107,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1107,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1108,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1109,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1109,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1109,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1110,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1110,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1112,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1113,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1113,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1114,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1115,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1115,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1115,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1116,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1116,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1118,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1119,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1119,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1120,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1121,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1121,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1121,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1122,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1122,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1124,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1125,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1125,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1126,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1127,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1127,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1127,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1128,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1128,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1130,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1131,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1131,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1132,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1132,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1133,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1133,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1133,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1134,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1134,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1136,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1137,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1137,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1138,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1138,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1139,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1139,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1139,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1140,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1140,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1142,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1143,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1143,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1144,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1144,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1145,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1145,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1145,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1146,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1146,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1148,1
    - Dst: sign_multisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1149,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1149,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1150,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1150,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1150,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1151,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1086
    functionDepth: 4
    functionLinenumber: 1086
    functionLinenumberEnd: 1152
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - BuildCreditingTransaction
    - ToByteVector
    - CScriptWitness
    - GenerateRandomKey
    - VerifyScript
    - MutableTransactionSignatureChecker
    - sign_multisig
    - CTransaction
    - ScriptErrorString
    - BuildSpendingTransaction
    - std::vector::push_back
    - BOOST_CHECK
    - std::vector::clear
    - CScript
    - CKey::GetPubKey
    - BOOST_CHECK_MESSAGE
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_CHECKMULTISIG23)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' output_script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    functionName: GetTxoutType
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - Solver
    linkageType: ''
    returnType: TxoutType
    signature: TxoutType GetTxoutType(const CScript& output_script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - script
    - ','
    - expected_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1167
    functionName: CHECK_SCRIPT_STATIC_SIZE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_SCRIPT_STATIC_SIZE(script, expected_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - script
    - ','
    - expected_size
    - ','
    - expected_extra
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1174
    functionName: CHECK_SCRIPT_DYNAMIC_SIZE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_SCRIPT_DYNAMIC_SIZE(script, expected_size, expected_extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1177,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1178,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1179,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1180,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1181,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1183,1
    - Dst: CKey::MakeNewKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1184,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1185,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1189,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1189,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1190,1
    - Dst: GetTxoutType
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1190,1
    - Dst: CHECK_SCRIPT_STATIC_SIZE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1191,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1196,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1197,1
    - Dst: GetTxoutType
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1197,1
    - Dst: CHECK_SCRIPT_STATIC_SIZE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1198,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1204,1
    - Dst: auto::IsPayToScriptHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1204,1
    - Dst: CHECK_SCRIPT_STATIC_SIZE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1205,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1210,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1211,1
    - Dst: GetTxoutType
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1211,1
    - Dst: CHECK_SCRIPT_STATIC_SIZE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1212,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1217,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1218,1
    - Dst: auto::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1218,1
    - Dst: CHECK_SCRIPT_STATIC_SIZE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1219,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1224,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1225,1
    - Dst: GetTxoutType
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1225,1
    - Dst: CHECK_SCRIPT_STATIC_SIZE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1226,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1231,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1232,1
    - Dst: GetTxoutType
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1232,1
    - Dst: CHECK_SCRIPT_STATIC_SIZE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1233,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1238,1
    - Dst: CKey::MakeNewKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1239,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1240,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1242,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1243,1
    - Dst: GetTxoutType
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1243,1
    - Dst: CHECK_SCRIPT_DYNAMIC_SIZE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1244,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1249,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1250,1
    - Dst: GetTxoutType
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1250,1
    - Dst: CHECK_SCRIPT_DYNAMIC_SIZE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1175
    functionDepth: 3
    functionLinenumber: 1175
    functionLinenumberEnd: 1253
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - CHECK_SCRIPT_DYNAMIC_SIZE
    - BOOST_CHECK_NE
    - GetTxoutType
    - GetScriptForDestination
    - auto::IsPayToWitnessScriptHash
    - CHECK_SCRIPT_STATIC_SIZE
    - std::vector<uint8_t>
    - GetScriptForRawPubKey
    - CKey::CKey
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CScript
    - CKey::GetPubKey
    - GetScriptForMultisig
    - auto::IsPayToScriptHash
    - CKey::MakeNewKey
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_size_and_capacity_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignatureData::MergeSignatureData
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1259,1
    - Dst: SignatureData::MergeSignatureData
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1260,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1261,1
    - Dst: MutableTransactionSignatureCreator
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' txout'
    - ' tx'
    - ' scriptSig1'
    - ' scriptSig2'
    argTypes:
    - CTxOut
    - CMutableTransaction
    - SignatureData
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1263
    functionName: CombineSignatures
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 0
    functionsReached:
    - MutableTransactionSignatureCreator
    - ProduceSignature
    - SignatureData::MergeSignatureData
    linkageType: ''
    returnType: SignatureData
    signature: SignatureData CombineSignatures(const CTxOut& txout, const CMutableTransaction&
      tx, const SignatureData& scriptSig1, const SignatureData& scriptSig2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1273,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1274,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1275,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1275,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1276,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1276,1
    - Dst: BuildCreditingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1279,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1279,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1279,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1279,1
    - Dst: BuildSpendingTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1280,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1280,1
    - Dst: CScriptWitness
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1280,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1280,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1285,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1286,1
    - Dst: SignatureData::scriptSig::empty
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1286,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1290,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1290,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1290,1
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1291,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1292,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1293,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1294,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1295,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1299,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1299,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1299,1
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1300,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1301,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1302,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1305,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1305,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1305,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1306,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1306,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1307,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1307,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1309,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1309,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1309,1
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1310,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1311,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1312,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1313,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1314,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1317,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1317,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1317,1
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1318,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1319,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1320,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1323,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1324,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1324,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1326,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1326,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1326,1
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1327,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1329,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1330,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1331,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1336,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1336,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1337,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1339,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1340,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1340,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1341,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1343,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1344,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1344,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1345,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1348,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1349,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1350,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1351,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1352,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1353,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1354,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1355,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1356,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1357,1
    - Dst: SignatureData::signatures::emplace
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1359,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1359,1
    - Dst: SigPair
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1359,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1359,1
    - Dst: SignatureData::signatures::emplace
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1361,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1361,1
    - Dst: SigPair
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1361,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1361,1
    - Dst: SignatureData::signatures::emplace
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1363,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1363,1
    - Dst: SigPair
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1363,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1363,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1365,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1366,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1367,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1368,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1369,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1370,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1371,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1372,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1373,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1374,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1375,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1376,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1377,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1378,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1379,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1265
    functionDepth: 4
    functionLinenumber: 1265
    functionLinenumberEnd: 1381
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - SigPair
    - SignSignature
    - SignatureHash
    - GetScriptForDestination
    - FillableSigningProvider::AddKey
    - Sign
    - std::vector::push_back
    - FillableSigningProvider::AddCScript
    - DataFromTransaction
    - GetScriptForMultisig
    - ScriptHash
    - CombineSignatures
    - GenerateRandomKey
    - BuildSpendingTransaction
    - BOOST_CHECK
    - PKHash
    - ToByteVector
    - CScriptWitness
    - SignatureData::scriptSig::empty
    - CTransaction
    - CKey::GetPubKey
    - BuildCreditingTransaction
    - SignatureData::signatures::emplace
    - CScript
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_combineSigs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1390,1
    - Dst: TaprootBuilder::Add
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1396,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1397,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1398,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1398,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1398,1
    - Dst: vin::emplace_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1399,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1399,1
    - Dst: TaprootBuilder::GetSpendData
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1400,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1403,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1403,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1404
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - TaprootBuilder::Finalize
    - vin::emplace_back
    - SignSignature
    - GetScriptForDestination
    - TaprootBuilder::Add
    - TaprootBuilder::GetSpendData
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - CMutableTransaction::GetHash
    - BOOST_CHECK
    - TaprootBuilder::GetOutput
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sign_invalid_miniscript)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1411,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1412,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1412,1
    - Dst: vin::emplace_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1414,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1414,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1416,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1416,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1417
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - vin::emplace_back
    - SignSignature
    - GetScriptForDestination
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - CMutableTransaction::GetHash
    - BOOST_CHECK
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sign_paytoanchor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1423,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1425,1
    - Dst: CScript::IsPushOnly
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1425,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1426,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1426,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1426,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1426,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1427,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1427,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1432,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1434,1
    - Dst: CScript::IsPushOnly
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1434,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1435,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1435,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1435,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1435,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1436,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1438
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - BaseSignatureChecker
    - VerifyScript
    - ScriptErrorString
    - CScript
    - CScript::IsPushOnly
    - BOOST_CHECK_MESSAGE
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_standard_push)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1448,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1449
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_IsPushOnly_on_invalid_scripts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1453,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1453,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1453,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1454,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1454,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1454,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1455,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1455,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1455,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1456,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1456,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1456,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1460,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1460,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1462,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1462,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1462,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1462,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1462,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1463,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1463,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1463,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1463,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1463,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1464,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1464,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1464,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1464,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1464,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1465,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1465,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1465,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1465,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1465,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1466,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1466,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1466,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1466,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1466,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1467,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1467,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1467,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1467,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1467,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1468,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1468,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1468,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1468,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1468,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1469,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1469,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1469,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1469,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1469,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1471,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1471,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1471,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1471,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1471,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1472,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1472,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1472,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1472,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1472,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1473,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1473,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1473,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1473,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1473,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1474,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1474,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1474,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1474,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1474,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1475,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1475,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1475,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1475,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1475,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1476,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1476,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1476,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1476,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1476,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1477,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1477,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1477,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1477,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1477,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1478,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1478,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1478,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1478,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1451
    functionDepth: 2
    functionLinenumber: 1451
    functionLinenumberEnd: 1479
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - ToByteVector
    - BOOST_CHECK_EQUAL
    - CScript
    - ParseHex
    - ScriptToAsmStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_GetScriptAsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1484,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1485,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' byte_container'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1482
    functionDepth: 3
    functionLinenumber: 1482
    functionLinenumberEnd: 1486
    functionName: ToScript
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 4
    functionsReached:
    - MakeUCharSpan
    - auto::end
    - auto::begin
    linkageType: ''
    returnType: CScript
    signature: CScript ToScript(const T& byte_container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1490,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1491,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1493
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_byte_array_u8_vector_equivalence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1498,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1499,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1500,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1502,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1503,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1505,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1505,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1506,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1508,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1509,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1510,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1511,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1511,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1512,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1514,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1515,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1516,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1517,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1517,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1518,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1520,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1521,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1522,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1523,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1523,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1524,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1526,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1527,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1528,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1529,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1529,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1530,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1532,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1533,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1535,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1535,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1536,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1538,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1539,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1541,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1541,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1542,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1546,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1547,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1548,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1549,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1549,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1550,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1553,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1554,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1556,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1556,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1557,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1559,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1560,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1561,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1562,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1562,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1563,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1565,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1566,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1568,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1568,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1569,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1571,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1572,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1573,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1574,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1574,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1575,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1577,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1578,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1579,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1580,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1580,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1581,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1583,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1584,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1585,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1586,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1586,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1587,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1591,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1592,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1593,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1594,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1594,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1595,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1597,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1598,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1599,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1600,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1600,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1602
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - FindAndDelete
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - ToScript
    - CScript
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_FindAndDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1607,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1608,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1609,1
    - Dst: CScript::HasValidOps
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1609,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1610,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1611,1
    - Dst: CScript::HasValidOps
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1611,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1612,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1613,1
    - Dst: CScript::HasValidOps
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1613,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1614,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1615,1
    - Dst: CScript::HasValidOps
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1616
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - ToScript
    - CScript::HasValidOps
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_HasValidOps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1620,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1621,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1625,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1626,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1626,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1627,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1628,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1630,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1631,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1631,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1632,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1632,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1633,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1634,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1637,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1638,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1640,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1641,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1641,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1641,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1642,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1642,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1642,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1643,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1643,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1643,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1644,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1644,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1644,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1645,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1645,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1645,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1647,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1648,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1649,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1652,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1652,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1653,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1654,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1654,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1654,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1657,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1658,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1659,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1659,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1663,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1664,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1664,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1664,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1668,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1671,1
    - Dst: MutableTransactionSignatureCreator::CreateSchnorrSig
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1671,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1672,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1672,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1672,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1675,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1675,1
    - Dst: XOnlyPubKey::ComputeTapTweakHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1675,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1675,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1675,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1681,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1682,1
    - Dst: SignatureHashSchnorr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1682,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1683,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1683,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1683,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1686,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1686,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1686,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1686,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1686,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1618
    functionDepth: 4
    functionLinenumber: 1618
    functionLinenumberEnd: 1689
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - BOOST_CHECK_EQUAL
    - getValues
    - auto::begin
    - XOnlyPubKey::ComputeTapTweakHash
    - CKey::CKey
    - BOOST_CHECK
    - SignatureHashSchnorr
    - TX_WITH_WITNESS
    - PrecomputedTransactionData::Init
    - ParseHex
    - UniValue::read
    - uint256::IsNull
    - HexStr
    - CMutableTransaction::CMutableTransaction
    - isNull
    - get_str
    - CKey::GetPubKey
    - uint256::uint256
    - MutableTransactionSignatureCreator::CreateSchnorrSig
    - GetSHA256
    - UniValue::UniValue
    - CKey::Set
    - PrecomputedTransactionData::PrecomputedTransactionData
    - auto::end
    - getInt
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip341_keypath_test_vectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1696,1
    - Dst: ComputeTapbranchHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1697
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - ComputeTapbranchHash
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(compute_tapbranch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1705,1
    - Dst: ComputeTapleafHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1705,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1705,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1706,1
    - Dst: ComputeTapleafHash
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1706,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/test/script_tests.cpp:1706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1707
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - ComputeTapleafHash
    - std::span
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(compute_tapleaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:39,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:39,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:40,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:41,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:41,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:43,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:43,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:45,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:46,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:46,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:48,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:49,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:49,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:55,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:55,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:55,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:55,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:55,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:57,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - auto::begin
    - BOOST_CHECK_MESSAGE
    - DataStream::begin
    - auto::end
    - CBloomFilter::insert
    - CBloomFilter::contains
    - DataStream::end
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:65,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:66,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:66,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:68,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:68,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:70,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:71,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:71,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:73,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:74,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:74,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:80,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:80,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:80,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:80,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - auto::begin
    - BOOST_CHECK_MESSAGE
    - DataStream::begin
    - auto::end
    - CBloomFilter::insert
    - CBloomFilter::contains
    - DataStream::end
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize_with_tweak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:85,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:86,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:87,1
    - Dst: CPubKey::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:88,1
    - Dst: CPubKey::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:88,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:91,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:92,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:99,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:99,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:99,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:99,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - auto::begin
    - auto::end
    - CPubKey::end
    - DataStream::begin
    - std::string
    - CPubKey::GetID
    - DataStream::end
    - DecodeSecret
    - CKey::GetPubKey
    - CBloomFilter::insert
    - CPubKey::begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bloom_create_insert_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:117,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:118,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:118,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:120,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:122,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:123,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:123,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:125,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:126,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:127,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:127,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:129,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:130,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:131,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:131,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:133,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:134,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:135,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:135,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:136,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:136,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:138,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:139,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:140,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:140,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:142,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:143,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:143,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:143,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:144,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:144,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:146,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:147,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:150,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:150,1
    - Dst: COutPoint::hash::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:150,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:151,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:151,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:152,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:154,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:154,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:156,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:157,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:158,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:158,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:160,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:161,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:162,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:162,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:164,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:165,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:165,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:165,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:166,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:166,1
    - Dst: CBloomFilter
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:168,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:169,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:169,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:169,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:170,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 171
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - CBloomFilter
    - std::vector::data
    - detail::FromHex
    - COutPoint
    - memcpy
    - CBloomFilter::IsRelevantAndUpdate
    - COutPoint::hash::begin
    - CBloomFilter::insert
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bloom_match)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBlock13b8a
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:175,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:178,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:181,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:181,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:181,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:183,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:183,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:186,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:187,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:191,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:191,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:192,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:192,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:192,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:194,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:197,1
    - Dst: CMerkleBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:198,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:199,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:199,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:201,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:205,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:208,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:209,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:209,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:209,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 212
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - CBlock::GetHash
    - CMerkleBlock
    - CMerkleBlock::txn::ExtractMatches
    - getBlock13b8a
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CMerkleBlock::vMatchedTxn::size
    - CMerkleBlock::header::GetHash
    - CBloomFilter::insert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_block_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:218,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:222,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:226,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:229,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:229,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:229,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:231,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:231,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:235,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:239,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:239,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:240,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:240,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:240,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:241,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:242,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:247,1
    - Dst: CMerkleBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:249,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:250,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:250,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:250,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:252,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:252,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:254,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:256,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:257,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:259,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:260,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:262,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:263,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:265,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:265,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:266,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:266,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:266,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 269
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - CBlock::GetHash
    - CMerkleBlock
    - CMerkleBlock::txn::ExtractMatches
    - BOOST_CHECK
    - CBlock::CBlock
    - CMerkleBlock::vMatchedTxn::size
    - CMerkleBlock::header::GetHash
    - TX_WITH_WITNESS
    - CBloomFilter::insert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_block_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:275,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:279,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:286,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:286,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:286,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:288,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:288,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:291,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:292,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:296,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:296,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:297,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:297,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:297,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:298,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:299,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:304,1
    - Dst: CMerkleBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:306,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:307,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:307,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:307,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:309,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:309,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:311,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:313,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:314,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:316,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:317,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:319,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:319,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:320,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:320,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:320,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:321,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 323
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - CBlock::GetHash
    - CMerkleBlock
    - CMerkleBlock::txn::ExtractMatches
    - BOOST_CHECK
    - CBlock::CBlock
    - CMerkleBlock::vMatchedTxn::size
    - CMerkleBlock::header::GetHash
    - TX_WITH_WITNESS
    - CBloomFilter::insert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_block_2_with_update_none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:329,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:333,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:337,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:340,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:340,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:342,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:342,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:344,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:345,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:349,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:349,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:350,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:350,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:350,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:351,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:352,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:358,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:358,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:358,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:358,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 359
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - auto::begin
    - auto::end
    - CBlock::GetHash
    - CMerkleBlock::txn::ExtractMatches
    - DataStream::begin
    - BOOST_CHECK
    - CBlock::CBlock
    - CMerkleBlock::vMatchedTxn::size
    - DataStream::end
    - CMerkleBlock::header::GetHash
    - TX_WITH_WITNESS
    - CBloomFilter::insert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_block_3_and_serialize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:365,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:369,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:373,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:376,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:376,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:376,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:378,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:378,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:381,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:382,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:386,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:386,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:387,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:387,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:387,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:388,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:389,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:392,1
    - Dst: CMerkleBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:394,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:394,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:394,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:396,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:396,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:398,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:401,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:403,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:403,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:404,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:404,1
    - Dst: CMerkleBlock::vMatchedTxn::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:404,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:405,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 407
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - CBlock::GetHash
    - CMerkleBlock
    - CMerkleBlock::txn::ExtractMatches
    - BOOST_CHECK
    - CBlock::CBlock
    - CMerkleBlock::vMatchedTxn::size
    - CMerkleBlock::header::GetHash
    - TX_WITH_WITNESS
    - CBloomFilter::insert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_block_4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:413,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:417,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:421,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:423,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:426,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:426,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:426,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:429,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:429,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:429,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:429,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:431,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:431,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:431,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 432
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - CBlock::GetHash
    - detail::FromHex
    - COutPoint
    - BOOST_CHECK
    - CBlock::CBlock
    - CMerkleBlock::header::GetHash
    - TX_WITH_WITNESS
    - CBloomFilter::insert
    - CBloomFilter::contains
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_block_4_test_p2pubkey_only)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:438,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:442,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:446,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:448,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:451,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:451,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:451,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:454,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:454,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:454,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:454,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:455,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:455,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:455,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 456
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - CBlock::GetHash
    - detail::FromHex
    - COutPoint
    - BOOST_CHECK
    - CBlock::CBlock
    - CMerkleBlock::header::GetHash
    - TX_WITH_WITNESS
    - CBloomFilter::insert
    - CBloomFilter::contains
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_block_4_test_update_none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:460,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:461,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:461,1
    - Dst: uint256::end
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: BloomTest::RandomData
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - uint256::begin
    - rand256
    - uint256::end
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> BloomTest::RandomData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:466,1
    - Dst: RandomData
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:475,1
    - Dst: CRollingBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:476,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:480,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:480,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:489,1
    - Dst: RandomData
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:489,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:493,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:495,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:495,1
    - Dst: CRollingBloomFilter::reset
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:496,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:497,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:497,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:503,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:503,1
    - Dst: CRollingBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:504,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:505,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:505,1
    - Dst: RandomData
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:510,1
    - Dst: CRollingBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:511,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:512,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:512,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:517,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:521,1
    - Dst: CRollingBloomFilter::insert
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:526,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:530,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/bloom_tests.cpp:530,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 532
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bloom_tests.cpp
    functionUses: 1
    functionsReached:
    - CRollingBloomFilter::insert
    - BOOST_CHECK
    - RandomData
    - BOOST_CHECK_EQUAL
    - CRollingBloomFilter::reset
    - CRollingBloomFilter::contains
    - SeedRandomForTest
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rolling_bloom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeMining
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: testnet4_miner_tests::MakeMining
    functionSourceFile: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeMining
    linkageType: ''
    returnType: std::unique_ptr<Mining>
    signature: std::unique_ptr<Mining> MakeMining()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeMining
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: testnet4_miner_tests::MakeMining
    functionSourceFile: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeMining
    linkageType: ''
    returnType: std::unique_ptr<Mining>
    signature: std::unique_ptr<Mining> MakeMining()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeMining
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:34,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:35,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:42,1
    - Dst: auto::createNewBlock
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:44,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:45,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:48,1
    - Dst: std::unique_ptr::getBlockHeader
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:48,1
    - Dst: std::unique_ptr::waitNext
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:53,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:54,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:58,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:59,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:59,1
    - Dst: std::unique_ptr::waitNext
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:61,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:62,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:68,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:69,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:69,1
    - Dst: std::unique_ptr::waitNext
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:71,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/testnet4_miner_tests.cpp
    functionUses: 1
    functionsReached:
    - chainman::ActiveChain
    - SetMockTime
    - MakeMining
    - std::unique_ptr::waitNext
    - BOOST_REQUIRE
    - LOCK
    - BOOST_REQUIRE_EQUAL
    - std::unique_ptr::getBlockHeader
    - auto::createNewBlock
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(MiningInterface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:24,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:26,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:26,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:26,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:26,1
    - Dst: schedule
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' s'
    - ' mutex'
    - ' counter'
    - delta
    - rescheduleTime
    argTypes:
    - CScheduler
    - std::mutex
    - int
    - int
    - std::chrono::steady_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: microTask
    functionSourceFile: /src/bitcoin-core/src/test/scheduler_tests.cpp
    functionUses: 0
    functionsReached:
    - schedule
    - std::bind
    - RandomMixin::min
    - std::ref
    linkageType: ''
    returnType: void
    signature: void microTask(CScheduler& s, std::mutex& mutex, int& counter, int
      delta, std::chrono::steady_clock::time_point rescheduleTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScheduler::CScheduler
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:43,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:48,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:49,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:50,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:52,1
    - Dst: CScheduler::getQueueInfo
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:55,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:56,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:59,1
    - Dst: randomMsec
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:59,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:60,1
    - Dst: randomMsec
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:60,1
    - Dst: zeroToNine
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:61,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:62,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:62,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:63,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:63,1
    - Dst: randomDelta
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:64,1
    - Dst: CScheduler::schedule
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:65,1
    - Dst: CScheduler::getQueueInfo
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:67,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:70,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:74,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:76,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:76,1
    - Dst: UninterruptibleSleep
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:78,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:79,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:83,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:83,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:85,1
    - Dst: randomMsec
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:85,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:86,1
    - Dst: randomMsec
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:86,1
    - Dst: zeroToNine
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:87,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:88,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:88,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:89,1
    - Dst: std::ref
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:89,1
    - Dst: randomDelta
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:90,1
    - Dst: CScheduler::schedule
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:91,1
    - Dst: CScheduler::StopWhenDrained
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:95,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:98,1
    - Dst: join
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 107
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/scheduler_tests.cpp
    functionUses: 1
    functionsReached:
    - std::ref
    - randomDelta
    - std::vector::emplace_back
    - UninterruptibleSleep
    - CScheduler::CScheduler
    - BOOST_CHECK_EQUAL
    - randomMsec
    - std::bind
    - std::vector::reserve
    - wallet::WalletRescanReserver::now
    - BOOST_CHECK
    - CScheduler::schedule
    - joinable
    - CScheduler::getQueueInfo
    - zeroToNine
    - count_microseconds
    - randrange
    - join
    - CScheduler::StopWhenDrained
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(manythreads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:113,1
    - Dst: std::condition_variable::wait_until
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:116,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:119,1
    - Dst: no_wait
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:120,1
    - Dst: no_wait
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:121,1
    - Dst: no_wait
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:122,1
    - Dst: no_wait
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:122,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:123,1
    - Dst: no_wait
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:123,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:124,1
    - Dst: no_wait
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/scheduler_tests.cpp
    functionUses: 1
    functionsReached:
    - no_wait
    - WAIT_LOCK
    - std::condition_variable::wait_until
    - wallet::WalletRescanReserver::now
    - BOOST_CHECK
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(wait_until_past)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScheduler::CScheduler
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:129,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:140,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:142,1
    - Dst: CScheduler::serviceQueue
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:142,1
    - Dst: SerialTaskRunner::insert
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:153,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:155,1
    - Dst: SerialTaskRunner::insert
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:158,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:160,1
    - Dst: CScheduler::StopWhenDrained
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:165,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:167,1
    - Dst: join
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:167,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:170,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (expectation)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/bitcoin-core/src/test/scheduler_tests.cpp
    - condition: (expectation)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bitcoin-core/src/test/scheduler_tests.cpp
    constantsTouched: []
    func_position:
      end: 172
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 172
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/scheduler_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - joinable
    - std::vector::reserve
    - CScheduler::CScheduler
    - CScheduler::StopWhenDrained
    - BOOST_CHECK_EQUAL
    - SerialTaskRunner::insert
    - assert
    - join
    - CScheduler::serviceQueue
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(singlethreadedscheduler_ordered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScheduler::CScheduler
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:176,1
    - Dst: CScheduler::scheduleFromNow
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:183,1
    - Dst: CScheduler::scheduleFromNow
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:184,1
    - Dst: CScheduler::scheduleFromNow
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:185,1
    - Dst: CScheduler::getQueueInfo
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:189,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:190,1
    - Dst: CScheduler::serviceQueue
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:192,1
    - Dst: CScheduler::MockForward
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:195,1
    - Dst: CScheduler::scheduleFromNow
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:198,1
    - Dst: CScheduler::stop
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:198,1
    - Dst: std::thread::join
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:199,1
    - Dst: CScheduler::getQueueInfo
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:202,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:203,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:206,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:209,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scheduler_tests.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 213
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/scheduler_tests.cpp
    functionUses: 1
    functionsReached:
    - CScheduler::MockForward
    - CScheduler::getQueueInfo
    - std::thread::join
    - CScheduler::CScheduler
    - wallet::WalletRescanReserver::now
    - BOOST_CHECK_EQUAL
    - BOOST_CHECK
    - std::chrono::duration_cast<std::chrono::seconds>
    - CScheduler::stop
    - CScheduler::scheduleFromNow
    - CScheduler::serviceQueue
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(mockforward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ip'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: ResolveIP
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 0
    functionsReached:
    - LookupHost
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr ResolveIP(const std::string& ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:32,1
    - Dst: CNetAddr::SetInternal
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' host'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: CreateInternal
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr::SetInternal
    - CNetAddr::CNetAddr
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr CreateInternal(const std::string& host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:39,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:39,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:40,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:40,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:41,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:42,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:42,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:43,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:43,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:44,1
    - Dst: CreateInternal
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - ResolveIP
    - CreateInternal
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(netbase_networks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:50,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:50,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:51,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:52,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:53,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:53,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:54,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:55,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:55,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:56,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:56,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:57,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:57,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:58,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:59,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:59,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:60,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:60,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:61,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:62,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:62,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:63,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:63,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:64,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:65,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:65,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:66,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:66,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:67,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:67,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:68,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:69,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:70,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:71,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:71,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:72,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:73,1
    - Dst: CreateInternal
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:74,1
    - Dst: CreateInternal
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 76
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - ResolveIP
    - CreateInternal
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(netbase_properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ' test'
    - ' host'
    - port
    argTypes:
    - std::string
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: TestSplitHost
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 0
    functionsReached:
    - SplitHostPort
    linkageType: ''
    returnType: bool
    signature: bool TestSplitHost(const std::string& test, const std::string& host,
      uint16_t port, bool validPort=true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:88,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:89,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:90,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:91,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:92,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:92,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:93,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:94,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:95,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:95,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:96,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:97,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:98,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:99,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:99,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:100,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:100,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:101,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:101,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:102,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:103,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:104,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:105,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:106,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:106,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:107,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:107,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:108,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:109,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:109,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:110,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:111,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:112,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:113,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:113,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:114,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:115,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:115,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:116,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:117,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:117,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:118,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:118,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:119,1
    - Dst: TestSplitHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 120
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - TestSplitHost
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(netbase_splithost)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:124,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - canon
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: TestParse
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 0
    functionsReached:
    - LookupNumeric
    - CService::ToStringAddrPort
    linkageType: ''
    returnType: bool
    signature: bool TestParse(std::string src, std::string canon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:130,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:131,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:131,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:132,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:132,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:133,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:134,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:134,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:135,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:135,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:136,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:139,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:141,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - TestParse
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(netbase_lookupnumeric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:146,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:147,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:148,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:148,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:149,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:149,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - CNetAddr::ToStringAddr
    - CNetAddr::IsIPv4
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(embedded_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:154,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:154,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:154,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:155,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:155,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:156,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:156,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:157,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:157,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:157,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:158,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:158,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:158,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:159,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:159,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:159,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:160,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:160,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:161,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:161,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:161,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:162,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:162,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:162,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:163,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:163,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:163,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:164,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:164,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:164,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:165,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:165,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:165,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:166,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:166,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:166,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:167,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:167,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:167,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:168,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:168,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:168,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:169,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:169,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:169,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:170,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:170,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:170,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:172,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:172,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:172,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:174,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:174,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:175,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:175,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:175,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:177,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:177,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:177,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:179,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:179,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:179,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:181,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:181,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:181,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:182,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:182,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:182,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:183,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:183,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:183,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:184,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:184,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:184,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:186,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:186,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:187,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:187,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:188,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:188,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:189,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:189,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:190,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:190,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:191,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:191,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:192,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:192,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:193,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:194,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:194,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:195,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:195,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:196,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:196,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:197,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:197,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:200,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:200,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:200,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:201,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:201,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:201,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:202,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:202,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:202,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:203,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:203,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:203,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:205,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:205,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:206,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:206,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:207,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:207,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:208,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:208,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:209,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:209,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:210,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:210,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:212,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:212,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:212,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:213,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:213,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:214,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:214,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:214,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:215,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:215,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:216,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:216,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:216,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:217,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:217,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:219,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:219,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:219,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:220,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:220,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:220,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:221,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:221,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:221,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:221,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:222,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:222,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:222,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:224,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:224,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:224,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:224,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:225,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:225,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:225,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:225,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:230,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:232,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:233,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:233,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:234,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:234,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:235,1
    - Dst: CSubNet::Match
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:235,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:236,1
    - Dst: CSubNet::Match
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:237,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:237,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:238,1
    - Dst: CSubNet::Match
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:238,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:238,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:240,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:240,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:241,1
    - Dst: CSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:241,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:241,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:243,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:244,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:244,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:245,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:246,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:246,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:247,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:248,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:248,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:249,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:250,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:250,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:251,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:252,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:252,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:253,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:254,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:254,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:255,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:256,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:256,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:257,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:258,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:258,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:259,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:260,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:260,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:261,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:262,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:262,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:263,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:264,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:264,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:265,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:266,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:266,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:267,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:268,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:268,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:269,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:270,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:270,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:271,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:272,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:272,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:273,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:274,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:274,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:275,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:276,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:276,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:277,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:278,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:278,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:279,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:280,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:280,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:281,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:282,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:282,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:283,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:284,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:284,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:285,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:286,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:286,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:287,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:288,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:288,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:289,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:290,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:290,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:291,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:292,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:292,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:293,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:294,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:294,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:295,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:296,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:296,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:297,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:298,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:298,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:299,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:300,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:300,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:301,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:302,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:302,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:303,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:304,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:304,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:305,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:306,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:306,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:307,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:308,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:308,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:310,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:311,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:311,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:312,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:313,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:313,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:314,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:315,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:315,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:317,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:318,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:318,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:319,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:320,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:320,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:321,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:322,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 146
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 323
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - CSubNet
    - CSubNet::Match
    - CNetAddr::ToStringAddr
    - LookupSubNet
    - CSubNet::ToString
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - CSubNet::IsValid
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(subnet_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<bool>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:327,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:328,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:328,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:328,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:329,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:329,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:329,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:329,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:330,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:330,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:330,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:330,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:331,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:331,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:331,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:332,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:332,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:332,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:332,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:333,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:333,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:333,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:333,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:334,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:334,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:334,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:334,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:335,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:335,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:335,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:336,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:336,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:336,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:336,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:337,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:337,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:337,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:337,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:338,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:338,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:338,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:338,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:342,1
    - Dst: NetGroupManager::GetGroup
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:342,1
    - Dst: CreateInternal
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 343
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector<unsigned char>
    - BOOST_CHECK
    - ResolveIP
    - NetGroupManager::GetGroup
    - CreateInternal
    - std::vector<bool>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(netbase_getgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:347,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:347,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:348,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:348,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:349,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:349,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:350,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:350,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:351,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:351,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:353,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:353,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:354,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:354,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:355,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:355,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:356,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:356,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:357,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:357,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:359,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:359,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:360,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:360,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:361,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:361,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:362,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 363
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - ParseNetwork
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(netbase_parsenetwork)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:373,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:373,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:374,1
    - Dst: bilingual_str::original::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:374,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:375,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:375,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:376,1
    - Dst: bilingual_str::original::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:376,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:377,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:377,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:380,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:381,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:381,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:382,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:383,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:383,1
    - Dst: NetPermissions::ClearFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:384,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:385,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:385,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:386,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:387,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:388,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:388,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:391,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:391,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:392,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:393,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:393,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:394,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:399,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:399,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:400,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:401,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:401,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:402,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:402,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:405,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:405,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:406,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:409,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:409,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:410,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:413,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:413,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:414,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:415,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:415,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:416,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:416,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:419,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:419,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:421,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:422,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:422,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:423,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:424,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:424,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:425,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:425,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:426,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:429,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:429,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:430,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:433,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:433,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:434,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:435,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:435,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:436,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:437,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:437,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:438,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:440,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:440,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:441,1
    - Dst: bilingual_str::original::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:441,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:444,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:444,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:445,1
    - Dst: bilingual_str::original::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:445,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:448,1
    - Dst: NetWhitelistPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:448,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:449,1
    - Dst: bilingual_str::original::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:449,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:452,1
    - Dst: NetWhitelistPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:452,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:453,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:454,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:454,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:456,1
    - Dst: NetWhitelistPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:456,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:457,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:458,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:458,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:459,1
    - Dst: NetWhitelistPermissions::m_subnet::ToString
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:459,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:460,1
    - Dst: NetWhitelistPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:460,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:461,1
    - Dst: NetWhitelistPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:461,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:462,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:463,1
    - Dst: NetWhitelistPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:463,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:464,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:465,1
    - Dst: NetWhitelistPermissions::TryParse
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:465,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:466,1
    - Dst: NetPermissions::ToStrings
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:468,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:469,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:469,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:470,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:470,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:470,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:470,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:470,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:471,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:471,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:471,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:471,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:471,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:472,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:472,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:472,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:472,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:472,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:473,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:473,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:473,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:473,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:473,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:474,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:474,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:474,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:474,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:474,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:475,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:475,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:475,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:475,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:475,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:476,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:476,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:476,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:476,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 365
    functionDepth: 6
    functionLinenumber: 365
    functionLinenumberEnd: 477
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - bilingual_str::original::find
    - NetPermissions::ClearFlag
    - auto::begin
    - NetWhitebindPermissions::TryParse
    - NetPermissions::AddFlag
    - NetWhitelistPermissions::m_subnet::ToString
    - NetPermissions::ToStrings
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE
    - bilingual_str::empty
    - NetPermissions::HasFlag
    - std::find
    - NetWhitelistPermissions::TryParse
    - auto::end
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(netpermissions_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:481,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:481,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:482,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:482,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:483,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:483,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:484,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:484,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:486,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:486,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:487,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:487,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:488,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:488,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:489,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:489,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:490,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:490,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:491,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:491,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:492,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:492,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:493,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 494
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - LookupHost
    - LookupSubNet
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(netbase_dont_resolve_strings_with_embedded_nul_characters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAddress::V1_NETWORK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:567,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:568,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 569
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - CAddress::V1_NETWORK
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(caddress_serialize_v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:573,1
    - Dst: CAddress::V1_NETWORK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:576,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 578
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - CAddress::V1_NETWORK
    - ParseHex
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(caddress_unserialize_v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAddress::V2_NETWORK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:584,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:585,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - CAddress::V2_NETWORK
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(caddress_serialize_v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:590,1
    - Dst: CAddress::V2_NETWORK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:593,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - CAddress::V2_NETWORK
    - ParseHex
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(caddress_unserialize_v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:599,1
    - Dst: IsBadPort
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:599,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:600,1
    - Dst: IsBadPort
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:600,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:601,1
    - Dst: IsBadPort
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:601,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:603,1
    - Dst: IsBadPort
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:603,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:604,1
    - Dst: IsBadPort
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:604,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:605,1
    - Dst: IsBadPort
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:605,1
    - Dst: std::iota
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:609,1
    - Dst: std::list::begin
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:609,1
    - Dst: std::list::end
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:609,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:610,1
    - Dst: std::ranges::count_if
      Src: /src/bitcoin-core/src/test/netbase_tests.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/netbase_tests.cpp
    functionUses: 1
    functionsReached:
    - std::iota
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::list::end
    - std::ranges::count_if
    - IsBadPort
    - std::list::begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(isbadport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GCSFilter::ElementSet::insert
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:27,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:27,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:31,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:31,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:36,1
    - Dst: GCSFilter::Match
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:36,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:38,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:39,1
    - Dst: GCSFilter::MatchAny
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:39,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 42
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_tests.cpp
    functionUses: 1
    functionsReached:
    - GCSFilter::ElementSet::insert
    - erase
    - std::move
    - BOOST_CHECK
    - GCSFilter::Match
    - GCSFilter::MatchAny
    - insert
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(gcsfilter_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GCSFilter::GCSFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:46,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:47,1
    - Dst: GCSFilter::GetN
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:48,1
    - Dst: GCSFilter::GetEncoded
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:48,1
    - Dst: GCSFilter::GetParams
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:53,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - GCSFilter::GetN
    - GCSFilter::GetEncoded
    - GCSFilter::GCSFilter
    - GCSFilter::GetParams
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(gcsfilter_default_constructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:62,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:63,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:66,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:69,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:73,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:76,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:82,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:83,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:84,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:85,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:87,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:88,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:89,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:90,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:92,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:93,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:93,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:94,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:94,1
    - Dst: CBlockUndo::vtxundo::emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:97,1
    - Dst: CBlockUndo::vtxundo::back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:98,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:98,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:98,1
    - Dst: CBlockUndo::vtxundo::back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:99,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:99,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:99,1
    - Dst: CBlockUndo::vtxundo::back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:100,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:100,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:100,1
    - Dst: BlockFilter::GetFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:106,1
    - Dst: Match
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:106,1
    - Dst: GCSFilter::Element
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:106,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:106,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:106,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:109,1
    - Dst: Match
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:109,1
    - Dst: GCSFilter::Element
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:109,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:109,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:109,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:113,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:119,1
    - Dst: BlockFilter::GetFilterType
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:119,1
    - Dst: BlockFilter::GetFilterType
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:119,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:120,1
    - Dst: BlockFilter::GetBlockHash
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:120,1
    - Dst: BlockFilter::GetBlockHash
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:121,1
    - Dst: BlockFilter::GetEncodedFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:121,1
    - Dst: BlockFilter::GetEncodedFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:121,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:123,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:124,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:125,1
    - Dst: BlockFilter::GetFilterType
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:125,1
    - Dst: BlockFilter::GetFilterType
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:125,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:126,1
    - Dst: BlockFilter::GetBlockHash
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:126,1
    - Dst: BlockFilter::GetBlockHash
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:127,1
    - Dst: BlockFilter::GetEncodedFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:127,1
    - Dst: BlockFilter::GetEncodedFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 128
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_tests.cpp
    functionUses: 1
    functionsReached:
    - BlockFilter::GetEncodedFilter
    - CBlock::CBlock
    - BOOST_CHECK_EQUAL
    - CBlock::vtx::push_back
    - CBlockUndo::vtxundo::back
    - BlockFilter::GetFilter
    - BOOST_CHECK
    - CTxOut
    - CBlockUndo::vtxundo::emplace_back
    - CMutableTransaction::vout::emplace_back
    - std::vector<unsigned char>
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - BlockFilter::GetBlockHash
    - BlockFilter::BlockFilter
    - GCSFilter::Element
    - end
    - BlockFilter::GetFilterType
    - Match
    - emplace_back
    - begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(blockfilter_basic_test)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:132,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:133,1
    - Dst: UniValue::isArray
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:133,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:134,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:138,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:139,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:141,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:143,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:145,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:146,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:152,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:152,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:152,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:154,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:155,1
    - Dst: DecodeHexBlk
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:155,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:155,1
    - Dst: CBlockUndo::vtxundo::emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:158,1
    - Dst: CBlockUndo::vtxundo::back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:159,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:160,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:161,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:162,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:162,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:163,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:163,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:163,1
    - Dst: vprevout::emplace_back
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:164,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:167,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:167,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:167,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:168,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:168,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:169,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:169,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:169,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:172,1
    - Dst: BlockFilter::GetFilter
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:172,1
    - Dst: BlockFilter::ComputeHeader
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 177
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_tests.cpp
    functionUses: 1
    functionsReached:
    - DecodeHexBlk
    - CBlock::CBlock
    - get_array
    - std::vector::end
    - CBlockUndo::vtxundo::back
    - BOOST_CHECK
    - BOOST_ERROR
    - BOOST_REQUIRE
    - BlockFilter::GetFilter
    - uint256::FromHex
    - CBlockUndo::vtxundo::emplace_back
    - BlockFilter::ComputeHeader
    - ParseHex
    - UniValue::read
    - write
    - UniValue::isArray
    - Assert
    - get_str
    - vprevout::emplace_back
    - UniValue::UniValue
    - size
    - std::vector::begin
    - UniValue::get_array
    - CScript
    - getInt
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(blockfilters_json_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:181,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:181,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:182,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:182,1
    - Dst: static_cast<BlockFilterType>
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:182,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:185,1
    - Dst: BlockFilterTypeByName
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:185,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:186,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:188,1
    - Dst: BlockFilterTypeByName
      Src: /src/bitcoin-core/src/test/blockfilter_tests.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockfilter_tests.cpp
    functionUses: 1
    functionsReached:
    - static_cast<BlockFilterType>
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BlockFilterTypeByName
    - BlockFilterTypeName
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(blockfilter_type_names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:18,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:20,1
    - Dst: LockStackEmpty
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:20,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:23,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:25,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:25,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:28,1
    - Dst: LockStackEmpty
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:28,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:30,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' mutex1'
    - ' mutex2'
    argTypes:
    - MutexType
    - MutexType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 34
    functionName: TestPotentialDeadLockDetected
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - LockStackEmpty
    - what
    linkageType: ''
    returnType: void
    signature: void TestPotentialDeadLockDetected(MutexType& mutex1, MutexType& mutex2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:40,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - MutexType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: TestDoubleLock2
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 0
    functionsReached:
    - LEAVE_CRITICAL_SECTION
    - ENTER_CRITICAL_SECTION
    linkageType: ''
    returnType: void
    signature: void TestDoubleLock2(MutexType& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:51,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:53,1
    - Dst: TestDoubleLock2
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:53,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:54,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:56,1
    - Dst: TestDoubleLock2
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:56,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:60,1
    - Dst: LockStackEmpty
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - should_throw
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: TestDoubleLock
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - LEAVE_CRITICAL_SECTION
    - TestDoubleLock2
    - BOOST_CHECK
    - LockStackEmpty
    - BOOST_CHECK_NO_THROW
    - HasReason
    - ENTER_CRITICAL_SECTION
    linkageType: ''
    returnType: void
    signature: void TestDoubleLock(bool should_throw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:69,1
    - Dst: ENTER_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:70,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:72,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:72,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:72,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:74,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:76,1
    - Dst: LockStackEmpty
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' mutex1'
    - ' mutex2'
    argTypes:
    - MutexType
    - MutexType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: TestInconsistentLockOrderDetected
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - LEAVE_CRITICAL_SECTION
    - BOOST_CHECK
    - LockStackEmpty
    - HasReason
    - ENTER_CRITICAL_SECTION
    linkageType: ''
    returnType: void
    signature: void TestInconsistentLockOrderDetected(MutexType& mutex1, MutexType&
      mutex2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:18,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:20,1
    - Dst: LockStackEmpty
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:20,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:23,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:25,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:25,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:28,1
    - Dst: LockStackEmpty
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:28,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:30,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' mutex1'
    - ' mutex2'
    argTypes:
    - MutexType
    - MutexType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 34
    functionName: TestPotentialDeadLockDetected
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - LockStackEmpty
    - what
    linkageType: ''
    returnType: void
    signature: void TestPotentialDeadLockDetected(MutexType& mutex1, MutexType& mutex2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:40,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - MutexType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: TestDoubleLock2
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 1
    functionsReached:
    - LEAVE_CRITICAL_SECTION
    - ENTER_CRITICAL_SECTION
    linkageType: ''
    returnType: void
    signature: void TestDoubleLock2(MutexType& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:51,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:53,1
    - Dst: TestDoubleLock2
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:53,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:54,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:56,1
    - Dst: TestDoubleLock2
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:56,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:60,1
    - Dst: LockStackEmpty
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - should_throw
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: TestDoubleLock
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - LEAVE_CRITICAL_SECTION
    - TestDoubleLock2
    - BOOST_CHECK
    - LockStackEmpty
    - BOOST_CHECK_NO_THROW
    - HasReason
    - ENTER_CRITICAL_SECTION
    linkageType: ''
    returnType: void
    signature: void TestDoubleLock(bool should_throw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:69,1
    - Dst: ENTER_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:70,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:72,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:72,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:72,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:74,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:76,1
    - Dst: LockStackEmpty
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' mutex1'
    - ' mutex2'
    argTypes:
    - MutexType
    - MutexType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: TestInconsistentLockOrderDetected
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - LEAVE_CRITICAL_SECTION
    - BOOST_CHECK
    - LockStackEmpty
    - HasReason
    - ENTER_CRITICAL_SECTION
    linkageType: ''
    returnType: void
    signature: void TestInconsistentLockOrderDetected(MutexType& mutex1, MutexType&
      mutex2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestPotentialDeadLockDetected
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:90,1
    - Dst: TestPotentialDeadLockDetected
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:92,1
    - Dst: TestPotentialDeadLockDetected
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:95,1
    - Dst: TestPotentialDeadLockDetected
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 1
    functionsReached:
    - TestPotentialDeadLockDetected
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(potential_deadlock_detected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestDoubleLock
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 1
    functionsReached:
    - TestDoubleLock
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(double_lock_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestDoubleLock
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 1
    functionsReached:
    - TestDoubleLock
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(double_lock_recursive_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInconsistentLockOrderDetected
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:127,1
    - Dst: TestInconsistentLockOrderDetected
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:130,1
    - Dst: TestInconsistentLockOrderDetected
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:133,1
    - Dst: TestInconsistentLockOrderDetected
      Src: /src/bitcoin-core/src/test/sync_tests.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 141
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sync_tests.cpp
    functionUses: 1
    functionsReached:
    - TestInconsistentLockOrderDetected
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(inconsistent_lock_order_detected)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:26,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:27,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:29,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:31,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:33,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:34,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:35,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:38,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:39,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:39,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:40,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:41,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:42,1
    - Dst: ChainTypeFromString
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:42,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:42,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:43,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:43,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:45,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:47,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:48,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:48,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:49,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:49,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:50,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:50,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:53,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:54,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:54,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:57,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:58,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:59,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:59,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:60,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:60,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:60,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:70,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:71,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:71,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:72,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:73,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:74,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:74,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:74,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:78,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:79,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:79,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 82
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_io_tests.cpp
    functionUses: 1
    functionsReached:
    - IsValidDestination
    - DecodeDestination
    - GetScriptForDestination
    - BOOST_CHECK_EQUAL
    - ChainTypeFromString
    - CKey::IsValid
    - all_bytes_equal
    - CKey::CKey
    - read_json
    - BOOST_ERROR
    - ParseHex
    - BOOST_CHECK_MESSAGE
    - CKey::IsCompressed
    - write
    - DecodeSecret
    - get_str
    - UniValue::size
    - get_obj
    - size
    - UniValue::find_value
    - SelectParams
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(key_io_valid_parse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:87,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:89,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:91,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:92,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:94,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:97,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:98,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:98,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:99,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:100,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:101,1
    - Dst: ChainTypeFromString
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:101,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:101,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:103,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:104,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:105,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:105,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:105,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:106,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:106,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:107,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:107,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:110,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:111,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:111,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:112,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:114,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (key.IsValid())
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bitcoin-core/src/test/key_io_tests.cpp
    constantsTouched: []
    func_position:
      end: 119
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 119
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_io_tests.cpp
    functionUses: 1
    functionsReached:
    - EncodeSecret
    - EncodeDestination
    - BOOST_CHECK_EQUAL
    - ChainTypeFromString
    - CKey::IsValid
    - std::vector::end
    - CKey::CKey
    - BOOST_CHECK
    - read_json
    - BOOST_ERROR
    - ParseHex
    - BOOST_CHECK_MESSAGE
    - write
    - get_str
    - UniValue::size
    - get_obj
    - assert
    - ExtractDestination
    - CKey::Set
    - size
    - std::vector::begin
    - UniValue::find_value
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(key_io_valid_gen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:125,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:126,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:129,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:131,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:132,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:134,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:137,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:141,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:142,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:143,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:143,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:144,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:145,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_io_tests.cpp:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_io_tests.cpp
    functionUses: 1
    functionsReached:
    - write
    - IsValidDestination
    - DecodeDestination
    - size
    - CKey::CKey
    - read_json
    - BOOST_ERROR
    - SelectParams
    - DecodeSecret
    - get_str
    - UniValue::size
    - BOOST_CHECK_MESSAGE
    - CKey::IsValid
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(key_io_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:28,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:28,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:28,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:29,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:32,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:33,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:34,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:38,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:38,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:40,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:42,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:43,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:43,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:48,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:51,1
    - Dst: MempoolAcceptResult::m_state::IsInvalid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:52,1
    - Dst: MempoolAcceptResult::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:53,1
    - Dst: MempoolAcceptResult::m_state::GetResult
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txvalidation_tests.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - CMutableTransaction::vout::resize
    - MempoolAcceptResult::m_state::IsInvalid
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - MempoolAcceptResult::m_state::GetResult
    - BOOST_CHECK
    - LOCK
    - chainman::ProcessTransaction
    - BOOST_CHECK_EQUAL
    - MempoolAcceptResult::m_state::GetRejectReason
    - CScript
    - mempool::size
    - CMutableTransaction::vin::resize
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(tx_mempool_reject_coinbase, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:60,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:60,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - num_outpoints
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: random_outpoints
    functionSourceFile: /src/bitcoin-core/src/test/txvalidation_tests.cpp
    functionUses: 0
    functionsReached:
    - transaction_identifier::FromUint256
    - std::vector::emplace_back
    - GetRandHash
    linkageType: ''
    returnType: std::vector<COutPoint>
    signature: std::vector<COutPoint> random_outpoints(size_t num_outpoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:67,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:69,1
    - Dst: CKey::MakeNewKey
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:70,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:71,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - num_keys
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: random_keys
    functionSourceFile: /src/bitcoin-core/src/test/txvalidation_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::reserve
    - CKey::CKey
    - CKey::GetPubKey
    - CKey::MakeNewKey
    linkageType: ''
    returnType: std::vector<CPubKey>
    signature: std::vector<CPubKey> random_keys(size_t num_keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:81,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:81,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:82,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:83,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:87,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' inputs'
    - version
    argTypes:
    - std::vector<COutPoint>
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: make_tx
    functionSourceFile: /src/bitcoin-core/src/test/txvalidation_tests.cpp
    functionUses: 3
    functionsReached:
    - CMutableTransaction::vout::resize
    - MakeTransactionRef
    - size
    - CScript
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef make_tx(const std::vector<COutPoint>& inputs, int32_t
      version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:101,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:101,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:102,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:105,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:107,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' inputs'
    - version
    argTypes:
    - std::vector<COutPoint>
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: make_ephemeral_tx
    functionSourceFile: /src/bitcoin-core/src/test/txvalidation_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::resize
    - MakeTransactionRef
    - size
    - CScript
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef make_ephemeral_tx(const std::vector<COutPoint>& inputs,
      int32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:115,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:116,1
    - Dst: make_ephemeral_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:127,1
    - Dst: random_outpoints
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:127,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:128,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:131,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:136,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:137,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:137,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:138,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:138,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:141,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:141,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:142,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:142,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:143,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:143,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:146,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:146,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:146,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:147,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:147,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:148,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:148,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:149,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:149,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:150,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:150,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:151,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:151,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:153,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:157,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:157,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:158,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:158,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:159,1
    - Dst: TxValidationState
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:160,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:161,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:163,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:163,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:164,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:164,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:165,1
    - Dst: TxValidationState
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:166,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:167,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:169,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:169,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:170,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:170,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:171,1
    - Dst: TxValidationState
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:172,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:173,1
    - Dst: make_ephemeral_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:175,1
    - Dst: random_outpoints
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:175,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:179,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:179,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:180,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:180,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:181,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:181,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:183,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:185,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:185,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:186,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:186,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:187,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:187,1
    - Dst: TxValidationState
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:188,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:189,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:191,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:192,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:192,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:193,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:193,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:194,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:194,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:197,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:197,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:197,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:198,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:198,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:198,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:200,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:200,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:201,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:201,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:202,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:202,1
    - Dst: make_ephemeral_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:205,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:207,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:208,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:208,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:209,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:209,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:210,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:211,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:211,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:212,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:212,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:213,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:213,1
    - Dst: make_ephemeral_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:216,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:216,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:217,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:217,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:218,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:218,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:219,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:219,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:224,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:224,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:225,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:225,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:226,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:226,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:229,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:229,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:232,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:232,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:233,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:233,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:234,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:237,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:237,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:238,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:238,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:239,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:239,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:242,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:242,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:243,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:243,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:244,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:244,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:247,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:247,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:248,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:248,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:249,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:249,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:252,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:252,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:255,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:255,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:256,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:256,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:257,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:257,1
    - Dst: TxValidationState
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:258,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:259,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:262,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:262,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:263,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:263,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:264,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:264,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:267,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:270,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:270,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:271,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:271,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:272,1
    - Dst: Wtxid
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 273
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txvalidation_tests.cpp
    functionUses: 0
    functionsReached:
    - TxValidationState
    - auto::GetHash
    - auto::GetWitnessHash
    - TxValidationState::IsValid
    - LOCK2
    - CFeeRate
    - Wtxid
    - make_ephemeral_tx
    - COutPoint
    - AddToMempool
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Assert
    - TestMemPoolEntryHelper::FromTx
    - random_outpoints
    - CheckEphemeralSpends
    - make_tx
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(ephemeral_tests, RegTestingSetup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:278,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:279,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:284,1
    - Dst: random_outpoints
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:284,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:285,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:285,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:286,1
    - Dst: random_outpoints
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:286,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:287,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:287,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:296,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:296,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:297,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:297,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:298,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:299,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:299,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:300,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:300,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:301,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:301,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:302,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:303,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:306,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:306,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:306,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:307,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:307,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:308,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:308,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:308,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:313,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:313,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:313,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:314,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:314,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:315,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:316,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:316,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:317,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:317,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:318,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:318,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:319,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:320,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:323,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:323,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:323,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:331,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:331,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:332,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:332,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:333,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:334,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:334,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:335,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:335,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:336,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:336,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:337,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:338,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:341,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:341,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:341,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:342,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:342,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:343,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:343,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:343,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:348,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:348,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:348,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:349,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:349,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:350,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:351,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:351,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:352,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:352,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:353,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:353,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:354,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:355,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:358,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:359,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:359,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:361,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:361,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:361,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:368,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:368,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:369,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:369,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:370,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:370,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:370,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:374,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:374,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:374,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:379,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:379,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:380,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:381,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:381,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:381,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:385,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:385,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:385,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:393,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:393,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:394,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:396,1
    - Dst: random_outpoints
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:396,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:397,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:397,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:398,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:398,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:399,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:401,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:402,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:403,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:403,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:404,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:404,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:405,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:406,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:406,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:407,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:407,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:408,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:409,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:411,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:411,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:411,1
    - Dst: random_outpoints
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:419,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:421,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:422,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:422,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:423,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:424,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:427,1
    - Dst: Package::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:428,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:429,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:429,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:430,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:431,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:431,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:432,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:433,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:434,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:437,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:437,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:437,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:438,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:438,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:438,1
    - Dst: random_outpoints
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:442,1
    - Dst: auto::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:443,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:443,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:445,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:446,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:447,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:447,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:448,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:449,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:449,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:450,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:450,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:451,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:452,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:455,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:455,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:455,1
    - Dst: random_outpoints
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:461,1
    - Dst: auto::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:462,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:462,1
    - Dst: random_keys
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:463,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:464,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:467,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:474,1
    - Dst: CMutableTransaction::vin::back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:475,1
    - Dst: stack::emplace_back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:475,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:475,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:475,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:477,1
    - Dst: CMutableTransaction::vout::back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:478,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:478,1
    - Dst: CMutableTransaction::vout::back
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:479,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:480,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:482,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:482,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:484,1
    - Dst: auto::vin::size
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:484,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:484,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:484,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:485,1
    - Dst: auto::vin::size
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:485,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:486,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:488,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:488,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:490,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:491,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:491,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:493,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:494,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:495,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:496,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:499,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:499,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:504,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:504,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:506,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:506,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:507,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:507,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:508,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:508,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:508,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:509,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:509,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:512,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:512,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:512,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:517,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:517,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:520,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:520,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:521,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:522,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:522,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:523,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:523,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:524,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:526,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:529,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:529,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:529,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:529,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:533,1
    - Dst: PackageTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:533,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:533,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:537,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:537,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:538,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:538,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:539,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:539,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:540,1
    - Dst: auto::GetCountWithDescendants
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:540,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:541,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:541,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:543,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:543,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:544,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:546,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:551,1
    - Dst: random_outpoints
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:551,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:552,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:552,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:553,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:553,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:554,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:554,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:556,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:556,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:557,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:557,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:558,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:558,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:560,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:560,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:561,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:562,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:562,1
    - Dst: SingleTRUCChecks
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:563,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:563,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:564,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/txvalidation_tests.cpp:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 275
    functionDepth: 4
    functionLinenumber: 275
    functionLinenumberEnd: 571
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/txvalidation_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::GetHash
    - std::vector::emplace_back
    - LOCK2
    - CMutableTransaction::vin::back
    - BOOST_CHECK_EQUAL
    - auto::vin::size
    - TestMemPoolEntryHelper::FromTx
    - CScript::GetSigOpCount
    - CMutableTransaction::vin::emplace_back
    - CalculateMemPoolAncestors
    - GetVirtualTransactionSize
    - AddToMempool
    - BOOST_CHECK
    - random_outpoints
    - random_keys
    - static_cast<int64_t>
    - ToByteVector
    - CMutableTransaction::vout::resize
    - auto::emplace_back
    - MakeTransactionRef
    - CScript::end
    - CMutableTransaction::vout::back
    - Assert
    - SingleTRUCChecks
    - CScript::begin
    - strprintf
    - make_tx
    - GetIter
    - stack::emplace_back
    - CScript::CScript
    - auto::GetWitnessHash
    - auto::GetCountWithDescendants
    - GetTransactionWeight
    - PackageTRUCChecks
    - CScript
    - Package::emplace_back
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(version3_tests, RegTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:25,1
    - Dst: Obfuscation::Obfuscation
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:27,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:33,1
    - Dst: CDBWrapper::IsEmpty
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:33,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:36,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:37,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:37,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:42,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:42,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:43,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:50,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:58,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:58,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:59,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:59,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:64,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:64,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 69
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - Obfuscation::Obfuscation
    - CDBWrapper::Read
    - GetDataDirBase
    - dbwrapper_private::GetObfuscation
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CDBWrapper::IsEmpty
    - CDBWrapper::Write
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(dbwrapper)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:75,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:78,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:83,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:83,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:86,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:89,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:90,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:91,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:91,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:91,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:94,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:94,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:97,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:98,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:99,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:99,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:99,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:102,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:105,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:106,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:106,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:107,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:107,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:107,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:110,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:113,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:113,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:114,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:114,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:115,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:115,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:115,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:120,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:121,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:121,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:122,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:127,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:127,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:128,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:128,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:129,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:134,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:134,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:135,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:135,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:136,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:140,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:142,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:144,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:145,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:145,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:146,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:146,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 149
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 1
    functionsReached:
    - randbits
    - rand32
    - CDBWrapper::Read
    - GetDataDirBase
    - uint256::ToString
    - dbwrapper_private::GetObfuscation
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - randbool
    - strprintf
    - CDBWrapper::Write
    - uint256::uint256
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(dbwrapper_basic_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:156,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:160,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:162,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:164,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:166,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:169,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:170,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:171,1
    - Dst: CDBBatch::Erase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:176,1
    - Dst: CDBWrapper::WriteBatch
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:178,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:178,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:179,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:179,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:179,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:180,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:180,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:181,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:181,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:181,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:184,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 1
    functionsReached:
    - CDBBatch::Erase
    - CDBWrapper::Read
    - GetDataDirBase
    - CDBBatch::Write
    - uint256::ToString
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - uint256::uint256
    - rand256
    - CDBWrapper::WriteBatch
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(dbwrapper_batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:192,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:197,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:198,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:198,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:200,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:201,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:201,1
    - Dst: const_cast<CDBWrapper&>
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:203,1
    - Dst: std::unique_ptr::Seek
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:206,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:209,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:211,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:211,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:212,1
    - Dst: std::unique_ptr::GetValue
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:212,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:213,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:214,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:214,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:214,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:216,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:218,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:218,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:219,1
    - Dst: std::unique_ptr::GetValue
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:219,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:220,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:221,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:221,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:221,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:223,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:224,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 188
    functionDepth: 4
    functionLinenumber: 188
    functionLinenumberEnd: 226
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::Next
    - std::unique_ptr::Seek
    - std::unique_ptr::Valid
    - GetDataDirBase
    - uint256::ToString
    - BOOST_CHECK
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::GetKey
    - const_cast<CDBWrapper&>
    - CDBWrapper::Write
    - uint256::uint256
    - rand256
    - std::unique_ptr::GetValue
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(dbwrapper_iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:232,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:233,1
    - Dst: std::make_unique<CDBWrapper>
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:236,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:238,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:239,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:241,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:241,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:242,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:242,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:243,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:243,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:243,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:246,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:253,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:254,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:254,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:255,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:255,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:255,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:257,1
    - Dst: CDBWrapper::IsEmpty
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:257,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:258,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:258,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:260,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:261,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:264,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:264,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:265,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:265,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:266,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:266,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 267
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 1
    functionsReached:
    - CDBWrapper::Write
    - std::unique_ptr::reset
    - CDBWrapper::Read
    - GetDataDirBase
    - uint256::ToString
    - dbwrapper_private::GetObfuscation
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::make_unique<CDBWrapper>
    - std::unique_ptr::Write
    - fs::create_directories
    - CDBWrapper::IsEmpty
    - std::unique_ptr::Read
    - uint256::uint256
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(existing_data_no_obfuscate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:273,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:274,1
    - Dst: std::make_unique<CDBWrapper>
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:277,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:279,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:280,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:282,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:282,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:283,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:283,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:284,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:284,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:284,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:287,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:293,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:294,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:294,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:295,1
    - Dst: dbwrapper_private::GetObfuscation
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:295,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:297,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:298,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:301,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:301,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:302,1
    - Dst: CDBWrapper::Read
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:302,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:303,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:303,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 270
    functionDepth: 4
    functionLinenumber: 270
    functionLinenumberEnd: 304
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 1
    functionsReached:
    - CDBWrapper::Write
    - std::unique_ptr::reset
    - CDBWrapper::Read
    - GetDataDirBase
    - uint256::ToString
    - dbwrapper_private::GetObfuscation
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::make_unique<CDBWrapper>
    - std::unique_ptr::Write
    - fs::create_directories
    - std::unique_ptr::Read
    - uint256::uint256
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(existing_data_reindex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:308,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:313,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:313,1
    - Dst: const_cast<CDBWrapper&>
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:317,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:322,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:322,1
    - Dst: std::unique_ptr::Seek
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:326,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:330,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:330,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:333,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:333,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:338,1
    - Dst: std::unique_ptr::GetValue
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:338,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:339,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:340,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:341,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:343,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:343,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 345
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::Next
    - std::unique_ptr::Seek
    - std::unique_ptr::Valid
    - GetDataDirBase
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::GetKey
    - const_cast<CDBWrapper&>
    - CDBWrapper::Write
    - std::unique_ptr::GetValue
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(iterator_ordering)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: StringContentsSerializer
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringContentsSerializer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' inp'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: StringContentsSerializer
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringContentsSerializer(const std::string& inp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 27
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:365,1
    - Dst: eof
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:367,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 22
    functionsReached:
    - push_back
    - clear
    - eof
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:376,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:384,1
    - Dst: CDBWrapper::Write
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:384,1
    - Dst: const_cast<CDBWrapper&>
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:388,1
    - Dst: std::unique_ptr::Seek
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:390,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:390,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:398,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:398,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:401,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:401,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:402,1
    - Dst: std::unique_ptr::GetValue
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:402,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:403,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:404,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:405,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:408,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 410
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::Next
    - ToString
    - std::unique_ptr::Seek
    - std::unique_ptr::Valid
    - GetDataDirBase
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::GetKey
    - const_cast<CDBWrapper&>
    - CDBWrapper::Write
    - std::unique_ptr::GetValue
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(iterator_string_ordering)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:418,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:422,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/dbwrapper_tests.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/dbwrapper_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - GetDataDirBase
    - fs::exists
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(unicodepath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getvch
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:23,1
    - Dst: getvch
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:23,1
    - Dst: getint
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:23,1
    - Dst: getint
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bignum'
    - ' scriptnum'
    argTypes:
    - CScriptNum10
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: verify
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 55
    functionsReached:
    - getvch
    - getint
    linkageType: ''
    returnType: bool
    signature: bool verify(const CScriptNum10& bignum, const CScriptNum& scriptnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:30,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:30,1
    - Dst: CScriptNum10::getvch
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:32,1
    - Dst: CScriptNum::getvch
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:33,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:34,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:34,1
    - Dst: CScriptNum::getvch
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:36,1
    - Dst: CScriptNum10::getvch
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:37,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:38,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' num'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: CheckCreateVch
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - CScriptNum10::getvch
    - CScriptNum::getvch
    linkageType: ''
    returnType: void
    signature: void CheckCreateVch(const int64_t& num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:45,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:45,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:46,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:46,1
    - Dst: CScriptNum10
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:46,1
    - Dst: CScriptNum10::getint
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:46,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:46,1
    - Dst: CScriptNum::getint
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:46,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:47,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:47,1
    - Dst: CScriptNum10
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:47,1
    - Dst: CScriptNum::getint
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:47,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:47,1
    - Dst: CScriptNum10::getint
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:48,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:48,1
    - Dst: CScriptNum10
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:48,1
    - Dst: CScriptNum10
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:48,1
    - Dst: CScriptNum::getint
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:48,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:48,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:48,1
    - Dst: CScriptNum10::getint
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' num'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: CheckCreateInt
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 0
    functionsReached:
    - CScriptNum
    - verify
    - CScriptNum10
    - CScriptNum10::getint
    - BOOST_CHECK
    - CScriptNum::getint
    linkageType: ''
    returnType: void
    signature: void CheckCreateInt(const int64_t& num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:64,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:65,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:68,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:69,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:70,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' num1'
    - ' num2'
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: CheckAdd
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - RandomMixin::min
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void CheckAdd(const int64_t& num1, const int64_t& num2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:81,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' num'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: CheckNegate
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - RandomMixin::min
    linkageType: ''
    returnType: void
    signature: void CheckNegate(const int64_t& num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:92,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:96,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:97,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:97,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:100,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:101,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:104,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:105,1
    - Dst: verify
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - ' num1'
    - ' num2'
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: CheckSubtract
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - RandomMixin::max
    - RandomMixin::min
    linkageType: ''
    returnType: void
    signature: void CheckSubtract(const int64_t& num1, const int64_t& num2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:117,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:118,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:123,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:124,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:127,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:128,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:131,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:132,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:134,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:135,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:138,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:141,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - ' num1'
    - ' num2'
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 143
    functionName: CheckCompare
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    linkageType: ''
    returnType: void
    signature: void CheckCompare(const int64_t& num1, const int64_t& num2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckCreateInt
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:147,1
    - Dst: CScriptNum::getvch
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:149,1
    - Dst: CheckCreateVch
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:150,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:153,1
    - Dst: CheckCreateVch
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' num'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: RunCreate
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckCreateVch
    - CScriptNum::getvch
    - BOOST_CHECK_THROW
    - CheckCreateInt
    linkageType: ''
    returnType: void
    signature: void RunCreate(const int64_t& num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAdd
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:159,1
    - Dst: CheckSubtract
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:160,1
    - Dst: CheckNegate
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:161,1
    - Dst: CheckCompare
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' num1'
    - ' num2'
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: RunOperators
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckSubtract
    - CheckCompare
    - CheckAdd
    - CheckNegate
    linkageType: ''
    returnType: void
    signature: void RunOperators(const int64_t& num1, const int64_t& num2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:167,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:169,1
    - Dst: RunCreate
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:171,1
    - Dst: RunCreate
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:172,1
    - Dst: RunCreate
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 5
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 1
    functionsReached:
    - RunCreate
    - size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(creation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:180,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:182,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:184,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:185,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:186,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:187,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:188,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:189,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:190,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:191,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:192,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:193,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:194,1
    - Dst: RunOperators
      Src: /src/bitcoin-core/src/test/scriptnum_tests.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/scriptnum_tests.cpp
    functionUses: 1
    functionsReached:
    - RunOperators
    - size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(operators)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: set_one
    functionSourceFile: /src/bitcoin-core/src/test/compilerbug_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_one(unsigned char* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: check_zero
    functionSourceFile: /src/bitcoin-core/src/test/compilerbug_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_zero(unsigned char const* in, unsigned int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_one
      Src: /src/bitcoin-core/src/test/compilerbug_tests.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: set_one_on_stack
    functionSourceFile: /src/bitcoin-core/src/test/compilerbug_tests.cpp
    functionUses: 0
    functionsReached:
    - set_one
    linkageType: ''
    returnType: void
    signature: void set_one_on_stack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_one_on_stack
      Src: /src/bitcoin-core/src/test/compilerbug_tests.cpp:35,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/compilerbug_tests.cpp:37,1
    - Dst: check_zero
      Src: /src/bitcoin-core/src/test/compilerbug_tests.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/compilerbug_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - check_zero
    - set_one_on_stack
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(gccbug_90348)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:37,1
    - Dst: Out::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:37,1
    - Dst: Out::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:38,1
    - Dst: Out::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:38,1
    - Dst: Hasher
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:41,1
    - Dst: In::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:41,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:41,1
    - Dst: Out::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:42,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:48,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:49,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:49,1
    - Dst: Hasher::Write
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:50,1
    - Dst: In::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:50,1
    - Dst: Out::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:52,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:52,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:52,1
    - Dst: Hasher
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:54,1
    - Dst: In::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:54,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:54,1
    - Dst: Out::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:55,1
    - Dst: Hasher::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:58,1
    - Dst: Out::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - h
    - in
    - out
    argTypes:
    - Hasher
    - In
    - Out
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: crypto_tests::TestVector
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - Hasher::Finalize
    - Out::resize
    - Hasher
    - Out::size
    - BOOST_CHECK
    - In::size
    - randrange
    - In::data
    - Hasher::Write
    - Out::data
    linkageType: ''
    returnType: void
    signature: void TestVector(const Hasher &h, const In &in, const Out &out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:63,1
    - Dst: CSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:63,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - hexout
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: crypto_tests::TestSHA1
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CSHA1
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestSHA1(const std::string &in, const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:64,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:64,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - hexout
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: crypto_tests::TestSHA256
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CSHA256
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestSHA256(const std::string &in, const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:65,1
    - Dst: CSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:65,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - hexout
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: crypto_tests::TestSHA512
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CSHA512
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestSHA512(const std::string &in, const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:66,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:66,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - hexout
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: crypto_tests::TestRIPEMD160
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - CRIPEMD160
    - ParseHex
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestRIPEMD160(const std::string &in, const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:69,1
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: CHMAC_SHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hexkey
    - hexin
    - hexout
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: crypto_tests::TestHMACSHA256
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - CHMAC_SHA256
    - ParseHex
    - std::vector::data
    - std::vector::size
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestHMACSHA256(const std::string &hexkey, const std::string &hexin,
      const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:74,1
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: CHMAC_SHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hexkey
    - hexin
    - hexout
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: crypto_tests::TestHMACSHA512
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CHMAC_SHA512
    - std::vector::data
    - std::vector::size
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestHMACSHA512(const std::string &hexkey, const std::string &hexin,
      const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:80,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:81,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:82,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:85,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:85,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:86,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:86,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:87,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:87,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:88,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:89,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:89,1
    - Dst: AES256Encrypt::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:90,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:90,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:91,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:92,1
    - Dst: AES256Decrypt::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:93,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:93,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - hexkey
    - hexin
    - hexout
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts:
    - condition: (key.size() == 32)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    - condition: (in.size() == 16)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    - condition: (correctout.size() == 16)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: crypto_tests::TestAES256
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - AES256Decrypt::Decrypt
    - std::vector::resize
    - std::vector::data
    - BOOST_CHECK
    - AES256Encrypt::Encrypt
    - assert
    - ParseHex
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TestAES256(const std::string &hexkey, const std::string &hexin,
      const std::string &hexout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:99,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:100,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:101,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:102,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:103,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:106,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:106,1
    - Dst: AES256CBCEncrypt::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:107,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:107,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:107,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:107,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:109,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:109,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:109,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:110,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:110,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:110,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:113,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:114,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:114,1
    - Dst: AES256CBCDecrypt::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:115,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:115,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:115,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:115,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:117,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:117,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:117,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:118,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:118,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:118,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:121,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:121,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:123,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:124,1
    - Dst: AES256CBCEncrypt::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:125,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:125,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:125,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:125,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:128,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:129,1
    - Dst: AES256CBCDecrypt::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:130,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:130,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:130,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:130,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:131,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:132,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:132,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:132,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:133,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:133,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:133,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - hexkey
    - hexiv
    - pad
    - hexin
    - hexout
    argTypes:
    - std::string
    - std::string
    - bool
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 136
    functionName: crypto_tests::TestAES256CBC
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::resize
    - std::vector::data
    - std::vector::begin
    - AES256CBCEncrypt::Encrypt
    - BOOST_CHECK
    - std::string
    - AES256CBCDecrypt::Decrypt
    - HexStr
    - ParseHex
    - BOOST_CHECK_MESSAGE
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TestAES256CBC(const std::string &hexkey, const std::string &hexiv,
      bool pad, const std::string &hexin, const std::string &hexout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:140,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:141,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:141,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:142,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:144,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:146,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:146,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:147,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:147,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:147,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:147,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:150,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:151,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:155,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:155,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:156,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:158,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:159,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:160,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:161,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:164,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:164,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:170,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:170,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:171,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:171,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:172,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:174,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:175,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:175,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:178,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:179,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:179,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:179,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:181,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:181,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:185,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - hex_message
    - hexkey
    - nonce
    - seek
    - ' hexout'
    argTypes:
    - std::string
    - std::string
    - ChaCha20::Nonce96
    - uint32_t
    - std::string
    assertStmts:
    - condition: (key.size() == 32)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    - condition: (hex_message.empty() || m.size() * 2 == hexout.size())
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    constantsTouched: []
    func_position:
      end: 187
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 187
    functionName: crypto_tests::TestChaCha20
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::vector::resize
    - ChaCha20::Keystream
    - subspan
    - size
    - std::string::empty
    - ChaCha20::Crypt
    - BOOST_CHECK_EQUAL
    - std::vector::assign
    - ChaCha20::Seek
    - randrange
    - HexStr
    - assert
    - ParseHex
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TestChaCha20(const std::string &hex_message, const std::string
      &hexkey, ChaCha20::Nonce96 nonce, uint32_t seek, const std::string& hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:191,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:192,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:192,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:194,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:200,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:200,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:203,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:203,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:206,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:208,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:212,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:214,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:215,1
    - Dst: auto::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:218,1
    - Dst: auto::SetKey
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:219,1
    - Dst: auto::Seek
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:220,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:223,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:224,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:226,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - ' hex_plaintext'
    - ' hexkey'
    - rekey_interval
    - ' ciphertext_after_rotation'
    argTypes:
    - std::string
    - std::string
    - uint32_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 227
    functionName: crypto_tests::TestFSChaCha20
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::SetKey
    - std::vector::resize
    - auto::Crypt
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - auto::Keystream
    - auto::Seek
    - HexStr
    - ParseHex
    linkageType: ''
    returnType: void
    signature: void TestFSChaCha20(const std::string& hex_plaintext, const std::string&
      hexkey, uint32_t rekey_interval, const std::string& ciphertext_after_rotation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:231,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:232,1
    - Dst: Update
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:234,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:235,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:235,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:243,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:243,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:244,1
    - Dst: auto::first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:244,1
    - Dst: auto::subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:245,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:247,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:248,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:249,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - hexmessage
    - hexkey
    - ' hextag'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: crypto_tests::TestPoly1305
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - Update
    - auto::size
    - auto::subspan
    - Poly1305::Update
    - BOOST_CHECK_EQUAL
    - std::vector::assign
    - randrange
    - HexStr
    - ParseHex
    - auto::first
    linkageType: ''
    returnType: void
    signature: void TestPoly1305(const std::string &hexmessage, const std::string
      &hexkey, const std::string& hextag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:256,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:257,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:258,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:259,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:263,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:263,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:263,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:265,1
    - Dst: AEADChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:268,1
    - Dst: AEADChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:270,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:270,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:270,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:272,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:275,1
    - Dst: AEADChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:278,1
    - Dst: AEADChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:280,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:280,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:280,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:282,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:283,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:287,1
    - Dst: AEADChaCha20Poly1305::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:289,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:290,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - ' plain_hex'
    - ' aad_hex'
    - ' key_hex'
    - nonce
    - ' cipher_hex'
    argTypes:
    - std::string
    - std::string
    - std::string
    - ChaCha20::Nonce96
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 293
    functionName: crypto_tests::TestChaCha20Poly1305
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::vector::size
    - AEADChaCha20Poly1305::Decrypt
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - randrange
    - AEADChaCha20Poly1305::Encrypt
    - first
    - AEADChaCha20Poly1305::Keystream
    - ParseHex
    - subspan
    linkageType: ''
    returnType: void
    signature: void TestChaCha20Poly1305(const std::string& plain_hex, const std::string&
      aad_hex, const std::string& key_hex, ChaCha20::Nonce96 nonce, const std::string&
      cipher_hex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:297,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:298,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:299,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:300,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:301,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:305,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:305,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:305,1
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:311,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:311,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:311,1
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:316,1
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:318,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:318,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:318,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:320,1
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:325,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:325,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:325,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:329,1
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:332,1
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:334,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:334,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:334,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:336,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ' plain_hex'
    - ' aad_hex'
    - ' key_hex'
    - msg_idx
    - ' cipher_hex'
    argTypes:
    - std::string
    - std::string
    - std::string
    - uint64_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 339
    functionName: crypto_tests::TestFSChaCha20Poly1305
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::vector::size
    - FSChaCha20Poly1305::Decrypt
    - FSChaCha20Poly1305::Encrypt
    - BOOST_CHECK
    - randrange
    - first
    - ParseHex
    - subspan
    linkageType: ''
    returnType: void
    signature: void TestFSChaCha20Poly1305(const std::string& plain_hex, const std::string&
      aad_hex, const std::string& key_hex, uint64_t msg_idx, const std::string& cipher_hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:342,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:343,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:344,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:348,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:348,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:348,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:349,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:349,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:349,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:351,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:351,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:353,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:354,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ikm_hex
    - salt_hex
    - info_hex
    - okm_check_hex
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 355
    functionName: crypto_tests::TestHKDF_SHA256_32
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - CHKDF_HMAC_SHA256_L32::Expand32
    - BOOST_CHECK
    - reinterpret_cast<char*>
    - HexStr
    - ParseHex
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TestHKDF_SHA256_32(const std::string &ikm_hex, const std::string
      &salt_hex, const std::string &info_hex, const std::string &okm_check_hex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:37,1
    - Dst: Out::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:37,1
    - Dst: Out::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:38,1
    - Dst: Out::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:38,1
    - Dst: Hasher
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:41,1
    - Dst: In::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:41,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:41,1
    - Dst: Out::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:42,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:48,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:49,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:49,1
    - Dst: Hasher::Write
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:50,1
    - Dst: In::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:50,1
    - Dst: Out::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:52,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:52,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:52,1
    - Dst: Hasher
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:54,1
    - Dst: In::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:54,1
    - Dst: In::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:54,1
    - Dst: Out::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:55,1
    - Dst: Hasher::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:58,1
    - Dst: Out::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - h
    - in
    - out
    argTypes:
    - Hasher
    - In
    - Out
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: crypto_tests::TestVector
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 6
    functionsReached:
    - Hasher::Finalize
    - Out::resize
    - Hasher
    - Out::size
    - BOOST_CHECK
    - In::size
    - randrange
    - In::data
    - Hasher::Write
    - Out::data
    linkageType: ''
    returnType: void
    signature: void TestVector(const Hasher &h, const In &in, const Out &out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:63,1
    - Dst: CSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:63,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - hexout
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: crypto_tests::TestSHA1
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CSHA1
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestSHA1(const std::string &in, const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:64,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:64,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - hexout
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: crypto_tests::TestSHA256
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CSHA256
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestSHA256(const std::string &in, const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:65,1
    - Dst: CSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:65,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - hexout
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: crypto_tests::TestSHA512
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CSHA512
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestSHA512(const std::string &in, const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:66,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:66,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - hexout
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: crypto_tests::TestRIPEMD160
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - CRIPEMD160
    - ParseHex
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestRIPEMD160(const std::string &in, const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:69,1
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: CHMAC_SHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hexkey
    - hexin
    - hexout
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: crypto_tests::TestHMACSHA256
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - CHMAC_SHA256
    - ParseHex
    - std::vector::data
    - std::vector::size
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestHMACSHA256(const std::string &hexkey, const std::string &hexin,
      const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:74,1
    - Dst: crypto_tests::TestVector
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: CHMAC_SHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hexkey
    - hexin
    - hexout
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: crypto_tests::TestHMACSHA512
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CHMAC_SHA512
    - std::vector::data
    - std::vector::size
    - crypto_tests::TestVector
    linkageType: ''
    returnType: void
    signature: void TestHMACSHA512(const std::string &hexkey, const std::string &hexin,
      const std::string &hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:80,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:81,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:82,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:85,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:85,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:86,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:86,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:87,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:87,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:88,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:89,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:89,1
    - Dst: AES256Encrypt::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:90,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:90,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:91,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:92,1
    - Dst: AES256Decrypt::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:93,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:93,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - hexkey
    - hexin
    - hexout
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts:
    - condition: (key.size() == 32)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    - condition: (in.size() == 16)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    - condition: (correctout.size() == 16)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: crypto_tests::TestAES256
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - AES256Decrypt::Decrypt
    - std::vector::resize
    - std::vector::data
    - BOOST_CHECK
    - AES256Encrypt::Encrypt
    - assert
    - ParseHex
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TestAES256(const std::string &hexkey, const std::string &hexin,
      const std::string &hexout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:99,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:100,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:101,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:102,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:103,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:106,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:106,1
    - Dst: AES256CBCEncrypt::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:107,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:107,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:107,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:107,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:109,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:109,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:109,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:110,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:110,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:110,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:113,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:114,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:114,1
    - Dst: AES256CBCDecrypt::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:115,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:115,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:115,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:115,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:117,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:117,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:117,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:118,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:118,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:118,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:121,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:121,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:123,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:124,1
    - Dst: AES256CBCEncrypt::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:125,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:125,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:125,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:125,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:128,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:129,1
    - Dst: AES256CBCDecrypt::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:130,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:130,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:130,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:130,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:131,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:132,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:132,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:132,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:133,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:133,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:133,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - hexkey
    - hexiv
    - pad
    - hexin
    - hexout
    argTypes:
    - std::string
    - std::string
    - bool
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 136
    functionName: crypto_tests::TestAES256CBC
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::resize
    - std::vector::data
    - std::vector::begin
    - AES256CBCEncrypt::Encrypt
    - BOOST_CHECK
    - std::string
    - AES256CBCDecrypt::Decrypt
    - HexStr
    - ParseHex
    - BOOST_CHECK_MESSAGE
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TestAES256CBC(const std::string &hexkey, const std::string &hexiv,
      bool pad, const std::string &hexin, const std::string &hexout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:140,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:141,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:141,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:142,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:144,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:146,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:146,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:147,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:147,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:147,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:147,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:150,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:151,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:155,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:155,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:156,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:158,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:159,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:160,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:161,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:164,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:164,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:170,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:170,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:171,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:171,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:172,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:174,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:175,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:175,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:178,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:179,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:179,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:179,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:181,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:181,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:185,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - hex_message
    - hexkey
    - nonce
    - seek
    - ' hexout'
    argTypes:
    - std::string
    - std::string
    - ChaCha20::Nonce96
    - uint32_t
    - std::string
    assertStmts:
    - condition: (key.size() == 32)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    - condition: (hex_message.empty() || m.size() * 2 == hexout.size())
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    constantsTouched: []
    func_position:
      end: 187
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 187
    functionName: crypto_tests::TestChaCha20
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::vector::resize
    - ChaCha20::Keystream
    - subspan
    - size
    - std::string::empty
    - ChaCha20::Crypt
    - BOOST_CHECK_EQUAL
    - std::vector::assign
    - ChaCha20::Seek
    - randrange
    - HexStr
    - assert
    - ParseHex
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TestChaCha20(const std::string &hex_message, const std::string
      &hexkey, ChaCha20::Nonce96 nonce, uint32_t seek, const std::string& hexout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:191,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:192,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:192,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:194,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:200,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:200,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:203,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:203,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:206,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:208,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:212,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:214,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:215,1
    - Dst: auto::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:218,1
    - Dst: auto::SetKey
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:219,1
    - Dst: auto::Seek
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:220,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:223,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:224,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:226,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - ' hex_plaintext'
    - ' hexkey'
    - rekey_interval
    - ' ciphertext_after_rotation'
    argTypes:
    - std::string
    - std::string
    - uint32_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 227
    functionName: crypto_tests::TestFSChaCha20
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::SetKey
    - std::vector::resize
    - auto::Crypt
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - auto::Keystream
    - auto::Seek
    - HexStr
    - ParseHex
    linkageType: ''
    returnType: void
    signature: void TestFSChaCha20(const std::string& hex_plaintext, const std::string&
      hexkey, uint32_t rekey_interval, const std::string& ciphertext_after_rotation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:231,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:232,1
    - Dst: Update
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:234,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:235,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:235,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:243,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:243,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:244,1
    - Dst: auto::first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:244,1
    - Dst: auto::subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:245,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:247,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:248,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:249,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - hexmessage
    - hexkey
    - ' hextag'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: crypto_tests::TestPoly1305
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - Update
    - auto::size
    - auto::subspan
    - Poly1305::Update
    - BOOST_CHECK_EQUAL
    - std::vector::assign
    - randrange
    - HexStr
    - ParseHex
    - auto::first
    linkageType: ''
    returnType: void
    signature: void TestPoly1305(const std::string &hexmessage, const std::string
      &hexkey, const std::string& hextag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:256,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:257,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:258,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:259,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:263,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:263,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:263,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:265,1
    - Dst: AEADChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:268,1
    - Dst: AEADChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:270,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:270,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:270,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:272,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:275,1
    - Dst: AEADChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:278,1
    - Dst: AEADChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:280,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:280,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:280,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:282,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:283,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:287,1
    - Dst: AEADChaCha20Poly1305::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:289,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:290,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - ' plain_hex'
    - ' aad_hex'
    - ' key_hex'
    - nonce
    - ' cipher_hex'
    argTypes:
    - std::string
    - std::string
    - std::string
    - ChaCha20::Nonce96
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 293
    functionName: crypto_tests::TestChaCha20Poly1305
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::vector::size
    - AEADChaCha20Poly1305::Decrypt
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - randrange
    - AEADChaCha20Poly1305::Encrypt
    - first
    - AEADChaCha20Poly1305::Keystream
    - ParseHex
    - subspan
    linkageType: ''
    returnType: void
    signature: void TestChaCha20Poly1305(const std::string& plain_hex, const std::string&
      aad_hex, const std::string& key_hex, ChaCha20::Nonce96 nonce, const std::string&
      cipher_hex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:297,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:298,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:299,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:300,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:301,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:305,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:305,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:305,1
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:311,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:311,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:311,1
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:316,1
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:318,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:318,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:318,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:320,1
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:325,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:325,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:325,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:329,1
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:332,1
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:334,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:334,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:334,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:336,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ' plain_hex'
    - ' aad_hex'
    - ' key_hex'
    - msg_idx
    - ' cipher_hex'
    argTypes:
    - std::string
    - std::string
    - std::string
    - uint64_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 339
    functionName: crypto_tests::TestFSChaCha20Poly1305
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::vector::size
    - FSChaCha20Poly1305::Decrypt
    - FSChaCha20Poly1305::Encrypt
    - BOOST_CHECK
    - randrange
    - first
    - ParseHex
    - subspan
    linkageType: ''
    returnType: void
    signature: void TestFSChaCha20Poly1305(const std::string& plain_hex, const std::string&
      aad_hex, const std::string& key_hex, uint64_t msg_idx, const std::string& cipher_hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:342,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:343,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:344,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:348,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:348,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:348,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:349,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:349,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:349,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:351,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:351,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:353,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:354,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ikm_hex
    - salt_hex
    - info_hex
    - okm_check_hex
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 355
    functionName: crypto_tests::TestHKDF_SHA256_32
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - CHKDF_HMAC_SHA256_L32::Expand32
    - BOOST_CHECK
    - reinterpret_cast<char*>
    - HexStr
    - ParseHex
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TestHKDF_SHA256_32(const std::string &ikm_hex, const std::string
      &salt_hex, const std::string &info_hex, const std::string &okm_check_hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: LongTestString
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LongTestString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:379,1
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:380,1
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:381,1
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:382,1
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:383,1
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:384,1
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:386,1
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:388,1
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:390,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:390,1
    - Dst: TestRIPEMD160
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestRIPEMD160
    - std::string
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ripemd160_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:395,1
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:396,1
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:397,1
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:398,1
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:399,1
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:400,1
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:402,1
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:404,1
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:406,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:406,1
    - Dst: TestSHA1
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 408
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - TestSHA1
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sha1_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:411,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:412,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:413,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:415,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:417,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:419,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:421,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:423,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:425,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:427,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:427,1
    - Dst: TestSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestSHA256
    - std::string
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sha256_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:433,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:436,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:439,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:442,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:445,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:448,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:451,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:454,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:457,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:461,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:461,1
    - Dst: TestSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 467
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestSHA512
    - std::string
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sha512_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestHMACSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:471,1
    - Dst: TestHMACSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:474,1
    - Dst: TestHMACSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:477,1
    - Dst: TestHMACSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:481,1
    - Dst: TestHMACSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:485,1
    - Dst: TestHMACSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:493,1
    - Dst: TestHMACSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:505,1
    - Dst: TestHMACSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:510,1
    - Dst: TestHMACSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 520
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestHMACSHA256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(hmac_sha256_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestHMACSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:524,1
    - Dst: TestHMACSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:528,1
    - Dst: TestHMACSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:532,1
    - Dst: TestHMACSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:537,1
    - Dst: TestHMACSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:542,1
    - Dst: TestHMACSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:551,1
    - Dst: TestHMACSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:564,1
    - Dst: TestHMACSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:572,1
    - Dst: TestHMACSHA512
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 588
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestHMACSHA512
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(hmac_sha512_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestAES256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:592,1
    - Dst: TestAES256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:595,1
    - Dst: TestAES256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:596,1
    - Dst: TestAES256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:597,1
    - Dst: TestAES256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 599
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestAES256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(aes_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestAES256CBC
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:603,1
    - Dst: TestAES256CBC
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:606,1
    - Dst: TestAES256CBC
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:609,1
    - Dst: TestAES256CBC
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:612,1
    - Dst: TestAES256CBC
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:617,1
    - Dst: TestAES256CBC
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:620,1
    - Dst: TestAES256CBC
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:623,1
    - Dst: TestAES256CBC
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 629
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestAES256CBC
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(aes_cbc_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:635,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:642,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:654,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:661,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:668,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:675,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:682,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:689,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:697,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:725,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:737,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:743,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:749,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:755,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:765,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:773,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:778,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:783,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:788,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:793,1
    - Dst: TestChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:810,1
    - Dst: TestFSChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:819,1
    - Dst: TestFSChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:823,1
    - Dst: TestFSChaCha20
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 831
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestChaCha20
    - TestFSChaCha20
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(chacha20_testvector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:839,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:842,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:843,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:844,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:846,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:846,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:846,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:847,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:847,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:847,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:848,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:848,1
    - Dst: last
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 849
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - all_bytes_equal
    - ChaCha20::Keystream
    - BOOST_CHECK
    - first
    - last
    - subspan
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(chacha20_midblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:854,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:859,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:864,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:875,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:886,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:892,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:896,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:900,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:904,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:908,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:912,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:916,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:921,1
    - Dst: Update
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:937,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:938,1
    - Dst: Poly1305::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:941,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:942,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:942,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:946,1
    - Dst: TestPoly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 970
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - Update
    - Poly1305::Update
    - TestPoly1305
    - BOOST_CHECK_EQUAL
    - Poly1305::Finalize
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(poly1305_testvector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestChaCha20Poly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:978,1
    - Dst: TestChaCha20Poly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:992,1
    - Dst: TestChaCha20Poly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1015,1
    - Dst: TestChaCha20Poly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1022,1
    - Dst: TestFSChaCha20Poly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1030,1
    - Dst: TestFSChaCha20Poly1305
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1051
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestChaCha20Poly1305
    - TestFSChaCha20Poly1305
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(chacha20poly1305_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestHKDF_SHA256_32
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1056,1
    - Dst: TestHKDF_SHA256_32
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1061,1
    - Dst: TestHKDF_SHA256_32
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1071
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestHKDF_SHA256_32
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(hkdf_hmac_sha256_l32_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1079,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1082,1
    - Dst: SHA256D64
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1084,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1085,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1087
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - CHash256
    - randbits
    - BOOST_CHECK
    - memcmp
    - SHA256D64
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sha256d64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1091,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1092,1
    - Dst: SHA3_256::SHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1094,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1097,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1098,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1098,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1099,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1099,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1099,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1099,1
    - Dst: SHA3_256::Reset
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1102,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1103,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1103,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1104,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1104,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1105,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1106,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1106,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1106,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1107,1
    - Dst: last
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1107,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1108,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1108,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1108,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' input'
    - ' output'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (out_bytes.size() == sizeof(out))
      pos:
        line_end: 1097
        line_start: 1097
        source_file: /src/bitcoin-core/src/test/crypto_tests.cpp
    constantsTouched: []
    func_position:
      end: 1109
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1109
    functionName: CryptoTest::TestSHA3_256
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - SHA3_256::Reset
    - auto::size
    - SHA3_256::SHA3_256
    - SHA3_256::Write
    - BOOST_CHECK
    - randrange
    - first
    - last
    - assert
    - ParseHex
    - begin
    - subspan
    - std::equal
    linkageType: ''
    returnType: void
    signature: void CryptoTest::TestSHA3_256(const std::string& input, const std::string&
      output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256::CSHA256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1115,1
    - Dst: KeccakF
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1117,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1120,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1121,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1124,1
    - Dst: CSHA256::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1125,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1125,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1128,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1111
    functionDepth: 3
    functionLinenumber: 1111
    functionLinenumberEnd: 1129
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - KeccakF
    - uint256::begin
    - CSHA256::Finalize
    - uint256::ToString
    - CSHA256::CSHA256
    - WriteLE64
    - BOOST_CHECK_EQUAL
    - CSHA256::Write
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(keccak_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1136,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1137,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1138,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1139,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1140,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1141,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1142,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1143,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1144,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1145,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1146,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1147,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1148,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1149,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1150,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1151,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1152,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1153,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1154,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1155,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1156,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1157,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1158,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1159,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1160,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1161,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1162,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1163,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1164,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1165,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1166,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1167,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1168,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1169,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1170,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1171,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1172,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1173,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1174,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1175,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1176,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1179,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1180,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1181,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1182,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1183,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1184,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1185,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1186,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1187,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1188,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1189,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1190,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1191,1
    - Dst: TestSHA3_256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1193
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - TestSHA3_256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sha3_256_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuHash3072
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1198
    functionName: FromInt
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - MuHash3072
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 FromInt(unsigned char i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1202,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1205,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1208,1
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1211,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1215,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1217,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1224,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1228,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1228,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1229,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1229,1
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1230,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1235,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1237,1
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1238,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1239,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1241,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1244,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1245,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1246,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1247,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1248,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1250,1
    - Dst: MuHash3072::Insert
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1252,1
    - Dst: MuHash3072::Remove
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1254,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1255,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1256,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1259,1
    - Dst: FromInt
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1259,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1263,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1263,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1263,1
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1266,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1268,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1269,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1270,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1271,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1271,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1271,1
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1275,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1278,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1279,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1280,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/crypto_tests.cpp:1280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1281
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - FromInt
    - randbits
    - MuHash3072::MuHash3072
    - MuHash3072::Remove
    - DataStream::str
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - MuHash3072::Insert
    - MuHash3072::Finalize
    - HexStr
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(muhash_tests)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:22,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:25,1
    - Dst: Arena::walk
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:27,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:29,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:30,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:30,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:31,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:31,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:32,1
    - Dst: Arena::walk
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:34,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:36,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:37,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:37,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:39,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:40,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:45,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:46,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:48,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:49,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:49,1
    - Dst: Arena::walk
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:51,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:53,1
    - Dst: Arena::walk
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:55,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:57,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:57,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:59,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:59,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:60,1
    - Dst: Arena::walk
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:62,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:64,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:64,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:65,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:66,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:66,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:67,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:68,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:68,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:69,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:70,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:71,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:72,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:75,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:75,1
    - Dst: Arena::walk
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:77,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:80,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:82,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:82,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:83,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:83,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:84,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:84,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:85,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:85,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:87,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:89,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:90,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:94,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:94,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:96,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:103,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:103,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:105,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:106,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:111,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:114,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:116,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:119,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:127,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:128,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:130,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:131,1
    - Dst: Arena::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 132
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/allocator_tests.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<void*>
    - std::vector::reserve
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::vector::push_back
    - Arena::free
    - Arena::walk
    - std::vector::clear
    - Arena::alloc
    - std::vector::size
    - Arena::stats
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(arena_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - count_in
    - lockedcount_in
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: TestLockedPageAllocator::TestLockedPageAllocator
    functionSourceFile: /src/bitcoin-core/src/test/allocator_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestLockedPageAllocator(int count_in, int lockedcount_in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:150,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - len
    - lockingSuccess
    argTypes:
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: TestLockedPageAllocator::AllocateLocked
    functionSourceFile: /src/bitcoin-core/src/test/allocator_tests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void * AllocateLocked(size_t len, bool *lockingSuccess) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - addr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: TestLockedPageAllocator::FreeLocked
    functionSourceFile: /src/bitcoin-core/src/test/allocator_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeLocked(void* addr, size_t len) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: TestLockedPageAllocator::GetLimit
    functionSourceFile: /src/bitcoin-core/src/test/allocator_tests.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: size_t
    signature: size_t GetLimit() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TestLockedPageAllocator>
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:169,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:171,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:171,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:172,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:172,1
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:175,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:177,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:177,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:178,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:178,1
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:179,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:180,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:181,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:181,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:182,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:182,1
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:184,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:185,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:186,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:186,1
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:187,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:188,1
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:189,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:190,1
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:191,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:192,1
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:194,1
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:195,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:196,1
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:198,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:199,1
    - Dst: LockedPool::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:201,1
    - Dst: LockedPool::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:202,1
    - Dst: LockedPool::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:203,1
    - Dst: LockedPool::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:204,1
    - Dst: LockedPool::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:205,1
    - Dst: LockedPool::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:207,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:208,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:209,1
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 210
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/allocator_tests.cpp
    functionUses: 1
    functionsReached:
    - LockedPool::free
    - LockedPool::stats
    - std::make_unique<TestLockedPageAllocator>
    - BOOST_CHECK
    - LockedPool::alloc
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(lockedpool_tests_mock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:217,1
    - Dst: LockedPoolManager::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:218,1
    - Dst: LockedPoolManager::alloc
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:221,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:224,1
    - Dst: LockedPoolManager::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:226,1
    - Dst: LockedPoolManager::free
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:228,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:229,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:234,1
    - Dst: LockedPoolManager::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:236,1
    - Dst: LockedPoolManager::stats
      Src: /src/bitcoin-core/src/test/allocator_tests.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/allocator_tests.cpp
    functionUses: 1
    functionsReached:
    - LockedPoolManager::stats
    - LockedPoolManager::alloc
    - BOOST_CHECK
    - LockedPoolManager::free
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(lockedpool_tests_live)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:28,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: EnvTestingSetup::EnvTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/i2p_tests.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: void
    signature: "void EnvTestingSetup(const ChainType chainType = ChainType::MAIN,\n
      \                            TestOpts opts = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ~EnvTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/test/i2p_tests.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void ~EnvTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StaticContentsSock>
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:50,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:50,1
    - Dst: CThreadInterrupt::CThreadInterrupt
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:53,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:54,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:55,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:56,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:59,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:60,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:64,1
    - Dst: i2p::sam::Session::Connect
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/i2p_tests.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - GetDataDirNet
    - std::optional::value
    - BOOST_REQUIRE
    - CThreadInterrupt::CThreadInterrupt
    - Lookup
    - std::make_unique<StaticContentsSock>
    - i2p::sam::Session::Connect
    - ASSERT_DEBUG_LOG
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(unlimited_recv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StaticContentsSock>
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:76,1
    - Dst: std::make_unique<StaticContentsSock>
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:90,1
    - Dst: std::make_unique<StaticContentsSock>
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:103,1
    - Dst: CThreadInterrupt::CThreadInterrupt
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:115,1
    - Dst: in6_addr
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:116,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:118,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:124,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:125,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:126,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:127,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:128,1
    - Dst: i2p::sam::Session::Listen
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:128,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:129,1
    - Dst: i2p::sam::Session::Accept
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 131
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/i2p_tests.cpp
    functionUses: 1
    functionsReached:
    - i2p::sam::Session::Listen
    - i2p::sam::Session::Accept
    - GetDataDirNet
    - BOOST_REQUIRE
    - CThreadInterrupt::CThreadInterrupt
    - std::make_unique<StaticContentsSock>
    - ASSERT_DEBUG_LOG
    - in6_addr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(listen_ok_accept_fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StaticContentsSock>
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:136,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:140,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:147,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:149,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:153,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:156,1
    - Dst: WriteBinaryFile
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:156,1
    - Dst: CThreadInterrupt::CThreadInterrupt
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:158,1
    - Dst: in6_addr
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:159,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:164,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:165,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:169,1
    - Dst: i2p::sam::Session::Connect
      Src: /src/bitcoin-core/src/test/i2p_tests.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 172
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/i2p_tests.cpp
    functionUses: 1
    functionsReached:
    - WriteBinaryFile
    - std::string
    - GetDataDirNet
    - BOOST_REQUIRE
    - BOOST_CHECK
    - CThreadInterrupt::CThreadInterrupt
    - std::make_unique<StaticContentsSock>
    - i2p::sam::Session::Connect
    - ASSERT_DEBUG_LOG
    - in6_addr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(damaged_private_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:30,1
    - Dst: ArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:31,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:31,1
    - Dst: ArgsManager::GetDataDirBase
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:33,1
    - Dst: ArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:35,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:35,1
    - Dst: ArgsManager::ClearPathCache
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:36,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:37,1
    - Dst: ArgsManager::GetDataDirBase
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:37,1
    - Dst: ArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:39,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:39,1
    - Dst: ArgsManager::ClearPathCache
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:40,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:41,1
    - Dst: ArgsManager::GetDataDirBase
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:41,1
    - Dst: ArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:43,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:43,1
    - Dst: ArgsManager::ClearPathCache
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:45,1
    - Dst: ArgsManager::GetDataDirBase
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:45,1
    - Dst: ArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:47,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:47,1
    - Dst: ArgsManager::ClearPathCache
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:48,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:49,1
    - Dst: ArgsManager::GetDataDirBase
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - ArgsManager::ArgsManager
    - ArgsManager::ClearPathCache
    - ArgsManager::ForceSetArg
    - BOOST_CHECK_EQUAL
    - ArgsManager::GetDataDirBase
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_datadir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: TestArgsManager
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void TestArgsManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:59,1
    - Dst: ro_config::clear
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:60,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:61,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:64,1
    - Dst: ReadConfigStream
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - str_config
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: ReadConfigString
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - ReadConfigStream
    - LOCK
    - BOOST_REQUIRE
    - clear
    - ro_config::clear
    linkageType: ''
    returnType: void
    signature: void ReadConfigString(const std::string str_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:68,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: SetNetworkOnlyArg
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - insert
    linkageType: ''
    returnType: void
    signature: void SetNetworkOnlyArg(const std::string arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - std::vector<std::pair<std::string, unsigned int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: SetupArgs
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - AddArg
    linkageType: ''
    returnType: void
    signature: void SetupArgs(const std::vector<std::pair<std::string, unsigned int>>&
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: CheckValueTest::Expect
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Expect(common::SettingsValue s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& DefaultString()'
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Expect
    signature: Expect & DefaultString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '& DefaultInt()'
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Expect
    signature: Expect & DefaultInt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& DefaultBool()'
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Expect
    signature: Expect & DefaultBool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& String(const char* s)'
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Expect
    signature: Expect & String(const char* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& Int(int64_t i)'
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Expect
    signature: Expect & Int(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '& Bool(bool b)'
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Expect
    signature: Expect & Bool(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '& List(std::vector<std::string> m)'
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: Expect
    signature: Expect & List(std::vector<std::string> m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '& Error(const char* e)'
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Expect
    signature: Expect & Error(const char* e)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TestArgsManager::SetupArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:114,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:117,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:119,1
    - Dst: TestArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:119,1
    - Dst: setting::write
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:119,1
    - Dst: TestArgsManager::GetSettingsList
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:120,1
    - Dst: setting::isNull
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:121,1
    - Dst: setting::isFalse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:121,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:122,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:122,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:124,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:124,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:125,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:125,1
    - Dst: setting::write
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:129,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:130,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:132,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:133,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:137,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:137,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:139,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:141,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:145,1
    - Dst: TestArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:147,1
    - Dst: TestArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:147,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:149,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:153,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:154,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:156,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:156,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:157,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:157,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:159,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:163,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:164,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:164,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:164,1
    - Dst: list_value::begin
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:164,1
    - Dst: list_value::end
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:164,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - flags
    - arg
    - ' expect'
    argTypes:
    - unsigned int
    - char*
    - Expect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 168
    functionName: CheckValueTest::CheckValue
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - list_value::end
    - auto::size
    - setting::isFalse
    - TestArgsManager::ParseParameters
    - BOOST_CHECK_EQUAL
    - TestArgsManager::GetArg
    - TestArgsManager::GetIntArg
    - auto::begin
    - BOOST_CHECK_NE
    - setting::write
    - BOOST_CHECK
    - write
    - list_value::begin
    - std::string::find
    - TestArgsManager::GetSetting
    - TestArgsManager::GetSettingsList
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - setting::isNull
    - TestArgsManager::SetupArgs
    - TestArgsManager::GetArgs
    - auto::end
    - TestArgsManager::GetBoolArg
    linkageType: ''
    returnType: void
    signature: void CheckValue(unsigned int flags, const char* arg, const Expect&
      expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:175,1
    - Dst: DefaultString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:175,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:176,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:176,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:177,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:177,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:178,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:178,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:179,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:179,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:180,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:180,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:181,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:181,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:182,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:182,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:183,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:183,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:184,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:184,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:185,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:185,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:186,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:186,1
    - Dst: CheckValue
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:187,1
    - Dst: String
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - DefaultString
    - String
    - CheckValue
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(util_CheckValue, CheckValueTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestArgsManager::SetupArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:194,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:197,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:197,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: Parse
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 14
    functionsReached:
    - TestArgsManager::ParseParameters
    - TestArgsManager::SetupArgs
    - std::array::size
    - std::array::data
    linkageType: ''
    returnType: std::string
    signature: std::string Parse(const char* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:204,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:204,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:205,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:205,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:206,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - Parse
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(util_NoIncludeConf, NoIncludeConfTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:212,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:213,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:214,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:215,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:220,1
    - Dst: TestArgsManager::SetupArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:221,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:222,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:222,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:223,1
    - Dst: TestArgsManager::m_settings::command_line_options::empty
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:223,1
    - Dst: TestArgsManager::m_settings::ro_config::empty
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:223,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:225,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:225,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:226,1
    - Dst: TestArgsManager::m_settings::command_line_options::empty
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:226,1
    - Dst: TestArgsManager::m_settings::ro_config::empty
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:226,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:228,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:228,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:232,1
    - Dst: TestArgsManager::m_settings::command_line_options::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:232,1
    - Dst: TestArgsManager::m_settings::ro_config::empty
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:232,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:233,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:233,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:233,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:233,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:234,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:235,1
    - Dst: TestArgsManager::m_settings::command_line_options::count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:235,1
    - Dst: TestArgsManager::m_settings::command_line_options::count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:235,1
    - Dst: TestArgsManager::m_settings::command_line_options::count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:235,1
    - Dst: TestArgsManager::m_settings::command_line_options::count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:236,1
    - Dst: TestArgsManager::m_settings::command_line_options::count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:236,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:238,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:238,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:239,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:239,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:240,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:240,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:241,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:241,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:242,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:242,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:243,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 244
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - TestArgsManager::IsArgSet
    - TestArgsManager::m_settings::command_line_options::empty
    - TestArgsManager::m_settings::command_line_options::size
    - back
    - size
    - BOOST_CHECK
    - LOCK
    - TestArgsManager::SetupArgs
    - TestArgsManager::ParseParameters
    - TestArgsManager::GetArgs
    - TestArgsManager::m_settings::ro_config::empty
    - front
    - TestArgsManager::m_settings::command_line_options::count
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ParseParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestArgsManager::SetupArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:249,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:253,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:253,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:254,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:257,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:257,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:258,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:263,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:263,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 265
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - TestArgsManager::ParseParameters
    - TestArgsManager::SetupArgs
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ParseInvalidParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestArgsManager::SetupArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:270,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:272,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:274,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:274,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:275,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:275,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:276,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:276,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:277,1
    - Dst: TestArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:277,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:278,1
    - Dst: TestArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' str'
    - expected_bool
    - expected_int
    argTypes:
    - std::string
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: TestParse
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - TestArgsManager::ParseParameters
    - TestArgsManager::SetupArgs
    - BOOST_CHECK_EQUAL
    - TestArgsManager::GetIntArg
    - std::string::c_str
    - TestArgsManager::GetBoolArg
    linkageType: ''
    returnType: void
    signature: void TestParse(const std::string& str, bool expected_bool, int64_t
      expected_int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:288,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:289,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:290,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:291,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:292,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:293,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:294,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:295,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:296,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:297,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:298,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:299,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:300,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:301,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:302,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:303,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:304,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:305,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:306,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:307,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:308,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:309,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:310,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:311,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:312,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:313,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:314,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:315,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:316,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:317,1
    - Dst: TestParse
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 319
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - TestParse
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ArgParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:324,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:325,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:326,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:327,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:328,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:329,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:334,1
    - Dst: TestArgsManager::SetupArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:336,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:336,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:340,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:343,1
    - Dst: TestArgsManager::m_settings::command_line_options::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:343,1
    - Dst: TestArgsManager::m_settings::ro_config::empty
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:344,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:347,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:347,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:350,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:350,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:351,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:351,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:354,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:354,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:355,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:355,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:356,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:356,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:357,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:357,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:358,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:358,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:359,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 360
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - TestArgsManager::IsArgSet
    - TestArgsManager::m_settings::command_line_options::size
    - BOOST_CHECK
    - LOCK
    - TestArgsManager::SetupArgs
    - TestArgsManager::ParseParameters
    - TestArgsManager::m_settings::ro_config::empty
    - TestArgsManager::IsArgNegated
    - TestArgsManager::GetBoolArg
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_GetBoolArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:368,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:369,1
    - Dst: TestArgsManager::SetupArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:371,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:373,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:373,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:376,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:376,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:377,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:377,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:380,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:381,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:381,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:385,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:385,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:386,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:390,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:390,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:391,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:391,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:394,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:394,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:395,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:395,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:400,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:400,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:401,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:404,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:404,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:405,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:405,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:406,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:406,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:409,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:409,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:410,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:410,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:411,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:411,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 413
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - BOOST_CHECK
    - TestArgsManager::ParseParameters
    - TestArgsManager::SetupArgs
    - TestArgsManager::ReadConfigString
    - TestArgsManager::GetArgs
    - TestArgsManager::GetArg
    - TestArgsManager::IsArgNegated
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_GetBoolArgEdgeCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:440,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:441,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:442,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:443,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:444,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:445,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:446,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:447,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:448,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:449,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:450,1
    - Dst: TestArgsManager::SetupArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:451,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:453,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:457,1
    - Dst: TestArgsManager::m_settings::command_line_options::empty
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:457,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:458,1
    - Dst: TestArgsManager::m_settings::ro_config::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:458,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:459,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:459,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:460,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:460,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:461,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:461,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:463,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:463,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:464,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:464,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:465,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:465,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:466,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:466,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:467,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:467,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:468,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:468,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:469,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:469,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:470,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:470,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:471,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:471,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:472,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:472,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:473,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:473,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:474,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:474,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:476,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:476,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:477,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:477,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:478,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:478,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:479,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:479,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:480,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:480,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:481,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:481,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:482,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:482,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:483,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:483,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:484,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:484,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:485,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:485,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:487,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:487,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:488,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:488,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:489,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:489,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:490,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:490,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:491,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:491,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:492,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:492,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:493,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:493,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:494,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:494,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:495,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:495,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:496,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:496,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:499,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:499,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:500,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:500,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:501,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:501,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:502,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:502,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:503,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:503,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:504,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:504,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:505,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:505,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:506,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:506,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:507,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:507,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:508,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:508,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:511,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:511,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:512,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:513,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:513,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:514,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:515,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:515,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:516,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:517,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:518,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:518,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:519,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:519,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:520,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:520,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:521,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:522,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:522,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:523,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:523,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:524,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:524,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:525,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:525,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:526,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:527,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:527,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:528,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:528,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:530,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:530,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:531,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:531,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:532,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:532,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:533,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:533,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:534,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:534,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:535,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:535,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:536,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:536,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:537,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:537,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:538,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:538,1
    - Dst: TestArgsManager::SelectConfigNetwork
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:541,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:544,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:544,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:545,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:545,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:546,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:546,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:547,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:547,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:548,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:548,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:549,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:549,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:551,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:551,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:553,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:553,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:555,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:555,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:558,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:559,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:559,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:559,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:559,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:559,1
    - Dst: TestArgsManager::SelectConfigNetwork
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:561,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:564,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:564,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:565,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:565,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:566,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:566,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:567,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:567,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:568,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:568,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:569,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:569,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:570,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:570,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:572,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:572,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:574,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:574,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:577,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:578,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:578,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:578,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:578,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:578,1
    - Dst: TestArgsManager::SetNetworkOnlyArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:582,1
    - Dst: TestArgsManager::SetNetworkOnlyArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:583,1
    - Dst: TestArgsManager::SetNetworkOnlyArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:584,1
    - Dst: TestArgsManager::SelectConfigNetwork
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:586,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:586,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:587,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:587,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:588,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:588,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:589,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:589,1
    - Dst: TestArgsManager::SelectConfigNetwork
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:591,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:592,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:592,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:593,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:593,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:594,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:594,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:595,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:595,1
    - Dst: TestArgsManager::SelectConfigNetwork
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:597,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:598,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:598,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:599,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:599,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:600,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:600,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:601,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 602
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - BOOST_CHECK_EQUAL
    - TestArgsManager::GetArg
    - ChainTypeToString
    - std::vector::end
    - BOOST_CHECK
    - TestArgsManager::ReadConfigString
    - TestArgsManager::m_settings::ro_config::size
    - TestArgsManager::IsArgNegated
    - count
    - TestArgsManager::GetBoolArg
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - end
    - TestArgsManager::IsArgSet
    - TestArgsManager::m_settings::command_line_options::empty
    - size
    - std::vector::begin
    - LOCK
    - TestArgsManager::SetupArgs
    - TestArgsManager::GetArgs
    - TestArgsManager::SetNetworkOnlyArg
    - begin
    - TestArgsManager::SelectConfigNetwork
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ReadConfigStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:607,1
    - Dst: TestArgsManager::m_settings::command_line_options::clear
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:608,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:627,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:627,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:628,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:628,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:629,1
    - Dst: TestArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:629,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:630,1
    - Dst: TestArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:630,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:631,1
    - Dst: TestArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:631,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:632,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:632,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:633,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:633,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:634,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:634,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:635,1
    - Dst: TestArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:635,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:637,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:637,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:638,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:638,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:639,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:639,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:640,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 641
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - TestArgsManager::m_settings::command_line_options::clear
    - LOCK
    - BOOST_CHECK_EQUAL
    - TestArgsManager::GetArg
    - TestArgsManager::GetIntArg
    - TestArgsManager::GetBoolArg
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_GetArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:646,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:647,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:648,1
    - Dst: TestArgsManager::SetupArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:649,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:660,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:660,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:661,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:661,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:663,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:663,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:664,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:664,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:666,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:666,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:667,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:667,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:669,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:669,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:670,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:670,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:672,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:672,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:673,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:673,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:675,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:675,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:676,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:676,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:678,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:678,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:679,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:680,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:680,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:682,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:682,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:683,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:684,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:684,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:686,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:686,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:687,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:688,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:688,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:690,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:690,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:691,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:692,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:692,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:694,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:694,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:695,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:696,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:696,1
    - Dst: TestArgsManager::SelectConfigNetwork
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:700,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:702,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:702,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:703,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:704,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:704,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:706,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:706,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:707,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:708,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:708,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:710,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:710,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:711,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:712,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:712,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:714,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:714,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:715,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:716,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:716,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:718,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:718,1
    - Dst: TestArgsManager::ReadConfigString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:719,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:720,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 721
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_THROW
    - std::make_pair
    - BOOST_CHECK
    - TestArgsManager::ParseParameters
    - TestArgsManager::SetupArgs
    - BOOST_CHECK_EQUAL
    - TestArgsManager::ReadConfigString
    - TestArgsManager::GetChainTypeString
    - TestArgsManager::SelectConfigNetwork
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_GetChainTypeString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEachNoDup
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:759,1
    - Dst: ForEachNoDup
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:761,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:764,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:764,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:764,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:764,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:765,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:765,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:765,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:765,1
    - Dst: fn
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:767,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 775
    functionName: ForEachMergeSetup
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - fn
    - ChainTypeToString
    - ForEachNoDup
    linkageType: ''
    returnType: void
    signature: void ForEachMergeSetup(Fn&& fn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:791,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:791,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:795,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - ' actions'
    - ' section'
    - ' name'
    - ' value_prefix'
    argTypes:
    - ActionList
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 799
    functionName: GetValues
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ToString
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> GetValues(const ActionList& actions,\n        const
      std::string& section,\n        const std::string& name,\n        const std::string&
      value_prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:810,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:811,1
    - Dst: std::system_error
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:812,1
    - Dst: std::generic_category
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:812,1
    - Dst: ForEachMergeSetup
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:815,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:818,1
    - Dst: TestArgsManager::AddArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:826,1
    - Dst: TestArgsManager::SetNetworkOnlyArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:827,1
    - Dst: GetValues
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:829,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:832,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:835,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:835,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:838,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:838,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:838,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:838,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:839,1
    - Dst: GetValues
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:842,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:849,1
    - Dst: TestArgsManager::ReadConfigStream
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:849,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:850,1
    - Dst: TestArgsManager::SoftSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:854,1
    - Dst: TestArgsManager::SoftSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:855,1
    - Dst: TestArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:860,1
    - Dst: TestArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:861,1
    - Dst: TestArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:866,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:868,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:868,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:869,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:869,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:870,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:870,1
    - Dst: TestArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:871,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:873,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:873,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:874,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:874,1
    - Dst: TestArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:876,1
    - Dst: TestArgsManager::GetArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:878,1
    - Dst: TestArgsManager::GetUnsuitableSectionOnlyArgs
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:884,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:885,1
    - Dst: CHash256::Write
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:895,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:895,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:897,1
    - Dst: fwrite
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:897,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:897,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:897,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:897,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:902,1
    - Dst: std::system_error
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:902,1
    - Dst: std::generic_category
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:902,1
    - Dst: CHash256::Finalize
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:907,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:908,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:919,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 806
    functionDepth: 3
    functionLinenumber: 806
    functionLinenumberEnd: 920
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - GetValues
    - std::string::data
    - TestArgsManager::AddArg
    - std::vector::push_back
    - TestArgsManager::ParseParameters
    - BOOST_CHECK_EQUAL
    - TestArgsManager::GetArg
    - MakeUCharSpan
    - TestArgsManager::ForceSetArg
    - BOOST_CHECK
    - BOOST_REQUIRE
    - CHash256::Finalize
    - std::vector::size
    - TestArgsManager::IsArgNegated
    - CHash256::Write
    - TestArgsManager::ReadConfigStream
    - c_str
    - getenv
    - std::system_error
    - TestArgsManager::GetUnsuitableSectionOnlyArgs
    - TestArgsManager::SoftSetArg
    - std::string::size
    - TestArgsManager::IsArgSet
    - std::vector::data
    - ForEachMergeSetup
    - fsbridge::fopen
    - std::set::empty
    - LOCK
    - TestArgsManager::SetNetworkOnlyArg
    - TestArgsManager::GetArgs
    - fwrite
    - fclose
    - std::generic_category
    - HexStr
    - insert
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(util_ArgsMerge, ArgsMergeTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEachNoDup
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:934,1
    - Dst: ForEachNoDup
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:936,1
    - Dst: fn
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 938
    functionName: ForEachMergeSetup
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - fn
    - ForEachNoDup
    linkageType: ''
    returnType: void
    signature: void ForEachMergeSetup(Fn&& fn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:945,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:946,1
    - Dst: std::system_error
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:947,1
    - Dst: std::generic_category
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:947,1
    - Dst: ForEachMergeSetup
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:950,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:952,1
    - Dst: TestArgsManager::AddArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:953,1
    - Dst: TestArgsManager::AddArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:954,1
    - Dst: arg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:966,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:968,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:970,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:973,1
    - Dst: TestArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:973,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:973,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:973,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:974,1
    - Dst: arg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:978,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:986,1
    - Dst: TestArgsManager::ReadConfigStream
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:986,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:987,1
    - Dst: TestArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:991,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:994,1
    - Dst: CHash256::Write
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:998,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:998,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1000,1
    - Dst: fwrite
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1000,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1000,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1000,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1000,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1005,1
    - Dst: std::system_error
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1005,1
    - Dst: std::generic_category
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1005,1
    - Dst: CHash256::Finalize
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1010,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1011,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1022,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 1023
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - TestArgsManager::AddArg
    - std::vector::push_back
    - TestArgsManager::ParseParameters
    - BOOST_CHECK_EQUAL
    - what
    - arg
    - MakeUCharSpan
    - std::vector::back
    - BOOST_CHECK
    - BOOST_REQUIRE
    - CHash256::Finalize
    - std::vector::size
    - CHash256::Write
    - TestArgsManager::ReadConfigStream
    - getenv
    - std::system_error
    - std::string::size
    - std::vector::data
    - ForEachMergeSetup
    - fsbridge::fopen
    - LOCK
    - fwrite
    - TestArgsManager::GetChainTypeString
    - fclose
    - std::generic_category
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(util_ChainMerge, ChainMergeTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1029,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1029,1
    - Dst: TestArgsManager::LockSettings
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1030,1
    - Dst: TestArgsManager::WriteSettingsFile
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1031,1
    - Dst: TestArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1035,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1035,1
    - Dst: TestArgsManager::ReadSettingsFile
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1036,1
    - Dst: TestArgsManager::LockSettings
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1037,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1037,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1037,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1041,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1042,1
    - Dst: TestArgsManager::GetDataDirBase
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1042,1
    - Dst: fs::create_directory
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1043,1
    - Dst: TestArgsManager::GetDataDirBase
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1043,1
    - Dst: TestArgsManager::WriteSettingsFile
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1044,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1045,1
    - Dst: TestArgsManager::GetDataDirBase
      Src: /src/bitcoin-core/src/test/argsman_tests.cpp:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1047
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/argsman_tests.cpp
    functionUses: 1
    functionsReached:
    - TestArgsManager::GetDataDirBase
    - TestArgsManager::WriteSettingsFile
    - fs::PathToString
    - ASSERT_DEBUG_LOG
    - TestArgsManager::ReadSettingsFile
    - TestArgsManager::ForceSetArg
    - wallet::WalletImpl::remove
    - fs::create_directory
    - BOOST_CHECK_EQUAL
    - get_str
    - TestArgsManager::LockSettings
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ReadWriteSettings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:18,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' fmt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: TfmFormatZeroes
    functionSourceFile: /src/bitcoin-core/src/test/util_string_tests.cpp
    functionUses: 0
    functionsReached:
    - tinyformat::detail::FormatArg::format
    - std::apply
    linkageType: ''
    returnType: void
    signature: void TfmFormatZeroes(const std::string& fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:29,1
    - Dst: CheckNumFormatSpecifiers<NumArgs>
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:29,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:35,1
    - Dst: TfmFormatZeroes
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - ConstevalFormatString<NumArgs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: PassFmt
    functionSourceFile: /src/bitcoin-core/src/test/util_string_tests.cpp
    functionUses: 0
    functionsReached:
    - TfmFormatZeroes
    - BOOST_CHECK_NO_THROW
    - CheckNumFormatSpecifiers<NumArgs>
    linkageType: ''
    returnType: void
    signature: void PassFmt(ConstevalFormatString<NumArgs> fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wrong_fmt
    - error
    argTypes:
    - char*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: FailFmtWithError
    functionSourceFile: /src/bitcoin-core/src/test/util_string_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FailFmtWithError(const char* wrong_fmt, std::string_view error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:45,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:46,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:47,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:48,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:49,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:50,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:51,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:52,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:53,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:54,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:55,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:56,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:57,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:58,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:59,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:60,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:61,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:62,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:63,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:64,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:65,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:66,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:67,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:68,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:70,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:71,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:72,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:73,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:75,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:76,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:77,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:78,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:79,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:80,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:81,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:82,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:83,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:84,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:87,1
    - Dst: PassFmt
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:88,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:91,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:92,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:93,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:94,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:95,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:98,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:99,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:100,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:101,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:102,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:103,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:106,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:107,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:108,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:109,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:110,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:111,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:112,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:113,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:116,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:117,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:118,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:119,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:120,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:121,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:122,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:123,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:124,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:125,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:126,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:127,1
    - Dst: FailFmtWithError
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:128,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:132,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:132,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:134,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:134,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:136,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:136,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:143,1
    - Dst: TfmFormatZeroes
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:143,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:145,1
    - Dst: TfmFormatZeroes
      Src: /src/bitcoin-core/src/test/util_string_tests.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 147
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_string_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - tinyformat::detail::FormatArg::format
    - PassFmt
    - FailFmtWithError
    - TfmFormatZeroes
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ConstevalFormatString_NumSpec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:14,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:15,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:16,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:17,1
    - Dst: CScript::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:17,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:20,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:20,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:21,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:21,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:21,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - ToByteVector
    - std::vector::end
    - std::vector::begin
    - BOOST_CHECK
    - std::vector::insert
    - CScript::IsPayToWitnessScriptHash
    - CScript
    - uint256::uint256
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsPayToWitnessScriptHash_Valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:26,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:27,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:28,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:29,1
    - Dst: CScript::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - ToByteVector
    - BOOST_CHECK
    - CScript::IsPayToWitnessScriptHash
    - uint256::uint256
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsPayToWitnessScriptHash_Invalid_NotOp0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:34,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:35,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:37,1
    - Dst: CScript::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - ToByteVector
    - BOOST_CHECK
    - CScript::IsPayToWitnessScriptHash
    - uint160::uint160
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsPayToWitnessScriptHash_Invalid_Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:42,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:43,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:44,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:45,1
    - Dst: CScript::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - ToByteVector
    - BOOST_CHECK
    - CScript::IsPayToWitnessScriptHash
    - uint256::uint256
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsPayToWitnessScriptHash_Invalid_Nop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:50,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:51,1
    - Dst: CScript::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - CScript::IsPayToWitnessScriptHash
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsPayToWitnessScriptHash_Invalid_EmptyScript)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:58,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:59,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:59,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:59,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:59,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:62,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:62,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:63,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:63,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:63,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:63,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:66,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:66,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:67,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:67,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:67,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - std::vector::begin
    - std::vector::insert
    - BOOST_CHECK
    - CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsPayToWitnessScriptHash_Invalid_Pushdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:76,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' script'
    - expectedVersion
    - ' expectedProgram'
    argTypes:
    - CScript
    - int
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: IsExpectedWitnessProgram
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - IsWitnessProgram
    linkageType: ''
    returnType: bool
    signature: bool IsExpectedWitnessProgram(const CScript& script, const int expectedVersion,
      const std::vector<unsigned char>& expectedProgram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: IsNoWitnessProgram
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 0
    functionsReached:
    - IsWitnessProgram
    linkageType: ''
    returnType: bool
    signature: bool IsNoWitnessProgram(const CScript& script)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:76,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' script'
    - expectedVersion
    - ' expectedProgram'
    argTypes:
    - CScript
    - int
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: IsExpectedWitnessProgram
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - IsWitnessProgram
    linkageType: ''
    returnType: bool
    signature: bool IsExpectedWitnessProgram(const CScript& script, const int expectedVersion,
      const std::vector<unsigned char>& expectedProgram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: IsNoWitnessProgram
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 0
    functionsReached:
    - IsWitnessProgram
    linkageType: ''
    returnType: bool
    signature: bool IsNoWitnessProgram(const CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:99,1
    - Dst: IsExpectedWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:99,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:101,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:105,1
    - Dst: IsExpectedWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:105,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:107,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:108,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:108,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:109,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:109,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:109,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:109,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:110,1
    - Dst: IsExpectedWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:110,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:110,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:110,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - std::vector::resize
    - std::vector::begin
    - BOOST_CHECK
    - IsExpectedWitnessProgram
    - std::vector::insert
    - CScript
    - static_cast<unsigned char>
    - std::vector::size
    - CScript::clear
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsWitnessProgram_Valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:118,1
    - Dst: IsNoWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - IsNoWitnessProgram
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsWitnessProgram_Invalid_Version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:124,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:126,1
    - Dst: IsNoWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:126,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:128,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:129,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:131,1
    - Dst: IsNoWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - IsNoWitnessProgram
    - std::vector::resize
    - BOOST_CHECK
    - CScript::clear
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsWitnessProgram_Invalid_Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:139,1
    - Dst: IsNoWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - IsNoWitnessProgram
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsWitnessProgram_Invalid_Nop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:144,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:145,1
    - Dst: IsNoWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - IsNoWitnessProgram
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsWitnessProgram_Invalid_EmptyScript)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:152,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:152,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:153,1
    - Dst: IsNoWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:153,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:153,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:153,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:153,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:156,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:157,1
    - Dst: IsNoWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:157,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:157,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:157,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:157,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:160,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:161,1
    - Dst: IsNoWitnessProgram
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:161,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:161,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:161,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/script_segwit_tests.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_segwit_tests.cpp
    functionUses: 1
    functionsReached:
    - IsNoWitnessProgram
    - std::vector::end
    - std::vector::begin
    - std::vector::insert
    - BOOST_CHECK
    - CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(IsWitnessProgram_Invalid_Pushdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - util::TranslatedLiteral
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: _t
    functionSourceFile: /src/bitcoin-core/src/test/translation_tests.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto _t(util::TranslatedLiteral str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/translation_tests.cpp:24,1
    - Dst: _t
      Src: /src/bitcoin-core/src/test/translation_tests.cpp:24,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/translation_tests.cpp:25,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/translation_tests.cpp:26,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/translation_tests.cpp:29,1
    - Dst: _t
      Src: /src/bitcoin-core/src/test/translation_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/translation_tests.cpp:30,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/translation_tests.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/translation_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - _t
    - strprintf
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(translation_namedparams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp<int32_t>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:32,1
    - Dst: args::GetIntArg
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node_ctx'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: GetCheckRatio
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 0
    functionsReached:
    - std::clamp<int32_t>
    - args::GetIntArg
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetCheckRatio(const NodeContext& node_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:37,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:38,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:38,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:38,1
    - Dst: std::optional::value_or
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ip'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ResolveIP
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 5
    functionsReached:
    - std::optional::value_or
    - std::optional::has_value
    - LookupHost
    - strprintf
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr ResolveIP(const std::string& ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:44,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:45,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:45,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:45,1
    - Dst: std::optional::value_or
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ip'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: ResolveService
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 0
    functionsReached:
    - std::optional::value_or
    - std::optional::has_value
    - strprintf
    - Lookup
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: CService
    signature: CService ResolveService(const std::string& ip, uint16_t port = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:52,1
    - Dst: std::to_integer<uint8_t>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: FromBytes
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::size
    - std::to_integer<uint8_t>
    linkageType: ''
    returnType: std::vector<bool>
    signature: std::vector<bool> FromBytes(std::span<const std::byte> source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:67,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:67,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:69,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:72,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:72,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:73,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:74,1
    - Dst: auto::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:74,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:77,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:78,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:78,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:78,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:79,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:79,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:81,1
    - Dst: auto::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:81,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:86,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:86,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:86,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:87,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:87,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:97,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:97,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:98,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:98,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:101,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:101,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:103,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:103,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:104,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:105,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:106,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 107
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - GetCheckRatio
    - auto::ToStringAddrPort
    - auto::Select
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - auto::Add
    - ResolveService
    - CAddress
    - auto::Size
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:111,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:111,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:113,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:115,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:115,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:118,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:119,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:119,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:119,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:120,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:120,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:122,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:123,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:123,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:123,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:124,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:124,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:126,1
    - Dst: auto::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:126,1
    - Dst: auto::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:126,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:130,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:130,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:131,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:131,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:133,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:134,1
    - Dst: auto::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 135
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - auto::ToStringAddrPort
    - auto::Good
    - auto::Select
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - auto::Add
    - ResolveService
    - CAddress
    - auto::Size
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_ports)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:139,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:140,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:140,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:141,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:141,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:141,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:143,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:146,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:147,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:147,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:147,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:148,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:148,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:150,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:151,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:154,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:154,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:156,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:157,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:157,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:157,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:158,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:158,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:159,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:159,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:162,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:163,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:163,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:163,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:164,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:164,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:167,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:168,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:170,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:170,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:170,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:171,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:171,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:171,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:171,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:174,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:175,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:178,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:178,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:178,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:179,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:179,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:179,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:180,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:180,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:180,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:181,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:181,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:181,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:182,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:182,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:182,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:182,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:183,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:183,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:183,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:186,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:186,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:191,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:191,1
    - Dst: GetPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:191,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:193,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 194
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - auto::Good
    - IsValid
    - auto::Select
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - auto::Add
    - ResolveService
    - CAddress
    - std::set::insert
    - GetPort
    - auto::Size
    - std::make_unique<AddrMan>
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_select)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:198,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:198,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:199,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:199,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:200,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:200,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:200,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:203,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:204,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:205,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:205,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:205,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:207,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:208,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:209,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:209,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:209,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:210,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:210,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:211,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:211,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:211,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:212,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:212,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:212,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:213,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:213,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:213,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:214,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:214,1
    - Dst: CAddress::SetSpecial
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:218,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:219,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:219,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:221,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:221,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:222,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:222,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:223,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:223,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:225,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:225,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:225,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:226,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:226,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:226,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:227,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:227,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:227,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:228,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:228,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:228,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:230,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:230,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:230,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:233,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:233,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:235,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:235,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:235,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:236,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:236,1
    - Dst: CAddress::SetSpecial
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:240,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:241,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:241,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:243,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:243,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:251,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:252,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:260,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 262
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - auto::Good
    - CAddress::SetSpecial
    - IsValid
    - auto::Select
    - BOOST_CHECK
    - ResolveIP
    - BOOST_REQUIRE
    - auto::Add
    - ResolveService
    - CAddress
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_select_by_network)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:267,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:267,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:269,1
    - Dst: CAddress::SetSpecial
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:273,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:274,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:274,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:275,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:275,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:278,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:279,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:279,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:279,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:284,1
    - Dst: auto::Select
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 264
    functionDepth: 5
    functionLinenumber: 264
    functionLinenumberEnd: 285
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - auto::Good
    - CAddress::SetSpecial
    - auto::Select
    - BOOST_CHECK
    - ResolveIP
    - auto::Add
    - ResolveService
    - CAddress
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_select_special)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:289,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:289,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:291,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:295,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:295,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:298,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:298,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:299,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:299,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:299,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:302,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:302,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:306,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:306,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:308,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:308,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:308,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:309,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:309,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:311,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:311,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:312,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:312,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:312,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:313,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 314
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - ToString
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - auto::Add
    - ResolveService
    - CAddress
    - auto::Size
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_new_collisions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:318,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:318,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:319,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:319,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:320,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:325,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:325,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:326,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:327,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:329,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:330,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:331,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:331,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:337,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:337,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:338,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:340,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:342,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:343,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:345,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 316
    functionDepth: 5
    functionLinenumber: 316
    functionLinenumberEnd: 346
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - ToString
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - CAddress
    - ResolveService
    - auto::Add
    - auto::FindAddressEntry
    - auto::Size
    - std::make_unique<AddrMan>
    - Now
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_new_multiplicity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:350,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:350,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:352,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:356,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:356,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:359,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:359,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:360,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:360,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:360,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:363,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:363,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:363,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:368,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:368,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:369,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:369,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:369,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:370,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:370,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:370,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:373,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:373,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:374,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:374,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:374,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:375,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:375,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 348
    functionDepth: 5
    functionLinenumber: 348
    functionLinenumberEnd: 376
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - ToString
    - auto::Good
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - auto::Add
    - ResolveService
    - CAddress
    - auto::Size
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_tried_collisions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:381,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:381,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:385,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:385,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:386,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:387,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:387,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:389,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:389,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:390,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:391,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:391,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:392,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:393,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:393,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:394,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:395,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:395,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:396,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:397,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:397,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:398,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:399,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:400,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:403,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:403,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:404,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:404,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:406,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:406,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:408,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:408,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:411,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:411,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:411,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:412,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:412,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:412,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:413,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:413,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:414,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:414,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:420,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:420,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:421,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:421,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:424,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:425,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:425,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:427,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:429,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:431,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:432,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:433,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:433,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:435,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 379
    functionDepth: 5
    functionLinenumber: 379
    functionLinenumberEnd: 436
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - ToString
    - auto::GetAddr
    - auto::Good
    - Now
    - BOOST_CHECK_EQUAL
    - ResolveIP
    - CAddress
    - ResolveService
    - BOOST_CHECK
    - auto::Add
    - auto::Size
    - std::vector::size
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_getaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:440,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:440,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:443,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:443,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:444,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:446,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:446,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:448,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:449,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:449,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:452,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:452,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:453,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:454,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:454,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:455,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:455,1
    - Dst: auto::Attempt
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:459,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:459,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:463,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:463,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:465,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - auto::GetAddr
    - auto::Good
    - auto::Attempt
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - CAddress
    - ResolveService
    - auto::Add
    - std::make_unique<AddrMan>
    - Now
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(getaddr_unfiltered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:470,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:470,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:471,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:471,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:473,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:476,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:478,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:479,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:481,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:481,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:485,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:485,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:485,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:489,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:491,1
    - Dst: AddrInfo::GetKey
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:491,1
    - Dst: AddrInfo::GetKey
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:491,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:492,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:492,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:492,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:496,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:497,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:497,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:497,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:498,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:498,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:499,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:500,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:504,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:504,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:506,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:508,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:509,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:509,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:509,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:510,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:510,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:511,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:512,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:516,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 468
    functionDepth: 5
    functionLinenumber: 468
    functionLinenumberEnd: 517
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - GetHash
    - AddrInfo::GetTriedBucket
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - CAddress
    - ResolveService
    - AddrInfo
    - std::set::insert
    - std::set::clear
    - AddrInfo::GetKey
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket_legacy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:521,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:521,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:522,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:522,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:524,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:526,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:528,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:529,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:532,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:532,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:533,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:533,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:537,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:537,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:537,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:540,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:541,1
    - Dst: AddrInfo::GetKey
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:541,1
    - Dst: AddrInfo::GetKey
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:541,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:542,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:542,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:542,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:546,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:547,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:547,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:547,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:548,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:548,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:549,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:550,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:554,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:554,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:556,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:558,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:558,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:559,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:560,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:560,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:561,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:562,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:563,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:567,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:567,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:569,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:571,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:572,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:572,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:573,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:573,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:574,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:575,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:579,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 519
    functionDepth: 5
    functionLinenumber: 519
    functionLinenumberEnd: 580
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - GetHash
    - AddrInfo::GetNewBucket
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - CAddress
    - ResolveService
    - AddrInfo
    - std::set::insert
    - std::set::clear
    - AddrInfo::GetKey
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket_legacy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromBytes
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:595,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:598,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:598,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:599,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:599,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:601,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:604,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:606,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:607,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:609,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:609,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:613,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:613,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:613,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:617,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:619,1
    - Dst: AddrInfo::GetKey
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:619,1
    - Dst: AddrInfo::GetKey
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:619,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:620,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:620,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:620,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:624,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:625,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:625,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:625,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:626,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:626,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:627,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:628,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:632,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:632,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:634,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:636,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:637,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:637,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:637,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:638,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:638,1
    - Dst: AddrInfo::GetTriedBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:639,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:640,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:644,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 593
    functionDepth: 5
    functionLinenumber: 593
    functionLinenumberEnd: 645
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - GetHash
    - AddrInfo::GetTriedBucket
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - CAddress
    - ResolveService
    - AddrInfo
    - std::set::insert
    - FromBytes
    - std::set::clear
    - AddrInfo::GetKey
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromBytes
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:649,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:652,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:652,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:653,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:653,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:655,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:657,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:659,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:660,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:663,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:663,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:664,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:664,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:668,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:668,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:668,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:671,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:672,1
    - Dst: AddrInfo::GetKey
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:672,1
    - Dst: AddrInfo::GetKey
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:672,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:673,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:673,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:673,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:677,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:678,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:678,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:678,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:679,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:679,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:680,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:681,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:685,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:685,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:687,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:689,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:689,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:690,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:691,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:691,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:692,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:693,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:694,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:698,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:698,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:700,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:702,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:703,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:703,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:704,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:704,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:705,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:706,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:710,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:710,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:712,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:714,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:715,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:715,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:716,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:716,1
    - Dst: AddrInfo::GetNewBucket
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:717,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:718,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:722,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 647
    functionDepth: 5
    functionLinenumber: 647
    functionLinenumberEnd: 723
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - GetHash
    - AddrInfo::GetNewBucket
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - CAddress
    - ResolveService
    - AddrInfo
    - std::set::insert
    - FromBytes
    - std::set::clear
    - AddrInfo::GetKey
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromBytes
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:727,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:730,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:731,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:732,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:733,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:737,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:737,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:738,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:740,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:746,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:747,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:748,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:749,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:751,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:756,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:757,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:758,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:759,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:762,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:763,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:764,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:768,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:769,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:770,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:771,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:774,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:775,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:776,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:776,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:777,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:777,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:778,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:779,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:780,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:781,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:784,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:785,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:786,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 725
    functionDepth: 5
    functionLinenumber: 725
    functionLinenumberEnd: 788
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - CNetAddr::CNetAddr
    - BOOST_CHECK
    - CAddress
    - ResolveService
    - auto::Add
    - FromBytes
    - auto::FindAddressEntry
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_serialization)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:794,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:794,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:797,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:798,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:799,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:800,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:802,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:803,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:804,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:805,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:805,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:809,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:814,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:815,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:816,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:816,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:817,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:817,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:821,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:822,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:823,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:823,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:824,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:824,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:826,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:826,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:828,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 790
    functionDepth: 5
    functionLinenumber: 790
    functionLinenumberEnd: 829
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - DataStream::size
    - DataStream::data
    - GetCheckRatio
    - auto::Good
    - DataStream::str
    - memcpy
    - BOOST_REQUIRE
    - std::string::find
    - auto::Add
    - ResolveService
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE_EQUAL
    - auto::Size
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(remove_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:833,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:833,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:835,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:835,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:838,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:838,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:838,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:841,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:843,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:843,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:844,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:844,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:844,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:847,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:847,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:848,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:848,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:848,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:854,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:854,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:857,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:857,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:860,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:860,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 831
    functionDepth: 5
    functionLinenumber: 831
    functionLinenumberEnd: 862
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - ToStringAddrPort
    - GetCheckRatio
    - ToString
    - auto::SelectTriedCollision
    - auto::Good
    - BOOST_CHECK
    - ResolveIP
    - auto::Add
    - ResolveService
    - CAddress
    - auto::Size
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_selecttriedcollision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:866,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:866,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:869,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:871,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:871,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:872,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:872,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:872,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:875,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:875,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:879,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:880,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:880,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:880,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:881,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:881,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:882,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:882,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:882,1
    - Dst: auto::ResolveCollisions
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:887,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:888,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:888,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:888,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:892,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:892,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:893,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:893,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:893,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:894,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:894,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:898,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:899,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:899,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:899,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:900,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:900,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:902,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:902,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:902,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:905,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:905,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:905,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:908,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:908,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:909,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:909,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:909,1
    - Dst: auto::ResolveCollisions
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:912,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:913,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:913,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 864
    functionDepth: 5
    functionLinenumber: 864
    functionLinenumberEnd: 914
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - ToStringAddrPort
    - ToString
    - GetCheckRatio
    - auto::SelectTriedCollision
    - auto::Good
    - auto::ResolveCollisions
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - auto::Add
    - ResolveService
    - CAddress
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_noevict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:918,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:918,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:920,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:920,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:923,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:923,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:923,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:926,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:928,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:928,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:929,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:929,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:929,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:932,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:932,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:936,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:937,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:937,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:937,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:938,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:938,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:940,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:941,1
    - Dst: auto::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:941,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:945,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:945,1
    - Dst: auto::Attempt
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:946,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:946,1
    - Dst: auto::ResolveCollisions
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:949,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:950,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:950,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:950,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:951,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:951,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:952,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:958,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:958,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:959,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:959,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:959,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:963,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:964,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:964,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:965,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:965,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:965,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:968,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:968,1
    - Dst: auto::ResolveCollisions
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:969,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:970,1
    - Dst: auto::SelectTriedCollision
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:970,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:970,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:972,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:972,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:973,1
    - Dst: auto::FindAddressEntry
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:974,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:974,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 916
    functionDepth: 5
    functionLinenumber: 916
    functionLinenumberEnd: 976
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - auto::SelectTriedCollision
    - BOOST_CHECK_EQUAL
    - auto::Size
    - GetTime
    - ToStringAddrPort
    - ToString
    - SetMockTime
    - auto::Attempt
    - auto::ResolveCollisions
    - BOOST_CHECK
    - auto::FindAddressEntry
    - Now
    - auto::ToStringAddrPort
    - auto::Good
    - ResolveService
    - std::make_unique<AddrMan>
    - ResolveIP
    - auto::Add
    - CAddress
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_evictionworks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' addrman'
    argTypes:
    - AddrMan
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 984
    functionName: AddrmanToStream
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 0
    functionsReached:
    - Params
    linkageType: ''
    returnType: auto
    signature: auto AddrmanToStream(const AddrMan& addrman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:988,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:991,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:992,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:992,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:993,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:994,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:994,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:995,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:996,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:996,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:997,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:998,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:998,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:999,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1000,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1000,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1003,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1004,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1004,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1005,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1005,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1005,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1005,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1005,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1005,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1006,1
    - Dst: AddrMan::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1006,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1006,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1007,1
    - Dst: AddrMan::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1007,1
    - Dst: AddrmanToStream
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1010,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1012,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1014,1
    - Dst: AddrMan::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1014,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1023,1
    - Dst: AddrMan::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1023,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1024,1
    - Dst: AddrmanToStream
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1027,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1029,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1030,1
    - Dst: AddrMan::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1030,1
    - Dst: ReadFromStream
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1031,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1032,1
    - Dst: AddrMan::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 986
    functionDepth: 4
    functionLinenumber: 986
    functionLinenumberEnd: 1033
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - GetCheckRatio
    - std::optional::has_value
    - ReadFromStream
    - AddrMan::Size
    - AddrMan::Add
    - BOOST_CHECK
    - std::optional::value
    - AddrmanToStream
    - CAddress
    - has_value
    - Lookup
    - value
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(load_addrman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GCSFilter::Params
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1039,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1051,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1052,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1052,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1053,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1053,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1054,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1055,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1055,1
    - Dst: AddrInfo
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1056,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1056,1
    - Dst: CAddress::V1_DISK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1036
    functionDepth: 4
    functionLinenumber: 1036
    functionLinenumberEnd: 1060
    functionName: MakeCorruptPeersDat
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 0
    functionsReached:
    - std::optional::has_value
    - LookupHost
    - Lookup
    - BOOST_REQUIRE
    - std::optional::value
    - CAddress
    - AddrInfo
    - GCSFilter::Params
    - CAddress::V1_DISK
    linkageType: ''
    returnType: auto
    signature: auto MakeCorruptPeersDat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeCorruptPeersDat
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1065,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1067,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1068,1
    - Dst: AddrMan::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1068,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1076,1
    - Dst: MakeCorruptPeersDat
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1079,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1081,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1082,1
    - Dst: AddrMan::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1082,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1083,1
    - Dst: ReadFromStream
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1062
    functionDepth: 5
    functionLinenumber: 1062
    functionLinenumberEnd: 1084
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_THROW
    - GetCheckRatio
    - MakeCorruptPeersDat
    - ReadFromStream
    - AddrMan::Size
    - BOOST_CHECK
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(load_addrman_corrupted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1089,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1089,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1090,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1091,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1091,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1093,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1095,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1095,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1096,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1096,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1099,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1099,1
    - Dst: auto::Connected
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1101,1
    - Dst: auto::SetServices
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1102,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1104,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1105,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1105,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1106,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1106,1
    - Dst: auto::Connected
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1109,1
    - Dst: auto::SetServices
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1110,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1112,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1113,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1113,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1114,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1114,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1117,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1117,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1119,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1119,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1120,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1121,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1121,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1122,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1122,1
    - Dst: auto::SetServices
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1125,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1126,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1127,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1127,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1128,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1128,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1131,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1131,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1132,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1133,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1133,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1134,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1134,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1137,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1137,1
    - Dst: auto::GetAddr
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1138,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1139,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1139,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1140,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1086
    functionDepth: 5
    functionLinenumber: 1086
    functionLinenumberEnd: 1141
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::at
    - GetCheckRatio
    - auto::GetAddr
    - auto::Good
    - auto::SetServices
    - Now
    - ResolveIP
    - BOOST_CHECK
    - CAddress
    - ResolveService
    - auto::Add
    - BOOST_CHECK_EQUAL
    - auto::Size
    - std::vector::size
    - std::make_unique<AddrMan>
    - auto::Connected
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_update_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1145,1
    - Dst: GetCheckRatio
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1145,1
    - Dst: ResolveIP
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1146,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1149,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1149,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1150,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1150,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1151,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1151,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1152,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1152,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1156,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1157,1
    - Dst: auto::Good
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1157,1
    - Dst: ResolveService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1158,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1159,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1159,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1161,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1161,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1162,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1162,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1163,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1163,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1164,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1164,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1165,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1165,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1166,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1166,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1169,1
    - Dst: CService::SetSpecial
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1170,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1172,1
    - Dst: auto::Add
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1172,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1173,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1173,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1174,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1174,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1175,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1175,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1176,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1176,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1177,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1177,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1178,1
    - Dst: auto::Size
      Src: /src/bitcoin-core/src/test/addrman_tests.cpp:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1143
    functionDepth: 5
    functionLinenumber: 1143
    functionLinenumberEnd: 1179
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/addrman_tests.cpp
    functionUses: 1
    functionsReached:
    - CService::CService
    - GetCheckRatio
    - CService::SetSpecial
    - auto::Good
    - BOOST_CHECK
    - ResolveIP
    - BOOST_CHECK_EQUAL
    - auto::Add
    - ResolveService
    - auto::Size
    - std::make_unique<AddrMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(addrman_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:45,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:45,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:50,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:52,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:53,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:53,1
    - Dst: IsSnapshotValidated
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:53,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:55,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:55,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:55,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:55,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:55,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:57,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:57,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:57,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:58,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:61,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:62,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:62,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:62,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:62,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:63,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:63,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:63,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:64,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:65,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:67,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:67,1
    - Dst: auto::GetBlockHash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:71,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:72,1
    - Dst: ActivateExistingSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:72,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:73,1
    - Dst: InitCoinsDB
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:74,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:77,1
    - Dst: InitCoinsCache
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:78,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:79,1
    - Dst: auto::GetBlockHash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:79,1
    - Dst: setBlockIndexCandidates::insert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:80,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:80,1
    - Dst: auto::GetBlockHash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:80,1
    - Dst: LoadChainTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:84,1
    - Dst: ActivateBestChain
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:84,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:86,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:86,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:87,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:88,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:88,1
    - Dst: IsSnapshotValidated
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:88,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:89,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:90,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:90,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:91,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:92,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:92,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:92,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:92,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:92,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:94,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:94,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:94,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:95,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:97,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:97,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:97,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:97,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:99,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:99,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:99,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:99,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:100,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:100,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:100,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:100,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:102,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:102,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:102,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:104,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:104,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:105,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:105,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 109
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - auto::GetBlockHash
    - SnapshotBlockhash
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - IsSnapshotValidated
    - validation_signals::SyncWithValidationInterfaceQueue
    - InitCoinsDB
    - auto::begin
    - std::vector::end
    - IsSnapshotActive
    - BOOST_CHECK
    - m_chain::Height
    - m_chain::Tip
    - LoadChainTip
    - WITH_LOCK
    - setBlockIndexCandidates::insert
    - m_blockman::LookupBlockIndex
    - ActiveChain
    - ActivateExistingSnapshot
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - GetMutex
    - ActiveHeight
    - GetAll
    - std::vector::begin
    - LOCK
    - InitCoinsCache
    - ActiveChainstate
    - ActiveTip
    - mineBlocks
    - ActivateBestChain
    - auto::end
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstatemanager, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:124,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:125,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:127,1
    - Dst: InitCoinsCache
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:128,1
    - Dst: MaybeRebalanceCaches
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:129,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:132,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:133,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:137,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:137,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:137,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:137,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:138,1
    - Dst: ActivateExistingSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:138,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:139,1
    - Dst: InitCoinsDB
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:140,1
    - Dst: static_cast<TestChainstateManager&>
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:150,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:153,1
    - Dst: InitCoinsCache
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:154,1
    - Dst: MaybeRebalanceCaches
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:155,1
    - Dst: BOOST_CHECK_CLOSE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:158,1
    - Dst: BOOST_CHECK_CLOSE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:159,1
    - Dst: BOOST_CHECK_CLOSE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:160,1
    - Dst: BOOST_CHECK_CLOSE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 162
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<TestChainstateManager&>
    - GetMutex
    - MaybeRebalanceCaches
    - WITH_LOCK
    - std::vector::push_back
    - LOCK
    - InitCoinsCache
    - ActiveChainstate
    - BOOST_CHECK_EQUAL
    - ActiveChain
    - InitCoinsDB
    - ActivateExistingSnapshot
    - BOOST_CHECK_CLOSE
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstatemanager_rebalance_caches, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: SnapshotTestSetup
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapshotTestSetup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:183,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:185,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:185,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:188,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:189,1
    - Dst: IsSnapshotValidated
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:189,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:190,1
    - Dst: node::FindSnapshotChainstateDir
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:190,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:198,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:199,1
    - Dst: GetCacheSize
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:200,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:204,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:205,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:205,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:209,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:210,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:213,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:216,1
    - Dst: CreateAndActivateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:216,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:217,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:217,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:218,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:218,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:223,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:228,1
    - Dst: CreateAndActivateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:228,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:236,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:238,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:239,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:243,1
    - Dst: node::FindSnapshotChainstateDir
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:243,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:245,1
    - Dst: CreateAndActivateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:245,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:250,1
    - Dst: CreateAndActivateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:250,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:255,1
    - Dst: CreateAndActivateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:255,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:260,1
    - Dst: CreateAndActivateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:260,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:266,1
    - Dst: CreateAndActivateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:266,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:267,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:267,1
    - Dst: node::FindSnapshotChainstateDir
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:270,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:270,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:270,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:271,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:272,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:273,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:275,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:278,1
    - Dst: node::FindSnapshotChainstateDir
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:280,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:283,1
    - Dst: node::ReadSnapshotBaseBlockhash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:284,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:285,1
    - Dst: GCSFilter::Params
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:288,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:289,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:289,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:289,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:291,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:294,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:300,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:303,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:304,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:304,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:305,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:308,1
    - Dst: GetCacheSize
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:308,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:313,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:314,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:314,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:318,1
    - Dst: GetCacheSize
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:318,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:319,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:323,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:328,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:331,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:336,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:337,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:337,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:338,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:339,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:342,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:343,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:351,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:352,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:353,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:357,1
    - Dst: CreateAndActivateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:357,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:360,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:361,1
    - Dst: std::make_tuple
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 364
    functionName: SetupSnapshot
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - SnapshotBlockhash
    - GetHash
    - fs::exists
    - BOOST_CHECK_EQUAL
    - IsSnapshotValidated
    - GCSFilter::Params
    - Coin::Coin
    - ToString
    - IsSnapshotActive
    - BOOST_CHECK
    - BOOST_REQUIRE
    - ReadCompactSize
    - GetCacheSize
    - node::FindSnapshotChainstateDir
    - WITH_LOCK
    - std::make_tuple
    - Assert
    - IsNull
    - GetMutex
    - BOOST_TEST_MESSAGE
    - CreateAndActivateUTXOSnapshot
    - GetAll
    - LOCK
    - ActiveChainstate
    - ActiveTip
    - mineBlocks
    - HaveCoin
    - node::ReadSnapshotBaseBlockhash
    linkageType: ''
    returnType: std::tuple<Chainstate*, Chainstate*>
    signature: std::tuple<Chainstate*, Chainstate*> SetupSnapshot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:372,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:374,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:376,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:377,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:378,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:381,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:382,1
    - Dst: ResetChainstates
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:383,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:384,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:384,1
    - Dst: std::make_unique<KernelNotifications>
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:385,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:385,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:385,1
    - Dst: GCSFilter::Params
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:387,1
    - Dst: validation_signals::get
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:390,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:394,1
    - Dst: chainman::reset
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:404,1
    - Dst: std::make_unique<ChainstateManager>
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:405,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:405,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 408
    functionName: '& SimulateNodeRestart()'
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ChainstateManager>
    - ForceFlushStateToDisk
    - GetBlocksDirPath
    - BOOST_TEST_MESSAGE
    - validation_signals::get
    - std::make_unique<KernelNotifications>
    - GetAll
    - validation_signals::SyncWithValidationInterfaceQueue
    - LOCK
    - BOOST_CHECK_EQUAL
    - Assert
    - chainman::reset
    - ResetChainstates
    - GCSFilter::Params
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & SimulateNodeRestart()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 4
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - SetupSnapshot
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstatemanager_activate_snapshot, SnapshotTestSetup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:429,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:430,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:441,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:445,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:445,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:445,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:446,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:453,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:454,1
    - Dst: ClearBlockIndexCandidates
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:455,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:456,1
    - Dst: setBlockIndexCandidates::empty
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:456,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:459,1
    - Dst: LoadBlockIndex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:459,1
    - Dst: reload_all_block_indexes
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:464,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:465,1
    - Dst: setBlockIndexCandidates::size
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:465,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:468,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:469,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:492,1
    - Dst: ActivateExistingSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:493,1
    - Dst: m_chain::SetTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:496,1
    - Dst: m_chain::SetTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:499,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:502,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:503,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:504,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:505,1
    - Dst: reload_all_block_indexes
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:509,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:531,1
    - Dst: setBlockIndexCandidates::size
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:531,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:532,1
    - Dst: setBlockIndexCandidates::count
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:532,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:533,1
    - Dst: setBlockIndexCandidates::count
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:533,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:549,1
    - Dst: setBlockIndexCandidates::count
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:549,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:551,1
    - Dst: setBlockIndexCandidates::count
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:551,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:553,1
    - Dst: setBlockIndexCandidates::count
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:553,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:555,1
    - Dst: setBlockIndexCandidates::count
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:555,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:557,1
    - Dst: setBlockIndexCandidates::size
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 558
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - reload_all_block_indexes
    - BOOST_CHECK_EQUAL
    - LoadBlockIndex
    - BOOST_CHECK
    - m_chain::Height
    - m_chain::SetTip
    - setBlockIndexCandidates::count
    - WITH_LOCK
    - ActiveChain
    - Assert
    - setBlockIndexCandidates::size
    - ActivateExistingSnapshot
    - setBlockIndexCandidates::empty
    - GetMutex
    - GetAll
    - LOCK
    - ActiveChainstate
    - mineBlocks
    - ClearBlockIndexCandidates
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstatemanager_loadblockindex, TestChain100Setup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:563,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:564,1
    - Dst: SetupSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:566,1
    - Dst: node::FindSnapshotChainstateDir
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:568,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:569,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:569,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:570,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:570,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:572,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:572,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:573,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:573,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:574,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:576,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:577,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:577,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:587,1
    - Dst: MempoolMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:587,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:588,1
    - Dst: DisconnectTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:588,1
    - Dst: DisconnectedBlockTransactions::clear
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:589,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:591,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:591,1
    - Dst: SimulateNodeRestart
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:596,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:598,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:601,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:604,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:604,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:605,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:605,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:606,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:606,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:607,1
    - Dst: IsSnapshotValidated
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:607,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:609,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:609,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:610,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:610,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:613,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:615,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:617,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:617,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:618,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:618,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:622,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:623,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:624,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 628
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - LOCK2
    - fs::exists
    - BOOST_CHECK_EQUAL
    - IsSnapshotValidated
    - DisconnectTip
    - IsSnapshotActive
    - BOOST_CHECK
    - LoadVerifyActivateChainstate
    - m_chain::Height
    - DisconnectedBlockTransactions::clear
    - node::FindSnapshotChainstateDir
    - WITH_LOCK
    - Assert
    - SimulateNodeRestart
    - GetMutex
    - SetupSnapshot
    - BOOST_TEST_MESSAGE
    - ActiveHeight
    - GetAll
    - GetDataDirNet
    - LOCK
    - ActiveChainstate
    - ActiveTip
    - mineBlocks
    - MempoolMutex
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstatemanager_snapshot_init, SnapshotTestSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:632,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:634,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:635,1
    - Dst: node::FindSnapshotChainstateDir
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:642,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:643,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:643,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:644,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:644,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:646,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:646,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:647,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:647,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:648,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:650,1
    - Dst: MaybeCompleteSnapshotValidation
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:650,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:651,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:653,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:653,1
    - Dst: IsSnapshotValidated
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:653,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:654,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:654,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:658,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:659,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:661,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:662,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:662,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:663,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:666,1
    - Dst: MaybeCompleteSnapshotValidation
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:666,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:667,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:670,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:671,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:671,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:673,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:673,1
    - Dst: SimulateNodeRestart
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:678,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:680,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:684,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:686,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:686,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:688,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:688,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:690,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:693,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:693,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:694,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:694,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:695,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:695,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:696,1
    - Dst: IsSnapshotValidated
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:696,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:697,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:698,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:700,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:700,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:701,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:701,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:704,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:706,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:708,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:708,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:709,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 711
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - fs::exists
    - BOOST_CHECK_EQUAL
    - IsSnapshotValidated
    - MaybeCompleteSnapshotValidation
    - IsSnapshotActive
    - BOOST_CHECK
    - LoadVerifyActivateChainstate
    - node::FindSnapshotChainstateDir
    - WITH_LOCK
    - Assert
    - SimulateNodeRestart
    - GetMutex
    - SetupSnapshot
    - BOOST_TEST_MESSAGE
    - ActiveHeight
    - GetAll
    - GetDataDirNet
    - LOCK
    - ActiveChainstate
    - ActiveTip
    - mineBlocks
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstatemanager_snapshot_completion,
      SnapshotTestSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:715,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:716,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:717,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:723,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:724,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:725,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:726,1
    - Dst: Coin::out::scriptPubKey::assign
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:728,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:728,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:729,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:729,1
    - Dst: AddCoin
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:730,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:730,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:730,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:732,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:733,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:733,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:736,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:737,1
    - Dst: MaybeCompleteSnapshotValidation
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:737,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:738,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:741,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:742,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:742,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:743,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:744,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:744,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:746,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:747,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:747,1
    - Dst: SimulateNodeRestart
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:752,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:754,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:758,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:760,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:760,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:761,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:761,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:764,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:765,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:765,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:766,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:766,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:767,1
    - Dst: IsSnapshotValidated
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:767,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:768,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:768,1
    - Dst: BOOST_TEST_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:771,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:773,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:775,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:776,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 713
    functionDepth: 4
    functionLinenumber: 713
    functionLinenumberEnd: 778
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoinsTip
    - rand32
    - fs::exists
    - std::move
    - BOOST_CHECK_EQUAL
    - IsSnapshotValidated
    - MaybeCompleteSnapshotValidation
    - AddCoin
    - Coin::Coin
    - randbits
    - IsSnapshotActive
    - BOOST_CHECK
    - LoadVerifyActivateChainstate
    - ASSERT_DEBUG_LOG
    - Coin::out::scriptPubKey::assign
    - WITH_LOCK
    - COutPoint
    - transaction_identifier::FromUint256
    - Assert
    - SimulateNodeRestart
    - rand256
    - SetupSnapshot
    - BOOST_TEST_MESSAGE
    - ActiveHeight
    - GetAll
    - GetDataDirNet
    - LOCK
    - ActiveChainstate
    - mineBlocks
    - std::get<0>
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstatemanager_snapshot_completion_hash_mismatch,
      SnapshotTestSetup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:785,1
    - Dst: ParseParameters
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:787,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:787,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:787,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:788,1
    - Dst: node::ApplyArgsManOptions
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:790,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' args_man'
    - opts
    - ' args'
    argTypes:
    - ArgsManager
    - Options
    - std::vector<const char*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 793
    functionName: SetOptsFromArgs
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - util::ErrorString
    - ParseParameters
    - auto::data
    - node::ApplyArgsManOptions
    - Untranslated
    - Cat
    linkageType: ''
    returnType: util::Result<Options>
    signature: "util::Result<Options> SetOptsFromArgs(ArgsManager& args_man, Options
      opts,\n                                      const std::vector<const char*>&
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GCSFilter::Params
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:801,1
    - Dst: SetOptsFromArgs
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:804,1
    - Dst: get_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:808,1
    - Dst: BOOST_REQUIRE_MESSAGE
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:809,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:809,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:814,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:814,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:815,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:815,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:816,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:816,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:817,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:817,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:818,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:818,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:821,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:821,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:821,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:821,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:823,1
    - Dst: get_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:823,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:824,1
    - Dst: get_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:824,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:827,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:827,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:828,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:828,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:828,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:829,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:829,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:829,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:830,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:830,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:833,1
    - Dst: get_valid_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:833,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:833,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:833,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:833,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:835,1
    - Dst: get_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:835,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:836,1
    - Dst: get_opts
      Src: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 795
    functionDepth: 3
    functionLinenumber: 795
    functionLinenumberEnd: 837
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstatemanager_tests.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    - get_valid_opts
    - get_opts
    - arith_uint256
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - SetOptsFromArgs
    - UintToArith256
    - uint256::FromHex
    - GCSFilter::Params
    - c_str
    - BOOST_REQUIRE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstatemanager_args, BasicTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/sanity_tests.cpp:14,1
    - Dst: ECC_InitSanityCheck
      Src: /src/bitcoin-core/src/test/sanity_tests.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 5
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sanity_tests.cpp
    functionUses: 1
    functionsReached:
    - ECC_InitSanityCheck
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(basic_sanity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: BlockChecked
    functionSourceFile: /src/bitcoin-core/src/test/validationinterface_tests.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockChecked(const CBlock&, const BlockValidationState&) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:28,1
    - Dst: validation_signals::BlockChecked
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:31,1
    - Dst: std::make_shared<TestSubscriberNoop>
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:39,1
    - Dst: validation_signals::RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:40,1
    - Dst: validation_signals::UnregisterSharedValidationInterface
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:41,1
    - Dst: std::thread::join
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:47,1
    - Dst: auto::join
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validationinterface_tests.cpp
    functionUses: 1
    functionsReached:
    - validation_signals::RegisterSharedValidationInterface
    - std::thread::join
    - validation_signals::BlockChecked
    - validation_signals::UnregisterSharedValidationInterface
    - BOOST_CHECK
    - CBlock::CBlock
    - std::make_shared<TestSubscriberNoop>
    - auto::join
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(unregister_validation_interface_race)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:56,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' signals'
    argTypes:
    - ValidationSignals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: TestInterface::TestInterface
    functionSourceFile: /src/bitcoin-core/src/test/validationinterface_tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TestInterface(ValidationSignals& signals, std::function<void()>
      on_call = nullptr, std::function<void()> on_destroy = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_on_destroy
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: ~TestInterface()
    functionSourceFile: /src/bitcoin-core/src/test/validationinterface_tests.cpp
    functionUses: 0
    functionsReached:
    - m_on_destroy
    linkageType: ''
    returnType: void
    signature: void ~TestInterface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_on_call
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' block'
    - ' state'
    argTypes:
    - CBlock
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: TestInterface::BlockChecked
    functionSourceFile: /src/bitcoin-core/src/test/validationinterface_tests.cpp
    functionUses: 0
    functionsReached:
    - m_on_call
    linkageType: ''
    returnType: void
    signature: void BlockChecked(const CBlock& block, const BlockValidationState&
      state) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:69,1
    - Dst: TestInterface::BlockChecked
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: TestInterface::Call
    functionSourceFile: /src/bitcoin-core/src/test/validationinterface_tests.cpp
    functionUses: 0
    functionsReached:
    - CBlock::CBlock
    - TestInterface::BlockChecked
    linkageType: ''
    returnType: void
    signature: void Call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<TestInterface>
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:84,1
    - Dst: validation_signals::UnregisterAllValidationInterfaces
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:89,1
    - Dst: validation_signals::UnregisterAllValidationInterfaces
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:92,1
    - Dst: validation_signals::RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:95,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:96,1
    - Dst: auto::use_count
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:96,1
    - Dst: auto::Call
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:98,1
    - Dst: auto::use_count
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:99,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:100,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validationinterface_tests.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 102
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validationinterface_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::Call
    - validation_signals::RegisterSharedValidationInterface
    - auto::use_count
    - auto::reset
    - BOOST_CHECK
    - validation_signals::UnregisterAllValidationInterfaces
    - std::make_shared<TestInterface>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(unregister_all_during_call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:24,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:25,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: JSON
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 10
    functionsReached:
    - BOOST_CHECK
    - UniValue::UniValue
    - UniValue::read
    linkageType: ''
    returnType: UniValue
    signature: UniValue JSON(std::string_view json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: HasJSON::HasJSON
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HasJSON(std::string json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: operator()(const UniValue& value) const
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - write
    linkageType: ''
    returnType: bool
    signature: bool operator()(const UniValue& value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:53,1
    - Dst: CRPCTable::CRPCTable
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:54,1
    - Dst: CRPCTable::appendCommand
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:56,1
    - Dst: RPCIsInWarmup
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:60,1
    - Dst: SetRPCWarmupFinished
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:60,1
    - Dst: CRPCTable::execute
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' params'
    - arg_names
    argTypes:
    - UniValue
    - std::vector<std::pair<std::string, bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: RPCTestingSetup::TransformParams
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 0
    functionsReached:
    - CRPCTable::appendCommand
    - UniValue::UniValue
    - CRPCTable::CRPCTable
    - RPCIsInWarmup
    - SetRPCWarmupFinished
    - CRPCTable::execute
    linkageType: ''
    returnType: UniValue
    signature: UniValue RPCTestingSetup::TransformParams(const UniValue& params, std::vector<std::pair<std::string,
      bool>> arg_names) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:67,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:69,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:69,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:73,1
    - Dst: RPCIsInWarmup
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:74,1
    - Dst: SetRPCWarmupFinished
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:74,1
    - Dst: execute
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:76,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:80,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: RPCTestingSetup::CallRPC
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::erase
    - find_value
    - std::runtime_error
    - execute
    - std::vector::begin
    - RPCIsInWarmup
    - SetRPCWarmupFinished
    - RPCConvertValues
    - SplitString
    linkageType: ''
    returnType: UniValue
    signature: UniValue RPCTestingSetup::CallRPC(std::string args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:92,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:92,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:92,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:95,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:95,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:95,1
    - Dst: HasJSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:99,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:99,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:99,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:102,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:102,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:102,1
    - Dst: HasJSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:103,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:106,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:106,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:106,1
    - Dst: HasJSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:107,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:110,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:110,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:110,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:111,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:111,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 112
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - TransformParams
    - BOOST_CHECK_EQUAL
    - HasJSON
    - JSON
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_namedparams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:119,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:119,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:119,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:122,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:122,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:122,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:125,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:125,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:125,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:128,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:128,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:128,1
    - Dst: HasJSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:129,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:132,1
    - Dst: TransformParams
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:132,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:132,1
    - Dst: HasJSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - TransformParams
    - BOOST_CHECK_EQUAL
    - HasJSON
    - JSON
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_namedonlyparams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:139,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:141,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:141,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:142,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:142,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:143,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:143,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:145,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:145,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:146,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:146,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:147,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:147,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:148,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:148,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:149,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:149,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:150,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:150,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:152,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:152,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:153,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:153,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:154,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:154,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:156,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:156,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:156,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:157,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:157,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:158,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:158,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:159,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:159,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:160,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:160,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:160,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:161,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:161,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:161,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:162,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:162,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:162,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:165,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:165,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:166,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:166,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:167,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:167,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:168,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:168,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 169
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_THROW
    - UniValue::UniValue
    - std::string
    - UniValue::get_obj
    - BOOST_CHECK_EQUAL
    - BOOST_CHECK_NO_THROW
    - CallRPC
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_rawparams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:173,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:175,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:176,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:177,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:179,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:179,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:180,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:181,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:182,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:184,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:185,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:187,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:187,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:188,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:189,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 191
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - UniValue::UniValue
    - UniValue::get_obj
    - BOOST_CHECK_EQUAL
    - CallRPC
    - BOOST_CHECK_NO_THROW
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_togglenetwork)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:195,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:201,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:201,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:203,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:206,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:207,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:207,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:208,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:209,1
    - Dst: UniValue::get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - UniValue::UniValue
    - std::string
    - BOOST_CHECK
    - UniValue::get_obj
    - UniValue::get_str
    - CallRPC
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_rawsign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:214,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:214,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:217,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:217,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:220,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:220,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:221,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:221,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:224,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 225
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - CallRPC
    - BOOST_CHECK_THROW
    - BOOST_CHECK_NO_THROW
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_createraw_op_return)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:229,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:229,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:230,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:230,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:231,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:231,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:232,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:232,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:233,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:233,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:234,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:235,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:235,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:236,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:236,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:238,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:238,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:239,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:239,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:240,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:240,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:241,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:241,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:243,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:243,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:244,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:244,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:245,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:245,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:246,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:246,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:247,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:247,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:248,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:248,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:249,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:249,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:250,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:250,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:251,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:251,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:252,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:252,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:253,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:253,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:254,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:254,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:255,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:255,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:256,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:256,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:257,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:257,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:258,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:258,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:259,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:259,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:261,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:261,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:261,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:262,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:262,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:262,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:263,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:263,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:263,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:264,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:264,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:264,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:266,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:266,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:266,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:267,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:267,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:267,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:268,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:268,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:268,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:269,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:269,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 270
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - RandomMixin::min
    - ValueFromAmount
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_format_monetary_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:274,1
    - Dst: UniValue::setNumStr
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: ValueFromString
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 0
    functionsReached:
    - UniValue::setNumStr
    - UniValue::UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue ValueFromString(const std::string& str) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:281,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:281,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:281,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:282,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:282,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:282,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:283,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:283,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:283,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:284,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:284,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:284,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:285,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:285,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:285,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:286,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:286,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:286,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:287,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:287,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:287,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:288,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:288,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:288,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:289,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:289,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:289,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:290,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:290,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:290,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:291,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:291,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:291,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:293,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:293,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:293,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:294,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:294,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:294,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:295,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:295,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:295,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:296,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:296,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:296,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:297,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:297,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:297,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:298,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:298,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:298,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:299,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:299,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:299,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:301,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:301,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:301,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:302,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:302,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:302,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:303,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:303,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:303,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:304,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:304,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:304,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:305,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:305,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:305,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:306,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:306,1
    - Dst: HasJSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:306,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:308,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:308,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:308,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:309,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:309,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:309,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:310,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:310,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:310,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:311,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:311,1
    - Dst: ValueFromString
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 279
    functionDepth: 6
    functionLinenumber: 279
    functionLinenumberEnd: 312
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - BOOST_CHECK_THROW
    - AmountFromValue
    - BOOST_CHECK_EQUAL
    - ValueFromString
    - HasJSON
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_parse_monetary_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:316,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:316,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:316,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:318,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:319,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:319,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:319,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:320,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:320,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:320,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:321,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:321,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:321,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:322,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:323,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:324,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:325,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:325,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:326,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:326,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:326,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:327,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:327,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:327,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:328,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:329,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:329,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:331,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:331,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:331,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:332,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:332,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:332,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:333,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:334,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:335,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:336,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:337,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:337,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:338,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:340,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:340,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:340,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:343,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:344,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:344,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:344,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:345,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:347,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:347,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:347,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:348,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:349,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:350,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:351,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:352,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:353,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:354,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:355,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:355,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:356,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:356,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:357,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:358,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:361,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:361,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:361,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:363,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:363,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:363,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:364,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:364,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:364,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:365,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:366,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:366,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:368,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:368,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:368,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:369,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:369,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:369,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:371,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:371,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:371,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:372,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:372,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:372,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:373,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:374,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:374,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:377,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:377,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:377,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:380,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:380,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:380,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:381,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:381,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:381,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:382,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:383,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:384,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:385,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:385,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:387,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:387,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:387,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:388,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:388,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:388,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:389,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:389,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:389,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:390,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:391,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:392,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:393,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:393,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:395,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:395,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:395,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:396,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:396,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:396,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:397,1
    - Dst: CallRPC
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:397,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:397,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:398,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:399,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:400,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:401,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 402
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_THROW
    - SetMockTime
    - UniValue::UniValue
    - std::string
    - UniValue::get_array
    - BOOST_CHECK_EQUAL
    - UniValue::get_str
    - UniValue::find_value
    - CallRPC
    - BOOST_CHECK_NO_THROW
    - auto::count
    - get_obj
    - UniValue::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_ban)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:406,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:408,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:408,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:409,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:409,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:410,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:410,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:412,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:412,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:413,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:413,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:414,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:414,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:416,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:416,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:417,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:417,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:418,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:418,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:419,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:419,1
    - Dst: BOOST_CHECK_NO_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:421,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:421,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:422,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:422,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:423,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:423,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:424,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 425
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - UniValue::UniValue
    - RPCConvertValues
    - BOOST_CHECK_EQUAL
    - BOOST_CHECK_NO_THROW
    - get_str
    - getInt
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_convert_values_generatetoaddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:431,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:435,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:439,1
    - Dst: CalculatePercentilesByWeight
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:442,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:443,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:444,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:445,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:446,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:447,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:452,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:454,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:455,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:456,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:457,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:458,1
    - Dst: CalculatePercentilesByWeight
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:460,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:462,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:463,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:464,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:465,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:466,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:471,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:473,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:474,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:475,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:476,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:477,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:478,1
    - Dst: CalculatePercentilesByWeight
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:480,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:482,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:483,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:484,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:485,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:486,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:491,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:494,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:495,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:496,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:497,1
    - Dst: CalculatePercentilesByWeight
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:499,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 504
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - std::vector::reserve
    - BOOST_CHECK_EQUAL
    - std::vector::clear
    - CalculatePercentilesByWeight
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_getblockstats_calculate_percentiles_by_weight)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:513,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:513,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:513,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:513,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:513,1
    - Dst: push_options
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:516,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:517,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:517,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:519,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:519,1
    - Dst: push_options
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:522,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:527,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:528,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:529,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:530,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:531,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:532,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:533,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:534,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:535,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:539,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:539,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:540,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:541,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:541,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:542,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:543,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:543,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:544,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:544,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:545,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:545,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:546,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:546,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:547,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:547,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:550,1
    - Dst: make_rpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 551
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_THROW
    - std::vector::emplace_back
    - push_options
    - std::move
    - strprintf
    - std::vector::empty
    - std::vector::size
    - make_rpc
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(check_dup_param_names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:557,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:557,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:558,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:558,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:561,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:561,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:562,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:562,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:563,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:563,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:567,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:568,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:569,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:570,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:570,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:571,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:571,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:575,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:576,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:577,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:578,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:578,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:579,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:579,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:582,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:582,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:582,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:585,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:585,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 586
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_NE
    - UniValue::push_back
    - BOOST_CHECK_EQUAL
    - UniValue::pushKV
    - HelpExampleCliNamed
    - HelpExampleRpcNamed
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(help_example)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCHelpMan::HandleRequest
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' params'
    - ' args'
    - test_impl
    argTypes:
    - std::vector<RPCArg>
    - UniValue
    - RPCHelpMan::RPCMethodImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 596
    functionName: CheckRpc
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 0
    functionsReached:
    - RPCHelpMan::HandleRequest
    linkageType: ''
    returnType: void
    signature: void CheckRpc(const std::vector<RPCArg>& params, const UniValue& args,
      RPCHelpMan::RPCMethodImpl test_impl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:620,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:620,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:620,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:621,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:621,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:621,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:622,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:622,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:622,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:622,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:623,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:623,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:623,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:623,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:624,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:624,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:624,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:624,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:625,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:626,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:626,1
    - Dst: get_real
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:626,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:628,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:628,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:630,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:631,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:631,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:632,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:632,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:632,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:634,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:634,1
    - Dst: CheckRpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:638,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:638,1
    - Dst: CheckRpc
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:639,1
    - Dst: JSON
      Src: /src/bitcoin-core/src/test/rpc_tests.cpp:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 598
    functionDepth: 5
    functionLinenumber: 598
    functionLinenumberEnd: 640
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - JSON
    - CheckRpc
    - get_bool
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - isNull
    - MaybeArg
    - get_str
    - Arg
    - getInt
    - get_real
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rpc_arg_helper)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:20,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:20,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:21,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:21,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:22,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:22,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:23,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:23,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:24,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:24,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:25,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:25,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:26,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:26,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:27,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:27,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:29,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:30,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:30,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:31,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:31,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:32,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:32,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:33,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:33,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:34,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:34,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:35,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:36,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:36,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:39,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:39,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:40,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:40,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:41,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:41,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:42,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:42,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:43,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:43,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:44,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:45,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:46,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:46,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:47,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:48,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:48,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:49,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:49,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:50,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:51,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:52,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:53,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:53,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:54,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:55,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:56,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:56,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:60,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:62,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:65,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:66,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:76,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:77,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:82,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:83,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:86,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:92,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:95,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:106,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:108,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:108,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:109,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:109,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:110,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:110,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:111,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:112,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:112,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:113,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:113,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:114,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:114,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:115,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:115,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:118,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:118,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:119,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:119,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:120,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:120,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:121,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:121,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:122,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:122,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:123,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:123,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:127,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:131,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:132,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:133,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:135,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:135,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:136,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:136,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:137,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:137,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:138,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:138,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:139,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:139,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:140,1
    - Dst: FeeFrac::EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:140,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:141,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:141,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:142,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:142,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:143,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:143,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:144,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:144,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:145,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:146,1
    - Dst: FeeFrac::EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:146,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:149,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:152,1
    - Dst: EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/feefrac_tests.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 153
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/feefrac_tests.cpp
    functionUses: 1
    functionsReached:
    - FeeFrac
    - FeeFrac::EvaluateFeeUp
    - EvaluateFeeDown
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - FeeFrac::EvaluateFeeDown
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(feefrac_operators)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:28,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - common::SettingsValue
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(const common::SettingsValue& a, const common::SettingsValue&
      b)
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: bool
    signature: bool operator==(const common::SettingsValue& a, const common::SettingsValue&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' value'
    argTypes:
    - std::ostream
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: '& operator<<(std::ostream& os, const common::SettingsValue& value)'
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const common::SettingsValue&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::SettingsValue::pushKVEnd
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:40,1
    - Dst: common::SettingsValue::write
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' kv'
    argTypes:
    - std::ostream
    - std::pair<std::string, common::SettingsValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: '& operator<<(std::ostream& os, const std::pair<std::string, common::SettingsValue>&
      kv)'
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 0
    functionsReached:
    - common::SettingsValue::pushKVEnd
    - common::SettingsValue::write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const std::pair<std::string,
      common::SettingsValue>& kv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ofstream::open
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' path'
    - ' text'
    argTypes:
    - fs::path
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: WriteText
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: void WriteText(const fs::path& path, const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:56,1
    - Dst: WriteText
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:75,1
    - Dst: common::ReadSettings
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:75,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:76,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:76,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:76,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:76,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:76,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:77,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:77,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:81,1
    - Dst: common::ReadSettings
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:82,1
    - Dst: std::map::empty
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:82,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:83,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:83,1
    - Dst: WriteText
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:86,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:90,1
    - Dst: common::ReadSettings
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:90,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:91,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:91,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:92,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:92,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:92,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:92,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:92,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:93,1
    - Dst: std::map::empty
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:93,1
    - Dst: WriteText
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:97,1
    - Dst: common::ReadSettings
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:97,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:98,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:99,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:99,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:99,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:99,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:99,1
    - Dst: WriteText
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:103,1
    - Dst: common::ReadSettings
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:103,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:104,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:106,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:107,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:107,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:107,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:107,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 108
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - std::map::end
    - std::vector::end
    - std::map::empty
    - wallet::WalletImpl::remove
    - GetDataDirBase
    - std::vector::begin
    - WriteText
    - BOOST_CHECK
    - std::vector::empty
    - strprintf
    - std::map::begin
    - fs::PathToString
    - common::ReadSettings
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSetting
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:113,1
    - Dst: GetSettingsList
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:115,1
    - Dst: common::SettingsValue::push_back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:116,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:118,1
    - Dst: common::SettingsValue::write
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:118,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:119,1
    - Dst: common::SettingsValue::write
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' settings'
    - ' single_val'
    - ' list_val'
    argTypes:
    - common::Settings
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: CheckValues
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 0
    functionsReached:
    - common::SettingsValue::write
    - BOOST_CHECK_EQUAL
    - common::SettingsValue::push_back
    - GetSettingsList
    - GetSetting
    linkageType: ''
    returnType: void
    signature: void CheckValues(const common::Settings& settings, const std::string&
      single_val, const std::string& list_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:126,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:127,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:128,1
    - Dst: CheckValues
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:131,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:134,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:135,1
    - Dst: CheckValues
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 1
    functionsReached:
    - emplace_back
    - CheckValues
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:148,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:149,1
    - Dst: GetSetting
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:149,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:151,1
    - Dst: GetSetting
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 1
    functionsReached:
    - emplace_back
    - BOOST_CHECK_EQUAL
    - GetSetting
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(NullOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEachNoDup
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:171,1
    - Dst: ForEachNoDup
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:173,1
    - Dst: fn
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: ForEachMergeSetup
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 2
    functionsReached:
    - fn
    - ForEachNoDup
    linkageType: ''
    returnType: void
    signature: void ForEachMergeSetup(Fn&& fn)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:192,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:193,1
    - Dst: std::system_error
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:194,1
    - Dst: std::generic_category
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:194,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:197,1
    - Dst: ForEachMergeSetup
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:198,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:209,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:209,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:210,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:213,1
    - Dst: push_values
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:223,1
    - Dst: push_values
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:227,1
    - Dst: GetSetting
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:232,1
    - Dst: GetSettingsList
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:234,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:236,1
    - Dst: OnlyHasDefaultSectionSetting
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:239,1
    - Dst: CHash256::Write
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:242,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:242,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:244,1
    - Dst: fwrite
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:244,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:244,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:244,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:244,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:249,1
    - Dst: std::system_error
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:249,1
    - Dst: std::generic_category
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:249,1
    - Dst: CHash256::Finalize
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:254,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:255,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/settings_tests.cpp:266,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 267
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/settings_tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - push_values
    - BOOST_CHECK_EQUAL
    - GetSettingsList
    - ChainTypeToString
    - ToString
    - MakeUCharSpan
    - back
    - BOOST_REQUIRE
    - CHash256::Finalize
    - GetSetting
    - OnlyHasDefaultSectionSetting
    - write
    - CHash256::Write
    - getenv
    - std::system_error
    - std::string::size
    - ForEachMergeSetup
    - fsbridge::fopen
    - fwrite
    - fclose
    - std::generic_category
    - emplace_back
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(Merge, MergeTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::Warnings::Warnings
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:17,1
    - Dst: node::Warnings::Unset
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:19,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:27,1
    - Dst: node::Warnings::GetMessages
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:27,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:29,1
    - Dst: node::Warnings::Set
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:29,1
    - Dst: _
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:29,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:30,1
    - Dst: node::Warnings::Set
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:30,1
    - Dst: _
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:30,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:32,1
    - Dst: node::Warnings::Unset
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:32,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:34,1
    - Dst: node::Warnings::Unset
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:34,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:36,1
    - Dst: node::Warnings::Set
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:36,1
    - Dst: _
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:38,1
    - Dst: node::Warnings::Set
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:38,1
    - Dst: _
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:38,1
    - Dst: node::Warnings::GetMessages
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:42,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:42,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:43,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:44,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:47,1
    - Dst: node::Warnings::Unset
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:48,1
    - Dst: node::Warnings::Unset
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:49,1
    - Dst: node::Warnings::GetMessages
      Src: /src/bitcoin-core/src/test/node_warnings_tests.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 50
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/node_warnings_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - _
    - node::Warnings::Set
    - node::Warnings::GetMessages
    - node::Warnings::Unset
    - BOOST_CHECK
    - node::Warnings::Warnings
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(warnings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: spannable::Ignore
    functionSourceFile: /src/bitcoin-core/src/test/span_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ignore(T&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: spannable::Spannable
    functionSourceFile: /src/bitcoin-core/src/test/span_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spannable(T&& value, decltype(std::span{value})* enable = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: spannable::Spannable
    functionSourceFile: /src/bitcoin-core/src/test/span_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spannable(Ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: spannable::Ignore
    functionSourceFile: /src/bitcoin-core/src/test/span_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ignore(T&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: spannable::Spannable
    functionSourceFile: /src/bitcoin-core/src/test/span_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spannable(T&& value, decltype(std::span{value})* enable = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: spannable::Spannable
    functionSourceFile: /src/bitcoin-core/src/test/span_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spannable(Ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/span_tests.cpp:52,1
    - Dst: Spannable
      Src: /src/bitcoin-core/src/test/span_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/span_tests.cpp:53,1
    - Dst: Spannable
      Src: /src/bitcoin-core/src/test/span_tests.cpp:53,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/span_tests.cpp:54,1
    - Dst: Spannable
      Src: /src/bitcoin-core/src/test/span_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/span_tests.cpp:55,1
    - Dst: Spannable
      Src: /src/bitcoin-core/src/test/span_tests.cpp:55,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/span_tests.cpp:56,1
    - Dst: Spannable
      Src: /src/bitcoin-core/src/test/span_tests.cpp:56,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/span_tests.cpp:57,1
    - Dst: Spannable
      Src: /src/bitcoin-core/src/test/span_tests.cpp:57,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/span_tests.cpp:58,1
    - Dst: Spannable
      Src: /src/bitcoin-core/src/test/span_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/span_tests.cpp:59,1
    - Dst: Spannable
      Src: /src/bitcoin-core/src/test/span_tests.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/span_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - Spannable
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(span_constructor_sfinae)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - bilingual_str
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: operator==(const bilingual_str& a, const bilingual_str& b)
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const bilingual_str& a, const bilingual_str& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' s'
    argTypes:
    - std::ostream
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: '& operator<<(std::ostream& os, const bilingual_str& s)'
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const bilingual_str& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<int>
      Src: /src/bitcoin-core/src/test/result_tests.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: NoCopy
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<int>
    linkageType: ''
    returnType: void
    signature: void NoCopy(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NoCopy
    - NoCopy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(const NoCopy& a, const NoCopy& b)
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const NoCopy& a, const NoCopy& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' o'
    argTypes:
    - std::ostream
    - NoCopy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '& operator<<(std::ostream& os, const NoCopy& o)'
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const NoCopy& o)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:39,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/result_tests.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - success
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: IntFn
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached:
    - Untranslated
    - strprintf
    linkageType: ''
    returnType: util::Result<int>
    signature: util::Result<int> IntFn(int i, bool success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:45,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/result_tests.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - success
    argTypes:
    - bilingual_str
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: StrFn
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached:
    - Untranslated
    - strprintf
    linkageType: ''
    returnType: util::Result<bilingual_str>
    signature: util::Result<bilingual_str> StrFn(bilingual_str s, bool success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:51,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/result_tests.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - success
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: NoCopyFn
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached:
    - Untranslated
    - strprintf
    linkageType: ''
    returnType: util::Result<NoCopy>
    signature: util::Result<NoCopy> NoCopyFn(int i, bool success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:57,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:58,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/test/result_tests.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' result'
    - success
    - ' str'
    argTypes:
    - util::Result<T>
    - bool
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ExpectResult
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - util::ErrorString
    linkageType: ''
    returnType: void
    signature: void ExpectResult(const util::Result<T>& result, bool success, const
      bilingual_str& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectResult
      Src: /src/bitcoin-core/src/test/result_tests.cpp:64,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:65,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/result_tests.cpp:65,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/test/result_tests.cpp:66,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:67,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/result_tests.cpp:67,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:68,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/result_tests.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' result'
    - ' str'
    argTypes:
    - util::Result<T>
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: ExpectSuccess
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached:
    - ExpectResult
    - std::forward<Args>
    - BOOST_CHECK_EQUAL
    - has_value
    - value
    linkageType: ''
    returnType: void
    signature: void ExpectSuccess(const util::Result<T>& result, const bilingual_str&
      str, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectResult
      Src: /src/bitcoin-core/src/test/result_tests.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' result'
    - ' str'
    argTypes:
    - util::Result<T>
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ExpectFail
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 0
    functionsReached:
    - ExpectResult
    linkageType: ''
    returnType: void
    signature: void ExpectFail(const util::Result<T>& result, const bilingual_str&
      str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpectSuccess
      Src: /src/bitcoin-core/src/test/result_tests.cpp:79,1
    - Dst: IntFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:79,1
    - Dst: ExpectFail
      Src: /src/bitcoin-core/src/test/result_tests.cpp:80,1
    - Dst: IntFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:80,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:80,1
    - Dst: ExpectSuccess
      Src: /src/bitcoin-core/src/test/result_tests.cpp:81,1
    - Dst: NoCopyFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:81,1
    - Dst: ExpectFail
      Src: /src/bitcoin-core/src/test/result_tests.cpp:82,1
    - Dst: NoCopyFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:82,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:82,1
    - Dst: ExpectSuccess
      Src: /src/bitcoin-core/src/test/result_tests.cpp:83,1
    - Dst: StrFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:83,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:83,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:83,1
    - Dst: ExpectFail
      Src: /src/bitcoin-core/src/test/result_tests.cpp:84,1
    - Dst: StrFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:84,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:84,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 1
    functionsReached:
    - IntFn
    - ExpectSuccess
    - ExpectFail
    - StrFn
    - NoCopyFn
    - Untranslated
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(check_returned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:89,1
    - Dst: IntFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:90,1
    - Dst: IntFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:91,1
    - Dst: NoCopyFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:91,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:92,1
    - Dst: NoCopyFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:92,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:93,1
    - Dst: StrFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:93,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:93,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:93,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/result_tests.cpp:94,1
    - Dst: StrFn
      Src: /src/bitcoin-core/src/test/result_tests.cpp:94,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:94,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:94,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/result_tests.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/result_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - IntFn
    - StrFn
    - NoCopyFn
    - Untranslated
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(check_value_or)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpcPipeTest
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:14,1
    - Dst: IpcSocketPairTest
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:15,1
    - Dst: IpcSocketTest
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:16,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 5
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/ipc_tests.cpp
    functionUses: 1
    functionsReached:
    - IpcPipeTest
    - IpcSocketPairTest
    - GetDataDirNet
    - IpcSocketTest
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ipc_tests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipc::MakeProcess
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:22,1
    - Dst: code
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:24,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:26,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:27,1
    - Dst: std::unique_ptr::connect
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:27,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:29,1
    - Dst: std::unique_ptr::connect
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:29,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:31,1
    - Dst: check_address
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:33,1
    - Dst: check_address
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:34,1
    - Dst: check_address
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:35,1
    - Dst: check_address
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:36,1
    - Dst: check_address
      Src: /src/bitcoin-core/src/test/ipc_tests.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/ipc_tests.cpp
    functionUses: 1
    functionsReached:
    - code
    - BOOST_CHECK_EXCEPTION
    - empty
    - check_address
    - std::unique_ptr::connect
    - ipc::MakeProcess
    - BOOST_CHECK_EQUAL
    - HasReason
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(parse_address_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:30,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:31,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:31,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:34,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:37,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:41,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:43,1
    - Dst: BlockManager::WriteBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:43,1
    - Dst: auto::GenesisBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:43,1
    - Dst: BlockManager::UpdateBlockInfo
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:49,1
    - Dst: auto::GenesisBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:49,1
    - Dst: BlockManager::WriteBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:56,1
    - Dst: auto::GenesisBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:57,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:57,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:57,1
    - Dst: auto::GenesisBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockmanager_tests.cpp
    functionUses: 1
    functionsReached:
    - GetBlocksDirPath
    - GetSerializeSize
    - GetDataDirNet
    - BOOST_CHECK_EQUAL
    - CreateChainParams
    - Assert
    - BlockManager::WriteBlock
    - auto::GenesisBlock
    - BlockManager::UpdateBlockInfo
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(blockmanager_find_block_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:63,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:65,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:65,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:65,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:66,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:66,1
    - Dst: GetBlockFileInfo
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:66,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:66,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:67,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:67,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:67,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:72,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:72,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:73,1
    - Dst: PruneOneBlockFile
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:74,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:81,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:81,1
    - Dst: ScanAndUnlinkAlreadyPrunedFiles
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:82,1
    - Dst: OpenBlockFile
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:82,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:87,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:87,1
    - Dst: ScanAndUnlinkAlreadyPrunedFiles
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:88,1
    - Dst: OpenBlockFile
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:88,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:91,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:91,1
    - Dst: ScanAndUnlinkAlreadyPrunedFiles
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:91,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:94,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:94,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:94,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:95,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:96,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:96,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:98,1
    - Dst: OpenBlockFile
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 99
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockmanager_tests.cpp
    functionUses: 0
    functionsReached:
    - CreateAndProcessBlock
    - GetMutex
    - BOOST_CHECK_NE
    - PruneOneBlockFile
    - ScanAndUnlinkAlreadyPrunedFiles
    - WITH_LOCK
    - GetScriptForRawPubKey
    - BOOST_CHECK
    - LOCK
    - ActiveChain
    - Assert
    - CBlockIndex*::GetBlockPos
    - OpenBlockFile
    - GetPubKey
    - GetBlockFileInfo
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(blockmanager_scan_unlink_already_pruned_files,
      TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:104,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:107,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:112,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:121,1
    - Dst: GetFirstBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:121,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:122,1
    - Dst: CheckBlockDataAvailability
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:122,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:122,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:126,1
    - Dst: CheckBlockDataAvailability
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:126,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:130,1
    - Dst: func_prune_blocks
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:132,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:135,1
    - Dst: GetFirstBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:135,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:136,1
    - Dst: CheckBlockDataAvailability
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:137,1
    - Dst: CheckBlockDataAvailability
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 138
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockmanager_tests.cpp
    functionUses: 0
    functionsReached:
    - func_prune_blocks
    - GetFirstBlock
    - BOOST_CHECK
    - LOCK
    - BOOST_CHECK_EQUAL
    - ActiveChain
    - ActiveTip
    - CheckBlockDataAvailability
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(blockmanager_block_data_availability,
      TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:142,1
    - Dst: chainman::GetMutex
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:142,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:142,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:145,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:146,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:147,1
    - Dst: chainman::m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockmanager_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - chainman::GetMutex
    - WITH_LOCK
    - BOOST_CHECK
    - CBlock::CBlock
    - chainman::m_blockman::ReadBlock
    - ASSERT_DEBUG_LOG
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(blockmanager_readblock_hash_mismatch,
      TestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:152,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:152,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:154,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:155,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:158,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:162,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:165,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:167,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:169,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:176,1
    - Dst: BlockManager::CalculateCurrentUsage
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:176,1
    - Dst: BlockManager::WriteBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:179,1
    - Dst: BlockManager::WriteBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:182,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:185,1
    - Dst: BlockManager::CalculateCurrentUsage
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:185,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:189,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:190,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:192,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:193,1
    - Dst: BlockManager::ReadBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:193,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:194,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:197,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:198,1
    - Dst: BlockManager::ReadBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:198,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:199,1
    - Dst: BlockManager::GetBlockFileInfo
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:206,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:207,1
    - Dst: BlockManager::UpdateBlockInfo
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:208,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:210,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:212,1
    - Dst: BlockManager::CalculateCurrentUsage
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:212,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:215,1
    - Dst: BlockManager::ReadBlock
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:215,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockmanager_tests.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 217
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockmanager_tests.cpp
    functionUses: 1
    functionsReached:
    - BlockManager::GetBlockFileInfo
    - GetBlocksDirPath
    - GetDataDirNet
    - CBlock::CBlock
    - BOOST_CHECK_EQUAL
    - Assert
    - Params
    - BlockManager::CalculateCurrentUsage
    - BlockManager::WriteBlock
    - BOOST_CHECK
    - BlockManager::ReadBlock
    - BlockManager::UpdateBlockInfo
    - ASSERT_DEBUG_LOG
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(blockmanager_flush_block_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_tests.cpp:42,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:43,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_tests.cpp:43,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/test/key_tests.cpp:43,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_tests.cpp:44,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:45,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_tests.cpp:45,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/test/key_tests.cpp:45,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_tests.cpp:46,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:47,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_tests.cpp:47,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/test/key_tests.cpp:47,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:49,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_tests.cpp:49,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/test/key_tests.cpp:49,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_tests.cpp:50,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:51,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_tests.cpp:51,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:53,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:54,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:55,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:56,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:58,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:59,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:59,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:60,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:60,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:61,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:63,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:63,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:64,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:65,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:65,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:66,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:66,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:68,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:68,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:69,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:70,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:71,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:71,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:73,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:74,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:75,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:76,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:76,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:78,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/test/key_tests.cpp:78,1
    - Dst: CTxDestination
      Src: /src/bitcoin-core/src/test/key_tests.cpp:78,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/key_tests.cpp:78,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:79,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/test/key_tests.cpp:79,1
    - Dst: CTxDestination
      Src: /src/bitcoin-core/src/test/key_tests.cpp:79,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/key_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:80,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/test/key_tests.cpp:80,1
    - Dst: CTxDestination
      Src: /src/bitcoin-core/src/test/key_tests.cpp:80,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/key_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:81,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/test/key_tests.cpp:81,1
    - Dst: CTxDestination
      Src: /src/bitcoin-core/src/test/key_tests.cpp:81,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/key_tests.cpp:81,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/key_tests.cpp:85,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/key_tests.cpp:86,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:92,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:92,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:93,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:94,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:95,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:95,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:97,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:98,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:99,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:99,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:100,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:100,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:102,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:103,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:104,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:105,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:107,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:107,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:108,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:109,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:109,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:110,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:112,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:113,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:113,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:114,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:115,1
    - Dst: CPubKey::Verify
      Src: /src/bitcoin-core/src/test/key_tests.cpp:115,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:121,1
    - Dst: CKey::SignCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:122,1
    - Dst: CKey::SignCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:122,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:123,1
    - Dst: CKey::SignCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:123,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:124,1
    - Dst: CKey::SignCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:124,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:128,1
    - Dst: CPubKey::RecoverCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:128,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:129,1
    - Dst: RecoverCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:129,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:130,1
    - Dst: RecoverCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:131,1
    - Dst: RecoverCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:131,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:134,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:135,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:136,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/key_tests.cpp:143,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:144,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:144,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:145,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:145,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:146,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_tests.cpp:147,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:147,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:149,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:149,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:150,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:151,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_tests.cpp:152,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:152,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:154,1
    - Dst: CKey::SignCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:154,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:155,1
    - Dst: CKey::SignCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:155,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_tests.cpp:156,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:156,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_tests.cpp:157,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:157,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:159,1
    - Dst: CKey::SignCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:159,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:160,1
    - Dst: CKey::SignCompact
      Src: /src/bitcoin-core/src/test/key_tests.cpp:160,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_tests.cpp:161,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:161,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_tests.cpp:162,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 163
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 1
    functionsReached:
    - CKey::Sign
    - Hash
    - DecodeDestination
    - CTxDestination
    - CPubKey::RecoverCompact
    - CKey::VerifyPubKey
    - BOOST_CHECK_EQUAL
    - CKey::IsValid
    - CKey::SignCompact
    - RecoverCompact
    - CPubKey::Verify
    - BOOST_CHECK
    - CPubKey::CPubKey
    - PKHash
    - CKey::IsCompressed
    - strprintf
    - DecodeSecret
    - CKey::GetPubKey
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(key_test1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_tests.cpp:168,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/key_tests.cpp:170,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/key_tests.cpp:175,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:176,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:182,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/key_tests.cpp:191,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/key_tests.cpp:192,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/key_tests.cpp:193,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/key_tests.cpp:194,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/key_tests.cpp:200,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/key_tests.cpp:204,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 209
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 1
    functionsReached:
    - CKey::Sign
    - Hash
    - ToString
    - BOOST_CHECK
    - std::vector::clear
    - DecodeSecret
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(key_signature_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: UnserializePubkey
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::CPubKey
    linkageType: ''
    returnType: CPubKey
    signature: CPubKey UnserializePubkey(const std::vector<uint8_t>& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - chHeader
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: GetLen
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetLen(unsigned char chHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:233,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: CmpSerializationPubkey
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - CPubKey::CPubKey
    linkageType: ''
    returnType: void
    signature: void CmpSerializationPubkey(const CPubKey& pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnserializePubkey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:241,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:242,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/test/key_tests.cpp:242,1
    - Dst: CmpSerializationPubkey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:243,1
    - Dst: UnserializePubkey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:244,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/test/key_tests.cpp:244,1
    - Dst: GetLen
      Src: /src/bitcoin-core/src/test/key_tests.cpp:244,1
    - Dst: CmpSerializationPubkey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:245,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:247,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/test/key_tests.cpp:247,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:249,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/test/key_tests.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>
    - GetLen
    - BOOST_CHECK
    - UnserializePubkey
    - CPubKey::IsValid
    - CmpSerializationPubkey
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pubkey_unserialize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/key_tests.cpp:275,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/key_tests.cpp:276,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/key_tests.cpp:277,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_tests.cpp:278,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:278,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/key_tests.cpp:278,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/key_tests.cpp:289,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/key_tests.cpp:290,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/key_tests.cpp:293,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:297,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/key_tests.cpp:298,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/key_tests.cpp:298,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/key_tests.cpp:298,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:299,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:300,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/test/key_tests.cpp:300,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/key_tests.cpp:300,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/test/key_tests.cpp:300,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/key_tests.cpp:300,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/key_tests.cpp:300,1
    - Dst: CKey::SignSchnorr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:301,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:302,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:303,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/key_tests.cpp:303,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:305,1
    - Dst: XOnlyPubKey::VerifySchnorr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:305,1
    - Dst: CKey::ComputeKeyPair
      Src: /src/bitcoin-core/src/test/key_tests.cpp:308,1
    - Dst: KeyPair::SignSchnorr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:309,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:310,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:311,1
    - Dst: XOnlyPubKey::VerifySchnorr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:311,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:312,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/key_tests.cpp:312,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/key_tests.cpp:318,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/key_tests.cpp:319,1
    - Dst: XOnlyPubKey::CreateTapTweak
      Src: /src/bitcoin-core/src/test/key_tests.cpp:320,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:321,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/key_tests.cpp:323,1
    - Dst: CKey::SignSchnorr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:324,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:325,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:326,1
    - Dst: XOnlyPubKey::VerifySchnorr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:326,1
    - Dst: CKey::ComputeKeyPair
      Src: /src/bitcoin-core/src/test/key_tests.cpp:329,1
    - Dst: KeyPair::SignSchnorr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:330,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:332,1
    - Dst: XOnlyPubKey::VerifySchnorr
      Src: /src/bitcoin-core/src/test/key_tests.cpp:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 335
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - XOnlyPubKey::VerifySchnorr
    - CKey::ComputeKeyPair
    - auto::begin
    - XOnlyPubKey::end
    - CKey::CKey
    - BOOST_CHECK
    - KeyPair::SignSchnorr
    - ParseHex
    - uint256
    - XOnlyPubKey::begin
    - std::vector<unsigned char>
    - CKey::SignSchnorr
    - CKey::GetPubKey
    - uint256::uint256
    - rand256
    - std::equal
    - CKey::Set
    - XOnlyPubKey
    - XOnlyPubKey::CreateTapTweak
    - auto::end
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip340_test_vectors)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/test/key_tests.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:341,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/key_tests.cpp:341,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/key_tests.cpp:343,1
    - Dst: CKey::EllSwiftCreate
      Src: /src/bitcoin-core/src/test/key_tests.cpp:344,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/test/key_tests.cpp:344,1
    - Dst: auto::Decode
      Src: /src/bitcoin-core/src/test/key_tests.cpp:346,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/test/key_tests.cpp:347,1
    - Dst: CPubKey::Decompress
      Src: /src/bitcoin-core/src/test/key_tests.cpp:351,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:353,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 355
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 1
    functionsReached:
    - CKey::IsCompressed
    - CPubKey::Decompress
    - CKey::EllSwiftCreate
    - BOOST_CHECK
    - DecodeSecret
    - auto::Decode
    - CKey::GetPubKey
    - std::as_bytes
    - rand256
    - CKey::IsValid
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(key_ellswift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::write
      Src: /src/bitcoin-core/src/test/key_tests.cpp:361,1
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/test/key_tests.cpp:362,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - HashWriter::GetSHA256
    - HashWriter::write
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip341_test_h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/test/key_tests.cpp:369,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:371,1
    - Dst: CKey::MakeNewKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:372,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/key_tests.cpp:373,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:377,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/test/key_tests.cpp:377,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/test/key_tests.cpp:377,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/test/key_tests.cpp:377,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:379,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/test/key_tests.cpp:379,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/key_tests.cpp:381,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/test/key_tests.cpp:381,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:382,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:385,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/test/key_tests.cpp:386,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/key_tests.cpp:388,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/test/key_tests.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 391
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/key_tests.cpp
    functionUses: 1
    functionsReached:
    - UCharCast
    - secp256k1_xonly_pubkey_serialize
    - secp256k1_context_create
    - secp256k1_keypair_xonly_pub
    - secp256k1_context_destroy
    - CKey::GetPubKey
    - CKey::CKey
    - BOOST_CHECK
    - CKey::begin
    - XOnlyPubKey
    - BOOST_CHECK_EQUAL
    - secp256k1_keypair_create
    - rand256
    - CKey::MakeNewKey
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(key_schnorr_tweak_smoke_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:27,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_standard_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - IsValidDestination
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(dest_default_is_no_dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:35,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:36,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:39,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:43,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:45,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:46,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:46,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:47,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:47,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:50,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:51,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:52,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:53,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:53,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:54,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:54,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:54,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:58,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:59,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:59,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:60,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:60,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:61,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:62,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:62,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:62,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:65,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:67,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:68,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:70,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:71,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:71,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:72,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:73,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:74,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:75,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:75,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:77,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:79,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:80,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:81,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:83,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:83,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:84,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:84,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:85,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:86,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:86,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:87,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:88,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:89,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:89,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:92,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:94,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:95,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:97,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:98,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:98,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:101,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:102,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:102,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:103,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:104,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:105,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:105,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:105,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:108,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:109,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:109,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:109,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:110,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:112,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:113,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:114,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:114,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:115,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:115,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:116,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:116,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:119,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:120,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:121,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:121,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:122,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:122,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:123,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:123,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:126,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:127,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:128,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:128,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:129,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:129,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:131,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:131,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:134,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:136,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:137,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:142,1
    - Dst: CScript::IsPayToAnchor
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:142,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:143,1
    - Dst: CScript::IsWitnessProgram
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:143,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:144,1
    - Dst: CScript::IsPayToAnchor
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:144,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:147,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:149,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 150
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_standard_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - MakeNewKey
    - CScript::data
    - CScript::clear
    - BOOST_CHECK
    - Solver
    - std::vector::empty
    - std::vector::size
    - std::vector<unsigned char>
    - ToByteVector
    - CScript::size
    - CScriptID
    - GetID
    - CSHA256
    - uint256::uint256
    - uint256::begin
    - CScript::IsPayToAnchor
    - CScript::IsWitnessProgram
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_standard_Solver_success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:154,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:155,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:157,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:161,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:162,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:163,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:163,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:166,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:167,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:168,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:168,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:171,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:172,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:173,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:173,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:176,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:177,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:178,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:178,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:181,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:182,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:183,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:183,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:186,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:187,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:188,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:188,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:191,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:193,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:193,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:196,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:197,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:198,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:198,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:201,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:202,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:203,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:203,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:206,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:207,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:208,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:208,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:209,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:210,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:211,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:211,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:214,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:216,1
    - Dst: CScript::IsPayToAnchor
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:216,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:217,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:217,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:222,1
    - Dst: CScript::IsPayToAnchor
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:222,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:223,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 224
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_standard_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector<unsigned char>
    - ToByteVector
    - GenerateRandomKey
    - CScript::IsPayToAnchor
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Solver
    - CKey::GetPubKey
    - CScript::clear
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_standard_Solver_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:228,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:229,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:231,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:235,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:236,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:237,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:237,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:238,1
    - Dst: std::get<PubKeyDestination>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:238,1
    - Dst: PubKeyDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:238,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:241,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:242,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:242,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:243,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:243,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:244,1
    - Dst: std::get<PKHash>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:244,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:244,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:248,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:249,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:249,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:250,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:250,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:251,1
    - Dst: std::get<ScriptHash>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:251,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:251,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:254,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:255,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:256,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:256,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:259,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:260,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:261,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:261,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:264,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:265,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:265,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:266,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:266,1
    - Dst: WitnessV0KeyHash::WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:267,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:268,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:269,1
    - Dst: std::get<WitnessV0KeyHash>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:269,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:272,1
    - Dst: WitnessV0ScriptHash::WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:273,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:274,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:274,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:274,1
    - Dst: WitnessV0ScriptHash::begin
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:274,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:275,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:276,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:276,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:277,1
    - Dst: std::get<WitnessV0ScriptHash>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:277,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:280,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:281,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:282,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:283,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:284,1
    - Dst: std::get<WitnessV1Taproot>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:284,1
    - Dst: WitnessV1Taproot
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:284,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:287,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:289,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:289,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:290,1
    - Dst: std::get<PayToAnchor>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:290,1
    - Dst: PayToAnchor
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:290,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:294,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:295,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:296,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:296,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:297,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:298,1
    - Dst: std::get<WitnessUnknown>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:298,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:299,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:301,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:302,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:302,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:303,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:304,1
    - Dst: std::get<WitnessUnknown>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 305
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_standard_tests.cpp
    functionUses: 1
    functionsReached:
    - WitnessV0KeyHash::WitnessV0KeyHash
    - CPubKey::GetID
    - PayToAnchor
    - CScript::data
    - PubKeyDestination
    - std::get<WitnessV0KeyHash>
    - std::get<WitnessV0ScriptHash>
    - CScript::clear
    - ScriptHash
    - GenerateRandomKey
    - std::get<PubKeyDestination>
    - CHash160
    - BOOST_CHECK
    - WitnessV0ScriptHash::begin
    - std::get<ScriptHash>
    - PKHash
    - std::vector<unsigned char>
    - ToByteVector
    - std::get<WitnessUnknown>
    - CScript::size
    - CScriptID
    - WitnessV0ScriptHash::WitnessV0ScriptHash
    - CSHA256
    - WitnessV1Taproot
    - std::get<PKHash>
    - CKey::GetPubKey
    - std::get<PayToAnchor>
    - ExtractDestination
    - std::get<WitnessV1Taproot>
    - XOnlyPubKey
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_standard_ExtractDestination)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:312,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:313,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:316,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:319,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:320,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:320,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:321,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:321,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:322,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:326,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:327,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:327,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:328,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:329,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:332,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:333,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:333,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:334,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:337,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:338,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:339,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:340,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:343,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:345,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:346,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:347,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:349,1
    - Dst: std::vector<CPubKey>
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:349,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:350,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:353,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:354,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:354,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:355,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:355,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:355,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:355,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:356,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:357,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:357,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:357,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:358,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:361,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:362,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:364,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:365,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:365,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:365,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:366,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:368,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:369,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:370,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:370,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:371,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:374,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:375,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:376,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:377,1
    - Dst: WitnessV1Taproot
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:377,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:378,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:381,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:383,1
    - Dst: PayToAnchor
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:383,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 385
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_standard_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector<CPubKey>
    - GetScriptForDestination
    - PayToAnchor
    - MakeNewKey
    - CScript::data
    - CScript::clear
    - GetScriptForMultisig
    - ScriptHash
    - WitnessV0KeyHash
    - BOOST_CHECK
    - PKHash
    - ToByteVector
    - CScript::size
    - CScriptID
    - GetID
    - GetScriptForRawPubKey
    - CSHA256
    - WitnessV0ScriptHash
    - WitnessV1Taproot
    - uint256::uint256
    - CNoDestination
    - Hash160
    - uint256::begin
    - XOnlyPubKey
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_standard_GetScriptFor_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:389,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:389,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:390,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:390,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:391,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:391,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:392,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:392,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:393,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:393,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:394,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:394,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:395,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:395,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:396,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:396,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:397,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:397,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:398,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:398,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:399,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:399,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:400,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:400,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:401,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:401,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:402,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:402,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:403,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:403,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:404,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:404,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:405,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:405,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:406,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:406,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:407,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:407,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:408,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:408,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:409,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:409,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:410,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:410,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:411,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:411,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:412,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:412,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:413,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:413,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:414,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:414,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:415,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:415,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:416,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:416,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:417,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:417,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:418,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:418,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:419,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:419,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:420,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:420,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:421,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:421,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:422,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:422,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:423,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:423,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:424,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:424,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:425,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:425,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:426,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:426,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:427,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:427,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:428,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:428,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:429,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:429,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:430,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:430,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:431,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:431,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:436,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:436,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:437,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:437,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:441,1
    - Dst: TaprootBuilder::IsValid
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:441,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:441,1
    - Dst: TaprootBuilder::Add
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:442,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:443,1
    - Dst: TaprootBuilder::IsValid
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:443,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:443,1
    - Dst: TaprootBuilder::AddOmitted
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:444,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:445,1
    - Dst: TaprootBuilder::IsValid
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:445,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:445,1
    - Dst: TaprootBuilder::Add
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:446,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:447,1
    - Dst: TaprootBuilder::IsValid
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:447,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:447,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:448,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:449,1
    - Dst: TaprootBuilder::IsValid
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:449,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:449,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:450,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:450,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 451
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_standard_tests.cpp
    functionUses: 1
    functionsReached:
    - TaprootBuilder::Finalize
    - ToByteVector
    - EncodeDestination
    - TaprootBuilder::Add
    - TaprootBuilder::ValidDepths
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - TaprootBuilder::IsValid
    - TaprootBuilder::IsComplete
    - CScript
    - TaprootBuilder::AddOmitted
    - TaprootBuilder::GetOutput
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_standard_taproot_builder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:457,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:458,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:462,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:466,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:467,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:468,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:468,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:469,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:470,1
    - Dst: TaprootBuilder::Add
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:472,1
    - Dst: parse_tree
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:474,1
    - Dst: parse_tree
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:475,1
    - Dst: parse_tree
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:478,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:479,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:479,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:479,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:479,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:480,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:480,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:480,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:480,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:480,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:481,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:481,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:481,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:481,1
    - Dst: TaprootBuilder::GetSpendData
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:482,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:483,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:483,1
    - Dst: auto::merkle_root::IsNull
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:483,1
    - Dst: auto::merkle_root::IsNull
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:484,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:485,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:485,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:485,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:487,1
    - Dst: auto::scripts::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:487,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:487,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:489,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:489,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_standard_tests.cpp:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 492
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_standard_tests.cpp
    functionUses: 1
    functionsReached:
    - EncodeDestination
    - GetScriptForDestination
    - BOOST_CHECK_EQUAL
    - parse_tree
    - getValues
    - std::map::size
    - TaprootBuilder::Add
    - isObject
    - BOOST_CHECK
    - ParseHex
    - UniValue::read
    - TaprootBuilder::Finalize
    - auto::scripts::size
    - isNull
    - auto::merkle_root::IsNull
    - get_str
    - TaprootBuilder::GetOutput
    - TaprootBuilder::GetSpendData
    - UniValue::UniValue
    - XOnlyPubKey
    - HexStr
    - getInt
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip341_spk_test_vectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ''
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 5019
    functionsReached: []
    linkageType: ''
    returnType: TestingSetup
    signature: 'TestingSetup '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ''
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 5019
    functionsReached: []
    linkageType: ''
    returnType: TestingSetup
    signature: 'TestingSetup '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: operator()() const
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: operator()()
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::optional<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: FixedCheck
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedCheck(std::optional<int> result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: operator()() const
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - check_id_in
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: UniqueCheck
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UniqueCheck(size_t check_id_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:74,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: operator()()
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - insert
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: operator()() const
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - MemoryCheck
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: MemoryCheck
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void MemoryCheck(const MemoryCheck& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b_
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: MemoryCheck
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void MemoryCheck(bool b_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ~MemoryCheck()
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void ~MemoryCheck()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: operator()() const
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: FrozenCleanupCheck
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrozenCleanupCheck()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:120,1
    - Dst: notify_one
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:121,1
    - Dst: wait
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:122,1
    - Dst: load
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: ~FrozenCleanupCheck()
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached:
    - wait
    - store
    - load
    - notify_one
    linkageType: ''
    returnType: void
    signature: void ~FrozenCleanupCheck()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrozenCleanupCheck
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: FrozenCleanupCheck
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrozenCleanupCheck(FrozenCleanupCheck&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrozenCleanupCheck
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: '& operator=(FrozenCleanupCheck&& other) noexcept'
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrozenCleanupCheck
    signature: FrozenCleanupCheck & operator=(FrozenCleanupCheck&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Correct_Queue>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:161,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:164,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:170,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:171,1
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:171,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:171,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:172,1
    - Dst: CCheckQueueControl::Add
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:173,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:173,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:175,1
    - Dst: CCheckQueueControl::Complete
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:175,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - range
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: CheckQueueTest::Correct_Queue_range
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 0
    functionsReached:
    - CCheckQueueControl::Complete
    - std::min<size_t>
    - std::vector::resize
    - std::vector::reserve
    - std::move
    - BOOST_REQUIRE
    - std::vector::clear
    - randrange
    - BOOST_REQUIRE_EQUAL
    - std::make_unique<Correct_Queue>
    - std::vector::size
    - CCheckQueueControl::Add
    linkageType: ''
    returnType: void
    signature: void CheckQueueTest::Correct_Queue_range(std::vector<size_t> range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:187,1
    - Dst: Correct_Queue_range
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - Correct_Queue_range
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueue_Correct_Zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:195,1
    - Dst: Correct_Queue_range
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - Correct_Queue_range
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueue_Correct_One)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:203,1
    - Dst: Correct_Queue_range
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - Correct_Queue_range
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueue_Correct_Max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:211,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:212,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:212,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:212,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:213,1
    - Dst: Correct_Queue_range
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - std::max
    - std::vector::push_back
    - randrange
    - std::min
    - Correct_Queue_range
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueue_Correct_Random)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Queue>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:221,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:226,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:229,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:231,1
    - Dst: std::make_optional<int>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:231,1
    - Dst: CCheckQueueControl::Add
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:232,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:232,1
    - Dst: CCheckQueueControl::Complete
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:234,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:236,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:236,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:236,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:238,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - CCheckQueueControl::Complete
    - std::vector::emplace_back
    - std::make_optional<int>
    - std::make_unique<Fixed_Queue>
    - auto::has_value
    - static_cast<int>
    - std::vector::reserve
    - std::move
    - BOOST_REQUIRE
    - randrange
    - CCheckQueueControl::Add
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueue_Catches_Failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Queue>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:246,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:252,1
    - Dst: FixedCheck
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:252,1
    - Dst: FixedCheck
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:253,1
    - Dst: std::make_optional<int>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:253,1
    - Dst: CCheckQueueControl::Add
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:254,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:254,1
    - Dst: CCheckQueueControl::Complete
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:256,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - FixedCheck
    - CCheckQueueControl::Complete
    - std::make_optional<int>
    - std::make_unique<Fixed_Queue>
    - std::vector::resize
    - std::move
    - BOOST_REQUIRE
    - CCheckQueueControl::Add
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueue_Recovers_From_Failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Unique_Queue>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:267,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:273,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:276,1
    - Dst: CCheckQueueControl::Add
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:277,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:277,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:281,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:283,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:283,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:285,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - std::move
    - size
    - LOCK
    - BOOST_REQUIRE
    - randrange
    - BOOST_REQUIRE_EQUAL
    - std::make_unique<Unique_Queue>
    - count
    - CCheckQueueControl::Add
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueue_UniqueCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Memory_Queue>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:299,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:305,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:311,1
    - Dst: CCheckQueueControl::Add
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:313,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:313,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - std::move
    - randrange
    - std::make_unique<Memory_Queue>
    - BOOST_REQUIRE_EQUAL
    - CCheckQueueControl::Add
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueue_Memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FrozenCleanup_Queue>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:324,1
    - Dst: CCheckQueueControl::Add
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:329,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:329,1
    - Dst: CCheckQueueControl::Complete
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:330,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:331,1
    - Dst: wait
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:336,1
    - Dst: auto::m_control_mutex::try_lock
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:340,1
    - Dst: notify_one
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:348,1
    - Dst: std::thread::join
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:350,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!result)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    constantsTouched: []
    func_position:
      end: 352
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 352
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - CCheckQueueControl::Complete
    - std::make_unique<FrozenCleanup_Queue>
    - std::thread::join
    - std::move
    - BOOST_REQUIRE
    - auto::m_control_mutex::try_lock
    - notify_one
    - wait
    - assert
    - CCheckQueueControl::Add
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueue_FrozenCleanup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Standard_Queue>
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:358,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:361,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:365,1
    - Dst: UninterruptibleSleep
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:370,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:375,1
    - Dst: join
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:375,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:377,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:389,1
    - Dst: std::condition_variable::notify_one
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:393,1
    - Dst: std::condition_variable::wait
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:394,1
    - Dst: std::condition_variable::notify_one
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:396,1
    - Dst: std::condition_variable::wait
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:399,1
    - Dst: std::condition_variable::wait
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:402,1
    - Dst: auto::m_control_mutex::try_lock
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:405,1
    - Dst: std::condition_variable::notify_one
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:408,1
    - Dst: std::condition_variable::wait
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:409,1
    - Dst: std::condition_variable::notify_one
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:412,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:413,1
    - Dst: joinable
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:416,1
    - Dst: join
      Src: /src/bitcoin-core/src/test/checkqueue_tests.cpp:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 419
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/checkqueue_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - UninterruptibleSleep
    - joinable
    - std::make_unique<Standard_Queue>
    - std::vector::reserve
    - BOOST_REQUIRE
    - std::condition_variable::notify_one
    - auto::m_control_mutex::try_lock
    - BOOST_REQUIRE_EQUAL
    - std::condition_variable::wait
    - join
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_CheckQueueControl_Locks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:18,1
    - Dst: GetQueryParameterFromUri
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:18,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:18,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:22,1
    - Dst: GetQueryParameterFromUri
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:22,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:22,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:23,1
    - Dst: GetQueryParameterFromUri
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:23,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:23,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:27,1
    - Dst: GetQueryParameterFromUri
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:27,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:27,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:28,1
    - Dst: GetQueryParameterFromUri
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:28,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:28,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:32,1
    - Dst: GetQueryParameterFromUri
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:32,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:32,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:36,1
    - Dst: GetQueryParameterFromUri
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:36,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:36,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:40,1
    - Dst: GetQueryParameterFromUri
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:40,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:40,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/httpserver_tests.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 41
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/httpserver_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - GetQueryParameterFromUri
    - HasReason
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_query_parameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tip
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: TestSubscriber
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestSubscriber(uint256 tip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:43,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pindexNew
    - pindexFork
    - fInitialDownload
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: UpdatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 2
    functionsReached:
    - BOOST_CHECK_EQUAL
    - CBlockIndex*::GetBlockHash
    linkageType: ''
    returnType: void
    signature: void UpdatedBlockTip(const CBlockIndex* pindexNew, const CBlockIndex*
      pindexFork, bool fInitialDownload) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:48,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:49,1
    - Dst: CBlockIndex*::pprev::GetBlockHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:49,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - role
    - ' block'
    - pindex
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: BlockConnected
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 4
    functionsReached:
    - BOOST_CHECK_EQUAL
    - GetHash
    - CBlockIndex*::pprev::GetBlockHash
    linkageType: ''
    returnType: void
    signature: void BlockConnected(ChainstateRole role, const std::shared_ptr<const
      CBlock>& block, const CBlockIndex* pindex) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:56,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:57,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' block'
    - pindex
    argTypes:
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 3
    functionsReached:
    - BOOST_CHECK_EQUAL
    - GetHash
    - CBlockIndex*::GetBlockHash
    linkageType: ''
    returnType: void
    signature: void BlockDisconnected(const std::shared_ptr<const CBlock>& block,
      const CBlockIndex* pindex) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:66,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:70,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:70,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:70,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:71,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:79,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:83,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:87,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:88,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' prev_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 91
    functionName: MinerTestingSetup::Block
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::resize
    - scriptWitness::SetNull
    - CreateNewBlock
    - std::make_shared<CBlock>
    - static_cast<uint32_t>
    - chainman::ActiveChainstate
    - MakeTransactionRef
    - std::move
    - Params
    - mempool::get
    linkageType: ''
    returnType: std::shared_ptr<CBlock>
    signature: std::shared_ptr<CBlock> MinerTestingSetup::Block(const uint256& prev_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman::GenerateCoinbaseCommitment
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:96,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:98,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:100,1
    - Dst: std::shared_ptr<CBlock>::GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:100,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:100,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:107,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:107,1
    - Dst: std::shared_ptr<CBlock>::GetBlockHeader
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pblock
    argTypes:
    - std::shared_ptr<CBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: MinerTestingSetup::FinalizeBlock
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - chainman::GenerateCoinbaseCommitment
    - std::shared_ptr<CBlock>::GetBlockHeader
    - std::shared_ptr<CBlock>::GetHash
    - BOOST_CHECK
    - Params
    - Assert
    - BlockMerkleRoot
    linkageType: ''
    returnType: std::shared_ptr<CBlock>
    signature: std::shared_ptr<CBlock> MinerTestingSetup::FinalizeBlock(std::shared_ptr<CBlock>
      pblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinerTestingSetup::FinalizeBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:115,1
    - Dst: MinerTestingSetup::Block
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' prev_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: MinerTestingSetup::GoodBlock
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 0
    functionsReached:
    - MinerTestingSetup::FinalizeBlock
    - MinerTestingSetup::Block
    linkageType: ''
    returnType: std::shared_ptr<const CBlock>
    signature: std::shared_ptr<const CBlock> MinerTestingSetup::GoodBlock(const uint256&
      prev_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinerTestingSetup::Block
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:121,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:123,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:124,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:124,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:124,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:124,1
    - Dst: CMutableTransaction::vout::push_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:125,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:127,1
    - Dst: auto::vtx::push_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:128,1
    - Dst: MinerTestingSetup::FinalizeBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' prev_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: MinerTestingSetup::BadBlock
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 0
    functionsReached:
    - MinerTestingSetup::Block
    - CMutableTransaction::vout::push_back
    - CMutableTransaction::CMutableTransaction
    - GetHash
    - COutPoint
    - MakeTransactionRef
    - MinerTestingSetup::FinalizeBlock
    - auto::vtx::push_back
    - CScript
    - CMutableTransaction::vin::emplace_back
    linkageType: ''
    returnType: std::shared_ptr<const CBlock>
    signature: std::shared_ptr<const CBlock> MinerTestingSetup::BadBlock(const uint256&
      prev_hash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:137,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:139,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:140,1
    - Dst: MinerTestingSetup::BadBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:142,1
    - Dst: MinerTestingSetup::GoodBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:142,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:143,1
    - Dst: MinerTestingSetup::BuildChain
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:145,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:145,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:149,1
    - Dst: MinerTestingSetup::GoodBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:149,1
    - Dst: MinerTestingSetup::BuildChain
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:150,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - ' root'
    - height
    - invalid_rate
    - branch_rate
    - max_size
    - ' blocks'
    argTypes:
    - uint256
    - int
    - unsigned int
    - unsigned int
    - unsigned int
    - std::vector<std::shared_ptr<const CBlock>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: MinerTestingSetup::BuildChain
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 1
    functionsReached:
    - MinerTestingSetup::BuildChain
    - MinerTestingSetup::GoodBlock
    - push_back
    - back
    - size
    - randrange
    - MinerTestingSetup::BadBlock
    - std::shared_ptr::GetHash
    linkageType: ''
    returnType: void
    signature: void MinerTestingSetup::BuildChain(const uint256& root, int height,
      const unsigned int invalid_rate, const unsigned int branch_rate, const unsigned
      int max_size, std::vector<std::shared_ptr<const CBlock>>& blocks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:158,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:159,1
    - Dst: BuildChain
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:160,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:165,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:165,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:165,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:165,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:166,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:171,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:172,1
    - Dst: std::make_shared<TestSubscriber>
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:174,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:174,1
    - Dst: validation_signals::RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:175,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:181,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:183,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:185,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:187,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:187,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:188,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:193,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:194,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:195,1
    - Dst: join
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:202,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:204,1
    - Dst: validation_signals::UnregisterSharedValidationInterface
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:206,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:208,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:209,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (processed)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/bitcoin-core/src/test/validation_block_tests.cpp
    constantsTouched: []
    func_position:
      end: 210
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 210
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - validation_signals::RegisterSharedValidationInterface
    - validation_signals::UnregisterSharedValidationInterface
    - vtx::size
    - FastRandomContext::FastRandomContext
    - validation_signals::SyncWithValidationInterfaceQueue
    - BOOST_CHECK_EQUAL
    - chainman::ActiveChain
    - std::vector::reserve
    - BOOST_CHECK
    - FastRandomContext::randrange
    - CBlockIndex*::GetBlockHash
    - BuildChain
    - std::vector::size
    - std::make_shared<CBlock>
    - std::make_shared<TestSubscriber>
    - Params
    - std::vector::clear
    - Assert
    - assert
    - LOCK
    - join
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(processnewblock_signals_ordering)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:233,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:237,1
    - Dst: ProcessBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:237,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:237,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:237,1
    - Dst: GoodBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:238,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:238,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:239,1
    - Dst: ProcessBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:239,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:243,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:243,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:243,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:243,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:243,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:252,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:253,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:253,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:254,1
    - Dst: CMutableTransaction::vout::push_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:255,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:257,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:257,1
    - Dst: GoodBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:259,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:259,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:260,1
    - Dst: ProcessBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:260,1
    - Dst: GoodBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:265,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:265,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:266,1
    - Dst: ProcessBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:266,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:270,1
    - Dst: GoodBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:273,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:274,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:275,1
    - Dst: GoodBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:276,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:276,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:277,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:282,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:284,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:285,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:291,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:291,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:291,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:301,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:302,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:311,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:311,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:311,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:314,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:316,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:316,1
    - Dst: ProcessBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:321,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:324,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:324,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:324,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:324,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:324,1
    - Dst: std::thread::join
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:327,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_node.mempool->size() == txs.size())
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/bitcoin-core/src/test/validation_block_tests.cpp
    - condition: (tip_init != m_node.chainman->ActiveChain().Tip()->GetBlockHash())
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/bitcoin-core/src/test/validation_block_tests.cpp
    constantsTouched: []
    func_position:
      end: 329
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 329
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::GetHash
    - GetHash
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - CMutableTransaction::vin::emplace_back
    - chainman::ActiveChain
    - BOOST_REQUIRE
    - mempool::size
    - std::vector::size
    - std::make_shared<CBlock>
    - std::thread::join
    - CMutableTransaction::CMutableTransaction
    - WITH_LOCK
    - MakeTransactionRef
    - chainman::ProcessTransaction
    - Assert
    - Params
    - scriptWitness::stack::push_back
    - assert
    - GoodBlock
    - CMutableTransaction::vout::push_back
    - ProcessBlock
    - LOCK
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(mempool_locks_reorg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:333,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:333,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:334,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:338,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:338,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:338,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:341,1
    - Dst: CTxOut::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:342,1
    - Dst: CTxOut::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:352,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:358,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:363,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:363,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:365,1
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/test/validation_block_tests.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 366
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_block_tests.cpp
    functionUses: 1
    functionsReached:
    - GetWitnessCommitmentIndex
    - CTxOut::CTxOut
    - CMutableTransaction::vout::resize
    - CTxOut::scriptPubKey::resize
    - CreateNewBlock
    - chainman::ActiveChainstate
    - MakeTransactionRef
    - std::move
    - LOCK
    - BOOST_CHECK_EQUAL
    - Assert
    - mempool::get
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(witness_commitment_index)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FeeestPath
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:22,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:23,1
    - Dst: validation_signals::RegisterValidationInterface
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:24,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:29,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:33,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:43,1
    - Dst: CScript::push_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:45,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:46,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:47,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:49,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:65,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:66,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:66,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:66,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:69,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:69,1
    - Dst: NewMempoolTransactionInfo
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:70,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:70,1
    - Dst: validation_signals::TransactionAddedToMempool
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:78,1
    - Dst: GetAndIncrementSequence
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:78,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:80,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:81,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:89,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:90,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:92,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:93,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:98,1
    - Dst: removeForBlock
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:99,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:102,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:106,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:110,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:110,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:111,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:111,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:112,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:112,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:112,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:117,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:127,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:127,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:129,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:133,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:134,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:134,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:139,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:139,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:145,1
    - Dst: removeForBlock
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:146,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:152,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:152,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:152,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:154,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:154,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:155,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:155,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:166,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:167,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:167,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:167,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:170,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:170,1
    - Dst: NewMempoolTransactionInfo
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:171,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:171,1
    - Dst: validation_signals::TransactionAddedToMempool
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:179,1
    - Dst: GetAndIncrementSequence
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:179,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:181,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:182,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:186,1
    - Dst: removeForBlock
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:187,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:192,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:195,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:195,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:195,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:195,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:201,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:202,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:202,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:204,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:205,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:210,1
    - Dst: removeForBlock
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:211,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:213,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:216,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:218,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:218,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:218,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:220,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:220,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:220,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:220,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:230,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:231,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:231,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:231,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:234,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:234,1
    - Dst: NewMempoolTransactionInfo
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:235,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:235,1
    - Dst: validation_signals::TransactionAddedToMempool
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:243,1
    - Dst: GetAndIncrementSequence
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:243,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:245,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:246,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:248,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:254,1
    - Dst: removeForBlock
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:255,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:258,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:261,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:262,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:262,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:262,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:264,1
    - Dst: CBlockPolicyEstimator::estimateFee
      Src: /src/bitcoin-core/src/test/policyestimator_tests.cpp:264,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 266
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/policyestimator_tests.cpp
    functionUses: 1
    functionsReached:
    - validation_signals::TransactionAddedToMempool
    - LOCK2
    - CFeeRate
    - std::vector::push_back
    - validation_signals::SyncWithValidationInterfaceQueue
    - pop_back
    - GetVirtualTransactionSize
    - removeForBlock
    - back
    - AddToMempool
    - std::vector::reserve
    - BOOST_CHECK
    - get
    - CMutableTransaction::vin::resize
    - CBlockPolicyEstimator::estimateFee
    - Now
    - CMutableTransaction::vout::resize
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - TestMemPoolEntryHelper::Fee
    - FeeestPath
    - GetAndIncrementSequence
    - Assert
    - std::vector::clear
    - CFeeRate::GetFeePerK
    - validation_signals::RegisterValidationInterface
    - NewMempoolTransactionInfo
    - push_back
    - CScript::push_back
    - size
    - CMutableTransaction::GetHash
    - LOCK
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(BlockPolicyEstimates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:17,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:19,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:19,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:21,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:22,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:22,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:24,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/reverselock_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - owns_lock
    - WAIT_LOCK
    - REVERSE_LOCK
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(reverselock_basics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:31,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:32,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:37,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:37,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:38,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:39,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:39,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:41,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:42,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/reverselock_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - owns_lock
    - WAIT_LOCK
    - REVERSE_LOCK
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(reverselock_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:49,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:50,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:57,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:57,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:57,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:58,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:58,1
    - Dst: unlock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:66,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:66,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:76,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:76,1
    - Dst: lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:82,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:83,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:83,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:86,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:86,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:90,1
    - Dst: owns_lock
      Src: /src/bitcoin-core/src/test/reverselock_tests.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 91
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/reverselock_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - lock
    - WAIT_LOCK
    - BOOST_CHECK
    - owns_lock
    - unlock
    - REVERSE_LOCK
    - HasReason
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(reverselock_errors)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:28,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:36,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:36,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:39,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:40,1
    - Dst: CMutableTransaction::vout::clear
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:47,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:50,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:58,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:62,1
    - Dst: SetNull
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:64,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:67,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:76,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:81,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:82,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - scriptCode
    - ' txTo'
    - nIn
    - nHashType
    argTypes:
    - CScript
    - CTransaction
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 83
    functionName: SignatureHashOld
    functionSourceFile: /src/bitcoin-core/src/test/sighash_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::clear
    - FindAndDelete
    - CMutableTransaction::vout::resize
    - CMutableTransaction::vin::size
    - TX_NO_WITNESS
    - SetNull
    - HashWriter::GetHash
    - CScript
    - CMutableTransaction::vout::size
    - CMutableTransaction::vin::resize
    - vin::size
    linkageType: ''
    returnType: uint256
    signature: uint256 SignatureHashOld(CScript scriptCode, const CTransaction& txTo,
      unsigned int nIn, int nHashType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:88,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:89,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:91,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - script
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: RandomScript
    functionSourceFile: /src/bitcoin-core/src/test/sighash_tests.cpp
    functionUses: 0
    functionsReached:
    - size
    - randrange
    - CScript
    linkageType: ''
    returnType: void
    signature: void RandomScript(CScript &script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:96,1
    - Dst: vin::clear
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:97,1
    - Dst: vout::clear
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:98,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:99,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:99,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:100,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:101,1
    - Dst: vin::emplace_back
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:103,1
    - Dst: vin::back
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:104,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:105,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:105,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:106,1
    - Dst: RandomScript
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:107,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:108,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:108,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:108,1
    - Dst: vout::emplace_back
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:111,1
    - Dst: vout::back
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:112,1
    - Dst: RandMoney
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:113,1
    - Dst: RandomScript
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ' tx'
    - fSingle
    argTypes:
    - CMutableTransaction
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: RandomTransaction
    functionSourceFile: /src/bitcoin-core/src/test/sighash_tests.cpp
    functionUses: 0
    functionsReached:
    - vin::emplace_back
    - vout::emplace_back
    - vout::back
    - RandomScript
    - randbits
    - rand32
    - randbool
    - vout::clear
    - transaction_identifier::FromUint256
    - RandMoney
    - vin::clear
    - RandomMixin::max
    - rand256
    - vin::back
    linkageType: ''
    returnType: void
    signature: void RandomTransaction(CMutableTransaction& tx, bool fSingle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:131,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:132,1
    - Dst: RandomTransaction
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:133,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:134,1
    - Dst: RandomScript
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:135,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:136,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:136,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:138,1
    - Dst: SignatureHashOld
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:139,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:139,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:140,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:142,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:143,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:146,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:147,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 161
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sighash_tests.cpp
    functionUses: 1
    functionsReached:
    - RandomTransaction
    - SignatureHash
    - GetHex
    - CMutableTransaction::vin::size
    - RandomScript
    - rand32
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - HexStr
    - BOOST_CHECK
    - SignatureHashOld
    - randrange
    - TX_WITH_WITNESS
    - DataStream::DataStream
    - uint256::uint256
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sighash_test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:166,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:168,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:170,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:171,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:173,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:176,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:180,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:182,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:186,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:187,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:188,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:189,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:190,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:193,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:196,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:196,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:197,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:197,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:199,1
    - Dst: CScript::insert
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:200,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:200,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:200,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:200,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:202,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:206,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:207,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/test/sighash_tests.cpp:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 209
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sighash_tests.cpp
    functionUses: 1
    functionsReached:
    - SignatureHash
    - TxValidationState::IsValid
    - std::vector::end
    - CheckTransaction
    - read_json
    - BOOST_ERROR
    - BOOST_CHECK
    - uint256::GetHex
    - ParseHex
    - BOOST_CHECK_MESSAGE
    - write
    - CScript::end
    - get_str
    - UniValue::size
    - uint256::uint256
    - CScript::insert
    - size
    - std::vector::begin
    - CScript
    - TX_WITH_WITNESS
    - getInt
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(sighash_from_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nHeight
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: TestTime
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t TestTime(int nHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' dep'
    argTypes:
    - Consensus::BIP9Deployment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: TestConditionChecker::TestConditionChecker
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestConditionChecker(const Consensus::BIP9Deployment& dep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~TestConditionChecker() override
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestConditionChecker() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractThresholdConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pindexPrev
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: TestConditionChecker::StateFor
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - AbstractThresholdConditionChecker::GetStateFor
    linkageType: ''
    returnType: ThresholdState
    signature: ThresholdState StateFor(const CBlockIndex* pindexPrev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractThresholdConditionChecker::GetStateSinceHeightFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pindexPrev
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: TestConditionChecker::StateSinceHeightFor
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - AbstractThresholdConditionChecker::GetStateSinceHeightFor
    linkageType: ''
    returnType: int
    signature: int StateSinceHeightFor(const CBlockIndex* pindexPrev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestConditionChecker::clear
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: TestConditionChecker::clear
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 1
    functionsReached:
    - TestConditionChecker::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: Deployments
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Deployments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: Deployments
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Deployments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: VersionBitsTester::VersionBitsTester
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionBitsTester(FastRandomContext& rng, int32_t nVersionBase=0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:90,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:94,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:95,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:96,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:97,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: '& Reset()'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - clear
    - size
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: ~VersionBitsTester()
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: void
    signature: void ~VersionBitsTester()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:108,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:109,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:110,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:111,1
    - Dst: CBlockIndex*::BuildSkip
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:114,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - height
    - nTime
    - nVersion
    argTypes:
    - unsigned int
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: '& Mine(unsigned int height, int32_t nTime, int32_t nVersion)'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - CBlockIndex::CBlockIndex
    - CBlockIndex*::BuildSkip
    - push_back
    - size
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & Mine(unsigned int height, int32_t nTime, int32_t
      nVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestStateSinceHeight
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '& TestStateSinceHeight(int height)'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - TestStateSinceHeight
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestStateSinceHeight(int height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:127,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:129,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:130,1
    - Dst: StateSinceHeightFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:130,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:130,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:131,1
    - Dst: StateSinceHeightFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:131,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:131,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:132,1
    - Dst: StateSinceHeightFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:132,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:132,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:133,1
    - Dst: StateSinceHeightFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:133,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - height
    - height_delayed
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: '& TestStateSinceHeight(int height, int height_delayed)'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - randbits
    - strprintf
    - StateSinceHeightFor
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestStateSinceHeight(int height, int height_delayed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestState
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exp
    argTypes:
    - ThresholdState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: '& TestState(ThresholdState exp)'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - TestState
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestState(ThresholdState exp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:149,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:150,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:153,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:155,1
    - Dst: StateFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:156,1
    - Dst: StateFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:157,1
    - Dst: StateFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:158,1
    - Dst: StateFor
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:159,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:163,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:163,1
    - Dst: StateName
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:163,1
    - Dst: StateName
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:163,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:164,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:164,1
    - Dst: StateName
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:164,1
    - Dst: StateName
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:164,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:165,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:165,1
    - Dst: StateName
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:165,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:166,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:166,1
    - Dst: StateName
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - exp
    - exp_delayed
    argTypes:
    - ThresholdState
    - ThresholdState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 171
    functionName: '& TestState(ThresholdState exp, ThresholdState exp_delayed)'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - randbits
    - StateName
    - BOOST_CHECK_EQUAL
    - StateFor
    - strprintf
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestState(ThresholdState exp, ThresholdState exp_delayed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestState
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: '& TestDefined()'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - TestState
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestDefined()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestState
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: '& TestStarted()'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - TestState
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestStarted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestState
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& TestLockedIn()'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - TestState
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestLockedIn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestState
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '& TestActive()'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - TestState
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestActive()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestState
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: '& TestFailed()'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - TestState
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestFailed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestState
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: '& TestActiveDelayed()'
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - TestState
    linkageType: ''
    returnType: VersionBitsTester
    signature: VersionBitsTester & TestActiveDelayed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:182,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: VersionBitsTester::Tip
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - back
    - empty
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * Tip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VersionBitsTester
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:191,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:192,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:193,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:194,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:195,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:196,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:197,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:198,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:199,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:200,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:201,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:202,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:206,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:207,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:208,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:209,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:210,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:211,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:212,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:216,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:217,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:218,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:219,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:220,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:221,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:222,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:223,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:224,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:228,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:229,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:230,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:231,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:232,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:233,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:234,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:235,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:236,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:237,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:238,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:239,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:243,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:244,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:245,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:246,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:247,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:248,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:249,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:250,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:251,1
    - Dst: TestTime
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 255
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 1
    functionsReached:
    - TestTime
    - VersionBitsTester
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(versionbits_test)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:263,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:272,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:273,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:274,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:277,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:277,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:284,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:284,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:286,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:286,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:288,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:289,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:293,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:294,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:295,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:295,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:296,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:298,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:299,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:301,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:318,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:319,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:319,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:320,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:320,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:321,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:322,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:322,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:323,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:323,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:330,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:331,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:332,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:332,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:336,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:337,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:337,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:338,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:338,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:344,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:345,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:345,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:346,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:346,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:351,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:353,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:353,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:355,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:355,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:356,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:356,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:364,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:365,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:365,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:366,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:366,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:367,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:367,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:381,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:381,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:382,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:382,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:389,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:390,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:390,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:391,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:391,1
    - Dst: VersionBitsTester::Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:395,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:396,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:396,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:397,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:397,1
    - Dst: Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:407,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:408,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:408,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:409,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:409,1
    - Dst: Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:412,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:415,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:415,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:416,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:416,1
    - Dst: Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:420,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:421,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:421,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:422,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:422,1
    - Dst: Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:423,1
    - Dst: Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:427,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:428,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:428,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:429,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:429,1
    - Dst: Mine
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:431,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:435,1
    - Dst: ComputeBlockVersion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:435,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:436,1
    - Dst: IsActiveAfter
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:436,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 98
    argCount: 3
    argNames:
    - ' versionbitscache'
    - ' params'
    - dep
    argTypes:
    - VersionBitsCache
    - Consensus::Params
    - Consensus::DeploymentPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 437
    functionName: check_computeblockversion
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - VersionBitsTester::Mine
    - IsActiveAfter
    - BOOST_CHECK
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - Clear
    - BOOST_REQUIRE_EQUAL
    - Mine
    - ComputeBlockVersion
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void check_computeblockversion(VersionBitsCache& versionbitscache,
      const Consensus::Params& params, Consensus::DeploymentPos dep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:447,1
    - Dst: static_cast<Consensus::DeploymentPos>
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:450,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:456,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:457,1
    - Dst: check_computeblockversion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:459,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:459,1
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:466,1
    - Dst: ArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:467,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:468,1
    - Dst: check_computeblockversion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:469,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:469,1
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:476,1
    - Dst: ArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:477,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:478,1
    - Dst: check_computeblockversion
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:479,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/test/versionbits_tests.cpp:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 440
    functionDepth: 4
    functionLinenumber: 440
    functionLinenumberEnd: 481
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/versionbits_tests.cpp
    functionUses: 0
    functionsReached:
    - check_computeblockversion
    - auto::GetConsensus
    - ArgsManager::ArgsManager
    - static_cast<Consensus::DeploymentPos>
    - BOOST_CHECK
    - ArgsManager::ForceSetArg
    - CreateChainParams
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(versionbits_computeblockversion, BlockVersionTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: CPartialMerkleTreeTester::CPartialMerkleTreeTester
    functionSourceFile: /src/bitcoin-core/src/test/pmt_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPartialMerkleTreeTester(FastRandomContext& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:24,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:24,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:25,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: CPartialMerkleTreeTester::Damage
    functionSourceFile: /src/bitcoin-core/src/test/pmt_tests.cpp
    functionUses: 0
    functionsReached:
    - randbits
    - randrange
    - begin
    - size
    linkageType: ''
    returnType: void
    signature: void Damage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:42,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:44,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:46,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:46,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:46,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:50,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:53,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:66,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:69,1
    - Dst: std::min<unsigned int>
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:80,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:81,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:81,1
    - Dst: CPartialMerkleTreeTester::ExtractMatches
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:94,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:97,1
    - Dst: CPartialMerkleTreeTester::Damage
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:102,1
    - Dst: CPartialMerkleTreeTester::ExtractMatches
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:104,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 109
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pmt_tests.cpp
    functionUses: 1
    functionsReached:
    - std::min<unsigned int>
    - CBlock::vtx::push_back
    - DataStream::size
    - uint256::IsNull
    - randbits
    - CPartialMerkleTreeTester::ExtractMatches
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - GetHash
    - std::move
    - std::vector::push_back
    - CBlock::CBlock
    - BOOST_CHECK
    - BlockMerkleRoot
    - CPartialMerkleTreeTester::Damage
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pmt_test1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:125,1
    - Dst: CPartialMerkleTree::ExtractMatches
      Src: /src/bitcoin-core/src/test/pmt_tests.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/pmt_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - CPartialMerkleTree::ExtractMatches
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(pmt_malleability)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: tag_malloc
    functionSourceFile: /src/bitcoin-core/src/test/raii_event_tests.cpp
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void * tag_malloc(size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: tag_free
    functionSourceFile: /src/bitcoin-core/src/test/raii_event_tests.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void tag_free(void* mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_set_mem_functions
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:40,1
    - Dst: obtain_event_base
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:44,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:45,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:46,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:48,1
    - Dst: obtain_event_base
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:52,1
    - Dst: obtain_event
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:53,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:53,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:55,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:56,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:59,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:62,1
    - Dst: event_set_mem_functions
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 65
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/raii_event_tests.cpp
    functionUses: 1
    functionsReached:
    - obtain_event
    - BOOST_CHECK
    - obtain_event_base
    - auto::get
    - event_set_mem_functions
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(raii_event_creation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_set_mem_functions
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:69,1
    - Dst: obtain_event_base
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:74,1
    - Dst: obtain_event
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:75,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:75,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:77,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:78,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:84,1
    - Dst: event_set_mem_functions
      Src: /src/bitcoin-core/src/test/raii_event_tests.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/raii_event_tests.cpp
    functionUses: 1
    functionsReached:
    - obtain_event
    - BOOST_CHECK
    - obtain_event_base
    - auto::get
    - event_set_mem_functions
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(raii_event_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:29,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:30,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:31,1
    - Dst: InitializeChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:31,1
    - Dst: InitCoinsDB
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:32,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:34,1
    - Dst: InitCoinsCache
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:34,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:35,1
    - Dst: LoadGenesisBlock
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:35,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:39,1
    - Dst: AddTestCoin
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:40,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:40,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:44,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:44,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:46,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:46,1
    - Dst: ResizeCoinsCaches
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:54,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:54,1
    - Dst: ResizeCoinsCaches
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:56,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:62,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 64
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp
    functionUses: 1
    functionsReached:
    - AddTestCoin
    - CoinsTip
    - InitializeChainstate
    - ResizeCoinsCaches
    - WITH_LOCK
    - BOOST_CHECK
    - BOOST_REQUIRE
    - InitCoinsCache
    - Assert
    - LoadGenesisBlock
    - LOCK
    - InitCoinsDB
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(validation_chainstate_resize_caches)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:72,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:74,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:75,1
    - Dst: notifications::TipBlock
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:75,1
    - Dst: notifications::TipBlock
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:76,1
    - Dst: get_notify_tip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:78,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:82,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:85,1
    - Dst: get_notify_tip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:85,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:88,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:90,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:91,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:91,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:94,1
    - Dst: CreateAndActivateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:94,1
    - Dst: get_notify_tip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:100,1
    - Dst: mineBlocks
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:106,1
    - Dst: get_notify_tip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:106,1
    - Dst: get_notify_tip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:108,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:110,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:110,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:112,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:113,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:114,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:124,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:130,1
    - Dst: CheckBlock
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:131,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:131,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:132,1
    - Dst: AcceptBlock
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:135,1
    - Dst: ActivateBestChain
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:139,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:142,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:142,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:142,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:146,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:147,1
    - Dst: get_notify_tip
      Src: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 148
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/validation_chainstate_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - std::shared_ptr::GetHash
    - get_notify_tip
    - BOOST_CHECK
    - BOOST_REQUIRE
    - m_chain::Tip
    - std::make_shared<CBlock>
    - ActiveChain
    - Assert
    - Params
    - AcceptBlock
    - CheckBlock
    - CreateAndActivateUTXOSnapshot
    - GetAll
    - LOCK
    - notifications::TipBlock
    - ActiveChainstate
    - mineBlocks
    - ActivateBestChain
    - m_blockman::ReadBlock
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(chainstate_update_tip, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: NoCopyOrMove::NoCopyOrMove
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoCopyOrMove(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: NoCopyOrMove::NoCopyOrMove
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoCopyOrMove()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: NoCopyOrMove::NoCopyOrMove
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoCopyOrMove(const NoCopyOrMove&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: NoCopyOrMove::NoCopyOrMove
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoCopyOrMove(NoCopyOrMove&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '& operator=(const NoCopyOrMove&)'
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NoCopyOrMove
    signature: NoCopyOrMove & operator=(const NoCopyOrMove&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& operator=(NoCopyOrMove&&)'
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NoCopyOrMove
    signature: NoCopyOrMove & operator=(NoCopyOrMove&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: operator bool() const
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: NoCopyOrMove::get_ip1
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ip1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/util_tests.cpp:89,1
    - Dst: NoCopyOrMove::get_ip1
      Src: /src/bitcoin-core/src/test/util_tests.cpp:89,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/util_tests.cpp:90,1
    - Dst: NoCopyOrMove::get_ip1
      Src: /src/bitcoin-core/src/test/util_tests.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: NoCopyOrMove::test
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - NoCopyOrMove::get_ip1
    - Assume
    linkageType: ''
    returnType: bool
    signature: bool test()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: NoCopyOrMove::NoCopyOrMove
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoCopyOrMove(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: NoCopyOrMove::NoCopyOrMove
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoCopyOrMove()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: NoCopyOrMove::NoCopyOrMove
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoCopyOrMove(const NoCopyOrMove&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: NoCopyOrMove::NoCopyOrMove
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoCopyOrMove(NoCopyOrMove&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '& operator=(const NoCopyOrMove&)'
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NoCopyOrMove
    signature: NoCopyOrMove & operator=(const NoCopyOrMove&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& operator=(NoCopyOrMove&&)'
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NoCopyOrMove
    signature: NoCopyOrMove & operator=(NoCopyOrMove&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: operator bool() const
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: NoCopyOrMove::get_ip1
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ip1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/util_tests.cpp:89,1
    - Dst: NoCopyOrMove::get_ip1
      Src: /src/bitcoin-core/src/test/util_tests.cpp:89,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/util_tests.cpp:90,1
    - Dst: NoCopyOrMove::get_ip1
      Src: /src/bitcoin-core/src/test/util_tests.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: NoCopyOrMove::test
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - NoCopyOrMove::get_ip1
    - Assume
    linkageType: ''
    returnType: bool
    signature: bool test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:98,1
    - Dst: std::make_unique<int>
      Src: /src/bitcoin-core/src/test/util_tests.cpp:98,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:100,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:101,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:102,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/util_tests.cpp:104,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:105,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:109,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:110,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:113,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:113,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:113,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:117,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - Assert
    - Assume
    - std::make_unique<int>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:126,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/util_tests.cpp:129,1
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:135,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/util_tests.cpp:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - LOCK
    - TRY_LOCK
    - BOOST_ERROR
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_criticalsection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::detail::Hex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:158,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/util_tests.cpp:159,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:160,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:160,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:160,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:160,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:160,1
    - Dst: util::detail::Hex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:162,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/util_tests.cpp:163,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:164,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:164,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:164,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:164,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:164,1
    - Dst: util::detail::Hex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:166,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:167,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:167,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:167,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:167,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:167,1
    - Dst: util::detail::Hex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:169,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:170,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:170,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:170,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:170,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:170,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:172,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:173,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:173,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:173,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:173,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:173,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:175,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:176,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:176,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:176,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:176,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:176,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:180,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:181,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:181,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:181,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:181,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:181,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:182,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:183,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:183,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:183,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:183,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:183,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:187,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:188,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:188,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:188,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:188,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:188,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:189,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:190,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:190,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:190,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:190,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:190,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:194,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:195,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:195,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:195,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:195,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:195,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:196,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/test/util_tests.cpp:197,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:197,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:197,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:197,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:197,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util_tests.cpp:200,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util_tests.cpp:201,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:202,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:202,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:203,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:203,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:204,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:204,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:205,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:205,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:208,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:209,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:209,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:215,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:215,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:216,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:216,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:217,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:217,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:220,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:221,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:221,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:224,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:224,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:225,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 226
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - auto::begin
    - std::vector::end
    - std::string::size
    - empty
    - MakeUCharSpan
    - util::detail::Hex
    - std::vector::begin
    - size
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::array::begin
    - std::array::end
    - auto::end
    - TryParseHex
    - ParseHex
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(parse_hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:230,1
    - Dst: ConstevalHexDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:230,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:231,1
    - Dst: ConstevalHexDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:231,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:232,1
    - Dst: ConstevalHexDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:232,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:233,1
    - Dst: ConstevalHexDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - ConstevalHexDigit
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(consteval_hex_digit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:238,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:238,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:239,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:239,1
    - Dst: last
      Src: /src/bitcoin-core/src/test/util_tests.cpp:239,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:240,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:240,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/util_tests.cpp:240,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:244,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/util_tests.cpp:245,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/util_tests.cpp:246,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:248,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:248,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:249,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:249,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:250,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:250,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:254,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/test/util_tests.cpp:256,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/test/util_tests.cpp:256,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:259,1
    - Dst: BOOST_TEST_REQUIRE
      Src: /src/bitcoin-core/src/test/util_tests.cpp:260,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:260,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/test/util_tests.cpp:261,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/util_tests.cpp:263,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/util_tests.cpp:264,1
    - Dst: BOOST_TEST_REQUIRE
      Src: /src/bitcoin-core/src/test/util_tests.cpp:265,1
    - Dst: BOOST_TEST_REQUIRE
      Src: /src/bitcoin-core/src/test/util_tests.cpp:266,1
    - Dst: BOOST_TEST_REQUIRE
      Src: /src/bitcoin-core/src/test/util_tests.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 270
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - auto::push_back
    - MakeUCharSpan
    - BOOST_TEST_REQUIRE
    - auto::find
    - last
    - std::string
    - BOOST_CHECK_EQUAL
    - std::string_view::size
    - first
    - MakeByteSpan
    - HexStr
    - std::string_view
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_HexStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/test/util_tests.cpp:275,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:277,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/test/util_tests.cpp:277,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:278,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/test/util_tests.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - MakeWritableByteSpan
    - std::array::at
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(span_write_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:284,1
    - Dst: Join
      Src: /src/bitcoin-core/src/test/util_tests.cpp:284,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:285,1
    - Dst: Join
      Src: /src/bitcoin-core/src/test/util_tests.cpp:285,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:286,1
    - Dst: Join
      Src: /src/bitcoin-core/src/test/util_tests.cpp:286,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:289,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:290,1
    - Dst: Join
      Src: /src/bitcoin-core/src/test/util_tests.cpp:290,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:291,1
    - Dst: Join
      Src: /src/bitcoin-core/src/test/util_tests.cpp:291,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:292,1
    - Dst: Join
      Src: /src/bitcoin-core/src/test/util_tests.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - ToUpper
    - BOOST_CHECK_EQUAL
    - Join
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_Join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/test/util_tests.cpp:300,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:301,1
    - Dst: test_replaceall
      Src: /src/bitcoin-core/src/test/util_tests.cpp:304,1
    - Dst: test_replaceall
      Src: /src/bitcoin-core/src/test/util_tests.cpp:305,1
    - Dst: test_replaceall
      Src: /src/bitcoin-core/src/test/util_tests.cpp:306,1
    - Dst: test_replaceall
      Src: /src/bitcoin-core/src/test/util_tests.cpp:307,1
    - Dst: test_replaceall
      Src: /src/bitcoin-core/src/test/util_tests.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - test_replaceall
    - ReplaceAll
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ReplaceAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:313,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:313,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:314,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:314,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:315,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:315,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:316,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:316,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:317,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:317,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:318,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:318,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:319,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:319,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:319,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:319,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:320,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:320,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:320,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:320,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:321,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:321,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:321,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:321,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:322,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:322,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:322,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:322,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:323,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:323,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:323,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:323,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:323,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:324,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:324,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:324,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 325
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - TrimStringView
    - BOOST_CHECK_EQUAL
    - TrimString
    - std::string
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_TrimString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:329,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:329,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:330,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:330,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:331,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:331,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:332,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:332,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:333,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:333,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:334,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:334,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:335,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:335,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:340,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:340,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:341,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:341,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:342,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:342,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:343,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:343,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:346,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:346,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:347,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:347,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:350,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:350,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:351,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:351,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:352,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:352,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:353,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:353,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:357,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:357,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:358,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:361,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 363
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::string::size
    - ParseISO8601DateTime
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ParseISO8601DateTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:367,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:367,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:368,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:368,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:370,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:370,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:371,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:371,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:372,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:372,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:373,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:373,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:374,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:374,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:375,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:375,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:376,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - FormatISO8601DateTime
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_FormatISO8601DateTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:381,1
    - Dst: FormatISO8601Date
      Src: /src/bitcoin-core/src/test/util_tests.cpp:381,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:382,1
    - Dst: FormatISO8601Date
      Src: /src/bitcoin-core/src/test/util_tests.cpp:382,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:384,1
    - Dst: FormatISO8601Date
      Src: /src/bitcoin-core/src/test/util_tests.cpp:384,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:385,1
    - Dst: FormatISO8601Date
      Src: /src/bitcoin-core/src/test/util_tests.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - FormatISO8601Date
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_FormatISO8601Date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:390,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:390,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:391,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:391,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:392,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:392,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:394,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:394,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:395,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:395,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:396,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:396,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:397,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:397,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:398,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:398,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:399,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:399,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:400,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:400,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:401,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:401,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:402,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:402,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:403,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:403,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:404,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:404,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:405,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:405,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:406,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:406,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:407,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:407,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:408,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:408,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:409,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:409,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:410,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:410,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:412,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:412,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:412,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:413,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:413,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:413,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:414,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:414,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:414,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:415,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:415,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:415,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:417,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:417,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/util_tests.cpp:417,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:418,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:418,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/util_tests.cpp:418,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:419,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:419,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/util_tests.cpp:419,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:420,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:420,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/util_tests.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 421
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - FormatMoney
    - RandomMixin::max
    - RandomMixin::min
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_FormatMoney)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:425,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:425,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:426,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:426,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:427,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:427,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:428,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:428,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:429,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:429,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:430,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:430,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:432,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:434,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:434,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:435,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:435,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:436,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:436,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:437,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:437,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:438,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:438,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:439,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:439,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:440,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:440,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:441,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:441,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:442,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:442,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:443,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:443,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:444,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:444,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:445,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:445,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:446,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:446,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:447,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:447,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:448,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:448,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:449,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:449,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:450,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:450,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:451,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:451,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:452,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:452,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:453,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:453,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:454,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:454,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:455,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:455,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:456,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:456,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:459,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:459,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:460,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:460,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:463,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:463,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:464,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:464,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:465,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:465,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:468,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:468,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:469,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:469,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:470,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:470,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:471,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:471,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:472,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:472,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:473,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:473,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:476,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:476,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:477,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:477,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:478,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:478,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:481,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:481,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:484,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:484,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:487,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:487,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:488,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:488,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:489,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/util_tests.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 490
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - ParseMoney
    - BOOST_CHECK_EQUAL
    - BOOST_CHECK
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ParseMoney)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:494,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:494,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:495,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:495,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:496,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:496,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:497,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:497,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:499,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:499,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:500,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:500,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:501,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:501,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:502,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:502,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:503,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:503,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:504,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/util_tests.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 505
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - IsHex
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_IsHex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/util_tests.cpp:509,1
    - Dst: sqrt
      Src: /src/bitcoin-core/src/test/util_tests.cpp:514,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/util_tests.cpp:523,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:527,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 530
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - SeedRandomForTest
    - sqrt
    - rand32
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_seed_insecure_rand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:534,1
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/test/util_tests.cpp:534,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:534,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:534,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:535,1
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/test/util_tests.cpp:535,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:535,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:535,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:536,1
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/test/util_tests.cpp:536,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:536,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:536,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:537,1
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/test/util_tests.cpp:537,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:537,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:537,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:538,1
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/test/util_tests.cpp:538,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:538,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:538,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:539,1
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/test/util_tests.cpp:539,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:539,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:539,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:540,1
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/test/util_tests.cpp:540,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:540,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - TimingResistantEqual
    - std::string
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_TimingResistantEqual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:551,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util_tests.cpp:551,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:552,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util_tests.cpp:552,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:553,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util_tests.cpp:553,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:557,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util_tests.cpp:557,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:558,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util_tests.cpp:558,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:559,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util_tests.cpp:559,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:563,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util_tests.cpp:563,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:564,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util_tests.cpp:564,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:565,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util_tests.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 566
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - strprintf
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(strprintf_numbers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:572,1
    - Dst: UninterruptibleSleep
      Src: /src/bitcoin-core/src/test/util_tests.cpp:575,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:576,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:576,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:577,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/util_tests.cpp:577,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:578,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/test/util_tests.cpp:578,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/test/util_tests.cpp:578,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:579,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/test/util_tests.cpp:579,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/util_tests.cpp:579,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:580,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:580,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:581,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:581,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:582,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/test/util_tests.cpp:582,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/test/util_tests.cpp:582,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:583,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:583,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/util_tests.cpp:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 586
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - GetTime
    - UninterruptibleSleep
    - SetMockTime
    - TicksSinceEpoch
    - BOOST_CHECK_EQUAL
    - NodeClock::now
    - Now
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_mocktime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:590,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:590,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:591,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:591,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:592,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:592,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:593,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:593,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:595,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:595,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:596,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:596,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:597,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:597,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:598,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:598,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:599,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:599,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:600,1
    - Dst: IsDigit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - IsDigit
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_IsDigit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:607,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:608,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:608,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:609,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:609,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:610,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:610,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:611,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:611,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:613,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:613,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:614,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:614,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:615,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:615,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:616,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:616,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:617,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:617,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:618,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:618,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:619,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:619,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:620,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 621
    functionName: TestAddMatrixOverflow
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - SaturatingAdd
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - RandomMixin::max
    - CheckedAdd
    linkageType: ''
    returnType: void
    signature: void TestAddMatrixOverflow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestAddMatrixOverflow
      Src: /src/bitcoin-core/src/test/util_tests.cpp:627,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/util_tests.cpp:628,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:629,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:630,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:630,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:631,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:631,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:632,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:632,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:633,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:633,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:635,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:635,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:636,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:636,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:637,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:637,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:638,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:638,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:639,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:639,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:640,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:640,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:641,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:641,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:642,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/util_tests.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 643
    functionName: TestAddMatrix
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - SaturatingAdd
    - RandomMixin::min
    - TestAddMatrixOverflow
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - RandomMixin::max
    - CheckedAdd
    linkageType: ''
    returnType: void
    signature: void TestAddMatrix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestAddMatrixOverflow
      Src: /src/bitcoin-core/src/test/util_tests.cpp:647,1
    - Dst: TestAddMatrix
      Src: /src/bitcoin-core/src/test/util_tests.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 4
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - TestAddMatrixOverflow
    - TestAddMatrix
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:654,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:654,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:655,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:655,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:656,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:656,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:657,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:657,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:658,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:658,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:659,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:659,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:660,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:660,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:661,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:661,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:662,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:662,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:663,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:663,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:664,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:664,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:665,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:665,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:666,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:666,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:667,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:667,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:668,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:668,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:669,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:669,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:670,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:670,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:671,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:671,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:672,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:672,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:673,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:673,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:674,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:674,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:675,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:675,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:676,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:676,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:677,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 678
    functionName: RunToIntegralTests
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - ToIntegral
    linkageType: ''
    returnType: void
    signature: void RunToIntegralTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:682,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:682,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:683,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:683,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:684,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:684,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:685,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:685,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:686,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:686,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:687,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:687,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:688,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:688,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:689,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:689,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:690,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:690,1
    - Dst: RunToIntegralTests
      Src: /src/bitcoin-core/src/test/util_tests.cpp:692,1
    - Dst: RunToIntegralTests
      Src: /src/bitcoin-core/src/test/util_tests.cpp:693,1
    - Dst: RunToIntegralTests
      Src: /src/bitcoin-core/src/test/util_tests.cpp:694,1
    - Dst: RunToIntegralTests
      Src: /src/bitcoin-core/src/test/util_tests.cpp:695,1
    - Dst: RunToIntegralTests
      Src: /src/bitcoin-core/src/test/util_tests.cpp:696,1
    - Dst: RunToIntegralTests
      Src: /src/bitcoin-core/src/test/util_tests.cpp:697,1
    - Dst: RunToIntegralTests
      Src: /src/bitcoin-core/src/test/util_tests.cpp:698,1
    - Dst: RunToIntegralTests
      Src: /src/bitcoin-core/src/test/util_tests.cpp:699,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:701,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:701,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:702,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:702,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:703,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:703,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:704,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:704,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:706,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:706,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:707,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:707,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:708,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:708,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:709,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:709,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:711,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:711,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:712,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:712,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:713,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:713,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:714,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:714,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:716,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:716,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:717,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:717,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:718,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:718,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:719,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:719,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:721,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:721,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:722,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:722,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:723,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:723,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:724,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:724,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:726,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:726,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:727,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:727,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:728,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:728,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:729,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:729,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:731,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:731,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:732,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:732,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:733,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:733,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:734,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:734,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:736,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:736,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:737,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:737,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:738,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:738,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:739,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/util_tests.cpp:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 740
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - RunToIntegralTests
    - ToIntegral
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_ToIntegral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/bitcoin-core/src/test/util_tests.cpp:744,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/test/util_tests.cpp:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: atoi64_legacy
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - strtoll
    linkageType: ''
    returnType: int64_t
    signature: int64_t atoi64_legacy(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:749,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:749,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:750,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:750,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:751,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:751,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:752,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:752,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:753,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:753,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:754,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:754,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:755,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:755,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:756,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:756,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:757,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:757,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:758,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:758,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:759,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:759,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:760,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:760,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:761,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:761,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:762,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:762,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:763,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:763,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:764,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:764,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:765,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:765,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:767,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:767,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:768,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:768,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:769,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:769,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:770,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:770,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:771,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:771,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:772,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:772,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:773,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:773,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:774,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:774,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:775,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:775,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:777,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:777,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:778,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:778,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:779,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:779,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:780,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:780,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/util_tests.cpp:783,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:786,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:794,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:794,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:799,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:799,1
    - Dst: atoi64_legacy
      Src: /src/bitcoin-core/src/test/util_tests.cpp:799,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:802,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:802,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:803,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:803,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:804,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:804,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:805,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:805,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:807,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:807,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:808,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:808,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:809,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:809,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:810,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:810,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:812,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:812,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:813,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:813,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:814,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:814,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:815,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:815,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:817,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:817,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:818,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:818,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:819,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:819,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:820,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:820,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:822,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:822,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:823,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:823,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:824,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:824,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:825,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:825,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:827,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:827,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:828,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:828,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:829,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:829,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:830,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:830,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:832,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:832,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:833,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:833,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:834,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:834,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:835,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/util_tests.cpp:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 836
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - RandomMixin::min
    - LocaleIndependentAtoi
    - atoi64_legacy
    - BOOST_CHECK_EQUAL
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_LocaleIndependentAtoi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:840,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:840,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:841,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:841,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:842,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:842,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:843,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:843,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:844,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:844,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:845,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:845,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:846,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:846,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:849,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:849,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:851,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:851,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:854,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:854,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:855,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:855,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:857,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:857,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:859,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:859,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:860,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:860,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:861,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:861,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:862,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/util_tests.cpp:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 863
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - FormatParagraph
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_FormatParagraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/util_tests.cpp:868,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/util_tests.cpp:870,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util_tests.cpp:871,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:871,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:871,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:872,1
    - Dst: FormatSubVersion
      Src: /src/bitcoin-core/src/test/util_tests.cpp:872,1
    - Dst: std::vector<std::string>
      Src: /src/bitcoin-core/src/test/util_tests.cpp:872,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:872,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:873,1
    - Dst: FormatSubVersion
      Src: /src/bitcoin-core/src/test/util_tests.cpp:873,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:873,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:874,1
    - Dst: FormatSubVersion
      Src: /src/bitcoin-core/src/test/util_tests.cpp:874,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 875
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - std::string
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - std::vector<std::string>
    - SanitizeString
    - FormatSubVersion
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_FormatSubVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:880,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:880,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:881,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:882,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:882,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:883,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:884,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:884,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:885,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:886,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:886,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:887,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:888,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:888,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:889,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:890,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:890,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:891,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:892,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:892,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:893,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:894,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:894,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:895,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:896,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:896,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:897,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:898,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:898,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:899,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:900,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:900,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:901,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:902,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:902,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:903,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:904,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:904,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:905,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:906,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:906,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:907,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:908,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:908,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:909,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:910,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:910,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:911,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:913,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:913,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:914,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:914,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:915,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:915,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:916,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:916,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:917,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:917,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:918,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:918,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:919,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:919,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:920,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:920,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:921,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:921,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:922,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:922,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:923,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:923,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:924,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:924,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:925,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:925,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:926,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:926,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:927,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:927,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:928,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:928,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:929,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:929,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:930,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:930,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:931,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:931,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:932,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:932,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:933,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:933,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:934,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:934,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:935,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:935,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:936,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:936,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:937,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:937,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:938,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:938,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:939,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:939,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:942,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:942,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:943,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:944,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:944,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:945,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:945,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:946,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:946,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:947,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:947,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:948,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/util_tests.cpp:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 949
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - ParseFixedPoint
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_ParseFixedPoint)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/bitcoin-core/src/test/util_tests.cpp:966,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:967,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:971,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:976,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/util_tests.cpp:978,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:979,1
    - Dst: ReleaseDirectoryLocks
      Src: /src/bitcoin-core/src/test/util_tests.cpp:982,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/util_tests.cpp:984,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:985,1
    - Dst: close
      Src: /src/bitcoin-core/src/test/util_tests.cpp:988,1
    - Dst: exit
      Src: /src/bitcoin-core/src/test/util_tests.cpp:989,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util_tests.cpp:991,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - dirname
    - lockname
    - fd
    argTypes:
    - fs::path
    - fs::path
    - int
    assertStmts:
    - condition: (rv == 1)
      pos:
        line_end: 966
        line_start: 966
        source_file: /src/bitcoin-core/src/test/util_tests.cpp
    - condition: (false)
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/bitcoin-core/src/test/util_tests.cpp
    - condition: (rv == 1)
      pos:
        line_end: 978
        line_start: 978
        source_file: /src/bitcoin-core/src/test/util_tests.cpp
    - condition: (rv == 1)
      pos:
        line_end: 984
        line_start: 984
        source_file: /src/bitcoin-core/src/test/util_tests.cpp
    - condition: (0)
      pos:
        line_end: 990
        line_start: 990
        source_file: /src/bitcoin-core/src/test/util_tests.cpp
    constantsTouched: []
    func_position:
      end: 994
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 994
    functionName: TestOtherProcess
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - write
    - read
    - close
    - util::LockDirectory
    - exit
    - assert
    - ReleaseDirectoryLocks
    linkageType: ''
    returnType: void
    signature: void TestOtherProcess(fs::path dirname, fs::path lockname, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/util_tests.cpp:999,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1006,1
    - Dst: socketpair
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1006,1
    - Dst: fork
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1007,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1009,1
    - Dst: close
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1009,1
    - Dst: TestOtherProcess
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1010,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1012,1
    - Dst: close
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1012,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1016,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1016,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1017,1
    - Dst: read
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1017,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1018,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1021,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1021,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1023,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1026,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1026,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1029,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1029,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1032,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1032,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1036,1
    - Dst: std::thread::join
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1037,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1038,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1041,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1041,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1042,1
    - Dst: read
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1042,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1043,1
    - Dst: ReleaseDirectoryLocks
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1046,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1048,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1048,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1051,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1051,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1052,1
    - Dst: read
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1052,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1053,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1056,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1056,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1059,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1059,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1060,1
    - Dst: read
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1060,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1061,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1064,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1064,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1070,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1070,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1074,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1074,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1075,1
    - Dst: waitpid
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1075,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1076,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1077,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1077,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1079,1
    - Dst: close
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1079,1
    - Dst: ReleaseDirectoryLocks
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1082,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1084
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - socketpair
    - fs::remove_all
    - write
    - TestOtherProcess
    - read
    - fork
    - std::thread::join
    - GetDataDirBase
    - close
    - waitpid
    - BOOST_CHECK_EQUAL
    - fs::create_directories
    - util::LockDirectory
    - ReleaseDirectoryLocks
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_LockDirectory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1088,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1088,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1089,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1089,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1090,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1090,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1091,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1091,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1092,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1092,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1093,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1093,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1095,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1095,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1096,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1096,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1097,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1098
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - ToLower
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_ToLower)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1102,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1102,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1103,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1104,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1104,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1105,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1105,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1106,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1106,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1107,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1107,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1109,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1109,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1110,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1110,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1111,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1112
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - ToUpper
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_ToUpper)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1116,1
    - Dst: Capitalize
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1116,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1117,1
    - Dst: Capitalize
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1117,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1118,1
    - Dst: Capitalize
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1119
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - Capitalize
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_Capitalize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1123,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1123,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' span'
    argTypes:
    - std::span<const char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1124
    functionName: SpanToStr
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string SpanToStr(const std::span<const char>& span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1137,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1138,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1138,1
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1141,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1142,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1142,1
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1144,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1146,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1146,1
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1148,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1149,1
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1152,1
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1154,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1155,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1156,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1156,1
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1158,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1159,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1160,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1160,1
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1162,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1163,1
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1165,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1166,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1167,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1167,1
    - Dst: Const
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1169,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1170,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1171,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1171,1
    - Dst: Func
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1177,1
    - Dst: Func
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1179,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1180,1
    - Dst: Func
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1182,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1183,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1184,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1184,1
    - Dst: Func
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1186,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1187,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1188,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1188,1
    - Dst: Func
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1190,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1191,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1198,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1199,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1199,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1200,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1200,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1204,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1205,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1205,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1206,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1206,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1210,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1211,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1211,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1212,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1212,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1216,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1217,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1217,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1218,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1218,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1222,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1223,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1223,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1224,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1224,1
    - Dst: Split
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1230,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1231,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1231,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1232,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1232,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1233,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1233,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1234,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1234,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1235,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1235,1
    - Dst: Split
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1238,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1239,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1239,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1240,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1240,1
    - Dst: Split
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1243,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1244,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1244,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1245,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1245,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1246,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1246,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1247,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1247,1
    - Dst: Split
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1249,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1250,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1250,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1251,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1251,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1252,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1252,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1253,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1253,1
    - Dst: Split
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1256,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1257,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1257,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1258,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1258,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1259,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1259,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1260,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1260,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1261,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1261,1
    - Dst: Split
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1263,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1264,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1264,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1265,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1265,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1266,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1266,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1267,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1267,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1268,1
    - Dst: SpanToStr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1126
    functionDepth: 2
    functionLinenumber: 1126
    functionLinenumberEnd: 1269
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - Const
    - Func
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Expr
    - Split
    - std::vector::size
    - SpanToStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_script_parsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1275,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1276,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1276,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1277,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1282,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1283,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1283,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1284,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1285,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1290,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1291,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1291,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1292,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1293,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1294,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1299,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1300,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1300,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1301,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1306,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1307,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1307,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1308,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1309,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1314,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1315,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1315,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1316,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1322,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1322,1
    - Dst: V
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1322,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1323,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1323,1
    - Dst: V
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1323,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1324,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1324,1
    - Dst: V
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1324,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1325,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1325,1
    - Dst: V
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1325,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1326,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1326,1
    - Dst: V
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1326,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1327,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1327,1
    - Dst: V
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1327,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1328,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1328,1
    - Dst: V
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1328,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1329,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1329,1
    - Dst: V
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1331
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - SplitString
    - V
    - std::vector::size
    - BOOST_TEST
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_SplitString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1336,1
    - Dst: BCLog::LogEscapeMessage
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1336,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1338,1
    - Dst: BCLog::LogEscapeMessage
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1338,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1340,1
    - Dst: BCLog::LogEscapeMessage
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1340,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1343,1
    - Dst: BCLog::LogEscapeMessage
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1344
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BCLog::LogEscapeMessage
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_LogEscapeMessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1355
    functionName: Tracker
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tracker() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Tracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1356
    functionName: Tracker
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tracker(const Tracker& t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Tracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1357
    functionName: Tracker
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tracker(Tracker&& t) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Tracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1365
    functionName: '& operator=(const Tracker& t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Tracker
    signature: Tracker & operator=(const Tracker& t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1355
    functionName: Tracker
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tracker() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Tracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1356
    functionName: Tracker
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tracker(const Tracker& t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Tracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1357
    functionName: Tracker
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tracker(Tracker&& t) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Tracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1365
    functionName: '& operator=(const Tracker& t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Tracker
    signature: Tracker & operator=(const Tracker& t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1376,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1377,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1378,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1380,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1381,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1381,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1382,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1383,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1385,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1385,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1386,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1386,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1387,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1388,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1390,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1390,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1391,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1391,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1392,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1393,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1394,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1395,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1397,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1397,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1397,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1398,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1398,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1400,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1401,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1402,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1403,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1404,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1406,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1407,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1407,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1408,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1409,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1410,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1411,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1412,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1413,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1414,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1415,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1417,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1417,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1418,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1418,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1419,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1420,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1421,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1422,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1423,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1424,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1426,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1426,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1427,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1427,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1428,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1429,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1430,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1431,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1433,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1434,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1435,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1437,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1437,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1437,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1438,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1438,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1439,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1440,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1441,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1442,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1443,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1445
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - std::move
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Vector
    - Cat
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_tracked_vector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1463,1
    - Dst: BOOST_REQUIRE_MESSAGE
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1466,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1466,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1469,1
    - Dst: MessageSign
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1469,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1472,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1472,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1472,1
    - Dst: BOOST_REQUIRE_MESSAGE
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1474,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1474,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1477,1
    - Dst: MessageSign
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1477,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1447
    functionDepth: 3
    functionLinenumber: 1447
    functionLinenumberEnd: 1481
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - MessageSign
    - CKey::Set
    - CKey::CKey
    - BOOST_CHECK_EQUAL
    - std::array::begin
    - std::array::end
    - BOOST_CHECK_MESSAGE
    - BOOST_REQUIRE_MESSAGE
    - CKey::IsValid
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(message_sign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1485,1
    - Dst: MessageVerify
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1486,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1492,1
    - Dst: MessageVerify
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1493,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1499,1
    - Dst: MessageVerify
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1500,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1506,1
    - Dst: MessageVerify
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1507,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1513,1
    - Dst: MessageVerify
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1514,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1520,1
    - Dst: MessageVerify
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1521,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1527,1
    - Dst: MessageVerify
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1533
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - MessageVerify
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(message_verify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1539,1
    - Dst: length
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1539,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1541,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1541,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1544,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1545,1
    - Dst: MessageHash
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1546,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1548,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1535
    functionDepth: 4
    functionLinenumber: 1535
    functionLinenumberEnd: 1550
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - Hash
    - BOOST_CHECK_NE
    - std::string::length
    - MessageHash
    - length
    - std::string
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(message_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1554,1
    - Dst: RemovePrefix
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1554,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1555,1
    - Dst: RemovePrefixView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1555,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1556,1
    - Dst: RemovePrefix
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1556,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1557,1
    - Dst: RemovePrefixView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1557,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1558,1
    - Dst: RemovePrefix
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1558,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1559,1
    - Dst: RemovePrefixView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1559,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1560,1
    - Dst: RemovePrefix
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1560,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1561,1
    - Dst: RemovePrefixView
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1561,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1562,1
    - Dst: RemovePrefix
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1563
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - RemovePrefix
    - RemovePrefixView
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(remove_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1570,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1570,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1571,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1571,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1573,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1573,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1574,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1574,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1576,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1576,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1577,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1577,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1579,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1579,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1580,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1580,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1582,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1582,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1583,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1583,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1586,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1586,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1589,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1589,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1590,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1590,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1593,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1593,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1594,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1594,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1597,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1597,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1598,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1598,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1601,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1601,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1604,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1604,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1607,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1607,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1610,1
    - Dst: ParseByteUnits
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1611
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - ParseByteUnits
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ParseByteUnits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1615,1
    - Dst: ReadBinaryFile
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1627,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1628,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1629,1
    - Dst: ReadBinaryFile
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1633,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1633,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1634,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1635,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1635,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1635,1
    - Dst: ReadBinaryFile
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1640,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1641,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1642,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1644
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - std::string::size
    - empty
    - GetDataDirBase
    - ReadBinaryFile
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ReadBinaryFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1648,1
    - Dst: WriteBinaryFile
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1651,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1655,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1646
    functionDepth: 1
    functionLinenumber: 1646
    functionLinenumberEnd: 1657
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - WriteBinaryFile
    - BOOST_CHECK_EQUAL
    - GetDataDirBase
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_WriteBinaryFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1663,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1664,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1664,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1665,1
    - Dst: std::vector::capacity
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1665,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1670,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1671,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1671,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1672,1
    - Dst: std::vector::capacity
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1672,1
    - Dst: ClearShrink
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1677,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1678,1
    - Dst: std::deque::size
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1681
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - std::deque::size
    - std::vector::capacity
    - BOOST_CHECK_EQUAL
    - std::vector::size
    - ClearShrink
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(clearshrink_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1686,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1689,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1689,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1690,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1690,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1691,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1691,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1692,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1692,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1693,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1693,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1696,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1696,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1699,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1699,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1700,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1700,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1701,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1701,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1702,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1702,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1705,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1707,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1707,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1708,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1708,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1709,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1709,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1710,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1710,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1712,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1712,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1713,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1713,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1714,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1716
    functionName: TestCheckedLeftShift
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::min
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CheckedLeftShift
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void TestCheckedLeftShift()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1721,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1724,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1724,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1725,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1725,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1726,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1726,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1727,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1727,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1728,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1728,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1731,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1731,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1734,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1734,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1735,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1735,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1736,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1736,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1737,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1737,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1740,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1742,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1742,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1743,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1743,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1744,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1744,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1745,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1745,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1747,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1747,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1748,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1748,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1749,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1719
    functionDepth: 2
    functionLinenumber: 1719
    functionLinenumberEnd: 1751
    functionName: TestSaturatingLeftShift
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - RandomMixin::min
    - RandomMixin::max
    - SaturatingLeftShift
    linkageType: ''
    returnType: void
    signature: void TestSaturatingLeftShift()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestCheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1755,1
    - Dst: TestCheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1756,1
    - Dst: TestCheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1757,1
    - Dst: TestCheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1758,1
    - Dst: TestCheckedLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1753
    functionDepth: 3
    functionLinenumber: 1753
    functionLinenumberEnd: 1760
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - TestCheckedLeftShift
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(checked_left_shift_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestSaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1764,1
    - Dst: TestSaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1765,1
    - Dst: TestSaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1766,1
    - Dst: TestSaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1767,1
    - Dst: TestSaturatingLeftShift
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1762
    functionDepth: 3
    functionLinenumber: 1762
    functionLinenumberEnd: 1769
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - TestSaturatingLeftShift
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(saturating_left_shift_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1773,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1774,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1775,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1776,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1776,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/util_tests.cpp:1776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1771
    functionDepth: 2
    functionLinenumber: 1771
    functionLinenumberEnd: 1777
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - BOOST_CHECK_EQUAL
    - static_cast<unsigned long long>
    - HasReason
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(mib_string_literal_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:33,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:34,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:35,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:36,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:39,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:45,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:46,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:47,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:49,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:50,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:56,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:57,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:58,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:60,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:61,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:66,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:67,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:70,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:71,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:72,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:72,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:75,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:75,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:76,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:77,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:77,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:78,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:78,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:81,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:81,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:84,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:84,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:85,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:85,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:88,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:89,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:90,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:90,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:92,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:93,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:94,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:94,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:95,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:96,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:97,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:97,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:99,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:100,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:100,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:101,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:101,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:102,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:102,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:107,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:107,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:108,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:108,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:112,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:113,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:113,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:114,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:114,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 116
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/mempool_tests.cpp
    functionUses: 1
    functionsReached:
    - removeRecursive
    - CMutableTransaction::vout::resize
    - LOCK2
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - GetHash
    - AddToMempool
    - size
    - CMutableTransaction::GetHash
    - BOOST_CHECK_EQUAL
    - Assert
    - vout::resize
    - TestMemPoolEntryHelper::FromTx
    - CScript
    - vin::resize
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(MempoolRemoveTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:131,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:132,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:136,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:137,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:138,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:140,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:140,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:143,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:144,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:145,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:147,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:147,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:150,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:151,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:152,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:154,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:154,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:157,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:158,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:159,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:161,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:161,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:164,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:165,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:166,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:169,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:169,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:170,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:170,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:173,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:174,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:175,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:176,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:177,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:178,1
    - Dst: CheckSort<descendant_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:179,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:183,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:184,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:185,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:187,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:187,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:188,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:188,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:190,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:190,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:190,1
    - Dst: CheckSort<descendant_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:191,1
    - Dst: CTxMemPool::setEntries::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:194,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:194,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:194,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:195,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:196,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:197,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:197,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:198,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:199,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:200,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:202,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:206,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:206,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:206,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:207,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:208,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:211,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:211,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:212,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:212,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:215,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:215,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:216,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:216,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:217,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:217,1
    - Dst: CheckSort<descendant_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:218,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:221,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:222,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:223,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:223,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:224,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:225,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:226,1
    - Dst: CTxMemPool::setEntries::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:228,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:228,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:228,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:229,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:229,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:232,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:232,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:232,1
    - Dst: CheckSort<descendant_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:233,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:236,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:237,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:238,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:238,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:239,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:240,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:241,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:243,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:243,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:246,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:246,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:247,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:247,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:247,1
    - Dst: CheckSort<descendant_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:248,1
    - Dst: CTxMemPool::setEntries::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:252,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:252,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:252,1
    - Dst: CTxMemPool::setEntries::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:253,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:253,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:253,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:255,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:256,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:257,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:257,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:258,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:259,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:259,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:260,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:261,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:262,1
    - Dst: CalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:266,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:266,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:266,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:268,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:271,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:271,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:288,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:288,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:288,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:289,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:289,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:289,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:290,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:290,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:290,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:291,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:291,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:291,1
    - Dst: CheckSort<descendant_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:292,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:295,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:295,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:298,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:298,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:298,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:298,1
    - Dst: CheckSort<descendant_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:299,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:301,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:301,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:301,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:301,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:302,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:302,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:302,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 303
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/mempool_tests.cpp
    functionUses: 1
    functionsReached:
    - LOCK2
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - TestMemPoolEntryHelper::FromTx
    - removeRecursive
    - CalculateMemPoolAncestors
    - AddToMempool
    - CMutableTransaction
    - std::vector::insert
    - BOOST_REQUIRE
    - BOOST_CHECK
    - get
    - CMutableTransaction::vin::resize
    - CMutableTransaction::vout::resize
    - std::vector::erase
    - COutPoint
    - TestMemPoolEntryHelper::Fee
    - CheckSort<descendant_score>
    - Assert
    - kernel::NoLimits
    - CTxMemPool::setEntries::insert
    - GetIter
    - std::vector::resize
    - auto::has_value
    - size
    - CMutableTransaction::GetHash
    - std::vector::begin
    - CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(MempoolIndexingTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:307,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:308,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:312,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:313,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:314,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:316,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:316,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:319,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:320,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:321,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:323,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:323,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:324,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:324,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:327,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:328,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:329,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:331,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:331,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:334,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:335,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:336,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:338,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:338,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:341,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:342,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:343,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:345,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:345,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:346,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:346,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:349,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:350,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:351,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:355,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:355,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:356,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:357,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:359,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:360,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:362,1
    - Dst: CheckSort<ancestor_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:364,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:368,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:369,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:370,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:372,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:372,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:374,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:374,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:375,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:375,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:377,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:377,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:378,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:378,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:380,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:380,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:380,1
    - Dst: CheckSort<ancestor_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:382,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:384,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:385,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:386,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:386,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:387,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:388,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:389,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:391,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:391,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:396,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:396,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:397,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:397,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:398,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:398,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:398,1
    - Dst: CheckSort<ancestor_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:399,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:403,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:403,1
    - Dst: removeForBlock
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:404,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:406,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:406,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:408,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:408,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:409,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:411,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:411,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:412,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:412,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:412,1
    - Dst: CheckSort<ancestor_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:413,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:417,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:418,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:419,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:419,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:420,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:421,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:422,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:428,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:428,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:429,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:429,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:429,1
    - Dst: CheckSort<ancestor_score>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 431
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/mempool_tests.cpp
    functionUses: 1
    functionsReached:
    - LOCK2
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - GetVirtualTransactionSize
    - removeForBlock
    - std::vector::end
    - AddToMempool
    - CMutableTransaction
    - std::vector::insert
    - std::vector::pop_back
    - CMutableTransaction::vin::resize
    - CMutableTransaction::vout::resize
    - std::vector::erase
    - CTransaction
    - MakeTransactionRef
    - COutPoint
    - TestMemPoolEntryHelper::Fee
    - Assert
    - std::vector::resize
    - CheckSort<ancestor_score>
    - size
    - CMutableTransaction::GetHash
    - std::vector::begin
    - CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(MempoolAncestorIndexingTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MemPoolTest&>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:436,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:436,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:437,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:440,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:441,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:442,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:443,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:444,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:446,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:446,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:448,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:449,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:450,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:451,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:452,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:454,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:454,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:456,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:456,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:457,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:457,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:457,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:458,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:458,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:458,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:460,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:460,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:461,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:461,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:461,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:462,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:462,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:462,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:464,1
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:464,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:465,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:466,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:467,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:467,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:468,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:469,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:470,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:472,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:472,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:474,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:474,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:475,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:475,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:475,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:476,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:476,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:476,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:477,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:477,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:477,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:479,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:479,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:479,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:480,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:480,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:480,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:481,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:481,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:481,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:482,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:482,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:482,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:484,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:484,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:484,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:484,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:485,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:485,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:485,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:487,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:488,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:489,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:490,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:491,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:492,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:493,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:494,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:496,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:499,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:500,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:501,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:501,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:502,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:503,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:504,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:505,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:506,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:508,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:511,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:512,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:513,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:513,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:514,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:515,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:516,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:517,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:518,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:520,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:523,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:524,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:525,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:525,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:526,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:527,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:527,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:528,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:529,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:530,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:532,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:535,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:535,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:536,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:536,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:537,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:537,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:538,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:538,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:541,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:541,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:542,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:542,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:542,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:543,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:543,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:543,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:544,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:544,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:544,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:546,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:546,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:547,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:547,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:548,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:548,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:550,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:550,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:551,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:551,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:551,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:552,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:552,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:552,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:553,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:553,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:553,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:554,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:554,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:554,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:556,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:556,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:557,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:557,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:560,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:561,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:562,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:562,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:562,1
    - Dst: removeForBlock
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:564,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:565,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:566,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:566,1
    - Dst: llround
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:566,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:566,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:569,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:570,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:570,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:570,1
    - Dst: llround
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:570,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:570,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:573,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:574,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:574,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:574,1
    - Dst: llround
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:574,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:574,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:577,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:578,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:578,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:581,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:582,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 584
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/mempool_tests.cpp
    functionUses: 1
    functionsReached:
    - LOCK2
    - BOOST_CHECK_EQUAL
    - TestMemPoolEntryHelper::FromTx
    - GetVirtualTransactionSize
    - removeForBlock
    - SetMockTime
    - AddToMempool
    - CMutableTransaction
    - BOOST_CHECK
    - DynamicMemoryUsage
    - CMutableTransaction::vin::resize
    - prevout::SetNull
    - exists
    - CMutableTransaction::vout::resize
    - TrimToSize
    - CTransaction
    - COutPoint
    - TestMemPoolEntryHelper::Fee
    - Assert
    - CFeeRate::GetFeePerK
    - static_cast<MemPoolTest&>
    - CMutableTransaction::GetHash
    - llround
    - GetMinFee
    - CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(MempoolSizeLimitTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<CTransactionRef>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:586,1
    - Dst: std::vector<uint32_t>
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:586,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:588,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:589,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:589,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:590,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:590,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:591,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:592,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:593,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:595,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:596,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' output_values'
    argTypes:
    - std::vector<CAmount>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 600
    functionName: make_tx
    functionSourceFile: /src/bitcoin-core/src/test/mempool_tests.cpp
    functionUses: 5
    functionsReached:
    - std::vector<uint32_t>
    - CMutableTransaction::vout::resize
    - std::vector<CTransactionRef>
    - MakeTransactionRef
    - GetHash
    - size
    - CMutableTransaction
    - CScript
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef make_tx(std::vector<CAmount>&& output_values, std::vector<CTransactionRef>&&
      inputs=std::vector<CTransactionRef>(), std::vector<uint32_t>&& input_indices=std::vector<uint32_t>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:607,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:608,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:615,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:616,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:616,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:619,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:619,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:620,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:621,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:627,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:628,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:628,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:635,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:635,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:636,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:637,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:638,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:638,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:639,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:640,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:646,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:647,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:647,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:655,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:655,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:656,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:657,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:658,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:658,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:659,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:660,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:661,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:661,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:662,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:663,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:671,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:672,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:672,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:681,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:681,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:682,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:683,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:684,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:684,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:685,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:686,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:687,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:687,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:688,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:689,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:690,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:690,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:691,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:692,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:707,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:709,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:709,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:710,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:710,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:711,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:712,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:714,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:715,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:715,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:730,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:730,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:731,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:732,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:733,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:733,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:734,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:735,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:736,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:736,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:737,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:738,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:739,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:739,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:740,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:741,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:742,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:742,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:743,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:744,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:745,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:745,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:746,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:747,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:748,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:748,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:749,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:750,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:751,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:751,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:752,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:753,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:754,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:754,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:755,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:756,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:757,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:757,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:758,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 760
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/mempool_tests.cpp
    functionUses: 1
    functionsReached:
    - GetTransactionAncestry
    - LOCK2
    - AddToMempool
    - GetHash
    - TestMemPoolEntryHelper::Fee
    - CTransactionRef::GetHash
    - BOOST_CHECK_EQUAL
    - Assert
    - make_tx
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(MempoolAncestryTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:766,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:767,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:777,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:778,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:779,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:780,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:781,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:781,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:782,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:782,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:783,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:783,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:784,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:784,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:793,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:793,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:794,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:795,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:796,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:796,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:797,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:798,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:799,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:799,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:800,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:801,1
    - Dst: GetTransactionAncestry
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:802,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:802,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:803,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/mempool_tests.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 805
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/mempool_tests.cpp
    functionUses: 1
    functionsReached:
    - GetTransactionAncestry
    - LOCK2
    - AddToMempool
    - GetHash
    - TestMemPoolEntryHelper::Fee
    - CTransactionRef::GetHash
    - BOOST_CHECK_EQUAL
    - Assert
    - make_tx
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(MempoolAncestryTestsDiamond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/test/system_tests.cpp:24,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/system_tests.cpp:25,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/test/system_tests.cpp:25,1
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/test/system_tests.cpp:29,1
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/test/system_tests.cpp:31,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/system_tests.cpp:33,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/test/system_tests.cpp:33,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/system_tests.cpp:34,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/system_tests.cpp:35,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/system_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/system_tests.cpp:36,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/test/system_tests.cpp:36,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/system_tests.cpp:45,1
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/test/system_tests.cpp:45,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/system_tests.cpp:45,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/system_tests.cpp:54,1
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/test/system_tests.cpp:54,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/system_tests.cpp:55,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/system_tests.cpp:56,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/system_tests.cpp:56,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/system_tests.cpp:56,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/system_tests.cpp:68,1
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/test/system_tests.cpp:68,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/system_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/system_tests.cpp:70,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/system_tests.cpp:70,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/system_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/system_tests.cpp:71,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/system_tests.cpp:71,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/system_tests.cpp:82,1
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/test/system_tests.cpp:82,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/system_tests.cpp:82,1
    - Dst: RunCommandParseJSON
      Src: /src/bitcoin-core/src/test/system_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/system_tests.cpp:88,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/test/system_tests.cpp:88,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/test/system_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/system_tests.cpp:90,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/test/system_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/system_tests.cpp:91,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/test/system_tests.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 94
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/system_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - strprintf
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - isNull
    - std::string::find
    - UniValue::find_value
    - what
    - UniValue::isNull
    - get_bool
    - HasReason
    - RunCommandParseJSON
    - UniValue::isObject
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(run_command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetListenPort
      Src: /src/bitcoin-core/src/test/net_tests.cpp:43,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:44,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:44,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:47,1
    - Dst: SoftSetArg
      Src: /src/bitcoin-core/src/test/net_tests.cpp:47,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/net_tests.cpp:47,1
    - Dst: GetListenPort
      Src: /src/bitcoin-core/src/test/net_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - GetListenPort
    - SoftSetArg
    - BOOST_CHECK
    - Params
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(cnode_listen_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:59,1
    - Dst: CService
      Src: /src/bitcoin-core/src/test/net_tests.cpp:59,1
    - Dst: std::make_unique<CNode>
      Src: /src/bitcoin-core/src/test/net_tests.cpp:62,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:67,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:71,1
    - Dst: std::unique_ptr::IsFullOutboundConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:71,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:72,1
    - Dst: std::unique_ptr::IsManualConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:73,1
    - Dst: std::unique_ptr::IsBlockOnlyConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:74,1
    - Dst: std::unique_ptr::IsFeelerConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:75,1
    - Dst: std::unique_ptr::IsAddrFetchConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:76,1
    - Dst: std::unique_ptr::IsInboundConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:76,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:77,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:78,1
    - Dst: std::unique_ptr::ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/test/net_tests.cpp:78,1
    - Dst: std::make_unique<CNode>
      Src: /src/bitcoin-core/src/test/net_tests.cpp:80,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:89,1
    - Dst: std::unique_ptr::IsFullOutboundConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:90,1
    - Dst: std::unique_ptr::IsManualConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:91,1
    - Dst: std::unique_ptr::IsBlockOnlyConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:92,1
    - Dst: std::unique_ptr::IsFeelerConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:92,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:93,1
    - Dst: std::unique_ptr::IsAddrFetchConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:94,1
    - Dst: std::unique_ptr::IsInboundConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:95,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:96,1
    - Dst: std::unique_ptr::ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/test/net_tests.cpp:96,1
    - Dst: std::make_unique<CNode>
      Src: /src/bitcoin-core/src/test/net_tests.cpp:98,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:107,1
    - Dst: std::unique_ptr::IsFullOutboundConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:107,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:108,1
    - Dst: std::unique_ptr::IsManualConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:109,1
    - Dst: std::unique_ptr::IsBlockOnlyConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:109,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:110,1
    - Dst: std::unique_ptr::IsFeelerConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:111,1
    - Dst: std::unique_ptr::IsAddrFetchConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:112,1
    - Dst: std::unique_ptr::IsInboundConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:113,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:114,1
    - Dst: std::unique_ptr::ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/test/net_tests.cpp:114,1
    - Dst: std::make_unique<CNode>
      Src: /src/bitcoin-core/src/test/net_tests.cpp:116,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:125,1
    - Dst: std::unique_ptr::IsFullOutboundConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:126,1
    - Dst: std::unique_ptr::IsManualConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:127,1
    - Dst: std::unique_ptr::IsBlockOnlyConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:127,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:128,1
    - Dst: std::unique_ptr::IsFeelerConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:128,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:129,1
    - Dst: std::unique_ptr::IsAddrFetchConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:129,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:130,1
    - Dst: std::unique_ptr::IsInboundConn
      Src: /src/bitcoin-core/src/test/net_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:131,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:132,1
    - Dst: std::unique_ptr::ConnectedThroughNetwork
      Src: /src/bitcoin-core/src/test/net_tests.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 133
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::ConnectedThroughNetwork
    - std::make_unique<CNode>
    - std::unique_ptr::IsInboundConn
    - std::unique_ptr::IsBlockOnlyConn
    - std::unique_ptr::IsAddrFetchConn
    - std::unique_ptr::IsFullOutboundConn
    - std::unique_ptr::IsFeelerConn
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CAddress
    - std::unique_ptr::IsManualConn
    - CService
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(cnode_simple_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:137,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:140,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:141,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:141,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:142,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/test/net_tests.cpp:142,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:144,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/net_tests.cpp:144,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:145,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:146,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:146,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:149,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:150,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:150,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:151,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/test/net_tests.cpp:151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:153,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/net_tests.cpp:153,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:154,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:155,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:155,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:158,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:159,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:159,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:160,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/test/net_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:162,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/net_tests.cpp:162,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:163,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:163,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:164,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:164,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:167,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:168,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:168,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:169,1
    - Dst: CNetAddr::IsIPv6
      Src: /src/bitcoin-core/src/test/net_tests.cpp:169,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:171,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/net_tests.cpp:171,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:172,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:172,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:173,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:173,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:176,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:177,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:177,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:178,1
    - Dst: CNetAddr::IsIPv6
      Src: /src/bitcoin-core/src/test/net_tests.cpp:178,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:180,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/net_tests.cpp:180,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:181,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:181,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:182,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:182,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:191,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:192,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:192,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:193,1
    - Dst: CNetAddr::IsIPv6
      Src: /src/bitcoin-core/src/test/net_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:194,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/net_tests.cpp:194,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:195,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:195,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:198,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:198,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:202,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:202,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:203,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:203,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:204,1
    - Dst: CNetAddr::IsTor
      Src: /src/bitcoin-core/src/test/net_tests.cpp:204,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:206,1
    - Dst: CNetAddr::IsI2P
      Src: /src/bitcoin-core/src/test/net_tests.cpp:206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:207,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/net_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:208,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:208,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:209,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:209,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:212,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:212,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:215,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:215,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:218,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:218,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:222,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:222,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:225,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:225,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:229,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:229,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:230,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:230,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:231,1
    - Dst: CNetAddr::IsI2P
      Src: /src/bitcoin-core/src/test/net_tests.cpp:231,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:233,1
    - Dst: CNetAddr::IsTor
      Src: /src/bitcoin-core/src/test/net_tests.cpp:233,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:234,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/net_tests.cpp:234,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:235,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:235,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:236,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:236,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/net_tests.cpp:236,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:239,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:239,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:242,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:242,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:245,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:245,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:250,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:251,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:254,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:254,1
    - Dst: CNetAddr::SetInternal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:257,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:258,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:258,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:259,1
    - Dst: CNetAddr::IsInternal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:259,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:261,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/net_tests.cpp:261,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:262,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:262,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:263,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:263,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:266,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 267
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - CNetAddr::IsIPv6
    - CNetAddr::IsI2P
    - CNetAddr::ToStringAddr
    - CNetAddr::IsInternal
    - LookupHost
    - CNetAddr::IsTor
    - CNetAddr::CNetAddr
    - CNetAddr::IsIPv4
    - ToLower
    - BOOST_CHECK
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - CNetAddr::IsValid
    - CNetAddr::IsAddrV1Compatible
    - CNetAddr::SetSpecial
    - CNetAddr::IsBindAny
    - CNetAddr::SetInternal
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(cnetaddr_basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:316,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:317,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/net_tests.cpp:317,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:318,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/net_tests.cpp:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 320
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - LookupHost
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE
    - std::optional::value
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(cnetaddr_tostring_canonical_ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:324,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:328,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:329,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:329,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:330,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:332,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:333,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:334,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:334,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:335,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:337,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:338,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:339,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:339,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:343,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:343,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:345,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:345,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:346,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:347,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:347,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:348,1
    - Dst: CNetAddr::SetInternal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:350,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:351,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:352,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:352,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 354
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - CNetAddr::SetInternal
    - LookupHost
    - CNetAddr::CNetAddr
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE
    - ser_params
    - CNetAddr::SetSpecial
    - HexStr
    - DataStream::clear
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(cnetaddr_serialize_v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:358,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:362,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:363,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:363,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:364,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:366,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:367,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:368,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:368,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:369,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/net_tests.cpp:371,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:372,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:373,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:373,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:374,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:377,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:377,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:379,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:379,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:380,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:381,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:381,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:382,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:384,1
    - Dst: CNetAddr::SetInternal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:384,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:385,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:386,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:386,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 388
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - CNetAddr::SetInternal
    - LookupHost
    - CNetAddr::CNetAddr
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE
    - ser_params
    - CNetAddr::SetSpecial
    - HexStr
    - DataStream::clear
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(cnetaddr_serialize_v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:392,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:400,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:401,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:401,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:402,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/test/net_tests.cpp:402,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:403,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:403,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:404,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:404,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:405,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:405,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/net_tests.cpp:411,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:411,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/net_tests.cpp:411,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:412,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:412,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:413,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/net_tests.cpp:419,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:419,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/net_tests.cpp:420,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:421,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:421,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:422,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/net_tests.cpp:428,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:428,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/net_tests.cpp:429,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:430,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:430,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:431,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:437,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:438,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:438,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:439,1
    - Dst: CNetAddr::IsIPv6
      Src: /src/bitcoin-core/src/test/net_tests.cpp:439,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:440,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:440,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:441,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:441,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:442,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:442,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:449,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:450,1
    - Dst: CNetAddr::IsInternal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:450,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:451,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:451,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:452,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:452,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:453,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:453,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/net_tests.cpp:459,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:459,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/net_tests.cpp:460,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:461,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:461,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:462,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:468,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:469,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:469,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:470,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:470,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:476,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:477,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:477,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:478,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:478,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:484,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:485,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:485,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:486,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:486,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:493,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:494,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:494,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:495,1
    - Dst: CNetAddr::IsTor
      Src: /src/bitcoin-core/src/test/net_tests.cpp:495,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:496,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:496,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:497,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:497,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:499,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:499,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/net_tests.cpp:505,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:505,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/net_tests.cpp:506,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:507,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:507,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:508,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:515,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:516,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:516,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:517,1
    - Dst: CNetAddr::IsI2P
      Src: /src/bitcoin-core/src/test/net_tests.cpp:517,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:518,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:518,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:519,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:519,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:521,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:521,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/net_tests.cpp:527,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:527,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/net_tests.cpp:528,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:529,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:529,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:530,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:536,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:537,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:537,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:538,1
    - Dst: CNetAddr::IsCJDNS
      Src: /src/bitcoin-core/src/test/net_tests.cpp:538,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:539,1
    - Dst: CNetAddr::IsAddrV1Compatible
      Src: /src/bitcoin-core/src/test/net_tests.cpp:539,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/net_tests.cpp:540,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:540,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:541,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:541,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:547,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:548,1
    - Dst: CNetAddr::IsCJDNS
      Src: /src/bitcoin-core/src/test/net_tests.cpp:548,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:549,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:549,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:550,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:550,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/net_tests.cpp:556,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:556,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/net_tests.cpp:557,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:558,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:558,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:559,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/net_tests.cpp:565,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:565,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/net_tests.cpp:566,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:567,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:567,1
    - Dst: DataStream::clear
      Src: /src/bitcoin-core/src/test/net_tests.cpp:568,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:574,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:575,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:575,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:576,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:576,1
    - Dst: ser_params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:582,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:583,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:583,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:584,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 585
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - CNetAddr::IsIPv6
    - CNetAddr::IsI2P
    - CNetAddr::ToStringAddr
    - CNetAddr::IsInternal
    - CNetAddr::IsTor
    - CNetAddr::CNetAddr
    - CNetAddr::IsIPv4
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE
    - CNetAddr::IsCJDNS
    - CNetAddr::IsValid
    - CNetAddr::IsAddrV1Compatible
    - ser_params
    - HasReason
    - DataStream::clear
    - DataStream::empty
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(cnetaddr_unserialize_v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/bitcoin-core/src/test/net_tests.cpp:594,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:595,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:597,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:607,1
    - Dst: CService
      Src: /src/bitcoin-core/src/test/net_tests.cpp:607,1
    - Dst: std::make_unique<CNode>
      Src: /src/bitcoin-core/src/test/net_tests.cpp:608,1
    - Dst: std::unique_ptr::fSuccessfullyConnected::store
      Src: /src/bitcoin-core/src/test/net_tests.cpp:617,1
    - Dst: memset
      Src: /src/bitcoin-core/src/test/net_tests.cpp:621,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:623,1
    - Dst: CService
      Src: /src/bitcoin-core/src/test/net_tests.cpp:623,1
    - Dst: std::unique_ptr::SetAddrLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:624,1
    - Dst: GetLocalAddrForPeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:627,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:630,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:634,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/net_tests.cpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 588
    functionDepth: 8
    functionLinenumber: 588
    functionLinenumberEnd: 637
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<CNode>
    - erase
    - CNetAddr
    - std::unique_ptr::SetAddrLocal
    - memset
    - LOCK
    - GetLocalAddrForPeer
    - CAddress
    - BOOST_CHECK
    - std::unique_ptr::fSuccessfullyConnected::store
    - CService
    - htonl
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ipv4_peer_with_ipv6_addrMe_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args::ForceSetArg
      Src: /src/bitcoin-core/src/test/net_tests.cpp:652,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/net_tests.cpp:652,1
    - Dst: htonl
      Src: /src/bitcoin-core/src/test/net_tests.cpp:656,1
    - Dst: htonl
      Src: /src/bitcoin-core/src/test/net_tests.cpp:661,1
    - Dst: CNode::SetAddrLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:672,1
    - Dst: GetLocalAddrForPeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:675,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:676,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:678,1
    - Dst: htonl
      Src: /src/bitcoin-core/src/test/net_tests.cpp:682,1
    - Dst: CNode::SetAddrLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:693,1
    - Dst: GetLocalAddrForPeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:696,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:697,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:698,1
    - Dst: args::ForceSetArg
      Src: /src/bitcoin-core/src/test/net_tests.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 639
    functionDepth: 8
    functionLinenumber: 639
    functionLinenumberEnd: 701
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - args::ForceSetArg
    - BOOST_CHECK
    - GetLocalAddrForPeer
    - CNode::SetAddrLocal
    - BOOST_REQUIRE
    - strprintf
    - htonl
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_local_addr_for_peer_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:705,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:705,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:706,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:706,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:707,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:707,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:708,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:708,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:709,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:709,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/test/net_tests.cpp:711,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/test/net_tests.cpp:712,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/test/net_tests.cpp:713,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/test/net_tests.cpp:714,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/test/net_tests.cpp:715,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:717,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:717,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:718,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:718,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:719,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:719,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:720,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:720,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:721,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:721,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:723,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:724,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:725,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:726,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:727,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:729,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:729,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:730,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:730,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:731,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:731,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:732,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:732,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:733,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 734
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - Add
    - Contains
    - Remove
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(LimitedAndReachable_Network)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:739,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:739,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:740,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:740,1
    - Dst: RemoveAll
      Src: /src/bitcoin-core/src/test/net_tests.cpp:742,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:744,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:744,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:745,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:745,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:747,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:748,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:749,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:750,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:751,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:752,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 754
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - Contains
    - Add
    - RemoveAll
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(LimitedAndReachable_NetworkCaseUnroutableAndInternal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/test/net_tests.cpp:761,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/test/net_tests.cpp:762,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/test/net_tests.cpp:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p1
    - p2
    - p3
    - p4
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 764
    functionName: UtilBuildAddress
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - memset
    - CNetAddr
    - memcpy
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr UtilBuildAddress(unsigned char p1, unsigned char p2, unsigned
      char p3, unsigned char p4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UtilBuildAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:769,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:771,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:772,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:772,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/test/net_tests.cpp:774,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:775,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/test/net_tests.cpp:775,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 778
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - Add
    - Contains
    - UtilBuildAddress
    - BOOST_CHECK
    - Remove
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(LimitedAndReachable_CNetAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CService
      Src: /src/bitcoin-core/src/test/net_tests.cpp:783,1
    - Dst: UtilBuildAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:783,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:785,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:787,1
    - Dst: IsLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:787,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:788,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:788,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:789,1
    - Dst: IsLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:789,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:791,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:792,1
    - Dst: IsLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 793
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - RemoveLocal
    - AddLocal
    - UtilBuildAddress
    - IsLocal
    - BOOST_CHECK
    - CService
    - Add
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(LocalAddress_BasicLifecycle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:797,1
    - Dst: args::ForceSetArg
      Src: /src/bitcoin-core/src/test/net_tests.cpp:809,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/net_tests.cpp:809,1
    - Dst: args::ForceSetArg
      Src: /src/bitcoin-core/src/test/net_tests.cpp:810,1
    - Dst: htonl
      Src: /src/bitcoin-core/src/test/net_tests.cpp:814,1
    - Dst: htonl
      Src: /src/bitcoin-core/src/test/net_tests.cpp:819,1
    - Dst: static_cast<TestChainstateManager&>
      Src: /src/bitcoin-core/src/test/net_tests.cpp:835,1
    - Dst: JumpOutOfIbd
      Src: /src/bitcoin-core/src/test/net_tests.cpp:836,1
    - Dst: peerman::InitializeNode
      Src: /src/bitcoin-core/src/test/net_tests.cpp:838,1
    - Dst: NetMsg::Make
      Src: /src/bitcoin-core/src/test/net_tests.cpp:844,1
    - Dst: CAddress::V1_NETWORK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:844,1
    - Dst: peerman::ProcessMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:847,1
    - Dst: NetMsg::Make
      Src: /src/bitcoin-core/src/test/net_tests.cpp:850,1
    - Dst: peerman::ProcessMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:854,1
    - Dst: CAddress::V1_NETWORK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:870,1
    - Dst: peerman::SendMessages
      Src: /src/bitcoin-core/src/test/net_tests.cpp:881,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:883,1
    - Dst: ResetIbd
      Src: /src/bitcoin-core/src/test/net_tests.cpp:886,1
    - Dst: args::ForceSetArg
      Src: /src/bitcoin-core/src/test/net_tests.cpp:887,1
    - Dst: args::ForceSetArg
      Src: /src/bitcoin-core/src/test/net_tests.cpp:888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 889
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - static_cast<TestChainstateManager&>
    - args::ForceSetArg
    - JumpOutOfIbd
    - peerman::ProcessMessage
    - ResetIbd
    - CAddress::V1_NETWORK
    - NetMsg::Make
    - peerman::InitializeNode
    - BOOST_CHECK
    - LOCK
    - peerman::SendMessages
    - strprintf
    - htonl
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(initial_advertise_from_version_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CNode>
      Src: /src/bitcoin-core/src/test/net_tests.cpp:895,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/net_tests.cpp:905,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/net_tests.cpp:907,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:908,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:908,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:909,1
    - Dst: CAddress::IsIPv4
      Src: /src/bitcoin-core/src/test/net_tests.cpp:909,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/net_tests.cpp:911,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:912,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:912,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:913,1
    - Dst: CAddress::IsIPv6
      Src: /src/bitcoin-core/src/test/net_tests.cpp:913,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/net_tests.cpp:915,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:916,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:916,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:917,1
    - Dst: CAddress::IsIPv6
      Src: /src/bitcoin-core/src/test/net_tests.cpp:917,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:918,1
    - Dst: CAddress::IsRFC3964
      Src: /src/bitcoin-core/src/test/net_tests.cpp:918,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/net_tests.cpp:920,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:921,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:921,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:922,1
    - Dst: CAddress::IsIPv6
      Src: /src/bitcoin-core/src/test/net_tests.cpp:922,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:923,1
    - Dst: CAddress::IsRFC4380
      Src: /src/bitcoin-core/src/test/net_tests.cpp:923,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:926,1
    - Dst: CAddress::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:926,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:927,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:927,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:928,1
    - Dst: CAddress::IsTor
      Src: /src/bitcoin-core/src/test/net_tests.cpp:928,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:931,1
    - Dst: CAddress::SetSpecial
      Src: /src/bitcoin-core/src/test/net_tests.cpp:931,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:932,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:932,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:933,1
    - Dst: CAddress::IsI2P
      Src: /src/bitcoin-core/src/test/net_tests.cpp:933,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/net_tests.cpp:935,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/test/net_tests.cpp:936,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:937,1
    - Dst: CAddress::IsValid
      Src: /src/bitcoin-core/src/test/net_tests.cpp:937,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:938,1
    - Dst: CAddress::IsCJDNS
      Src: /src/bitcoin-core/src/test/net_tests.cpp:938,1
    - Dst: CreatePeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:940,1
    - Dst: CreatePeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:941,1
    - Dst: CreatePeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:942,1
    - Dst: CreatePeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:943,1
    - Dst: CreatePeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:944,1
    - Dst: CreatePeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:945,1
    - Dst: CreatePeer
      Src: /src/bitcoin-core/src/test/net_tests.cpp:946,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:949,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:950,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:950,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:951,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:951,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:952,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:952,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:953,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:953,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:954,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:954,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:955,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:955,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:956,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:956,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:957,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:960,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:961,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:962,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:962,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:963,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:963,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:964,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:964,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:965,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:965,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:966,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:966,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:967,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:967,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:968,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:968,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:969,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:970,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:973,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:974,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:975,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:976,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:977,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:978,1
    - Dst: AddLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:979,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:980,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:980,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:981,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:981,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:982,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:982,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:983,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:983,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:984,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:984,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:985,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:985,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:986,1
    - Dst: GetLocalAddress
      Src: /src/bitcoin-core/src/test/net_tests.cpp:986,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:987,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:988,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:989,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:990,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:991,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:992,1
    - Dst: RemoveLocal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 892
    functionDepth: 7
    functionLinenumber: 892
    functionLinenumberEnd: 994
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - CAddress::IsTor
    - CAddress::IsCJDNS
    - RemoveLocal
    - BOOST_CHECK
    - BOOST_REQUIRE
    - std::make_unique<CNode>
    - CAddress::IsI2P
    - CAddress::IsValid
    - CAddress::SetSpecial
    - CAddress::IsIPv4
    - CAddress::IsIPv6
    - MaybeFlipIPv6toCJDNS
    - GetLocalAddress
    - CAddress::IsRFC4380
    - AddLocal
    - CreatePeer
    - Lookup
    - CAddress::IsRFC3964
    - Add
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(advertise_local_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1000,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1001,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1002,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1002,1
    - Dst: uint256::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1004
    functionName: GenerateRandomTestKey
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - uint256::begin
    - CKey::Set
    - CKey::CKey
    - uint256::end
    - rand256
    linkageType: ''
    returnType: CKey
    signature: CKey GenerateRandomTestKey(FastRandomContext& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomTestKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1033,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1033,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - test_initiator
    argTypes:
    - FastRandomContext
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1030
    functionDepth: 4
    functionLinenumber: 1030
    functionLinenumberEnd: 1034
    functionName: V2TransportTester::V2TransportTester
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - MakeByteSpan
    - rand256
    - GenerateRandomTestKey
    linkageType: ''
    returnType: void
    signature: void V2TransportTester(FastRandomContext& rng, bool test_initiator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1056,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1057,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1057,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1057,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1058,1
    - Dst: ReceivedBytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1059,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1062,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1064,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1064,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1064,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1064,1
    - Dst: ReceivedMessageComplete
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1068,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1068,1
    - Dst: GetReceivedMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1070,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1072,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1074,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1074,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1079,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1079,1
    - Dst: SetMessageToSend
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1080,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1080,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1081,1
    - Dst: GetBytesToSend
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1086,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1086,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1087,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1087,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1088,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1088,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1089,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1089,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1089,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1089,1
    - Dst: MarkBytesSent
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1091,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1096
    functionName: V2TransportTester::Interact
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - begin
    - std::move
    - randbool
    - pop_front
    - std::span::size
    - GetBytesToSend
    - first
    - empty
    - GetReceivedMessage
    - ReceivedMessageComplete
    - SetMessageToSend
    - end
    - erase
    - size
    - MarkBytesSent
    - randrange
    - ReceivedBytes
    - insert
    - front
    linkageType: ''
    returnType: InteractResult
    signature: InteractResult Interact()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1099
    functionName: '& GetCipher()'
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIP324Cipher
    signature: BIP324Cipher & GetCipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1104,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1104,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1104,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: V2TransportTester::Send
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::span<const uint8_t>::end
    - insert
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void Send(std::span<const uint8_t> data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1110,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' magic'
    argTypes:
    - MessageStartChars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1114
    functionName: V2TransportTester::SendV1Version
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - DataStream::size
    - UCharCast
    - DataStream::data
    - randrange
    - insert
    linkageType: ''
    returnType: void
    signature: void SendV1Version(const MessageStartChars& magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1117,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1117
    functionName: V2TransportTester::Send
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - MakeUCharSpan
    - V2TransportTester::Send
    linkageType: ''
    returnType: void
    signature: void Send(std::span<const std::byte> data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1120,1
    - Dst: GetOurPubKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1120
    functionName: V2TransportTester::SendKey
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - GetOurPubKey
    - V2TransportTester::Send
    linkageType: ''
    returnType: void
    signature: void SendKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1126,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1126,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1126,1
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - garbage
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1129
    functionName: V2TransportTester::SendGarbage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - assign
    - V2TransportTester::Send
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void SendGarbage(std::span<const uint8_t> garbage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1135,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - garbage_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1136
    functionName: V2TransportTester::SendGarbage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - V2TransportTester::SendGarbage
    - randbytes
    linkageType: ''
    returnType: void
    signature: void SendGarbage(size_t garbage_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1141,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1142
    functionName: V2TransportTester::SendGarbage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 2
    functionsReached:
    - V2TransportTester::SendGarbage
    - randrange
    linkageType: ''
    returnType: void
    signature: void SendGarbage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1148,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1149,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1150,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - m_type
    - payload
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1151
    functionName: V2TransportTester::AddMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void AddMessage(std::string m_type, std::vector<uint8_t> payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1161,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1161,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1161,1
    - Dst: Initialize
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1163,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1163,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1163,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1165,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1165,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1165,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1166
    functionName: V2TransportTester::ReceiveKey
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - erase
    - Initialize
    - size
    - BOOST_REQUIRE
    - MakeByteSpan
    - begin
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: void
    signature: void ReceiveKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1174,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1174,1
    - Dst: Encrypt
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1175,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1176,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1177,1
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1182
    functionName: V2TransportTester::SendPacket
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - V2TransportTester::Send
    - MakeByteSpan
    - Encrypt
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void SendPacket(std::span<const uint8_t> content, std::span<const uint8_t>
      aad = {}, bool ignore = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1188,1
    - Dst: GetSendGarbageTerminator
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: V2TransportTester::SendGarbageTerm
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - GetSendGarbageTerminator
    - V2TransportTester::Send
    linkageType: ''
    returnType: void
    signature: void SendGarbageTerm()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::SendPacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1199
    functionName: V2TransportTester::SendVersion
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - V2TransportTester::SendPacket
    linkageType: ''
    returnType: void
    signature: void SendVersion(std::span<const uint8_t> version_data = {}, bool vers_ignore
      = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1210,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1210,1
    - Dst: DecryptLength
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1212,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1212,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1212,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1214,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1214,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1216,1
    - Dst: Decrypt
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1218,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1219,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1220,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1223,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1224,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1228,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1228,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1233
    functionName: V2TransportTester::ReceivePacket
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - erase
    - std::vector::resize
    - size
    - BOOST_CHECK
    - BOOST_REQUIRE
    - MakeWritableByteSpan
    - first
    - MakeByteSpan
    - Decrypt
    - begin
    - DecryptLength
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ReceivePacket(std::span<const std::byte> aad =
      {})
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1242,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1242,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1243,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1243,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1244,1
    - Dst: GetReceiveGarbageTerminator
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1244,1
    - Dst: assign
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1247,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1247,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1247,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1249,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1249,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1250
    functionName: V2TransportTester::ReceiveGarbage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - erase
    - assign
    - size
    - BOOST_REQUIRE
    - GetReceiveGarbageTerminator
    - MakeByteSpan
    - begin
    - subspan
    linkageType: ''
    returnType: void
    signature: void ReceiveGarbage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::ReceivePacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1255,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1255,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1259,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1260
    functionName: V2TransportTester::ReceiveVersion
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - V2TransportTester::ReceivePacket
    - auto::empty
    - MakeByteSpan
    linkageType: ''
    returnType: void
    signature: void ReceiveVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::ReceivePacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1266,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1267,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1267,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1268,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1269,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1269,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - short_id
    - payload
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1270
    functionName: V2TransportTester::ReceiveMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - auto::size
    - BOOST_CHECK
    - V2TransportTester::ReceivePacket
    - std::span<const uint8_t>::size
    - subspan
    linkageType: ''
    returnType: void
    signature: void ReceiveMessage(uint8_t short_id, std::span<const uint8_t> payload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::ReceivePacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1276,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1277,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1277,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1277,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1278,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1280,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1281,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1286,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1286,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' m_type'
    - payload
    argTypes:
    - std::string
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1287
    functionName: V2TransportTester::ReceiveMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - auto::size
    - size
    - BOOST_CHECK
    - BOOST_REQUIRE
    - V2TransportTester::ReceivePacket
    - std::span<const uint8_t>::size
    - subspan
    linkageType: ''
    returnType: void
    signature: void ReceiveMessage(const std::string& m_type, std::span<const uint8_t>
      payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1294,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1296,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1296,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1296,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1296,1
    - Dst: V2TransportTester::SendPacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mtype
    - payload
    argTypes:
    - std::string
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1291
    functionDepth: 3
    functionLinenumber: 1291
    functionLinenumberEnd: 1299
    functionName: V2TransportTester::SendMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::span<const uint8_t>::begin
    - std::string::begin
    - std::vector::data
    - V2TransportTester::SendPacket
    - std::vector::begin
    - std::string::end
    - reinterpret_cast<char*>
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void SendMessage(std::string mtype, std::span<const uint8_t> payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1306,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1308,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1308,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1308,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1308,1
    - Dst: V2TransportTester::SendPacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - short_id
    - payload
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1303
    functionDepth: 3
    functionLinenumber: 1303
    functionLinenumberEnd: 1311
    functionName: V2TransportTester::SendMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::span<const uint8_t>::begin
    - V2TransportTester::SendPacket
    - std::vector::begin
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void SendMessage(uint8_t short_id, std::span<const uint8_t> payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInfo
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1316,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1317,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1318,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1318,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1318,1
    - Dst: GetSessionID
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1314
    functionDepth: 3
    functionLinenumber: 1314
    functionLinenumberEnd: 1319
    functionName: V2TransportTester::CompareSessionIDs
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - MakeUCharSpan
    - GetInfo
    - BOOST_CHECK
    - GetSessionID
    linkageType: ''
    returnType: void
    signature: void CompareSessionIDs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1324,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1324,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1325
    functionName: V2TransportTester::Damage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - randrange
    - size
    linkageType: ''
    returnType: void
    signature: void Damage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1000,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1001,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1002,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1002,1
    - Dst: uint256::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1004
    functionName: GenerateRandomTestKey
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - uint256::begin
    - CKey::Set
    - CKey::CKey
    - uint256::end
    - rand256
    linkageType: ''
    returnType: CKey
    signature: CKey GenerateRandomTestKey(FastRandomContext& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomTestKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1033,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1033,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - test_initiator
    argTypes:
    - FastRandomContext
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1030
    functionDepth: 4
    functionLinenumber: 1030
    functionLinenumberEnd: 1034
    functionName: V2TransportTester::V2TransportTester
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - MakeByteSpan
    - rand256
    - GenerateRandomTestKey
    linkageType: ''
    returnType: void
    signature: void V2TransportTester(FastRandomContext& rng, bool test_initiator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1056,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1057,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1057,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1057,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1058,1
    - Dst: ReceivedBytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1059,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1062,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1064,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1064,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1064,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1064,1
    - Dst: ReceivedMessageComplete
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1068,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1068,1
    - Dst: GetReceivedMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1070,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1072,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1074,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1074,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1079,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1079,1
    - Dst: SetMessageToSend
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1080,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1080,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1081,1
    - Dst: GetBytesToSend
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1086,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1086,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1087,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1087,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1088,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1088,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1089,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1089,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1089,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1089,1
    - Dst: MarkBytesSent
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1091,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1096
    functionName: V2TransportTester::Interact
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - begin
    - std::move
    - randbool
    - pop_front
    - std::span::size
    - GetBytesToSend
    - first
    - empty
    - GetReceivedMessage
    - ReceivedMessageComplete
    - SetMessageToSend
    - end
    - erase
    - size
    - MarkBytesSent
    - randrange
    - ReceivedBytes
    - insert
    - front
    linkageType: ''
    returnType: InteractResult
    signature: InteractResult Interact()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1099
    functionName: '& GetCipher()'
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIP324Cipher
    signature: BIP324Cipher & GetCipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1104,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1104,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1104,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: V2TransportTester::Send
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 5
    functionsReached:
    - end
    - std::span<const uint8_t>::end
    - insert
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void Send(std::span<const uint8_t> data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1110,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' magic'
    argTypes:
    - MessageStartChars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1114
    functionName: V2TransportTester::SendV1Version
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - DataStream::size
    - UCharCast
    - DataStream::data
    - randrange
    - insert
    linkageType: ''
    returnType: void
    signature: void SendV1Version(const MessageStartChars& magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1117,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1117
    functionName: V2TransportTester::Send
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 6
    functionsReached:
    - MakeUCharSpan
    - V2TransportTester::Send
    linkageType: ''
    returnType: void
    signature: void Send(std::span<const std::byte> data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1120,1
    - Dst: GetOurPubKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1120
    functionName: V2TransportTester::SendKey
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - GetOurPubKey
    - V2TransportTester::Send
    linkageType: ''
    returnType: void
    signature: void SendKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1126,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1126,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1126,1
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - garbage
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1129
    functionName: V2TransportTester::SendGarbage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 2
    functionsReached:
    - std::span<const uint8_t>::end
    - assign
    - V2TransportTester::Send
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void SendGarbage(std::span<const uint8_t> garbage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1135,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - garbage_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1136
    functionName: V2TransportTester::SendGarbage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 3
    functionsReached:
    - V2TransportTester::SendGarbage
    - randbytes
    linkageType: ''
    returnType: void
    signature: void SendGarbage(size_t garbage_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1141,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1142
    functionName: V2TransportTester::SendGarbage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 4
    functionsReached:
    - V2TransportTester::SendGarbage
    - randrange
    linkageType: ''
    returnType: void
    signature: void SendGarbage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1148,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1149,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1150,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - m_type
    - payload
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1151
    functionName: V2TransportTester::AddMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void AddMessage(std::string m_type, std::vector<uint8_t> payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1161,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1161,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1161,1
    - Dst: Initialize
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1163,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1163,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1163,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1165,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1165,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1165,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1166
    functionName: V2TransportTester::ReceiveKey
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - erase
    - Initialize
    - size
    - BOOST_REQUIRE
    - MakeByteSpan
    - begin
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: void
    signature: void ReceiveKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1174,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1174,1
    - Dst: Encrypt
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1175,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1176,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1177,1
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1182
    functionName: V2TransportTester::SendPacket
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 3
    functionsReached:
    - std::vector::resize
    - V2TransportTester::Send
    - MakeByteSpan
    - Encrypt
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void SendPacket(std::span<const uint8_t> content, std::span<const uint8_t>
      aad = {}, bool ignore = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::Send
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1188,1
    - Dst: GetSendGarbageTerminator
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: V2TransportTester::SendGarbageTerm
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - GetSendGarbageTerminator
    - V2TransportTester::Send
    linkageType: ''
    returnType: void
    signature: void SendGarbageTerm()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::SendPacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1199
    functionName: V2TransportTester::SendVersion
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - V2TransportTester::SendPacket
    linkageType: ''
    returnType: void
    signature: void SendVersion(std::span<const uint8_t> version_data = {}, bool vers_ignore
      = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1210,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1210,1
    - Dst: DecryptLength
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1212,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1212,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1212,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1214,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1214,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1216,1
    - Dst: Decrypt
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1218,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1219,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1220,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1223,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1224,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1228,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1228,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1233
    functionName: V2TransportTester::ReceivePacket
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 3
    functionsReached:
    - erase
    - std::vector::resize
    - size
    - BOOST_CHECK
    - BOOST_REQUIRE
    - MakeWritableByteSpan
    - first
    - MakeByteSpan
    - Decrypt
    - begin
    - DecryptLength
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ReceivePacket(std::span<const std::byte> aad =
      {})
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1242,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1242,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1243,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1243,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1244,1
    - Dst: GetReceiveGarbageTerminator
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1244,1
    - Dst: assign
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1247,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1247,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1247,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1249,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1249,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1250
    functionName: V2TransportTester::ReceiveGarbage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - erase
    - assign
    - size
    - BOOST_REQUIRE
    - GetReceiveGarbageTerminator
    - MakeByteSpan
    - begin
    - subspan
    linkageType: ''
    returnType: void
    signature: void ReceiveGarbage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::ReceivePacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1255,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1255,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1259,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1260
    functionName: V2TransportTester::ReceiveVersion
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - V2TransportTester::ReceivePacket
    - auto::empty
    - MakeByteSpan
    linkageType: ''
    returnType: void
    signature: void ReceiveVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::ReceivePacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1266,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1267,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1267,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1268,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1269,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1269,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - short_id
    - payload
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1270
    functionName: V2TransportTester::ReceiveMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - auto::size
    - BOOST_CHECK
    - V2TransportTester::ReceivePacket
    - std::span<const uint8_t>::size
    - subspan
    linkageType: ''
    returnType: void
    signature: void ReceiveMessage(uint8_t short_id, std::span<const uint8_t> payload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::ReceivePacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1276,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1277,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1277,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1277,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1278,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1280,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1281,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1286,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1286,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' m_type'
    - payload
    argTypes:
    - std::string
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1287
    functionName: V2TransportTester::ReceiveMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - auto::size
    - size
    - BOOST_CHECK
    - BOOST_REQUIRE
    - V2TransportTester::ReceivePacket
    - std::span<const uint8_t>::size
    - subspan
    linkageType: ''
    returnType: void
    signature: void ReceiveMessage(const std::string& m_type, std::span<const uint8_t>
      payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1294,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1295,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1296,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1296,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1296,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1296,1
    - Dst: V2TransportTester::SendPacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mtype
    - payload
    argTypes:
    - std::string
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1291
    functionDepth: 3
    functionLinenumber: 1291
    functionLinenumberEnd: 1299
    functionName: V2TransportTester::SendMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::span<const uint8_t>::begin
    - std::string::begin
    - std::vector::data
    - V2TransportTester::SendPacket
    - std::vector::begin
    - std::string::end
    - reinterpret_cast<char*>
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void SendMessage(std::string mtype, std::span<const uint8_t> payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1306,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1308,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1308,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1308,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1308,1
    - Dst: V2TransportTester::SendPacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - short_id
    - payload
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1303
    functionDepth: 3
    functionLinenumber: 1303
    functionLinenumberEnd: 1311
    functionName: V2TransportTester::SendMessage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::span<const uint8_t>::begin
    - V2TransportTester::SendPacket
    - std::vector::begin
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void SendMessage(uint8_t short_id, std::span<const uint8_t> payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInfo
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1316,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1317,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1318,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1318,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1318,1
    - Dst: GetSessionID
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1314
    functionDepth: 3
    functionLinenumber: 1314
    functionLinenumberEnd: 1319
    functionName: V2TransportTester::CompareSessionIDs
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - MakeUCharSpan
    - GetInfo
    - BOOST_CHECK
    - GetSessionID
    linkageType: ''
    returnType: void
    signature: void CompareSessionIDs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1324,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1324,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1325
    functionName: V2TransportTester::Damage
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 0
    functionsReached:
    - randrange
    - size
    linkageType: ''
    returnType: void
    signature: void Damage()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1335,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1336,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1336,1
    - Dst: V2TransportTester::SendKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1337,1
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1338,1
    - Dst: V2TransportTester::ReceiveKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1339,1
    - Dst: V2TransportTester::SendGarbageTerm
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1340,1
    - Dst: V2TransportTester::SendVersion
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1341,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1342,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1343,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1343,1
    - Dst: V2TransportTester::ReceiveGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1344,1
    - Dst: V2TransportTester::ReceiveVersion
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1345,1
    - Dst: V2TransportTester::CompareSessionIDs
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1346,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1347,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1347,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1348,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1348,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1349,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1350,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1351,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1352,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1353,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1353,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1354,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1354,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1354,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1355,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1356,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1356,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1356,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1361,1
    - Dst: V2TransportTester::Damage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1362,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1364,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1366,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1366,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1368,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1368,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1369,1
    - Dst: V2TransportTester::SendKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1376,1
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1377,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1378,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1379,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1379,1
    - Dst: V2TransportTester::ReceiveKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1380,1
    - Dst: V2TransportTester::SendGarbageTerm
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1381,1
    - Dst: V2TransportTester::SendVersion
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1382,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1383,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1384,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1384,1
    - Dst: V2TransportTester::ReceiveGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1385,1
    - Dst: V2TransportTester::ReceiveVersion
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1386,1
    - Dst: V2TransportTester::CompareSessionIDs
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1387,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1388,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1388,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1389,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1389,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1390,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1391,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1392,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1393,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1394,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1394,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1394,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1395,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1395,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1395,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1398,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1399,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1400,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1401,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1407,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1409,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1411,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1413,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1413,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1413,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1415,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1417,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1417,1
    - Dst: V2TransportTester::SendKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1420,1
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1421,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1423,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1424,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1424,1
    - Dst: V2TransportTester::SendKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1426,1
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1427,1
    - Dst: V2TransportTester::ReceiveKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1429,1
    - Dst: V2TransportTester::SendGarbageTerm
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1430,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1432,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1432,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1433,1
    - Dst: V2TransportTester::SendVersion
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1434,1
    - Dst: V2TransportTester::SendVersion
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1436,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1437,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1438,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1438,1
    - Dst: V2TransportTester::ReceiveGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1439,1
    - Dst: V2TransportTester::ReceiveVersion
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1440,1
    - Dst: V2TransportTester::CompareSessionIDs
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1441,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1443,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1443,1
    - Dst: V2TransportTester::SendPacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1444,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1446,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1446,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1447,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1449,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1449,1
    - Dst: V2TransportTester::SendPacket
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1450,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1452,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1452,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1453,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1455,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1455,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1456,1
    - Dst: V2TransportTester::AddMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1457,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1458,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1459,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1459,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1460,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1460,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1460,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1461,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1461,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1461,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1462,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1463,1
    - Dst: m_recv::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1463,1
    - Dst: V2TransportTester::ReceiveMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1464,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1470,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1471,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1471,1
    - Dst: V2TransportTester::SendKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1472,1
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1473,1
    - Dst: V2TransportTester::ReceiveKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1474,1
    - Dst: V2TransportTester::SendGarbageTerm
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1475,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1476,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1477,1
    - Dst: V2TransportTester::SendKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1483,1
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1484,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1485,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1486,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1486,1
    - Dst: V2TransportTester::ReceiveKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1487,1
    - Dst: V2TransportTester::SendGarbageTerm
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1488,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1489,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1490,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1496,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1497,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1497,1
    - Dst: V2TransportTester::SendKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1498,1
    - Dst: V2TransportTester::ReceiveKey
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1499,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1501,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1503,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1505,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1507,1
    - Dst: V2TransportTester::GetCipher
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1507,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1508,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1508,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1508,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1508,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1511,1
    - Dst: V2TransportTester::SendGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1512,1
    - Dst: V2TransportTester::SendGarbageTerm
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1513,1
    - Dst: V2TransportTester::SendVersion
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1514,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1515,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1516,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1516,1
    - Dst: V2TransportTester::ReceiveGarbage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1517,1
    - Dst: V2TransportTester::ReceiveVersion
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1518,1
    - Dst: V2TransportTester::CompareSessionIDs
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1519,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1520,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1521,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1522,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1522,1
    - Dst: V2TransportTester::SendMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1523,1
    - Dst: V2TransportTester::AddMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1524,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1525,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1526,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1526,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1527,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1528,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1528,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1528,1
    - Dst: V2TransportTester::ReceiveMessage
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1529,1
    - Dst: V2TransportTester::SendV1Version
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1535,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1535,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1536,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1537,1
    - Dst: V2TransportTester::SendV1Version
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1543,1
    - Dst: CChainParams::Main
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1543,1
    - Dst: V2TransportTester::Interact
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1544,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/net_tests.cpp:1545,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 137
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1330
    functionDepth: 4
    functionLinenumber: 1330
    functionLinenumberEnd: 1547
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/net_tests.cpp
    functionUses: 1
    functionsReached:
    - std::copy
    - auto::size
    - randbytes
    - std::string
    - randbool
    - V2TransportTester::ReceiveVersion
    - all_bytes_equal
    - m_recv::empty
    - auto::begin
    - V2TransportTester::SendMessage
    - MakeUCharSpan
    - V2TransportTester::GetCipher
    - BOOST_CHECK
    - BOOST_REQUIRE
    - V2TransportTester::AddMessage
    - CChainParams::Main
    - V2TransportTester::SendV1Version
    - V2TransportTester::SendGarbage
    - V2TransportTester::SendVersion
    - auto::empty
    - V2TransportTester::CompareSessionIDs
    - V2TransportTester::SendKey
    - MakeByteSpan
    - V2TransportTester::SendGarbageTerm
    - Params
    - V2TransportTester::Damage
    - V2TransportTester::ReceiveGarbage
    - V2TransportTester::ReceiveMessage
    - V2TransportTester::SendPacket
    - V2TransportTester::Interact
    - randrange
    - V2TransportTester::ReceiveKey
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(v2transport_test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:79,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:81,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:84,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - strFlags
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: ParseScriptFlags
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_ERROR
    - SplitString
    - count
    - std::string::empty
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ParseScriptFlags(std::string strFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: CheckMapFlagNames
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckMapFlagNames()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:107,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:108,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:114,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: FormatScriptFlags
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::string::size
    - begin
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string FormatScriptFlags(unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:126,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:128,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:128,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:130,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:130,1
    - Dst: TransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:131,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:133,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:137,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:138,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:138,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:143,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:144,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 7
    argNames:
    - ' tx'
    - ' map_prevout_scriptPubKeys'
    - ' map_prevout_values'
    - flags
    - ' txdata'
    - ' strTest'
    - expect_valid
    argTypes:
    - CTransaction
    - std::map<COutPoint, CScript>
    - std::map<COutPoint, int64_t>
    - unsigned int
    - PrecomputedTransactionData
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 147
    functionName: CheckTxScripts
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - VerifyScript
    - BOOST_CHECK_MESSAGE
    - ScriptErrorString
    - at
    - BOOST_ERROR
    - TransactionSignatureChecker
    - count
    - vin::size
    linkageType: ''
    returnType: bool
    signature: "bool CheckTxScripts(const CTransaction& tx, const std::map<COutPoint,
      CScript>& map_prevout_scriptPubKeys,\n    const std::map<COutPoint, int64_t>&
      map_prevout_values, unsigned int flags,\n    const PrecomputedTransactionData&
      txdata, const std::string& strTest, bool expect_valid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:162,1
    - Dst: IsValidFlagCombination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: TrimFlags
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - IsValidFlagCombination
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int TrimFlags(unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:173,1
    - Dst: IsValidFlagCombination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: FillFlags
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - IsValidFlagCombination
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int FillFlags(unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrimFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:185,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: ExcludeIndividualFlags
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - TrimFlags
    - std::set::insert
    linkageType: ''
    returnType: std::set<unsigned int>
    signature: std::set<unsigned int> ExcludeIndividualFlags(unsigned int flags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:197,1
    - Dst: CheckMapFlagNames
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:197,1
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:199,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:201,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:203,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:204,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:206,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:206,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:206,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:208,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:214,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:216,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:218,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:222,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:223,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:223,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:228,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:228,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:228,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:229,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:229,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:230,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:232,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:237,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:241,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:246,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:246,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:247,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:247,1
    - Dst: ParseScriptFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:250,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:250,1
    - Dst: FillFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:253,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:254,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:257,1
    - Dst: CheckTxScripts
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:257,1
    - Dst: TrimFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:263,1
    - Dst: CheckTxScripts
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:264,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:265,1
    - Dst: TrimFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:268,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:268,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:268,1
    - Dst: CheckTxScripts
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:269,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:270,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:270,1
    - Dst: ExcludeIndividualFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:275,1
    - Dst: CheckTxScripts
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:276,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:277,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 282
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - TxValidationState::IsValid
    - get_array
    - ToString
    - randbits
    - ExcludeIndividualFlags
    - CheckTransaction
    - read_json
    - BOOST_ERROR
    - BOOST_CHECK
    - ParseScript
    - CheckTxScripts
    - BOOST_CHECK_MESSAGE
    - write
    - TrimFlags
    - detail::FromHex
    - ParseScriptFlags
    - isStr
    - CheckMapFlagNames
    - get_str
    - UniValue::size
    - FillFlags
    - isArray
    - size
    - getInt
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(tx_valid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:287,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:289,1
    - Dst: write
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:291,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:292,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:294,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:294,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:294,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:296,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:302,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:304,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:306,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:310,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:311,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:311,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:316,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:316,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:316,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:317,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:317,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:318,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:320,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:325,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:329,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:334,1
    - Dst: TxValidationState::IsInvalid
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:334,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:335,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:335,1
    - Dst: ParseScriptFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:340,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:340,1
    - Dst: FillFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:343,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:344,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:348,1
    - Dst: CheckTxScripts
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:348,1
    - Dst: FillFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:353,1
    - Dst: CheckTxScripts
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:355,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:356,1
    - Dst: FillFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:359,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:359,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:359,1
    - Dst: CheckTxScripts
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:360,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:361,1
    - Dst: ExcludeIndividualFlags
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:366,1
    - Dst: CheckTxScripts
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:367,1
    - Dst: BOOST_ERROR
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:368,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 373
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - TxValidationState::IsInvalid
    - get_array
    - randbits
    - ExcludeIndividualFlags
    - CheckTransaction
    - read_json
    - BOOST_ERROR
    - ParseScript
    - CheckTxScripts
    - BOOST_CHECK_MESSAGE
    - write
    - detail::FromHex
    - ParseScriptFlags
    - isStr
    - get_str
    - UniValue::size
    - FillFlags
    - isArray
    - size
    - getInt
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(tx_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:377,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:380,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:380,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:381,1
    - Dst: TxValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - CheckTransaction
    - BOOST_CHECK
    - TxValidationState::GetRejectReason
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(tx_no_inputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:387,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:388,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:389,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:389,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:389,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:390,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:393,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:393,1
    - Dst: createTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:393,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:398,1
    - Dst: createTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:398,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:399,1
    - Dst: TxValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:399,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:405,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:405,1
    - Dst: createTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:405,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:406,1
    - Dst: TxValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 408
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector<unsigned char>
    - BOOST_CHECK_MESSAGE
    - CTransaction
    - GetSerializeSize
    - CMutableTransaction::CMutableTransaction
    - TX_NO_WITNESS
    - CheckTransaction
    - BOOST_CHECK
    - TxValidationState::GetRejectReason
    - createTransaction
    - CScript
    - CMutableTransaction::vin::resize
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(tx_oversized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:416,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:417,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:419,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:419,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:419,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:419,1
    - Dst: CMutableTransaction::vin::push_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:422,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:423,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:423,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:423,1
    - Dst: TxValidationState::IsValid
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - CMutableTransaction::vin::push_back
    - TxValidationState::IsValid
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - CheckTransaction
    - TX_WITH_WITNESS
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(basic_transaction_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupDummyInputs
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:432,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:434,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:435,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:436,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:438,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:439,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:441,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:441,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:442,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:444,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:444,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:445,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:449,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:449,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 450
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector<unsigned char>
    - CMutableTransaction::vout::resize
    - AreInputsStandard
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - GetHash
    - BOOST_CHECK
    - SetupDummyInputs
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_Get)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:454,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:456,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:457,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:458,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:459,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:462,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:463,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:464,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:465,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:465,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:466,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:467,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:467,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:468,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:470,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:472,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:473,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:475,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:477,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:479,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:480,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:481,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:482,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:483,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:484,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:484,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:485,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:486,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:486,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:487,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 4
    argNames:
    - ' keystore'
    - ' outscript'
    - ' output'
    - ' input'
    argTypes:
    - FillableSigningProvider
    - CScript
    - CTransactionRef
    - CMutableTransaction
    assertStmts:
    - condition: (output->vin[0] == outputm.vin[0])
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (input.vout.size() == 1)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (output->vin.size() == 1)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (ret == success)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (input.vin.size() == 1)
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (output->vout.size() == 1)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (input.vin[0] == inputm.vin[0])
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (input.vin[0].scriptWitness.stack == inputm.vin[0].scriptWitness.stack)
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (output->vout[0] == outputm.vout[0])
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (input.vout[0] == inputm.vout[0])
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    constantsTouched: []
    func_position:
      end: 489
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 489
    functionName: CreateCreditAndSpend
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::resize
    - SignSignature
    - assert
    - DataStream::DataStream
    - CMutableTransaction::CMutableTransaction
    - GetHash
    - vout::size
    - CScript
    - TX_WITH_WITNESS
    - CMutableTransaction::vin::resize
    - prevout::SetNull
    - vin::size
    linkageType: ''
    returnType: void
    signature: void CreateCreditAndSpend(const FillableSigningProvider& keystore,
      const CScript& outscript, CTransactionRef& output, CMutableTransaction& input,
      bool success = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:495,1
    - Dst: TransactionSignatureChecker
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:495,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' output'
    - ' input'
    - flags
    - success
    argTypes:
    - CTransactionRef
    - CMutableTransaction
    - uint32_t
    - bool
    assertStmts:
    - condition: (ret == success)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: CheckWithFlag
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - assert
    - TransactionSignatureChecker
    - VerifyScript
    linkageType: ''
    returnType: void
    signature: void CheckWithFlag(const CTransactionRef& output, const CMutableTransaction&
      input, uint32_t flags, bool success)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:501,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:503,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:505,1
    - Dst: CScript::EncodeOP_N
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:506,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:507,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<valtype>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 514
    functionName: PushAll
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - CScript::EncodeOP_N
    - size
    - CScript::CScript
    linkageType: ''
    returnType: CScript
    signature: CScript PushAll(const std::vector<valtype>& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:519,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:519,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:520,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:520,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:521,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:521,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:521,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:521,1
    - Dst: PushAll
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' script'
    - ' redeemScript'
    argTypes:
    - CScript
    - CScript
    assertStmts:
    - condition: (stack.size() > 0)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: ReplaceRedeemScript
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - BaseSignatureChecker
    - std::vector::back
    - PushAll
    - assert
    - std::vector::size
    - begin
    - EvalScript
    linkageType: ''
    returnType: void
    signature: void ReplaceRedeemScript(CScript& script, const CScript& redeemScript)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:527,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:530,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:532,1
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:532,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:532,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:533,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:534,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:534,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:534,1
    - Dst: CKeyID::end
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:534,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:537,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:538,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:539,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:540,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:541,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:542,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:546,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:547,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:549,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:549,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:551,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:553,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:553,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:555,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:559,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:561,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:561,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:561,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:562,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:565,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:566,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:575,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:576,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:581,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:581,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:586,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:588,1
    - Dst: CCheckQueueControl::Add
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:589,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:589,1
    - Dst: CCheckQueueControl::Complete
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:592,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (hashSigned)
      pos:
        line_end: 561
        line_start: 561
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    - condition: (controlCheck)
      pos:
        line_end: 592
        line_start: 592
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    constantsTouched: []
    func_position:
      end: 594
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 594
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - SignSignature
    - std::vector::emplace_back
    - std::move
    - std::vector::push_back
    - CMutableTransaction::vout::size
    - FillableSigningProvider::AddKeyPubKey
    - CCheckQueueControl::Add
    - CCheckQueueControl::Complete
    - Coin::Coin
    - GenerateRandomKey
    - CMutableTransaction::vin::size
    - BOOST_CHECK
    - CMutableTransaction::vin::resize
    - std::vector::size
    - std::vector<unsigned char>
    - CMutableTransaction::vout::resize
    - detail::FromHex
    - CMutableTransaction::CMutableTransaction
    - CKey::GetPubKey
    - assert
    - std::vector::at
    - CKeyID::begin
    - CScript
    - CKeyID::end
    - TX_WITH_WITNESS
    - DataStream::DataStream
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_big_witness_transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:599,1
    - Dst: SignatureData::MergeSignatureData
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:600,1
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:600,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:601,1
    - Dst: MutableTransactionSignatureCreator
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' input1'
    - ' input2'
    - tx
    argTypes:
    - CMutableTransaction
    - CMutableTransaction
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 603
    functionName: CombineSignatures
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - MutableTransactionSignatureCreator
    - ProduceSignature
    - DataFromTransaction
    - SignatureData::MergeSignatureData
    linkageType: ''
    returnType: SignatureData
    signature: SignatureData CombineSignatures(const CMutableTransaction& input1,
      const CMutableTransaction& input2, const CTransactionRef tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:608,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:609,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:610,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:611,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:612,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:613,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:614,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:615,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:616,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:617,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:618,1
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:618,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:619,1
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:619,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:620,1
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:620,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:621,1
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:621,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:622,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:623,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:624,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:625,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:626,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:628,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:629,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:630,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:631,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:631,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:632,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:632,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:633,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:633,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:634,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:634,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:635,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:635,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:636,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:637,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:637,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:638,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:638,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:639,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:639,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:640,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:640,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:641,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:641,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:642,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:642,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:643,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:643,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:644,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:644,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:645,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:645,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:646,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:646,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:647,1
    - Dst: AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:647,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:648,1
    - Dst: AddCScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:648,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:649,1
    - Dst: AddKeyPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:649,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:652,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:655,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:656,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:657,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:658,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:659,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:660,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:661,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:662,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:663,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:664,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:667,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:667,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:667,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:668,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:668,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:668,1
    - Dst: ReplaceRedeemScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:669,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:670,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:671,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:672,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:673,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:674,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:675,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:676,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:677,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:680,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:681,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:682,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:683,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:684,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:685,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:686,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:687,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:688,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:689,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:692,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:692,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:692,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:693,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:693,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:693,1
    - Dst: ReplaceRedeemScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:694,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:695,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:696,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:697,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:698,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:699,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:700,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:701,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:702,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:705,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:706,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:707,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:708,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:709,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:710,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:711,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:712,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:713,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:714,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:717,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:717,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:717,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:718,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:718,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:718,1
    - Dst: ReplaceRedeemScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:719,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:720,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:721,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:722,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:723,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:724,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:725,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:726,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:727,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:730,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:731,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:734,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:734,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:734,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:735,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:735,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:735,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:738,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:739,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:740,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:741,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:742,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:743,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:743,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:744,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:747,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:747,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:747,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:748,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:749,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:750,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:750,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:750,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:751,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:752,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:753,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:754,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:754,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:755,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:756,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:759,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:760,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:761,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:762,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:763,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:764,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:765,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:766,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:766,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:767,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:768,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:771,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:771,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:771,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:772,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:773,1
    - Dst: CreateCreditAndSpend
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:774,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:774,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:774,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:775,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:776,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:777,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:778,1
    - Dst: CombineSignatures
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:778,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:779,1
    - Dst: CheckWithFlag
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 605
    functionDepth: 4
    functionLinenumber: 605
    functionLinenumberEnd: 781
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - GetScriptForDestination
    - std::vector::push_back
    - FillableSigningProvider::AddCScript
    - UpdateInput
    - FillableSigningProvider::AddKeyPubKey
    - GetScriptForMultisig
    - WitnessV0KeyHash
    - ScriptHash
    - CombineSignatures
    - GenerateRandomKey
    - BOOST_CHECK
    - CreateCreditAndSpend
    - ToByteVector
    - CMutableTransaction::CMutableTransaction
    - WitnessV0ScriptHash
    - CKey::GetPubKey
    - CheckWithFlag
    - AddCScript
    - AddKeyPubKey
    - ReplaceRedeemScript
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_witness)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetupDummyInputs
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:789,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:791,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:792,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:793,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:795,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:796,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:798,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:799,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:799,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:799,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:803,1
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:803,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:804,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:804,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:808,1
    - Dst: IsStandardTx
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:808,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:809,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:812,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:815,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:816,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:820,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:821,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:826,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:829,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:832,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:833,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:836,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:839,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:843,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:846,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:850,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:853,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:856,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:859,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:860,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:863,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:864,1
    - Dst: scriptPubKey::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:864,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:865,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:868,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:871,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:872,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:873,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:874,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:876,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:877,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:878,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:879,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:882,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:883,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:886,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:887,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:888,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:891,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:892,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:894,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:896,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:898,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:899,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:900,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:902,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:903,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:904,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:906,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:907,1
    - Dst: scriptPubKey::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:908,1
    - Dst: scriptPubKey::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:908,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:909,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:910,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:911,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:914,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:916,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:916,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:916,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:918,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:918,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:919,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:921,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:921,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:922,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:925,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:927,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:928,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:929,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:931,1
    - Dst: scriptSig::begin
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:937,1
    - Dst: scriptSig::end
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:938,1
    - Dst: scriptSig::GetOp
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:941,1
    - Dst: scriptSig::begin
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:946,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:951,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:954,1
    - Dst: CMutableTransaction::vin::clear
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:958,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:959,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:960,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:960,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:966,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:966,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:966,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:967,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:970,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:970,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:971,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:971,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:971,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:972,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:976,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:976,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:977,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:978,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:978,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:979,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:982,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:986,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:986,1
    - Dst: CMutableTransaction::vout::insert
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:987,1
    - Dst: CMutableTransaction::vout::end
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:987,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:990,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:990,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:992,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:994,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:997,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:997,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:999,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1001,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1004,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1004,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1006,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1008,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1011,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1011,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1013,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1015,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1018,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1018,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1020,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1022,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1025,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1025,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1027,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1029,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1032,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1032,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1034,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1036,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1040,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1040,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1042,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1045,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1049,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1050,1
    - Dst: scriptPubKey::IsPayToAnchor
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1050,1
    - Dst: CheckIsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1052,1
    - Dst: CheckIsNotStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 161
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (t.vout.size() == 1)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/bitcoin-core/src/test/transaction_tests.cpp
    constantsTouched: []
    func_position:
      end: 1055
      start: 783
    functionDepth: 4
    functionLinenumber: 783
    functionLinenumberEnd: 1055
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - GetScriptForDestination
    - CMutableTransaction::vout::insert
    - CFeeRate
    - GetHash
    - std::string::empty
    - BOOST_CHECK_EQUAL
    - CMutableTransaction::vout::size
    - GetScriptForMultisig
    - CMutableTransaction::vin::clear
    - GenerateRandomKey
    - IsStandardTx
    - scriptSig::end
    - scriptPubKey::IsPayToAnchor
    - CMutableTransaction::vout::end
    - BOOST_CHECK
    - CheckIsNotStandard
    - SetupDummyInputs
    - PKHash
    - CMutableTransaction::vin::resize
    - CMutableTransaction::vout::emplace_back
    - std::vector<unsigned char>
    - CMutableTransaction::vout::resize
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - scriptSig::GetOp
    - CKey::GetPubKey
    - assert
    - RandomMixin::max
    - scriptSig::begin
    - GetFeePerK
    - scriptPubKey::size
    - GetTransactionWeight
    - CheckIsStandard
    - CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_IsStandard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1061,1
    - Dst: CKey::MakeNewKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1062,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1065,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1065,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1068,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1068,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1072,1
    - Dst: CMutableTransaction::vout::reserve
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1074,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1076,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1078,1
    - Dst: vin::reserve
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1079,1
    - Dst: vin::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1081,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1081,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1081,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1085,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1086,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1086,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1089,1
    - Dst: GetP2SHSigOpCount
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1089,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1089,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1090,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1090,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1090,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1093,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1094,1
    - Dst: CTxIn
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1096,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1096,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1096,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1096,1
    - Dst: vin::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1098,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1098,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1098,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1099,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1099,1
    - Dst: BOOST_CHECK_GT
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1100,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1101,1
    - Dst: GetP2SHSigOpCount
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1101,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1101,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1102,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1102,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1102,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1106,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1107,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1107,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1110,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1112,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1113,1
    - Dst: vin::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1115,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1117,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1117,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1121,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1121,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1121,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1125,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1126,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1126,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1127,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1127,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1127,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1127,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1128,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1128,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1128,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1129,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1129,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1129,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1129,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1130,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1131,1
    - Dst: vin::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1132,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1136,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1136,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1137,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1137,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1137,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1140,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1141,1
    - Dst: vin::resize
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1142,1
    - Dst: vin::emplace_back
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1145,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1147,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1147,1
    - Dst: BOOST_CHECK_GT
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1148,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1149,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1149,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/transaction_tests.cpp:1149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1057
    functionDepth: 3
    functionLinenumber: 1057
    functionLinenumberEnd: 1150
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/transaction_tests.cpp
    functionUses: 1
    functionsReached:
    - vin::emplace_back
    - AreInputsStandard
    - GetScriptForDestination
    - BOOST_CHECK_LT
    - BOOST_CHECK_EQUAL
    - CMutableTransaction::vout::size
    - ScriptHash
    - WitnessV0KeyHash
    - AddCoins
    - CKey::CKey
    - BOOST_CHECK
    - BOOST_REQUIRE
    - CMutableTransaction::vout::emplace_back
    - CTxIn
    - CKey::MakeNewKey
    - ToByteVector
    - GetP2SHSigOpCount
    - CTransaction
    - vin::reserve
    - CMutableTransaction::CMutableTransaction
    - CMutableTransaction::vout::reserve
    - COutPoint
    - BOOST_CHECK_GT
    - WitnessV0ScriptHash
    - CKey::GetPubKey
    - CMutableTransaction::GetHash
    - XOnlyPubKey
    - CScript
    - vin::resize
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(max_standard_legacy_sigops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:21,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:21,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:21,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:22,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:22,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:23,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:23,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:24,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:24,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:25,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:25,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:26,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:26,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:26,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:35,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:36,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:36,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/fs_tests.cpp
    functionUses: 1
    functionsReached:
    - DeserializeHDKeypath
    - std::string::size
    - fs::PathFromString
    - fs::u8path
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(fsbridge_pathtostring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:44,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:44,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/fs_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - fs::PathFromString
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(fsbridge_stem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:49,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:51,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:61,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:67,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:77,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:87,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:91,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:92,1
    - Dst: fs::path::is_absolute
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:92,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:93,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:98,1
    - Dst: fs::path::is_absolute
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:99,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:103,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:104,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 106
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/fs_tests.cpp
    functionUses: 1
    functionsReached:
    - DeserializeHDKeypath
    - fsbridge::AbsPathJoin
    - fs::u8path
    - GetDataDirBase
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - fs::path::is_absolute
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(fsbridge_fstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:129,1
    - Dst: RenameOver
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:129,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:131,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:131,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:137,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 140
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/fs_tests.cpp
    functionUses: 1
    functionsReached:
    - RenameOver
    - wallet::WalletImpl::remove
    - GetDataDirBase
    - fs::exists
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(rename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:146,1
    - Dst: fs::create_directory
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:149,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:150,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:151,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:152,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:152,1
    - Dst: fs::create_directory_symlink
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:155,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:156,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:157,1
    - Dst: fs::is_symlink
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:157,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:158,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:158,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:159,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:159,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:161,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/fs_tests.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/fs_tests.cpp
    functionUses: 1
    functionsReached:
    - wallet::WalletImpl::remove
    - GetDataDirBase
    - fs::exists
    - BOOST_CHECK
    - fs::is_directory
    - fs::create_directory_symlink
    - fs::is_symlink
    - fs::create_directories
    - fs::create_directory
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(create_directories)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coin::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:34,1
    - Dst: Coin::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Coin
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: operator==(const Coin &a, const Coin &b)
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - Coin::IsSpent
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Coin &a, const Coin &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: CCoinsViewTest::CCoinsViewTest
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewTest(FastRandomContext& rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:51,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:51,1
    - Dst: auto::second::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:52,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: CCoinsViewTest::GetCoin
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - randbool
    - auto::second::IsSpent
    - find
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> GetCoin(const COutPoint& outpoint) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: CCoinsViewTest::GetBestBlock
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint256
    signature: uint256 GetBestBlock() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Begin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:63,1
    - Dst: End
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:63,1
    - Dst: NextAndMaybeErase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:63,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:64,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:67,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:67,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:69,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' cursor'
    - ' hashBlock'
    argTypes:
    - CoinsViewCacheCursor
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: CCoinsViewTest::BatchWrite
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::second::coin::IsSpent
    - NextAndMaybeErase
    - erase
    - End
    - Begin
    - randrange
    - auto::second::IsDirty
    - IsNull
    linkageType: ''
    returnType: bool
    signature: bool BatchWrite(CoinsViewCacheCursor& cursor, const uint256& hashBlock)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _base
    argTypes:
    - CCoinsView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: CCoinsViewCacheTest::CCoinsViewCacheTest
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCacheTest(CCoinsView* _base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:87,1
    - Dst: second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:93,1
    - Dst: GetCacheSize
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:94,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:94,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: CCoinsViewCacheTest::SelfTest
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - memusage::DynamicUsage
    - SanityCheck
    - second::coin::DynamicMemoryUsage
    - BOOST_CHECK_EQUAL
    - DynamicMemoryUsage
    - GetCacheSize
    linkageType: ''
    returnType: void
    signature: void SelfTest(bool sanity_check = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& map() const'
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CCoinsMap
    signature: CCoinsMap & map() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& sentinel() const'
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoinsCachePair
    signature: CoinsCachePair & sentinel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '& usage() const'
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t & usage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coin::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:34,1
    - Dst: Coin::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Coin
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: operator==(const Coin &a, const Coin &b)
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - Coin::IsSpent
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Coin &a, const Coin &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: CCoinsViewTest::CCoinsViewTest
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewTest(FastRandomContext& rng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:51,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:51,1
    - Dst: auto::second::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:52,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: CCoinsViewTest::GetCoin
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - randbool
    - auto::second::IsSpent
    - find
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> GetCoin(const COutPoint& outpoint) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: CCoinsViewTest::GetBestBlock
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint256
    signature: uint256 GetBestBlock() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Begin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:63,1
    - Dst: End
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:63,1
    - Dst: NextAndMaybeErase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:63,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:64,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:67,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:67,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:69,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' cursor'
    - ' hashBlock'
    argTypes:
    - CoinsViewCacheCursor
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: CCoinsViewTest::BatchWrite
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::second::coin::IsSpent
    - NextAndMaybeErase
    - erase
    - End
    - Begin
    - randrange
    - auto::second::IsDirty
    - IsNull
    linkageType: ''
    returnType: bool
    signature: bool BatchWrite(CoinsViewCacheCursor& cursor, const uint256& hashBlock)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _base
    argTypes:
    - CCoinsView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: CCoinsViewCacheTest::CCoinsViewCacheTest
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsViewCacheTest(CCoinsView* _base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:87,1
    - Dst: second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:93,1
    - Dst: GetCacheSize
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:94,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:94,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: CCoinsViewCacheTest::SelfTest
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - memusage::DynamicUsage
    - SanityCheck
    - second::coin::DynamicMemoryUsage
    - BOOST_CHECK_EQUAL
    - DynamicMemoryUsage
    - GetCacheSize
    linkageType: ''
    returnType: void
    signature: void SelfTest(bool sanity_check = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& map() const'
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CCoinsMap
    signature: CCoinsMap & map() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& sentinel() const'
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoinsCachePair
    signature: CoinsCachePair & sentinel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '& usage() const'
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t & usage() const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:143,1
    - Dst: std::make_unique<CCoinsViewCacheTest>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:143,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:147,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:148,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:149,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:149,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:155,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:155,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:156,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:161,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:162,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:164,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:164,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:168,1
    - Dst: AccessByTxid
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:169,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:169,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:169,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:169,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:170,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:173,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:173,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:177,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:177,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:178,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:178,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:181,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:181,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:182,1
    - Dst: RandMoney
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:183,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:187,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:187,1
    - Dst: Coin::out::scriptPubKey::assign
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:188,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:188,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:189,1
    - Dst: Coin::out::scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:189,1
    - Dst: Coin::out::scriptPubKey::assign
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:193,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:193,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:194,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:197,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:197,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:198,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:198,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:198,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:203,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:203,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:203,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:208,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:209,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:209,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:210,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:210,1
    - Dst: Uncache
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:211,1
    - Dst: HaveCoinInCache
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:212,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:216,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:218,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:219,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:220,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:221,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:222,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:225,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:225,1
    - Dst: SelfTest
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:230,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:234,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:236,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:236,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:237,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:237,1
    - Dst: SetBestBlock
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:238,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:238,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:239,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:240,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:240,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:240,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:244,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:246,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:246,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:248,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:248,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:249,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:250,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:250,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:250,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:252,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:254,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:254,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:254,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:257,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:258,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:262,1
    - Dst: std::make_unique<CCoinsViewCacheTest>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:262,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:263,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:271,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:272,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:273,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:274,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:275,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:276,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:277,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:278,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:279,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:280,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 89
    argCount: 2
    argNames:
    - base
    - fake_best_block
    argTypes:
    - CCoinsView*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 281
    functionName: SimulationTest
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - rand32
    - std::move
    - std::vector::push_back
    - randbool
    - Coin::out::scriptPubKey::IsUnspendable
    - SetBestBlock
    - SelfTest
    - Coin::Coin
    - randbits
    - std::vector::back
    - AccessByTxid
    - BOOST_CHECK
    - std::vector::pop_back
    - std::vector::size
    - std::make_unique<CCoinsViewCacheTest>
    - Coin::out::scriptPubKey::assign
    - COutPoint
    - HaveCoinInCache
    - Sync
    - Uncache
    - transaction_identifier::FromUint256
    - Flush
    - rand256
    - std::vector::resize
    - IsSpent
    - RandMoney
    - randrange
    - Clear
    linkageType: ''
    returnType: void
    signature: void SimulationTest(CCoinsView* base, bool fake_best_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimulationTest
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - SimulationTest
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(coins_cache_base_simulation_test, CacheTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimulationTest
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - SimulationTest
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(coins_cache_dbbase_simulation_test, CacheTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:313,1
    - Dst: std::set<COutPoint>::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:313,1
    - Dst: std::set<COutPoint>::lower_bound
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:314,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:314,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:314,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:314,1
    - Dst: std::set<COutPoint>::end
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:315,1
    - Dst: std::set<COutPoint>::begin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:316,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:318,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:319,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - utxoSet
    argTypes:
    - std::set<COutPoint>
    assertStmts:
    - condition: (utxoSet.size())
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    - condition: (utxoDataIt != utxoData.end())
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: FindRandomFrom
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::set<COutPoint>::lower_bound
    - std::set<COutPoint>::end
    - COutPoint
    - transaction_identifier::FromUint256
    - std::set<COutPoint>::size
    - std::set<COutPoint>::begin
    - assert
    - find
    - rand256
    linkageType: ''
    returnType: UtxoData::iterator
    signature: UtxoData::iterator FindRandomFrom(const std::set<COutPoint> &utxoSet)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:332,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:341,1
    - Dst: std::make_unique<CCoinsViewCacheTest>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:341,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:350,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:354,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:355,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:356,1
    - Dst: scriptPubKey::assign
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:358,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:358,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:359,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:360,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:363,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:365,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:365,1
    - Dst: FindRandomFrom
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:366,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:368,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:370,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:372,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:375,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:375,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:375,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:377,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:377,1
    - Dst: COutPoint::COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:383,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:385,1
    - Dst: FindRandomFrom
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:386,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:387,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:389,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:389,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:390,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:395,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:396,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:396,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:397,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:397,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:399,1
    - Dst: FindRandomFrom
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:404,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:409,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:409,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:414,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:416,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:420,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:426,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:426,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:427,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:428,1
    - Dst: UpdateCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:432,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:432,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:435,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:438,1
    - Dst: std::make_tuple
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:438,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:439,1
    - Dst: FindRandomFrom
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:441,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:443,1
    - Dst: std::get<1>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:444,1
    - Dst: std::get<2>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:445,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:449,1
    - Dst: CTransaction::IsCoinBase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:451,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:458,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:458,1
    - Dst: CTransaction::IsCoinBase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:460,1
    - Dst: ApplyTxInUndo
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:463,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:463,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:463,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:466,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:469,1
    - Dst: CTransaction::IsCoinBase
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:470,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:471,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:475,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:477,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:478,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:479,1
    - Dst: Coin::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:479,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:480,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:485,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:485,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:486,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:486,1
    - Dst: Uncache
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:486,1
    - Dst: FindRandomFrom
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:486,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:488,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:488,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:489,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:489,1
    - Dst: Uncache
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:489,1
    - Dst: FindRandomFrom
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:489,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:491,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:491,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:492,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:492,1
    - Dst: Uncache
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:492,1
    - Dst: FindRandomFrom
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:492,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:495,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:497,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:497,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:498,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:498,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:499,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:499,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:502,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:504,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:504,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:505,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:505,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:506,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:508,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:508,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:508,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:510,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:511,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:513,1
    - Dst: std::make_unique<CCoinsViewCacheTest>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:513,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:519,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (CTransaction(tx).IsCoinBase())
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    - condition: (tx.vout.size() == 1)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    - condition: (duplicate_coins.count(utxod->first))
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    - condition: (CTransaction(tx).IsCoinBase())
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    - condition: (!CTransaction(tx).IsCoinBase())
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    constantsTouched: []
    func_position:
      end: 520
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 520
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - rand32
    - std::move
    - std::vector::push_back
    - randbool
    - std::set::insert
    - SeedRandomForTest
    - CMutableTransaction::vout::size
    - CTransaction::IsCoinBase
    - FindRandomFrom
    - Coin::Coin
    - std::get<1>
    - std::vector::back
    - BOOST_CHECK
    - std::vector::pop_back
    - CMutableTransaction::vin::resize
    - std::vector::size
    - CMutableTransaction::vout::resize
    - emplace
    - std::make_unique<CCoinsViewCacheTest>
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - std::make_tuple
    - COutPoint
    - Uncache
    - std::set::erase
    - std::set::count
    - assert
    - UpdateCoins
    - Coin::IsSpent
    - Flush
    - COutPoint::COutPoint
    - ApplyTxInUndo
    - std::get<2>
    - CMutableTransaction::GetHash
    - scriptPubKey::assign
    - randrange
    - Clear
    - IsCoinBase
    - std::get<0>
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(updatecoins_simulation_test, UpdateTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:526,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:528,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:529,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:530,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:531,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:531,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:531,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:531,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:531,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:531,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:535,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:537,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:538,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:539,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:540,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:540,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:540,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:540,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:540,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:540,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:544,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:546,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:547,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:548,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:549,1
    - Dst: Coin::out::scriptPubKey::size
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:549,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:554,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:556,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:563,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:564,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:564,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:567,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 572
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 1
    functionsReached:
    - uint160
    - Coin::Coin
    - GetScriptForDestination
    - VARINT
    - Coin::out::scriptPubKey::size
    - BOOST_CHECK_EQUAL
    - HexStr
    - PKHash
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ccoins_serialization)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - v
    - s
    argTypes:
    - CAmount
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 587
    functionName: CoinEntry
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinEntry(const CAmount v, const State s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - CoinEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 589
    functionName: operator==(const CoinEntry& o) const
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CoinEntry& o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - CoinEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 590
    functionName: '& operator<<(std::ostream& os, const CoinEntry& e)'
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const CoinEntry& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: IsDirtyFresh
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDirtyFresh() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsDirtyFresh
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: IsDirty
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 11
    functionsReached:
    - IsDirtyFresh
    linkageType: ''
    returnType: bool
    signature: bool IsDirty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsDirtyFresh
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 594
    functionName: IsFresh
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 8
    functionsReached:
    - IsDirtyFresh
    linkageType: ''
    returnType: bool
    signature: bool IsFresh() const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - is_dirty
    - is_fresh
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: ToState
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: State
    signature: State ToState(const bool is_dirty, const bool is_fresh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:628,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:629,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:630,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:630,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:634,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - value
    - ' coin'
    argTypes:
    - CAmount
    - Coin
    assertStmts:
    - condition: (value != ABSENT)
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    - condition: (coin.IsSpent())
      pos:
        line_end: 629
        line_start: 629
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    - condition: (!coin.IsSpent())
      pos:
        line_end: 633
        line_start: 633
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    constantsTouched: []
    func_position:
      end: 636
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 636
    functionName: SetCoinsValue
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - IsSpent
    - assert
    - Clear
    linkageType: ''
    returnType: void
    signature: void SetCoinsValue(const CAmount value, Coin& coin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetCoinsValue
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:641,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:642,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:642,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:643,1
    - Dst: IsDirty
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:644,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:644,1
    - Dst: IsFresh
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:645,1
    - Dst: SetFresh
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:645,1
    - Dst: second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' map'
    - ' sentinel'
    - ' cache_coin'
    argTypes:
    - CCoinsMap
    - CoinsCachePair
    - CoinEntry
    assertStmts:
    - condition: (inserted)
      pos:
        line_end: 642
        line_start: 642
        source_file: /src/bitcoin-core/src/test/coins_tests.cpp
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: InsertCoinsMapEntry
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - SetFresh
    - emplace
    - SetDirty
    - SetCoinsValue
    - IsDirty
    - std::move
    - second::coin::DynamicMemoryUsage
    - assert
    - IsFresh
    linkageType: ''
    returnType: size_t
    signature: size_t InsertCoinsMapEntry(CCoinsMap& map, CoinsCachePair& sentinel,
      const CoinEntry& cache_coin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:651,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:651,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:653,1
    - Dst: ToState
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:654,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:654,1
    - Dst: auto::second::IsFresh
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' map'
    argTypes:
    - CCoinsMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 657
    functionName: GetCoinsMapEntry
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::second::coin::IsSpent
    - ToState
    - auto::second::IsFresh
    - auto::second::IsDirty
    - find
    linkageType: ''
    returnType: MaybeCoin
    signature: MaybeCoin GetCoinsMapEntry(const CCoinsMap& map, const COutPoint& outp
      = OUTPOINT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoinsCachePair::second::SelfRef
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:662,1
    - Dst: InsertCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:665,1
    - Dst: CoinsViewCacheCursor
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:666,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:667,1
    - Dst: BatchWrite
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' view'
    - ' cache_coin'
    argTypes:
    - CCoinsView
    - MaybeCoin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 668
    functionName: WriteCoinsViewEntry
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - BatchWrite
    - InsertCoinsMapEntry
    - CoinsCachePair::second::SelfRef
    - BOOST_CHECK
    - CoinsViewCacheCursor
    linkageType: ''
    returnType: void
    signature: void WriteCoinsViewEntry(CCoinsView& view, const MaybeCoin& cache_coin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteCoinsViewEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:676,1
    - Dst: usage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:677,1
    - Dst: InsertCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:677,1
    - Dst: map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:677,1
    - Dst: sentinel
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - base_value
    - ' cache_coin'
    argTypes:
    - CAmount
    - MaybeCoin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 5
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: SingleEntryCacheTest::SingleEntryCacheTest
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - InsertCoinsMapEntry
    - map
    - WriteCoinsViewEntry
    - sentinel
    - usage
    linkageType: ''
    returnType: void
    signature: void SingleEntryCacheTest(const CAmount base_value, const MaybeCoin&
      cache_coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SingleEntryCacheTest::cache::AccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:688,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:689,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:689,1
    - Dst: SingleEntryCacheTest::cache::GetCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:689,1
    - Dst: SingleEntryCacheTest::cache::SelfTest
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:690,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:691,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:691,1
    - Dst: SingleEntryCacheTest::cache::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - base_value
    - ' cache_coin'
    - ' expected'
    argTypes:
    - CAmount
    - MaybeCoin
    - MaybeCoin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: CheckAccessCoin
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - SingleEntryCacheTest::cache::AccessCoin
    - IsSpent
    - GetCoinsMapEntry
    - BOOST_CHECK_EQUAL
    - SingleEntryCacheTest::cache::GetCoin
    - SingleEntryCacheTest::cache::map
    - SingleEntryCacheTest::cache::SelfTest
    linkageType: ''
    returnType: void
    signature: void CheckAccessCoin(const CAmount base_value, const MaybeCoin& cache_coin,
      const MaybeCoin& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:702,1
    - Dst: CheckAccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:704,1
    - Dst: CheckAccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:705,1
    - Dst: CheckAccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:706,1
    - Dst: CheckAccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:707,1
    - Dst: CheckAccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:709,1
    - Dst: CheckAccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:710,1
    - Dst: CheckAccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:711,1
    - Dst: CheckAccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 714
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckAccessCoin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ccoins_access)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SingleEntryCacheTest::cache::SpendCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:719,1
    - Dst: SingleEntryCacheTest::cache::SelfTest
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:720,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:721,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:721,1
    - Dst: SingleEntryCacheTest::cache::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - base_value
    - ' cache_coin'
    - ' expected'
    argTypes:
    - CAmount
    - MaybeCoin
    - MaybeCoin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 722
    functionName: CheckSpendCoins
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - GetCoinsMapEntry
    - SingleEntryCacheTest::cache::SpendCoin
    - BOOST_CHECK_EQUAL
    - SingleEntryCacheTest::cache::map
    - SingleEntryCacheTest::cache::SelfTest
    linkageType: ''
    returnType: void
    signature: void CheckSpendCoins(const CAmount base_value, const MaybeCoin& cache_coin,
      const MaybeCoin& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckSpendCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:732,1
    - Dst: CheckSpendCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:734,1
    - Dst: CheckSpendCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:735,1
    - Dst: CheckSpendCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:736,1
    - Dst: CheckSpendCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:737,1
    - Dst: CheckSpendCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:739,1
    - Dst: CheckSpendCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:740,1
    - Dst: CheckSpendCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:741,1
    - Dst: CheckSpendCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 744
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckSpendCoins
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ccoins_spend)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SingleEntryCacheTest::cache::AddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:750,1
    - Dst: std::get_if<MaybeCoin>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:751,1
    - Dst: add_coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:752,1
    - Dst: SingleEntryCacheTest::cache::SelfTest
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:753,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:754,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:754,1
    - Dst: SingleEntryCacheTest::cache::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:754,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:756,1
    - Dst: add_coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:756,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:756,1
    - Dst: std::get<std::string>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - base_value
    - ' cache_coin'
    - modify_value
    - ' expected'
    - coinbase
    argTypes:
    - CAmount
    - MaybeCoin
    - CAmount
    - CoinOrError
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 758
    functionName: CheckAddCoin
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - SingleEntryCacheTest::cache::AddCoin
    - add_coin
    - GetCoinsMapEntry
    - BOOST_CHECK_EQUAL
    - HasReason
    - std::get<std::string>
    - std::get_if<MaybeCoin>
    - SingleEntryCacheTest::cache::map
    - SingleEntryCacheTest::cache::SelfTest
    linkageType: ''
    returnType: void
    signature: void CheckAddCoin(const CAmount base_value, const MaybeCoin& cache_coin,
      const CAmount modify_value, const CoinOrError& expected, const bool coinbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:769,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:770,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:772,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:773,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:774,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:775,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:776,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:777,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:778,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:779,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:781,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:782,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:783,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:784,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:785,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:786,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:787,1
    - Dst: CheckAddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 790
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckAddCoin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ccoins_add)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteCoinsViewEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:795,1
    - Dst: std::get_if<MaybeCoin>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:796,1
    - Dst: write_coins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:797,1
    - Dst: SingleEntryCacheTest::cache::SelfTest
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:798,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:799,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:799,1
    - Dst: SingleEntryCacheTest::cache::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:799,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:801,1
    - Dst: write_coins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:801,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:801,1
    - Dst: std::get<std::string>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' parent'
    - ' child'
    - ' expected'
    argTypes:
    - MaybeCoin
    - MaybeCoin
    - CoinOrError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 5
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: CheckWriteCoins
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - GetCoinsMapEntry
    - WriteCoinsViewEntry
    - BOOST_CHECK_EQUAL
    - HasReason
    - std::get<std::string>
    - std::get_if<MaybeCoin>
    - write_coins
    - SingleEntryCacheTest::cache::map
    - SingleEntryCacheTest::cache::SelfTest
    linkageType: ''
    returnType: void
    signature: void CheckWriteCoins(const MaybeCoin& parent, const MaybeCoin& child,
      const CoinOrError& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:812,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:813,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:814,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:815,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:816,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:817,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:818,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:819,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:820,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:822,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:823,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:824,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:825,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:826,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:827,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:828,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:829,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:831,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:832,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:833,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:834,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:835,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:836,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:837,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:838,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:840,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:841,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:842,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:843,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:844,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:845,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:846,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:847,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:848,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:849,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:850,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:851,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:853,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:854,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:855,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:856,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:857,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:858,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:859,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:860,1
    - Dst: CheckWriteCoins
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 805
    functionDepth: 6
    functionLinenumber: 805
    functionLinenumberEnd: 876
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckWriteCoins
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ccoins_write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:881,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:882,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 886
    functionName: MakeCoin
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - rand32
    - Coin::Coin
    - randrange
    linkageType: ''
    returnType: Coin
    signature: Coin MakeCoin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:910,1
    - Dst: rend
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:910,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:912,1
    - Dst: SetBestBlock
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:915,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:915,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:916,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:916,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:920,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:920,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:921,1
    - Dst: MakeCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:922,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:924,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:924,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:925,1
    - Dst: CCoinsViewCacheTest*::HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:925,1
    - Dst: CCoinsViewCacheTest*::AddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:929,1
    - Dst: Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:929,1
    - Dst: CCoinsViewCacheTest*::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:931,1
    - Dst: CCoinsViewCacheTest*::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:932,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:935,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:935,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:936,1
    - Dst: CCoinsViewCacheTest*::HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:936,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:938,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:938,1
    - Dst: CCoinsViewCacheTest*::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:938,1
    - Dst: CoinEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:938,1
    - Dst: flush_all
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:942,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:945,1
    - Dst: CCoinsViewCacheTest*::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:945,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:946,1
    - Dst: CCoinsViewCacheTest*::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:946,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:950,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:950,1
    - Dst: CCoinsViewCacheTest*::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:950,1
    - Dst: CoinEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:950,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:953,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:953,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:954,1
    - Dst: CCoinsViewCacheTest*::HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:954,1
    - Dst: flush_all
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:959,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:962,1
    - Dst: CCoinsViewCacheTest*::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:962,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:964,1
    - Dst: CCoinsViewCacheTest*::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:964,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:968,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:968,1
    - Dst: CCoinsViewCacheTest*::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:968,1
    - Dst: CCoinsViewCacheTest*::AccessCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:969,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:970,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:970,1
    - Dst: CCoinsViewCacheTest*::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:970,1
    - Dst: CoinEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:970,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:975,1
    - Dst: CCoinsViewCacheTest*::AddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:976,1
    - Dst: Coin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:976,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:981,1
    - Dst: CCoinsViewCacheTest*::SpendCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:981,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:984,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:984,1
    - Dst: CCoinsViewCacheTest*::map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:984,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:985,1
    - Dst: CCoinsViewCacheTest*::HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:985,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:986,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:986,1
    - Dst: flush_all
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:988,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:991,1
    - Dst: CCoinsViewCacheTest*::HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:991,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:992,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:992,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:995,1
    - Dst: CCoinsViewCacheTest*::SpendCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:995,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1000,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1000,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1001,1
    - Dst: MakeCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1002,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1003,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1003,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1004,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1004,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1005,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1005,1
    - Dst: AddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1007,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1007,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1008,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1009,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1009,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1010,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1010,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1011,1
    - Dst: HaveCoinInCache
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1011,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1013,1
    - Dst: SpendCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1013,1
    - Dst: flush_all
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1014,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1015,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1015,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1016,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1016,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1017,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1017,1
    - Dst: flush_all
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1019,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1023,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1023,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1024,1
    - Dst: MakeCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1025,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1027,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1027,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1028,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1028,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1029,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1029,1
    - Dst: AddCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1032,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1032,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1035,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1035,1
    - Dst: map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1035,1
    - Dst: CoinEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1035,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1037,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1037,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1039,1
    - Dst: SpendCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1039,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1040,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1043,1
    - Dst: GetCoinsMapEntry
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1043,1
    - Dst: map
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1043,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1044,1
    - Dst: HaveCoinInCache
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1044,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1045,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 69
    argCount: 4
    argNames:
    - view
    - ' base'
    - ' all_caches'
    - do_erasing_flush
    argTypes:
    - CCoinsViewCacheTest*
    - CCoinsViewDB
    - std::vector<std::unique_ptr<CCoinsViewCacheTest>>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 1046
    functionName: TestFlushBehavior
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - CCoinsViewCacheTest*::AddCoin
    - map
    - std::move
    - CCoinsViewCacheTest*::DynamicMemoryUsage
    - BOOST_CHECK_EQUAL
    - SetBestBlock
    - AddCoin
    - rend
    - BOOST_CHECK
    - CCoinsViewCacheTest*::AccessCoin
    - rbegin
    - Coin
    - BOOST_CHECK_THROW
    - SanityCheck
    - MakeCoin
    - CCoinsViewCacheTest*::SpendCoin
    - GetCoinsMapEntry
    - CCoinsViewCacheTest*::map
    - CCoinsViewCacheTest*::HaveCoin
    - CoinEntry
    - flush_all
    - COutPoint
    - HaveCoinInCache
    - Sync
    - transaction_identifier::FromUint256
    - Flush
    - rand256
    - SpendCoin
    - HaveCoin
    - BOOST_TEST
    linkageType: ''
    returnType: void
    signature: "void TestFlushBehavior(\n    CCoinsViewCacheTest* view,\n    CCoinsViewDB&
      base,\n    std::vector<std::unique_ptr<CCoinsViewCacheTest>>& all_caches,\n
      \   bool do_erasing_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1054,1
    - Dst: std::make_unique<CCoinsViewCacheTest>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1054,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1055,1
    - Dst: std::make_unique<CCoinsViewCacheTest>
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1055,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1055,1
    - Dst: TestFlushBehavior
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1058,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1058,1
    - Dst: TestFlushBehavior
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1059,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1049
    functionDepth: 3
    functionLinenumber: 1049
    functionLinenumberEnd: 1061
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CCoinsViewCacheTest>
    - std::vector::back
    - std::vector::push_back
    - get
    - TestFlushBehavior
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(ccoins_flush_behavior, FlushTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1066,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1070,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1070,1
    - Dst: CCoinsMapMemoryResource::ChunkSizeBytes
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1070,1
    - Dst: CCoinsMap::reserve
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1072,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1075,1
    - Dst: BOOST_TEST
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1082,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1082,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/coins_tests.cpp:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1086
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coins_tests.cpp
    functionUses: 1
    functionsReached:
    - memusage::DynamicUsage
    - CCoinsMap::reserve
    - PoolResourceTester::CheckAllDataAccountedFor
    - CCoinsMapMemoryResource::ChunkSizeBytes
    - BOOST_TEST
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(coins_resource_is_used)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:15,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:15,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:17,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' leaf'
    - ' vMerkleBranch'
    - nIndex
    argTypes:
    - uint256
    - std::vector<uint256>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: ComputeMerkleRootFromBranch
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - Hash
    - begin
    linkageType: ''
    returnType: uint256
    signature: uint256 ComputeMerkleRootFromBranch(const uint256& leaf, const std::vector<uint256>&
      vMerkleBranch, uint32_t nIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:29,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:30,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:30,1
    - Dst: vtx::begin
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:31,1
    - Dst: vtx::end
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:31,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:32,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:32,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:35,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:39,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:44,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:44,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:51,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:51,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - ' block'
    - fMutated
    - ' vMerkleTree'
    argTypes:
    - CBlock
    - bool*
    - std::vector<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: BlockBuildMerkleTree
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - uint256
    - Hash
    - empty
    - push_back
    - back
    - GetHash
    - vtx::size
    - clear
    - vtx::end
    - vtx::begin
    - std::min
    linkageType: ''
    returnType: uint256
    signature: uint256 BlockBuildMerkleTree(const CBlock& block, bool* fMutated, std::vector<uint256>&
      vMerkleTree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:59,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' block'
    - ' vMerkleTree'
    - nIndex
    argTypes:
    - CBlock
    - std::vector<uint256>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: BlockGetMerkleBranch
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::min
    - vtx::size
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> BlockGetMerkleBranch(const CBlock& block, const
      std::vector<uint256>& vMerkleTree, int nIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: ctz
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ctz(uint32_t i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:83,1
    - Dst: ctz
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:86,1
    - Dst: ctz
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:89,1
    - Dst: ctz
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:92,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:96,1
    - Dst: CBlock::vtx::resize
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:97,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:99,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:101,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:101,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:106,1
    - Dst: CBlock::vtx::resize
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:108,1
    - Dst: BlockBuildMerkleTree
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:121,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:124,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:127,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:127,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:128,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:129,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:132,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:136,1
    - Dst: TransactionMerklePath
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:138,1
    - Dst: BlockGetMerkleBranch
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:141,1
    - Dst: ComputeMerkleRootFromBranch
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:141,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:141,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 1
    functionsReached:
    - uint256
    - BlockGetMerkleBranch
    - CMutableTransaction::CMutableTransaction
    - CBlock::vtx::resize
    - MakeTransactionRef
    - std::move
    - BlockBuildMerkleTree
    - BOOST_CHECK
    - CBlock::CBlock
    - std::min
    - GetHash
    - randrange
    - BlockMerkleRoot
    - TransactionMerklePath
    - ctz
    - ComputeMerkleRootFromBranch
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:152,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:155,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:155,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 1
    functionsReached:
    - CBlock::CBlock
    - BOOST_CHECK_EQUAL
    - uint256::IsNull
    - BlockMerkleRoot
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_test_empty_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:162,1
    - Dst: CBlock::vtx::resize
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:164,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:165,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:167,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:167,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:168,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:169,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:169,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 1
    functionsReached:
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - CBlock::vtx::resize
    - std::move
    - GetHash
    - CBlock::CBlock
    - BOOST_CHECK_EQUAL
    - BlockMerkleRoot
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_test_oneTx_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:176,1
    - Dst: CBlock::vtx::resize
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:178,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:180,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:181,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:183,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:183,1
    - Dst: vtx::push_back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:187,1
    - Dst: vtx::back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:187,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:189,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:190,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:192,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:193,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 1
    functionsReached:
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - CBlock::vtx::resize
    - std::move
    - CBlock::CBlock
    - BOOST_CHECK_EQUAL
    - CBlock::vtx::size
    - BlockMerkleRoot
    - vtx::push_back
    - vtx::back
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_test_OddTxWithRepeatedLastTx_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:199,1
    - Dst: CBlock::vtx::resize
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:201,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:203,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:204,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:206,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:206,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:209,1
    - Dst: vtx::push_back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:210,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:212,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:212,1
    - Dst: vtx::push_back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:213,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:215,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:216,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:217,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:219,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:220,1
    - Dst: ComputeMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:221,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 1
    functionsReached:
    - ComputeMerkleRoot
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - CBlock::vtx::resize
    - std::move
    - std::vector::push_back
    - CBlock::CBlock
    - BOOST_CHECK_EQUAL
    - CBlock::vtx::size
    - BlockMerkleRoot
    - vtx::push_back
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_test_LeftSubtreeRightSubtree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:228,1
    - Dst: CBlock::vtx::resize
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:230,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:231,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:232,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:234,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:234,1
    - Dst: BlockWitnessMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:237,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:240,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:240,1
    - Dst: SetNull
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:241,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:242,1
    - Dst: ComputeMerkleRoot
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:244,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/merkle_tests.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 247
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/merkle_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::resize
    - ComputeMerkleRoot
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - CBlock::vtx::resize
    - std::move
    - SetNull
    - BlockWitnessMerkleRoot
    - CBlock::CBlock
    - GetHash
    - BOOST_CHECK_EQUAL
    - CBlock::vtx::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(merkle_test_BlockWitness)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:34,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:34,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:36,1
    - Dst: util::ThreadGetInternalName
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:36,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:39,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:41,1
    - Dst: join
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: RenameEnMasse
    functionSourceFile: /src/bitcoin-core/src/test/util_threadnames_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ToString
    - std::vector::reserve
    - util::ThreadRename
    - util::ThreadGetInternalName
    - std::set::insert
    - join
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> RenameEnMasse(int num_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RenameEnMasse
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:57,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:57,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:61,1
    - Dst: std::set::find
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:61,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:61,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/test/util_threadnames_tests.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_threadnames_tests.cpp
    functionUses: 1
    functionsReached:
    - std::set::find
    - ToString
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::set::end
    - RenameEnMasse
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_threadnames_test_rename_threaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:23,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:24,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:25,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:26,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_trace_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - TRACEPOINT
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_tracepoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: fail_test_if_executed
    functionSourceFile: /src/bitcoin-core/src/test/util_trace_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    linkageType: ''
    returnType: int
    signature: int fail_test_if_executed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:42,1
    - Dst: fail_test_if_executed
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:42,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_trace_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - fail_test_if_executed
    - TRACEPOINT
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_tracepoint_check_if_attached)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACEPOINT_ACTIVE
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:52,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:53,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/util_trace_tests.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/util_trace_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - TRACEPOINT
    - TRACEPOINT_ACTIVE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_tracepoint_manual_tracepoint_active_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:19,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:20,1
    - Dst: CoinStatsIndex::Init
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:20,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:24,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:25,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:29,1
    - Dst: CoinStatsIndex::LookUpStats
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:29,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:33,1
    - Dst: CoinStatsIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:33,1
    - Dst: CoinStatsIndex::Sync
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:35,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:40,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:43,1
    - Dst: CoinStatsIndex::LookUpStats
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:43,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:46,1
    - Dst: CoinStatsIndex::LookUpStats
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:46,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:48,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:48,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:48,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:50,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:53,1
    - Dst: CoinStatsIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:53,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:57,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:58,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:60,1
    - Dst: CoinStatsIndex::LookUpStats
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:60,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:62,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:70,1
    - Dst: CoinStatsIndex::Stop
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 74
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - CreateAndProcessBlock
    - ToByteVector
    - CoinStatsIndex::BlockUntilSyncedToCurrentChain
    - interfaces::MakeChain
    - BOOST_CHECK
    - BOOST_REQUIRE
    - LOCK
    - CoinStatsIndex::Sync
    - CoinStatsIndex::Init
    - validation_signals::SyncWithValidationInterfaceQueue
    - CScript
    - CoinStatsIndex::Stop
    - GetPubKey
    - CoinStatsIndex::LookUpStats
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(coinstatsindex_initial_sync, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:80,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:81,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:83,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:84,1
    - Dst: CoinStatsIndex::Init
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:84,1
    - Dst: CoinStatsIndex::Sync
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:85,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:89,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:89,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:89,1
    - Dst: CreateBlock
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:90,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:92,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:96,1
    - Dst: CheckBlock
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:96,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:97,1
    - Dst: chainman::AcceptBlock
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:97,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:99,1
    - Dst: ConnectBlock
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:99,1
    - Dst: ValidationInterfaceTest::BlockConnected
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:104,1
    - Dst: CoinStatsIndex::Stop
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:105,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:109,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:110,1
    - Dst: CoinStatsIndex::Init
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:110,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:112,1
    - Dst: CoinStatsIndex::StartBackgroundSync
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:112,1
    - Dst: CoinStatsIndex::Stop
      Src: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 115
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/coinstatsindex_tests.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - ConnectBlock
    - ValidationInterfaceTest::BlockConnected
    - CoinStatsIndex::Sync
    - BOOST_CHECK
    - BOOST_REQUIRE
    - CoinStatsIndex::StartBackgroundSync
    - CreateBlock
    - ToByteVector
    - std::make_shared<CBlock>
    - chainman::AcceptBlock
    - Assert
    - Params
    - CoinStatsIndex::Stop
    - interfaces::MakeChain
    - CheckBlock
    - LOCK
    - CoinStatsIndex::Init
    - CScript
    - GetPubKey
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(coinstatsindex_unclean_shutdown, TestChain100Setup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:26,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:27,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:31,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:31,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:35,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:35,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:37,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:37,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:40,1
    - Dst: ParseParameters
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:40,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:40,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' local_args'
    - ' strArg'
    argTypes:
    - ArgsManager
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: ResetArgs
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - ParseParameters
    - std::vector::reserve
    - std::vector::begin
    - std::vector::insert
    - size
    - std::vector::push_back
    - BOOST_CHECK
    - SplitString
    - c_str
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void ResetArgs(ArgsManager& local_args, const std::string& strArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' local_args'
    - ' args'
    argTypes:
    - ArgsManager
    - std::vector<std::pair<std::string, unsigned int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: SetupArgs
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 9
    functionsReached:
    - AddArg
    linkageType: ''
    returnType: void
    signature: void SetupArgs(ArgsManager& local_args, const std::vector<std::pair<std::string,
      unsigned int>>& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:59,1
    - Dst: SetupArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:60,1
    - Dst: ArgsManager::LockSettings
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:63,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:68,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:69,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:69,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:70,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:71,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:72,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:72,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:73,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:73,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:75,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:76,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:76,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:77,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:77,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:78,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:78,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:79,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:79,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:80,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:80,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:82,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:83,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:83,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:84,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:84,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:85,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:85,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:86,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:86,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:87,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:87,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:90,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:91,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:91,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:92,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:92,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:93,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:94,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:94,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:97,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:98,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:99,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:99,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:100,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:100,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:101,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:101,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:104,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:104,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:105,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:105,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:106,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:106,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:107,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:107,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:108,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:108,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:110,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:111,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:112,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:112,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:113,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:113,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:114,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:114,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:115,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:115,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:117,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:118,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:118,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:119,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:119,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:120,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:120,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:121,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:121,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:122,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:122,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:124,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:125,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:125,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:126,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:126,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:127,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:127,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:128,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:128,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:129,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:129,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:131,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:132,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:132,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:133,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:133,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:134,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:134,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:135,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:135,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:136,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:136,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:138,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:139,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:139,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:140,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:140,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:141,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:141,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:142,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:142,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:143,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:143,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:146,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:146,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:147,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:147,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:148,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:148,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:149,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:149,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:150,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:150,1
    - Dst: set_foo
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:152,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:153,1
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:154,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:154,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:155,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:155,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:156,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:156,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:157,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 158
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_THROW
    - ArgsManager::GetSetting
    - ArgsManager::LockSettings
    - ArgsManager::GetBoolArg
    - ArgsManager::GetIntArg
    - ArgsManager::ArgsManager
    - BOOST_CHECK_EQUAL
    - SetupArgs
    - ArgsManager::GetArg
    - set_foo
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(setting_args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:162,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:164,1
    - Dst: SetupArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:165,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:166,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:167,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:167,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:168,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:168,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:170,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:170,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:171,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:171,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:173,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:173,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:174,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:174,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:176,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:177,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:177,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:178,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:178,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:180,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:181,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:181,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:182,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:182,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:185,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:186,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:186,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:187,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:187,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:189,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:190,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:190,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:191,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:191,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:194,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:194,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:195,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:195,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:197,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:198,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:198,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:199,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:199,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:202,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:203,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:203,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:207,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:208,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:208,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:211,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:211,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:212,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 213
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - ArgsManager::GetBoolArg
    - ArgsManager::ArgsManager
    - BOOST_CHECK
    - SetupArgs
    - ResetArgs
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(boolarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:217,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:219,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:220,1
    - Dst: SetupArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:221,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:222,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:223,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:223,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:224,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:224,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:226,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:227,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:227,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:228,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:228,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:230,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:231,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:231,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:232,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:232,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:234,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:235,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:235,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:236,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:236,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:238,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:239,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:239,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:240,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 241
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - ArgsManager::ArgsManager
    - BOOST_CHECK_EQUAL
    - SetupArgs
    - ResetArgs
    - ArgsManager::GetArg
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(stringarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:245,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:247,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:248,1
    - Dst: SetupArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:249,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:250,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:251,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:251,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:252,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:252,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:254,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:255,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:255,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:256,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:256,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:259,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:260,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:260,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:260,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:261,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:261,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:261,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:263,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:264,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:264,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:265,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:265,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:267,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:268,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:268,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:269,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 270
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - RandomMixin::min
    - ArgsManager::ArgsManager
    - BOOST_CHECK_EQUAL
    - SetupArgs
    - ResetArgs
    - RandomMixin::max
    - ArgsManager::GetIntArg
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(intarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:274,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:276,1
    - Dst: SetupArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:277,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:278,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:279,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:279,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:282,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:283,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:283,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:285,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:286,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:286,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:288,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:289,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:289,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:291,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:292,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:292,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:296,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:297,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:297,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:299,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:300,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:300,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:302,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:303,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:303,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:305,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:306,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:306,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:308,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:309,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:309,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:311,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:312,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:312,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:316,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:317,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:317,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:319,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:320,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:320,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:322,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:323,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:323,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:325,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:326,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:326,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:328,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:329,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:329,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:331,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:332,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:332,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:334,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:335,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:335,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:337,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:338,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:338,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:341,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:342,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:342,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:344,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:345,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:345,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:347,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:348,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:348,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:350,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:351,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:351,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:353,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:354,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:354,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:356,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:357,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:357,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:359,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:360,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:360,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:362,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:363,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:363,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:372,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:373,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:373,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:374,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:375,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:375,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:376,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:377,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:377,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:378,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:379,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:379,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:380,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:381,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 382
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - ArgsManager::ArgsManager
    - ArgsManager::GetPathArg
    - BOOST_CHECK_EQUAL
    - SetupArgs
    - ResetArgs
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(patharg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:386,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:388,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:389,1
    - Dst: SetupArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:390,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:391,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:392,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:392,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:394,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:395,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:395,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:396,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 397
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - ArgsManager::GetBoolArg
    - ArgsManager::ArgsManager
    - BOOST_CHECK_EQUAL
    - SetupArgs
    - ResetArgs
    - ArgsManager::GetArg
    - ArgsManager::GetIntArg
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(doubledash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:401,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:403,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:404,1
    - Dst: SetupArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:405,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:406,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:407,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:407,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:408,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:408,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:410,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:411,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:411,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:412,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:412,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:414,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:415,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:415,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:416,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:416,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:418,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:419,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:419,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:420,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:420,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:422,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:423,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:423,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:424,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 425
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - ArgsManager::GetBoolArg
    - ArgsManager::ArgsManager
    - BOOST_CHECK
    - SetupArgs
    - ResetArgs
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(boolargno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:429,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:431,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:432,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:433,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:434,1
    - Dst: SetupArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:435,1
    - Dst: ResetArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:436,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:440,1
    - Dst: ArgsManager::LogArgs
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:446,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:448,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:450,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:450,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:451,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:451,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:452,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:452,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:453,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:453,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:454,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/getarg_tests.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 455
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/getarg_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - ArgsManager::LogArgs
    - ArgsManager::ArgsManager
    - BOOST_CHECK
    - SetupArgs
    - std::string::find
    - ResetArgs
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(logargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:25,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:26,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:27,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:28,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:32,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' inputs'
    - num_outputs
    argTypes:
    - std::vector<COutPoint>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 38
    functionName: make_tx
    functionSourceFile: /src/bitcoin-core/src/test/miniminer_tests.cpp
    functionUses: 7
    functionsReached:
    - CMutableTransaction::vout::resize
    - MakeTransactionRef
    - size
    - CMutableTransaction
    - CScript
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef make_tx(const std::vector<COutPoint>& inputs, size_t
      num_outputs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:48,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:48,1
    - Dst: cend
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:48,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:49,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:49,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:55,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:57,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:58,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:58,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:58,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:59,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:59,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:61,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - ' transactions'
    - ' bumpfees'
    argTypes:
    - std::vector<CTransactionRef>
    - std::map<COutPoint, CAmount>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 65
    functionName: sanity_check
    functionSourceFile: /src/bitcoin-core/src/test/miniminer_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - static_cast<uint32_t>
    - cend
    - GetHash
    - vout::size
    - std::any_of
    - std::set::insert
    - find
    - cbegin
    - std::set::size
    linkageType: ''
    returnType: bool
    signature: "bool sanity_check(const std::vector<CTransactionRef>& transactions,\n
      \                               const std::map<COutPoint, CAmount>& bumpfees)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:70,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:71,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:71,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:71,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' map'
    - ' key'
    argTypes:
    - std::map<Key, Value>
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: Find
    functionSourceFile: /src/bitcoin-core/src/test/miniminer_tests.cpp
    functionUses: 6
    functionsReached:
    - end
    - ToString
    - strprintf
    - find
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: Value
    signature: Value Find(const std::map<Key, Value>& map, const Key& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:77,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:78,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:85,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:86,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:86,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:87,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:87,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:88,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:88,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:89,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:93,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:93,1
    - Dst: node::MiniMiner::BuildMockTemplate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:95,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:97,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:97,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:97,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:97,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:98,1
    - Dst: node::MiniMiner::GetMockTemplateTxids
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:102,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:102,1
    - Dst: node::MiniMiner::BuildMockTemplate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:103,1
    - Dst: node::MiniMiner::GetMockTemplateTxids
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:104,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:105,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:106,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:106,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/miniminer_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::GetHash
    - PrioritiseTransaction
    - LOCK2
    - node::MiniMiner::GetMockTemplateTxids
    - GetHash
    - AddToMempool
    - TestMemPoolEntryHelper::Fee
    - node::MiniMiner::BuildMockTemplate
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Assert
    - node::MiniMiner::IsReadyToCalculate
    - CFeeRate::GetFee
    - GetEntry
    - auto::count
    - make_tx
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(miniminer_negative, TestChain100Setup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:111,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:112,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:116,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:116,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:117,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:117,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:118,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:118,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:119,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:119,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:122,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:122,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:123,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:123,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:124,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:124,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:125,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:125,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:128,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:128,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:129,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:129,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:130,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:130,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:131,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:131,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:135,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:135,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:139,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:139,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:140,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:140,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:141,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:141,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:142,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:142,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:145,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:146,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:147,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:148,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:149,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:150,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:151,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:152,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:154,1
    - Dst: isSpent
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:154,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:157,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:158,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:159,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:162,1
    - Dst: GetConflictTx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:162,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:165,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:166,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:167,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:168,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:169,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:170,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:171,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:172,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:182,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:182,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:182,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:183,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:183,1
    - Dst: TestMemPoolEntryHelper::GetTxSize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:183,1
    - Dst: TestMemPoolEntryHelper::GetModifiedFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:183,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:184,1
    - Dst: TestMemPoolEntryHelper::GetModifiedFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:184,1
    - Dst: TestMemPoolEntryHelper::GetTxSize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:184,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:187,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:187,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:187,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:188,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:188,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:188,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:189,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:189,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:189,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:190,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:190,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:190,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:193,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:193,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:193,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:194,1
    - Dst: isSpent
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:194,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:197,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:197,1
    - Dst: node::MiniMiner::CalculateBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:198,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:199,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:200,1
    - Dst: sanity_check
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:200,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:201,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:201,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:201,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:204,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:204,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:205,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:212,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:212,1
    - Dst: node::MiniMiner::CalculateBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:213,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:214,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:214,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:215,1
    - Dst: sanity_check
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:215,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:216,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:216,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:216,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:219,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:219,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:220,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:220,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:222,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:225,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:225,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:229,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:229,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:230,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:230,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:231,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:232,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:232,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:235,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:238,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:238,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:249,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:249,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:250,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:250,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:251,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:252,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:252,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:255,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:258,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:258,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:266,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:266,1
    - Dst: node::MiniMiner::CalculateBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:267,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:268,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:268,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:269,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:269,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:269,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:271,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:271,1
    - Dst: node::MiniMiner::CalculateBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:272,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:273,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:273,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:274,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:274,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:274,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:278,1
    - Dst: sanity_check
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:278,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:281,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:281,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:282,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:282,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:284,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:287,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:287,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:291,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:291,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:293,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:293,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:295,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:298,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:298,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:302,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:302,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:304,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:304,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:306,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:309,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:309,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:319,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:319,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:320,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:320,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:321,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:321,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:322,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:322,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:323,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:323,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:324,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:324,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:325,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:325,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:326,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:326,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:328,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:329,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:330,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:331,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:332,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:333,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:334,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:335,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:338,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:338,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:338,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:338,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:339,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:339,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:339,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:340,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:340,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:340,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:340,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:341,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:341,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:341,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:342,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:342,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:342,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:342,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:343,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:343,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:343,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:344,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:344,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:344,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:344,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:345,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:345,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:345,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:350,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:350,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:351,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:351,1
    - Dst: node::MiniMiner::Linearize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:352,1
    - Dst: node::MiniMiner::Linearize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:352,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:354,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:354,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:354,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:357,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:357,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:357,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:358,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:358,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:358,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:361,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:361,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:361,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:362,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:362,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:362,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:364,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:364,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:364,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:365,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:365,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:365,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:369,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:369,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:369,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 371
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/miniminer_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::GetHash
    - std::vector::emplace_back
    - LOCK2
    - CFeeRate
    - GetHash
    - sanity_check
    - BOOST_CHECK_EQUAL
    - std::map::emplace
    - std::map::find
    - GetFee
    - AddToMempool
    - auto::find
    - BOOST_CHECK
    - node::MiniMiner::IsReadyToCalculate
    - std::vector::size
    - isSpent
    - TestMemPoolEntryHelper::Fee
    - transaction_identifier::FromUint256
    - Assert
    - make_tx
    - GetConflictTx
    - node::MiniMiner::CalculateBumpFees
    - node::MiniMiner::Linearize
    - PrioritiseTransaction
    - std::map::at
    - TestMemPoolEntryHelper::GetTxSize
    - GetRandHash
    - GetEntry
    - Find
    - auto::end
    - TestMemPoolEntryHelper::GetModifiedFee
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(miniminer_1p1c, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:402,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:403,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:407,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:407,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:408,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:408,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:409,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:409,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:410,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:410,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:411,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:411,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:412,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:412,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:413,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:413,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:413,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:413,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:414,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:414,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:417,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:417,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:418,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:418,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:419,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:419,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:420,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:420,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:421,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:421,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:422,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:422,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:423,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:423,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:424,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:424,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:428,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:428,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:429,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:429,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:432,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:433,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:434,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:435,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:436,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:437,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:438,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:439,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:440,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:441,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:443,1
    - Dst: isSpent
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:443,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:445,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:446,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:448,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:449,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:450,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:450,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:450,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:451,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:451,1
    - Dst: GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:451,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:451,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:452,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:453,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:454,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:454,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:454,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:455,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:455,1
    - Dst: GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:455,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:455,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:456,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:457,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:457,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:457,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:458,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:458,1
    - Dst: GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:458,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:458,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:459,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:460,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:466,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:467,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:467,1
    - Dst: node::MiniMiner::CalculateBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:468,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:469,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:469,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:469,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:470,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:470,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:471,1
    - Dst: sanity_check
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:471,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:472,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:472,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:473,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:473,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:474,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:474,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:475,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:475,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:476,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:476,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:477,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:478,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:479,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:479,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:480,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:480,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:481,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:482,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:483,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:483,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:484,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:484,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:485,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:486,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:488,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:488,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:489,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:489,1
    - Dst: node::MiniMiner::CalculateTotalBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:490,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:491,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:491,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:492,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:492,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:493,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:493,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:494,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:496,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:496,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:497,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:497,1
    - Dst: node::MiniMiner::CalculateTotalBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:498,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:499,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:499,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:500,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:500,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:501,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:501,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:502,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:506,1
    - Dst: auto::GetFeePerK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:506,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:508,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:508,1
    - Dst: node::MiniMiner::CalculateBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:509,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:510,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:510,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:511,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:511,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:511,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:512,1
    - Dst: sanity_check
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:512,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:513,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:513,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:514,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:514,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:515,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:515,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:516,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:516,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:517,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:517,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:518,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:518,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:520,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:520,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:521,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:521,1
    - Dst: node::MiniMiner::CalculateTotalBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:522,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:523,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:523,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:524,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:524,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:525,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:525,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:525,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:529,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:530,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:530,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:532,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:532,1
    - Dst: node::MiniMiner::CalculateBumpFees
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:533,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:534,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:534,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:535,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:535,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:535,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:536,1
    - Dst: sanity_check
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:536,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:537,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:537,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:538,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:538,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:539,1
    - Dst: auto::GetFee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:539,1
    - Dst: auto::find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:540,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:540,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:541,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:541,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:542,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:546,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:547,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:548,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:549,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:550,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:551,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:552,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:553,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:556,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:556,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:556,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:556,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:557,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:557,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:557,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:557,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:558,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:558,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:558,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:558,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:559,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:559,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:559,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:560,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:560,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:560,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:560,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:560,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:560,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:561,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:561,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:561,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:561,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:561,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:562,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:562,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:562,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:563,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:563,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:563,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:568,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:568,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:569,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:569,1
    - Dst: node::MiniMiner::Linearize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:570,1
    - Dst: node::MiniMiner::Linearize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:570,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:572,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:572,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:572,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:573,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:573,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:573,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:576,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:576,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:576,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:577,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:577,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:577,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:580,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:580,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:580,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:581,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:581,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:581,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:582,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:582,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:582,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:585,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:585,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 587
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/miniminer_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::GetHash
    - std::vector::emplace_back
    - LOCK2
    - CFeeRate
    - GetHash
    - sanity_check
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - auto::GetFeePerK
    - auto::GetFee
    - GetSizeWithAncestors
    - std::map::emplace
    - GetModFeesWithAncestors
    - GetVirtualTransactionSize
    - auto::value
    - AddToMempool
    - auto::find
    - std::vector::reserve
    - BOOST_CHECK
    - node::MiniMiner::IsReadyToCalculate
    - CFeeRate::GetFee
    - std::vector::size
    - isSpent
    - TestMemPoolEntryHelper::Fee
    - Assert
    - make_tx
    - node::MiniMiner::CalculateBumpFees
    - auto::has_value
    - node::MiniMiner::Linearize
    - GetEntry
    - node::MiniMiner::CalculateTotalBumpFees
    - Find
    - auto::end
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(miniminer_overlap, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:590,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:591,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:596,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:596,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:596,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:596,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:597,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:606,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:606,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:607,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:607,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:608,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:608,1
    - Dst: GatherClusters
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:611,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:611,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:612,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:612,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:613,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:613,1
    - Dst: CTxMemPool::setEntries::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:613,1
    - Dst: GetIterVec
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:614,1
    - Dst: convert_to_uint256_vec
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:614,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:615,1
    - Dst: CTxMemPool::setEntries::count
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:615,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:618,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:618,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:619,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:619,1
    - Dst: GatherClusters
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:620,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:620,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:621,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:621,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:631,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:631,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:631,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:632,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:632,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:633,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:633,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:636,1
    - Dst: AddToMempool
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:637,1
    - Dst: TestMemPoolEntryHelper::Fee
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:637,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:638,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:638,1
    - Dst: GetIterVec
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:640,1
    - Dst: convert_to_uint256_vec
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:640,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:642,1
    - Dst: GatherClusters
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:644,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:645,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:645,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:645,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:646,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:646,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:647,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:647,1
    - Dst: CTxMemPool::setEntries::size
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:647,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:648,1
    - Dst: CTxMemPool::setEntries::count
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 650
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/miniminer_tests.cpp
    functionUses: 0
    functionsReached:
    - GetIterVec
    - auto::size
    - auto::GetHash
    - LOCK2
    - GetHash
    - std::vector::push_back
    - BOOST_CHECK_EQUAL
    - CTxMemPool::setEntries::size
    - GatherClusters
    - auto::begin
    - CTxMemPool::setEntries::count
    - AddToMempool
    - ToUint256
    - BOOST_CHECK
    - convert_to_uint256_vec
    - std::vector::size
    - TestMemPoolEntryHelper::Fee
    - transaction_identifier::FromUint256
    - Assert
    - make_tx
    - end
    - std::back_inserter
    - std::transform
    - GetRandHash
    - auto::end
    - begin
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(calculate_cluster, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:654,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:655,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:659,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:659,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:660,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:660,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:662,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:662,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:663,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:663,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:665,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:665,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:666,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:666,1
    - Dst: make_tx
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:668,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:668,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:668,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:668,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:675,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:676,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:677,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:678,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:679,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:680,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:681,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:683,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:683,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:683,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:683,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:683,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:684,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:684,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:684,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:684,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:684,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:685,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:685,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:685,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:685,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:685,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:686,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:686,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:686,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:686,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:687,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:687,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:687,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:687,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:688,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:688,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:688,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:688,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:689,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:689,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:689,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:692,1
    - Dst: node::MiniMiner::IsReadyToCalculate
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:692,1
    - Dst: node::MiniMiner::Linearize
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:693,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:696,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:696,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:696,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:697,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:697,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:697,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:700,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:700,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:700,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:701,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:701,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:701,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:704,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:704,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:704,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:705,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:705,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:705,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:708,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:708,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/miniminer_tests.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 710
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/miniminer_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - std::vector::emplace_back
    - node::MiniMiner::Linearize
    - auto::at
    - LOCK2
    - at
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Assert
    - node::MiniMiner::IsReadyToCalculate
    - std::map::emplace
    - make_tx
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(manual_ctor, TestChain100Setup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:22,1
    - Dst: DecodeDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:23,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:24,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:26,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:26,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:29,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:29,1
    - Dst: EncodeDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:30,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:31,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: TestDouble
    functionSourceFile: /src/bitcoin-core/src/test/serfloat_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - std::isnan
    - BOOST_CHECK_EQUAL
    - DecodeDouble
    - EncodeDouble
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TestDouble(double f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:22,1
    - Dst: DecodeDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:23,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:24,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:26,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:26,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:29,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:29,1
    - Dst: EncodeDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:30,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:31,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: TestDouble
    functionSourceFile: /src/bitcoin-core/src/test/serfloat_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - std::isnan
    - BOOST_CHECK_EQUAL
    - DecodeDouble
    - EncodeDouble
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TestDouble(double f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:41,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:41,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:42,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:42,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:43,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:43,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:43,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:44,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:44,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:45,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:46,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:46,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:47,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:48,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:48,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:49,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:49,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:50,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:51,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:52,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:53,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:53,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:54,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:55,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:56,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:57,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:57,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:58,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:58,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:59,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:59,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:60,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:60,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:61,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:61,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:62,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:62,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:63,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:63,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:64,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:64,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:65,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:65,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:66,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:66,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:67,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:67,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:68,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:68,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:69,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:69,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:70,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:70,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:71,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:72,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:72,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:73,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:73,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:74,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:74,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:75,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:75,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:76,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:76,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:77,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:77,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:78,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:78,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:79,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:79,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:80,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:81,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:81,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:82,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:82,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:83,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:83,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:84,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:84,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:85,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:85,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:86,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:86,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:89,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:89,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:90,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:90,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:91,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:91,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:91,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:92,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:92,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:92,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:93,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:93,1
    - Dst: std::numeric_limits<double>::lowest
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:93,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:94,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:94,1
    - Dst: std::numeric_limits<double>::lowest
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:94,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:95,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:95,1
    - Dst: std::numeric_limits<double>::denorm_min
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:95,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:96,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:96,1
    - Dst: std::numeric_limits<double>::denorm_min
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:98,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:98,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:99,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:99,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:99,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:100,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:100,1
    - Dst: std::numeric_limits<double>::signaling_NaN
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:100,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:101,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:101,1
    - Dst: std::numeric_limits<double>::signaling_NaN
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:101,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:111,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:118,1
    - Dst: TestDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 122
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serfloat_tests.cpp
    functionUses: 1
    functionsReached:
    - std::numeric_limits<double>::denorm_min
    - RandomMixin::min
    - std::numeric_limits<double>::quiet_NaN
    - randbits
    - std::numeric_limits<double>::signaling_NaN
    - std::numeric_limits<double>::lowest
    - memcpy
    - BOOST_CHECK_EQUAL
    - secp256k1_ge_is_infinity
    - TestDouble
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(double_serfloat_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:142,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:142,1
    - Dst: DecodeDouble
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:148,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/serfloat_tests.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/serfloat_tests.cpp
    functionUses: 1
    functionsReached:
    - Hash
    - BOOST_CHECK_MESSAGE
    - BOOST_CHECK
    - DecodeDouble
    - EncodeDouble
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(doubles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CService
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:32,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:32,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: ip
    functionSourceFile: /src/bitcoin-core/src/test/denialofservice_tests.cpp
    functionUses: 85
    functionsReached:
    - CNetAddr
    - Params
    - CService
    linkageType: ''
    returnType: CService
    signature: CService ip(uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:47,1
    - Dst: static_cast<ConnmanTestMsg&>
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:49,1
    - Dst: SetPeerConnectTimeout
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:51,1
    - Dst: ip
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:55,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:62,1
    - Dst: Handshake
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:67,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:70,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:71,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:77,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:78,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:78,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:79,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:83,1
    - Dst: SendMessages
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:83,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:86,1
    - Dst: CNode::m_transport::GetBytesToSend
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:88,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:88,1
    - Dst: FlushSendBuffer
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:90,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:92,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:95,1
    - Dst: SendMessages
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:95,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:97,1
    - Dst: CNode::m_transport::GetBytesToSend
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:99,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:99,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:103,1
    - Dst: SendMessages
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:104,1
    - Dst: FinalizeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 107
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/denialofservice_tests.cpp
    functionUses: 1
    functionsReached:
    - chainman::ActiveChain
    - GetTime
    - FinalizeNode
    - SendMessages
    - CNode::m_transport::GetBytesToSend
    - empty
    - FlushSendBuffer
    - SetMockTime
    - Handshake
    - BOOST_CHECK
    - LOCK
    - CAddress
    - ip
    - SetPeerConnectTimeout
    - ServiceFlags
    - static_cast<ConnmanTestMsg&>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(outbound_slow_chain_eviction)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:115,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:116,1
    - Dst: CAddress::SetSpecial
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:116,1
    - Dst: OnionToString
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:116,1
    - Dst: CAddress::IsRoutable
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:119,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:120,1
    - Dst: ip
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:120,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:120,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:123,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:128,1
    - Dst: CNode::CNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:123,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:132,1
    - Dst: CNode::SetCommonVersion
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:133,1
    - Dst: InitializeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:135,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:135,1
    - Dst: AddTestNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' id'
    - ' vNodes'
    - ' peerLogic'
    - ' connman'
    - connType
    argTypes:
    - NodeId
    - std::vector<CNode*>
    - PeerManager
    - ConnmanTestMsg
    - ConnectionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: AddRandomOutboundPeer
    functionSourceFile: /src/bitcoin-core/src/test/denialofservice_tests.cpp
    functionUses: 0
    functionsReached:
    - randbytes
    - AddTestNode
    - randbits
    - CAddress::SetSpecial
    - back
    - BOOST_REQUIRE
    - InitializeNode
    - CAddress
    - CNode::CNode
    - OnionToString
    - ip
    - emplace_back
    - CAddress::IsRoutable
    - CNode::SetCommonVersion
    - ServiceFlags
    linkageType: ''
    returnType: void
    signature: void AddRandomOutboundPeer(NodeId& id, std::vector<CNode*>& vNodes,
      PeerManager& peerLogic, ConnmanTestMsg& connman, ConnectionType connType, bool
      onion_peer = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConnmanTestMsg>
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:145,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:145,1
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:146,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:152,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:153,1
    - Dst: chainman::GetConsensus
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:154,1
    - Dst: auto::Init
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:155,1
    - Dst: AddRandomOutboundPeer
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:160,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:163,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:167,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:170,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:175,1
    - Dst: auto::GetTryNewOutboundPeer
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:175,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:179,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:185,1
    - Dst: AddRandomOutboundPeer
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:186,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:187,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:189,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:191,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:194,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:194,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:196,1
    - Dst: auto::UpdateLastBlockAnnounceTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:200,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:200,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:200,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:204,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:206,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:207,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:207,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:213,1
    - Dst: AddRandomOutboundPeer
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:214,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:215,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:216,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:219,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:221,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:222,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:223,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:226,1
    - Dst: AddRandomOutboundPeer
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:227,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:228,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:229,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:231,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:231,1
    - Dst: auto::FinalizeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:234,1
    - Dst: auto::ClearTestNodes
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 238
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/denialofservice_tests.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - std::make_unique<ConnmanTestMsg>
    - SetMockTime
    - auto::GetTryNewOutboundPeer
    - std::vector::back
    - auto::ClearTestNodes
    - BOOST_CHECK
    - AddRandomOutboundPeer
    - auto::UpdateLastBlockAnnounceTime
    - Params
    - chainman::GetConsensus
    - auto::CheckForStaleTipAndEvictPeers
    - auto::FinalizeNode
    - PeerManager::make
    - auto::Init
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(stale_tip_peer_management, OutboundTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConnmanTestMsg>
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:243,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:243,1
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:244,1
    - Dst: auto::Init
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:251,1
    - Dst: AddRandomOutboundPeer
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:256,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:258,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:261,1
    - Dst: AddRandomOutboundPeer
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:265,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:266,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:270,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:272,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:272,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:274,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:274,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:275,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:277,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:279,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:279,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:283,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:284,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:284,1
    - Dst: auto::CheckForStaleTipAndEvictPeers
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:286,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:288,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:290,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:291,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:291,1
    - Dst: auto::FinalizeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:294,1
    - Dst: auto::ClearTestNodes
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 297
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/denialofservice_tests.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - std::make_unique<ConnmanTestMsg>
    - SetMockTime
    - std::vector::back
    - auto::ClearTestNodes
    - BOOST_CHECK
    - AddRandomOutboundPeer
    - Params
    - auto::CheckForStaleTipAndEvictPeers
    - auto::FinalizeNode
    - PeerManager::make
    - auto::Init
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(block_relay_only_eviction, OutboundTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:301,1
    - Dst: std::make_unique<BanMan>
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:303,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:303,1
    - Dst: std::make_unique<ConnmanTestMsg>
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:304,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:304,1
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:305,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:305,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:307,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:308,1
    - Dst: CNetAddr::SetSpecial
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:309,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:310,1
    - Dst: ip
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:312,1
    - Dst: ip
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:313,1
    - Dst: ip
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:316,1
    - Dst: auto::ClearBanned
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:320,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:327,1
    - Dst: CNode::CNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:322,1
    - Dst: SetCommonVersion
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:331,1
    - Dst: auto::InitializeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:332,1
    - Dst: auto::AddTestNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:334,1
    - Dst: auto::UnitTestMisbehaving
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:335,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:336,1
    - Dst: auto::SendMessages
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:336,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:338,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:338,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:339,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:340,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:340,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:347,1
    - Dst: CNode::CNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:342,1
    - Dst: SetCommonVersion
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:351,1
    - Dst: auto::InitializeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:352,1
    - Dst: auto::AddTestNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:354,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:355,1
    - Dst: auto::SendMessages
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:355,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:357,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:357,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:358,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:360,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:360,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:361,1
    - Dst: auto::UnitTestMisbehaving
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:362,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:362,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:363,1
    - Dst: auto::SendMessages
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:363,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:365,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:365,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:366,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:367,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:367,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:368,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:377,1
    - Dst: CNode::CNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:372,1
    - Dst: SetCommonVersion
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:381,1
    - Dst: auto::InitializeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:382,1
    - Dst: auto::AddTestNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:384,1
    - Dst: auto::UnitTestMisbehaving
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:385,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:385,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:386,1
    - Dst: auto::SendMessages
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:386,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:387,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:387,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:388,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:388,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:389,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:389,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:390,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:391,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:392,1
    - Dst: auto::FinalizeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:395,1
    - Dst: auto::ClearTestNodes
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 398
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/denialofservice_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::SendMessages
    - GetDataDirBase
    - auto::ClearTestNodes
    - auto::InitializeNode
    - CNode::CNode
    - auto::AddTestNode
    - auto::UnitTestMisbehaving
    - auto::ClearBanned
    - BOOST_CHECK
    - BOOST_REQUIRE
    - PeerManager::make
    - CNetAddr::CNetAddr
    - Params
    - SetCommonVersion
    - GetId
    - std::make_unique<ConnmanTestMsg>
    - LOCK
    - CAddress
    - auto::IsDiscouraged
    - auto::FinalizeNode
    - CNetAddr::SetSpecial
    - ip
    - auto::get
    - std::make_unique<BanMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(peer_discouragement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:402,1
    - Dst: std::make_unique<BanMan>
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:404,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:404,1
    - Dst: std::make_unique<CConnman>
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:405,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:405,1
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:406,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:406,1
    - Dst: auto::ClearBanned
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:408,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:409,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:410,1
    - Dst: ip
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:412,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:419,1
    - Dst: CNode::SetCommonVersion
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:423,1
    - Dst: auto::InitializeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:424,1
    - Dst: auto::UnitTestMisbehaving
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:427,1
    - Dst: CNode::GetId
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:427,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:428,1
    - Dst: auto::SendMessages
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:428,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:429,1
    - Dst: auto::IsDiscouraged
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:429,1
    - Dst: auto::FinalizeNode
      Src: /src/bitcoin-core/src/test/denialofservice_tests.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 432
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/denialofservice_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::SendMessages
    - GetDataDirBase
    - auto::InitializeNode
    - CNode::SetCommonVersion
    - CNode::GetId
    - GetTime
    - auto::UnitTestMisbehaving
    - SetMockTime
    - auto::ClearBanned
    - std::make_unique<CConnman>
    - BOOST_CHECK
    - PeerManager::make
    - Params
    - LOCK
    - CAddress
    - auto::IsDiscouraged
    - auto::FinalizeNode
    - ip
    - auto::get
    - std::make_unique<BanMan>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(DoS_bantime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:21,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:22,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - input
    - command
    - args
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: CheckSplitTorReplyLine
    functionSourceFile: /src/bitcoin-core/src/test/torcontrol_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - SplitTorReplyLine
    linkageType: ''
    returnType: void
    signature: void CheckSplitTorReplyLine(std::string input, std::string command,
      std::string args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:29,1
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:32,1
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:35,1
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:38,1
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:41,1
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:44,1
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:49,1
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:50,1
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:55,1
    - Dst: CheckSplitTorReplyLine
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 57
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/torcontrol_tests.cpp
    functionUses: 1
    functionsReached:
    - CheckSplitTorReplyLine
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_SplitTorReplyLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:61,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:62,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:62,1
    - Dst: std::map<std::string,std::string>::size
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:62,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:63,1
    - Dst: std::map<std::string,std::string>::begin
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:64,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:65,1
    - Dst: std::map<std::string,std::string>::end
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:65,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:66,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - input
    - expected
    argTypes:
    - std::string
    - std::map<std::string,std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: CheckParseTorReplyMapping
    functionSourceFile: /src/bitcoin-core/src/test/torcontrol_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::map<std::string,std::string>::size
    - auto::size
    - std::map<std::string,std::string>::end
    - ParseTorReplyMapping
    - BOOST_CHECK_EQUAL
    - std::map<std::string,std::string>::begin
    - auto::end
    linkageType: ''
    returnType: void
    signature: void CheckParseTorReplyMapping(std::string input, std::map<std::string,std::string>
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:76,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:81,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:85,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:89,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:93,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:98,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:102,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:106,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:112,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:117,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:121,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:127,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:131,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:135,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:139,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:144,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:150,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:157,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:162,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:164,1
    - Dst: ParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:172,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:173,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:173,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:174,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:175,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:176,1
    - Dst: auto::second::size
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:176,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:177,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:183,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:195,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:196,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:197,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:198,1
    - Dst: CheckParseTorReplyMapping
      Src: /src/bitcoin-core/src/test/torcontrol_tests.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 200
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/torcontrol_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::begin
    - auto::size
    - CheckParseTorReplyMapping
    - auto::second::size
    - ParseTorReplyMapping
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(util_ParseTorReplyMapping)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' offsets'
    - ' to_add'
    argTypes:
    - TimeOffsets
    - std::vector<std::chrono::seconds>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: AddMulti
    functionSourceFile: /src/bitcoin-core/src/test/timeoffsets_tests.cpp
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void AddMulti(TimeOffsets& offsets, const std::vector<std::chrono::seconds>&
      to_add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:30,1
    - Dst: TimeOffsets::Median
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:30,1
    - Dst: AddMulti
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:32,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:34,1
    - Dst: TimeOffsets::Median
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:34,1
    - Dst: TimeOffsets::Add
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:38,1
    - Dst: TimeOffsets::Median
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:38,1
    - Dst: AddMulti
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:40,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:42,1
    - Dst: TimeOffsets::Median
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:42,1
    - Dst: AddMulti
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:44,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:46,1
    - Dst: TimeOffsets::Median
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:46,1
    - Dst: AddMulti
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:50,1
    - Dst: TimeOffsets::Median
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 51
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/timeoffsets_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - TimeOffsets::Median
    - TimeOffsets::Add
    - AddMulti
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(timeoffsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddMulti
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:57,1
    - Dst: TimeOffsets::WarnIfOutOfSync
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' check_offsets'
    argTypes:
    - std::vector<std::chrono::seconds>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: IsWarningRaised
    functionSourceFile: /src/bitcoin-core/src/test/timeoffsets_tests.cpp
    functionUses: 0
    functionsReached:
    - TimeOffsets::WarnIfOutOfSync
    - AddMulti
    linkageType: ''
    returnType: bool
    signature: bool IsWarningRaised(const std::vector<std::chrono::seconds>& check_offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:64,1
    - Dst: IsWarningRaised
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:65,1
    - Dst: IsWarningRaised
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:65,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:67,1
    - Dst: IsWarningRaised
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:67,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:68,1
    - Dst: IsWarningRaised
      Src: /src/bitcoin-core/src/test/timeoffsets_tests.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/timeoffsets_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - IsWarningRaised
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(timeoffsets_warning)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:19,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:20,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:21,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:24,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:25,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:26,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:30,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:31,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:34,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:36,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:39,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:40,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:41,1
    - Dst: ParseDataFormat
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/rest_tests.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/rest_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - ParseDataFormat
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(test_query_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - strHexMasterIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: TestVector
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestVector(std::string strHexMasterIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:32,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pub
    - prv
    - nChild
    argTypes:
    - std::string
    - std::string
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: '& operator()(std::string pub, std::string prv, unsigned int nChild)'
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: TestVector
    signature: TestVector & operator()(std::string pub, std::string prv, unsigned
      int nChild)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:125,1
    - Dst: CExtKey::SetSeed
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:128,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:129,1
    - Dst: CExtKey::Encode
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:132,1
    - Dst: CExtPubKey::Encode
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:136,1
    - Dst: EncodeExtKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:137,1
    - Dst: DecodeExtKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:140,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:141,1
    - Dst: DecodeExtPubKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:141,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:145,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:145,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:146,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:150,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' test'
    argTypes:
    - TestVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 156
    functionName: RunTest
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CExtKey::Encode
    - EncodeExtKey
    - CExtPubKey::Derive
    - CExtKey::SetSeed
    - BOOST_CHECK
    - DecodeExtKey
    - DecodeExtPubKey
    - CExtKey::Derive
    - CExtPubKey::Encode
    - CExtKey::Neuter
    - EncodeExtPubKey
    linkageType: ''
    returnType: void
    signature: void RunTest(const TestVector& test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - strHexMasterIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: TestVector
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestVector(std::string strHexMasterIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:32,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pub
    - prv
    - nChild
    argTypes:
    - std::string
    - std::string
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: '& operator()(std::string pub, std::string prv, unsigned int nChild)'
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: TestVector
    signature: TestVector & operator()(std::string pub, std::string prv, unsigned
      int nChild)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:125,1
    - Dst: CExtKey::SetSeed
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:128,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:129,1
    - Dst: CExtKey::Encode
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:132,1
    - Dst: CExtPubKey::Encode
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:136,1
    - Dst: EncodeExtKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:137,1
    - Dst: DecodeExtKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:140,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:141,1
    - Dst: DecodeExtPubKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:141,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:145,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:145,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:146,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:150,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' test'
    argTypes:
    - TestVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 156
    functionName: RunTest
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - CExtKey::Encode
    - EncodeExtKey
    - CExtPubKey::Derive
    - CExtKey::SetSeed
    - BOOST_CHECK
    - DecodeExtKey
    - DecodeExtPubKey
    - CExtKey::Derive
    - CExtPubKey::Encode
    - CExtKey::Neuter
    - EncodeExtPubKey
    linkageType: ''
    returnType: void
    signature: void RunTest(const TestVector& test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RunTest
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 1
    functionsReached:
    - RunTest
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip32_test1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RunTest
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 1
    functionsReached:
    - RunTest
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip32_test2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RunTest
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 1
    functionsReached:
    - RunTest
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip32_test3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RunTest
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 1
    functionsReached:
    - RunTest
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip32_test4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeExtKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:180,1
    - Dst: DecodeExtPubKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:181,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:182,1
    - Dst: auto::key::IsValid
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:182,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:183,1
    - Dst: auto::pubkey::IsValid
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 1
    functionsReached:
    - DecodeExtPubKey
    - DecodeExtKey
    - auto::key::IsValid
    - BOOST_CHECK_MESSAGE
    - auto::pubkey::IsValid
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip32_test5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeExtKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:188,1
    - Dst: DecodeExtPubKey
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:189,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:193,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:193,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:194,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:195,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:195,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:196,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:200,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:201,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:202,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/test/bip32_tests.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/bip32_tests.cpp
    functionUses: 1
    functionsReached:
    - CExtPubKey::Derive
    - swap
    - DecodeExtPubKey
    - BOOST_CHECK
    - CExtKey::Derive
    - DecodeExtKey
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bip32_max_depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - SOCKET
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: SocketIsClosed
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 0
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: bool
    signature: bool SocketIsClosed(const SOCKET& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:32,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:33,1
    - Dst: static_cast<SOCKET>
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: CreateSocket
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_REQUIRE
    - static_cast<SOCKET>
    - socket
    linkageType: ''
    returnType: SOCKET
    signature: SOCKET CreateSocket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSocket
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:39,1
    - Dst: Sock::Sock
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:40,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:42,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:42,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:44,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - SocketIsClosed
    - CreateSocket
    - Sock::Sock
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(constructor_and_destructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSocket
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:49,1
    - Dst: Sock::Sock
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:50,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:51,1
    - Dst: Sock::Sock
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:53,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:53,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:56,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 1
    functionsReached:
    - SocketIsClosed
    - CreateSocket
    - std::move
    - BOOST_CHECK
    - Sock::Sock
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(move_constructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSocket
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:61,1
    - Dst: CreateSocket
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:62,1
    - Dst: Sock::Sock
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:63,1
    - Dst: Sock::Sock
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:64,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:66,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:66,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:67,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:67,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:70,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:71,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:71,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:72,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:75,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:76,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:76,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:77,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:80,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:80,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:81,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 82
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 1
    functionsReached:
    - SocketIsClosed
    - CreateSocket
    - std::move
    - BOOST_CHECK
    - Sock::Sock
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(move_assignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:88,1
    - Dst: socketpair
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: CreateSocketPair
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 0
    functionsReached:
    - socketpair
    - BOOST_REQUIRE_EQUAL
    linkageType: ''
    returnType: void
    signature: void CreateSocketPair(int s[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:97,1
    - Dst: Send
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:98,1
    - Dst: Recv
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:99,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' sender'
    - ' receiver'
    argTypes:
    - Sock
    - Sock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: SendAndRecvMessage
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 0
    functionsReached:
    - Recv
    - BOOST_CHECK_EQUAL
    - Send
    - strncmp
    linkageType: ''
    returnType: void
    signature: void SendAndRecvMessage(const Sock& sender, const Sock& receiver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSocketPair
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:105,1
    - Dst: Sock::Sock
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:107,1
    - Dst: Sock::Sock
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:108,1
    - Dst: SendAndRecvMessage
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:110,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:112,1
    - Dst: Sock::Sock
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:112,1
    - Dst: Sock::Sock
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:113,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:114,1
    - Dst: SendAndRecvMessage
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:124,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:124,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:125,1
    - Dst: SocketIsClosed
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 1
    functionsReached:
    - CreateSocketPair
    - SocketIsClosed
    - std::move
    - BOOST_CHECK
    - SendAndRecvMessage
    - Sock::Sock
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(send_and_receive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSocketPair
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:131,1
    - Dst: Sock::Wait
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:136,1
    - Dst: BOOST_REQUIRE_EQUAL
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:138,1
    - Dst: Sock::Send
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:138,1
    - Dst: std::thread::join
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 1
    functionsReached:
    - CreateSocketPair
    - std::thread::join
    - Sock::Send
    - Sock::Wait
    - BOOST_REQUIRE_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(wait)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CThreadInterrupt::CThreadInterrupt
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:146,1
    - Dst: CreateSocketPair
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:148,1
    - Dst: Sock::RecvUntilTerminator
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:159,1
    - Dst: HasReason
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:161,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:163,1
    - Dst: BOOST_REQUIRE_NO_THROW
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:166,1
    - Dst: Sock::SendComplete
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:166,1
    - Dst: BOOST_REQUIRE_NO_THROW
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:167,1
    - Dst: Sock::SendComplete
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:167,1
    - Dst: std::thread::join
      Src: /src/bitcoin-core/src/test/sock_tests.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (threw_as_expected)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/bitcoin-core/src/test/sock_tests.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/sock_tests.cpp
    functionUses: 1
    functionsReached:
    - CreateSocketPair
    - Sock::SendComplete
    - std::thread::join
    - Sock::RecvUntilTerminator
    - CThreadInterrupt::CThreadInterrupt
    - BOOST_REQUIRE_NO_THROW
    - HasReason
    - assert
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(recv_until_terminator_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:31,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:31,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' starting_header'
    argTypes:
    - CBlockHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: HeadersGeneratorSetup::FindProofOfWork
    functionSourceFile: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - Params
    - GetHash
    linkageType: ''
    returnType: void
    signature: void HeadersGeneratorSetup::FindProofOfWork(CBlockHeader& starting_header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:42,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:43,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:44,1
    - Dst: HeadersGeneratorSetup::FindProofOfWork
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:51,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 7
    argNames:
    - ' headers'
    - count
    - ' starting_hash'
    - nVersion
    - prev_time
    - ' merkle_root'
    - nBits
    argTypes:
    - std::vector<CBlockHeader>
    - size_t
    - uint256
    - int
    - int
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: HeadersGeneratorSetup::GenerateHeaders
    functionSourceFile: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp
    functionUses: 0
    functionsReached:
    - back
    - GetHash
    - size
    - HeadersGeneratorSetup::FindProofOfWork
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void HeadersGeneratorSetup::GenerateHeaders(std::vector<CBlockHeader>&
      headers,\n        size_t count, const uint256& starting_hash, const int nVersion,
      int prev_time,\n        const uint256& merkle_root, const uint32_t nBits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateHeaders
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:80,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:80,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:81,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:81,1
    - Dst: ArithToUint256
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:82,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:82,1
    - Dst: GenerateHeaders
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:84,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:84,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:85,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:85,1
    - Dst: ArithToUint256
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:86,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:86,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:88,1
    - Dst: chainman::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:88,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:88,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:93,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:93,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:93,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:93,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:93,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:95,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:95,1
    - Dst: HeadersSyncState::HeadersSyncState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:95,1
    - Dst: std::unique_ptr::ProcessNextHeaders
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:96,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:96,1
    - Dst: std::unique_ptr::ProcessNextHeaders
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:104,1
    - Dst: std::unique_ptr::GetState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:104,1
    - Dst: std::unique_ptr::ProcessNextHeaders
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:107,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:109,1
    - Dst: std::unique_ptr::GetState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:109,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:112,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:112,1
    - Dst: HeadersSyncState::HeadersSyncState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:112,1
    - Dst: std::unique_ptr::ProcessNextHeaders
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:113,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:114,1
    - Dst: std::unique_ptr::GetState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:114,1
    - Dst: std::unique_ptr::ProcessNextHeaders
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:116,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:117,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:118,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:120,1
    - Dst: auto::pow_validated_headers::size
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:120,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:122,1
    - Dst: std::unique_ptr::GetState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:122,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:126,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:126,1
    - Dst: HeadersSyncState::HeadersSyncState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:127,1
    - Dst: std::unique_ptr::GetState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:127,1
    - Dst: std::unique_ptr::ProcessNextHeaders
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:129,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:129,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:130,1
    - Dst: std::unique_ptr::GetState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:130,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:132,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:133,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:133,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:133,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:133,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:133,1
    - Dst: std::unique_ptr::ProcessNextHeaders
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:138,1
    - Dst: std::unique_ptr::GetState
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:138,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:139,1
    - Dst: auto::pow_validated_headers::empty
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:140,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 144
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/headers_sync_chainwork_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::pow_validated_headers::empty
    - std::vector::front
    - std::vector::end
    - std::unique_ptr::reset
    - std::unique_ptr::GetState
    - std::next
    - std::vector::insert
    - BOOST_CHECK
    - chainman::m_blockman::LookupBlockIndex
    - std::vector::size
    - std::unique_ptr::ProcessNextHeaders
    - auto::pow_validated_headers::size
    - GenerateHeaders
    - WITH_LOCK
    - Params
    - std::vector::clear
    - HeadersSyncState::HeadersSyncState
    - ArithToUint256
    - std::vector::begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(headers_sync_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:29,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:30,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:31,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:33,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:34,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:35,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:37,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:38,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:39,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:40,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:41,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:42,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:43,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 47
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/hash_tests.cpp
    functionUses: 1
    functionsReached:
    - T
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(murmurhash3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - seed
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: T
    functionSourceFile: /src/bitcoin-core/src/test/hash_tests.cpp
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(expected, seed, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:84,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:84,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:86,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:87,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:87,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:90,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:90,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:91,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:92,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:92,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:94,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:95,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:95,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:98,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:98,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:100,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:101,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:101,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:102,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:103,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:103,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:104,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:105,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:105,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:107,1
    - Dst: SipHashUint256
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:107,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:113,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:113,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:114,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:118,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:120,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:120,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:121,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:126,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:130,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:131,1
    - Dst: SipHashUint256
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:131,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:131,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:134,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:136,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:137,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:138,1
    - Dst: FastRandomContext::rand32
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:139,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:141,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:143,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:146,1
    - Dst: SipHashUint256
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:146,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:146,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:147,1
    - Dst: SipHashUint256Extra
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:147,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/hash_tests.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 149
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/hash_tests.cpp
    functionUses: 1
    functionsReached:
    - SipHashUint256
    - CMutableTransaction::CMutableTransaction
    - SipHashUint256Extra
    - size
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK_EQUAL
    - TX_WITH_WITNESS
    - WriteLE32
    - HashWriter::GetHash
    - CSipHasher::Finalize
    - FastRandomContext::rand64
    - CSipHasher::Write
    - FastRandomContext::rand32
    - rand256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(siphash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:16,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:16,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:16,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:17,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:17,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:17,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:18,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:18,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:18,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:19,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:19,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:20,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:20,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/amount_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - MoneyRange
    - CAmount
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(MoneyRangeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate::CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:25,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:27,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:29,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:29,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:30,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:30,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:30,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:32,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:34,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:34,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:34,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:35,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:35,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:36,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:36,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:36,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:37,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:37,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:37,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:38,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:38,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:38,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:39,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:39,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:39,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:41,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:43,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:43,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:43,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:44,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:44,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:44,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:45,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:45,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:45,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:46,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:46,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:46,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:47,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:47,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:48,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:48,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:48,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:50,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:52,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:52,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:53,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:53,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:53,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:54,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:54,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:55,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:55,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:56,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:56,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:57,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:57,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:57,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:58,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:58,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:58,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:59,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:59,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:59,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:61,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:63,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:63,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:63,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:64,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:64,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:64,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:65,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:65,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:65,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:68,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:69,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:70,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:70,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:70,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:73,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:73,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:73,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:74,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:74,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:74,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:75,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:75,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:75,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:75,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:77,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:77,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:77,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:77,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:78,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:78,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:78,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:78,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:79,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:79,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:79,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:81,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:81,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:81,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:82,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:82,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:82,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:82,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:84,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:84,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:84,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:84,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:85,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:85,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:85,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:85,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:87,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:87,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:92,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:92,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:93,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:95,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:95,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:96,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:98,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:98,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:99,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:99,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:101,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:104,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:106,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:107,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:108,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:108,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:109,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:109,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:109,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:112,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:113,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 114
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/amount_tests.cpp
    functionUses: 1
    functionsReached:
    - CFeeRate::CFeeRate
    - CFeeRate
    - GetFee
    - CAmount
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CFeeRate::GetFee
    - RandomMixin::max
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(GetFeeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate::CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:118,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:119,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:122,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:123,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:124,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:127,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/amount_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - CFeeRate
    - CFeeRate::CFeeRate
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(BinaryOperatorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate::CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:135,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:136,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:137,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:137,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:138,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:138,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:139,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/test/amount_tests.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/amount_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - CFeeRate
    - CFeeRate::CFeeRate
    - CFeeRate::ToString
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ToStringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:27,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:28,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:28,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:28,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:29,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' key'
    - ' rand_ctx'
    argTypes:
    - CKey
    - FastRandomContext
    assertStmts:
    - condition: (key.IsValid())
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/test/orphanage_tests.cpp
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: MakeNewKeyWithFastRandomContext
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 0
    functionsReached:
    - randbytes
    - std::vector::data
    - IsValid
    - Set
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void MakeNewKeyWithFastRandomContext(CKey& key, FastRandomContext&
      rand_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:35,1
    - Dst: MakeNewKeyWithFastRandomContext
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:36,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:37,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:39,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:40,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:40,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:40,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:43,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:47,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:48,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:50,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:50,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:50,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:52,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:52,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:52,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' outpoints'
    - ' det_rand'
    argTypes:
    - std::vector<COutPoint>
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: MakeTransactionSpending
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 0
    functionsReached:
    - WitnessV0KeyHash
    - CMutableTransaction::vout::resize
    - empty
    - GetScriptForDestination
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - CKey::CKey
    - transaction_identifier::FromUint256
    - MakeNewKeyWithFastRandomContext
    - scriptWitness::stack::push_back
    - CMutableTransaction::vin::emplace_back
    - CKey::GetPubKey
    - PKHash
    - rand256
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef MakeTransactionSpending(const std::vector<COutPoint>&
      outpoints, FastRandomContext& det_rand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:60,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:62,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:62,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ptx'
    argTypes:
    - CTransactionRef
    assertStmts:
    - condition: (ptx->GetHash() == mutated_tx->GetHash())
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/test/orphanage_tests.cpp
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: MakeMutation
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - MakeTransactionRef
    - GetHash
    - scriptWitness::stack::push_back
    - assert
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef MakeMutation(const CTransactionRef& ptx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:68,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:68,1
    - Dst: contains
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' set_txns'
    - ' vec_txns'
    argTypes:
    - std::set<CTransactionRef>
    - std::vector<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: EqualTxns
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 0
    functionsReached:
    - contains
    - size
    linkageType: ''
    returnType: bool
    signature: bool EqualTxns(const std::set<CTransactionRef>& set_txns, const std::vector<CTransactionRef>&
      vec_txns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:85,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:88,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:89,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:90,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:90,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:97,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:98,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:101,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:101,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:102,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:102,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:105,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:105,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:106,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:106,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:109,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:109,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:109,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:110,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:110,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:110,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:111,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:111,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:112,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:112,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:112,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:114,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:115,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:122,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:125,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:125,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:130,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:130,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:130,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:132,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:136,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:136,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:137,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:137,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:137,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:139,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:148,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:149,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:149,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:150,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:151,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:156,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:159,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:159,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:162,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:162,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:163,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:163,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:166,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:166,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:167,1
    - Dst: auto::AddChildrenToWorkSet
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:167,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:167,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:168,1
    - Dst: auto::HaveTxToReconsider
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:168,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:171,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:171,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:172,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:172,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:172,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:173,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:173,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:173,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:174,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:174,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:174,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:175,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:175,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:175,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:176,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:179,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:179,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:180,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:180,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:180,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:181,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:181,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:181,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:182,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:182,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:182,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:183,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:183,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:183,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:186,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:186,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:187,1
    - Dst: auto::AddChildrenToWorkSet
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:187,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:187,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:188,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:188,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:189,1
    - Dst: auto::AddChildrenToWorkSet
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:189,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:189,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:192,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:192,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:193,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:193,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:194,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:194,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:194,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:195,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:195,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:195,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:196,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:196,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:196,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:199,1
    - Dst: auto::GetTxToReconsider
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:199,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:199,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:200,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:200,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:201,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:201,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:202,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:202,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:203,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:203,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:204,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:204,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:204,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:208,1
    - Dst: auto::GetTxToReconsider
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:208,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:208,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:209,1
    - Dst: auto::GetTxToReconsider
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:209,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:209,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:211,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:222,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:226,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:226,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:228,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:229,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:229,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:230,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:230,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:231,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:231,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:237,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:237,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:240,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:240,1
    - Dst: auto::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:240,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:242,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:242,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:243,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:243,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:246,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:246,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:246,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:252,1
    - Dst: auto::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:252,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:252,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:253,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:253,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:256,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:256,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:257,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:257,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:258,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:258,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:261,1
    - Dst: auto::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:261,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:261,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:262,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:262,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:262,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:267,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:271,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:271,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:272,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:272,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:276,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:276,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:278,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:283,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:285,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:285,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:286,1
    - Dst: auto::ReservedPeerUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:286,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:289,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:289,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:290,1
    - Dst: auto::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:290,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:293,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:293,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:294,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:294,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:295,1
    - Dst: auto::ReservedPeerUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:295,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:296,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:296,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:297,1
    - Dst: auto::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:297,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:300,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:300,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:301,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:301,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:302,1
    - Dst: auto::ReservedPeerUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:302,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:303,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:303,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:304,1
    - Dst: auto::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:304,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:307,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:307,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:308,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:308,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:309,1
    - Dst: auto::ReservedPeerUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:309,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:310,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:310,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:311,1
    - Dst: auto::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:311,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:314,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:314,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:315,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:315,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:316,1
    - Dst: auto::ReservedPeerUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:316,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:317,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:317,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:318,1
    - Dst: auto::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:318,1
    - Dst: auto::EraseForPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:322,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:323,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:323,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:324,1
    - Dst: auto::ReservedPeerUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:324,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:325,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:325,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:326,1
    - Dst: auto::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:326,1
    - Dst: auto::EraseTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:329,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:329,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:330,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:330,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:331,1
    - Dst: auto::ReservedPeerUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:331,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:332,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:332,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:333,1
    - Dst: auto::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:333,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:335,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:341,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:342,1
    - Dst: BulkTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:343,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:344,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:346,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:347,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:348,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:350,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:355,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:355,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:357,1
    - Dst: auto::TotalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:357,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:357,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:358,1
    - Dst: auto::TotalOrphanUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:358,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:358,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:361,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:364,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:364,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:365,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:365,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:366,1
    - Dst: auto::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:366,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:366,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:367,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:367,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:369,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:374,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:379,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:379,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:379,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:382,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:383,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:385,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:385,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:386,1
    - Dst: auto::TotalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:391,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:391,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:391,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:395,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:396,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:396,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:396,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:397,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:398,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:398,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:399,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:399,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:402,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:402,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:404,1
    - Dst: auto::TotalLatencyScore
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:404,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:407,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:407,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:408,1
    - Dst: auto::LatencyScoreFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:408,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:411,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:411,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:412,1
    - Dst: auto::LatencyScoreFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:412,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:414,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 174
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 416
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 1
    functionsReached:
    - FastRandomContext::rand256
    - std::vector::emplace_back
    - std::make_pair
    - auto::HaveTx
    - BOOST_CHECK_EQUAL
    - std::shuffle
    - auto::GetTxToReconsider
    - auto::AnnouncementsFromPeer
    - auto::SanityCheck
    - std::vector::end
    - auto::MaxGlobalLatencyScore
    - auto::AddChildrenToWorkSet
    - auto::CountAnnouncements
    - std::vector::reserve
    - BOOST_CHECK
    - auto::ReservedPeerUsage
    - BulkTransaction
    - auto::HaveTxToReconsider
    - auto::HaveTxFromPeer
    - CMutableTransaction::vin::resize
    - MakeTransactionSpending
    - auto::MaxGlobalUsage
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - auto::LatencyScoreFromPeer
    - auto::TotalLatencyScore
    - transaction_identifier::FromUint256
    - auto::TotalOrphanUsage
    - node::MakeTxOrphanage
    - rand256
    - std::vector::at
    - auto::GetWitnessHash
    - auto::MaxPeerLatencyScore
    - auto::EraseTx
    - auto::EraseForPeer
    - CTransactionRef::GetHash
    - std::vector::begin
    - GetTransactionWeight
    - auto::AddTx
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(peer_dos_limits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reseed
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:425,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:427,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:428,1
    - Dst: MakeNewKeyWithFastRandomContext
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:429,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:431,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:431,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:434,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:435,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:442,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:443,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:445,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:445,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:447,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:449,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:449,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:449,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:451,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:452,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:453,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:459,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:459,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:461,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:462,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:464,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:465,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:467,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:467,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:467,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:469,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:469,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:471,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:472,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:473,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:479,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:479,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:481,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:482,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:484,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:484,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:484,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:485,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:486,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:489,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:492,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:492,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:495,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:498,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:498,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:498,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:501,1
    - Dst: std::unique_ptr::EraseForPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:504,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:505,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:505,1
    - Dst: std::unique_ptr::EraseForPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:511,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:513,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 515
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 1
    functionsReached:
    - SignSignature
    - std::vector::emplace_back
    - GetScriptForDestination
    - FillableSigningProvider::AddKey
    - std::unique_ptr::EraseForPeer
    - GetHash
    - BOOST_CHECK_EQUAL
    - GetTime
    - CMutableTransaction::vin::size
    - SetMockTime
    - CKey::CKey
    - BOOST_CHECK
    - Reseed
    - PKHash
    - CMutableTransaction::vin::resize
    - std::vector::size
    - std::unique_ptr::AddTx
    - CMutableTransaction::vout::resize
    - std::unique_ptr::CountUniqueOrphans
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - transaction_identifier::FromUint256
    - MakeNewKeyWithFastRandomContext
    - node::MakeTxOrphanage
    - CKey::GetPubKey
    - rand256
    - randrange
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(DoS_mapOrphans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:520,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:524,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:527,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:527,1
    - Dst: MakeMutation
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:528,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:530,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:531,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:532,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:534,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:534,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:536,1
    - Dst: std::unique_ptr::EraseTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:536,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:537,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:537,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:538,1
    - Dst: std::unique_ptr::GetTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:538,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:539,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:539,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:540,1
    - Dst: std::unique_ptr::GetTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:540,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:543,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:543,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:544,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:544,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:545,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:545,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:549,1
    - Dst: EqualTxns
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:549,1
    - Dst: std::unique_ptr::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:549,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:552,1
    - Dst: std::unique_ptr::EraseTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:552,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:553,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:553,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:554,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:554,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:556,1
    - Dst: std::unique_ptr::EraseTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:556,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:557,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:557,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:558,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 559
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::AddTx
    - auto::GetWitnessHash
    - auto::GetHash
    - EqualTxns
    - MakeMutation
    - std::unique_ptr::HaveTx
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::GetChildrenFromSamePeer
    - std::unique_ptr::EraseTx
    - node::MakeTxOrphanage
    - std::unique_ptr::GetTx
    - MakeTransactionSpending
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(same_txid_diff_witness)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:567,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:568,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:571,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:571,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:572,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:576,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:576,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:577,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:577,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:579,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:579,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:579,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:581,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:581,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:581,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:590,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:591,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:591,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:592,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:592,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:593,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:593,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:594,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:594,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:597,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:597,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:598,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:598,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:599,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:599,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:605,1
    - Dst: auto::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:605,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:606,1
    - Dst: auto::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:606,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:609,1
    - Dst: auto::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:609,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:610,1
    - Dst: auto::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:610,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:613,1
    - Dst: auto::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:613,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:614,1
    - Dst: auto::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:614,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:619,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:620,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:620,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:621,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:621,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:622,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:622,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:623,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:623,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:636,1
    - Dst: std::unique_ptr::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:636,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:637,1
    - Dst: std::unique_ptr::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:637,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:637,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:638,1
    - Dst: EqualTxns
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:638,1
    - Dst: std::unique_ptr::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:638,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:645,1
    - Dst: EqualTxns
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:645,1
    - Dst: std::unique_ptr::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:645,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:651,1
    - Dst: std::unique_ptr::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:651,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:651,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:652,1
    - Dst: std::unique_ptr::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:652,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:652,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:653,1
    - Dst: std::unique_ptr::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:653,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:660,1
    - Dst: std::unique_ptr::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:660,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:661,1
    - Dst: std::unique_ptr::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:661,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:661,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:662,1
    - Dst: EqualTxns
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:662,1
    - Dst: std::unique_ptr::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 665
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::AddTx
    - auto::GetHash
    - std::unique_ptr::HaveTxFromPeer
    - auto::GetWitnessHash
    - EqualTxns
    - auto::GetChildrenFromSamePeer
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::GetChildrenFromSamePeer
    - node::MakeTxOrphanage
    - auto::AddTx
    - MakeTransactionSpending
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_children)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:669,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:670,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:671,1
    - Dst: BulkTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:674,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:675,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:675,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:675,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:676,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:676,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:676,1
    - Dst: CMutableTransaction::vout::clear
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:678,1
    - Dst: BulkTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:679,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:680,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:680,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:680,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:681,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:681,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 682
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::AddTx
    - CMutableTransaction::vout::clear
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BulkTransaction
    - GetTransactionWeight
    - node::MakeTxOrphanage
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(too_large_orphan_tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:687,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:692,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:695,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:695,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:695,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:698,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:701,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:702,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:702,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:704,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:704,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:705,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:705,1
    - Dst: CBlock::vtx::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:706,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:709,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:709,1
    - Dst: CBlock::vtx::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:710,1
    - Dst: MakeMutation
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:712,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:713,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:713,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:716,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:716,1
    - Dst: CBlock::vtx::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:717,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:719,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:719,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:720,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:720,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:723,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:723,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:723,1
    - Dst: CBlock::vtx::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:724,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:726,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:726,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:726,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:727,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:727,1
    - Dst: std::unique_ptr::EraseForBlock
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:729,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:731,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:732,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:732,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:735,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:735,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:736,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:736,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 737
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::AddTx
    - FastRandomContext::rand256
    - std::vector::at
    - std::vector::emplace_back
    - auto::GetWitnessHash
    - std::unique_ptr::CountUniqueOrphans
    - MakeMutation
    - GetWitnessHash
    - CBlock::vtx::emplace_back
    - std::vector::reserve
    - std::unique_ptr::HaveTx
    - BOOST_CHECK
    - CBlock::CBlock
    - transaction_identifier::FromUint256
    - std::unique_ptr::EraseForBlock
    - BOOST_CHECK_EQUAL
    - node::MakeTxOrphanage
    - MakeTransactionSpending
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(process_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:746,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:751,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:752,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:753,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:753,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:754,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:754,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:756,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:756,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:759,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:759,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:760,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:760,1
    - Dst: MakeMutation
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:763,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:764,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:764,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:765,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:765,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:765,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:768,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:768,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:771,1
    - Dst: std::unique_ptr::AddAnnouncer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:771,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:771,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:772,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:772,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:775,1
    - Dst: std::unique_ptr::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:775,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:775,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:776,1
    - Dst: std::unique_ptr::AddAnnouncer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:776,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:776,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:779,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:779,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:780,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:780,1
    - Dst: std::unique_ptr::EraseForPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:784,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:785,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:785,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:785,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:786,1
    - Dst: std::unique_ptr::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:786,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:786,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:788,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:788,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:788,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:790,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:790,1
    - Dst: std::unique_ptr::EraseForPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:793,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:794,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:794,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:795,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:795,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:795,1
    - Dst: std::unique_ptr::EraseForPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:796,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:798,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:798,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:799,1
    - Dst: std::unique_ptr::HaveTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:799,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:799,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:804,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:805,1
    - Dst: CBlock::vtx::emplace_back
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:806,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:807,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:807,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:808,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:808,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:812,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:812,1
    - Dst: std::unique_ptr::EraseForBlock
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:814,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:818,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 820
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::AddTx
    - auto::GetWitnessHash
    - std::unique_ptr::HaveTxFromPeer
    - std::unique_ptr::CountUniqueOrphans
    - std::unique_ptr::EraseForPeer
    - MakeMutation
    - CBlock::vtx::emplace_back
    - std::unique_ptr::HaveTx
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CBlock::CBlock
    - std::unique_ptr::EraseForBlock
    - node::MakeTxOrphanage
    - std::unique_ptr::AddAnnouncer
    - MakeTransactionSpending
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(multiple_announcers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:827,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:830,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:831,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:831,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:832,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:835,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:835,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:836,1
    - Dst: std::unique_ptr::AddTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:836,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:837,1
    - Dst: std::unique_ptr::AddAnnouncer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:837,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:839,1
    - Dst: std::unique_ptr::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:839,1
    - Dst: std::unique_ptr::AddChildrenToWorkSet
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:843,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:844,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:844,1
    - Dst: std::unique_ptr::HaveTxToReconsider
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:845,1
    - Dst: std::unique_ptr::HaveTxToReconsider
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:846,1
    - Dst: std::unique_ptr::HaveTxToReconsider
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:847,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:848,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:856,1
    - Dst: std::unique_ptr::EraseForPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:861,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:862,1
    - Dst: std::unique_ptr::GetTxToReconsider
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:862,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:865,1
    - Dst: std::unique_ptr::EraseTx
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:865,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:866,1
    - Dst: std::unique_ptr::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:866,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:868,1
    - Dst: std::unique_ptr::GetTxToReconsider
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:868,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:869,1
    - Dst: std::unique_ptr::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/orphanage_tests.cpp:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 872
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/orphanage_tests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::AddTx
    - auto::size
    - auto::GetWitnessHash
    - auto::GetHash
    - std::unique_ptr::HaveTxFromPeer
    - std::unique_ptr::EraseForPeer
    - std::unique_ptr::CountUniqueOrphans
    - std::unique_ptr::HaveTxToReconsider
    - std::unique_ptr::AddChildrenToWorkSet
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::EraseTx
    - node::MakeTxOrphanage
    - std::unique_ptr::GetTxToReconsider
    - std::unique_ptr::AddAnnouncer
    - MakeTransactionSpending
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(peer_worksets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - epsilon
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: DoubleEquals
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 0
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool DoubleEquals(double a, double b, double epsilon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: CreateBlockIndexWithNbits
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 0
    functionsReached:
    - CBlockIndex::CBlockIndex
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * CreateBlockIndexWithNbits(uint32_t nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:36,1
    - Dst: DoubleEquals
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:37,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:38,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - difficulty
    - expected_difficulty
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: RejectDifficultyMismatch
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - DoubleEquals
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void RejectDifficultyMismatch(double difficulty, double expected_difficulty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateBlockIndexWithNbits
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:47,1
    - Dst: GetDifficulty
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:48,1
    - Dst: RejectDifficultyMismatch
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nbits
    - expected_difficulty
    argTypes:
    - uint32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: TestDifficulty
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 0
    functionsReached:
    - RejectDifficultyMismatch
    - GetDifficulty
    - CreateBlockIndexWithNbits
    linkageType: ''
    returnType: void
    signature: void TestDifficulty(uint32_t nbits, double expected_difficulty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestDifficulty
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 1
    functionsReached:
    - TestDifficulty
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_difficulty_for_very_low_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestDifficulty
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 1
    functionsReached:
    - TestDifficulty
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_difficulty_for_low_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestDifficulty
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 1
    functionsReached:
    - TestDifficulty
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_difficulty_for_mid_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestDifficulty
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 1
    functionsReached:
    - TestDifficulty
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_difficulty_for_high_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestDifficulty
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 1
    functionsReached:
    - TestDifficulty
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(get_difficulty_for_very_high_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:85,1
    - Dst: GetPruneHeight
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:93,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:94,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:94,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 17
    functionsReached:
    - GetPruneHeight
    - auto::has_value
    - BOOST_REQUIRE
    - BOOST_CHECK_EQUAL
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:100,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:101,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:105,1
    - Dst: GetPruneHeight
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:105,1
    - Dst: CheckGetPruneHeight
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:108,1
    - Dst: CheckGetPruneHeight
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:109,1
    - Dst: CheckGetPruneHeight
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - GetPruneHeight
    - BOOST_CHECK
    - LOCK
    - CheckGetPruneHeight
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(get_prune_height, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:116,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:117,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(num_chain_tx_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:122,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:122,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:122,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:126,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:129,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:132,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:132,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:133,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:133,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:138,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:138,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:138,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:139,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:139,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:146,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:146,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:147,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:147,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:152,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:153,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:153,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:154,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/blockchain_tests.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((pindex->nStatus & BLOCK_FAILED_VALID) == 0)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/bitcoin-core/src/test/blockchain_tests.cpp
    - condition: ((pindex->nStatus & BLOCK_FAILED_MASK) == 0)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bitcoin-core/src/test/blockchain_tests.cpp
    - condition: ((tip_to_invalidate->nStatus & BLOCK_FAILED_CHILD) == 0)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/bitcoin-core/src/test/blockchain_tests.cpp
    - condition: (pindex->nStatus & BLOCK_FAILED_CHILD)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/bitcoin-core/src/test/blockchain_tests.cpp
    - condition: (orig_tip->nStatus & BLOCK_FAILED_CHILD)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/bitcoin-core/src/test/blockchain_tests.cpp
    - condition: ((orig_tip->nStatus & BLOCK_FAILED_VALID) == 0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/bitcoin-core/src/test/blockchain_tests.cpp
    - condition: (tip_to_invalidate->nStatus & BLOCK_FAILED_VALID)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/bitcoin-core/src/test/blockchain_tests.cpp
    - condition: (pindex->IsValid(BLOCK_VALID_TRANSACTIONS))
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/bitcoin-core/src/test/blockchain_tests.cpp
    constantsTouched: []
    func_position:
      end: 155
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 155
    functionName: BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/blockchain_tests.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - auto::IsValid
    - chainman::ActiveChainstate
    - WITH_LOCK
    - Assert
    - assert
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(invalidate_block, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:35,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:36,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' byte_container'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ToScript
    functionSourceFile: /src/bitcoin-core/src/test/script_assets_tests.cpp
    functionUses: 6
    functionsReached:
    - MakeUCharSpan
    - auto::end
    - auto::begin
    linkageType: ''
    returnType: CScript
    signature: CScript ToScript(const T& byte_container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:41,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:41,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ScriptFromHex
    functionSourceFile: /src/bitcoin-core/src/test/script_assets_tests.cpp
    functionUses: 0
    functionsReached:
    - ToScript
    - TryParseHex
    - Assert
    linkageType: ''
    returnType: CScript
    signature: CScript ScriptFromHex(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:46,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:47,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: TxFromHex
    functionSourceFile: /src/bitcoin-core/src/test/script_assets_tests.cpp
    functionUses: 0
    functionsReached:
    - TX_NO_WITNESS
    - CMutableTransaction::CMutableTransaction
    - ParseHex
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction TxFromHex(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:53,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:53,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:55,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:56,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:57,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:57,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:58,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' univalue'
    argTypes:
    - UniValue
    assertStmts:
    - condition: (univalue.isArray())
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bitcoin-core/src/test/script_assets_tests.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: TxOutsFromJSON
    functionSourceFile: /src/bitcoin-core/src/test/script_assets_tests.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - isArray
    - size
    - std::move
    - std::vector::push_back
    - get_str
    - assert
    - ParseHex
    linkageType: ''
    returnType: std::vector<CTxOut>
    signature: std::vector<CTxOut> TxOutsFromJSON(const UniValue& univalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:65,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:65,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:67,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:68,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:68,1
    - Dst: CScriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:69,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' univalue'
    argTypes:
    - UniValue
    assertStmts:
    - condition: (univalue.isArray())
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/test/script_assets_tests.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: ScriptWitnessFromJSON
    functionSourceFile: /src/bitcoin-core/src/test/script_assets_tests.cpp
    functionUses: 0
    functionsReached:
    - isArray
    - CScriptWitness::stack::push_back
    - size
    - std::move
    - get_str
    - assert
    - ParseHex
    linkageType: ''
    returnType: CScriptWitness
    signature: CScriptWitness ScriptWitnessFromJSON(const UniValue& univalue)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:93,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: AllConsensusFlags
    functionSourceFile: /src/bitcoin-core/src/test/script_assets_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<unsigned int>
    signature: std::vector<unsigned int> AllConsensusFlags()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:104,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:104,1
    - Dst: TxFromHex
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:106,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:106,1
    - Dst: TxOutsFromJSON
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:107,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:108,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:108,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:108,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:109,1
    - Dst: ParseScriptFlags
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:110,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:110,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:111,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:111,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:113,1
    - Dst: ScriptFromHex
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:114,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:114,1
    - Dst: ScriptWitnessFromJSON
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:115,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:117,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:118,1
    - Dst: std::vector<CTxOut>
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:118,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:125,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:126,1
    - Dst: exists
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:131,1
    - Dst: ScriptFromHex
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:132,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:132,1
    - Dst: ScriptWitnessFromJSON
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:133,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:135,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:136,1
    - Dst: std::vector<CTxOut>
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:136,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:142,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' test'
    - ' signature_cache'
    argTypes:
    - UniValue
    - SignatureCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 147
    functionName: AssetTest
    functionSourceFile: /src/bitcoin-core/src/test/script_assets_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<CTxOut>
    - TxOutsFromJSON
    - CMutableTransaction::vin::size
    - VerifyScript
    - TxFromHex
    - isObject
    - get_bool
    - BOOST_CHECK
    - ParseScriptFlags
    - ScriptFromHex
    - ScriptWitnessFromJSON
    - PrecomputedTransactionData::Init
    - get_str
    - PrecomputedTransactionData::PrecomputedTransactionData
    - std::vector::size
    - getInt
    - exists
    linkageType: ''
    returnType: void
    signature: void AssetTest(const UniValue& test, SignatureCache& signature_cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:155,1
    - Dst: BOOST_WARN_MESSAGE
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:156,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:158,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:159,1
    - Dst: BOOST_WARN_MESSAGE
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:163,1
    - Dst: std::ifstream::is_open
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:163,1
    - Dst: std::ifstream::seekg
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:164,1
    - Dst: std::ifstream::tellg
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:165,1
    - Dst: std::ifstream::seekg
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:166,1
    - Dst: std::ifstream::read
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:168,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:168,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:168,1
    - Dst: read_json
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:169,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:170,1
    - Dst: UniValue::isArray
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:170,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:171,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:171,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:173,1
    - Dst: AssetTest
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:174,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/test/script_assets_tests.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/script_assets_tests.cpp
    functionUses: 1
    functionsReached:
    - DeserializeHDKeypath
    - std::string::size
    - std::getenv
    - std::string::data
    - AssetTest
    - std::ifstream::close
    - std::ifstream::is_open
    - std::ifstream::read
    - fs::exists
    - BOOST_CHECK
    - read_json
    - std::ifstream::seekg
    - std::ifstream::tellg
    - UniValue::isArray
    - UniValue::size
    - BOOST_WARN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(script_assets_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:19,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:19,1
    - Dst: std::unordered_map::reserve
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:26,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:27,1
    - Dst: std::unordered_map::reserve
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:28,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:29,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:31,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:31,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:33,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:33,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:40,1
    - Dst: memusage::MallocUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:42,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:50,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:50,1
    - Dst: DisconnectedBlockTransactions::AddTransactionsFromBlock
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:52,1
    - Dst: DisconnectedBlockTransactions::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:52,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:55,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:57,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:57,1
    - Dst: auto::front
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:57,1
    - Dst: DisconnectedBlockTransactions::clear
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:59,1
    - Dst: DisconnectedBlockTransactions::AddTransactionsFromBlock
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:68,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:69,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:70,1
    - Dst: DisconnectedBlockTransactions::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:70,1
    - Dst: DisconnectedBlockTransactions::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:72,1
    - Dst: DisconnectedBlockTransactions::clear
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:74,1
    - Dst: DisconnectedBlockTransactions::AddTransactionsFromBlock
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:82,1
    - Dst: DisconnectedBlockTransactions::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:82,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:85,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:85,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:89,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:89,1
    - Dst: auto::front
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:89,1
    - Dst: DisconnectedBlockTransactions::clear
      Src: /src/bitcoin-core/src/test/disconnected_transactions.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 93
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/disconnected_transactions.cpp
    functionUses: 1
    functionsReached:
    - std::vector::front
    - auto::front
    - std::vector::at
    - memusage::DynamicUsage
    - auto::size
    - DisconnectedBlockTransactions::AddTransactionsFromBlock
    - RecursiveDynamicUsage
    - memusage::MallocUsage
    - std::vector::back
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::unordered_map::reserve
    - DisconnectedBlockTransactions::clear
    - DisconnectedBlockTransactions::DynamicMemoryUsage
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(disconnectpool_memory_limits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:20,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:22,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:23,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:24,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:25,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:26,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:26,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:34,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:34,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:35,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:35,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:36,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:39,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:39,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:42,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:42,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:43,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:43,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:44,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 45
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/base64_tests.cpp
    functionUses: 1
    functionsReached:
    - all_bytes_equal
    - DecodeBase64
    - size
    - EncodeBase64
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - BOOST_REQUIRE
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(base64_testvectors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:50,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:50,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:53,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:53,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:54,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:55,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:55,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:56,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/base64_tests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/test/base64_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - DecodeBase64
    - EncodeBase64
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(base64_padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp<int32_t>
      Src: /src/bitcoin-core/src/test/fuzz/connman.cpp:26,1
    - Dst: m_node::args::GetIntArg
      Src: /src/bitcoin-core/src/test/fuzz/connman.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: GetCheckRatio
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/connman.cpp
    functionUses: 19
    functionsReached:
    - std::clamp<int32_t>
    - m_node::args::GetIntArg
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetCheckRatio()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp<int32_t>
      Src: /src/bitcoin-core/src/test/fuzz/connman.cpp:26,1
    - Dst: m_node::args::GetIntArg
      Src: /src/bitcoin-core/src/test/fuzz/connman.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: GetCheckRatio
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/connman.cpp
    functionUses: 19
    functionsReached:
    - std::clamp<int32_t>
    - m_node::args::GetIntArg
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetCheckRatio()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/connman.cpp:33,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/connman.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: initialize_connman
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/connman.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_connman()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:19,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:19,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:20,1
    - Dst: ec_seckey_import_der
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:23,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:23,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:23,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:27,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:29,1
    - Dst: ec_seckey_export_der
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:30,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:30,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:30,1
    - Dst: ec_seckey_import_der
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:33,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:33,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:33,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:33,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:34,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (imported && key32 == out32)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp
    functionUses: 0
    functionsReached:
    - ConsumeFixedLengthByteVector
    - std::vector::data
    - secp256k1_context_create
    - secp256k1_context_destroy
    - FuzzedDataProvider::ConsumeBool
    - size
    - data
    - ec_seckey_import_der
    - ec_seckey_export_der
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(secp256k1_ec_seckey_import_export_der)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: initialize_orphanage
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_orphanage()
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:369,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:390,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:390,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:393,1
    - Dst: std::iota
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:401,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:401,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:401,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:402,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:402,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:402,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:405,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:408,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:411,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:411,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:411,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:412,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:412,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:418,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:419,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:422,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:427,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:427,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:429,1
    - Dst: CScript::resize
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:430,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:430,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:431,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:431,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:437,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:438,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:438,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:438,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:439,1
    - Dst: CMutableTransaction::vin::back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:440,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:440,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:440,1
    - Dst: CMutableTransaction::vin::empty
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:444,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:445,1
    - Dst: InsecureRandomContext::rand256
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:445,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:445,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:446,1
    - Dst: CMutableTransaction::vin::back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:447,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:447,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:447,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:452,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:452,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:452,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:453,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:453,1
    - Dst: InsecureRandomContext::randbool
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:454,1
    - Dst: scriptWitness::stack::resize
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:455,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:456,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:456,1
    - Dst: scriptWitness::stack::resize
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:458,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:462,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:462,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:463,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:463,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:464,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:465,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:466,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:473,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:474,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:475,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:497,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:499,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:502,1
    - Dst: std::bitset::set
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:516,1
    - Dst: std::bitset::count
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:518,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:536,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:536,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:537,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:539,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:543,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:543,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:546,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:554,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:555,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:557,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:564,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:564,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:565,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:567,1
    - Dst: read_tx_peer_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:569,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:570,1
    - Dst: have_tx_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:571,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:572,1
    - Dst: find_announce_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:573,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:573,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:574,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:577,1
    - Dst: read_tx_peer_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:579,1
    - Dst: auto::AddAnnouncer
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:580,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:580,1
    - Dst: have_tx_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:581,1
    - Dst: find_announce_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:582,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:583,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:583,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:585,1
    - Dst: read_tx_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:590,1
    - Dst: auto::EraseTx
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:591,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:591,1
    - Dst: have_tx_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:592,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:593,1
    - Dst: std::erase_if
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:594,1
    - Dst: read_peer_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:598,1
    - Dst: auto::EraseForPeer
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:599,1
    - Dst: std::erase_if
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:600,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:604,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:605,1
    - Dst: CBlock::vtx::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:609,1
    - Dst: CBlock::vtx::back
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:610,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:611,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:615,1
    - Dst: CBlock::vtx::begin
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:615,1
    - Dst: CBlock::vtx::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:615,1
    - Dst: auto::EraseForBlock
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:616,1
    - Dst: std::erase_if
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:617,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:619,1
    - Dst: read_tx_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:626,1
    - Dst: InsecureRandomContext::rand256
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:627,1
    - Dst: auto::AddChildrenToWorkSet
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:628,1
    - Dst: have_tx_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:632,1
    - Dst: have_reconsiderable_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:633,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:636,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:642,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:642,1
    - Dst: std::set::find
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:647,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:648,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:648,1
    - Dst: find_announce_wtxid_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:650,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:651,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:651,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:653,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:657,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:662,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:662,1
    - Dst: read_peer_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:666,1
    - Dst: auto::GetTxToReconsider
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:667,1
    - Dst: find_announce_wtxid_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:671,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:671,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:672,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:672,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:673,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:674,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:680,1
    - Dst: have_reconsider_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:680,1
    - Dst: std::max<unsigned>
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:686,1
    - Dst: count_peers_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:686,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:691,1
    - Dst: have_tx_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:693,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:694,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:695,1
    - Dst: count_peers_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:698,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:700,1
    - Dst: unsigned
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:704,1
    - Dst: dos_score_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:706,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:714,1
    - Dst: unsigned
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:714,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:715,1
    - Dst: FeeFrac
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:715,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:719,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:719,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:721,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:727,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:731,1
    - Dst: auto::TotalLatencyScore
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:731,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:731,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:732,1
    - Dst: auto::TotalOrphanUsage
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:732,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:732,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:739,1
    - Dst: auto::GetOrphanTransactions
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:742,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:747,1
    - Dst: have_tx_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:749,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:751,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:752,1
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:755,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:755,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:755,1
    - Dst: tx::GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:755,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:755,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:757,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:757,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:759,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:759,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:760,1
    - Dst: auto::GetTx
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:762,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:762,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:763,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:764,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:764,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:764,1
    - Dst: find_announce_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:767,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:768,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:769,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:772,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:773,1
    - Dst: auto::announcers::count
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:773,1
    - Dst: auto::HaveTxFromPeer
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:775,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:775,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:776,1
    - Dst: auto::GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:778,1
    - Dst: auto::rbegin
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:779,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:787,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:791,1
    - Dst: auto::rend
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:791,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:792,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:792,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:792,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:796,1
    - Dst: auto::rend
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:796,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:800,1
    - Dst: auto::TotalOrphanUsage
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:800,1
    - Dst: have_reconsider_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:802,1
    - Dst: auto::HaveTxToReconsider
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:804,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:805,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:807,1
    - Dst: auto::UsageByPeer
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:807,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:809,1
    - Dst: auto::AnnouncementsFromPeer
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:809,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:812,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:812,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:812,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:814,1
    - Dst: auto::CountUniqueOrphans
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:814,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:816,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:816,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:818,1
    - Dst: auto::ReservedPeerUsage
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:818,1
    - Dst: count_peers_fn
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:820,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:821,1
    - Dst: std::max<unsigned>
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:821,1
    - Dst: auto::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:821,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:823,1
    - Dst: std::max<unsigned>
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:823,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:823,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:825,1
    - Dst: auto::TotalLatencyScore
      Src: /src/bitcoin-core/src/test/fuzz/txorphan.cpp:825,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 262
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (added == !sim_have_tx)
      pos:
        line_end: 571
        line_start: 571
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (!have_reconsider_fn(peer))
      pos:
        line_end: 679
        line_start: 679
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (worst_dos_score >> FeeFrac(1, 1))
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (sim_ann_it->announcer == peer)
      pos:
        line_end: 672
        line_start: 672
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (orphan_usage == real->TotalOrphanUsage())
      pos:
        line_end: 799
        line_start: 799
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (sim_ann_it->reconsider)
      pos:
        line_end: 673
        line_start: 673
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (max_global_latency_score == real->MaxGlobalLatencyScore())
      pos:
        line_end: 815
        line_start: 815
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (erased == sim_have)
      pos:
        line_end: 592
        line_start: 592
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (txref->GetWitnessHash() == txn[tx]->GetWitnessHash())
      pos:
        line_end: 763
        line_start: 763
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (max_global_latency_score / std::max<unsigned>(1, present_peers)
        == real->MaxPeerLatencyScore())
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: ((*it)->GetWitnessHash() == txn[ann.tx]->GetWitnessHash())
      pos:
        line_end: 791
        line_start: 791
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (sim_have_ann == have_ann)
      pos:
        line_end: 775
        line_start: 775
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: ((orphans_it != all_orphans.end()) == sim_have_tx)
      pos:
        line_end: 756
        line_start: 756
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (real->TotalLatencyScore() == total_latency_score)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (orphans_it->announcers.count(peer) == sim_have_ann)
      pos:
        line_end: 772
        line_start: 772
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (child_wtxid_it != child_wtxids.end())
      pos:
        line_end: 647
        line_start: 647
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (count_by_peer[peer] == real->AnnouncementsFromPeer(peer))
      pos:
        line_end: 808
        line_start: 808
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (child_wtxids.empty())
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (sim_have_tx)
      pos:
        line_end: 771
        line_start: 771
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (partx->version == 1)
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (!!txref == sim_have_tx)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (real->TotalOrphanUsage() <= real->MaxGlobalUsage())
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (usage_by_peer[peer] == real->UsageByPeer(peer))
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (unique_orphans == real->CountUniqueOrphans())
      pos:
        line_end: 813
        line_start: 813
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (sim_ann_it != sim_announcements.end())
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (have_tx == sim_have_tx)
      pos:
        line_end: 759
        line_start: 759
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (reserved_peer_usage * std::max<unsigned>(1, present_peers) == real->MaxGlobalUsage())
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (added == (sim_it == sim_announcements.end() && sim_have_tx))
      pos:
        line_end: 582
        line_start: 582
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (sim_ann_it->reconsider == false)
      pos:
        line_end: 652
        line_start: 652
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (sim_ann_it != sim_announcements.end())
      pos:
        line_end: 671
        line_start: 671
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (real->TotalLatencyScore() <= real->MaxGlobalLatencyScore())
      pos:
        line_end: 730
        line_start: 730
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (reserved_peer_usage == real->ReservedPeerUsage())
      pos:
        line_end: 817
        line_start: 817
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (sim_announcements.size() == real->CountAnnouncements())
      pos:
        line_end: 811
        line_start: 811
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (weight < MAX_STANDARD_TX_WEIGHT)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (done)
      pos:
        line_end: 726
        line_start: 726
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (it == children_from_peer.rend())
      pos:
        line_end: 795
        line_start: 795
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (have_reconsider == sim_have_reconsider)
      pos:
        line_end: 804
        line_start: 804
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (worst_peer != unsigned(-1))
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    - condition: (it != children_from_peer.rend())
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    constantsTouched: []
    func_position:
      end: 826
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 826
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    functionUses: 0
    functionsReached:
    - count_peers_fn
    - std::vector::emplace_back
    - std::move
    - auto::GetTx
    - CMutableTransaction::vin::size
    - auto::AddChildrenToWorkSet
    - auto::CountAnnouncements
    - CMutableTransaction
    - tx::GetWitnessHash
    - SeedRandomStateForTest
    - have_tx_fn
    - LIMITED_WHILE
    - std::vector::size
    - FuzzedDataProvider::remaining_bytes
    - GetWitnessHash
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - CBlock::vtx::emplace_back
    - unsigned
    - transaction_identifier::FromUint256
    - node::MakeTxOrphanage
    - std::set::erase
    - std::set::count
    - CScript::resize
    - assert
    - std::erase_if
    - auto::MaxPeerLatencyScore
    - auto::EraseTx
    - size
    - std::vector::begin
    - std::max
    - InsecureRandomContext::rand256
    - GetTransactionWeight
    - dos_score_fn
    - auto::EraseForBlock
    - FuzzedDataProvider::ConsumeIntegral
    - std::set::end
    - auto::begin
    - auto::MaxGlobalLatencyScore
    - auto::HaveTxToReconsider
    - std::vector::erase
    - auto::rbegin
    - auto::TotalOrphanUsage
    - std::bitset::count
    - vin::size
    - FeeFrac
    - std::max<unsigned>
    - auto::EraseForPeer
    - auto::CountUniqueOrphans
    - CBlock::vtx::begin
    - find_announce_wtxid_fn
    - CScript::CScript
    - scriptWitness::stack::resize
    - auto::AddAnnouncer
    - GetHash
    - CMutableTransaction::vin::back
    - auto::HaveTx
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - CBlock::CBlock
    - auto::UsageByPeer
    - std::set::insert
    - CBlock::vtx::end
    - std::shuffle
    - auto::AnnouncementsFromPeer
    - auto::SanityCheck
    - std::set::find
    - std::vector::end
    - InsecureRandomContext::randbool
    - std::vector::reserve
    - auto::HaveTxFromPeer
    - std::find_if
    - find_announce_fn
    - auto::MaxGlobalUsage
    - std::set::contains
    - auto::TotalLatencyScore
    - have_reconsider_fn
    - std::iota
    - std::bitset::set
    - auto::rend
    - read_tx_fn
    - auto::announcers::count
    - auto::GetTxToReconsider
    - CMutableTransaction::vin::emplace_back
    - resize
    - auto::ReservedPeerUsage
    - auto::GetOrphanTransactions
    - CMutableTransaction::vout::emplace_back
    - InsecureRandomContext::randrange
    - auto::GetChildrenFromSamePeer
    - read_tx_peer_fn
    - CTransaction
    - read_peer_fn
    - vout::size
    - CMutableTransaction::vin::empty
    - auto::GetWitnessHash
    - std::vector::resize
    - std::set::empty
    - have_reconsiderable_fn
    - auto::AddTx
    - auto::end
    - CBlock::vtx::back
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(txorphanage_sim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - tx_in
    - announcer_in
    - reconsider_in
    argTypes:
    - unsigned
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: SimAnnouncement
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txorphan.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimAnnouncement(unsigned tx_in, NodeId announcer_in, bool reconsider_in)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/parse_script.cpp:11,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/parse_script.cpp:11,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/test/fuzz/parse_script.cpp:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 16
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/parse_script.cpp
    functionUses: 0
    functionsReached:
    - end
    - ParseScript
    - begin
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(parse_script)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:46,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:47,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:47,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:48,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:54,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:55,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:55,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:60,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:64,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:64,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:64,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:64,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:69,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:72,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:72,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:72,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:72,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:76,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:79,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:79,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:79,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:79,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:82,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:85,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:85,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:85,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:85,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:88,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:91,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:91,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:91,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:91,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:95,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:95,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:96,1
    - Dst: uint256::GetUint64
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:96,1
    - Dst: uint256::GetUint64
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 100
    functionName: PrecomputedData
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - out::scriptPubKey::resize
    - uint256::GetUint64
    - out::scriptPubKey::begin
    - uint256::begin
    - CSHA256
    - CAmount
    - transaction_identifier::FromUint256
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void PrecomputedData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: Wipe
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wipe()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:152,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: CoinsViewBottom::GetCoin
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> GetCoin(const COutPoint& outpoint) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: CoinsViewBottom::HaveCoin
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: bool
    signature: bool HaveCoin(const COutPoint& outpoint) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: CoinsViewBottom::GetBestBlock
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint256
    signature: uint256 GetBestBlock() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: CoinsViewBottom::GetHeadBlocks
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> GetHeadBlocks() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: CoinsViewBottom::Cursor
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<CCoinsViewCursor>
    signature: std::unique_ptr<CCoinsViewCursor> Cursor() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: CoinsViewBottom::EstimateSize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t EstimateSize() const final
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:168,1
    - Dst: End
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:168,1
    - Dst: NextAndMaybeErase
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:168,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:169,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:170,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:171,1
    - Dst: WillErase
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:172,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:173,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:179,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:180,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:181,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:181,1
    - Dst: auto::second::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:181,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:183,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:183,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:184,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:185,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' cursor'
    argTypes:
    - CoinsViewCacheCursor
    assertStmts:
    - condition: (it2 != m_data.end())
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (it->second.coin.nHeight == it2->second.nHeight)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (it2 == m_data.end() || it2->second.IsSpent())
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (it->second.coin.out == it2->second.out)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (it->second.coin.fCoinBase == it2->second.fCoinBase)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: CoinsViewBottom::BatchWrite
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - auto::second::coin::IsSpent
    - end
    - NextAndMaybeErase
    - erase
    - End
    - Begin
    - std::move
    - WillErase
    - auto::second::IsSpent
    - auto::second::IsDirty
    - assert
    - find
    linkageType: ''
    returnType: bool
    signature: bool BatchWrite(CoinsViewCacheCursor& cursor, const uint256&) final
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:46,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:47,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:47,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:48,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:54,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:55,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:55,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:60,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:64,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:64,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:64,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:64,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:69,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:72,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:72,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:72,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:72,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:76,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:79,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:79,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:79,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:79,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:82,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:85,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:85,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:85,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:85,1
    - Dst: out::scriptPubKey::resize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:88,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:91,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:91,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:91,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:91,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:95,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:95,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:96,1
    - Dst: uint256::GetUint64
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:96,1
    - Dst: uint256::GetUint64
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 100
    functionName: PrecomputedData
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - out::scriptPubKey::resize
    - uint256::GetUint64
    - out::scriptPubKey::begin
    - uint256::begin
    - CSHA256
    - CAmount
    - transaction_identifier::FromUint256
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void PrecomputedData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: Wipe
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wipe()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:152,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: CoinsViewBottom::GetCoin
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> GetCoin(const COutPoint& outpoint) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: CoinsViewBottom::HaveCoin
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: bool
    signature: bool HaveCoin(const COutPoint& outpoint) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: CoinsViewBottom::GetBestBlock
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint256
    signature: uint256 GetBestBlock() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: CoinsViewBottom::GetHeadBlocks
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> GetHeadBlocks() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: CoinsViewBottom::Cursor
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<CCoinsViewCursor>
    signature: std::unique_ptr<CCoinsViewCursor> Cursor() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: CoinsViewBottom::EstimateSize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t EstimateSize() const final
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Begin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:168,1
    - Dst: End
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:168,1
    - Dst: NextAndMaybeErase
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:168,1
    - Dst: auto::second::IsDirty
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:169,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:170,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:171,1
    - Dst: WillErase
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:172,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:173,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:179,1
    - Dst: auto::second::coin::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:180,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:181,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:181,1
    - Dst: auto::second::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:181,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:183,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:183,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:184,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:185,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' cursor'
    argTypes:
    - CoinsViewCacheCursor
    assertStmts:
    - condition: (it2 != m_data.end())
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (it->second.coin.nHeight == it2->second.nHeight)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (it2 == m_data.end() || it2->second.IsSpent())
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (it->second.coin.out == it2->second.out)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (it->second.coin.fCoinBase == it2->second.fCoinBase)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: CoinsViewBottom::BatchWrite
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - auto::second::coin::IsSpent
    - end
    - NextAndMaybeErase
    - erase
    - End
    - Begin
    - std::move
    - WillErase
    - auto::second::IsSpent
    - auto::second::IsDirty
    - assert
    - find
    linkageType: ''
    returnType: bool
    signature: bool BatchWrite(CoinsViewCacheCursor& cursor, const uint256&) final
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Wipe
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:211,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:215,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:231,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:231,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:232,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:233,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:244,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:244,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:245,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:245,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:250,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:251,1
    - Dst: CCoinsViewCache::CCoinsViewCache
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:251,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:252,1
    - Dst: Wipe
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:252,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:256,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:260,1
    - Dst: lookup
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:262,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:264,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:266,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:267,1
    - Dst: auto::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:267,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:269,1
    - Dst: auto::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:269,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:271,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:272,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:273,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:278,1
    - Dst: lookup
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:280,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:282,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:284,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:284,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:288,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:290,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:294,1
    - Dst: lookup
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:296,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:298,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:300,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:301,1
    - Dst: auto::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:301,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:303,1
    - Dst: auto::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:303,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:305,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:306,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:307,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:312,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:313,1
    - Dst: lookup
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:315,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:319,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:319,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:319,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:321,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:328,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:329,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:333,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:333,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:335,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:342,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:344,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:346,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:350,1
    - Dst: lookup
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:352,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:354,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:355,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:357,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:359,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:360,1
    - Dst: Coin::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:360,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:362,1
    - Dst: Coin::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:362,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:364,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:365,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:366,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:371,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:373,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:377,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:379,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:379,1
    - Dst: CCoinsViewCache::CCoinsViewCache
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:379,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:381,1
    - Dst: Wipe
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:381,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:387,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:388,1
    - Dst: flush
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:393,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:395,1
    - Dst: flush
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:400,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:402,1
    - Dst: flush
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:407,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:409,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:410,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:414,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:418,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:422,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:429,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:434,1
    - Dst: HaveCoinInCache
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:439,1
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:440,1
    - Dst: lookup
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:441,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:442,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:443,1
    - Dst: auto::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:443,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:445,1
    - Dst: auto::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:445,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:446,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:447,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:448,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:453,1
    - Dst: GetCacheSize
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:453,1
    - Dst: CoinsViewBottom::GetCoin
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:458,1
    - Dst: lookup
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:459,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:460,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:461,1
    - Dst: auto::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:461,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:463,1
    - Dst: auto::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:463,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:464,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:465,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp:466,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 132
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (realcoin->nHeight == sim->second)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin->nHeight == sim->second)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin.IsSpent())
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin->out == data.coins[sim->first].out)
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin->fCoinBase == data.coins[sim->first].fCoinBase)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (!realcoin.IsSpent())
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin->fCoinBase == simcoin.fCoinBase)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin->out == simcoin.out)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (real.fCoinBase == data.coins[sim->first].fCoinBase)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin.nHeight == sim->second)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (real.out == data.coins[sim->first].out)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (simcoin.fCoinBase == realcoin.fCoinBase)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (simcoin.out == realcoin.out)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (sim.has_value() == real)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (!real.IsSpent())
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin.IsSpent())
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (!realcoin.IsSpent())
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (caches.size() >= 1)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (!realcoin || realcoin->IsSpent())
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (!realcoin || realcoin->IsSpent())
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (real.nHeight == sim->second)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (real.IsSpent())
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin.nHeight == sim->second)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (simcoin.fCoinBase == realcoin.fCoinBase)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin && !realcoin->IsSpent())
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (cache.GetCacheSize() >= cache_size)
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (simcoin.out == realcoin.out)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    - condition: (realcoin && !realcoin->IsSpent())
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    constantsTouched: []
    func_position:
      end: 469
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 469
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coinscache_sim.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::move
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - CallOneOf
    - Coin::Coin
    - CoinsViewBottom::GetCoin
    - std::vector::back
    - LIMITED_WHILE
    - Wipe
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - GetCacheSize
    - FuzzedDataProvider::remaining_bytes
    - SanityCheck
    - AccessCoin
    - HaveCoinInCache
    - flush
    - auto::IsSpent
    - assert
    - Coin::IsSpent
    - CCoinsViewCache::CCoinsViewCache
    - auto::has_value
    - size
    - lookup
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coinscache_sim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:19,1
    - Dst: Minisketch
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - capacity
    - impl
    argTypes:
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: MakeFuzzMinisketch32
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/minisketch.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - Minisketch
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch MakeFuzzMinisketch32(size_t capacity, uint32_t impl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:19,1
    - Dst: Minisketch
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - capacity
    - impl
    argTypes:
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: MakeFuzzMinisketch32
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/minisketch.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - Minisketch
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch MakeFuzzMinisketch32(size_t capacity, uint32_t impl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:29,1
    - Dst: Minisketch::MaxImplementation
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:29,1
    - Dst: Minisketch::ImplementationSupported
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:30,1
    - Dst: MakeFuzzMinisketch32
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:32,1
    - Dst: MakeFuzzMinisketch32
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:33,1
    - Dst: Minisketch::SetSeed
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:34,1
    - Dst: Minisketch::SetSeed
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:35,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:35,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:41,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:41,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:46,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:49,1
    - Dst: KeepDiff
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:50,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:53,1
    - Dst: KeepDiff
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:54,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:57,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:58,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:61,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:61,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:61,1
    - Dst: MakeFuzzMinisketch32
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:63,1
    - Dst: MakeFuzzMinisketch32
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:64,1
    - Dst: Minisketch::SetSeed
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:65,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:65,1
    - Dst: Minisketch::SetSeed
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:66,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:66,1
    - Dst: Minisketch::Deserialize
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:68,1
    - Dst: Minisketch::Serialize
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:68,1
    - Dst: Minisketch::Deserialize
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:69,1
    - Dst: Minisketch::Serialize
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:69,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:71,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:71,1
    - Dst: Minisketch::Merge
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:72,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:72,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:75,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:76,1
    - Dst: Minisketch::Decode
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:76,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:77,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:77,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:79,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/test/fuzz/minisketch.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 82
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/minisketch.cpp
    functionUses: 0
    functionsReached:
    - Minisketch::ImplementationSupported
    - auto::size
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeBool
    - std::move
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - Minisketch::Merge
    - Minisketch::Add
    - CallOneOf
    - Minisketch::Deserialize
    - Minisketch::MaxImplementation
    - LIMITED_WHILE
    - std::map::begin
    - MakeFuzzMinisketch32
    - Assert
    - RandomMixin::max
    - std::map::end
    - Minisketch::Serialize
    - Minisketch::Decode
    - Minisketch::SetSeed
    - std::accumulate
    - std::map::at
    - size
    - KeepDiff
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(minisketch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:33,1
    - Dst: m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:33,1
    - Dst: m_node::chainman::reset
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:34,1
    - Dst: m_make_chainman
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:35,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:36,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:38,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' setup'
    argTypes:
    - TestingSetup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: ResetChainman
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/process_messages.cpp
    functionUses: 0
    functionsReached:
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - SetMockTime
    - m_node::chainman::GetParams
    - m_node::chainman::reset
    - MineBlock
    - m_make_chainman
    - LoadVerifyActivateChainstate
    linkageType: ''
    returnType: void
    signature: void ResetChainman(TestingSetup& setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:33,1
    - Dst: m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:33,1
    - Dst: m_node::chainman::reset
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:34,1
    - Dst: m_make_chainman
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:35,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:36,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:38,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' setup'
    argTypes:
    - TestingSetup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: ResetChainman
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/process_messages.cpp
    functionUses: 0
    functionsReached:
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - SetMockTime
    - m_node::chainman::GetParams
    - m_node::chainman::reset
    - MineBlock
    - m_make_chainman
    - LoadVerifyActivateChainstate
    linkageType: ''
    returnType: void
    signature: void ResetChainman(TestingSetup& setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:47,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:51,1
    - Dst: ResetChainman
      Src: /src/bitcoin-core/src/test/fuzz/process_messages.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: initialize_process_messages
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/process_messages.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    - ResetChainman
    linkageType: ''
    returnType: void
    signature: void initialize_process_messages()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/test/fuzz/tx_out.cpp:16,1
    - Dst: GetDustThreshold
      Src: /src/bitcoin-core/src/test/fuzz/tx_out.cpp:24,1
    - Dst: IsDust
      Src: /src/bitcoin-core/src/test/fuzz/tx_out.cpp:25,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/test/fuzz/tx_out.cpp:26,1
    - Dst: CTxOut::ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_out.cpp:28,1
    - Dst: CTxOut::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/tx_out.cpp:29,1
    - Dst: CTxOut::SetNull
      Src: /src/bitcoin-core/src/test/fuzz/tx_out.cpp:30,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_out.cpp:31,1
    - Dst: CTxOut::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/tx_out.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tx_out.IsNull())
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/bitcoin-core/src/test/fuzz/tx_out.cpp
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_out.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - GetDustThreshold
    - RecursiveDynamicUsage
    - CTxOut::IsNull
    - CTxOut::ToString
    - CTxOut::SetNull
    - IsDust
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(tx_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:35,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: (!cs)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetTime
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!cs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:43,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:44,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:45,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:45,1
    - Dst: m_node::chainman::GetMutex
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:45,1
    - Dst: m_node::chainman::ActiveTip
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:45,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:51,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:54,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: initialize_tx_pool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - m_node::chainman::ActiveTip
    - m_node::chainman::GetMutex
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - SetMockTime
    - push_back
    - WITH_LOCK
    - MineBlock
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_tx_pool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - std::set<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: OutpointsUpdater
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutpointsUpdater(std::set<COutPoint>& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info::m_tx::vout::size
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:71,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:72,1
    - Dst: info::m_tx::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - NewMempoolTransactionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 6
    functionsReached:
    - info::m_tx::GetHash
    - insert
    - info::m_tx::vout::size
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:81,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:84,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:85,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' tx'
    - reason
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 2
    functionsReached:
    - GetHash
    - insert
    - erase
    - vout::size
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - std::set<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: TransactionsDelta
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionsDelta(std::set<CTransactionRef>& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - NewMempoolTransactionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 6
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tx'
    - reason
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 2
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeTime
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:111,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:112,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:113,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:113,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' chainstate'
    argTypes:
    - FuzzedDataProvider
    - Chainstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: MockTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 24
    functionsReached:
    - SetMockTime
    - m_chain::Tip
    - RandomMixin::max
    - ConsumeTime
    linkageType: ''
    returnType: void
    signature: void MockTime(FuzzedDataProvider& fuzzed_data_provider, const Chainstate&
      chainstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPoolOptionsForTest
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:120,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:124,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:125,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:126,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:127,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:128,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:129,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:131,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:134,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:138,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:138,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:141,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:141,1
    - Dst: bilingual_str::original::starts_with
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' node'
    argTypes:
    - FuzzedDataProvider
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 143
    functionName: MakeMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 3
    functionsReached:
    - ConsumeIntegralInRange
    - ConsumeBool
    - std::move
    - bilingual_str::original::starts_with
    - Assert
    - bilingual_str::empty
    - std::make_unique<CTxMemPool>
    - MemPoolOptionsForTest
    linkageType: ''
    returnType: std::unique_ptr<CTxMemPool>
    signature: std::unique_ptr<CTxMemPool> MakeMempool(FuzzedDataProvider& fuzzed_data_provider,
      const NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPoolOptionsForTest
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:148,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:156,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:160,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:160,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:161,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: MakeEphemeralMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - std::move
    - Assert
    - bilingual_str::empty
    - std::make_unique<CTxMemPool>
    - MemPoolOptionsForTest
    linkageType: ''
    returnType: std::unique_ptr<CTxMemPool>
    signature: std::unique_ptr<CTxMemPool> MakeEphemeralMempool(const NodeContext&
      node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:172,1
    - Dst: infoAll
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:173,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:174,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:174,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:174,1
    - Dst: GetDust
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:175,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:176,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:177,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:178,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:179,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:179,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:181,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' tx_pool'
    argTypes:
    - CTxMemPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 192
    functionName: GetChildEvictingPrevout
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached:
    - infoAll
    - GetDust
    - empty
    - tx::GetHash
    - size
    - LOCK
    - Assert
    - GetEntry
    - std::vector::empty
    - GetMemPoolChildrenConst
    - begin
    linkageType: ''
    returnType: std::optional<COutPoint>
    signature: std::optional<COutPoint> GetChildEvictingPrevout(const CTxMemPool&
      tx_pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:35,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: (!cs)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetTime
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!cs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:43,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:44,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:45,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:45,1
    - Dst: m_node::chainman::GetMutex
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:45,1
    - Dst: m_node::chainman::ActiveTip
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:45,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:51,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:54,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: initialize_tx_pool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - m_node::chainman::ActiveTip
    - m_node::chainman::GetMutex
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - SetMockTime
    - push_back
    - WITH_LOCK
    - MineBlock
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_tx_pool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - std::set<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: OutpointsUpdater
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutpointsUpdater(std::set<COutPoint>& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info::m_tx::vout::size
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:71,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:72,1
    - Dst: info::m_tx::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - NewMempoolTransactionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 6
    functionsReached:
    - info::m_tx::GetHash
    - insert
    - info::m_tx::vout::size
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:81,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:84,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:85,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' tx'
    - reason
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 2
    functionsReached:
    - GetHash
    - insert
    - erase
    - vout::size
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - std::set<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: TransactionsDelta
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionsDelta(std::set<CTransactionRef>& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - NewMempoolTransactionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 6
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tx'
    - reason
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 2
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeTime
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:111,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:112,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:113,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:113,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' chainstate'
    argTypes:
    - FuzzedDataProvider
    - Chainstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: MockTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 26
    functionsReached:
    - SetMockTime
    - m_chain::Tip
    - RandomMixin::max
    - ConsumeTime
    linkageType: ''
    returnType: void
    signature: void MockTime(FuzzedDataProvider& fuzzed_data_provider, const Chainstate&
      chainstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPoolOptionsForTest
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:120,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:124,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:125,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:126,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:127,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:128,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:129,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:131,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:134,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:138,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:138,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:141,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:141,1
    - Dst: bilingual_str::original::starts_with
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' node'
    argTypes:
    - FuzzedDataProvider
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 143
    functionName: MakeMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 3
    functionsReached:
    - ConsumeIntegralInRange
    - ConsumeBool
    - std::move
    - bilingual_str::original::starts_with
    - Assert
    - bilingual_str::empty
    - std::make_unique<CTxMemPool>
    - MemPoolOptionsForTest
    linkageType: ''
    returnType: std::unique_ptr<CTxMemPool>
    signature: std::unique_ptr<CTxMemPool> MakeMempool(FuzzedDataProvider& fuzzed_data_provider,
      const NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPoolOptionsForTest
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:148,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:156,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:160,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:160,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:161,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: MakeEphemeralMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - std::move
    - Assert
    - bilingual_str::empty
    - std::make_unique<CTxMemPool>
    - MemPoolOptionsForTest
    linkageType: ''
    returnType: std::unique_ptr<CTxMemPool>
    signature: std::unique_ptr<CTxMemPool> MakeEphemeralMempool(const NodeContext&
      node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:172,1
    - Dst: infoAll
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:173,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:174,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:174,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:174,1
    - Dst: GetDust
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:175,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:176,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:177,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:178,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:179,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:179,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:181,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/package_eval.cpp:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' tx_pool'
    argTypes:
    - CTxMemPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 192
    functionName: GetChildEvictingPrevout
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/package_eval.cpp
    functionUses: 0
    functionsReached:
    - infoAll
    - GetDust
    - empty
    - tx::GetHash
    - size
    - LOCK
    - Assert
    - GetEntry
    - std::vector::empty
    - GetMemPoolChildrenConst
    - begin
    linkageType: ''
    returnType: std::optional<COutPoint>
    signature: std::optional<COutPoint> GetChildEvictingPrevout(const CTxMemPool&
      tx_pool)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:17,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:18,1
    - Dst: MultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:19,1
    - Dst: __builtin_mul_overflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:22,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:23,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts:
    - condition: (is_multiplication_overflow_custom == is_multiplication_overflow_builtin)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp
    - condition: (i * j == result_builtin)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: TestMultiplicationOverflow
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp
    functionUses: 0
    functionsReached:
    - __builtin_mul_overflow
    - assert
    - MultiplicationOverflow
    - ConsumeIntegral
    linkageType: ''
    returnType: void
    signature: void TestMultiplicationOverflow(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:17,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:18,1
    - Dst: MultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:19,1
    - Dst: __builtin_mul_overflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:22,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:23,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts:
    - condition: (is_multiplication_overflow_custom == is_multiplication_overflow_builtin)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp
    - condition: (i * j == result_builtin)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: TestMultiplicationOverflow
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp
    functionUses: 0
    functionsReached:
    - __builtin_mul_overflow
    - assert
    - MultiplicationOverflow
    - ConsumeIntegral
    linkageType: ''
    returnType: void
    signature: void TestMultiplicationOverflow(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:37,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:37,1
    - Dst: TestMultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:38,1
    - Dst: TestMultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:39,1
    - Dst: TestMultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:40,1
    - Dst: TestMultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:41,1
    - Dst: TestMultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:42,1
    - Dst: TestMultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:43,1
    - Dst: TestMultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:44,1
    - Dst: TestMultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:45,1
    - Dst: TestMultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/multiplication_overflow.cpp
    functionUses: 0
    functionsReached:
    - data
    - TestMultiplicationOverflow
    - size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(multiplication_overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:32,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:32,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:33,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:33,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:33,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:35,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:36,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:37,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:37,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:38,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:38,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:38,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:41,1
    - Dst: pretype
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:41,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:41,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:41,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:42,1
    - Dst: pretype
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:42,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:42,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:64,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:64,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:64,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:65,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (real_vector[s] == pre_vector[s])
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (&(pre_vector[s]) == &(pre_vector.begin()[s]))
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (ss1[s] == ss2[s])
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (v == real_vector[pos])
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (v == real_vector[pos])
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (real_vector.size() == pre_vector.size())
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (pretype(real_vector.begin(), real_vector.end()) == pre_vector)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (&(pre_vector[s]) == &*(pre_vector.begin() + s))
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (ss1.size() == ss2.size())
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (real_vector.empty() == pre_vector.empty())
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (&(pre_vector[s]) == &*((pre_vector.end() + s) - real_vector.size()))
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (pretype(pre_vector.begin(), pre_vector.end()) == pre_vector)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (v == real_vector[pos])
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (v == real_vector[pos])
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    constantsTouched: []
    func_position:
      end: 68
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 68
    functionName: prevector_tester::test
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 13
    functionsReached:
    - end
    - DataStream::size
    - empty
    - pretype
    - prevector_tester::size
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void test() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:72,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:73,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:73,1
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:74,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:75,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - Size
    assertStmts:
    - condition: (real_vector.size() == s)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (pre_vector.size() == s)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: prevector_tester::resize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - prevector_tester::size
    - assert
    - prevector_tester::resize
    linkageType: ''
    returnType: void
    signature: void resize(Size s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:80,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:81,1
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:81,1
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:82,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:83,1
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - Size
    assertStmts:
    - condition: (pre_vector.capacity() >= s)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (real_vector.capacity() >= s)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: prevector_tester::reserve
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - assert
    - prevector_tester::capacity
    - prevector_tester::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(Size s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:88,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:88,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:89,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - position
    - ' value'
    argTypes:
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: prevector_tester::insert
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 5
    functionsReached:
    - begin
    - prevector_tester::insert
    linkageType: ''
    returnType: void
    signature: void insert(Size position, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:94,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:94,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:95,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - position
    - count
    - ' value'
    argTypes:
    - Size
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: prevector_tester::insert
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 6
    functionsReached:
    - begin
    - prevector_tester::insert
    linkageType: ''
    returnType: void
    signature: void insert(Size position, Size count, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:101,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:101,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:102,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - position
    - first
    - last
    argTypes:
    - Size
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: prevector_tester::insert_range
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 1
    functionsReached:
    - begin
    - prevector_tester::insert
    linkageType: ''
    returnType: void
    signature: void insert_range(Size position, I first, I last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:107,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:107,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:108,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - position
    argTypes:
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: prevector_tester::erase
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - begin
    - prevector_tester::erase
    linkageType: ''
    returnType: void
    signature: void erase(Size position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:113,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:113,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:113,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - Size
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: prevector_tester::erase
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 5
    functionsReached:
    - begin
    - prevector_tester::erase
    linkageType: ''
    returnType: void
    signature: void erase(Size first, Size last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pos
    - ' value'
    argTypes:
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: prevector_tester::update
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update(Size pos, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:125,1
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: prevector_tester::push_back
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - prevector_tester::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:131,1
    - Dst: prevector_tester::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: prevector_tester::pop_back
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 3
    functionsReached:
    - prevector_tester::pop_back
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:137,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: prevector_tester::clear
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - prevector_tester::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::assign
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:143,1
    - Dst: prevector_tester::assign
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' value'
    argTypes:
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: prevector_tester::assign
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 3
    functionsReached:
    - prevector_tester::assign
    linkageType: ''
    returnType: void
    signature: void assign(Size n, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: prevector_tester::size
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 8
    functionsReached:
    - prevector_tester::size
    linkageType: ''
    returnType: Size
    signature: Size size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: prevector_tester::capacity
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 5
    functionsReached:
    - prevector_tester::capacity
    linkageType: ''
    returnType: Size
    signature: Size capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::shrink_to_fit
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: prevector_tester::shrink_to_fit
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 3
    functionsReached:
    - prevector_tester::shrink_to_fit
    linkageType: ''
    returnType: void
    signature: void shrink_to_fit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::swap
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:164,1
    - Dst: prevector_tester::swap
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: prevector_tester::swap
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 3
    functionsReached:
    - prevector_tester::swap
    linkageType: ''
    returnType: void
    signature: void swap() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::move
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:170,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:171,1
    - Dst: prevector_tester::move
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:172,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: prevector_tester::move
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 3
    functionsReached:
    - prevector_tester::move
    - prevector_tester::clear
    linkageType: ''
    returnType: void
    signature: void move()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: prevector_tester::copy
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realtype::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:184,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:185,1
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:186,1
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:187,1
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:189,1
    - Dst: prevector_tester::resize_uninitialized
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:190,1
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:192,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:194,1
    - Dst: prevector_tester::resize_uninitialized
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - values
    argTypes:
    - realtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 200
    functionName: prevector_tester::resize_uninitialized
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 3
    functionsReached:
    - prevector_tester::resize_uninitialized
    - prevector_tester::push_back
    - realtype::size
    - prevector_tester::reserve
    - prevector_tester::resize
    - prevector_tester::capacity
    - prevector_tester::size
    linkageType: ''
    returnType: void
    signature: void resize_uninitialized(realtype values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:32,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:32,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:33,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:33,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:33,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:35,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:36,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:37,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:37,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:38,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:38,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:38,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:41,1
    - Dst: pretype
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:41,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:41,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:41,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:42,1
    - Dst: pretype
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:42,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:42,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:64,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:64,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:64,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:65,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (real_vector[s] == pre_vector[s])
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (&(pre_vector[s]) == &(pre_vector.begin()[s]))
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (ss1[s] == ss2[s])
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (v == real_vector[pos])
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (v == real_vector[pos])
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (real_vector.size() == pre_vector.size())
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (pretype(real_vector.begin(), real_vector.end()) == pre_vector)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (&(pre_vector[s]) == &*(pre_vector.begin() + s))
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (ss1.size() == ss2.size())
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (real_vector.empty() == pre_vector.empty())
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (&(pre_vector[s]) == &*((pre_vector.end() + s) - real_vector.size()))
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (pretype(pre_vector.begin(), pre_vector.end()) == pre_vector)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (v == real_vector[pos])
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (v == real_vector[pos])
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    constantsTouched: []
    func_position:
      end: 68
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 68
    functionName: prevector_tester::test
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 13
    functionsReached:
    - end
    - DataStream::size
    - empty
    - pretype
    - prevector_tester::size
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void test() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:72,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:73,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:73,1
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:74,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:75,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - Size
    assertStmts:
    - condition: (real_vector.size() == s)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (pre_vector.size() == s)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: prevector_tester::resize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 6
    functionsReached:
    - prevector_tester::size
    - assert
    - prevector_tester::resize
    linkageType: ''
    returnType: void
    signature: void resize(Size s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:80,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:81,1
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:81,1
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:82,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:83,1
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - Size
    assertStmts:
    - condition: (pre_vector.capacity() >= s)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    - condition: (real_vector.capacity() >= s)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: prevector_tester::reserve
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 6
    functionsReached:
    - assert
    - prevector_tester::capacity
    - prevector_tester::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(Size s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:88,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:88,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:89,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - position
    - ' value'
    argTypes:
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: prevector_tester::insert
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 8
    functionsReached:
    - begin
    - prevector_tester::insert
    linkageType: ''
    returnType: void
    signature: void insert(Size position, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:94,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:94,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:95,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - position
    - count
    - ' value'
    argTypes:
    - Size
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: prevector_tester::insert
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 9
    functionsReached:
    - begin
    - prevector_tester::insert
    linkageType: ''
    returnType: void
    signature: void insert(Size position, Size count, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:101,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:101,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:102,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - position
    - first
    - last
    argTypes:
    - Size
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: prevector_tester::insert_range
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 1
    functionsReached:
    - begin
    - prevector_tester::insert
    linkageType: ''
    returnType: void
    signature: void insert_range(Size position, I first, I last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:107,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:107,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:108,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - position
    argTypes:
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: prevector_tester::erase
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 6
    functionsReached:
    - begin
    - prevector_tester::erase
    linkageType: ''
    returnType: void
    signature: void erase(Size position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:113,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:113,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:113,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - Size
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: prevector_tester::erase
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 7
    functionsReached:
    - begin
    - prevector_tester::erase
    linkageType: ''
    returnType: void
    signature: void erase(Size first, Size last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pos
    - ' value'
    argTypes:
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: prevector_tester::update
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update(Size pos, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:125,1
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: prevector_tester::push_back
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 6
    functionsReached:
    - prevector_tester::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:131,1
    - Dst: prevector_tester::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: prevector_tester::pop_back
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - prevector_tester::pop_back
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:137,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: prevector_tester::clear
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 6
    functionsReached:
    - prevector_tester::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::assign
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:143,1
    - Dst: prevector_tester::assign
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' value'
    argTypes:
    - Size
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: prevector_tester::assign
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - prevector_tester::assign
    linkageType: ''
    returnType: void
    signature: void assign(Size n, const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: prevector_tester::size
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 12
    functionsReached:
    - prevector_tester::size
    linkageType: ''
    returnType: Size
    signature: Size size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: prevector_tester::capacity
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 8
    functionsReached:
    - prevector_tester::capacity
    linkageType: ''
    returnType: Size
    signature: Size capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::shrink_to_fit
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: prevector_tester::shrink_to_fit
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - prevector_tester::shrink_to_fit
    linkageType: ''
    returnType: void
    signature: void shrink_to_fit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::swap
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:164,1
    - Dst: prevector_tester::swap
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: prevector_tester::swap
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - prevector_tester::swap
    linkageType: ''
    returnType: void
    signature: void swap() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector_tester::move
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:170,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:171,1
    - Dst: prevector_tester::move
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:172,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: prevector_tester::move
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - prevector_tester::move
    - prevector_tester::clear
    linkageType: ''
    returnType: void
    signature: void move()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: prevector_tester::copy
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realtype::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:184,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:185,1
    - Dst: prevector_tester::capacity
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:186,1
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:187,1
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:189,1
    - Dst: prevector_tester::resize_uninitialized
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:190,1
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:192,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:194,1
    - Dst: prevector_tester::resize_uninitialized
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - values
    argTypes:
    - realtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 200
    functionName: prevector_tester::resize_uninitialized
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 4
    functionsReached:
    - prevector_tester::resize_uninitialized
    - prevector_tester::push_back
    - realtype::size
    - prevector_tester::reserve
    - prevector_tester::resize
    - prevector_tester::capacity
    - prevector_tester::size
    linkageType: ''
    returnType: void
    signature: void resize_uninitialized(realtype values)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:207,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:207,1
    - Dst: prevector_tester::prevector_tester
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:208,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:210,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:210,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:212,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:212,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:214,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:214,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:215,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:216,1
    - Dst: prevector_tester::resize
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:219,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:219,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:219,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:219,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:219,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:222,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:222,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:223,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:224,1
    - Dst: prevector_tester::insert
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:225,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:228,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:228,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:229,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:229,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:230,1
    - Dst: prevector_tester::push_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:234,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:234,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:238,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:240,1
    - Dst: prevector_tester::insert_range
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:242,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:242,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:242,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:246,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:249,1
    - Dst: prevector_tester::resize_uninitialized
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:251,1
    - Dst: prevector_tester::reserve
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:255,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:255,1
    - Dst: prevector_tester::shrink_to_fit
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:258,1
    - Dst: prevector_tester::clear
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:261,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:264,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:265,1
    - Dst: prevector_tester::assign
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:266,1
    - Dst: prevector_tester::swap
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:269,1
    - Dst: prevector_tester::copy
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:272,1
    - Dst: prevector_tester::move
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:275,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:278,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:278,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:279,1
    - Dst: prevector_tester::update
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:280,1
    - Dst: prevector_tester::erase
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:283,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:283,1
    - Dst: prevector_tester::size
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:283,1
    - Dst: prevector_tester::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:286,1
    - Dst: prevector_tester::test
      Src: /src/bitcoin-core/src/test/fuzz/prevector.cpp:291,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 292
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/prevector.cpp
    functionUses: 0
    functionsReached:
    - prevector_tester::resize_uninitialized
    - prevector_tester::push_back
    - prevector_tester::update
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeBool
    - prevector_tester::insert
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - prevector_tester::test
    - prevector_tester::resize
    - prevector_tester::swap
    - std::min
    - prevector_tester::shrink_to_fit
    - prevector_tester::copy
    - prevector_tester::insert_range
    - prevector_tester::reserve
    - prevector_tester::move
    - LIMITED_WHILE
    - prevector_tester::clear
    - FuzzedDataProvider::remaining_bytes
    - prevector_tester::assign
    - prevector_tester::erase
    - size
    - std::max
    - prevector_tester::pop_back
    - prevector_tester::size
    - prevector_tester::prevector_tester
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(prevector)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:18,1
    - Dst: CPartialMerkleTree::CPartialMerkleTree
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:19,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:20,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:23,1
    - Dst: CMerkleBlock::CMerkleBlock
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:29,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:30,1
    - Dst: CBloomFilter::CBloomFilter
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:31,1
    - Dst: std::optional::vtx::empty
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:33,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:36,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:37,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:37,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:38,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:38,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:38,1
    - Dst: CPartialMerkleTree::GetNumTransactions
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:45,1
    - Dst: CPartialMerkleTree::ExtractMatches
      Src: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 49
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/merkleblock.cpp
    functionUses: 0
    functionsReached:
    - ConsumeDeserializable
    - CallOneOf
    - CMerkleBlock::CMerkleBlock
    - ConsumeUInt256
    - FuzzedDataProvider::ConsumeBool
    - CPartialMerkleTree::CPartialMerkleTree
    - size
    - data
    - CBloomFilter::CBloomFilter
    - transaction_identifier::FromUint256
    - std::optional::vtx::empty
    - LIMITED_WHILE
    - std::set::insert
    - CPartialMerkleTree::GetNumTransactions
    - CPartialMerkleTree::ExtractMatches
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(merkleblock)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:17,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:18,1
    - Dst: ConsumeNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:20,1
    - Dst: CNetAddr::GetNetClass
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:21,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:22,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:23,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:23,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:26,1
    - Dst: CNetAddr::IsIPv6
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:26,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:29,1
    - Dst: CNetAddr::IsTor
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:29,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:31,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:32,1
    - Dst: CNetAddr::IsI2P
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:32,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:35,1
    - Dst: CNetAddr::IsCJDNS
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:35,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:37,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:38,1
    - Dst: CNetAddr::IsInternal
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:38,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:40,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:41,1
    - Dst: CNetAddr::IsRoutable
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:41,1
    - Dst: CNetAddr::IsBindAny
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:43,1
    - Dst: CNetAddr::IsInternal
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:44,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:45,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:45,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:48,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:48,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:48,1
    - Dst: CNetAddr::IsIPv6
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:51,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:51,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:51,1
    - Dst: CNetAddr::IsLocal
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:53,1
    - Dst: CNetAddr::IsRFC1918
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:54,1
    - Dst: CNetAddr::IsRFC2544
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:54,1
    - Dst: CNetAddr::IsRFC6598
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:54,1
    - Dst: CNetAddr::IsRFC5737
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:54,1
    - Dst: CNetAddr::IsRFC3927
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:54,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:55,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:55,1
    - Dst: CNetAddr::IsRFC2544
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:57,1
    - Dst: CNetAddr::IsRFC3849
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:58,1
    - Dst: CNetAddr::IsRFC3964
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:58,1
    - Dst: CNetAddr::IsRFC4380
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:58,1
    - Dst: CNetAddr::IsRFC4843
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:58,1
    - Dst: CNetAddr::IsRFC7343
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:58,1
    - Dst: CNetAddr::IsRFC4862
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:58,1
    - Dst: CNetAddr::IsRFC6052
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:58,1
    - Dst: CNetAddr::IsRFC6145
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:59,1
    - Dst: CNetAddr::IsIPv6
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:59,1
    - Dst: CNetAddr::IsRFC3927
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:61,1
    - Dst: CNetAddr::IsRFC3964
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:62,1
    - Dst: CNetAddr::IsRFC4193
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:64,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:64,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:64,1
    - Dst: CNetAddr::IsRFC4380
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:66,1
    - Dst: CNetAddr::IsRFC4843
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:67,1
    - Dst: CNetAddr::IsRFC4862
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:68,1
    - Dst: CNetAddr::IsRFC5737
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:69,1
    - Dst: CNetAddr::IsRFC6052
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:70,1
    - Dst: CNetAddr::IsRFC6145
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:71,1
    - Dst: CNetAddr::IsRFC6598
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:72,1
    - Dst: CNetAddr::IsRFC7343
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:73,1
    - Dst: CNetAddr::IsRoutable
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:74,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:75,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:75,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:75,1
    - Dst: CNetAddr::IsTor
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:77,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:78,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:78,1
    - Dst: CNetAddr::IsI2P
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:80,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:81,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:81,1
    - Dst: CNetAddr::IsCJDNS
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:83,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:84,1
    - Dst: CNetAddr::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:84,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:86,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:87,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:89,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:90,1
    - Dst: CSubNet::ToString
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:91,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:93,1
    - Dst: CService::GetKey
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:94,1
    - Dst: CService::GetPort
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:95,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:96,1
    - Dst: CServiceHash
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:97,1
    - Dst: CServiceHash
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:98,1
    - Dst: ConsumeNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:100,1
    - Dst: CNetAddr::GetReachabilityFrom
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:101,1
    - Dst: CSubNet::Match
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:102,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:104,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:104,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:105,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:108,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:108,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:109,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:109,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:109,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:115,1
    - Dst: CNetAddr::SetIP
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:116,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netaddress.cpp:117,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (net_addr.IsI2P())
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.IsIPv4())
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.GetNetwork() == Network::NET_INTERNAL)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.GetNetwork() == Network::NET_UNROUTABLE || net_addr.GetNetwork()
        == Network::NET_INTERNAL)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.IsCJDNS())
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (!net_addr.IsRoutable())
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.IsIPv6())
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.GetNetwork() == Network::NET_ONION)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.GetNetwork() == Network::NET_INTERNAL || net_addr.GetNetwork()
        == Network::NET_UNROUTABLE)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.GetNetwork() == Network::NET_IPV4 || net_addr.GetNetwork()
        == Network::NET_UNROUTABLE)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.IsIPv6())
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.GetNetwork() == Network::NET_I2P)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: ((service == other_service) != (service != other_service))
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.GetNetwork() == Network::NET_IPV6 || net_addr.GetNetwork()
        == Network::NET_UNROUTABLE)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.GetNetwork() == Network::NET_CJDNS)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (static_cast<CNetAddr>(service) == static_cast<CNetAddr>(other_service))
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.IsTor())
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.IsIPv4())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr == mutable_net_addr)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    - condition: (net_addr.IsInternal())
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    constantsTouched: []
    func_position:
      end: 118
      start: 15
    functionDepth: 6
    functionLinenumber: 15
    functionLinenumberEnd: 118
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/netaddress.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr::IsRFC3964
    - CNetAddr::IsRFC4193
    - CNetAddr::IsRFC6598
    - CNetAddr::ToStringAddr
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeBool
    - CService::GetKey
    - data
    - CNetAddr::IsRFC4843
    - CNetAddr::IsValid
    - CNetAddr::IsLocal
    - CSubNet::Match
    - CNetAddr::IsRFC2544
    - CNetAddr::IsRoutable
    - CService::GetPort
    - CSubNet::ToString
    - CNetAddr::GetNetwork
    - static_cast<CNetAddr>
    - SeedRandomStateForTest
    - CNetAddr::IsCJDNS
    - CNetAddr::IsRFC3849
    - CNetAddr::IsRFC3927
    - CNetAddr::IsRFC7343
    - CNetAddr::IsIPv6
    - CNetAddr::IsInternal
    - CNetAddr::IsTor
    - CNetAddr::IsRFC1918
    - CNetAddr::CNetAddr
    - CNetAddr::IsRFC4380
    - CNetAddr::IsRFC5737
    - CSubNet::IsValid
    - assert
    - CNetAddr::IsI2P
    - CNetAddr::GetNetClass
    - ConsumeNetAddr
    - CNetAddr::IsIPv4
    - size
    - CNetAddr::IsRFC6145
    - CNetAddr::SetIP
    - CService::ToStringAddrPort
    - CNetAddr::IsRFC4862
    - CNetAddr::IsBindAny
    - CNetAddr::IsRFC6052
    - CNetAddr::GetReachabilityFrom
    - CServiceHash
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(netaddress)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:20,1
    - Dst: IsValidFlagCombination
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:28,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:34,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:35,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:37,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:41,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:43,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:44,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:44,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:46,1
    - Dst: PrecomputedTransactionData::m_spent_outputs::at
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:47,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:51,1
    - Dst: CTransaction::vin::at
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:51,1
    - Dst: CTransaction::vin::at
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:52,1
    - Dst: IsValidFlagCombination
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:60,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:63,1
    - Dst: CTransaction::vin::at
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:63,1
    - Dst: CTransaction::vin::at
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:64,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/script_flags.cpp:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret_fuzzed == ret)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/test/fuzz/script_flags.cpp
    - condition: (ret == (serror == SCRIPT_ERR_OK))
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/test/fuzz/script_flags.cpp
    - condition: (ret_fuzzed == (serror_fuzzed == SCRIPT_ERR_OK))
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/test/fuzz/script_flags.cpp
    constantsTouched: []
    func_position:
      end: 71
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 71
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_flags.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - CTransaction::vin::size
    - VerifyScript
    - PrecomputedTransactionData::m_spent_outputs::at
    - size
    - std::move
    - std::vector::push_back
    - CTransaction::vin::at
    - IsValidFlagCombination
    - PrecomputedTransactionData::PrecomputedTransactionData
    - assert
    - PrecomputedTransactionData::Init
    - MoneyRange
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(script_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:20,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:20,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:21,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:24,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:25,1
    - Dst: FeeFilterRounder::round
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:26,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:27,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:27,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:29,1
    - Dst: StringForFeeReason
      Src: /src/bitcoin-core/src/test/fuzz/fees.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (MoneyRange(rounded_fee))
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bitcoin-core/src/test/fuzz/fees.cpp
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fees.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeBool
    - size
    - data
    - StringForFeeReason
    - LIMITED_WHILE
    - ConsumeMoney
    - FeeFilterRounder::round
    - assert
    - FuzzedDataProvider::PickValueInArray
    - MoneyRange
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(fees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/rbf.cpp:34,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/rbf.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: initialize_rbf
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rbf.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_rbf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/rbf.cpp:40,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/rbf.cpp:41,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/rbf.cpp:46,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/rbf.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: initialize_package_rbf
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rbf.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - MakeNoLogFileContext
    - back
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_package_rbf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:19,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:19,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:20,1
    - Dst: bech32::Decode
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:21,1
    - Dst: auto::hrp::empty
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:23,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:24,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:25,1
    - Dst: auto::data::empty
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:27,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:29,1
    - Dst: CaseInsensitiveEqual
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (decoded.encoding == bech32::Encoding::INVALID)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    - condition: (decoded.data.empty())
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    - condition: (decoded.encoding != bech32::Encoding::INVALID)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    - condition: (CaseInsensitiveEqual(random_string, reencoded))
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    functionUses: 0
    functionsReached:
    - auto::hrp::empty
    - CaseInsensitiveEqual
    - FuzzedDataProvider::ConsumeRandomLengthString
    - size
    - data
    - auto::data::empty
    - bech32::Encode
    - assert
    - bech32::Decode
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(bech32_random_decode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:37,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:40,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:41,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: GenerateRandomHRP
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: std::string
    signature: std::string GenerateRandomHRP(FuzzedDataProvider& fdp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:50,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:50,1
    - Dst: GenerateRandomHRP
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:51,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:53,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:53,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:55,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:55,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:55,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:55,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:57,1
    - Dst: auto::length
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:57,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:57,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:60,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:61,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:61,1
    - Dst: bech32::Decode
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:64,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:65,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bech32.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (decoded.encoding == encoding)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    - condition: (decoded.data == converted_input)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    - condition: (!encoded.empty())
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    - condition: (decoded.hrp == hrp)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bech32.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - GenerateRandomHRP
    - auto::end
    - FuzzedDataProvider::ConsumeBytes
    - auto::length
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - std::vector::push_back
    - std::string
    - auto::empty
    - bech32::Encode
    - bech32::Decode
    - ConvertBits
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(bech32_roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: arith_uint6144::arith_uint6144
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint6144(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:30,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:30,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:32,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:33,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    assertStmts:
    - condition: (bytes.size() % 4 == 0)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    - condition: (bytes.size() <= 768)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: arith_uint6144::arith_uint6144
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - std::span<const uint8_t>::data
    - assert
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void arith_uint6144(std::span<const uint8_t> bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:40,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:40,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:41,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:41,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:42,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:43,1
    - Dst: std::span<uint8_t>::data
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:43,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    assertStmts:
    - condition: (bytes.size() % 4 == 0)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    - condition: (bytes.size() <= 768)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    - condition: (pn[i] == 0)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: arith_uint6144::Serialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 0
    functionsReached:
    - assert
    - WriteLE32
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Serialize(std::span<uint8_t> bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - arith_uint6144
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: Reduce
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reduce(arith_uint6144& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: arith_uint6144::arith_uint6144
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint6144(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:30,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:30,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:32,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:33,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    assertStmts:
    - condition: (bytes.size() % 4 == 0)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    - condition: (bytes.size() <= 768)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: arith_uint6144::arith_uint6144
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - std::span<const uint8_t>::data
    - assert
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void arith_uint6144(std::span<const uint8_t> bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:40,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:40,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:41,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:41,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:42,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:43,1
    - Dst: std::span<uint8_t>::data
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:43,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    assertStmts:
    - condition: (bytes.size() % 4 == 0)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    - condition: (bytes.size() <= 768)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    - condition: (pn[i] == 0)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: arith_uint6144::Serialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 0
    functionsReached:
    - assert
    - WriteLE32
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Serialize(std::span<uint8_t> bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - arith_uint6144
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: Reduce
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reduce(arith_uint6144& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:109,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:109,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:113,1
    - Dst: FuzzedDataProvider::ConsumeData
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:115,1
    - Dst: FuzzedDataProvider::ConsumeData
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:120,1
    - Dst: Num3072::Multiply
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:125,1
    - Dst: Reduce
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:127,1
    - Dst: Num3072::ToBytes
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:131,1
    - Dst: arith_uint6144::Serialize
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:132,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:133,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (std::ranges::equal(buf_num, buf_uint))
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 0
    functionsReached:
    - Num3072::Multiply
    - all_bytes_equal
    - arith_uint6144::Serialize
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - Num3072::ToBytes
    - FuzzedDataProvider::ConsumeData
    - Reduce
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(num3072_mul)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:140,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:140,1
    - Dst: FuzzedDataProvider::ConsumeData
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:145,1
    - Dst: Num3072::Num3072
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:153,1
    - Dst: Num3072::SetToOne
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:154,1
    - Dst: Num3072::Divide
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:155,1
    - Dst: Num3072::ToBytes
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:159,1
    - Dst: Reduce
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:164,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (uint == ONE)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    constantsTouched: []
    func_position:
      end: 166
      start: 136
    functionDepth: 5
    functionLinenumber: 136
    functionLinenumberEnd: 166
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 0
    functionsReached:
    - Num3072::Divide
    - Num3072::SetToOne
    - size
    - data
    - Num3072::ToBytes
    - FuzzedDataProvider::ConsumeData
    - Reduce
    - Num3072::Num3072
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(num3072_inv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:170,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:170,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:171,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:172,1
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:174,1
    - Dst: MuHash3072::Insert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:176,1
    - Dst: MuHash3072::Insert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:177,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:180,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:181,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:182,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:186,1
    - Dst: MuHash3072
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:188,1
    - Dst: MuHash3072::Insert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:189,1
    - Dst: MuHash3072::Insert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:190,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:191,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:195,1
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:196,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:198,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:215,1
    - Dst: MuHash3072::Remove
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:220,1
    - Dst: MuHash3072::Remove
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:221,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:222,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/muhash.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (out == out2)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    constantsTouched: []
    func_position:
      end: 226
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 226
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/muhash.cpp
    functionUses: 0
    functionsReached:
    - CallOneOf
    - MuHash3072::MuHash3072
    - MuHash3072::Remove
    - size
    - data
    - MuHash3072::Insert
    - ConsumeRandomLengthByteVector
    - MuHash3072::Finalize
    - MuHash3072
    - assert
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(muhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/key.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: initialize_key
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/key.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/key_io.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 5
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: initialize_key_io
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/key_io.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_key_io()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:23,1
    - Dst: std::span<const FeeFrac>::size
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:23,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:25,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:27,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - chunks
    argTypes:
    - std::span<const FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: BuildDiagramFromChunks
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 0
    functionsReached:
    - std::span<const FeeFrac>::size
    - std::vector::back
    - std::vector::emplace_back
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<FeeFrac>
    signature: std::vector<FeeFrac> BuildDiagramFromChunks(const std::span<const FeeFrac>
      chunks)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:39,1
    - Dst: std::span<const FeeFrac>::size
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:39,1
    - Dst: std::span<const FeeFrac>::size
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:41,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:55,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - size
    - diagram
    argTypes:
    - int32_t
    - std::span<const FeeFrac>
    assertStmts:
    - condition: (diagram.size() > 0)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    - condition: (dir_coef.size > 0)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    - condition: (size >= point_a.size)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: EvaluateDiagram
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 0
    functionsReached:
    - std::span<const FeeFrac>::size
    - assert
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac EvaluateDiagram(int32_t size, std::span<const FeeFrac> diagram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:68,1
    - Dst: EvaluateDiagram
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ff'
    - diagram
    argTypes:
    - FeeFrac
    - std::span<const FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: CompareFeeFracWithDiagram
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 0
    functionsReached:
    - FeeRateCompare
    - EvaluateDiagram
    linkageType: ''
    returnType: std::weak_ordering
    signature: std::weak_ordering CompareFeeFracWithDiagram(const FeeFrac& ff, std::span<const
      FeeFrac> diagram)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CompareFeeFracWithDiagram
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:76,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:77,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:78,1
    - Dst: CompareFeeFracWithDiagram
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:81,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:82,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:83,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - dia1
    - dia2
    argTypes:
    - std::span<const FeeFrac>
    - std::span<const FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: CompareDiagrams
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 0
    functionsReached:
    - CompareFeeFracWithDiagram
    - std::is_gt
    - std::is_lt
    linkageType: ''
    returnType: std::partial_ordering
    signature: std::partial_ordering CompareDiagrams(std::span<const FeeFrac> dia1,
      std::span<const FeeFrac> dia2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:93,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:95,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:95,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:97,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:97,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' chunks'
    argTypes:
    - FuzzedDataProvider
    - std::vector<FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: PopulateChunks
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - ConsumeBool
    - clear
    - LIMITED_WHILE
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void PopulateChunks(FuzzedDataProvider& fuzzed_data_provider, std::vector<FeeFrac>&
      chunks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:23,1
    - Dst: std::span<const FeeFrac>::size
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:23,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:25,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:27,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - chunks
    argTypes:
    - std::span<const FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: BuildDiagramFromChunks
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 0
    functionsReached:
    - std::span<const FeeFrac>::size
    - std::vector::back
    - std::vector::emplace_back
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<FeeFrac>
    signature: std::vector<FeeFrac> BuildDiagramFromChunks(const std::span<const FeeFrac>
      chunks)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:39,1
    - Dst: std::span<const FeeFrac>::size
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:39,1
    - Dst: std::span<const FeeFrac>::size
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:41,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:55,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - size
    - diagram
    argTypes:
    - int32_t
    - std::span<const FeeFrac>
    assertStmts:
    - condition: (diagram.size() > 0)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    - condition: (dir_coef.size > 0)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    - condition: (size >= point_a.size)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: EvaluateDiagram
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 1
    functionsReached:
    - std::span<const FeeFrac>::size
    - assert
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac EvaluateDiagram(int32_t size, std::span<const FeeFrac> diagram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:68,1
    - Dst: EvaluateDiagram
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ff'
    - diagram
    argTypes:
    - FeeFrac
    - std::span<const FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: CompareFeeFracWithDiagram
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 1
    functionsReached:
    - FeeRateCompare
    - EvaluateDiagram
    linkageType: ''
    returnType: std::weak_ordering
    signature: std::weak_ordering CompareFeeFracWithDiagram(const FeeFrac& ff, std::span<const
      FeeFrac> diagram)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CompareFeeFracWithDiagram
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:76,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:77,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:78,1
    - Dst: CompareFeeFracWithDiagram
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:81,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:82,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:83,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - dia1
    - dia2
    argTypes:
    - std::span<const FeeFrac>
    - std::span<const FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: CompareDiagrams
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 0
    functionsReached:
    - CompareFeeFracWithDiagram
    - std::is_gt
    - std::is_lt
    linkageType: ''
    returnType: std::partial_ordering
    signature: std::partial_ordering CompareDiagrams(std::span<const FeeFrac> dia1,
      std::span<const FeeFrac> dia2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:93,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:95,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:95,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:97,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:97,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' chunks'
    argTypes:
    - FuzzedDataProvider
    - std::vector<FeeFrac>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: PopulateChunks
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - ConsumeBool
    - clear
    - LIMITED_WHILE
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void PopulateChunks(FuzzedDataProvider& fuzzed_data_provider, std::vector<FeeFrac>&
      chunks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:107,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:107,1
    - Dst: PopulateChunks
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:111,1
    - Dst: PopulateChunks
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:112,1
    - Dst: BuildDiagramFromChunks
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:114,1
    - Dst: BuildDiagramFromChunks
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:115,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:117,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:117,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:118,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:118,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:120,1
    - Dst: CompareDiagrams
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:121,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:122,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:125,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:125,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:126,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:126,1
    - Dst: EvaluateDiagram
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:127,1
    - Dst: EvaluateDiagram
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:128,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:129,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:130,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:130,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:130,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:131,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:131,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (real == sim)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    - condition: (diagram1.front() == empty)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    - condition: (diagram2.front() == empty)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    - condition: (!std::is_gt(real))
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    - condition: (!std::is_lt(real))
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feeratediagram.cpp
    functionUses: 0
    functionsReached:
    - std::vector::front
    - FuzzedDataProvider::remaining_bytes
    - std::is_lt
    - std::vector::back
    - FeeRateCompare
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - BuildDiagramFromChunks
    - CompareDiagrams
    - std::is_gt
    - LIMITED_WHILE
    - EvaluateDiagram
    - CompareChunks
    - assert
    - PopulateChunks
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(build_and_compare_feerate_diagram)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:18,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:19,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:19,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:20,1
    - Dst: std::optional::ComputeHeader
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:25,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:25,1
    - Dst: std::optional::GetBlockHash
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:26,1
    - Dst: std::optional::GetEncodedFilter
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:27,1
    - Dst: std::optional::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:28,1
    - Dst: std::optional::GetFilterType
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:31,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:32,1
    - Dst: std::optional::GetFilter
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:35,1
    - Dst: GCSFilter::GetN
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:36,1
    - Dst: GCSFilter::GetParams
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:37,1
    - Dst: GCSFilter::GetEncoded
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:38,1
    - Dst: GCSFilter::Match
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:39,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:39,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:41,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:41,1
    - Dst: GCSFilter::ElementSet::insert
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:43,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:43,1
    - Dst: GCSFilter::MatchAny
      Src: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 47
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/blockfilter.cpp
    functionUses: 0
    functionsReached:
    - ConsumeUInt256
    - std::optional::GetEncodedFilter
    - FuzzedDataProvider::ConsumeBool
    - data
    - GCSFilter::GetN
    - GCSFilter::MatchAny
    - GCSFilter::GetParams
    - std::optional::GetFilterType
    - SeedRandomStateForTest
    - LIMITED_WHILE
    - std::optional::GetFilter
    - BlockFilterTypeName
    - ConsumeDeserializable
    - GCSFilter::ElementSet::insert
    - GCSFilter::Match
    - std::optional::ComputeHeader
    - std::optional::GetHash
    - size
    - ConsumeRandomLengthByteVector
    - std::optional::GetBlockHash
    - GCSFilter::GetEncoded
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(blockfilter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/bitdeque.cpp:26,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/bitdeque.cpp:28,1
    - Dst: FastRandomContext::randbool
      Src: /src/bitcoin-core/src/test/fuzz/bitdeque.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: InitRandData
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bitdeque.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - clear
    - FastRandomContext::randbool
    linkageType: ''
    returnType: void
    signature: void InitRandData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/bitdeque.cpp:26,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/bitdeque.cpp:28,1
    - Dst: FastRandomContext::randbool
      Src: /src/bitcoin-core/src/test/fuzz/bitdeque.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: InitRandData
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bitdeque.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - clear
    - FastRandomContext::randbool
    linkageType: ''
    returnType: void
    signature: void InitRandData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: FuzzedSignatureChecker::FuzzedSignatureChecker
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzedSignatureChecker(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' scriptSig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: FuzzedSignatureChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& scriptSig,
      const std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion
      sigversion) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - pubkey
    - sigversion
    - ' execdata'
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    - SigVersion
    - ScriptExecutionData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: FuzzedSignatureChecker::CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    linkageType: ''
    returnType: bool
    signature: bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion sigversion, ScriptExecutionData& execdata,
      ScriptError* serror = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nLockTime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: FuzzedSignatureChecker::CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& nLockTime) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nSequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: FuzzedSignatureChecker::CheckSequence
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& nSequence) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~FuzzedSignatureChecker()
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FuzzedSignatureChecker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: FuzzedSignatureChecker::FuzzedSignatureChecker
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzedSignatureChecker(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' scriptSig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: FuzzedSignatureChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& scriptSig,
      const std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion
      sigversion) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - pubkey
    - sigversion
    - ' execdata'
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    - SigVersion
    - ScriptExecutionData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: FuzzedSignatureChecker::CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    linkageType: ''
    returnType: bool
    signature: bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion sigversion, ScriptExecutionData& execdata,
      ScriptError* serror = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nLockTime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: FuzzedSignatureChecker::CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& nLockTime) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nSequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: FuzzedSignatureChecker::CheckSequence
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& nSequence) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~FuzzedSignatureChecker()
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FuzzedSignatureChecker()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:53,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:53,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:54,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:55,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:56,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:57,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:59,1
    - Dst: FuzzedSignatureChecker
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:59,1
    - Dst: IsValidFlagCombination
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:60,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:63,1
    - Dst: FuzzedSignatureChecker
      Src: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signature_checker.cpp
    functionUses: 0
    functionsReached:
    - FuzzedSignatureChecker
    - VerifyScript
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - data
    - ConsumeScript
    - IsValidFlagCombination
    - FuzzedDataProvider::PickValueInArray
    - EvalScript
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(signature_checker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp:33,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp:34,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp:36,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: initialize_miner
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - MakeNoLogFileContext
    - transaction_identifier::FromUint256
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_miner()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp:33,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp:34,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp:36,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: initialize_miner
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/mini_miner.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - MakeNoLogFileContext
    - transaction_identifier::FromUint256
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_miner()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ConsumeLocaleIdentifier
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/locale.cpp
    functionUses: 0
    functionsReached:
    - PickValueInArray
    linkageType: ''
    returnType: std::string
    signature: std::string ConsumeLocaleIdentifier(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::locale
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' locale_identifier'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: IsAvailableLocale
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/locale.cpp
    functionUses: 0
    functionsReached:
    - std::locale
    linkageType: ''
    returnType: bool
    signature: bool IsAvailableLocale(const std::string& locale_identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ConsumeLocaleIdentifier
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/locale.cpp
    functionUses: 0
    functionsReached:
    - PickValueInArray
    linkageType: ''
    returnType: std::string
    signature: std::string ConsumeLocaleIdentifier(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::locale
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' locale_identifier'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: IsAvailableLocale
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/locale.cpp
    functionUses: 0
    functionsReached:
    - std::locale
    linkageType: ''
    returnType: bool
    signature: bool IsAvailableLocale(const std::string& locale_identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:40,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:40,1
    - Dst: ConsumeLocaleIdentifier
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:41,1
    - Dst: IsAvailableLocale
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:42,1
    - Dst: std::setlocale
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:48,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:49,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:50,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:51,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:52,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:53,1
    - Dst: std::setlocale
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:55,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:55,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:56,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:59,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:60,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:61,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:62,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:66,1
    - Dst: std::locale::classic
      Src: /src/bitcoin-core/src/test/fuzz/locale.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (new_locale != nullptr)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bitcoin-core/src/test/fuzz/locale.cpp
    - condition: (tostring_without_locale == tostring_with_locale)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/test/fuzz/locale.cpp
    - condition: (strprintf_double_without_locale == strprintf_double_with_locale)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bitcoin-core/src/test/fuzz/locale.cpp
    - condition: (c_locale != nullptr)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/test/fuzz/locale.cpp
    - condition: (strprintf_int_without_locale == strprintf_int_with_locale)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/test/fuzz/locale.cpp
    - condition: (current_cpp_locale == std::locale::classic())
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/test/fuzz/locale.cpp
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/locale.cpp
    functionUses: 0
    functionsReached:
    - std::locale::classic
    - util::ToString
    - strprintf
    - FuzzedDataProvider::ConsumeRandomLengthString
    - IsAvailableLocale
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - FuzzedDataProvider::ConsumeFloatingPoint
    - data
    - std::setlocale
    - std::string::c_str
    - assert
    - ConsumeLocaleIdentifier
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(locale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CBlockFileInfo
    - CBlockFileInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: operator==(const CBlockFileInfo& a, const CBlockFileInfo& b)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/block_index.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CBlockFileInfo& a, const CBlockFileInfo& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:35,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:36,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:39,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:40,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: ConsumeBlockHeader
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/block_index.cpp
    functionUses: 0
    functionsReached:
    - Params
    - CBlockHeader::CBlockHeader
    - ConsumeIntegral
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader ConsumeBlockHeader(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CBlockFileInfo
    - CBlockFileInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: operator==(const CBlockFileInfo& a, const CBlockFileInfo& b)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/block_index.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CBlockFileInfo& a, const CBlockFileInfo& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:35,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:36,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:39,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:40,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: ConsumeBlockHeader
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/block_index.cpp
    functionUses: 0
    functionsReached:
    - Params
    - CBlockHeader::CBlockHeader
    - ConsumeIntegral
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader ConsumeBlockHeader(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:49,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:50,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/fuzz/block_index.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: init_block_index
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/block_index.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - Params
    - auto::get
    linkageType: ''
    returnType: void
    signature: void init_block_index()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:19,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:19,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:20,1
    - Dst: std::optional::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:27,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:28,1
    - Dst: std::optional::GetBlockTime
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:29,1
    - Dst: std::optional::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:29,1
    - Dst: CBlockHeader::SetNull
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:33,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:34,1
    - Dst: CBlockHeader::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:36,1
    - Dst: CBlock::GetBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:36,1
    - Dst: std::optional::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:36,1
    - Dst: CBlock::ToString
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:37,1
    - Dst: CBlock::SetNull
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:38,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:39,1
    - Dst: CBlock::GetBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:39,1
    - Dst: CBlockHeader::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:39,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:42,1
    - Dst: std::optional::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:44,1
    - Dst: std::optional::SetNull
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:46,1
    - Dst: std::optional::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/block_header.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (hash != u256_max)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bitcoin-core/src/test/fuzz/block_header.cpp
    - condition: (block.GetBlockHeader().GetHash() == block_header->GetHash())
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/block_header.cpp
    - condition: (block.GetBlockHeader().GetHash() == mut_block_header.GetHash())
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/test/fuzz/block_header.cpp
    - condition: (block_header->GetBlockTime() == block_header->nTime)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bitcoin-core/src/test/fuzz/block_header.cpp
    - condition: (block_locator->IsNull())
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/test/fuzz/block_header.cpp
    - condition: (block_header->IsNull() == (block_header->nBits == 0))
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/test/fuzz/block_header.cpp
    - condition: (mut_block_header.IsNull())
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/test/fuzz/block_header.cpp
    constantsTouched: []
    func_position:
      end: 49
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 49
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/block_header.cpp
    functionUses: 0
    functionsReached:
    - ConsumeDeserializable
    - CBlock::ToString
    - CBlock::SetNull
    - std::optional::SetNull
    - std::optional::GetHash
    - std::optional::IsNull
    - size
    - CBlockHeader::SetNull
    - data
    - std::optional::GetBlockTime
    - CBlock::GetBlockHeader
    - CBlockHeader::GetHash
    - CBlockHeader::IsNull
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(block_header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/policy_estimator_io.cpp:21,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/policy_estimator_io.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: initialize_policy_estimator_io
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/policy_estimator_io.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_policy_estimator_io()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/policy_estimator.cpp:26,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/policy_estimator.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: initialize_policy_estimator
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/policy_estimator.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_policy_estimator()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:22,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:22,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:23,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:26,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:27,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:32,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:32,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:33,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:33,1
    - Dst: CRIPEMD160::CRIPEMD160
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:34,1
    - Dst: CSHA1::CSHA1
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:35,1
    - Dst: CSHA256::CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:36,1
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:37,1
    - Dst: SHA3_256::SHA3_256
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:39,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:41,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:41,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:43,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:46,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:47,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:48,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:50,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:51,1
    - Dst: CHash160::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:55,1
    - Dst: CHash256::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:56,1
    - Dst: CHMAC_SHA256::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:57,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:57,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:57,1
    - Dst: CHMAC_SHA512::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:58,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:58,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:58,1
    - Dst: CRIPEMD160::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:59,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:59,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:59,1
    - Dst: CSHA1::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:60,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:60,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:60,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:61,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:61,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:61,1
    - Dst: SHA3_256::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:62,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:63,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:63,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:63,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:64,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:66,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:67,1
    - Dst: CSHA512::Size
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:68,1
    - Dst: CHash160::Reset
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:71,1
    - Dst: CHash256::Reset
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:72,1
    - Dst: CRIPEMD160::Reset
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:73,1
    - Dst: CSHA1::Reset
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:74,1
    - Dst: CSHA256::Reset
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:75,1
    - Dst: SHA3_256::Reset
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:76,1
    - Dst: CSHA512::Reset
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:77,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:80,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:83,1
    - Dst: CHash160::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:84,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:87,1
    - Dst: CHash256::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:88,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:91,1
    - Dst: CHMAC_SHA256::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:92,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:92,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:95,1
    - Dst: CHMAC_SHA512::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:96,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:96,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:99,1
    - Dst: CRIPEMD160::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:100,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:100,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:103,1
    - Dst: CSHA1::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:104,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:104,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:107,1
    - Dst: CSHA256::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:108,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:108,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:111,1
    - Dst: CSHA512::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:112,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:112,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:115,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:116,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:119,1
    - Dst: SHA3_256::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:120,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:124,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:127,1
    - Dst: KeccakF
      Src: /src/bitcoin-core/src/test/fuzz/crypto.cpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 131
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - Hash
    - CSHA1::Write
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - CRIPEMD160::Finalize
    - CSHA512::CSHA512
    - CSHA1::Reset
    - CSipHasher::Write
    - CSHA512::Reset
    - CRIPEMD160::CRIPEMD160
    - CHash160::Finalize
    - SHA3_256::Reset
    - CallOneOf
    - CSHA512::Write
    - CSHA512::Size
    - CHash160::Write
    - CSHA1::CSHA1
    - CRIPEMD160::Write
    - CHMAC_SHA256::Finalize
    - LIMITED_WHILE
    - CHash256::Finalize
    - CSipHasher::Finalize
    - std::vector::empty
    - std::vector::size
    - CHMAC_SHA512::Write
    - KeccakF
    - SHA3_256::SHA3_256
    - CRIPEMD160::Reset
    - CHash256::Write
    - SHA3_256::Finalize
    - CSHA1::Finalize
    - CSHA256::Write
    - CHash160::Reset
    - std::vector::resize
    - std::vector::data
    - CHMAC_SHA256::Write
    - SHA3_256::Write
    - Hash160
    - CSHA512::Finalize
    - CSHA256::Finalize
    - size
    - CSHA256::CSHA256
    - ConsumeRandomLengthByteVector
    - CHash256::Reset
    - CHMAC_SHA512::Finalize
    - CSHA256::Reset
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:33,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:33,1
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: Initializer
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - begin
    - CSHA256
    - CSipHasher
    linkageType: ''
    returnType: void
    signature: void Initializer()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - txhash
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: Tester::Cleanup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cleanup(int txhash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:136,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - txhash
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: Tester::GetSelected
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: int
    signature: int GetSelected(int txhash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Tester::Tester
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tester()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: Tester::Now
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: std::chrono::microseconds Now() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:151,1
    - Dst: top
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:151,1
    - Dst: pop
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - offset
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: Tester::AdvanceTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - top
    linkageType: ''
    returnType: void
    signature: void AdvanceTime(std::chrono::microseconds offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:156,1
    - Dst: top
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:156,1
    - Dst: pop
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:156,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:157,1
    - Dst: top
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:158,1
    - Dst: pop
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: Tester::AdvanceToEvent
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - top
    linkageType: ''
    returnType: void
    signature: void AdvanceToEvent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tester::Cleanup
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:169,1
    - Dst: Tester::DisconnectedPeer
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - peer
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: Tester::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 1
    functionsReached:
    - Tester::Cleanup
    - Tester::DisconnectedPeer
    linkageType: ''
    returnType: void
    signature: void DisconnectedPeer(int peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tester::Cleanup
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:183,1
    - Dst: Tester::ForgetTxHash
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - txhash
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: Tester::ForgetTxHash
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 1
    functionsReached:
    - Tester::ForgetTxHash
    - Tester::Cleanup
    linkageType: ''
    returnType: void
    signature: void ForgetTxHash(int txhash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ComputePriority
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:200,1
    - Dst: push
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:203,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:207,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:207,1
    - Dst: Tester::ReceivedInv
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - peer
    - txhash
    - is_wtxid
    - preferred
    - reqtime
    argTypes:
    - int
    - int
    - bool
    - bool
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 209
    functionName: Tester::ReceivedInv
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 1
    functionsReached:
    - Tester::ReceivedInv
    - transaction_identifier::FromUint256
    - push
    - ComputePriority
    linkageType: ''
    returnType: void
    signature: void ReceivedInv(int peer, int txhash, bool is_wtxid, bool preferred,
      std::chrono::microseconds reqtime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:226,1
    - Dst: Tester::RequestedTx
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - peer
    - txhash
    - exptime
    argTypes:
    - int
    - int
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 230
    functionName: Tester::RequestedTx
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 1
    functionsReached:
    - push
    - Tester::RequestedTx
    linkageType: ''
    returnType: void
    signature: void RequestedTx(int peer, int txhash, std::chrono::microseconds exptime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tester::Cleanup
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:237,1
    - Dst: Tester::ReceivedResponse
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - txhash
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: Tester::ReceivedResponse
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 1
    functionsReached:
    - Tester::Cleanup
    - Tester::ReceivedResponse
    linkageType: ''
    returnType: void
    signature: void ReceivedResponse(int peer, int txhash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:256,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:256,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:257,1
    - Dst: Tester::Cleanup
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:263,1
    - Dst: Tester::GetSelected
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:266,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:267,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:271,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:271,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:271,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:272,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:272,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:272,1
    - Dst: Tester::GetRequestable
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:276,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:277,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:277,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:277,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:278,1
    - Dst: PostGetRequestableSanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:280,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:281,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:281,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:281,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:282,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:283,1
    - Dst: std::get<1>
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:283,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:283,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:284,1
    - Dst: std::get<2>
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:284,1
    - Dst: IsWtxid
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - peer
    argTypes:
    - int
    assertStmts:
    - condition: (result.size() == actual.size())
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (expired == expected_expired)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (TXHASHES[std::get<1>(result[pos])] == actual[pos].ToUint256())
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (std::get<2>(result[pos]) == actual[pos].IsWtxid())
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 286
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 286
    functionName: Tester::GetRequestable
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 1
    functionsReached:
    - PostGetRequestableSanityCheck
    - Tester::GetSelected
    - std::vector::end
    - std::vector::emplace_back
    - auto::size
    - std::get<1>
    - IsWtxid
    - Tester::GetRequestable
    - std::get<2>
    - std::vector::begin
    - ToUint256
    - Tester::Cleanup
    - transaction_identifier::FromUint256
    - std::sort
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void GetRequestable(int peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetCandidatePeers
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:308,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:309,1
    - Dst: std::bitset::count
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:309,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:309,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:311,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:314,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:314,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:315,1
    - Dst: CountInFlight
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:315,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:316,1
    - Dst: CountCandidates
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:316,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:320,1
    - Dst: Size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:320,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (expected_announcers[peer])
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (expected_announcers.count() == candidate_peers.size())
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (m_tracker.Count(peer) == tracked)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (m_tracker.CountInFlight(peer) == inflight)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (m_tracker.CountCandidates(peer) == candidates)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (m_tracker.Size() == total)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 324
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 324
    functionName: Tester::Check
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - Size
    - SanityCheck
    - CountInFlight
    - Count
    - CountCandidates
    - std::bitset::count
    - assert
    - GetCandidatePeers
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Check()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:33,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:33,1
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: Initializer
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - begin
    - CSHA256
    - CSipHasher
    linkageType: ''
    returnType: void
    signature: void Initializer()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - txhash
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: Tester::Cleanup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cleanup(int txhash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:136,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - txhash
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: Tester::GetSelected
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 1
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: int
    signature: int GetSelected(int txhash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Tester::Tester
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tester()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: Tester::Now
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::microseconds
    signature: std::chrono::microseconds Now() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:151,1
    - Dst: top
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:151,1
    - Dst: pop
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - offset
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: Tester::AdvanceTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - top
    linkageType: ''
    returnType: void
    signature: void AdvanceTime(std::chrono::microseconds offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:156,1
    - Dst: top
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:156,1
    - Dst: pop
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:156,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:157,1
    - Dst: top
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:158,1
    - Dst: pop
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: Tester::AdvanceToEvent
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - top
    linkageType: ''
    returnType: void
    signature: void AdvanceToEvent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tester::Cleanup
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:169,1
    - Dst: Tester::DisconnectedPeer
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - peer
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: Tester::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 2
    functionsReached:
    - Tester::Cleanup
    - Tester::DisconnectedPeer
    linkageType: ''
    returnType: void
    signature: void DisconnectedPeer(int peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tester::Cleanup
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:183,1
    - Dst: Tester::ForgetTxHash
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - txhash
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: Tester::ForgetTxHash
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 2
    functionsReached:
    - Tester::ForgetTxHash
    - Tester::Cleanup
    linkageType: ''
    returnType: void
    signature: void ForgetTxHash(int txhash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ComputePriority
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:200,1
    - Dst: push
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:203,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:207,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:207,1
    - Dst: Tester::ReceivedInv
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - peer
    - txhash
    - is_wtxid
    - preferred
    - reqtime
    argTypes:
    - int
    - int
    - bool
    - bool
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 209
    functionName: Tester::ReceivedInv
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 2
    functionsReached:
    - Tester::ReceivedInv
    - transaction_identifier::FromUint256
    - push
    - ComputePriority
    linkageType: ''
    returnType: void
    signature: void ReceivedInv(int peer, int txhash, bool is_wtxid, bool preferred,
      std::chrono::microseconds reqtime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:226,1
    - Dst: Tester::RequestedTx
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - peer
    - txhash
    - exptime
    argTypes:
    - int
    - int
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 230
    functionName: Tester::RequestedTx
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 2
    functionsReached:
    - push
    - Tester::RequestedTx
    linkageType: ''
    returnType: void
    signature: void RequestedTx(int peer, int txhash, std::chrono::microseconds exptime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tester::Cleanup
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:237,1
    - Dst: Tester::ReceivedResponse
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - txhash
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: Tester::ReceivedResponse
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 2
    functionsReached:
    - Tester::Cleanup
    - Tester::ReceivedResponse
    linkageType: ''
    returnType: void
    signature: void ReceivedResponse(int peer, int txhash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:256,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:256,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:257,1
    - Dst: Tester::Cleanup
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:263,1
    - Dst: Tester::GetSelected
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:266,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:267,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:271,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:271,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:271,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:272,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:272,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:272,1
    - Dst: Tester::GetRequestable
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:276,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:277,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:277,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:277,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:278,1
    - Dst: PostGetRequestableSanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:280,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:281,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:281,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:281,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:282,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:283,1
    - Dst: std::get<1>
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:283,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:283,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:284,1
    - Dst: std::get<2>
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:284,1
    - Dst: IsWtxid
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - peer
    argTypes:
    - int
    assertStmts:
    - condition: (result.size() == actual.size())
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (expired == expected_expired)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (TXHASHES[std::get<1>(result[pos])] == actual[pos].ToUint256())
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (std::get<2>(result[pos]) == actual[pos].IsWtxid())
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 286
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 286
    functionName: Tester::GetRequestable
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 2
    functionsReached:
    - PostGetRequestableSanityCheck
    - Tester::GetSelected
    - std::vector::end
    - std::vector::emplace_back
    - auto::size
    - std::get<1>
    - IsWtxid
    - Tester::GetRequestable
    - std::get<2>
    - std::vector::begin
    - ToUint256
    - Tester::Cleanup
    - transaction_identifier::FromUint256
    - std::sort
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void GetRequestable(int peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetCandidatePeers
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:308,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:309,1
    - Dst: std::bitset::count
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:309,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:309,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:311,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:314,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:314,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:315,1
    - Dst: CountInFlight
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:315,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:316,1
    - Dst: CountCandidates
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:316,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:320,1
    - Dst: Size
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:320,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (expected_announcers[peer])
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (expected_announcers.count() == candidate_peers.size())
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (m_tracker.Count(peer) == tracked)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (m_tracker.CountInFlight(peer) == inflight)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (m_tracker.CountCandidates(peer) == candidates)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    - condition: (m_tracker.Size() == total)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 324
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 324
    functionName: Tester::Check
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - Size
    - SanityCheck
    - CountInFlight
    - Count
    - CountCandidates
    - std::bitset::count
    - assert
    - GetCandidatePeers
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Check()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Tester::Tester
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:331,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:334,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:335,1
    - Dst: Tester::AdvanceToEvent
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:340,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:343,1
    - Dst: Tester::AdvanceTime
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:344,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:347,1
    - Dst: Tester::GetRequestable
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:348,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:351,1
    - Dst: Tester::DisconnectedPeer
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:352,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:355,1
    - Dst: Tester::ForgetTxHash
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:356,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:360,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:361,1
    - Dst: Tester::ReceivedInv
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:362,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:363,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:367,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:368,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:369,1
    - Dst: Tester::ReceivedInv
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:370,1
    - Dst: Tester::Now
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:371,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:374,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:375,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:376,1
    - Dst: Tester::RequestedTx
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:377,1
    - Dst: Tester::Now
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:377,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:380,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:381,1
    - Dst: Tester::ReceivedResponse
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:382,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:385,1
    - Dst: Tester::Check
      Src: /src/bitcoin-core/src/test/fuzz/txrequest.cpp:388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    constantsTouched: []
    func_position:
      end: 389
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 389
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txrequest.cpp
    functionUses: 0
    functionsReached:
    - end
    - Tester::ReceivedInv
    - Tester::Now
    - Tester::AdvanceTime
    - Tester::DisconnectedPeer
    - RandomMixin::min
    - Tester::RequestedTx
    - Tester::ForgetTxHash
    - Tester::Tester
    - Tester::GetRequestable
    - Tester::ReceivedResponse
    - Tester::AdvanceToEvent
    - assert
    - begin
    - Tester::Check
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(txrequest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/protocol.cpp:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/protocol.cpp:17,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/protocol.cpp:18,1
    - Dst: std::optional::GetMessageType
      Src: /src/bitcoin-core/src/test/fuzz/protocol.cpp:23,1
    - Dst: std::optional::ToString
      Src: /src/bitcoin-core/src/test/fuzz/protocol.cpp:26,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/protocol.cpp:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/protocol.cpp
    functionUses: 0
    functionsReached:
    - ConsumeDeserializable
    - std::optional::ToString
    - std::optional::GetMessageType
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(protocol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:35,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Coin
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: operator==(const Coin& a, const Coin& b)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    functionUses: 0
    functionsReached:
    - IsSpent
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Coin& a, const Coin& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:35,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Coin
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: operator==(const Coin& a, const Coin& b)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    functionUses: 0
    functionsReached:
    - IsSpent
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Coin& a, const Coin& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: initialize_coins_view
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_coins_view()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewCache::SetBestBlock
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:50,1
    - Dst: COutPoint::COutPoint
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:51,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:52,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:53,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:54,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:54,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:56,1
    - Dst: Coin::IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:59,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:64,1
    - Dst: CCoinsViewCache::AddCoin
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:66,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:66,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:69,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:70,1
    - Dst: CCoinsViewCache::Flush
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:77,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:80,1
    - Dst: CCoinsViewCache::Flush
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:83,1
    - Dst: CCoinsViewCache::Sync
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:86,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:89,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:91,1
    - Dst: CCoinsViewCache::SetBestBlock
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:92,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:95,1
    - Dst: CCoinsViewCache::SpendCoin
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:96,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:96,1
    - Dst: CCoinsViewCache::Uncache
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:99,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:102,1
    - Dst: CCoinsViewCache::SetBackend
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:105,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:108,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:116,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:124,1
    - Dst: CoinsCachePair::second::SelfRef
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:133,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:137,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:137,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:140,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:141,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:142,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:145,1
    - Dst: CCoinsMap::emplace
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:152,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:152,1
    - Dst: SetDirty
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:153,1
    - Dst: SetFresh
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:154,1
    - Dst: auto::second::coin::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:155,1
    - Dst: CoinsViewCacheCursor
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:159,1
    - Dst: CCoinsViewCache::GetBestBlock
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:160,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:161,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:161,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:163,1
    - Dst: CCoinsViewCache::BatchWrite
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:164,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:167,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:171,1
    - Dst: CCoinsViewCache::AccessCoin
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:176,1
    - Dst: CCoinsViewCache::HaveCoin
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:178,1
    - Dst: CCoinsViewCache::HaveCoinInCache
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:179,1
    - Dst: CCoinsViewCache::GetCoin
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:180,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:181,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:182,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:184,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:187,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:188,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:189,1
    - Dst: GetCoin
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:191,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:192,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:196,1
    - Dst: CCoinsViewCache::Cursor
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:203,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:207,1
    - Dst: CCoinsViewCache::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:208,1
    - Dst: CCoinsViewCache::EstimateSize
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:209,1
    - Dst: CCoinsViewCache::GetBestBlock
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:210,1
    - Dst: CCoinsViewCache::GetCacheSize
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:211,1
    - Dst: CCoinsViewCache::GetHeadBlocks
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:212,1
    - Dst: CCoinsViewCache::HaveInputs
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:213,1
    - Dst: Cursor
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:217,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:218,1
    - Dst: EstimateSize
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:219,1
    - Dst: GetBestBlock
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:220,1
    - Dst: GetHeadBlocks
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:221,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:224,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:225,1
    - Dst: CTransaction::IsCoinBase
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:231,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:231,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:241,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:242,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:244,1
    - Dst: what
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:247,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:248,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:252,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:255,1
    - Dst: ContainsSpentInput
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:261,1
    - Dst: CheckTransaction
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:267,1
    - Dst: Consensus::CheckTxInputs
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:271,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:271,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:271,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:272,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:272,1
    - Dst: ContainsSpentInput
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:277,1
    - Dst: GetP2SHSigOpCount
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:282,1
    - Dst: ContainsSpentInput
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:286,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:291,1
    - Dst: CTransaction::vin::empty
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:292,1
    - Dst: GetTransactionSigOpCost
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:297,1
    - Dst: IsWitnessStandard
      Src: /src/bitcoin-core/src/test/fuzz/coins_view.cpp:300,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 168
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' backend_coins_view'
    - is_db
    argTypes:
    - FuzzedDataProvider
    - CCoinsView
    - bool
    assertStmts:
    - condition: (exists_using_have_coin_in_backend)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (expected_code_path)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (MoneyRange(tx_fee_out))
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (!possible_overwrite)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (!exists_using_access_coin && !exists_using_have_coin_in_cache &&
        !exists_using_have_coin)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (!possible_overwrite)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (expected_code_path)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (exists_using_access_coin && exists_using_have_coin_in_cache && exists_using_have_coin)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (exists_using_have_coin)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (is_db == !!coins_view_cursor)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (*coin == coin_using_access_coin)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (expected_code_path)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (expected_code_path)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    - condition: (!exists_using_have_coin_in_backend)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    constantsTouched: []
    func_position:
      end: 303
      start: 45
    functionDepth: 6
    functionLinenumber: 45
    functionLinenumberEnd: 303
    functionName: TestCoinsView
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/coins_view.cpp
    functionUses: 0
    functionsReached:
    - CCoinsViewCache::SetBackend
    - ConsumeUInt256
    - AreInputsStandard
    - std::move
    - CCoinsViewCache::Cursor
    - GetHeadBlocks
    - CCoinsViewCache::HaveCoin
    - CTransaction::vin::empty
    - what
    - IsWitnessStandard
    - CTransaction::IsCoinBase
    - EstimateSize
    - CallOneOf
    - Coin::Coin
    - CCoinsViewCache::HaveCoinInCache
    - CCoinsViewCache::GetCoin
    - ConsumeIntegralInRange
    - GetBestBlock
    - CCoinsViewCache::EstimateSize
    - AddCoins
    - CCoinsViewCache::Sync
    - CheckTransaction
    - GetTransactionSigOpCost
    - LIMITED_WHILE
    - CCoinsViewCache::SpendCoin
    - ConsumeDeserializable
    - uint256::IsNull
    - GetP2SHSigOpCount
    - SetDirty
    - CMutableTransaction::CMutableTransaction
    - CCoinsViewCache::SetBestBlock
    - CCoinsViewCache::HaveInputs
    - auto::second::coin::DynamicMemoryUsage
    - Consensus::CheckTxInputs
    - assert
    - Coin::IsSpent
    - RandomMixin::max
    - CCoinsViewCache::BatchWrite
    - CCoinsMap::emplace
    - SetFresh
    - GetCoin
    - CCoinsViewCache::GetBestBlock
    - COutPoint::COutPoint
    - ConsumeBool
    - CCoinsViewCache::AccessCoin
    - IsSpent
    - CoinsCachePair::second::SelfRef
    - CCoinsViewCache::DynamicMemoryUsage
    - CCoinsViewCache::GetCacheSize
    - CCoinsViewCache::GetHeadBlocks
    - Cursor
    - CCoinsViewCache::Flush
    - CCoinsViewCache::AddCoin
    - CoinsViewCacheCursor
    - ContainsSpentInput
    - HaveCoin
    - CCoinsViewCache::Uncache
    - MoneyRange
    - ConsumeIntegral
    linkageType: ''
    returnType: void
    signature: void TestCoinsView(FuzzedDataProvider& fuzzed_data_provider, CCoinsView&
      backend_coins_view, bool is_db)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:25,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:26,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:27,1
    - Dst: ConsumeTime
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:27,1
    - Dst: ChainTestingSetup::LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:38,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:40,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:43,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:43,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:44,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:47,1
    - Dst: PrepareBlock
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:50,1
    - Dst: auto::vtx::back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:53,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:55,1
    - Dst: auto::vtx::back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:56,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:56,1
    - Dst: PrepareNextBlock
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:62,1
    - Dst: kernel::CCoinsStats::CCoinsStats
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:66,1
    - Dst: auto::vtx::back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:74,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:76,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:78,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:78,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:78,1
    - Dst: auto::vtx::size
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:79,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:79,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:81,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:82,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:82,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:82,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:86,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:86,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:86,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:87,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:88,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:91,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:91,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:92,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:93,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:94,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:94,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:94,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:96,1
    - Dst: StoreLastTxo
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:101,1
    - Dst: UpdateUtxoStats
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:102,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:103,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:103,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:107,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:109,1
    - Dst: PrepareNextBlock
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:111,1
    - Dst: StoreLastTxo
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:112,1
    - Dst: auto::vtx::front
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:116,1
    - Dst: CMutableTransaction::vin::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:117,1
    - Dst: auto::vtx::front
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:120,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:120,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:122,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:123,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:123,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:124,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:124,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:124,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:126,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:126,1
    - Dst: UpdateUtxoStats
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:127,1
    - Dst: PrepareNextBlock
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:128,1
    - Dst: StoreLastTxo
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:129,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:133,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:133,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:135,1
    - Dst: auto::vtx::back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:139,1
    - Dst: AppendRandomTxo
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:140,1
    - Dst: auto::vtx::back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:141,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:141,1
    - Dst: StoreLastTxo
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:142,1
    - Dst: AppendRandomTxo
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:147,1
    - Dst: auto::vtx::push_back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:148,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:148,1
    - Dst: StoreLastTxo
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:149,1
    - Dst: node::RegenerateCommitments
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:153,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:154,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:158,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:160,1
    - Dst: auto::vtx::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:160,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:160,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:163,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:163,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:163,1
    - Dst: UpdateUtxoStats
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:166,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:170,1
    - Dst: PrepareNextBlock
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:173,1
    - Dst: StoreLastTxo
      Src: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ActiveHeight() == 1)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp
    - condition: (!MineBlock(node, current_block).IsNull())
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp
    - condition: (prev_utxo_stats.hashSerialized == utxo_stats.hashSerialized)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp
    - condition: (ActiveHeight() == 0)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp
    - condition: (circulation == utxo_stats.total_amount)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp
    - condition: (current_block->vtx.at(0)->vin.at(0).scriptSig == duplicate_coinbase_script)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 177
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/utxo_total_supply.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - CMutableTransaction::vin::at
    - at
    - std::move
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - kernel::CCoinsStats::CCoinsStats
    - CMutableTransaction::vout::size
    - CMutableTransaction::vin::emplace_back
    - kernel::ComputeUTXOStats
    - StoreLastTxo
    - node::RegenerateCommitments
    - CallOneOf
    - CMutableTransaction::vout::at
    - SetMockTime
    - SeedRandomStateForTest
    - LIMITED_WHILE
    - auto::vtx::push_back
    - std::vector::size
    - CMutableTransaction::vout::emplace_back
    - FuzzedDataProvider::remaining_bytes
    - auto::vtx::size
    - GetBlockSubsidy
    - MakeTransactionRef
    - AppendRandomTxo
    - UpdateUtxoStats
    - Assert
    - Params
    - BlockMerkleRoot
    - assert
    - ConsumeTime
    - auto::vtx::at
    - PrepareBlock
    - std::vector::at
    - GetMutex
    - auto::vtx::back
    - PrepareNextBlock
    - ActiveHeight
    - size
    - CMutableTransaction::GetHash
    - MineBlock
    - LOCK
    - ActiveChainstate
    - CScript
    - auto::vtx::front
    - ChainTestingSetup::LoadVerifyActivateChainstate
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(utxo_total_supply)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/signet.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: initialize_signet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/signet.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_signet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' depgraph LIFETIMEBOUND'
    argTypes:
    - DepGraph<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: SimpleCandidateFinder::SimpleCandidateFinder
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    linkageType: ''
    returnType: void
    signature: void SimpleCandidateFinder(const DepGraph<SetType>& depgraph LIFETIMEBOUND)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - select
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: SimpleCandidateFinder::MarkDone
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MarkDone(SetType select) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: SimpleCandidateFinder::AllDone
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - None
    linkageType: ''
    returnType: bool
    signature: bool AllDone() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:121,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:124,1
    - Dst: First
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:124,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:126,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:128,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:129,1
    - Dst: None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:131,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:136,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:136,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:139,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:140,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:142,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:142,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - max_iterations
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 150
    functionName: SimpleCandidateFinder::FindCandidateSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Descendants
    - std::vector::emplace_back
    - First
    - None
    - std::vector::back
    - std::move
    - Ancestors
    - std::vector::pop_back
    - std::vector::empty
    - Overlaps
    linkageType: ''
    returnType: std::pair<SetInfo<SetType>, uint64_t>
    signature: std::pair<SetInfo<SetType>, uint64_t> FindCandidateSet(uint64_t max_iterations)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' depgraph LIFETIMEBOUND'
    argTypes:
    - DepGraph<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: ExhaustiveCandidateFinder::ExhaustiveCandidateFinder
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    linkageType: ''
    returnType: void
    signature: void ExhaustiveCandidateFinder(const DepGraph<SetType>& depgraph LIFETIMEBOUND)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - select
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: ExhaustiveCandidateFinder::MarkDone
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MarkDone(SetType select) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: ExhaustiveCandidateFinder::AllDone
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - None
    linkageType: ''
    returnType: bool
    signature: bool AllDone() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:184,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:186,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: ExhaustiveCandidateFinder::FindCandidateSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Ancestors
    - FeeRate
    - Count
    linkageType: ''
    returnType: SetInfo<SetType>
    signature: SetInfo<SetType> FindCandidateSet() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:215,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:217,1
    - Dst: SimpleCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:218,1
    - Dst: AppendTopo
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:220,1
    - Dst: SimpleCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:222,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' depgraph'
    - max_iterations
    argTypes:
    - DepGraph<SetType>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: SimpleLinearize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - SimpleCandidateFinder::MarkDone
    - SetType::Any
    - AppendTopo
    - std::move
    - SimpleCandidateFinder::FindCandidateSet
    linkageType: ''
    returnType: std::pair<std::vector<DepGraphIndex>, bool>
    signature: std::pair<std::vector<DepGraphIndex>, bool> SimpleLinearize(const DepGraph<SetType>&
      depgraph, uint64_t max_iterations)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:244,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:250,1
    - Dst: TestBitSet::Set
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:252,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:253,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:256,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:259,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:260,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:263,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:263,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:263,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:270,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:271,1
    - Dst: std::is_sorted
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:271,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:271,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:272,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:272,1
    - Dst: std::next_permutation
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:274,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:274,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - ' depgraph'
    argTypes:
    - DepGraph<SetType>
    assertStmts:
    - condition: (std::is_sorted(first_non_topo + 1, perm_linearization.end()))
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 277
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 277
    functionName: ExhaustiveLinearize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - auto::size
    - std::vector::end
    - std::next_permutation
    - std::is_sorted
    - TestBitSet::Set
    - ChunkLinearization
    - std::vector::begin
    - std::vector::push_back
    - Ancestors
    - std::vector::empty
    - CompareChunks
    - std::reverse
    - assert
    - std::vector::size
    linkageType: ''
    returnType: std::vector<DepGraphIndex>
    signature: std::vector<DepGraphIndex> ExhaustiveLinearize(const DepGraph<SetType>&
      depgraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:284,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:285,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:286,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:286,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:288,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:289,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:290,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:290,1
    - Dst: AddDependencies
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:291,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:291,1
    - Dst: auto::Last
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:291,1
    - Dst: auto::First
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' depgraph'
    argTypes:
    - DepGraph<BS>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: MakeConnected
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - auto::Any
    - bitset_detail::IntBitSet::Singleton
    - auto::First
    - Assume
    - FindConnectedComponent
    - AddDependencies
    - auto::Last
    - IsConnected
    linkageType: ''
    returnType: void
    signature: void MakeConnected(DepGraph<BS>& depgraph)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:305,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:312,1
    - Dst: SetType::None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:321,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:322,1
    - Dst: Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:322,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:323,1
    - Dst: First
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:323,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:324,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - ' depgraph'
    - ' todo'
    - ' reader'
    - non_empty
    argTypes:
    - DepGraph<SetType>
    - SetType
    - SpanReader
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 327
    functionName: ReadTopologicalSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - First
    - Assume
    - VARINT
    - SetType::Any
    - Any
    - Ancestors
    - SetType::None
    linkageType: ''
    returnType: SetType
    signature: SetType ReadTopologicalSet(const DepGraph<SetType>& depgraph, const
      SetType& todo, SpanReader& reader, bool non_empty)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:334,1
    - Dst: TestBitSet::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:336,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:340,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:340,1
    - Dst: TestBitSet::Set
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:341,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:345,1
    - Dst: TestBitSet::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:345,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:349,1
    - Dst: TestBitSet::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:351,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:356,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:357,1
    - Dst: TestBitSet::Reset
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - ' depgraph'
    - ' reader'
    argTypes:
    - DepGraph<BS>
    - SpanReader
    assertStmts:
    - condition: (potential_next.Any())
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (todo[j])
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 365
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 365
    functionName: ReadLinearization
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - bitset_detail::IntBitSet::Singleton
    - TestBitSet::Reset
    - TestBitSet::Set
    - VARINT
    - TestBitSet::Any
    - std::vector::push_back
    - Ancestors
    - assert
    - TestBitSet::Count
    linkageType: ''
    returnType: std::vector<DepGraphIndex>
    signature: std::vector<DepGraphIndex> ReadLinearization(const DepGraph<BS>& depgraph,
      SpanReader& reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' depgraph LIFETIMEBOUND'
    argTypes:
    - DepGraph<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: SimpleCandidateFinder::SimpleCandidateFinder
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    linkageType: ''
    returnType: void
    signature: void SimpleCandidateFinder(const DepGraph<SetType>& depgraph LIFETIMEBOUND)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - select
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: SimpleCandidateFinder::MarkDone
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MarkDone(SetType select) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: SimpleCandidateFinder::AllDone
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - None
    linkageType: ''
    returnType: bool
    signature: bool AllDone() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:121,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:124,1
    - Dst: First
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:124,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:126,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:128,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:129,1
    - Dst: None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:131,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:136,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:136,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:139,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:140,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:142,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:142,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - max_iterations
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 150
    functionName: SimpleCandidateFinder::FindCandidateSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 1
    functionsReached:
    - Descendants
    - std::vector::emplace_back
    - First
    - None
    - std::vector::back
    - std::move
    - Ancestors
    - std::vector::pop_back
    - std::vector::empty
    - Overlaps
    linkageType: ''
    returnType: std::pair<SetInfo<SetType>, uint64_t>
    signature: std::pair<SetInfo<SetType>, uint64_t> FindCandidateSet(uint64_t max_iterations)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' depgraph LIFETIMEBOUND'
    argTypes:
    - DepGraph<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: ExhaustiveCandidateFinder::ExhaustiveCandidateFinder
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    linkageType: ''
    returnType: void
    signature: void ExhaustiveCandidateFinder(const DepGraph<SetType>& depgraph LIFETIMEBOUND)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - select
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: ExhaustiveCandidateFinder::MarkDone
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MarkDone(SetType select) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: ExhaustiveCandidateFinder::AllDone
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - None
    linkageType: ''
    returnType: bool
    signature: bool AllDone() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:184,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:186,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: ExhaustiveCandidateFinder::FindCandidateSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Ancestors
    - FeeRate
    - Count
    linkageType: ''
    returnType: SetInfo<SetType>
    signature: SetInfo<SetType> FindCandidateSet() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:215,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:217,1
    - Dst: SimpleCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:218,1
    - Dst: AppendTopo
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:220,1
    - Dst: SimpleCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:222,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' depgraph'
    - max_iterations
    argTypes:
    - DepGraph<SetType>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: SimpleLinearize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - SimpleCandidateFinder::MarkDone
    - SetType::Any
    - AppendTopo
    - std::move
    - SimpleCandidateFinder::FindCandidateSet
    linkageType: ''
    returnType: std::pair<std::vector<DepGraphIndex>, bool>
    signature: std::pair<std::vector<DepGraphIndex>, bool> SimpleLinearize(const DepGraph<SetType>&
      depgraph, uint64_t max_iterations)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:244,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:250,1
    - Dst: TestBitSet::Set
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:252,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:253,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:256,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:259,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:260,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:263,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:263,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:263,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:270,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:271,1
    - Dst: std::is_sorted
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:271,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:271,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:272,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:272,1
    - Dst: std::next_permutation
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:274,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:274,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - ' depgraph'
    argTypes:
    - DepGraph<SetType>
    assertStmts:
    - condition: (std::is_sorted(first_non_topo + 1, perm_linearization.end()))
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 277
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 277
    functionName: ExhaustiveLinearize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - auto::size
    - std::vector::end
    - std::next_permutation
    - std::is_sorted
    - TestBitSet::Set
    - ChunkLinearization
    - std::vector::begin
    - std::vector::push_back
    - Ancestors
    - std::vector::empty
    - CompareChunks
    - std::reverse
    - assert
    - std::vector::size
    linkageType: ''
    returnType: std::vector<DepGraphIndex>
    signature: std::vector<DepGraphIndex> ExhaustiveLinearize(const DepGraph<SetType>&
      depgraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:284,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:285,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:286,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:286,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:288,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:289,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:290,1
    - Dst: IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:290,1
    - Dst: AddDependencies
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:291,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:291,1
    - Dst: auto::Last
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:291,1
    - Dst: auto::First
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' depgraph'
    argTypes:
    - DepGraph<BS>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: MakeConnected
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - auto::Any
    - bitset_detail::IntBitSet::Singleton
    - auto::First
    - Assume
    - FindConnectedComponent
    - AddDependencies
    - auto::Last
    - IsConnected
    linkageType: ''
    returnType: void
    signature: void MakeConnected(DepGraph<BS>& depgraph)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:305,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:312,1
    - Dst: SetType::None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:321,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:322,1
    - Dst: Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:322,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:323,1
    - Dst: First
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:323,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:324,1
    - Dst: SetType::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - ' depgraph'
    - ' todo'
    - ' reader'
    - non_empty
    argTypes:
    - DepGraph<SetType>
    - SetType
    - SpanReader
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 327
    functionName: ReadTopologicalSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - First
    - Assume
    - VARINT
    - SetType::Any
    - Any
    - Ancestors
    - SetType::None
    linkageType: ''
    returnType: SetType
    signature: SetType ReadTopologicalSet(const DepGraph<SetType>& depgraph, const
      SetType& todo, SpanReader& reader, bool non_empty)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:334,1
    - Dst: TestBitSet::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:336,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:340,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:340,1
    - Dst: TestBitSet::Set
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:341,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:345,1
    - Dst: TestBitSet::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:345,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:349,1
    - Dst: TestBitSet::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:351,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:356,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:357,1
    - Dst: TestBitSet::Reset
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - ' depgraph'
    - ' reader'
    argTypes:
    - DepGraph<BS>
    - SpanReader
    assertStmts:
    - condition: (potential_next.Any())
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (todo[j])
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 365
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 365
    functionName: ReadLinearization
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - bitset_detail::IntBitSet::Singleton
    - TestBitSet::Reset
    - TestBitSet::Set
    - VARINT
    - TestBitSet::Any
    - std::vector::push_back
    - Ancestors
    - assert
    - TestBitSet::Count
    linkageType: ''
    returnType: std::vector<DepGraphIndex>
    signature: std::vector<DepGraphIndex> ReadLinearization(const DepGraph<BS>& depgraph,
      SpanReader& reader)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:373,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:373,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:385,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:386,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:387,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:391,1
    - Dst: DepGraphIndex
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:392,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:398,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:401,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:402,1
    - Dst: TestBitSet::Set
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:404,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:408,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:414,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:415,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:417,1
    - Dst: TestBitSet::Set
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:419,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:429,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:430,1
    - Dst: second::IsSupersetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:432,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:445,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:445,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:445,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:446,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:448,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:448,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:451,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:451,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:455,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:455,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:456,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:457,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:459,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:460,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:463,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:465,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:465,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:466,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:467,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:468,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:473,1
    - Dst: idx_fn
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:479,1
    - Dst: subset_fn
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:480,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:482,1
    - Dst: set_fn
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:489,1
    - Dst: anc_update_fn
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:492,1
    - Dst: check_fn
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:494,1
    - Dst: DepGraph::RemoveTransactions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:496,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:498,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:499,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:511,1
    - Dst: anc_update_fn
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:515,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:516,1
    - Dst: check_fn
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:516,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:517,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:517,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:519,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (mask_shifted == 0)
      pos:
        line_end: 407
        line_start: 407
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (idx == i)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (false)
      pos:
        line_end: 510
        line_start: 510
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (real.TxCount() == num_tx_sim)
      pos:
        line_end: 516
        line_start: 516
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (real.FeeRate(i) == sim[i]->first)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (!sim[idx].has_value())
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (real.Positions()[i] == sim[i].has_value())
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (real.Ancestors(i) == sim[i]->second)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 520
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 520
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::AddDependencies
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - has_value
    - CDBBatch::ApproximateSize
    - anc_update_fn
    - LIMITED_WHILE
    - DepGraphIndex
    - second::IsSupersetOf
    - FuzzedDataProvider::remaining_bytes
    - DepGraph::RemoveTransactions
    - SanityCheck
    - check_fn
    - DepGraph::Positions
    - assert
    - DepGraph::Ancestors
    - set_fn
    - DepGraph::TxCount
    - idx_fn
    - TestBitSet::Set
    - DepGraph::FeeRate
    - size
    - std::array::size
    - subset_fn
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_depgraph_sim)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:531,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:531,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:531,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:533,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:536,1
    - Dst: DepGraph::IsAcyclic
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:536,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:539,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:542,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:543,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:551,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:551,1
    - Dst: auto::None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:552,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:553,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:562,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:562,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:564,1
    - Dst: DepGraph::IsAcyclic
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (depgraph.IsAcyclic())
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (!depgraph.IsAcyclic())
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 565
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 565
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::TxCount
    - auto::None
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddDependencies
    - SanityCheck
    - VARINT
    - auto::Count
    - Using
    - DepGraph::Positions
    - assert
    - DepGraph::Ancestors
    - DepGraph::IsAcyclic
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_depgraph_serialization)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:576,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:579,1
    - Dst: TestBitSet::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:580,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:586,1
    - Dst: TestBitSet::Size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:588,1
    - Dst: DepGraph::GetConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:594,1
    - Dst: DepGraph::FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:595,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:598,1
    - Dst: auto::IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:598,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:599,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:599,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:602,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:606,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:607,1
    - Dst: DepGraph::IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:607,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:611,1
    - Dst: DepGraph::IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:611,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:615,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:615,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:615,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:616,1
    - Dst: DepGraph::Descendants
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:616,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:616,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:622,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:627,1
    - Dst: DepGraph::Descendants
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:628,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:634,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:640,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:643,1
    - Dst: TestBitSet::Set
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:645,1
    - Dst: TestBitSet::None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:650,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:650,1
    - Dst: TestBitSet::First
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:650,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:656,1
    - Dst: DepGraph::FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:656,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (component.IsSubsetOf(todo))
      pos:
        line_end: 597
        line_start: 597
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: ((depgraph.Descendants(i) & todo).IsSubsetOf(component))
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: ((component == todo) == depgraph.IsConnected(todo))
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (component == reachable)
      pos:
        line_end: 633
        line_start: 633
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (depgraph.FindConnectedComponent(todo).None())
      pos:
        line_end: 655
        line_start: 655
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (component.Any())
      pos:
        line_end: 598
        line_start: 598
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: ((component == todo) == depgraph.IsConnected())
      pos:
        line_end: 606
        line_start: 606
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: ((depgraph.Ancestors(i) & todo).IsSubsetOf(component))
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (component[*picked])
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 657
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 657
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - TestBitSet::Size
    - auto::Any
    - IsSubsetOf
    - bitset_detail::IntBitSet::Singleton
    - VARINT
    - DepGraph::GetConnectedComponent
    - DepGraph::Descendants
    - TestBitSet::Set
    - TestBitSet::Any
    - auto::IsSubsetOf
    - TestBitSet::None
    - DepGraph::IsConnected
    - DepGraph::FindConnectedComponent
    - TestBitSet::First
    - Using
    - DepGraph::Positions
    - assert
    - DepGraph::Ancestors
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_components)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:666,1
    - Dst: MakeConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:668,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:669,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:670,1
    - Dst: DepGraph::IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (depgraph.IsConnected())
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 671
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 671
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - SanityCheck
    - DepGraph::IsConnected
    - Using
    - MakeConnected
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_make_connected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:681,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:685,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:688,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:691,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:692,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:696,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:698,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:698,1
    - Dst: SetInfo::Set
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:702,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:703,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:708,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:709,1
    - Dst: transactions::IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:709,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:712,1
    - Dst: auto::None
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!(chunking[i] >> chunking[i - 1]))
      pos:
        line_end: 691
        line_start: 691
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (todo.Any())
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (todo.None())
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (chunk_feerate == best.feerate)
      pos:
        line_end: 707
        line_start: 707
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (best.transactions.IsSubsetOf(todo))
      pos:
        line_end: 708
        line_start: 708
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 713
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 713
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - auto::None
    - auto::size
    - auto::Any
    - feerate::IsEmpty
    - ChunkLinearization
    - transactions::IsSubsetOf
    - Using
    - SetInfo::Set
    - DepGraph::Positions
    - assert
    - ReadLinearization
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_chunking)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:723,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:727,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:728,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:730,1
    - Dst: AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:730,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:731,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:731,1
    - Dst: AncestorCandidateFinder::NumRemaining
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:731,1
    - Dst: AncestorCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:732,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:734,1
    - Dst: auto::transactions::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:734,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:735,1
    - Dst: auto::transactions::IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:735,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:736,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:736,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:737,1
    - Dst: DepGraph::IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:737,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:740,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:740,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:740,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:746,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:747,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:752,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:752,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:753,1
    - Dst: ReadTopologicalSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:758,1
    - Dst: AncestorCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:760,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:762,1
    - Dst: AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:762,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:763,1
    - Dst: AncestorCandidateFinder::NumRemaining
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!anc_finder.AllDone())
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (todo.Count() == anc_finder.NumRemaining())
      pos:
        line_end: 730
        line_start: 730
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (depgraph.FeeRate(best_anc.transactions) == best_anc.feerate)
      pos:
        line_end: 735
        line_start: 735
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (depgraph.IsConnected(best_anc.transactions))
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (anc_finder.AllDone())
      pos:
        line_end: 761
        line_start: 761
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (best_anc.transactions.IsSubsetOf(todo))
      pos:
        line_end: 734
        line_start: 734
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (*real_best_anc == best_anc)
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (best_anc.transactions.Any())
      pos:
        line_end: 733
        line_start: 733
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (anc_finder.NumRemaining() == 0)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: ((depgraph.Ancestors(i) & todo).IsSubsetOf(best_anc.transactions))
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (real_best_anc.has_value())
      pos:
        line_end: 751
        line_start: 751
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 764
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 764
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - auto::transactions::Any
    - auto::Any
    - AncestorCandidateFinder::FindCandidateSet
    - IsSubsetOf
    - auto::transactions::IsSubsetOf
    - std::optional::has_value
    - AncestorCandidateFinder::MarkDone
    - DepGraph::FeeRate
    - ReadTopologicalSet
    - AncestorCandidateFinder::NumRemaining
    - DepGraph::IsConnected
    - auto::Count
    - Using
    - DepGraph::Positions
    - assert
    - AncestorCandidateFinder::AllDone
    - DepGraph::Ancestors
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_ancestor_finder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:782,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:791,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:792,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:793,1
    - Dst: SimpleCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:793,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:794,1
    - Dst: ExhaustiveCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:794,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:795,1
    - Dst: AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:795,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:796,1
    - Dst: AncestorCandidateFinder::NumRemaining
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:796,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:796,1
    - Dst: SimpleCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:799,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:803,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:804,1
    - Dst: transactions::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:804,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:805,1
    - Dst: transactions::IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:805,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:806,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:806,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:809,1
    - Dst: transactions::IsSupersetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:809,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:809,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:815,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:815,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:816,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:816,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:819,1
    - Dst: DepGraph::IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:819,1
    - Dst: AncestorCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:824,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:825,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:827,1
    - Dst: ExhaustiveCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:830,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:831,1
    - Dst: ReadTopologicalSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:836,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:837,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:837,1
    - Dst: ReadTopologicalSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:843,1
    - Dst: SimpleCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:845,1
    - Dst: ExhaustiveCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:846,1
    - Dst: AncestorCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:847,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:850,1
    - Dst: SimpleCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:850,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:851,1
    - Dst: ExhaustiveCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:851,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:852,1
    - Dst: AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:852,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:853,1
    - Dst: AncestorCandidateFinder::NumRemaining
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:853,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (anc_finder.NumRemaining() == todo.Count())
      pos:
        line_end: 795
        line_start: 795
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.transactions.IsSubsetOf(todo))
      pos:
        line_end: 804
        line_start: 804
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.transactions.Any())
      pos:
        line_end: 803
        line_start: 803
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.feerate >= depgraph.FeeRate(read_topo))
      pos:
        line_end: 836
        line_start: 836
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (anc_finder.AllDone())
      pos:
        line_end: 851
        line_start: 851
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (iterations_done <= (uint64_t{1} << (todo.Count() - 1)))
      pos:
        line_end: 814
        line_start: 814
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (anc_finder.NumRemaining() == 0)
      pos:
        line_end: 852
        line_start: 852
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (exh_finder.AllDone())
      pos:
        line_end: 850
        line_start: 850
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (!smp_finder.AllDone())
      pos:
        line_end: 792
        line_start: 792
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (!exh_finder.AllDone())
      pos:
        line_end: 793
        line_start: 793
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (optimal)
      pos:
        line_end: 815
        line_start: 815
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (exhaustive.feerate == found.feerate)
      pos:
        line_end: 830
        line_start: 830
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (smp_finder.AllDone())
      pos:
        line_end: 849
        line_start: 849
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (!anc_finder.AllDone())
      pos:
        line_end: 794
        line_start: 794
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (iterations_done <= MAX_SIMPLE_ITERATIONS)
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (depgraph.FeeRate(found.transactions) == found.feerate)
      pos:
        line_end: 805
        line_start: 805
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.transactions.IsSupersetOf(depgraph.Ancestors(i) & todo))
      pos:
        line_end: 808
        line_start: 808
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (depgraph.IsConnected(found.transactions))
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (anc.feerate <= found.feerate)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 854
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 854
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - auto::Any
    - Using
    - AncestorCandidateFinder::AllDone
    - ExhaustiveCandidateFinder::MarkDone
    - transactions::IsSupersetOf
    - DepGraph::IsConnected
    - SimpleCandidateFinder::FindCandidateSet
    - SimpleCandidateFinder::AllDone
    - AncestorCandidateFinder::FindCandidateSet
    - transactions::Any
    - SimpleCandidateFinder::MarkDone
    - AncestorCandidateFinder::NumRemaining
    - transactions::IsSubsetOf
    - auto::Count
    - DepGraph::Positions
    - assert
    - DepGraph::Ancestors
    - ExhaustiveCandidateFinder::FindCandidateSet
    - AncestorCandidateFinder::MarkDone
    - DepGraph::FeeRate
    - ReadTopologicalSet
    - ExhaustiveCandidateFinder::AllDone
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_simple_finder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:868,1
    - Dst: MakeConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:872,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:879,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:880,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:881,1
    - Dst: SearchCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:881,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:882,1
    - Dst: SimpleCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:882,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:883,1
    - Dst: AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:883,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:884,1
    - Dst: AncestorCandidateFinder::NumRemaining
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:884,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:884,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:889,1
    - Dst: ReadTopologicalSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:894,1
    - Dst: SearchCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:898,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:902,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:903,1
    - Dst: transactions::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:903,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:904,1
    - Dst: transactions::IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:904,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:905,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:905,1
    - Dst: SetInfo::feerate::IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:906,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:906,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:909,1
    - Dst: transactions::IsSupersetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:909,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:909,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:916,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:916,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:920,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:921,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:921,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:927,1
    - Dst: DepGraph::IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:927,1
    - Dst: SimpleCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:930,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:931,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:933,1
    - Dst: AncestorCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:937,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:938,1
    - Dst: ReadTopologicalSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:942,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:943,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:943,1
    - Dst: ReadTopologicalSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:949,1
    - Dst: SearchCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:951,1
    - Dst: SimpleCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:952,1
    - Dst: AncestorCandidateFinder::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:953,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:956,1
    - Dst: SearchCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:956,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:957,1
    - Dst: SimpleCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:957,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:958,1
    - Dst: AncestorCandidateFinder::AllDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:958,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:959,1
    - Dst: AncestorCandidateFinder::NumRemaining
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:959,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!src_finder.AllDone())
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (!smp_finder.AllDone())
      pos:
        line_end: 881
        line_start: 881
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.feerate >= init_best.feerate)
      pos:
        line_end: 905
        line_start: 905
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.feerate == simple.feerate)
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.feerate >= anc.feerate)
      pos:
        line_end: 937
        line_start: 937
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (!anc_finder.AllDone())
      pos:
        line_end: 882
        line_start: 882
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (depgraph.FeeRate(found.transactions) == found.feerate)
      pos:
        line_end: 904
        line_start: 904
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.transactions.IsSupersetOf(depgraph.Ancestors(i) & todo))
      pos:
        line_end: 908
        line_start: 908
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (anc_finder.AllDone())
      pos:
        line_end: 957
        line_start: 957
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (anc_finder.NumRemaining() == todo.Count())
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.transactions.Any())
      pos:
        line_end: 902
        line_start: 902
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.transactions.IsSubsetOf(todo))
      pos:
        line_end: 903
        line_start: 903
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (depgraph.IsConnected(found.transactions))
      pos:
        line_end: 926
        line_start: 926
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (anc_finder.NumRemaining() == 0)
      pos:
        line_end: 958
        line_start: 958
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (smp_finder.AllDone())
      pos:
        line_end: 956
        line_start: 956
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (iterations_done <= max_iterations)
      pos:
        line_end: 901
        line_start: 901
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (iterations_done <= (uint64_t{1} << (todo.Count() - 1)))
      pos:
        line_end: 915
        line_start: 915
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.feerate >= depgraph.FeeRate(read_topo))
      pos:
        line_end: 942
        line_start: 942
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (found.feerate >= simple.feerate)
      pos:
        line_end: 930
        line_start: 930
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (src_finder.AllDone())
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 960
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 960
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - auto::Any
    - SearchCandidateFinder::FindCandidateSet
    - Using
    - AncestorCandidateFinder::AllDone
    - transactions::IsSupersetOf
    - VARINT
    - DepGraph::IsConnected
    - SimpleCandidateFinder::FindCandidateSet
    - SetInfo::feerate::IsEmpty
    - SimpleCandidateFinder::AllDone
    - AncestorCandidateFinder::FindCandidateSet
    - Assume
    - transactions::Any
    - SimpleCandidateFinder::MarkDone
    - AncestorCandidateFinder::NumRemaining
    - transactions::IsSubsetOf
    - auto::Count
    - DepGraph::Positions
    - assert
    - SearchCandidateFinder::AllDone
    - DepGraph::Ancestors
    - AncestorCandidateFinder::MarkDone
    - DepGraph::FeeRate
    - ReadTopologicalSet
    - MakeConnected
    - SearchCandidateFinder::MarkDone
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_search_finder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:970,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:975,1
    - Dst: SetInfo
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:976,1
    - Dst: ReadTopologicalSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:976,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:979,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:986,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:987,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:987,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:992,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:996,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:999,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:999,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:999,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1000,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1001,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1001,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1006,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1007,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1009,1
    - Dst: transactions::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1009,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1011,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1011,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1013,1
    - Dst: transactions::IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1013,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1015,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1015,1
    - Dst: SetInfo::Set
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1020,1
    - Dst: feerate::IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1021,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1026,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1027,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1029,1
    - Dst: transactions::Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1029,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1033,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1033,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1033,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1036,1
    - Dst: LinearizationChunking::IntersectPrefixes
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1039,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1041,1
    - Dst: LinearizationChunking::IntersectPrefixes
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1041,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1045,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1047,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1049,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1049,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1051,1
    - Dst: auto::transactions::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1051,1
    - Dst: auto::transactions::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1051,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1053,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1057,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1058,1
    - Dst: SetInfo
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1059,1
    - Dst: auto::feerate::IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1060,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1061,1
    - Dst: ReadTopologicalSet
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1068,1
    - Dst: LinearizationChunking::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1070,1
    - Dst: SetInfo
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1071,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1074,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1074,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (intersect.feerate == depgraph.FeeRate(intersect.transactions))
      pos:
        line_end: 1048
        line_start: 1048
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (chunk_info.transactions.Any())
      pos:
        line_end: 1008
        line_start: 1008
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (chunking.GetChunk(i).feerate == chunking_left[i])
      pos:
        line_end: 1000
        line_start: 1000
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (depgraph.FeeRate(chunk_info.transactions) == chunk_info.feerate)
      pos:
        line_end: 1014
        line_start: 1014
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (best.feerate == chunk_info.feerate)
      pos:
        line_end: 1026
        line_start: 1026
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (combined == todo)
      pos:
        line_end: 1035
        line_start: 1035
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (intersect.feerate >= subset.feerate)
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (chunking.NumChunksLeft() == 0)
      pos:
        line_end: 1073
        line_start: 1073
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (!chunk_info.transactions.Overlaps(combined))
      pos:
        line_end: 1028
        line_start: 1028
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (best.transactions == chunk_info.transactions)
      pos:
        line_end: 1025
        line_start: 1025
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (intersect.transactions.Any() == subset.transactions.Any())
      pos:
        line_end: 1050
        line_start: 1050
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (reintersect.feerate <= intersect.feerate)
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (intersect.transactions == intersect_anc)
      pos:
        line_end: 1046
        line_start: 1046
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (chunking.NumChunksLeft() > 0)
      pos:
        line_end: 986
        line_start: 986
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (chunking.NumChunksLeft() == chunking_left.size())
      pos:
        line_end: 998
        line_start: 998
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (!(chunk_info.feerate >> chunking.GetChunk(i - 1).feerate))
      pos:
        line_end: 1010
        line_start: 1010
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (chunk_info.transactions.IsSubsetOf(todo))
      pos:
        line_end: 1012
        line_start: 1012
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (chunking.IntersectPrefixes(intersect) == intersect)
      pos:
        line_end: 1040
        line_start: 1040
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: ((depgraph.Ancestors(idx) & todo).IsSubsetOf(combined))
      pos:
        line_end: 1032
        line_start: 1032
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 1075
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 1075
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - auto::transactions::Any
    - auto::Any
    - auto::size
    - IsSubsetOf
    - transactions::Overlaps
    - std::vector::push_back
    - SetInfo
    - Using
    - SetInfo::Set
    - LinearizationChunking::NumChunksLeft
    - ReadLinearization
    - auto::feerate::IsEmpty
    - ChunkLinearization
    - LinearizationChunking::GetChunk
    - transactions::Any
    - feerate::IsEmpty
    - transactions::IsSubsetOf
    - DepGraph::Positions
    - assert
    - DepGraph::Ancestors
    - DepGraph::FeeRate
    - ReadTopologicalSet
    - LinearizationChunking::IntersectPrefixes
    - LinearizationChunking::MarkDone
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_linearization_chunking)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1088,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1088,1
    - Dst: SimpleLinearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1093,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1094,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1095,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1100,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1102,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1107,1
    - Dst: ExhaustiveLinearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1108,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1109,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1110,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1111,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1112,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1112,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1112,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1117,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1118,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1119,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cmp == 0)
      pos:
        line_end: 1110
        line_start: 1110
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (cmp >= 0)
      pos:
        line_end: 1119
        line_start: 1119
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (simple_chunking.size() == exh_chunking.size())
      pos:
        line_end: 1111
        line_start: 1111
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (optimal)
      pos:
        line_end: 1101
        line_start: 1101
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 1122
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1122
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::TxCount
    - auto::size
    - SanityCheck
    - VARINT
    - ChunkLinearization
    - SimpleLinearize
    - Using
    - CompareChunks
    - assert
    - ReadLinearization
    - ExhaustiveLinearize
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_simple_linearize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1136,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1136,1
    - Dst: MakeConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1140,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1150,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1151,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1157,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1158,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1159,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1160,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1163,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1164,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1165,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1166,1
    - Dst: MaxOptimalLinearizationIters
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1170,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1170,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1171,1
    - Dst: SimpleLinearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1177,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1178,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1179,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1180,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1181,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1184,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1187,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1187,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1187,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1190,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1191,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1192,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cost <= iter_count)
      pos:
        line_end: 1157
        line_start: 1157
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (cmp >= 0)
      pos:
        line_end: 1165
        line_start: 1165
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (cmp == 0)
      pos:
        line_end: 1183
        line_start: 1183
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (chunking.size() >= simple_chunking.size())
      pos:
        line_end: 1186
        line_start: 1186
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (cmp_read >= 0)
      pos:
        line_end: 1192
        line_start: 1192
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (optimal)
      pos:
        line_end: 1170
        line_start: 1170
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (cmp >= 0)
      pos:
        line_end: 1180
        line_start: 1180
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 1195
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1195
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Linearize
    - DepGraph::TxCount
    - auto::size
    - SanityCheck
    - VARINT
    - ChunkLinearization
    - MaxOptimalLinearizationIters
    - SimpleLinearize
    - Using
    - CompareChunks
    - std::vector::empty
    - MakeConnected
    - assert
    - ReadLinearization
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_linearize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1205,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1210,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1211,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1215,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1216,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1219,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1220,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1221,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1222,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1226,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1227,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1228,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1229,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1230,1
    - Dst: LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1234,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1235,1
    - Dst: DepGraph::IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1235,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1235,1
    - Dst: LinearizationChunking::MarkDone
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1236,1
    - Dst: LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cmp >= 0)
      pos:
        line_end: 1229
        line_start: 1229
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (cmp >= 0)
      pos:
        line_end: 1221
        line_start: 1221
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (depgraph.IsConnected(linchunking.GetChunk(0).transactions))
      pos:
        line_end: 1234
        line_start: 1234
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 1238
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1238
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - SanityCheck
    - ChunkLinearization
    - PostLinearize
    - LinearizationChunking::MarkDone
    - DepGraph::IsConnected
    - LinearizationChunking::GetChunk
    - Using
    - CompareChunks
    - LinearizationChunking::NumChunksLeft
    - assert
    - ReadLinearization
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_postlinearize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1251,1
    - Dst: DepGraph::PositionRange
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1257,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1258,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1259,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1259,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1263,1
    - Dst: DepGraph::RemoveTransactions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1266,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1266,1
    - Dst: DepGraph::PositionRange
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1266,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1266,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1269,1
    - Dst: DepGraph::GetReducedChildren
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1270,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1271,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1272,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1272,1
    - Dst: auto::First
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1272,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1276,1
    - Dst: DepGraph::GetReducedParents
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1277,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1278,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1279,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1279,1
    - Dst: auto::First
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1279,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1286,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1287,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1291,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1292,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1295,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1296,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1297,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1298,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1303,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1304,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1305,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1306,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1307,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1311,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1312,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1313,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cmp_post == 0)
      pos:
        line_end: 1306
        line_start: 1306
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (cmp_opt == 0)
      pos:
        line_end: 1313
        line_start: 1313
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (cmp >= 0)
      pos:
        line_end: 1297
        line_start: 1297
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 1315
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1315
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::AddDependencies
    - auto::Any
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    - DepGraph::GetReducedParents
    - Using
    - CompareChunks
    - ReadLinearization
    - auto::First
    - ChunkLinearization
    - Linearize
    - DepGraph::RemoveTransactions
    - SanityCheck
    - DepGraph::PositionRange
    - DepGraph::GetReducedChildren
    - BufferedFile::Fill
    - PostLinearize
    - DepGraph::Positions
    - assert
    - DepGraph::TxCount
    - DepGraph::FeeRate
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_postlinearize_tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1331,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1331,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1334,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1337,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1338,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1344,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1344,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1346,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1346,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1349,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1350,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1353,1
    - Dst: DepGraph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1354,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1354,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1355,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1356,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cmp >= 0)
      pos:
        line_end: 1356
        line_start: 1356
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 1358
      start: 1317
    functionDepth: 2
    functionLinenumber: 1317
    functionLinenumberEnd: 1358
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::TxCount
    - auto::back
    - SanityCheck
    - VARINT
    - ChunkLinearization
    - PostLinearize
    - DepGraph::FeeRate
    - std::vector::push_back
    - Using
    - CompareChunks
    - assert
    - ReadLinearization
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_postlinearize_moved_leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1366,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1370,1
    - Dst: ReadLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1371,1
    - Dst: MergeLinearizations
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1374,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1377,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1378,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1379,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1380,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1381,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1382,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cmp1 >= 0)
      pos:
        line_end: 1380
        line_start: 1380
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (cmp2 >= 0)
      pos:
        line_end: 1382
        line_start: 1382
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 1384
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1384
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - MergeLinearizations
    - ChunkLinearization
    - Using
    - CompareChunks
    - assert
    - ReadLinearization
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_merge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1394,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1400,1
    - Dst: TestBitSet::Any
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1401,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1405,1
    - Dst: TestBitSet::Count
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1407,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1411,1
    - Dst: TestBitSet::Reset
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1412,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1418,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1418,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1418,1
    - Dst: DepGraph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1424,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1425,1
    - Dst: TestBitSet::Reset
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1427,1
    - Dst: TestBitSet::Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1428,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1428,1
    - Dst: FixLinearization
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1434,1
    - Dst: SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1436,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1439,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1439,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1439,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1439,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1440,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1443,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp:1444,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (linearization == linearization_fixed)
      pos:
        line_end: 1443
        line_start: 1443
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: (linearization.size() == depgraph.TxCount())
      pos:
        line_end: 1417
        line_start: 1417
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    - condition: "(std::equal(linearization.begin(), linearization.begin() + topo_prefix,\n
        \                     linearization_fixed.begin()))"
      pos:
        line_end: 1439
        line_start: 1438
        source_file: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 1446
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1446
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::TxCount
    - auto::begin
    - FixLinearization
    - TestBitSet::Reset
    - SanityCheck
    - VARINT
    - TestBitSet::Overlaps
    - DepGraph::Ancestors
    - TestBitSet::Any
    - std::vector::begin
    - std::vector::push_back
    - Using
    - DepGraph::Positions
    - assert
    - std::vector::size
    - TestBitSet::Count
    - std::equal
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(clusterlin_fix_linearization)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:19,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:20,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:22,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:23,1
    - Dst: std::clamp<W>
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:26,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:29,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:30,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:31,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: clamp
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: check
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:36,1
    - Dst: clamp
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:36,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:36,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:36,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:37,1
    - Dst: check
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:37,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:37,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: TestOverflow
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/overflow.cpp
    functionUses: 0
    functionsReached:
    - SaturatingAdd
    - RandomMixin::min
    - check
    - std::clamp<W>
    - ConsumeIntegralInRange
    - clamp
    - widen
    - SaturatingLeftShift
    - Assert
    - CheckedLeftShift
    - RandomMixin::max
    - CheckedAdd
    - ConsumeIntegral
    linkageType: ''
    returnType: void
    signature: void TestOverflow(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:19,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:20,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:22,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:23,1
    - Dst: std::clamp<W>
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:26,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:29,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:30,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:31,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: clamp
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:33,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: check
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:34,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:36,1
    - Dst: clamp
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:36,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:36,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:36,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:37,1
    - Dst: check
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:37,1
    - Dst: widen
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:37,1
    - Dst: CheckedLeftShift
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: TestOverflow
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/overflow.cpp
    functionUses: 0
    functionsReached:
    - SaturatingAdd
    - RandomMixin::min
    - check
    - std::clamp<W>
    - ConsumeIntegralInRange
    - clamp
    - widen
    - SaturatingLeftShift
    - Assert
    - CheckedLeftShift
    - RandomMixin::max
    - CheckedAdd
    - ConsumeIntegral
    linkageType: ''
    returnType: void
    signature: void TestOverflow(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:43,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:43,1
    - Dst: TestOverflow
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:44,1
    - Dst: TestOverflow
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:45,1
    - Dst: TestOverflow
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:46,1
    - Dst: TestOverflow
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:47,1
    - Dst: TestOverflow
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:48,1
    - Dst: TestOverflow
      Src: /src/bitcoin-core/src/test/fuzz/overflow.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/overflow.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - TestOverflow
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(overflow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:14,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:14,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:15,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:16,1
    - Dst: std::min<size_t>
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:16,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytesAsString
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:17,1
    - Dst: script::Const
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:21,1
    - Dst: script::Func
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:24,1
    - Dst: script::Expr
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:27,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:29,1
    - Dst: Split
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:31,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 33
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_parsing.cpp
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - script::Const
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    - script::Expr
    - script::Func
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - std::string::empty
    - data
    - std::string::front
    - Split
    - FuzzedDataProvider::ConsumeBytesAsString
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(script_parsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:29,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:30,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:30,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: initialize_p2p_transport_serialization
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::sort
    - begin
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_p2p_transport_serialization()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:29,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:30,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:30,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: initialize_p2p_transport_serialization
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::sort
    - begin
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_p2p_transport_serialization()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:137,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:142,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:143,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:152,1
    - Dst: msg_type_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:163,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:166,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:168,1
    - Dst: make_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:175,1
    - Dst: make_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:176,1
    - Dst: GetBytesToSend
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:184,1
    - Dst: GetBytesToSend
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:185,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:187,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:187,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:187,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:189,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:189,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:190,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:191,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:193,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:193,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:193,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:194,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:194,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:194,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:194,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:195,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:195,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:196,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:196,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:196,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:196,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:207,1
    - Dst: Copy
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:209,1
    - Dst: SetMessageToSend
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:210,1
    - Dst: bytes_to_send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:215,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:218,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:218,1
    - Dst: make_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:220,1
    - Dst: bytes_to_send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:226,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:228,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:229,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:229,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:229,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:232,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:232,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:232,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:232,1
    - Dst: MarkBytesSent
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:233,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:235,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:240,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:240,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:241,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:241,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:241,1
    - Dst: bytes_to_send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:243,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:251,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:253,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:254,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:255,1
    - Dst: std::span::empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:257,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:258,1
    - Dst: ReceivedBytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:259,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:262,1
    - Dst: bytes_to_send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:268,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:269,1
    - Dst: ReceivedMessageComplete
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:270,1
    - Dst: GetReceivedMessage
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:272,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:274,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:276,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:276,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:278,1
    - Dst: auto::m_recv::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:278,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:280,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:280,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:282,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:282,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:282,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:282,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:283,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:288,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:291,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:291,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:291,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:297,1
    - Dst: remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:297,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:298,1
    - Dst: new_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:300,1
    - Dst: new_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:301,1
    - Dst: send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:303,1
    - Dst: send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:304,1
    - Dst: recv_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:306,1
    - Dst: recv_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:307,1
    - Dst: send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:315,1
    - Dst: send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:316,1
    - Dst: recv_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:317,1
    - Dst: recv_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:318,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:323,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:323,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:324,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:324,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:327,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:327,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:328,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:328,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:331,1
    - Dst: GetInfo
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:331,1
    - Dst: GetInfo
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:331,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 116
    argCount: 4
    argNames:
    - ' initiator'
    - ' responder'
    - ' rng'
    - ' provider'
    argTypes:
    - Transport
    - Transport
    - R
    - FuzzedDataProvider
    assertStmts:
    - condition: (msg_type == msg_type_next)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (received.m_message_size == received.m_recv.size())
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (to_send[side].size() >= send_now)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (ret)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (received.m_type == expected[side].front().m_type)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (to_send[side].size() <= bytes.size())
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (expected[1].empty())
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (std::ranges::equal(bytes, bytes_next))
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (!bytes.empty() == *expect_more[side])
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (std::ranges::equal(to_send[side], std::span{bytes}.first(to_send[side].size())))
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (!reject)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (expected[0].empty())
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (more_next)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (transports[0]->GetInfo().session_id == transports[1]->GetInfo().session_id)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (std::ranges::equal(received.m_recv, MakeByteSpan(expected[side].front().data)))
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (progress)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (in_flight[1].empty())
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (!expected[side].empty())
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (in_flight[0].empty())
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    constantsTouched: []
    func_position:
      end: 332
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 332
    functionName: SimulationTest
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    functionUses: 2
    functionsReached:
    - std::copy
    - randbytes
    - std::move
    - bytes_to_send_fn
    - has_value
    - resize
    - all_bytes_equal
    - CallOneOf
    - pop_front
    - std::span::size
    - ConsumeIntegralInRange
    - Copy
    - recv_fn
    - std::span::empty
    - GetBytesToSend
    - LIMITED_WHILE
    - make_msg_fn
    - first
    - new_msg_fn
    - send_fn
    - empty
    - front
    - GetInfo
    - GetReceivedMessage
    - MakeByteSpan
    - msg_type_fn
    - assert
    - ReceivedMessageComplete
    - SetMessageToSend
    - remaining_bytes
    - end
    - std::string::size
    - erase
    - size
    - MarkBytesSent
    - ReceivedBytes
    - auto::m_recv::size
    - emplace_back
    - insert
    - begin
    - ConsumeIntegral
    linkageType: ''
    returnType: void
    signature: void SimulationTest(Transport& initiator, Transport& responder, R&
      rng, FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<V1Transport>
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: MakeV1Transport
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<V1Transport>
    linkageType: ''
    returnType: std::unique_ptr<Transport>
    signature: std::unique_ptr<Transport> MakeV1Transport(NodeId nodeid) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumePrivateKey
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:343,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:344,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:346,1
    - Dst: ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:350,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:351,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:355,1
    - Dst: ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:358,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:359,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:366,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:366,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:366,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:366,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:367,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:367,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:368,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:368,1
    - Dst: std::make_unique<V2Transport>
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:370,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - nodeid
    - initiator
    - ' rng'
    - ' provider'
    argTypes:
    - NodeId
    - bool
    - RNG
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 371
    functionName: MakeV2Transport
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    functionUses: 0
    functionsReached:
    - UCharCast
    - auto::size
    - randbytes
    - std::vector::resize
    - ConsumeBytes
    - ConsumeIntegralInRange
    - auto::IsValid
    - std::vector::data
    - auto::resize
    - CSHA256
    - std::move
    - auto::data
    - std::make_unique<V2Transport>
    - ConsumePrivateKey
    - std::vector::size
    linkageType: ''
    returnType: std::unique_ptr<Transport>
    signature: std::unique_ptr<Transport> MakeV2Transport(NodeId nodeid, bool initiator,
      RNG& rng, FuzzedDataProvider& provider)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:137,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:142,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:143,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:152,1
    - Dst: msg_type_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:163,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:166,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:168,1
    - Dst: make_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:175,1
    - Dst: make_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:176,1
    - Dst: GetBytesToSend
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:184,1
    - Dst: GetBytesToSend
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:185,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:187,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:187,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:187,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:189,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:189,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:190,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:191,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:193,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:193,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:193,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:194,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:194,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:194,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:194,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:195,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:195,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:196,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:196,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:196,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:196,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:207,1
    - Dst: Copy
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:209,1
    - Dst: SetMessageToSend
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:210,1
    - Dst: bytes_to_send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:215,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:218,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:218,1
    - Dst: make_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:220,1
    - Dst: bytes_to_send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:226,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:228,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:229,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:229,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:229,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:232,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:232,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:232,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:232,1
    - Dst: MarkBytesSent
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:233,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:235,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:240,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:240,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:241,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:241,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:241,1
    - Dst: bytes_to_send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:243,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:251,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:253,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:254,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:255,1
    - Dst: std::span::empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:257,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:258,1
    - Dst: ReceivedBytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:259,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:262,1
    - Dst: bytes_to_send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:268,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:269,1
    - Dst: ReceivedMessageComplete
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:270,1
    - Dst: GetReceivedMessage
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:272,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:274,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:276,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:276,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:278,1
    - Dst: auto::m_recv::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:278,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:280,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:280,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:282,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:282,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:282,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:282,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:283,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:288,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:291,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:291,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:291,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:297,1
    - Dst: remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:297,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:298,1
    - Dst: new_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:300,1
    - Dst: new_msg_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:301,1
    - Dst: send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:303,1
    - Dst: send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:304,1
    - Dst: recv_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:306,1
    - Dst: recv_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:307,1
    - Dst: send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:315,1
    - Dst: send_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:316,1
    - Dst: recv_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:317,1
    - Dst: recv_fn
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:318,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:323,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:323,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:324,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:324,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:327,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:327,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:328,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:328,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:331,1
    - Dst: GetInfo
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:331,1
    - Dst: GetInfo
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:331,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 116
    argCount: 4
    argNames:
    - ' initiator'
    - ' responder'
    - ' rng'
    - ' provider'
    argTypes:
    - Transport
    - Transport
    - R
    - FuzzedDataProvider
    assertStmts:
    - condition: (msg_type == msg_type_next)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (received.m_message_size == received.m_recv.size())
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (to_send[side].size() >= send_now)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (ret)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (received.m_type == expected[side].front().m_type)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (to_send[side].size() <= bytes.size())
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (expected[1].empty())
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (std::ranges::equal(bytes, bytes_next))
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (!bytes.empty() == *expect_more[side])
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (std::ranges::equal(to_send[side], std::span{bytes}.first(to_send[side].size())))
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (!reject)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (expected[0].empty())
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (more_next)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (transports[0]->GetInfo().session_id == transports[1]->GetInfo().session_id)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (std::ranges::equal(received.m_recv, MakeByteSpan(expected[side].front().data)))
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (progress)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (in_flight[1].empty())
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (!expected[side].empty())
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    - condition: (in_flight[0].empty())
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    constantsTouched: []
    func_position:
      end: 332
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 332
    functionName: SimulationTest
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    functionUses: 2
    functionsReached:
    - std::copy
    - randbytes
    - std::move
    - bytes_to_send_fn
    - has_value
    - resize
    - all_bytes_equal
    - CallOneOf
    - pop_front
    - std::span::size
    - ConsumeIntegralInRange
    - Copy
    - recv_fn
    - std::span::empty
    - GetBytesToSend
    - LIMITED_WHILE
    - make_msg_fn
    - first
    - new_msg_fn
    - send_fn
    - empty
    - front
    - GetInfo
    - GetReceivedMessage
    - MakeByteSpan
    - msg_type_fn
    - assert
    - ReceivedMessageComplete
    - SetMessageToSend
    - remaining_bytes
    - end
    - std::string::size
    - erase
    - size
    - MarkBytesSent
    - ReceivedBytes
    - auto::m_recv::size
    - emplace_back
    - insert
    - begin
    - ConsumeIntegral
    linkageType: ''
    returnType: void
    signature: void SimulationTest(Transport& initiator, Transport& responder, R&
      rng, FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<V1Transport>
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: MakeV1Transport
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<V1Transport>
    linkageType: ''
    returnType: std::unique_ptr<Transport>
    signature: std::unique_ptr<Transport> MakeV1Transport(NodeId nodeid) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumePrivateKey
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:343,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:344,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:346,1
    - Dst: ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:350,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:351,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:355,1
    - Dst: ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:358,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:359,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:366,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:366,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:366,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:366,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:367,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:367,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:368,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:368,1
    - Dst: std::make_unique<V2Transport>
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:370,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - nodeid
    - initiator
    - ' rng'
    - ' provider'
    argTypes:
    - NodeId
    - bool
    - RNG
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 371
    functionName: MakeV2Transport
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_transport_serialization.cpp
    functionUses: 0
    functionsReached:
    - UCharCast
    - auto::size
    - randbytes
    - std::vector::resize
    - ConsumeBytes
    - ConsumeIntegralInRange
    - auto::IsValid
    - std::vector::data
    - auto::resize
    - CSHA256
    - std::move
    - auto::data
    - std::make_unique<V2Transport>
    - ConsumePrivateKey
    - std::vector::size
    linkageType: ''
    returnType: std::unique_ptr<Transport>
    signature: std::unique_ptr<Transport> MakeV2Transport(NodeId nodeid, bool initiator,
      RNG& rng, FuzzedDataProvider& provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:30,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:30,1
    - Dst: evhttp_request_new
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:31,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:32,1
    - Dst: evbuffer_new
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:35,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:36,1
    - Dst: evbuffer_add
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:37,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:37,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:37,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:43,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:43,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:43,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:44,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:44,1
    - Dst: evhttp_parse_firstline_
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:45,1
    - Dst: evhttp_parse_headers_
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:45,1
    - Dst: evbuffer_free
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:46,1
    - Dst: evhttp_request_free
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:47,1
    - Dst: util::SignalInterrupt::SignalInterrupt
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:51,1
    - Dst: HTTPRequest::GetRequestMethod
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:53,1
    - Dst: RequestMethodString
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:54,1
    - Dst: HTTPRequest::GetURI
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:55,1
    - Dst: HTTPRequest::GetHeader
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:56,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:57,1
    - Dst: HTTPRequest::GetHeader
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:58,1
    - Dst: HTTPRequest::WriteHeader
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:59,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:59,1
    - Dst: HTTPRequest::GetHeader
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:60,1
    - Dst: HTTPRequest::ReadBody
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:62,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:62,1
    - Dst: HTTPRequest::GetPeer
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:64,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:64,1
    - Dst: evbuffer_free
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:66,1
    - Dst: evhttp_request_free
      Src: /src/bitcoin-core/src/test/fuzz/http_request.cpp:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (evreq != nullptr)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/http_request.cpp
    - condition: (body.empty())
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/test/fuzz/http_request.cpp
    - condition: (evbuf != nullptr)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/http_request.cpp
    - condition: (service.ToStringAddrPort() == "[::]:0")
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/test/fuzz/http_request.cpp
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/http_request.cpp
    functionUses: 0
    functionsReached:
    - evbuffer_free
    - util::SignalInterrupt::SignalInterrupt
    - ToLower
    - std::string::empty
    - data
    - HTTPRequest::WriteHeader
    - std::vector::end
    - evhttp_request_new
    - HTTPRequest::GetHeader
    - evhttp_parse_headers_
    - evhttp_request_free
    - std::vector::size
    - std::string::find
    - RequestMethodString
    - assert
    - std::vector::data
    - FuzzedDataProvider::ConsumeRandomLengthString
    - evbuffer_add
    - evbuffer_new
    - size
    - std::vector::begin
    - HTTPRequest::GetPeer
    - ConsumeRandomLengthByteVector
    - HTTPRequest::ReadBody
    - CService::ToStringAddrPort
    - evhttp_parse_firstline_
    - HTTPRequest::GetRequestMethod
    - HTTPRequest::GetURI
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(http_request)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:18,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:19,1
    - Dst: AdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:20,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:21,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:22,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:23,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:23,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:24,1
    - Dst: AdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:24,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:25,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:26,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:26,1
    - Dst: __builtin_add_overflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:29,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:30,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:36,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:36,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:39,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:39,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts:
    - condition: (is_addition_overflow_custom == !maybe_add.has_value())
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (sat_add == SaturatingAdd(j, i))
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (add == sat_add)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (i + j == result_builtin)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (sat_add == std::numeric_limits<T>::min() || sat_add == std::numeric_limits<T>::max())
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (add == maybe_add.value())
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (is_addition_overflow_custom == AdditionOverflow(j, i))
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (maybe_add == CheckedAdd(j, i))
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (is_addition_overflow_custom == is_addition_overflow_builtin)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 42
    functionName: TestAdditionOverflow
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - SaturatingAdd
    - AdditionOverflow
    - RandomMixin::min
    - auto::has_value
    - ConsumeIntegral
    - __builtin_add_overflow
    - assert
    - RandomMixin::max
    - CheckedAdd
    linkageType: ''
    returnType: void
    signature: void TestAdditionOverflow(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:18,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:19,1
    - Dst: AdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:20,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:21,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:22,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:23,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:23,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:24,1
    - Dst: AdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:24,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:25,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:26,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:26,1
    - Dst: __builtin_add_overflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:29,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:30,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:36,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:36,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:39,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:39,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts:
    - condition: (is_addition_overflow_custom == !maybe_add.has_value())
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (sat_add == SaturatingAdd(j, i))
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (add == sat_add)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (i + j == result_builtin)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (sat_add == std::numeric_limits<T>::min() || sat_add == std::numeric_limits<T>::max())
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (add == maybe_add.value())
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (is_addition_overflow_custom == AdditionOverflow(j, i))
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (maybe_add == CheckedAdd(j, i))
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    - condition: (is_addition_overflow_custom == is_addition_overflow_builtin)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 42
    functionName: TestAdditionOverflow
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - SaturatingAdd
    - AdditionOverflow
    - RandomMixin::min
    - auto::has_value
    - ConsumeIntegral
    - __builtin_add_overflow
    - assert
    - RandomMixin::max
    - CheckedAdd
    linkageType: ''
    returnType: void
    signature: void TestAdditionOverflow(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:47,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:47,1
    - Dst: TestAdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:48,1
    - Dst: TestAdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:49,1
    - Dst: TestAdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:50,1
    - Dst: TestAdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:51,1
    - Dst: TestAdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:52,1
    - Dst: TestAdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:53,1
    - Dst: TestAdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:54,1
    - Dst: TestAdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:55,1
    - Dst: TestAdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/addition_overflow.cpp
    functionUses: 0
    functionsReached:
    - data
    - TestAdditionOverflow
    - size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(addition_overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - condition
    - ','
    - limit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: LIMITED_WHILE
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMITED_WHILE(condition, limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUZZ_TARGET(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: DETAIL_FUZZ
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DETAIL_FUZZ(name, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:20,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:21,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:21,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:22,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:23,1
    - Dst: ecdsa_signature_parse_der_lax
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:27,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:27,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:27,1
    - Dst: SigHasLowR
      Src: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - size
    - data
    - SeedRandomStateForTest
    - ConsumeRandomLengthByteVector
    - SigHasLowR
    - ecdsa_signature_parse_der_lax
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(secp256k1_ecdsa_signature_parse_der_lax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/load_external_block_file.cpp:24,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/load_external_block_file.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: initialize_load_external_block_file
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/load_external_block_file.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_load_external_block_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/script.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: initialize_script
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_script()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - s
    - a
    - se
    argTypes:
    - std::span<std::byte>
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: PoolResourceFuzzer::Entry
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entry(std::span<std::byte> s, size_t a, uint64_t se)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: PoolResourceFuzzer::PoolResourceFuzzer
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: void PoolResourceFuzzer(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:46,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:49,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:51,1
    - Dst: static_cast<std::byte*>
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:51,1
    - Dst: PoolResourceFuzzer::Allocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:51,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:54,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:54,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:55,1
    - Dst: PoolResourceFuzzer::RandomContentFill
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:58,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (size > 0)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    - condition: ((size & (alignment - 1)) == 0)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    - condition: (alignment > 0)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    - condition: ((alignment & (alignment - 1)) == 0)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    - condition: ((ptr_val & (alignment - 1)) == 0)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: PoolResourceFuzzer::Allocate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<std::uintptr_t>
    - auto::data
    - PoolResourceFuzzer::Allocate
    - static_cast<std::byte*>
    - emplace_back
    - std::span
    - assert
    - PoolResourceFuzzer::RandomContentFill
    linkageType: ''
    returnType: void
    signature: void Allocate(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:65,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:67,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:68,1
    - Dst: PoolResourceFuzzer::Allocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: PoolResourceFuzzer::Allocate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 2
    functionsReached:
    - PoolResourceFuzzer::Allocate
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: void Allocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Entry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: PoolResourceFuzzer::RandomContentFill
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 1
    functionsReached:
    - InsecureRandomContext
    linkageType: ''
    returnType: void
    signature: void RandomContentFill(Entry& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span::size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:79,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:80,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:81,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Entry
    assertStmts:
    - condition: (std::ranges::equal(entry.span, expect))
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: PoolResourceFuzzer::RandomContentCheck
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - assert
    - span::size
    - all_bytes_equal
    linkageType: ''
    returnType: void
    signature: void RandomContentCheck(const Entry& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:86,1
    - Dst: span::data
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:86,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:87,1
    - Dst: PoolResourceFuzzer::RandomContentCheck
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:88,1
    - Dst: span::size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:89,1
    - Dst: PoolResourceFuzzer::Deallocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:90,1
    - Dst: span::data
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:90,1
    - Dst: span::size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Entry
    assertStmts:
    - condition: ((ptr_val & (entry.alignment - 1)) == 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: PoolResourceFuzzer::Deallocate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 1
    functionsReached:
    - PoolResourceFuzzer::RandomContentCheck
    - PoolResourceFuzzer::Deallocate
    - span::size
    - reinterpret_cast<std::uintptr_t>
    - assert
    - span::data
    linkageType: ''
    returnType: void
    signature: void Deallocate(const Entry& entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:95,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:99,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:99,1
    - Dst: PoolResourceFuzzer::Deallocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:100,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:101,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:102,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:102,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: PoolResourceFuzzer::Deallocate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 2
    functionsReached:
    - PoolResourceFuzzer::Deallocate
    - empty
    - ConsumeIntegralInRange
    - back
    - std::move
    - size
    - pop_back
    linkageType: ''
    returnType: void
    signature: void Deallocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:109,1
    - Dst: PoolResourceFuzzer::Deallocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:110,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: PoolResourceFuzzer::Clear
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 0
    functionsReached:
    - PoolResourceTester::CheckAllDataAccountedFor
    - PoolResourceFuzzer::Deallocate
    - empty
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:118,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:118,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:120,1
    - Dst: PoolResourceFuzzer::Allocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:122,1
    - Dst: PoolResourceFuzzer::Deallocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:123,1
    - Dst: PoolResourceFuzzer::Clear
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: PoolResourceFuzzer::Fuzz
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 0
    functionsReached:
    - CallOneOf
    - PoolResourceFuzzer::Deallocate
    - ConsumeBool
    - LIMITED_WHILE
    - PoolResourceFuzzer::Allocate
    - PoolResourceFuzzer::Clear
    linkageType: ''
    returnType: void
    signature: void Fuzz()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - s
    - a
    - se
    argTypes:
    - std::span<std::byte>
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: PoolResourceFuzzer::Entry
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entry(std::span<std::byte> s, size_t a, uint64_t se)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: PoolResourceFuzzer::PoolResourceFuzzer
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: void PoolResourceFuzzer(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:46,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:49,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:51,1
    - Dst: static_cast<std::byte*>
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:51,1
    - Dst: PoolResourceFuzzer::Allocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:51,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:54,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:54,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:55,1
    - Dst: PoolResourceFuzzer::RandomContentFill
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:58,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (size > 0)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    - condition: ((size & (alignment - 1)) == 0)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    - condition: (alignment > 0)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    - condition: ((alignment & (alignment - 1)) == 0)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    - condition: ((ptr_val & (alignment - 1)) == 0)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: PoolResourceFuzzer::Allocate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<std::uintptr_t>
    - auto::data
    - PoolResourceFuzzer::Allocate
    - static_cast<std::byte*>
    - emplace_back
    - std::span
    - assert
    - PoolResourceFuzzer::RandomContentFill
    linkageType: ''
    returnType: void
    signature: void Allocate(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:65,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:67,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:68,1
    - Dst: PoolResourceFuzzer::Allocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: PoolResourceFuzzer::Allocate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 5
    functionsReached:
    - PoolResourceFuzzer::Allocate
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: void Allocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Entry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: PoolResourceFuzzer::RandomContentFill
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 2
    functionsReached:
    - InsecureRandomContext
    linkageType: ''
    returnType: void
    signature: void RandomContentFill(Entry& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span::size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:79,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:80,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:81,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Entry
    assertStmts:
    - condition: (std::ranges::equal(entry.span, expect))
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: PoolResourceFuzzer::RandomContentCheck
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 1
    functionsReached:
    - InsecureRandomContext
    - assert
    - span::size
    - all_bytes_equal
    linkageType: ''
    returnType: void
    signature: void RandomContentCheck(const Entry& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:86,1
    - Dst: span::data
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:86,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:87,1
    - Dst: PoolResourceFuzzer::RandomContentCheck
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:88,1
    - Dst: span::size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:89,1
    - Dst: PoolResourceFuzzer::Deallocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:90,1
    - Dst: span::data
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:90,1
    - Dst: span::size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Entry
    assertStmts:
    - condition: ((ptr_val & (entry.alignment - 1)) == 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: PoolResourceFuzzer::Deallocate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 5
    functionsReached:
    - PoolResourceFuzzer::RandomContentCheck
    - PoolResourceFuzzer::Deallocate
    - span::size
    - reinterpret_cast<std::uintptr_t>
    - assert
    - span::data
    linkageType: ''
    returnType: void
    signature: void Deallocate(const Entry& entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:95,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:99,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:99,1
    - Dst: PoolResourceFuzzer::Deallocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:100,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:101,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:102,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:102,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: PoolResourceFuzzer::Deallocate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 6
    functionsReached:
    - PoolResourceFuzzer::Deallocate
    - empty
    - ConsumeIntegralInRange
    - back
    - std::move
    - size
    - pop_back
    linkageType: ''
    returnType: void
    signature: void Deallocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:109,1
    - Dst: PoolResourceFuzzer::Deallocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:110,1
    - Dst: PoolResourceTester::CheckAllDataAccountedFor
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: PoolResourceFuzzer::Clear
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 1
    functionsReached:
    - PoolResourceTester::CheckAllDataAccountedFor
    - PoolResourceFuzzer::Deallocate
    - empty
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:118,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:118,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:120,1
    - Dst: PoolResourceFuzzer::Allocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:122,1
    - Dst: PoolResourceFuzzer::Deallocate
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:123,1
    - Dst: PoolResourceFuzzer::Clear
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: PoolResourceFuzzer::Fuzz
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 0
    functionsReached:
    - CallOneOf
    - PoolResourceFuzzer::Deallocate
    - ConsumeBool
    - LIMITED_WHILE
    - PoolResourceFuzzer::Allocate
    - PoolResourceFuzzer::Clear
    linkageType: ''
    returnType: void
    signature: void Fuzz()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:134,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:134,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:135,1
    - Dst: Fuzz
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:137,1
    - Dst: Fuzz
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:138,1
    - Dst: Fuzz
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:139,1
    - Dst: Fuzz
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:140,1
    - Dst: Fuzz
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:142,1
    - Dst: Fuzz
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:143,1
    - Dst: Fuzz
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:145,1
    - Dst: Fuzz
      Src: /src/bitcoin-core/src/test/fuzz/poolresource.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/poolresource.cpp
    functionUses: 0
    functionsReached:
    - data
    - CallOneOf
    - Fuzz
    - size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(pool_resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/timeoffsets.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: initialize_timeoffsets
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/timeoffsets.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_timeoffsets()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:48,1
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:51,1
    - Dst: ProcessBlock
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:54,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:58,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:59,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:60,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:61,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:61,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:61,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:62,1
    - Dst: chainman::GetParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:62,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:63,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:64,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:65,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: sanity_check_snapshot
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - ForceFlushStateToDisk
    - CoinsDB
    - chainman::ActiveChainstate
    - ProcessBlock
    - LOCK
    - Assert
    - kernel::ComputeUTXOStats
    - chainman::GetParams
    linkageType: ''
    returnType: void
    signature: void sanity_check_snapshot()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:72,1
    - Dst: CreateBlockChain
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:73,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:75,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:75,1
    - Dst: sanity_check_snapshot
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:78,1
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:81,1
    - Dst: ProcessNewBlockHeaders
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:92,1
    - Dst: GetBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:92,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:93,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:94,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:95,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: initialize_chain
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - MakeNoLogFileContext
    - auto::back
    - SetMockTime
    - GetHash
    - CreateChainParams
    - Assert
    - GetBlockHeader
    - sanity_check_snapshot
    - CreateBlockChain
    - ProcessNewBlockHeaders
    linkageType: ''
    returnType: void
    signature: void initialize_chain()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:104,1
    - Dst: FuzzBufferType::data
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:105,1
    - Dst: FuzzBufferType::size
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:105,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:106,1
    - Dst: ConsumeTime
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:106,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:111,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:113,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:113,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:116,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:118,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:119,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:122,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:123,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:124,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:125,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:130,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:131,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:136,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:137,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:138,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:139,1
    - Dst: Coin
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:140,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:148,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:148,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:149,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:150,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:154,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:154,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:158,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:159,1
    - Dst: ActivateSnapshot
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:166,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:169,1
    - Dst: ProcessNewBlockHeaders
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:174,1
    - Dst: GetBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:174,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:175,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:176,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:177,1
    - Dst: ActivateFuzzedSnapshot
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:183,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:184,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:185,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:185,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:185,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:186,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:186,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:187,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:188,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:190,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:190,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:190,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:191,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:191,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:192,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:193,1
    - Dst: GetSnapshotBaseHeight
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:194,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:195,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:196,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:196,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:197,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:197,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:199,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:202,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:202,1
    - Dst: GetCacheSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:202,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:205,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:205,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:206,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:206,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:209,1
    - Dst: ActivateFuzzedSnapshot
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:209,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:213,1
    - Dst: m_node::chainman::reset
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:216,1
    - Dst: m_make_chainman
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:217,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:218,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - FuzzBufferType
    assertStmts:
    - condition: (outfile.fclose() == 0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp
    constantsTouched: []
    func_position:
      end: 220
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 220
    functionName: utxo_snapshot_fuzz
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - SnapshotBlockhash
    - at
    - FuzzedDataProvider::ConsumeBool
    - GetHash
    - FuzzedDataProvider::ConsumeIntegralInRange
    - AutoFile::fclose
    - m_node::chainman::reset
    - GetSnapshotBaseHeight
    - GetBlockHeader
    - vtx::at
    - auto::value
    - ActivateSnapshot
    - SetMockTime
    - GetParams
    - back
    - WriteCompactSize
    - SeedRandomStateForTest
    - m_make_chainman
    - LoadVerifyActivateChainstate
    - GetCacheSize
    - FuzzBufferType::size
    - FuzzBufferType::data
    - Coin
    - m_blockman::LookupBlockIndex
    - Assert
    - IsNull
    - assert
    - ConsumeTime
    - ActivateFuzzedSnapshot
    - auto::has_value
    - fsbridge::fopen
    - size
    - GetDataDirNet
    - LOCK
    - ConsumeRandomLengthByteVector
    - ActiveChainstate
    - HaveCoin
    - ProcessNewBlockHeaders
    linkageType: ''
    returnType: void
    signature: void utxo_snapshot_fuzz(FuzzBufferType buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:48,1
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:51,1
    - Dst: ProcessBlock
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:54,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:58,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:59,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:60,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:61,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:61,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:61,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:62,1
    - Dst: chainman::GetParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:62,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:63,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:64,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:65,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: sanity_check_snapshot
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp
    functionUses: 1
    functionsReached:
    - MakeNoLogFileContext
    - ForceFlushStateToDisk
    - CoinsDB
    - chainman::ActiveChainstate
    - ProcessBlock
    - LOCK
    - Assert
    - kernel::ComputeUTXOStats
    - chainman::GetParams
    linkageType: ''
    returnType: void
    signature: void sanity_check_snapshot()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:72,1
    - Dst: CreateBlockChain
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:73,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:75,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:75,1
    - Dst: sanity_check_snapshot
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:78,1
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:81,1
    - Dst: ProcessNewBlockHeaders
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:92,1
    - Dst: GetBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:92,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:93,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:94,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:95,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: initialize_chain
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - MakeNoLogFileContext
    - auto::back
    - SetMockTime
    - GetHash
    - CreateChainParams
    - Assert
    - GetBlockHeader
    - sanity_check_snapshot
    - CreateBlockChain
    - ProcessNewBlockHeaders
    linkageType: ''
    returnType: void
    signature: void initialize_chain()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:104,1
    - Dst: FuzzBufferType::data
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:105,1
    - Dst: FuzzBufferType::size
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:105,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:106,1
    - Dst: ConsumeTime
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:106,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:111,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:113,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:113,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:116,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:118,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:119,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:122,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:123,1
    - Dst: at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:124,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:125,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:130,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:131,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:136,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:137,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:138,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:139,1
    - Dst: Coin
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:140,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:148,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:148,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:149,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:150,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:154,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:154,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:158,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:159,1
    - Dst: ActivateSnapshot
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:166,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:169,1
    - Dst: ProcessNewBlockHeaders
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:174,1
    - Dst: GetBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:174,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:175,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:176,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:177,1
    - Dst: ActivateFuzzedSnapshot
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:183,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:184,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:185,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:185,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:185,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:186,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:186,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:187,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:188,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:190,1
    - Dst: HaveCoin
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:190,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:190,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:191,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:191,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:192,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:193,1
    - Dst: GetSnapshotBaseHeight
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:194,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:195,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:196,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:196,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:197,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:197,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:199,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:202,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:202,1
    - Dst: GetCacheSize
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:202,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:205,1
    - Dst: SnapshotBlockhash
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:205,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:206,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:206,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:209,1
    - Dst: ActivateFuzzedSnapshot
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:209,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:213,1
    - Dst: m_node::chainman::reset
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:216,1
    - Dst: m_make_chainman
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:217,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp:218,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - FuzzBufferType
    assertStmts:
    - condition: (outfile.fclose() == 0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp
    constantsTouched: []
    func_position:
      end: 220
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 220
    functionName: utxo_snapshot_fuzz
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/utxo_snapshot.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - SnapshotBlockhash
    - at
    - FuzzedDataProvider::ConsumeBool
    - GetHash
    - FuzzedDataProvider::ConsumeIntegralInRange
    - AutoFile::fclose
    - m_node::chainman::reset
    - GetSnapshotBaseHeight
    - GetBlockHeader
    - vtx::at
    - auto::value
    - ActivateSnapshot
    - SetMockTime
    - GetParams
    - back
    - WriteCompactSize
    - SeedRandomStateForTest
    - m_make_chainman
    - LoadVerifyActivateChainstate
    - GetCacheSize
    - FuzzBufferType::size
    - FuzzBufferType::data
    - Coin
    - m_blockman::LookupBlockIndex
    - Assert
    - IsNull
    - assert
    - ConsumeTime
    - ActivateFuzzedSnapshot
    - auto::has_value
    - fsbridge::fopen
    - size
    - GetDataDirNet
    - LOCK
    - ConsumeRandomLengthByteVector
    - ActiveChainstate
    - HaveCoin
    - ProcessNewBlockHeaders
    linkageType: ''
    returnType: void
    signature: void utxo_snapshot_fuzz(FuzzBufferType buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/p2p_handshake.cpp:34,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/p2p_handshake.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_handshake.cpp
    functionUses: 32
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/p2p_handshake.cpp:34,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/p2p_handshake.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_handshake.cpp
    functionUses: 32
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:20,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:20,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:22,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:26,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:27,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:28,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:29,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:30,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:31,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:32,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:36,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:37,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:38,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:39,1
    - Dst: CastToBool
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:45,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_interpreter.cpp
    functionUses: 0
    functionsReached:
    - ConsumeDeserializable
    - CTransaction::vin::size
    - SignatureHash
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - CastToBool
    - data
    - ConsumeScript
    - ConsumeRandomLengthByteVector
    - ConsumeMoney
    - FuzzedDataProvider::PickValueInArray
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(script_interpreter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _result
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: DumbCheck
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DumbCheck(const bool _result)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: operator()() const
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _result
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: DumbCheck
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DumbCheck(const bool _result)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: operator()() const
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> operator()() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:32,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:32,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:41,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:42,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:43,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:45,1
    - Dst: CCheckQueue::Add
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:46,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:48,1
    - Dst: CCheckQueue::Complete
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:53,1
    - Dst: CCheckQueueControl::Add
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:54,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:54,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:56,1
    - Dst: CCheckQueueControl::Complete
      Src: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/checkqueue.cpp
    functionUses: 0
    functionsReached:
    - CCheckQueueControl::Complete
    - std::vector::emplace_back
    - CCheckQueue::Add
    - CCheckQueue::Complete
    - FuzzedDataProvider::ConsumeBool
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - std::move
    - CCheckQueueControl::Add
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(checkqueue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:51,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:51,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:53,1
    - Dst: ConsumeRandomLengthStringVector
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:54,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:56,1
    - Dst: AmountHighWarn
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:57,1
    - Dst: BlockFilterTypeByName
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:59,1
    - Dst: Capitalize
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:60,1
    - Dst: CopyrightHolders
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:61,1
    - Dst: FeeModeFromString
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:63,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:64,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:65,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:65,1
    - Dst: FormatSubVersion
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:66,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:66,1
    - Dst: GetDescriptorChecksum
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:67,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:68,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:69,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:70,1
    - Dst: HelpMessageOpt
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:71,1
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:72,1
    - Dst: Join
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:73,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:74,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:74,1
    - Dst: OnlyHasDefaultSectionSetting
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:76,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:77,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:78,1
    - Dst: RemovePrefix
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:79,1
    - Dst: ResolveErrMsg
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:80,1
    - Dst: RPCConvertNamedValues
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:82,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:86,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:89,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:90,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:90,1
    - Dst: ShellEscape
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:92,1
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:96,1
    - Dst: TimingResistantEqual
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:97,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:98,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:99,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:100,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:101,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:102,1
    - Dst: ContainsNoNUL
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:103,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:112,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:116,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:116,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:117,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:117,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:117,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:118,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:118,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:119,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:120,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:120,1
    - Dst: LIMITED_STRING
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:127,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:131,1
    - Dst: DataStream::empty
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:131,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:132,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:136,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:136,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:139,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:139,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:140,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:140,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:141,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:142,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:142,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/test/fuzz/string.cpp:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (data_stream.empty())
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/bitcoin-core/src/test/fuzz/string.cpp
    - condition: (!s.empty())
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/bitcoin-core/src/test/fuzz/string.cpp
    - condition: (deserialized_string == random_string_1)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/bitcoin-core/src/test/fuzz/string.cpp
    - condition: (data_stream.empty())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/test/fuzz/string.cpp
    - condition: (single_split.size() >= 1)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bitcoin-core/src/test/fuzz/string.cpp
    - condition: (s.size() <= 10)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/bitcoin-core/src/test/fuzz/string.cpp
    - condition: (s.size() <= random_string_1.size())
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/bitcoin-core/src/test/fuzz/string.cpp
    - condition: (any_split.size() >= 1)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/test/fuzz/string.cpp
    constantsTouched: []
    func_position:
      end: 150
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 150
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/string.cpp
    functionUses: 0
    functionsReached:
    - RPCConvertNamedValues
    - auto::size
    - ParseFixedPoint
    - RemovePrefix
    - HelpMessageGroup
    - FuzzedDataProvider::ConsumeIntegral
    - ToLower
    - std::string::empty
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - Join
    - RPCConvertValues
    - ToUpper
    - SplitString
    - FormatSubVersion
    - HelpExampleCli
    - ResolveErrMsg
    - Capitalize
    - ShellEscape
    - TrimString
    - AmountHighWarn
    - HelpMessageOpt
    - SplitHostPort
    - ParseNetwork
    - Untranslated
    - OnlyHasDefaultSectionSetting
    - AmountErrMsg
    - ConsumeRandomLengthStringVector
    - UrlDecode
    - ParseOutputType
    - HelpExampleRpc
    - IsDeprecatedRPCEnabled
    - TimingResistantEqual
    - LIMITED_STRING
    - assert
    - DataStream::empty
    - FeeModeFromString
    - std::string::size
    - FuzzedDataProvider::ConsumeRandomLengthString
    - size
    - GetDescriptorChecksum
    - BlockFilterTypeByName
    - CopyrightHolders
    - FormatParagraph
    - JSONRPCError
    - SanitizeString
    - ContainsNoNUL
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.h:39,1
    - Dst: callables
      Src: /src/bitcoin-core/src/test/fuzz/util.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: CallOneOf
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 12
    functionsReached:
    - callables
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: size_t
    signature: size_t CallOneOf(FuzzedDataProvider& fuzzed_data_provider, Callables...
      callables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/util.h:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util.h:50,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/util.h:51,1
    - Dst: std::advance
      Src: /src/bitcoin-core/src/test/fuzz/util.h:52,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' col'
    argTypes:
    - FuzzedDataProvider
    - Collection
    assertStmts:
    - condition: (sz >= 1)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/test/fuzz/util.h
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: PickValue
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - std::advance
    - size
    - assert
    - begin
    linkageType: ''
    returnType: auto
    signature: auto & PickValue(FuzzedDataProvider& fuzzed_data_provider, Collection&
      col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/util.h:61,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/util.h:62,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/test/fuzz/util.h:63,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/util.h:64,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.h:64,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/test/fuzz/util.h:64,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/test/fuzz/util.h:64,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/util.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: ConsumeRandomLengthByteVector
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 8
    functionsReached:
    - std::copy
    - std::string::size
    - std::string::begin
    - std::vector::data
    - std::string::end
    - ConsumeRandomLengthString
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::vector<B>
    signature: std::vector<B> ConsumeRandomLengthByteVector(FuzzedDataProvider& fuzzed_data_provider,
      const std::optional<size_t>& max_length = std::nullopt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytesToBits
      Src: /src/bitcoin-core/src/test/fuzz/util.h:70,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ConsumeRandomLengthBitVector
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - BytesToBits
    - ConsumeRandomLengthByteVector
    linkageType: ''
    returnType: std::vector<bool>
    signature: std::vector<bool> ConsumeRandomLengthBitVector(FuzzedDataProvider&
      fuzzed_data_provider, const std::optional<size_t>& max_length = std::nullopt)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ConsumeDataStream
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - ConsumeRandomLengthByteVector
    linkageType: ''
    returnType: DataStream
    signature: DataStream ConsumeDataStream(FuzzedDataProvider& fuzzed_data_provider,
      const std::optional<size_t>& max_length = std::nullopt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.h:80,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/util.h:82,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/util.h:84,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/util.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: ConsumeRandomLengthStringVector
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - ConsumeRandomLengthString
    - std::vector::reserve
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> ConsumeRandomLengthStringVector(FuzzedDataProvider&
      fuzzed_data_provider, const size_t max_vector_size = 16, const size_t max_string_length
      = 16) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.h:92,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/util.h:94,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/util.h:96,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: ConsumeRandomLengthIntegralVector
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ConsumeIntegral
    - std::vector::reserve
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> ConsumeRandomLengthIntegralVector(FuzzedDataProvider&
      fuzzed_data_provider, const size_t max_vector_size = 16) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util.h:107,1
    - Dst: params
      Src: /src/bitcoin-core/src/test/fuzz/util.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' params'
    argTypes:
    - FuzzedDataProvider
    - P
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: ConsumeDeserializable
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 6
    functionsReached:
    - params
    - ConsumeRandomLengthByteVector
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> ConsumeDeserializable(FuzzedDataProvider& fuzzed_data_provider,
      const P& params, const std::optional<size_t>& max_length = std::nullopt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: ConsumeDeserializable
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 6
    functionsReached:
    - ConsumeRandomLengthByteVector
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> ConsumeDeserializable(FuzzedDataProvider& fuzzed_data_provider,
      const std::optional<size_t>& max_length = std::nullopt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.h:135,1
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/util.h:136,1
    - Dst: WeakEnumType
      Src: /src/bitcoin-core/src/test/fuzz/util.h:137,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - (all_types)
    argTypes:
    - FuzzedDataProvider
    - WeakEnumType[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: ConsumeWeakEnum
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - ConsumeIntegral
    - PickValueInArray
    - WeakEnumType
    linkageType: ''
    returnType: WeakEnumType
    signature: WeakEnumType ConsumeWeakEnum(FuzzedDataProvider& fuzzed_data_provider,
      const WeakEnumType (&all_types)[size]) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<opcodetype>
      Src: /src/bitcoin-core/src/test/fuzz/util.h:142,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: ConsumeOpcodeType
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - static_cast<opcodetype>
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: opcodetype
    signature: opcodetype ConsumeOpcodeType(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: ConsumeScriptNum
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - ConsumeIntegral
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum ConsumeScriptNum(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/util.h:164,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/util.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: ConsumeUInt160
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - std::vector::size
    - ConsumeBytes
    linkageType: ''
    returnType: uint160
    signature: uint160 ConsumeUInt160(FuzzedDataProvider& fuzzed_data_provider) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/util.h:173,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/util.h:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: ConsumeUInt256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 3
    functionsReached:
    - std::vector::size
    - ConsumeBytes
    linkageType: ''
    returnType: uint256
    signature: uint256 ConsumeUInt256(FuzzedDataProvider& fuzzed_data_provider) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/fuzz/util.h:182,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/util.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: ConsumeArithUInt256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - ConsumeUInt256
    - UintToArith256
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 ConsumeArithUInt256(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util.h:187,1
    - Dst: ConsumeArithUInt256
      Src: /src/bitcoin-core/src/test/fuzz/util.h:189,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/test/fuzz/util.h:192,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util.h:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' min'
    - ' max'
    argTypes:
    - FuzzedDataProvider
    - arith_uint256
    - arith_uint256
    assertStmts:
    - condition: (min <= max)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/bitcoin-core/src/test/fuzz/util.h
    - condition: (result >= min && result <= max)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/bitcoin-core/src/test/fuzz/util.h
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: ConsumeArithUInt256InRange
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - ConsumeArithUInt256
    - assert
    - arith_uint256
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 ConsumeArithUInt256InRange(FuzzedDataProvider& fuzzed_data_provider,
      const arith_uint256& min, const arith_uint256& max) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/util.h:214,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/util.h:216,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/util.h:220,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/util.h:222,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/util.h:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: MultiplicationOverflow
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 3
    functionsReached:
    - RandomMixin::min
    - RandomMixin::max
    linkageType: ''
    returnType: bool
    signature: bool MultiplicationOverflow(const T i, const T j) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/util.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' errnos'
    argTypes:
    - FuzzedDataProvider
    - std::array<T, size>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: SetFuzzedErrNo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - PickValueInArray
    linkageType: ''
    returnType: void
    signature: void SetFuzzedErrNo(FuzzedDataProvider& fuzzed_data_provider, const
      std::array<T, size>& errnos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: SetFuzzedErrNo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: void SetFuzzedErrNo(FuzzedDataProvider& fuzzed_data_provider) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/util.h:259,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/fuzz/util.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - length
    argTypes:
    - FuzzedDataProvider
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: ConsumeFixedLengthByteVector
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 1
    functionsReached:
    - auto::resize
    - ConsumeBytes
    linkageType: ''
    returnType: std::vector<B>
    signature: std::vector<B> ConsumeFixedLengthByteVector(FuzzedDataProvider& fuzzed_data_provider,
      const size_t length) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: FuzzedFileProvider::FuzzedFileProvider
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzedFileProvider(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - consume
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: WRITE_TO_STREAM_CASE
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_TO_STREAM_CASE(type, consume)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: CallOneOf
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CallOneOf(\n                fuzzed_data_provider,\n                WRITE_TO_STREAM_CASE(bool,
      fuzzed_data_provider.ConsumeBool()),\n                WRITE_TO_STREAM_CASE(int8_t,
      fuzzed_data_provider.ConsumeIntegral<int8_t>()),\n                WRITE_TO_STREAM_CASE(uint8_t,
      fuzzed_data_provider.ConsumeIntegral<uint8_t>()),\n                WRITE_TO_STREAM_CASE(int16_t,
      fuzzed_data_provider.ConsumeIntegral<int16_t>()),\n                WRITE_TO_STREAM_CASE(uint16_t,
      fuzzed_data_provider.ConsumeIntegral<uint16_t>()),\n                WRITE_TO_STREAM_CASE(int32_t,
      fuzzed_data_provider.ConsumeIntegral<int32_t>()),\n                WRITE_TO_STREAM_CASE(uint32_t,
      fuzzed_data_provider.ConsumeIntegral<uint32_t>()),\n                WRITE_TO_STREAM_CASE(int64_t,
      fuzzed_data_provider.ConsumeIntegral<int64_t>()),\n                WRITE_TO_STREAM_CASE(uint64_t,
      fuzzed_data_provider.ConsumeIntegral<uint64_t>()),\n                WRITE_TO_STREAM_CASE(std::string,
      fuzzed_data_provider.ConsumeRandomLengthString(32)),\n                WRITE_TO_STREAM_CASE(std::vector<uint8_t>,
      ConsumeRandomLengthIntegralVector<uint8_t>(fuzzed_data_provider)));\n        }
      catch (const std::ios_base::failure&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: READ_FROM_STREAM_CASE
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_FROM_STREAM_CASE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 339
    functionName: CallOneOf
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CallOneOf(\n                fuzzed_data_provider,\n                READ_FROM_STREAM_CASE(bool),\n
      \               READ_FROM_STREAM_CASE(int8_t),\n                READ_FROM_STREAM_CASE(uint8_t),\n
      \               READ_FROM_STREAM_CASE(int16_t),\n                READ_FROM_STREAM_CASE(uint16_t),\n
      \               READ_FROM_STREAM_CASE(int32_t),\n                READ_FROM_STREAM_CASE(uint32_t),\n
      \               READ_FROM_STREAM_CASE(int64_t),\n                READ_FROM_STREAM_CASE(uint64_t),\n
      \               READ_FROM_STREAM_CASE(std::string),\n                READ_FROM_STREAM_CASE(std::vector<uint8_t>));\n
      \       } catch (const std::ios_base::failure&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/script_sign.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: initialize_script_sign
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_sign.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_script_sign()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:16,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:16,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:17,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:18,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:18,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:19,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:22,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:23,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:30,1
    - Dst: ConsumeOpcodeType
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:33,1
    - Dst: ConsumeScriptNum
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:36,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:39,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:42,1
    - Dst: GetSigOpCount
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:46,1
    - Dst: GetSigOpCount
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:47,1
    - Dst: GetSigOpCount
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:48,1
    - Dst: HasValidOps
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:49,1
    - Dst: IsPayToScriptHash
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:50,1
    - Dst: IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:51,1
    - Dst: IsPushOnly
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:52,1
    - Dst: IsUnspendable
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:53,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:55,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:57,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:59,1
    - Dst: IsPushOnly
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:60,1
    - Dst: IsWitnessProgram
      Src: /src/bitcoin-core/src/test/fuzz/script_ops.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 67
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_ops.cpp
    functionUses: 0
    functionsReached:
    - IsPayToWitnessScriptHash
    - FuzzedDataProvider::ConsumeIntegral
    - std::move
    - data
    - CScript::clear
    - CallOneOf
    - HasValidOps
    - LIMITED_WHILE
    - GetSigOpCount
    - FuzzedDataProvider::remaining_bytes
    - IsPayToScriptHash
    - IsWitnessProgram
    - ConsumeScript
    - ConsumeScriptNum
    - IsUnspendable
    - size
    - IsPushOnly
    - ConsumeRandomLengthByteVector
    - ConsumeOpcodeType
    - GetOp
    - begin
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(script_ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:15,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:15,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:17,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:18,1
    - Dst: Update
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp
    functionUses: 0
    functionsReached:
    - ConsumeFixedLengthByteVector
    - Update
    - size
    - data
    - ConsumeRandomLengthByteVector
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_poly1305)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:29,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:30,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:37,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:37,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:38,1
    - Dst: Update
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:39,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:41,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:41,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:41,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:41,1
    - Dst: Poly1305::Update
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:45,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:49,1
    - Dst: Poly1305::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tag_full == tag_split)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp
    constantsTouched: []
    func_position:
      end: 52
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 52
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_poly1305.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::remaining_bytes
    - Update
    - std::vector::end
    - auto::begin
    - FuzzedDataProvider::ConsumeBytes
    - auto::resize
    - size
    - Poly1305::Update
    - data
    - std::vector::insert
    - ConsumeRandomLengthByteVector
    - Finalize
    - LIMITED_WHILE
    - Poly1305::Finalize
    - auto::end
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_poly1305_split)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:26,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:27,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:27,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:30,1
    - Dst: DecodeRawPSBT
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:31,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:31,1
    - Dst: AnalyzePSBT
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:36,1
    - Dst: PSBTRoleName
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:37,1
    - Dst: PSBTRoleName
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:39,1
    - Dst: PartiallySignedTransaction::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:42,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:51,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:52,1
    - Dst: CountPSBTUnsignedInputs
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:54,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:57,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:60,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:61,1
    - Dst: PartiallySignedTransaction::GetInputUTXO
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:62,1
    - Dst: CTxOut::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:63,1
    - Dst: CTxOut::ToString
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:64,1
    - Dst: FinalizePSBT
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:69,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:72,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:73,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:77,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:78,1
    - Dst: DecodeRawPSBT
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:79,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:79,1
    - Dst: PartiallySignedTransaction::Merge
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:83,1
    - Dst: CombinePSBTs
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:85,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:87,1
    - Dst: PartiallySignedTransaction::AddInput
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:88,1
    - Dst: PartiallySignedTransaction::tx::vout::size
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:90,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:91,1
    - Dst: PartiallySignedTransaction::AddOutput
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:91,1
    - Dst: PartiallySignedTransaction::unknown::insert
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:93,1
    - Dst: PartiallySignedTransaction::unknown::begin
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:93,1
    - Dst: PartiallySignedTransaction::unknown::end
      Src: /src/bitcoin-core/src/test/fuzz/psbt.cpp:93,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 94
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/psbt.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - PartiallySignedTransaction::tx::vin::size
    - PartiallySignedTransaction::unknown::begin
    - CombinePSBTs
    - data
    - PartiallySignedTransaction::IsNull
    - PSBTInputSigned
    - AnalyzePSBT
    - DecodeRawPSBT
    - CTxOut::IsNull
    - FinalizePSBT
    - SeedRandomStateForTest
    - PartiallySignedTransaction::AddOutput
    - PSBTRoleName
    - PartiallySignedTransaction::unknown::insert
    - PartiallySignedTransaction::Merge
    - CMutableTransaction::CMutableTransaction
    - PartiallySignedTransaction::unknown::end
    - CountPSBTUnsignedInputs
    - Assert
    - MakeByteSpan
    - IsNull
    - CTxOut::ToString
    - FinalizeAndExtractPSBT
    - FuzzedDataProvider::ConsumeRandomLengthString
    - size
    - PartiallySignedTransaction::tx::vout::size
    - PartiallySignedTransaction::AddInput
    - PartiallySignedTransaction::GetInputUTXO
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(psbt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:21,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:21,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:24,1
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:26,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:27,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:31,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:32,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:35,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:37,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:37,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:39,1
    - Dst: std::optional::read
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:44,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:44,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:44,1
    - Dst: std::optional::SetLimit
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:49,1
    - Dst: std::optional::SetPos
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:52,1
    - Dst: std::optional::FindByte
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:62,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:62,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:62,1
    - Dst: ReadFromStream
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:67,1
    - Dst: std::optional::GetPos
      Src: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 72
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/buffered_file.cpp
    functionUses: 0
    functionsReached:
    - std::optional::SetLimit
    - AutoFile::IsNull
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - std::byte
    - std::optional::SetPos
    - CallOneOf
    - std::array::data
    - std::optional::read
    - LIMITED_WHILE
    - first
    - std::optional::FindByte
    - std::optional::GetPos
    - ConsumeFixedLengthByteVector
    - std::optional::emplace
    - ReadFromStream
    - size
    - FuzzedFileProvider::open
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(buffered_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:16,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:16,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:17,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:18,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:19,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:21,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:21,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:22,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:22,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:24,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:25,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:26,1
    - Dst: AES256CBCEncrypt::Encrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:27,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:27,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:27,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:27,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:28,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:29,1
    - Dst: AES256CBCDecrypt::Decrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:30,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:30,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:30,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:30,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:31,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:32,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (decrypted_plaintext == plaintext || (!pad && plaintext.size() %
        AES_BLOCKSIZE != 0 && encrypt_ret == 0 && decrypt_ret == 0))
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp
    constantsTouched: []
    func_position:
      end: 34
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 34
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_aes256cbc.cpp
    functionUses: 0
    functionsReached:
    - ConsumeFixedLengthByteVector
    - std::vector::resize
    - std::vector::data
    - FuzzedDataProvider::ConsumeBool
    - size
    - AES256CBCEncrypt::Encrypt
    - data
    - ConsumeRandomLengthByteVector
    - LIMITED_WHILE
    - AES256CBCDecrypt::Decrypt
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_aes256cbc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:16,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:16,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:17,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:25,1
    - Dst: std::optional::ConstructBlockHash
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:26,1
    - Dst: std::optional::GetBlockPos
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:27,1
    - Dst: std::optional::GetBlockTime
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:28,1
    - Dst: std::optional::GetBlockTimeMax
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:29,1
    - Dst: std::optional::GetMedianTimePast
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:30,1
    - Dst: std::optional::GetUndoPos
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:31,1
    - Dst: std::optional::HaveNumChainTxs
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:32,1
    - Dst: std::optional::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:33,1
    - Dst: std::optional::GetBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:36,1
    - Dst: std::optional::BuildSkip
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:38,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:40,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:40,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:41,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:60,1
    - Dst: std::optional::RaiseValidity
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:60,1
    - Dst: CBlockIndex::GetBlockHash
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:65,1
    - Dst: CBlockIndex::ToString
      Src: /src/bitcoin-core/src/test/fuzz/chain.cpp:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 67
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/chain.cpp
    functionUses: 0
    functionsReached:
    - std::optional::GetBlockPos
    - FuzzedDataProvider::ConsumeBool
    - data
    - std::optional::GetBlockTimeMax
    - std::optional::GetBlockHeader
    - FuzzedDataProvider::PickValueInArray
    - std::optional::GetUndoPos
    - std::optional::IsValid
    - std::optional::ConstructBlockHash
    - LIMITED_WHILE
    - CBlockIndex::GetBlockHash
    - ConsumeDeserializable
    - std::optional::GetMedianTimePast
    - WITH_LOCK
    - std::optional::BuildSkip
    - std::optional::GetBlockTime
    - std::optional::HaveNumChainTxs
    - CBlockIndex::ToString
    - size
    - LOCK
    - std::optional::RaiseValidity
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/transaction.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: initialize_transaction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/transaction.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_transaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp:16,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp:16,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp:18,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytesAsString
      Src: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp:19,1
    - Dst: FormatISO8601DateTime
      Src: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp:21,1
    - Dst: FormatISO8601Date
      Src: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp:22,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp:23,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp:24,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parsed_time_1 == random_time)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp
    constantsTouched: []
    func_position:
      end: 27
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 27
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/parse_iso8601.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    - FormatISO8601Date
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - data
    - FormatISO8601DateTime
    - ParseISO8601DateTime
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(parse_iso8601)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:19,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:30,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:31,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:34,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:34,1
    - Dst: SanityCheckASMap
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:35,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:35,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:38,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:38,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:38,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:38,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:39,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:41,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:43,1
    - Dst: SanityCheckASMap
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:43,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:43,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:46,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:46,1
    - Dst: Interpret
      Src: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp:47,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!SanityCheckASMap(asmap_prefix, buffer.size() - 1 - sep_pos))
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp
    constantsTouched: []
    func_position:
      end: 49
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 49
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/asmap_direct.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::back
    - size
    - std::optional::value
    - Interpret
    - std::vector::pop_back
    - std::vector::empty
    - SanityCheckASMap
    - assert
    - std::vector::size
    - begin
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(asmap_direct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ApplyArgsManOptions
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:33,1
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:44,1
    - Dst: banman::get
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:45,1
    - Dst: peerman::get
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:49,1
    - Dst: connman::Init
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - chain_type
    - opts
    argTypes:
    - ChainType
    - TestOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: HeadersSyncSetup::HeadersSyncSetup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - banman::get
    - connman::Init
    - peerman::get
    - node::ApplyArgsManOptions
    - PeerManager::make
    linkageType: ''
    returnType: void
    signature: void HeadersSyncSetup(const ChainType chain_type, TestOpts opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:60,1
    - Dst: static_cast<ConnmanTestMsg&>
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:61,1
    - Dst: StopNodes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:62,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:73,1
    - Dst: CNode::CNode
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:73,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:74,1
    - Dst: Handshake
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:76,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:79,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:80,1
    - Dst: AddTestNode
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 86
    functionName: HeadersSyncSetup::ResetAndInitialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - AddTestNode
    - push_back
    - back
    - Handshake
    - clear
    - CNode::CNode
    - ServiceFlags
    - StopNodes
    - static_cast<ConnmanTestMsg&>
    linkageType: ''
    returnType: void
    signature: void HeadersSyncSetup::ResetAndInitialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnmanTestMsg&>
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:90,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:91,1
    - Dst: FlushSendBuffer
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:93,1
    - Dst: ReceiveMsgFrom
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:94,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:94,1
    - Dst: ProcessMessagesOnce
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:97,1
    - Dst: peerman::SendMessages
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' msg'
    argTypes:
    - FuzzedDataProvider
    - CSerializedNetMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: HeadersSyncSetup::SendMessage
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - ReceiveMsgFrom
    - FlushSendBuffer
    - std::move
    - ProcessMessagesOnce
    - peerman::SendMessages
    - PickValue
    - static_cast<ConnmanTestMsg&>
    linkageType: ''
    returnType: void
    signature: void HeadersSyncSetup::SendMessage(FuzzedDataProvider& fuzzed_data_provider,
      CSerializedNetMsg&& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:105,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:116,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:119,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:120,1
    - Dst: ConsumeArithUInt256InRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:121,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:122,1
    - Dst: ConsumeTime
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:124,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' prev_hash'
    - prev_nbits
    argTypes:
    - FuzzedDataProvider
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: ConsumeHeader
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - ConsumeArithUInt256InRange
    - UintToArith256
    - ConsumeTime
    - CBlockHeader::CBlockHeader
    - arith_uint256::GetCompact
    - ConsumeIntegral
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader ConsumeHeader(FuzzedDataProvider& fuzzed_data_provider,
      const uint256& prev_hash, uint32_t prev_nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeHeader
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:132,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:136,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:137,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:138,1
    - Dst: scriptSig::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:140,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:141,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:141,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' prev_hash'
    - prev_nbits
    argTypes:
    - FuzzedDataProvider
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: ConsumeBlock
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - CBlock::vtx::push_back
    - CMutableTransaction::vout::resize
    - scriptSig::resize
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - ConsumeHeader
    - GetHash
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: CBlock
    signature: CBlock ConsumeBlock(FuzzedDataProvider& fuzzed_data_provider, const
      uint256& prev_hash, uint32_t prev_nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:148,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:148,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' header'
    - ' chainman'
    argTypes:
    - CBlockHeader
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: FinalizeHeader
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - GetParams
    - GetHash
    linkageType: ''
    returnType: void
    signature: void FinalizeHeader(CBlockHeader& header, const ChainstateManager&
      chainman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:160,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 32
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ApplyArgsManOptions
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:33,1
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:44,1
    - Dst: banman::get
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:45,1
    - Dst: peerman::get
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:49,1
    - Dst: connman::Init
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - chain_type
    - opts
    argTypes:
    - ChainType
    - TestOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: HeadersSyncSetup::HeadersSyncSetup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - banman::get
    - connman::Init
    - peerman::get
    - node::ApplyArgsManOptions
    - PeerManager::make
    linkageType: ''
    returnType: void
    signature: void HeadersSyncSetup(const ChainType chain_type, TestOpts opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:60,1
    - Dst: static_cast<ConnmanTestMsg&>
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:61,1
    - Dst: StopNodes
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:62,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:73,1
    - Dst: CNode::CNode
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:73,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:74,1
    - Dst: Handshake
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:76,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:79,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:80,1
    - Dst: AddTestNode
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 86
    functionName: HeadersSyncSetup::ResetAndInitialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - AddTestNode
    - push_back
    - back
    - Handshake
    - clear
    - CNode::CNode
    - ServiceFlags
    - StopNodes
    - static_cast<ConnmanTestMsg&>
    linkageType: ''
    returnType: void
    signature: void HeadersSyncSetup::ResetAndInitialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnmanTestMsg&>
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:90,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:91,1
    - Dst: FlushSendBuffer
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:93,1
    - Dst: ReceiveMsgFrom
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:94,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:94,1
    - Dst: ProcessMessagesOnce
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:97,1
    - Dst: peerman::SendMessages
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' msg'
    argTypes:
    - FuzzedDataProvider
    - CSerializedNetMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: HeadersSyncSetup::SendMessage
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - ReceiveMsgFrom
    - FlushSendBuffer
    - std::move
    - ProcessMessagesOnce
    - peerman::SendMessages
    - PickValue
    - static_cast<ConnmanTestMsg&>
    linkageType: ''
    returnType: void
    signature: void HeadersSyncSetup::SendMessage(FuzzedDataProvider& fuzzed_data_provider,
      CSerializedNetMsg&& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:105,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:116,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:119,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:120,1
    - Dst: ConsumeArithUInt256InRange
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:121,1
    - Dst: arith_uint256::GetCompact
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:122,1
    - Dst: ConsumeTime
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:124,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' prev_hash'
    - prev_nbits
    argTypes:
    - FuzzedDataProvider
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: ConsumeHeader
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 1
    functionsReached:
    - ConsumeBool
    - ConsumeArithUInt256InRange
    - UintToArith256
    - ConsumeTime
    - CBlockHeader::CBlockHeader
    - arith_uint256::GetCompact
    - ConsumeIntegral
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader ConsumeHeader(FuzzedDataProvider& fuzzed_data_provider,
      const uint256& prev_hash, uint32_t prev_nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeHeader
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:132,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:136,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:137,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:138,1
    - Dst: scriptSig::resize
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:140,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:141,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:141,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' prev_hash'
    - prev_nbits
    argTypes:
    - FuzzedDataProvider
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: ConsumeBlock
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - CBlock::vtx::push_back
    - CMutableTransaction::vout::resize
    - scriptSig::resize
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - ConsumeHeader
    - GetHash
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: CBlock
    signature: CBlock ConsumeBlock(FuzzedDataProvider& fuzzed_data_provider, const
      uint256& prev_hash, uint32_t prev_nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:148,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:148,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' header'
    - ' chainman'
    argTypes:
    - CBlockHeader
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: FinalizeHeader
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - GetParams
    - GetHash
    linkageType: ''
    returnType: void
    signature: void FinalizeHeader(CBlockHeader& header, const ChainstateManager&
      chainman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:160,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/p2p_headers_presync.cpp
    functionUses: 32
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/headerssync.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: initialize_headers_sync_state_fuzz
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/headerssync.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_headers_sync_state_fuzz()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/headerssync.cpp:31,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/headerssync.cpp:31,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/headerssync.cpp:34,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/headerssync.cpp:34,1
    - Dst: CBlockHeader*::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/headerssync.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' genesis_header'
    - ' all_headers'
    - ' new_headers'
    argTypes:
    - CBlockHeader
    - std::vector<CBlockHeader>
    - std::vector<CBlockHeader>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: MakeHeadersContinuous
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/headerssync.cpp
    functionUses: 0
    functionsReached:
    - CBlockHeader*::GetHash
    - empty
    - back
    - Assume
    linkageType: ''
    returnType: void
    signature: "void MakeHeadersContinuous(\n    const CBlockHeader& genesis_header,\n
      \   const std::vector<CBlockHeader>& all_headers,\n    std::vector<CBlockHeader>&
      new_headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/test/fuzz/headerssync.cpp:47,1
    - Dst: const_cast<unsigned&>
      Src: /src/bitcoin-core/src/test/fuzz/headerssync.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - commit_offset
    - chain_start
    - ' minimum_required_work'
    argTypes:
    - unsigned
    - CBlockIndex*
    - arith_uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: FuzzedHeadersSyncState::FuzzedHeadersSyncState
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/headerssync.cpp
    functionUses: 0
    functionsReached:
    - Params
    - const_cast<unsigned&>
    linkageType: ''
    returnType: void
    signature: void FuzzedHeadersSyncState(const unsigned commit_offset, const CBlockIndex*
      chain_start, const arith_uint256& minimum_required_work)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:14,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:14,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:15,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:17,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytes
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:18,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:23,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:26,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:26,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:29,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/test/fuzz/eval_script.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 31
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/eval_script.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::remaining_bytes
    - std::vector::end
    - BaseSignatureChecker
    - std::vector<uint8_t>
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - std::vector::begin
    - data
    - FuzzedDataProvider::ConsumeRemainingBytes
    - EvalScript
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(eval_script)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:29,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:31,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:35,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:38,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:44,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:44,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:44,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:45,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:45,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:46,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:48,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:48,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:49,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:49,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:49,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:51,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:55,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:56,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:57,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:57,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:58,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:66,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:67,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:68,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:72,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:73,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:78,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:79,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:80,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:81,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:82,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:82,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:87,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:88,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:89,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:90,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:90,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:95,1
    - Dst: VecDeque<T>
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:96,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:97,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:98,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:98,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:103,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:103,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:103,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:104,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:105,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:110,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:111,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:117,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:117,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:118,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:123,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:124,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:129,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:137,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:138,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:144,1
    - Dst: static_cast<VecDeque<T>&&>
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:155,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:160,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:161,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:162,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:163,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:164,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:164,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:165,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:165,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:165,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:170,1
    - Dst: shrink_to_fit
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:171,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:172,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:172,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:173,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:173,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:178,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:178,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:179,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:180,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:181,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:182,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:183,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:183,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:185,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:185,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:187,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:187,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:188,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:188,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:194,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:194,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:195,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:196,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:197,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:198,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:198,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:199,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:199,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:201,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:201,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:203,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:203,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:204,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:204,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:210,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:211,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:212,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:213,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:214,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:215,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:215,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:217,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:217,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:219,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:219,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:220,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:220,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:226,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:226,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:227,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:228,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:229,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:230,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:231,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:231,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:233,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:233,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:235,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:235,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:236,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:236,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:242,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:242,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:243,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:244,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:245,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:246,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:246,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:247,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:247,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:249,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:251,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:251,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:252,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:252,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:258,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:259,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:260,1
    - Dst: emplace_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:261,1
    - Dst: emplace_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:262,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:263,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:263,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:265,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:265,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:267,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:267,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:268,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:268,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:274,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:274,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:275,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:276,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:276,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:276,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:277,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:278,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:278,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:279,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:279,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:284,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:284,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:285,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:286,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:286,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:286,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:287,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:288,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:289,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:289,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:294,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:294,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:295,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:295,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:297,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:299,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:300,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:300,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:305,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:305,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:305,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:306,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:307,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:308,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:309,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:309,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:314,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:314,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:315,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:316,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:317,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:318,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:318,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:325,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:329,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:330,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:331,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:332,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:333,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:336,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:337,1
    - Dst: TrackedObj::CheckNoneExist
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:342,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 230
    argCount: 2
    argNames:
    - buffer
    - rng_tweak
    argTypes:
    - std::span<const uint8_t>
    - uint64_t
    assertStmts:
    - condition: (r.front() == s.front())
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (((realbuf <=> real[j]) <= 0) == (simbuf <= sim[j]))
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx].front() == real[idx].front())
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (((realbuf <=> real[j]) >= 0) == (simbuf >= sim[j]))
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (non_full || non_empty)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size - 1)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r.back() == s.back())
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: ((realbuf == real[j]) == (simbuf == sim[j]))
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size - 1)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx].back() == real[idx].back())
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == std::max(old_cap, res_size))
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_size)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].empty())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == new_size)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx][pos] == real[idx][pos])
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r.capacity() >= r.size())
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx].front() == real[idx].front())
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx].back() == real[idx].back())
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r.size() == s.size())
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r.empty() == s.empty())
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r[i] == s[i])
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 344
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 344
    functionName: TestType
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - std::vector::emplace_back
    - VecDeque<T>
    - FuzzedDataProvider::ConsumeIntegral
    - std::move
    - FuzzedDataProvider::ConsumeIntegralInRange
    - swap
    - shrink_to_fit
    - pop_back
    - static_cast<VecDeque<T>&&>
    - emplace_front
    - resize
    - std::span<const uint8_t>::size
    - capacity
    - pop_front
    - TrackedObj::CheckNoneExist
    - InsecureRandomContext::rand64
    - std::vector::back
    - std::span<const uint8_t>::data
    - back
    - push_front
    - std::vector::reserve
    - clear
    - LIMITED_WHILE
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - FuzzedDataProvider::remaining_bytes
    - empty
    - assert
    - compare_fn
    - T
    - push_back
    - size
    - std::max
    - emplace_back
    - front
    linkageType: ''
    returnType: void
    signature: void TestType(std::span<const uint8_t> buffer, uint64_t rng_tweak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:372,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_track_entry[i] == it)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: TrackedObj::Check
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - assert
    - find
    linkageType: ''
    returnType: void
    signature: void Check() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:381,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (inserted)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: TrackedObj::Register
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - assert
    - emplace
    linkageType: ''
    returnType: void
    signature: void Register()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Check
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:390,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:391,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:391,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:392,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_track_entry[0] != g_tracker.end())
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: TrackedObj::Deregister
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - end
    - assert
    - erase
    - TrackedObj::Check
    linkageType: ''
    returnType: void
    signature: void Deregister()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:401,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:402,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_track_entry[0] != g_tracker.end())
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: '& Deref()'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - end
    - assert
    - Check
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> & Deref()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:409,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:410,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_track_entry[0] != g_tracker.end())
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: '& Deref() const'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - end
    - assert
    - Check
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> & Deref() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deregister
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: ~TrackedObj()
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deregister
    linkageType: ''
    returnType: void
    signature: void ~TrackedObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Register
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: TrackedObj::TrackedObj
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - TrackedObj::Register
    linkageType: ''
    returnType: void
    signature: void TrackedObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Register
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:420,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: TrackedObj::TrackedObj
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    - TrackedObj::Register
    linkageType: ''
    returnType: void
    signature: void TrackedObj(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Register
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:426,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:427,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: TrackedObj::TrackedObj
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    - TrackedObj::Register
    linkageType: ''
    returnType: void
    signature: void TrackedObj(const TrackedObj& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Register
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:432,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:433,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:433,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: TrackedObj::TrackedObj
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    - TrackedObj::Register
    linkageType: ''
    returnType: void
    signature: void TrackedObj(TrackedObj&& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:440,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: '& operator=(const TrackedObj& other)'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    linkageType: ''
    returnType: TrackedObj
    signature: TrackedObj & operator=(const TrackedObj& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:447,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:447,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: '& operator=(TrackedObj&& other)'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    linkageType: ''
    returnType: TrackedObj
    signature: TrackedObj & operator=(TrackedObj&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:454,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - TrackedObj
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: operator==(const TrackedObj& a, const TrackedObj& b)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    linkageType: ''
    returnType: bool
    signature: bool operator==(const TrackedObj& a, const TrackedObj& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:461,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:461,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:462,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:462,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:464,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - TrackedObj
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: operator<=>(const TrackedObj& a, const TrackedObj& b)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering operator<=>(const TrackedObj& a, const TrackedObj&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:469,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (g_tracker.empty())
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: TrackedObj::CheckNoneExist
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 1
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void CheckNoneExist()
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:29,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:31,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:35,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:38,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:44,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:44,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:44,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:45,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:45,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:46,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:48,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:48,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:49,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:49,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:49,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:51,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:55,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:56,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:57,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:57,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:58,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:66,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:67,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:68,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:72,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:73,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:78,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:79,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:80,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:81,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:82,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:82,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:87,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:88,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:89,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:90,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:90,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:95,1
    - Dst: VecDeque<T>
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:96,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:97,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:98,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:98,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:103,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:103,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:103,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:104,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:105,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:110,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:111,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:117,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:117,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:118,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:123,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:124,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:129,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:137,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:138,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:144,1
    - Dst: static_cast<VecDeque<T>&&>
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:155,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:160,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:161,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:162,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:163,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:164,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:164,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:165,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:165,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:165,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:170,1
    - Dst: shrink_to_fit
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:171,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:172,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:172,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:173,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:173,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:178,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:178,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:179,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:180,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:181,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:182,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:183,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:183,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:185,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:185,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:187,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:187,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:188,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:188,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:194,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:194,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:195,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:196,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:197,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:198,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:198,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:199,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:199,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:201,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:201,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:203,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:203,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:204,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:204,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:210,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:211,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:212,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:213,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:214,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:215,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:215,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:217,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:217,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:219,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:219,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:220,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:220,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:226,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:226,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:227,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:228,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:229,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:230,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:231,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:231,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:233,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:233,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:235,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:235,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:236,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:236,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:242,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:242,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:243,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:244,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:245,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:246,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:246,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:247,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:247,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:249,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:251,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:251,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:252,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:252,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:258,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:259,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:260,1
    - Dst: emplace_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:261,1
    - Dst: emplace_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:262,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:263,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:263,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:265,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:265,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:267,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:267,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:268,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:268,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:274,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:274,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:275,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:276,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:276,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:276,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:277,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:278,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:278,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:279,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:279,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:284,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:284,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:285,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:286,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:286,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:286,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:287,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:288,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:289,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:289,1
    - Dst: T
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:294,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:294,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:295,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:295,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:297,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:299,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:300,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:300,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:305,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:305,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:305,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:306,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:307,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:308,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:309,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:309,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:314,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:314,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:315,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:316,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:317,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:318,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:318,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:325,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:329,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:330,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:331,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:332,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:333,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:336,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:337,1
    - Dst: TrackedObj::CheckNoneExist
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:342,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 230
    argCount: 2
    argNames:
    - buffer
    - rng_tweak
    argTypes:
    - std::span<const uint8_t>
    - uint64_t
    assertStmts:
    - condition: (r.front() == s.front())
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (((realbuf <=> real[j]) <= 0) == (simbuf <= sim[j]))
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx].front() == real[idx].front())
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (((realbuf <=> real[j]) >= 0) == (simbuf >= sim[j]))
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (non_full || non_empty)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size - 1)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r.back() == s.back())
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: ((realbuf == real[j]) == (simbuf == sim[j]))
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size - 1)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx].back() == real[idx].back())
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == std::max(old_cap, res_size))
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_size)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].empty())
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == new_size)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx][pos] == real[idx][pos])
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r.capacity() >= r.size())
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx].front() == real[idx].front())
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() == old_cap)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (sim[idx].back() == real[idx].back())
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() <= 2 * (old_cap + 1))
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r.size() == s.size())
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r.empty() == s.empty())
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (r[i] == s[i])
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].size() == old_size + 1)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    - condition: (real[idx].capacity() > old_cap)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 344
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 344
    functionName: TestType
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - std::vector::emplace_back
    - VecDeque<T>
    - FuzzedDataProvider::ConsumeIntegral
    - std::move
    - FuzzedDataProvider::ConsumeIntegralInRange
    - swap
    - shrink_to_fit
    - pop_back
    - static_cast<VecDeque<T>&&>
    - emplace_front
    - resize
    - std::span<const uint8_t>::size
    - capacity
    - pop_front
    - TrackedObj::CheckNoneExist
    - InsecureRandomContext::rand64
    - std::vector::back
    - std::span<const uint8_t>::data
    - back
    - push_front
    - std::vector::reserve
    - clear
    - LIMITED_WHILE
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - FuzzedDataProvider::remaining_bytes
    - empty
    - assert
    - compare_fn
    - T
    - push_back
    - size
    - std::max
    - emplace_back
    - front
    linkageType: ''
    returnType: void
    signature: void TestType(std::span<const uint8_t> buffer, uint64_t rng_tweak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:372,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_track_entry[i] == it)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: TrackedObj::Check
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 1
    functionsReached:
    - assert
    - find
    linkageType: ''
    returnType: void
    signature: void Check() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:381,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (inserted)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: TrackedObj::Register
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 4
    functionsReached:
    - assert
    - emplace
    linkageType: ''
    returnType: void
    signature: void Register()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Check
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:390,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:391,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:391,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:392,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_track_entry[0] != g_tracker.end())
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: TrackedObj::Deregister
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - end
    - assert
    - erase
    - TrackedObj::Check
    linkageType: ''
    returnType: void
    signature: void Deregister()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:401,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:402,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_track_entry[0] != g_tracker.end())
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: '& Deref()'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - end
    - assert
    - Check
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> & Deref()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:409,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:410,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_track_entry[0] != g_tracker.end())
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: '& Deref() const'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - end
    - assert
    - Check
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> & Deref() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deregister
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: ~TrackedObj()
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deregister
    linkageType: ''
    returnType: void
    signature: void ~TrackedObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Register
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: TrackedObj::TrackedObj
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - TrackedObj::Register
    linkageType: ''
    returnType: void
    signature: void TrackedObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Register
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:420,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: TrackedObj::TrackedObj
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    - TrackedObj::Register
    linkageType: ''
    returnType: void
    signature: void TrackedObj(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Register
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:426,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:427,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: TrackedObj::TrackedObj
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    - TrackedObj::Register
    linkageType: ''
    returnType: void
    signature: void TrackedObj(const TrackedObj& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackedObj::Register
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:432,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:433,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:433,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: TrackedObj::TrackedObj
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    - TrackedObj::Register
    linkageType: ''
    returnType: void
    signature: void TrackedObj(TrackedObj&& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:440,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: '& operator=(const TrackedObj& other)'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    linkageType: ''
    returnType: TrackedObj
    signature: TrackedObj & operator=(const TrackedObj& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:447,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:447,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: '& operator=(TrackedObj&& other)'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    linkageType: ''
    returnType: TrackedObj
    signature: TrackedObj & operator=(TrackedObj&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:454,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - TrackedObj
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: operator==(const TrackedObj& a, const TrackedObj& b)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    linkageType: ''
    returnType: bool
    signature: bool operator==(const TrackedObj& a, const TrackedObj& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:461,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:461,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:462,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:462,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:464,1
    - Dst: Deref
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - TrackedObj
    - TrackedObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: operator<=>(const TrackedObj& a, const TrackedObj& b)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - Deref
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering operator<=>(const TrackedObj& a, const TrackedObj&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:469,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (g_tracker.empty())
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: TrackedObj::CheckNoneExist
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 2
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void CheckNoneExist()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:480,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:481,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:482,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:483,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:488,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:489,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 491
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/vecdeque.cpp
    functionUses: 0
    functionsReached:
    - TestType
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(vecdeque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:60,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:63,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:66,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:68,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' outpoints'
    - num_outputs
    - add_witness
    argTypes:
    - std::vector<COutPoint>
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: MakeTransactionSpending
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 6
    functionsReached:
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - scriptWitness::stack::push_back
    - CMutableTransaction::vin::emplace_back
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef MakeTransactionSpending(const std::vector<COutPoint>&
      outpoints, size_t num_outputs, bool add_witness)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:74,1
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:74,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:75,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:76,1
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: PickCoins
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - LIMITED_WHILE
    - PickValueInArray
    - ConsumeBool
    linkageType: ''
    returnType: std::vector<COutPoint>
    signature: std::vector<COutPoint> PickCoins(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:83,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:84,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:86,1
    - Dst: HashWriter
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:86,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:86,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:91,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:92,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:93,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:93,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:93,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:94,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:95,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:100,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:101,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:102,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:103,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:104,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:104,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:104,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:104,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:109,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:110,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:111,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:111,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:111,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:113,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:113,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:113,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:120,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:121,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:122,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:129,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:130,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:131,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:137,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:137,1
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 153
    functionName: initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 32
    functionsReached:
    - MakeNoLogFileContext
    - HashWriter
    - auto::GetHash
    - GetHash
    - CSipHasher
    - transaction_identifier::FromUint256
    - Assert
    - emplace_back
    - auto::get
    - MakeTransactionSpending
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:157,1
    - Dst: m_senders::size
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:157,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:158,1
    - Dst: m_senders::front
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:158,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:159,1
    - Dst: m_senders::back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:159,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:163,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:163,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:164,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' package_to_validate'
    - peer
    argTypes:
    - node::PackageToValidate
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: CheckPackageToValidate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 0
    functionsReached:
    - m_senders::front
    - IsChildWithParents
    - size
    - Assert
    - m_senders::size
    - m_senders::back
    linkageType: ''
    returnType: void
    signature: void CheckPackageToValidate(const node::PackageToValidate& package_to_validate,
      NodeId peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: HasRelayPermissions
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasRelayPermissions(NodeId peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_orphanage::SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:282,1
    - Dst: HasRelayPermissions
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:285,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:286,1
    - Dst: m_txrequest::Count
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:286,1
    - Dst: m_txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' txdownload_impl'
    argTypes:
    - node::TxDownloadManagerImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: CheckInvariants
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 0
    functionsReached:
    - m_orphanage::SanityCheck
    - m_txrequest::SanityCheck
    - HasRelayPermissions
    - m_txrequest::Count
    - Assert
    linkageType: ''
    returnType: void
    signature: void CheckInvariants(const node::TxDownloadManagerImpl& txdownload_impl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:60,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:63,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:66,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:68,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' outpoints'
    - num_outputs
    - add_witness
    argTypes:
    - std::vector<COutPoint>
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: MakeTransactionSpending
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 7
    functionsReached:
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - scriptWitness::stack::push_back
    - CMutableTransaction::vin::emplace_back
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef MakeTransactionSpending(const std::vector<COutPoint>&
      outpoints, size_t num_outputs, bool add_witness)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:74,1
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:74,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:75,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:76,1
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: PickCoins
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - LIMITED_WHILE
    - PickValueInArray
    - ConsumeBool
    linkageType: ''
    returnType: std::vector<COutPoint>
    signature: std::vector<COutPoint> PickCoins(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:83,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:84,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:86,1
    - Dst: HashWriter
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:86,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:86,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:91,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:92,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:93,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:93,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:93,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:94,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:95,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:100,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:101,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:102,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:103,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:104,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:104,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:104,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:104,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:109,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:110,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:111,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:111,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:111,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:113,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:113,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:113,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:120,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:121,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:122,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:129,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:130,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:131,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:137,1
    - Dst: MakeTransactionSpending
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:137,1
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 153
    functionName: initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 32
    functionsReached:
    - MakeNoLogFileContext
    - HashWriter
    - auto::GetHash
    - GetHash
    - CSipHasher
    - transaction_identifier::FromUint256
    - Assert
    - emplace_back
    - auto::get
    - MakeTransactionSpending
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:157,1
    - Dst: m_senders::size
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:157,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:158,1
    - Dst: m_senders::front
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:158,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:159,1
    - Dst: m_senders::back
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:159,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:163,1
    - Dst: IsChildWithParents
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:163,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:164,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' package_to_validate'
    - peer
    argTypes:
    - node::PackageToValidate
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: CheckPackageToValidate
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 0
    functionsReached:
    - m_senders::front
    - IsChildWithParents
    - size
    - Assert
    - m_senders::size
    - m_senders::back
    linkageType: ''
    returnType: void
    signature: void CheckPackageToValidate(const node::PackageToValidate& package_to_validate,
      NodeId peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: HasRelayPermissions
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasRelayPermissions(NodeId peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_orphanage::SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:282,1
    - Dst: HasRelayPermissions
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:285,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:286,1
    - Dst: m_txrequest::Count
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:286,1
    - Dst: m_txrequest::SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' txdownload_impl'
    argTypes:
    - node::TxDownloadManagerImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: CheckInvariants
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txdownloadman.cpp
    functionUses: 0
    functionsReached:
    - m_orphanage::SanityCheck
    - m_txrequest::SanityCheck
    - HasRelayPermissions
    - m_txrequest::Count
    - Assert
    linkageType: ''
    returnType: void
    signature: void CheckInvariants(const node::TxDownloadManagerImpl& txdownload_impl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:17,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:18,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:19,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:21,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:26,1
    - Dst: ConsumeNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:26,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:34,1
    - Dst: IsInternal
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:36,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:36,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:39,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:40,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:41,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:41,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:47,1
    - Dst: IsInternal
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:49,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:49,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:52,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:54,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:54,1
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:59,1
    - Dst: CService::IsInternal
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:59,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!resolved_service.IsInternal())
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp
    - condition: (!resolved_address.IsInternal())
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp
    - condition: (resolved_addresses.size() <= max_results || max_results == 0)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp
    - condition: (!resolved_address.value().IsInternal())
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp
    - condition: (!resolved_service.IsInternal())
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp
    - condition: (resolved_services.size() <= max_results || max_results == 0)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp
    - condition: (!resolved_service.value().IsInternal())
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp
    constantsTouched: []
    func_position:
      end: 64
      start: 15
    functionDepth: 5
    functionLinenumber: 15
    functionLinenumberEnd: 64
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/netbase_dns_lookup.cpp
    functionUses: 0
    functionsReached:
    - LookupNumeric
    - CService::IsInternal
    - FuzzedDataProvider::ConsumeRandomLengthString
    - ConsumeNetAddr
    - LookupHost
    - std::optional::has_value
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeBool
    - size
    - LookupSubNet
    - data
    - std::vector::push_back
    - std::optional::value
    - LIMITED_WHILE
    - IsInternal
    - Lookup
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(netbase_dns_lookup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:23,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:23,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:24,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:26,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:26,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:26,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:27,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:29,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:29,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:31,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:32,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:33,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:33,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:34,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:35,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:35,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:37,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:38,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:39,1
    - Dst: auto::length
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:39,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:40,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:40,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:41,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:41,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:42,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:43,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:43,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:44,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:44,1
    - Dst: HexToPubKey
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:47,1
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:50,1
    - Dst: DecodeHexBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:51,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:52,1
    - Dst: DecodeHexBlk
      Src: /src/bitcoin-core/src/test/fuzz/hex.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Wtxid::FromHex(random_hex_string))
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (random_hex_string.length() == 64)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (Txid::FromHex(random_hex_string))
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (ToLower(random_hex_string) == hex_data)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (IsHex(result_string))
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (std::ranges::equal(std::as_bytes(std::span{data}), bytes))
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (uint256::FromUserHex(random_hex_string))
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (result_string.length() == 64)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (TryParseHex(result_string))
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (Txid::FromHex(result_string))
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (Wtxid::FromHex(result_string))
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    - condition: (uint256::FromHex(result_string))
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bitcoin-core/src/test/fuzz/hex.cpp
    constantsTouched: []
    func_position:
      end: 54
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 54
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/hex.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - DecodeHexBlk
    - ToLower
    - CBlock::CBlock
    - HexToPubKey
    - all_bytes_equal
    - std::string::length
    - CBlockHeader::CBlockHeader
    - uint256::FromHex
    - ParseHex
    - detail::FromHex
    - auto::length
    - TryParseHex
    - std::as_bytes
    - assert
    - uint256::FromUserHex
    - end
    - IsHex
    - HexStr
    - begin
    - DecodeHexBlockHeader
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(hex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/flatfile.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/flatfile.cpp:18,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/flatfile.cpp:19,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/flatfile.cpp:23,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/flatfile.cpp:25,1
    - Dst: std::optional::ToString
      Src: /src/bitcoin-core/src/test/fuzz/flatfile.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((*flat_file_pos == *another_flat_file_pos) != (*flat_file_pos !=
        *another_flat_file_pos))
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bitcoin-core/src/test/fuzz/flatfile.cpp
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/flatfile.cpp
    functionUses: 0
    functionsReached:
    - ConsumeDeserializable
    - std::optional::ToString
    - size
    - data
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(flatfile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:35,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:39,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:41,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:41,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:44,1
    - Dst: SanityCheckASMap
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:47,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:49,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:52,1
    - Dst: CNetAddr::SetLegacyIPv6
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:55,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:57,1
    - Dst: CNetAddr::SetIP
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:58,1
    - Dst: NetGroupManager::GetMappedAS
      Src: /src/bitcoin-core/src/test/fuzz/asmap.cpp:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (addr_size == ADDR_IPV6_SIZE)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/test/fuzz/asmap.cpp
    - condition: (addr_size == ADDR_IPV4_SIZE)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/test/fuzz/asmap.cpp
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/asmap.cpp
    functionUses: 0
    functionsReached:
    - CNetAddr::SetLegacyIPv6
    - NetGroupManager::GetMappedAS
    - CNetAddr::CNetAddr
    - std::vector::reserve
    - size
    - std::vector::push_back
    - data
    - memcpy
    - CNetAddr::SetIP
    - SanityCheckASMap
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(asmap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:27,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:28,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: Abs256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - RandomMixin::min
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 Abs256(int64_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:42,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:42,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:45,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::pair<int64_t, uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: Abs256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    functionUses: 1
    functionsReached:
    - Abs256
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 Abs256(std::pair<int64_t, uint32_t> x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:57,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:57,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:57,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - a1
    - a2
    - b1
    - b2
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: MulCompare
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    functionUses: 0
    functionsReached:
    - Abs256
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering MulCompare(int64_t a1, int64_t a2, int64_t b1,
      int64_t b2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:27,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:28,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: Abs256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint64_t>
    - RandomMixin::min
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 Abs256(int64_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:42,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:42,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:45,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::pair<int64_t, uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: Abs256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    functionUses: 3
    functionsReached:
    - Abs256
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 Abs256(std::pair<int64_t, uint32_t> x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:57,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:57,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:57,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - a1
    - a2
    - b1
    - b2
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: MulCompare
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    functionUses: 0
    functionsReached:
    - Abs256
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering MulCompare(int64_t a1, int64_t a2, int64_t b1,
      int64_t b2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:71,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:71,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:73,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:74,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:77,1
    - Dst: FeeFrac::IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:77,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:79,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:80,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:83,1
    - Dst: FeeFrac::IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:83,1
    - Dst: MulCompare
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:86,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:87,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:88,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:88,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:89,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:89,1
    - Dst: GFMul
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:92,1
    - Dst: GFMul
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:92,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:93,1
    - Dst: MulFallback
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:96,1
    - Dst: MulFallback
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:96,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:97,1
    - Dst: std::is_eq
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:100,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:101,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:102,1
    - Dst: std::is_lt
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:102,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:103,1
    - Dst: std::is_gt
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:103,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:104,1
    - Dst: std::is_lteq
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:104,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:105,1
    - Dst: std::is_gteq
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:105,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:106,1
    - Dst: std::is_eq
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:106,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:107,1
    - Dst: std::is_neq
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fr2.IsEmpty() == (s2 == 0))
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: ((fr1 <=> fr2) == cmp_total)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: ((fr1 > fr2) == std::is_gt(cmp_total))
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: ((fr1 >= fr2) == std::is_gteq(cmp_total))
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: ((fr1 != fr2) == std::is_neq(cmp_total))
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: ((fr1 >> fr2) == std::is_gt(cmp_feerate))
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (cmp_fallback == cmp_feerate)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (fr1.IsEmpty() == (s1 == 0))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (cmp_mul == cmp_feerate)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: ((fr1 < fr2) == std::is_lt(cmp_total))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: ((fr1 <= fr2) == std::is_lteq(cmp_total))
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: ((fr1 == fr2) == std::is_eq(cmp_total))
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (FeeRateCompare(fr1, fr2) == cmp_feerate)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: ((fr1 << fr2) == std::is_lt(cmp_feerate))
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    functionUses: 0
    functionsReached:
    - std::is_lt
    - std::is_gteq
    - MulFallback
    - MulCompare
    - std::is_eq
    - FeeRateCompare
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - data
    - FeeFrac::IsEmpty
    - std::is_gt
    - std::is_lteq
    - std::is_neq
    - assert
    - GFMul
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(feefrac)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:115,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:116,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:117,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:119,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:119,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:120,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:127,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:128,1
    - Dst: DivFallback
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:139,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:140,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:141,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:141,1
    - Dst: std::floor
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:144,1
    - Dst: std::ceil
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:145,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:148,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:150,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:153,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (res >= -1 && res <= 1)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res <= expect * 1.000000000000001L + 1.0L)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res >= expect * 0.999999999999999L - 1.0L)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res == 0 || (res < 0) == is_negative)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res >= expect * 1.000000000000001L - 1.0L)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (Abs256(res) == quot_abs)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res <= expect * 0.999999999999999L + 1.0L)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 156
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    functionUses: 0
    functionsReached:
    - Abs256
    - DivFallback
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeBool
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - assert
    - RandomMixin::max
    - std::floor
    - std::ceil
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(feefrac_div_fallback)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:167,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:167,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:168,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:169,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:170,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:170,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:171,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:178,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:178,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:188,1
    - Dst: MuHashDiv
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:193,1
    - Dst: GFMul
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:193,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:194,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:195,1
    - Dst: Abs256
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:195,1
    - Dst: DivFallback
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:198,1
    - Dst: MulFallback
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:198,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:199,1
    - Dst: std::floor
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:202,1
    - Dst: static_cast<long double>
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:202,1
    - Dst: std::ceil
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:203,1
    - Dst: static_cast<long double>
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:203,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:206,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:208,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:209,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:211,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:212,1
    - Dst: EvaluateFeeDown
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:218,1
    - Dst: EvaluateFeeUp
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:219,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:220,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:223,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:224,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:225,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:227,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:228,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:229,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/feefrac.cpp:230,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (res >= expect * 1.000000000000001L - 1.0L)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res <= expect * 0.999999999999999L + 1.0L)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (mul32 < 0 || mul32 > div)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (feerate_fee - res_fee >= -allowed_gap)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (Abs256(res) == quot_abs)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res == 0 || (res < 0) == is_negative)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res >= -1 && res <= 1)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res >= expect * 0.999999999999999L - 1.0L)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res == res_fallback)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res == res_fee)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (feerate_fee - res_fee <= allowed_gap)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    - condition: (res <= expect * 1.000000000000001L + 1.0L)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    constantsTouched: []
    func_position:
      end: 233
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 233
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/feefrac.cpp
    functionUses: 0
    functionsReached:
    - EvaluateFeeDown
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - std::floor
    - std::ceil
    - MuHashDiv
    - MulFallback
    - CFeeRate::GetFee
    - static_cast<long double>
    - static_cast<int64_t>
    - EvaluateFeeUp
    - RandomMixin::min
    - assert
    - RandomMixin::max
    - Abs256
    - DivFallback
    - size
    - GFMul
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(feefrac_mul_div)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/banman.cpp:27,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/banman.cpp:27,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/banman.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: ConsumeBanTimeOffset
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/banman.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - RandomMixin::min
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConsumeBanTimeOffset(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/banman.cpp:27,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/banman.cpp:27,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/banman.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: ConsumeBanTimeOffset
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/banman.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - RandomMixin::min
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConsumeBanTimeOffset(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/banman.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: initialize_banman
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/banman.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_banman()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - CBanEntry
    - CBanEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: operator==(const CBanEntry& lhs, const CBanEntry& rhs)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/banman.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CBanEntry& lhs, const CBanEntry& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/script_format.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: initialize_script_format
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_format.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_script_format()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/system.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: initialize_system
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/system.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_system()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/system.cpp:23,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/system.cpp:25,1
    - Dst: substr
      Src: /src/bitcoin-core/src/test/fuzz/system.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: GetArgumentName
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/system.cpp
    functionUses: 0
    functionsReached:
    - substr
    - find
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string GetArgumentName(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/system.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: initialize_system
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/system.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_system()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/system.cpp:23,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/system.cpp:25,1
    - Dst: substr
      Src: /src/bitcoin-core/src/test/fuzz/system.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: GetArgumentName
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/system.cpp
    functionUses: 0
    functionsReached:
    - substr
    - find
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string GetArgumentName(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:18,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:20,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:23,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:24,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:27,1
    - Dst: ChaCha20::SetKey
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:32,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:33,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:37,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:38,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:41,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:42,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:42,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 46
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    functionUses: 0
    functionsReached:
    - CallOneOf
    - ConsumeFixedLengthByteVector
    - ChaCha20::Keystream
    - ChaCha20::SetKey
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - ChaCha20::Crypt
    - MakeWritableByteSpan
    - LIMITED_WHILE
    - ChaCha20::Seek
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_chacha20)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:62,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:63,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:64,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:65,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:67,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:72,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:73,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:77,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:78,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:83,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:83,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:84,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:84,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:84,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:88,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:92,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:94,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:101,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:106,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:110,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:111,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:111,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:111,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:113,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:113,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:119,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts:
    - condition: (bytes2 == total_bytes)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    - condition: (data1 == data2)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    - condition: (data1 == data2)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    constantsTouched: []
    func_position:
      end: 122
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 122
    functionName: ChaCha20SplitFuzz
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - ConsumeFixedLengthByteVector
    - std::vector::end
    - std::vector::resize
    - ConsumeIntegralInRange
    - ChaCha20::Keystream
    - InsecureRandomContext
    - ConsumeBool
    - std::vector::begin
    - ChaCha20::Crypt
    - ChaCha20::Seek
    - assert
    - resize
    - begin
    - subspan
    - ConsumeIntegral
    linkageType: ''
    returnType: void
    signature: void ChaCha20SplitFuzz(FuzzedDataProvider& provider)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:62,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:63,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:64,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:65,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:67,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:72,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:73,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:77,1
    - Dst: resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:78,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:83,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:83,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:84,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:84,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:84,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:88,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:92,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:94,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:101,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:106,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:110,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:111,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:111,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:111,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:113,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:113,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:119,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts:
    - condition: (bytes2 == total_bytes)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    - condition: (data1 == data2)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    - condition: (data1 == data2)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    constantsTouched: []
    func_position:
      end: 122
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 122
    functionName: ChaCha20SplitFuzz
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - ConsumeFixedLengthByteVector
    - std::vector::end
    - std::vector::resize
    - ConsumeIntegralInRange
    - ChaCha20::Keystream
    - InsecureRandomContext
    - ConsumeBool
    - std::vector::begin
    - ChaCha20::Crypt
    - ChaCha20::Seek
    - assert
    - resize
    - begin
    - subspan
    - ConsumeIntegral
    linkageType: ''
    returnType: void
    signature: void ChaCha20SplitFuzz(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:128,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:128,1
    - Dst: ChaCha20SplitFuzz
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - ChaCha20SplitFuzz
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(chacha20_split_crypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:134,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:134,1
    - Dst: ChaCha20SplitFuzz
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - ChaCha20SplitFuzz
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(chacha20_split_keystream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:140,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:140,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:142,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:143,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:145,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:147,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:147,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:149,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:149,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:151,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:151,1
    - Dst: auto::Crypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_chacha20.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::vector::resize
    - FuzzedDataProvider::ConsumeBytes
    - auto::Crypt
    - auto::resize
    - FuzzedDataProvider::ConsumeBool
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - LIMITED_WHILE
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_fschacha20)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:18,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:19,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - FuzzBufferType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: ReadByte
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    functionUses: 0
    functionsReached:
    - front
    - empty
    - subspan
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ReadByte(FuzzBufferType& buffer)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FuzzBufferType::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:32,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:32,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:43,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:44,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:45,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:46,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:50,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:50,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:50,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:57,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:57,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:58,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:60,1
    - Dst: any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:60,1
    - Dst: Any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:60,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:61,1
    - Dst: none
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:61,1
    - Dst: None
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:61,1
    - Dst: any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:64,1
    - Dst: First
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:64,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:65,1
    - Dst: Last
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:65,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:68,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:68,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:68,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:71,1
    - Dst: FuzzBufferType::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:71,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:73,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:75,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:76,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:77,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:78,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:80,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:80,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:87,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:89,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:89,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:90,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:91,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:92,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:94,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:96,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:96,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:97,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:98,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:99,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:101,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:103,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:103,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:104,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:105,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:106,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:108,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:110,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:110,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:111,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:111,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:113,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:115,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:115,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:118,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:119,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:119,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:121,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:123,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:124,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:126,1
    - Dst: InsecureRandomContext::randbool
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:127,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:129,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:133,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:135,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:135,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:136,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:136,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:137,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:137,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:138,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:139,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:141,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:142,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:143,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:145,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:147,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:147,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:148,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:149,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:151,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:151,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:153,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:154,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:156,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:156,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:158,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:162,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:162,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:164,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:165,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:167,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:169,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:169,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:170,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:170,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:171,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:172,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:174,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:176,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:178,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:178,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:179,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:180,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:182,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:184,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:186,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:186,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:188,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:189,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:191,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:192,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:195,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:195,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:197,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:198,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:199,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:202,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:202,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:204,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:204,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:206,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:210,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:210,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:212,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:216,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:216,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:218,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:222,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:222,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:224,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:228,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:228,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:228,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:230,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:234,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:234,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:234,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:236,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:240,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:240,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:240,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:242,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:246,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:246,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:246,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:248,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:252,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:252,1
    - Dst: none
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:254,1
    - Dst: none
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:255,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:256,1
    - Dst: IsSupersetOf
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:256,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:257,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:257,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:258,1
    - Dst: IsSupersetOf
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:258,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:259,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:259,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:261,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:261,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:263,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:264,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:266,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:266,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:268,1
    - Dst: any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:268,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:268,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:269,1
    - Dst: any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:269,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:269,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:275,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:276,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 199
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - FuzzBufferType
    assertStmts:
    - condition: ((sim[src] == sim[aux]) == (real[src] == real[aux]))
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[idx][i] == real[idx][i])
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[idx].any() == real[idx].Any())
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (match == sim[src][i])
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (it_copy == real[src].end())
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: ((sim[src] & sim[aux]).any() == real[src].Overlaps(real[aux]))
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (real[src].IsSupersetOf(real[aux]) == is_superset)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (real[aux].IsSubsetOf(real[src]) == is_superset)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (match == real[idx][i])
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (real[aux].IsSupersetOf(real[src]) == is_subset)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (first == real[idx].First())
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[dest][val] == real[dest][val])
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (!(it != real[idx].end()))
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (last == real[idx].Last())
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (match == sim[src][i])
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[dest][val] == real[dest][val])
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: "((sim.empty() && dest == 0 && src == 0 && aux == 0) ||\n            (!sim.empty()
        &&  dest < sim.size() && src < sim.size() && aux < sim.size()))"
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: ((it == real[idx].end()) != (it != real[idx].end()))
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[idx].none() == real[idx].None())
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[idx].count() == real[idx].Count())
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: ((sim[src] != sim[aux]) == (real[src] != real[aux]))
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: ((sim[src] & sim[aux]).any() == real[aux].Overlaps(real[src]))
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[dest][val] == real[dest][val])
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (real[src].IsSubsetOf(real[aux]) == is_subset)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (it == real[idx].end())
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (it == real[src].end())
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    constantsTouched: []
    func_position:
      end: 278
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 278
    functionName: TestType
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    functionUses: 1
    functionsReached:
    - bitset_detail::IntBitSet::Singleton
    - std::vector::emplace_back
    - IsSubsetOf
    - Any
    - Last
    - std::vector::push_back
    - swap
    - none
    - CDBBatch::ApproximateSize
    - First
    - std::vector::back
    - InsecureRandomContext::randbool
    - Reset
    - Set
    - LIMITED_WHILE
    - Count
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - FuzzBufferType::size
    - InsecureRandomContext::randrange
    - None
    - BufferedFile::Fill
    - any
    - assert
    - compare_fn
    - count
    - IsSupersetOf
    - end
    - ReadByte
    - std::vector::resize
    - set
    - reset
    - Overlaps
    - begin
    linkageType: ''
    returnType: void
    signature: void TestType(FuzzBufferType buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:18,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:19,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - FuzzBufferType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: ReadByte
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    functionUses: 1
    functionsReached:
    - front
    - empty
    - subspan
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ReadByte(FuzzBufferType& buffer)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FuzzBufferType::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:32,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:32,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:43,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:44,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:45,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:46,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:50,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:50,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:50,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:57,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:57,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:58,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:60,1
    - Dst: any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:60,1
    - Dst: Any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:60,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:61,1
    - Dst: none
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:61,1
    - Dst: None
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:61,1
    - Dst: any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:64,1
    - Dst: First
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:64,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:65,1
    - Dst: Last
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:65,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:68,1
    - Dst: count
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:68,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:68,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:71,1
    - Dst: FuzzBufferType::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:71,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:73,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:75,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:76,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:77,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:78,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:80,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:80,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:87,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:89,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:89,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:90,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:91,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:92,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:94,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:96,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:96,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:97,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:98,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:99,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:101,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:103,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:103,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:104,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:105,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:106,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:108,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:110,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:110,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:111,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:111,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:113,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:115,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:115,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:118,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:119,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:119,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:121,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:123,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:124,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:126,1
    - Dst: InsecureRandomContext::randbool
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:127,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:129,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:133,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:135,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:135,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:136,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:136,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:137,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:137,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:138,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:139,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:141,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:142,1
    - Dst: set
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:143,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:145,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:147,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:147,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:148,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:149,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:151,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:151,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:153,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:154,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:156,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:156,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:158,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:162,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:162,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:164,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:165,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:167,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:169,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:169,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:170,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:170,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:171,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:172,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:174,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:176,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:178,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:178,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:179,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:180,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:182,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:184,1
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:186,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:186,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:188,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:189,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:191,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:192,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:195,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:195,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:197,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:198,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:199,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:202,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:202,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:204,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:204,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:206,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:210,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:210,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:212,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:216,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:216,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:218,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:222,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:222,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:224,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:228,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:228,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:228,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:230,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:234,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:234,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:234,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:236,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:240,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:240,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:240,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:242,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:246,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:246,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:246,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:248,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:252,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:252,1
    - Dst: none
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:254,1
    - Dst: none
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:255,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:256,1
    - Dst: IsSupersetOf
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:256,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:257,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:257,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:258,1
    - Dst: IsSupersetOf
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:258,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:259,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:259,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:261,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:261,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:263,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:264,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:266,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:266,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:268,1
    - Dst: any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:268,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:268,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:269,1
    - Dst: any
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:269,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:269,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:275,1
    - Dst: compare_fn
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:276,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 199
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - FuzzBufferType
    assertStmts:
    - condition: ((sim[src] == sim[aux]) == (real[src] == real[aux]))
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[idx][i] == real[idx][i])
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[idx].any() == real[idx].Any())
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (match == sim[src][i])
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (it_copy == real[src].end())
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: ((sim[src] & sim[aux]).any() == real[src].Overlaps(real[aux]))
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (real[src].IsSupersetOf(real[aux]) == is_superset)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (real[aux].IsSubsetOf(real[src]) == is_superset)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (match == real[idx][i])
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (real[aux].IsSupersetOf(real[src]) == is_subset)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (first == real[idx].First())
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[dest][val] == real[dest][val])
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (!(it != real[idx].end()))
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (last == real[idx].Last())
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (match == sim[src][i])
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[dest][val] == real[dest][val])
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: "((sim.empty() && dest == 0 && src == 0 && aux == 0) ||\n            (!sim.empty()
        &&  dest < sim.size() && src < sim.size() && aux < sim.size()))"
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: ((it == real[idx].end()) != (it != real[idx].end()))
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[idx].none() == real[idx].None())
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[idx].count() == real[idx].Count())
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: ((sim[src] != sim[aux]) == (real[src] != real[aux]))
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: ((sim[src] & sim[aux]).any() == real[aux].Overlaps(real[src]))
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (sim[dest][val] == real[dest][val])
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (real[src].IsSubsetOf(real[aux]) == is_subset)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (it == real[idx].end())
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    - condition: (it == real[src].end())
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    constantsTouched: []
    func_position:
      end: 278
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 278
    functionName: TestType
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    functionUses: 1
    functionsReached:
    - bitset_detail::IntBitSet::Singleton
    - std::vector::emplace_back
    - IsSubsetOf
    - Any
    - Last
    - std::vector::push_back
    - swap
    - none
    - CDBBatch::ApproximateSize
    - First
    - std::vector::back
    - InsecureRandomContext::randbool
    - Reset
    - Set
    - LIMITED_WHILE
    - Count
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - FuzzBufferType::size
    - InsecureRandomContext::randrange
    - None
    - BufferedFile::Fill
    - any
    - assert
    - compare_fn
    - count
    - IsSupersetOf
    - end
    - ReadByte
    - std::vector::resize
    - set
    - reset
    - Overlaps
    - begin
    linkageType: ''
    returnType: void
    signature: void TestType(FuzzBufferType buffer)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ReadByte
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:284,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:287,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:288,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:291,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:292,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:295,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:298,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:299,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:300,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:301,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:304,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:307,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:308,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:311,1
    - Dst: TestType
      Src: /src/bitcoin-core/src/test/fuzz/bitset.cpp:314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 316
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bitset.cpp
    functionUses: 0
    functionsReached:
    - ReadByte
    - TestType
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsRange
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:21,1
    - Dst: IsSingleType
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:22,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:23,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:26,1
    - Dst: IsRange
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:26,1
    - Dst: IsRange
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:28,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:30,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:31,1
    - Dst: IsSolvable
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:31,1
    - Dst: IsSolvable
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:33,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:37,1
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:38,1
    - Dst: ToNormalizedString
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:39,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:44,1
    - Dst: ExpandPrivate
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:45,1
    - Dst: ExpandFromCache
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:46,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:50,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:50,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:50,1
    - Dst: IsSingleType
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:54,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:54,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:54,1
    - Dst: MaxSatisfactionWeight
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:57,1
    - Dst: MaxSatisfactionWeight
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:58,1
    - Dst: MaxSatisfactionElems
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:59,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - ' desc'
    - ' sig_provider'
    - ' dummy'
    - ' is_ranged'
    - ' is_solvable'
    argTypes:
    - Descriptor
    - FlatSigningProvider
    - std::string
    - std::optional<bool>
    - std::optional<bool>
    assertStmts:
    - condition: (is_input_size_info_set || is_nontop_or_nonsolvable)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp
    - condition: (desc.IsRange() == *is_ranged)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp
    - condition: (desc.IsSolvable() == *is_solvable)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp
    - condition: (InferDescriptor(out_scripts.back(), sig_provider))
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp
    - condition: (is_combo || desc.ScriptSize() == out_scripts.back().size())
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp
    constantsTouched: []
    func_position:
      end: 64
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 64
    functionName: TestDescriptor
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp
    functionUses: 0
    functionsReached:
    - ToPrivateString
    - MaxSatisfactionElems
    - InferDescriptor
    - ToString
    - IsSolvable
    - ScriptSize
    - ExpandPrivate
    - std::vector::back
    - IsRange
    - MaxSatisfactionWeight
    - GetOutputType
    - ExpandFromCache
    - Expand
    - has_value
    - std::vector::empty
    - assert
    - IsSingleType
    - ToNormalizedString
    linkageType: ''
    returnType: void
    signature: void TestDescriptor(const Descriptor& desc, FlatSigningProvider& sig_provider,
      std::string& dummy, std::optional<bool>& is_ranged, std::optional<bool>& is_solvable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: initialize_descriptor_parse
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_descriptor_parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize_descriptor_parse
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:74,1
    - Dst: Init
      Src: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: initialize_mocked_descriptor_parse
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/descriptor_parse.cpp
    functionUses: 0
    functionsReached:
    - initialize_descriptor_parse
    - Init
    linkageType: ''
    returnType: void
    signature: void initialize_mocked_descriptor_parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: FuzzedDataProvider::FuzzedDataProvider
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzedDataProvider(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FuzzedDataProvider()
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FuzzedDataProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: FuzzedDataProvider::remaining_bytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_bytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: FuzzedDataProvider::FuzzedDataProvider
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzedDataProvider(const FuzzedDataProvider &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '&operator=(const FuzzedDataProvider &)'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FuzzedDataProvider
    signature: FuzzedDataProvider &operator=(const FuzzedDataProvider &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:110,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: FuzzedDataProvider::ConsumeBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 4
    functionsReached:
    - std::min
    - FuzzedDataProvider::ConsumeBytes
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> FuzzedDataProvider::ConsumeBytes(size_t num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:121,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:122,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - num_bytes
    - terminator
    argTypes:
    - size_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: FuzzedDataProvider::ConsumeBytesWithTerminator
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 0
    functionsReached:
    - std::vector::back
    - std::min
    - FuzzedDataProvider::ConsumeBytes
    linkageType: ''
    returnType: std::vector<T>
    signature: "std::vector<T> FuzzedDataProvider::ConsumeBytesWithTerminator(size_t
      num_bytes,\n                                                              T
      terminator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: FuzzedDataProvider::ConsumeRemainingBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 1
    functionsReached:
    - FuzzedDataProvider::ConsumeBytes
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> FuzzedDataProvider::ConsumeRemainingBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:141,1
    - Dst: FuzzedDataProvider::Advance
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: FuzzedDataProvider::ConsumeBytesAsString
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 1
    functionsReached:
    - FuzzedDataProvider::Advance
    - std::min
    linkageType: ''
    returnType: std::string
    signature: std::string FuzzedDataProvider::ConsumeBytesAsString(size_t num_bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:163,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:163,1
    - Dst: FuzzedDataProvider::ConvertUnsignedToSigned
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:165,1
    - Dst: FuzzedDataProvider::Advance
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:166,1
    - Dst: FuzzedDataProvider::ConvertUnsignedToSigned
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:168,1
    - Dst: FuzzedDataProvider::Advance
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:169,1
    - Dst: std::string::shrink_to_fit
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - max_length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 178
    functionName: FuzzedDataProvider::ConsumeRandomLengthString
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 6
    functionsReached:
    - std::string::reserve
    - FuzzedDataProvider::ConvertUnsignedToSigned
    - std::string::shrink_to_fit
    - FuzzedDataProvider::Advance
    - std::min
    linkageType: ''
    returnType: std::string
    signature: std::string FuzzedDataProvider::ConsumeRandomLengthString(size_t max_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: FuzzedDataProvider::ConsumeRandomLengthString
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 7
    functionsReached:
    - FuzzedDataProvider::ConsumeRandomLengthString
    linkageType: ''
    returnType: std::string
    signature: std::string FuzzedDataProvider::ConsumeRandomLengthString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: FuzzedDataProvider::ConsumeRemainingBytesAsString
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 2
    functionsReached:
    - FuzzedDataProvider::ConsumeBytesAsString
    linkageType: ''
    returnType: std::string
    signature: std::string FuzzedDataProvider::ConsumeRemainingBytesAsString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:196,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:196,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: FuzzedDataProvider::ConsumeIntegral
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 22
    functionsReached:
    - RandomMixin::max
    - RandomMixin::min
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: T
    signature: T FuzzedDataProvider::ConsumeIntegral()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:210,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:213,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:213,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:231,1
    - Dst: static_cast<T>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:234,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 235
    functionName: FuzzedDataProvider::ConsumeIntegralInRange
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 22
    functionsReached:
    - static_cast<uint64_t>
    - abort
    - RandomMixin::max
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T FuzzedDataProvider::ConsumeIntegralInRange(T min, T max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:241,1
    - Dst: std::numeric_limits<T>::lowest
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:241,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: FuzzedDataProvider::ConsumeFloatingPoint
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 1
    functionsReached:
    - RandomMixin::max
    - std::numeric_limits<T>::lowest
    - FuzzedDataProvider::ConsumeFloatingPointInRange
    linkageType: ''
    returnType: T
    signature: T FuzzedDataProvider::ConsumeFloatingPoint()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:251,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:256,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:261,1
    - Dst: FuzzedDataProvider::ConsumeProbability
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: FuzzedDataProvider::ConsumeFloatingPointInRange
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 1
    functionsReached:
    - abort
    - RandomMixin::max
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeProbability
    linkageType: ''
    returnType: T
    signature: T FuzzedDataProvider::ConsumeFloatingPointInRange(T min, T max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:283,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:283,1
    - Dst: static_cast<T>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:284,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 286
    functionName: FuzzedDataProvider::ConsumeProbability
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 1
    functionsReached:
    - RandomMixin::max
    - FuzzedDataProvider::ConsumeIntegral
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T FuzzedDataProvider::ConsumeProbability()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: FuzzedDataProvider::ConsumeBool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 20
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegral
    linkageType: ''
    returnType: bool
    signature: bool FuzzedDataProvider::ConsumeBool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:298,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:299,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: FuzzedDataProvider::ConsumeEnum
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - FuzzedDataProvider::ConsumeIntegralInRange
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T FuzzedDataProvider::ConsumeEnum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (array)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: FuzzedDataProvider::PickValueInArray
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 4
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: T
    signature: T FuzzedDataProvider::PickValueInArray(const T (&array)[size])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - std::array<T, size>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: FuzzedDataProvider::PickValueInArray
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 4
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: T
    signature: T FuzzedDataProvider::PickValueInArray(const std::array<T, size> &array)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::initializer_list<const T>::size
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:318,1
    - Dst: abort
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:319,1
    - Dst: std::initializer_list<const T>::begin
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:321,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:321,1
    - Dst: std::initializer_list<const T>::size
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<const T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: FuzzedDataProvider::PickValueInArray
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 4
    functionsReached:
    - abort
    - std::initializer_list<const T>::begin
    - FuzzedDataProvider::ConsumeIntegralInRange
    - std::initializer_list<const T>::size
    linkageType: ''
    returnType: T
    signature: T FuzzedDataProvider::PickValueInArray(std::initializer_list<const
      T> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:332,1
    - Dst: FuzzedDataProvider::CopyAndAdvance
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - destination
    - num_bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: FuzzedDataProvider::ConsumeData
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 2
    functionsReached:
    - FuzzedDataProvider::CopyAndAdvance
    - std::min
    linkageType: ''
    returnType: size_t
    signature: "size_t FuzzedDataProvider::ConsumeData(void *destination,\n                                              size_t
      num_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:340,1
    - Dst: FuzzedDataProvider::Advance
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - destination
    - num_bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: FuzzedDataProvider::CopyAndAdvance
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 1
    functionsReached:
    - std::memcpy
    - FuzzedDataProvider::Advance
    linkageType: ''
    returnType: void
    signature: "void FuzzedDataProvider::CopyAndAdvance(void *destination,\n                                               size_t
      num_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: FuzzedDataProvider::Advance
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 3
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void FuzzedDataProvider::Advance(size_t num_bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:365,1
    - Dst: FuzzedDataProvider::CopyAndAdvance
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:369,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:369,1
    - Dst: std::vector::shrink_to_fit
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - size
    - num_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 376
    functionName: FuzzedDataProvider::ConsumeBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 6
    functionsReached:
    - abort
    - FuzzedDataProvider::CopyAndAdvance
    - std::vector::shrink_to_fit
    - std::vector::data
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> FuzzedDataProvider::ConsumeBytes(size_t size, size_t
      num_bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TS>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:386,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:390,1
    - Dst: static_cast<TS>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:391,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:393,1
    - Dst: static_cast<TS>
      Src: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - TU
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 396
    functionName: FuzzedDataProvider::ConvertUnsignedToSigned
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/FuzzedDataProvider.h
    functionUses: 1
    functionsReached:
    - static_cast<TS>
    - RandomMixin::min
    - RandomMixin::max
    linkageType: ''
    returnType: TS
    signature: TS FuzzedDataProvider::ConvertUnsignedToSigned(TU value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/i2p.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: initialize_i2p
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/i2p.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_i2p()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:16,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:16,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:18,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:20,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:20,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:21,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:21,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:23,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - FuzzedDataProvider::ConsumeRandomLengthString
    - CHKDF_HMAC_SHA256_L32::Expand32
    - FuzzedDataProvider::ConsumeBool
    - size
    - data
    - ConsumeRandomLengthByteVector
    - LIMITED_WHILE
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_hkdf_hmac_sha256_l32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/partially_downloaded_block.cpp:35,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/partially_downloaded_block.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: initialize_pdb
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/partially_downloaded_block.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_pdb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - result
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: FuzzedIsBlockMutated
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/partially_downloaded_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PartiallyDownloadedBlock::IsBlockMutatedFn
    signature: PartiallyDownloadedBlock::IsBlockMutatedFn FuzzedIsBlockMutated(bool
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/fuzz/pcp.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: port_map_target_init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/pcp.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void port_map_target_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:38,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:38,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:40,1
    - Dst: JSONRPCTransactionError
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:41,1
    - Dst: RPCErrorFromTransactionError
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:42,1
    - Dst: TransactionErrorString
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:43,1
    - Dst: StringForFeeEstimateHorizon
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:45,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:45,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:47,1
    - Dst: FormatOutputType
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:48,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:51,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:51,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:52,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:54,1
    - Dst: BytesToBits
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:55,1
    - Dst: BitsToBytes
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:56,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parsed)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp
    - condition: (bytes == bytes_decoded)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp
    - condition: (output_type == parsed.value())
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/kitchen_sink.cpp
    functionUses: 0
    functionsReached:
    - FormatOutputType
    - RPCErrorFromTransactionError
    - JSONRPCTransactionError
    - FuzzedDataProvider::ConsumeRandomLengthString
    - BytesToBits
    - ParseOutputType
    - size
    - StringForFeeEstimateHorizon
    - data
    - std::optional::value
    - ConsumeRandomLengthByteVector
    - assert
    - FuzzedDataProvider::PickValueInArray
    - BitsToBytes
    - TransactionErrorString
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(kitchen_sink)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cluster_count
    - cluster_size
    argTypes:
    - DepGraphIndex
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: SimTxGraph
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimTxGraph(DepGraphIndex cluster_count, uint64_t cluster_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: SimTxGraph
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimTxGraph(const SimTxGraph&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(const SimTxGraph&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimTxGraph
    signature: SimTxGraph & operator=(const SimTxGraph&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: SimTxGraph
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimTxGraph(SimTxGraph&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& operator=(SimTxGraph&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimTxGraph
    signature: SimTxGraph & operator=(SimTxGraph&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:78,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:81,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: GetComponents
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - auto::Any
    - std::vector::push_back
    - FindConnectedComponent
    linkageType: ''
    returnType: std::vector<SetType>
    signature: std::vector<SetType> GetComponents()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:93,1
    - Dst: GetComponents
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:96,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:97,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: IsOversized
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 8
    functionsReached:
    - GetComponents
    - FeeRate
    - Count
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool IsOversized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:108,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: MakeModified
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - GetConnectedComponent
    linkageType: ''
    returnType: void
    signature: void MakeModified(DepGraphIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: GetTransactionCount
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 4
    functionsReached:
    - TxCount
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex GetTransactionCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:118,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: SumAll
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - FeeRate
    linkageType: ''
    returnType: FeePerWeight
    signature: FeePerWeight SumAll() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:127,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ref
    argTypes:
    - TxGraph::Ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: Find
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 8
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: Pos
    signature: Pos Find(const TxGraph::Ref* ref) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:135,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:135,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:136,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - Pos
    assertStmts:
    - condition: (graph.Positions()[pos])
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (simmap[pos])
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: GetRef
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - assert
    - get
    linkageType: ''
    returnType: TxGraph::Ref
    signature: TxGraph::Ref * GetRef(Pos pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:143,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:143,1
    - Dst: AddTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:144,1
    - Dst: MakeModified
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:146,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:147,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:147,1
    - Dst: std::make_shared<TxGraph::Ref>
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:148,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:149,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' feerate'
    argTypes:
    - FeePerWeight
    assertStmts:
    - condition: (graph.TxCount() < MAX_TRANSACTIONS)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (graph.Positions()[simpos])
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: AddTransaction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 17
    functionsReached:
    - Positions
    - AddTransaction
    - std::make_shared<TxGraph::Ref>
    - MakeModified
    - TxCount
    - get
    - has_value
    - assert
    linkageType: ''
    returnType: TxGraph::Ref
    signature: TxGraph::Ref * AddTransaction(const FeePerWeight& feerate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:159,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:161,1
    - Dst: AddDependencies
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:163,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:163,1
    - Dst: MakeModified
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:164,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - TxGraph::Ref*
    - TxGraph::Ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: AddDependency
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 3
    functionsReached:
    - bitset_detail::IntBitSet::Singleton
    - MakeModified
    - AddDependencies
    - Find
    - has_value
    linkageType: ''
    returnType: void
    signature: void AddDependency(TxGraph::Ref* parent, TxGraph::Ref* child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:173,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ref
    - fee
    argTypes:
    - TxGraph::Ref*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: SetTransactionFee
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - FeeRate
    - Find
    linkageType: ''
    returnType: void
    signature: void SetTransactionFee(TxGraph::Ref* ref, int64_t fee)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:183,1
    - Dst: MakeModified
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:185,1
    - Dst: RemoveTransactions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:187,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:187,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:188,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:188,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:191,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:191,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:192,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ref
    argTypes:
    - TxGraph::Ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: RemoveTransaction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - bitset_detail::IntBitSet::Singleton
    - erase
    - push_back
    - MakeModified
    - RemoveTransactions
    - std::move
    - reset
    - has_value
    - get
    - Find
    linkageType: ''
    returnType: void
    signature: void RemoveTransaction(TxGraph::Ref* ref)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:203,1
    - Dst: std::partition
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:208,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:208,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:208,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:208,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:209,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:209,1
    - Dst: MakeModified
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:211,1
    - Dst: RemoveTransactions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:212,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:212,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:214,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:214,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:215,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ref
    - reset_oversize
    argTypes:
    - TxGraph::Ref*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 221
    functionName: DestroyTransaction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - bitset_detail::IntBitSet::Singleton
    - erase
    - MakeModified
    - RemoveTransactions
    - std::partition
    - reset
    - has_value
    - get
    - Find
    - begin
    linkageType: ''
    returnType: void
    signature: void DestroyTransaction(TxGraph::Ref* ref, bool reset_oversize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:229,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:230,1
    - Dst: Pos
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:230,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - std::span<TxGraph::Ref* const>
    assertStmts:
    - condition: (pos != Pos(-1))
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: MakeSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Pos
    - assert
    - SetType::Set
    - Find
    linkageType: ''
    returnType: SetType
    signature: SetType MakeSet(std::span<TxGraph::Ref* const> arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:239,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:241,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - desc
    argTypes:
    - TxGraph::Ref*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: GetAncDesc
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Descendants
    - Ancestors
    - Find
    linkageType: ''
    returnType: SetType
    signature: SetType GetAncDesc(TxGraph::Ref* arg, bool desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:250,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:252,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:252,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:253,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:253,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:256,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:261,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:263,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:263,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:263,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:263,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' arg'
    - desc
    argTypes:
    - std::vector<TxGraph::Ref*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 267
    functionName: IncludeAncDesc
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - Descendants
    - push_back
    - std::vector::push_back
    - Ancestors
    - clear
    - get
    - std::find
    - Find
    - begin
    linkageType: ''
    returnType: void
    signature: void IncludeAncDesc(std::vector<TxGraph::Ref*>& arg, bool desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Any
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:274,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:274,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:276,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:277,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:280,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:281,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:283,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:285,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' set'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 292
    functionName: MatchesOversizedClusters
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - auto::Any
    - IsSubsetOf
    - IsOversized
    - Any
    - FindConnectedComponent
    - auto::Count
    - Overlaps
    - FeeRate
    linkageType: ''
    returnType: bool
    signature: bool MatchesOversizedClusters(const SetType& set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cluster_count
    - cluster_size
    argTypes:
    - DepGraphIndex
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: SimTxGraph
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimTxGraph(DepGraphIndex cluster_count, uint64_t cluster_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: SimTxGraph
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimTxGraph(const SimTxGraph&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(const SimTxGraph&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimTxGraph
    signature: SimTxGraph & operator=(const SimTxGraph&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: SimTxGraph
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimTxGraph(SimTxGraph&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& operator=(SimTxGraph&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimTxGraph
    signature: SimTxGraph & operator=(SimTxGraph&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:78,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:81,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: GetComponents
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 1
    functionsReached:
    - Positions
    - auto::Any
    - std::vector::push_back
    - FindConnectedComponent
    linkageType: ''
    returnType: std::vector<SetType>
    signature: std::vector<SetType> GetComponents()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:93,1
    - Dst: GetComponents
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:96,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:97,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: IsOversized
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 9
    functionsReached:
    - GetComponents
    - FeeRate
    - Count
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool IsOversized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:108,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: MakeModified
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 4
    functionsReached:
    - Positions
    - GetConnectedComponent
    linkageType: ''
    returnType: void
    signature: void MakeModified(DepGraphIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: GetTransactionCount
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 4
    functionsReached:
    - TxCount
    linkageType: ''
    returnType: DepGraphIndex
    signature: DepGraphIndex GetTransactionCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:118,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: SumAll
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - FeeRate
    linkageType: ''
    returnType: FeePerWeight
    signature: FeePerWeight SumAll() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:127,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ref
    argTypes:
    - TxGraph::Ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: Find
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 15
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: Pos
    signature: Pos Find(const TxGraph::Ref* ref) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:135,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:135,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:136,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - Pos
    assertStmts:
    - condition: (graph.Positions()[pos])
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (simmap[pos])
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: GetRef
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - assert
    - get
    linkageType: ''
    returnType: TxGraph::Ref
    signature: TxGraph::Ref * GetRef(Pos pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:143,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:143,1
    - Dst: AddTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:144,1
    - Dst: MakeModified
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:146,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:147,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:147,1
    - Dst: std::make_shared<TxGraph::Ref>
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:148,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:149,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' feerate'
    argTypes:
    - FeePerWeight
    assertStmts:
    - condition: (graph.TxCount() < MAX_TRANSACTIONS)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (graph.Positions()[simpos])
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: AddTransaction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 18
    functionsReached:
    - Positions
    - AddTransaction
    - std::make_shared<TxGraph::Ref>
    - MakeModified
    - TxCount
    - get
    - has_value
    - assert
    linkageType: ''
    returnType: TxGraph::Ref
    signature: TxGraph::Ref * AddTransaction(const FeePerWeight& feerate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:159,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:161,1
    - Dst: AddDependencies
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:163,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:163,1
    - Dst: MakeModified
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:164,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - TxGraph::Ref*
    - TxGraph::Ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: AddDependency
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 3
    functionsReached:
    - bitset_detail::IntBitSet::Singleton
    - MakeModified
    - AddDependencies
    - Find
    - has_value
    linkageType: ''
    returnType: void
    signature: void AddDependency(TxGraph::Ref* parent, TxGraph::Ref* child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:173,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ref
    - fee
    argTypes:
    - TxGraph::Ref*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: SetTransactionFee
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - FeeRate
    - Find
    linkageType: ''
    returnType: void
    signature: void SetTransactionFee(TxGraph::Ref* ref, int64_t fee)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:183,1
    - Dst: MakeModified
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:185,1
    - Dst: RemoveTransactions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:187,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:187,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:188,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:188,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:191,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:191,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:192,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ref
    argTypes:
    - TxGraph::Ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: RemoveTransaction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - bitset_detail::IntBitSet::Singleton
    - erase
    - push_back
    - MakeModified
    - RemoveTransactions
    - std::move
    - reset
    - has_value
    - get
    - Find
    linkageType: ''
    returnType: void
    signature: void RemoveTransaction(TxGraph::Ref* ref)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:203,1
    - Dst: std::partition
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:208,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:208,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:208,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:208,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:209,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:209,1
    - Dst: MakeModified
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:211,1
    - Dst: RemoveTransactions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:212,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:212,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:214,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:214,1
    - Dst: reset
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:215,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ref
    - reset_oversize
    argTypes:
    - TxGraph::Ref*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 221
    functionName: DestroyTransaction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - bitset_detail::IntBitSet::Singleton
    - erase
    - MakeModified
    - RemoveTransactions
    - std::partition
    - reset
    - has_value
    - get
    - Find
    - begin
    linkageType: ''
    returnType: void
    signature: void DestroyTransaction(TxGraph::Ref* ref, bool reset_oversize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:229,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:230,1
    - Dst: Pos
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:230,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - std::span<TxGraph::Ref* const>
    assertStmts:
    - condition: (pos != Pos(-1))
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: MakeSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Pos
    - assert
    - SetType::Set
    - Find
    linkageType: ''
    returnType: SetType
    signature: SetType MakeSet(std::span<TxGraph::Ref* const> arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:239,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:241,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - desc
    argTypes:
    - TxGraph::Ref*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: GetAncDesc
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Descendants
    - Ancestors
    - Find
    linkageType: ''
    returnType: SetType
    signature: SetType GetAncDesc(TxGraph::Ref* arg, bool desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:250,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:252,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:252,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:253,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:253,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:256,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:261,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:263,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:263,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:263,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:263,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' arg'
    - desc
    argTypes:
    - std::vector<TxGraph::Ref*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 267
    functionName: IncludeAncDesc
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - end
    - Descendants
    - push_back
    - std::vector::push_back
    - Ancestors
    - clear
    - get
    - std::find
    - Find
    - begin
    linkageType: ''
    returnType: void
    signature: void IncludeAncDesc(std::vector<TxGraph::Ref*>& arg, bool desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Any
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:274,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:274,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:276,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:277,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:280,1
    - Dst: FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:281,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:283,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:285,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' set'
    argTypes:
    - SetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 292
    functionName: MatchesOversizedClusters
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - Positions
    - auto::Any
    - IsSubsetOf
    - IsOversized
    - Any
    - FindConnectedComponent
    - auto::Count
    - Overlaps
    - FeeRate
    linkageType: ''
    returnType: bool
    signature: bool MatchesOversizedClusters(const SetType& set)
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:304,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:305,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:305,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:310,1
    - Dst: TxGraph::Ref::Ref
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:313,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:317,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:319,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:321,1
    - Dst: MakeTxGraph
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:324,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:326,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:327,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:341,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:350,1
    - Dst: removed::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:352,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:353,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:354,1
    - Dst: removed::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:355,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:358,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:360,1
    - Dst: graph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:364,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:365,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:368,1
    - Dst: removed::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:372,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:374,1
    - Dst: removed::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:376,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:380,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:387,1
    - Dst: graph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:391,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:392,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:393,1
    - Dst: auto::GetCluster
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:393,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:399,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:401,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:401,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:402,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:402,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:403,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:404,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:410,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:410,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:413,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:413,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:413,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:417,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:417,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:419,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:432,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:432,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:437,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:444,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:444,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:444,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:450,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:451,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:455,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:456,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:460,1
    - Dst: AddTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:462,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:464,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:466,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:466,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:466,1
    - Dst: removed::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:466,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:468,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:469,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:470,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:471,1
    - Dst: graph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:475,1
    - Dst: AddDependency
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:477,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:479,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:481,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:481,1
    - Dst: removed::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:481,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:486,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:486,1
    - Dst: IncludeAncDesc
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:487,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:490,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:490,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:490,1
    - Dst: auto::RemoveTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:492,1
    - Dst: RemoveTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:493,1
    - Dst: removed::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:496,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:505,1
    - Dst: removed::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:505,1
    - Dst: removed::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:506,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:507,1
    - Dst: removed::back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:507,1
    - Dst: removed::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:509,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:511,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:514,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:514,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:520,1
    - Dst: IncludeAncDesc
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:521,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:522,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:526,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:526,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:526,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:528,1
    - Dst: DestroyTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:529,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:529,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:533,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:537,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:539,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:541,1
    - Dst: auto::SetTransactionFee
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:542,1
    - Dst: SetTransactionFee
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:544,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:549,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:549,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:549,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:553,1
    - Dst: auto::Exists
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:554,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:555,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:556,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:560,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:560,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:560,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:564,1
    - Dst: auto::GetIndividualFeerate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:565,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:568,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:571,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:571,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:574,1
    - Dst: auto::IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:574,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:576,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:578,1
    - Dst: auto::GetMainChunkFeerate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:579,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:580,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:582,1
    - Dst: auto::IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:582,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:586,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:586,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:587,1
    - Dst: SumAll
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:587,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:590,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:592,1
    - Dst: auto::GetDescendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:593,1
    - Dst: auto::GetAncestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:594,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:595,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:595,1
    - Dst: MakeSet
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:596,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:597,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:597,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:597,1
    - Dst: GetAncDesc
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:598,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:599,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:601,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:605,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:606,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:608,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:611,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:611,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:611,1
    - Dst: auto::GetDescendantsUnion
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:613,1
    - Dst: auto::GetAncestorsUnion
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:614,1
    - Dst: MakeSet
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:615,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:616,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:616,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:616,1
    - Dst: GetAncDesc
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:619,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:621,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:623,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:625,1
    - Dst: auto::GetCluster
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:626,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:628,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:628,1
    - Dst: graph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:630,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:633,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:634,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:635,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:636,1
    - Dst: auto::Reset
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:637,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:638,1
    - Dst: graph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:638,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:641,1
    - Dst: MakeSet
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:643,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:644,1
    - Dst: graph::IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:644,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:646,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:648,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:650,1
    - Dst: auto::None
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:650,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:654,1
    - Dst: graph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:654,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:655,1
    - Dst: graph::Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:655,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:660,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:660,1
    - Dst: auto::HaveStaging
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:660,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:662,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:664,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:664,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:665,1
    - Dst: auto::StartStaging
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:666,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:668,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:668,1
    - Dst: auto::CommitStaging
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:670,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:672,1
    - Dst: std::vector::cbegin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:672,1
    - Dst: std::vector::cend
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:672,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:673,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:673,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:674,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:676,1
    - Dst: auto::AbortStaging
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:678,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:679,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:683,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:685,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:687,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:688,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:689,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:690,1
    - Dst: auto::CompareMainOrder
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:693,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:695,1
    - Dst: graph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:697,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:697,1
    - Dst: graph::Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:698,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:698,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:703,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:707,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:708,1
    - Dst: pick_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:710,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:713,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:713,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:713,1
    - Dst: auto::CountDistinctClusters
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:715,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:722,1
    - Dst: graph::GetConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:725,1
    - Dst: graph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:725,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:727,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:727,1
    - Dst: SimTxGraph::SetType::Set
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:728,1
    - Dst: auto::First
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:728,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:732,1
    - Dst: SimTxGraph::SetType::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:732,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:736,1
    - Dst: auto::DoWork
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:737,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:739,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:744,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:745,1
    - Dst: GetComponents
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:752,1
    - Dst: MaxOptimalLinearizationIters
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:753,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:753,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:768,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:771,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:771,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:771,1
    - Dst: auto::GetMainStagingDiagrams
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:773,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:774,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:774,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:774,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:775,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:775,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:775,1
    - Dst: SumAll
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:777,1
    - Dst: SumAll
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:777,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:781,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:783,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:784,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:784,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:786,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:787,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:787,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:790,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:790,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:792,1
    - Dst: auto::GetBlockBuilder
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:792,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:794,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:796,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:796,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:798,1
    - Dst: builder::GetCurrentChunk
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:803,1
    - Dst: last_feerate::IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:806,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:807,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:814,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:815,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:817,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:819,1
    - Dst: auto::Set
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:820,1
    - Dst: auto::Set
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:822,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:823,1
    - Dst: graph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:823,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:825,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:830,1
    - Dst: done::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:830,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:830,1
    - Dst: builder::GetCurrentChunk
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:835,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:836,1
    - Dst: builder::Skip
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:841,1
    - Dst: builder::Include
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:844,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:849,1
    - Dst: auto::GetWorstMainChunk
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:851,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:854,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:855,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:855,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:856,1
    - Dst: IsEmpty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:856,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:858,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:858,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:863,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:864,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:865,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:867,1
    - Dst: SimTxGraph::SetType::Set
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:868,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:870,1
    - Dst: graph::Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:870,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:872,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:875,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:875,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:877,1
    - Dst: auto::Trim
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:878,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:880,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:880,1
    - Dst: MakeSet
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:882,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:885,1
    - Dst: graph::Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:885,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:889,1
    - Dst: MatchesOversizedClusters
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:889,1
    - Dst: RemoveTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:895,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:895,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:897,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:897,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:899,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:899,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:900,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:900,1
    - Dst: auto::CountDistinctClusters
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:908,1
    - Dst: GetComponents
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:911,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:915,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:919,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:919,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:920,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:920,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:922,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:927,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:930,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:930,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:940,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:940,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:950,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:951,1
    - Dst: AddDependency
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:952,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:953,1
    - Dst: std::erase_if
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:960,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:962,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:966,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:969,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:972,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:972,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:981,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:981,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:982,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:982,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:982,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:984,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:984,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:984,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:986,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:987,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:988,1
    - Dst: auto::Trim
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:994,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:996,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:996,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:997,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:997,1
    - Dst: MakeSet
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:999,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1001,1
    - Dst: graph::Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1001,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1005,1
    - Dst: MatchesOversizedClusters
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1005,1
    - Dst: RemoveTransaction
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1011,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1011,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1013,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1013,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1021,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1023,1
    - Dst: graph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1028,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1028,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1029,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1029,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1029,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1031,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1031,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1031,1
    - Dst: std::next_permutation
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1032,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1032,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1032,1
    - Dst: auto::CompareMainOrder
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1036,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1036,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1036,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1038,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1038,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1038,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1039,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1039,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1039,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1043,1
    - Dst: graph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1046,1
    - Dst: auto::Reset
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1048,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1049,1
    - Dst: graph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1049,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1051,1
    - Dst: auto::None
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1051,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1056,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1057,1
    - Dst: InsecureRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1057,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1058,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1059,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1060,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1065,1
    - Dst: auto::GetMainChunkFeerate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1066,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1066,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1068,1
    - Dst: auto::GetMainChunkFeerate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1069,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1069,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1070,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1070,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1072,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1073,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1073,1
    - Dst: auto::GetMainChunkFeerate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1074,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1074,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1075,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1075,1
    - Dst: auto::GetBlockBuilder
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1081,1
    - Dst: auto::GetCurrentChunk
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1085,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1090,1
    - Dst: auto::GetMainChunkFeerate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1090,1
    - Dst: auto::GetIndividualFeerate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1092,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1094,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1095,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1096,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1098,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1099,1
    - Dst: auto::Include
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1101,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1103,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1106,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1106,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1106,1
    - Dst: auto::GetWorstMainChunk
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1107,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1108,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1109,1
    - Dst: get_diagram_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1113,1
    - Dst: ChunkLinearization
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1114,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1115,1
    - Dst: CompareChunks
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1115,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1117,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1117,1
    - Dst: auto::GetMainStagingDiagrams
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1120,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1122,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1123,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1123,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1125,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1126,1
    - Dst: FeeRateCompare
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1126,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1132,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1132,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1132,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1133,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1133,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1133,1
    - Dst: std::set_difference
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1138,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1138,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1138,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1139,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1139,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1140,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1140,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1142,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1142,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1142,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1142,1
    - Dst: get_diagram_fn
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1144,1
    - Dst: std::set_difference
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1146,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1146,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1146,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1147,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1147,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1148,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1148,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1150,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1150,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1150,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1150,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1153,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1161,1
    - Dst: graph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1161,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1164,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1168,1
    - Dst: auto::HaveStaging
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1168,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1168,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1173,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1175,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1175,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1175,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1176,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1176,1
    - Dst: GetTransactionCount
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1176,1
    - Dst: IsOversized
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1178,1
    - Dst: graph::Positions
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1179,1
    - Dst: auto::Any
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1182,1
    - Dst: graph::FindConnectedComponent
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1183,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1188,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1188,1
    - Dst: auto::GetIndividualFeerate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1188,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1188,1
    - Dst: graph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1190,1
    - Dst: MakeSet
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1191,1
    - Dst: auto::GetAncestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1191,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1191,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1192,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1192,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1193,1
    - Dst: graph::Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1195,1
    - Dst: MakeSet
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1196,1
    - Dst: auto::GetDescendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1196,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1196,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1197,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1197,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1198,1
    - Dst: auto::GetCluster
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1200,1
    - Dst: GetRef
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1200,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1201,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1201,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1202,1
    - Dst: MakeSet
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1202,1
    - Dst: Find
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1209,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1210,1
    - Dst: graph::Descendants
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1210,1
    - Dst: SimTxGraph::SetType::Set
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1211,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1212,1
    - Dst: graph::Ancestors
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1212,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1213,1
    - Dst: graph::FeeRate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1214,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1217,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1220,1
    - Dst: cluster_linearize::LinearizationChunking::NumChunksLeft
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1223,1
    - Dst: cluster_linearize::LinearizationChunking::GetChunk
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1224,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1227,1
    - Dst: graph::IsConnected
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1227,1
    - Dst: auto::transactions::Any
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1229,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1230,1
    - Dst: auto::transactions::Reset
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1231,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1232,1
    - Dst: auto::GetMainChunkFeerate
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1232,1
    - Dst: auto::SanityCheck
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1243,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1246,1
    - Dst: auto::reset
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1248,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:1251,1
    CyclomaticComplexity: 205
    EdgeCount: 205
    ICount: 478
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (feerate == sim.graph.FeeRate(simpos))
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (result_set == expect_set)
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sel_sim.graph.IsConnected(result_set))
      pos:
        line_end: 643
        line_start: 643
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (feerate.IsEmpty())
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (anc.Count() <= max_cluster_count)
      pos:
        line_end: 1191
        line_start: 1191
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sim.MakeSet(cluster) == component)
      pos:
        line_end: 1201
        line_start: 1201
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: ((sims.size() == 2) == real->HaveStaging())
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sim.graph.IsConnected(chunk.transactions))
      pos:
        line_end: 1226
        line_start: 1226
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (!done[simpos])
      pos:
        line_end: 866
        line_start: 866
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (total_size <= max_cluster_size)
      pos:
        line_end: 640
        line_start: 640
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (cmp != 0)
      pos:
        line_end: 694
        line_start: 694
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (removed.size() <= max_removed)
      pos:
        line_end: 996
        line_start: 996
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (simpos != SimTxGraph::MISSING)
      pos:
        line_end: 863
        line_start: 863
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (main_sim.graph.Ancestors(simpos).IsSubsetOf(new_included))
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (FeeRateCompare(real_main_diagram[i], real_main_diagram[i - 1]) <=
        0)
      pos:
        line_end: 783
        line_start: 783
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (todo.None())
      pos:
        line_end: 1050
        line_start: 1050
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (real->IsOversized(main_only) == sim.IsOversized())
      pos:
        line_end: 1174
        line_start: 1174
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (iters <= iters_for_optimal)
      pos:
        line_end: 767
        line_start: 767
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (feerate.IsEmpty())
      pos:
        line_end: 573
        line_start: 573
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (real->GetTransactionCount(use_main) == sel_sim.GetTransactionCount())
      pos:
        line_end: 548
        line_start: 548
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (FeeRateCompare(before_feerate, pos_feerate) >= 0)
      pos:
        line_end: 1069
        line_start: 1069
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (last_chunk == worst_chunk)
      pos:
        line_end: 1107
        line_start: 1107
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (real->HaveStaging() == (sims.size() > 1))
      pos:
        line_end: 1167
        line_start: 1167
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sim.graph.FeeRate(i) == real->GetIndividualFeerate(*sim.GetRef(i)))
      pos:
        line_end: 1187
        line_start: 1187
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (cmp >= 0)
      pos:
        line_end: 696
        line_start: 696
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (real->GetMainChunkFeerate(*ref) == chunk->second)
      pos:
        line_end: 1089
        line_start: 1089
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (builder_data.done.Count() == main_sim.GetTransactionCount())
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (stage_cmp_diagram.size() + missing_stage_cmp.size() == stage_real_diagram.size())
      pos:
        line_end: 1149
        line_start: 1149
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (cmp <= 0)
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (feerate.size >= main_sim.graph.FeeRate(simpos).size)
      pos:
        line_end: 585
        line_start: 585
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (!(chunk->second >> builder_data.last_feerate))
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (cmp == 0)
      pos:
        line_end: 1059
        line_start: 1059
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (FeeRateCompare(main_cmp_diagram[i], main_cmp_diagram[i - 1]) <=
        0)
      pos:
        line_end: 1122
        line_start: 1122
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (missing_real.size >= missing_expected.size)
      pos:
        line_end: 1163
        line_start: 1163
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (desc == expect_desc)
      pos:
        line_end: 1197
        line_start: 1197
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (simpos != SimTxGraph::MISSING)
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sel_sim.graph.Ancestors(i).IsSubsetOf(result_set))
      pos:
        line_end: 653
        line_start: 653
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (top_sim.MatchesOversizedClusters(removed_set))
      pos:
        line_end: 888
        line_start: 888
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (result.size() == result_set.Count())
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (result == sim_reps.Count())
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (result_set == expect_set)
      pos:
        line_end: 598
        line_start: 598
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (FeeRateCompare(stage_cmp_diagram[i], stage_cmp_diagram[i - 1]) <=
        0)
      pos:
        line_end: 1125
        line_start: 1125
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (result_set.None())
      pos:
        line_end: 649
        line_start: 649
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sum_feerate == chunk->second)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (real->GetTransactionCount(main_only) == sim.GetTransactionCount())
      pos:
        line_end: 1175
        line_start: 1175
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (FeeRateCompare(real_staged_diagram[i], real_staged_diagram[i - 1])
        <= 0)
      pos:
        line_end: 786
        line_start: 786
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sim_gain == real_gain)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (simpos != SimTxGraph::MISSING)
      pos:
        line_end: 814
        line_start: 814
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (!new_done[simpos])
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sel_sim.IsOversized() == real->IsOversized(use_main))
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sim.graph.Ancestors(simpos).IsSubsetOf(done))
      pos:
        line_end: 1211
        line_start: 1211
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (left[simpos])
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sum == worst_chunk_feerate)
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (worst_chunk_feerate.IsEmpty())
      pos:
        line_end: 855
        line_start: 855
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (!sel_sim.graph.Ancestors(simpos).Overlaps(left))
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sel_sim.graph.Descendants(i).IsSubsetOf(result_set))
      pos:
        line_end: 654
        line_start: 654
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (component.Any())
      pos:
        line_end: 726
        line_start: 726
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (!top_sim.IsOversized())
      pos:
        line_end: 1012
        line_start: 1012
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (removed.size() >= 1)
      pos:
        line_end: 995
        line_start: 995
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (top_sim.graph.Descendants(simpos).IsSubsetOf(removed_set))
      pos:
        line_end: 1000
        line_start: 1000
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (was_oversized == !removed.empty())
      pos:
        line_end: 879
        line_start: 879
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (num_tx == sim.GetTransactionCount())
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (choice == 0)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sim.graph.Descendants(simpos).IsSubsetOf(component - done))
      pos:
        line_end: 1209
        line_start: 1209
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (result_set[simpos])
      pos:
        line_end: 647
        line_start: 647
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (desc.Count() <= max_cluster_count)
      pos:
        line_end: 1196
        line_start: 1196
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (result.size() <= max_cluster_count)
      pos:
        line_end: 594
        line_start: 594
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (feerate.size <= main_sim.SumAll().size)
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (sum == chunk->second)
      pos:
        line_end: 1097
        line_start: 1097
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (cluster.size() <= max_cluster_count)
      pos:
        line_end: 1200
        line_start: 1200
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (last_chunk_feerate == worst_chunk_feerate)
      pos:
        line_end: 1108
        line_start: 1108
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (exists == should_exist)
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (result.size() <= max_cluster_count)
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (result.size() == result_set.Count())
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (simpos != SimTxGraph::MISSING)
      pos:
        line_end: 1094
        line_start: 1094
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (anc == expect_anc)
      pos:
        line_end: 1192
        line_start: 1192
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (top_sim.graph.Descendants(simpos).IsSubsetOf(removed_set))
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (!sims[0].graph.Ancestors(i).Overlaps(todo))
      pos:
        line_end: 1048
        line_start: 1048
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (!top_sim.IsOversized())
      pos:
        line_end: 896
        line_start: 896
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (main_cmp_diagram.size() + missing_main_cmp.size() == main_real_diagram.size())
      pos:
        line_end: 1141
        line_start: 1141
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (chunk.feerate == real->GetMainChunkFeerate(*cluster[idx]))
      pos:
        line_end: 1231
        line_start: 1231
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (chunk.transactions[simlin[idx]])
      pos:
        line_end: 1229
        line_start: 1229
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (!worst_chunk.empty())
      pos:
        line_end: 857
        line_start: 857
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (false)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (vec1 == vec2)
      pos:
        line_end: 1042
        line_start: 1042
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (FeeRateCompare(after_feerate, pos_feerate) <= 0)
      pos:
        line_end: 1074
        line_start: 1074
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (vec_builder == vec1)
      pos:
        line_end: 1102
        line_start: 1102
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (top_sim.MatchesOversizedClusters(removed_set))
      pos:
        line_end: 1004
        line_start: 1004
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (CompareChunks(main_real_diagram, main_implied_diagram) == 0)
      pos:
        line_end: 1114
        line_start: 1114
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (missing_main_cmp == missing_stage_cmp)
      pos:
        line_end: 1152
        line_start: 1152
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (chunk == chunk2)
      pos:
        line_end: 835
        line_start: 835
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (total_size <= max_cluster_size)
      pos:
        line_end: 1216
        line_start: 1216
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (worst_chunk.empty())
      pos:
        line_end: 854
        line_start: 854
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    - condition: (main_sim.graph.Descendants(simpos).IsSubsetOf(done))
      pos:
        line_end: 869
        line_start: 869
        source_file: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 1252
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 1252
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - auto::push_back
    - std::move
    - GetComponents
    - auto::Include
    - TxGraph::Ref::Ref
    - InsecureRandomContext::rand64
    - ChunkLinearization
    - SeedRandomStateForTest
    - std::vector::cend
    - LIMITED_WHILE
    - get
    - auto::GetMainStagingDiagrams
    - DestroyTransaction
    - std::vector::size
    - graph::GetConnectedComponent
    - Linearize
    - FuzzedDataProvider::remaining_bytes
    - empty
    - auto::GetAncestors
    - auto::empty
    - auto::Count
    - cluster_linearize::LinearizationChunking::NumChunksLeft
    - assert
    - std::erase_if
    - std::next_permutation
    - auto::GetDescendantsUnion
    - auto::Exists
    - size
    - std::vector::begin
    - auto::DoWork
    - auto::AbortStaging
    - GetTransactionCount
    - auto::transactions::Any
    - auto::IsEmpty
    - auto::size
    - FuzzedDataProvider::ConsumeIntegral
    - auto::reset
    - MaxOptimalLinearizationIters
    - IsEmpty
    - MatchesOversizedClusters
    - auto::First
    - auto::begin
    - IsOversized
    - std::vector::pop_back
    - std::vector::empty
    - std::reverse
    - std::vector::erase
    - auto::GetWorstMainChunk
    - Assume
    - std::set_difference
    - FeeRateCompare
    - IncludeAncDesc
    - auto::CompareMainOrder
    - auto::Trim
    - std::all_of
    - removed::back
    - cluster_linearize::LinearizationChunking::GetChunk
    - std::accumulate
    - auto::GetDescendants
    - begin
    - auto::GetBlockBuilder
    - get_diagram_fn
    - pick_fn
    - graph::Positions
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - auto::transactions::Reset
    - std::set::insert
    - std::shuffle
    - auto::GetAncestorsUnion
    - removed::pop_back
    - graph::FeeRate
    - auto::Reset
    - auto::SanityCheck
    - CompareChunks
    - graph::Descendants
    - std::vector::front
    - auto::None
    - std::vector::end
    - GetAncDesc
    - auto::HaveStaging
    - last_feerate::IsEmpty
    - MakeTxGraph
    - auto::StartStaging
    - std::vector::reserve
    - auto::GetTransactionCount
    - graph::FindConnectedComponent
    - graph::IsConnected
    - auto::RemoveTransaction
    - Count
    - GetRef
    - auto::SetTransactionFee
    - std::vector::cbegin
    - auto::IsOversized
    - builder::Skip
    - std::vector::clear
    - AddDependency
    - auto::AddTransaction
    - SumAll
    - std::inserter
    - auto::GetIndividualFeerate
    - auto::GetMainChunkFeerate
    - done::Count
    - auto::GetCluster
    - builder::GetCurrentChunk
    - std::sort
    - removed::size
    - auto::Any
    - SimTxGraph::SetType::Set
    - MakeSet
    - auto::CountDistinctClusters
    - swap
    - std::vector::push_back
    - builder::Include
    - SimTxGraph::SetType::Count
    - AddTransaction
    - RemoveTransaction
    - std::vector::back
    - auto::AddDependency
    - InsecureRandomContext::randrange
    - graph::Ancestors
    - SetTransactionFee
    - auto::Set
    - end
    - std::vector::resize
    - auto::GetCurrentChunk
    - Find
    - auto::end
    - auto::CommitStaging
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(txgraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/txgraph.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - builder_in
    argTypes:
    - std::unique_ptr<TxGraph::BlockBuilder>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: BlockBuilderData
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/txgraph.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BlockBuilderData(std::unique_ptr<TxGraph::BlockBuilder> builder_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/message.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: initialize_message
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/message.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_message()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp<int32_t>
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:32,1
    - Dst: m_node::args::GetIntArg
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: GetCheckRatio
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/addrman.cpp
    functionUses: 19
    functionsReached:
    - std::clamp<int32_t>
    - m_node::args::GetIntArg
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetCheckRatio()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp<int32_t>
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:32,1
    - Dst: m_node::args::GetIntArg
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: GetCheckRatio
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/addrman.cpp
    functionUses: 19
    functionsReached:
    - std::clamp<int32_t>
    - m_node::args::GetIntArg
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetCheckRatio()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:38,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: initialize_addrman
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/addrman.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_addrman()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:60,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:61,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:61,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:62,1
    - Dst: remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:63,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:63,1
    - Dst: ConsumeNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:64,1
    - Dst: ConsumeNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:66,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' fast_random_context'
    argTypes:
    - FuzzedDataProvider
    - FastRandomContext
    assertStmts:
    - condition: (!addr.IsValid())
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/test/fuzz/addrman.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: RandAddr
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/addrman.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - ConsumeNetAddr
    - CNetAddr::CNetAddr
    - CNetAddr::IsValid
    - assert
    - remaining_bytes
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr RandAddr(FuzzedDataProvider& fuzzed_data_provider, FastRandomContext&
      fast_random_context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:85,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:87,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:88,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:92,1
    - Dst: RandAddr
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:94,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:95,1
    - Dst: RandAddr
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:98,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:99,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:100,1
    - Dst: Size
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:102,1
    - Dst: Good
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:103,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:103,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:107,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:107,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/fuzz/addrman.cpp:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ' addrman'
    - ' fuzzed_data_provider'
    argTypes:
    - AddrMan
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 113
    functionName: FillAddrman
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/addrman.cpp
    functionUses: 0
    functionsReached:
    - Size
    - ConsumeUInt256
    - ConsumeIntegralInRange
    - CNetAddr::CNetAddr
    - RandAddr
    - Now
    - Good
    - FastRandomContext::randrange
    - CNetAddr::IsValid
    - Add
    linkageType: ''
    returnType: void
    signature: void FillAddrman(AddrMan& addrman, FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:45,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: initialize_deserialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_deserialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: FUZZ_TARGET_DESERIALIZE
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUZZ_TARGET_DESERIALIZE(name, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' obj'
    - ' params'
    argTypes:
    - T
    - P
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 29
    functionsReached:
    - params
    linkageType: ''
    returnType: DataStream
    signature: DataStream Serialize(const T& obj, const P& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' ds'
    - ' params'
    argTypes:
    - DataStream
    - P
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: Deserialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 2
    functionsReached:
    - params
    linkageType: ''
    returnType: T
    signature: T Deserialize(DataStream&& ds, const P& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:84,1
    - Dst: invalid_fuzzing_input_exception
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:86,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:88,1
    - Dst: FuzzBufferType::empty
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:88,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - ' obj'
    - ' params'
    argTypes:
    - FuzzBufferType
    - T
    - P
    assertStmts:
    - condition: (buffer.empty() || !Serialize(obj, params).empty())
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: DeserializeFromFuzzingInput
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached:
    - FuzzBufferType::empty
    - invalid_fuzzing_input_exception
    - Serialize
    - params
    - assert
    linkageType: ''
    returnType: void
    signature: void DeserializeFromFuzzingInput(FuzzBufferType buffer, T&& obj, const
      P& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: DataStream
    signature: DataStream Serialize(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ds
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: Deserialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T Deserialize(DataStream ds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalid_fuzzing_input_exception
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:114,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:116,1
    - Dst: FuzzBufferType::empty
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:116,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - ' obj'
    argTypes:
    - FuzzBufferType
    - T
    assertStmts:
    - condition: (buffer.empty() || !Serialize(obj).empty())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: DeserializeFromFuzzingInput
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached:
    - FuzzBufferType::empty
    - invalid_fuzzing_input_exception
    - Serialize
    - assert
    linkageType: ''
    returnType: void
    signature: void DeserializeFromFuzzingInput(FuzzBufferType buffer, T&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:122,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:122,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' obj'
    - ' params'
    argTypes:
    - T
    - P
    assertStmts:
    - condition: (Deserialize<T>(Serialize(obj, params), params) == obj)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: AssertEqualAfterSerializeDeserialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached:
    - Serialize
    - assert
    - Deserialize
    linkageType: ''
    returnType: void
    signature: void AssertEqualAfterSerializeDeserialize(const T& obj, const P& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:127,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:127,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts:
    - condition: (Deserialize<T>(Serialize(obj)) == obj)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: AssertEqualAfterSerializeDeserialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached:
    - Serialize
    - assert
    - Deserialize
    linkageType: ''
    returnType: void
    signature: void AssertEqualAfterSerializeDeserialize(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' obj'
    - ' params'
    argTypes:
    - T
    - P
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 33
    functionsReached:
    - params
    linkageType: ''
    returnType: DataStream
    signature: DataStream Serialize(const T& obj, const P& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' ds'
    - ' params'
    argTypes:
    - DataStream
    - P
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: Deserialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 4
    functionsReached:
    - params
    linkageType: ''
    returnType: T
    signature: T Deserialize(DataStream&& ds, const P& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:84,1
    - Dst: invalid_fuzzing_input_exception
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:86,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:88,1
    - Dst: FuzzBufferType::empty
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:88,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - ' obj'
    - ' params'
    argTypes:
    - FuzzBufferType
    - T
    - P
    assertStmts:
    - condition: (buffer.empty() || !Serialize(obj, params).empty())
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: DeserializeFromFuzzingInput
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached:
    - FuzzBufferType::empty
    - invalid_fuzzing_input_exception
    - Serialize
    - params
    - assert
    linkageType: ''
    returnType: void
    signature: void DeserializeFromFuzzingInput(FuzzBufferType buffer, T&& obj, const
      P& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: DataStream
    signature: DataStream Serialize(const T& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ds
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: Deserialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T Deserialize(DataStream ds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalid_fuzzing_input_exception
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:114,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:116,1
    - Dst: FuzzBufferType::empty
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:116,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - ' obj'
    argTypes:
    - FuzzBufferType
    - T
    assertStmts:
    - condition: (buffer.empty() || !Serialize(obj).empty())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: DeserializeFromFuzzingInput
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached:
    - FuzzBufferType::empty
    - invalid_fuzzing_input_exception
    - Serialize
    - assert
    linkageType: ''
    returnType: void
    signature: void DeserializeFromFuzzingInput(FuzzBufferType buffer, T&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:122,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:122,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' obj'
    - ' params'
    argTypes:
    - T
    - P
    assertStmts:
    - condition: (Deserialize<T>(Serialize(obj, params), params) == obj)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: AssertEqualAfterSerializeDeserialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached:
    - Serialize
    - assert
    - Deserialize
    linkageType: ''
    returnType: void
    signature: void AssertEqualAfterSerializeDeserialize(const T& obj, const P& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:127,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:127,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/test/fuzz/deserialize.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts:
    - condition: (Deserialize<T>(Serialize(obj)) == obj)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: AssertEqualAfterSerializeDeserialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/deserialize.cpp
    functionUses: 0
    functionsReached:
    - Serialize
    - assert
    - Deserialize
    linkageType: ''
    returnType: void
    signature: void AssertEqualAfterSerializeDeserialize(const T& obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:19,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:19,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:24,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:25,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:26,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:26,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:27,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:27,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:29,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:32,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:33,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:34,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:35,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:36,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:39,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:44,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:45,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:46,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:47,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:50,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:55,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:56,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:57,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:58,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:61,1
    - Dst: CBloomFilter::IsRelevantAndUpdate
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:67,1
    - Dst: CBloomFilter::IsWithinSizeConstraints
      Src: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (present)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp
    - condition: (present)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp
    - condition: (present)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp
    constantsTouched: []
    func_position:
      end: 71
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 71
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bloom_filter.cpp
    functionUses: 0
    functionsReached:
    - ConsumeDeserializable
    - CallOneOf
    - FuzzedDataProvider::remaining_bytes
    - CBloomFilter::contains
    - FuzzedDataProvider::ConsumeIntegral
    - CBloomFilter::IsWithinSizeConstraints
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - ConsumeRandomLengthByteVector
    - CBloomFilter::IsRelevantAndUpdate
    - LIMITED_WHILE
    - FuzzedDataProvider::PickValueInArray
    - CBloomFilter::insert
    - assert
    - RandomMixin::max
    - static_cast<unsigned char>
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(bloom_filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:18,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:20,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:22,1
    - Dst: std::span::begin
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:23,1
    - Dst: std::span::end
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:24,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:26,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:26,1
    - Dst: std::span::first
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:27,1
    - Dst: std::span::last
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:28,1
    - Dst: std::span::subspan
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:29,1
    - Dst: std::span::subspan
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:30,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/fuzz/span.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 33
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/span.cpp
    functionUses: 0
    functionsReached:
    - std::span::size
    - std::span::first
    - std::span::begin
    - std::span::data
    - std::span::end
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - std::span::last
    - std::span::subspan
    - FuzzedDataProvider::ConsumeBytesAsString
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(span)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:17,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:18,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:19,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:21,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:24,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:25,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:26,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:27,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((tx_out_1 == tx_out_2) != (tx_out_1 != tx_out_2))
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp
    - condition: ((tx_1 == tx_2) != (tx_1 != tx_2))
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp
    constantsTouched: []
    func_position:
      end: 34
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 34
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/primitives_transaction.cpp
    functionUses: 0
    functionsReached:
    - ConsumeDeserializable
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - data
    - ConsumeScript
    - ConsumeMoney
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(primitives_transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:18,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:19,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:21,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:22,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:23,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:24,1
    - Dst: WriteLE16
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:27,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:27,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:28,1
    - Dst: ReadLE16
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:28,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:28,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:31,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:31,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:32,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:32,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:32,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:35,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:35,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:36,1
    - Dst: ReadLE64
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:36,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:36,1
    - Dst: WriteBE16
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:39,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:39,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:40,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:40,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:40,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:43,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:43,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:44,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:44,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:44,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:47,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:48,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:48,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:48,1
    - Dst: ReadLE16
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:50,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:50,1
    - Dst: WriteLE16
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:52,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:52,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:53,1
    - Dst: std::memcmp
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:53,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:53,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:53,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:55,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:55,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:57,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:57,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:58,1
    - Dst: std::memcmp
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:58,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:58,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:58,1
    - Dst: ReadLE64
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:60,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:60,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:62,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:62,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:63,1
    - Dst: std::memcmp
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:63,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:63,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:63,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:65,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:65,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:67,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:67,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:68,1
    - Dst: std::memcmp
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:68,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:68,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:68,1
    - Dst: ReadBE64
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:70,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:70,1
    - Dst: WriteBE64
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:72,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:72,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:73,1
    - Dst: std::memcmp
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:73,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:73,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ReadBE32(writebe32_arr.data()) == random_u32)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (std::memcmp(random_bytes_8.data(), readbe64_arr.data(), 8) == 0)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (std::memcmp(random_bytes_4.data(), readbe32_arr.data(), 4) == 0)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (ReadBE64(writebe64_arr.data()) == random_u64)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (std::memcmp(random_bytes_4.data(), readle32_arr.data(), 4) == 0)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (std::memcmp(random_bytes_2.data(), readle16_arr.data(), 2) == 0)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (std::memcmp(random_bytes_8.data(), readle64_arr.data(), 8) == 0)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (ReadLE64(writele64_arr.data()) == random_u64)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (ReadBE16(writebe16_arr.data()) == random_u16)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (ReadLE16(writele16_arr.data()) == random_u16)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    - condition: (ReadLE32(writele32_arr.data()) == random_u32)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    constantsTouched: []
    func_position:
      end: 74
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 74
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_common.cpp
    functionUses: 0
    functionsReached:
    - ReadBE64
    - WriteLE16
    - FuzzedDataProvider::ConsumeIntegral
    - data
    - WriteLE32
    - ReadBE32
    - std::array::data
    - WriteBE16
    - WriteLE64
    - WriteBE32
    - ReadLE32
    - ReadLE64
    - ReadBE16
    - assert
    - ConsumeFixedLengthByteVector
    - std::vector::data
    - size
    - WriteBE64
    - std::memcmp
    - ReadLE16
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_common)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:20,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:20,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:22,1
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:24,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:25,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:27,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:27,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:29,1
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:34,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:34,1
    - Dst: AutoFile::write
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:41,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:41,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:41,1
    - Dst: AutoFile::ignore
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:47,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:47,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:52,1
    - Dst: ReadFromStream
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:55,1
    - Dst: WriteToStream
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:58,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:61,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:62,1
    - Dst: AutoFile::release
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:63,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:65,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/test/fuzz/autofile.cpp:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 70
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/autofile.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::IsNull
    - AutoFile::ignore
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - AutoFile::fclose
    - AutoFile::write
    - AutoFile::release
    - CallOneOf
    - std::array::data
    - LIMITED_WHILE
    - first
    - ConsumeFixedLengthByteVector
    - ReadFromStream
    - size
    - FuzzedFileProvider::open
    - AutoFile::read
    - fclose
    - WriteToStream
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(autofile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:55,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: SetArgs
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - strlen
    linkageType: ''
    returnType: void
    signature: void SetArgs(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: FuzzTargets
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & FuzzTargets()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzTargets
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:78,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:78,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:78,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - target
    - opts
    argTypes:
    - std::string_view
    - TypeTestOneInput
    - FuzzTargetOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: FuzzFrameworkRegisterTarget
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - FuzzTargets
    - std::move
    linkageType: ''
    returnType: void
    signature: void FuzzFrameworkRegisterTarget(std::string_view name, TypeTestOneInput
      target, FuzzTargetOptions opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - FuzzBufferType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: test_one_input
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: void
    signature: void test_one_input(FuzzBufferType buffer)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:102,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:105,1
    - Dst: std::terminate
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:109,1
    - Dst: std::terminate
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:114,1
    - Dst: WrappedGetAddrInfo
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:116,1
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:120,1
    - Dst: FuzzTargets
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:121,1
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:127,1
    - Dst: FuzzTargets
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:130,1
    - Dst: std::exit
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:137,1
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:139,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:142,1
    - Dst: std::exit
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:146,1
    - Dst: FuzzTargets
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:148,1
    - Dst: FuzzTargets
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:149,1
    - Dst: std::exit
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:151,1
    - Dst: std::exit
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:155,1
    - Dst: EnableFuzzDeterminism
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:157,1
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:158,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:162,1
    - Dst: EnableFuzzDeterminism
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:162,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:165,1
    - Dst: auto::second::opts::init
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:167,1
    - Dst: ResetCoverageCounters
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:169,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (EnableFuzzDeterminism())
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 170
    functionName: initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 32
    functionsReached:
    - EnableFuzzDeterminism
    - std::getenv
    - WrappedGetAddrInfo
    - SetMockTime
    - ResetCoverageCounters
    - SeedRandomStateForTest
    - Assert
    - FuzzTargets
    - std::exit
    - std::terminate
    - std::string::c_str
    - assert
    - auto::second::opts::init
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:177,1
    - Dst: gcount
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:177,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:178,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: read_stdin
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached:
    - gcount
    - end
    - insert
    - read
    linkageType: ''
    returnType: bool
    signature: bool read_stdin(std::vector<uint8_t>& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:188,1
    - Dst: fread
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:191,1
    - Dst: ferror
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:192,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:193,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:193,1
    - Dst: feof
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:194,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - ' data'
    argTypes:
    - fs::path
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: read_file
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached:
    - end
    - fread
    - fsbridge::fopen
    - ferror
    - feof
    - fclose
    - insert
    linkageType: ''
    returnType: bool
    signature: bool read_file(fs::path p, std::vector<uint8_t>& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::_Exit
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: signal_handler
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached:
    - std::_Exit
    linkageType: ''
    returnType: void
    signature: void signal_handler(int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_one_input
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached:
    - test_one_input
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetArgs
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:223,1
    - Dst: initialize
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached:
    - initialize
    - SetArgs
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int* argc, char*** argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:231,1
    - Dst: __AFL_LOOP
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:236,1
    - Dst: test_one_input
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:238,1
    - Dst: read_stdin
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:243,1
    - Dst: test_one_input
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:246,1
    - Dst: std::signal
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:249,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:250,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:254,1
    - Dst: fs::directory_iterator
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:256,1
    - Dst: fs::is_regular_file
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:257,1
    - Dst: fs::directory_iterator::path
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:257,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:258,1
    - Dst: fs::directory_iterator::path
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:258,1
    - Dst: ALWAYS_INLINE::Unshuffle
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:260,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:263,1
    - Dst: read_file
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:263,1
    - Dst: test_one_input
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:264,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:266,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:270,1
    - Dst: read_file
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:270,1
    - Dst: test_one_input
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:271,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:273,1
    - Dst: Now
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:276,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/test/fuzz/fuzz.cpp:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 280
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fuzz.cpp
    functionUses: 0
    functionsReached:
    - fs::directory_iterator
    - std::vector::emplace_back
    - test_one_input
    - read_stdin
    - fs::is_regular_file
    - ALWAYS_INLINE::Unshuffle
    - std::signal
    - Now
    - fs::is_directory
    - Assert
    - initialize
    - std::vector::clear
    - read_file
    - fs::directory_iterator::path
    - count_seconds
    - __AFL_LOOP
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:20,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:21,1
    - Dst: ConsumeWeakEnum
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:22,1
    - Dst: NetWhitebindPermissions::TryParse
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:26,1
    - Dst: NetPermissions::ToStrings
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:27,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:29,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:29,1
    - Dst: NetPermissions::ClearFlag
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:30,1
    - Dst: NetPermissions::ToStrings
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:31,1
    - Dst: NetWhitelistPermissions::TryParse
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:37,1
    - Dst: NetPermissions::ToStrings
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:38,1
    - Dst: NetPermissions::AddFlag
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:39,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:40,1
    - Dst: NetPermissions::HasFlag
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:40,1
    - Dst: NetPermissions::ClearFlag
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:41,1
    - Dst: NetPermissions::ToStrings
      Src: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (NetPermissions::HasFlag(net_whitebind_permissions.m_flags, net_permission_flags))
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp
    - condition: (NetPermissions::HasFlag(net_whitelist_permissions.m_flags, net_permission_flags))
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 6
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/net_permissions.cpp
    functionUses: 0
    functionsReached:
    - NetPermissions::ClearFlag
    - FuzzedDataProvider::ConsumeRandomLengthString
    - NetWhitebindPermissions::TryParse
    - NetPermissions::ToStrings
    - NetPermissions::AddFlag
    - size
    - data
    - NetPermissions::HasFlag
    - NetWhitelistPermissions::TryParse
    - assert
    - ConsumeWeakEnum
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(net_permissions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:16,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:16,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:17,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:19,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:20,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:22,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:23,1
    - Dst: AES256Encrypt::Encrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:25,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:25,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:25,1
    - Dst: AES256Decrypt::Decrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:27,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:27,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:27,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (decrypted_plaintext == plaintext)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_aes256.cpp
    functionUses: 0
    functionsReached:
    - ConsumeFixedLengthByteVector
    - AES256Decrypt::Decrypt
    - std::vector::data
    - FuzzedDataProvider::ConsumeBool
    - size
    - data
    - LIMITED_WHILE
    - AES256Encrypt::Encrypt
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_aes256)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:21,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:21,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:21,1
    - Dst: Decrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:23,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:23,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' aead'
    - rekey_interval
    - encrypt
    argTypes:
    - FSChaCha20Poly1305
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: crypt_till_rekey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - Encrypt
    - Decrypt
    - first
    linkageType: ''
    returnType: void
    signature: void crypt_till_rekey(FSChaCha20Poly1305& aead, int rekey_interval,
      bool encrypt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:30,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:32,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:33,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:40,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:53,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:55,1
    - Dst: InsecureRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:57,1
    - Dst: InsecureRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:58,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:61,1
    - Dst: rng
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:61,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:64,1
    - Dst: AEADChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:65,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:65,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:65,1
    - Dst: AEADChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:67,1
    - Dst: AEADChaCha20Poly1305::Keystream
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:72,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:74,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:81,1
    - Dst: AEADChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:88,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:93,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:93,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:93,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:96,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:97,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:104,1
    - Dst: AEADChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:105,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:105,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:105,1
    - Dst: AEADChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:107,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:111,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!ok)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    - condition: ((plain[i] ^ keystream[i]) == cipher[i])
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    - condition: (!ok == damage)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    - condition: (decrypted_contents == plain)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 115
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - FuzzedDataProvider::ConsumeBytes
    - AEADChaCha20Poly1305::Decrypt
    - FuzzedDataProvider::ConsumeIntegral
    - auto::resize
    - size
    - FuzzedDataProvider::ConsumeBool
    - data
    - FuzzedDataProvider::ConsumeIntegralInRange
    - InsecureRandomContext::randbytes
    - rng
    - LIMITED_WHILE
    - AEADChaCha20Poly1305::Encrypt
    - first
    - assert
    - AEADChaCha20Poly1305::Keystream
    - std::vector::size
    - subspan
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_aeadchacha20poly1305)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:119,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:119,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:121,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:122,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:123,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:131,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:133,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:133,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:140,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:144,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:146,1
    - Dst: InsecureRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:148,1
    - Dst: InsecureRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:149,1
    - Dst: crypt_till_rekey
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:152,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:154,1
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:155,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:155,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:155,1
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:157,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:164,1
    - Dst: crypt_till_rekey
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:170,1
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:171,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:172,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:177,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:177,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:177,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:180,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:181,1
    - Dst: crypt_till_rekey
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:187,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:189,1
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:190,1
    - Dst: first
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:190,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:190,1
    - Dst: FSChaCha20Poly1305::Decrypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:192,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:196,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (decrypted_contents == plain)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    - condition: (!ok)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    - condition: (!ok == damage)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    constantsTouched: []
    func_position:
      end: 200
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 200
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - FSChaCha20Poly1305::Decrypt
    - FSChaCha20Poly1305::Encrypt
    - FuzzedDataProvider::ConsumeBytes
    - auto::resize
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - FuzzedDataProvider::ConsumeBool
    - InsecureRandomContext::randbytes
    - LIMITED_WHILE
    - crypt_till_rekey
    - first
    - assert
    - std::vector::size
    - subspan
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_fschacha20poly1305)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:18,1
    - Dst: std::out_of_range
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:19,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:22,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:26,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ' block'
    - position
    - ' merkle_path'
    argTypes:
    - CBlock
    - uint32_t
    - std::vector<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: ComputeMerkleRootFromPath
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/merkle.cpp
    functionUses: 0
    functionsReached:
    - std::out_of_range
    - Hash
    - GetHash
    - vtx::size
    linkageType: ''
    returnType: uint256
    signature: uint256 ComputeMerkleRootFromPath(const CBlock& block, uint32_t position,
      const std::vector<uint256>& merkle_path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:38,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:40,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:41,1
    - Dst: std::optional::vtx::size
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:45,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:50,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:50,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:54,1
    - Dst: ComputeMerkleRoot
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:55,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:59,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:63,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:64,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:65,1
    - Dst: std::optional::vtx::empty
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:68,1
    - Dst: BlockWitnessMerkleRoot
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:69,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:71,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:71,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:76,1
    - Dst: TransactionMerklePath
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:77,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:80,1
    - Dst: ComputeMerkleRootFromPath
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:81,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:82,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:83,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:87,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:89,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/merkle.cpp:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (merkle_root_from_merkle_path == block_merkle_root)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/test/fuzz/merkle.cpp
    - condition: (merkle_root == tx_hashes[0])
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/test/fuzz/merkle.cpp
    - condition: (block_witness_merkle_root == uint256())
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bitcoin-core/src/test/fuzz/merkle.cpp
    - condition: (merkle_root_from_merkle_path == merkle_root)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/test/fuzz/merkle.cpp
    - condition: (merkle_path.size() <= 32)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bitcoin-core/src/test/fuzz/merkle.cpp
    - condition: (block_merkle_root == tx_hashes[0])
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/test/fuzz/merkle.cpp
    - condition: (merkle_path.empty())
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bitcoin-core/src/test/fuzz/merkle.cpp
    constantsTouched: []
    func_position:
      end: 92
      start: 36
    functionDepth: 5
    functionLinenumber: 36
    functionLinenumberEnd: 92
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/merkle.cpp
    functionUses: 0
    functionsReached:
    - ComputeMerkleRootFromPath
    - std::optional::vtx::size
    - FuzzedDataProvider::ConsumeBool
    - GetHash
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - std::vector::push_back
    - BlockWitnessMerkleRoot
    - ComputeMerkleRoot
    - std::vector::reserve
    - TransactionMerklePath
    - std::vector::empty
    - std::vector::size
    - ConsumeDeserializable
    - uint256
    - std::optional::vtx::empty
    - BlockMerkleRoot
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(merkle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/script_sigcache.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: initialize_script_sigcache
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_sigcache.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_script_sigcache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:33,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' dep'
    argTypes:
    - Consensus::BIP9Deployment
    assertStmts:
    - condition: (dep.period > 0)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    - condition: (0 <= dep.min_activation_height)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    - condition: (0 <= dep.bit && dep.bit < 32 && dep.bit < VERSIONBITS_NUM_BITS)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    - condition: (dep.threshold <= dep.period)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: TestConditionChecker::TestConditionChecker
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TestConditionChecker(const Consensus::BIP9Deployment& dep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractThresholdConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pindexPrev
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: TestConditionChecker::GetStateFor
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached:
    - AbstractThresholdConditionChecker::GetStateFor
    linkageType: ''
    returnType: ThresholdState
    signature: ThresholdState GetStateFor(const CBlockIndex* pindexPrev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractThresholdConditionChecker::GetStateSinceHeightFor
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pindexPrev
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: TestConditionChecker::GetStateSinceHeightFor
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached:
    - AbstractThresholdConditionChecker::GetStateSinceHeightFor
    linkageType: ''
    returnType: int
    signature: int GetStateSinceHeightFor(const CBlockIndex* pindexPrev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - start_time
    - interval
    - signal
    - no_signal
    argTypes:
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: Blocks::Blocks
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blocks(uint32_t start_time, uint32_t interval, int32_t signal,
      int32_t no_signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Blocks::size
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Blocks::size
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 1
    functionsReached:
    - Blocks::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:60,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Blocks::tip
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached:
    - back
    - empty
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * tip() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:65,1
    - Dst: Blocks::size
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:67,1
    - Dst: std::make_unique<CBlockIndex>
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:70,1
    - Dst: Blocks::tip
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:71,1
    - Dst: Blocks::size
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:72,1
    - Dst: auto::BuildSkip
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:73,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:75,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - signal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: Blocks::mine_block
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CBlockIndex>
    - std::move
    - Blocks::size
    - auto::BuildSkip
    - CBlockHeader::CBlockHeader
    - emplace_back
    - Blocks::tip
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * mine_block(bool signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (g_params != nullptr)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 34
    functionsReached:
    - assert
    - CreateChainParams
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:33,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' dep'
    argTypes:
    - Consensus::BIP9Deployment
    assertStmts:
    - condition: (dep.period > 0)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    - condition: (0 <= dep.min_activation_height)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    - condition: (0 <= dep.bit && dep.bit < 32 && dep.bit < VERSIONBITS_NUM_BITS)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    - condition: (dep.threshold <= dep.period)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: TestConditionChecker::TestConditionChecker
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TestConditionChecker(const Consensus::BIP9Deployment& dep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractThresholdConditionChecker::GetStateFor
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pindexPrev
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: TestConditionChecker::GetStateFor
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached:
    - AbstractThresholdConditionChecker::GetStateFor
    linkageType: ''
    returnType: ThresholdState
    signature: ThresholdState GetStateFor(const CBlockIndex* pindexPrev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractThresholdConditionChecker::GetStateSinceHeightFor
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pindexPrev
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: TestConditionChecker::GetStateSinceHeightFor
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached:
    - AbstractThresholdConditionChecker::GetStateSinceHeightFor
    linkageType: ''
    returnType: int
    signature: int GetStateSinceHeightFor(const CBlockIndex* pindexPrev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - start_time
    - interval
    - signal
    - no_signal
    argTypes:
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: Blocks::Blocks
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blocks(uint32_t start_time, uint32_t interval, int32_t signal,
      int32_t no_signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Blocks::size
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Blocks::size
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 3
    functionsReached:
    - Blocks::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:60,1
    - Dst: back
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Blocks::tip
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 1
    functionsReached:
    - back
    - empty
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * tip() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:65,1
    - Dst: Blocks::size
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:67,1
    - Dst: std::make_unique<CBlockIndex>
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:70,1
    - Dst: Blocks::tip
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:71,1
    - Dst: Blocks::size
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:72,1
    - Dst: auto::BuildSkip
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:73,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:75,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - signal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: Blocks::mine_block
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CBlockIndex>
    - std::move
    - Blocks::size
    - auto::BuildSkip
    - CBlockHeader::CBlockHeader
    - emplace_back
    - Blocks::tip
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * mine_block(bool signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/versionbits.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (g_params != nullptr)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/versionbits.cpp
    functionUses: 34
    functionsReached:
    - assert
    - CreateChainParams
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:58,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:59,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:60,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:62,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:63,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:64,1
    - Dst: Key::GetID
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:64,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:66,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:67,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:68,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:71,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:72,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:73,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:74,1
    - Dst: CKey::SignSchnorr
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:74,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:75,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:76,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:76,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:76,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:79,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:80,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:80,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:81,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:82,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:83,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:84,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:85,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:86,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:87,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:88,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:88,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:89,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:90,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:91,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:92,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (hash.size() == 20)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (privkey.SignSchnorr(MESSAGE_HASH, schnorr_sig, nullptr, EMPTY_AUX))
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 95
    functionName: Init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 22
    functionsReached:
    - CKey::Sign
    - Key::GetID
    - std::make_pair
    - std::move
    - std::vector::push_back
    - CRIPEMD160
    - CHash256
    - CKey::CKey
    - CHash160
    - std::vector::size
    - std::vector<unsigned char>
    - emplace
    - CKey::SignSchnorr
    - CSHA256
    - CKey::GetPubKey
    - assert
    - std::vector::resize
    - std::vector::data
    - push_back
    - Hash160
    - CKey::Set
    - insert
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:99,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:100,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:101,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:104,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - script_ctx
    - ' key'
    argTypes:
    - MsCtx
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: GetSig
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - miniscript::IsTapscript
    - end
    - find
    linkageType: ''
    returnType: std::pair<std::vector<unsigned char>, bool>
    signature: std::pair<std::vector<unsigned char>, bool> * GetSig(const MsCtx script_ctx,
      const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MsCtx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ParserContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserContext(MsCtx ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const Key& a, const Key& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dummy_key_idx_map::find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:129,1
    - Dst: dummy_key_idx_map::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:130,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: ToString
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 187
    functionsReached:
    - HexStr
    - dummy_key_idx_map::find
    - dummy_key_idx_map::end
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:136,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:137,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:137,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:140,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: ToPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - end
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::end
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKBytes(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:144,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:145,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:146,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:146,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:148,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:149,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: ToPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - miniscript::IsTapscript
    - auto::end
    - Hash160
    - auto::begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKHBytes(const Key& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:155,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:155,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: FromString
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 13
    functionsReached:
    - auto::size
    - ParseHex
    - std::string
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromString(I first, I last) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:162,1
    - Dst: Key::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:164,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:168,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:169,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:169,1
    - Dst: XOnlyPubKey::GetEvenCorrespondingCPubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::GetEvenCorrespondingCPubKey
    - Key::IsValid
    - XOnlyPubKey::XOnlyPubKey
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKBytes(I first, I last) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:175,1
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:176,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:177,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:177,1
    - Dst: dummy_keys_map::find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:178,1
    - Dst: dummy_keys_map::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (last - first == 20)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - dummy_keys_map::find
    - std::copy
    - CKeyID::CKeyID
    - CKeyID::begin
    - assert
    - dummy_keys_map::end
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKHBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: MsContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: MsCtx
    signature: MsCtx MsContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MsCtx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ScriptParserContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptParserContext(MsCtx ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const Key& a, const Key& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts:
    - condition: (!key.is_hash)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: '& ToPKBytes(const Key& key) const'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> & ToPKBytes(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:213,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:214,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: ToPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::end
    - Hash160
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKHBytes(const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::data::assign
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - Key::data::assign
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::data::assign
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - Key::data::assign
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKHBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: MsContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: MsCtx
    signature: MsCtx MsContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MsCtx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: SatisfierContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatisfierContext(MsCtx ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: CheckAfter
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckAfter(uint32_t value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: CheckOlder
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckOlder(uint32_t value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSig
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:253,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' sig'
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: Sign
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 15
    functionsReached:
    - GetSig
    - std::tie
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability Sign(const CPubKey& key, std::vector<unsigned
      char>& sig) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:263,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' hash'
    - ' preimage'
    - ' map'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - std::map<std::vector<unsigned char>, std::vector<unsigned char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: LookupHash
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: miniscript::Availability
    signature: "miniscript::Availability LookupHash(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage,\n                                        const
      std::map<std::vector<unsigned char>, std::vector<unsigned char>>& map) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: SatSHA256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - LookupHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatSHA256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: SatRIPEMD160
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - LookupHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatRIPEMD160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: SatHASH256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - LookupHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: SatHASH160
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - LookupHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dummy_sigs::find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:289,1
    - Dst: dummy_sigs::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' sig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - dummy_sigs::find
    - dummy_sigs::end
    linkageType: ''
    returnType: bool
    signature: "bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& vchPubKey,\n                             const CScript&
      scriptCode, SigVersion sigversion) const override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schnorr_sigs::find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:296,1
    - Dst: schnorr_sigs::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:297,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sig
    - pubkey
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - schnorr_sigs::end
    - schnorr_sigs::find
    - all_bytes_equal
    linkageType: ''
    returnType: bool
    signature: "bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion,\n                               ScriptExecutionData&,
      ScriptError*) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInt64
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nLockTime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - GetInt64
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& nLockTime) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInt64
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nSequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: CheckSequence
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - GetInt64
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& nSequence) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CPubKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const CPubKey& a, const CPubKey& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::MakeNodeRef<CPubKey>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:316,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: MakeNodeRef
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - miniscript::MakeNodeRef<CPubKey>
    linkageType: ''
    returnType: NodeRef
    signature: NodeRef MakeNodeRef(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - frag
    argTypes:
    - Fragment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - frag
    - key
    argTypes:
    - Fragment
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag, CPubKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - frag
    - _k
    argTypes:
    - Fragment
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag, uint32_t _k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - frag
    - h
    argTypes:
    - Fragment
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag, std::vector<unsigned char> h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - subt
    - frag
    argTypes:
    - std::vector<Type>
    - Fragment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NodeInfo(std::vector<Type> subt, Fragment frag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - subt
    - frag
    - _k
    argTypes:
    - std::vector<Type>
    - Fragment
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NodeInfo(std::vector<Type> subt, Fragment frag, uint32_t _k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - frag
    - _k
    - _keys
    argTypes:
    - Fragment
    - uint32_t
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag, uint32_t _k, std::vector<CPubKey> _keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' provider'
    - ' col'
    argTypes:
    - FuzzedDataProvider
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: ConsumeIndex
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegral
    linkageType: ''
    returnType: T
    signature: T ConsumeIndex(FuzzedDataProvider& provider, A& col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: ConsumePubKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: CPubKey
    signature: CPubKey ConsumePubKey(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: ConsumeSha256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ConsumeSha256(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: ConsumeHash256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ConsumeHash256(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: ConsumeRipemd160
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ConsumeRipemd160(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: ConsumeHash160
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ConsumeHash160(FuzzedDataProvider& provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ConsumeTimeLock
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegral
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> ConsumeTimeLock(FuzzedDataProvider& provider)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:394,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:403,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:406,1
    - Dst: ConsumeTimeLock
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:409,1
    - Dst: ConsumeTimeLock
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:415,1
    - Dst: ConsumeSha256
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:421,1
    - Dst: ConsumeHash256
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:424,1
    - Dst: ConsumeRipemd160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:427,1
    - Dst: ConsumeHash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:430,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:432,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:433,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:434,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:437,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:438,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:463,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:464,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:467,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:468,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:469,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:470,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:494,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:495,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:496,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:499,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:500,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 135
    argCount: 3
    argNames:
    - script_ctx
    - ' provider'
    - type_needed
    argTypes:
    - MsCtx
    - FuzzedDataProvider
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 506
    functionName: ConsumeNodeStable
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumePubKey
    - std::vector::emplace_back
    - IsTapscript
    - ConsumeHash256
    - std::move
    - ConsumeRipemd160
    - ConsumeSha256
    - ConsumeHash160
    - ConsumeTimeLock
    - std::vector::reserve
    - ConsumeIntegral
    linkageType: ''
    returnType: std::optional<NodeInfo>
    signature: std::optional<NodeInfo> ConsumeNodeStable(MsCtx script_ctx, FuzzedDataProvider&
      provider, Type type_needed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:522,1
    - Dst: Init
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: Init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 23
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:545,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:560,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:560,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:561,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:572,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:572,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:572,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:584,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:585,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:651,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:652,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:653,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:654,1
    - Dst: miniscript::internal::ComputeType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:655,1
    - Dst: is_super_of
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:660,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:667,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:667,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:667,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:668,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:688,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:690,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:692,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:696,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:699,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:699,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:700,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:701,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:713,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:716,1
    - Dst: known_constructible
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:719,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:724,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:724,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:724,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:725,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:731,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:733,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:733,1
    - Dst: auto::second::erase
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:735,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:735,1
    - Dst: auto::second::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:735,1
    - Dst: auto::second::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:735,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:737,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:737,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:737,1
    - Dst: auto::second::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:738,1
    - Dst: auto::second::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:740,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:741,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:751,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:751,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:751,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:753,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:753,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:754,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:754,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 163
    argCount: 2
    argNames:
    - ' table'
    - script_ctx
    argTypes:
    - std::map<Type, std::vector<recipe>>
    - MsCtx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 759
    functionName: Init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 23
    functionsReached:
    - miniscript::IsTapscript
    - std::vector::push_back
    - std::set::insert
    - is_super_of
    - second::begin
    - auto::second::empty
    - known_constructible
    - second::size
    - std::vector::end
    - auto::second::begin
    - std::remove_if
    - auto::second::end
    - std::vector::clear
    - std::set::count
    - miniscript::internal::ComputeType
    - std::all_of
    - second::end
    - end
    - erase
    - push_back
    - auto::second::erase
    - std::vector::begin
    - std::any_of
    - std::sort
    - begin
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void Init(std::map<Type, std::vector<recipe>>& table, MsCtx script_ctx)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:774,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:775,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:776,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:776,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:778,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:784,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:786,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:787,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:789,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:790,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:793,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:794,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:796,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:797,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:801,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:803,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:805,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:807,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:809,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:829,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:830,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:834,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:836,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:838,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:838,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:838,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:839,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 3
    argNames:
    - script_ctx
    - ' provider'
    - type_needed
    argTypes:
    - MsCtx
    - FuzzedDataProvider
    - Type
    assertStmts:
    - condition: (recipes_it != table.end())
      pos:
        line_end: 775
        line_start: 775
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (false)
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 844
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 844
    functionName: ConsumeNodeSmart
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - end
    - ConsumePubKey
    - ConsumeIntegralInRange
    - std::vector::back
    - IsTapscript
    - std::move
    - size
    - std::vector::push_back
    - assert
    - find
    - PickValue
    - std::vector::size
    linkageType: ''
    returnType: std::optional<NodeInfo>
    signature: std::optional<NodeInfo> ConsumeNodeSmart(MsCtx script_ctx, FuzzedDataProvider&
      provider, Type type_needed)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:866,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:868,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:869,1
    - Dst: ConsumeNode
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:871,1
    - Dst: miniscript::internal::ComputeScriptLen
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:876,1
    - Dst: auto::subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:876,1
    - Dst: auto::subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:876,1
    - Dst: auto::keys::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:877,1
    - Dst: auto::subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:917,1
    - Dst: auto::keys::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:923,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:950,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:950,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:951,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:951,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:951,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:954,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:955,1
    - Dst: auto::rbegin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:955,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:962,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:965,1
    - Dst: subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:965,1
    - Dst: subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:966,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:967,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:967,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:967,1
    - Dst: subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:967,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:969,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:969,1
    - Dst: subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:969,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:969,1
    - Dst: keys::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:972,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:973,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:973,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:973,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:975,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:975,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:976,1
    - Dst: hash::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:976,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:977,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:977,1
    - Dst: NodeRef::GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:980,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:981,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:985,1
    - Dst: NodeRef::GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:985,1
    - Dst: NodeRef::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:987,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:989,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:993,1
    - Dst: miniscript::internal::MaxScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:994,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:998,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:998,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:999,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1002,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1002,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1003,1
    - Dst: GetStaticOps
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1003,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1004,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1004,1
    - Dst: DuplicateKeyCheck
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1005,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1006,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 122
    argCount: 3
    argNames:
    - script_ctx
    - ConsumeNode
    - root_type
    argTypes:
    - MsCtx
    - F
    - Type
    assertStmts:
    - condition: (!strict_valid)
      pos:
        line_end: 980
        line_start: 980
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack[0]->ScriptSize() == scriptsize)
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (node->GetType() << type_needed)
      pos:
        line_end: 984
        line_start: 984
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack[0]->GetStaticOps() == ops)
      pos:
        line_end: 1002
        line_start: 1002
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (info.hash.empty())
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (sub.empty())
      pos:
        line_end: 974
        line_start: 974
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack.size() == 1)
      pos:
        line_end: 1001
        line_start: 1001
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 1007
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 1007
    functionName: GenNode
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - NodeRef::GetType
    - std::vector::emplace_back
    - ScriptSize
    - miniscript::IsTapscript
    - std::move
    - std::vector::push_back
    - MakeNodeRef
    - hash::empty
    - miniscript::internal::MaxScriptSize
    - std::vector::end
    - std::vector::back
    - std::vector::reserve
    - DuplicateKeyCheck
    - std::vector::pop_back
    - std::vector::empty
    - subtypes::size
    - std::vector::size
    - GetStaticOps
    - std::vector::erase
    - auto::rbegin
    - assert
    - auto::keys::size
    - miniscript::internal::ComputeScriptLen
    - auto::subtypes::size
    - NodeRef::IsValid
    - ConsumeNode
    - GetType
    - keys::empty
    linkageType: ''
    returnType: NodeRef
    signature: NodeRef GenNode(MsCtx script_ctx, F ConsumeNode, Type root_type, bool
      strict_valid = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1012,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1012,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1012,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1015,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1016,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1017,1
    - Dst: GetOutput
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - ' script'
    - ' builder'
    argTypes:
    - MsCtx
    - CScript
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    functionName: ScriptPubKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - GetScriptForDestination
    - miniscript::IsTapscript
    - GetOutput
    - WitnessV0ScriptHash
    - Finalize
    - CScript
    - Add
    linkageType: ''
    returnType: CScript
    signature: CScript ScriptPubKey(MsCtx ctx, const CScript& script, TaprootBuilder&
      builder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stack::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1023,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1023,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1023,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1024,1
    - Dst: stack::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1026,1
    - Dst: GetSpendData
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1026,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1026,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - ' witness'
    - ' script'
    - ' builder'
    argTypes:
    - MsCtx
    - CScriptWitness
    - CScript
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1027
    functionName: SatisfactionToWitness
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - end
    - miniscript::IsTapscript
    - stack::push_back
    - GetSpendData
    - begin
    - stack::emplace_back
    linkageType: ''
    returnType: void
    signature: void SatisfactionToWitness(MsCtx ctx, CScriptWitness& witness, const
      CScript& script, TaprootBuilder& builder)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1036,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1037,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1038,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1039,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1040,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1043,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1044,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1044,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1044,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1048,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1049,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: IsValidTopLevel
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1054,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1057,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1058,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1062,1
    - Dst: auto::ToScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1062,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1063,1
    - Dst: auto::GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1063,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1063,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1068,1
    - Dst: GetOps
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1078,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1079,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1080,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1081,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1083,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1084,1
    - Dst: GetExecStackSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1089,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1090,1
    - Dst: CScriptWitness::stack::resize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1092,1
    - Dst: stack::resize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1093,1
    - Dst: auto::reserve
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1094,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1095,1
    - Dst: ScriptPubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1103,1
    - Dst: Satisfy
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1107,1
    - Dst: Satisfy
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1111,1
    - Dst: GetStackSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1117,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1117,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1118,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1118,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1120,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1121,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1123,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1123,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1123,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1124,1
    - Dst: GetWitnessSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1124,1
    - Dst: stack::insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: stack::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: SatisfactionToWitness
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1128,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1130,1
    - Dst: ValidSatisfactions
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1132,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1132,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1135,1
    - Dst: CheckOpsLimit
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1136,1
    - Dst: CheckStackSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1137,1
    - Dst: CScriptWitness::stack::insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: CScriptWitness::stack::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: SatisfactionToWitness
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1143,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1145,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1148,1
    - Dst: IsSane
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1153,1
    - Dst: GetSig
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1161,1
    - Dst: IsSatisfiable
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1164,1
    - Dst: is_key_satisfiable
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1168,1
    - Dst: std::count_if
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1171,1
    - Dst: keys::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1171,1
    - Dst: keys::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1171,1
    - Dst: is_key_satisfiable
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1172,1
    - Dst: sha256_preimages::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1180,1
    - Dst: hash256_preimages::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1182,1
    - Dst: ripemd160_preimages::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1184,1
    - Dst: hash160_preimages::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1186,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1188,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1192,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 3
    argNames:
    - script_ctx
    - ' node'
    - ' provider'
    argTypes:
    - MsCtx
    - NodeRef
    - FuzzedDataProvider
    assertStmts:
    - condition: "(res ||\n               (!node->CheckOpsLimit() && serror == ScriptError::SCRIPT_ERR_OP_COUNT)
        ||\n               (!node->CheckStackSize() && serror == ScriptError::SCRIPT_ERR_STACK_SIZE))"
      pos:
        line_end: 1136
        line_start: 1134
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (*parsed == *node)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (false)
      pos:
        line_end: 1187
        line_start: 1187
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (decoded->ToScript(parser_ctx) == script)
      pos:
        line_end: 1061
        line_start: 1061
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (decoded->GetType() == node->GetType())
      pos:
        line_end: 1062
        line_start: 1062
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (parsed)
      pos:
        line_end: 1038
        line_start: 1038
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (node->ScriptSize() == script.size())
      pos:
        line_end: 1043
        line_start: 1043
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (decoded)
      pos:
        line_end: 1057
        line_start: 1057
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (ends_in_verify == (script.back() == OP_CHECKSIG || script.back()
        == OP_CHECKMULTISIG || script.back() == OP_EQUAL || script.back() == OP_NUMEQUAL))
      pos:
        line_end: 1049
        line_start: 1049
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack_nonmal == stack_mal)
      pos:
        line_end: 1120
        line_start: 1120
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (mal_success == satisfiable)
      pos:
        line_end: 1191
        line_start: 1191
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (mal_success == nonmal_success)
      pos:
        line_end: 1152
        line_start: 1152
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack_nonmal.size() <= max_stack_size)
      pos:
        line_end: 1117
        line_start: 1117
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (wit_size <= *node->GetWitnessSize())
      pos:
        line_end: 1123
        line_start: 1123
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (res || serror == ScriptError::SCRIPT_ERR_OP_COUNT || serror == ScriptError::SCRIPT_ERR_STACK_SIZE)
      pos:
        line_end: 1147
        line_start: 1147
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (str)
      pos:
        line_end: 1036
        line_start: 1036
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (res)
      pos:
        line_end: 1131
        line_start: 1131
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (mal_success)
      pos:
        line_end: 1119
        line_start: 1119
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 1193
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1193
    functionName: TestNode
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 5
    functionsReached:
    - auto::size
    - auto::back
    - auto::reserve
    - ScriptSize
    - auto::push_back
    - miniscript::IsTapscript
    - CScriptWitness::stack::resize
    - IsSatisfiable
    - ScriptPubKey
    - stack::resize
    - CScriptWitness::stack::insert
    - Satisfy
    - sha256_preimages::count
    - GetExecStackSize
    - std::vector::end
    - keys::begin
    - auto::ToScript
    - ToString
    - std::min<int>
    - IsTapscript
    - IsValidTopLevel
    - miniscript::FromString
    - std::vector::size
    - auto::GetType
    - stack::insert
    - VerifyScript
    - hash256_preimages::count
    - ripemd160_preimages::count
    - GetSerializeSize
    - std::make_move_iterator
    - SatisfactionToWitness
    - keys::end
    - GetSizeOfCompactSize
    - CheckOpsLimit
    - assert
    - GetOps
    - CScriptWitness::stack::end
    - GetSig
    - ValidSatisfactions
    - IsSane
    - ConsumeBool
    - GetStackSize
    - std::count_if
    - hash160_preimages::count
    - std::vector::begin
    - ToScript
    - CheckStackSize
    - GetType
    - miniscript::FromScript
    - GetWitnessSize
    - stack::end
    - is_key_satisfiable
    linkageType: ''
    returnType: void
    signature: void TestNode(const MsCtx script_ctx, const NodeRef& node, FuzzedDataProvider&
      provider)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:58,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:59,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:60,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:62,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:63,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:64,1
    - Dst: Key::GetID
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:64,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:66,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:67,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:68,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:71,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:72,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:73,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:74,1
    - Dst: CKey::SignSchnorr
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:74,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:75,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:76,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:76,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:76,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:79,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:80,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:80,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:81,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:82,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:83,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:84,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:85,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:86,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:87,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:88,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:88,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:89,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:90,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:91,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:92,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (hash.size() == 20)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (privkey.SignSchnorr(MESSAGE_HASH, schnorr_sig, nullptr, EMPTY_AUX))
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 95
    functionName: Init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 23
    functionsReached:
    - CKey::Sign
    - Key::GetID
    - std::make_pair
    - std::move
    - std::vector::push_back
    - CRIPEMD160
    - CHash256
    - CKey::CKey
    - CHash160
    - std::vector::size
    - std::vector<unsigned char>
    - emplace
    - CKey::SignSchnorr
    - CSHA256
    - CKey::GetPubKey
    - assert
    - std::vector::resize
    - std::vector::data
    - push_back
    - Hash160
    - CKey::Set
    - insert
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:99,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:100,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:101,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:104,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - script_ctx
    - ' key'
    argTypes:
    - MsCtx
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: GetSig
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - miniscript::IsTapscript
    - end
    - find
    linkageType: ''
    returnType: std::pair<std::vector<unsigned char>, bool>
    signature: std::pair<std::vector<unsigned char>, bool> * GetSig(const MsCtx script_ctx,
      const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MsCtx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ParserContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserContext(MsCtx ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const Key& a, const Key& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dummy_key_idx_map::find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:129,1
    - Dst: dummy_key_idx_map::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:130,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: ToString
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 188
    functionsReached:
    - HexStr
    - dummy_key_idx_map::find
    - dummy_key_idx_map::end
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:136,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:137,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:137,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:140,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: ToPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - end
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::end
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKBytes(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:144,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:145,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:146,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:146,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:148,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:149,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: ToPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - miniscript::IsTapscript
    - auto::end
    - Hash160
    - auto::begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKHBytes(const Key& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:155,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:155,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: FromString
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 14
    functionsReached:
    - auto::size
    - ParseHex
    - std::string
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromString(I first, I last) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:162,1
    - Dst: Key::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:164,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:168,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:169,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:169,1
    - Dst: XOnlyPubKey::GetEvenCorrespondingCPubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::GetEvenCorrespondingCPubKey
    - Key::IsValid
    - XOnlyPubKey::XOnlyPubKey
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKBytes(I first, I last) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:175,1
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:176,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:177,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:177,1
    - Dst: dummy_keys_map::find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:178,1
    - Dst: dummy_keys_map::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (last - first == 20)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - dummy_keys_map::find
    - std::copy
    - CKeyID::CKeyID
    - CKeyID::begin
    - assert
    - dummy_keys_map::end
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKHBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: MsContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: MsCtx
    signature: MsCtx MsContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MsCtx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ScriptParserContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptParserContext(MsCtx ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const Key& a, const Key& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts:
    - condition: (!key.is_hash)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: '& ToPKBytes(const Key& key) const'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> & ToPKBytes(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Hash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:213,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:214,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: ToPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::end
    - Hash160
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKHBytes(const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::data::assign
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - Key::data::assign
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::data::assign
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - Key::data::assign
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKHBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: MsContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: MsCtx
    signature: MsCtx MsContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MsCtx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: SatisfierContext
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatisfierContext(MsCtx ctx) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: CheckAfter
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckAfter(uint32_t value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: CheckOlder
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckOlder(uint32_t value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSig
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:253,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' sig'
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: Sign
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 16
    functionsReached:
    - GetSig
    - std::tie
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability Sign(const CPubKey& key, std::vector<unsigned
      char>& sig) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:263,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' hash'
    - ' preimage'
    - ' map'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - std::map<std::vector<unsigned char>, std::vector<unsigned char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: LookupHash
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 4
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: miniscript::Availability
    signature: "miniscript::Availability LookupHash(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage,\n                                        const
      std::map<std::vector<unsigned char>, std::vector<unsigned char>>& map) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: SatSHA256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - LookupHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatSHA256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: SatRIPEMD160
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - LookupHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatRIPEMD160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: SatHASH256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - LookupHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: SatHASH160
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - LookupHash
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dummy_sigs::find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:289,1
    - Dst: dummy_sigs::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' sig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - dummy_sigs::find
    - dummy_sigs::end
    linkageType: ''
    returnType: bool
    signature: "bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& vchPubKey,\n                             const CScript&
      scriptCode, SigVersion sigversion) const override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schnorr_sigs::find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:296,1
    - Dst: schnorr_sigs::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:297,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sig
    - pubkey
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - schnorr_sigs::end
    - schnorr_sigs::find
    - all_bytes_equal
    linkageType: ''
    returnType: bool
    signature: "bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion,\n                               ScriptExecutionData&,
      ScriptError*) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInt64
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nLockTime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - GetInt64
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& nLockTime) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInt64
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nSequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: CheckSequence
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - GetInt64
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& nSequence) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CPubKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const CPubKey& a, const CPubKey& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::MakeNodeRef<CPubKey>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:316,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: MakeNodeRef
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - miniscript::MakeNodeRef<CPubKey>
    linkageType: ''
    returnType: NodeRef
    signature: NodeRef MakeNodeRef(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - frag
    argTypes:
    - Fragment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - frag
    - key
    argTypes:
    - Fragment
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag, CPubKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - frag
    - _k
    argTypes:
    - Fragment
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag, uint32_t _k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - frag
    - h
    argTypes:
    - Fragment
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag, std::vector<unsigned char> h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - subt
    - frag
    argTypes:
    - std::vector<Type>
    - Fragment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NodeInfo(std::vector<Type> subt, Fragment frag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - subt
    - frag
    - _k
    argTypes:
    - std::vector<Type>
    - Fragment
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NodeInfo(std::vector<Type> subt, Fragment frag, uint32_t _k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - frag
    - _k
    - _keys
    argTypes:
    - Fragment
    - uint32_t
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: NodeInfo
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NodeInfo(Fragment frag, uint32_t _k, std::vector<CPubKey> _keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' provider'
    - ' col'
    argTypes:
    - FuzzedDataProvider
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: ConsumeIndex
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 5
    functionsReached:
    - ConsumeIntegral
    linkageType: ''
    returnType: T
    signature: T ConsumeIndex(FuzzedDataProvider& provider, A& col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: ConsumePubKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 2
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: CPubKey
    signature: CPubKey ConsumePubKey(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: ConsumeSha256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 1
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ConsumeSha256(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: ConsumeHash256
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 1
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ConsumeHash256(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: ConsumeRipemd160
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 1
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ConsumeRipemd160(FuzzedDataProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIndex
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: ConsumeHash160
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 1
    functionsReached:
    - ConsumeIndex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ConsumeHash160(FuzzedDataProvider& provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ConsumeTimeLock
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 1
    functionsReached:
    - ConsumeIntegral
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> ConsumeTimeLock(FuzzedDataProvider& provider)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:394,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:403,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:406,1
    - Dst: ConsumeTimeLock
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:409,1
    - Dst: ConsumeTimeLock
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:415,1
    - Dst: ConsumeSha256
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:421,1
    - Dst: ConsumeHash256
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:424,1
    - Dst: ConsumeRipemd160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:427,1
    - Dst: ConsumeHash160
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:430,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:432,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:433,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:434,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:437,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:438,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:463,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:464,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:467,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:468,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:469,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:470,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:494,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:495,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:496,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:499,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:500,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 135
    argCount: 3
    argNames:
    - script_ctx
    - ' provider'
    - type_needed
    argTypes:
    - MsCtx
    - FuzzedDataProvider
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 506
    functionName: ConsumeNodeStable
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumePubKey
    - std::vector::emplace_back
    - IsTapscript
    - ConsumeHash256
    - std::move
    - ConsumeRipemd160
    - ConsumeSha256
    - ConsumeHash160
    - ConsumeTimeLock
    - std::vector::reserve
    - ConsumeIntegral
    linkageType: ''
    returnType: std::optional<NodeInfo>
    signature: std::optional<NodeInfo> ConsumeNodeStable(MsCtx script_ctx, FuzzedDataProvider&
      provider, Type type_needed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:522,1
    - Dst: Init
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: Init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 24
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:545,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:560,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:560,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:561,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:572,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:572,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:572,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:584,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:585,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:651,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:652,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:653,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:654,1
    - Dst: miniscript::internal::ComputeType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:655,1
    - Dst: is_super_of
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:660,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:667,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:667,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:667,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:668,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:688,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:690,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:692,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:696,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:699,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:699,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:700,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:701,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:713,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:716,1
    - Dst: known_constructible
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:719,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:724,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:724,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:724,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:725,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:731,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:733,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:733,1
    - Dst: auto::second::erase
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:735,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:735,1
    - Dst: auto::second::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:735,1
    - Dst: auto::second::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:735,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:737,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:737,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:737,1
    - Dst: auto::second::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:738,1
    - Dst: auto::second::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:740,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:741,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:751,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:751,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:751,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:753,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:753,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:754,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:754,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 163
    argCount: 2
    argNames:
    - ' table'
    - script_ctx
    argTypes:
    - std::map<Type, std::vector<recipe>>
    - MsCtx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 759
    functionName: Init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 24
    functionsReached:
    - miniscript::IsTapscript
    - std::vector::push_back
    - std::set::insert
    - is_super_of
    - second::begin
    - auto::second::empty
    - known_constructible
    - second::size
    - std::vector::end
    - auto::second::begin
    - std::remove_if
    - auto::second::end
    - std::vector::clear
    - std::set::count
    - miniscript::internal::ComputeType
    - std::all_of
    - second::end
    - end
    - erase
    - push_back
    - auto::second::erase
    - std::vector::begin
    - std::any_of
    - std::sort
    - begin
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void Init(std::map<Type, std::vector<recipe>>& table, MsCtx script_ctx)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:774,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:775,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:776,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:776,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:778,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:784,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:786,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:787,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:789,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:790,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:793,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:794,1
    - Dst: ConsumePubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:796,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:797,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:801,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:803,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:805,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:807,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:809,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:829,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:830,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:834,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:836,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:838,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:838,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:838,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:839,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 3
    argNames:
    - script_ctx
    - ' provider'
    - type_needed
    argTypes:
    - MsCtx
    - FuzzedDataProvider
    - Type
    assertStmts:
    - condition: (recipes_it != table.end())
      pos:
        line_end: 775
        line_start: 775
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (false)
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 844
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 844
    functionName: ConsumeNodeSmart
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - end
    - ConsumePubKey
    - ConsumeIntegralInRange
    - std::vector::back
    - IsTapscript
    - std::move
    - size
    - std::vector::push_back
    - assert
    - find
    - PickValue
    - std::vector::size
    linkageType: ''
    returnType: std::optional<NodeInfo>
    signature: std::optional<NodeInfo> ConsumeNodeSmart(MsCtx script_ctx, FuzzedDataProvider&
      provider, Type type_needed)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:866,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:868,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:869,1
    - Dst: ConsumeNode
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:871,1
    - Dst: miniscript::internal::ComputeScriptLen
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:876,1
    - Dst: auto::subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:876,1
    - Dst: auto::subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:876,1
    - Dst: auto::keys::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:877,1
    - Dst: auto::subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:917,1
    - Dst: auto::keys::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:923,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:950,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:950,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:951,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:951,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:951,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:954,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:955,1
    - Dst: auto::rbegin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:955,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:962,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:965,1
    - Dst: subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:965,1
    - Dst: subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:966,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:967,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:967,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:967,1
    - Dst: subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:967,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:969,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:969,1
    - Dst: subtypes::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:969,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:969,1
    - Dst: keys::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:972,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:973,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:973,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:973,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:975,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:975,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:976,1
    - Dst: hash::empty
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:976,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:977,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:977,1
    - Dst: NodeRef::GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:980,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:981,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:985,1
    - Dst: NodeRef::GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:985,1
    - Dst: NodeRef::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:987,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:989,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:993,1
    - Dst: miniscript::internal::MaxScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:994,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:998,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:998,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:999,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1002,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1002,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1003,1
    - Dst: GetStaticOps
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1003,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1004,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1004,1
    - Dst: DuplicateKeyCheck
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1005,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1006,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 122
    argCount: 3
    argNames:
    - script_ctx
    - ConsumeNode
    - root_type
    argTypes:
    - MsCtx
    - F
    - Type
    assertStmts:
    - condition: (!strict_valid)
      pos:
        line_end: 980
        line_start: 980
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack[0]->ScriptSize() == scriptsize)
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (node->GetType() << type_needed)
      pos:
        line_end: 984
        line_start: 984
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack[0]->GetStaticOps() == ops)
      pos:
        line_end: 1002
        line_start: 1002
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (info.hash.empty())
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (sub.empty())
      pos:
        line_end: 974
        line_start: 974
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack.size() == 1)
      pos:
        line_end: 1001
        line_start: 1001
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 1007
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 1007
    functionName: GenNode
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - NodeRef::GetType
    - std::vector::emplace_back
    - ScriptSize
    - miniscript::IsTapscript
    - std::move
    - std::vector::push_back
    - MakeNodeRef
    - hash::empty
    - miniscript::internal::MaxScriptSize
    - std::vector::end
    - std::vector::back
    - std::vector::reserve
    - DuplicateKeyCheck
    - std::vector::pop_back
    - std::vector::empty
    - subtypes::size
    - std::vector::size
    - GetStaticOps
    - std::vector::erase
    - auto::rbegin
    - assert
    - auto::keys::size
    - miniscript::internal::ComputeScriptLen
    - auto::subtypes::size
    - NodeRef::IsValid
    - ConsumeNode
    - GetType
    - keys::empty
    linkageType: ''
    returnType: NodeRef
    signature: NodeRef GenNode(MsCtx script_ctx, F ConsumeNode, Type root_type, bool
      strict_valid = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1012,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1012,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1012,1
    - Dst: Add
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1015,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1016,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1017,1
    - Dst: GetOutput
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - ' script'
    - ' builder'
    argTypes:
    - MsCtx
    - CScript
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    functionName: ScriptPubKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 3
    functionsReached:
    - GetScriptForDestination
    - miniscript::IsTapscript
    - GetOutput
    - WitnessV0ScriptHash
    - Finalize
    - CScript
    - Add
    linkageType: ''
    returnType: CScript
    signature: CScript ScriptPubKey(MsCtx ctx, const CScript& script, TaprootBuilder&
      builder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stack::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1023,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1023,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1023,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1024,1
    - Dst: stack::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1026,1
    - Dst: GetSpendData
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1026,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1026,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - ' witness'
    - ' script'
    - ' builder'
    argTypes:
    - MsCtx
    - CScriptWitness
    - CScript
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1027
    functionName: SatisfactionToWitness
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 3
    functionsReached:
    - end
    - miniscript::IsTapscript
    - stack::push_back
    - GetSpendData
    - begin
    - stack::emplace_back
    linkageType: ''
    returnType: void
    signature: void SatisfactionToWitness(MsCtx ctx, CScriptWitness& witness, const
      CScript& script, TaprootBuilder& builder)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1036,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1037,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1038,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1039,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1040,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1043,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1044,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1044,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1044,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1048,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1049,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1050,1
    - Dst: IsValidTopLevel
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1054,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1057,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1058,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1062,1
    - Dst: auto::ToScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1062,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1063,1
    - Dst: auto::GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1063,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1063,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1068,1
    - Dst: GetOps
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1078,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1079,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1080,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1081,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1083,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1084,1
    - Dst: GetExecStackSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1089,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1090,1
    - Dst: CScriptWitness::stack::resize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1092,1
    - Dst: stack::resize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1093,1
    - Dst: auto::reserve
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1094,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1095,1
    - Dst: ScriptPubKey
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1103,1
    - Dst: Satisfy
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1107,1
    - Dst: Satisfy
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1111,1
    - Dst: GetStackSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1117,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1117,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1118,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1118,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1120,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1121,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1123,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1123,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1123,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1124,1
    - Dst: GetWitnessSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1124,1
    - Dst: stack::insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: stack::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1127,1
    - Dst: SatisfactionToWitness
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1128,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1130,1
    - Dst: ValidSatisfactions
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1132,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1132,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1135,1
    - Dst: CheckOpsLimit
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1136,1
    - Dst: CheckStackSize
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1137,1
    - Dst: CScriptWitness::stack::insert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: CScriptWitness::stack::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1142,1
    - Dst: SatisfactionToWitness
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1143,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1145,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1148,1
    - Dst: IsSane
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1153,1
    - Dst: GetSig
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1161,1
    - Dst: IsSatisfiable
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1164,1
    - Dst: is_key_satisfiable
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1168,1
    - Dst: std::count_if
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1171,1
    - Dst: keys::begin
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1171,1
    - Dst: keys::end
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1171,1
    - Dst: is_key_satisfiable
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1172,1
    - Dst: sha256_preimages::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1180,1
    - Dst: hash256_preimages::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1182,1
    - Dst: ripemd160_preimages::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1184,1
    - Dst: hash160_preimages::count
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1186,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1188,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1192,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 3
    argNames:
    - script_ctx
    - ' node'
    - ' provider'
    argTypes:
    - MsCtx
    - NodeRef
    - FuzzedDataProvider
    assertStmts:
    - condition: "(res ||\n               (!node->CheckOpsLimit() && serror == ScriptError::SCRIPT_ERR_OP_COUNT)
        ||\n               (!node->CheckStackSize() && serror == ScriptError::SCRIPT_ERR_STACK_SIZE))"
      pos:
        line_end: 1136
        line_start: 1134
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (*parsed == *node)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (false)
      pos:
        line_end: 1187
        line_start: 1187
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (decoded->ToScript(parser_ctx) == script)
      pos:
        line_end: 1061
        line_start: 1061
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (decoded->GetType() == node->GetType())
      pos:
        line_end: 1062
        line_start: 1062
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (parsed)
      pos:
        line_end: 1038
        line_start: 1038
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (node->ScriptSize() == script.size())
      pos:
        line_end: 1043
        line_start: 1043
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (decoded)
      pos:
        line_end: 1057
        line_start: 1057
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (ends_in_verify == (script.back() == OP_CHECKSIG || script.back()
        == OP_CHECKMULTISIG || script.back() == OP_EQUAL || script.back() == OP_NUMEQUAL))
      pos:
        line_end: 1049
        line_start: 1049
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack_nonmal == stack_mal)
      pos:
        line_end: 1120
        line_start: 1120
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (mal_success == satisfiable)
      pos:
        line_end: 1191
        line_start: 1191
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (mal_success == nonmal_success)
      pos:
        line_end: 1152
        line_start: 1152
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (stack_nonmal.size() <= max_stack_size)
      pos:
        line_end: 1117
        line_start: 1117
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (wit_size <= *node->GetWitnessSize())
      pos:
        line_end: 1123
        line_start: 1123
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (res || serror == ScriptError::SCRIPT_ERR_OP_COUNT || serror == ScriptError::SCRIPT_ERR_STACK_SIZE)
      pos:
        line_end: 1147
        line_start: 1147
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (str)
      pos:
        line_end: 1036
        line_start: 1036
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (res)
      pos:
        line_end: 1131
        line_start: 1131
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    - condition: (mal_success)
      pos:
        line_end: 1119
        line_start: 1119
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 1193
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1193
    functionName: TestNode
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 5
    functionsReached:
    - auto::size
    - auto::back
    - auto::reserve
    - ScriptSize
    - auto::push_back
    - miniscript::IsTapscript
    - CScriptWitness::stack::resize
    - IsSatisfiable
    - ScriptPubKey
    - stack::resize
    - CScriptWitness::stack::insert
    - Satisfy
    - sha256_preimages::count
    - GetExecStackSize
    - std::vector::end
    - keys::begin
    - auto::ToScript
    - ToString
    - std::min<int>
    - IsTapscript
    - IsValidTopLevel
    - miniscript::FromString
    - std::vector::size
    - auto::GetType
    - stack::insert
    - VerifyScript
    - hash256_preimages::count
    - ripemd160_preimages::count
    - GetSerializeSize
    - std::make_move_iterator
    - SatisfactionToWitness
    - keys::end
    - GetSizeOfCompactSize
    - CheckOpsLimit
    - assert
    - GetOps
    - CScriptWitness::stack::end
    - GetSig
    - ValidSatisfactions
    - IsSane
    - ConsumeBool
    - GetStackSize
    - std::count_if
    - hash160_preimages::count
    - std::vector::begin
    - ToScript
    - CheckStackSize
    - GetType
    - miniscript::FromScript
    - GetWitnessSize
    - stack::end
    - is_key_satisfiable
    linkageType: ''
    returnType: void
    signature: void TestNode(const MsCtx script_ctx, const NodeRef& node, FuzzedDataProvider&
      provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1197
    functionDepth: 5
    functionLinenumber: 1197
    functionLinenumberEnd: 1201
    functionName: FuzzInit
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void FuzzInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzInit
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1205,1
    - Dst: Init
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1203
    functionDepth: 6
    functionLinenumber: 1203
    functionLinenumberEnd: 1207
    functionName: FuzzInitSmart
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - FuzzInit
    - Init
    linkageType: ''
    returnType: void
    signature: void FuzzInitSmart()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1254,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1254,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1255,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1258,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1259,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1262,1
    - Dst: auto::ToScript
      Src: /src/bitcoin-core/src/test/fuzz/miniscript.cpp:1262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ms->ToScript(script_parser_ctx) == *script)
      pos:
        line_end: 1261
        line_start: 1261
        source_file: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 1263
      start: 1252
    functionDepth: 4
    functionLinenumber: 1252
    functionLinenumberEnd: 1263
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/miniscript.cpp
    functionUses: 0
    functionsReached:
    - ConsumeDeserializable
    - auto::ToScript
    - FuzzedDataProvider::ConsumeBool
    - size
    - data
    - miniscript::FromScript
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(miniscript_script)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:20,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:20,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:22,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:27,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:31,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:32,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:33,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:34,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:35,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:36,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:37,1
    - Dst: SelectNodeToEvict
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:43,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:43,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:45,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:45,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:45,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (std::any_of(eviction_candidates_copy.begin(), eviction_candidates_copy.end(),
        [&node_to_evict](const NodeEvictionCandidate& eviction_candidate) { return
        *node_to_evict == eviction_candidate.id; }))
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/node_eviction.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - SelectNodeToEvict
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - std::move
    - data
    - std::vector::push_back
    - std::any_of
    - std::vector::begin
    - LIMITED_WHILE
    - assert
    - FuzzedDataProvider::PickValueInArray
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(node_eviction)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:17,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:17,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:19,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:20,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:21,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:22,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:23,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:24,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:25,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:26,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:30,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:33,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:39,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:49,1
    - Dst: util::RemovePrefixView
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:52,1
    - Dst: std::string::find_first_not_of
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:52,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:56,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:58,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:61,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (util::RemovePrefixView(random_string, "-").find_first_not_of(digits)
        == std::string::npos)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp
    - condition: (random_string.find_first_not_of(digits) == std::string::npos)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp
    - condition: (i8 == i64)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp
    - condition: (u16 == u64)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp
    - condition: (u32 == u64)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp
    - condition: (i16 == i64)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp
    - condition: (u8 == u64)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp
    - condition: (i32 == i64)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp
    constantsTouched: []
    func_position:
      end: 63
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 63
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/parse_numbers.cpp
    functionUses: 0
    functionsReached:
    - end
    - ParseMoney
    - util::RemovePrefixView
    - LocaleIndependentAtoi
    - ParseFixedPoint
    - ToIntegral
    - std::string::find_first_not_of
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(parse_numbers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:18,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:19,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:23,1
    - Dst: MultiplicationOverflow
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:24,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:25,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:27,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:29,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:33,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:35,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:37,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fee_rate < larger_fee_rate)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp
    - condition: (fee_rate != larger_fee_rate)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp
    - condition: (fee_rate <= larger_fee_rate)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp
    - condition: (!(fee_rate > larger_fee_rate))
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp
    - condition: (!(fee_rate == larger_fee_rate))
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp
    - condition: (!(fee_rate >= larger_fee_rate))
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 40
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/fee_rate.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegral
    - MultiplicationOverflow
    - size
    - data
    - CFeeRate::GetFeePerK
    - CFeeRate::GetFee
    - CFeeRate::ToString
    - ConsumeMoney
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(fee_rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/bip324.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bip324.cpp
    functionUses: 15
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void Initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/bip324.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Initialize
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/bip324.cpp
    functionUses: 15
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void Initialize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:17,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:18,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:19,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:20,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:21,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:22,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:23,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:24,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:26,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:29,1
    - Dst: CMutableTransaction::HasWitness
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:29,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!result_none)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp
    - condition: (result_try_no_witness || result_try_witness)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp
    - condition: (!no_witness_mtx.HasWitness())
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp
    - condition: (result_try_witness_and_maybe_no_witness)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/decode_tx.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::CMutableTransaction
    - DecodeHexTx
    - HexStr
    - assert
    - CMutableTransaction::HasWitness
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(decode_tx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:23,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:24,1
    - Dst: EncodeBase58
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:26,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:27,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:28,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:28,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:29,1
    - Dst: EncodeBase58
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:30,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:31,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:31,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:33,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:34,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:34,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:35,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:35,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:35,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (decoded.size() <= static_cast<size_t>(max_ret_len))
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    - condition: (!DecodeBase58(encoded_string, decoded, provider.ConsumeIntegralInRange<int>(0,
        decoded.size() - 1)))
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    - condition: (encoded_string == TrimStringView(decode_input))
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    - condition: (max_ret_len > 0)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - DecodeBase58
    - static_cast<size_t>
    - FuzzedDataProvider::ConsumeRandomLengthString
    - MakeUCharSpan
    - EncodeBase58
    - TrimStringView
    - FuzzedDataProvider::ConsumeBool
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(base58_encode_decode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:42,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:43,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:45,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:45,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:47,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:47,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:48,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:50,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:50,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:52,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:53,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:53,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:54,1
    - Dst: DecodeBase58Check
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:54,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:54,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (max_ret_len > 0)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    - condition: (!DecodeBase58Check(encoded_string, decoded, provider.ConsumeIntegralInRange<int>(0,
        decoded.size() - 1)))
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    - condition: (encoded_string == TrimStringView(decode_input))
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    - condition: (decoded.size() <= static_cast<size_t>(max_ret_len))
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - DecodeBase58Check
    - EncodeBase58Check
    - static_cast<size_t>
    - FuzzedDataProvider::ConsumeRandomLengthString
    - MakeUCharSpan
    - TrimStringView
    - FuzzedDataProvider::ConsumeBool
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - assert
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(base58check_encode_decode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:61,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:61,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:64,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:65,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:66,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:66,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:66,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:69,1
    - Dst: DecodeBase32
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:71,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (encoded_string == ToLower(TrimStringView(random_string)))
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    - condition: (decoded && std::ranges::equal(*decoded, buffer))
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    functionUses: 0
    functionsReached:
    - end
    - all_bytes_equal
    - EncodeBase32
    - TrimStringView
    - ToLower
    - assert
    - begin
    - DecodeBase32
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(base32_encode_decode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:76,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:76,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:79,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:80,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:81,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:81,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:84,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:85,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:86,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (encoded_string == TrimStringView(random_string))
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    - condition: (decoded && std::ranges::equal(*decoded, buffer))
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    functionUses: 0
    functionsReached:
    - end
    - all_bytes_equal
    - DecodeBase64
    - TrimStringView
    - EncodeBase64
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(base64_encode_decode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:91,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:91,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:93,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:95,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:96,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ok == error.empty())
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/base_encode_decode.cpp
    functionUses: 0
    functionsReached:
    - end
    - DecodeBase64PSBT
    - std::string::empty
    - assert
    - begin
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(psbt_base64_decode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/validation_load_mempool.cpp:35,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/validation_load_mempool.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: initialize_validation_load_mempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/validation_load_mempool.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_validation_load_mempool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:26,1
    - Dst: FastRange64
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' element'
    - f
    argTypes:
    - std::vector<uint8_t>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: HashToRange
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp
    functionUses: 2
    functionsReached:
    - FastRange64
    - CSipHasher
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t HashToRange(const std::vector<uint8_t>& element, const uint64_t
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:35,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:35,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:37,1
    - Dst: HashToRange
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:37,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:39,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:39,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' elements'
    - f
    argTypes:
    - std::unordered_set<std::vector<uint8_t>, ByteVectorHash>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: BuildHashedSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp
    functionUses: 2
    functionsReached:
    - HashToRange
    - std::vector::end
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::vector::begin
    - std::sort
    linkageType: ''
    returnType: std::vector<uint64_t>
    signature: std::vector<uint64_t> BuildHashedSet(const std::unordered_set<std::vector<uint8_t>,
      ByteVectorHash>& elements, const uint64_t f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSipHasher
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:26,1
    - Dst: FastRange64
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' element'
    - f
    argTypes:
    - std::vector<uint8_t>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: HashToRange
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp
    functionUses: 3
    functionsReached:
    - FastRange64
    - CSipHasher
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t HashToRange(const std::vector<uint8_t>& element, const uint64_t
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:35,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:35,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:37,1
    - Dst: HashToRange
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:37,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:39,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:39,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' elements'
    - f
    argTypes:
    - std::unordered_set<std::vector<uint8_t>, ByteVectorHash>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: BuildHashedSet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp
    functionUses: 2
    functionsReached:
    - HashToRange
    - std::vector::end
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::vector::begin
    - std::sort
    linkageType: ''
    returnType: std::vector<uint64_t>
    signature: std::vector<uint64_t> BuildHashedSet(const std::unordered_set<std::vector<uint8_t>,
      ByteVectorHash>& elements, const uint64_t f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:46,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:47,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:47,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:52,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:54,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:54,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:57,1
    - Dst: std::unordered_set::size
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:57,1
    - Dst: std::unordered_set::empty
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:59,1
    - Dst: BuildHashedSet
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:61,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:61,1
    - Dst: std::unordered_set::size
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:61,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:63,1
    - Dst: GolombRiceEncode
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:64,1
    - Dst: BitStreamWriter::Flush
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:68,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:75,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:77,1
    - Dst: GolombRiceDecode
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:77,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:81,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:84,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:88,1
    - Dst: ReadCompactSize
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:88,1
    - Dst: std::min<uint32_t>
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:93,1
    - Dst: GolombRiceDecode
      Src: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (encoded_deltas == decoded_deltas)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp
    constantsTouched: []
    func_position:
      end: 100
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 100
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/golomb_rice.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::empty
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - std::vector::push_back
    - BitStreamWriter::Flush
    - std::unordered_set::insert
    - WriteCompactSize
    - SeedRandomStateForTest
    - ReadCompactSize
    - static_cast<uint64_t>
    - BuildHashedSet
    - assert
    - std::unordered_set::size
    - static_cast<uint32_t>
    - size
    - GolombRiceDecode
    - std::min<uint32_t>
    - ConsumeRandomLengthByteVector
    - GolombRiceEncode
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(golomb_rice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:38,1
    - Dst: m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:38,1
    - Dst: m_node::chainman::reset
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:39,1
    - Dst: m_make_chainman
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:40,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:41,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:43,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' setup'
    argTypes:
    - TestingSetup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: ResetChainman
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/process_message.cpp
    functionUses: 1
    functionsReached:
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - SetMockTime
    - m_node::chainman::GetParams
    - m_node::chainman::reset
    - MineBlock
    - m_make_chainman
    - LoadVerifyActivateChainstate
    linkageType: ''
    returnType: void
    signature: void ResetChainman(TestingSetup& setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:38,1
    - Dst: m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:38,1
    - Dst: m_node::chainman::reset
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:39,1
    - Dst: m_make_chainman
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:40,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:41,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:43,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' setup'
    argTypes:
    - TestingSetup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: ResetChainman
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/process_message.cpp
    functionUses: 1
    functionsReached:
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - SetMockTime
    - m_node::chainman::GetParams
    - m_node::chainman::reset
    - MineBlock
    - m_make_chainman
    - LoadVerifyActivateChainstate
    linkageType: ''
    returnType: void
    signature: void ResetChainman(TestingSetup& setup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:51,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:53,1
    - Dst: std::count
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:53,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:53,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:53,1
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:57,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:61,1
    - Dst: ResetChainman
      Src: /src/bitcoin-core/src/test/fuzz/process_message.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: initialize_process_message
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/process_message.cpp
    functionUses: 0
    functionsReached:
    - end
    - MakeNoLogFileContext
    - std::getenv
    - std::count
    - Assert
    - ResetChainman
    - auto::get
    - begin
    linkageType: ''
    returnType: void
    signature: void initialize_process_message()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: U8C
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8C(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: U32C
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32C(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: U8V
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8V(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: U32V
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32V(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: ROTL32
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL32(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: U8TO32_LITTLE
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TO32_LITTLE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: U32TO8_LITTLE
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32TO8_LITTLE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: ROTATE
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(v, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: XOR
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XOR(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: PLUS
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUS(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: PLUSONE
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUSONE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: QUARTERROUND
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUARTERROUND(a, b, c, d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:99,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:100,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:101,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:102,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:109,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:110,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:111,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:112,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:113,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:114,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:115,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - x
    - k
    - kbits
    - ivbits
    argTypes:
    - ECRYPT_ctx*
    - u8*
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: ECRYPT_keysetup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached:
    - U8TO32_LITTLE
    linkageType: ''
    returnType: void
    signature: void ECRYPT_keysetup(ECRYPT_ctx* x, const u8* k, u32 kbits, u32 ivbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:123,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - x
    - iv
    argTypes:
    - ECRYPT_ctx*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: ECRYPT_ivsetup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached:
    - U8TO32_LITTLE
    linkageType: ''
    returnType: void
    signature: void ECRYPT_ivsetup(ECRYPT_ctx* x, const u8* iv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:179,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:180,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:181,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:182,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:183,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:184,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:185,1
    - Dst: QUARTERROUND
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:186,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:188,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:189,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:190,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:191,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:192,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:193,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:194,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:195,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:196,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:197,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:198,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:199,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:200,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:201,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:202,1
    - Dst: PLUS
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:203,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:205,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:205,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:206,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:206,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:207,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:207,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:208,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:208,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:209,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:209,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:210,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:210,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:211,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:211,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:212,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:212,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:213,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:213,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:214,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:214,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:215,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:215,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:216,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:216,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:217,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:217,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:218,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:218,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:219,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:219,1
    - Dst: XOR
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:220,1
    - Dst: U8TO32_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:220,1
    - Dst: PLUSONE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:222,1
    - Dst: PLUSONE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:224,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:228,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:229,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:230,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:231,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:232,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:233,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:234,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:235,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:236,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:237,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:238,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:239,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:240,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:241,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:242,1
    - Dst: U32TO8_LITTLE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 118
    argCount: 4
    argNames:
    - x
    - m
    - c
    - bytes
    argTypes:
    - ECRYPT_ctx*
    - u8*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 258
    functionName: ECRYPT_encrypt_bytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached:
    - QUARTERROUND
    - XOR
    - PLUS
    - U32TO8_LITTLE
    - PLUSONE
    - U8TO32_LITTLE
    linkageType: ''
    returnType: void
    signature: void ECRYPT_encrypt_bytes(ECRYPT_ctx* x, const u8* m, u8* c, u32 bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECRYPT_encrypt_bytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - stream
    - bytes
    argTypes:
    - ECRYPT_ctx*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: ECRYPT_keystream_bytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached:
    - ECRYPT_encrypt_bytes
    linkageType: ''
    returnType: void
    signature: void ECRYPT_keystream_bytes(ECRYPT_ctx* x, u8* stream, u32 bytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:270,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:270,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:274,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:275,1
    - Dst: ECRYPT_keysetup
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:276,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:276,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:276,1
    - Dst: ECRYPT_ivsetup
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:282,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:284,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:284,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:285,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:288,1
    - Dst: ChaCha20::SetKey
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:289,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:289,1
    - Dst: ECRYPT_keysetup
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:292,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:292,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:292,1
    - Dst: ECRYPT_ivsetup
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:295,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:298,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:299,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:301,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:302,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:309,1
    - Dst: ChaCha20::Keystream
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:311,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:311,1
    - Dst: ECRYPT_keystream_bytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:313,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:313,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:313,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:314,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:320,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:322,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:325,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:327,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:327,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:328,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:328,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:328,1
    - Dst: ECRYPT_encrypt_bytes
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:330,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:330,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:330,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:330,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:331,1
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:337,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (counter == ctx.input[12])
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    - condition: (output == djb_output)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    - condition: (counter == ctx.input[12])
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    - condition: (output == djb_output)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    constantsTouched: []
    func_position:
      end: 342
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 342
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/crypto_diff_fuzz_chacha20.cpp
    functionUses: 0
    functionsReached:
    - ChaCha20::SetKey
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - ECRYPT_keysetup
    - CallOneOf
    - ECRYPT_encrypt_bytes
    - LIMITED_WHILE
    - std::vector::size
    - ChaCha20::Keystream
    - ECRYPT_ivsetup
    - ChaCha20::Crypt
    - MakeWritableByteSpan
    - ChaCha20::Seek
    - MakeByteSpan
    - assert
    - ConsumeFixedLengthByteVector
    - std::vector::data
    - size
    - ECRYPT_keystream_bytes
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(crypto_diff_fuzz_chacha20)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:20,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:21,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:21,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:25,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:25,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:26,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:26,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:28,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:31,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:32,1
    - Dst: CRollingBloomFilter::insert
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:33,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:35,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:38,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:39,1
    - Dst: CRollingBloomFilter::insert
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:40,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:41,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:42,1
    - Dst: CRollingBloomFilter::reset
      Src: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (present)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp
    - condition: (present)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp
    constantsTouched: []
    func_position:
      end: 48
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 48
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rolling_bloom_filter.cpp
    functionUses: 0
    functionsReached:
    - CallOneOf
    - FuzzedDataProvider::remaining_bytes
    - ConsumeUInt256
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - CRollingBloomFilter::insert
    - SeedRandomStateForTest
    - ConsumeRandomLengthByteVector
    - LIMITED_WHILE
    - CRollingBloomFilter::reset
    - CRollingBloomFilter::contains
    - assert
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(rolling_bloom_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/block.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: initialize_block
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/block.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_block()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:20,1
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:22,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:24,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - byte_data
    - compressed
    argTypes:
    - FuzzedDataProvider
    - std::span<const uint8_t>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: ConstructPubKeyBytes
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - PickValueInArray
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ConstructPubKeyBytes(FuzzedDataProvider& fuzzed_data_provider,
      std::span<const uint8_t> byte_data, const bool compressed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:31,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' max'
    argTypes:
    - FuzzedDataProvider
    - std::optional<CAmount>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ConsumeMoney
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 4
    functionsReached:
    - value_or
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount ConsumeMoney(FuzzedDataProvider& fuzzed_data_provider, const
      std::optional<CAmount>& max) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:37,1
    - Dst: ParseISO8601DateTime
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:38,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:39,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:39,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' min'
    - ' max'
    argTypes:
    - FuzzedDataProvider
    - std::optional<int64_t>
    - std::optional<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ConsumeTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 7
    functionsReached:
    - ConsumeIntegralInRange
    - value_or
    - ParseISO8601DateTime
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConsumeTime(FuzzedDataProvider& fuzzed_data_provider, const
      std::optional<int64_t>& min, const std::optional<int64_t>& max) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:44,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:45,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:46,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:48,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:49,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:50,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:51,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:54,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:55,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:55,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:56,1
    - Dst: ConsumeSequence
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:57,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:58,1
    - Dst: ConsumeScriptWitness
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:63,1
    - Dst: CTxIn::CTxIn
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:65,1
    - Dst: CMutableTransaction::vin::push_back
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:71,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:74,1
    - Dst: ConsumeScript
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:77,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - ' fuzzed_data_provider'
    - ' prevout_txids'
    - max_num_in
    - max_num_out
    argTypes:
    - FuzzedDataProvider
    - std::optional<std::vector<Txid>>
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 81
    functionName: ConsumeTransaction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 0
    functionsReached:
    - CTxIn::CTxIn
    - CMutableTransaction::vin::push_back
    - ConsumeUInt256
    - ConsumeIntegralInRange
    - ConsumeBool
    - ConsumeScriptWitness
    - CMutableTransaction::CMutableTransaction
    - ConsumeSequence
    - ConsumeScript
    - transaction_identifier::FromUint256
    - CMutableTransaction::vout::emplace_back
    - PickValue
    - ConsumeIntegral
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction ConsumeTransaction(FuzzedDataProvider& fuzzed_data_provider,
      const std::optional<std::vector<Txid>>& prevout_txids, const int max_num_in,
      const int max_num_out) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:86,1
    - Dst: CScriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:88,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - max_stack_elem_size
    argTypes:
    - FuzzedDataProvider
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: ConsumeScriptWitness
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 1
    functionsReached:
    - ConsumeRandomLengthByteVector
    - CScriptWitness::stack::push_back
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: CScriptWitness
    signature: CScriptWitness ConsumeScriptWitness(FuzzedDataProvider& fuzzed_data_provider,
      const size_t max_stack_elem_size) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:101,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:102,1
    - Dst: CScript::insert
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:106,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:106,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:110,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:110,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:110,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:116,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:117,1
    - Dst: ConstructPubKeyBytes
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:119,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:119,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:120,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:121,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:125,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:129,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:130,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:130,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:130,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:130,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:134,1
    - Dst: ConsumeOpcodeType
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:138,1
    - Dst: ConsumeScriptNum
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:142,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:146,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:147,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:148,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:148,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:148,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:148,1
    - Dst: CScript::clear
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:149,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - maybe_p2wsh
    argTypes:
    - FuzzedDataProvider
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 153
    functionName: ConsumeScript
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 5
    functionsReached:
    - std::copy
    - auto::back
    - CScript::data
    - CScript::clear
    - CallOneOf
    - auto::begin
    - auto::end
    - ConsumeIntegralInRange
    - ToByteVector
    - CScript::size
    - CScript::end
    - CSHA256
    - ConstructPubKeyBytes
    - uint256::uint256
    - CScript::insert
    - ConsumeScriptNum
    - ConsumeBool
    - uint256::begin
    - std::vector::begin
    - ConsumeRandomLengthByteVector
    - ConsumeOpcodeType
    - ConsumeIntegral
    linkageType: ''
    returnType: CScript
    signature: CScript ConsumeScript(FuzzedDataProvider& fuzzed_data_provider, const
      bool maybe_p2wsh) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:157,1
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:158,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: ConsumeSequence
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 1
    functionsReached:
    - ConsumeBool
    - PickValueInArray
    - ConsumeIntegral
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ConsumeSequence(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:169,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:169,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:170,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: ConsumeCoins
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - LIMITED_WHILE
    - ConsumeDeserializable
    linkageType: ''
    returnType: std::map<COutPoint, Coin>
    signature: std::map<COutPoint, Coin> ConsumeCoins(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:187,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:193,1
    - Dst: ConstructPubKeyBytes
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:194,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:196,1
    - Dst: ConsumeUInt160
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:202,1
    - Dst: ConsumeUInt160
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:205,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:208,1
    - Dst: ConsumeUInt160
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:211,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:214,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:220,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:221,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:224,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 228
    functionName: ConsumeTxDestination
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 0
    functionsReached:
    - CallOneOf
    - ConsumeFixedLengthByteVector
    - ConsumeUInt256
    - ConsumeIntegralInRange
    - ConsumeBool
    - ConstructPubKeyBytes
    - ConsumeRandomLengthByteVector
    - Assert
    - ConsumeUInt160
    - std::vector::size
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination ConsumeTxDestination(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:232,1
    - Dst: auto::resize
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:233,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:234,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:235,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:236,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:236,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - compressed
    argTypes:
    - FuzzedDataProvider
    - std::optional<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: ConsumePrivateKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 2
    functionsReached:
    - auto::begin
    - ConsumeBytes
    - ConsumeBool
    - auto::resize
    - CKey::Set
    - CKey::CKey
    - auto::end
    linkageType: ''
    returnType: CKey
    signature: CKey ConsumePrivateKey(FuzzedDataProvider& fuzzed_data_provider, std::optional<bool>
      compressed) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AccessCoin
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:243,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' tx'
    - ' inputs'
    argTypes:
    - CTransaction
    - CCoinsViewCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: ContainsSpentInput
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 1
    functionsReached:
    - IsSpent
    - AccessCoin
    linkageType: ''
    returnType: bool
    signature: bool ContainsSpentInput(const CTransaction& tx, const CCoinsViewCache&
      inputs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:253,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:254,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:258,1
    - Dst: fopencookie
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:285,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 290
    functionName: FuzzedFileProvider::open
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 2
    functionsReached:
    - CallOneOf
    - ConsumeBool
    - fopencookie
    - SetFuzzedErrNo
    - std::string::c_str
    linkageType: ''
    returnType: FILE
    signature: FILE * FuzzedFileProvider::open()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:295,1
    - Dst: FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:296,1
    - Dst: FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:297,1
    - Dst: FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:299,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:300,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:303,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:303,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:303,1
    - Dst: AdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:304,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:304,1
    - Dst: FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:305,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:307,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cookie
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: FuzzedFileProvider::read
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - AdditionOverflow
    - std::vector::data
    - FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeBytes
    - SetFuzzedErrNo
    - FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeBool
    - std::vector::empty
    - std::vector::size
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FuzzedFileProvider::read(void* cookie, char* buf, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:314,1
    - Dst: FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:315,1
    - Dst: AdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cookie
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: FuzzedFileProvider::write
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 0
    functionsReached:
    - SetFuzzedErrNo
    - FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeIntegralInRange
    - AdditionOverflow
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FuzzedFileProvider::write(void* cookie, const char* buf, size_t
      size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:325,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:327,1
    - Dst: AdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:332,1
    - Dst: FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:337,1
    - Dst: AdditionOverflow
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:338,1
    - Dst: FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - cookie
    - offset
    - whence
    argTypes:
    - void*
    - int64_t*
    - int
    assertStmts:
    - condition: (whence == SEEK_SET || whence == SEEK_CUR || whence == SEEK_END)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/bitcoin-core/src/test/fuzz/util.cpp
    constantsTouched: []
    func_position:
      end: 349
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 349
    functionName: FuzzedFileProvider::seek
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 0
    functionsReached:
    - SetFuzzedErrNo
    - FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeIntegralInRange
    - assert
    - AdditionOverflow
    linkageType: ''
    returnType: int
    signature: int FuzzedFileProvider::seek(void* cookie, int64_t* offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:354,1
    - Dst: FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: FuzzedFileProvider::close
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util.cpp
    functionUses: 0
    functionsReached:
    - SetFuzzedErrNo
    - FuzzedFileProvider*::m_fuzzed_data_provider::ConsumeIntegralInRange
    linkageType: ''
    returnType: int
    signature: int FuzzedFileProvider::close(void* cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/parse_univalue.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: initialize_parse_univalue
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/parse_univalue.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_parse_univalue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fmt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: fuzz_fmt
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/strprintf.cpp
    functionUses: 0
    functionsReached:
    - tinyformat::detail::FormatArg::format
    linkageType: ''
    returnType: void
    signature: void fuzz_fmt(const std::string& fmt, const Args&... args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:25,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:26,1
    - Dst: std::count_if
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:28,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:28,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:28,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:37,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:45,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:45,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:45,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:57,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:60,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:60,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:63,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:63,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:66,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:66,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:69,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:69,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:72,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:72,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:75,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:75,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:80,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:80,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:87,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:87,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:97,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:100,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:100,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:103,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:103,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:106,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:106,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:109,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:109,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:112,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:112,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:115,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:115,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:118,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:118,1
    - Dst: fuzz_fmt
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:121,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/strprintf.cpp:121,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 125
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/strprintf.cpp
    functionUses: 0
    functionsReached:
    - CallOneOf
    - std::string::begin
    - FuzzedDataProvider::ConsumeRandomLengthString
    - std::count_if
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeBool
    - size
    - FuzzedDataProvider::ConsumeFloatingPoint
    - data
    - std::string::end
    - std::string::find
    - fuzz_fmt
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(str_printf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/net.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: initialize_net
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/net.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_net()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - chain_type
    - opts
    argTypes:
    - ChainType
    - TestOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: RPCFuzzTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCFuzzTestingSetup(const ChainType chain_type, TestOpts opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:54,1
    - Dst: execute
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' rpc_method'
    - ' arguments'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: CallRPC
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 9
    functionsReached:
    - RPCConvertValues
    - execute
    linkageType: ''
    returnType: void
    signature: void CallRPC(const std::string& rpc_method, const std::vector<std::string>&
      arguments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listCommands
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: GetRPCCommands
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached:
    - listCommands
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetRPCCommands() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:195,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:199,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:203,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:203,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:207,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:207,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:211,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:215,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:215,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:215,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:215,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:219,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:219,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:223,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:223,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:227,1
    - Dst: ConsumeFloatingPoint
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:227,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:231,1
    - Dst: ConsumeTxDestination
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:231,1
    - Dst: ConsumeUInt160
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:235,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:239,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:243,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:243,1
    - Dst: EncodeBase58
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:247,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:247,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:247,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:251,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:251,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:251,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:255,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:261,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:262,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:266,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:273,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:277,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:282,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:283,1
    - Dst: allow_witness
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:284,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:285,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:289,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:296,1
    - Dst: ConsumePrivateKey
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:300,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:301,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:305,1
    - Dst: ConsumePrivateKey
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:309,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:310,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:314,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 71
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' good_data'
    argTypes:
    - FuzzedDataProvider
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 317
    functionName: ConsumeScalarRPCArgument
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - ConsumeUInt256
    - EncodeDestination
    - EncodeBase58
    - EncodeBase64
    - CKey::IsValid
    - CallOneOf
    - ToString
    - MakeUCharSpan
    - ConsumeRandomLengthString
    - ConsumeDeserializable
    - HexStr
    - allow_witness
    - strprintf
    - CKey::GetPubKey
    - ConsumePrivateKey
    - EncodeBase58Check
    - EncodeBase32
    - ConsumeBool
    - ConsumeFloatingPoint
    - ConsumeTxDestination
    - ConsumeUInt160
    - TX_WITH_WITNESS
    - DataStream::DataStream
    - ConsumeIntegral
    linkageType: ''
    returnType: std::string
    signature: std::string ConsumeScalarRPCArgument(FuzzedDataProvider& fuzzed_data_provider,
      bool& good_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:322,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:322,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:324,1
    - Dst: ConsumeScalarRPCArgument
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:324,1
    - Dst: Join
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' good_data'
    argTypes:
    - FuzzedDataProvider
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: ConsumeArrayRPCArgument
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - Join
    - std::vector::push_back
    - LIMITED_WHILE
    - ConsumeScalarRPCArgument
    linkageType: ''
    returnType: std::string
    signature: std::string ConsumeArrayRPCArgument(FuzzedDataProvider& fuzzed_data_provider,
      bool& good_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:331,1
    - Dst: ConsumeScalarRPCArgument
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:331,1
    - Dst: ConsumeArrayRPCArgument
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' good_data'
    argTypes:
    - FuzzedDataProvider
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 7
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: ConsumeRPCArgument
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - ConsumeArrayRPCArgument
    - ConsumeScalarRPCArgument
    linkageType: ''
    returnType: std::string
    signature: std::string ConsumeRPCArgument(FuzzedDataProvider& fuzzed_data_provider,
      bool& good_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:336,1
    - Dst: SetRPCWarmupFinished
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:337,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: InitializeRPCFuzzTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached:
    - SetRPCWarmupFinished
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: RPCFuzzTestingSetup
    signature: RPCFuzzTestingSetup * InitializeRPCFuzzTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - chain_type
    - opts
    argTypes:
    - ChainType
    - TestOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: RPCFuzzTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCFuzzTestingSetup(const ChainType chain_type, TestOpts opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:54,1
    - Dst: execute
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' rpc_method'
    - ' arguments'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: CallRPC
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 9
    functionsReached:
    - RPCConvertValues
    - execute
    linkageType: ''
    returnType: void
    signature: void CallRPC(const std::string& rpc_method, const std::vector<std::string>&
      arguments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listCommands
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: GetRPCCommands
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached:
    - listCommands
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetRPCCommands() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:195,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:199,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:203,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:203,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:207,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:207,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:211,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:215,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:215,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:215,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:215,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:219,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:219,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:223,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:223,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:227,1
    - Dst: ConsumeFloatingPoint
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:227,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:231,1
    - Dst: ConsumeTxDestination
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:231,1
    - Dst: ConsumeUInt160
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:235,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:239,1
    - Dst: EncodeBase32
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:243,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:243,1
    - Dst: EncodeBase58
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:247,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:247,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:247,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:251,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:251,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:251,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:255,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:261,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:262,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:266,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:273,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:277,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:282,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:283,1
    - Dst: allow_witness
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:284,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:285,1
    - Dst: ConsumeDeserializable
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:289,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:296,1
    - Dst: ConsumePrivateKey
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:300,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:301,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:305,1
    - Dst: ConsumePrivateKey
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:309,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:310,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:314,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 71
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' good_data'
    argTypes:
    - FuzzedDataProvider
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 317
    functionName: ConsumeScalarRPCArgument
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 2
    functionsReached:
    - EncodeSecret
    - ConsumeUInt256
    - EncodeDestination
    - EncodeBase58
    - EncodeBase64
    - CKey::IsValid
    - CallOneOf
    - ToString
    - MakeUCharSpan
    - ConsumeRandomLengthString
    - ConsumeDeserializable
    - HexStr
    - allow_witness
    - strprintf
    - CKey::GetPubKey
    - ConsumePrivateKey
    - EncodeBase58Check
    - EncodeBase32
    - ConsumeBool
    - ConsumeFloatingPoint
    - ConsumeTxDestination
    - ConsumeUInt160
    - TX_WITH_WITNESS
    - DataStream::DataStream
    - ConsumeIntegral
    linkageType: ''
    returnType: std::string
    signature: std::string ConsumeScalarRPCArgument(FuzzedDataProvider& fuzzed_data_provider,
      bool& good_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:322,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:322,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:324,1
    - Dst: ConsumeScalarRPCArgument
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:324,1
    - Dst: Join
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' good_data'
    argTypes:
    - FuzzedDataProvider
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: ConsumeArrayRPCArgument
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 1
    functionsReached:
    - ConsumeBool
    - Join
    - std::vector::push_back
    - LIMITED_WHILE
    - ConsumeScalarRPCArgument
    linkageType: ''
    returnType: std::string
    signature: std::string ConsumeArrayRPCArgument(FuzzedDataProvider& fuzzed_data_provider,
      bool& good_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:331,1
    - Dst: ConsumeScalarRPCArgument
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:331,1
    - Dst: ConsumeArrayRPCArgument
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' good_data'
    argTypes:
    - FuzzedDataProvider
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 7
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: ConsumeRPCArgument
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - ConsumeArrayRPCArgument
    - ConsumeScalarRPCArgument
    linkageType: ''
    returnType: std::string
    signature: std::string ConsumeRPCArgument(FuzzedDataProvider& fuzzed_data_provider,
      bool& good_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:336,1
    - Dst: SetRPCWarmupFinished
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:337,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: InitializeRPCFuzzTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached:
    - SetRPCWarmupFinished
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: RPCFuzzTestingSetup
    signature: RPCFuzzTestingSetup * InitializeRPCFuzzTestingSetup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InitializeRPCFuzzTestingSetup
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:344,1
    - Dst: GetRPCCommands
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:345,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:347,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:347,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:347,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:347,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:348,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:348,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:348,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:348,1
    - Dst: std::terminate
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:351,1
    - Dst: std::terminate
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:355,1
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/test/fuzz/rpc.cpp:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 362
    functionName: initialize_rpc
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/rpc.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::getenv
    - GetRPCCommands
    - std::find
    - std::terminate
    - InitializeRPCFuzzTestingSetup
    - begin
    linkageType: ''
    returnType: void
    signature: void initialize_rpc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: DummyTorControlConnection::DummyTorControlConnection
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/torcontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyTorControlConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: DummyTorControlConnection::Connect
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/torcontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Connect(const std::string&, const ConnectionCB&, const ConnectionCB&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: DummyTorControlConnection::Disconnect
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/torcontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Disconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: DummyTorControlConnection::Command
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/torcontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Command(const std::string&, const ReplyHandlerCB&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/torcontrol.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: initialize_torcontrol
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/torcontrol.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_torcontrol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:18,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:18,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - CScriptNum
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: IsValidAddition
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::min
    - RandomMixin::max
    linkageType: ''
    returnType: bool
    signature: bool IsValidAddition(const CScriptNum& lhs, const CScriptNum& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:23,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - CScriptNum
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: IsValidSubtraction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - RandomMixin::min
    linkageType: ''
    returnType: bool
    signature: bool IsValidSubtraction(const CScriptNum& lhs, const CScriptNum& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:18,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:18,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - CScriptNum
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: IsValidAddition
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::min
    - RandomMixin::max
    linkageType: ''
    returnType: bool
    signature: bool IsValidAddition(const CScriptNum& lhs, const CScriptNum& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:23,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - CScriptNum
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: IsValidSubtraction
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - RandomMixin::min
    linkageType: ''
    returnType: bool
    signature: bool IsValidSubtraction(const CScriptNum& lhs, const CScriptNum& rhs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:29,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:29,1
    - Dst: ConsumeScriptNum
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:30,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:31,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:31,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:32,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:35,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:37,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:38,1
    - Dst: IsValidAddition
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:41,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:42,1
    - Dst: IsValidSubtraction
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:46,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:47,1
    - Dst: ConsumeScriptNum
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:52,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:54,1
    - Dst: IsValidAddition
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:57,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:58,1
    - Dst: IsValidSubtraction
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:62,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:63,1
    - Dst: ConsumeScriptNum
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:67,1
    - Dst: IsValidAddition
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:68,1
    - Dst: ConsumeScriptNum
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:76,1
    - Dst: IsValidSubtraction
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:77,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:85,1
    - Dst: ConsumeScriptNum
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:88,1
    - Dst: ConsumeScriptNum
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:91,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:94,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:102,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:105,1
    - Dst: IsValidAddition
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:106,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:114,1
    - Dst: IsValidSubtraction
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:115,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:123,1
    - Dst: CScriptNum::getint
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:125,1
    - Dst: CScriptNum::getvch
      Src: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((script_num == i) != (script_num != i))
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    - condition: ((script_num >= random_script_num) != (script_num < random_script_num))
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    - condition: ((script_num + random_script_num) - random_script_num == script_num)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    - condition: ((script_num <= i) != (script_num > i))
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    - condition: ((script_num - random_script_num) + random_script_num == script_num)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    - condition: ((script_num >= i) != (script_num < i))
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    - condition: ((script_num == random_script_num) != (script_num != random_script_num))
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    - condition: ((script_num <= random_script_num) != (script_num > random_script_num))
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    - condition: ((script_num - i) + i == script_num)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    - condition: ((script_num + i) - i == script_num)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    constantsTouched: []
    func_position:
      end: 128
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 128
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/scriptnum_ops.cpp
    functionUses: 0
    functionsReached:
    - CallOneOf
    - FuzzedDataProvider::remaining_bytes
    - ConsumeScriptNum
    - RandomMixin::min
    - IsValidAddition
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - CScriptNum::getvch
    - data
    - IsValidSubtraction
    - LIMITED_WHILE
    - CScriptNum::getint
    - assert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(scriptnum_ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:23,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fuzzed_data_provider_ptr != nullptr)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: operator()(const bool& /* unused */) const
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ConsumeIntegral
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator()(const bool& /* unused */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:23,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fuzzed_data_provider_ptr != nullptr)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: operator()(const bool& /* unused */) const
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ConsumeIntegral
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator()(const bool& /* unused */) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:31,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:31,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:35,1
    - Dst: CuckooCache::cache::setup_bytes
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:36,1
    - Dst: CuckooCache::cache::setup
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:38,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:40,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:40,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:41,1
    - Dst: CuckooCache::cache::insert
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:44,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:45,1
    - Dst: CuckooCache::cache::contains
      Src: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/cuckoocache.cpp
    functionUses: 0
    functionsReached:
    - CuckooCache::cache::setup
    - CuckooCache::cache::setup_bytes
    - FuzzedDataProvider::ConsumeBool
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - CuckooCache::cache::contains
    - LIMITED_WHILE
    - CuckooCache::cache::insert
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(cuckoocache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/socks5.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: initialize_socks5
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/socks5.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    linkageType: ''
    returnType: void
    signature: void initialize_socks5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/pow.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: initialize_pow
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/pow.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_pow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxIn::CTxIn
      Src: /src/bitcoin-core/src/test/fuzz/tx_in.cpp:17,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/test/fuzz/tx_in.cpp:24,1
    - Dst: GetVirtualTransactionInputSize
      Src: /src/bitcoin-core/src/test/fuzz/tx_in.cpp:25,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/test/fuzz/tx_in.cpp:26,1
    - Dst: CTxIn::ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_in.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 29
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_in.cpp
    functionUses: 0
    functionsReached:
    - CTxIn::CTxIn
    - CTxIn::ToString
    - GetTransactionInputWeight
    - RecursiveDynamicUsage
    - GetVirtualTransactionInputSize
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(tx_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:17,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:18,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:19,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:20,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:21,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:21,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:21,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:21,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:22,1
    - Dst: FastRandomContext::rand32
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:23,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:24,1
    - Dst: FastRandomContext::randbool
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:25,1
    - Dst: fast_random_context
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:26,1
    - Dst: ConsumeRandomLengthIntegralVector
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:28,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:29,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:29,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/random.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 30
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/random.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext::rand256
    - std::vector::end
    - FastRandomContext::randbits
    - ConsumeUInt256
    - RandomMixin::min
    - fast_random_context
    - FastRandomContext::randbool
    - size
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - FastRandomContext::randbytes
    - FastRandomContext::randrange
    - FastRandomContext::rand32
    - std::vector::begin
    - std::shuffle
    - FastRandomContext::rand64
    - ConsumeRandomLengthIntegralVector
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:37,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: (!cs)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetTime
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:45,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:46,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:47,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:47,1
    - Dst: m_node::chainman::GetMutex
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:47,1
    - Dst: m_node::chainman::ActiveTip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:47,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:53,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:58,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: initialize_tx_pool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - m_node::chainman::ActiveTip
    - m_node::chainman::GetMutex
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - SetMockTime
    - push_back
    - WITH_LOCK
    - MineBlock
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_tx_pool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' r'
    - ' a'
    argTypes:
    - std::set<CTransactionRef>
    - std::set<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: TransactionsDelta
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionsDelta(std::set<CTransactionRef>& r, std::set<CTransactionRef>&
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:72,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - NewMempoolTransactionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 6
    functionsReached:
    - Assert
    - insert
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:77,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tx'
    - reason
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 2
    functionsReached:
    - Assert
    - insert
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:83,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:84,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:84,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:85,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:86,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:86,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:87,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:88,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:88,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:89,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:90,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:90,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:91,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:92,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:92,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:93,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:94,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' args'
    - ' fuzzed_data_provider'
    argTypes:
    - ArgsManager
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: SetMempoolConstraints
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - ForceSetArg
    - ToString
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: void SetMempoolConstraints(ArgsManager& args, FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:99,1
    - Dst: check
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:99,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:99,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:99,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:102,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:103,1
    - Dst: auto::CreateNewBlock
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:105,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:106,1
    - Dst: auto::block::vtx::size
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:106,1
    - Dst: infoAll
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:108,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:109,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:110,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:111,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:111,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:112,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:112,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:112,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:113,1
    - Dst: check
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:113,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:113,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:113,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' tx_pool'
    - ' chainstate'
    argTypes:
    - FuzzedDataProvider
    - MockedTxPool
    - Chainstate
    assertStmts:
    - condition: (tx_pool.size() < info_all.size())
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: Finish
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - removeRecursive
    - auto::size
    - CoinsTip
    - check
    - infoAll
    - ConsumeIntegralInRange
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - WITH_LOCK
    - size
    - auto::CreateNewBlock
    - auto::block::vtx::size
    - Assert
    - auto::empty
    - m_chain::Height
    - ConsumeMoney
    - assert
    - PickValue
    linkageType: ''
    returnType: void
    signature: void Finish(FuzzedDataProvider& fuzzed_data_provider, MockedTxPool&
      tx_pool, Chainstate& chainstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeTime
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:120,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:121,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:122,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:122,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' chainstate'
    argTypes:
    - FuzzedDataProvider
    - Chainstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: MockTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 36
    functionsReached:
    - SetMockTime
    - m_chain::Tip
    - RandomMixin::max
    - ConsumeTime
    linkageType: ''
    returnType: void
    signature: void MockTime(FuzzedDataProvider& fuzzed_data_provider, const Chainstate&
      chainstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPoolOptionsForTest
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:129,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:133,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:137,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:137,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:140,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:140,1
    - Dst: bilingual_str::original::starts_with
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' node'
    argTypes:
    - FuzzedDataProvider
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: MakeMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 3
    functionsReached:
    - ConsumeBool
    - std::move
    - bilingual_str::original::starts_with
    - Assert
    - bilingual_str::empty
    - std::make_unique<CTxMemPool>
    - MemPoolOptionsForTest
    linkageType: ''
    returnType: std::unique_ptr<CTxMemPool>
    signature: std::unique_ptr<CTxMemPool> MakeMempool(FuzzedDataProvider& fuzzed_data_provider,
      const NodeContext& node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:150,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:151,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:152,1
    - Dst: m_state::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:152,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:153,1
    - Dst: m_state::IsInvalid
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:153,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:154,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:155,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:156,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:157,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:158,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:164,1
    - Dst: m_state::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:164,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:165,1
    - Dst: m_state::IsInvalid
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:165,1
    - Dst: m_state::GetResult
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:167,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:168,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:169,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:172,1
    - Dst: m_effective_feerate::has_value
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:172,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:173,1
    - Dst: m_wtxids_fee_calculations::has_value
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:173,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:174,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:180,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - ' res'
    - txid_in_mempool
    - wtxid_in_mempool
    argTypes:
    - MempoolAcceptResult
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 190
    functionName: CheckATMPInvariants
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - m_state::IsInvalid
    - m_state::IsValid
    - m_effective_feerate::has_value
    - m_state::GetResult
    - m_wtxids_fee_calculations::has_value
    - Assert
    linkageType: ''
    returnType: void
    signature: void CheckATMPInvariants(const MempoolAcceptResult& res, bool txid_in_mempool,
      bool wtxid_in_mempool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:37,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: (!cs)
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetTime
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:45,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:46,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:47,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:47,1
    - Dst: m_node::chainman::GetMutex
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:47,1
    - Dst: m_node::chainman::ActiveTip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:47,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:53,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:58,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: initialize_tx_pool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - m_node::chainman::ActiveTip
    - m_node::chainman::GetMutex
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - SetMockTime
    - push_back
    - WITH_LOCK
    - MineBlock
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_tx_pool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' r'
    - ' a'
    argTypes:
    - std::set<CTransactionRef>
    - std::set<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: TransactionsDelta
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionsDelta(std::set<CTransactionRef>& r, std::set<CTransactionRef>&
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:72,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - NewMempoolTransactionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 6
    functionsReached:
    - Assert
    - insert
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:77,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tx'
    - reason
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 2
    functionsReached:
    - Assert
    - insert
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t /* mempool_sequence */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:83,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:84,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:84,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:85,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:86,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:86,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:87,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:88,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:88,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:89,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:90,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:90,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:91,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:92,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:92,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:93,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:94,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' args'
    - ' fuzzed_data_provider'
    argTypes:
    - ArgsManager
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: SetMempoolConstraints
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - ForceSetArg
    - ToString
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: void SetMempoolConstraints(ArgsManager& args, FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:99,1
    - Dst: check
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:99,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:99,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:99,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:102,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:103,1
    - Dst: auto::CreateNewBlock
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:105,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:106,1
    - Dst: auto::block::vtx::size
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:106,1
    - Dst: infoAll
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:108,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:109,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:110,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:111,1
    - Dst: removeRecursive
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:111,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:112,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:112,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:112,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:113,1
    - Dst: check
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:113,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:113,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:113,1
    - Dst: m_node::validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' tx_pool'
    - ' chainstate'
    argTypes:
    - FuzzedDataProvider
    - MockedTxPool
    - Chainstate
    assertStmts:
    - condition: (tx_pool.size() < info_all.size())
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: Finish
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - removeRecursive
    - auto::size
    - CoinsTip
    - check
    - infoAll
    - ConsumeIntegralInRange
    - m_node::validation_signals::SyncWithValidationInterfaceQueue
    - WITH_LOCK
    - size
    - auto::CreateNewBlock
    - auto::block::vtx::size
    - Assert
    - auto::empty
    - m_chain::Height
    - ConsumeMoney
    - assert
    - PickValue
    linkageType: ''
    returnType: void
    signature: void Finish(FuzzedDataProvider& fuzzed_data_provider, MockedTxPool&
      tx_pool, Chainstate& chainstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeTime
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:120,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:121,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:122,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:122,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' chainstate'
    argTypes:
    - FuzzedDataProvider
    - Chainstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: MockTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 38
    functionsReached:
    - SetMockTime
    - m_chain::Tip
    - RandomMixin::max
    - ConsumeTime
    linkageType: ''
    returnType: void
    signature: void MockTime(FuzzedDataProvider& fuzzed_data_provider, const Chainstate&
      chainstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPoolOptionsForTest
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:129,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:133,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:137,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:137,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:140,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:140,1
    - Dst: bilingual_str::original::starts_with
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - ' node'
    argTypes:
    - FuzzedDataProvider
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: MakeMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 3
    functionsReached:
    - ConsumeBool
    - std::move
    - bilingual_str::original::starts_with
    - Assert
    - bilingual_str::empty
    - std::make_unique<CTxMemPool>
    - MemPoolOptionsForTest
    linkageType: ''
    returnType: std::unique_ptr<CTxMemPool>
    signature: std::unique_ptr<CTxMemPool> MakeMempool(FuzzedDataProvider& fuzzed_data_provider,
      const NodeContext& node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:150,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:151,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:152,1
    - Dst: m_state::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:152,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:153,1
    - Dst: m_state::IsInvalid
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:153,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:154,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:155,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:156,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:157,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:158,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:164,1
    - Dst: m_state::IsValid
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:164,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:165,1
    - Dst: m_state::IsInvalid
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:165,1
    - Dst: m_state::GetResult
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:167,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:168,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:169,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:172,1
    - Dst: m_effective_feerate::has_value
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:172,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:173,1
    - Dst: m_wtxids_fee_calculations::has_value
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:173,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:174,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:180,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - ' res'
    - txid_in_mempool
    - wtxid_in_mempool
    argTypes:
    - MempoolAcceptResult
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 190
    functionName: CheckATMPInvariants
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/tx_pool.cpp
    functionUses: 0
    functionsReached:
    - m_state::IsInvalid
    - m_state::IsValid
    - m_effective_feerate::has_value
    - m_state::GetResult
    - m_wtxids_fee_calculations::has_value
    - Assert
    linkageType: ''
    returnType: void
    signature: void CheckATMPInvariants(const MempoolAcceptResult& res, bool txid_in_mempool,
      bool wtxid_in_mempool)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:18,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:21,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:22,1
    - Dst: CExtPubKey::Decode
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:24,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:27,1
    - Dst: DescriptorCache::GetCachedParentExtPubKey
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:28,1
    - Dst: DescriptorCache::CacheParentExtPubKey
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:29,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:30,1
    - Dst: DescriptorCache::GetCachedParentExtPubKey
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:32,1
    - Dst: DescriptorCache::GetCachedDerivedExtPubKey
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:33,1
    - Dst: DescriptorCache::CacheDerivedExtPubKey
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:35,1
    - Dst: DescriptorCache::GetCachedDerivedExtPubKey
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:35,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:37,1
    - Dst: DescriptorCache::GetCachedParentExtPubKeys
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:39,1
    - Dst: DescriptorCache::GetCachedDerivedExtPubKeys
      Src: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (descriptor_cache.GetCachedParentExtPubKey(key_exp_pos, xpub_fetched))
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp
    - condition: (descriptor_cache.GetCachedDerivedExtPubKey(key_exp_pos, der_index,
        xpub_fetched))
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp
    - condition: (xpub == xpub_fetched)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 42
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_descriptor_cache.cpp
    functionUses: 0
    functionsReached:
    - DescriptorCache::CacheParentExtPubKey
    - FuzzedDataProvider::ConsumeBytes
    - std::vector::data
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegral
    - size
    - data
    - CExtPubKey::Decode
    - DescriptorCache::GetCachedParentExtPubKeys
    - LIMITED_WHILE
    - DescriptorCache::GetCachedDerivedExtPubKeys
    - DescriptorCache::CacheDerivedExtPubKey
    - assert
    - DescriptorCache::GetCachedParentExtPubKey
    - std::vector::size
    - DescriptorCache::GetCachedDerivedExtPubKey
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(script_descriptor_cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:18,1
    - Dst: CallOneOf
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:26,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:28,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:29,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:30,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:31,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:32,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:33,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:34,1
    - Dst: std::numeric_limits<double>::lowest
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:35,1
    - Dst: std::numeric_limits<double>::lowest
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:36,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:37,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:38,1
    - Dst: std::numeric_limits<double>::signaling_NaN
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:39,1
    - Dst: std::numeric_limits<double>::signaling_NaN
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:40,1
    - Dst: std::numeric_limits<double>::denorm_min
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:41,1
    - Dst: std::numeric_limits<double>::denorm_min
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:42,1
    - Dst: DecodeDouble
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:45,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:45,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:48,1
    - Dst: EncodeDouble
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:50,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:52,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:54,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:55,1
    - Dst: DecodeDouble
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:59,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:59,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:59,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:60,1
    - Dst: std::isnan
      Src: /src/bitcoin-core/src/test/fuzz/float.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (encoded_in_memory == encoded)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/test/fuzz/float.cpp
    - condition: (std::isnan(d) == std::isnan(d_deserialized))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/test/fuzz/float.cpp
    - condition: (std::isnan(d) || d == d_deserialized)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bitcoin-core/src/test/fuzz/float.cpp
    constantsTouched: []
    func_position:
      end: 62
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 62
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/float.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - memusage::DynamicUsage
    - std::numeric_limits<double>::quiet_NaN
    - FuzzedDataProvider::ConsumeIntegral
    - data
    - DecodeDouble
    - FuzzedDataProvider::PickValueInArray
    - EncodeDouble
    - CallOneOf
    - std::numeric_limits<double>::signaling_NaN
    - std::isnan
    - secp256k1_ge_is_infinity
    - std::numeric_limits<double>::denorm_min
    - RandomMixin::min
    - assert
    - RandomMixin::max
    - size
    - FuzzedDataProvider::ConsumeFloatingPoint
    - std::numeric_limits<double>::lowest
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(float)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/fuzz/integer.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: initialize_integer
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/integer.cpp
    functionUses: 0
    functionsReached:
    - SelectParams
    linkageType: ''
    returnType: void
    signature: void initialize_integer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:45,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:45,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:45,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: CheckedParseHex
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 0
    functionsReached:
    - IsHex
    - std::runtime_error
    - ParseHex
    - size
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> CheckedParseHex(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:51,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:52,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:52,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ScriptFromHex
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 1
    functionsReached:
    - CheckedParseHex
    - std::vector::begin
    - std::vector::end
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript ScriptFromHex(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:57,1
    - Dst: CheckedParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:59,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:59,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: TxFromHex
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 1
    functionsReached:
    - CheckedParseHex
    - TX_NO_WITNESS
    - CMutableTransaction::CMutableTransaction
    - std::runtime_error
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction TxFromHex(const std::string& str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:68,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:68,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:70,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:71,1
    - Dst: CheckedParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:73,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:73,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:77,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' univalue'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: TxOutsFromJSON
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 1
    functionsReached:
    - CTxOut::CTxOut
    - isArray
    - std::runtime_error
    - size
    - std::move
    - CheckedParseHex
    - std::vector::push_back
    - get_str
    linkageType: ''
    returnType: std::vector<CTxOut>
    signature: std::vector<CTxOut> TxOutsFromJSON(const UniValue& univalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:84,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:84,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:86,1
    - Dst: CheckedParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:87,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:87,1
    - Dst: CScriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:88,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' univalue'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: ScriptWitnessFromJSON
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 1
    functionsReached:
    - isArray
    - std::runtime_error
    - CScriptWitness::stack::push_back
    - size
    - std::move
    - CheckedParseHex
    - get_str
    linkageType: ''
    returnType: CScriptWitness
    signature: CScriptWitness ScriptWitnessFromJSON(const UniValue& univalue)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:122,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: AllFlags
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<unsigned int>
    signature: std::vector<unsigned int> AllFlags()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:132,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:135,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:138,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:139,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: ParseScriptFlags
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 4
    functionsReached:
    - end
    - empty
    - std::runtime_error
    - SplitString
    - find
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ParseScriptFlags(const std::string& str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:148,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:149,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:149,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:149,1
    - Dst: TxFromHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:151,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:151,1
    - Dst: TxOutsFromJSON
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:152,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:153,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:153,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:153,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:154,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:155,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:155,1
    - Dst: ParseScriptFlags
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:156,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:156,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:157,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:157,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:159,1
    - Dst: ScriptFromHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:160,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:160,1
    - Dst: ScriptWitnessFromJSON
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:161,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:162,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:163,1
    - Dst: std::vector<CTxOut>
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:163,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:169,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:174,1
    - Dst: ScriptFromHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:175,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:175,1
    - Dst: ScriptWitnessFromJSON
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:176,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:177,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:178,1
    - Dst: std::vector<CTxOut>
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:178,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:183,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 187
    functionName: Test
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 56
    functionsReached:
    - std::vector<CTxOut>
    - CMutableTransaction::vin::size
    - std::runtime_error
    - TxFromHex
    - ScriptFromHex
    - PrecomputedTransactionData::Init
    - std::vector::size
    - UniValue::read
    - UniValue::isObject
    - TxOutsFromJSON
    - VerifyScript
    - ScriptWitnessFromJSON
    - ParseScriptFlags
    - get_bool
    - get_str
    - UniValue::UniValue
    - UniValue::exists
    - PrecomputedTransactionData::PrecomputedTransactionData
    - getInt
    linkageType: ''
    returnType: void
    signature: void Test(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: test_init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:45,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:45,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:45,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: CheckedParseHex
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 4
    functionsReached:
    - IsHex
    - std::runtime_error
    - ParseHex
    - size
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> CheckedParseHex(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:51,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:52,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:52,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ScriptFromHex
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 2
    functionsReached:
    - CheckedParseHex
    - std::vector::begin
    - std::vector::end
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript ScriptFromHex(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:57,1
    - Dst: CheckedParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:59,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:59,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: TxFromHex
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 2
    functionsReached:
    - CheckedParseHex
    - TX_NO_WITNESS
    - CMutableTransaction::CMutableTransaction
    - std::runtime_error
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction TxFromHex(const std::string& str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:68,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:68,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:70,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:71,1
    - Dst: CheckedParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:73,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:73,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:77,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' univalue'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: TxOutsFromJSON
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 2
    functionsReached:
    - CTxOut::CTxOut
    - isArray
    - std::runtime_error
    - size
    - std::move
    - CheckedParseHex
    - std::vector::push_back
    - get_str
    linkageType: ''
    returnType: std::vector<CTxOut>
    signature: std::vector<CTxOut> TxOutsFromJSON(const UniValue& univalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isArray
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:84,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:84,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:86,1
    - Dst: CheckedParseHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:87,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:87,1
    - Dst: CScriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:88,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' univalue'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: ScriptWitnessFromJSON
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 2
    functionsReached:
    - isArray
    - std::runtime_error
    - CScriptWitness::stack::push_back
    - size
    - std::move
    - CheckedParseHex
    - get_str
    linkageType: ''
    returnType: CScriptWitness
    signature: CScriptWitness ScriptWitnessFromJSON(const UniValue& univalue)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:122,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: AllFlags
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<unsigned int>
    signature: std::vector<unsigned int> AllFlags()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:132,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:135,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:138,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:139,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: ParseScriptFlags
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 5
    functionsReached:
    - end
    - empty
    - std::runtime_error
    - SplitString
    - find
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ParseScriptFlags(const std::string& str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:148,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:149,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:149,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:149,1
    - Dst: TxFromHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:151,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:151,1
    - Dst: TxOutsFromJSON
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:152,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:153,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:153,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:153,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:154,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:155,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:155,1
    - Dst: ParseScriptFlags
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:156,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:156,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:157,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:157,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:159,1
    - Dst: ScriptFromHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:160,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:160,1
    - Dst: ScriptWitnessFromJSON
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:161,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:162,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:163,1
    - Dst: std::vector<CTxOut>
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:163,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:169,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:174,1
    - Dst: ScriptFromHex
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:175,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:175,1
    - Dst: ScriptWitnessFromJSON
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:176,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:177,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:178,1
    - Dst: std::vector<CTxOut>
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:178,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp:183,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 187
    functionName: Test
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 56
    functionsReached:
    - std::vector<CTxOut>
    - CMutableTransaction::vin::size
    - std::runtime_error
    - TxFromHex
    - ScriptFromHex
    - PrecomputedTransactionData::Init
    - std::vector::size
    - UniValue::read
    - UniValue::isObject
    - TxOutsFromJSON
    - VerifyScript
    - ScriptWitnessFromJSON
    - ParseScriptFlags
    - get_bool
    - get_str
    - UniValue::UniValue
    - UniValue::exists
    - PrecomputedTransactionData::PrecomputedTransactionData
    - getInt
    linkageType: ''
    returnType: void
    signature: void Test(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: test_init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/script_assets_test_minimizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/parse_hd_keypath.cpp:15,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/parse_hd_keypath.cpp:15,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/test/fuzz/parse_hd_keypath.cpp:17,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/parse_hd_keypath.cpp:19,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/parse_hd_keypath.cpp:19,1
    - Dst: ConsumeRandomLengthIntegralVector
      Src: /src/bitcoin-core/src/test/fuzz/parse_hd_keypath.cpp:20,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/test/fuzz/parse_hd_keypath.cpp:21,1
    - Dst: WriteHDKeypath
      Src: /src/bitcoin-core/src/test/fuzz/parse_hd_keypath.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/parse_hd_keypath.cpp
    functionUses: 0
    functionsReached:
    - end
    - FormatHDKeypath
    - WriteHDKeypath
    - size
    - data
    - ParseHDKeypath
    - ConsumeRandomLengthIntegralVector
    - begin
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(parse_hd_keypath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:23,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:23,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:24,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:24,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:25,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:26,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:27,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:28,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:29,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' tx'
    - max_height
    argTypes:
    - FuzzedDataProvider
    - CTransaction
    - uint32_t
    assertStmts:
    - condition: (MoneyRange(fee))
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: ConsumeTxMemPoolEntry
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/mempool.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - ConsumeBool
    - MakeTransactionRef
    - ConsumeMoney
    - assert
    - RandomMixin::max
    - MoneyRange
    - ConsumeIntegral
    linkageType: ''
    returnType: CTxMemPoolEntry
    signature: CTxMemPoolEntry ConsumeTxMemPoolEntry(FuzzedDataProvider& fuzzed_data_provider,
      const CTransaction& tx, uint32_t max_height) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: MockedDescriptorConverter::IdIsCompPubKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IdIsCompPubKey(uint8_t idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: MockedDescriptorConverter::IdIsUnCompPubKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IdIsUnCompPubKey(uint8_t idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: MockedDescriptorConverter::IdIsXOnlyPubKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IdIsXOnlyPubKey(uint8_t idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: MockedDescriptorConverter::IdIsConstPrivKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IdIsConstPrivKey(uint8_t idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: MockedDescriptorConverter::IdIsXpub
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IdIsXpub(uint8_t idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: MockedDescriptorConverter::IdIsXprv
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IdIsXprv(uint8_t idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:27,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:27,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:29,1
    - Dst: SetWalletFlag
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:30,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:31,1
    - Dst: getHeight
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:31,1
    - Dst: SetLastBlockProcessed
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:32,1
    - Dst: getBlockHash
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:35,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:35,1
    - Dst: wallet::ImportDescriptors
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' chain'
    - ' name'
    - ' seed_insecure'
    argTypes:
    - interfaces::Chain
    - std::string
    - std::string
    assertStmts:
    - condition: (wallet->IsWalletFlagSet(WALLET_FLAG_DESCRIPTORS))
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: wallet::FuzzedWallet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    functionUses: 0
    functionsReached:
    - getBlockHash
    - SetLastBlockProcessed
    - wallet::CreateMockableWalletDatabase
    - IsWalletFlagSet
    - LOCK
    - wallet::ImportDescriptors
    - Assert
    - getHeight
    - std::make_shared<CWallet>
    - assert
    - SetWalletFlag
    linkageType: ''
    returnType: void
    signature: void FuzzedWallet(interfaces::Chain& chain, const std::string& name,
      const std::string& seed_insecure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:49,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:53,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:54,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:55,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:55,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:56,1
    - Dst: auto::IsRange
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:56,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:57,1
    - Dst: auto::IsSingleType
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:57,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:58,1
    - Dst: FlatSigningProvider::keys::empty
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:58,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:59,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:60,1
    - Dst: GetDescriptorScriptPubKeyMan
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:60,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:61,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:62,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:62,1
    - Dst: AddActiveScriptPubKeyMan
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:63,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:63,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:63,1
    - Dst: WalletDescriptor::descriptor::GetOutputType
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' seed_insecure'
    argTypes:
    - std::string
    assertStmts:
    - condition: (parsed_desc->IsSingleType())
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (parsed_desc->IsRange())
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (!wallet->GetDescriptorScriptPubKeyMan(w_desc))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (parsed_desc)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (error.empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (!keys.keys.empty())
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: wallet::ImportDescriptors
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    functionUses: 1
    functionsReached:
    - WalletDescriptor::descriptor::GetOutputType
    - GetDescriptorScriptPubKeyMan
    - AddWalletDescriptor
    - GetID
    - Parse
    - std::string::empty
    - std::move
    - auto::IsSingleType
    - LOCK
    - AddActiveScriptPubKeyMan
    - Assert
    - FlatSigningProvider::keys::empty
    - strprintf
    - assert
    - auto::IsRange
    linkageType: ''
    returnType: void
    signature: void ImportDescriptors(const std::string& seed_insecure)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:69,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:70,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:71,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:71,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:73,1
    - Dst: GetNewChangeDestination
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: wallet::GetDestination
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - GetNewDestination
    - PickValueInArray
    - Assert
    - GetNewChangeDestination
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination GetDestination(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:76,1
    - Dst: wallet::GetDestination
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: wallet::GetScriptPubKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - wallet::GetDestination
    linkageType: ''
    returnType: CScript
    signature: CScript GetScriptPubKey(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:27,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:27,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:29,1
    - Dst: SetWalletFlag
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:30,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:31,1
    - Dst: getHeight
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:31,1
    - Dst: SetLastBlockProcessed
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:32,1
    - Dst: getBlockHash
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:32,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:35,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:35,1
    - Dst: wallet::ImportDescriptors
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' chain'
    - ' name'
    - ' seed_insecure'
    argTypes:
    - interfaces::Chain
    - std::string
    - std::string
    assertStmts:
    - condition: (wallet->IsWalletFlagSet(WALLET_FLAG_DESCRIPTORS))
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: wallet::FuzzedWallet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    functionUses: 0
    functionsReached:
    - getBlockHash
    - SetLastBlockProcessed
    - wallet::CreateMockableWalletDatabase
    - IsWalletFlagSet
    - LOCK
    - wallet::ImportDescriptors
    - Assert
    - getHeight
    - std::make_shared<CWallet>
    - assert
    - SetWalletFlag
    linkageType: ''
    returnType: void
    signature: void FuzzedWallet(interfaces::Chain& chain, const std::string& name,
      const std::string& seed_insecure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:49,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:53,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:54,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:55,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:55,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:56,1
    - Dst: auto::IsRange
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:56,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:57,1
    - Dst: auto::IsSingleType
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:57,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:58,1
    - Dst: FlatSigningProvider::keys::empty
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:58,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:59,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:60,1
    - Dst: GetDescriptorScriptPubKeyMan
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:60,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:61,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:62,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:62,1
    - Dst: AddActiveScriptPubKeyMan
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:63,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:63,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:63,1
    - Dst: WalletDescriptor::descriptor::GetOutputType
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' seed_insecure'
    argTypes:
    - std::string
    assertStmts:
    - condition: (parsed_desc->IsSingleType())
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (parsed_desc->IsRange())
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (!wallet->GetDescriptorScriptPubKeyMan(w_desc))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (parsed_desc)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (error.empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    - condition: (!keys.keys.empty())
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: wallet::ImportDescriptors
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    functionUses: 2
    functionsReached:
    - WalletDescriptor::descriptor::GetOutputType
    - GetDescriptorScriptPubKeyMan
    - AddWalletDescriptor
    - GetID
    - Parse
    - std::string::empty
    - std::move
    - auto::IsSingleType
    - LOCK
    - AddActiveScriptPubKeyMan
    - Assert
    - FlatSigningProvider::keys::empty
    - strprintf
    - assert
    - auto::IsRange
    linkageType: ''
    returnType: void
    signature: void ImportDescriptors(const std::string& seed_insecure)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:69,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:70,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:71,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:71,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:73,1
    - Dst: GetNewChangeDestination
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: wallet::GetDestination
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    functionUses: 1
    functionsReached:
    - ConsumeBool
    - GetNewDestination
    - PickValueInArray
    - Assert
    - GetNewChangeDestination
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination GetDestination(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:76,1
    - Dst: wallet::GetDestination
      Src: /src/bitcoin-core/src/test/fuzz/util/wallet.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: wallet::GetScriptPubKey
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/wallet.h
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - wallet::GetDestination
    linkageType: ''
    returnType: CScript
    signature: CScript GetScriptPubKey(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:46,1
    - Dst: insecure_rand::Reseed
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:46,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' netgroupman'
    - ' fuzzed_data_provider'
    - check_ratio
    argTypes:
    - NetGroupManager
    - FuzzedDataProvider
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: AddrManDeterministic::AddrManDeterministic
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.h
    functionUses: 0
    functionsReached:
    - insecure_rand::Reseed
    - ConsumeUInt256
    - WITH_LOCK
    linkageType: ''
    returnType: void
    signature: void AddrManDeterministic(const NetGroupManager& netgroupman, FuzzedDataProvider&
      fuzzed_data_provider, int32_t check_ratio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:58,1
    - Dst: mapInfo::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:60,1
    - Dst: m_impl::mapInfo::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:60,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:70,1
    - Dst: source::GetAddrBytes
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:71,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:72,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:72,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:73,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:74,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:75,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:76,1
    - Dst: GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:76,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:77,1
    - Dst: source::GetNetwork
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:77,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:78,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:78,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:79,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:79,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:80,1
    - Dst: CSipHasher::Write
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:81,1
    - Dst: CSipHasher::Finalize
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:82,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:86,1
    - Dst: static_cast<const CService&>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:86,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:87,1
    - Dst: static_cast<const CService&>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:87,1
    - Dst: mapInfo::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:92,1
    - Dst: Addresses::insert
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:96,1
    - Dst: Addresses::insert
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:101,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:108,1
    - Dst: if
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:109,1
    - Dst: if
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:112,1
    - Dst: mapInfo::at
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:115,1
    - Dst: m_impl::mapInfo::at
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:115,1
    - Dst: IdsReferToSameAddress
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:123,1
    - Dst: IdsReferToSameAddress
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:132,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AddrManDeterministic
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 139
    functionName: operator==(const AddrManDeterministic& other) const
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.h
    functionUses: 0
    functionsReached:
    - auto::size
    - mapInfo::size
    - LOCK2
    - TicksSinceEpoch
    - if
    - CSipHasher::Write
    - m_impl::mapInfo::at
    - std::tie
    - source::GetAddrBytes
    - source::GetNetwork
    - mapInfo::at
    - CSipHasher::Finalize
    - IdsReferToSameAddress
    - GetKey
    - GetNetwork
    - static_cast<const CService&>
    - Addresses::insert
    - m_impl::mapInfo::size
    - EXCLUSIVE_LOCKS_REQUIRED
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AddrManDeterministic& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: ConsumeSock
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FuzzedSock
    signature: FuzzedSock ConsumeSock(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthBitVector
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:213,1
    - Dst: SanityCheckASMap
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:214,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:214,1
    - Dst: NetGroupManager
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: ConsumeNetGroupManager
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.h
    functionUses: 0
    functionsReached:
    - SanityCheckASMap
    - std::vector::clear
    - ConsumeRandomLengthBitVector
    - NetGroupManager
    linkageType: ''
    returnType: NetGroupManager
    signature: NetGroupManager ConsumeNetGroupManager(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:220,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: ConsumeSubNet
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.h
    functionUses: 0
    functionsReached:
    - ConsumeNetAddr
    - ConsumeIntegral
    linkageType: ''
    returnType: CSubNet
    signature: CSubNet ConsumeSubNet(FuzzedDataProvider& fuzzed_data_provider) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:225,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: ConsumeService
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.h
    functionUses: 0
    functionsReached:
    - ConsumeNetAddr
    - ConsumeIntegral
    linkageType: ''
    returnType: CService
    signature: CService ConsumeService(FuzzedDataProvider& fuzzed_data_provider) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:233,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:233,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:233,1
    - Dst: std::make_shared<FuzzedSock>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:234,1
    - Dst: ConsumeAddress
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:235,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:236,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:237,1
    - Dst: ConsumeAddress
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:238,1
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:239,1
    - Dst: PickValueInArray
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:240,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:241,1
    - Dst: ConsumeWeakEnum
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:242,1
    - Dst: std::make_unique<CNode>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 266
    functionName: ConsumeNode
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.h
    functionUses: 2
    functionsReached:
    - std::make_unique<CNode>
    - ConsumeWeakEnum
    - std::make_shared<FuzzedSock>
    - ConsumeIntegralInRange
    - ConsumeBool
    - PickValueInArray
    - ConsumeRandomLengthString
    - ConsumeAddress
    - value_or
    - RandomMixin::max
    - ConsumeIntegral
    linkageType: ''
    returnType: auto
    signature: auto ConsumeNode(FuzzedDataProvider& fuzzed_data_provider, const std::optional<NodeId>&
      node_id_in = std::nullopt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeNode
      Src: /src/bitcoin-core/src/test/fuzz/util/net.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: ConsumeNodeAsUniquePtr
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.h
    functionUses: 0
    functionsReached:
    - ConsumeNode
    linkageType: ''
    returnType: std::unique_ptr<CNode>
    signature: std::unique_ptr<CNode> ConsumeNodeAsUniquePtr(FuzzedDataProvider& fdp,
      const std::optional<NodeId>& node_id_in = std::nullopt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mempool
    argTypes:
    - CTxMemPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: DummyChainState::SetMempool
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/mempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetMempool(CTxMemPool* mempool)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:46,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:46,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:47,1
    - Dst: FastRandomContext*::randrange
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:47,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:47,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:51,1
    - Dst: CNetAddr::SetInternal
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:55,1
    - Dst: ConsumeBytesAsString
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:55,1
    - Dst: FastRandomContext*::randbytes
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:57,1
    - Dst: CNetAddr::SetInternal
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:58,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:58,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:58,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:63,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:65,1
    - Dst: ConsumeBytes
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:69,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:70,1
    - Dst: FastRandomContext*::randbytes
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:72,1
    - Dst: CAddress::V2_NETWORK
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - ' fuzzed_data_provider'
    - rand
    argTypes:
    - FuzzedDataProvider
    - FastRandomContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 85
    functionName: ConsumeNetAddr
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 5
    functionsReached:
    - FastRandomContext*::randbytes
    - auto::begin
    - static_cast<size_t>
    - ConsumeBytesAsString
    - ConsumeIntegralInRange
    - DataStream::DataStream
    - ConsumeBytes
    - static_cast<uint8_t>
    - CNetAddr::CNetAddr
    - std::vector::resize
    - CAddress::V2_NETWORK
    - std::array::size
    - FastRandomContext*::randrange
    - auto::end
    - CNetAddr::SetInternal
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr ConsumeNetAddr(FuzzedDataProvider& fuzzed_data_provider, FastRandomContext*
      rand) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeService
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:89,1
    - Dst: ConsumeWeakEnum
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:89,1
    - Dst: ConsumeIntegral
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ConsumeAddress
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 1
    functionsReached:
    - ConsumeIntegral
    - ConsumeService
    - ConsumeWeakEnum
    linkageType: ''
    returnType: CAddress
    signature: CAddress ConsumeAddress(FuzzedDataProvider& fuzzed_data_provider) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:104,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:107,1
    - Dst: PickValue
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: ConsumeDeserializationParams
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - PickValue
    linkageType: ''
    returnType: P
    signature: P ConsumeDeserializationParams(FuzzedDataProvider& fuzzed_data_provider)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:114,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:116,1
    - Dst: FuzzedSock::ElapseTime
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:119,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: FuzzedSock::FuzzedSock
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - leveldb::DelayMilliseconds
    - FuzzedSock::ElapseTime
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: void FuzzedSock::FuzzedSock(FuzzedDataProvider& fuzzed_data_provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: FuzzedSock::~FuzzedSock()
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzedSock::~FuzzedSock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: FuzzedSock::ElapseTime
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 1
    functionsReached:
    - MockableSteadyClock::SetMockTime
    linkageType: ''
    returnType: void
    signature: void FuzzedSock::ElapseTime(std::chrono::milliseconds duration) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Sock
    assertStmts:
    - condition: (false && "Move of Sock into FuzzedSock not allowed.")
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: '& FuzzedSock::operator=(Sock&& other)'
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: FuzzedSock
    signature: FuzzedSock & FuzzedSock::operator=(Sock&& other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:165,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:168,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - len
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 173
    functionName: FuzzedSock::Send
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - SetFuzzedErrNo
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FuzzedSock::Send(const void* data, size_t len, int flags) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:192,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:195,1
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:195,1
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:196,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:199,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:200,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:202,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:209,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:211,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:211,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:212,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:212,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:215,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:215,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:215,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:223,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:224,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:226,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:226,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:226,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:226,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:227,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:230,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:230,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:230,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:230,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:233,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:238,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:238,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - buf
    - len
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts:
    - condition: (buf != nullptr || len == 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    constantsTouched: []
    func_position:
      end: 241
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 241
    functionName: FuzzedSock::Recv
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::memset
    - data
    - SetFuzzedErrNo
    - reinterpret_cast<uint8_t*>
    - std::min
    - std::memcpy
    - std::getenv
    - auto::begin
    - CThreadInterrupt::sleep_for
    - empty
    - auto::data
    - auto::empty
    - assert
    - end
    - erase
    - ConsumeBool
    - size
    - ConsumeRandomLengthByteVector
    - auto::end
    - insert
    - begin
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FuzzedSock::Recv(void* buf, size_t len, int flags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:258,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 263
    functionName: FuzzedSock::Connect
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - SetFuzzedErrNo
    linkageType: ''
    returnType: int
    signature: int FuzzedSock::Connect(const sockaddr*, socklen_t) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:278,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 283
    functionName: FuzzedSock::Bind
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - SetFuzzedErrNo
    linkageType: ''
    returnType: int
    signature: int FuzzedSock::Bind(const sockaddr*, socklen_t) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:297,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 302
    functionName: FuzzedSock::Listen
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - SetFuzzedErrNo
    linkageType: ''
    returnType: int
    signature: int FuzzedSock::Listen(int) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:311,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:312,1
    - Dst: std::unique_ptr<FuzzedSock>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:313,1
    - Dst: std::make_unique<FuzzedSock>
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - addr
    - addr_len
    argTypes:
    - sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: FuzzedSock::Accept
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - SetFuzzedErrNo
    - std::make_unique<FuzzedSock>
    - std::unique_ptr<FuzzedSock>
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> FuzzedSock::Accept(sockaddr* addr, socklen_t*
      addr_len) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:324,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:325,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:331,1
    - Dst: ConsumeFixedLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - level
    - opt_name
    - opt_val
    - opt_len
    argTypes:
    - int
    - int
    - void*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: FuzzedSock::GetSockOpt
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - SetFuzzedErrNo
    - std::memcpy
    - ConsumeFixedLengthByteVector
    linkageType: ''
    returnType: int
    signature: int FuzzedSock::GetSockOpt(int level, int opt_name, void* opt_val,
      socklen_t* opt_len) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:343,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: FuzzedSock::SetSockOpt
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - SetFuzzedErrNo
    linkageType: ''
    returnType: int
    signature: int FuzzedSock::SetSockOpt(int, int, const void*, socklen_t) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:356,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:357,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:360,1
    - Dst: ConsumeRandomLengthByteVector
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:361,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:362,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:363,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:363,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:363,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - name
    - name_len
    argTypes:
    - sockaddr*
    - socklen_t*
    assertStmts:
    - condition: (name_len)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    constantsTouched: []
    func_position:
      end: 366
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 366
    functionName: FuzzedSock::GetSockName
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::memcpy
    - ConsumeBool
    - auto::data
    - SetFuzzedErrNo
    - ConsumeRandomLengthByteVector
    - assert
    linkageType: ''
    returnType: int
    signature: int FuzzedSock::GetSockName(sockaddr* name, socklen_t* name_len) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:374,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: FuzzedSock::SetNonBlocking
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - SetFuzzedErrNo
    linkageType: ''
    returnType: bool
    signature: bool FuzzedSock::SetNonBlocking() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: FuzzedSock::IsSelectable
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FuzzedSock::IsSelectable() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:393,1
    - Dst: SetFuzzedErrNo
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:394,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:401,1
    - Dst: FuzzedSock::ElapseTime
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - timeout
    - requested
    - occurred
    argTypes:
    - std::chrono::milliseconds
    - Event
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 405
    functionName: FuzzedSock::Wait
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - SetFuzzedErrNo
    - FuzzedSock::ElapseTime
    linkageType: ''
    returnType: bool
    signature: bool FuzzedSock::Wait(std::chrono::milliseconds timeout, Event requested,
      Event* occurred) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:414,1
    - Dst: FuzzedSock::ElapseTime
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - timeout
    - ' events_per_sock'
    argTypes:
    - std::chrono::milliseconds
    - EventsPerSock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: FuzzedSock::WaitMany
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - FuzzedSock::ElapseTime
    linkageType: ''
    returnType: bool
    signature: bool FuzzedSock::WaitMany(std::chrono::milliseconds timeout, EventsPerSock&
      events_per_sock) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' errmsg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: FuzzedSock::IsConnected
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    linkageType: ''
    returnType: bool
    signature: bool FuzzedSock::IsConnected(std::string& errmsg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:431,1
    - Dst: ConsumeWeakEnum
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:432,1
    - Dst: ConsumeWeakEnum
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:433,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:434,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:434,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:435,1
    - Dst: Handshake
      Src: /src/bitcoin-core/src/test/fuzz/util/net.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' fuzzed_data_provider'
    - ' connman'
    - ' node'
    argTypes:
    - FuzzedDataProvider
    - ConnmanTestMsg
    - CNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: FillNode
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/net.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - ConsumeBool
    - Handshake
    - RandomMixin::max
    - ConsumeWeakEnum
    linkageType: ''
    returnType: void
    signature: void FillNode(FuzzedDataProvider& fuzzed_data_provider, ConnmanTestMsg&
      connman, CNode& node) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::byte
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:15,1
    - Dst: MockedDescriptorConverter::IdIsCompPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:19,1
    - Dst: MockedDescriptorConverter::IdIsUnCompPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:19,1
    - Dst: MockedDescriptorConverter::IdIsXOnlyPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:19,1
    - Dst: MockedDescriptorConverter::IdIsConstPrivKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:19,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:20,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:21,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:21,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:21,1
    - Dst: MockedDescriptorConverter::IdIsUnCompPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:21,1
    - Dst: MockedDescriptorConverter::IdIsCompPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:22,1
    - Dst: MockedDescriptorConverter::IdIsUnCompPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:22,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:23,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:24,1
    - Dst: MockedDescriptorConverter::IdIsXOnlyPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:25,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:26,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:27,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:29,1
    - Dst: CExtKey::SetSeed
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:33,1
    - Dst: MockedDescriptorConverter::IdIsXprv
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:34,1
    - Dst: EncodeExtKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:35,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:37,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:38,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 42
    functionName: MockedDescriptorConverter::Init
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - MockedDescriptorConverter::IdIsUnCompPubKey
    - MockedDescriptorConverter::IdIsXprv
    - HexStr
    - EncodeExtKey
    - CKey::Set
    - CKey::CKey
    - CExtKey::SetSeed
    - CExtKey::Neuter
    - std::array::begin
    - std::byte
    - std::array::end
    - CKey::GetPubKey
    - MockedDescriptorConverter::IdIsCompPubKey
    - MockedDescriptorConverter::IdIsXOnlyPubKey
    - MockedDescriptorConverter::IdIsConstPrivKey
    - EncodeExtPubKey
    linkageType: ''
    returnType: void
    signature: void MockedDescriptorConverter::Init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:45,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:46,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hex_characters
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: MockedDescriptorConverter::IdxFromHex
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ParseHex
    - std::string_view::size
    - auto::size
    linkageType: ''
    returnType: std::optional<uint8_t>
    signature: std::optional<uint8_t> MockedDescriptorConverter::IdxFromHex(std::string_view
      hex_characters) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:53,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:57,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:57,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:60,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:62,1
    - Dst: MockedDescriptorConverter::IdxFromHex
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:63,1
    - Dst: std::string_view::substr
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - mocked_desc
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: MockedDescriptorConverter::GetDescriptor
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::substr
    - std::string::reserve
    - MockedDescriptorConverter::IdxFromHex
    - std::string_view::size
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> MockedDescriptorConverter::GetDescriptor(std::string_view
      mocked_desc) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' buff'
    - max_depth
    argTypes:
    - FuzzBufferType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: HasDeepDerivPath
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasDeepDerivPath(const FuzzBufferType& buff, const int max_depth)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::stack::size
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:97,1
    - Dst: std::stack::push
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:102,1
    - Dst: std::stack::empty
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:103,1
    - Dst: std::stack::top
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:106,1
    - Dst: std::stack::empty
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:107,1
    - Dst: std::stack::pop
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - ' buff'
    - max_subs
    - max_nested_subs
    argTypes:
    - FuzzBufferType
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: HasTooManySubFrag
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::stack::pop
    - std::stack::top
    - std::stack::size
    - std::stack::push
    - std::stack::empty
    linkageType: ''
    returnType: bool
    signature: bool HasTooManySubFrag(const FuzzBufferType& buff, const int max_subs,
      const size_t max_nested_subs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::reset
      Src: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ' buff'
    - max_wrappers
    argTypes:
    - FuzzBufferType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 145
    functionName: HasTooManyWrappers
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::optional::reset
    linkageType: ''
    returnType: bool
    signature: bool HasTooManyWrappers(const FuzzBufferType& buff, const int max_wrappers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/fuzz/util/check_globals.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: CheckGlobalsImpl
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/check_globals.cpp
    functionUses: 0
    functionsReached:
    - SetMockTime
    linkageType: ''
    returnType: void
    signature: void CheckGlobalsImpl()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::abort
      Src: /src/bitcoin-core/src/test/fuzz/util/check_globals.cpp:38,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/test/fuzz/util/check_globals.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 53
    functionName: ~CheckGlobalsImpl()
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/check_globals.cpp
    functionUses: 0
    functionsReached:
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~CheckGlobalsImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CheckGlobalsImpl>
      Src: /src/bitcoin-core/src/test/fuzz/util/check_globals.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: CheckGlobals::CheckGlobals
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/check_globals.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CheckGlobalsImpl>
    linkageType: ''
    returnType: void
    signature: void CheckGlobals::CheckGlobals()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: CheckGlobals::~CheckGlobals()
    functionSourceFile: /src/bitcoin-core/src/test/fuzz/util/check_globals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckGlobals::~CheckGlobals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/test/util/mining.cpp:27,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:28,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/test/util/mining.cpp:28,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/util/mining.cpp:30,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' node'
    - ' address'
    argTypes:
    - NodeContext
    - std::string
    assertStmts:
    - condition: (IsValidDestination(dest))
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bitcoin-core/src/test/util/mining.cpp
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: generatetoaddress
    functionSourceFile: /src/bitcoin-core/src/test/util/mining.cpp
    functionUses: 0
    functionsReached:
    - IsValidDestination
    - DecodeDestination
    - GetScriptForDestination
    - MineBlock
    - assert
    linkageType: ''
    returnType: COutPoint
    signature: COutPoint generatetoaddress(const NodeContext& node, const std::string&
      address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenesisBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:38,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/util/mining.cpp:41,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/test/util/mining.cpp:41,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/util/mining.cpp:43,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/test/util/mining.cpp:44,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/util/mining.cpp:45,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/util/mining.cpp:46,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/util/mining.cpp:48,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/test/util/mining.cpp:50,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/test/util/mining.cpp:50,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/util/mining.cpp:51,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/util/mining.cpp:52,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/mining.cpp:52,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/test/util/mining.cpp:55,1
    - Dst: GenesisBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:55,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/mining.cpp:55,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/util/mining.cpp:56,1
    - Dst: GenesisBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:58,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/util/mining.cpp:61,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/mining.cpp:61,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/test/util/mining.cpp:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - total_height
    - ' params'
    argTypes:
    - size_t
    - CChainParams
    assertStmts:
    - condition: (block.nNonce)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bitcoin-core/src/test/util/mining.cpp
    constantsTouched: []
    func_position:
      end: 67
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 67
    functionName: CreateBlockChain
    functionSourceFile: /src/bitcoin-core/src/test/util/mining.cpp
    functionUses: 2
    functionsReached:
    - CheckProofOfWork
    - std::vector::at
    - CMutableTransaction::vout::resize
    - std::make_shared<CBlock>
    - static_cast<uint32_t>
    - CMutableTransaction::CMutableTransaction
    - GetBlockSubsidy
    - MakeTransactionRef
    - std::move
    - GetHash
    - GenesisBlock
    - GetConsensus
    - CScript
    - BlockMerkleRoot
    - assert
    - CMutableTransaction::vin::resize
    - prevout::SetNull
    linkageType: ''
    returnType: std::vector<std::shared_ptr<CBlock>>
    signature: std::vector<std::shared_ptr<CBlock>> CreateBlockChain(size_t total_height,
      const CChainParams& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:71,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:72,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:73,1
    - Dst: auto::IsNull
      Src: /src/bitcoin-core/src/test/util/mining.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' node'
    - ' assembler_options'
    argTypes:
    - NodeContext
    - node::BlockAssembler::Options
    assertStmts:
    - condition: (!valid.IsNull())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/test/util/mining.cpp
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: MineBlock
    functionSourceFile: /src/bitcoin-core/src/test/util/mining.cpp
    functionUses: 11
    functionsReached:
    - PrepareBlock
    - assert
    - auto::IsNull
    - MineBlock
    linkageType: ''
    returnType: COutPoint
    signature: COutPoint MineBlock(const NodeContext& node, const node::BlockAssembler::Options&
      assembler_options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: BlockValidationStateCatcher
    functionSourceFile: /src/bitcoin-core/src/test/util/mining.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockValidationStateCatcher(const uint256& hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/mining.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' block'
    - ' state'
    argTypes:
    - CBlock
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: BlockChecked
    functionSourceFile: /src/bitcoin-core/src/test/util/mining.cpp
    functionUses: 5
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: void
    signature: void BlockChecked(const CBlock& block, const BlockValidationState&
      state) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/util/mining.cpp:95,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/mining.cpp:95,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/util/mining.cpp:95,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:97,1
    - Dst: ProcessBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' node'
    - ' block'
    argTypes:
    - NodeContext
    - std::shared_ptr<CBlock>
    assertStmts:
    - condition: (block->nNonce)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/test/util/mining.cpp
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: MineBlock
    functionSourceFile: /src/bitcoin-core/src/test/util/mining.cpp
    functionUses: 11
    functionsReached:
    - CheckProofOfWork
    - GetHash
    - ProcessBlock
    - Params
    - assert
    linkageType: ''
    returnType: COutPoint
    signature: COutPoint MineBlock(const NodeContext& node, std::shared_ptr<CBlock>&
      block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:105,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/util/mining.cpp:106,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/util/mining.cpp:106,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/util/mining.cpp:106,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/mining.cpp:108,1
    - Dst: validation_signals::RegisterValidationInterface
      Src: /src/bitcoin-core/src/test/util/mining.cpp:109,1
    - Dst: ProcessNewBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:110,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:112,1
    - Dst: validation_signals::UnregisterValidationInterface
      Src: /src/bitcoin-core/src/test/util/mining.cpp:113,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/test/util/mining.cpp:114,1
    - Dst: BlockValidationStateCatcher::m_state::IsValid
      Src: /src/bitcoin-core/src/test/util/mining.cpp:115,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:116,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/util/mining.cpp:116,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/test/util/mining.cpp:116,1
    - Dst: ActiveHeight
      Src: /src/bitcoin-core/src/test/util/mining.cpp:116,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/mining.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' node'
    - ' block'
    argTypes:
    - NodeContext
    - std::shared_ptr<CBlock>
    assertStmts:
    - condition: (!duplicate)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bitcoin-core/src/test/util/mining.cpp
    - condition: (old_height + was_valid == WITH_LOCK(chainman.GetMutex(), return
        chainman.ActiveHeight()))
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/test/util/mining.cpp
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: ProcessBlock
    functionSourceFile: /src/bitcoin-core/src/test/util/mining.cpp
    functionUses: 14
    functionsReached:
    - GetMutex
    - validation_signals::RegisterValidationInterface
    - ActiveHeight
    - WITH_LOCK
    - GetHash
    - ProcessNewBlock
    - validation_signals::SyncWithValidationInterfaceQueue
    - Assert
    - assert
    - validation_signals::UnregisterValidationInterface
    - BlockValidationStateCatcher::m_state::IsValid
    linkageType: ''
    returnType: COutPoint
    signature: COutPoint ProcessBlock(const NodeContext& node, const std::shared_ptr<CBlock>&
      block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/test/util/mining.cpp:125,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:126,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:126,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/util/mining.cpp:126,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:126,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/mining.cpp:130,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/mining.cpp:131,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/test/util/mining.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' assembler_options'
    argTypes:
    - NodeContext
    - BlockAssembler::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: PrepareBlock
    functionSourceFile: /src/bitcoin-core/src/test/util/mining.cpp
    functionUses: 2
    functionsReached:
    - CreateNewBlock
    - std::make_shared<CBlock>
    - LOCK
    - Assert
    - BlockMerkleRoot
    - mempool::get
    linkageType: ''
    returnType: std::shared_ptr<CBlock>
    signature: "std::shared_ptr<CBlock> PrepareBlock(const NodeContext& node,\n                                     const
      BlockAssembler::Options& assembler_options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/test/util/mining.cpp:140,1
    - Dst: PrepareBlock
      Src: /src/bitcoin-core/src/test/util/mining.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' node'
    - ' coinbase_scriptPubKey'
    argTypes:
    - NodeContext
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: PrepareBlock
    functionSourceFile: /src/bitcoin-core/src/test/util/mining.cpp
    functionUses: 3
    functionsReached:
    - PrepareBlock
    - ApplyArgsManOptions
    linkageType: ''
    returnType: std::shared_ptr<CBlock>
    signature: std::shared_ptr<CBlock> PrepareBlock(const NodeContext& node, const
      CScript& coinbase_scriptPubKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_found
      Src: /src/bitcoin-core/src/test/util/logging.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~DebugLogHelper() noexcept(false)
    functionSourceFile: /src/bitcoin-core/src/test/util/logging.h
    functionUses: 0
    functionsReached:
    - check_found
    linkageType: ''
    returnType: void
    signature: void ~DebugLogHelper() noexcept(false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ASSERT_DEBUG_LOG
    functionSourceFile: /src/bitcoin-core/src/test/util/logging.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_DEBUG_LOG(message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/blockfilter.cpp:17,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/util/blockfilter.cpp:19,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/test/util/blockfilter.cpp:20,1
    - Dst: ReadBlockUndo
      Src: /src/bitcoin-core/src/test/util/blockfilter.cpp:25,1
    - Dst: BlockFilter
      Src: /src/bitcoin-core/src/test/util/blockfilter.cpp:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - filter_type
    - ' block_index'
    - ' filter'
    - ' blockman'
    argTypes:
    - BlockFilterType
    - CBlockIndex
    - BlockFilter
    - BlockManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: ComputeFilter
    functionSourceFile: /src/bitcoin-core/src/test/util/blockfilter.cpp
    functionUses: 1
    functionsReached:
    - ReadBlock
    - ReadBlockUndo
    - LOCK
    - CBlock::CBlock
    - BlockFilter
    linkageType: ''
    returnType: bool
    signature: bool ComputeFilter(BlockFilterType filter_type, const CBlockIndex&
      block_index, BlockFilter& filter, const BlockManager& blockman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:94,1
    - Dst: SetupNetworking
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: NetworkSetup
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - SetupNetworking
    linkageType: ''
    returnType: void
    signature: void NetworkSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:101,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:101,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:101,1
    - Dst: fs::temp_directory_path
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: SetupCommonTestArgs
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - fs::temp_directory_path
    - fs::PathToString
    - AddArg
    - strprintf
    linkageType: ''
    returnType: void
    signature: void SetupCommonTestArgs(ArgsManager& argsman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str_err
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ExitFailure
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void ExitFailure(std::string_view str_err)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EnableFuzzDeterminism
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:115,1
    - Dst: SeedRandomForTest
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:116,1
    - Dst: m_interrupt
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:119,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:121,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:135,1
    - Dst: G_TEST_COMMAND_LINE_ARGUMENTS
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:135,1
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:137,1
    - Dst: ClearPathCache
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:138,1
    - Dst: SetupServerArgs
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:140,1
    - Dst: SetupCommonTestArgs
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:141,1
    - Dst: args::ParseParameters
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:143,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:143,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:143,1
    - Dst: args::ClearArgs
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:144,1
    - Dst: G_TEST_GET_FULL_NAME
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:149,1
    - Dst: args::IsArgSet
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:150,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:155,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:155,1
    - Dst: fs::temp_directory_path
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:156,1
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:157,1
    - Dst: args::GetPathArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:161,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:162,1
    - Dst: ExitFailure
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:162,1
    - Dst: fs::absolute
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:164,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:165,1
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:169,1
    - Dst: util::LockDirectory
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:170,1
    - Dst: ExitFailure
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:171,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:171,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:175,1
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:176,1
    - Dst: ExitFailure
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:176,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:181,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:181,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:182,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:182,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:184,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:185,1
    - Dst: InitLogging
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:186,1
    - Dst: AppInitParameterInteraction
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:187,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:188,1
    - Dst: std::make_unique<node::Warnings>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:189,1
    - Dst: std::make_unique<kernel::Context>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:190,1
    - Dst: std::make_unique<ECC_Context>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:191,1
    - Dst: SetupEnvironment
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:192,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:194,1
    - Dst: noui_connect
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 2
    argNames:
    - chainType
    - opts
    argTypes:
    - ChainType
    - TestOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 200
    functionName: BasicTestingSetup::BasicTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    - randbytes
    - G_TEST_COMMAND_LINE_ARGUMENTS
    - fs::temp_directory_path
    - std::make_unique<node::Warnings>
    - G_TEST_GET_FULL_NAME
    - util::ThreadRename
    - args::GetPathArg
    - SeedRandomForTest
    - LogInstance
    - std::make_unique<ECC_Context>
    - EnableFuzzDeterminism
    - ForceSetArg
    - noui_connect
    - SetupCommonTestArgs
    - SetupServerArgs
    - std::vector::size
    - fs::PathToString
    - std::make_unique<kernel::Context>
    - ExitFailure
    - SetupEnvironment
    - TryCreateDirectories
    - args::ParseParameters
    - args::IsArgSet
    - m_interrupt
    - ClearPathCache
    - fs::PathFromString
    - AppInitParameterInteraction
    - std::vector::data
    - InitLogging
    - interfaces::MakeChain
    - fs::path::empty
    - SelectParams
    - fs::absolute
    - util::LockDirectory
    - HexStr
    - args::ClearArgs
    - Cat
    linkageType: ''
    returnType: void
    signature: void BasicTestingSetup::BasicTestingSetup(const ChainType chainType,
      TestOpts opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ecc_context::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:204,1
    - Dst: kernel::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:205,1
    - Dst: EnableFuzzDeterminism
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:206,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:207,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:209,1
    - Dst: UnlockDirectory
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:212,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:213,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:215,1
    - Dst: ClearArgs
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: BasicTestingSetup::~BasicTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    - EnableFuzzDeterminism
    - SetMockTime
    - wallet::WalletImpl::remove
    - ecc_context::reset
    - LogInstance
    - kernel::reset
    - ClearArgs
    - UnlockDirectory
    linkageType: ''
    returnType: void
    signature: void BasicTestingSetup::~BasicTestingSetup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:223,1
    - Dst: std::make_unique<CScheduler>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:228,1
    - Dst: std::thread
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:229,1
    - Dst: scheduler::serviceQueue
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:229,1
    - Dst: EnableFuzzDeterminism
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:232,1
    - Dst: std::make_unique<ValidationSignals>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:233,1
    - Dst: std::make_unique<util::ImmediateTaskRunner>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:233,1
    - Dst: std::make_unique<ValidationSignals>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:234,1
    - Dst: std::make_unique<SerialTaskRunner>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:234,1
    - Dst: scheduler::scheduleFromNow
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:238,1
    - Dst: std::promise::set_value
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:238,1
    - Dst: std::promise::get_future
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:239,1
    - Dst: std::make_unique<CTxMemPool>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:244,1
    - Dst: MemPoolOptionsForTest
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:244,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:245,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:245,1
    - Dst: std::make_unique<node::Warnings>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:246,1
    - Dst: std::make_unique<KernelNotifications>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:248,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:248,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:248,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:251,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:254,1
    - Dst: validation_signals::get
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:257,1
    - Dst: EnableFuzzDeterminism
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:259,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:267,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:270,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:273,1
    - Dst: std::make_unique<ChainstateManager>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:276,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:276,1
    - Dst: m_make_chainman
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - chainType
    - opts
    argTypes:
    - ChainType
    - TestOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 279
    functionName: ChainTestingSetup::ChainTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<node::Warnings>
    - std::promise::set_value
    - std::make_unique<CTxMemPool>
    - std::make_unique<ChainstateManager>
    - EnableFuzzDeterminism
    - std::make_unique<CScheduler>
    - validation_signals::get
    - std::make_unique<KernelNotifications>
    - bilingual_str::empty
    - m_make_chainman
    - std::thread
    - std::make_unique<SerialTaskRunner>
    - scheduler::scheduleFromNow
    - std::promise::get_future
    - Params
    - Assert
    - MemPoolOptionsForTest
    - GetBlocksDirPath
    - scheduler::serviceQueue
    - std::make_unique<ValidationSignals>
    - std::make_unique<util::ImmediateTaskRunner>
    - GetDataDirNet
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void ChainTestingSetup::ChainTestingSetup(const ChainType chainType,
      TestOpts opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scheduler::stop
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:283,1
    - Dst: validation_signals::FlushBackgroundCallbacks
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:284,1
    - Dst: connman::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:285,1
    - Dst: banman::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:286,1
    - Dst: addrman::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:287,1
    - Dst: netgroupman::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:288,1
    - Dst: mempool::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:290,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:291,1
    - Dst: chainman::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:292,1
    - Dst: validation_signals::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:293,1
    - Dst: scheduler::reset
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: ChainTestingSetup::~ChainTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - mempool::reset
    - validation_signals::FlushBackgroundCallbacks
    - validation_signals::reset
    - scheduler::reset
    - addrman::reset
    - chainman::reset
    - banman::reset
    - connman::reset
    - Assert
    - scheduler::stop
    - netgroupman::reset
    linkageType: ''
    returnType: void
    signature: void ChainTestingSetup::~ChainTestingSetup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:299,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:301,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:301,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:303,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:303,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:304,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:305,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:306,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:307,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:307,1
    - Dst: LoadChainstate
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:308,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:309,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:311,1
    - Dst: VerifyLoadedChainstate
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:311,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:312,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:315,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:316,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:316,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (status == node::ChainstateLoadStatus::SUCCESS)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    - condition: (status == node::ChainstateLoadStatus::SUCCESS)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: ChainTestingSetup::LoadVerifyActivateChainstate
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 1
    functionsReached:
    - std::tie
    - strprintf
    - BlockValidationState::ToString
    - IsArgSet
    - std::runtime_error
    - GetIntArg
    - LoadChainstate
    - Assert
    - ActiveChainstate
    - GetBoolArg
    - mempool::get
    - assert
    - VerifyLoadedChainstate
    - m_blockman::IsPruneMode
    linkageType: ''
    returnType: void
    signature: void ChainTestingSetup::LoadVerifyActivateChainstate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegisterAllCoreRPCCommands
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:329,1
    - Dst: LoadVerifyActivateChainstate
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:331,1
    - Dst: std::make_unique<NetGroupManager>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:335,1
    - Dst: std::vector<bool>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:335,1
    - Dst: std::make_unique<AddrMan>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:336,1
    - Dst: args::GetIntArg
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:338,1
    - Dst: std::make_unique<BanMan>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:339,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:339,1
    - Dst: std::make_unique<ConnmanTestMsg>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:340,1
    - Dst: Params
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:340,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:342,1
    - Dst: PeerManager::make
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:344,1
    - Dst: banman::get
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:345,1
    - Dst: peerman::get
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:351,1
    - Dst: connman::Init
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - chainType
    - opts
    argTypes:
    - ChainType
    - TestOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 320
    functionDepth: 5
    functionLinenumber: 320
    functionLinenumberEnd: 354
    functionName: TestingSetup::TestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ConnmanTestMsg>
    - banman::get
    - ApplyArgsManOptions
    - connman::Init
    - std::make_unique<NetGroupManager>
    - GetDataDirBase
    - peerman::get
    - RegisterAllCoreRPCCommands
    - args::GetIntArg
    - Params
    - LoadVerifyActivateChainstate
    - PeerManager::make
    - std::vector<bool>
    - std::make_unique<AddrMan>
    - std::make_unique<BanMan>
    linkageType: ''
    returnType: void
    signature: "void TestingSetup::TestingSetup(\n    const ChainType chainType,\n
      \   TestOpts opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:361,1
    - Dst: Set
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:364,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:364,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:364,1
    - Dst: TestChain100Setup::mineBlocks
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:367,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:370,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:371,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - chain_type
    - opts
    argTypes:
    - ChainType
    - TestOpts
    assertStmts:
    - condition: "(\n            m_node.chainman->ActiveChain().Tip()->GetBlockHash().ToString()
        ==\n            \"0c8c5f79505775a0f6aed6aca2350718ceb9c6f2c878667864d5c7a6d8ffa2a6\")"
      pos:
        line_end: 372
        line_start: 370
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    constantsTouched: []
    func_position:
      end: 375
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 375
    functionName: TestChain100Setup::TestChain100Setup
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - SetMockTime
    - TestChain100Setup::mineBlocks
    - Set
    - LOCK
    - std::array::begin
    - std::array::end
    - assert
    linkageType: ''
    returnType: void
    signature: "void TestChain100Setup::TestChain100Setup(\n    const ChainType chain_type,\n
      \   TestOpts opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:379,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:379,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:379,1
    - Dst: TestChain100Setup::CreateAndProcessBlock
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:382,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:383,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:383,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - num_blocks
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: TestChain100Setup::mineBlocks
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 1
    functionsReached:
    - ToByteVector
    - GetTime
    - SetMockTime
    - push_back
    - CScript
    - TestChain100Setup::CreateAndProcessBlock
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void TestChain100Setup::mineBlocks(int num_blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:395,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:397,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:397,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:399,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:399,1
    - Dst: RegenerateCommitments
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:401,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:401,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:403,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:403,1
    - Dst: chainman::GetConsensus
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' txns'
    - ' scriptPubKey'
    - ' chainstate'
    argTypes:
    - std::vector<CMutableTransaction>
    - CScript
    - Chainstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 406
    functionName: TestChain100Setup::CreateBlock
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - CBlock::vtx::push_back
    - CreateNewBlock
    - CBlock::GetHash
    - MakeTransactionRef
    - RegenerateCommitments
    - Assert
    - chainman::GetConsensus
    - CBlock::vtx::size
    linkageType: ''
    returnType: CBlock
    signature: "CBlock TestChain100Setup::CreateBlock(\n    const std::vector<CMutableTransaction>&
      txns,\n    const CScript& scriptPubKey,\n    Chainstate& chainstate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:414,1
    - Dst: TestChain100Setup::CreateBlock
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:417,1
    - Dst: std::make_shared<const CBlock>
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:418,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' txns'
    - ' scriptPubKey'
    - chainstate
    argTypes:
    - std::vector<CMutableTransaction>
    - CScript
    - Chainstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 422
    functionName: TestChain100Setup::CreateAndProcessBlock
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<const CBlock>
    - Assert
    - TestChain100Setup::CreateBlock
    linkageType: ''
    returnType: CBlock
    signature: "CBlock TestChain100Setup::CreateAndProcessBlock(\n    const std::vector<CMutableTransaction>&
      txns,\n    const CScript& scriptPubKey,\n    Chainstate* chainstate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:432,1
    - Dst: CMutableTransaction::vin::reserve
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:433,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:433,1
    - Dst: CMutableTransaction::vout::reserve
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:434,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:434,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:437,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:437,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:444,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:450,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:450,1
    - Dst: CCoinsViewCache::GetCoin
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:457,1
    - Dst: std::map::insert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:458,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:464,1
    - Dst: SignTransaction
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:464,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:465,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:465,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:465,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:465,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:470,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:471,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:471,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:472,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:472,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:472,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:473,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:473,1
    - Dst: value
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:478,1
    - Dst: std::map::clear
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:480,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:481,1
    - Dst: SignTransaction
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - ' input_transactions'
    - ' inputs'
    - input_height
    - ' input_signing_keys'
    - ' outputs'
    - ' feerate'
    - ' fee_output'
    argTypes:
    - std::vector<CTransactionRef>
    - std::vector<COutPoint>
    - int
    - std::vector<CKey>
    - std::vector<CTxOut>
    - std::optional<CFeeRate>
    - std::optional<uint32_t>
    assertStmts:
    - condition: (SignTransaction(mempool_txn, &keystore, input_coins, nHashType,
        input_errors))
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    - condition: (fee_output.has_value())
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    - condition: (fee_output.value() < mempool_txn.vout.size())
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    - condition: (SignTransaction(mempool_txn, &keystore, input_coins, nHashType,
        input_errors))
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    constantsTouched: []
    func_position:
      end: 486
      start: 424
    functionDepth: 5
    functionLinenumber: 424
    functionLinenumberEnd: 486
    functionName: TestChain100Setup::CreateValidTransaction
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - FillableSigningProvider::AddKey
    - CAmount
    - std::map::insert
    - has_value
    - CMutableTransaction::vin::emplace_back
    - CMutableTransaction::vout::size
    - GetVirtualTransactionSize
    - CCoinsViewCache::GetCoin
    - std::map::clear
    - AddCoins
    - get
    - SignTransaction
    - CMutableTransaction::CMutableTransaction
    - CMutableTransaction::vout::reserve
    - value
    - CMutableTransaction::vin::reserve
    - assert
    - end
    - std::accumulate
    - size
    - CScript
    - begin
    linkageType: ''
    returnType: std::pair<CMutableTransaction, CAmount>
    signature: "std::pair<CMutableTransaction, CAmount> TestChain100Setup::CreateValidTransaction(const
      std::vector<CTransactionRef>& input_transactions,\n                                                                                  const
      std::vector<COutPoint>& inputs,\n                                                                                  int
      input_height,\n                                                                                  const
      std::vector<CKey>& input_signing_keys,\n                                                                                  const
      std::vector<CTxOut>& outputs,\n                                                                                  const
      std::optional<CFeeRate>& feerate,\n                                                                                  const
      std::optional<uint32_t>& fee_output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestChain100Setup::CreateValidTransaction
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:495,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:498,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:499,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:499,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - ' input_transactions'
    - ' inputs'
    - input_height
    - ' input_signing_keys'
    - ' outputs'
    - submit
    argTypes:
    - std::vector<CTransactionRef>
    - std::vector<COutPoint>
    - int
    - std::vector<CKey>
    - std::vector<CTxOut>
    - bool
    assertStmts:
    - condition: (result.m_result_type == MempoolAcceptResult::ResultType::VALID)
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    constantsTouched: []
    func_position:
      end: 503
      start: 488
    functionDepth: 6
    functionLinenumber: 488
    functionLinenumberEnd: 503
    functionName: TestChain100Setup::CreateValidMempoolTransaction
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - TestChain100Setup::CreateValidTransaction
    - MakeTransactionRef
    - LOCK
    - chainman::ProcessTransaction
    - assert
    linkageType: ''
    returnType: CMutableTransaction
    signature: "CMutableTransaction TestChain100Setup::CreateValidMempoolTransaction(const
      std::vector<CTransactionRef>& input_transactions,\n                                                                     const
      std::vector<COutPoint>& inputs,\n                                                                     int
      input_height,\n                                                                     const
      std::vector<CKey>& input_signing_keys,\n                                                                     const
      std::vector<CTxOut>& outputs,\n                                                                     bool
      submit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:513,1
    - Dst: TestChain100Setup::CreateValidMempoolTransaction
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - input_transaction
    - input_vout
    - input_height
    - input_signing_key
    - output_destination
    - output_amount
    - submit
    argTypes:
    - CTransactionRef
    - uint32_t
    - int
    - CKey
    - CScript
    - CAmount
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 521
    functionName: TestChain100Setup::CreateValidMempoolTransaction
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 1
    functionsReached:
    - TestChain100Setup::CreateValidMempoolTransaction
    - CTransactionRef::GetHash
    linkageType: ''
    returnType: CMutableTransaction
    signature: "CMutableTransaction TestChain100Setup::CreateValidMempoolTransaction(CTransactionRef
      input_transaction,\n                                                                     uint32_t
      input_vout,\n                                                                     int
      input_height,\n                                                                     CKey
      input_signing_key,\n                                                                     CScript
      output_destination,\n                                                                     CAmount
      output_amount,\n                                                                     bool
      submit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:527,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:527,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:527,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:527,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:528,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:528,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:528,1
    - Dst: std::deque::empty
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:529,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:531,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:532,1
    - Dst: std::deque::empty
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:535,1
    - Dst: std::deque::front
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:536,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:537,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:537,1
    - Dst: std::deque::pop_front
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:539,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:541,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:542,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:545,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:545,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:546,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:548,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:549,1
    - Dst: std::deque::emplace_back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:555,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:555,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:555,1
    - Dst: swap
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:556,1
    - Dst: std::deque::back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:556,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:556,1
    - Dst: std::deque::size
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:556,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:560,1
    - Dst: mempool::GetChangeSet
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:562,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:563,1
    - Dst: auto::Apply
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - ' det_rand'
    - num_transactions
    - submit
    argTypes:
    - FastRandomContext
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 571
    functionName: TestChain100Setup::PopulateMempool
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - auto::Apply
    - std::deque::size
    - std::make_pair
    - std::deque::back
    - LOCK2
    - GetHash
    - swap
    - auto::StageAddition
    - std::vector::push_back
    - std::deque::front
    - CMutableTransaction::vin::emplace_back
    - CScriptNum
    - std::deque::emplace_back
    - std::deque::empty
    - CMutableTransaction
    - std::deque::pop_front
    - CMutableTransaction::vout::emplace_back
    - MakeTransactionRef
    - COutPoint
    - end
    - mempool::GetChangeSet
    - std::back_inserter
    - std::transform
    - CTransactionRef::GetHash
    - randrange
    - CScript
    - begin
    linkageType: ''
    returnType: std::vector<CTransactionRef>
    signature: std::vector<CTransactionRef> TestChain100Setup::PopulateMempool(FastRandomContext&
      det_rand, size_t num_transactions, bool submit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:575,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:577,1
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:577,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:580,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:582,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:586,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:587,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:587,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:587,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:588,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:588,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:588,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:588,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:589,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:592,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:592,1
    - Dst: mempool::m_opts::incremental_relay_feerate::GetFee
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:593,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:593,1
    - Dst: mempool::GetChangeSet
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:595,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:596,1
    - Dst: auto::Apply
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:599,1
    - Dst: mempool::TrimToSize
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:601,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:602,1
    - Dst: mempool::GetMinFee
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' target_feerate'
    argTypes:
    - CFeeRate
    assertStmts:
    - condition: (m_node.mempool->size() == 0)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    - condition: (m_node.mempool->GetMinFee() == target_feerate)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    - condition: (target_feerate > m_node.mempool->m_opts.min_relay_feerate)
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    - condition: (target_feerate > m_node.mempool->m_opts.incremental_relay_feerate)
      pos:
        line_end: 579
        line_start: 579
        source_file: /src/bitcoin-core/src/test/util/setup_common.cpp
    constantsTouched: []
    func_position:
      end: 603
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 603
    functionName: TestChain100Setup::MockMempoolMinFee
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - auto::Apply
    - GetScriptForDestination
    - LOCK2
    - auto::StageAddition
    - mempool::m_opts::incremental_relay_feerate::GetFee
    - CMutableTransaction::vin::emplace_back
    - GetVirtualTransactionSize
    - mempool::GetMinFee
    - GetFee
    - CMutableTransaction
    - mempool::size
    - CMutableTransaction::vout::emplace_back
    - MakeTransactionRef
    - WitnessV0ScriptHash
    - transaction_identifier::FromUint256
    - mempool::TrimToSize
    - assert
    - rand256
    - mempool::GetChangeSet
    - CScript
    linkageType: ''
    returnType: void
    signature: void TestChain100Setup::MockMempoolMinFee(const CFeeRate& target_feerate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:610,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 616
    functionName: getBlock13b8a
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 3
    functionsReached:
    - CBlock::CBlock
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: CBlock
    signature: CBlock getBlock13b8a()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' num'
    argTypes:
    - std::ostream
    - arith_uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: '& operator<<(std::ostream& os, const arith_uint256& num)'
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const arith_uint256& num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' num'
    argTypes:
    - std::ostream
    - uint160
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: '& operator<<(std::ostream& os, const uint160& num)'
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const uint160& num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/setup_common.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' num'
    argTypes:
    - std::ostream
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: '& operator<<(std::ostream& os, const uint256& num)'
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.cpp
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const uint256& num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:12,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:15,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:16,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:17,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:18,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:18,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' scriptPubKey'
    - nValue
    argTypes:
    - CScript
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 24
    functionName: BuildCreditingTransaction
    functionSourceFile: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    functionUses: 6
    functionsReached:
    - CScriptNum
    - CMutableTransaction::vout::resize
    - CMutableTransaction::CMutableTransaction
    - CScript
    - CMutableTransaction::vin::resize
    - prevout::SetNull
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction BuildCreditingTransaction(const CScript& scriptPubKey,
      int nValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:28,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:31,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:32,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:34,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ' scriptSig'
    - ' scriptWitness'
    - ' txCredit'
    argTypes:
    - CScript
    - CScriptWitness
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: BuildSpendingTransaction
    functionSourceFile: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    functionUses: 6
    functionsReached:
    - CMutableTransaction::vout::resize
    - CMutableTransaction::CMutableTransaction
    - GetHash
    - CScript
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction BuildSpendingTransaction(const CScript& scriptSig,
      const CScriptWitness& scriptWitness, const CTransaction& txCredit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:47,1
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:52,1
    - Dst: AddKey
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:53,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:57,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:59,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:59,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:61,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:61,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:62,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:62,1
    - Dst: vout::resize
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:64,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:66,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:66,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:66,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:68,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:68,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:68,1
    - Dst: AddCoins
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:69,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - ' keystoreRet'
    - ' coinsRet'
    - ' nValues'
    argTypes:
    - FillableSigningProvider
    - CCoinsViewCache
    - std::array<CAmount,4>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: SetupDummyInputs
    functionSourceFile: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    functionUses: 2
    functionsReached:
    - ToByteVector
    - std::vector::resize
    - GetScriptForDestination
    - CTransaction
    - AddKey
    - AddCoins
    - MakeNewKey
    - vout::resize
    - PKHash
    - GetPubKey
    linkageType: ''
    returnType: std::vector<CMutableTransaction>
    signature: std::vector<CMutableTransaction> SetupDummyInputs(FillableSigningProvider&
      keystoreRet, CCoinsViewCache& coinsRet, const std::array<CAmount,4>& nValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout::emplace_back
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:76,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:76,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:77,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:77,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:78,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:84,1
    - Dst: scriptPubKey::insert
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:87,1
    - Dst: scriptPubKey::end
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:90,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:90,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:90,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:91,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:91,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' tx'
    - target_weight
    argTypes:
    - CMutableTransaction
    - int32_t
    assertStmts:
    - condition: (target_weight >= unpadded_weight)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    - condition: (GetTransactionWeight(CTransaction(tx)) >= target_weight)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    - condition: (GetTransactionWeight(CTransaction(tx)) <= target_weight + 3)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: BulkTransaction
    functionSourceFile: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    functionUses: 2
    functionsReached:
    - vout::emplace_back
    - scriptPubKey::insert
    - CTransaction
    - GetTransactionWeight
    - scriptPubKey::end
    - GetSizeOfCompactSize
    - CScript
    - assert
    linkageType: ''
    returnType: void
    signature: void BulkTransaction(CMutableTransaction& tx, int32_t target_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:96,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:96,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:100,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:101,1
    - Dst: vin::at
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - provider
    - ' fromPubKey'
    - ' txTo'
    - nIn
    - ' amount'
    - nHashType
    - ' sig_data'
    argTypes:
    - SigningProvider
    - CScript
    - CMutableTransaction
    - unsigned int
    - CAmount
    - int
    - SignatureData
    assertStmts:
    - condition: (nIn < txTo.vin.size())
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: SignSignature
    functionSourceFile: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    functionUses: 10
    functionsReached:
    - vin::at
    - ProduceSignature
    - UpdateInput
    - assert
    - vin::size
    linkageType: ''
    returnType: bool
    signature: bool SignSignature(const SigningProvider &provider, const CScript&
      fromPubKey, CMutableTransaction& txTo, unsigned int nIn, const CAmount& amount,
      int nHashType, SignatureData& sig_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:107,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:107,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:109,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:109,1
    - Dst: SignSignature
      Src: /src/bitcoin-core/src/test/util/transaction_utils.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - provider
    - ' txFrom'
    - ' txTo'
    - nIn
    - nHashType
    - ' sig_data'
    argTypes:
    - SigningProvider
    - CTransaction
    - CMutableTransaction
    - unsigned int
    - int
    - SignatureData
    assertStmts:
    - condition: (nIn < txTo.vin.size())
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    - condition: (txin.prevout.n < txFrom.vout.size())
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: SignSignature
    functionSourceFile: /src/bitcoin-core/src/test/util/transaction_utils.cpp
    functionUses: 11
    functionsReached:
    - vout::size
    - assert
    - SignSignature
    - vin::size
    linkageType: ''
    returnType: bool
    signature: bool SignSignature(const SigningProvider &provider, const CTransaction&
      txFrom, CMutableTransaction& txTo, unsigned int nIn, int nHashType, SignatureData&
      sig_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 13
    functionName: IsValidFlagCombination
    functionSourceFile: /src/bitcoin-core/src/test/util/script.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidFlagCombination(unsigned flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CharType
      Src: /src/bitcoin-core/src/test/util/str.h:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - (string)
    - min_char
    - max_char
    argTypes:
    - CharType[]
    - CharType
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: NextString
    functionSourceFile: /src/bitcoin-core/src/test/util/str.h
    functionUses: 0
    functionsReached:
    - CharType
    linkageType: ''
    returnType: bool
    signature: bool NextString(CharType (&string)[StringLength], CharType min_char,
      CharType max_char)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NextString
      Src: /src/bitcoin-core/src/test/util/str.h:33,1
    - Dst: fn
      Src: /src/bitcoin-core/src/test/util/str.h:41,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - (string)
    - min_char
    - max_char
    - ' fn'
    argTypes:
    - CharType[]
    - CharType
    - CharType
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: ForEachNoDup
    functionSourceFile: /src/bitcoin-core/src/test/util/str.h
    functionUses: 3
    functionsReached:
    - fn
    - NextString
    linkageType: ''
    returnType: void
    signature: void ForEachNoDup(CharType (&string)[StringLength], CharType min_char,
      CharType max_char, Fn&& fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/random.h:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Rng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: RandMoney
    functionSourceFile: /src/bitcoin-core/src/test/util/random.h
    functionUses: 2
    functionsReached:
    - randrange
    linkageType: ''
    returnType: CAmount
    signature: CAmount RandMoney(Rng&& rng)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: SignedToUnsigned
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SignedToUnsigned(int64_t x) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: UnsignedToSigned
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t UnsignedToSigned(uint64_t x) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:126,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:126,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:127,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:127,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:128,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:128,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:128,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:129,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:129,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:139,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:143,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:143,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:145,1
    - Dst: SignedToUnsigned
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:145,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:145,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:153,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:154,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:157,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:159,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:166,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:166,1
    - Dst: auto::None
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:167,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:170,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:170,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:171,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:176,1
    - Dst: SetType::Count
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:176,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:176,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - ' s'
    - ' depgraph'
    argTypes:
    - Stream
    - DepGraph<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 184
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - Positions
    - SignedToUnsigned
    - VARINT_MODE
    - SetType::Set
    - std::vector::push_back
    - SetType::Count
    - FeeRate
    - auto::None
    - std::vector::end
    - VARINT
    - std::vector::reserve
    - Ancestors
    - Count
    - std::vector::size
    - Descendants
    - BufferedFile::Fill
    - TxCount
    - auto::Count
    - std::vector::begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, const DepGraph<SetType>& depgraph)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:207,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:210,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:210,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:213,1
    - Dst: UnsignedToSigned
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:216,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:218,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:219,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:227,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:229,1
    - Dst: FeeFrac::IsEmpty
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:240,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:241,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:241,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:241,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:242,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:243,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:244,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:246,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:252,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:256,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:264,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:264,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:265,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:265,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:266,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:269,1
    - Dst: DepGraph
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:280,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 2
    argNames:
    - ' s'
    - ' depgraph'
    argTypes:
    - Stream
    - DepGraph<SetType>
    assertStmts:
    - condition: (reordering.size() < SetType::Size())
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    constantsTouched: []
    func_position:
      end: 281
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 281
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - DepGraph::TxCount
    - DepGraph::AddDependencies
    - DepGraph::AddTransaction
    - VARINT
    - SetType::Reset
    - BufferedFile::Fill
    - VARINT_MODE
    - std::vector::push_back
    - FeeFrac::IsEmpty
    - DepGraph
    - assert
    - UnsignedToSigned
    - std::vector::size
    - DepGraph::Ancestors
    - CDBBatch::ApproximateSize
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, DepGraph<SetType>& depgraph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:291,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:295,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:295,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:296,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:297,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:298,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:298,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:300,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:302,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:302,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:304,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:305,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:305,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:305,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:309,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:310,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:311,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:311,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:311,1
    - Dst: GetReducedParents
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:314,1
    - Dst: GetReducedChildren
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:315,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:316,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:317,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:321,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:321,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:321,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:321,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:325,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:325,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:325,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:325,1
    - Dst: IsAcyclic
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:328,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:332,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:335,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:336,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:337,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:337,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:340,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:340,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:340,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:341,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:344,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:345,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:346,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:346,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:350,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:350,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:351,1
    - Dst: GetReducedParents
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:352,1
    - Dst: GetReducedChildren
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:353,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:355,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:357,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:365,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:365,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:368,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:376,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:376,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 1
    argNames:
    - ' depgraph'
    argTypes:
    - DepGraph<SetType>
    assertStmts:
    - condition: (num_positions == depgraph.TxCount())
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (position_range <= SetType::Size())
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph == decoded_depgraph)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (descendants == depgraph.Descendants(i))
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (reader.empty())
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (ancestors == depgraph.Ancestors(i))
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph == decoded_depgraph)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: ((depgraph.Ancestors(parent) & parents).IsSubsetOf(SetType::Singleton(parent)))
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (!children[i])
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (position_range >= num_positions)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph.Ancestors(i)[i])
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: ((depgraph.Descendants(child) & children).IsSubsetOf(SetType::Singleton(child)))
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (reader.empty())
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (position_range == depgraph.PositionRange())
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph.Ancestors(i).IsSupersetOf(depgraph.Ancestors(a)))
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph.Ancestors(i)[j] == depgraph.Descendants(j)[i])
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (!parents[i])
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (ser.size() >= 1 && ser.back() == 0)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    constantsTouched: []
    func_position:
      end: 379
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 379
    functionName: SanityCheck
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 45
    functionsReached:
    - Positions
    - Descendants
    - bitset_detail::IntBitSet::Singleton
    - IsSubsetOf
    - GetReducedChildren
    - std::vector::back
    - TxCount
    - GetReducedParents
    - IsAcyclic
    - Ancestors
    - Using
    - std::vector::pop_back
    - SpanReader::empty
    - assert
    - PositionRange
    - std::vector::size
    - CDBBatch::ApproximateSize
    linkageType: ''
    returnType: void
    signature: void SanityCheck(const DepGraph<SetType>& depgraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:386,1
    - Dst: std::span<const DepGraphIndex>::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:386,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:386,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:390,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:390,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:392,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:392,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:392,1
    - Dst: TestBitSet::Set
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' depgraph'
    - linearization
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    assertStmts:
    - condition: (linearization.size() == depgraph.TxCount())
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph.Positions()[i])
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: ((depgraph.Ancestors(i) - done) == TestBitSet::Singleton(i))
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    constantsTouched: []
    func_position:
      end: 395
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 395
    functionName: SanityCheck
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 45
    functionsReached:
    - Positions
    - bitset_detail::IntBitSet::Singleton
    - TestBitSet::Set
    - TxCount
    - Ancestors
    - std::span<const DepGraphIndex>::size
    - assert
    linkageType: ''
    returnType: void
    signature: void SanityCheck(const DepGraph<SetType>& depgraph, std::span<const
      DepGraphIndex> linearization)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cluster_count
    argTypes:
    - DepGraphIndex
    assertStmts:
    - condition: (cluster_count < sizeof(MAX_OPTIMAL_ITERS) / sizeof(MAX_OPTIMAL_ITERS[0]))
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    constantsTouched: []
    func_position:
      end: 418
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 418
    functionName: MaxOptimalLinearizationIters
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MaxOptimalLinearizationIters(DepGraphIndex cluster_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: SignedToUnsigned
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SignedToUnsigned(int64_t x) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: UnsignedToSigned
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t UnsignedToSigned(uint64_t x) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:126,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:126,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:127,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:127,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:128,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:128,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:128,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:129,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:129,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:139,1
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:143,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:143,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:145,1
    - Dst: SignedToUnsigned
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:145,1
    - Dst: FeeRate
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:145,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:153,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:154,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:157,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:159,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:166,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:166,1
    - Dst: auto::None
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:167,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:170,1
    - Dst: Count
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:170,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:171,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:176,1
    - Dst: SetType::Count
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:176,1
    - Dst: auto::Count
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:176,1
    - Dst: SetType::Set
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - ' s'
    - ' depgraph'
    argTypes:
    - Stream
    - DepGraph<SetType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 184
    functionName: Ser
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - Positions
    - SignedToUnsigned
    - VARINT_MODE
    - SetType::Set
    - std::vector::push_back
    - SetType::Count
    - FeeRate
    - auto::None
    - std::vector::end
    - VARINT
    - std::vector::reserve
    - Ancestors
    - Count
    - std::vector::size
    - Descendants
    - BufferedFile::Fill
    - TxCount
    - auto::Count
    - std::vector::begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void Ser(Stream& s, const DepGraph<SetType>& depgraph)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VARINT_MODE
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:207,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:210,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:210,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:213,1
    - Dst: UnsignedToSigned
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:216,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:218,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:219,1
    - Dst: DepGraph::Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:227,1
    - Dst: VARINT
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:229,1
    - Dst: FeeFrac::IsEmpty
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:240,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:241,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:241,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:241,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:242,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:243,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:244,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:246,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:252,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:256,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:264,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:264,1
    - Dst: BufferedFile::Fill
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:265,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:265,1
    - Dst: SetType::Reset
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:266,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:269,1
    - Dst: DepGraph
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:280,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 2
    argNames:
    - ' s'
    - ' depgraph'
    argTypes:
    - Stream
    - DepGraph<SetType>
    assertStmts:
    - condition: (reordering.size() < SetType::Size())
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    constantsTouched: []
    func_position:
      end: 281
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 281
    functionName: Unser
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 1
    functionsReached:
    - DepGraph::TxCount
    - DepGraph::AddDependencies
    - DepGraph::AddTransaction
    - VARINT
    - SetType::Reset
    - BufferedFile::Fill
    - VARINT_MODE
    - std::vector::push_back
    - FeeFrac::IsEmpty
    - DepGraph
    - assert
    - UnsignedToSigned
    - std::vector::size
    - DepGraph::Ancestors
    - CDBBatch::ApproximateSize
    linkageType: ''
    returnType: void
    signature: void Unser(Stream& s, DepGraph<SetType>& depgraph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:291,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:295,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:295,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:296,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:297,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:298,1
    - Dst: CDBBatch::ApproximateSize
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:298,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:300,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:302,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:302,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:304,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:305,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:305,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:305,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:309,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:310,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:311,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:311,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:311,1
    - Dst: GetReducedParents
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:314,1
    - Dst: GetReducedChildren
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:315,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:316,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:317,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:321,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:321,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:321,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:321,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:325,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:325,1
    - Dst: IsSubsetOf
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:325,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:325,1
    - Dst: IsAcyclic
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:328,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:332,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:335,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:336,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:337,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:337,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:340,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:340,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:340,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:341,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:344,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:345,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:346,1
    - Dst: SpanReader::empty
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:346,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:350,1
    - Dst: PositionRange
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:350,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:351,1
    - Dst: GetReducedParents
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:352,1
    - Dst: GetReducedChildren
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:353,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:355,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:357,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:365,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:365,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:368,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:376,1
    - Dst: Descendants
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:376,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 1
    argNames:
    - ' depgraph'
    argTypes:
    - DepGraph<SetType>
    assertStmts:
    - condition: (num_positions == depgraph.TxCount())
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (position_range <= SetType::Size())
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph == decoded_depgraph)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (descendants == depgraph.Descendants(i))
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (reader.empty())
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (ancestors == depgraph.Ancestors(i))
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph == decoded_depgraph)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: ((depgraph.Ancestors(parent) & parents).IsSubsetOf(SetType::Singleton(parent)))
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (!children[i])
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (position_range >= num_positions)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph.Ancestors(i)[i])
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: ((depgraph.Descendants(child) & children).IsSubsetOf(SetType::Singleton(child)))
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (reader.empty())
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (position_range == depgraph.PositionRange())
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph.Ancestors(i).IsSupersetOf(depgraph.Ancestors(a)))
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph.Ancestors(i)[j] == depgraph.Descendants(j)[i])
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (!parents[i])
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (ser.size() >= 1 && ser.back() == 0)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    constantsTouched: []
    func_position:
      end: 379
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 379
    functionName: SanityCheck
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 45
    functionsReached:
    - Positions
    - Descendants
    - bitset_detail::IntBitSet::Singleton
    - IsSubsetOf
    - GetReducedChildren
    - std::vector::back
    - TxCount
    - GetReducedParents
    - IsAcyclic
    - Ancestors
    - Using
    - std::vector::pop_back
    - SpanReader::empty
    - assert
    - PositionRange
    - std::vector::size
    - CDBBatch::ApproximateSize
    linkageType: ''
    returnType: void
    signature: void SanityCheck(const DepGraph<SetType>& depgraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:386,1
    - Dst: std::span<const DepGraphIndex>::size
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:386,1
    - Dst: TxCount
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:386,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:390,1
    - Dst: Positions
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:390,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:392,1
    - Dst: Ancestors
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:392,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:392,1
    - Dst: TestBitSet::Set
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' depgraph'
    - linearization
    argTypes:
    - DepGraph<SetType>
    - std::span<const DepGraphIndex>
    assertStmts:
    - condition: (linearization.size() == depgraph.TxCount())
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: (depgraph.Positions()[i])
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    - condition: ((depgraph.Ancestors(i) - done) == TestBitSet::Singleton(i))
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    constantsTouched: []
    func_position:
      end: 395
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 395
    functionName: SanityCheck
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 45
    functionsReached:
    - Positions
    - bitset_detail::IntBitSet::Singleton
    - TestBitSet::Set
    - TxCount
    - Ancestors
    - std::span<const DepGraphIndex>::size
    - assert
    linkageType: ''
    returnType: void
    signature: void SanityCheck(const DepGraph<SetType>& depgraph, std::span<const
      DepGraphIndex> linearization)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/cluster_linearize.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cluster_count
    argTypes:
    - DepGraphIndex
    assertStmts:
    - condition: (cluster_count < sizeof(MAX_OPTIMAL_ITERS) / sizeof(MAX_OPTIMAL_ITERS[0]))
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/bitcoin-core/src/test/util/cluster_linearize.h
    constantsTouched: []
    func_position:
      end: 418
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 418
    functionName: MaxOptimalLinearizationIters
    functionSourceFile: /src/bitcoin-core/src/test/util/cluster_linearize.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MaxOptimalLinearizationIters(DepGraphIndex cluster_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/logging.cpp:14,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/logging.cpp:14,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/util/logging.cpp:16,1
    - Dst: find
      Src: /src/bitcoin-core/src/test/util/logging.cpp:19,1
    - Dst: m_match
      Src: /src/bitcoin-core/src/test/util/logging.cpp:19,1
    - Dst: noui_test_redirect
      Src: /src/bitcoin-core/src/test/util/logging.cpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - message
    - match
    argTypes:
    - std::string
    - MatchFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: DebugLogHelper::DebugLogHelper
    functionSourceFile: /src/bitcoin-core/src/test/util/logging.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - noui_test_redirect
    - m_match
    - find
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void DebugLogHelper::DebugLogHelper(std::string message, MatchFn match)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: noui_reconnect
      Src: /src/bitcoin-core/src/test/util/logging.cpp:26,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/test/util/logging.cpp:27,1
    - Dst: m_match
      Src: /src/bitcoin-core/src/test/util/logging.cpp:28,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/util/logging.cpp:29,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/logging.cpp:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: DebugLogHelper::check_found
    functionSourceFile: /src/bitcoin-core/src/test/util/logging.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - strprintf
    - noui_reconnect
    - m_match
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void DebugLogHelper::check_found()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _fee
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& Fee(CAmount _fee)'
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestMemPoolEntryHelper
    signature: TestMemPoolEntryHelper & Fee(CAmount _fee)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tp
    argTypes:
    - NodeSeconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& Time(NodeSeconds tp)'
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestMemPoolEntryHelper
    signature: TestMemPoolEntryHelper & Time(NodeSeconds tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _height
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& Height(unsigned int _height)'
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestMemPoolEntryHelper
    signature: TestMemPoolEntryHelper & Height(unsigned int _height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _seq
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& Sequence(uint64_t _seq)'
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestMemPoolEntryHelper
    signature: TestMemPoolEntryHelper & Sequence(uint64_t _seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& SpendsCoinbase(bool _flag)'
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestMemPoolEntryHelper
    signature: TestMemPoolEntryHelper & SpendsCoinbase(bool _flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _sigopsCost
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& SigOpsCost(unsigned int _sigopsCost)'
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestMemPoolEntryHelper
    signature: TestMemPoolEntryHelper & SigOpsCost(unsigned int _sigopsCost)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/test/util/json.cpp:14,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/json.cpp:15,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/test/util/json.cpp:15,1
    - Dst: UniValue::isArray
      Src: /src/bitcoin-core/src/test/util/json.cpp:15,1
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/test/util/json.cpp:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - jsondata
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 4
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: read_json
    functionSourceFile: /src/bitcoin-core/src/test/util/json.cpp
    functionUses: 11
    functionsReached:
    - UniValue::UniValue
    - UniValue::get_array
    - UniValue::isArray
    - Assert
    - UniValue::read
    linkageType: ''
    returnType: UniValue
    signature: UniValue read_json(std::string_view jsondata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validation_signals::get
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:26,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:28,1
    - Dst: GCSFilter::Params
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:28,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: MemPoolOptionsForTest
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.cpp
    functionUses: 9
    functionsReached:
    - GCSFilter::Params
    - validation_signals::get
    - Assert
    - ApplyArgsManOptions
    linkageType: ''
    returnType: CTxMemPool::Options
    signature: CTxMemPool::Options MemPoolOptionsForTest(const NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestMemPoolEntryHelper::FromTx
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:35,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: TestMemPoolEntryHelper::FromTx
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.cpp
    functionUses: 12
    functionsReached:
    - MakeTransactionRef
    - TestMemPoolEntryHelper::FromTx
    linkageType: ''
    returnType: CTxMemPoolEntry
    signature: CTxMemPoolEntry TestMemPoolEntryHelper::FromTx(const CMutableTransaction&
      tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: TestMemPoolEntryHelper::FromTx
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.cpp
    functionUses: 12
    functionsReached:
    - TicksSinceEpoch
    linkageType: ''
    returnType: CTxMemPoolEntry
    signature: CTxMemPoolEntry TestMemPoolEntryHelper::FromTx(const CTransactionRef&
      tx) const
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: m_state::IsInvalid
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:49,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:50,1
    - Dst: m_state::ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:50,1
    - Dst: m_state::IsValid
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:53,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:54,1
    - Dst: m_state::ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:54,1
    - Dst: m_state::GetResult
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:57,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:57,1
    - Dst: m_tx_results::size
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:57,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:58,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:58,1
    - Dst: m_tx_results::size
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:58,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:61,1
    - Dst: m_tx_results::count
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:62,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:63,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:63,1
    - Dst: m_tx_results::at
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:66,1
    - Dst: m_state::IsInvalid
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:68,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:69,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:69,1
    - Dst: m_state::ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:69,1
    - Dst: m_replaced_transactions::size
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:73,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:74,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:75,1
    - Dst: m_replaced_transactions::empty
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:79,1
    - Dst: m_wtxids_fee_calculations::has_value
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:80,1
    - Dst: m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:80,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:81,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:82,1
    - Dst: m_replaced_transactions::empty
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:85,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:86,1
    - Dst: m_wtxids_fee_calculations::has_value
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:88,1
    - Dst: m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:88,1
    - Dst: CTxMemPool*::GatherClusters
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:89,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:89,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:90,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:90,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:90,1
    - Dst: m_base_fees::has_value
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:96,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:97,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:97,1
    - Dst: m_vsize::has_value
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:99,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:100,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:100,1
    - Dst: m_other_wtxid::has_value
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:105,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:106,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:106,1
    - Dst: m_state::GetResult
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:112,1
    - Dst: m_effective_feerate::has_value
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:113,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:114,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:115,1
    - Dst: m_wtxids_fee_calculations::has_value
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:117,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:118,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:119,1
    - Dst: CTxMemPool*::exists
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:125,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:126,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:126,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:129,1
    - Dst: CTxMemPool*::exists
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:130,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:131,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:131,1
    - Dst: CTxMemPool*::exists
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:135,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:135,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:136,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:136,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 63
    argCount: 4
    argNames:
    - ' txns'
    - ' result'
    - expect_valid
    - mempool
    argTypes:
    - Package
    - PackageMempoolAcceptResult
    - bool
    - CTxMemPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 142
    functionName: CheckPackageMempoolAcceptResult
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.cpp
    functionUses: 6
    functionsReached:
    - auto::size
    - m_replaced_transactions::empty
    - m_state::GetResult
    - GetHash
    - HasWitness
    - CTxMemPool*::exists
    - ToString
    - m_tx_results::at
    - m_wtxids_fee_calculations::has_value
    - m_wtxids_fee_calculations::value
    - CTxMemPool*::GatherClusters
    - GetWitnessHash
    - m_state::IsValid
    - m_tx_results::size
    - strprintf
    - m_replaced_transactions::size
    - m_vsize::has_value
    - m_state::IsInvalid
    - m_state::ToString
    - m_effective_feerate::has_value
    - m_other_wtxid::has_value
    - size
    - LOCK
    - m_base_fees::has_value
    - m_tx_results::count
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> CheckPackageMempoolAcceptResult(const Package&
      txns,\n                                                           const PackageMempoolAcceptResult&
      result,\n                                                           bool expect_valid,\n
      \                                                          const CTxMemPool*
      mempool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:146,1
    - Dst: infoAll
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:147,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:148,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:148,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:148,1
    - Dst: GetDust
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:150,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:152,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:152,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:154,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:157,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:157,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:157,1
    - Dst: GetMemPoolChildrenConst
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:160,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:164,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:164,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:166,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:173,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:174,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:175,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:175,1
    - Dst: vin::begin
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:175,1
    - Dst: vin::end
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' tx_pool'
    argTypes:
    - CTxMemPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: CheckMempoolEphemeralInvariants
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.cpp
    functionUses: 0
    functionsReached:
    - infoAll
    - GetDust
    - empty
    - tx::GetHash
    - GetFee
    - size
    - std::any_of
    - vin::begin
    - LOCK
    - Assert
    - GetEntry
    - std::vector::empty
    - GetMemPoolChildrenConst
    - vin::end
    - std::vector::size
    - begin
    - GetModifiedFee
    linkageType: ''
    returnType: void
    signature: void CheckMempoolEphemeralInvariants(const CTxMemPool& tx_pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:183,1
    - Dst: infoAll
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:184,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:185,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:185,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:185,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:188,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:188,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:191,1
    - Dst: GetCountWithDescendants
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:191,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:192,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:192,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:193,1
    - Dst: GetSizeWithDescendants
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:193,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:194,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:194,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:197,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:198,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:198,1
    - Dst: GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:200,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:201,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:201,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:203,1
    - Dst: GetMemPoolParentsConst
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:205,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:206,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' tx_pool'
    argTypes:
    - CTxMemPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 210
    functionName: CheckMempoolTRUCInvariants
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.cpp
    functionUses: 0
    functionsReached:
    - infoAll
    - begin
    - GetTxSize
    - tx::GetHash
    - LOCK
    - GetMemPoolParentsConst
    - Assert
    - GetEntry
    - get
    - GetSizeWithAncestors
    - GetCountWithDescendants
    - GetCountWithAncestors
    - GetSizeWithDescendants
    linkageType: ''
    returnType: void
    signature: void CheckMempoolTRUCInvariants(const CTxMemPool& tx_pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:214,1
    - Dst: GetChangeSet
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:215,1
    - Dst: auto::StageAddition
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:216,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:216,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:216,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:217,1
    - Dst: GetHeight
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:217,1
    - Dst: GetSequence
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:217,1
    - Dst: GetSpendsCoinbase
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:218,1
    - Dst: GetSigOpCost
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:218,1
    - Dst: GetLockPoints
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:218,1
    - Dst: auto::Apply
      Src: /src/bitcoin-core/src/test/util/txmempool.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' tx_pool'
    - ' entry'
    argTypes:
    - CTxMemPool
    - CTxMemPoolEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: AddToMempool
    functionSourceFile: /src/bitcoin-core/src/test/util/txmempool.cpp
    functionUses: 23
    functionsReached:
    - GetTime
    - auto::Apply
    - GetChangeSet
    - GetSequence
    - LOCK2
    - GetFee
    - auto::StageAddition
    - GetSigOpCost
    - GetSharedTx
    - GetHeight
    - GetLockPoints
    - GetSpendsCoinbase
    linkageType: ''
    returnType: void
    signature: void AddToMempool(CTxMemPool& tx_pool, const CTxMemPoolEntry& entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/str.cpp:12,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/str.cpp:12,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/str.cpp:13,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 21
    functionName: CaseInsensitiveEqual
    functionSourceFile: /src/bitcoin-core/src/test/util/str.cpp
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CaseInsensitiveEqual(const std::string& s1, const std::string&
      s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util/validation.cpp:15,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/test/util/validation.cpp:17,1
    - Dst: static_cast<TestChainstate*>
      Src: /src/bitcoin-core/src/test/util/validation.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: TestChainstateManager::DisableNextWrite
    functionSourceFile: /src/bitcoin-core/src/test/util/validation.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - GetAll
    - static_cast<TestChainstate*>
    linkageType: ''
    returnType: void
    signature: void TestChainstateManager::DisableNextWrite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/test/util/validation.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: ResetNextWrite
    functionSourceFile: /src/bitcoin-core/src/test/util/validation.cpp
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: void
    signature: void ResetNextWrite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/validation.cpp:24,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/test/util/validation.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (IsInitialBlockDownload())
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/test/util/validation.cpp
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: TestChainstateManager::ResetIbd
    functionSourceFile: /src/bitcoin-core/src/test/util/validation.cpp
    functionUses: 0
    functionsReached:
    - assert
    - IsInitialBlockDownload
    linkageType: ''
    returnType: void
    signature: void TestChainstateManager::ResetIbd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/validation.cpp:29,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/test/util/validation.cpp:29,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/validation.cpp:31,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/test/util/validation.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: TestChainstateManager::JumpOutOfIbd
    functionSourceFile: /src/bitcoin-core/src/test/util/validation.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - IsInitialBlockDownload
    linkageType: ''
    returnType: void
    signature: void TestChainstateManager::JumpOutOfIbd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValidationInterfaceTest::BlockConnected
      Src: /src/bitcoin-core/src/test/util/validation.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - role
    - ' obj'
    - ' block'
    - pindex
    argTypes:
    - ChainstateRole
    - CValidationInterface
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ValidationInterfaceTest::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/test/util/validation.cpp
    functionUses: 2
    functionsReached:
    - ValidationInterfaceTest::BlockConnected
    linkageType: ''
    returnType: void
    signature: "void ValidationInterfaceTest::BlockConnected(\n        ChainstateRole
      role,\n        CValidationInterface& obj,\n        const std::shared_ptr<const
      CBlock>& block,\n        const CBlockIndex* pindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/test/util/setup_common.h:72,1
    - Dst: Reseed
      Src: /src/bitcoin-core/src/test/util/setup_common.h:73,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/test/util/setup_common.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - SeedRand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: SeedRandomForTest
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 11
    functionsReached:
    - Reseed
    - SeedRandomStateForTest
    - GetRandHash
    linkageType: ''
    returnType: void
    signature: void SeedRandomForTest(SeedRand seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: RegTestingSetup
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RegTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: Testnet4Setup
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Testnet4Setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/test/util/setup_common.h:263,1
    - Dst: std::make_unique<T>
      Src: /src/bitcoin-core/src/test/util/setup_common.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: MakeNoLogFileContext
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 44
    functionsReached:
    - std::make_unique<T>
    - Cat
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> MakeNoLogFileContext(const ChainType chain_type
      = ChainType::REGTEST, TestOpts opts = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<T>>
      Src: /src/bitcoin-core/src/test/util/setup_common.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '& operator<<(std::ostream& os, const T& e)'
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<T>>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const T& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' v'
    argTypes:
    - std::ostream
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: '& operator<<(std::ostream& os, const std::optional<T>& v)'
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const std::optional<T>&
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<T>>
      Src: /src/bitcoin-core/src/test/util/setup_common.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '& operator<<(std::ostream& os, const T& e)'
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<T>>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const T& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' v'
    argTypes:
    - std::ostream
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: '& operator<<(std::ostream& os, const std::optional<T>& v)'
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const std::optional<T>&
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - reason
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: HasReason::HasReason
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HasReason(std::string_view reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find
      Src: /src/bitcoin-core/src/test/util/setup_common.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: operator()(std::string_view s) const
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 0
    functionsReached:
    - std::string_view::find
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::string_view s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: what
      Src: /src/bitcoin-core/src/test/util/setup_common.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: operator()(const std::exception& e) const
    functionSourceFile: /src/bitcoin-core/src/test/util/setup_common.h
    functionUses: 0
    functionsReached:
    - what
    linkageType: ''
    returnType: bool
    signature: bool operator()(const std::exception& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/test/util/coins.cpp:18,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/test/util/coins.cpp:19,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/test/util/coins.cpp:19,1
    - Dst: RandMoney
      Src: /src/bitcoin-core/src/test/util/coins.cpp:21,1
    - Dst: Coin::out::scriptPubKey::assign
      Src: /src/bitcoin-core/src/test/util/coins.cpp:22,1
    - Dst: AddCoin
      Src: /src/bitcoin-core/src/test/util/coins.cpp:23,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/coins.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' rng'
    - ' coins_view'
    argTypes:
    - FastRandomContext
    - CCoinsViewCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: AddTestCoin
    functionSourceFile: /src/bitcoin-core/src/test/util/coins.cpp
    functionUses: 2
    functionsReached:
    - Coin::Coin
    - Coin::out::scriptPubKey::assign
    - std::move
    - RandMoney
    - transaction_identifier::FromUint256
    - AddCoin
    - rand256
    linkageType: ''
    returnType: COutPoint
    signature: COutPoint AddTestCoin(FastRandomContext& rng, CCoinsViewCache& coins_view)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: __llvm_profile_reset_counters
    functionSourceFile: /src/bitcoin-core/src/test/util/coverage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __llvm_profile_reset_counters(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: __gcov_reset
    functionSourceFile: /src/bitcoin-core/src/test/util/coverage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __gcov_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __llvm_profile_reset_counters
      Src: /src/bitcoin-core/src/test/util/coverage.cpp:17,1
    - Dst: __gcov_reset
      Src: /src/bitcoin-core/src/test/util/coverage.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: ResetCoverageCounters
    functionSourceFile: /src/bitcoin-core/src/test/util/coverage.cpp
    functionUses: 1
    functionsReached:
    - __llvm_profile_reset_counters
    - __gcov_reset
    linkageType: ''
    returnType: void
    signature: void ResetCoverageCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ResetCoverageCounters
    functionSourceFile: /src/bitcoin-core/src/test/util/coverage.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetCoverageCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msgproc
    argTypes:
    - NetEventsInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: SetMsgProc
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetMsgProc(NetEventsInterface* msgproc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: SetPeerConnectTimeout
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPeerConnectTimeout(std::chrono::seconds timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: TestNodes
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 4
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: std::vector<CNode*>
    signature: std::vector<CNode*> TestNodes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.h:59,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/test/util/net.h:60,1
    - Dst: IsManualOrFullOutboundConn
      Src: /src/bitcoin-core/src/test/util/net.h:62,1
    - Dst: addr::GetNetwork
      Src: /src/bitcoin-core/src/test/util/net.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - CNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: AddTestNode
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 5
    functionsReached:
    - push_back
    - LOCK
    - addr::GetNetwork
    - IsManualOrFullOutboundConn
    linkageType: ''
    returnType: void
    signature: void AddTestNode(CNode& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.h:67,1
    - Dst: clear
      Src: /src/bitcoin-core/src/test/util/net.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: ClearTestNodes
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 4
    functionsReached:
    - LOCK
    - clear
    linkageType: ''
    returnType: void
    signature: void ClearTestNodes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProcessMessages
      Src: /src/bitcoin-core/src/test/util/net.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 18
    functionsReached:
    - ProcessMessages
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(NetEventsInterface::g_msgproc_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AlreadyConnectedToAddress
      Src: /src/bitcoin-core/src/test/util/net.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - CAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: AlreadyConnectedPublic
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 1
    functionsReached:
    - AlreadyConnectedToAddress
    linkageType: ''
    returnType: bool
    signature: bool AlreadyConnectedPublic(const CAddress& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: StaticContentsSock::IsConnected
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsConnected(std::string&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.h:285,1
    - Dst: push
      Src: /src/bitcoin-core/src/test/util/net.h:286,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/net.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: DynSock::Queue::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 0
    functionsReached:
    - LOCK
    - push
    - std::move
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(!m_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.h:291,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.h:292,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/net.h:295,1
    - Dst: front
      Src: /src/bitcoin-core/src/test/util/net.h:295,1
    - Dst: pop
      Src: /src/bitcoin-core/src/test/util/net.h:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: DynSock::Queue::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - std::move
    - LOCK
    - front
    linkageType: ''
    returnType: std::optional<S>
    signature: std::optional<S> EXCLUSIVE_LOCKS_REQUIRED(!m_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.h:302,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: (!m_mutex)
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 0
    functionsReached:
    - LOCK
    - empty
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetMsg::Make
      Src: /src/bitcoin-core/src/test/util/net.h:342,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/test/util/net.h:342,1
    - Dst: V1Transport::SetMessageToSend
      Src: /src/bitcoin-core/src/test/util/net.h:345,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.h:346,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.h:348,1
    - Dst: V1Transport::GetBytesToSend
      Src: /src/bitcoin-core/src/test/util/net.h:351,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.h:352,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/util/net.h:355,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/util/net.h:355,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util/net.h:355,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/util/net.h:355,1
    - Dst: V1Transport::MarkBytesSent
      Src: /src/bitcoin-core/src/test/util/net.h:356,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/net.h:356,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/test/util/net.h:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' type'
    argTypes:
    - std::string
    assertStmts:
    - condition: (queued)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/bitcoin-core/src/test/util/net.h
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 5
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: DynSock::Pipe::PushNetMsg(const std::string& type, Args&&... payload)
    functionSourceFile: /src/bitcoin-core/src/test/util/net.h
    functionUses: 0
    functionsReached:
    - end
    - V1Transport::MarkBytesSent
    - empty
    - notify_all
    - NetMsg::Make
    - std::forward<Args>
    - size
    - LOCK
    - V1Transport::SetMessageToSend
    - V1Transport::GetBytesToSend
    - assert
    - insert
    - begin
    linkageType: ''
    returnType: void
    signature: void DynSock::Pipe::PushNetMsg(const std::string& type, Args&&... payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: ElapseSteady
    functionSourceFile: /src/bitcoin-core/src/test/util/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ElapseSteady()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::SetMockTime
      Src: /src/bitcoin-core/src/test/util/time.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: operator()(std::chrono::milliseconds d)
    functionSourceFile: /src/bitcoin-core/src/test/util/time.h
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::SetMockTime
    linkageType: ''
    returnType: void
    signature: void operator()(std::chrono::milliseconds d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/util/chainstate.h:45,1
    - Dst: chainman::ActiveHeight
      Src: /src/bitcoin-core/src/test/util/chainstate.h:45,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/test/util/chainstate.h:46,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/test/util/chainstate.h:46,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/util/chainstate.h:47,1
    - Dst: CreateUTXOSnapshot
      Src: /src/bitcoin-core/src/test/util/chainstate.h:50,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/util/chainstate.h:51,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/chainstate.h:52,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/test/util/chainstate.h:55,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/test/util/chainstate.h:56,1
    - Dst: fs::path::make_preferred
      Src: /src/bitcoin-core/src/test/util/chainstate.h:56,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/test/util/chainstate.h:56,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/test/util/chainstate.h:60,1
    - Dst: chainman::GetParams
      Src: /src/bitcoin-core/src/test/util/chainstate.h:62,1
    - Dst: malleation
      Src: /src/bitcoin-core/src/test/util/chainstate.h:65,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/chainstate.h:76,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/util/chainstate.h:77,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/test/util/chainstate.h:77,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/util/chainstate.h:78,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/test/util/chainstate.h:78,1
    - Dst: chainman::ResetChainstates
      Src: /src/bitcoin-core/src/test/util/chainstate.h:79,1
    - Dst: chainman::InitializeChainstate
      Src: /src/bitcoin-core/src/test/util/chainstate.h:80,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/test/util/chainstate.h:80,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/util/chainstate.h:81,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/chainstate.h:82,1
    - Dst: LoadGenesisBlock
      Src: /src/bitcoin-core/src/test/util/chainstate.h:82,1
    - Dst: InitCoinsDB
      Src: /src/bitcoin-core/src/test/util/chainstate.h:84,1
    - Dst: InitCoinsCache
      Src: /src/bitcoin-core/src/test/util/chainstate.h:85,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/test/util/chainstate.h:86,1
    - Dst: setBlockIndexCandidates::insert
      Src: /src/bitcoin-core/src/test/util/chainstate.h:87,1
    - Dst: chainman::m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/test/util/chainstate.h:87,1
    - Dst: LoadChainTip
      Src: /src/bitcoin-core/src/test/util/chainstate.h:88,1
    - Dst: chainman::MaybeRebalanceCaches
      Src: /src/bitcoin-core/src/test/util/chainstate.h:89,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/util/chainstate.h:96,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/chainstate.h:102,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/test/util/chainstate.h:102,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/util/chainstate.h:111,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/test/util/chainstate.h:112,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/test/util/chainstate.h:112,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/test/util/chainstate.h:112,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/chainstate.h:114,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/test/util/chainstate.h:115,1
    - Dst: chainman::GetMutex
      Src: /src/bitcoin-core/src/test/util/chainstate.h:115,1
    - Dst: chainman::ActiveHeight
      Src: /src/bitcoin-core/src/test/util/chainstate.h:115,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/test/util/chainstate.h:118,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/test/util/chainstate.h:119,1
    - Dst: m_chain::SetTip
      Src: /src/bitcoin-core/src/test/util/chainstate.h:127,1
    - Dst: chainman::ActivateSnapshot
      Src: /src/bitcoin-core/src/test/util/chainstate.h:130,1
    - Dst: m_chain::SetTip
      Src: /src/bitcoin-core/src/test/util/chainstate.h:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - TestingSetup*
    assertStmts:
    - condition: (pindex->IsValid(BlockStatus::BLOCK_VALID_TREE))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bitcoin-core/src/test/util/chainstate.h
    constantsTouched: []
    func_position:
      end: 135
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 135
    functionName: CreateAndActivateUTXOSnapshot
    functionSourceFile: /src/bitcoin-core/src/test/util/chainstate.h
    functionUses: 2
    functionsReached:
    - CoinsTip
    - std::move
    - chainman::ActivateSnapshot
    - LogInfo
    - InitCoinsDB
    - mempool::get
    - chainman::GetParams
    - chainman::MaybeRebalanceCaches
    - chainman::InitializeChainstate
    - tinyformat::detail::FormatArg::format
    - malleation
    - fs::u8path
    - std::runtime_error
    - chainman::ActiveHeight
    - chainman::m_blockman::LookupBlockIndex
    - m_chain::Tip
    - fs::PathToString
    - chainman::GetMutex
    - LoadChainTip
    - m_chain::SetTip
    - BlockValidationState::ToString
    - WITH_LOCK
    - setBlockIndexCandidates::insert
    - Assert
    - strprintf
    - assert
    - fs::path::make_preferred
    - Tip
    - chainman::ResetChainstates
    - UniValue::write
    - fsbridge::fopen
    - chainman::ActiveChainstate
    - CBlockIndex*::IsValid
    - LOCK
    - LoadGenesisBlock
    - InitCoinsCache
    - CreateUTXOSnapshot
    - GetBlockHash
    linkageType: ''
    returnType: bool
    signature: "bool CreateAndActivateUTXOSnapshot(\n    TestingSetup* fixture,\n
      \   F malleation = NoMalleation,\n    bool reset_chainstate = false,\n    bool
      in_memory_chainstate = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PeerManager&>
      Src: /src/bitcoin-core/src/test/util/net.cpp:30,1
    - Dst: InitializeNode
      Src: /src/bitcoin-core/src/test/util/net.cpp:33,1
    - Dst: SendMessages
      Src: /src/bitcoin-core/src/test/util/net.cpp:34,1
    - Dst: ConnmanTestMsg::FlushSendBuffer
      Src: /src/bitcoin-core/src/test/util/net.cpp:35,1
    - Dst: NetMsg::Make
      Src: /src/bitcoin-core/src/test/util/net.cpp:38,1
    - Dst: Using
      Src: /src/bitcoin-core/src/test/util/net.cpp:40,1
    - Dst: V1Transport::ShouldReconnectV1
      Src: /src/bitcoin-core/src/test/util/net.cpp:43,1
    - Dst: V1Transport::ShouldReconnectV1
      Src: /src/bitcoin-core/src/test/util/net.cpp:45,1
    - Dst: ConnmanTestMsg::ReceiveMsgFrom
      Src: /src/bitcoin-core/src/test/util/net.cpp:52,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/net.cpp:52,1
    - Dst: ProcessMessagesOnce
      Src: /src/bitcoin-core/src/test/util/net.cpp:54,1
    - Dst: SendMessages
      Src: /src/bitcoin-core/src/test/util/net.cpp:55,1
    - Dst: ConnmanTestMsg::FlushSendBuffer
      Src: /src/bitcoin-core/src/test/util/net.cpp:56,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:59,1
    - Dst: GetCommonVersion
      Src: /src/bitcoin-core/src/test/util/net.cpp:59,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/util/net.cpp:59,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:61,1
    - Dst: GetNodeStateStats
      Src: /src/bitcoin-core/src/test/util/net.cpp:61,1
    - Dst: GetId
      Src: /src/bitcoin-core/src/test/util/net.cpp:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:62,1
    - Dst: IsBlockOnlyConn
      Src: /src/bitcoin-core/src/test/util/net.cpp:62,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:63,1
    - Dst: NetMsg::Make
      Src: /src/bitcoin-core/src/test/util/net.cpp:65,1
    - Dst: ConnmanTestMsg::ReceiveMsgFrom
      Src: /src/bitcoin-core/src/test/util/net.cpp:66,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/net.cpp:66,1
    - Dst: ProcessMessagesOnce
      Src: /src/bitcoin-core/src/test/util/net.cpp:68,1
    - Dst: SendMessages
      Src: /src/bitcoin-core/src/test/util/net.cpp:69,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - ' node'
    - successfully_connected
    - remote_services
    - local_services
    - version
    - relay_txs
    argTypes:
    - CNode
    - bool
    - ServiceFlags
    - ServiceFlags
    - int32_t
    - bool
    assertStmts:
    - condition: (node.fSuccessfullyConnected == true)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    - condition: (statestats.m_relay_txs == (relay_txs && !node.IsBlockOnlyConn()))
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    - condition: (peerman.GetNodeStateStats(node.GetId(), statestats))
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    - condition: (node.nVersion == version)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    - condition: (node.GetCommonVersion() == std::min(version, PROTOCOL_VERSION))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    - condition: (statestats.their_services == remote_services)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 72
    functionName: ConnmanTestMsg::Handshake
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PeerManager&>
    - SendMessages
    - V1Transport::ShouldReconnectV1
    - NetMsg::Make
    - std::min
    - std::move
    - ConnmanTestMsg::ReceiveMsgFrom
    - InitializeNode
    - Using
    - GetNodeStateStats
    - GetCommonVersion
    - IsBlockOnlyConn
    - assert
    - ConnmanTestMsg::FlushSendBuffer
    - ProcessMessagesOnce
    - GetId
    linkageType: ''
    returnType: void
    signature: "void ConnmanTestMsg::Handshake(CNode& node,\n                               bool
      successfully_connected,\n                               ServiceFlags remote_services,\n
      \                              ServiceFlags local_services,\n                               int32_t
      version,\n                               bool relay_txs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ConnmanTestMsg::ResetAddrCache
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnmanTestMsg::ResetAddrCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: ConnmanTestMsg::ResetMaxOutboundCycle
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void ConnmanTestMsg::ResetMaxOutboundCycle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:85,1
    - Dst: ReceiveMsgBytes
      Src: /src/bitcoin-core/src/test/util/net.cpp:85,1
    - Dst: MarkReceivedMsgsForProcessing
      Src: /src/bitcoin-core/src/test/util/net.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' node'
    - msg_bytes
    - ' complete'
    argTypes:
    - CNode
    - std::span<const uint8_t>
    - bool
    assertStmts:
    - condition: (node.ReceiveMsgBytes(msg_bytes, complete))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: ConnmanTestMsg::NodeReceiveMsgBytes
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ReceiveMsgBytes
    - MarkReceivedMsgsForProcessing
    linkageType: ''
    returnType: void
    signature: void ConnmanTestMsg::NodeReceiveMsgBytes(CNode& node, std::span<const
      uint8_t> msg_bytes, bool& complete) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.cpp:93,1
    - Dst: vSendMsg::clear
      Src: /src/bitcoin-core/src/test/util/net.cpp:94,1
    - Dst: m_transport::GetBytesToSend
      Src: /src/bitcoin-core/src/test/util/net.cpp:97,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.cpp:98,1
    - Dst: m_transport::MarkBytesSent
      Src: /src/bitcoin-core/src/test/util/net.cpp:99,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/net.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - CNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: ConnmanTestMsg::FlushSendBuffer
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 1
    functionsReached:
    - empty
    - m_transport::GetBytesToSend
    - size
    - LOCK
    - vSendMsg::clear
    - m_transport::MarkBytesSent
    linkageType: ''
    returnType: void
    signature: void ConnmanTestMsg::FlushSendBuffer(CNode& node) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_transport::SetMessageToSend
      Src: /src/bitcoin-core/src/test/util/net.cpp:105,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:106,1
    - Dst: m_transport::GetBytesToSend
      Src: /src/bitcoin-core/src/test/util/net.cpp:109,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.cpp:110,1
    - Dst: ConnmanTestMsg::NodeReceiveMsgBytes
      Src: /src/bitcoin-core/src/test/util/net.cpp:111,1
    - Dst: m_transport::MarkBytesSent
      Src: /src/bitcoin-core/src/test/util/net.cpp:112,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/net.cpp:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' node'
    - ' ser_msg'
    argTypes:
    - CNode
    - CSerializedNetMsg
    assertStmts:
    - condition: (queued)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: ConnmanTestMsg::ReceiveMsgFrom
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 1
    functionsReached:
    - empty
    - m_transport::GetBytesToSend
    - size
    - m_transport::MarkBytesSent
    - m_transport::SetMessageToSend
    - ConnmanTestMsg::NodeReceiveMsgBytes
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ConnmanTestMsg::ReceiveMsgFrom(CNode& node, CSerializedNetMsg&&
      ser_msg) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConnectNode
      Src: /src/bitcoin-core/src/test/util/net.cpp:119,1
    - Dst: CNode*::SetCommonVersion
      Src: /src/bitcoin-core/src/test/util/net.cpp:121,1
    - Dst: InitializeNode
      Src: /src/bitcoin-core/src/test/util/net.cpp:122,1
    - Dst: ServiceFlags
      Src: /src/bitcoin-core/src/test/util/net.cpp:122,1
    - Dst: AddTestNode
      Src: /src/bitcoin-core/src/test/util/net.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' peerman'
    - pszDest
    - conn_type
    argTypes:
    - PeerManager
    - char*
    - ConnectionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: ConnmanTestMsg::ConnectNodePublic
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - AddTestNode
    - CNode*::SetCommonVersion
    - ConnectNode
    - InitializeNode
    - ServiceFlags
    linkageType: ''
    returnType: CNode
    signature: CNode * ConnmanTestMsg::ConnectNodePublic(PeerManager& peerman, const
      char* pszDest, ConnectionType conn_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/test/util/net.cpp:131,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/test/util/net.cpp:133,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/net.cpp:135,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/net.cpp:136,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/net.cpp:137,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/net.cpp:138,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/util/net.cpp:139,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/util/net.cpp:140,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/util/net.cpp:141,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/net.cpp:142,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/util/net.cpp:143,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/test/util/net.cpp:144,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/test/util/net.cpp:145,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/net.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n_candidates
    - ' random_context'
    argTypes:
    - int
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 151
    functionName: GetRandomNodeEvictionCandidates
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 3
    functionsReached:
    - size
    - std::vector::reserve
    - std::vector::push_back
    - randbool
    - randrange
    linkageType: ''
    returnType: std::vector<NodeEvictionCandidate>
    signature: std::vector<NodeEvictionCandidate> GetRandomNodeEvictionCandidates(int
      n_candidates, FastRandomContext& random_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: ZeroSock::ZeroSock
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZeroSock::ZeroSock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ZeroSock::~ZeroSock()
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZeroSock::~ZeroSock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ZeroSock::Send
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ZeroSock::Send(const void*, size_t len, int) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/test/util/net.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: ZeroSock::Recv
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ZeroSock::Recv(void* buf, size_t len, int flags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ZeroSock::Connect
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZeroSock::Connect(const sockaddr*, socklen_t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: ZeroSock::Bind
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZeroSock::Bind(const sockaddr*, socklen_t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: ZeroSock::Listen
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZeroSock::Listen(int) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/test/util/net.cpp:181,1
    - Dst: static_cast<socklen_t>
      Src: /src/bitcoin-core/src/test/util/net.cpp:182,1
    - Dst: reinterpret_cast<sockaddr_in*>
      Src: /src/bitcoin-core/src/test/util/net.cpp:185,1
    - Dst: memset
      Src: /src/bitcoin-core/src/test/util/net.cpp:187,1
    - Dst: htons
      Src: /src/bitcoin-core/src/test/util/net.cpp:188,1
    - Dst: std::make_unique<ZeroSock>
      Src: /src/bitcoin-core/src/test/util/net.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - addr
    - addr_len
    argTypes:
    - sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: ZeroSock::Accept
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr_in*>
    - std::make_unique<ZeroSock>
    - memset
    - htons
    - static_cast<socklen_t>
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> ZeroSock::Accept(sockaddr* addr, socklen_t* addr_len)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/test/util/net.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - level
    - opt_name
    - opt_val
    - opt_len
    argTypes:
    - int
    - int
    - void*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: ZeroSock::GetSockOpt
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    linkageType: ''
    returnType: int
    signature: int ZeroSock::GetSockOpt(int level, int opt_name, void* opt_val, socklen_t*
      opt_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: ZeroSock::SetSockOpt
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZeroSock::SetSockOpt(int, int, const void*, socklen_t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/test/util/net.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - name_len
    argTypes:
    - sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: ZeroSock::GetSockName
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    linkageType: ''
    returnType: int
    signature: int ZeroSock::GetSockName(sockaddr* name, socklen_t* name_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: ZeroSock::SetNonBlocking
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ZeroSock::SetNonBlocking() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: ZeroSock::IsSelectable
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ZeroSock::IsSelectable() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - timeout
    - requested
    - occurred
    argTypes:
    - std::chrono::milliseconds
    - Event
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: ZeroSock::Wait
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ZeroSock::Wait(std::chrono::milliseconds timeout, Event requested,
      Event* occurred) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - timeout
    - ' events_per_sock'
    argTypes:
    - std::chrono::milliseconds
    - EventsPerSock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: ZeroSock::WaitMany
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ZeroSock::WaitMany(std::chrono::milliseconds timeout, EventsPerSock&
      events_per_sock) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Sock
    assertStmts:
    - condition: (false && "Move of Sock into ZeroSock not allowed.")
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: '& ZeroSock::operator=(Sock&& other)'
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ZeroSock
    signature: ZeroSock & ZeroSock::operator=(Sock&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' contents'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: StaticContentsSock::StaticContentsSock
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StaticContentsSock::StaticContentsSock(const std::string& contents)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/util/net.cpp:242,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/net.cpp:242,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/test/util/net.cpp:243,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/util/net.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - len
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: StaticContentsSock::Recv
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - data
    - std::memcpy
    - std::min
    - size
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t StaticContentsSock::Recv(void* buf, size_t len, int flags)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Sock
    assertStmts:
    - condition: (false && "Move of Sock into StaticContentsSock not allowed.")
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: '& StaticContentsSock::operator=(Sock&& other)'
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: StaticContentsSock
    signature: StaticContentsSock & StaticContentsSock::operator=(Sock&& other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/test/util/net.cpp:258,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.cpp:260,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/test/util/net.cpp:268,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/net.cpp:268,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/test/util/net.cpp:270,1
    - Dst: data
      Src: /src/bitcoin-core/src/test/util/net.cpp:270,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/util/net.cpp:272,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util/net.cpp:272,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util/net.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - len
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: DynSock::Pipe::GetBytes(void* buf, size_t len, int flags)
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - erase
    - empty
    - WAIT_LOCK
    - size
    - data
    - std::min
    - begin
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t DynSock::Pipe::GetBytes(void* buf, size_t len, int flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/test/util/net.cpp:283,1
    - Dst: WaitForDataOrEof
      Src: /src/bitcoin-core/src/test/util/net.cpp:285,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.cpp:286,1
    - Dst: V1Transport::ReceivedBytes
      Src: /src/bitcoin-core/src/test/util/net.cpp:292,1
    - Dst: erase
      Src: /src/bitcoin-core/src/test/util/net.cpp:295,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util/net.cpp:295,1
    - Dst: begin
      Src: /src/bitcoin-core/src/test/util/net.cpp:295,1
    - Dst: size
      Src: /src/bitcoin-core/src/test/util/net.cpp:295,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/test/util/net.cpp:295,1
    - Dst: V1Transport::ReceivedMessageComplete
      Src: /src/bitcoin-core/src/test/util/net.cpp:296,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.cpp:299,1
    - Dst: WaitForDataOrEof
      Src: /src/bitcoin-core/src/test/util/net.cpp:300,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.cpp:301,1
    - Dst: V1Transport::GetReceivedMessage
      Src: /src/bitcoin-core/src/test/util/net.cpp:309,1
    - Dst: std::make_optional<CNetMessage>
      Src: /src/bitcoin-core/src/test/util/net.cpp:313,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/test/util/net.cpp:313,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 314
    functionName: DynSock::Pipe::GetNetMsg()
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - std::make_optional<CNetMessage>
    - std::span::size
    - erase
    - empty
    - WAIT_LOCK
    - size
    - std::move
    - WaitForDataOrEof
    - V1Transport::GetReceivedMessage
    - begin
    - V1Transport::ReceivedMessageComplete
    - V1Transport::ReceivedBytes
    linkageType: ''
    returnType: std::optional<CNetMessage>
    signature: std::optional<CNetMessage> DynSock::Pipe::GetNetMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.cpp:318,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/test/util/net.cpp:319,1
    - Dst: insert
      Src: /src/bitcoin-core/src/test/util/net.cpp:320,1
    - Dst: end
      Src: /src/bitcoin-core/src/test/util/net.cpp:320,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/test/util/net.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: DynSock::Pipe::PushBytes(const void* buf, size_t len)
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - end
    - notify_all
    - LOCK
    - static_cast<const uint8_t*>
    - insert
    linkageType: ''
    returnType: void
    signature: void DynSock::Pipe::PushBytes(const void* buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/test/util/net.cpp:326,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/test/util/net.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: DynSock::Pipe::Eof()
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - notify_all
    linkageType: ''
    returnType: void
    signature: void DynSock::Pipe::Eof()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:333,1
    - Dst: mutex
      Src: /src/bitcoin-core/src/test/util/net.cpp:333,1
    - Dst: wait
      Src: /src/bitcoin-core/src/test/util/net.cpp:335,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/test/util/net.cpp:335,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/test/util/net.cpp:336,1
    - Dst: empty
      Src: /src/bitcoin-core/src/test/util/net.cpp:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' lock'
    argTypes:
    - UniqueLock<Mutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: DynSock::Pipe::WaitForDataOrEof(UniqueLock<Mutex>& lock)
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - empty
    - mutex
    - EXCLUSIVE_LOCKS_REQUIRED
    - Assert
    - AssertLockHeld
    - wait
    linkageType: ''
    returnType: void
    signature: void DynSock::Pipe::WaitForDataOrEof(UniqueLock<Mutex>& lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pipes
    - accept_sockets
    argTypes:
    - std::shared_ptr<Pipes>
    - std::shared_ptr<Queue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: DynSock::DynSock
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynSock::DynSock(std::shared_ptr<Pipes> pipes, std::shared_ptr<Queue>
      accept_sockets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send::Eof
      Src: /src/bitcoin-core/src/test/util/net.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: DynSock::~DynSock()
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - send::Eof
    linkageType: ''
    returnType: void
    signature: void DynSock::~DynSock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recv::GetBytes
      Src: /src/bitcoin-core/src/test/util/net.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - len
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: DynSock::Recv
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - recv::GetBytes
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t DynSock::Recv(void* buf, size_t len, int flags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send::PushBytes
      Src: /src/bitcoin-core/src/test/util/net.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: DynSock::Send
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - send::PushBytes
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t DynSock::Send(const void* buf, size_t len, int) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroSock::Accept
      Src: /src/bitcoin-core/src/test/util/net.cpp:364,1
    - Dst: Pop
      Src: /src/bitcoin-core/src/test/util/net.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - addr_len
    argTypes:
    - sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: DynSock::Accept
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - ZeroSock::Accept
    - Pop
    linkageType: ''
    returnType: std::unique_ptr<Sock>
    signature: std::unique_ptr<Sock> DynSock::Accept(sockaddr* addr, socklen_t* addr_len)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EventsPerSock::emplace
      Src: /src/bitcoin-core/src/test/util/net.cpp:373,1
    - Dst: DynSock::WaitMany
      Src: /src/bitcoin-core/src/test/util/net.cpp:374,1
    - Dst: EventsPerSock::begin
      Src: /src/bitcoin-core/src/test/util/net.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - timeout
    - requested
    - occurred
    argTypes:
    - std::chrono::milliseconds
    - Event
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: DynSock::Wait
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - EventsPerSock::emplace
    - DynSock::WaitMany
    - EventsPerSock::begin
    linkageType: ''
    returnType: bool
    signature: "bool DynSock::Wait(std::chrono::milliseconds timeout,\n                   Event
      requested,\n                   Event* occurred) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/test/util/net.cpp:383,1
    - Dst: reinterpret_cast<const DynSock*>
      Src: /src/bitcoin-core/src/test/util/net.cpp:396,1
    - Dst: get
      Src: /src/bitcoin-core/src/test/util/net.cpp:396,1
    - Dst: auto::m_pipes::recv::GetBytes
      Src: /src/bitcoin-core/src/test/util/net.cpp:398,1
    - Dst: auto::m_accept_sockets::Empty
      Src: /src/bitcoin-core/src/test/util/net.cpp:398,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/test/util/net.cpp:405,1
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/test/util/net.cpp:409,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - timeout
    - ' events_per_sock'
    argTypes:
    - std::chrono::milliseconds
    - EventsPerSock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 413
    functionName: DynSock::WaitMany
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 1
    functionsReached:
    - auto::m_accept_sockets::Empty
    - auto::m_pipes::recv::GetBytes
    - wallet::WalletRescanReserver::now
    - CThreadInterrupt::sleep_for
    - reinterpret_cast<const DynSock*>
    - get
    linkageType: ''
    returnType: bool
    signature: bool DynSock::WaitMany(std::chrono::milliseconds timeout, EventsPerSock&
      events_per_sock) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/net.cpp:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false && "Move of Sock into DynSock not allowed.")
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/bitcoin-core/src/test/util/net.cpp
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: '& DynSock::operator=(Sock&&)'
    functionSourceFile: /src/bitcoin-core/src/test/util/net.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: DynSock
    signature: DynSock & DynSock::operator=(Sock&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: PoolResourceTester::PtrAndBytes
    functionSourceFile: /src/bitcoin-core/src/test/util/poolresourcetester.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void PtrAndBytes(const void* p, std::size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PtrAndBytes
    - PtrAndBytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: operator<(PtrAndBytes const& a, PtrAndBytes const& b)
    functionSourceFile: /src/bitcoin-core/src/test/util/poolresourcetester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(PtrAndBytes const& a, PtrAndBytes const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::size_t>
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:47,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:53,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:55,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' resource'
    argTypes:
    - PoolResource<MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: PoolResourceTester::FreeListSizes
    functionSourceFile: /src/bitcoin-core/src/test/util/poolresourcetester.h
    functionUses: 1
    functionsReached:
    - auto::push_back
    - ASAN_POISON_MEMORY_REGION
    - ASAN_UNPOISON_MEMORY_REGION
    - std::vector<std::size_t>
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> FreeListSizes(const PoolResource<MAX_BLOCK_SIZE_BYTES,
      ALIGN_BYTES>& resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' resource'
    argTypes:
    - PoolResource<MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: PoolResourceTester::AvailableMemoryFromChunk
    functionSourceFile: /src/bitcoin-core/src/test/util/poolresourcetester.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t AvailableMemoryFromChunk(const PoolResource<MAX_BLOCK_SIZE_BYTES,
      ALIGN_BYTES>& resource)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_free_lists::size
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:83,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:87,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:89,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:91,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:97,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:103,1
    - Dst: ChunkSizeBytes
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:103,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:108,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:108,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:108,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:109,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:109,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:109,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:111,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:116,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:116,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:118,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:118,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:122,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:123,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:124,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:129,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:131,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:131,1
    - Dst: assert
      Src: /src/bitcoin-core/src/test/util/poolresourcetester.h:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - ' resource'
    argTypes:
    - PoolResource<MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>
    assertStmts:
    - condition: (free_block.ptr == chunk_ptr_remaining)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/bitcoin-core/src/test/util/poolresourcetester.h
    - condition: (chunk_it != chunks.end())
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/bitcoin-core/src/test/util/poolresourcetester.h
    - condition: (chunk_it == chunks.end())
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/bitcoin-core/src/test/util/poolresourcetester.h
    - condition: (chunk_size_remaining == 0)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/bitcoin-core/src/test/util/poolresourcetester.h
    - condition: (chunk_it != chunks.end())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/test/util/poolresourcetester.h
    - condition: (free_block.size <= chunk_size_remaining)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/bitcoin-core/src/test/util/poolresourcetester.h
    - condition: ((free_block.ptr & (resource.ELEM_ALIGN_BYTES - 1)) == 0)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/bitcoin-core/src/test/util/poolresourcetester.h
    - condition: (chunk_ptr_remaining == chunk_it->ptr + chunk_it->size)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/bitcoin-core/src/test/util/poolresourcetester.h
    constantsTouched: []
    func_position:
      end: 133
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 133
    functionName: PoolResourceTester::CheckAllDataAccountedFor
    functionSourceFile: /src/bitcoin-core/src/test/util/poolresourcetester.h
    functionUses: 7
    functionsReached:
    - std::vector::end
    - std::vector::emplace_back
    - ASAN_UNPOISON_MEMORY_REGION
    - std::vector::begin
    - m_free_lists::size
    - ChunkSizeBytes
    - assert
    - std::sort
    - ASAN_POISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: void CheckAllDataAccountedFor(const PoolResource<MAX_BLOCK_SIZE_BYTES,
      ALIGN_BYTES>& resource)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EnableFuzzDeterminism
      Src: /src/bitcoin-core/src/test/util/random.cpp:28,1
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/test/util/random.cpp:30,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/test/util/random.cpp:31,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/test/util/random.cpp:34,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/test/util/random.cpp:35,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/test/util/random.cpp:39,1
    - Dst: EnableFuzzDeterminism
      Src: /src/bitcoin-core/src/test/util/random.cpp:43,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/random.cpp:44,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/test/util/random.cpp:45,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/test/util/random.cpp:47,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/test/util/random.cpp:48,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/test/util/random.cpp:48,1
    - Dst: MakeRandDeterministicDANGEROUS
      Src: /src/bitcoin-core/src/test/util/random.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - seedtype
    argTypes:
    - SeedRand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 50
    functionName: SeedRandomStateForTest
    functionSourceFile: /src/bitcoin-core/src/test/util/random.cpp
    functionUses: 13
    functionsReached:
    - auto::value
    - EnableFuzzDeterminism
    - std::getenv
    - std::abort
    - GetRandHash
    - LogInfo
    - MakeRandDeterministicDANGEROUS
    - Assert
    - secp256k1_strauss_scratch_size
    - GetHex
    - uint256::FromUserHex
    linkageType: ''
    returnType: void
    signature: void SeedRandomStateForTest(SeedRand seedtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:44,1
    - Dst: get
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::reference_wrapper<T>
    - std::reference_wrapper<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: operator()(const std::reference_wrapper<T>& a, const std::reference_wrapper<T>&
      b) const
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool operator()(const std::reference_wrapper<T>& a, const std::reference_wrapper<T>&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTx
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:49,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached:
    - GetTx
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: CTxMemPoolEntry::CTxMemPoolEntry
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTxMemPoolEntry(const CTxMemPoolEntry&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: CTxMemPoolEntry::ExplicitCopyTag
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExplicitCopyTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:115,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:116,1
    - Dst: CTxMemPoolEntry::GetTxSize
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:124,1
    - Dst: CTxMemPoolEntry::GetTxSize
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - ' tx'
    - fee
    - time
    - entry_height
    - entry_sequence
    - spends_coinbase
    - sigops_cost
    - lp
    argTypes:
    - CTransactionRef
    - CAmount
    - int64_t
    - unsigned int
    - uint64_t
    - bool
    - int64_t
    - LockPoints
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: CTxMemPoolEntry::CTxMemPoolEntry
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached:
    - GetTransactionWeight
    - RecursiveDynamicUsage
    - CTxMemPoolEntry::GetTxSize
    linkageType: ''
    returnType: void
    signature: "void CTxMemPoolEntry(const CTransactionRef& tx, CAmount fee,\n                    int64_t
      time, unsigned int entry_height, uint64_t entry_sequence,\n                    bool
      spends_coinbase,\n                    int64_t sigops_cost, LockPoints lp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - CTxMemPoolEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: CTxMemPoolEntry::CTxMemPoolEntry
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTxMemPoolEntry(ExplicitCopyTag, const CTxMemPoolEntry& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '& operator=(const CTxMemPoolEntry&)'
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTxMemPoolEntry
    signature: CTxMemPoolEntry & operator=(const CTxMemPoolEntry&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: CTxMemPoolEntry::CTxMemPoolEntry
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTxMemPoolEntry(CTxMemPoolEntry&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: '& operator=(CTxMemPoolEntry&&)'
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTxMemPoolEntry
    signature: CTxMemPoolEntry & operator=(CTxMemPoolEntry&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: '& GetTx() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransaction
    signature: CTransaction & GetTx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: CTxMemPoolEntry::GetSharedTx
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef GetSharedTx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: '& GetFee() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount & GetFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: CTxMemPoolEntry::GetTxSize
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 3
    functionsReached:
    - GetVirtualTransactionSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetTxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: CTxMemPoolEntry::GetTxWeight
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetTxWeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: CTxMemPoolEntry::GetTime
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds GetTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: CTxMemPoolEntry::GetHeight
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: CTxMemPoolEntry::GetSequence
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetSequence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: CTxMemPoolEntry::GetSigOpCost
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetSigOpCost() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: CTxMemPoolEntry::GetModifiedFee
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModifiedFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: CTxMemPoolEntry::DynamicMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DynamicMemoryUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '& GetLockPoints() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LockPoints
    signature: LockPoints & GetLockPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:160,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:161,1
    - Dst: SaturatingAdd
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fee_diff
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: CTxMemPoolEntry::UpdateModifiedFee
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached:
    - SaturatingAdd
    linkageType: ''
    returnType: void
    signature: void UpdateModifiedFee(CAmount fee_diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' lp'
    argTypes:
    - LockPoints
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: CTxMemPoolEntry::UpdateLockPoints
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateLockPoints(const LockPoints& lp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: CTxMemPoolEntry::GetCountWithDescendants
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetCountWithDescendants() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: CTxMemPoolEntry::GetSizeWithDescendants
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetSizeWithDescendants() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: CTxMemPoolEntry::GetModFeesWithDescendants
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModFeesWithDescendants() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: CTxMemPoolEntry::GetSpendsCoinbase
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetSpendsCoinbase() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: CTxMemPoolEntry::GetCountWithAncestors
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetCountWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: CTxMemPoolEntry::GetSizeWithAncestors
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetSizeWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: CTxMemPoolEntry::GetModFeesWithAncestors
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModFeesWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: CTxMemPoolEntry::GetSigOpCostWithAncestors
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetSigOpCostWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: '& GetMemPoolParentsConst() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parents
    signature: Parents & GetMemPoolParentsConst() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: '& GetMemPoolChildrenConst() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Children
    signature: Children & GetMemPoolChildrenConst() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '& GetMemPoolParents() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parents
    signature: Parents & GetMemPoolParents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: '& GetMemPoolChildren() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Children
    signature: Children & GetMemPoolChildren() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' tx'
    - ' fee'
    - vsize
    - height
    argTypes:
    - CTransactionRef
    - CAmount
    - int64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: TransactionInfo
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionInfo(const CTransactionRef& tx, const CAmount& fee,
      const int64_t vsize, const unsigned int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:220,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:220,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:220,1
    - Dst: GetHeight
      Src: /src/bitcoin-core/src/kernel/mempool_entry.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - CTxMemPoolEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: RemovedMempoolTransactionInfo
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 0
    functionsReached:
    - GetHeight
    - GetTxSize
    - GetFee
    - GetSharedTx
    linkageType: ''
    returnType: void
    signature: void RemovedMempoolTransactionInfo(const CTxMemPoolEntry& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - ' tx'
    - ' fee'
    - vsize
    - height
    - mempool_limit_bypassed
    - submitted_in_package
    - chainstate_is_current
    - has_no_mempool_parents
    argTypes:
    - CTransactionRef
    - CAmount
    - int64_t
    - unsigned int
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: NewMempoolTransactionInfo
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_entry.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NewMempoolTransactionInfo(const CTransactionRef& tx, const CAmount&
      fee,\n                                       const int64_t vsize, const unsigned
      int height,\n                                       const bool mempool_limit_bypassed,
      const bool submitted_in_package,\n                                       const
      bool chainstate_is_current,\n                                       const bool
      has_no_mempool_parents)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: kernel::CCoinsStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: kernel::CCoinsStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/kernel/mempool_limits.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: kernel::NoLimits
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_limits.h
    functionUses: 7
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: MemPoolLimits
    signature: MemPoolLimits NoLimits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/kernel/mempool_limits.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: kernel::NoLimits
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_limits.h
    functionUses: 7
    functionsReached:
    - RandomMixin::max
    linkageType: ''
    returnType: MemPoolLimits
    signature: MemPoolLimits NoLimits()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - block_height
    - ' block_hash'
    argTypes:
    - int
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: kernel::CCoinsStats::CCoinsStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsStats::CCoinsStats(int block_height, const uint256& block_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script_pub_key'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: kernel::GetBogoSize
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetBogoSize(const CScript& script_pub_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ss'
    - ' outpoint'
    - ' coin'
    argTypes:
    - T
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: kernel::TxOutSer
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TxOutSer(T& ss, const COutPoint& outpoint, const Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kernel::TxOutSer
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ss'
    - ' outpoint'
    - ' coin'
    argTypes:
    - HashWriter
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: kernel::ApplyCoinHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 0
    functionsReached:
    - kernel::TxOutSer
    linkageType: ''
    returnType: void
    signature: void ApplyCoinHash(HashWriter& ss, const COutPoint& outpoint, const
      Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kernel::TxOutSer
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:66,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:67,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' muhash'
    - ' outpoint'
    - ' coin'
    argTypes:
    - MuHash3072
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: kernel::ApplyCoinHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 0
    functionsReached:
    - MakeUCharSpan
    - kernel::TxOutSer
    - Insert
    linkageType: ''
    returnType: void
    signature: void ApplyCoinHash(MuHash3072& muhash, const COutPoint& outpoint, const
      Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kernel::TxOutSer
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:73,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:74,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' muhash'
    - ' outpoint'
    - ' coin'
    argTypes:
    - MuHash3072
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: kernel::RemoveCoinHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 0
    functionsReached:
    - MakeUCharSpan
    - kernel::TxOutSer
    - Remove
    linkageType: ''
    returnType: void
    signature: void RemoveCoinHash(MuHash3072& muhash, const COutPoint& outpoint,
      const Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' outpoint'
    - ' coin'
    argTypes:
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: kernel::ApplyCoinHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ApplyCoinHash(std::nullptr_t, const COutPoint& outpoint, const
      Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:94,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:94,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:95,1
    - Dst: kernel::ApplyCoinHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' hash_obj'
    - ' hash'
    - ' outputs'
    argTypes:
    - T
    - Txid
    - std::map<uint32_t, Coin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: kernel::ApplyHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - kernel::ApplyCoinHash
    - COutPoint
    linkageType: ''
    returnType: void
    signature: void ApplyHash(T& hash_obj, const Txid& hash, const std::map<uint32_t,
      Coin>& outputs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:103,1
    - Dst: empty
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:103,1
    - Dst: begin
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:105,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:105,1
    - Dst: total_amount::has_value
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:107,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:108,1
    - Dst: kernel::GetBogoSize
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' stats'
    - ' hash'
    - ' outputs'
    argTypes:
    - CCoinsStats
    - uint256
    - std::map<uint32_t, Coin>
    assertStmts:
    - condition: (!outputs.empty())
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bitcoin-core/src/kernel/coinstats.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: kernel::ApplyStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 0
    functionsReached:
    - end
    - empty
    - total_amount::has_value
    - kernel::GetBogoSize
    - assert
    - begin
    - CheckedAdd
    linkageType: ''
    returnType: void
    signature: void ApplyStats(CCoinsStats& stats, const uint256& hash, const std::map<uint32_t,
      Coin>& outputs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsView*::Cursor
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:118,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:119,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:123,1
    - Dst: interruption_point
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:124,1
    - Dst: COutPoint::COutPoint
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:125,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:126,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:127,1
    - Dst: std::unique_ptr::GetValue
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:127,1
    - Dst: std::map::empty
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:128,1
    - Dst: kernel::ApplyStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:129,1
    - Dst: kernel::ApplyHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:130,1
    - Dst: std::map::clear
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:131,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:134,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:137,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:140,1
    - Dst: std::map::empty
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:142,1
    - Dst: kernel::ApplyStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:143,1
    - Dst: kernel::ApplyHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:144,1
    - Dst: kernel::FinalizeHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:147,1
    - Dst: CCoinsView*::EstimateSize
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - view
    - ' stats'
    - hash_obj
    - ' interruption_point'
    argTypes:
    - CCoinsView*
    - CCoinsStats
    - T
    - std::function<void()>
    assertStmts:
    - condition: (pcursor)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/bitcoin-core/src/kernel/coinstats.cpp
    constantsTouched: []
    func_position:
      end: 152
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 152
    functionName: kernel::ComputeUTXOStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 3
    functionsReached:
    - kernel::ApplyHash
    - std::unique_ptr::Next
    - Coin::Coin
    - kernel::ApplyStats
    - std::map::empty
    - std::unique_ptr::Valid
    - COutPoint::COutPoint
    - std::map::clear
    - LogError
    - kernel::FinalizeHash
    - std::move
    - interruption_point
    - CCoinsView*::EstimateSize
    - std::unique_ptr::GetKey
    - CCoinsView*::Cursor
    - assert
    - std::unique_ptr::GetValue
    linkageType: ''
    returnType: bool
    signature: bool ComputeUTXOStats(CCoinsView* view, CCoinsStats& stats, T hash_obj,
      const std::function<void()>& interruption_point)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:156,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:156,1
    - Dst: CCoinsView*::GetBestBlock
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:156,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:157,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:157,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:163,1
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:166,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:167,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:170,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - hash_type
    - view
    - ' blockman'
    - ' interruption_point'
    argTypes:
    - CoinStatsHashType
    - CCoinsView*
    - node::BlockManager
    - std::function<void()>
    assertStmts:
    - condition: (false)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/bitcoin-core/src/kernel/coinstats.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 180
    functionName: kernel::ComputeUTXOStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 4
    functionsReached:
    - MuHash3072::MuHash3072
    - WITH_LOCK
    - LookupBlockIndex
    - Assert
    - CBlockIndex*::GetBlockHash
    - CCoinsView*::GetBestBlock
    - kernel::ComputeUTXOStats
    - assert
    linkageType: ''
    returnType: std::optional<CCoinsStats>
    signature: std::optional<CCoinsStats> ComputeUTXOStats(CoinStatsHashType hash_type,
      CCoinsView* view, node::BlockManager& blockman, const std::function<void()>&
      interruption_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ss'
    - ' stats'
    argTypes:
    - HashWriter
    - CCoinsStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: kernel::FinalizeHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: void
    signature: void FinalizeHash(HashWriter& ss, CCoinsStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:188,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' muhash'
    - ' stats'
    argTypes:
    - MuHash3072
    - CCoinsStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: kernel::FinalizeHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached:
    - Finalize
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void FinalizeHash(MuHash3072& muhash, CCoinsStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - CCoinsStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: kernel::FinalizeHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FinalizeHash(std::nullptr_t, CCoinsStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - block_height
    - ' block_hash'
    argTypes:
    - int
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: kernel::CCoinsStats::CCoinsStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinsStats::CCoinsStats(int block_height, const uint256& block_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script_pub_key'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: kernel::GetBogoSize
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetBogoSize(const CScript& script_pub_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ss'
    - ' outpoint'
    - ' coin'
    argTypes:
    - T
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: kernel::TxOutSer
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TxOutSer(T& ss, const COutPoint& outpoint, const Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kernel::TxOutSer
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ss'
    - ' outpoint'
    - ' coin'
    argTypes:
    - HashWriter
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: kernel::ApplyCoinHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached:
    - kernel::TxOutSer
    linkageType: ''
    returnType: void
    signature: void ApplyCoinHash(HashWriter& ss, const COutPoint& outpoint, const
      Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kernel::TxOutSer
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:66,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:67,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' muhash'
    - ' outpoint'
    - ' coin'
    argTypes:
    - MuHash3072
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: kernel::ApplyCoinHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached:
    - MakeUCharSpan
    - kernel::TxOutSer
    - Insert
    linkageType: ''
    returnType: void
    signature: void ApplyCoinHash(MuHash3072& muhash, const COutPoint& outpoint, const
      Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kernel::TxOutSer
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:73,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:74,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' muhash'
    - ' outpoint'
    - ' coin'
    argTypes:
    - MuHash3072
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: kernel::RemoveCoinHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 0
    functionsReached:
    - MakeUCharSpan
    - kernel::TxOutSer
    - Remove
    linkageType: ''
    returnType: void
    signature: void RemoveCoinHash(MuHash3072& muhash, const COutPoint& outpoint,
      const Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' outpoint'
    - ' coin'
    argTypes:
    - COutPoint
    - Coin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: kernel::ApplyCoinHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ApplyCoinHash(std::nullptr_t, const COutPoint& outpoint, const
      Coin& coin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:94,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:94,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:95,1
    - Dst: kernel::ApplyCoinHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' hash_obj'
    - ' hash'
    - ' outputs'
    argTypes:
    - T
    - Txid
    - std::map<uint32_t, Coin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: kernel::ApplyHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - kernel::ApplyCoinHash
    - COutPoint
    linkageType: ''
    returnType: void
    signature: void ApplyHash(T& hash_obj, const Txid& hash, const std::map<uint32_t,
      Coin>& outputs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:103,1
    - Dst: empty
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:103,1
    - Dst: begin
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:105,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:105,1
    - Dst: total_amount::has_value
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:107,1
    - Dst: CheckedAdd
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:108,1
    - Dst: kernel::GetBogoSize
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' stats'
    - ' hash'
    - ' outputs'
    argTypes:
    - CCoinsStats
    - uint256
    - std::map<uint32_t, Coin>
    assertStmts:
    - condition: (!outputs.empty())
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bitcoin-core/src/kernel/coinstats.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: kernel::ApplyStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 1
    functionsReached:
    - end
    - empty
    - total_amount::has_value
    - kernel::GetBogoSize
    - assert
    - begin
    - CheckedAdd
    linkageType: ''
    returnType: void
    signature: void ApplyStats(CCoinsStats& stats, const uint256& hash, const std::map<uint32_t,
      Coin>& outputs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsView*::Cursor
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:118,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:119,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:123,1
    - Dst: interruption_point
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:124,1
    - Dst: COutPoint::COutPoint
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:125,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:126,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:127,1
    - Dst: std::unique_ptr::GetValue
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:127,1
    - Dst: std::map::empty
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:128,1
    - Dst: kernel::ApplyStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:129,1
    - Dst: kernel::ApplyHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:130,1
    - Dst: std::map::clear
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:131,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:134,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:137,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:140,1
    - Dst: std::map::empty
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:142,1
    - Dst: kernel::ApplyStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:143,1
    - Dst: kernel::ApplyHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:144,1
    - Dst: kernel::FinalizeHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:147,1
    - Dst: CCoinsView*::EstimateSize
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - view
    - ' stats'
    - hash_obj
    - ' interruption_point'
    argTypes:
    - CCoinsView*
    - CCoinsStats
    - T
    - std::function<void()>
    assertStmts:
    - condition: (pcursor)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/bitcoin-core/src/kernel/coinstats.cpp
    constantsTouched: []
    func_position:
      end: 152
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 152
    functionName: kernel::ComputeUTXOStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 4
    functionsReached:
    - kernel::ApplyHash
    - std::unique_ptr::Next
    - Coin::Coin
    - kernel::ApplyStats
    - std::map::empty
    - std::unique_ptr::Valid
    - COutPoint::COutPoint
    - std::map::clear
    - LogError
    - kernel::FinalizeHash
    - std::move
    - interruption_point
    - CCoinsView*::EstimateSize
    - std::unique_ptr::GetKey
    - CCoinsView*::Cursor
    - assert
    - std::unique_ptr::GetValue
    linkageType: ''
    returnType: bool
    signature: bool ComputeUTXOStats(CCoinsView* view, CCoinsStats& stats, T hash_obj,
      const std::function<void()>& interruption_point)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:156,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:156,1
    - Dst: CCoinsView*::GetBestBlock
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:156,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:157,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:157,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:163,1
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:166,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:167,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:170,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - hash_type
    - view
    - ' blockman'
    - ' interruption_point'
    argTypes:
    - CoinStatsHashType
    - CCoinsView*
    - node::BlockManager
    - std::function<void()>
    assertStmts:
    - condition: (false)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/bitcoin-core/src/kernel/coinstats.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 180
    functionName: kernel::ComputeUTXOStats
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 5
    functionsReached:
    - MuHash3072::MuHash3072
    - WITH_LOCK
    - LookupBlockIndex
    - Assert
    - CBlockIndex*::GetBlockHash
    - CCoinsView*::GetBestBlock
    - kernel::ComputeUTXOStats
    - assert
    linkageType: ''
    returnType: std::optional<CCoinsStats>
    signature: std::optional<CCoinsStats> ComputeUTXOStats(CoinStatsHashType hash_type,
      CCoinsView* view, node::BlockManager& blockman, const std::function<void()>&
      interruption_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ss'
    - ' stats'
    argTypes:
    - HashWriter
    - CCoinsStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: kernel::FinalizeHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 2
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: void
    signature: void FinalizeHash(HashWriter& ss, CCoinsStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:188,1
    - Dst: Finalize
      Src: /src/bitcoin-core/src/kernel/coinstats.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' muhash'
    - ' stats'
    argTypes:
    - MuHash3072
    - CCoinsStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: kernel::FinalizeHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 2
    functionsReached:
    - Finalize
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void FinalizeHash(MuHash3072& muhash, CCoinsStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - CCoinsStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: kernel::FinalizeHash
    functionSourceFile: /src/bitcoin-core/src/kernel/coinstats.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FinalizeHash(std::nullptr_t, CCoinsStats& stats)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/mempool_removal_reason.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - MemPoolRemovalReason
    assertStmts:
    - condition: (false)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bitcoin-core/src/kernel/mempool_removal_reason.cpp
    constantsTouched: []
    func_position:
      end: 21
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 21
    functionName: RemovalReasonToString
    functionSourceFile: /src/bitcoin-core/src/kernel/mempool_removal_reason.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetBlockTimeMax
      Src: /src/bitcoin-core/src/kernel/chain.cpp:20,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/kernel/chain.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - index
    - data
    argTypes:
    - CBlockIndex*
    - CBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 27
    functionName: kernel::MakeBlockInfo
    functionSourceFile: /src/bitcoin-core/src/kernel/chain.cpp
    functionUses: 2
    functionsReached:
    - CBlockIndex*::GetBlockTimeMax
    - LOCK
    linkageType: ''
    returnType: interfaces::BlockInfo
    signature: interfaces::BlockInfo MakeBlockInfo(const CBlockIndex* index, const
      CBlock* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetBlockTimeMax
      Src: /src/bitcoin-core/src/kernel/chain.cpp:20,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/kernel/chain.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - index
    - data
    argTypes:
    - CBlockIndex*
    - CBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 27
    functionName: kernel::MakeBlockInfo
    functionSourceFile: /src/bitcoin-core/src/kernel/chain.cpp
    functionUses: 2
    functionsReached:
    - CBlockIndex*::GetBlockTimeMax
    - LOCK
    linkageType: ''
    returnType: interfaces::BlockInfo
    signature: interfaces::BlockInfo MakeBlockInfo(const CBlockIndex* index, const
      CBlock* data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setstate
      Src: /src/bitcoin-core/src/kernel/chain.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' os'
    - ' role'
    argTypes:
    - std::ostream
    - ChainstateRole
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: '& operator<<(std::ostream& os, const ChainstateRole& role)'
    functionSourceFile: /src/bitcoin-core/src/kernel/chain.cpp
    functionUses: 0
    functionsReached:
    - setstate
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const ChainstateRole& role)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Random_SanityCheck
      Src: /src/bitcoin-core/src/kernel/checks.cpp:17,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/kernel/checks.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 5
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: kernel::SanityChecks
    functionSourceFile: /src/bitcoin-core/src/kernel/checks.cpp
    functionUses: 2
    functionsReached:
    - Random_SanityCheck
    - Untranslated
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> SanityChecks(const Context&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Random_SanityCheck
      Src: /src/bitcoin-core/src/kernel/checks.cpp:17,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/kernel/checks.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 5
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: kernel::SanityChecks
    functionSourceFile: /src/bitcoin-core/src/kernel/checks.cpp
    functionUses: 2
    functionsReached:
    - Random_SanityCheck
    - Untranslated
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> SanityChecks(const Context&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<kernel::Interrupted>
      Src: /src/bitcoin-core/src/kernel/notifications_interface.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: kernel::IsInterrupted
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 1
    functionsReached:
    - std::holds_alternative<kernel::Interrupted>
    linkageType: ''
    returnType: bool
    signature: bool IsInterrupted(const T& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~Notifications()
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - ' index'
    - verification_progress
    argTypes:
    - SynchronizationState
    - CBlockIndex
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: kernel::Notifications::blockTip
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InterruptResult
    signature: InterruptResult blockTip(SynchronizationState state, CBlockIndex& index,
      double verification_progress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - state
    - height
    - timestamp
    - presync
    argTypes:
    - SynchronizationState
    - int64_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: kernel::Notifications::headerTip
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void headerTip(SynchronizationState state, int64_t height, int64_t
      timestamp, bool presync)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' title'
    - progress_percent
    - resume_possible
    argTypes:
    - bilingual_str
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: kernel::Notifications::progress
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void progress(const bilingual_str& title, int progress_percent, bool
      resume_possible)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - ' message'
    argTypes:
    - Warning
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: kernel::Notifications::warningSet
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void warningSet(Warning id, const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - Warning
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: kernel::Notifications::warningUnset
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void warningUnset(Warning id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: kernel::Notifications::flushError
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void flushError(const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: kernel::Notifications::fatalError
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fatalError(const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<kernel::Interrupted>
      Src: /src/bitcoin-core/src/kernel/notifications_interface.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: kernel::IsInterrupted
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 1
    functionsReached:
    - std::holds_alternative<kernel::Interrupted>
    linkageType: ''
    returnType: bool
    signature: bool IsInterrupted(const T& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~Notifications()
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - ' index'
    - verification_progress
    argTypes:
    - SynchronizationState
    - CBlockIndex
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: kernel::Notifications::blockTip
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InterruptResult
    signature: InterruptResult blockTip(SynchronizationState state, CBlockIndex& index,
      double verification_progress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - state
    - height
    - timestamp
    - presync
    argTypes:
    - SynchronizationState
    - int64_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: kernel::Notifications::headerTip
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void headerTip(SynchronizationState state, int64_t height, int64_t
      timestamp, bool presync)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' title'
    - progress_percent
    - resume_possible
    argTypes:
    - bilingual_str
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: kernel::Notifications::progress
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void progress(const bilingual_str& title, int progress_percent, bool
      resume_possible)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - ' message'
    argTypes:
    - Warning
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: kernel::Notifications::warningSet
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void warningSet(Warning id, const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - Warning
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: kernel::Notifications::warningUnset
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void warningUnset(Warning id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: kernel::Notifications::flushError
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void flushError(const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: kernel::Notifications::fatalError
    functionSourceFile: /src/bitcoin-core/src/kernel/notifications_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fatalError(const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/kernel/caches.h:27,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/kernel/caches.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - total_cache
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: kernel::CacheSizes
    functionSourceFile: /src/bitcoin-core/src/kernel/caches.h
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CacheSizes(size_t total_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/kernel/caches.h:27,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/kernel/caches.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - total_cache
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: kernel::CacheSizes
    functionSourceFile: /src/bitcoin-core/src/kernel/caches.h
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CacheSizes(size_t total_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/bitcoin-core/src/kernel/context.cpp:18,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/kernel/context.cpp:19,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/kernel/context.cpp:20,1
    - Dst: RandomInit
      Src: /src/bitcoin-core/src/kernel/context.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 8
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: kernel::Context::Context
    functionSourceFile: /src/bitcoin-core/src/kernel/context.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - SHA256AutoDetect
    - std::call_once
    - RandomInit
    linkageType: ''
    returnType: void
    signature: void Context::Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/bitcoin-core/src/kernel/context.cpp:18,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/kernel/context.cpp:19,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/kernel/context.cpp:20,1
    - Dst: RandomInit
      Src: /src/bitcoin-core/src/kernel/context.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 8
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: kernel::Context::Context
    functionSourceFile: /src/bitcoin-core/src/kernel/context.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - SHA256AutoDetect
    - std::call_once
    - RandomInit
    linkageType: ''
    returnType: void
    signature: void Context::Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: AssumeutxoHash
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssumeutxoHash(const uint256& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& GetConsensus() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Consensus::Params
    signature: Consensus::Params & GetConsensus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& MessageStart() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageStartChars
    signature: MessageStartChars & MessageStart() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: CChainParams::GetDefaultPort
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetDefaultPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& GenesisBlock() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlock
    signature: CBlock & GenesisBlock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: CChainParams::DefaultConsistencyChecks
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DefaultConsistencyChecks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: CChainParams::IsTestChain
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTestChain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: CChainParams::IsMockableChain
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMockableChain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: CChainParams::PruneAfterHeight
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PruneAfterHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: CChainParams::AssumedBlockchainSize
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t AssumedBlockchainSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: CChainParams::AssumedChainStateSize
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t AssumedChainStateSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: CChainParams::MineBlocksOnDemand
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MineBlocksOnDemand() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/kernel/chainparams.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: CChainParams::GetChainTypeString
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached:
    - ChainTypeToString
    linkageType: ''
    returnType: std::string
    signature: std::string GetChainTypeString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: CChainParams::GetChainType
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChainType
    signature: ChainType GetChainType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& DNSSeeds() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & DNSSeeds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Base58Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '& Base58Prefix(Base58Type type) const'
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> & Base58Prefix(Base58Type type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '& Bech32HRP() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bech32HRP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '& FixedSeeds() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & FixedSeeds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindFirst
      Src: /src/bitcoin-core/src/kernel/chainparams.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: CChainParams::AssumeutxoForHeight
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached:
    - FindFirst
    linkageType: ''
    returnType: std::optional<AssumeutxoData>
    signature: std::optional<AssumeutxoData> AssumeutxoForHeight(int height) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindFirst
      Src: /src/bitcoin-core/src/kernel/chainparams.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' blockhash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: CChainParams::AssumeutxoForBlockhash
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached:
    - FindFirst
    linkageType: ''
    returnType: std::optional<AssumeutxoData>
    signature: std::optional<AssumeutxoData> AssumeutxoForBlockhash(const uint256&
      blockhash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '& TxData() const'
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChainTxData
    signature: ChainTxData & TxData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: CChainParams::CChainParams
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CChainParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: consteval_ctor
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto consteval_ctor(auto&& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - input
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: consteval_ctor
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: consteval_ctor(input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:42,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:44,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:45,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:46,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:46,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:46,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:46,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:50,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:55,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:55,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:55,1
    - Dst: CBlock::hashPrevBlock::SetNull
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:56,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 7
    argNames:
    - pszTimestamp
    - ' genesisOutputScript'
    - nTime
    - nNonce
    - nBits
    - nVersion
    - ' genesisReward'
    argTypes:
    - char*
    - CScript
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: CreateGenesisBlock
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached:
    - CScriptNum
    - std::vector<unsigned char>
    - CBlock::vtx::push_back
    - CMutableTransaction::vout::resize
    - strlen
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - std::move
    - CBlock::CBlock
    - BlockMerkleRoot
    - CScript
    - CBlock::hashPrevBlock::SetNull
    - CMutableTransaction::vin::resize
    linkageType: ''
    returnType: CBlock
    signature: CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript&
      genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t
      nVersion, const CAmount& genesisReward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:75,1
    - Dst: CreateGenesisBlock
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - nTime
    - nNonce
    - nBits
    - nVersion
    - ' genesisReward'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: CreateGenesisBlock
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 1
    functionsReached:
    - CreateGenesisBlock
    - CScript
    linkageType: ''
    returnType: CBlock
    signature: CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint32_t
      nBits, int32_t nVersion, const CAmount& genesisReward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signet_challenge::clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:87,1
    - Dst: script_flag_exceptions::emplace
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:89,1
    - Dst: script_flag_exceptions::emplace
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:91,1
    - Dst: CreateGenesisBlock
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:138,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:139,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:140,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:141,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:148,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:149,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:150,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:151,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:152,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:153,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:154,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:155,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:156,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:158,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:159,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:160,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:166,1
    - Dst: begin
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:166,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:166,1
    - Dst: consteval_ctor
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:176,1
    - Dst: consteval_ctor
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (consensus.hashGenesisBlock == uint256{"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"})
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    - condition: (genesis.hashMerkleRoot == uint256{"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"})
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    constantsTouched: []
    func_position:
      end: 192
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 192
    functionName: CMainParams::CMainParams
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - script_flag_exceptions::emplace
    - std::vector<uint8_t>
    - GetHash
    - signet_challenge::clear
    - consteval_ctor
    - emplace_back
    - CreateGenesisBlock
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void CMainParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signet_challenge::clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:203,1
    - Dst: script_flag_exceptions::emplace
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:205,1
    - Dst: CreateGenesisBlock
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:247,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:248,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:250,1
    - Dst: clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:252,1
    - Dst: clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:253,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:255,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:256,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:257,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:258,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:259,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:261,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:262,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:263,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:269,1
    - Dst: begin
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:269,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:269,1
    - Dst: consteval_ctor
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (consensus.hashGenesisBlock == uint256{"000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943"})
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    - condition: (genesis.hashMerkleRoot == uint256{"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"})
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    constantsTouched: []
    func_position:
      end: 289
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 289
    functionName: CTestNetParams::CTestNetParams
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - script_flag_exceptions::emplace
    - std::vector<uint8_t>
    - GetHash
    - signet_challenge::clear
    - clear
    - consteval_ctor
    - emplace_back
    - CreateGenesisBlock
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void CTestNetParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signet_challenge::clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:300,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:344,1
    - Dst: CreateGenesisBlock
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:345,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:352,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:353,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:354,1
    - Dst: clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:356,1
    - Dst: clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:357,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:359,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:360,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:362,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:363,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:364,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:370,1
    - Dst: begin
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:370,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (consensus.hashGenesisBlock == uint256{"00000000da84f2bafbbc53dee25a72ae507ff4914b867c565be350b0da8bf043"})
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    - condition: (genesis.hashMerkleRoot == uint256{"7aa0a7ae1e223414cb807e40cd57e667b718e42aaf9306db9102fe28912b7b4e"})
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    constantsTouched: []
    func_position:
      end: 385
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 385
    functionName: CTestNet4Params::CTestNet4Params
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - std::vector<uint8_t>
    - GetHash
    - signet_challenge::clear
    - clear
    - CScript
    - emplace_back
    - CreateGenesisBlock
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void CTestNet4Params()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:396,1
    - Dst: clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:397,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:401,1
    - Dst: begin
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:401,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:401,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:402,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:403,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:426,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:426,1
    - Dst: signet_challenge::assign
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:435,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:435,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:435,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:468,1
    - Dst: std::copy_n
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:469,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:469,1
    - Dst: begin
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:469,1
    - Dst: CreateGenesisBlock
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:474,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:475,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:476,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:477,1
    - Dst: consteval_ctor
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:484,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:488,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:489,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 71
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - SigNetOptions
    assertStmts:
    - condition: (consensus.hashGenesisBlock == uint256{"00000008819873e925422c1ff0f99f7cc9bbb232af63a077a480a3633bee1ef6"})
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    - condition: (genesis.hashMerkleRoot == uint256{"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"})
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    constantsTouched: []
    func_position:
      end: 498
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 498
    functionName: SigNetParams::SigNetParams
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - std::vector::end
    - std::copy_n
    - std::vector<uint8_t>
    - uint256::begin
    - signet_challenge::assign
    - std::vector::begin
    - GetHash
    - LogInfo
    - CreateGenesisBlock
    - clear
    - HashWriter::GetHash
    - consteval_ctor
    - emplace_back
    - HexStr
    - assert
    - begin
    linkageType: ''
    returnType: void
    signature: void SigNetParams(const SigNetOptions& options)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: signet_challenge::clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:512,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:515,1
    - Dst: CreateGenesisBlock
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:580,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:581,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:582,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:583,1
    - Dst: clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:585,1
    - Dst: clear
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:586,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:587,1
    - Dst: consteval_ctor
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:597,1
    - Dst: consteval_ctor
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:604,1
    - Dst: consteval_ctor
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:611,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:621,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:622,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 79
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - RegTestOptions
    assertStmts:
    - condition: (consensus.hashGenesisBlock == uint256{"0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206"})
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    - condition: (genesis.hashMerkleRoot == uint256{"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"})
      pos:
        line_end: 582
        line_start: 582
        source_file: /src/bitcoin-core/src/kernel/chainparams.cpp
    constantsTouched: []
    func_position:
      end: 628
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 628
    functionName: CRegTestParams::CRegTestParams
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - std::vector<unsigned char>
    - GetHash
    - signet_challenge::clear
    - clear
    - consteval_ctor
    - emplace_back
    - CreateGenesisBlock
    - assert
    linkageType: ''
    returnType: void
    signature: void CRegTestParams(const RegTestOptions& opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<const SigNetParams>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - SigNetOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 634
    functionName: CChainParams::SigNet
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<const SigNetParams>
    linkageType: ''
    returnType: std::unique_ptr<const CChainParams>
    signature: std::unique_ptr<const CChainParams> CChainParams::SigNet(const SigNetOptions&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<const CRegTestParams>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - RegTestOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: CChainParams::RegTest
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<const CRegTestParams>
    linkageType: ''
    returnType: std::unique_ptr<const CChainParams>
    signature: std::unique_ptr<const CChainParams> CChainParams::RegTest(const RegTestOptions&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<const CMainParams>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: CChainParams::Main
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<const CMainParams>
    linkageType: ''
    returnType: std::unique_ptr<const CChainParams>
    signature: std::unique_ptr<const CChainParams> CChainParams::Main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<const CTestNetParams>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: CChainParams::TestNet
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<const CTestNetParams>
    linkageType: ''
    returnType: std::unique_ptr<const CChainParams>
    signature: std::unique_ptr<const CChainParams> CChainParams::TestNet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<const CTestNet4Params>
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: CChainParams::TestNet4
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<const CTestNet4Params>
    linkageType: ''
    returnType: std::unique_ptr<const CChainParams>
    signature: std::unique_ptr<const CChainParams> CChainParams::TestNet4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:659,1
    - Dst: size
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:659,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: CChainParams::GetAvailableSnapshotHeights
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::emplace_back
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<int>
    signature: std::vector<int> CChainParams::GetAvailableSnapshotHeights() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CChainParams::Main
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:669,1
    - Dst: CChainParams::TestNet
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:670,1
    - Dst: CChainParams::TestNet4
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:671,1
    - Dst: CChainParams::RegTest
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:672,1
    - Dst: CChainParams::SigNet
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:673,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:675,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:677,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:679,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:681,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/kernel/chainparams.cpp:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageStartChars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 687
    functionName: GetNetworkForMagic
    functionSourceFile: /src/bitcoin-core/src/kernel/chainparams.cpp
    functionUses: 0
    functionsReached:
    - all_bytes_equal
    - CChainParams::TestNet4
    - CChainParams::SigNet
    - CChainParams::Main
    - CChainParams::TestNet
    - CChainParams::RegTest
    linkageType: ''
    returnType: std::optional<ChainType>
    signature: std::optional<ChainType> GetNetworkForMagic(const MessageStartChars&
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_mem_usage
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: DisconnectedBlockTransactions::DisconnectedBlockTransactions
    functionSourceFile: /src/bitcoin-core/src/kernel/disconnected_transactions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DisconnectedBlockTransactions(size_t max_mem_usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DisconnectedBlockTransactions::size
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: DisconnectedBlockTransactions::size
    functionSourceFile: /src/bitcoin-core/src/kernel/disconnected_transactions.h
    functionUses: 1
    functionsReached:
    - DisconnectedBlockTransactions::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:26,1
    - Dst: empty
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:26,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:27,1
    - Dst: empty
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:27,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (queuedTx.empty())
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    - condition: (iters_by_txid.empty())
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    - condition: (cachedInnerUsage == 0)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: DisconnectedBlockTransactions::~DisconnectedBlockTransactions()
    functionSourceFile: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void DisconnectedBlockTransactions::~DisconnectedBlockTransactions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:35,1
    - Dst: DisconnectedBlockTransactions::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:35,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:36,1
    - Dst: front
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:36,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:37,1
    - Dst: front
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:37,1
    - Dst: erase
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:38,1
    - Dst: front
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:38,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: DisconnectedBlockTransactions::LimitMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    functionUses: 0
    functionsReached:
    - pop_front
    - std::vector::emplace_back
    - erase
    - empty
    - RecursiveDynamicUsage
    - DisconnectedBlockTransactions::DynamicMemoryUsage
    - front
    linkageType: ''
    returnType: std::vector<CTransactionRef>
    signature: std::vector<CTransactionRef> DisconnectedBlockTransactions::LimitMemoryUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:46,1
    - Dst: memusage::DynamicUsage
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: DisconnectedBlockTransactions::DynamicMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    functionUses: 2
    functionsReached:
    - memusage::DynamicUsage
    linkageType: ''
    returnType: size_t
    signature: size_t DisconnectedBlockTransactions::DynamicMemoryUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:51,1
    - Dst: DisconnectedBlockTransactions::size
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:51,1
    - Dst: DisconnectedBlockTransactions::size
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:51,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:52,1
    - Dst: rend
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:52,1
    - Dst: insert
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:53,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:53,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:54,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:54,1
    - Dst: assert
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:55,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:56,1
    - Dst: DisconnectedBlockTransactions::LimitMemoryUsage
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' vtx'
    argTypes:
    - std::vector<CTransactionRef>
    assertStmts:
    - condition: (inserted)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: DisconnectedBlockTransactions::AddTransactionsFromBlock
    functionSourceFile: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    functionUses: 1
    functionsReached:
    - end
    - reserve
    - rend
    - emplace
    - RecursiveDynamicUsage
    - GetHash
    - DisconnectedBlockTransactions::LimitMemoryUsage
    - DisconnectedBlockTransactions::size
    - rbegin
    - assert
    - insert
    linkageType: ''
    returnType: std::vector<CTransactionRef>
    signature: std::vector<CTransactionRef> DisconnectedBlockTransactions::AddTransactionsFromBlock(const
      std::vector<CTransactionRef>& vtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:64,1
    - Dst: find
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:68,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:68,1
    - Dst: end
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:69,1
    - Dst: erase
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:71,1
    - Dst: RecursiveDynamicUsage
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:72,1
    - Dst: erase
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' vtx'
    argTypes:
    - std::vector<CTransactionRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: DisconnectedBlockTransactions::removeForBlock
    functionSourceFile: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - empty
    - RecursiveDynamicUsage
    - GetHash
    - find
    linkageType: ''
    returnType: void
    signature: void DisconnectedBlockTransactions::removeForBlock(const std::vector<CTransactionRef>&
      vtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DisconnectedBlockTransactions::clear
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:81,1
    - Dst: DisconnectedBlockTransactions::clear
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: DisconnectedBlockTransactions::clear
    functionSourceFile: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    functionUses: 3
    functionsReached:
    - DisconnectedBlockTransactions::clear
    linkageType: ''
    returnType: void
    signature: void DisconnectedBlockTransactions::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:87,1
    - Dst: DisconnectedBlockTransactions::clear
      Src: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: DisconnectedBlockTransactions::take
    functionSourceFile: /src/bitcoin-core/src/kernel/disconnected_transactions.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - DisconnectedBlockTransactions::clear
    linkageType: ''
    returnType: std::list<CTransactionRef>
    signature: std::list<CTransactionRef> DisconnectedBlockTransactions::take()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/bitcoin-core/src/compat/stdin.cpp:22,1
    - Dst: GetConsoleMode
      Src: /src/bitcoin-core/src/compat/stdin.cpp:24,1
    - Dst: SetConsoleMode
      Src: /src/bitcoin-core/src/compat/stdin.cpp:30,1
    - Dst: tcgetattr
      Src: /src/bitcoin-core/src/compat/stdin.cpp:33,1
    - Dst: tcsetattr
      Src: /src/bitcoin-core/src/compat/stdin.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: SetStdinEcho
    functionSourceFile: /src/bitcoin-core/src/compat/stdin.cpp
    functionUses: 0
    functionsReached:
    - tcgetattr
    - GetStdHandle
    - SetConsoleMode
    - GetConsoleMode
    - tcsetattr
    linkageType: ''
    returnType: void
    signature: void SetStdinEcho(bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isatty
      Src: /src/bitcoin-core/src/compat/stdin.cpp:46,1
    - Dst: _fileno
      Src: /src/bitcoin-core/src/compat/stdin.cpp:46,1
    - Dst: isatty
      Src: /src/bitcoin-core/src/compat/stdin.cpp:48,1
    - Dst: fileno
      Src: /src/bitcoin-core/src/compat/stdin.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: StdinTerminal
    functionSourceFile: /src/bitcoin-core/src/compat/stdin.cpp
    functionUses: 1
    functionsReached:
    - _isatty
    - _fileno
    - fileno
    - isatty
    linkageType: ''
    returnType: bool
    signature: bool StdinTerminal()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StdinTerminal
      Src: /src/bitcoin-core/src/compat/stdin.cpp:54,1
    - Dst: poll
      Src: /src/bitcoin-core/src/compat/stdin.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: StdinReady
    functionSourceFile: /src/bitcoin-core/src/compat/stdin.cpp
    functionUses: 1
    functionsReached:
    - StdinTerminal
    - poll
    linkageType: ''
    returnType: bool
    signature: bool StdinReady()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetStdinEcho
      Src: /src/bitcoin-core/src/compat/stdin.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: NoechoInst::NoechoInst
    functionSourceFile: /src/bitcoin-core/src/compat/stdin.cpp
    functionUses: 0
    functionsReached:
    - SetStdinEcho
    linkageType: ''
    returnType: void
    signature: void NoechoInst::NoechoInst()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetStdinEcho
      Src: /src/bitcoin-core/src/compat/stdin.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: NoechoInst::~NoechoInst()
    functionSourceFile: /src/bitcoin-core/src/compat/stdin.cpp
    functionUses: 0
    functionsReached:
    - SetStdinEcho
    linkageType: ''
    returnType: void
    signature: void NoechoInst::~NoechoInst()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: bitcoin_builtin_bswap16
    functionSourceFile: /src/bitcoin-core/src/compat/byteswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitcoin_builtin_bswap16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: bitcoin_builtin_bswap32
    functionSourceFile: /src/bitcoin-core/src/compat/byteswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitcoin_builtin_bswap32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: bitcoin_builtin_bswap64
    functionSourceFile: /src/bitcoin-core/src/compat/byteswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitcoin_builtin_bswap64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: bitcoin_builtin_bswap16
    functionSourceFile: /src/bitcoin-core/src/compat/byteswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitcoin_builtin_bswap16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: bitcoin_builtin_bswap32
    functionSourceFile: /src/bitcoin-core/src/compat/byteswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitcoin_builtin_bswap32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: bitcoin_builtin_bswap64
    functionSourceFile: /src/bitcoin-core/src/compat/byteswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitcoin_builtin_bswap64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitcoin_builtin_bswap16
      Src: /src/bitcoin-core/src/compat/byteswap.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: internal_bswap_16
    functionSourceFile: /src/bitcoin-core/src/compat/byteswap.h
    functionUses: 1
    functionsReached:
    - bitcoin_builtin_bswap16
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR internal_bswap_16(uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitcoin_builtin_bswap32
      Src: /src/bitcoin-core/src/compat/byteswap.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: internal_bswap_32
    functionSourceFile: /src/bitcoin-core/src/compat/byteswap.h
    functionUses: 1
    functionsReached:
    - bitcoin_builtin_bswap32
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR internal_bswap_32(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitcoin_builtin_bswap64
      Src: /src/bitcoin-core/src/compat/byteswap.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: internal_bswap_64
    functionSourceFile: /src/bitcoin-core/src/compat/byteswap.h
    functionUses: 1
    functionsReached:
    - bitcoin_builtin_bswap64
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR internal_bswap_64(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: WSAGetLastError
    functionSourceFile: /src/bitcoin-core/src/compat/compat.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WSAGetLastError()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/compat/endian.h:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: htobe16_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 1
    functionsReached:
    - internal_bswap_16
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR htobe16_internal(uint16_t host_16bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/compat/endian.h:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: htole16_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 2
    functionsReached:
    - internal_bswap_16
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR htole16_internal(uint16_t host_16bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/compat/endian.h:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - big_endian_16bits
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: be16toh_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 5
    functionsReached:
    - internal_bswap_16
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR be16toh_internal(uint16_t big_endian_16bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/compat/endian.h:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - little_endian_16bits
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: le16toh_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 2
    functionsReached:
    - internal_bswap_16
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR le16toh_internal(uint16_t little_endian_16bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/compat/endian.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: htobe32_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 2
    functionsReached:
    - internal_bswap_32
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR htobe32_internal(uint32_t host_32bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/compat/endian.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: htole32_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 2
    functionsReached:
    - internal_bswap_32
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR htole32_internal(uint32_t host_32bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/compat/endian.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - big_endian_32bits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: be32toh_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 2
    functionsReached:
    - internal_bswap_32
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR be32toh_internal(uint32_t big_endian_32bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/compat/endian.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - little_endian_32bits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: le32toh_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 2
    functionsReached:
    - internal_bswap_32
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR le32toh_internal(uint32_t little_endian_32bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_64
      Src: /src/bitcoin-core/src/compat/endian.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: htobe64_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 2
    functionsReached:
    - internal_bswap_64
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR htobe64_internal(uint64_t host_64bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_64
      Src: /src/bitcoin-core/src/compat/endian.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: htole64_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 3
    functionsReached:
    - internal_bswap_64
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR htole64_internal(uint64_t host_64bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_64
      Src: /src/bitcoin-core/src/compat/endian.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - big_endian_64bits
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: be64toh_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 2
    functionsReached:
    - internal_bswap_64
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR be64toh_internal(uint64_t big_endian_64bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_64
      Src: /src/bitcoin-core/src/compat/endian.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - little_endian_64bits
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: le64toh_internal
    functionSourceFile: /src/bitcoin-core/src/compat/endian.h
    functionUses: 3
    functionsReached:
    - internal_bswap_64
    linkageType: ''
    returnType: BSWAP_CONSTEXPR
    signature: BSWAP_CONSTEXPR le64toh_internal(uint64_t little_endian_64bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid_count
      Src: /src/bitcoin-core/src/compat/cpuid.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - leaf
    - subleaf
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: GetCPUID
    functionSourceFile: /src/bitcoin-core/src/compat/cpuid.h
    functionUses: 5
    functionsReached:
    - __cpuid_count
    linkageType: ''
    returnType: void
    signature: void GetCPUID(uint32_t leaf, uint32_t subleaf, uint32_t& a, uint32_t&
      b, uint32_t& c, uint32_t& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: NO_STDIN_ECHO
    functionSourceFile: /src/bitcoin-core/src/compat/stdin.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NO_STDIN_ECHO()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_create
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:13,1
    - Dst: minisketch_add_uint64
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:16,1
    - Dst: minisketch_serialized_size
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:19,1
    - Dst: assert
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:20,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:21,1
    - Dst: minisketch_serialize
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:22,1
    - Dst: minisketch_destroy
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:23,1
    - Dst: minisketch_create
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:25,1
    - Dst: minisketch_add_uint64
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:27,1
    - Dst: minisketch_create
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:30,1
    - Dst: minisketch_deserialize
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:31,1
    - Dst: free
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:32,1
    - Dst: minisketch_merge
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:37,1
    - Dst: minisketch_decode
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:40,1
    - Dst: minisketch_destroy
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:41,1
    - Dst: minisketch_destroy
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:42,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:44,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/doc/example.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sersize == 12 * 4 / 8)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bitcoin-core/src/minisketch/doc/example.c
    constantsTouched: []
    func_position:
      end: 51
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/minisketch/doc/example.c
    functionUses: 0
    functionsReached:
    - minisketch_add_uint64
    - minisketch_create
    - malloc
    - minisketch_destroy
    - minisketch_deserialize
    - minisketch_serialize
    - minisketch_merge
    - minisketch_decode
    - printf
    - assert
    - free
    - minisketch_serialized_size
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:18,1
    - Dst: strtoul
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:21,1
    - Dst: strtoul
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:22,1
    - Dst: strtoul
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:23,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:25,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:29,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:33,1
    - Dst: minisketch_implementation_max
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:36,1
    - Dst: pow
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:38,1
    - Dst: minisketch_bits_supported
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:39,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:40,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:46,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:48,1
    - Dst: minisketch_create
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:50,1
    - Dst: dist
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:56,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:57,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:58,1
    - Dst: minisketch_add_uint64
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:59,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:63,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:66,1
    - Dst: minisketch_decode
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:67,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:67,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:70,1
    - Dst: std::chrono::duration<double>::count
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:70,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:72,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:72,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:72,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:73,1
    - Dst: minisketch_destroy
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:76,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:79,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:80,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:86,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:87,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:89,1
    - Dst: minisketch_create
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:91,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:93,1
    - Dst: dist
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:94,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:97,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:100,1
    - Dst: minisketch_add_uint64
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:102,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:104,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:106,1
    - Dst: std::chrono::duration<double>::count
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:106,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:108,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:108,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:108,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:109,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:109,1
    - Dst: minisketch_destroy
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:112,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/bench.cpp:115,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/bench.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::set::insert
    - std::vector::end
    - dist
    - minisketch_bits_supported
    - std::vector::reserve
    - wallet::WalletRescanReserver::now
    - pow
    - strtoul
    - minisketch_implementation_max
    - std::vector::size
    - minisketch_add_uint64
    - minisketch_create
    - minisketch_decode
    - std::set::count
    - printf
    - std::vector::resize
    - std::vector::data
    - std::chrono::duration<double>::count
    - std::vector::begin
    - minisketch_destroy
    - std::sort
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:71,1
    - Dst: __get_cpuid
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: EnableClmul
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 0
    functionsReached:
    - __get_cpuid
    - __cpuid
    linkageType: ''
    returnType: bool
    signature: bool EnableClmul()
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FieldImpl
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:82,1
    - Dst: ConstructGeneric1Byte
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:86,1
    - Dst: ConstructGeneric2Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:88,1
    - Dst: ConstructGeneric3Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:90,1
    - Dst: ConstructGeneric4Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:92,1
    - Dst: ConstructGeneric5Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:94,1
    - Dst: ConstructGeneric6Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:96,1
    - Dst: ConstructGeneric7Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:98,1
    - Dst: ConstructGeneric8Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:100,1
    - Dst: EnableClmul
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:107,1
    - Dst: ConstructClMul1Byte
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:110,1
    - Dst: ConstructClMul2Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:112,1
    - Dst: ConstructClMul3Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:114,1
    - Dst: ConstructClMul4Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:116,1
    - Dst: ConstructClMul5Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:118,1
    - Dst: ConstructClMul6Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:120,1
    - Dst: ConstructClMul7Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:122,1
    - Dst: ConstructClMul8Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:124,1
    - Dst: EnableClmul
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:131,1
    - Dst: ConstructClMulTri1Byte
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:134,1
    - Dst: ConstructClMulTri2Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:136,1
    - Dst: ConstructClMulTri3Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:138,1
    - Dst: ConstructClMulTri4Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:140,1
    - Dst: ConstructClMulTri5Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:142,1
    - Dst: ConstructClMulTri6Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:144,1
    - Dst: ConstructClMulTri7Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:146,1
    - Dst: ConstructClMulTri8Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 74
    argCount: 2
    argNames:
    - bits
    - impl
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 157
    functionName: Construct
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 1
    functionsReached:
    - ConstructGeneric5Bytes
    - ConstructClMul7Bytes
    - ConstructClMulTri1Byte
    - ConstructClMul6Bytes
    - ConstructGeneric8Bytes
    - ConstructGeneric2Bytes
    - ConstructClMul8Bytes
    - ConstructClMul1Byte
    - ConstructClMulTri4Bytes
    - ConstructClMulTri6Bytes
    - ConstructClMulTri2Bytes
    - ConstructGeneric7Bytes
    - ConstructClMulTri8Bytes
    - ConstructClMul5Bytes
    - ConstructGeneric6Bytes
    - ConstructClMulTri5Bytes
    - FieldImpl
    - ConstructGeneric3Bytes
    - ConstructClMulTri7Bytes
    - ConstructGeneric4Bytes
    - ConstructClMul2Bytes
    - ConstructClMul3Bytes
    - EnableClmul
    - ConstructGeneric1Byte
    - ConstructClMulTri3Bytes
    - ConstructClMul4Bytes
    linkageType: ''
    returnType: Sketch
    signature: Sketch * Construct(int bits, int impl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:71,1
    - Dst: __get_cpuid
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: EnableClmul
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 1
    functionsReached:
    - __get_cpuid
    - __cpuid
    linkageType: ''
    returnType: bool
    signature: bool EnableClmul()
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FieldImpl
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:82,1
    - Dst: ConstructGeneric1Byte
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:86,1
    - Dst: ConstructGeneric2Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:88,1
    - Dst: ConstructGeneric3Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:90,1
    - Dst: ConstructGeneric4Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:92,1
    - Dst: ConstructGeneric5Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:94,1
    - Dst: ConstructGeneric6Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:96,1
    - Dst: ConstructGeneric7Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:98,1
    - Dst: ConstructGeneric8Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:100,1
    - Dst: EnableClmul
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:107,1
    - Dst: ConstructClMul1Byte
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:110,1
    - Dst: ConstructClMul2Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:112,1
    - Dst: ConstructClMul3Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:114,1
    - Dst: ConstructClMul4Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:116,1
    - Dst: ConstructClMul5Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:118,1
    - Dst: ConstructClMul6Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:120,1
    - Dst: ConstructClMul7Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:122,1
    - Dst: ConstructClMul8Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:124,1
    - Dst: EnableClmul
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:131,1
    - Dst: ConstructClMulTri1Byte
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:134,1
    - Dst: ConstructClMulTri2Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:136,1
    - Dst: ConstructClMulTri3Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:138,1
    - Dst: ConstructClMulTri4Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:140,1
    - Dst: ConstructClMulTri5Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:142,1
    - Dst: ConstructClMulTri6Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:144,1
    - Dst: ConstructClMulTri7Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:146,1
    - Dst: ConstructClMulTri8Bytes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 74
    argCount: 2
    argNames:
    - bits
    - impl
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 157
    functionName: Construct
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 1
    functionsReached:
    - ConstructGeneric5Bytes
    - ConstructClMul7Bytes
    - ConstructClMulTri1Byte
    - ConstructClMul6Bytes
    - ConstructGeneric8Bytes
    - ConstructGeneric2Bytes
    - ConstructClMul8Bytes
    - ConstructClMul1Byte
    - ConstructClMulTri4Bytes
    - ConstructClMulTri6Bytes
    - ConstructClMulTri2Bytes
    - ConstructGeneric7Bytes
    - ConstructClMulTri8Bytes
    - ConstructClMul5Bytes
    - ConstructGeneric6Bytes
    - ConstructClMulTri5Bytes
    - FieldImpl
    - ConstructGeneric3Bytes
    - ConstructClMulTri7Bytes
    - ConstructGeneric4Bytes
    - ConstructClMul2Bytes
    - ConstructClMul3Bytes
    - EnableClmul
    - ConstructGeneric1Byte
    - ConstructClMulTri3Bytes
    - ConstructClMul4Bytes
    linkageType: ''
    returnType: Sketch
    signature: Sketch * Construct(int bits, int impl)
  - BBCount: 64
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 128
    argCount: 1
    argNames:
    - bits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 354
    functionName: minisketch_bits_supported
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int minisketch_bits_supported(uint32_t bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: minisketch_implementation_max
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minisketch_implementation_max()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_bits_supported
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:365,1
    - Dst: minisketch_implementation_max
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:365,1
    - Dst: Construct
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: minisketch_implementation_supported
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 0
    functionsReached:
    - minisketch_bits_supported
    - Construct
    - minisketch_implementation_max
    linkageType: ''
    returnType: int
    signature: int minisketch_implementation_supported(uint32_t bits, uint32_t implementation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Construct
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:380,1
    - Dst: Sketch*::Init
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:383,1
    - Dst: Sketch*::Ready
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - bits
    - implementation
    - capacity
    argTypes:
    - uint32_t
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 5
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: minisketch_create
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 2
    functionsReached:
    - Construct
    - Sketch*::Init
    - Sketch*::Ready
    linkageType: ''
    returnType: minisketch
    signature: minisketch * minisketch_create(uint32_t bits, uint32_t implementation,
      size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:398,1
    - Dst: Sketch*::Bits
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sketch
    argTypes:
    - minisketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 4
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: minisketch_bits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 0
    functionsReached:
    - Sketch*::Bits
    - Sketch*::Check
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minisketch_bits(const minisketch* sketch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:404,1
    - Dst: Sketch*::Syndromes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sketch
    argTypes:
    - minisketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: minisketch_capacity
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 0
    functionsReached:
    - Sketch*::Check
    - Sketch*::Syndromes
    linkageType: ''
    returnType: size_t
    signature: size_t minisketch_capacity(const minisketch* sketch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:410,1
    - Dst: Sketch*::Implementation
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sketch
    argTypes:
    - minisketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: minisketch_implementation
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 0
    functionsReached:
    - Sketch*::Implementation
    - Sketch*::Check
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minisketch_implementation(const minisketch* sketch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:416,1
    - Dst: minisketch_create
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:417,1
    - Dst: Sketch*::Bits
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:417,1
    - Dst: Sketch*::Implementation
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:417,1
    - Dst: Sketch*::Syndromes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:417,1
    - Dst: Sketch*::Merge
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sketch
    argTypes:
    - minisketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 414
    functionDepth: 6
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: minisketch_clone
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 0
    functionsReached:
    - Sketch*::Implementation
    - minisketch_create
    - Sketch*::Check
    - Sketch*::Merge
    - Sketch*::Syndromes
    - Sketch*::Bits
    linkageType: ''
    returnType: minisketch
    signature: minisketch * minisketch_clone(const minisketch* sketch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::UnReady
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sketch
    argTypes:
    - minisketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: minisketch_destroy
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 2
    functionsReached:
    - Sketch*::UnReady
    linkageType: ''
    returnType: void
    signature: void minisketch_destroy(minisketch* sketch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:434,1
    - Dst: Sketch*::Bits
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:435,1
    - Dst: Sketch*::Syndromes
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sketch
    argTypes:
    - minisketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 4
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: minisketch_serialized_size
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 1
    functionsReached:
    - Sketch*::Bits
    - Sketch*::Check
    - Sketch*::Syndromes
    linkageType: ''
    returnType: size_t
    signature: size_t minisketch_serialized_size(const minisketch* sketch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:442,1
    - Dst: Sketch*::Serialize
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sketch
    - output
    argTypes:
    - minisketch*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 4
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: minisketch_serialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 1
    functionsReached:
    - Sketch*::Serialize
    - Sketch*::Check
    linkageType: ''
    returnType: void
    signature: void minisketch_serialize(const minisketch* sketch, unsigned char*
      output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:448,1
    - Dst: Sketch*::Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sketch
    - input
    argTypes:
    - minisketch*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 4
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: minisketch_deserialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 1
    functionsReached:
    - Sketch*::Deserialize
    - Sketch*::Check
    linkageType: ''
    returnType: void
    signature: void minisketch_deserialize(minisketch* sketch, const unsigned char*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:454,1
    - Dst: Sketch*::Add
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sketch
    - element
    argTypes:
    - minisketch*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 4
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: minisketch_add_uint64
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 2
    functionsReached:
    - Sketch*::Add
    - Sketch*::Check
    linkageType: ''
    returnType: void
    signature: void minisketch_add_uint64(minisketch* sketch, uint64_t element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:461,1
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:462,1
    - Dst: Sketch*::Bits
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:463,1
    - Dst: Sketch*::Bits
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:463,1
    - Dst: Sketch*::Implementation
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:464,1
    - Dst: Sketch*::Implementation
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:464,1
    - Dst: Sketch*::Merge
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sketch
    - other_sketch
    argTypes:
    - minisketch*
    - minisketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: minisketch_merge
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 1
    functionsReached:
    - Sketch*::Bits
    - Sketch*::Implementation
    - Sketch*::Merge
    - Sketch*::Check
    linkageType: ''
    returnType: size_t
    signature: size_t minisketch_merge(minisketch* sketch, const minisketch* other_sketch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:470,1
    - Dst: Sketch*::Decode
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:471,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sketch
    - max_elements
    - output
    argTypes:
    - minisketch*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: minisketch_decode
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - Sketch*::Decode
    - Sketch*::Check
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t minisketch_decode(const minisketch* sketch, size_t max_elements,
      uint64_t* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sketch*::Check
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:476,1
    - Dst: Sketch*::SetSeed
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sketch
    - seed
    argTypes:
    - minisketch*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: minisketch_set_seed
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 0
    functionsReached:
    - Sketch*::SetSeed
    - Sketch*::Check
    linkageType: ''
    returnType: void
    signature: void minisketch_set_seed(minisketch* sketch, uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ComputeCapacity
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bits
    - max_elements
    - fpbits
    argTypes:
    - uint32_t
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: minisketch_compute_capacity
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 0
    functionsReached:
    - ComputeCapacity
    linkageType: ''
    returnType: size_t
    signature: size_t minisketch_compute_capacity(uint32_t bits, size_t max_elements,
      uint32_t fpbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ComputeMaxElements
      Src: /src/bitcoin-core/src/minisketch/src/minisketch.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bits
    - capacity
    - fpbits
    argTypes:
    - uint32_t
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: minisketch_compute_max_elements
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/minisketch.cpp
    functionUses: 0
    functionsReached:
    - ComputeMaxElements
    linkageType: ''
    returnType: size_t
    signature: size_t minisketch_compute_max_elements(uint32_t bits, size_t capacity,
      uint32_t fpbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - n
    - k
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: Combination
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Combination(uint64_t n, uint64_t k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::BitsSupported
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:32,1
    - Dst: Minisketch::MaxImplementation
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:34,1
    - Dst: Minisketch::ImplementationSupported
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:35,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:36,1
    - Dst: Minisketch::BitsSupported
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:37,1
    - Dst: Minisketch
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:37,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:38,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:38,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:41,1
    - Dst: Minisketch::BitsSupported
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - bits
    - capacity
    argTypes:
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: CreateSketches
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 0
    functionsReached:
    - Minisketch::ImplementationSupported
    - CHECK
    - Minisketch
    - std::vector::back
    - Minisketch::BitsSupported
    - std::vector::push_back
    - Minisketch::MaxImplementation
    linkageType: ''
    returnType: std::vector<Minisketch>
    signature: std::vector<Minisketch> CreateSketches(uint32_t bits, size_t capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateSketches
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:50,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:51,1
    - Dst: CreateSketches
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:52,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:61,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:62,1
    - Dst: GetSerializedSize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:62,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:63,1
    - Dst: GetSerializedSize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:63,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:68,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:73,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:74,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:75,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:76,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:76,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:76,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:79,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:80,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:81,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:82,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:83,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:84,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:84,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:84,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:85,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:90,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:92,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:92,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:93,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:94,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:94,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:99,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:101,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:104,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:105,1
    - Dst: Add
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:106,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:109,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:111,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:113,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:113,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:121,1
    - Dst: Combination
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:121,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - bits
    - capacity
    argTypes:
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 123
    functionName: TestExhaustive
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 0
    functionsReached:
    - CreateSketches
    - std::vector::end
    - auto::size
    - GetSerializedSize
    - std::vector::resize
    - Deserialize
    - CHECK
    - Serialize
    - std::vector::begin
    - auto::empty
    - std::vector::empty
    - Combination
    - std::sort
    - Decode
    - std::vector::size
    - Add
    linkageType: ''
    returnType: void
    signature: void TestExhaustive(uint32_t bits, size_t capacity)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::min<uint64_t>
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:128,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:128,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:129,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:130,1
    - Dst: capacity_dist
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:140,1
    - Dst: CreateSketches
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:141,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:143,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:144,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:145,1
    - Dst: GetBits
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:145,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:146,1
    - Dst: GetCapacity
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:146,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:147,1
    - Dst: GetSerializedSize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:147,1
    - Dst: GetSerializedSize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:147,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:150,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:150,1
    - Dst: size_offset_dist
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:150,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:151,1
    - Dst: element_dist
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:154,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:155,1
    - Dst: Add
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:157,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:160,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:160,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:160,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:162,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:173,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:173,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:173,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:174,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:175,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:178,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:179,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:180,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:181,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:184,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:185,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:186,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:187,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:190,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:191,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:192,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:192,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:192,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:193,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:194,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:195,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:196,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:197,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:197,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:197,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:198,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:204,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:204,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:205,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:206,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:207,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:207,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:207,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:208,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:209,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:210,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:210,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:211,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:212,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:219,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:220,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 3
    argNames:
    - bits
    - max_capacity
    - iter
    argTypes:
    - uint32_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 223
    functionName: TestRandomized
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - GetBits
    - element_dist
    - CreateSketches
    - std::vector::end
    - Deserialize
    - std::vector::empty
    - std::vector::size
    - GetSerializedSize
    - capacity_dist
    - auto::empty
    - std::min<uint64_t>
    - Decode
    - RandomMixin::max
    - CHECK
    - std::vector::resize
    - Serialize
    - size_offset_dist
    - std::vector::begin
    - GetCapacity
    - std::sort
    - Add
    - std::max<int64_t>
    linkageType: ''
    returnType: void
    signature: void TestRandomized(uint32_t bits, size_t max_capacity, size_t iter)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_compute_max_elements
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:230,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:232,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:234,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:236,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:238,1
    - Dst: minisketch_compute_capacity
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:243,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:245,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:247,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:249,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:251,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:253,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:255,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:256,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:261,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:262,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 266
    functionName: TestComputeFunctions
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 0
    functionsReached:
    - minisketch_compute_capacity
    - minisketch_compute_max_elements
    - CHECK
    linkageType: ''
    returnType: void
    signature: void TestComputeFunctions()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - n
    - k
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: Combination
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Combination(uint64_t n, uint64_t k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::BitsSupported
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:32,1
    - Dst: Minisketch::MaxImplementation
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:34,1
    - Dst: Minisketch::ImplementationSupported
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:35,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:36,1
    - Dst: Minisketch::BitsSupported
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:37,1
    - Dst: Minisketch
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:37,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:38,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:38,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:41,1
    - Dst: Minisketch::BitsSupported
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - bits
    - capacity
    argTypes:
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: CreateSketches
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 2
    functionsReached:
    - Minisketch::ImplementationSupported
    - CHECK
    - Minisketch
    - std::vector::back
    - Minisketch::BitsSupported
    - std::vector::push_back
    - Minisketch::MaxImplementation
    linkageType: ''
    returnType: std::vector<Minisketch>
    signature: std::vector<Minisketch> CreateSketches(uint32_t bits, size_t capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateSketches
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:50,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:51,1
    - Dst: CreateSketches
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:52,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:61,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:62,1
    - Dst: GetSerializedSize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:62,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:63,1
    - Dst: GetSerializedSize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:63,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:68,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:73,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:74,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:75,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:76,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:76,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:76,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:79,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:80,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:81,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:82,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:83,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:84,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:84,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:84,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:85,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:90,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:92,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:92,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:93,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:94,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:94,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:99,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:101,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:104,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:105,1
    - Dst: Add
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:106,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:109,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:111,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:113,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:113,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:121,1
    - Dst: Combination
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:121,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - bits
    - capacity
    argTypes:
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 123
    functionName: TestExhaustive
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 0
    functionsReached:
    - CreateSketches
    - std::vector::end
    - auto::size
    - GetSerializedSize
    - std::vector::resize
    - Deserialize
    - CHECK
    - Serialize
    - std::vector::begin
    - auto::empty
    - std::vector::empty
    - Combination
    - std::sort
    - Decode
    - std::vector::size
    - Add
    linkageType: ''
    returnType: void
    signature: void TestExhaustive(uint32_t bits, size_t capacity)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::min<uint64_t>
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:128,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:128,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:129,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:130,1
    - Dst: capacity_dist
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:140,1
    - Dst: CreateSketches
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:141,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:143,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:144,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:145,1
    - Dst: GetBits
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:145,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:146,1
    - Dst: GetCapacity
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:146,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:147,1
    - Dst: GetSerializedSize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:147,1
    - Dst: GetSerializedSize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:147,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:150,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:150,1
    - Dst: size_offset_dist
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:150,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:151,1
    - Dst: element_dist
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:154,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:155,1
    - Dst: Add
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:157,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:160,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:160,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:160,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:162,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:173,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:173,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:173,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:174,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:175,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:178,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:179,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:180,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:181,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:184,1
    - Dst: Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:185,1
    - Dst: Serialize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:186,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:187,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:190,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:191,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:192,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:192,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:192,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:193,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:194,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:195,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:196,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:197,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:197,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:197,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:198,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:204,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:204,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:205,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:206,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:207,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:207,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:207,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:208,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:209,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:210,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:210,1
    - Dst: Decode
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:211,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:212,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:219,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:220,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 3
    argNames:
    - bits
    - max_capacity
    - iter
    argTypes:
    - uint32_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 223
    functionName: TestRandomized
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - GetBits
    - element_dist
    - CreateSketches
    - std::vector::end
    - Deserialize
    - std::vector::empty
    - std::vector::size
    - GetSerializedSize
    - capacity_dist
    - auto::empty
    - std::min<uint64_t>
    - Decode
    - RandomMixin::max
    - CHECK
    - std::vector::resize
    - Serialize
    - size_offset_dist
    - std::vector::begin
    - GetCapacity
    - std::sort
    - Add
    - std::max<int64_t>
    linkageType: ''
    returnType: void
    signature: void TestRandomized(uint32_t bits, size_t max_capacity, size_t iter)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_compute_max_elements
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:230,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:232,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:234,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:236,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:238,1
    - Dst: minisketch_compute_capacity
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:243,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:245,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:247,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:249,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:251,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:253,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:255,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:256,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:261,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:262,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 266
    functionName: TestComputeFunctions
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 0
    functionsReached:
    - minisketch_compute_capacity
    - minisketch_compute_max_elements
    - CHECK
    linkageType: ''
    returnType: void
    signature: void TestComputeFunctions()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::stoll
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:277,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:278,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:278,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:283,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:283,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:293,1
    - Dst: TestComputeFunctions
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:295,1
    - Dst: TestRandomized
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:298,1
    - Dst: TestRandomized
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:299,1
    - Dst: TestRandomized
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:300,1
    - Dst: TestExhaustive
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:310,1
    - Dst: printf
      Src: /src/bitcoin-core/src/minisketch/src/test.cpp:315,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 317
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/test.cpp
    functionUses: 0
    functionsReached:
    - TestExhaustive
    - std::string::size
    - TestComputeFunctions
    - fprintf
    - TestRandomized
    - std::stoll
    - std::string::c_str
    - RandomMixin::max
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Rot
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rot(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Rot
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:27,1
    - Dst: Rot
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:28,1
    - Dst: Rot
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:29,1
    - Dst: Rot
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:30,1
    - Dst: Rot
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:31,1
    - Dst: Rot
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    - ' v3'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: SipHashRound
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - Rot
    linkageType: ''
    returnType: void
    signature: void SipHashRound(uint64_t& v0, uint64_t& v1, uint64_t& v2, uint64_t&
      v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipHashRound
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:40,1
    - Dst: SipHashRound
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:41,1
    - Dst: SipHashRound
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:44,1
    - Dst: SipHashRound
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:45,1
    - Dst: SipHashRound
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:48,1
    - Dst: SipHashRound
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:49,1
    - Dst: SipHashRound
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:50,1
    - Dst: SipHashRound
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - k0
    - k1
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: SipHash
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - SipHashRound
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SipHash(uint64_t k0, uint64_t k1, uint64_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:66,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - val
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: BitWriter::WriteInner
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void WriteInner(I val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: BitWriter::BitWriter
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitWriter(unsigned char* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitWriter::WriteInner
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: BitWriter::Write
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - BitWriter::WriteInner
    linkageType: ''
    returnType: void
    signature: void Write(I val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: BitWriter::Flush
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: BitReader::BitReader
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitReader(const unsigned char* input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:124,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: BitReader::Read
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: I
    signature: I Read()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:142,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: Mask
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 3
    functionsReached:
    - I
    linkageType: ''
    returnType: I
    signature: I Mask()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::bit_width
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:150,1
    - Dst: _BitScanReverse
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:156,1
    - Dst: _BitScanReverse64
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:158,1
    - Dst: __builtin_clz
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:166,1
    - Dst: __builtin_clzl
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:168,1
    - Dst: __builtin_clzll
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - val
    - max
    argTypes:
    - I
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: CountBits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - _BitScanReverse
    - _BitScanReverse64
    - __builtin_clz
    - __builtin_clzl
    - __builtin_clzll
    - std::bit_width
    linkageType: ''
    returnType: int
    signature: int CountBits(I val, int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: BitsInt::Swap
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(I& a, I& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: BitsInt::IsZero
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsZero(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: BitsInt::IsOne
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOne(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: BitsInt::Mask
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: I
    signature: I Mask(I val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - bits
    argTypes:
    - I
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: BitsInt::Shift
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: I
    signature: I Shift(I val, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - bits
    argTypes:
    - I
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: BitsInt::UnsafeShift
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: I
    signature: I UnsafeShift(I val, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: BitsInt::MidBits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: int
    signature: int MidBits(I val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: BitsInt::TopBits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int TopBits(I val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - cond
    - v
    argTypes:
    - I
    - bool
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: BitsInt::CondXorWith
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: I
    signature: I CondXorWith(I val, bool cond, I v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - cond
    argTypes:
    - I
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: BitsInt::CondXorWith
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: I
    signature: I CondXorWith(I val, bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CountBits
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - max
    argTypes:
    - I
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: BitsInt::Bits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - CountBits
    linkageType: ''
    returnType: int
    signature: int Bits(I val, int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F::template CondXorWith<MOD>
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:234,1
    - Dst: TestCheckedLeftShift
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:234,1
    - Dst: F::template TopBits<1>
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: Call
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 1
    functionsReached:
    - F::template TopBits<1>
    - TestCheckedLeftShift
    - F::template CondXorWith<MOD>
    linkageType: ''
    returnType: I
    signature: I Call(const I& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: Run
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 1
    functionsReached:
    - I
    linkageType: ''
    returnType: I
    signature: I Run(const I& a, const I& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitsInt::CondXorWith
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:246,1
    - Dst: HTTPWorkQueueRun
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:246,1
    - Dst: TestInterface::Call
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:246,1
    - Dst: F::template MidBits<N - K, 1>
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: Run
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 2
    functionsReached:
    - TestInterface::Call
    - F::template MidBits<N - K, 1>
    - HTTPWorkQueueRun
    - BitsInt::CondXorWith
    linkageType: ''
    returnType: I
    signature: I Run(const I& a, const I& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPWorkQueueRun
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: GFMul
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 2
    functionsReached:
    - HTTPWorkQueueRun
    linkageType: ''
    returnType: I
    signature: I GFMul(const I& a, const I& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BitsInt::IsZero
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:256,1
    - Dst: BitsInt::IsOne
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:256,1
    - Dst: BytesToBits
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:259,1
    - Dst: TestCheckedLeftShift
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:262,1
    - Dst: BitsInt::UnsafeShift
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:263,1
    - Dst: BytesToBits
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:264,1
    - Dst: cluster_linearize::SearchCandidateFinder::Swap
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:266,1
    - Dst: cluster_linearize::SearchCandidateFinder::Swap
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:267,1
    - Dst: swap
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 272
    functionName: InvExtGCD
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - BitsInt::IsOne
    - BytesToBits
    - cluster_linearize::SearchCandidateFinder::Swap
    - TestCheckedLeftShift
    - swap
    - BitsInt::IsZero
    - BitsInt::UnsafeShift
    linkageType: ''
    returnType: I
    signature: I InvExtGCD(I x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:283,1
    - Dst: SQR
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:283,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:283,1
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:284,1
    - Dst: SQR2
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:284,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:284,1
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:285,1
    - Dst: SQR4
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:285,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:285,1
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:286,1
    - Dst: SQR8
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:286,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:286,1
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:287,1
    - Dst: SQR16
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:287,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:287,1
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:302,1
    - Dst: SQR16
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:302,1
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:303,1
    - Dst: SQR8
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:303,1
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:304,1
    - Dst: SQR4
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:304,1
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:305,1
    - Dst: SQR2
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:305,1
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:306,1
    - Dst: SQR
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:306,1
    - Dst: SQR
      Src: /src/bitcoin-core/src/minisketch/src/int_utils.h:307,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - x1
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 308
    functionName: InvLadder
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/int_utils.h
    functionUses: 0
    functionsReached:
    - SQR4
    - MUL
    - SQR8
    - SQR2
    - I
    - SQR
    - SQR16
    linkageType: ''
    returnType: I
    signature: I InvLadder(I x1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - implementation
    - bits
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Sketch::Sketch
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sketch(int implementation, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Sketch::Ready
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ready()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/bitcoin-core/src/minisketch/src/sketch.h:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Sketch::Check
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void Check() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Sketch::UnReady
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnReady()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Sketch::Implementation
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Implementation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Sketch::Bits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~Sketch()
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Sketch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _maj
    - ','
    - _min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: __GNUC_PREREQ
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __GNUC_PREREQ(_maj,_min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _maj
    - ','
    - _min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: __GNUC_PREREQ
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __GNUC_PREREQ(_maj,_min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: EXPECT
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/util.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(x,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: EXPECT
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/util.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(x,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: CHECK
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/util.h
    functionUses: 881
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: CHECK_SAFE
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_SAFE(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - rvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: CHECK_RETURN
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RETURN(cond, rvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CountBits
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: Log2Factorial
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/false_positives.h
    functionUses: 0
    functionsReached:
    - CountBits
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Log2Factorial(uint32_t x)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Log2Factorial
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - bits
    - capacity
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: BaseFPBits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/false_positives.h
    functionUses: 0
    functionsReached:
    - Log2Factorial
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BaseFPBits(uint32_t bits, uint32_t capacity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BaseFPBits
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:85,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - bits
    - max_elements
    - fpbits
    argTypes:
    - uint32_t
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: ComputeCapacity
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/false_positives.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    - BaseFPBits
    linkageType: ''
    returnType: size_t
    signature: size_t ComputeCapacity(uint32_t bits, size_t max_elements, uint32_t
      fpbits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ComputeCapacity
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:98,1
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - bits
    - capacity
    - fpbits
    argTypes:
    - uint32_t
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: ComputeMaxElements
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/false_positives.h
    functionUses: 1
    functionsReached:
    - CHECK_SAFE
    - ComputeCapacity
    linkageType: ''
    returnType: size_t
    signature: size_t ComputeMaxElements(uint32_t bits, size_t capacity, uint32_t
      fpbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CountBits
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: Log2Factorial
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/false_positives.h
    functionUses: 1
    functionsReached:
    - CountBits
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Log2Factorial(uint32_t x)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Log2Factorial
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - bits
    - capacity
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: BaseFPBits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/false_positives.h
    functionUses: 1
    functionsReached:
    - Log2Factorial
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BaseFPBits(uint32_t bits, uint32_t capacity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BaseFPBits
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:85,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - bits
    - max_elements
    - fpbits
    argTypes:
    - uint32_t
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: ComputeCapacity
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/false_positives.h
    functionUses: 2
    functionsReached:
    - static_cast<uint32_t>
    - BaseFPBits
    linkageType: ''
    returnType: size_t
    signature: size_t ComputeCapacity(uint32_t bits, size_t max_elements, uint32_t
      fpbits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ComputeCapacity
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:98,1
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/false_positives.h:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - bits
    - capacity
    - fpbits
    argTypes:
    - uint32_t
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: ComputeMaxElements
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/false_positives.h
    functionUses: 1
    functionsReached:
    - CHECK_SAFE
    - ComputeCapacity
    linkageType: ''
    returnType: size_t
    signature: size_t ComputeMaxElements(uint32_t bits, size_t capacity, uint32_t
      fpbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinTrans()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:23,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:23,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:23,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(I a, I b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:24,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:24,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:24,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:24,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:24,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:24,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:24,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - I
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(I a, I b, I c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - I
    - I
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(I a, I b, I c, I d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - e
    argTypes:
    - I
    - I
    - I
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(I a, I b, I c, I d, I e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    argTypes:
    - I
    - I
    - I
    - I
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(I a, I b, I c, I d, I e, I f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    argTypes:
    - I
    - I
    - I
    - I
    - I
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(I a, I b, I c, I d, I e, I f, I g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    argTypes:
    - I
    - I
    - I
    - I
    - I
    - I
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(I a, I b, I c, I d, I e, I f, I g, I h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:32,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - I*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(const I* p, Num<2>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:33,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:33,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - I*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(const I* p, Num<3>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:34,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:34,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:34,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - I*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(const I* p, Num<4>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:35,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:35,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:35,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:35,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - I*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(const I* p, Num<5>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:36,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:36,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:36,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:36,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:36,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - I*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(const I* p, Num<6>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:37,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:37,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:37,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:37,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:37,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:37,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - I*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(const I* p, Num<7>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:38,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:38,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:38,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:38,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:38,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:38,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:38,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - I*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: LinTrans::LinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: void
    signature: void LinTrans(const I* p, Num<8>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: LinTrans::Build
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    linkageType: ''
    returnType: I
    signature: I Build(Num<1>, I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:50,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: LinTrans::Build
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    - F
    linkageType: ''
    returnType: I
    signature: I Build(Num<2>, I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:58,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:58,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: LinTrans::Build
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    - F
    linkageType: ''
    returnType: I
    signature: I Build(Num<3>, I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:66,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:66,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:66,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: LinTrans::Build
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    - F
    linkageType: ''
    returnType: I
    signature: I Build(Num<4>, I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:75,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:75,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:75,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:75,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: LinTrans::Build
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    - F
    linkageType: ''
    returnType: I
    signature: I Build(Num<5>, I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:86,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:86,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:86,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:86,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:86,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: LinTrans::Build
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - I
    - F
    linkageType: ''
    returnType: I
    signature: I Build(Num<6>, I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: O::template MidBits<P, N>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: LinTrans::Map
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - O::template MidBits<P, N>
    linkageType: ''
    returnType: I
    signature: I Map(I a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: O::template TopBits<N>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: LinTrans::TopMap
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - O::template TopBits<N>
    linkageType: ''
    returnType: I
    signature: I TopMap(I a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Num<N>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - I*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: RecLinTrans<I, N>::RecLinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - Num<N>
    linkageType: ''
    returnType: void
    signature: void RecLinTrans(const I* p, Num<BITS>)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: RecLinTrans<I, N>::RecLinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecLinTrans()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Num<BITS>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - (init)
    argTypes:
    - I[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: RecLinTrans<I, N>::RecLinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - Num<BITS>
    linkageType: ''
    returnType: void
    signature: void RecLinTrans(const I (&init)[BITS])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template TopMap<O, P>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: RecLinTrans<I, N>::Map
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - template TopMap<O, P>
    linkageType: ''
    returnType: I
    signature: I Map(I a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Build<F>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:121,1
    - Dst: Num<N>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: RecLinTrans<I, N>::Build
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - template Build<F>
    - Num<N>
    linkageType: ''
    returnType: void
    signature: void Build(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Num<N>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:129,1
    - Dst: Num<BITS - N>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - I*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: RecLinTrans<I, N, X...>::RecLinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - Num<BITS - N>
    - Num<N>
    linkageType: ''
    returnType: void
    signature: void RecLinTrans(const I* p, Num<BITS>)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: RecLinTrans<I, N, X...>::RecLinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecLinTrans()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Num<BITS>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - (init)
    argTypes:
    - I[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: RecLinTrans<I, N, X...>::RecLinTrans
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - Num<BITS>
    linkageType: ''
    returnType: void
    signature: void RecLinTrans(const I (&init)[BITS])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O, P>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:134,1
    - Dst: template Map<O, P + N>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: RecLinTrans<I, N, X...>::Map
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - template Map<O, P>
    - template Map<O, P + N>
    linkageType: ''
    returnType: I
    signature: I Map(I a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Build<F>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:137,1
    - Dst: Num<N>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:137,1
    - Dst: template Build<F>
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:137,1
    - Dst: F
      Src: /src/bitcoin-core/src/minisketch/src/lintrans.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: RecLinTrans<I, N, X...>::Build
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached:
    - template Build<F>
    - F
    - Num<N>
    linkageType: ''
    returnType: void
    signature: void Build(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: IdTrans::Map
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/lintrans.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: I
    signature: I Map(I a) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:19,1
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:20,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:20,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:21,1
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:22,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:22,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:23,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:24,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:25,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:28,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:29,1
    - Dst: mul
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:29,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:33,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:33,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:33,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ' mod'
    - ' val'
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - std::vector<typename F::Elem>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: PolyMod
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 10
    functionsReached:
    - back
    - CHECK_SAFE
    - mul
    - size
    - pop_back
    linkageType: ''
    returnType: void
    signature: void PolyMod(const std::vector<typename F::Elem>& mod, std::vector<typename
      F::Elem>& val, const F& field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:39,1
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:40,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:40,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:40,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:41,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:41,1
    - Dst: clear
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:42,1
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:45,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:45,1
    - Dst: resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:47,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:48,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:49,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:50,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:53,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:54,1
    - Dst: mul
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' mod'
    - ' val'
    - ' div'
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - std::vector<typename F::Elem>
    - std::vector<typename F::Elem>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: DivMod
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - back
    - CHECK_SAFE
    - mul
    - size
    - clear
    - pop_back
    - resize
    linkageType: ''
    returnType: void
    signature: void DivMod(const std::vector<typename F::Elem>& mod, std::vector<typename
      F::Elem>& val, std::vector<typename F::Elem>& div, const F& field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:63,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:63,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:64,1
    - Dst: Inv
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:65,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:65,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:67,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:68,1
    - Dst: mul
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' a'
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: MakeMonic
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - Inv
    - back
    - CHECK_SAFE
    - mul
    - size
    linkageType: ''
    returnType: typename F::Elem
    signature: typename F::Elem MakeMonic(std::vector<typename F::Elem>& a, const
      F& field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:77,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:77,1
    - Dst: swap
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:77,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:78,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:79,1
    - Dst: resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:80,1
    - Dst: MakeMonic
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:84,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:85,1
    - Dst: swap
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - std::vector<typename F::Elem>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: GCD
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - PolyMod
    - MakeMonic
    - swap
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void GCD(std::vector<typename F::Elem>& a, std::vector<typename F::Elem>&
      b, const F& field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:93,1
    - Dst: resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:94,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:94,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:95,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:96,1
    - Dst: Sqr
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' poly'
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: Sqr
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 1
    functionsReached:
    - Sqr
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void Sqr(std::vector<typename F::Elem>& poly, const F& field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:104,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:104,1
    - Dst: resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:105,1
    - Dst: Bits
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:109,1
    - Dst: Sqr
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:110,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:111,1
    - Dst: resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:111,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' mod'
    - ' out'
    - ' param'
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - std::vector<typename F::Elem>
    - typename F::Elem
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: TraceMod
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - reserve
    - PolyMod
    - size
    - Sqr
    - Bits
    - resize
    linkageType: ''
    returnType: void
    signature: void TraceMod(const std::vector<typename F::Elem>& mod, std::vector<typename
      F::Elem>& out, const typename F::Elem& param, const F& field)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:135,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:135,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:135,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:137,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:138,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:142,1
    - Dst: CHECK_RETURN
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:143,1
    - Dst: Mul
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:144,1
    - Dst: Sqr
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:144,1
    - Dst: Inv
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:144,1
    - Dst: Qrt
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:145,1
    - Dst: Sqr
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:146,1
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:147,1
    - Dst: Mul
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:150,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:151,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:152,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:156,1
    - Dst: resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:158,1
    - Dst: clear
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:163,1
    - Dst: clear
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:164,1
    - Dst: TraceMod
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:168,1
    - Dst: Sqr
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:205,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:206,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:209,1
    - Dst: back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:209,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:209,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:210,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:216,1
    - Dst: CHECK_RETURN
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:225,1
    - Dst: Bits
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:225,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:225,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:226,1
    - Dst: Bits
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:226,1
    - Dst: Mul2
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:232,1
    - Dst: GCD
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:234,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:235,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:235,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:235,1
    - Dst: MakeMonic
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:237,1
    - Dst: DivMod
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:238,1
    - Dst: swap
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:242,1
    - Dst: RecFindRoots
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:245,1
    - Dst: RecFindRoots
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:249,1
    - Dst: CHECK_SAFE
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:251,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 7
    argNames:
    - ' stack'
    - pos
    - ' roots'
    - fully_factorizable
    - depth
    - randv
    - ' field'
    argTypes:
    - std::vector<std::vector<typename F::Elem>>
    - size_t
    - std::vector<typename F::Elem>
    - bool
    - int
    - typename F::Elem
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 253
    functionName: RecFindRoots
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 1
    functionsReached:
    - Inv
    - DivMod
    - PolyMod
    - MakeMonic
    - swap
    - Sqr
    - Qrt
    - pop_back
    - Bits
    - CHECK_RETURN
    - resize
    - GCD
    - back
    - clear
    - RecFindRoots
    - Mul
    - CHECK_SAFE
    - TraceMod
    - push_back
    - size
    - Mul2
    linkageType: ''
    returnType: bool
    signature: bool RecFindRoots(std::vector<std::vector<typename F::Elem>>& stack,
      size_t pos, std::vector<typename F::Elem>& roots, bool fully_factorizable, int
      depth, typename F::Elem randv, const F& field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_RETURN
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:266,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:266,1
    - Dst: CHECK_RETURN
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:267,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:268,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:269,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:269,1
    - Dst: RecFindRoots
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:273,1
    - Dst: CHECK_RETURN
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:277,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:277,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' poly'
    - basis
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - typename F::Elem
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: FindRoots
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - size
    - RecFindRoots
    - CHECK_RETURN
    - std::vector::size
    linkageType: ''
    returnType: std::vector<typename F::Elem>
    signature: std::vector<typename F::Elem> FindRoots(const std::vector<typename
      F::Elem>& poly, typename F::Elem basis, const F& field)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:285,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:285,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:286,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:286,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:287,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:287,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:288,1
    - Dst: resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:290,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:294,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:294,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:296,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:297,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:299,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:301,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:301,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:301,1
    - Dst: Inv
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:303,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:306,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:308,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:310,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:310,1
    - Dst: Mul
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:312,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:313,1
    - Dst: mul
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:313,1
    - Dst: swap
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:315,1
    - Dst: CHECK_RETURN
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:321,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:321,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' syndromes'
    - max_degree
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - size_t
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 323
    functionName: BerlekampMassey
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - reserve
    - Mul
    - Inv
    - std::vector::emplace_back
    - std::vector::resize
    - static_cast<int>
    - std::vector::back
    - mul
    - size
    - std::vector::reserve
    - swap
    - CHECK_RETURN
    - resize
    - std::vector::size
    linkageType: ''
    returnType: std::vector<typename F::Elem>
    signature: std::vector<typename F::Elem> BerlekampMassey(const std::vector<typename
      F::Elem>& syndromes, size_t max_degree, const F& field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:328,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:328,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:329,1
    - Dst: Sqr
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' odd_syndromes'
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: ReconstructAllSyndromes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - Sqr
    - size
    - std::vector::resize
    linkageType: ''
    returnType: std::vector<typename F::Elem>
    signature: std::vector<typename F::Elem> ReconstructAllSyndromes(const std::vector<typename
      F::Elem>& odd_syndromes, const F& field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sqr
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:338,1
    - Dst: mul
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' osyndromes'
    - data
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - typename F::Elem
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: AddToOddSyndromes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - Sqr
    - mul
    linkageType: ''
    returnType: void
    signature: void AddToOddSyndromes(std::vector<typename F::Elem>& osyndromes, typename
      F::Elem data, const F& field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReconstructAllSyndromes
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:348,1
    - Dst: BerlekampMassey
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:349,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:350,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:350,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:350,1
    - Dst: FindRoots
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' osyndromes'
    - ' field'
    argTypes:
    - std::vector<typename F::Elem>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: FullDecode
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - ReconstructAllSyndromes
    - BerlekampMassey
    - auto::end
    - FindRoots
    - std::reverse
    linkageType: ''
    returnType: std::vector<typename F::Elem>
    signature: std::vector<typename F::Elem> FullDecode(const std::vector<typename
      F::Elem>& osyndromes, const F& field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromSeed
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:366,1
    - Dst: dist
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - implementation
    - bits
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: SketchImpl::SketchImpl
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - FromSeed
    - dist
    linkageType: ''
    returnType: void
    signature: void SketchImpl(int implementation, int bits, const Args&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 369
    functionName: SketchImpl::Syndromes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Syndromes() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: SketchImpl::Init
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void Init(size_t count) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromUint64
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:374,1
    - Dst: AddToOddSyndromes
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: SketchImpl::Add
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - FromUint64
    - AddToOddSyndromes
    linkageType: ''
    returnType: void
    signature: void Add(uint64_t val) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl::Serialize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:382,1
    - Dst: BitWriter::Flush
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: SketchImpl::Serialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 1
    functionsReached:
    - BitWriter::Flush
    - SketchImpl::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(unsigned char* ptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl::Deserialize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: SketchImpl::Deserialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 1
    functionsReached:
    - SketchImpl::Deserialize
    linkageType: ''
    returnType: void
    signature: void Deserialize(const unsigned char* ptr) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReconstructAllSyndromes
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:397,1
    - Dst: BerlekampMassey
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:398,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:399,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:400,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:401,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:402,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:402,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:402,1
    - Dst: FindRoots
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:403,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:404,1
    - Dst: ToUint64
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:407,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:409,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - max_count
    - out
    argTypes:
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: SketchImpl::Decode
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - ReconstructAllSyndromes
    - BerlekampMassey
    - auto::size
    - auto::end
    - FindRoots
    - static_cast<int>
    - std::reverse
    - ToUint64
    linkageType: ''
    returnType: int
    signature: int Decode(int max_count, uint64_t* out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SketchImpl*>
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:416,1
    - Dst: resize
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:417,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:417,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:417,1
    - Dst: SketchImpl*::m_syndromes::size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:417,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:418,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other_sketch
    argTypes:
    - Sketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: SketchImpl::Merge
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - SketchImpl*::m_syndromes::size
    - size
    - static_cast<const SketchImpl*>
    - resize
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t Merge(const Sketch* other_sketch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FromSeed
      Src: /src/bitcoin-core/src/minisketch/src/sketch_impl.h:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: SketchImpl::SetSeed
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/sketch_impl.h
    functionUses: 0
    functionsReached:
    - FromSeed
    linkageType: ''
    returnType: void
    signature: void SetSeed(uint64_t seed) override
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field49>::SketchImpl<Field49>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_7bytes.cpp:99,1
    - Dst: SketchImpl<Field50>::SketchImpl<Field50>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_7bytes.cpp:102,1
    - Dst: SketchImpl<Field51>::SketchImpl<Field51>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_7bytes.cpp:105,1
    - Dst: SketchImpl<Field52>::SketchImpl<Field52>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_7bytes.cpp:108,1
    - Dst: SketchImpl<Field53>::SketchImpl<Field53>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_7bytes.cpp:111,1
    - Dst: SketchImpl<Field54>::SketchImpl<Field54>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_7bytes.cpp:114,1
    - Dst: SketchImpl<Field55>::SketchImpl<Field55>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_7bytes.cpp:117,1
    - Dst: SketchImpl<Field56>::SketchImpl<Field56>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_7bytes.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: ConstructGeneric7Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_7bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field52>::SketchImpl<Field52>
    - SketchImpl<Field51>::SketchImpl<Field51>
    - SketchImpl<Field54>::SketchImpl<Field54>
    - SketchImpl<Field53>::SketchImpl<Field53>
    - SketchImpl<Field49>::SketchImpl<Field49>
    - SketchImpl<Field56>::SketchImpl<Field56>
    - SketchImpl<Field55>::SketchImpl<Field55>
    - SketchImpl<Field50>::SketchImpl<Field50>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructGeneric7Bytes(int bits, int implementation)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field25>::SketchImpl<Field25>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_4bytes.cpp:99,1
    - Dst: SketchImpl<Field26>::SketchImpl<Field26>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_4bytes.cpp:102,1
    - Dst: SketchImpl<Field27>::SketchImpl<Field27>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_4bytes.cpp:105,1
    - Dst: SketchImpl<Field28>::SketchImpl<Field28>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_4bytes.cpp:108,1
    - Dst: SketchImpl<Field29>::SketchImpl<Field29>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_4bytes.cpp:111,1
    - Dst: SketchImpl<Field30>::SketchImpl<Field30>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_4bytes.cpp:114,1
    - Dst: SketchImpl<Field31>::SketchImpl<Field31>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_4bytes.cpp:117,1
    - Dst: SketchImpl<Field32>::SketchImpl<Field32>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_4bytes.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: ConstructGeneric4Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_4bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field31>::SketchImpl<Field31>
    - SketchImpl<Field28>::SketchImpl<Field28>
    - SketchImpl<Field27>::SketchImpl<Field27>
    - SketchImpl<Field32>::SketchImpl<Field32>
    - SketchImpl<Field26>::SketchImpl<Field26>
    - SketchImpl<Field30>::SketchImpl<Field30>
    - SketchImpl<Field25>::SketchImpl<Field25>
    - SketchImpl<Field29>::SketchImpl<Field29>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructGeneric4Bytes(int bits, int implementation)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field41>::SketchImpl<Field41>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:127,1
    - Dst: SketchImpl<Field42>::SketchImpl<Field42>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:130,1
    - Dst: SketchImpl<Field43>::SketchImpl<Field43>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:133,1
    - Dst: SketchImpl<Field44>::SketchImpl<Field44>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:136,1
    - Dst: SketchImpl<Field45>::SketchImpl<Field45>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:139,1
    - Dst: SketchImpl<Field47>::SketchImpl<Field47>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:142,1
    - Dst: SketchImpl<Field48>::SketchImpl<Field48>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 149
    functionName: ConstructClMul6Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field48>::SketchImpl<Field48>
    - SketchImpl<Field43>::SketchImpl<Field43>
    - SketchImpl<Field44>::SketchImpl<Field44>
    - SketchImpl<Field45>::SketchImpl<Field45>
    - SketchImpl<Field42>::SketchImpl<Field42>
    - SketchImpl<Field47>::SketchImpl<Field47>
    - SketchImpl<Field41>::SketchImpl<Field41>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMul6Bytes(int bits, int implementation)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<FieldTri41>::SketchImpl<FieldTri41>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:154,1
    - Dst: SketchImpl<FieldTri42>::SketchImpl<FieldTri42>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:157,1
    - Dst: SketchImpl<FieldTri44>::SketchImpl<FieldTri44>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:160,1
    - Dst: SketchImpl<FieldTri46>::SketchImpl<FieldTri46>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:163,1
    - Dst: SketchImpl<FieldTri47>::SketchImpl<FieldTri47>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: ConstructClMulTri6Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_6bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<FieldTri42>::SketchImpl<FieldTri42>
    - SketchImpl<FieldTri46>::SketchImpl<FieldTri46>
    - SketchImpl<FieldTri47>::SketchImpl<FieldTri47>
    - SketchImpl<FieldTri44>::SketchImpl<FieldTri44>
    - SketchImpl<FieldTri41>::SketchImpl<FieldTri41>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMulTri6Bytes(int bits, int implementation)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field2>::SketchImpl<Field2>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_1byte.cpp:90,1
    - Dst: SketchImpl<Field3>::SketchImpl<Field3>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_1byte.cpp:93,1
    - Dst: SketchImpl<Field4>::SketchImpl<Field4>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_1byte.cpp:96,1
    - Dst: SketchImpl<Field5>::SketchImpl<Field5>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_1byte.cpp:99,1
    - Dst: SketchImpl<Field6>::SketchImpl<Field6>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_1byte.cpp:102,1
    - Dst: SketchImpl<Field7>::SketchImpl<Field7>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_1byte.cpp:105,1
    - Dst: SketchImpl<Field8>::SketchImpl<Field8>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_1byte.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: ConstructGeneric1Byte
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_1byte.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field5>::SketchImpl<Field5>
    - SketchImpl<Field6>::SketchImpl<Field6>
    - SketchImpl<Field7>::SketchImpl<Field7>
    - SketchImpl<Field4>::SketchImpl<Field4>
    - SketchImpl<Field3>::SketchImpl<Field3>
    - SketchImpl<Field2>::SketchImpl<Field2>
    - SketchImpl<Field8>::SketchImpl<Field8>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructGeneric1Byte(int bits, int implementation)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field41>::SketchImpl<Field41>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_6bytes.cpp:99,1
    - Dst: SketchImpl<Field42>::SketchImpl<Field42>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_6bytes.cpp:102,1
    - Dst: SketchImpl<Field43>::SketchImpl<Field43>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_6bytes.cpp:105,1
    - Dst: SketchImpl<Field44>::SketchImpl<Field44>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_6bytes.cpp:108,1
    - Dst: SketchImpl<Field45>::SketchImpl<Field45>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_6bytes.cpp:111,1
    - Dst: SketchImpl<Field46>::SketchImpl<Field46>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_6bytes.cpp:114,1
    - Dst: SketchImpl<Field47>::SketchImpl<Field47>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_6bytes.cpp:117,1
    - Dst: SketchImpl<Field48>::SketchImpl<Field48>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_6bytes.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: ConstructGeneric6Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_6bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field48>::SketchImpl<Field48>
    - SketchImpl<Field43>::SketchImpl<Field43>
    - SketchImpl<Field44>::SketchImpl<Field44>
    - SketchImpl<Field45>::SketchImpl<Field45>
    - SketchImpl<Field42>::SketchImpl<Field42>
    - SketchImpl<Field47>::SketchImpl<Field47>
    - SketchImpl<Field41>::SketchImpl<Field41>
    - SketchImpl<Field46>::SketchImpl<Field46>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructGeneric6Bytes(int bits, int implementation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field57>::SketchImpl<Field57>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:135,1
    - Dst: SketchImpl<Field58>::SketchImpl<Field58>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:138,1
    - Dst: SketchImpl<Field59>::SketchImpl<Field59>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:141,1
    - Dst: SketchImpl<Field61>::SketchImpl<Field61>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:144,1
    - Dst: SketchImpl<Field62>::SketchImpl<Field62>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:147,1
    - Dst: SketchImpl<Field64>::SketchImpl<Field64>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: ConstructClMul8Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field64>::SketchImpl<Field64>
    - SketchImpl<Field57>::SketchImpl<Field57>
    - SketchImpl<Field62>::SketchImpl<Field62>
    - SketchImpl<Field59>::SketchImpl<Field59>
    - SketchImpl<Field61>::SketchImpl<Field61>
    - SketchImpl<Field58>::SketchImpl<Field58>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMul8Bytes(int bits, int implementation)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<FieldTri57>::SketchImpl<FieldTri57>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:159,1
    - Dst: SketchImpl<FieldTri58>::SketchImpl<FieldTri58>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:162,1
    - Dst: SketchImpl<FieldTri60>::SketchImpl<FieldTri60>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:165,1
    - Dst: SketchImpl<FieldTri62>::SketchImpl<FieldTri62>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:168,1
    - Dst: SketchImpl<FieldTri63>::SketchImpl<FieldTri63>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: ConstructClMulTri8Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_8bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<FieldTri63>::SketchImpl<FieldTri63>
    - SketchImpl<FieldTri60>::SketchImpl<FieldTri60>
    - SketchImpl<FieldTri62>::SketchImpl<FieldTri62>
    - SketchImpl<FieldTri58>::SketchImpl<FieldTri58>
    - SketchImpl<FieldTri57>::SketchImpl<FieldTri57>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMulTri8Bytes(int bits, int implementation)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field33>::SketchImpl<Field33>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_5bytes.cpp:99,1
    - Dst: SketchImpl<Field34>::SketchImpl<Field34>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_5bytes.cpp:102,1
    - Dst: SketchImpl<Field35>::SketchImpl<Field35>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_5bytes.cpp:105,1
    - Dst: SketchImpl<Field36>::SketchImpl<Field36>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_5bytes.cpp:108,1
    - Dst: SketchImpl<Field37>::SketchImpl<Field37>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_5bytes.cpp:111,1
    - Dst: SketchImpl<Field38>::SketchImpl<Field38>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_5bytes.cpp:114,1
    - Dst: SketchImpl<Field39>::SketchImpl<Field39>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_5bytes.cpp:117,1
    - Dst: SketchImpl<Field40>::SketchImpl<Field40>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_5bytes.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: ConstructGeneric5Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_5bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field36>::SketchImpl<Field36>
    - SketchImpl<Field35>::SketchImpl<Field35>
    - SketchImpl<Field33>::SketchImpl<Field33>
    - SketchImpl<Field37>::SketchImpl<Field37>
    - SketchImpl<Field40>::SketchImpl<Field40>
    - SketchImpl<Field39>::SketchImpl<Field39>
    - SketchImpl<Field38>::SketchImpl<Field38>
    - SketchImpl<Field34>::SketchImpl<Field34>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructGeneric5Bytes(int bits, int implementation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Field::Bits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInterface::Call
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Field::Mul2
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - TestInterface::Call
    linkageType: ''
    returnType: Elem
    signature: Elem Mul2(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Build<L::Call>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Field::Multiplier::Multiplier
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Build<L::Call>
    linkageType: ''
    returnType: void
    signature: void Multiplier(const Field&, Elem a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: operator()(Elem a) const
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem operator()(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GFMul
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Elem
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Field::Mul
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - GFMul
    linkageType: ''
    returnType: Elem
    signature: Elem Mul(Elem a, Elem b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Field::Sqr
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem Sqr(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Field::Qrt
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem Qrt(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InvExtGCD
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Field::Inv
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - InvExtGCD
    linkageType: ''
    returnType: Elem
    signature: Elem Inv(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Logger::GetCategoryMask
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:55,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:55,1
    - Dst: SipHash
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: Field::FromSeed
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - SipHash
    - BCLog::Logger::GetCategoryMask
    - I
    linkageType: ''
    returnType: Elem
    signature: Elem FromSeed(uint64_t seed) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Read<B, I>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - BitReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Field::Deserialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Read<B, I>
    linkageType: ''
    returnType: Elem
    signature: Elem Deserialize(BitReader& in) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Write<B, I>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - val
    argTypes:
    - BitWriter
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Field::Serialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Write<B, I>
    linkageType: ''
    returnType: void
    signature: void Serialize(BitWriter& out, Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Logger::GetCategoryMask
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:64,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Field::FromUint64
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - BCLog::Logger::GetCategoryMask
    - I
    linkageType: ''
    returnType: Elem
    signature: Elem FromUint64(uint64_t x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Field::ToUint64
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ToUint64(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Field::Bits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInterface::Call
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Field::Mul2
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - TestInterface::Call
    linkageType: ''
    returnType: Elem
    signature: Elem Mul2(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Build<L::Call>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Field::Multiplier::Multiplier
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Build<L::Call>
    linkageType: ''
    returnType: void
    signature: void Multiplier(const Field&, Elem a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: operator()(Elem a) const
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem operator()(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GFMul
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Elem
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Field::Mul
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - GFMul
    linkageType: ''
    returnType: Elem
    signature: Elem Mul(Elem a, Elem b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Field::Sqr
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem Sqr(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Field::Qrt
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem Qrt(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InvExtGCD
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Field::Inv
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - InvExtGCD
    linkageType: ''
    returnType: Elem
    signature: Elem Inv(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Logger::GetCategoryMask
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:55,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:55,1
    - Dst: SipHash
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: Field::FromSeed
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - SipHash
    - BCLog::Logger::GetCategoryMask
    - I
    linkageType: ''
    returnType: Elem
    signature: Elem FromSeed(uint64_t seed) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Read<B, I>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - BitReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Field::Deserialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Read<B, I>
    linkageType: ''
    returnType: Elem
    signature: Elem Deserialize(BitReader& in) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Write<B, I>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - val
    argTypes:
    - BitWriter
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Field::Serialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - template Write<B, I>
    linkageType: ''
    returnType: void
    signature: void Serialize(BitWriter& out, Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Logger::GetCategoryMask
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:64,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Field::FromUint64
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached:
    - BCLog::Logger::GetCategoryMask
    - I
    linkageType: ''
    returnType: Elem
    signature: Elem FromUint64(uint64_t x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Field::ToUint64
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_common_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ToUint64(Elem val) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field25>::SketchImpl<Field25>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:118,1
    - Dst: SketchImpl<Field26>::SketchImpl<Field26>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:121,1
    - Dst: SketchImpl<Field27>::SketchImpl<Field27>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:124,1
    - Dst: SketchImpl<Field29>::SketchImpl<Field29>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:127,1
    - Dst: SketchImpl<Field31>::SketchImpl<Field31>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:130,1
    - Dst: SketchImpl<Field32>::SketchImpl<Field32>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: ConstructClMul4Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field31>::SketchImpl<Field31>
    - SketchImpl<Field27>::SketchImpl<Field27>
    - SketchImpl<Field32>::SketchImpl<Field32>
    - SketchImpl<Field26>::SketchImpl<Field26>
    - SketchImpl<Field25>::SketchImpl<Field25>
    - SketchImpl<Field29>::SketchImpl<Field29>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMul4Bytes(int bits, int implementation)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<FieldTri25>::SketchImpl<FieldTri25>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:142,1
    - Dst: SketchImpl<FieldTri28>::SketchImpl<FieldTri28>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:145,1
    - Dst: SketchImpl<FieldTri29>::SketchImpl<FieldTri29>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:148,1
    - Dst: SketchImpl<FieldTri30>::SketchImpl<FieldTri30>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:151,1
    - Dst: SketchImpl<FieldTri31>::SketchImpl<FieldTri31>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: ConstructClMulTri4Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_4bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<FieldTri25>::SketchImpl<FieldTri25>
    - SketchImpl<FieldTri30>::SketchImpl<FieldTri30>
    - SketchImpl<FieldTri31>::SketchImpl<FieldTri31>
    - SketchImpl<FieldTri29>::SketchImpl<FieldTri29>
    - SketchImpl<FieldTri28>::SketchImpl<FieldTri28>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMulTri4Bytes(int bits, int implementation)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field17>::SketchImpl<Field17>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:120,1
    - Dst: SketchImpl<Field18>::SketchImpl<Field18>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:123,1
    - Dst: SketchImpl<Field19>::SketchImpl<Field19>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:126,1
    - Dst: SketchImpl<Field20>::SketchImpl<Field20>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:129,1
    - Dst: SketchImpl<Field21>::SketchImpl<Field21>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:132,1
    - Dst: SketchImpl<Field23>::SketchImpl<Field23>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:135,1
    - Dst: SketchImpl<Field24>::SketchImpl<Field24>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: ConstructClMul3Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field17>::SketchImpl<Field17>
    - SketchImpl<Field23>::SketchImpl<Field23>
    - SketchImpl<Field18>::SketchImpl<Field18>
    - SketchImpl<Field19>::SketchImpl<Field19>
    - SketchImpl<Field20>::SketchImpl<Field20>
    - SketchImpl<Field24>::SketchImpl<Field24>
    - SketchImpl<Field21>::SketchImpl<Field21>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMul3Bytes(int bits, int implementation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<FieldTri17>::SketchImpl<FieldTri17>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:147,1
    - Dst: SketchImpl<FieldTri18>::SketchImpl<FieldTri18>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:150,1
    - Dst: SketchImpl<FieldTri20>::SketchImpl<FieldTri20>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:153,1
    - Dst: SketchImpl<FieldTri21>::SketchImpl<FieldTri21>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:156,1
    - Dst: SketchImpl<FieldTri22>::SketchImpl<FieldTri22>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:159,1
    - Dst: SketchImpl<FieldTri23>::SketchImpl<FieldTri23>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: ConstructClMulTri3Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_3bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<FieldTri18>::SketchImpl<FieldTri18>
    - SketchImpl<FieldTri20>::SketchImpl<FieldTri20>
    - SketchImpl<FieldTri22>::SketchImpl<FieldTri22>
    - SketchImpl<FieldTri21>::SketchImpl<FieldTri21>
    - SketchImpl<FieldTri23>::SketchImpl<FieldTri23>
    - SketchImpl<FieldTri17>::SketchImpl<FieldTri17>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMulTri3Bytes(int bits, int implementation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Mask
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:33,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:35,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:36,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:36,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:36,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:38,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:39,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:40,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:41,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:42,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:42,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:42,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:44,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:45,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:46,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:46,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:46,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:48,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:49,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:50,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:51,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:52,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:52,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:52,1
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:54,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:54,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:54,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:54,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:55,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:57,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:58,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:59,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:59,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:59,1
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:61,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:61,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:61,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:61,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:62,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:63,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:63,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: MulWithClMulReduce
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - _mm_cvtsi128_si64
    - Mask
    - _mm_or_si128
    - _mm_srli_si128
    - _mm_slli_epi64
    - _mm_xor_si128
    - _mm_cvtsi64_si128
    - _mm_srli_epi64
    - _mm_clmulepi64_si128
    linkageType: ''
    returnType: NO_SANITIZE_MEMORY
    signature: NO_SANITIZE_MEMORY MulWithClMulReduce(I a, I b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Mask
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:70,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:72,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:72,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:72,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:74,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:75,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:75,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:77,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:77,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:79,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:80,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:80,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:81,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:81,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:81,1
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:84,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:84,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:84,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:84,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:86,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:86,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:88,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:88,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:90,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:91,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:91,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:92,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:92,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:92,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:95,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:96,1
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:97,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:97,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:97,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:97,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:98,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:98,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:99,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:99,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 102
    functionName: MulTrinomial
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - _mm_cvtsi128_si64
    - Mask
    - _mm_slli_epi64
    - _mm_or_si128
    - _mm_srli_si128
    - _mm_xor_si128
    - _mm_cvtsi64_si128
    - _mm_srli_epi64
    - _mm_clmulepi64_si128
    linkageType: ''
    returnType: NO_SANITIZE_MEMORY
    signature: NO_SANITIZE_MEMORY MulTrinomial(I a, I b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Sqr1
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr1(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Sqr2
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr2(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Sqr4
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr4(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Sqr8
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr8(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Sqr16
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr16(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Bits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInterface::Call
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Mul2
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 1
    functionsReached:
    - TestInterface::Call
    linkageType: ''
    returnType: Elem
    signature: Elem Mul2(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Elem
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: Mul
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 6
    functionsReached:
    - MUL
    linkageType: ''
    returnType: Elem
    signature: Elem Mul(Elem a, Elem b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Multiplier::Multiplier
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Multiplier(const GenField&, Elem a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: operator()(Elem a) const
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - MUL
    linkageType: ''
    returnType: Elem
    signature: Elem operator()(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Sqr
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 5
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem Sqr(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Qrt
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 1
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem Qrt(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InvLadder
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Inv
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 26
    functionsReached:
    - InvLadder
    linkageType: ''
    returnType: Elem
    signature: Elem Inv(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Logger::GetCategoryMask
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:149,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:149,1
    - Dst: SipHash
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:149,1
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: FromSeed
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 2
    functionsReached:
    - SipHash
    - BCLog::Logger::GetCategoryMask
    - template Map<O>
    - I
    linkageType: ''
    returnType: Elem
    signature: Elem FromSeed(uint64_t seed) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:154,1
    - Dst: Read
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - BitReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Deserialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 12
    functionsReached:
    - template Map<O>
    - Read
    linkageType: ''
    returnType: Elem
    signature: Elem Deserialize(BitReader& in) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:156,1
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - val
    argTypes:
    - BitWriter
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 43
    functionsReached:
    - template Map<O>
    - Write
    linkageType: ''
    returnType: void
    signature: void Serialize(BitWriter& out, Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:158,1
    - Dst: BCLog::Logger::GetCategoryMask
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:158,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: FromUint64
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 1
    functionsReached:
    - I
    - template Map<O>
    - BCLog::Logger::GetCategoryMask
    linkageType: ''
    returnType: Elem
    signature: Elem FromUint64(uint64_t x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ToUint64
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 1
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ToUint64(Elem val) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Mask
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:33,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:35,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:36,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:36,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:36,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:38,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:39,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:40,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:41,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:42,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:42,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:42,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:44,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:45,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:46,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:46,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:46,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:48,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:49,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:50,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:51,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:52,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:52,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:52,1
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:54,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:54,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:54,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:54,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:55,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:57,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:58,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:59,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:59,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:59,1
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:61,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:61,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:61,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:61,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:62,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:63,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:63,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: MulWithClMulReduce
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - _mm_cvtsi128_si64
    - Mask
    - _mm_or_si128
    - _mm_srli_si128
    - _mm_slli_epi64
    - _mm_xor_si128
    - _mm_cvtsi64_si128
    - _mm_srli_epi64
    - _mm_clmulepi64_si128
    linkageType: ''
    returnType: NO_SANITIZE_MEMORY
    signature: NO_SANITIZE_MEMORY MulWithClMulReduce(I a, I b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Mask
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:70,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:72,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:72,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:72,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:74,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:75,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:75,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:77,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:77,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:79,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:80,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:80,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:81,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:81,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:81,1
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:84,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:84,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:84,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:84,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:86,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:86,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:88,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:88,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:90,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:91,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:91,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:92,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:92,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:92,1
    - Dst: _mm_cvtsi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:95,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:96,1
    - Dst: _mm_or_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:97,1
    - Dst: _mm_srli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:97,1
    - Dst: _mm_srli_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:97,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:97,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:98,1
    - Dst: _mm_slli_epi64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:98,1
    - Dst: _mm_cvtsi128_si64
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:99,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:99,1
    - Dst: _mm_xor_si128
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 102
    functionName: MulTrinomial
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - _mm_cvtsi128_si64
    - Mask
    - _mm_slli_epi64
    - _mm_or_si128
    - _mm_srli_si128
    - _mm_xor_si128
    - _mm_cvtsi64_si128
    - _mm_srli_epi64
    - _mm_clmulepi64_si128
    linkageType: ''
    returnType: NO_SANITIZE_MEMORY
    signature: NO_SANITIZE_MEMORY MulTrinomial(I a, I b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Sqr1
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr1(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Sqr2
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr2(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Sqr4
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr4(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Sqr8
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr8(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Sqr16
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: I
    signature: I Sqr16(I a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Bits
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInterface::Call
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Mul2
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 1
    functionsReached:
    - TestInterface::Call
    linkageType: ''
    returnType: Elem
    signature: Elem Mul2(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Elem
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: Mul
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 6
    functionsReached:
    - MUL
    linkageType: ''
    returnType: Elem
    signature: Elem Mul(Elem a, Elem b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Multiplier::Multiplier
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Multiplier(const GenField&, Elem a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MUL
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: operator()(Elem a) const
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 0
    functionsReached:
    - MUL
    linkageType: ''
    returnType: Elem
    signature: Elem operator()(Elem a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Sqr
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 5
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem Sqr(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Qrt
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 1
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: Elem
    signature: Elem Qrt(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InvLadder
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Inv
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 26
    functionsReached:
    - InvLadder
    linkageType: ''
    returnType: Elem
    signature: Elem Inv(Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Logger::GetCategoryMask
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:149,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:149,1
    - Dst: SipHash
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:149,1
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: FromSeed
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 2
    functionsReached:
    - SipHash
    - BCLog::Logger::GetCategoryMask
    - template Map<O>
    - I
    linkageType: ''
    returnType: Elem
    signature: Elem FromSeed(uint64_t seed) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:154,1
    - Dst: Read
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - BitReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Deserialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 12
    functionsReached:
    - template Map<O>
    - Read
    linkageType: ''
    returnType: Elem
    signature: Elem Deserialize(BitReader& in) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:156,1
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - val
    argTypes:
    - BitWriter
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 43
    functionsReached:
    - template Map<O>
    - Write
    linkageType: ''
    returnType: void
    signature: void Serialize(BitWriter& out, Elem val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:158,1
    - Dst: BCLog::Logger::GetCategoryMask
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:158,1
    - Dst: I
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: FromUint64
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 1
    functionsReached:
    - I
    - template Map<O>
    - BCLog::Logger::GetCategoryMask
    linkageType: ''
    returnType: Elem
    signature: Elem FromUint64(uint64_t x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Map<O>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Elem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ToUint64
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_common_impl.h
    functionUses: 1
    functionsReached:
    - template Map<O>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ToUint64(Elem val) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field5>::SketchImpl<Field5>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp:88,1
    - Dst: SketchImpl<Field8>::SketchImpl<Field8>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: ConstructClMul1Byte
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field5>::SketchImpl<Field5>
    - SketchImpl<Field8>::SketchImpl<Field8>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMul1Byte(int bits, int implementation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<FieldTri2>::SketchImpl<FieldTri2>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp:100,1
    - Dst: SketchImpl<FieldTri3>::SketchImpl<FieldTri3>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp:103,1
    - Dst: SketchImpl<FieldTri4>::SketchImpl<FieldTri4>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp:106,1
    - Dst: SketchImpl<FieldTri5>::SketchImpl<FieldTri5>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp:109,1
    - Dst: SketchImpl<FieldTri6>::SketchImpl<FieldTri6>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp:112,1
    - Dst: SketchImpl<FieldTri7>::SketchImpl<FieldTri7>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: ConstructClMulTri1Byte
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_1byte.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<FieldTri5>::SketchImpl<FieldTri5>
    - SketchImpl<FieldTri7>::SketchImpl<FieldTri7>
    - SketchImpl<FieldTri2>::SketchImpl<FieldTri2>
    - SketchImpl<FieldTri4>::SketchImpl<FieldTri4>
    - SketchImpl<FieldTri6>::SketchImpl<FieldTri6>
    - SketchImpl<FieldTri3>::SketchImpl<FieldTri3>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMulTri1Byte(int bits, int implementation)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field57>::SketchImpl<Field57>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_8bytes.cpp:99,1
    - Dst: SketchImpl<Field58>::SketchImpl<Field58>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_8bytes.cpp:102,1
    - Dst: SketchImpl<Field59>::SketchImpl<Field59>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_8bytes.cpp:105,1
    - Dst: SketchImpl<Field60>::SketchImpl<Field60>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_8bytes.cpp:108,1
    - Dst: SketchImpl<Field61>::SketchImpl<Field61>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_8bytes.cpp:111,1
    - Dst: SketchImpl<Field62>::SketchImpl<Field62>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_8bytes.cpp:114,1
    - Dst: SketchImpl<Field63>::SketchImpl<Field63>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_8bytes.cpp:117,1
    - Dst: SketchImpl<Field64>::SketchImpl<Field64>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_8bytes.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: ConstructGeneric8Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_8bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field64>::SketchImpl<Field64>
    - SketchImpl<Field63>::SketchImpl<Field63>
    - SketchImpl<Field57>::SketchImpl<Field57>
    - SketchImpl<Field60>::SketchImpl<Field60>
    - SketchImpl<Field62>::SketchImpl<Field62>
    - SketchImpl<Field59>::SketchImpl<Field59>
    - SketchImpl<Field61>::SketchImpl<Field61>
    - SketchImpl<Field58>::SketchImpl<Field58>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructGeneric8Bytes(int bits, int implementation)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field49>::SketchImpl<Field49>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:127,1
    - Dst: SketchImpl<Field50>::SketchImpl<Field50>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:130,1
    - Dst: SketchImpl<Field51>::SketchImpl<Field51>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:133,1
    - Dst: SketchImpl<Field52>::SketchImpl<Field52>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:136,1
    - Dst: SketchImpl<Field53>::SketchImpl<Field53>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:139,1
    - Dst: SketchImpl<Field54>::SketchImpl<Field54>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:142,1
    - Dst: SketchImpl<Field55>::SketchImpl<Field55>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:145,1
    - Dst: SketchImpl<Field56>::SketchImpl<Field56>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 152
    functionName: ConstructClMul7Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field52>::SketchImpl<Field52>
    - SketchImpl<Field51>::SketchImpl<Field51>
    - SketchImpl<Field54>::SketchImpl<Field54>
    - SketchImpl<Field53>::SketchImpl<Field53>
    - SketchImpl<Field49>::SketchImpl<Field49>
    - SketchImpl<Field56>::SketchImpl<Field56>
    - SketchImpl<Field55>::SketchImpl<Field55>
    - SketchImpl<Field50>::SketchImpl<Field50>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMul7Bytes(int bits, int implementation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<FieldTri49>::SketchImpl<FieldTri49>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:157,1
    - Dst: SketchImpl<FieldTri52>::SketchImpl<FieldTri52>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:160,1
    - Dst: SketchImpl<FieldTri54>::SketchImpl<FieldTri54>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:163,1
    - Dst: SketchImpl<FieldTri55>::SketchImpl<FieldTri55>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: ConstructClMulTri7Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_7bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<FieldTri52>::SketchImpl<FieldTri52>
    - SketchImpl<FieldTri55>::SketchImpl<FieldTri55>
    - SketchImpl<FieldTri49>::SketchImpl<FieldTri49>
    - SketchImpl<FieldTri54>::SketchImpl<FieldTri54>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMulTri7Bytes(int bits, int implementation)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field9>::SketchImpl<Field9>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_2bytes.cpp:99,1
    - Dst: SketchImpl<Field10>::SketchImpl<Field10>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_2bytes.cpp:102,1
    - Dst: SketchImpl<Field11>::SketchImpl<Field11>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_2bytes.cpp:105,1
    - Dst: SketchImpl<Field12>::SketchImpl<Field12>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_2bytes.cpp:108,1
    - Dst: SketchImpl<Field13>::SketchImpl<Field13>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_2bytes.cpp:111,1
    - Dst: SketchImpl<Field14>::SketchImpl<Field14>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_2bytes.cpp:114,1
    - Dst: SketchImpl<Field15>::SketchImpl<Field15>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_2bytes.cpp:117,1
    - Dst: SketchImpl<Field16>::SketchImpl<Field16>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_2bytes.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: ConstructGeneric2Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_2bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field9>::SketchImpl<Field9>
    - SketchImpl<Field13>::SketchImpl<Field13>
    - SketchImpl<Field16>::SketchImpl<Field16>
    - SketchImpl<Field11>::SketchImpl<Field11>
    - SketchImpl<Field15>::SketchImpl<Field15>
    - SketchImpl<Field12>::SketchImpl<Field12>
    - SketchImpl<Field10>::SketchImpl<Field10>
    - SketchImpl<Field14>::SketchImpl<Field14>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructGeneric2Bytes(int bits, int implementation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field10>::SketchImpl<Field10>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:111,1
    - Dst: SketchImpl<Field11>::SketchImpl<Field11>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:114,1
    - Dst: SketchImpl<Field12>::SketchImpl<Field12>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:117,1
    - Dst: SketchImpl<Field13>::SketchImpl<Field13>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:120,1
    - Dst: SketchImpl<Field14>::SketchImpl<Field14>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:123,1
    - Dst: SketchImpl<Field16>::SketchImpl<Field16>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: ConstructClMul2Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field13>::SketchImpl<Field13>
    - SketchImpl<Field16>::SketchImpl<Field16>
    - SketchImpl<Field11>::SketchImpl<Field11>
    - SketchImpl<Field12>::SketchImpl<Field12>
    - SketchImpl<Field10>::SketchImpl<Field10>
    - SketchImpl<Field14>::SketchImpl<Field14>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMul2Bytes(int bits, int implementation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<FieldTri9>::SketchImpl<FieldTri9>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:135,1
    - Dst: SketchImpl<FieldTri10>::SketchImpl<FieldTri10>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:138,1
    - Dst: SketchImpl<FieldTri11>::SketchImpl<FieldTri11>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:141,1
    - Dst: SketchImpl<FieldTri12>::SketchImpl<FieldTri12>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:144,1
    - Dst: SketchImpl<FieldTri14>::SketchImpl<FieldTri14>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:147,1
    - Dst: SketchImpl<FieldTri15>::SketchImpl<FieldTri15>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: ConstructClMulTri2Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_2bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<FieldTri12>::SketchImpl<FieldTri12>
    - SketchImpl<FieldTri14>::SketchImpl<FieldTri14>
    - SketchImpl<FieldTri9>::SketchImpl<FieldTri9>
    - SketchImpl<FieldTri11>::SketchImpl<FieldTri11>
    - SketchImpl<FieldTri10>::SketchImpl<FieldTri10>
    - SketchImpl<FieldTri15>::SketchImpl<FieldTri15>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMulTri2Bytes(int bits, int implementation)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field33>::SketchImpl<Field33>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:128,1
    - Dst: SketchImpl<Field34>::SketchImpl<Field34>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:131,1
    - Dst: SketchImpl<Field35>::SketchImpl<Field35>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:134,1
    - Dst: SketchImpl<Field36>::SketchImpl<Field36>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:137,1
    - Dst: SketchImpl<Field37>::SketchImpl<Field37>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:140,1
    - Dst: SketchImpl<Field38>::SketchImpl<Field38>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:143,1
    - Dst: SketchImpl<Field39>::SketchImpl<Field39>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:146,1
    - Dst: SketchImpl<Field40>::SketchImpl<Field40>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 153
    functionName: ConstructClMul5Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field36>::SketchImpl<Field36>
    - SketchImpl<Field35>::SketchImpl<Field35>
    - SketchImpl<Field33>::SketchImpl<Field33>
    - SketchImpl<Field37>::SketchImpl<Field37>
    - SketchImpl<Field40>::SketchImpl<Field40>
    - SketchImpl<Field39>::SketchImpl<Field39>
    - SketchImpl<Field38>::SketchImpl<Field38>
    - SketchImpl<Field34>::SketchImpl<Field34>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMul5Bytes(int bits, int implementation)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<FieldTri33>::SketchImpl<FieldTri33>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:158,1
    - Dst: SketchImpl<FieldTri34>::SketchImpl<FieldTri34>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:161,1
    - Dst: SketchImpl<FieldTri35>::SketchImpl<FieldTri35>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:164,1
    - Dst: SketchImpl<FieldTri36>::SketchImpl<FieldTri36>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:167,1
    - Dst: SketchImpl<FieldTri39>::SketchImpl<FieldTri39>
      Src: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: ConstructClMulTri5Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/clmul_5bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<FieldTri33>::SketchImpl<FieldTri33>
    - SketchImpl<FieldTri39>::SketchImpl<FieldTri39>
    - SketchImpl<FieldTri34>::SketchImpl<FieldTri34>
    - SketchImpl<FieldTri36>::SketchImpl<FieldTri36>
    - SketchImpl<FieldTri35>::SketchImpl<FieldTri35>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructClMulTri5Bytes(int bits, int implementation)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SketchImpl<Field17>::SketchImpl<Field17>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_3bytes.cpp:99,1
    - Dst: SketchImpl<Field18>::SketchImpl<Field18>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_3bytes.cpp:102,1
    - Dst: SketchImpl<Field19>::SketchImpl<Field19>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_3bytes.cpp:105,1
    - Dst: SketchImpl<Field20>::SketchImpl<Field20>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_3bytes.cpp:108,1
    - Dst: SketchImpl<Field21>::SketchImpl<Field21>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_3bytes.cpp:111,1
    - Dst: SketchImpl<Field22>::SketchImpl<Field22>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_3bytes.cpp:114,1
    - Dst: SketchImpl<Field23>::SketchImpl<Field23>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_3bytes.cpp:117,1
    - Dst: SketchImpl<Field24>::SketchImpl<Field24>
      Src: /src/bitcoin-core/src/minisketch/src/fields/generic_3bytes.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: ConstructGeneric3Bytes
    functionSourceFile: /src/bitcoin-core/src/minisketch/src/fields/generic_3bytes.cpp
    functionUses: 2
    functionsReached:
    - SketchImpl<Field17>::SketchImpl<Field17>
    - SketchImpl<Field23>::SketchImpl<Field23>
    - SketchImpl<Field22>::SketchImpl<Field22>
    - SketchImpl<Field18>::SketchImpl<Field18>
    - SketchImpl<Field19>::SketchImpl<Field19>
    - SketchImpl<Field20>::SketchImpl<Field20>
    - SketchImpl<Field24>::SketchImpl<Field24>
    - SketchImpl<Field21>::SketchImpl<Field21>
    linkageType: ''
    returnType: Sketch
    signature: Sketch * ConstructGeneric3Bytes(int bits, int implementation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_destroy
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - minisketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: operator()(minisketch* ptr) const
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - minisketch_destroy
    linkageType: ''
    returnType: void
    signature: void operator()(minisketch* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_bits_supported
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: Minisketch::BitsSupported
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 2
    functionsReached:
    - minisketch_bits_supported
    linkageType: ''
    returnType: bool
    signature: bool BitsSupported(uint32_t bits) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_implementation_max
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: Minisketch::MaxImplementation
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 3
    functionsReached:
    - minisketch_implementation_max
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MaxImplementation() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_implementation_supported
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bits
    - implementation
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: Minisketch::ImplementationSupported
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 3
    functionsReached:
    - minisketch_implementation_supported
    linkageType: ''
    returnType: bool
    signature: bool ImplementationSupported(uint32_t bits, uint32_t implementation)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_compute_capacity
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bits
    - max_elements
    - fpbits
    argTypes:
    - uint32_t
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: Minisketch::ComputeCapacity
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - minisketch_compute_capacity
    linkageType: ''
    returnType: size_t
    signature: size_t ComputeCapacity(uint32_t bits, size_t max_elements, uint32_t
      fpbits) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_compute_max_elements
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bits
    - capacity
    - fpbits
    argTypes:
    - uint32_t
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: Minisketch::ComputeMaxElements
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - minisketch_compute_max_elements
    linkageType: ''
    returnType: size_t
    signature: size_t ComputeMaxElements(uint32_t bits, size_t capacity, uint32_t
      fpbits) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<minisketch, Deleter>
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:235,1
    - Dst: minisketch_clone
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:235,1
    - Dst: m_minisketch::get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sketch'
    argTypes:
    - Minisketch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 7
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: Minisketch::Minisketch
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - m_minisketch::get
    - minisketch_clone
    - std::unique_ptr<minisketch, Deleter>
    linkageType: ''
    returnType: void
    signature: void Minisketch(const Minisketch& sketch) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<minisketch, Deleter>
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:243,1
    - Dst: minisketch_clone
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:243,1
    - Dst: m_minisketch::get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' sketch'
    argTypes:
    - Minisketch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 7
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: '& operator=(const Minisketch& sketch) noexcept'
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - m_minisketch::get
    - minisketch_clone
    - std::unique_ptr<minisketch, Deleter>
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch & operator=(const Minisketch& sketch) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: operator bool() const noexcept
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: Minisketch::Minisketch
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Minisketch() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: Minisketch::Minisketch
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Minisketch(Minisketch&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: '& operator=(Minisketch&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch & operator=(Minisketch&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<minisketch, Deleter>
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:268,1
    - Dst: minisketch_create
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bits
    - implementation
    - capacity
    argTypes:
    - uint32_t
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 6
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: Minisketch::Minisketch
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - minisketch_create
    - std::unique_ptr<minisketch, Deleter>
    linkageType: ''
    returnType: void
    signature: void Minisketch(uint32_t bits, uint32_t implementation, size_t capacity)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::Minisketch
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:275,1
    - Dst: Minisketch::ComputeCapacity
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bits
    - implementation
    - max_elements
    - fpbits
    argTypes:
    - uint32_t
    - uint32_t
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 8
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: Minisketch::CreateFP
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - Minisketch::ComputeCapacity
    - Minisketch::Minisketch
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch CreateFP(uint32_t bits, uint32_t implementation, size_t
      max_elements, uint32_t fpbits) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_bits
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:279,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: Minisketch::GetBits
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - minisketch_bits
    - get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetBits() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_capacity
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:282,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: Minisketch::GetCapacity
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - get
    - minisketch_capacity
    linkageType: ''
    returnType: size_t
    signature: size_t GetCapacity() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_implementation
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:285,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 5
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: Minisketch::GetImplementation
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - minisketch_implementation
    - get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetImplementation() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_set_seed
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:290,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: '& SetSeed(uint64_t seed) noexcept'
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - get
    - minisketch_set_seed
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch & SetSeed(uint64_t seed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_add_uint64
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:298,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - element
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 5
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: '& Add(uint64_t element) noexcept'
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - minisketch_add_uint64
    - get
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch & Add(uint64_t element) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_merge
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:306,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:306,1
    - Dst: m_minisketch::get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sketch'
    argTypes:
    - Minisketch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 5
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: '& Merge(const Minisketch& sketch) noexcept'
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - m_minisketch::get
    - minisketch_merge
    - get
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch & Merge(const Minisketch& sketch) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_decode
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:314,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:314,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:314,1
    - Dst: data
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:314,1
    - Dst: resize
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: Minisketch::Decode
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 2
    functionsReached:
    - size
    - data
    - get
    - minisketch_decode
    - resize
    linkageType: ''
    returnType: bool
    signature: bool Decode(std::vector<uint64_t>& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_serialized_size
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:321,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: Minisketch::GetSerializedSize
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - get
    - minisketch_serialized_size
    linkageType: ''
    returnType: size_t
    signature: size_t GetSerializedSize() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_serialize
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:327,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:327,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 5
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: Minisketch::Serialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 2
    functionsReached:
    - minisketch_serialize
    - get
    - std::vector::data
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> Serialize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:337,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:338,1
    - Dst: assert
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:342,1
    - Dst: Minisketch::GetSerializedSize
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:342,1
    - Dst: size
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:342,1
    - Dst: minisketch_deserialize
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:343,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:343,1
    - Dst: data
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts:
    - condition: (GetSerializedSize() == obj.size())
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/bitcoin-core/src/minisketch/include/minisketch.h
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 6
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: Minisketch::Deserialize
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 2
    functionsReached:
    - Minisketch::GetSerializedSize
    - size
    - data
    - minisketch_deserialize
    - get
    - assert
    linkageType: ''
    returnType: Minisketch
    signature: "Minisketch & Deserialize(\n        const T& obj,\n        typename
      std::enable_if<\n            std::is_convertible<typename std::remove_pointer<decltype(obj.data())>::type
      (*)[], const unsigned char (*)[]>::value &&\n            std::is_convertible<decltype(obj.size()),
      std::size_t>::value,\n            std::nullptr_t\n        >::type = nullptr)
      noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: minisketch_decode
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:352,1
    - Dst: get
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:352,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:352,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - max_elements
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 349
    functionDepth: 5
    functionLinenumber: 349
    functionLinenumberEnd: 356
    functionName: Minisketch::Decode
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 2
    functionsReached:
    - minisketch_decode
    - get
    - std::vector::resize
    - std::vector::data
    linkageType: ''
    returnType: std::optional<std::vector<uint64_t>>
    signature: std::optional<std::vector<uint64_t>> Decode(size_t max_elements) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::Decode
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:361,1
    - Dst: Minisketch::ComputeMaxElements
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:361,1
    - Dst: Minisketch::GetBits
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:361,1
    - Dst: Minisketch::GetCapacity
      Src: /src/bitcoin-core/src/minisketch/include/minisketch.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fpbits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 6
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Minisketch::DecodeFP
    functionSourceFile: /src/bitcoin-core/src/minisketch/include/minisketch.h
    functionUses: 0
    functionsReached:
    - Minisketch::ComputeMaxElements
    - Minisketch::Decode
    - Minisketch::GetCapacity
    - Minisketch::GetBits
    linkageType: ''
    returnType: std::optional<std::vector<uint64_t>>
    signature: std::optional<std::vector<uint64_t>> DecodeFP(uint32_t fpbits) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging/timer.h:33,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging/timer.h:34,1
    - Dst: BCLog::Timer::Log
      Src: /src/bitcoin-core/src/logging/timer.h:38,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:38,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/logging/timer.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prefix
    - end_msg
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: BCLog::Timer::Timer
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 0
    functionsReached:
    - BCLog::Timer::Log
    - wallet::WalletRescanReserver::now
    - std::move
    - strprintf
    linkageType: ''
    returnType: void
    signature: "void Timer(\n        std::string prefix,\n        std::string end_msg,\n
      \       BCLog::LogFlags log_category = BCLog::LogFlags::ALL,\n        bool msg_on_completion
      = true)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Log
      Src: /src/bitcoin-core/src/logging/timer.h:45,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:45,1
    - Dst: BCLog::Log
      Src: /src/bitcoin-core/src/logging/timer.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ~Timer()
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 0
    functionsReached:
    - BCLog::Log
    - strprintf
    linkageType: ''
    returnType: void
    signature: void ~Timer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Timer::LogMsg
      Src: /src/bitcoin-core/src/logging/timer.h:53,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/logging/timer.h:56,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/logging/timer.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: BCLog::Timer::Log
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 1
    functionsReached:
    - LogPrintf
    - LogDebug
    - BCLog::Timer::LogMsg
    linkageType: ''
    returnType: void
    signature: void Log(const std::string& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/logging/timer.h:64,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:66,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:71,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/logging/timer.h:71,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:73,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/logging/timer.h:73,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:75,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/logging/timer.h:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: BCLog::Timer::LogMsg
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 1
    functionsReached:
    - Ticks
    - strprintf
    - wallet::WalletRescanReserver::now
    linkageType: ''
    returnType: std::string
    signature: std::string LogMsg(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging/timer.h:33,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/logging/timer.h:34,1
    - Dst: BCLog::Timer::Log
      Src: /src/bitcoin-core/src/logging/timer.h:38,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:38,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/logging/timer.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prefix
    - end_msg
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: BCLog::Timer::Timer
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 0
    functionsReached:
    - BCLog::Timer::Log
    - wallet::WalletRescanReserver::now
    - std::move
    - strprintf
    linkageType: ''
    returnType: void
    signature: "void Timer(\n        std::string prefix,\n        std::string end_msg,\n
      \       BCLog::LogFlags log_category = BCLog::LogFlags::ALL,\n        bool msg_on_completion
      = true)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/logging/timer.h:45,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:45,1
    - Dst: Log
      Src: /src/bitcoin-core/src/logging/timer.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ~Timer()
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 0
    functionsReached:
    - strprintf
    - Log
    linkageType: ''
    returnType: void
    signature: void ~Timer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BCLog::Timer::LogMsg
      Src: /src/bitcoin-core/src/logging/timer.h:53,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/logging/timer.h:56,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/logging/timer.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: BCLog::Timer::Log
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 2
    functionsReached:
    - LogPrintf
    - LogDebug
    - BCLog::Timer::LogMsg
    linkageType: ''
    returnType: void
    signature: void Log(const std::string& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/logging/timer.h:64,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:66,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:71,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/logging/timer.h:71,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:73,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/logging/timer.h:73,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/logging/timer.h:75,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/logging/timer.h:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: BCLog::Timer::LogMsg
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 2
    functionsReached:
    - Ticks
    - strprintf
    - wallet::WalletRescanReserver::now
    linkageType: ''
    returnType: std::string
    signature: std::string LogMsg(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - end_msg
    - ','
    - log_category
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: LOG_TIME_MICROS_WITH_CATEGORY
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_TIME_MICROS_WITH_CATEGORY(end_msg, log_category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - end_msg
    - ','
    - log_category
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: LOG_TIME_MILLIS_WITH_CATEGORY
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_TIME_MILLIS_WITH_CATEGORY(end_msg, log_category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - end_msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: LOG_TIME_SECONDS
    functionSourceFile: /src/bitcoin-core/src/logging/timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_TIME_SECONDS(end_msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::ExtendPortable
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable_unittest.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_portable_unittest.cc
    functionUses: 0
    functionsReached:
    - crc32c::ExtendPortable
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::ExtendPortable
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable_unittest.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_portable_unittest.cc
    functionUses: 0
    functionsReached:
    - crc32c::ExtendPortable
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:20,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:20,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:21,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:21,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:22,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:22,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:23,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:23,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - std::memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:35,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:35,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:36,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:36,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:37,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:37,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:38,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:39,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:39,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:40,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:40,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:41,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:41,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:42,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:42,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: crc32c::ReadUint64LE
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - std::memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadUint64LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:20,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:20,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:21,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:21,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:22,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:22,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:23,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:23,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - std::memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:35,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:35,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:36,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:36,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:37,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:37,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:38,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:39,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:39,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:40,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:40,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:41,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:41,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:42,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:42,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: crc32c::ReadUint64LE
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_read_le.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - std::memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadUint64LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:28,1
    - Dst: range
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:28,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:29,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:30,1
    - Dst: data
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: CRC32CBenchmark::SetUp
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - range
    - std::string
    - reinterpret_cast<const uint8_t*>
    - data
    linkageType: ''
    returnType: void
    signature: void SetUp(const benchmark::State& state) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:42,1
    - Dst: SetBytesProcessed
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:43,1
    - Dst: iterations
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: BENCHMARK_DEFINE_F
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc
    functionUses: 0
    functionsReached:
    - SetBytesProcessed
    - iterations
    - crc32c::Extend
    linkageType: ''
    returnType: void
    signature: void BENCHMARK_DEFINE_F(CRC32CBenchmark, Public)(benchmark::State&
      state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::ExtendPortable
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:52,1
    - Dst: SetBytesProcessed
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:53,1
    - Dst: iterations
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: BENCHMARK_DEFINE_F
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc
    functionUses: 0
    functionsReached:
    - crc32c::ExtendPortable
    - SetBytesProcessed
    - iterations
    linkageType: ''
    returnType: void
    signature: void BENCHMARK_DEFINE_F(CRC32CBenchmark, Portable)(benchmark::State&
      state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::CanUseArm64Crc32
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:62,1
    - Dst: SkipWithError
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:63,1
    - Dst: crc32c::ExtendArm64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:69,1
    - Dst: SetBytesProcessed
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:70,1
    - Dst: iterations
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: BENCHMARK_DEFINE_F
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc
    functionUses: 0
    functionsReached:
    - crc32c::CanUseArm64Crc32
    - iterations
    - crc32c::ExtendArm64
    - SkipWithError
    - SetBytesProcessed
    linkageType: ''
    returnType: void
    signature: void BENCHMARK_DEFINE_F(CRC32CBenchmark, ArmCRC32C)(benchmark::State&
      state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::CanUseSse42
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:81,1
    - Dst: SkipWithError
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:82,1
    - Dst: crc32c::ExtendSse42
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:88,1
    - Dst: SetBytesProcessed
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:89,1
    - Dst: iterations
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: BENCHMARK_DEFINE_F
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc
    functionUses: 0
    functionsReached:
    - crc32c::ExtendSse42
    - iterations
    - SkipWithError
    - SetBytesProcessed
    - crc32c::CanUseSse42
    linkageType: ''
    returnType: void
    signature: void BENCHMARK_DEFINE_F(CRC32CBenchmark, Sse42)(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::InitGoogleLogging
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:99,1
    - Dst: google::InstallFailureSignalHandler
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:100,1
    - Dst: BIP324Cipher::Initialize
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:103,1
    - Dst: benchmark::RunSpecifiedBenchmarks
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_benchmark.cc
    functionUses: 0
    functionsReached:
    - google::InstallFailureSignalHandler
    - benchmark::RunSpecifiedBenchmarks
    - google::InitGoogleLogging
    - BIP324Cipher::Initialize
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::ExtendArm64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_unittest.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_unittest.cc
    functionUses: 1
    functionsReached:
    - crc32c::ExtendArm64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::ExtendArm64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_unittest.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_unittest.cc
    functionUses: 1
    functionsReached:
    - crc32c::ExtendArm64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:290,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:300,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:301,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:302,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:303,1
    - Dst: crc32c::RequestPrefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:307,1
    - Dst: STEP4
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:323,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:334,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:335,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:336,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - crc
    - data
    - size
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 349
    functionName: crc32c::ExtendPortable
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc
    functionUses: 3
    functionsReached:
    - STEP4
    - STEP4W
    - crc32c::RequestPrefetch
    - crc32c::RoundUp
    - crc32c::ReadUint32LE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExtendPortable(uint32_t crc, const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: STEP4
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: STEP4W
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4W(w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:290,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:300,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:301,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:302,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:303,1
    - Dst: crc32c::RequestPrefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:307,1
    - Dst: STEP4
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:323,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:334,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:335,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:336,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - crc
    - data
    - size
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 349
    functionName: crc32c::ExtendPortable
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc
    functionUses: 3
    functionsReached:
    - STEP4
    - STEP4W
    - crc32c::RequestPrefetch
    - crc32c::RoundUp
    - crc32c::ReadUint32LE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExtendPortable(uint32_t crc, const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: STEP4
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: STEP4W
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_portable.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4W(w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::CanUseSse42
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:20,1
    - Dst: crc32c::ExtendSse42
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:21,1
    - Dst: crc32c::CanUseArm64Crc32
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:23,1
    - Dst: crc32c::ExtendArm64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:24,1
    - Dst: crc32c::ExtendPortable
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c.cc
    functionUses: 1
    functionsReached:
    - crc32c::CanUseArm64Crc32
    - crc32c::ExtendSse42
    - crc32c::ExtendArm64
    - crc32c::ExtendPortable
    - crc32c::CanUseSse42
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: crc32c::crc32c_extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c.cc
    functionUses: 0
    functionsReached:
    - crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t crc32c_extend(uint32_t crc, const uint8_t* data,\n                                  size_t
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - count
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: crc32c::crc32c_value
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c.cc
    functionUses: 0
    functionsReached:
    - crc32c::Crc32c
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t crc32c_value(const uint8_t* data, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::CanUseSse42
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:20,1
    - Dst: crc32c::ExtendSse42
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:21,1
    - Dst: crc32c::CanUseArm64Crc32
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:23,1
    - Dst: crc32c::ExtendArm64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:24,1
    - Dst: crc32c::ExtendPortable
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c.cc
    functionUses: 2
    functionsReached:
    - crc32c::CanUseArm64Crc32
    - crc32c::ExtendSse42
    - crc32c::ExtendArm64
    - crc32c::ExtendPortable
    - crc32c::CanUseSse42
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: crc32c::crc32c_extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c.cc
    functionUses: 0
    functionsReached:
    - crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t crc32c_extend(uint32_t crc, const uint8_t* data,\n                                  size_t
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - count
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: crc32c::crc32c_value
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c.cc
    functionUses: 0
    functionsReached:
    - crc32c::Crc32c
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t crc32c_value(const uint8_t* data, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:171,1
    - Dst: crc32c::RequestPrefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:188,1
    - Dst: crc32c::RequestPrefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:189,1
    - Dst: crc32c::RequestPrefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:190,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:193,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:194,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:195,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:196,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:197,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:198,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:199,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:200,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:204,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:206,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:214,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:216,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:218,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:226,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:228,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:230,1
    - Dst: STEP8
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:237,1
    - Dst: STEP8
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:238,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 3
    argNames:
    - crc
    - data
    - size
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 254
    functionName: crc32c::ExtendSse42
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 3
    functionsReached:
    - STEP8
    - STEP8X3
    - static_cast<uint32_t>
    - SKIP_BLOCK
    - crc32c::RequestPrefetch
    - crc32c::RoundUp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExtendSse42(uint32_t crc, const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - crc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: STEP4
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4(crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - crc
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: STEP8
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP8(crc, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - crc0
    - ','
    - crc1
    - ','
    - crc2
    - ','
    - p0
    - ','
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: STEP8BY3
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP8BY3(crc0, crc1, crc2, p0, p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - crc0
    - ','
    - crc1
    - ','
    - crc2
    - ','
    - bs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: STEP8X3
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP8X3(crc0, crc1, crc2, bs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - crc
    - ','
    - tab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: SKIP_BLOCK
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_BLOCK(crc, tab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:171,1
    - Dst: crc32c::RequestPrefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:188,1
    - Dst: crc32c::RequestPrefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:189,1
    - Dst: crc32c::RequestPrefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:190,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:193,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:194,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:195,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:196,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:197,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:198,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:199,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:200,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:204,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:206,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:214,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:216,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:218,1
    - Dst: STEP8X3
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:226,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:228,1
    - Dst: SKIP_BLOCK
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:230,1
    - Dst: STEP8
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:237,1
    - Dst: STEP8
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:238,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 3
    argNames:
    - crc
    - data
    - size
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 254
    functionName: crc32c::ExtendSse42
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 3
    functionsReached:
    - STEP8
    - STEP8X3
    - static_cast<uint32_t>
    - SKIP_BLOCK
    - crc32c::RequestPrefetch
    - crc32c::RoundUp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExtendSse42(uint32_t crc, const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - crc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: STEP4
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4(crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - crc
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: STEP8
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP8(crc, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - crc0
    - ','
    - crc1
    - ','
    - crc2
    - ','
    - p0
    - ','
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: STEP8BY3
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP8BY3(crc0, crc1, crc2, p0, p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - crc0
    - ','
    - crc1
    - ','
    - crc2
    - ','
    - bs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: STEP8X3
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP8X3(crc0, crc1, crc2, bs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - crc
    - ','
    - tab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: SKIP_BLOCK
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_BLOCK(crc, tab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:19,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:20,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:20,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:21,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:24,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:24,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:25,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:29,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:29,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:30,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:34,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:34,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:43,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:43,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 45
    functionName: TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc
    functionUses: 11
    functionsReached:
    - EXPECT_EQ
    - std::memset
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - crc32c::Crc32c
    linkageType: ''
    returnType: void
    signature: void TEST(Crc32CTest, Crc32c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc
    functionUses: 4
    functionsReached:
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc
    functionUses: 5
    functionsReached:
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:63,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:64,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:67,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:67,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:68,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:72,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:72,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:73,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:77,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:77,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc
    functionUses: 11
    functionsReached:
    - EXPECT_EQ
    - std::memset
    - static_cast<uint32_t>
    - crc32c::Crc32c
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void TEST(CRC32CTest, Crc32cCharPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:83,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:87,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:91,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:91,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:95,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:95,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:95,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:99,1
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_unittest.cc
    functionUses: 11
    functionsReached:
    - EXPECT_EQ
    - static_cast<uint32_t>
    - std::string::resize
    - crc32c::Crc32c
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void TEST(CRC32CTest, Crc32cStdString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:20,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:20,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:21,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:21,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<uint32_t>
    - ASSERT_EQ
    - crc32c::RoundUp
    - crc32c::ReadUint32LE
    linkageType: ''
    returnType: void
    signature: void TEST(Crc32CReadLETest, ReadUint32LE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:28,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:29,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:29,1
    - Dst: crc32c::ReadUint64LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<uint64_t>
    - crc32c::ReadUint64LE
    - ASSERT_EQ
    - crc32c::RoundUp
    linkageType: ''
    returnType: void
    signature: void TEST(Crc32CReadLETest, ReadUint64LE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:20,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:20,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:21,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:21,1
    - Dst: crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<uint32_t>
    - ASSERT_EQ
    - crc32c::RoundUp
    - crc32c::ReadUint32LE
    linkageType: ''
    returnType: void
    signature: void TEST(Crc32CReadLETest, ReadUint32LE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:28,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:29,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:29,1
    - Dst: crc32c::ReadUint64LE
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_read_le_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<uint64_t>
    - crc32c::ReadUint64LE
    - ASSERT_EQ
    - crc32c::RoundUp
    linkageType: ''
    returnType: void
    signature: void TEST(Crc32CReadLETest, ReadUint64LE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::InitGoogleLogging
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_test_main.cc:17,1
    - Dst: google::InstallFailureSignalHandler
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_test_main.cc:18,1
    - Dst: testing::InitGoogleTest
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_test_main.cc:20,1
    - Dst: RUN_ALL_TESTS
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_test_main.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_test_main.cc
    functionUses: 0
    functionsReached:
    - RUN_ALL_TESTS
    - google::InstallFailureSignalHandler
    - testing::InitGoogleTest
    - google::InitGoogleLogging
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_check.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: crc32c::CanUseSse42
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_check.h
    functionUses: 3
    functionsReached:
    - __cpuid
    linkageType: ''
    returnType: bool
    signature: bool CanUseSse42()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_check.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: crc32c::CanUseSse42
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_check.h
    functionUses: 3
    functionsReached:
    - __cpuid
    linkageType: ''
    returnType: bool
    signature: bool CanUseSse42()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __get_cpuid
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_check.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: crc32c::CanUseSse42
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_check.h
    functionUses: 3
    functionsReached:
    - __get_cpuid
    linkageType: ''
    returnType: bool
    signature: bool CanUseSse42()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __get_cpuid
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_check.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: crc32c::CanUseSse42
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_check.h
    functionUses: 3
    functionsReached:
    - __get_cpuid
    linkageType: ''
    returnType: bool
    signature: bool CanUseSse42()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h:32,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h:32,1
    - Dst: _mm_prefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - address
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: crc32c::RequestPrefetch
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h
    functionUses: 4
    functionsReached:
    - _mm_prefetch
    - __builtin_prefetch
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void RequestPrefetch(const uint8_t* address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h:32,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h:32,1
    - Dst: _mm_prefetch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - address
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: crc32c::RequestPrefetch
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_prefetch.h
    functionUses: 4
    functionsReached:
    - _mm_prefetch
    - __builtin_prefetch
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void RequestPrefetch(const uint8_t* address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::ExtendSse42
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_unittest.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_unittest.cc
    functionUses: 5
    functionsReached:
    - crc32c::ExtendSse42
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::ExtendSse42
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_unittest.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - data
    - count
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_sse42_unittest.cc
    functionUses: 5
    functionsReached:
    - crc32c::ExtendSse42
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const uint8_t* data, size_t count)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:17,1
    - Dst: crc32c_value
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:18,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:19,1
    - Dst: memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:23,1
    - Dst: crc32c_value
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:24,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:25,1
    - Dst: crc32c_value
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:31,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:32,1
    - Dst: crc32c_value
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:38,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:39,1
    - Dst: crc32c_value
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:49,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:50,1
    - Dst: crc32c_value
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:58,1
    - Dst: crc32c_extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:59,1
    - Dst: crc32c_value
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:59,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:60,1
    - Dst: printf
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_capi_unittest.c
    functionUses: 0
    functionsReached:
    - memset
    - printf
    - crc32c_extend
    - crc32c_value
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:27,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:28,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:28,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:29,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:31,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:32,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:32,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:36,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:37,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:37,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:41,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:42,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:42,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:43,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:51,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:51,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 53
    functionName: crc32c::TYPED_TEST_P
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::memset
    - crc32c::Extend
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(ExtendTest, StandardResults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:57,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:58,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:59,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:61,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:61,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:62,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: crc32c::TYPED_TEST_P
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - EXPECT_EQ
    - crc32c::Extend
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(ExtendTest, HelloWorld)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:77,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:78,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:79,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:81,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: crc32c::TYPED_TEST_P
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<uint32_t>
    - crc32c::Extend
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(ExtendTest, BufferSlicing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:89,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:95,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:96,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:97,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: crc32c::TYPED_TEST_P
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - crc32c::Extend
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(ExtendTest, LargeBufferSlicing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:27,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:28,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:28,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:29,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:31,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:32,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:32,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:36,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:37,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:37,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:41,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:42,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:42,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:43,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:51,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:51,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 53
    functionName: crc32c::TYPED_TEST_P
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::memset
    - crc32c::Extend
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(ExtendTest, StandardResults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:57,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:58,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:59,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:61,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:61,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:62,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: crc32c::TYPED_TEST_P
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - EXPECT_EQ
    - crc32c::Extend
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(ExtendTest, HelloWorld)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:77,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:78,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:79,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:81,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: crc32c::TYPED_TEST_P
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<uint32_t>
    - crc32c::Extend
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(ExtendTest, BufferSlicing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:89,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:95,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:96,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:97,1
    - Dst: EXPECT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: crc32c::TYPED_TEST_P
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_extend_unittests.h
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - crc32c::Extend
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(ExtendTest, LargeBufferSlicing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t RoundUp(uintptr_t pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h:28,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h:29,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h
    functionUses: 9
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - crc32c::RoundUp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t RoundUp(uintptr_t pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h:28,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h:29,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_round_up.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - crc32c::RoundUp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_check.h:46,1
    - Dst: getauxval
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_check.h:48,1
    - Dst: sysctlbyname
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_check.h:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: crc32c::CanUseArm64Crc32
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_check.h
    functionUses: 3
    functionsReached:
    - sysctlbyname
    - getauxval
    linkageType: ''
    returnType: bool
    signature: bool CanUseArm64Crc32()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_check.h:46,1
    - Dst: getauxval
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_check.h:48,1
    - Dst: sysctlbyname
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_check.h:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: crc32c::CanUseArm64Crc32
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_arm64_check.h
    functionUses: 3
    functionsReached:
    - sysctlbyname
    - getauxval
    linkageType: ''
    returnType: bool
    signature: bool CanUseArm64Crc32()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:17,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:17,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:18,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:18,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:19,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:19,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:20,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:20,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:21,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:21,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:21,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:22,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:22,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:22,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:22,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:23,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:23,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:23,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:23,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:24,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:24,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:24,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:26,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:27,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:28,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:29,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:30,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:30,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:31,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:32,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:33,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:34,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:35,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:35,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:35,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:36,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:36,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:36,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:36,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:37,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:37,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:37,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:37,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:38,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:38,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:38,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:40,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:41,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:42,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:43,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:44,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:44,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:45,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:46,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:47,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:48,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:49,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:49,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:49,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:50,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:50,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:50,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:51,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:51,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:51,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:52,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:52,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:52,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:53,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:53,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:53,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:54,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:54,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:54,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:55,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:55,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:55,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 56
    functionName: crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - crc32c::RoundUp
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC32CRoundUpTest, RoundUpUintptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:61,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:62,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:63,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:64,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:67,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:68,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:69,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:71,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:72,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:72,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:73,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:75,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:76,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:77,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:79,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:80,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:81,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<uint8_t*>
    - crc32c::RoundUp
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC32CRoundUpTest, RoundUpPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:17,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:17,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:18,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:18,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:19,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:19,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:20,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:20,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:21,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:21,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:21,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:22,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:22,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:22,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:22,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:23,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:23,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:23,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:23,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:24,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:24,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:24,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:26,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:27,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:28,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:29,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:30,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:30,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:31,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:32,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:33,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:34,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:35,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:35,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:35,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:36,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:36,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:36,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:36,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:37,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:37,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:37,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:37,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:38,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:38,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:38,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:40,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:41,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:42,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:43,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:44,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:44,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:45,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:46,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:47,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:48,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:49,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:49,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:49,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:50,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:50,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:50,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:51,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:51,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:51,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:52,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:52,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:52,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:53,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:53,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:53,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:54,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:54,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:54,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:55,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:55,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:55,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 56
    functionName: crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc
    functionUses: 0
    functionsReached:
    - static_cast<uintptr_t>
    - crc32c::RoundUp
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC32CRoundUpTest, RoundUpUintptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:61,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:62,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:63,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:64,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:67,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:68,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:69,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:71,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:72,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:72,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:73,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:75,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:76,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:77,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:79,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:80,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:81,1
    - Dst: crc32c::RoundUp
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_round_up_unittest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<uint8_t*>
    - crc32c::RoundUp
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC32CRoundUpTest, RoundUpPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - P
    - ','
    - IND
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: CRC32C32BYTES
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC32C32BYTES(P, IND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - P
    - ','
    - IND
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: CRC32C256BYTES
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC32C256BYTES(P, IND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: CRC32C1024BYTES
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC32C1024BYTES(P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRC32C1024BYTES
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:89,1
    - Dst: vmull_p64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:92,1
    - Dst: vmull_p64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:93,1
    - Dst: vmull_p64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:94,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:95,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:96,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:98,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:99,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:100,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:106,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:107,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:113,1
    - Dst: __crc32cw
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:114,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:119,1
    - Dst: __crc32ch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:120,1
    - Dst: __crc32cb
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 3
    argNames:
    - crc
    - data
    - size
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 129
    functionName: crc32c::ExtendArm64
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc
    functionUses: 5
    functionsReached:
    - __crc32ch
    - std::memcpy
    - __crc32cd
    - __crc32cw
    - CRC32C1024BYTES
    - __crc32cb
    - vmull_p64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExtendArm64(uint32_t crc, const uint8_t *data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRC32C1024BYTES
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:89,1
    - Dst: vmull_p64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:92,1
    - Dst: vmull_p64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:93,1
    - Dst: vmull_p64
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:94,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:95,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:96,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:98,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:99,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:100,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:106,1
    - Dst: __crc32cd
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:107,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:113,1
    - Dst: __crc32cw
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:114,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:119,1
    - Dst: __crc32ch
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:120,1
    - Dst: __crc32cb
      Src: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 3
    argNames:
    - crc
    - data
    - size
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 129
    functionName: crc32c::ExtendArm64
    functionSourceFile: /src/bitcoin-core/src/crc32c/src/crc32c_arm64.cc
    functionUses: 5
    functionsReached:
    - __crc32ch
    - std::memcpy
    - __crc32cd
    - __crc32cw
    - CRC32C1024BYTES
    - __crc32cb
    - vmull_p64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExtendArm64(uint32_t crc, const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - count
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: crc32c::Crc32c
    functionSourceFile: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h
    functionUses: 5
    functionsReached:
    - crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Crc32c(const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:59,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - count
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: crc32c::Crc32c
    functionSourceFile: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Crc32c(const char* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:64,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:64,1
    - Dst: data
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:64,1
    - Dst: size
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' string'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: crc32c::Crc32c
    functionSourceFile: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - data
    - size
    - crc32c::Crc32c
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Crc32c(const std::string& string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - count
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: crc32c::Crc32c
    functionSourceFile: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h
    functionUses: 6
    functionsReached:
    - crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Crc32c(const uint8_t* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:59,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - count
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: crc32c::Crc32c
    functionSourceFile: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Crc32c(const char* data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:64,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:64,1
    - Dst: data
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:64,1
    - Dst: size
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' string'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: crc32c::Crc32c
    functionSourceFile: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h
    functionUses: 7
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - data
    - size
    - crc32c::Crc32c
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Crc32c(const std::string& string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:78,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:78,1
    - Dst: data
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:78,1
    - Dst: size
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' string_view'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crc32c::Crc32c
    functionSourceFile: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - data
    - size
    - crc32c::Crc32c
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Crc32c(const std::string_view& string_view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c::Crc32c
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:78,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:78,1
    - Dst: data
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:78,1
    - Dst: size
      Src: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' string_view'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crc32c::Crc32c
    functionSourceFile: /src/bitcoin-core/src/crc32c/include/crc32c/crc32c.h
    functionUses: 9
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - data
    - size
    - crc32c::Crc32c
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Crc32c(const std::string_view& string_view)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:20,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:21,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:22,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:28,1
    - Dst: secp256k1_scalar_half
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:31,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:32,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:35,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:36,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:37,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:44,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:45,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:45,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:53,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:57,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:59,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:66,1
    - Dst: secp256k1_gej_neg
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:77,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:85,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:89,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:92,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:97,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:97,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:98,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:103,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:104,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 5
    argNames:
    - table
    - gen
    - blocks
    - teeth
    - spacing
    argTypes:
    - secp256k1_ge_storage*
    - secp256k1_ge*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 106
    functionName: secp256k1_ecmult_gen_compute_table
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_compute_table_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_half
    - secp256k1_gej_neg
    - secp256k1_ge_set_all_gej_var
    - secp256k1_ge_to_storage
    - checked_malloc
    - secp256k1_gej_add_ge_var
    - secp256k1_scalar_get_bits_limb32
    - secp256k1_gej_eq_ge_var
    - secp256k1_gej_set_infinity
    - secp256k1_gej_double_var
    - secp256k1_ge_is_infinity
    - free
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_compute_table(secp256k1_ge_storage* table,
      const secp256k1_ge* gen, int blocks, int teeth, int spacing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: SECP256K1_SCALAR_CONST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:16,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:17,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:20,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:24,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:28,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:32,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:35,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:36,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:37,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:38,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:39,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:40,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:41,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:42,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:43,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:44,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:45,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:46,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:47,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:50,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:54,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:58,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:59,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:60,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:64,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:65,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:66,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:67,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:68,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - default_iters
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 72
    functionName: help
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.c
    functionUses: 3
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void help(int default_iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:94,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:94,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:95,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:95,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:96,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: bench_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_parse
    - secp256k1_ecdsa_verify
    - CHECK
    - secp256k1_ecdsa_signature_parse_der
    linkageType: ''
    returnType: void
    signature: void bench_verify(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: bench_sign_setup
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bench_sign_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:124,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:124,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:125,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: bench_sign_run
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_sign
    - secp256k1_ecdsa_signature_serialize_der
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_sign_run(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: bench_keygen_setup
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bench_keygen_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:150,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:150,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:151,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:151,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: bench_keygen_run
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ec_pubkey_create
    - CHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bench_keygen_run(void *arg, int iters)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_iters
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:181,1
    - Dst: have_invalid_args
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:189,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:192,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:193,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:194,1
    - Dst: help
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:195,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:198,1
    - Dst: help
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:199,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:206,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:207,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:208,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:214,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:214,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:215,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:216,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:222,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:222,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:222,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:223,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:224,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:230,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:230,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:230,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:231,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:231,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:231,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:232,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:233,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:234,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:240,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:249,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:249,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:250,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:250,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:251,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:251,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:253,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:253,1
    - Dst: print_output_table_header_row
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:255,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:256,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:256,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:256,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:256,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:258,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:258,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:258,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:258,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:259,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:259,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:259,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:259,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:261,1
    - Dst: run_ecdh_bench
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:265,1
    - Dst: run_recovery_bench
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:270,1
    - Dst: run_schnorrsig_bench
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:275,1
    - Dst: run_ellswift_bench
      Src: /src/bitcoin-core/src/secp256k1/src/bench.c:280,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 284
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.c
    functionUses: 0
    functionsReached:
    - get_iters
    - have_invalid_args
    - secp256k1_ecdsa_signature_serialize_der
    - run_schnorrsig_bench
    - secp256k1_ec_pubkey_create
    - run_ellswift_bench
    - CHECK
    - secp256k1_context_create
    - secp256k1_context_destroy
    - run_ecdh_bench
    - have_flag
    - run_recovery_bench
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdsa_sign
    - fprintf
    - print_output_table_header_row
    - run_benchmark
    - help
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_ecmult_gen_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: secp256k1_ecmult_gen_context_build
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult_gen_blind
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_context_build(secp256k1_ecmult_gen_context
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_ecmult_gen_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: secp256k1_ecmult_gen_context_is_built
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_gen_context_is_built(const secp256k1_ecmult_gen_context*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:28,1
    - Dst: secp256k1_ge_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:29,1
    - Dst: secp256k1_fe_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_ecmult_gen_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: secp256k1_ecmult_gen_context_clear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_clear
    - secp256k1_ge_clear
    - secp256k1_fe_clear
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_context_clear(secp256k1_ecmult_gen_context
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_half
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:41,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:42,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:47,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - diff
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: secp256k1_ecmult_gen_scalar_diff
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_half
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_scalar_diff(secp256k1_scalar* diff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:66,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:110,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:113,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:115,1
    - Dst: secp256k1_rotr32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:219,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:234,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:235,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:248,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:252,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:253,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:254,1
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:257,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:259,1
    - Dst: secp256k1_gej_rescale
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:261,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:264,1
    - Dst: secp256k1_gej_double
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:270,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:275,1
    - Dst: secp256k1_fe_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:278,1
    - Dst: secp256k1_ge_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:279,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:280,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - r
    - gn
    argTypes:
    - secp256k1_ecmult_gen_context*
    - secp256k1_gej*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 282
    functionName: secp256k1_ecmult_gen
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 17
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_ge_storage_cmov
    - secp256k1_ge_clear
    - secp256k1_memclear
    - secp256k1_rotr32
    - secp256k1_scalar_get_bits_limb32
    - secp256k1_fe_cmov
    - secp256k1_fe_negate
    - secp256k1_gej_set_ge
    - memset
    - secp256k1_gej_rescale
    - secp256k1_gej_add_ge
    - secp256k1_ge_from_storage
    - EXPECT
    - secp256k1_gej_double
    - secp256k1_fe_clear
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen(const secp256k1_ecmult_gen_context *ctx,
      secp256k1_gej *r, const secp256k1_scalar *gn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen_scalar_diff
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:295,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:299,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:300,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:305,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:310,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:311,1
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:312,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:313,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:316,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:317,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:318,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:318,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:322,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:323,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:326,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:326,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:327,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:328,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:329,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:330,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:331,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:334,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:335,1
    - Dst: secp256k1_gej_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:336,1
    - Dst: secp256k1_fe_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:337,1
    - Dst: secp256k1_rfc6979_hmac_sha256_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - seed32
    argTypes:
    - secp256k1_ecmult_gen_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 339
    functionName: secp256k1_ecmult_gen_blind
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_gen_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    - secp256k1_ecmult_gen
    - secp256k1_fe_cmov
    - secp256k1_rfc6979_hmac_sha256_finalize
    - secp256k1_scalar_add
    - secp256k1_scalar_clear
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_scalar_negate
    - secp256k1_fe_clear
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_memclear
    - secp256k1_scalar_cmov
    - secp256k1_scalar_set_b32
    - secp256k1_rfc6979_hmac_sha256_generate
    - secp256k1_ecmult_gen_scalar_diff
    - secp256k1_ge_neg
    - secp256k1_rfc6979_hmac_sha256_initialize
    - secp256k1_fe_set_b32_mod
    - secp256k1_rfc6979_hmac_sha256_clear
    - secp256k1_scalar_is_zero
    - secp256k1_gej_clear
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_gen_blind(secp256k1_ecmult_gen_context *ctx,
      const unsigned char *seed32)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:21,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:21,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:24,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:24,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:27,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:29,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:32,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - elem
    - pub
    - size
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: secp256k1_eckey_pubkey_parse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_ge_set_xy
    - secp256k1_fe_set_b32_limit
    - secp256k1_ge_is_valid_var
    - secp256k1_ge_set_xo_var
    - secp256k1_fe_is_odd
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_pubkey_parse(secp256k1_ge *elem, const unsigned
      char *pub, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:39,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:41,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:44,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:45,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:46,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:49,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - elem
    - pub
    - size
    - compressed
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: secp256k1_eckey_pubkey_serialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h
    functionUses: 9
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_get_b32
    - secp256k1_fe_normalize_var
    - secp256k1_ge_is_infinity
    - secp256k1_fe_is_odd
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_pubkey_serialize(secp256k1_ge *elem, unsigned char
      *pub, size_t *size, int compressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:59,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - tweak
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: secp256k1_eckey_privkey_tweak_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar *key, const
      secp256k1_scalar *tweak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:65,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:66,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:68,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - tweak
    argTypes:
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: secp256k1_eckey_pubkey_tweak_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_ecmult
    - secp256k1_ge_set_gej
    - secp256k1_gej_is_infinity
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_pubkey_tweak_add(secp256k1_ge *key, const secp256k1_scalar
      *tweak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:77,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - tweak
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: secp256k1_eckey_privkey_tweak_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar *key, const
      secp256k1_scalar *tweak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:85,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:89,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:90,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - tweak
    argTypes:
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: secp256k1_eckey_pubkey_tweak_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/eckey_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult
    - secp256k1_ge_set_gej
    - secp256k1_scalar_is_zero
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: int
    signature: int secp256k1_eckey_pubkey_tweak_mul(secp256k1_ge *key, const secp256k1_scalar
      *tweak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timespec_get
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:25,1
    - Dst: fputs
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:26,1
    - Dst: exit
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:27,1
    - Dst: gettimeofday
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: gettime_i64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.h
    functionUses: 1
    functionsReached:
    - exit
    - timespec_get
    - fputs
    - gettimeofday
    linkageType: ''
    returnType: int64_t
    signature: int64_t gettime_i64(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:49,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:94,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:95,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 96
    functionName: print_number
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.h
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_number(const int64_t x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:106,1
    - Dst: gettime_i64
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:108,1
    - Dst: benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:109,1
    - Dst: gettime_i64
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:110,1
    - Dst: teardown
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:112,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:123,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:124,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:125,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:126,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:127,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:128,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - name
    - data
    - count
    - iter
    argTypes:
    - char*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: run_benchmark
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.h
    functionUses: 10
    functionsReached:
    - print_number
    - setup
    - gettime_i64
    - teardown
    - benchmark
    - printf
    linkageType: ''
    returnType: void
    signature: void run_benchmark(char *name, void (*benchmark)(void*, int), void
      (*setup)(void*), void (*teardown)(void*, int), void* data, int count, int iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - argc
    - argv
    - flag
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: have_flag
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.h
    functionUses: 8
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int have_flag(int argc, char** argv, char *flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - argc
    - argv
    - valid_args
    - n
    argTypes:
    - int
    - char**
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: have_invalid_args
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.h
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int have_invalid_args(int argc, char** argv, char** valid_args, size_t
      n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:171,1
    - Dst: strtol
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - default_iters
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: get_iters
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.h
    functionUses: 4
    functionsReached:
    - getenv
    - strtol
    linkageType: ''
    returnType: int
    signature: int get_iters(int default_iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:184,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: print_output_table_header_row
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench.h
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_output_table_header_row(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:27,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:28,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:29,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - seed16
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: testrand_seed
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE testrand_seed(const unsigned char *seed16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: rotl
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE rotl(const uint64_t x, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotl
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:45,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: testrand64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 4
    functionsReached:
    - rotl
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE testrand64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand64
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: testrand_bits
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 20
    functionsReached:
    - testrand64
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE testrand_bits(int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand64
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: testrand32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 0
    functionsReached:
    - testrand64
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE testrand32(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:69,1
    - Dst: testrand64
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: testrand_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 15
    functionsReached:
    - VERIFY_CHECK
    - testrand64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t testrand_int(uint32_t range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand64
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - b32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: testrand256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 26
    functionsReached:
    - testrand64
    linkageType: ''
    returnType: void
    signature: void testrand256(unsigned char *b32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:102,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:106,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:106,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: testrand_bytes_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 5
    functionsReached:
    - memset
    - testrand_bits
    linkageType: ''
    returnType: void
    signature: void testrand_bytes_test(unsigned char *bytes, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: testrand256_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 6
    functionsReached:
    - testrand_bytes_test
    linkageType: ''
    returnType: void
    signature: void testrand256_test(unsigned char *b32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:121,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: testrand_flip
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 3
    functionsReached:
    - testrand_bits
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void testrand_flip(unsigned char *b, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:126,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:130,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:139,1
    - Dst: fread
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:140,1
    - Dst: time
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:141,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:142,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:153,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:157,1
    - Dst: testrand_seed
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - hexseed
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 159
    functionName: testrand_init
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 2
    functionsReached:
    - strlen
    - testrand_seed
    - time
    - fread
    - fopen
    - fprintf
    - sscanf
    - fclose
    - printf
    linkageType: ''
    returnType: void
    signature: void testrand_init(const char* hexseed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:163,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: testrand_finish
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testrand_impl.h
    functionUses: 2
    functionsReached:
    - printf
    - testrand256
    linkageType: ''
    returnType: void
    signature: void testrand_finish(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CEIL_DIV
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:28,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:33,1
    - Dst: secp256k1_ecmult_gen_compute_table
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:34,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:36,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:38,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:40,1
    - Dst: SECP256K1_GE_STORAGE_CONST_GET
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:42,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:44,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:48,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:50,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - fp
    - blocks
    - teeth
    argTypes:
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: print_table
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c
    functionUses: 2
    functionsReached:
    - CEIL_DIV
    - checked_malloc
    - fprintf
    - SECP256K1_GE_STORAGE_CONST_GET
    - secp256k1_ecmult_gen_compute_table
    - free
    linkageType: ''
    returnType: void
    signature: void print_table(FILE* fp, int blocks, int teeth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:65,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:67,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:71,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:72,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:73,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:74,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:75,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:76,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:77,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:78,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:79,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:81,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:82,1
    - Dst: print_table
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:84,1
    - Dst: print_table
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:90,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:92,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:93,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:94,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:96,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:97,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult_gen.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fclose
    - print_table
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - hi
    - lo
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: secp256k1_u128_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_load(secp256k1_uint128 *r, uint64_t
      hi, uint64_t lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: secp256k1_u128_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_mul(secp256k1_uint128 *r, uint64_t
      a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: secp256k1_u128_accum_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_accum_mul(secp256k1_uint128 *r, uint64_t
      a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: secp256k1_u128_accum_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_accum_u64(secp256k1_uint128 *r, uint64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_uint128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: secp256k1_u128_rshift
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 10
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_rshift(secp256k1_uint128 *r, unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: secp256k1_u128_to_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_to_u64(const secp256k1_uint128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: secp256k1_u128_hi_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_hi_u64(const secp256k1_uint128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: secp256k1_u128_from_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_from_u64(secp256k1_uint128 *r, uint64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_uint128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: secp256k1_u128_check_bits
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_check_bits(const secp256k1_uint128
      *r, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - hi
    - lo
    argTypes:
    - secp256k1_int128*
    - int64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: secp256k1_i128_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_load(secp256k1_int128 *r, int64_t hi,
      uint64_t lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: secp256k1_i128_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_mul(secp256k1_int128 *r, int64_t a,
      int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: secp256k1_i128_accum_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_accum_mul(secp256k1_int128 *r, int64_t
      a, int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - r
    - a
    - b
    - c
    - d
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: secp256k1_i128_det
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_det(secp256k1_int128 *r, int64_t a,
      int64_t b, int64_t c, int64_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_int128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: secp256k1_i128_rshift
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_rshift(secp256k1_int128 *r, unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: secp256k1_i128_to_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_to_u64(const secp256k1_int128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: secp256k1_i128_to_i64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_to_i64(const secp256k1_int128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_int128*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: secp256k1_i128_from_i64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_from_i64(secp256k1_int128 *r, int64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: secp256k1_i128_eq_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_eq_var(const secp256k1_int128 *a, const
      secp256k1_int128 *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h:89,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - n
    - sign
    argTypes:
    - secp256k1_int128*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: secp256k1_i128_check_pow2
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_native_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_check_pow2(const secp256k1_int128 *r,
      unsigned int n, int sign)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bits
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: WNAF_SIZE_BITS
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WNAF_SIZE_BITS(bits, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: WNAF_SIZE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WNAF_SIZE(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:78,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:80,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:95,1
    - Dst: secp256k1_ge_set_gej_zinv
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:96,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:97,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:106,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:107,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - n
    - pre_a
    - zr
    - z
    - a
    argTypes:
    - int
    - secp256k1_ge*
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 115
    functionName: secp256k1_ecmult_odd_multiples_table
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_set_xy
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_set_ge
    - secp256k1_gej_double_var
    - secp256k1_fe_mul
    - secp256k1_ge_set_gej_zinv
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_odd_multiples_table(int n, secp256k1_ge *pre_a,
      secp256k1_fe *zr, secp256k1_fe *z, const secp256k1_gej *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:120,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:121,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - w
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: secp256k1_ecmult_table_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_table_verify(int n, int w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_table_verify
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:126,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - r
    - pre
    - n
    - w
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: secp256k1_ecmult_table_get_ge
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_negate
    - secp256k1_ecmult_table_verify
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_table_get_ge(secp256k1_ge *r, const
      secp256k1_ge *pre, int n, int w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_table_verify
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:136,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:138,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:140,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - r
    - pre
    - x
    - n
    - w
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    - secp256k1_fe*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: secp256k1_ecmult_table_get_ge_lambda
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_negate
    - secp256k1_ge_set_xy
    - secp256k1_ecmult_table_verify
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_table_get_ge_lambda(secp256k1_ge
      *r, const secp256k1_ge *pre, const secp256k1_fe *x, int n, int w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_table_verify
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:146,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:148,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:150,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - r
    - pre
    - n
    - w
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge_storage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: secp256k1_ecmult_table_get_ge_storage
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_negate
    - secp256k1_ge_from_storage
    - secp256k1_ecmult_table_verify
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_table_get_ge_storage(secp256k1_ge
      *r, const secp256k1_ge_storage *pre, int n, int w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:169,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:170,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:171,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:172,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:179,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:180,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:188,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:198,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:212,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:215,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - wnaf
    - len
    - a
    - w
    argTypes:
    - int*
    - int
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 221
    functionName: secp256k1_ecmult_wnaf
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_get_bits_var
    - VERIFY_CHECK
    - secp256k1_scalar_get_bits_limb32
    - secp256k1_scalar_negate
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_wnaf(int *wnaf, int len, const secp256k1_scalar
      *a, int w)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:251,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:255,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:255,1
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:259,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:262,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:263,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:264,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:265,1
    - Dst: secp256k1_gej_rescale
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:285,1
    - Dst: secp256k1_ecmult_odd_multiples_table
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:287,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:287,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:287,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:287,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:288,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:288,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:288,1
    - Dst: secp256k1_ge_table_set_globalz
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:295,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:295,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:299,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:300,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:300,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:300,1
    - Dst: secp256k1_scalar_split_128
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:306,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:309,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:310,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:319,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:323,1
    - Dst: secp256k1_ecmult_table_get_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:326,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:326,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:327,1
    - Dst: secp256k1_ecmult_table_get_ge_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:330,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:330,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:330,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:331,1
    - Dst: secp256k1_ecmult_table_get_ge_storage
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:335,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:336,1
    - Dst: secp256k1_ecmult_table_get_ge_storage
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:339,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:340,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:345,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 6
    argNames:
    - state
    - r
    - num
    - a
    - na
    - ng
    argTypes:
    - struct secp256k1_strauss_state*
    - secp256k1_gej*
    - size_t
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 347
    functionName: secp256k1_ecmult_strauss_wnaf
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_split_lambda
    - secp256k1_ecmult_table_get_ge
    - secp256k1_gej_rescale
    - secp256k1_scalar_split_128
    - secp256k1_gej_double_var
    - ECMULT_TABLE_SIZE
    - secp256k1_fe_set_int
    - secp256k1_ecmult_table_get_ge_storage
    - secp256k1_ecmult_odd_multiples_table
    - secp256k1_gej_add_zinv_var
    - secp256k1_gej_is_infinity
    - secp256k1_gej_add_ge_var
    - VERIFY_CHECK
    - secp256k1_ge_table_set_globalz
    - secp256k1_ecmult_table_get_ge_lambda
    - secp256k1_ecmult_wnaf
    - secp256k1_gej_set_infinity
    - secp256k1_fe_mul
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_strauss_wnaf(const struct secp256k1_strauss_state
      *state, secp256k1_gej *r, size_t num, const secp256k1_gej *a, const secp256k1_scalar
      *na, const secp256k1_scalar *ng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:350,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:351,1
    - Dst: secp256k1_ecmult_strauss_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - r
    - a
    - na
    - ng
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: secp256k1_ecmult
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 28
    functionsReached:
    - ECMULT_TABLE_SIZE
    - secp256k1_ecmult_strauss_wnaf
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult(secp256k1_gej *r, const secp256k1_gej *a, const
      secp256k1_scalar *na, const secp256k1_scalar *ng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n_points
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: secp256k1_strauss_scratch_size
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 19
    functionsReached:
    - ECMULT_TABLE_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_strauss_scratch_size(size_t n_points)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:371,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:373,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:381,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:382,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:383,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:383,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:384,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:384,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:385,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:388,1
    - Dst: cb
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:394,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:395,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:398,1
    - Dst: secp256k1_ecmult_strauss_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:400,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 8
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n_points
    - cb_offset
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 403
    functionName: secp256k1_ecmult_strauss_batch
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scratch_checkpoint
    - secp256k1_gej_set_infinity
    - secp256k1_gej_set_ge
    - secp256k1_scratch_alloc
    - secp256k1_scratch_apply_checkpoint
    - secp256k1_ecmult_strauss_wnaf
    - ECMULT_TABLE_SIZE
    - cb
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_strauss_batch(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc,
      secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points, size_t cb_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_strauss_batch
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: secp256k1_ecmult_strauss_batch_single
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_strauss_batch
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_strauss_batch_single(const secp256k1_callback*
      error_callback, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar
      *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:411,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error_callback
    - scratch
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: secp256k1_strauss_max_points
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scratch_max_allocation
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_strauss_max_points(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:428,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:429,1
    - Dst: secp256k1_scalar_is_even
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:435,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:439,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:442,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:446,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:447,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:447,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:457,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:457,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - wnaf
    - s
    - w
    argTypes:
    - int*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 481
    functionName: secp256k1_wnaf_fixed
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_get_bits_var
    - secp256k1_scalar_is_zero
    - WNAF_SIZE
    - secp256k1_scalar_is_even
    linkageType: ''
    returnType: int
    signature: int secp256k1_wnaf_fixed(int *wnaf, const secp256k1_scalar *s, int
      w)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:501,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:508,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:508,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:512,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:515,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:524,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:525,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:538,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:539,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:544,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:547,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:548,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:553,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:556,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:565,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:566,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:567,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:570,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:571,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:572,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 7
    argNames:
    - buckets
    - bucket_window
    - state
    - r
    - sc
    - pt
    - num
    argTypes:
    - secp256k1_gej*
    - int
    - struct secp256k1_pippenger_state*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 575
    functionName: secp256k1_ecmult_pippenger_wnaf
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_gej_add_ge_var
    - WNAF_SIZE
    - secp256k1_gej_set_infinity
    - secp256k1_ge_neg
    - secp256k1_gej_double_var
    - ECMULT_TABLE_SIZE
    - secp256k1_ge_is_infinity
    - secp256k1_scalar_is_zero
    - secp256k1_wnaf_fixed
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_pippenger_wnaf(secp256k1_gej *buckets, int bucket_window,
      struct secp256k1_pippenger_state *state, secp256k1_gej *r, const secp256k1_scalar
      *sc, const secp256k1_ge *pt, size_t num)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 605
    functionName: secp256k1_pippenger_bucket_window
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int secp256k1_pippenger_bucket_window(size_t n)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - bucket_window
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 626
    functionName: secp256k1_pippenger_bucket_window_inv
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_pippenger_bucket_window_inv(int bucket_window)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:631,1
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:632,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:634,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:635,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:636,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:638,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:639,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - s1
    - s2
    - p1
    - p2
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 642
    functionName: secp256k1_ecmult_endo_split
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_split_lambda
    - secp256k1_ge_mul_lambda
    - secp256k1_ge_neg
    - secp256k1_scalar_is_high
    - secp256k1_scalar_negate
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ecmult_endo_split(secp256k1_scalar *s1,
      secp256k1_scalar *s2, secp256k1_ge *p1, secp256k1_ge *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n_points
    - bucket_window
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: secp256k1_pippenger_scratch_size
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 2
    functionsReached:
    - WNAF_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_pippenger_scratch_size(size_t n_points, int bucket_window)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:655,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:668,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:672,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:678,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:679,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:680,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:682,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:685,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:686,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:686,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:687,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:689,1
    - Dst: secp256k1_ecmult_endo_split
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:697,1
    - Dst: cb
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:702,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:703,1
    - Dst: secp256k1_ecmult_endo_split
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:707,1
    - Dst: secp256k1_ecmult_pippenger_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:712,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:713,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 8
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n_points
    - cb_offset
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 715
    functionName: secp256k1_ecmult_pippenger_batch
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult_pippenger_wnaf
    - secp256k1_pippenger_bucket_window
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult_endo_split
    - secp256k1_scratch_alloc
    - secp256k1_scratch_apply_checkpoint
    - cb
    - secp256k1_scratch_checkpoint
    - WNAF_SIZE
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_pippenger_batch(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc,
      secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points, size_t cb_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_pippenger_batch
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 720
    functionName: secp256k1_ecmult_pippenger_batch_single
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_pippenger_batch
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_pippenger_batch_single(const secp256k1_callback*
      error_callback, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar
      *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:728,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:734,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - error_callback
    - scratch
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: secp256k1_pippenger_max_points
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_pippenger_bucket_window_inv
    - WNAF_SIZE
    - secp256k1_scratch_max_allocation
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_pippenger_max_points(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:767,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:768,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:770,1
    - Dst: cb
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:775,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:779,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:780,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n_points
    argTypes:
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 784
    functionName: secp256k1_ecmult_multi_simple_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_gej_set_ge
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult
    - cb
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_multi_simple_var(secp256k1_gej *r, const secp256k1_scalar
      *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CEIL_DIV
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:801,1
    - Dst: CEIL_DIV
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - n_batches
    - n_batch_points
    - max_n_batch_points
    - n
    argTypes:
    - size_t*
    - size_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 804
    functionName: secp256k1_ecmult_multi_batch_size_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 2
    functionsReached:
    - CEIL_DIV
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_multi_batch_size_helper(size_t *n_batches, size_t
      *n_batch_points, size_t max_n_batch_points, size_t n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:814,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:818,1
    - Dst: secp256k1_ecmult_multi_simple_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:822,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:829,1
    - Dst: secp256k1_pippenger_max_points
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:829,1
    - Dst: secp256k1_ecmult_multi_simple_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:830,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:835,1
    - Dst: secp256k1_strauss_max_points
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:835,1
    - Dst: secp256k1_ecmult_multi_simple_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:836,1
    - Dst: f
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:844,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h:847,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 7
    argNames:
    - error_callback
    - scratch
    - r
    - inp_g_sc
    - cb
    - cbdata
    - n
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_ecmult_multi_callback
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 851
    functionName: secp256k1_ecmult_multi_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_ecmult_multi_batch_size_helper
    - secp256k1_strauss_max_points
    - f
    - secp256k1_ecmult_multi_simple_var
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult
    - secp256k1_pippenger_max_points
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_multi_var(const secp256k1_callback* error_callback,
      secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc,
      secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: S
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/precomputed_ecmult.c
    functionUses: 106
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cnt
    - ','
    - nam
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CONDITIONAL_TEST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONDITIONAL_TEST(cnt, nam)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s
    - value
    - n
    argTypes:
    - void*
    - unsigned char
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: all_bytes_equal
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int all_bytes_equal(const void* s, unsigned char value, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - expr_or_stmt
    - ','
    - callback
    - ','
    - callback_setter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: CHECK_COUNTING_CALLBACK_VOID
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, callback, callback_setter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - expr_or_stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: CHECK_ERROR_VOID
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ERROR_VOID(ctx, expr_or_stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - expr_or_stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: CHECK_ILLEGAL_VOID
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ILLEGAL_VOID(ctx, expr_or_stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: CHECK_ILLEGAL
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ILLEGAL(ctx, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: CHECK_ERROR
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ERROR(ctx, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: counting_callback_fn
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: void
    signature: void counting_callback_fn(const char* str, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:95,1
    - Dst: testrand_seed
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:111,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:113,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:115,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: run_xoshiro256pp_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - testrand256
    - testrand_seed
    - CHECK
    linkageType: ''
    returnType: void
    signature: void run_xoshiro256pp_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: run_selftest_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_selftest
    linkageType: ''
    returnType: void
    signature: void run_selftest_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:126,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:127,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_ecmult_gen_context*
    - secp256k1_ecmult_gen_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: ecmult_gen_context_eq
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_equal
    - secp256k1_ge_eq_var
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: int
    signature: int ecmult_gen_context_eq(const secp256k1_ecmult_gen_context *a, const
      secp256k1_ecmult_gen_context *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecmult_gen_context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_context*
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: context_eq
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 4
    functionsReached:
    - ecmult_gen_context_eq
    linkageType: ''
    returnType: int
    signature: int context_eq(const secp256k1_context *a, const secp256k1_context
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:146,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:150,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:150,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:150,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:151,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:152,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:152,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:153,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: run_deprecated_context_flags_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_context_destroy
    - secp256k1_context_create
    - context_eq
    - secp256k1_context_preallocated_size
    linkageType: ''
    returnType: void
    signature: void run_deprecated_context_flags_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:165,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:166,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:169,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:169,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:170,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:171,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:171,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:172,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:173,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:173,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:174,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:175,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:175,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:176,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:177,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:177,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:178,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:178,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:179,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:179,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:180,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:180,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:181,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:181,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:182,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:182,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:183,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:183,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:184,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:184,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:185,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:185,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:186,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 187
    functionName: run_ec_illegal_argument_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ec_pubkey_negate
    - memset
    - secp256k1_ecdsa_sign
    - secp256k1_ec_pubkey_tweak_add
    - CHECK_ILLEGAL
    - secp256k1_ec_pubkey_tweak_mul
    - secp256k1_ecdsa_verify
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: void
    signature: void run_ec_illegal_argument_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:191,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:197,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:197,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:198,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:198,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:202,1
    - Dst: secp256k1_context_preallocated_clone_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:202,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:204,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:205,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:206,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:207,1
    - Dst: secp256k1_context_preallocated_clone
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:207,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:208,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:208,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:209,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:211,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:211,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:213,1
    - Dst: secp256k1_context_clone
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:213,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:214,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:214,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:221,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:222,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:223,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:224,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:225,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - use_prealloc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 228
    functionName: run_static_context_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - all_bytes_equal
    - secp256k1_context_set_illegal_callback
    - CHECK
    - secp256k1_context_preallocated_destroy
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - malloc
    - memset
    - secp256k1_context_clone
    - secp256k1_context_preallocated_clone
    - secp256k1_context_preallocated_clone_size
    - CHECK_ILLEGAL
    - CHECK_ILLEGAL_VOID
    - free
    linkageType: ''
    returnType: void
    signature: void run_static_context_tests(int use_prealloc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:242,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:245,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:245,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:246,1
    - Dst: secp256k1_context_preallocated_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:247,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:249,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:253,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:253,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:254,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:254,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:255,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:255,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:256,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:256,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:257,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:257,1
    - Dst: secp256k1_context_set_error_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:260,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:261,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:262,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:265,1
    - Dst: secp256k1_context_preallocated_clone_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:265,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:265,1
    - Dst: secp256k1_context_clone
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:274,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:275,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:275,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:276,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:278,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:279,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:279,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:280,1
    - Dst: secp256k1_context_preallocated_clone
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:282,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:283,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:283,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:284,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:289,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:289,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:290,1
    - Dst: secp256k1_context_preallocated_clone
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:292,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:293,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:293,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:294,1
    - Dst: secp256k1_context_clone
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:297,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:298,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:298,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:299,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:300,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:305,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:306,1
    - Dst: secp256k1_context_set_error_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:308,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:309,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:310,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:310,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:313,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:314,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:315,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:316,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:317,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:318,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:319,1
    - Dst: context_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:319,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:322,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:323,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:324,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:325,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:329,1
    - Dst: secp256k1_ecdsa_sig_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:330,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:333,1
    - Dst: secp256k1_ecdsa_sig_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:333,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:336,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:336,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:340,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:341,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:343,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:345,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:348,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 74
    argCount: 1
    argNames:
    - use_prealloc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 350
    functionName: run_proper_context_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecdsa_sig_sign
    - secp256k1_context_clone
    - secp256k1_ecmult_gen
    - secp256k1_context_preallocated_clone_size
    - testutil_random_scalar_order_test
    - secp256k1_context_preallocated_create
    - secp256k1_context_preallocated_clone
    - free
    - secp256k1_context_set_illegal_callback
    - secp256k1_context_create
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - malloc
    - secp256k1_context_preallocated_size
    - secp256k1_ge_set_gej
    - CHECK
    - secp256k1_context_preallocated_destroy
    - context_eq
    - secp256k1_context_set_error_callback
    - secp256k1_ecdsa_sig_verify
    linkageType: ''
    returnType: void
    signature: void run_proper_context_tests(int use_prealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_space_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:361,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:362,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:365,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:365,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:366,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:366,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:367,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:368,1
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:371,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:372,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:372,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:373,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:373,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:374,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:374,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:375,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:376,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:379,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:379,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:380,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:380,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:381,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:381,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:382,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:383,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:386,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:387,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:388,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:388,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:389,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:389,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:390,1
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:393,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:394,1
    - Dst: CHECK_ERROR_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:395,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:395,1
    - Dst: CHECK_ERROR_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:396,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:396,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:399,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:400,1
    - Dst: CHECK_ERROR
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:402,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:402,1
    - Dst: CHECK_ERROR
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:403,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:403,1
    - Dst: CHECK_ERROR_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:404,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:404,1
    - Dst: secp256k1_scratch_space_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:407,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:411,1
    - Dst: secp256k1_scratch_max_allocation
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:411,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:415,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:415,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:416,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 420
    functionName: run_scratch_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK_ERROR_VOID
    - secp256k1_scratch_space_destroy
    - CHECK
    - secp256k1_scratch_space_create
    - memset
    - secp256k1_scratch_alloc
    - secp256k1_scratch_apply_checkpoint
    - secp256k1_scratch_checkpoint
    - secp256k1_scratch_max_allocation
    - CHECK_ERROR
    linkageType: ''
    returnType: void
    signature: void run_scratch_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:429,1
    - Dst: secp256k1_ctz32_var_debruijn
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:429,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:430,1
    - Dst: secp256k1_ctz32_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:430,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:435,1
    - Dst: secp256k1_ctz64_var_debruijn
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:435,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:436,1
    - Dst: secp256k1_ctz64_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 439
    functionName: run_ctz_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ctz32_var_debruijn
    - CHECK
    - secp256k1_ctz32_var
    - secp256k1_ctz64_var_debruijn
    - secp256k1_ctz64_var
    linkageType: ''
    returnType: void
    signature: void run_ctz_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONDITIONAL_TEST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:469,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:477,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:479,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:479,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:482,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:483,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:483,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:485,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:486,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:486,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:487,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:490,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:491,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:491,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:494,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:495,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 498
    functionName: run_sha256_known_output_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CONDITIONAL_TEST
    - strlen
    - CHECK
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void run_sha256_known_output_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:596,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:596,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:597,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:598,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 600
    functionName: run_sha256_counter_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - strlen
    - CHECK
    - secp256k1_sha256_finalize
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void run_sha256_counter_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:607,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:609,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:610,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sha1
    - sha2
    argTypes:
    - secp256k1_sha256*
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: test_sha256_eq
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 4
    functionsReached:
    - secp256k1_memcmp_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_sha256_eq(const secp256k1_sha256 *sha1, const secp256k1_sha256
      *sha2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:642,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:642,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:643,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:643,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:644,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:645,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:645,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:646,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:647,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:647,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:648,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:648,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:649,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:650,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:650,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:651,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:652,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 655
    functionName: run_hmac_sha256_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_hmac_sha256_write
    - secp256k1_hmac_sha256_finalize
    - strlen
    - CHECK
    - secp256k1_hmac_sha256_initialize
    - secp256k1_memcmp_var
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void run_hmac_sha256_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:676,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:678,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:679,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:679,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:681,1
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:683,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:685,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:686,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:686,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:688,1
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:690,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:692,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:693,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:693,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 696
    functionName: run_rfc6979_hmac_sha256_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_rfc6979_hmac_sha256_generate
    - secp256k1_rfc6979_hmac_sha256_initialize
    - secp256k1_memcmp_var
    - secp256k1_rfc6979_hmac_sha256_finalize
    linkageType: ''
    returnType: void
    signature: void run_rfc6979_hmac_sha256_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:710,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:710,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:711,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:711,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:712,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:712,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:713,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:713,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:716,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:717,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:718,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:718,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:719,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 720
    functionName: run_tagged_sha256_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - memcpy
    - secp256k1_tagged_sha256
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    linkageType: ''
    returnType: void
    signature: void run_tagged_sha256_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 735
    functionName: modinv2p64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 2
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t modinv2p64(uint64_t x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:758,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:769,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:770,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:814,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:819,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:822,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 4
    argNames:
    - out
    - a
    - b
    - m
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 823
    functionName: mulmod256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 6
    functionsReached:
    - memset
    - CHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void mulmod256(uint16_t* out, const uint16_t* a, const uint16_t* b,
      const uint16_t* m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - secp256k1_modinv32_signed30*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: uint16_to_signed30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void uint16_to_signed30(secp256k1_modinv32_signed30* out, const uint16_t*
      in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint16_t*
    - secp256k1_modinv32_signed30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: signed30_to_uint16
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void signed30_to_uint16(uint16_t* out, const secp256k1_modinv32_signed30*
      in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_modinv32_signed30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 856
    functionName: mutate_sign_signed30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - testrand_bits
    linkageType: ''
    returnType: void
    signature: void mutate_sign_signed30(secp256k1_modinv32_signed30* x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint16_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:865,1
    - Dst: uint16_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:867,1
    - Dst: modinv2p64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:870,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:871,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:877,1
    - Dst: uint16_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:878,1
    - Dst: secp256k1_jacobi32_maybe_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:880,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:881,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:886,1
    - Dst: uint16_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:887,1
    - Dst: secp256k1_jacobi32_maybe_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:888,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:889,1
    - Dst: uint16_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:892,1
    - Dst: mutate_sign_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:893,1
    - Dst: signed30_to_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:899,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:902,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:903,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:904,1
    - Dst: signed30_to_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:910,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:911,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - out
    - in
    - mod
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 913
    functionName: test_modinv32_uint16
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - signed30_to_uint16
    - secp256k1_jacobi32_maybe_var
    - mulmod256
    - uint16_to_signed30
    - mutate_sign_signed30
    - modinv2p64
    linkageType: ''
    returnType: void
    signature: void test_modinv32_uint16(uint16_t* out, const uint16_t* in, const
      uint16_t* mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - secp256k1_modinv64_signed62*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 923
    functionName: uint16_to_signed62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void uint16_to_signed62(secp256k1_modinv64_signed62* out, const uint16_t*
      in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint16_t*
    - secp256k1_modinv64_signed62*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 932
    functionName: signed62_to_uint16
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void signed62_to_uint16(uint16_t* out, const secp256k1_modinv64_signed62*
      in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_modinv64_signed62*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 948
    functionName: mutate_sign_signed62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - testrand_bits
    linkageType: ''
    returnType: void
    signature: void mutate_sign_signed62(secp256k1_modinv64_signed62* x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint16_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:958,1
    - Dst: uint16_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:960,1
    - Dst: modinv2p64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:963,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:964,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:970,1
    - Dst: uint16_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:971,1
    - Dst: secp256k1_jacobi64_maybe_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:973,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:974,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:979,1
    - Dst: uint16_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:980,1
    - Dst: secp256k1_jacobi64_maybe_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:981,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:982,1
    - Dst: uint16_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:985,1
    - Dst: mutate_sign_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:986,1
    - Dst: signed62_to_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:992,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:995,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:996,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:997,1
    - Dst: signed62_to_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1003,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1004,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - out
    - in
    - mod
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1006
    functionName: test_modinv64_uint16
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - mutate_sign_signed62
    - uint16_to_signed62
    - CHECK
    - mulmod256
    - signed62_to_uint16
    - modinv2p64
    - secp256k1_jacobi64_maybe_var
    linkageType: ''
    returnType: void
    signature: void test_modinv64_uint16(uint16_t* out, const uint16_t* in, const
      uint16_t* mod)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1014,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1015,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1027,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1028,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1029,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1038
    functionName: coprime
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - mulmod256
    - memcpy
    linkageType: ''
    returnType: int
    signature: int coprime(const uint16_t* a, const uint16_t* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_modinv32_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1634,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1635,1
    - Dst: test_modinv64_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1637,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1638,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1652,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1653,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1658,1
    - Dst: coprime
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1659,1
    - Dst: test_modinv32_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1661,1
    - Dst: test_modinv64_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1663,1
    - Dst: test_modinv32_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1668,1
    - Dst: test_modinv64_uint16
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1674
    functionName: run_modinv_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_modinv32_uint16
    - test_modinv64_uint16
    - CHECK
    - coprime
    - testrand256_test
    - mulmod256
    linkageType: ''
    returnType: void
    signature: void run_modinv_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1689
    functionName: add256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add256(uint16_t* out, const uint16_t* a, const uint16_t* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1700
    functionName: neg256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void neg256(uint16_t* out, const uint16_t* a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - out
    - a
    - n
    - sign_extend
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1718
    functionName: rshift256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rshift256(uint16_t* out, const uint16_t* a, int n, int sign_extend)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - out
    - v
    - is_signed
    argTypes:
    - uint16_t*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1730
    functionName: load256u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void load256u64(uint16_t* out, uint64_t v, int is_signed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - out
    - hi
    - lo
    - is_signed
    argTypes:
    - uint16_t*
    - uint64_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1745
    functionName: load256two64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void load256two64(uint16_t* out, uint64_t hi, uint64_t lo, int is_signed)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1756
    functionName: int256is127
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int256is127(const uint16_t* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1759,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1759,1
    - Dst: load256two64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - v
    argTypes:
    - uint16_t*
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1761
    functionName: load256u128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_u128_to_u64
    - secp256k1_u128_hi_u64
    - load256two64
    linkageType: ''
    returnType: void
    signature: void load256u128(uint16_t* out, const secp256k1_uint128* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1767,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1768,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1769,1
    - Dst: load256two64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - v
    argTypes:
    - uint16_t*
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1771
    functionName: load256i128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_i128_to_i64
    - load256two64
    - secp256k1_i128_rshift
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void load256i128(uint16_t* out, const secp256k1_int128* v)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1785,1
    - Dst: secp256k1_u128_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1794,1
    - Dst: secp256k1_i128_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1795,1
    - Dst: load256u128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1801,1
    - Dst: load256i128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1802,1
    - Dst: load256u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1803,1
    - Dst: load256u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1804,1
    - Dst: load256u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1805,1
    - Dst: load256u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1806,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1808,1
    - Dst: secp256k1_u128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1809,1
    - Dst: load256u128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1810,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1811,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1811,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1813,1
    - Dst: add256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1814,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1816,1
    - Dst: load256u128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1817,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1818,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1818,1
    - Dst: add256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1820,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1822,1
    - Dst: load256u128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1823,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1824,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1824,1
    - Dst: rshift256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1826,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1828,1
    - Dst: load256u128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1829,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1830,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1830,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1832,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1832,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1834,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1834,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1836,1
    - Dst: load256u128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1837,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1838,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1838,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1847,1
    - Dst: secp256k1_u128_check_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1847,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1851,1
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1852,1
    - Dst: load256i128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1853,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1854,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1854,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1856,1
    - Dst: add256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1857,1
    - Dst: int256is127
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1858,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1860,1
    - Dst: load256i128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1861,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1862,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1862,1
    - Dst: load256u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1868,1
    - Dst: load256u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1869,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1870,1
    - Dst: neg256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1871,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1872,1
    - Dst: add256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1873,1
    - Dst: secp256k1_i128_det
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1874,1
    - Dst: load256i128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1875,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1876,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1876,1
    - Dst: rshift256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1879,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1881,1
    - Dst: load256i128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1882,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1883,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1883,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1885,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1885,1
    - Dst: secp256k1_i128_from_i64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1887,1
    - Dst: load256i128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1888,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1889,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1889,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1891,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1891,1
    - Dst: secp256k1_i128_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1904,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1906,1
    - Dst: secp256k1_i128_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1906,1
    - Dst: secp256k1_i128_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1921,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1931,1
    - Dst: secp256k1_i128_check_pow2
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1931,1
    - Dst: secp256k1_i128_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1947,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1957,1
    - Dst: secp256k1_i128_check_pow2
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1957,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1959
    functionName: run_int128_test_case
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_i128_det
    - secp256k1_u128_accum_u64
    - secp256k1_i128_from_i64
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - rshift256
    - secp256k1_u128_check_bits
    - load256i128
    - secp256k1_u128_mul
    - secp256k1_u128_load
    - mulmod256
    - secp256k1_i128_check_pow2
    - secp256k1_memcmp_var
    - secp256k1_i128_to_i64
    - secp256k1_u128_accum_mul
    - secp256k1_i128_rshift
    - secp256k1_i128_to_u64
    - neg256
    - int256is127
    - load256u64
    - secp256k1_i128_eq_var
    - load256u128
    - CHECK
    - testrand256_test
    - add256
    - secp256k1_i128_load
    - secp256k1_i128_accum_mul
    - secp256k1_i128_mul
    - secp256k1_u128_hi_u64
    linkageType: ''
    returnType: void
    signature: void run_int128_test_case(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_u128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1966,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1967,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1968,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1968,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1969,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1969,1
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1975,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1976,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1977,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1977,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1978,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1979,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1980,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1980,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1981,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1982,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1982,1
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1985,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1986,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1986,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1987,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1988,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1988,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1989,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1990,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1990,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1991,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1992,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1992,1
    - Dst: run_int128_test_case
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:1997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1999
    functionName: run_int128_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - run_int128_test_case
    - CHECK
    - secp256k1_u128_mul
    - secp256k1_i128_rshift
    - secp256k1_i128_accum_mul
    - secp256k1_u128_to_u64
    - secp256k1_i128_mul
    - secp256k1_i128_to_i64
    - secp256k1_u128_accum_mul
    - secp256k1_i128_to_u64
    - secp256k1_u128_hi_u64
    linkageType: ''
    returnType: void
    signature: void run_int128_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2011,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2014,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2017,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2018,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2024,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2028,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2028,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2030,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2032,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2034,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2034,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2041,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2045,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2049,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2049,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2051,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2053,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2056,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2056,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2062,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2063,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2064,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2064,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2072,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2073,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2074,1
    - Dst: secp256k1_scalar_is_one
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2074,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2076,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2080,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2082,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2083,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2083,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2085,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2086,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2086,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2093,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2094,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2095,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2095,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2101,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2102,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2103,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2104,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2105,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2105,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2111,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2112,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2113,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2114,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2115,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2115,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2121,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2122,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2123,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2124,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2125,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2126,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2126,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2132,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2133,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2133,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2139,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2140,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2140,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2146,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2147,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2147,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2153,1
    - Dst: secp256k1_scalar_half
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2154,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2155,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2157
    functionName: scalar_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_half
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - secp256k1_scalar_get_bits_limb32
    - testrand_bits
    - secp256k1_scalar_mul
    - secp256k1_scalar_cadd_bit
    - secp256k1_scalar_get_bits_var
    - testrand_int
    - secp256k1_scalar_is_one
    - testutil_random_scalar_order_test
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void scalar_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2165,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2166,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2167,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2167,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2168,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2168,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2170,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2171,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2171,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2172,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2173,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2174
    functionName: run_scalar_set_b32_seckey_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_scalar_set_b32
    - memset
    - testutil_random_scalar_order_b32
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void run_scalar_set_b32_seckey_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalar_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2179,1
    - Dst: run_scalar_set_b32_seckey_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2182,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2190,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2190,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2191,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2192,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2192,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2194,1
    - Dst: secp256k1_scalar_is_one
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2194,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2195,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2196,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2196,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2202,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2203,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2204,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2204,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2205,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2206,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2206,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2213,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2215,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2217,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2219,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2221,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2223,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2225,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2227,1
    - Dst: secp256k1_scalar_half
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2232,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2233,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2234,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2234,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2235,1
    - Dst: secp256k1_scalar_half
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2236,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2237,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2237,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2243,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2247,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2247,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2797,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2798,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2799,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2800,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2801,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2802,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2803,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2804,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2805,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2806,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2806,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2807,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2808,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2809,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2810,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2810,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2811,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2812,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2812,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2813,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2814,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2814,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2816,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2817,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2820
    functionName: run_scalar_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_half
    - secp256k1_scalar_add
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_inverse
    - scalar_test
    - secp256k1_scalar_set_int
    - secp256k1_scalar_check_overflow
    - secp256k1_scalar_mul
    - run_scalar_set_b32_seckey_tests
    - SECP256K1_SCALAR_CONST
    - secp256k1_scalar_inverse_var
    - secp256k1_scalar_negate
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_is_one
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void run_scalar_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_non_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2826,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2827,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ns
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2830
    functionName: random_fe_non_square
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_sqrt
    - testutil_random_fe_non_zero
    - secp256k1_fe_negate
    linkageType: ''
    returnType: void
    signature: void random_fe_non_square(secp256k1_fe *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2835,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2837
    functionName: fe_equal
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 24
    functionsReached:
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_equal
    linkageType: ''
    returnType: int
    signature: int fe_equal(const secp256k1_fe *a, const secp256k1_fe *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_STORAGE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2846,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2850,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2858,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2858,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2859,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2859,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2860,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2861,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2861,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2863,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2864,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2864,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2865,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2866,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2867
    functionName: run_field_convert
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_equal
    - SECP256K1_FE_CONST
    - SECP256K1_FE_STORAGE_CONST
    - CHECK
    - secp256k1_fe_set_b32_limit
    - secp256k1_fe_get_b32
    - secp256k1_fe_to_storage
    - secp256k1_fe_from_storage
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void run_field_convert(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2880,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2880,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2881,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2882,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2882,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2883,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2884,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2884,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2885,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2886,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2886,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2903,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2903,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2904,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2905,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2906,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2906,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2907,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2908,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2908,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2925,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2926,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2926,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2927,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2928,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2929,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2929,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2930,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2931,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2933
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2933
    functionName: run_field_be32_overflow
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - SECP256K1_FE_CONST
    - secp256k1_fe_normalizes_to_zero
    - CHECK
    - secp256k1_fe_set_b32_limit
    - secp256k1_fe_get_b32
    - secp256k1_fe_cmp_var
    - secp256k1_fe_set_b32_mod
    - secp256k1_fe_normalize
    - secp256k1_memcmp_var
    - secp256k1_fe_is_zero
    linkageType: ''
    returnType: void
    signature: void run_field_be32_overflow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2941
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2941
    functionName: fe_identical
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 2
    functionsReached:
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: int
    signature: int fe_identical(const secp256k1_fe *a, const secp256k1_fe *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_get_bounds
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2948,1
    - Dst: secp256k1_fe_half
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2949,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2951,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2952,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2954,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2954,1
    - Dst: secp256k1_fe_get_bounds
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2959,1
    - Dst: secp256k1_fe_half
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2962,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2964,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2965,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2967,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2968,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2969,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2969,1
    - Dst: secp256k1_fe_get_bounds
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2975,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2976,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2977,1
    - Dst: secp256k1_fe_half
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2981,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2983,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2984,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2986,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2987,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2988,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 2990
    functionName: run_field_half
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_get_bounds
    - CHECK
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_fe_add
    - secp256k1_fe_normalize_weak
    - fe_equal
    - secp256k1_fe_half
    linkageType: ''
    returnType: void
    signature: void run_field_half(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:2998,1
    - Dst: testutil_random_fe
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3003,1
    - Dst: testutil_random_fe_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3005,1
    - Dst: testutil_random_fe_non_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3007,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3008,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3010,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3012,1
    - Dst: secp256k1_fe_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3014,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3015,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3015,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3017,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3017,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3018,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3018,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3020,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3023,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3025,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3026,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3027,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3030,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3031,1
    - Dst: fe_identical
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3031,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3032,1
    - Dst: fe_identical
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3032,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3033,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3035,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3036,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3037,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3039,1
    - Dst: fe_identical
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3039,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3041,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3042,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3043,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3043,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3044,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3045,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3047,1
    - Dst: secp256k1_fe_negate_unchecked
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3050,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3051,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3052,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3054,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3057,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3059,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3060,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3061,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3062,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3063,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3064,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3064,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3065,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3066,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3066,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3067,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3068,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3069,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3071,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3072,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3074,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3075,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3075,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3076,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3077,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3078,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3078,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3080,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3081,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3082,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3082,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3083,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3084,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3085,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3086,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3086,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3087,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3087,1
    - Dst: secp256k1_fe_half
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3090,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3091,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3092,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3092,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3093,1
    - Dst: secp256k1_fe_half
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3094,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3095,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3095,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 3097
    functionName: run_field_misc
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_storage_cmov
    - secp256k1_fe_normalize_var
    - secp256k1_fe_negate
    - secp256k1_fe_set_int
    - secp256k1_fe_equal
    - secp256k1_fe_add
    - testutil_random_fe_non_zero
    - secp256k1_fe_cmov
    - secp256k1_fe_from_storage
    - secp256k1_fe_add_int
    - secp256k1_memcmp_var
    - testutil_random_fe_test
    - secp256k1_fe_mul_int
    - fe_identical
    - testrand_bits
    - fe_equal
    - secp256k1_fe_to_storage
    - SECP256K1_FE_CONST
    - CHECK
    - secp256k1_fe_negate_unchecked
    - secp256k1_fe_cmp_var
    - testutil_random_fe
    - secp256k1_fe_mul
    - secp256k1_fe_half
    linkageType: ''
    returnType: void
    signature: void run_field_misc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3117,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3119,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3125,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3126,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3127,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3128,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3129,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3130,1
    - Dst: mulmod256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3137,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3139,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - a
    - b
    - use_sqr
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3140
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3140
    functionName: test_fe_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_fe_get_b32
    - secp256k1_fe_normalize_var
    - secp256k1_fe_mul
    - mulmod256
    - secp256k1_memcmp_var
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void test_fe_mul(const secp256k1_fe* a, const secp256k1_fe* b, int
      use_sqr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3146,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3147,1
    - Dst: testutil_random_fe
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3148,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3149,1
    - Dst: testutil_random_fe_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3150,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3151,1
    - Dst: testutil_random_fe_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3152,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3153,1
    - Dst: test_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3154,1
    - Dst: test_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3155,1
    - Dst: test_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3156,1
    - Dst: test_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3157,1
    - Dst: test_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3158,1
    - Dst: test_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3161
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3161
    functionName: run_fe_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_fe_mul
    - testutil_random_fe_test
    - testutil_random_fe_magnitude
    - testutil_random_fe
    linkageType: ''
    returnType: void
    signature: void run_fe_mul(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3167,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3168,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3171,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3172,1
    - Dst: testutil_random_fe_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3175,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3178,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3179,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3180,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3181,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3183,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3184,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3185,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3186,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3188,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3163
    functionDepth: 0
    functionLinenumber: 3163
    functionLinenumberEnd: 3190
    functionName: run_sqr
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - fe_equal
    - secp256k1_fe_mul
    - secp256k1_fe_normalize
    - secp256k1_fe_mul_int
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - testutil_random_fe_test
    linkageType: ''
    returnType: void
    signature: void run_sqr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3194,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3195,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3199,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3200,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3200,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3201,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3201,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3202,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3202,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - k
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3192
    functionDepth: 0
    functionLinenumber: 3192
    functionLinenumberEnd: 3204
    functionName: test_sqrt
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_fe_sqrt
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_normalize
    - secp256k1_fe_is_zero
    linkageType: ''
    returnType: void
    signature: void test_sqrt(const secp256k1_fe *a, const secp256k1_fe *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3211,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3212,1
    - Dst: test_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3213,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3217,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3218,1
    - Dst: test_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3219,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3220,1
    - Dst: test_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3221,1
    - Dst: random_fe_non_square
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3227,1
    - Dst: testutil_random_fe
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3229,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3230,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3231,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3231,1
    - Dst: test_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3232,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3233,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3234,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3234,1
    - Dst: test_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3235,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3236,1
    - Dst: test_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3206
    functionDepth: 0
    functionLinenumber: 3206
    functionLinenumberEnd: 3240
    functionName: run_sqrt
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - random_fe_non_square
    - secp256k1_fe_negate
    - testutil_random_fe
    - secp256k1_fe_is_square_var
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - test_sqrt
    linkageType: ''
    returnType: void
    signature: void run_sqrt(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3267,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3268,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3268,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3271,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3272,1
    - Dst: secp256k1_scalar_is_one
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3272,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3273,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3274,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3276,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3278,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3279,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3280,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - out
    - x
    - var
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3261
    functionDepth: 0
    functionLinenumber: 3261
    functionLinenumberEnd: 3281
    functionName: test_inverse_scalar
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_is_one
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_inverse_scalar(secp256k1_scalar* out, const secp256k1_scalar*
      x, int var)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3290,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3291,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3291,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3294,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3295,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3296,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3296,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3298,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3299,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3301,1
    - Dst: secp256k1_fe_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3303,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3304,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3305,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - out
    - x
    - var
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3306
      start: 3283
    functionDepth: 0
    functionLinenumber: 3283
    functionLinenumberEnd: 3306
    functionName: test_inverse_field
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - secp256k1_fe_normalizes_to_zero
    - CHECK
    - secp256k1_fe_add
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    linkageType: ''
    returnType: void
    signature: void test_inverse_field(secp256k1_fe* out, const secp256k1_fe* x, int
      var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3313,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3314,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3316,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3317,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3319,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3320,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3322,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3323,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3325,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3326,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3328,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3329,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3331,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3332,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3334,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3335,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3337,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3338,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3339,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3340,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3341,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3342,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3343,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3344,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3345,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3346,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3347,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3348,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3349,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3350,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3351,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3352,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3353,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3354,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3355,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3356,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3358,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3359,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3360,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3361,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3362,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3363,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3364,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3365,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3366,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3367,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3368,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3369,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3370,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3371,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3372,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3373,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3374,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3375,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3376,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3377,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3378,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3379,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3380,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3381,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3382,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3383,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3384,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3385,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3386,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3387,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3388,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3389,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3390,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3391,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3392,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3393,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3394,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3395,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3396,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3397,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3398,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3399,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3400,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3401,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3402,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3403,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3404,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3405,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3406,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3407,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3408,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3409,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3410,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3411,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3412,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3413,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3418,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3419,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3421,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3422,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3424,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3425,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3427,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3428,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3430,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3431,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3433,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3434,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3436,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3437,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3439,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3440,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3442,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3443,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3444,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3445,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3446,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3447,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3448,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3449,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3450,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3451,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3452,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3453,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3454,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3455,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3456,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3457,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3458,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3459,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3460,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3461,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3462,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3463,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3464,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3465,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3466,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3467,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3468,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3469,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3470,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3471,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3472,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3473,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3474,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3475,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3476,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3477,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3478,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3479,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3480,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3481,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3482,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3483,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3484,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3485,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3486,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3487,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3488,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3489,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3490,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3491,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3492,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3493,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3494,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3495,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3496,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3497,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3498,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3499,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3505,1
    - Dst: test_inverse_field
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3509,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3510,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3510,1
    - Dst: test_inverse_field
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3511,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3512,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3512,1
    - Dst: test_inverse_scalar
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3517,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3518,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3518,1
    - Dst: test_inverse_scalar
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3519,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3520,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3520,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3527,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3528,1
    - Dst: test_inverse_scalar
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3530,1
    - Dst: test_inverse_field
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3531,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3533,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3534,1
    - Dst: test_inverse_scalar
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3536,1
    - Dst: test_inverse_field
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3537,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3544,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3545,1
    - Dst: test_inverse_scalar
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3547,1
    - Dst: test_inverse_field
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3548,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3308
    functionDepth: 0
    functionLinenumber: 3308
    functionLinenumberEnd: 3552
    functionName: run_inverse_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_inverse_scalar
    - SECP256K1_FE_CONST
    - CHECK
    - secp256k1_scalar_set_b32
    - test_inverse_field
    - secp256k1_fe_negate
    - memset
    - SECP256K1_SCALAR_CONST
    - fe_equal
    - secp256k1_fe_set_b32_mod
    - secp256k1_scalar_negate
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void run_inverse_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3559,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3560,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3561,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3562,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3563,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3564,1
    - Dst: secp256k1_heap_swap
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3565,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3566,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3556
    functionDepth: 0
    functionLinenumber: 3556
    functionLinenumberEnd: 3567
    functionName: test_heap_swap
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - memset
    - secp256k1_heap_swap
    - secp256k1_memcmp_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_heap_swap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3572,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - elements
    - n
    - len
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3574
      start: 3569
    functionDepth: 0
    functionLinenumber: 3569
    functionLinenumberEnd: 3574
    functionName: test_hsort_is_sorted
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_hsort_is_sorted(unsigned char *elements, size_t n, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ele1
    - ele2
    - data
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3586
      start: 3582
    functionDepth: 0
    functionLinenumber: 3582
    functionLinenumberEnd: 3586
    functionName: test_hsort_cmp
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: int
    signature: int test_hsort_cmp(const void *ele1, const void *ele2, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3595,1
    - Dst: secp256k1_hsort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3599,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3600,1
    - Dst: secp256k1_hsort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3601,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3602,1
    - Dst: secp256k1_hsort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3603,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3604,1
    - Dst: test_hsort_is_sorted
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3605,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3609,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3610,1
    - Dst: secp256k1_hsort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3611,1
    - Dst: test_hsort_is_sorted
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - element_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3590
    functionDepth: 0
    functionLinenumber: 3590
    functionLinenumberEnd: 3614
    functionName: test_hsort
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - test_hsort_is_sorted
    - CHECK
    - testrand_bytes_test
    - secp256k1_hsort
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void test_hsort(size_t element_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_heap_swap
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3620,1
    - Dst: test_hsort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3621,1
    - Dst: test_hsort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3622,1
    - Dst: test_hsort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3624
      start: 3619
    functionDepth: 0
    functionLinenumber: 3619
    functionLinenumberEnd: 3624
    functionName: run_hsort_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_hsort
    - test_heap_swap
    linkageType: ''
    returnType: void
    signature: void run_hsort_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3637,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3638,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3639,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3640,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3641,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3642,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3643,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3644,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3648
      start: 3629
    functionDepth: 0
    functionLinenumber: 3629
    functionLinenumberEnd: 3648
    functionName: gej_xyz_equals_gej
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 2
    functionsReached:
    - secp256k1_fe_normalize
    - secp256k1_fe_cmp_var
    linkageType: ''
    returnType: int
    signature: int gej_xyz_equals_gej(const secp256k1_gej *a, const secp256k1_gej
      *b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3659,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3660,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3664,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3665,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3669,1
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3671,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3672,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3672,1
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3675,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3679,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3680,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3681,1
    - Dst: testutil_random_ge_jacobian_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3682,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3683,1
    - Dst: testutil_random_ge_jacobian_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3684,1
    - Dst: testutil_random_ge_x_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3686,1
    - Dst: testutil_random_ge_y_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3687,1
    - Dst: testutil_random_gej_x_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3688,1
    - Dst: testutil_random_gej_y_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3689,1
    - Dst: testutil_random_gej_z_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3690,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3696,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3696,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3697,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3697,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3698,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3698,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3699,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3699,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3705,1
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3706,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3707,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3708,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3709,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3712,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3721,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3721,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3723,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3723,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3724,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3725,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3725,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3727,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3730,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3730,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3731,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3731,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3732,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3732,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3733,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3734,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3734,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3740,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3741,1
    - Dst: testutil_random_ge_x_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3742,1
    - Dst: testutil_random_ge_y_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3743,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3744,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3745,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3745,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3751,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3752,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3752,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3759,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3760,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3760,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3762,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3763,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3763,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3765,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3766,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3766,1
    - Dst: secp256k1_gej_double
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3768,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3769,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3769,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3774,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3774,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3779,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3779,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3780,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3780,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3781,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3781,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3784,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3784,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3785,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3785,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3786,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3786,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3794,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3799,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3807,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3809,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3809,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3810,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3815,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3816,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3817,1
    - Dst: testutil_random_fe_non_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3820,1
    - Dst: secp256k1_gej_rescale
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3821,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3822,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3822,1
    - Dst: secp256k1_ge_set_all_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3826,1
    - Dst: testutil_random_fe_non_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3829,1
    - Dst: secp256k1_gej_rescale
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3830,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3831,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3831,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3832,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3832,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3836,1
    - Dst: secp256k1_ge_set_all_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3837,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3838,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3838,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3839,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3839,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3840,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3840,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3843,1
    - Dst: secp256k1_ge_set_all_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3844,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3846,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3847,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3853,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3853,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3855,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3856,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3856,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3864,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3865,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3866,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3867,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3868,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3869,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3870,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3870,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3876,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3877,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3878,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3881,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3883,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3886,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3889,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3889,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3894,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3897,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3900,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3900,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3903,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3904,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 166
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3650
    functionDepth: 0
    functionLinenumber: 3650
    functionLinenumberEnd: 3905
    functionName: test_ge
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_eq_var
    - secp256k1_ge_set_all_gej_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_gej_rescale
    - secp256k1_gej_double_var
    - testutil_random_gej_x_magnitude
    - secp256k1_ge_x_frac_on_curve_var
    - testrand_int
    - secp256k1_ge_mul_lambda
    - testutil_random_gej_z_magnitude
    - secp256k1_fe_equal
    - checked_malloc
    - secp256k1_gej_eq_ge_var
    - secp256k1_ge_set_gej_var
    - testutil_random_fe_non_zero
    - testutil_random_ge_x_magnitude
    - secp256k1_gej_double
    - secp256k1_gej_add_zinv_var
    - secp256k1_ge_is_infinity
    - free
    - secp256k1_gej_is_infinity
    - secp256k1_ge_set_infinity
    - secp256k1_gej_add_ge_var
    - testutil_random_fe_non_zero_test
    - secp256k1_gej_add_ge
    - testutil_random_ge_y_magnitude
    - secp256k1_ge_set_all_gej
    - secp256k1_fe_sqr
    - secp256k1_fe_is_odd
    - secp256k1_gej_add_var
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_ge_x_on_curve_var
    - secp256k1_gej_set_infinity
    - secp256k1_ge_neg
    - secp256k1_fe_inv_var
    - secp256k1_fe_mul
    - testutil_random_fe_magnitude
    - secp256k1_ge_set_xo_var
    - testutil_random_ge_jacobian_test
    - testutil_random_gej_y_magnitude
    linkageType: ''
    returnType: void
    signature: void test_ge(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3913,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3914,1
    - Dst: secp256k1_gej_neg
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3915,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3917,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3918,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3918,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3919,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3919,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3920,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3920,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3921,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3921,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3923,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3924,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3924,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3925,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3925,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3926,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3926,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3927,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3927,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3929,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3930,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3931,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3931,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3932,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3932,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3933,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3933,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3934,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3937
      start: 3907
    functionDepth: 0
    functionLinenumber: 3907
    functionLinenumberEnd: 3937
    functionName: test_intialized_inf
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_gej_add_ge_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_gej_add_zinv_var
    - secp256k1_fe_is_zero
    - secp256k1_fe_set_int
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_intialized_inf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3963,1
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3969,1
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3975,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3984,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3986,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3987,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3988,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3988,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3990,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3991,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3992,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3992,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3994,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3995,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3996,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:3996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3997
      start: 3939
    functionDepth: 0
    functionLinenumber: 3939
    functionLinenumberEnd: 3997
    functionName: test_add_neg_y_diff_x
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - SECP256K1_GEJ_CONST
    - CHECK
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_eq_ge_var
    - secp256k1_gej_add_ge
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_add_neg_y_diff_x(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4007,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4009,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4012,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4013,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4015,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4016,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4016,1
    - Dst: secp256k1_ge_from_bytes_ext
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4018,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4019,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4019,1
    - Dst: secp256k1_ge_to_bytes_ext
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4021,1
    - Dst: secp256k1_ge_from_bytes_ext
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4022,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4023,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 3999
    functionDepth: 0
    functionLinenumber: 3999
    functionLinenumberEnd: 4025
    functionName: test_ge_bytes
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_ge_set_infinity
    - testutil_random_ge_test
    - secp256k1_ge_to_bytes
    - secp256k1_ge_from_bytes
    - secp256k1_ge_to_bytes_ext
    - secp256k1_ge_from_bytes_ext
    - secp256k1_ge_is_infinity
    linkageType: ''
    returnType: void
    signature: void test_ge_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4030,1
    - Dst: test_add_neg_y_diff_x
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4032,1
    - Dst: test_intialized_inf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4033,1
    - Dst: test_ge_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4035
      start: 4027
    functionDepth: 1
    functionLinenumber: 4027
    functionLinenumberEnd: 4035
    functionName: run_ge
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_ge_bytes
    - test_ge
    - test_intialized_inf
    - test_add_neg_y_diff_x
    linkageType: ''
    returnType: void
    signature: void run_ge(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4039,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4040,1
    - Dst: gej_xyz_equals_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4040,1
    - Dst: secp256k1_gej_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4041,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4042,1
    - Dst: gej_xyz_equals_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4043
      start: 4037
    functionDepth: 0
    functionLinenumber: 4037
    functionLinenumberEnd: 4043
    functionName: test_gej_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_cmov
    - gej_xyz_equals_gej
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_gej_cmov(const secp256k1_gej *a, const secp256k1_gej *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4051,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4052,1
    - Dst: test_gej_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4053,1
    - Dst: testutil_random_gej_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4055,1
    - Dst: test_gej_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4056,1
    - Dst: test_gej_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4057,1
    - Dst: test_gej_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4060,1
    - Dst: testutil_random_gej_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4062,1
    - Dst: test_gej_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4063,1
    - Dst: test_gej_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4064,1
    - Dst: testutil_random_gej_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4070,1
    - Dst: testutil_random_gej_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4071,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4072,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4072,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4075,1
    - Dst: secp256k1_gej_rescale
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4076,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4077,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4079
      start: 4045
    functionDepth: 0
    functionLinenumber: 4045
    functionLinenumberEnd: 4079
    functionName: run_gej
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_eq_var
    - CHECK
    - test_gej_cmov
    - secp256k1_gej_set_infinity
    - testutil_random_fe_non_zero_test
    - secp256k1_gej_rescale
    - testutil_random_gej_test
    linkageType: ''
    returnType: void
    signature: void run_gej(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4092,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4093,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4094,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4095,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4096,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4098,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4099,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4100,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4101,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4101,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4102,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4104
      start: 4081
    functionDepth: 0
    functionLinenumber: 4081
    functionLinenumberEnd: 4104
    functionName: test_ec_combine
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_add
    - CHECK
    - secp256k1_ecmult_gen
    - secp256k1_ec_pubkey_combine
    - secp256k1_memcmp_var
    - testutil_random_scalar_order_test
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: void
    signature: void test_ec_combine(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ec_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4111
      start: 4106
    functionDepth: 0
    functionLinenumber: 4106
    functionLinenumberEnd: 4111
    functionName: run_ec_combine
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_ec_combine
    linkageType: ''
    returnType: void
    signature: void run_ec_combine(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4121,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4123,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4124,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4126,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4129,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4130,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4131,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4132,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4135,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4136,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4139,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4139,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4140,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4140,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4143,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4143,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4144,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4113
    functionDepth: 0
    functionLinenumber: 4113
    functionLinenumberEnd: 4146
    functionName: test_group_decompress
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_fe_normalize_var
    - secp256k1_ge_set_xo_var
    - secp256k1_fe_is_odd
    linkageType: ''
    returnType: void
    signature: void test_group_decompress(const secp256k1_fe* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4152,1
    - Dst: test_group_decompress
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4155
      start: 4148
    functionDepth: 0
    functionLinenumber: 4148
    functionLinenumberEnd: 4155
    functionName: run_group_decompress
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_group_decompress
    - testutil_random_fe_test
    linkageType: ''
    returnType: void
    signature: void run_group_decompress(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4175,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4177,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4178,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4178,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4180,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4181,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4182,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4184,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4184,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4184,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4185,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4185,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4185,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4187,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4187,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4187,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4189,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4190,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4190,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4192,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4192,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4193,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4195,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4195,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4195,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4198,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4198,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4198,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4201,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4202,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4203,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - pre_g
    - n
    argTypes:
    - secp256k1_ge_storage*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 4159
    functionDepth: 0
    functionLinenumber: 4159
    functionLinenumberEnd: 4207
    functionName: test_pre_g_table
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_ge_is_valid_var
    - secp256k1_fe_add
    - secp256k1_ge_set_gej_var
    - secp256k1_gej_set_ge
    - secp256k1_fe_negate
    - secp256k1_fe_normalize_weak
    - secp256k1_gej_double_var
    - secp256k1_ge_from_storage
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void test_pre_g_table(const secp256k1_ge_storage * pre_g, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_pre_g_table
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4216,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4216,1
    - Dst: test_pre_g_table
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4217,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4217,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4220,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4221,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4221,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4224,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4226,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4228,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4229,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4230,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4231
      start: 4209
    functionDepth: 0
    functionLinenumber: 4209
    functionLinenumberEnd: 4231
    functionName: run_ecmult_pre_g
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - CHECK
    - secp256k1_ge_to_storage
    - test_pre_g_table
    - secp256k1_gej_set_ge
    - secp256k1_gej_double_var
    - secp256k1_memcmp_var
    - ECMULT_TABLE_SIZE
    linkageType: ''
    returnType: void
    signature: void run_ecmult_pre_g(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4235,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4242,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4246,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4251,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4252,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4265,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4268,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4269,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4270,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4272,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4273,1
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4278,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4284,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4284,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4288,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4289,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4233
    functionDepth: 0
    functionLinenumber: 4233
    functionLinenumberEnd: 4290
    functionName: run_ecmult_chain
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - SECP256K1_GEJ_CONST
    - secp256k1_gej_eq_var
    - CHECK
    - secp256k1_ecmult
    - secp256k1_scalar_mul
    - SECP256K1_SCALAR_CONST
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void run_ecmult_chain(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4300,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4301,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4302,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4303,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4304,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4305,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4305,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4306,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4307,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4307,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4308,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4308,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4309,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4309,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4311,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4311,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4313,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4314,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4315,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4315,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4316,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4317,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4318,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4318,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4319,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4320,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4321,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - point
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4322
      start: 4292
    functionDepth: 0
    functionLinenumber: 4292
    functionLinenumberEnd: 4322
    functionName: test_point_times_order
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_eckey_pubkey_serialize
    - secp256k1_ge_set_gej
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_ge_eq_var
    - secp256k1_ge_is_valid_var
    - secp256k1_gej_eq_ge_var
    - secp256k1_ecmult
    - secp256k1_scalar_negate
    - secp256k1_ge_is_infinity
    - testutil_random_scalar_order_test
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_point_times_order(const secp256k1_gej *point)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4361,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4362,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4363,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4367,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4368,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4373,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4374,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4375,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4377,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4378,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4379,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4381,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4382,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4383,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4387,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4388,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4389,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - target
    - mode
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4390
      start: 4354
    functionDepth: 0
    functionLinenumber: 4354
    functionLinenumberEnd: 4390
    functionName: test_ecmult_target
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_gej_add_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_ecmult_gen
    - secp256k1_ecmult
    - secp256k1_ecmult_const
    - secp256k1_scalar_negate
    - testutil_random_scalar_order_test
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_ecmult_target(const secp256k1_scalar* target, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecmult_target
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4397,1
    - Dst: test_ecmult_target
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4398,1
    - Dst: test_ecmult_target
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4402
      start: 4392
    functionDepth: 0
    functionLinenumber: 4392
    functionLinenumberEnd: 4402
    functionName: run_ecmult_near_split_bound
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_ecmult_target
    linkageType: ''
    returnType: void
    signature: void run_ecmult_near_split_bound(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4406,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4407,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4413,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4415,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4415,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4416,1
    - Dst: test_point_times_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4417,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4419,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4421,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4422,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4423
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4423
    functionName: run_point_times_order
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_equal
    - SECP256K1_FE_CONST
    - CHECK
    - secp256k1_ge_is_valid_var
    - secp256k1_gej_set_ge
    - secp256k1_fe_normalize_var
    - test_point_times_order
    - secp256k1_ge_set_xo_var
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void run_point_times_order(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4427,1
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4434,1
    - Dst: SECP256K1_GE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4439,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4446,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4448,1
    - Dst: secp256k1_ge_is_valid_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4448,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4449,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4450
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4450
    functionName: ecmult_const_random_mult
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_ge_is_valid_var
    - SECP256K1_GE_CONST
    - secp256k1_gej_eq_ge_var
    - SECP256K1_SCALAR_CONST
    - secp256k1_ecmult_const
    linkageType: ''
    returnType: void
    signature: void ecmult_const_random_mult(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4459,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4460,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4462,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4463,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4464,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4465,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4466,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4467,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4468,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4469,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4470,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4471
      start: 4452
    functionDepth: 0
    functionLinenumber: 4452
    functionLinenumberEnd: 4471
    functionName: ecmult_const_commutativity
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_ecmult_const
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void ecmult_const_commutativity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4481,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4482,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4483,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4484,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4487,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4488,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4488,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4491,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4492,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4492,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4495,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4496,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4497,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4497,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4500,1
    - Dst: secp256k1_gej_neg
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4501,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4502,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4503,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4473
    functionDepth: 0
    functionLinenumber: 4473
    functionLinenumberEnd: 4504
    functionName: ecmult_const_mult_zero_one
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_ge_set_infinity
    - secp256k1_ge_eq_var
    - testutil_random_ge_test
    - secp256k1_ecmult_const
    - secp256k1_scalar_negate
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void ecmult_const_mult_zero_one(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4509,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4510,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4511,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4512,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - A
    - q
    - res
    argTypes:
    - secp256k1_ge*
    - secp256k1_scalar*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4513
      start: 4506
    functionDepth: 0
    functionLinenumber: 4506
    functionLinenumberEnd: 4513
    functionName: ecmult_const_check_result
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - CHECK
    - secp256k1_gej_eq_ge_var
    - secp256k1_gej_set_ge
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void ecmult_const_check_result(const secp256k1_ge *A, const secp256k1_scalar*
      q, const secp256k1_gej *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4531,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4533,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4534,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4536,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4537,1
    - Dst: ecmult_const_check_result
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4540
      start: 4515
    functionDepth: 0
    functionLinenumber: 4515
    functionLinenumberEnd: 4540
    functionName: ecmult_const_edges
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - testutil_random_ge_test
    - secp256k1_ecmult_const
    - ecmult_const_check_result
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void ecmult_const_edges(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4553,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4555,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4558,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4559,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4564,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4565,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4567,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4568,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4570,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4571,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4572,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4572,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4580,1
    - Dst: testutil_random_fe_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4583,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4584,1
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4587,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4588,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4592,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4542
    functionDepth: 0
    functionLinenumber: 4542
    functionLinenumberEnd: 4595
    functionName: ecmult_const_mult_xonly
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult_const_xonly
    - CHECK
    - secp256k1_ge_x_on_curve_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - testutil_random_fe_non_zero_test
    - secp256k1_ecmult
    - fe_equal
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - testutil_random_fe_test
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void ecmult_const_mult_xonly(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4599,1
    - Dst: SECP256K1_GEJ_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4603,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4613,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4616,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4617,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4619,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4620,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4597
    functionDepth: 0
    functionLinenumber: 4597
    functionLinenumberEnd: 4621
    functionName: ecmult_const_chain_multiply
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - SECP256K1_GEJ_CONST
    - CHECK
    - secp256k1_gej_eq_ge_var
    - secp256k1_gej_set_ge
    - SECP256K1_SCALAR_CONST
    - secp256k1_ecmult_const
    linkageType: ''
    returnType: void
    signature: void ecmult_const_chain_multiply(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecmult_const_mult_zero_one
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4624,1
    - Dst: ecmult_const_edges
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4625,1
    - Dst: ecmult_const_random_mult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4626,1
    - Dst: ecmult_const_commutativity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4627,1
    - Dst: ecmult_const_chain_multiply
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4628,1
    - Dst: ecmult_const_mult_xonly
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4630
      start: 4623
    functionDepth: 0
    functionLinenumber: 4623
    functionLinenumberEnd: 4630
    functionName: run_ecmult_const_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - ecmult_const_mult_xonly
    - ecmult_const_random_mult
    - ecmult_const_edges
    - ecmult_const_chain_multiply
    - ecmult_const_commutativity
    - ecmult_const_mult_zero_one
    linkageType: ''
    returnType: void
    signature: void run_ecmult_const_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - cbdata
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4642
      start: 4637
    functionDepth: 0
    functionLinenumber: 4637
    functionLinenumberEnd: 4642
    functionName: ecmult_multi_callback
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecmult_multi_callback(secp256k1_scalar *sc, secp256k1_ge *pt, size_t
      idx, void *cbdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - cbdata
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4650
      start: 4644
    functionDepth: 0
    functionLinenumber: 4644
    functionLinenumberEnd: 4650
    functionName: ecmult_multi_false_callback
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecmult_multi_false_callback(secp256k1_scalar *sc, secp256k1_ge
      *pt, size_t idx, void *cbdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4664,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4664,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4670,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4671,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4673,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4674,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4679,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4680,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4680,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4681,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4681,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4684,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4685,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4685,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4686,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4686,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4689,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4689,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4692,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4693,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4693,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4694,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4694,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4697,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4698,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4698,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4699,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4699,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4710,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4711,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4713,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4713,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4714,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4714,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4719,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4721,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4723,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4723,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4724,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4724,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4728,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4730,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4731,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4736,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4736,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4737,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4737,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4739,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4741,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4746,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4749,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4749,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4750,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4750,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4753,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4754,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4759,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4760,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4761,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4764,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4764,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4765,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4765,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4771,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4773,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4777,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4779,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4782,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4783,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4783,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4784,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4784,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4793,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4795,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4797,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4799,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4802,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4803,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4804,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4804,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4805,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4805,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4810,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4811,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4814,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4815,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4815,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4816,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4817,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4818,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4819,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4820,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4820,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4821,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4821,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4822,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4822,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4832,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4833,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4840,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4841,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4842,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4843,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4845,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4846,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4853,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4854,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4856,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4857,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4858,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4859,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4861,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4862,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4863,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4865,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4866,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4866,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4867,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4867,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 144
    argCount: 2
    argNames:
    - scratch
    - ecmult_multi
    argTypes:
    - secp256k1_scratch*
    - secp256k1_ecmult_multi_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4873
      start: 4652
    functionDepth: 0
    functionLinenumber: 4652
    functionLinenumberEnd: 4873
    functionName: test_ecmult_multi
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - ecmult_multi
    - secp256k1_gej_eq_var
    - secp256k1_ge_set_gej
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_ge_set_infinity
    - testutil_random_scalar_order
    - secp256k1_scalar_set_int
    - secp256k1_gej_add_ge_var
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult
    - secp256k1_ge_neg
    - secp256k1_scalar_cond_negate
    - secp256k1_scalar_mul
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi(secp256k1_scratch *scratch, secp256k1_ecmult_multi_func
      ecmult_multi)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4903,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4908,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4910,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4912,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4914,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4919,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4921,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4925,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4928,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4929,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4930,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4934,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4937,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4938,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4939,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4940,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4941,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4942,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4950,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4951,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4952,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4958,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4959,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4964,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4965,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4970,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4971,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4972,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4974,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4975,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4976,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:4989,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5003,1
    - Dst: secp256k1_gej_neg
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5004,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5005,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5008,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5009,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5010,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5011,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5012,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5018,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5030,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5034,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5034,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5037,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5037,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 79
    argCount: 1
    argNames:
    - scratch
    argTypes:
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5039
      start: 4875
    functionDepth: 0
    functionLinenumber: 4875
    functionLinenumberEnd: 5039
    functionName: test_ecmult_multi_random
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_eq_var
    - secp256k1_ge_set_all_gej_var
    - secp256k1_scalar_inverse
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - secp256k1_scalar_mul
    - secp256k1_ecmult_gen
    - testrand_int
    - testutil_random_scalar_order_test
    - secp256k1_gej_neg
    - secp256k1_scalar_set_int
    - secp256k1_scalar_inverse_var
    - secp256k1_scalar_add
    - ecmult_multi
    - testrand_bits
    - secp256k1_scalar_negate
    - secp256k1_gej_add_var
    - CHECK
    - secp256k1_gej_set_infinity
    - secp256k1_ecmult
    linkageType: ''
    returnType: int
    signature: int test_ecmult_multi_random(secp256k1_scratch *scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5048,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5049,1
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5054,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5055,1
    - Dst: ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5055,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ecmult_multi
    argTypes:
    - secp256k1_ecmult_multi_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5057
      start: 5041
    functionDepth: 0
    functionLinenumber: 5041
    functionLinenumberEnd: 5057
    functionName: test_ecmult_multi_batch_single
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - ecmult_multi
    - CHECK
    - secp256k1_scratch_create
    - testutil_random_scalar_order
    - testutil_random_ge_test
    - secp256k1_scratch_destroy
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi_batch_single(secp256k1_ecmult_multi_func ecmult_multi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5062,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5062,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5068,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5068,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5068,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5070,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5070,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5073
      start: 5059
    functionDepth: 0
    functionLinenumber: 5059
    functionLinenumberEnd: 5073
    functionName: test_secp256k1_pippenger_bucket_window_inv
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_pippenger_bucket_window_inv
    - secp256k1_pippenger_bucket_window
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_secp256k1_pippenger_bucket_window_inv(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5080,1
    - Dst: secp256k1_pippenger_scratch_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5081,1
    - Dst: secp256k1_pippenger_bucket_window_inv
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5081,1
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5090,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5091,1
    - Dst: secp256k1_scratch_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5092,1
    - Dst: secp256k1_pippenger_max_points
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5093,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5095,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5098,1
    - Dst: secp256k1_pippenger_scratch_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5100,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5102,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5102,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5105,1
    - Dst: secp256k1_scratch_alloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5105,1
    - Dst: secp256k1_scratch_apply_checkpoint
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5106,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5107,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5110
      start: 5079
    functionDepth: 0
    functionLinenumber: 5079
    functionLinenumberEnd: 5110
    functionName: test_ecmult_multi_pippenger_max_points
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_scratch_create
    - secp256k1_pippenger_bucket_window_inv
    - secp256k1_scratch_destroy
    - secp256k1_pippenger_bucket_window
    - testrand_bits
    - secp256k1_scratch_alloc
    - secp256k1_scratch_apply_checkpoint
    - secp256k1_pippenger_scratch_size
    - secp256k1_pippenger_max_points
    - secp256k1_scratch_checkpoint
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi_pippenger_max_points(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5117,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5117,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5121,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5121,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5122,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5123,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5127,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5127,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5128,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5129,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5133,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5133,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5134,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5135,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5139,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5139,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5140,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5141,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5145,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5145,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5146,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5147,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5151,1
    - Dst: secp256k1_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5151,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5152,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5154
      start: 5112
    functionDepth: 0
    functionLinenumber: 5112
    functionLinenumberEnd: 5154
    functionName: test_ecmult_multi_batch_size_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult_multi_batch_size_helper
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi_batch_size_helper(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5163,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5164,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5171,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5174,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5175,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5179,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5180,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5182,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5183,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5184,1
    - Dst: secp256k1_gej_neg
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5188,1
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5192,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5193,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5193,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5194,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5195,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5195,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5196,1
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5201,1
    - Dst: secp256k1_pippenger_scratch_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5201,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5202,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5202,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5203,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5204,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5204,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5205,1
    - Dst: secp256k1_pippenger_bucket_window
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5209,1
    - Dst: secp256k1_pippenger_scratch_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5210,1
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5211,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5213,1
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5214,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5216,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5216,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5217,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5218,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5218,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5219,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5221,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5223
      start: 5160
    functionDepth: 0
    functionLinenumber: 5160
    functionLinenumberEnd: 5223
    functionName: test_ecmult_multi_batching
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - secp256k1_scratch_create
    - CHECK
    - checked_malloc
    - testutil_random_scalar_order
    - testutil_random_ge_test
    - secp256k1_scratch_destroy
    - secp256k1_gej_set_infinity
    - secp256k1_gej_set_ge
    - secp256k1_ecmult
    - secp256k1_pippenger_bucket_window
    - secp256k1_ecmult_multi_var
    - secp256k1_pippenger_scratch_size
    - free
    - secp256k1_strauss_scratch_size
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_ecmult_multi_batching(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_secp256k1_pippenger_bucket_window_inv
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5229,1
    - Dst: test_ecmult_multi_pippenger_max_points
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5230,1
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5231,1
    - Dst: test_ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5232,1
    - Dst: test_ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5233,1
    - Dst: test_ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5234,1
    - Dst: test_ecmult_multi_batch_single
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5235,1
    - Dst: test_ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5236,1
    - Dst: test_ecmult_multi_batch_single
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5237,1
    - Dst: test_ecmult_multi_random
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5239,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5241,1
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5244,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5244,1
    - Dst: test_ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5245,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5246,1
    - Dst: test_ecmult_multi_batch_size_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5248,1
    - Dst: test_ecmult_multi_batching
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5250
      start: 5225
    functionDepth: 0
    functionLinenumber: 5225
    functionLinenumberEnd: 5250
    functionName: run_ecmult_multi_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_ecmult_multi_batch_single
    - test_ecmult_multi_random
    - secp256k1_scratch_create
    - test_secp256k1_pippenger_bucket_window_inv
    - secp256k1_scratch_destroy
    - test_ecmult_multi_batching
    - test_ecmult_multi_pippenger_max_points
    - test_ecmult_multi_batch_size_helper
    - test_ecmult_multi
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: void
    signature: void run_ecmult_multi_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5258,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5259,1
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5260,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5261,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5264,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5266,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5268,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5269,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5270,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5272,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5276,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5278,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5279,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5281,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5283,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - number
    - w
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5284
      start: 5252
    functionDepth: 0
    functionLinenumber: 5252
    functionLinenumberEnd: 5284
    functionName: test_wnaf
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_ecmult_wnaf
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - secp256k1_scalar_mul
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_wnaf(const secp256k1_scalar *number, int w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5293,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5294,1
    - Dst: secp256k1_scalar_split_128
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5296,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5297,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5299,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5302,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5303,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5304,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5306,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5308,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5310,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5311,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5313,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5316,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5317,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - number
    - w
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5318
      start: 5286
    functionDepth: 0
    functionLinenumber: 5286
    functionLinenumberEnd: 5318
    functionName: test_fixed_wnaf
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - WNAF_SIZE
    - secp256k1_scalar_mul
    - secp256k1_scalar_split_128
    - secp256k1_scalar_cadd_bit
    - secp256k1_scalar_negate
    - secp256k1_wnaf_fixed
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_fixed_wnaf(const secp256k1_scalar *number, int w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5324,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5325,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wnaf
    - wnaf_expected
    - w
    argTypes:
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5330
      start: 5322
    functionDepth: 0
    functionLinenumber: 5322
    functionLinenumberEnd: 5330
    functionName: test_fixed_wnaf_small_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - WNAF_SIZE
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_fixed_wnaf_small_helper(int *wnaf, int *wnaf_expected, int
      w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5339,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5340,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5341,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5343,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5345,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5347,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5348,1
    - Dst: WNAF_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5349,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5351,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5353,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5354,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5358,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5359,1
    - Dst: test_fixed_wnaf_small_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5360,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5361,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5365,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5366,1
    - Dst: test_fixed_wnaf_small_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5367,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5368,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5372,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5373,1
    - Dst: test_fixed_wnaf_small_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5374,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5375,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5379,1
    - Dst: secp256k1_wnaf_fixed
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5380,1
    - Dst: test_fixed_wnaf_small_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5381,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5384
      start: 5332
    functionDepth: 0
    functionLinenumber: 5332
    functionLinenumberEnd: 5384
    functionName: test_fixed_wnaf_small
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_wnaf_fixed
    - CHECK
    - secp256k1_scalar_set_int
    - test_fixed_wnaf_small_helper
    - WNAF_SIZE
    linkageType: ''
    returnType: void
    signature: void test_fixed_wnaf_small(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fixed_wnaf_small
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5391,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5394,1
    - Dst: test_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5395,1
    - Dst: test_fixed_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5396,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5398,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5399,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5399,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5400,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5400,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5401,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5401,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5402,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5403
      start: 5386
    functionDepth: 0
    functionLinenumber: 5386
    functionLinenumberEnd: 5403
    functionName: run_wnaf
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - testutil_random_scalar_order
    - secp256k1_scalar_set_int
    - test_fixed_wnaf_small
    - secp256k1_scalar_cond_negate
    - test_wnaf
    - test_fixed_wnaf
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void run_wnaf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - data
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5411
      start: 5405
    functionDepth: 0
    functionLinenumber: 5405
    functionLinenumberEnd: 5411
    functionName: test_ecmult_accumulate_cb
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: int
    signature: int test_ecmult_accumulate_cb(secp256k1_scalar* sc, secp256k1_ge* pt,
      size_t idx, void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5419,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5420,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5421,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5422,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5423,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5424,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5424,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5425,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5425,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5426,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5427,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5428,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5428,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5429,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5429,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5430,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5430,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5431,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5431,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5432,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5432,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5433,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5436,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5439,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5440,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - acc
    - x
    - scratch
    argTypes:
    - secp256k1_sha256*
    - secp256k1_scalar*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5443
      start: 5413
    functionDepth: 0
    functionLinenumber: 5413
    functionLinenumberEnd: 5443
    functionName: test_ecmult_accumulate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 2
    functionsReached:
    - secp256k1_eckey_pubkey_serialize
    - CHECK
    - secp256k1_gej_eq_ge_var
    - secp256k1_ge_set_gej_var
    - secp256k1_gej_set_infinity
    - secp256k1_gej_set_ge
    - secp256k1_ecmult_gen
    - secp256k1_ecmult
    - secp256k1_ecmult_const
    - secp256k1_sha256_write
    - secp256k1_ecmult_multi_var
    - secp256k1_ge_is_infinity
    linkageType: ''
    returnType: void
    signature: void test_ecmult_accumulate(secp256k1_sha256* acc, const secp256k1_scalar*
      x, secp256k1_scratch* scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_space_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5458,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5468,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5470,1
    - Dst: test_ecmult_accumulate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5471,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5472,1
    - Dst: test_ecmult_accumulate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5473,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5478,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5479,1
    - Dst: test_ecmult_accumulate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5480,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5483,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5484,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5484,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5487
      start: 5445
    functionDepth: 0
    functionLinenumber: 5445
    functionLinenumberEnd: 5487
    functionName: test_ecmult_constants_2bit
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_scratch_space_destroy
    - CHECK
    - secp256k1_sha256_initialize
    - secp256k1_scratch_space_create
    - secp256k1_scalar_set_int
    - secp256k1_sha256_finalize
    - test_ecmult_accumulate
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_ecmult_constants_2bit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_space_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5502,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5508,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5509,1
    - Dst: test_ecmult_accumulate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5510,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5511,1
    - Dst: test_ecmult_accumulate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5512,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5513,1
    - Dst: test_ecmult_accumulate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5514,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5520,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5521,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5522,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5523,1
    - Dst: test_ecmult_accumulate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5524,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5526,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5527,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5527,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - prefix
    - iter
    - expected32
    argTypes:
    - uint32_t
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5530
      start: 5489
    functionDepth: 0
    functionLinenumber: 5489
    functionLinenumberEnd: 5530
    functionName: test_ecmult_constants_sha
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_scratch_space_destroy
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_sha256_initialize
    - secp256k1_scratch_space_create
    - secp256k1_scalar_set_int
    - secp256k1_sha256_finalize
    - test_ecmult_accumulate
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void test_ecmult_constants_sha(uint32_t prefix, size_t iter, const
      unsigned char* expected32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONDITIONAL_TEST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5551,1
    - Dst: test_ecmult_constants_sha
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5552,1
    - Dst: CONDITIONAL_TEST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5557,1
    - Dst: test_ecmult_constants_sha
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5558,1
    - Dst: CONDITIONAL_TEST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5561,1
    - Dst: test_ecmult_constants_2bit
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5564
      start: 5532
    functionDepth: 0
    functionLinenumber: 5532
    functionLinenumberEnd: 5564
    functionName: run_ecmult_constants
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CONDITIONAL_TEST
    - test_ecmult_constants_2bit
    - test_ecmult_constants_sha
    linkageType: ''
    returnType: void
    signature: void run_ecmult_constants(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5575,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5576,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5577,1
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5580,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5581,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5581,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5582,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5583,1
    - Dst: gej_xyz_equals_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5583,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5584,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5584,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5585,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5586,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5587
      start: 5566
    functionDepth: 0
    functionLinenumber: 5566
    functionLinenumberEnd: 5587
    functionName: test_ecmult_gen_blind
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - testrand256
    - secp256k1_ge_eq_var
    - CHECK
    - gej_xyz_equals_gej
    - secp256k1_gej_eq_ge_var
    - secp256k1_ecmult_gen
    - secp256k1_ecmult_gen_blind
    - testutil_random_scalar_order_test
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void test_ecmult_gen_blind(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5593,1
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5596,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5597,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5597,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5599,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5600
      start: 5589
    functionDepth: 0
    functionLinenumber: 5589
    functionLinenumberEnd: 5600
    functionName: test_ecmult_gen_blind_reset
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult_gen_blind
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void test_ecmult_gen_blind_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5607,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5608,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5612,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5613,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5614,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5615,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5615,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5616,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5616,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5603
    functionDepth: 0
    functionLinenumber: 5603
    functionLinenumberEnd: 5619
    functionName: test_ecmult_gen_edge_cases
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_eq_var
    - CHECK
    - secp256k1_ecmult_gen
    - secp256k1_ecmult
    - secp256k1_ecmult_const
    - secp256k1_scalar_negate
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_ecmult_gen_edge_cases(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecmult_gen_blind_reset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5623,1
    - Dst: test_ecmult_gen_edge_cases
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5624,1
    - Dst: test_ecmult_gen_blind
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5628
      start: 5621
    functionDepth: 0
    functionLinenumber: 5621
    functionLinenumberEnd: 5628
    functionName: run_ecmult_gen_blind
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_ecmult_gen_edge_cases
    - test_ecmult_gen_blind_reset
    - test_ecmult_gen_blind
    linkageType: ''
    returnType: void
    signature: void run_ecmult_gen_blind(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5636,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5639,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5640,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5641,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5641,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5644,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5645,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5647,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5648,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5651,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5652,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5652,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5653,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5654,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - full
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5655
      start: 5631
    functionDepth: 0
    functionLinenumber: 5631
    functionLinenumberEnd: 5655
    functionName: test_scalar_split
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_split_lambda
    - secp256k1_scalar_add
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_high
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void test_scalar_split(const secp256k1_scalar* full)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_scalar_split
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5661,1
    - Dst: test_scalar_split
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5662,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5663,1
    - Dst: test_scalar_split
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5664,1
    - Dst: test_scalar_split
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5665,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5666,1
    - Dst: test_scalar_split
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5667,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5671,1
    - Dst: test_scalar_split
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5672,1
    - Dst: test_scalar_split
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5677
      start: 5658
    functionDepth: 0
    functionLinenumber: 5658
    functionLinenumberEnd: 5677
    functionName: run_endomorphism_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - testutil_random_scalar_order_test
    - secp256k1_scalar_negate
    - test_scalar_split
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void run_endomorphism_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5688,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5689,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5707,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5708,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5709,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5709,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5710,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5712,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5713,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5713,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5714,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5715,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5716,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5716,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5717,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5720,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5721,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5721,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5722,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5723,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5724,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5725,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5727,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5728,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5728,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5729,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5730,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5731,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5732,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5732,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5736,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5737,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5738,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5738,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5739,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5740,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5740,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - input
    - xvalid
    - yvalid
    argTypes:
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5744
      start: 5679
    functionDepth: 0
    functionLinenumber: 5679
    functionLinenumberEnd: 5744
    functionName: ec_pubkey_parse_pointtest
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - CHECK
    - secp256k1_pubkey_load
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ec_pubkey_serialize
    - memcpy
    - memset
    - secp256k1_ec_pubkey_parse
    - CHECK_ILLEGAL
    - secp256k1_pubkey_save
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: void
    signature: void ec_pubkey_parse_pointtest(const unsigned char *input, int xvalid,
      int yvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5933,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5935,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5936,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5937,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5938,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5938,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5939,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5940,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5940,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5943,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5945,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5946,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5947,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5947,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5948,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5949,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5949,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5953,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5956,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5957,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5957,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5958,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5959,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5959,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5961,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5962,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5964,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5964,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5965,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5966,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5966,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5968,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5968,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5970,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5971,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5972,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5972,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5973,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5974,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5974,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5976,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5977,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5978,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5978,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5979,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5980,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5980,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5982,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5983,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5984,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5984,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5985,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5986,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5986,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5988,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5989,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5990,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5990,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5991,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5991,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5992,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5993,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5994,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5994,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5995,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5996,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5997,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5998,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:5998,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6001,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6001,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6002,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6003,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6003,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6005,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6006,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6006,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6007,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6008,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6010,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6010,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6011,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6013,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6014,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6014,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6015,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6016,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6018,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6018,1
    - Dst: ec_pubkey_parse_pointtest
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6021,1
    - Dst: ec_pubkey_parse_pointtest
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6024,1
    - Dst: ec_pubkey_parse_pointtest
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6029
      start: 5746
    functionDepth: 0
    functionLinenumber: 5746
    functionLinenumberEnd: 6029
    functionName: run_ec_pubkey_parse_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_pubkey_load
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ec_pubkey_serialize
    - memset
    - secp256k1_ec_pubkey_parse
    - CHECK_ILLEGAL
    - ec_pubkey_parse_pointtest
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: void
    signature: void run_ec_pubkey_parse_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6048,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6048,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6049,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6050,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6050,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6051,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6052,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6052,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6054,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6055,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6055,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6056,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6057,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6058,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6058,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6059,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6060,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6060,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6062,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6063,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6063,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6064,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6065,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6066,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6066,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6067,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6068,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6068,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6071,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6071,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6072,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6073,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6074,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6074,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6075,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6076,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6076,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6079,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6081,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6081,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6082,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6083,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6084,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6084,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6085,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6086,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6086,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6089,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6089,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6090,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6091,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6092,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6092,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6093,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6094,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6094,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6097,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6098,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6098,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6099,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6099,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6100,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6101,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6101,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6102,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6102,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6104,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6104,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6105,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6105,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6106,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6106,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6107,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6107,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6108,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6111,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6112,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6114,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6114,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6115,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6115,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6116,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6116,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6117,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6117,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6118,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6119,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6119,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6120,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6120,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6123,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6125,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6125,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6126,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6126,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6127,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6129,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6129,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6130,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6130,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6131,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6135,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6135,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6136,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6136,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6137,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6138,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6138,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6139,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6139,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6140,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6144,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6146,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6148,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6148,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6149,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6149,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6151,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6151,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6152,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6152,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6153,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6156,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6156,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6157,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6157,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6159,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6159,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6161,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6161,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6162,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6162,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6164,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6164,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6166,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6166,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6167,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6167,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6169,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6170,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6170,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6171,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6171,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6172,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6173,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6174,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6174,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6175,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6175,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6177,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6177,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6178,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6178,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6179,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6181,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6181,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6182,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6182,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6183,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6185,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6185,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6186,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6186,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6187,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6188,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6188,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6189,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6189,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6190,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6192,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6192,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6193,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6193,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6194,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6194,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6195,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6196,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6196,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6197,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6197,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6200,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6201,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6202,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6203,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6204,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6205,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6205,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6206,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6207,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6207,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6208,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6208,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6209,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6209,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6210,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6211,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6212,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6212,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6213,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6214,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6214,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6216,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6217,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6218,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6218,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6219,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6220,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6220,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6222,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6222,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6223,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6223,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6224,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6224,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6228,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6229,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6230,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6230,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6231,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6232,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6232,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6235,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6236,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6237,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6237,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6238,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6239,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6239,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6241,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6241,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6242,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6242,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6243,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6243,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6246,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6247,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6248,1
    - Dst: secp256k1_ec_pubkey_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6248,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6249,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6250,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 180
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6251
      start: 6031
    functionDepth: 0
    functionLinenumber: 6031
    functionLinenumberEnd: 6251
    functionName: run_eckey_edge_case_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ec_pubkey_serialize
    - memcpy
    - memset
    - secp256k1_ec_pubkey_combine
    - secp256k1_ec_pubkey_tweak_add
    - secp256k1_ec_seckey_tweak_add
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_ec_pubkey_tweak_mul
    - secp256k1_ec_seckey_verify
    - secp256k1_ec_seckey_tweak_mul
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: void
    signature: void run_eckey_edge_case_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6257,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6258,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6261,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6261,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6262,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6262,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6263,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6263,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6264,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6264,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6267,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6268,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6269,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6269,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6271,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6271,1
    - Dst: testutil_random_scalar_order_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6276,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6277,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6278,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6279,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6279,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6280,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6281
      start: 6253
    functionDepth: 0
    functionLinenumber: 6253
    functionLinenumberEnd: 6281
    functionName: run_eckey_negate_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ec_seckey_negate
    - CHECK
    - memcpy
    - memset
    - testutil_random_scalar_order_b32
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void run_eckey_negate_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6286,1
    - Dst: secp256k1_ecdsa_sig_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - sigr
    - sigs
    - key
    - msg
    - recid
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6288
      start: 6283
    functionDepth: 0
    functionLinenumber: 6283
    functionLinenumberEnd: 6288
    functionName: random_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecdsa_sig_sign
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void random_sign(secp256k1_scalar *sigr, secp256k1_scalar *sigs, const
      secp256k1_scalar *key, const secp256k1_scalar *msg, int *recid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6298,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6299,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6300,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6301,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6302,1
    - Dst: random_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6306,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6307,1
    - Dst: random_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6309,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6311,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6311,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6312,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6313,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6314,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6315
      start: 6290
    functionDepth: 0
    functionLinenumber: 6290
    functionLinenumberEnd: 6315
    functionName: test_ecdsa_sign_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_add
    - CHECK
    - secp256k1_scalar_set_int
    - random_sign
    - secp256k1_ecmult_gen
    - testrand_bits
    - testutil_random_scalar_order_test
    - secp256k1_ecdsa_sig_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_sign_verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_sign_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6322
      start: 6317
    functionDepth: 0
    functionLinenumber: 6317
    functionLinenumberEnd: 6322
    functionName: run_ecdsa_sign_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_ecdsa_sign_verify
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_sign_verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6331
      start: 6325
    functionDepth: 0
    functionLinenumber: 6325
    functionLinenumberEnd: 6331
    functionName: precomputed_nonce_function
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int precomputed_nonce_function(unsigned char *nonce32, const unsigned
      char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nonce_function_rfc6979
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6339
      start: 6333
    functionDepth: 0
    functionLinenumber: 6333
    functionLinenumberEnd: 6339
    functionName: nonce_function_test_fail
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - nonce_function_rfc6979
    linkageType: ''
    returnType: int
    signature: int nonce_function_test_fail(unsigned char *nonce32, const unsigned
      char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6344,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6357,1
    - Dst: nonce_function_rfc6979
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6369
      start: 6341
    functionDepth: 0
    functionLinenumber: 6341
    functionLinenumberEnd: 6369
    functionName: nonce_function_test_retry
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - memset
    - nonce_function_rfc6979
    - memcpy
    linkageType: ''
    returnType: int
    signature: int nonce_function_test_retry(unsigned char *nonce32, const unsigned
      char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6374
      start: 6371
    functionDepth: 0
    functionLinenumber: 6371
    functionLinenumberEnd: 6374
    functionName: is_empty_signature
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: int
    signature: int is_empty_signature(const secp256k1_ecdsa_signature *sig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6395,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6396,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6397,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6398,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6402,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6402,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6403,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6403,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6406,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6406,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6406,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6407,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6408,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6408,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6411,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6412,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6412,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6413,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6413,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6414,1
    - Dst: secp256k1_ec_pubkey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6414,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6415,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6415,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6418,1
    - Dst: ec_privkey_export_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6418,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6418,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6419,1
    - Dst: ec_privkey_import_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6419,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6420,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6420,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6423,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6428,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6429,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6430,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6431,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6435,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6435,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6436,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6436,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6440,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6445,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6446,1
    - Dst: secp256k1_ec_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6447,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6448,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6452,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6452,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6453,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6453,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6457,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6457,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6458,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6458,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6459,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6459,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6461,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6461,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6464,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6464,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6465,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6465,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6466,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6466,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6467,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6467,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6468,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6468,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6469,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6469,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6470,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6470,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6471,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6471,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6473,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6473,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6474,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6474,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6475,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6475,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6476,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6476,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6478,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6478,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6479,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6480,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6481,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6482,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6482,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6483,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6483,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6484,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6484,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6485,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6485,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6486,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6486,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6487,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6487,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6488,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6489,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6490,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6490,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6491,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6491,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6492,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6492,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6495,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6495,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6496,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6497,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6497,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6498,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6498,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6501,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6501,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6502,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6502,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6503,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6503,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6505
      start: 6376
    functionDepth: 0
    functionLinenumber: 6376
    functionLinenumberEnd: 6505
    functionName: test_ecdsa_end_to_end
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    - memset
    - secp256k1_ec_seckey_tweak_add
    - testrand_int
    - secp256k1_ec_seckey_verify
    - testutil_random_scalar_order_test
    - secp256k1_ec_pubkey_tweak_mul
    - secp256k1_ec_pubkey_tweak_add
    - secp256k1_memcmp_var
    - secp256k1_ecdsa_verify
    - secp256k1_ecdsa_signature_parse_der
    - secp256k1_ecdsa_signature_serialize_der
    - testrand_bits
    - secp256k1_ecdsa_sign
    - secp256k1_scalar_negate
    - secp256k1_ec_pubkey_parse
    - secp256k1_ecdsa_signature_normalize
    - ec_privkey_import_der
    - secp256k1_ec_pubkey_create
    - ec_privkey_export_der
    - CHECK
    - secp256k1_ec_pubkey_negate
    - secp256k1_ec_pubkey_serialize
    - testrand256_test
    - secp256k1_ecdsa_signature_save
    - secp256k1_ecdsa_signature_load
    - secp256k1_ec_seckey_tweak_mul
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_end_to_end(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6512,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6513,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6514,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6517,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6517,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6519,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6521,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6522,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6525,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6528,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6530,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6537,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6537,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6538,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6539,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6539,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6542,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6545,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6545,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6546,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6547,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6547,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6548,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6548,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6550,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6551,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6554,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6556,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6560,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6560,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6561,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6561,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6562,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6562,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6565
      start: 6507
    functionDepth: 0
    functionLinenumber: 6507
    functionLinenumberEnd: 6565
    functionName: test_random_pubkeys
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_ge_eq_var
    - CHECK
    - testrand_bits
    - secp256k1_eckey_pubkey_parse
    - secp256k1_memcmp_var
    - secp256k1_eckey_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_random_pubkeys(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6581,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6581,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6582,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6582,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6584,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6584,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6584,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6585,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6585,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6585,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6586,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6586,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6587,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6587,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6588,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6588,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6589,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6589,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6592,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6593,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6593,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6593,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6596,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6597,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6597,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6598,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6599,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6601,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6601,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6601,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6607,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6607,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6608,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6608,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6609,1
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6610
      start: 6567
    functionDepth: 0
    functionLinenumber: 6567
    functionLinenumberEnd: 6610
    functionName: run_pubkey_comparison
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_context_set_illegal_callback
    - CHECK
    - memset
    - secp256k1_ec_pubkey_cmp
    - secp256k1_ec_pubkey_parse
    - CHECK_ILLEGAL_VOID
    linkageType: ''
    returnType: void
    signature: void run_pubkey_comparison(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6619,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6621,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pk
    - pk_order
    - n_pk
    argTypes:
    - secp256k1_pubkey*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6623
      start: 6612
    functionDepth: 0
    functionLinenumber: 6612
    functionLinenumberEnd: 6623
    functionName: test_sort_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - CHECK
    - secp256k1_ec_pubkey_sort
    linkageType: ''
    returnType: void
    signature: void test_sort_helper(secp256k1_pubkey *pk, size_t *pk_order, size_t
      n_pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arr
    - n
    argTypes:
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6634
      start: 6625
    functionDepth: 0
    functionLinenumber: 6625
    functionLinenumberEnd: 6634
    functionName: permute
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void permute(size_t *arr, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_pubkey_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6643,1
    - Dst: testutil_random_pubkey_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6644,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6646,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6646,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6647,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6647,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6648,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6648,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6650,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6651,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6651,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6651,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6652,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6655,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6656,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6656,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6657,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6660
      start: 6636
    functionDepth: 0
    functionLinenumber: 6636
    functionLinenumberEnd: 6660
    functionName: test_sort_api
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_context_set_illegal_callback
    - CHECK
    - secp256k1_ec_pubkey_sort
    - memset
    - CHECK_ILLEGAL
    - CHECK_ILLEGAL_VOID
    - testutil_random_pubkey_test
    linkageType: ''
    returnType: void
    signature: void test_sort_api(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6675,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6675,1
    - Dst: permute
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6678,1
    - Dst: test_sort_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6679,1
    - Dst: permute
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6680,1
    - Dst: test_sort_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6681,1
    - Dst: permute
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6682,1
    - Dst: test_sort_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6683,1
    - Dst: permute
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6685,1
    - Dst: test_sort_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6686,1
    - Dst: permute
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6689,1
    - Dst: test_sort_helper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6690,1
    - Dst: testutil_random_pubkey_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6697,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6700,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6702,1
    - Dst: secp256k1_ec_pubkey_sort_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6705
      start: 6662
    functionDepth: 0
    functionLinenumber: 6662
    functionLinenumberEnd: 6705
    functionName: test_sort
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - test_sort_helper
    - secp256k1_ec_pubkey_sort
    - permute
    - secp256k1_ec_pubkey_parse
    - secp256k1_ec_pubkey_sort_cmp
    - testutil_random_pubkey_test
    linkageType: ''
    returnType: void
    signature: void test_sort(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6743,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6743,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6746,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6746,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6748,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6750
      start: 6708
    functionDepth: 0
    functionLinenumber: 6708
    functionLinenumberEnd: 6750
    functionName: test_sort_vectors
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ec_pubkey_parse
    - secp256k1_ec_pubkey_sort
    - secp256k1_memcmp_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_sort_vectors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sort_api
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6753,1
    - Dst: test_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6754,1
    - Dst: test_sort_vectors
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6756
      start: 6752
    functionDepth: 0
    functionLinenumber: 6752
    functionLinenumberEnd: 6756
    functionName: run_pubkey_sort
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_sort
    - test_sort_api
    - test_sort_vectors
    linkageType: ''
    returnType: void
    signature: void run_pubkey_sort(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_random_pubkeys
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6764
      start: 6759
    functionDepth: 0
    functionLinenumber: 6759
    functionLinenumberEnd: 6764
    functionName: run_random_pubkeys
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_random_pubkeys
    linkageType: ''
    returnType: void
    signature: void run_random_pubkeys(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_end_to_end
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6771
      start: 6766
    functionDepth: 0
    functionLinenumber: 6766
    functionLinenumberEnd: 6771
    functionName: run_ecdsa_end_to_end
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_ecdsa_end_to_end
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_end_to_end(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6790,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6792,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6793,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6793,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6796,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6797,1
    - Dst: ecdsa_signature_parse_der_lax
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6800,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6802,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6803,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6803,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6806,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6807,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6823,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - sig
    - siglen
    - certainly_der
    - certainly_not_der
    argTypes:
    - unsigned char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6831
      start: 6773
    functionDepth: 0
    functionLinenumber: 6773
    functionLinenumberEnd: 6831
    functionName: test_ecdsa_der_parse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecdsa_signature_parse_der
    - secp256k1_ecdsa_signature_serialize_der
    - secp256k1_ecdsa_signature_serialize_compact
    - secp256k1_memcmp_var
    - ecdsa_signature_parse_der_lax
    linkageType: ''
    returnType: int
    signature: int test_ecdsa_der_parse(const unsigned char *sig, size_t siglen, int
      certainly_der, int certainly_not_der)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - ptrlen
    - val
    argTypes:
    - unsigned char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6843
      start: 6833
    functionDepth: 0
    functionLinenumber: 6833
    functionLinenumberEnd: 6843
    functionName: assign_big_endian
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assign_big_endian(unsigned char *ptr, size_t ptrlen, uint32_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6847,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6850,1
    - Dst: memmove
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6851,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6856,1
    - Dst: memmove
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6857,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6858,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6863,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6863,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6867,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6867,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - sig
    - len
    argTypes:
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6870
      start: 6845
    functionDepth: 0
    functionLinenumber: 6845
    functionLinenumberEnd: 6870
    functionName: damage_array
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - testrand_bits
    - testrand_int
    - memmove
    linkageType: ''
    returnType: void
    signature: void damage_array(unsigned char *sig, size_t *len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6880,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6883,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6887,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6889,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6889,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6889,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6890,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6892,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6894,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6894,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6896,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6896,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6896,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6900,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6905,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6905,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6905,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6911,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6916,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6919,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6919,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6924,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6927,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6927,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6931,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6942,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6942,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6942,1
    - Dst: assign_big_endian
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6954,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6960,1
    - Dst: assign_big_endian
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6971,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6993,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:6999,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7008,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7011,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7014,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7015,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 101
    argCount: 4
    argNames:
    - sig
    - len
    - certainly_der
    - certainly_not_der
    argTypes:
    - unsigned char*
    - size_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7016
      start: 6872
    functionDepth: 0
    functionLinenumber: 6872
    functionLinenumberEnd: 7016
    functionName: random_ber_signature
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - CHECK
    - testrand_bytes_test
    - testrand_bits
    - assign_big_endian
    - testrand_int
    linkageType: ''
    returnType: void
    signature: void random_ber_signature(unsigned char *sig, size_t *len, int* certainly_der,
      int* certainly_not_der)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_ber_signature
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7025,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7026,1
    - Dst: damage_array
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7030,1
    - Dst: test_ecdsa_der_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7035,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7038,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7040,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7042,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7047
      start: 7018
    functionDepth: 0
    functionLinenumber: 7018
    functionLinenumberEnd: 7047
    functionName: run_ecdsa_der_parse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - damage_array
    - test_ecdsa_der_parse
    - CHECK
    - random_ber_signature
    - fprintf
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_der_parse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7060,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7061,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7062,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7063,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7064,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7065,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7067,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7067,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7082,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7083,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7084,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7085,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7085,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7086,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7086,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7101,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7102,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7103,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7104,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7104,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7105,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7105,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7128,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7129,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7130,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7131,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7131,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7132,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7132,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7133,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7133,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7134,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7134,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7135,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7136,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7136,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7137,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7137,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7138,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7139,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7139,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7140,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7140,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7169,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7170,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7171,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7172,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7172,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7173,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7173,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7174,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7174,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7175,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7175,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7176,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7177,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7177,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7178,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7178,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7179,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7180,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7181,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7181,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7182,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7182,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7203,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7204,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7205,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7206,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7207,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7207,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7208,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7208,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7209,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7210,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7210,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7211,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7212,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7213,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7213,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7245,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7245,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7246,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7246,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7248,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7248,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7249,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7249,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7250,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7250,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7251,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7251,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7252,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7252,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7253,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7253,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7254,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7254,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7255,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7255,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7256,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7256,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7257,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7257,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7258,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7258,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7260,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7260,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7262,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7262,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7263,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7263,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7264,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7264,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7265,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7265,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7266,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7266,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7267,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7267,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7268,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7268,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7271,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7271,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7272,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7272,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7273,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7273,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7274,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7274,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7275,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7275,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7276,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7276,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7277,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7277,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7278,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7278,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7279,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7280,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7280,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7293,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7296,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7297,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7297,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7298,1
    - Dst: is_empty_signature
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7298,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7300,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7301,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7301,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7302,1
    - Dst: is_empty_signature
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7302,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7305,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7305,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7306,1
    - Dst: is_empty_signature
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7306,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7308,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7308,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7309,1
    - Dst: is_empty_signature
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7309,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7310,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7310,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7311,1
    - Dst: is_empty_signature
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7311,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7312,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7312,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7314,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7314,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7315,1
    - Dst: is_empty_signature
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7315,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7316,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7316,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7321,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7321,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7322,1
    - Dst: is_empty_signature
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7322,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7323,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7325,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7325,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7334,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7334,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7335,1
    - Dst: is_empty_signature
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7335,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7336,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7338,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7338,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7351,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7352,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7353,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7354,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7355,1
    - Dst: nonce_function_rfc6979
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7355,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7356,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7357,1
    - Dst: nonce_function_rfc6979
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7357,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7358,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7359,1
    - Dst: nonce_function_rfc6979
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7359,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7360,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7361,1
    - Dst: nonce_function_rfc6979
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7361,1
    - Dst: SECP256K1_CHECKMEM_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7362,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7363,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7363,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7364,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7364,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7365,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7365,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7366,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7366,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7367,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7367,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7368,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7368,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7382,1
    - Dst: ec_privkey_export_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7382,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7384,1
    - Dst: ec_privkey_export_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 164
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7386
      start: 7050
    functionDepth: 0
    functionLinenumber: 7050
    functionLinenumberEnd: 7386
    functionName: test_ecdsa_edge_cases
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_inverse
    - SECP256K1_CHECKMEM_CHECK
    - secp256k1_ecmult_gen
    - memset
    - SECP256K1_CHECKMEM_UNDEFINE
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - nonce_function_rfc6979
    - secp256k1_scalar_inverse_var
    - secp256k1_memcmp_var
    - secp256k1_ecdsa_verify
    - secp256k1_ecdsa_signature_parse_der
    - secp256k1_ecdsa_signature_serialize_der
    - secp256k1_ecdsa_sign
    - secp256k1_scalar_negate
    - secp256k1_ecdsa_signature_normalize
    - CHECK_ILLEGAL
    - secp256k1_ge_set_gej
    - secp256k1_ec_pubkey_create
    - ec_privkey_export_der
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_eckey_pubkey_parse
    - secp256k1_ecdsa_signature_serialize_compact
    - secp256k1_ecdsa_signature_parse_compact
    - is_empty_signature
    - secp256k1_ecdsa_signature_load
    - secp256k1_ecdsa_sig_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_edge_cases(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_edge_cases
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7390
      start: 7388
    functionDepth: 0
    functionLinenumber: 7388
    functionLinenumberEnd: 7390
    functionName: run_ecdsa_edge_cases
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_ecdsa_edge_cases
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_edge_cases(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7408,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7410,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7410,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7412,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7414,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7415,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7418,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7419,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7423
      start: 7396
    functionDepth: 0
    functionLinenumber: 7396
    functionLinenumberEnd: 7423
    functionName: test_ecdsa_wycheproof
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecdsa_signature_parse_der
    - CHECK
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - memset
    - secp256k1_ec_pubkey_parse
    - secp256k1_sha256_write
    - secp256k1_ecdsa_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_wycheproof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_wycheproof
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7428
      start: 7426
    functionDepth: 0
    functionLinenumber: 7426
    functionLinenumberEnd: 7428
    functionName: run_ecdsa_wycheproof
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - test_ecdsa_wycheproof
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_wycheproof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7459,1
    - Dst: secp256k1_memczero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7460,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7461,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7461,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7464,1
    - Dst: secp256k1_memczero
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7465,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7466,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7467
      start: 7454
    functionDepth: 0
    functionLinenumber: 7454
    functionLinenumberEnd: 7467
    functionName: run_secp256k1_memczero_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_memczero
    - CHECK
    - memcpy
    - memset
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void run_secp256k1_memczero_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7474,1
    - Dst: secp256k1_is_zero_array
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7474,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7475,1
    - Dst: secp256k1_is_zero_array
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7475,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7476,1
    - Dst: secp256k1_is_zero_array
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7476,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7477,1
    - Dst: secp256k1_is_zero_array
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7477,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7478,1
    - Dst: secp256k1_is_zero_array
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7479
      start: 7470
    functionDepth: 0
    functionLinenumber: 7470
    functionLinenumberEnd: 7479
    functionName: run_secp256k1_is_zero_array_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_is_zero_array
    - CHECK
    linkageType: ''
    returnType: void
    signature: void run_secp256k1_is_zero_array_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7488,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7489,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7489,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7491,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7492,1
    - Dst: secp256k1_write_be64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7501,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7502,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7502,1
    - Dst: secp256k1_read_be64
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7504,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7507
      start: 7481
    functionDepth: 0
    functionLinenumber: 7481
    functionLinenumberEnd: 7507
    functionName: run_secp256k1_byteorder_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_write_be64
    - secp256k1_read_be32
    - CHECK
    - secp256k1_write_be32
    - secp256k1_read_be64
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void run_secp256k1_byteorder_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_int_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7513,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7514,1
    - Dst: secp256k1_int_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7517,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7518,1
    - Dst: secp256k1_int_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7521,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7522,1
    - Dst: secp256k1_int_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7525,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7526,1
    - Dst: secp256k1_int_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7529,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7532
      start: 7509
    functionDepth: 0
    functionLinenumber: 7509
    functionLinenumberEnd: 7532
    functionName: int_cmov_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_int_cmov
    - CHECK
    linkageType: ''
    returnType: void
    signature: void int_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7535,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7536,1
    - Dst: SECP256K1_FE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7537,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7544,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7545,1
    - Dst: fe_identical
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7545,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7548,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7549,1
    - Dst: fe_identical
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7549,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7552,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7553,1
    - Dst: fe_identical
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7553,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7556,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7557,1
    - Dst: fe_identical
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7557,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7560,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7561,1
    - Dst: fe_identical
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7562
      start: 7534
    functionDepth: 0
    functionLinenumber: 7534
    functionLinenumberEnd: 7562
    functionName: fe_cmov_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - fe_identical
    - SECP256K1_FE_CONST
    - CHECK
    - secp256k1_fe_cmov
    linkageType: ''
    returnType: void
    signature: void fe_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_STORAGE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7565,1
    - Dst: SECP256K1_FE_STORAGE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7566,1
    - Dst: SECP256K1_FE_STORAGE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7567,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7574,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7575,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7575,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7578,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7579,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7579,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7582,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7583,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7583,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7586,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7587,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7587,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7590,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7591,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7592
      start: 7564
    functionDepth: 0
    functionLinenumber: 7564
    functionLinenumberEnd: 7592
    functionName: fe_storage_cmov_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_fe_storage_cmov
    - SECP256K1_FE_STORAGE_CONST
    - CHECK
    linkageType: ''
    returnType: void
    signature: void fe_storage_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7595,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7602,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7603,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7603,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7606,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7607,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7607,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7610,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7611,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7611,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7614,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7615,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7615,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7618,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7619,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7620
      start: 7594
    functionDepth: 0
    functionLinenumber: 7594
    functionLinenumberEnd: 7620
    functionName: scalar_cmov_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - SECP256K1_SCALAR_CONST
    - CHECK
    - secp256k1_scalar_cmov
    linkageType: ''
    returnType: void
    signature: void scalar_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_STORAGE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7623,1
    - Dst: SECP256K1_GE_STORAGE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7624,1
    - Dst: SECP256K1_GE_STORAGE_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7625,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7634,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7635,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7635,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7638,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7639,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7639,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7642,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7643,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7643,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7646,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7647,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7647,1
    - Dst: secp256k1_ge_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7650,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7651,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7652
      start: 7622
    functionDepth: 0
    functionLinenumber: 7622
    functionLinenumberEnd: 7652
    functionName: ge_storage_cmov_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - SECP256K1_GE_STORAGE_CONST
    - secp256k1_ge_storage_cmov
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ge_storage_cmov_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_cmov_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7655,1
    - Dst: fe_cmov_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7656,1
    - Dst: fe_storage_cmov_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7657,1
    - Dst: scalar_cmov_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7658,1
    - Dst: ge_storage_cmov_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7660
      start: 7654
    functionDepth: 0
    functionLinenumber: 7654
    functionLinenumberEnd: 7660
    functionName: run_cmov_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 1
    functionsReached:
    - fe_storage_cmov_test
    - fe_cmov_test
    - scalar_cmov_test
    - int_cmov_test
    - ge_storage_cmov_test
    linkageType: ''
    returnType: void
    signature: void run_cmov_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7666,1
    - Dst: setbuf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7669,1
    - Dst: strtol
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7673,1
    - Dst: getenv
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7675,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7676,1
    - Dst: strtol
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7677,1
    - Dst: fputs
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7681,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7684,1
    - Dst: run_xoshiro256pp_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7687,1
    - Dst: testrand_init
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7690,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7695,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7699,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7701,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7702,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7702,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7708,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7709,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7710,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7711,1
    - Dst: secp256k1_context_is_proper
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7711,1
    - Dst: run_selftest_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7716,1
    - Dst: run_proper_context_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7719,1
    - Dst: run_proper_context_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7719,1
    - Dst: run_static_context_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7720,1
    - Dst: run_static_context_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7720,1
    - Dst: run_deprecated_context_flags_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7721,1
    - Dst: run_scratch_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7724,1
    - Dst: run_int128_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7728,1
    - Dst: run_ctz_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7730,1
    - Dst: run_modinv_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7731,1
    - Dst: run_inverse_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7732,1
    - Dst: run_hsort_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7735,1
    - Dst: run_sha256_known_output_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7738,1
    - Dst: run_sha256_counter_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7739,1
    - Dst: run_hmac_sha256_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7740,1
    - Dst: run_rfc6979_hmac_sha256_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7741,1
    - Dst: run_tagged_sha256_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7742,1
    - Dst: run_scalar_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7745,1
    - Dst: run_field_half
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7748,1
    - Dst: run_field_misc
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7749,1
    - Dst: run_field_convert
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7750,1
    - Dst: run_field_be32_overflow
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7751,1
    - Dst: run_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7752,1
    - Dst: run_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7753,1
    - Dst: run_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7754,1
    - Dst: run_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7757,1
    - Dst: run_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7758,1
    - Dst: run_group_decompress
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7759,1
    - Dst: run_ecmult_pre_g
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7762,1
    - Dst: run_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7763,1
    - Dst: run_point_times_order
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7764,1
    - Dst: run_ecmult_near_split_bound
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7765,1
    - Dst: run_ecmult_chain
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7766,1
    - Dst: run_ecmult_constants
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7767,1
    - Dst: run_ecmult_gen_blind
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7768,1
    - Dst: run_ecmult_const_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7769,1
    - Dst: run_ecmult_multi_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7770,1
    - Dst: run_ec_combine
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7771,1
    - Dst: run_endomorphism_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7774,1
    - Dst: run_ec_pubkey_parse_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7777,1
    - Dst: run_eckey_edge_case_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7780,1
    - Dst: run_eckey_negate_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7783,1
    - Dst: run_ecdh_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7787,1
    - Dst: run_ec_illegal_argument_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7791,1
    - Dst: run_pubkey_comparison
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7792,1
    - Dst: run_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7793,1
    - Dst: run_random_pubkeys
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7794,1
    - Dst: run_ecdsa_der_parse
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7795,1
    - Dst: run_ecdsa_sign_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7796,1
    - Dst: run_ecdsa_end_to_end
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7797,1
    - Dst: run_ecdsa_edge_cases
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7798,1
    - Dst: run_ecdsa_wycheproof
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7799,1
    - Dst: run_recovery_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7803,1
    - Dst: run_extrakeys_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7807,1
    - Dst: run_schnorrsig_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7811,1
    - Dst: run_musig_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7815,1
    - Dst: run_ellswift_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7819,1
    - Dst: run_secp256k1_memczero_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7823,1
    - Dst: run_secp256k1_is_zero_array_test
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7824,1
    - Dst: run_secp256k1_byteorder_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7825,1
    - Dst: run_cmov_tests
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7827,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7830,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7831,1
    - Dst: testrand_finish
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7833,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/tests.c:7835,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 92
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7837
      start: 7662
    functionDepth: 0
    functionLinenumber: 7662
    functionLinenumberEnd: 7837
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests.c
    functionUses: 0
    functionsReached:
    - run_field_half
    - testrand256
    - testrand_finish
    - run_recovery_tests
    - run_secp256k1_byteorder_tests
    - run_pubkey_comparison
    - strtol
    - secp256k1_context_destroy
    - testrand_bits
    - fputs
    - run_inverse_tests
    - run_field_be32_overflow
    - run_random_pubkeys
    - CHECK
    - run_sqr
    - run_static_context_tests
    - secp256k1_context_is_proper
    - run_cmov_tests
    - run_ecmult_near_split_bound
    - run_ecmult_chain
    - run_field_misc
    - run_endomorphism_tests
    - run_sha256_counter_tests
    - run_wnaf
    - run_musig_tests
    - run_eckey_negate_test
    - run_scratch_tests
    - run_ecmult_constants
    - run_selftest_tests
    - run_ecdsa_sign_verify
    - run_modinv_tests
    - run_tagged_sha256_tests
    - run_gej
    - run_ellswift_tests
    - run_ecmult_multi_tests
    - memcpy
    - run_ecdsa_wycheproof
    - run_ctz_tests
    - run_ecmult_pre_g
    - run_fe_mul
    - run_pubkey_sort
    - run_scalar_tests
    - run_point_times_order
    - run_sqrt
    - secp256k1_context_create
    - secp256k1_context_randomize
    - malloc
    - run_int128_tests
    - run_ec_combine
    - run_ec_illegal_argument_tests
    - printf
    - testrand_init
    - run_ecdh_tests
    - run_ecmult_gen_blind
    - run_hmac_sha256_tests
    - run_sha256_known_output_tests
    - run_proper_context_tests
    - run_ecmult_const_tests
    - run_field_convert
    - run_secp256k1_memczero_test
    - run_ec_pubkey_parse_test
    - strlen
    - run_deprecated_context_flags_test
    - run_ecdsa_der_parse
    - run_ecdsa_end_to_end
    - free
    - run_xoshiro256pp_tests
    - run_ge
    - run_rfc6979_hmac_sha256_tests
    - run_hsort_tests
    - getenv
    - run_schnorrsig_tests
    - run_extrakeys_tests
    - setbuf
    - run_eckey_edge_case_test
    - run_group_decompress
    - run_ecdsa_edge_cases
    - run_secp256k1_is_zero_array_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: secp256k1_heap_child1
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_heap_child1(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:22,1
    - Dst: secp256k1_heap_child1
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: secp256k1_heap_child2
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_heap_child1
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_heap_child2(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:28,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:29,1
    - Dst: memmove
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:30,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: secp256k1_heap_swap64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - memmove
    - memcpy
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_heap_swap64(unsigned char *a, unsigned char
      *b, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_heap_swap64
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:39,1
    - Dst: secp256k1_heap_swap64
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - arr
    - i
    - j
    - stride
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: secp256k1_heap_swap
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_heap_swap64
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_heap_swap(unsigned char *arr, size_t i,
      size_t j, size_t stride)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:54,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:62,1
    - Dst: secp256k1_heap_child1
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:62,1
    - Dst: secp256k1_heap_child2
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:80,1
    - Dst: cmp
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:81,1
    - Dst: secp256k1_heap_child2
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:81,1
    - Dst: secp256k1_heap_child1
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:81,1
    - Dst: cmp
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:82,1
    - Dst: secp256k1_heap_child2
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:82,1
    - Dst: secp256k1_heap_swap
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:83,1
    - Dst: secp256k1_heap_child2
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:83,1
    - Dst: secp256k1_heap_child2
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:84,1
    - Dst: cmp
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:91,1
    - Dst: secp256k1_heap_child1
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:91,1
    - Dst: secp256k1_heap_swap
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:92,1
    - Dst: secp256k1_heap_child1
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:92,1
    - Dst: secp256k1_heap_child1
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - arr
    - i
    - heap_size
    - stride
    - cmp_data
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 105
    functionName: secp256k1_heap_down
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_heap_child1
    - secp256k1_heap_child2
    - secp256k1_heap_swap
    - cmp
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: "SECP256K1_INLINE secp256k1_heap_down(unsigned char *arr, size_t i,
      size_t heap_size, size_t stride,\n                            int (*cmp)(const
      void *, const void *, void *), void *cmp_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_heap_down
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:114,1
    - Dst: secp256k1_heap_swap
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:118,1
    - Dst: secp256k1_heap_down
      Src: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ptr
    - count
    - size
    - cmp_data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: secp256k1_hsort
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hsort_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_heap_swap
    - secp256k1_heap_down
    linkageType: ''
    returnType: void
    signature: "void secp256k1_hsort(void *ptr, size_t count, size_t size,\n                            int
      (*cmp)(const void *, const void *, void *),\n                            void
      *cmp_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_RUNNING
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:50,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:51,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:52,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:55,1
    - Dst: run_tests
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:63,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:67,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:68,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:69,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:70,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c
    functionUses: 0
    functionsReached:
    - run_tests
    - CHECK
    - secp256k1_context_create
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - fprintf
    - SECP256K1_CHECKMEM_DEFINE
    - SECP256K1_CHECKMEM_RUNNING
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:103,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:104,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:105,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:106,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:107,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:108,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:108,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:111,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:112,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:113,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:114,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:115,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:116,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:116,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:120,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:121,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:122,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:123,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:128,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:129,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:130,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:131,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:132,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:133,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:133,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:134,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:137,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:138,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:139,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:140,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:142,1
    - Dst: secp256k1_ec_seckey_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:143,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:144,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:145,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:147,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:148,1
    - Dst: secp256k1_ec_seckey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:149,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:150,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:151,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:153,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:154,1
    - Dst: secp256k1_ec_seckey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:155,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:156,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:157,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:161,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:162,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:163,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:164,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:167,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:168,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:169,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:170,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:172,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:173,1
    - Dst: secp256k1_keypair_sec
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:174,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:175,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:176,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:180,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:181,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:182,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:183,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:184,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:185,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:186,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:207,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:208,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:210,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:213,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:213,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:214,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:214,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:215,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:215,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:217,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:218,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:219,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:220,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:221,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:222,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:223,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:224,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:225,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:227,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:227,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:229,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:230,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:230,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:232,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:233,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:234,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:235,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:236,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:237,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:242,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:243,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:244,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:245,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:247,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:248,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:249,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:250,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:253,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:254,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:255,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:256,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:257,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:259,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:260,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:261,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:262,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 114
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - secp256k1_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 267
    functionName: run_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ctime_tests.c
    functionUses: 2
    functionsReached:
    - secp256k1_musig_nonce_gen_counter
    - secp256k1_ellswift_xdh
    - secp256k1_ecdsa_recoverable_signature_serialize_compact
    - memcpy
    - secp256k1_musig_nonce_gen
    - secp256k1_ec_seckey_tweak_add
    - secp256k1_ec_seckey_verify
    - SECP256K1_CHECKMEM_UNDEFINE
    - secp256k1_keypair_xonly_tweak_add
    - secp256k1_musig_nonce_process
    - secp256k1_ecdh
    - secp256k1_ellswift_create
    - secp256k1_schnorrsig_sign32
    - secp256k1_musig_nonce_agg
    - secp256k1_ecdsa_signature_serialize_der
    - secp256k1_ecdsa_sign
    - secp256k1_musig_pubkey_agg
    - secp256k1_ecdsa_sign_recoverable
    - SECP256K1_CHECKMEM_DEFINE
    - secp256k1_musig_partial_sign
    - secp256k1_keypair_pub
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_ec_seckey_negate
    - secp256k1_ec_pubkey_serialize
    - secp256k1_keypair_sec
    - secp256k1_keypair_create
    - secp256k1_ec_seckey_tweak_mul
    linkageType: ''
    returnType: void
    signature: void run_tests(secp256k1_context *ctx, unsigned char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: secp256k1_scalar_is_even
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_even(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: secp256k1_scalar_set_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 41
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned
      int v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:29,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: secp256k1_scalar_get_bits_limb32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 12
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_limb32(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:40,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: secp256k1_scalar_get_bits_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_scalar_get_bits_limb32
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_var(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: secp256k1_scalar_check_overflow
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_check_overflow(const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:48,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:49,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: secp256k1_scalar_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 57
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:58,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:63,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:64,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - bit
    - flag
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: secp256k1_scalar_cadd_bit
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit,
      int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - r
    - b32
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: secp256k1_scalar_set_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 51
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char
      *b32, int *overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:86,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bin
    - a
    argTypes:
    - unsigned char*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: secp256k1_scalar_get_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 46
    functionsReached:
    - memset
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar*
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: secp256k1_scalar_is_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 40
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_zero(const secp256k1_scalar *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:99,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: secp256k1_scalar_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 59
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: secp256k1_scalar_is_one
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 6
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_one(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: secp256k1_scalar_is_high
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 9
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_is_high(const secp256k1_scalar *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:123,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:125,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - flag
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: secp256k1_scalar_cond_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_scalar_negate
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:132,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:133,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: secp256k1_scalar_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 33
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:141,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:146,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r1
    - r2
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: secp256k1_scalar_split_128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 4
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar
      *r2, const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:151,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: secp256k1_scalar_eq
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 28
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_eq(const secp256k1_scalar *a, const
      secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:160,1
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:161,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: secp256k1_scalar_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 12
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_cmov(secp256k1_scalar *r, const secp256k1_scalar
      *a, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:173,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:184,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: secp256k1_scalar_inverse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 10
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:191,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:193,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: secp256k1_scalar_inverse_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 9
    functionsReached:
    - secp256k1_scalar_inverse
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:199,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: secp256k1_scalar_half
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low_impl.h
    functionUses: 10
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_half(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:79,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:80,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:81,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:82,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: secp256k1_ge_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_verify(const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:88,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:89,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:90,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:91,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:92,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:93,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: secp256k1_gej_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_verify(const secp256k1_gej *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:102,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:103,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:104,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:106,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:107,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:108,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:109,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - r
    - a
    - zi
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: secp256k1_ge_set_gej_zinv
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_gej_zinv(secp256k1_ge *r, const secp256k1_gej
      *a, const secp256k1_fe *zi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:119,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:120,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:121,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:123,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:124,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:125,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:126,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - r
    - a
    - zi
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: secp256k1_ge_set_ge_zinv
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_ge_zinv(secp256k1_ge *r, const secp256k1_ge *a,
      const secp256k1_fe *zi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:133,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:134,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - r
    - x
    - y
    argTypes:
    - secp256k1_ge*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: secp256k1_ge_set_xy
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - SECP256K1_FE_VERIFY
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const
      secp256k1_fe *y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: secp256k1_ge_is_infinity
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 28
    functionsReached:
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_is_infinity(const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:150,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:153,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:154,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: secp256k1_ge_neg
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 13
    functionsReached:
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_negate
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:161,1
    - Dst: secp256k1_fe_inv
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:164,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:165,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:166,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:167,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:168,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:169,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:173,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionName: secp256k1_ge_set_gej
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 42
    functionsReached:
    - secp256k1_fe_inv
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:179,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:181,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:182,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:186,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:187,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:188,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:189,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:190,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:191,1
    - Dst: secp256k1_ge_set_xy
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:192,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:194,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: secp256k1_ge_set_gej_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 10
    functionsReached:
    - secp256k1_ge_set_xy
    - secp256k1_gej_is_infinity
    - SECP256K1_GEJ_VERIFY
    - secp256k1_ge_set_infinity
    - secp256k1_fe_inv_var
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_gej_var(secp256k1_ge *r, secp256k1_gej *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:203,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:204,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:204,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:215,1
    - Dst: secp256k1_fe_inv
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:217,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:220,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:221,1
    - Dst: secp256k1_ge_set_gej_zinv
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:226,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - r
    - a
    - len
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 234
    functionName: secp256k1_ge_set_all_gej
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_fe_inv
    - VERIFY_CHECK
    - secp256k1_gej_is_infinity
    - secp256k1_fe_mul
    - secp256k1_ge_set_gej_zinv
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_all_gej(secp256k1_ge *r, const secp256k1_gej
      *a, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:242,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:248,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:254,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:262,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:268,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:269,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:273,1
    - Dst: secp256k1_ge_set_gej_zinv
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:278,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - r
    - a
    - len
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 287
    functionName: secp256k1_ge_set_all_gej_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_set_infinity
    - secp256k1_fe_inv_var
    - secp256k1_fe_mul
    - secp256k1_ge_set_gej_zinv
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej
      *a, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:294,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:295,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:302,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:308,1
    - Dst: secp256k1_ge_set_ge_zinv
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:311,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - len
    - a
    - zr
    argTypes:
    - size_t
    - secp256k1_ge*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 320
    functionName: secp256k1_ge_table_set_globalz
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_ge_set_ge_zinv
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_mul
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_table_set_globalz(size_t len, secp256k1_ge *a, const
      secp256k1_fe *zr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:324,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:325,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:326,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: secp256k1_gej_set_infinity
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 36
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_set_infinity(secp256k1_gej *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:333,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:334,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: secp256k1_ge_set_infinity
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 15
    functionsReached:
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_set_infinity(secp256k1_ge *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: secp256k1_gej_clear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_clear(secp256k1_gej *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: secp256k1_ge_clear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_clear(secp256k1_ge *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:350,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:353,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:354,1
    - Dst: secp256k1_fe_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:356,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:357,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:358,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:359,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:360,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - r
    - x
    - odd
    argTypes:
    - secp256k1_ge*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: secp256k1_ge_set_xo_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 13
    functionsReached:
    - secp256k1_fe_sqrt
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalize_var
    - secp256k1_fe_negate
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    - secp256k1_fe_sqr
    - secp256k1_fe_is_odd
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x,
      int odd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:368,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:373,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: secp256k1_gej_set_ge
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 50
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:380,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:381,1
    - Dst: secp256k1_gej_neg
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:383,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:384,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: secp256k1_gej_eq_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 13
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_gej_eq_var(const secp256k1_gej *a, const secp256k1_gej
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:390,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:391,1
    - Dst: secp256k1_gej_neg
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:393,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:394,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: secp256k1_gej_eq_ge_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 22
    functionsReached:
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - secp256k1_gej_add_ge_var
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_gej_eq_ge_var(const secp256k1_gej *a, const secp256k1_ge
      *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:400,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:401,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:407,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:408,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:411,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 415
    functionName: secp256k1_ge_eq_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 25
    functionsReached:
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_equal
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_eq_var(const secp256k1_ge *a, const secp256k1_ge *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:419,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:420,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:421,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:423,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:423,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - x
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: secp256k1_gej_eq_x_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_equal
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: int
    signature: int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:428,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:434,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:435,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 438
    functionName: secp256k1_gej_neg
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 16
    functionsReached:
    - secp256k1_fe_normalize_weak
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_negate
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: secp256k1_gej_is_infinity
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 35
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_gej_is_infinity(const secp256k1_gej *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:448,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:454,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:455,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:455,1
    - Dst: secp256k1_fe_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:456,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: secp256k1_ge_is_valid_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 10
    functionsReached:
    - secp256k1_fe_equal
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    - secp256k1_fe_sqr
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_is_valid_var(const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:463,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:476,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:477,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:478,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:479,1
    - Dst: secp256k1_fe_half
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:480,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:481,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:482,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:483,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:484,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:485,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:486,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:487,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:488,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:489,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:490,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 493
    functionName: secp256k1_gej_double
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    - secp256k1_fe_half
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_gej_double(secp256k1_gej *r, const secp256k1_gej
      *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:496,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:509,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:511,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:518,1
    - Dst: secp256k1_gej_double
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:521,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - r
    - a
    - rzr
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 524
    functionName: secp256k1_gej_double_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 23
    functionsReached:
    - secp256k1_gej_set_infinity
    - secp256k1_fe_normalize_weak
    - secp256k1_gej_double
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej
      *a, secp256k1_fe *rzr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:529,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:530,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:533,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:539,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:545,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:546,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:547,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:548,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:549,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:549,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:550,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:550,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:551,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:551,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:552,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:552,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:553,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:554,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:555,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:558,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:560,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:566,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:570,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:572,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:573,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:574,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:575,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:577,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:578,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:579,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:580,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:582,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:583,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:584,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:585,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 4
    argNames:
    - r
    - a
    - b
    - rzr
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 588
    functionName: secp256k1_gej_add_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 29
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_gej_set_infinity
    - secp256k1_fe_mul
    - secp256k1_gej_double_var
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a,
      const secp256k1_gej *b, secp256k1_fe *rzr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:593,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:594,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:597,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:598,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:603,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:609,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:611,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:613,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:613,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:614,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:614,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:615,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:615,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:616,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:617,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:618,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:621,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:623,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:632,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:634,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:635,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:636,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:637,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:639,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:640,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:641,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:642,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:644,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:645,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:646,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:647,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:649,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 4
    argNames:
    - r
    - a
    - b
    - rzr
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 651
    functionName: secp256k1_gej_add_ge_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 24
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_fe_add
    - SECP256K1_FE_VERIFY
    - secp256k1_gej_set_ge
    - secp256k1_fe_negate
    - secp256k1_fe_sqr
    - secp256k1_gej_set_infinity
    - secp256k1_fe_mul
    - secp256k1_gej_double_var
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_ge *b, secp256k1_fe *rzr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:656,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:657,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:658,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:663,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:664,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:665,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:666,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:667,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:668,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:684,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:686,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:688,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:690,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:690,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:691,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:691,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:692,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:692,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:693,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:694,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:695,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:697,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:703,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:705,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:706,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:707,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:708,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:710,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:711,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:712,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:713,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:715,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:716,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:717,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:718,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 4
    argNames:
    - r
    - a
    - b
    - bzinv
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 721
    functionName: secp256k1_gej_add_zinv_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_add
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_negate
    - secp256k1_gej_set_infinity
    - secp256k1_fe_mul
    - secp256k1_gej_double_var
    - secp256k1_fe_sqr
    - secp256k1_fe_set_int
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_ge *b, const secp256k1_fe *bzinv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:729,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:730,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:731,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:783,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:785,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:787,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:788,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:789,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:790,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:791,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:792,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:793,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:794,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:797,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:804,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:805,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:807,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:808,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:813,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:814,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:816,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:821,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:822,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:823,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:824,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:825,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:827,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:828,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:829,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:830,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:831,1
    - Dst: secp256k1_fe_half
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:833,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:836,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:837,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:838,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:856,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 859
    functionName: secp256k1_gej_add_ge
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 11
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_fe_add
    - secp256k1_fe_cmov
    - secp256k1_fe_negate
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    - secp256k1_fe_half
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a,
      const secp256k1_ge *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:864,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:865,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:866,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:866,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:868,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:869,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:870,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:871,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:872,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - secp256k1_gej*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 875
    functionName: secp256k1_gej_rescale
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 10
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - SECP256K1_GEJ_VERIFY
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:879,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:880,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:883,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:885,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:886,1
    - Dst: secp256k1_fe_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge_storage*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: secp256k1_ge_to_storage
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_fe_to_storage
    - VERIFY_CHECK
    - secp256k1_fe_normalize
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:891,1
    - Dst: secp256k1_fe_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:892,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 896
    functionName: secp256k1_ge_from_storage
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_fe_from_storage
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:899,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:900,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:902,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:903,1
    - Dst: secp256k1_fe_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:904,1
    - Dst: SECP256K1_GEJ_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 908
    functionName: secp256k1_gej_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_GEJ_VERIFY
    - secp256k1_fe_cmov
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_gej_cmov(secp256k1_gej *r, const secp256k1_gej
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:911,1
    - Dst: secp256k1_fe_storage_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_ge_storage*
    - secp256k1_ge_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 913
    functionName: secp256k1_ge_storage_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_fe_storage_cmov
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ge_storage_cmov(secp256k1_ge_storage *r,
      const secp256k1_ge_storage *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:916,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:919,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 922
    functionName: secp256k1_ge_mul_lambda
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_fe_mul
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_mul_lambda(secp256k1_ge *r, const secp256k1_ge *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:928,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:931,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:933,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:935,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:938,1
    - Dst: SECP256K1_GE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ge
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 946
    functionName: secp256k1_ge_is_in_correct_subgroup
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_gej_is_infinity
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_set_infinity
    - secp256k1_gej_double_var
    - SECP256K1_GE_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_is_in_correct_subgroup(const secp256k1_ge* ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:950,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:951,1
    - Dst: secp256k1_fe_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:952,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 954
    functionName: secp256k1_ge_x_on_curve_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_fe_sqr
    - secp256k1_fe_is_square_var
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_x_on_curve_var(const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:962,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:962,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:964,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:965,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:966,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:967,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:968,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:969,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:970,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:971,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - xn
    - xd
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 973
    functionName: secp256k1_ge_x_frac_on_curve_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_fe_add
    - secp256k1_fe_is_square_var
    - secp256k1_fe_mul
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    linkageType: ''
    returnType: int
    signature: int secp256k1_ge_x_frac_on_curve_var(const secp256k1_fe *xn, const
      secp256k1_fe *xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:981,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:982,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:982,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:983,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - a
    argTypes:
    - unsigned char*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 985
    functionName: secp256k1_ge_to_bytes
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_to_storage
    - memcpy
    - STATIC_ASSERT
    - secp256k1_ge_is_infinity
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_to_bytes(unsigned char *buf, const secp256k1_ge *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:990,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:991,1
    - Dst: secp256k1_ge_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 993
    functionName: secp256k1_ge_from_bytes
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 7
    functionsReached:
    - STATIC_ASSERT
    - secp256k1_ge_from_storage
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_from_bytes(secp256k1_ge *r, const unsigned char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:996,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:997,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - ge
    argTypes:
    - unsigned char*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1001
    functionName: secp256k1_ge_to_bytes_ext
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 4
    functionsReached:
    - memset
    - secp256k1_ge_is_infinity
    - secp256k1_ge_to_bytes
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_to_bytes_ext(unsigned char *data, const secp256k1_ge
      *ge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:1005,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:1006,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/group_impl.h:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ge
    - data
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1010
    functionName: secp256k1_ge_from_bytes_ext
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_ge_from_bytes
    - secp256k1_ge_set_infinity
    linkageType: ''
    returnType: void
    signature: void secp256k1_ge_from_bytes_ext(secp256k1_ge *ge, const unsigned char
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_TO_ALIGN
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:14,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:15,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:18,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - error_callback
    - size
    argTypes:
    - secp256k1_callback*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: secp256k1_scratch_create
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h
    functionUses: 10
    functionsReached:
    - memset
    - checked_malloc
    - ROUND_TO_ALIGN
    - memcpy
    linkageType: ''
    returnType: secp256k1_scratch
    signature: secp256k1_scratch * secp256k1_scratch_create(const secp256k1_callback*
      error_callback, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:28,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:29,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:32,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:33,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - error_callback
    - scratch
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: secp256k1_scratch_destroy
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h
    functionUses: 10
    functionsReached:
    - VERIFY_CHECK
    - memset
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    - free
    linkageType: ''
    returnType: void
    signature: void secp256k1_scratch_destroy(const secp256k1_callback* error_callback,
      secp256k1_scratch* scratch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:39,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - error_callback
    - scratch
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: secp256k1_scratch_checkpoint
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_scratch_checkpoint(const secp256k1_callback* error_callback,
      const secp256k1_scratch* scratch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:47,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:48,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - error_callback
    - scratch
    - checkpoint
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: secp256k1_scratch_apply_checkpoint
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    linkageType: ''
    returnType: void
    signature: void secp256k1_scratch_apply_checkpoint(const secp256k1_callback* error_callback,
      secp256k1_scratch* scratch, size_t checkpoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:59,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - error_callback
    - scratch
    - objects
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: secp256k1_scratch_max_allocation
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_scratch_max_allocation(const secp256k1_callback* error_callback,
      const secp256k1_scratch* scratch, size_t objects)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_TO_ALIGN
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:77,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:84,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:85,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - error_callback
    - scratch
    - size
    argTypes:
    - secp256k1_callback*
    - secp256k1_scratch*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: secp256k1_scratch_alloc
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scratch_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_callback_call
    - ROUND_TO_ALIGN
    - memset
    linkageType: ''
    returnType: void
    signature: void *secp256k1_scratch_alloc(const secp256k1_callback* error_callback,
      secp256k1_scratch* scratch, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __umulh
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - hi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: secp256k1_umul128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 2
    functionsReached:
    - __umulh
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_umul128(uint64_t a, uint64_t b, uint64_t*
      hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __mulh
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - hi
    argTypes:
    - int64_t
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: secp256k1_mul128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached:
    - __mulh
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_mul128(int64_t a, int64_t b, int64_t* hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - hi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: secp256k1_umul128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_umul128(uint64_t a, uint64_t b, uint64_t*
      hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - hi
    argTypes:
    - int64_t
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: secp256k1_mul128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_mul128(int64_t a, int64_t b, int64_t* hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - hi
    - lo
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: secp256k1_u128_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_load(secp256k1_uint128 *r, uint64_t
      hi, uint64_t lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_umul128
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: secp256k1_u128_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_umul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_mul(secp256k1_uint128 *r, uint64_t
      a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_umul128
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: secp256k1_u128_accum_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_umul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_accum_mul(secp256k1_uint128 *r, uint64_t
      a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: secp256k1_u128_accum_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_accum_u64(secp256k1_uint128 *r, uint64_t
      a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:78,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:84,1
    - Dst: __shiftright128
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_uint128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: secp256k1_u128_rshift
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 11
    functionsReached:
    - VERIFY_CHECK
    - __shiftright128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_rshift(secp256k1_uint128 *r, unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: secp256k1_u128_to_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_to_u64(const secp256k1_uint128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: secp256k1_u128_hi_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_hi_u64(const secp256k1_uint128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_uint128*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: secp256k1_u128_from_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_from_u64(secp256k1_uint128 *r, uint64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_uint128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: secp256k1_u128_check_bits
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_u128_check_bits(const secp256k1_uint128
      *r, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - hi
    - lo
    argTypes:
    - secp256k1_int128*
    - int64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: secp256k1_i128_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_load(secp256k1_int128 *r, int64_t hi,
      uint64_t lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_mul128
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: secp256k1_i128_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_mul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_mul(secp256k1_int128 *r, int64_t a,
      int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_mul128
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:125,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:133,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: secp256k1_i128_accum_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_mul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_accum_mul(secp256k1_int128 *r, int64_t
      a, int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_mul128
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:144,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:150,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: secp256k1_i128_dissip_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_mul128
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_dissip_mul(secp256k1_int128 *r, int64_t
      a, int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:161,1
    - Dst: secp256k1_i128_dissip_mul
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - r
    - a
    - b
    - c
    - d
    argTypes:
    - secp256k1_int128*
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: secp256k1_i128_det
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_i128_mul
    - secp256k1_i128_dissip_mul
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_det(secp256k1_int128 *r, int64_t a,
      int64_t b, int64_t c, int64_t d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - secp256k1_int128*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: secp256k1_i128_rshift
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 10
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_rshift(secp256k1_int128 *r, unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: secp256k1_i128_to_u64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_to_u64(const secp256k1_int128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:185,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: secp256k1_i128_to_i64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 10
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_to_i64(const secp256k1_int128 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_int128*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: secp256k1_i128_from_i64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_from_i64(secp256k1_int128 *r, int64_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_int128*
    - secp256k1_int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: secp256k1_i128_eq_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_eq_var(const secp256k1_int128 *a, const
      secp256k1_int128 *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:199,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - r
    - n
    - sign
    argTypes:
    - secp256k1_int128*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: secp256k1_i128_check_pow2
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/int128_struct_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_i128_check_pow2(const secp256k1_int128 *r,
      unsigned int n, int sign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: secp256k1_scalar_set_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 41
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned
      int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:55,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:56,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: secp256k1_scalar_get_bits_limb32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 13
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_limb32(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:63,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:64,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:65,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:68,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: secp256k1_scalar_get_bits_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_get_bits_limb32
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_var(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: secp256k1_scalar_check_overflow
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_check_overflow(const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:95,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - r
    - overflow
    argTypes:
    - secp256k1_scalar*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: secp256k1_scalar_reduce
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_reduce(secp256k1_scalar *r, uint32_t
      overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:121,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:122,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:139,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:140,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:141,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 145
    functionName: secp256k1_scalar_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 57
    functionsReached:
    - secp256k1_scalar_reduce
    - VERIFY_CHECK
    - secp256k1_scalar_check_overflow
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:150,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:151,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:171,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 3
    argNames:
    - r
    - bit
    - flag
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: secp256k1_scalar_cadd_bit
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit,
      int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:177,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:178,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:179,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:180,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:181,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:182,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:183,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:184,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:185,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:185,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - r
    - b32
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: secp256k1_scalar_set_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 51
    functionsReached:
    - secp256k1_scalar_reduce
    - secp256k1_read_be32
    - secp256k1_scalar_check_overflow
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char
      *b32, int *overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:194,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:196,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:197,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:198,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:199,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:200,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:201,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:202,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - bin
    - a
    argTypes:
    - unsigned char*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: secp256k1_scalar_get_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 46
    functionsReached:
    - secp256k1_write_be32
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar*
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: secp256k1_scalar_is_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 40
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_zero(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:213,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:215,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: secp256k1_scalar_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 60
    functionsReached:
    - secp256k1_scalar_is_zero
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:253,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:279,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 282
    functionName: secp256k1_scalar_half
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 10
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_half(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: secp256k1_scalar_is_one
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 6
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_one(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 308
    functionName: secp256k1_scalar_is_high
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 9
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_is_high(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:315,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:317,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - r
    - flag
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: secp256k1_scalar_cond_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_scalar_is_zero
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: muladd
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: muladd(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: muladd_fast
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: muladd_fast(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: sumadd
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sumadd(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: sumadd_fast
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sumadd_fast(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: extract
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extract(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: extract_fast
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extract_fast(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:416,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:417,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:418,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:419,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:420,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:421,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:422,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:423,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:424,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:425,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:426,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:427,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:428,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:429,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:430,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:431,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:432,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:433,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:434,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:435,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:436,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:437,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:438,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:439,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:440,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:441,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:442,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:443,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:444,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:445,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:446,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:447,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:448,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:449,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:450,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:451,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:452,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:453,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:454,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:455,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:456,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:457,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:458,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:459,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:460,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:461,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:462,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:463,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:464,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:465,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:466,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:467,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:468,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:469,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:470,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:471,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:472,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:473,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:474,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:475,1
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:481,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:482,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:483,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:484,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:485,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:486,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:487,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:488,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:489,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:490,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:491,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:492,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:493,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:494,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:495,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:496,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:497,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:498,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:499,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:500,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:501,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:502,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:503,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:504,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:505,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:506,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:507,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:508,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:509,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:510,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:511,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:512,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:513,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:514,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:515,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:516,1
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:517,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:518,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:519,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:521,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:543,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 134
    argCount: 2
    argNames:
    - r
    - l
    argTypes:
    - secp256k1_scalar*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 544
    functionName: secp256k1_scalar_reduce_512
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - sumadd
    - secp256k1_scalar_check_overflow
    - extract
    - muladd_fast
    - secp256k1_scalar_reduce
    - sumadd_fast
    - extract_fast
    - muladd
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_reduce_512(secp256k1_scalar *r, const uint32_t
      *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:551,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:552,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:553,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:554,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:555,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:556,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:557,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:558,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:559,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:560,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:561,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:562,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:563,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:564,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:565,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:566,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:567,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:568,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:569,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:570,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:571,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:572,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:573,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:574,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:575,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:576,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:577,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:578,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:579,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:580,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:581,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:582,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:583,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:584,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:585,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:586,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:587,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:588,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:589,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:590,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:591,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:592,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:593,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:594,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:595,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:596,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:597,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:598,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:599,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:600,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:601,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:602,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:603,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:604,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:605,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:606,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:607,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:608,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:609,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:610,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:611,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:612,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:613,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:614,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:615,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:616,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:617,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:618,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:619,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:620,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:621,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:622,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:623,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:624,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:625,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:626,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:627,1
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:628,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:629,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 3
    argNames:
    - l
    - a
    - b
    argTypes:
    - uint32_t*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 632
    functionName: secp256k1_scalar_mul_512
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - extract
    - muladd_fast
    - extract_fast
    - muladd
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul_512(uint32_t *l, const secp256k1_scalar *a,
      const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:643,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:644,1
    - Dst: secp256k1_scalar_mul_512
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:646,1
    - Dst: secp256k1_scalar_reduce_512
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:647,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 650
    functionName: secp256k1_scalar_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 33
    functionsReached:
    - secp256k1_scalar_reduce_512
    - secp256k1_scalar_mul_512
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:653,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:672,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - r1
    - r2
    - k
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 674
    functionName: secp256k1_scalar_split_128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 4
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar
      *r2, const secp256k1_scalar *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:677,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: secp256k1_scalar_eq
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 28
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_eq(const secp256k1_scalar *a, const
      secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:688,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:689,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:690,1
    - Dst: secp256k1_scalar_mul_512
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:692,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:704,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - r
    - a
    - b
    - shift
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 707
    functionName: secp256k1_scalar_mul_shift_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_cadd_bit
    - VERIFY_CHECK
    - secp256k1_scalar_mul_512
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_mul_shift_var(secp256k1_scalar *r,
      const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:712,1
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:713,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 727
    functionName: secp256k1_scalar_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 12
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_cmov(secp256k1_scalar *r, const secp256k1_scalar
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:736,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:737,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:738,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:739,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:740,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:741,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:742,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:743,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:744,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_modinv32_signed30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 756
    functionName: secp256k1_scalar_from_signed30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_from_signed30(secp256k1_scalar *r, const secp256k1_modinv32_signed30
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 773
    functionName: secp256k1_scalar_to_signed30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_to_signed30(secp256k1_modinv32_signed30 *r, const
      secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:783,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:785,1
    - Dst: secp256k1_scalar_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:787,1
    - Dst: secp256k1_modinv32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:788,1
    - Dst: secp256k1_scalar_from_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:789,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:791,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:792,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 793
    functionName: secp256k1_scalar_inverse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 11
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_to_signed30
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_modinv32
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_from_signed30
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:798,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:800,1
    - Dst: secp256k1_scalar_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:802,1
    - Dst: secp256k1_modinv32_var
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:803,1
    - Dst: secp256k1_scalar_from_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:804,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:806,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:807,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 808
    functionName: secp256k1_scalar_inverse_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 9
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_to_signed30
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_modinv32_var
    - secp256k1_scalar_is_zero
    - secp256k1_scalar_from_signed30
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 814
    functionName: secp256k1_scalar_is_even
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_8x32_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_even(const secp256k1_scalar *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: secp256k1_modinv64_abs
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int64_t
    signature: int64_t secp256k1_modinv64_abs(int64_t v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_from_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:45,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:47,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:48,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:48,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:50,1
    - Dst: secp256k1_i128_from_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:51,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:51,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:52,1
    - Dst: secp256k1_i128_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:52,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - r
    - a
    - alen
    - factor
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_signed62*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: secp256k1_modinv64_mul_62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_i128_from_i64
    - secp256k1_i128_accum_mul
    - secp256k1_i128_eq_var
    - secp256k1_i128_to_i64
    - secp256k1_i128_rshift
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_mul_62(secp256k1_modinv64_signed62 *r, const
      secp256k1_modinv64_signed62 *a, int alen, int64_t factor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv64_mul_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:60,1
    - Dst: secp256k1_modinv64_mul_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:61,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:64,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - a
    - alen
    - b
    - factor
    argTypes:
    - secp256k1_modinv64_signed62*
    - int
    - secp256k1_modinv64_signed62*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: secp256k1_modinv64_mul_cmp_62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_modinv64_mul_62
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_modinv64_mul_cmp_62(const secp256k1_modinv64_signed62
      *a, int alen, const secp256k1_modinv64_signed62 *b, int64_t factor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_det
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:77,1
    - Dst: secp256k1_i128_check_pow2
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:78,1
    - Dst: secp256k1_i128_check_pow2
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - t
    - n
    - abs
    argTypes:
    - secp256k1_modinv64_trans2x2*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: secp256k1_modinv64_det_check_pow2
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_i128_det
    - secp256k1_i128_check_pow2
    linkageType: ''
    returnType: int
    signature: int secp256k1_modinv64_det_check_pow2(const secp256k1_modinv64_trans2x2
      *t, unsigned int n, int abs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:97,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:98,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:100,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:100,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:101,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:101,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:147,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:148,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:149,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:150,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:151,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:152,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:152,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:153,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 3
    argNames:
    - r
    - sign
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - int64_t
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 154
    functionName: secp256k1_modinv64_normalize_62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_normalize_62(secp256k1_modinv64_signed62 *r,
      int64_t sign, const secp256k1_modinv64_modinfo *modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:181,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:182,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:183,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:210,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:224,1
    - Dst: secp256k1_modinv64_det_check_pow2
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 4
    argNames:
    - zeta
    - f0
    - g0
    - t
    argTypes:
    - int64_t
    - uint64_t
    - uint64_t
    - secp256k1_modinv64_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 227
    functionName: secp256k1_modinv64_divsteps_59
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_modinv64_det_check_pow2
    - VERIFY_CHECK
    linkageType: ''
    returnType: int64_t
    signature: int64_t secp256k1_modinv64_divsteps_59(int64_t zeta, uint64_t f0, uint64_t
      g0, secp256k1_modinv64_trans2x2 *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ctz64_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:248,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:257,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:258,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:259,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:260,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:262,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:274,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:284,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:295,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:307,1
    - Dst: secp256k1_modinv64_det_check_pow2
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 4
    argNames:
    - eta
    - f0
    - g0
    - t
    argTypes:
    - int64_t
    - uint64_t
    - uint64_t
    - secp256k1_modinv64_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 310
    functionName: secp256k1_modinv64_divsteps_62_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_modinv64_det_check_pow2
    - VERIFY_CHECK
    - secp256k1_ctz64_var
    linkageType: ''
    returnType: int64_t
    signature: int64_t secp256k1_modinv64_divsteps_62_var(int64_t eta, uint64_t f0,
      uint64_t g0, secp256k1_modinv64_trans2x2 *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ctz64_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:335,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:347,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:348,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:349,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:350,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:365,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:375,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:386,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:398,1
    - Dst: secp256k1_modinv64_det_check_pow2
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 5
    argNames:
    - eta
    - f0
    - g0
    - t
    - jacp
    argTypes:
    - int64_t
    - uint64_t
    - uint64_t
    - secp256k1_modinv64_trans2x2*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 402
    functionName: secp256k1_modinv64_posdivsteps_62_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_modinv64_det_check_pow2
    - VERIFY_CHECK
    - secp256k1_ctz64_var
    linkageType: ''
    returnType: int64_t
    signature: int64_t secp256k1_modinv64_posdivsteps_62_var(int64_t eta, uint64_t
      f0, uint64_t g0, secp256k1_modinv64_trans2x2 *t, int *jacp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:418,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:418,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:419,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:419,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:420,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:420,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:421,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:421,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:422,1
    - Dst: secp256k1_modinv64_abs
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:422,1
    - Dst: secp256k1_modinv64_abs
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:422,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:423,1
    - Dst: secp256k1_modinv64_abs
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:423,1
    - Dst: secp256k1_modinv64_abs
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:423,1
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:431,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:432,1
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:433,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:434,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:436,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:437,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:439,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:440,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:442,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:442,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:442,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:443,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:443,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:443,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:445,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:446,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:447,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:448,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:450,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:451,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:453,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:453,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:454,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:454,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:456,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:457,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:458,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:459,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:461,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:462,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:464,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:464,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:465,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:465,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:467,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:468,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:469,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:470,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:472,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:473,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:475,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:475,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:476,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:476,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:478,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:479,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:480,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:481,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:482,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:483,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:484,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:484,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:485,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:485,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:487,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:488,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:490,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:490,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:491,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:491,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:492,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:492,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:493,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 4
    argNames:
    - d
    - e
    - t
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_trans2x2*
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 494
    functionName: secp256k1_modinv64_update_de_62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    - secp256k1_i128_to_i64
    - secp256k1_i128_rshift
    - secp256k1_i128_accum_mul
    - secp256k1_modinv64_abs
    - secp256k1_i128_mul
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_update_de_62(secp256k1_modinv64_signed62 *d,
      secp256k1_modinv64_signed62 *e, const secp256k1_modinv64_trans2x2 *t, const
      secp256k1_modinv64_modinfo* modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:507,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:508,1
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:509,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:510,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:512,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:512,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:512,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:513,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:513,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:513,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:515,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:516,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:517,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:518,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:519,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:519,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:520,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:520,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:522,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:523,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:524,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:525,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:526,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:526,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:527,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:527,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:529,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:530,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:531,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:532,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:533,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:533,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:534,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:534,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:536,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:537,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:538,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:539,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:540,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:540,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:541,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:541,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:543,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 3
    argNames:
    - f
    - g
    - t
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 545
    functionName: secp256k1_modinv64_update_fg_62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_i128_rshift
    - secp256k1_i128_accum_mul
    - secp256k1_i128_to_i64
    - secp256k1_i128_mul
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_update_fg_62(secp256k1_modinv64_signed62 *f,
      secp256k1_modinv64_signed62 *g, const secp256k1_modinv64_trans2x2 *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:559,1
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:563,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:564,1
    - Dst: secp256k1_i128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:565,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:566,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:568,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:568,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:568,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:569,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:569,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:569,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:575,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:576,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:577,1
    - Dst: secp256k1_i128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:578,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:579,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:579,1
    - Dst: secp256k1_i128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:580,1
    - Dst: secp256k1_i128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:580,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:583,1
    - Dst: secp256k1_i128_to_i64
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - len
    - f
    - g
    - t
    argTypes:
    - int
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 585
    functionName: secp256k1_modinv64_update_fg_62_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_i128_accum_mul
    - secp256k1_i128_mul
    - secp256k1_i128_to_i64
    - secp256k1_i128_rshift
    - secp256k1_i128_to_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_update_fg_62_var(int len, secp256k1_modinv64_signed62
      *f, secp256k1_modinv64_signed62 *g, const secp256k1_modinv64_trans2x2 *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv64_divsteps_59
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:601,1
    - Dst: secp256k1_modinv64_update_de_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:603,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:605,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:605,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:606,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:606,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:607,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:607,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:608,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:608,1
    - Dst: secp256k1_modinv64_update_fg_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:610,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:612,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:612,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:613,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:613,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:614,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:614,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:615,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:615,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:623,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:623,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:625,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:625,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:626,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:627,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:628,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:629,1
    - Dst: secp256k1_modinv64_normalize_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 634
    functionName: secp256k1_modinv64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    - secp256k1_modinv64_normalize_62
    - secp256k1_modinv64_update_de_62
    - secp256k1_modinv64_divsteps_59
    - secp256k1_modinv64_update_fg_62
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64(secp256k1_modinv64_signed62 *x, const secp256k1_modinv64_modinfo
      *modinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv64_divsteps_62_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:654,1
    - Dst: secp256k1_modinv64_update_de_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:656,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:658,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:658,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:659,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:659,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:660,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:660,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:661,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:661,1
    - Dst: secp256k1_modinv64_update_fg_62_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:663,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:688,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:689,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:689,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:690,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:690,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:691,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:691,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:692,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:692,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:699,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:699,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:701,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:701,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:702,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:703,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:704,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:705,1
    - Dst: secp256k1_modinv64_normalize_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 710
    functionName: secp256k1_modinv64_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    - secp256k1_modinv64_normalize_62
    - secp256k1_modinv64_divsteps_62_var
    - secp256k1_modinv64_update_de_62
    - secp256k1_modinv64_update_fg_62_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv64_var(secp256k1_modinv64_signed62 *x, const secp256k1_modinv64_modinfo
      *modinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:732,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:737,1
    - Dst: secp256k1_modinv64_posdivsteps_62_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:742,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:744,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:744,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:745,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:745,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:746,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:746,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:747,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:747,1
    - Dst: secp256k1_modinv64_update_fg_62_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:749,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:770,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:770,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:771,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:771,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:772,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:772,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:773,1
    - Dst: secp256k1_modinv64_mul_cmp_62
      Src: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h:773,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_modinv64_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 778
    functionName: secp256k1_jacobi64_maybe_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv64_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv64_mul_cmp_62
    - secp256k1_modinv64_update_fg_62_var
    - secp256k1_modinv64_posdivsteps_62_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_jacobi64_maybe_var(const secp256k1_modinv64_signed62
      *x, const secp256k1_modinv64_modinfo *modinfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - len
    - sigp
    - sigend
    argTypes:
    - size_t*
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 88
    functionName: secp256k1_der_read_len
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_der_read_len(size_t *len, const unsigned char **sigp,
      const unsigned char *sigend)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_der_read_len
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:100,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:131,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:132,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:135,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - r
    - sig
    - sigend
    argTypes:
    - secp256k1_scalar*
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 139
    functionName: secp256k1_der_parse_integer
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_set_int
    - secp256k1_der_read_len
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_der_parse_integer(secp256k1_scalar *r, const unsigned
      char **sig, const unsigned char *sigend)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_der_read_len
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:148,1
    - Dst: secp256k1_der_parse_integer
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:156,1
    - Dst: secp256k1_der_parse_integer
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - rr
    - rs
    - sig
    - size
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: secp256k1_ecdsa_sig_parse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_der_parse_integer
    - secp256k1_der_read_len
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_parse(secp256k1_scalar *rr, secp256k1_scalar
      *rs, const unsigned char *sig, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:175,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:176,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:188,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - sig
    - size
    - ar
    - as
    argTypes:
    - unsigned char*
    - size_t*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: secp256k1_ecdsa_sig_serialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_serialize(unsigned char *sig, size_t *size,
      const secp256k1_scalar* ar, const secp256k1_scalar* as)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:204,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:204,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:208,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:209,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:210,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:211,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:212,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:213,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:221,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:222,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:224,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:225,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:226,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:229,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:231,1
    - Dst: secp256k1_gej_eq_x_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:249,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:253,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:257,1
    - Dst: secp256k1_gej_eq_x_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - sigr
    - sigs
    - pubkey
    - message
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 264
    functionName: secp256k1_ecdsa_sig_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_gej_is_infinity
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_fe_add
    - secp256k1_fe_get_b32
    - secp256k1_gej_set_ge
    - secp256k1_fe_cmp_var
    - secp256k1_scalar_mul
    - secp256k1_ecmult
    - secp256k1_fe_normalize
    - secp256k1_scalar_inverse_var
    - secp256k1_scalar_is_zero
    - secp256k1_gej_eq_x_var
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_verify(const secp256k1_scalar *sigr, const
      secp256k1_scalar *sigs, const secp256k1_ge *pubkey, const secp256k1_scalar *message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:274,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:275,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:276,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:277,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:278,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:279,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:284,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:286,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:287,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:288,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:289,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:290,1
    - Dst: secp256k1_gej_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:291,1
    - Dst: secp256k1_ge_clear
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:292,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:293,1
    - Dst: secp256k1_scalar_cond_negate
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:294,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:301,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 7
    argNames:
    - ctx
    - sigr
    - sigs
    - seckey
    - message
    - nonce
    - recid
    argTypes:
    - secp256k1_ecmult_gen_context*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 302
    functionName: secp256k1_ecdsa_sig_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecdsa_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_clear
    - secp256k1_ge_clear
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_inverse
    - secp256k1_fe_get_b32
    - secp256k1_ecmult_gen
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_high
    - secp256k1_scalar_cond_negate
    - secp256k1_fe_normalize
    - secp256k1_scalar_is_zero
    - secp256k1_fe_is_odd
    - secp256k1_gej_clear
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_sign(const secp256k1_ecmult_gen_context *ctx,
      secp256k1_scalar *sigr, secp256k1_scalar *sigs, const secp256k1_scalar *seckey,
      const secp256k1_scalar *message, const secp256k1_scalar *nonce, int *recid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: STR_
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: STR
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: DEBUG_CONFIG_MSG
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_CONFIG_MSG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DEBUG_CONFIG_DEF
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_CONFIG_DEF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: PRINT_BUF
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_BUF(buf, len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:36,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:39,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:41,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:43,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: print_buf_plain
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_buf_plain(const unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: STATIC_ASSERT
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_ASSERT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_callback*::fn
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - text
    argTypes:
    - secp256k1_callback*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: secp256k1_callback_call
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 13
    functionsReached:
    - secp256k1_callback*::fn
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_callback_call(const secp256k1_callback *
      const cb, const char * const text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:99,1
    - Dst: abort
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: secp256k1_default_illegal_callback_fn
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: void secp256k1_default_illegal_callback_fn(const char* str, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:104,1
    - Dst: abort
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: secp256k1_default_error_callback_fn
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: void secp256k1_default_error_callback_fn(const char* str, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: TEST_FAILURE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAILURE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: TEST_FAILURE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAILURE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: EXPECT
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(x,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: EXPECT
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(x,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: CHECK
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 1061
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: CHECK
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 1061
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:163,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cb
    - size
    argTypes:
    - secp256k1_callback*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: checked_malloc
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 12
    functionsReached:
    - secp256k1_callback_call
    - malloc
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE *checked_malloc(const secp256k1_callback* cb, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: CEIL_DIV
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CEIL_DIV(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: ROUND_TO_ALIGN
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO_ALIGN(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - len
    - flag
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: secp256k1_memczero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_memczero(void *s, size_t len, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:226,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:239,1
    - Dst: volatile_memset
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:243,1
    - Dst: SECP256K1_CHECKMEM_UNDEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 248
    functionName: secp256k1_memclear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 24
    functionsReached:
    - memset
    - SecureZeroMemory
    - volatile_memset
    - SECP256K1_CHECKMEM_UNDEFINE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_memclear(void *ptr, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: secp256k1_memcmp_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 126
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_memcmp_var(const void *s1, const void *s2,
      size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: secp256k1_is_zero_array
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 4
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_is_zero_array(const unsigned char *s, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: secp256k1_int_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_int_cmov(int *r, const int *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: __has_builtin
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_builtin(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: secp256k1_ctz32_var_debruijn
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ctz32_var_debruijn(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: secp256k1_ctz64_var_debruijn
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ctz64_var_debruijn(uint64_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:365,1
    - Dst: __has_builtin
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:366,1
    - Dst: SECP256K1_GNUC_PREREQ
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:366,1
    - Dst: __builtin_ctz
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:369,1
    - Dst: __has_builtin
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:372,1
    - Dst: SECP256K1_GNUC_PREREQ
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:372,1
    - Dst: __builtin_ctzl
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:374,1
    - Dst: secp256k1_ctz32_var_debruijn
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 379
    functionName: secp256k1_ctz32_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 4
    functionsReached:
    - __builtin_ctzl
    - VERIFY_CHECK
    - secp256k1_ctz32_var_debruijn
    - __builtin_ctz
    - __has_builtin
    - SECP256K1_GNUC_PREREQ
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ctz32_var(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:383,1
    - Dst: __has_builtin
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:384,1
    - Dst: SECP256K1_GNUC_PREREQ
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:384,1
    - Dst: __builtin_ctzl
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:387,1
    - Dst: __has_builtin
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:390,1
    - Dst: SECP256K1_GNUC_PREREQ
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:390,1
    - Dst: __builtin_ctzll
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:392,1
    - Dst: secp256k1_ctz64_var_debruijn
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 397
    functionName: secp256k1_ctz64_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 6
    functionsReached:
    - __builtin_ctzl
    - VERIFY_CHECK
    - __builtin_ctzll
    - secp256k1_ctz64_var_debruijn
    - __has_builtin
    - SECP256K1_GNUC_PREREQ
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_ctz64_var(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: secp256k1_read_be32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_read_be32(const unsigned char* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: secp256k1_write_be32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_write_be32(unsigned char* p, uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: secp256k1_read_be64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_read_be64(const unsigned char* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - unsigned char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: secp256k1_write_be64
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_write_be64(unsigned char* p, uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _rotr
      Src: /src/bitcoin-core/src/secp256k1/src/util.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - by
    argTypes:
    - uint32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: secp256k1_rotr32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/util.h
    functionUses: 2
    functionsReached:
    - _rotr
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_rotr32(const uint32_t x, const unsigned
      int by)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - r
    - a
    - alen
    - factor
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_signed30*
    - int
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: secp256k1_modinv32_mul_30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_mul_30(secp256k1_modinv32_signed30 *r, const
      secp256k1_modinv32_signed30 *a, int alen, int32_t factor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv32_mul_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:44,1
    - Dst: secp256k1_modinv32_mul_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:45,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:48,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - a
    - alen
    - b
    - factor
    argTypes:
    - secp256k1_modinv32_signed30*
    - int
    - secp256k1_modinv32_signed30*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: secp256k1_modinv32_mul_cmp_30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_modinv32_mul_30
    linkageType: ''
    returnType: int
    signature: int secp256k1_modinv32_mul_cmp_30(const secp256k1_modinv32_signed30
      *a, int alen, const secp256k1_modinv32_signed30 *b, int32_t factor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:73,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:74,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:76,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:76,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:77,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:77,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:147,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:148,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:149,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:150,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:151,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:152,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:153,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:154,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:155,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:156,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:156,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:157,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 89
    argCount: 3
    argNames:
    - r
    - sign
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - int32_t
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 158
    functionName: secp256k1_modinv32_normalize_30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_normalize_30(secp256k1_modinv32_signed30 *r,
      int32_t sign, const secp256k1_modinv32_modinfo *modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:192,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:193,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:194,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:221,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 4
    argNames:
    - zeta
    - f0
    - g0
    - t
    argTypes:
    - int32_t
    - uint32_t
    - uint32_t
    - secp256k1_modinv32_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 234
    functionName: secp256k1_modinv32_divsteps_30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t secp256k1_modinv32_divsteps_30(int32_t zeta, uint32_t f0, uint32_t
      g0, secp256k1_modinv32_trans2x2 *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ctz32_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:270,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:279,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:280,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:281,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:282,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:284,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:298,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:306,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - eta
    - f0
    - g0
    - t
    argTypes:
    - int32_t
    - uint32_t
    - uint32_t
    - secp256k1_modinv32_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 319
    functionName: secp256k1_modinv32_divsteps_30_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ctz32_var
    linkageType: ''
    returnType: int32_t
    signature: int32_t secp256k1_modinv32_divsteps_30_var(int32_t eta, uint32_t f0,
      uint32_t g0, secp256k1_modinv32_trans2x2 *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ctz32_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:344,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:356,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:357,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:358,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:359,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:376,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:384,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - eta
    - f0
    - g0
    - t
    - jacp
    argTypes:
    - int32_t
    - uint32_t
    - uint32_t
    - secp256k1_modinv32_trans2x2*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 399
    functionName: secp256k1_modinv32_posdivsteps_30_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ctz32_var
    linkageType: ''
    returnType: int32_t
    signature: int32_t secp256k1_modinv32_posdivsteps_30_var(int32_t eta, uint32_t
      f0, uint32_t g0, secp256k1_modinv32_trans2x2 *t, int *jacp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:414,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:414,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:415,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:415,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:416,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:416,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:417,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:417,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:418,1
    - Dst: labs
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:418,1
    - Dst: labs
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:418,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:419,1
    - Dst: labs
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:419,1
    - Dst: labs
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:419,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:438,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:439,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:456,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:456,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:457,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:457,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:458,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:458,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:459,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 4
    argNames:
    - d
    - e
    - t
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_trans2x2*
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 460
    functionName: secp256k1_modinv32_update_de_30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    - labs
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_update_de_30(secp256k1_modinv32_signed30 *d,
      secp256k1_modinv32_signed30 *e, const secp256k1_modinv32_trans2x2 *t, const
      secp256k1_modinv32_modinfo* modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:478,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - f
    - g
    - t
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 493
    functionName: secp256k1_modinv32_update_fg_30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_update_fg_30(secp256k1_modinv32_signed30 *f,
      secp256k1_modinv32_signed30 *g, const secp256k1_modinv32_trans2x2 *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:507,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:514,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 4
    argNames:
    - len
    - f
    - g
    - t
    argTypes:
    - int
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_trans2x2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 529
    functionName: secp256k1_modinv32_update_fg_30_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_update_fg_30_var(int len, secp256k1_modinv32_signed30
      *f, secp256k1_modinv32_signed30 *g, const secp256k1_modinv32_trans2x2 *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv32_divsteps_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:545,1
    - Dst: secp256k1_modinv32_update_de_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:547,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:549,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:549,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:550,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:550,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:551,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:551,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:552,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:552,1
    - Dst: secp256k1_modinv32_update_fg_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:554,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:556,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:556,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:557,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:557,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:558,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:558,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:559,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:559,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:567,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:567,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:569,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:569,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:570,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:571,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:572,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:573,1
    - Dst: secp256k1_modinv32_normalize_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 578
    functionName: secp256k1_modinv32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    - secp256k1_modinv32_normalize_30
    - secp256k1_modinv32_update_de_30
    - secp256k1_modinv32_divsteps_30
    - secp256k1_modinv32_update_fg_30
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32(secp256k1_modinv32_signed30 *x, const secp256k1_modinv32_modinfo
      *modinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_modinv32_divsteps_30_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:598,1
    - Dst: secp256k1_modinv32_update_de_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:600,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:603,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:603,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:604,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:604,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:605,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:605,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:606,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:606,1
    - Dst: secp256k1_modinv32_update_fg_30_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:608,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:633,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:634,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:634,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:635,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:635,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:636,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:636,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:637,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:637,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:644,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:644,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:646,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:646,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:647,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:648,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:649,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:650,1
    - Dst: secp256k1_modinv32_normalize_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:653,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 655
    functionName: secp256k1_modinv32_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    - secp256k1_modinv32_normalize_30
    - secp256k1_modinv32_update_de_30
    - secp256k1_modinv32_update_fg_30_var
    - secp256k1_modinv32_divsteps_30_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_modinv32_var(secp256k1_modinv32_signed30 *x, const secp256k1_modinv32_modinfo
      *modinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:677,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:682,1
    - Dst: secp256k1_modinv32_posdivsteps_30_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:687,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:689,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:689,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:690,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:690,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:691,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:691,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:692,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:692,1
    - Dst: secp256k1_modinv32_update_fg_30_var
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:694,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:715,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:715,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:716,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:716,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:717,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:717,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:718,1
    - Dst: secp256k1_modinv32_mul_cmp_30
      Src: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h:718,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - x
    - modinfo
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_modinv32_modinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 723
    functionName: secp256k1_jacobi32_maybe_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modinv32_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_modinv32_mul_cmp_30
    - VERIFY_CHECK
    - secp256k1_modinv32_update_fg_30_var
    - secp256k1_modinv32_posdivsteps_30_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_jacobi32_maybe_var(const secp256k1_modinv32_signed30
      *x, const secp256k1_modinv32_modinfo *modinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:26,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:27,1
    - Dst: SECP256K1_GE_STORAGE_CONST_GET
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:29,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:33,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:34,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:35,1
    - Dst: SECP256K1_GE_STORAGE_CONST_GET
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:37,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:39,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - fp
    - name
    - window_g
    - table
    argTypes:
    - FILE*
    - char*
    - int
    - secp256k1_ge_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: print_table
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c
    functionUses: 3
    functionsReached:
    - ECMULT_TABLE_SIZE
    - fprintf
    - SECP256K1_GE_STORAGE_CONST_GET
    linkageType: ''
    returnType: void
    signature: void print_table(FILE *fp, const char *name, int window_g, const secp256k1_ge_storage*
      table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:45,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:45,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:46,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:46,1
    - Dst: secp256k1_ecmult_compute_two_tables
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:48,1
    - Dst: print_table
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:50,1
    - Dst: print_table
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:51,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:53,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fp
    - window_g
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: print_two_tables
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult_compute_two_tables
    - print_table
    - malloc
    - ECMULT_TABLE_SIZE
    - free
    linkageType: ''
    returnType: void
    signature: void print_two_tables(FILE *fp, int window_g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:63,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:65,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:69,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:70,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:71,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:72,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:73,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:74,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:75,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:76,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:77,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:78,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:79,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:80,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:81,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:82,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:83,1
    - Dst: print_two_tables
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:85,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:87,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/precompute_ecmult.c
    functionUses: 0
    functionsReached:
    - fprintf
    - print_two_tables
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ECMULT_TABLE_SIZE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ECMULT_TABLE_SIZE(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: SECP256K1_CHECKMEM_NOOP
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_NOOP(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: SECP256K1_CHECKMEM_UNDEFINE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_UNDEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: SECP256K1_CHECKMEM_DEFINE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: SECP256K1_CHECKMEM_MSAN_DEFINE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_MSAN_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: SECP256K1_CHECKMEM_CHECK
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: SECP256K1_CHECKMEM_RUNNING
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_RUNNING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: SECP256K1_CHECKMEM_MSAN_DEFINE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_MSAN_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: SECP256K1_CHECKMEM_UNDEFINE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_UNDEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: SECP256K1_CHECKMEM_DEFINE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: SECP256K1_CHECKMEM_CHECK
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: SECP256K1_CHECKMEM_RUNNING
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_RUNNING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: SECP256K1_CHECKMEM_UNDEFINE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_UNDEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: SECP256K1_CHECKMEM_DEFINE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_DEFINE(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: SECP256K1_CHECKMEM_CHECK
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: SECP256K1_CHECKMEM_RUNNING
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_RUNNING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: SECP256K1_CHECKMEM_CHECK_VERIFY
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK_VERIFY(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: SECP256K1_CHECKMEM_CHECK_VERIFY
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/checkmem.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_CHECKMEM_CHECK_VERIFY(p, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/selftest.h:22,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/selftest.h:23,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/selftest.h:24,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/selftest.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: secp256k1_selftest_sha256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/selftest.h
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: int
    signature: int secp256k1_selftest_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/selftest.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: secp256k1_selftest_passes
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/selftest.h
    functionUses: 1
    functionsReached:
    - secp256k1_selftest_sha256
    linkageType: ''
    returnType: int
    signature: int secp256k1_selftest_passes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: SECP256K1_FE_CONST_INNER
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_CONST_INNER(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: SECP256K1_FE_STORAGE_CONST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_STORAGE_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: SECP256K1_FE_STORAGE_CONST_GET
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_STORAGE_CONST_GET(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: SECP256K1_FE_CONST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: secp256k1_fe_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: secp256k1_fe_negate(r, a, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: secp256k1_fe_mul_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: secp256k1_fe_mul_int(r, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: SECP256K1_FE_VERIFY
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_VERIFY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: SECP256K1_FE_VERIFY_MAGNITUDE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_VERIFY_MAGNITUDE(a, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: secp256k1_scalar_clear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h
    functionUses: 23
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_clear(secp256k1_scalar *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:36,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:38,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - bin
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: secp256k1_scalar_set_b32_seckey
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h
    functionUses: 10
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_is_zero
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_set_b32_seckey(secp256k1_scalar *r, const unsigned
      char *bin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:43,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: secp256k1_scalar_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_check_overflow
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_verify(const secp256k1_scalar *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:304,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:305,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:306,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:306,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:308,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:309,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:310,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:311,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:311,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:311,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:313,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:314,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:315,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:316,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:316,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - r1
    - r2
    - k
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 317
    functionName: secp256k1_scalar_split_lambda_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_add
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_mul
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_split_lambda_verify(const secp256k1_scalar *r1,
      const secp256k1_scalar *r2, const secp256k1_scalar *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: SECP256K1_SCALAR_VERIFY
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar.h
    functionUses: 114
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_SCALAR_VERIFY(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_odd_multiples_table
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:47,1
    - Dst: secp256k1_ge_table_set_globalz
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pre
    - globalz
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_fe*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: secp256k1_ecmult_const_odd_multiples_table_globalz
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ge_table_set_globalz
    - secp256k1_ecmult_odd_multiples_table
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_const_odd_multiples_table_globalz(secp256k1_ge
      *pre, secp256k1_fe *globalz, const secp256k1_gej *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - pre
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: ECMULT_CONST_TABLE_GET_GE
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ECMULT_CONST_TABLE_GET_GE(r,pre,n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_CONST
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:192,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:202,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:203,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:208,1
    - Dst: secp256k1_scalar_half
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:209,1
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:210,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:211,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:212,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:217,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:217,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:218,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:218,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:228,1
    - Dst: secp256k1_ecmult_const_odd_multiples_table_globalz
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:229,1
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:231,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:246,1
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:247,1
    - Dst: ECMULT_CONST_TABLE_GET_GE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:251,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:254,1
    - Dst: secp256k1_gej_double
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:258,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:260,1
    - Dst: ECMULT_CONST_TABLE_GET_GE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:262,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:263,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - r
    - a
    - q
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 268
    functionName: secp256k1_ecmult_const
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h
    functionUses: 20
    functionsReached:
    - ECMULT_CONST_TABLE_GET_GE
    - secp256k1_scalar_split_lambda
    - secp256k1_scalar_half
    - VERIFY_CHECK
    - secp256k1_ecmult_const_odd_multiples_table_globalz
    - secp256k1_ge_mul_lambda
    - secp256k1_scalar_get_bits_var
    - secp256k1_scalar_get_bits_limb32
    - secp256k1_gej_set_infinity
    - secp256k1_gej_set_ge
    - secp256k1_gej_add_ge
    - SECP256K1_SCALAR_CONST
    - secp256k1_fe_mul
    - secp256k1_gej_double
    - secp256k1_ge_is_infinity
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a,
      const secp256k1_scalar *q)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:346,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:347,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:350,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:350,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:351,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:352,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:353,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:354,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:355,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:365,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:366,1
    - Dst: secp256k1_fe_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:369,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:372,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:376,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:380,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:381,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:385,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:385,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:386,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:387,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:387,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:392,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:393,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:394,1
    - Dst: secp256k1_fe_inv
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:395,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 5
    argNames:
    - r
    - n
    - d
    - q
    - known_on_curve
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 399
    functionName: secp256k1_ecmult_const_xonly
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_const_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_fe_inv
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY_MAGNITUDE
    - secp256k1_gej_is_infinity
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_fe_add
    - secp256k1_fe_is_square_var
    - secp256k1_ecmult_const
    - secp256k1_fe_mul
    - secp256k1_fe_add_int
    - secp256k1_fe_sqr
    - secp256k1_scalar_is_zero
    - secp256k1_fe_mul_int
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecmult_const_xonly(secp256k1_fe* r, const secp256k1_fe
      *n, const secp256k1_fe *d, const secp256k1_scalar *q, int known_on_curve)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:17,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: testutil_random_fe
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 8
    functionsReached:
    - testrand256
    - secp256k1_fe_set_b32_limit
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe(secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:26,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nz
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: testutil_random_fe_non_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 7
    functionsReached:
    - secp256k1_fe_is_zero
    - testutil_random_fe
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe_non_zero(secp256k1_fe *nz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:32,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:33,1
    - Dst: secp256k1_fe_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:37,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:38,1
    - Dst: secp256k1_fe_mul_int_unchecked
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:39,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:40,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fe
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: testutil_random_fe_magnitude
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 9
    functionsReached:
    - CHECK
    - secp256k1_fe_mul_int_unchecked
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_normalize
    - testrand_int
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe_magnitude(secp256k1_fe *fe, int m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:49,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: testutil_random_fe_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 12
    functionsReached:
    - secp256k1_fe_set_b32_limit
    - testrand256_test
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe_test(secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_test
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:58,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fe
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: testutil_random_fe_non_zero_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 7
    functionsReached:
    - secp256k1_fe_is_zero
    - testutil_random_fe_test
    linkageType: ''
    returnType: void
    signature: void testutil_random_fe_non_zero_test(secp256k1_fe *fe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ge
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: testutil_random_ge_x_magnitude
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 2
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_ge_x_magnitude(secp256k1_ge *ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ge
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: testutil_random_ge_y_magnitude
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 2
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_ge_y_magnitude(secp256k1_ge *ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gej
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: testutil_random_gej_x_magnitude
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 2
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_gej_x_magnitude(secp256k1_gej *gej)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gej
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: testutil_random_gej_y_magnitude
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 2
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_gej_y_magnitude(secp256k1_gej *gej)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_magnitude
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gej
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: testutil_random_gej_z_magnitude
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 2
    functionsReached:
    - testutil_random_fe_magnitude
    linkageType: ''
    returnType: void
    signature: void testutil_random_gej_z_magnitude(secp256k1_gej *gej)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_test
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:85,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:86,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:86,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ge
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: testutil_random_ge_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 26
    functionsReached:
    - testrand_bits
    - testutil_random_fe_test
    - secp256k1_fe_normalize
    - secp256k1_ge_set_xo_var
    linkageType: ''
    returnType: void
    signature: void testutil_random_ge_test(secp256k1_ge *ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_fe_non_zero_test
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:96,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:97,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:98,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:99,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - gej
    - ge
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: testutil_random_ge_jacobian_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 3
    functionsReached:
    - testutil_random_fe_non_zero_test
    - secp256k1_fe_sqr
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void testutil_random_ge_jacobian_test(secp256k1_gej *gej, const secp256k1_ge
      *ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:106,1
    - Dst: testutil_random_ge_jacobian_test
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gej
    argTypes:
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: testutil_random_gej_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 2
    functionsReached:
    - testutil_random_ge_jacobian_test
    - testutil_random_ge_test
    linkageType: ''
    returnType: void
    signature: void testutil_random_gej_test(secp256k1_gej *gej)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:112,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pk
    argTypes:
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: testutil_random_pubkey_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 4
    functionsReached:
    - testutil_random_ge_test
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: void
    signature: void testutil_random_pubkey_test(secp256k1_pubkey *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:120,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:121,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - num
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: testutil_random_scalar_order_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 30
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_is_zero
    - testrand256_test
    linkageType: ''
    returnType: void
    signature: void testutil_random_scalar_order_test(secp256k1_scalar *num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:133,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:134,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - num
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: testutil_random_scalar_order
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 13
    functionsReached:
    - secp256k1_scalar_set_b32
    - testrand256
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void testutil_random_scalar_order(secp256k1_scalar *num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:144,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/testutil.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b32
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: testutil_random_scalar_order_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/testutil.h
    functionUses: 4
    functionsReached:
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    linkageType: ''
    returnType: void
    signature: void testutil_random_scalar_order_b32(unsigned char *b32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: VERIFY_BITS
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_BITS(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: VERIFY_BITS_128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_BITS_128(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:24,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:25,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:26,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:27,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:28,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:29,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:30,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:31,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:32,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:33,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:34,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:35,1
    - Dst: secp256k1_u128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:43,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:44,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:45,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:46,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:47,1
    - Dst: secp256k1_u128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:49,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:50,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:52,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:52,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:52,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:53,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:54,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:56,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:56,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:57,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:58,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:61,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:62,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:63,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:64,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:65,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:66,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:68,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:68,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:69,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:71,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:71,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:72,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:73,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:76,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:77,1
    - Dst: secp256k1_u128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:80,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:81,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:83,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:84,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:85,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:86,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:87,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:89,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:89,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:90,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:91,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:95,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:97,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:98,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:100,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:100,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:101,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:102,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:105,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:106,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:107,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:109,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:110,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:111,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:112,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:114,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:114,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:114,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:115,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:116,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:118,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:118,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:119,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:120,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:123,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:124,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:125,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:126,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:128,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:129,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:130,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:132,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:132,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:132,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:133,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:134,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:137,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:137,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:138,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:139,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:141,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:141,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:142,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:143,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:145,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:145,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:146,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:147,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:149,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 102
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 152
    functionName: secp256k1_fe_mul_inner
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - VERIFY_BITS_128
    - secp256k1_u128_accum_u64
    - secp256k1_u128_mul
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - VERIFY_BITS
    - secp256k1_u128_accum_mul
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_mul_inner(uint64_t *r, const uint64_t
      *a, const uint64_t * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:160,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:161,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:162,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:163,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:164,1
    - Dst: secp256k1_u128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:171,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:172,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:173,1
    - Dst: secp256k1_u128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:175,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:176,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:178,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:178,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:178,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:179,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:180,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:182,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:182,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:183,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:184,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:188,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:189,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:190,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:191,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:193,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:193,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:194,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:196,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:196,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:197,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:198,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:201,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:202,1
    - Dst: secp256k1_u128_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:205,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:206,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:208,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:209,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:210,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:212,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:212,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:213,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:214,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:218,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:220,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:221,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:223,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:223,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:224,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:225,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:229,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:230,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:232,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:233,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:234,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:236,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:236,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:236,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:237,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:238,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:240,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:240,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:241,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:242,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:245,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:246,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:247,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:249,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:250,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:252,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:252,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:252,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:253,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:254,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:256,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:256,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:257,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:258,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:261,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:261,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:262,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:263,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:265,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:265,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:266,1
    - Dst: VERIFY_BITS_128
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:267,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:269,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 87
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 272
    functionName: secp256k1_fe_sqr_inner
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_int128_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_BITS_128
    - secp256k1_u128_accum_u64
    - secp256k1_u128_mul
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - VERIFY_BITS
    - secp256k1_u128_accum_mul
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: ARG_CHECK
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARG_CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ARG_CHECK_VOID
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARG_CHECK_VOID(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: secp256k1_context_is_proper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 8
    functionsReached:
    - secp256k1_ecmult_gen_context_is_built
    linkageType: ''
    returnType: int
    signature: int secp256k1_context_is_proper(const secp256k1_context* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest_passes
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:87,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: secp256k1_selftest
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 5
    functionsReached:
    - secp256k1_selftest_passes
    - secp256k1_callback_call
    linkageType: ''
    returnType: void
    signature: void secp256k1_selftest(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:95,1
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:97,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:98,1
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:103,1
    - Dst: SECP256K1_CHECKMEM_RUNNING
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:103,1
    - Dst: secp256k1_callback_call
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: secp256k1_context_preallocated_size
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 6
    functionsReached:
    - SECP256K1_CHECKMEM_RUNNING
    - VERIFY_CHECK
    - EXPECT
    - secp256k1_callback_call
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_context_preallocated_size(unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:113,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:114,1
    - Dst: secp256k1_context_is_proper
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: secp256k1_context_preallocated_clone_size
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 5
    functionsReached:
    - secp256k1_context_is_proper
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t secp256k1_context_preallocated_clone_size(const secp256k1_context*
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_selftest
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:122,1
    - Dst: secp256k1_context_preallocated_size
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:124,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:128,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:134,1
    - Dst: secp256k1_ecmult_gen_context_build
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - prealloc
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: secp256k1_context_preallocated_create
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - secp256k1_selftest
    - VERIFY_CHECK
    - secp256k1_context_preallocated_size
    - secp256k1_ecmult_gen_context_build
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * secp256k1_context_preallocated_create(void* prealloc,
      unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_preallocated_size
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:142,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:143,1
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:144,1
    - Dst: secp256k1_context_preallocated_create
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:144,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: secp256k1_context_create
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 25
    functionsReached:
    - secp256k1_context_preallocated_create
    - checked_malloc
    - EXPECT
    - secp256k1_context_preallocated_size
    - free
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * secp256k1_context_create(unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:154,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:155,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:156,1
    - Dst: secp256k1_context_is_proper
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - prealloc
    argTypes:
    - secp256k1_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: secp256k1_context_preallocated_clone
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 5
    functionsReached:
    - secp256k1_context_is_proper
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * secp256k1_context_preallocated_clone(const secp256k1_context*
      ctx, void* prealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:167,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:168,1
    - Dst: secp256k1_context_is_proper
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:168,1
    - Dst: secp256k1_context_preallocated_clone_size
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:170,1
    - Dst: checked_malloc
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:171,1
    - Dst: secp256k1_context_preallocated_clone
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: secp256k1_context_clone
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 4
    functionsReached:
    - secp256k1_context_is_proper
    - VERIFY_CHECK
    - checked_malloc
    - secp256k1_context_preallocated_clone
    - secp256k1_context_preallocated_clone_size
    - ARG_CHECK
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * secp256k1_context_clone(const secp256k1_context*
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:177,1
    - Dst: secp256k1_context_is_proper
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:177,1
    - Dst: secp256k1_ecmult_gen_context_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: secp256k1_context_preallocated_destroy
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 5
    functionsReached:
    - secp256k1_context_is_proper
    - ARG_CHECK_VOID
    - secp256k1_ecmult_gen_context_clear
    linkageType: ''
    returnType: void
    signature: void secp256k1_context_preallocated_destroy(secp256k1_context* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:188,1
    - Dst: secp256k1_context_is_proper
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:188,1
    - Dst: secp256k1_context_preallocated_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:195,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: secp256k1_context_destroy
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 27
    functionsReached:
    - secp256k1_context_is_proper
    - secp256k1_context_preallocated_destroy
    - free
    - ARG_CHECK_VOID
    linkageType: ''
    returnType: void
    signature: void secp256k1_context_destroy(secp256k1_context* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - secp256k1_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: secp256k1_context_set_illegal_callback
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 9
    functionsReached:
    - ARG_CHECK_VOID
    linkageType: ''
    returnType: void
    signature: void secp256k1_context_set_illegal_callback(secp256k1_context* ctx,
      void (*fun)(const char* message, void* data), const void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - secp256k1_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: secp256k1_context_set_error_callback
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - ARG_CHECK_VOID
    linkageType: ''
    returnType: void
    signature: void secp256k1_context_set_error_callback(secp256k1_context* ctx, void
      (*fun)(const char* message, void* data), const void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:224,1
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - max_size
    argTypes:
    - secp256k1_context*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: secp256k1_scratch_space_create
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scratch_create
    linkageType: ''
    returnType: secp256k1_scratch_space
    signature: secp256k1_scratch_space * secp256k1_scratch_space_create(const secp256k1_context*
      ctx, size_t max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:229,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - scratch
    argTypes:
    - secp256k1_context*
    - secp256k1_scratch_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: secp256k1_scratch_space_destroy
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scratch_destroy
    linkageType: ''
    returnType: void
    signature: void secp256k1_scratch_space_destroy(const secp256k1_context *ctx,
      secp256k1_scratch_space* scratch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:237,1
    - Dst: SECP256K1_CHECKMEM_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - p
    - len
    argTypes:
    - secp256k1_context*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: secp256k1_declassify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 10
    functionsReached:
    - SECP256K1_CHECKMEM_DEFINE
    - EXPECT
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_declassify(const secp256k1_context* ctx,
      const void *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_from_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:241,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:242,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - ge
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: secp256k1_pubkey_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 23
    functionsReached:
    - secp256k1_fe_is_zero
    - secp256k1_ge_from_bytes
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_pubkey_load(const secp256k1_context* ctx, secp256k1_ge*
      ge, const secp256k1_pubkey* pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_to_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pubkey
    - ge
    argTypes:
    - secp256k1_pubkey*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: secp256k1_pubkey_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 22
    functionsReached:
    - secp256k1_ge_to_bytes
    linkageType: ''
    returnType: void
    signature: void secp256k1_pubkey_save(secp256k1_pubkey* pubkey, secp256k1_ge*
      ge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:253,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:254,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:255,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:256,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:257,1
    - Dst: secp256k1_ge_is_in_correct_subgroup
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:260,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:263,1
    - Dst: secp256k1_ge_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - pubkey
    - input
    - inputlen
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: secp256k1_ec_pubkey_parse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 29
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_clear
    - memset
    - secp256k1_eckey_pubkey_parse
    - secp256k1_ge_is_in_correct_subgroup
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_parse(const secp256k1_context* ctx, secp256k1_pubkey*
      pubkey, const unsigned char *input, size_t inputlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:273,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:274,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:275,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:278,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:279,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:280,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:281,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:282,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - output
    - outputlen
    - pubkey
    - flags
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - size_t*
    - secp256k1_pubkey*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 289
    functionName: secp256k1_ec_pubkey_serialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 29
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - memset
    - secp256k1_eckey_pubkey_serialize
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_serialize(const secp256k1_context* ctx, unsigned
      char *output, size_t *outputlen, const secp256k1_pubkey* pubkey, unsigned int
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:296,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:306,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:311,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - pubkey0
    - pubkey1
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 315
    functionName: secp256k1_ec_pubkey_cmp
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 4
    functionsReached:
    - memset
    - VERIFY_CHECK
    - secp256k1_memcmp_var
    - secp256k1_ec_pubkey_serialize
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_cmp(const secp256k1_context* ctx, const secp256k1_pubkey*
      pubkey0, const secp256k1_pubkey* pubkey1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pk1
    - pk2
    - ctx
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: secp256k1_ec_pubkey_sort_cmp
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_ec_pubkey_cmp
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_sort_cmp(const void* pk1, const void* pk2,
      void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:324,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:325,1
    - Dst: secp256k1_hsort
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - pubkeys
    - n_pubkeys
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: secp256k1_ec_pubkey_sort
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 9
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_hsort
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_sort(const secp256k1_context* ctx, const secp256k1_pubkey
      **pubkeys, size_t n_pubkeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:351,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:352,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:354,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - r
    - s
    - sig
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: secp256k1_ecdsa_signature_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 10
    functionsReached:
    - secp256k1_scalar_set_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecdsa_signature_load(const secp256k1_context* ctx, secp256k1_scalar*
      r, secp256k1_scalar* s, const secp256k1_ecdsa_signature* sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:361,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:362,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:364,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sig
    - r
    - s
    argTypes:
    - secp256k1_ecdsa_signature*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: secp256k1_ecdsa_signature_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 8
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecdsa_signature_save(secp256k1_ecdsa_signature* sig,
      const secp256k1_scalar* r, const secp256k1_scalar* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:372,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:373,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:374,1
    - Dst: secp256k1_ecdsa_sig_parse
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:376,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:377,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - sig
    - input
    - inputlen
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: secp256k1_ecdsa_signature_parse_der
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 11
    functionsReached:
    - VERIFY_CHECK
    - memset
    - secp256k1_ecdsa_signature_save
    - secp256k1_ecdsa_sig_parse
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_parse_der(const secp256k1_context* ctx,
      secp256k1_ecdsa_signature* sig, const unsigned char *input, size_t inputlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:390,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:391,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:392,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:394,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:396,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:399,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - sig
    - input64
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 404
    functionName: secp256k1_ecdsa_signature_parse_compact
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 5
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_set_b32
    - memset
    - secp256k1_ecdsa_signature_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_parse_compact(const secp256k1_context*
      ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:409,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:410,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:411,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:412,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:414,1
    - Dst: secp256k1_ecdsa_sig_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - output
    - outputlen
    - sig
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - size_t*
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: secp256k1_ecdsa_signature_serialize_der
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 13
    functionsReached:
    - secp256k1_ecdsa_signature_load
    - VERIFY_CHECK
    - ARG_CHECK
    - secp256k1_ecdsa_sig_serialize
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_serialize_der(const secp256k1_context*
      ctx, unsigned char *output, size_t *outputlen, const secp256k1_ecdsa_signature*
      sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:421,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:422,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:423,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:425,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:426,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - output64
    - sig
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: secp256k1_ecdsa_signature_serialize_compact
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 6
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_ecdsa_signature_load
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_serialize_compact(const secp256k1_context*
      ctx, unsigned char *output64, const secp256k1_ecdsa_signature* sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:435,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:436,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:438,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:439,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:442,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - sigout
    - sigin
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - secp256k1_ecdsa_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 448
    functionName: secp256k1_ecdsa_signature_normalize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_is_high
    - secp256k1_scalar_negate
    - secp256k1_ecdsa_signature_save
    - secp256k1_ecdsa_signature_load
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_signature_normalize(const secp256k1_context* ctx,
      secp256k1_ecdsa_signature *sigout, const secp256k1_ecdsa_signature *sigin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:454,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:455,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:456,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:457,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:459,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:460,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:461,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:462,1
    - Dst: secp256k1_ecdsa_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - sig
    - msghash32
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 464
    functionName: secp256k1_ecdsa_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 17
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_is_high
    - secp256k1_ecdsa_signature_load
    - ARG_CHECK
    - secp256k1_ecdsa_sig_verify
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_verify(const secp256k1_context* ctx, const secp256k1_ecdsa_signature
      *sig, const unsigned char *msghash32, const secp256k1_pubkey *pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - offset
    - data
    - len
    argTypes:
    - unsigned char*
    - unsigned int*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: buffer_append
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE buffer_append(unsigned char *buf, unsigned int *offset,
      const void *data, unsigned int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:478,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:479,1
    - Dst: buffer_append
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:488,1
    - Dst: buffer_append
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:489,1
    - Dst: buffer_append
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:491,1
    - Dst: buffer_append
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:494,1
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:496,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:498,1
    - Dst: secp256k1_rfc6979_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:500,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:502,1
    - Dst: secp256k1_rfc6979_hmac_sha256_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 505
    functionName: nonce_function_rfc6979
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 6
    functionsReached:
    - secp256k1_memclear
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_rfc6979_hmac_sha256_generate
    - buffer_append
    - secp256k1_rfc6979_hmac_sha256_initialize
    - secp256k1_rfc6979_hmac_sha256_clear
    - secp256k1_rfc6979_hmac_sha256_finalize
    linkageType: ''
    returnType: int
    signature: int nonce_function_rfc6979(unsigned char *nonce32, const unsigned char
      *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:527,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:528,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:529,1
    - Dst: noncefp
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:532,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:536,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:538,1
    - Dst: secp256k1_ecdsa_sig_sign
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:540,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:542,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:553,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:554,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:555,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:556,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:557,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:558,1
    - Dst: secp256k1_int_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:561,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 8
    argNames:
    - ctx
    - r
    - s
    - recid
    - msg32
    - seckey
    - noncefp
    - noncedata
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int*
    - unsigned char*
    - unsigned char*
    - secp256k1_nonce_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 564
    functionName: secp256k1_ecdsa_sign_inner
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_clear
    - secp256k1_scalar_cmov
    - secp256k1_memclear
    - secp256k1_declassify
    - secp256k1_scalar_set_b32
    - secp256k1_ecdsa_sig_sign
    - secp256k1_int_cmov
    - secp256k1_scalar_set_b32_seckey
    - noncefp
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sign_inner(const secp256k1_context* ctx, secp256k1_scalar*
      r, secp256k1_scalar* s, int* recid, const unsigned char *msg32, const unsigned
      char *seckey, secp256k1_nonce_function noncefp, const void* noncedata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:569,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:570,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:570,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:571,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:572,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:573,1
    - Dst: secp256k1_ecdsa_sign_inner
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:575,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - signature
    - msghash32
    - seckey
    - noncefp
    - noncedata
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    - unsigned char*
    - secp256k1_nonce_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 578
    functionName: secp256k1_ecdsa_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 17
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ecdsa_sign_inner
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_ecdsa_signature_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sign(const secp256k1_context* ctx, secp256k1_ecdsa_signature
      *signature, const unsigned char *msghash32, const unsigned char *seckey, secp256k1_nonce_function
      noncefp, const void* noncedata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:583,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:584,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:586,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - seckey
    argTypes:
    - secp256k1_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 589
    functionName: secp256k1_ec_seckey_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 14
    functionsReached:
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_verify(const secp256k1_context* ctx, const
      unsigned char *seckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:595,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:596,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:598,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:599,1
    - Dst: secp256k1_gej_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ecmult_gen_ctx
    - seckey_scalar
    - p
    - seckey
    argTypes:
    - secp256k1_ecmult_gen_context*
    - secp256k1_scalar*
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 602
    functionName: secp256k1_ec_pubkey_create_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_cmov
    - secp256k1_ecmult_gen
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_gej_clear
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_create_helper(const secp256k1_ecmult_gen_context
      *ecmult_gen_ctx, secp256k1_scalar *seckey_scalar, secp256k1_ge *p, const unsigned
      char *seckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:608,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:609,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:610,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:611,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:611,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:612,1
    - Dst: secp256k1_ec_pubkey_create_helper
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:614,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:615,1
    - Dst: secp256k1_memczero
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:616,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - seckey
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 620
    functionName: secp256k1_ec_pubkey_create
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 34
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_memczero
    - secp256k1_ec_pubkey_create_helper
    - secp256k1_ecmult_gen_context_is_built
    - memset
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_create(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const unsigned char *seckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:625,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:626,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:628,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:629,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:630,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:631,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - seckey
    argTypes:
    - secp256k1_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 635
    functionName: secp256k1_ec_seckey_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 5
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_negate
    - secp256k1_scalar_set_b32_seckey
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_negate(const secp256k1_context* ctx, unsigned
      char *seckey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:640,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:641,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:643,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:644,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:646,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: secp256k1_ec_pubkey_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - memset
    - secp256k1_ge_neg
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_negate(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:658,1
    - Dst: secp256k1_eckey_privkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:659,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sec
    - tweak32
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 662
    functionName: secp256k1_ec_seckey_tweak_add_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_clear
    - secp256k1_eckey_privkey_tweak_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_tweak_add_helper(secp256k1_scalar *sec, const
      unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:667,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:668,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:669,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:671,1
    - Dst: secp256k1_ec_seckey_tweak_add_helper
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:672,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:673,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:674,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - seckey
    - tweak32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 678
    functionName: secp256k1_ec_seckey_tweak_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 7
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_ec_seckey_tweak_add_helper
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_tweak_add(const secp256k1_context* ctx, unsigned
      char *seckey, const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:683,1
    - Dst: secp256k1_eckey_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p
    - tweak32
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: secp256k1_ec_pubkey_tweak_add_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 4
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_eckey_pubkey_tweak_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_tweak_add_helper(secp256k1_ge *p, const unsigned
      char *tweak32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:690,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:691,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:692,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:694,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:695,1
    - Dst: secp256k1_ec_pubkey_tweak_add_helper
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:696,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 702
    functionName: secp256k1_ec_pubkey_tweak_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_ec_pubkey_tweak_add_helper
    - memset
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_tweak_add(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:709,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:710,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:711,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:713,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:714,1
    - Dst: secp256k1_eckey_privkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:715,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:716,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:717,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:719,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - seckey
    - tweak32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 722
    functionName: secp256k1_ec_seckey_tweak_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 6
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_eckey_privkey_tweak_mul
    - secp256k1_scalar_set_b32_seckey
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_seckey_tweak_mul(const secp256k1_context* ctx, unsigned
      char *seckey, const unsigned char *tweak32)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:729,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:730,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:731,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:733,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:734,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:735,1
    - Dst: secp256k1_eckey_pubkey_tweak_mul
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:737,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 745
    functionName: secp256k1_ec_pubkey_tweak_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_scalar_set_b32
    - secp256k1_eckey_pubkey_tweak_mul
    - memset
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_tweak_mul(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const unsigned char *tweak32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:748,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:749,1
    - Dst: secp256k1_context_is_proper
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:749,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:751,1
    - Dst: secp256k1_ecmult_gen_blind
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - seed32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 755
    functionName: secp256k1_context_randomize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 14
    functionsReached:
    - secp256k1_context_is_proper
    - VERIFY_CHECK
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_ecmult_gen_blind
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_context_randomize(secp256k1_context* ctx, const unsigned
      char *seed32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:762,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:763,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:764,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:765,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:766,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:768,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:771,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:772,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:773,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:775,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:778,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - pubnonce
    - pubnonces
    - n
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_pubkey**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 781
    functionName: secp256k1_ec_pubkey_combine
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 4
    functionsReached:
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_gej_is_infinity
    - secp256k1_pubkey_load
    - secp256k1_gej_set_infinity
    - memset
    - secp256k1_gej_add_ge
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ec_pubkey_combine(const secp256k1_context* ctx, secp256k1_pubkey
      *pubnonce, const secp256k1_pubkey * const *pubnonces, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:785,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:786,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:787,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:788,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:790,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:791,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:792,1
    - Dst: secp256k1_sha256_clear
      Src: /src/bitcoin-core/src/secp256k1/src/secp256k1.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - ctx
    - hash32
    - tag
    - taglen
    - msg
    - msglen
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 795
    functionName: secp256k1_tagged_sha256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/secp256k1.c
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_sha256_clear
    - secp256k1_sha256_finalize
    - secp256k1_sha256_initialize_tagged
    - secp256k1_sha256_write
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_tagged_sha256(const secp256k1_context* ctx, unsigned
      char *hash32, const unsigned char *tag, size_t taglen, const unsigned char *msg,
      size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: S
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/precomputed_ecmult_gen.c
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: SCALAR_HORNER
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALAR_HORNER(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: SECP256K1_SCALAR_CONST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_low.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:19,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:20,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:21,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:22,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:23,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:24,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:25,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:26,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:27,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:28,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: secp256k1_fe_impl_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_verify(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: secp256k1_fe_impl_get_bounds
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_get_bounds(secp256k1_fe *r, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:74,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 100
    functionName: secp256k1_fe_impl_normalize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: secp256k1_fe_impl_normalize_weak
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize_weak(secp256k1_fe *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:149,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 176
    functionName: secp256k1_fe_impl_normalize_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize_var(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 205
    functionName: secp256k1_fe_impl_normalizes_to_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_normalizes_to_zero(const secp256k1_fe *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 257
    functionName: secp256k1_fe_impl_normalizes_to_zero_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_normalizes_to_zero_var(const secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: secp256k1_fe_impl_set_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_set_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: secp256k1_fe_impl_is_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_is_zero(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: secp256k1_fe_impl_is_odd
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_is_odd(const secp256k1_fe *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: secp256k1_fe_impl_cmp_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_cmp_var(const secp256k1_fe *a, const secp256k1_fe
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: secp256k1_fe_impl_set_b32_mod
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_set_b32_mod(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: secp256k1_fe_impl_set_b32_limit
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_impl_set_b32_mod
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_set_b32_limit(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 338
    functionName: secp256k1_fe_impl_get_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_get_b32(unsigned char *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:342,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:343,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:344,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - r
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: secp256k1_fe_impl_negate_unchecked
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_negate_unchecked(secp256k1_fe *r,
      const secp256k1_fe *a, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: secp256k1_fe_impl_mul_int_unchecked
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_mul_int_unchecked(secp256k1_fe *r,
      int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: secp256k1_fe_impl_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_add(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: secp256k1_fe_impl_add_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_add_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: VERIFY_BITS
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_BITS(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:407,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:408,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:409,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:410,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:411,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:412,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:413,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:414,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:415,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:416,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:417,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:418,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:419,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:420,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:421,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:422,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:423,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:424,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:425,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:426,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:447,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:448,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:452,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:463,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:466,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:467,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:468,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:471,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:472,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:478,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:488,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:491,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:492,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:493,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:496,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:497,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:504,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:513,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:516,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:517,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:518,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:521,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:522,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:530,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:538,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:541,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:542,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:546,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:547,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:556,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:563,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:566,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:567,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:571,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:572,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:582,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:588,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:591,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:592,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:596,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:597,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:608,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:613,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:616,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:617,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:621,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:622,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:635,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:639,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:642,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:643,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:645,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:648,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:649,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:663,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:666,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:669,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:670,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:672,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:676,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:679,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:682,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:685,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:688,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:692,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:693,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:697,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:700,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:701,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:707,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:710,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:711,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:714,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:715,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:719,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:720,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:721,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:724,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 192
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 729
    functionName: secp256k1_fe_mul_inner
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_BITS
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_mul_inner(uint32_t *r, const uint32_t
      *a, const uint32_t * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:737,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:738,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:739,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:740,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:741,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:742,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:743,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:744,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:745,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:746,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:761,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:762,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:766,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:773,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:776,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:777,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:778,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:781,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:782,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:787,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:793,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:796,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:797,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:798,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:801,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:802,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:808,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:814,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:817,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:818,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:819,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:822,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:823,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:829,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:834,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:837,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:838,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:842,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:843,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:850,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:855,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:858,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:859,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:863,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:864,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:871,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:875,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:878,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:879,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:883,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:884,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:892,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:896,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:899,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:900,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:904,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:905,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:914,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:917,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:920,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:921,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:923,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:926,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:927,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:937,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:940,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:943,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:944,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:946,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:950,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:953,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:956,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:959,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:962,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:966,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:967,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:971,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:974,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:975,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:981,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:984,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:985,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:988,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:989,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:993,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:994,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:995,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:998,1
    - Dst: VERIFY_BITS
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 182
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 1003
    functionName: secp256k1_fe_sqr_inner
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_BITS
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_sqr_inner(uint32_t *r, const uint32_t
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_mul_inner
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionName: secp256k1_fe_impl_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_mul_inner
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_mul(secp256k1_fe *r, const secp256k1_fe
      *a, const secp256k1_fe * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr_inner
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: secp256k1_fe_impl_sqr
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_sqr_inner
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_sqr(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1030
    functionName: secp256k1_fe_impl_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_cmov(secp256k1_fe *r, const secp256k1_fe
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1095
    functionName: secp256k1_fe_impl_half
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_half(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1111
    functionName: secp256k1_fe_storage_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 6
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_storage_cmov(secp256k1_fe_storage *r,
      const secp256k1_fe_storage *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1122
    functionName: secp256k1_fe_impl_to_storage
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_to_storage(secp256k1_fe_storage *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1135
    functionName: secp256k1_fe_impl_from_storage
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_from_storage(secp256k1_fe *r, const
      secp256k1_fe_storage *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1145,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1146,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1147,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1148,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1149,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1150,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1151,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1152,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_modinv32_signed30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1165
    functionName: secp256k1_fe_from_signed30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_from_signed30(secp256k1_fe *r, const secp256k1_modinv32_signed30
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_modinv32_signed30*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1182
    functionName: secp256k1_fe_to_signed30
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_to_signed30(secp256k1_modinv32_signed30 *r, const
      secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1193,1
    - Dst: secp256k1_fe_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1194,1
    - Dst: secp256k1_modinv32
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1195,1
    - Dst: secp256k1_fe_from_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1197
    functionName: secp256k1_fe_impl_inv
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_from_signed30
    - secp256k1_fe_to_signed30
    - secp256k1_fe_normalize
    - secp256k1_modinv32
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_inv(secp256k1_fe *r, const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1203,1
    - Dst: secp256k1_fe_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1204,1
    - Dst: secp256k1_modinv32_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1205,1
    - Dst: secp256k1_fe_from_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1207
    functionName: secp256k1_fe_impl_inv_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_from_signed30
    - secp256k1_modinv32_var
    - secp256k1_fe_to_signed30
    - secp256k1_fe_normalize_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_inv_var(secp256k1_fe *r, const secp256k1_fe
      *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1215,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1217,1
    - Dst: secp256k1_fe_to_signed30
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1218,1
    - Dst: secp256k1_jacobi32_maybe_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1219,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1230
    functionName: secp256k1_fe_impl_is_square_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_sqrt
    - secp256k1_fe_to_signed30
    - secp256k1_jacobi32_maybe_var
    - secp256k1_fe_normalize_var
    - secp256k1_fe_is_zero
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_is_square_var(const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: Ch
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Maj
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: Sigma0
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: Sigma1
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: sigma0
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: sigma1
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - k
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: Round
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Round(a,b,c,d,e,f,g,h,k,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: secp256k1_sha256_initialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_initialize(secp256k1_sha256 *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:48,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:48,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:49,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:49,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:50,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:50,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:51,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:51,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:52,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:52,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:53,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:53,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:54,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:54,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:55,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:55,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:56,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:56,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:57,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:57,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:58,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:58,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:59,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:59,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:60,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:60,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:61,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:61,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:62,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:62,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:63,1
    - Dst: secp256k1_read_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:63,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:65,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:65,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:65,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:66,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:66,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:66,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:67,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:67,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:67,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:68,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:68,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:68,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:69,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:69,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:69,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:70,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:70,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:70,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:71,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:71,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:71,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:72,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:72,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:72,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:73,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:73,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:73,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:74,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:74,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:74,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:75,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:75,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:75,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:76,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:76,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:76,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:77,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:77,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:77,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:78,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:78,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:78,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:79,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:79,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:79,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:80,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:80,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:80,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:82,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:82,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:82,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:83,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:83,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:83,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:84,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:84,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:84,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:85,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:85,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:85,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:86,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:86,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:86,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:87,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:87,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:87,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:88,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:88,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:88,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:89,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:89,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:89,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:90,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:90,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:90,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:91,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:91,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:91,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:92,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:92,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:92,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:93,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:93,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:93,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:94,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:94,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:94,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:95,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:95,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:95,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:96,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:96,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:96,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:97,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:97,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:97,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:99,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:99,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:99,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:100,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:100,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:100,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:101,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:101,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:101,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:102,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:102,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:102,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:103,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:103,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:103,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:104,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:104,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:104,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:105,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:105,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:105,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:106,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:106,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:106,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:107,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:107,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:107,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:108,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:108,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:108,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:109,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:109,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:109,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:110,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:110,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:110,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:111,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:111,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:111,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:112,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:112,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:112,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:113,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:113,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:113,1
    - Dst: Round
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:114,1
    - Dst: sigma1
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:114,1
    - Dst: sigma0
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 2
    argNames:
    - s
    - buf
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 124
    functionName: secp256k1_sha256_transform
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 1
    functionsReached:
    - Round
    - secp256k1_read_be32
    - sigma0
    - sigma1
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_transform(uint32_t* s, const unsigned char* buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:129,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:133,1
    - Dst: secp256k1_sha256_transform
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:136,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - hash
    - data
    - len
    argTypes:
    - secp256k1_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: secp256k1_sha256_write
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 37
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_sha256_transform
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_write(secp256k1_sha256 *hash, const unsigned
      char *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:150,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:151,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:152,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:153,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:154,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - hash
    - out32
    argTypes:
    - secp256k1_sha256*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: secp256k1_sha256_finalize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 32
    functionsReached:
    - secp256k1_sha256_write
    - VERIFY_CHECK
    - secp256k1_write_be32
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_finalize(secp256k1_sha256 *hash, unsigned char
      *out32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:165,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:166,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:167,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:169,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:170,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - hash
    - tag
    - taglen
    argTypes:
    - secp256k1_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: secp256k1_sha256_initialize_tagged
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_initialize_tagged(secp256k1_sha256 *hash, const
      unsigned char *tag, size_t taglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: secp256k1_sha256_clear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_sha256_clear(secp256k1_sha256 *hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:182,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:183,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:186,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:187,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:188,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:189,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:192,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:196,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:198,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:202,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - hash
    - key
    - keylen
    argTypes:
    - secp256k1_hmac_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: secp256k1_hmac_sha256_initialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_memclear
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - memcpy
    - memset
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void secp256k1_hmac_sha256_initialize(secp256k1_hmac_sha256 *hash,
      const unsigned char *key, size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hash
    - data
    - size
    argTypes:
    - secp256k1_hmac_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: secp256k1_hmac_sha256_write
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void secp256k1_hmac_sha256_write(secp256k1_hmac_sha256 *hash, const
      unsigned char *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:212,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:213,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:214,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - hash
    - out32
    argTypes:
    - secp256k1_hmac_sha256*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: secp256k1_hmac_sha256_finalize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_hmac_sha256_finalize(secp256k1_hmac_sha256 *hash, unsigned
      char *out32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_hmac_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: secp256k1_hmac_sha256_clear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_hmac_sha256_clear(secp256k1_hmac_sha256 *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:227,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:228,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:231,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:232,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:233,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:234,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:235,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:236,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:237,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:238,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:241,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:242,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:243,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:244,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:245,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:246,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:247,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - rng
    - key
    - keylen
    argTypes:
    - secp256k1_rfc6979_hmac_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 250
    functionName: secp256k1_rfc6979_hmac_sha256_initialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 7
    functionsReached:
    - memset
    - secp256k1_hmac_sha256_initialize
    - secp256k1_hmac_sha256_finalize
    - secp256k1_hmac_sha256_write
    linkageType: ''
    returnType: void
    signature: void secp256k1_rfc6979_hmac_sha256_initialize(secp256k1_rfc6979_hmac_sha256
      *rng, const unsigned char *key, size_t keylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:257,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:258,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:259,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:260,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:261,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:262,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:263,1
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:269,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:270,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:271,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - rng
    - out
    - outlen
    argTypes:
    - secp256k1_rfc6979_hmac_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 281
    functionName: secp256k1_rfc6979_hmac_sha256_generate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_hmac_sha256_write
    - secp256k1_hmac_sha256_initialize
    - secp256k1_hmac_sha256_finalize
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_rfc6979_hmac_sha256_generate(secp256k1_rfc6979_hmac_sha256
      *rng, unsigned char *out, size_t outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rng
    argTypes:
    - secp256k1_rfc6979_hmac_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: secp256k1_rfc6979_hmac_sha256_finalize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_rfc6979_hmac_sha256_finalize(secp256k1_rfc6979_hmac_sha256
      *rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/hash_impl.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rng
    argTypes:
    - secp256k1_rfc6979_hmac_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: secp256k1_rfc6979_hmac_sha256_clear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/hash_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: void
    signature: void secp256k1_rfc6979_hmac_sha256_clear(secp256k1_rfc6979_hmac_sha256
      *rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:23,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:24,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:25,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:26,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:27,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:28,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:29,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:30,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:31,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:32,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:33,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: help
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void help(char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - x
    argTypes:
    - bench_data*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: hash_into_offset
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hash_into_offset(bench_data* data, size_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:75,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:76,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:78,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:80,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:84,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:85,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:88,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:89,1
    - Dst: secp256k1_gej_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - data
    - seckey_offset
    - scalar_offset
    - scalar_gen_offset
    - iters
    argTypes:
    - bench_data*
    - size_t*
    - size_t*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: bench_ecmult_teardown_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 5
    functionsReached:
    - secp256k1_gej_eq_var
    - CHECK
    - secp256k1_scalar_set_int
    - secp256k1_gej_add_var
    - secp256k1_gej_set_infinity
    - secp256k1_scalar_mul
    - secp256k1_ecmult_gen
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_teardown_helper(bench_data* data, size_t* seckey_offset,
      size_t* scalar_offset, size_t* scalar_gen_offset, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_into_offset
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: bench_ecmult_setup
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - hash_into_offset
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: bench_ecmult_gen
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_gen
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_gen(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: bench_ecmult_gen_teardown
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_gen_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: bench_ecmult_const
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_const
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_const(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: bench_ecmult_const_teardown
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_const_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: bench_ecmult_const_xonly
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_const_xonly
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_const_xonly(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:148,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:149,1
    - Dst: secp256k1_gej_eq_x_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: bench_ecmult_const_xonly_teardown
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    - CHECK
    - secp256k1_gej_eq_x_var
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_const_xonly_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: bench_ecmult_1p
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_1p(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: bench_ecmult_1p_teardown
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_1p_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: bench_ecmult_0p_g
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_0p_g(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: bench_ecmult_0p_g_teardown
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_0p_g_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: bench_ecmult_1p_g
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_1p_g(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecmult_teardown_helper
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: bench_ecmult_1p_g_teardown
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_ecmult_teardown_helper
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_1p_g_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:197,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:198,1
    - Dst: sprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:199,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:200,1
    - Dst: sprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:201,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:202,1
    - Dst: sprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:204,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:205,1
    - Dst: sprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:207,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:208,1
    - Dst: sprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:210,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - data
    - iters
    argTypes:
    - bench_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: run_ecmult_bench
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 1
    functionsReached:
    - sprintf
    - run_benchmark
    linkageType: ''
    returnType: void
    signature: void run_ecmult_bench(bench_data* data, int iters)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - sc
    - ge
    - idx
    - arg
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: bench_ecmult_multi_callback
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bench_ecmult_multi_callback(secp256k1_scalar* sc, secp256k1_ge*
      ge, size_t idx, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_data*::ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: bench_ecmult_multi
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - bench_data*::ecmult_multi
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_multi(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_into_offset
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: bench_ecmult_multi_setup
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - hash_into_offset
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_multi_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:254,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:255,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: bench_ecmult_multi_teardown
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_multi_teardown(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:268,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:269,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:270,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:271,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - num
    - scalar
    argTypes:
    - uint32_t
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: generate_scalar
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void generate_scalar(uint32_t num, secp256k1_scalar* scalar)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_into_offset
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:284,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:290,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:291,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:293,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:294,1
    - Dst: sprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:299,1
    - Dst: sprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:301,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - data
    - count
    - includes_g
    - num_iters
    argTypes:
    - bench_data*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 304
    functionName: run_ecmult_multi_bench
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_mul
    - secp256k1_ecmult
    - sprintf
    - secp256k1_scalar_negate
    - run_benchmark
    - hash_into_offset
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void run_ecmult_multi_bench(bench_data* data, size_t count, int includes_g,
      int num_iters)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_iters
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:311,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:316,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:317,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:318,1
    - Dst: help
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:319,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:321,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:322,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:324,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:325,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:327,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:328,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:330,1
    - Dst: help
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:331,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:336,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:337,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:338,1
    - Dst: secp256k1_scratch_space_create
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:339,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:345,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:346,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:347,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:348,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:349,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:350,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:351,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:354,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:355,1
    - Dst: generate_scalar
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:357,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:359,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:360,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:363,1
    - Dst: print_output_table_header_row
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:366,1
    - Dst: hash_into_offset
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:368,1
    - Dst: run_ecmult_bench
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:369,1
    - Dst: run_ecmult_multi_bench
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:372,1
    - Dst: run_ecmult_multi_bench
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:381,1
    - Dst: secp256k1_scratch_space_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:387,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:389,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:390,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:391,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:392,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:393,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:394,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:395,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 399
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_ecmult.c
    functionUses: 0
    functionsReached:
    - secp256k1_ge_set_all_gej_var
    - secp256k1_gej_set_ge
    - secp256k1_gej_double_var
    - run_ecmult_multi_bench
    - generate_scalar
    - secp256k1_strauss_scratch_size
    - secp256k1_scratch_space_create
    - secp256k1_scalar_set_int
    - print_output_table_header_row
    - free
    - secp256k1_scalar_add
    - get_iters
    - run_ecmult_bench
    - secp256k1_context_create
    - secp256k1_context_destroy
    - malloc
    - fprintf
    - hash_into_offset
    - printf
    - secp256k1_scratch_space_destroy
    - have_flag
    - help
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: SECP256K1_FE_CONST_INNER
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_CONST_INNER(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: SECP256K1_FE_STORAGE_CONST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_STORAGE_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: SECP256K1_FE_STORAGE_CONST_GET
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_10x26.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_FE_STORAGE_CONST_GET(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - d7
    - ','
    - d6
    - ','
    - d5
    - ','
    - d4
    - ','
    - d3
    - ','
    - d2
    - ','
    - d1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: SECP256K1_SCALAR_CONST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: skip_section
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE skip_section(uint64_t* iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:60,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - attempt
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: secp256k1_nonce_function_smallint
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    linkageType: ''
    returnType: int
    signature: "int secp256k1_nonce_function_smallint(unsigned char *nonce32, const
      unsigned char *msg32,\n                                      const unsigned
      char *key32, const unsigned char *algo16,\n                                      void
      *data, unsigned int attempt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_mul_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:69,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:70,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: test_exhaustive_endomorphism
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 1
    functionsReached:
    - secp256k1_ge_mul_lambda
    - secp256k1_ge_eq_var
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_endomorphism(const secp256k1_ge *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:79,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:79,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:80,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:80,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:82,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:82,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:83,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:83,1
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:89,1
    - Dst: secp256k1_fe_inv
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:90,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:95,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:96,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:96,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:99,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:100,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:100,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:103,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:104,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:104,1
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:109,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:110,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:110,1
    - Dst: secp256k1_gej_double
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:117,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:118,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:118,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:119,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:120,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:120,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:127,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:128,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:128,1
    - Dst: secp256k1_gej_neg
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:129,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:130,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - group
    - groupj
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 132
    functionName: test_exhaustive_addition
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_inv
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - CHECK
    - secp256k1_ge_eq_var
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_eq_ge_var
    - secp256k1_ge_neg
    - secp256k1_gej_add_ge
    - secp256k1_gej_double_var
    - skip_section
    - secp256k1_gej_double
    - secp256k1_gej_add_zinv_var
    - secp256k1_ge_is_infinity
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_addition(const secp256k1_ge *group, const secp256k1_gej
      *groupj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:139,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:143,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:144,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:146,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:147,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:147,1
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:159,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:161,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:164,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:165,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:165,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:169,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:170,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:171,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:171,1
    - Dst: testutil_random_fe_non_zero
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:174,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:175,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:176,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:177,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:178,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - group
    - groupj
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 182
    functionName: test_exhaustive_ecmult
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult_const_xonly
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_scalar_set_int
    - secp256k1_gej_eq_ge_var
    - testutil_random_fe_non_zero
    - secp256k1_ecmult
    - secp256k1_ecmult_const
    - secp256k1_fe_mul
    - skip_section
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_ecmult(const secp256k1_ge *group, const secp256k1_gej
      *groupj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - cbdata
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: ecmult_multi_callback
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecmult_multi_callback(secp256k1_scalar *sc, secp256k1_ge *pt, size_t
      idx, void *cbdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scratch_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:199,1
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:204,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:210,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:211,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:212,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:216,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:217,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:217,1
    - Dst: secp256k1_scratch_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: test_exhaustive_ecmult_multi
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_scratch_create
    - secp256k1_scalar_set_int
    - secp256k1_gej_eq_ge_var
    - secp256k1_scratch_destroy
    - secp256k1_ecmult_multi_var
    - skip_section
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_ecmult_multi(const secp256k1_context *ctx, const
      secp256k1_ge *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:231,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:232,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - r
    - group
    - k
    - overflow
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: r_from_k
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 4
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_fe_normalize
    - secp256k1_fe_get_b32
    linkageType: ''
    returnType: void
    signature: void r_from_k(secp256k1_scalar *r, const secp256k1_ge *group, int k,
      int* overflow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:251,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:253,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:254,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:255,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:256,1
    - Dst: r_from_k
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:264,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:266,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:267,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:268,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:269,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:270,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:274,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:277,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:278,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:279,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:280,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:281,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 287
    functionName: test_exhaustive_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecdsa_verify
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - memcpy
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_high
    - skip_section
    - secp256k1_ecdsa_signature_save
    - secp256k1_pubkey_save
    - r_from_k
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_verify(const secp256k1_context *ctx, const secp256k1_ge
      *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:296,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:303,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:304,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:305,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:306,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:308,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:309,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:311,1
    - Dst: r_from_k
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:315,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:316,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:317,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 336
    functionName: test_exhaustive_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_ecdsa_sign
    - skip_section
    - secp256k1_ecdsa_signature_load
    - r_from_k
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_sign(const secp256k1_context *ctx, const secp256k1_ge
      *group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:364,1
    - Dst: setbuf
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:367,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:369,1
    - Dst: strtol
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:373,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:375,1
    - Dst: testrand_init
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:378,1
    - Dst: strtol
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:382,1
    - Dst: strtol
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:383,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:385,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:388,1
    - Dst: secp256k1_ecmult_gen_compute_table
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:392,1
    - Dst: secp256k1_ecmult_compute_two_tables
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:393,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:397,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:398,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:399,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:399,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:402,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:403,1
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:405,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:406,1
    - Dst: testutil_random_fe
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:411,1
    - Dst: secp256k1_gej_rescale
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:412,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:421,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:422,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:423,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:425,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:426,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:427,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:427,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:428,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:428,1
    - Dst: test_exhaustive_endomorphism
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:433,1
    - Dst: test_exhaustive_addition
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:434,1
    - Dst: test_exhaustive_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:435,1
    - Dst: test_exhaustive_ecmult_multi
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:436,1
    - Dst: test_exhaustive_sign
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:437,1
    - Dst: test_exhaustive_verify
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:438,1
    - Dst: test_exhaustive_recovery
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:441,1
    - Dst: test_exhaustive_extrakeys
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:444,1
    - Dst: test_exhaustive_schnorrsig
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:447,1
    - Dst: test_exhaustive_ellswift
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:455,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:459,1
    - Dst: testrand_finish
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:462,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 466
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/tests_exhaustive.c
    functionUses: 0
    functionsReached:
    - testrand256
    - testrand_finish
    - secp256k1_ecmult_gen
    - secp256k1_gej_rescale
    - test_exhaustive_ecmult
    - test_exhaustive_sign
    - test_exhaustive_ecmult_multi
    - secp256k1_fe_equal
    - test_exhaustive_extrakeys
    - test_exhaustive_ellswift
    - secp256k1_scalar_set_int
    - secp256k1_ecmult_gen_compute_table
    - test_exhaustive_endomorphism
    - strtol
    - secp256k1_ecmult_compute_two_tables
    - secp256k1_context_create
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - secp256k1_gej_add_ge
    - fprintf
    - printf
    - testrand_init
    - test_exhaustive_recovery
    - secp256k1_ge_set_gej
    - setbuf
    - CHECK
    - test_exhaustive_verify
    - secp256k1_gej_set_infinity
    - testutil_random_fe
    - test_exhaustive_schnorrsig
    - test_exhaustive_addition
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: SECP256K1_GE_CONST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GE_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: SECP256K1_GEJ_CONST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GEJ_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: SECP256K1_GE_STORAGE_CONST
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GE_STORAGE_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n,
      o, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: SECP256K1_GE_STORAGE_CONST_GET
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GE_STORAGE_CONST_GET(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: SECP256K1_GE_VERIFY
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GE_VERIFY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: SECP256K1_GEJ_VERIFY
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/group.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GEJ_VERIFY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: secp256k1_scalar_set_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 50
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned
      int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:42,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:43,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: secp256k1_scalar_get_bits_limb32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 15
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_limb32(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:50,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:51,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:52,1
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:55,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: secp256k1_scalar_get_bits_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_get_bits_limb32
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_get_bits_var(const secp256k1_scalar
      *a, unsigned int offset, unsigned int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: secp256k1_scalar_check_overflow
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_check_overflow(const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:76,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:78,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:79,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:80,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:80,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:81,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:82,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:83,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:83,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:84,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:85,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:86,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:86,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:87,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:88,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - r
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: secp256k1_scalar_reduce
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 9
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_reduce(secp256k1_scalar *r, unsigned
      int overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:97,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:98,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:100,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:101,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:102,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:102,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:103,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:104,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:105,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:105,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:106,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:107,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:108,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:108,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:109,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:110,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:111,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:111,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:112,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:112,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:113,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:114,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: secp256k1_scalar_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 64
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_scalar_check_overflow
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - secp256k1_scalar_reduce
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:123,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:124,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:127,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:128,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:129,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:129,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:130,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:131,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:132,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:132,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:133,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:134,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:135,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:135,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:136,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:137,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:138,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:140,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:141,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - r
    - bit
    - flag
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 142
    functionName: secp256k1_scalar_cadd_bit
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - secp256k1_u128_hi_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit,
      int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_read_be64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:146,1
    - Dst: secp256k1_read_be64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:147,1
    - Dst: secp256k1_read_be64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:148,1
    - Dst: secp256k1_read_be64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:149,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:150,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:150,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - b32
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: secp256k1_scalar_set_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 68
    functionsReached:
    - secp256k1_scalar_reduce
    - secp256k1_scalar_check_overflow
    - secp256k1_read_be64
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char
      *b32, int *overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:159,1
    - Dst: secp256k1_write_be64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:161,1
    - Dst: secp256k1_write_be64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:162,1
    - Dst: secp256k1_write_be64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:163,1
    - Dst: secp256k1_write_be64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bin
    - a
    argTypes:
    - unsigned char*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: secp256k1_scalar_get_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 59
    functionsReached:
    - secp256k1_write_be64
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar*
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: secp256k1_scalar_is_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 50
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_zero(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:174,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:176,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:178,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:179,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:180,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:180,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:181,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:182,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:183,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:183,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:184,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:185,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:186,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:186,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:187,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:188,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:189,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: secp256k1_scalar_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 64
    functionsReached:
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:211,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:213,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:214,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:215,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:215,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:216,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:217,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:218,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:218,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:219,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:220,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:221,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:221,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:222,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:226,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:227,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:228,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:229,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:229,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 233
    functionName: secp256k1_scalar_half
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 11
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_half(secp256k1_scalar *r, const secp256k1_scalar
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: secp256k1_scalar_is_one
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 6
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_one(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: secp256k1_scalar_is_high
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 13
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_is_high(const secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:260,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:262,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:264,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:265,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:266,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:266,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:267,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:268,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:269,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:269,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:270,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:271,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:272,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:272,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:273,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:274,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:275,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - r
    - flag
    argTypes:
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 279
    functionName: secp256k1_scalar_cond_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_u128_accum_u64
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_u128_from_u64
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: int
    signature: int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: muladd
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: muladd(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: muladd_fast
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: muladd_fast(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: sumadd
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sumadd(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: sumadd_fast
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sumadd_fast(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: extract
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extract(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: extract_fast
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extract_fast(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:459,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:460,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:461,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:462,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:463,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:464,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:465,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:546,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:547,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:548,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:549,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:550,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:598,1
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:599,1
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:613,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:614,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:615,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:616,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:617,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:618,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:619,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:620,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:621,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:622,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:623,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:624,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:625,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:626,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:627,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:628,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:629,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:630,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:631,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:632,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:633,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:634,1
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:640,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:641,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:642,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:643,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:644,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:645,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:646,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:647,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:648,1
    - Dst: sumadd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:649,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:650,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:651,1
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:652,1
    - Dst: sumadd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:653,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:654,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:656,1
    - Dst: secp256k1_u128_from_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:660,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:661,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:662,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:662,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:663,1
    - Dst: secp256k1_u128_accum_mul
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:664,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:665,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:665,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:666,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:667,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:668,1
    - Dst: secp256k1_u128_rshift
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:668,1
    - Dst: secp256k1_u128_accum_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:669,1
    - Dst: secp256k1_u128_to_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:670,1
    - Dst: secp256k1_u128_hi_u64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:671,1
    - Dst: secp256k1_scalar_reduce
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:675,1
    - Dst: secp256k1_scalar_check_overflow
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 80
    argCount: 2
    argNames:
    - r
    - l
    argTypes:
    - secp256k1_scalar*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 676
    functionName: secp256k1_scalar_reduce_512
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 3
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_u128_accum_u64
    - sumadd
    - secp256k1_u128_from_u64
    - secp256k1_scalar_reduce
    - secp256k1_scalar_check_overflow
    - extract
    - secp256k1_u128_to_u64
    - secp256k1_u128_rshift
    - muladd_fast
    - secp256k1_u128_accum_mul
    - sumadd_fast
    - SECP256K1_CHECKMEM_MSAN_DEFINE
    - extract_fast
    - muladd
    - secp256k1_u128_hi_u64
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_reduce_512(secp256k1_scalar *r, const uint64_t
      *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_MSAN_DEFINE
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:812,1
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:820,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:821,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:822,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:823,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:824,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:825,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:826,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:827,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:828,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:829,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:830,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:831,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:832,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:833,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:834,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:835,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:836,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:837,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:838,1
    - Dst: muladd
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:839,1
    - Dst: extract
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:840,1
    - Dst: muladd_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:841,1
    - Dst: extract_fast
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:842,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - l8
    - a
    - b
    argTypes:
    - uint64_t*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 846
    functionName: secp256k1_scalar_mul_512
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - extract
    - muladd_fast
    - SECP256K1_CHECKMEM_MSAN_DEFINE
    - extract_fast
    - muladd
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul_512(uint64_t *l8, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:857,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:858,1
    - Dst: secp256k1_scalar_mul_512
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:860,1
    - Dst: secp256k1_scalar_reduce_512
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:861,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 864
    functionName: secp256k1_scalar_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 39
    functionsReached:
    - secp256k1_scalar_reduce_512
    - secp256k1_scalar_mul_512
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:867,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:878,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r1
    - r2
    - k
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 880
    functionName: secp256k1_scalar_split_128
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 4
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar
      *r2, const secp256k1_scalar *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:883,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: secp256k1_scalar_eq
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 31
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_eq(const secp256k1_scalar *a, const
      secp256k1_scalar *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:894,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:895,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:896,1
    - Dst: secp256k1_scalar_mul_512
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:898,1
    - Dst: secp256k1_scalar_cadd_bit
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:906,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - r
    - a
    - b
    - shift
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: secp256k1_scalar_mul_shift_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_cadd_bit
    - VERIFY_CHECK
    - secp256k1_scalar_mul_512
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_mul_shift_var(secp256k1_scalar *r,
      const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:914,1
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:915,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 925
    functionName: secp256k1_scalar_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 17
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_cmov(secp256k1_scalar *r, const secp256k1_scalar
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:933,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:934,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:935,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:936,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:937,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_scalar*
    - secp256k1_modinv64_signed62*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 945
    functionName: secp256k1_scalar_from_signed62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_from_signed62(secp256k1_scalar *r, const secp256k1_modinv64_signed62
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 957
    functionName: secp256k1_scalar_to_signed62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_to_signed62(secp256k1_modinv64_signed62 *r, const
      secp256k1_scalar *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:967,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:969,1
    - Dst: secp256k1_scalar_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:971,1
    - Dst: secp256k1_modinv64
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:972,1
    - Dst: secp256k1_scalar_from_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:973,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:975,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:976,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 977
    functionName: secp256k1_scalar_inverse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 12
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_modinv64
    - secp256k1_scalar_to_signed62
    - secp256k1_scalar_from_signed62
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:982,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:984,1
    - Dst: secp256k1_scalar_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:986,1
    - Dst: secp256k1_modinv64_var
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:987,1
    - Dst: secp256k1_scalar_from_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:988,1
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:990,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:991,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 992
    functionName: secp256k1_scalar_inverse_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 10
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_SCALAR_VERIFY
    - secp256k1_scalar_to_signed62
    - secp256k1_scalar_from_signed62
    - secp256k1_modinv64_var
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_SCALAR_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 998
    functionName: secp256k1_scalar_is_even
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/scalar_4x64_impl.h
    functionUses: 2
    functionsReached:
    - SECP256K1_SCALAR_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_scalar_is_even(const secp256k1_scalar *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:22,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:23,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:24,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:25,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:26,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: secp256k1_fe_impl_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_verify(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: secp256k1_fe_impl_get_bounds
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_get_bounds(secp256k1_fe *r, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:58,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: secp256k1_fe_impl_normalize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: secp256k1_fe_impl_normalize_weak
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize_weak(secp256k1_fe *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:114,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: secp256k1_fe_impl_normalize_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_normalize_var(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: secp256k1_fe_impl_normalizes_to_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_normalizes_to_zero(const secp256k1_fe *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 199
    functionName: secp256k1_fe_impl_normalizes_to_zero_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_normalizes_to_zero_var(const secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: secp256k1_fe_impl_set_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_set_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: secp256k1_fe_impl_is_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_is_zero(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: secp256k1_fe_impl_is_odd
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_is_odd(const secp256k1_fe *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: secp256k1_fe_impl_cmp_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_cmp_var(const secp256k1_fe *a, const secp256k1_fe
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 263
    functionName: secp256k1_fe_impl_set_b32_mod
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_set_b32_mod(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: secp256k1_fe_impl_set_b32_limit
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_impl_set_b32_mod
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_set_b32_limit(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 304
    functionName: secp256k1_fe_impl_get_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_get_b32(unsigned char *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:308,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:309,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - r
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: secp256k1_fe_impl_negate_unchecked
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_negate_unchecked(secp256k1_fe *r,
      const secp256k1_fe *a, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: secp256k1_fe_impl_mul_int_unchecked
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_mul_int_unchecked(secp256k1_fe *r,
      int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: secp256k1_fe_impl_add_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_add_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: secp256k1_fe_impl_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_add(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_mul_inner
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: secp256k1_fe_impl_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_mul_inner
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_mul(secp256k1_fe *r, const secp256k1_fe
      *a, const secp256k1_fe * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr_inner
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: secp256k1_fe_impl_sqr
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_sqr_inner
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_sqr(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 360
    functionName: secp256k1_fe_impl_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_cmov(secp256k1_fe *r, const secp256k1_fe
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 414
    functionName: secp256k1_fe_impl_half
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_half(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_CHECKMEM_CHECK_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: secp256k1_fe_storage_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 6
    functionsReached:
    - SECP256K1_CHECKMEM_CHECK_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_storage_cmov(secp256k1_fe_storage *r,
      const secp256k1_fe_storage *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: secp256k1_fe_impl_to_storage
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_to_storage(secp256k1_fe_storage *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: secp256k1_fe_impl_from_storage
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_impl_from_storage(secp256k1_fe *r, const
      secp256k1_fe_storage *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:450,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:451,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:452,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:453,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_modinv64_signed62*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 461
    functionName: secp256k1_fe_from_signed62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_from_signed62(secp256k1_fe *r, const secp256k1_modinv64_signed62
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_modinv64_signed62*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: secp256k1_fe_to_signed62
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_to_signed62(secp256k1_modinv64_signed62 *r, const
      secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:483,1
    - Dst: secp256k1_fe_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:484,1
    - Dst: secp256k1_modinv64
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:485,1
    - Dst: secp256k1_fe_from_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: secp256k1_fe_impl_inv
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_to_signed62
    - secp256k1_modinv64
    - secp256k1_fe_normalize
    - secp256k1_fe_from_signed62
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_inv(secp256k1_fe *r, const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:493,1
    - Dst: secp256k1_fe_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:494,1
    - Dst: secp256k1_modinv64_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:495,1
    - Dst: secp256k1_fe_from_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: secp256k1_fe_impl_inv_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_to_signed62
    - secp256k1_fe_from_signed62
    - secp256k1_fe_normalize_var
    - secp256k1_modinv64_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_impl_inv_var(secp256k1_fe *r, const secp256k1_fe
      *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:505,1
    - Dst: secp256k1_fe_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:507,1
    - Dst: secp256k1_fe_to_signed62
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:508,1
    - Dst: secp256k1_jacobi64_maybe_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:509,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 520
    functionName: secp256k1_fe_impl_is_square_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_5x52_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_to_signed62
    - secp256k1_fe_sqrt
    - secp256k1_fe_normalize_var
    - secp256k1_fe_is_zero
    - secp256k1_jacobi64_maybe_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_fe_impl_is_square_var(const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:22,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:23,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:24,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:25,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:26,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:27,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:28,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:29,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:30,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:31,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:32,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:33,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:34,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:35,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:36,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - default_iters
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: help
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 5
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void help(int default_iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:85,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:86,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:87,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:88,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:89,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:90,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:91,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:91,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:92,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:92,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:93,1
    - Dst: secp256k1_gej_rescale
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:94,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:95,1
    - Dst: secp256k1_gej_rescale
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:96,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:97,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 99
    functionName: bench_setup
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_set_b32
    - secp256k1_gej_set_ge
    - memcpy
    - secp256k1_gej_rescale
    - secp256k1_ge_set_xo_var
    linkageType: ''
    returnType: void
    signature: void bench_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:106,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: bench_scalar_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_scalar_add(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: bench_scalar_negate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_negate
    linkageType: ''
    returnType: void
    signature: void bench_scalar_negate(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_half
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: bench_scalar_half
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_half
    linkageType: ''
    returnType: void
    signature: void bench_scalar_half(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: bench_scalar_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_mul
    linkageType: ''
    returnType: void
    signature: void bench_scalar_mul(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_split_lambda
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:147,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:148,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: bench_scalar_split
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_split_lambda
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_scalar_split(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_inverse
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:158,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:159,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: bench_scalar_inverse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_inverse
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_scalar_inverse(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:169,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:170,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: bench_scalar_inverse_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_inverse_var
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_scalar_inverse_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_half
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: bench_field_half
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_half
    linkageType: ''
    returnType: void
    signature: void bench_field_half(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: bench_field_normalize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_normalize
    linkageType: ''
    returnType: void
    signature: void bench_field_normalize(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: bench_field_normalize_weak
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_normalize_weak
    linkageType: ''
    returnType: void
    signature: void bench_field_normalize_weak(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: bench_field_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void bench_field_mul(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: bench_field_sqr
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void bench_field_sqr(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_inv
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:225,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: bench_field_inverse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_inv
    - secp256k1_fe_add
    linkageType: ''
    returnType: void
    signature: void bench_field_inverse(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:235,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: bench_field_inverse_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_add
    - secp256k1_fe_inv_var
    linkageType: ''
    returnType: void
    signature: void bench_field_inverse_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:247,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:248,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: bench_field_sqrt
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_sqrt
    - secp256k1_fe_add
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_field_sqrt(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:259,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:260,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:261,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: bench_field_is_square_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_add
    - CHECK
    - secp256k1_fe_is_square_var
    - secp256k1_fe_normalize_var
    linkageType: ''
    returnType: void
    signature: void bench_field_is_square_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: bench_group_double_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_double_var
    linkageType: ''
    returnType: void
    signature: void bench_group_double_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: bench_group_add_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: void
    signature: void bench_group_add_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_ge
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: bench_group_add_affine
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_add_ge
    linkageType: ''
    returnType: void
    signature: void bench_group_add_affine(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: bench_group_add_affine_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_add_ge_var
    linkageType: ''
    returnType: void
    signature: void bench_group_add_affine_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_zinv_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: bench_group_add_zinv_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_gej_add_zinv_var
    linkageType: ''
    returnType: void
    signature: void bench_group_add_zinv_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:316,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:322,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:323,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:324,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:325,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:326,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 329
    functionName: bench_group_to_affine_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_add
    - secp256k1_ge_set_gej_var
    - secp256k1_fe_normalize_var
    linkageType: ''
    returnType: void
    signature: void bench_group_to_affine_var(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_wnaf
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:336,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:337,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:339,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: bench_ecmult_wnaf
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_wnaf
    - CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void bench_ecmult_wnaf(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:349,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:350,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: bench_sha256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void bench_sha256(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:361,1
    - Dst: secp256k1_hmac_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:362,1
    - Dst: secp256k1_hmac_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: bench_hmac_sha256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_hmac_sha256_write
    - secp256k1_hmac_sha256_initialize
    - secp256k1_hmac_sha256_finalize
    linkageType: ''
    returnType: void
    signature: void bench_hmac_sha256(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_rfc6979_hmac_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:373,1
    - Dst: secp256k1_rfc6979_hmac_sha256_generate
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: bench_rfc6979_hmac_sha256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_rfc6979_hmac_sha256_initialize
    - secp256k1_rfc6979_hmac_sha256_generate
    linkageType: ''
    returnType: void
    signature: void bench_rfc6979_hmac_sha256(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:382,1
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: bench_context
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - secp256k1_context_create
    - secp256k1_context_destroy
    linkageType: ''
    returnType: void
    signature: void bench_context(void* arg, int iters)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: get_iters
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:389,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:393,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:394,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:395,1
    - Dst: help
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:396,1
    - Dst: print_output_table_header_row
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:401,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:403,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:403,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:403,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:404,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:404,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:404,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:405,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:405,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:405,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:406,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:406,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:406,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:407,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:407,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:407,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:408,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:408,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:408,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:409,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:409,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:409,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:411,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:411,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:411,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:412,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:412,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:412,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:413,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:413,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:413,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:414,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:414,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:414,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:415,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:415,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:415,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:416,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:416,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:416,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:417,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:417,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:417,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:418,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:418,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:418,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:419,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:419,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:419,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:421,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:421,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:421,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:422,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:422,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:422,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:423,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:423,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:423,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:424,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:424,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:424,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:425,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:425,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:425,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:426,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:426,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:426,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:428,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:428,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:428,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:430,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:430,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:430,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:431,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:431,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:431,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:432,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:432,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:432,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:434,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/bench_internal.c:434,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 437
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/bench_internal.c
    functionUses: 0
    functionsReached:
    - get_iters
    - have_flag
    - print_output_table_header_row
    - run_benchmark
    - help
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:22,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:23,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:25,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:26,1
    - Dst: ECMULT_TABLE_SIZE
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:28,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:29,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:30,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:31,1
    - Dst: secp256k1_ge_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - table
    - window_g
    - gen
    argTypes:
    - secp256k1_ge_storage*
    - int
    - secp256k1_gej*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: secp256k1_ecmult_compute_table
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ge_to_storage
    - secp256k1_gej_add_ge_var
    - secp256k1_ge_set_gej_var
    - secp256k1_gej_set_ge
    - secp256k1_gej_double_var
    - ECMULT_TABLE_SIZE
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_compute_table(secp256k1_ge_storage* table, int
      window_g, const secp256k1_gej* gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:41,1
    - Dst: secp256k1_ecmult_compute_table
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:42,1
    - Dst: secp256k1_gej_double_var
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:44,1
    - Dst: secp256k1_ecmult_compute_table
      Src: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - table
    - table_128
    - window_g
    - gen
    argTypes:
    - secp256k1_ge_storage*
    - secp256k1_ge_storage*
    - int
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: secp256k1_ecmult_compute_two_tables
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/ecmult_compute_table_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_ecmult_compute_table
    - secp256k1_gej_double_var
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecmult_compute_two_tables(secp256k1_ge_storage* table,
      secp256k1_ge_storage* table_128, int window_g, const secp256k1_ge* gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: secp256k1_fe_clear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_memclear
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_clear(secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:27,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:28,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:29,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:30,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:32,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:33,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: secp256k1_fe_equal
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 30
    functionsReached:
    - SECP256K1_FE_VERIFY_MAGNITUDE
    - secp256k1_fe_normalizes_to_zero
    - secp256k1_fe_add
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_negate
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: secp256k1_fe_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_verify(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: secp256k1_fe_verify_magnitude
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_verify_magnitude(const secp256k1_fe *a, int m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:155,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:157,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:159,1
    - Dst: secp256k1_fe_impl_verify
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: secp256k1_fe_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_fe_impl_verify
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_verify(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:165,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:166,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: secp256k1_fe_verify_magnitude
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_fe_verify_magnitude(const secp256k1_fe *a, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:172,1
    - Dst: secp256k1_fe_impl_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:174,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: secp256k1_fe_normalize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 29
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_normalize
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalize(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:183,1
    - Dst: secp256k1_fe_impl_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:185,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: secp256k1_fe_normalize_weak
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 20
    functionsReached:
    - secp256k1_fe_impl_normalize_weak
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalize_weak(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:193,1
    - Dst: secp256k1_fe_impl_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:195,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: secp256k1_fe_normalize_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 33
    functionsReached:
    - secp256k1_fe_impl_normalize_var
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalize_var(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:204,1
    - Dst: secp256k1_fe_impl_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: secp256k1_fe_normalizes_to_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 16
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_normalizes_to_zero
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalizes_to_zero(const secp256k1_fe
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:211,1
    - Dst: secp256k1_fe_impl_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: secp256k1_fe_normalizes_to_zero_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 17
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_normalizes_to_zero_var
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_normalizes_to_zero_var(const secp256k1_fe
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:218,1
    - Dst: secp256k1_fe_impl_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:220,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: secp256k1_fe_set_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 30
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_set_int
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_set_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:229,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:230,1
    - Dst: secp256k1_fe_impl_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:232,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: secp256k1_fe_add_int
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 14
    functionsReached:
    - secp256k1_fe_impl_add_int
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_add_int(secp256k1_fe *r, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:241,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:242,1
    - Dst: secp256k1_fe_impl_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: secp256k1_fe_is_zero
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 16
    functionsReached:
    - secp256k1_fe_impl_is_zero
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_is_zero(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:249,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:250,1
    - Dst: secp256k1_fe_impl_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: secp256k1_fe_is_odd
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 25
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_is_odd
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_is_odd(const secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:257,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:258,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:259,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:260,1
    - Dst: secp256k1_fe_impl_cmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: secp256k1_fe_cmp_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 9
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_cmp_var
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_cmp_var(const secp256k1_fe *a, const
      secp256k1_fe *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:267,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: secp256k1_fe_set_b32_mod
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 10
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_set_b32_mod
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_set_b32_mod(secp256k1_fe *r, const unsigned
      char *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:276,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: secp256k1_fe_set_b32_limit
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 18
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_set_b32_limit
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_set_b32_limit(secp256k1_fe *r, const
      unsigned char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:290,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:291,1
    - Dst: secp256k1_fe_impl_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: secp256k1_fe_get_b32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 25
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_get_b32
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:298,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:299,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:300,1
    - Dst: secp256k1_fe_impl_negate_unchecked
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:302,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - r
    - a
    - m
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: secp256k1_fe_negate_unchecked
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_negate_unchecked
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_negate_unchecked(secp256k1_fe *r, const
      secp256k1_fe *a, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:311,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:313,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:314,1
    - Dst: secp256k1_fe_impl_mul_int_unchecked
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:315,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: secp256k1_fe_mul_int_unchecked
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_mul_int_unchecked
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_mul_int_unchecked(secp256k1_fe *r, int
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:324,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:325,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:326,1
    - Dst: secp256k1_fe_impl_add
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:328,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: secp256k1_fe_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 45
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_add
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:337,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:338,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:339,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:340,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:341,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:342,1
    - Dst: secp256k1_fe_impl_mul
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:344,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - r
    - a
    - SECP256K1_RESTRICT
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 349
    functionName: secp256k1_fe_mul
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 71
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_impl_mul
    - SECP256K1_FE_VERIFY
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe
      *a, const secp256k1_fe * SECP256K1_RESTRICT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:353,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:354,1
    - Dst: secp256k1_fe_impl_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:356,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: secp256k1_fe_sqr
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 50
    functionsReached:
    - secp256k1_fe_impl_sqr
    - SECP256K1_FE_VERIFY
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe
      *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:365,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:366,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:367,1
    - Dst: secp256k1_fe_impl_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:369,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: secp256k1_fe_cmov
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 12
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_cmov
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe
      *a, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:378,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:379,1
    - Dst: secp256k1_fe_impl_to_storage
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe_storage*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: secp256k1_fe_to_storage
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_fe_impl_to_storage
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_to_storage(secp256k1_fe_storage *r, const
      secp256k1_fe *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_impl_from_storage
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:386,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: secp256k1_fe_from_storage
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_fe_impl_from_storage
    - SECP256K1_FE_VERIFY
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:395,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:396,1
    - Dst: secp256k1_fe_impl_inv
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:398,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:402,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:402,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: secp256k1_fe_inv
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 10
    functionsReached:
    - secp256k1_fe_impl_inv
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalizes_to_zero
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:408,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:409,1
    - Dst: secp256k1_fe_impl_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:411,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:415,1
    - Dst: secp256k1_fe_normalizes_to_zero
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:415,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: secp256k1_fe_inv_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 10
    functionsReached:
    - secp256k1_fe_impl_inv_var
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalizes_to_zero
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:423,1
    - Dst: secp256k1_fe_impl_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:425,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:426,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:427,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: secp256k1_fe_is_square_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 11
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_sqrt
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_impl_is_square_var
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_is_square_var(const secp256k1_fe *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:433,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:434,1
    - Dst: secp256k1_fe_impl_get_bounds
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:436,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: secp256k1_fe_get_bounds
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_get_bounds
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_get_bounds(secp256k1_fe* r, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:445,1
    - Dst: SECP256K1_FE_VERIFY_MAGNITUDE
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:446,1
    - Dst: secp256k1_fe_impl_half
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:448,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/field_impl.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: secp256k1_fe_half
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/field_impl.h
    functionUses: 11
    functionsReached:
    - SECP256K1_FE_VERIFY
    - secp256k1_fe_impl_half
    - SECP256K1_FE_VERIFY_MAGNITUDE
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_fe_half(secp256k1_fe *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:29,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:33,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:44,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:45,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:46,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:47,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:50,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:51,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:52,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:53,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:56,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:57,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:58,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:59,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:62,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:64,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:65,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:66,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:69,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:75,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:76,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:77,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:78,1
    - Dst: STATIC_ASSERT
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:80,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/assumptions.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 85
    functionName: secp256k1_assumption_checker
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/assumptions.h
    functionUses: 0
    functionsReached:
    - VERIFY_CHECK
    - STATIC_ASSERT
    linkageType: ''
    returnType: void
    signature: void secp256k1_assumption_checker(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:33,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:35,1
    - Dst: secp256k1_ge_to_bytes_ext
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:37,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:39,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - cache_i
    argTypes:
    - secp256k1_musig_keyagg_cache*
    - secp256k1_keyagg_cache_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: secp256k1_keyagg_cache_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_ge_to_bytes
    - secp256k1_ge_to_bytes_ext
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_keyagg_cache_save(secp256k1_musig_keyagg_cache *cache,
      const secp256k1_keyagg_cache_internal *cache_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:48,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:48,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:50,1
    - Dst: secp256k1_ge_from_bytes_ext
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:52,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:54,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - cache_i
    - cache
    argTypes:
    - secp256k1_context*
    - secp256k1_keyagg_cache_internal*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: secp256k1_keyagg_cache_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_ge_from_bytes_ext
    - secp256k1_scalar_set_b32
    - memcpy
    - secp256k1_ge_from_bytes
    - secp256k1_memcmp_var
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keyagg_cache_load(const secp256k1_context* ctx, secp256k1_keyagg_cache_internal
      *cache_i, const secp256k1_musig_keyagg_cache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: secp256k1_musig_keyagglist_sha256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_keyagglist_sha256(secp256k1_sha256 *sha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_keyagglist_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:83,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:87,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:90,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:91,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - pks_hash
    - pks
    - np
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_pubkey**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: secp256k1_musig_compute_pks_hash
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_sha256_finalize
    - secp256k1_ec_pubkey_serialize
    - secp256k1_musig_keyagglist_sha256
    - secp256k1_sha256_write
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_compute_pks_hash(const secp256k1_context *ctx,
      unsigned char *pks_hash, const secp256k1_pubkey * const* pks, size_t np)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: secp256k1_musig_keyaggcoef_sha256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_keyaggcoef_sha256(secp256k1_sha256 *sha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:119,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:119,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:121,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:122,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:123,1
    - Dst: secp256k1_musig_keyaggcoef_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:129,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:130,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:131,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:135,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:139,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:140,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - r
    - pks_hash
    - pk
    - second_pk
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - secp256k1_ge*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: secp256k1_musig_keyaggcoef_internal
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_eckey_pubkey_serialize
    - VERIFY_CHECK
    - secp256k1_ge_eq_var
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_set_int
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    - secp256k1_ge_is_infinity
    - secp256k1_musig_keyaggcoef_sha256
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_keyaggcoef_internal(secp256k1_scalar *r, const
      unsigned char *pks_hash, secp256k1_ge *pk, const secp256k1_ge *second_pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_keyaggcoef_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - cache_i
    - pk
    argTypes:
    - secp256k1_scalar*
    - secp256k1_keyagg_cache_internal*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: secp256k1_musig_keyaggcoef
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_musig_keyaggcoef_internal
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_keyaggcoef(secp256k1_scalar *r, const secp256k1_keyagg_cache_internal
      *cache_i, secp256k1_ge *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:163,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:167,1
    - Dst: secp256k1_musig_keyaggcoef_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - sc
    - pt
    - idx
    - data
    argTypes:
    - secp256k1_scalar*
    - secp256k1_ge*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: secp256k1_musig_pubkey_agg_callback
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_musig_keyaggcoef_internal
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_agg_callback(secp256k1_scalar *sc, secp256k1_ge
      *pt, size_t idx, void *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:181,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:183,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:185,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:186,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:191,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:193,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:195,1
    - Dst: secp256k1_musig_compute_pks_hash
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:203,1
    - Dst: secp256k1_ecmult_multi_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:208,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:214,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:215,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:217,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:217,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:222,1
    - Dst: secp256k1_keyagg_cache_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:223,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:227,1
    - Dst: secp256k1_xonly_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - ctx
    - agg_pk
    - keyagg_cache
    - pubkeys
    - n_pubkeys
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - secp256k1_musig_keyagg_cache*
    - secp256k1_pubkey**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 231
    functionName: secp256k1_musig_pubkey_agg
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_ge_set_infinity
    - secp256k1_ge_is_infinity
    - secp256k1_fe_normalize_var
    - memcpy
    - memset
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_xonly_pubkey_save
    - secp256k1_ecmult_multi_var
    - secp256k1_memcmp_var
    - secp256k1_musig_compute_pks_hash
    - secp256k1_keyagg_cache_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_agg(const secp256k1_context* ctx, secp256k1_xonly_pubkey
      *agg_pk, secp256k1_musig_keyagg_cache *keyagg_cache, const secp256k1_pubkey
      * const* pubkeys, size_t n_pubkeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:235,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:236,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:237,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:238,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:240,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - agg_pk
    - keyagg_cache
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: secp256k1_musig_pubkey_get
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - memset
    - secp256k1_keyagg_cache_load
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_get(const secp256k1_context* ctx, secp256k1_pubkey
      *agg_pk, const secp256k1_musig_keyagg_cache *keyagg_cache)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:252,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:254,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:256,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:257,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:259,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:262,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:266,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:268,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:270,1
    - Dst: secp256k1_eckey_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:271,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:275,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:275,1
    - Dst: secp256k1_keyagg_cache_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:276,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - output_pubkey
    - keyagg_cache
    - tweak32
    - xonly
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 281
    functionName: secp256k1_musig_pubkey_tweak_add_internal
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 2
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_eckey_pubkey_tweak_add
    - secp256k1_scalar_set_b32
    - secp256k1_ge_is_infinity
    - secp256k1_pubkey_save
    - memset
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_scalar_negate
    - secp256k1_keyagg_cache_load
    - secp256k1_keyagg_cache_save
    - ARG_CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_tweak_add_internal(const secp256k1_context*
      ctx, secp256k1_pubkey *output_pubkey, secp256k1_musig_keyagg_cache *keyagg_cache,
      const unsigned char *tweak32, int xonly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_pubkey_tweak_add_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - output_pubkey
    - keyagg_cache
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: secp256k1_musig_pubkey_ec_tweak_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_musig_pubkey_tweak_add_internal
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_ec_tweak_add(const secp256k1_context* ctx,
      secp256k1_pubkey *output_pubkey, secp256k1_musig_keyagg_cache *keyagg_cache,
      const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_pubkey_tweak_add_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - output_pubkey
    - keyagg_cache
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: secp256k1_musig_pubkey_xonly_tweak_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/keyagg_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_musig_pubkey_tweak_add_internal
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubkey_xonly_tweak_add(const secp256k1_context*
      ctx, secp256k1_pubkey *output_pubkey, secp256k1_musig_keyagg_cache *keyagg_cache,
      const unsigned char *tweak32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:29,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - keypair
    - pk
    - sk
    argTypes:
    - secp256k1_keypair*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: create_keypair_and_pk
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_keypair_create
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: int
    signature: int create_keypair_and_pk(secp256k1_keypair *keypair, secp256k1_pubkey
      *pk, const unsigned char *sk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:58,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:60,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:65,1
    - Dst: create_keypair_and_pk
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:65,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:67,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:68,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:68,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:71,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:71,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:75,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:75,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:76,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:76,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:77,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:77,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:80,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:80,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:81,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:81,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:84,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:84,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:85,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: musig_simple_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_musig_nonce_gen_counter
    - CHECK
    - secp256k1_musig_nonce_process
    - create_keypair_and_pk
    - secp256k1_musig_partial_sig_agg
    - secp256k1_musig_partial_sig_verify
    - secp256k1_schnorrsig_verify
    - secp256k1_musig_nonce_gen
    - secp256k1_musig_pubkey_agg
    - secp256k1_musig_partial_sign
    - secp256k1_musig_nonce_agg
    linkageType: ''
    returnType: void
    signature: void musig_simple_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:96,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:97,1
    - Dst: secp256k1_musig_pubnonce_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:100,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:102,1
    - Dst: secp256k1_ge_neg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:103,1
    - Dst: secp256k1_musig_sum_pubnonces
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:106,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:107,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:107,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:108,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pubnonce
    argTypes:
    - secp256k1_musig_pubnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: pubnonce_summing_to_inf
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_gej_is_infinity
    - CHECK
    - testutil_random_ge_test
    - secp256k1_musig_sum_pubnonces
    - secp256k1_ge_neg
    - secp256k1_musig_pubnonce_save
    linkageType: ''
    returnType: void
    signature: void pubnonce_summing_to_inf(secp256k1_musig_pubnonce *pubnonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:114,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - value
    - expected
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: memcmp_and_randomize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - testrand_bits
    linkageType: ''
    returnType: int
    signature: int memcmp_and_randomize(unsigned char *value, const unsigned char
      *expected, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:163,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:164,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:165,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:166,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:167,1
    - Dst: pubnonce_summing_to_inf
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:168,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:172,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:173,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:174,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:175,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:177,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:178,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:187,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:188,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:189,1
    - Dst: create_keypair_and_pk
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:189,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:200,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:200,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:201,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:201,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:202,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:202,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:203,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:203,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:204,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:204,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:205,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:205,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:206,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:206,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:207,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:207,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:208,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:208,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:209,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:209,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:210,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:210,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:211,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:211,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:212,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:212,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:214,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:214,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:217,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:217,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:218,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:218,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:219,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:219,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:220,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:220,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:230,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:233,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:235,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:236,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:236,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:238,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:239,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:239,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:241,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:242,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:242,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:245,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:246,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:246,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:251,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:251,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:256,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:256,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:258,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:258,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:259,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:259,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:261,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:261,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:263,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:263,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:264,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:264,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:266,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:266,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:267,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:267,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:270,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:271,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:271,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:272,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:272,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:273,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:273,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:275,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:275,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:276,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:276,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:279,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:279,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:280,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:280,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:282,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:282,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:283,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:283,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:285,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:285,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:286,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:286,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:288,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:288,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:289,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:289,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:291,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:291,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:292,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:292,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:294,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:294,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:295,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:295,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:297,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:297,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:298,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:298,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:301,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:301,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:302,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:302,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:305,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:305,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:306,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:306,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:307,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:307,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:308,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:308,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:309,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:309,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:310,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:310,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:312,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:312,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:313,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:313,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:315,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:315,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:316,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:316,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:317,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:317,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:318,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:318,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:319,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:319,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:320,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:320,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:321,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:321,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:324,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:324,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:325,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:325,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:329,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:329,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:330,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:330,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:331,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:331,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:332,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:332,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:333,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:333,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:334,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:334,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:336,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:336,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:337,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:337,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:338,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:338,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:339,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:339,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:340,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:340,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:345,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:345,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:346,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:346,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:347,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:347,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:351,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:351,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:352,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:352,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:353,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:353,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:354,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:354,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:355,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:355,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:356,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:356,1
    - Dst: secp256k1_musig_aggnonce_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:360,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:362,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:365,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:365,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:368,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:368,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:369,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:369,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:370,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:370,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:371,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:371,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:372,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:372,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:373,1
    - Dst: memcmp_and_randomize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:373,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:374,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:374,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:376,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:376,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:377,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:377,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:378,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:378,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:379,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:379,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:380,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:380,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:385,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:385,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:386,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:386,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:387,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:387,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:391,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:391,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:392,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:392,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:393,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:393,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:394,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:394,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:395,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:395,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:396,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:396,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:397,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:397,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:399,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:399,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:401,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:402,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:402,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:404,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:404,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:405,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:405,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:406,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:407,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:407,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:408,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:409,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:409,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:410,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:410,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:411,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:411,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:412,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:413,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:413,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:414,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:418,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:419,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:419,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:420,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:420,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:421,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:423,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:423,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:424,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:425,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:425,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:426,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:427,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:427,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:428,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:429,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:429,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:430,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:432,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:432,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:433,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:433,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:435,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:435,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:436,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:436,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:437,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:437,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:438,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:438,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:439,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:439,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:440,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:440,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:444,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:444,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:445,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:445,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:447,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:447,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:452,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:452,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:453,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:453,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:454,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:454,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:458,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:458,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:459,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:459,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:460,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:460,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:461,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:461,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:462,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:462,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:463,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:463,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:464,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:464,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:465,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:465,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:466,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:466,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:467,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:467,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:468,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:468,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:469,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:469,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:471,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:471,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:472,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:472,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:475,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:475,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:476,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:476,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:477,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:477,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:478,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:478,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:479,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:479,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:480,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:480,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:481,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:481,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:482,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:482,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:483,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 230
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 484
    functionName: musig_api_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_musig_partial_sig_serialize
    - testrand256
    - secp256k1_musig_nonce_gen_counter
    - memcpy
    - memset
    - secp256k1_musig_nonce_gen
    - secp256k1_musig_pubnonce_serialize
    - secp256k1_musig_aggnonce_serialize
    - secp256k1_musig_nonce_process
    - secp256k1_musig_partial_sig_verify
    - memcmp_and_randomize
    - secp256k1_musig_pubnonce_parse
    - secp256k1_memcmp_var
    - secp256k1_ge_is_infinity
    - secp256k1_musig_nonce_agg
    - secp256k1_musig_pubkey_get
    - secp256k1_musig_pubkey_agg
    - CHECK_ILLEGAL
    - secp256k1_musig_partial_sign
    - CHECK
    - secp256k1_musig_aggnonce_load
    - create_keypair_and_pk
    - secp256k1_musig_partial_sig_agg
    - pubnonce_summing_to_inf
    - secp256k1_musig_aggnonce_parse
    - secp256k1_musig_partial_sig_parse
    - secp256k1_keypair_create
    linkageType: ''
    returnType: void
    signature: void musig_api_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_nonce_function_musig
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:489,1
    - Dst: testrand_flip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:490,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:491,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:492,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:492,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:493,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - args
    - n_flip
    - n_bytes
    argTypes:
    - unsigned char**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: musig_nonce_bitflip
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_nonce_function_musig
    - secp256k1_scalar_eq
    - CHECK
    - testrand_flip
    linkageType: ''
    returnType: void
    signature: void musig_nonce_bitflip(unsigned char **args, size_t n_flip, size_t
      n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:507,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:508,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:509,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:510,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:511,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:512,1
    - Dst: musig_nonce_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:522,1
    - Dst: musig_nonce_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:523,1
    - Dst: musig_nonce_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:524,1
    - Dst: musig_nonce_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:525,1
    - Dst: musig_nonce_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:526,1
    - Dst: musig_nonce_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:527,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:531,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:532,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:533,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:534,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:535,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:536,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:537,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:538,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:539,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:540,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:541,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:543,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:543,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:545,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:545,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:546,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 549
    functionName: musig_nonce_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - CHECK
    - musig_nonce_bitflip
    - memcpy
    - secp256k1_nonce_function_musig
    - testrand_bytes_test
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: void
    signature: void musig_nonce_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:553,1
    - Dst: test_sha256_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sha_tagged
    - tag
    - taglen
    argTypes:
    - secp256k1_sha256*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: sha256_tag_test_internal
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - test_sha256_eq
    - secp256k1_sha256_initialize_tagged
    linkageType: ''
    returnType: void
    signature: void sha256_tag_test_internal(secp256k1_sha256 *sha_tagged, unsigned
      char *tag, size_t taglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_keyagglist_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:563,1
    - Dst: sha256_tag_test_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:564,1
    - Dst: secp256k1_musig_keyaggcoef_sha256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:568,1
    - Dst: sha256_tag_test_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:569,1
    - Dst: secp256k1_nonce_function_musig_sha256_tagged_aux
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:573,1
    - Dst: sha256_tag_test_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:574,1
    - Dst: secp256k1_nonce_function_musig_sha256_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:578,1
    - Dst: sha256_tag_test_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:579,1
    - Dst: secp256k1_musig_compute_noncehash_sha256_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:583,1
    - Dst: sha256_tag_test_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 586
    functionName: sha256_tag_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - sha256_tag_test_internal
    - secp256k1_musig_compute_noncehash_sha256_tagged
    - secp256k1_musig_keyagglist_sha256
    - secp256k1_nonce_function_musig_sha256_tagged
    - secp256k1_nonce_function_musig_sha256_tagged_aux
    - secp256k1_musig_keyaggcoef_sha256
    linkageType: ''
    returnType: void
    signature: void sha256_tag_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:609,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:611,1
    - Dst: create_keypair_and_pk
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:611,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:612,1
    - Dst: create_keypair_and_pk
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:612,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:613,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:615,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:615,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:616,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:616,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:618,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:618,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:619,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:619,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:621,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:621,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:622,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:622,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:624,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:624,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:625,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:625,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:627,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:627,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:628,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - agg_pk
    - sk0
    - sk1
    - keyagg_cache
    argTypes:
    - secp256k1_xonly_pubkey*
    - unsigned char*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 629
    functionName: musig_tweak_test_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - CHECK
    - secp256k1_musig_nonce_process
    - create_keypair_and_pk
    - secp256k1_musig_partial_sig_agg
    - secp256k1_musig_partial_sig_verify
    - secp256k1_schnorrsig_verify
    - secp256k1_musig_nonce_gen
    - secp256k1_musig_partial_sign
    - secp256k1_musig_nonce_agg
    linkageType: ''
    returnType: void
    signature: void musig_tweak_test_helper(const secp256k1_xonly_pubkey* agg_pk,
      const unsigned char *sk0, const unsigned char *sk1, secp256k1_musig_keyagg_cache
      *keyagg_cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:646,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:647,1
    - Dst: create_keypair_and_pk
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:647,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:650,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:650,1
    - Dst: musig_tweak_test_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:651,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:652,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:652,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:661,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:663,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:665,1
    - Dst: secp256k1_musig_pubkey_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:665,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:667,1
    - Dst: secp256k1_musig_pubkey_ec_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:667,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:669,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:669,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:674,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:674,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:675,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:675,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:678,1
    - Dst: secp256k1_ec_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:678,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:679,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:679,1
    - Dst: musig_tweak_test_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 684
    functionName: musig_tweak_test
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - testrand256
    - secp256k1_xonly_pubkey_serialize
    - CHECK
    - create_keypair_and_pk
    - secp256k1_xonly_pubkey_from_pubkey
    - testrand_bits
    - secp256k1_musig_pubkey_get
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_ec_pubkey_tweak_add
    - secp256k1_musig_pubkey_agg
    - secp256k1_musig_pubkey_xonly_tweak_add
    - musig_tweak_test_helper
    - secp256k1_musig_pubkey_ec_tweak_add
    linkageType: ''
    returnType: void
    signature: void musig_tweak_test(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:703,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:709,1
    - Dst: secp256k1_musig_pubkey_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:716,1
    - Dst: secp256k1_musig_pubkey_ec_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:721,1
    - Dst: secp256k1_musig_pubkey_get
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:727,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:732,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:738,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 10
    argNames:
    - error
    - keyagg_cache
    - agg_pk_ser
    - pubkeys33
    - tweaks32
    - key_indices_len
    - key_indices
    - tweak_indices_len
    - tweak_indices
    - is_xonly
    argTypes:
    - enum MUSIG_ERROR*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    - unsigned char[][]
    - unsigned char[][]
    - size_t
    - size_t*
    - size_t
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 745
    functionName: musig_vectors_keyagg_and_tweak
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_xonly_pubkey_serialize
    - secp256k1_xonly_pubkey_from_pubkey
    - secp256k1_musig_pubkey_get
    - secp256k1_musig_pubkey_agg
    - secp256k1_ec_pubkey_parse
    - secp256k1_musig_pubkey_xonly_tweak_add
    - secp256k1_musig_pubkey_ec_tweak_add
    linkageType: ''
    returnType: int
    signature: "int musig_vectors_keyagg_and_tweak(enum MUSIG_ERROR *error,\n                                   secp256k1_musig_keyagg_cache
      *keyagg_cache,\n                                   unsigned char *agg_pk_ser,\n
      \                                  const unsigned char pubkeys33[][33],\n                                   const
      unsigned char tweaks32[][32],\n                                   size_t key_indices_len,\n
      \                                  const size_t *key_indices,\n                                   size_t
      tweak_indices_len,\n                                   const size_t *tweak_indices,\n
      \                                  const int *is_xonly)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:757,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:757,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:758,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:758,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:766,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:766,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 769
    functionName: musig_test_vectors_keyagg
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - musig_vectors_keyagg_and_tweak
    - CHECK
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_keyagg(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:788,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:796,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:797,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:797,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:798,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:798,1
    - Dst: secp256k1_keyagg_cache_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:799,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:809,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:809,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:810,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:810,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:811,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:811,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:814,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:814,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:815,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:815,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:817,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:817,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:818,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:819,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 821
    functionName: musig_test_vectors_noncegen
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_xonly_pubkey_parse
    - CHECK
    - secp256k1_xonly_pubkey_load
    - memcpy
    - memset
    - secp256k1_musig_nonce_gen
    - secp256k1_musig_pubnonce_serialize
    - secp256k1_ec_pubkey_parse
    - secp256k1_keyagg_cache_save
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_noncegen(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:837,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:837,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:840,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:840,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:841,1
    - Dst: secp256k1_musig_aggnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:841,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:842,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:842,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:849,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 852
    functionName: musig_test_vectors_nonceagg
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_musig_nonce_agg
    - secp256k1_musig_pubnonce_parse
    - secp256k1_memcmp_var
    - secp256k1_musig_aggnonce_serialize
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_nonceagg(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:858,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:859,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:860,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:860,1
    - Dst: secp256k1_musig_secnonce_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - secnonce
    - secnonce64
    - pubkey
    argTypes:
    - secp256k1_musig_secnonce*
    - unsigned char*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 862
    functionName: musig_test_set_secnonce
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_pubkey_load
    - CHECK
    - secp256k1_musig_secnonce_save
    linkageType: ''
    returnType: void
    signature: void musig_test_set_secnonce(secp256k1_musig_secnonce *secnonce, const
      unsigned char *secnonce64, const secp256k1_pubkey *pubkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:881,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:881,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:882,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:882,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:884,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:884,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:885,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:885,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:887,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:887,1
    - Dst: musig_test_set_secnonce
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:888,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:889,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:889,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:890,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:890,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:891,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:891,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:893,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:893,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:894,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:894,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:915,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:915,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:916,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:920,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:920,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:921,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:921,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:924,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:924,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:928,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:928,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:931,1
    - Dst: musig_test_set_secnonce
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:932,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:933,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:933,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:949,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:951,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:951,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:955,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:955,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:956,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:956,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:957,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:957,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:959,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:959,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:962,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:962,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:967,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:967,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:977,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:977,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:978,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:983,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:983,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 985
    functionName: musig_test_vectors_signverify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - musig_test_set_secnonce
    - secp256k1_musig_partial_sig_serialize
    - secp256k1_memcmp_var
    - secp256k1_musig_partial_sig_parse
    - musig_vectors_keyagg_and_tweak
    - CHECK
    - secp256k1_musig_nonce_process
    - secp256k1_musig_partial_sig_verify
    - secp256k1_musig_pubnonce_parse
    - secp256k1_musig_aggnonce_parse
    - secp256k1_ec_pubkey_parse
    - CHECK_ILLEGAL
    - secp256k1_keypair_create
    - secp256k1_musig_partial_sign
    - secp256k1_musig_nonce_agg
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_signverify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:994,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:994,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:995,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:995,1
    - Dst: musig_test_set_secnonce
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1007,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1009,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1009,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1010,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1010,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1012,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1012,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1014,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1014,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1015,1
    - Dst: secp256k1_musig_partial_sig_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1015,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1016,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1016,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1018,1
    - Dst: secp256k1_musig_pubnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1018,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1019,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1019,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1025,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1025,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1028
    functionName: musig_test_vectors_tweak
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - musig_test_set_secnonce
    - secp256k1_musig_partial_sig_serialize
    - secp256k1_memcmp_var
    - musig_vectors_keyagg_and_tweak
    - CHECK
    - secp256k1_musig_nonce_process
    - secp256k1_musig_partial_sig_verify
    - secp256k1_musig_pubnonce_parse
    - secp256k1_musig_aggnonce_parse
    - secp256k1_ec_pubkey_parse
    - secp256k1_keypair_create
    - secp256k1_musig_partial_sign
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_tweak(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1046,1
    - Dst: musig_vectors_keyagg_and_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1046,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1047,1
    - Dst: secp256k1_musig_aggnonce_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1047,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1048,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1048,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1050,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1050,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1054,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1054,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1055,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1055,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1057,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1057,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1058,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1058,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1065,1
    - Dst: secp256k1_musig_partial_sig_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1068
    functionName: musig_test_vectors_sigagg
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - musig_vectors_keyagg_and_tweak
    - CHECK
    - secp256k1_musig_nonce_process
    - secp256k1_musig_partial_sig_agg
    - secp256k1_xonly_pubkey_parse
    - secp256k1_schnorrsig_verify
    - secp256k1_musig_aggnonce_parse
    - secp256k1_memcmp_var
    - secp256k1_musig_partial_sig_parse
    linkageType: ''
    returnType: void
    signature: void musig_test_vectors_sigagg(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1107,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1107,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1108,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1108,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1109,1
    - Dst: secp256k1_musig_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1109,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1111,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1111,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1112,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1112,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1114,1
    - Dst: secp256k1_musig_pubnonce_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1114,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1115,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1116
    functionName: musig_test_static_nonce_gen_counter
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_musig_nonce_gen_counter
    - CHECK
    - secp256k1_musig_pubnonce_serialize
    - secp256k1_memcmp_var
    - secp256k1_keypair_create
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: void
    signature: void musig_test_static_nonce_gen_counter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: musig_simple_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1122,1
    - Dst: musig_api_tests
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1124,1
    - Dst: musig_nonce_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1125,1
    - Dst: musig_tweak_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1129,1
    - Dst: sha256_tag_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1131,1
    - Dst: musig_test_vectors_keyagg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1132,1
    - Dst: musig_test_vectors_noncegen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1133,1
    - Dst: musig_test_vectors_nonceagg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1134,1
    - Dst: musig_test_vectors_signverify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1135,1
    - Dst: musig_test_vectors_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1136,1
    - Dst: musig_test_vectors_sigagg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1137,1
    - Dst: musig_test_static_nonce_gen_counter
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h:1139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1140
    functionName: run_musig_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/tests_impl.h
    functionUses: 2
    functionsReached:
    - musig_test_static_nonce_gen_counter
    - musig_test_vectors_noncegen
    - musig_test_vectors_tweak
    - musig_tweak_test
    - musig_simple_test
    - musig_api_tests
    - musig_test_vectors_nonceagg
    - musig_test_vectors_signverify
    - musig_nonce_test
    - musig_test_vectors_sigagg
    - sha256_tag_test
    - musig_test_vectors_keyagg
    linkageType: ''
    returnType: void
    signature: void run_musig_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:25,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:26,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:30,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out33
    - ge
    argTypes:
    - unsigned char*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: secp256k1_musig_ge_serialize_ext
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 2
    functionsReached:
    - memset
    - secp256k1_ge_is_infinity
    - VERIFY_CHECK
    - secp256k1_eckey_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_ge_serialize_ext(unsigned char *out33, secp256k1_ge*
      ge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:45,1
    - Dst: secp256k1_ge_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:46,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:49,1
    - Dst: secp256k1_ge_is_in_correct_subgroup
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ge
    - in33
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: secp256k1_musig_ge_parse_ext
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_eckey_pubkey_parse
    - secp256k1_ge_is_in_correct_subgroup
    - secp256k1_ge_set_infinity
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_ge_parse_ext(secp256k1_ge* ge, const unsigned char
      *in33)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:58,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:59,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:60,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - secnonce
    - k
    - pk
    argTypes:
    - secp256k1_musig_secnonce*
    - secp256k1_scalar*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: secp256k1_musig_secnonce_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_ge_to_bytes
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_secnonce_save(secp256k1_musig_secnonce *secnonce,
      const secp256k1_scalar *k, const secp256k1_ge *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:66,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:66,1
    - Dst: secp256k1_is_zero_array
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:69,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:70,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:71,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:73,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:74,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - k
    - pk
    - secnonce
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_musig_secnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: secp256k1_musig_secnonce_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_declassify
    - secp256k1_scalar_set_b32
    - secp256k1_ge_from_bytes
    - secp256k1_memcmp_var
    - secp256k1_is_zero_array
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_secnonce_load(const secp256k1_context* ctx, secp256k1_scalar
      *k, secp256k1_ge *pk, const secp256k1_musig_secnonce *secnonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_memczero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:81,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:86,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - secnonce
    - flag
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_secnonce*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: secp256k1_musig_secnonce_invalidate
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_declassify
    - secp256k1_memczero
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_secnonce_invalidate(const secp256k1_context* ctx,
      secp256k1_musig_secnonce *secnonce, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:96,1
    - Dst: secp256k1_ge_to_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nonce
    - ges
    argTypes:
    - secp256k1_musig_pubnonce*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: secp256k1_musig_pubnonce_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_ge_to_bytes
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_pubnonce_save(secp256k1_musig_pubnonce* nonce,
      const secp256k1_ge* ges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:107,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:107,1
    - Dst: secp256k1_ge_from_bytes
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - ges
    - nonce
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    - secp256k1_musig_pubnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: secp256k1_musig_pubnonce_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_ge_from_bytes
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubnonce_load(const secp256k1_context* ctx, secp256k1_ge*
      ges, const secp256k1_musig_pubnonce* nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:118,1
    - Dst: secp256k1_ge_to_bytes_ext
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nonce
    - ges
    argTypes:
    - secp256k1_musig_aggnonce*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: secp256k1_musig_aggnonce_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_ge_to_bytes_ext
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_aggnonce_save(secp256k1_musig_aggnonce* nonce,
      const secp256k1_ge* ges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:127,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:127,1
    - Dst: secp256k1_ge_from_bytes_ext
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - ges
    - nonce
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    - secp256k1_musig_aggnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: secp256k1_musig_aggnonce_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_memcmp_var
    - ARG_CHECK
    - secp256k1_ge_from_bytes_ext
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_aggnonce_load(const secp256k1_context* ctx, secp256k1_ge*
      ges, const secp256k1_musig_aggnonce* nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:147,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:151,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:153,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:155,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - session
    - session_i
    argTypes:
    - secp256k1_musig_session*
    - secp256k1_musig_session_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: secp256k1_musig_session_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_session_save(secp256k1_musig_session *session,
      const secp256k1_musig_session_internal *session_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:163,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:163,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:167,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:169,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:171,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - session_i
    - session
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_session_internal*
    - secp256k1_musig_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: secp256k1_musig_session_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_memcmp_var
    - secp256k1_scalar_set_b32
    - ARG_CHECK
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_session_load(const secp256k1_context* ctx, secp256k1_musig_session_internal
      *session_i, const secp256k1_musig_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:180,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sig
    - s
    argTypes:
    - secp256k1_musig_partial_sig*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: secp256k1_musig_partial_sig_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_partial_sig_save(secp256k1_musig_partial_sig*
      sig, secp256k1_scalar *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:187,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:187,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:188,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - s
    - sig
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_musig_partial_sig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: secp256k1_musig_partial_sig_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_memcmp_var
    - VERIFY_CHECK
    - secp256k1_scalar_set_b32
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_load(const secp256k1_context* ctx,
      secp256k1_scalar *s, const secp256k1_musig_partial_sig* sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:198,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:199,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:200,1
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:203,1
    - Dst: secp256k1_ge_is_in_correct_subgroup
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:206,1
    - Dst: secp256k1_musig_pubnonce_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - nonce
    - in66
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_pubnonce*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: secp256k1_musig_pubnonce_parse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_eckey_pubkey_parse
    - secp256k1_ge_is_in_correct_subgroup
    - ARG_CHECK
    - secp256k1_musig_pubnonce_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubnonce_parse(const secp256k1_context* ctx, secp256k1_musig_pubnonce*
      nonce, const unsigned char *in66)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:218,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:219,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:220,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:221,1
    - Dst: secp256k1_musig_pubnonce_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:223,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:229,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - out66
    - nonce
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_musig_pubnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 238
    functionName: secp256k1_musig_pubnonce_serialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - memset
    - secp256k1_musig_pubnonce_load
    - secp256k1_eckey_pubkey_serialize
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_pubnonce_serialize(const secp256k1_context* ctx,
      unsigned char *out66, const secp256k1_musig_pubnonce* nonce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:244,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:245,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:246,1
    - Dst: secp256k1_musig_ge_parse_ext
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:249,1
    - Dst: secp256k1_musig_aggnonce_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - nonce
    - in66
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_aggnonce*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: secp256k1_musig_aggnonce_parse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_musig_ge_parse_ext
    - ARG_CHECK
    - secp256k1_musig_aggnonce_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_aggnonce_parse(const secp256k1_context* ctx, secp256k1_musig_aggnonce*
      nonce, const unsigned char *in66)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:261,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:262,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:263,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:264,1
    - Dst: secp256k1_musig_aggnonce_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:266,1
    - Dst: secp256k1_musig_ge_serialize_ext
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - out66
    - nonce
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_musig_aggnonce*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 273
    functionName: secp256k1_musig_aggnonce_serialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 4
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_musig_aggnonce_load
    - secp256k1_musig_ge_serialize_ext
    - memset
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_aggnonce_serialize(const secp256k1_context* ctx,
      unsigned char *out66, const secp256k1_musig_aggnonce* nonce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:278,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:279,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:280,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:284,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:286,1
    - Dst: secp256k1_musig_partial_sig_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - sig
    - in32
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_partial_sig*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 292
    functionName: secp256k1_musig_partial_sig_parse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 6
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_set_b32
    - memset
    - secp256k1_musig_partial_sig_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_parse(const secp256k1_context* ctx,
      secp256k1_musig_partial_sig* sig, const unsigned char *in32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:295,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:296,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:297,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:298,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:298,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - out32
    - sig
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_musig_partial_sig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: secp256k1_musig_partial_sig_serialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_memcmp_var
    - VERIFY_CHECK
    - ARG_CHECK
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_serialize(const secp256k1_context*
      ctx, unsigned char *out32, const secp256k1_musig_partial_sig* sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:309,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:312,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:314,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:315,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - sha
    - prefix_size
    - data
    - len
    argTypes:
    - secp256k1_sha256*
    - unsigned int
    - unsigned char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 320
    functionName: secp256k1_nonce_function_musig_helper
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_write
    - VERIFY_CHECK
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_musig_helper(secp256k1_sha256 *sha, unsigned
      int prefix_size, const unsigned char *data, unsigned char len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: secp256k1_nonce_function_musig_sha256_tagged_aux
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_musig_sha256_tagged_aux(secp256k1_sha256
      *sha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 350
    functionName: secp256k1_nonce_function_musig_sha256_tagged
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_musig_sha256_tagged(secp256k1_sha256
      *sha)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_nonce_function_musig_sha256_tagged_aux
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:359,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:360,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:361,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:366,1
    - Dst: secp256k1_nonce_function_musig_sha256_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:369,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:370,1
    - Dst: secp256k1_nonce_function_musig_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:371,1
    - Dst: secp256k1_nonce_function_musig_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:372,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:374,1
    - Dst: secp256k1_nonce_function_musig_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:376,1
    - Dst: secp256k1_nonce_function_musig_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:378,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:383,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:384,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:385,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:388,1
    - Dst: secp256k1_sha256_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:389,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:391,1
    - Dst: secp256k1_sha256_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 7
    argNames:
    - k
    - session_secrand
    - msg32
    - seckey32
    - pk33
    - agg_pk32
    - extra_input32
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 393
    functionName: secp256k1_nonce_function_musig
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_memclear
    - secp256k1_sha256_clear
    - secp256k1_scalar_set_b32
    - secp256k1_sha256_finalize
    - secp256k1_nonce_function_musig_helper
    - memcpy
    - secp256k1_nonce_function_musig_sha256_tagged
    - secp256k1_sha256_write
    - secp256k1_nonce_function_musig_sha256_tagged_aux
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_musig(secp256k1_scalar *k, const unsigned
      char *session_secrand, const unsigned char *msg32, const unsigned char *seckey32,
      const unsigned char *pk33, const unsigned char *agg_pk32, const unsigned char
      *extra_input32)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:408,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:409,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:410,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:411,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:411,1
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:416,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:417,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:422,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:426,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:429,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:432,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:436,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:437,1
    - Dst: secp256k1_nonce_function_musig
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:442,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:443,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:443,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:444,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:444,1
    - Dst: secp256k1_musig_secnonce_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:445,1
    - Dst: secp256k1_musig_secnonce_invalidate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:446,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:450,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:451,1
    - Dst: secp256k1_ge_set_all_gej
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:455,1
    - Dst: secp256k1_gej_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:457,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:461,1
    - Dst: secp256k1_musig_pubnonce_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 9
    argNames:
    - ctx
    - secnonce
    - pubnonce
    - input_nonce
    - seckey
    - pubkey
    - msg32
    - keyagg_cache
    - extra_input32
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_secnonce*
    - secp256k1_musig_pubnonce*
    - unsigned char*
    - unsigned char*
    - secp256k1_pubkey*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 467
    functionName: secp256k1_musig_nonce_gen_internal
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_musig_secnonce_invalidate
    - secp256k1_musig_secnonce_save
    - memset
    - secp256k1_ecmult_gen
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_musig_pubnonce_save
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_fe_get_b32
    - ARG_CHECK
    - secp256k1_scalar_clear
    - secp256k1_declassify
    - secp256k1_nonce_function_musig
    - secp256k1_ge_set_all_gej
    - secp256k1_eckey_pubkey_serialize
    - secp256k1_keyagg_cache_load
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_scalar_is_zero
    - secp256k1_gej_clear
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_gen_internal(const secp256k1_context* ctx,
      secp256k1_musig_secnonce *secnonce, secp256k1_musig_pubnonce *pubnonce, const
      unsigned char *input_nonce, const unsigned char *seckey, const secp256k1_pubkey
      *pubkey, const unsigned char *msg32, const secp256k1_musig_keyagg_cache *keyagg_cache,
      const unsigned char *extra_input32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:472,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:473,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:474,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:475,1
    - Dst: secp256k1_is_zero_array
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:479,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:483,1
    - Dst: secp256k1_musig_secnonce_invalidate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:485,1
    - Dst: secp256k1_musig_nonce_gen_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:489,1
    - Dst: secp256k1_memczero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - ctx
    - secnonce
    - pubnonce
    - session_secrand32
    - seckey
    - pubkey
    - msg32
    - keyagg_cache
    - extra_input32
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_secnonce*
    - secp256k1_musig_pubnonce*
    - unsigned char*
    - unsigned char*
    - secp256k1_pubkey*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 495
    functionName: secp256k1_musig_nonce_gen
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 11
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_declassify
    - secp256k1_memczero
    - secp256k1_musig_secnonce_invalidate
    - secp256k1_musig_nonce_gen_internal
    - memset
    - secp256k1_is_zero_array
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_gen(const secp256k1_context* ctx, secp256k1_musig_secnonce
      *secnonce, secp256k1_musig_pubnonce *pubnonce, unsigned char *session_secrand32,
      const unsigned char *seckey, const secp256k1_pubkey *pubkey, const unsigned
      char *msg32, const secp256k1_musig_keyagg_cache *keyagg_cache, const unsigned
      char *extra_input32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:503,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:504,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:505,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:506,1
    - Dst: secp256k1_write_be64
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:508,1
    - Dst: secp256k1_keypair_sec
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:510,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:511,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:512,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:513,1
    - Dst: secp256k1_musig_nonce_gen_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:518,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 8
    argNames:
    - ctx
    - secnonce
    - pubnonce
    - nonrepeating_cnt
    - keypair
    - msg32
    - keyagg_cache
    - extra_input32
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_secnonce*
    - secp256k1_musig_pubnonce*
    - uint64_t
    - secp256k1_keypair*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 523
    functionName: secp256k1_musig_nonce_gen_counter
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_write_be64
    - VERIFY_CHECK
    - secp256k1_memclear
    - secp256k1_musig_nonce_gen_internal
    - memset
    - secp256k1_keypair_sec
    - ARG_CHECK
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_gen_counter(const secp256k1_context* ctx,
      secp256k1_musig_secnonce *secnonce, secp256k1_musig_pubnonce *pubnonce, uint64_t
      nonrepeating_cnt, const secp256k1_keypair *keypair, const unsigned char *msg32,
      const secp256k1_musig_keyagg_cache *keyagg_cache, const unsigned char *extra_input32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:529,1
    - Dst: secp256k1_gej_set_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:530,1
    - Dst: secp256k1_musig_pubnonce_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:534,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - summed_pubnonces
    - pubnonces
    - n_pubnonces
    argTypes:
    - secp256k1_context*
    - secp256k1_gej*
    - secp256k1_musig_pubnonce**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 542
    functionName: secp256k1_musig_sum_pubnonces
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_gej_add_ge_var
    - secp256k1_musig_pubnonce_load
    - secp256k1_gej_set_infinity
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_sum_pubnonces(const secp256k1_context* ctx, secp256k1_gej
      *summed_pubnonces, const secp256k1_musig_pubnonce * const* pubnonces, size_t
      n_pubnonces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:547,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:548,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:549,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:550,1
    - Dst: secp256k1_musig_sum_pubnonces
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:552,1
    - Dst: secp256k1_ge_set_all_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:555,1
    - Dst: secp256k1_musig_aggnonce_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - aggnonce
    - pubnonces
    - n_pubnonces
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_aggnonce*
    - secp256k1_musig_pubnonce**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 558
    functionName: secp256k1_musig_nonce_agg
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 13
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ge_set_all_gej_var
    - secp256k1_musig_aggnonce_save
    - secp256k1_musig_sum_pubnonces
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_agg(const secp256k1_context* ctx, secp256k1_musig_aggnonce  *aggnonce,
      const secp256k1_musig_pubnonce * const* pubnonces, size_t n_pubnonces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: secp256k1_musig_compute_noncehash_sha256_tagged
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_compute_noncehash_sha256_tagged(secp256k1_sha256
      *sha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_compute_noncehash_sha256_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:581,1
    - Dst: secp256k1_musig_ge_serialize_ext
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:583,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:584,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:586,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:587,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - noncehash
    - aggnonce
    - agg_pk32
    - msg
    argTypes:
    - unsigned char*
    - secp256k1_ge*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: secp256k1_musig_compute_noncehash
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    - secp256k1_musig_compute_noncehash_sha256_tagged
    - secp256k1_musig_ge_serialize_ext
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_compute_noncehash(unsigned char *noncehash, secp256k1_ge
      *aggnonce, const unsigned char *agg_pk32, const unsigned char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:595,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:596,1
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out_nonce
    - nonce_pts
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: secp256k1_effective_nonce
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_ecmult
    - secp256k1_gej_add_ge_var
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: void
    signature: void secp256k1_effective_nonce(secp256k1_gej *out_nonce, const secp256k1_ge
      *nonce_pts, const secp256k1_scalar *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_compute_noncehash
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:605,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:606,1
    - Dst: secp256k1_effective_nonce
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:608,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:609,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:610,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:614,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:615,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:616,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - fin_nonce_parity
    - fin_nonce
    - b
    - aggnonce_pts
    - agg_pk32
    - msg
    argTypes:
    - int*
    - unsigned char*
    - secp256k1_scalar*
    - secp256k1_ge*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 618
    functionName: secp256k1_musig_nonce_process_internal
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ge_set_gej
    - secp256k1_scalar_set_b32
    - secp256k1_ge_is_infinity
    - secp256k1_fe_get_b32
    - secp256k1_fe_normalize_var
    - secp256k1_musig_compute_noncehash
    - secp256k1_fe_is_odd
    - secp256k1_effective_nonce
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_nonce_process_internal(int *fin_nonce_parity,
      unsigned char *fin_nonce, secp256k1_scalar *b, secp256k1_ge *aggnonce_pts, const
      unsigned char *agg_pk32, const unsigned char *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:627,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:628,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:629,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:630,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:631,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:633,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:636,1
    - Dst: secp256k1_musig_aggnonce_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:638,1
    - Dst: secp256k1_musig_nonce_process_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:642,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:643,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:646,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:647,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:649,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:650,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:651,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:655,1
    - Dst: secp256k1_musig_session_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - session
    - aggnonce
    - msg32
    - keyagg_cache
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_session*
    - secp256k1_musig_aggnonce*
    - unsigned char*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 658
    functionName: secp256k1_musig_nonce_process
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 15
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_schnorrsig_challenge
    - secp256k1_musig_aggnonce_load
    - secp256k1_musig_nonce_process_internal
    - secp256k1_scalar_set_int
    - secp256k1_musig_session_save
    - secp256k1_fe_get_b32
    - secp256k1_fe_is_odd
    - memcpy
    - secp256k1_scalar_mul
    - secp256k1_scalar_negate
    - secp256k1_keyagg_cache_load
    - secp256k1_scalar_is_zero
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_nonce_process(const secp256k1_context* ctx, secp256k1_musig_session
      *session, const secp256k1_musig_aggnonce  *aggnonce, const unsigned char *msg32,
      const secp256k1_musig_keyagg_cache *keyagg_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:661,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:662,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sk
    - k
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: secp256k1_musig_partial_sign_clear
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_clear
    linkageType: ''
    returnType: void
    signature: void secp256k1_musig_partial_sign_clear(secp256k1_scalar *sk, secp256k1_scalar
      *k)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:675,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:677,1
    - Dst: secp256k1_musig_secnonce_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:679,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:682,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:684,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:688,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:689,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:690,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:691,1
    - Dst: secp256k1_keypair_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:693,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:694,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:697,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:697,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:698,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:699,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:700,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:707,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:709,1
    - Dst: secp256k1_musig_keyaggcoef
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:713,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:714,1
    - Dst: secp256k1_musig_session_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:716,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:717,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:722,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:723,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:727,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:728,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:729,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:730,1
    - Dst: secp256k1_musig_partial_sig_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:731,1
    - Dst: secp256k1_musig_partial_sign_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:732,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 6
    argNames:
    - ctx
    - partial_sig
    - secnonce
    - keypair
    - keyagg_cache
    - session
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_partial_sig*
    - secp256k1_musig_secnonce*
    - secp256k1_keypair*
    - secp256k1_musig_keyagg_cache*
    - secp256k1_musig_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 734
    functionName: secp256k1_musig_partial_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 13
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_equal
    - secp256k1_keypair_load
    - memset
    - secp256k1_scalar_mul
    - secp256k1_musig_session_load
    - secp256k1_musig_partial_sign_clear
    - secp256k1_musig_secnonce_load
    - secp256k1_musig_partial_sig_save
    - secp256k1_scalar_negate
    - secp256k1_keyagg_cache_load
    - secp256k1_musig_keyaggcoef
    - secp256k1_fe_is_odd
    - ARG_CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sign(const secp256k1_context* ctx, secp256k1_musig_partial_sig
      *partial_sig, secp256k1_musig_secnonce *secnonce, const secp256k1_keypair *keypair,
      const secp256k1_musig_keyagg_cache *keyagg_cache, const secp256k1_musig_session
      *session)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:746,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:747,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:748,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:749,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:750,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:751,1
    - Dst: secp256k1_musig_session_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:753,1
    - Dst: secp256k1_musig_pubnonce_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:757,1
    - Dst: secp256k1_effective_nonce
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:762,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:764,1
    - Dst: secp256k1_keyagg_cache_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:767,1
    - Dst: secp256k1_musig_keyaggcoef
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:773,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:774,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:779,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:781,1
    - Dst: secp256k1_musig_partial_sig_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:784,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:788,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:789,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:790,1
    - Dst: secp256k1_gej_neg
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:792,1
    - Dst: secp256k1_gej_add_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:794,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:796,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 6
    argNames:
    - ctx
    - partial_sig
    - pubnonce
    - pubkey
    - keyagg_cache
    - session
    argTypes:
    - secp256k1_context*
    - secp256k1_musig_partial_sig*
    - secp256k1_musig_pubnonce*
    - secp256k1_pubkey*
    - secp256k1_musig_keyagg_cache*
    - secp256k1_musig_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 797
    functionName: secp256k1_musig_partial_sig_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 11
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_gej_neg
    - secp256k1_gej_is_infinity
    - secp256k1_pubkey_load
    - secp256k1_gej_set_ge
    - secp256k1_musig_partial_sig_load
    - secp256k1_scalar_mul
    - secp256k1_ecmult
    - secp256k1_musig_pubnonce_load
    - secp256k1_musig_keyaggcoef
    - secp256k1_scalar_negate
    - secp256k1_keyagg_cache_load
    - secp256k1_musig_session_load
    - secp256k1_fe_is_odd
    - ARG_CHECK
    - secp256k1_effective_nonce
    - secp256k1_gej_add_var
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_verify(const secp256k1_context* ctx,
      const secp256k1_musig_partial_sig *partial_sig, const secp256k1_musig_pubnonce
      *pubnonce, const secp256k1_pubkey *pubkey, const secp256k1_musig_keyagg_cache
      *keyagg_cache, const secp256k1_musig_session *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:803,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:804,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:805,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:806,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:807,1
    - Dst: secp256k1_musig_session_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:809,1
    - Dst: secp256k1_musig_partial_sig_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:814,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:817,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:819,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h:820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - sig64
    - session
    - partial_sigs
    - n_sigs
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_musig_session*
    - secp256k1_musig_partial_sig**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 822
    functionName: secp256k1_musig_partial_sig_agg
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/musig/session_impl.h
    functionUses: 9
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_musig_partial_sig_load
    - memcpy
    - secp256k1_musig_session_load
    - ARG_CHECK
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int secp256k1_musig_partial_sig_agg(const secp256k1_context* ctx, unsigned
      char *sig64, const secp256k1_musig_session *session, const secp256k1_musig_partial_sig
      * const* partial_sigs, size_t n_sigs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:27,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:28,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:31,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:31,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:32,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:32,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:35,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:35,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:36,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:36,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:39,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:39,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:40,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:40,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:41,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:41,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:44,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:44,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:45,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:46,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:46,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:47,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:47,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:50,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:51,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:51,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:55,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:56,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:56,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:60,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:60,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 66
    functionName: test_exhaustive_extrakeys
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_exhaustive_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_ec_pubkey_create
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_scalar_get_b32
    - secp256k1_xonly_pubkey_parse
    - secp256k1_scalar_set_int
    - secp256k1_xonly_pubkey_from_pubkey
    - secp256k1_fe_normalize_var
    - secp256k1_fe_set_b32_mod
    - secp256k1_memcmp_var
    - secp256k1_keypair_create
    - secp256k1_fe_is_odd
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_extrakeys(const secp256k1_context *ctx, const
      secp256k1_ge* group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:26,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:27,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:28,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:29,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:29,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:30,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:30,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:33,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:33,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:34,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:34,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:35,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:35,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:36,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:36,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:37,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:38,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:38,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:41,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:43,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:43,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:44,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:44,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:45,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:45,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:46,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:51,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:51,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:52,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:52,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:53,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:53,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:54,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:55,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:56,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:57,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:57,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:58,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:59,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:59,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:62,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:62,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:63,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:63,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:64,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:64,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:69,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:71,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:71,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:74,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:74,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:75,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:75,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:76,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:76,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:79,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:79,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:80,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:80,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:81,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:81,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:82,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:82,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:85,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:87,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:87,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:88,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:88,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:89,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:91,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:91,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:92,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:92,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:98,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:100,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:101,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:102,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:102,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:103,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:103,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:105,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 108
    functionName: test_xonly_pubkey
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - secp256k1_fe_equal
    - CHECK
    - secp256k1_pubkey_load
    - secp256k1_xonly_pubkey_parse
    - secp256k1_xonly_pubkey_from_pubkey
    - secp256k1_fe_negate
    - memset
    - secp256k1_ec_pubkey_parse
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:122,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:122,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:123,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:123,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:125,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:125,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:125,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:126,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:126,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:126,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:127,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:127,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:128,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:128,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:129,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:129,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:130,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:130,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:131,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:132,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:132,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:132,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:135,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:136,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:136,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:137,1
    - Dst: secp256k1_context_set_illegal_callback
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:138,1
    - Dst: CHECK_ILLEGAL_VOID
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:140,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:140,1
    - Dst: secp256k1_xonly_pubkey_cmp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: test_xonly_pubkey_comparison
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_context_set_illegal_callback
    - secp256k1_xonly_pubkey_parse
    - CHECK
    - memset
    - secp256k1_xonly_pubkey_cmp
    - CHECK_ILLEGAL_VOID
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey_comparison(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:154,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:155,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:156,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:157,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:157,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:158,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:158,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:160,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:160,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:161,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:161,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:162,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:162,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:163,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:163,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:164,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:164,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:166,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:166,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:167,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:167,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:169,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:169,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:172,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:172,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:173,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:173,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:176,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:176,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:183,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:184,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:185,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:186,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:186,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:187,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:188,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:188,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:192,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:193,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:194,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:194,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:195,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 196
    functionName: test_xonly_pubkey_tweak
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_xonly_pubkey_from_pubkey
    - memset
    - secp256k1_xonly_pubkey_tweak_add
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey_tweak(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:211,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:212,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:213,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:214,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:214,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:215,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:215,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:217,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:217,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:218,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:218,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:219,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:219,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:220,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:220,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:221,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:221,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:222,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:222,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:223,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:223,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:225,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:225,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:226,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:226,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:227,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:227,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:229,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:230,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:230,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:231,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:231,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:232,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:232,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:233,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:233,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:234,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:234,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:237,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:237,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:239,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:239,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:240,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:240,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:243,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:243,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:244,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:244,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:245,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 246
    functionName: test_xonly_pubkey_tweak_check
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_xonly_pubkey_from_pubkey
    - memset
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_xonly_pubkey_tweak_add
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey_tweak_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:259,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:260,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:260,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:264,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:265,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:265,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:266,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:266,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:273,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:273,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:274,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:274,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:275,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:275,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:276,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 278
    functionName: test_xonly_pubkey_tweak_recursive
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_xonly_pubkey_from_pubkey
    - memset
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_xonly_pubkey_tweak_add
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_xonly_pubkey_tweak_recursive(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:291,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:292,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:295,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:296,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:296,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:297,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:297,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:298,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:298,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:299,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:299,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:300,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:300,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:301,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:301,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:302,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:302,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:303,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:303,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:304,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:304,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:305,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:305,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:308,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:308,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:309,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:309,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:310,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:310,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:311,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:311,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:314,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:315,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:315,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:316,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:316,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:317,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:317,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:318,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:318,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:319,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:319,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:322,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:323,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:323,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:324,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:324,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:327,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:327,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:328,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:328,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:329,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:329,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:330,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:330,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:333,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:334,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:334,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:335,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:335,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:336,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:336,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:337,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:337,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:338,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:338,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:339,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:339,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:342,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:342,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:343,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:344,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:344,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:345,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:345,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:348,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:348,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:349,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:349,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:350,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:350,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:351,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:351,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:352,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:352,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:353,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:356,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:357,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:357,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:358,1
    - Dst: secp256k1_keypair_sec
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:358,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:359,1
    - Dst: secp256k1_keypair_sec
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:359,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:360,1
    - Dst: secp256k1_keypair_sec
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:360,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:361,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:361,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:364,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:364,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:365,1
    - Dst: secp256k1_keypair_sec
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:365,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:366,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:366,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:370,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:371,1
    - Dst: secp256k1_keypair_sec
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:371,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:372,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 373
    functionName: test_keypair
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_xonly_pubkey_from_pubkey
    - memset
    - secp256k1_keypair_sec
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_keypair_create
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: void
    signature: void test_keypair(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:383,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:384,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:385,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:386,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:387,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:387,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:389,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:389,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:390,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:390,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:391,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:391,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:392,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:392,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:393,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:393,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:395,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:395,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:398,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:398,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:399,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:399,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:400,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:400,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:403,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:403,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:404,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:404,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:410,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:411,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:411,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:412,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:415,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:416,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:417,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:418,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:418,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:419,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:420,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:420,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:421,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:425,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:426,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:427,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:427,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:428,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:428,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:430,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:430,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:431,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:432,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:432,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:434,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:434,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:435,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:436,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:436,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:439,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:439,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:449,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:450,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:450,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:451,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:451,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:452,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:452,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:455,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:455,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:456,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:456,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:459,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:459,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:460,1
    - Dst: secp256k1_xonly_pubkey_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:460,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:461,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:461,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:464,1
    - Dst: secp256k1_keypair_sec
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:464,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:465,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:465,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:466,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 468
    functionName: test_keypair_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_keypair_xonly_tweak_add
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_keypair_xonly_pub
    - secp256k1_keypair_pub
    - memcpy
    - memset
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_xonly_pubkey_tweak_add
    - secp256k1_keypair_sec
    - secp256k1_scalar_negate
    - secp256k1_memcmp_var
    - CHECK_ILLEGAL
    - secp256k1_keypair_create
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_keypair_add(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xonly_pubkey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:472,1
    - Dst: test_xonly_pubkey_tweak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:473,1
    - Dst: test_xonly_pubkey_tweak_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:474,1
    - Dst: test_xonly_pubkey_tweak_recursive
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:475,1
    - Dst: test_xonly_pubkey_comparison
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:476,1
    - Dst: test_keypair
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:479,1
    - Dst: test_keypair_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 481
    functionName: run_extrakeys_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/tests_impl.h
    functionUses: 2
    functionsReached:
    - test_xonly_pubkey_comparison
    - test_xonly_pubkey
    - test_xonly_pubkey_tweak
    - test_xonly_pubkey_tweak_recursive
    - test_keypair_add
    - test_keypair
    - test_xonly_pubkey_tweak_check
    linkageType: ''
    returnType: void
    signature: void run_extrakeys_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ge
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    - secp256k1_xonly_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: secp256k1_xonly_pubkey_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_pubkey_load
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_xonly_pubkey_load(const secp256k1_context*
      ctx, secp256k1_ge *ge, const secp256k1_xonly_pubkey *pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pubkey
    - ge
    argTypes:
    - secp256k1_xonly_pubkey*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: secp256k1_xonly_pubkey_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: SECP256K1_INLINE
    signature: SECP256K1_INLINE secp256k1_xonly_pubkey_save(secp256k1_xonly_pubkey
      *pubkey, secp256k1_ge *ge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:26,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:27,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:28,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:29,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:31,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:34,1
    - Dst: secp256k1_ge_is_in_correct_subgroup
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:37,1
    - Dst: secp256k1_xonly_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - input32
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: secp256k1_xonly_pubkey_parse
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 21
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_fe_set_b32_limit
    - memset
    - secp256k1_xonly_pubkey_save
    - secp256k1_ge_set_xo_var
    - secp256k1_ge_is_in_correct_subgroup
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_parse(const secp256k1_context* ctx, secp256k1_xonly_pubkey
      *pubkey, const unsigned char *input32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:47,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:48,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:49,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:50,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:52,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - output32
    - pubkey
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_xonly_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: secp256k1_xonly_pubkey_serialize
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 22
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_xonly_pubkey_load
    - secp256k1_fe_get_b32
    - memset
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_serialize(const secp256k1_context* ctx,
      unsigned char *output32, const secp256k1_xonly_pubkey *pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:64,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:74,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:79,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - pk0
    - pk1
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - secp256k1_xonly_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 83
    functionName: secp256k1_xonly_pubkey_cmp
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 2
    functionsReached:
    - memset
    - VERIFY_CHECK
    - secp256k1_memcmp_var
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_cmp(const secp256k1_context* ctx, const
      secp256k1_xonly_pubkey* pk0, const secp256k1_xonly_pubkey* pk1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:90,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:90,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:92,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: secp256k1_extrakeys_ge_even_y
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_ge_is_infinity
    - VERIFY_CHECK
    - secp256k1_fe_is_odd
    - secp256k1_fe_negate
    linkageType: ''
    returnType: int
    signature: int secp256k1_extrakeys_ge_even_y(secp256k1_ge *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:103,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:104,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:105,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:107,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:110,1
    - Dst: secp256k1_xonly_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - xonly_pubkey
    - pk_parity
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - int*
    - secp256k1_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: secp256k1_xonly_pubkey_from_pubkey
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 18
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_xonly_pubkey_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_from_pubkey(const secp256k1_context* ctx,
      secp256k1_xonly_pubkey *xonly_pubkey, int *pk_parity, const secp256k1_pubkey
      *pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:121,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:122,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:123,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:124,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:125,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:127,1
    - Dst: secp256k1_ec_pubkey_tweak_add_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:128,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - output_pubkey
    - internal_pubkey
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_xonly_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: secp256k1_xonly_pubkey_tweak_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 9
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ec_pubkey_tweak_add_helper
    - secp256k1_xonly_pubkey_load
    - memset
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_tweak_add(const secp256k1_context* ctx,
      secp256k1_pubkey *output_pubkey, const secp256k1_xonly_pubkey *internal_pubkey,
      const unsigned char *tweak32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:139,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:140,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:141,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:142,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:144,1
    - Dst: secp256k1_ec_pubkey_tweak_add_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:145,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:148,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:149,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:150,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:152,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - tweaked_pubkey32
    - tweaked_pk_parity
    - internal_pubkey
    - tweak32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - int
    - secp256k1_xonly_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: secp256k1_xonly_pubkey_tweak_add_check
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 10
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ec_pubkey_tweak_add_helper
    - secp256k1_xonly_pubkey_load
    - secp256k1_fe_get_b32
    - secp256k1_fe_normalize_var
    - secp256k1_memcmp_var
    - secp256k1_fe_is_odd
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_xonly_pubkey_tweak_add_check(const secp256k1_context*
      ctx, const unsigned char *tweaked_pubkey32, int tweaked_pk_parity, const secp256k1_xonly_pubkey
      *internal_pubkey, const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:157,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - keypair
    - sk
    - pk
    argTypes:
    - secp256k1_keypair*
    - secp256k1_scalar*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: secp256k1_keypair_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: void
    signature: void secp256k1_keypair_save(secp256k1_keypair *keypair, const secp256k1_scalar
      *sk, secp256k1_ge *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32_seckey
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:165,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:168,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - sk
    - keypair
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: secp256k1_keypair_seckey_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_set_b32_seckey
    - secp256k1_declassify
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_seckey_load(const secp256k1_context* ctx, secp256k1_scalar
      *sk, const secp256k1_keypair *keypair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:182,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:183,1
    - Dst: secp256k1_keypair_seckey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - sk
    - pk
    - keypair
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: secp256k1_keypair_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_declassify
    - secp256k1_keypair_seckey_load
    - secp256k1_pubkey_load
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_load(const secp256k1_context* ctx, secp256k1_scalar
      *sk, secp256k1_ge *pk, const secp256k1_keypair *keypair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:200,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:201,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:202,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:203,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:203,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:204,1
    - Dst: secp256k1_ec_pubkey_create_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:206,1
    - Dst: secp256k1_keypair_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:207,1
    - Dst: secp256k1_memczero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:208,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - keypair
    - seckey32
    argTypes:
    - secp256k1_context*
    - secp256k1_keypair*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: secp256k1_keypair_create
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 29
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_memczero
    - secp256k1_keypair_save
    - secp256k1_ec_pubkey_create_helper
    - secp256k1_ecmult_gen_context_is_built
    - memset
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_create(const secp256k1_context* ctx, secp256k1_keypair
      *keypair, const unsigned char *seckey32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:215,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:216,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:217,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:218,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - seckey
    - keypair
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: secp256k1_keypair_sec
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 9
    functionsReached:
    - memset
    - VERIFY_CHECK
    - ARG_CHECK
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_sec(const secp256k1_context* ctx, unsigned char
      *seckey, const secp256k1_keypair *keypair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:225,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:226,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:227,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:228,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - keypair
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: secp256k1_keypair_pub
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 13
    functionsReached:
    - memset
    - VERIFY_CHECK
    - ARG_CHECK
    - memcpy
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_pub(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const secp256k1_keypair *keypair)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:238,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:239,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:240,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:241,1
    - Dst: secp256k1_keypair_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:243,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:246,1
    - Dst: secp256k1_xonly_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - pubkey
    - pk_parity
    - keypair
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - int*
    - secp256k1_keypair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: secp256k1_keypair_xonly_pub
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 17
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_keypair_load
    - memset
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_xonly_pubkey_save
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_xonly_pub(const secp256k1_context* ctx, secp256k1_xonly_pubkey
      *pubkey, int *pk_parity, const secp256k1_keypair *keypair)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:261,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:262,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:263,1
    - Dst: secp256k1_keypair_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:265,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:266,1
    - Dst: secp256k1_extrakeys_ge_even_y
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:268,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:270,1
    - Dst: secp256k1_ec_seckey_tweak_add_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:273,1
    - Dst: secp256k1_ec_pubkey_tweak_add_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:274,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:276,1
    - Dst: secp256k1_keypair_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:278,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - keypair
    - tweak32
    argTypes:
    - secp256k1_context*
    - secp256k1_keypair*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 283
    functionName: secp256k1_keypair_xonly_tweak_add
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/extrakeys/main_impl.h
    functionUses: 6
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_declassify
    - secp256k1_ec_pubkey_tweak_add_helper
    - secp256k1_keypair_save
    - secp256k1_keypair_load
    - memset
    - secp256k1_extrakeys_ge_even_y
    - secp256k1_scalar_negate
    - secp256k1_ec_seckey_tweak_add_helper
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_keypair_xonly_tweak_add(const secp256k1_context* ctx,
      secp256k1_keypair *keypair, const unsigned char *tweak32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:28,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:29,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:30,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:30,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:33,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:34,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:35,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 37
    functionName: test_exhaustive_ellswift
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_exhaustive_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_pubkey_load
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_ellswift_create
    - secp256k1_ellswift_decode
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_ellswift(const secp256k1_context *ctx, const secp256k1_ge
      *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - output
    - x32
    - ell_a64
    - ell_b64
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: ellswift_xdh_hash_x32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ellswift_xdh_hash_x32(unsigned char *output, const unsigned char
      *x32, const unsigned char *ell_a64, const unsigned char *ell_b64, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_xswiftec_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:187,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:188,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:191,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:191,1
    - Dst: secp256k1_ellswift_xswiftec_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:192,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:193,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:193,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:202,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:203,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:204,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:205,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:206,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:206,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:207,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:207,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:216,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:222,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:223,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:223,1
    - Dst: testutil_random_ge_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:232,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:233,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:234,1
    - Dst: secp256k1_ellswift_encode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:236,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:237,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:238,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:240,1
    - Dst: secp256k1_ge_eq_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:240,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:252,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:253,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:254,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:256,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:257,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:259,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:260,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:261,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:262,1
    - Dst: secp256k1_gej_eq_ge_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:262,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:274,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:275,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:277,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:278,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:279,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:280,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:281,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:285,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:286,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:287,1
    - Dst: SECP256K1_FE_VERIFY
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:288,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:290,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:291,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:293,1
    - Dst: fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:293,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:316,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:317,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:322,1
    - Dst: testrand256_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:323,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:324,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:327,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:328,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:329,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:333,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:334,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:336,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:337,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:341,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:342,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:344,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:345,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:347,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:347,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:351,1
    - Dst: testrand_flip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:352,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:353,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:354,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:355,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:355,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:357,1
    - Dst: testrand_flip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:358,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:359,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:360,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:361,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:361,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:365,1
    - Dst: testrand_flip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:366,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:367,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:368,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:368,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:370,1
    - Dst: testrand_flip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:371,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:372,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:373,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:373,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:378,1
    - Dst: testrand_flip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:379,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:380,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:381,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:382,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:383,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:384,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:384,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:386,1
    - Dst: testrand_flip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:387,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:388,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:389,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:390,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:391,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:392,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:392,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:396,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:397,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:398,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:398,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:400,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:401,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:402,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:402,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:416,1
    - Dst: secp256k1_ellswift_sha256_init_encode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:417,1
    - Dst: test_sha256_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:418,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:423,1
    - Dst: secp256k1_ellswift_sha256_init_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:424,1
    - Dst: test_sha256_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:425,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:430,1
    - Dst: secp256k1_ellswift_sha256_init_bip324
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:431,1
    - Dst: test_sha256_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h:432,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 434
    functionName: run_ellswift_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/tests_impl.h
    functionUses: 2
    functionsReached:
    - testrand256
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    - secp256k1_ellswift_xdh
    - testutil_random_ge_test
    - secp256k1_gej_set_ge
    - memcpy
    - secp256k1_ellswift_sha256_init_create
    - secp256k1_ellswift_xswiftec_inv_var
    - testutil_random_scalar_order_test
    - secp256k1_gej_eq_ge_var
    - SECP256K1_FE_VERIFY
    - secp256k1_ellswift_sha256_init_bip324
    - secp256k1_ellswift_create
    - secp256k1_memcmp_var
    - test_sha256_eq
    - fe_equal
    - secp256k1_ellswift_xswiftec_var
    - secp256k1_sha256_initialize_tagged
    - secp256k1_fe_is_odd
    - secp256k1_ge_set_gej
    - secp256k1_ge_eq_var
    - CHECK
    - secp256k1_pubkey_load
    - testrand_flip
    - testrand256_test
    - secp256k1_ecmult
    - secp256k1_ellswift_sha256_init_encode
    - secp256k1_ellswift_decode
    - secp256k1_ellswift_encode
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: void
    signature: void run_ellswift_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:88,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:88,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:89,1
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:90,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:90,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:91,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:92,1
    - Dst: secp256k1_fe_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:93,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:95,1
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:96,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:96,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:97,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:100,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:102,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:103,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:104,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:105,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:106,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:107,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:108,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:115,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:116,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:117,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:118,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:121,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:126,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:127,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:128,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:130,1
    - Dst: secp256k1_ge_x_frac_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 4
    argNames:
    - xn
    - xd
    - u
    - t
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 132
    functionName: secp256k1_ellswift_xswiftec_frac_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_mul
    - EXPECT
    - secp256k1_fe_add_int
    - secp256k1_ge_x_frac_on_curve_var
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_xswiftec_frac_var(secp256k1_fe *xn, secp256k1_fe
      *xd, const secp256k1_fe *u, const secp256k1_fe *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_xswiftec_frac_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:137,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:138,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - u
    - t
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: secp256k1_ellswift_xswiftec_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_ellswift_xswiftec_frac_var
    - secp256k1_fe_inv_var
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_xswiftec_var(secp256k1_fe *x, const secp256k1_fe
      *u, const secp256k1_fe *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_xswiftec_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:145,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:146,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - u
    - t
    argTypes:
    - secp256k1_ge*
    - secp256k1_fe*
    - secp256k1_fe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: secp256k1_ellswift_swiftec_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_is_odd
    - secp256k1_ellswift_xswiftec_var
    - secp256k1_ge_set_xo_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_swiftec_var(secp256k1_ge *p, const secp256k1_fe
      *u, const secp256k1_fe *t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:192,1
    - Dst: secp256k1_fe_normalize_weak
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:193,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:195,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:196,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:196,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:206,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:207,1
    - Dst: secp256k1_ge_x_on_curve_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:209,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:212,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:213,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:214,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:215,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:230,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:230,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:235,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:236,1
    - Dst: secp256k1_fe_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:237,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:238,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:239,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:242,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:243,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:251,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:253,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:256,1
    - Dst: secp256k1_fe_sqr
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:259,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:260,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:261,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:262,1
    - Dst: secp256k1_fe_mul_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:263,1
    - Dst: secp256k1_fe_add_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:264,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:265,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:266,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:267,1
    - Dst: secp256k1_fe_is_square_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:268,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:269,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:271,1
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:277,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:277,1
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:280,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:280,1
    - Dst: secp256k1_fe_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:283,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:284,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:285,1
    - Dst: secp256k1_fe_half
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:286,1
    - Dst: secp256k1_fe_sqrt
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:290,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:291,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:295,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:298,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:300,1
    - Dst: secp256k1_fe_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:301,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 4
    argNames:
    - t
    - x_in
    - u_in
    - c
    argTypes:
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_fe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 303
    functionName: secp256k1_ellswift_xswiftec_inv_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_ge_x_on_curve_var
    - secp256k1_fe_sqrt
    - secp256k1_fe_add
    - secp256k1_fe_negate
    - secp256k1_fe_is_square_var
    - secp256k1_fe_normalize_weak
    - secp256k1_fe_mul
    - secp256k1_fe_inv_var
    - EXPECT
    - secp256k1_fe_add_int
    - secp256k1_fe_sqr
    - secp256k1_fe_mul_int
    - secp256k1_fe_half
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_xswiftec_inv_var(secp256k1_fe *t, const secp256k1_fe
      *x_in, const secp256k1_fe *u_in, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:320,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:321,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - out32
    - hasher
    - cnt
    argTypes:
    - unsigned char*
    - secp256k1_sha256*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: secp256k1_ellswift_prng
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_prng(unsigned char* out32, const secp256k1_sha256
      *hasher, uint32_t cnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_prng
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:349,1
    - Dst: secp256k1_ellswift_prng
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:356,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:358,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:362,1
    - Dst: secp256k1_fe_normalizes_to_zero_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:362,1
    - Dst: EXPECT
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:365,1
    - Dst: secp256k1_ellswift_xswiftec_inv_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - u32
    - t
    - x
    - hasher
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    - secp256k1_fe*
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 367
    functionName: secp256k1_ellswift_xelligatorswift_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_fe_normalizes_to_zero_var
    - VERIFY_CHECK
    - secp256k1_fe_set_b32_mod
    - secp256k1_ellswift_xswiftec_inv_var
    - EXPECT
    - secp256k1_ellswift_prng
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_xelligatorswift_var(unsigned char *u32, secp256k1_fe
      *t, const secp256k1_fe *x, const secp256k1_sha256 *hasher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_xelligatorswift_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:376,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:377,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:378,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:378,1
    - Dst: secp256k1_fe_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:379,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - u32
    - t
    - p
    - hasher
    argTypes:
    - unsigned char*
    - secp256k1_fe*
    - secp256k1_ge*
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: secp256k1_ellswift_elligatorswift_var
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_fe_negate
    - secp256k1_ellswift_xelligatorswift_var
    - secp256k1_fe_is_odd
    - secp256k1_fe_normalize_var
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_elligatorswift_var(unsigned char *u32, secp256k1_fe
      *t, const secp256k1_ge *p, const secp256k1_sha256 *hasher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: secp256k1_ellswift_sha256_init_encode
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_sha256_init_encode(secp256k1_sha256* hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:401,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:402,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:403,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:404,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:406,1
    - Dst: secp256k1_ellswift_sha256_init_encode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:415,1
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:416,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:418,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:422,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:423,1
    - Dst: secp256k1_ellswift_elligatorswift_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:426,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:427,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - ell64
    - pubkey
    - rnd32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 433
    functionName: secp256k1_ellswift_encode
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_ellswift_sha256_init_encode
    - VERIFY_CHECK
    - secp256k1_pubkey_load
    - secp256k1_fe_get_b32
    - secp256k1_sha256_write
    - memset
    - secp256k1_ellswift_elligatorswift_var
    - secp256k1_eckey_pubkey_serialize
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_encode(const secp256k1_context *ctx, unsigned
      char *ell64, const secp256k1_pubkey *pubkey, const unsigned char *rnd32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 448
    functionName: secp256k1_ellswift_sha256_init_create
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_sha256_init_create(secp256k1_sha256* hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:459,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:460,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:461,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:462,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:462,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:463,1
    - Dst: secp256k1_ec_pubkey_create_helper
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:466,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:467,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:468,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:469,1
    - Dst: secp256k1_ellswift_sha256_init_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:473,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:474,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:475,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:476,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:477,1
    - Dst: secp256k1_ellswift_elligatorswift_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:480,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:481,1
    - Dst: secp256k1_memczero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:483,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - ell64
    - seckey32
    - auxrnd32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 487
    functionName: secp256k1_ellswift_create
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 9
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_declassify
    - secp256k1_memczero
    - secp256k1_ec_pubkey_create_helper
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_fe_normalize_var
    - secp256k1_ellswift_sha256_init_create
    - memset
    - secp256k1_fe_get_b32
    - secp256k1_ellswift_elligatorswift_var
    - secp256k1_sha256_write
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_create(const secp256k1_context *ctx, unsigned
      char *ell64, const unsigned char *seckey32, const unsigned char *auxrnd32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:492,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:493,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:494,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:496,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:497,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:498,1
    - Dst: secp256k1_ellswift_swiftec_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:499,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - pubkey
    - ell64
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 502
    functionName: secp256k1_ellswift_decode
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 7
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ellswift_swiftec_var
    - secp256k1_fe_normalize_var
    - secp256k1_fe_set_b32_mod
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_decode(const secp256k1_context *ctx, secp256k1_pubkey
      *pubkey, const unsigned char *ell64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:507,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:508,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:509,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:510,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:511,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:512,1
    - Dst: secp256k1_sha256_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - output
    - x32
    - ell_a64
    - ell_b64
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: ellswift_xdh_hash_function_prefix
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    - secp256k1_sha256_clear
    linkageType: ''
    returnType: int
    signature: int ellswift_xdh_hash_function_prefix(unsigned char *output, const
      unsigned char *x32, const unsigned char *ell_a64, const unsigned char *ell_b64,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - hash
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 531
    functionName: secp256k1_ellswift_sha256_init_bip324
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_ellswift_sha256_init_bip324(secp256k1_sha256* hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ellswift_sha256_init_bip324
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:538,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:539,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:540,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:541,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:542,1
    - Dst: secp256k1_sha256_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - output
    - x32
    - ell_a64
    - ell_b64
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 546
    functionName: ellswift_xdh_hash_function_bip324
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_clear
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    - secp256k1_ellswift_sha256_init_bip324
    linkageType: ''
    returnType: int
    signature: int ellswift_xdh_hash_function_bip324(unsigned char* output, const
      unsigned char *x32, const unsigned char *ell_a64, const unsigned char *ell_b64,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:559,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:560,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:561,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:562,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:563,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:564,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:568,1
    - Dst: secp256k1_fe_set_b32_mod
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:569,1
    - Dst: secp256k1_ellswift_xswiftec_frac_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:570,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:573,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:574,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:575,1
    - Dst: secp256k1_ecmult_const_xonly
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:578,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:579,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:580,1
    - Dst: hashfp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:583,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:585,1
    - Dst: secp256k1_fe_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:586,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 8
    argNames:
    - ctx
    - output
    - ell_a64
    - ell_b64
    - seckey32
    - party
    - hashfp
    - data
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - secp256k1_ellswift_xdh_hash_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 590
    functionName: secp256k1_ellswift_xdh
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/main_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_scalar_clear
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_ecmult_const_xonly
    - secp256k1_memclear
    - secp256k1_scalar_set_b32
    - secp256k1_fe_get_b32
    - hashfp
    - secp256k1_fe_set_b32_mod
    - secp256k1_fe_normalize
    - secp256k1_fe_clear
    - secp256k1_ellswift_xswiftec_frac_var
    - secp256k1_scalar_is_zero
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ellswift_xdh(const secp256k1_context *ctx, unsigned char
      *output, const unsigned char *ell_a64, const unsigned char *ell_b64, const unsigned
      char *seckey32, int party, secp256k1_ellswift_xdh_hash_function hashfp, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:30,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:33,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:33,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:38,1
    - Dst: secp256k1_ellswift_encode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 39
    functionName: bench_ellswift_setup
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_decode
    - secp256k1_ellswift_encode
    - CHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_setup(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:46,1
    - Dst: secp256k1_ellswift_encode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: bench_ellswift_encode
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_encode
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_encode(void *arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:56,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:56,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: bench_ellswift_create
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_create
    - CHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_create(void *arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:68,1
    - Dst: secp256k1_ellswift_decode
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:68,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:70,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: bench_ellswift_decode
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_decode
    - secp256k1_ec_pubkey_serialize
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_decode(void *arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:80,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: bench_ellswift_xdh
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ellswift_xdh
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_ellswift_xdh(void *arg, int iters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:96,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:98,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:98,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:98,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:98,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:99,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:99,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:99,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:99,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:100,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:100,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:100,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:100,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:101,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:101,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:101,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:101,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h:103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 3
    argNames:
    - iters
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: run_ellswift_bench
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ellswift/bench_impl.h
    functionUses: 2
    functionsReached:
    - have_flag
    - secp256k1_context_destroy
    - run_benchmark
    - secp256k1_context_create
    linkageType: ''
    returnType: void
    signature: void run_ellswift_bench(int iters, int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:74,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: secp256k1_hardened_nonce_function_smallint
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    linkageType: ''
    returnType: int
    signature: "int secp256k1_hardened_nonce_function_smallint(unsigned char *nonce32,
      const unsigned char *msg,\n                                                      size_t
      msglen,\n                                                      const unsigned
      char *key32, const unsigned char *xonly_pk32,\n                                                      const
      unsigned char *algo, size_t algolen,\n                                                      void*
      data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:87,1
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:96,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:98,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:101,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:107,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:108,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:118,1
    - Dst: secp256k1_write_be32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:119,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:123,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:126,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:127,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - pubkeys
    - (*xonly_pubkey_bytes)
    - parities
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - unsigned char[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 139
    functionName: test_exhaustive_schnorrsig_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_schnorrsig_challenge
    - testrand256
    - CHECK
    - secp256k1_write_be32
    - secp256k1_schnorrsig_verify
    - memcpy
    - memset
    - skip_section
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_schnorrsig_verify(const secp256k1_context *ctx,
      const secp256k1_xonly_pubkey* pubkeys, unsigned char (*xonly_pubkey_bytes)[32],
      const int* parities)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:157,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:164,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:165,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:170,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:172,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:172,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:174,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:174,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:176,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - (*xonly_pubkey_bytes)
    - keypairs
    - parities
    argTypes:
    - secp256k1_context*
    - unsigned char[]
    - secp256k1_keypair*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: test_exhaustive_schnorrsig_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_schnorrsig_challenge
    - testrand256
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_schnorrsig_sign_custom
    - skip_section
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_schnorrsig_sign(const secp256k1_context *ctx,
      unsigned char (*xonly_pubkey_bytes)[32], const secp256k1_keypair* keypairs,
      const int* parities)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:196,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:196,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:203,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:204,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:205,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:205,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:206,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:206,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:207,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:207,1
    - Dst: test_exhaustive_schnorrsig_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:210,1
    - Dst: test_exhaustive_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - secp256k1_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 212
    functionName: test_exhaustive_schnorrsig
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_exhaustive_impl.h
    functionUses: 2
    functionsReached:
    - test_exhaustive_schnorrsig_verify
    - secp256k1_xonly_pubkey_parse
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_keypair_xonly_pub
    - secp256k1_scalar_set_int
    - test_exhaustive_schnorrsig_sign
    - secp256k1_keypair_create
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_schnorrsig(const secp256k1_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:17,1
    - Dst: nonce_function_bip340
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:17,1
    - Dst: testrand_flip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:18,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:19,1
    - Dst: nonce_function_bip340
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:19,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:20,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - args
    - n_flip
    - n_bytes
    - msglen
    - algolen
    argTypes:
    - unsigned char**
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: nonce_function_bip340_bitflip
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_memcmp_var
    - nonce_function_bip340
    - CHECK
    - testrand_flip
    linkageType: ''
    returnType: void
    signature: void nonce_function_bip340_bitflip(unsigned char **args, size_t n_flip,
      size_t n_bytes, size_t msglen, size_t algolen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:42,1
    - Dst: secp256k1_nonce_function_bip340_sha256_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:43,1
    - Dst: test_sha256_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:44,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:49,1
    - Dst: secp256k1_nonce_function_bip340_sha256_tagged_aux
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:50,1
    - Dst: test_sha256_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:51,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:53,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:54,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:55,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:56,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:65,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:66,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:67,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:69,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:71,1
    - Dst: nonce_function_bip340_bitflip
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:72,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:76,1
    - Dst: nonce_function_bip340
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:76,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:77,1
    - Dst: nonce_function_bip340
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:77,1
    - Dst: testrand_bytes_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:79,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:80,1
    - Dst: nonce_function_bip340
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:80,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:84,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:89,1
    - Dst: nonce_function_bip340
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:89,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:90,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:90,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:93,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:95,1
    - Dst: nonce_function_bip340
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:95,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:96,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:96,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:100,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:101,1
    - Dst: nonce_function_bip340
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:101,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:102,1
    - Dst: nonce_function_bip340
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:102,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:103,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 104
    functionName: run_nonce_function_bip340_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - CHECK
    - testrand_bytes_test
    - nonce_function_bip340_bitflip
    - memset
    - secp256k1_sha256_initialize_tagged
    - secp256k1_nonce_function_bip340_sha256_tagged_aux
    - secp256k1_memcmp_var
    - test_sha256_eq
    - testrand_int
    - secp256k1_nonce_function_bip340_sha256_tagged
    - nonce_function_bip340
    linkageType: ''
    returnType: void
    signature: void run_nonce_function_bip340_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:119,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:120,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:121,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:122,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:123,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:123,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:124,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:124,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:125,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:125,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:126,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:126,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:127,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:127,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:128,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:128,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:129,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:132,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:132,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:133,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:133,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:134,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:134,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:135,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:135,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:136,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:136,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:137,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:137,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:139,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:139,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:140,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:140,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:141,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:141,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:142,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:142,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:143,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:143,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:144,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:144,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:145,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:145,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:146,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:146,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:147,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:147,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:149,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:149,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:150,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:150,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:151,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:151,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:152,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:152,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:153,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:153,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:154,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:154,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:155,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 156
    functionName: test_schnorrsig_api
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_schnorrsig_sign_custom
    - secp256k1_schnorrsig_verify
    - memset
    - CHECK_ILLEGAL
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_api(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:165,1
    - Dst: secp256k1_schnorrsig_sha256_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:166,1
    - Dst: test_sha256_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: test_schnorrsig_sha256_tagged
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - test_sha256_eq
    - secp256k1_sha256_initialize_tagged
    - secp256k1_schnorrsig_sha256_tagged
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_sha256_tagged(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:180,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:180,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:181,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:181,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:182,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:182,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:184,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:185,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:185,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:186,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:186,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:189,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:189,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:190,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:190,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:191,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:191,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:192,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - sk
    - pk_serialized
    - aux_rand
    - msg
    - msglen
    - expected_sig
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 193
    functionName: test_schnorrsig_bip_vectors_check_signing
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_xonly_pubkey_parse
    - secp256k1_keypair_xonly_pub
    - secp256k1_schnorrsig_sign_custom
    - secp256k1_schnorrsig_verify
    - memset
    - secp256k1_memcmp_var
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_bip_vectors_check_signing(const unsigned char
      *sk, const unsigned char *pk_serialized, const unsigned char *aux_rand, const
      unsigned char *msg, size_t msglen, const unsigned char *expected_sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:200,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:200,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:201,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pk_serialized
    - msg
    - msglen
    - sig
    - expected
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: test_schnorrsig_bip_vectors_check_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_xonly_pubkey_parse
    - secp256k1_schnorrsig_verify
    - CHECK
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_bip_vectors_check_verify(const unsigned char *pk_serialized,
      const unsigned char *msg, size_t msglen, const unsigned char *sig, int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:243,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:244,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:282,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:283,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:321,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:322,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:360,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:361,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:387,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:399,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:399,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:425,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:451,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:477,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:503,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:529,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:555,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:581,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:607,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:619,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:619,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:652,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:653,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:686,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:687,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:724,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:725,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:758,1
    - Dst: test_schnorrsig_bip_vectors_check_signing
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:759,1
    - Dst: test_schnorrsig_bip_vectors_check_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 762
    functionName: test_schnorrsig_bip_vectors
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_xonly_pubkey_parse
    - CHECK
    - test_schnorrsig_bip_vectors_check_verify
    - memset
    - test_schnorrsig_bip_vectors_check_signing
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_bip_vectors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 775
    functionName: nonce_function_failing
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nonce_function_failing(unsigned char *nonce32, const unsigned char
      *msg, size_t msglen, const unsigned char *key32, const unsigned char *xonly_pk32,
      const unsigned char *algo, size_t algolen, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 789
    functionName: nonce_function_0
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int nonce_function_0(unsigned char *nonce32, const unsigned char *msg,
      size_t msglen, const unsigned char *key32, const unsigned char *xonly_pk32,
      const unsigned char *algo, size_t algolen, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: nonce_function_overflowing
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int nonce_function_overflowing(unsigned char *nonce32, const unsigned
      char *msg, size_t msglen, const unsigned char *key32, const unsigned char *xonly_pk32,
      const unsigned char *algo, size_t algolen, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:816,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:817,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:818,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:818,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:819,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:819,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:820,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:820,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:821,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:821,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:823,1
    - Dst: secp256k1_schnorrsig_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:823,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:824,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:824,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:827,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:827,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:828,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:828,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:829,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:831,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:831,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:832,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:832,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:833,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:835,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:835,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:836,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:836,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:837,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:839,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:839,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:840,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:840,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:846,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:846,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:847,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:847,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:848,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 849
    functionName: test_schnorrsig_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - secp256k1_schnorrsig_sign
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_schnorrsig_sign_custom
    - secp256k1_schnorrsig_verify
    - memset
    - secp256k1_memcmp_var
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_sign(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:864,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:865,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:865,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:866,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:866,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:869,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:870,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:870,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:871,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:871,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:877,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:878,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:879,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:881,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:881,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:884,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:886,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:886,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:889,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:891,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:891,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:895,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:895,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:899,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:899,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:900,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:900,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:901,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:902,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:902,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:905,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:905,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:906,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:906,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:907,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:908,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:909,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:910,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:910,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:913,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:913,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:914,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:914,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:919,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:921,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:923,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:923,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:924,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:924,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:927,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 929
    functionName: test_schnorrsig_sign_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_get_b32
    - secp256k1_schnorrsig_sign_custom
    - secp256k1_schnorrsig_verify
    - testrand_bits
    - memset
    - secp256k1_scalar_negate
    - secp256k1_keypair_create
    - testrand_int
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_sign_verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:945,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:946,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:946,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:947,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:947,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:949,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:949,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:950,1
    - Dst: secp256k1_keypair_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:950,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:951,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:951,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:952,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:952,1
    - Dst: testrand256
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:955,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:956,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:956,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:958,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:958,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:959,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:959,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:962,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:962,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:964,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:964,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:965,1
    - Dst: secp256k1_xonly_pubkey_tweak_add_check
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 966
    functionName: test_schnorrsig_taproot
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 1
    functionsReached:
    - testrand256
    - CHECK
    - secp256k1_keypair_xonly_pub
    - secp256k1_keypair_xonly_tweak_add
    - secp256k1_xonly_pubkey_parse
    - secp256k1_schnorrsig_verify
    - secp256k1_xonly_pubkey_tweak_add_check
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_sign32
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void test_schnorrsig_taproot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_nonce_function_bip340_tests
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:970,1
    - Dst: test_schnorrsig_api
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:972,1
    - Dst: test_schnorrsig_sha256_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:973,1
    - Dst: test_schnorrsig_bip_vectors
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:974,1
    - Dst: test_schnorrsig_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:976,1
    - Dst: test_schnorrsig_sign_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:977,1
    - Dst: test_schnorrsig_taproot
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 980
    functionName: run_schnorrsig_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/tests_impl.h
    functionUses: 2
    functionsReached:
    - test_schnorrsig_sign
    - test_schnorrsig_bip_vectors
    - test_schnorrsig_sign_verify
    - test_schnorrsig_taproot
    - test_schnorrsig_sha256_tagged
    - run_nonce_function_bip340_tests
    - test_schnorrsig_api
    linkageType: ''
    returnType: void
    signature: void run_schnorrsig_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: secp256k1_nonce_function_bip340_sha256_tagged
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_bip340_sha256_tagged(secp256k1_sha256
      *sha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: secp256k1_nonce_function_bip340_sha256_tagged_aux
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_nonce_function_bip340_sha256_tagged_aux(secp256k1_sha256
      *sha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_nonce_function_bip340_sha256_tagged_aux
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:62,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:63,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:64,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:85,1
    - Dst: secp256k1_nonce_function_bip340_sha256_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:86,1
    - Dst: secp256k1_sha256_initialize_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:88,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:92,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:93,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:94,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:95,1
    - Dst: secp256k1_sha256_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:96,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 100
    functionName: nonce_function_bip340
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_memclear
    - secp256k1_sha256_clear
    - secp256k1_sha256_finalize
    - secp256k1_nonce_function_bip340_sha256_tagged_aux
    - secp256k1_sha256_initialize_tagged
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    - secp256k1_nonce_function_bip340_sha256_tagged
    linkageType: ''
    returnType: int
    signature: int nonce_function_bip340(unsigned char *nonce32, const unsigned char
      *msg, size_t msglen, const unsigned char *key32, const unsigned char *xonly_pk32,
      const unsigned char *algo, size_t algolen, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - sha
    argTypes:
    - secp256k1_sha256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: secp256k1_schnorrsig_sha256_tagged
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 3
    functionsReached:
    - secp256k1_sha256_initialize
    linkageType: ''
    returnType: void
    signature: void secp256k1_schnorrsig_sha256_tagged(secp256k1_sha256 *sha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_schnorrsig_sha256_tagged
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:125,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:126,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:127,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:128,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:129,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - e
    - r32
    - msg
    - msglen
    - pubkey32
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: secp256k1_schnorrsig_challenge
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_scalar_set_b32
    - secp256k1_sha256_write
    - secp256k1_sha256_finalize
    - secp256k1_schnorrsig_sha256_tagged
    linkageType: ''
    returnType: void
    signature: void secp256k1_schnorrsig_challenge(secp256k1_scalar* e, const unsigned
      char *r32, const unsigned char *msg, size_t msglen, const unsigned char *pubkey32)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:147,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:148,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:148,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:149,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:150,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:151,1
    - Dst: secp256k1_keypair_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:157,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:161,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:162,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:165,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:166,1
    - Dst: noncefp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:167,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:168,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:169,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:170,1
    - Dst: secp256k1_ecmult_gen
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:172,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:173,1
    - Dst: secp256k1_declassify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:177,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:178,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:179,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:180,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:182,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:183,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:185,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:186,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:187,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:188,1
    - Dst: secp256k1_memczero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:190,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:191,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:192,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:193,1
    - Dst: secp256k1_gej_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 7
    argNames:
    - ctx
    - sig64
    - msg
    - msglen
    - keypair
    - noncefp
    - ndata
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    - secp256k1_keypair*
    - secp256k1_nonce_function_hardened
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 197
    functionName: secp256k1_schnorrsig_sign_internal
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_keypair_load
    - secp256k1_fe_normalize_var
    - secp256k1_ecmult_gen
    - secp256k1_scalar_mul
    - secp256k1_schnorrsig_challenge
    - secp256k1_ecmult_gen_context_is_built
    - secp256k1_fe_get_b32
    - ARG_CHECK
    - secp256k1_scalar_add
    - secp256k1_scalar_clear
    - secp256k1_declassify
    - secp256k1_memczero
    - secp256k1_scalar_negate
    - secp256k1_fe_is_odd
    - noncefp
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_memclear
    - secp256k1_scalar_set_b32
    - secp256k1_scalar_is_zero
    - secp256k1_gej_clear
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_sign_internal(const secp256k1_context* ctx,
      unsigned char *sig64, const unsigned char *msg, size_t msglen, const secp256k1_keypair
      *keypair, secp256k1_nonce_function_hardened noncefp, void *ndata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_schnorrsig_sign_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - sig64
    - msg32
    - keypair
    - aux_rand32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - secp256k1_keypair*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: secp256k1_schnorrsig_sign32
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 15
    functionsReached:
    - secp256k1_schnorrsig_sign_internal
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_sign32(const secp256k1_context* ctx, unsigned
      char *sig64, const unsigned char *msg32, const secp256k1_keypair *keypair, const
      unsigned char *aux_rand32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - sig64
    - msg32
    - keypair
    - aux_rand32
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - secp256k1_keypair*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: secp256k1_schnorrsig_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 2
    functionsReached:
    - secp256k1_schnorrsig_sign32
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_sign(const secp256k1_context* ctx, unsigned
      char *sig64, const unsigned char *msg32, const secp256k1_keypair *keypair, const
      unsigned char *aux_rand32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:211,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:214,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:214,1
    - Dst: secp256k1_schnorrsig_sign_internal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - sig64
    - msg
    - msglen
    - keypair
    - extraparams
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    - secp256k1_keypair*
    - secp256k1_schnorrsig_extraparams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: secp256k1_schnorrsig_sign_custom
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 12
    functionsReached:
    - secp256k1_memcmp_var
    - VERIFY_CHECK
    - ARG_CHECK
    - secp256k1_schnorrsig_sign_internal
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_sign_custom(const secp256k1_context* ctx,
      unsigned char *sig64, const unsigned char *msg, size_t msglen, const secp256k1_keypair
      *keypair, secp256k1_schnorrsig_extraparams *extraparams)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:234,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:235,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:236,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:237,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:239,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:243,1
    - Dst: secp256k1_xonly_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:248,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:253,1
    - Dst: secp256k1_schnorrsig_challenge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:254,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:257,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:258,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:259,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:261,1
    - Dst: secp256k1_ge_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:262,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:266,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:267,1
    - Dst: secp256k1_fe_equal
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - sig64
    - msg
    - msglen
    - pubkey
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    - secp256k1_xonly_pubkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 269
    functionName: secp256k1_schnorrsig_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/main_impl.h
    functionUses: 25
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_schnorrsig_challenge
    - secp256k1_fe_equal
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_set_b32
    - secp256k1_xonly_pubkey_load
    - secp256k1_fe_get_b32
    - secp256k1_gej_set_ge
    - secp256k1_ge_set_gej_var
    - secp256k1_ecmult
    - secp256k1_fe_normalize_var
    - secp256k1_scalar_negate
    - secp256k1_ge_is_infinity
    - secp256k1_fe_is_odd
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_schnorrsig_verify(const secp256k1_context* ctx, const
      unsigned char *sig64, const unsigned char *msg, size_t msglen, const secp256k1_xonly_pubkey
      *pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:33,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: bench_schnorrsig_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_schnorrsig_sign_custom
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_schnorrsig_sign(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:43,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:43,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:44,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: bench_schnorrsig_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_xonly_pubkey_parse
    - secp256k1_schnorrsig_verify
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_schnorrsig_verify(void* arg, int iters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:53,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:54,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:55,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:56,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:57,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:59,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:62,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:63,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:64,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:65,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:71,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:72,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:79,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:79,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:80,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:80,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:81,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:81,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:82,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:82,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:85,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:85,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:85,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:85,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:86,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:86,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:86,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:86,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:89,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:90,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:91,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:92,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:96,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:97,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:98,1
    - Dst: free
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:99,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - iters
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 102
    functionName: run_schnorrsig_bench
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/schnorrsig/bench_impl.h
    functionUses: 2
    functionsReached:
    - CHECK
    - secp256k1_context_create
    - secp256k1_keypair_xonly_pub
    - secp256k1_schnorrsig_sign_custom
    - have_flag
    - secp256k1_context_destroy
    - malloc
    - memset
    - run_benchmark
    - secp256k1_keypair_create
    - free
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: void
    signature: void run_schnorrsig_bench(int iters, int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - output
    - x
    - y
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: ecdh_hash_function_test_xpassthru
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ecdh_hash_function_test_xpassthru(unsigned char *output, const
      unsigned char *x, const unsigned char *y, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - output
    - x
    - y
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: ecdh_hash_function_test_fail
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecdh_hash_function_test_fail(unsigned char *output, const unsigned
      char *x, const unsigned char *y, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:29,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - output
    - x
    - y
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: ecdh_hash_function_custom
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ecdh_hash_function_custom(unsigned char *output, const unsigned
      char *x, const unsigned char *y, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:40,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:40,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:43,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:43,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:44,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:44,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:45,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:45,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:46,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:46,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:47,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: test_ecdh_api
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 1
    functionsReached:
    - CHECK_ILLEGAL
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_ecdh
    linkageType: ''
    returnType: void
    signature: void test_ecdh_api(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:66,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:67,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:69,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:69,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:70,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:70,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:73,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:73,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:75,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:75,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:77,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:77,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:80,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:80,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:82,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:82,1
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:83,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:84,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:85,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:87,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 89
    functionName: test_ecdh_generator_basepoint
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdh
    - secp256k1_memcmp_var
    - secp256k1_sha256_write
    linkageType: ''
    returnType: void
    signature: void test_ecdh_generator_basepoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:105,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:106,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:107,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:107,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:110,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:110,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:111,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:111,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:114,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:114,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:117,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 118
    functionName: test_bad_scalar
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    - secp256k1_ecdh
    linkageType: ''
    returnType: void
    signature: void test_bad_scalar(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:133,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:133,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:134,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:134,1
    - Dst: testutil_random_scalar_order
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:137,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:138,1
    - Dst: secp256k1_scalar_inverse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:139,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:140,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:142,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:142,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:143,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:143,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:144,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:144,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:146,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:146,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:147,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:147,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:148,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: test_result_basepoint
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_get_b32
    - testutil_random_scalar_order
    - secp256k1_scalar_inverse
    - secp256k1_ecdh
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void test_result_basepoint(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:165,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:167,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:170,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:176,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:178,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:178,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:181,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 183
    functionName: test_ecdh_wycheproof
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_ecdh
    - memset
    - secp256k1_ec_pubkey_parse
    - secp256k1_memcmp_var
    linkageType: ''
    returnType: void
    signature: void test_ecdh_wycheproof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdh_api
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:186,1
    - Dst: test_ecdh_generator_basepoint
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:187,1
    - Dst: test_bad_scalar
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:188,1
    - Dst: test_result_basepoint
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:189,1
    - Dst: test_ecdh_wycheproof
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: run_ecdh_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/tests_impl.h
    functionUses: 2
    functionsReached:
    - test_ecdh_generator_basepoint
    - test_ecdh_api
    - test_ecdh_wycheproof
    - test_bad_scalar
    - test_result_basepoint
    linkageType: ''
    returnType: void
    signature: void run_ecdh_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_sha256_initialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:18,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:19,1
    - Dst: secp256k1_sha256_write
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:20,1
    - Dst: secp256k1_sha256_finalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:21,1
    - Dst: secp256k1_sha256_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - output
    - x32
    - y32
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: ecdh_hash_function_sha256
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_sha256_initialize
    - secp256k1_sha256_finalize
    - secp256k1_sha256_write
    - secp256k1_sha256_clear
    linkageType: ''
    returnType: int
    signature: int ecdh_hash_function_sha256(unsigned char *output, const unsigned
      char *x32, const unsigned char *y32, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:39,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:40,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:41,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:42,1
    - Dst: secp256k1_pubkey_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:48,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:49,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:51,1
    - Dst: secp256k1_scalar_cmov
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:52,1
    - Dst: secp256k1_ecmult_const
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:54,1
    - Dst: secp256k1_ge_set_gej
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:55,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:58,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:59,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:60,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:61,1
    - Dst: hashfp
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:63,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:65,1
    - Dst: secp256k1_memclear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:66,1
    - Dst: secp256k1_scalar_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:67,1
    - Dst: secp256k1_ge_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:68,1
    - Dst: secp256k1_gej_clear
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 6
    argNames:
    - ctx
    - output
    - point
    - scalar
    - hashfp
    - data
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - secp256k1_pubkey*
    - unsigned char*
    - secp256k1_ecdh_hash_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 72
    functionName: secp256k1_ecdh
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/main_impl.h
    functionUses: 14
    functionsReached:
    - secp256k1_ge_set_gej
    - VERIFY_CHECK
    - secp256k1_scalar_cmov
    - secp256k1_memclear
    - secp256k1_scalar_clear
    - secp256k1_pubkey_load
    - secp256k1_ge_clear
    - secp256k1_scalar_set_b32
    - secp256k1_fe_get_b32
    - hashfp
    - secp256k1_ecmult_const
    - secp256k1_fe_normalize
    - secp256k1_scalar_is_zero
    - ARG_CHECK
    - secp256k1_gej_clear
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdh(const secp256k1_context* ctx, unsigned char *output,
      const secp256k1_pubkey *point, const unsigned char *scalar, secp256k1_ecdh_hash_function
      hashfp, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h:32,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: bench_ecdh_setup
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_parse
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_ecdh_setup(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h:41,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: bench_ecdh
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h
    functionUses: 0
    functionsReached:
    - CHECK
    - secp256k1_ecdh
    linkageType: ''
    returnType: void
    signature: void bench_ecdh(void* arg, int iters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h:50,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h:52,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h:52,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - iters
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: run_ecdh_bench
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/ecdh/bench_impl.h
    functionUses: 2
    functionsReached:
    - have_flag
    - secp256k1_context_destroy
    - run_benchmark
    - secp256k1_context_create
    linkageType: ''
    returnType: void
    signature: void run_ecdh_bench(int iters, int argc, char** argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:20,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:31,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:32,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:33,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:34,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:36,1
    - Dst: secp256k1_ecdsa_recoverable_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:39,1
    - Dst: r_from_k
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:40,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:41,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:42,1
    - Dst: secp256k1_fe_normalize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:52,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:55,1
    - Dst: secp256k1_fe_is_odd
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:57,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:59,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:62,1
    - Dst: secp256k1_ecdsa_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:63,1
    - Dst: r_from_k
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:67,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:68,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 79
    functionName: test_exhaustive_recovery_sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h
    functionUses: 1
    functionsReached:
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_ecdsa_recoverable_signature_convert
    - secp256k1_ecdsa_signature_load
    - secp256k1_fe_normalize
    - skip_section
    - secp256k1_ecdsa_sign_recoverable
    - secp256k1_ecdsa_recoverable_signature_load
    - secp256k1_fe_is_odd
    - r_from_k
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_recovery_sign(const secp256k1_context *ctx, const
      secp256k1_ge *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_section
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:99,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:101,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:102,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:103,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:104,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:105,1
    - Dst: r_from_k
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:113,1
    - Dst: secp256k1_scalar_set_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:115,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:116,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:117,1
    - Dst: secp256k1_scalar_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:118,1
    - Dst: secp256k1_scalar_eq
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:119,1
    - Dst: secp256k1_scalar_is_high
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:123,1
    - Dst: secp256k1_ecdsa_recoverable_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:131,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:132,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:133,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:134,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:135,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 141
    functionName: test_exhaustive_recovery_verify
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ecdsa_verify
    - secp256k1_ecdsa_recoverable_signature_save
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_scalar_set_int
    - secp256k1_scalar_eq
    - secp256k1_ecdsa_recoverable_signature_convert
    - memcpy
    - secp256k1_scalar_mul
    - secp256k1_scalar_is_high
    - skip_section
    - secp256k1_pubkey_save
    - r_from_k
    - secp256k1_scalar_add
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_recovery_verify(const secp256k1_context *ctx,
      const secp256k1_ge *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exhaustive_recovery_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:144,1
    - Dst: test_exhaustive_recovery_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - group
    argTypes:
    - secp256k1_context*
    - secp256k1_ge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: test_exhaustive_recovery
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_exhaustive_impl.h
    functionUses: 2
    functionsReached:
    - test_exhaustive_recovery_sign
    - test_exhaustive_recovery_verify
    linkageType: ''
    returnType: void
    signature: void test_exhaustive_recovery(const secp256k1_context *ctx, const secp256k1_ge
      *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:18,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:23,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:27,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 29
    functionName: recovery_test_nonce_function
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 0
    functionsReached:
    - memset
    - testrand_bits
    linkageType: ''
    returnType: int
    signature: int recovery_test_nonce_function(unsigned char *nonce32, const unsigned
      char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data,
      unsigned int counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:48,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:48,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:49,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:49,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:52,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:52,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:53,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:53,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:54,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:54,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:55,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:55,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:56,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:56,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:58,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:60,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:60,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:61,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:61,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:63,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:63,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:68,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:68,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:69,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:69,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:70,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:70,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:71,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:71,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:74,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:74,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:75,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:75,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:76,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:76,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:77,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:77,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:80,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:80,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:81,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:81,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:82,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:82,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:83,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:83,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:84,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:84,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:86,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:86,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:87,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:87,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:88,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:88,1
    - Dst: CHECK_ILLEGAL
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:89,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:89,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:91,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:92,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: test_ecdsa_recovery_api
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_ecdsa_recover
    - secp256k1_ecdsa_recoverable_signature_serialize_compact
    - secp256k1_ecdsa_recoverable_signature_convert
    - memcpy
    - secp256k1_ecdsa_sign
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - secp256k1_ecdsa_sign_recoverable
    - CHECK_ILLEGAL
    - secp256k1_ec_seckey_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_recovery_api(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:109,1
    - Dst: testutil_random_scalar_order_test
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:110,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:111,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:112,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:116,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:116,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:117,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:117,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:121,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:121,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:122,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:122,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:123,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:123,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:124,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:124,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:126,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:126,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:129,1
    - Dst: secp256k1_ecdsa_sign_recoverable
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:129,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:130,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:130,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:131,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:131,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:132,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:132,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:133,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:133,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:134,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:135,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:135,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:136,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:136,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:137,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:137,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:139,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:139,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:140,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:140,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:141,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:141,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:143,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:143,1
    - Dst: testrand_bits
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:144,1
    - Dst: testrand_int
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:144,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:145,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:145,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:146,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:146,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:147,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:147,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:149,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:149,1
    - Dst: secp256k1_memcmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 151
    functionName: test_ecdsa_recovery_end_to_end
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ecdsa_verify
    - secp256k1_ec_pubkey_create
    - CHECK
    - secp256k1_scalar_get_b32
    - secp256k1_ecdsa_recover
    - secp256k1_ecdsa_recoverable_signature_serialize_compact
    - secp256k1_ecdsa_recoverable_signature_convert
    - secp256k1_ecdsa_sign
    - memset
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - testrand_bits
    - secp256k1_ecdsa_sign_recoverable
    - secp256k1_memcmp_var
    - testrand_int
    - secp256k1_ec_seckey_verify
    - testutil_random_scalar_order_test
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_recovery_end_to_end(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:190,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:190,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:191,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:191,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:192,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:192,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:193,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:193,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:194,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:194,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:195,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:195,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:196,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:196,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:197,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:197,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:242,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:242,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:243,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:243,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:244,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:244,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:245,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:245,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:248,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:248,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:249,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:249,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:251,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:251,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:252,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:252,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:256,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:256,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:257,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:257,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:259,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:259,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:260,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:260,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:261,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:261,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:262,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:262,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:264,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:264,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:265,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:265,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:267,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:267,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:268,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:268,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:271,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:271,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:272,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:272,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:274,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:274,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:275,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:275,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:285,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:285,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:285,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:306,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:306,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:307,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:307,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:308,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:308,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:309,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:309,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:312,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:312,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:313,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:313,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:314,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:314,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:315,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:315,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:320,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:320,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:321,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:321,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:322,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:322,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:323,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 325
    functionName: test_ecdsa_recovery_edge_cases
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 1
    functionsReached:
    - secp256k1_ecdsa_signature_parse_der
    - CHECK
    - secp256k1_ecdsa_recover
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - secp256k1_ecdsa_verify
    linkageType: ''
    returnType: void
    signature: void test_ecdsa_recovery_edge_cases(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_recovery_api
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:330,1
    - Dst: test_ecdsa_recovery_end_to_end
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:333,1
    - Dst: test_ecdsa_recovery_edge_cases
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: run_recovery_tests
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/tests_impl.h
    functionUses: 2
    functionsReached:
    - test_ecdsa_recovery_api
    - test_ecdsa_recovery_edge_cases
    - test_ecdsa_recovery_end_to_end
    linkageType: ''
    returnType: void
    signature: void run_recovery_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:18,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:19,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:21,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - r
    - s
    - recid
    - sig
    argTypes:
    - secp256k1_context*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int*
    - secp256k1_ecdsa_recoverable_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: secp256k1_ecdsa_recoverable_signature_load
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 5
    functionsReached:
    - secp256k1_scalar_set_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecdsa_recoverable_signature_load(const secp256k1_context*
      ctx, secp256k1_scalar* r, secp256k1_scalar* s, int* recid, const secp256k1_ecdsa_recoverable_signature*
      sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:29,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:30,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:32,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - sig
    - r
    - s
    - recid
    argTypes:
    - secp256k1_ecdsa_recoverable_signature*
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: secp256k1_ecdsa_recoverable_signature_save
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 4
    functionsReached:
    - secp256k1_scalar_get_b32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void secp256k1_ecdsa_recoverable_signature_save(secp256k1_ecdsa_recoverable_signature*
      sig, const secp256k1_scalar* r, const secp256k1_scalar* s, int recid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:43,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:44,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:45,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:46,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:48,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:50,1
    - Dst: secp256k1_ecdsa_recoverable_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:53,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - sig
    - input64
    - recid
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_recoverable_signature*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: secp256k1_ecdsa_recoverable_signature_parse_compact
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 8
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ecdsa_recoverable_signature_save
    - secp256k1_scalar_set_b32
    - memset
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_recoverable_signature_parse_compact(const secp256k1_context*
      ctx, secp256k1_ecdsa_recoverable_signature* sig, const unsigned char *input64,
      int recid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:63,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:64,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:65,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:66,1
    - Dst: secp256k1_ecdsa_recoverable_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:68,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:69,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - output64
    - recid
    - sig
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - int*
    - secp256k1_ecdsa_recoverable_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: secp256k1_ecdsa_recoverable_signature_serialize_compact
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 7
    functionsReached:
    - secp256k1_scalar_get_b32
    - secp256k1_ecdsa_recoverable_signature_load
    - VERIFY_CHECK
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_recoverable_signature_serialize_compact(const secp256k1_context*
      ctx, unsigned char *output64, int *recid, const secp256k1_ecdsa_recoverable_signature*
      sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:78,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:79,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:80,1
    - Dst: secp256k1_ecdsa_recoverable_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:82,1
    - Dst: secp256k1_ecdsa_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - sig
    - sigin
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - secp256k1_ecdsa_recoverable_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: secp256k1_ecdsa_recoverable_signature_convert
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 8
    functionsReached:
    - secp256k1_ecdsa_recoverable_signature_load
    - VERIFY_CHECK
    - ARG_CHECK
    - secp256k1_ecdsa_signature_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_recoverable_signature_convert(const secp256k1_context*
      ctx, secp256k1_ecdsa_signature* sig, const secp256k1_ecdsa_recoverable_signature*
      sigin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:96,1
    - Dst: secp256k1_scalar_is_zero
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:96,1
    - Dst: secp256k1_scalar_get_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:100,1
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:101,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:103,1
    - Dst: secp256k1_fe_cmp_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:105,1
    - Dst: secp256k1_fe_add
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:108,1
    - Dst: secp256k1_ge_set_xo_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:110,1
    - Dst: secp256k1_gej_set_ge
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:113,1
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:114,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:115,1
    - Dst: secp256k1_scalar_negate
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:116,1
    - Dst: secp256k1_scalar_mul
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:117,1
    - Dst: secp256k1_ecmult
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:118,1
    - Dst: secp256k1_ge_set_gej_var
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:119,1
    - Dst: secp256k1_gej_is_infinity
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - sigr
    - sigs
    - pubkey
    - message
    - recid
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_ge*
    - secp256k1_scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: secp256k1_ecdsa_sig_recover
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 1
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_gej_is_infinity
    - secp256k1_fe_set_b32_limit
    - secp256k1_scalar_get_b32
    - secp256k1_fe_add
    - secp256k1_ge_set_gej_var
    - secp256k1_fe_cmp_var
    - secp256k1_gej_set_ge
    - secp256k1_scalar_mul
    - secp256k1_ecmult
    - secp256k1_scalar_inverse_var
    - secp256k1_ge_set_xo_var
    - secp256k1_scalar_negate
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sig_recover(const secp256k1_scalar *sigr, const
      secp256k1_scalar* sigs, secp256k1_ge *pubkey, const secp256k1_scalar *message,
      int recid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:126,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:127,1
    - Dst: secp256k1_ecmult_gen_context_is_built
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:127,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:128,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:129,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:130,1
    - Dst: secp256k1_ecdsa_sign_inner
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:132,1
    - Dst: secp256k1_ecdsa_recoverable_signature_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - signature
    - msghash32
    - seckey
    - noncefp
    - noncedata
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_recoverable_signature*
    - unsigned char*
    - unsigned char*
    - secp256k1_nonce_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: secp256k1_ecdsa_sign_recoverable
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 9
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_ecdsa_recoverable_signature_save
    - secp256k1_ecdsa_sign_inner
    - secp256k1_ecmult_gen_context_is_built
    - ARG_CHECK
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_sign_recoverable(const secp256k1_context* ctx,
      secp256k1_ecdsa_recoverable_signature *signature, const unsigned char *msghash32,
      const unsigned char *seckey, secp256k1_nonce_function noncefp, const void* noncedata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:142,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:143,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:144,1
    - Dst: ARG_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:145,1
    - Dst: secp256k1_ecdsa_recoverable_signature_load
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:147,1
    - Dst: VERIFY_CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:148,1
    - Dst: secp256k1_scalar_set_b32
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:149,1
    - Dst: secp256k1_ecdsa_sig_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:150,1
    - Dst: secp256k1_pubkey_save
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:151,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - pubkey
    - signature
    - msghash32
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    - secp256k1_ecdsa_recoverable_signature*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: secp256k1_ecdsa_recover
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/main_impl.h
    functionUses: 9
    functionsReached:
    - VERIFY_CHECK
    - secp256k1_scalar_set_b32
    - memset
    - secp256k1_ecdsa_recoverable_signature_load
    - secp256k1_ecdsa_sig_recover
    - ARG_CHECK
    - secp256k1_pubkey_save
    linkageType: ''
    returnType: int
    signature: int secp256k1_ecdsa_recover(const secp256k1_context* ctx, secp256k1_pubkey
      *pubkey, const secp256k1_ecdsa_recoverable_signature *signature, const unsigned
      char *msghash32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:28,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:28,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:29,1
    - Dst: secp256k1_ecdsa_recover
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:29,1
    - Dst: CHECK
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:30,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - iters
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: bench_recover
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdsa_recover
    - CHECK
    linkageType: ''
    returnType: void
    signature: void bench_recover(void* arg, int iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: bench_recover_setup
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bench_recover_setup(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:55,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:57,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:57,1
    - Dst: have_flag
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:57,1
    - Dst: run_benchmark
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:57,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - iters
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: run_recovery_bench
    functionSourceFile: /src/bitcoin-core/src/secp256k1/src/modules/recovery/bench_impl.h
    functionUses: 2
    functionsReached:
    - have_flag
    - secp256k1_context_destroy
    - run_benchmark
    - secp256k1_context_create
    linkageType: ''
    returnType: void
    signature: void run_recovery_bench(int iters, int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _maj
    - ','
    - _min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: SECP256K1_GNUC_PREREQ
    functionSourceFile: /src/bitcoin-core/src/secp256k1/include/secp256k1.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GNUC_PREREQ(_maj,_min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _maj
    - ','
    - _min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: SECP256K1_GNUC_PREREQ
    functionSourceFile: /src/bitcoin-core/src/secp256k1/include/secp256k1.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_GNUC_PREREQ(_maj,_min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: SECP256K1_ARG_NONNULL
    functionSourceFile: /src/bitcoin-core/src/secp256k1/include/secp256k1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_ARG_NONNULL(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: SECP256K1_DEPRECATED
    functionSourceFile: /src/bitcoin-core/src/secp256k1/include/secp256k1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECP256K1_DEPRECATED(_msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:34,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:35,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:36,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:43,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:46,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:46,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:47,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:53,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:53,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:54,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:59,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:60,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:62,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:66,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:67,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:69,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:73,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:74,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:76,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:82,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:83,1
    - Dst: secp256k1_ecdh
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:88,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:91,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:92,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:94,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:95,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:96,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:97,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:98,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:99,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:100,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:101,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:102,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:103,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:106,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:115,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:116,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:117,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdh.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (return_val == 0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    - condition: (len == sizeof(compressed_pubkey1))
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    - condition: (return_val)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    - condition: (len == sizeof(compressed_pubkey2))
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/ecdh.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - secp256k1_context_create
    - print_hex
    - fill_random
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdh
    - memcmp
    - printf
    - assert
    - secure_erase
    - secp256k1_ec_seckey_verify
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:41,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:42,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:43,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:50,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:53,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:54,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:60,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:61,1
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:66,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:67,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:71,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:72,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:74,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:82,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:83,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:88,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:94,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:95,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:100,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:101,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:106,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:108,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:109,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:110,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:111,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:112,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:113,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:114,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:117,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:124,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:126,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (return_val)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c
    - condition: (return_val)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c
    - condition: (len == sizeof(compressed_pubkey))
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c
    - condition: (return_val)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c
    - condition: (is_signature_valid2 == is_signature_valid)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c
    - condition: (return_val)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c
    - condition: (return_val)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c
    constantsTouched: []
    func_position:
      end: 138
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/ecdsa.c
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_create
    - secp256k1_context_create
    - print_hex
    - fill_random
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - secp256k1_ec_pubkey_serialize
    - secp256k1_ecdsa_sign
    - secp256k1_ecdsa_signature_serialize_compact
    - secp256k1_ecdsa_signature_parse_compact
    - secp256k1_ec_pubkey_parse
    - printf
    - assert
    - secure_erase
    - secp256k1_ec_seckey_verify
    - secp256k1_ecdsa_verify
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:43,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:44,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:51,1
    - Dst: secp256k1_keypair_pub
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:54,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - signer_secrets
    - signer
    argTypes:
    - secp256k1_context*
    - struct signer_secrets*
    - struct signer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 60
    functionName: create_keypair
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/musig.c
    functionUses: 1
    functionsReached:
    - fill_random
    - secp256k1_keypair_create
    - printf
    - secure_erase
    - secp256k1_keypair_pub
    linkageType: ''
    returnType: int
    signature: int create_keypair(const secp256k1_context* ctx, struct signer_secrets
      *signer_secrets, struct signer *signer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_musig_pubkey_ec_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:76,1
    - Dst: secp256k1_musig_pubkey_xonly_tweak_add
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:87,1
    - Dst: secp256k1_xonly_pubkey_from_pubkey
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - agg_pk
    - cache
    argTypes:
    - secp256k1_context*
    - secp256k1_xonly_pubkey*
    - secp256k1_musig_keyagg_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: tweak
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/musig.c
    functionUses: 13
    functionsReached:
    - secp256k1_musig_pubkey_xonly_tweak_add
    - secp256k1_xonly_pubkey_from_pubkey
    - secp256k1_musig_pubkey_ec_tweak_add
    linkageType: ''
    returnType: int
    signature: int tweak(const secp256k1_context* ctx, secp256k1_xonly_pubkey *agg_pk,
      secp256k1_musig_keyagg_cache *cache)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:120,1
    - Dst: secp256k1_keypair_sec
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:123,1
    - Dst: secp256k1_musig_nonce_gen
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:128,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:133,1
    - Dst: secp256k1_musig_nonce_agg
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:139,1
    - Dst: secp256k1_musig_nonce_process
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:146,1
    - Dst: secp256k1_musig_partial_sign
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:153,1
    - Dst: secp256k1_musig_partial_sig_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:172,1
    - Dst: secp256k1_musig_partial_sig_agg
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ctx
    - signer_secrets
    - signer
    - cache
    - msg32
    - sig64
    argTypes:
    - secp256k1_context*
    - struct signer_secrets*
    - struct signer*
    - secp256k1_musig_keyagg_cache*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 177
    functionName: sign
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/musig.c
    functionUses: 94
    functionsReached:
    - secp256k1_musig_partial_sig_agg
    - secp256k1_musig_nonce_process
    - fill_random
    - secp256k1_musig_partial_sig_verify
    - secp256k1_musig_nonce_gen
    - secp256k1_keypair_sec
    - secp256k1_musig_partial_sign
    - secure_erase
    - secp256k1_musig_nonce_agg
    linkageType: ''
    returnType: int
    signature: int sign(const secp256k1_context* ctx, struct signer_secrets *signer_secrets,
      struct signer *signer, const secp256k1_musig_keyagg_cache *cache, const unsigned
      char *msg32, unsigned char *sig64)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:191,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:192,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:193,1
    - Dst: create_keypair
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:195,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:196,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:201,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:208,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:209,1
    - Dst: secp256k1_ec_pubkey_sort
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:210,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:211,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:214,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:216,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:217,1
    - Dst: secp256k1_musig_pubkey_agg
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:221,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:222,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:225,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:226,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:227,1
    - Dst: tweak
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:229,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:230,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:233,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:234,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:235,1
    - Dst: sign
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:236,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:237,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:240,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:241,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:242,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:243,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:244,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:247,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:257,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/examples/musig.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 261
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/musig.c
    functionUses: 0
    functionsReached:
    - create_keypair
    - secp256k1_context_create
    - secp256k1_context_destroy
    - tweak
    - secp256k1_ec_pubkey_sort
    - secp256k1_schnorrsig_verify
    - fflush
    - sign
    - secp256k1_musig_pubkey_agg
    - printf
    - secure_erase
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:39,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:40,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:41,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:48,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:51,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:51,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:52,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:58,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:58,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:59,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:66,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:66,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:67,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:71,1
    - Dst: secp256k1_ellswift_create
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:72,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:73,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:81,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:83,1
    - Dst: secp256k1_ellswift_xdh
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:89,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:92,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:93,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:95,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:96,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:97,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:98,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:99,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:100,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:101,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:102,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:103,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:104,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:107,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:116,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:117,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:118,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/ellswift.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (return_val)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/secp256k1/examples/ellswift.c
    - condition: (return_val)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/secp256k1/examples/ellswift.c
    - condition: (return_val)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bitcoin-core/src/secp256k1/examples/ellswift.c
    - condition: (return_val == 0)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/bitcoin-core/src/secp256k1/examples/ellswift.c
    - condition: (return_val)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/secp256k1/examples/ellswift.c
    - condition: (return_val)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bitcoin-core/src/secp256k1/examples/ellswift.c
    constantsTouched: []
    func_position:
      end: 122
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/ellswift.c
    functionUses: 0
    functionsReached:
    - secp256k1_context_create
    - print_hex
    - fill_random
    - secp256k1_ellswift_xdh
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - memcmp
    - secp256k1_ellswift_create
    - printf
    - assert
    - secure_erase
    - secp256k1_ec_seckey_verify
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_create
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:35,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:36,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:37,1
    - Dst: secp256k1_context_randomize
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:43,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:44,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:47,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:48,1
    - Dst: secp256k1_keypair_create
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:55,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:56,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:65,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:66,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:69,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:70,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:88,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:89,1
    - Dst: fill_random
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:92,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:93,1
    - Dst: secp256k1_schnorrsig_sign32
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:105,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:106,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:112,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:113,1
    - Dst: secp256k1_tagged_sha256
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:118,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:119,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:122,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:125,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:126,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:127,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:128,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:129,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:130,1
    - Dst: print_hex
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:131,1
    - Dst: secp256k1_context_destroy
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:134,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:141,1
    - Dst: assert
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:143,1
    - Dst: secure_erase
      Src: /src/bitcoin-core/src/secp256k1/examples/schnorr.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (return_val)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bitcoin-core/src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bitcoin-core/src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bitcoin-core/src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/bitcoin-core/src/secp256k1/examples/schnorr.c
    - condition: (return_val)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bitcoin-core/src/secp256k1/examples/schnorr.c
    - condition: (is_signature_valid2 == is_signature_valid)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/bitcoin-core/src/secp256k1/examples/schnorr.c
    constantsTouched: []
    func_position:
      end: 154
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/schnorr.c
    functionUses: 0
    functionsReached:
    - secp256k1_xonly_pubkey_parse
    - secp256k1_context_create
    - secp256k1_keypair_xonly_pub
    - fill_random
    - print_hex
    - secp256k1_context_destroy
    - secp256k1_context_randomize
    - secp256k1_keypair_create
    - secp256k1_schnorrsig_verify
    - secp256k1_tagged_sha256
    - printf
    - assert
    - secure_erase
    - secp256k1_schnorrsig_sign32
    - secp256k1_xonly_pubkey_serialize
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BCryptGenRandom
      Src: /src/bitcoin-core/src/secp256k1/examples/examples_util.h:45,1
    - Dst: getrandom
      Src: /src/bitcoin-core/src/secp256k1/examples/examples_util.h:53,1
    - Dst: getentropy
      Src: /src/bitcoin-core/src/secp256k1/examples/examples_util.h:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: fill_random
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/examples_util.h
    functionUses: 12
    functionsReached:
    - getentropy
    - BCryptGenRandom
    - getrandom
    linkageType: ''
    returnType: int
    signature: int fill_random(unsigned char* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/examples_util.h:74,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/examples_util.h:76,1
    - Dst: printf
      Src: /src/bitcoin-core/src/secp256k1/examples/examples_util.h:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: print_hex
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/examples_util.h
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_hex(unsigned char* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/bitcoin-core/src/secp256k1/examples/examples_util.h:89,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/examples/examples_util.h:102,1
    - Dst: volatile_memset
      Src: /src/bitcoin-core/src/secp256k1/examples/examples_util.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: secure_erase
    functionSourceFile: /src/bitcoin-core/src/secp256k1/examples/examples_util.h
    functionUses: 14
    functionsReached:
    - memset
    - SecureZeroMemory
    - volatile_memset
    linkageType: ''
    returnType: void
    signature: void secure_erase(void *ptr, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:15,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:47,1
    - Dst: secp256k1_ec_seckey_verify
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:48,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:49,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - out32
    - privkey
    - privkeylen
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 53
    functionName: ec_privkey_import_der
    functionSourceFile: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c
    functionUses: 2
    functionsReached:
    - memset
    - secp256k1_ec_seckey_verify
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ec_privkey_import_der(const secp256k1_context* ctx, unsigned char
      *out32, const unsigned char *privkey, size_t privkeylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ec_pubkey_create
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:58,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:78,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:79,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:80,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:82,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:103,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:104,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:105,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - privkey
    - privkeylen
    - key32
    - compressed
    argTypes:
    - secp256k1_context*
    - unsigned char*
    - size_t*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 112
    functionName: ec_privkey_export_der
    functionSourceFile: /src/bitcoin-core/src/secp256k1/contrib/lax_der_privatekey_parsing.c
    functionUses: 4
    functionsReached:
    - secp256k1_ec_pubkey_create
    - secp256k1_ec_pubkey_serialize
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ec_privkey_export_der(const secp256k1_context *ctx, unsigned char
      *privkey, size_t *privkeylen, const unsigned char *key32, int compressed)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_parsing.c:19,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_parsing.c:124,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_parsing.c:136,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_parsing.c:140,1
    - Dst: memset
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_parsing.c:143,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/bitcoin-core/src/secp256k1/contrib/lax_der_parsing.c:144,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 112
    argCount: 4
    argNames:
    - ctx
    - sig
    - input
    - inputlen
    argTypes:
    - secp256k1_context*
    - secp256k1_ecdsa_signature*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 147
    functionName: ecdsa_signature_parse_der_lax
    functionSourceFile: /src/bitcoin-core/src/secp256k1/contrib/lax_der_parsing.c
    functionUses: 5
    functionsReached:
    - memset
    - secp256k1_ecdsa_signature_parse_compact
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ecdsa_signature_parse_der_lax(const secp256k1_context* ctx, secp256k1_ecdsa_signature*
      sig, const unsigned char *input, size_t inputlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:67,1
    - Dst: Height
      Src: /src/bitcoin-core/src/rpc/mining.cpp:70,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:71,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/rpc/mining.cpp:74,1
    - Dst: Params
      Src: /src/bitcoin-core/src/rpc/mining.cpp:85,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/rpc/mining.cpp:92,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/rpc/mining.cpp:96,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/rpc/mining.cpp:97,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/rpc/mining.cpp:98,1
    - Dst: arith_uint256::getdouble
      Src: /src/bitcoin-core/src/rpc/mining.cpp:108,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - lookup
    - height
    - ' active_chain'
    argTypes:
    - int
    - int
    - CChain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: GetNetworkHashPS
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - Tip
    - Height
    - arith_uint256::getdouble
    - std::max
    - Params
    - CBlockIndex*::GetBlockTime
    - JSONRPCError
    - std::min
    linkageType: ''
    returnType: UniValue
    signature: UniValue GetNetworkHashPS(int lookup, int height, const CChain& active_chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:125,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mining.cpp:126,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/mining.cpp:130,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mining.cpp:131,1
    - Dst: GetNetworkHashPS
      Src: /src/bitcoin-core/src/rpc/mining.cpp:132,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/mining.cpp:132,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/mining.cpp:132,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/mining.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: getnetworkhashps
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - GetNetworkHashPS
    - HelpExampleRpc
    - LOCK
    - ActiveChain
    - Arg
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getnetworkhashps()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/rpc/mining.cpp:139,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/rpc/mining.cpp:140,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/rpc/mining.cpp:142,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/rpc/mining.cpp:142,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/mining.cpp:142,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/mining.cpp:142,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/rpc/mining.cpp:149,1
    - Dst: std::make_shared<const CBlock>
      Src: /src/bitcoin-core/src/rpc/mining.cpp:153,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:153,1
    - Dst: ProcessNewBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:157,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:158,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - ' chainman'
    - ' block'
    - ' max_tries'
    - ' block_out'
    - process_new_block
    argTypes:
    - ChainstateManager
    - CBlock
    - uint64_t
    - std::shared_ptr<const CBlock>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: GenerateBlock
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - std::make_shared<const CBlock>
    - GetHash
    - ProcessNewBlock
    - std::move
    - reset
    - BlockMerkleRoot
    - JSONRPCError
    - RandomMixin::max
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool GenerateBlock(ChainstateManager& chainman, CBlock&& block, uint64_t&
      max_tries, std::shared_ptr<const CBlock>& block_out, bool process_new_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createNewBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:168,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:169,1
    - Dst: GenerateBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:172,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:172,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:178,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/rpc/mining.cpp:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - ' chainman'
    - ' miner'
    - ' coinbase_output_script'
    - nGenerate
    - nMaxTries
    argTypes:
    - ChainstateManager
    - Mining
    - CScript
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: generateBlocks
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - createNewBlock
    - GenerateBlock
    - UniValue::push_back
    - std::unique_ptr::getBlock
    - std::shared_ptr::GetHash
    - CHECK_NONFATAL
    linkageType: ''
    returnType: UniValue
    signature: UniValue generateBlocks(ChainstateManager& chainman, Mining& miner,
      const CScript& coinbase_output_script, int nGenerate, uint64_t nMaxTries)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Parse
      Src: /src/bitcoin-core/src/rpc/mining.cpp:187,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/rpc/mining.cpp:188,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/rpc/mining.cpp:189,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:190,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/rpc/mining.cpp:192,1
    - Dst: IsRange
      Src: /src/bitcoin-core/src/rpc/mining.cpp:193,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:194,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/rpc/mining.cpp:199,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:200,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:204,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/mining.cpp:204,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/mining.cpp:204,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/mining.cpp:206,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/rpc/mining.cpp:207,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/mining.cpp:208,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/rpc/mining.cpp:210,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/rpc/mining.cpp:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ' descriptor'
    - ' script'
    - ' error'
    argTypes:
    - std::string
    - CScript
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 217
    functionName: getScriptFromDescriptor
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::vector::at
    - auto::at
    - IsRange
    - Parse
    - auto::empty
    - Expand
    - JSONRPCError
    - CHECK_NONFATAL
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool getScriptFromDescriptor(const std::string& descriptor, CScript&
      script, std::string& error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:236,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/mining.cpp:239,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/mining.cpp:240,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/rpc/mining.cpp:242,1
    - Dst: getScriptFromDescriptor
      Src: /src/bitcoin-core/src/rpc/mining.cpp:244,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/mining.cpp:244,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:245,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mining.cpp:248,1
    - Dst: EnsureMining
      Src: /src/bitcoin-core/src/rpc/mining.cpp:249,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/mining.cpp:250,1
    - Dst: generateBlocks
      Src: /src/bitcoin-core/src/rpc/mining.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 219
    functionDepth: 5
    functionLinenumber: 219
    functionLinenumberEnd: 255
    functionName: generatetodescriptor
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - EnsureChainman
    - EnsureAnyNodeContext
    - generateBlocks
    - EnsureMining
    - getScriptFromDescriptor
    - JSONRPCError
    - Arg
    - CScript::CScript
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan generatetodescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:260,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mining.cpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: generate
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 8
    functionsReached:
    - JSONRPCError
    - ToString
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan generate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:280,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:282,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/mining.cpp:286,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mining.cpp:287,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/mining.cpp:287,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/rpc/mining.cpp:289,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mining.cpp:289,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/rpc/mining.cpp:290,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:291,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mining.cpp:294,1
    - Dst: EnsureMining
      Src: /src/bitcoin-core/src/rpc/mining.cpp:295,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/mining.cpp:296,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/mining.cpp:298,1
    - Dst: generateBlocks
      Src: /src/bitcoin-core/src/rpc/mining.cpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 264
    functionDepth: 5
    functionLinenumber: 264
    functionLinenumberEnd: 303
    functionName: generatetoaddress
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - IsValidDestination
    - HelpExampleCli
    - DecodeDestination
    - GetScriptForDestination
    - EnsureChainman
    - EnsureAnyNodeContext
    - JSONRPCError
    - generateBlocks
    - isNull
    - EnsureMining
    - get_str
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan generatetoaddress()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:329,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mining.cpp:333,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/rpc/mining.cpp:334,1
    - Dst: getScriptFromDescriptor
      Src: /src/bitcoin-core/src/rpc/mining.cpp:337,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/rpc/mining.cpp:338,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/rpc/mining.cpp:339,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:340,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/mining.cpp:343,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mining.cpp:346,1
    - Dst: EnsureMining
      Src: /src/bitcoin-core/src/rpc/mining.cpp:347,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/mining.cpp:348,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/mining.cpp:351,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/rpc/mining.cpp:352,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mining.cpp:353,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/mining.cpp:355,1
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:356,1
    - Dst: get
      Src: /src/bitcoin-core/src/rpc/mining.cpp:357,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:359,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/mining.cpp:359,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:362,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/rpc/mining.cpp:364,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:365,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/rpc/mining.cpp:365,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:365,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:368,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/mining.cpp:368,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mining.cpp:372,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/mining.cpp:372,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:373,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/mining.cpp:375,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mining.cpp:377,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:377,1
    - Dst: createNewBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:379,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:380,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:382,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:385,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/rpc/mining.cpp:385,1
    - Dst: CBlock::vtx::insert
      Src: /src/bitcoin-core/src/rpc/mining.cpp:388,1
    - Dst: CBlock::vtx::end
      Src: /src/bitcoin-core/src/rpc/mining.cpp:388,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/mining.cpp:388,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/mining.cpp:388,1
    - Dst: RegenerateCommitments
      Src: /src/bitcoin-core/src/rpc/mining.cpp:389,1
    - Dst: TestBlockValidity
      Src: /src/bitcoin-core/src/rpc/mining.cpp:391,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/mining.cpp:391,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/rpc/mining.cpp:391,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:392,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/mining.cpp:392,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/rpc/mining.cpp:392,1
    - Dst: GenerateBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:399,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:399,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:400,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:404,1
    - Dst: std::shared_ptr::GetHash
      Src: /src/bitcoin-core/src/rpc/mining.cpp:404,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/rpc/mining.cpp:406,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/rpc/mining.cpp:407,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:408,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/mining.cpp:408,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 305
    functionDepth: 6
    functionLinenumber: 305
    functionLinenumberEnd: 413
    functionName: generateblock
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - IsValidDestination
    - std::vector::emplace_back
    - DecodeDestination
    - GetScriptForDestination
    - createNewBlock
    - CBlock::vtx::insert
    - GenerateBlock
    - std::move
    - std::vector::push_back
    - CBlock::CBlock
    - RegenerateCommitments
    - CBlock::vtx::end
    - get_array
    - std::shared_ptr::GetHash
    - CHECK_NONFATAL
    - BlockValidationState::IsValid
    - std::vector::end
    - HelpExampleCli
    - get
    - EnsureMining
    - DecodeHexTx
    - uint256::FromHex
    - CBlock::vtx::size
    - TestBlockValidity
    - BlockValidationState::ToString
    - EnsureMemPool
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - EnsureChainman
    - EnsureAnyNodeContext
    - std::unique_ptr::getBlock
    - HexStr
    - isNull
    - UniValue::pushKV
    - strprintf
    - get_str
    - get_bool
    - GetMutex
    - std::vector::begin
    - LOCK
    - ActiveChainstate
    - getScriptFromDescriptor
    - JSONRPCError
    - TX_WITH_WITNESS
    - DataStream::DataStream
    - CScript::CScript
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan generateblock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/rpc/mining.cpp:441,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:451,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mining.cpp:452,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mining.cpp:456,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/mining.cpp:457,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/mining.cpp:458,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mining.cpp:459,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/mining.cpp:460,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:461,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/rpc/mining.cpp:461,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:464,1
    - Dst: Height
      Src: /src/bitcoin-core/src/rpc/mining.cpp:464,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:465,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:466,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:467,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/mining.cpp:467,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:468,1
    - Dst: GetDifficulty
      Src: /src/bitcoin-core/src/rpc/mining.cpp:468,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:469,1
    - Dst: GetTarget
      Src: /src/bitcoin-core/src/rpc/mining.cpp:469,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/mining.cpp:469,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:470,1
    - Dst: getnetworkhashps
      Src: /src/bitcoin-core/src/rpc/mining.cpp:470,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:471,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/mining.cpp:471,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:472,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/mining.cpp:472,1
    - Dst: CBlockIndex::CBlockIndex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:475,1
    - Dst: NextEmptyBlockIndex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:476,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/mining.cpp:476,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:478,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:479,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/mining.cpp:479,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:480,1
    - Dst: GetDifficulty
      Src: /src/bitcoin-core/src/rpc/mining.cpp:480,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:481,1
    - Dst: GetTarget
      Src: /src/bitcoin-core/src/rpc/mining.cpp:481,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/mining.cpp:481,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:482,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/mining.cpp:484,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/mining.cpp:486,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:487,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/mining.cpp:487,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:489,1
    - Dst: node::GetWarningsForRpc
      Src: /src/bitcoin-core/src/rpc/mining.cpp:489,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:489,1
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/rpc/mining.cpp:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 415
    functionDepth: 4
    functionLinenumber: 415
    functionLinenumberEnd: 493
    functionName: getmininginfo
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - node::GetWarningsForRpc
    - CHECK_NONFATAL
    - HelpExampleCli
    - GetParams
    - GetDifficulty
    - CBlockIndex::CBlockIndex
    - Height
    - EnsureMemPool
    - HexStr
    - EnsureChainman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - IsDeprecatedRPCEnabled
    - ActiveChain
    - UniValue::pushKV
    - strprintf
    - getnetworkhashps
    - Tip
    - size
    - LOCK
    - NextEmptyBlockIndex
    - GetTarget
    - GetConsensus
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getmininginfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:513,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mining.cpp:514,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mining.cpp:518,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:520,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/rpc/mining.cpp:521,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/mining.cpp:522,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:525,1
    - Dst: EnsureAnyMemPool
      Src: /src/bitcoin-core/src/rpc/mining.cpp:528,1
    - Dst: get
      Src: /src/bitcoin-core/src/rpc/mining.cpp:531,1
    - Dst: GetDust
      Src: /src/bitcoin-core/src/rpc/mining.cpp:532,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:533,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/rpc/mining.cpp:536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 497
    functionDepth: 5
    functionLinenumber: 497
    functionLinenumberEnd: 540
    functionName: prioritisetransaction
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - GetDust
    - PrioritiseTransaction
    - HelpExampleRpc
    - LOCK
    - MaybeArg
    - EnsureAnyMemPool
    - get
    - JSONRPCError
    - getInt
    - ParseHashV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan prioritisetransaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:558,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mining.cpp:559,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mining.cpp:563,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/mining.cpp:564,1
    - Dst: GetPrioritisedTransactions
      Src: /src/bitcoin-core/src/rpc/mining.cpp:566,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:568,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:569,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:571,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:573,1
    - Dst: txid::GetHex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:573,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 578
    functionName: getprioritisedtransactions
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - txid::GetHex
    - HelpExampleCli
    - EnsureMemPool
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - std::move
    - UniValue::pushKV
    - GetPrioritisedTransactions
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getprioritisedtransactions()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsValid
      Src: /src/bitcoin-core/src/rpc/mining.cpp:584,1
    - Dst: IsError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:587,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:588,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mining.cpp:588,1
    - Dst: IsInvalid
      Src: /src/bitcoin-core/src/rpc/mining.cpp:589,1
    - Dst: GetRejectReason
      Src: /src/bitcoin-core/src/rpc/mining.cpp:591,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/rpc/mining.cpp:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 598
    functionName: BIP22ValidationResult
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - IsError
    - ToString
    - GetRejectReason
    - IsValid
    - std::string::empty
    - IsInvalid
    - JSONRPCError
    linkageType: ''
    returnType: UniValue
    signature: UniValue BIP22ValidationResult(const BlockValidationState& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::insert
      Src: /src/bitcoin-core/src/rpc/mining.cpp:605,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/rpc/mining.cpp:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - gbt_optional_rule
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: gbt_rule_value
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - std::string::insert
    - std::string::begin
    linkageType: ''
    returnType: std::string
    signature: std::string gbt_rule_value(const std::string& name, bool gbt_optional_rule)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:699,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mining.cpp:700,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mining.cpp:704,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/mining.cpp:705,1
    - Dst: EnsureMining
      Src: /src/bitcoin-core/src/rpc/mining.cpp:706,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mining.cpp:707,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:708,1
    - Dst: getTip
      Src: /src/bitcoin-core/src/rpc/mining.cpp:708,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mining.cpp:713,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/rpc/mining.cpp:715,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/mining.cpp:716,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/rpc/mining.cpp:717,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mining.cpp:718,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mining.cpp:719,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:724,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/mining.cpp:725,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/mining.cpp:729,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/rpc/mining.cpp:730,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:731,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:733,1
    - Dst: DecodeHexBlk
      Src: /src/bitcoin-core/src/rpc/mining.cpp:734,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mining.cpp:734,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:735,1
    - Dst: CBlock::GetHash
      Src: /src/bitcoin-core/src/rpc/mining.cpp:737,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:738,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/rpc/mining.cpp:740,1
    - Dst: BIP22ValidationResult
      Src: /src/bitcoin-core/src/rpc/mining.cpp:747,1
    - Dst: TestBlockValidity
      Src: /src/bitcoin-core/src/rpc/mining.cpp:747,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/mining.cpp:747,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/mining.cpp:750,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/rpc/mining.cpp:751,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/mining.cpp:752,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/mining.cpp:754,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mining.cpp:754,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:760,1
    - Dst: isTestChain
      Src: /src/bitcoin-core/src/rpc/mining.cpp:762,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/mining.cpp:763,1
    - Dst: GetNodeCount
      Src: /src/bitcoin-core/src/rpc/mining.cpp:764,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:765,1
    - Dst: isInitialBlockDownload
      Src: /src/bitcoin-core/src/rpc/mining.cpp:768,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:769,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/mining.cpp:774,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/rpc/mining.cpp:777,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/rpc/mining.cpp:792,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/rpc/mining.cpp:795,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/rpc/mining.cpp:798,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:802,1
    - Dst: substr
      Src: /src/bitcoin-core/src/rpc/mining.cpp:802,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/rpc/mining.cpp:803,1
    - Dst: substr
      Src: /src/bitcoin-core/src/rpc/mining.cpp:803,1
    - Dst: LEAVE_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/rpc/mining.cpp:813,1
    - Dst: std::chrono::minutes
      Src: /src/bitcoin-core/src/rpc/mining.cpp:815,1
    - Dst: IsRPCRunning
      Src: /src/bitcoin-core/src/rpc/mining.cpp:816,1
    - Dst: waitTipChanged
      Src: /src/bitcoin-core/src/rpc/mining.cpp:819,1
    - Dst: GetTransactionsUpdated
      Src: /src/bitcoin-core/src/rpc/mining.cpp:827,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/rpc/mining.cpp:830,1
    - Dst: ENTER_CRITICAL_SECTION
      Src: /src/bitcoin-core/src/rpc/mining.cpp:833,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:835,1
    - Dst: getTip
      Src: /src/bitcoin-core/src/rpc/mining.cpp:835,1
    - Dst: IsRPCRunning
      Src: /src/bitcoin-core/src/rpc/mining.cpp:837,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:838,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/mining.cpp:842,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/mining.cpp:845,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:846,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/mining.cpp:850,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:851,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/mining.cpp:858,1
    - Dst: GetTransactionsUpdated
      Src: /src/bitcoin-core/src/rpc/mining.cpp:859,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/rpc/mining.cpp:859,1
    - Dst: GetTransactionsUpdated
      Src: /src/bitcoin-core/src/rpc/mining.cpp:865,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:866,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/rpc/mining.cpp:867,1
    - Dst: createNewBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:870,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:871,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:877,1
    - Dst: std::unique_ptr::getBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:878,1
    - Dst: UpdateTime
      Src: /src/bitcoin-core/src/rpc/mining.cpp:881,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/rpc/mining.cpp:885,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:887,1
    - Dst: std::unique_ptr::getTxFees
      Src: /src/bitcoin-core/src/rpc/mining.cpp:891,1
    - Dst: std::unique_ptr::getTxSigops
      Src: /src/bitcoin-core/src/rpc/mining.cpp:892,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/mining.cpp:897,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/rpc/mining.cpp:900,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:905,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/rpc/mining.cpp:905,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:906,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:906,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:907,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/rpc/mining.cpp:907,1
    - Dst: std::map::count
      Src: /src/bitcoin-core/src/rpc/mining.cpp:912,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:913,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:915,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:915,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:918,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/rpc/mining.cpp:918,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/rpc/mining.cpp:919,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:921,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:924,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:925,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/rpc/mining.cpp:925,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:927,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:927,1
    - Dst: arith_uint256
      Src: /src/bitcoin-core/src/rpc/mining.cpp:932,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:935,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:936,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:937,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:940,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:940,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:943,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:944,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:948,1
    - Dst: m_versionbitscache::GBTStatus
      Src: /src/bitcoin-core/src/rpc/mining.cpp:952,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:955,1
    - Dst: gbt_rule_value
      Src: /src/bitcoin-core/src/rpc/mining.cpp:955,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/mining.cpp:956,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:964,1
    - Dst: gbt_rule_value
      Src: /src/bitcoin-core/src/rpc/mining.cpp:964,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/mining.cpp:965,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mining.cpp:972,1
    - Dst: gbt_rule_value
      Src: /src/bitcoin-core/src/rpc/mining.cpp:972,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/mining.cpp:973,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:975,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/mining.cpp:975,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:979,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:980,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:980,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:981,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:981,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:982,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:984,1
    - Dst: CBlock::hashPrevBlock::GetHex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:984,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:985,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:985,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:986,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:986,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:987,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:988,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:988,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mining.cpp:988,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:989,1
    - Dst: arith_uint256::GetHex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:989,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:990,1
    - Dst: GetMinimumTime
      Src: /src/bitcoin-core/src/rpc/mining.cpp:990,1
    - Dst: DifficultyAdjustmentInterval
      Src: /src/bitcoin-core/src/rpc/mining.cpp:990,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:991,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mining.cpp:991,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:992,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:996,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:998,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1001,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1002,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1004,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1006,1
    - Dst: CBlock::GetBlockTime
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1006,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1007,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1007,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1008,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1011,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1011,1
    - Dst: std::unique_ptr::getCoinbaseCommitment
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1014,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1015,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1015,1
    - Dst: std::unique_ptr::getCoinbaseCommitment
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1015,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 164
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 610
    functionDepth: 6
    functionLinenumber: 610
    functionLinenumberEnd: 1021
    functionName: getblocktemplate
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - DifficultyAdjustmentInterval
    - find_value
    - std::move
    - std::map::count
    - GetTime
    - HelpExampleCli
    - ToString
    - CBlock::GetHash
    - uint256::GetHex
    - CBlockIndex*::GetBlockHash
    - std::unique_ptr::getTxSigops
    - TestBlockValidity
    - GetWitnessHash
    - EnsureMemPool
    - std::chrono::minutes
    - IsRPCRunning
    - strprintf
    - std::set::count
    - CBlock::GetBlockTime
    - std::vector::at
    - size
    - LOCK
    - GetTransactionWeight
    - IsCoinBase
    - substr
    - GetNodeCount
    - createNewBlock
    - waitTipChanged
    - LEAVE_CRITICAL_SECTION
    - arith_uint256
    - EnsureMining
    - isTestChain
    - m_versionbitscache::GBTStatus
    - get_obj
    - std::unique_ptr::getTxFees
    - uint256::uint256
    - BIP22ValidationResult
    - EnsureConnman
    - CBlockIndex*::IsValid
    - std::unique_ptr::getCoinbaseCommitment
    - JSONRPCError
    - HexStr
    - DecodeHexBlk
    - GetHash
    - isInitialBlockDownload
    - CBlock::CBlock
    - std::set::insert
    - GetTransactionsUpdated
    - CHECK_NONFATAL
    - ParseHashV
    - LocaleIndependentAtoi
    - GetParams
    - UniValue::push_back
    - UniValue::get_str
    - UpdateTime
    - EnsureChainman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - std::unique_ptr::getBlock
    - isNull
    - isStr
    - UniValue::pushKV
    - get_str
    - isArray
    - ENTER_CRITICAL_SECTION
    - gbt_rule_value
    - GetMinimumTime
    - getTip
    - m_blockman::LookupBlockIndex
    - arith_uint256::GetHex
    - CBlock::hashPrevBlock::GetHex
    - leveldb::DelayMilliseconds
    - UniValue::isStr
    - DeploymentActiveAfter
    - ActiveChainstate
    - EncodeHexTx
    - UniValue::isNull
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getblocktemplate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hashIn
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1030
    functionName: submitblock_StateCatcher::submitblock_StateCatcher
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void submitblock_StateCatcher(const uint256 &hashIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' block'
    - ' stateIn'
    argTypes:
    - CBlock
    - BlockValidationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1038
    functionName: submitblock_StateCatcher::BlockChecked
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: void
    signature: void BlockChecked(const CBlock& block, const BlockValidationState&
      stateIn) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1057,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1058,1
    - Dst: std::make_shared<CBlock>
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1062,1
    - Dst: DecodeHexBlk
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1064,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1064,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1065,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1068,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1070,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1071,1
    - Dst: UpdateUncommittedBlockStructures
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1073,1
    - Dst: std::make_shared<submitblock_StateCatcher>
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1078,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1078,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1079,1
    - Dst: ProcessNewBlock
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1080,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1081,1
    - Dst: BIP22ValidationResult
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1091
    functionName: submitblock
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - DecodeHexBlk
    - std::make_shared<CBlock>
    - GetHash
    - ProcessNewBlock
    - BIP22ValidationResult
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - m_blockman::LookupBlockIndex
    - UpdateUncommittedBlockStructures
    - get_str
    - CHECK_NONFATAL
    - std::make_shared<submitblock_StateCatcher>
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan submitblock()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1105,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1106,1
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1110,1
    - Dst: DecodeHexBlockHeader
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1111,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1111,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1112,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1114,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1116,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1117,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1118,1
    - Dst: CBlockHeader::hashPrevBlock::GetHex
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1118,1
    - Dst: ProcessNewBlockHeaders
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1123,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1124,1
    - Dst: BlockValidationState::IsError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1125,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1126,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1126,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1128,1
    - Dst: BlockValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1131
    functionName: submitheader
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - BlockValidationState::IsValid
    - CBlockHeader::hashPrevBlock::GetHex
    - HelpExampleCli
    - EnsureAnyChainman
    - BlockValidationState::ToString
    - BlockValidationState::GetRejectReason
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - m_blockman::LookupBlockIndex
    - CBlockHeader::CBlockHeader
    - BlockValidationState::IsError
    - get_str
    - ProcessNewBlockHeaders
    - DecodeHexBlockHeader
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan submitheader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/mining.cpp:1150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1152
    functionName: RegisterMiningRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/mining.cpp
    functionUses: 0
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterMiningRPCCommands(CRPCTable& t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:54,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:54,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:57,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:67,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:69,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:71,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:73,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:77,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:77,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:79,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:80,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:80,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:81,1
    - Dst: scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:85,1
    - Dst: scriptPubKey::HasValidOps
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:85,1
    - Dst: JSONRPCTransactionError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:86,1
    - Dst: ParseFeeRate
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:92,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:92,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:94,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:95,1
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:98,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:99,1
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:100,1
    - Dst: JSONRPCTransactionError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:102,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 108
    functionName: sendrawtransaction
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - scriptPubKey::IsUnspendable
    - AmountFromValue
    - GetVirtualTransactionSize
    - HelpExampleCli
    - CFeeRate::GetFee
    - DecodeHexTx
    - FormatMoney
    - Arg
    - ParseFeeRate
    - CMutableTransaction::CMutableTransaction
    - AssertLockNotHeld
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - isNull
    - get_str
    - BroadcastTransaction
    - scriptPubKey::HasValidOps
    - JSONRPCTransactionError
    - CTransactionRef::GetHash
    - GetFeePerK
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan sendrawtransaction()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:117,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:126,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:126,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:158,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:160,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:162,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:164,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:168,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:169,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:169,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:170,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:171,1
    - Dst: ParseFeeRate
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:174,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:174,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:177,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:177,1
    - Dst: UniValue::getValues
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:178,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:179,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:180,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:180,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:181,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:182,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:184,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:184,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:184,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:187,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:188,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:189,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:190,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:192,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:193,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:193,1
    - Dst: PackageMempoolAcceptResult
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:194,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:194,1
    - Dst: ProcessTransaction
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:195,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:206,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:206,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:207,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:207,1
    - Dst: PackageMempoolAcceptResult::m_state::GetResult
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:208,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:209,1
    - Dst: PackageMempoolAcceptResult::m_state::ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:209,1
    - Dst: PackageMempoolAcceptResult::m_tx_results::find
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:211,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:211,1
    - Dst: PackageMempoolAcceptResult::m_tx_results::end
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:212,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:214,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:214,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:219,1
    - Dst: m_base_fees::value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:221,1
    - Dst: m_vsize::value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:223,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:224,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:226,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:227,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:232,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:233,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:235,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:235,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:236,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:236,1
    - Dst: m_effective_feerate::value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:236,1
    - Dst: m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:238,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:239,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:239,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:241,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:241,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:242,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:242,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:245,1
    - Dst: TxValidationState::GetResult
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:247,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:248,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:250,1
    - Dst: TxValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:250,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:251,1
    - Dst: TxValidationState::ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:251,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:254,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:254,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 259
    functionName: testmempoolaccept
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - GetHash
    - std::move
    - PackageMempoolAcceptResult::m_state::GetResult
    - m_base_fees::value
    - get_array
    - m_vsize::value
    - CHECK_NONFATAL
    - TxValidationState::ToString
    - HelpExampleCli
    - ToString
    - UniValue::push_back
    - std::vector::reserve
    - PackageMempoolAcceptResult::m_tx_results::end
    - CFeeRate::GetFee
    - DecodeHexTx
    - m_wtxids_fee_calculations::value
    - FormatMoney
    - Arg
    - std::vector::size
    - ParseFeeRate
    - PackageMempoolAcceptResult
    - GetWitnessHash
    - PackageMempoolAcceptResult::m_state::ToString
    - EnsureMemPool
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - EnsureChainman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - ValueFromAmount
    - TxValidationState::GetResult
    - PackageMempoolAcceptResult::m_tx_results::find
    - TxValidationState::GetRejectReason
    - UniValue::pushKV
    - get_str
    - UniValue::size
    - ProcessTransaction
    - GetFeePerK
    - LOCK
    - ActiveChainstate
    - m_effective_feerate::value
    - JSONRPCError
    - ProcessNewPackage
    - UniValue::getValues
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan testmempoolaccept()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 287
    functionName: MempoolEntryDescription
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RPCResult>
    signature: std::vector<RPCResult> MempoolEntryDescription()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:350,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:352,1
    - Dst: entryAll
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:354,1
    - Dst: entryToJSON
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:356,1
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:360,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:360,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:360,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:367,1
    - Dst: entryAll
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:368,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:369,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:369,1
    - Dst: GetSequence
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:371,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:377,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:377,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' pool'
    - verbose
    - include_mempool_sequence
    argTypes:
    - CTxMemPool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: MempoolToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 1
    functionsReached:
    - entryAll
    - GetSequence
    - entryToJSON
    - UniValue::push_back
    - std::move
    - LOCK
    - UniValue::pushKVEnd
    - GetTx
    - UniValue::pushKV
    - JSONRPCError
    linkageType: ''
    returnType: UniValue
    signature: UniValue MempoolToJSON(const CTxMemPool& pool, bool verbose, bool include_mempool_sequence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MempoolEntryDescription
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:403,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:416,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:417,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:422,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:423,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:426,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:427,1
    - Dst: MempoolToJSON
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:430,1
    - Dst: EnsureAnyMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 384
    functionDepth: 5
    functionLinenumber: 384
    functionLinenumberEnd: 433
    functionName: getrawmempool
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - MempoolToJSON
    - HelpExampleCli
    - HelpExampleRpc
    - MempoolEntryDescription
    - isNull
    - get_bool
    - EnsureAnyMemPool
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getrawmempool()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MempoolEntryDescription
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:451,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:455,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:456,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:461,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:462,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:464,1
    - Dst: EnsureAnyMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:466,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:467,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:469,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:469,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:471,1
    - Dst: AssumeCalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:474,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:474,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:479,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:479,1
    - Dst: CTxMemPoolEntry::GetTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:486,1
    - Dst: entryToJSON
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:488,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:489,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:489,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 495
    functionName: getmempoolancestors
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - AssumeCalculateMemPoolAncestors
    - EnsureAnyMemPool
    - ParseHashV
    - HelpExampleCli
    - CTxMemPoolEntry::GetTx
    - ToString
    - entryToJSON
    - UniValue::push_back
    - HelpExampleRpc
    - isNull
    - transaction_identifier::FromUint256
    - kernel::NoLimits
    - GetTx
    - UniValue::pushKV
    - get_bool
    - LOCK
    - MempoolEntryDescription
    - GetEntry
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getmempoolancestors()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MempoolEntryDescription
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:513,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:517,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:518,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:523,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:524,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:526,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:526,1
    - Dst: EnsureAnyMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:528,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:529,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:531,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:533,1
    - Dst: CalculateDescendants
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:537,1
    - Dst: CTxMemPool::setEntries::erase
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:539,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:544,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:544,1
    - Dst: CTxMemPoolEntry::GetTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:552,1
    - Dst: entryToJSON
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:554,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:555,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:555,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 497
    functionDepth: 4
    functionLinenumber: 497
    functionLinenumberEnd: 561
    functionName: getmempooldescendants
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - EnsureAnyMemPool
    - ParseHashV
    - HelpExampleCli
    - CTxMemPoolEntry::GetTx
    - ToString
    - entryToJSON
    - UniValue::push_back
    - CalculateDescendants
    - HelpExampleRpc
    - isNull
    - transaction_identifier::FromUint256
    - GetTx
    - UniValue::pushKV
    - get_bool
    - CTxMemPool::setEntries::erase
    - GetIter
    - LOCK
    - MempoolEntryDescription
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getmempooldescendants()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MempoolEntryDescription
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:572,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:574,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:575,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:579,1
    - Dst: EnsureAnyMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:581,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:582,1
    - Dst: GetEntry
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:584,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:584,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:586,1
    - Dst: entryToJSON
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 594
    functionName: getmempoolentry
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - entryToJSON
    - HelpExampleRpc
    - LOCK
    - MempoolEntryDescription
    - GetEntry
    - transaction_identifier::FromUint256
    - JSONRPCError
    - EnsureAnyMemPool
    - ParseHashV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getmempoolentry()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:624,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:625,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:629,1
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:630,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:631,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:635,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:635,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:637,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:638,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:640,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:642,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:643,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:646,1
    - Dst: ParseHashO
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:646,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:647,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:649,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:652,1
    - Dst: EnsureAnyMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:655,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:656,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:662,1
    - Dst: hash::ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:662,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:663,1
    - Dst: GetConflictTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:665,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:667,1
    - Dst: CTransaction*::GetHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:667,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:670,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:670,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 596
    functionDepth: 4
    functionLinenumber: 596
    functionLinenumberEnd: 676
    functionName: gettxspendingprevout
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - find_value
    - std::move
    - get_array
    - EnsureAnyMemPool
    - HelpExampleCli
    - CTransaction*::GetHash
    - ParseHashO
    - UniValue::push_back
    - std::vector::reserve
    - empty
    - hash::ToString
    - HelpExampleRpc
    - transaction_identifier::FromUint256
    - UniValue::pushKV
    - get_obj
    - GetConflictTx
    - RPCTypeCheckObj
    - size
    - LOCK
    - JSONRPCError
    - UniValueType
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan gettxspendingprevout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:681,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:683,1
    - Dst: GetLoadTried
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:683,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:684,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:684,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:685,1
    - Dst: GetTotalTxSize
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:685,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:686,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:686,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:687,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:687,1
    - Dst: GetTotalFee
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:687,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:688,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:689,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:689,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:689,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:689,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:690,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:690,1
    - Dst: m_opts::min_relay_feerate::GetFeePerK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:690,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:691,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:691,1
    - Dst: m_opts::incremental_relay_feerate::GetFeePerK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:691,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:692,1
    - Dst: GetUnbroadcastTxs
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:692,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:693,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:694,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:695,1
    - Dst: m_opts::max_datacarrier_bytes::value_or
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' pool'
    argTypes:
    - CTxMemPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 678
    functionDepth: 4
    functionLinenumber: 678
    functionLinenumberEnd: 697
    functionName: MempoolInfoToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 1
    functionsReached:
    - m_opts::incremental_relay_feerate::GetFeePerK
    - GetTotalFee
    - GetLoadTried
    - GetTotalTxSize
    - GetUnbroadcastTxs
    - ValueFromAmount
    - m_opts::max_datacarrier_bytes::value_or
    - size
    - std::max
    - LOCK
    - GetMinFee
    - UniValue::pushKV
    - m_opts::min_relay_feerate::GetFeePerK
    - DynamicMemoryUsage
    linkageType: ''
    returnType: UniValue
    signature: UniValue MempoolInfoToJSON(const CTxMemPool& pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:722,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:723,1
    - Dst: MempoolInfoToJSON
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:727,1
    - Dst: EnsureAnyMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 699
    functionDepth: 5
    functionLinenumber: 699
    functionLinenumberEnd: 730
    functionName: getmempoolinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - MempoolInfoToJSON
    - HelpExampleCli
    - EnsureAnyMemPool
    - HelpExampleRpc
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getmempoolinfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:761,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:761,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:763,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:765,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:766,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:767,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:769,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:770,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:773,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:773,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:778,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:778,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:779,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:779,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:780,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:780,1
    - Dst: node::LoadMempool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:783,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 791
    functionName: importmempool
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - IsInitialBlockDownload
    - EnsureMemPool
    - fs::u8path
    - EnsureChainman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - get_bool
    - std::move
    - isNull
    - ActiveChainstate
    - get_str
    - node::LoadMempool
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan importmempool()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:805,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:806,1
    - Dst: EnsureAnyArgsman
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:810,1
    - Dst: EnsureAnyMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:811,1
    - Dst: GetLoadTried
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:813,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:814,1
    - Dst: MempoolPath
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:817,1
    - Dst: DumpMempool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:819,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:820,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:824,1
    - Dst: utf8string
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 793
    functionDepth: 4
    functionLinenumber: 793
    functionLinenumberEnd: 829
    functionName: savemempool
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - utf8string
    - GetLoadTried
    - HelpExampleCli
    - MempoolPath
    - DumpMempool
    - HelpExampleRpc
    - EnsureAnyArgsman
    - UniValue::pushKV
    - JSONRPCError
    - EnsureAnyMemPool
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan savemempool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 844
    functionName: OrphanDescription
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RPCResult>
    signature: std::vector<RPCResult> OrphanDescription()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:849,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:849,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:850,1
    - Dst: tx::GetWitnessHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:850,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:851,1
    - Dst: tx::GetTotalSize
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:851,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:852,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:852,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:853,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:853,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:856,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' orphan'
    argTypes:
    - node::TxOrphanage::OrphanInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 846
    functionDepth: 4
    functionLinenumber: 846
    functionLinenumberEnd: 860
    functionName: OrphanToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - tx::GetHash
    - GetVirtualTransactionSize
    - UniValue::push_back
    - tx::GetWitnessHash
    - GetTransactionWeight
    - UniValue::pushKV
    - tx::GetTotalSize
    linkageType: ''
    returnType: UniValue
    signature: UniValue OrphanToJSON(const node::TxOrphanage::OrphanInfo& orphan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OrphanDescription
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:881,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:887,1
    - Dst: OrphanDescription
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:888,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:895,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:896,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:900,1
    - Dst: EnsurePeerman
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:901,1
    - Dst: GetOrphanTransactions
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:902,1
    - Dst: ParseVerbosity
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:904,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:910,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:910,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:914,1
    - Dst: OrphanToJSON
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:914,1
    - Dst: OrphanToJSON
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:918,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:919,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:919,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:920,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:923,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:923,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 862
    functionDepth: 5
    functionLinenumber: 862
    functionLinenumberEnd: 929
    functionName: getorphantxs
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - GetOrphanTransactions
    - HelpExampleCli
    - ToString
    - OrphanDescription
    - tx::GetHash
    - UniValue::push_back
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - JSONRPCError
    - EncodeHexTx
    - ParseVerbosity
    - OrphanToJSON
    - UniValue::pushKV
    - EnsurePeerman
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getorphantxs()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:947,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:947,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:950,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:983,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:984,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:988,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:989,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:989,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:990,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:991,1
    - Dst: ParseFeeRate
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:995,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:995,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:998,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1003,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1003,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1006,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1006,1
    - Dst: UniValue::getValues
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1007,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1008,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1009,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1009,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1010,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1011,1
    - Dst: scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1015,1
    - Dst: scriptPubKey::HasValidOps
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1015,1
    - Dst: JSONRPCTransactionError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1016,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1020,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1020,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1020,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1022,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1022,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1023,1
    - Dst: IsChildWithParentsTree
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1023,1
    - Dst: JSONRPCTransactionError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1024,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1027,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1028,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1029,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1030,1
    - Dst: ProcessNewPackage
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1030,1
    - Dst: auto::m_state::GetResult
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1035,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1039,1
    - Dst: auto::m_tx_results::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1039,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1039,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1041,1
    - Dst: exists
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1041,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1041,1
    - Dst: JSONRPCTransactionError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1048,1
    - Dst: auto::m_state::GetRejectReason
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1049,1
    - Dst: auto::m_state::ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1055,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1056,1
    - Dst: auto::m_tx_results::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1056,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1056,1
    - Dst: auto::m_tx_results::empty
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1057,1
    - Dst: exists
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1065,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1065,1
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1071,1
    - Dst: JSONRPCTransactionError
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1073,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1074,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1081,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1086,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1086,1
    - Dst: auto::m_tx_results::find
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1087,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1087,1
    - Dst: auto::m_tx_results::end
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1088,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1090,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1096,1
    - Dst: auto::second::m_other_wtxid::value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1096,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1099,1
    - Dst: auto::second::m_state::ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1099,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1103,1
    - Dst: auto::second::m_vsize::value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1103,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1105,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1105,1
    - Dst: auto::second::m_base_fees::value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1105,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1110,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1110,1
    - Dst: m_effective_feerate::value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1110,1
    - Dst: m_wtxids_fee_calculations::value
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1112,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1113,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1113,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1115,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1115,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1117,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1117,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1119,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1119,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1123,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1123,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1123,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1125,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1125,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1127,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1127,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1128,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1128,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 931
    functionDepth: 4
    functionLinenumber: 931
    functionLinenumberEnd: 1132
    functionName: submitpackage
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - scriptPubKey::IsUnspendable
    - CFeeRate
    - GetHash
    - std::move
    - AmountFromValue
    - std::set::insert
    - get_array
    - CHECK_NONFATAL
    - UniValue::empty
    - auto::m_tx_results::end
    - HelpExampleCli
    - ToString
    - auto::second::m_state::ToString
    - UniValue::push_back
    - std::vector::reserve
    - DecodeHexTx
    - m_wtxids_fee_calculations::value
    - FormatMoney
    - std::vector::empty
    - auto::m_tx_results::size
    - Arg
    - std::vector::size
    - ParseFeeRate
    - exists
    - auto::second::m_vsize::value
    - auto::m_state::GetResult
    - auto::m_tx_results::find
    - EnsureMemPool
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - EnsureChainman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - WITH_LOCK
    - GetWitnessHash
    - isNull
    - ValueFromAmount
    - UniValue::pushKV
    - strprintf
    - get_str
    - UniValue::size
    - IsChildWithParentsTree
    - BroadcastTransaction
    - auto::second::m_base_fees::value
    - auto::m_state::GetRejectReason
    - scriptPubKey::HasValidOps
    - auto::second::m_other_wtxid::value
    - JSONRPCTransactionError
    - GetFeePerK
    - auto::m_state::ToString
    - auto::m_tx_results::empty
    - m_effective_feerate::value
    - JSONRPCError
    - ProcessNewPackage
    - UniValue::getValues
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan submitpackage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/mempool.cpp:1151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1153
    functionName: RegisterMempoolRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/mempool.cpp
    functionUses: 0
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterMempoolRPCCommands(CRPCTable& t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:31,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:33,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:35,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:37,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:41,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:42,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:43,1
    - Dst: MessageVerify
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:45,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:47,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:49,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 62
    functionName: verifymessage
    functionSourceFile: /src/bitcoin-core/src/rpc/signmessage.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - MessageVerify
    - HelpExampleRpc
    - JSONRPCError
    - Arg
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan verifymessage()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:78,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:80,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:82,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:86,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:87,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:89,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:90,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:91,1
    - Dst: MessageSign
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:96,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: signmessagewithprivkey
    functionSourceFile: /src/bitcoin-core/src/rpc/signmessage.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - MessageSign
    - HelpExampleRpc
    - JSONRPCError
    - DecodeSecret
    - get_str
    - CKey::IsValid
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan signmessagewithprivkey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/signmessage.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: RegisterSignMessageRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/signmessage.cpp
    functionUses: 0
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterSignMessageRPCCommands(CRPCTable& t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/rpc/fees.cpp:41,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/rpc/fees.cpp:41,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/fees.cpp:58,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/fees.cpp:59,1
    - Dst: EnsureAnyFeeEstimator
      Src: /src/bitcoin-core/src/rpc/fees.cpp:63,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/fees.cpp:64,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/fees.cpp:65,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/fees.cpp:67,1
    - Dst: HighestTargetTracked
      Src: /src/bitcoin-core/src/rpc/fees.cpp:68,1
    - Dst: ParseConfirmTarget
      Src: /src/bitcoin-core/src/rpc/fees.cpp:69,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/fees.cpp:71,1
    - Dst: FeeModeFromString
      Src: /src/bitcoin-core/src/rpc/fees.cpp:73,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/fees.cpp:73,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/fees.cpp:74,1
    - Dst: InvalidEstimateModeErrorMessage
      Src: /src/bitcoin-core/src/rpc/fees.cpp:74,1
    - Dst: estimateSmartFee
      Src: /src/bitcoin-core/src/rpc/fees.cpp:82,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/rpc/fees.cpp:83,1
    - Dst: GetMinFee
      Src: /src/bitcoin-core/src/rpc/fees.cpp:84,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/rpc/fees.cpp:86,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:87,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/fees.cpp:87,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/rpc/fees.cpp:87,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/fees.cpp:89,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:90,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/fees.cpp:90,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 96
    functionName: estimatesmartfee
    functionSourceFile: /src/bitcoin-core/src/rpc/fees.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - std::move
    - std::string
    - CHECK_NONFATAL
    - HighestTargetTracked
    - HelpExampleCli
    - EnsureAnyFeeEstimator
    - UniValue::push_back
    - ParseConfirmTarget
    - estimateSmartFee
    - EnsureMemPool
    - FeeModesDetail
    - ValueFromAmount
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - isNull
    - CFeeRate::GetFeePerK
    - UniValue::pushKV
    - get_str
    - FeeModeFromString
    - std::max
    - GetMinFee
    - InvalidEstimateModeErrorMessage
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan estimatesmartfee()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/fees.cpp:151,1
    - Dst: EnsureAnyFeeEstimator
      Src: /src/bitcoin-core/src/rpc/fees.cpp:155,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/fees.cpp:156,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/fees.cpp:158,1
    - Dst: HighestTargetTracked
      Src: /src/bitcoin-core/src/rpc/fees.cpp:159,1
    - Dst: ParseConfirmTarget
      Src: /src/bitcoin-core/src/rpc/fees.cpp:160,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/fees.cpp:162,1
    - Dst: get_real
      Src: /src/bitcoin-core/src/rpc/fees.cpp:163,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/fees.cpp:166,1
    - Dst: CFeeRate::CFeeRate
      Src: /src/bitcoin-core/src/rpc/fees.cpp:172,1
    - Dst: HighestTargetTracked
      Src: /src/bitcoin-core/src/rpc/fees.cpp:176,1
    - Dst: estimateRawFee
      Src: /src/bitcoin-core/src/rpc/fees.cpp:178,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:182,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:182,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:183,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:183,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:184,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:184,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:185,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:185,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:186,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:186,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:187,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:187,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:189,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:189,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:190,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:190,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:191,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:191,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:192,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:192,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:193,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:193,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:194,1
    - Dst: round
      Src: /src/bitcoin-core/src/rpc/fees.cpp:194,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/rpc/fees.cpp:197,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:198,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/fees.cpp:198,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/rpc/fees.cpp:198,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:199,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:200,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:201,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/fees.cpp:201,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:203,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/fees.cpp:203,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:206,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:207,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:208,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/fees.cpp:208,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/fees.cpp:209,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:210,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/fees.cpp:210,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/fees.cpp:212,1
    - Dst: StringForFeeEstimateHorizon
      Src: /src/bitcoin-core/src/rpc/fees.cpp:212,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/fees.cpp:212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 217
    functionName: estimaterawfee
    functionSourceFile: /src/bitcoin-core/src/rpc/fees.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - std::move
    - round
    - CHECK_NONFATAL
    - HighestTargetTracked
    - HelpExampleCli
    - EnsureAnyFeeEstimator
    - UniValue::push_back
    - StringForFeeEstimateHorizon
    - ParseConfirmTarget
    - get_real
    - ValueFromAmount
    - estimateRawFee
    - EnsureAnyNodeContext
    - isNull
    - CFeeRate::GetFeePerK
    - UniValue::pushKV
    - CFeeRate::CFeeRate
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan estimaterawfee()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/fees.cpp:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: RegisterFeeRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/fees.cpp
    functionUses: 0
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterFeeRPCCommands(CRPCTable& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:40,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:41,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:45,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:46,1
    - Dst: GetChainTypeString
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:47,1
    - Dst: ExternalSigner::Enumerate
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:51,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:54,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:55,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:56,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:56,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:59,1
    - Dst: what
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:59,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:62,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 66
    functionName: enumeratesigners
    functionSourceFile: /src/bitcoin-core/src/rpc/external_signer.cpp
    functionUses: 0
    functionsReached:
    - GetChainTypeString
    - HelpExampleCli
    - GetArg
    - UniValue::push_back
    - std::move
    - HelpExampleRpc
    - ExternalSigner::Enumerate
    - UniValue::pushKV
    - JSONRPCError
    - what
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan enumeratesigners()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/external_signer.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: RegisterSignerRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/external_signer.cpp
    functionUses: 0
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterSignerRPCCommands(CRPCTable& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' blockindex'
    argTypes:
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: GetDifficulty
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double GetDifficulty(const CBlockIndex& blockindex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetAncestor
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' tip'
    - ' blockindex'
    - ' next'
    argTypes:
    - CBlockIndex
    - CBlockIndex
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: ComputeNextBlockAndDepth
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - GetAncestor
    linkageType: ''
    returnType: int
    signature: int ComputeNextBlockAndDepth(const CBlockIndex& tip, const CBlockIndex&
      blockindex, const CBlockIndex*& next)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:125,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:126,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:128,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:129,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:131,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:131,1
    - Dst: Height
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:133,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:135,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:135,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:140,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:141,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ' param'
    - ' chainman'
    argTypes:
    - UniValue
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: ParseHashOrHeight
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - Height
    - isNum
    - LOCK
    - ActiveChain
    - m_blockman::LookupBlockIndex
    - strprintf
    - JSONRPCError
    - getInt
    - ParseHashV
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * ParseHashOrHeight(const UniValue& param, ChainstateManager&
      chainman)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:154,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:157,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:157,1
    - Dst: ComputeNextBlockAndDepth
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:159,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:160,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:161,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:162,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:163,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:163,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:164,1
    - Dst: hashMerkleRoot::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:164,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:165,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:166,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:166,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:167,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:168,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:168,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:169,1
    - Dst: GetTarget
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:169,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:170,1
    - Dst: GetDifficulty
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:170,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:171,1
    - Dst: nChainWork::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:171,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:172,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:175,1
    - Dst: pprev::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:175,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:177,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ' tip'
    - ' blockindex'
    - pow_limit
    argTypes:
    - CBlockIndex
    - CBlockIndex
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: blockheaderToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 1
    functionsReached:
    - GetMedianTimePast
    - hashMerkleRoot::GetHex
    - GetDifficulty
    - pprev::GetBlockHash
    - AssertLockNotHeld
    - nChainWork::GetHex
    - CBlockIndex*::GetBlockHash
    - UniValue::pushKV
    - strprintf
    - GetTarget
    - GetBlockHash
    - ComputeNextBlockAndDepth
    linkageType: ''
    returnType: UniValue
    signature: UniValue blockheaderToJSON(const CBlockIndex& tip, const CBlockIndex&
      blockindex, const uint256 pow_limit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockheaderToJSON
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:183,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:185,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:185,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:185,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:186,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:186,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:186,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:187,1
    - Dst: GetBlockWeight
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:187,1
    - Dst: UniValue::reserve
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:189,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:189,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:194,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:194,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:201,1
    - Dst: IsBlockPruned
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:201,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:202,1
    - Dst: ReadBlockUndo
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:203,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:204,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:206,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:207,1
    - Dst: CBlockUndo::vtxundo::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:209,1
    - Dst: TxToUniv
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:211,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:211,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:212,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:212,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:217,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 6
    argNames:
    - ' blockman'
    - ' block'
    - ' tip'
    - ' blockindex'
    - verbosity
    - pow_limit
    argTypes:
    - BlockManager
    - CBlock
    - CBlockIndex
    - CBlockIndex
    - TxVerbosity
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 181
    functionDepth: 5
    functionLinenumber: 181
    functionLinenumberEnd: 220
    functionName: blockToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 1
    functionsReached:
    - blockheaderToJSON
    - CBlockUndo::vtxundo::at
    - GetHash
    - std::move
    - vtx::size
    - vtx::at
    - GetBlockWeight
    - TX_NO_WITNESS
    - UniValue::push_back
    - TxToUniv
    - IsBlockPruned
    - uint256
    - GetSerializeSize
    - WITH_LOCK
    - UniValue::reserve
    - UniValue::pushKV
    - ReadBlockUndo
    - JSONRPCError
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: UniValue
    signature: UniValue blockToJSON(BlockManager& blockman, const CBlock& block, const
      CBlockIndex& tip, const CBlockIndex& blockindex, TxVerbosity verbosity, const
      uint256 pow_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:232,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:233,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:237,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:238,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: getblockcount
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - LOCK
    - ActiveChain
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getblockcount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:253,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:254,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:258,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:259,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 263
    functionName: getbestblockhash
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - LOCK
    - ActiveChain
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getbestblockhash()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:283,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:284,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:289,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:290,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:291,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:293,1
    - Dst: EnsureMining
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:294,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:302,1
    - Dst: getTip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:302,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:304,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:306,1
    - Dst: waitTipChanged
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:310,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:310,1
    - Dst: waitTipChanged
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:311,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:317,1
    - Dst: BlockRef::hash::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:317,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 322
    functionName: waitfornewblock
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - count_milliseconds
    - getTip
    - BlockRef::hash::GetHex
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - waitTipChanged
    - isNull
    - EnsureMining
    - UniValue::pushKV
    - JSONRPCError
    - CHECK_NONFATAL
    - getInt
    - ParseHashV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan waitfornewblock()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:342,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:343,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:349,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:351,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:352,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:353,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:355,1
    - Dst: EnsureMining
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:356,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:359,1
    - Dst: getTip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:359,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:361,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:365,1
    - Dst: waitTipChanged
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:368,1
    - Dst: waitTipChanged
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:370,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:378,1
    - Dst: BlockRef::hash::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:378,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 383
    functionName: waitforblock
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - getTip
    - BlockRef::hash::GetHex
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - wallet::WalletRescanReserver::now
    - waitTipChanged
    - isNull
    - EnsureMining
    - UniValue::pushKV
    - JSONRPCError
    - CHECK_NONFATAL
    - getInt
    - ParseHashV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan waitforblock()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:404,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:405,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:411,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:413,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:414,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:415,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:417,1
    - Dst: EnsureMining
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:418,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:421,1
    - Dst: getTip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:421,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:423,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:428,1
    - Dst: waitTipChanged
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:431,1
    - Dst: waitTipChanged
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:433,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:441,1
    - Dst: BlockRef::hash::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:441,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 446
    functionName: waitforblockheight
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - getTip
    - BlockRef::hash::GetHex
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - wallet::WalletRescanReserver::now
    - waitTipChanged
    - isNull
    - EnsureMining
    - UniValue::pushKV
    - JSONRPCError
    - CHECK_NONFATAL
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan waitforblockheight()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:456,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:457,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:461,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 466
    functionName: syncwithvalidationinterfacequeue
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - CHECK_NONFATAL
    - EnsureAnyNodeContext
    - HelpExampleRpc
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan syncwithvalidationinterfacequeue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:477,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:478,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:482,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:483,1
    - Dst: GetDifficulty
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:484,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:484,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: getdifficulty
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - GetDifficulty
    - HelpExampleRpc
    - LOCK
    - ActiveChain
    - CHECK_NONFATAL
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getdifficulty()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:507,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:508,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:512,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:513,1
    - Dst: EnsurePeerman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:514,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:516,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:517,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:519,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:519,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:522,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:527,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:527,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:527,1
    - Dst: ActiveTip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:527,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:528,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:531,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:533,1
    - Dst: FetchBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:536,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:537,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 542
    functionName: getblockfrompeer
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - GetMutex
    - HelpExampleCli
    - EnsureChainman
    - WITH_LOCK
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - m_blockman::LookupBlockIndex
    - FetchBlock
    - ActiveTip
    - JSONRPCError
    - EnsurePeerman
    - getInt
    - ParseHashV
    - m_blockman::IsPruneMode
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getblockfrompeer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:555,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:556,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:560,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:561,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:562,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:564,1
    - Dst: Height
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:565,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:566,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 572
    functionName: getblockhash
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - Height
    - HelpExampleRpc
    - LOCK
    - ActiveChain
    - CBlockIndex*::GetBlockHash
    - JSONRPCError
    - getInt
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getblockhash()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:609,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:610,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:614,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:617,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:618,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:622,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:624,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:625,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:626,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:630,1
    - Dst: CBlockIndex*::GetBlockHeader
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:636,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:637,1
    - Dst: blockheaderToJSON
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:641,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 574
    functionDepth: 5
    functionLinenumber: 574
    functionLinenumberEnd: 644
    functionName: getblockheader
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - blockheaderToJSON
    - HelpExampleCli
    - CBlockIndex*::GetBlockHeader
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - isNull
    - m_blockman::LookupBlockIndex
    - ActiveChain
    - get_bool
    - HexStr
    - GetConsensus
    - ParseHashV
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getblockheader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:648,1
    - Dst: IsBlockPruned
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:651,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:652,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:652,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:655,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ' blockman'
    - ' blockindex'
    - check_for_undo
    argTypes:
    - BlockManager
    - CBlockIndex
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 659
    functionName: CheckBlockDataAvailability
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 2
    functionsReached:
    - JSONRPCError
    - IsBlockPruned
    - AssertLockHeld
    - strprintf
    linkageType: ''
    returnType: void
    signature: void CheckBlockDataAvailability(BlockManager& blockman, const CBlockIndex&
      blockindex, bool check_for_undo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:663,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:665,1
    - Dst: CheckBlockDataAvailability
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:666,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:669,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' blockman'
    - ' blockindex'
    argTypes:
    - BlockManager
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 676
    functionName: GetBlockChecked
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - ReadBlock
    - CBlock::CBlock
    - LOCK
    - JSONRPCError
    - CheckBlockDataAvailability
    linkageType: ''
    returnType: CBlock
    signature: CBlock GetBlockChecked(BlockManager& blockman, const CBlockIndex& blockindex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:683,1
    - Dst: CheckBlockDataAvailability
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:684,1
    - Dst: GetBlockPos
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:685,1
    - Dst: ReadRawBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:688,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' blockman'
    - ' blockindex'
    argTypes:
    - BlockManager
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 695
    functionName: GetRawBlockChecked
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - ReadRawBlock
    - GetBlockPos
    - LOCK
    - JSONRPCError
    - CheckBlockDataAvailability
    linkageType: ''
    returnType: std::vector<std::byte>
    signature: std::vector<std::byte> GetRawBlockChecked(BlockManager& blockman, const
      CBlockIndex& blockindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:705,1
    - Dst: CheckBlockDataAvailability
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:706,1
    - Dst: ReadBlockUndo
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:709,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' blockman'
    - ' blockindex'
    argTypes:
    - BlockManager
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 714
    functionName: GetUndoChecked
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCError
    - LOCK
    - CheckBlockDataAvailability
    - ReadBlockUndo
    linkageType: ''
    returnType: CBlockUndo
    signature: CBlockUndo GetUndoChecked(BlockManager& blockman, const CBlockIndex&
      blockindex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:808,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:809,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:813,1
    - Dst: ParseVerbosity
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:815,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:819,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:821,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:822,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:823,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:826,1
    - Dst: GetRawBlockChecked
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:830,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:833,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:838,1
    - Dst: blockToJSON
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:849,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 740
    functionDepth: 6
    functionLinenumber: 740
    functionLinenumberEnd: 852
    functionName: getblock
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - blockToJSON
    - GetRawBlockChecked
    - HelpExampleRpc
    - LOCK
    - m_blockman::LookupBlockIndex
    - ActiveChain
    - TX_WITH_WITNESS
    - ParseVerbosity
    - JSONRPCError
    - HexStr
    - GetConsensus
    - ParseHashV
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getblock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:856,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:862,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:870,1
    - Dst: GetFirstBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:870,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' blockman'
    - ' chain'
    argTypes:
    - BlockManager
    - CChain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 878
    functionName: GetPruneHeight
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 2
    functionsReached:
    - Tip
    - CHECK_NONFATAL
    - AssertLockHeld
    - GetFirstBlock
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> GetPruneHeight(const BlockManager& blockman, const
      CChain& chain)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:892,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:893,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:897,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:898,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:899,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:902,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:903,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:906,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:908,1
    - Dst: FindEarliestAtLeast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:915,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:917,1
    - Dst: Height
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:923,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:924,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:925,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:927,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:929,1
    - Dst: PruneBlockFilesManual
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:933,1
    - Dst: GetPruneHeight
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:934,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 937
    functionName: pruneblockchain
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - GetPruneHeight
    - HelpExampleCli
    - m_blockman::IsPruneMode
    - Height
    - GetParams
    - LogDebug
    - PruneBlockFilesManual
    - HelpExampleRpc
    - LOCK
    - ActiveChainstate
    - JSONRPCError
    - FindEarliestAtLeast
    - getInt
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan pruneblockchain()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:948,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' hash_type_input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 950
    functionName: ParseHashType
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCError
    - strprintf
    linkageType: ''
    returnType: CoinStatsHashType
    signature: CoinStatsHashType ParseHashType(const std::string& hash_type_input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LookUpStats
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:966,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:968,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:968,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:968,1
    - Dst: CCoinsView*::GetBestBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:968,1
    - Dst: LookUpStats
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:969,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:977,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:977,1
    - Dst: CCoinsView*::GetBestBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:977,1
    - Dst: kernel::ComputeUTXOStats
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:979,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - view
    - ' blockman'
    - hash_type
    argTypes:
    - CCoinsView*
    - node::BlockManager
    - kernel::CoinStatsHashType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 957
    functionDepth: 4
    functionLinenumber: 957
    functionLinenumberEnd: 980
    functionName: GetUTXOStats
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - WITH_LOCK
    - LookupBlockIndex
    - LookUpStats
    - CCoinsView*::GetBestBlock
    - kernel::ComputeUTXOStats
    - CHECK_NONFATAL
    - GetBlockHash
    linkageType: ''
    returnType: std::optional<kernel::CCoinsStats>
    signature: "std::optional<kernel::CCoinsStats> GetUTXOStats(CCoinsView* view,
      node::BlockManager& blockman,\n                                                       kernel::CoinStatsHashType
      hash_type,\n                                                       const std::function<void()>&
      interruption_point = {},\n                                                       const
      CBlockIndex* pindex = nullptr,\n                                                       bool
      index_requested = true)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1026,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1027,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1028,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1029,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1030,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1031,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1032,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1033,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1034,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1041,1
    - Dst: ParseHashType
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1041,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1041,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1042,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1042,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1044,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1045,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1046,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1047,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1052,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1053,1
    - Dst: BlockManager*::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1055,1
    - Dst: CCoinsView*::GetBestBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1055,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1058,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1060,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1064,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1068,1
    - Dst: ParseHashOrHeight
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1070,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1074,1
    - Dst: GetSummary
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1075,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1080,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1080,1
    - Dst: GetUTXOStats
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1085,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1086,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1087,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1088,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1089,1
    - Dst: hashBlock::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1089,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1090,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1091,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1093,1
    - Dst: hashSerialized::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1093,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1096,1
    - Dst: hashSerialized::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1096,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1098,1
    - Dst: total_amount::has_value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1098,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1099,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1099,1
    - Dst: total_amount::value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1099,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1101,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1101,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1102,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1104,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1104,1
    - Dst: GetUTXOStats
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1108,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1110,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1112,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1116,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1116,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1117,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1117,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1118,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1118,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1119,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1119,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1122,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1122,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1123,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1123,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1124,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1124,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1125,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1125,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1126,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1126,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1128,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1128,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1131,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 982
    functionDepth: 5
    functionLinenumber: 982
    functionLinenumberEnd: 1136
    functionName: gettxoutsetinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - hashSerialized::GetHex
    - std::move
    - CoinsDB
    - CCoinsView*::GetBestBlock
    - CHECK_NONFATAL
    - BlockUntilSyncedToCurrentChain
    - BlockManager*::LookupBlockIndex
    - HelpExampleCli
    - ForceFlushStateToDisk
    - ParseHashOrHeight
    - total_amount::value
    - static_cast<int64_t>
    - std::optional::has_value
    - EnsureChainman
    - ValueFromAmount
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - isNull
    - hashBlock::GetHex
    - UniValue::pushKV
    - strprintf
    - get_bool
    - get_str
    - ParseHashType
    - total_amount::has_value
    - LOCK
    - GetSummary
    - ActiveChainstate
    - std::optional::value
    - JSONRPCError
    - GetUTXOStats
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan gettxoutsetinfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1166,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1168,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1170,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1174,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1175,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1176,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1180,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1180,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1181,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1183,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1184,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1186,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1187,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1191,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1192,1
    - Dst: isSpent
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1194,1
    - Dst: CCoinsViewMemPool::GetCoin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1194,1
    - Dst: CCoinsViewCache*::GetCoin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1196,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1200,1
    - Dst: CCoinsViewCache*::GetBestBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1200,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1201,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1201,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1203,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1205,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1207,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1207,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1209,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1210,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1210,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1138
    functionDepth: 4
    functionLinenumber: 1138
    functionLinenumberEnd: 1216
    functionName: gettxout
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - CCoinsViewCache*::GetCoin
    - std::move
    - ScriptToUniv
    - ParseHashV
    - HelpExampleCli
    - CBlockIndex*::GetBlockHash
    - isSpent
    - CCoinsViewMemPool::GetCoin
    - EnsureMemPool
    - EnsureChainman
    - ValueFromAmount
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - m_blockman::LookupBlockIndex
    - transaction_identifier::FromUint256
    - isNull
    - UniValue::pushKV
    - get_bool
    - LOCK
    - ActiveChainstate
    - CCoinsViewCache*::GetBestBlock
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan gettxout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1224,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1225,1
    - Dst: MakeUnorderedList
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1225,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1226,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1231,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1232,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1236,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1236,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1237,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1237,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1239,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1240,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1242,1
    - Dst: CVerifyDB
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1243,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1243,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1244,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1247
    functionName: verifychain
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - HelpExampleCli
    - GetParams
    - GetNotifications
    - HelpExampleRpc
    - LOCK
    - isNull
    - ActiveChainstate
    - CVerifyDB
    - strprintf
    - MakeUnorderedList
    - getInt
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan verifychain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeploymentEnabled
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1253,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1256,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1259,1
    - Dst: DeploymentActiveAfter
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1259,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1260,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1260,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1261,1
    - Dst: DeploymentName
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1261,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - blockindex
    - ' softforks'
    - ' chainman'
    - dep
    argTypes:
    - CBlockIndex*
    - UniValue
    - ChainstateManager
    - Consensus::BuriedDeployment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1249
    functionDepth: 4
    functionLinenumber: 1249
    functionLinenumberEnd: 1262
    functionName: SoftForkDescPushBack
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - pushKV
    - DeploymentEnabled
    - std::move
    - DeploymentActiveAfter
    - DeploymentName
    - UniValue::pushKV
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void SoftForkDescPushBack(const CBlockIndex* blockindex, UniValue&
      softforks, const ChainstateManager& chainman, Consensus::BuriedDeployment dep)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DeploymentEnabled
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1267,1
    - Dst: m_versionbitscache::Info
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1271,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1271,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1272,1
    - Dst: BIP9Info::stats::has_value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1275,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1276,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1278,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1279,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1280,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1283,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1284,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1285,1
    - Dst: BIP9Info::stats::has_value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1288,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1290,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1291,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1292,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1294,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1295,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1297,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1297,1
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1300,1
    - Dst: BIP9Info::signalling_blocks::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1300,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1302,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1304,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1308,1
    - Dst: BIP9Info::active_since::has_value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1310,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1311,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1314,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1315,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1316,1
    - Dst: DeploymentName
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1316,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - blockindex
    - ' softforks'
    - ' chainman'
    - id
    argTypes:
    - CBlockIndex*
    - UniValue
    - ChainstateManager
    - Consensus::DeploymentPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1264
    functionDepth: 4
    functionLinenumber: 1264
    functionLinenumberEnd: 1317
    functionName: SoftForkDescPushBack
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - BIP9Info::stats::has_value
    - BIP9Info::active_since::has_value
    - pushKV
    - DeploymentEnabled
    - std::move
    - DeploymentName
    - std::string::reserve
    - BIP9Info::signalling_blocks::size
    - std::string::push_back
    - UniValue::pushKV
    - m_versionbitscache::Info
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void SoftForkDescPushBack(const CBlockIndex* blockindex, UniValue&
      softforks, const ChainstateManager& chainman, Consensus::DeploymentPos id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1346,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1356,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1357,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1361,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1362,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1363,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1365,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1365,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1368,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1368,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1369,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1370,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1371,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1371,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1372,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1372,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1373,1
    - Dst: GetTarget
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1373,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1373,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1374,1
    - Dst: GetDifficulty
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1374,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1375,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1375,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1376,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1376,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1377,1
    - Dst: GuessVerificationProgress
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1377,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1378,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1378,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1379,1
    - Dst: nChainWork::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1379,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1380,1
    - Dst: m_blockman::CalculateCurrentUsage
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1380,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1381,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1381,1
    - Dst: m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1382,1
    - Dst: GetPruneHeight
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1383,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1384,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1384,1
    - Dst: m_blockman::GetPruneTarget
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1386,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1387,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1389,1
    - Dst: m_blockman::GetPruneTarget
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1389,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1392,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1394,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1395,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1395,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1398,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1399,1
    - Dst: node::GetWarningsForRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1399,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1399,1
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1320
    functionDepth: 4
    functionLinenumber: 1320
    functionLinenumberEnd: 1403
    functionName: getblockchaininfo
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 1
    functionsReached:
    - node::GetWarningsForRpc
    - CHECK_NONFATAL
    - auto::value
    - GetPruneHeight
    - HelpExampleCli
    - m_blockman::IsPruneMode
    - GetParams
    - GetDifficulty
    - m_chain::Tip
    - GetBlockTime
    - GetMedianTimePast
    - GuessVerificationProgress
    - HexStr
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - IsDeprecatedRPCEnabled
    - m_blockman::GetPruneTarget
    - UniValue::pushKV
    - strprintf
    - m_blockman::CalculateCurrentUsage
    - IsInitialBlockDownload
    - nChainWork::GetHex
    - LOCK
    - GetBlockHash
    - ActiveChainstate
    - GetTarget
    - GetConsensus
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getblockchaininfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1434,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1435,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1436,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1437,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1438,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1439,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - blockindex
    - ' chainman'
    argTypes:
    - CBlockIndex*
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1431
    functionDepth: 5
    functionLinenumber: 1431
    functionLinenumberEnd: 1442
    functionName: DeploymentInfo
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - SoftForkDescPushBack
    linkageType: ''
    returnType: UniValue
    signature: UniValue DeploymentInfo(const CBlockIndex* blockindex, const ChainstateManager&
      chainman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1434,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1435,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1436,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1437,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1438,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1439,1
    - Dst: SoftForkDescPushBack
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - blockindex
    - ' chainman'
    argTypes:
    - CBlockIndex*
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1431
    functionDepth: 5
    functionLinenumber: 1431
    functionLinenumberEnd: 1442
    functionName: DeploymentInfo
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - SoftForkDescPushBack
    linkageType: ''
    returnType: UniValue
    signature: UniValue DeploymentInfo(const CBlockIndex* blockindex, const ChainstateManager&
      chainman)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1461,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1461,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1464,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1465,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1466,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1469,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1470,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1470,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1472,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1473,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1475,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1480,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1480,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1481,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1482,1
    - Dst: DeploymentInfo
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1445
    functionDepth: 6
    functionLinenumber: 1445
    functionLinenumberEnd: 1486
    functionName: getdeploymentinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 1
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - LOCK
    - isNull
    - ActiveChainstate
    - m_blockman::LookupBlockIndex
    - CBlockIndex*::GetBlockHash
    - UniValue::pushKV
    - DeploymentInfo
    - JSONRPCError
    - m_chain::Tip
    - CHECK_NONFATAL
    - ParseHashV
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getdeploymentinfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1500
    functionName: operator()(const CBlockIndex* a, const CBlockIndex* b) const
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CBlockIndex* a, const CBlockIndex* b) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1525,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1526,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1530,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1531,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1532,1
    - Dst: BlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1545,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1546,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1547,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1548,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1552,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1552,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1553,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1554,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1559,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1559,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1565,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1566,1
    - Dst: phashBlock::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1566,1
    - Dst: FindFork
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1568,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1569,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1572,1
    - Dst: HaveNumChainTxs
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1578,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1581,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1584,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1591,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1593,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1593,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1503
    functionDepth: 4
    functionLinenumber: 1503
    functionLinenumberEnd: 1599
    functionName: getchaintips
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - Contains
    - std::move
    - BlockIndex
    - std::set::end
    - std::set::insert
    - phashBlock::GetHex
    - HelpExampleCli
    - std::set::begin
    - UniValue::push_back
    - FindFork
    - HaveNumChainTxs
    - IsValid
    - HelpExampleRpc
    - ActiveChain
    - UniValue::pushKV
    - std::set::erase
    - Tip
    - LOCK
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getchaintips()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1613,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1614,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1618,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1621,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1623,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1624,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1626,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1631,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1633,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1634,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1640
    functionName: preciousblock
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - BlockValidationState::IsValid
    - HelpExampleCli
    - BlockValidationState::ToString
    - HelpExampleRpc
    - LOCK
    - m_blockman::LookupBlockIndex
    - ActiveChainstate
    - JSONRPCError
    - ParseHashV
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan preciousblock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1646,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1646,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1647,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1649,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1652,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1654,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1655,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1658,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1659,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' chainman'
    - block_hash
    argTypes:
    - ChainstateManager
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1661
    functionName: InvalidateBlock
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - BlockValidationState::IsValid
    - GetMutex
    - BlockValidationState::ToString
    - LOCK
    - m_blockman::LookupBlockIndex
    - ActiveChainstate
    - JSONRPCError
    linkageType: ''
    returnType: void
    signature: void InvalidateBlock(ChainstateManager& chainman, const uint256 block_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1673,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1674,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1678,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1679,1
    - Dst: InvalidateBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1663
    functionDepth: 2
    functionLinenumber: 1663
    functionLinenumberEnd: 1686
    functionName: invalidateblock
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - InvalidateBlock
    - ParseHashV
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan invalidateblock()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1690,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1690,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1691,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1693,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1696,1
    - Dst: RecalculateBestHeader
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1697,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1701,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1703,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1704,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' chainman'
    - block_hash
    argTypes:
    - ChainstateManager
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1706
    functionName: ReconsiderBlock
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - BlockValidationState::IsValid
    - GetMutex
    - BlockValidationState::ToString
    - LOCK
    - m_blockman::LookupBlockIndex
    - ActiveChainstate
    - RecalculateBestHeader
    - JSONRPCError
    linkageType: ''
    returnType: void
    signature: void ReconsiderBlock(ChainstateManager& chainman, uint256 block_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1719,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1720,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1724,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1725,1
    - Dst: ReconsiderBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1708
    functionDepth: 2
    functionLinenumber: 1708
    functionLinenumberEnd: 1732
    functionName: reconsiderblock
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ReconsiderBlock
    - HelpExampleRpc
    - ParseHashV
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan reconsiderblock()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1762,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1763,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1767,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1769,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1771,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1772,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1773,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1775,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1776,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1777,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1779,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1781,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1782,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1786,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1788,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1789,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1789,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1791,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1794,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1798,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1798,1
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1799,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1799,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1802,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1804,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1806,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1806,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1807,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1808,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1810,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1813,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1815,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1734
    functionDepth: 4
    functionLinenumber: 1734
    functionLinenumberEnd: 1823
    functionName: getchaintxstats
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - CHECK_NONFATAL
    - ParseHashV
    - HelpExampleCli
    - GetParams
    - CBlockIndex*::GetBlockHash
    - GetMedianTimePast
    - HelpExampleRpc
    - m_blockman::LookupBlockIndex
    - isNull
    - ActiveChain
    - UniValue::pushKV
    - std::max
    - LOCK
    - CBlockIndex*::GetAncestor
    - CBlockIndex*::GetMedianTimePast
    - JSONRPCError
    - getInt
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getchaintxstats()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1828,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1833,1
    - Dst: begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1833,1
    - Dst: end
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' scores'
    argTypes:
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1839
    functionName: CalculateTruncatedMedian
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::sort
    - begin
    - size
    linkageType: ''
    returnType: T
    signature: T CalculateTruncatedMedian(std::vector<T>& scores)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1843,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1847,1
    - Dst: begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1847,1
    - Dst: end
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1847,1
    - Dst: back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - result
    - ' scores'
    - total_weight
    argTypes:
    - CAmount[]
    - std::vector<std::pair<CAmount, int64_t>>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1868
    functionName: CalculatePercentilesByWeight
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 1
    functionsReached:
    - end
    - empty
    - back
    - std::sort
    - begin
    linkageType: ''
    returnType: void
    signature: void CalculatePercentilesByWeight(CAmount result[NUM_GETBLOCKSTATS_PERCENTILES],
      std::vector<std::pair<CAmount, int64_t>>& scores, int64_t total_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' set'
    argTypes:
    - std::set<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1871
    functionName: SetHasKeys
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetHasKeys(const std::set<T>& set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1875,1
    - Dst: SetHasKeys
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' set'
    - ' key'
    argTypes:
    - std::set<T>
    - Tk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1876
    functionName: SetHasKeys
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 1
    functionsReached:
    - count
    - SetHasKeys
    linkageType: ''
    returnType: bool
    signature: bool SetHasKeys(const std::set<T>& set, const Tk& key, const Args&...
      args)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1943,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1944,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1945,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1946,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1950,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1951,1
    - Dst: ParseHashOrHeight
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1951,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1954,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1955,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1956,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1957,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1958,1
    - Dst: GetBlockChecked
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1962,1
    - Dst: GetUndoChecked
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1963,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1965,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1966,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1967,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1968,1
    - Dst: SetHasKeys
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1970,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1971,1
    - Dst: SetHasKeys
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1973,1
    - Dst: SetHasKeys
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1974,1
    - Dst: SetHasKeys
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1975,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:1999,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2000,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2001,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2008,1
    - Dst: IsBIP30Repeat
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2013,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2013,1
    - Dst: scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2015,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2022,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2026,1
    - Dst: GetTotalSize
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2032,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2034,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2036,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2037,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2043,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2047,1
    - Dst: vtxundo::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2055,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2060,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2066,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2066,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2068,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2070,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2071,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2077,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2079,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2080,1
    - Dst: CalculatePercentilesByWeight
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2085,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2089,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2093,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2093,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2093,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2094,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2095,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2095,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2095,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2096,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2096,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2097,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2097,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2098,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2099,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2100,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2101,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2102,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2103,1
    - Dst: CalculateTruncatedMedian
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2103,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2104,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2104,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2105,1
    - Dst: CalculateTruncatedMedian
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2105,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2106,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2107,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2108,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2109,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2110,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2110,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2110,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2111,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2112,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2113,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2114,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2114,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2115,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2116,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2117,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2118,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2119,1
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2119,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2120,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2121,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2122,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2123,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2132,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2133,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2133,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2135,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 1881
    functionDepth: 4
    functionLinenumber: 1881
    functionLinenumberEnd: 2140
    functionName: getblockstats
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - scriptPubKey::IsUnspendable
    - std::move
    - vtx::size
    - std::vector::push_back
    - HasWitness
    - std::set::insert
    - get_array
    - vtx::at
    - CHECK_NONFATAL
    - std::min
    - HelpExampleCli
    - EnsureAnyChainman
    - ParseHashOrHeight
    - GetParams
    - UniValue::push_back
    - CalculatePercentilesByWeight
    - GetBlockTime
    - GetMedianTimePast
    - CalculateTruncatedMedian
    - GetSerializeSize
    - GetBlockSubsidy
    - SetHasKeys
    - HelpExampleRpc
    - vout::size
    - isNull
    - vtxundo::at
    - UniValue::pushKV
    - get_str
    - std::set::count
    - UniValue::size
    - strprintf
    - vin::size
    - GetBlockChecked
    - IsBIP30Repeat
    - GetUndoChecked
    - std::max
    - GetTransactionWeight
    - IsCoinBase
    - GetTotalSize
    - JSONRPCError
    - GetBlockHash
    - MoneyRange
    - std::set::size
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getblockstats()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewCursor*::Valid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2148,1
    - Dst: COutPoint::COutPoint
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2149,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2150,1
    - Dst: CCoinsViewCursor*::GetKey
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2151,1
    - Dst: CCoinsViewCursor*::GetValue
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2151,1
    - Dst: interruption_point
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2153,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2161,1
    - Dst: COutPoint::hash::begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2161,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2161,1
    - Dst: COutPoint::hash::begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2161,1
    - Dst: count
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2164,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2165,1
    - Dst: CCoinsViewCursor*::Next
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 7
    argNames:
    - ' scan_progress'
    - ' should_abort'
    - ' count'
    - cursor
    - ' needles'
    - ' out_results'
    - ' interruption_point'
    argTypes:
    - std::atomic<int>
    - std::atomic<bool>
    - int64_t
    - CCoinsViewCursor*
    - std::set<CScript>
    - std::map<COutPoint, Coin>
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2144
    functionDepth: 2
    functionLinenumber: 2144
    functionLinenumberEnd: 2171
    functionName: FindScriptPubKey
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - CCoinsViewCursor*::Valid
    - UCharCast
    - Coin::Coin
    - emplace
    - CCoinsViewCursor*::Next
    - CCoinsViewCursor*::GetValue
    - COutPoint::COutPoint
    - interruption_point
    - CCoinsViewCursor*::GetKey
    - count
    - COutPoint::hash::begin
    linkageType: ''
    returnType: bool
    signature: bool FindScriptPubKey(std::atomic<int>& scan_progress, const std::atomic<bool>&
      should_abort, int64_t& count, CCoinsViewCursor* cursor, const std::set<CScript>&
      needles, std::map<COutPoint, Coin>& out_results, std::function<void()>& interruption_point)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CCoinsViewCursor*::Valid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2148,1
    - Dst: COutPoint::COutPoint
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2149,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2150,1
    - Dst: CCoinsViewCursor*::GetKey
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2151,1
    - Dst: CCoinsViewCursor*::GetValue
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2151,1
    - Dst: interruption_point
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2153,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2161,1
    - Dst: COutPoint::hash::begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2161,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2161,1
    - Dst: COutPoint::hash::begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2161,1
    - Dst: count
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2164,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2165,1
    - Dst: CCoinsViewCursor*::Next
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 7
    argNames:
    - ' scan_progress'
    - ' should_abort'
    - ' count'
    - cursor
    - ' needles'
    - ' out_results'
    - ' interruption_point'
    argTypes:
    - std::atomic<int>
    - std::atomic<bool>
    - int64_t
    - CCoinsViewCursor*
    - std::set<CScript>
    - std::map<COutPoint, Coin>
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2144
    functionDepth: 2
    functionLinenumber: 2144
    functionLinenumberEnd: 2171
    functionName: FindScriptPubKey
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - CCoinsViewCursor*::Valid
    - UCharCast
    - Coin::Coin
    - emplace
    - CCoinsViewCursor*::Next
    - CCoinsViewCursor*::GetValue
    - COutPoint::COutPoint
    - interruption_point
    - CCoinsViewCursor*::GetKey
    - count
    - COutPoint::hash::begin
    linkageType: ''
    returnType: bool
    signature: bool FindScriptPubKey(std::atomic<int>& scan_progress, const std::atomic<bool>&
      should_abort, int64_t& count, CCoinsViewCursor* cursor, const std::set<CScript>&
      needles, std::map<COutPoint, Coin>& out_results, std::function<void()>& interruption_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2183
    functionName: CoinsViewScanReserver::CoinsViewScanReserver
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinsViewScanReserver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2186,1
    - Dst: exchange
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2187,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2185
    functionDepth: 1
    functionLinenumber: 2185
    functionLinenumberEnd: 2193
    functionName: CoinsViewScanReserver::reserve
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - exchange
    - CHECK_NONFATAL
    linkageType: ''
    returnType: bool
    signature: bool reserve()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2200
    functionName: ~CoinsViewScanReserver()
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CoinsViewScanReserver()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2296,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2297,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2298,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2299,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2300,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2301,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2306,1
    - Dst: CoinsViewScanReserver::CoinsViewScanReserver
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2308,1
    - Dst: CoinsViewScanReserver::reserve
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2309,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2313,1
    - Dst: load
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2313,1
    - Dst: CoinsViewScanReserver::CoinsViewScanReserver
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2316,1
    - Dst: CoinsViewScanReserver::reserve
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2317,1
    - Dst: CoinsViewScanReserver::CoinsViewScanReserver
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2325,1
    - Dst: CoinsViewScanReserver::reserve
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2326,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2327,1
    - Dst: params::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2330,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2331,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2339,1
    - Dst: EvalDescriptorStringOrObject
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2341,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2343,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2344,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2345,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2345,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2345,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2357,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2359,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2360,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2361,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2362,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2363,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2363,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2364,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2364,1
    - Dst: FindScriptPubKey
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2366,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2366,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2367,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2368,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2369,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2370,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2370,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2376,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2376,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2377,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2381,1
    - Dst: hash::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2381,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2382,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2383,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2383,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2384,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2385,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2385,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2386,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2386,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2387,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2388,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2388,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2389,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2391,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2391,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2393,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2393,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2394,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2394,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2396,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2241
    functionDepth: 4
    functionLinenumber: 2241
    functionLinenumberEnd: 2401
    functionName: scantxoutset
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - params::size
    - load
    - std::move
    - std::vector::push_back
    - std::set::emplace
    - get_array
    - std::map::emplace
    - CoinsDB
    - CHECK_NONFATAL
    - FindScriptPubKey
    - HelpExampleCli
    - InferDescriptor
    - ForceFlushStateToDisk
    - UniValue::push_back
    - CBlockIndex*::GetBlockHash
    - m_chain::Tip
    - Arg
    - std::unique_ptr::get
    - EnsureChainman
    - ValueFromAmount
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - hash::GetHex
    - UniValue::pushKV
    - strprintf
    - CoinsViewScanReserver::reserve
    - CoinsViewScanReserver::CoinsViewScanReserver
    - LOCK
    - GetBlockHash
    - ActiveChainstate
    - CBlockIndex*::GetAncestor
    - IsCoinBase
    - JSONRPCError
    - HexStr
    - EvalDescriptorStringOrObject
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan scantxoutset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2413
    functionName: BlockFiltersScanReserver::BlockFiltersScanReserver
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockFiltersScanReserver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2416,1
    - Dst: exchange
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2415
    functionDepth: 1
    functionLinenumber: 2415
    functionLinenumberEnd: 2422
    functionName: BlockFiltersScanReserver::reserve
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - exchange
    - CHECK_NONFATAL
    linkageType: ''
    returnType: bool
    signature: bool reserve()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2428
    functionName: ~BlockFiltersScanReserver()
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BlockFiltersScanReserver()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockChecked
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2433,1
    - Dst: GetUndoChecked
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2434,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2438,1
    - Dst: vout::cbegin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2438,1
    - Dst: vout::cend
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2438,1
    - Dst: count
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2439,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2439,1
    - Dst: scriptPubKey::begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2439,1
    - Dst: scriptPubKey::end
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2439,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2446,1
    - Dst: vprevout::cbegin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2446,1
    - Dst: vprevout::cend
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2446,1
    - Dst: count
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2447,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2447,1
    - Dst: out::scriptPubKey::begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2447,1
    - Dst: out::scriptPubKey::end
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' blockman'
    - ' blockindex'
    - ' needles'
    argTypes:
    - BlockManager
    - CBlockIndex
    - GCSFilter::ElementSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2431
    functionDepth: 3
    functionLinenumber: 2431
    functionLinenumberEnd: 2454
    functionName: CheckBlockFilterMatches
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - GetBlockChecked
    - std::vector<unsigned char>
    - vprevout::cbegin
    - scriptPubKey::begin
    - out::scriptPubKey::begin
    - GetUndoChecked
    - std::any_of
    - out::scriptPubKey::end
    - scriptPubKey::end
    - vout::cend
    - vprevout::cend
    - vout::cbegin
    - count
    linkageType: ''
    returnType: bool
    signature: bool CheckBlockFilterMatches(BlockManager& blockman, const CBlockIndex&
      blockindex, const GCSFilter::ElementSet& needles)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2467,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2492,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2493,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2494,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2495,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2496,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2497,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2502,1
    - Dst: BlockFiltersScanReserver::BlockFiltersScanReserver
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2503,1
    - Dst: BlockFiltersScanReserver::reserve
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2504,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2508,1
    - Dst: load
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2508,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2509,1
    - Dst: load
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2509,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2511,1
    - Dst: BlockFiltersScanReserver::BlockFiltersScanReserver
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2512,1
    - Dst: BlockFiltersScanReserver::reserve
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2513,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2520,1
    - Dst: BlockFiltersScanReserver::BlockFiltersScanReserver
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2521,1
    - Dst: BlockFiltersScanReserver::reserve
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2522,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2523,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2525,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2525,1
    - Dst: BlockFilterTypeByName
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2528,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2529,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2532,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2533,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2533,1
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2535,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2537,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2540,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2541,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2547,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2548,1
    - Dst: Genesis
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2549,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2550,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2551,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2552,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2554,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2557,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2558,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2560,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2564,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2565,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2569,1
    - Dst: EvalDescriptorStringOrObject
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2571,1
    - Dst: GCSFilter::ElementSet::emplace
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2573,1
    - Dst: begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2573,1
    - Dst: end
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2573,1
    - Dst: rpc_interruption_point
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2589,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2598,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2598,1
    - Dst: BlockFilterIndex*::LookupFilterRange
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2601,1
    - Dst: GetFilter
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2604,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2607,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2607,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2607,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2607,1
    - Dst: CheckBlockFilterMatches
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2609,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2614,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2614,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2632,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2633,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2634,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2634,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2635,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2638,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2638,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2638,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2456
    functionDepth: 4
    functionLinenumber: 2456
    functionLinenumberEnd: 2643
    functionName: scanblocks
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - begin
    - load
    - std::move
    - get_array
    - GetBlockFilterIndex
    - CHECK_NONFATAL
    - HelpExampleCli
    - GetFilter
    - UniValue::push_back
    - BlockFilterIndex*::LookupFilterRange
    - Genesis
    - CheckBlockFilterMatches
    - BlockFilterTypeName
    - BlockFiltersScanReserver::reserve
    - EnsureChainman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - WITH_LOCK
    - GCSFilter::ElementSet::emplace
    - isNull
    - ActiveChain
    - m_blockman::LookupBlockIndex
    - UniValue::pushKV
    - strprintf
    - get_bool
    - get_str
    - EvalDescriptorStringOrObject
    - rpc_interruption_point
    - end
    - Tip
    - BlockFiltersScanReserver::BlockFiltersScanReserver
    - LOCK
    - GetBlockHash
    - BlockFilterTypeByName
    - UniValue::exists
    - JSONRPCError
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan scanblocks()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ScriptPubKeyDoc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2677,1
    - Dst: ScriptPubKeyDoc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2686,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2693,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2699,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2700,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2712,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2713,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2714,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2715,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2717,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2719,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2720,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2722,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2729,1
    - Dst: EvalDescriptorStringOrObject
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2731,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2734,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2748,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2750,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2751,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2751,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2753,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2753,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2754,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2756,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2756,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2757,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2758,1
    - Dst: prevout::hash::ToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2758,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2759,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2760,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2768,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2770,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2771,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2771,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2773,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2773,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2774,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2776,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2776,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2777,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2778,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2784,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2786,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2787,1
    - Dst: GetBlockChecked
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2791,1
    - Dst: GetUndoChecked
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2792,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2794,1
    - Dst: CBlock::vtx::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2795,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2797,1
    - Dst: CBlockUndo::vtxundo::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2799,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2801,1
    - Dst: vprevout::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2802,1
    - Dst: vin::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2803,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2804,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2805,1
    - Dst: AddSpend
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2805,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2811,1
    - Dst: vout::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2812,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2813,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2814,1
    - Dst: AddReceive
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2814,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2821,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2822,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2826,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2827,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2828,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2829,1
    - Dst: entryAll
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2831,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2832,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2834,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2835,1
    - Dst: vin::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2837,1
    - Dst: GetCoin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2838,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2844,1
    - Dst: get
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2844,1
    - Dst: CTransactionRef::vout::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2846,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2847,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2859,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2861,1
    - Dst: AddSpend
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2861,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2866,1
    - Dst: vout::at
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2867,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2868,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2869,1
    - Dst: AddReceive
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2869,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2875,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2645
    functionDepth: 4
    functionLinenumber: 2645
    functionLinenumberEnd: 2879
    functionName: getdescriptoractivity
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - CTransactionRef::vout::size
    - CoinsTip
    - vout::at
    - CBlockUndo::vtxundo::at
    - GetHash
    - AddReceive
    - std::set::insert
    - get_array
    - ScriptToUniv
    - CHECK_NONFATAL
    - ParseHashV
    - AddSpend
    - vin::at
    - entryAll
    - HelpExampleCli
    - std::runtime_error
    - UniValue::push_back
    - CBlock::vtx::size
    - get
    - ScriptPubKeyDoc
    - vprevout::at
    - EnsureMemPool
    - std::set::contains
    - EnsureChainman
    - ValueFromAmount
    - EnsureAnyNodeContext
    - vout::size
    - m_blockman::LookupBlockIndex
    - ActiveChain
    - isNull
    - prevout::hash::ToString
    - UniValue::pushKV
    - GetSharedTx
    - get_bool
    - EvalDescriptorStringOrObject
    - vin::size
    - GetBlockChecked
    - GetCoin
    - GetUndoChecked
    - LOCK
    - ActiveChainstate
    - IsCoinBase
    - CBlock::vtx::at
    - JSONRPCError
    - GetBlockHash
    - CScript::CScript
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getdescriptoractivity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2705
    functionName: operator()(const CBlockIndex* a, const CBlockIndex* b) const
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CBlockIndex* a, const CBlockIndex* b) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2888,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2897,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2898,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2902,1
    - Dst: BlockFilterTypeName
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2903,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2904,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2905,1
    - Dst: BlockFilterTypeByName
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2909,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2910,1
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2913,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2915,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2921,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2922,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2923,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2925,1
    - Dst: CBlockIndex*::IsValid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2927,1
    - Dst: BlockFilterIndex*::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2930,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2932,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2933,1
    - Dst: BlockFilterIndex*::LookupFilter
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2934,1
    - Dst: BlockFilterIndex*::LookupFilterHeader
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2935,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2950,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2954,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2954,1
    - Dst: BlockFilter::GetEncodedFilter
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2954,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2955,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2955,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2881
    functionDepth: 4
    functionLinenumber: 2881
    functionLinenumberEnd: 2959
    functionName: getblockfilter
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - BlockFilter::GetEncodedFilter
    - BlockFilterIndex*::BlockUntilSyncedToCurrentChain
    - BlockFilterIndex*::LookupFilter
    - GetBlockFilterIndex
    - ParseHashV
    - HelpExampleCli
    - uint256::GetHex
    - BlockFilterTypeName
    - HelpExampleRpc
    - m_blockman::LookupBlockIndex
    - isNull
    - UniValue::pushKV
    - get_str
    - BlockFilter::BlockFilter
    - uint256::uint256
    - CBlockIndex*::IsValid
    - BlockFilterIndex*::LookupFilterHeader
    - LOCK
    - BlockFilterTypeByName
    - JSONRPCError
    - HexStr
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getblockfilter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetNetworkActive
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2970,1
    - Dst: GetNetworkActive
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2971,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' connman'
    argTypes:
    - CConnman
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2969
    functionDepth: 1
    functionLinenumber: 2969
    functionLinenumberEnd: 2974
    functionName: NetworkDisable::NetworkDisable
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCError
    - SetNetworkActive
    - GetNetworkActive
    linkageType: ''
    returnType: void
    signature: void NetworkDisable(CConnman& connman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetNetworkActive
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 2977
    functionName: ~NetworkDisable()
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - SetNetworkActive
    linkageType: ''
    returnType: void
    signature: void ~NetworkDisable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InvalidateBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2990,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' chainman'
    - ' index'
    argTypes:
    - ChainstateManager
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2989
    functionDepth: 2
    functionLinenumber: 2989
    functionLinenumberEnd: 2991
    functionName: TemporaryRollback::TemporaryRollback
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - InvalidateBlock
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void TemporaryRollback(ChainstateManager& chainman, const CBlockIndex&
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReconsiderBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2993,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:2993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2992
    functionDepth: 2
    functionLinenumber: 2992
    functionLinenumberEnd: 2994
    functionName: ~TemporaryRollback()
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - GetBlockHash
    - ReconsiderBlock
    linkageType: ''
    returnType: void
    signature: void ~TemporaryRollback()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequiredOrDefault
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3012,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3033,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3034,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3035,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3039,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3042,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3043,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3044,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3045,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3046,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3046,1
    - Dst: ParseHashOrHeight
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3048,1
    - Dst: chainman::GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3050,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3051,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3051,1
    - Dst: std::max_element
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3052,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3052,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3052,1
    - Dst: ParseHashOrHeight
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3053,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3057,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3057,1
    - Dst: EnsureAnyArgsman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3060,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3061,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3061,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3061,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3061,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3064,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3064,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3064,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3064,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3066,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3067,1
    - Dst: fs::path::utf8string
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3069,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3073,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3075,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3076,1
    - Dst: fs::path::utf8string
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3078,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3081,1
    - Dst: chainman::m_blockman::IsPruneMode
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3091,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3092,1
    - Dst: chainman::GetMutex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3092,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3093,1
    - Dst: chainman::m_blockman::GetFirstBlock
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3094,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3096,1
    - Dst: GetNetworkActive
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3108,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3109,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3112,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3112,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3113,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3126,1
    - Dst: chainman::GetMutex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3126,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3127,1
    - Dst: Chainstate*::m_chain::Tip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3134,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3135,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3136,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3138,1
    - Dst: PrepareUTXOSnapshot
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3138,1
    - Dst: WriteUTXOSnapshot
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3142,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3143,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3146,1
    - Dst: fs::rename
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3150,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3152,1
    - Dst: fs::path::utf8string
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3152,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3156
      start: 3002
    functionDepth: 4
    functionLinenumber: 3002
    functionLinenumberEnd: 3156
    functionName: dumptxoutset
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - AutoFile::IsNull
    - PrepareUTXOSnapshot
    - fs::exists
    - std::string::empty
    - std::move
    - std::max_element
    - chainman::GetParams
    - CHECK_NONFATAL
    - chainman::ActiveChain
    - WriteUTXOSnapshot
    - auto::begin
    - HelpExampleCli
    - std::tie
    - ParseHashOrHeight
    - fs::u8path
    - LogWarning
    - chainman::m_blockman::IsPruneMode
    - fs::rename
    - Arg
    - CheckRequiredOrDefault
    - std::unique_ptr::get
    - chainman::GetMutex
    - chainman::m_blockman::GetFirstBlock
    - WITH_LOCK
    - EnsureAnyNodeContext
    - isNull
    - Chainstate*::m_chain::Tip
    - EnsureAnyArgsman
    - UniValue::pushKV
    - strprintf
    - get_str
    - std::optional::emplace
    - fsbridge::AbsPathJoin
    - fsbridge::fopen
    - EnsureConnman
    - chainman::ActiveChainstate
    - GetDataDirNet
    - LOCK
    - UniValue::exists
    - fs::path::utf8string
    - GetNetworkActive
    - JSONRPCError
    - auto::end
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan dumptxoutset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3180,1
    - Dst: ForceFlushStateToDisk
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3182,1
    - Dst: GetUTXOStats
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3184,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3184,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3186,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3189,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3190,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3190,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3193,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' chainstate'
    - ' interruption_point'
    argTypes:
    - Chainstate
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3158
    functionDepth: 5
    functionLinenumber: 3158
    functionLinenumberEnd: 3194
    functionName: PrepareUTXOSnapshot
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 1
    functionsReached:
    - ForceFlushStateToDisk
    - std::move
    - m_blockman::LookupBlockIndex
    - AssertLockHeld
    - JSONRPCError
    - CoinsDB
    - GetUTXOStats
    - CHECK_NONFATAL
    linkageType: ''
    returnType: std::tuple<std::unique_ptr<CCoinsViewCursor>, CCoinsStats, const CBlockIndex*>
    signature: "std::tuple<std::unique_ptr<CCoinsViewCursor>, CCoinsStats, const CBlockIndex*>
      PrepareUTXOSnapshot(\n    Chainstate& chainstate,\n    const std::function<void()>&
      interruption_point)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOG_TIME_SECONDS
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3206,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3206,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3207,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3208,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3208,1
    - Dst: m_chainman::GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3210,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3210,1
    - Dst: COutPoint::COutPoint
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3214,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3216,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3230,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3230,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3232,1
    - Dst: CCoinsViewCursor*::GetKey
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3238,1
    - Dst: CCoinsViewCursor*::Valid
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3240,1
    - Dst: interruption_point
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3241,1
    - Dst: CCoinsViewCursor*::GetKey
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3243,1
    - Dst: CCoinsViewCursor*::GetValue
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3243,1
    - Dst: write_coins_to_file
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3245,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3247,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3249,1
    - Dst: CCoinsViewCursor*::Next
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3251,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3254,1
    - Dst: write_coins_to_file
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3255,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3258,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3260,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3261,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3262,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3262,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3262,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3266,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3267,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3267,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3268,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3269,1
    - Dst: utf8string
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3269,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3270,1
    - Dst: CCoinsStats*::hashSerialized::ToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3270,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 8
    argNames:
    - ' chainstate'
    - pcursor
    - maybe_stats
    - tip
    - ' afile'
    - ' path'
    - ' temppath'
    - ' interruption_point'
    argTypes:
    - Chainstate
    - CCoinsViewCursor*
    - CCoinsStats*
    - CBlockIndex*
    - AutoFile
    - fs::path
    - fs::path
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3273
      start: 3196
    functionDepth: 4
    functionLinenumber: 3196
    functionLinenumberEnd: 3273
    functionName: WriteUTXOSnapshot
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 1
    functionsReached:
    - CCoinsViewCursor*::Valid
    - utf8string
    - std::vector::emplace_back
    - std::ios_base::failure
    - CHECK_NONFATAL
    - m_chainman::GetParams
    - Coin::Coin
    - write_coins_to_file
    - WriteCompactSize
    - CCoinsStats*::hashSerialized::ToString
    - CBlockIndex*::GetBlockHash
    - CCoinsViewCursor*::GetKey
    - std::vector::empty
    - std::vector::size
    - fs::PathToString
    - LOG_TIME_SECONDS
    - CCoinsViewCursor*::Next
    - CCoinsViewCursor*::GetValue
    - std::vector::clear
    - UniValue::pushKV
    - strprintf
    - COutPoint::COutPoint
    - interruption_point
    - fclose
    - SysErrorString
    linkageType: ''
    returnType: UniValue
    signature: "UniValue WriteUTXOSnapshot(\n    Chainstate& chainstate,\n    CCoinsViewCursor*
      pcursor,\n    CCoinsStats* maybe_stats,\n    const CBlockIndex* tip,\n    AutoFile&&
      afile,\n    const fs::path& path,\n    const fs::path& temppath,\n    const
      std::function<void()>& interruption_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteUTXOSnapshot
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3283,1
    - Dst: get
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3284,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ' node'
    - ' chainstate'
    - ' afile'
    - ' path'
    - ' tmppath'
    argTypes:
    - node::NodeContext
    - Chainstate
    - AutoFile
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3275
    functionDepth: 5
    functionLinenumber: 3275
    functionLinenumberEnd: 3291
    functionName: CreateUTXOSnapshot
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 1
    functionsReached:
    - WriteUTXOSnapshot
    - get
    - std::move
    linkageType: ''
    returnType: UniValue
    signature: "UniValue CreateUTXOSnapshot(\n    node::NodeContext& node,\n    Chainstate&
      chainstate,\n    AutoFile&& afile,\n    const fs::path& path,\n    const fs::path&
      tmppath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3327,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3331,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3332,1
    - Dst: AbsPathForConfigVal
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3333,1
    - Dst: EnsureArgsman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3333,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3333,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3333,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3335,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3337,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3338,1
    - Dst: fs::path::utf8string
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3340,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3343,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3347,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3347,1
    - Dst: what
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3347,1
    - Dst: ActivateSnapshot
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3350,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3352,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3352,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3352,1
    - Dst: fs::path::utf8string
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3352,1
    - Dst: connman::RemoveLocalServices
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3357,1
    - Dst: connman::AddLocalServices
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3360,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3362,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3365,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3366,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3366,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3367,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3368,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3372
      start: 3293
    functionDepth: 4
    functionLinenumber: 3293
    functionLinenumberEnd: 3372
    functionName: loadtxoutset
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::IsNull
    - what
    - connman::RemoveLocalServices
    - CHECK_NONFATAL
    - connman::AddLocalServices
    - HelpExampleCli
    - ActivateSnapshot
    - GetParams
    - util::ErrorString
    - fs::u8path
    - Arg
    - fs::PathToString
    - EnsureChainman
    - EnsureAnyNodeContext
    - AbsPathForConfigVal
    - UniValue::pushKV
    - strprintf
    - EnsureArgsman
    - fsbridge::fopen
    - fs::path::utf8string
    - JSONRPCError
    - GetBlockHash
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan loadtxoutset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3400,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3401,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3405,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3408,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3410,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3411,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3413,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3417,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3419,1
    - Dst: Height
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3419,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3420,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3420,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3421,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3421,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3422,1
    - Dst: GetTarget
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3422,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3422,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3423,1
    - Dst: GetDifficulty
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3423,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3424,1
    - Dst: GuessVerificationProgress
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3424,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3425,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3426,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3428,1
    - Dst: m_from_snapshot_blockhash::ToString
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3428,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3430,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3434,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3436,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3439,1
    - Dst: make_chain_data
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3439,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3439,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3441,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3387
    functionDepth: 4
    functionLinenumber: 3387
    functionLinenumberEnd: 3443
    functionName: getchainstates
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - HelpExampleCli
    - GetDifficulty
    - UniValue::push_back
    - make_chain_data
    - AssertLockHeld
    - CBlockIndex*::GetBlockHash
    - m_chain::Tip
    - m_from_snapshot_blockhash::ToString
    - Height
    - GuessVerificationProgress
    - HelpExampleRpc
    - UniValue::pushKV
    - strprintf
    - Tip
    - GetAll
    - size
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - GetTarget
    - GetConsensus
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getchainstates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/blockchain.cpp:3483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3448
    functionDepth: 0
    functionLinenumber: 3448
    functionLinenumberEnd: 3485
    functionName: RegisterBlockchainRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/blockchain.cpp
    functionUses: 0
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterBlockchainRPCCommands(CRPCTable& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.h:50,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.h:50,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.h:50,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - category
    - name
    - actor
    - args
    - unique_id
    argTypes:
    - std::string
    - std::string
    - Actor
    - std::vector<std::pair<std::string, bool>>
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: CRPCCommand::CRPCCommand
    functionSourceFile: /src/bitcoin-core/src/rpc/server.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CRPCCommand(std::string category, std::string name, Actor actor,
      std::vector<std::pair<std::string, bool>> args, intptr_t unique_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/bitcoin-core/src/rpc/server.h:59,1
    - Dst: fn
      Src: /src/bitcoin-core/src/rpc/server.h:60,1
    - Dst: fn
      Src: /src/bitcoin-core/src/rpc/server.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - category
    - fn
    argTypes:
    - std::string
    - RpcMethodFnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: CRPCCommand::CRPCCommand
    functionSourceFile: /src/bitcoin-core/src/rpc/server.h
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: void
    signature: void CRPCCommand(std::string category, RpcMethodFnType fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:54,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:55,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:61,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:61,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:62,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:63,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:63,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:66,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:68,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:69,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:71,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:72,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:72,1
    - Dst: DescribeAddress
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:74,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:75,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:75,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:78,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:79,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:79,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 86
    functionName: validateaddress
    functionSourceFile: /src/bitcoin-core/src/rpc/output_script.cpp
    functionUses: 0
    functionsReached:
    - IsValidDestination
    - HelpExampleCli
    - EncodeDestination
    - DecodeDestination
    - GetScriptForDestination
    - UniValue::pushKVs
    - DescribeAddress
    - UniValue::push_back
    - std::string::empty
    - HelpExampleRpc
    - std::move
    - UniValue::pushKV
    - get_str
    - HexStr
    - CHECK_NONFATAL
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan validateaddress()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:116,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:118,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:122,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:125,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:127,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:127,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:128,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:129,1
    - Dst: HexToPubKey
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:129,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:129,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:134,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:135,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:135,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:137,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:137,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:137,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:138,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:139,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:141,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:145,1
    - Dst: AddAndGetMultisigDestination
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:146,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:149,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:149,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:152,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:152,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:153,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:153,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:154,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:154,1
    - Dst: std::unique_ptr::GetOutputType
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:157,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:159,1
    - Dst: PushWarnings
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 166
    functionName: createmultisig
    functionSourceFile: /src/bitcoin-core/src/rpc/output_script.cpp
    functionUses: 0
    functionsReached:
    - EncodeDestination
    - GetScriptForDestination
    - PushWarnings
    - std::vector::push_back
    - HexToPubKey
    - get_array
    - HelpExampleCli
    - InferDescriptor
    - UniValue::push_back
    - std::vector::reserve
    - ParseOutputType
    - std::unique_ptr::ToString
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - strprintf
    - get_str
    - AddAndGetMultisigDestination
    - std::unique_ptr::GetOutputType
    - size
    - std::optional::value
    - JSONRPCError
    - HexStr
    - getInt
    - CScript::CScript
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan createmultisig()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:194,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:195,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:201,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:201,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:202,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:203,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:207,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:207,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:209,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:212,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:212,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:214,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:217,1
    - Dst: GetDescriptorChecksum
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:217,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:217,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:218,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:218,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:219,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:219,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:220,1
    - Dst: FlatSigningProvider::keys::size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 224
    functionName: getdescriptorinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/output_script.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - FlatSigningProvider::keys::size
    - HelpExampleCli
    - auto::at
    - ToString
    - Parse
    - UniValue::push_back
    - HelpExampleRpc
    - JSONRPCError
    - auto::empty
    - GetDescriptorChecksum
    - UniValue::pushKV
    - get_str
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getdescriptorinfo()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Descriptor*::Expand
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:233,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:234,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:239,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:242,1
    - Dst: std::get_if<PubKeyDestination>
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:242,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:245,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:248,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:248,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:253,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - desc
    - range_begin
    - range_end
    - ' key_provider'
    argTypes:
    - Descriptor*
    - int64_t
    - int64_t
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 258
    functionName: DeriveAddresses
    functionSourceFile: /src/bitcoin-core/src/rpc/output_script.cpp
    functionUses: 0
    functionsReached:
    - UniValue::empty
    - EncodeDestination
    - ExtractDestination
    - UniValue::push_back
    - Descriptor*::Expand
    - JSONRPCError
    - std::get_if<PubKeyDestination>
    - std::vector::size
    linkageType: ''
    returnType: UniValue
    signature: UniValue DeriveAddresses(const Descriptor* desc, int64_t range_begin,
      int64_t range_end, FlatSigningProvider& key_provider)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:301,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:302,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:306,1
    - Dst: params::size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:311,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:311,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:312,1
    - Dst: ParseDescriptorRange
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:312,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:317,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:318,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:319,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:321,1
    - Dst: IsRange
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:322,1
    - Dst: params::size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:322,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:323,1
    - Dst: IsRange
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:326,1
    - Dst: params::size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:326,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:327,1
    - Dst: DeriveAddresses
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:330,1
    - Dst: get
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:330,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:332,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:337,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:338,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:339,1
    - Dst: DeriveAddresses
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:339,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:339,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 344
    functionName: deriveaddresses
    functionSourceFile: /src/bitcoin-core/src/rpc/output_script.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - HelpExampleCli
    - std::tie
    - auto::at
    - DeriveAddresses
    - params::size
    - IsRange
    - Parse
    - UniValue::push_back
    - HelpExampleRpc
    - JSONRPCError
    - isNull
    - auto::empty
    - get
    - get_str
    - ParseDescriptorRange
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan deriveaddresses()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/output_script.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: RegisterOutputScriptRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/output_script.cpp
    functionUses: 0
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterOutputScriptRPCCommands(CRPCTable& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: DEFAULT_RPC_DOC_CHECK
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DEFAULT_RPC_DOC_CHECK
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: HelpResult
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HelpResult(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _type
    argTypes:
    - UniValue::VType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: UniValueType
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UniValueType(UniValue::VType _type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: UniValueType
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UniValueType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:238,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:239,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:240,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:241,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:242,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.h:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - name
    - type
    - fallback
    - description
    argTypes:
    - std::string
    - Type
    - Fallback
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: RPCArg
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached:
    - CHECK_NONFATAL
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RPCArg(\n        std::string name,\n        Type type,\n        Fallback
      fallback,\n        std::string description,\n        RPCArgOptions opts = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:254,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:255,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:256,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:257,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:258,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:259,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.h:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - name
    - type
    - fallback
    - description
    - inner
    argTypes:
    - std::string
    - Type
    - Fallback
    - std::string
    - std::vector<RPCArg>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 262
    functionName: RPCArg
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached:
    - CHECK_NONFATAL
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RPCArg(\n        std::string name,\n        Type type,\n        Fallback
      fallback,\n        std::string description,\n        std::vector<RPCArg> inner,\n
      \       RPCArgOptions opts = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:328,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:329,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:330,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:333,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:334,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.h:336,1
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.h:336,1
    - Dst: CheckInnerDoc
      Src: /src/bitcoin-core/src/rpc/util.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cond
    - type
    - m_key_name
    - optional
    - description
    argTypes:
    - std::string
    - Type
    - std::string
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 338
    functionName: RPCResult
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached:
    - empty
    - CHECK_NONFATAL
    - std::move
    - CheckInnerDoc
    linkageType: ''
    returnType: void
    signature: "void RPCResult(\n        std::string cond,\n        Type type,\n        std::string
      m_key_name,\n        bool optional,\n        std::string description,\n        std::vector<RPCResult>
      inner = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:346,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:346,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:346,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - cond
    - type
    - m_key_name
    - description
    argTypes:
    - std::string
    - Type
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: RPCResult
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RPCResult(\n        std::string cond,\n        Type type,\n        std::string
      m_key_name,\n        std::string description,\n        std::vector<RPCResult>
      inner = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:355,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:356,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:357,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:360,1
    - Dst: CheckInnerDoc
      Src: /src/bitcoin-core/src/rpc/util.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - m_key_name
    - optional
    - description
    argTypes:
    - Type
    - std::string
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 364
    functionName: RPCResult
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached:
    - std::move
    - CheckInnerDoc
    linkageType: ''
    returnType: void
    signature: "void RPCResult(\n        Type type,\n        std::string m_key_name,\n
      \       bool optional,\n        std::string description,\n        std::vector<RPCResult>
      inner = {},\n        bool skip_type_check = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:372,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:372,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - m_key_name
    - description
    argTypes:
    - Type
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: RPCResult
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RPCResult(\n        Type type,\n        std::string m_key_name,\n
      \       std::string description,\n        std::vector<RPCResult> inner = {},\n
      \       bool skip_type_check = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - result
    argTypes:
    - RPCResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: RPCResults
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCResults(RPCResult result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - results
    argTypes:
    - std::initializer_list<RPCResult>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: RPCResults
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCResults(std::initializer_list<RPCResult> results)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - examples
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: RPCExamples
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RPCExamples(\n        std::string examples)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RPCHelpMan::GetParamIndex
      Src: /src/bitcoin-core/src/rpc/util.h:446,1
    - Dst: ArgValue<R>
      Src: /src/bitcoin-core/src/rpc/util.h:450,1
    - Dst: ArgValue<const R&>
      Src: /src/bitcoin-core/src/rpc/util.h:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: RPCHelpMan::Arg
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached:
    - ArgValue<const R&>
    - RPCHelpMan::GetParamIndex
    - ArgValue<R>
    linkageType: ''
    returnType: auto
    signature: auto Arg(std::string_view key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RPCHelpMan::GetParamIndex
      Src: /src/bitcoin-core/src/rpc/util.h:478,1
    - Dst: ArgValue<std::optional<R>>
      Src: /src/bitcoin-core/src/rpc/util.h:482,1
    - Dst: ArgValue<const R*>
      Src: /src/bitcoin-core/src/rpc/util.h:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 487
    functionName: RPCHelpMan::MaybeArg
    functionSourceFile: /src/bitcoin-core/src/rpc/util.h
    functionUses: 0
    functionsReached:
    - ArgValue<const R*>
    - ArgValue<std::optional<R>>
    - RPCHelpMan::GetParamIndex
    linkageType: ''
    returnType: auto
    signature: auto MaybeArg(std::string_view key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/rpc/request.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: JSONRPCRequest::IsNotification
    functionSourceFile: /src/bitcoin-core/src/rpc/request.h
    functionUses: 1
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool IsNotification() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/rpc/node.cpp:49,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/node.cpp:50,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/node.cpp:58,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/node.cpp:60,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/rpc/node.cpp:61,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/rpc/node.cpp:61,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/node.cpp:63,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/node.cpp:63,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/rpc/node.cpp:66,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/node.cpp:67,1
    - Dst: setMockTime
      Src: /src/bitcoin-core/src/rpc/node.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 75
    functionName: setmocktime
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - setMockTime
    - Ticks
    - SetMockTime
    - std::runtime_error
    - EnsureAnyNodeContext
    - LOCK
    - Params
    - strprintf
    - JSONRPCError
    - RandomMixin::max
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan setmocktime()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/rpc/node.cpp:89,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/node.cpp:90,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/node.cpp:93,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/node.cpp:95,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/node.cpp:98,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/node.cpp:99,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/node.cpp:100,1
    - Dst: schedulerMockForward
      Src: /src/bitcoin-core/src/rpc/node.cpp:102,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/rpc/node.cpp:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 108
    functionName: mockscheduler
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - std::runtime_error
    - EnsureAnyNodeContext
    - Params
    - schedulerMockForward
    - CHECK_NONFATAL
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan mockscheduler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/rpc/node.cpp:112,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:114,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:115,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:116,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:117,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:118,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: RPCLockedMemoryInfo
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue RPCLockedMemoryInfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open_memstream
      Src: /src/bitcoin-core/src/rpc/node.cpp:128,1
    - Dst: malloc_info
      Src: /src/bitcoin-core/src/rpc/node.cpp:130,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/rpc/node.cpp:131,1
    - Dst: free
      Src: /src/bitcoin-core/src/rpc/node.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: RPCMallocInfo
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - free
    - open_memstream
    - fclose
    - malloc_info
    linkageType: ''
    returnType: std::string
    signature: std::string RPCMallocInfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/node.cpp:174,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/node.cpp:175,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/node.cpp:179,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/node.cpp:179,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:182,1
    - Dst: RPCLockedMemoryInfo
      Src: /src/bitcoin-core/src/rpc/node.cpp:182,1
    - Dst: RPCMallocInfo
      Src: /src/bitcoin-core/src/rpc/node.cpp:186,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/node.cpp:188,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/node.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 195
    functionName: getmemoryinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - RPCMallocInfo
    - RPCLockedMemoryInfo
    - HelpExampleRpc
    - JSONRPCError
    - isNull
    - UniValue::pushKV
    - get_str
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getmemoryinfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::get_array
      Src: /src/bitcoin-core/src/rpc/node.cpp:198,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/node.cpp:199,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/node.cpp:200,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/rpc/node.cpp:204,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/rpc/node.cpp:206,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/node.cpp:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cats
    - enable
    argTypes:
    - UniValue
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 213
    functionName: EnableOrDisableLogCategories
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - UniValue::get_array
    - JSONRPCError
    - get_str
    - UniValue::size
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void EnableOrDisableLogCategories(UniValue cats, bool enable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/rpc/node.cpp:223,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/node.cpp:244,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/node.cpp:245,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/rpc/node.cpp:249,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/rpc/node.cpp:250,1
    - Dst: EnableOrDisableLogCategories
      Src: /src/bitcoin-core/src/rpc/node.cpp:251,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/rpc/node.cpp:253,1
    - Dst: EnableOrDisableLogCategories
      Src: /src/bitcoin-core/src/rpc/node.cpp:254,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/rpc/node.cpp:256,1
    - Dst: UpdateHTTPServerLogging
      Src: /src/bitcoin-core/src/rpc/node.cpp:261,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/rpc/node.cpp:261,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/rpc/node.cpp:265,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 272
    functionName: logging
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 1
    functionsReached:
    - HelpExampleCli
    - isArray
    - UpdateHTTPServerLogging
    - HelpExampleRpc
    - UniValue::pushKV
    - EnableOrDisableLogCategories
    - LogInstance
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan logging()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isStr
      Src: /src/bitcoin-core/src/rpc/node.cpp:298,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/node.cpp:299,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/node.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 305
    functionName: echo
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 2
    functionsReached:
    - get_str
    - CHECK_NONFATAL
    - isStr
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan echo(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: echo
      Src: /src/bitcoin-core/src/rpc/node.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: echo
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 3
    functionsReached:
    - echo
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan echo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: echo
      Src: /src/bitcoin-core/src/rpc/node.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: echojson
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - echo
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan echojson()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/node.cpp:318,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/node.cpp:319,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/node.cpp:321,1
    - Dst: ipc
      Src: /src/bitcoin-core/src/rpc/node.cpp:323,1
    - Dst: interfaces::Ipc*::spawnProcess
      Src: /src/bitcoin-core/src/rpc/node.cpp:332,1
    - Dst: auto::makeEcho
      Src: /src/bitcoin-core/src/rpc/node.cpp:333,1
    - Dst: interfaces::Ipc*::addCleanup
      Src: /src/bitcoin-core/src/rpc/node.cpp:334,1
    - Dst: auto::release
      Src: /src/bitcoin-core/src/rpc/node.cpp:334,1
    - Dst: makeEcho
      Src: /src/bitcoin-core/src/rpc/node.cpp:341,1
    - Dst: std::unique_ptr::echo
      Src: /src/bitcoin-core/src/rpc/node.cpp:343,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/node.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 346
    functionName: echoipc
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ipc
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - std::unique_ptr::echo
    - interfaces::Ipc*::spawnProcess
    - auto::makeEcho
    - auto::release
    - get_str
    - interfaces::Ipc*::addCleanup
    - makeEcho
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan echoipc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/rpc/node.cpp:351,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:354,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:355,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/node.cpp:356,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/node.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' summary'
    - index_name
    argTypes:
    - IndexSummary
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: SummaryToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - UniValue::pushKV
    - std::string::empty
    - std::move
    linkageType: ''
    returnType: UniValue
    signature: UniValue SummaryToJSON(const IndexSummary&& summary, std::string index_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/node.cpp:380,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/node.cpp:381,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/node.cpp:382,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/node.cpp:383,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/node.cpp:388,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/node.cpp:388,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/rpc/node.cpp:391,1
    - Dst: SummaryToJSON
      Src: /src/bitcoin-core/src/rpc/node.cpp:391,1
    - Dst: GetSummary
      Src: /src/bitcoin-core/src/rpc/node.cpp:391,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/rpc/node.cpp:395,1
    - Dst: SummaryToJSON
      Src: /src/bitcoin-core/src/rpc/node.cpp:395,1
    - Dst: GetSummary
      Src: /src/bitcoin-core/src/rpc/node.cpp:395,1
    - Dst: ForEachBlockFilterIndex
      Src: /src/bitcoin-core/src/rpc/node.cpp:398,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/rpc/node.cpp:399,1
    - Dst: SummaryToJSON
      Src: /src/bitcoin-core/src/rpc/node.cpp:399,1
    - Dst: GetSummary
      Src: /src/bitcoin-core/src/rpc/node.cpp:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 360
    functionDepth: 5
    functionLinenumber: 360
    functionLinenumberEnd: 405
    functionName: getindexinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - UniValue::pushKVs
    - HelpExampleRpc
    - GetSummary
    - isNull
    - SummaryToJSON
    - get_str
    - ForEachBlockFilterIndex
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getindexinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/node.cpp:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 422
    functionName: RegisterNodeRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/node.cpp
    functionUses: 0
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterNodeRPCCommands(CRPCTable& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::AnyPtr<NodeContext>
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:27,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: EnsureAnyNodeContext
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 29
    functionsReached:
    - util::AnyPtr<NodeContext>
    - JSONRPCError
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext & EnsureAnyNodeContext(const std::any& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: EnsureMemPool
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 10
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: CTxMemPool
    signature: CTxMemPool & EnsureMemPool(const NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:44,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: EnsureAnyMemPool
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 8
    functionsReached:
    - EnsureMemPool
    - EnsureAnyNodeContext
    linkageType: ''
    returnType: CTxMemPool
    signature: CTxMemPool & EnsureAnyMemPool(const std::any& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: EnsureBanman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: BanMan
    signature: BanMan & EnsureBanman(const NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureBanman
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:58,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: EnsureAnyBanman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 0
    functionsReached:
    - EnsureBanman
    - EnsureAnyNodeContext
    linkageType: ''
    returnType: BanMan
    signature: BanMan & EnsureAnyBanman(const std::any& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: EnsureArgsman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 1
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & EnsureArgsman(const NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureArgsman
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:71,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: EnsureAnyArgsman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 2
    functionsReached:
    - EnsureAnyNodeContext
    - EnsureArgsman
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & EnsureAnyArgsman(const std::any& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: EnsureChainman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 15
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & EnsureChainman(const NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:84,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: EnsureAnyChainman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 21
    functionsReached:
    - EnsureChainman
    - EnsureAnyNodeContext
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & EnsureAnyChainman(const std::any& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: EnsureFeeEstimator
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: CBlockPolicyEstimator
    signature: CBlockPolicyEstimator & EnsureFeeEstimator(const NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureFeeEstimator
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:97,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: EnsureAnyFeeEstimator
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 2
    functionsReached:
    - EnsureFeeEstimator
    - EnsureAnyNodeContext
    linkageType: ''
    returnType: CBlockPolicyEstimator
    signature: CBlockPolicyEstimator & EnsureAnyFeeEstimator(const std::any& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: EnsureConnman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 2
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: CConnman
    signature: CConnman & EnsureConnman(const NodeContext& node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: EnsureMining
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 7
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: interfaces::Mining
    signature: interfaces::Mining & EnsureMining(const NodeContext& node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: EnsurePeerman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 2
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: PeerManager
    signature: PeerManager & EnsurePeerman(const NodeContext& node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: EnsureAddrman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: AddrMan
    signature: AddrMan & EnsureAddrman(const NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureAddrman
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:134,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: EnsureAnyAddrman
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 0
    functionsReached:
    - EnsureAnyNodeContext
    - EnsureAddrman
    linkageType: ''
    returnType: AddrMan
    signature: AddrMan & EnsureAnyAddrman(const std::any& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:140,1
    - Dst: UpdateTime
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:141,1
    - Dst: GetNextWorkRequired
      Src: /src/bitcoin-core/src/rpc/server_util.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' tip'
    - ' consensusParams'
    - ' next_index'
    argTypes:
    - CBlockIndex
    - Consensus::Params
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: NextEmptyBlockIndex
    functionSourceFile: /src/bitcoin-core/src/rpc/server_util.cpp
    functionUses: 1
    functionsReached:
    - GetNextWorkRequired
    - UpdateTime
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void NextEmptyBlockIndex(CBlockIndex& tip, const Consensus::Params&
      consensusParams, CBlockIndex& next_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/rpc/client.cpp:318,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/rpc/client.cpp:319,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/client.cpp:319,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/rpc/client.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - raw
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: Parse
    functionSourceFile: /src/bitcoin-core/src/rpc/client.cpp
    functionUses: 22
    functionsReached:
    - tinyformat::detail::FormatArg::format
    - std::runtime_error
    - UniValue::UniValue
    - UniValue::read
    linkageType: ''
    returnType: UniValue
    signature: UniValue Parse(std::string_view raw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/rpc/client.cpp:335,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/rpc/client.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg_value
    - ' method'
    - param_idx
    argTypes:
    - std::string_view
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: CRPCConvertTable::ArgToUniValue
    functionSourceFile: /src/bitcoin-core/src/rpc/client.cpp
    functionUses: 0
    functionsReached:
    - Parse
    - count
    linkageType: ''
    returnType: UniValue
    signature: UniValue ArgToUniValue(std::string_view arg_value, const std::string&
      method, int param_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/rpc/client.cpp:341,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/rpc/client.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg_value
    - ' method'
    - ' param_name'
    argTypes:
    - std::string_view
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: CRPCConvertTable::ArgToUniValue
    functionSourceFile: /src/bitcoin-core/src/rpc/client.cpp
    functionUses: 0
    functionsReached:
    - Parse
    - count
    linkageType: ''
    returnType: UniValue
    signature: UniValue ArgToUniValue(std::string_view arg_value, const std::string&
      method, const std::string& param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/bitcoin-core/src/rpc/client.cpp:348,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/rpc/client.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: CRPCConvertTable::CRPCConvertTable
    functionSourceFile: /src/bitcoin-core/src/rpc/client.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void CRPCConvertTable::CRPCConvertTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>::size
      Src: /src/bitcoin-core/src/rpc/client.cpp:359,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/client.cpp:361,1
    - Dst: ArgToUniValue
      Src: /src/bitcoin-core/src/rpc/client.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - strMethod
    - strParams
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: RPCConvertValues
    functionSourceFile: /src/bitcoin-core/src/rpc/client.cpp
    functionUses: 8
    functionsReached:
    - ArgToUniValue
    - UniValue::push_back
    - std::vector<std::string>::size
    linkageType: ''
    returnType: UniValue
    signature: UniValue RPCConvertValues(const std::string &strMethod, const std::vector<std::string>
      &strParams)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/rpc/client.cpp:373,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/client.cpp:375,1
    - Dst: ArgToUniValue
      Src: /src/bitcoin-core/src/rpc/client.cpp:375,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/client.cpp:375,1
    - Dst: substr
      Src: /src/bitcoin-core/src/rpc/client.cpp:379,1
    - Dst: substr
      Src: /src/bitcoin-core/src/rpc/client.cpp:380,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/client.cpp:385,1
    - Dst: ArgToUniValue
      Src: /src/bitcoin-core/src/rpc/client.cpp:385,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/client.cpp:388,1
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/rpc/client.cpp:392,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/client.cpp:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - strMethod
    - strParams
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 396
    functionName: RPCConvertNamedValues
    functionSourceFile: /src/bitcoin-core/src/rpc/client.cpp
    functionUses: 2
    functionsReached:
    - UniValue::empty
    - substr
    - UniValue::push_back
    - std::move
    - ArgToUniValue
    - UniValue::pushKVEnd
    - UniValue::pushKV
    - UniValue::size
    - find
    linkageType: ''
    returnType: UniValue
    signature: UniValue RPCConvertNamedValues(const std::string &strMethod, const
      std::vector<std::string> &strParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/server.cpp:58,1
    - Dst: active_commands::insert
      Src: /src/bitcoin-core/src/rpc/server.cpp:59,1
    - Dst: active_commands::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:59,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/rpc/server.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' method'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: RPCCommandExecution
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - LOCK
    - active_commands::end
    - active_commands::insert
    linkageType: ''
    returnType: void
    signature: void RPCCommandExecution(const std::string& method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/server.cpp:63,1
    - Dst: active_commands::erase
      Src: /src/bitcoin-core/src/rpc/server.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: ~RPCCommandExecution()
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - active_commands::erase
    linkageType: ''
    returnType: void
    signature: void ~RPCCommandExecution()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rpc/server.cpp:74,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/server.cpp:74,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/server.cpp:77,1
    - Dst: second::front
      Src: /src/bitcoin-core/src/rpc/server.cpp:77,1
    - Dst: second::front
      Src: /src/bitcoin-core/src/rpc/server.cpp:77,1
    - Dst: test_hsort
      Src: /src/bitcoin-core/src/rpc/server.cpp:78,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rpc/server.cpp:82,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/rpc/server.cpp:91,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/server.cpp:92,1
    - Dst: actor
      Src: /src/bitcoin-core/src/rpc/server.cpp:93,1
    - Dst: what
      Src: /src/bitcoin-core/src/rpc/server.cpp:95,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/rpc/server.cpp:98,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/rpc/server.cpp:99,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/rpc/server.cpp:99,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/rpc/server.cpp:103,1
    - Dst: Capitalize
      Src: /src/bitcoin-core/src/rpc/server.cpp:106,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/server.cpp:113,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/rpc/server.cpp:114,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/rpc/server.cpp:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - ' strCommand'
    - ' helpreq'
    argTypes:
    - std::string
    - JSONRPCRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 116
    functionName: CRPCTable::help
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - second::front
    - test_hsort
    - std::vector::emplace_back
    - std::string::size
    - Capitalize
    - actor
    - UniValue::UniValue
    - size
    - std::vector::reserve
    - std::string::empty
    - std::string::find
    - std::set::insert
    - what
    - strprintf
    - UniValue
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string CRPCTable::help(const std::string& strCommand, const JSONRPCRequest&
      helpreq) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: params::size
      Src: /src/bitcoin-core/src/rpc/server.cpp:134,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/server.cpp:135,1
    - Dst: dumpArgMap
      Src: /src/bitcoin-core/src/rpc/server.cpp:139,1
    - Dst: help
      Src: /src/bitcoin-core/src/rpc/server.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 145
    functionName: help
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 7
    functionsReached:
    - get_str
    - params::size
    - dumpArgMap
    - help
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan help()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/server.cpp:165,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/server.cpp:165,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/server.cpp:165,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/rpc/server.cpp:166,1
    - Dst: UninterruptibleSleep
      Src: /src/bitcoin-core/src/rpc/server.cpp:167,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/server.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: stop
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 5
    functionsReached:
    - UninterruptibleSleep
    - EnsureAnyNodeContext
    - isNum
    - CHECK_NONFATAL
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/server.cpp:184,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/server.cpp:185,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/rpc/server.cpp:189,1
    - Dst: GetStartupTime
      Src: /src/bitcoin-core/src/rpc/server.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: uptime
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - HelpExampleCli
    - GetStartupTime
    - HelpExampleRpc
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan uptime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/server.cpp:215,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/server.cpp:216,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/server.cpp:219,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/server.cpp:223,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/server.cpp:224,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/rpc/server.cpp:224,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/rpc/server.cpp:224,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/server.cpp:225,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.cpp:225,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/server.cpp:229,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.cpp:229,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/rpc/server.cpp:231,1
    - Dst: utf8string
      Src: /src/bitcoin-core/src/rpc/server.cpp:231,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/server.cpp:233,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 238
    functionName: getrpcinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - utf8string
    - Ticks
    - HelpExampleCli
    - UniValue::push_back
    - std::move
    - HelpExampleRpc
    - LOCK
    - UniValue::pushKV
    - LogInstance
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getrpcinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRPCTable::appendCommand
      Src: /src/bitcoin-core/src/rpc/server.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: CRPCTable::CRPCTable
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 1
    functionsReached:
    - CRPCTable::appendCommand
    linkageType: ''
    returnType: void
    signature: void CRPCTable::CRPCTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/server.cpp:257,1
    - Dst: IsRPCRunning
      Src: /src/bitcoin-core/src/rpc/server.cpp:257,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/rpc/server.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - pcmd
    argTypes:
    - std::string
    - CRPCCommand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: CRPCTable::appendCommand
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - CHECK_NONFATAL
    - IsRPCRunning
    linkageType: ''
    returnType: void
    signature: void CRPCTable::appendCommand(const std::string& name, const CRPCCommand*
      pcmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/rpc/server.cpp:264,1
    - Dst: end
      Src: /src/bitcoin-core/src/rpc/server.cpp:265,1
    - Dst: std::remove
      Src: /src/bitcoin-core/src/rpc/server.cpp:266,1
    - Dst: auto::second::begin
      Src: /src/bitcoin-core/src/rpc/server.cpp:266,1
    - Dst: auto::second::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:266,1
    - Dst: auto::second::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:267,1
    - Dst: auto::second::erase
      Src: /src/bitcoin-core/src/rpc/server.cpp:268,1
    - Dst: auto::second::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - pcmd
    argTypes:
    - std::string
    - CRPCCommand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: CRPCTable::removeCommand
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::second::begin
    - auto::second::erase
    - std::remove
    - find
    - auto::second::end
    linkageType: ''
    returnType: bool
    signature: bool CRPCTable::removeCommand(const std::string& name, const CRPCCommand*
      pcmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/rpc/server.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: StartRPC
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 1
    functionsReached:
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void StartRPC()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/bitcoin-core/src/rpc/server.cpp:285,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/rpc/server.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: InterruptRPC
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 1
    functionsReached:
    - LogDebug
    - std::call_once
    linkageType: ''
    returnType: void
    signature: void InterruptRPC()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/rpc/server.cpp:296,1
    - Dst: std::call_once
      Src: /src/bitcoin-core/src/rpc/server.cpp:297,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/rpc/server.cpp:298,1
    - Dst: DeleteAuthCookie
      Src: /src/bitcoin-core/src/rpc/server.cpp:299,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/rpc/server.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!g_rpc_running)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/bitcoin-core/src/rpc/server.cpp
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: StopRPC
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 1
    functionsReached:
    - LogDebug
    - assert
    - DeleteAuthCookie
    - std::call_once
    linkageType: ''
    returnType: void
    signature: void StopRPC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: IsRPCRunning
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRPCRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsRPCRunning
      Src: /src/bitcoin-core/src/rpc/server.cpp:311,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: RpcInterruptionPoint
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCError
    - IsRPCRunning
    linkageType: ''
    returnType: void
    signature: void RpcInterruptionPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/server.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' newStatus'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: SetRPCWarmupStatus
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void SetRPCWarmupStatus(const std::string& newStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/server.cpp:322,1
    - Dst: assert
      Src: /src/bitcoin-core/src/rpc/server.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fRPCInWarmup)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/bitcoin-core/src/rpc/server.cpp
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: SetRPCWarmupFinished
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 5
    functionsReached:
    - LOCK
    - assert
    linkageType: ''
    returnType: void
    signature: void SetRPCWarmupFinished()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/server.cpp:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - outStatus
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: RPCIsInWarmup
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 3
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool RPCIsInWarmup(std::string *outStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/rpc/server.cpp:337,1
    - Dst: find
      Src: /src/bitcoin-core/src/rpc/server.cpp:339,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/server.cpp:339,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:339,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' method'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: IsDeprecatedRPCEnabled
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 3
    functionsReached:
    - std::vector::end
    - GetArgs
    - find
    - std::vector::begin
    linkageType: ''
    returnType: bool
    signature: bool IsDeprecatedRPCEnabled(const std::string& method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/rpc/server.cpp:344,1
    - Dst: execute
      Src: /src/bitcoin-core/src/rpc/server.cpp:347,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/rpc/server.cpp:349,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.cpp:349,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/rpc/server.cpp:351,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:351,1
    - Dst: what
      Src: /src/bitcoin-core/src/rpc/server.cpp:351,1
    - Dst: execute
      Src: /src/bitcoin-core/src/rpc/server.cpp:354,1
    - Dst: JSONRPCReplyObj
      Src: /src/bitcoin-core/src/rpc/server.cpp:357,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.cpp:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' jreq'
    - catch_errors
    argTypes:
    - JSONRPCRequest
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 358
    functionName: JSONRPCExec
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 1
    functionsReached:
    - execute
    - UniValue::UniValue
    - std::move
    - what
    - JSONRPCError
    - JSONRPCReplyObj
    linkageType: ''
    returnType: UniValue
    signature: UniValue JSONRPCExec(const JSONRPCRequest& jreq, bool catch_errors)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rpc/server.cpp:367,1
    - Dst: params::getKeys
      Src: /src/bitcoin-core/src/rpc/server.cpp:370,1
    - Dst: params::getValues
      Src: /src/bitcoin-core/src/rpc/server.cpp:371,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/server.cpp:373,1
    - Dst: std::unordered_map::emplace
      Src: /src/bitcoin-core/src/rpc/server.cpp:374,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:376,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rpc/server.cpp:392,1
    - Dst: std::unordered_map::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:393,1
    - Dst: std::unordered_map::find
      Src: /src/bitcoin-core/src/rpc/server.cpp:395,1
    - Dst: std::unordered_map::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:396,1
    - Dst: std::unordered_map::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:405,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/rpc/server.cpp:406,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:407,1
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/rpc/server.cpp:409,1
    - Dst: std::unordered_map::erase
      Src: /src/bitcoin-core/src/rpc/server.cpp:410,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/server.cpp:415,1
    - Dst: std::unordered_map::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:415,1
    - Dst: JSONRPCRequest::params::push_back
      Src: /src/bitcoin-core/src/rpc/server.cpp:420,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rpc/server.cpp:420,1
    - Dst: JSONRPCRequest::params::empty
      Src: /src/bitcoin-core/src/rpc/server.cpp:426,1
    - Dst: std::unordered_map::end
      Src: /src/bitcoin-core/src/rpc/server.cpp:432,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/server.cpp:433,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:434,1
    - Dst: UniValue::getKeys
      Src: /src/bitcoin-core/src/rpc/server.cpp:434,1
    - Dst: JSONRPCRequest::params::push_back
      Src: /src/bitcoin-core/src/rpc/server.cpp:436,1
    - Dst: std::unordered_map::erase
      Src: /src/bitcoin-core/src/rpc/server.cpp:437,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/server.cpp:439,1
    - Dst: JSONRPCRequest::params::push_back
      Src: /src/bitcoin-core/src/rpc/server.cpp:440,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.cpp:440,1
    - Dst: std::unordered_map::extract
      Src: /src/bitcoin-core/src/rpc/server.cpp:448,1
    - Dst: auto::mapped
      Src: /src/bitcoin-core/src/rpc/server.cpp:449,1
    - Dst: auto::mapped
      Src: /src/bitcoin-core/src/rpc/server.cpp:450,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:451,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/server.cpp:454,1
    - Dst: auto::mapped
      Src: /src/bitcoin-core/src/rpc/server.cpp:455,1
    - Dst: JSONRPCRequest::params::size
      Src: /src/bitcoin-core/src/rpc/server.cpp:456,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/server.cpp:456,1
    - Dst: JSONRPCRequest::params::push_back
      Src: /src/bitcoin-core/src/rpc/server.cpp:457,1
    - Dst: std::unordered_map::empty
      Src: /src/bitcoin-core/src/rpc/server.cpp:461,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:462,1
    - Dst: std::unordered_map::begin
      Src: /src/bitcoin-core/src/rpc/server.cpp:462,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 2
    argNames:
    - ' in'
    - ' argNames'
    argTypes:
    - JSONRPCRequest
    - std::vector<std::pair<std::string, bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 466
    functionName: transformNamedArguments
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCRequest::params::empty
    - JSONRPCRequest::params::push_back
    - std::unordered_map::emplace
    - std::move
    - auto::mapped
    - SplitString
    - UniValue::pushKVEnd
    - params::getKeys
    - std::unordered_map::empty
    - UniValue::empty
    - params::getValues
    - UniValue
    - JSONRPCRequest::params::size
    - std::unordered_map::erase
    - JSONRPCError
    - std::unordered_map::end
    - UniValue::size
    - std::unordered_map::extract
    - size
    - UniValue::getKeys
    - UniValue::exists
    - std::unordered_map::find
    - std::unordered_map::begin
    linkageType: ''
    returnType: JSONRPCRequest
    signature: JSONRPCRequest transformNamedArguments(const JSONRPCRequest& in, const
      std::vector<std::pair<std::string, bool>>& argNames)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExecuteCommand
      Src: /src/bitcoin-core/src/rpc/server.cpp:471,1
    - Dst: back
      Src: /src/bitcoin-core/src/rpc/server.cpp:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' commands'
    - ' request'
    - ' result'
    argTypes:
    - std::vector<const CRPCCommand*>
    - JSONRPCRequest
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: ExecuteCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - back
    - ExecuteCommand
    linkageType: ''
    returnType: bool
    signature: bool ExecuteCommands(const std::vector<const CRPCCommand*>& commands,
      const JSONRPCRequest& request, UniValue& result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/server.cpp:482,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:484,1
    - Dst: find
      Src: /src/bitcoin-core/src/rpc/server.cpp:488,1
    - Dst: end
      Src: /src/bitcoin-core/src/rpc/server.cpp:489,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/rpc/server.cpp:490,1
    - Dst: ExecuteCommands
      Src: /src/bitcoin-core/src/rpc/server.cpp:491,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - request
    argTypes:
    - JSONRPCRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 496
    functionName: CRPCTable::execute
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 1
    functionsReached:
    - end
    - UniValue::UniValue
    - ExecuteCommands
    - LOCK
    - JSONRPCError
    - find
    linkageType: ''
    returnType: UniValue
    signature: UniValue CRPCTable::execute(const JSONRPCRequest &request) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: params::isObject
      Src: /src/bitcoin-core/src/rpc/server.cpp:503,1
    - Dst: actor
      Src: /src/bitcoin-core/src/rpc/server.cpp:504,1
    - Dst: transformNamedArguments
      Src: /src/bitcoin-core/src/rpc/server.cpp:504,1
    - Dst: actor
      Src: /src/bitcoin-core/src/rpc/server.cpp:506,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:509,1
    - Dst: what
      Src: /src/bitcoin-core/src/rpc/server.cpp:509,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/server.cpp:511,1
    - Dst: what
      Src: /src/bitcoin-core/src/rpc/server.cpp:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ' command'
    - ' request'
    - ' result'
    - last_handler
    argTypes:
    - CRPCCommand
    - JSONRPCRequest
    - UniValue
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 498
    functionDepth: 4
    functionLinenumber: 498
    functionLinenumberEnd: 513
    functionName: ExecuteCommand
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 1
    functionsReached:
    - actor
    - what
    - params::isObject
    - JSONRPCError
    - transformNamedArguments
    linkageType: ''
    returnType: bool
    signature: bool ExecuteCommand(const CRPCCommand& command, const JSONRPCRequest&
      request, UniValue& result, bool last_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rpc/server.cpp:518,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/server.cpp:518,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/server.cpp:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: CRPCTable::listCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::emplace_back
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> CRPCTable::listCommands() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/rpc/server.cpp:530,1
    - Dst: ExecuteCommands
      Src: /src/bitcoin-core/src/rpc/server.cpp:531,1
    - Dst: UniValue::getValues
      Src: /src/bitcoin-core/src/rpc/server.cpp:532,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/server.cpp:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' args_request'
    argTypes:
    - JSONRPCRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 538
    functionName: CRPCTable::dumpArgMap
    functionSourceFile: /src/bitcoin-core/src/rpc/server.cpp
    functionUses: 0
    functionsReached:
    - UniValue::push_back
    - UniValue::UniValue
    - UniValue::getValues
    - ExecuteCommands
    linkageType: ''
    returnType: UniValue
    signature: UniValue CRPCTable::dumpArgMap(const JSONRPCRequest& args_request)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:44,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:45,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:46,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' strMethod'
    - ' params'
    - ' id'
    argTypes:
    - std::string
    - UniValue
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: JSONRPCRequestObj
    functionSourceFile: /src/bitcoin-core/src/rpc/request.cpp
    functionUses: 5
    functionsReached:
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue JSONRPCRequestObj(const std::string& strMethod, const UniValue&
      params, const UniValue& id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:55,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/rpc/request.cpp:59,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:60,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/request.cpp:60,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:61,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:63,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:64,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/request.cpp:64,1
    - Dst: std::optional<UniValue>::has_value
      Src: /src/bitcoin-core/src/rpc/request.cpp:66,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:66,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/request.cpp:66,1
    - Dst: std::optional<UniValue>::value
      Src: /src/bitcoin-core/src/rpc/request.cpp:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - result
    - error
    - id
    - jsonrpc_version
    argTypes:
    - UniValue
    - UniValue
    - std::optional<UniValue>
    - JSONRPCVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: JSONRPCReplyObj
    functionSourceFile: /src/bitcoin-core/src/rpc/request.cpp
    functionUses: 7
    functionsReached:
    - std::move
    - std::optional<UniValue>::value
    - UniValue::isNull
    - std::optional<UniValue>::has_value
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue JSONRPCReplyObj(UniValue result, UniValue error, std::optional<UniValue>
      id, JSONRPCVersion jsonrpc_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:73,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/request.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - code
    - ' message'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: JSONRPCError
    functionSourceFile: /src/bitcoin-core/src/rpc/request.cpp
    functionUses: 82
    functionsReached:
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue JSONRPCError(int code, const std::string& message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/rpc/request.cpp:88,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/rpc/request.cpp:89,1
    - Dst: AbsPathForConfigVal
      Src: /src/bitcoin-core/src/rpc/request.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: GetAuthCookieFile
    functionSourceFile: /src/bitcoin-core/src/rpc/request.cpp
    functionUses: 0
    functionsReached:
    - GetPathArg
    - AbsPathForConfigVal
    - fs::path::empty
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetAuthCookieFile(bool temp=false)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetRandBytes
      Src: /src/bitcoin-core/src/rpc/request.cpp:106,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/request.cpp:107,1
    - Dst: GetAuthCookieFile
      Src: /src/bitcoin-core/src/rpc/request.cpp:113,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/rpc/request.cpp:114,1
    - Dst: std::ofstream::open
      Src: /src/bitcoin-core/src/rpc/request.cpp:117,1
    - Dst: std::ofstream::is_open
      Src: /src/bitcoin-core/src/rpc/request.cpp:118,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/rpc/request.cpp:119,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/request.cpp:119,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/rpc/request.cpp:123,1
    - Dst: GetAuthCookieFile
      Src: /src/bitcoin-core/src/rpc/request.cpp:125,1
    - Dst: RenameOver
      Src: /src/bitcoin-core/src/rpc/request.cpp:126,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/rpc/request.cpp:127,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/request.cpp:127,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/request.cpp:127,1
    - Dst: fs::permissions
      Src: /src/bitcoin-core/src/rpc/request.cpp:132,1
    - Dst: value
      Src: /src/bitcoin-core/src/rpc/request.cpp:132,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/rpc/request.cpp:134,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/request.cpp:134,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/rpc/request.cpp:140,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/request.cpp:140,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/rpc/request.cpp:141,1
    - Dst: PermsToSymbolicString
      Src: /src/bitcoin-core/src/rpc/request.cpp:141,1
    - Dst: leveldb::DBIter::status
      Src: /src/bitcoin-core/src/rpc/request.cpp:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - ' cookie_perms'
    - ' user'
    - ' pass'
    argTypes:
    - std::optional<fs::perms>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 100
    functionDepth: 8
    functionLinenumber: 100
    functionLinenumberEnd: 146
    functionName: GenerateAuthCookie
    functionSourceFile: /src/bitcoin-core/src/rpc/request.cpp
    functionUses: 1
    functionsReached:
    - std::ofstream::is_open
    - RenameOver
    - fs::permissions
    - GetAuthCookieFile
    - leveldb::DBIter::status
    - GetRandBytes
    - std::ofstream::close
    - PermsToSymbolicString
    - value
    - fs::path::empty
    - LogInfo
    - LogWarning
    - std::ofstream::open
    - HexStr
    - fs::PathToString
    linkageType: ''
    returnType: GenerateAuthCookieResult
    signature: "GenerateAuthCookieResult GenerateAuthCookie(const std::optional<fs::perms>&
      cookie_perms,\n                                            std::string& user,\n
      \                                           std::string& pass)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetAuthCookieFile
      Src: /src/bitcoin-core/src/rpc/request.cpp:152,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/rpc/request.cpp:153,1
    - Dst: std::ifstream::open
      Src: /src/bitcoin-core/src/rpc/request.cpp:156,1
    - Dst: std::ifstream::is_open
      Src: /src/bitcoin-core/src/rpc/request.cpp:157,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/rpc/request.cpp:159,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/rpc/request.cpp:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cookie_out
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: GetAuthCookie
    functionSourceFile: /src/bitcoin-core/src/rpc/request.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::close
    - GetAuthCookieFile
    - std::ifstream::is_open
    - std::ifstream::open
    - fs::path::empty
    - std::getline
    linkageType: ''
    returnType: bool
    signature: bool GetAuthCookie(std::string *cookie_out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/rpc/request.cpp:172,1
    - Dst: GetAuthCookieFile
      Src: /src/bitcoin-core/src/rpc/request.cpp:172,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/rpc/request.cpp:175,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/rpc/request.cpp:175,1
    - Dst: path1
      Src: /src/bitcoin-core/src/rpc/request.cpp:175,1
    - Dst: code
      Src: /src/bitcoin-core/src/rpc/request.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: DeleteAuthCookie
    functionSourceFile: /src/bitcoin-core/src/rpc/request.cpp
    functionUses: 1
    functionsReached:
    - code
    - GetAuthCookieFile
    - wallet::WalletImpl::remove
    - LogWarning
    - path1
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void DeleteAuthCookie()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isArray
      Src: /src/bitcoin-core/src/rpc/request.cpp:181,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/request.cpp:182,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/request.cpp:184,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/rpc/request.cpp:186,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/rpc/request.cpp:187,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/request.cpp:188,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/request.cpp:190,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/request.cpp:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: JSONRPCProcessBatchReply
    functionSourceFile: /src/bitcoin-core/src/rpc/request.cpp
    functionUses: 2
    functionsReached:
    - getValues
    - isArray
    - std::runtime_error
    - isObject
    - size
    - getInt
    linkageType: ''
    returnType: std::vector<UniValue>
    signature: std::vector<UniValue> JSONRPCProcessBatchReply(const UniValue& in)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isObject
      Src: /src/bitcoin-core/src/rpc/request.cpp:202,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/request.cpp:203,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/rpc/request.cpp:204,1
    - Dst: exists
      Src: /src/bitcoin-core/src/rpc/request.cpp:207,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/request.cpp:208,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/request.cpp:215,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/request.cpp:216,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/rpc/request.cpp:217,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/request.cpp:218,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/request.cpp:223,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/request.cpp:225,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/request.cpp:228,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/request.cpp:233,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/request.cpp:234,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/request.cpp:235,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/rpc/request.cpp:236,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/request.cpp:237,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/request.cpp:238,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/rpc/request.cpp:240,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/rpc/request.cpp:240,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/rpc/request.cpp:243,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/rpc/request.cpp:243,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/request.cpp:246,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/rpc/request.cpp:247,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/rpc/request.cpp:247,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/request.cpp:249,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rpc/request.cpp:250,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/request.cpp:252,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 1
    argNames:
    - ' valRequest'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 253
    functionName: JSONRPCRequest::parse
    functionSourceFile: /src/bitcoin-core/src/rpc/request.cpp
    functionUses: 1
    functionsReached:
    - isArray
    - find_value
    - UniValue
    - LogDebug
    - isObject
    - isNull
    - get_str
    - isStr
    - JSONRPCError
    - SanitizeString
    - exists
    - get_obj
    linkageType: ''
    returnType: void
    signature: void JSONRPCRequest::parse(const UniValue& valRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegisterBlockchainRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:28,1
    - Dst: RegisterFeeRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:29,1
    - Dst: RegisterMempoolRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:30,1
    - Dst: RegisterMiningRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:31,1
    - Dst: RegisterNodeRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:32,1
    - Dst: RegisterNetRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:33,1
    - Dst: RegisterOutputScriptRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:34,1
    - Dst: RegisterRawTransactionRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:35,1
    - Dst: RegisterSignMessageRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:36,1
    - Dst: RegisterSignerRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:38,1
    - Dst: RegisterTxoutProofRPCCommands
      Src: /src/bitcoin-core/src/rpc/register.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: RegisterAllCoreRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/register.h
    functionUses: 2
    functionsReached:
    - RegisterMempoolRPCCommands
    - RegisterRawTransactionRPCCommands
    - RegisterNetRPCCommands
    - RegisterSignerRPCCommands
    - RegisterMiningRPCCommands
    - RegisterSignMessageRPCCommands
    - RegisterBlockchainRPCCommands
    - RegisterFeeRPCCommands
    - RegisterOutputScriptRPCCommands
    - RegisterNodeRPCCommands
    - RegisterTxoutProofRPCCommands
    linkageType: ''
    returnType: void
    signature: void RegisterAllCoreRPCCommands(CRPCTable &t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:60,1
    - Dst: TxToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:66,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:66,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:68,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:69,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:71,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:71,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:72,1
    - Dst: m_chain::Contains
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:74,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:75,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:75,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:76,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:76,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:77,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:77,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' tx'
    - hashBlock
    - ' entry'
    - ' active_chainstate'
    argTypes:
    - CTransaction
    - uint256
    - UniValue
    - Chainstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 83
    functionName: TxToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - uint256::IsNull
    - pushKV
    - uint256::GetHex
    - TxToUniv
    - LOCK
    - m_blockman::LookupBlockIndex
    - m_chain::Contains
    - m_chain::Height
    - CBlockIndex*::GetBlockTime
    - CHECK_NONFATAL
    linkageType: ''
    returnType: void
    signature: "void TxToJSON(const CTransaction& tx, const uint256 hashBlock, UniValue&
      entry,\n                     Chainstate& active_chainstate, const CTxUndo* txundo
      = nullptr,\n                     TxVerbosity verbosity = TxVerbosity::SHOW_DETAILS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScriptPubKeyDoc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txid_field_doc'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 124
    functionName: DecodeTxDoc
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - ScriptPubKeyDoc
    linkageType: ''
    returnType: std::vector<RPCResult>
    signature: std::vector<RPCResult> DecodeTxDoc(const std::string& txid_field_doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 162
    functionName: CreateTxDoc
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RPCArg>
    signature: std::vector<RPCArg> CreateTxDoc()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:169,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:171,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:172,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:172,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:175,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:176,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:185,1
    - Dst: PartiallySignedTransaction::inputs::at
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:186,1
    - Dst: PartiallySignedTransaction::tx::vin::at
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:187,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:196,1
    - Dst: FindTx
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:197,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:201,1
    - Dst: std::map::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:211,1
    - Dst: FindCoins
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:212,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:213,1
    - Dst: PartiallySignedTransaction::inputs::at
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:214,1
    - Dst: PartiallySignedTransaction::tx::vin::at
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:218,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:219,1
    - Dst: out::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:220,1
    - Dst: IsSegWitOutput
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:220,1
    - Dst: PrecomputePSBTData
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:227,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:229,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:230,1
    - Dst: PartiallySignedTransaction::inputs::at
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:230,1
    - Dst: SignPSBTInput
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:239,1
    - Dst: JSONRPCPSBTError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:240,1
    - Dst: PartiallySignedTransaction::tx::vout::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:245,1
    - Dst: UpdatePSBTOutput
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:246,1
    - Dst: RemoveUnnecessaryTransactions
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:249,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 5
    argNames:
    - ' psbt_string'
    - ' context'
    - ' provider'
    - sighash_type
    - finalize
    argTypes:
    - std::string
    - std::any
    - HidingSigningProvider
    - std::optional<int>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 252
    functionName: ProcessPSBT
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - IsSegWitOutput
    - FindTx
    - PartiallySignedTransaction::tx::vin::size
    - std::map::empty
    - mempool::get
    - PSBTInputSigned
    - BlockUntilSyncedToCurrentChain
    - UpdatePSBTOutput
    - FindCoins
    - PrecomputePSBTData
    - EnsureAnyNodeContext
    - strprintf
    - uint256::uint256
    - PartiallySignedTransaction::tx::vin::at
    - RemoveUnnecessaryTransactions
    - DecodeBase64PSBT
    - PartiallySignedTransaction::inputs::at
    - std::map::at
    - JSONRPCPSBTError
    - PartiallySignedTransaction::tx::vout::size
    - SignPSBTInput
    - JSONRPCError
    - out::IsNull
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: PartiallySignedTransaction
    signature: PartiallySignedTransaction ProcessPSBT(const std::string& psbt_string,
      const std::any& context, const HidingSigningProvider& provider, std::optional<int>
      sighash_type, bool finalize)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:280,1
    - Dst: DecodeTxDoc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:289,1
    - Dst: ScriptPubKeyDoc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:306,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:313,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:314,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:315,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:316,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:317,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:318,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:322,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:323,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:325,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:328,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:330,1
    - Dst: ParseVerbosity
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:333,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:335,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:336,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:338,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:339,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:341,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:347,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:350,1
    - Dst: GetTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:351,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:351,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:355,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:357,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:367,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:371,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:376,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:377,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:377,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:380,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:381,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:382,1
    - Dst: TxToJSON
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:385,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:385,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:390,1
    - Dst: CTransactionRef::IsCoinBase
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:392,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:392,1
    - Dst: TxToJSON
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:393,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:393,1
    - Dst: m_blockman::ReadBlockUndo
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:396,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:397,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:399,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:400,1
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:404,1
    - Dst: CBlock::vtx::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:404,1
    - Dst: CBlock::vtx::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:404,1
    - Dst: CBlock::vtx::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:405,1
    - Dst: CBlockUndo::vtxundo::at
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:407,1
    - Dst: CBlock::vtx::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:407,1
    - Dst: TxToJSON
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:409,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:409,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 413
    functionName: getrawtransaction
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - CBlockUndo::vtxundo::at
    - CBlock::vtx::begin
    - CBlock::CBlock
    - m_blockman::ReadBlockUndo
    - GetTransaction
    - CBlock::vtx::end
    - mempool::get
    - BlockUntilSyncedToCurrentChain
    - ParseHashV
    - HelpExampleCli
    - GetParams
    - ScriptPubKeyDoc
    - CTransactionRef::IsCoinBase
    - std::find_if
    - TxToJSON
    - EnsureChainman
    - WITH_LOCK
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - m_blockman::LookupBlockIndex
    - isNull
    - ActiveChain
    - ParseVerbosity
    - UniValue::pushKV
    - uint256::uint256
    - DecodeTxDoc
    - LOCK
    - ActiveChainstate
    - EncodeHexTx
    - JSONRPCError
    - m_blockman::ReadBlock
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getrawtransaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateTxDoc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:424,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:429,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:430,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:431,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:432,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:437,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:438,1
    - Dst: ConstructTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:440,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:442,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 445
    functionName: createrawtransaction
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - CTransaction
    - CreateTxDoc
    - HelpExampleRpc
    - isNull
    - ConstructTransaction
    - EncodeHexTx
    - get_bool
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan createrawtransaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeTxDoc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:463,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:466,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:467,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:471,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:473,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:473,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:474,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:474,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:476,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:476,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:477,1
    - Dst: TxToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:481,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:481,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:481,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 447
    functionDepth: 5
    functionLinenumber: 447
    functionLinenumberEnd: 486
    functionName: decoderawtransaction
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - HelpExampleCli
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - std::move
    - HelpExampleRpc
    - JSONRPCError
    - TxToUniv
    - isNull
    - get_str
    - DecodeHexTx
    - get_bool
    - DecodeTxDoc
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan decoderawtransaction()
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: GetAllOutputTypes
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:501,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:518,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:519,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:524,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:525,1
    - Dst: ParseHexV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:526,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:527,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:527,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:527,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:531,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:534,1
    - Dst: CScript::HasValidOps
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:554,1
    - Dst: CScript::IsUnspendable
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:554,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:557,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:557,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:559,1
    - Dst: CScript::GetOp
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:559,1
    - Dst: IsOpSuccess
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:560,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:568,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:568,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:568,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:578,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:578,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:597,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:601,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:604,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:604,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:604,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:606,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:606,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:609,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:610,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:610,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:612,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:613,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:613,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:613,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:614,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:614,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 488
    functionDepth: 4
    functionLinenumber: 488
    functionLinenumberEnd: 621
    functionName: decodescript
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - EncodeDestination
    - GetScriptForDestination
    - std::move
    - CPubKey
    - ScriptToUniv
    - CHECK_NONFATAL
    - std::vector::end
    - ScriptHash
    - HelpExampleCli
    - WitnessV0KeyHash
    - NONFATAL_UNREACHABLE
    - Solver
    - GetAllOutputTypes
    - CScriptID
    - CScript::end
    - ParseHexV
    - HelpExampleRpc
    - CScript::HasValidOps
    - WitnessV0ScriptHash
    - UniValue::pushKV
    - get_str
    - CScript::CScript
    - CScript::GetOp
    - Hash160
    - CScript::IsUnspendable
    - std::vector::begin
    - size
    - IsOpSuccess
    - CScript
    - CScript::begin
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan decodescript()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:641,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:646,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:647,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:649,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:650,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:650,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:651,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:651,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:655,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:656,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:667,1
    - Dst: EnsureMemPool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:668,1
    - Dst: EnsureChainman
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:669,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:670,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:671,1
    - Dst: CCoinsViewCache::SetBackend
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:673,1
    - Dst: CCoinsViewCache::AccessCoin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:676,1
    - Dst: CCoinsViewCache::SetBackend
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:679,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:686,1
    - Dst: CCoinsViewCache::AccessCoin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:688,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:689,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:690,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:696,1
    - Dst: SignatureData::MergeSignatureData
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:697,1
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:697,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:700,1
    - Dst: MutableTransactionSignatureCreator
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:700,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:702,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:705,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:705,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 623
    functionDepth: 5
    functionLinenumber: 623
    functionLinenumberEnd: 708
    functionName: combinerawtransaction
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - CCoinsViewCache::SetBackend
    - MutableTransactionSignatureCreator
    - LOCK2
    - UpdateInput
    - get_array
    - DataFromTransaction
    - HelpExampleCli
    - CMutableTransaction::vin::size
    - DecodeHexTx
    - std::vector::empty
    - ProduceSignature
    - SignatureData::MergeSignatureData
    - CTransaction
    - EnsureMemPool
    - EnsureChainman
    - EnsureAnyNodeContext
    - strprintf
    - get_str
    - UniValue::size
    - vin::size
    - IsSpent
    - CCoinsViewCache::AccessCoin
    - ActiveChainstate
    - EncodeHexTx
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan combinerawtransaction()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:773,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:774,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:778,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:779,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:779,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:780,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:784,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:785,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:787,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:787,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:788,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:789,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:792,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:793,1
    - Dst: FlatSigningProvider::pubkeys::emplace
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:794,1
    - Dst: FlatSigningProvider::keys::emplace
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:795,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:803,1
    - Dst: FindCoins
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:804,1
    - Dst: ParsePrevouts
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:807,1
    - Dst: SignTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 814
    functionName: signrawtransactionwithkey
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::GetID
    - FlatSigningProvider::pubkeys::emplace
    - get_array
    - CKey::IsValid
    - HelpExampleCli
    - UniValue::get_str
    - DecodeHexTx
    - SignTransaction
    - CMutableTransaction::CMutableTransaction
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - DecodeSecret
    - get_str
    - CKey::GetPubKey
    - ParsePrevouts
    - size
    - JSONRPCError
    - FlatSigningProvider::keys::emplace
    - FindCoins
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan signrawtransactionwithkey()
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1097,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1102,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1104,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1104,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1105,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1105,1
    - Dst: TxToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1112,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1112,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1112,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1113,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1113,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1120,1
    - Dst: EncodeWithVersion
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1121,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1121,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1124,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1124,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1125,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1125,1
    - Dst: std::span<unsigned char>
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1125,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1126,1
    - Dst: WriteHDKeypath
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1126,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1127,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1127,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1130,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1130,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1133,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1133,1
    - Dst: PartiallySignedTransaction::GetVersion
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1133,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1139,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1139,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1140,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1141,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1141,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1142,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1142,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1143,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1143,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1145,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1145,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1150,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1150,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1150,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1152,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1152,1
    - Dst: PartiallySignedTransaction::inputs::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1158,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1163,1
    - Dst: witness_utxo::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1164,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1168,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1171,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1171,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1172,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1172,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1174,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1174,1
    - Dst: TxToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1182,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1182,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1183,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1183,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1188,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1188,1
    - Dst: partial_sigs::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1199,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1202,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1202,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1202,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1204,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1204,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1209,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1209,1
    - Dst: redeem_script::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1213,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1215,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1216,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1216,1
    - Dst: witness_script::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1218,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1220,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1221,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1221,1
    - Dst: hd_keypaths::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1225,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1229,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1229,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1231,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1231,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1231,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1232,1
    - Dst: WriteHDKeypath
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1232,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1233,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1233,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1235,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1235,1
    - Dst: final_script_sig::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1239,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1241,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1241,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1242,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1242,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1243,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1243,1
    - Dst: final_script_witness::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1245,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1248,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1248,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1250,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1250,1
    - Dst: ripemd160_preimages::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1254,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1257,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1257,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1257,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1259,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1259,1
    - Dst: sha256_preimages::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1263,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1266,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1266,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1266,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1268,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1268,1
    - Dst: hash160_preimages::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1272,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1275,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1275,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1275,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1277,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1277,1
    - Dst: hash256_preimages::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1281,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1284,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1284,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1284,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1286,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1286,1
    - Dst: m_tap_key_sig::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1290,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1291,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1291,1
    - Dst: m_tap_script_sigs::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1295,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1300,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1300,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1301,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1301,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1302,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1302,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1303,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1303,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1305,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1305,1
    - Dst: m_tap_scripts::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1309,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1314,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1314,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1315,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1318,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1318,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1320,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1320,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1321,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1321,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1323,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1323,1
    - Dst: m_tap_bip32_paths::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1327,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1332,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1332,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1333,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1333,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1333,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1334,1
    - Dst: WriteHDKeypath
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1334,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1337,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1337,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1339,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1339,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1340,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1340,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1342,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1342,1
    - Dst: m_tap_internal_key::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1346,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1347,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1347,1
    - Dst: m_tap_merkle_root::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1351,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1352,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1352,1
    - Dst: m_musig2_participants::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1356,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1360,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1360,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1363,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1363,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1365,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1366,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1368,1
    - Dst: m_musig2_pubnonces::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1370,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1376,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1376,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1377,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1377,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1378,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1378,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1378,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1379,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1379,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1380,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1383,1
    - Dst: m_musig2_partial_sigs::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1385,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1391,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1391,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1392,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1392,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1393,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1393,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1393,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1394,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1394,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1395,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1398,1
    - Dst: m_proprietary::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1402,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1406,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1406,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1407,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1408,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1408,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1409,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1409,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1410,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1410,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1412,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1412,1
    - Dst: unknown::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1416,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1419,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1419,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1419,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1421,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1421,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1424,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1424,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1426,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1426,1
    - Dst: PartiallySignedTransaction::outputs::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1431,1
    - Dst: redeem_script::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1435,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1437,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1438,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1438,1
    - Dst: witness_script::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1440,1
    - Dst: ScriptToUniv
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1442,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1443,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1443,1
    - Dst: hd_keypaths::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1447,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1451,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1451,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1452,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1452,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1452,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1453,1
    - Dst: WriteHDKeypath
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1453,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1454,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1454,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1456,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1456,1
    - Dst: m_tap_internal_key::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1460,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1461,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1461,1
    - Dst: m_tap_tree::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1465,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1469,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1470,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1471,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1471,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1472,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1472,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1474,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1474,1
    - Dst: m_tap_bip32_paths::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1478,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1483,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1483,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1484,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1484,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1484,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1485,1
    - Dst: WriteHDKeypath
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1485,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1488,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1488,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1490,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1490,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1491,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1491,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1493,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1493,1
    - Dst: m_musig2_participants::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1497,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1501,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1501,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1504,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1504,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1506,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1507,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1509,1
    - Dst: m_proprietary::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1513,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1517,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1517,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1518,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1519,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1519,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1520,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1520,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1521,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1521,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1523,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1523,1
    - Dst: unknown::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1527,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1530,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1530,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1530,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1532,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1532,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1535,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1535,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1538,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1538,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1545,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1545,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1547,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1547,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 266
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1052
    functionDepth: 5
    functionLinenumber: 1052
    functionLinenumberEnd: 1553
    functionName: decodepsbt
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - hash160_preimages::empty
    - m_tap_internal_key::IsNull
    - sha256_preimages::empty
    - std::move
    - m_tap_tree::empty
    - witness_script::empty
    - m_musig2_pubnonces::empty
    - unknown::size
    - PartiallySignedTransaction::outputs::size
    - partial_sigs::empty
    - ScriptToUniv
    - witness_utxo::IsNull
    - EncodeWithVersion
    - final_script_witness::IsNull
    - m_tap_merkle_root::IsNull
    - redeem_script::empty
    - m_tap_scripts::empty
    - HelpExampleCli
    - ReadBE32
    - SighashToStr
    - m_tap_key_sig::empty
    - UniValue::push_back
    - TxToUniv
    - std::vector::assign
    - m_proprietary::empty
    - ScriptToAsmStr
    - static_cast<uint64_t>
    - uint256
    - m_musig2_partial_sigs::empty
    - CTransaction
    - WriteHDKeypath
    - ValueFromAmount
    - m_tap_bip32_paths::empty
    - hash256_preimages::empty
    - UniValue::pushKV
    - strprintf
    - get_str
    - IsNull
    - hd_keypaths::empty
    - m_tap_script_sigs::empty
    - EncodeBase58Check
    - DecodeBase64PSBT
    - std::span<unsigned char>
    - std::vector::data
    - PartiallySignedTransaction::GetVersion
    - final_script_sig::empty
    - ripemd160_preimages::empty
    - m_musig2_participants::empty
    - PartiallySignedTransaction::inputs::size
    - JSONRPCError
    - HexStr
    - MoneyRange
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan decodepsbt()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1572,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1578,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1579,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1580,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1582,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1583,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1585,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1585,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1586,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1586,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1588,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1591,1
    - Dst: CombinePSBTs
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1592,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1593,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1555
    functionDepth: 5
    functionLinenumber: 1555
    functionLinenumberEnd: 1601
    functionName: combinepsbt
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - UniValue::empty
    - HelpExampleCli
    - DecodeBase64PSBT
    - strprintf
    - CombinePSBTs
    - EncodeBase64
    - std::vector::push_back
    - get_str
    - get_array
    - JSONRPCError
    - UniValue::size
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan combinepsbt()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1624,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1629,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1631,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1631,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1632,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1632,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1635,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1635,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1635,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1637,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1638,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1645,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1646,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1647,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1650,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1650,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1651,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1603
    functionDepth: 5
    functionLinenumber: 1603
    functionLinenumberEnd: 1658
    functionName: finalizepsbt
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - DecodeBase64PSBT
    - HexStr
    - CMutableTransaction::CMutableTransaction
    - EncodeBase64
    - get_bool
    - JSONRPCError
    - DataStream::str
    - isNull
    - TX_WITH_WITNESS
    - UniValue::pushKV
    - strprintf
    - get_str
    - FinalizeAndExtractPSBT
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan finalizepsbt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateTxDoc
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1668,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1673,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1679,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1680,1
    - Dst: ConstructTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1682,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1685,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1687,1
    - Dst: PartiallySignedTransaction::inputs::emplace_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1688,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1690,1
    - Dst: PartiallySignedTransaction::outputs::emplace_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1691,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1660
    functionDepth: 1
    functionLinenumber: 1660
    functionLinenumberEnd: 1701
    functionName: createpsbt
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - CMutableTransaction::vin::size
    - PartiallySignedTransaction::outputs::emplace_back
    - CreateTxDoc
    - EncodeBase64
    - isNull
    - ConstructTransaction
    - get_bool
    - CMutableTransaction::vout::size
    - PartiallySignedTransaction::inputs::emplace_back
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan createpsbt()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1726,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1728,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1733,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1734,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1734,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1735,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1736,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1739,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1739,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1740,1
    - Dst: scriptSig::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1745,1
    - Dst: scriptWitness::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1745,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1746,1
    - Dst: scriptSig::clear
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1748,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1749,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1753,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1755,1
    - Dst: PartiallySignedTransaction::inputs::emplace_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1756,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1758,1
    - Dst: PartiallySignedTransaction::outputs::emplace_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1759,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1766,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1703
    functionDepth: 5
    functionLinenumber: 1703
    functionLinenumberEnd: 1769
    functionName: converttopsbt
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - scriptWitness::SetNull
    - CMutableTransaction::vin::size
    - scriptSig::clear
    - CMutableTransaction::CMutableTransaction
    - PartiallySignedTransaction::outputs::emplace_back
    - EncodeBase64
    - scriptSig::empty
    - JSONRPCError
    - scriptWitness::IsNull
    - isNull
    - get_str
    - DecodeHexTx
    - get_bool
    - CMutableTransaction::vout::size
    - PartiallySignedTransaction::inputs::emplace_back
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan converttopsbt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1790,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1796,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1797,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1798,1
    - Dst: EvalDescriptorStringOrObject
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1799,1
    - Dst: ProcessPSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1804,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1805,1
    - Dst: HidingSigningProvider
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1807,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1771
    functionDepth: 6
    functionLinenumber: 1771
    functionLinenumberEnd: 1816
    functionName: utxoupdatepsbt
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - HelpExampleCli
    - ProcessPSBT
    - EncodeBase64
    - HidingSigningProvider
    - isNull
    - get_array
    - get_str
    - EvalDescriptorStringOrObject
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan utxoupdatepsbt()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1834,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1840,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1842,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1843,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1848,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1849,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1851,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1851,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1852,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1852,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1854,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1866,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1867,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1873,1
    - Dst: PartiallySignedTransaction::AddInput
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1874,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1875,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1875,1
    - Dst: prevout::hash::ToString
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1875,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1878,1
    - Dst: PartiallySignedTransaction::AddOutput
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1879,1
    - Dst: PartiallySignedTransaction::m_xpubs::count
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1882,1
    - Dst: insert
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1885,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1885,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1885,1
    - Dst: PartiallySignedTransaction::unknown::insert
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1888,1
    - Dst: unknown::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1888,1
    - Dst: unknown::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1888,1
    - Dst: PartiallySignedTransaction::inputs::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1892,1
    - Dst: std::iota
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1893,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1893,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1893,1
    - Dst: PartiallySignedTransaction::outputs::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1894,1
    - Dst: std::iota
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1895,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1895,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1895,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1898,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1898,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1898,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1898,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1899,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1899,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1899,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1899,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1901,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1902,1
    - Dst: PartiallySignedTransaction::AddInput
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1906,1
    - Dst: PartiallySignedTransaction::AddOutput
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1909,1
    - Dst: PartiallySignedTransaction::unknown::insert
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1911,1
    - Dst: PartiallySignedTransaction::unknown::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1911,1
    - Dst: PartiallySignedTransaction::unknown::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1911,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1915,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1818
    functionDepth: 5
    functionLinenumber: 1818
    functionLinenumberEnd: 1918
    functionName: joinpsbts
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - PartiallySignedTransaction::unknown::begin
    - tx::vout::size
    - EncodeBase64
    - std::vector::push_back
    - std::shuffle
    - PartiallySignedTransaction::outputs::size
    - get_array
    - second::begin
    - std::vector::end
    - HelpExampleCli
    - PartiallySignedTransaction::m_xpubs::count
    - CMutableTransaction
    - PartiallySignedTransaction::AddOutput
    - unknown::begin
    - PartiallySignedTransaction::unknown::insert
    - tx::vin::size
    - PartiallySignedTransaction::unknown::end
    - JSONRPCError
    - strprintf
    - get_str
    - UniValue::size
    - second::end
    - std::iota
    - unknown::end
    - DecodeBase64PSBT
    - std::vector::begin
    - PartiallySignedTransaction::inputs::size
    - FastRandomContext
    - PartiallySignedTransaction::AddInput
    - insert
    - prevout::hash::ToString
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan joinpsbts()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1961,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1966,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1968,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1968,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1969,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1969,1
    - Dst: AnalyzePSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1972,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1980,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1981,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1982,1
    - Dst: PSBTRoleName
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1982,1
    - Dst: missing_pubkeys::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1984,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1987,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1987,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1989,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1989,1
    - Dst: missing_redeem_script::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1991,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1992,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1992,1
    - Dst: missing_witness_script::IsNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1994,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1995,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1995,1
    - Dst: missing_sigs::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:1997,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2000,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2000,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2002,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2002,1
    - Dst: UniValue::getKeys
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2004,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2005,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2005,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2007,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2007,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2009,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2009,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2009,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2012,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2015,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2015,1
    - Dst: PSBTAnalysis::estimated_feerate::GetFeePerK
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2015,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2018,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2018,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2020,1
    - Dst: PSBTRoleName
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2020,1
    - Dst: PSBTAnalysis::error::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2021,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2022,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 1920
    functionDepth: 5
    functionLinenumber: 1920
    functionLinenumberEnd: 2028
    functionName: analyzepsbt
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - AnalyzePSBT
    - UniValue::empty
    - HelpExampleCli
    - missing_sigs::empty
    - missing_redeem_script::IsNull
    - UniValue::push_back
    - missing_pubkeys::empty
    - PSBTAnalysis::estimated_feerate::GetFeePerK
    - PSBTRoleName
    - ValueFromAmount
    - UniValue::pushKV
    - strprintf
    - get_str
    - missing_witness_script::IsNull
    - DecodeBase64PSBT
    - UniValue::getKeys
    - PSBTAnalysis::error::empty
    - JSONRPCError
    - HexStr
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan analyzepsbt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2065,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2066,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2073,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2074,1
    - Dst: EvalDescriptorStringOrObject
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2075,1
    - Dst: ParseSighashString
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2078,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2079,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2079,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2080,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2080,1
    - Dst: ProcessPSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2082,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2083,1
    - Dst: HidingSigningProvider
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2085,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2092,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2100,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2100,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2101,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2103,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2105,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2105,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2106,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2107,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2108,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2030
    functionDepth: 6
    functionLinenumber: 2030
    functionLinenumberEnd: 2113
    functionName: descriptorprocesspsbt
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 0
    functionsReached:
    - ParseSighashString
    - auto::size
    - EncodeBase64
    - get_array
    - PSBTInputSigned
    - CHECK_NONFATAL
    - HelpExampleCli
    - TX_WITH_WITNESS
    - ProcessPSBT
    - CMutableTransaction::CMutableTransaction
    - isNull
    - UniValue::pushKV
    - get_str
    - get_bool
    - FinalizeAndExtractPSBT
    - HidingSigningProvider
    - HexStr
    - DataStream::DataStream
    - EvalDescriptorStringOrObject
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan descriptorprocesspsbt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/rawtransaction.cpp:2135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2137
    functionName: RegisterRawTransactionRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction.cpp
    functionUses: 1
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterRawTransactionRPCCommands(CRPCTable& t)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:47,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:48,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:49,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:51,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:52,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:52,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:52,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:54,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:54,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:54,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:59,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:60,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:61,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:62,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:63,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:64,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:66,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:69,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:70,1
    - Dst: AccessByTxid
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:74,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:74,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:75,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:85,1
    - Dst: GetTransaction
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:89,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:89,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:90,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:91,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:94,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:95,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:97,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:102,1
    - Dst: CheckBlockDataAvailability
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:103,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:105,1
    - Dst: m_blockman::ReadBlock
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:106,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:107,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:112,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:112,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:116,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:117,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:123,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 127
    functionName: gettxoutproof
    functionSourceFile: /src/bitcoin-core/src/rpc/txoutproof.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - std::string
    - CBlock::CBlock
    - std::set::insert
    - GetTransaction
    - get_array
    - BlockUntilSyncedToCurrentChain
    - ParseHashV
    - UniValue::empty
    - std::set::begin
    - AccessByTxid
    - uint256::IsNull
    - m_blockman::LookupBlockIndex
    - transaction_identifier::FromUint256
    - isNull
    - get_str
    - UniValue::size
    - CheckBlockDataAvailability
    - std::set::count
    - uint256::uint256
    - std::set::size
    - IsSpent
    - CTransactionRef::GetHash
    - LOCK
    - ActiveChainstate
    - JSONRPCError
    - HexStr
    - m_blockman::ReadBlock
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan gettxoutproof()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseHexV
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:147,1
    - Dst: CMerkleBlock::CMerkleBlock
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:148,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:155,1
    - Dst: EnsureAnyChainman
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:158,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:159,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:161,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:161,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:162,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:163,1
    - Dst: CMerkleBlock::txn::GetNumTransactions
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:167,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:169,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 176
    functionName: verifytxoutproof
    functionSourceFile: /src/bitcoin-core/src/rpc/txoutproof.cpp
    functionUses: 0
    functionsReached:
    - CMerkleBlock::CMerkleBlock
    - CMerkleBlock::txn::ExtractMatches
    - CMerkleBlock::txn::GetNumTransactions
    - ParseHexV
    - UniValue::push_back
    - LOCK
    - m_blockman::LookupBlockIndex
    - ActiveChain
    - JSONRPCError
    - CMerkleBlock::header::GetHash
    - GetHex
    - EnsureAnyChainman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan verifytxoutproof()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/txoutproof.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: RegisterTxoutProofRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/txoutproof.cpp
    functionUses: 1
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterTxoutProofRPCCommands(CRPCTable& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:54,1
    - Dst: GetTxnOutputType
      Src: /src/bitcoin-core/src/rpc/util.cpp:54,1
    - Dst: static_cast<TxoutType>
      Src: /src/bitcoin-core/src/rpc/util.cpp:54,1
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/util.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: GetAllOutputTypes
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - GetTxnOutputType
    - std::vector::emplace_back
    - static_cast<TxoutType>
    - Join
    linkageType: ''
    returnType: std::string
    signature: std::string GetAllOutputTypes()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/util.cpp:65,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:66,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:67,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:67,1
    - Dst: type
      Src: /src/bitcoin-core/src/rpc/util.cpp:69,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:69,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:70,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:70,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/rpc/util.cpp:70,1
    - Dst: type
      Src: /src/bitcoin-core/src/rpc/util.cpp:70,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/rpc/util.cpp:70,1
    - Dst: getKeys
      Src: /src/bitcoin-core/src/rpc/util.cpp:75,1
    - Dst: count
      Src: /src/bitcoin-core/src/rpc/util.cpp:77,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:79,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:80,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 4
    argNames:
    - ' o'
    - ' typesExpected'
    - fAllowNull
    - fStrict
    argTypes:
    - UniValue
    - std::map<std::string, UniValueType>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: RPCTypeCheckObj
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - uvTypeName
    - type
    - find_value
    - getKeys
    - isNull
    - strprintf
    - JSONRPCError
    - count
    linkageType: ''
    returnType: void
    signature: "void RPCTypeCheckObj(const UniValue& o,\n    const std::map<std::string,
      UniValueType>& typesExpected,\n    bool fAllowNull,\n    bool fStrict)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:88,1
    - Dst: isBool
      Src: /src/bitcoin-core/src/rpc/util.cpp:89,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:91,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/util.cpp:93,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/util.cpp:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ' arg'
    - default_verbosity
    - allow_bool
    argTypes:
    - UniValue
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: ParseVerbosity
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 3
    functionsReached:
    - get_bool
    - isNull
    - isBool
    - JSONRPCError
    - getInt
    linkageType: ''
    returnType: int
    signature: int ParseVerbosity(const UniValue& arg, int default_verbosity, bool
      allow_bool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isNum
      Src: /src/bitcoin-core/src/rpc/util.cpp:103,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:103,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:104,1
    - Dst: ParseFixedPoint
      Src: /src/bitcoin-core/src/rpc/util.cpp:106,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:106,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:107,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/rpc/util.cpp:108,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ' value'
    - decimals
    argTypes:
    - UniValue
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: AmountFromValue
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 5
    functionsReached:
    - getValStr
    - ParseFixedPoint
    - isNum
    - isStr
    - JSONRPCError
    - MoneyRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount AmountFromValue(const UniValue& value, int decimals)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/rpc/util.cpp:115,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' json'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ParseFeeRate
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 3
    functionsReached:
    - JSONRPCError
    - AmountFromValue
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate ParseFeeRate(const UniValue& json)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint256::FromHex
      Src: /src/bitcoin-core/src/rpc/util.cpp:123,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/rpc/util.cpp:124,1
    - Dst: length
      Src: /src/bitcoin-core/src/rpc/util.cpp:124,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:125,1
    - Dst: length
      Src: /src/bitcoin-core/src/rpc/util.cpp:125,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:127,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' v'
    - name
    argTypes:
    - UniValue
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: ParseHashV
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 21
    functionsReached:
    - length
    - uint256::FromHex
    - strprintf
    - JSONRPCError
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: uint256
    signature: uint256 ParseHashV(const UniValue& v, std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/rpc/util.cpp:131,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/util.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - strKey
    argTypes:
    - UniValue
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 6
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: ParseHashO
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - find_value
    - ParseHashV
    linkageType: ''
    returnType: uint256
    signature: uint256 ParseHashO(const UniValue& o, std::string_view strKey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:136,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/util.cpp:137,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/rpc/util.cpp:138,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:139,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:139,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/rpc/util.cpp:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' v'
    - name
    argTypes:
    - UniValue
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: ParseHexV
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - IsHex
    - JSONRPCError
    - isStr
    - strprintf
    - get_str
    - ParseHex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ParseHexV(const UniValue& v, std::string_view
      name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseHexV
      Src: /src/bitcoin-core/src/rpc/util.cpp:144,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/util.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - strKey
    argTypes:
    - UniValue
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 6
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: ParseHexO
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - find_value
    - ParseHexV
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ParseHexO(const UniValue& o, std::string_view
      strKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/rpc/util.cpp:157,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: ShellQuote
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - std::string::reserve
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string ShellQuote(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ShellQuote
      Src: /src/bitcoin-core/src/rpc/util.cpp:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: ShellQuoteIfNeeded
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - ShellQuote
    linkageType: ''
    returnType: std::string
    signature: std::string ShellQuoteIfNeeded(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/rpc/util.cpp:157,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: ShellQuote
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - std::string::reserve
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string ShellQuote(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ShellQuote
      Src: /src/bitcoin-core/src/rpc/util.cpp:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: ShellQuoteIfNeeded
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - ShellQuote
    linkageType: ''
    returnType: std::string
    signature: std::string ShellQuoteIfNeeded(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' methodname'
    - ' args'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: HelpExampleCli
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 83
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string HelpExampleCli(const std::string& methodname, const std::string&
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::isStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:195,1
    - Dst: second::get_str
      Src: /src/bitcoin-core/src/rpc/util.cpp:196,1
    - Dst: second::write
      Src: /src/bitcoin-core/src/rpc/util.cpp:197,1
    - Dst: ShellQuoteIfNeeded
      Src: /src/bitcoin-core/src/rpc/util.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' methodname'
    - ' args'
    argTypes:
    - std::string
    - RPCArgList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: HelpExampleCliNamed
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - second::get_str
    - ShellQuoteIfNeeded
    - second::isStr
    - second::write
    linkageType: ''
    returnType: std::string
    signature: std::string HelpExampleCliNamed(const std::string& methodname, const
      RPCArgList& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' methodname'
    - ' args'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: HelpExampleRpc
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string HelpExampleRpc(const std::string& methodname, const std::string&
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:214,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rpc/util.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' methodname'
    - ' args'
    argTypes:
    - std::string
    - RPCArgList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: HelpExampleRpcNamed
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - UniValue::write
    - UniValue::pushKV
    linkageType: ''
    returnType: std::string
    signature: std::string HelpExampleRpcNamed(const std::string& methodname, const
      RPCArgList& args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsHex
      Src: /src/bitcoin-core/src/rpc/util.cpp:224,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:225,1
    - Dst: length
      Src: /src/bitcoin-core/src/rpc/util.cpp:227,1
    - Dst: length
      Src: /src/bitcoin-core/src/rpc/util.cpp:227,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:228,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/rpc/util.cpp:231,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - ' hex_in'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 5
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: HexToPubKey
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - JSONRPCError
    - IsHex
    - CPubKey::IsFullyValid
    - length
    linkageType: ''
    returnType: CPubKey
    signature: CPubKey HexToPubKey(const std::string& hex_in)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:242,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:244,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:245,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:245,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:245,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:247,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:248,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:248,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/rpc/util.cpp:251,1
    - Dst: IsCompressed
      Src: /src/bitcoin-core/src/rpc/util.cpp:255,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:261,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:262,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:262,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:262,1
    - Dst: AddAndGetDestinationForScript
      Src: /src/bitcoin-core/src/rpc/util.cpp:266,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - required
    - ' pubkeys'
    - type
    - ' keystore'
    - ' script_out'
    argTypes:
    - int
    - std::vector<CPubKey>
    - OutputType
    - FlatSigningProvider
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 269
    functionName: AddAndGetMultisigDestination
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - size
    - AddAndGetDestinationForScript
    - strprintf
    - JSONRPCError
    - IsCompressed
    - GetScriptForMultisig
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination AddAndGetMultisigDestination(const int required, const
      std::vector<CPubKey>& pubkeys, OutputType type, FlatSigningProvider& keystore,
      CScript& script_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: DescribeAddressVisitor::DescribeAddressVisitor
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescribeAddressVisitor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rpc/util.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: operator()(const CNoDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const CNoDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rpc/util.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: operator()(const PubKeyDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const PubKeyDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:289,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' keyID'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: operator()(const PKHash& keyID) const
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const PKHash& keyID) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:297,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' scriptID'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: operator()(const ScriptHash& scriptID) const
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const ScriptHash& scriptID) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:305,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:306,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:307,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:308,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: operator()(const WitnessV0KeyHash& id) const
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessV0KeyHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:315,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:316,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:317,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:318,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: operator()(const WitnessV0ScriptHash& id) const
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessV0ScriptHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:325,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:326,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:327,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:328,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' tap'
    argTypes:
    - WitnessV1Taproot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: operator()(const WitnessV1Taproot& tap) const
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessV1Taproot& tap) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:335,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' anchor'
    argTypes:
    - PayToAnchor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: operator()(const PayToAnchor& anchor) const
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const PayToAnchor& anchor) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:343,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:344,1
    - Dst: GetWitnessVersion
      Src: /src/bitcoin-core/src/rpc/util.cpp:344,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:345,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:345,1
    - Dst: GetWitnessProgram
      Src: /src/bitcoin-core/src/rpc/util.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: operator()(const WitnessUnknown& id) const
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    - GetWitnessProgram
    - GetWitnessVersion
    - UniValue::pushKV
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessUnknown& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/rpc/util.cpp:352,1
    - Dst: DescribeAddressVisitor
      Src: /src/bitcoin-core/src/rpc/util.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: DescribeAddress
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - DescribeAddressVisitor
    - std::visit
    linkageType: ''
    returnType: UniValue
    signature: UniValue DescribeAddress(const CTxDestination& dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:362,1
    - Dst: SighashFromStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:365,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/util.cpp:365,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:367,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/rpc/util.cpp:367,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/rpc/util.cpp:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' sighash'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 5
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: ParseSighashString
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - auto::value
    - SighashFromStr
    - util::ErrorString
    - JSONRPCError
    - isNull
    - get_str
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> ParseSighashString(const UniValue& sighash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/util.cpp:374,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/rpc/util.cpp:375,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:377,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' value'
    - max_target
    argTypes:
    - UniValue
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: ParseConfirmTarget
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - JSONRPCError
    - static_cast<unsigned int>
    - getInt
    - strprintf
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ParseConfirmTarget(const UniValue& value, unsigned int
      max_target)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - err
    argTypes:
    - PSBTError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: RPCErrorFromPSBTError
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RPCErrorCode
    signature: RPCErrorCode RPCErrorFromPSBTError(PSBTError err)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - terr
    argTypes:
    - TransactionError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: RPCErrorFromTransactionError
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RPCErrorCode
    signature: RPCErrorCode RPCErrorFromTransactionError(TransactionError terr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:408,1
    - Dst: RPCErrorFromPSBTError
      Src: /src/bitcoin-core/src/rpc/util.cpp:408,1
    - Dst: PSBTErrorString
      Src: /src/bitcoin-core/src/rpc/util.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - PSBTError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 5
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: JSONRPCPSBTError
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - JSONRPCError
    - RPCErrorFromPSBTError
    - PSBTErrorString
    linkageType: ''
    returnType: UniValue
    signature: UniValue JSONRPCPSBTError(PSBTError err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/bitcoin-core/src/rpc/util.cpp:413,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:414,1
    - Dst: RPCErrorFromTransactionError
      Src: /src/bitcoin-core/src/rpc/util.cpp:414,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:416,1
    - Dst: RPCErrorFromTransactionError
      Src: /src/bitcoin-core/src/rpc/util.cpp:416,1
    - Dst: TransactionErrorString
      Src: /src/bitcoin-core/src/rpc/util.cpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - terr
    - ' err_string'
    argTypes:
    - TransactionError
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 5
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: JSONRPCTransactionError
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 3
    functionsReached:
    - JSONRPCError
    - TransactionErrorString
    - RPCErrorFromTransactionError
    - length
    linkageType: ''
    returnType: UniValue
    signature: UniValue JSONRPCTransactionError(TransactionError terr, const std::string&
      err_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' left'
    - ' right'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 426
    functionName: Section
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Section(const std::string& left, const std::string& right)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/rpc/util.cpp:441,1
    - Dst: m_left::size
      Src: /src/bitcoin-core/src/rpc/util.cpp:441,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Section
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: PushSection
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - push_back
    - m_left::size
    linkageType: ''
    returnType: void
    signature: void PushSection(const Section& s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/rpc/util.cpp:451,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/rpc/util.cpp:452,1
    - Dst: m_opts::type_str::size
      Src: /src/bitcoin-core/src/rpc/util.cpp:466,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/rpc/util.cpp:467,1
    - Dst: m_opts::type_str::at
      Src: /src/bitcoin-core/src/rpc/util.cpp:467,1
    - Dst: ToStringObj
      Src: /src/bitcoin-core/src/rpc/util.cpp:469,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/util.cpp:469,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:472,1
    - Dst: ToDescriptionString
      Src: /src/bitcoin-core/src/rpc/util.cpp:472,1
    - Dst: ToDescriptionString
      Src: /src/bitcoin-core/src/rpc/util.cpp:477,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:478,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/rpc/util.cpp:478,1
    - Dst: Push
      Src: /src/bitcoin-core/src/rpc/util.cpp:480,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:483,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:485,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/rpc/util.cpp:490,1
    - Dst: ToDescriptionString
      Src: /src/bitcoin-core/src/rpc/util.cpp:492,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:493,1
    - Dst: Push
      Src: /src/bitcoin-core/src/rpc/util.cpp:495,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:497,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:498,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - RPCArg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 502
    functionName: Push
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 23
    functionsReached:
    - m_opts::type_str::size
    - ToString
    - m_opts::type_str::at
    - GetName
    - std::string
    - ToDescriptionString
    - PushSection
    - Push
    - ToStringObj
    linkageType: ''
    returnType: void
    signature: void Push(const RPCArg& arg, const size_t current_indent = 5, const
      OuterType outer_type = OuterType::NONE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:514,1
    - Dst: m_left::find
      Src: /src/bitcoin-core/src/rpc/util.cpp:514,1
    - Dst: m_right::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:515,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/rpc/util.cpp:522,1
    - Dst: m_right::find_first_of
      Src: /src/bitcoin-core/src/rpc/util.cpp:528,1
    - Dst: m_right::substr
      Src: /src/bitcoin-core/src/rpc/util.cpp:530,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/rpc/util.cpp:534,1
    - Dst: m_right::find_first_not_of
      Src: /src/bitcoin-core/src/rpc/util.cpp:535,1
    - Dst: m_right::find_first_of
      Src: /src/bitcoin-core/src/rpc/util.cpp:539,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 545
    functionName: ToString
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 228
    functionsReached:
    - m_left::find
    - m_right::empty
    - std::string
    - m_right::find_first_of
    - std::string::resize
    - m_right::find_first_not_of
    - CHECK_NONFATAL
    - m_right::substr
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:549,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:549,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:549,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:549,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - name
    - description
    - args
    - results
    - examples
    argTypes:
    - std::string
    - std::string
    - std::vector<RPCArg>
    - RPCResults
    - RPCExamples
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 549
    functionName: RPCHelpMan::RPCHelpMan
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RPCHelpMan::RPCHelpMan(std::string name, std::string description,
      std::vector<RPCArg> args, RPCResults results, RPCExamples examples)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:552,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:553,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:554,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:555,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:556,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:557,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rpc/util.cpp:566,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:570,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:571,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rpc/util.cpp:576,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:579,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:580,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:581,1
    - Dst: m_fallback::index
      Src: /src/bitcoin-core/src/rpc/util.cpp:587,1
    - Dst: std::get<RPCArg::Default>
      Src: /src/bitcoin-core/src/rpc/util.cpp:589,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:591,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:594,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:597,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:600,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:603,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/rpc/util.cpp:609,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 6
    argNames:
    - name
    - description
    - args
    - results
    - examples
    - fun
    argTypes:
    - std::string
    - std::string
    - std::vector<RPCArg>
    - RPCResults
    - RPCExamples
    - RPCMethodImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 614
    functionName: RPCHelpMan::RPCHelpMan
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - std::get<RPCArg::Default>
    - m_fallback::index
    - std::move
    - NONFATAL_UNREACHABLE
    - SplitString
    - CHECK_NONFATAL
    linkageType: ''
    returnType: void
    signature: void RPCHelpMan::RPCHelpMan(std::string name, std::string description,
      std::vector<RPCArg> args, RPCResults results, RPCExamples examples, RPCMethodImpl
      fun)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_cond::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:621,1
    - Dst: ToSections
      Src: /src/bitcoin-core/src/rpc/util.cpp:627,1
    - Dst: Sections::ToString
      Src: /src/bitcoin-core/src/rpc/util.cpp:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 631
    functionName: RPCResults::ToDescriptionString
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - ToSections
    - Sections::ToString
    - m_cond::empty
    linkageType: ''
    returnType: std::string
    signature: std::string RPCResults::ToDescriptionString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: RPCExamples::ToDescriptionString
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string RPCExamples::ToDescriptionString() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RPCHelpMan::GetArgMap
      Src: /src/bitcoin-core/src/rpc/util.cpp:641,1
    - Dst: RPCHelpMan::IsValidNumArgs
      Src: /src/bitcoin-core/src/rpc/util.cpp:647,1
    - Dst: params::size
      Src: /src/bitcoin-core/src/rpc/util.cpp:647,1
    - Dst: RPCHelpMan::ToString
      Src: /src/bitcoin-core/src/rpc/util.cpp:648,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:651,1
    - Dst: at
      Src: /src/bitcoin-core/src/rpc/util.cpp:652,1
    - Dst: MatchesType
      Src: /src/bitcoin-core/src/rpc/util.cpp:653,1
    - Dst: UniValue::isTrue
      Src: /src/bitcoin-core/src/rpc/util.cpp:654,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:655,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:655,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:655,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:658,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:659,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:659,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rpc/util.cpp:659,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:661,1
    - Dst: m_fun
      Src: /src/bitcoin-core/src/rpc/util.cpp:663,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/rpc/util.cpp:665,1
    - Dst: MatchesType
      Src: /src/bitcoin-core/src/rpc/util.cpp:668,1
    - Dst: UniValue::isTrue
      Src: /src/bitcoin-core/src/rpc/util.cpp:669,1
    - Dst: UniValue::setNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:670,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:673,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:673,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:675,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:677,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/util.cpp:678,1
    - Dst: write
      Src: /src/bitcoin-core/src/rpc/util.cpp:678,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/rpc/util.cpp:679,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:681,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/rpc/util.cpp:683,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - JSONRPCRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 638
    functionDepth: 5
    functionLinenumber: 638
    functionLinenumberEnd: 688
    functionName: RPCHelpMan::HandleRequest
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - params::size
    - at
    - std::move
    - FormatFullVersion
    - CHECK_NONFATAL
    - RPCHelpMan::GetArgMap
    - UniValue::empty
    - UniValue::push_back
    - RPCHelpMan::ToString
    - UniValue::setNull
    - MatchesType
    - write
    - RPCHelpMan::IsValidNumArgs
    - UniValue::pushKV
    - strprintf
    - UniValue::size
    - UniValue::write
    - m_fun
    - size
    - UniValue::isTrue
    - UniValue::isNull
    - GetBoolArg
    - JSONRPCError
    linkageType: ''
    returnType: UniValue
    signature: UniValue RPCHelpMan::HandleRequest(const JSONRPCRequest& request) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:693,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:693,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:694,1
    - Dst: at
      Src: /src/bitcoin-core/src/rpc/util.cpp:695,1
    - Dst: check
      Src: /src/bitcoin-core/src/rpc/util.cpp:696,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:698,1
    - Dst: std::holds_alternative<RPCArg::Default>
      Src: /src/bitcoin-core/src/rpc/util.cpp:699,1
    - Dst: std::get<RPCArg::Default>
      Src: /src/bitcoin-core/src/rpc/util.cpp:700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - check
    - ' params'
    - req
    - i
    argTypes:
    - CheckFn*
    - std::vector<RPCArg>
    - JSONRPCRequest*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: DetailMaybeArg
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - check
    - std::get<RPCArg::Default>
    - at
    - size
    - isNull
    - CHECK_NONFATAL
    - std::holds_alternative<RPCArg::Default>
    linkageType: ''
    returnType: UniValue
    signature: UniValue * DetailMaybeArg(CheckFn* check, const std::vector<RPCArg>&
      params, const JSONRPCRequest* req, size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<RPCArg::Optional>
      Src: /src/bitcoin-core/src/rpc/util.cpp:707,1
    - Dst: std::get<RPCArg::Optional>
      Src: /src/bitcoin-core/src/rpc/util.cpp:707,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:709,1
    - Dst: std::holds_alternative<RPCArg::Default>
      Src: /src/bitcoin-core/src/rpc/util.cpp:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' param'
    argTypes:
    - RPCArg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 710
    functionName: CheckRequiredOrDefault
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - std::get<RPCArg::Optional>
    - CHECK_NONFATAL
    - std::holds_alternative<RPCArg::Optional>
    - std::holds_alternative<RPCArg::Default>
    linkageType: ''
    returnType: void
    signature: void CheckRequiredOrDefault(const RPCArg& param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - check_param
    - ','
    - ret_type
    - ','
    - return_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 722
    functionName: TMPL_INST
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TMPL_INST(check_param, ret_type, return_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:739,1
    - Dst: at
      Src: /src/bitcoin-core/src/rpc/util.cpp:740,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - num_args
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 746
    functionName: RPCHelpMan::IsValidNumArgs
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - at
    - size
    linkageType: ''
    returnType: bool
    signature: bool RPCHelpMan::IsValidNumArgs(size_t num_args) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/rpc/util.cpp:751,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:751,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:755,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 761
    functionName: RPCHelpMan::GetArgNames
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::emplace_back
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<std::pair<std::string, bool>>
    signature: std::vector<std::pair<std::string, bool>> RPCHelpMan::GetArgNames()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/rpc/util.cpp:765,1
    - Dst: begin
      Src: /src/bitcoin-core/src/rpc/util.cpp:766,1
    - Dst: end
      Src: /src/bitcoin-core/src/rpc/util.cpp:766,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/rpc/util.cpp:766,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:769,1
    - Dst: end
      Src: /src/bitcoin-core/src/rpc/util.cpp:769,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/rpc/util.cpp:770,1
    - Dst: begin
      Src: /src/bitcoin-core/src/rpc/util.cpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 771
    functionName: RPCHelpMan::GetParamIndex
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::distance
    - GetName
    - CHECK_NONFATAL
    - begin
    - std::find_if
    linkageType: ''
    returnType: size_t
    signature: size_t RPCHelpMan::GetParamIndex(std::string_view key) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IsOptional
      Src: /src/bitcoin-core/src/rpc/util.cpp:782,1
    - Dst: RPCHelpMan::ToString
      Src: /src/bitcoin-core/src/rpc/util.cpp:791,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:796,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/rpc/util.cpp:796,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/rpc/util.cpp:797,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:802,1
    - Dst: at
      Src: /src/bitcoin-core/src/rpc/util.cpp:803,1
    - Dst: Sections::m_sections::emplace_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:807,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/rpc/util.cpp:807,1
    - Dst: GetFirstName
      Src: /src/bitcoin-core/src/rpc/util.cpp:807,1
    - Dst: ToDescriptionString
      Src: /src/bitcoin-core/src/rpc/util.cpp:807,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/rpc/util.cpp:808,1
    - Dst: Sections::m_sections::back
      Src: /src/bitcoin-core/src/rpc/util.cpp:808,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:808,1
    - Dst: Sections::Push
      Src: /src/bitcoin-core/src/rpc/util.cpp:811,1
    - Dst: Sections::PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:816,1
    - Dst: GetFirstName
      Src: /src/bitcoin-core/src/rpc/util.cpp:816,1
    - Dst: ToDescriptionString
      Src: /src/bitcoin-core/src/rpc/util.cpp:816,1
    - Dst: Sections::Push
      Src: /src/bitcoin-core/src/rpc/util.cpp:817,1
    - Dst: Sections::m_sections::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:822,1
    - Dst: Sections::ToString
      Src: /src/bitcoin-core/src/rpc/util.cpp:823,1
    - Dst: Sections::m_sections::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:824,1
    - Dst: Sections::ToString
      Src: /src/bitcoin-core/src/rpc/util.cpp:825,1
    - Dst: ToDescriptionString
      Src: /src/bitcoin-core/src/rpc/util.cpp:828,1
    - Dst: ToDescriptionString
      Src: /src/bitcoin-core/src/rpc/util.cpp:831,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 773
    functionDepth: 3
    functionLinenumber: 773
    functionLinenumberEnd: 834
    functionName: RPCHelpMan::ToString
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - Sections::m_sections::emplace_back
    - util::ToString
    - starts_with
    - TrimString
    - at
    - size
    - Sections::PushSection
    - std::max
    - ToDescriptionString
    - GetFirstName
    - Sections::ToString
    - RPCHelpMan::ToString
    - IsOptional
    - Sections::Push
    - Sections::m_sections::empty
    - CHECK_NONFATAL
    - Sections::m_sections::back
    linkageType: ''
    returnType: std::string
    signature: std::string RPCHelpMan::ToString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:842,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:843,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:844,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:845,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:847,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:847,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:850,1
    - Dst: at
      Src: /src/bitcoin-core/src/rpc/util.cpp:851,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rpc/util.cpp:852,1
    - Dst: push_back_arg_info
      Src: /src/bitcoin-core/src/rpc/util.cpp:854,1
    - Dst: SplitString
      Src: /src/bitcoin-core/src/rpc/util.cpp:857,1
    - Dst: push_back_arg_info
      Src: /src/bitcoin-core/src/rpc/util.cpp:859,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 866
    functionName: RPCHelpMan::GetArgMap
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - at
    - UniValue::push_back
    - size
    - std::move
    - SplitString
    - push_back_arg_info
    linkageType: ''
    returnType: UniValue
    signature: UniValue RPCHelpMan::GetArgMap() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/rpc/util.cpp:899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - type
    argTypes:
    - RPCArg::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 900
    functionName: ExpectedType
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - NONFATAL_UNREACHABLE
    linkageType: ''
    returnType: std::optional<UniValue::VType>
    signature: std::optional<UniValue::VType> ExpectedType(RPCArg::Type type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RPCArg::IsOptional
      Src: /src/bitcoin-core/src/rpc/util.cpp:905,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:905,1
    - Dst: ExpectedType
      Src: /src/bitcoin-core/src/rpc/util.cpp:906,1
    - Dst: getType
      Src: /src/bitcoin-core/src/rpc/util.cpp:909,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:910,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/rpc/util.cpp:910,1
    - Dst: getType
      Src: /src/bitcoin-core/src/rpc/util.cpp:910,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/rpc/util.cpp:910,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 913
    functionName: RPCArg::MatchesType
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - uvTypeName
    - getType
    - RPCArg::IsOptional
    - isNull
    - ExpectedType
    - strprintf
    linkageType: ''
    returnType: UniValue
    signature: UniValue RPCArg::MatchesType(const UniValue& request) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/bitcoin-core/src/rpc/util.cpp:917,1
    - Dst: find
      Src: /src/bitcoin-core/src/rpc/util.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: RPCArg::GetFirstName
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - substr
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string RPCArg::GetFirstName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:922,1
    - Dst: find
      Src: /src/bitcoin-core/src/rpc/util.cpp:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 924
    functionName: RPCArg::GetName
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - CHECK_NONFATAL
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string RPCArg::GetName() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/bitcoin-core/src/rpc/util.cpp:928,1
    - Dst: std::get<RPCArg::Optional>
      Src: /src/bitcoin-core/src/rpc/util.cpp:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 933
    functionName: RPCArg::IsOptional
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - std::get<RPCArg::Optional>
    - index
    linkageType: ''
    returnType: bool
    signature: bool RPCArg::IsOptional() const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: type_str::size
      Src: /src/bitcoin-core/src/rpc/util.cpp:939,1
    - Dst: type_str::at
      Src: /src/bitcoin-core/src/rpc/util.cpp:940,1
    - Dst: index
      Src: /src/bitcoin-core/src/rpc/util.cpp:976,1
    - Dst: std::get<RPCArg::DefaultHint>
      Src: /src/bitcoin-core/src/rpc/util.cpp:977,1
    - Dst: index
      Src: /src/bitcoin-core/src/rpc/util.cpp:978,1
    - Dst: std::get<RPCArg::Default>
      Src: /src/bitcoin-core/src/rpc/util.cpp:979,1
    - Dst: std::get<RPCArg::Optional>
      Src: /src/bitcoin-core/src/rpc/util.cpp:981,1
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:995,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 1
    argNames:
    - is_named_arg
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 997
    functionName: RPCArg::ToDescriptionString
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - empty
    - type_str::at
    - std::get<RPCArg::Default>
    - index
    - std::get<RPCArg::DefaultHint>
    - std::get<RPCArg::Optional>
    - type_str::size
    linkageType: ''
    returnType: std::string
    signature: std::string RPCArg::ToDescriptionString(bool is_named_arg) const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RPCResult::m_description::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1018,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1024,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/rpc/util.cpp:1028,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1031,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1031,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1035,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1035,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1039,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1039,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1043,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1043,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1047,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1047,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1051,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1051,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1055,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1055,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1060,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1060,1
    - Dst: RPCResult::ToSections
      Src: /src/bitcoin-core/src/rpc/util.cpp:1062,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:1064,1
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1064,1
    - Dst: back
      Src: /src/bitcoin-core/src/rpc/util.cpp:1065,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1066,1
    - Dst: m_sections::back
      Src: /src/bitcoin-core/src/rpc/util.cpp:1069,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:1069,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1071,1
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1076,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1077,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1077,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1080,1
    - Dst: Description
      Src: /src/bitcoin-core/src/rpc/util.cpp:1080,1
    - Dst: RPCResult::ToSections
      Src: /src/bitcoin-core/src/rpc/util.cpp:1082,1
    - Dst: back
      Src: /src/bitcoin-core/src/rpc/util.cpp:1084,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1086,1
    - Dst: m_sections::back
      Src: /src/bitcoin-core/src/rpc/util.cpp:1089,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:1089,1
    - Dst: PushSection
      Src: /src/bitcoin-core/src/rpc/util.cpp:1091,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/rpc/util.cpp:1095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 72
    argCount: 3
    argNames:
    - ' sections'
    - outer_type
    - current_indent
    argTypes:
    - Sections
    - OuterType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1096
    functionName: RPCResult::ToSections
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - empty
    - back
    - RPCResult::m_description::empty
    - NONFATAL_UNREACHABLE
    - m_sections::back
    - Description
    - PushSection
    - pop_back
    - CHECK_NONFATAL
    - RPCResult::ToSections
    linkageType: ''
    returnType: void
    signature: void RPCResult::ToSections(Sections& sections, const OuterType outer_type,
      const int current_indent) const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/rpc/util.cpp:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - type
    argTypes:
    - RPCResult::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1131
    functionName: ExpectedType
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - NONFATAL_UNREACHABLE
    linkageType: ''
    returnType: std::optional<UniValue::VType>
    signature: std::optional<UniValue::VType> ExpectedType(RPCResult::Type type)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ExpectedType
      Src: /src/bitcoin-core/src/rpc/util.cpp:1140,1
    - Dst: getType
      Src: /src/bitcoin-core/src/rpc/util.cpp:1143,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:1144,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/rpc/util.cpp:1144,1
    - Dst: getType
      Src: /src/bitcoin-core/src/rpc/util.cpp:1144,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/rpc/util.cpp:1144,1
    - Dst: getType
      Src: /src/bitcoin-core/src/rpc/util.cpp:1147,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/util.cpp:1149,1
    - Dst: at
      Src: /src/bitcoin-core/src/rpc/util.cpp:1151,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/rpc/util.cpp:1151,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:1151,1
    - Dst: RPCResult::MatchesType
      Src: /src/bitcoin-core/src/rpc/util.cpp:1152,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/util.cpp:1152,1
    - Dst: UniValue::isTrue
      Src: /src/bitcoin-core/src/rpc/util.cpp:1153,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:1153,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:1153,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:1153,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1155,1
    - Dst: getType
      Src: /src/bitcoin-core/src/rpc/util.cpp:1159,1
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1160,1
    - Dst: at
      Src: /src/bitcoin-core/src/rpc/util.cpp:1160,1
    - Dst: at
      Src: /src/bitcoin-core/src/rpc/util.cpp:1163,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/rpc/util.cpp:1164,1
    - Dst: RPCResult::MatchesType
      Src: /src/bitcoin-core/src/rpc/util.cpp:1165,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/rpc/util.cpp:1165,1
    - Dst: UniValue::isTrue
      Src: /src/bitcoin-core/src/rpc/util.cpp:1166,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:1166,1
    - Dst: getKeys
      Src: /src/bitcoin-core/src/rpc/util.cpp:1166,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:1166,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1168,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/util.cpp:1173,1
    - Dst: getObjMap
      Src: /src/bitcoin-core/src/rpc/util.cpp:1176,1
    - Dst: std::set::find
      Src: /src/bitcoin-core/src/rpc/util.cpp:1178,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/rpc/util.cpp:1178,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:1179,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/rpc/util.cpp:1184,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/rpc/util.cpp:1185,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:1187,1
    - Dst: RPCResult::MatchesType
      Src: /src/bitcoin-core/src/rpc/util.cpp:1191,1
    - Dst: UniValue::isTrue
      Src: /src/bitcoin-core/src/rpc/util.cpp:1192,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:1192,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:1192,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1194,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1134
    functionDepth: 4
    functionLinenumber: 1134
    functionLinenumberEnd: 1199
    functionName: RPCResult::MatchesType
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - at
    - std::move
    - std::set::end
    - std::set::insert
    - get_array
    - std::map::find
    - std::min
    - UniValue::empty
    - std::set::find
    - uvTypeName
    - getObjMap
    - empty
    - getType
    - getKeys
    - UniValue::pushKV
    - strprintf
    - get_obj
    - std::map::end
    - size
    - UniValue::isTrue
    - ExpectedType
    - RPCResult::MatchesType
    linkageType: ''
    returnType: UniValue
    signature: UniValue RPCResult::MatchesType(const UniValue& result) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:1209,1
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1210
    functionName: RPCResult::CheckInnerDoc
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - CHECK_NONFATAL
    - empty
    linkageType: ''
    returnType: void
    signature: void RPCResult::CheckInnerDoc() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RPCArg::GetFirstName
      Src: /src/bitcoin-core/src/rpc/util.cpp:1217,1
    - Dst: RPCArg::ToString
      Src: /src/bitcoin-core/src/rpc/util.cpp:1239,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/rpc/util.cpp:1246,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/rpc/util.cpp:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - oneline
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1249
    functionName: RPCArg::ToStringObj
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - NONFATAL_UNREACHABLE
    - RPCArg::GetFirstName
    - RPCArg::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string RPCArg::ToStringObj(const bool oneline) const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: oneline_description::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1254,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/rpc/util.cpp:1255,1
    - Dst: STR_INTERNAL_BUG
      Src: /src/bitcoin-core/src/rpc/util.cpp:1257,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:1257,1
    - Dst: RPCArg::GetFirstName
      Src: /src/bitcoin-core/src/rpc/util.cpp:1267,1
    - Dst: RPCArg::GetFirstName
      Src: /src/bitcoin-core/src/rpc/util.cpp:1273,1
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/util.cpp:1279,1
    - Dst: RPCArg::ToStringObj
      Src: /src/bitcoin-core/src/rpc/util.cpp:1279,1
    - Dst: RPCArg::ToString
      Src: /src/bitcoin-core/src/rpc/util.cpp:1289,1
    - Dst: NONFATAL_UNREACHABLE
      Src: /src/bitcoin-core/src/rpc/util.cpp:1294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - oneline
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1295
    functionName: RPCArg::ToString
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - RPCArg::ToString
    - Join
    - RPCArg::ToStringObj
    - NONFATAL_UNREACHABLE
    - RPCArg::GetFirstName
    - GetBoolArg
    - strprintf
    - STR_INTERNAL_BUG
    - oneline_description::empty
    linkageType: ''
    returnType: std::string
    signature: std::string RPCArg::ToString(const bool oneline) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isNum
      Src: /src/bitcoin-core/src/rpc/util.cpp:1299,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/util.cpp:1300,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/rpc/util.cpp:1302,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/util.cpp:1302,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/rpc/util.cpp:1302,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/rpc/util.cpp:1302,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/util.cpp:1303,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/util.cpp:1304,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:1305,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:1308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1297
    functionDepth: 5
    functionLinenumber: 1297
    functionLinenumberEnd: 1309
    functionName: ParseRange
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - isArray
    - size
    - isNum
    - JSONRPCError
    - getInt
    linkageType: ''
    returnType: std::pair<int64_t, int64_t>
    signature: std::pair<int64_t, int64_t> ParseRange(const UniValue& value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/rpc/util.cpp:1314,1
    - Dst: ParseRange
      Src: /src/bitcoin-core/src/rpc/util.cpp:1314,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:1316,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:1319,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:1322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1311
    functionDepth: 6
    functionLinenumber: 1311
    functionLinenumberEnd: 1325
    functionName: ParseDescriptorRange
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - JSONRPCError
    - ParseRange
    - std::tie
    linkageType: ''
    returnType: std::pair<int64_t, int64_t>
    signature: std::pair<int64_t, int64_t> ParseDescriptorRange(const UniValue& value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isStr
      Src: /src/bitcoin-core/src/rpc/util.cpp:1331,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/util.cpp:1332,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/rpc/util.cpp:1333,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/util.cpp:1334,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:1335,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:1335,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/util.cpp:1336,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/util.cpp:1337,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/util.cpp:1338,1
    - Dst: ParseDescriptorRange
      Src: /src/bitcoin-core/src/rpc/util.cpp:1339,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:1342,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/rpc/util.cpp:1346,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1347,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:1348,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/rpc/util.cpp:1350,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/rpc/util.cpp:1358,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/util.cpp:1359,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/util.cpp:1359,1
    - Dst: ExpandPrivate
      Src: /src/bitcoin-core/src/rpc/util.cpp:1362,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/util.cpp:1364,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/util.cpp:1364,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/util.cpp:1364,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/rpc/util.cpp:1364,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - ' scanobject'
    - ' provider'
    - expand_priv
    argTypes:
    - UniValue
    - FlatSigningProvider
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1327
    functionDepth: 7
    functionLinenumber: 1327
    functionLinenumberEnd: 1368
    functionName: EvalDescriptorStringOrObject
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 5
    functionsReached:
    - std::vector::end
    - auto::at
    - strprintf
    - std::back_inserter
    - find_value
    - ExpandPrivate
    - isObject
    - Parse
    - std::move
    - JSONRPCError
    - std::vector::begin
    - isNull
    - auto::empty
    - isStr
    - Expand
    - get_str
    - ParseDescriptorRange
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> EvalDescriptorStringOrObject(const UniValue& scanobject,
      FlatSigningProvider& provider, const bool expand_priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:1373,1
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1373,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/util.cpp:1376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bilingual_strings'
    argTypes:
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1371
    functionDepth: 2
    functionLinenumber: 1371
    functionLinenumberEnd: 1379
    functionName: BilingualStringsToUniValue
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 0
    functionsReached:
    - CHECK_NONFATAL
    - UniValue::push_back
    - empty
    linkageType: ''
    returnType: UniValue
    signature: UniValue BilingualStringsToUniValue(const std::vector<bilingual_str>&
      bilingual_strings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1383,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' warnings'
    - ' obj'
    argTypes:
    - UniValue
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1381
    functionDepth: 1
    functionLinenumber: 1381
    functionLinenumberEnd: 1385
    functionName: PushWarnings
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - pushKV
    - empty
    linkageType: ''
    returnType: void
    signature: void PushWarnings(const UniValue& warnings, UniValue& obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/rpc/util.cpp:1389,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/util.cpp:1390,1
    - Dst: BilingualStringsToUniValue
      Src: /src/bitcoin-core/src/rpc/util.cpp:1390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' warnings'
    - ' obj'
    argTypes:
    - std::vector<bilingual_str>
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1387
    functionDepth: 3
    functionLinenumber: 1387
    functionLinenumberEnd: 1391
    functionName: PushWarnings
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - BilingualStringsToUniValue
    - pushKV
    - empty
    linkageType: ''
    returnType: void
    signature: void PushWarnings(const std::vector<bilingual_str>& warnings, UniValue&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAllOutputTypes
      Src: /src/bitcoin-core/src/rpc/util.cpp:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1393
    functionDepth: 2
    functionLinenumber: 1393
    functionLinenumberEnd: 1402
    functionName: ScriptPubKeyDoc
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 3
    functionsReached:
    - GetAllOutputTypes
    linkageType: ''
    returnType: std::vector<RPCResult>
    signature: std::vector<RPCResult> ScriptPubKeyDoc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/util.cpp:1406,1
    - Dst: DeriveTarget
      Src: /src/bitcoin-core/src/rpc/util.cpp:1406,1
    - Dst: ArithToUint256
      Src: /src/bitcoin-core/src/rpc/util.cpp:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' blockindex'
    - pow_limit
    argTypes:
    - CBlockIndex
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1404
    functionDepth: 3
    functionLinenumber: 1404
    functionLinenumberEnd: 1408
    functionName: GetTarget
    functionSourceFile: /src/bitcoin-core/src/rpc/util.cpp
    functionUses: 4
    functionsReached:
    - ArithToUint256
    - DeriveTarget
    - CHECK_NONFATAL
    linkageType: ''
    returnType: uint256
    signature: uint256 GetTarget(const CBlockIndex& blockindex, const uint256 pow_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:70,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:71,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:75,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:76,1
    - Dst: GetNodeCount
      Src: /src/bitcoin-core/src/rpc/net.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: getconnectioncount
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - GetNodeCount
    - EnsureConnman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getconnectioncount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:93,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:94,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:98,1
    - Dst: EnsurePeerman
      Src: /src/bitcoin-core/src/rpc/net.cpp:99,1
    - Dst: SendPings
      Src: /src/bitcoin-core/src/rpc/net.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: ping
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 8
    functionsReached:
    - HelpExampleCli
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - SendPings
    - EnsurePeerman
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan ping()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serviceFlagsToStr
      Src: /src/bitcoin-core/src/rpc/net.cpp:113,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - services
    argTypes:
    - ServiceFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: GetServicesNames
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - UniValue::push_back
    - serviceFlagsToStr
    linkageType: ''
    returnType: UniValue
    signature: UniValue GetServicesNames(ServiceFlags services)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:136,1
    - Dst: GetNetworkNames
      Src: /src/bitcoin-core/src/rpc/net.cpp:136,1
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:174,1
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:190,1
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:193,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:199,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:200,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:204,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:205,1
    - Dst: EnsurePeerman
      Src: /src/bitcoin-core/src/rpc/net.cpp:206,1
    - Dst: GetNodeStats
      Src: /src/bitcoin-core/src/rpc/net.cpp:209,1
    - Dst: GetNodeStateStats
      Src: /src/bitcoin-core/src/rpc/net.cpp:216,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:225,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:226,1
    - Dst: addrBind::IsValid
      Src: /src/bitcoin-core/src/rpc/net.cpp:227,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:228,1
    - Dst: addrBind::ToStringAddrPort
      Src: /src/bitcoin-core/src/rpc/net.cpp:228,1
    - Dst: addrLocal::empty
      Src: /src/bitcoin-core/src/rpc/net.cpp:230,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:231,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:233,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/rpc/net.cpp:233,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:235,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:238,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/net.cpp:238,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:239,1
    - Dst: GetServicesNames
      Src: /src/bitcoin-core/src/rpc/net.cpp:239,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:240,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:241,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/rpc/net.cpp:241,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:242,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/rpc/net.cpp:242,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:243,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/rpc/net.cpp:243,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:244,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/rpc/net.cpp:244,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:245,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:246,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:247,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/rpc/net.cpp:247,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:248,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/rpc/net.cpp:248,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:250,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/rpc/net.cpp:250,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/rpc/net.cpp:252,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:253,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/rpc/net.cpp:253,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:256,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/rpc/net.cpp:256,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:258,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:262,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:263,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:264,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:265,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:266,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:267,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:268,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:269,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:272,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:274,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:274,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:275,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:276,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:277,1
    - Dst: NetPermissions::ToStrings
      Src: /src/bitcoin-core/src/rpc/net.cpp:279,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:280,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:282,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:282,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:283,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/net.cpp:283,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:288,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:290,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:295,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:297,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:297,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:298,1
    - Dst: ConnectionTypeAsString
      Src: /src/bitcoin-core/src/rpc/net.cpp:298,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:299,1
    - Dst: TransportTypeAsString
      Src: /src/bitcoin-core/src/rpc/net.cpp:299,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:300,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:302,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:302,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 308
    functionName: getpeerinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Join
    - GetServicesNames
    - GetNodeStateStats
    - HelpExampleCli
    - UniValue::push_back
    - ConnectionTypeAsString
    - GetNodeStats
    - addrBind::ToStringAddrPort
    - ValueFromAmount
    - TransportTypeAsString
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - addrLocal::empty
    - UniValue::pushKV
    - strprintf
    - EnsurePeerman
    - RandomMixin::max
    - Ticks
    - EnsureConnman
    - addrBind::IsValid
    - GetNetworkName
    - NetPermissions::ToStrings
    - GetNetworkNames
    - count_seconds
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getpeerinfo()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/net.cpp:318,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:327,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:328,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/net.cpp:332,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/net.cpp:334,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/net.cpp:335,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:338,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:339,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/net.cpp:341,1
    - Dst: GetLocalServices
      Src: /src/bitcoin-core/src/rpc/net.cpp:342,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/rpc/net.cpp:343,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:346,1
    - Dst: OpenNetworkConnection
      Src: /src/bitcoin-core/src/rpc/net.cpp:352,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:352,1
    - Dst: AddNode
      Src: /src/bitcoin-core/src/rpc/net.cpp:358,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:359,1
    - Dst: RemoveAddedNode
      Src: /src/bitcoin-core/src/rpc/net.cpp:364,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:365,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 372
    functionName: addnode
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ToString
    - OpenNetworkConnection
    - std::runtime_error
    - EnsureConnman
    - GetLocalServices
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - auto::c_str
    - MaybeArg
    - strprintf
    - JSONRPCError
    - AddNode
    - Arg
    - RemoveAddedNode
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan addnode()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:391,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:392,1
    - Dst: Params
      Src: /src/bitcoin-core/src/rpc/net.cpp:396,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/net.cpp:397,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:400,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/rpc/net.cpp:401,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:401,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:412,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/net.cpp:412,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/rpc/net.cpp:414,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:416,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:417,1
    - Dst: GetLocalServices
      Src: /src/bitcoin-core/src/rpc/net.cpp:419,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:420,1
    - Dst: AddConnection
      Src: /src/bitcoin-core/src/rpc/net.cpp:423,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:425,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:429,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:430,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 435
    functionName: addconnection
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - AddConnection
    - HelpExampleCli
    - ToString
    - std::runtime_error
    - TrimString
    - EnsureConnman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - JSONRPCError
    - GetLocalServices
    - Params
    - UniValue::pushKV
    - get_str
    - Arg
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan addconnection()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:450,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:451,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:452,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:453,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:457,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:458,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:464,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:464,1
    - Dst: DisconnectNode
      Src: /src/bitcoin-core/src/rpc/net.cpp:466,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:466,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:467,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:467,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/rpc/net.cpp:467,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:467,1
    - Dst: UniValue::getInt
      Src: /src/bitcoin-core/src/rpc/net.cpp:469,1
    - Dst: DisconnectNode
      Src: /src/bitcoin-core/src/rpc/net.cpp:470,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:472,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 437
    functionDepth: 5
    functionLinenumber: 437
    functionLinenumberEnd: 482
    functionName: disconnectnode
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - UniValue::isStr
    - HelpExampleCli
    - DisconnectNode
    - UniValue::getInt
    - EnsureConnman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - UniValue::get_str
    - UniValue::isNull
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan disconnectnode()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:512,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:513,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:517,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:518,1
    - Dst: GetAddedNodeInfo
      Src: /src/bitcoin-core/src/rpc/net.cpp:520,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:522,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:525,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/rpc/net.cpp:526,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:532,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:540,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:541,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:545,1
    - Dst: resolvedAddress::ToStringAddrPort
      Src: /src/bitcoin-core/src/rpc/net.cpp:545,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:546,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:547,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:547,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:549,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:549,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:550,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 484
    functionDepth: 5
    functionLinenumber: 484
    functionLinenumberEnd: 556
    functionName: getaddednodeinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - EnsureConnman
    - UniValue::push_back
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - JSONRPCError
    - std::move
    - isNull
    - std::vector::assign
    - UniValue::pushKV
    - resolvedAddress::ToStringAddrPort
    - get_str
    - GetAddedNodeInfo
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getaddednodeinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:582,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:583,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:587,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:588,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:591,1
    - Dst: GetTotalBytesRecv
      Src: /src/bitcoin-core/src/rpc/net.cpp:591,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:592,1
    - Dst: GetTotalBytesSent
      Src: /src/bitcoin-core/src/rpc/net.cpp:592,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:593,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/rpc/net.cpp:593,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/rpc/net.cpp:593,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:596,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/rpc/net.cpp:596,1
    - Dst: GetMaxOutboundTimeframe
      Src: /src/bitcoin-core/src/rpc/net.cpp:596,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:597,1
    - Dst: GetMaxOutboundTarget
      Src: /src/bitcoin-core/src/rpc/net.cpp:597,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:598,1
    - Dst: OutboundTargetReached
      Src: /src/bitcoin-core/src/rpc/net.cpp:598,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:599,1
    - Dst: OutboundTargetReached
      Src: /src/bitcoin-core/src/rpc/net.cpp:599,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:600,1
    - Dst: GetOutboundTargetBytesLeft
      Src: /src/bitcoin-core/src/rpc/net.cpp:600,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:601,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/rpc/net.cpp:601,1
    - Dst: GetMaxOutboundTimeLeftInCycle
      Src: /src/bitcoin-core/src/rpc/net.cpp:601,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:602,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 606
    functionName: getnettotals
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - GetMaxOutboundTarget
    - GetTotalBytesSent
    - EnsureConnman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - TicksSinceEpoch
    - wallet::WalletRescanReserver::now
    - GetOutboundTargetBytesLeft
    - GetMaxOutboundTimeframe
    - std::move
    - UniValue::pushKV
    - OutboundTargetReached
    - GetTotalBytesRecv
    - GetMaxOutboundTimeLeftInCycle
    - count_seconds
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getnettotals()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<enum Network>
      Src: /src/bitcoin-core/src/rpc/net.cpp:612,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/rpc/net.cpp:614,1
    - Dst: GetProxy
      Src: /src/bitcoin-core/src/rpc/net.cpp:616,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:617,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/rpc/net.cpp:617,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:618,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/rpc/net.cpp:618,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:619,1
    - Dst: Contains
      Src: /src/bitcoin-core/src/rpc/net.cpp:619,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:620,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/rpc/net.cpp:620,1
    - Dst: Proxy::ToString
      Src: /src/bitcoin-core/src/rpc/net.cpp:620,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/rpc/net.cpp:620,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:621,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:622,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 608
    functionDepth: 4
    functionLinenumber: 608
    functionLinenumberEnd: 625
    functionName: GetNetworksInfo
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - GetProxy
    - Contains
    - GetNetworkName
    - std::string
    - UniValue::push_back
    - std::move
    - UniValue::pushKV
    - Proxy::Proxy
    - Proxy::ToString
    - static_cast<enum Network>
    - Proxy::IsValid
    linkageType: ''
    returnType: UniValue
    signature: UniValue GetNetworksInfo()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:653,1
    - Dst: GetNetworkNames
      Src: /src/bitcoin-core/src/rpc/net.cpp:653,1
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/rpc/net.cpp:671,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:682,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:683,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/net.cpp:687,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:689,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:690,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:691,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:692,1
    - Dst: connman::GetLocalServices
      Src: /src/bitcoin-core/src/rpc/net.cpp:694,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:695,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/net.cpp:695,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:696,1
    - Dst: GetServicesNames
      Src: /src/bitcoin-core/src/rpc/net.cpp:696,1
    - Dst: peerman::GetInfo
      Src: /src/bitcoin-core/src/rpc/net.cpp:699,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:700,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:701,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/rpc/net.cpp:701,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:704,1
    - Dst: connman::GetNetworkActive
      Src: /src/bitcoin-core/src/rpc/net.cpp:704,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:705,1
    - Dst: connman::GetNodeCount
      Src: /src/bitcoin-core/src/rpc/net.cpp:705,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:706,1
    - Dst: connman::GetNodeCount
      Src: /src/bitcoin-core/src/rpc/net.cpp:706,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:707,1
    - Dst: connman::GetNodeCount
      Src: /src/bitcoin-core/src/rpc/net.cpp:707,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:709,1
    - Dst: GetNetworksInfo
      Src: /src/bitcoin-core/src/rpc/net.cpp:709,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:712,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/net.cpp:712,1
    - Dst: mempool::m_opts::min_relay_feerate::GetFeePerK
      Src: /src/bitcoin-core/src/rpc/net.cpp:712,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:713,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/rpc/net.cpp:713,1
    - Dst: mempool::m_opts::incremental_relay_feerate::GetFeePerK
      Src: /src/bitcoin-core/src/rpc/net.cpp:713,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/rpc/net.cpp:717,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:721,1
    - Dst: first::ToStringAddr
      Src: /src/bitcoin-core/src/rpc/net.cpp:721,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:722,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:723,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:724,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:724,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:727,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:727,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:728,1
    - Dst: node::GetWarningsForRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:728,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/rpc/net.cpp:728,1
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/rpc/net.cpp:728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 627
    functionDepth: 5
    functionLinenumber: 627
    functionLinenumberEnd: 732
    functionName: getnetworkinfo
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - connman::GetNodeCount
    - std::move
    - Join
    - connman::GetLocalServices
    - GetServicesNames
    - first::ToStringAddr
    - node::GetWarningsForRpc
    - CHECK_NONFATAL
    - HelpExampleCli
    - GetNetworksInfo
    - UniValue::push_back
    - mempool::m_opts::min_relay_feerate::GetFeePerK
    - ValueFromAmount
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - IsDeprecatedRPCEnabled
    - UniValue::pushKV
    - strprintf
    - Ticks
    - peerman::GetInfo
    - mempool::m_opts::incremental_relay_feerate::GetFeePerK
    - connman::GetNetworkActive
    - LOCK
    - GetNetworkNames
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getnetworkinfo()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:747,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:748,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:749,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:754,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:755,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/rpc/net.cpp:757,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/net.cpp:757,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:759,1
    - Dst: EnsureBanman
      Src: /src/bitcoin-core/src/rpc/net.cpp:760,1
    - Dst: CSubNet::CSubNet
      Src: /src/bitcoin-core/src/rpc/net.cpp:762,1
    - Dst: CNetAddr::CNetAddr
      Src: /src/bitcoin-core/src/rpc/net.cpp:763,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:766,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/rpc/net.cpp:770,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:770,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/rpc/net.cpp:771,1
    - Dst: static_cast<CNetAddr>
      Src: /src/bitcoin-core/src/rpc/net.cpp:772,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/rpc/net.cpp:772,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/rpc/net.cpp:772,1
    - Dst: LookupSubNet
      Src: /src/bitcoin-core/src/rpc/net.cpp:776,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:776,1
    - Dst: CSubNet::IsValid
      Src: /src/bitcoin-core/src/rpc/net.cpp:778,1
    - Dst: CNetAddr::IsValid
      Src: /src/bitcoin-core/src/rpc/net.cpp:778,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:779,1
    - Dst: IsBanned
      Src: /src/bitcoin-core/src/rpc/net.cpp:783,1
    - Dst: IsBanned
      Src: /src/bitcoin-core/src/rpc/net.cpp:783,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:784,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:788,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/net.cpp:789,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:791,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/net.cpp:791,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/rpc/net.cpp:793,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:794,1
    - Dst: Ban
      Src: /src/bitcoin-core/src/rpc/net.cpp:798,1
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/rpc/net.cpp:800,1
    - Dst: Ban
      Src: /src/bitcoin-core/src/rpc/net.cpp:803,1
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/rpc/net.cpp:805,1
    - Dst: Unban
      Src: /src/bitcoin-core/src/rpc/net.cpp:811,1
    - Dst: Unban
      Src: /src/bitcoin-core/src/rpc/net.cpp:811,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:812,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 734
    functionDepth: 5
    functionLinenumber: 734
    functionLinenumberEnd: 818
    functionName: setban
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - Ban
    - IsBanned
    - CNetAddr::IsValid
    - GetTime
    - HelpExampleCli
    - ToString
    - std::runtime_error
    - static_cast<CNetAddr>
    - CSubNet::CSubNet
    - connman::DisconnectNode
    - std::optional::has_value
    - LookupHost
    - CNetAddr::CNetAddr
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - isNull
    - EnsureBanman
    - CSubNet::IsValid
    - Unban
    - get_str
    - get_bool
    - MaybeFlipIPv6toCJDNS
    - LookupSubNet
    - std::optional::value
    - JSONRPCError
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan setban()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:838,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:839,1
    - Dst: EnsureAnyBanman
      Src: /src/bitcoin-core/src/rpc/net.cpp:843,1
    - Dst: GetBanned
      Src: /src/bitcoin-core/src/rpc/net.cpp:846,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/rpc/net.cpp:847,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:854,1
    - Dst: first::ToString
      Src: /src/bitcoin-core/src/rpc/net.cpp:854,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:855,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:856,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:857,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:858,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:860,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 820
    functionDepth: 4
    functionLinenumber: 820
    functionLinenumberEnd: 866
    functionName: listbanned
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - GetBanned
    - GetTime
    - HelpExampleCli
    - first::ToString
    - EnsureAnyBanman
    - UniValue::push_back
    - std::move
    - HelpExampleRpc
    - UniValue::pushKV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listbanned()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:876,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:877,1
    - Dst: EnsureAnyBanman
      Src: /src/bitcoin-core/src/rpc/net.cpp:881,1
    - Dst: ClearBanned
      Src: /src/bitcoin-core/src/rpc/net.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 868
    functionDepth: 3
    functionLinenumber: 868
    functionLinenumberEnd: 888
    functionName: clearbanned
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ClearBanned
    - EnsureAnyBanman
    - HelpExampleRpc
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan clearbanned()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:902,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:903,1
    - Dst: SetNetworkActive
      Src: /src/bitcoin-core/src/rpc/net.cpp:905,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/net.cpp:905,1
    - Dst: GetNetworkActive
      Src: /src/bitcoin-core/src/rpc/net.cpp:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 910
    functionName: setnetworkactive
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - EnsureConnman
    - SetNetworkActive
    - EnsureAnyNodeContext
    - GetNetworkActive
    - get_bool
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan setnetworkactive()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:920,1
    - Dst: GetNetworkNames
      Src: /src/bitcoin-core/src/rpc/net.cpp:920,1
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:931,1
    - Dst: GetNetworkNames
      Src: /src/bitcoin-core/src/rpc/net.cpp:931,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:936,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:937,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:938,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:939,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:940,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:944,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:945,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:947,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/net.cpp:947,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:948,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:950,1
    - Dst: ParseNetwork
      Src: /src/bitcoin-core/src/rpc/net.cpp:950,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:950,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:952,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/net.cpp:952,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:952,1
    - Dst: GetAddressesUnsafe
      Src: /src/bitcoin-core/src/rpc/net.cpp:956,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:961,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/rpc/net.cpp:961,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:962,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:963,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/rpc/net.cpp:963,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:964,1
    - Dst: GetPort
      Src: /src/bitcoin-core/src/rpc/net.cpp:964,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:965,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/rpc/net.cpp:965,1
    - Dst: GetNetClass
      Src: /src/bitcoin-core/src/rpc/net.cpp:965,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/net.cpp:966,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:966,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 912
    functionDepth: 5
    functionLinenumber: 912
    functionLinenumberEnd: 971
    functionName: getnodeaddresses
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - TicksSinceEpoch
    - Join
    - std::move
    - GetAddressesUnsafe
    - HelpExampleCli
    - UniValue::push_back
    - GetPort
    - ParseNetwork
    - ToStringAddr
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - strprintf
    - get_str
    - EnsureConnman
    - GetNetworkName
    - GetNetworkNames
    - GetNetClass
    - JSONRPCError
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getnodeaddresses()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:990,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:991,1
    - Dst: EnsureAnyAddrman
      Src: /src/bitcoin-core/src/rpc/net.cpp:995,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:997,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/net.cpp:998,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/net.cpp:999,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/rpc/net.cpp:999,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/rpc/net.cpp:1002,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/rpc/net.cpp:1005,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/rpc/net.cpp:1006,1
    - Dst: MaybeFlipIPv6toCJDNS
      Src: /src/bitcoin-core/src/rpc/net.cpp:1007,1
    - Dst: Now
      Src: /src/bitcoin-core/src/rpc/net.cpp:1008,1
    - Dst: Add
      Src: /src/bitcoin-core/src/rpc/net.cpp:1011,1
    - Dst: Good
      Src: /src/bitcoin-core/src/rpc/net.cpp:1015,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1017,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1021,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 973
    functionDepth: 4
    functionLinenumber: 973
    functionLinenumberEnd: 1029
    functionName: addpeeraddress
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - Add
    - HelpExampleCli
    - std::optional::has_value
    - LookupHost
    - EnsureAnyAddrman
    - HelpExampleRpc
    - get_bool
    - std::optional::value
    - isNull
    - Good
    - UniValue::pushKV
    - get_str
    - MaybeFlipIPv6toCJDNS
    - getInt
    - Now
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan addpeeraddress()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/net.cpp:1040,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:1045,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:1045,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/net.cpp:1047,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:1048,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/net.cpp:1049,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:1050,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/net.cpp:1050,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/rpc/net.cpp:1052,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/net.cpp:1052,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/rpc/net.cpp:1053,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:1054,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:1057,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:1058,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/rpc/net.cpp:1061,1
    - Dst: ForNode
      Src: /src/bitcoin-core/src/rpc/net.cpp:1064,1
    - Dst: PushMessage
      Src: /src/bitcoin-core/src/rpc/net.cpp:1065,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:1065,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/net.cpp:1070,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1031
    functionDepth: 5
    functionLinenumber: 1031
    functionLinenumberEnd: 1077
    functionName: sendmsgtopeer
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - ForNode
    - HelpExampleCli
    - PushMessage
    - auto::has_value
    - EnsureConnman
    - size
    - HelpExampleRpc
    - JSONRPCError
    - EnsureAnyNodeContext
    - std::move
    - strprintf
    - get_str
    - TryParseHex
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan sendmsgtopeer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:1088,1
    - Dst: GetNetworkNames
      Src: /src/bitcoin-core/src/rpc/net.cpp:1088,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:1094,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:1094,1
    - Dst: EnsureAnyAddrman
      Src: /src/bitcoin-core/src/rpc/net.cpp:1096,1
    - Dst: static_cast<enum Network>
      Src: /src/bitcoin-core/src/rpc/net.cpp:1100,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1103,1
    - Dst: Size
      Src: /src/bitcoin-core/src/rpc/net.cpp:1103,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1104,1
    - Dst: Size
      Src: /src/bitcoin-core/src/rpc/net.cpp:1104,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1105,1
    - Dst: Size
      Src: /src/bitcoin-core/src/rpc/net.cpp:1105,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1106,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/rpc/net.cpp:1106,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:1106,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1109,1
    - Dst: Size
      Src: /src/bitcoin-core/src/rpc/net.cpp:1109,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1110,1
    - Dst: Size
      Src: /src/bitcoin-core/src/rpc/net.cpp:1110,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1111,1
    - Dst: Size
      Src: /src/bitcoin-core/src/rpc/net.cpp:1111,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1112,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/net.cpp:1112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1079
    functionDepth: 4
    functionLinenumber: 1079
    functionLinenumberEnd: 1116
    functionName: getaddrmaninfo
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - Size
    - HelpExampleCli
    - EnsureAnyAddrman
    - GetNetworkName
    - HelpExampleRpc
    - Join
    - std::move
    - GetNetworkNames
    - UniValue::pushKV
    - static_cast<enum Network>
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getaddrmaninfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1121,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/rpc/net.cpp:1121,1
    - Dst: GetMappedAS
      Src: /src/bitcoin-core/src/rpc/net.cpp:1122,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1124,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1126,1
    - Dst: GetPort
      Src: /src/bitcoin-core/src/rpc/net.cpp:1126,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1127,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1128,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/rpc/net.cpp:1128,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1129,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/rpc/net.cpp:1129,1
    - Dst: GetNetClass
      Src: /src/bitcoin-core/src/rpc/net.cpp:1129,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1130,1
    - Dst: source::ToStringAddr
      Src: /src/bitcoin-core/src/rpc/net.cpp:1130,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1131,1
    - Dst: GetNetworkName
      Src: /src/bitcoin-core/src/rpc/net.cpp:1131,1
    - Dst: source::GetNetClass
      Src: /src/bitcoin-core/src/rpc/net.cpp:1131,1
    - Dst: GetMappedAS
      Src: /src/bitcoin-core/src/rpc/net.cpp:1132,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' info'
    - ' connman'
    argTypes:
    - AddrInfo
    - CConnman
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1118
    functionDepth: 4
    functionLinenumber: 1118
    functionLinenumberEnd: 1137
    functionName: AddrmanEntryToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - GetMappedAS
    - TicksSinceEpoch
    - GetNetworkName
    - GetNetClass
    - source::ToStringAddr
    - GetPort
    - UniValue::pushKV
    - source::GetNetClass
    - ToStringAddr
    linkageType: ''
    returnType: UniValue
    signature: UniValue AddrmanEntryToJSON(const AddrInfo& info, const CConnman& connman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/rpc/net.cpp:1150,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/rpc/net.cpp:1150,1
    - Dst: AddrmanEntryToJSON
      Src: /src/bitcoin-core/src/rpc/net.cpp:1150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' tableInfos'
    - ' connman'
    argTypes:
    - std::vector<std::pair<AddrInfo, AddressPosition>>
    - CConnman
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1139
    functionDepth: 5
    functionLinenumber: 1139
    functionLinenumberEnd: 1153
    functionName: AddrmanTableToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - UniValue::pushKVEnd
    - AddrmanEntryToJSON
    linkageType: ''
    returnType: UniValue
    signature: UniValue AddrmanTableToJSON(const std::vector<std::pair<AddrInfo, AddressPosition>>&
      tableInfos, const CConnman& connman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:1168,1
    - Dst: GetNetworkNames
      Src: /src/bitcoin-core/src/rpc/net.cpp:1168,1
    - Dst: Join
      Src: /src/bitcoin-core/src/rpc/net.cpp:1172,1
    - Dst: GetNetworkNames
      Src: /src/bitcoin-core/src/rpc/net.cpp:1172,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/rpc/net.cpp:1179,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/rpc/net.cpp:1180,1
    - Dst: EnsureAnyAddrman
      Src: /src/bitcoin-core/src/rpc/net.cpp:1183,1
    - Dst: EnsureAnyNodeContext
      Src: /src/bitcoin-core/src/rpc/net.cpp:1184,1
    - Dst: EnsureConnman
      Src: /src/bitcoin-core/src/rpc/net.cpp:1185,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1188,1
    - Dst: AddrmanTableToJSON
      Src: /src/bitcoin-core/src/rpc/net.cpp:1188,1
    - Dst: GetEntries
      Src: /src/bitcoin-core/src/rpc/net.cpp:1188,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/net.cpp:1189,1
    - Dst: AddrmanTableToJSON
      Src: /src/bitcoin-core/src/rpc/net.cpp:1189,1
    - Dst: GetEntries
      Src: /src/bitcoin-core/src/rpc/net.cpp:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1155
    functionDepth: 6
    functionLinenumber: 1155
    functionLinenumberEnd: 1193
    functionName: getrawaddrman
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 0
    functionsReached:
    - GetEntries
    - HelpExampleCli
    - AddrmanTableToJSON
    - EnsureAnyAddrman
    - EnsureConnman
    - EnsureAnyNodeContext
    - HelpExampleRpc
    - Join
    - GetNetworkNames
    - UniValue::pushKV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getrawaddrman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/rpc/net.cpp:1218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1220
    functionName: RegisterNetRPCCommands
    functionSourceFile: /src/bitcoin-core/src/rpc/net.cpp
    functionUses: 1
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterNetRPCCommands(CRPCTable& t)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:26,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:27,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:30,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:33,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:35,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:37,1
    - Dst: ParseHashO
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:37,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:39,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:40,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:41,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:42,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:44,1
    - Dst: std::optional<bool>::value_or
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:48,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:57,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:58,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:59,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:61,1
    - Dst: vin::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:69,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - ' rawTx'
    - ' inputs_in'
    - rbf
    argTypes:
    - CMutableTransaction
    - UniValue
    - std::optional<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 24
    functionDepth: 7
    functionLinenumber: 24
    functionLinenumberEnd: 71
    functionName: AddInputs
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp
    functionUses: 0
    functionsReached:
    - find_value
    - ParseHashO
    - UniValue::UniValue
    - isNum
    - JSONRPCError
    - vin::push_back
    - isNull
    - transaction_identifier::FromUint256
    - get_array
    - get_obj
    - UniValue::size
    - std::optional<bool>::value_or
    - getInt
    linkageType: ''
    returnType: void
    signature: void AddInputs(CMutableTransaction& rawTx, const UniValue& inputs_in,
      std::optional<bool> rbf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:75,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:76,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:79,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:80,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:80,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:84,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:85,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:87,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:88,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:90,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:91,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:93,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ' outputs_in'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: NormalizeOutputs
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp
    functionUses: 0
    functionsReached:
    - UniValue::pushKVs
    - UniValue
    - isObject
    - size
    - std::move
    - isNull
    - get_array
    - JSONRPCError
    - UniValue::size
    - get_obj
    linkageType: ''
    returnType: UniValue
    signature: UniValue NormalizeOutputs(const UniValue& outputs_in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getKeys
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:106,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:109,1
    - Dst: ParseHexV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:112,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:112,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:113,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:115,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:117,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:118,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:119,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:120,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:120,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:123,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:124,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:124,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - ' outputs'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: ParseOutputs
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp
    functionUses: 0
    functionsReached:
    - getValStr
    - IsValidDestination
    - std::vector::emplace_back
    - DecodeDestination
    - ParseHexV
    - getKeys
    - std::string
    - AmountFromValue
    - std::set::insert
    - CScript
    - JSONRPCError
    linkageType: ''
    returnType: std::vector<std::pair<CTxDestination, CAmount>>
    signature: std::vector<std::pair<CTxDestination, CAmount>> ParseOutputs(const
      UniValue& outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizeOutputs
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:135,1
    - Dst: ParseOutputs
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:137,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:139,1
    - Dst: vout::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' rawTx'
    - ' outputs_in'
    argTypes:
    - CMutableTransaction
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 7
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: AddOutputs
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp
    functionUses: 0
    functionsReached:
    - ParseOutputs
    - vout::push_back
    - GetScriptForDestination
    - NormalizeOutputs
    linkageType: ''
    returnType: void
    signature: void AddOutputs(CMutableTransaction& rawTx, const UniValue& outputs_in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:148,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:150,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:151,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:153,1
    - Dst: AddInputs
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:157,1
    - Dst: AddOutputs
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:158,1
    - Dst: std::optional<bool>::has_value
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:160,1
    - Dst: std::optional<bool>::value
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:160,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:160,1
    - Dst: SignalsOptInRBF
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:160,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:160,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - ' inputs_in'
    - ' outputs_in'
    - ' locktime'
    - rbf
    argTypes:
    - UniValue
    - UniValue
    - UniValue
    - std::optional<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 146
    functionDepth: 8
    functionLinenumber: 146
    functionLinenumberEnd: 165
    functionName: ConstructTransaction
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp
    functionUses: 2
    functionsReached:
    - AddOutputs
    - std::optional<bool>::has_value
    - CMutableTransaction::vin::size
    - AddInputs
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - isNull
    - JSONRPCError
    - std::optional<bool>::value
    - getInt
    - SignalsOptInRBF
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction ConstructTransaction(const UniValue& inputs_in,
      const UniValue& outputs_in, const UniValue& locktime, std::optional<bool> rbf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:171,1
    - Dst: prevout::hash::ToString
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:171,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:172,1
    - Dst: scriptWitness::stack::size
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:174,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:175,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:175,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:177,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:177,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:178,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:178,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:179,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:180,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:181,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' txin'
    - ' vErrorsRet'
    - ' strMessage'
    argTypes:
    - CTxIn
    - UniValue
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: TxInErrorToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - UniValue::push_back
    - std::move
    - UniValue::pushKV
    - HexStr
    - scriptWitness::stack::size
    - prevout::hash::ToString
    linkageType: ''
    returnType: void
    signature: void TxInErrorToJSON(const CTxIn& txin, UniValue& vErrorsRet, const
      std::string& strMessage)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:186,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:187,1
    - Dst: size
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:188,1
    - Dst: isObject
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:190,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:191,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:194,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:196,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:198,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:199,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:200,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:203,1
    - Dst: ParseHashO
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:203,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:205,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:207,1
    - Dst: ParseHexO
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:211,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:212,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:212,1
    - Dst: find
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:215,1
    - Dst: end
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:216,1
    - Dst: auto::second::IsSpent
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:216,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:218,1
    - Dst: ScriptToAsmStr
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:219,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:220,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:222,1
    - Dst: exists
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:225,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:226,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:226,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:229,1
    - Dst: CScript::IsPayToScriptHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:233,1
    - Dst: CScript::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:234,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:236,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:238,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:239,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:241,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:242,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:243,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:243,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:244,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:248,1
    - Dst: ParseHexV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:248,1
    - Dst: ParseHexV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:248,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:249,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:249,1
    - Dst: FlatSigningProvider*::scripts::emplace
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:250,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:250,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:253,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:253,1
    - Dst: FlatSigningProvider*::scripts::emplace
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:254,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:254,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:256,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:256,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:261,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:261,1
    - Dst: ParseHexV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:262,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:263,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:263,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:265,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:271,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:272,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:273,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:279,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:288,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:295,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:296,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:297,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 52
    argCount: 3
    argNames:
    - ' prevTxsUnival'
    - keystore
    - ' coins'
    argTypes:
    - UniValue
    - FlatSigningProvider*
    - std::map<COutPoint, Coin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 184
    functionDepth: 7
    functionLinenumber: 184
    functionLinenumberEnd: 303
    functionName: ParsePrevouts
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp
    functionUses: 1
    functionsReached:
    - GetScriptForDestination
    - find_value
    - ParseHexO
    - std::move
    - AmountFromValue
    - get_array
    - FlatSigningProvider*::scripts::emplace
    - std::vector::end
    - Coin::Coin
    - ScriptHash
    - ParseHashO
    - isObject
    - CScript::IsPayToWitnessScriptHash
    - CScript::IsPayToScriptHash
    - find
    - ScriptToAsmStr
    - exists
    - CScriptID
    - ParseHexV
    - WitnessV0ScriptHash
    - isNull
    - transaction_identifier::FromUint256
    - get_obj
    - get_str
    - end
    - RPCTypeCheckObj
    - size
    - std::vector::begin
    - auto::second::IsSpent
    - JSONRPCError
    - UniValueType
    linkageType: ''
    returnType: void
    signature: void ParsePrevouts(const UniValue& prevTxsUnival, FlatSigningProvider*
      keystore, std::map<COutPoint, Coin>& coins)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseSighashString
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:307,1
    - Dst: SignTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:315,1
    - Dst: SignTransactionResultToJSON
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' mtx'
    - keystore
    - ' coins'
    - ' hashType'
    - ' result'
    argTypes:
    - CMutableTransaction
    - SigningProvider*
    - std::map<COutPoint, Coin>
    - UniValue
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 6
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: SignTransaction
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp
    functionUses: 3
    functionsReached:
    - ParseSighashString
    - SignTransaction
    - SignTransactionResultToJSON
    linkageType: ''
    returnType: void
    signature: void SignTransaction(CMutableTransaction& mtx, const SigningProvider*
      keystore, const std::map<COutPoint, Coin>& coins, const UniValue& hashType,
      UniValue& result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:326,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:326,1
    - Dst: at
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:326,1
    - Dst: vin::at
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:326,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:326,1
    - Dst: TxInErrorToJSON
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:328,1
    - Dst: vin::at
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:328,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:331,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:331,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:331,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:332,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:333,1
    - Dst: exists
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:334,1
    - Dst: UniValue::push_backV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:335,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:335,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:337,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - ' mtx'
    - complete
    - ' coins'
    - ' input_errors'
    - ' result'
    argTypes:
    - CMutableTransaction
    - bool
    - std::map<COutPoint, Coin>
    - std::map<int, bilingual_str>
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 339
    functionName: SignTransactionResultToJSON
    functionSourceFile: /src/bitcoin-core/src/rpc/rawtransaction_util.cpp
    functionUses: 1
    functionsReached:
    - vin::at
    - UniValue::empty
    - getValues
    - pushKV
    - ToString
    - CTransaction
    - at
    - std::move
    - TxInErrorToJSON
    - UniValue::push_backV
    - EncodeHexTx
    - strprintf
    - JSONRPCError
    - exists
    linkageType: ''
    returnType: void
    signature: void SignTransactionResultToJSON(CMutableTransaction& mtx, bool complete,
      const std::map<COutPoint, Coin>& coins, const std::map<int, bilingual_str>&
      input_errors, UniValue& result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/bitcoin-core/src/common/url.cpp:15,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/common/url.cpp:15,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/common/url.cpp:17,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/common/url.cpp:21,1
    - Dst: std::from_chars
      Src: /src/bitcoin-core/src/common/url.cpp:23,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/common/url.cpp:23,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/common/url.cpp:23,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/common/url.cpp:27,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/common/url.cpp:28,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - url_encoded
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 39
    functionName: UrlDecode
    functionSourceFile: /src/bitcoin-core/src/common/url.cpp
    functionUses: 5
    functionsReached:
    - std::from_chars
    - std::string::reserve
    - std::string_view::size
    - std::string_view::data
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string UrlDecode(std::string_view url_encoded)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/common/signmessage.cpp:31,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/common/signmessage.cpp:32,1
    - Dst: std::get_if<PKHash>
      Src: /src/bitcoin-core/src/common/signmessage.cpp:36,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/common/signmessage.cpp:40,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/common/signmessage.cpp:45,1
    - Dst: CPubKey::RecoverCompact
      Src: /src/bitcoin-core/src/common/signmessage.cpp:46,1
    - Dst: MessageHash
      Src: /src/bitcoin-core/src/common/signmessage.cpp:46,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/common/signmessage.cpp:50,1
    - Dst: std::get_if<PKHash>
      Src: /src/bitcoin-core/src/common/signmessage.cpp:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' address'
    - ' signature'
    - ' message'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 55
    functionName: MessageVerify
    functionSourceFile: /src/bitcoin-core/src/common/signmessage.cpp
    functionUses: 2
    functionsReached:
    - IsValidDestination
    - DecodeDestination
    - DecodeBase64
    - CPubKey::RecoverCompact
    - std::get_if<PKHash>
    - MessageHash
    - CPubKey::CPubKey
    - PKHash
    linkageType: ''
    returnType: MessageVerificationResult
    signature: "MessageVerificationResult MessageVerify(\n    const std::string& address,\n
      \   const std::string& signature,\n    const std::string& message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SignCompact
      Src: /src/bitcoin-core/src/common/signmessage.cpp:64,1
    - Dst: MessageHash
      Src: /src/bitcoin-core/src/common/signmessage.cpp:64,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/common/signmessage.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' privkey'
    - ' message'
    - ' signature'
    argTypes:
    - CKey
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: MessageSign
    functionSourceFile: /src/bitcoin-core/src/common/signmessage.cpp
    functionUses: 2
    functionsReached:
    - SignCompact
    - MessageHash
    - EncodeBase64
    linkageType: ''
    returnType: bool
    signature: "bool MessageSign(\n    const CKey& privkey,\n    const std::string&
      message,\n    std::string& signature)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/common/signmessage.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: MessageHash
    functionSourceFile: /src/bitcoin-core/src/common/signmessage.cpp
    functionUses: 4
    functionsReached:
    - HashWriter::GetHash
    linkageType: ''
    returnType: uint256
    signature: uint256 MessageHash(const std::string& message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/common/signmessage.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - res
    argTypes:
    - SigningResult
    assertStmts:
    - condition: (false)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/bitcoin-core/src/common/signmessage.cpp
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: SigningResultString
    functionSourceFile: /src/bitcoin-core/src/common/signmessage.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string SigningResultString(const SigningResult res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/common/bloom.cpp:31,1
    - Dst: log
      Src: /src/bitcoin-core/src/common/bloom.cpp:31,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/common/bloom.cpp:37,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/bloom.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - nElements
    - nFPRate
    - nTweakIn
    - nFlagsIn
    argTypes:
    - unsigned int
    - double
    - unsigned int
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 41
    functionName: CBloomFilter::CBloomFilter
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 2
    functionsReached:
    - std::min
    - size
    - log
    linkageType: ''
    returnType: void
    signature: void CBloomFilter::CBloomFilter(const unsigned int nElements, const
      double nFPRate, const unsigned int nTweakIn, unsigned char nFlagsIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3
      Src: /src/bitcoin-core/src/common/bloom.cpp:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/bloom.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nHashNum
    - vDataToHash
    argTypes:
    - unsigned int
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: CBloomFilter::Hash
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 0
    functionsReached:
    - MurmurHash3
    - size
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CBloomFilter::Hash(unsigned int nHashNum, std::span<const
      unsigned char> vDataToHash) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/common/bloom.cpp:51,1
    - Dst: CBloomFilter::Hash
      Src: /src/bitcoin-core/src/common/bloom.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - vKey
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: CBloomFilter::insert
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 12
    functionsReached:
    - CBloomFilter::Hash
    - empty
    linkageType: ''
    returnType: void
    signature: void CBloomFilter::insert(std::span<const unsigned char> vKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/common/bloom.cpp:65,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/common/bloom.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: CBloomFilter::insert
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 13
    functionsReached:
    - MakeUCharSpan
    - CBloomFilter::insert
    linkageType: ''
    returnType: void
    signature: void CBloomFilter::insert(const COutPoint& outpoint)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/common/bloom.cpp:70,1
    - Dst: CBloomFilter::Hash
      Src: /src/bitcoin-core/src/common/bloom.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vKey
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: CBloomFilter::contains
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 5
    functionsReached:
    - CBloomFilter::Hash
    - empty
    linkageType: ''
    returnType: bool
    signature: bool CBloomFilter::contains(std::span<const unsigned char> vKey) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/common/bloom.cpp:86,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/common/bloom.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: CBloomFilter::contains
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 6
    functionsReached:
    - MakeUCharSpan
    - CBloomFilter::contains
    linkageType: ''
    returnType: bool
    signature: bool CBloomFilter::contains(const COutPoint& outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/common/bloom.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: CBloomFilter::IsWithinSizeConstraints
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CBloomFilter::IsWithinSizeConstraints() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/common/bloom.cpp:99,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/common/bloom.cpp:101,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/common/bloom.cpp:102,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/common/bloom.cpp:102,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/common/bloom.cpp:105,1
    - Dst: scriptPubKey::begin
      Src: /src/bitcoin-core/src/common/bloom.cpp:112,1
    - Dst: scriptPubKey::end
      Src: /src/bitcoin-core/src/common/bloom.cpp:114,1
    - Dst: scriptPubKey::GetOp
      Src: /src/bitcoin-core/src/common/bloom.cpp:117,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/bloom.cpp:119,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/common/bloom.cpp:119,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/common/bloom.cpp:123,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/common/bloom.cpp:123,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/common/bloom.cpp:127,1
    - Dst: CBloomFilter::insert
      Src: /src/bitcoin-core/src/common/bloom.cpp:129,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/common/bloom.cpp:129,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/common/bloom.cpp:143,1
    - Dst: scriptSig::begin
      Src: /src/bitcoin-core/src/common/bloom.cpp:147,1
    - Dst: scriptSig::end
      Src: /src/bitcoin-core/src/common/bloom.cpp:149,1
    - Dst: scriptSig::GetOp
      Src: /src/bitcoin-core/src/common/bloom.cpp:152,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/bloom.cpp:154,1
    - Dst: CBloomFilter::contains
      Src: /src/bitcoin-core/src/common/bloom.cpp:154,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 160
    functionName: CBloomFilter::IsRelevantAndUpdate
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 2
    functionsReached:
    - scriptPubKey::GetOp
    - empty
    - scriptSig::end
    - scriptPubKey::begin
    - GetHash
    - COutPoint
    - scriptSig::begin
    - vout::size
    - ToUint256
    - scriptPubKey::end
    - scriptSig::GetOp
    - CBloomFilter::insert
    - Solver
    - std::vector::size
    - CBloomFilter::contains
    linkageType: ''
    returnType: bool
    signature: bool CBloomFilter::IsRelevantAndUpdate(const CTransaction& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/bitcoin-core/src/common/bloom.cpp:164,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/common/bloom.cpp:167,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/common/bloom.cpp:167,1
    - Dst: round
      Src: /src/bitcoin-core/src/common/bloom.cpp:167,1
    - Dst: log
      Src: /src/bitcoin-core/src/common/bloom.cpp:167,1
    - Dst: ceil
      Src: /src/bitcoin-core/src/common/bloom.cpp:178,1
    - Dst: log
      Src: /src/bitcoin-core/src/common/bloom.cpp:178,1
    - Dst: exp
      Src: /src/bitcoin-core/src/common/bloom.cpp:178,1
    - Dst: clear
      Src: /src/bitcoin-core/src/common/bloom.cpp:179,1
    - Dst: resize
      Src: /src/bitcoin-core/src/common/bloom.cpp:185,1
    - Dst: CRollingBloomFilter::reset
      Src: /src/bitcoin-core/src/common/bloom.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - nElements
    - fpRate
    argTypes:
    - unsigned int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: CRollingBloomFilter::CRollingBloomFilter
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 0
    functionsReached:
    - log
    - ceil
    - exp
    - std::max
    - round
    - clear
    - CRollingBloomFilter::reset
    - resize
    - std::min
    linkageType: ''
    returnType: void
    signature: void CRollingBloomFilter::CRollingBloomFilter(const unsigned int nElements,
      const double fpRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3
      Src: /src/bitcoin-core/src/common/bloom.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nHashNum
    - nTweak
    - vDataToHash
    argTypes:
    - unsigned int
    - uint32_t
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: RollingBloomHash
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 0
    functionsReached:
    - MurmurHash3
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t RollingBloomHash(unsigned int nHashNum, uint32_t nTweak, std::span<const
      unsigned char> vDataToHash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/common/bloom.cpp:206,1
    - Dst: RollingBloomHash
      Src: /src/bitcoin-core/src/common/bloom.cpp:216,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/common/bloom.cpp:219,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/bloom.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - vKey
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 224
    functionName: CRollingBloomFilter::insert
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 2
    functionsReached:
    - FastRange32
    - RollingBloomHash
    - size
    linkageType: ''
    returnType: void
    signature: void CRollingBloomFilter::insert(std::span<const unsigned char> vKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RollingBloomHash
      Src: /src/bitcoin-core/src/common/bloom.cpp:229,1
    - Dst: FastRange32
      Src: /src/bitcoin-core/src/common/bloom.cpp:231,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/bloom.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vKey
    argTypes:
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: CRollingBloomFilter::contains
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 2
    functionsReached:
    - size
    - RollingBloomHash
    - FastRange32
    linkageType: ''
    returnType: bool
    signature: bool CRollingBloomFilter::contains(std::span<const unsigned char> vKey)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/common/bloom.cpp:242,1
    - Dst: std::fill
      Src: /src/bitcoin-core/src/common/bloom.cpp:245,1
    - Dst: begin
      Src: /src/bitcoin-core/src/common/bloom.cpp:245,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/bloom.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: CRollingBloomFilter::reset
    functionSourceFile: /src/bitcoin-core/src/common/bloom.cpp
    functionUses: 3
    functionsReached:
    - end
    - std::fill
    - begin
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void CRollingBloomFilter::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: common::SettingsSpan
    functionSourceFile: /src/bitcoin-core/src/common/settings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SettingsSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: common::SettingsSpan
    functionSourceFile: /src/bitcoin-core/src/common/settings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SettingsSpan(const SettingsValue& value) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - SettingsValue*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: common::SettingsSpan
    functionSourceFile: /src/bitcoin-core/src/common/settings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SettingsSpan(const SettingsValue* data, size_t size) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/common/settings.h:107,1
    - Dst: find
      Src: /src/bitcoin-core/src/common/settings.h:109,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/settings.h:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' map'
    - ' key'
    argTypes:
    - Map
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: common::FindKey
    functionSourceFile: /src/bitcoin-core/src/common/settings.h
    functionUses: 0
    functionsReached:
    - end
    - at
    - find
    linkageType: ''
    returnType: auto
    signature: auto FindKey(Map&& map, Key&& key) -> decltype(&map.at(key))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: common::SettingsSpan
    functionSourceFile: /src/bitcoin-core/src/common/settings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SettingsSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: common::SettingsSpan
    functionSourceFile: /src/bitcoin-core/src/common/settings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SettingsSpan(const SettingsValue& value) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - SettingsValue*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: common::SettingsSpan
    functionSourceFile: /src/bitcoin-core/src/common/settings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SettingsSpan(const SettingsValue* data, size_t size) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/common/settings.h:107,1
    - Dst: find
      Src: /src/bitcoin-core/src/common/settings.h:109,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/settings.h:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' map'
    - ' key'
    argTypes:
    - Map
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: common::FindKey
    functionSourceFile: /src/bitcoin-core/src/common/settings.h
    functionUses: 0
    functionsReached:
    - end
    - at
    - find
    linkageType: ''
    returnType: auto
    signature: auto FindKey(Map&& map, Key&& key) -> decltype(&map.at(key))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/common/messages.cpp:39,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/common/messages.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reason
    argTypes:
    - FeeReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: common::StringForFeeReason
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    linkageType: ''
    returnType: std::string
    signature: std::string StringForFeeReason(FeeReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: common::FeeModeMap
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, FeeEstimateMode>>
    signature: std::vector<std::pair<std::string, FeeEstimateMode>> & FeeModeMap()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:60,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:62,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:66,1
    - Dst: assert
      Src: /src/bitcoin-core/src/common/messages.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' mode'
    - ' default_info'
    argTypes:
    - std::pair<std::string, FeeEstimateMode>
    - std::string
    assertStmts:
    - condition: (false)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bitcoin-core/src/common/messages.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: common::FeeModeInfo
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - assert
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string FeeModeInfo(const std::pair<std::string, FeeEstimateMode>&
      mode, std::string& default_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::FeeModeMap
      Src: /src/bitcoin-core/src/common/messages.cpp:78,1
    - Dst: common::FeeModeInfo
      Src: /src/bitcoin-core/src/common/messages.cpp:79,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:81,1
    - Dst: common::FeeModes
      Src: /src/bitcoin-core/src/common/messages.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_info
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: common::FeeModesDetail
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - common::FeeModeMap
    - common::FeeModes
    - common::FeeModeInfo
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string FeeModesDetail(std::string default_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/common/messages.cpp:86,1
    - Dst: common::FeeModeMap
      Src: /src/bitcoin-core/src/common/messages.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: common::FeeModes
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 1
    functionsReached:
    - common::FeeModeMap
    - Join
    linkageType: ''
    returnType: std::string
    signature: std::string FeeModes(const std::string& delimiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::FeeModes
      Src: /src/bitcoin-core/src/common/messages.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: common::InvalidEstimateModeErrorMessage
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - common::FeeModes
    linkageType: ''
    returnType: std::string
    signature: std::string InvalidEstimateModeErrorMessage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/common/messages.cpp:96,1
    - Dst: common::FeeModeMap
      Src: /src/bitcoin-core/src/common/messages.cpp:97,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/common/messages.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' mode_string'
    - ' fee_estimate_mode'
    argTypes:
    - std::string
    - FeeEstimateMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: common::FeeModeFromString
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - ToUpper
    - common::FeeModeMap
    linkageType: ''
    returnType: bool
    signature: bool FeeModeFromString(const std::string& mode_string, FeeEstimateMode&
      fee_estimate_mode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:110,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:112,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:114,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:116,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:118,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:120,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:122,1
    - Dst: assert
      Src: /src/bitcoin-core/src/common/messages.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - err
    argTypes:
    - PSBTError
    assertStmts:
    - condition: (false)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bitcoin-core/src/common/messages.cpp
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: common::PSBTErrorString
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Untranslated
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str PSBTErrorString(PSBTError err)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:132,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:134,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:136,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:138,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:140,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:142,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:144,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:146,1
    - Dst: assert
      Src: /src/bitcoin-core/src/common/messages.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - err
    argTypes:
    - TransactionError
    assertStmts:
    - condition: (false)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/bitcoin-core/src/common/messages.cpp
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: common::TransactionErrorString
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Untranslated
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str TransactionErrorString(const TransactionError err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:154,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/messages.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' optname'
    - ' strBind'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: common::ResolveErrMsg
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - _
    - strprintf
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str ResolveErrMsg(const std::string& optname, const std::string&
      strBind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:159,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/messages.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' optname'
    - ' invalid_value'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: common::InvalidPortErrMsg
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - _
    - strprintf
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str InvalidPortErrMsg(const std::string& optname, const std::string&
      invalid_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:164,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/messages.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: common::AmountHighWarn
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - _
    - strprintf
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str AmountHighWarn(const std::string& optname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:169,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/messages.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' optname'
    - ' strValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: common::AmountErrMsg
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - _
    - strprintf
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str AmountErrMsg(const std::string& optname, const std::string&
      strValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/common/messages.cpp:39,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/common/messages.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reason
    argTypes:
    - FeeReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: common::StringForFeeReason
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    linkageType: ''
    returnType: std::string
    signature: std::string StringForFeeReason(FeeReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: common::FeeModeMap
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, FeeEstimateMode>>
    signature: std::vector<std::pair<std::string, FeeEstimateMode>> & FeeModeMap()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:60,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:62,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:66,1
    - Dst: assert
      Src: /src/bitcoin-core/src/common/messages.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' mode'
    - ' default_info'
    argTypes:
    - std::pair<std::string, FeeEstimateMode>
    - std::string
    assertStmts:
    - condition: (false)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bitcoin-core/src/common/messages.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: common::FeeModeInfo
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 1
    functionsReached:
    - assert
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string FeeModeInfo(const std::pair<std::string, FeeEstimateMode>&
      mode, std::string& default_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::FeeModeMap
      Src: /src/bitcoin-core/src/common/messages.cpp:78,1
    - Dst: common::FeeModeInfo
      Src: /src/bitcoin-core/src/common/messages.cpp:79,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:81,1
    - Dst: common::FeeModes
      Src: /src/bitcoin-core/src/common/messages.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_info
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: common::FeeModesDetail
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - common::FeeModeMap
    - common::FeeModes
    - common::FeeModeInfo
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string FeeModesDetail(std::string default_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/common/messages.cpp:86,1
    - Dst: common::FeeModeMap
      Src: /src/bitcoin-core/src/common/messages.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: common::FeeModes
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 3
    functionsReached:
    - common::FeeModeMap
    - Join
    linkageType: ''
    returnType: std::string
    signature: std::string FeeModes(const std::string& delimiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::FeeModes
      Src: /src/bitcoin-core/src/common/messages.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: common::InvalidEstimateModeErrorMessage
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - common::FeeModes
    linkageType: ''
    returnType: std::string
    signature: std::string InvalidEstimateModeErrorMessage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/common/messages.cpp:96,1
    - Dst: common::FeeModeMap
      Src: /src/bitcoin-core/src/common/messages.cpp:97,1
    - Dst: ToUpper
      Src: /src/bitcoin-core/src/common/messages.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' mode_string'
    - ' fee_estimate_mode'
    argTypes:
    - std::string
    - FeeEstimateMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: common::FeeModeFromString
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - ToUpper
    - common::FeeModeMap
    linkageType: ''
    returnType: bool
    signature: bool FeeModeFromString(const std::string& mode_string, FeeEstimateMode&
      fee_estimate_mode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:110,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:112,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:114,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:116,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:118,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:120,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:122,1
    - Dst: assert
      Src: /src/bitcoin-core/src/common/messages.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - err
    argTypes:
    - PSBTError
    assertStmts:
    - condition: (false)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bitcoin-core/src/common/messages.cpp
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: common::PSBTErrorString
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Untranslated
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str PSBTErrorString(PSBTError err)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:132,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:134,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:136,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:138,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:140,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:142,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:144,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/messages.cpp:146,1
    - Dst: assert
      Src: /src/bitcoin-core/src/common/messages.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - err
    argTypes:
    - TransactionError
    assertStmts:
    - condition: (false)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/bitcoin-core/src/common/messages.cpp
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: common::TransactionErrorString
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Untranslated
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str TransactionErrorString(const TransactionError err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:154,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/messages.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' optname'
    - ' strBind'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: common::ResolveErrMsg
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - _
    - strprintf
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str ResolveErrMsg(const std::string& optname, const std::string&
      strBind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:159,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/messages.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' optname'
    - ' invalid_value'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: common::InvalidPortErrMsg
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - _
    - strprintf
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str InvalidPortErrMsg(const std::string& optname, const std::string&
      invalid_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:164,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/messages.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: common::AmountHighWarn
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - _
    - strprintf
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str AmountHighWarn(const std::string& optname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/messages.cpp:169,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/messages.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' optname'
    - ' strValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: common::AmountErrMsg
    functionSourceFile: /src/bitcoin-core/src/common/messages.cpp
    functionUses: 0
    functionsReached:
    - _
    - strprintf
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str AmountErrMsg(const std::string& optname, const std::string&
      strValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/common/args.cpp:61,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/common/args.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' strValue'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: InterpretBool
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - LocaleIndependentAtoi
    - empty
    linkageType: ''
    returnType: bool
    signature: bool InterpretBool(const std::string& strValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/common/args.cpp:68,1
    - Dst: substr
      Src: /src/bitcoin-core/src/common/args.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: SettingName
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - substr
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string SettingName(const std::string& arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/common/args.cpp:83,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/common/args.cpp:85,1
    - Dst: std::string::erase
      Src: /src/bitcoin-core/src/common/args.cpp:86,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/common/args.cpp:88,1
    - Dst: std::string::erase
      Src: /src/bitcoin-core/src/common/args.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: InterpretKey
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - std::string::erase
    - std::string::find
    - std::string::starts_with
    - std::string::substr
    linkageType: ''
    returnType: KeyInfo
    signature: KeyInfo InterpretKey(std::string key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/args.cpp:113,1
    - Dst: InterpretBool
      Src: /src/bitcoin-core/src/common/args.cpp:117,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/common/args.cpp:118,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/args.cpp:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ' key'
    - value
    - flags
    - ' error'
    argTypes:
    - KeyInfo
    - std::string*
    - unsigned int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 128
    functionName: InterpretValue
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - InterpretBool
    - strprintf
    linkageType: ''
    returnType: std::optional<common::SettingsValue>
    signature: "std::optional<common::SettingsValue> InterpretValue(const KeyInfo&
      key, const std::string* value,\n                                                  unsigned
      int flags, std::string& error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: ArgsManager::ArgsManager
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgsManager::ArgsManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ArgsManager::~ArgsManager()
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgsManager::~ArgsManager()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:140,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/args.cpp:143,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/common/args.cpp:146,1
    - Dst: OnlyHasDefaultSectionSetting
      Src: /src/bitcoin-core/src/common/args.cpp:149,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/common/args.cpp:149,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/common/args.cpp:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: ArgsManager::GetUnsuitableSectionOnlyArgs
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - empty
    - SettingName
    - LOCK
    - std::set::insert
    - ChainTypeToString
    - OnlyHasDefaultSectionSetting
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> ArgsManager::GetUnsuitableSectionOnlyArgs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/common/args.cpp:160,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/common/args.cpp:161,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/common/args.cpp:162,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/common/args.cpp:163,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/common/args.cpp:164,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:167,1
    - Dst: std::list::remove_if
      Src: /src/bitcoin-core/src/common/args.cpp:169,1
    - Dst: std::set::find
      Src: /src/bitcoin-core/src/common/args.cpp:169,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/common/args.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: ArgsManager::GetUnrecognizedSections
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - std::set::find
    - LOCK
    - std::set::end
    - std::list::remove_if
    - ChainTypeToString
    linkageType: ''
    returnType: std::list<SectionInfo>
    signature: std::list<SectionInfo> ArgsManager::GetUnrecognizedSections() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ArgsManager::SelectConfigNetwork
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void ArgsManager::SelectConfigNetwork(const std::string& network)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:181,1
    - Dst: command_line_options::clear
      Src: /src/bitcoin-core/src/common/args.cpp:182,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/common/args.cpp:192,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/common/args.cpp:197,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/common/args.cpp:199,1
    - Dst: std::string::erase
      Src: /src/bitcoin-core/src/common/args.cpp:200,1
    - Dst: ToLower
      Src: /src/bitcoin-core/src/common/args.cpp:203,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/args.cpp:209,1
    - Dst: ArgsManager::GetArgFlags
      Src: /src/bitcoin-core/src/common/args.cpp:211,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/args.cpp:213,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/common/args.cpp:217,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/args.cpp:220,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/common/args.cpp:226,1
    - Dst: std::string::erase
      Src: /src/bitcoin-core/src/common/args.cpp:227,1
    - Dst: std::string::erase
      Src: /src/bitcoin-core/src/common/args.cpp:230,1
    - Dst: InterpretKey
      Src: /src/bitcoin-core/src/common/args.cpp:231,1
    - Dst: ArgsManager::GetArgFlags
      Src: /src/bitcoin-core/src/common/args.cpp:232,1
    - Dst: KeyInfo::section::empty
      Src: /src/bitcoin-core/src/common/args.cpp:237,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/args.cpp:238,1
    - Dst: InterpretValue
      Src: /src/bitcoin-core/src/common/args.cpp:242,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/common/args.cpp:245,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/args.cpp:249,1
    - Dst: common::SettingsSpan::empty
      Src: /src/bitcoin-core/src/common/args.cpp:252,1
    - Dst: common::SettingsSpan::begin
      Src: /src/bitcoin-core/src/common/args.cpp:253,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 3
    argNames:
    - argc
    - argv
    - ' error'
    argTypes:
    - int
    - char*[]
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 258
    functionName: ArgsManager::ParseParameters
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 11
    functionsReached:
    - ToLower
    - InterpretValue
    - command_line_options::clear
    - KeyInfo::section::empty
    - std::string::length
    - std::string::erase
    - InterpretKey
    - common::FindKey
    - common::SettingsSpan::begin
    - empty
    - common::SettingsSpan::empty
    - std::string::find
    - strprintf
    - std::string::substr
    - ArgsManager::GetArgFlags
    - push_back
    - std::string::starts_with
    - LOCK
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::ParseParameters(int argc, const char* const argv[],
      std::string& error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:262,1
    - Dst: second::find
      Src: /src/bitcoin-core/src/common/args.cpp:264,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/common/args.cpp:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: ArgsManager::GetArgFlags
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - second::end
    - second::find
    linkageType: ''
    returnType: std::optional<unsigned int>
    signature: std::optional<unsigned int> ArgsManager::GetArgFlags(const std::string&
      name) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::IsArgNegated
      Src: /src/bitcoin-core/src/common/args.cpp:274,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/common/args.cpp:275,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/common/args.cpp:276,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/common/args.cpp:277,1
    - Dst: fs::path::has_filename
      Src: /src/bitcoin-core/src/common/args.cpp:279,1
    - Dst: fs::path::parent_path
      Src: /src/bitcoin-core/src/common/args.cpp:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - ' default_value'
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: ArgsManager::GetPathArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - fs::PathFromString
    - ArgsManager::IsArgNegated
    - fs::path::has_filename
    - std::string::empty
    - fs::path::parent_path
    - ArgsManager::GetArg
    linkageType: ''
    returnType: fs::path
    signature: fs::path ArgsManager::GetPathArg(std::string arg, const fs::path& default_value)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:284,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/args.cpp:289,1
    - Dst: ArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/common/args.cpp:291,1
    - Dst: fs::absolute
      Src: /src/bitcoin-core/src/common/args.cpp:292,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/common/args.cpp:292,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/common/args.cpp:293,1
    - Dst: ArgsManager::GetDataDirBase
      Src: /src/bitcoin-core/src/common/args.cpp:298,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/common/args.cpp:301,1
    - Dst: BaseParams
      Src: /src/bitcoin-core/src/common/args.cpp:301,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/common/args.cpp:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 305
    functionName: ArgsManager::GetBlocksDirPath
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - fs::PathFromString
    - empty
    - ArgsManager::IsArgSet
    - ArgsManager::GetPathArg
    - fs::is_directory
    - LOCK
    - fs::absolute
    - fs::create_directories
    - ArgsManager::GetDataDirBase
    - BaseParams
    linkageType: ''
    returnType: fs::path
    signature: fs::path ArgsManager::GetBlocksDirPath() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:309,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/args.cpp:313,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/common/args.cpp:315,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/common/args.cpp:316,1
    - Dst: fs::absolute
      Src: /src/bitcoin-core/src/common/args.cpp:317,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/common/args.cpp:318,1
    - Dst: GetDefaultDataDir
      Src: /src/bitcoin-core/src/common/args.cpp:323,1
    - Dst: BaseParams
      Src: /src/bitcoin-core/src/common/args.cpp:326,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/common/args.cpp:327,1
    - Dst: BaseParams
      Src: /src/bitcoin-core/src/common/args.cpp:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - net_specific
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 331
    functionName: ArgsManager::GetDataDir
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - fs::PathFromString
    - GetDefaultDataDir
    - empty
    - fs::path::empty
    - ArgsManager::GetPathArg
    - LOCK
    - fs::is_directory
    - fs::absolute
    - BaseParams
    linkageType: ''
    returnType: fs::path
    signature: fs::path ArgsManager::GetDataDir(bool net_specific) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:335,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/common/args.cpp:337,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/common/args.cpp:338,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/common/args.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: ArgsManager::ClearPathCache
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - DeserializeHDKeypath
    linkageType: ''
    returnType: void
    signature: void ArgsManager::ClearPathCache()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:345,1
    - Dst: begin
      Src: /src/bitcoin-core/src/common/args.cpp:346,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/args.cpp:347,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/args.cpp:355,1
    - Dst: Command::args::push_back
      Src: /src/bitcoin-core/src/common/args.cpp:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 360
    functionName: ArgsManager::GetCommand
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - end
    - LOCK
    - Command::args::push_back
    - begin
    linkageType: ''
    returnType: std::optional<const ArgsManager::Command>
    signature: std::optional<const ArgsManager::Command> ArgsManager::GetCommand()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetSettingsList
      Src: /src/bitcoin-core/src/common/args.cpp:365,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/common/args.cpp:366,1
    - Dst: isFalse
      Src: /src/bitcoin-core/src/common/args.cpp:366,1
    - Dst: isTrue
      Src: /src/bitcoin-core/src/common/args.cpp:366,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/common/args.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' strArg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: ArgsManager::GetArgs
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 5
    functionsReached:
    - isFalse
    - std::vector::push_back
    - ArgsManager::GetSettingsList
    - isTrue
    - get_str
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> ArgsManager::GetArgs(const std::string& strArg)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/common/args.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strArg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: ArgsManager::IsArgSet
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 5
    functionsReached:
    - ArgsManager::GetSetting
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::IsArgSet(const std::string& strArg) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/common/args.cpp:378,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/common/args.cpp:379,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/common/args.cpp:386,1
    - Dst: ArgsManager::GetDataDirNet
      Src: /src/bitcoin-core/src/common/args.cpp:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - filepath
    - temp
    - backup
    argTypes:
    - fs::path*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: ArgsManager::GetSettingsPath
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - ArgsManager::GetDataDirNet
    - fsbridge::AbsPathJoin
    - fs::path::empty
    - ArgsManager::GetPathArg
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::GetSettingsPath(fs::path* filepath, bool temp, bool
      backup) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/bitcoin-core/src/common/args.cpp:395,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/common/args.cpp:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - errors
    - error_out
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: SaveErrors
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - std::vector<std::string>*::emplace_back
    linkageType: ''
    returnType: void
    signature: void SaveErrors(const std::vector<std::string> errors, std::vector<std::string>*
      error_out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::path
      Src: /src/bitcoin-core/src/common/args.cpp:404,1
    - Dst: ArgsManager::GetSettingsPath
      Src: /src/bitcoin-core/src/common/args.cpp:405,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:409,1
    - Dst: rw_settings::clear
      Src: /src/bitcoin-core/src/common/args.cpp:410,1
    - Dst: common::ReadSettings
      Src: /src/bitcoin-core/src/common/args.cpp:412,1
    - Dst: SaveErrors
      Src: /src/bitcoin-core/src/common/args.cpp:413,1
    - Dst: InterpretKey
      Src: /src/bitcoin-core/src/common/args.cpp:417,1
    - Dst: ArgsManager::GetArgFlags
      Src: /src/bitcoin-core/src/common/args.cpp:418,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/common/args.cpp:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - errors
    argTypes:
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 423
    functionName: ArgsManager::ReadSettingsFile
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - ArgsManager::GetArgFlags
    - ArgsManager::GetSettingsPath
    - SaveErrors
    - fs::path::path
    - LOCK
    - LogPrintf
    - rw_settings::clear
    - InterpretKey
    - common::ReadSettings
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::ReadSettingsFile(std::vector<std::string>* errors)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::path
      Src: /src/bitcoin-core/src/common/args.cpp:427,1
    - Dst: ArgsManager::GetSettingsPath
      Src: /src/bitcoin-core/src/common/args.cpp:428,1
    - Dst: ArgsManager::GetSettingsPath
      Src: /src/bitcoin-core/src/common/args.cpp:428,1
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/common/args.cpp:429,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:432,1
    - Dst: common::WriteSettings
      Src: /src/bitcoin-core/src/common/args.cpp:434,1
    - Dst: SaveErrors
      Src: /src/bitcoin-core/src/common/args.cpp:435,1
    - Dst: RenameOver
      Src: /src/bitcoin-core/src/common/args.cpp:438,1
    - Dst: SaveErrors
      Src: /src/bitcoin-core/src/common/args.cpp:439,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/args.cpp:439,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/args.cpp:439,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/args.cpp:439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - errors
    - backup
    argTypes:
    - std::vector<std::string>*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 443
    functionName: ArgsManager::WriteSettingsFile
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - ArgsManager::GetSettingsPath
    - common::WriteSettings
    - RenameOver
    - SaveErrors
    - fs::path::path
    - LOCK
    - std::logic_error
    - strprintf
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::WriteSettingsFile(std::vector<std::string>* errors,
      bool backup) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:447,1
    - Dst: common::GetSetting
      Src: /src/bitcoin-core/src/common/args.cpp:448,1
    - Dst: ArgsManager::UseDefaultSection
      Src: /src/bitcoin-core/src/common/args.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: ArgsManager::GetPersistentSetting
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - common::GetSetting
    - ArgsManager::UseDefaultSection
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue ArgsManager::GetPersistentSetting(const std::string&
      name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/common/args.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strArg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: ArgsManager::IsArgNegated
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 5
    functionsReached:
    - ArgsManager::GetSetting
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::IsArgNegated(const std::string& strArg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/common/args.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' strArg'
    - ' strDefault'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: ArgsManager::GetArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 10
    functionsReached:
    - ArgsManager::GetArg
    linkageType: ''
    returnType: std::string
    signature: std::string ArgsManager::GetArg(const std::string& strArg, const std::string&
      strDefault) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/common/args.cpp:464,1
    - Dst: SettingToString
      Src: /src/bitcoin-core/src/common/args.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strArg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: ArgsManager::GetArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 10
    functionsReached:
    - SettingToString
    - ArgsManager::GetSetting
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ArgsManager::GetArg(const std::string& strArg)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/common/args.cpp:470,1
    - Dst: isFalse
      Src: /src/bitcoin-core/src/common/args.cpp:471,1
    - Dst: isTrue
      Src: /src/bitcoin-core/src/common/args.cpp:472,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/common/args.cpp:473,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/common/args.cpp:473,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/common/args.cpp:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: SettingToString
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - getValStr
    - isFalse
    - isNum
    - isNull
    - isTrue
    - get_str
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> SettingToString(const common::SettingsValue&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SettingToString
      Src: /src/bitcoin-core/src/common/args.cpp:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - ' strDefault'
    argTypes:
    - common::SettingsValue
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: SettingToString
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - SettingToString
    linkageType: ''
    returnType: std::string
    signature: std::string SettingToString(const common::SettingsValue& value, const
      std::string& strDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/common/args.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' strArg'
    - nDefault
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: ArgsManager::GetIntArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 7
    functionsReached:
    - ArgsManager::GetIntArg
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArgsManager::GetIntArg(const std::string& strArg, int64_t nDefault)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/common/args.cpp:489,1
    - Dst: SettingToInt
      Src: /src/bitcoin-core/src/common/args.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strArg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: ArgsManager::GetIntArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 7
    functionsReached:
    - SettingToInt
    - ArgsManager::GetSetting
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ArgsManager::GetIntArg(const std::string& strArg)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/common/args.cpp:495,1
    - Dst: isFalse
      Src: /src/bitcoin-core/src/common/args.cpp:496,1
    - Dst: isTrue
      Src: /src/bitcoin-core/src/common/args.cpp:497,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/common/args.cpp:498,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/common/args.cpp:498,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/common/args.cpp:499,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/common/args.cpp:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 500
    functionName: SettingToInt
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - LocaleIndependentAtoi
    - isFalse
    - isNum
    - isNull
    - isTrue
    - get_str
    - getInt
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> SettingToInt(const common::SettingsValue& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SettingToInt
      Src: /src/bitcoin-core/src/common/args.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - nDefault
    argTypes:
    - common::SettingsValue
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: SettingToInt
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - SettingToInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t SettingToInt(const common::SettingsValue& value, int64_t nDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/common/args.cpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' strArg'
    - fDefault
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: ArgsManager::GetBoolArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 10
    functionsReached:
    - ArgsManager::GetBoolArg
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::GetBoolArg(const std::string& strArg, bool fDefault)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetSetting
      Src: /src/bitcoin-core/src/common/args.cpp:514,1
    - Dst: SettingToBool
      Src: /src/bitcoin-core/src/common/args.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strArg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: ArgsManager::GetBoolArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 10
    functionsReached:
    - SettingToBool
    - ArgsManager::GetSetting
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ArgsManager::GetBoolArg(const std::string& strArg)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/common/args.cpp:520,1
    - Dst: isBool
      Src: /src/bitcoin-core/src/common/args.cpp:521,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/common/args.cpp:521,1
    - Dst: InterpretBool
      Src: /src/bitcoin-core/src/common/args.cpp:522,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/common/args.cpp:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: SettingToBool
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - isNull
    - InterpretBool
    - get_str
    - isBool
    - get_bool
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SettingToBool(const common::SettingsValue& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SettingToBool
      Src: /src/bitcoin-core/src/common/args.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - fDefault
    argTypes:
    - common::SettingsValue
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: SettingToBool
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - SettingToBool
    linkageType: ''
    returnType: bool
    signature: bool SettingToBool(const common::SettingsValue& value, bool fDefault)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:532,1
    - Dst: ArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/common/args.cpp:533,1
    - Dst: ArgsManager::ForceSetArg
      Src: /src/bitcoin-core/src/common/args.cpp:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' strArg'
    - ' strValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: ArgsManager::SoftSetArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - ArgsManager::IsArgSet
    - ArgsManager::ForceSetArg
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::SoftSetArg(const std::string& strArg, const std::string&
      strValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::SoftSetArg
      Src: /src/bitcoin-core/src/common/args.cpp:541,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/common/args.cpp:541,1
    - Dst: ArgsManager::SoftSetArg
      Src: /src/bitcoin-core/src/common/args.cpp:543,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/common/args.cpp:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' strArg'
    - fValue
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 544
    functionName: ArgsManager::SoftSetBoolArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - ArgsManager::SoftSetArg
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::SoftSetBoolArg(const std::string& strArg, bool fValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:548,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/common/args.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' strArg'
    - ' strValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: ArgsManager::ForceSetArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 6
    functionsReached:
    - LOCK
    - SettingName
    linkageType: ''
    returnType: void
    signature: void ArgsManager::ForceSetArg(const std::string& strArg, const std::string&
      strValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/common/args.cpp:554,1
    - Dst: find
      Src: /src/bitcoin-core/src/common/args.cpp:554,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/common/args.cpp:555,1
    - Dst: at
      Src: /src/bitcoin-core/src/common/args.cpp:555,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:557,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/common/args.cpp:560,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/common/args.cpp:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' cmd'
    - ' help'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: ArgsManager::AddCommand
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - emplace
    - at
    - LOCK
    - Assert
    - find
    linkageType: ''
    returnType: void
    signature: void ArgsManager::AddCommand(const std::string& cmd, const std::string&
      help)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/common/args.cpp:566,1
    - Dst: find
      Src: /src/bitcoin-core/src/common/args.cpp:569,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/args.cpp:571,1
    - Dst: substr
      Src: /src/bitcoin-core/src/common/args.cpp:573,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:575,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/common/args.cpp:577,1
    - Dst: substr
      Src: /src/bitcoin-core/src/common/args.cpp:577,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/args.cpp:577,1
    - Dst: assert
      Src: /src/bitcoin-core/src/common/args.cpp:578,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/common/args.cpp:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' name'
    - ' help'
    - flags
    - ' cat'
    argTypes:
    - std::string
    - std::string
    - unsigned int
    - OptionsCategory
    assertStmts:
    - condition: (ret.second)
      pos:
        line_end: 577
        line_start: 577
        source_file: /src/bitcoin-core/src/common/args.cpp
    constantsTouched: []
    func_position:
      end: 583
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 583
    functionName: ArgsManager::AddArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 5
    functionsReached:
    - substr
    - emplace
    - size
    - LOCK
    - Assert
    - assert
    - find
    linkageType: ''
    returnType: void
    signature: void ArgsManager::AddArg(const std::string& name, const std::string&
      help, unsigned int flags, const OptionsCategory& cat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::AddArg
      Src: /src/bitcoin-core/src/common/args.cpp:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' names'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 590
    functionName: ArgsManager::AddHiddenArgs
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - ArgsManager::AddArg
    linkageType: ''
    returnType: void
    signature: void ArgsManager::AddHiddenArgs(const std::vector<std::string>& names)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:594,1
    - Dst: find
      Src: /src/bitcoin-core/src/common/args.cpp:596,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/args.cpp:597,1
    - Dst: ArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/common/args.cpp:599,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/common/args.cpp:600,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/args.cpp:603,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/common/args.cpp:604,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/args.cpp:604,1
    - Dst: util::Join
      Src: /src/bitcoin-core/src/common/args.cpp:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 607
    functionName: ArgsManager::CheckMultipleCLIArgs
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - end
    - ArgsManager::IsArgSet
    - std::runtime_error
    - util::Join
    - std::vector::push_back
    - LOCK
    - strprintf
    - find
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void ArgsManager::CheckMultipleCLIArgs() const
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/common/args.cpp:611,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:614,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:618,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:621,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:624,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:627,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:630,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:633,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:636,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:639,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:642,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:645,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:648,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:651,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:654,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:657,1
    - Dst: HelpMessageGroup
      Src: /src/bitcoin-core/src/common/args.cpp:660,1
    - Dst: second::m_help_param::empty
      Src: /src/bitcoin-core/src/common/args.cpp:672,1
    - Dst: HelpMessageOpt
      Src: /src/bitcoin-core/src/common/args.cpp:677,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 682
    functionName: ArgsManager::GetHelpMessage
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - HelpMessageGroup
    - ArgsManager::GetBoolArg
    - second::m_help_param::empty
    - LOCK
    - HelpMessageOpt
    linkageType: ''
    returnType: std::string
    signature: std::string ArgsManager::GetHelpMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/common/args.cpp:686,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/common/args.cpp:686,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/common/args.cpp:686,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/common/args.cpp:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: HelpRequested
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 5
    functionsReached:
    - IsArgSet
    linkageType: ''
    returnType: bool
    signature: bool HelpRequested(const ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddArg
      Src: /src/bitcoin-core/src/common/args.cpp:691,1
    - Dst: AddHiddenArgs
      Src: /src/bitcoin-core/src/common/args.cpp:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: SetupHelpOptions
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 5
    functionsReached:
    - AddArg
    - AddHiddenArgs
    linkageType: ''
    returnType: void
    signature: void SetupHelpOptions(ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/common/args.cpp:700,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/common/args.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 701
    functionName: HelpMessageGroup
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string HelpMessageGroup(const std::string &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/common/args.cpp:704,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/common/args.cpp:704,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/common/args.cpp:705,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/common/args.cpp:705,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/common/args.cpp:706,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/common/args.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - message
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 708
    functionName: HelpMessageOpt
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - FormatParagraph
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string HelpMessageOpt(const std::string &option, const std::string
      &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/common/args.cpp:718,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/common/args.cpp:719,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/common/args.cpp:719,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/common/args.cpp:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' args'
    - ' test_option'
    argTypes:
    - ArgsManager
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 722
    functionName: HasTestOption
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 3
    functionsReached:
    - auto::end
    - auto::begin
    - GetArgs
    - std::any_of
    linkageType: ''
    returnType: bool
    signature: bool HasTestOption(const ArgsManager& args, const std::string& test_option)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSpecialFolderPath
      Src: /src/bitcoin-core/src/common/args.cpp:734,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/common/args.cpp:735,1
    - Dst: GetSpecialFolderPath
      Src: /src/bitcoin-core/src/common/args.cpp:738,1
    - Dst: fs::path::path
      Src: /src/bitcoin-core/src/common/args.cpp:740,1
    - Dst: getenv
      Src: /src/bitcoin-core/src/common/args.cpp:741,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/common/args.cpp:742,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/common/args.cpp:743,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/common/args.cpp:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 754
    functionName: GetDefaultDataDir
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - DeserializeHDKeypath
    - strlen
    - fs::exists
    - fs::path::path
    - GetSpecialFolderPath
    - getenv
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetDefaultDataDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/common/args.cpp:758,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/common/args.cpp:759,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/common/args.cpp:759,1
    - Dst: fs::absolute
      Src: /src/bitcoin-core/src/common/args.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: CheckDataDirOption
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - GetPathArg
    - fs::is_directory
    - fs::absolute
    - fs::path::empty
    linkageType: ''
    returnType: bool
    signature: bool CheckDataDirOption(const ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:764,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/common/args.cpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: ArgsManager::GetConfigFilePath
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - Assert
    linkageType: ''
    returnType: fs::path
    signature: fs::path ArgsManager::GetConfigFilePath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:770,1
    - Dst: assert
      Src: /src/bitcoin-core/src/common/args.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - fs::path
    assertStmts:
    - condition: (!m_config_path)
      pos:
        line_end: 770
        line_start: 770
        source_file: /src/bitcoin-core/src/common/args.cpp
    constantsTouched: []
    func_position:
      end: 773
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 773
    functionName: ArgsManager::SetConfigFilePath
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - assert
    linkageType: ''
    returnType: void
    signature: void ArgsManager::SetConfigFilePath(fs::path path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetChainArg
      Src: /src/bitcoin-core/src/common/args.cpp:777,1
    - Dst: std::get_if<ChainType>
      Src: /src/bitcoin-core/src/common/args.cpp:778,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/common/args.cpp:779,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/args.cpp:779,1
    - Dst: std::get<std::string>
      Src: /src/bitcoin-core/src/common/args.cpp:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: ArgsManager::GetChainType
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<ChainType>
    - std::runtime_error
    - std::get<std::string>
    - strprintf
    - ArgsManager::GetChainArg
    linkageType: ''
    returnType: ChainType
    signature: ChainType ArgsManager::GetChainType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetChainArg
      Src: /src/bitcoin-core/src/common/args.cpp:784,1
    - Dst: std::get_if<ChainType>
      Src: /src/bitcoin-core/src/common/args.cpp:785,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/common/args.cpp:785,1
    - Dst: std::get<std::string>
      Src: /src/bitcoin-core/src/common/args.cpp:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 787
    functionName: ArgsManager::GetChainTypeString
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - std::get<std::string>
    - std::get_if<ChainType>
    - ChainTypeToString
    - ArgsManager::GetChainArg
    linkageType: ''
    returnType: std::string
    signature: std::string ArgsManager::GetChainTypeString() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:792,1
    - Dst: common::GetSetting
      Src: /src/bitcoin-core/src/common/args.cpp:793,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/common/args.cpp:793,1
    - Dst: common::SettingsValue::isNull
      Src: /src/bitcoin-core/src/common/args.cpp:797,1
    - Dst: common::SettingsValue::isBool
      Src: /src/bitcoin-core/src/common/args.cpp:797,1
    - Dst: common::SettingsValue::get_bool
      Src: /src/bitcoin-core/src/common/args.cpp:797,1
    - Dst: InterpretBool
      Src: /src/bitcoin-core/src/common/args.cpp:797,1
    - Dst: common::SettingsValue::get_str
      Src: /src/bitcoin-core/src/common/args.cpp:797,1
    - Dst: get_net
      Src: /src/bitcoin-core/src/common/args.cpp:800,1
    - Dst: get_net
      Src: /src/bitcoin-core/src/common/args.cpp:801,1
    - Dst: get_net
      Src: /src/bitcoin-core/src/common/args.cpp:802,1
    - Dst: get_net
      Src: /src/bitcoin-core/src/common/args.cpp:803,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/common/args.cpp:804,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/common/args.cpp:806,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/common/args.cpp:807,1
    - Dst: ChainTypeFromString
      Src: /src/bitcoin-core/src/common/args.cpp:810,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 819
    functionName: ArgsManager::GetChainArg
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - common::SettingsValue::isNull
    - auto::has_value
    - SettingName
    - common::SettingsValue::get_bool
    - std::runtime_error
    - LOCK
    - get_net
    - InterpretBool
    - ChainTypeFromString
    - common::SettingsValue::get_str
    - ArgsManager::GetArg
    - common::GetSetting
    - common::SettingsValue::isBool
    linkageType: ''
    returnType: std::variant<ChainType, std::string>
    signature: std::variant<ChainType, std::string> ArgsManager::GetChainArg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/common/args.cpp:823,1
    - Dst: count
      Src: /src/bitcoin-core/src/common/args.cpp:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 824
    functionName: ArgsManager::UseDefaultSection
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - count
    - ChainTypeToString
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::UseDefaultSection(const std::string& arg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:828,1
    - Dst: common::GetSetting
      Src: /src/bitcoin-core/src/common/args.cpp:829,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/common/args.cpp:830,1
    - Dst: ArgsManager::UseDefaultSection
      Src: /src/bitcoin-core/src/common/args.cpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: ArgsManager::GetSetting
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 7
    functionsReached:
    - LOCK
    - common::GetSetting
    - ArgsManager::UseDefaultSection
    - SettingName
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue ArgsManager::GetSetting(const std::string& arg)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:836,1
    - Dst: common::GetSettingsList
      Src: /src/bitcoin-core/src/common/args.cpp:837,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/common/args.cpp:837,1
    - Dst: ArgsManager::UseDefaultSection
      Src: /src/bitcoin-core/src/common/args.cpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: ArgsManager::GetSettingsList
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    - common::GetSettingsList
    - ArgsManager::UseDefaultSection
    - SettingName
    linkageType: ''
    returnType: std::vector<common::SettingsValue>
    signature: std::vector<common::SettingsValue> ArgsManager::GetSettingsList(const
      std::string& arg) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/common/args.cpp:845,1
    - Dst: ArgsManager::GetArgFlags
      Src: /src/bitcoin-core/src/common/args.cpp:848,1
    - Dst: write
      Src: /src/bitcoin-core/src/common/args.cpp:850,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/common/args.cpp:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' prefix'
    - ' section'
    - ' args'
    argTypes:
    - std::string
    - std::string
    - std::map<std::string, std::vector<common::SettingsValue>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 840
    functionDepth: 2
    functionLinenumber: 840
    functionLinenumberEnd: 855
    functionName: ArgsManager::logArgsPrefix
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - ArgsManager::GetArgFlags
    - LogPrintf
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: "void ArgsManager::logArgsPrefix(\n    const std::string& prefix,\n
      \   const std::string& section,\n    const std::map<std::string, std::vector<common::SettingsValue>>&
      args) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.cpp:859,1
    - Dst: ArgsManager::logArgsPrefix
      Src: /src/bitcoin-core/src/common/args.cpp:861,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/common/args.cpp:864,1
    - Dst: second::write
      Src: /src/bitcoin-core/src/common/args.cpp:864,1
    - Dst: ArgsManager::logArgsPrefix
      Src: /src/bitcoin-core/src/common/args.cpp:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 857
    functionDepth: 3
    functionLinenumber: 857
    functionLinenumberEnd: 867
    functionName: ArgsManager::LogArgs
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 1
    functionsReached:
    - LogPrintf
    - LOCK
    - second::write
    - ArgsManager::logArgsPrefix
    linkageType: ''
    returnType: void
    signature: void ArgsManager::LogArgs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommandLineToArgvW
      Src: /src/bitcoin-core/src/common/args.cpp:873,1
    - Dst: GetCommandLineW
      Src: /src/bitcoin-core/src/common/args.cpp:873,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/common/args.cpp:875,1
    - Dst: resize
      Src: /src/bitcoin-core/src/common/args.cpp:876,1
    - Dst: std::wstring_convert::to_bytes
      Src: /src/bitcoin-core/src/common/args.cpp:878,1
    - Dst: begin
      Src: /src/bitcoin-core/src/common/args.cpp:879,1
    - Dst: LocalFree
      Src: /src/bitcoin-core/src/common/args.cpp:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 882
    functionName: common::WinCmdLineArgs::WinCmdLineArgs
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - CommandLineToArgvW
    - std::wstring_convert::to_bytes
    - LocalFree
    - char::char
    - resize
    - GetCommandLineW
    - begin
    linkageType: ''
    returnType: void
    signature: void WinCmdLineArgs::WinCmdLineArgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: WinCmdLineArgs::~WinCmdLineArgs()
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinCmdLineArgs::~WinCmdLineArgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/common/args.cpp:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: common::WinCmdLineArgs::get
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    linkageType: ''
    returnType: std::pair<int, char**>
    signature: std::pair<int, char**> WinCmdLineArgs::get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommandLineToArgvW
      Src: /src/bitcoin-core/src/common/args.cpp:873,1
    - Dst: GetCommandLineW
      Src: /src/bitcoin-core/src/common/args.cpp:873,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/common/args.cpp:875,1
    - Dst: resize
      Src: /src/bitcoin-core/src/common/args.cpp:876,1
    - Dst: std::wstring_convert::to_bytes
      Src: /src/bitcoin-core/src/common/args.cpp:878,1
    - Dst: begin
      Src: /src/bitcoin-core/src/common/args.cpp:879,1
    - Dst: LocalFree
      Src: /src/bitcoin-core/src/common/args.cpp:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 882
    functionName: common::WinCmdLineArgs::WinCmdLineArgs
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - CommandLineToArgvW
    - std::wstring_convert::to_bytes
    - LocalFree
    - char::char
    - resize
    - GetCommandLineW
    - begin
    linkageType: ''
    returnType: void
    signature: void WinCmdLineArgs::WinCmdLineArgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: WinCmdLineArgs::~WinCmdLineArgs()
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinCmdLineArgs::~WinCmdLineArgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/common/args.cpp:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: common::WinCmdLineArgs::get
    functionSourceFile: /src/bitcoin-core/src/common/args.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    linkageType: ''
    returnType: std::pair<int, char**>
    signature: std::pair<int, char**> WinCmdLineArgs::get()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/common/run_command.cpp:21,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/run_command.cpp:25,1
    - Dst: subprocess::Popen::Popen
      Src: /src/bitcoin-core/src/common/run_command.cpp:27,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/run_command.cpp:28,1
    - Dst: auto::send
      Src: /src/bitcoin-core/src/common/run_command.cpp:29,1
    - Dst: auto::communicate
      Src: /src/bitcoin-core/src/common/run_command.cpp:31,1
    - Dst: std::istringstream::str
      Src: /src/bitcoin-core/src/common/run_command.cpp:32,1
    - Dst: buf::begin
      Src: /src/bitcoin-core/src/common/run_command.cpp:32,1
    - Dst: buf::end
      Src: /src/bitcoin-core/src/common/run_command.cpp:32,1
    - Dst: std::istringstream::str
      Src: /src/bitcoin-core/src/common/run_command.cpp:33,1
    - Dst: buf::begin
      Src: /src/bitcoin-core/src/common/run_command.cpp:33,1
    - Dst: buf::end
      Src: /src/bitcoin-core/src/common/run_command.cpp:33,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/common/run_command.cpp:37,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/common/run_command.cpp:38,1
    - Dst: auto::retcode
      Src: /src/bitcoin-core/src/common/run_command.cpp:40,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/common/run_command.cpp:41,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/run_command.cpp:41,1
    - Dst: UniValue::read
      Src: /src/bitcoin-core/src/common/run_command.cpp:42,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/common/run_command.cpp:42,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/common/run_command.cpp:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ' str_command'
    - ' str_std_in'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 48
    functionName: RunCommandParseJSON
    functionSourceFile: /src/bitcoin-core/src/common/run_command.cpp
    functionUses: 5
    functionsReached:
    - auto::retcode
    - empty
    - std::runtime_error
    - auto::communicate
    - UniValue::UniValue
    - subprocess::Popen::Popen
    - UniValue::read
    - buf::begin
    - auto::send
    - strprintf
    - buf::end
    - std::getline
    - std::istringstream::str
    linkageType: ''
    returnType: UniValue
    signature: UniValue RunCommandParseJSON(const std::string& str_command, const
      std::string& str_std_in)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/bitcoin-core/src/common/config.cpp:39,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/common/config.cpp:41,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/common/config.cpp:42,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/common/config.cpp:46,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/common/config.cpp:47,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/common/config.cpp:48,1
    - Dst: std::string::rbegin
      Src: /src/bitcoin-core/src/common/config.cpp:48,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/common/config.cpp:49,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/common/config.cpp:49,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/config.cpp:50,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/common/config.cpp:52,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/config.cpp:53,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/common/config.cpp:55,1
    - Dst: TrimString
      Src: /src/bitcoin-core/src/common/config.cpp:56,1
    - Dst: substr
      Src: /src/bitcoin-core/src/common/config.cpp:56,1
    - Dst: TrimStringView
      Src: /src/bitcoin-core/src/common/config.cpp:57,1
    - Dst: substr
      Src: /src/bitcoin-core/src/common/config.cpp:57,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/common/config.cpp:58,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/config.cpp:59,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/config.cpp:62,1
    - Dst: std::string::rfind
      Src: /src/bitcoin-core/src/common/config.cpp:63,1
    - Dst: length
      Src: /src/bitcoin-core/src/common/config.cpp:63,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/config.cpp:64,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/common/config.cpp:64,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/config.cpp:67,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/common/config.cpp:68,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/common/config.cpp:68,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/config.cpp:69,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - ' stream'
    - ' filepath'
    - ' error'
    - ' options'
    - ' sections'
    argTypes:
    - std::istream
    - std::string
    - std::string
    - std::vector<std::pair<std::string, std::string>>
    - std::list<SectionInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 77
    functionName: GetConfigOptions
    functionSourceFile: /src/bitcoin-core/src/common/config.cpp
    functionUses: 0
    functionsReached:
    - substr
    - std::string::size
    - std::string::begin
    - TrimStringView
    - std::string::starts_with
    - TrimString
    - std::string::empty
    - length
    - std::string::rfind
    - std::string::find
    - strprintf
    - emplace_back
    - std::string::rbegin
    - std::getline
    - std::string::substr
    linkageType: ''
    returnType: bool
    signature: bool GetConfigOptions(std::istream& stream, const std::string& filepath,
      std::string& error, std::vector<std::pair<std::string, std::string>>& options,
      std::list<SectionInfo>& sections)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/common/config.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' key'
    - ' error'
    argTypes:
    - KeyInfo
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: IsConfSupported
    functionSourceFile: /src/bitcoin-core/src/common/config.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    linkageType: ''
    returnType: bool
    signature: bool IsConfSupported(KeyInfo& key, std::string& error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/config.cpp:95,1
    - Dst: GetConfigOptions
      Src: /src/bitcoin-core/src/common/config.cpp:97,1
    - Dst: InterpretKey
      Src: /src/bitcoin-core/src/common/config.cpp:101,1
    - Dst: ArgsManager::GetArgFlags
      Src: /src/bitcoin-core/src/common/config.cpp:102,1
    - Dst: IsConfSupported
      Src: /src/bitcoin-core/src/common/config.cpp:103,1
    - Dst: InterpretValue
      Src: /src/bitcoin-core/src/common/config.cpp:105,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/common/config.cpp:109,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/common/config.cpp:112,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/config.cpp:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ' stream'
    - ' filepath'
    - ' error'
    - ignore_invalid_keys
    argTypes:
    - std::istream
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 120
    functionName: ArgsManager::ReadConfigStream
    functionSourceFile: /src/bitcoin-core/src/common/config.cpp
    functionUses: 2
    functionsReached:
    - ArgsManager::GetArgFlags
    - push_back
    - LOCK
    - IsConfSupported
    - LogPrintf
    - InterpretKey
    - InterpretValue
    - strprintf
    - GetConfigOptions
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::ReadConfigStream(std::istream& stream, const std::string&
      filepath, std::string& error, bool ignore_invalid_keys)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/config.cpp:125,1
    - Dst: ro_config::clear
      Src: /src/bitcoin-core/src/common/config.cpp:126,1
    - Dst: clear
      Src: /src/bitcoin-core/src/common/config.cpp:127,1
    - Dst: AbsPathForConfigVal
      Src: /src/bitcoin-core/src/common/config.cpp:128,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/common/config.cpp:128,1
    - Dst: ArgsManager::GetConfigFilePath
      Src: /src/bitcoin-core/src/common/config.cpp:131,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/common/config.cpp:133,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/common/config.cpp:134,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/config.cpp:135,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/config.cpp:135,1
    - Dst: ArgsManager::IsArgSet
      Src: /src/bitcoin-core/src/common/config.cpp:140,1
    - Dst: std::ifstream::good
      Src: /src/bitcoin-core/src/common/config.cpp:140,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/config.cpp:141,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/config.cpp:141,1
    - Dst: std::ifstream::good
      Src: /src/bitcoin-core/src/common/config.cpp:146,1
    - Dst: ArgsManager::ReadConfigStream
      Src: /src/bitcoin-core/src/common/config.cpp:147,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/config.cpp:147,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/config.cpp:154,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/config.cpp:155,1
    - Dst: assert
      Src: /src/bitcoin-core/src/common/config.cpp:157,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/config.cpp:157,1
    - Dst: ArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/common/config.cpp:162,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/config.cpp:167,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/config.cpp:168,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/config.cpp:169,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/common/config.cpp:170,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/config.cpp:170,1
    - Dst: auto*::size
      Src: /src/bitcoin-core/src/common/config.cpp:170,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/common/config.cpp:171,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/common/config.cpp:171,1
    - Dst: auto*::size
      Src: /src/bitcoin-core/src/common/config.cpp:173,1
    - Dst: add_includes
      Src: /src/bitcoin-core/src/common/config.cpp:181,1
    - Dst: add_includes
      Src: /src/bitcoin-core/src/common/config.cpp:182,1
    - Dst: AbsPathForConfigVal
      Src: /src/bitcoin-core/src/common/config.cpp:185,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/common/config.cpp:185,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/common/config.cpp:186,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/config.cpp:187,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/config.cpp:187,1
    - Dst: std::ifstream::good
      Src: /src/bitcoin-core/src/common/config.cpp:191,1
    - Dst: ArgsManager::ReadConfigStream
      Src: /src/bitcoin-core/src/common/config.cpp:192,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/common/config.cpp:195,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/common/config.cpp:203,1
    - Dst: add_includes
      Src: /src/bitcoin-core/src/common/config.cpp:204,1
    - Dst: add_includes
      Src: /src/bitcoin-core/src/common/config.cpp:205,1
    - Dst: ArgsManager::GetChainTypeString
      Src: /src/bitcoin-core/src/common/config.cpp:206,1
    - Dst: add_includes
      Src: /src/bitcoin-core/src/common/config.cpp:209,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/common/config.cpp:212,1
    - Dst: ArgsManager::ClearPathCache
      Src: /src/bitcoin-core/src/common/config.cpp:218,1
    - Dst: CheckDataDirOption
      Src: /src/bitcoin-core/src/common/config.cpp:219,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/config.cpp:220,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/common/config.cpp:220,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 2
    argNames:
    - ' error'
    - ignore_invalid_keys
    argTypes:
    - std::string
    - bool
    assertStmts:
    - condition: (common::SettingsSpan(*includes).last_negated())
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/bitcoin-core/src/common/config.cpp
    constantsTouched: []
    func_position:
      end: 224
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 224
    functionName: ArgsManager::ReadConfigFiles
    functionSourceFile: /src/bitcoin-core/src/common/config.cpp
    functionUses: 0
    functionsReached:
    - add_includes
    - std::vector::push_back
    - ArgsManager::GetArg
    - tinyformat::detail::FormatArg::format
    - ArgsManager::GetConfigFilePath
    - ArgsManager::ClearPathCache
    - CheckDataDirOption
    - clear
    - auto*::size
    - common::FindKey
    - fs::PathToString
    - ArgsManager::GetPathArg
    - auto::empty
    - std::vector::clear
    - AbsPathForConfigVal
    - ro_config::clear
    - strprintf
    - get_str
    - std::ifstream::good
    - assert
    - common::SettingsSpan
    - ArgsManager::GetChainTypeString
    - fs::PathFromString
    - ArgsManager::IsArgSet
    - ArgsManager::ReadConfigStream
    - fs::is_directory
    - LOCK
    - std::max
    - LogPrintf
    linkageType: ''
    returnType: bool
    signature: bool ArgsManager::ReadConfigFiles(std::string& error, bool ignore_invalid_keys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_absolute
      Src: /src/bitcoin-core/src/common/config.cpp:228,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/config.cpp:228,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/common/config.cpp:231,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/common/config.cpp:231,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/common/config.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' args'
    - ' path'
    - net_specific
    argTypes:
    - ArgsManager
    - fs::path
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: AbsPathForConfigVal
    functionSourceFile: /src/bitcoin-core/src/common/config.cpp
    functionUses: 4
    functionsReached:
    - empty
    - GetDataDirBase
    - fsbridge::AbsPathJoin
    - GetDataDirNet
    - is_absolute
    linkageType: ''
    returnType: fs::path
    signature: fs::path AbsPathForConfigVal(const ArgsManager& args, const fs::path&
      path, bool net_specific)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: CBloomFilter::CBloomFilter
    functionSourceFile: /src/bitcoin-core/src/common/bloom.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBloomFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/common/bloom.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: CBloomFilter::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/common/bloom.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CBloomFilter, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/common/system.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: ShellEscape
    functionSourceFile: /src/bitcoin-core/src/common/system.cpp
    functionUses: 1
    functionsReached:
    - ReplaceAll
    linkageType: ''
    returnType: std::string
    signature: std::string ShellEscape(const std::string& arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/common/system.cpp:48,1
    - Dst: initialize_system
      Src: /src/bitcoin-core/src/common/system.cpp:50,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/common/system.cpp:50,1
    - Dst: ::_wsystem
      Src: /src/bitcoin-core/src/common/system.cpp:52,1
    - Dst: std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>,wchar_t>
      Src: /src/bitcoin-core/src/common/system.cpp:52,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/common/system.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' strCommand'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: runCommand
    functionSourceFile: /src/bitcoin-core/src/common/system.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>,wchar_t>
    - LogPrintf
    - ::_wsystem
    - c_str
    - initialize_system
    linkageType: ''
    returnType: void
    signature: void runCommand(const std::string& strCommand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mallopt
      Src: /src/bitcoin-core/src/common/system.cpp:68,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/common/system.cpp:75,1
    - Dst: setenv
      Src: /src/bitcoin-core/src/common/system.cpp:77,1
    - Dst: SetConsoleCP
      Src: /src/bitcoin-core/src/common/system.cpp:81,1
    - Dst: SetConsoleOutputCP
      Src: /src/bitcoin-core/src/common/system.cpp:82,1
    - Dst: umask
      Src: /src/bitcoin-core/src/common/system.cpp:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 89
    functionName: SetupEnvironment
    functionSourceFile: /src/bitcoin-core/src/common/system.cpp
    functionUses: 1
    functionsReached:
    - setenv
    - SetConsoleCP
    - umask
    - mallopt
    - SetConsoleOutputCP
    - std::locale
    linkageType: ''
    returnType: void
    signature: void SetupEnvironment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/bitcoin-core/src/common/system.cpp:96,1
    - Dst: MAKEWORD
      Src: /src/bitcoin-core/src/common/system.cpp:96,1
    - Dst: LOBYTE
      Src: /src/bitcoin-core/src/common/system.cpp:97,1
    - Dst: HIBYTE
      Src: /src/bitcoin-core/src/common/system.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: SetupNetworking
    functionSourceFile: /src/bitcoin-core/src/common/system.cpp
    functionUses: 2
    functionsReached:
    - MAKEWORD
    - HIBYTE
    - LOBYTE
    - WSAStartup
    linkageType: ''
    returnType: bool
    signature: bool SetupNetworking()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::hardware_concurrency
      Src: /src/bitcoin-core/src/common/system.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: GetNumCores
    functionSourceFile: /src/bitcoin-core/src/common/system.cpp
    functionUses: 0
    functionsReached:
    - std::thread::hardware_concurrency
    linkageType: ''
    returnType: int
    signature: int GetNumCores()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: GetStartupTime
    functionSourceFile: /src/bitcoin-core/src/common/system.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetStartupTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/common/pcp.cpp:170,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/pcp.cpp:171,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/pcp.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result_code
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: NATPMPResultString
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string NATPMPResultString(uint16_t result_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/common/pcp.cpp:177,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/pcp.cpp:178,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/pcp.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result_code
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: PCPResultString
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string PCPResultString(uint8_t result_code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/pcp.cpp:184,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:184,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/common/pcp.cpp:185,1
    - Dst: CNetAddr::GetInAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:187,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:189,1
    - Dst: std::span<uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:189,1
    - Dst: data
      Src: /src/bitcoin-core/src/common/pcp.cpp:189,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/pcp.cpp:189,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:190,1
    - Dst: std::span<uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:190,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/pcp.cpp:190,1
    - Dst: CNetAddr::IsIPv6
      Src: /src/bitcoin-core/src/common/pcp.cpp:192,1
    - Dst: CNetAddr::GetIn6Addr
      Src: /src/bitcoin-core/src/common/pcp.cpp:194,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:195,1
    - Dst: std::span<uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - wrapped_addr
    - addr
    argTypes:
    - std::span<uint8_t>
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 200
    functionName: PCPWrapAddress
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - CNetAddr::IsIPv6
    - Assume
    - CNetAddr::GetIn6Addr
    - CNetAddr::IsIPv4
    - std::span<uint8_t>::data
    - std::span<uint8_t>::size
    - size
    - data
    - CNetAddr::GetInAddr
    linkageType: ''
    returnType: bool
    signature: bool PCPWrapAddress(std::span<uint8_t> wrapped_addr, const CNetAddr
      &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/pcp.cpp:205,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:205,1
    - Dst: util::HasPrefix
      Src: /src/bitcoin-core/src/common/pcp.cpp:206,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:208,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:208,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/pcp.cpp:208,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:209,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:212,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:212,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wrapped_addr
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: PCPUnwrapAddress
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - Assume
    - util::HasPrefix
    - CNetAddr
    - std::span<const uint8_t>::data
    - size
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr PCPUnwrapAddress(std::span<const uint8_t> wrapped_addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:229,1
    - Dst: Sock::Send
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:233,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:233,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:233,1
    - Dst: time_point_cast<milliseconds>
      Src: /src/bitcoin-core/src/common/pcp.cpp:238,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/common/pcp.cpp:238,1
    - Dst: time_point_cast<milliseconds>
      Src: /src/bitcoin-core/src/common/pcp.cpp:240,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/common/pcp.cpp:240,1
    - Dst: Sock::Wait
      Src: /src/bitcoin-core/src/common/pcp.cpp:242,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:243,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:243,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:243,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:247,1
    - Dst: Sock::Recv
      Src: /src/bitcoin-core/src/common/pcp.cpp:252,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:254,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:254,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:254,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:257,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/common/pcp.cpp:257,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/common/pcp.cpp:257,1
    - Dst: check_packet
      Src: /src/bitcoin-core/src/common/pcp.cpp:259,1
    - Dst: std::span<uint8_t>
      Src: /src/bitcoin-core/src/common/pcp.cpp:259,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:266,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/common/pcp.cpp:269,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 6
    argNames:
    - sock
    - protocol
    - request
    - num_tries
    - timeout_per_try
    - check_packet
    argTypes:
    - Sock
    - std::string
    - std::span<const uint8_t>
    - int
    - std::chrono::milliseconds
    - std::function<bool(std::span<const uint8_t>)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 270
    functionName: PCPSendRecv
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - MockableSteadyClock::now
    - NetworkErrorString
    - std::span<uint8_t>
    - Sock::Recv
    - std::span<const uint8_t>::data
    - static_cast<ssize_t>
    - Sock::Send
    - WSAGetLastError
    - time_point_cast<milliseconds>
    - Sock::Wait
    - std::vector<uint8_t>
    - check_packet
    - std::span
    - HexStr
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: "std::optional<std::vector<uint8_t>> PCPSendRecv(Sock &sock, const
      std::string &protocol, std::span<const uint8_t> request, int num_tries,\n        std::chrono::milliseconds
      timeout_per_try,\n        std::function<bool(std::span<const uint8_t>)> check_packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/common/pcp.cpp:170,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/pcp.cpp:171,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/pcp.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result_code
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: NATPMPResultString
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string NATPMPResultString(uint16_t result_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/common/pcp.cpp:177,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/pcp.cpp:178,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/pcp.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result_code
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: PCPResultString
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string PCPResultString(uint8_t result_code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/pcp.cpp:184,1
    - Dst: std::span<uint8_t>::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:184,1
    - Dst: CNetAddr::IsIPv4
      Src: /src/bitcoin-core/src/common/pcp.cpp:185,1
    - Dst: CNetAddr::GetInAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:187,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:189,1
    - Dst: std::span<uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:189,1
    - Dst: data
      Src: /src/bitcoin-core/src/common/pcp.cpp:189,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/pcp.cpp:189,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:190,1
    - Dst: std::span<uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:190,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/pcp.cpp:190,1
    - Dst: CNetAddr::IsIPv6
      Src: /src/bitcoin-core/src/common/pcp.cpp:192,1
    - Dst: CNetAddr::GetIn6Addr
      Src: /src/bitcoin-core/src/common/pcp.cpp:194,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:195,1
    - Dst: std::span<uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - wrapped_addr
    - addr
    argTypes:
    - std::span<uint8_t>
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 200
    functionName: PCPWrapAddress
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - CNetAddr::IsIPv6
    - Assume
    - CNetAddr::GetIn6Addr
    - CNetAddr::IsIPv4
    - std::span<uint8_t>::data
    - std::span<uint8_t>::size
    - size
    - data
    - CNetAddr::GetInAddr
    linkageType: ''
    returnType: bool
    signature: bool PCPWrapAddress(std::span<uint8_t> wrapped_addr, const CNetAddr
      &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/pcp.cpp:205,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:205,1
    - Dst: util::HasPrefix
      Src: /src/bitcoin-core/src/common/pcp.cpp:206,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:208,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:208,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/pcp.cpp:208,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:209,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:212,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:212,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wrapped_addr
    argTypes:
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: PCPUnwrapAddress
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - Assume
    - util::HasPrefix
    - CNetAddr
    - std::span<const uint8_t>::data
    - size
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: CNetAddr
    signature: CNetAddr PCPUnwrapAddress(std::span<const uint8_t> wrapped_addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:229,1
    - Dst: Sock::Send
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:232,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:233,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:233,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:233,1
    - Dst: time_point_cast<milliseconds>
      Src: /src/bitcoin-core/src/common/pcp.cpp:238,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/common/pcp.cpp:238,1
    - Dst: time_point_cast<milliseconds>
      Src: /src/bitcoin-core/src/common/pcp.cpp:240,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/common/pcp.cpp:240,1
    - Dst: Sock::Wait
      Src: /src/bitcoin-core/src/common/pcp.cpp:242,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:243,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:243,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:243,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:247,1
    - Dst: Sock::Recv
      Src: /src/bitcoin-core/src/common/pcp.cpp:252,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:254,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:254,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:254,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:257,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/common/pcp.cpp:257,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/common/pcp.cpp:257,1
    - Dst: check_packet
      Src: /src/bitcoin-core/src/common/pcp.cpp:259,1
    - Dst: std::span<uint8_t>
      Src: /src/bitcoin-core/src/common/pcp.cpp:259,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:266,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/common/pcp.cpp:269,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 6
    argNames:
    - sock
    - protocol
    - request
    - num_tries
    - timeout_per_try
    - check_packet
    argTypes:
    - Sock
    - std::string
    - std::span<const uint8_t>
    - int
    - std::chrono::milliseconds
    - std::function<bool(std::span<const uint8_t>)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 270
    functionName: PCPSendRecv
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - MockableSteadyClock::now
    - NetworkErrorString
    - std::span<uint8_t>
    - Sock::Recv
    - std::span<const uint8_t>::data
    - static_cast<ssize_t>
    - Sock::Send
    - WSAGetLastError
    - time_point_cast<milliseconds>
    - Sock::Wait
    - std::vector<uint8_t>
    - check_packet
    - std::span
    - HexStr
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: "std::optional<std::vector<uint8_t>> PCPSendRecv(Sock &sock, const
      std::string &protocol, std::span<const uint8_t> request, int num_tries,\n        std::chrono::milliseconds
      timeout_per_try,\n        std::function<bool(std::span<const uint8_t>)> check_packet)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:279,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:279,1
    - Dst: CService
      Src: /src/bitcoin-core/src/common/pcp.cpp:282,1
    - Dst: CreateSock
      Src: /src/bitcoin-core/src/common/pcp.cpp:286,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:288,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:288,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:288,1
    - Dst: auto::Connect
      Src: /src/bitcoin-core/src/common/pcp.cpp:293,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:294,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:294,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:294,1
    - Dst: auto::GetSockName
      Src: /src/bitcoin-core/src/common/pcp.cpp:301,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:302,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:302,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:302,1
    - Dst: PCPSendRecv
      Src: /src/bitcoin-core/src/common/pcp.cpp:311,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/pcp.cpp:313,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:314,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:318,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/pcp.cpp:328,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:328,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:329,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:329,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:331,1
    - Dst: NATPMPResultString
      Src: /src/bitcoin-core/src/common/pcp.cpp:331,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:335,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:335,1
    - Dst: std::vector<uint8_t>
      Src: /src/bitcoin-core/src/common/pcp.cpp:341,1
    - Dst: WriteBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:344,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:344,1
    - Dst: WriteBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:345,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:345,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/common/pcp.cpp:346,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:346,1
    - Dst: PCPSendRecv
      Src: /src/bitcoin-core/src/common/pcp.cpp:348,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:350,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:351,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:355,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:358,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:358,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:360,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/pcp.cpp:369,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:369,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:370,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:370,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:372,1
    - Dst: NATPMPResultString
      Src: /src/bitcoin-core/src/common/pcp.cpp:372,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/common/pcp.cpp:379,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:379,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:380,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:380,1
    - Dst: MappingResult
      Src: /src/bitcoin-core/src/common/pcp.cpp:381,1
    - Dst: CService
      Src: /src/bitcoin-core/src/common/pcp.cpp:381,1
    - Dst: CService
      Src: /src/bitcoin-core/src/common/pcp.cpp:381,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 5
    argNames:
    - gateway
    - port
    - lifetime
    - num_tries
    - timeout_per_try
    argTypes:
    - CNetAddr
    - uint16_t
    - uint32_t
    - int
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 385
    functionName: NATPMPRequestPortMap
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 3
    functionsReached:
    - auto::GetSockName
    - CNetAddr::ToStringAddr
    - WSAGetLastError
    - NATPMPResultString
    - auto::Connect
    - std::memcpy
    - std::span::size
    - ReadBE32
    - WriteBE16
    - std::span::data
    - CService
    - WriteBE32
    - NetworkErrorString
    - Assume
    - CreateSock
    - std::vector<uint8_t>
    - ReadBE16
    - MappingResult
    - LogPrintLevel
    - std::vector::data
    - size
    - PCPSendRecv
    linkageType: ''
    returnType: std::variant<MappingResult, MappingError>
    signature: std::variant<MappingResult, MappingError> NATPMPRequestPortMap(const
      CNetAddr &gateway, uint16_t port, uint32_t lifetime, int num_tries, std::chrono::milliseconds
      timeout_per_try)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:392,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:392,1
    - Dst: CNetAddr::ToStringAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:392,1
    - Dst: CService
      Src: /src/bitcoin-core/src/common/pcp.cpp:395,1
    - Dst: CService
      Src: /src/bitcoin-core/src/common/pcp.cpp:396,1
    - Dst: CreateSock
      Src: /src/bitcoin-core/src/common/pcp.cpp:400,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:402,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:402,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:402,1
    - Dst: auto::Bind
      Src: /src/bitcoin-core/src/common/pcp.cpp:408,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:409,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:409,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:409,1
    - Dst: auto::Connect
      Src: /src/bitcoin-core/src/common/pcp.cpp:414,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:415,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:415,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:415,1
    - Dst: auto::GetSockName
      Src: /src/bitcoin-core/src/common/pcp.cpp:424,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:425,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/pcp.cpp:425,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/common/pcp.cpp:425,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/common/pcp.cpp:428,1
    - Dst: CService::SetSockAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:429,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:430,1
    - Dst: CService::ToStringAddr
      Src: /src/bitcoin-core/src/common/pcp.cpp:430,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/common/pcp.cpp:440,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:440,1
    - Dst: PCPWrapAddress
      Src: /src/bitcoin-core/src/common/pcp.cpp:441,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/common/pcp.cpp:441,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/pcp.cpp:448,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:448,1
    - Dst: PCPMappingNonce::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:448,1
    - Dst: WriteBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:450,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:450,1
    - Dst: WriteBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:451,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:451,1
    - Dst: PCPWrapAddress
      Src: /src/bitcoin-core/src/common/pcp.cpp:452,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/common/pcp.cpp:452,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/pcp.cpp:455,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:455,1
    - Dst: PCPSendRecv
      Src: /src/bitcoin-core/src/common/pcp.cpp:459,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/pcp.cpp:462,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/pcp.cpp:466,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:467,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:471,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/common/pcp.cpp:476,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/common/pcp.cpp:476,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:477,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:481,1
    - Dst: data
      Src: /src/bitcoin-core/src/common/pcp.cpp:481,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:483,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/pcp.cpp:499,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/common/pcp.cpp:499,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/common/pcp.cpp:501,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:501,1
    - Dst: ReadBE16
      Src: /src/bitcoin-core/src/common/pcp.cpp:502,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/common/pcp.cpp:502,1
    - Dst: PCPUnwrapAddress
      Src: /src/bitcoin-core/src/common/pcp.cpp:503,1
    - Dst: std::span::subspan
      Src: /src/bitcoin-core/src/common/pcp.cpp:503,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/pcp.cpp:505,1
    - Dst: PCPResultString
      Src: /src/bitcoin-core/src/common/pcp.cpp:505,1
    - Dst: MappingResult
      Src: /src/bitcoin-core/src/common/pcp.cpp:512,1
    - Dst: CService
      Src: /src/bitcoin-core/src/common/pcp.cpp:512,1
    - Dst: CService
      Src: /src/bitcoin-core/src/common/pcp.cpp:512,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 7
    argNames:
    - nonce
    - gateway
    - bind
    - port
    - lifetime
    - num_tries
    - timeout_per_try
    argTypes:
    - PCPMappingNonce
    - CNetAddr
    - CNetAddr
    - uint16_t
    - uint32_t
    - int
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 387
    functionDepth: 4
    functionLinenumber: 387
    functionLinenumberEnd: 513
    functionName: PCPRequestPortMap
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 9
    functionsReached:
    - auto::GetSockName
    - CNetAddr::ToStringAddr
    - WSAGetLastError
    - data
    - PCPResultString
    - PCPMappingNonce::data
    - auto::Connect
    - all_bytes_equal
    - std::memcpy
    - CService::CService
    - std::span::size
    - ReadBE32
    - WriteBE16
    - std::span::data
    - CService::SetSockAddr
    - std::span
    - std::vector::size
    - CService
    - WriteBE32
    - NetworkErrorString
    - Assume
    - PCPUnwrapAddress
    - CreateSock
    - std::span::subspan
    - CService::ToStringAddr
    - ReadBE16
    - MappingResult
    - LogPrintLevel
    - std::vector::data
    - auto::Bind
    - size
    - PCPSendRecv
    - PCPWrapAddress
    - subspan
    linkageType: ''
    returnType: std::variant<MappingResult, MappingError>
    signature: std::variant<MappingResult, MappingError> PCPRequestPortMap(const PCPMappingNonce
      &nonce, const CNetAddr &gateway, const CNetAddr &bind, uint16_t port, uint32_t
      lifetime, int num_tries, std::chrono::milliseconds timeout_per_try)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/pcp.cpp:517,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/pcp.cpp:518,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/common/pcp.cpp:520,1
    - Dst: ToStringAddrPort
      Src: /src/bitcoin-core/src/common/pcp.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 524
    functionName: MappingResult::ToString
    functionSourceFile: /src/bitcoin-core/src/common/pcp.cpp
    functionUses: 0
    functionsReached:
    - ToStringAddrPort
    - Assume
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string MappingResult::ToString() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:44,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:45,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:45,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:48,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:49,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:49,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:52,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:53,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:53,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:56,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:57,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:58,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:59,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:59,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:64,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:65,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:66,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    - ' fn'
    argTypes:
    - Settings
    - std::string
    - std::string
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: common::MergeSettings
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 0
    functionsReached:
    - common::SettingsSpan
    - fn
    - empty
    - common::FindKey
    linkageType: ''
    returnType: void
    signature: void MergeSettings(const Settings& settings, const std::string& section,
      const std::string& name, Fn&& fn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:44,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:45,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:45,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:48,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:49,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:49,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:52,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:53,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:53,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:56,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:57,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:58,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:59,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:59,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:64,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:65,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:66,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    - ' fn'
    argTypes:
    - Settings
    - std::string
    - std::string
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: common::MergeSettings
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 0
    functionsReached:
    - common::SettingsSpan
    - fn
    - empty
    - common::FindKey
    linkageType: ''
    returnType: void
    signature: void MergeSettings(const Settings& settings, const std::string& section,
      const std::string& name, Fn&& fn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/common/settings.cpp:74,1
    - Dst: clear
      Src: /src/bitcoin-core/src/common/settings.cpp:75,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/common/settings.cpp:78,1
    - Dst: std::ifstream::open
      Src: /src/bitcoin-core/src/common/settings.cpp:81,1
    - Dst: std::ifstream::is_open
      Src: /src/bitcoin-core/src/common/settings.cpp:82,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:83,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:83,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:83,1
    - Dst: SettingsValue::read
      Src: /src/bitcoin-core/src/common/settings.cpp:88,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/bitcoin-core/src/common/settings.cpp:88,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/bitcoin-core/src/common/settings.cpp:88,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:89,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:89,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:91,1
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/common/settings.cpp:95,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:96,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:96,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:96,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/common/settings.cpp:99,1
    - Dst: SettingsValue::isObject
      Src: /src/bitcoin-core/src/common/settings.cpp:101,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:102,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:102,1
    - Dst: SettingsValue::write
      Src: /src/bitcoin-core/src/common/settings.cpp:102,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:102,1
    - Dst: SettingsValue::getKeys
      Src: /src/bitcoin-core/src/common/settings.cpp:106,1
    - Dst: SettingsValue::getValues
      Src: /src/bitcoin-core/src/common/settings.cpp:107,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/settings.cpp:108,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/common/settings.cpp:109,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:111,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:111,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:111,1
    - Dst: clear
      Src: /src/bitcoin-core/src/common/settings.cpp:112,1
    - Dst: erase
      Src: /src/bitcoin-core/src/common/settings.cpp:118,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - ' path'
    - ' values'
    - ' errors'
    argTypes:
    - fs::path
    - std::map<std::string, SettingsValue>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 121
    functionName: common::ReadSettings
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 3
    functionsReached:
    - SettingsValue::write
    - fs::exists
    - std::ifstream::open
    - SettingsValue::getKeys
    - SettingsValue::isObject
    - clear
    - SettingsValue::getValues
    - std::istreambuf_iterator<char>
    - fs::PathToString
    - std::ifstream::close
    - emplace
    - empty
    - std::ifstream::fail
    - std::ifstream::is_open
    - strprintf
    - erase
    - SettingsValue::read
    - size
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool ReadSettings(const fs::path& path, std::map<std::string, SettingsValue>&
      values, std::vector<std::string>& errors)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SettingsValue::pushKV
      Src: /src/bitcoin-core/src/common/settings.cpp:129,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:129,1
    - Dst: SettingsValue::pushKVEnd
      Src: /src/bitcoin-core/src/common/settings.cpp:133,1
    - Dst: std::ofstream::open
      Src: /src/bitcoin-core/src/common/settings.cpp:136,1
    - Dst: std::ofstream::fail
      Src: /src/bitcoin-core/src/common/settings.cpp:137,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:138,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:138,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:138,1
    - Dst: SettingsValue::write
      Src: /src/bitcoin-core/src/common/settings.cpp:141,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/common/settings.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' path'
    - ' values'
    - ' errors'
    argTypes:
    - fs::path
    - std::map<std::string, SettingsValue>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: common::WriteSettings
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 2
    functionsReached:
    - SettingsValue::write
    - std::ofstream::fail
    - std::ofstream::close
    - SettingsValue::pushKV
    - std::ofstream::open
    - strprintf
    - emplace_back
    - SettingsValue::pushKVEnd
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: "bool WriteSettings(const fs::path& path,\n    const std::map<std::string,
      SettingsValue>& values,\n    std::vector<std::string>& errors)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: common::MergeSettings
      Src: /src/bitcoin-core/src/common/settings.cpp:155,1
    - Dst: last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:160,1
    - Dst: last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:190,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:192,1
    - Dst: begin
      Src: /src/bitcoin-core/src/common/settings.cpp:193,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/settings.cpp:193,1
    - Dst: last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:195,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 6
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    - ignore_default_section_config
    - ignore_nonpersistent
    - get_chain_type
    argTypes:
    - Settings
    - std::string
    - std::string
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 201
    functionName: common::GetSetting
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 3
    functionsReached:
    - end
    - empty
    - common::MergeSettings
    - begin
    - last_negated
    linkageType: ''
    returnType: SettingsValue
    signature: "SettingsValue GetSetting(const Settings& settings,\n    const std::string&
      section,\n    const std::string& name,\n    bool ignore_default_section_config,\n
      \   bool ignore_nonpersistent,\n    bool get_chain_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: common::MergeSettings
      Src: /src/bitcoin-core/src/common/settings.cpp:211,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/common/settings.cpp:230,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/common/settings.cpp:231,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/common/settings.cpp:231,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/common/settings.cpp:231,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/common/settings.cpp:231,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/common/settings.cpp:233,1
    - Dst: negated
      Src: /src/bitcoin-core/src/common/settings.cpp:240,1
    - Dst: last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:243,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/common/settings.cpp:243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    - ignore_default_section_config
    argTypes:
    - Settings
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 246
    functionName: common::GetSettingsList
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - getValues
    - isArray
    - std::vector::insert
    - std::vector::push_back
    - negated
    - common::MergeSettings
    - std::vector::empty
    - last_negated
    linkageType: ''
    returnType: std::vector<SettingsValue>
    signature: "std::vector<SettingsValue> GetSettingsList(const Settings& settings,\n
      \   const std::string& section,\n    const std::string& name,\n    bool ignore_default_section_config)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: common::MergeSettings
      Src: /src/bitcoin-core/src/common/settings.cpp:252,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    argTypes:
    - Settings
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: common::OnlyHasDefaultSectionSetting
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 0
    functionsReached:
    - empty
    - common::MergeSettings
    linkageType: ''
    returnType: bool
    signature: bool OnlyHasDefaultSectionSetting(const Settings& settings, const std::string&
      section, const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/common/settings.cpp:263,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/settings.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<SettingsValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: common::SettingsSpan::SettingsSpan
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void SettingsSpan::SettingsSpan(const std::vector<SettingsValue>& vec)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::SettingsSpan::negated
      Src: /src/bitcoin-core/src/common/settings.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: common::SettingsSpan::begin
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 1
    functionsReached:
    - common::SettingsSpan::negated
    linkageType: ''
    returnType: SettingsValue
    signature: SettingsValue * SettingsSpan::begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: common::SettingsSpan::end
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SettingsValue
    signature: SettingsValue * SettingsSpan::end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::SettingsSpan::last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: common::SettingsSpan::empty
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 1
    functionsReached:
    - common::SettingsSpan::last_negated
    linkageType: ''
    returnType: bool
    signature: bool SettingsSpan::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isFalse
      Src: /src/bitcoin-core/src/common/settings.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: common::SettingsSpan::last_negated
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 1
    functionsReached:
    - isFalse
    linkageType: ''
    returnType: bool
    signature: bool SettingsSpan::last_negated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isFalse
      Src: /src/bitcoin-core/src/common/settings.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: common::SettingsSpan::negated
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 1
    functionsReached:
    - isFalse
    linkageType: ''
    returnType: size_t
    signature: size_t SettingsSpan::negated() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:44,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:45,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:45,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:48,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:49,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:49,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:52,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:53,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:53,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:56,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:57,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:58,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:59,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:59,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:64,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:65,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:66,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    - ' fn'
    argTypes:
    - Settings
    - std::string
    - std::string
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: common::MergeSettings
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 3
    functionsReached:
    - common::SettingsSpan
    - fn
    - empty
    - common::FindKey
    linkageType: ''
    returnType: void
    signature: void MergeSettings(const Settings& settings, const std::string& section,
      const std::string& name, Fn&& fn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:44,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:45,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:45,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:48,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:49,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:49,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:52,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:53,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:53,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:56,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:57,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:58,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:59,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:59,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:64,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/common/settings.cpp:65,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/settings.cpp:66,1
    - Dst: common::SettingsSpan
      Src: /src/bitcoin-core/src/common/settings.cpp:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    - ' fn'
    argTypes:
    - Settings
    - std::string
    - std::string
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: common::MergeSettings
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 3
    functionsReached:
    - common::SettingsSpan
    - fn
    - empty
    - common::FindKey
    linkageType: ''
    returnType: void
    signature: void MergeSettings(const Settings& settings, const std::string& section,
      const std::string& name, Fn&& fn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/common/settings.cpp:74,1
    - Dst: clear
      Src: /src/bitcoin-core/src/common/settings.cpp:75,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/common/settings.cpp:78,1
    - Dst: std::ifstream::open
      Src: /src/bitcoin-core/src/common/settings.cpp:81,1
    - Dst: std::ifstream::is_open
      Src: /src/bitcoin-core/src/common/settings.cpp:82,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:83,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:83,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:83,1
    - Dst: SettingsValue::read
      Src: /src/bitcoin-core/src/common/settings.cpp:88,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/bitcoin-core/src/common/settings.cpp:88,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/bitcoin-core/src/common/settings.cpp:88,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:89,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:89,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:91,1
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/common/settings.cpp:95,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:96,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:96,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:96,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/common/settings.cpp:99,1
    - Dst: SettingsValue::isObject
      Src: /src/bitcoin-core/src/common/settings.cpp:101,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:102,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:102,1
    - Dst: SettingsValue::write
      Src: /src/bitcoin-core/src/common/settings.cpp:102,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:102,1
    - Dst: SettingsValue::getKeys
      Src: /src/bitcoin-core/src/common/settings.cpp:106,1
    - Dst: SettingsValue::getValues
      Src: /src/bitcoin-core/src/common/settings.cpp:107,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/settings.cpp:108,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/common/settings.cpp:109,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:111,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:111,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:111,1
    - Dst: clear
      Src: /src/bitcoin-core/src/common/settings.cpp:112,1
    - Dst: erase
      Src: /src/bitcoin-core/src/common/settings.cpp:118,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - ' path'
    - ' values'
    - ' errors'
    argTypes:
    - fs::path
    - std::map<std::string, SettingsValue>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 121
    functionName: common::ReadSettings
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 3
    functionsReached:
    - SettingsValue::write
    - fs::exists
    - std::ifstream::open
    - SettingsValue::getKeys
    - SettingsValue::isObject
    - clear
    - SettingsValue::getValues
    - std::istreambuf_iterator<char>
    - fs::PathToString
    - std::ifstream::close
    - emplace
    - empty
    - std::ifstream::fail
    - std::ifstream::is_open
    - strprintf
    - erase
    - SettingsValue::read
    - size
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool ReadSettings(const fs::path& path, std::map<std::string, SettingsValue>&
      values, std::vector<std::string>& errors)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SettingsValue::pushKV
      Src: /src/bitcoin-core/src/common/settings.cpp:129,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:129,1
    - Dst: SettingsValue::pushKVEnd
      Src: /src/bitcoin-core/src/common/settings.cpp:133,1
    - Dst: std::ofstream::open
      Src: /src/bitcoin-core/src/common/settings.cpp:136,1
    - Dst: std::ofstream::fail
      Src: /src/bitcoin-core/src/common/settings.cpp:137,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/common/settings.cpp:138,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/settings.cpp:138,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/settings.cpp:138,1
    - Dst: SettingsValue::write
      Src: /src/bitcoin-core/src/common/settings.cpp:141,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/common/settings.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' path'
    - ' values'
    - ' errors'
    argTypes:
    - fs::path
    - std::map<std::string, SettingsValue>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: common::WriteSettings
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 2
    functionsReached:
    - SettingsValue::write
    - std::ofstream::fail
    - std::ofstream::close
    - SettingsValue::pushKV
    - std::ofstream::open
    - strprintf
    - emplace_back
    - SettingsValue::pushKVEnd
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: "bool WriteSettings(const fs::path& path,\n    const std::map<std::string,
      SettingsValue>& values,\n    std::vector<std::string>& errors)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: common::MergeSettings
      Src: /src/bitcoin-core/src/common/settings.cpp:155,1
    - Dst: last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:160,1
    - Dst: last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:190,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:192,1
    - Dst: begin
      Src: /src/bitcoin-core/src/common/settings.cpp:193,1
    - Dst: end
      Src: /src/bitcoin-core/src/common/settings.cpp:193,1
    - Dst: last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:195,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 6
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    - ignore_default_section_config
    - ignore_nonpersistent
    - get_chain_type
    argTypes:
    - Settings
    - std::string
    - std::string
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 201
    functionName: common::GetSetting
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 3
    functionsReached:
    - end
    - empty
    - common::MergeSettings
    - begin
    - last_negated
    linkageType: ''
    returnType: SettingsValue
    signature: "SettingsValue GetSetting(const Settings& settings,\n    const std::string&
      section,\n    const std::string& name,\n    bool ignore_default_section_config,\n
      \   bool ignore_nonpersistent,\n    bool get_chain_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: common::MergeSettings
      Src: /src/bitcoin-core/src/common/settings.cpp:211,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/common/settings.cpp:230,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/common/settings.cpp:231,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/common/settings.cpp:231,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/common/settings.cpp:231,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/common/settings.cpp:231,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/common/settings.cpp:233,1
    - Dst: negated
      Src: /src/bitcoin-core/src/common/settings.cpp:240,1
    - Dst: last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:243,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/common/settings.cpp:243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    - ignore_default_section_config
    argTypes:
    - Settings
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 246
    functionName: common::GetSettingsList
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - getValues
    - isArray
    - std::vector::insert
    - std::vector::push_back
    - negated
    - common::MergeSettings
    - std::vector::empty
    - last_negated
    linkageType: ''
    returnType: std::vector<SettingsValue>
    signature: "std::vector<SettingsValue> GetSettingsList(const Settings& settings,\n
      \   const std::string& section,\n    const std::string& name,\n    bool ignore_default_section_config)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: common::MergeSettings
      Src: /src/bitcoin-core/src/common/settings.cpp:252,1
    - Dst: empty
      Src: /src/bitcoin-core/src/common/settings.cpp:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' settings'
    - ' section'
    - ' name'
    argTypes:
    - Settings
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: common::OnlyHasDefaultSectionSetting
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 0
    functionsReached:
    - empty
    - common::MergeSettings
    linkageType: ''
    returnType: bool
    signature: bool OnlyHasDefaultSectionSetting(const Settings& settings, const std::string&
      section, const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/common/settings.cpp:263,1
    - Dst: size
      Src: /src/bitcoin-core/src/common/settings.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<SettingsValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: common::SettingsSpan::SettingsSpan
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void SettingsSpan::SettingsSpan(const std::vector<SettingsValue>& vec)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::SettingsSpan::negated
      Src: /src/bitcoin-core/src/common/settings.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: common::SettingsSpan::begin
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 1
    functionsReached:
    - common::SettingsSpan::negated
    linkageType: ''
    returnType: SettingsValue
    signature: SettingsValue * SettingsSpan::begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: common::SettingsSpan::end
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SettingsValue
    signature: SettingsValue * SettingsSpan::end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::SettingsSpan::last_negated
      Src: /src/bitcoin-core/src/common/settings.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: common::SettingsSpan::empty
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 1
    functionsReached:
    - common::SettingsSpan::last_negated
    linkageType: ''
    returnType: bool
    signature: bool SettingsSpan::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isFalse
      Src: /src/bitcoin-core/src/common/settings.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: common::SettingsSpan::last_negated
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 2
    functionsReached:
    - isFalse
    linkageType: ''
    returnType: bool
    signature: bool SettingsSpan::last_negated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isFalse
      Src: /src/bitcoin-core/src/common/settings.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: common::SettingsSpan::negated
    functionSourceFile: /src/bitcoin-core/src/common/settings.cpp
    functionUses: 2
    functionsReached:
    - isFalse
    linkageType: ''
    returnType: size_t
    signature: size_t SettingsSpan::negated() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<socklen_t>::has_value
      Src: /src/bitcoin-core/src/common/netif.cpp:44,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/common/netif.cpp:56,1
    - Dst: CService::SetSockAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - addr
    - sa_len_opt
    argTypes:
    - struct sockaddr*
    - std::optional<socklen_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: FromSockAddr
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached:
    - CService::CService
    - std::optional<socklen_t>::has_value
    - CService::SetSockAddr
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> FromSockAddr(const struct sockaddr* addr, std::optional<socklen_t>
      sa_len_opt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CreateSock
      Src: /src/bitcoin-core/src/common/netif.cpp:71,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:73,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:73,1
    - Dst: NLMSG_LENGTH
      Src: /src/bitcoin-core/src/common/netif.cpp:96,1
    - Dst: auto::Send
      Src: /src/bitcoin-core/src/common/netif.cpp:109,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/common/netif.cpp:109,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:110,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:110,1
    - Dst: auto::Recv
      Src: /src/bitcoin-core/src/common/netif.cpp:118,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:121,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:121,1
    - Dst: NLMSG_OK
      Src: /src/bitcoin-core/src/common/netif.cpp:125,1
    - Dst: NLMSG_NEXT
      Src: /src/bitcoin-core/src/common/netif.cpp:125,1
    - Dst: NLMSG_DATA
      Src: /src/bitcoin-core/src/common/netif.cpp:126,1
    - Dst: RTM_PAYLOAD
      Src: /src/bitcoin-core/src/common/netif.cpp:127,1
    - Dst: RTM_RTA
      Src: /src/bitcoin-core/src/common/netif.cpp:132,1
    - Dst: RTA_OK
      Src: /src/bitcoin-core/src/common/netif.cpp:132,1
    - Dst: RTA_NEXT
      Src: /src/bitcoin-core/src/common/netif.cpp:132,1
    - Dst: RTA_PAYLOAD
      Src: /src/bitcoin-core/src/common/netif.cpp:135,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/netif.cpp:136,1
    - Dst: RTA_DATA
      Src: /src/bitcoin-core/src/common/netif.cpp:136,1
    - Dst: RTA_PAYLOAD
      Src: /src/bitcoin-core/src/common/netif.cpp:142,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/netif.cpp:144,1
    - Dst: RTA_DATA
      Src: /src/bitcoin-core/src/common/netif.cpp:144,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:145,1
    - Dst: RTA_PAYLOAD
      Src: /src/bitcoin-core/src/common/netif.cpp:146,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/netif.cpp:148,1
    - Dst: RTA_DATA
      Src: /src/bitcoin-core/src/common/netif.cpp:148,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 155
    functionName: QueryDefaultGatewayImpl
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - auto::Recv
    - NetworkErrorString
    - RTA_OK
    - std::memcpy
    - NLMSG_DATA
    - RTM_PAYLOAD
    - RTA_PAYLOAD
    - CNetAddr
    - CreateSock
    - auto::Send
    - static_cast<ssize_t>
    - NLMSG_NEXT
    - RTM_RTA
    - RTA_DATA
    - RTA_NEXT
    - NLMSG_LENGTH
    - NLMSG_OK
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> QueryDefaultGatewayImpl(sa_family_t family)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetBestInterfaceEx
      Src: /src/bitcoin-core/src/common/netif.cpp:170,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:172,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:172,1
    - Dst: GetBestRoute2
      Src: /src/bitcoin-core/src/common/netif.cpp:178,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:180,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:181,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/netif.cpp:185,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:187,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 192
    functionName: QueryDefaultGatewayImpl
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - NetworkErrorString
    - Assume
    - GetBestInterfaceEx
    - CNetAddr
    - GetBestRoute2
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> QueryDefaultGatewayImpl(sa_family_t family)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: ROUNDUP32
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUNDUP32(a)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/bitcoin-core/src/common/netif.cpp:206,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:207,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:207,1
    - Dst: sysctl
      Src: /src/bitcoin-core/src/common/netif.cpp:211,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/netif.cpp:211,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:212,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:212,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/netif.cpp:216,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/netif.cpp:217,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/netif.cpp:218,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/netif.cpp:220,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/netif.cpp:229,1
    - Dst: FromSockAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:232,1
    - Dst: FromSockAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:234,1
    - Dst: ROUNDUP32
      Src: /src/bitcoin-core/src/common/netif.cpp:238,1
    - Dst: std::optional::IsBindAny
      Src: /src/bitcoin-core/src/common/netif.cpp:242,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 249
    functionName: QueryDefaultGatewayImpl
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - std::vector::data
    - std::optional::IsBindAny
    - ROUNDUP32
    - sysctl
    - FromSockAddr
    - SysErrorString
    - std::vector::size
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> QueryDefaultGatewayImpl(sa_family_t family)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: QueryDefaultGatewayImpl
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> QueryDefaultGatewayImpl(sa_family_t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<socklen_t>::has_value
      Src: /src/bitcoin-core/src/common/netif.cpp:44,1
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/common/netif.cpp:56,1
    - Dst: CService::SetSockAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - addr
    - sa_len_opt
    argTypes:
    - struct sockaddr*
    - std::optional<socklen_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: FromSockAddr
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 1
    functionsReached:
    - CService::CService
    - std::optional<socklen_t>::has_value
    - CService::SetSockAddr
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> FromSockAddr(const struct sockaddr* addr, std::optional<socklen_t>
      sa_len_opt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CreateSock
      Src: /src/bitcoin-core/src/common/netif.cpp:71,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:73,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:73,1
    - Dst: NLMSG_LENGTH
      Src: /src/bitcoin-core/src/common/netif.cpp:96,1
    - Dst: auto::Send
      Src: /src/bitcoin-core/src/common/netif.cpp:109,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/common/netif.cpp:109,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:110,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:110,1
    - Dst: auto::Recv
      Src: /src/bitcoin-core/src/common/netif.cpp:118,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:121,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:121,1
    - Dst: NLMSG_OK
      Src: /src/bitcoin-core/src/common/netif.cpp:125,1
    - Dst: NLMSG_NEXT
      Src: /src/bitcoin-core/src/common/netif.cpp:125,1
    - Dst: NLMSG_DATA
      Src: /src/bitcoin-core/src/common/netif.cpp:126,1
    - Dst: RTM_PAYLOAD
      Src: /src/bitcoin-core/src/common/netif.cpp:127,1
    - Dst: RTM_RTA
      Src: /src/bitcoin-core/src/common/netif.cpp:132,1
    - Dst: RTA_OK
      Src: /src/bitcoin-core/src/common/netif.cpp:132,1
    - Dst: RTA_NEXT
      Src: /src/bitcoin-core/src/common/netif.cpp:132,1
    - Dst: RTA_PAYLOAD
      Src: /src/bitcoin-core/src/common/netif.cpp:135,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/netif.cpp:136,1
    - Dst: RTA_DATA
      Src: /src/bitcoin-core/src/common/netif.cpp:136,1
    - Dst: RTA_PAYLOAD
      Src: /src/bitcoin-core/src/common/netif.cpp:142,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/netif.cpp:144,1
    - Dst: RTA_DATA
      Src: /src/bitcoin-core/src/common/netif.cpp:144,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:145,1
    - Dst: RTA_PAYLOAD
      Src: /src/bitcoin-core/src/common/netif.cpp:146,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/common/netif.cpp:148,1
    - Dst: RTA_DATA
      Src: /src/bitcoin-core/src/common/netif.cpp:148,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 155
    functionName: QueryDefaultGatewayImpl
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - auto::Recv
    - NetworkErrorString
    - RTA_OK
    - std::memcpy
    - NLMSG_DATA
    - RTM_PAYLOAD
    - RTA_PAYLOAD
    - CNetAddr
    - CreateSock
    - auto::Send
    - static_cast<ssize_t>
    - NLMSG_NEXT
    - RTM_RTA
    - RTA_DATA
    - RTA_NEXT
    - NLMSG_LENGTH
    - NLMSG_OK
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> QueryDefaultGatewayImpl(sa_family_t family)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetBestInterfaceEx
      Src: /src/bitcoin-core/src/common/netif.cpp:170,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:172,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:172,1
    - Dst: GetBestRoute2
      Src: /src/bitcoin-core/src/common/netif.cpp:178,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:180,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:181,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/netif.cpp:185,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:187,1
    - Dst: CNetAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 192
    functionName: QueryDefaultGatewayImpl
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - NetworkErrorString
    - Assume
    - GetBestInterfaceEx
    - CNetAddr
    - GetBestRoute2
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> QueryDefaultGatewayImpl(sa_family_t family)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: ROUNDUP32
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUNDUP32(a)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/bitcoin-core/src/common/netif.cpp:206,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:207,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:207,1
    - Dst: sysctl
      Src: /src/bitcoin-core/src/common/netif.cpp:211,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/netif.cpp:211,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:212,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:212,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/netif.cpp:216,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/netif.cpp:217,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/netif.cpp:218,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/netif.cpp:220,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/netif.cpp:229,1
    - Dst: FromSockAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:232,1
    - Dst: FromSockAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:234,1
    - Dst: ROUNDUP32
      Src: /src/bitcoin-core/src/common/netif.cpp:238,1
    - Dst: std::optional::IsBindAny
      Src: /src/bitcoin-core/src/common/netif.cpp:242,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 249
    functionName: QueryDefaultGatewayImpl
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - std::vector::data
    - std::optional::IsBindAny
    - ROUNDUP32
    - sysctl
    - FromSockAddr
    - SysErrorString
    - std::vector::size
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> QueryDefaultGatewayImpl(sa_family_t family)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: QueryDefaultGatewayImpl
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> QueryDefaultGatewayImpl(sa_family_t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/common/netif.cpp:265,1
    - Dst: QueryDefaultGatewayImpl
      Src: /src/bitcoin-core/src/common/netif.cpp:276,1
    - Dst: std::optional::IsBindAny
      Src: /src/bitcoin-core/src/common/netif.cpp:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - network
    argTypes:
    - Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 285
    functionName: QueryDefaultGateway
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 1
    functionsReached:
    - QueryDefaultGatewayImpl
    - Assume
    - std::optional::IsBindAny
    linkageType: ''
    returnType: std::optional<CNetAddr>
    signature: std::optional<CNetAddr> QueryDefaultGateway(Network network)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/netif.cpp:295,1
    - Dst: GetAdaptersAddresses
      Src: /src/bitcoin-core/src/common/netif.cpp:296,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/bitcoin-core/src/common/netif.cpp:297,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/netif.cpp:297,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/netif.cpp:298,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/common/netif.cpp:303,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/common/netif.cpp:303,1
    - Dst: std::max<size_t>
      Src: /src/bitcoin-core/src/common/netif.cpp:303,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/common/netif.cpp:303,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/common/netif.cpp:312,1
    - Dst: NetworkErrorString
      Src: /src/bitcoin-core/src/common/netif.cpp:312,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/bitcoin-core/src/common/netif.cpp:317,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/common/netif.cpp:317,1
    - Dst: FromSockAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:328,1
    - Dst: static_cast<socklen_t>
      Src: /src/bitcoin-core/src/common/netif.cpp:328,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/common/netif.cpp:329,1
    - Dst: getifaddrs
      Src: /src/bitcoin-core/src/common/netif.cpp:335,1
    - Dst: FromSockAddr
      Src: /src/bitcoin-core/src/common/netif.cpp:342,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/common/netif.cpp:343,1
    - Dst: freeifaddrs
      Src: /src/bitcoin-core/src/common/netif.cpp:346,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 350
    functionName: GetLocalAddresses
    functionSourceFile: /src/bitcoin-core/src/common/netif.cpp
    functionUses: 2
    functionsReached:
    - LogPrintLevel
    - NetworkErrorString
    - std::vector::resize
    - std::vector::data
    - std::min
    - std::vector::push_back
    - getifaddrs
    - std::max<size_t>
    - FromSockAddr
    - GetAdaptersAddresses
    - freeifaddrs
    - reinterpret_cast<PIP_ADAPTER_ADDRESSES>
    - std::vector::size
    - static_cast<socklen_t>
    linkageType: ''
    returnType: std::vector<CNetAddr>
    signature: std::vector<CNetAddr> GetLocalAddresses()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: common::CleanupHandler::CleanupHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CleanupHandler(std::function<void()> cleanup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_cleanup
      Src: /src/bitcoin-core/src/common/interfaces.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ~CleanupHandler() override
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - m_cleanup
    linkageType: ''
    returnType: void
    signature: void ~CleanupHandler() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_cleanup
      Src: /src/bitcoin-core/src/common/interfaces.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: common::CleanupHandler::disconnect
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - m_cleanup
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - connection
    argTypes:
    - boost::signals2::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: common::SignalHandler::SignalHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SignalHandler(boost::signals2::connection connection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::SignalHandler::disconnect
      Src: /src/bitcoin-core/src/common/interfaces.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: common::SignalHandler::disconnect
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 1
    functionsReached:
    - common::SignalHandler::disconnect
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' echo'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: common::EchoImpl::echo
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string echo(const std::string& echo) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: common::CleanupHandler::CleanupHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CleanupHandler(std::function<void()> cleanup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_cleanup
      Src: /src/bitcoin-core/src/common/interfaces.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ~CleanupHandler() override
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - m_cleanup
    linkageType: ''
    returnType: void
    signature: void ~CleanupHandler() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_cleanup
      Src: /src/bitcoin-core/src/common/interfaces.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: common::CleanupHandler::disconnect
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - m_cleanup
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - connection
    argTypes:
    - boost::signals2::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: common::SignalHandler::SignalHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SignalHandler(boost::signals2::connection connection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::SignalHandler::disconnect
      Src: /src/bitcoin-core/src/common/interfaces.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: common::SignalHandler::disconnect
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 2
    functionsReached:
    - common::SignalHandler::disconnect
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' echo'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: common::EchoImpl::echo
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string echo(const std::string& echo) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: common::CleanupHandler::CleanupHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CleanupHandler(std::function<void()> cleanup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_cleanup
      Src: /src/bitcoin-core/src/common/interfaces.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ~CleanupHandler() override
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - m_cleanup
    linkageType: ''
    returnType: void
    signature: void ~CleanupHandler() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_cleanup
      Src: /src/bitcoin-core/src/common/interfaces.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: common::CleanupHandler::disconnect
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - m_cleanup
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - connection
    argTypes:
    - boost::signals2::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: common::SignalHandler::SignalHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SignalHandler(boost::signals2::connection connection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::SignalHandler::disconnect
      Src: /src/bitcoin-core/src/common/interfaces.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: common::SignalHandler::disconnect
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 3
    functionsReached:
    - common::SignalHandler::disconnect
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' echo'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: common::EchoImpl::echo
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string echo(const std::string& echo) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: common::CleanupHandler::CleanupHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CleanupHandler(std::function<void()> cleanup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_cleanup
      Src: /src/bitcoin-core/src/common/interfaces.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ~CleanupHandler() override
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - m_cleanup
    linkageType: ''
    returnType: void
    signature: void ~CleanupHandler() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_cleanup
      Src: /src/bitcoin-core/src/common/interfaces.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: common::CleanupHandler::disconnect
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - m_cleanup
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - connection
    argTypes:
    - boost::signals2::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: common::SignalHandler::SignalHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SignalHandler(boost::signals2::connection connection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common::SignalHandler::disconnect
      Src: /src/bitcoin-core/src/common/interfaces.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: common::SignalHandler::disconnect
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 4
    functionsReached:
    - common::SignalHandler::disconnect
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' echo'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: common::EchoImpl::echo
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string echo(const std::string& echo) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<common::CleanupHandler>
      Src: /src/bitcoin-core/src/common/interfaces.cpp:44,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: interfaces::MakeCleanupHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<common::CleanupHandler>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> MakeCleanupHandler(std::function<void()> cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<common::SignalHandler>
      Src: /src/bitcoin-core/src/common/interfaces.cpp:49,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - connection
    argTypes:
    - boost::signals2::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: interfaces::MakeSignalHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<common::SignalHandler>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> MakeSignalHandler(boost::signals2::connection
      connection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<common::EchoImpl>
      Src: /src/bitcoin-core/src/common/interfaces.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: interfaces::MakeEcho
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<common::EchoImpl>
    linkageType: ''
    returnType: std::unique_ptr<Echo>
    signature: std::unique_ptr<Echo> MakeEcho()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<common::CleanupHandler>
      Src: /src/bitcoin-core/src/common/interfaces.cpp:44,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: interfaces::MakeCleanupHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<common::CleanupHandler>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> MakeCleanupHandler(std::function<void()> cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<common::SignalHandler>
      Src: /src/bitcoin-core/src/common/interfaces.cpp:49,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/common/interfaces.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - connection
    argTypes:
    - boost::signals2::connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: interfaces::MakeSignalHandler
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<common::SignalHandler>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> MakeSignalHandler(boost::signals2::connection
      connection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<common::EchoImpl>
      Src: /src/bitcoin-core/src/common/interfaces.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: interfaces::MakeEcho
    functionSourceFile: /src/bitcoin-core/src/common/interfaces.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<common::EchoImpl>
    linkageType: ''
    returnType: std::unique_ptr<Echo>
    signature: std::unique_ptr<Echo> MakeEcho()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - version
    - internal_in
    - external_in
    - lifetime_in
    argTypes:
    - uint8_t
    - CService
    - CService
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: MappingResult
    functionSourceFile: /src/bitcoin-core/src/common/pcp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MappingResult(uint8_t version, const CService &internal_in, const
      CService &external_in, uint32_t lifetime_in)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CheckDataDirOption
      Src: /src/bitcoin-core/src/common/init.cpp:21,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:22,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/init.cpp:22,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/common/init.cpp:22,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/common/init.cpp:34,1
    - Dst: AbsPathForConfigVal
      Src: /src/bitcoin-core/src/common/init.cpp:35,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/common/init.cpp:35,1
    - Dst: ReadConfigFiles
      Src: /src/bitcoin-core/src/common/init.cpp:38,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:39,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/init.cpp:39,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/common/init.cpp:43,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/common/init.cpp:43,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/common/init.cpp:46,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/common/init.cpp:47,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/common/init.cpp:58,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/common/init.cpp:60,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/common/init.cpp:61,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/common/init.cpp:62,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/common/init.cpp:68,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/common/init.cpp:69,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/common/init.cpp:70,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:72,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/init.cpp:72,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:73,1
    - Dst: fs::equivalent
      Src: /src/bitcoin-core/src/common/init.cpp:74,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/common/init.cpp:75,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/common/init.cpp:76,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:77,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:77,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/init.cpp:77,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:78,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:78,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:79,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:85,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/init.cpp:85,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:86,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:87,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/init.cpp:87,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/common/init.cpp:89,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/common/init.cpp:90,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/init.cpp:93,1
    - Dst: GetSettingsPath
      Src: /src/bitcoin-core/src/common/init.cpp:99,1
    - Dst: ReadSettingsFile
      Src: /src/bitcoin-core/src/common/init.cpp:101,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/init.cpp:102,1
    - Dst: settings_abort_fn
      Src: /src/bitcoin-core/src/common/init.cpp:105,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/common/init.cpp:108,1
    - Dst: WriteSettingsFile
      Src: /src/bitcoin-core/src/common/init.cpp:111,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/init.cpp:112,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/init.cpp:117,1
    - Dst: what
      Src: /src/bitcoin-core/src/common/init.cpp:117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - ' args'
    - settings_abort_fn
    argTypes:
    - ArgsManager
    - SettingsAbortFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 120
    functionName: common::InitConfig
    functionSourceFile: /src/bitcoin-core/src/common/init.cpp
    functionUses: 1
    functionsReached:
    - GetArg
    - GetDataDirBase
    - fs::exists
    - ReadSettingsFile
    - std::string::empty
    - LogInfo
    - ReadConfigFiles
    - WriteSettingsFile
    - what
    - fs::equivalent
    - settings_abort_fn
    - GetPathArg
    - CheckDataDirOption
    - LogWarning
    - GetChainType
    - fs::create_directories
    - Untranslated
    - fs::PathToString
    - fs::quoted
    - std::vector::clear
    - AbsPathForConfigVal
    - strprintf
    - _
    - GetSettingsPath
    - fs::path::empty
    - GetDataDirNet
    - SelectParams
    - GetBoolArg
    linkageType: ''
    returnType: std::optional<ConfigError>
    signature: std::optional<ConfigError> InitConfig(ArgsManager& args, SettingsAbortFn
      settings_abort_fn)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CheckDataDirOption
      Src: /src/bitcoin-core/src/common/init.cpp:21,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:22,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/init.cpp:22,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/common/init.cpp:22,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/common/init.cpp:34,1
    - Dst: AbsPathForConfigVal
      Src: /src/bitcoin-core/src/common/init.cpp:35,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/common/init.cpp:35,1
    - Dst: ReadConfigFiles
      Src: /src/bitcoin-core/src/common/init.cpp:38,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:39,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/init.cpp:39,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/common/init.cpp:43,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/common/init.cpp:43,1
    - Dst: GetDataDirBase
      Src: /src/bitcoin-core/src/common/init.cpp:46,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/common/init.cpp:47,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/common/init.cpp:58,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/common/init.cpp:60,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/common/init.cpp:61,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/common/init.cpp:62,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/common/init.cpp:68,1
    - Dst: fs::path::empty
      Src: /src/bitcoin-core/src/common/init.cpp:69,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/common/init.cpp:70,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:72,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/init.cpp:72,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:73,1
    - Dst: fs::equivalent
      Src: /src/bitcoin-core/src/common/init.cpp:74,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/common/init.cpp:75,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/common/init.cpp:76,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:77,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:77,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/init.cpp:77,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:78,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:78,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/common/init.cpp:79,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:85,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/init.cpp:85,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:86,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/common/init.cpp:87,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/common/init.cpp:87,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/common/init.cpp:89,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/common/init.cpp:90,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/init.cpp:93,1
    - Dst: GetSettingsPath
      Src: /src/bitcoin-core/src/common/init.cpp:99,1
    - Dst: ReadSettingsFile
      Src: /src/bitcoin-core/src/common/init.cpp:101,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/init.cpp:102,1
    - Dst: settings_abort_fn
      Src: /src/bitcoin-core/src/common/init.cpp:105,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/common/init.cpp:108,1
    - Dst: WriteSettingsFile
      Src: /src/bitcoin-core/src/common/init.cpp:111,1
    - Dst: _
      Src: /src/bitcoin-core/src/common/init.cpp:112,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/common/init.cpp:117,1
    - Dst: what
      Src: /src/bitcoin-core/src/common/init.cpp:117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - ' args'
    - settings_abort_fn
    argTypes:
    - ArgsManager
    - SettingsAbortFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 120
    functionName: common::InitConfig
    functionSourceFile: /src/bitcoin-core/src/common/init.cpp
    functionUses: 1
    functionsReached:
    - GetArg
    - GetDataDirBase
    - fs::exists
    - ReadSettingsFile
    - std::string::empty
    - LogInfo
    - ReadConfigFiles
    - WriteSettingsFile
    - what
    - fs::equivalent
    - settings_abort_fn
    - GetPathArg
    - CheckDataDirOption
    - LogWarning
    - GetChainType
    - fs::create_directories
    - Untranslated
    - fs::PathToString
    - fs::quoted
    - std::vector::clear
    - AbsPathForConfigVal
    - strprintf
    - _
    - GetSettingsPath
    - fs::path::empty
    - GetDataDirNet
    - SelectParams
    - GetBoolArg
    linkageType: ''
    returnType: std::optional<ConfigError>
    signature: std::optional<ConfigError> InitConfig(ArgsManager& args, SettingsAbortFn
      settings_abort_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: IsSwitchChar
    functionSourceFile: /src/bitcoin-core/src/common/args.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSwitchChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetDataDir
      Src: /src/bitcoin-core/src/common/args.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: ArgsManager::GetDataDirBase
    functionSourceFile: /src/bitcoin-core/src/common/args.h
    functionUses: 3
    functionsReached:
    - ArgsManager::GetDataDir
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetDataDirBase() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::GetDataDir
      Src: /src/bitcoin-core/src/common/args.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: ArgsManager::GetDataDirNet
    functionSourceFile: /src/bitcoin-core/src/common/args.h
    functionUses: 1
    functionsReached:
    - ArgsManager::GetDataDir
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetDataDirNet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.h:363,1
    - Dst: clear
      Src: /src/bitcoin-core/src/common/args.h:364,1
    - Dst: clear
      Src: /src/bitcoin-core/src/common/args.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: ArgsManager::ClearArgs
    functionSourceFile: /src/bitcoin-core/src/common/args.h
    functionUses: 0
    functionsReached:
    - LOCK
    - clear
    linkageType: ''
    returnType: void
    signature: void ClearArgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/common/args.h:415,1
    - Dst: fn
      Src: /src/bitcoin-core/src/common/args.h:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - Fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: ArgsManager::LockSettings
    functionSourceFile: /src/bitcoin-core/src/common/args.h
    functionUses: 2
    functionsReached:
    - LOCK
    - fn
    linkageType: ''
    returnType: void
    signature: void LockSettings(Fn&& fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:23,1
    - Dst: COutPoint::ToString
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: COutPoint::ToString
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 1
    functionsReached:
    - COutPoint::ToString
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string COutPoint::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - prevoutIn
    - scriptSigIn
    - nSequenceIn
    argTypes:
    - COutPoint
    - CScript
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: CTxIn::CTxIn
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTxIn::CTxIn(COutPoint prevoutIn, CScript scriptSigIn, uint32_t
      nSequenceIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - hashPrevTx
    - nOut
    - scriptSigIn
    - nSequenceIn
    argTypes:
    - Txid
    - uint32_t
    - CScript
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: CTxIn::CTxIn
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 2
    functionsReached:
    - COutPoint
    linkageType: ''
    returnType: void
    signature: void CTxIn::CTxIn(Txid hashPrevTx, uint32_t nOut, CScript scriptSigIn,
      uint32_t nSequenceIn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTxIn::ToString
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:44,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:45,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:46,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:46,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:48,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:48,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: CTxIn::ToString
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 2
    functionsReached:
    - HexStr
    - CTxIn::ToString
    - strprintf
    - IsNull
    linkageType: ''
    returnType: std::string
    signature: std::string CTxIn::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' nValueIn'
    - scriptPubKeyIn
    argTypes:
    - CAmount
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: CTxOut::CTxOut
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTxOut::CTxOut(const CAmount& nValueIn, CScript scriptPubKeyIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:63,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: CTxOut::ToString
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 2
    functionsReached:
    - HexStr
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CTxOut::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: CMutableTransaction::CMutableTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMutableTransaction::CMutableTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: CMutableTransaction::CMutableTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMutableTransaction::CMutableTransaction(const CTransaction& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:71,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:71,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: CMutableTransaction::GetHash
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 23
    functionsReached:
    - TX_NO_WITNESS
    - transaction_identifier::FromUint256
    - CMutableTransaction::GetHash
    linkageType: ''
    returnType: Txid
    signature: Txid CMutableTransaction::GetHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:76,1
    - Dst: begin
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:76,1
    - Dst: end
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:76,1
    - Dst: scriptWitness::IsNull
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: CTransaction::ComputeHasWitness
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 0
    functionsReached:
    - end
    - scriptWitness::IsNull
    - begin
    - std::any_of
    linkageType: ''
    returnType: bool
    signature: bool CTransaction::ComputeHasWitness() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:83,1
    - Dst: TX_NO_WITNESS
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:83,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: CTransaction::ComputeHash
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 0
    functionsReached:
    - TX_NO_WITNESS
    - transaction_identifier::FromUint256
    - GetHash
    linkageType: ''
    returnType: Txid
    signature: Txid CTransaction::ComputeHash() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTransaction::HasWitness
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:88,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:89,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:89,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:92,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:92,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: CTransaction::ComputeWitnessHash
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 0
    functionsReached:
    - CTransaction::HasWitness
    - GetHash
    - ToUint256
    - transaction_identifier::FromUint256
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: Wtxid
    signature: Wtxid CTransaction::ComputeWitnessHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTransaction::ComputeHasWitness
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:95,1
    - Dst: CTransaction::ComputeHash
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:95,1
    - Dst: CTransaction::ComputeWitnessHash
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: CTransaction::CTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 0
    functionsReached:
    - CTransaction::ComputeHasWitness
    - CTransaction::ComputeHash
    - CTransaction::ComputeWitnessHash
    linkageType: ''
    returnType: void
    signature: void CTransaction::CTransaction(const CMutableTransaction& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:96,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:96,1
    - Dst: CTransaction::ComputeHasWitness
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:96,1
    - Dst: CTransaction::ComputeHash
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:96,1
    - Dst: CTransaction::ComputeWitnessHash
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: CTransaction::CTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 0
    functionsReached:
    - CTransaction::ComputeHasWitness
    - CTransaction::ComputeHash
    - std::move
    - CTransaction::ComputeWitnessHash
    linkageType: ''
    returnType: void
    signature: void CTransaction::CTransaction(CMutableTransaction&& tx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:102,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:102,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:103,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:103,1
    - Dst: assert
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:106,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (MoneyRange(nValueOut))
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bitcoin-core/src/primitives/transaction.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: CTransaction::GetValueOut
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::runtime_error
    - MoneyRange
    - std::string
    linkageType: ''
    returnType: CAmount
    signature: CAmount CTransaction::GetValueOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:112,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: CTransaction::GetTotalSize
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 0
    functionsReached:
    - GetSerializeSize
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CTransaction::GetTotalSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:118,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:119,1
    - Dst: size
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:121,1
    - Dst: size
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:122,1
    - Dst: CTransaction::ToString
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:125,1
    - Dst: scriptWitness::ToString
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:127,1
    - Dst: CTransaction::ToString
      Src: /src/bitcoin-core/src/primitives/transaction.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: CTransaction::ToString
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.cpp
    functionUses: 1
    functionsReached:
    - CTransaction::ToString
    - scriptWitness::ToString
    - GetHash
    - size
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string CTransaction::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: COutPoint::COutPoint
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void COutPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' hashIn'
    - nIn
    argTypes:
    - Txid
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: COutPoint::COutPoint
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void COutPoint(const Txid& hashIn, uint32_t nIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/primitives/transaction.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: COutPoint::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(COutPoint, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COutPoint::SetNull
      Src: /src/bitcoin-core/src/primitives/transaction.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: COutPoint::SetNull
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 1
    functionsReached:
    - COutPoint::SetNull
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COutPoint::IsNull
      Src: /src/bitcoin-core/src/primitives/transaction.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: COutPoint::IsNull
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 1
    functionsReached:
    - COutPoint::IsNull
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/primitives/transaction.h:46,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/primitives/transaction.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - COutPoint
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: operator<(const COutPoint& a, const COutPoint& b)
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator<(const COutPoint& a, const COutPoint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - COutPoint
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator==(const COutPoint& a, const COutPoint& b)
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const COutPoint& a, const COutPoint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - COutPoint
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: operator!=(const COutPoint& a, const COutPoint& b)
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const COutPoint& a, const COutPoint& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: CTxIn::CTxIn
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTxIn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/primitives/transaction.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: CTxIn::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CTxIn, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxIn
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: operator==(const CTxIn& a, const CTxIn& b)
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CTxIn& a, const CTxIn& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxIn
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: operator!=(const CTxIn& a, const CTxIn& b)
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CTxIn& a, const CTxIn& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxOut::SetNull
      Src: /src/bitcoin-core/src/primitives/transaction.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: CTxOut::CTxOut
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 11
    functionsReached:
    - CTxOut::SetNull
    linkageType: ''
    returnType: void
    signature: void CTxOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/primitives/transaction.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: CTxOut::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CTxOut, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/primitives/transaction.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: CTxOut::SetNull
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 2
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: CTxOut::IsNull
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxOut
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: operator==(const CTxOut& a, const CTxOut& b)
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CTxOut& a, const CTxOut& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxOut
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: operator!=(const CTxOut& a, const CTxOut& b)
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CTxOut& a, const CTxOut& b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vin::clear
      Src: /src/bitcoin-core/src/primitives/transaction.h:222,1
    - Dst: vout::clear
      Src: /src/bitcoin-core/src/primitives/transaction.h:223,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/primitives/transaction.h:226,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/primitives/transaction.h:240,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/primitives/transaction.h:243,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/primitives/transaction.h:245,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/primitives/transaction.h:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - ' tx'
    - ' s'
    - ' params'
    argTypes:
    - TxType
    - Stream
    - TransactionSerParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 253
    functionName: UnserializeTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - std::ios_base::failure
    - HasWitness
    - vout::clear
    - vin::clear
    - vin::size
    linkageType: ''
    returnType: void
    signature: void UnserializeTransaction(TxType& tx, Stream& s, const TransactionSerParams&
      params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/primitives/transaction.h:265,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/primitives/transaction.h:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' tx'
    - ' s'
    - ' params'
    argTypes:
    - TxType
    - Stream
    - TransactionSerParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 283
    functionName: SerializeTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - vin::size
    - HasWitness
    linkageType: ''
    returnType: void
    signature: void SerializeTransaction(const TxType& tx, Stream& s, const TransactionSerParams&
      params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/primitives/transaction.h:288,1
    - Dst: vout::cbegin
      Src: /src/bitcoin-core/src/primitives/transaction.h:288,1
    - Dst: vout::cend
      Src: /src/bitcoin-core/src/primitives/transaction.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - TxType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: CalculateOutputValue
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - std::accumulate
    - vout::cend
    - vout::cbegin
    linkageType: ''
    returnType: CAmount
    signature: CAmount CalculateOutputValue(const TxType& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeTransaction
      Src: /src/bitcoin-core/src/primitives/transaction.h:329,1
    - Dst: template GetParams<TransactionSerParams>
      Src: /src/bitcoin-core/src/primitives/transaction.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: CTransaction::Serialize
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - SerializeTransaction
    - template GetParams<TransactionSerParams>
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/primitives/transaction.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' params'
    - ' s'
    argTypes:
    - TransactionSerParams
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: CTransaction::CTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - CMutableTransaction
    linkageType: ''
    returnType: void
    signature: void CTransaction(deserialize_type, const TransactionSerParams& params,
      Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/primitives/transaction.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: CTransaction::CTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - CMutableTransaction
    linkageType: ''
    returnType: void
    signature: void CTransaction(deserialize_type, Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/primitives/transaction.h:340,1
    - Dst: empty
      Src: /src/bitcoin-core/src/primitives/transaction.h:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: CTransaction::IsNull
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: '& GetHash() const'
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Txid
    signature: Txid & GetHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: '& GetWitnessHash() const'
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Wtxid
    signature: Wtxid & GetWitnessHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/primitives/transaction.h:358,1
    - Dst: prevout::IsNull
      Src: /src/bitcoin-core/src/primitives/transaction.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: CTransaction::IsCoinBase
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 6
    functionsReached:
    - prevout::IsNull
    - size
    linkageType: ''
    returnType: bool
    signature: bool IsCoinBase() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/primitives/transaction.h:363,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/primitives/transaction.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTransaction
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: operator==(const CTransaction& a, const CTransaction& b)
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached:
    - GetWitnessHash
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CTransaction& a, const CTransaction& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTransaction
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: operator!=(const CTransaction& a, const CTransaction& b)
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CTransaction& a, const CTransaction& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 373
    functionName: CTransaction::HasWitness
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasWitness() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeTransaction
      Src: /src/bitcoin-core/src/primitives/transaction.h:389,1
    - Dst: template GetParams<TransactionSerParams>
      Src: /src/bitcoin-core/src/primitives/transaction.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: Serialize
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 43
    functionsReached:
    - SerializeTransaction
    - template GetParams<TransactionSerParams>
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnserializeTransaction
      Src: /src/bitcoin-core/src/primitives/transaction.h:394,1
    - Dst: template GetParams<TransactionSerParams>
      Src: /src/bitcoin-core/src/primitives/transaction.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: Unserialize
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 22
    functionsReached:
    - UnserializeTransaction
    - template GetParams<TransactionSerParams>
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnserializeTransaction
      Src: /src/bitcoin-core/src/primitives/transaction.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' params'
    - ' s'
    argTypes:
    - TransactionSerParams
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: CMutableTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 97
    functionsReached:
    - UnserializeTransaction
    linkageType: ''
    returnType: void
    signature: void CMutableTransaction(deserialize_type, const TransactionSerParams&
      params, Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unserialize
      Src: /src/bitcoin-core/src/primitives/transaction.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: CMutableTransaction
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 97
    functionsReached:
    - Unserialize
    linkageType: ''
    returnType: void
    signature: void CMutableTransaction(deserialize_type, Stream& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/primitives/transaction.h:414,1
    - Dst: scriptWitness::IsNull
      Src: /src/bitcoin-core/src/primitives/transaction.h:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: HasWitness
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 14
    functionsReached:
    - scriptWitness::IsNull
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasWitness() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const CTransaction>
      Src: /src/bitcoin-core/src/primitives/transaction.h:424,1
    - Dst: std::forward<Tx>
      Src: /src/bitcoin-core/src/primitives/transaction.h:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' txIn'
    argTypes:
    - Tx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: MakeTransactionRef
    functionSourceFile: /src/bitcoin-core/src/primitives/transaction.h
    functionUses: 70
    functionsReached:
    - std::forward<Tx>
    - std::make_shared<const CTransaction>
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef MakeTransactionRef(Tx&& txIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::SetNull
      Src: /src/bitcoin-core/src/primitives/block.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: CBlockHeader::CBlockHeader
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 14
    functionsReached:
    - CBlockHeader::SetNull
    linkageType: ''
    returnType: void
    signature: void CBlockHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/primitives/block.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: CBlockHeader::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CBlockHeader, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::SetNull
      Src: /src/bitcoin-core/src/primitives/block.h:42,1
    - Dst: CBlockHeader::SetNull
      Src: /src/bitcoin-core/src/primitives/block.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: CBlockHeader::SetNull
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 3
    functionsReached:
    - CBlockHeader::SetNull
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: CBlockHeader::IsNull
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: CBlockHeader::Time
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeSeconds
    signature: NodeSeconds Time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: CBlockHeader::GetBlockTime
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetBlockTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::SetNull
      Src: /src/bitcoin-core/src/primitives/block.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: CBlock::CBlock
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 48
    functionsReached:
    - CBlock::SetNull
    linkageType: ''
    returnType: void
    signature: void CBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::SetNull
      Src: /src/bitcoin-core/src/primitives/block.h:86,1
    - Dst: static_cast<CBlockHeader*>
      Src: /src/bitcoin-core/src/primitives/block.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - CBlockHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: CBlock::CBlock
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 48
    functionsReached:
    - CBlock::SetNull
    - static_cast<CBlockHeader*>
    linkageType: ''
    returnType: void
    signature: void CBlock(const CBlockHeader &header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/primitives/block.h:92,1
    - Dst: AsBase
      Src: /src/bitcoin-core/src/primitives/block.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: CBlock::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 0
    functionsReached:
    - AsBase
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CBlock, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::SetNull
      Src: /src/bitcoin-core/src/primitives/block.h:97,1
    - Dst: clear
      Src: /src/bitcoin-core/src/primitives/block.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: CBlock::SetNull
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 3
    functionsReached:
    - clear
    - CBlockHeader::SetNull
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::CBlockHeader
      Src: /src/bitcoin-core/src/primitives/block.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: CBlock::GetBlockHeader
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 1
    functionsReached:
    - CBlockHeader::CBlockHeader
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader GetBlockHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: CBlockLocator
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CBlockLocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/primitives/block.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' have'
    argTypes:
    - std::vector<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: CBlockLocator
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CBlockLocator(std::vector<uint256>&& have)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/primitives/block.h:143,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/primitives/block.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CBlockLocator, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/primitives/block.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: SetNull
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 36
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/primitives/block.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: IsNull
    functionSourceFile: /src/bitcoin-core/src/primitives/block.h
    functionUses: 82
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockHeader::GetHash
      Src: /src/bitcoin-core/src/primitives/block.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: CBlockHeader::GetHash
    functionSourceFile: /src/bitcoin-core/src/primitives/block.cpp
    functionUses: 6
    functionsReached:
    - CBlockHeader::GetHash
    linkageType: ''
    returnType: uint256
    signature: uint256 CBlockHeader::GetHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/primitives/block.cpp:19,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/primitives/block.cpp:20,1
    - Dst: CBlock::ToString
      Src: /src/bitcoin-core/src/primitives/block.cpp:22,1
    - Dst: CBlock::ToString
      Src: /src/bitcoin-core/src/primitives/block.cpp:23,1
    - Dst: size
      Src: /src/bitcoin-core/src/primitives/block.cpp:25,1
    - Dst: CBlock::ToString
      Src: /src/bitcoin-core/src/primitives/block.cpp:27,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/primitives/block.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: CBlock::ToString
    functionSourceFile: /src/bitcoin-core/src/primitives/block.cpp
    functionUses: 2
    functionsReached:
    - GetHash
    - size
    - std::stringstream::str
    - strprintf
    - CBlock::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string CBlock::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: TransactionOverviewWidget::TransactionOverviewWidget
    functionSourceFile: /src/bitcoin-core/src/qt/transactionoverviewwidget.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionOverviewWidget::TransactionOverviewWidget(QWidget*
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizeHintForColumn
      Src: /src/bitcoin-core/src/qt/transactionoverviewwidget.cpp:18,1
    - Dst: TransactionOverviewWidget::sizeHint
      Src: /src/bitcoin-core/src/qt/transactionoverviewwidget.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: TransactionOverviewWidget::sizeHint
    functionSourceFile: /src/bitcoin-core/src/qt/transactionoverviewwidget.cpp
    functionUses: 1
    functionsReached:
    - sizeHintForColumn
    - TransactionOverviewWidget::sizeHint
    linkageType: ''
    returnType: QSize
    signature: QSize TransactionOverviewWidget::sizeHint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/transactionoverviewwidget.cpp:23,1
    - Dst: sizePolicy
      Src: /src/bitcoin-core/src/qt/transactionoverviewwidget.cpp:24,1
    - Dst: QSizePolicy::setHorizontalPolicy
      Src: /src/bitcoin-core/src/qt/transactionoverviewwidget.cpp:25,1
    - Dst: setSizePolicy
      Src: /src/bitcoin-core/src/qt/transactionoverviewwidget.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - QShowEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: TransactionOverviewWidget::showEvent
    functionSourceFile: /src/bitcoin-core/src/qt/transactionoverviewwidget.cpp
    functionUses: 0
    functionsReached:
    - sizePolicy
    - Q_UNUSED
    - QSizePolicy::setHorizontalPolicy
    - setSizePolicy
    linkageType: ''
    returnType: void
    signature: void TransactionOverviewWidget::showEvent(QShowEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ui::PSBTOperationsDialog::PSBTOperationsDialog
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:33,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:37,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:39,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:40,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:41,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:42,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:44,1
    - Dst: signTransactionButton::setEnabled
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:46,1
    - Dst: broadcastTransactionButton::setEnabled
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - parent
    - wallet_model
    - client_model
    argTypes:
    - QWidget*
    - WalletModel*
    - ClientModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: PSBTOperationsDialog::PSBTOperationsDialog
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 1
    functionsReached:
    - connect
    - signTransactionButton::setEnabled
    - Ui::PSBTOperationsDialog::PSBTOperationsDialog
    - setupUi
    - broadcastTransactionButton::setEnabled
    linkageType: ''
    returnType: void
    signature: "void PSBTOperationsDialog::PSBTOperationsDialog(\n    QWidget* parent,
      WalletModel* wallet_model, ClientModel* client_model)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: PSBTOperationsDialog::~PSBTOperationsDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSBTOperationsDialog::~PSBTOperationsDialog()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FinalizePSBT
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:59,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:62,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:64,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:64,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:65,1
    - Dst: PSBTErrorString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:65,1
    - Dst: signTransactionButton::setEnabled
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:69,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:69,1
    - Dst: signTransactionButton::setEnabled
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:71,1
    - Dst: broadcastTransactionButton::setEnabled
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:74,1
    - Dst: PSBTOperationsDialog::updateTransactionDisplay
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - psbtx
    argTypes:
    - PartiallySignedTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: PSBTOperationsDialog::openWithPSBT
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 0
    functionsReached:
    - PSBTErrorString
    - signTransactionButton::setEnabled
    - wallet
    - PSBTOperationsDialog::showStatus
    - PSBTOperationsDialog::updateTransactionDisplay
    - tr
    - FinalizePSBT
    - QString::fromStdString
    - broadcastTransactionButton::setEnabled
    linkageType: ''
    returnType: void
    signature: void PSBTOperationsDialog::openWithPSBT(PartiallySignedTransaction
      psbtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: requestUnlock
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:84,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:86,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:89,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:89,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:90,1
    - Dst: PSBTErrorString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:90,1
    - Dst: PSBTOperationsDialog::updateTransactionDisplay
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:94,1
    - Dst: WalletModel::UnlockContext::isValid
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:96,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:97,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:97,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:99,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:99,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:101,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:101,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:104,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:104,1
    - Dst: broadcastTransactionButton::setEnabled
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 108
    functionName: PSBTOperationsDialog::signTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 0
    functionsReached:
    - PSBTErrorString
    - wallet
    - PSBTOperationsDialog::showStatus
    - PSBTOperationsDialog::updateTransactionDisplay
    - tr
    - QString::fromStdString
    - broadcastTransactionButton::setEnabled
    - WalletModel::UnlockContext::isValid
    - requestUnlock
    linkageType: ''
    returnType: void
    signature: void PSBTOperationsDialog::signTransaction()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:112,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:113,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:116,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:116,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:120,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:123,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:123,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:126,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:126,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:127,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:127,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:129,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:129,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:130,1
    - Dst: TransactionErrorString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 132
    functionName: PSBTOperationsDialog::broadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 0
    functionsReached:
    - node
    - PSBTOperationsDialog::showStatus
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - CTransactionRef::GetHash
    - tr
    - GetFeePerK
    - QString::fromStdString
    - FinalizeAndExtractPSBT
    - TransactionErrorString
    linkageType: ''
    returnType: void
    signature: void PSBTOperationsDialog::broadcastTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:137,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:137,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:137,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:138,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: PSBTOperationsDialog::copyToClipboard
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 0
    functionsReached:
    - PSBTOperationsDialog::showStatus
    - EncodeBase64
    - DataStream::str
    - tr
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void PSBTOperationsDialog::copyToClipboard()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:150,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:153,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:154,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:154,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:155,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:155,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:156,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:159,1
    - Dst: GUIUtil::getSaveFileName
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:160,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:161,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:163,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:163,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:164,1
    - Dst: QString::toLocal8Bit
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:167,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:168,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:169,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:170,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: PSBTOperationsDialog::saveTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 0
    functionsReached:
    - QString::append
    - EncodeDestination
    - QString::isEmpty
    - QLatin1String
    - std::ofstream::close
    - ExtractDestination
    - PSBTOperationsDialog::showStatus
    - BitcoinUnits::format
    - tr
    - DataStream::str
    - QString::fromStdString
    - GUIUtil::getSaveFileName
    - getOptionsModel
    - QString::toLocal8Bit
    linkageType: ''
    returnType: void
    signature: void PSBTOperationsDialog::saveTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transactionDescription::setText
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:174,1
    - Dst: PSBTOperationsDialog::renderTransaction
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:174,1
    - Dst: PSBTOperationsDialog::showTransactionStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: PSBTOperationsDialog::updateTransactionDisplay
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 2
    functionsReached:
    - PSBTOperationsDialog::showTransactionStatus
    - PSBTOperationsDialog::renderTransaction
    - transactionDescription::setText
    linkageType: ''
    returnType: void
    signature: void PSBTOperationsDialog::updateTransactionDisplay()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:185,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:187,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:187,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:188,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:189,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:189,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:191,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:191,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:191,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:192,1
    - Dst: AnalyzePSBT
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:195,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:196,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:199,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:199,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:201,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:201,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:202,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:202,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:205,1
    - Dst: BitcoinUnits::availableUnits
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:207,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:209,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:210,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:210,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:213,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:213,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:213,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:214,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:214,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:215,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:215,1
    - Dst: QStringList::join
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:216,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:216,1
    - Dst: CountPSBTUnsignedInputs
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:219,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:221,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:222,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:222,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - psbtx
    argTypes:
    - PartiallySignedTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 226
    functionName: PSBTOperationsDialog::renderTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 1
    functionsReached:
    - QString
    - QString::append
    - print_number
    - EncodeDestination
    - wallet
    - ExtractDestination
    - tr
    - QStringList::join
    - BitcoinUnits::availableUnits
    - QString::fromStdString
    - CountPSBTUnsignedInputs
    - getOptionsModel
    - BitcoinUnits::formatWithUnit
    - BitcoinUnits::formatHtmlWithUnit
    - AnalyzePSBT
    - QStringList::append
    linkageType: ''
    returnType: QString
    signature: QString PSBTOperationsDialog::renderTransaction(const PartiallySignedTransaction
      &psbtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: statusBar::setText
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:229,1
    - Dst: statusBar::setStyleSheet
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:232,1
    - Dst: statusBar::setStyleSheet
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:236,1
    - Dst: statusBar::setStyleSheet
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:240,1
    - Dst: statusBar::show
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - msg
    - level
    argTypes:
    - QString
    - StatusLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: PSBTOperationsDialog::showStatus
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 5
    functionsReached:
    - statusBar::show
    - statusBar::setStyleSheet
    - statusBar::setText
    linkageType: ''
    returnType: void
    signature: void PSBTOperationsDialog::showStatus(const QString &msg, StatusLevel
      level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - psbtx
    argTypes:
    - PartiallySignedTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: PSBTOperationsDialog::couldSignInputs
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 0
    functionsReached:
    - wallet
    linkageType: ''
    returnType: size_t
    signature: size_t PSBTOperationsDialog::couldSignInputs(const PartiallySignedTransaction
      &psbtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AnalyzePSBT
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:263,1
    - Dst: PSBTOperationsDialog::couldSignInputs
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:264,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:268,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:268,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:272,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:275,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:277,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:278,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:281,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:284,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:289,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:289,1
    - Dst: PSBTOperationsDialog::showStatus
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:293,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp:293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - psbtx
    argTypes:
    - PartiallySignedTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 297
    functionName: PSBTOperationsDialog::showTransactionStatus
    functionSourceFile: /src/bitcoin-core/src/qt/psbtoperationsdialog.cpp
    functionUses: 1
    functionsReached:
    - wallet
    - PSBTOperationsDialog::showStatus
    - tr
    - AnalyzePSBT
    - PSBTOperationsDialog::couldSignInputs
    linkageType: ''
    returnType: void
    signature: void PSBTOperationsDialog::showTransactionStatus(const PartiallySignedTransaction
      &psbtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 23
    functionName: QSortFilterProxyModel
    functionSourceFile: /src/bitcoin-core/src/qt/peertablesortproxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QSortFilterProxyModel
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: BitcoinAddressEntryValidator::BitcoinAddressEntryValidator
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitcoinAddressEntryValidator::BitcoinAddressEntryValidator(QObject
      *parent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:25,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:28,1
    - Dst: QString::size
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:32,1
    - Dst: QString::at
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:35,1
    - Dst: QChar::unicode
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:39,1
    - Dst: QChar::isSpace
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:51,1
    - Dst: QString::remove
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:56,1
    - Dst: QString::size
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:63,1
    - Dst: QString::at
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:65,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - input
    - pos
    argTypes:
    - QString
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 81
    functionName: BitcoinAddressEntryValidator::validate
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp
    functionUses: 0
    functionsReached:
    - QString::at
    - QString::isEmpty
    - QString::remove
    - QChar::unicode
    - QString::size
    - QChar::isSpace
    - Q_UNUSED
    linkageType: ''
    returnType: QValidator::State
    signature: QValidator::State BitcoinAddressEntryValidator::validate(QString &input,
      int &pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: BitcoinAddressCheckValidator::BitcoinAddressCheckValidator
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitcoinAddressCheckValidator::BitcoinAddressCheckValidator(QObject
      *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:90,1
    - Dst: IsValidDestinationString
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:92,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - input
    - pos
    argTypes:
    - QString
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 6
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: BitcoinAddressCheckValidator::validate
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinaddressvalidator.cpp
    functionUses: 0
    functionsReached:
    - Q_UNUSED
    - QString::toStdString
    - IsValidDestinationString
    linkageType: ''
    returnType: QValidator::State
    signature: QValidator::State BitcoinAddressCheckValidator::validate(QString &input,
      int &pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: moveToThread
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:22,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: InitExecutor::InitExecutor
    functionSourceFile: /src/bitcoin-core/src/qt/initexecutor.cpp
    functionUses: 0
    functionsReached:
    - moveToThread
    - start
    linkageType: ''
    returnType: void
    signature: void InitExecutor::InitExecutor(interfaces::Node& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:28,1
    - Dst: quit
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:29,1
    - Dst: wait
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:30,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: InitExecutor::~InitExecutor()
    functionSourceFile: /src/bitcoin-core/src/qt/initexecutor.cpp
    functionUses: 0
    functionsReached:
    - qDebug
    - wait
    - quit
    linkageType: ''
    returnType: void
    signature: void InitExecutor::~InitExecutor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintExceptionContinue
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:36,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:37,1
    - Dst: getWarnings
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - std::exception*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: InitExecutor::handleRunawayException
    functionSourceFile: /src/bitcoin-core/src/qt/initexecutor.cpp
    functionUses: 0
    functionsReached:
    - QString::fromStdString
    - getWarnings
    - PrintExceptionContinue
    linkageType: ''
    returnType: void
    signature: void InitExecutor::handleRunawayException(const std::exception* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:42,1
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:44,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:45,1
    - Dst: appInitMain
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:47,1
    - Dst: InitExecutor::handleRunawayException
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:50,1
    - Dst: InitExecutor::handleRunawayException
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: InitExecutor::initialize
    functionSourceFile: /src/bitcoin-core/src/qt/initexecutor.cpp
    functionUses: 0
    functionsReached:
    - util::ThreadRename
    - qDebug
    - QMetaObject::invokeMethod
    - InitExecutor::handleRunawayException
    - appInitMain
    linkageType: ''
    returnType: void
    signature: void InitExecutor::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:59,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:61,1
    - Dst: appShutdown
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:62,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:63,1
    - Dst: InitExecutor::handleRunawayException
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:66,1
    - Dst: InitExecutor::handleRunawayException
      Src: /src/bitcoin-core/src/qt/initexecutor.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: InitExecutor::shutdown
    functionSourceFile: /src/bitcoin-core/src/qt/initexecutor.cpp
    functionUses: 0
    functionsReached:
    - qDebug
    - InitExecutor::handleRunawayException
    - appShutdown
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void InitExecutor::shutdown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: TransactionRecord::TransactionRecord
    functionSourceFile: /src/bitcoin-core/src/qt/transactionrecord.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _hash
    - _time
    argTypes:
    - Txid
    - qint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: TransactionRecord::TransactionRecord
    functionSourceFile: /src/bitcoin-core/src/qt/transactionrecord.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionRecord(Txid _hash, qint64 _time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - _hash
    - _time
    - _type
    - _address
    - ' _debit'
    - ' _credit'
    argTypes:
    - Txid
    - qint64
    - Type
    - std::string
    - CAmount
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: TransactionRecord::TransactionRecord
    functionSourceFile: /src/bitcoin-core/src/qt/transactionrecord.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TransactionRecord(Txid _hash, qint64 _time,\n                Type
      _type, const std::string &_address,\n                const CAmount& _debit,
      const CAmount& _credit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - TransactionRecord
    - TransactionRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: operator()(const TransactionRecord &a, const TransactionRecord &b)
      const
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const TransactionRecord &a, const TransactionRecord
      &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - TransactionRecord
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: operator()(const TransactionRecord &a, const Txid &b) const
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const TransactionRecord &a, const Txid &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Txid
    - TransactionRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: operator()(const Txid &a, const TransactionRecord &b) const
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Txid &a, const TransactionRecord &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: TransactionNotification
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionNotification()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _hash
    - _status
    - _showTransaction
    argTypes:
    - Txid
    - ChangeType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: TransactionNotification
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionNotification(Txid _hash, ChangeType _status, bool _showTransaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:71,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:71,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:72,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:72,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:73,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:74,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ttm
    argTypes:
    - QObject*
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: invoke
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 6
    functionsReached:
    - print_number
    - qDebug
    - QString::fromStdString
    - Q_ARG
    - QMetaObject::invokeMethod
    - GetHex
    - assert
    linkageType: ''
    returnType: void
    signature: void invoke(QObject *ttm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - TransactionTableModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: TransactionTablePriv::TransactionTablePriv
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionTablePriv(TransactionTableModel *_parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:112,1
    - Dst: getWalletTxs
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:114,1
    - Dst: TransactionRecord::showTransaction
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:115,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:116,1
    - Dst: TransactionRecord::decomposeTransaction
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:116,1
    - Dst: TransactionTablePriv::DispatchNotifications
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - interfaces::Wallet
    assertStmts:
    - condition: (!m_loaded)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: TransactionTablePriv::refreshWallet
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - TransactionRecord::showTransaction
    - getWalletTxs
    - append
    - TransactionRecord::decomposeTransaction
    - TransactionTablePriv::DispatchNotifications
    - assert
    linkageType: ''
    returnType: void
    signature: void refreshWallet(interfaces::Wallet& wallet)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:131,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:131,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:131,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:131,1
    - Dst: std::lower_bound
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:134,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:135,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:135,1
    - Dst: TxLessThan
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:135,1
    - Dst: std::upper_bound
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:136,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:137,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:137,1
    - Dst: TxLessThan
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:137,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:138,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:139,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:150,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:150,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:151,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:151,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:152,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:152,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:159,1
    - Dst: getWalletTx
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:165,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:168,1
    - Dst: TransactionRecord::decomposeTransaction
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:173,1
    - Dst: QList::isEmpty
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:174,1
    - Dst: beginInsertRows
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:176,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:176,1
    - Dst: QList::size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:176,1
    - Dst: insert
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:180,1
    - Dst: endInsertRows
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:183,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:190,1
    - Dst: beginRemoveRows
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:194,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:194,1
    - Dst: erase
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:195,1
    - Dst: endRemoveRows
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:196,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 4
    argNames:
    - ' wallet'
    - ' hash'
    - status
    - showTransaction
    argTypes:
    - interfaces::Wallet
    - Txid
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 207
    functionName: TransactionTablePriv::updateWallet
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - getWalletTx
    - TxLessThan
    - endInsertRows
    - beginRemoveRows
    - endRemoveRows
    - qWarning
    - print_number
    - ToString
    - qDebug
    - QString::fromStdString
    - QList::isEmpty
    - std::upper_bound
    - QModelIndex
    - QList::size
    - TransactionRecord::decomposeTransaction
    - std::lower_bound
    - beginInsertRows
    - end
    - erase
    - insert
    - begin
    linkageType: ''
    returnType: void
    signature: void updateWallet(interfaces::Wallet& wallet, const Txid& hash, int
      status, bool showTransaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionTablePriv::size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: TransactionTablePriv::size
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 1
    functionsReached:
    - TransactionTablePriv::size
    linkageType: ''
    returnType: int
    signature: int size()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransactionTablePriv::size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:216,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:225,1
    - Dst: TransactionRecord*::statusUpdateNeeded
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:225,1
    - Dst: tryGetTxStatus
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:225,1
    - Dst: TransactionRecord*::updateStatus
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' wallet'
    - ' cur_block_hash'
    - idx
    argTypes:
    - interfaces::Wallet
    - uint256
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: TransactionTablePriv::index
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - TransactionTablePriv::size
    - TransactionRecord*::statusUpdateNeeded
    - tryGetTxStatus
    - TransactionRecord*::updateStatus
    - IsNull
    linkageType: ''
    returnType: TransactionRecord
    signature: TransactionRecord * index(interfaces::Wallet& wallet, const uint256&
      cur_block_hash, const int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionDesc::toHTML
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node'
    - ' wallet'
    - rec
    - unit
    argTypes:
    - interfaces::Node
    - interfaces::Wallet
    - TransactionRecord*
    - BitcoinUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: TransactionTablePriv::describe
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - TransactionDesc::toHTML
    linkageType: ''
    returnType: QString
    signature: QString describe(interfaces::Node& node, interfaces::Wallet& wallet,
      TransactionRecord* rec, BitcoinUnit unit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTx
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:240,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:242,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:243,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - rec
    argTypes:
    - interfaces::Wallet
    - TransactionRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: TransactionTablePriv::getTxHex
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - getTx
    - QString::fromStdString
    - EncodeHexTx
    - QString
    linkageType: ''
    returnType: QString
    signature: QString getTxHex(interfaces::Wallet& wallet, TransactionRecord *rec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionTablePriv::TransactionTablePriv
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:252,1
    - Dst: TransactionTableModel::subscribeToCoreSignals
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:255,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:257,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:257,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:257,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:257,1
    - Dst: BitcoinUnits::getAmountColumnTitle
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:257,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:257,1
    - Dst: refreshWallet
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:258,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:258,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:260,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _platformStyle
    - parent
    argTypes:
    - PlatformStyle*
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: TransactionTableModel::TransactionTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    - connect
    - TransactionTablePriv::TransactionTablePriv
    - BitcoinUnits::getAmountColumnTitle
    - refreshWallet
    - wallet
    - TransactionTableModel::subscribeToCoreSignals
    - tr
    - getOptionsModel
    linkageType: ''
    returnType: void
    signature: void TransactionTableModel::TransactionTableModel(const PlatformStyle
      *_platformStyle, WalletModel *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionTableModel::unsubscribeFromCoreSignals
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: TransactionTableModel::~TransactionTableModel()
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - TransactionTableModel::unsubscribeFromCoreSignals
    linkageType: ''
    returnType: void
    signature: void TransactionTableModel::~TransactionTableModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinUnits::getAmountColumnTitle
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:272,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: TransactionTableModel::updateAmountColumnTitle
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - BitcoinUnits::getAmountColumnTitle
    - getOptionsModel
    linkageType: ''
    returnType: void
    signature: void TransactionTableModel::updateAmountColumnTitle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:278,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:278,1
    - Dst: updateWallet
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:280,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hash
    - status
    - showTransaction
    argTypes:
    - QString
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: TransactionTableModel::updateTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - wallet
    - detail::FromHex
    - updateWallet
    - QString::toStdString
    linkageType: ''
    returnType: void
    signature: void TransactionTableModel::updateTransaction(const QString &hash,
      int status, bool showTransaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionTableModel::index
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:289,1
    - Dst: TransactionTableModel::index
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:289,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:289,1
    - Dst: TransactionTableModel::index
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:290,1
    - Dst: TransactionTableModel::index
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:290,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: TransactionTableModel::updateConfirmations
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - TransactionTableModel::index
    - size
    linkageType: ''
    returnType: void
    signature: void TransactionTableModel::updateConfirmations()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:295,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: TransactionTableModel::rowCount
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - size
    linkageType: ''
    returnType: int
    signature: int TransactionTableModel::rowCount(const QModelIndex &parent) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:303,1
    - Dst: length
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: TransactionTableModel::columnCount
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - length
    linkageType: ''
    returnType: int
    signature: int TransactionTableModel::columnCount(const QModelIndex &parent) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:316,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:319,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:322,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:325,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:328,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:331,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:334,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - wtx
    argTypes:
    - TransactionRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 339
    functionName: TransactionTableModel::formatTxStatus
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - tr
    linkageType: ''
    returnType: QString
    signature: QString TransactionTableModel::formatTxStatus(const TransactionRecord
      *wtx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::dateTimeStr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:345,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wtx
    argTypes:
    - TransactionRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: TransactionTableModel::formatTxDate
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    - GUIUtil::dateTimeStr
    linkageType: ''
    returnType: QString
    signature: QString TransactionTableModel::formatTxDate(const TransactionRecord
      *wtx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:355,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:355,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:357,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:361,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:363,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:363,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - address
    - tooltip
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: TransactionTableModel::lookupAddress
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - getAddressTableModel
    - QString::fromStdString
    - QString::isEmpty
    - QString
    linkageType: ''
    returnType: QString
    signature: QString TransactionTableModel::lookupAddress(const std::string &address,
      bool tooltip) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:373,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:375,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:378,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:380,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - wtx
    argTypes:
    - TransactionRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: TransactionTableModel::formatTxType
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    - tr
    linkageType: ''
    returnType: QString
    signature: QString TransactionTableModel::formatTxType(const TransactionRecord
      *wtx) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:391,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:394,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:397,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - wtx
    argTypes:
    - TransactionRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: TransactionTableModel::txAddressDecoration
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QIcon
    linkageType: ''
    returnType: QVariant
    signature: QVariant TransactionTableModel::txAddressDecoration(const TransactionRecord
      *wtx) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:408,1
    - Dst: TransactionTableModel::lookupAddress
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:412,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:414,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - wtx
    - tooltip
    argTypes:
    - TransactionRecord*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 418
    functionName: TransactionTableModel::formatTxToAddress
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QString::fromStdString
    - TransactionTableModel::lookupAddress
    - tr
    linkageType: ''
    returnType: QString
    signature: QString TransactionTableModel::formatTxToAddress(const TransactionRecord
      *wtx, bool tooltip) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:429,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:429,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:430,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - wtx
    argTypes:
    - TransactionRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: TransactionTableModel::addressColor
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - getAddressTableModel
    - QString::fromStdString
    - QString::isEmpty
    - QVariant
    linkageType: ''
    returnType: QVariant
    signature: QVariant TransactionTableModel::addressColor(const TransactionRecord
      *wtx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:441,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:441,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:446,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:446,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wtx
    - showUnconfirmed
    - separators
    argTypes:
    - TransactionRecord*
    - bool
    - BitcoinUnits::SeparatorStyle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 450
    functionName: TransactionTableModel::formatTxAmount
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    - BitcoinUnits::format
    - getOptionsModel
    linkageType: ''
    returnType: QString
    signature: QString TransactionTableModel::formatTxAmount(const TransactionRecord
      *wtx, bool showUnconfirmed, BitcoinUnits::SeparatorStyle separators) const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:457,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:459,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:463,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:464,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:465,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:466,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:467,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:470,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:472,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:476,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:476,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - wtx
    argTypes:
    - TransactionRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 483
    functionName: TransactionTableModel::txStatusDecoration
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QIcon
    - QString
    linkageType: ''
    returnType: QVariant
    signature: QVariant TransactionTableModel::txStatusDecoration(const TransactionRecord
      *wtx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TransactionTableModel::formatTxStatus
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:487,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:487,1
    - Dst: TransactionTableModel::formatTxType
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:487,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:491,1
    - Dst: TransactionTableModel::formatTxToAddress
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - rec
    argTypes:
    - TransactionRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 494
    functionName: TransactionTableModel::formatTooltip
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    - TransactionTableModel::formatTxStatus
    - TransactionTableModel::formatTxType
    - TransactionTableModel::formatTxToAddress
    linkageType: ''
    returnType: QString
    signature: QString TransactionTableModel::formatTooltip(const TransactionRecord
      *rec) const
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:498,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:499,1
    - Dst: static_cast<TransactionRecord*>
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:500,1
    - Dst: QModelIndex::internalPointer
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:500,1
    - Dst: static_cast<ColumnIndex>
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:502,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:502,1
    - Dst: TransactionTableModel::txStatusDecoration
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:507,1
    - Dst: TransactionTableModel::txAddressDecoration
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:511,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:514,1
    - Dst: qvariant_cast<QIcon>
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:517,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:517,1
    - Dst: TextColorIcon
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:518,1
    - Dst: TransactionTableModel::formatTxDate
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:524,1
    - Dst: TransactionTableModel::formatTxType
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:526,1
    - Dst: TransactionTableModel::formatTxToAddress
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:528,1
    - Dst: TransactionTableModel::formatTxAmount
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:530,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:532,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:537,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:539,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:539,1
    - Dst: TransactionTableModel::formatTxType
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:541,1
    - Dst: TransactionTableModel::formatTxToAddress
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:543,1
    - Dst: qint64
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:545,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:547,1
    - Dst: TransactionTableModel::formatTooltip
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:549,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:551,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:563,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:567,1
    - Dst: TransactionTableModel::addressColor
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:569,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:575,1
    - Dst: describe
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:577,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:577,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:577,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:577,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:579,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:581,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:581,1
    - Dst: qint64
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:583,1
    - Dst: TransactionRecord*::getTxHash
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:585,1
    - Dst: getTxHex
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:587,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:587,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:591,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:592,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:592,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:594,1
    - Dst: QDateTime::toString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:594,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:595,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:596,1
    - Dst: TransactionTableModel::formatTxStatus
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:596,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:597,1
    - Dst: TransactionTableModel::formatTxType
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:598,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:599,1
    - Dst: TransactionTableModel::formatTxType
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:599,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:600,1
    - Dst: TransactionRecord*::address::empty
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:602,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:603,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:604,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:604,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:606,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:607,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:608,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:610,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:610,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:611,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:613,1
    - Dst: TransactionTableModel::formatTxAmount
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:613,1
    - Dst: TransactionTableModel::formatTxAmount
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:620,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:624,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 113
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    - condition: (false)
      pos:
        line_end: 531
        line_start: 531
        source_file: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    - condition: (false)
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    constantsTouched: []
    func_position:
      end: 625
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 625
    functionName: TransactionTableModel::data
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - node
    - TransactionTableModel::addressColor
    - TextColorIcon
    - TransactionTableModel::formatTooltip
    - getOptionsModel
    - TransactionRecord*::address::empty
    - TransactionTableModel::formatTxToAddress
    - QString::append
    - TransactionTableModel::formatTxDate
    - TransactionTableModel::formatTxType
    - QString::isEmpty
    - QDateTime::toString
    - QModelIndex::isValid
    - QModelIndex::internalPointer
    - getAddressTableModel
    - QString::fromStdString
    - TransactionTableModel::formatTxStatus
    - QModelIndex::column
    - getTxHex
    - describe
    - qvariant_cast<QIcon>
    - TransactionTableModel::txAddressDecoration
    - tr
    - static_cast<ColumnIndex>
    - strprintf
    - QDateTime::fromSecsSinceEpoch
    - assert
    - TransactionTableModel::txStatusDecoration
    - wallet
    - TransactionRecord*::getTxHash
    - TransactionTableModel::formatTxAmount
    - qint64
    - static_cast<TransactionRecord*>
    - QModelIndex::data
    linkageType: ''
    returnType: QVariant
    signature: QVariant TransactionTableModel::data(const QModelIndex &index, int
      role) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:643,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:645,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:647,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:649,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:651,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - section
    - orientation
    - role
    argTypes:
    - int
    - Qt::Orientation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 656
    functionName: TransactionTableModel::headerData
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - tr
    linkageType: ''
    returnType: QVariant
    signature: QVariant TransactionTableModel::headerData(int section, Qt::Orientation
      orientation, int role) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:660,1
    - Dst: TransactionTableModel::index
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:661,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:661,1
    - Dst: getLastBlockProcessed
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:661,1
    - Dst: createIndex
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:664,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - row
    - column
    - parent
    argTypes:
    - int
    - int
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 667
    functionName: TransactionTableModel::index
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 2
    functionsReached:
    - wallet
    - TransactionTableModel::index
    - Q_UNUSED
    - getLastBlockProcessed
    - QModelIndex
    - createIndex
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex TransactionTableModel::index(int row, int column, const
      QModelIndex &parent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionTableModel::updateAmountColumnTitle
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:672,1
    - Dst: TransactionTableModel::index
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:673,1
    - Dst: TransactionTableModel::index
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:673,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 674
    functionName: TransactionTableModel::updateDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - TransactionTableModel::index
    - TransactionTableModel::updateAmountColumnTitle
    - size
    linkageType: ''
    returnType: void
    signature: void TransactionTableModel::updateDisplayUnit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TransactionRecord::showTransaction
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:680,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:686,1
    - Dst: TransactionNotification::invoke
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' hash'
    - status
    argTypes:
    - Txid
    - ChangeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 690
    functionName: TransactionTablePriv::NotifyTransactionChanged
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - TransactionRecord::showTransaction
    - TransactionNotification::invoke
    linkageType: ''
    returnType: void
    signature: void TransactionTablePriv::NotifyTransactionChanged(const Txid& hash,
      ChangeType status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransactionTablePriv::size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:696,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:697,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:697,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:698,1
    - Dst: TransactionTablePriv::size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:700,1
    - Dst: TransactionTablePriv::size
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:702,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:703,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:703,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:704,1
    - Dst: invoke
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:707,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:709,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    - condition: (invoked)
      pos:
        line_end: 703
        line_start: 703
        source_file: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    constantsTouched: []
    func_position:
      end: 710
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 710
    functionName: TransactionTablePriv::DispatchNotifications
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 1
    functionsReached:
    - TransactionTablePriv::size
    - Q_ARG
    - clear
    - invoke
    - QMetaObject::invokeMethod
    - assert
    linkageType: ''
    returnType: void
    signature: void TransactionTablePriv::DispatchNotifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:715,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:715,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:716,1
    - Dst: DispatchNotifications
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 720
    functionName: TransactionTableModel::subscribeToCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 1
    functionsReached:
    - wallet
    - std::bind
    - DispatchNotifications
    linkageType: ''
    returnType: void
    signature: void TransactionTableModel::subscribeToCoreSignals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:725,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/transactiontablemodel.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 727
    functionName: TransactionTableModel::unsubscribeFromCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.cpp
    functionUses: 1
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void TransactionTableModel::unsubscribeFromCoreSignals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setDynamicSortFilter
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:29,1
    - Dst: setFilterCaseSensitivity
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:30,1
    - Dst: setSortCaseSensitivity
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' type'
    - parent
    argTypes:
    - QString
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: AddressBookSortFilterProxyModel::AddressBookSortFilterProxyModel
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - setSortCaseSensitivity
    - setFilterCaseSensitivity
    - setDynamicSortFilter
    linkageType: ''
    returnType: void
    signature: void AddressBookSortFilterProxyModel(const QString& type, QObject*
      parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sourceModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:37,1
    - Dst: auto::index
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:38,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:40,1
    - Dst: auto::index
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:44,1
    - Dst: filterRegularExpression
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:46,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:47,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - row
    - ' parent'
    argTypes:
    - int
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: AddressBookSortFilterProxyModel::filterAcceptsRow
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - sourceModel
    - filterRegularExpression
    - auto::index
    linkageType: ''
    returnType: bool
    signature: bool filterAcceptsRow(int row, const QModelIndex& parent) const override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Ui::AddressBookPage::AddressBookPage
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:54,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:58,1
    - Dst: PlatformStyle*::getImagesOnButtons
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:60,1
    - Dst: newAddress::setIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:61,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:61,1
    - Dst: copyAddress::setIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:62,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:62,1
    - Dst: deleteAddress::setIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:63,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:63,1
    - Dst: exportButton::setIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:64,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:64,1
    - Dst: newAddress::setIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:66,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:66,1
    - Dst: copyAddress::setIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:67,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:67,1
    - Dst: deleteAddress::setIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:68,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:68,1
    - Dst: exportButton::setIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:69,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:69,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:75,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:75,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:76,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:76,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:78,1
    - Dst: tableView::setEditTriggers
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:79,1
    - Dst: tableView::setFocus
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:80,1
    - Dst: closeButton::setText
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:81,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:81,1
    - Dst: exportButton::hide
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:82,1
    - Dst: labelExplanation::setText
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:87,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:87,1
    - Dst: deleteAddress::setVisible
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:88,1
    - Dst: newAddress::setVisible
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:89,1
    - Dst: labelExplanation::setText
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:92,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:92,1
    - Dst: deleteAddress::setVisible
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:93,1
    - Dst: newAddress::setVisible
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:94,1
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:99,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:100,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:100,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:101,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:101,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:102,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:102,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:105,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:105,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:108,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:109,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 4
    argNames:
    - platformStyle
    - _mode
    - _tab
    - parent
    argTypes:
    - PlatformStyle*
    - Mode
    - Tabs
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 112
    functionName: AddressBookPage::AddressBookPage
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 1
    functionsReached:
    - Ui::AddressBookPage::AddressBookPage
    - addAction
    - setupUi
    - deleteAddress::setIcon
    - exportButton::hide
    - newAddress::setIcon
    - copyAddress::setIcon
    - closeButton::setText
    - QMenu::QMenu
    - connect
    - GUIUtil::handleCloseWindowShortcut
    - labelExplanation::setText
    - tableView::setEditTriggers
    - tr
    - setWindowTitle
    - PlatformStyle*::SingleColorIcon
    - tableView::setFocus
    - deleteAddress::setVisible
    - PlatformStyle*::getImagesOnButtons
    - newAddress::setVisible
    - QIcon
    - exportButton::setIcon
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle,
      Mode _mode, Tabs _tab, QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: AddressBookPage::~AddressBookPage()
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::~AddressBookPage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddressBookSortFilterProxyModel::AddressBookSortFilterProxyModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:126,1
    - Dst: setSourceModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:127,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:129,1
    - Dst: tableView::setModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:131,1
    - Dst: tableView::sortByColumn
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:132,1
    - Dst: tableView::horizontalHeader
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:135,1
    - Dst: tableView::horizontalHeader
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:136,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:138,1
    - Dst: tableView::selectionModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:138,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:142,1
    - Dst: AddressBookPage::selectionChanged
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:144,1
    - Dst: AddressBookPage::updateWindowsTitleWithWalletName
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - _model
    argTypes:
    - AddressTableModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 146
    functionName: AddressBookPage::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - connect
    - tableView::setModel
    - tableView::selectionModel
    - AddressBookSortFilterProxyModel::AddressBookSortFilterProxyModel
    - setSourceModel
    - tableView::horizontalHeader
    - tableView::sortByColumn
    - AddressBookPage::updateWindowsTitleWithWalletName
    - AddressBookPage::selectionChanged
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::setModel(AddressTableModel *_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: AddressBookPage::on_copyAddress_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::copyEntryData
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::on_copyAddress_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: AddressBookPage::onCopyLabelAction
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::copyEntryData
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::onCopyLabelAction()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tableView::selectionModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:163,1
    - Dst: tableView::selectionModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:165,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:166,1
    - Dst: EditAddressDialog::EditAddressDialog
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:169,1
    - Dst: auto::setModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:173,1
    - Dst: mapToSource
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:174,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:174,1
    - Dst: auto::loadRow
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:175,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:175,1
    - Dst: GUIUtil::ShowModalDialogAsynchronously
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: AddressBookPage::onEditAction
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - mapToSource
    - QModelIndexList::at
    - GUIUtil::ShowModalDialogAsynchronously
    - tableView::selectionModel
    - EditAddressDialog::EditAddressDialog
    - QModelIndexList::isEmpty
    - auto::loadRow
    - QModelIndex::row
    - auto::setModel
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::onEditAction()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EditAddressDialog::setModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:189,1
    - Dst: EditAddressDialog::exec
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:190,1
    - Dst: EditAddressDialog::getAddress
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: AddressBookPage::on_newAddress_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - EditAddressDialog::getAddress
    - EditAddressDialog::setModel
    - EditAddressDialog::exec
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::on_newAddress_clicked()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:199,1
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:202,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:203,1
    - Dst: QTableView*::model
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:205,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: AddressBookPage::on_deleteAddress_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - QTableView*::model
    - QModelIndexList::at
    - QModelIndexList::isEmpty
    - QTableView*::selectionModel
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::on_deleteAddress_clicked()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:213,1
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:216,1
    - Dst: deleteAddress::setEnabled
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:222,1
    - Dst: deleteAddress::setVisible
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:223,1
    - Dst: deleteAddress::setEnabled
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:227,1
    - Dst: deleteAddress::setVisible
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:228,1
    - Dst: copyAddress::setEnabled
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:231,1
    - Dst: deleteAddress::setEnabled
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:235,1
    - Dst: copyAddress::setEnabled
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: AddressBookPage::selectionChanged
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 1
    functionsReached:
    - deleteAddress::setEnabled
    - copyAddress::setEnabled
    - QTableView*::selectionModel
    - deleteAddress::setVisible
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::selectionChanged()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:243,1
    - Dst: QTableView*::model
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:243,1
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:247,1
    - Dst: QTableView*::model
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:250,1
    - Dst: QVariant::toString
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:251,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:254,1
    - Dst: http_request_done
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - retval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 261
    functionName: AddressBookPage::done
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - QVariant::toString
    - http_request_done
    - isEmpty
    - QTableView*::model
    - QTableView*::selectionModel
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::done(int retval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::getSaveFileName
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:266,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:267,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:267,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:270,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:270,1
    - Dst: QString::isNull
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:272,1
    - Dst: CSVModelWriter::setModel
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:278,1
    - Dst: CSVModelWriter::addColumn
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:279,1
    - Dst: CSVModelWriter::addColumn
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:280,1
    - Dst: CSVModelWriter::write
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:282,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:283,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:283,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 288
    functionName: AddressBookPage::on_exportButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - QString
    - CSVModelWriter::write
    - QMessageBox::critical
    - QString::isNull
    - CSVModelWriter::addColumn
    - QLatin1String
    - tr
    - GUIUtil::getSaveFileName
    - CSVModelWriter::setModel
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::on_exportButton_clicked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tableView::indexAt
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:292,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:293,1
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:295,1
    - Dst: QCursor::pos
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - point
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: AddressBookPage::contextualMenu
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - QCursor::pos
    - tableView::indexAt
    - exec
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::contextualMenu(const QPoint &point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapFromSource
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:301,1
    - Dst: index
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:301,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:302,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:302,1
    - Dst: tableView::setFocus
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:305,1
    - Dst: tableView::selectRow
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:306,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:306,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - parent
    - begin
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: AddressBookPage::selectNewAddress
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 0
    functionsReached:
    - tableView::selectRow
    - QModelIndex::isValid
    - index
    - clear
    - mapFromSource
    - tableView::setFocus
    - QModelIndex::row
    - QModelIndex::data
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::selectNewAddress(const QModelIndex &parent, int
      begin, int /*end*/)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AddressBookPage::model::GetWalletDisplayName
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:313,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:318,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:318,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:319,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addressbookpage.cpp:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: AddressBookPage::updateWindowsTitleWithWalletName
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.cpp
    functionUses: 1
    functionsReached:
    - AddressBookPage::model::GetWalletDisplayName
    - setWindowTitle
    - tr
    linkageType: ''
    returnType: void
    signature: void AddressBookPage::updateWindowsTitleWithWalletName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 44
    functionName: QObject
    functionSourceFile: /src/bitcoin-core/src/qt/csvmodelwriter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QObject
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SecureString
      Src: /src/bitcoin-core/src/qt/walletmodel.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 233
    functionName: QObject
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 0
    functionsReached:
    - SecureString
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QObject
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: SendCoinsReturn
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendCoinsReturn(StatusCode _status = OK, QString _reasonCommitFailed
      = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: UnlockContext::isValid
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: UnlockContext::UnlockContext
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnlockContext(const UnlockContext&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: UnlockContext::UnlockContext
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnlockContext(UnlockContext&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& operator=(const UnlockContext&)'
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnlockContext
    signature: UnlockContext & operator=(const UnlockContext&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '& operator=(UnlockContext&&)'
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnlockContext
    signature: UnlockContext & operator=(UnlockContext&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: node
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: interfaces::Node
    signature: interfaces::Node & node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: wallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: interfaces::Wallet
    signature: interfaces::Wallet & wallet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: clientModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientModel
    signature: ClientModel & clientModel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: PeerTableSortProxy::PeerTableSortProxy
    functionSourceFile: /src/bitcoin-core/src/qt/peertablesortproxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PeerTableSortProxy::PeerTableSortProxy(QObject* parent)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/qt/peertablesortproxy.cpp:21,1
    - Dst: sourceModel
      Src: /src/bitcoin-core/src/qt/peertablesortproxy.cpp:21,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/qt/peertablesortproxy.cpp:22,1
    - Dst: sourceModel
      Src: /src/bitcoin-core/src/qt/peertablesortproxy.cpp:22,1
    - Dst: static_cast<PeerTableModel::ColumnIndex>
      Src: /src/bitcoin-core/src/qt/peertablesortproxy.cpp:24,1
    - Dst: column
      Src: /src/bitcoin-core/src/qt/peertablesortproxy.cpp:24,1
    - Dst: CNodeStats::m_addr_name::compare
      Src: /src/bitcoin-core/src/qt/peertablesortproxy.cpp:30,1
    - Dst: CNodeStats::cleanSubVer::compare
      Src: /src/bitcoin-core/src/qt/peertablesortproxy.cpp:44,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/peertablesortproxy.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' left_index'
    - ' right_index'
    argTypes:
    - QModelIndex
    - QModelIndex
    assertStmts:
    - condition: (false)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/qt/peertablesortproxy.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 47
    functionName: PeerTableSortProxy::lessThan
    functionSourceFile: /src/bitcoin-core/src/qt/peertablesortproxy.cpp
    functionUses: 0
    functionsReached:
    - sourceModel
    - CNodeStats::cleanSubVer::compare
    - column
    - Assert
    - CNodeStats::m_addr_name::compare
    - assert
    - static_cast<PeerTableModel::ColumnIndex>
    linkageType: ''
    returnType: bool
    signature: bool PeerTableSortProxy::lessThan(const QModelIndex& left_index, const
      QModelIndex& right_index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: namespace
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE namespace
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Ui::AskPassphraseDialog::AskPassphraseDialog
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:20,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:24,1
    - Dst: passEdit1::setMinimumSize
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:26,1
    - Dst: passEdit1::sizeHint
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:26,1
    - Dst: passEdit2::setMinimumSize
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:27,1
    - Dst: passEdit2::sizeHint
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:27,1
    - Dst: passEdit3::setMinimumSize
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:28,1
    - Dst: passEdit3::sizeHint
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:28,1
    - Dst: passEdit1::setMaxLength
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:30,1
    - Dst: passEdit2::setMaxLength
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:31,1
    - Dst: passEdit3::setMaxLength
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:32,1
    - Dst: passEdit1::installEventFilter
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:35,1
    - Dst: passEdit2::installEventFilter
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:36,1
    - Dst: passEdit3::installEventFilter
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:37,1
    - Dst: warningLabel::setText
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:42,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:42,1
    - Dst: passLabel1::hide
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:43,1
    - Dst: passEdit1::hide
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:44,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:45,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:45,1
    - Dst: warningLabel::setText
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:49,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:49,1
    - Dst: passLabel2::hide
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:50,1
    - Dst: passEdit2::hide
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:51,1
    - Dst: passLabel3::hide
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:52,1
    - Dst: passEdit3::hide
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:53,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:54,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:54,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:57,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:57,1
    - Dst: warningLabel::setText
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:58,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:58,1
    - Dst: AskPassphraseDialog::textChanged
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:61,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:62,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:63,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:64,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:65,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - _mode
    - parent
    - passphrase_out
    argTypes:
    - Mode
    - QWidget*
    - SecureString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 68
    functionName: AskPassphraseDialog::AskPassphraseDialog
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 1
    functionsReached:
    - passEdit2::hide
    - passEdit3::installEventFilter
    - passEdit2::sizeHint
    - setupUi
    - passEdit1::setMinimumSize
    - passEdit3::setMaxLength
    - passLabel2::hide
    - passEdit3::hide
    - AskPassphraseDialog::textChanged
    - passEdit1::setMaxLength
    - Ui::AskPassphraseDialog::AskPassphraseDialog
    - connect
    - warningLabel::setText
    - GUIUtil::handleCloseWindowShortcut
    - passEdit1::installEventFilter
    - passEdit1::sizeHint
    - tr
    - passEdit1::hide
    - setWindowTitle
    - passLabel3::hide
    - passLabel1::hide
    - passEdit2::installEventFilter
    - passEdit3::sizeHint
    - passEdit2::setMaxLength
    - passEdit2::setMinimumSize
    - passEdit3::setMinimumSize
    linkageType: ''
    returnType: void
    signature: void AskPassphraseDialog::AskPassphraseDialog(Mode _mode, QWidget *parent,
      SecureString* passphrase_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AskPassphraseDialog::secureClearPassFields
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: AskPassphraseDialog::~AskPassphraseDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 0
    functionsReached:
    - AskPassphraseDialog::secureClearPassFields
    linkageType: ''
    returnType: void
    signature: void AskPassphraseDialog::~AskPassphraseDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: AskPassphraseDialog::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AskPassphraseDialog::setModel(WalletModel *_model)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:86,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:87,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:88,1
    - Dst: SecureString::assign
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:90,1
    - Dst: passEdit1::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:90,1
    - Dst: assign
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:91,1
    - Dst: passEdit2::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:91,1
    - Dst: assign
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:92,1
    - Dst: passEdit3::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:92,1
    - Dst: AskPassphraseDialog::secureClearPassFields
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:94,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:99,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:99,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:105,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:106,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:106,1
    - Dst: QMessageBox::button
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:108,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:108,1
    - Dst: QMessageBox::button
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:109,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:109,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:110,1
    - Dst: QMessageBox::exec
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:111,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:116,1
    - Dst: assign
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:119,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:121,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:123,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:124,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:127,1
    - Dst: QMessageBox::exec
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:128,1
    - Dst: ReceiveCoinsDialog::reject
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:130,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:134,1
    - Dst: setWalletEncrypted
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:135,1
    - Dst: QMessageBox::warning
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:136,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:136,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:138,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:140,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:146,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:146,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:147,1
    - Dst: testmempoolaccept
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:150,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:154,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:154,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:155,1
    - Dst: setWalletLocked
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:161,1
    - Dst: SecureString::find
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:163,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:164,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:164,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:165,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:167,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:167,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:168,1
    - Dst: assign
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:177,1
    - Dst: testmempoolaccept
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:179,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:182,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:182,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:182,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:186,1
    - Dst: testmempoolaccept
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:187,1
    - Dst: changePassphrase
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:192,1
    - Dst: QMessageBox::information
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:194,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:194,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:195,1
    - Dst: testmempoolaccept
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:196,1
    - Dst: SecureString::find
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:201,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:202,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:202,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:203,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:205,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:205,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:206,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:216,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:216,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:217,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (model != nullptr)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    constantsTouched: []
    func_position:
      end: 221
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 221
    functionName: AskPassphraseDialog::accept
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - passEdit2::text
    - passEdit1::text
    - what
    - AskPassphraseDialog::secureClearPassFields
    - changePassphrase
    - setWalletEncrypted
    - SecureString::reserve
    - QMessageBox::setDefaultButton
    - passEdit3::text
    - QMessageBox::critical
    - empty
    - QMessageBox::warning
    - Assume
    - tr
    - SecureString::find
    - QMessageBox::button
    - assert
    - QMessageBox::information
    - testmempoolaccept
    - assign
    - SecureString::assign
    - setWalletLocked
    - ReceiveCoinsDialog::reject
    - QMessageBox::exec
    linkageType: ''
    returnType: void
    signature: void AskPassphraseDialog::accept()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: passEdit2::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:230,1
    - Dst: passEdit3::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:230,1
    - Dst: passEdit1::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:234,1
    - Dst: passEdit1::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:237,1
    - Dst: passEdit2::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:237,1
    - Dst: passEdit3::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:237,1
    - Dst: buttonBox::button
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 241
    functionName: AskPassphraseDialog::textChanged
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 1
    functionsReached:
    - passEdit1::text
    - passEdit2::text
    - buttonBox::button
    - passEdit3::text
    linkageType: ''
    returnType: void
    signature: void AskPassphraseDialog::textChanged()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:246,1
    - Dst: static_cast<QKeyEvent *>
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:247,1
    - Dst: QKeyEvent*::key
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:248,1
    - Dst: capsLabel::setText
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:252,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:252,1
    - Dst: capsLabel::clear
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:254,1
    - Dst: AskPassphraseDialog::event
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: AskPassphraseDialog::event
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 1
    functionsReached:
    - capsLabel::setText
    - capsLabel::clear
    - tr
    - static_cast<QKeyEvent *>
    - AskPassphraseDialog::event
    - QEvent*::type
    - QKeyEvent*::key
    linkageType: ''
    returnType: bool
    signature: bool AskPassphraseDialog::event(QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toggleShowPasswordButton::setDown
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:262,1
    - Dst: passEdit1::setEchoMode
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:264,1
    - Dst: passEdit2::setEchoMode
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:265,1
    - Dst: passEdit3::setEchoMode
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - show
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: AskPassphraseDialog::toggleShowPassword
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 0
    functionsReached:
    - passEdit2::setEchoMode
    - toggleShowPasswordButton::setDown
    - passEdit3::setEchoMode
    - passEdit1::setEchoMode
    linkageType: ''
    returnType: void
    signature: void AskPassphraseDialog::toggleShowPassword(bool show)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:277,1
    - Dst: static_cast<QKeyEvent *>
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:278,1
    - Dst: QKeyEvent*::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:279,1
    - Dst: QString::length
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:280,1
    - Dst: QString::unicode
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:281,1
    - Dst: QKeyEvent*::modifiers
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:282,1
    - Dst: capsLabel::setText
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:285,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:285,1
    - Dst: QChar*::isLetter
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:286,1
    - Dst: capsLabel::clear
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:288,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - object
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 293
    functionName: AskPassphraseDialog::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 1
    functionsReached:
    - capsLabel::setText
    - QKeyEvent*::modifiers
    - QString::length
    - capsLabel::clear
    - QChar*::isLetter
    - static_cast<QKeyEvent *>
    - tr
    - QKeyEvent*::text
    - QEvent*::type
    - AskPassphraseDialog::eventFilter
    - QString::unicode
    linkageType: ''
    returnType: bool
    signature: bool AskPassphraseDialog::eventFilter(QObject *object, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QLineEdit*::setText
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:298,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:298,1
    - Dst: QLineEdit*::text
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:298,1
    - Dst: QLineEdit*::clear
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - edit
    argTypes:
    - QLineEdit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: SecureClearQLineEdit
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit*::text
    - QString
    - QLineEdit*::setText
    - QLineEdit*::clear
    linkageType: ''
    returnType: void
    signature: void SecureClearQLineEdit(QLineEdit* edit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SecureClearQLineEdit
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:304,1
    - Dst: SecureClearQLineEdit
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:305,1
    - Dst: SecureClearQLineEdit
      Src: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: AskPassphraseDialog::secureClearPassFields
    functionSourceFile: /src/bitcoin-core/src/qt/askpassphrasedialog.cpp
    functionUses: 2
    functionsReached:
    - SecureClearQLineEdit
    linkageType: ''
    returnType: void
    signature: void AskPassphraseDialog::secureClearPassFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:27,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:28,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:28,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:29,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: QRImageWidget::QRImageWidget
    functionSourceFile: /src/bitcoin-core/src/qt/qrimagewidget.cpp
    functionUses: 0
    functionsReached:
    - QMenu::QMenu
    - addAction
    - tr
    linkageType: ''
    returnType: void
    signature: void QRImageWidget::QRImageWidget(QWidget* parent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:35,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:36,1
    - Dst: length
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:39,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:40,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:40,1
    - Dst: QRcode_encodeString
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:44,1
    - Dst: toUtf8
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:44,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:47,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:47,1
    - Dst: QImage
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:51,1
    - Dst: QImage::fill
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:52,1
    - Dst: QImage::setPixel
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:56,1
    - Dst: QRcode_free
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:60,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:62,1
    - Dst: QImage::fill
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:64,1
    - Dst: QPainter::drawImage
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:67,1
    - Dst: QImage::scaled
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:67,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:69,1
    - Dst: QImage::rect
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:70,1
    - Dst: QRect::setHeight
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:71,1
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:73,1
    - Dst: QFont::setStretch
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:74,1
    - Dst: QFont::setLetterSpacing
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:75,1
    - Dst: GUIUtil::calculateIdealFontSize
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:76,1
    - Dst: QRect::width
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:76,1
    - Dst: QFont::setPointSizeF
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:77,1
    - Dst: QPainter::setFont
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:79,1
    - Dst: QPainter::drawText
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:80,1
    - Dst: setPixmap
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:84,1
    - Dst: QPixmap::fromImage
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:84,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:88,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - ' data'
    - ' text'
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 91
    functionName: QRImageWidget::setQR
    functionSourceFile: /src/bitcoin-core/src/qt/qrimagewidget.cpp
    functionUses: 0
    functionsReached:
    - setText
    - GUIUtil::fixedPitchFont
    - setPixmap
    - QRcode_encodeString
    - QRect::width
    - QImage
    - toUtf8
    - isEmpty
    - QRcode_free
    - QImage::rect
    - QRect::setHeight
    - QFont::setStretch
    - QPainter::drawImage
    - QImage::scaled
    - GUIUtil::calculateIdealFontSize
    - tr
    - length
    - QFont::setPointSizeF
    - QPixmap::fromImage
    - QImage::fill
    - QPainter::drawText
    - QImage::setPixel
    - QPainter::setFont
    - QFont::setLetterSpacing
    linkageType: ''
    returnType: bool
    signature: bool QRImageWidget::setQR(const QString& data, const QString& text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::HasPixmap
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:95,1
    - Dst: QImage
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:96,1
    - Dst: QRImageWidget::pixmap
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: QRImageWidget::exportImage
    functionSourceFile: /src/bitcoin-core/src/qt/qrimagewidget.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::HasPixmap
    - QRImageWidget::pixmap
    - QImage
    linkageType: ''
    returnType: QImage
    signature: QImage QRImageWidget::exportImage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMouseEvent*::button
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:104,1
    - Dst: GUIUtil::HasPixmap
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:104,1
    - Dst: QMouseEvent*::accept
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:105,1
    - Dst: QMimeData::QMimeData
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:106,1
    - Dst: QMimeData*::setImageData
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:107,1
    - Dst: QRImageWidget::exportImage
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:107,1
    - Dst: QDrag::QDrag
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:109,1
    - Dst: QDrag*::setMimeData
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:110,1
    - Dst: QDrag*::exec
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:111,1
    - Dst: QRImageWidget::mousePressEvent
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: QRImageWidget::mousePressEvent
    functionSourceFile: /src/bitcoin-core/src/qt/qrimagewidget.cpp
    functionUses: 1
    functionsReached:
    - QMimeData*::setImageData
    - GUIUtil::HasPixmap
    - QDrag*::exec
    - QRImageWidget::exportImage
    - QRImageWidget::mousePressEvent
    - QDrag*::setMimeData
    - QMouseEvent*::accept
    - QMouseEvent*::button
    - QMimeData::QMimeData
    - QDrag::QDrag
    linkageType: ''
    returnType: void
    signature: void QRImageWidget::mousePressEvent(QMouseEvent *event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::HasPixmap
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:119,1
    - Dst: GUIUtil::getSaveFileName
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:121,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:122,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:122,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:125,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:125,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:126,1
    - Dst: QRImageWidget::exportImage
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: QRImageWidget::saveImage
    functionSourceFile: /src/bitcoin-core/src/qt/qrimagewidget.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::HasPixmap
    - QString
    - QRImageWidget::exportImage
    - QString::isEmpty
    - QLatin1String
    - tr
    - GUIUtil::getSaveFileName
    linkageType: ''
    returnType: void
    signature: void QRImageWidget::saveImage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::HasPixmap
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:134,1
    - Dst: QApplication::clipboard
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:136,1
    - Dst: QRImageWidget::exportImage
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: QRImageWidget::copyImage
    functionSourceFile: /src/bitcoin-core/src/qt/qrimagewidget.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::HasPixmap
    - QRImageWidget::exportImage
    - QApplication::clipboard
    linkageType: ''
    returnType: void
    signature: void QRImageWidget::copyImage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::HasPixmap
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:141,1
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:143,1
    - Dst: QContextMenuEvent*::globalPos
      Src: /src/bitcoin-core/src/qt/qrimagewidget.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - QContextMenuEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: QRImageWidget::contextMenuEvent
    functionSourceFile: /src/bitcoin-core/src/qt/qrimagewidget.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::HasPixmap
    - QContextMenuEvent*::globalPos
    - exec
    linkageType: ''
    returnType: void
    signature: void QRImageWidget::contextMenuEvent(QContextMenuEvent *event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QComboBox*::count
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:38,1
    - Dst: QComboBox*::itemData
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:39,1
    - Dst: QVariant::canConvert
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:40,1
    - Dst: QVariant::value
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:41,1
    - Dst: OptionsModel::getFontForChoice
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:47,1
    - Dst: QComboBox*::insertItem
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:49,1
    - Dst: QFontInfo
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:49,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:49,1
    - Dst: QComboBox*::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - cb
    - ' fc'
    argTypes:
    - QComboBox*
    - OptionsModel::FontChoice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: setFontChoice
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - QComboBox*::insertItem
    - QVariant::fromValue
    - OptionsModel::getFontForChoice
    - QFontInfo
    - QVariant::canConvert
    - QComboBox*::setCurrentIndex
    - QComboBox*::itemData
    - QComboBox*::count
    - QVariant::value
    linkageType: ''
    returnType: int
    signature: int setFontChoice(QComboBox* cb, const OptionsModel::FontChoice& fc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:59,1
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:60,1
    - Dst: QComboBox*::addItem
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:61,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:61,1
    - Dst: QFontInfo
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:61,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:61,1
    - Dst: QComboBox*::addItem
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:62,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:62,1
    - Dst: QFontInfo
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:62,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:62,1
    - Dst: QComboBox*::addItem
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:63,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:63,1
    - Dst: QComboBox*::itemData
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:67,1
    - Dst: QVariant::canConvert
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:69,1
    - Dst: OptionsModel::getFontForChoice
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:70,1
    - Dst: QVariant::value
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:70,1
    - Dst: QFontDialog::getFont
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:73,1
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:73,1
    - Dst: QComboBox*::parentWidget
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:73,1
    - Dst: QComboBox*::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:75,1
    - Dst: setFontChoice
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:78,1
    - Dst: QLabel*::setFont
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:81,1
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:85,1
    - Dst: test_ecdsa_wycheproof
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:85,1
    - Dst: on_font_choice_changed
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:86,1
    - Dst: QComboBox*::currentIndex
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - cb
    - preview
    argTypes:
    - QComboBox*
    - QLabel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 87
    functionName: setupFontOptions
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - QComboBox*::addItem
    - test_ecdsa_wycheproof
    - QLabel*::setFont
    - SighashToStr
    - QVariant::fromValue
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - OptionsModel::getFontForChoice
    - QFontDialog::getFont
    - GUIUtil::fixedPitchFont
    - QComboBox*::currentIndex
    - QFontInfo
    - on_font_choice_changed
    - QVariant::canConvert
    - setFontChoice
    - QComboBox*::parentWidget
    - QComboBox*::setCurrentIndex
    - QComboBox*::itemData
    - QVariant::value
    linkageType: ''
    returnType: void
    signature: void setupFontOptions(QComboBox* cb, QLabel* preview)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Ui::OptionsDialog::OptionsDialog
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:91,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:93,1
    - Dst: verticalLayout::setStretchFactor
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:95,1
    - Dst: databaseCache::setRange
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:98,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:98,1
    - Dst: threadsScriptVerif::setMinimum
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:99,1
    - Dst: GetNumCores
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:99,1
    - Dst: threadsScriptVerif::setMaximum
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:100,1
    - Dst: pruneWarning::setVisible
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:101,1
    - Dst: pruneWarning::setStyleSheet
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:102,1
    - Dst: pruneSize::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:104,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:105,1
    - Dst: proxyIp::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:108,1
    - Dst: proxyPort::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:109,1
    - Dst: proxyPort::setValidator
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:110,1
    - Dst: QIntValidator::QIntValidator
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:110,1
    - Dst: proxyIpTor::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:112,1
    - Dst: proxyPortTor::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:113,1
    - Dst: proxyPortTor::setValidator
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:114,1
    - Dst: QIntValidator::QIntValidator
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:114,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:116,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:117,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:118,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:120,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:121,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:122,1
    - Dst: tabWidget::removeTab
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:127,1
    - Dst: tabWidget::indexOf
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:127,1
    - Dst: bitcoinAtStartup::setVisible
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:129,1
    - Dst: verticalLayout_Main::removeWidget
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:130,1
    - Dst: verticalLayout_Main::removeItem
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:131,1
    - Dst: tabWidget::removeTab
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:136,1
    - Dst: tabWidget::indexOf
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:136,1
    - Dst: thirdPartyTxUrlsLabel::setVisible
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:137,1
    - Dst: thirdPartyTxUrls::setVisible
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:138,1
    - Dst: externalSignerPath::setToolTip
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:142,1
    - Dst: externalSignerPath::toolTip
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:142,1
    - Dst: externalSignerPath::setToolTip
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:145,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:145,1
    - Dst: externalSignerPath::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:146,1
    - Dst: bitcoinAtStartup::setToolTip
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:151,1
    - Dst: bitcoinAtStartup::toolTip
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:151,1
    - Dst: bitcoinAtStartup::setText
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:152,1
    - Dst: bitcoinAtStartup::text
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:152,1
    - Dst: openBitcoinConfButton::setToolTip
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:154,1
    - Dst: openBitcoinConfButton::toolTip
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:154,1
    - Dst: lang::setToolTip
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:156,1
    - Dst: lang::toolTip
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:156,1
    - Dst: lang::addItem
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:157,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:157,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:157,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:157,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:157,1
    - Dst: QDir::entryList
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:158,1
    - Dst: contains
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:163,1
    - Dst: lang::addItem
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:166,1
    - Dst: QLocale::nativeLanguageName
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:166,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:166,1
    - Dst: QLocale::nativeTerritoryName
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:167,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:168,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:168,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:168,1
    - Dst: lang::addItem
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:174,1
    - Dst: QLocale::nativeLanguageName
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:174,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:174,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:174,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:174,1
    - Dst: unit::setModel
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:177,1
    - Dst: BitcoinUnits::BitcoinUnits
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:177,1
    - Dst: QDataWidgetMapper::QDataWidgetMapper
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:180,1
    - Dst: setSubmitPolicy
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:181,1
    - Dst: setOrientation
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:182,1
    - Dst: GUIUtil::ItemDelegate::ItemDelegate
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:184,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:185,1
    - Dst: setItemDelegate
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:186,1
    - Dst: proxyIp::setCheckValidator
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:189,1
    - Dst: ProxyAddressValidator::ProxyAddressValidator
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:189,1
    - Dst: proxyIpTor::setCheckValidator
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:190,1
    - Dst: ProxyAddressValidator::ProxyAddressValidator
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:190,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:191,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:192,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:193,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:194,1
    - Dst: QSystemTrayIcon::isSystemTrayAvailable
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:196,1
    - Dst: showTrayIcon::setChecked
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:197,1
    - Dst: showTrayIcon::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:198,1
    - Dst: minimizeToTray::setChecked
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:199,1
    - Dst: minimizeToTray::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:200,1
    - Dst: setupFontOptions
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:203,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 65
    argCount: 2
    argNames:
    - parent
    - enableWallet
    argTypes:
    - QWidget*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 206
    functionName: OptionsDialog::OptionsDialog
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 1
    functionsReached:
    - QString
    - QVariant
    - proxyIp::setCheckValidator
    - proxyPort::setValidator
    - BitcoinUnits::BitcoinUnits
    - setItemDelegate
    - setupFontOptions
    - pruneWarning::setVisible
    - QLocale::nativeTerritoryName
    - contains
    - setupUi
    - proxyIp::setEnabled
    - bitcoinAtStartup::setVisible
    - QDir::entryList
    - bitcoinAtStartup::setText
    - bitcoinAtStartup::text
    - lang::toolTip
    - tabWidget::removeTab
    - showTrayIcon::setEnabled
    - minimizeToTray::setEnabled
    - openBitcoinConfButton::setToolTip
    - verticalLayout_Main::removeWidget
    - proxyIpTor::setEnabled
    - externalSignerPath::setEnabled
    - threadsScriptVerif::setMinimum
    - connect
    - externalSignerPath::setToolTip
    - verticalLayout::setStretchFactor
    - pruneWarning::setStyleSheet
    - proxyPortTor::setEnabled
    - setSubmitPolicy
    - showTrayIcon::setChecked
    - minimizeToTray::setChecked
    - externalSignerPath::toolTip
    - ProxyAddressValidator::ProxyAddressValidator
    - lang::setToolTip
    - tr
    - setOrientation
    - GUIUtil::handleCloseWindowShortcut
    - verticalLayout_Main::removeItem
    - QIntValidator::QIntValidator
    - tabWidget::indexOf
    - Ui::OptionsDialog::OptionsDialog
    - openBitcoinConfButton::toolTip
    - QLocale::nativeLanguageName
    - RandomMixin::max
    - thirdPartyTxUrls::setVisible
    - unit::setModel
    - proxyIpTor::setCheckValidator
    - proxyPort::setEnabled
    - bitcoinAtStartup::toolTip
    - pruneSize::setEnabled
    - QDataWidgetMapper::QDataWidgetMapper
    - databaseCache::setRange
    - proxyPortTor::setValidator
    - GUIUtil::ItemDelegate::ItemDelegate
    - lang::addItem
    - bitcoinAtStartup::setToolTip
    - thirdPartyTxUrlsLabel::setVisible
    - threadsScriptVerif::setMaximum
    - QSystemTrayIcon::isSystemTrayAvailable
    - GetNumCores
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: OptionsDialog::~OptionsDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::~OptionsDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - client_model
    argTypes:
    - ClientModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: OptionsDialog::setClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::setClientModel(ClientModel* client_model)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OptionsModel*::isRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:225,1
    - Dst: OptionsDialog::showRestartWarning
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:226,1
    - Dst: pruneSize::setRange
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:230,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:230,1
    - Dst: OptionsModel*::getOverriddenByCommandLine
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:232,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:233,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:234,1
    - Dst: overriddenByCommandLineLabel::setText
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:235,1
    - Dst: OptionsDialog::setModel
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:237,1
    - Dst: OptionsDialog::setMapper
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:238,1
    - Dst: toFirst
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:239,1
    - Dst: OptionsModel*::data
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:241,1
    - Dst: OptionsModel*::index
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:241,1
    - Dst: setFontChoice
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:242,1
    - Dst: OptionsDialog::updateDefaultProxyNets
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:244,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:250,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:251,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:252,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:252,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:253,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:253,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:254,1
    - Dst: OptionsDialog::showRestartWarning
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:254,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:255,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:255,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:257,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:259,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:260,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:261,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:262,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:264,1
    - Dst: qOverload<>
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:264,1
    - Dst: OptionsDialog::showRestartWarning
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:264,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:265,1
    - Dst: OptionsDialog::showRestartWarning
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - _model
    argTypes:
    - OptionsModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 266
    functionName: OptionsDialog::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 1
    functionsReached:
    - pruneSize::setRange
    - connect
    - overriddenByCommandLineLabel::setText
    - qOverload<int>
    - QString::isEmpty
    - OptionsDialog::setModel
    - OptionsModel*::data
    - OptionsModel*::index
    - OptionsDialog::updateDefaultProxyNets
    - tr
    - toFirst
    - OptionsDialog::showRestartWarning
    - setFontChoice
    - OptionsModel*::getOverriddenByCommandLine
    - RandomMixin::max
    - OptionsModel*::isRestartRequired
    - qOverload<>
    - OptionsDialog::setMapper
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::setModel(OptionsModel *_model)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tabWidget::currentWidget
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:273,1
    - Dst: tabWidget::setCurrentWidget
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tab
    argTypes:
    - OptionsDialog::Tab
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: OptionsDialog::setCurrentTab
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - tabWidget::currentWidget
    - tabWidget::setCurrentWidget
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::setCurrentTab(OptionsDialog::Tab tab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:281,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:282,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:283,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:284,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:285,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:288,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:289,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:290,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:291,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:292,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:295,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:296,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:297,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:299,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:300,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:301,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:303,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:304,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:305,1
    - Dst: QSystemTrayIcon::isSystemTrayAvailable
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:309,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:310,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:311,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:313,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:317,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:318,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 320
    functionName: OptionsDialog::setMapper
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 1
    functionsReached:
    - addMapping
    - QSystemTrayIcon::isSystemTrayAvailable
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::setMapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: okButton::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fState
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: OptionsDialog::setOkButtonState
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - okButton::setEnabled
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::setOkButtonState(bool fState)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:333,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:337,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:337,1
    - Dst: dataDir
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:337,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:340,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:340,1
    - Dst: QMessageBox::question
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:342,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:342,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:349,1
    - Dst: close
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 353
    functionName: OptionsDialog::on_resetButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - QString::append
    - QMessageBox::question
    - dataDir
    - close
    - Reset
    - tr
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::on_resetButton_clicked()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMessageBox::setIcon
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:358,1
    - Dst: QMessageBox::setWindowTitle
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:360,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:360,1
    - Dst: QMessageBox::setText
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:363,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:363,1
    - Dst: QMessageBox::addButton
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:366,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:366,1
    - Dst: QMessageBox::addButton
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:367,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:367,1
    - Dst: QPushButton*::setDefault
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:368,1
    - Dst: QMessageBox::exec
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:370,1
    - Dst: QMessageBox::clickedButton
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:372,1
    - Dst: GUIUtil::openBitcoinConf
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:375,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:376,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:376,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 377
    functionName: OptionsDialog::on_openBitcoinConfButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - QPushButton*::setDefault
    - QMessageBox::addButton
    - QMessageBox::setWindowTitle
    - tr
    - GUIUtil::openBitcoinConf
    - QMessageBox::setIcon
    - QMessageBox::exec
    - QMessageBox::clickedButton
    - QMessageBox::setText
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::on_openBitcoinConfButton_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setData
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:381,1
    - Dst: index
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:381,1
    - Dst: moneyFont::itemData
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:381,1
    - Dst: moneyFont::currentIndex
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:381,1
    - Dst: submit
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:383,1
    - Dst: accept
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:384,1
    - Dst: OptionsDialog::updateDefaultProxyNets
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: OptionsDialog::on_okButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - setData
    - submit
    - moneyFont::currentIndex
    - index
    - accept
    - moneyFont::itemData
    - OptionsDialog::updateDefaultProxyNets
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::on_okButton_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reject
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: OptionsDialog::on_cancelButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - reject
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::on_cancelButton_clicked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: minimizeToTray::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:396,1
    - Dst: minimizeToTray::setChecked
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:398,1
    - Dst: minimizeToTray::setEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: OptionsDialog::on_showTrayIcon_stateChanged
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - minimizeToTray::setEnabled
    - minimizeToTray::setChecked
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::on_showTrayIcon_stateChanged(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pruneWarning::setVisible
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:405,1
    - Dst: pruneWarning::isVisible
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: OptionsDialog::togglePruneWarning
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - pruneWarning::isVisible
    - pruneWarning::setVisible
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::togglePruneWarning(bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statusLabel::setStyleSheet
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:410,1
    - Dst: statusLabel::setText
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:414,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:414,1
    - Dst: statusLabel::setText
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:418,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:418,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fPersistent
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 423
    functionName: OptionsDialog::showRestartWarning
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 1
    functionsReached:
    - QTimer::singleShot
    - statusLabel::setStyleSheet
    - statusLabel::setText
    - tr
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::showRestartWarning(bool fPersistent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statusLabel::clear
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:427,1
    - Dst: isRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:428,1
    - Dst: OptionsDialog::showRestartWarning
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: OptionsDialog::clearStatusLabel
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - statusLabel::clear
    - isRestartRequired
    - OptionsDialog::showRestartWarning
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::clearStatusLabel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QValidatedLineEdit*::isValid
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:437,1
    - Dst: proxyPort::isEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:437,1
    - Dst: proxyPort::text
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:437,1
    - Dst: proxyPortTor::isEnabled
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:437,1
    - Dst: proxyPortTor::text
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:437,1
    - Dst: OptionsDialog::setOkButtonState
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:439,1
    - Dst: QValidatedLineEdit*::isValid
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:439,1
    - Dst: OptionsDialog::clearStatusLabel
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:440,1
    - Dst: OptionsDialog::setOkButtonState
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:444,1
    - Dst: statusLabel::setStyleSheet
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:445,1
    - Dst: statusLabel::setText
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:446,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 448
    functionName: OptionsDialog::updateProxyValidationState
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - proxyPortTor::text
    - OptionsDialog::clearStatusLabel
    - QValidatedLineEdit*::isValid
    - tr
    - OptionsDialog::setOkButtonState
    - statusLabel::setStyleSheet
    - statusLabel::setText
    - proxyPort::isEnabled
    - proxyPort::text
    - proxyPortTor::isEnabled
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::updateProxyValidationState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxyIp::text
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:452,1
    - Dst: IsUnixSocketPath
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:453,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:454,1
    - Dst: std::optional::value_or
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:455,1
    - Dst: proxyPort::text
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:455,1
    - Dst: CService::ToStringAddrPort
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:456,1
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:459,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:462,1
    - Dst: proxyReachIPv4::setChecked
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:463,1
    - Dst: Proxy::ToString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:463,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:465,1
    - Dst: proxyReachIPv6::setChecked
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:466,1
    - Dst: Proxy::ToString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:466,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:468,1
    - Dst: proxyReachTor::setChecked
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:469,1
    - Dst: Proxy::ToString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 450
    functionDepth: 4
    functionLinenumber: 450
    functionLinenumberEnd: 470
    functionName: OptionsDialog::updateDefaultProxyNets
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 2
    functionsReached:
    - std::optional::value_or
    - node
    - LookupHost
    - proxyReachIPv4::setChecked
    - proxyReachTor::setChecked
    - IsUnixSocketPath
    - proxyIp::text
    - CService::ToStringAddrPort
    - Proxy::ToString
    - Proxy::Proxy
    - proxyReachIPv6::setChecked
    - proxyPort::text
    linkageType: ''
    returnType: void
    signature: void OptionsDialog::updateDefaultProxyNets()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: ProxyAddressValidator::ProxyAddressValidator
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyAddressValidator::ProxyAddressValidator(QObject *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:479,1
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:482,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:482,1
    - Dst: LookupNumeric
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:484,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:484,1
    - Dst: Proxy
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:485,1
    - Dst: Proxy::IsValid
      Src: /src/bitcoin-core/src/qt/optionsdialog.cpp:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - input
    - pos
    argTypes:
    - QString
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 477
    functionDepth: 5
    functionLinenumber: 477
    functionLinenumberEnd: 490
    functionName: ProxyAddressValidator::validate
    functionSourceFile: /src/bitcoin-core/src/qt/optionsdialog.cpp
    functionUses: 0
    functionsReached:
    - LookupNumeric
    - Proxy
    - SplitHostPort
    - QString::toStdString
    - Q_UNUSED
    - Proxy::IsValid
    linkageType: ''
    returnType: QValidator::State
    signature: QValidator::State ProxyAddressValidator::validate(QString &input, int
      &pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: TransactionFilterProxy::TransactionFilterProxy
    functionSourceFile: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionFilterProxy::TransactionFilterProxy(QObject* parent)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sourceModel
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:23,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:25,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:29,1
    - Dst: TransactionFilterProxy::TYPE
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:30,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:33,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:37,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:38,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:39,1
    - Dst: QString::contains
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:40,1
    - Dst: QString::contains
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:41,1
    - Dst: QString::contains
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:42,1
    - Dst: llabs
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:46,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:46,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - sourceRow
    - sourceParent
    argTypes:
    - int
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 51
    functionName: TransactionFilterProxy::filterAcceptsRow
    functionSourceFile: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp
    functionUses: 0
    functionsReached:
    - sourceModel
    - llabs
    - TransactionFilterProxy::TYPE
    - QString::contains
    - QModelIndex::data
    linkageType: ''
    returnType: bool
    signature: bool TransactionFilterProxy::filterAcceptsRow(int sourceRow, const
      QModelIndex &sourceParent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateFilter
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::optional<QDateTime>
    - std::optional<QDateTime>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: TransactionFilterProxy::setDateRange
    functionSourceFile: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp
    functionUses: 0
    functionsReached:
    - invalidateFilter
    linkageType: ''
    returnType: void
    signature: void TransactionFilterProxy::setDateRange(const std::optional<QDateTime>&
      from, const std::optional<QDateTime>& to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invalidateFilter
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - search_string
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: TransactionFilterProxy::setSearchString
    functionSourceFile: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp
    functionUses: 0
    functionsReached:
    - invalidateFilter
    linkageType: ''
    returnType: void
    signature: void TransactionFilterProxy::setSearchString(const QString &search_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateFilter
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - modes
    argTypes:
    - quint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TransactionFilterProxy::setTypeFilter
    functionSourceFile: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp
    functionUses: 0
    functionsReached:
    - invalidateFilter
    linkageType: ''
    returnType: void
    signature: void TransactionFilterProxy::setTypeFilter(quint32 modes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateFilter
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' minimum'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: TransactionFilterProxy::setMinAmount
    functionSourceFile: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp
    functionUses: 0
    functionsReached:
    - invalidateFilter
    linkageType: ''
    returnType: void
    signature: void TransactionFilterProxy::setMinAmount(const CAmount& minimum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateFilter
      Src: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _showInactive
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: TransactionFilterProxy::setShowInactive
    functionSourceFile: /src/bitcoin-core/src/qt/transactionfilterproxy.cpp
    functionUses: 0
    functionsReached:
    - invalidateFilter
    linkageType: ''
    returnType: void
    signature: void TransactionFilterProxy::setShowInactive(bool _showInactive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 84
    functionName: QDialog
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QDialog
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: getReturnValue
    functionSourceFile: /src/bitcoin-core/src/qt/addressbookpage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getReturnValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ui::TransactionDescDialog::TransactionDescDialog
      Src: /src/bitcoin-core/src/qt/transactiondescdialog.cpp:15,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/transactiondescdialog.cpp:17,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/transactiondescdialog.cpp:18,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondescdialog.cpp:18,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactiondescdialog.cpp:18,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactiondescdialog.cpp:19,1
    - Dst: detailText::setHtml
      Src: /src/bitcoin-core/src/qt/transactiondescdialog.cpp:20,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/transactiondescdialog.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - idx
    - parent
    argTypes:
    - QModelIndex
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: TransactionDescDialog::TransactionDescDialog
    functionSourceFile: /src/bitcoin-core/src/qt/transactiondescdialog.cpp
    functionUses: 1
    functionsReached:
    - GUIUtil::handleCloseWindowShortcut
    - detailText::setHtml
    - Ui::TransactionDescDialog::TransactionDescDialog
    - tr
    - setWindowTitle
    - setupUi
    - QModelIndex::data
    linkageType: ''
    returnType: void
    signature: void TransactionDescDialog::TransactionDescDialog(const QModelIndex
      &idx, QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: TransactionDescDialog::~TransactionDescDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/transactiondescdialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionDescDialog::~TransactionDescDialog()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QGuiApplication*>
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:39,1
    - Dst: QCoreApplication::instance
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:39,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:43,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:43,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:43,1
    - Dst: QString::fromUtf8
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:44,1
    - Dst: CopyrightHolders
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:44,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:44,1
    - Dst: NetworkStyle*::getTitleAddText
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:45,1
    - Dst: QApplication::font
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:47,1
    - Dst: QPixmap
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:51,1
    - Dst: setDevicePixelRatio
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:54,1
    - Dst: QPainter::setPen
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:57,1
    - Dst: QColor
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:57,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:60,1
    - Dst: QSize::width
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:60,1
    - Dst: QRadialGradient::setColorAt
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:61,1
    - Dst: QRadialGradient::setColorAt
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:62,1
    - Dst: QColor
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:62,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:63,1
    - Dst: QPainter::fillRect
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:64,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:67,1
    - Dst: QSize
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:67,1
    - Dst: NetworkStyle*::getAppIcon
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:70,1
    - Dst: QPainter::drawPixmap
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:72,1
    - Dst: QPainter::setFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:75,1
    - Dst: QFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:75,1
    - Dst: QPainter::fontMetrics
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:76,1
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:77,1
    - Dst: QPainter::setFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:82,1
    - Dst: QFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:82,1
    - Dst: QPainter::fontMetrics
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:83,1
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:84,1
    - Dst: QPainter::drawText
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:85,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:85,1
    - Dst: QPainter::setFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:87,1
    - Dst: QFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:87,1
    - Dst: QPainter::fontMetrics
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:90,1
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:91,1
    - Dst: QPainter::setFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:93,1
    - Dst: QFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:93,1
    - Dst: QPainter::drawText
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:96,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:96,1
    - Dst: QPainter::setFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:100,1
    - Dst: QFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:100,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:101,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:103,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:103,1
    - Dst: QPainter::drawText
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:104,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:108,1
    - Dst: QFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:109,1
    - Dst: QFont::setWeight
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:110,1
    - Dst: QPainter::setFont
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:111,1
    - Dst: QPainter::fontMetrics
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:112,1
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:113,1
    - Dst: QPainter::drawText
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:114,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:114,1
    - Dst: QPainter::end
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:117,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:120,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:123,1
    - Dst: QSize
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:123,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:123,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:123,1
    - Dst: resize
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:124,1
    - Dst: QRect::size
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:124,1
    - Dst: setFixedSize
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:125,1
    - Dst: QRect::size
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:125,1
    - Dst: move
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:126,1
    - Dst: QGuiApplication::primaryScreen
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:126,1
    - Dst: QRect::center
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:126,1
    - Dst: installEventFilter
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:128,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - networkStyle
    argTypes:
    - NetworkStyle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 131
    functionName: SplashScreen::SplashScreen
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 0
    functionsReached:
    - QString
    - move
    - setFixedSize
    - QPainter::end
    - FormatFullVersion
    - QPainter::setPen
    - QColor
    - QSize
    - resize
    - isEmpty
    - GUIUtil::TextWidth
    - NetworkStyle*::getAppIcon
    - installEventFilter
    - QFont
    - QFont::setWeight
    - QPainter::fillRect
    - QPainter::drawPixmap
    - QRect::size
    - QPainter::fontMetrics
    - QString::fromStdString
    - static_cast<QGuiApplication*>
    - QCoreApplication::instance
    - QPixmap
    - GUIUtil::handleCloseWindowShortcut
    - QString::fromUtf8
    - QPoint
    - setWindowTitle
    - setDevicePixelRatio
    - strprintf
    - QApplication::font
    - QRect::center
    - QGuiApplication::primaryScreen
    - width
    - QSize::width
    - QPainter::drawText
    - size
    - QRadialGradient::setColorAt
    - CopyrightHolders
    - QPainter::setFont
    - NetworkStyle*::getTitleAddText
    - height
    linkageType: ''
    returnType: void
    signature: void SplashScreen::SplashScreen(const NetworkStyle* networkStyle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SplashScreen::unsubscribeFromCoreSignals
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: SplashScreen::~SplashScreen()
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 0
    functionsReached:
    - SplashScreen::unsubscribeFromCoreSignals
    linkageType: ''
    returnType: void
    signature: void SplashScreen::~SplashScreen()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:140,1
    - Dst: SplashScreen::subscribeToCoreSignals
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:142,1
    - Dst: startShutdown
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts:
    - condition: (!m_node)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bitcoin-core/src/qt/splashscreen.cpp
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: SplashScreen::setNode
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 0
    functionsReached:
    - SplashScreen::subscribeToCoreSignals
    - assert
    - startShutdown
    linkageType: ''
    returnType: void
    signature: void SplashScreen::setNode(interfaces::Node& node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: startShutdown
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: SplashScreen::shutdown
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 0
    functionsReached:
    - startShutdown
    linkageType: ''
    returnType: void
    signature: void SplashScreen::shutdown()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:153,1
    - Dst: static_cast<QKeyEvent *>
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:154,1
    - Dst: QKeyEvent*::key
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:155,1
    - Dst: SplashScreen::shutdown
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:156,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - ev
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: SplashScreen::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 0
    functionsReached:
    - SplashScreen::shutdown
    - static_cast<QKeyEvent *>
    - QEvent*::type
    - QKeyEvent*::key
    - AskPassphraseDialog::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool SplashScreen::eventFilter(QObject * obj, QEvent * ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:164,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:166,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:166,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:167,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:168,1
    - Dst: QColor
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:168,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - splash
    - message
    argTypes:
    - SplashScreen*
    - std::string
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/bitcoin-core/src/qt/splashscreen.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: InitMessage
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 4
    functionsReached:
    - Q_ARG
    - QString::fromStdString
    - QColor
    - QMetaObject::invokeMethod
    - assert
    linkageType: ''
    returnType: void
    signature: void InitMessage(SplashScreen *splash, const std::string &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:174,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:174,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:175,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:176,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - splash
    - title
    - nProgress
    - resume_possible
    argTypes:
    - SplashScreen*
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: ShowProgress
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 0
    functionsReached:
    - SighashToStr
    - InitMessage
    - strprintf
    - std::string
    linkageType: ''
    returnType: void
    signature: void ShowProgress(SplashScreen *splash, const std::string &title, int
      nProgress, bool resume_possible)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleInitMessage
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:183,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:183,1
    - Dst: handleShowProgress
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:184,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:184,1
    - Dst: handleInitWallet
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:185,1
    - Dst: SplashScreen::handleLoadWallet
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: SplashScreen::subscribeToCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 1
    functionsReached:
    - handleInitWallet
    - std::bind
    - handleInitMessage
    - SplashScreen::handleLoadWallet
    - handleShowProgress
    linkageType: ''
    returnType: void
    signature: void SplashScreen::subscribeToCoreSignals()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel::isWalletEnabled
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:191,1
    - Dst: walletLoader
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:192,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:193,1
    - Dst: handleShowProgress
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:193,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:193,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:194,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: SplashScreen::handleLoadWallet
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 1
    functionsReached:
    - walletLoader
    - std::bind
    - WalletModel::isWalletEnabled
    - std::move
    - emplace_back
    - handleShowProgress
    linkageType: ''
    returnType: void
    signature: void SplashScreen::handleLoadWallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:202,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:203,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:205,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:207,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: SplashScreen::unsubscribeFromCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 1
    functionsReached:
    - disconnect
    - clear
    linkageType: ''
    returnType: void
    signature: void SplashScreen::unsubscribeFromCoreSignals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - message
    - alignment
    - color
    argTypes:
    - QString
    - int
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: SplashScreen::showMessage
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SplashScreen::showMessage(const QString &message, int alignment,
      const QColor &color)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QPainter::drawPixmap
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:222,1
    - Dst: rect
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:223,1
    - Dst: QPainter::setPen
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:224,1
    - Dst: QPainter::drawText
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - QPaintEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: SplashScreen::paintEvent
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 0
    functionsReached:
    - QPainter::drawText
    - QPainter::setPen
    - QPainter::drawPixmap
    - rect
    linkageType: ''
    returnType: void
    signature: void SplashScreen::paintEvent(QPaintEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplashScreen::shutdown
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:230,1
    - Dst: QCloseEvent*::ignore
      Src: /src/bitcoin-core/src/qt/splashscreen.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QCloseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: SplashScreen::closeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/splashscreen.cpp
    functionUses: 0
    functionsReached:
    - QCloseEvent*::ignore
    - SplashScreen::shutdown
    linkageType: ''
    returnType: void
    signature: void SplashScreen::closeEvent(QCloseEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' _filename'
    - parent
    argTypes:
    - QString
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: CSVModelWriter::CSVModelWriter
    functionSourceFile: /src/bitcoin-core/src/qt/csvmodelwriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSVModelWriter::CSVModelWriter(const QString& _filename, QObject*
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _model
    argTypes:
    - QAbstractItemModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: CSVModelWriter::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/csvmodelwriter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSVModelWriter::setModel(const QAbstractItemModel *_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - title
    - column
    - role
    argTypes:
    - QString
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: CSVModelWriter::addColumn
    functionSourceFile: /src/bitcoin-core/src/qt/csvmodelwriter.cpp
    functionUses: 1
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void CSVModelWriter::addColumn(const QString &title, int column, int
      role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - value
    argTypes:
    - QTextStream
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: writeValue
    functionSourceFile: /src/bitcoin-core/src/qt/csvmodelwriter.cpp
    functionUses: 0
    functionsReached:
    - QString::replace
    linkageType: ''
    returnType: void
    signature: void writeValue(QTextStream &f, const QString &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - QTextStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: writeSep
    functionSourceFile: /src/bitcoin-core/src/qt/csvmodelwriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writeSep(QTextStream &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - QTextStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: writeNewline
    functionSourceFile: /src/bitcoin-core/src/qt/csvmodelwriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writeNewline(QTextStream &f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QFile::open
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:52,1
    - Dst: rowCount
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:59,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:63,1
    - Dst: writeSep
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:67,1
    - Dst: writeValue
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:69,1
    - Dst: writeNewline
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:71,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:76,1
    - Dst: writeSep
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:80,1
    - Dst: index
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:82,1
    - Dst: writeValue
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:83,1
    - Dst: QVariant::toString
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:83,1
    - Dst: writeNewline
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:85,1
    - Dst: QFile::close
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:88,1
    - Dst: QFile::error
      Src: /src/bitcoin-core/src/qt/csvmodelwriter.cpp:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 91
    functionName: CSVModelWriter::write
    functionSourceFile: /src/bitcoin-core/src/qt/csvmodelwriter.cpp
    functionUses: 1
    functionsReached:
    - QFile::error
    - QVariant::toString
    - QFile::close
    - QFile::open
    - index
    - writeSep
    - size
    - rowCount
    - writeValue
    - writeNewline
    linkageType: ''
    returnType: bool
    signature: bool CSVModelWriter::write()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: SendCoinsRecipient::SendCoinsRecipient
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsrecipient.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendCoinsRecipient()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - addr
    - _label
    - ' _amount'
    - _message
    argTypes:
    - QString
    - QString
    - CAmount
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: SendCoinsRecipient::SendCoinsRecipient
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsrecipient.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendCoinsRecipient(const QString &addr, const QString &_label,
      const CAmount& _amount, const QString &_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SER_WRITE
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:47,1
    - Dst: address::toStdString
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:47,1
    - Dst: SER_WRITE
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:48,1
    - Dst: label::toStdString
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:48,1
    - Dst: SER_WRITE
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:49,1
    - Dst: message::toStdString
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:49,1
    - Dst: SER_WRITE
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:50,1
    - Dst: authenticatedMerchant::toStdString
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:50,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:52,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:54,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:54,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:55,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:55,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:56,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:56,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:57,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/sendcoinsrecipient.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: SendCoinsRecipient::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsrecipient.h
    functionUses: 0
    functionsReached:
    - READWRITE
    - authenticatedMerchant::toStdString
    - SER_READ
    - message::toStdString
    - SER_WRITE
    - address::toStdString
    - label::toStdString
    - QString::fromStdString
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(SendCoinsRecipient, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - intro
    argTypes:
    - PathQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: FreespaceChecker
    functionSourceFile: /src/bitcoin-core/src/qt/freespacechecker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreespaceChecker(PathQuery* intro)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: CoinControlTreeWidget::CoinControlTreeWidget
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinControlTreeWidget::CoinControlTreeWidget(QWidget *parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:16,1
    - Dst: QKeyEvent*::ignore
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:18,1
    - Dst: CoinControlTreeWidget::currentItem
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:19,1
    - Dst: CoinControlTreeWidget::currentItem
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:21,1
    - Dst: CoinControlTreeWidget::currentItem
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:21,1
    - Dst: QKeyEvent*::key
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:24,1
    - Dst: QKeyEvent*::ignore
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:26,1
    - Dst: static_cast<CoinControlDialog*>
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:27,1
    - Dst: CoinControlTreeWidget::parentWidget
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:27,1
    - Dst: CoinControlDialog*::done
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:28,1
    - Dst: CoinControlTreeWidget::QTreeWidget::keyPressEvent
      Src: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 34
    functionName: CoinControlTreeWidget::keyPressEvent
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroltreewidget.cpp
    functionUses: 0
    functionsReached:
    - CoinControlTreeWidget::currentItem
    - CoinControlDialog*::done
    - QKeyEvent*::ignore
    - CoinControlTreeWidget::parentWidget
    - static_cast<CoinControlDialog*>
    - CoinControlTreeWidget::QTreeWidget::keyPressEvent
    - QKeyEvent*::key
    linkageType: ''
    returnType: void
    signature: void CoinControlTreeWidget::keyPressEvent(QKeyEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: QDialog
    functionSourceFile: /src/bitcoin-core/src/qt/transactiondescdialog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QDialog
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:39,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:46,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:51,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:57,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:57,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:65,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' status'
    - inMempool
    argTypes:
    - interfaces::WalletTxStatus
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 72
    functionName: TransactionDesc::FormatTxStatus
    functionSourceFile: /src/bitcoin-core/src/qt/transactiondesc.cpp
    functionUses: 0
    functionsReached:
    - QLatin1String
    - tr
    linkageType: ''
    returnType: QString
    signature: QString TransactionDesc::FormatTxStatus(const interfaces::WalletTxStatus&
      status, bool inMempool)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:79,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:79,1
    - Dst: find
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:79,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:79,1
    - Dst: find
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:84,1
    - Dst: find
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:86,1
    - Dst: QString::fromUtf8
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:93,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ' pr'
    - ' merchant'
    argTypes:
    - std::string
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 100
    functionName: GetPaymentRequestMerchant
    functionSourceFile: /src/bitcoin-core/src/qt/transactiondesc.cpp
    functionUses: 0
    functionsReached:
    - data
    - QString::fromUtf8
    - find
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool GetPaymentRequestMerchant(const std::string& pr, QString& merchant)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: getWalletTxDetails
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:108,1
    - Dst: QString::reserve
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:112,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:120,1
    - Dst: TransactionDesc::FormatTxStatus
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:120,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:123,1
    - Dst: GUIUtil::dateTimeStr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:123,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:130,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:130,1
    - Dst: interfaces::WalletTx::value_map::count
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:132,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:132,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:135,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:135,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:143,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:144,1
    - Dst: getAddress
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:147,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:149,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:149,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:150,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:151,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:152,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:153,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:154,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:154,1
    - Dst: interfaces::WalletTx::value_map::count
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:166,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:166,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:170,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:171,1
    - Dst: getAddress
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:173,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:174,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:175,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:176,1
    - Dst: getCredit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:189,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:190,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:192,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:192,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:194,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:202,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:202,1
    - Dst: interfaces::WalletTx::txout_is_mine::begin
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:222,1
    - Dst: interfaces::WalletTx::value_map::count
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:230,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:230,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:234,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:236,1
    - Dst: getAddress
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:238,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:239,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:240,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:241,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:241,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:243,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:248,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:248,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:250,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:250,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:258,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:258,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:259,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:259,1
    - Dst: interfaces::WalletTx::tx::GetValueOut
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:262,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:264,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:264,1
    - Dst: interfaces::WalletTx::txin_is_mine::begin
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:271,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:274,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:274,1
    - Dst: getDebit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:274,1
    - Dst: interfaces::WalletTx::txout_is_mine::begin
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:277,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:280,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:280,1
    - Dst: getCredit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:280,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:286,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:286,1
    - Dst: interfaces::WalletTx::value_map::count
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:291,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:291,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:292,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:292,1
    - Dst: interfaces::WalletTx::value_map::count
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:293,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:293,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:294,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:294,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:296,1
    - Dst: TransactionRecord*::getTxHash
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:296,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:297,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:297,1
    - Dst: interfaces::WalletTx::tx::GetTotalSize
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:297,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:298,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:298,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:298,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:299,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:299,1
    - Dst: TransactionRecord*::getOutputIndex
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:299,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:304,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:304,1
    - Dst: GetPaymentRequestMerchant
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:312,1
    - Dst: QString::clear
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:313,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:315,1
    - Dst: QString::isNull
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:317,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:318,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:318,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:326,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:326,1
    - Dst: getLogCategories
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:332,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:334,1
    - Dst: txinIsMine
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:336,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:337,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:337,1
    - Dst: getDebit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:337,1
    - Dst: txoutIsMine
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:339,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:340,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:340,1
    - Dst: getCredit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:340,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:342,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:343,1
    - Dst: interfaces::WalletTx::tx::ToString
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:343,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:345,1
    - Dst: getUnspentOutput
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:352,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:357,1
    - Dst: getAddress
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:360,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:360,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:361,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:362,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:362,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:364,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:364,1
    - Dst: txoutIsMine
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:365,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:365,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactiondesc.cpp:365,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 136
    argCount: 4
    argNames:
    - ' node'
    - ' wallet'
    - rec
    - unit
    argTypes:
    - interfaces::Node
    - interfaces::Wallet
    - TransactionRecord*
    - BitcoinUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 375
    functionName: TransactionDesc::toHTML
    functionSourceFile: /src/bitcoin-core/src/qt/transactiondesc.cpp
    functionUses: 1
    functionsReached:
    - IsValidDestination
    - EncodeDestination
    - DecodeDestination
    - GUIUtil::HtmlEscape
    - std::string::empty
    - txoutIsMine
    - getDebit
    - BitcoinUnits::formatHtmlWithUnit
    - GetVirtualTransactionSize
    - getUnspentOutput
    - print_number
    - interfaces::WalletTx::tx::GetTotalSize
    - GUIUtil::dateTimeStr
    - txinIsMine
    - QString::fromStdString
    - interfaces::WalletTx::txin_is_mine::begin
    - empty
    - QString::isNull
    - GetPaymentRequestMerchant
    - tr
    - interfaces::WalletTx::value_map::count
    - TransactionDesc::FormatTxStatus
    - getAddress
    - QString::clear
    - interfaces::WalletTx::tx::GetValueOut
    - TransactionRecord*::getOutputIndex
    - QString::reserve
    - TransactionRecord*::getTxHash
    - ExtractDestination
    - interfaces::WalletTx::txout_is_mine::begin
    - getCredit
    - getLogCategories
    - getWalletTxDetails
    - interfaces::WalletTx::tx::ToString
    linkageType: ''
    returnType: QString
    signature: QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet&
      wallet, TransactionRecord* rec, BitcoinUnit unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 100
    functionName: QFrame
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QFrame
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: sizeHint
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: QSize
    signature: QSize sizeHint() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QTimer::QTimer
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:22,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:23,1
    - Dst: setInterval
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:24,1
    - Dst: PeerTableModel::refresh
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - parent
    argTypes:
    - interfaces::Node
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: PeerTableModel::PeerTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached:
    - connect
    - PeerTableModel::refresh
    - QTimer::QTimer
    - setInterval
    linkageType: ''
    returnType: void
    signature: void PeerTableModel::PeerTableModel(interfaces::Node& node, QObject*
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: PeerTableModel::~PeerTableModel()
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PeerTableModel::~PeerTableModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: PeerTableModel::startAutoRefresh
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void PeerTableModel::startAutoRefresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: PeerTableModel::stopAutoRefresh
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void PeerTableModel::stopAutoRefresh()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:44,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' parent'
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: PeerTableModel::rowCount
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - size
    linkageType: ''
    returnType: int
    signature: int PeerTableModel::rowCount(const QModelIndex& parent) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:52,1
    - Dst: length
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' parent'
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: PeerTableModel::columnCount
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - length
    linkageType: ''
    returnType: int
    signature: int PeerTableModel::columnCount(const QModelIndex& parent) const
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:60,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:61,1
    - Dst: static_cast<CNodeCombinedStats*>
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:63,1
    - Dst: internalPointer
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:63,1
    - Dst: static_cast<ColumnIndex>
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:65,1
    - Dst: column
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:65,1
    - Dst: GUIUtil::FormatPeerAge
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:71,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:73,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:75,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:77,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:79,1
    - Dst: GUIUtil::ConnectionTypeToQString
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:81,1
    - Dst: GUIUtil::NetworkToQString
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:83,1
    - Dst: GUIUtil::formatPingTime
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:85,1
    - Dst: GUIUtil::formatBytes
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:87,1
    - Dst: GUIUtil::formatBytes
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:89,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:91,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:93,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:98,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:104,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:108,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:112,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:114,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 2
    argNames:
    - ' index'
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/bitcoin-core/src/qt/peertablemodel.cpp
    - condition: (false)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bitcoin-core/src/qt/peertablemodel.cpp
    constantsTouched: []
    func_position:
      end: 118
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 118
    functionName: PeerTableModel::data
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CNodeCombinedStats*>
    - QVariant
    - QString
    - GUIUtil::formatBytes
    - GUIUtil::formatPingTime
    - QVariant::fromValue
    - internalPointer
    - tr
    - GUIUtil::FormatPeerAge
    - column
    - QString::fromStdString
    - static_cast<ColumnIndex>
    - GUIUtil::ConnectionTypeToQString
    - assert
    - isValid
    - GUIUtil::NetworkToQString
    linkageType: ''
    returnType: QVariant
    signature: QVariant PeerTableModel::data(const QModelIndex& index, int role) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:124,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - section
    - orientation
    - role
    argTypes:
    - int
    - Qt::Orientation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: PeerTableModel::headerData
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - size
    linkageType: ''
    returnType: QVariant
    signature: QVariant PeerTableModel::headerData(int section, Qt::Orientation orientation,
      int role) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: PeerTableModel::flags
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags PeerTableModel::flags(const QModelIndex &index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:142,1
    - Dst: PeerTableModel::rowCount
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:144,1
    - Dst: PeerTableModel::columnCount
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:144,1
    - Dst: createIndex
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:145,1
    - Dst: const_cast<CNodeCombinedStats*>
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:145,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - row
    - column
    - ' parent'
    argTypes:
    - int
    - int
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: PeerTableModel::index
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 0
    functionsReached:
    - PeerTableModel::columnCount
    - const_cast<CNodeCombinedStats*>
    - Q_UNUSED
    - PeerTableModel::rowCount
    - QModelIndex
    - createIndex
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex PeerTableModel::index(int row, int column, const QModelIndex&
      parent) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNodesStats
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:154,1
    - Dst: decltype(m_peers_data)::reserve
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:156,1
    - Dst: interfaces::Node::NodesStats::size
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:156,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:158,1
    - Dst: std::get<2>
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:158,1
    - Dst: std::get<1>
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:158,1
    - Dst: decltype(m_peers_data)::append
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:159,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:167,1
    - Dst: decltype(m_peers_data)::size
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:168,1
    - Dst: at
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:168,1
    - Dst: decltype(m_peers_data)::at
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:168,1
    - Dst: beginRemoveRows
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:173,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:173,1
    - Dst: erase
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:174,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:174,1
    - Dst: endRemoveRows
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:175,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:178,1
    - Dst: decltype(m_peers_data)::size
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:178,1
    - Dst: beginInsertRows
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:180,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:180,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:180,1
    - Dst: decltype(m_peers_data)::size
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:180,1
    - Dst: swap
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:181,1
    - Dst: endInsertRows
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:182,1
    - Dst: swap
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:184,1
    - Dst: PeerTableModel::index
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:187,1
    - Dst: PeerTableModel::index
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:188,1
    - Dst: PeerTableModel::rowCount
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:188,1
    - Dst: PeerTableModel::columnCount
      Src: /src/bitcoin-core/src/qt/peertablemodel.cpp:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 190
    functionName: PeerTableModel::refresh
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.cpp
    functionUses: 1
    functionsReached:
    - at
    - swap
    - beginRemoveRows
    - endInsertRows
    - endRemoveRows
    - interfaces::Node::NodesStats::size
    - decltype(m_peers_data)::at
    - PeerTableModel::rowCount
    - decltype(m_peers_data)::append
    - std::get<1>
    - PeerTableModel::index
    - PeerTableModel::columnCount
    - decltype(m_peers_data)::size
    - decltype(m_peers_data)::reserve
    - QModelIndex
    - beginInsertRows
    - erase
    - std::get<2>
    - getNodesStats
    - size
    - std::get<0>
    - begin
    linkageType: ''
    returnType: void
    signature: void PeerTableModel::refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: namespace
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: BitcoinGUI::hasTrayIcon
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasTrayIcon() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: BitcoinGUI::showNormalIfMinimized
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.h
    functionUses: 1
    functionsReached:
    - BitcoinGUI::showNormalIfMinimized
    linkageType: ''
    returnType: void
    signature: void showNormalIfMinimized()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: QListView
    functionSourceFile: /src/bitcoin-core/src/qt/transactionoverviewwidget.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QListView
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ui::ModalOverlay::ModalOverlay
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:19,1
    - Dst: QDateTime
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:20,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:22,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:23,1
    - Dst: QWidget*::installEventFilter
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:25,1
    - Dst: raise
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:26,1
    - Dst: closeButton::installEventFilter
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:28,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:30,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:31,1
    - Dst: infoText::setVisible
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:33,1
    - Dst: infoTextStrong::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:34,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:34,1
    - Dst: setTargetObject
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:37,1
    - Dst: setPropertyName
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:38,1
    - Dst: setDuration
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:39,1
    - Dst: setEasingCurve
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - enable_wallet
    - parent
    argTypes:
    - bool
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 41
    functionName: ModalOverlay::ModalOverlay
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 1
    functionsReached:
    - connect
    - closeButton::installEventFilter
    - setVisible
    - infoTextStrong::setText
    - tr
    - QDateTime
    - setEasingCurve
    - setTargetObject
    - clear
    - Ui::ModalOverlay::ModalOverlay
    - raise
    - setupUi
    - infoText::setVisible
    - setPropertyName
    - setDuration
    - QWidget*::installEventFilter
    linkageType: ''
    returnType: void
    signature: void ModalOverlay::ModalOverlay(bool enable_wallet, QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ModalOverlay::~ModalOverlay()
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModalOverlay::~ModalOverlay()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parent
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:49,1
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:50,1
    - Dst: static_cast<QResizeEvent*>
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:51,1
    - Dst: resize
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:52,1
    - Dst: QResizeEvent*::size
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:52,1
    - Dst: setGeometry
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:54,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:54,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:54,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:54,1
    - Dst: endValue
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:56,1
    - Dst: setEndValue
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:57,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:57,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:57,1
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:60,1
    - Dst: raise
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:61,1
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:65,1
    - Dst: closeButton::setFocus
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:66,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - obj
    - ev
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: ModalOverlay::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 0
    functionsReached:
    - width
    - setGeometry
    - endValue
    - closeButton::setFocus
    - QPoint
    - static_cast<QResizeEvent*>
    - setEndValue
    - parent
    - QEvent*::type
    - raise
    - QResizeEvent*::size
    - resize
    - AskPassphraseDialog::eventFilter
    - height
    linkageType: ''
    returnType: bool
    signature: bool ModalOverlay::eventFilter(QObject * obj, QEvent * ev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:74,1
    - Dst: parent
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:75,1
    - Dst: parent
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:75,1
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:77,1
    - Dst: parent
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:78,1
    - Dst: parent
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:79,1
    - Dst: raise
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:80,1
    - Dst: AskPassphraseDialog::event
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ev
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: ModalOverlay::event
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 0
    functionsReached:
    - parent
    - AskPassphraseDialog::event
    - QEvent*::type
    - raise
    linkageType: ''
    returnType: bool
    signature: bool ModalOverlay::event(QEvent* ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ModalOverlay::UpdateHeaderSyncLabel
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:91,1
    - Dst: ModalOverlay::UpdateHeaderPresyncLabel
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - count
    - ' blockDate'
    - presync
    argTypes:
    - int
    - QDateTime
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: ModalOverlay::setKnownBestHeight
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 0
    functionsReached:
    - ModalOverlay::UpdateHeaderPresyncLabel
    - ModalOverlay::UpdateHeaderSyncLabel
    linkageType: ''
    returnType: void
    signature: void ModalOverlay::setKnownBestHeight(int count, const QDateTime& blockDate,
      bool presync)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QDateTime::currentDateTime
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:100,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:103,1
    - Dst: qMakePair
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:103,1
    - Dst: QDateTime::toMSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:103,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:106,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:112,1
    - Dst: QDateTime::toMSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:116,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:116,1
    - Dst: progressIncreasePerH::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:125,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:125,1
    - Dst: expectedTimeLeft::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:129,1
    - Dst: GUIUtil::formatNiceTimeOffset
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:129,1
    - Dst: expectedTimeLeft::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:131,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:131,1
    - Dst: count
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:135,1
    - Dst: remove
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:136,1
    - Dst: count
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:136,1
    - Dst: newestBlockDate::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:141,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:141,1
    - Dst: percentageProgress::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:144,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:144,1
    - Dst: isValid
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:146,1
    - Dst: secsTo
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:152,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:152,1
    - Dst: numberOfBlocksLeft::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:157,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:157,1
    - Dst: ModalOverlay::UpdateHeaderSyncLabel
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:159,1
    - Dst: expectedTimeLeft::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:160,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - count
    - ' blockDate'
    - nVerificationProgress
    argTypes:
    - int
    - QDateTime
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 162
    functionName: ModalOverlay::tipUpdate
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 0
    functionsReached:
    - progressIncreasePerH::setText
    - secsTo
    - remove
    - isValid
    - qMakePair
    - print_number
    - SighashToStr
    - push_front
    - numberOfBlocksLeft::setText
    - QDateTime::currentDateTime
    - toString
    - newestBlockDate::setText
    - tr
    - Params
    - percentageProgress::setText
    - count
    - GUIUtil::formatNiceTimeOffset
    - size
    - expectedTimeLeft::setText
    - ModalOverlay::UpdateHeaderSyncLabel
    - QDateTime::toMSecsSinceEpoch
    linkageType: ''
    returnType: void
    signature: void ModalOverlay::tipUpdate(int count, const QDateTime& blockDate,
      double nVerificationProgress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secsTo
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:165,1
    - Dst: QDateTime::currentDateTime
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:165,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:165,1
    - Dst: numberOfBlocksLeft::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:166,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:166,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: ModalOverlay::UpdateHeaderSyncLabel
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 2
    functionsReached:
    - secsTo
    - print_number
    - numberOfBlocksLeft::setText
    - tr
    - Params
    - QDateTime::currentDateTime
    linkageType: ''
    returnType: void
    signature: void ModalOverlay::UpdateHeaderSyncLabel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secsTo
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:170,1
    - Dst: QDateTime::currentDateTime
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:170,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:170,1
    - Dst: numberOfBlocksLeft::setText
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:171,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:171,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - height
    - ' blockDate'
    argTypes:
    - int
    - QDateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: ModalOverlay::UpdateHeaderPresyncLabel
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 1
    functionsReached:
    - secsTo
    - print_number
    - numberOfBlocksLeft::setText
    - tr
    - Params
    - QDateTime::currentDateTime
    linkageType: ''
    returnType: void
    signature: void ModalOverlay::UpdateHeaderPresyncLabel(int height, const QDateTime&
      blockDate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ModalOverlay::showHide
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: ModalOverlay::toggleVisibility
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 0
    functionsReached:
    - ModalOverlay::showHide
    linkageType: ''
    returnType: void
    signature: void ModalOverlay::toggleVisibility()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:188,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:189,1
    - Dst: setStartValue
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:191,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:191,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:191,1
    - Dst: setEndValue
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:193,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:193,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:193,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:194,1
    - Dst: closeButton::setFocus
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - hide
    - userRequested
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 200
    functionName: ModalOverlay::showHide
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 1
    functionsReached:
    - setVisible
    - closeButton::setFocus
    - QPoint
    - setEndValue
    - setStartValue
    - start
    - isVisible
    - height
    linkageType: ''
    returnType: void
    signature: void ModalOverlay::showHide(bool hide, bool userRequested)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModalOverlay::showHide
      Src: /src/bitcoin-core/src/qt/modaloverlay.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: ModalOverlay::closeClicked
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.cpp
    functionUses: 0
    functionsReached:
    - ModalOverlay::showHide
    linkageType: ''
    returnType: void
    signature: void ModalOverlay::closeClicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~WalletControllerActivity()
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WalletControllerActivity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& node() const'
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interfaces::Node
    signature: interfaces::Node & node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: WalletControllerActivity::worker
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QObject
    signature: QObject * worker() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MigrateWalletActivity
      Src: /src/bitcoin-core/src/qt/walletcontroller.h:188,1
    - Dst: WalletControllerActivity
      Src: /src/bitcoin-core/src/qt/walletcontroller.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: MigrateWalletActivity::public
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.h
    functionUses: 0
    functionsReached:
    - MigrateWalletActivity
    - WalletControllerActivity
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '&getAppName() const'
    functionSourceFile: /src/bitcoin-core/src/qt/networkstyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString &getAppName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '&getAppIcon() const'
    functionSourceFile: /src/bitcoin-core/src/qt/networkstyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QIcon
    signature: QIcon &getAppIcon() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '&getTrayAndWindowIcon() const'
    functionSourceFile: /src/bitcoin-core/src/qt/networkstyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QIcon
    signature: QIcon &getTrayAndWindowIcon() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '&getTitleAddText() const'
    functionSourceFile: /src/bitcoin-core/src/qt/networkstyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString &getTitleAddText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 77
    functionName: QDialog
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QDialog
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _recipients'
    argTypes:
    - QList<SendCoinsRecipient>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: WalletModelTransaction::WalletModelTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletModelTransaction::WalletModelTransaction(const QList<SendCoinsRecipient>&
      _recipients)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: WalletModelTransaction::getRecipients
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QList<SendCoinsRecipient>
    signature: QList<SendCoinsRecipient> WalletModelTransaction::getRecipients() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: '& WalletModelTransaction::getWtx()'
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef & WalletModelTransaction::getWtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newTx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: WalletModelTransaction::setWtx
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletModelTransaction::setWtx(const CTransactionRef& newTx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: WalletModelTransaction::getTransactionSize
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp
    functionUses: 0
    functionsReached:
    - GetVirtualTransactionSize
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int WalletModelTransaction::getTransactionSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: WalletModelTransaction::getTransactionFee
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount WalletModelTransaction::getTransactionFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newFee'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: WalletModelTransaction::setTransactionFee
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletModelTransaction::setTransactionFee(const CAmount& newFee)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp:46,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp:48,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - nChangePosRet
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: WalletModelTransaction::reassignAmounts
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - get
    linkageType: ''
    returnType: void
    signature: void WalletModelTransaction::reassignAmounts(int nChangePosRet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: WalletModelTransaction::getTotalTransactionAmount
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodeltransaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount WalletModelTransaction::getTotalTransactionAmount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::remove
      Src: /src/bitcoin-core/src/qt/bitcoinunits.h:100,1
    - Dst: QString::remove
      Src: /src/bitcoin-core/src/qt/bitcoinunits.h:101,1
    - Dst: QChar
      Src: /src/bitcoin-core/src/qt/bitcoinunits.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - text
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: BitcoinUnits::removeSpaces
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.h
    functionUses: 0
    functionsReached:
    - QString::remove
    - QChar
    linkageType: ''
    returnType: QString
    signature: QString removeSpaces(QString text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: TransactionDesc::TransactionDesc
    functionSourceFile: /src/bitcoin-core/src/qt/transactiondesc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 68
    functionName: QWidget
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QWidget
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:44,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:46,1
    - Dst: WalletModel::getOptionsModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:47,1
    - Dst: QTimer::QTimer
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:48,1
    - Dst: AddressTableModel::AddressTableModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:50,1
    - Dst: TransactionTableModel::TransactionTableModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:51,1
    - Dst: RecentRequestsTableModel::RecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:52,1
    - Dst: WalletModel::subscribeToCoreSignals
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - wallet
    - ' client_model'
    - platformStyle
    - parent
    argTypes:
    - std::unique_ptr<interfaces::Wallet>
    - ClientModel
    - PlatformStyle*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: WalletModel::WalletModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - node
    - std::move
    - WalletModel::getOptionsModel
    - TransactionTableModel::TransactionTableModel
    - WalletModel::subscribeToCoreSignals
    - AddressTableModel::AddressTableModel
    - QTimer::QTimer
    - RecentRequestsTableModel::RecentRequestsTableModel
    linkageType: ''
    returnType: void
    signature: void WalletModel::WalletModel(std::unique_ptr<interfaces::Wallet> wallet,
      ClientModel& client_model, const PlatformStyle *platformStyle, QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel::unsubscribeFromCoreSignals
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: WalletModel::~WalletModel()
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - WalletModel::unsubscribeFromCoreSignals
    linkageType: ''
    returnType: void
    signature: void WalletModel::~WalletModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel::pollBalanceChanged
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:66,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:71,1
    - Dst: ExceptionSafeConnect
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:72,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: WalletModel::startPollBalance
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - connect
    - start
    - WalletModel::pollBalanceChanged
    - ExceptionSafeConnect
    linkageType: ''
    returnType: void
    signature: void WalletModel::startPollBalance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - client_model
    argTypes:
    - ClientModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: WalletModel::setClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void WalletModel::setClientModel(ClientModel* client_model)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel::getEncryptionStatus
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: WalletModel::updateStatus
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - WalletModel::getEncryptionStatus
    linkageType: ''
    returnType: void
    signature: void WalletModel::updateStatus()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel::getLastBlockProcessed
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:95,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:102,1
    - Dst: tryGetBalances
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:103,1
    - Dst: WalletModel::checkBalanceChanged
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:113,1
    - Dst: updateConfirmations
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 117
    functionName: WalletModel::pollBalanceChanged
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - updateConfirmations
    - WalletModel::checkBalanceChanged
    - WalletModel::getLastBlockProcessed
    - tryGetBalances
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void WalletModel::pollBalanceChanged()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: balanceChanged
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' new_balances'
    argTypes:
    - interfaces::WalletBalances
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: WalletModel::checkBalanceChanged
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - balanceChanged
    linkageType: ''
    returnType: void
    signature: void WalletModel::checkBalanceChanged(const interfaces::WalletBalances&
      new_balances)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: WalletModel::getCachedBalance
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interfaces::WalletBalances
    signature: interfaces::WalletBalances WalletModel::getCachedBalance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: WalletModel::updateTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletModel::updateTransaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateEntry
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - address
    - label
    - isMine
    - purpose
    - status
    argTypes:
    - QString
    - QString
    - bool
    - wallet::AddressPurpose
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: WalletModel::updateAddressBook
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - updateEntry
    linkageType: ''
    returnType: void
    signature: "void WalletModel::updateAddressBook(const QString &address, const
      QString &label,\n        bool isMine, wallet::AddressPurpose purpose, int status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsValidDestinationString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:147,1
    - Dst: toStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 6
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: WalletModel::validateAddress
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - toStdString
    - IsValidDestinationString
    linkageType: ''
    returnType: bool
    signature: bool WalletModel::validateAddress(const QString& address) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: WalletModelTransaction::getRecipients
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:154,1
    - Dst: QList::empty
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:157,1
    - Dst: WalletModel::validateAddress
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:171,1
    - Dst: QSet::insert
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:179,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:182,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:182,1
    - Dst: address::toStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:182,1
    - Dst: QSet::size
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:187,1
    - Dst: WalletModel::getAvailableBalance
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:194,1
    - Dst: WalletModelTransaction::getWtx
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:205,1
    - Dst: createTransaction
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:206,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:206,1
    - Dst: WalletModelTransaction::setTransactionFee
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:208,1
    - Dst: WalletModelTransaction::reassignAmounts
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:210,1
    - Dst: SendCoinsReturn
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:216,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:218,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:218,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:218,1
    - Dst: getDefaultMaxTxFee
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:226,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:231,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:231,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:231,1
    - Dst: SendCoinsReturn
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:236,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - transaction
    - ' coinControl'
    argTypes:
    - WalletModelTransaction
    - CCoinControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 150
    functionDepth: 7
    functionLinenumber: 150
    functionLinenumberEnd: 237
    functionName: WalletModel::prepareTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - QList::empty
    - DecodeDestination
    - getDefaultMaxTxFee
    - WalletModelTransaction::reassignAmounts
    - what
    - WalletModel::getAvailableBalance
    - util::ErrorString
    - address::toStdString
    - QString::fromStdString
    - QSet::size
    - WalletModelTransaction::getWtx
    - SendCoinsReturn
    - tr
    - WalletModelTransaction::getRecipients
    - WalletModel::validateAddress
    - wallet
    - createTransaction
    - WalletModelTransaction::setTransactionFee
    - QSet::insert
    linkageType: ''
    returnType: WalletModel::SendCoinsReturn
    signature: WalletModel::SendCoinsReturn WalletModel::prepareTransaction(WalletModelTransaction
      &transaction, const CCoinControl& coinControl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getRecipients
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:245,1
    - Dst: message::isEmpty
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:247,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:248,1
    - Dst: message::toStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:248,1
    - Dst: getWtx
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:251,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:252,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:252,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:254,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:255,1
    - Dst: QByteArray::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:256,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:256,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:256,1
    - Dst: getRecipients
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:261,1
    - Dst: address::toStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:264,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:265,1
    - Dst: label::toStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:266,1
    - Dst: getAddress
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:270,1
    - Dst: setAddressBook
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:273,1
    - Dst: setAddressBook
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:277,1
    - Dst: WalletModel::checkBalanceChanged
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:284,1
    - Dst: getBalances
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' transaction'
    argTypes:
    - WalletModelTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 239
    functionDepth: 5
    functionLinenumber: 239
    functionLinenumberEnd: 285
    functionName: WalletModel::sendCoins
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - DataStream::size
    - std::vector::emplace_back
    - DecodeDestination
    - std::move
    - message::isEmpty
    - setAddressBook
    - address::toStdString
    - getRecipients
    - DataStream::data
    - QByteArray::append
    - getAddress
    - getBalances
    - getWtx
    - WalletModel::checkBalanceChanged
    - wallet
    - message::toStdString
    - label::toStdString
    - TX_WITH_WITNESS
    - DataStream::DataStream
    linkageType: ''
    returnType: void
    signature: void WalletModel::sendCoins(WalletModelTransaction& transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: WalletModel::getOptionsModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OptionsModel
    signature: OptionsModel * WalletModel::getOptionsModel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: WalletModel::getAddressTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AddressTableModel
    signature: AddressTableModel * WalletModel::getAddressTableModel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: WalletModel::getTransactionTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransactionTableModel
    signature: TransactionTableModel * WalletModel::getTransactionTableModel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: WalletModel::getRecentRequestsTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RecentRequestsTableModel
    signature: RecentRequestsTableModel * WalletModel::getRecentRequestsTableModel()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isCrypted
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:309,1
    - Dst: privateKeysDisabled
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:313,1
    - Dst: isLocked
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: WalletModel::getEncryptionStatus
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - privateKeysDisabled
    - isCrypted
    - isLocked
    linkageType: ''
    returnType: WalletModel::EncryptionStatus
    signature: WalletModel::EncryptionStatus WalletModel::getEncryptionStatus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encryptWallet
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' passphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: WalletModel::setWalletEncrypted
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - encryptWallet
    linkageType: ''
    returnType: bool
    signature: bool WalletModel::setWalletEncrypted(const SecureString& passphrase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:338,1
    - Dst: unlock
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - locked
    - passPhrase
    argTypes:
    - bool
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: WalletModel::setWalletLocked
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - lock
    linkageType: ''
    returnType: bool
    signature: bool WalletModel::setWalletLocked(bool locked, const SecureString &passPhrase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:349,1
    - Dst: changeWalletPassphrase
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - oldPass
    - newPass
    argTypes:
    - SecureString
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: WalletModel::changePassphrase
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - lock
    - changeWalletPassphrase
    linkageType: ''
    returnType: bool
    signature: bool WalletModel::changePassphrase(const SecureString &oldPass, const
      SecureString &newPass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:356,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:357,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - walletModel
    argTypes:
    - WalletModel*
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/bitcoin-core/src/qt/walletmodel.cpp
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: NotifyUnload
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - qDebug
    - assert
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void NotifyUnload(WalletModel* walletModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:363,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:364,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - walletmodel
    argTypes:
    - WalletModel*
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/bitcoin-core/src/qt/walletmodel.cpp
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: NotifyKeyStoreStatusChanged
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - qDebug
    - assert
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void NotifyKeyStoreStatusChanged(WalletModel *walletmodel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:372,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:372,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:373,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:375,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:375,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:375,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:375,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:375,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:376,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:377,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:378,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - walletmodel
    - address
    - label
    - isMine
    - purpose
    - status
    argTypes:
    - WalletModel*
    - CTxDestination
    - std::string
    - bool
    - wallet::AddressPurpose
    - ChangeType
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/bitcoin-core/src/qt/walletmodel.cpp
    constantsTouched: []
    func_position:
      end: 383
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 383
    functionName: NotifyAddressBookChanged
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - print_number
    - EncodeDestination
    - static_cast<uint8_t>
    - qDebug
    - QString::fromStdString
    - Q_ARG
    - QMetaObject::invokeMethod
    - assert
    linkageType: ''
    returnType: void
    signature: "void NotifyAddressBookChanged(WalletModel *walletmodel,\n        const
      CTxDestination &address, const std::string &label, bool isMine,\n        wallet::AddressPurpose
      purpose, ChangeType status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:387,1
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:388,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:389,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - walletmodel
    - ' hash'
    - status
    argTypes:
    - WalletModel*
    - Txid
    - ChangeType
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/bitcoin-core/src/qt/walletmodel.cpp
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: NotifyTransactionChanged
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - Q_UNUSED
    - assert
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void NotifyTransactionChanged(WalletModel *walletmodel, const Txid&
      hash, ChangeType status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:396,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:397,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:397,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:398,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - walletmodel
    - title
    - nProgress
    argTypes:
    - WalletModel*
    - std::string
    - int
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/bitcoin-core/src/qt/walletmodel.cpp
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: ShowProgress
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 2
    functionsReached:
    - Q_ARG
    - assert
    - QString::fromStdString
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void ShowProgress(WalletModel *walletmodel, const std::string &title,
      int nProgress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:404,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - walletmodel
    argTypes:
    - WalletModel*
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/bitcoin-core/src/qt/walletmodel.cpp
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: NotifyCanGetAddressesChanged
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void NotifyCanGetAddressesChanged(WalletModel* walletmodel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleUnload
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:411,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:411,1
    - Dst: handleStatusChanged
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:412,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:412,1
    - Dst: handleAddressBookChanged
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:413,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:413,1
    - Dst: handleTransactionChanged
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:414,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:414,1
    - Dst: handleShowProgress
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:415,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:415,1
    - Dst: handleCanGetAddressesChanged
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:416,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: WalletModel::subscribeToCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - std::bind
    - handleAddressBookChanged
    - handleUnload
    - handleTransactionChanged
    - handleStatusChanged
    - handleShowProgress
    - handleCanGetAddressesChanged
    linkageType: ''
    returnType: void
    signature: void WalletModel::subscribeToCoreSignals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:422,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:423,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:424,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:425,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:426,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: WalletModel::unsubscribeFromCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void WalletModel::unsubscribeFromCoreSignals()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: privateKeysDisabled
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:437,1
    - Dst: UnlockContext
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:438,1
    - Dst: WalletModel::getEncryptionStatus
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:440,1
    - Dst: WalletModel::getEncryptionStatus
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:447,1
    - Dst: UnlockContext
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 450
    functionName: WalletModel::requestUnlock
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - WalletModel::getEncryptionStatus
    - privateKeysDisabled
    - UnlockContext
    linkageType: ''
    returnType: WalletModel::UnlockContext
    signature: WalletModel::UnlockContext WalletModel::requestUnlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _wallet
    - _valid
    - _relock
    argTypes:
    - WalletModel*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 457
    functionName: WalletModel::UnlockContext::UnlockContext(WalletModel *_wallet,
      bool _valid, bool _relock)
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletModel::UnlockContext::UnlockContext(WalletModel *_wallet,
      bool _valid, bool _relock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setWalletLocked
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: WalletModel::UnlockContext::~UnlockContext()
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - setWalletLocked
    linkageType: ''
    returnType: void
    signature: void WalletModel::UnlockContext::~UnlockContext()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:474,1
    - Dst: createBumpTransaction
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:475,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:476,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:476,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:476,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:477,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:477,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:483,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:484,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:485,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:486,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:487,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:487,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:488,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:489,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:489,1
    - Dst: WalletModel::getOptionsModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:489,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:490,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:491,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:491,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:492,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:493,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:493,1
    - Dst: WalletModel::getOptionsModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:493,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:494,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:495,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:495,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:496,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:497,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:497,1
    - Dst: WalletModel::getOptionsModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:497,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:498,1
    - Dst: WalletModel::getOptionsModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:501,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:502,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:503,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:503,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:506,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:506,1
    - Dst: WalletModel::getOptionsModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:507,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:508,1
    - Dst: SendConfirmationDialog::SendConfirmationDialog
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:508,1
    - Dst: auto::setAttribute
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:509,1
    - Dst: static_cast<QMessageBox::StandardButton>
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:511,1
    - Dst: auto::exec
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:511,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:523,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:525,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:525,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:525,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:531,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:531,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:531,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:532,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:532,1
    - Dst: WalletModel::UnlockContext::isValid
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:537,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:541,1
    - Dst: privateKeysDisabled
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:541,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:541,1
    - Dst: signBumpTransaction
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:544,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:545,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:545,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:545,1
    - Dst: commitBumpTransaction
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:549,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:549,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:550,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:550,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:550,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:551,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - hash
    - ' new_hash'
    argTypes:
    - Txid
    - Txid
    assertStmts:
    - condition: (!m_wallet->privateKeysDisabled() || wallet().hasExternalSigner())
      pos:
        line_end: 540
        line_start: 540
        source_file: /src/bitcoin-core/src/qt/walletmodel.cpp
    constantsTouched: []
    func_position:
      end: 555
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 555
    functionName: WalletModel::bumpFee
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - commitBumpTransaction
    - signBumpTransaction
    - EncodeBase64
    - std::move
    - WalletModel::getOptionsModel
    - GUIUtil::setClipboard
    - BitcoinUnits::formatHtmlWithUnit
    - QString::append
    - auto::exec
    - QString::fromStdString
    - std::vector::size
    - QMessageBox::critical
    - SendConfirmationDialog::SendConfirmationDialog
    - privateKeysDisabled
    - CMutableTransaction::CMutableTransaction
    - tr
    - createBumpTransaction
    - WalletModel::UnlockContext::isValid
    - assert
    - auto::setAttribute
    - wallet
    - DataStream::str
    - static_cast<QMessageBox::StandardButton>
    linkageType: ''
    returnType: bool
    signature: bool WalletModel::bumpFee(Txid hash, Txid& new_hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:559,1
    - Dst: WalletModel::displayAddress
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:561,1
    - Dst: QMessageBox::warning
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:563,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:563,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:563,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:563,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:566,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:566,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sAddress
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 5
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: WalletModel::displayAddress
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - QMessageBox::critical
    - WalletModel::displayAddress
    - QMessageBox::warning
    - DecodeDestination
    - util::ErrorString
    - tr
    - QString::fromStdString
    - what
    linkageType: ''
    returnType: void
    signature: void WalletModel::displayAddress(std::string sAddress) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: WalletModel::isWalletEnabled
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - GetBoolArg
    linkageType: ''
    returnType: bool
    signature: bool WalletModel::isWalletEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:577,1
    - Dst: WalletModel::getWalletName
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: WalletModel::getWalletName
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - QString::fromStdString
    - WalletModel::getWalletName
    linkageType: ''
    returnType: QString
    signature: QString WalletModel::getWalletName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:582,1
    - Dst: WalletModel::getWalletName
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: WalletModel::getDisplayName
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::WalletDisplayName
    - WalletModel::getWalletName
    linkageType: ''
    returnType: QString
    signature: QString WalletModel::getDisplayName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walletLoader
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: WalletModel::isMultiwallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - walletLoader
    linkageType: ''
    returnType: bool
    signature: bool WalletModel::isMultiwallet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddressTableModel::AddressTableModel
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pk_hash_only
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: WalletModel::refresh
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 0
    functionsReached:
    - AddressTableModel::AddressTableModel
    linkageType: ''
    returnType: void
    signature: void WalletModel::refresh(bool pk_hash_only)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBestBlockHash
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: WalletModel::getLastBlockProcessed
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - getBestBlockHash
    linkageType: ''
    returnType: uint256
    signature: uint256 WalletModel::getLastBlockProcessed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CCoinControl*::HasSelected
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:603,1
    - Dst: WalletModel::getCachedBalance
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:604,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletmodel.cpp:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - control
    argTypes:
    - CCoinControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 609
    functionName: WalletModel::getAvailableBalance
    functionSourceFile: /src/bitcoin-core/src/qt/walletmodel.cpp
    functionUses: 1
    functionsReached:
    - WalletModel::getCachedBalance
    - wallet
    - CCoinControl*::HasSelected
    linkageType: ''
    returnType: CAmount
    signature: CAmount WalletModel::getAvailableBalance(const CCoinControl* control)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: CNodeCombinedStats
    functionSourceFile: /src/bitcoin-core/src/qt/peertablemodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE CNodeCombinedStats
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ui::ReceiveCoinsDialog::ReceiveCoinsDialog
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:27,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:30,1
    - Dst: PlatformStyle*::getImagesOnButtons
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:32,1
    - Dst: clearButton::setIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:33,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:33,1
    - Dst: receiveButton::setIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:34,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:34,1
    - Dst: showRequestButton::setIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:35,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:35,1
    - Dst: removeRequestButton::setIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:36,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:36,1
    - Dst: clearButton::setIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:38,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:38,1
    - Dst: receiveButton::setIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:39,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:39,1
    - Dst: showRequestButton::setIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:40,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:40,1
    - Dst: removeRequestButton::setIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:41,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:41,1
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:45,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:46,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:46,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:47,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:47,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:48,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:48,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:49,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:49,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:50,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:50,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:51,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:53,1
    - Dst: QTableView*::verticalHeader
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:56,1
    - Dst: QTableView*::setAlternatingRowColors
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:57,1
    - Dst: QTableView*::setSelectionBehavior
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:58,1
    - Dst: QTableView*::setSelectionMode
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:59,1
    - Dst: QTableView*::horizontalHeader
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:62,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:62,1
    - Dst: QTableView*::setColumnWidth
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:63,1
    - Dst: QTableView*::setColumnWidth
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:64,1
    - Dst: QTableView*::setColumnWidth
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:65,1
    - Dst: QTableView*::horizontalHeader
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:66,1
    - Dst: QTableView*::horizontalHeader
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - _platformStyle
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: ReceiveCoinsDialog::ReceiveCoinsDialog
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - QTableView*::setSelectionMode
    - Ui::ReceiveCoinsDialog::ReceiveCoinsDialog
    - removeRequestButton::setIcon
    - addAction
    - setupUi
    - clearButton::setIcon
    - QMenu::QMenu
    - receiveButton::setIcon
    - QTableView*::setSelectionBehavior
    - QTableView*::setColumnWidth
    - connect
    - QTableView*::horizontalHeader
    - tr
    - PlatformStyle*::SingleColorIcon
    - QTableView*::setAlternatingRowColors
    - QTableView*::verticalHeader
    - showRequestButton::setIcon
    - QSettings::value
    - PlatformStyle*::getImagesOnButtons
    - QIcon
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *_platformStyle,
      QWidget *parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:75,1
    - Dst: WalletModel*::getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:77,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:78,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:78,1
    - Dst: ReceiveCoinsDialog::updateDisplayUnit
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:79,1
    - Dst: QTableView*::setModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:82,1
    - Dst: WalletModel*::getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:82,1
    - Dst: QTableView*::sortByColumn
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:83,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:85,1
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:85,1
    - Dst: addressType::count
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:91,1
    - Dst: addressType::addItem
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:92,1
    - Dst: addressType::setItemData
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:93,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:94,1
    - Dst: addressType::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:94,1
    - Dst: add_address_type
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:96,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:96,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:96,1
    - Dst: add_address_type
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:97,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:97,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:97,1
    - Dst: add_address_type
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:98,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:98,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:98,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:99,1
    - Dst: add_address_type
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:100,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:100,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:100,1
    - Dst: receiveButton::setEnabled
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:104,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:104,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:107,1
    - Dst: receiveButton::setEnabled
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:108,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - _model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 111
    functionName: ReceiveCoinsDialog::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - connect
    - WalletModel*::getOptionsModel
    - addressType::count
    - receiveButton::setEnabled
    - addressType::addItem
    - wallet
    - add_address_type
    - addressType::setItemData
    - tr
    - WalletModel*::getRecentRequestsTableModel
    - addressType::setCurrentIndex
    - ReceiveCoinsDialog::updateDisplayUnit
    - QTableView*::setModel
    - QTableView*::selectionModel
    - QTableView*::sortByColumn
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::setModel(WalletModel *_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:116,1
    - Dst: recentRequestsView::horizontalHeader
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ReceiveCoinsDialog::~ReceiveCoinsDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - recentRequestsView::horizontalHeader
    - QSettings::setValue
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::~ReceiveCoinsDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reqAmount::clear
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:122,1
    - Dst: reqLabel::setText
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:123,1
    - Dst: reqMessage::setText
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:124,1
    - Dst: ReceiveCoinsDialog::updateDisplayUnit
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: ReceiveCoinsDialog::clear
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - reqMessage::setText
    - reqAmount::clear
    - ReceiveCoinsDialog::updateDisplayUnit
    - reqLabel::setText
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReceiveCoinsDialog::clear
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: ReceiveCoinsDialog::reject
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - ReceiveCoinsDialog::clear
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::reject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReceiveCoinsDialog::clear
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: ReceiveCoinsDialog::accept
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - ReceiveCoinsDialog::clear
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::accept()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:140,1
    - Dst: reqAmount::setDisplayUnit
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:142,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: ReceiveCoinsDialog::updateDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 2
    functionsReached:
    - reqAmount::setDisplayUnit
    - getOptionsModel
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::updateDisplayUnit()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:148,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:148,1
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:148,1
    - Dst: reqLabel::text
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:152,1
    - Dst: addressType::currentData
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:154,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:155,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:157,1
    - Dst: reqAmount::value
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:162,1
    - Dst: reqMessage::text
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:162,1
    - Dst: ReceiveRequestDialog::ReceiveRequestDialog
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:163,1
    - Dst: ReceiveRequestDialog*::setAttribute
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:164,1
    - Dst: ReceiveRequestDialog*::setModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:165,1
    - Dst: ReceiveRequestDialog*::setInfo
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:166,1
    - Dst: ReceiveRequestDialog*::show
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:167,1
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:170,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:174,1
    - Dst: windowTitle
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:174,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:175,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:179,1
    - Dst: windowTitle
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:179,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:180,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:180,1
    - Dst: FormatOutputType
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:180,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:187,1
    - Dst: ReceiveCoinsDialog::clear
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    constantsTouched: []
    func_position:
      end: 190
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 190
    functionName: ReceiveCoinsDialog::on_receiveButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - reqLabel::text
    - getOptionsModel
    - windowTitle
    - ReceiveCoinsDialog::clear
    - ReceiveRequestDialog*::setInfo
    - reqMessage::text
    - getAddressTableModel
    - QString::fromStdString
    - addressType::currentData
    - QMessageBox::critical
    - FormatOutputType
    - ReceiveRequestDialog*::setAttribute
    - ReceiveRequestDialog*::show
    - getRecentRequestsTableModel
    - reqAmount::value
    - tr
    - ReceiveRequestDialog*::setModel
    - assert
    - ReceiveRequestDialog::ReceiveRequestDialog
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::on_receiveButton_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:194,1
    - Dst: ReceiveRequestDialog::ReceiveRequestDialog
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:195,1
    - Dst: ReceiveRequestDialog*::setModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:196,1
    - Dst: ReceiveRequestDialog*::setInfo
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:197,1
    - Dst: RecentRequestsTableModel*::entry
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:197,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:197,1
    - Dst: ReceiveRequestDialog*::setAttribute
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:198,1
    - Dst: ReceiveRequestDialog*::show
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: ReceiveCoinsDialog::on_recentRequestsView_doubleClicked
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - ReceiveRequestDialog*::setAttribute
    - ReceiveRequestDialog*::show
    - ReceiveRequestDialog*::setInfo
    - getRecentRequestsTableModel
    - ReceiveRequestDialog::ReceiveRequestDialog
    - ReceiveRequestDialog*::setModel
    - RecentRequestsTableModel*::entry
    - QModelIndex::row
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::on_recentRequestsView_doubleClicked(const
      QModelIndex &index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recentRequestsView::selectionModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:205,1
    - Dst: showRequestButton::setEnabled
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:206,1
    - Dst: removeRequestButton::setEnabled
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - selected
    - deselected
    argTypes:
    - QItemSelection
    - QItemSelection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: ReceiveCoinsDialog::recentRequestsView_selectionChanged
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - recentRequestsView::selectionModel
    - removeRequestButton::setEnabled
    - showRequestButton::setEnabled
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::recentRequestsView_selectionChanged(const
      QItemSelection &selected, const QItemSelection &deselected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:212,1
    - Dst: recentRequestsView::selectionModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:212,1
    - Dst: recentRequestsView::selectionModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:214,1
    - Dst: ReceiveCoinsDialog::on_recentRequestsView_doubleClicked
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: ReceiveCoinsDialog::on_showRequestButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - recentRequestsView::selectionModel
    - getRecentRequestsTableModel
    - ReceiveCoinsDialog::on_recentRequestsView_doubleClicked
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::on_showRequestButton_clicked()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:223,1
    - Dst: recentRequestsView::selectionModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:223,1
    - Dst: recentRequestsView::selectionModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:225,1
    - Dst: QModelIndexList::empty
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:226,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:229,1
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:230,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:230,1
    - Dst: QModelIndexList::length
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:230,1
    - Dst: QModelIndex::parent
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: ReceiveCoinsDialog::on_removeRequestButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - QModelIndexList::at
    - QModelIndex::parent
    - getRecentRequestsTableModel
    - recentRequestsView::selectionModel
    - QModelIndexList::length
    - QModelIndex::row
    - QModelIndexList::empty
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::on_removeRequestButton_clicked()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:235,1
    - Dst: recentRequestsView::selectionModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:235,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:236,1
    - Dst: recentRequestsView::selectionModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:237,1
    - Dst: QModelIndexList::empty
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:238,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:239,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: ReceiveCoinsDialog::selectedRow
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - QModelIndexList::at
    - getRecentRequestsTableModel
    - QModelIndex
    - recentRequestsView::selectionModel
    - QModelIndexList::empty
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex ReceiveCoinsDialog::selectedRow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReceiveCoinsDialog::selectedRow
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:248,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:249,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:252,1
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:252,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - column
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: ReceiveCoinsDialog::copyColumnToClipboard
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - getRecentRequestsTableModel
    - ReceiveCoinsDialog::selectedRow
    - GUIUtil::setClipboard
    - QModelIndex::row
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::copyColumnToClipboard(int column)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReceiveCoinsDialog::selectedRow
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:258,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:259,1
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:264,1
    - Dst: RecentRequestsTableModel*::entry
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:265,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:265,1
    - Dst: setDisabled
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:266,1
    - Dst: recipient::label::isEmpty
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:266,1
    - Dst: setDisabled
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:267,1
    - Dst: recipient::message::isEmpty
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:267,1
    - Dst: setDisabled
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:268,1
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:270,1
    - Dst: QCursor::pos
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - point
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: ReceiveCoinsDialog::showMenu
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - recipient::message::isEmpty
    - exec
    - QModelIndex::isValid
    - getRecentRequestsTableModel
    - ReceiveCoinsDialog::selectedRow
    - QCursor::pos
    - recipient::label::isEmpty
    - RecentRequestsTableModel*::entry
    - setDisabled
    - QModelIndex::row
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::showMenu(const QPoint &point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReceiveCoinsDialog::selectedRow
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:276,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:277,1
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:281,1
    - Dst: GUIUtil::formatBitcoinURI
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:282,1
    - Dst: RecentRequestsTableModel*::entry
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:282,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:282,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: ReceiveCoinsDialog::copyURI
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - getRecentRequestsTableModel
    - ReceiveCoinsDialog::selectedRow
    - GUIUtil::setClipboard
    - RecentRequestsTableModel*::entry
    - QModelIndex::row
    - GUIUtil::formatBitcoinURI
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::copyURI()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReceiveCoinsDialog::selectedRow
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:289,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:290,1
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:294,1
    - Dst: RecentRequestsTableModel*::entry
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:295,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:295,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: ReceiveCoinsDialog::copyAddress
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - getRecentRequestsTableModel
    - ReceiveCoinsDialog::selectedRow
    - GUIUtil::setClipboard
    - RecentRequestsTableModel*::entry
    - QModelIndex::row
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::copyAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReceiveCoinsDialog::copyColumnToClipboard
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: ReceiveCoinsDialog::copyLabel
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - ReceiveCoinsDialog::copyColumnToClipboard
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::copyLabel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReceiveCoinsDialog::copyColumnToClipboard
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: ReceiveCoinsDialog::copyMessage
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - ReceiveCoinsDialog::copyColumnToClipboard
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::copyMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReceiveCoinsDialog::copyColumnToClipboard
      Src: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ReceiveCoinsDialog::copyAmount
    functionSourceFile: /src/bitcoin-core/src/qt/receivecoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - ReceiveCoinsDialog::copyColumnToClipboard
    linkageType: ''
    returnType: void
    signature: void ReceiveCoinsDialog::copyAmount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: QObject
    functionSourceFile: /src/bitcoin-core/src/qt/initexecutor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QObject
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: TransactionFilterProxy::TYPE
    functionSourceFile: /src/bitcoin-core/src/qt/transactionfilterproxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: quint32
    signature: quint32 TYPE(int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Ui::EditAddressDialog::EditAddressDialog
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:19,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:22,1
    - Dst: GUIUtil::setupAddressWidget
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:24,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:29,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:29,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:32,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:32,1
    - Dst: addressEdit::setEnabled
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:33,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:36,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:36,1
    - Dst: QDataWidgetMapper::QDataWidgetMapper
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:40,1
    - Dst: setSubmitPolicy
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:41,1
    - Dst: GUIUtil::ItemDelegate::ItemDelegate
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:43,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:44,1
    - Dst: setItemDelegate
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:45,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - _mode
    - parent
    argTypes:
    - Mode
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 48
    functionName: EditAddressDialog::EditAddressDialog
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.cpp
    functionUses: 2
    functionsReached:
    - connect
    - GUIUtil::handleCloseWindowShortcut
    - Ui::EditAddressDialog::EditAddressDialog
    - setSubmitPolicy
    - setItemDelegate
    - addressEdit::setEnabled
    - GUIUtil::ItemDelegate::ItemDelegate
    - tr
    - setWindowTitle
    - GUIUtil::setupAddressWidget
    - setupUi
    - QDataWidgetMapper::QDataWidgetMapper
    linkageType: ''
    returnType: void
    signature: void EditAddressDialog::EditAddressDialog(Mode _mode, QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: EditAddressDialog::~EditAddressDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EditAddressDialog::~EditAddressDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EditAddressDialog::setModel
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:61,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:62,1
    - Dst: addMapping
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - _model
    argTypes:
    - AddressTableModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: EditAddressDialog::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.cpp
    functionUses: 2
    functionsReached:
    - EditAddressDialog::setModel
    - addMapping
    linkageType: ''
    returnType: void
    signature: void EditAddressDialog::setModel(AddressTableModel *_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentIndex
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: EditAddressDialog::loadRow
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.cpp
    functionUses: 0
    functionsReached:
    - setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void EditAddressDialog::loadRow(int row)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: addRow
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:79,1
    - Dst: labelEdit::text
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:81,1
    - Dst: addressEdit::text
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:82,1
    - Dst: GetDefaultAddressType
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:83,1
    - Dst: submit
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:87,1
    - Dst: addressEdit::text
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:89,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 94
    functionName: EditAddressDialog::saveCurrentRow
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - addRow
    - submit
    - labelEdit::text
    - addressEdit::text
    - GetDefaultAddressType
    linkageType: ''
    returnType: bool
    signature: bool EditAddressDialog::saveCurrentRow()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EditAddressDialog::saveCurrentRow
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:101,1
    - Dst: getEditStatus
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:103,1
    - Dst: QMessageBox::warning
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:112,1
    - Dst: windowTitle
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:112,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:113,1
    - Dst: addressEdit::text
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:113,1
    - Dst: QMessageBox::warning
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:117,1
    - Dst: windowTitle
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:117,1
    - Dst: EditAddressDialog::getDuplicateAddressWarning
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:118,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:122,1
    - Dst: windowTitle
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:122,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:123,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:127,1
    - Dst: windowTitle
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:127,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:128,1
    - Dst: testmempoolaccept
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 136
    functionName: EditAddressDialog::accept
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - QMessageBox::warning
    - windowTitle
    - EditAddressDialog::saveCurrentRow
    - tr
    - getEditStatus
    - EditAddressDialog::getDuplicateAddressWarning
    - addressEdit::text
    - testmempoolaccept
    linkageType: ''
    returnType: void
    signature: void EditAddressDialog::accept()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addressEdit::text
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:140,1
    - Dst: labelForAddress
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:141,1
    - Dst: purposeForAddress
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:142,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:146,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: EditAddressDialog::getDuplicateAddressWarning
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.cpp
    functionUses: 1
    functionsReached:
    - labelForAddress
    - tr
    - addressEdit::text
    - purposeForAddress
    linkageType: ''
    returnType: QString
    signature: QString EditAddressDialog::getDuplicateAddressWarning() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: EditAddressDialog::getAddress
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString EditAddressDialog::getAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addressEdit::setText
      Src: /src/bitcoin-core/src/qt/editaddressdialog.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: EditAddressDialog::setAddress
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.cpp
    functionUses: 0
    functionsReached:
    - addressEdit::setText
    linkageType: ''
    returnType: void
    signature: void EditAddressDialog::setAddress(const QString &_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: QValidatedLineEdit::QValidatedLineEdit
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::QValidatedLineEdit(QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QValidatedLineEdit::setText
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:18,1
    - Dst: QValidatedLineEdit::checkValidity
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: QValidatedLineEdit::setText
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 1
    functionsReached:
    - QValidatedLineEdit::checkValidity
    - QValidatedLineEdit::setText
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::setText(const QString& text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setStyleSheet
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:31,1
    - Dst: setStyleSheet
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - _valid
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: QValidatedLineEdit::setValid
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 0
    functionsReached:
    - setStyleSheet
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::setValid(bool _valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QValidatedLineEdit::setValid
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:43,1
    - Dst: QValidatedLineEdit::focusInEvent
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - evt
    argTypes:
    - QFocusEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: QValidatedLineEdit::focusInEvent
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 1
    functionsReached:
    - QValidatedLineEdit::focusInEvent
    - QValidatedLineEdit::setValid
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::focusInEvent(QFocusEvent *evt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QValidatedLineEdit::checkValidity
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:50,1
    - Dst: QValidatedLineEdit::focusOutEvent
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - evt
    argTypes:
    - QFocusEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: QValidatedLineEdit::focusOutEvent
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 1
    functionsReached:
    - QValidatedLineEdit::checkValidity
    - QValidatedLineEdit::focusOutEvent
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::focusOutEvent(QFocusEvent *evt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QValidatedLineEdit::setValid
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: QValidatedLineEdit::markValid
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 0
    functionsReached:
    - QValidatedLineEdit::setValid
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::markValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QValidatedLineEdit::setValid
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:63,1
    - Dst: secp256k1_ecmult_gen_context_clear
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: QValidatedLineEdit::clear
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecmult_gen_context_clear
    - QValidatedLineEdit::setValid
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QValidatedLineEdit::setValid
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:72,1
    - Dst: QValidatedLineEdit::checkValidity
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:77,1
    - Dst: QValidatedLineEdit::setEnabled
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: QValidatedLineEdit::setEnabled
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 1
    functionsReached:
    - QValidatedLineEdit::checkValidity
    - QValidatedLineEdit::setEnabled
    - QValidatedLineEdit::setValid
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::setEnabled(bool enabled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:85,1
    - Dst: QValidatedLineEdit::setValid
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:87,1
    - Dst: hasAcceptableInput
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:89,1
    - Dst: QValidatedLineEdit::setValid
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:91,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:96,1
    - Dst: validate
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:98,1
    - Dst: QValidatedLineEdit::setValid
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:99,1
    - Dst: QValidatedLineEdit::setValid
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:101,1
    - Dst: QValidatedLineEdit::setValid
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 108
    functionName: QValidatedLineEdit::checkValidity
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 3
    functionsReached:
    - hasAcceptableInput
    - text
    - validate
    - QValidatedLineEdit::setValid
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::checkValidity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QValidatedLineEdit::checkValidity
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - QValidator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: QValidatedLineEdit::setCheckValidator
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 0
    functionsReached:
    - QValidatedLineEdit::checkValidity
    linkageType: ''
    returnType: void
    signature: void QValidatedLineEdit::setCheckValidator(const QValidator *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:121,1
    - Dst: validate
      Src: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: QValidatedLineEdit::isValid
    functionSourceFile: /src/bitcoin-core/src/qt/qvalidatedlineedit.cpp
    functionUses: 0
    functionsReached:
    - text
    - validate
    linkageType: ''
    returnType: bool
    signature: bool QValidatedLineEdit::isValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convertToFormat
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:32,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:33,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:35,1
    - Dst: pixel
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:37,1
    - Dst: setPixel
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: qRgba
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: red
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: green
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: blue
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: qAlpha
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' img'
    - ' colorbase'
    argTypes:
    - QImage
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: MakeSingleColorImage
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - width
    - qAlpha
    - convertToFormat
    - height
    - green
    - qRgba
    - pixel
    - red
    - blue
    - setPixel
    linkageType: ''
    returnType: void
    signature: void MakeSingleColorImage(QImage& img, const QColor& colorbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: availableSizes
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:46,1
    - Dst: pixmap
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:48,1
    - Dst: MakeSingleColorImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:49,1
    - Dst: QIcon::addPixmap
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:50,1
    - Dst: QPixmap::fromImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' ico'
    - ' colorbase'
    argTypes:
    - QIcon
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: ColorizeIcon
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - QIcon::addPixmap
    - QPixmap::fromImage
    - pixmap
    - availableSizes
    - MakeSingleColorImage
    linkageType: ''
    returnType: QIcon
    signature: QIcon ColorizeIcon(const QIcon& ico, const QColor& colorbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSingleColorImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' filename'
    - ' colorbase'
    argTypes:
    - QString
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: ColorizeImage
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - MakeSingleColorImage
    linkageType: ''
    returnType: QImage
    signature: QImage ColorizeImage(const QString& filename, const QColor& colorbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:64,1
    - Dst: QPixmap::fromImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:64,1
    - Dst: ColorizeImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' filename'
    - ' colorbase'
    argTypes:
    - QString
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ColorizeIcon
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - QIcon
    - QPixmap::fromImage
    - ColorizeImage
    linkageType: ''
    returnType: QIcon
    signature: QIcon ColorizeIcon(const QString& filename, const QColor& colorbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convertToFormat
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:32,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:33,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:35,1
    - Dst: pixel
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:37,1
    - Dst: setPixel
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: qRgba
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: red
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: green
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: blue
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    - Dst: qAlpha
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' img'
    - ' colorbase'
    argTypes:
    - QImage
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: MakeSingleColorImage
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 2
    functionsReached:
    - width
    - qAlpha
    - convertToFormat
    - height
    - green
    - qRgba
    - pixel
    - red
    - blue
    - setPixel
    linkageType: ''
    returnType: void
    signature: void MakeSingleColorImage(QImage& img, const QColor& colorbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: availableSizes
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:46,1
    - Dst: pixmap
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:48,1
    - Dst: MakeSingleColorImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:49,1
    - Dst: QIcon::addPixmap
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:50,1
    - Dst: QPixmap::fromImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' ico'
    - ' colorbase'
    argTypes:
    - QIcon
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: ColorizeIcon
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - QIcon::addPixmap
    - QPixmap::fromImage
    - pixmap
    - availableSizes
    - MakeSingleColorImage
    linkageType: ''
    returnType: QIcon
    signature: QIcon ColorizeIcon(const QIcon& ico, const QColor& colorbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSingleColorImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' filename'
    - ' colorbase'
    argTypes:
    - QString
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: ColorizeImage
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 1
    functionsReached:
    - MakeSingleColorImage
    linkageType: ''
    returnType: QImage
    signature: QImage ColorizeImage(const QString& filename, const QColor& colorbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:64,1
    - Dst: QPixmap::fromImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:64,1
    - Dst: ColorizeImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' filename'
    - ' colorbase'
    argTypes:
    - QString
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ColorizeIcon
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - QIcon
    - QPixmap::fromImage
    - ColorizeImage
    linkageType: ''
    returnType: QIcon
    signature: QIcon ColorizeIcon(const QString& filename, const QColor& colorbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - _name
    - _imagesOnButtons
    - _colorizeIcons
    - _useExtraSpacing
    argTypes:
    - QString
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: PlatformStyle::PlatformStyle
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformStyle::PlatformStyle(const QString &_name, bool _imagesOnButtons,
      bool _colorizeIcons, bool _useExtraSpacing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::palette
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: PlatformStyle::TextColor
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - QApplication::palette
    linkageType: ''
    returnType: QColor
    signature: QColor PlatformStyle::TextColor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::palette
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:86,1
    - Dst: QApplication::palette
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:87,1
    - Dst: QApplication::palette
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:88,1
    - Dst: QColor::lightness
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:89,1
    - Dst: abs
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:90,1
    - Dst: QColor::lightness
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:90,1
    - Dst: abs
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:90,1
    - Dst: QColor::lightness
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: PlatformStyle::SingleColor
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - QApplication::palette
    - abs
    - QColor::lightness
    linkageType: ''
    returnType: QColor
    signature: QColor PlatformStyle::SingleColor() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:101,1
    - Dst: ColorizeImage
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:102,1
    - Dst: PlatformStyle::SingleColor
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: PlatformStyle::SingleColorImage
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - ColorizeImage
    - PlatformStyle::SingleColor
    - QImage
    linkageType: ''
    returnType: QImage
    signature: QImage PlatformStyle::SingleColorImage(const QString& filename) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:108,1
    - Dst: ColorizeIcon
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:109,1
    - Dst: PlatformStyle::SingleColor
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: PlatformStyle::SingleColorIcon
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - QIcon
    - PlatformStyle::SingleColor
    - ColorizeIcon
    linkageType: ''
    returnType: QIcon
    signature: QIcon PlatformStyle::SingleColorIcon(const QString& filename) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ColorizeIcon
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:116,1
    - Dst: PlatformStyle::SingleColor
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' icon'
    argTypes:
    - QIcon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: PlatformStyle::SingleColorIcon
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - PlatformStyle::SingleColor
    - ColorizeIcon
    linkageType: ''
    returnType: QIcon
    signature: QIcon PlatformStyle::SingleColorIcon(const QIcon& icon) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColorizeIcon
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:121,1
    - Dst: PlatformStyle::TextColor
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' icon'
    argTypes:
    - QIcon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: PlatformStyle::TextColorIcon
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - PlatformStyle::TextColor
    - ColorizeIcon
    linkageType: ''
    returnType: QIcon
    signature: QIcon PlatformStyle::TextColorIcon(const QIcon& icon) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlatformStyle::PlatformStyle
      Src: /src/bitcoin-core/src/qt/platformstyle.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - platformId
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: PlatformStyle::instantiate
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.cpp
    functionUses: 0
    functionsReached:
    - PlatformStyle::PlatformStyle
    linkageType: ''
    returnType: PlatformStyle
    signature: PlatformStyle *PlatformStyle::instantiate(const QString &platformId)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:55,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - option
    argTypes:
    - OptionsModel::OptionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: SettingName
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 5
    functionsReached:
    - std::logic_error
    - strprintf
    linkageType: ''
    returnType: char
    signature: char * SettingName(OptionsModel::OptionID option)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNum
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:62,1
    - Dst: updateRwSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:74,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:74,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:74,1
    - Dst: updateRwSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:76,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ' node'
    - option
    - ' suffix'
    - ' value'
    argTypes:
    - interfaces::Node
    - OptionsModel::OptionID
    - std::string
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: UpdateRwSetting
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - SettingName
    - updateRwSetting
    - getValStr
    - isNum
    linkageType: ''
    returnType: void
    signature: void UpdateRwSetting(interfaces::Node& node, OptionsModel::OptionID
      option, const std::string& suffix, const common::SettingsValue& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:83,1
    - Dst: PruneGBtoMiB
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - prune_enabled
    - prune_size_gb
    argTypes:
    - bool
    - int
    assertStmts:
    - condition: (!prune_enabled || prune_size_gb >= 1)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/qt/optionsmodel.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: PruneSetting
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - PruneGBtoMiB
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue PruneSetting(bool prune_enabled, int prune_size_gb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SettingToInt
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' prune_setting'
    argTypes:
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: PruneEnabled
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - SettingToInt
    linkageType: ''
    returnType: bool
    signature: bool PruneEnabled(const common::SettingsValue& prune_setting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SettingToInt
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:98,1
    - Dst: PruneMiBtoGB
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' prune_setting'
    argTypes:
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: PruneSizeGB
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - SettingToInt
    - PruneMiBtoGB
    linkageType: ''
    returnType: int
    signature: int PruneSizeGB(const common::SettingsValue& prune_setting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:107,1
    - Dst: toInt
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' prune_size'
    argTypes:
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: ParsePruneSizeGB
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - toInt
    linkageType: ''
    returnType: int
    signature: int ParsePruneSizeGB(const QVariant& prune_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<FontChoiceAbstract>
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:124,1
    - Dst: std::get<QFont>
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - OptionsModel::FontChoice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: OptionsModel::FontChoiceToString
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - std::get<QFont>
    - std::holds_alternative<FontChoiceAbstract>
    linkageType: ''
    returnType: QString
    signature: QString OptionsModel::FontChoiceToString(const OptionsModel::FontChoice&
      f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: startsWith
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:140,1
    - Dst: QFont::fromString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:142,1
    - Dst: mid
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:142,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: OptionsModel::FontChoiceFromString
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - size
    - mid
    - QFont::fromString
    - startsWith
    linkageType: ''
    returnType: OptionsModel::FontChoice
    signature: OptionsModel::FontChoice OptionsModel::FontChoiceFromString(const QString&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' node'
    - parent
    argTypes:
    - interfaces::Node
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: OptionsModel::OptionsModel
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionsModel::OptionsModel(interfaces::Node& node, QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:156,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:156,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: OptionsModel::addOverriddenOption
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - QString::fromStdString
    - GetArg
    linkageType: ''
    returnType: void
    signature: void OptionsModel::addOverriddenOption(const std::string &option)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:163,1
    - Dst: SettingToString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:163,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:163,1
    - Dst: OptionsModel::checkAndMigrate
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:165,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:170,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:175,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:176,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:178,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:181,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:182,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:183,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:185,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:186,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:187,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:190,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:191,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:191,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:193,1
    - Dst: QVariant::canConvert
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:194,1
    - Dst: QVariant::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:195,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:198,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:198,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:201,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:202,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:203,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:205,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:206,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:207,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:209,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:210,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:212,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:218,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:219,1
    - Dst: OptionsModel::addOverriddenOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:219,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:221,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:225,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:225,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:226,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:226,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:226,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:234,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:235,1
    - Dst: GUIUtil::getDefaultDataDirectory
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:235,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:239,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:240,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:242,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:246,1
    - Dst: OptionsModel::FontChoiceFromString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:247,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:247,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:248,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:249,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:257,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 260
    functionName: OptionsModel::Init
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - node
    - QVariant::canConvert
    - what
    - GUIUtil::getDefaultDataDirectory
    - QString::fromStdString
    - OptionsModel::FontChoiceFromString
    - QSettings::setValue
    - OptionsModel::setRestartRequired
    - SettingName
    - SettingToString
    - tr
    - strprintf
    - QVariant::value
    - OptionsModel::addOverriddenOption
    - QVariant::fromValue
    - QSettings::value
    - OptionsModel::checkAndMigrate
    - QSettings::contains
    - OptionsModel::getOption
    linkageType: ''
    returnType: bool
    signature: bool OptionsModel::Init(bilingual_str& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allKeys
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:267,1
    - Dst: setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:268,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dst'
    - ' src'
    argTypes:
    - QSettings
    - QSettings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: CopySettings
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - setValue
    - allKeys
    - value
    linkageType: ''
    returnType: void
    signature: void CopySettings(QSettings& dst, const QSettings& src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qInfo
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:275,1
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:275,1
    - Dst: QSettings::clear
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:277,1
    - Dst: CopySettings
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' filename'
    - ' src'
    argTypes:
    - fs::path
    - QSettings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: BackupSettings
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::PathToQString
    - QSettings::clear
    - qInfo
    - CopySettings
    linkageType: ''
    returnType: void
    signature: void BackupSettings(const fs::path& filename, const QSettings& src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:284,1
    - Dst: BackupSettings
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:289,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:289,1
    - Dst: GUIUtil::getDefaultDataDirectory
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:292,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:293,1
    - Dst: QSettings::clear
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:296,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:299,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:302,1
    - Dst: GUIUtil::GetStartOnSystemStartup
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:305,1
    - Dst: GUIUtil::SetStartOnSystemStartup
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 307
    functionName: OptionsModel::Reset
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - QSettings::setValue
    - node
    - GUIUtil::getDefaultDataDirectory
    - QSettings::clear
    - GUIUtil::GetStartOnSystemStartup
    - QSettings::value
    - GetDataDirNet
    - BackupSettings
    - GUIUtil::SetStartOnSystemStartup
    linkageType: ''
    returnType: void
    signature: void OptionsModel::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' parent'
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: OptionsModel::rowCount
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OptionsModel::rowCount(const QModelIndex & parent) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:316,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:318,1
    - Dst: SplitHostPort
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:323,1
    - Dst: toStdString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:323,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:326,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:329,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' proxy'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 333
    functionName: ParseProxyString
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    - toStdString
    - isEmpty
    - print_number
    - std::string::find
    - SplitHostPort
    - QString::fromStdString
    linkageType: ''
    returnType: ProxySetting
    signature: ProxySetting ParseProxyString(const QString& proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:337,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' proxy'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: ParseProxyString
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 1
    functionsReached:
    - QString::fromStdString
    - ParseProxyString
    linkageType: ''
    returnType: ProxySetting
    signature: ProxySetting ParseProxyString(const std::string& proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - is_set
    - ip
    - port
    argTypes:
    - bool
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: ProxyString
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 1
    functionsReached:
    - QString
    linkageType: ''
    returnType: std::string
    signature: std::string ProxyString(bool is_set, QString ip, QString port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: GetDefaultProxyAddress
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    linkageType: ''
    returnType: QString
    signature: QString GetDefaultProxyAddress()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:352,1
    - Dst: PruneSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:353,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:358,1
    - Dst: PruneEnabled
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:363,1
    - Dst: PruneEnabled
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:363,1
    - Dst: PruneSizeGB
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:364,1
    - Dst: PruneSizeGB
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:364,1
    - Dst: UpdateRwSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:367,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:367,1
    - Dst: PruneEnabled
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:371,1
    - Dst: UpdateRwSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:372,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:372,1
    - Dst: PruneEnabled
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - prune_target_gb
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 374
    functionName: OptionsModel::SetPruneTargetGB
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - PruneSetting
    - UpdateRwSetting
    - node
    - PruneSizeGB
    - PruneEnabled
    linkageType: ''
    returnType: void
    signature: void OptionsModel::SetPruneTargetGB(int prune_target_gb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:381,1
    - Dst: OptionID
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:381,1
    - Dst: row
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:381,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' index'
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: OptionsModel::data
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - OptionID
    - row
    - OptionsModel::getOption
    linkageType: ''
    returnType: QVariant
    signature: QVariant OptionsModel::data(const QModelIndex & index, int role) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:392,1
    - Dst: OptionID
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:392,1
    - Dst: row
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' index'
    - ' value'
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 398
    functionName: OptionsModel::setData
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - OptionsModel::setOption
    - OptionID
    - row
    linkageType: ''
    returnType: bool
    signature: bool OptionsModel::setData(const QModelIndex & index, const QVariant
      & value, int role)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:403,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:403,1
    - Dst: GUIUtil::GetStartOnSystemStartup
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:408,1
    - Dst: SettingToBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:414,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:414,1
    - Dst: ParseProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:421,1
    - Dst: SettingToString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:421,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:421,1
    - Dst: ParseProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:424,1
    - Dst: SettingToString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:424,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:424,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:427,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:428,1
    - Dst: ParseProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:430,1
    - Dst: GetDefaultProxyAddress
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:430,1
    - Dst: ParseProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:435,1
    - Dst: SettingToString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:435,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:435,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:438,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:439,1
    - Dst: ParseProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:441,1
    - Dst: GetDefaultProxyAddress
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:441,1
    - Dst: SettingToBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:447,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:447,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:449,1
    - Dst: SettingToString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:449,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:449,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:454,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:458,1
    - Dst: SettingToString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:458,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:458,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:460,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:464,1
    - Dst: PruneEnabled
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:466,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:466,1
    - Dst: PruneEnabled
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:468,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:468,1
    - Dst: PruneSizeGB
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:468,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:468,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:469,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:469,1
    - Dst: qlonglong
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:472,1
    - Dst: SettingToInt
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:472,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:472,1
    - Dst: qlonglong
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:474,1
    - Dst: SettingToInt
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:474,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:474,1
    - Dst: SettingToBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:476,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:476,1
    - Dst: SettingToBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:478,1
    - Dst: setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:478,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 74
    argCount: 2
    argNames:
    - option
    - ' suffix'
    argTypes:
    - OptionID
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 484
    functionName: OptionsModel::getOption
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 3
    functionsReached:
    - QVariant
    - SettingToInt
    - node
    - GUIUtil::GetStartOnSystemStartup
    - setting
    - SettingToBool
    - SettingName
    - empty
    - QVariant::fromValue
    - GetDefaultProxyAddress
    - SettingToString
    - QSettings::value
    - qlonglong
    - QString::fromStdString
    - ParseProxyString
    - PruneSizeGB
    - PruneEnabled
    - OptionsModel::getOption
    linkageType: ''
    returnType: QVariant
    signature: QVariant OptionsModel::getOption(OptionID option, const std::string&
      suffix) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<FontChoiceAbstract>
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:489,1
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:490,1
    - Dst: QFont::setWeight
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:491,1
    - Dst: std::get<QFont>
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' fc'
    argTypes:
    - FontChoice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 496
    functionName: OptionsModel::getFontForChoice
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 2
    functionsReached:
    - QFont::setWeight
    - std::get<QFont>
    - GUIUtil::fixedPitchFont
    - std::holds_alternative<FontChoiceAbstract>
    linkageType: ''
    returnType: QFont
    signature: QFont OptionsModel::getFontForChoice(const FontChoice& fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OptionsModel::getFontForChoice
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: OptionsModel::getFontForMoney
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - OptionsModel::getFontForChoice
    linkageType: ''
    returnType: QFont
    signature: QFont OptionsModel::getFontForMoney() const
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:506,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:506,1
    - Dst: UpdateRwSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:507,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:507,1
    - Dst: GUIUtil::SetStartOnSystemStartup
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:514,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:514,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:517,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:518,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:522,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:523,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:526,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:527,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:527,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:528,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:528,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:532,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:533,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:538,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:539,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:539,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:539,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:540,1
    - Dst: ProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:540,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:540,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:540,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:540,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:541,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:541,1
    - Dst: UpdateRwSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:541,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:541,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:542,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:542,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:546,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:547,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:547,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:548,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:550,1
    - Dst: ProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:550,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:550,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:550,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:552,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:552,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:552,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:556,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:557,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:557,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:558,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:560,1
    - Dst: ProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:560,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:560,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:560,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:562,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:562,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:562,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:568,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:569,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:569,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:569,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:570,1
    - Dst: ProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:570,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:570,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:570,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:570,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:571,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:571,1
    - Dst: UpdateRwSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:571,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:571,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:572,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:572,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:576,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:577,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:577,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:578,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:580,1
    - Dst: ProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:580,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:580,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:580,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:582,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:582,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:582,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:586,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:587,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:587,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:588,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:590,1
    - Dst: ProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:590,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:590,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:590,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:592,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:592,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:592,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:598,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:599,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:599,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:600,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:604,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:605,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:605,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:606,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:610,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:611,1
    - Dst: OptionsModel::setDisplayUnit
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:615,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:618,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:619,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:620,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:621,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:625,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:626,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:626,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:627,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:632,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:634,1
    - Dst: OptionsModel::FontChoiceToString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:634,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:640,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:641,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:645,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:646,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:649,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:650,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:650,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:650,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:651,1
    - Dst: PruneSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:651,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:651,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:651,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:652,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:652,1
    - Dst: UpdateRwSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:652,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:652,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:653,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:653,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:657,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:658,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:658,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:659,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:661,1
    - Dst: PruneSetting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:661,1
    - Dst: ParsePruneSizeGB
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:661,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:663,1
    - Dst: OptionsModel::getOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:663,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:663,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:667,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:668,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:668,1
    - Dst: toLongLong
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:668,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:669,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:673,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:674,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:674,1
    - Dst: toLongLong
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:674,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:675,1
    - Dst: changed
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:680,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:681,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:681,1
    - Dst: OptionsModel::setRestartRequired
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:682,1
    - Dst: toBool
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:686,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:687,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 189
    argCount: 3
    argNames:
    - option
    - ' value'
    - ' suffix'
    argTypes:
    - OptionID
    - QVariant
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 694
    functionName: OptionsModel::setOption
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 2
    functionsReached:
    - PruneSetting
    - UpdateRwSetting
    - node
    - toBool
    - GUIUtil::SetStartOnSystemStartup
    - toLongLong
    - isValid
    - ParsePruneSizeGB
    - update
    - toString
    - OptionsModel::FontChoiceToString
    - static_cast<int64_t>
    - QSettings::setValue
    - OptionsModel::setRestartRequired
    - empty
    - OptionsModel::setDisplayUnit
    - value
    - changed
    - OptionsModel::setOption
    - ProxyString
    - OptionsModel::getOption
    linkageType: ''
    returnType: bool
    signature: bool OptionsModel::setOption(OptionID option, const QVariant& value,
      const std::string& suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:698,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:698,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:699,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:701,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' new_unit'
    argTypes:
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: OptionsModel::setDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 1
    functionsReached:
    - QSettings::setValue
    - isNull
    - QVariant::fromValue
    - value
    linkageType: ''
    returnType: void
    signature: void OptionsModel::setDisplayUnit(const QVariant& new_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fRequired
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: OptionsModel::setRestartRequired
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 2
    functionsReached:
    - QSettings::setValue
    linkageType: ''
    returnType: void
    signature: void OptionsModel::setRestartRequired(bool fRequired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: OptionsModel::isRestartRequired
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - QSettings::value
    linkageType: ''
    returnType: bool
    signature: bool OptionsModel::isRestartRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: OptionsModel::hasSigner
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 0
    functionsReached:
    - GetArg
    linkageType: ''
    returnType: bool
    signature: bool OptionsModel::hasSigner()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:728,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:728,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:734,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:734,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:735,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:737,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:742,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:742,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:743,1
    - Dst: GetDefaultProxyAddress
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:743,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:748,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:748,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:749,1
    - Dst: GetDefaultProxyAddress
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:749,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:754,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:755,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:756,1
    - Dst: SettingName
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:756,1
    - Dst: ParseProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:758,1
    - Dst: QVariant::toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:758,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:759,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:760,1
    - Dst: ParseProxyString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:762,1
    - Dst: QVariant::toString
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:762,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:763,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:764,1
    - Dst: OptionsModel::setOption
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:766,1
    - Dst: QSettings::remove
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:769,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:772,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:773,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:775,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:776,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:778,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:779,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:780,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:781,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:782,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:783,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:784,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:785,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:786,1
    - Dst: migrate_setting
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:787,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/optionsmodel.cpp:794,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 722
    functionDepth: 5
    functionLinenumber: 722
    functionLinenumberEnd: 795
    functionName: OptionsModel::checkAndMigrate
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.cpp
    functionUses: 1
    functionsReached:
    - QSettings::setValue
    - QVariant::toString
    - node
    - SettingName
    - OptionsModel::setOption
    - QSettings::value
    - GetDefaultProxyAddress
    - QSettings::remove
    - ParseProxyString
    - QSettings::contains
    - migrate_setting
    linkageType: ''
    returnType: void
    signature: void OptionsModel::checkAndMigrate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:17,1
    - Dst: static_cast<MSG *>
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:19,1
    - Dst: m_shutdown_fn
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - eventType
    - pMessage
    - pnResult
    argTypes:
    - QByteArray
    - void*
    - qintptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 40
    functionName: WinShutdownMonitor::nativeEventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MSG *>
    - Q_UNUSED
    - m_shutdown_fn
    linkageType: ''
    returnType: bool
    signature: bool WinShutdownMonitor::nativeEventFilter(const QByteArray &eventType,
      void *pMessage, qintptr *pnResult)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:45,1
    - Dst: GetModuleHandleA
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:45,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:47,1
    - Dst: shutdownBRCreate
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:51,1
    - Dst: toStdWString
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:51,1
    - Dst: qInfo
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:52,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' strReason'
    - ' mainWinId'
    argTypes:
    - QString
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: WinShutdownMonitor::registerShutdownBlockReason
    functionSourceFile: /src/bitcoin-core/src/qt/winshutdownmonitor.cpp
    functionUses: 0
    functionsReached:
    - shutdownBRCreate
    - GetProcAddress
    - qWarning
    - GetModuleHandleA
    - qInfo
    - toStdWString
    linkageType: ''
    returnType: void
    signature: void WinShutdownMonitor::registerShutdownBlockReason(const QString&
      strReason, const HWND& mainWinId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Ui::CreateWalletDialog::CreateWalletDialog
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:17,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:19,1
    - Dst: buttonBox::button
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:20,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:20,1
    - Dst: buttonBox::button
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:21,1
    - Dst: wallet_name_line_edit::setFocus
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:22,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:24,1
    - Dst: buttonBox::button
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:25,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:25,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:28,1
    - Dst: disable_privkeys_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:31,1
    - Dst: external_signer_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:33,1
    - Dst: disable_privkeys_checkbox::isEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:36,1
    - Dst: disable_privkeys_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:37,1
    - Dst: external_signer_checkbox::isEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:41,1
    - Dst: external_signer_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:42,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:47,1
    - Dst: encrypt_wallet_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:48,1
    - Dst: blank_wallet_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:49,1
    - Dst: disable_privkeys_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:50,1
    - Dst: encrypt_wallet_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:55,1
    - Dst: disable_privkeys_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:56,1
    - Dst: blank_wallet_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:57,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:60,1
    - Dst: encrypt_wallet_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:63,1
    - Dst: blank_wallet_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:66,1
    - Dst: blank_wallet_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:68,1
    - Dst: encrypt_wallet_checkbox::isEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:72,1
    - Dst: encrypt_wallet_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:73,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:77,1
    - Dst: disable_privkeys_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:80,1
    - Dst: disable_privkeys_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:82,1
    - Dst: external_signer_checkbox::setToolTip
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:88,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:88,1
    - Dst: external_signer_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:89,1
    - Dst: external_signer_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 93
    functionName: CreateWalletDialog::CreateWalletDialog
    functionSourceFile: /src/bitcoin-core/src/qt/createwalletdialog.cpp
    functionUses: 1
    functionsReached:
    - buttonBox::button
    - blank_wallet_checkbox::setChecked
    - encrypt_wallet_checkbox::setChecked
    - setupUi
    - disable_privkeys_checkbox::setChecked
    - isEmpty
    - disable_privkeys_checkbox::isEnabled
    - encrypt_wallet_checkbox::setEnabled
    - encrypt_wallet_checkbox::isEnabled
    - external_signer_checkbox::setToolTip
    - connect
    - disable_privkeys_checkbox::setEnabled
    - blank_wallet_checkbox::setEnabled
    - tr
    - external_signer_checkbox::isEnabled
    - external_signer_checkbox::setChecked
    - wallet_name_line_edit::setFocus
    - Ui::CreateWalletDialog::CreateWalletDialog
    - external_signer_checkbox::setEnabled
    linkageType: ''
    returnType: void
    signature: void CreateWalletDialog::CreateWalletDialog(QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: CreateWalletDialog::~CreateWalletDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/createwalletdialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CreateWalletDialog::~CreateWalletDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:102,1
    - Dst: external_signer_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:104,1
    - Dst: external_signer_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:105,1
    - Dst: encrypt_wallet_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:106,1
    - Dst: encrypt_wallet_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:107,1
    - Dst: blank_wallet_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:109,1
    - Dst: blank_wallet_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:110,1
    - Dst: disable_privkeys_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:111,1
    - Dst: disable_privkeys_checkbox::setChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:112,1
    - Dst: getName
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:113,1
    - Dst: wallet_name_line_edit::setText
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:114,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:114,1
    - Dst: buttonBox::button
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:115,1
    - Dst: external_signer_checkbox::setEnabled
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' signers'
    argTypes:
    - std::vector<std::unique_ptr<interfaces::ExternalSigner>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: CreateWalletDialog::setSigners
    functionSourceFile: /src/bitcoin-core/src/qt/createwalletdialog.cpp
    functionUses: 0
    functionsReached:
    - empty
    - disable_privkeys_checkbox::setEnabled
    - blank_wallet_checkbox::setChecked
    - buttonBox::button
    - encrypt_wallet_checkbox::setChecked
    - blank_wallet_checkbox::setEnabled
    - wallet_name_line_edit::setText
    - getName
    - QString::fromStdString
    - encrypt_wallet_checkbox::setEnabled
    - external_signer_checkbox::setEnabled
    - external_signer_checkbox::setChecked
    - disable_privkeys_checkbox::setChecked
    linkageType: ''
    returnType: void
    signature: void CreateWalletDialog::setSigners(const std::vector<std::unique_ptr<interfaces::ExternalSigner>>&
      signers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet_name_line_edit::text
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: CreateWalletDialog::walletName
    functionSourceFile: /src/bitcoin-core/src/qt/createwalletdialog.cpp
    functionUses: 0
    functionsReached:
    - wallet_name_line_edit::text
    linkageType: ''
    returnType: QString
    signature: QString CreateWalletDialog::walletName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_wallet_checkbox::isChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: CreateWalletDialog::isEncryptWalletChecked
    functionSourceFile: /src/bitcoin-core/src/qt/createwalletdialog.cpp
    functionUses: 0
    functionsReached:
    - encrypt_wallet_checkbox::isChecked
    linkageType: ''
    returnType: bool
    signature: bool CreateWalletDialog::isEncryptWalletChecked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disable_privkeys_checkbox::isChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: CreateWalletDialog::isDisablePrivateKeysChecked
    functionSourceFile: /src/bitcoin-core/src/qt/createwalletdialog.cpp
    functionUses: 0
    functionsReached:
    - disable_privkeys_checkbox::isChecked
    linkageType: ''
    returnType: bool
    signature: bool CreateWalletDialog::isDisablePrivateKeysChecked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blank_wallet_checkbox::isChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: CreateWalletDialog::isMakeBlankWalletChecked
    functionSourceFile: /src/bitcoin-core/src/qt/createwalletdialog.cpp
    functionUses: 0
    functionsReached:
    - blank_wallet_checkbox::isChecked
    linkageType: ''
    returnType: bool
    signature: bool CreateWalletDialog::isMakeBlankWalletChecked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: external_signer_checkbox::isChecked
      Src: /src/bitcoin-core/src/qt/createwalletdialog.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: CreateWalletDialog::isExternalSignerChecked
    functionSourceFile: /src/bitcoin-core/src/qt/createwalletdialog.cpp
    functionUses: 0
    functionsReached:
    - external_signer_checkbox::isChecked
    linkageType: ''
    returnType: bool
    signature: bool CreateWalletDialog::isExternalSignerChecked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/winshutdownmonitor.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - shutdown_fn
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: WinShutdownMonitor::WinShutdownMonitor
    functionSourceFile: /src/bitcoin-core/src/qt/winshutdownmonitor.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WinShutdownMonitor(std::function<void()> shutdown_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCParseCommandLine
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:50,1
    - Dst: message
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:114,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:143,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:143,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:143,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:143,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:144,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:144,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:144,1
    - Dst: count
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:185,1
    - Dst: GUIUtil::formatDurationStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:185,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 192
    functionName: QWidget
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.h
    functionUses: 0
    functionsReached:
    - GUIUtil::formatDurationStr
    - tr
    - RPCParseCommandLine
    - message
    - count
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QWidget
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCParseCommandLine
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' node'
    - strResult
    - strCommand
    argTypes:
    - interfaces::Node
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: RPCExecuteCommandLine
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.h
    functionUses: 0
    functionsReached:
    - RPCParseCommandLine
    linkageType: ''
    returnType: bool
    signature: bool RPCExecuteCommandLine(interfaces::Node& node, std::string &strResult,
      const std::string &strCommand, std::string * const pstrFilteredOut = nullptr,
      const QString& wallet_name = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tabs
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TabTypes>
    signature: std::vector<TabTypes> tabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - category
    - msg
    argTypes:
    - int
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: message
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.h
    functionUses: 3
    functionsReached:
    - message
    linkageType: ''
    returnType: void
    signature: void message(int category, const QString &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::seconds::count
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:185,1
    - Dst: GUIUtil::formatDurationStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:185,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - time_now
    - time_at_event
    argTypes:
    - std::chrono::seconds
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: TimeDurationField
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.h
    functionUses: 0
    functionsReached:
    - GUIUtil::formatDurationStr
    - std::chrono::seconds::count
    - tr
    linkageType: ''
    returnType: QString
    signature: QString TimeDurationField(std::chrono::seconds time_now, std::chrono::seconds
      time_at_event) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ui::ReceiveRequestDialog::ReceiveRequestDialog
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:21,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:23,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: ReceiveRequestDialog::ReceiveRequestDialog
    functionSourceFile: /src/bitcoin-core/src/qt/receiverequestdialog.cpp
    functionUses: 3
    functionsReached:
    - GUIUtil::handleCloseWindowShortcut
    - setupUi
    - Ui::ReceiveRequestDialog::ReceiveRequestDialog
    linkageType: ''
    returnType: void
    signature: void ReceiveRequestDialog::ReceiveRequestDialog(QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ReceiveRequestDialog::~ReceiveRequestDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/receiverequestdialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReceiveRequestDialog::~ReceiveRequestDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:37,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:37,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - _model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: ReceiveRequestDialog::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/receiverequestdialog.cpp
    functionUses: 0
    functionsReached:
    - connect
    - WalletModel*::getOptionsModel
    - update
    linkageType: ''
    returnType: void
    signature: void ReceiveRequestDialog::setModel(WalletModel *_model)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:46,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:46,1
    - Dst: label::isEmpty
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:46,1
    - Dst: GUIUtil::formatBitcoinURI
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:47,1
    - Dst: qr_code::setQR
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:50,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:51,1
    - Dst: btnSaveAs::setEnabled
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:53,1
    - Dst: btnSaveAs::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:56,1
    - Dst: qr_code::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:57,1
    - Dst: uri_content::setText
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:60,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:60,1
    - Dst: address_content::setText
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:61,1
    - Dst: amount_tag::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:64,1
    - Dst: amount_content::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:65,1
    - Dst: ReceiveRequestDialog::updateDisplayUnit
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:67,1
    - Dst: label::isEmpty
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:69,1
    - Dst: label_content::setText
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:70,1
    - Dst: label_tag::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:72,1
    - Dst: label_content::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:73,1
    - Dst: message::isEmpty
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:76,1
    - Dst: message_content::setText
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:77,1
    - Dst: message_tag::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:79,1
    - Dst: message_content::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:80,1
    - Dst: getWalletName
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:83,1
    - Dst: wallet_content::setText
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:84,1
    - Dst: getWalletName
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:84,1
    - Dst: wallet_tag::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:86,1
    - Dst: wallet_content::hide
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:87,1
    - Dst: btnVerify::setVisible
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:90,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:90,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:92,1
    - Dst: displayAddress
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:93,1
    - Dst: address::toStdString
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - _info
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 95
    functionName: ReceiveRequestDialog::setInfo
    functionSourceFile: /src/bitcoin-core/src/qt/receiverequestdialog.cpp
    functionUses: 0
    functionsReached:
    - message_tag::hide
    - getWalletName
    - btnSaveAs::setEnabled
    - GUIUtil::HtmlEscape
    - message_content::setText
    - message::isEmpty
    - label_tag::hide
    - wallet_tag::hide
    - message_content::hide
    - label_content::setText
    - btnVerify::setVisible
    - label::isEmpty
    - displayAddress
    - address::toStdString
    - amount_content::hide
    - amount_tag::hide
    - connect
    - address_content::setText
    - qr_code::setQR
    - label_content::hide
    - tr
    - setWindowTitle
    - btnSaveAs::hide
    - GUIUtil::formatBitcoinURI
    - wallet_content::hide
    - ReceiveRequestDialog::updateDisplayUnit
    - uri_content::setText
    - wallet
    - wallet_content::setText
    - qr_code::hide
    linkageType: ''
    returnType: void
    signature: void ReceiveRequestDialog::setInfo(const SendCoinsRecipient &_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: amount_content::setText
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:100,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:100,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ReceiveRequestDialog::updateDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/receiverequestdialog.cpp
    functionUses: 1
    functionsReached:
    - amount_content::setText
    - getOptionsModel
    - BitcoinUnits::formatWithUnit
    linkageType: ''
    returnType: void
    signature: void ReceiveRequestDialog::updateDisplayUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:105,1
    - Dst: GUIUtil::formatBitcoinURI
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: ReceiveRequestDialog::on_btnCopyURI_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/receiverequestdialog.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::formatBitcoinURI
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void ReceiveRequestDialog::on_btnCopyURI_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/receiverequestdialog.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ReceiveRequestDialog::on_btnCopyAddress_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/receiverequestdialog.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void ReceiveRequestDialog::on_btnCopyAddress_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ui::SignVerifyMessageDialog::SignVerifyMessageDialog
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:26,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:29,1
    - Dst: addressBookButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:31,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:31,1
    - Dst: pasteButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:32,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:32,1
    - Dst: copySignatureButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:33,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:33,1
    - Dst: signMessageButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:34,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:34,1
    - Dst: clearButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:35,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:35,1
    - Dst: addressBookButton_VM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:36,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:36,1
    - Dst: verifyMessageButton_VM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:37,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:37,1
    - Dst: clearButton_VM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:38,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:38,1
    - Dst: GUIUtil::setupAddressWidget
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:40,1
    - Dst: GUIUtil::setupAddressWidget
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:41,1
    - Dst: addressIn_SM::installEventFilter
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:43,1
    - Dst: messageIn_SM::installEventFilter
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:44,1
    - Dst: signatureOut_SM::installEventFilter
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:45,1
    - Dst: addressIn_VM::installEventFilter
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:46,1
    - Dst: messageIn_VM::installEventFilter
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:47,1
    - Dst: signatureIn_VM::installEventFilter
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:48,1
    - Dst: signatureOut_SM::setFont
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:50,1
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:50,1
    - Dst: signatureIn_VM::setFont
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:51,1
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:51,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - _platformStyle
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: SignVerifyMessageDialog::SignVerifyMessageDialog
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 1
    functionsReached:
    - signatureOut_SM::setFont
    - GUIUtil::fixedPitchFont
    - addressIn_VM::installEventFilter
    - setupUi
    - clearButton_VM::setIcon
    - clearButton_SM::setIcon
    - pasteButton_SM::setIcon
    - addressIn_SM::installEventFilter
    - addressBookButton_VM::setIcon
    - verifyMessageButton_VM::setIcon
    - copySignatureButton_SM::setIcon
    - addressBookButton_SM::setIcon
    - signatureIn_VM::installEventFilter
    - GUIUtil::handleCloseWindowShortcut
    - messageIn_VM::installEventFilter
    - signMessageButton_SM::setIcon
    - GUIUtil::setupAddressWidget
    - messageIn_SM::installEventFilter
    - Ui::SignVerifyMessageDialog::SignVerifyMessageDialog
    - signatureOut_SM::installEventFilter
    - signatureIn_VM::setFont
    - SingleColorIcon
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::SignVerifyMessageDialog(const PlatformStyle
      *_platformStyle, QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: SignVerifyMessageDialog::~SignVerifyMessageDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::~SignVerifyMessageDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: SignVerifyMessageDialog::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::setModel(WalletModel *_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addressIn_SM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:68,1
    - Dst: messageIn_SM::setFocus
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: SignVerifyMessageDialog::setAddress_SM
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - addressIn_SM::setText
    - messageIn_SM::setFocus
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::setAddress_SM(const QString &address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addressIn_VM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:74,1
    - Dst: messageIn_VM::setFocus
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: SignVerifyMessageDialog::setAddress_VM
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - messageIn_VM::setFocus
    - addressIn_VM::setText
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::setAddress_VM(const QString &address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tabWidget::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:80,1
    - Dst: SignVerifyMessageDialog::show
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fShow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: SignVerifyMessageDialog::showTab_SM
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - SignVerifyMessageDialog::show
    - tabWidget::setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::showTab_SM(bool fShow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tabWidget::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:87,1
    - Dst: SignVerifyMessageDialog::show
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fShow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: SignVerifyMessageDialog::showTab_VM
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - SignVerifyMessageDialog::show
    - tabWidget::setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::showTab_VM(bool fShow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:94,1
    - Dst: refresh
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:96,1
    - Dst: AddressBookPage::setModel
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:98,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:98,1
    - Dst: AddressBookPage::exec
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:99,1
    - Dst: SignVerifyMessageDialog::setAddress_SM
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:101,1
    - Dst: AddressBookPage::getReturnValue
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: SignVerifyMessageDialog::on_addressBookButton_SM_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - AddressBookPage::getReturnValue
    - refresh
    - AddressBookPage::exec
    - getAddressTableModel
    - SignVerifyMessageDialog::setAddress_SM
    - AddressBookPage::setModel
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::on_addressBookButton_SM_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignVerifyMessageDialog::setAddress_SM
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:108,1
    - Dst: QApplication::clipboard
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: SignVerifyMessageDialog::on_pasteButton_SM_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - SignVerifyMessageDialog::setAddress_SM
    - QApplication::clipboard
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::on_pasteButton_SM_clicked()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: signatureOut_SM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:117,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:119,1
    - Dst: addressIn_SM::text
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:119,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:120,1
    - Dst: statusLabel_SM::setStyleSheet
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:121,1
    - Dst: statusLabel_SM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:122,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:122,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:122,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:122,1
    - Dst: std::get_if<PKHash>
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:125,1
    - Dst: addressIn_SM::setValid
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:127,1
    - Dst: statusLabel_SM::setStyleSheet
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:128,1
    - Dst: statusLabel_SM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:129,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:129,1
    - Dst: requestUnlock
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:133,1
    - Dst: WalletModel::UnlockContext::isValid
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:134,1
    - Dst: statusLabel_SM::setStyleSheet
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:136,1
    - Dst: statusLabel_SM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:137,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:137,1
    - Dst: messageIn_SM::document
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:141,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:143,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:148,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:151,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:154,1
    - Dst: statusLabel_SM::setStyleSheet
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:160,1
    - Dst: statusLabel_SM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:161,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:161,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:161,1
    - Dst: statusLabel_SM::setStyleSheet
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:165,1
    - Dst: statusLabel_SM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:166,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:166,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:166,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:166,1
    - Dst: signatureOut_SM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:168,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 169
    functionName: SignVerifyMessageDialog::on_signMessageButton_SM_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - QString
    - IsValidDestination
    - messageIn_SM::document
    - DecodeDestination
    - addressIn_SM::setValid
    - signatureOut_SM::setText
    - wallet
    - std::get_if<PKHash>
    - addressIn_SM::text
    - statusLabel_SM::setText
    - tr
    - QString::fromStdString
    - statusLabel_SM::setStyleSheet
    - WalletModel::UnlockContext::isValid
    - signatureOut_SM::clear
    - requestUnlock
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::on_signMessageButton_SM_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:173,1
    - Dst: signatureOut_SM::text
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: SignVerifyMessageDialog::on_copySignatureButton_SM_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - signatureOut_SM::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::on_copySignatureButton_SM_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addressIn_SM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:178,1
    - Dst: messageIn_SM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:179,1
    - Dst: signatureOut_SM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:180,1
    - Dst: statusLabel_SM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:181,1
    - Dst: addressIn_SM::setFocus
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: SignVerifyMessageDialog::on_clearButton_SM_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - statusLabel_SM::clear
    - messageIn_SM::clear
    - addressIn_SM::setFocus
    - addressIn_SM::clear
    - signatureOut_SM::clear
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::on_clearButton_SM_clicked()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:188,1
    - Dst: AddressBookPage::setModel
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:191,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:191,1
    - Dst: AddressBookPage::exec
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:192,1
    - Dst: SignVerifyMessageDialog::setAddress_VM
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:194,1
    - Dst: AddressBookPage::getReturnValue
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: SignVerifyMessageDialog::on_addressBookButton_VM_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - SignVerifyMessageDialog::setAddress_VM
    - AddressBookPage::getReturnValue
    - AddressBookPage::exec
    - getAddressTableModel
    - AddressBookPage::setModel
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::on_addressBookButton_VM_clicked()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: addressIn_VM::text
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:201,1
    - Dst: signatureIn_VM::text
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:202,1
    - Dst: messageIn_VM::document
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:203,1
    - Dst: MessageVerify
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:205,1
    - Dst: statusLabel_VM::setStyleSheet
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:208,1
    - Dst: statusLabel_VM::setStyleSheet
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:210,1
    - Dst: statusLabel_VM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:215,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:216,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:216,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:216,1
    - Dst: statusLabel_VM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:220,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:221,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:221,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:222,1
    - Dst: addressIn_VM::setValid
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:226,1
    - Dst: statusLabel_VM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:227,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:227,1
    - Dst: signatureIn_VM::setValid
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:230,1
    - Dst: statusLabel_VM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:231,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:232,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:232,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:233,1
    - Dst: signatureIn_VM::setValid
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:237,1
    - Dst: statusLabel_VM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:238,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:239,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:239,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:240,1
    - Dst: statusLabel_VM::setText
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:244,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:245,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:245,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 199
    functionDepth: 6
    functionLinenumber: 199
    functionLinenumberEnd: 249
    functionName: SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - QString
    - MessageVerify
    - addressIn_VM::setValid
    - signatureIn_VM::text
    - messageIn_VM::document
    - statusLabel_VM::setStyleSheet
    - tr
    - signatureIn_VM::setValid
    - statusLabel_VM::setText
    - addressIn_VM::text
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addressIn_VM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:253,1
    - Dst: signatureIn_VM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:254,1
    - Dst: messageIn_VM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:255,1
    - Dst: statusLabel_VM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:256,1
    - Dst: addressIn_VM::setFocus
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: SignVerifyMessageDialog::on_clearButton_VM_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - addressIn_VM::clear
    - addressIn_VM::setFocus
    - signatureIn_VM::clear
    - messageIn_VM::clear
    - statusLabel_VM::clear
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::on_clearButton_VM_clicked()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:263,1
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:263,1
    - Dst: tabWidget::currentIndex
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:265,1
    - Dst: statusLabel_SM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:268,1
    - Dst: signatureOut_SM::selectAll
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:273,1
    - Dst: tabWidget::currentIndex
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:277,1
    - Dst: statusLabel_VM::clear
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:280,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - object
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 284
    functionName: SignVerifyMessageDialog::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 0
    functionsReached:
    - statusLabel_SM::clear
    - tabWidget::currentIndex
    - QEvent*::type
    - signatureOut_SM::selectAll
    - AskPassphraseDialog::eventFilter
    - statusLabel_VM::clear
    linkageType: ''
    returnType: bool
    signature: bool SignVerifyMessageDialog::eventFilter(QObject *object, QEvent *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:288,1
    - Dst: addressBookButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:289,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:289,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:289,1
    - Dst: pasteButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:290,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:290,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:290,1
    - Dst: copySignatureButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:291,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:291,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:291,1
    - Dst: signMessageButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:292,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:292,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:292,1
    - Dst: clearButton_SM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:293,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:293,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:293,1
    - Dst: addressBookButton_VM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:294,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:294,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:294,1
    - Dst: verifyMessageButton_VM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:295,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:295,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:295,1
    - Dst: clearButton_VM::setIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:296,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:296,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:296,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: SignVerifyMessageDialog::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/signverifymessagedialog.cpp
    functionUses: 1
    functionsReached:
    - clearButton_SM::setIcon
    - pasteButton_SM::setIcon
    - QStringLiteral
    - SignVerifyMessageDialog::changeEvent
    - signMessageButton_SM::setIcon
    - addressBookButton_VM::setIcon
    - verifyMessageButton_VM::setIcon
    - QEvent*::type
    - copySignatureButton_SM::setIcon
    - SingleColorIcon
    - clearButton_VM::setIcon
    - addressBookButton_SM::setIcon
    linkageType: ''
    returnType: void
    signature: void SignVerifyMessageDialog::changeEvent(QEvent* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: translate
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:30,1
    - Dst: QPixmap::toImage
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:38,1
    - Dst: QImage::height
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:43,1
    - Dst: reinterpret_cast< QRgb *>
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:45,1
    - Dst: QImage::scanLine
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:45,1
    - Dst: QImage::width
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:48,1
    - Dst: qAlpha
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:51,1
    - Dst: QColor::getHsl
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:55,1
    - Dst: QColor::setHsl
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:66,1
    - Dst: QColor::rgba
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:69,1
    - Dst: QPixmap::convertFromImage
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:74,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:77,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:78,1
    - Dst: QPixmap::scaled
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:78,1
    - Dst: QSize
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - _appName
    - iconColorHueShift
    - iconColorSaturationReduction
    - _titleAddText
    argTypes:
    - QString
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 79
    functionName: NetworkStyle::NetworkStyle
    functionSourceFile: /src/bitcoin-core/src/qt/networkstyle.cpp
    functionUses: 0
    functionsReached:
    - QImage::height
    - QImage::width
    - qAlpha
    - QColor::getHsl
    - reinterpret_cast< QRgb *>
    - QImage::scanLine
    - QPixmap::scaled
    - QColor::setHsl
    - QPixmap::convertFromImage
    - translate
    - QPixmap::toImage
    - QIcon
    - QSize
    - QColor::rgba
    linkageType: ''
    returnType: void
    signature: void NetworkStyle::NetworkStyle(const QString &_appName, const int
      iconColorHueShift, const int iconColorSaturationReduction, const char *_titleAddText)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:83,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:83,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:90,1
    - Dst: NetworkStyle::NetworkStyle
      Src: /src/bitcoin-core/src/qt/networkstyle.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - networkId
    argTypes:
    - ChainType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: NetworkStyle::instantiate
    functionSourceFile: /src/bitcoin-core/src/qt/networkstyle.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - ChainTypeToString
    - NetworkStyle::NetworkStyle
    - strprintf
    linkageType: ''
    returnType: NetworkStyle
    signature: NetworkStyle * NetworkStyle::instantiate(const ChainType networkId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizeHint
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:32,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:35,1
    - Dst: setContentsMargins
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:36,1
    - Dst: QStackedWidget::QStackedWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:37,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:38,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:39,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:42,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:43,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:45,1
    - Dst: QLabel::QLabel
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:45,1
    - Dst: QLabel*::setAlignment
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:46,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:47,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:50,1
    - Dst: QPushButton::QPushButton
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:50,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:51,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:52,1
    - Dst: QGroupBox*::setLayout
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:53,1
    - Dst: addWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - _platformStyle
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 56
    functionName: WalletFrame::WalletFrame
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - QPushButton::QPushButton
    - connect
    - QVBoxLayout::QVBoxLayout
    - sizeHint
    - addWidget
    - QHBoxLayout*::addWidget
    - tr
    - QLabel::QLabel
    - QStackedWidget::QStackedWidget
    - QHBoxLayout::QHBoxLayout
    - QGroupBox*::setLayout
    - QLabel*::setAlignment
    - setContentsMargins
    - QGroupBox::QGroupBox
    - QHBoxLayout*::setContentsMargins
    - QVBoxLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void WalletFrame::WalletFrame(const PlatformStyle* _platformStyle,
      QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: WalletFrame::~WalletFrame()
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletFrame::~WalletFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constBegin
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:64,1
    - Dst: constEnd
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:64,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - _clientModel
    argTypes:
    - ClientModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: WalletFrame::setClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - constEnd
    - constBegin
    linkageType: ''
    returnType: void
    signature: void WalletFrame::setClientModel(ClientModel *_clientModel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:73,1
    - Dst: WalletView*::getWalletModel
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:73,1
    - Dst: WalletView*::setClientModel
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:75,1
    - Dst: WalletView*::showOutOfSyncWarning
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:76,1
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:78,1
    - Dst: WalletView*::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:80,1
    - Dst: WalletView*::currentIndex
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:80,1
    - Dst: WalletView*::gotoOverviewPage
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:82,1
    - Dst: addWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:85,1
    - Dst: WalletView*::getWalletModel
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - walletView
    argTypes:
    - WalletView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: WalletFrame::addView
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletView*::currentIndex
    - WalletView*::setClientModel
    - WalletView*::setCurrentIndex
    - WalletView*::showOutOfSyncWarning
    - WalletView*::gotoOverviewPage
    - WalletView*::getWalletModel
    - WalletFrame::currentWalletView
    - addWidget
    - count
    linkageType: ''
    returnType: bool
    signature: bool WalletFrame::addView(WalletView* walletView)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:93,1
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:96,1
    - Dst: WalletView*::sizePolicy
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:98,1
    - Dst: QSizePolicy::setHorizontalPolicy
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:99,1
    - Dst: WalletView*::setSizePolicy
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:100,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:103,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:104,1
    - Dst: WalletView*::sizePolicy
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:107,1
    - Dst: QSizePolicy::setHorizontalPolicy
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:108,1
    - Dst: WalletView*::setSizePolicy
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:109,1
    - Dst: WalletView*::updateGeometry
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:110,1
    - Dst: setCurrentWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - wallet_model
    argTypes:
    - WalletModel*
    assertStmts:
    - condition: (walletView)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bitcoin-core/src/qt/walletframe.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 115
    functionName: WalletFrame::setCurrentWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - setCurrentWidget
    - WalletView*::updateGeometry
    - WalletView*::setSizePolicy
    - WalletFrame::currentWalletView
    - value
    - assert
    - QSizePolicy::setHorizontalPolicy
    - count
    - WalletView*::sizePolicy
    linkageType: ''
    returnType: void
    signature: void WalletFrame::setCurrentWallet(WalletModel* wallet_model)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:119,1
    - Dst: take
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:121,1
    - Dst: removeWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wallet_model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: WalletFrame::removeWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - take
    - removeWidget
    - count
    linkageType: ''
    returnType: void
    signature: void WalletFrame::removeWallet(WalletModel* wallet_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constBegin
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:129,1
    - Dst: constEnd
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:129,1
    - Dst: removeWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:130,1
    - Dst: QMap<WalletModel*, WalletView*>::const_iterator::value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:130,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: WalletFrame::removeAllWallets
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - QMap<WalletModel*, WalletView*>::const_iterator::value
    - removeWidget
    - constEnd
    - constBegin
    - clear
    linkageType: ''
    returnType: void
    signature: void WalletFrame::removeAllWallets()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:136,1
    - Dst: WalletView*::handlePaymentRequest
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - recipient
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: WalletFrame::handlePaymentRequest
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletFrame::currentWalletView
    - WalletView*::handlePaymentRequest
    linkageType: ''
    returnType: bool
    signature: bool WalletFrame::handlePaymentRequest(const SendCoinsRecipient &recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constBegin
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:147,1
    - Dst: constEnd
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:147,1
    - Dst: QMap<WalletModel*, WalletView*>::const_iterator::value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fShow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: WalletFrame::showOutOfSyncWarning
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - QMap<WalletModel*, WalletView*>::const_iterator::value
    - constEnd
    - constBegin
    linkageType: ''
    returnType: void
    signature: void WalletFrame::showOutOfSyncWarning(bool fShow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constBegin
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:154,1
    - Dst: constEnd
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:154,1
    - Dst: QMap<WalletModel*, WalletView*>::const_iterator::value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: WalletFrame::gotoOverviewPage
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - QMap<WalletModel*, WalletView*>::const_iterator::value
    - constEnd
    - constBegin
    linkageType: ''
    returnType: void
    signature: void WalletFrame::gotoOverviewPage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constBegin
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:161,1
    - Dst: constEnd
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:161,1
    - Dst: QMap<WalletModel*, WalletView*>::const_iterator::value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: WalletFrame::gotoHistoryPage
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - QMap<WalletModel*, WalletView*>::const_iterator::value
    - constEnd
    - constBegin
    linkageType: ''
    returnType: void
    signature: void WalletFrame::gotoHistoryPage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constBegin
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:168,1
    - Dst: constEnd
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:168,1
    - Dst: QMap<WalletModel*, WalletView*>::const_iterator::value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: WalletFrame::gotoReceiveCoinsPage
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - QMap<WalletModel*, WalletView*>::const_iterator::value
    - constEnd
    - constBegin
    linkageType: ''
    returnType: void
    signature: void WalletFrame::gotoReceiveCoinsPage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constBegin
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:175,1
    - Dst: constEnd
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:175,1
    - Dst: QMap<WalletModel*, WalletView*>::const_iterator::value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: WalletFrame::gotoSendCoinsPage
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - QMap<WalletModel*, WalletView*>::const_iterator::value
    - constEnd
    - constBegin
    linkageType: ''
    returnType: void
    signature: void WalletFrame::gotoSendCoinsPage(QString addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:181,1
    - Dst: WalletView*::gotoSignMessageTab
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: WalletFrame::gotoSignMessageTab
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletView*::gotoSignMessageTab
    - WalletFrame::currentWalletView
    linkageType: ''
    returnType: void
    signature: void WalletFrame::gotoSignMessageTab(QString addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:188,1
    - Dst: WalletView*::gotoVerifyMessageTab
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: WalletFrame::gotoVerifyMessageTab
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletView*::gotoVerifyMessageTab
    - WalletFrame::currentWalletView
    linkageType: ''
    returnType: void
    signature: void WalletFrame::gotoVerifyMessageTab(QString addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::clipboard
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:198,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:199,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:201,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:201,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:204,1
    - Dst: GUIUtil::getOpenFileName
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:206,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:207,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:207,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:208,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:209,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:210,1
    - Dst: QString::toLocal8Bit
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:210,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:211,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:211,1
    - Dst: QString::toLocal8Bit
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:214,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:215,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:218,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:218,1
    - Dst: std::string::erase
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:219,1
    - Dst: std::string::find_last_not_of
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:219,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:220,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:221,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:222,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:227,1
    - Dst: DecodeRawPSBT
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:228,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:228,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:229,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:229,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:229,1
    - Dst: WalletFrame::currentWalletModel
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:233,1
    - Dst: PSBTOperationsDialog::PSBTOperationsDialog
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:233,1
    - Dst: auto::openWithPSBT
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:234,1
    - Dst: GUIUtil::ShowModalDialogAsynchronously
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - from_clipboard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 236
    functionName: WalletFrame::gotoLoadPSBT
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::getOpenFileName
    - QString
    - std::string::find_last_not_of
    - std::move
    - DecodeRawPSBT
    - auto::value
    - std::vector::end
    - GUIUtil::ShowModalDialogAsynchronously
    - QString::isEmpty
    - DecodeBase64
    - WalletFrame::currentWalletModel
    - PSBTOperationsDialog::PSBTOperationsDialog
    - std::vector::assign
    - QString::fromStdString
    - QString::toLocal8Bit
    - GetFileSize
    - tr
    - MakeByteSpan
    - auto::openWithPSBT
    - auto::has_value
    - std::vector::begin
    - std::string::erase
    - QApplication::clipboard
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: void
    signature: void WalletFrame::gotoLoadPSBT(bool from_clipboard)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:240,1
    - Dst: WalletView*::encryptWallet
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: WalletFrame::encryptWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletView*::encryptWallet
    - WalletFrame::currentWalletView
    linkageType: ''
    returnType: void
    signature: void WalletFrame::encryptWallet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:247,1
    - Dst: WalletView*::backupWallet
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: WalletFrame::backupWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletView*::backupWallet
    - WalletFrame::currentWalletView
    linkageType: ''
    returnType: void
    signature: void WalletFrame::backupWallet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:254,1
    - Dst: WalletView*::changePassphrase
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: WalletFrame::changePassphrase
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletView*::changePassphrase
    - WalletFrame::currentWalletView
    linkageType: ''
    returnType: void
    signature: void WalletFrame::changePassphrase()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:261,1
    - Dst: WalletView*::unlockWallet
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: WalletFrame::unlockWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletView*::unlockWallet
    - WalletFrame::currentWalletView
    linkageType: ''
    returnType: void
    signature: void WalletFrame::unlockWallet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:268,1
    - Dst: WalletView*::usedSendingAddresses
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: WalletFrame::usedSendingAddresses
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletView*::usedSendingAddresses
    - WalletFrame::currentWalletView
    linkageType: ''
    returnType: void
    signature: void WalletFrame::usedSendingAddresses()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:275,1
    - Dst: WalletView*::usedReceivingAddresses
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: WalletFrame::usedReceivingAddresses
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 0
    functionsReached:
    - WalletFrame::currentWalletView
    - WalletView*::usedReceivingAddresses
    linkageType: ''
    returnType: void
    signature: void WalletFrame::usedReceivingAddresses()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<WalletView*>
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:282,1
    - Dst: currentWidget
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: WalletFrame::currentWalletView
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 11
    functionsReached:
    - currentWidget
    - qobject_cast<WalletView*>
    linkageType: ''
    returnType: WalletView
    signature: WalletView * WalletFrame::currentWalletView() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletFrame::currentWalletView
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:287,1
    - Dst: WalletView*::getWalletModel
      Src: /src/bitcoin-core/src/qt/walletframe.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: WalletFrame::currentWalletModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletframe.cpp
    functionUses: 1
    functionsReached:
    - WalletView*::getWalletModel
    - WalletFrame::currentWalletView
    linkageType: ''
    returnType: WalletModel
    signature: WalletModel * WalletFrame::currentWalletModel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 48
    functionName: QWidget
    functionSourceFile: /src/bitcoin-core/src/qt/trafficgraphwidget.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QWidget
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 83
    functionName: QWidget
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QWidget
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: AddressTableEntry
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressTableEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _type
    - _label
    - _address
    argTypes:
    - Type
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: AddressTableEntry
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressTableEntry(Type _type, const QString &_label, const QString
      &_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - AddressTableEntry
    - AddressTableEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: operator()(const AddressTableEntry &a, const AddressTableEntry &b)
      const
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const AddressTableEntry &a, const AddressTableEntry
      &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - AddressTableEntry
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: operator()(const AddressTableEntry &a, const QString &b) const
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const AddressTableEntry &a, const QString &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QString
    - AddressTableEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator()(const QString &a, const AddressTableEntry &b) const
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const QString &a, const AddressTableEntry &b) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - purpose
    - isMine
    argTypes:
    - wallet::AddressPurpose
    - bool
    assertStmts:
    - condition: (false)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: translateTransactionType
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: AddressTableEntry::Type
    signature: AddressTableEntry::Type translateTransactionType(wallet::AddressPurpose
      purpose, bool isMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - AddressTableModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: AddressTablePriv::AddressTablePriv
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressTablePriv(AddressTableModel *_parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:79,1
    - Dst: getAddresses
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:81,1
    - Dst: std::holds_alternative<PKHash>
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:83,1
    - Dst: translateTransactionType
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:86,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:88,1
    - Dst: AddressTableEntry
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:88,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:89,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:90,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:90,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:96,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:96,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:96,1
    - Dst: AddressTableEntryLessThan
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - interfaces::Wallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: AddressTablePriv::refreshAddressTable
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - end
    - translateTransactionType
    - EncodeDestination
    - append
    - QString::fromStdString
    - clear
    - AddressTableEntryLessThan
    - getAddresses
    - AddressTableEntry
    - std::sort
    - begin
    - std::holds_alternative<PKHash>
    linkageType: ''
    returnType: void
    signature: void refreshAddressTable(interfaces::Wallet& wallet, bool pk_hash_only
      = false)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:102,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:103,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:103,1
    - Dst: AddressTableEntryLessThan
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:103,1
    - Dst: std::upper_bound
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:104,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:105,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:105,1
    - Dst: AddressTableEntryLessThan
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:105,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:106,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:107,1
    - Dst: translateTransactionType
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:109,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:116,1
    - Dst: beginInsertRows
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:119,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:119,1
    - Dst: insert
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:120,1
    - Dst: AddressTableEntry
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:120,1
    - Dst: endInsertRows
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:121,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:126,1
    - Dst: emitDataChanged
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:131,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:136,1
    - Dst: beginRemoveRows
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:139,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:139,1
    - Dst: erase
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:140,1
    - Dst: endRemoveRows
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - address
    - label
    - isMine
    - purpose
    - status
    argTypes:
    - QString
    - QString
    - bool
    - wallet::AddressPurpose
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: AddressTablePriv::updateEntry
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - end
    - qWarning
    - translateTransactionType
    - erase
    - emitDataChanged
    - endInsertRows
    - std::lower_bound
    - beginRemoveRows
    - endRemoveRows
    - AddressTableEntryLessThan
    - AddressTableEntry
    - std::upper_bound
    - beginInsertRows
    - insert
    - begin
    - QModelIndex
    linkageType: ''
    returnType: void
    signature: void updateEntry(const QString &address, const QString &label, bool
      isMine, wallet::AddressPurpose purpose, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddressTablePriv::size
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: AddressTablePriv::size
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 1
    functionsReached:
    - AddressTablePriv::size
    linkageType: ''
    returnType: int
    signature: int size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddressTablePriv::size
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: AddressTablePriv::index
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - AddressTablePriv::size
    linkageType: ''
    returnType: AddressTableEntry
    signature: AddressTableEntry *index(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:167,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:167,1
    - Dst: AddressTablePriv::AddressTablePriv
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:168,1
    - Dst: refreshAddressTable
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:169,1
    - Dst: WalletModel*::wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parent
    - pk_hash_only
    argTypes:
    - WalletModel*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: AddressTableModel::AddressTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 2
    functionsReached:
    - refreshAddressTable
    - AddressTablePriv::AddressTablePriv
    - WalletModel*::wallet
    - tr
    linkageType: ''
    returnType: void
    signature: void AddressTableModel::AddressTableModel(WalletModel *parent, bool
      pk_hash_only)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: AddressTableModel::~AddressTableModel()
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressTableModel::~AddressTableModel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:179,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: AddressTableModel::rowCount
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - size
    linkageType: ''
    returnType: int
    signature: int AddressTableModel::rowCount(const QModelIndex &parent) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:187,1
    - Dst: length
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: AddressTableModel::columnCount
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - length
    linkageType: ''
    returnType: int
    signature: int AddressTableModel::columnCount(const QModelIndex &parent) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:195,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:196,1
    - Dst: static_cast<AddressTableEntry*>
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:198,1
    - Dst: QModelIndex::internalPointer
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:198,1
    - Dst: static_cast<ColumnIndex>
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:200,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:200,1
    - Dst: AddressTableEntry*::label::isEmpty
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:204,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:205,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:212,1
    - Dst: QFont
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:216,1
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:218,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:220,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:231,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    - condition: (false)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    - condition: (false)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    constantsTouched: []
    func_position:
      end: 234
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 234
    functionName: AddressTableModel::data
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - static_cast<AddressTableEntry*>
    - QModelIndex::isValid
    - QFont
    - GUIUtil::fixedPitchFont
    - QModelIndex::internalPointer
    - tr
    - AddressTableEntry*::label::isEmpty
    - static_cast<ColumnIndex>
    - QModelIndex::column
    - assert
    linkageType: ''
    returnType: QVariant
    signature: QVariant AddressTableModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:238,1
    - Dst: static_cast<AddressTableEntry*>
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:240,1
    - Dst: QModelIndex::internalPointer
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:240,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:246,1
    - Dst: AddressTableEntry*::address::toStdString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:246,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:247,1
    - Dst: QVariant::toString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:250,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:255,1
    - Dst: QVariant::toString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:255,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:256,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:257,1
    - Dst: QVariant::toString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:257,1
    - Dst: std::get_if<CNoDestination>
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:259,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:272,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:282,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:284,1
    - Dst: QVariant::toString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 290
    functionName: AddressTableModel::setData
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant::toString
    - DecodeDestination
    - static_cast<AddressTableEntry*>
    - QModelIndex::isValid
    - wallet
    - QModelIndex::internalPointer
    - std::get_if<CNoDestination>
    - QModelIndex::column
    - AddressTableEntry*::address::toStdString
    linkageType: ''
    returnType: bool
    signature: bool AddressTableModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:296,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - section
    - orientation
    - role
    argTypes:
    - int
    - Qt::Orientation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: AddressTableModel::headerData
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - size
    linkageType: ''
    returnType: QVariant
    signature: QVariant AddressTableModel::headerData(int section, Qt::Orientation
      orientation, int role) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:306,1
    - Dst: static_cast<AddressTableEntry*>
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:308,1
    - Dst: QModelIndex::internalPointer
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:308,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: AddressTableModel::flags
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - QModelIndex::column
    - static_cast<AddressTableEntry*>
    - QModelIndex::internalPointer
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags AddressTableModel::flags(const QModelIndex &index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:323,1
    - Dst: AddressTableModel::index
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:324,1
    - Dst: createIndex
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:327,1
    - Dst: AddressTableModel::index
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:327,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - row
    - column
    - parent
    argTypes:
    - int
    - int
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 333
    functionName: AddressTableModel::index
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 1
    functionsReached:
    - Q_UNUSED
    - AddressTableModel::index
    - QModelIndex
    - createIndex
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex AddressTableModel::index(int row, int column, const QModelIndex
      &parent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddressTableModel::updateEntry
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - address
    - label
    - isMine
    - purpose
    - status
    argTypes:
    - QString
    - QString
    - bool
    - wallet::AddressPurpose
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: AddressTableModel::updateEntry
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 1
    functionsReached:
    - AddressTableModel::updateEntry
    linkageType: ''
    returnType: void
    signature: "void AddressTableModel::updateEntry(const QString &address,\n        const
      QString &label, bool isMine, wallet::AddressPurpose purpose, int status)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:344,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:345,1
    - Dst: validateAddress
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:351,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:354,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:358,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:359,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:362,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:367,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:367,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:372,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:373,1
    - Dst: requestUnlock
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:375,1
    - Dst: WalletModel::UnlockContext::isValid
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:376,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:379,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:381,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:382,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:385,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:391,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - type
    - label
    - address
    - address_type
    argTypes:
    - QString
    - QString
    - QString
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 342
    functionDepth: 5
    functionLinenumber: 342
    functionLinenumberEnd: 394
    functionName: AddressTableModel::addRow
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    - EncodeDestination
    - DecodeDestination
    - wallet
    - QString::fromStdString
    - validateAddress
    - QString::toStdString
    - WalletModel::UnlockContext::isValid
    - requestUnlock
    linkageType: ''
    returnType: QString
    signature: QString AddressTableModel::addRow(const QString &type, const QString
      &label, const QString &address, const OutputType address_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:398,1
    - Dst: AddressTableModel::index
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:399,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:406,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:406,1
    - Dst: AddressTableEntry*::address::toStdString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - row
    - count
    - parent
    argTypes:
    - int
    - int
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 5
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: AddressTableModel::removeRows
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - DecodeDestination
    - wallet
    - AddressTableEntry*::address::toStdString
    - Q_UNUSED
    - AddressTableModel::index
    linkageType: ''
    returnType: bool
    signature: bool AddressTableModel::removeRows(int row, int count, const QModelIndex
      &parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddressTableModel::getAddressData
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:413,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:414,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: AddressTableModel::labelForAddress
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QString::fromStdString
    - AddressTableModel::getAddressData
    linkageType: ''
    returnType: QString
    signature: QString AddressTableModel::labelForAddress(const QString &address)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddressTableModel::getAddressData
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: AddressTableModel::purposeForAddress
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - AddressTableModel::getAddressData
    linkageType: ''
    returnType: std::optional<wallet::AddressPurpose>
    signature: std::optional<wallet::AddressPurpose> AddressTableModel::purposeForAddress(const
      QString &address) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:431,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:431,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - address
    - name
    - purpose
    argTypes:
    - QString
    - std::string*
    - wallet::AddressPurpose*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 5
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: AddressTableModel::getAddressData
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 2
    functionsReached:
    - wallet
    - QString::toStdString
    - DecodeDestination
    linkageType: ''
    returnType: bool
    signature: "bool AddressTableModel::getAddressData(const QString &address,\n        std::string*
      name,\n        wallet::AddressPurpose* purpose) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:437,1
    - Dst: AddressTableModel::index
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:437,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:437,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:439,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 447
    functionName: AddressTableModel::lookupAddress
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndexList::at
    - QModelIndexList::isEmpty
    - match
    - AddressTableModel::index
    - QModelIndex
    linkageType: ''
    returnType: int
    signature: int AddressTableModel::lookupAddress(const QString &address) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: AddressTableModel::GetDefaultAddressType
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - wallet
    linkageType: ''
    returnType: OutputType
    signature: OutputType AddressTableModel::GetDefaultAddressType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddressTableModel::index
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:453,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:453,1
    - Dst: AddressTableModel::index
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:453,1
    - Dst: length
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:453,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: AddressTableModel::emitDataChanged
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - AddressTableModel::index
    - QModelIndex
    - length
    linkageType: ''
    returnType: void
    signature: void AddressTableModel::emitDataChanged(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDisplayName
      Src: /src/bitcoin-core/src/qt/addresstablemodel.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: AddressTableModel::GetWalletDisplayName
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.cpp
    functionUses: 0
    functionsReached:
    - getDisplayName
    linkageType: ''
    returnType: QString
    signature: QString AddressTableModel::GetWalletDisplayName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinUnits::availableUnits
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: BitcoinUnits::BitcoinUnits
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 1
    functionsReached:
    - BitcoinUnits::availableUnits
    linkageType: ''
    returnType: void
    signature: void BitcoinUnits::BitcoinUnits(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:24,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:25,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:26,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: BitcoinUnits::availableUnits
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 2
    functionsReached:
    - QList::append
    linkageType: ''
    returnType: QList<BitcoinUnit>
    signature: QList<BitcoinUnit> BitcoinUnits::availableUnits()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:34,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:35,1
    - Dst: QString::fromUtf8
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:36,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:37,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - unit
    argTypes:
    - Unit
    assertStmts:
    - condition: (false)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: BitcoinUnits::longName
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - QString
    - assert
    - QString::fromUtf8
    linkageType: ''
    returnType: QString
    signature: QString BitcoinUnits::longName(Unit unit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinUnits::longName
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:45,1
    - Dst: BitcoinUnits::longName
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:46,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:47,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - unit
    argTypes:
    - Unit
    assertStmts:
    - condition: (false)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: BitcoinUnits::shortName
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - QString
    - assert
    - BitcoinUnits::longName
    linkageType: ''
    returnType: QString
    signature: QString BitcoinUnits::shortName(Unit unit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:56,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:57,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:58,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:59,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - unit
    argTypes:
    - Unit
    assertStmts:
    - condition: (false)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: BitcoinUnits::description
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - QString
    - assert
    linkageType: ''
    returnType: QString
    signature: QString BitcoinUnits::description(Unit unit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - unit
    argTypes:
    - Unit
    assertStmts:
    - condition: (false)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: BitcoinUnits::factor
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: qint64
    signature: qint64 BitcoinUnits::factor(Unit unit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - unit
    argTypes:
    - Unit
    assertStmts:
    - condition: (false)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: BitcoinUnits::decimals
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int BitcoinUnits::decimals(Unit unit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinUnits::factor
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:91,1
    - Dst: BitcoinUnits::decimals
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:92,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:95,1
    - Dst: QString::rightJustified
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:97,1
    - Dst: QString::size
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:103,1
    - Dst: QString::insert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:106,1
    - Dst: QString::insert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:109,1
    - Dst: QString::insert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:111,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:115,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - unit
    - ' nIn'
    - fPlus
    - separators
    - justify
    argTypes:
    - Unit
    - CAmount
    - bool
    - SeparatorStyle
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 120
    functionName: BitcoinUnits::format
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 2
    functionsReached:
    - QString::rightJustified
    - QString
    - print_number
    - BitcoinUnits::factor
    - QString::insert
    - QString::size
    - BitcoinUnits::decimals
    linkageType: ''
    returnType: QString
    signature: QString BitcoinUnits::format(Unit unit, const CAmount& nIn, bool fPlus,
      SeparatorStyle separators, bool justify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:133,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:133,1
    - Dst: BitcoinUnits::shortName
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - unit
    - ' amount'
    - plussign
    - separators
    argTypes:
    - Unit
    - CAmount
    - bool
    - SeparatorStyle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: BitcoinUnits::formatWithUnit
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 2
    functionsReached:
    - BitcoinUnits::shortName
    - QString
    - BitcoinUnits::format
    linkageType: ''
    returnType: QString
    signature: QString BitcoinUnits::formatWithUnit(Unit unit, const CAmount& amount,
      bool plussign, SeparatorStyle separators)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:139,1
    - Dst: QChar
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:139,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:139,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - unit
    - ' amount'
    - plussign
    - separators
    argTypes:
    - Unit
    - CAmount
    - bool
    - SeparatorStyle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: BitcoinUnits::formatHtmlWithUnit
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 3
    functionsReached:
    - QString
    - QChar
    - QString::replace
    linkageType: ''
    returnType: QString
    signature: QString BitcoinUnits::formatHtmlWithUnit(Unit unit, const CAmount&
      amount, bool plussign, SeparatorStyle separators)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:145,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:148,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:150,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:152,1
    - Dst: BitcoinUnits::shortName
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - unit
    - ' amount'
    - separators
    - privacy
    argTypes:
    - Unit
    - CAmount
    - SeparatorStyle
    - bool
    assertStmts:
    - condition: (amount >= 0)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: BitcoinUnits::formatWithPrivacy
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - BitcoinUnits::shortName
    - QString
    - assert
    - BitcoinUnits::format
    linkageType: ''
    returnType: QString
    signature: QString BitcoinUnits::formatWithPrivacy(Unit unit, const CAmount& amount,
      SeparatorStyle separators, bool privacy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:157,1
    - Dst: BitcoinUnits::decimals
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:160,1
    - Dst: BitcoinUnits::removeSpaces
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:163,1
    - Dst: QStringList::size
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:165,1
    - Dst: QStringList::size
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:172,1
    - Dst: QString::size
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:176,1
    - Dst: QString::leftJustified
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:181,1
    - Dst: QString::size
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:183,1
    - Dst: QString::toLongLong
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - unit
    - ' value'
    - val_out
    argTypes:
    - Unit
    - QString
    - CAmount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 193
    functionName: BitcoinUnits::parse
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - QString::toLongLong
    - isEmpty
    - QStringList::size
    - BitcoinUnits::removeSpaces
    - QString::size
    - QString::leftJustified
    - BitcoinUnits::decimals
    linkageType: ''
    returnType: bool
    signature: bool BitcoinUnits::parse(Unit unit, const QString& value, CAmount*
      val_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:197,1
    - Dst: BitcoinUnits::shortName
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - Unit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: BitcoinUnits::getAmountColumnTitle
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 2
    functionsReached:
    - SighashToStr
    - BitcoinUnits::shortName
    linkageType: ''
    returnType: QString
    signature: QString BitcoinUnits::getAmountColumnTitle(Unit unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:202,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: BitcoinUnits::rowCount
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - Q_UNUSED
    - size
    linkageType: ''
    returnType: int
    signature: int BitcoinUnits::rowCount(const QModelIndex &parent) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:208,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:209,1
    - Dst: at
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:211,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:216,1
    - Dst: BitcoinUnits::longName
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:216,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:218,1
    - Dst: BitcoinUnits::description
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:218,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:220,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: BitcoinUnits::data
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - BitcoinUnits::description
    - BitcoinUnits::longName
    - QVariant::fromValue
    - at
    - size
    - QModelIndex::row
    linkageType: ''
    returnType: QVariant
    signature: QVariant BitcoinUnits::data(const QModelIndex &index, int role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: BitcoinUnits::maxMoney
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount BitcoinUnits::maxMoney()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - unit
    argTypes:
    - BitcoinUnit
    assertStmts:
    - condition: (false)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: ToQint8
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: qint8
    signature: qint8 ToQint8(BitcoinUnit unit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - num
    argTypes:
    - qint8
    assertStmts:
    - condition: (false)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: FromQint8
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: BitcoinUnit
    signature: BitcoinUnit FromQint8(qint8 num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - unit
    argTypes:
    - BitcoinUnit
    assertStmts:
    - condition: (false)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: ToQint8
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: qint8
    signature: qint8 ToQint8(BitcoinUnit unit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - num
    argTypes:
    - qint8
    assertStmts:
    - condition: (false)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: FromQint8
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: BitcoinUnit
    signature: BitcoinUnit FromQint8(qint8 num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToQint8
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' unit'
    argTypes:
    - QDataStream
    - BitcoinUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: '& operator<<(QDataStream& out, const BitcoinUnit& unit)'
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - ToQint8
    linkageType: ''
    returnType: QDataStream
    signature: QDataStream & operator<<(QDataStream& out, const BitcoinUnit& unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromQint8
      Src: /src/bitcoin-core/src/qt/bitcoinunits.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' in'
    - ' unit'
    argTypes:
    - QDataStream
    - BitcoinUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: '& operator>>(QDataStream& in, BitcoinUnit& unit)'
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinunits.cpp
    functionUses: 0
    functionsReached:
    - FromQint8
    linkageType: ''
    returnType: QDataStream
    signature: QDataStream & operator>>(QDataStream& in, BitcoinUnit& unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: RecentRequestEntry::RecentRequestEntry
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecentRequestEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SER_WRITE
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.h:31,1
    - Dst: date::toSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.h:31,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.h:32,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.h:33,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: RecentRequestEntry::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.h
    functionUses: 0
    functionsReached:
    - READWRITE
    - SER_READ
    - date::toSecsSinceEpoch
    - SER_WRITE
    - QDateTime::fromSecsSinceEpoch
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(RecentRequestEntry, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - nColumn
    - fOrder
    argTypes:
    - int
    - Qt::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: RecentRequestEntryLessThan::RecentRequestEntryLessThan
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecentRequestEntryLessThan(int nColumn, Qt::SortOrder fOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '&entry(int row) const'
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RecentRequestEntry
    signature: RecentRequestEntry &entry(int row) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Ui::SendCoinsEntry::SendCoinsEntry
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:20,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:23,1
    - Dst: addressBookButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:25,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:25,1
    - Dst: pasteButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:26,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:26,1
    - Dst: deleteButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:27,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:27,1
    - Dst: getUseExtraSpacing
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:29,1
    - Dst: payToLayout::setSpacing
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:30,1
    - Dst: GUIUtil::setupAddressWidget
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:32,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:35,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:36,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:37,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - _platformStyle
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 39
    functionName: SendCoinsEntry::SendCoinsEntry
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 1
    functionsReached:
    - connect
    - deleteButton::setIcon
    - pasteButton::setIcon
    - getUseExtraSpacing
    - Ui::SendCoinsEntry::SendCoinsEntry
    - GUIUtil::setupAddressWidget
    - setupUi
    - payToLayout::setSpacing
    - SingleColorIcon
    - addressBookButton::setIcon
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::SendCoinsEntry(const PlatformStyle *_platformStyle,
      QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: SendCoinsEntry::~SendCoinsEntry()
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::~SendCoinsEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: payTo::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:49,1
    - Dst: QApplication::clipboard
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: SendCoinsEntry::on_pasteButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - QApplication::clipboard
    - payTo::setText
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::on_pasteButton_clicked()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AddressBookPage::setModel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:57,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:57,1
    - Dst: AddressBookPage::exec
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:58,1
    - Dst: payTo::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:60,1
    - Dst: AddressBookPage::getReturnValue
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:60,1
    - Dst: payAmount::setFocus
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: SendCoinsEntry::on_addressBookButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - AddressBookPage::getReturnValue
    - AddressBookPage::exec
    - payAmount::setFocus
    - AddressBookPage::setModel
    - getAddressTableModel
    - payTo::setText
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::on_addressBookButton_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsEntry::updateLabel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: SendCoinsEntry::on_payTo_textChanged
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsEntry::updateLabel
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::on_payTo_textChanged(const QString &address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:74,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:75,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:75,1
    - Dst: SendCoinsEntry::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - _model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: SendCoinsEntry::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - connect
    - WalletModel*::getOptionsModel
    - SendCoinsEntry::clear
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::setModel(WalletModel *_model)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: payTo::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:83,1
    - Dst: addAsLabel::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:84,1
    - Dst: payAmount::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:85,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:86,1
    - Dst: checkboxSubtractFeeFromAmount::setChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:87,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:87,1
    - Dst: messageTextLabel::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:89,1
    - Dst: messageTextLabel::hide
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:90,1
    - Dst: messageLabel::hide
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:91,1
    - Dst: SendCoinsEntry::updateDisplayUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: SendCoinsEntry::clear
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 1
    functionsReached:
    - messageTextLabel::clear
    - SendCoinsEntry::updateDisplayUnit
    - addAsLabel::clear
    - messageLabel::hide
    - checkboxSubtractFeeFromAmount::setChecked
    - payAmount::clear
    - getOptionsModel
    - messageTextLabel::hide
    - payTo::clear
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkboxSubtractFeeFromAmount::setChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: SendCoinsEntry::checkSubtractFeeFromAmount
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - checkboxSubtractFeeFromAmount::setChecked
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::checkSubtractFeeFromAmount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: SendCoinsEntry::deleteClicked
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::deleteClicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: SendCoinsEntry::useAvailableBalanceClicked
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::useAvailableBalanceClicked()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: validateAddress
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:120,1
    - Dst: payTo::text
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:120,1
    - Dst: payTo::setValid
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:122,1
    - Dst: payAmount::validate
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:126,1
    - Dst: payAmount::value
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:132,1
    - Dst: payAmount::setValid
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:134,1
    - Dst: GUIUtil::isDust
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:139,1
    - Dst: payTo::text
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:139,1
    - Dst: payAmount::value
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:139,1
    - Dst: payAmount::setValid
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 145
    functionName: SendCoinsEntry::validate
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - payAmount::setValid
    - payTo::text
    - payAmount::validate
    - validateAddress
    - payAmount::value
    - GUIUtil::isDust
    - payTo::setValid
    linkageType: ''
    returnType: bool
    signature: bool SendCoinsEntry::validate(interfaces::Node& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: payTo::text
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:149,1
    - Dst: addAsLabel::text
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:150,1
    - Dst: payAmount::value
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:151,1
    - Dst: messageTextLabel::text
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:152,1
    - Dst: checkboxSubtractFeeFromAmount::checkState
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: SendCoinsEntry::getValue
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - checkboxSubtractFeeFromAmount::checkState
    - messageTextLabel::text
    - payTo::text
    - payAmount::value
    - addAsLabel::text
    linkageType: ''
    returnType: SendCoinsRecipient
    signature: SendCoinsRecipient SendCoinsEntry::getValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:160,1
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:161,1
    - Dst: payAmount::setupTabChain
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:162,1
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:163,1
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:164,1
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:165,1
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - prev
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: SendCoinsEntry::setupTabChain
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - QWidget::setTabOrder
    - payAmount::setupTabChain
    linkageType: ''
    returnType: QWidget
    signature: QWidget *SendCoinsEntry::setupTabChain(QWidget *prev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: messageTextLabel::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:175,1
    - Dst: messageTextLabel::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:176,1
    - Dst: message::isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:176,1
    - Dst: messageLabel::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:177,1
    - Dst: message::isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:177,1
    - Dst: addAsLabel::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:179,1
    - Dst: payTo::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:180,1
    - Dst: label::isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:181,1
    - Dst: addAsLabel::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:182,1
    - Dst: payAmount::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: SendCoinsEntry::setValue
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - addAsLabel::setText
    - messageLabel::setVisible
    - addAsLabel::clear
    - label::isEmpty
    - message::isEmpty
    - payAmount::setValue
    - messageTextLabel::setVisible
    - messageTextLabel::setText
    - payTo::setText
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::setValue(const SendCoinsRecipient &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: payTo::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:189,1
    - Dst: payAmount::setFocus
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: SendCoinsEntry::setAddress
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - payAmount::setFocus
    - payTo::setText
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::setAddress(const QString &address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: payAmount::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: SendCoinsEntry::setAmount
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - payAmount::setValue
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::setAmount(const CAmount &amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: payTo::text
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: SendCoinsEntry::isClear
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - payTo::text
    linkageType: ''
    returnType: bool
    signature: bool SendCoinsEntry::isClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: payTo::setFocus
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: SendCoinsEntry::setFocus
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - payTo::setFocus
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::setFocus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:210,1
    - Dst: payAmount::setDisplayUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:211,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: SendCoinsEntry::updateDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 1
    functionsReached:
    - payAmount::setDisplayUnit
    - getOptionsModel
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::updateDisplayUnit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:217,1
    - Dst: addressBookButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:218,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:218,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:218,1
    - Dst: pasteButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:219,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:219,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:219,1
    - Dst: deleteButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:220,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:220,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:220,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: SendCoinsEntry::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 0
    functionsReached:
    - deleteButton::setIcon
    - pasteButton::setIcon
    - QStringLiteral
    - SignVerifyMessageDialog::changeEvent
    - QEvent*::type
    - SingleColorIcon
    - addressBookButton::setIcon
    linkageType: ''
    returnType: void
    signature: void SendCoinsEntry::changeEvent(QEvent* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:232,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:233,1
    - Dst: addAsLabel::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsentry.cpp:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: SendCoinsEntry::updateLabel
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsentry.cpp
    functionUses: 1
    functionsReached:
    - getAddressTableModel
    - addAsLabel::setText
    - QString::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool SendCoinsEntry::updateLabel(const QString &address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: AddressTableModel::getEditStatus
    functionSourceFile: /src/bitcoin-core/src/qt/addresstablemodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EditStatus
    signature: EditStatus getEditStatus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '&getName() const'
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString &getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: PlatformStyle::getImagesOnButtons
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getImagesOnButtons() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: PlatformStyle::getUseExtraSpacing
    functionSourceFile: /src/bitcoin-core/src/qt/platformstyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getUseExtraSpacing() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setContentsMargins
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:47,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:49,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:50,1
    - Dst: PlatformStyle*::getUseExtraSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:52,1
    - Dst: QHBoxLayout*::setSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:53,1
    - Dst: QHBoxLayout*::addSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:54,1
    - Dst: QHBoxLayout*::setSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:56,1
    - Dst: QHBoxLayout*::addSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:57,1
    - Dst: QComboBox::QComboBox
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:60,1
    - Dst: PlatformStyle*::getUseExtraSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:61,1
    - Dst: setFixedWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:62,1
    - Dst: setFixedWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:64,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:66,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:66,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:67,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:67,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:68,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:68,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:69,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:69,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:70,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:70,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:71,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:71,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:72,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:72,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:73,1
    - Dst: QComboBox::QComboBox
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:75,1
    - Dst: PlatformStyle*::getUseExtraSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:76,1
    - Dst: setFixedWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:77,1
    - Dst: setFixedWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:79,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:82,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:82,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:83,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:83,1
    - Dst: TransactionFilterProxy::TYPE
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:83,1
    - Dst: TransactionFilterProxy::TYPE
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:84,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:85,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:85,1
    - Dst: TransactionFilterProxy::TYPE
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:85,1
    - Dst: TransactionFilterProxy::TYPE
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:86,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:87,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:87,1
    - Dst: TransactionFilterProxy::TYPE
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:87,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:88,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:88,1
    - Dst: TransactionFilterProxy::TYPE
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:88,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:90,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:92,1
    - Dst: setPlaceholderText
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:93,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:93,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:94,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:96,1
    - Dst: setPlaceholderText
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:97,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:97,1
    - Dst: PlatformStyle*::getUseExtraSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:98,1
    - Dst: setFixedWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:99,1
    - Dst: setFixedWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:101,1
    - Dst: QDoubleValidator::QDoubleValidator
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:103,1
    - Dst: QLocale::setNumberOptions
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:105,1
    - Dst: QDoubleValidator*::setLocale
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:106,1
    - Dst: setValidator
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:107,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:108,1
    - Dst: QTimer::QTimer
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:113,1
    - Dst: QTimer*::setSingleShot
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:114,1
    - Dst: QTimer*::setInterval
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:115,1
    - Dst: QTimer::QTimer
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:117,1
    - Dst: QTimer*::setSingleShot
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:118,1
    - Dst: QTimer*::setInterval
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:119,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:121,1
    - Dst: QVBoxLayout*::setContentsMargins
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:122,1
    - Dst: QVBoxLayout*::setSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:123,1
    - Dst: QTableView::QTableView
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:125,1
    - Dst: setObjectName
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:126,1
    - Dst: QVBoxLayout*::addLayout
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:127,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:128,1
    - Dst: TransactionView::createDateRangeWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:128,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:129,1
    - Dst: QVBoxLayout*::setSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:130,1
    - Dst: verticalScrollBar
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:131,1
    - Dst: PlatformStyle*::getUseExtraSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:133,1
    - Dst: QHBoxLayout*::addSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:134,1
    - Dst: QHBoxLayout*::addSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:136,1
    - Dst: setVerticalScrollBarPolicy
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:138,1
    - Dst: setTabKeyNavigation
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:139,1
    - Dst: setContextMenuPolicy
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:140,1
    - Dst: installEventFilter
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:141,1
    - Dst: setAlternatingRowColors
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:142,1
    - Dst: setSelectionBehavior
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:143,1
    - Dst: setSelectionMode
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:144,1
    - Dst: setSortingEnabled
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:145,1
    - Dst: verticalHeader
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:146,1
    - Dst: horizontalHeader
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:149,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:149,1
    - Dst: setColumnWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:150,1
    - Dst: setColumnWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:151,1
    - Dst: setColumnWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:152,1
    - Dst: setColumnWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:153,1
    - Dst: horizontalHeader
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:154,1
    - Dst: horizontalHeader
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:155,1
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:158,1
    - Dst: setObjectName
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:159,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:160,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:160,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:161,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:161,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:162,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:162,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:163,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:163,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:164,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:164,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:165,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:165,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:166,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:166,1
    - Dst: addSeparator
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:167,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:168,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:168,1
    - Dst: ExceptionSafeConnect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:169,1
    - Dst: setObjectName
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:170,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:171,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:171,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:172,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:172,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:174,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:174,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:175,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:175,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:176,1
    - Dst: qOverload<>
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:176,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:177,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:178,1
    - Dst: qOverload<>
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:178,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:179,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:181,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:182,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:185,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:187,1
    - Dst: TransactionView::focusTransaction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 111
    argCount: 2
    argNames:
    - platformStyle
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 190
    functionName: TransactionView::TransactionView
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - setColumnWidth
    - QVBoxLayout::QVBoxLayout
    - setTabKeyNavigation
    - QVBoxLayout*::addLayout
    - QTimer*::setSingleShot
    - QComboBox::QComboBox
    - setPlaceholderText
    - verticalHeader
    - addAction
    - setSelectionBehavior
    - QLocale::setNumberOptions
    - qOverload<>
    - TransactionView::focusTransaction
    - QDoubleValidator::QDoubleValidator
    - setValidator
    - setContextMenuPolicy
    - TransactionView::createDateRangeWidget
    - QHBoxLayout*::addWidget
    - installEventFilter
    - QMenu::QMenu
    - setFixedWidth
    - setVerticalScrollBarPolicy
    - setSortingEnabled
    - connect
    - qOverload<int>
    - setAlternatingRowColors
    - ExceptionSafeConnect
    - QVBoxLayout*::setSpacing
    - tr
    - QHBoxLayout::QHBoxLayout
    - setContentsMargins
    - QDoubleValidator*::setLocale
    - horizontalHeader
    - addSeparator
    - TransactionFilterProxy::TYPE
    - QSettings::value
    - QTableView::QTableView
    - QHBoxLayout*::setSpacing
    - setObjectName
    - QTimer*::setInterval
    - addItem
    - QHBoxLayout*::addSpacing
    - setSelectionMode
    - QVBoxLayout*::addWidget
    - PlatformStyle*::getUseExtraSpacing
    - QLineEdit::QLineEdit
    - QHBoxLayout*::setContentsMargins
    - QTimer::QTimer
    - verticalScrollBar
    - QVBoxLayout*::setContentsMargins
    linkageType: ''
    returnType: void
    signature: void TransactionView::TransactionView(const PlatformStyle *platformStyle,
      QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:196,1
    - Dst: horizontalHeader
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: TransactionView::~TransactionView()
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - horizontalHeader
    - QSettings::setValue
    linkageType: ''
    returnType: void
    signature: void TransactionView::~TransactionView()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TransactionFilterProxy::TransactionFilterProxy
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:204,1
    - Dst: setSourceModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:205,1
    - Dst: WalletModel*::getTransactionTableModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:205,1
    - Dst: setDynamicSortFilter
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:206,1
    - Dst: setSortCaseSensitivity
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:207,1
    - Dst: setFilterCaseSensitivity
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:208,1
    - Dst: setSortRole
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:209,1
    - Dst: TransactionView::setModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:210,1
    - Dst: sortByColumn
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:211,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:213,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:216,1
    - Dst: QStringList::size
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:218,1
    - Dst: trimmed
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:220,1
    - Dst: QUrl
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:221,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:222,1
    - Dst: addSeparator
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:225,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:231,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:231,1
    - Dst: TransactionView::openThirdPartyTxUrl
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - _model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 236
    functionName: TransactionView::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 1
    functionsReached:
    - WalletModel*::getOptionsModel
    - addSeparator
    - trimmed
    - sortByColumn
    - QStringList::size
    - QString::isEmpty
    - setSortCaseSensitivity
    - TransactionFilterProxy::TransactionFilterProxy
    - setSourceModel
    - QUrl
    - tr
    - TransactionView::openThirdPartyTxUrl
    - addAction
    - setDynamicSortFilter
    - setSortRole
    - setFilterCaseSensitivity
    - TransactionView::setModel
    - WalletModel*::getTransactionTableModel
    linkageType: ''
    returnType: void
    signature: void TransactionView::setModel(WalletModel *_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: TransactionView::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - SignVerifyMessageDialog::changeEvent
    linkageType: ''
    returnType: void
    signature: void TransactionView::changeEvent(QEvent* e)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QDate::currentDate
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:246,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:247,1
    - Dst: itemData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:248,1
    - Dst: setDateRange
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:251,1
    - Dst: setDateRange
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:256,1
    - Dst: GUIUtil::StartOfDay
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:257,1
    - Dst: QDate::addDays
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:262,1
    - Dst: QDate::dayOfWeek
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:262,1
    - Dst: setDateRange
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:263,1
    - Dst: GUIUtil::StartOfDay
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:264,1
    - Dst: setDateRange
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:269,1
    - Dst: GUIUtil::StartOfDay
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:270,1
    - Dst: QDate
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:270,1
    - Dst: QDate::year
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:270,1
    - Dst: QDate::month
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:270,1
    - Dst: setDateRange
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:274,1
    - Dst: GUIUtil::StartOfDay
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:275,1
    - Dst: QDate
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:275,1
    - Dst: QDate::year
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:275,1
    - Dst: QDate::month
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:275,1
    - Dst: GUIUtil::StartOfDay
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:276,1
    - Dst: QDate
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:276,1
    - Dst: QDate::year
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:276,1
    - Dst: QDate::month
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:276,1
    - Dst: setDateRange
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:279,1
    - Dst: GUIUtil::StartOfDay
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:280,1
    - Dst: QDate
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:280,1
    - Dst: QDate::year
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:280,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:284,1
    - Dst: TransactionView::dateRangeChanged
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:285,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 288
    functionName: TransactionView::chooseDate
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::StartOfDay
    - QDate::year
    - itemData
    - QDate::month
    - QDate::currentDate
    - setVisible
    - QDate::addDays
    - TransactionView::dateRangeChanged
    - setDateRange
    - QDate
    - QDate::dayOfWeek
    linkageType: ''
    returnType: void
    signature: void TransactionView::chooseDate(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setTypeFilter
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:294,1
    - Dst: itemData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: TransactionView::chooseType
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - itemData
    - setTypeFilter
    linkageType: ''
    returnType: void
    signature: void TransactionView::chooseType(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setSearchString
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:302,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: TransactionView::changedSearch
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - setSearchString
    - text
    linkageType: ''
    returnType: void
    signature: void TransactionView::changedSearch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinUnits::parse
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:310,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:310,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:310,1
    - Dst: setMinAmount
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:311,1
    - Dst: setMinAmount
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: TransactionView::changedAmount
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - text
    - BitcoinUnits::parse
    - getOptionsModel
    - setMinAmount
    linkageType: ''
    returnType: void
    signature: void TransactionView::changedAmount()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:321,1
    - Dst: GUIUtil::getSaveFileName
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:326,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:327,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:327,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:330,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:330,1
    - Dst: QString::isNull
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:332,1
    - Dst: CSVModelWriter::setModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:338,1
    - Dst: CSVModelWriter::addColumn
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:339,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:339,1
    - Dst: CSVModelWriter::addColumn
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:340,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:340,1
    - Dst: CSVModelWriter::addColumn
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:341,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:341,1
    - Dst: CSVModelWriter::addColumn
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:342,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:342,1
    - Dst: CSVModelWriter::addColumn
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:343,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:343,1
    - Dst: CSVModelWriter::addColumn
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:344,1
    - Dst: BitcoinUnits::getAmountColumnTitle
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:344,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:344,1
    - Dst: CSVModelWriter::addColumn
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:345,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:345,1
    - Dst: CSVModelWriter::write
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:347,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:348,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:348,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:352,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: TransactionView::exportClicked
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - QString
    - CSVModelWriter::write
    - QString::isNull
    - CSVModelWriter::addColumn
    - QLatin1String
    - BitcoinUnits::getAmountColumnTitle
    - tr
    - GUIUtil::getSaveFileName
    - getOptionsModel
    - CSVModelWriter::setModel
    linkageType: ''
    returnType: void
    signature: void TransactionView::exportClicked()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: indexAt
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:359,1
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:360,1
    - Dst: QModelIndexList::empty
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:361,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:365,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:366,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:366,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:371,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:371,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:372,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:372,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:373,1
    - Dst: GUIUtil::hasEntryData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:373,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:374,1
    - Dst: GUIUtil::hasEntryData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:374,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:376,1
    - Dst: GUIUtil::PopupMenu
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:377,1
    - Dst: viewport
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - point
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 379
    functionName: TransactionView::contextualMenu
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - QModelIndexList::at
    - selectionModel
    - GUIUtil::PopupMenu
    - setEnabled
    - detail::FromHex
    - wallet
    - QModelIndex::isValid
    - GUIUtil::hasEntryData
    - QString::toStdString
    - viewport
    - indexAt
    - QModelIndexList::empty
    linkageType: ''
    returnType: void
    signature: void TransactionView::contextualMenu(const QPoint &point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:383,1
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:385,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:388,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:389,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:389,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: TransactionView::abandonTx
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - QModelIndexList::at
    - selectionModel
    - wallet
    - detail::FromHex
    - QString::toStdString
    linkageType: ''
    returnType: void
    signature: void TransactionView::abandonTx()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:397,1
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:399,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:402,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:403,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:403,1
    - Dst: TransactionView::bumpFee
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:407,1
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:409,1
    - Dst: getTransactionTableModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:410,1
    - Dst: processEvents
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - checked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 415
    functionName: TransactionView::bumpFee
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 1
    functionsReached:
    - QModelIndexList::at
    - selectionModel
    - processEvents
    - detail::FromHex
    - getTransactionTableModel
    - TransactionView::bumpFee
    - QString::toStdString
    linkageType: ''
    returnType: void
    signature: void TransactionView::bumpFee([[maybe_unused]] bool checked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: TransactionView::copyAddress
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::copyEntryData
    linkageType: ''
    returnType: void
    signature: void TransactionView::copyAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: TransactionView::copyLabel
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::copyEntryData
    linkageType: ''
    returnType: void
    signature: void TransactionView::copyLabel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: TransactionView::copyAmount
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::copyEntryData
    linkageType: ''
    returnType: void
    signature: void TransactionView::copyAmount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: TransactionView::copyTxID
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::copyEntryData
    linkageType: ''
    returnType: void
    signature: void TransactionView::copyTxID()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: TransactionView::copyTxHex
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::copyEntryData
    linkageType: ''
    returnType: void
    signature: void TransactionView::copyTxHex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: TransactionView::copyTxPlainText
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::copyEntryData
    linkageType: ''
    returnType: void
    signature: void TransactionView::copyTxPlainText()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:449,1
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:451,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:452,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:454,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:457,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:458,1
    - Dst: AddressTableModel*::lookupAddress
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:465,1
    - Dst: AddressTableModel*::index
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:469,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:469,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:471,1
    - Dst: EditAddressDialog::EditAddressDialog
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:473,1
    - Dst: auto::setModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:477,1
    - Dst: auto::loadRow
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:478,1
    - Dst: GUIUtil::ShowModalDialogAsynchronously
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:479,1
    - Dst: EditAddressDialog::EditAddressDialog
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:484,1
    - Dst: auto::setModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:486,1
    - Dst: auto::setAddress
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:487,1
    - Dst: GUIUtil::ShowModalDialogAsynchronously
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 491
    functionName: TransactionView::editLabel
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - QModelIndexList::at
    - selectionModel
    - AddressTableModel*::index
    - GUIUtil::ShowModalDialogAsynchronously
    - QString::isEmpty
    - AddressTableModel*::lookupAddress
    - QModelIndexList::isEmpty
    - EditAddressDialog::EditAddressDialog
    - auto::setModel
    - getAddressTableModel
    - auto::loadRow
    - auto::setAddress
    - QModelIndex
    - QModelIndex::data
    linkageType: ''
    returnType: void
    signature: void TransactionView::editLabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:495,1
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:497,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:498,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:500,1
    - Dst: TransactionDescDialog::TransactionDescDialog
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:500,1
    - Dst: TransactionDescDialog*::setAttribute
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:501,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:502,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:503,1
    - Dst: removeOne
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:504,1
    - Dst: TransactionDescDialog*::show
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 508
    functionName: TransactionView::showDetails
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - QModelIndexList::at
    - selectionModel
    - connect
    - TransactionDescDialog*::show
    - QModelIndexList::isEmpty
    - TransactionDescDialog::TransactionDescDialog
    - append
    - removeOne
    - TransactionDescDialog*::setAttribute
    linkageType: ''
    returnType: void
    signature: void TransactionView::showDetails()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:512,1
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:514,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:515,1
    - Dst: QDesktopServices::openUrl
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:516,1
    - Dst: QUrl::fromUserInput
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:516,1
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:516,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - url
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: TransactionView::openThirdPartyTxUrl
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 1
    functionsReached:
    - QModelIndexList::at
    - selectionModel
    - QUrl::fromUserInput
    - QDesktopServices::openUrl
    - QModelIndexList::isEmpty
    - QString::replace
    linkageType: ''
    returnType: void
    signature: void TransactionView::openThirdPartyTxUrl(QString url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QFrame::QFrame
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:521,1
    - Dst: setFrameStyle
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:522,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:522,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:522,1
    - Dst: setContentsMargins
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:523,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:524,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:525,1
    - Dst: QHBoxLayout*::addSpacing
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:526,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:527,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:527,1
    - Dst: QLabel::QLabel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:527,1
    - Dst: QDateTimeEdit::QDateTimeEdit
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:529,1
    - Dst: setDisplayFormat
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:530,1
    - Dst: setCalendarPopup
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:531,1
    - Dst: setMinimumWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:532,1
    - Dst: setDate
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:533,1
    - Dst: QDate::currentDate
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:533,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:534,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:535,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:535,1
    - Dst: QLabel::QLabel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:535,1
    - Dst: QDateTimeEdit::QDateTimeEdit
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:537,1
    - Dst: setDisplayFormat
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:538,1
    - Dst: setCalendarPopup
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:539,1
    - Dst: setMinimumWidth
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:540,1
    - Dst: setDate
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:541,1
    - Dst: QDate::currentDate
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:541,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:542,1
    - Dst: QHBoxLayout*::addStretch
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:543,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:546,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:549,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 553
    functionName: TransactionView::createDateRangeWidget
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 1
    functionsReached:
    - setDisplayFormat
    - QDate::currentDate
    - setMinimumWidth
    - QLabel::QLabel
    - setDate
    - QHBoxLayout*::addWidget
    - setCalendarPopup
    - setVisible
    - QDateTimeEdit::QDateTimeEdit
    - connect
    - static_cast<int>
    - tr
    - QHBoxLayout::QHBoxLayout
    - setContentsMargins
    - QFrame::QFrame
    - setFrameStyle
    - QHBoxLayout*::addSpacing
    - QHBoxLayout*::addStretch
    - QHBoxLayout*::setContentsMargins
    linkageType: ''
    returnType: QWidget
    signature: QWidget *TransactionView::createDateRangeWidget()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setDateRange
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:559,1
    - Dst: GUIUtil::StartOfDay
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:560,1
    - Dst: date
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:560,1
    - Dst: GUIUtil::StartOfDay
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:561,1
    - Dst: date
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: TransactionView::dateRangeChanged
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 1
    functionsReached:
    - setDateRange
    - date
    - GUIUtil::StartOfDay
    linkageType: ''
    returnType: void
    signature: void TransactionView::dateRangeChanged()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapFromSource
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:568,1
    - Dst: scrollTo
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:569,1
    - Dst: setCurrentIndex
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:570,1
    - Dst: setFocus
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: TransactionView::focusTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 1
    functionsReached:
    - setFocus
    - mapFromSource
    - setCurrentIndex
    - scrollTo
    linkageType: ''
    returnType: void
    signature: void TransactionView::focusTransaction(const QModelIndex &idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransactionView::model::getTransactionTableModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:579,1
    - Dst: TransactionView::model::getTransactionTableModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:580,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:582,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:582,1
    - Dst: setFocus
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:584,1
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:585,1
    - Dst: mapFromSource
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:587,1
    - Dst: selectionModel
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:588,1
    - Dst: scrollTo
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:593,1
    - Dst: scrollTo
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 598
    functionName: TransactionView::focusTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 1
    functionsReached:
    - selectionModel
    - ToString
    - TransactionView::model::getTransactionTableModel
    - QString::fromStdString
    - mapFromSource
    - scrollTo
    - setFocus
    linkageType: ''
    returnType: void
    signature: void TransactionView::focusTransaction(const Txid& txid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:603,1
    - Dst: static_cast<QKeyEvent *>
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:605,1
    - Dst: QKeyEvent*::key
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:606,1
    - Dst: QKeyEvent*::modifiers
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:606,1
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:608,1
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:612,1
    - Dst: isEnabled
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:613,1
    - Dst: TransactionView::closeOpenedDialogs
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:614,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - obj
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 618
    functionName: TransactionView::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::copyEntryData
    - TransactionView::closeOpenedDialogs
    - QKeyEvent*::modifiers
    - static_cast<QKeyEvent *>
    - QEvent*::type
    - isEnabled
    - QKeyEvent*::key
    - AskPassphraseDialog::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool TransactionView::eventFilter(QObject *obj, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:624,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/transactionview.cpp:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 627
    functionName: TransactionView::closeOpenedDialogs
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.cpp
    functionUses: 1
    functionsReached:
    - clear
    - close
    linkageType: ''
    returnType: void
    signature: void TransactionView::closeOpenedDialogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QThread::QThread
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:40,1
    - Dst: PeerTableModel::PeerTableModel
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:45,1
    - Dst: PeerTableSortProxy::PeerTableSortProxy
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:46,1
    - Dst: setSourceModel
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:47,1
    - Dst: BanTableModel::BanTableModel
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:49,1
    - Dst: QTimer::QTimer
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:51,1
    - Dst: QTimer*::setInterval
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:52,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:53,1
    - Dst: getMempoolSize
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:56,1
    - Dst: getMempoolDynamicUsage
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:56,1
    - Dst: getMempoolMaxUsage
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:56,1
    - Dst: getTotalBytesRecv
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:57,1
    - Dst: getTotalBytesSent
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:57,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:59,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:60,1
    - Dst: QTimer*::start
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:60,1
    - Dst: QTimer*::moveToThread
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:62,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:63,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:64,1
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:65,1
    - Dst: ClientModel::subscribeToCoreSignals
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - ' node'
    - _optionsModel
    - parent
    argTypes:
    - interfaces::Node
    - OptionsModel*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 69
    functionName: ClientModel::ClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - util::ThreadRename
    - QTimer::singleShot
    - QTimer*::moveToThread
    - ClientModel::subscribeToCoreSignals
    - PeerTableModel::PeerTableModel
    - BanTableModel::BanTableModel
    - getMempoolDynamicUsage
    - getMempoolSize
    - connect
    - QTimer*::start
    - getTotalBytesRecv
    - QThread::QThread
    - getTotalBytesSent
    - setSourceModel
    - QTimer*::setInterval
    - start
    - getMempoolMaxUsage
    - QTimer::QTimer
    - PeerTableSortProxy::PeerTableSortProxy
    linkageType: ''
    returnType: void
    signature: void ClientModel::ClientModel(interfaces::Node& node, OptionsModel
      *_optionsModel, QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClientModel::unsubscribeFromCoreSignals
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:73,1
    - Dst: quit
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:75,1
    - Dst: wait
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: ClientModel::stop
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - ClientModel::unsubscribeFromCoreSignals
    - wait
    - quit
    linkageType: ''
    returnType: void
    signature: void ClientModel::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClientModel::stop
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: ClientModel::~ClientModel()
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - ClientModel::stop
    linkageType: ''
    returnType: void
    signature: void ClientModel::~ClientModel()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNodeCount
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: ClientModel::getNumConnections
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - getNodeCount
    linkageType: ''
    returnType: int
    signature: int ClientModel::getNumConnections(unsigned int flags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderTip
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: ClientModel::getHeaderTipHeight
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - getHeaderTip
    linkageType: ''
    returnType: int
    signature: int ClientModel::getHeaderTipHeight() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderTip
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: ClientModel::getHeaderTipTime
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - getHeaderTip
    linkageType: ''
    returnType: int64_t
    signature: int64_t ClientModel::getHeaderTipTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClientModel::getNetLocalAddresses
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: ClientModel::getNetLocalAddresses
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 1
    functionsReached:
    - ClientModel::getNetLocalAddresses
    linkageType: ''
    returnType: std::map<CNetAddr, LocalServiceInfo>
    signature: std::map<CNetAddr, LocalServiceInfo> ClientModel::getNetLocalAddresses()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ClientModel::getNumBlocks
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: ClientModel::getNumBlocks
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 1
    functionsReached:
    - ClientModel::getNumBlocks
    linkageType: ''
    returnType: int
    signature: int ClientModel::getNumBlocks() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:145,1
    - Dst: ClientModel::getBestBlockHash
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:152,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:154,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: ClientModel::getBestBlockHash
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 1
    functionsReached:
    - uint256::IsNull
    - LOCK
    - ClientModel::getBestBlockHash
    - IsNull
    linkageType: ''
    returnType: uint256
    signature: uint256 ClientModel::getBestBlockHash()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isLoadingBlocks
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:166,1
    - Dst: ClientModel::getNumConnections
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: ClientModel::getBlockSource
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - isLoadingBlocks
    - ClientModel::getNumConnections
    linkageType: ''
    returnType: BlockSource
    signature: BlockSource ClientModel::getBlockSource() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:173,1
    - Dst: getWarnings
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: ClientModel::getStatusBarWarnings
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - QString::fromStdString
    - getWarnings
    linkageType: ''
    returnType: QString
    signature: QString ClientModel::getStatusBarWarnings() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: ClientModel::getOptionsModel
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OptionsModel
    signature: OptionsModel *ClientModel::getOptionsModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: ClientModel::getPeerTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PeerTableModel
    signature: PeerTableModel *ClientModel::getPeerTableModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: ClientModel::peerTableSortProxy
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PeerTableSortProxy
    signature: PeerTableSortProxy * ClientModel::peerTableSortProxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: ClientModel::getBanTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BanTableModel
    signature: BanTableModel *ClientModel::getBanTableModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:198,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: ClientModel::formatFullVersion
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - FormatFullVersion
    - QString::fromStdString
    linkageType: ''
    returnType: QString
    signature: QString ClientModel::formatFullVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: ClientModel::formatSubVersion
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - QString::fromStdString
    linkageType: ''
    returnType: QString
    signature: QString ClientModel::formatSubVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: ClientModel::isReleaseVersion
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ClientModel::isReleaseVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:213,1
    - Dst: GetStartupTime
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: ClientModel::formatClientStartupTime
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - GetStartupTime
    - QDateTime::fromSecsSinceEpoch
    linkageType: ''
    returnType: QString
    signature: QString ClientModel::formatClientStartupTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:218,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: ClientModel::dataDir
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::PathToQString
    - GetDataDirNet
    linkageType: ''
    returnType: QString
    signature: QString ClientModel::dataDir() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:223,1
    - Dst: GetBlocksDirPath
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: ClientModel::blocksDir
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::PathToQString
    - GetBlocksDirPath
    linkageType: ''
    returnType: QString
    signature: QString ClientModel::blocksDir() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:234,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:239,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - sync_state
    - tip
    - verification_progress
    - synctype
    argTypes:
    - SynchronizationState
    - interfaces::BlockTip
    - double
    - SyncType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 247
    functionName: ClientModel::TipChanged
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - WITH_LOCK
    - QDateTime::fromSecsSinceEpoch
    linkageType: ''
    returnType: void
    signature: void ClientModel::TipChanged(SynchronizationState sync_state, interfaces::BlockTip
      tip, double verification_progress, SyncType synctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:251,1
    - Dst: handleShowProgress
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:251,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:255,1
    - Dst: handleNotifyNumConnectionsChanged
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:255,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:259,1
    - Dst: handleNotifyNetworkActiveChanged
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:259,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:263,1
    - Dst: handleNotifyAlertChanged
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:263,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:265,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:268,1
    - Dst: handleBannedListChanged
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:268,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:270,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:271,1
    - Dst: refresh
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:271,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:273,1
    - Dst: handleNotifyBlockTip
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:273,1
    - Dst: ClientModel::TipChanged
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:275,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:277,1
    - Dst: handleNotifyHeaderTip
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:277,1
    - Dst: ClientModel::TipChanged
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 281
    functionName: ClientModel::subscribeToCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 1
    functionsReached:
    - handleNotifyBlockTip
    - ClientModel::TipChanged
    - handleNotifyHeaderTip
    - handleNotifyAlertChanged
    - refresh
    - qDebug
    - handleNotifyNumConnectionsChanged
    - handleBannedListChanged
    - handleNotifyNetworkActiveChanged
    - QMetaObject::invokeMethod
    - emplace_back
    - handleShowProgress
    linkageType: ''
    returnType: void
    signature: void ClientModel::subscribeToCoreSignals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: ClientModel::unsubscribeFromCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ClientModel::unsubscribeFromCoreSignals()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Proxy::Proxy
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:290,1
    - Dst: getProxy
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:291,1
    - Dst: getProxy
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:291,1
    - Dst: Proxy::proxy::ToStringAddrPort
      Src: /src/bitcoin-core/src/qt/clientmodel.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ip_port'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: ClientModel::getProxyInfo
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.cpp
    functionUses: 0
    functionsReached:
    - getProxy
    - Proxy::proxy::ToStringAddrPort
    - Proxy::Proxy
    linkageType: ''
    returnType: bool
    signature: bool ClientModel::getProxyInfo(std::string& ip_port) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - nColumn
    - fOrder
    argTypes:
    - int
    - Qt::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: BannedNodeLessThan::BannedNodeLessThan
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BannedNodeLessThan(int nColumn, Qt::SortOrder fOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: QLabel
    functionSourceFile: /src/bitcoin-core/src/qt/qrimagewidget.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QLabel
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ModalOverlay::isLayerVisible
    functionSourceFile: /src/bitcoin-core/src/qt/modaloverlay.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLayerVisible() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: treeWidget
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:37,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:39,1
    - Dst: QTreeWidgetItem::data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:39,1
    - Dst: QTreeWidgetItem::operator<
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - QTreeWidgetItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: CCoinControlWidgetItem::operator<(const QTreeWidgetItem &other)
      const
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - data
    - QTreeWidgetItem::operator<
    - QTreeWidgetItem::data
    - treeWidget
    linkageType: ''
    returnType: bool
    signature: bool CCoinControlWidgetItem::operator<(const QTreeWidgetItem &other)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Ui::CoinControlDialog::CoinControlDialog
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:45,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:50,1
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:53,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:54,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:54,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:55,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:55,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:56,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:56,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:57,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:57,1
    - Dst: addSeparator
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:58,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:59,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:59,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:60,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:60,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:61,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:64,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:64,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:65,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:65,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:66,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:66,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:67,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:67,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:68,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:68,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:69,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:69,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:71,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:72,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:73,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:74,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:75,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:76,1
    - Dst: labelCoinControlQuantity::addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:78,1
    - Dst: labelCoinControlAmount::addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:79,1
    - Dst: labelCoinControlFee::addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:80,1
    - Dst: labelCoinControlAfterFee::addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:81,1
    - Dst: labelCoinControlBytes::addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:82,1
    - Dst: labelCoinControlChange::addAction
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:83,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:86,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:87,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:90,1
    - Dst: treeWidget::header
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:93,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:94,1
    - Dst: treeWidget::header
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:94,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:97,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:100,1
    - Dst: treeWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:102,1
    - Dst: treeWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:103,1
    - Dst: treeWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:104,1
    - Dst: treeWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:105,1
    - Dst: treeWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:106,1
    - Dst: treeWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:107,1
    - Dst: CoinControlDialog::sortView
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:110,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:114,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:114,1
    - Dst: radioTreeMode::click
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:115,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:116,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:116,1
    - Dst: CoinControlDialog::sortView
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:117,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:117,1
    - Dst: static_cast<Qt::SortOrder>
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:117,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:117,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:119,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:121,1
    - Dst: WalletModel*::getAddressTableModel
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:121,1
    - Dst: CoinControlDialog::updateView
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:123,1
    - Dst: CoinControlDialog::updateLabelLocked
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:124,1
    - Dst: CoinControlDialog::updateLabels
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 4
    argNames:
    - ' coin_control'
    - _model
    - _platformStyle
    - parent
    argTypes:
    - CCoinControl
    - WalletModel*
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 127
    functionName: CoinControlDialog::CoinControlDialog
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 1
    functionsReached:
    - WalletModel*::getOptionsModel
    - labelCoinControlBytes::addAction
    - CoinControlDialog::updateLabels
    - addAction
    - setupUi
    - CoinControlDialog::updateLabelLocked
    - QMenu::QMenu
    - radioTreeMode::click
    - labelCoinControlAfterFee::addAction
    - labelCoinControlFee::addAction
    - labelCoinControlChange::addAction
    - connect
    - GUIUtil::handleCloseWindowShortcut
    - labelCoinControlAmount::addAction
    - tr
    - treeWidget::setColumnWidth
    - static_cast<Qt::SortOrder>
    - WalletModel*::getAddressTableModel
    - labelCoinControlQuantity::addAction
    - addSeparator
    - treeWidget::header
    - QSettings::value
    - CoinControlDialog::sortView
    - QAction::QAction
    - Ui::CoinControlDialog::CoinControlDialog
    - QSettings::contains
    - CoinControlDialog::updateView
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::CoinControlDialog(CCoinControl& coin_control,
      WalletModel* _model, const PlatformStyle *_platformStyle, QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:132,1
    - Dst: radioListMode::isChecked
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:132,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:133,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: CoinControlDialog::~CoinControlDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - radioListMode::isChecked
    - QSettings::setValue
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::~CoinControlDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buttonBox::buttonRole
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:142,1
    - Dst: done
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - button
    argTypes:
    - QAbstractButton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: CoinControlDialog::buttonBoxClicked
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - done
    - buttonBox::buttonRole
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::buttonBoxClicked(QAbstractButton* button)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: treeWidget::topLevelItemCount
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:150,1
    - Dst: treeWidget::topLevelItem
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:152,1
    - Dst: treeWidget::setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:158,1
    - Dst: treeWidget::topLevelItemCount
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:159,1
    - Dst: treeWidget::topLevelItem
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:160,1
    - Dst: treeWidget::topLevelItem
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:161,1
    - Dst: treeWidget::setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:162,1
    - Dst: UnSelectAll
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:164,1
    - Dst: CoinControlDialog::updateLabels
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: CoinControlDialog::buttonSelectAllClicked
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - treeWidget::setEnabled
    - treeWidget::topLevelItem
    - treeWidget::topLevelItemCount
    - CoinControlDialog::updateLabels
    - UnSelectAll
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::buttonSelectAllClicked()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: treeWidget::itemAt
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:171,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:177,1
    - Dst: QTreeWidgetItem*::data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:177,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:179,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:180,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:180,1
    - Dst: QTreeWidgetItem*::data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:180,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:181,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:182,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:184,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:185,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:188,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:189,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:190,1
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:194,1
    - Dst: QCursor::pos
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - point
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 196
    functionName: CoinControlDialog::showMenu
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - exec
    - wallet
    - setEnabled
    - detail::FromHex
    - QTreeWidgetItem*::data
    - COutPoint
    - treeWidget::itemAt
    - QCursor::pos
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::showMenu(const QPoint &point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:201,1
    - Dst: BitcoinUnits::removeSpaces
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:201,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: CoinControlDialog::copyAmount
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - text
    - BitcoinUnits::removeSpaces
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::copyAmount()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: radioTreeMode::isChecked
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:207,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:207,1
    - Dst: parent
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:207,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:208,1
    - Dst: parent
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:208,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:210,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: CoinControlDialog::copyLabel
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - text
    - radioTreeMode::isChecked
    - parent
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::copyLabel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: radioTreeMode::isChecked
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:216,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:216,1
    - Dst: parent
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:216,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:217,1
    - Dst: parent
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:217,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:219,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: CoinControlDialog::copyAddress
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - text
    - radioTreeMode::isChecked
    - parent
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::copyAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:225,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:226,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:227,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: CoinControlDialog::copyTransactionOutpoint
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - data
    - QString
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::copyTransactionOutpoint()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkState
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:235,1
    - Dst: setCheckState
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:236,1
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:238,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:238,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:238,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:239,1
    - Dst: setDisabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:240,1
    - Dst: setIcon
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:241,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:241,1
    - Dst: CoinControlDialog::updateLabelLocked
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: CoinControlDialog::lockCoin
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - setIcon
    - setDisabled
    - CoinControlDialog::updateLabelLocked
    - wallet
    - detail::FromHex
    - data
    - setCheckState
    - SingleColorIcon
    - checkState
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::lockCoin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:248,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:248,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:248,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:249,1
    - Dst: setDisabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:250,1
    - Dst: setIcon
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:251,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:251,1
    - Dst: CoinControlDialog::updateLabelLocked
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: CoinControlDialog::unlockCoin
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - setIcon
    - CoinControlDialog::updateLabelLocked
    - wallet
    - detail::FromHex
    - data
    - QIcon
    - setDisabled
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::unlockCoin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:258,1
    - Dst: labelCoinControlQuantity::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: CoinControlDialog::clipboardQuantity
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlQuantity::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::clipboardQuantity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:264,1
    - Dst: labelCoinControlAmount::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:264,1
    - Dst: labelCoinControlAmount::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: CoinControlDialog::clipboardAmount
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlAmount::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::clipboardAmount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:270,1
    - Dst: labelCoinControlFee::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:270,1
    - Dst: labelCoinControlFee::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: CoinControlDialog::clipboardFee
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlFee::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::clipboardFee()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:276,1
    - Dst: labelCoinControlAfterFee::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:276,1
    - Dst: labelCoinControlAfterFee::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: CoinControlDialog::clipboardAfterFee
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlAfterFee::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::clipboardAfterFee()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:282,1
    - Dst: labelCoinControlBytes::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: CoinControlDialog::clipboardBytes
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlBytes::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::clipboardBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:288,1
    - Dst: labelCoinControlChange::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:288,1
    - Dst: labelCoinControlChange::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: CoinControlDialog::clipboardChange
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlChange::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::clipboardChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treeWidget::sortItems
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:296,1
    - Dst: treeWidget::header
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - column
    - order
    argTypes:
    - int
    - Qt::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: CoinControlDialog::sortView
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 1
    functionsReached:
    - treeWidget::sortItems
    - treeWidget::header
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::sortView(int column, Qt::SortOrder order)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: treeWidget::header
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:305,1
    - Dst: CoinControlDialog::sortView
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - logicalIndex
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: CoinControlDialog::headerSectionClicked
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - CoinControlDialog::sortView
    - treeWidget::header
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::headerSectionClicked(int logicalIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoinControlDialog::updateView
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - checked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: CoinControlDialog::radioTreeMode
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - CoinControlDialog::updateView
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::radioTreeMode(bool checked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoinControlDialog::updateView
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - checked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: CoinControlDialog::radioListMode
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - CoinControlDialog::updateView
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::radioListMode(bool checked)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: detail::FromHex
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:339,1
    - Dst: QTreeWidgetItem*::data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:339,1
    - Dst: QTreeWidgetItem*::data
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:341,1
    - Dst: QTreeWidgetItem*::checkState
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:343,1
    - Dst: UnSelect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:344,1
    - Dst: QTreeWidgetItem*::isDisabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:345,1
    - Dst: QTreeWidgetItem*::setCheckState
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:346,1
    - Dst: Select
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:348,1
    - Dst: treeWidget::isEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:351,1
    - Dst: CoinControlDialog::updateLabels
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - item
    - column
    argTypes:
    - QTreeWidgetItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 354
    functionName: CoinControlDialog::viewItemChanged
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - detail::FromHex
    - QTreeWidgetItem*::data
    - Select
    - QTreeWidgetItem*::checkState
    - UnSelect
    - QTreeWidgetItem*::setCheckState
    - QTreeWidgetItem*::isDisabled
    - treeWidget::isEnabled
    - CoinControlDialog::updateLabels
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::viewItemChanged(QTreeWidgetItem* item, int
      column)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:360,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:361,1
    - Dst: labelLocked::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:363,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:363,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:363,1
    - Dst: labelLocked::setVisible
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:364,1
    - Dst: labelLocked::setVisible
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: CoinControlDialog::updateLabelLocked
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 3
    functionsReached:
    - wallet
    - labelLocked::setVisible
    - labelLocked::setText
    - tr
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::updateLabelLocked()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ListSelected
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:389,1
    - Dst: WalletModel*::wallet
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:392,1
    - Dst: UnSelect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:400,1
    - Dst: txout::scriptPubKey::IsWitnessProgram
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:414,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:427,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:431,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:433,1
    - Dst: std::get_if<PKHash>
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:434,1
    - Dst: WalletModel*::wallet
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:435,1
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:435,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:437,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:449,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:449,1
    - Dst: WalletModel*::wallet
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:465,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:475,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:475,1
    - Dst: IsDust
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:477,1
    - Dst: WalletModel*::node
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:477,1
    - Dst: std::max<CAmount>
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:491,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:496,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:497,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:499,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:500,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:501,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:502,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:503,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:504,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:507,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:508,1
    - Dst: QLabel*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:511,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:511,1
    - Dst: QLabel*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:512,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:512,1
    - Dst: QLabel*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:513,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:513,1
    - Dst: QLabel*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:514,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:514,1
    - Dst: QLabel*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:515,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:515,1
    - Dst: QLabel*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:516,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:516,1
    - Dst: QLabel*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:519,1
    - Dst: QLabel*::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:519,1
    - Dst: QLabel*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:520,1
    - Dst: QLabel*::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:520,1
    - Dst: QLabel*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:522,1
    - Dst: QLabel*::text
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:522,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:528,1
    - Dst: QLabel*::setToolTip
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:530,1
    - Dst: QLabel*::setToolTip
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:531,1
    - Dst: QLabel*::setToolTip
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:532,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:533,1
    - Dst: QLabel*::toolTip
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:533,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:534,1
    - Dst: QLabel*::toolTip
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:534,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:535,1
    - Dst: QLabel*::toolTip
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:535,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:536,1
    - Dst: QLabel*::toolTip
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:536,1
    - Dst: QDialog*::findChild
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:539,1
    - Dst: QLabel*::setVisible
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:541,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 85
    argCount: 3
    argNames:
    - ' m_coin_control'
    - model
    - dialog
    argTypes:
    - CCoinControl
    - WalletModel*
    - QDialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 542
    functionName: CoinControlDialog::updateLabels
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 3
    functionsReached:
    - WalletModel*::getOptionsModel
    - txout::scriptPubKey::IsWitnessProgram
    - QLabel*::setText
    - QLabel*::setVisible
    - ToKeyID
    - CPubKey::IsCompressed
    - print_number
    - WalletModel*::node
    - QLabel*::toolTip
    - std::runtime_error
    - std::get_if<PKHash>
    - CPubKey::CPubKey
    - BitcoinUnits::formatWithUnit
    - ListSelected
    - std::vector<unsigned char>
    - QLabel*::setToolTip
    - QDialog*::findChild
    - tr
    - UnSelect
    - QLabel*::text
    - IsDust
    - WalletModel*::wallet
    - ExtractDestination
    - size
    - std::max<CAmount>
    - CScript
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::updateLabels(CCoinControl& m_coin_control,
      WalletModel *model, QDialog* dialog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:546,1
    - Dst: CoinControlDialog::updateView
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:547,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: CoinControlDialog::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 0
    functionsReached:
    - SignVerifyMessageDialog::changeEvent
    - QEvent*::type
    - CoinControlDialog::updateView
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::changeEvent(QEvent* e)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:555,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:555,1
    - Dst: radioTreeMode::isChecked
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:558,1
    - Dst: treeWidget::clear
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:560,1
    - Dst: treeWidget::setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:561,1
    - Dst: treeWidget::setAlternatingRowColors
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:562,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:566,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:568,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:570,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:570,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:571,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:572,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:573,1
    - Dst: CCoinControlWidgetItem::CCoinControlWidgetItem
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:578,1
    - Dst: CCoinControlWidgetItem*::setFlags
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:580,1
    - Dst: CCoinControlWidgetItem*::setCheckState
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:581,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:584,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:587,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:593,1
    - Dst: std::get<1>
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:594,1
    - Dst: CCoinControlWidgetItem::CCoinControlWidgetItem
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:599,1
    - Dst: CCoinControlWidgetItem::CCoinControlWidgetItem
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:600,1
    - Dst: CCoinControlWidgetItem*::setFlags
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:601,1
    - Dst: CCoinControlWidgetItem*::setCheckState
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:602,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:607,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:609,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:609,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:613,1
    - Dst: CCoinControlWidgetItem*::setToolTip
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:620,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:620,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:621,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:621,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:625,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:626,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:627,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:628,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:632,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:632,1
    - Dst: CCoinControlWidgetItem*::setData
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:633,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:633,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:636,1
    - Dst: GUIUtil::dateTimeStr
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:636,1
    - Dst: CCoinControlWidgetItem*::setData
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:637,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:637,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:640,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:640,1
    - Dst: CCoinControlWidgetItem*::setData
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:641,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:641,1
    - Dst: CCoinControlWidgetItem*::setData
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:644,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:644,1
    - Dst: hash::GetHex
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:644,1
    - Dst: CCoinControlWidgetItem*::setData
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:647,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:650,1
    - Dst: UnSelect
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:652,1
    - Dst: CCoinControlWidgetItem*::setDisabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:653,1
    - Dst: CCoinControlWidgetItem*::setIcon
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:654,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:654,1
    - Dst: IsSelected
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:658,1
    - Dst: CCoinControlWidgetItem*::setCheckState
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:659,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:665,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:665,1
    - Dst: CCoinControlWidgetItem*::setText
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:666,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:666,1
    - Dst: CCoinControlWidgetItem*::setData
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:667,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:667,1
    - Dst: treeWidget::topLevelItemCount
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:674,1
    - Dst: treeWidget::topLevelItem
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:675,1
    - Dst: treeWidget::topLevelItem
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:676,1
    - Dst: CoinControlDialog::sortView
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:680,1
    - Dst: treeWidget::setEnabled
      Src: /src/bitcoin-core/src/qt/coincontroldialog.cpp:681,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 682
    functionName: CoinControlDialog::updateView
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.cpp
    functionUses: 4
    functionsReached:
    - QVariant
    - EncodeDestination
    - treeWidget::setEnabled
    - CCoinControlWidgetItem*::setData
    - treeWidget::topLevelItemCount
    - BitcoinUnits::format
    - CCoinControlWidgetItem*::setCheckState
    - getOptionsModel
    - CCoinControlWidgetItem::CCoinControlWidgetItem
    - std::get<1>
    - QString::isEmpty
    - print_number
    - GUIUtil::dateTimeStr
    - CCoinControlWidgetItem*::setDisabled
    - treeWidget::topLevelItem
    - CCoinControlWidgetItem*::setIcon
    - getAddressTableModel
    - QString::fromStdString
    - CCoinControlWidgetItem*::setText
    - IsSelected
    - treeWidget::clear
    - tr
    - UnSelect
    - hash::GetHex
    - CCoinControlWidgetItem*::setToolTip
    - radioTreeMode::isChecked
    - CCoinControlWidgetItem*::setFlags
    - wallet
    - ExtractDestination
    - CoinControlDialog::sortView
    - SingleColorIcon
    - std::get<0>
    - treeWidget::setAlternatingRowColors
    linkageType: ''
    returnType: void
    signature: void CoinControlDialog::updateView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/qt/intro.cpp:33,1
    - Dst: PruneMiBtoGB
      Src: /src/bitcoin-core/src/qt/intro.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: GetPruneTargetGB
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - PruneMiBtoGB
    - GetIntArg
    linkageType: ''
    returnType: int
    signature: int GetPruneTargetGB()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/qt/intro.cpp:33,1
    - Dst: PruneMiBtoGB
      Src: /src/bitcoin-core/src/qt/intro.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: GetPruneTargetGB
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - PruneMiBtoGB
    - GetIntArg
    linkageType: ''
    returnType: int
    signature: int GetPruneTargetGB()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Ui::Intro::Intro
      Src: /src/bitcoin-core/src/qt/intro.cpp:41,1
    - Dst: GetPruneTargetGB
      Src: /src/bitcoin-core/src/qt/intro.cpp:44,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/intro.cpp:46,1
    - Dst: welcomeLabel::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:47,1
    - Dst: welcomeLabel::text
      Src: /src/bitcoin-core/src/qt/intro.cpp:47,1
    - Dst: storageLabel::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:48,1
    - Dst: storageLabel::text
      Src: /src/bitcoin-core/src/qt/intro.cpp:48,1
    - Dst: lblExplanation1::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:50,1
    - Dst: lblExplanation1::text
      Src: /src/bitcoin-core/src/qt/intro.cpp:50,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:54,1
    - Dst: lblExplanation2::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:56,1
    - Dst: lblExplanation2::text
      Src: /src/bitcoin-core/src/qt/intro.cpp:56,1
    - Dst: std::ceil
      Src: /src/bitcoin-core/src/qt/intro.cpp:58,1
    - Dst: pruneGB::setRange
      Src: /src/bitcoin-core/src/qt/intro.cpp:59,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/qt/intro.cpp:59,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/qt/intro.cpp:60,1
    - Dst: prune::setChecked
      Src: /src/bitcoin-core/src/qt/intro.cpp:62,1
    - Dst: prune::setEnabled
      Src: /src/bitcoin-core/src/qt/intro.cpp:63,1
    - Dst: pruneGB::setValue
      Src: /src/bitcoin-core/src/qt/intro.cpp:65,1
    - Dst: pruneGB::setToolTip
      Src: /src/bitcoin-core/src/qt/intro.cpp:66,1
    - Dst: prune::toolTip
      Src: /src/bitcoin-core/src/qt/intro.cpp:66,1
    - Dst: lblPruneSuffix::setToolTip
      Src: /src/bitcoin-core/src/qt/intro.cpp:67,1
    - Dst: prune::toolTip
      Src: /src/bitcoin-core/src/qt/intro.cpp:67,1
    - Dst: Intro::UpdatePruneLabels
      Src: /src/bitcoin-core/src/qt/intro.cpp:68,1
    - Dst: prune::isChecked
      Src: /src/bitcoin-core/src/qt/intro.cpp:68,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/intro.cpp:70,1
    - Dst: Intro::UpdatePruneLabels
      Src: /src/bitcoin-core/src/qt/intro.cpp:72,1
    - Dst: Intro::UpdateFreeSpaceLabel
      Src: /src/bitcoin-core/src/qt/intro.cpp:73,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/intro.cpp:75,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/intro.cpp:75,1
    - Dst: Intro::UpdatePruneLabels
      Src: /src/bitcoin-core/src/qt/intro.cpp:77,1
    - Dst: prune::isChecked
      Src: /src/bitcoin-core/src/qt/intro.cpp:77,1
    - Dst: Intro::UpdateFreeSpaceLabel
      Src: /src/bitcoin-core/src/qt/intro.cpp:78,1
    - Dst: Intro::startThread
      Src: /src/bitcoin-core/src/qt/intro.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - parent
    - blockchain_size_gb
    - chain_state_size_gb
    argTypes:
    - QWidget*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 82
    functionName: Intro::Intro
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 1
    functionsReached:
    - lblExplanation1::setText
    - Intro::UpdatePruneLabels
    - lblExplanation2::text
    - welcomeLabel::setText
    - lblPruneSuffix::setToolTip
    - lblExplanation2::setText
    - setupUi
    - std::ceil
    - prune::toolTip
    - Ui::Intro::Intro
    - prune::setChecked
    - pruneGB::setToolTip
    - prune::isChecked
    - connect
    - lblExplanation1::text
    - qOverload<int>
    - storageLabel::text
    - welcomeLabel::text
    - tr
    - GetPruneTargetGB
    - Intro::startThread
    - storageLabel::setText
    - RandomMixin::max
    - pruneGB::setValue
    - prune::setEnabled
    - pruneGB::setRange
    - GetIntArg
    - Intro::UpdateFreeSpaceLabel
    linkageType: ''
    returnType: void
    signature: void Intro::Intro(QWidget *parent, int64_t blockchain_size_gb, int64_t
      chain_state_size_gb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quit
      Src: /src/bitcoin-core/src/qt/intro.cpp:88,1
    - Dst: wait
      Src: /src/bitcoin-core/src/qt/intro.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: Intro::~Intro()
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - quit
    - wait
    linkageType: ''
    returnType: void
    signature: void Intro::~Intro()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dataDirectory::text
      Src: /src/bitcoin-core/src/qt/intro.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: Intro::getDataDirectory
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - dataDirectory::text
    linkageType: ''
    returnType: QString
    signature: QString Intro::getDataDirectory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dataDirectory::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:99,1
    - Dst: GUIUtil::getDefaultDataDirectory
      Src: /src/bitcoin-core/src/qt/intro.cpp:100,1
    - Dst: dataDirDefault::setChecked
      Src: /src/bitcoin-core/src/qt/intro.cpp:102,1
    - Dst: dataDirectory::setEnabled
      Src: /src/bitcoin-core/src/qt/intro.cpp:103,1
    - Dst: ellipsisButton::setEnabled
      Src: /src/bitcoin-core/src/qt/intro.cpp:104,1
    - Dst: dataDirCustom::setChecked
      Src: /src/bitcoin-core/src/qt/intro.cpp:106,1
    - Dst: dataDirectory::setEnabled
      Src: /src/bitcoin-core/src/qt/intro.cpp:107,1
    - Dst: ellipsisButton::setEnabled
      Src: /src/bitcoin-core/src/qt/intro.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - dataDir
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: Intro::setDataDirectory
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - ellipsisButton::setEnabled
    - GUIUtil::getDefaultDataDirectory
    - dataDirCustom::setChecked
    - dataDirectory::setText
    - dataDirDefault::setChecked
    - dataDirectory::setEnabled
    linkageType: ''
    returnType: void
    signature: void Intro::setDataDirectory(const QString &dataDir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prune::checkState
      Src: /src/bitcoin-core/src/qt/intro.cpp:114,1
    - Dst: PruneGBtoMiB
      Src: /src/bitcoin-core/src/qt/intro.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: Intro::getPruneMiB
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - PruneGBtoMiB
    - prune::checkState
    linkageType: ''
    returnType: int64_t
    signature: int64_t Intro::getPruneMiB() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/qt/intro.cpp:129,1
    - Dst: GUIUtil::getDefaultDataDirectory
      Src: /src/bitcoin-core/src/qt/intro.cpp:132,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/intro.cpp:134,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/qt/intro.cpp:136,1
    - Dst: GUIUtil::QStringToPath
      Src: /src/bitcoin-core/src/qt/intro.cpp:136,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/intro.cpp:136,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/intro.cpp:136,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/intro.cpp:136,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/qt/intro.cpp:140,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/qt/intro.cpp:140,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/intro.cpp:146,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/intro.cpp:146,1
    - Dst: Intro::setDataDirectory
      Src: /src/bitcoin-core/src/qt/intro.cpp:147,1
    - Dst: Intro::setWindowIcon
      Src: /src/bitcoin-core/src/qt/intro.cpp:148,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/intro.cpp:148,1
    - Dst: Intro::exec
      Src: /src/bitcoin-core/src/qt/intro.cpp:153,1
    - Dst: Intro::getDataDirectory
      Src: /src/bitcoin-core/src/qt/intro.cpp:158,1
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/qt/intro.cpp:160,1
    - Dst: GUIUtil::QStringToPath
      Src: /src/bitcoin-core/src/qt/intro.cpp:160,1
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/qt/intro.cpp:162,1
    - Dst: GUIUtil::QStringToPath
      Src: /src/bitcoin-core/src/qt/intro.cpp:162,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/intro.cpp:166,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:167,1
    - Dst: Intro::getPruneMiB
      Src: /src/bitcoin-core/src/qt/intro.cpp:173,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/intro.cpp:175,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/intro.cpp:176,1
    - Dst: GUIUtil::getDefaultDataDirectory
      Src: /src/bitcoin-core/src/qt/intro.cpp:182,1
    - Dst: SoftSetArg
      Src: /src/bitcoin-core/src/qt/intro.cpp:183,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/qt/intro.cpp:183,1
    - Dst: GUIUtil::QStringToPath
      Src: /src/bitcoin-core/src/qt/intro.cpp:183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - ' did_show_intro'
    - ' prune_MiB'
    argTypes:
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 186
    functionName: Intro::showIfNeeded
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - GetArg
    - fs::exists
    - Intro::getPruneMiB
    - GUIUtil::getDefaultDataDirectory
    - SoftSetArg
    - Intro::getDataDirectory
    - GetChainType
    - fs::PathToString
    - QMessageBox::critical
    - QSettings::setValue
    - GUIUtil::QStringToPath
    - TryCreateDirectories
    - tr
    - Params
    - Intro::exec
    - Intro::setWindowIcon
    - Intro::setDataDirectory
    - QSettings::value
    - SelectParams
    - GetBoolArg
    - QIcon
    linkageType: ''
    returnType: bool
    signature: bool Intro::showIfNeeded(bool& did_show_intro, int64_t& prune_MiB)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errorMessage::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:193,1
    - Dst: errorMessage::setStyleSheet
      Src: /src/bitcoin-core/src/qt/intro.cpp:194,1
    - Dst: errorMessage::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:197,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:197,1
    - Dst: errorMessage::setStyleSheet
      Src: /src/bitcoin-core/src/qt/intro.cpp:198,1
    - Dst: freeSpace::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:204,1
    - Dst: prune::isEnabled
      Src: /src/bitcoin-core/src/qt/intro.cpp:207,1
    - Dst: prune::setChecked
      Src: /src/bitcoin-core/src/qt/intro.cpp:208,1
    - Dst: Intro::UpdateFreeSpaceLabel
      Src: /src/bitcoin-core/src/qt/intro.cpp:210,1
    - Dst: buttonBox::button
      Src: /src/bitcoin-core/src/qt/intro.cpp:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - status
    - message
    - bytesAvailable
    argTypes:
    - int
    - QString
    - quint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 214
    functionName: Intro::setStatus
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - buttonBox::button
    - prune::isEnabled
    - tr
    - prune::setChecked
    - errorMessage::setText
    - Intro::UpdateFreeSpaceLabel
    - freeSpace::setText
    - errorMessage::setStyleSheet
    linkageType: ''
    returnType: void
    signature: void Intro::setStatus(int status, const QString &message, quint64 bytesAvailable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:218,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:220,1
    - Dst: freeSpace::setStyleSheet
      Src: /src/bitcoin-core/src/qt/intro.cpp:221,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:223,1
    - Dst: freeSpace::setStyleSheet
      Src: /src/bitcoin-core/src/qt/intro.cpp:224,1
    - Dst: freeSpace::setStyleSheet
      Src: /src/bitcoin-core/src/qt/intro.cpp:226,1
    - Dst: freeSpace::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: Intro::UpdateFreeSpaceLabel
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 2
    functionsReached:
    - freeSpace::setText
    - freeSpace::setStyleSheet
    - tr
    linkageType: ''
    returnType: void
    signature: void Intro::UpdateFreeSpaceLabel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buttonBox::button
      Src: /src/bitcoin-core/src/qt/intro.cpp:234,1
    - Dst: Intro::checkPath
      Src: /src/bitcoin-core/src/qt/intro.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dataDirStr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: Intro::on_dataDirectory_textChanged
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - buttonBox::button
    - Intro::checkPath
    linkageType: ''
    returnType: void
    signature: void Intro::on_dataDirectory_textChanged(const QString &dataDirStr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QDir::toNativeSeparators
      Src: /src/bitcoin-core/src/qt/intro.cpp:240,1
    - Dst: QFileDialog::getExistingDirectory
      Src: /src/bitcoin-core/src/qt/intro.cpp:240,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:240,1
    - Dst: dataDirectory::text
      Src: /src/bitcoin-core/src/qt/intro.cpp:240,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/intro.cpp:241,1
    - Dst: dataDirectory::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: Intro::on_ellipsisButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - QDir::toNativeSeparators
    - tr
    - dataDirectory::setText
    - QFileDialog::getExistingDirectory
    - dataDirectory::text
    linkageType: ''
    returnType: void
    signature: void Intro::on_ellipsisButton_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Intro::setDataDirectory
      Src: /src/bitcoin-core/src/qt/intro.cpp:247,1
    - Dst: GUIUtil::getDefaultDataDirectory
      Src: /src/bitcoin-core/src/qt/intro.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: Intro::on_dataDirDefault_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - Intro::setDataDirectory
    - GUIUtil::getDefaultDataDirectory
    linkageType: ''
    returnType: void
    signature: void Intro::on_dataDirDefault_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dataDirectory::setEnabled
      Src: /src/bitcoin-core/src/qt/intro.cpp:252,1
    - Dst: ellipsisButton::setEnabled
      Src: /src/bitcoin-core/src/qt/intro.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: Intro::on_dataDirCustom_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - ellipsisButton::setEnabled
    - dataDirectory::setEnabled
    linkageType: ''
    returnType: void
    signature: void Intro::on_dataDirCustom_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QThread::QThread
      Src: /src/bitcoin-core/src/qt/intro.cpp:258,1
    - Dst: FreespaceChecker::FreespaceChecker
      Src: /src/bitcoin-core/src/qt/intro.cpp:259,1
    - Dst: FreespaceChecker*::moveToThread
      Src: /src/bitcoin-core/src/qt/intro.cpp:260,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/intro.cpp:262,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/intro.cpp:263,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/intro.cpp:265,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/intro.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: Intro::startThread
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 1
    functionsReached:
    - connect
    - QThread::QThread
    - FreespaceChecker::FreespaceChecker
    - start
    - FreespaceChecker*::moveToThread
    linkageType: ''
    returnType: void
    signature: void Intro::startThread()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/bitcoin-core/src/qt/intro.cpp:272,1
    - Dst: unlock
      Src: /src/bitcoin-core/src/qt/intro.cpp:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dataDir
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: Intro::checkPath
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 1
    functionsReached:
    - unlock
    - lock
    linkageType: ''
    returnType: void
    signature: void Intro::checkPath(const QString &dataDir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/bitcoin-core/src/qt/intro.cpp:285,1
    - Dst: unlock
      Src: /src/bitcoin-core/src/qt/intro.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: Intro::getPathToCheck
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - lock
    linkageType: ''
    returnType: QString
    signature: QString Intro::getPathToCheck()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:295,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:298,1
    - Dst: lblExplanation3::setVisible
      Src: /src/bitcoin-core/src/qt/intro.cpp:300,1
    - Dst: pruneGB::setEnabled
      Src: /src/bitcoin-core/src/qt/intro.cpp:301,1
    - Dst: lblPruneSuffix::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:305,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:307,1
    - Dst: sizeWarningLabel::setText
      Src: /src/bitcoin-core/src/qt/intro.cpp:308,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:309,1
    - Dst: QString::arg
      Src: /src/bitcoin-core/src/qt/intro.cpp:310,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/intro.cpp:311,1
    - Dst: Intro::adjustSize
      Src: /src/bitcoin-core/src/qt/intro.cpp:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - prune_checked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 314
    functionName: Intro::UpdatePruneLabels
    functionSourceFile: /src/bitcoin-core/src/qt/intro.cpp
    functionUses: 1
    functionsReached:
    - lblPruneSuffix::setText
    - sizeWarningLabel::setText
    - tr
    - QString::arg
    - Intro::adjustSize
    - pruneGB::setEnabled
    - lblExplanation3::setVisible
    linkageType: ''
    returnType: void
    signature: void Intro::UpdatePruneLabels(bool prune_checked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletview.cpp:37,1
    - Dst: OverviewPage::OverviewPage
      Src: /src/bitcoin-core/src/qt/walletview.cpp:40,1
    - Dst: setWalletModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:41,1
    - Dst: QWidget::QWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:43,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/bitcoin-core/src/qt/walletview.cpp:44,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/bitcoin-core/src/qt/walletview.cpp:45,1
    - Dst: TransactionView::TransactionView
      Src: /src/bitcoin-core/src/qt/walletview.cpp:46,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:47,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:49,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletview.cpp:50,1
    - Dst: QPushButton::QPushButton
      Src: /src/bitcoin-core/src/qt/walletview.cpp:50,1
    - Dst: QPushButton*::setToolTip
      Src: /src/bitcoin-core/src/qt/walletview.cpp:51,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletview.cpp:51,1
    - Dst: getImagesOnButtons
      Src: /src/bitcoin-core/src/qt/walletview.cpp:52,1
    - Dst: QPushButton*::setIcon
      Src: /src/bitcoin-core/src/qt/walletview.cpp:53,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/walletview.cpp:53,1
    - Dst: QHBoxLayout*::addStretch
      Src: /src/bitcoin-core/src/qt/walletview.cpp:55,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:56,1
    - Dst: QVBoxLayout*::addLayout
      Src: /src/bitcoin-core/src/qt/walletview.cpp:57,1
    - Dst: setLayout
      Src: /src/bitcoin-core/src/qt/walletview.cpp:58,1
    - Dst: ReceiveCoinsDialog::ReceiveCoinsDialog
      Src: /src/bitcoin-core/src/qt/walletview.cpp:60,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:61,1
    - Dst: SendCoinsDialog::SendCoinsDialog
      Src: /src/bitcoin-core/src/qt/walletview.cpp:63,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:64,1
    - Dst: AddressBookPage::AddressBookPage
      Src: /src/bitcoin-core/src/qt/walletview.cpp:66,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:67,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:67,1
    - Dst: AddressBookPage::AddressBookPage
      Src: /src/bitcoin-core/src/qt/walletview.cpp:69,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:70,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:70,1
    - Dst: addWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:72,1
    - Dst: addWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:73,1
    - Dst: addWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:74,1
    - Dst: addWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:75,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:77,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:79,1
    - Dst: qOverload<const QModelIndex&>
      Src: /src/bitcoin-core/src/qt/walletview.cpp:79,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:81,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:83,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:85,1
    - Dst: qOverload<const Txid&>
      Src: /src/bitcoin-core/src/qt/walletview.cpp:85,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:88,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:91,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:93,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:95,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:96,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:99,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:102,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:105,1
    - Dst: getTransactionTableModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:105,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:108,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 3
    argNames:
    - wallet_model
    - _platformStyle
    - parent
    argTypes:
    - WalletModel*
    - PlatformStyle*
    - QWidget*
    assertStmts:
    - condition: (walletModel)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bitcoin-core/src/qt/walletview.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 112
    functionName: WalletView::WalletView
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - QPushButton::QPushButton
    - QVBoxLayout::QVBoxLayout
    - OverviewPage::OverviewPage
    - QVBoxLayout*::addLayout
    - getTransactionTableModel
    - setLayout
    - QPushButton*::setToolTip
    - addWidget
    - setWalletModel
    - SendCoinsDialog::SendCoinsDialog
    - QHBoxLayout*::addWidget
    - setModel
    - getAddressTableModel
    - ReceiveCoinsDialog::ReceiveCoinsDialog
    - QWidget::QWidget
    - getImagesOnButtons
    - connect
    - qOverload<const Txid&>
    - QPushButton*::setIcon
    - tr
    - QHBoxLayout::QHBoxLayout
    - assert
    - qOverload<const QModelIndex&>
    - AddressBookPage::AddressBookPage
    - TransactionView::TransactionView
    - QHBoxLayout*::addStretch
    - QVBoxLayout*::addWidget
    - SingleColorIcon
    linkageType: ''
    returnType: void
    signature: void WalletView::WalletView(WalletModel* wallet_model, const PlatformStyle*
      _platformStyle, QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: WalletView::~WalletView()
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletView::~WalletView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletView::setClientModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:120,1
    - Dst: WalletView::setClientModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:121,1
    - Dst: WalletView::setClientModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - _clientModel
    argTypes:
    - ClientModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: WalletView::setClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 1
    functionsReached:
    - WalletView::setClientModel
    linkageType: ''
    returnType: void
    signature: void WalletView::setClientModel(ClientModel *_clientModel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletview.cpp:128,1
    - Dst: getTransactionTableModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:132,1
    - Dst: TransactionTableModel*::processingQueuedTransactions
      Src: /src/bitcoin-core/src/qt/walletview.cpp:133,1
    - Dst: TransactionTableModel*::index
      Src: /src/bitcoin-core/src/qt/walletview.cpp:136,1
    - Dst: TransactionTableModel*::index
      Src: /src/bitcoin-core/src/qt/walletview.cpp:137,1
    - Dst: TransactionTableModel*::index
      Src: /src/bitcoin-core/src/qt/walletview.cpp:138,1
    - Dst: TransactionTableModel*::index
      Src: /src/bitcoin-core/src/qt/walletview.cpp:139,1
    - Dst: TransactionTableModel*::data
      Src: /src/bitcoin-core/src/qt/walletview.cpp:140,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/walletview.cpp:141,1
    - Dst: TransactionTableModel*::data
      Src: /src/bitcoin-core/src/qt/walletview.cpp:141,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:143,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/walletview.cpp:143,1
    - Dst: getWalletName
      Src: /src/bitcoin-core/src/qt/walletview.cpp:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' parent'
    - start
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: WalletView::processNewTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - TransactionTableModel*::processingQueuedTransactions
    - node
    - TransactionTableModel*::data
    - getWalletName
    - TransactionTableModel*::index
    - GUIUtil::HtmlEscape
    - getTransactionTableModel
    - getOptionsModel
    linkageType: ''
    returnType: void
    signature: void WalletView::processNewTransaction(const QModelIndex& parent, int
      start, int /*end*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: WalletView::gotoOverviewPage
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - setCurrentWidget
    linkageType: ''
    returnType: void
    signature: void WalletView::gotoOverviewPage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: WalletView::gotoHistoryPage
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - setCurrentWidget
    linkageType: ''
    returnType: void
    signature: void WalletView::gotoHistoryPage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: WalletView::gotoReceiveCoinsPage
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - setCurrentWidget
    linkageType: ''
    returnType: void
    signature: void WalletView::gotoReceiveCoinsPage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentWidget
      Src: /src/bitcoin-core/src/qt/walletview.cpp:163,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/walletview.cpp:165,1
    - Dst: setAddress
      Src: /src/bitcoin-core/src/qt/walletview.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: WalletView::gotoSendCoinsPage
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - setAddress
    - setCurrentWidget
    - QString::isEmpty
    linkageType: ''
    returnType: void
    signature: void WalletView::gotoSendCoinsPage(QString addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SignVerifyMessageDialog::SignVerifyMessageDialog
      Src: /src/bitcoin-core/src/qt/walletview.cpp:172,1
    - Dst: SignVerifyMessageDialog*::setAttribute
      Src: /src/bitcoin-core/src/qt/walletview.cpp:173,1
    - Dst: SignVerifyMessageDialog*::setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:174,1
    - Dst: SignVerifyMessageDialog*::showTab_SM
      Src: /src/bitcoin-core/src/qt/walletview.cpp:175,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/walletview.cpp:177,1
    - Dst: SignVerifyMessageDialog*::setAddress_SM
      Src: /src/bitcoin-core/src/qt/walletview.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: WalletView::gotoSignMessageTab
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - SignVerifyMessageDialog*::showTab_SM
    - QString::isEmpty
    - SignVerifyMessageDialog*::setModel
    - SignVerifyMessageDialog*::setAddress_SM
    - SignVerifyMessageDialog::SignVerifyMessageDialog
    - SignVerifyMessageDialog*::setAttribute
    linkageType: ''
    returnType: void
    signature: void WalletView::gotoSignMessageTab(QString addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SignVerifyMessageDialog::SignVerifyMessageDialog
      Src: /src/bitcoin-core/src/qt/walletview.cpp:184,1
    - Dst: SignVerifyMessageDialog*::setAttribute
      Src: /src/bitcoin-core/src/qt/walletview.cpp:185,1
    - Dst: SignVerifyMessageDialog*::setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:186,1
    - Dst: SignVerifyMessageDialog*::showTab_VM
      Src: /src/bitcoin-core/src/qt/walletview.cpp:187,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/walletview.cpp:189,1
    - Dst: SignVerifyMessageDialog*::setAddress_VM
      Src: /src/bitcoin-core/src/qt/walletview.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: WalletView::gotoVerifyMessageTab
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - SignVerifyMessageDialog*::setModel
    - SignVerifyMessageDialog*::showTab_VM
    - SignVerifyMessageDialog::SignVerifyMessageDialog
    - SignVerifyMessageDialog*::setAttribute
    - SignVerifyMessageDialog*::setAddress_VM
    linkageType: ''
    returnType: void
    signature: void WalletView::gotoVerifyMessageTab(QString addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletView::handlePaymentRequest
      Src: /src/bitcoin-core/src/qt/walletview.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' recipient'
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: WalletView::handlePaymentRequest
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 1
    functionsReached:
    - WalletView::handlePaymentRequest
    linkageType: ''
    returnType: bool
    signature: bool WalletView::handlePaymentRequest(const SendCoinsRecipient& recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletView::showOutOfSyncWarning
      Src: /src/bitcoin-core/src/qt/walletview.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fShow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: WalletView::showOutOfSyncWarning
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 1
    functionsReached:
    - WalletView::showOutOfSyncWarning
    linkageType: ''
    returnType: void
    signature: void WalletView::showOutOfSyncWarning(bool fShow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AskPassphraseDialog::AskPassphraseDialog
      Src: /src/bitcoin-core/src/qt/walletview.cpp:205,1
    - Dst: auto::setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:206,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletview.cpp:207,1
    - Dst: GUIUtil::ShowModalDialogAsynchronously
      Src: /src/bitcoin-core/src/qt/walletview.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: WalletView::encryptWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - AskPassphraseDialog::AskPassphraseDialog
    - connect
    - GUIUtil::ShowModalDialogAsynchronously
    - auto::setModel
    linkageType: ''
    returnType: void
    signature: void WalletView::encryptWallet()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::getSaveFileName
      Src: /src/bitcoin-core/src/qt/walletview.cpp:213,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletview.cpp:214,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/walletview.cpp:214,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletview.cpp:216,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/walletview.cpp:216,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/walletview.cpp:218,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletview.cpp:221,1
    - Dst: QString::toLocal8Bit
      Src: /src/bitcoin-core/src/qt/walletview.cpp:221,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletview.cpp:222,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletview.cpp:222,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletview.cpp:226,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletview.cpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 229
    functionName: WalletView::backupWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QString::isEmpty
    - QLatin1String
    - wallet
    - tr
    - GUIUtil::getSaveFileName
    - QString::toLocal8Bit
    linkageType: ''
    returnType: void
    signature: void WalletView::backupWallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AskPassphraseDialog::AskPassphraseDialog
      Src: /src/bitcoin-core/src/qt/walletview.cpp:233,1
    - Dst: auto::setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:234,1
    - Dst: GUIUtil::ShowModalDialogAsynchronously
      Src: /src/bitcoin-core/src/qt/walletview.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: WalletView::changePassphrase
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - AskPassphraseDialog::AskPassphraseDialog
    - GUIUtil::ShowModalDialogAsynchronously
    - auto::setModel
    linkageType: ''
    returnType: void
    signature: void WalletView::changePassphrase()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEncryptionStatus
      Src: /src/bitcoin-core/src/qt/walletview.cpp:241,1
    - Dst: AskPassphraseDialog::setModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:243,1
    - Dst: AskPassphraseDialog::exec
      Src: /src/bitcoin-core/src/qt/walletview.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: WalletView::unlockWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - AskPassphraseDialog::setModel
    - AskPassphraseDialog::exec
    - getEncryptionStatus
    linkageType: ''
    returnType: void
    signature: void WalletView::unlockWallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::bringToFront
      Src: /src/bitcoin-core/src/qt/walletview.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: WalletView::usedSendingAddresses
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::bringToFront
    linkageType: ''
    returnType: void
    signature: void WalletView::usedSendingAddresses()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::bringToFront
      Src: /src/bitcoin-core/src/qt/walletview.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: WalletView::usedReceivingAddresses
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::bringToFront
    linkageType: ''
    returnType: void
    signature: void WalletView::usedReceivingAddresses()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletview.cpp:263,1
    - Dst: QProgressDialog::QProgressDialog
      Src: /src/bitcoin-core/src/qt/walletview.cpp:263,1
    - Dst: GUIUtil::PolishProgressDialog
      Src: /src/bitcoin-core/src/qt/walletview.cpp:264,1
    - Dst: setWindowModality
      Src: /src/bitcoin-core/src/qt/walletview.cpp:265,1
    - Dst: setAutoClose
      Src: /src/bitcoin-core/src/qt/walletview.cpp:266,1
    - Dst: setValue
      Src: /src/bitcoin-core/src/qt/walletview.cpp:267,1
    - Dst: close
      Src: /src/bitcoin-core/src/qt/walletview.cpp:270,1
    - Dst: deleteLater
      Src: /src/bitcoin-core/src/qt/walletview.cpp:271,1
    - Dst: wasCanceled
      Src: /src/bitcoin-core/src/qt/walletview.cpp:275,1
    - Dst: getWalletModel
      Src: /src/bitcoin-core/src/qt/walletview.cpp:276,1
    - Dst: setValue
      Src: /src/bitcoin-core/src/qt/walletview.cpp:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - title
    - nProgress
    argTypes:
    - QString
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 281
    functionName: WalletView::showProgress
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - deleteLater
    - QProgressDialog::QProgressDialog
    - getWalletModel
    - setAutoClose
    - setWindowModality
    - GUIUtil::PolishProgressDialog
    - close
    - tr
    - wasCanceled
    - setValue
    linkageType: ''
    returnType: void
    signature: void WalletView::showProgress(const QString &title, int nProgress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setDisabled
      Src: /src/bitcoin-core/src/qt/walletview.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - disable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: WalletView::disableTransactionView
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.cpp
    functionUses: 0
    functionsReached:
    - setDisabled
    linkageType: ''
    returnType: void
    signature: void WalletView::disableTransactionView(bool disable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ToolTipToRichTextFilter
      Src: /src/bitcoin-core/src/qt/guiutil.h:192,1
    - Dst: LabelOutOfFocusEventFilter
      Src: /src/bitcoin-core/src/qt/guiutil.h:212,1
    - Dst: ThemedLabel
      Src: /src/bitcoin-core/src/qt/guiutil.h:257,1
    - Dst: ClickableLabel
      Src: /src/bitcoin-core/src/qt/guiutil.h:276,1
    - Dst: clicked
      Src: /src/bitcoin-core/src/qt/guiutil.h:282,1
    - Dst: clicked
      Src: /src/bitcoin-core/src/qt/guiutil.h:295,1
    - Dst: ItemDelegate
      Src: /src/bitcoin-core/src/qt/guiutil.h:306,1
    - Dst: QItemDelegate
      Src: /src/bitcoin-core/src/qt/guiutil.h:306,1
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/guiutil.h:373,1
    - Dst: std::forward<decltype(args)>
      Src: /src/bitcoin-core/src/qt/guiutil.h:378,1
    - Dst: PrintSlotException
      Src: /src/bitcoin-core/src/qt/guiutil.h:380,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/guiutil.h:381,1
    - Dst: blockingGUIThreadConnection
      Src: /src/bitcoin-core/src/qt/guiutil.h:383,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/guiutil.h:384,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.h:384,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/guiutil.h:384,1
    - Dst: PrintSlotException
      Src: /src/bitcoin-core/src/qt/guiutil.h:386,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/guiutil.h:387,1
    - Dst: blockingGUIThreadConnection
      Src: /src/bitcoin-core/src/qt/guiutil.h:389,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/guiutil.h:390,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.h:390,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/guiutil.h:390,1
    - Dst: PrintSlotException
      Src: /src/bitcoin-core/src/qt/guiutil.h:392,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/guiutil.h:393,1
    - Dst: blockingGUIThreadConnection
      Src: /src/bitcoin-core/src/qt/guiutil.h:395,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/guiutil.h:396,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.h:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ok)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/bitcoin-core/src/qt/guiutil.h
    constantsTouched: []
    func_position:
      end: 420
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 420
    functionName: namespace
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.h
    functionUses: 0
    functionsReached:
    - clicked
    - QItemDelegate
    - PrintSlotException
    - ThemedLabel
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - ClickableLabel
    - ToolTipToRichTextFilter
    - Q_ARG
    - QString::fromStdString
    - blockingGUIThreadConnection
    - QMetaObject::invokeMethod
    - what
    - assert
    - ItemDelegate
    - LabelOutOfFocusEventFilter
    - std::forward<decltype(args)>
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ItemDelegate
      Src: /src/bitcoin-core/src/qt/guiutil.h:306,1
    - Dst: QItemDelegate
      Src: /src/bitcoin-core/src/qt/guiutil.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: ItemDelegate::public
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.h
    functionUses: 0
    functionsReached:
    - ItemDelegate
    - QItemDelegate
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/guiutil.h:373,1
    - Dst: std::forward<decltype(args)>
      Src: /src/bitcoin-core/src/qt/guiutil.h:378,1
    - Dst: PrintSlotException
      Src: /src/bitcoin-core/src/qt/guiutil.h:380,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/guiutil.h:381,1
    - Dst: blockingGUIThreadConnection
      Src: /src/bitcoin-core/src/qt/guiutil.h:383,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/guiutil.h:384,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.h:384,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/guiutil.h:384,1
    - Dst: PrintSlotException
      Src: /src/bitcoin-core/src/qt/guiutil.h:386,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/guiutil.h:387,1
    - Dst: blockingGUIThreadConnection
      Src: /src/bitcoin-core/src/qt/guiutil.h:389,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/guiutil.h:390,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.h:390,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/guiutil.h:390,1
    - Dst: PrintSlotException
      Src: /src/bitcoin-core/src/qt/guiutil.h:392,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/guiutil.h:393,1
    - Dst: blockingGUIThreadConnection
      Src: /src/bitcoin-core/src/qt/guiutil.h:395,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/guiutil.h:396,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.h:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - sender
    - signal
    - receiver
    - method
    argTypes:
    - Sender
    - Signal
    - Receiver
    - Slot
    assertStmts:
    - condition: (ok)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/bitcoin-core/src/qt/guiutil.h
    constantsTouched: []
    func_position:
      end: 401
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 401
    functionName: ExceptionSafeConnect
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.h
    functionUses: 2
    functionsReached:
    - PrintSlotException
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - Q_ARG
    - QString::fromStdString
    - blockingGUIThreadConnection
    - QMetaObject::invokeMethod
    - what
    - assert
    - std::forward<decltype(args)>
    linkageType: ''
    returnType: auto
    signature: "auto ExceptionSafeConnect(\n        Sender sender, Signal signal,
      Receiver receiver, Slot method,\n        Qt::ConnectionType type = Qt::AutoConnection)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: IsEscapeOrBack
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEscapeOrBack(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 127
    functionName: QWidget
    functionSourceFile: /src/bitcoin-core/src/qt/transactionview.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QWidget
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Ui::HelpMessageDialog::HelpMessageDialog
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:32,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:34,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:36,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:36,1
    - Dst: FormatFullVersion
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:36,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:40,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:40,1
    - Dst: LicenseInfo
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:42,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:44,1
    - Dst: LicenseInfo
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:44,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:46,1
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:47,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:47,1
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:49,1
    - Dst: aboutMessage::setTextFormat
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:51,1
    - Dst: scrollArea::setVerticalScrollBarPolicy
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:52,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:53,1
    - Dst: FormatParagraph
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:53,1
    - Dst: aboutMessage::setText
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:54,1
    - Dst: aboutMessage::setWordWrap
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:55,1
    - Dst: helpMessage::setVisible
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:56,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:58,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:58,1
    - Dst: helpMessage::document
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:64,1
    - Dst: QTextCursor::insertText
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:65,1
    - Dst: QTextCursor::insertBlock
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:66,1
    - Dst: QTextCursor::insertText
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:67,1
    - Dst: QTextCursor::insertBlock
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:68,1
    - Dst: GetHelpMessage
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:70,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:71,1
    - Dst: QTextTableFormat::setBorderStyle
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:75,1
    - Dst: QTextTableFormat::setCellPadding
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:76,1
    - Dst: QTextLength
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:78,1
    - Dst: QTextLength
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:79,1
    - Dst: QTextTableFormat::setColumnWidthConstraints
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:80,1
    - Dst: QTextCharFormat::setFontWeight
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:83,1
    - Dst: QString::split
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:85,1
    - Dst: startsWith
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:86,1
    - Dst: QTextCursor::currentTable
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:88,1
    - Dst: QTextCursor::movePosition
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:89,1
    - Dst: QTextCursor::movePosition
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:90,1
    - Dst: QTextCursor::insertText
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:91,1
    - Dst: trimmed
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:91,1
    - Dst: QTextCursor::movePosition
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:92,1
    - Dst: startsWith
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:93,1
    - Dst: QTextCursor::insertText
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:94,1
    - Dst: trimmed
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:94,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:95,1
    - Dst: QTextCursor::currentTable
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:97,1
    - Dst: QTextCursor::currentTable
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:98,1
    - Dst: QTextCursor::movePosition
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:99,1
    - Dst: QTextCursor::insertText
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:100,1
    - Dst: trimmed
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:100,1
    - Dst: QTextCursor::insertTable
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:101,1
    - Dst: helpMessage::moveCursor
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:105,1
    - Dst: scrollArea::setVisible
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:106,1
    - Dst: aboutLogo::setVisible
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:107,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 2
    argNames:
    - parent
    - about
    argTypes:
    - QWidget*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 111
    functionName: HelpMessageDialog::HelpMessageDialog
    functionSourceFile: /src/bitcoin-core/src/qt/utilitydialog.cpp
    functionUses: 1
    functionsReached:
    - scrollArea::setVerticalScrollBarPolicy
    - FormatFullVersion
    - setupUi
    - LicenseInfo
    - aboutMessage::setTextFormat
    - aboutMessage::setWordWrap
    - aboutLogo::setVisible
    - GetHelpMessage
    - QTextTableFormat::setColumnWidthConstraints
    - trimmed
    - startsWith
    - QString::fromStdString
    - QTextCursor::movePosition
    - helpMessage::setVisible
    - QTextCursor::insertText
    - GUIUtil::handleCloseWindowShortcut
    - QTextCursor::insertBlock
    - QTextCharFormat::setFontWeight
    - QString::replace
    - QTextTableFormat::setCellPadding
    - scrollArea::setVisible
    - tr
    - setWindowTitle
    - QTextLength
    - aboutMessage::setText
    - QStringLiteral
    - QTextCursor::currentTable
    - QString::split
    - Ui::HelpMessageDialog::HelpMessageDialog
    - size
    - helpMessage::moveCursor
    - QTextTableFormat::setBorderStyle
    - QTextCursor::insertTable
    - FormatParagraph
    - helpMessage::document
    linkageType: ''
    returnType: void
    signature: void HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: HelpMessageDialog::~HelpMessageDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/utilitydialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HelpMessageDialog::~HelpMessageDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:121,1
    - Dst: qPrintable
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: HelpMessageDialog::printToConsole
    functionSourceFile: /src/bitcoin-core/src/qt/utilitydialog.cpp
    functionUses: 0
    functionsReached:
    - tinyformat::detail::FormatArg::format
    - qPrintable
    linkageType: ''
    returnType: void
    signature: void HelpMessageDialog::printToConsole()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:128,1
    - Dst: HelpMessageDialog::printToConsole
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: HelpMessageDialog::showOrPrint
    functionSourceFile: /src/bitcoin-core/src/qt/utilitydialog.cpp
    functionUses: 0
    functionsReached:
    - HelpMessageDialog::printToConsole
    - exec
    linkageType: ''
    returnType: void
    signature: void HelpMessageDialog::showOrPrint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: HelpMessageDialog::on_okButton_accepted
    functionSourceFile: /src/bitcoin-core/src/qt/utilitydialog.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void HelpMessageDialog::on_okButton_accepted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:145,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:146,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:147,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:148,1
    - Dst: QLabel::QLabel
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:146,1
    - Dst: setLayout
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:149,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parent
    - f
    argTypes:
    - QWidget*
    - Qt::WindowFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: ShutdownWindow::ShutdownWindow
    functionSourceFile: /src/bitcoin-core/src/qt/utilitydialog.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::handleCloseWindowShortcut
    - QVBoxLayout::QVBoxLayout
    - tr
    - setLayout
    - QVBoxLayout*::addWidget
    - QLabel::QLabel
    linkageType: ''
    returnType: void
    signature: void ShutdownWindow::ShutdownWindow(QWidget *parent, Qt::WindowFlags
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:156,1
    - Dst: ShutdownWindow::ShutdownWindow
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:159,1
    - Dst: QWidget*::setWindowTitle
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:160,1
    - Dst: QMainWindow*::windowTitle
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:160,1
    - Dst: QMainWindow*::mapToGlobal
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:163,1
    - Dst: QMainWindow*::rect
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:163,1
    - Dst: QWidget*::move
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:164,1
    - Dst: QPoint::x
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:164,1
    - Dst: QWidget*::width
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:164,1
    - Dst: QPoint::y
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:164,1
    - Dst: QWidget*::height
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:164,1
    - Dst: QWidget*::show
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - window
    argTypes:
    - QMainWindow*
    assertStmts:
    - condition: (window != nullptr)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/bitcoin-core/src/qt/utilitydialog.cpp
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: ShutdownWindow::showShutdownWindow
    functionSourceFile: /src/bitcoin-core/src/qt/utilitydialog.cpp
    functionUses: 0
    functionsReached:
    - QWidget*::width
    - QWidget*::show
    - ShutdownWindow::ShutdownWindow
    - QMainWindow*::windowTitle
    - QWidget*::move
    - QPoint::y
    - QWidget*::setWindowTitle
    - QMainWindow*::rect
    - QMainWindow*::mapToGlobal
    - assert
    - QPoint::x
    - QWidget*::height
    linkageType: ''
    returnType: QWidget
    signature: QWidget * ShutdownWindow::showShutdownWindow(QMainWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QCloseEvent*::ignore
      Src: /src/bitcoin-core/src/qt/utilitydialog.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QCloseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: ShutdownWindow::closeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/utilitydialog.cpp
    functionUses: 0
    functionsReached:
    - QCloseEvent*::ignore
    linkageType: ''
    returnType: void
    signature: void ShutdownWindow::closeEvent(QCloseEvent *event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QSystemTrayIcon*::supportsMessages
      Src: /src/bitcoin-core/src/qt/notificator.cpp:39,1
    - Dst: QDBusInterface::QDBusInterface
      Src: /src/bitcoin-core/src/qt/notificator.cpp:44,1
    - Dst: isValid
      Src: /src/bitcoin-core/src/qt/notificator.cpp:46,1
    - Dst: MacNotificationHandler::instance
      Src: /src/bitcoin-core/src/qt/notificator.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - _programName
    - _trayIcon
    - _parent
    argTypes:
    - QString
    - QSystemTrayIcon*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: Notificator::Notificator
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached:
    - MacNotificationHandler::instance
    - QSystemTrayIcon*::supportsMessages
    - QDBusInterface::QDBusInterface
    - isValid
    linkageType: ''
    returnType: void
    signature: void Notificator::Notificator(const QString &_programName, QSystemTrayIcon
      *_trayIcon, QWidget *_parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: Notificator::~Notificator()
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Notificator::~Notificator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: FreedesktopImage::FreedesktopImage
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreedesktopImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QImage::width
      Src: /src/bitcoin-core/src/qt/notificator.cpp:97,1
    - Dst: QImage::height
      Src: /src/bitcoin-core/src/qt/notificator.cpp:98,1
    - Dst: QImage::width
      Src: /src/bitcoin-core/src/qt/notificator.cpp:99,1
    - Dst: QImage::convertToFormat
      Src: /src/bitcoin-core/src/qt/notificator.cpp:105,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/bitcoin-core/src/qt/notificator.cpp:106,1
    - Dst: QImage::bits
      Src: /src/bitcoin-core/src/qt/notificator.cpp:106,1
    - Dst: resize
      Src: /src/bitcoin-core/src/qt/notificator.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - img
    argTypes:
    - QImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 118
    functionName: FreedesktopImage::FreedesktopImage
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached:
    - QImage::height
    - QImage::width
    - reinterpret_cast<const uint32_t*>
    - QImage::convertToFormat
    - resize
    - QImage::bits
    linkageType: ''
    returnType: void
    signature: void FreedesktopImage::FreedesktopImage(const QImage &img)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDBusArgument::beginStructure
      Src: /src/bitcoin-core/src/qt/notificator.cpp:122,1
    - Dst: QDBusArgument::endStructure
      Src: /src/bitcoin-core/src/qt/notificator.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - i
    argTypes:
    - QDBusArgument
    - FreedesktopImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: '&operator<<(QDBusArgument &a, const FreedesktopImage &i)'
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached:
    - QDBusArgument::beginStructure
    - QDBusArgument::endStructure
    linkageType: ''
    returnType: QDBusArgument
    signature: QDBusArgument &operator<<(QDBusArgument &a, const FreedesktopImage
      &i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDBusArgument::beginStructure
      Src: /src/bitcoin-core/src/qt/notificator.cpp:130,1
    - Dst: QDBusArgument::endStructure
      Src: /src/bitcoin-core/src/qt/notificator.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - i
    argTypes:
    - QDBusArgument
    - FreedesktopImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: '&operator>>(const QDBusArgument &a, FreedesktopImage &i)'
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached:
    - QDBusArgument::beginStructure
    - QDBusArgument::endStructure
    linkageType: ''
    returnType: QDBusArgument
    signature: QDBusArgument &operator>>(const QDBusArgument &a, FreedesktopImage
      &i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/notificator.cpp:139,1
    - Dst: qDBusRegisterMetaType<FreedesktopImage>
      Src: /src/bitcoin-core/src/qt/notificator.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - img
    argTypes:
    - QImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: FreedesktopImage::toVariant
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - qDBusRegisterMetaType<FreedesktopImage>
    linkageType: ''
    returnType: QVariant
    signature: QVariant FreedesktopImage::toVariant(const QImage &img)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/notificator.cpp:148,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/notificator.cpp:151,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/notificator.cpp:154,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/notificator.cpp:154,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/notificator.cpp:157,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/notificator.cpp:160,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/notificator.cpp:164,1
    - Dst: QIcon::isNull
      Src: /src/bitcoin-core/src/qt/notificator.cpp:171,1
    - Dst: QApplication::style
      Src: /src/bitcoin-core/src/qt/notificator.cpp:181,1
    - Dst: FreedesktopImage::toVariant
      Src: /src/bitcoin-core/src/qt/notificator.cpp:187,1
    - Dst: QIcon::pixmap
      Src: /src/bitcoin-core/src/qt/notificator.cpp:187,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/notificator.cpp:188,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/notificator.cpp:191,1
    - Dst: callWithArgumentList
      Src: /src/bitcoin-core/src/qt/notificator.cpp:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - cls
    - title
    - text
    - icon
    - millisTimeout
    argTypes:
    - Class
    - QString
    - QString
    - QIcon
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 195
    functionName: Notificator::notifyDBus
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached:
    - QList::append
    - QString
    - callWithArgumentList
    - FreedesktopImage::toVariant
    - QIcon::pixmap
    - QApplication::style
    - QIcon::isNull
    linkageType: ''
    returnType: void
    signature: void Notificator::notifyDBus(Class cls, const QString &title, const
      QString &text, const QIcon &icon, int millisTimeout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: showMessage
      Src: /src/bitcoin-core/src/qt/notificator.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - cls
    - title
    - text
    - millisTimeout
    argTypes:
    - Class
    - QString
    - QString
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: Notificator::notifySystray
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached:
    - showMessage
    linkageType: ''
    returnType: void
    signature: void Notificator::notifySystray(Class cls, const QString &title, const
      QString &text, int millisTimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacNotificationHandler::instance
      Src: /src/bitcoin-core/src/qt/notificator.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - title
    - text
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: Notificator::notifyMacUserNotificationCenter
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached:
    - MacNotificationHandler::instance
    linkageType: ''
    returnType: void
    signature: void Notificator::notifyMacUserNotificationCenter(const QString &title,
      const QString &text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Notificator::notifyDBus
      Src: /src/bitcoin-core/src/qt/notificator.cpp:224,1
    - Dst: Notificator::notifySystray
      Src: /src/bitcoin-core/src/qt/notificator.cpp:228,1
    - Dst: Notificator::notifyMacUserNotificationCenter
      Src: /src/bitcoin-core/src/qt/notificator.cpp:232,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/notificator.cpp:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - cls
    - title
    - text
    - icon
    - millisTimeout
    argTypes:
    - Class
    - QString
    - QString
    - QIcon
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 243
    functionName: Notificator::notify
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.cpp
    functionUses: 0
    functionsReached:
    - Notificator::notifyDBus
    - Notificator::notifyMacUserNotificationCenter
    - Notificator::notifySystray
    - QMessageBox::critical
    linkageType: ''
    returnType: void
    signature: void Notificator::notify(Class cls, const QString &title, const QString
      &text, const QIcon &icon, int millisTimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& node() const'
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interfaces::Node
    signature: interfaces::Node & node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ClientModel::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/qt/clientmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(m_cached_tip_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoin.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_node)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/qt/bitcoin.h
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& node() const'
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: interfaces::Node
    signature: interfaces::Node & node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: TransactionRecord::showTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/transactionrecord.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TransactionRecord::showTransaction()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:39,1
    - Dst: tx::GetValueOut
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:55,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:57,1
    - Dst: std::get_if<CNoDestination>
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:75,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:79,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:97,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:114,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:128,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:135,1
    - Dst: TransactionRecord::TransactionRecord
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:135,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - interfaces::WalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 139
    functionName: TransactionRecord::decomposeTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/transactionrecord.cpp
    functionUses: 2
    functionsReached:
    - QList::append
    - tx::GetValueOut
    - EncodeDestination
    - tx::GetHash
    - tx::vout::size
    - TransactionRecord::TransactionRecord
    - std::get_if<CNoDestination>
    linkageType: ''
    returnType: QList<TransactionRecord>
    signature: QList<TransactionRecord> TransactionRecord::decomposeTransaction(const
      interfaces::WalletTx& wtx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - ' wtx'
    - ' block_hash'
    - numBlocks
    - block_time
    argTypes:
    - interfaces::WalletTxStatus
    - uint256
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 207
    functionName: TransactionRecord::updateStatus
    functionSourceFile: /src/bitcoin-core/src/qt/transactionrecord.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: void
    signature: void TransactionRecord::updateStatus(const interfaces::WalletTxStatus&
      wtx, const uint256& block_hash, int numBlocks, int64_t block_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:211,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts:
    - condition: (!block_hash.IsNull())
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bitcoin-core/src/qt/transactionrecord.cpp
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: TransactionRecord::statusUpdateNeeded
    functionSourceFile: /src/bitcoin-core/src/qt/transactionrecord.cpp
    functionUses: 0
    functionsReached:
    - assert
    - IsNull
    linkageType: ''
    returnType: bool
    signature: bool TransactionRecord::statusUpdateNeeded(const uint256& block_hash)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:217,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/qt/transactionrecord.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: TransactionRecord::getTxHash
    functionSourceFile: /src/bitcoin-core/src/qt/transactionrecord.cpp
    functionUses: 0
    functionsReached:
    - QString::fromStdString
    - ToString
    linkageType: ''
    returnType: QString
    signature: QString TransactionRecord::getTxHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: TransactionRecord::getOutputIndex
    functionSourceFile: /src/bitcoin-core/src/qt/transactionrecord.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TransactionRecord::getOutputIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:47,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:47,1
    - Dst: back
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: getConfTargetForIndex
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - back
    - size
    linkageType: ''
    returnType: int
    signature: int getConfTargetForIndex(int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:56,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: getIndexForConfTarget
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int getIndexForConfTarget(int target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Ui::SendCoinsDialog::SendCoinsDialog
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:66,1
    - Dst: CCoinControl::CCoinControl
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:67,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:70,1
    - Dst: PlatformStyle*::getImagesOnButtons
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:72,1
    - Dst: addButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:73,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:73,1
    - Dst: clearButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:74,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:74,1
    - Dst: sendButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:75,1
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:75,1
    - Dst: addButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:77,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:77,1
    - Dst: clearButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:78,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:78,1
    - Dst: sendButton::setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:79,1
    - Dst: PlatformStyle*::SingleColorIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:79,1
    - Dst: GUIUtil::setupAddressWidget
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:82,1
    - Dst: SendCoinsDialog::addEntry
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:84,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:86,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:87,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:90,1
    - Dst: QT_VERSION_CHECK
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:91,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:92,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:94,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:96,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:99,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:99,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:100,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:100,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:101,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:101,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:102,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:102,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:103,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:103,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:104,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:104,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:105,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:106,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:107,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:108,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:109,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:110,1
    - Dst: labelCoinControlQuantity::addAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:111,1
    - Dst: labelCoinControlAmount::addAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:112,1
    - Dst: labelCoinControlFee::addAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:113,1
    - Dst: labelCoinControlAfterFee::addAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:114,1
    - Dst: labelCoinControlBytes::addAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:115,1
    - Dst: labelCoinControlChange::addAction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:116,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:120,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:121,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:122,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:122,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:122,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:123,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:124,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:125,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:126,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:127,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:128,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:129,1
    - Dst: groupFee::setId
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:130,1
    - Dst: groupFee::setId
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:131,1
    - Dst: groupFee::button
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:132,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:132,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:132,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:132,1
    - Dst: customFee::SetAllowEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:133,1
    - Dst: customFee::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:134,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:134,1
    - Dst: SendCoinsDialog::minimizeFeeSection
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:135,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:135,1
    - Dst: ExceptionSafeConnect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - _platformStyle
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 138
    functionName: SendCoinsDialog::SendCoinsDialog
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 2
    functionsReached:
    - customFee::SetAllowEmpty
    - labelCoinControlBytes::addAction
    - QT_VERSION_CHECK
    - setupUi
    - std::min
    - clearButton::setIcon
    - groupFee::button
    - groupFee::setId
    - labelCoinControlAfterFee::addAction
    - sendButton::setIcon
    - labelCoinControlFee::addAction
    - customFee::setValue
    - labelCoinControlChange::addAction
    - connect
    - CCoinControl::CCoinControl
    - Ui::SendCoinsDialog::SendCoinsDialog
    - labelCoinControlAmount::addAction
    - QSettings::setValue
    - ExceptionSafeConnect
    - SendCoinsDialog::addEntry
    - tr
    - PlatformStyle*::SingleColorIcon
    - GUIUtil::setupAddressWidget
    - addButton::setIcon
    - labelCoinControlQuantity::addAction
    - QSettings::value
    - PlatformStyle*::getImagesOnButtons
    - QAction::QAction
    - std::max
    - QIcon
    - QSettings::contains
    - SendCoinsDialog::minimizeFeeSection
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::SendCoinsDialog(const PlatformStyle *_platformStyle,
      QWidget *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - _clientModel
    argTypes:
    - ClientModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: SendCoinsDialog::setClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::setClientModel(ClientModel *_clientModel)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:153,1
    - Dst: entries::count
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:155,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:157,1
    - Dst: entries::itemAt
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:157,1
    - Dst: SendCoinsEntry*::setModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:160,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:164,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:165,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:165,1
    - Dst: SendCoinsDialog::refreshBalance
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:166,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:169,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:169,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:170,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:170,1
    - Dst: frameCoinControl::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:171,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:171,1
    - Dst: SendCoinsDialog::coinControlUpdateLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:172,1
    - Dst: confTargetSelector::addItem
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:176,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:176,1
    - Dst: GUIUtil::formatNiceTimeOffset
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:176,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:176,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:178,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:178,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:179,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:179,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:181,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:182,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:184,1
    - Dst: QT_VERSION_CHECK
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:185,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:186,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:187,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:189,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:190,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:192,1
    - Dst: customFee::SetMinValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:193,1
    - Dst: customFee::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:194,1
    - Dst: customFee::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:195,1
    - Dst: customFee::setSingleStep
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:197,1
    - Dst: SendCoinsDialog::updateFeeSectionControls
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:198,1
    - Dst: SendCoinsDialog::updateSmartFeeLabel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:199,1
    - Dst: optInRBF::setCheckState
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:202,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:204,1
    - Dst: sendButton::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:206,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:206,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:207,1
    - Dst: sendButton::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:208,1
    - Dst: sendButton::setToolTip
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:209,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:209,1
    - Dst: sendButton::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:211,1
    - Dst: sendButton::setToolTip
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:213,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:213,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:215,1
    - Dst: sendButton::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:216,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:216,1
    - Dst: sendButton::setToolTip
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:217,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:217,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:222,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:225,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:226,1
    - Dst: QSettings::remove
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:227,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:229,1
    - Dst: confTargetSelector::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:230,1
    - Dst: getIndexForConfTarget
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:230,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:230,1
    - Dst: confTargetSelector::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:232,1
    - Dst: getIndexForConfTarget
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:232,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 1
    argNames:
    - _model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 234
    functionName: SendCoinsDialog::setModel
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - sendButton::setEnabled
    - WalletModel*::getOptionsModel
    - SendCoinsEntry*::setModel
    - sendButton::setToolTip
    - QSettings::remove
    - QT_VERSION_CHECK
    - getOptionsModel
    - customFee::setSingleStep
    - SendCoinsDialog::refreshBalance
    - qobject_cast<SendCoinsEntry*>
    - entries::itemAt
    - frameCoinControl::setVisible
    - optInRBF::setCheckState
    - customFee::SetMinValue
    - customFee::setValue
    - connect
    - QSettings::setValue
    - confTargetSelector::addItem
    - qOverload<int>
    - sendButton::setText
    - SendCoinsDialog::coinControlUpdateLabels
    - SendCoinsDialog::updateSmartFeeLabel
    - customFee::value
    - tr
    - confTargetSelector::setCurrentIndex
    - Params
    - SendCoinsDialog::updateFeeSectionControls
    - entries::count
    - GUIUtil::formatNiceTimeOffset
    - wallet
    - QSettings::value
    - getIndexForConfTarget
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::setModel(WalletModel *_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:239,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:240,1
    - Dst: groupFee::checkedId
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:240,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:241,1
    - Dst: getConfTargetForIndex
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:241,1
    - Dst: confTargetSelector::currentIndex
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:241,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:242,1
    - Dst: customFee::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: SendCoinsDialog::~SendCoinsDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - QSettings::setValue
    - getConfTargetForIndex
    - groupFee::checkedId
    - customFee::value
    - confTargetSelector::currentIndex
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::~SendCoinsDialog()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: entries::count
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:252,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:254,1
    - Dst: entries::itemAt
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:254,1
    - Dst: SendCoinsEntry*::validate
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:257,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:257,1
    - Dst: QList::append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:259,1
    - Dst: SendCoinsEntry*::getValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:259,1
    - Dst: scrollArea::ensureWidgetVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:263,1
    - Dst: QList::isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:269,1
    - Dst: requestUnlock
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:275,1
    - Dst: WalletModel::UnlockContext::isValid
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:276,1
    - Dst: std::make_unique<WalletModelTransaction>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:284,1
    - Dst: SendCoinsDialog::updateCoinControlState
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:287,1
    - Dst: CCoinControl::HasSelected
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:290,1
    - Dst: prepareTransaction
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:291,1
    - Dst: SendCoinsDialog::processSendCoinsReturn
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:294,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:295,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:295,1
    - Dst: getTransactionFee
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:295,1
    - Dst: getTransactionFee
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:302,1
    - Dst: getRecipients
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:304,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:307,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:307,1
    - Dst: isMultiwallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:308,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:309,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:309,1
    - Dst: getWalletName
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:309,1
    - Dst: label::length
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:318,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:320,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:320,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:320,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:321,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:321,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:325,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:325,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:328,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:333,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:333,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:334,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:335,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:335,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:339,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:339,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:340,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:344,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:344,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:347,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:347,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:349,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:354,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:355,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:355,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:356,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:360,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:360,1
    - Dst: getTransactionSize
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:360,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:363,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:364,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:364,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:364,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:365,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:368,1
    - Dst: optInRBF::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:369,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:370,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:370,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:372,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:372,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:374,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:378,1
    - Dst: getTotalTransactionAmount
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:379,1
    - Dst: BitcoinUnits::availableUnits
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:381,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:382,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:383,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:383,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:385,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:385,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:385,1
    - Dst: BitcoinUnits::formatHtmlWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:386,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:386,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:387,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:387,1
    - Dst: QStringList::join
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:388,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:388,1
    - Dst: QStringList::size
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:390,1
    - Dst: arg
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:391,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:392,1
    - Dst: QStringList::join
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:393,1
    - Dst: arg
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:395,1
    - Dst: QStringList::at
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:395,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 3
    argNames:
    - ' question_string'
    - ' informative_text'
    - ' detailed_text'
    argTypes:
    - QString
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 399
    functionName: SendCoinsDialog::PrepareSendText
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - QString
    - node
    - isMultiwallet
    - getWalletName
    - getTransactionFee
    - QStringList::size
    - GUIUtil::HtmlEscape
    - BitcoinUnits::availableUnits
    - QStringList::at
    - getTotalTransactionAmount
    - getOptionsModel
    - BitcoinUnits::formatHtmlWithUnit
    - SendCoinsEntry*::validate
    - QStringList::append
    - arg
    - QList::append
    - QString::append
    - CCoinControl::HasSelected
    - optInRBF::isChecked
    - append
    - qobject_cast<SendCoinsEntry*>
    - QStringList::join
    - entries::itemAt
    - prepareTransaction
    - QList::isEmpty
    - label::length
    - BitcoinUnits::formatWithUnit
    - SendCoinsEntry*::getValue
    - SendCoinsDialog::processSendCoinsReturn
    - getRecipients
    - scrollArea::ensureWidgetVisible
    - std::make_unique<WalletModelTransaction>
    - tr
    - WalletModel::UnlockContext::isValid
    - requestUnlock
    - getTransactionSize
    - entries::count
    - wallet
    - SendCoinsDialog::updateCoinControlState
    linkageType: ''
    returnType: bool
    signature: bool SendCoinsDialog::PrepareSendText(QString& question_string, QString&
      informative_text, QString& detailed_text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:406,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:406,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:406,1
    - Dst: QMessageBox::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:409,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:409,1
    - Dst: QMessageBox::setInformativeText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:410,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:410,1
    - Dst: QMessageBox::setStandardButtons
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:411,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:412,1
    - Dst: QMessageBox::setObjectName
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:413,1
    - Dst: QMessageBox::exec
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:414,1
    - Dst: getRecipients
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:419,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:421,1
    - Dst: label::isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:423,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:424,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:424,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:425,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:428,1
    - Dst: GUIUtil::getSaveFileName
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:429,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:430,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:432,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:432,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:433,1
    - Dst: QString::toLocal8Bit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:436,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:437,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:438,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:440,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:440,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - ' psbtx'
    argTypes:
    - PartiallySignedTransaction
    assertStmts:
    - condition: (false)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    constantsTouched: []
    func_position:
      end: 448
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 448
    functionName: SendCoinsDialog::presentPSBT
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::close
    - EncodeBase64
    - GUIUtil::getSaveFileName
    - getOptionsModel
    - GUIUtil::setClipboard
    - QString::append
    - QString::isEmpty
    - QMessageBox::setStandardButtons
    - label::isEmpty
    - QMessageBox::setDefaultButton
    - BitcoinUnits::formatWithUnit
    - getRecipients
    - QString::toLocal8Bit
    - QMessageBox::setText
    - QMessageBox::setObjectName
    - QLatin1String
    - tr
    - assert
    - QMessageBox::setInformativeText
    - DataStream::str
    - QMessageBox::exec
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::presentPSBT(PartiallySignedTransaction& psbtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:453,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:455,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:455,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:455,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:460,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:461,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:466,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:467,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:471,1
    - Dst: SendCoinsDialog::processSendCoinsReturn
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:472,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ' psbtx'
    - ' mtx'
    - ' complete'
    argTypes:
    - PartiallySignedTransaction
    - CMutableTransaction
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 478
    functionName: SendCoinsDialog::signWithExternalSigner
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - qWarning
    - wallet
    - tr
    - what
    - SendCoinsDialog::processSendCoinsReturn
    - FinalizeAndExtractPSBT
    linkageType: ''
    returnType: bool
    signature: bool SendCoinsDialog::signWithExternalSigner(PartiallySignedTransaction&
      psbtx, CMutableTransaction& mtx, bool& complete)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:482,1
    - Dst: SendCoinsDialog::PrepareSendText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:486,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:487,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:489,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:490,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:490,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:491,1
    - Dst: SendConfirmationDialog::SendConfirmationDialog
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:492,1
    - Dst: auto::setAttribute
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:493,1
    - Dst: static_cast<QMessageBox::StandardButton>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:495,1
    - Dst: auto::exec
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:495,1
    - Dst: getWtx
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:506,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:510,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:511,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:512,1
    - Dst: SendCoinsDialog::presentPSBT
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:515,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:518,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:518,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:518,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:520,1
    - Dst: getWtx
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:521,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:526,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:527,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:528,1
    - Dst: SendCoinsDialog::signWithExternalSigner
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:529,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:537,1
    - Dst: setWtx
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:538,1
    - Dst: SendCoinsDialog::presentPSBT
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:540,1
    - Dst: sendCoins
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:549,1
    - Dst: getWtx
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:550,1
    - Dst: SendCoinsDialog::accept
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:554,1
    - Dst: UnSelectAll
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:555,1
    - Dst: SendCoinsDialog::coinControlUpdateLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:556,1
    - Dst: reset
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:559,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - checked
    argTypes:
    - bool
    assertStmts:
    - condition: (m_current_transaction)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    - condition: (!complete)
      pos:
        line_end: 510
        line_start: 510
        source_file: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    - condition: (!model->wallet().privateKeysDisabled() || model->wallet().hasExternalSigner())
      pos:
        line_end: 517
        line_start: 517
        source_file: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    - condition: (!complete)
      pos:
        line_end: 526
        line_start: 526
        source_file: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    - condition: (!err)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    - condition: (!err)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    constantsTouched: []
    func_position:
      end: 560
      start: 480
    functionDepth: 6
    functionLinenumber: 480
    functionLinenumberEnd: 560
    functionName: SendCoinsDialog::sendButtonClicked
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - sendCoins
    - SendCoinsDialog::accept
    - UnSelectAll
    - getOptionsModel
    - SendCoinsDialog::presentPSBT
    - auto::exec
    - setWtx
    - SendConfirmationDialog::SendConfirmationDialog
    - SendCoinsDialog::signWithExternalSigner
    - SendCoinsDialog::coinControlUpdateLabels
    - MakeTransactionRef
    - tr
    - assert
    - auto::setAttribute
    - getWtx
    - wallet
    - SendCoinsDialog::PrepareSendText
    - reset
    - static_cast<QMessageBox::StandardButton>
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::sendButtonClicked([[maybe_unused]] bool checked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:564,1
    - Dst: UnSelectAll
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:567,1
    - Dst: checkBoxCoinControlChange::setChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:568,1
    - Dst: lineEditCoinControlChange::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:569,1
    - Dst: SendCoinsDialog::coinControlUpdateLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:570,1
    - Dst: entries::count
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:573,1
    - Dst: entries::takeAt
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:575,1
    - Dst: SendCoinsDialog::addEntry
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:577,1
    - Dst: SendCoinsDialog::updateTabsAndLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 580
    functionName: SendCoinsDialog::clear
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsDialog::updateTabsAndLabels
    - checkBoxCoinControlChange::setChecked
    - entries::count
    - SendCoinsDialog::coinControlUpdateLabels
    - entries::takeAt
    - SendCoinsDialog::addEntry
    - UnSelectAll
    - reset
    - lineEditCoinControlChange::clear
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsDialog::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: SendCoinsDialog::reject
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsDialog::clear
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::reject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsDialog::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: SendCoinsDialog::accept
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - SendCoinsDialog::clear
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::accept()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsEntry::SendCoinsEntry
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:594,1
    - Dst: SendCoinsEntry*::setModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:595,1
    - Dst: entries::addWidget
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:596,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:597,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:598,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:599,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:600,1
    - Dst: SendCoinsEntry*::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:603,1
    - Dst: SendCoinsEntry*::setFocus
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:604,1
    - Dst: scrollAreaWidgetContents::resize
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:605,1
    - Dst: scrollAreaWidgetContents::sizeHint
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:605,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:610,1
    - Dst: scrollArea::verticalScrollBar
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:611,1
    - Dst: scrollArea::verticalScrollBar
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:612,1
    - Dst: scrollArea::verticalScrollBar
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:612,1
    - Dst: SendCoinsDialog::updateTabsAndLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 618
    functionName: SendCoinsDialog::addEntry
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 2
    functionsReached:
    - entries::addWidget
    - connect
    - SendCoinsDialog::updateTabsAndLabels
    - scrollAreaWidgetContents::sizeHint
    - SendCoinsEntry*::setModel
    - scrollAreaWidgetContents::resize
    - SendCoinsEntry*::setFocus
    - SendCoinsEntry*::clear
    - QMetaObject::invokeMethod
    - SendCoinsEntry::SendCoinsEntry
    - scrollArea::verticalScrollBar
    linkageType: ''
    returnType: SendCoinsEntry
    signature: SendCoinsEntry *SendCoinsDialog::addEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsDialog::setupTabChain
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:622,1
    - Dst: SendCoinsDialog::coinControlUpdateLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: SendCoinsDialog::updateTabsAndLabels
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 2
    functionsReached:
    - SendCoinsDialog::setupTabChain
    - SendCoinsDialog::coinControlUpdateLabels
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::updateTabsAndLabels()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsEntry*::hide
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:628,1
    - Dst: entries::count
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:631,1
    - Dst: SendCoinsDialog::addEntry
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:632,1
    - Dst: SendCoinsEntry*::deleteLater
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:634,1
    - Dst: SendCoinsDialog::updateTabsAndLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - SendCoinsEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 626
    functionDepth: 3
    functionLinenumber: 626
    functionLinenumberEnd: 637
    functionName: SendCoinsDialog::removeEntry
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsDialog::updateTabsAndLabels
    - entries::count
    - SendCoinsEntry*::deleteLater
    - SendCoinsDialog::addEntry
    - SendCoinsEntry*::hide
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::removeEntry(SendCoinsEntry* entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entries::count
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:641,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:643,1
    - Dst: entries::itemAt
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:643,1
    - Dst: SendCoinsEntry*::setupTabChain
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:646,1
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:649,1
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:650,1
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - prev
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 653
    functionName: SendCoinsDialog::setupTabChain
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - SendCoinsEntry*::setupTabChain
    - QWidget::setTabOrder
    - entries::count
    - qobject_cast<SendCoinsEntry*>
    - entries::itemAt
    linkageType: ''
    returnType: QWidget
    signature: QWidget *SendCoinsDialog::setupTabChain(QWidget *prev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: entries::count
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:659,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:661,1
    - Dst: entries::itemAt
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:661,1
    - Dst: SendCoinsEntry*::isClear
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:662,1
    - Dst: SendCoinsDialog::addEntry
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:669,1
    - Dst: SendCoinsEntry*::setAddress
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - address
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 673
    functionName: SendCoinsDialog::setAddress
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - entries::count
    - SendCoinsDialog::addEntry
    - qobject_cast<SendCoinsEntry*>
    - entries::itemAt
    - SendCoinsEntry*::isClear
    - SendCoinsEntry*::setAddress
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::setAddress(const QString &address)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: entries::count
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:682,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:684,1
    - Dst: entries::itemAt
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:684,1
    - Dst: SendCoinsEntry*::isClear
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:685,1
    - Dst: SendCoinsDialog::addEntry
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:692,1
    - Dst: SendCoinsEntry*::setValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:695,1
    - Dst: SendCoinsDialog::updateTabsAndLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rv
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 697
    functionName: SendCoinsDialog::pasteEntry
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsDialog::updateTabsAndLabels
    - entries::count
    - SendCoinsEntry*::setValue
    - SendCoinsDialog::addEntry
    - qobject_cast<SendCoinsEntry*>
    - entries::itemAt
    - SendCoinsEntry*::isClear
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::pasteEntry(const SendCoinsRecipient &rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsDialog::pasteEntry
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rv
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 705
    functionName: SendCoinsDialog::handlePaymentRequest
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsDialog::pasteEntry
    linkageType: ''
    returnType: bool
    signature: bool SendCoinsDialog::handlePaymentRequest(const SendCoinsRecipient
      &rv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:709,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:712,1
    - Dst: labelBalanceName::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:713,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:713,1
    - Dst: labelBalance::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:715,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:715,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' balances'
    argTypes:
    - interfaces::WalletBalances
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 707
    functionDepth: 3
    functionLinenumber: 707
    functionLinenumberEnd: 717
    functionName: SendCoinsDialog::setBalance
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - wallet
    - labelBalance::setText
    - labelBalanceName::setText
    - tr
    - getOptionsModel
    - BitcoinUnits::formatWithUnit
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::setBalance(const interfaces::WalletBalances&
      balances)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsDialog::setBalance
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:721,1
    - Dst: getCachedBalance
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:721,1
    - Dst: customFee::setDisplayUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:722,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:722,1
    - Dst: SendCoinsDialog::updateSmartFeeLabel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 4
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: SendCoinsDialog::refreshBalance
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - SendCoinsDialog::setBalance
    - customFee::setDisplayUnit
    - SendCoinsDialog::updateSmartFeeLabel
    - getCachedBalance
    - getOptionsModel
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::refreshBalance()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:737,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:740,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:743,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:746,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:749,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:752,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:756,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:756,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:756,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:756,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - sendCoinsReturn
    - msgArg
    argTypes:
    - WalletModel::SendCoinsReturn
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 726
    functionDepth: 3
    functionLinenumber: 726
    functionLinenumberEnd: 765
    functionName: SendCoinsDialog::processSendCoinsReturn
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 2
    functionsReached:
    - BitcoinUnits::formatWithUnit
    - wallet
    - getOptionsModel
    - tr
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::processSendCoinsReturn(const WalletModel::SendCoinsReturn
      &sendCoinsReturn, const QString &msgArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: labelFeeMinimized::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:769,1
    - Dst: buttonChooseFee::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:770,1
    - Dst: buttonMinimizeFee::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:771,1
    - Dst: frameFeeSelection::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:772,1
    - Dst: horizontalLayoutSmartFee::setContentsMargins
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fMinimize
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: SendCoinsDialog::minimizeFeeSection
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - labelFeeMinimized::setVisible
    - frameFeeSelection::setVisible
    - buttonMinimizeFee::setVisible
    - horizontalLayoutSmartFee::setContentsMargins
    - buttonChooseFee::setVisible
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::minimizeFeeSection(bool fMinimize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsDialog::minimizeFeeSection
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: SendCoinsDialog::on_buttonChooseFee_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsDialog::minimizeFeeSection
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::on_buttonChooseFee_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsDialog::updateFeeMinimizedLabel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:784,1
    - Dst: SendCoinsDialog::minimizeFeeSection
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: SendCoinsDialog::on_buttonMinimizeFee_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsDialog::updateFeeMinimizedLabel
    - SendCoinsDialog::minimizeFeeSection
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::on_buttonMinimizeFee_clicked()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CCoinControl::HasSelected
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:793,1
    - Dst: getAvailableBalance
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:796,1
    - Dst: entries::count
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:797,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:798,1
    - Dst: entries::itemAt
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:798,1
    - Dst: SendCoinsEntry*::isHidden
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:799,1
    - Dst: SendCoinsEntry*::getValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:800,1
    - Dst: SendCoinsEntry*::checkSubtractFeeFromAmount
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:805,1
    - Dst: SendCoinsEntry*::setAmount
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:806,1
    - Dst: SendCoinsEntry*::setAmount
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - entry
    argTypes:
    - SendCoinsEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 810
    functionName: SendCoinsDialog::useAvailableBalance
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsEntry*::setAmount
    - SendCoinsEntry*::isHidden
    - CCoinControl::HasSelected
    - entries::count
    - qobject_cast<SendCoinsEntry*>
    - getAvailableBalance
    - entries::itemAt
    - SendCoinsEntry*::getValue
    - SendCoinsEntry*::checkSubtractFeeFromAmount
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::useAvailableBalance(SendCoinsEntry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: confTargetSelector::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:814,1
    - Dst: radioSmartFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:814,1
    - Dst: labelSmartFee::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:815,1
    - Dst: radioSmartFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:815,1
    - Dst: labelSmartFee2::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:816,1
    - Dst: radioSmartFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:816,1
    - Dst: labelSmartFee3::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:817,1
    - Dst: radioSmartFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:817,1
    - Dst: labelFeeEstimation::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:818,1
    - Dst: radioSmartFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:818,1
    - Dst: labelCustomFeeWarning::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:819,1
    - Dst: radioCustomFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:819,1
    - Dst: labelCustomPerKilobyte::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:820,1
    - Dst: radioCustomFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:820,1
    - Dst: customFee::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:821,1
    - Dst: radioCustomFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 822
    functionName: SendCoinsDialog::updateFeeSectionControls
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - confTargetSelector::setEnabled
    - labelFeeEstimation::setEnabled
    - customFee::setEnabled
    - labelCustomPerKilobyte::setEnabled
    - labelSmartFee2::setEnabled
    - radioSmartFee::isChecked
    - labelCustomFeeWarning::setEnabled
    - labelSmartFee::setEnabled
    - radioCustomFee::isChecked
    - labelSmartFee3::setEnabled
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::updateFeeSectionControls()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:826,1
    - Dst: radioSmartFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:829,1
    - Dst: labelFeeMinimized::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:830,1
    - Dst: labelSmartFee::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:830,1
    - Dst: labelFeeMinimized::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:832,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:832,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:832,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:832,1
    - Dst: customFee::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 834
    functionName: SendCoinsDialog::updateFeeMinimizedLabel
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - labelFeeMinimized::setText
    - radioSmartFee::isChecked
    - tr
    - customFee::value
    - labelSmartFee::text
    - getOptionsModel
    - BitcoinUnits::formatWithUnit
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::updateFeeMinimizedLabel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: radioCustomFee::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:838,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:839,1
    - Dst: customFee::value
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:839,1
    - Dst: m_feerate::reset
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:841,1
    - Dst: getConfTargetForIndex
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:845,1
    - Dst: confTargetSelector::currentIndex
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:845,1
    - Dst: optInRBF::isChecked
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 847
    functionName: SendCoinsDialog::updateCoinControlState
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - m_feerate::reset
    - getConfTargetForIndex
    - optInRBF::isChecked
    - CFeeRate
    - customFee::value
    - confTargetSelector::currentIndex
    - radioCustomFee::isChecked
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::updateCoinControlState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsDialog::updateSmartFeeLabel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - count
    - ' blockDate'
    - nVerificationProgress
    - synctype
    - sync_state
    argTypes:
    - int
    - QDateTime
    - double
    - SyncType
    - SynchronizationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 857
    functionName: SendCoinsDialog::updateNumberOfBlocks
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsDialog::updateSmartFeeLabel
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::updateNumberOfBlocks(int count, const QDateTime&
      blockDate, double nVerificationProgress, SyncType synctype, SynchronizationState
      sync_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:861,1
    - Dst: SendCoinsDialog::updateCoinControlState
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:863,1
    - Dst: m_feerate::reset
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:864,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:867,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:867,1
    - Dst: labelSmartFee::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:869,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:869,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:869,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:869,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:869,1
    - Dst: labelSmartFee2::show
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:872,1
    - Dst: labelFeeEstimation::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:873,1
    - Dst: fallbackFeeWarningLabel::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:874,1
    - Dst: fallbackFeeWarningLabel::palette
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:875,1
    - Dst: fallbackFeeWarningLabel::setStyleSheet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:877,1
    - Dst: QColor::name
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:877,1
    - Dst: fallbackFeeWarningLabel::setIndent
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:878,1
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:878,1
    - Dst: QFontMetrics
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:878,1
    - Dst: fallbackFeeWarningLabel::font
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:878,1
    - Dst: labelSmartFee2::hide
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:882,1
    - Dst: labelFeeEstimation::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:883,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:883,1
    - Dst: fallbackFeeWarningLabel::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:884,1
    - Dst: SendCoinsDialog::updateFeeMinimizedLabel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 859
    functionDepth: 4
    functionLinenumber: 859
    functionLinenumberEnd: 888
    functionName: SendCoinsDialog::updateSmartFeeLabel
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 3
    functionsReached:
    - fallbackFeeWarningLabel::setVisible
    - CFeeRate
    - getOptionsModel
    - fallbackFeeWarningLabel::setIndent
    - GUIUtil::TextWidth
    - BitcoinUnits::formatWithUnit
    - labelFeeEstimation::setText
    - fallbackFeeWarningLabel::palette
    - QColor::name
    - labelSmartFee2::hide
    - tr
    - CFeeRate::GetFeePerK
    - m_feerate::reset
    - labelSmartFee2::show
    - fallbackFeeWarningLabel::font
    - wallet
    - SendCoinsDialog::updateFeeMinimizedLabel
    - SendCoinsDialog::updateCoinControlState
    - QFontMetrics
    - fallbackFeeWarningLabel::setStyleSheet
    - labelSmartFee::setText
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::updateSmartFeeLabel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:893,1
    - Dst: labelCoinControlQuantity::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: SendCoinsDialog::coinControlClipboardQuantity
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlQuantity::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlClipboardQuantity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:899,1
    - Dst: labelCoinControlAmount::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:899,1
    - Dst: labelCoinControlAmount::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 900
    functionName: SendCoinsDialog::coinControlClipboardAmount
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlAmount::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlClipboardAmount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:905,1
    - Dst: labelCoinControlFee::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:905,1
    - Dst: labelCoinControlFee::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: SendCoinsDialog::coinControlClipboardFee
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlFee::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlClipboardFee()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:911,1
    - Dst: labelCoinControlAfterFee::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:911,1
    - Dst: labelCoinControlAfterFee::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: SendCoinsDialog::coinControlClipboardAfterFee
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlAfterFee::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlClipboardAfterFee()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:917,1
    - Dst: labelCoinControlBytes::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: SendCoinsDialog::coinControlClipboardBytes
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlBytes::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlClipboardBytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:923,1
    - Dst: labelCoinControlChange::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:923,1
    - Dst: labelCoinControlChange::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 924
    functionName: SendCoinsDialog::coinControlClipboardChange
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - labelCoinControlChange::text
    - GUIUtil::setClipboard
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlClipboardChange()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: frameCoinControl::setVisible
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:929,1
    - Dst: std::make_unique<CCoinControl>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:932,1
    - Dst: SendCoinsDialog::coinControlUpdateLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - checked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 936
    functionName: SendCoinsDialog::coinControlFeatureChanged
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - frameCoinControl::setVisible
    - std::make_unique<CCoinControl>
    - SendCoinsDialog::coinControlUpdateLabels
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlFeatureChanged(bool checked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoinControlDialog::CoinControlDialog
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:941,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:942,1
    - Dst: GUIUtil::ShowModalDialogAsynchronously
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 944
    functionName: SendCoinsDialog::coinControlButtonClicked
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - connect
    - CoinControlDialog::CoinControlDialog
    - GUIUtil::ShowModalDialogAsynchronously
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlButtonClicked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:955,1
    - Dst: labelCoinControlChangeLabel::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:956,1
    - Dst: SendCoinsDialog::coinControlChangeEdited
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:960,1
    - Dst: lineEditCoinControlChange::text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:960,1
    - Dst: lineEditCoinControlChange::setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 963
    functionName: SendCoinsDialog::coinControlChangeChecked
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - SendCoinsDialog::coinControlChangeEdited
    - CNoDestination
    - lineEditCoinControlChange::setEnabled
    - lineEditCoinControlChange::text
    - labelCoinControlChangeLabel::clear
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlChangeChecked(int state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:968,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:971,1
    - Dst: labelCoinControlChangeLabel::setStyleSheet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:972,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:974,1
    - Dst: toStdString
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:974,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:976,1
    - Dst: labelCoinControlChangeLabel::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:978,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:980,1
    - Dst: labelCoinControlChangeLabel::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:982,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:982,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:986,1
    - Dst: labelCoinControlChangeLabel::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:987,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:987,1
    - Dst: QMessageBox::question
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:990,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:990,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:990,1
    - Dst: lineEditCoinControlChange::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:997,1
    - Dst: labelCoinControlChangeLabel::setStyleSheet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:998,1
    - Dst: labelCoinControlChangeLabel::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:999,1
    - Dst: labelCoinControlChangeLabel::setStyleSheet
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1004,1
    - Dst: getAddressTableModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1007,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1008,1
    - Dst: labelCoinControlChangeLabel::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1009,1
    - Dst: labelCoinControlChangeLabel::setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1011,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1011,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 966
    functionDepth: 5
    functionLinenumber: 966
    functionLinenumberEnd: 1017
    functionName: SendCoinsDialog::coinControlChangeEdited
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - toStdString
    - isEmpty
    - CNoDestination
    - IsValidDestination
    - DecodeDestination
    - labelCoinControlChangeLabel::setText
    - QMessageBox::question
    - wallet
    - QString::isEmpty
    - tr
    - getAddressTableModel
    - lineEditCoinControlChange::setText
    - labelCoinControlChangeLabel::setStyleSheet
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlChangeEdited(const QString& text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1022,1
    - Dst: SendCoinsDialog::updateCoinControlState
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1025,1
    - Dst: SendCoinsDialog::clear
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1028,1
    - Dst: entries::count
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1031,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1033,1
    - Dst: entries::itemAt
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1033,1
    - Dst: SendCoinsEntry*::isHidden
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1034,1
    - Dst: SendCoinsEntry*::getValue
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1036,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1037,1
    - Dst: HasSelected
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1043,1
    - Dst: CoinControlDialog::updateLabels
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1046,1
    - Dst: labelCoinControlAutomaticallySelected::hide
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1049,1
    - Dst: widgetCoinControl::show
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1050,1
    - Dst: labelCoinControlAutomaticallySelected::show
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1055,1
    - Dst: widgetCoinControl::hide
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1056,1
    - Dst: labelCoinControlInsuffFunds::hide
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1057,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1020
    functionDepth: 5
    functionLinenumber: 1020
    functionLinenumberEnd: 1059
    functionName: SendCoinsDialog::coinControlUpdateLabels
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 5
    functionsReached:
    - SendCoinsDialog::clear
    - SendCoinsEntry*::isHidden
    - entries::count
    - labelCoinControlAutomaticallySelected::hide
    - widgetCoinControl::hide
    - labelCoinControlAutomaticallySelected::show
    - labelCoinControlInsuffFunds::hide
    - append
    - SendCoinsDialog::updateCoinControlState
    - qobject_cast<SendCoinsEntry*>
    - CoinControlDialog::updateLabels
    - entries::itemAt
    - HasSelected
    - widgetCoinControl::show
    - getOptionsModel
    - SendCoinsEntry*::getValue
    linkageType: ''
    returnType: void
    signature: void SendCoinsDialog::coinControlUpdateLabels()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setIcon
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1064,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1065,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1066,1
    - Dst: setInformativeText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1067,1
    - Dst: setDetailedText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1068,1
    - Dst: setStandardButtons
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1069,1
    - Dst: addButton
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1070,1
    - Dst: setDefaultButton
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1071,1
    - Dst: button
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1072,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1073,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1074,1
    - Dst: button
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1076,1
    - Dst: SendConfirmationDialog::updateButtons
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1077,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 8
    argNames:
    - ' title'
    - ' text'
    - ' informative_text'
    - ' detailed_text'
    - _secDelay
    - enable_send
    - always_show_unsigned
    - parent
    argTypes:
    - QString
    - QString
    - QString
    - QString
    - int
    - bool
    - bool
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1079
    functionName: SendConfirmationDialog::SendConfirmationDialog
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 2
    functionsReached:
    - setIcon
    - button
    - isEmpty
    - text
    - setDefaultButton
    - connect
    - setText
    - setInformativeText
    - SendConfirmationDialog::updateButtons
    - setWindowTitle
    - setStandardButtons
    - addButton
    - setDetailedText
    linkageType: ''
    returnType: void
    signature: void SendConfirmationDialog::SendConfirmationDialog(const QString&
      title, const QString& text, const QString& informative_text, const QString&
      detailed_text, int _secDelay, bool enable_send, bool always_show_unsigned, QWidget*
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendConfirmationDialog::updateButtons
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1083,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1084,1
    - Dst: SendConfirmationDialog::exec
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1086
    functionName: SendConfirmationDialog::exec
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 1
    functionsReached:
    - SendConfirmationDialog::exec
    - start
    - SendConfirmationDialog::updateButtons
    linkageType: ''
    returnType: int
    signature: int SendConfirmationDialog::exec()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SendConfirmationDialog::updateButtons
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1091,1
    - Dst: stop
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1097
    functionName: SendConfirmationDialog::countDown
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 0
    functionsReached:
    - stop
    - SendConfirmationDialog::updateButtons
    linkageType: ''
    returnType: void
    signature: void SendConfirmationDialog::countDown()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1103,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1104,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1104,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1104,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1106,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1107,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1107,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1112,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1113,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1115,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp:1116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1119
    functionName: SendConfirmationDialog::updateButtons
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.cpp
    functionUses: 3
    functionsReached:
    - setEnabled
    - setText
    - print_number
    - QString
    linkageType: ''
    returnType: void
    signature: void SendConfirmationDialog::updateButtons()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: TransactionTableModel::processingQueuedTransactions
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool processingQueuedTransactions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: TransactionTableModel::setProcessingQueuedTransactions
    functionSourceFile: /src/bitcoin-core/src/qt/transactiontablemodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setProcessingQueuedTransactions(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCExecutor
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:89,1
    - Dst: m_node
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: RPCExecutor::public
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - RPCExecutor
    - m_node
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerIdViewDelegate
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:105,1
    - Dst: QStyledItemDelegate
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: PeerIdViewDelegate::public
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - PeerIdViewDelegate
    - QStyledItemDelegate
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:112,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - ' locale'
    argTypes:
    - QVariant
    - QLocale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: PeerIdViewDelegate::displayText
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - QLatin1String
    - toString
    linkageType: ''
    returnType: QString
    signature: QString displayText(const QVariant& value, const QLocale& locale) const
      override
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:141,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:157,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:163,1
    - Dst: contains
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:163,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:163,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:168,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:169,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:171,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:177,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:178,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:182,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:186,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:188,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:199,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:209,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:212,1
    - Dst: UniValue::isArray
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:213,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:215,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:217,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:219,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:221,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:222,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:224,1
    - Dst: close_out_params
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:235,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:238,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:239,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:241,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:244,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:246,1
    - Dst: add_to_current_stack
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:247,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:251,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:270,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:273,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:273,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:278,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:282,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:283,1
    - Dst: add_to_current_stack
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:285,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:286,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:289,1
    - Dst: RPCConvertValues
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:294,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:294,1
    - Dst: std::vector<std::string>
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:294,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:294,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:294,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:295,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:297,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:298,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:299,1
    - Dst: QByteArray::constData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:299,1
    - Dst: QByteArray::length
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:299,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:301,1
    - Dst: interfaces::Node*::executeRpc
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:302,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:306,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:311,1
    - Dst: add_to_current_stack
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:315,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:316,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:354,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:354,1
    - Dst: close_out_params
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:355,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:358,1
    - Dst: std::vector::rend
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:358,1
    - Dst: std::string*::replace
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:359,1
    - Dst: UniValue::isStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:365,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:366,1
    - Dst: UniValue::write
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:368,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 190
    argCount: 6
    argNames:
    - node
    - strResult
    - strCommand
    - fExecute
    - pstrFilteredOut
    - ' wallet_name'
    argTypes:
    - interfaces::Node*
    - std::string
    - std::string
    - bool
    - std::string*
    - QString
    assertStmts:
    - condition: (node)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/bitcoin-core/src/qt/rpcconsole.cpp
    - condition: (filter_begin_pos)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/bitcoin-core/src/qt/rpcconsole.cpp
    - condition: (!stack.empty())
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/bitcoin-core/src/qt/rpcconsole.cpp
    constantsTouched: []
    func_position:
      end: 376
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 376
    functionName: RPCConsole::RPCParseCommandLine
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - QByteArray::constData
    - std::vector::emplace_back
    - close_out_params
    - add_to_current_stack
    - std::vector::rend
    - std::string::empty
    - std::string
    - contains
    - ToIntegral
    - RPCConvertValues
    - auto::value
    - isEmpty
    - std::string*::replace
    - std::vector::back
    - std::runtime_error
    - std::vector::rbegin
    - QString::fromStdString
    - UniValue::get_str
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    - interfaces::Node*::executeRpc
    - UniValue::isArray
    - std::string::back
    - assert
    - std::string::size
    - UniValue::isStr
    - UniValue::write
    - UniValue::UniValue
    - QByteArray::length
    - QUrl::toPercentEncoding
    - std::vector<std::string>
    - std::string::clear
    - UniValue::find_value
    - UniValue::isObject
    linkageType: ''
    returnType: bool
    signature: bool RPCConsole::RPCParseCommandLine(interfaces::Node* node, std::string
      &strResult, const std::string &strCommand, const bool fExecute, std::string
      * const pstrFilteredOut, const QString& wallet_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:383,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:387,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:408,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:409,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:419,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:420,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:421,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:421,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:425,1
    - Dst: write
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:425,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:430,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:430,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - command
    - ' wallet_name'
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 432
    functionName: RPCExecutor::request
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - QString
    - write
    - print_number
    - RPCExecuteCommandLine
    - find_value
    - QString::fromStdString
    - QString::toStdString
    - what
    linkageType: ''
    returnType: void
    signature: void RPCExecutor::request(const QString &command, const QString& wallet_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Ui::RPCConsole::RPCConsole
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:437,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:440,1
    - Dst: WalletModel::isWalletEnabled
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:443,1
    - Dst: restoreGeometry
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:445,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:445,1
    - Dst: move
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:447,1
    - Dst: QGuiApplication::primaryScreen
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:447,1
    - Dst: frameGeometry
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:447,1
    - Dst: splitter::restoreState
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:449,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:449,1
    - Dst: splitter::restoreState
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:454,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:454,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:457,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:458,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:463,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:467,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:470,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:475,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:477,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:478,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:481,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:484,1
    - Dst: Join
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:485,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:485,1
    - Dst: peerConnectionTypeLabel::setToolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:486,1
    - Dst: peerConnectionTypeLabel::toolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:486,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:489,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:491,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:493,1
    - Dst: Join
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:494,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:494,1
    - Dst: peerTransportTypeLabel::setToolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:495,1
    - Dst: peerTransportTypeLabel::toolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:495,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:497,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:498,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:499,1
    - Dst: peerHighBandwidthLabel::setToolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:500,1
    - Dst: peerHighBandwidthLabel::toolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:500,1
    - Dst: dataDir::setToolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:501,1
    - Dst: dataDir::toolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:501,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:501,1
    - Dst: blocksDir::setToolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:502,1
    - Dst: blocksDir::toolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:502,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:502,1
    - Dst: openDebugLogfileButton::setToolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:503,1
    - Dst: openDebugLogfileButton::toolTip
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:503,1
    - Dst: getImagesOnButtons
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:505,1
    - Dst: openDebugLogfileButton::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:506,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:506,1
    - Dst: clearButton::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:508,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:508,1
    - Dst: fontBiggerButton::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:510,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:510,1
    - Dst: fontBiggerButton::setShortcut
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:512,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:512,1
    - Dst: GUIUtil::AddButtonShortcut
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:514,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:514,1
    - Dst: fontSmallerButton::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:516,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:516,1
    - Dst: fontSmallerButton::setShortcut
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:518,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:518,1
    - Dst: GUIUtil::AddButtonShortcut
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:520,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:520,1
    - Dst: promptIcon::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:522,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:522,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:522,1
    - Dst: lineEdit::installEventFilter
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:525,1
    - Dst: lineEdit::setMaxLength
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:526,1
    - Dst: messagesWidget::installEventFilter
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:527,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:529,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:530,1
    - Dst: RPCConsole::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:530,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:531,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:532,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:533,1
    - Dst: WalletSelector::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:536,1
    - Dst: WalletSelectorLabel::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:537,1
    - Dst: RPCConsole::setTrafficGraphRange
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:539,1
    - Dst: RPCConsole::updateDetailWidget
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:540,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:542,1
    - Dst: QFont
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:542,1
    - Dst: RPCConsole::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:543,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:545,1
    - Dst: RPCConsole::updateWindowTitle
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 3
    argNames:
    - ' node'
    - _platformStyle
    - parent
    argTypes:
    - interfaces::Node
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 548
    functionName: RPCConsole::RPCConsole
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - lineEdit::setMaxLength
    - QString
    - fontBiggerButton::setIcon
    - openDebugLogfileButton::setIcon
    - fontSmallerButton::setShortcut
    - WalletSelectorLabel::setVisible
    - move
    - Join
    - blocksDir::toolTip
    - RPCConsole::clear
    - setupUi
    - peerConnectionTypeLabel::toolTip
    - peerHighBandwidthLabel::setToolTip
    - clearButton::setIcon
    - fontSmallerButton::setIcon
    - openDebugLogfileButton::setToolTip
    - QFont
    - WalletModel::isWalletEnabled
    - GUIUtil::AddButtonShortcut
    - splitter::restoreState
    - peerTransportTypeLabel::setToolTip
    - peerTransportTypeLabel::toolTip
    - dataDir::toolTip
    - getImagesOnButtons
    - connect
    - GUIUtil::handleCloseWindowShortcut
    - RPCConsole::updateWindowTitle
    - peerConnectionTypeLabel::setToolTip
    - restoreGeometry
    - tr
    - fontBiggerButton::setShortcut
    - peerHighBandwidthLabel::toolTip
    - blocksDir::setToolTip
    - WalletSelector::setVisible
    - QGuiApplication::primaryScreen
    - openDebugLogfileButton::toolTip
    - messagesWidget::installEventFilter
    - QStringLiteral
    - RPCConsole::setTrafficGraphRange
    - RPCConsole::updateDetailWidget
    - QSettings::value
    - lineEdit::installEventFilter
    - promptIcon::setIcon
    - frameGeometry
    - dataDir::setToolTip
    - SingleColorIcon
    - Ui::RPCConsole::RPCConsole
    linkageType: ''
    returnType: void
    signature: void RPCConsole::RPCConsole(interfaces::Node& node, const PlatformStyle
      *_platformStyle, QWidget *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel::isWalletEnabled
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:554,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:556,1
    - Dst: saveGeometry
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:556,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:557,1
    - Dst: splitter::saveState
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:557,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:562,1
    - Dst: splitter::saveState
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:562,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:565,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: RPCConsole::~RPCConsole()
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - splitter::saveState
    - QSettings::setValue
    - WalletModel::isWalletEnabled
    - saveGeometry
    linkageType: ''
    returnType: void
    signature: void RPCConsole::~RPCConsole()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:573,1
    - Dst: static_cast<QKeyEvent*>
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:575,1
    - Dst: QKeyEvent*::key
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:576,1
    - Dst: QKeyEvent*::modifiers
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:577,1
    - Dst: RPCConsole::browseHistory
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:580,1
    - Dst: RPCConsole::browseHistory
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:581,1
    - Dst: QApplication::sendEvent
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:585,1
    - Dst: popup
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:592,1
    - Dst: QApplication::sendEvent
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:593,1
    - Dst: popup
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:594,1
    - Dst: QKeyEvent*::text
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:602,1
    - Dst: lineEdit::setFocus
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:606,1
    - Dst: QApplication::sendEvent
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:607,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:612,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - obj
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 613
    functionName: RPCConsole::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - RPCConsole::browseHistory
    - QKeyEvent*::modifiers
    - QApplication::sendEvent
    - lineEdit::setFocus
    - static_cast<QKeyEvent*>
    - QKeyEvent*::text
    - QEvent*::type
    - popup
    - QKeyEvent*::key
    - AskPassphraseDialog::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool RPCConsole::eventFilter(QObject* obj, QEvent *event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel::isWalletEnabled
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:621,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:625,1
    - Dst: RPCConsole::updateAlerts
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:626,1
    - Dst: ClientModel*::getStatusBarWarnings
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:626,1
    - Dst: trafficGraph::setClientModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:629,1
    - Dst: getPeerTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:630,1
    - Dst: getBanTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:630,1
    - Dst: RPCConsole::setNumConnections
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:632,1
    - Dst: ClientModel*::getNumConnections
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:632,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:633,1
    - Dst: RPCConsole::setNumBlocks
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:635,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:635,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:636,1
    - Dst: RPCConsole::updateNetworkState
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:638,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:639,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:641,1
    - Dst: RPCConsole::updateTrafficStats
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:642,1
    - Dst: getTotalBytesRecv
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:642,1
    - Dst: getTotalBytesSent
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:642,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:643,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:645,1
    - Dst: peerWidget::setModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:648,1
    - Dst: ClientModel*::peerTableSortProxy
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:648,1
    - Dst: peerWidget::verticalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:649,1
    - Dst: peerWidget::setSelectionBehavior
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:650,1
    - Dst: peerWidget::setSelectionMode
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:651,1
    - Dst: peerWidget::setContextMenuPolicy
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:652,1
    - Dst: peerWidget::horizontalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:654,1
    - Dst: peerWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:655,1
    - Dst: peerWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:656,1
    - Dst: peerWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:657,1
    - Dst: peerWidget::horizontalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:659,1
    - Dst: peerWidget::horizontalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:660,1
    - Dst: peerWidget::setItemDelegateForColumn
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:661,1
    - Dst: PeerIdViewDelegate::PeerIdViewDelegate
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:661,1
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:664,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:666,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:666,1
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:667,1
    - Dst: addSeparator
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:669,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:670,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:670,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:671,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:671,1
    - Dst: RPCConsole::banSelectedNode
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:671,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:672,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:672,1
    - Dst: RPCConsole::banSelectedNode
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:672,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:673,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:673,1
    - Dst: RPCConsole::banSelectedNode
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:673,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:674,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:674,1
    - Dst: RPCConsole::banSelectedNode
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:674,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:675,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:678,1
    - Dst: peerWidget::selectionModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:678,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:679,1
    - Dst: ClientModel*::getPeerTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:679,1
    - Dst: RPCConsole::updateDetailWidget
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:679,1
    - Dst: banlistWidget::setModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:682,1
    - Dst: ClientModel*::getBanTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:682,1
    - Dst: banlistWidget::verticalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:683,1
    - Dst: banlistWidget::setSelectionBehavior
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:684,1
    - Dst: banlistWidget::setSelectionMode
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:685,1
    - Dst: banlistWidget::setContextMenuPolicy
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:686,1
    - Dst: banlistWidget::horizontalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:688,1
    - Dst: banlistWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:689,1
    - Dst: banlistWidget::setColumnWidth
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:690,1
    - Dst: banlistWidget::horizontalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:692,1
    - Dst: banlistWidget::horizontalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:693,1
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:696,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:700,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:700,1
    - Dst: GUIUtil::copyEntryData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:701,1
    - Dst: addSeparator
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:703,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:704,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:704,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:705,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:708,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:710,1
    - Dst: ClientModel*::getBanTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:710,1
    - Dst: RPCConsole::showOrHideBanTableIfRequired
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:711,1
    - Dst: clientVersion::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:714,1
    - Dst: ClientModel*::formatFullVersion
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:714,1
    - Dst: clientUserAgent::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:715,1
    - Dst: ClientModel*::formatSubVersion
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:715,1
    - Dst: dataDir::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:716,1
    - Dst: ClientModel*::dataDir
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:716,1
    - Dst: blocksDir::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:717,1
    - Dst: ClientModel*::blocksDir
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:717,1
    - Dst: startupTime::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:718,1
    - Dst: ClientModel*::formatClientStartupTime
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:718,1
    - Dst: networkName::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:719,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:719,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:719,1
    - Dst: listRpcCommands
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:723,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:724,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:726,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:727,1
    - Dst: QStringList::sort
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:731,1
    - Dst: QCompleter::QCompleter
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:732,1
    - Dst: setModelSorting
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:733,1
    - Dst: lineEdit::setEnabled
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:736,1
    - Dst: lineEdit::setCompleter
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:737,1
    - Dst: popup
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:738,1
    - Dst: RPCConsole::startExecutor
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:740,1
    - Dst: quit
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:744,1
    - Dst: wait
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:745,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 98
    argCount: 4
    argNames:
    - model
    - bestblock_height
    - bestblock_date
    - verification_progress
    argTypes:
    - ClientModel*
    - int
    - int64_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 747
    functionName: RPCConsole::setClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - ClientModel*::formatSubVersion
    - node
    - listRpcCommands
    - peerWidget::verticalHeader
    - peerWidget::setContextMenuPolicy
    - banlistWidget::setContextMenuPolicy
    - RPCConsole::updateNetworkState
    - startupTime::setText
    - networkName::setText
    - peerWidget::setModel
    - QStringList::sort
    - RPCConsole::updateAlerts
    - addAction
    - peerWidget::setSelectionBehavior
    - RPCConsole::setNumBlocks
    - ClientModel*::getBanTableModel
    - GUIUtil::copyEntryData
    - banlistWidget::setColumnWidth
    - RPCConsole::setNumConnections
    - PeerIdViewDelegate::PeerIdViewDelegate
    - ClientModel*::getStatusBarWarnings
    - clientVersion::setText
    - QMenu::QMenu
    - ClientModel*::getPeerTableModel
    - clientUserAgent::setText
    - WalletModel::isWalletEnabled
    - peerWidget::selectionModel
    - ClientModel*::blocksDir
    - RPCConsole::banSelectedNode
    - QString::fromStdString
    - lineEdit::setCompleter
    - getPeerTableModel
    - wait
    - std::vector::size
    - banlistWidget::setSelectionMode
    - connect
    - quit
    - ClientModel*::peerTableSortProxy
    - peerWidget::setSelectionMode
    - getBanTableModel
    - getTotalBytesRecv
    - peerWidget::setItemDelegateForColumn
    - lineEdit::setEnabled
    - tr
    - banlistWidget::verticalHeader
    - ClientModel*::getNumConnections
    - ClientModel*::formatClientStartupTime
    - peerWidget::setColumnWidth
    - getTotalBytesSent
    - QDateTime::fromSecsSinceEpoch
    - dataDir::setText
    - Params
    - banlistWidget::setModel
    - c_str
    - RPCConsole::startExecutor
    - banlistWidget::horizontalHeader
    - peerWidget::horizontalHeader
    - addSeparator
    - setModelSorting
    - RPCConsole::updateDetailWidget
    - ClientModel*::formatFullVersion
    - RPCConsole::showOrHideBanTableIfRequired
    - ClientModel*::dataDir
    - RPCConsole::updateTrafficStats
    - blocksDir::setText
    - QCompleter::QCompleter
    - popup
    - banlistWidget::setSelectionBehavior
    - trafficGraph::setClientModel
    linkageType: ''
    returnType: void
    signature: void RPCConsole::setClientModel(ClientModel *model, int bestblock_height,
      int64_t bestblock_date, double verification_progress)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WalletSelector::addItem
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:753,1
    - Dst: WalletModel*::getDisplayName
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:753,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:753,1
    - Dst: WalletSelector::count
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:754,1
    - Dst: WalletSelector::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:756,1
    - Dst: WalletSelector::count
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:758,1
    - Dst: WalletSelector::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:759,1
    - Dst: WalletSelectorLabel::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - walletModel
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: RPCConsole::addWallet
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - WalletSelector::count
    - WalletSelectorLabel::setVisible
    - WalletModel*::getDisplayName
    - QVariant::fromValue
    - WalletSelector::setCurrentIndex
    - WalletSelector::addItem
    - WalletSelector::setVisible
    linkageType: ''
    returnType: void
    signature: void RPCConsole::addWallet(WalletModel * const walletModel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletSelector::removeItem
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:766,1
    - Dst: WalletSelector::findData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:766,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:766,1
    - Dst: WalletSelector::count
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:767,1
    - Dst: WalletSelector::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:768,1
    - Dst: WalletSelectorLabel::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - walletModel
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 771
    functionName: RPCConsole::removeWallet
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - WalletSelector::findData
    - WalletSelector::count
    - WalletSelectorLabel::setVisible
    - WalletSelector::setVisible
    - QVariant::fromValue
    - WalletSelector::removeItem
    linkageType: ''
    returnType: void
    signature: void RPCConsole::removeWallet(WalletModel * const walletModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:775,1
    - Dst: WalletSelector::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:776,1
    - Dst: WalletSelector::findData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wallet_model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: RPCConsole::setCurrentWallet
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - QVariant::fromValue
    - WalletSelector::setCurrentIndex
    - WalletSelector::findData
    linkageType: ''
    returnType: void
    signature: void RPCConsole::setCurrentWallet(WalletModel* const wallet_model)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 789
    functionName: categoryClass
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString categoryClass(int category)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConsole::setFontSize
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: RPCConsole::fontBigger
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - RPCConsole::setFontSize
    linkageType: ''
    returnType: void
    signature: void RPCConsole::fontBigger()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConsole::setFontSize
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 799
    functionName: RPCConsole::fontSmaller
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - RPCConsole::setFontSize
    linkageType: ''
    returnType: void
    signature: void RPCConsole::fontSmaller()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:806,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:806,1
    - Dst: messagesWidget::toHtml
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:810,1
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:813,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:813,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:813,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:817,1
    - Dst: messagesWidget::verticalScrollBar
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:820,1
    - Dst: messagesWidget::verticalScrollBar
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:820,1
    - Dst: RPCConsole::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:821,1
    - Dst: messagesWidget::setHtml
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:822,1
    - Dst: messagesWidget::verticalScrollBar
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:823,1
    - Dst: messagesWidget::verticalScrollBar
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - newSize
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 824
    functionName: RPCConsole::setFontSize
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 2
    functionsReached:
    - QString
    - QSettings::setValue
    - width
    - messagesWidget::verticalScrollBar
    - QString::replace
    - RPCConsole::clear
    - messagesWidget::toHtml
    - messagesWidget::setHtml
    - height
    linkageType: ''
    returnType: void
    signature: void RPCConsole::setFontSize(int newSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: messagesWidget::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:828,1
    - Dst: lineEdit::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:829,1
    - Dst: lineEdit::setFocus
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:830,1
    - Dst: messagesWidget::document
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:836,1
    - Dst: QUrl
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:838,1
    - Dst: SingleColorImage
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:839,1
    - Dst: QSize
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:839,1
    - Dst: messagesWidget::document
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:848,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:849,1
    - Dst: QFontInfo::family
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:857,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:857,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:864,1
    - Dst: clearButton::shortcut
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:874,1
    - Dst: fontBiggerButton::shortcut
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:875,1
    - Dst: fontSmallerButton::shortcut
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:876,1
    - Dst: RPCConsole::message
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - keep_prompt
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 883
    functionName: RPCConsole::clear
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 2
    functionsReached:
    - QString
    - fontSmallerButton::shortcut
    - QFontInfo::family
    - clearButton::shortcut
    - SingleColorImage
    - QUrl
    - lineEdit::setFocus
    - messagesWidget::clear
    - lineEdit::clear
    - tr
    - RPCConsole::message
    - QSize
    - fontBiggerButton::shortcut
    - messagesWidget::document
    linkageType: ''
    returnType: void
    signature: void RPCConsole::clear(bool keep_prompt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: windowType
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:887,1
    - Dst: IsEscapeOrBack
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:887,1
    - Dst: QKeyEvent*::key
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:887,1
    - Dst: close
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: RPCConsole::keyPressEvent
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::key
    - close
    - windowType
    - IsEscapeOrBack
    linkageType: ''
    returnType: void
    signature: void RPCConsole::keyPressEvent(QKeyEvent *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:894,1
    - Dst: clearButton::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:895,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:895,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:895,1
    - Dst: fontBiggerButton::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:896,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:896,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:896,1
    - Dst: fontSmallerButton::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:897,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:897,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:897,1
    - Dst: promptIcon::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:898,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:898,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:898,1
    - Dst: messagesWidget::document
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:901,1
    - Dst: QUrl
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:903,1
    - Dst: SingleColorImage
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:904,1
    - Dst: QSize
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:904,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 909
    functionName: RPCConsole::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - clearButton::setIcon
    - fontBiggerButton::setIcon
    - QStringLiteral
    - fontSmallerButton::setIcon
    - SignVerifyMessageDialog::changeEvent
    - promptIcon::setIcon
    - SingleColorImage
    - QUrl
    - QEvent*::type
    - SingleColorIcon
    - QSize
    - messagesWidget::document
    linkageType: ''
    returnType: void
    signature: void RPCConsole::changeEvent(QEvent* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QTime::currentTime
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:913,1
    - Dst: QTime::toString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:914,1
    - Dst: categoryClass
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:917,1
    - Dst: categoryClass
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:918,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:922,1
    - Dst: messagesWidget::append
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - category
    - message
    - html
    argTypes:
    - int
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 925
    functionName: RPCConsole::message
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - QTime::toString
    - GUIUtil::HtmlEscape
    - categoryClass
    - messagesWidget::append
    - QTime::currentTime
    linkageType: ''
    returnType: void
    signature: void RPCConsole::message(int category, const QString &message, bool
      html)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:930,1
    - Dst: getNumConnections
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:930,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:931,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:931,1
    - Dst: getNumConnections
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:931,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:932,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:932,1
    - Dst: getNumConnections
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:932,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:934,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:935,1
    - Dst: numberOfConnections::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:938,1
    - Dst: getNetLocalAddresses
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:941,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:943,1
    - Dst: ToStringAddr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:943,1
    - Dst: IsI2P
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:944,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:944,1
    - Dst: QString::chop
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:947,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:948,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:948,1
    - Dst: localAddresses::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 951
    functionName: RPCConsole::updateNetworkState
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - node
    - print_number
    - QString::isEmpty
    - localAddresses::setText
    - tr
    - IsI2P
    - getNetLocalAddresses
    - QString::fromStdString
    - QString::chop
    - getNumConnections
    - numberOfConnections::setText
    - ToStringAddr
    linkageType: ''
    returnType: void
    signature: void RPCConsole::updateNetworkState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RPCConsole::updateNetworkState
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 959
    functionName: RPCConsole::setNumConnections
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - RPCConsole::updateNetworkState
    linkageType: ''
    returnType: void
    signature: void RPCConsole::setNumConnections(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConsole::updateNetworkState
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - networkActive
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: RPCConsole::setNetworkActive
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - RPCConsole::updateNetworkState
    linkageType: ''
    returnType: void
    signature: void RPCConsole::setNetworkActive(bool networkActive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: numberOfBlocks::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:969,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:969,1
    - Dst: lastBlockTime::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:970,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - count
    - ' blockDate'
    - nVerificationProgress
    - synctype
    argTypes:
    - int
    - QDateTime
    - double
    - SyncType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 972
    functionName: RPCConsole::setNumBlocks
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - numberOfBlocks::setText
    - print_number
    - toString
    - lastBlockTime::setText
    linkageType: ''
    returnType: void
    signature: void RPCConsole::setNumBlocks(int count, const QDateTime& blockDate,
      double nVerificationProgress, SyncType synctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempoolNumberTxs::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:976,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:976,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:979,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:980,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:981,1
    - Dst: mempoolSize::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - numberOfTxs
    - dynUsage
    - maxUsage
    argTypes:
    - long
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 984
    functionName: RPCConsole::setMempoolSize
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - SighashToStr
    - mempoolNumberTxs::setText
    - print_number
    - mempoolSize::setText
    linkageType: ''
    returnType: void
    signature: void RPCConsole::setMempoolSize(long numberOfTxs, size_t dynUsage,
      size_t maxUsage)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lineEdit::text
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:988,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:990,1
    - Dst: RPCConsole::RPCParseCommandLine
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:997,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:997,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:999,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1002,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1002,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1002,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1002,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1007,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1009,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1009,1
    - Dst: lineEdit::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1017,1
    - Dst: WalletSelector::currentData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1021,1
    - Dst: WalletModel*::getWalletName
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1022,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1022,1
    - Dst: RPCConsole::message
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1025,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1025,1
    - Dst: WalletModel*::getWalletName
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1025,1
    - Dst: RPCConsole::message
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1027,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1027,1
    - Dst: RPCConsole::message
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1033,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1033,1
    - Dst: RPCConsole::message
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1035,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1035,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1038,1
    - Dst: request
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1039,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1042,1
    - Dst: removeOne
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1045,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1047,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1049,1
    - Dst: removeFirst
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1050,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1053,1
    - Dst: RPCConsole::scrollToEnd
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 986
    functionDepth: 4
    functionLinenumber: 986
    functionLinenumberEnd: 1057
    functionName: RPCConsole::on_lineEdit_returnPressed
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - QString
    - what
    - QMetaObject::invokeMethod
    - QString::isEmpty
    - RPCExecuteCommandLine
    - std::runtime_error
    - append
    - QString::fromStdString
    - QMessageBox::critical
    - WalletSelector::currentData
    - QLatin1String
    - RPCConsole::scrollToEnd
    - lineEdit::clear
    - tr
    - RPCConsole::message
    - QString::toStdString
    - removeOne
    - WalletModel*::getWalletName
    - request
    - RPCConsole::RPCParseCommandLine
    - lineEdit::text
    - size
    - removeFirst
    linkageType: ''
    returnType: void
    signature: void RPCConsole::on_lineEdit_returnPressed()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1062,1
    - Dst: lineEdit::text
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1063,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1069,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1070,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1072,1
    - Dst: at
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1073,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1074,1
    - Dst: lineEdit::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1078
    functionName: RPCConsole::browseHistory
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - lineEdit::text
    - at
    - size
    - lineEdit::setText
    - isNull
    linkageType: ''
    returnType: void
    signature: void RPCConsole::browseHistory(int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCExecutor::RPCExecutor
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1082,1
    - Dst: moveToThread
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1083,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1086,1
    - Dst: messagesWidget::undo
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1088,1
    - Dst: RPCConsole::message
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1089,1
    - Dst: RPCConsole::scrollToEnd
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1090,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1095,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1099,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1100,1
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1103
    functionName: RPCConsole::startExecutor
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - connect
    - moveToThread
    - messagesWidget::undo
    - RPCConsole::scrollToEnd
    - QTimer::singleShot
    - util::ThreadRename
    - RPCConsole::message
    - start
    - RPCExecutor::RPCExecutor
    linkageType: ''
    returnType: void
    signature: void RPCConsole::startExecutor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tabWidget::widget
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1107,1
    - Dst: lineEdit::setFocus
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1110
    functionName: RPCConsole::on_tabWidget_currentChanged
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - tabWidget::widget
    - lineEdit::setFocus
    linkageType: ''
    returnType: void
    signature: void RPCConsole::on_tabWidget_currentChanged(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::openDebugLogfile
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1115
    functionName: RPCConsole::on_openDebugLogfileButton_clicked
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::openDebugLogfile
    linkageType: ''
    returnType: void
    signature: void RPCConsole::on_openDebugLogfileButton_clicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: messagesWidget::verticalScrollBar
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1119,1
    - Dst: QScrollBar*::setValue
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1120,1
    - Dst: QScrollBar*::maximum
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1121
    functionName: RPCConsole::scrollToEnd
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 2
    functionsReached:
    - QScrollBar*::setValue
    - messagesWidget::verticalScrollBar
    - QScrollBar*::maximum
    linkageType: ''
    returnType: void
    signature: void RPCConsole::scrollToEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConsole::setTrafficGraphRange
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1128
    functionName: RPCConsole::on_sldGraphRange_valueChanged
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - RPCConsole::setTrafficGraphRange
    linkageType: ''
    returnType: void
    signature: void RPCConsole::on_sldGraphRange_valueChanged(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trafficGraph::setGraphRange
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1132,1
    - Dst: lblGraphRange::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1133,1
    - Dst: GUIUtil::formatDurationStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mins
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1134
    functionName: RPCConsole::setTrafficGraphRange
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 2
    functionsReached:
    - lblGraphRange::setText
    - trafficGraph::setGraphRange
    - GUIUtil::formatDurationStr
    linkageType: ''
    returnType: void
    signature: void RPCConsole::setTrafficGraphRange(int mins)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lblBytesIn::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1138,1
    - Dst: GUIUtil::formatBytes
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1138,1
    - Dst: lblBytesOut::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1139,1
    - Dst: GUIUtil::formatBytes
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - totalBytesIn
    - totalBytesOut
    argTypes:
    - quint64
    - quint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1140
    functionName: RPCConsole::updateTrafficStats
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - lblBytesOut::setText
    - lblBytesIn::setText
    - GUIUtil::formatBytes
    linkageType: ''
    returnType: void
    signature: void RPCConsole::updateTrafficStats(quint64 totalBytesIn, quint64 totalBytesOut)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::getEntryData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1144,1
    - Dst: getPeerTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1145,1
    - Dst: QList::size
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1145,1
    - Dst: peersTabRightPanel::hide
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1146,1
    - Dst: peerHeading::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1147,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1147,1
    - Dst: QList::first
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1150,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1152,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1153,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1153,1
    - Dst: auto::nodeStats::addrLocal::empty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1154,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1155,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1155,1
    - Dst: peerHeading::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1156,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1159,1
    - Dst: QLatin1Char
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1159,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1160,1
    - Dst: peerHighBandwidth::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1161,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1162,1
    - Dst: peerConnTime::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1163,1
    - Dst: GUIUtil::formatDurationStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1163,1
    - Dst: peerLastBlock::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1164,1
    - Dst: TimeDurationField
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1164,1
    - Dst: peerLastTx::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1165,1
    - Dst: TimeDurationField
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1165,1
    - Dst: peerLastSend::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1166,1
    - Dst: TimeDurationField
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1166,1
    - Dst: peerLastRecv::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1167,1
    - Dst: TimeDurationField
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1167,1
    - Dst: peerBytesSent::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1168,1
    - Dst: GUIUtil::formatBytes
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1168,1
    - Dst: peerBytesRecv::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1169,1
    - Dst: GUIUtil::formatBytes
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1169,1
    - Dst: peerPingTime::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1170,1
    - Dst: GUIUtil::formatPingTime
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1170,1
    - Dst: peerMinPing::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1171,1
    - Dst: GUIUtil::formatPingTime
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1171,1
    - Dst: peerVersion::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1173,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1173,1
    - Dst: auto::nodeStats::cleanSubVer::empty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1175,1
    - Dst: peerSubversion::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1176,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1176,1
    - Dst: peerConnectionType::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1178,1
    - Dst: GUIUtil::ConnectionTypeToQString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1178,1
    - Dst: peerTransportType::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1179,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1179,1
    - Dst: TransportTypeAsString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1179,1
    - Dst: peerSessionIdLabel::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1181,1
    - Dst: peerSessionId::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1182,1
    - Dst: peerSessionId::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1183,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1183,1
    - Dst: peerSessionIdLabel::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1185,1
    - Dst: peerSessionId::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1186,1
    - Dst: peerNetwork::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1188,1
    - Dst: GUIUtil::NetworkToQString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1188,1
    - Dst: peerPermissions::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1190,1
    - Dst: NetPermissions::ToStrings
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1193,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1194,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1194,1
    - Dst: peerPermissions::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1196,1
    - Dst: QStringList::join
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1196,1
    - Dst: peerMappedAS::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1198,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1198,1
    - Dst: timeoffset::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1203,1
    - Dst: GUIUtil::formatTimeOffset
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1203,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1203,1
    - Dst: peerServices::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1204,1
    - Dst: GUIUtil::formatServicesStr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1204,1
    - Dst: peerSyncHeight::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1207,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1207,1
    - Dst: peerSyncHeight::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1209,1
    - Dst: peerCommonHeight::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1213,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1213,1
    - Dst: peerCommonHeight::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1215,1
    - Dst: peerHeight::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1217,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1217,1
    - Dst: peerPingWait::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1218,1
    - Dst: GUIUtil::formatPingTime
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1218,1
    - Dst: peerAddrRelayEnabled::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1219,1
    - Dst: peerAddrProcessed::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1220,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1220,1
    - Dst: peerAddrRateLimited::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1221,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1221,1
    - Dst: peerRelayTxes::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1222,1
    - Dst: hidePeersDetailButton::setIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1225,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1225,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1225,1
    - Dst: peersTabRightPanel::show
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1226,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1227
    functionName: RPCConsole::updateDetailWidget
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 2
    functionsReached:
    - auto::nodeStats::addrLocal::empty
    - QString
    - peerBytesRecv::setText
    - peerConnTime::setText
    - GUIUtil::formatPingTime
    - peerPermissions::setText
    - auto::nodeStats::cleanSubVer::empty
    - QStringList::append
    - timeoffset::setText
    - GUIUtil::NetworkToQString
    - peerHeight::setText
    - GetTime
    - peerSessionId::setVisible
    - print_number
    - peersTabRightPanel::hide
    - QString::isEmpty
    - GUIUtil::formatBytes
    - SingleColorIcon
    - peerNetwork::setText
    - TimeDurationField
    - QList::first
    - peerMappedAS::setText
    - peerCommonHeight::setText
    - QStringList::join
    - peerSessionId::setText
    - QString::fromStdString
    - peerHeading::setText
    - peerSessionIdLabel::setVisible
    - getPeerTableModel
    - hidePeersDetailButton::setIcon
    - peerTransportType::setText
    - peerLastTx::setText
    - GUIUtil::formatDurationStr
    - QList::size
    - peerPingWait::setText
    - peerLastSend::setText
    - peerConnectionType::setText
    - peerAddrProcessed::setText
    - peerVersion::setText
    - TransportTypeAsString
    - peerSyncHeight::setText
    - peerLastRecv::setText
    - tr
    - peersTabRightPanel::show
    - peerAddrRateLimited::setText
    - GUIUtil::ConnectionTypeToQString
    - GUIUtil::getEntryData
    - GUIUtil::formatTimeOffset
    - peerLastBlock::setText
    - Ticks
    - peerMinPing::setText
    - peerAddrRelayEnabled::setText
    - QStringLiteral
    - peerBytesSent::setText
    - NetPermissions::ToStrings
    - peerHighBandwidth::setText
    - peerSubversion::setText
    - GUIUtil::formatServicesStr
    - peerRelayTxes::setText
    - peerServices::setText
    - peerPingTime::setText
    - QLatin1Char
    linkageType: ''
    returnType: void
    signature: void RPCConsole::updateDetailWidget()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConsole::resizeEvent
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QResizeEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1232
    functionName: RPCConsole::resizeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - RPCConsole::resizeEvent
    linkageType: ''
    returnType: void
    signature: void RPCConsole::resizeEvent(QResizeEvent *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TransactionOverviewWidget::showEvent
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1236,1
    - Dst: getPeerTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1238,1
    - Dst: getPeerTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QShowEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1243
    functionName: RPCConsole::showEvent
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - getPeerTableModel
    - TransactionOverviewWidget::showEvent
    linkageType: ''
    returnType: void
    signature: void RPCConsole::showEvent(QShowEvent *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peerWidget::horizontalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1249,1
    - Dst: banlistWidget::horizontalHeader
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1250,1
    - Dst: RPCConsole::hideEvent
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1252,1
    - Dst: getPeerTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1254,1
    - Dst: getPeerTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - event
    argTypes:
    - QHideEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1259
    functionName: RPCConsole::hideEvent
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - peerWidget::horizontalHeader
    - RPCConsole::hideEvent
    - getPeerTableModel
    - banlistWidget::horizontalHeader
    linkageType: ''
    returnType: void
    signature: void RPCConsole::hideEvent(QHideEvent *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peerWidget::indexAt
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1263,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1264,1
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1265,1
    - Dst: QCursor::pos
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1266
    functionName: RPCConsole::showPeersTableContextMenu
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - peerWidget::indexAt
    - exec
    - QCursor::pos
    linkageType: ''
    returnType: void
    signature: void RPCConsole::showPeersTableContextMenu(const QPoint& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banlistWidget::indexAt
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1270,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1271,1
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1272,1
    - Dst: QCursor::pos
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1273
    functionName: RPCConsole::showBanTableContextMenu
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - banlistWidget::indexAt
    - QModelIndex::isValid
    - QCursor::pos
    - exec
    linkageType: ''
    returnType: void
    signature: void RPCConsole::showBanTableContextMenu(const QPoint& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::getEntryData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1278,1
    - Dst: QList::count
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1279,1
    - Dst: QList::at
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1282,1
    - Dst: disconnectById
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1284,1
    - Dst: RPCConsole::clearSelectedNode
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1287
    functionName: RPCConsole::disconnectSelectedNode
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - disconnectById
    - QList::count
    - QList::at
    - RPCConsole::clearSelectedNode
    - GUIUtil::getEntryData
    linkageType: ''
    returnType: void
    signature: void RPCConsole::disconnectSelectedNode()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::getEntryData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1294,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1296,1
    - Dst: ban
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1298,1
    - Dst: disconnectByAddress
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1299,1
    - Dst: RPCConsole::clearSelectedNode
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1302,1
    - Dst: getBanTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - bantime
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1304
    functionName: RPCConsole::banSelectedNode
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - disconnectByAddress
    - getBanTableModel
    - ban
    - data
    - RPCConsole::clearSelectedNode
    - GUIUtil::getEntryData
    linkageType: ''
    returnType: void
    signature: void RPCConsole::banSelectedNode(int bantime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::getEntryData
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1312,1
    - Dst: getBanTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1313,1
    - Dst: BanTableModel*::unban
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1316,1
    - Dst: BanTableModel*::refresh
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1321
    functionName: RPCConsole::unbanSelectedNode
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - BanTableModel*::refresh
    - GUIUtil::getEntryData
    - getBanTableModel
    - BanTableModel*::unban
    linkageType: ''
    returnType: void
    signature: void RPCConsole::unbanSelectedNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: peerWidget::selectionModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1325,1
    - Dst: RPCConsole::clear
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1326,1
    - Dst: RPCConsole::updateDetailWidget
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1323
    functionDepth: 3
    functionLinenumber: 1323
    functionLinenumberEnd: 1328
    functionName: RPCConsole::clearSelectedNode
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 2
    functionsReached:
    - RPCConsole::updateDetailWidget
    - RPCConsole::clear
    - peerWidget::selectionModel
    linkageType: ''
    returnType: void
    signature: void RPCConsole::clearSelectedNode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBanTableModel
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1335,1
    - Dst: banlistWidget::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1336,1
    - Dst: banHeading::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1338
    functionName: RPCConsole::showOrHideBanTableIfRequired
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - banlistWidget::setVisible
    - banHeading::setVisible
    - getBanTableModel
    linkageType: ''
    returnType: void
    signature: void RPCConsole::showOrHideBanTableIfRequired()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tabWidget::setCurrentIndex
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tabType
    argTypes:
    - enum TabTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1343
    functionName: RPCConsole::setTabFocus
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - tabWidget::setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void RPCConsole::setTabFocus(enum TabTypes tabType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tabWidget::tabText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tab_type
    argTypes:
    - TabTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1348
    functionName: RPCConsole::tabTitle
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - tabWidget::tabText
    linkageType: ''
    returnType: QString
    signature: QString RPCConsole::tabTitle(TabTypes tab_type) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1353,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1353,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1354,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1354,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1355,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1355,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1356,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1356,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tab_type
    argTypes:
    - TabTypes
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1358
        line_start: 1358
        source_file: /src/bitcoin-core/src/qt/rpcconsole.cpp
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: RPCConsole::tabShortcut
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QKeySequence
    - tr
    linkageType: ''
    returnType: QKeySequence
    signature: QKeySequence RPCConsole::tabShortcut(TabTypes tab_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConsole::ui::label_alerts::setVisible
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1364,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1364,1
    - Dst: RPCConsole::ui::label_alerts::setText
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' warnings'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1366
    functionName: RPCConsole::updateAlerts
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - isEmpty
    - RPCConsole::ui::label_alerts::setVisible
    - RPCConsole::ui::label_alerts::setText
    linkageType: ''
    returnType: void
    signature: void RPCConsole::updateAlerts(const QString& warnings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1370,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1373,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1373,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1374,1
    - Dst: RPCConsole::setWindowTitle
      Src: /src/bitcoin-core/src/qt/rpcconsole.cpp:1375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1376
    functionName: RPCConsole::updateWindowTitle
    functionSourceFile: /src/bitcoin-core/src/qt/rpcconsole.cpp
    functionUses: 1
    functionsReached:
    - RPCConsole::setWindowTitle
    - QString::fromStdString
    - Params
    - tr
    linkageType: ''
    returnType: void
    signature: void RPCConsole::updateWindowTitle()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:88,1
    - Dst: restoreGeometry
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:93,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:93,1
    - Dst: move
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:95,1
    - Dst: QGuiApplication::primaryScreen
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:95,1
    - Dst: frameGeometry
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:95,1
    - Dst: setContextMenuPolicy
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:98,1
    - Dst: WalletModel::isWalletEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:101,1
    - Dst: QApplication::setWindowIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:103,1
    - Dst: getTrayAndWindowIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:103,1
    - Dst: setWindowIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:104,1
    - Dst: getTrayAndWindowIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:104,1
    - Dst: BitcoinGUI::updateWindowTitle
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:105,1
    - Dst: RPCConsole::RPCConsole
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:107,1
    - Dst: HelpMessageDialog::HelpMessageDialog
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:108,1
    - Dst: WalletFrame::WalletFrame
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:113,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:114,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:115,1
    - Dst: BitcoinGUI::message
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:116,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:118,1
    - Dst: BitcoinGUI::updateWalletStatus
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:118,1
    - Dst: setCentralWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:119,1
    - Dst: setCentralWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:126,1
    - Dst: BitcoinGUI::centralWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:130,1
    - Dst: ModalOverlay::ModalOverlay
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:130,1
    - Dst: setAcceptDrops
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:133,1
    - Dst: BitcoinGUI::createActions
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:137,1
    - Dst: BitcoinGUI::createMenuBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:140,1
    - Dst: BitcoinGUI::createToolBars
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:143,1
    - Dst: QSystemTrayIcon::isSystemTrayAvailable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:146,1
    - Dst: BitcoinGUI::createTrayIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:147,1
    - Dst: QApplication::applicationName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:149,1
    - Dst: Notificator::Notificator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:149,1
    - Dst: statusBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:152,1
    - Dst: statusBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:155,1
    - Dst: QFrame::QFrame
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:158,1
    - Dst: QFrame*::setContentsMargins
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:159,1
    - Dst: QFrame*::setSizePolicy
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:160,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:161,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:162,1
    - Dst: QHBoxLayout*::setSpacing
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:163,1
    - Dst: UnitDisplayStatusBarControl::UnitDisplayStatusBarControl
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:164,1
    - Dst: GUIUtil::ThemedLabel::ThemedLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:165,1
    - Dst: GUIUtil::ThemedLabel::ThemedLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:166,1
    - Dst: GUIUtil::ClickableLabel::ClickableLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:167,1
    - Dst: GUIUtil::ClickableLabel::ClickableLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:168,1
    - Dst: GUIUtil::ClickableLabel::ClickableLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:169,1
    - Dst: QHBoxLayout*::addStretch
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:172,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:173,1
    - Dst: QHBoxLayout*::addStretch
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:174,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:175,1
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:176,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:177,1
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:178,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:180,1
    - Dst: QHBoxLayout*::addStretch
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:181,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:182,1
    - Dst: QHBoxLayout*::addStretch
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:183,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:184,1
    - Dst: QHBoxLayout*::addStretch
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:185,1
    - Dst: QLabel::QLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:188,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:189,1
    - Dst: GUIUtil::ProgressBar::ProgressBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:190,1
    - Dst: setAlignment
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:191,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:192,1
    - Dst: QApplication::style
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:197,1
    - Dst: setStyleSheet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:200,1
    - Dst: statusBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:203,1
    - Dst: statusBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:204,1
    - Dst: statusBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:205,1
    - Dst: BitcoinGUI::installEventFilter
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:208,1
    - Dst: BitcoinGUI::setWalletActionsEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:211,1
    - Dst: BitcoinGUI::subscribeToCoreSignals
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:214,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:216,1
    - Dst: BitcoinGUI::openOptionsDialogWithTab
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:217,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:220,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:221,1
    - Dst: CAppNapInhibitor::CAppNapInhibitor
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:224,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 81
    argCount: 4
    argNames:
    - ' node'
    - _platformStyle
    - networkStyle
    - parent
    argTypes:
    - interfaces::Node
    - PlatformStyle*
    - NetworkStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 228
    functionName: BitcoinGUI::BitcoinGUI
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - CAppNapInhibitor::CAppNapInhibitor
    - statusBar
    - getTrayAndWindowIcon
    - move
    - QApplication::style
    - BitcoinGUI::installEventFilter
    - QLabel::QLabel
    - setCentralWidget
    - WalletFrame::WalletFrame
    - GUIUtil::ClickableLabel::ClickableLabel
    - QMenu::QMenu
    - setContextMenuPolicy
    - QHBoxLayout*::addWidget
    - WalletModel::isWalletEnabled
    - setVisible
    - BitcoinGUI::openOptionsDialogWithTab
    - QFrame*::setSizePolicy
    - GUIUtil::ThemedLabel::ThemedLabel
    - BitcoinGUI::setWalletActionsEnabled
    - BitcoinGUI::subscribeToCoreSignals
    - GUIUtil::ProgressBar::ProgressBar
    - setStyleSheet
    - ModalOverlay::ModalOverlay
    - connect
    - GUIUtil::handleCloseWindowShortcut
    - QApplication::applicationName
    - restoreGeometry
    - UnitDisplayStatusBarControl::UnitDisplayStatusBarControl
    - BitcoinGUI::updateWalletStatus
    - HelpMessageDialog::HelpMessageDialog
    - BitcoinGUI::message
    - QHBoxLayout::QHBoxLayout
    - BitcoinGUI::updateWindowTitle
    - setAcceptDrops
    - QApplication::setWindowIcon
    - QFrame*::setContentsMargins
    - QGuiApplication::primaryScreen
    - RPCConsole::RPCConsole
    - BitcoinGUI::centralWidget
    - QFrame::QFrame
    - QSettings::value
    - setAlignment
    - frameGeometry
    - Notificator::Notificator
    - setWindowIcon
    - BitcoinGUI::createMenuBar
    - QHBoxLayout*::setSpacing
    - BitcoinGUI::createActions
    - BitcoinGUI::createToolBars
    - BitcoinGUI::createTrayIcon
    - QHBoxLayout*::addStretch
    - hide
    - QHBoxLayout*::setContentsMargins
    - QSystemTrayIcon::isSystemTrayAvailable
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::BitcoinGUI(interfaces::Node& node, const PlatformStyle
      *_platformStyle, const NetworkStyle *networkStyle, QWidget *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::unsubscribeFromCoreSignals
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:233,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:236,1
    - Dst: saveGeometry
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:236,1
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:238,1
    - Dst: MacDockIconHandler::cleanup
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: BitcoinGUI::~BitcoinGUI()
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - QSettings::setValue
    - BitcoinGUI::unsubscribeFromCoreSignals
    - saveGeometry
    - hide
    - MacDockIconHandler::cleanup
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::~BitcoinGUI()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QActionGroup::QActionGroup
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:249,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:250,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:252,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:252,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:252,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:253,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:253,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:254,1
    - Dst: statusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:254,1
    - Dst: setCheckable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:255,1
    - Dst: setShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:256,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:256,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:256,1
    - Dst: QActionGroup*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:257,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:259,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:259,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:259,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:260,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:260,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:261,1
    - Dst: statusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:261,1
    - Dst: setCheckable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:262,1
    - Dst: setShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:263,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:263,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:263,1
    - Dst: QActionGroup*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:264,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:266,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:266,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:266,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:267,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:267,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:268,1
    - Dst: statusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:268,1
    - Dst: setCheckable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:269,1
    - Dst: setShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:270,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:270,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:270,1
    - Dst: QActionGroup*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:271,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:273,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:273,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:273,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:274,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:274,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:275,1
    - Dst: statusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:275,1
    - Dst: setCheckable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:276,1
    - Dst: setShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:277,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:277,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:277,1
    - Dst: QActionGroup*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:278,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:283,1
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:283,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:284,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:285,1
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:285,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:286,1
    - Dst: BitcoinGUI::gotoSendCoinsPage
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:286,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:287,1
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:287,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:288,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:289,1
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:289,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:290,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:293,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:293,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:294,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:294,1
    - Dst: setShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:295,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:295,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:295,1
    - Dst: setMenuRole
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:296,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:297,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:297,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:298,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:298,1
    - Dst: setMenuRole
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:299,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:300,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:301,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:301,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:302,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:302,1
    - Dst: setMenuRole
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:303,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:304,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:304,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:305,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:305,1
    - Dst: setMenuRole
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:306,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:307,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:309,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:309,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:310,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:310,1
    - Dst: setCheckable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:311,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:312,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:312,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:313,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:313,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:314,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:314,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:315,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:315,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:316,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:316,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:317,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:317,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:318,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:318,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:319,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:319,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:320,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:320,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:321,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:321,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:322,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:322,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:323,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:323,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:325,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:325,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:326,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:326,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:328,1
    - Dst: setObjectName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:329,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:331,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:331,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:332,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:332,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:333,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:333,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:334,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:334,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:336,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:336,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:337,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:337,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:339,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:339,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:340,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:341,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:341,1
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:342,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:344,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:344,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:345,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:345,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:347,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:347,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:348,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:349,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:349,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:352,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:352,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:353,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:355,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:355,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:357,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:357,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:358,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:358,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:360,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:360,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:361,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:362,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:362,1
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:363,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:365,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:365,1
    - Dst: setMenuRole
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:366,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:367,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:367,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:369,1
    - Dst: QAction::QAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:369,1
    - Dst: setShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:370,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:370,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:371,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:371,1
    - Dst: setCheckable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:372,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:374,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:375,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:376,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:377,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:378,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:379,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:381,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:386,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:387,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:388,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:389,1
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:389,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:390,1
    - Dst: BitcoinGUI::gotoSignMessageTab
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:390,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:391,1
    - Dst: BitcoinGUI::gotoLoadPSBT
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:391,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:392,1
    - Dst: BitcoinGUI::gotoLoadPSBT
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:392,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:393,1
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:393,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:394,1
    - Dst: BitcoinGUI::gotoVerifyMessageTab
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:394,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:395,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:396,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:397,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:398,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:399,1
    - Dst: listWalletDir
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:400,1
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:402,1
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:405,1
    - Dst: QChar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:405,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:405,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:410,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:414,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:418,1
    - Dst: OpenWalletActivity::OpenWalletActivity
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:419,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:420,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:421,1
    - Dst: auto::open
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:422,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:425,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:426,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:426,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:427,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:430,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:432,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:435,1
    - Dst: GUIUtil::getOpenFileName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:437,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:437,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:437,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:438,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:443,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:445,1
    - Dst: QInputDialog::getText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:446,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:447,1
    - Dst: RestoreWalletActivity::RestoreWalletActivity
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:449,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:450,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:451,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:453,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:453,1
    - Dst: auto::restore
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:454,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:454,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:456,1
    - Dst: closeWallet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:457,1
    - Dst: currentWalletModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:457,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:459,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:460,1
    - Dst: closeAllWallets
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:461,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:463,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:464,1
    - Dst: listWalletDir
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:465,1
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:472,1
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:475,1
    - Dst: QChar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:475,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:475,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:476,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:478,1
    - Dst: MigrateWalletActivity::MigrateWalletActivity
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:479,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:480,1
    - Dst: auto::migrate
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:481,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:484,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:485,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:485,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:486,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:489,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:490,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:494,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:494,1
    - Dst: QShortcut::QShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:494,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:495,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:495,1
    - Dst: QShortcut::QShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:495,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 197
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 496
    functionName: BitcoinGUI::createActions
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - QString
    - GUIUtil::getOpenFileName
    - setEnabled
    - QInputDialog::getText
    - addAction
    - setCheckable
    - GUIUtil::WalletDisplayName
    - BitcoinGUI::gotoLoadPSBT
    - BitcoinGUI::gotoSendCoinsPage
    - isEmpty
    - auto::migrate
    - statusTip
    - QString::isEmpty
    - QMenu::QMenu
    - auto::restore
    - clear
    - QAction*::setEnabled
    - currentWalletModel
    - BitcoinGUI::gotoSignMessageTab
    - connect
    - OpenWalletActivity::OpenWalletActivity
    - QLatin1String
    - QActionGroup::QActionGroup
    - setStatusTip
    - QString::replace
    - tr
    - setShortcut
    - RestoreWalletActivity::RestoreWalletActivity
    - BitcoinGUI::showNormalIfMinimized
    - setToolTip
    - QKeySequence
    - QString::toStdString
    - closeAllWallets
    - BitcoinGUI::gotoVerifyMessageTab
    - setMenuRole
    - closeWallet
    - QActionGroup*::addAction
    - MigrateWalletActivity::MigrateWalletActivity
    - fs::PathFromString
    - QStringLiteral
    - QChar
    - QAction::QAction
    - setObjectName
    - listWalletDir
    - SingleColorIcon
    - auto::open
    - QShortcut::QShortcut
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::createActions()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: menuBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:500,1
    - Dst: addMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:503,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:503,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:506,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:507,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:508,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:509,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:510,1
    - Dst: QMenu*::addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:511,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:512,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:513,1
    - Dst: QMenu*::addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:514,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:515,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:516,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:517,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:518,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:519,1
    - Dst: QMenu*::addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:520,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:522,1
    - Dst: addMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:524,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:524,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:527,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:528,1
    - Dst: QMenu*::addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:529,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:530,1
    - Dst: QMenu*::addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:531,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:533,1
    - Dst: addMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:535,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:535,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:537,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:537,1
    - Dst: QAction*::setShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:538,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:538,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:538,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:539,1
    - Dst: QApplication::activeWindow
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:540,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:542,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:543,1
    - Dst: flags
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:543,1
    - Dst: windowState
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:543,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:547,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:547,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:548,1
    - Dst: focusWindow
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:549,1
    - Dst: QWindow*::windowState
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:550,1
    - Dst: QWindow*::showMaximized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:551,1
    - Dst: QWindow*::showNormal
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:553,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:557,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:558,1
    - Dst: QMenu*::addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:564,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:565,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:565,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:566,1
    - Dst: GUIUtil::bringToFront
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:567,1
    - Dst: QMenu*::addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:570,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:571,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:572,1
    - Dst: QMenu*::addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:575,1
    - Dst: tabs
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:576,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:577,1
    - Dst: tabTitle
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:577,1
    - Dst: QAction*::setShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:578,1
    - Dst: tabShortcut
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:578,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:579,1
    - Dst: setTabFocus
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:580,1
    - Dst: BitcoinGUI::showDebugWindow
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:581,1
    - Dst: addMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:585,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:585,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:586,1
    - Dst: QMenu*::addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:587,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:588,1
    - Dst: QMenu*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 590
    functionName: BitcoinGUI::createMenuBar
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - focusWindow
    - QWindow*::showNormal
    - tabShortcut
    - QMenu*::addSeparator
    - addMenu
    - tabs
    - menuBar
    - QAction*::setEnabled
    - tabTitle
    - GUIUtil::bringToFront
    - connect
    - QWindow*::windowState
    - QWindow*::showMaximized
    - BitcoinGUI::showDebugWindow
    - tr
    - windowState
    - QAction*::setShortcut
    - QKeySequence
    - QMenu*::addAction
    - flags
    - QApplication::activeWindow
    - setTabFocus
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::createMenuBar()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addToolBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:596,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:596,1
    - Dst: QToolBar*::setMovable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:598,1
    - Dst: QToolBar*::setToolButtonStyle
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:599,1
    - Dst: QToolBar*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:600,1
    - Dst: QToolBar*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:601,1
    - Dst: QToolBar*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:602,1
    - Dst: QToolBar*::addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:603,1
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:604,1
    - Dst: QWidget::QWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:607,1
    - Dst: QWidget*::setSizePolicy
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:608,1
    - Dst: QToolBar*::addWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:609,1
    - Dst: QComboBox::QComboBox
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:611,1
    - Dst: setSizeAdjustPolicy
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:612,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:613,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:613,1
    - Dst: QLabel::QLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:615,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:616,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:616,1
    - Dst: setBuddy
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:617,1
    - Dst: addWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:619,1
    - Dst: addWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:620,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:622,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 626
    functionName: BitcoinGUI::createToolBars
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - QWidget::QWidget
    - connect
    - QToolBar*::setToolButtonStyle
    - qOverload<int>
    - addWidget
    - setText
    - QComboBox::QComboBox
    - setSizeAdjustPolicy
    - setChecked
    - tr
    - setBuddy
    - setVisible
    - QToolBar*::addWidget
    - QWidget*::setSizePolicy
    - QToolBar*::setMovable
    - QLabel::QLabel
    - addToolBar
    - QToolBar*::addAction
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::createToolBars()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::createTrayIconMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:635,1
    - Dst: BitcoinGUI::setNetworkActive
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:638,1
    - Dst: getNetworkActive
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:638,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:639,1
    - Dst: GUIUtil::PopupMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:640,1
    - Dst: QCursor::pos
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:640,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:642,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:643,1
    - Dst: setKnownBestHeight
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:645,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:645,1
    - Dst: BitcoinGUI::setNumBlocks
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:646,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:646,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:647,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:650,1
    - Dst: BitcoinGUI::message
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:651,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:655,1
    - Dst: BitcoinGUI::setClientModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:657,1
    - Dst: BitcoinGUI::updateProxyIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:659,1
    - Dst: BitcoinGUI::setClientModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:664,1
    - Dst: setOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:667,1
    - Dst: ClientModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:667,1
    - Dst: ClientModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:669,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:672,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:675,1
    - Dst: OptionsModel*::getShowTrayIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:675,1
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:678,1
    - Dst: ClientModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:678,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:684,1
    - Dst: BitcoinGUI::setClientModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:687,1
    - Dst: BitcoinGUI::setClientModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:691,1
    - Dst: setOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:694,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 2
    argNames:
    - _clientModel
    - tip_info
    argTypes:
    - ClientModel*
    - interfaces::BlockAndHeaderTipInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 698
    functionName: BitcoinGUI::setClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - BitcoinGUI::setNetworkActive
    - connect
    - setOptionsModel
    - OptionsModel*::getShowTrayIcon
    - setVisible
    - setChecked
    - ClientModel*::getOptionsModel
    - BitcoinGUI::message
    - BitcoinGUI::setClientModel
    - QCursor::pos
    - clear
    - QDateTime::fromSecsSinceEpoch
    - BitcoinGUI::setNumBlocks
    - setKnownBestHeight
    - GUIUtil::PopupMenu
    - BitcoinGUI::updateProxyIcon
    - getNetworkActive
    - BitcoinGUI::createTrayIconMenu
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setClientModel(ClientModel *_clientModel, interfaces::BlockAndHeaderTipInfo*
      tip_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: currentWalletModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:703,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:704,1
    - Dst: isChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:705,1
    - Dst: BitcoinGUI::gotoOverviewPage
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - privacy
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 707
    functionName: BitcoinGUI::enableHistoryAction
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - setEnabled
    - BitcoinGUI::gotoOverviewPage
    - currentWalletModel
    - isChecked
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::enableHistoryAction(bool privacy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:711,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:712,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:716,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:717,1
    - Dst: setMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:718,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:719,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:720,1
    - Dst: setMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:721,1
    - Dst: ExceptionSafeConnect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:723,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:724,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:725,1
    - Dst: LoadWalletsActivity::LoadWalletsActivity
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:730,1
    - Dst: auto::load
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - wallet_controller
    - show_loading_minimized
    argTypes:
    - WalletController*
    - bool
    assertStmts:
    - condition: (!m_wallet_controller)
      pos:
        line_end: 710
        line_start: 710
        source_file: /src/bitcoin-core/src/qt/bitcoingui.cpp
    - condition: (wallet_controller)
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/bitcoin-core/src/qt/bitcoingui.cpp
    constantsTouched: []
    func_position:
      end: 732
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 732
    functionName: BitcoinGUI::setWalletController
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - connect
    - LoadWalletsActivity::LoadWalletsActivity
    - setMenu
    - setEnabled
    - ExceptionSafeConnect
    - auto::load
    - assert
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setWalletController(WalletController* wallet_controller,
      bool show_loading_minimized)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 737
    functionName: BitcoinGUI::getWalletController
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WalletController
    signature: WalletController * BitcoinGUI::getWalletController()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WalletView::WalletView
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:743,1
    - Dst: addView
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:744,1
    - Dst: BitcoinGUI::addWallet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:746,1
    - Dst: count
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:747,1
    - Dst: BitcoinGUI::setWalletActionsEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:748,1
    - Dst: count
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:749,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:750,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:751,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:754,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:755,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:756,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:757,1
    - Dst: BitcoinGUI::message
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:758,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:760,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:761,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:762,1
    - Dst: BitcoinGUI::isPrivacyModeActivated
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:763,1
    - Dst: WalletView*::setPrivacy
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:764,1
    - Dst: BitcoinGUI::enableHistoryAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:765,1
    - Dst: WalletModel*::getDisplayName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:766,1
    - Dst: addItem
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:767,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - walletModel
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 768
    functionName: BitcoinGUI::addWallet
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - BitcoinGUI::addWallet
    - connect
    - addView
    - WalletModel*::getDisplayName
    - QVariant::fromValue
    - WalletView::WalletView
    - setVisible
    - BitcoinGUI::isPrivacyModeActivated
    - BitcoinGUI::message
    - WalletView*::setPrivacy
    - addItem
    - BitcoinGUI::setWalletActionsEnabled
    - BitcoinGUI::enableHistoryAction
    - count
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::addWallet(WalletModel* walletModel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:774,1
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:775,1
    - Dst: findData
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:777,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:777,1
    - Dst: removeItem
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:778,1
    - Dst: count
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:779,1
    - Dst: BitcoinGUI::setWalletActionsEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:780,1
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:781,1
    - Dst: count
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:782,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:783,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:784,1
    - Dst: BitcoinGUI::removeWallet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:786,1
    - Dst: BitcoinGUI::removeWallet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:787,1
    - Dst: BitcoinGUI::updateWindowTitle
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - walletModel
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 789
    functionName: BitcoinGUI::removeWallet
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - removeItem
    - BitcoinGUI::removeWallet
    - QVariant::fromValue
    - findData
    - setVisible
    - setChecked
    - BitcoinGUI::setWalletActionsEnabled
    - hide
    - BitcoinGUI::updateWindowTitle
    - count
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::removeWallet(WalletModel* walletModel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::setCurrentWallet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:794,1
    - Dst: count
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:795,1
    - Dst: itemData
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:796,1
    - Dst: setCurrentIndex
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:797,1
    - Dst: BitcoinGUI::updateWindowTitle
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - wallet_model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 802
    functionName: BitcoinGUI::setCurrentWallet
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - setCurrentIndex
    - itemData
    - BitcoinGUI::setCurrentWallet
    - BitcoinGUI::updateWindowTitle
    - count
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setCurrentWallet(WalletModel* wallet_model)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: itemData
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:806,1
    - Dst: BitcoinGUI::setCurrentWallet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: BitcoinGUI::setCurrentWalletBySelectorIndex
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - BitcoinGUI::setCurrentWallet
    - itemData
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setCurrentWalletBySelectorIndex(int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::setWalletActionsEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:814,1
    - Dst: BitcoinGUI::removeAllWallets
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 816
    functionName: BitcoinGUI::removeAllWallets
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - BitcoinGUI::setWalletActionsEnabled
    - BitcoinGUI::removeAllWallets
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::removeAllWallets()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:821,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:822,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:823,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:824,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:825,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:826,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:827,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:828,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:829,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:830,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:831,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:832,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:833,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 835
    functionName: BitcoinGUI::setWalletActionsEnabled
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 4
    functionsReached:
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setWalletActionsEnabled(bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:839,1
    - Dst: QSystemTrayIcon::isSystemTrayAvailable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:839,1
    - Dst: QSystemTrayIcon::isSystemTrayAvailable
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:842,1
    - Dst: getTrayAndWindowIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:843,1
    - Dst: QSystemTrayIcon::QSystemTrayIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:843,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:844,1
    - Dst: getTitleAddText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:844,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (QSystemTrayIcon::isSystemTrayAvailable())
      pos:
        line_end: 838
        line_start: 838
        source_file: /src/bitcoin-core/src/qt/bitcoingui.cpp
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: BitcoinGUI::createTrayIcon
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - getTrayAndWindowIcon
    - QSystemTrayIcon::QSystemTrayIcon
    - getTitleAddText
    - tr
    - setToolTip
    - assert
    - QSystemTrayIcon::isSystemTrayAvailable
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::createTrayIcon()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:860,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:860,1
    - Dst: addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:861,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:869,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:869,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:870,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:870,1
    - Dst: addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:871,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:872,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:872,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:873,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:873,1
    - Dst: addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:874,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:876,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:876,1
    - Dst: QAction*::setMenuRole
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:877,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:878,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:878,1
    - Dst: addSeparator
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:882,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:883,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:883,1
    - Dst: setContextMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:885,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:885,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:886,1
    - Dst: BitcoinGUI::toggleHidden
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:889,1
    - Dst: MacDockIconHandler::instance
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:894,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:895,1
    - Dst: shutdownRequested
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:896,1
    - Dst: show
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:897,1
    - Dst: activateWindow
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:898,1
    - Dst: setAsDockMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:900,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:903,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:906,1
    - Dst: shutdownRequested
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:908,1
    - Dst: QAction*::setText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:910,1
    - Dst: isHidden
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:911,1
    - Dst: isMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:911,1
    - Dst: GUIUtil::isObscured
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:911,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:912,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:913,1
    - Dst: QApplication::activeModalWidget
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:914,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:915,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:916,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:919,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:921,1
    - Dst: isEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:921,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:922,1
    - Dst: isEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:922,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:923,1
    - Dst: isEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:923,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:924,1
    - Dst: isEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:924,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:926,1
    - Dst: isEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:926,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:927,1
    - Dst: isEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:927,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:928,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 931
    functionName: BitcoinGUI::createTrayIconMenu
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - QString
    - setEnabled
    - QAction*::setText
    - isMinimized
    - addAction
    - QApplication::activeModalWidget
    - isEnabled
    - GUIUtil::isObscured
    - text
    - shutdownRequested
    - QAction*::setMenuRole
    - QAction*::setEnabled
    - get
    - MacDockIconHandler::instance
    - isHidden
    - show
    - connect
    - setAsDockMenu
    - setContextMenu
    - activateWindow
    - tr
    - addSeparator
    - BitcoinGUI::toggleHidden
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::createTrayIconMenu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::openOptionsDialogWithTab
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: BitcoinGUI::optionsClicked
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - BitcoinGUI::openOptionsDialogWithTab
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::optionsClicked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpMessageDialog::HelpMessageDialog
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:943,1
    - Dst: GUIUtil::ShowModalDialogAsynchronously
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 938
    functionDepth: 4
    functionLinenumber: 938
    functionLinenumberEnd: 945
    functionName: BitcoinGUI::aboutClicked
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - HelpMessageDialog::HelpMessageDialog
    - GUIUtil::ShowModalDialogAsynchronously
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::aboutClicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::bringToFront
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 951
    functionName: BitcoinGUI::showDebugWindow
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - GUIUtil::bringToFront
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::showDebugWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setTabFocus
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:955,1
    - Dst: BitcoinGUI::showDebugWindow
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 957
    functionName: BitcoinGUI::showDebugWindowActivateConsole
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - BitcoinGUI::showDebugWindow
    - setTabFocus
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::showDebugWindowActivateConsole()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::bringToFront
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: BitcoinGUI::showHelpMessageClicked
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::bringToFront
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::showHelpMessageClicked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenURIDialog::exec
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:968,1
    - Dst: OpenURIDialog::getURI
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 972
    functionName: BitcoinGUI::openClicked
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - OpenURIDialog::getURI
    - OpenURIDialog::exec
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::openClicked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:976,1
    - Dst: BitcoinGUI::gotoOverviewPage
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: BitcoinGUI::gotoOverviewPage
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 2
    functionsReached:
    - BitcoinGUI::gotoOverviewPage
    - setChecked
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::gotoOverviewPage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:982,1
    - Dst: BitcoinGUI::gotoHistoryPage
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 984
    functionName: BitcoinGUI::gotoHistoryPage
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - BitcoinGUI::gotoHistoryPage
    - setChecked
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::gotoHistoryPage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:988,1
    - Dst: BitcoinGUI::gotoReceiveCoinsPage
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 990
    functionName: BitcoinGUI::gotoReceiveCoinsPage
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - BitcoinGUI::gotoReceiveCoinsPage
    - setChecked
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::gotoReceiveCoinsPage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:994,1
    - Dst: BitcoinGUI::gotoSendCoinsPage
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 996
    functionName: BitcoinGUI::gotoSendCoinsPage
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 2
    functionsReached:
    - BitcoinGUI::gotoSendCoinsPage
    - setChecked
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::gotoSendCoinsPage(QString addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::gotoSignMessageTab
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1001
    functionName: BitcoinGUI::gotoSignMessageTab
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 2
    functionsReached:
    - BitcoinGUI::gotoSignMessageTab
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::gotoSignMessageTab(QString addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::gotoVerifyMessageTab
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    functionName: BitcoinGUI::gotoVerifyMessageTab
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 2
    functionsReached:
    - BitcoinGUI::gotoVerifyMessageTab
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::gotoVerifyMessageTab(QString addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::gotoLoadPSBT
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - from_clipboard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1010
    functionName: BitcoinGUI::gotoLoadPSBT
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 2
    functionsReached:
    - BitcoinGUI::gotoLoadPSBT
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::gotoLoadPSBT(bool from_clipboard)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getNumConnections
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1016,1
    - Dst: getNetworkActive
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1029,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1031,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1034,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1039,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1039,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1041,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1041,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1042,1
    - Dst: setThemedPixmap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1044,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1045
    functionName: BitcoinGUI::updateNetworkState
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - setThemedPixmap
    - QLatin1String
    - tr
    - setToolTip
    - getNumConnections
    - getNetworkActive
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::updateNetworkState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::updateNetworkState
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1050
    functionName: BitcoinGUI::setNumConnections
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - BitcoinGUI::updateNetworkState
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setNumConnections(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::updateNetworkState
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1054,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1055,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1056,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1058,1
    - Dst: setTabFocus
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1060,1
    - Dst: BitcoinGUI::showDebugWindow
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1061,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1063,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1066,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1068,1
    - Dst: BitcoinGUI::setNetworkActive
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - network_active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1070
    functionName: BitcoinGUI::setNetworkActive
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 2
    functionsReached:
    - BitcoinGUI::setNetworkActive
    - BitcoinGUI::showDebugWindow
    - tr
    - clear
    - addAction
    - BitcoinGUI::updateNetworkState
    - setTabFocus
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setNetworkActive(bool network_active)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderTipTime
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1074,1
    - Dst: getHeaderTipHeight
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1075,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1076,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1076,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1078,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1078,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1079
    functionName: BitcoinGUI::updateHeadersSyncProgressLabel
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - getHeaderTipTime
    - GetTime
    - print_number
    - getHeaderTipHeight
    - setText
    - tr
    - Params
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::updateHeadersSyncProgressLabel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secsTo
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1083,1
    - Dst: QDateTime::currentDateTime
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1083,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1083,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1085,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1085,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - height
    - ' blockDate'
    argTypes:
    - int64_t
    - QDateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1086
    functionName: BitcoinGUI::updateHeadersPresyncProgressLabel
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - secsTo
    - print_number
    - setText
    - tr
    - Params
    - QDateTime::currentDateTime
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::updateHeadersPresyncProgressLabel(int64_t height,
      const QDateTime& blockDate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1090,1
    - Dst: OptionsDialog::OptionsDialog
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1093,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1094,1
    - Dst: auto::setCurrentTab
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1095,1
    - Dst: auto::setClientModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1096,1
    - Dst: auto::setModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1097,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1097,1
    - Dst: GUIUtil::ShowModalDialogAsynchronously
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tab
    argTypes:
    - OptionsDialog::Tab
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1088
    functionDepth: 4
    functionLinenumber: 1088
    functionLinenumberEnd: 1099
    functionName: BitcoinGUI::openOptionsDialogWithTab
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 2
    functionsReached:
    - connect
    - GUIUtil::ShowModalDialogAsynchronously
    - OptionsDialog::OptionsDialog
    - auto::setCurrentTab
    - auto::setClientModel
    - getOptionsModel
    - auto::setModel
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::openOptionsDialogWithTab(OptionsDialog::Tab tab)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: enableAppNap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1106,1
    - Dst: disableAppNap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1108,1
    - Dst: setKnownBestHeight
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1115,1
    - Dst: tipUpdate
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1117,1
    - Dst: statusBar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1123,1
    - Dst: getBlockSource
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1126,1
    - Dst: BitcoinGUI::updateHeadersPresyncProgressLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1130,1
    - Dst: BitcoinGUI::updateHeadersSyncProgressLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1133,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1136,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1136,1
    - Dst: BitcoinGUI::updateHeadersSyncProgressLabel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1137,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1141,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1141,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1143,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1143,1
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1150,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1150,1
    - Dst: QDateTime::currentDateTime
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1156,1
    - Dst: secsTo
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1157,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1159,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1163,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1163,1
    - Dst: setThemedPixmap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1164,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1164,1
    - Dst: showOutOfSyncWarning
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1169,1
    - Dst: showHide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1170,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1174,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1175,1
    - Dst: GUIUtil::formatNiceTimeOffset
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1179,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1181,1
    - Dst: setFormat
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1182,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1182,1
    - Dst: setMaximum
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1183,1
    - Dst: setValue
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1184,1
    - Dst: setVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1185,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1187,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1187,1
    - Dst: setThemedPixmap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1190,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1191,1
    - Dst: QChar
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1191,1
    - Dst: showOutOfSyncWarning
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1200,1
    - Dst: showHide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1201,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1205,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1206,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1207,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1208,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1212,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1212,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1214,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1215,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1216,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 5
    argNames:
    - count
    - ' blockDate'
    - nVerificationProgress
    - synctype
    - sync_state
    argTypes:
    - int
    - QDateTime
    - double
    - SyncType
    - SynchronizationState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1101
    functionDepth: 2
    functionLinenumber: 1101
    functionLinenumberEnd: 1217
    functionName: BitcoinGUI::setNumBlocks
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - QString
    - secsTo
    - statusBar
    - setText
    - setMaximum
    - setThemedPixmap
    - getBlockSource
    - showHide
    - tipUpdate
    - setVisible
    - setFormat
    - QDateTime::currentDateTime
    - setKnownBestHeight
    - BitcoinGUI::updateHeadersPresyncProgressLabel
    - enableAppNap
    - tr
    - showOutOfSyncWarning
    - setToolTip
    - BitcoinGUI::updateHeadersSyncProgressLabel
    - GUIUtil::formatNiceTimeOffset
    - QStringLiteral
    - QChar
    - setValue
    - disableAppNap
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate,
      double nVerificationProgress, SyncType synctype, SynchronizationState sync_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::getWalletController
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1222,1
    - Dst: CreateWalletActivity::CreateWalletActivity
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1222,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1223,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1224,1
    - Dst: auto::create
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1227
    functionName: BitcoinGUI::createWallet
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - BitcoinGUI::getWalletController
    - connect
    - CreateWalletActivity::CreateWalletActivity
    - auto::create
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::createWallet()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1238,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1243,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1244,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1247,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1248,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1251,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1259,1
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1277,1
    - Dst: QMessageBox::setTextFormat
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1279,1
    - Dst: QMessageBox::setDetailedText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1280,1
    - Dst: QMessageBox::exec
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1281,1
    - Dst: notify
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1285,1
    - Dst: static_cast<Notificator::Class>
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1285,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 5
    argNames:
    - ' title'
    - message
    - style
    - ret
    - ' detailed_message'
    argTypes:
    - QString
    - QString
    - unsigned int
    - bool*
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1287
    functionName: BitcoinGUI::message
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 3
    functionsReached:
    - QMessageBox::setDetailedText
    - isEmpty
    - notify
    - QString::isEmpty
    - tr
    - QMessageBox::setTextFormat
    - BitcoinGUI::showNormalIfMinimized
    - QMessageBox::exec
    - static_cast<Notificator::Class>
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::message(const QString& title, QString message, unsigned
      int style, bool* ret, const QString& detailed_message)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1291,1
    - Dst: setIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1292,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1292,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1292,1
    - Dst: setIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1293,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1293,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1293,1
    - Dst: setIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1294,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1294,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1294,1
    - Dst: setIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1295,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1295,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1295,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1298,1
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1301,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1303,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1303,1
    - Dst: static_cast<QWindowStateChangeEvent*>
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1305,1
    - Dst: QWindowStateChangeEvent*::oldState
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1306,1
    - Dst: isMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1306,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1308,1
    - Dst: QEvent*::ignore
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1309,1
    - Dst: QWindowStateChangeEvent*::oldState
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1311,1
    - Dst: isMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1311,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1313,1
    - Dst: QEvent*::ignore
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1319
    functionName: BitcoinGUI::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - setIcon
    - QStringLiteral
    - SignVerifyMessageDialog::changeEvent
    - static_cast<QWindowStateChangeEvent*>
    - QEvent*::ignore
    - QTimer::singleShot
    - QWindowStateChangeEvent*::oldState
    - isMinimized
    - QEvent*::type
    - getOptionsModel
    - SingleColorIcon
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::changeEvent(QEvent *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1324,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1326,1
    - Dst: close
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1329,1
    - Dst: QMainWindow::showMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1335,1
    - Dst: QCloseEvent*::ignore
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1336,1
    - Dst: SplashScreen::closeEvent
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - QCloseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1342
    functionName: BitcoinGUI::closeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - QCloseEvent*::ignore
    - close
    - QMainWindow::showMinimized
    - getOptionsModel
    - SplashScreen::closeEvent
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::closeEvent(QCloseEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1347,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1348,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - QShowEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1350
    functionName: BitcoinGUI::showEvent
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::showEvent(QShowEvent *event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1356,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1357,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1357,1
    - Dst: walletLoader
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1358,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1358,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1359,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1361,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1362,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1363,1
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1364,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1365,1
    - Dst: BitcoinGUI::message
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1366,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1366,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - ' date'
    - unit
    - ' amount'
    - ' type'
    - ' address'
    - ' label'
    - ' walletName'
    argTypes:
    - QString
    - BitcoinUnit
    - CAmount
    - QString
    - QString
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1368
    functionName: BitcoinGUI::incomingTransaction
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - walletLoader
    - isEmpty
    - tr
    - BitcoinGUI::message
    - BitcoinUnits::formatWithUnit
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::incomingTransaction(const QString& date, BitcoinUnit
      unit, const CAmount& amount, const QString& type, const QString& address, const
      QString& label, const QString& walletName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QDragEnterEvent*::mimeData
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1374,1
    - Dst: QDragEnterEvent*::acceptProposedAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QDragEnterEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1376
    functionName: BitcoinGUI::dragEnterEvent
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - QDragEnterEvent*::acceptProposedAction
    - QDragEnterEvent*::mimeData
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::dragEnterEvent(QDragEnterEvent *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QDropEvent*::mimeData
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1380,1
    - Dst: QDropEvent*::mimeData
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1382,1
    - Dst: toString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1384,1
    - Dst: QDropEvent*::acceptProposedAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QDropEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1388
    functionName: BitcoinGUI::dropEvent
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - QDropEvent*::acceptProposedAction
    - toString
    - QDropEvent*::mimeData
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::dropEvent(QDropEvent *event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1393,1
    - Dst: isVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1396,1
    - Dst: isVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1396,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1390
    functionDepth: 2
    functionLinenumber: 1390
    functionLinenumberEnd: 1400
    functionName: BitcoinGUI::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - AskPassphraseDialog::eventFilter
    - QEvent*::type
    - isVisible
    linkageType: ''
    returnType: bool
    signature: bool BitcoinGUI::eventFilter(QObject *object, QEvent *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::handlePaymentRequest
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1406,1
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1408,1
    - Dst: BitcoinGUI::gotoSendCoinsPage
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' recipient'
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1413
    functionName: BitcoinGUI::handlePaymentRequest
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - BitcoinGUI::handlePaymentRequest
    - BitcoinGUI::gotoSendCoinsPage
    - BitcoinGUI::showNormalIfMinimized
    linkageType: ''
    returnType: bool
    signature: bool BitcoinGUI::handlePaymentRequest(const SendCoinsRecipient& recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setThemedPixmap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1417,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1417,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1417,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1417,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1418,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1418,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1418,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1418,1
    - Dst: show
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - privkeyDisabled
    - hdEnabled
    argTypes:
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1420
    functionName: BitcoinGUI::setHDStatus
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - setThemedPixmap
    - QStringLiteral
    - tr
    - setToolTip
    - show
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setHDStatus(bool privkeyDisabled, int hdEnabled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1427,1
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1428,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1429,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1430,1
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1433,1
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1434,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1435,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1436,1
    - Dst: show
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1439,1
    - Dst: setThemedPixmap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1440,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1440,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1441,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1441,1
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1442,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1443,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1444,1
    - Dst: show
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1447,1
    - Dst: setThemedPixmap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1448,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1448,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1449,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1449,1
    - Dst: setChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1450,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1451,1
    - Dst: setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1455
    functionName: BitcoinGUI::setEncryptionStatus
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - setThemedPixmap
    - QStringLiteral
    - setEnabled
    - setChecked
    - tr
    - hide
    - setToolTip
    - show
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::setEncryptionStatus(int status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1459,1
    - Dst: currentWalletView
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1461,1
    - Dst: WalletView*::getWalletModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1465,1
    - Dst: BitcoinGUI::setEncryptionStatus
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1466,1
    - Dst: WalletModel*::getEncryptionStatus
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1466,1
    - Dst: BitcoinGUI::setHDStatus
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1467,1
    - Dst: WalletModel*::wallet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1467,1
    - Dst: WalletModel*::wallet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (walletFrame)
      pos:
        line_end: 1458
        line_start: 1458
        source_file: /src/bitcoin-core/src/qt/bitcoingui.cpp
    constantsTouched: []
    func_position:
      end: 1468
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1468
    functionName: BitcoinGUI::updateWalletStatus
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - WalletModel*::getEncryptionStatus
    - currentWalletView
    - WalletView*::getWalletModel
    - BitcoinGUI::setHDStatus
    - BitcoinGUI::setEncryptionStatus
    - assert
    - WalletModel*::wallet
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::updateWalletStatus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getProxyInfo
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1474,1
    - Dst: GUIUtil::HasPixmap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1477,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1478,1
    - Dst: setThemedPixmap
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1479,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1480,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1480,1
    - Dst: show
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1482,1
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1487
    functionName: BitcoinGUI::updateProxyIcon
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - GUIUtil::HasPixmap
    - setThemedPixmap
    - getProxyInfo
    - tr
    - QString::fromStdString
    - setToolTip
    - hide
    - show
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::updateProxyIcon()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: currentWalletModel
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1494,1
    - Dst: WalletModel*::getWalletName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1495,1
    - Dst: WalletModel*::getDisplayName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1496,1
    - Dst: getTitleAddText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1500,1
    - Dst: getTitleAddText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1501,1
    - Dst: setWindowTitle
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1504
    functionName: BitcoinGUI::updateWindowTitle
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 3
    functionsReached:
    - WalletModel*::getDisplayName
    - getTitleAddText
    - setWindowTitle
    - currentWalletModel
    - WalletModel*::getWalletName
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::updateWindowTitle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isHidden
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1511,1
    - Dst: isMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1511,1
    - Dst: GUIUtil::isObscured
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1511,1
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1512,1
    - Dst: GUIUtil::bringToFront
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - fToggleHidden
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1516
    functionName: BitcoinGUI::showNormalIfMinimized
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 4
    functionsReached:
    - isMinimized
    - hide
    - GUIUtil::bringToFront
    - isHidden
    - GUIUtil::isObscured
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinGUI::showNormalIfMinimized
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1521
    functionName: BitcoinGUI::toggleHidden
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - BitcoinGUI::showNormalIfMinimized
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::toggleHidden()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shutdownRequested
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1525,1
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1531
    functionName: BitcoinGUI::detectShutdown
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - shutdownRequested
    - hide
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::detectShutdown()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1536,1
    - Dst: QProgressDialog::QProgressDialog
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1536,1
    - Dst: GUIUtil::PolishProgressDialog
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1537,1
    - Dst: setWindowModality
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1538,1
    - Dst: setAutoClose
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1539,1
    - Dst: setValue
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1540,1
    - Dst: close
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1543,1
    - Dst: deleteLater
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1544,1
    - Dst: setValue
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - title
    - nProgress
    argTypes:
    - QString
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1550
    functionName: BitcoinGUI::showProgress
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - QString
    - deleteLater
    - QProgressDialog::QProgressDialog
    - setAutoClose
    - setWindowModality
    - GUIUtil::PolishProgressDialog
    - close
    - setValue
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::showProgress(const QString &title, int nProgress)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1554,1
    - Dst: isLayerVisible
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1554,1
    - Dst: toggleVisibility
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: BitcoinGUI::showModalOverlay
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - toggleVisibility
    - isLayerVisible
    - isVisible
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::showModalOverlay()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1568,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1568,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1572,1
    - Dst: GUIUtil::blockingGUIThreadConnection
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1573,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1574,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1574,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1575,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1575,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1576,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1577,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1578,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - gui
    - ' message'
    - ' caption'
    - style
    argTypes:
    - BitcoinGUI*
    - bilingual_str
    - std::string
    - unsigned int
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 1578
        line_start: 1578
        source_file: /src/bitcoin-core/src/qt/bitcoingui.cpp
    constantsTouched: []
    func_position:
      end: 1581
      start: 1558
    functionDepth: 2
    functionLinenumber: 1558
    functionLinenumberEnd: 1581
    functionName: ThreadSafeMessageBox
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 5
    functionsReached:
    - SighashToStr
    - Q_ARG
    - QString::fromStdString
    - QMetaObject::invokeMethod
    - assert
    - GUIUtil::blockingGUIThreadConnection
    linkageType: ''
    returnType: bool
    signature: bool ThreadSafeMessageBox(BitcoinGUI* gui, const bilingual_str& message,
      const std::string& caption, unsigned int style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleMessageBox
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1586,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1586,1
    - Dst: handleQuestion
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1587,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1588
    functionName: BitcoinGUI::subscribeToCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - handleMessageBox
    - std::bind
    - handleQuestion
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::subscribeToCoreSignals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1593,1
    - Dst: disconnect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1595
    functionName: BitcoinGUI::unsubscribeFromCoreSignals
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void BitcoinGUI::unsubscribeFromCoreSignals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1599,1
    - Dst: isChecked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_mask_values_action)
      pos:
        line_end: 1598
        line_start: 1598
        source_file: /src/bitcoin-core/src/qt/bitcoingui.cpp
    constantsTouched: []
    func_position:
      end: 1601
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1601
    functionName: BitcoinGUI::isPrivacyModeActivated
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - assert
    - isChecked
    linkageType: ''
    returnType: bool
    signature: bool BitcoinGUI::isPrivacyModeActivated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitDisplayStatusBarControl::createContextMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1606,1
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1607,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1607,1
    - Dst: BitcoinUnits::availableUnits
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1608,1
    - Dst: qMax
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1612,1
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1612,1
    - Dst: BitcoinUnits::longName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1612,1
    - Dst: setMinimumSize
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1614,1
    - Dst: setAlignment
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1615,1
    - Dst: setStyleSheet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1616,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1616,1
    - Dst: SingleColor
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - platformStyle
    argTypes:
    - PlatformStyle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1617
    functionName: UnitDisplayStatusBarControl::UnitDisplayStatusBarControl
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - UnitDisplayStatusBarControl::createContextMenu
    - qMax
    - QString
    - GUIUtil::TextWidth
    - SingleColor
    - setMinimumSize
    - setAlignment
    - tr
    - BitcoinUnits::availableUnits
    - setToolTip
    - setStyleSheet
    - BitcoinUnits::longName
    linkageType: ''
    returnType: void
    signature: void UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const
      PlatformStyle* platformStyle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitDisplayStatusBarControl::onDisplayUnitsClicked
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1622,1
    - Dst: QMouseEvent*::pos
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1623
    functionName: UnitDisplayStatusBarControl::mousePressEvent
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - QMouseEvent*::pos
    - UnitDisplayStatusBarControl::onDisplayUnitsClicked
    linkageType: ''
    returnType: void
    signature: void UnitDisplayStatusBarControl::mousePressEvent(QMouseEvent *event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1627,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1628,1
    - Dst: SingleColor
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1628,1
    - Dst: styleSheet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1629,1
    - Dst: setStyleSheet
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1630,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1625
    functionDepth: 2
    functionLinenumber: 1625
    functionLinenumberEnd: 1635
    functionName: UnitDisplayStatusBarControl::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - QString
    - SingleColor
    - styleSheet
    - SignVerifyMessageDialog::changeEvent
    - QEvent*::type
    - setStyleSheet
    linkageType: ''
    returnType: void
    signature: void UnitDisplayStatusBarControl::changeEvent(QEvent* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMenu::QMenu
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1640,1
    - Dst: BitcoinUnits::availableUnits
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1641,1
    - Dst: addAction
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1642,1
    - Dst: BitcoinUnits::longName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1642,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1642,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1645
    functionName: UnitDisplayStatusBarControl::createContextMenu
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - connect
    - QMenu::QMenu
    - QVariant::fromValue
    - BitcoinUnits::availableUnits
    - addAction
    - BitcoinUnits::longName
    linkageType: ''
    returnType: void
    signature: void UnitDisplayStatusBarControl::createContextMenu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1655,1
    - Dst: UnitDisplayStatusBarControl::updateDisplayUnit
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1658,1
    - Dst: OptionsModel*::getDisplayUnit
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - _optionsModel
    argTypes:
    - OptionsModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1660
    functionName: UnitDisplayStatusBarControl::setOptionsModel
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - OptionsModel*::getDisplayUnit
    - connect
    - UnitDisplayStatusBarControl::updateDisplayUnit
    linkageType: ''
    returnType: void
    signature: void UnitDisplayStatusBarControl::setOptionsModel(OptionsModel *_optionsModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1665,1
    - Dst: BitcoinUnits::longName
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newUnits
    argTypes:
    - BitcoinUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1666
    functionName: UnitDisplayStatusBarControl::updateDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - setText
    - BitcoinUnits::longName
    linkageType: ''
    returnType: void
    signature: void UnitDisplayStatusBarControl::updateDisplayUnit(BitcoinUnit newUnits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapToGlobal
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1671,1
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1673
    functionName: UnitDisplayStatusBarControl::onDisplayUnitsClicked
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 1
    functionsReached:
    - mapToGlobal
    - exec
    linkageType: ''
    returnType: void
    signature: void UnitDisplayStatusBarControl::onDisplayUnitsClicked(const QPoint&
      point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setDisplayUnit
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1680,1
    - Dst: QAction*::data
      Src: /src/bitcoin-core/src/qt/bitcoingui.cpp:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - action
    argTypes:
    - QAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1676
    functionDepth: 2
    functionLinenumber: 1676
    functionLinenumberEnd: 1682
    functionName: UnitDisplayStatusBarControl::onMenuSelection
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoingui.cpp
    functionUses: 0
    functionsReached:
    - setDisplayUnit
    - QAction*::data
    linkageType: ''
    returnType: void
    signature: void UnitDisplayStatusBarControl::onMenuSelection(QAction* action)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/qvaluecombobox.cpp:10,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/qvaluecombobox.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: QValueComboBox::QValueComboBox
    functionSourceFile: /src/bitcoin-core/src/qt/qvaluecombobox.cpp
    functionUses: 0
    functionsReached:
    - connect
    - qOverload<int>
    linkageType: ''
    returnType: void
    signature: void QValueComboBox::QValueComboBox(QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: itemData
      Src: /src/bitcoin-core/src/qt/qvaluecombobox.cpp:15,1
    - Dst: currentIndex
      Src: /src/bitcoin-core/src/qt/qvaluecombobox.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: QValueComboBox::value
    functionSourceFile: /src/bitcoin-core/src/qt/qvaluecombobox.cpp
    functionUses: 0
    functionsReached:
    - currentIndex
    - itemData
    linkageType: ''
    returnType: QVariant
    signature: QVariant QValueComboBox::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentIndex
      Src: /src/bitcoin-core/src/qt/qvaluecombobox.cpp:20,1
    - Dst: findData
      Src: /src/bitcoin-core/src/qt/qvaluecombobox.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: QValueComboBox::setValue
    functionSourceFile: /src/bitcoin-core/src/qt/qvaluecombobox.cpp
    functionUses: 0
    functionsReached:
    - findData
    - setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void QValueComboBox::setValue(const QVariant &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _role
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: QValueComboBox::setRole
    functionSourceFile: /src/bitcoin-core/src/qt/qvaluecombobox.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QValueComboBox::setRole(int _role)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: QValueComboBox::handleSelectionChanged
    functionSourceFile: /src/bitcoin-core/src/qt/qvaluecombobox.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QValueComboBox::handleSelectionChanged(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: namespace
    functionSourceFile: /src/bitcoin-core/src/qt/utilitydialog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize_system
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:92,1
    - Dst: QDateTime::date
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:92,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:92,1
    - Dst: QDateTime::toString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - QDateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: GUIUtil::dateTimeStr
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - QDateTime::toString
    - QString
    - initialize_system
    - QDateTime::date
    linkageType: ''
    returnType: QString
    signature: QString dateTimeStr(const QDateTime &date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::dateTimeStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:97,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nTime
    argTypes:
    - qint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: GUIUtil::dateTimeStr
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - QDateTime::fromSecsSinceEpoch
    - GUIUtil::dateTimeStr
    linkageType: ''
    returnType: QString
    signature: QString dateTimeStr(qint64 nTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QFontDatabase::systemFont
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - use_embedded_font
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: GUIUtil::fixedPitchFont
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 5
    functionsReached:
    - QFontDatabase::systemFont
    linkageType: ''
    returnType: QFont
    signature: QFont fixedPitchFont(bool use_embedded_font)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CChainParams::GetChainType
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:112,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:125,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:125,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:127,1
    - Dst: IsValidDestinationString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - params
    argTypes:
    - CChainParams
    assertStmts:
    - condition: (!addr.empty())
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: GUIUtil::DummyAddress
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - std::string::empty
    - CChainParams::GetChainType
    - IsValidDestinationString
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string DummyAddress(const CChainParams &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWidget*::setFocusProxy
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:133,1
    - Dst: QValidatedLineEdit*::setFont
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:135,1
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:135,1
    - Dst: QValidatedLineEdit*::setPlaceholderText
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:138,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:138,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:139,1
    - Dst: GUIUtil::DummyAddress
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:139,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:139,1
    - Dst: QValidatedLineEdit*::setValidator
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:140,1
    - Dst: BitcoinAddressEntryValidator::BitcoinAddressEntryValidator
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:140,1
    - Dst: QValidatedLineEdit*::setCheckValidator
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:141,1
    - Dst: BitcoinAddressCheckValidator::BitcoinAddressCheckValidator
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - widget
    - parent
    argTypes:
    - QValidatedLineEdit*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 7
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: GUIUtil::setupAddressWidget
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - GUIUtil::DummyAddress
    - SighashToStr
    - GUIUtil::fixedPitchFont
    - QValidatedLineEdit*::setCheckValidator
    - QValidatedLineEdit*::setFont
    - QString::fromStdString
    - Params
    - QValidatedLineEdit*::setValidator
    - BitcoinAddressEntryValidator::BitcoinAddressEntryValidator
    - BitcoinAddressCheckValidator::BitcoinAddressCheckValidator
    - QValidatedLineEdit*::setPlaceholderText
    - QWidget*::setFocusProxy
    linkageType: ''
    returnType: void
    signature: void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:146,1
    - Dst: QShortcut::QShortcut
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:146,1
    - Dst: QAbstractButton*::animateClick
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - button
    - ' shortcut'
    argTypes:
    - QAbstractButton*
    - QKeySequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: GUIUtil::AddButtonShortcut
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - QAbstractButton*::animateClick
    - QShortcut::QShortcut
    linkageType: ''
    returnType: void
    signature: void AddButtonShortcut(QAbstractButton* button, const QKeySequence&
      shortcut)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::isValid
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:152,1
    - Dst: QUrl::scheme
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:152,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:152,1
    - Dst: SendCoinsRecipient::SendCoinsRecipient
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:155,1
    - Dst: QUrl::path
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:156,1
    - Dst: SendCoinsRecipient::address::endsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:158,1
    - Dst: SendCoinsRecipient::address::truncate
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:159,1
    - Dst: SendCoinsRecipient::address::length
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:159,1
    - Dst: QUrlQuery::queryItems
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:164,1
    - Dst: QList::begin
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:165,1
    - Dst: QList::end
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:165,1
    - Dst: QList<QPair<QString, QString> >::iterator::first::startsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:168,1
    - Dst: QList<QPair<QString, QString> >::iterator::first::remove
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:170,1
    - Dst: QList<QPair<QString, QString> >::iterator::second::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:186,1
    - Dst: BitcoinUnits::parse
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:188,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - uri
    - out
    argTypes:
    - QUrl
    - SendCoinsRecipient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 203
    functionName: GUIUtil::parseBitcoinURI
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QString
    - BitcoinUnits::parse
    - QList::begin
    - SendCoinsRecipient::SendCoinsRecipient
    - QList<QPair<QString, QString> >::iterator::first::remove
    - QUrlQuery::queryItems
    - QUrl::isValid
    - SendCoinsRecipient::address::truncate
    - SendCoinsRecipient::address::length
    - QList<QPair<QString, QString> >::iterator::first::startsWith
    - QList<QPair<QString, QString> >::iterator::second::isEmpty
    - QUrl::scheme
    - QList::end
    - SendCoinsRecipient::address::endsWith
    - QUrl::path
    linkageType: ''
    returnType: bool
    signature: bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - uri
    - out
    argTypes:
    - QString
    - SendCoinsRecipient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: GUIUtil::parseBitcoinURI
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - GUIUtil::parseBitcoinURI
    linkageType: ''
    returnType: bool
    signature: bool parseBitcoinURI(QString uri, SendCoinsRecipient *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsRecipient::address::startsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:213,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:213,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:213,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:215,1
    - Dst: SendCoinsRecipient::address::toUpper
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:215,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:220,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:220,1
    - Dst: SendCoinsRecipient::label::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:224,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:226,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:227,1
    - Dst: SendCoinsRecipient::message::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:231,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:233,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - info
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 239
    functionName: GUIUtil::formatBitcoinURI
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - QString
    - SendCoinsRecipient::address::toUpper
    - SendCoinsRecipient::message::isEmpty
    - SendCoinsRecipient::address::startsWith
    - BitcoinUnits::format
    - QUrl::toPercentEncoding
    - SendCoinsRecipient::label::isEmpty
    - QString::fromStdString
    - Params
    linkageType: ''
    returnType: QString
    signature: QString formatBitcoinURI(const SendCoinsRecipient &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:243,1
    - Dst: toStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:243,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:244,1
    - Dst: IsDust
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:246,1
    - Dst: getDustRelayFee
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' node'
    - ' address'
    - ' amount'
    argTypes:
    - interfaces::Node
    - QString
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 5
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: GUIUtil::isDust
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - toStdString
    - DecodeDestination
    - GetScriptForDestination
    - getDustRelayFee
    - IsDust
    linkageType: ''
    returnType: bool
    signature: bool isDust(interfaces::Node& node, const QString& address, const CAmount&
      amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toHtmlEscaped
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:251,1
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' str'
    - fMultiLine
    argTypes:
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: GUIUtil::HtmlEscape
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 5
    functionsReached:
    - toHtmlEscaped
    - QString::replace
    linkageType: ''
    returnType: QString
    signature: QString HtmlEscape(const QString& str, bool fMultiLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:261,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - fMultiLine
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: GUIUtil::HtmlEscape
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 6
    functionsReached:
    - GUIUtil::HtmlEscape
    - QString::fromStdString
    linkageType: ''
    returnType: QString
    signature: QString HtmlEscape(const std::string& str, bool fMultiLine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QAbstractItemView*::selectionModel
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:266,1
    - Dst: QAbstractItemView*::selectionModel
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:268,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:270,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:273,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - view
    - column
    - role
    argTypes:
    - QAbstractItemView*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: GUIUtil::copyEntryData
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 10
    functionsReached:
    - GUIUtil::setClipboard
    - QModelIndexList::at
    - QAbstractItemView*::selectionModel
    - QModelIndexList::isEmpty
    linkageType: ''
    returnType: void
    signature: void copyEntryData(const QAbstractItemView *view, int column, int role)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QAbstractItemView*::selectionModel
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:279,1
    - Dst: QList<QModelIndex>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:280,1
    - Dst: QAbstractItemView*::selectionModel
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - view
    - column
    argTypes:
    - QAbstractItemView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: GUIUtil::getEntryData
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - QList<QModelIndex>
    - QAbstractItemView*::selectionModel
    linkageType: ''
    returnType: QList<QModelIndex>
    signature: QList<QModelIndex> getEntryData(const QAbstractItemView *view, int
      column)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::getEntryData
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:286,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:287,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - view
    - column
    - role
    argTypes:
    - QAbstractItemView*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: GUIUtil::hasEntryData
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QModelIndexList::at
    - QModelIndexList::isEmpty
    - GUIUtil::getEntryData
    linkageType: ''
    returnType: bool
    signature: bool hasEntryData(const QAbstractItemView *view, int column, int role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QFontDatabase::addApplicationFont
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:293,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' file_name'
    argTypes:
    - QString
    assertStmts:
    - condition: (id != -1)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: GUIUtil::LoadFont
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QFontDatabase::addApplicationFont
    linkageType: ''
    returnType: void
    signature: void LoadFont(const QString& file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:299,1
    - Dst: GetDefaultDataDir
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: GUIUtil::getDefaultDataDirectory
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 5
    functionsReached:
    - GUIUtil::PathToQString
    - GetDefaultDataDir
    linkageType: ''
    returnType: QString
    signature: QString getDefaultDataDirectory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:304,1
    - Dst: QRegularExpression::match
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:306,1
    - Dst: QRegularExpressionMatch::hasMatch
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:307,1
    - Dst: QRegularExpressionMatch::captured
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: GUIUtil::ExtractFirstSuffixFromFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QRegularExpression::match
    - QRegularExpressionMatch::hasMatch
    - QStringLiteral
    - QRegularExpressionMatch::captured
    linkageType: ''
    returnType: QString
    signature: QString ExtractFirstSuffixFromFilter(const QString& filter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:319,1
    - Dst: QStandardPaths::writableLocation
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:321,1
    - Dst: QDir::toNativeSeparators
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:328,1
    - Dst: GUIUtil::getSaveFileName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:328,1
    - Dst: GUIUtil::ExtractFirstSuffixFromFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:330,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:334,1
    - Dst: QFileInfo::suffix
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:336,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:336,1
    - Dst: QString::endsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:339,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:340,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - parent
    - caption
    - dir
    - filter
    - selectedSuffixOut
    argTypes:
    - QWidget*
    - QString
    - QString
    - QString
    - QString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 351
    functionName: GUIUtil::getSaveFileName
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 7
    functionsReached:
    - QString::append
    - QString::isEmpty
    - QFileInfo::suffix
    - QStandardPaths::writableLocation
    - QDir::toNativeSeparators
    - GUIUtil::ExtractFirstSuffixFromFilter
    - GUIUtil::getSaveFileName
    - QString::endsWith
    linkageType: ''
    returnType: QString
    signature: "QString getSaveFileName(QWidget *parent, const QString &caption, const
      QString &dir,\n    const QString &filter,\n    QString *selectedSuffixOut)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:359,1
    - Dst: QStandardPaths::writableLocation
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:361,1
    - Dst: QDir::toNativeSeparators
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:368,1
    - Dst: GUIUtil::getOpenFileName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:368,1
    - Dst: GUIUtil::ExtractFirstSuffixFromFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - parent
    - caption
    - dir
    - filter
    - selectedSuffixOut
    argTypes:
    - QWidget*
    - QString
    - QString
    - QString
    - QString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 376
    functionName: GUIUtil::getOpenFileName
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - GUIUtil::getOpenFileName
    - QString::isEmpty
    - QStandardPaths::writableLocation
    - QDir::toNativeSeparators
    - GUIUtil::ExtractFirstSuffixFromFilter
    linkageType: ''
    returnType: QString
    signature: "QString getOpenFileName(QWidget *parent, const QString &caption, const
      QString &dir,\n    const QString &filter,\n    QString *selectedSuffixOut)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QThread::currentThread
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:380,1
    - Dst: thread
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: GUIUtil::blockingGUIThreadConnection
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - thread
    - QThread::currentThread
    linkageType: ''
    returnType: Qt::ConnectionType
    signature: Qt::ConnectionType blockingGUIThreadConnection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::widgetAt
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:392,1
    - Dst: QWidget*::mapToGlobal
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:392,1
    - Dst: QWidget*::window
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - w
    argTypes:
    - QPoint
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: GUIUtil::checkPoint
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QWidget*::mapToGlobal
    - QApplication::widgetAt
    - QWidget*::window
    linkageType: ''
    returnType: bool
    signature: bool checkPoint(const QPoint &p, const QWidget *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:399,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:399,1
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:400,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:400,1
    - Dst: QWidget*::width
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:400,1
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:401,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:401,1
    - Dst: QWidget*::height
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:401,1
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:402,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:402,1
    - Dst: QWidget*::width
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:402,1
    - Dst: QWidget*::height
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:402,1
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:403,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:403,1
    - Dst: QWidget*::width
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:403,1
    - Dst: QWidget*::height
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: GUIUtil::isObscured
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - QWidget*::width
    - GUIUtil::checkPoint
    - QPoint
    - QWidget*::height
    linkageType: ''
    returnType: bool
    signature: bool isObscured(QWidget *w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QGuiApplication::platformName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:409,1
    - Dst: QWidget*::windowFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:410,1
    - Dst: QWidget*::setWindowFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:411,1
    - Dst: QWidget*::show
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:412,1
    - Dst: QWidget*::setWindowFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:413,1
    - Dst: QWidget*::show
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:414,1
    - Dst: ForceActivation
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:417,1
    - Dst: QWidget*::isMinimized
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:420,1
    - Dst: QWidget*::showNormal
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:421,1
    - Dst: QWidget*::show
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:423,1
    - Dst: QWidget*::activateWindow
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:425,1
    - Dst: QWidget*::raise
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - w
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 429
    functionName: GUIUtil::bringToFront
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 6
    functionsReached:
    - QWidget*::setWindowFlags
    - QGuiApplication::platformName
    - ForceActivation
    - QWidget*::showNormal
    - QWidget*::windowFlags
    - QWidget*::show
    - QWidget*::isMinimized
    - QWidget*::activateWindow
    - QWidget*::raise
    linkageType: ''
    returnType: void
    signature: void bringToFront(QWidget* w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:433,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:433,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:433,1
    - Dst: QShortcut::QShortcut
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: GUIUtil::handleCloseWindowShortcut
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 13
    functionsReached:
    - SighashToStr
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - QKeySequence
    - QShortcut::QShortcut
    linkageType: ''
    returnType: void
    signature: void handleCloseWindowShortcut(QWidget* w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:438,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:441,1
    - Dst: QDesktopServices::openUrl
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:442,1
    - Dst: QUrl::fromLocalFile
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:442,1
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: GUIUtil::openDebugLogfile
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QDesktopServices::openUrl
    - fs::exists
    - GetDataDirNet
    - QUrl::fromLocalFile
    - GUIUtil::PathToQString
    linkageType: ''
    returnType: void
    signature: void openDebugLogfile()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetConfigFilePath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:447,1
    - Dst: std::ofstream::good
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:452,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:455,1
    - Dst: QDesktopServices::openUrl
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:458,1
    - Dst: QUrl::fromLocalFile
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:458,1
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:458,1
    - Dst: QProcess::startDetached
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:462,1
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 467
    functionName: GUIUtil::openBitcoinConf
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - GetConfigFilePath
    - QDesktopServices::openUrl
    - std::ofstream::close
    - std::ofstream::good
    - QProcess::startDetached
    - QUrl::fromLocalFile
    - GUIUtil::PathToQString
    linkageType: ''
    returnType: bool
    signature: bool openBitcoinConf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _size_threshold
    - parent
    argTypes:
    - int
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: GUIUtil::ToolTipToRichTextFilter::ToolTipToRichTextFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ToolTipToRichTextFilter::ToolTipToRichTextFilter(int _size_threshold,
      QObject *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:478,1
    - Dst: static_cast<QWidget*>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:480,1
    - Dst: QWidget*::toolTip
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:481,1
    - Dst: QString::size
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:482,1
    - Dst: QString::startsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:482,1
    - Dst: Qt::mightBeRichText
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:482,1
    - Dst: HtmlEscape
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:486,1
    - Dst: QWidget*::setToolTip
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:487,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - evt
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 492
    functionName: GUIUtil::ToolTipToRichTextFilter::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - static_cast<QWidget*>
    - QWidget*::setToolTip
    - QWidget*::toolTip
    - Qt::mightBeRichText
    - QString::size
    - QEvent*::type
    - AskPassphraseDialog::eventFilter
    - QString::startsWith
    - HtmlEscape
    linkageType: ''
    returnType: bool
    signature: bool ToolTipToRichTextFilter::eventFilter(QObject *obj, QEvent *evt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: GUIUtil::LabelOutOfFocusEventFilter::LabelOutOfFocusEventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LabelOutOfFocusEventFilter::LabelOutOfFocusEventFilter(QObject*
      parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:501,1
    - Dst: static_cast<QFocusEvent*>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:502,1
    - Dst: auto::reason
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:503,1
    - Dst: qobject_cast<QLabel*>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:504,1
    - Dst: auto::textInteractionFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:506,1
    - Dst: auto::setTextInteractionFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:507,1
    - Dst: auto::setTextInteractionFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:508,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 514
    functionName: GUIUtil::LabelOutOfFocusEventFilter::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - static_cast<QFocusEvent*>
    - auto::textInteractionFlags
    - auto::setTextInteractionFlags
    - auto::reason
    - QEvent*::type
    - qobject_cast<QLabel*>
    - AskPassphraseDialog::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool LabelOutOfFocusEventFilter::eventFilter(QObject* watched, QEvent*
      event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:519,1
    - Dst: GetSpecialFolderPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:521,1
    - Dst: GetSpecialFolderPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:523,1
    - Dst: GetSpecialFolderPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:524,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:524,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:524,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: GUIUtil::StartupShortcutPath
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - fs::u8path
    - GetSpecialFolderPath
    - GetChainType
    - strprintf
    - ChainTypeToString
    linkageType: ''
    returnType: fs::path
    signature: fs::path StartupShortcutPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:530,1
    - Dst: GUIUtil::StartupShortcutPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: GUIUtil::GetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - fs::exists
    - GUIUtil::StartupShortcutPath
    linkageType: ''
    returnType: bool
    signature: bool GetStartOnSystemStartup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:536,1
    - Dst: GUIUtil::StartupShortcutPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:536,1
    - Dst: CoInitialize
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:540,1
    - Dst: CoCreateInstance
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:544,1
    - Dst: reinterpret_cast<void**>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:546,1
    - Dst: SUCCEEDED
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:548,1
    - Dst: GetModuleFileNameW
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:552,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:552,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:557,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:557,1
    - Dst: GetChainTypeString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:557,1
    - Dst: IShellLinkW*::SetPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:560,1
    - Dst: PathRemoveFileSpecW
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:561,1
    - Dst: IShellLinkW*::SetWorkingDirectory
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:562,1
    - Dst: IShellLinkW*::SetShowCmd
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:563,1
    - Dst: IShellLinkW*::SetArguments
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:564,1
    - Dst: QString::toStdWString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:564,1
    - Dst: IShellLinkW*::QueryInterface
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:569,1
    - Dst: reinterpret_cast<void**>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:569,1
    - Dst: SUCCEEDED
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:570,1
    - Dst: IPersistFile*::Save
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:573,1
    - Dst: GUIUtil::StartupShortcutPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:573,1
    - Dst: IPersistFile*::Release
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:574,1
    - Dst: IShellLinkW*::Release
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:575,1
    - Dst: CoUninitialize
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:576,1
    - Dst: IShellLinkW*::Release
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:579,1
    - Dst: CoUninitialize
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - fAutoStart
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 585
    functionName: GUIUtil::SetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - GetModuleFileNameW
    - SUCCEEDED
    - CoInitialize
    - CoCreateInstance
    - GetChainTypeString
    - IPersistFile*::Release
    - IPersistFile*::Save
    - reinterpret_cast<void**>
    - QString::fromStdString
    - IShellLinkW*::SetPath
    - QString::toStdWString
    - IShellLinkW*::SetArguments
    - IShellLinkW*::Release
    - CoUninitialize
    - GUIUtil::StartupShortcutPath
    - IShellLinkW*::QueryInterface
    - PathRemoveFileSpecW
    - strprintf
    - wallet::WalletImpl::remove
    - ARRAYSIZE
    - IShellLinkW*::SetWorkingDirectory
    - IShellLinkW*::SetShowCmd
    linkageType: ''
    returnType: bool
    signature: bool SetStartOnSystemStartup(bool fAutoStart)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:593,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:594,1
    - Dst: getenv
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:595,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:596,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 591
    functionDepth: 4
    functionLinenumber: 591
    functionLinenumberEnd: 598
    functionName: GUIUtil::GetAutostartDir
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - DeserializeHDKeypath
    - getenv
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetAutostartDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:602,1
    - Dst: GUIUtil::GetAutostartDir
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:604,1
    - Dst: GUIUtil::GetAutostartDir
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:605,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:605,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:605,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 5
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: GUIUtil::GetAutostartFilePath
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::GetAutostartDir
    - fs::u8path
    - GetChainType
    - strprintf
    - ChainTypeToString
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetAutostartFilePath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::GetAutostartFilePath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:610,1
    - Dst: std::ifstream::good
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:611,1
    - Dst: std::ifstream::eof
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:615,1
    - Dst: getline
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:617,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:618,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:619,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 608
    functionDepth: 6
    functionLinenumber: 608
    functionLinenumberEnd: 625
    functionName: GUIUtil::GetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::close
    - std::ifstream::eof
    - getline
    - GUIUtil::GetAutostartFilePath
    - std::string::find
    - std::ifstream::good
    linkageType: ''
    returnType: bool
    signature: bool GetStartOnSystemStartup()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:630,1
    - Dst: GUIUtil::GetAutostartFilePath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:630,1
    - Dst: readlink
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:634,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:640,1
    - Dst: GUIUtil::GetAutostartDir
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:640,1
    - Dst: GUIUtil::GetAutostartFilePath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:642,1
    - Dst: std::ofstream::good
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:643,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:645,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:652,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:652,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:653,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:653,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - fAutoStart
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 627
    functionDepth: 6
    functionLinenumber: 627
    functionLinenumberEnd: 659
    functionName: GUIUtil::SetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - GUIUtil::GetAutostartDir
    - strprintf
    - wallet::WalletImpl::remove
    - std::ofstream::close
    - GUIUtil::GetAutostartFilePath
    - std::ofstream::good
    - GetChainType
    - fs::create_directories
    - readlink
    - ChainTypeToString
    linkageType: ''
    returnType: bool
    signature: bool SetStartOnSystemStartup(bool fAutoStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: GUIUtil::GetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetStartOnSystemStartup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fAutoStart
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: GUIUtil::SetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetStartOnSystemStartup(bool fAutoStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::clipboard
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:670,1
    - Dst: QClipboard*::setText
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:671,1
    - Dst: QClipboard*::supportsSelection
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:672,1
    - Dst: QClipboard*::setText
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 675
    functionName: GUIUtil::setClipboard
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 26
    functionsReached:
    - QClipboard*::setText
    - QClipboard*::supportsSelection
    - QApplication::clipboard
    linkageType: ''
    returnType: void
    signature: void setClipboard(const QString& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:679,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 680
    functionName: GUIUtil::QStringToPath
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - fs::u8path
    - QString::toStdString
    linkageType: ''
    returnType: fs::path
    signature: fs::path QStringToPath(const QString &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:684,1
    - Dst: fs::path::utf8string
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: GUIUtil::PathToQString
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 6
    functionsReached:
    - QString::fromStdString
    - fs::path::utf8string
    linkageType: ''
    returnType: QString
    signature: QString PathToQString(const fs::path &path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:690,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:692,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:694,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:696,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:698,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:700,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:702,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - net
    argTypes:
    - Network
    assertStmts:
    - condition: (false)
      pos:
        line_end: 701
        line_start: 701
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    - condition: (false)
      pos:
        line_end: 703
        line_start: 703
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 705
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 705
    functionName: GUIUtil::NetworkToQString
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - SighashToStr
    - assert
    linkageType: ''
    returnType: QString
    signature: QString NetworkToQString(Network net)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:714,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:717,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:722,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:725,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:727,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:729,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:731,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - conn_type
    - prepend_direction
    argTypes:
    - ConnectionType
    - bool
    assertStmts:
    - condition: (false)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 734
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 734
    functionName: GUIUtil::ConnectionTypeToQString
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - SighashToStr
    - assert
    linkageType: ''
    returnType: QString
    signature: QString ConnectionTypeToQString(ConnectionType conn_type, bool prepend_direction)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::days>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:738,1
    - Dst: std::chrono::duration_cast<std::chrono::hours>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:739,1
    - Dst: std::chrono::duration_cast<std::chrono::minutes>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:740,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:741,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:743,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:743,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:743,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:744,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:744,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:744,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:745,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:745,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:745,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:746,1
    - Dst: QStringList::empty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:747,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:747,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:747,1
    - Dst: QStringList::join
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - dur
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 749
    functionName: GUIUtil::formatDurationStr
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - std::chrono::duration_cast<std::chrono::days>
    - std::chrono::duration_cast<std::chrono::minutes>
    - std::chrono::duration_cast<std::chrono::hours>
    - SighashToStr
    - QStringList::join
    - std::chrono::duration_cast<std::chrono::seconds>
    - QStringList::empty
    - auto::count
    - QStringList::append
    linkageType: ''
    returnType: QString
    signature: QString formatDurationStr(std::chrono::seconds dur)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:753,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:755,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:756,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:757,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - time_connected
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: GUIUtil::FormatPeerAge
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - SighashToStr
    - GetTime
    linkageType: ''
    returnType: QString
    signature: QString FormatPeerAge(std::chrono::seconds time_connected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serviceFlagsToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:765,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:766,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:766,1
    - Dst: QStringList::size
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:769,1
    - Dst: QStringList::join
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:770,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mask
    argTypes:
    - quint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 773
    functionName: GUIUtil::formatServicesStr
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QStringList::size
    - SighashToStr
    - QStringList::join
    - QString::fromStdString
    - serviceFlagsToStr
    - QStringList::append
    linkageType: ''
    returnType: QString
    signature: QString formatServicesStr(quint64 mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:777,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:778,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:779,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:779,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ping_time
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: GUIUtil::formatPingTime
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - SighashToStr
    - count_microseconds
    - RandomMixin::max
    - print_number
    linkageType: ''
    returnType: QString
    signature: QString formatPingTime(std::chrono::microseconds ping_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:784,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time_offset
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 785
    functionName: GUIUtil::formatTimeOffset
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - SighashToStr
    - print_number
    linkageType: ''
    returnType: QString
    signature: QString formatTimeOffset(int64_t time_offset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:797,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:801,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:805,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:809,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:813,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:819,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:819,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - secs
    argTypes:
    - qint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 822
    functionName: GUIUtil::formatNiceTimeOffset
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - SighashToStr
    linkageType: ''
    returnType: QString
    signature: QString formatNiceTimeOffset(qint64 secs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:827,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:829,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:831,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 834
    functionName: GUIUtil::formatBytes
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - SighashToStr
    linkageType: ''
    returnType: QString
    signature: QString formatBytes(uint64_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QFont::setPointSizeF
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:838,1
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - width
    - ' text'
    - font
    - minPointSize
    - font_size
    argTypes:
    - int
    - QString
    - QFont
    - qreal
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: GUIUtil::calculateIdealFontSize
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QFont::setPointSizeF
    - GUIUtil::TextWidth
    linkageType: ''
    returnType: qreal
    signature: qreal calculateIdealFontSize(int width, const QString& text, QFont
      font, qreal minPointSize, qreal font_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - platform_style
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts:
    - condition: (m_platform_style)
      pos:
        line_end: 850
        line_start: 850
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: GUIUtil::ThemedLabel::ThemedLabel
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ThemedLabel::ThemedLabel(const PlatformStyle* platform_style,
      QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::ThemedLabel::updateThemedPixmap
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' image_filename'
    - width
    - height
    argTypes:
    - QString
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 860
    functionName: GUIUtil::ThemedLabel::setThemedPixmap
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::ThemedLabel::updateThemedPixmap
    linkageType: ''
    returnType: void
    signature: void ThemedLabel::setThemedPixmap(const QString& image_filename, int
      width, int height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:864,1
    - Dst: GUIUtil::ThemedLabel::updateThemedPixmap
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:865,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: GUIUtil::ThemedLabel::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - SignVerifyMessageDialog::changeEvent
    - GUIUtil::ThemedLabel::updateThemedPixmap
    - QEvent*::type
    linkageType: ''
    returnType: void
    signature: void ThemedLabel::changeEvent(QEvent* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPixmap
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:873,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 874
    functionName: GUIUtil::ThemedLabel::updateThemedPixmap
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - SingleColorIcon
    - setPixmap
    linkageType: ''
    returnType: void
    signature: void ThemedLabel::updateThemedPixmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - platform_style
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 879
    functionName: GUIUtil::ClickableLabel::ClickableLabel
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClickableLabel::ClickableLabel(const PlatformStyle* platform_style,
      QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMouseEvent*::pos
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: GUIUtil::ClickableLabel::mouseReleaseEvent
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QMouseEvent*::pos
    linkageType: ''
    returnType: void
    signature: void ClickableLabel::mouseReleaseEvent(QMouseEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMouseEvent*::pos
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 889
    functionName: GUIUtil::ClickableProgressBar::mouseReleaseEvent
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QMouseEvent*::pos
    linkageType: ''
    returnType: void
    signature: void ClickableProgressBar::mouseReleaseEvent(QMouseEvent *event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:893,1
    - Dst: static_cast<QKeyEvent*>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:894,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - object
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 899
    functionName: GUIUtil::ItemDelegate::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - static_cast<QKeyEvent*>
    - AskPassphraseDialog::eventFilter
    - QEvent*::type
    linkageType: ''
    returnType: bool
    signature: bool ItemDelegate::eventFilter(QObject *object, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:905,1
    - Dst: QProgressDialog*::fontMetrics
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:905,1
    - Dst: QProgressDialog*::resize
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:906,1
    - Dst: QProgressDialog*::width
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:906,1
    - Dst: QProgressDialog*::height
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:906,1
    - Dst: QProgressDialog*::setMinimumDuration
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dialog
    argTypes:
    - QProgressDialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 913
    functionName: GUIUtil::PolishProgressDialog
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - QProgressDialog*::fontMetrics
    - GUIUtil::TextWidth
    - QProgressDialog*::resize
    - QProgressDialog*::height
    - QProgressDialog*::width
    - QProgressDialog*::setMinimumDuration
    linkageType: ''
    returnType: void
    signature: void PolishProgressDialog(QProgressDialog* dialog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: horizontalAdvance
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fm'
    - ' text'
    argTypes:
    - QFontMetrics
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: GUIUtil::TextWidth
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 5
    functionsReached:
    - horizontalAdvance
    linkageType: ''
    returnType: int
    signature: int TextWidth(const QFontMetrics& fm, const QString& text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:927,1
    - Dst: qVersion
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:927,1
    - Dst: QGuiApplication::platformName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:927,1
    - Dst: QPluginLoader::staticPlugins
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:928,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:929,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:930,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:932,1
    - Dst: metaData
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:934,1
    - Dst: QJsonObject::take
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:935,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:935,1
    - Dst: QJsonObject::take
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:936,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:936,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:937,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:941,1
    - Dst: QApplication::style
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:941,1
    - Dst: QApplication::style
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:941,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:942,1
    - Dst: QSysInfo::prettyProductName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:942,1
    - Dst: QSysInfo::buildAbi
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:942,1
    - Dst: QGuiApplication::screens
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:943,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    - Dst: name
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    - Dst: devicePixelRatio
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 946
    functionName: GUIUtil::LogQtInfo
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QGuiApplication::screens
    - QString
    - metaData
    - QSysInfo::buildAbi
    - QGuiApplication::platformName
    - QApplication::style
    - size
    - LogInfo
    - QJsonObject::take
    - qVersion
    - auto::empty
    - QSysInfo::prettyProductName
    - devicePixelRatio
    - QPluginLoader::staticPlugins
    - name
    linkageType: ''
    returnType: void
    signature: void LogQtInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::platformName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:951,1
    - Dst: QMenu*::popup
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - menu
    - ' point'
    - at_action
    argTypes:
    - QMenu*
    - QPoint
    - QAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 953
    functionName: GUIUtil::PopupMenu
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - QMenu*::popup
    - QApplication::platformName
    linkageType: ''
    returnType: void
    signature: void PopupMenu(QMenu* menu, const QPoint& point, QAction* at_action)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startOfDay
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' date'
    argTypes:
    - QDate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: GUIUtil::StartOfDay
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - startOfDay
    linkageType: ''
    returnType: QDateTime
    signature: QDateTime StartOfDay(const QDate& date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QLabel*::pixmap
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - QLabel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 963
    functionName: GUIUtil::HasPixmap
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 6
    functionsReached:
    - QLabel*::pixmap
    linkageType: ''
    returnType: bool
    signature: bool HasPixmap(const QLabel* label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:967,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:969,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:969,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' source'
    - ' link'
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 970
    functionName: GUIUtil::MakeHtmlLink
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QLatin1String
    linkageType: ''
    returnType: QString
    signature: QString MakeHtmlLink(const QString& source, const QString& link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QObject*::metaObject
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:977,1
    - Dst: QObject*::metaObject
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:979,1
    - Dst: PrintExceptionContinue
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - exception
    - sender
    - receiver
    argTypes:
    - std::exception*
    - QObject*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 981
    functionName: GUIUtil::PrintSlotException
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QObject*::metaObject
    - PrintExceptionContinue
    linkageType: ''
    returnType: void
    signature: "void PrintSlotException(\n    const std::exception* exception,\n    const
      QObject* sender,\n    const QObject* receiver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDialog*::setAttribute
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:985,1
    - Dst: QDialog*::setWindowModality
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:986,1
    - Dst: QDialog*::show
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dialog
    argTypes:
    - QDialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 988
    functionName: GUIUtil::ShowModalDialogAsynchronously
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 8
    functionsReached:
    - QDialog*::setAttribute
    - QDialog*::setWindowModality
    - QDialog*::show
    linkageType: ''
    returnType: void
    signature: void ShowModalDialogAsynchronously(QDialog* dialog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:992,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: GUIUtil::WalletDisplayName
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - SighashToStr
    - isEmpty
    linkageType: ''
    returnType: QString
    signature: QString WalletDisplayName(const QString& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:997,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 998
    functionName: GUIUtil::WalletDisplayName
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - GUIUtil::WalletDisplayName
    - QString::fromStdString
    linkageType: ''
    returnType: QString
    signature: QString WalletDisplayName(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize_system
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:92,1
    - Dst: QDateTime::date
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:92,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:92,1
    - Dst: QDateTime::toString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - QDateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: GUIUtil::dateTimeStr
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - QDateTime::toString
    - QString
    - initialize_system
    - QDateTime::date
    linkageType: ''
    returnType: QString
    signature: QString dateTimeStr(const QDateTime &date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::dateTimeStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:97,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nTime
    argTypes:
    - qint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: GUIUtil::dateTimeStr
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 5
    functionsReached:
    - QDateTime::fromSecsSinceEpoch
    - GUIUtil::dateTimeStr
    linkageType: ''
    returnType: QString
    signature: QString dateTimeStr(qint64 nTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QFontDatabase::systemFont
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - use_embedded_font
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: GUIUtil::fixedPitchFont
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 6
    functionsReached:
    - QFontDatabase::systemFont
    linkageType: ''
    returnType: QFont
    signature: QFont fixedPitchFont(bool use_embedded_font)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CChainParams::GetChainType
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:112,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:125,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:125,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:127,1
    - Dst: IsValidDestinationString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - params
    argTypes:
    - CChainParams
    assertStmts:
    - condition: (!addr.empty())
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: GUIUtil::DummyAddress
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - Assume
    - std::string::empty
    - CChainParams::GetChainType
    - IsValidDestinationString
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string DummyAddress(const CChainParams &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWidget*::setFocusProxy
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:133,1
    - Dst: QValidatedLineEdit*::setFont
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:135,1
    - Dst: GUIUtil::fixedPitchFont
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:135,1
    - Dst: QValidatedLineEdit*::setPlaceholderText
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:138,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:138,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:139,1
    - Dst: GUIUtil::DummyAddress
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:139,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:139,1
    - Dst: QValidatedLineEdit*::setValidator
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:140,1
    - Dst: BitcoinAddressEntryValidator::BitcoinAddressEntryValidator
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:140,1
    - Dst: QValidatedLineEdit*::setCheckValidator
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:141,1
    - Dst: BitcoinAddressCheckValidator::BitcoinAddressCheckValidator
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - widget
    - parent
    argTypes:
    - QValidatedLineEdit*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 7
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: GUIUtil::setupAddressWidget
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - GUIUtil::DummyAddress
    - SighashToStr
    - GUIUtil::fixedPitchFont
    - QValidatedLineEdit*::setCheckValidator
    - QValidatedLineEdit*::setFont
    - QString::fromStdString
    - Params
    - QValidatedLineEdit*::setValidator
    - BitcoinAddressEntryValidator::BitcoinAddressEntryValidator
    - BitcoinAddressCheckValidator::BitcoinAddressCheckValidator
    - QValidatedLineEdit*::setPlaceholderText
    - QWidget*::setFocusProxy
    linkageType: ''
    returnType: void
    signature: void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:146,1
    - Dst: QShortcut::QShortcut
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:146,1
    - Dst: QAbstractButton*::animateClick
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - button
    - ' shortcut'
    argTypes:
    - QAbstractButton*
    - QKeySequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: GUIUtil::AddButtonShortcut
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - QAbstractButton*::animateClick
    - QShortcut::QShortcut
    linkageType: ''
    returnType: void
    signature: void AddButtonShortcut(QAbstractButton* button, const QKeySequence&
      shortcut)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::isValid
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:152,1
    - Dst: QUrl::scheme
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:152,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:152,1
    - Dst: SendCoinsRecipient::SendCoinsRecipient
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:155,1
    - Dst: QUrl::path
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:156,1
    - Dst: SendCoinsRecipient::address::endsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:158,1
    - Dst: SendCoinsRecipient::address::truncate
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:159,1
    - Dst: SendCoinsRecipient::address::length
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:159,1
    - Dst: QUrlQuery::queryItems
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:164,1
    - Dst: QList::begin
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:165,1
    - Dst: QList::end
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:165,1
    - Dst: QList<QPair<QString, QString> >::iterator::first::startsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:168,1
    - Dst: QList<QPair<QString, QString> >::iterator::first::remove
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:170,1
    - Dst: QList<QPair<QString, QString> >::iterator::second::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:186,1
    - Dst: BitcoinUnits::parse
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:188,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - uri
    - out
    argTypes:
    - QUrl
    - SendCoinsRecipient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 203
    functionName: GUIUtil::parseBitcoinURI
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QString
    - BitcoinUnits::parse
    - QList::begin
    - SendCoinsRecipient::SendCoinsRecipient
    - QList<QPair<QString, QString> >::iterator::first::remove
    - QUrlQuery::queryItems
    - QUrl::isValid
    - SendCoinsRecipient::address::truncate
    - SendCoinsRecipient::address::length
    - QList<QPair<QString, QString> >::iterator::first::startsWith
    - QList<QPair<QString, QString> >::iterator::second::isEmpty
    - QUrl::scheme
    - QList::end
    - SendCoinsRecipient::address::endsWith
    - QUrl::path
    linkageType: ''
    returnType: bool
    signature: bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - uri
    - out
    argTypes:
    - QString
    - SendCoinsRecipient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: GUIUtil::parseBitcoinURI
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - GUIUtil::parseBitcoinURI
    linkageType: ''
    returnType: bool
    signature: bool parseBitcoinURI(QString uri, SendCoinsRecipient *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsRecipient::address::startsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:213,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:213,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:213,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:215,1
    - Dst: SendCoinsRecipient::address::toUpper
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:215,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:220,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:220,1
    - Dst: SendCoinsRecipient::label::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:224,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:226,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:227,1
    - Dst: SendCoinsRecipient::message::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:231,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:233,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - info
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 239
    functionName: GUIUtil::formatBitcoinURI
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - QString
    - SendCoinsRecipient::address::toUpper
    - SendCoinsRecipient::message::isEmpty
    - SendCoinsRecipient::address::startsWith
    - BitcoinUnits::format
    - QUrl::toPercentEncoding
    - SendCoinsRecipient::label::isEmpty
    - QString::fromStdString
    - Params
    linkageType: ''
    returnType: QString
    signature: QString formatBitcoinURI(const SendCoinsRecipient &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:243,1
    - Dst: toStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:243,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:244,1
    - Dst: IsDust
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:246,1
    - Dst: getDustRelayFee
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' node'
    - ' address'
    - ' amount'
    argTypes:
    - interfaces::Node
    - QString
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 5
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: GUIUtil::isDust
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - toStdString
    - DecodeDestination
    - GetScriptForDestination
    - getDustRelayFee
    - IsDust
    linkageType: ''
    returnType: bool
    signature: bool isDust(interfaces::Node& node, const QString& address, const CAmount&
      amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toHtmlEscaped
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:251,1
    - Dst: QString::replace
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' str'
    - fMultiLine
    argTypes:
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: GUIUtil::HtmlEscape
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 6
    functionsReached:
    - toHtmlEscaped
    - QString::replace
    linkageType: ''
    returnType: QString
    signature: QString HtmlEscape(const QString& str, bool fMultiLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:261,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - fMultiLine
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: GUIUtil::HtmlEscape
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 7
    functionsReached:
    - GUIUtil::HtmlEscape
    - QString::fromStdString
    linkageType: ''
    returnType: QString
    signature: QString HtmlEscape(const std::string& str, bool fMultiLine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QAbstractItemView*::selectionModel
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:266,1
    - Dst: QAbstractItemView*::selectionModel
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:268,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:270,1
    - Dst: GUIUtil::setClipboard
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:273,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - view
    - column
    - role
    argTypes:
    - QAbstractItemView*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: GUIUtil::copyEntryData
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 10
    functionsReached:
    - GUIUtil::setClipboard
    - QModelIndexList::at
    - QAbstractItemView*::selectionModel
    - QModelIndexList::isEmpty
    linkageType: ''
    returnType: void
    signature: void copyEntryData(const QAbstractItemView *view, int column, int role)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QAbstractItemView*::selectionModel
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:279,1
    - Dst: QList<QModelIndex>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:280,1
    - Dst: QAbstractItemView*::selectionModel
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - view
    - column
    argTypes:
    - QAbstractItemView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: GUIUtil::getEntryData
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 5
    functionsReached:
    - QList<QModelIndex>
    - QAbstractItemView*::selectionModel
    linkageType: ''
    returnType: QList<QModelIndex>
    signature: QList<QModelIndex> getEntryData(const QAbstractItemView *view, int
      column)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::getEntryData
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:286,1
    - Dst: QModelIndexList::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:287,1
    - Dst: QModelIndexList::at
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - view
    - column
    - role
    argTypes:
    - QAbstractItemView*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: GUIUtil::hasEntryData
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QModelIndexList::at
    - QModelIndexList::isEmpty
    - GUIUtil::getEntryData
    linkageType: ''
    returnType: bool
    signature: bool hasEntryData(const QAbstractItemView *view, int column, int role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QFontDatabase::addApplicationFont
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:293,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' file_name'
    argTypes:
    - QString
    assertStmts:
    - condition: (id != -1)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: GUIUtil::LoadFont
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QFontDatabase::addApplicationFont
    linkageType: ''
    returnType: void
    signature: void LoadFont(const QString& file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:299,1
    - Dst: GetDefaultDataDir
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: GUIUtil::getDefaultDataDirectory
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 5
    functionsReached:
    - GUIUtil::PathToQString
    - GetDefaultDataDir
    linkageType: ''
    returnType: QString
    signature: QString getDefaultDataDirectory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:304,1
    - Dst: QRegularExpression::match
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:306,1
    - Dst: QRegularExpressionMatch::hasMatch
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:307,1
    - Dst: QRegularExpressionMatch::captured
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: GUIUtil::ExtractFirstSuffixFromFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - QRegularExpression::match
    - QRegularExpressionMatch::hasMatch
    - QStringLiteral
    - QRegularExpressionMatch::captured
    linkageType: ''
    returnType: QString
    signature: QString ExtractFirstSuffixFromFilter(const QString& filter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:319,1
    - Dst: QStandardPaths::writableLocation
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:321,1
    - Dst: QDir::toNativeSeparators
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:328,1
    - Dst: GUIUtil::getSaveFileName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:328,1
    - Dst: GUIUtil::ExtractFirstSuffixFromFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:330,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:334,1
    - Dst: QFileInfo::suffix
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:336,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:336,1
    - Dst: QString::endsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:339,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:340,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - parent
    - caption
    - dir
    - filter
    - selectedSuffixOut
    argTypes:
    - QWidget*
    - QString
    - QString
    - QString
    - QString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 351
    functionName: GUIUtil::getSaveFileName
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 8
    functionsReached:
    - QString::append
    - QString::isEmpty
    - QFileInfo::suffix
    - QStandardPaths::writableLocation
    - QDir::toNativeSeparators
    - GUIUtil::ExtractFirstSuffixFromFilter
    - GUIUtil::getSaveFileName
    - QString::endsWith
    linkageType: ''
    returnType: QString
    signature: "QString getSaveFileName(QWidget *parent, const QString &caption, const
      QString &dir,\n    const QString &filter,\n    QString *selectedSuffixOut)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:359,1
    - Dst: QStandardPaths::writableLocation
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:361,1
    - Dst: QDir::toNativeSeparators
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:368,1
    - Dst: GUIUtil::getOpenFileName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:368,1
    - Dst: GUIUtil::ExtractFirstSuffixFromFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - parent
    - caption
    - dir
    - filter
    - selectedSuffixOut
    argTypes:
    - QWidget*
    - QString
    - QString
    - QString
    - QString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 376
    functionName: GUIUtil::getOpenFileName
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - GUIUtil::getOpenFileName
    - QString::isEmpty
    - QStandardPaths::writableLocation
    - QDir::toNativeSeparators
    - GUIUtil::ExtractFirstSuffixFromFilter
    linkageType: ''
    returnType: QString
    signature: "QString getOpenFileName(QWidget *parent, const QString &caption, const
      QString &dir,\n    const QString &filter,\n    QString *selectedSuffixOut)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QThread::currentThread
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:380,1
    - Dst: thread
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: GUIUtil::blockingGUIThreadConnection
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - thread
    - QThread::currentThread
    linkageType: ''
    returnType: Qt::ConnectionType
    signature: Qt::ConnectionType blockingGUIThreadConnection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::widgetAt
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:392,1
    - Dst: QWidget*::mapToGlobal
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:392,1
    - Dst: QWidget*::window
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - w
    argTypes:
    - QPoint
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: GUIUtil::checkPoint
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QWidget*::mapToGlobal
    - QApplication::widgetAt
    - QWidget*::window
    linkageType: ''
    returnType: bool
    signature: bool checkPoint(const QPoint &p, const QWidget *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:399,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:399,1
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:400,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:400,1
    - Dst: QWidget*::width
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:400,1
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:401,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:401,1
    - Dst: QWidget*::height
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:401,1
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:402,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:402,1
    - Dst: QWidget*::width
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:402,1
    - Dst: QWidget*::height
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:402,1
    - Dst: GUIUtil::checkPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:403,1
    - Dst: QPoint
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:403,1
    - Dst: QWidget*::width
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:403,1
    - Dst: QWidget*::height
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: GUIUtil::isObscured
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - QWidget*::width
    - GUIUtil::checkPoint
    - QPoint
    - QWidget*::height
    linkageType: ''
    returnType: bool
    signature: bool isObscured(QWidget *w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QGuiApplication::platformName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:409,1
    - Dst: QWidget*::windowFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:410,1
    - Dst: QWidget*::setWindowFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:411,1
    - Dst: QWidget*::show
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:412,1
    - Dst: QWidget*::setWindowFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:413,1
    - Dst: QWidget*::show
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:414,1
    - Dst: ForceActivation
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:417,1
    - Dst: QWidget*::isMinimized
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:420,1
    - Dst: QWidget*::showNormal
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:421,1
    - Dst: QWidget*::show
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:423,1
    - Dst: QWidget*::activateWindow
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:425,1
    - Dst: QWidget*::raise
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - w
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 429
    functionName: GUIUtil::bringToFront
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 6
    functionsReached:
    - QWidget*::setWindowFlags
    - QGuiApplication::platformName
    - ForceActivation
    - QWidget*::showNormal
    - QWidget*::windowFlags
    - QWidget*::show
    - QWidget*::isMinimized
    - QWidget*::activateWindow
    - QWidget*::raise
    linkageType: ''
    returnType: void
    signature: void bringToFront(QWidget* w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:433,1
    - Dst: QKeySequence
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:433,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:433,1
    - Dst: QShortcut::QShortcut
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: GUIUtil::handleCloseWindowShortcut
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 13
    functionsReached:
    - SighashToStr
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - QKeySequence
    - QShortcut::QShortcut
    linkageType: ''
    returnType: void
    signature: void handleCloseWindowShortcut(QWidget* w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:438,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:441,1
    - Dst: QDesktopServices::openUrl
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:442,1
    - Dst: QUrl::fromLocalFile
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:442,1
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: GUIUtil::openDebugLogfile
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QDesktopServices::openUrl
    - fs::exists
    - GetDataDirNet
    - QUrl::fromLocalFile
    - GUIUtil::PathToQString
    linkageType: ''
    returnType: void
    signature: void openDebugLogfile()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetConfigFilePath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:447,1
    - Dst: std::ofstream::good
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:452,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:455,1
    - Dst: QDesktopServices::openUrl
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:458,1
    - Dst: QUrl::fromLocalFile
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:458,1
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:458,1
    - Dst: QProcess::startDetached
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:462,1
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 467
    functionName: GUIUtil::openBitcoinConf
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - GetConfigFilePath
    - QDesktopServices::openUrl
    - std::ofstream::close
    - std::ofstream::good
    - QProcess::startDetached
    - QUrl::fromLocalFile
    - GUIUtil::PathToQString
    linkageType: ''
    returnType: bool
    signature: bool openBitcoinConf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _size_threshold
    - parent
    argTypes:
    - int
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: GUIUtil::ToolTipToRichTextFilter::ToolTipToRichTextFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ToolTipToRichTextFilter::ToolTipToRichTextFilter(int _size_threshold,
      QObject *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:478,1
    - Dst: static_cast<QWidget*>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:480,1
    - Dst: QWidget*::toolTip
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:481,1
    - Dst: QString::size
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:482,1
    - Dst: QString::startsWith
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:482,1
    - Dst: Qt::mightBeRichText
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:482,1
    - Dst: HtmlEscape
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:486,1
    - Dst: QWidget*::setToolTip
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:487,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - evt
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 492
    functionName: GUIUtil::ToolTipToRichTextFilter::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - static_cast<QWidget*>
    - QWidget*::setToolTip
    - QWidget*::toolTip
    - Qt::mightBeRichText
    - QString::size
    - QEvent*::type
    - AskPassphraseDialog::eventFilter
    - QString::startsWith
    - HtmlEscape
    linkageType: ''
    returnType: bool
    signature: bool ToolTipToRichTextFilter::eventFilter(QObject *obj, QEvent *evt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: GUIUtil::LabelOutOfFocusEventFilter::LabelOutOfFocusEventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LabelOutOfFocusEventFilter::LabelOutOfFocusEventFilter(QObject*
      parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:501,1
    - Dst: static_cast<QFocusEvent*>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:502,1
    - Dst: auto::reason
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:503,1
    - Dst: qobject_cast<QLabel*>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:504,1
    - Dst: auto::textInteractionFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:506,1
    - Dst: auto::setTextInteractionFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:507,1
    - Dst: auto::setTextInteractionFlags
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:508,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 514
    functionName: GUIUtil::LabelOutOfFocusEventFilter::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - static_cast<QFocusEvent*>
    - auto::textInteractionFlags
    - auto::setTextInteractionFlags
    - auto::reason
    - QEvent*::type
    - qobject_cast<QLabel*>
    - AskPassphraseDialog::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool LabelOutOfFocusEventFilter::eventFilter(QObject* watched, QEvent*
      event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:519,1
    - Dst: GetSpecialFolderPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:521,1
    - Dst: GetSpecialFolderPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:523,1
    - Dst: GetSpecialFolderPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:524,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:524,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:524,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: GUIUtil::StartupShortcutPath
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - fs::u8path
    - GetSpecialFolderPath
    - GetChainType
    - strprintf
    - ChainTypeToString
    linkageType: ''
    returnType: fs::path
    signature: fs::path StartupShortcutPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:530,1
    - Dst: GUIUtil::StartupShortcutPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: GUIUtil::GetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - fs::exists
    - GUIUtil::StartupShortcutPath
    linkageType: ''
    returnType: bool
    signature: bool GetStartOnSystemStartup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:536,1
    - Dst: GUIUtil::StartupShortcutPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:536,1
    - Dst: CoInitialize
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:540,1
    - Dst: CoCreateInstance
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:544,1
    - Dst: reinterpret_cast<void**>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:546,1
    - Dst: SUCCEEDED
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:548,1
    - Dst: GetModuleFileNameW
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:552,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:552,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:557,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:557,1
    - Dst: GetChainTypeString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:557,1
    - Dst: IShellLinkW*::SetPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:560,1
    - Dst: PathRemoveFileSpecW
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:561,1
    - Dst: IShellLinkW*::SetWorkingDirectory
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:562,1
    - Dst: IShellLinkW*::SetShowCmd
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:563,1
    - Dst: IShellLinkW*::SetArguments
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:564,1
    - Dst: QString::toStdWString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:564,1
    - Dst: IShellLinkW*::QueryInterface
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:569,1
    - Dst: reinterpret_cast<void**>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:569,1
    - Dst: SUCCEEDED
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:570,1
    - Dst: IPersistFile*::Save
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:573,1
    - Dst: GUIUtil::StartupShortcutPath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:573,1
    - Dst: IPersistFile*::Release
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:574,1
    - Dst: IShellLinkW*::Release
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:575,1
    - Dst: CoUninitialize
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:576,1
    - Dst: IShellLinkW*::Release
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:579,1
    - Dst: CoUninitialize
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - fAutoStart
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 585
    functionName: GUIUtil::SetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - GetModuleFileNameW
    - SUCCEEDED
    - CoInitialize
    - CoCreateInstance
    - GetChainTypeString
    - IPersistFile*::Release
    - IPersistFile*::Save
    - reinterpret_cast<void**>
    - QString::fromStdString
    - IShellLinkW*::SetPath
    - QString::toStdWString
    - IShellLinkW*::SetArguments
    - IShellLinkW*::Release
    - CoUninitialize
    - GUIUtil::StartupShortcutPath
    - IShellLinkW*::QueryInterface
    - PathRemoveFileSpecW
    - strprintf
    - wallet::WalletImpl::remove
    - ARRAYSIZE
    - IShellLinkW*::SetWorkingDirectory
    - IShellLinkW*::SetShowCmd
    linkageType: ''
    returnType: bool
    signature: bool SetStartOnSystemStartup(bool fAutoStart)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:593,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:594,1
    - Dst: getenv
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:595,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:596,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 591
    functionDepth: 4
    functionLinenumber: 591
    functionLinenumberEnd: 598
    functionName: GUIUtil::GetAutostartDir
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - DeserializeHDKeypath
    - getenv
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetAutostartDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:602,1
    - Dst: GUIUtil::GetAutostartDir
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:604,1
    - Dst: GUIUtil::GetAutostartDir
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:605,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:605,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:605,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 5
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: GUIUtil::GetAutostartFilePath
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - GUIUtil::GetAutostartDir
    - fs::u8path
    - GetChainType
    - strprintf
    - ChainTypeToString
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetAutostartFilePath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::GetAutostartFilePath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:610,1
    - Dst: std::ifstream::good
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:611,1
    - Dst: std::ifstream::eof
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:615,1
    - Dst: getline
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:617,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:618,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:619,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 608
    functionDepth: 6
    functionLinenumber: 608
    functionLinenumberEnd: 625
    functionName: GUIUtil::GetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::close
    - std::ifstream::eof
    - getline
    - GUIUtil::GetAutostartFilePath
    - std::string::find
    - std::ifstream::good
    linkageType: ''
    returnType: bool
    signature: bool GetStartOnSystemStartup()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:630,1
    - Dst: GUIUtil::GetAutostartFilePath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:630,1
    - Dst: readlink
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:634,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:640,1
    - Dst: GUIUtil::GetAutostartDir
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:640,1
    - Dst: GUIUtil::GetAutostartFilePath
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:642,1
    - Dst: std::ofstream::good
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:643,1
    - Dst: GetChainType
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:645,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:652,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:652,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:653,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:653,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - fAutoStart
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 627
    functionDepth: 6
    functionLinenumber: 627
    functionLinenumberEnd: 659
    functionName: GUIUtil::SetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - GUIUtil::GetAutostartDir
    - strprintf
    - wallet::WalletImpl::remove
    - std::ofstream::close
    - GUIUtil::GetAutostartFilePath
    - std::ofstream::good
    - GetChainType
    - fs::create_directories
    - readlink
    - ChainTypeToString
    linkageType: ''
    returnType: bool
    signature: bool SetStartOnSystemStartup(bool fAutoStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: GUIUtil::GetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetStartOnSystemStartup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fAutoStart
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: GUIUtil::SetStartOnSystemStartup
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetStartOnSystemStartup(bool fAutoStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::clipboard
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:670,1
    - Dst: QClipboard*::setText
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:671,1
    - Dst: QClipboard*::supportsSelection
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:672,1
    - Dst: QClipboard*::setText
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 675
    functionName: GUIUtil::setClipboard
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 27
    functionsReached:
    - QClipboard*::setText
    - QClipboard*::supportsSelection
    - QApplication::clipboard
    linkageType: ''
    returnType: void
    signature: void setClipboard(const QString& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:679,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 680
    functionName: GUIUtil::QStringToPath
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - fs::u8path
    - QString::toStdString
    linkageType: ''
    returnType: fs::path
    signature: fs::path QStringToPath(const QString &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:684,1
    - Dst: fs::path::utf8string
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: GUIUtil::PathToQString
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 9
    functionsReached:
    - QString::fromStdString
    - fs::path::utf8string
    linkageType: ''
    returnType: QString
    signature: QString PathToQString(const fs::path &path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:690,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:692,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:694,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:696,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:698,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:700,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:702,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - net
    argTypes:
    - Network
    assertStmts:
    - condition: (false)
      pos:
        line_end: 701
        line_start: 701
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    - condition: (false)
      pos:
        line_end: 703
        line_start: 703
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 705
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 705
    functionName: GUIUtil::NetworkToQString
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - SighashToStr
    - assert
    linkageType: ''
    returnType: QString
    signature: QString NetworkToQString(Network net)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:714,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:717,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:722,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:725,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:727,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:729,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:731,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - conn_type
    - prepend_direction
    argTypes:
    - ConnectionType
    - bool
    assertStmts:
    - condition: (false)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 734
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 734
    functionName: GUIUtil::ConnectionTypeToQString
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - SighashToStr
    - assert
    linkageType: ''
    returnType: QString
    signature: QString ConnectionTypeToQString(ConnectionType conn_type, bool prepend_direction)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::days>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:738,1
    - Dst: std::chrono::duration_cast<std::chrono::hours>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:739,1
    - Dst: std::chrono::duration_cast<std::chrono::minutes>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:740,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:741,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:743,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:743,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:743,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:744,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:744,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:744,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:745,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:745,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:745,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:746,1
    - Dst: QStringList::empty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:747,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:747,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:747,1
    - Dst: QStringList::join
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - dur
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 749
    functionName: GUIUtil::formatDurationStr
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - std::chrono::duration_cast<std::chrono::days>
    - std::chrono::duration_cast<std::chrono::minutes>
    - std::chrono::duration_cast<std::chrono::hours>
    - SighashToStr
    - QStringList::join
    - std::chrono::duration_cast<std::chrono::seconds>
    - QStringList::empty
    - auto::count
    - QStringList::append
    linkageType: ''
    returnType: QString
    signature: QString formatDurationStr(std::chrono::seconds dur)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:753,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:755,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:756,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:757,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - time_connected
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: GUIUtil::FormatPeerAge
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - SighashToStr
    - GetTime
    linkageType: ''
    returnType: QString
    signature: QString FormatPeerAge(std::chrono::seconds time_connected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serviceFlagsToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:765,1
    - Dst: QStringList::append
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:766,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:766,1
    - Dst: QStringList::size
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:769,1
    - Dst: QStringList::join
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:770,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mask
    argTypes:
    - quint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 773
    functionName: GUIUtil::formatServicesStr
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QStringList::size
    - SighashToStr
    - QStringList::join
    - QString::fromStdString
    - serviceFlagsToStr
    - QStringList::append
    linkageType: ''
    returnType: QString
    signature: QString formatServicesStr(quint64 mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:777,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:778,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:779,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:779,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ping_time
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: GUIUtil::formatPingTime
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - SighashToStr
    - count_microseconds
    - RandomMixin::max
    - print_number
    linkageType: ''
    returnType: QString
    signature: QString formatPingTime(std::chrono::microseconds ping_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:784,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time_offset
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 785
    functionName: GUIUtil::formatTimeOffset
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - SighashToStr
    - print_number
    linkageType: ''
    returnType: QString
    signature: QString formatTimeOffset(int64_t time_offset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:797,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:801,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:805,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:809,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:813,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:819,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:819,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - secs
    argTypes:
    - qint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 822
    functionName: GUIUtil::formatNiceTimeOffset
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - SighashToStr
    linkageType: ''
    returnType: QString
    signature: QString formatNiceTimeOffset(qint64 secs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:827,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:829,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:831,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 834
    functionName: GUIUtil::formatBytes
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - SighashToStr
    linkageType: ''
    returnType: QString
    signature: QString formatBytes(uint64_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QFont::setPointSizeF
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:838,1
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - width
    - ' text'
    - font
    - minPointSize
    - font_size
    argTypes:
    - int
    - QString
    - QFont
    - qreal
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: GUIUtil::calculateIdealFontSize
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - QFont::setPointSizeF
    - GUIUtil::TextWidth
    linkageType: ''
    returnType: qreal
    signature: qreal calculateIdealFontSize(int width, const QString& text, QFont
      font, qreal minPointSize, qreal font_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - platform_style
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts:
    - condition: (m_platform_style)
      pos:
        line_end: 850
        line_start: 850
        source_file: /src/bitcoin-core/src/qt/guiutil.cpp
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: GUIUtil::ThemedLabel::ThemedLabel
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ThemedLabel::ThemedLabel(const PlatformStyle* platform_style,
      QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::ThemedLabel::updateThemedPixmap
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' image_filename'
    - width
    - height
    argTypes:
    - QString
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 860
    functionName: GUIUtil::ThemedLabel::setThemedPixmap
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::ThemedLabel::updateThemedPixmap
    linkageType: ''
    returnType: void
    signature: void ThemedLabel::setThemedPixmap(const QString& image_filename, int
      width, int height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:864,1
    - Dst: GUIUtil::ThemedLabel::updateThemedPixmap
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:865,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: GUIUtil::ThemedLabel::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - SignVerifyMessageDialog::changeEvent
    - GUIUtil::ThemedLabel::updateThemedPixmap
    - QEvent*::type
    linkageType: ''
    returnType: void
    signature: void ThemedLabel::changeEvent(QEvent* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPixmap
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:873,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 874
    functionName: GUIUtil::ThemedLabel::updateThemedPixmap
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - SingleColorIcon
    - setPixmap
    linkageType: ''
    returnType: void
    signature: void ThemedLabel::updateThemedPixmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - platform_style
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 879
    functionName: GUIUtil::ClickableLabel::ClickableLabel
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClickableLabel::ClickableLabel(const PlatformStyle* platform_style,
      QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMouseEvent*::pos
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: GUIUtil::ClickableLabel::mouseReleaseEvent
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QMouseEvent*::pos
    linkageType: ''
    returnType: void
    signature: void ClickableLabel::mouseReleaseEvent(QMouseEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMouseEvent*::pos
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 889
    functionName: GUIUtil::ClickableProgressBar::mouseReleaseEvent
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QMouseEvent*::pos
    linkageType: ''
    returnType: void
    signature: void ClickableProgressBar::mouseReleaseEvent(QMouseEvent *event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:893,1
    - Dst: static_cast<QKeyEvent*>
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:894,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - object
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 899
    functionName: GUIUtil::ItemDelegate::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - static_cast<QKeyEvent*>
    - AskPassphraseDialog::eventFilter
    - QEvent*::type
    linkageType: ''
    returnType: bool
    signature: bool ItemDelegate::eventFilter(QObject *object, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:905,1
    - Dst: QProgressDialog*::fontMetrics
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:905,1
    - Dst: QProgressDialog*::resize
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:906,1
    - Dst: QProgressDialog*::width
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:906,1
    - Dst: QProgressDialog*::height
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:906,1
    - Dst: QProgressDialog*::setMinimumDuration
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dialog
    argTypes:
    - QProgressDialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 913
    functionName: GUIUtil::PolishProgressDialog
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - QProgressDialog*::fontMetrics
    - GUIUtil::TextWidth
    - QProgressDialog*::resize
    - QProgressDialog*::height
    - QProgressDialog*::width
    - QProgressDialog*::setMinimumDuration
    linkageType: ''
    returnType: void
    signature: void PolishProgressDialog(QProgressDialog* dialog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: horizontalAdvance
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fm'
    - ' text'
    argTypes:
    - QFontMetrics
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: GUIUtil::TextWidth
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 7
    functionsReached:
    - horizontalAdvance
    linkageType: ''
    returnType: int
    signature: int TextWidth(const QFontMetrics& fm, const QString& text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:927,1
    - Dst: qVersion
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:927,1
    - Dst: QGuiApplication::platformName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:927,1
    - Dst: QPluginLoader::staticPlugins
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:928,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:929,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:930,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:932,1
    - Dst: metaData
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:934,1
    - Dst: QJsonObject::take
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:935,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:935,1
    - Dst: QJsonObject::take
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:936,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:936,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:937,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:941,1
    - Dst: QApplication::style
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:941,1
    - Dst: QApplication::style
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:941,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:942,1
    - Dst: QSysInfo::prettyProductName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:942,1
    - Dst: QSysInfo::buildAbi
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:942,1
    - Dst: QGuiApplication::screens
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:943,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    - Dst: name
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    - Dst: devicePixelRatio
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 946
    functionName: GUIUtil::LogQtInfo
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QGuiApplication::screens
    - QString
    - metaData
    - QSysInfo::buildAbi
    - QGuiApplication::platformName
    - QApplication::style
    - size
    - LogInfo
    - QJsonObject::take
    - qVersion
    - auto::empty
    - QSysInfo::prettyProductName
    - devicePixelRatio
    - QPluginLoader::staticPlugins
    - name
    linkageType: ''
    returnType: void
    signature: void LogQtInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::platformName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:951,1
    - Dst: QMenu*::popup
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - menu
    - ' point'
    - at_action
    argTypes:
    - QMenu*
    - QPoint
    - QAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 953
    functionName: GUIUtil::PopupMenu
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - QMenu*::popup
    - QApplication::platformName
    linkageType: ''
    returnType: void
    signature: void PopupMenu(QMenu* menu, const QPoint& point, QAction* at_action)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startOfDay
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' date'
    argTypes:
    - QDate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: GUIUtil::StartOfDay
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 2
    functionsReached:
    - startOfDay
    linkageType: ''
    returnType: QDateTime
    signature: QDateTime StartOfDay(const QDate& date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QLabel*::pixmap
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - QLabel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 963
    functionName: GUIUtil::HasPixmap
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 6
    functionsReached:
    - QLabel*::pixmap
    linkageType: ''
    returnType: bool
    signature: bool HasPixmap(const QLabel* label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:967,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:969,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:969,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' source'
    - ' link'
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 970
    functionName: GUIUtil::MakeHtmlLink
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QLatin1String
    linkageType: ''
    returnType: QString
    signature: QString MakeHtmlLink(const QString& source, const QString& link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QObject*::metaObject
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:977,1
    - Dst: QObject*::metaObject
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:979,1
    - Dst: PrintExceptionContinue
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - exception
    - sender
    - receiver
    argTypes:
    - std::exception*
    - QObject*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 981
    functionName: GUIUtil::PrintSlotException
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 0
    functionsReached:
    - QObject*::metaObject
    - PrintExceptionContinue
    linkageType: ''
    returnType: void
    signature: "void PrintSlotException(\n    const std::exception* exception,\n    const
      QObject* sender,\n    const QObject* receiver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDialog*::setAttribute
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:985,1
    - Dst: QDialog*::setWindowModality
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:986,1
    - Dst: QDialog*::show
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dialog
    argTypes:
    - QDialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 988
    functionName: GUIUtil::ShowModalDialogAsynchronously
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 8
    functionsReached:
    - QDialog*::setAttribute
    - QDialog*::setWindowModality
    - QDialog*::show
    linkageType: ''
    returnType: void
    signature: void ShowModalDialogAsynchronously(QDialog* dialog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:992,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: GUIUtil::WalletDisplayName
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 3
    functionsReached:
    - SighashToStr
    - isEmpty
    linkageType: ''
    returnType: QString
    signature: QString WalletDisplayName(const QString& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:997,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/guiutil.cpp:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 998
    functionName: GUIUtil::WalletDisplayName
    functionSourceFile: /src/bitcoin-core/src/qt/guiutil.cpp
    functionUses: 4
    functionsReached:
    - GUIUtil::WalletDisplayName
    - QString::fromStdString
    linkageType: ''
    returnType: QString
    signature: QString WalletDisplayName(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 57
    functionName: QDialog
    functionSourceFile: /src/bitcoin-core/src/qt/editaddressdialog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QDialog
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.h:54,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.h:82,1
    - Dst: QT_VERSION_CHECK
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 127
    functionName: QDialog
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.h
    functionUses: 0
    functionsReached:
    - QT_VERSION_CHECK
    - QString
    - get
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QDialog
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/qt/sendcoinsdialog.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: getCoinControl
    functionSourceFile: /src/bitcoin-core/src/qt/sendcoinsdialog.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: wallet::CCoinControl
    signature: wallet::CCoinControl * getCoinControl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QTreeWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: CCoinControlWidgetItem::CCoinControlWidgetItem
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinControlWidgetItem(QTreeWidget *parent, int type = Type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QTreeWidgetItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: CCoinControlWidgetItem::CCoinControlWidgetItem
    functionSourceFile: /src/bitcoin-core/src/qt/coincontroldialog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CCoinControlWidgetItem(QTreeWidgetItem *parent, int type = Type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 125
    functionName: QStackedWidget
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QStackedWidget
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: getWalletModel
    functionSourceFile: /src/bitcoin-core/src/qt/walletview.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: WalletModel
    signature: WalletModel * getWalletModel() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QTimer::QTimer
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:27,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: TrafficGraphWidget::TrafficGraphWidget
    functionSourceFile: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QTimer::QTimer
    linkageType: ''
    returnType: void
    signature: void TrafficGraphWidget::TrafficGraphWidget(QWidget* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ClientModel*::node
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:35,1
    - Dst: ClientModel*::node
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - model
    argTypes:
    - ClientModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: TrafficGraphWidget::setClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp
    functionUses: 0
    functionsReached:
    - ClientModel*::node
    linkageType: ''
    returnType: void
    signature: void TrafficGraphWidget::setClientModel(ClientModel *model)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: TrafficGraphWidget::getGraphRange
    functionSourceFile: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::minutes
    signature: std::chrono::minutes TrafficGraphWidget::getGraphRange() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QQueue<float>::size
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:44,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:46,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:46,1
    - Dst: QPainterPath::moveTo
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:48,1
    - Dst: QQueue<float>::at
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:51,1
    - Dst: QPainterPath::lineTo
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:52,1
    - Dst: QPainterPath::lineTo
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - path
    - samples
    argTypes:
    - QPainterPath
    - QQueue<float>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: TrafficGraphWidget::paintPath
    functionSourceFile: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp
    functionUses: 0
    functionsReached:
    - width
    - QPainterPath::lineTo
    - QPainterPath::moveTo
    - QQueue<float>::size
    - QQueue<float>::at
    - height
    linkageType: ''
    returnType: void
    signature: void TrafficGraphWidget::paintPath(QPainterPath &path, QQueue<float>
      &samples)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QPainter::fillRect
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:61,1
    - Dst: rect
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:61,1
    - Dst: height
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:66,1
    - Dst: QPainter::setPen
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:67,1
    - Dst: QPainter::drawLine
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:68,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:68,1
    - Dst: std::floor
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:71,1
    - Dst: std::log10
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:71,1
    - Dst: std::pow
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:72,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:74,1
    - Dst: QPainter::setPen
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:78,1
    - Dst: QPainter::drawText
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:79,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:79,1
    - Dst: QPainter::drawLine
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:82,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:82,1
    - Dst: QColor::darker
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:86,1
    - Dst: pow
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:87,1
    - Dst: QPainter::setPen
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:88,1
    - Dst: QPainter::drawText
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:89,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:89,1
    - Dst: QPainter::drawLine
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:96,1
    - Dst: width
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:96,1
    - Dst: QPainter::setRenderHint
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:100,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:101,1
    - Dst: TrafficGraphWidget::paintPath
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:103,1
    - Dst: QPainter::fillPath
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:104,1
    - Dst: QColor
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:104,1
    - Dst: QPainter::setPen
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:105,1
    - Dst: QPainter::drawPath
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:106,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:108,1
    - Dst: TrafficGraphWidget::paintPath
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:110,1
    - Dst: QPainter::fillPath
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:111,1
    - Dst: QColor
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:111,1
    - Dst: QPainter::setPen
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:112,1
    - Dst: QPainter::drawPath
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 115
    functionName: TrafficGraphWidget::paintEvent
    functionSourceFile: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QPainter::drawLine
    - std::pow
    - QPainter::setPen
    - QColor
    - std::floor
    - rect
    - QPainter::drawPath
    - QPainter::fillRect
    - pow
    - QColor::darker
    - QPainter::setRenderHint
    - QPainter::fillPath
    - empty
    - tr
    - TrafficGraphWidget::paintPath
    - width
    - QPainter::drawText
    - std::log10
    - height
    linkageType: ''
    returnType: void
    signature: void TrafficGraphWidget::paintEvent(QPaintEvent *)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: node
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:121,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:122,1
    - Dst: static_cast<float>
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:123,1
    - Dst: interval
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:123,1
    - Dst: static_cast<float>
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:124,1
    - Dst: interval
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:124,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:125,1
    - Dst: push_front
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:126,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:130,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:131,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:133,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:134,1
    - Dst: update
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 146
    functionName: TrafficGraphWidget::updateRates
    functionSourceFile: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp
    functionUses: 0
    functionsReached:
    - node
    - push_front
    - size
    - update
    - pop_back
    - static_cast<float>
    - interval
    linkageType: ''
    returnType: void
    signature: void TrafficGraphWidget::updateRates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:151,1
    - Dst: stop
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:152,1
    - Dst: setInterval
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:153,1
    - Dst: TrafficGraphWidget::clear
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - new_range
    argTypes:
    - std::chrono::minutes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: TrafficGraphWidget::setGraphRange
    functionSourceFile: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp
    functionUses: 0
    functionsReached:
    - setInterval
    - TrafficGraphWidget::clear
    - stop
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: void
    signature: void TrafficGraphWidget::setGraphRange(std::chrono::minutes new_range)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:160,1
    - Dst: TrafficGraphWidget::clear
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:162,1
    - Dst: TrafficGraphWidget::clear
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:163,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:167,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:168,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: TrafficGraphWidget::clear
    functionSourceFile: /src/bitcoin-core/src/qt/trafficgraphwidget.cpp
    functionUses: 2
    functionsReached:
    - TrafficGraphWidget::clear
    - node
    - stop
    - start
    linkageType: ''
    returnType: void
    signature: void TrafficGraphWidget::clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TxViewDelegate
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:37,1
    - Dst: QAbstractItemDelegate
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:38,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:40,1
    - Dst: QPainter*::save
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:46,1
    - Dst: qvariant_cast<QIcon>
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:48,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:48,1
    - Dst: QRect::topLeft
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:50,1
    - Dst: QSize
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:50,1
    - Dst: QRect::height
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:53,1
    - Dst: QRect::left
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:54,1
    - Dst: QRect::top
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:54,1
    - Dst: QRect::width
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:54,1
    - Dst: QRect::left
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:55,1
    - Dst: QRect::top
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:55,1
    - Dst: QRect::width
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:55,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:56,1
    - Dst: QIcon::paint
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:57,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:59,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:60,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:61,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:62,1
    - Dst: QModelIndex::data
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:63,1
    - Dst: QStyleOptionViewItem::palette::color
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:64,1
    - Dst: QVariant::canConvert
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:65,1
    - Dst: qvariant_cast<QBrush>
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:67,1
    - Dst: QBrush::color
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:68,1
    - Dst: QPainter*::setPen
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:71,1
    - Dst: QPainter*::drawText
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:73,1
    - Dst: QStyleOptionViewItem::palette::color
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:85,1
    - Dst: QPainter*::setPen
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:87,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:88,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:91,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:91,1
    - Dst: QPainter*::drawText
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:95,1
    - Dst: QPainter*::setPen
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:97,1
    - Dst: QStyleOptionViewItem::palette::color
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:97,1
    - Dst: QPainter*::drawText
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:99,1
    - Dst: GUIUtil::dateTimeStr
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:99,1
    - Dst: QRect::width
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:102,1
    - Dst: QRect::width
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:102,1
    - Dst: find
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:103,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:103,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:104,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:105,1
    - Dst: QPainter*::restore
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - painter
    - option
    - index
    argTypes:
    - QPainter*
    - QStyleOptionViewItem
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 110
    functionName: paint
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 1
    functionsReached:
    - QString
    - QPainter*::save
    - QRect::top
    - QBrush::color
    - QIcon::paint
    - QVariant::canConvert
    - QSize
    - QRect::width
    - GUIUtil::dateTimeStr
    - QRect::left
    - QPainter*::drawText
    - BitcoinUnits::formatWithUnit
    - QModelIndex::row
    - find
    - connect
    - QPainter*::restore
    - qvariant_cast<QIcon>
    - TxViewDelegate
    - QStyleOptionViewItem::palette::color
    - end
    - qvariant_cast<QBrush>
    - QAbstractItemDelegate
    - QRect::height
    - QPainter*::setPen
    - SingleColorIcon
    - QRect::topLeft
    - QModelIndex::data
    linkageType: ''
    returnType: "class TxViewDelegate : public QAbstractItemDelegate\n{\n    Q_OBJECT\npublic:\n
      \   explicit TxViewDelegate(const PlatformStyle* _platformStyle, QObject* parent
      = nullptr)\n        : QAbstractItemDelegate(parent), platformStyle(_platformStyle)\n
      \   {\n        connect(this, &TxViewDelegate::width_changed, this, &TxViewDelegate::sizeHintChanged);\n
      \   }"
    signature: "class TxViewDelegate : public QAbstractItemDelegate\n{\n    Q_OBJECT\npublic:\n
      \   explicit TxViewDelegate(const PlatformStyle* _platformStyle, QObject* parent
      = nullptr)\n        : QAbstractItemDelegate(parent), platformStyle(_platformStyle)\n
      \   {\n        connect(this, &TxViewDelegate::width_changed, this, &TxViewDelegate::sizeHintChanged);\n
      \   } paint(QPainter *painter, const QStyleOptionViewItem &option,\n                      const
      QModelIndex &index ) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:114,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:114,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - index
    argTypes:
    - QStyleOptionViewItem
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: sizeHint
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 4
    functionsReached:
    - end
    - QModelIndex::row
    - find
    linkageType: ''
    returnType: QSize
    signature: QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex
      &index) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ui::OverviewPage::OverviewPage
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:134,1
    - Dst: TxViewDelegate::TxViewDelegate
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:136,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:138,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:141,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:141,1
    - Dst: labelTransactionsStatus::setIcon
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:142,1
    - Dst: labelWalletStatus::setIcon
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:143,1
    - Dst: listTransactions::setItemDelegate
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:146,1
    - Dst: listTransactions::setIconSize
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:147,1
    - Dst: QSize
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:147,1
    - Dst: listTransactions::setMinimumHeight
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:148,1
    - Dst: listTransactions::setAttribute
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:149,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:151,1
    - Dst: OverviewPage::showOutOfSyncWarning
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:154,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:155,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - platformStyle
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: OverviewPage::OverviewPage
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 2
    functionsReached:
    - connect
    - QStringLiteral
    - Ui::OverviewPage::OverviewPage
    - listTransactions::setAttribute
    - labelTransactionsStatus::setIcon
    - listTransactions::setItemDelegate
    - OverviewPage::showOutOfSyncWarning
    - setupUi
    - SingleColorIcon
    - labelWalletStatus::setIcon
    - QSize
    - listTransactions::setIconSize
    - listTransactions::setMinimumHeight
    - TxViewDelegate::TxViewDelegate
    linkageType: ''
    returnType: void
    signature: void OverviewPage::OverviewPage(const PlatformStyle *platformStyle,
      QWidget *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transactionClicked
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:162,1
    - Dst: mapToSource
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: OverviewPage::handleTransactionClicked
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 0
    functionsReached:
    - mapToSource
    - transactionClicked
    linkageType: ''
    returnType: void
    signature: void OverviewPage::handleTransactionClicked(const QModelIndex &index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:168,1
    - Dst: getCachedBalance
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:169,1
    - Dst: OverviewPage::setBalance
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:171,1
    - Dst: listTransactions::setVisible
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:174,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:176,1
    - Dst: setStatusTip
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:177,1
    - Dst: QApplication::sendEvent
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - privacy
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: OverviewPage::setPrivacy
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 0
    functionsReached:
    - QApplication::sendEvent
    - listTransactions::setVisible
    - OverviewPage::setBalance
    - setStatusTip
    - tr
    - getCachedBalance
    - getOptionsModel
    linkageType: ''
    returnType: void
    signature: void OverviewPage::setPrivacy(bool privacy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: OverviewPage::~OverviewPage()
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverviewPage::~OverviewPage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:189,1
    - Dst: labelBalance::setText
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:190,1
    - Dst: BitcoinUnits::formatWithPrivacy
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:190,1
    - Dst: labelUnconfirmed::setText
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:191,1
    - Dst: BitcoinUnits::formatWithPrivacy
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:191,1
    - Dst: labelImmature::setText
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:192,1
    - Dst: BitcoinUnits::formatWithPrivacy
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:192,1
    - Dst: labelTotal::setText
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:193,1
    - Dst: BitcoinUnits::formatWithPrivacy
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:193,1
    - Dst: labelImmature::setVisible
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:198,1
    - Dst: labelImmatureText::setVisible
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' balances'
    argTypes:
    - interfaces::WalletBalances
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: OverviewPage::setBalance
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 1
    functionsReached:
    - labelImmatureText::setVisible
    - labelUnconfirmed::setText
    - labelImmature::setVisible
    - labelImmature::setText
    - labelBalance::setText
    - labelTotal::setText
    - BitcoinUnits::formatWithPrivacy
    - getOptionsModel
    linkageType: ''
    returnType: void
    signature: void OverviewPage::setBalance(const interfaces::WalletBalances& balances)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:207,1
    - Dst: OverviewPage::updateAlerts
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:208,1
    - Dst: ClientModel*::getStatusBarWarnings
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:208,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:210,1
    - Dst: ClientModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:210,1
    - Dst: OverviewPage::setMonospacedFont
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:211,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - model
    argTypes:
    - ClientModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: OverviewPage::setClientModel
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 0
    functionsReached:
    - connect
    - ClientModel*::getStatusBarWarnings
    - ClientModel*::getOptionsModel
    - getOptionsModel
    - OverviewPage::setMonospacedFont
    - OverviewPage::updateAlerts
    linkageType: ''
    returnType: void
    signature: void OverviewPage::setClientModel(ClientModel *model)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:218,1
    - Dst: reset
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:221,1
    - Dst: TransactionFilterProxy::TransactionFilterProxy
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:221,1
    - Dst: setSourceModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:222,1
    - Dst: WalletModel*::getTransactionTableModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:222,1
    - Dst: setDynamicSortFilter
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:223,1
    - Dst: setSortRole
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:224,1
    - Dst: setShowInactive
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:225,1
    - Dst: sort
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:226,1
    - Dst: listTransactions::setModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:228,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:228,1
    - Dst: listTransactions::setModelColumn
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:229,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:231,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:231,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:232,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:232,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:233,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:233,1
    - Dst: OverviewPage::LimitTransactionRows
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:234,1
    - Dst: OverviewPage::setBalance
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:236,1
    - Dst: WalletModel*::getCachedBalance
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:236,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:237,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:239,1
    - Dst: WalletModel*::getOptionsModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:239,1
    - Dst: OverviewPage::updateDisplayUnit
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 244
    functionName: OverviewPage::setWalletModel
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 0
    functionsReached:
    - connect
    - WalletModel*::getOptionsModel
    - WalletModel*::getCachedBalance
    - TransactionFilterProxy::TransactionFilterProxy
    - setShowInactive
    - sort
    - setSourceModel
    - OverviewPage::LimitTransactionRows
    - OverviewPage::setBalance
    - OverviewPage::updateDisplayUnit
    - reset
    - listTransactions::setModelColumn
    - get
    - setDynamicSortFilter
    - setSortRole
    - listTransactions::setModel
    - WalletModel*::getTransactionTableModel
    linkageType: ''
    returnType: void
    signature: void OverviewPage::setWalletModel(WalletModel *model)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:248,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:249,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:249,1
    - Dst: labelTransactionsStatus::setIcon
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:250,1
    - Dst: labelWalletStatus::setIcon
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:251,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: OverviewPage::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - SignVerifyMessageDialog::changeEvent
    - labelTransactionsStatus::setIcon
    - QEvent*::type
    - SingleColorIcon
    - labelWalletStatus::setIcon
    linkageType: ''
    returnType: void
    signature: void OverviewPage::changeEvent(QEvent* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: listTransactions::model
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:260,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:260,1
    - Dst: listTransactions::model
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:260,1
    - Dst: rowCount
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:261,1
    - Dst: listTransactions::setRowHidden
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: OverviewPage::LimitTransactionRows
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 1
    functionsReached:
    - listTransactions::model
    - get
    - listTransactions::setRowHidden
    - rowCount
    linkageType: ''
    returnType: void
    signature: void OverviewPage::LimitTransactionRows()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:269,1
    - Dst: getCachedBalance
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:270,1
    - Dst: OverviewPage::setBalance
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:272,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:276,1
    - Dst: listTransactions::update
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: OverviewPage::updateDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 1
    functionsReached:
    - listTransactions::update
    - getCachedBalance
    - getOptionsModel
    - OverviewPage::setBalance
    linkageType: ''
    returnType: void
    signature: void OverviewPage::updateDisplayUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OverviewPage::ui::labelAlerts::setVisible
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:284,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:284,1
    - Dst: OverviewPage::ui::labelAlerts::setText
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - warnings
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: OverviewPage::updateAlerts
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 1
    functionsReached:
    - OverviewPage::ui::labelAlerts::setVisible
    - OverviewPage::ui::labelAlerts::setText
    - QString::isEmpty
    linkageType: ''
    returnType: void
    signature: void OverviewPage::updateAlerts(const QString &warnings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: labelWalletStatus::setVisible
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:290,1
    - Dst: labelTransactionsStatus::setVisible
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fShow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: OverviewPage::showOutOfSyncWarning
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 1
    functionsReached:
    - labelTransactionsStatus::setVisible
    - labelWalletStatus::setVisible
    linkageType: ''
    returnType: void
    signature: void OverviewPage::showOutOfSyncWarning(bool fShow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: labelBalance::setFont
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:296,1
    - Dst: labelUnconfirmed::setFont
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:297,1
    - Dst: labelImmature::setFont
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:298,1
    - Dst: labelTotal::setFont
      Src: /src/bitcoin-core/src/qt/overviewpage.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - QFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: OverviewPage::setMonospacedFont
    functionSourceFile: /src/bitcoin-core/src/qt/overviewpage.cpp
    functionUses: 1
    functionsReached:
    - labelBalance::setFont
    - labelTotal::setFont
    - labelUnconfirmed::setFont
    - labelImmature::setFont
    linkageType: ''
    returnType: void
    signature: void OverviewPage::setMonospacedFont(const QFont& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::PathToQString
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:50,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:50,1
    - Dst: QString::append
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:51,1
    - Dst: print_number
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:51,1
    - Dst: qHash
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: ipcServerName
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 0
    functionsReached:
    - QString::append
    - print_number
    - qHash
    - GetDataDirNet
    - GUIUtil::PathToQString
    linkageType: ''
    returnType: QString
    signature: QString ipcServerName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QString::startsWith
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:77,1
    - Dst: QString::startsWith
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:79,1
    - Dst: insert
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: PaymentServer::ipcParseCommandLine
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 0
    functionsReached:
    - insert
    - QString::startsWith
    linkageType: ''
    returnType: void
    signature: void PaymentServer::ipcParseCommandLine(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QLocalSocket::QLocalSocket
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:97,1
    - Dst: QLocalSocket*::connectToServer
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:98,1
    - Dst: ipcServerName
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:98,1
    - Dst: QLocalSocket*::waitForConnected
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:99,1
    - Dst: QDataStream::setVersion
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:108,1
    - Dst: QDataStream::device
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:110,1
    - Dst: QLocalSocket*::write
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:112,1
    - Dst: QLocalSocket*::flush
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:113,1
    - Dst: QLocalSocket*::waitForBytesWritten
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:114,1
    - Dst: QLocalSocket*::disconnectFromServer
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: PaymentServer::ipcSendCommandLine
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 0
    functionsReached:
    - QLocalSocket::QLocalSocket
    - QLocalSocket*::flush
    - QLocalSocket*::waitForBytesWritten
    - QDataStream::device
    - QDataStream::setVersion
    - ipcServerName
    - QLocalSocket*::write
    - QLocalSocket*::connectToServer
    - QLocalSocket*::disconnectFromServer
    - QLocalSocket*::waitForConnected
    linkageType: ''
    returnType: bool
    signature: bool PaymentServer::ipcSendCommandLine()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QObject*::installEventFilter
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:132,1
    - Dst: ipcServerName
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:134,1
    - Dst: QLocalServer::removeServer
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:137,1
    - Dst: QLocalServer::QLocalServer
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:141,1
    - Dst: listen
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:143,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:145,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:145,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:146,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - parent
    - startLocalServer
    argTypes:
    - QObject*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 152
    functionName: PaymentServer::PaymentServer
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - connect
    - QObject*::installEventFilter
    - QLocalServer::QLocalServer
    - tr
    - ipcServerName
    - QLocalServer::removeServer
    - listen
    linkageType: ''
    returnType: void
    signature: void PaymentServer::PaymentServer(QObject* parent, bool startLocalServer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: PaymentServer::~PaymentServer()
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaymentServer::~PaymentServer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:161,1
    - Dst: static_cast<QFileOpenEvent*>
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:162,1
    - Dst: QFileOpenEvent*::file
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:163,1
    - Dst: PaymentServer::handleURIOrFile
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:164,1
    - Dst: QFileOpenEvent*::file
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:164,1
    - Dst: QFileOpenEvent*::url
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:165,1
    - Dst: PaymentServer::handleURIOrFile
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:166,1
    - Dst: QFileOpenEvent*::url
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:166,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - object
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: PaymentServer::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 0
    functionsReached:
    - QFileOpenEvent*::file
    - PaymentServer::handleURIOrFile
    - static_cast<QFileOpenEvent*>
    - QFileOpenEvent*::url
    - QEvent*::type
    - AskPassphraseDialog::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool PaymentServer::eventFilter(QObject *object, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PaymentServer::handleURIOrFile
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:179,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: PaymentServer::uiReady
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 0
    functionsReached:
    - clear
    - PaymentServer::handleURIOrFile
    linkageType: ''
    returnType: void
    signature: void PaymentServer::uiReady()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:188,1
    - Dst: startsWith
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:192,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:194,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:194,1
    - Dst: startsWith
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:197,1
    - Dst: QUrl
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:199,1
    - Dst: SendCoinsRecipient::SendCoinsRecipient
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:202,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:203,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:206,1
    - Dst: SendCoinsRecipient::address::toStdString
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:206,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:208,1
    - Dst: QUrlQuery::hasQueryItem
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:209,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:210,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:211,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:216,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:216,1
    - Dst: receivedPaymentRequest
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:220,1
    - Dst: message
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:223,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:223,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:224,1
    - Dst: CTxMemPool::exists
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:231,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:233,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 239
    functionName: PaymentServer::handleURIOrFile
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 2
    functionsReached:
    - GUIUtil::parseBitcoinURI
    - IsValidDestination
    - CTxMemPool::exists
    - DecodeDestination
    - receivedPaymentRequest
    - SendCoinsRecipient::SendCoinsRecipient
    - SendCoinsRecipient::address::toStdString
    - QUrl
    - tr
    - startsWith
    - QString::fromStdString
    - QUrlQuery::hasQueryItem
    - message
    - insert
    linkageType: ''
    returnType: void
    signature: void PaymentServer::handleURIOrFile(const QString& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nextPendingConnection
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:243,1
    - Dst: QLocalSocket*::bytesAvailable
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:245,1
    - Dst: QLocalSocket*::waitForReadyRead
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:246,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:248,1
    - Dst: QDataStream::setVersion
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:251,1
    - Dst: QLocalSocket*::bytesAvailable
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:252,1
    - Dst: PaymentServer::handleURIOrFile
      Src: /src/bitcoin-core/src/qt/paymentserver.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 6
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: PaymentServer::handleURIConnection
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QLocalSocket*::waitForReadyRead
    - QLocalSocket*::bytesAvailable
    - QDataStream::setVersion
    - nextPendingConnection
    - PaymentServer::handleURIOrFile
    linkageType: ''
    returnType: void
    signature: void PaymentServer::handleURIConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _optionsModel
    argTypes:
    - OptionsModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: PaymentServer::setOptionsModel
    functionSourceFile: /src/bitcoin-core/src/qt/paymentserver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PaymentServer::setOptionsModel(OptionsModel *_optionsModel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AmountSpinBox
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:29,1
    - Dst: QAbstractSpinBox
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:30,1
    - Dst: setAlignment
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:32,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:39,1
    - Dst: parse
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - text
    - pos
    argTypes:
    - QString
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 45
    functionName: QValidator::State validate(QString &text, int &pos) const override
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - parse
    - setAlignment
    - AmountSpinBox
    - QAbstractSpinBox
    linkageType: ''
    returnType: "class AmountSpinBox: public QAbstractSpinBox\n{\n    Q_OBJECT\n\npublic:\n
      \   explicit AmountSpinBox(QWidget *parent):\n        QAbstractSpinBox(parent)\n
      \   {\n        setAlignment(Qt::AlignRight);\n\n        connect(lineEdit(),
      &QLineEdit::textEdited, this, &AmountSpinBox::valueChanged);\n    }"
    signature: "class AmountSpinBox: public QAbstractSpinBox\n{\n    Q_OBJECT\n\npublic:\n
      \   explicit AmountSpinBox(QWidget *parent):\n        QAbstractSpinBox(parent)\n
      \   {\n        setAlignment(Qt::AlignRight);\n\n        connect(lineEdit(),
      &QLineEdit::textEdited, this, &AmountSpinBox::valueChanged);\n    } QValidator::State
      validate(QString &text, int &pos) const override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:52,1
    - Dst: parse
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:57,1
    - Dst: qBound
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:61,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:62,1
    - Dst: lineEdit
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - input
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: fixup
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached:
    - lineEdit
    - QString::isEmpty
    - parse
    - BitcoinUnits::format
    - qBound
    linkageType: ''
    returnType: void
    signature: void fixup(QString &input) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:69,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: value
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 235
    functionsReached:
    - text
    - parse
    linkageType: ''
    returnType: CAmount
    signature: CAmount value(bool *valid_out=nullptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lineEdit
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:74,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: setValue
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 25
    functionsReached:
    - lineEdit
    - BitcoinUnits::format
    linkageType: ''
    returnType: void
    signature: void setValue(const CAmount& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: SetAllowEmpty
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetAllowEmpty(bool allow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: SetMinValue
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetMinValue(const CAmount& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: SetMaxValue
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetMaxValue(const CAmount& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:96,1
    - Dst: qBound
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:98,1
    - Dst: setValue
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - steps
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: stepBy
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached:
    - value
    - qBound
    - setValue
    linkageType: ''
    returnType: void
    signature: void stepBy(int steps) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:105,1
    - Dst: lineEdit
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:108,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:108,1
    - Dst: setValue
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:110,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - unit
    argTypes:
    - BitcoinUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: setDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 5
    functionsReached:
    - lineEdit
    - BitcoinUnits::format
    - setValue
    - clear
    - value
    linkageType: ''
    returnType: void
    signature: void setDisplayUnit(BitcoinUnit unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' step'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: setSingleStep
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSingleStep(const CAmount& step)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:122,1
    - Dst: ensurePolished
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:124,1
    - Dst: lineEdit
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:127,1
    - Dst: GUIUtil::TextWidth
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:128,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:128,1
    - Dst: BitcoinUnits::maxMoney
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:128,1
    - Dst: initStyleOption
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:132,1
    - Dst: QStyleOptionSpinBox::rect::setSize
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:135,1
    - Dst: style
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:136,1
    - Dst: QStyleOptionSpinBox::rect::setSize
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:139,1
    - Dst: style
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:140,1
    - Dst: QSize::setHeight
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:143,1
    - Dst: rect
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:145,1
    - Dst: style
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 150
    functionName: minimumSizeHint
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - QSize::setHeight
    - lineEdit
    - GUIUtil::TextWidth
    - rect
    - BitcoinUnits::format
    - style
    - ensurePolished
    - initStyleOption
    - BitcoinUnits::maxMoney
    - QStyleOptionSpinBox::rect::setSize
    linkageType: ''
    returnType: QSize
    signature: QSize minimumSizeHint() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinUnits::parse
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:168,1
    - Dst: BitcoinUnits::maxMoney
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - text
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: parse
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 91
    functionsReached:
    - BitcoinUnits::maxMoney
    - BitcoinUnits::parse
    linkageType: ''
    returnType: CAmount
    signature: CAmount parse(const QString &text, bool *valid_out=nullptr) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isReadOnly
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:197,1
    - Dst: text
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:199,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: stepEnabled
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached:
    - value
    - text
    - isReadOnly
    linkageType: ''
    returnType: StepEnabled
    signature: StepEnabled stepEnabled() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AmountSpinBox::AmountSpinBox
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:223,1
    - Dst: setLocale
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:224,1
    - Dst: run_field_misc
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:224,1
    - Dst: installEventFilter
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:225,1
    - Dst: setMaximumWidth
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:226,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:228,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:229,1
    - Dst: QValueComboBox::QValueComboBox
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:230,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:231,1
    - Dst: BitcoinUnits::BitcoinUnits
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:231,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:232,1
    - Dst: QHBoxLayout*::addStretch
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:233,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:234,1
    - Dst: setLayout
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:236,1
    - Dst: setFocusPolicy
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:238,1
    - Dst: setFocusProxy
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:239,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:242,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:243,1
    - Dst: qOverload<int>
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:243,1
    - Dst: BitcoinAmountField::unitChanged
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:246,1
    - Dst: currentIndex
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 247
    functionName: BitcoinAmountField::BitcoinAmountField
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached:
    - setLocale
    - BitcoinUnits::BitcoinUnits
    - setLayout
    - QValueComboBox::QValueComboBox
    - setFocusProxy
    - run_field_misc
    - installEventFilter
    - QHBoxLayout*::addWidget
    - setModel
    - AmountSpinBox::AmountSpinBox
    - connect
    - BitcoinAmountField::unitChanged
    - qOverload<int>
    - QHBoxLayout::QHBoxLayout
    - QHBoxLayout*::setContentsMargins
    - setFocusPolicy
    - setMaximumWidth
    - QHBoxLayout*::addStretch
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::BitcoinAmountField(QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::clear
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:251,1
    - Dst: setCurrentIndex
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: BitcoinAmountField::clear
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - setCurrentIndex
    - BitcoinAmountField::clear
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:257,1
    - Dst: BitcoinAmountField::setEnabled
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fEnabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: BitcoinAmountField::setEnabled
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - BitcoinAmountField::setEnabled
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::setEnabled(bool fEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::value
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:264,1
    - Dst: BitcoinAmountField::setValid
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: BitcoinAmountField::validate
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached:
    - BitcoinAmountField::value
    - BitcoinAmountField::setValid
    linkageType: ''
    returnType: bool
    signature: bool BitcoinAmountField::validate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setStyleSheet
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:272,1
    - Dst: setStyleSheet
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - valid
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: BitcoinAmountField::setValid
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - setStyleSheet
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::setValid(bool valid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:279,1
    - Dst: BitcoinAmountField::setValid
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:282,1
    - Dst: AskPassphraseDialog::eventFilter
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - object
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: BitcoinAmountField::eventFilter
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached:
    - AskPassphraseDialog::eventFilter
    - QEvent*::type
    - BitcoinAmountField::setValid
    linkageType: ''
    returnType: bool
    signature: bool BitcoinAmountField::eventFilter(QObject *object, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:289,1
    - Dst: QWidget::setTabOrder
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - prev
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: BitcoinAmountField::setupTabChain
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 0
    functionsReached:
    - QWidget::setTabOrder
    linkageType: ''
    returnType: QWidget
    signature: QWidget *BitcoinAmountField::setupTabChain(QWidget *prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::value
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - valid_out
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: BitcoinAmountField::value
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 2
    functionsReached:
    - BitcoinAmountField::value
    linkageType: ''
    returnType: CAmount
    signature: CAmount BitcoinAmountField::value(bool *valid_out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::setValue
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: BitcoinAmountField::setValue
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - BitcoinAmountField::setValue
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::setValue(const CAmount& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::SetAllowEmpty
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: BitcoinAmountField::SetAllowEmpty
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - BitcoinAmountField::SetAllowEmpty
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::SetAllowEmpty(bool allow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::SetMinValue
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: BitcoinAmountField::SetMinValue
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - BitcoinAmountField::SetMinValue
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::SetMinValue(const CAmount& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::SetMaxValue
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: BitcoinAmountField::SetMaxValue
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - BitcoinAmountField::SetMaxValue
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::SetMaxValue(const CAmount& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::setReadOnly
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fReadOnly
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: BitcoinAmountField::setReadOnly
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - BitcoinAmountField::setReadOnly
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::setReadOnly(bool fReadOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setToolTip
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:327,1
    - Dst: itemData
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:327,1
    - Dst: currentData
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:330,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:331,1
    - Dst: QVariant::isValid
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:331,1
    - Dst: BitcoinAmountField::setDisplayUnit
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:332,1
    - Dst: QVariant::value
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts:
    - condition: (new_unit.isValid())
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: BitcoinAmountField::unitChanged
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - itemData
    - QVariant::isValid
    - setToolTip
    - BitcoinAmountField::setDisplayUnit
    - currentData
    - assert
    - QVariant::value
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::unitChanged(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::setValue
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:337,1
    - Dst: QVariant::fromValue
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_unit
    argTypes:
    - BitcoinUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: BitcoinAmountField::setDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - QVariant::fromValue
    - BitcoinAmountField::setValue
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::setDisplayUnit(BitcoinUnit new_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitcoinAmountField::setSingleStep
      Src: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' step'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: BitcoinAmountField::setSingleStep
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoinamountfield.cpp
    functionUses: 1
    functionsReached:
    - BitcoinAmountField::setSingleStep
    linkageType: ''
    returnType: void
    signature: void BitcoinAmountField::setSingleStep(const CAmount& step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel*::wallet
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:29,1
    - Dst: RecentRequestsTableModel::addNewRequest
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:30,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:34,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:34,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:34,1
    - Dst: RecentRequestsTableModel::getAmountTitle
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:34,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:36,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: RecentRequestsTableModel::RecentRequestsTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 1
    functionsReached:
    - connect
    - RecentRequestsTableModel::getAmountTitle
    - RecentRequestsTableModel::addNewRequest
    - tr
    - getOptionsModel
    - WalletModel*::wallet
    linkageType: ''
    returnType: void
    signature: void RecentRequestsTableModel::RecentRequestsTableModel(WalletModel
      *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: RecentRequestsTableModel::~RecentRequestsTableModel()
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecentRequestsTableModel::~RecentRequestsTableModel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:43,1
    - Dst: length
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: RecentRequestsTableModel::rowCount
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - length
    linkageType: ''
    returnType: int
    signature: int RecentRequestsTableModel::rowCount(const QModelIndex &parent) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:51,1
    - Dst: length
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: RecentRequestsTableModel::columnCount
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - length
    linkageType: ''
    returnType: int
    signature: int RecentRequestsTableModel::columnCount(const QModelIndex &parent)
      const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:59,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:59,1
    - Dst: length
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:59,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:60,1
    - Dst: QModelIndex::row
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:64,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:65,1
    - Dst: GUIUtil::dateTimeStr
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:68,1
    - Dst: RecentRequestEntry*::recipient::label::isEmpty
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:70,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:72,1
    - Dst: RecentRequestEntry*::recipient::message::isEmpty
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:79,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:81,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:89,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:91,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:91,1
    - Dst: BitcoinUnits::format
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:93,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:93,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:98,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:101,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 102
    functionName: RecentRequestsTableModel::data
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - GUIUtil::dateTimeStr
    - QModelIndex::isValid
    - RecentRequestEntry*::recipient::message::isEmpty
    - RecentRequestEntry*::recipient::label::isEmpty
    - BitcoinUnits::format
    - length
    - tr
    - getOptionsModel
    - QModelIndex::column
    - QModelIndex::row
    linkageType: ''
    returnType: QVariant
    signature: QVariant RecentRequestsTableModel::data(const QModelIndex &index, int
      role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: RecentRequestsTableModel::setData
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RecentRequestsTableModel::setData(const QModelIndex &index, const
      QVariant &value, int role)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:113,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - section
    - orientation
    - role
    argTypes:
    - int
    - Qt::Orientation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: RecentRequestsTableModel::headerData
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - size
    linkageType: ''
    returnType: QVariant
    signature: QVariant RecentRequestsTableModel::headerData(int section, Qt::Orientation
      orientation, int role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecentRequestsTableModel::getAmountTitle
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: RecentRequestsTableModel::updateAmountColumnTitle
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached:
    - RecentRequestsTableModel::getAmountTitle
    linkageType: ''
    returnType: void
    signature: void RecentRequestsTableModel::updateAmountColumnTitle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:131,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:132,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:133,1
    - Dst: BitcoinUnits::shortName
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:134,1
    - Dst: RecentRequestsTableModel::walletModel::getOptionsModel
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:134,1
    - Dst: QLatin1Char
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: RecentRequestsTableModel::getAmountTitle
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 2
    functionsReached:
    - QLatin1String
    - tr
    - RecentRequestsTableModel::walletModel::getOptionsModel
    - getOptionsModel
    - BitcoinUnits::shortName
    - QLatin1Char
    linkageType: ''
    returnType: QString
    signature: QString RecentRequestsTableModel::getAmountTitle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:140,1
    - Dst: createIndex
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - row
    - column
    - parent
    argTypes:
    - int
    - int
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: RecentRequestsTableModel::index
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached:
    - Q_UNUSED
    - createIndex
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex RecentRequestsTableModel::index(int row, int column, const
      QModelIndex &parent) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:147,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:149,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:154,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:154,1
    - Dst: RecentRequestEntry*::recipient::address::toStdString
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:154,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:154,1
    - Dst: beginRemoveRows
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:158,1
    - Dst: erase
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:159,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:159,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:159,1
    - Dst: endRemoveRows
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - row
    - count
    - parent
    argTypes:
    - int
    - int
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: RecentRequestsTableModel::removeRows
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - DecodeDestination
    - erase
    - wallet
    - size
    - RecentRequestEntry*::recipient::address::toStdString
    - beginRemoveRows
    - endRemoveRows
    - Q_UNUSED
    - begin
    linkageType: ''
    returnType: bool
    signature: bool RecentRequestsTableModel::removeRows(int row, int count, const
      QModelIndex &parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: RecentRequestsTableModel::flags
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags RecentRequestsTableModel::flags(const QModelIndex &index)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecentRequestEntry::RecentRequestEntry
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:175,1
    - Dst: QDateTime::currentDateTime
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:177,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:183,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:183,1
    - Dst: SendCoinsRecipient::address::toStdString
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:183,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:183,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:183,1
    - Dst: RecentRequestsTableModel::addNewRequest
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - recipient
    argTypes:
    - SendCoinsRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: RecentRequestsTableModel::addNewRequest
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 2
    functionsReached:
    - ToString
    - DecodeDestination
    - RecentRequestsTableModel::addNewRequest
    - wallet
    - SendCoinsRecipient::address::toStdString
    - DataStream::str
    - QDateTime::currentDateTime
    - RecentRequestEntry::RecentRequestEntry
    linkageType: ''
    returnType: void
    signature: void RecentRequestsTableModel::addNewRequest(const SendCoinsRecipient
      &recipient)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:192,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:192,1
    - Dst: RecentRequestEntry::RecentRequestEntry
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:195,1
    - Dst: RecentRequestsTableModel::addNewRequest
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - recipient
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: RecentRequestsTableModel::addNewRequest
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 3
    functionsReached:
    - RecentRequestEntry::RecentRequestEntry
    - std::string::end
    - RecentRequestsTableModel::addNewRequest
    - std::string::begin
    linkageType: ''
    returnType: void
    signature: void RecentRequestsTableModel::addNewRequest(const std::string &recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beginInsertRows
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:210,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:210,1
    - Dst: prepend
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:211,1
    - Dst: endInsertRows
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - recipient
    argTypes:
    - RecentRequestEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: RecentRequestsTableModel::addNewRequest
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 3
    functionsReached:
    - beginInsertRows
    - endInsertRows
    - QModelIndex
    - prepend
    linkageType: ''
    returnType: void
    signature: void RecentRequestsTableModel::addNewRequest(RecentRequestEntry &recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecentRequestsTableModel::sort
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:217,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:217,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:217,1
    - Dst: RecentRequestEntryLessThan
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:217,1
    - Dst: RecentRequestsTableModel::index
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:218,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:218,1
    - Dst: RecentRequestsTableModel::index
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:218,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:218,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - column
    - order
    argTypes:
    - int
    - Qt::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: RecentRequestsTableModel::sort
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 1
    functionsReached:
    - end
    - RecentRequestsTableModel::index
    - RecentRequestsTableModel::sort
    - RecentRequestEntryLessThan
    - size
    - begin
    - QModelIndex
    linkageType: ''
    returnType: void
    signature: void RecentRequestsTableModel::sort(int column, Qt::SortOrder order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecentRequestsTableModel::updateAmountColumnTitle
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: RecentRequestsTableModel::updateDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached:
    - RecentRequestsTableModel::updateAmountColumnTitle
    linkageType: ''
    returnType: void
    signature: void RecentRequestsTableModel::updateDisplayUnit()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:231,1
    - Dst: RecentRequestEntry*::date::toSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:236,1
    - Dst: RecentRequestEntry*::date::toSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' left'
    - ' right'
    argTypes:
    - RecentRequestEntry
    - RecentRequestEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: RecentRequestEntryLessThan::operator()(const RecentRequestEntry&
      left, const RecentRequestEntry& right) const
    functionSourceFile: /src/bitcoin-core/src/qt/recentrequeststablemodel.cpp
    functionUses: 0
    functionsReached:
    - RecentRequestEntry*::date::toSecsSinceEpoch
    - swap
    linkageType: ''
    returnType: bool
    signature: bool RecentRequestEntryLessThan::operator()(const RecentRequestEntry&
      left, const RecentRequestEntry& right) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QIcon
      Src: /src/bitcoin-core/src/qt/notificator.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 73
    functionName: QObject
    functionSourceFile: /src/bitcoin-core/src/qt/notificator.h
    functionUses: 0
    functionsReached:
    - QIcon
    linkageType: ''
    returnType: QT_END_NAMESPACE
    signature: QT_END_NAMESPACE QObject
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qRegisterMetaType<bool*>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:78,1
    - Dst: qRegisterMetaType<SynchronizationState>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:79,1
    - Dst: qRegisterMetaType<SyncType>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:80,1
    - Dst: qRegisterMetaType<WalletModel*>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:82,1
    - Dst: qRegisterMetaType<wallet::AddressPurpose>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:83,1
    - Dst: qRegisterMetaType<CAmount>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:87,1
    - Dst: qRegisterMetaType<size_t>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:88,1
    - Dst: qRegisterMetaType<std::function<void()>>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:90,1
    - Dst: qRegisterMetaType<QMessageBox::Icon>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:91,1
    - Dst: qRegisterMetaType<interfaces::BlockAndHeaderTipInfo>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:92,1
    - Dst: qRegisterMetaType<BitcoinUnit>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: RegisterMetaTypes
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - qRegisterMetaType<BitcoinUnit>
    - qRegisterMetaType<QMessageBox::Icon>
    - qRegisterMetaType<WalletModel*>
    - qRegisterMetaType<size_t>
    - qRegisterMetaType<wallet::AddressPurpose>
    - qRegisterMetaType<SyncType>
    - qRegisterMetaType<std::function<void()>>
    - qRegisterMetaType<interfaces::BlockAndHeaderTipInfo>
    - qRegisterMetaType<SynchronizationState>
    - qRegisterMetaType<bool*>
    - qRegisterMetaType<CAmount>
    linkageType: ''
    returnType: void
    signature: void RegisterMetaTypes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_system
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:101,1
    - Dst: QSettings::value
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:103,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:104,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:107,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:107,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: GetLangTerritory
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - GetArg
    - QSettings::value
    - QString::fromStdString
    - QString::toStdString
    - initialize_system
    linkageType: ''
    returnType: QString
    signature: QString GetLangTerritory()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::removeTranslator
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:115,1
    - Dst: QApplication::removeTranslator
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:116,1
    - Dst: QApplication::removeTranslator
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:117,1
    - Dst: QApplication::removeTranslator
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:118,1
    - Dst: GetLangTerritory
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:122,1
    - Dst: QString::truncate
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:126,1
    - Dst: QString::lastIndexOf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:126,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:132,1
    - Dst: QTranslator::load
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:134,1
    - Dst: QApplication::installTranslator
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:135,1
    - Dst: QTranslator::load
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:139,1
    - Dst: QApplication::installTranslator
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:140,1
    - Dst: QTranslator::load
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:144,1
    - Dst: QApplication::installTranslator
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:145,1
    - Dst: QTranslator::load
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:149,1
    - Dst: QApplication::installTranslator
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - qtTranslatorBase
    - qtTranslator
    - translatorBase
    - translator
    argTypes:
    - QTranslator
    - QTranslator
    - QTranslator
    - QTranslator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 152
    functionName: initTranslations
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - DeserializeHDKeypath
    - QString::lastIndexOf
    - QApplication::removeTranslator
    - GetLangTerritory
    - QTranslator::load
    - QString::truncate
    - QApplication::installTranslator
    linkageType: ''
    returnType: void
    signature: void initTranslations(QTranslator &qtTranslatorBase, QTranslator &qtTranslator,
      QTranslator &translatorBase, QTranslator &translator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:156,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:156,1
    - Dst: QMessageBox::setInformativeText
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:159,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:159,1
    - Dst: QMessageBox::setDetailedText
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:160,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:160,1
    - Dst: MakeUnorderedList
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:160,1
    - Dst: QMessageBox::setTextFormat
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:161,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:162,1
    - Dst: QMessageBox::exec
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:163,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' error'
    - ' details'
    argTypes:
    - bilingual_str
    - std::vector<std::string>
    assertStmts:
    - condition: (false)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/bitcoin-core/src/qt/bitcoin.cpp
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: ErrorSettingsRead
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::setDetailedText
    - SighashToStr
    - QMessageBox::setInformativeText
    - QString::fromStdString
    - QMessageBox::setTextFormat
    - QMessageBox::setDefaultButton
    - strprintf
    - MakeUnorderedList
    - QMessageBox::exec
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ErrorSettingsRead(const bilingual_str& error, const std::vector<std::string>&
      details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:175,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:175,1
    - Dst: QMessageBox::setInformativeText
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:179,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:179,1
    - Dst: QMessageBox::setDetailedText
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:180,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:180,1
    - Dst: MakeUnorderedList
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:180,1
    - Dst: QMessageBox::setTextFormat
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:181,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:182,1
    - Dst: QMessageBox::exec
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' error'
    - ' details'
    argTypes:
    - bilingual_str
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: ErrorSettingsWrite
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::setDetailedText
    - SighashToStr
    - QMessageBox::setInformativeText
    - QString::fromStdString
    - QMessageBox::setTextFormat
    - QMessageBox::setDefaultButton
    - strprintf
    - MakeUnorderedList
    - QMessageBox::exec
    linkageType: ''
    returnType: void
    signature: void ErrorSettingsWrite(const bilingual_str& error, const std::vector<std::string>&
      details)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:189,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:191,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:191,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:193,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - type
    - ' context'
    - msg
    argTypes:
    - QtMsgType
    - QMessageLogContext
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: DebugMessageHandler
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - Q_UNUSED
    - LogDebug
    - QString::toStdString
    linkageType: ''
    returnType: void
    signature: void DebugMessageHandler(QtMsgType type, const QMessageLogContext&
      context, const QString &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char**>
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:201,1
    - Dst: RegisterMetaTypes
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:204,1
    - Dst: setQuitOnLastWindowClosed
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: BitcoinApplication::BitcoinApplication
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - const_cast<char**>
    - setQuitOnLastWindowClosed
    - RegisterMetaTypes
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::BitcoinApplication()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:214,1
    - Dst: PlatformStyle::instantiate
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:215,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:215,1
    - Dst: PlatformStyle::instantiate
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:217,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (platformStyle)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/bitcoin-core/src/qt/bitcoin.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: BitcoinApplication::setupPlatformStyle
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - GetArg
    - assert
    - QString::fromStdString
    - PlatformStyle::instantiate
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::setupPlatformStyle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: BitcoinApplication::~BitcoinApplication()
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::~BitcoinApplication()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PaymentServer::PaymentServer
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: BitcoinApplication::createPaymentServer
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - PaymentServer::PaymentServer
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::createPaymentServer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:240,1
    - Dst: OptionsModel::OptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:240,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:242,1
    - Dst: Init
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:245,1
    - Dst: fs::path::path
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:246,1
    - Dst: GetSettingsPath
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:247,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:248,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:249,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:249,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:249,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:250,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:251,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:251,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:253,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:254,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - resetSettings
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 258
    functionName: BitcoinApplication::createOptionsModel
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - fs::quoted
    - node
    - strprintf
    - InitError
    - Reset
    - GetSettingsPath
    - fs::path::path
    - tr
    - QString::fromStdString
    - Init
    - OptionsModel::OptionsModel
    - Untranslated
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool BitcoinApplication::createOptionsModel(bool resetSettings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:262,1
    - Dst: BitcoinGUI::BitcoinGUI
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:262,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:263,1
    - Dst: QTimer::QTimer
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:265,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:266,1
    - Dst: QApplication::activeModalWidget
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:267,1
    - Dst: detectShutdown
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - networkStyle
    argTypes:
    - NetworkStyle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 5
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: BitcoinApplication::createWindow
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - connect
    - node
    - BitcoinGUI::BitcoinGUI
    - detectShutdown
    - QApplication::activeModalWidget
    - QTimer::QTimer
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::createWindow(const NetworkStyle *networkStyle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:275,1
    - Dst: SplashScreen::SplashScreen
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:276,1
    - Dst: show
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - networkStyle
    argTypes:
    - NetworkStyle*
    assertStmts:
    - condition: (!m_splash)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/bitcoin-core/src/qt/bitcoin.cpp
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: BitcoinApplication::createSplashScreen
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - assert
    - show
    - SplashScreen::SplashScreen
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::createSplashScreen(const NetworkStyle *networkStyle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:282,1
    - Dst: makeNode
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:283,1
    - Dst: setNode
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' init'
    argTypes:
    - interfaces::Init
    assertStmts:
    - condition: (!m_node)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/bitcoin-core/src/qt/bitcoin.cpp
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: BitcoinApplication::createNode
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - assert
    - setNode
    - makeNode
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::createNode(interfaces::Init& init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: BitcoinApplication::baseInitialize
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - node
    linkageType: ''
    returnType: bool
    signature: bool BitcoinApplication::baseInitialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:294,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:295,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:295,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:298,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:298,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:299,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:299,1
    - Dst: subprocess::util::wait_for_child_exit
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:300,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:302,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:302,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:303,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:303,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:304,1
    - Dst: value
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_executor)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/bitcoin-core/src/qt/bitcoin.cpp
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: BitcoinApplication::startThread
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - connect
    - node
    - emplace
    - subprocess::util::wait_for_child_exit
    - value
    - assert
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::startThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:311,1
    - Dst: InitLogging
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:313,1
    - Dst: InitParameterInteraction
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: BitcoinApplication::parameterSetup
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - SoftSetBoolArg
    - InitParameterInteraction
    - InitLogging
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::parameterSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetPruneTargetGB
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:319,1
    - Dst: PruneMiBtoGB
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prune_MiB
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: BitcoinApplication::InitPruneSetting
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - PruneMiBtoGB
    - SetPruneTargetGB
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::InitPruneSetting(int64_t prune_MiB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:324,1
    - Dst: BitcoinApplication::startThread
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: BitcoinApplication::requestInitialize
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - BitcoinApplication::startThread
    - qDebug
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::requestInitialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QGuiApplication::topLevelWindows
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:331,1
    - Dst: hide
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:332,1
    - Dst: reset
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:341,1
    - Dst: ShutdownWindow::showShutdownWindow
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:341,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:343,1
    - Dst: unsubscribeFromCoreSignals
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:347,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:350,1
    - Dst: stop
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:353,1
    - Dst: setClientModel
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:358,1
    - Dst: stop
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 377
    functionName: BitcoinApplication::requestShutdown
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - setClientModel
    - node
    - stop
    - QGuiApplication::topLevelWindows
    - qDebug
    - reset
    - hide
    - ShutdownWindow::showShutdownWindow
    - unsubscribeFromCoreSignals
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::requestShutdown()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:381,1
    - Dst: qInfo
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:388,1
    - Dst: getName
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:388,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:389,1
    - Dst: ClientModel::ClientModel
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:389,1
    - Dst: setClientModel
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:390,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:393,1
    - Dst: WalletModel::isWalletEnabled
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:395,1
    - Dst: WalletController::WalletController
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:396,1
    - Dst: setWalletController
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:397,1
    - Dst: setOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:399,1
    - Dst: show
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:406,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:407,1
    - Dst: hasTrayIcon
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:407,1
    - Dst: showMinimized
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:410,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:418,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:419,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:420,1
    - Dst: message
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:421,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:423,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:426,1
    - Dst: BitcoinApplication::requestShutdown
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:428,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - success
    - tip_info
    argTypes:
    - bool
    - interfaces::BlockAndHeaderTipInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 379
    functionDepth: 4
    functionLinenumber: 379
    functionLinenumberEnd: 430
    functionName: BitcoinApplication::initializeResult
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - node
    - QTimer::singleShot
    - WalletController::WalletController
    - getOptionsModel
    - ClientModel::ClientModel
    - BitcoinApplication::requestShutdown
    - WalletModel::isWalletEnabled
    - getName
    - qDebug
    - GetBoolArg
    - show
    - setOptionsModel
    - setClientModel
    - connect
    - hasTrayIcon
    - qInfo
    - setWalletController
    - message
    - showMinimized
    - start
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::initializeResult(bool success, interfaces::BlockAndHeaderTipInfo
      tip_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:434,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:435,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:436,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:437,1
    - Dst: GUIUtil::MakeHtmlLink
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:437,1
    - Dst: subprocess::util::wait_for_child_exit
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: BitcoinApplication::handleRunawayException
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - subprocess::util::wait_for_child_exit
    - GUIUtil::MakeHtmlLink
    - QLatin1String
    - tr
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::handleRunawayException(const QString &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:443,1
    - Dst: QThread::currentThread
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:443,1
    - Dst: thread
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:443,1
    - Dst: QMessageBox::warning
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:444,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:445,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:446,1
    - Dst: QLatin1String
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:448,1
    - Dst: GUIUtil::MakeHtmlLink
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - QString
    assertStmts:
    - condition: (QThread::currentThread() == thread())
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/bitcoin-core/src/qt/bitcoin.cpp
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: BitcoinApplication::handleNonFatalException
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::warning
    - GUIUtil::MakeHtmlLink
    - QLatin1String
    - thread
    - tr
    - assert
    - QThread::currentThread
    linkageType: ''
    returnType: void
    signature: void BitcoinApplication::handleNonFatalException(const QString& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: winId
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: BitcoinApplication::getMainWinId
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - winId
    linkageType: ''
    returnType: WId
    signature: WId BitcoinApplication::getMainWinId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:461,1
    - Dst: BitcoinApplication::requestShutdown
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:462,1
    - Dst: AskPassphraseDialog::event
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 467
    functionName: BitcoinApplication::event
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - AskPassphraseDialog::event
    - BitcoinApplication::requestShutdown
    - QEvent*::type
    linkageType: ''
    returnType: bool
    signature: bool BitcoinApplication::event(QEvent* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:471,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:471,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:472,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:473,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:474,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:475,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:475,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:476,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: SetupUIArgs
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - AddArg
    - strprintf
    linkageType: ''
    returnType: void
    signature: void SetupUIArgs(ArgsManager& argsman)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: common::WinCmdLineArgs::WinCmdLineArgs
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:482,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:483,1
    - Dst: common::WinCmdLineArgs::get
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:483,1
    - Dst: interfaces::MakeGuiInit
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:486,1
    - Dst: SetupEnvironment
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:488,1
    - Dst: util::ThreadSetInternalName
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:489,1
    - Dst: ThreadSafeMessageBox_connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:492,1
    - Dst: ThreadSafeQuestion_connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:493,1
    - Dst: InitMessage_connect
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:494,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:499,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:500,1
    - Dst: QApplication::setAttribute
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:503,1
    - Dst: QApplication::setAttribute
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:504,1
    - Dst: QApplication::setAttribute
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:505,1
    - Dst: BitcoinApplication::BitcoinApplication
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:508,1
    - Dst: GUIUtil::LoadFont
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:509,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:509,1
    - Dst: SetupServerArgs
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:513,1
    - Dst: std::unique_ptr::canListenIpc
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:513,1
    - Dst: SetupUIArgs
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:514,1
    - Dst: ParseParameters
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:516,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:517,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:517,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:517,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:519,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:521,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:521,1
    - Dst: QString::startsWith
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:530,1
    - Dst: QString::startsWith
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:532,1
    - Dst: QString::startsWith
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:537,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:538,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:538,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:538,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:539,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:541,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:541,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:545,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:545,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:545,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:546,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:548,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:548,1
    - Dst: BitcoinApplication::setupPlatformStyle
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:554,1
    - Dst: QApplication::setOrganizationName
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:559,1
    - Dst: QApplication::setOrganizationDomain
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:560,1
    - Dst: QApplication::setApplicationName
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:561,1
    - Dst: initTranslations
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:566,1
    - Dst: HelpRequested
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:570,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:570,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:571,1
    - Dst: HelpMessageDialog::showOrPrint
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:572,1
    - Dst: BitcoinApplication::installEventFilter
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:577,1
    - Dst: GUIUtil::ToolTipToRichTextFilter::ToolTipToRichTextFilter
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:577,1
    - Dst: Intro::showIfNeeded
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:584,1
    - Dst: common::InitConfig
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:592,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:593,1
    - Dst: ErrorSettingsWrite
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:597,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:601,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:601,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:601,1
    - Dst: PaymentServer::ipcParseCommandLine
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:607,1
    - Dst: NetworkStyle::instantiate
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:610,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:610,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:611,1
    - Dst: QScopedPointer::isNull
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:611,1
    - Dst: QApplication::setApplicationName
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:613,1
    - Dst: QScopedPointer::getAppName
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:613,1
    - Dst: initTranslations
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:615,1
    - Dst: PaymentServer::ipcSendCommandLine
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:624,1
    - Dst: exit
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:625,1
    - Dst: WalletModel::isWalletEnabled
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:629,1
    - Dst: BitcoinApplication::createPaymentServer
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:630,1
    - Dst: BitcoinApplication::installEventFilter
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:636,1
    - Dst: GUIUtil::LabelOutOfFocusEventFilter::LabelOutOfFocusEventFilter
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:636,1
    - Dst: installNativeEventFilter
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:642,1
    - Dst: BitcoinApplication::node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:642,1
    - Dst: WinShutdownMonitor::WinShutdownMonitor
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:642,1
    - Dst: qInstallMessageHandler
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:645,1
    - Dst: BitcoinApplication::parameterSetup
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:647,1
    - Dst: GUIUtil::LogQtInfo
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:648,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:650,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:650,1
    - Dst: BitcoinApplication::createSplashScreen
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:651,1
    - Dst: QScopedPointer::data
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:651,1
    - Dst: BitcoinApplication::createNode
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:653,1
    - Dst: BitcoinApplication::createOptionsModel
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:656,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:656,1
    - Dst: BitcoinApplication::InitPruneSetting
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:662,1
    - Dst: BitcoinApplication::createWindow
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:667,1
    - Dst: QScopedPointer::data
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:667,1
    - Dst: BitcoinApplication::baseInitialize
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:671,1
    - Dst: BitcoinApplication::requestInitialize
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:672,1
    - Dst: WinShutdownMonitor::registerShutdownBlockReason
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:674,1
    - Dst: SighashToStr
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:674,1
    - Dst: BitcoinApplication::getMainWinId
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:674,1
    - Dst: BitcoinApplication::exec
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:676,1
    - Dst: PrintExceptionContinue
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:682,1
    - Dst: BitcoinApplication::handleRunawayException
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:683,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:683,1
    - Dst: BitcoinApplication::node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:683,1
    - Dst: PrintExceptionContinue
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:685,1
    - Dst: BitcoinApplication::handleRunawayException
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:686,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:686,1
    - Dst: BitcoinApplication::node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:686,1
    - Dst: BitcoinApplication::node
      Src: /src/bitcoin-core/src/qt/bitcoin.cpp:688,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (!networkStyle.isNull())
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/bitcoin-core/src/qt/bitcoin.cpp
    constantsTouched: []
    func_position:
      end: 689
      start: 479
    functionDepth: 6
    functionLinenumber: 479
    functionLinenumberEnd: 689
    functionName: GuiMain
    functionSourceFile: /src/bitcoin-core/src/qt/bitcoin.cpp
    functionUses: 0
    functionsReached:
    - initTranslations
    - Intro::showIfNeeded
    - QApplication::setOrganizationDomain
    - BitcoinApplication::BitcoinApplication
    - QApplication::setOrganizationName
    - GUIUtil::LogQtInfo
    - Q_INIT_RESOURCE
    - QScopedPointer::data
    - BitcoinApplication::handleRunawayException
    - BitcoinApplication::parameterSetup
    - SetupUIArgs
    - installNativeEventFilter
    - BitcoinApplication::node
    - WinShutdownMonitor::registerShutdownBlockReason
    - ErrorSettingsWrite
    - BitcoinApplication::exec
    - HelpRequested
    - std::tie
    - ThreadSafeQuestion_connect
    - std::unique_ptr::canListenIpc
    - SighashToStr
    - ParseParameters
    - util::ThreadSetInternalName
    - WalletModel::isWalletEnabled
    - BitcoinApplication::createWindow
    - QString::fromStdString
    - GUIUtil::LoadFont
    - BitcoinApplication::requestInitialize
    - SetupServerArgs
    - Untranslated
    - PrintExceptionContinue
    - QMessageBox::critical
    - QApplication::setApplicationName
    - NetworkStyle::instantiate
    - WinShutdownMonitor::WinShutdownMonitor
    - QApplication::setAttribute
    - PaymentServer::ipcSendCommandLine
    - BitcoinApplication::getMainWinId
    - SetupEnvironment
    - BitcoinApplication::createPaymentServer
    - BitcoinApplication::createOptionsModel
    - QScopedPointer::isNull
    - Params
    - common::WinCmdLineArgs::get
    - BitcoinApplication::InitPruneSetting
    - strprintf
    - common::InitConfig
    - PaymentServer::ipcParseCommandLine
    - qInstallMessageHandler
    - HelpMessageDialog::showOrPrint
    - assert
    - QScopedPointer::getAppName
    - common::WinCmdLineArgs::WinCmdLineArgs
    - ThreadSafeMessageBox_connect
    - QStringLiteral
    - GUIUtil::ToolTipToRichTextFilter::ToolTipToRichTextFilter
    - BitcoinApplication::setupPlatformStyle
    - GUIUtil::LabelOutOfFocusEventFilter::LabelOutOfFocusEventFilter
    - InitError
    - interfaces::MakeGuiInit
    - BitcoinApplication::createNode
    - BitcoinApplication::createSplashScreen
    - BitcoinApplication::baseInitialize
    - GetBoolArg
    - InitMessage_connect
    - exit
    - QString::startsWith
    - BitcoinApplication::installEventFilter
    linkageType: ''
    returnType: int
    signature: int GuiMain(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QThread::QThread
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:41,1
    - Dst: QObject::QObject
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:42,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:44,1
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:46,1
    - Dst: walletLoader
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:48,1
    - Dst: WalletController::getOrCreateWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:49,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:49,1
    - Dst: moveToThread
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:52,1
    - Dst: start
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:53,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:54,1
    - Dst: util::ThreadRename
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' client_model'
    - platform_style
    - parent
    argTypes:
    - ClientModel
    - PlatformStyle*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: WalletController::WalletController
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 1
    functionsReached:
    - walletLoader
    - node
    - moveToThread
    - std::move
    - QTimer::singleShot
    - util::ThreadRename
    - QThread::QThread
    - getOptionsModel
    - start
    - WalletController::getOrCreateWallet
    - QObject::QObject
    linkageType: ''
    returnType: void
    signature: void WalletController::WalletController(ClientModel& client_model,
      const PlatformStyle* platform_style, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quit
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:63,1
    - Dst: wait
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: WalletController::~WalletController()
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - quit
    - wait
    linkageType: ''
    returnType: void
    signature: void WalletController::~WalletController()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walletLoader
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:72,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:73,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:76,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:76,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: WalletController::listWalletDir
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - walletLoader
    - std::map::end
    - std::make_pair
    - wallet
    - std::map::find
    linkageType: ''
    returnType: std::map<std::string, std::pair<bool, std::string>>
    signature: std::map<std::string, std::pair<bool, std::string>> WalletController::listWalletDir()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletModel*::wallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wallet_model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: WalletController::removeWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - WalletModel*::wallet
    linkageType: ''
    returnType: void
    signature: void WalletController::removeWallet(WalletModel* wallet_model)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMessageBox::setWindowTitle
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:93,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:93,1
    - Dst: QMessageBox::setText
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:94,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:94,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:94,1
    - Dst: WalletModel*::getDisplayName
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:94,1
    - Dst: QMessageBox::setInformativeText
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:95,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:95,1
    - Dst: QMessageBox::setStandardButtons
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:96,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:97,1
    - Dst: QMessageBox::exec
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:98,1
    - Dst: WalletController::removeWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - wallet_model
    - parent
    argTypes:
    - WalletModel*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: WalletController::closeWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - WalletModel*::getDisplayName
    - GUIUtil::HtmlEscape
    - QMessageBox::setWindowTitle
    - QMessageBox::setInformativeText
    - QMessageBox::setStandardButtons
    - tr
    - WalletController::removeWallet
    - QMessageBox::setDefaultButton
    - QMessageBox::exec
    - QMessageBox::setText
    linkageType: ''
    returnType: void
    signature: void WalletController::closeWallet(WalletModel* wallet_model, QWidget*
      parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMessageBox::question
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:105,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:105,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:106,1
    - Dst: WalletController::removeWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: WalletController::closeAllWallets
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - WalletController::removeWallet
    - QMessageBox::question
    - tr
    linkageType: ''
    returnType: void
    signature: void WalletController::closeAllWallets(QWidget* parent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:122,1
    - Dst: std::unique_ptr<interfaces::Wallet>::getWalletName
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:123,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:125,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:132,1
    - Dst: WalletModel::WalletModel
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:132,1
    - Dst: WalletModel*::moveToThread
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:140,1
    - Dst: thread
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:140,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:142,1
    - Dst: WalletModel*::setParent
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:143,1
    - Dst: GUIUtil::blockingGUIThreadConnection
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:144,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:146,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:152,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:154,1
    - Dst: QApplication::activeModalWidget
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:157,1
    - Dst: dynamic_cast<QProgressDialog*>
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:158,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:159,1
    - Dst: QApplication::activeModalWidget
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:160,1
    - Dst: WalletController::removeAndDeleteWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:161,1
    - Dst: WalletController::removeAndDeleteWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:165,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - std::unique_ptr<interfaces::Wallet>
    assertStmts:
    - condition: (called)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/bitcoin-core/src/qt/walletcontroller.cpp
    constantsTouched: []
    func_position:
      end: 175
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 175
    functionName: WalletController::getOrCreateWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 1
    functionsReached:
    - connect
    - empty
    - push_back
    - wallet
    - WalletController::removeAndDeleteWallet
    - std::move
    - std::unique_ptr<interfaces::Wallet>::getWalletName
    - thread
    - WalletModel*::setParent
    - dynamic_cast<QProgressDialog*>
    - QMetaObject::invokeMethod
    - WalletModel::WalletModel
    - QApplication::activeModalWidget
    - assert
    - GUIUtil::blockingGUIThreadConnection
    - WalletModel*::moveToThread
    linkageType: ''
    returnType: WalletModel
    signature: WalletModel * WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet>
      wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:182,1
    - Dst: std::remove
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:182,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:182,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet_model
    argTypes:
    - WalletModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: WalletController::removeAndDeleteWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - std::remove
    - erase
    linkageType: ''
    returnType: void
    signature: void WalletController::removeAndDeleteWallet(WalletModel* wallet_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wallet_controller
    - parent_widget
    argTypes:
    - WalletController*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: WalletControllerActivity::WalletControllerActivity
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void WalletControllerActivity::WalletControllerActivity(WalletController*
      wallet_controller, QWidget* parent_widget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QProgressDialog::QProgressDialog
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:200,1
    - Dst: auto::setAttribute
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:201,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:202,1
    - Dst: auto::setWindowTitle
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:204,1
    - Dst: auto::setLabelText
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:205,1
    - Dst: auto::setRange
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:206,1
    - Dst: auto::setCancelButton
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:207,1
    - Dst: auto::setWindowModality
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:208,1
    - Dst: GUIUtil::PolishProgressDialog
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:209,1
    - Dst: auto::setValue
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:212,1
    - Dst: auto::showMinimized
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' title_text'
    - ' label_text'
    - show_minimized
    argTypes:
    - QString
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: WalletControllerActivity::showProgressDialog
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - auto::setLabelText
    - connect
    - QProgressDialog::QProgressDialog
    - auto::showMinimized
    - auto::setWindowModality
    - GUIUtil::PolishProgressDialog
    - auto::setCancelButton
    - auto::setWindowTitle
    - auto::setRange
    - auto::setAttribute
    - auto::setValue
    linkageType: ''
    returnType: void
    signature: void WalletControllerActivity::showProgressDialog(const QString& title_text,
      const QString& label_text, bool show_minimized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wallet_controller
    - parent_widget
    argTypes:
    - WalletController*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: CreateWalletActivity::CreateWalletActivity
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 1
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void CreateWalletActivity::CreateWalletActivity(WalletController* wallet_controller,
      QWidget* parent_widget)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: CreateWalletActivity::~CreateWalletActivity()
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CreateWalletActivity::~CreateWalletActivity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AskPassphraseDialog::AskPassphraseDialog
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:231,1
    - Dst: setWindowModality
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:232,1
    - Dst: show
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:233,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:235,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:238,1
    - Dst: CreateWalletActivity::createWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:239,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 244
    functionName: CreateWalletActivity::askPassphrase
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - AskPassphraseDialog::AskPassphraseDialog
    - connect
    - CreateWalletActivity::createWallet
    - setWindowModality
    - show
    linkageType: ''
    returnType: void
    signature: void CreateWalletActivity::askPassphrase()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: showProgressDialog
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:248,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:250,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:253,1
    - Dst: walletName
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:253,1
    - Dst: walletName
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:255,1
    - Dst: isDisablePrivateKeysChecked
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:259,1
    - Dst: isMakeBlankWalletChecked
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:262,1
    - Dst: isExternalSignerChecked
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:265,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:269,1
    - Dst: worker
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:269,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:270,1
    - Dst: getOrCreateWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:273,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:273,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:275,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 280
    functionName: CreateWalletActivity::createWallet
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 1
    functionsReached:
    - node
    - util::ErrorString
    - isExternalSignerChecked
    - isDisablePrivateKeysChecked
    - std::move
    - tr
    - QTimer::singleShot
    - isMakeBlankWalletChecked
    - showProgressDialog
    - worker
    - walletName
    - getOrCreateWallet
    linkageType: ''
    returnType: void
    signature: void CreateWalletActivity::createWallet()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:284,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:285,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:285,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:285,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:286,1
    - Dst: QMessageBox::warning
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:287,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:287,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:287,1
    - Dst: Join
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:287,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:287,1
    - Dst: created
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: CreateWalletActivity::finish
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - QMessageBox::warning
    - empty
    - tr
    - Join
    - QString::fromStdString
    - created
    - Untranslated
    linkageType: ''
    returnType: void
    signature: void CreateWalletActivity::finish()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateWalletDialog::CreateWalletDialog
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:297,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:301,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:303,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:303,1
    - Dst: what
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:303,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:305,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:306,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:306,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:306,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:307,1
    - Dst: setSigners
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:309,1
    - Dst: setWindowModality
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:311,1
    - Dst: show
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:312,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:314,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:317,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:320,1
    - Dst: isEncryptWalletChecked
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:321,1
    - Dst: CreateWalletActivity::askPassphrase
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:322,1
    - Dst: CreateWalletActivity::createWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 327
    functionName: CreateWalletActivity::create
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - show
    - node
    - connect
    - setWindowModality
    - CreateWalletActivity::createWallet
    - tr
    - isEncryptWalletChecked
    - QString::fromStdString
    - std::vector::clear
    - what
    - CreateWalletDialog::CreateWalletDialog
    - setSigners
    - std::vector::size
    - CreateWalletActivity::askPassphrase
    linkageType: ''
    returnType: void
    signature: void CreateWalletActivity::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wallet_controller
    - parent_widget
    argTypes:
    - WalletController*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: OpenWalletActivity::OpenWalletActivity
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenWalletActivity::OpenWalletActivity(WalletController* wallet_controller,
      QWidget* parent_widget)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:336,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:337,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:337,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:337,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:338,1
    - Dst: QMessageBox::warning
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:339,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:339,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:339,1
    - Dst: Join
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:339,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:339,1
    - Dst: opened
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: OpenWalletActivity::finish
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - opened
    - QMessageBox::warning
    - empty
    - tr
    - Join
    - QString::fromStdString
    - Untranslated
    linkageType: ''
    returnType: void
    signature: void OpenWalletActivity::finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:349,1
    - Dst: showProgressDialog
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:351,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:353,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:356,1
    - Dst: QString::toHtmlEscaped
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:356,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:358,1
    - Dst: worker
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:358,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:359,1
    - Dst: getOrCreateWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:362,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:362,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:364,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 369
    functionName: OpenWalletActivity::open
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - node
    - util::ErrorString
    - std::move
    - QTimer::singleShot
    - tr
    - showProgressDialog
    - worker
    - QString::toHtmlEscaped
    - getOrCreateWallet
    - GUIUtil::WalletDisplayName
    linkageType: ''
    returnType: void
    signature: void OpenWalletActivity::open(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wallet_controller
    - parent_widget
    argTypes:
    - WalletController*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: LoadWalletsActivity::LoadWalletsActivity
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LoadWalletsActivity::LoadWalletsActivity(WalletController* wallet_controller,
      QWidget* parent_widget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showProgressDialog
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:378,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:380,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:383,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:386,1
    - Dst: worker
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:386,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:387,1
    - Dst: getOrCreateWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:388,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:388,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - show_loading_minimized
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: LoadWalletsActivity::load
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - node
    - std::move
    - QTimer::singleShot
    - tr
    - showProgressDialog
    - worker
    - getOrCreateWallet
    linkageType: ''
    returnType: void
    signature: void LoadWalletsActivity::load(bool show_loading_minimized)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wallet_controller
    - parent_widget
    argTypes:
    - WalletController*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: RestoreWalletActivity::RestoreWalletActivity
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RestoreWalletActivity::RestoreWalletActivity(WalletController*
      wallet_controller, QWidget* parent_widget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:402,1
    - Dst: showProgressDialog
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:404,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:406,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:409,1
    - Dst: QString::toHtmlEscaped
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:409,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:411,1
    - Dst: worker
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:411,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:412,1
    - Dst: getOrCreateWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:415,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:415,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:417,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' backup_file'
    - ' wallet_name'
    argTypes:
    - fs::path
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: RestoreWalletActivity::restore
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - node
    - util::ErrorString
    - std::move
    - QTimer::singleShot
    - tr
    - QString::fromStdString
    - showProgressDialog
    - worker
    - QString::toHtmlEscaped
    - getOrCreateWallet
    linkageType: ''
    returnType: void
    signature: void RestoreWalletActivity::restore(const fs::path& backup_file, const
      std::string& wallet_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:426,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:428,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:428,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:428,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:429,1
    - Dst: QMessageBox::warning
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:431,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:431,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:431,1
    - Dst: Join
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:431,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:431,1
    - Dst: QMessageBox::information
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:434,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:434,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:434,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:434,1
    - Dst: restored
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: RestoreWalletActivity::finish
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - QMessageBox::warning
    - empty
    - tr
    - Join
    - QString::fromStdString
    - Untranslated
    - QMessageBox::information
    - restored
    linkageType: ''
    returnType: void
    signature: void RestoreWalletActivity::finish()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QMessageBox::setWindowTitle
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:446,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:446,1
    - Dst: QMessageBox::setText
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:447,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:447,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:447,1
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:447,1
    - Dst: QMessageBox::setInformativeText
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:448,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:448,1
    - Dst: QMessageBox::setStandardButtons
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:454,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:455,1
    - Dst: QMessageBox::exec
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:456,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:459,1
    - Dst: AskPassphraseDialog::exec
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:462,1
    - Dst: showProgressDialog
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:465,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:465,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:465,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:465,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:467,1
    - Dst: worker
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:467,1
    - Dst: node
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:468,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:471,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:471,1
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:471,1
    - Dst: QChar
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:473,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:473,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:473,1
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:473,1
    - Dst: auto::watchonly_wallet_name::value
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:473,1
    - Dst: QChar
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:476,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:476,1
    - Dst: GUIUtil::HtmlEscape
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:476,1
    - Dst: GUIUtil::WalletDisplayName
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:476,1
    - Dst: auto::solvables_wallet_name::value
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:476,1
    - Dst: getOrCreateWallet
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:478,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:478,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:480,1
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 485
    functionName: MigrateWalletActivity::migrate
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - node
    - GUIUtil::HtmlEscape
    - QMessageBox::exec
    - std::move
    - QTimer::singleShot
    - GUIUtil::WalletDisplayName
    - AskPassphraseDialog::exec
    - util::ErrorString
    - QMessageBox::setStandardButtons
    - auto::watchonly_wallet_name::value
    - showProgressDialog
    - worker
    - QMessageBox::setDefaultButton
    - QMessageBox::setText
    - QMessageBox::setWindowTitle
    - tr
    - QMessageBox::setInformativeText
    - QChar
    - auto::solvables_wallet_name::value
    - getOrCreateWallet
    linkageType: ''
    returnType: void
    signature: void MigrateWalletActivity::migrate(const std::string& name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:489,1
    - Dst: QMessageBox::critical
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:490,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:490,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:490,1
    - Dst: QMessageBox::information
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:492,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:492,1
    - Dst: migrated
      Src: /src/bitcoin-core/src/qt/walletcontroller.cpp:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 498
    functionName: MigrateWalletActivity::finish
    functionSourceFile: /src/bitcoin-core/src/qt/walletcontroller.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - migrated
    - empty
    - tr
    - QString::fromStdString
    - QMessageBox::information
    linkageType: ''
    returnType: void
    signature: void MigrateWalletActivity::finish()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPathToCheck
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:17,1
    - Dst: GUIUtil::QStringToPath
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:18,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:21,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:25,1
    - Dst: fs::path::has_parent_path
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:26,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:26,1
    - Dst: fs::path::parent_path
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:28,1
    - Dst: MemPoolAccept::Workspace
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:38,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:39,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:41,1
    - Dst: QDir::toNativeSeparators
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:43,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:43,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:45,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:48,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/freespacechecker.cpp:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 58
    functionName: FreespaceChecker::check
    functionSourceFile: /src/bitcoin-core/src/qt/freespacechecker.cpp
    functionUses: 0
    functionsReached:
    - DeserializeHDKeypath
    - GUIUtil::QStringToPath
    - fs::path::has_parent_path
    - getPathToCheck
    - QDir::toNativeSeparators
    - MemPoolAccept::Workspace
    - fs::exists
    - tr
    - fs::is_directory
    - fs::path::parent_path
    linkageType: ''
    returnType: void
    signature: void FreespaceChecker::check()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:24,1
    - Dst: static_cast<BanTableModel::ColumnIndex>
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:26,1
    - Dst: CCombinedBan*::subnet::ToString
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:28,1
    - Dst: CCombinedBan*::subnet::ToString
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' left'
    - ' right'
    argTypes:
    - CCombinedBan
    - CCombinedBan
    assertStmts:
    - condition: (false)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/qt/bantablemodel.cpp
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: BannedNodeLessThan::operator()(const CCombinedBan& left, const CCombinedBan&
      right) const
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<BanTableModel::ColumnIndex>
    - CCombinedBan*::subnet::ToString
    - swap
    linkageType: ''
    returnType: bool
    signature: bool BannedNodeLessThan::operator()(const CCombinedBan& left, const
      CCombinedBan& right) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBanned
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:50,1
    - Dst: clear
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:52,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:53,1
    - Dst: banmap_t::size
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:53,1
    - Dst: append
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:59,1
    - Dst: std::stable_sort
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:64,1
    - Dst: begin
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:64,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:64,1
    - Dst: BannedNodeLessThan
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: BanTablePriv::refreshBanlist
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - end
    - reserve
    - std::stable_sort
    - append
    - banmap_t::size
    - clear
    - getBanned
    - BannedNodeLessThan
    - begin
    linkageType: ''
    returnType: void
    signature: void refreshBanlist(interfaces::Node& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BanTablePriv::size
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: BanTablePriv::size
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 1
    functionsReached:
    - BanTablePriv::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BanTablePriv::size
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: BanTablePriv::index
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - BanTablePriv::size
    linkageType: ''
    returnType: CCombinedBan
    signature: CCombinedBan *index(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:85,1
    - Dst: tr
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:85,1
    - Dst: reset
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:86,1
    - Dst: BanTablePriv::BanTablePriv
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:86,1
    - Dst: BanTableModel::refresh
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' node'
    - parent
    argTypes:
    - interfaces::Node
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: BanTableModel::BanTableModel
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 1
    functionsReached:
    - BanTablePriv::BanTablePriv
    - reset
    - BanTableModel::refresh
    - tr
    linkageType: ''
    returnType: void
    signature: void BanTableModel::BanTableModel(interfaces::Node& node, QObject*
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: BanTableModel::~BanTableModel()
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BanTableModel::~BanTableModel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:96,1
    - Dst: size
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: BanTableModel::rowCount
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - size
    linkageType: ''
    returnType: int
    signature: int BanTableModel::rowCount(const QModelIndex &parent) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:104,1
    - Dst: length
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: BanTableModel::columnCount
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - length
    linkageType: ''
    returnType: int
    signature: int BanTableModel::columnCount(const QModelIndex &parent) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:112,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:113,1
    - Dst: static_cast<CCombinedBan*>
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:115,1
    - Dst: QModelIndex::internalPointer
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:115,1
    - Dst: static_cast<ColumnIndex>
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:117,1
    - Dst: QModelIndex::column
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:117,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:121,1
    - Dst: CCombinedBan*::subnet::ToString
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:121,1
    - Dst: QDateTime::fromMSecsSinceEpoch
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:123,1
    - Dst: QDateTime::addSecs
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:124,1
    - Dst: initialize_system
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:125,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:127,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/bitcoin-core/src/qt/bantablemodel.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 131
    functionName: BanTableModel::data
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - QDateTime::fromMSecsSinceEpoch
    - QDateTime::addSecs
    - QModelIndex::isValid
    - static_cast<CCombinedBan*>
    - QModelIndex::internalPointer
    - QString::fromStdString
    - CCombinedBan*::subnet::ToString
    - static_cast<ColumnIndex>
    - QModelIndex::column
    - initialize_system
    - assert
    linkageType: ''
    returnType: QVariant
    signature: QVariant BanTableModel::data(const QModelIndex &index, int role) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:137,1
    - Dst: QVariant
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - section
    - orientation
    - role
    argTypes:
    - int
    - Qt::Orientation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: BanTableModel::headerData
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - size
    linkageType: ''
    returnType: QVariant
    signature: QVariant BanTableModel::headerData(int section, Qt::Orientation orientation,
      int role) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: BanTableModel::flags
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags BanTableModel::flags(const QModelIndex &index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:155,1
    - Dst: BanTableModel::index
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:156,1
    - Dst: createIndex
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:159,1
    - Dst: QModelIndex
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - row
    - column
    - parent
    argTypes:
    - int
    - int
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: BanTableModel::index
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 1
    functionsReached:
    - Q_UNUSED
    - QModelIndex
    - createIndex
    - BanTableModel::index
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex BanTableModel::index(int row, int column, const QModelIndex
      &parent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: refreshBanlist
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: BanTableModel::refresh
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 1
    functionsReached:
    - refreshBanlist
    linkageType: ''
    returnType: void
    signature: void BanTableModel::refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BanTableModel::refresh
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - column
    - order
    argTypes:
    - int
    - Qt::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: BanTableModel::sort
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - BanTableModel::refresh
    linkageType: ''
    returnType: void
    signature: void BanTableModel::sort(int column, Qt::SortOrder order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: BanTableModel::shouldShow
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool BanTableModel::shouldShow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CCombinedBan*>
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:184,1
    - Dst: internalPointer
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:184,1
    - Dst: BanTableModel::unban
      Src: /src/bitcoin-core/src/qt/bantablemodel.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' index'
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: BanTableModel::unban
    functionSourceFile: /src/bitcoin-core/src/qt/bantablemodel.cpp
    functionUses: 1
    functionsReached:
    - static_cast<CCombinedBan*>
    - internalPointer
    - BanTableModel::unban
    linkageType: ''
    returnType: bool
    signature: bool BanTableModel::unban(const QModelIndex& index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ui::OpenURIDialog::OpenURIDialog
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:17,1
    - Dst: setupUi
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:20,1
    - Dst: pasteButton::setIcon
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:21,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:21,1
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:22,1
    - Dst: GUIUtil::handleCloseWindowShortcut
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - platformStyle
    - parent
    argTypes:
    - PlatformStyle*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: OpenURIDialog::OpenURIDialog
    functionSourceFile: /src/bitcoin-core/src/qt/openuridialog.cpp
    functionUses: 1
    functionsReached:
    - GUIUtil::handleCloseWindowShortcut
    - pasteButton::setIcon
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - Ui::OpenURIDialog::OpenURIDialog
    - setupUi
    - SingleColorIcon
    linkageType: ''
    returnType: void
    signature: void OpenURIDialog::OpenURIDialog(const PlatformStyle* platformStyle,
      QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: OpenURIDialog::~OpenURIDialog()
    functionSourceFile: /src/bitcoin-core/src/qt/openuridialog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenURIDialog::~OpenURIDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uriEdit::text
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: OpenURIDialog::getURI
    functionSourceFile: /src/bitcoin-core/src/qt/openuridialog.cpp
    functionUses: 1
    functionsReached:
    - uriEdit::text
    linkageType: ''
    returnType: QString
    signature: QString OpenURIDialog::getURI()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsRecipient::SendCoinsRecipient
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:39,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:40,1
    - Dst: OpenURIDialog::getURI
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:40,1
    - Dst: testmempoolaccept
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:42,1
    - Dst: uriEdit::setValid
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: OpenURIDialog::accept
    functionSourceFile: /src/bitcoin-core/src/qt/openuridialog.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::parseBitcoinURI
    - SendCoinsRecipient::SendCoinsRecipient
    - uriEdit::setValid
    - OpenURIDialog::getURI
    - testmempoolaccept
    linkageType: ''
    returnType: void
    signature: void OpenURIDialog::accept()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:50,1
    - Dst: pasteButton::setIcon
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:51,1
    - Dst: SingleColorIcon
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:51,1
    - Dst: SignVerifyMessageDialog::changeEvent
      Src: /src/bitcoin-core/src/qt/openuridialog.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: OpenURIDialog::changeEvent
    functionSourceFile: /src/bitcoin-core/src/qt/openuridialog.cpp
    functionUses: 0
    functionsReached:
    - SingleColorIcon
    - pasteButton::setIcon
    - QEvent*::type
    - SignVerifyMessageDialog::changeEvent
    linkageType: ''
    returnType: void
    signature: void OpenURIDialog::changeEvent(QEvent* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mib
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: PruneMiBtoGB
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PruneMiBtoGB(int64_t mib)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gb
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: PruneGBtoMiB
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t PruneGBtoMiB(int gb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: OptionsModel::getShowTrayIcon
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getShowTrayIcon() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: OptionsModel::getMinimizeToTray
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getMinimizeToTray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: OptionsModel::getMinimizeOnClose
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getMinimizeOnClose() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: OptionsModel::getDisplayUnit
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BitcoinUnit
    signature: BitcoinUnit getDisplayUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: OptionsModel::getThirdPartyTxUrls
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString getThirdPartyTxUrls() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: OptionsModel::getCoinControlFeatures
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getCoinControlFeatures() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: OptionsModel::getSubFeeFromAmount
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getSubFeeFromAmount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: OptionsModel::getEnablePSBTControls
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getEnablePSBTControls() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& getOverriddenByCommandLine()'
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString & getOverriddenByCommandLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& node() const'
    functionSourceFile: /src/bitcoin-core/src/qt/optionsmodel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interfaces::Node
    signature: interfaces::Node & node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendCoinsRecipient::SendCoinsRecipient
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:14,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:16,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:16,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:17,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:17,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:19,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:19,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:20,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:20,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:21,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:21,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:22,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:22,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:23,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:25,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:25,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:26,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:26,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:27,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:27,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:28,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:28,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:29,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:31,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:31,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:32,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:32,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:33,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:33,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:34,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:34,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:35,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:37,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:37,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:38,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:38,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:39,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:39,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:40,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:40,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:41,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:43,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:43,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:44,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:44,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:45,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:45,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:46,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:47,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:47,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:49,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:49,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:50,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:50,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:51,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:51,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:52,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:52,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:54,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:54,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:55,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:55,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:56,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:56,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:58,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:58,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:59,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:59,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:62,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:62,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:63,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:63,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:65,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:65,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:66,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:66,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:69,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:69,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:70,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:70,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:71,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:71,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:72,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:73,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:73,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:76,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:76,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:77,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:77,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:80,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:80,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:81,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:81,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:82,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:82,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:83,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:84,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:84,1
    - Dst: QUrl::setUrl
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:87,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:87,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:88,1
    - Dst: GUIUtil::parseBitcoinURI
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:88,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:89,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:89,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:90,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:91,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/uritests.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 92
    functionName: URITests::uriTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/uritests.cpp
    functionUses: 0
    functionsReached:
    - GUIUtil::parseBitcoinURI
    - QString
    - QVERIFY
    - SendCoinsRecipient::SendCoinsRecipient
    - QUrl::setUrl
    linkageType: ''
    returnType: void
    signature: void URITests::uriTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRegularExpression::match
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' output'
    - ' pattern'
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: FindInConsole
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.cpp
    functionUses: 0
    functionsReached:
    - QRegularExpression::match
    linkageType: ''
    returnType: QString
    signature: QString FindInConsole(const QString& output, const QString& pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConsole*::findChild
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:40,1
    - Dst: RPCConsole*::findChild
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:41,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:43,1
    - Dst: QSignalSpy::isValid
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:43,1
    - Dst: QTest::keyClicks
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:44,1
    - Dst: QTest::keyClick
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:45,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:46,1
    - Dst: QSignalSpy::wait
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:46,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:47,1
    - Dst: QSignalSpy::count
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:47,1
    - Dst: QTextEdit*::toPlainText
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:48,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:49,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:50,1
    - Dst: FindInConsole
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:50,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - console
    argTypes:
    - RPCConsole*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: TestRpcCommand
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QTextEdit*::toPlainText
    - QStringLiteral
    - QSignalSpy::wait
    - QVERIFY
    - QSignalSpy::isValid
    - QTest::keyClicks
    - QSignalSpy::count
    - RPCConsole*::findChild
    - QCOMPARE
    - FindInConsole
    - QTest::keyClick
    linkageType: ''
    returnType: void
    signature: void TestRpcCommand(RPCConsole* console)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRegularExpression::match
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' output'
    - ' pattern'
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: FindInConsole
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.cpp
    functionUses: 1
    functionsReached:
    - QRegularExpression::match
    linkageType: ''
    returnType: QString
    signature: QString FindInConsole(const QString& output, const QString& pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCConsole*::findChild
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:40,1
    - Dst: RPCConsole*::findChild
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:41,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:43,1
    - Dst: QSignalSpy::isValid
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:43,1
    - Dst: QTest::keyClicks
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:44,1
    - Dst: QTest::keyClick
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:45,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:46,1
    - Dst: QSignalSpy::wait
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:46,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:47,1
    - Dst: QSignalSpy::count
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:47,1
    - Dst: QTextEdit*::toPlainText
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:48,1
    - Dst: QStringLiteral
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:49,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:50,1
    - Dst: FindInConsole
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:50,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - console
    argTypes:
    - RPCConsole*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: TestRpcCommand
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QTextEdit*::toPlainText
    - QStringLiteral
    - QSignalSpy::wait
    - QVERIFY
    - QSignalSpy::isValid
    - QTest::keyClicks
    - QSignalSpy::count
    - RPCConsole*::findChild
    - QCOMPARE
    - FindInConsole
    - QTest::keyClick
    linkageType: ''
    returnType: void
    signature: void TestRpcCommand(RPCConsole* console)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::platformName
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:58,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:63,1
    - Dst: qRegisterMetaType<interfaces::BlockAndHeaderTipInfo>
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:69,1
    - Dst: parameterSetup
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:70,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:71,1
    - Dst: createOptionsModel
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:71,1
    - Dst: NetworkStyle::instantiate
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:72,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:72,1
    - Dst: setupPlatformStyle
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:73,1
    - Dst: createWindow
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:74,1
    - Dst: QScopedPointer::data
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:74,1
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:75,1
    - Dst: AppTests::expectCallback
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:76,1
    - Dst: baseInitialize
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:77,1
    - Dst: requestInitialize
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:78,1
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:79,1
    - Dst: requestShutdown
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:80,1
    - Dst: exec
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:81,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: AppTests::appTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.cpp
    functionUses: 0
    functionsReached:
    - connect
    - qWarning
    - NetworkStyle::instantiate
    - exec
    - QScopedPointer::data
    - QVERIFY
    - setupPlatformStyle
    - requestInitialize
    - requestShutdown
    - QApplication::platformName
    - Params
    - qRegisterMetaType<interfaces::BlockAndHeaderTipInfo>
    - createWindow
    - AppTests::expectCallback
    - parameterSetup
    - createOptionsModel
    - baseInitialize
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void AppTests::appTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:91,1
    - Dst: AppTests::expectCallback
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:92,1
    - Dst: BitcoinGUI*::findChild
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:93,1
    - Dst: QAction*::activate
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - window
    argTypes:
    - BitcoinGUI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: AppTests::guiTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.cpp
    functionUses: 0
    functionsReached:
    - BitcoinGUI*::findChild
    - connect
    - AppTests::expectCallback
    - QAction*::activate
    linkageType: ''
    returnType: void
    signature: void AppTests::guiTests(BitcoinGUI* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestRpcCommand
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - console
    argTypes:
    - RPCConsole*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: AppTests::consoleTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.cpp
    functionUses: 0
    functionsReached:
    - TestRpcCommand
    linkageType: ''
    returnType: void
    signature: void AppTests::consoleTests(RPCConsole* console)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:108,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:109,1
    - Dst: end
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:109,1
    - Dst: erase
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:110,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:111,1
    - Dst: m_app::exit
      Src: /src/bitcoin-core/src/qt/test/apptests.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (it != callbacks.end())
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/bitcoin-core/src/qt/test/apptests.cpp
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: AppTests::HandleCallback::~HandleCallback()
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - empty
    - m_app::exit
    - assert
    - find
    linkageType: ''
    returnType: void
    signature: void AppTests::HandleCallback::~HandleCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditAddressDialog*::findChild
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:53,1
    - Dst: EditAddressDialog*::findChild
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:54,1
    - Dst: ConfirmMessage
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:56,1
    - Dst: EditAddressDialog*::accept
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:57,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - dialog
    - ' label'
    - ' address'
    - expected_msg
    argTypes:
    - EditAddressDialog*
    - QString
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: EditAddressAndSubmit
    functionSourceFile: /src/bitcoin-core/src/qt/test/addressbooktests.cpp
    functionUses: 0
    functionsReached:
    - ConfirmMessage
    - EditAddressDialog*::accept
    - QCOMPARE
    - EditAddressDialog*::findChild
    linkageType: ''
    returnType: void
    signature: "void EditAddressAndSubmit(\n        EditAddressDialog* dialog,\n        const
      QString& label, const QString& address, QString expected_msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestChain100Setup::TestChain100Setup
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:75,1
    - Dst: interfaces::MakeWalletLoader
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:76,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:76,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:77,1
    - Dst: setContext
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:78,1
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:79,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:79,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:79,1
    - Dst: CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:79,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:80,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:81,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:83,1
    - Dst: std::shared_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:84,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:88,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:89,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:89,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:89,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:106,1
    - Dst: build_address
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:106,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:107,1
    - Dst: build_address
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:107,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:108,1
    - Dst: build_address
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:108,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:109,1
    - Dst: build_address
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:109,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:112,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:113,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:113,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:114,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:114,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:118,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:119,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:119,1
    - Dst: std::shared_ptr::m_address_book::size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:119,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:123,1
    - Dst: PlatformStyle::instantiate
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:126,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:129,1
    - Dst: OptionsModel::Init
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:129,1
    - Dst: walletLoader
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:131,1
    - Dst: AddWallet
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:132,1
    - Dst: interfaces::MakeWallet
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:133,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:133,1
    - Dst: RemoveWallet
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:134,1
    - Dst: EditAddressDialog::setModel
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:136,1
    - Dst: WalletModel::getAddressTableModel
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:136,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:138,1
    - Dst: AddressBookPage::setModel
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:139,1
    - Dst: WalletModel::getAddressTableModel
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:139,1
    - Dst: AddressBookPage::findChild
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:140,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:141,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:141,1
    - Dst: EditAddressAndSubmit
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:143,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:144,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:145,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:149,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:150,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:150,1
    - Dst: EditAddressAndSubmit
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:152,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:153,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:154,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:158,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:159,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:159,1
    - Dst: EditAddressAndSubmit
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:163,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:164,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:164,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:165,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:166,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:166,1
    - Dst: EditAddressAndSubmit
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:168,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:169,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:169,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:170,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:171,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:171,1
    - Dst: AddressBookPage::findChild
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:173,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:175,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:176,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:176,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:178,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:179,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:179,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:181,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:182,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:182,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:185,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:186,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:186,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:187,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:188,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:188,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:191,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:192,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:192,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:193,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:194,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:194,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:196,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:197,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:197,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:199,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:200,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:200,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:202,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:203,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:203,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:205,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:206,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:206,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:208,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:209,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 210
    functionName: TestAddAddressesToSendBook
    functionSourceFile: /src/bitcoin-core/src/qt/test/addressbooktests.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeWalletLoader
    - QString
    - std::make_pair
    - EncodeDestination
    - std::shared_ptr::SetAddressBook
    - QVERIFY
    - AddressBookPage::setModel
    - check_addbook_size
    - CreateMockableWalletDatabase
    - std::make_shared<CWallet>
    - QCOMPARE
    - AddWallet
    - auto::model
    - interfaces::MakeWallet
    - context
    - GenerateRandomKey
    - std::tie
    - AddressBookPage::findChild
    - TestChain100Setup::TestChain100Setup
    - QString::fromStdString
    - get
    - std::unique_ptr::get
    - PlatformStyle::instantiate
    - auto::get
    - std::shared_ptr::m_address_book::size
    - walletLoader
    - static_cast<int>
    - WalletModel::getAddressTableModel
    - Assert
    - QString::toStdString
    - OptionsModel::Init
    - EditAddressDialog::setModel
    - EditAddressAndSubmit
    - setContext
    - std::shared_ptr::LoadWallet
    - std::shared_ptr::SetWalletFlag
    - LOCK
    - std::shared_ptr::SetupDescriptorScriptPubKeyMans
    - RemoveWallet
    - build_address
    - auto::setText
    linkageType: ''
    returnType: void
    signature: void TestAddAddressesToSendBook(interfaces::Node& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditAddressDialog*::findChild
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:53,1
    - Dst: EditAddressDialog*::findChild
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:54,1
    - Dst: ConfirmMessage
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:56,1
    - Dst: EditAddressDialog*::accept
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:57,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - dialog
    - ' label'
    - ' address'
    - expected_msg
    argTypes:
    - EditAddressDialog*
    - QString
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: EditAddressAndSubmit
    functionSourceFile: /src/bitcoin-core/src/qt/test/addressbooktests.cpp
    functionUses: 1
    functionsReached:
    - ConfirmMessage
    - EditAddressDialog*::accept
    - QCOMPARE
    - EditAddressDialog*::findChild
    linkageType: ''
    returnType: void
    signature: "void EditAddressAndSubmit(\n        EditAddressDialog* dialog,\n        const
      QString& label, const QString& address, QString expected_msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestChain100Setup::TestChain100Setup
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:75,1
    - Dst: interfaces::MakeWalletLoader
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:76,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:76,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:77,1
    - Dst: setContext
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:78,1
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:79,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:79,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:79,1
    - Dst: CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:79,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:80,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:81,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:83,1
    - Dst: std::shared_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:84,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:88,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:89,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:89,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:89,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:106,1
    - Dst: build_address
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:106,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:107,1
    - Dst: build_address
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:107,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:108,1
    - Dst: build_address
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:108,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:109,1
    - Dst: build_address
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:109,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:112,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:113,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:113,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:114,1
    - Dst: QString::toStdString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:114,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:118,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:119,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:119,1
    - Dst: std::shared_ptr::m_address_book::size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:119,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:123,1
    - Dst: PlatformStyle::instantiate
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:126,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:129,1
    - Dst: OptionsModel::Init
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:129,1
    - Dst: walletLoader
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:131,1
    - Dst: AddWallet
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:132,1
    - Dst: interfaces::MakeWallet
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:133,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:133,1
    - Dst: RemoveWallet
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:134,1
    - Dst: EditAddressDialog::setModel
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:136,1
    - Dst: WalletModel::getAddressTableModel
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:136,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:138,1
    - Dst: AddressBookPage::setModel
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:139,1
    - Dst: WalletModel::getAddressTableModel
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:139,1
    - Dst: AddressBookPage::findChild
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:140,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:141,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:141,1
    - Dst: EditAddressAndSubmit
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:143,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:144,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:145,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:149,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:150,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:150,1
    - Dst: EditAddressAndSubmit
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:152,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:153,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:154,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:158,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:159,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:159,1
    - Dst: EditAddressAndSubmit
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:163,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:164,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:164,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:165,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:166,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:166,1
    - Dst: EditAddressAndSubmit
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:168,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:169,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:169,1
    - Dst: check_addbook_size
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:170,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:171,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:171,1
    - Dst: AddressBookPage::findChild
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:173,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:175,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:176,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:176,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:178,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:179,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:179,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:181,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:182,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:182,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:185,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:186,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:186,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:187,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:188,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:188,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:191,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:192,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:192,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:193,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:194,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:194,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:196,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:197,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:197,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:199,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:200,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:200,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:202,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:203,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:203,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:205,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:206,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:206,1
    - Dst: auto::setText
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:208,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:209,1
    - Dst: auto::model
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 210
    functionName: TestAddAddressesToSendBook
    functionSourceFile: /src/bitcoin-core/src/qt/test/addressbooktests.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeWalletLoader
    - QString
    - std::make_pair
    - EncodeDestination
    - std::shared_ptr::SetAddressBook
    - QVERIFY
    - AddressBookPage::setModel
    - check_addbook_size
    - CreateMockableWalletDatabase
    - std::make_shared<CWallet>
    - QCOMPARE
    - AddWallet
    - auto::model
    - interfaces::MakeWallet
    - context
    - GenerateRandomKey
    - std::tie
    - AddressBookPage::findChild
    - TestChain100Setup::TestChain100Setup
    - QString::fromStdString
    - get
    - std::unique_ptr::get
    - PlatformStyle::instantiate
    - auto::get
    - std::shared_ptr::m_address_book::size
    - walletLoader
    - static_cast<int>
    - WalletModel::getAddressTableModel
    - Assert
    - QString::toStdString
    - OptionsModel::Init
    - EditAddressDialog::setModel
    - EditAddressAndSubmit
    - setContext
    - std::shared_ptr::LoadWallet
    - std::shared_ptr::SetWalletFlag
    - LOCK
    - std::shared_ptr::SetupDescriptorScriptPubKeyMans
    - RemoveWallet
    - build_address
    - auto::setText
    linkageType: ''
    returnType: void
    signature: void TestAddAddressesToSendBook(interfaces::Node& node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::platformName
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:217,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:222,1
    - Dst: TestAddAddressesToSendBook
      Src: /src/bitcoin-core/src/qt/test/addressbooktests.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: AddressBookTests::addressBookTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/addressbooktests.cpp
    functionUses: 0
    functionsReached:
    - TestAddAddressesToSendBook
    - QApplication::platformName
    - qWarning
    linkageType: ''
    returnType: void
    signature: void AddressBookTests::addressBookTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: AddressBookTests::AddressBookTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/addressbooktests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddressBookTests(interfaces::Node& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockSettings
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: OptionTests::OptionTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/optiontests.cpp
    functionUses: 0
    functionsReached:
    - LockSettings
    linkageType: ''
    returnType: void
    signature: void OptionTests::OptionTests(interfaces::Node& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockSettings
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:29,1
    - Dst: ClearPathCache
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: OptionTests::init
    functionSourceFile: /src/bitcoin-core/src/qt/test/optiontests.cpp
    functionUses: 0
    functionsReached:
    - LockSettings
    - ClearPathCache
    linkageType: ''
    returnType: void
    signature: void OptionTests::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:38,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:39,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:40,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:41,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:42,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:43,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:44,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:45,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:46,1
    - Dst: QSettings::sync
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:48,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:50,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:50,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:51,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:51,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:52,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:52,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:53,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:53,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:54,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:54,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:55,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:55,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:56,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:56,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:57,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:57,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:58,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:58,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:62,1
    - Dst: OptionsModel::Init
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:62,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:63,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:63,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:64,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:64,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:65,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:65,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:66,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:66,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:67,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:67,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:68,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:68,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:69,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:69,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:70,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:70,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:71,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:71,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:73,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:74,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:77,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:77,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:77,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 86
    functionName: OptionTests::migrateSettings
    functionSourceFile: /src/bitcoin-core/src/qt/test/optiontests.cpp
    functionUses: 0
    functionsReached:
    - QSettings::setValue
    - strprintf
    - QVERIFY
    - std::string
    - GetDataDirNet
    - QSettings::sync
    - std::istreambuf_iterator<char>
    - OptionsModel::Init
    - QSettings::contains
    - QCOMPARE
    linkageType: ''
    returnType: void
    signature: void OptionTests::migrateSettings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockSettings
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:93,1
    - Dst: forced_settings::erase
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:94,1
    - Dst: WriteSettingsFile
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:97,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:99,1
    - Dst: Init
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:99,1
    - Dst: LockSettings
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:100,1
    - Dst: rw_settings::erase
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:101,1
    - Dst: WriteSettingsFile
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: OptionTests::integerGetArgBug
    functionSourceFile: /src/bitcoin-core/src/qt/test/optiontests.cpp
    functionUses: 0
    functionsReached:
    - rw_settings::erase
    - LockSettings
    - forced_settings::erase
    - QVERIFY
    - Init
    - WriteSettingsFile
    linkageType: ''
    returnType: void
    signature: void OptionTests::integerGetArgBug()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockSettings
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:112,1
    - Dst: forced_settings::erase
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:113,1
    - Dst: forced_settings::erase
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:114,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:116,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:116,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:117,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:117,1
    - Dst: QSettings::setValue
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:120,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:123,1
    - Dst: Init
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:123,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:127,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:127,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:128,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:128,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:130,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:130,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:131,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:131,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:133,1
    - Dst: AppInitParameterInteraction
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:133,1
    - Dst: QSettings::remove
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:136,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:137,1
    - Dst: QSettings::contains
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:137,1
    - Dst: ClearPathCache
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 139
    functionName: OptionTests::parametersInteraction
    functionSourceFile: /src/bitcoin-core/src/qt/test/optiontests.cpp
    functionUses: 0
    functionsReached:
    - QSettings::setValue
    - LockSettings
    - forced_settings::erase
    - QVERIFY
    - QSettings::remove
    - Init
    - GetBoolArg
    - AppInitParameterInteraction
    - QSettings::contains
    - ClearPathCache
    - QCOMPARE
    - IsArgSet
    linkageType: ''
    returnType: void
    signature: void OptionTests::parametersInteraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:143,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:144,1
    - Dst: GUIUtil::ExtractFirstSuffixFromFilter
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:144,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:146,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:147,1
    - Dst: GUIUtil::ExtractFirstSuffixFromFilter
      Src: /src/bitcoin-core/src/qt/test/optiontests.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: OptionTests::extractFilter
    functionSourceFile: /src/bitcoin-core/src/qt/test/optiontests.cpp
    functionUses: 0
    functionsReached:
    - QString
    - GUIUtil::ExtractFirstSuffixFromFilter
    - QCOMPARE
    linkageType: ''
    returnType: void
    signature: void OptionTests::extractFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: RPCNestedTests::RPCNestedTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/rpcnestedtests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCNestedTests(interfaces::Node& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: params::write
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: rpcNestedTest_rpc
    functionSourceFile: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp
    functionUses: 0
    functionsReached:
    - params::write
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan rpcNestedTest_rpc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:46,1
    - Dst: TestingSetup::TestingSetup
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:49,1
    - Dst: setContext
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:50,1
    - Dst: RPCIsInWarmup
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:52,1
    - Dst: SetRPCWarmupFinished
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:52,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:57,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:58,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:59,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:61,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:62,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:64,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:66,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:67,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:67,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:69,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:70,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:70,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:72,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:73,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:73,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:75,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:76,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:78,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:79,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:80,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:81,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:82,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:84,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:85,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:86,1
    - Dst: RPCConsole::RPCParseCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:88,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:89,1
    - Dst: RPCConsole::RPCParseCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:90,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:91,1
    - Dst: RPCConsole::RPCParseCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:92,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:93,1
    - Dst: RPCConsole::RPCParseCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:94,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:95,1
    - Dst: RPCConsole::RPCParseCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:96,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:97,1
    - Dst: RPCConsole::RPCParseCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:98,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:99,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:101,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:102,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:103,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:104,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:105,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:106,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:107,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:108,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:109,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:110,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:111,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:112,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:113,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:114,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:115,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:116,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:117,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:118,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:119,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:120,1
    - Dst: QT_VERSION_CHECK
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:123,1
    - Dst: QVERIFY_EXCEPTION_THROWN
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:127,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:127,1
    - Dst: QVERIFY_EXCEPTION_THROWN
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:128,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:128,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:129,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:130,1
    - Dst: QVERIFY_EXCEPTION_THROWN
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:131,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:131,1
    - Dst: QVERIFY_EXCEPTION_THROWN
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:132,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:132,1
    - Dst: QVERIFY_EXCEPTION_THROWN
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:133,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:133,1
    - Dst: QVERIFY_EXCEPTION_THROWN
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:134,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:134,1
    - Dst: QVERIFY_EXCEPTION_THROWN
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:135,1
    - Dst: RPCExecuteCommandLine
      Src: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 136
    functionName: RPCNestedTests::rpcNestedTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp
    functionUses: 0
    functionsReached:
    - setContext
    - appendCommand
    - RPCExecuteCommandLine
    - RPCConsole::RPCParseCommandLine
    - QVERIFY
    - std::string::starts_with
    - RPCIsInWarmup
    - SetRPCWarmupFinished
    - QT_VERSION_CHECK
    - QVERIFY_EXCEPTION_THROWN
    - TestingSetup::TestingSetup
    linkageType: ''
    returnType: void
    signature: void RPCNestedTests::rpcNestedTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expression
    - ','
    - exceptiontype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: QVERIFY_EXCEPTION_THROWN
    functionSourceFile: /src/bitcoin-core/src/qt/test/rpcnestedtests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QVERIFY_EXCEPTION_THROWN(expression, exceptiontype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:64,1
    - Dst: QApplication::topLevelWidgets
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:65,1
    - Dst: inherits
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:66,1
    - Dst: qobject_cast<SendConfirmationDialog*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:67,1
    - Dst: SendConfirmationDialog*::text
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:68,1
    - Dst: SendConfirmationDialog*::button
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:69,1
    - Dst: QAbstractButton*::setEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:70,1
    - Dst: QAbstractButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: ConfirmSend
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - QAbstractButton*::click
    - SendConfirmationDialog*::button
    - SendConfirmationDialog*::text
    - QTimer::singleShot
    - inherits
    - QApplication::topLevelWidgets
    - QAbstractButton*::setEnabled
    - qobject_cast<SendConfirmationDialog*>
    linkageType: ''
    returnType: void
    signature: void ConfirmSend(QString* text = nullptr, QMessageBox::StandardButton
      confirm_type = QMessageBox::Yes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:81,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:82,1
    - Dst: QVBoxLayout*::itemAt
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:82,1
    - Dst: SendCoinsEntry*::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:83,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:83,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:83,1
    - Dst: SendCoinsEntry*::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:84,1
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:85,1
    - Dst: NotifyTransactionChanged::connect
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:90,1
    - Dst: ConfirmSend
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:93,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:94,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:94,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' wallet'
    - ' sendCoinsDialog'
    - ' address'
    - amount
    - rbf
    argTypes:
    - CWallet
    - SendCoinsDialog
    - CTxDestination
    - CAmount
    - bool
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bitcoin-core/src/qt/test/wallettests.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: SendCoins
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - ConfirmSend
    - findChild
    - EncodeDestination
    - assert
    - QVBoxLayout*::itemAt
    - qobject_cast<SendCoinsEntry*>
    - QString::fromStdString
    - Q_ARG
    - QMetaObject::invokeMethod
    - SendCoinsEntry*::findChild
    - NotifyTransactionChanged::connect
    linkageType: ''
    returnType: Txid
    signature: "Txid SendCoins(CWallet& wallet, SendCoinsDialog& sendCoinsDialog,
      const CTxDestination& address, CAmount amount, bool rbf,\n                  QMessageBox::StandardButton
      confirm_type = QMessageBox::Yes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:102,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:102,1
    - Dst: rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:103,1
    - Dst: index
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:105,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' model'
    - ' txid'
    argTypes:
    - QAbstractItemModel
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: FindTx
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 2
    functionsReached:
    - ToString
    - index
    - rowCount
    - data
    - QString::fromStdString
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex FindTx(const QAbstractItemModel& model, const Txid& txid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:116,1
    - Dst: FindTx
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:117,1
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:117,1
    - Dst: QVERIFY2
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:118,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:118,1
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:122,1
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:123,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:124,1
    - Dst: QTableView*::customContextMenuRequested
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:125,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:126,1
    - Dst: QAction*::isEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:126,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:128,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:130,1
    - Dst: ConfirmSend
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:131,1
    - Dst: ConfirmMessage
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:133,1
    - Dst: QAction*::trigger
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:135,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:136,1
    - Dst: QString::indexOf
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:136,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ' view'
    - ' txid'
    - expectDisabled
    - expectError
    - cancel
    argTypes:
    - TransactionView
    - Txid
    - bool
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 137
    functionName: BumpFee
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - ConfirmSend
    - findChild
    - FindTx
    - QVERIFY2
    - QModelIndex::isValid
    - QVERIFY
    - QCOMPARE
    - std::string::empty
    - QAction*::trigger
    - QString::fromStdString
    - ConfirmMessage
    - QAction*::setEnabled
    - QAction*::isEnabled
    - QString::indexOf
    - QTableView*::selectionModel
    - QTableView*::customContextMenuRequested
    linkageType: ''
    returnType: void
    signature: void BumpFee(TransactionView& view, const Txid& txid, bool expectDisabled,
      std::string expectError, bool cancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:141,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:142,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:143,1
    - Dst: QLabel*::text
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' walletModel'
    - expected_balance
    - balance_label_to_check
    argTypes:
    - WalletModel
    - CAmount
    - QLabel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: CompareBalance
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - QLabel*::text
    - QCOMPARE
    - getOptionsModel
    - BitcoinUnits::formatWithUnit
    linkageType: ''
    returnType: void
    signature: void CompareBalance(WalletModel& walletModel, CAmount expected_balance,
      QLabel* balance_label_to_check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:154,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:155,1
    - Dst: QVBoxLayout*::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:155,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:156,1
    - Dst: QVBoxLayout*::itemAt
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:156,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:157,1
    - Dst: SendCoinsEntry*::getValue
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:157,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:160,1
    - Dst: SendCoinsEntry*::getValue
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:160,1
    - Dst: getCachedBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:160,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:165,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:168,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:168,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:169,1
    - Dst: getCoinControl
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:170,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:174,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:179,1
    - Dst: SendCoinsEntry*::getValue
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' sendCoinsDialog'
    - ' walletModel'
    argTypes:
    - SendCoinsDialog
    - WalletModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: VerifyUseAvailableBalance
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - findChild
    - auto::size
    - auto::begin
    - wallet
    - QVBoxLayout*::itemAt
    - QVERIFY
    - qobject_cast<SendCoinsEntry*>
    - getCachedBalance
    - SendCoinsEntry*::getValue
    - QVBoxLayout*::count
    - getCoinControl
    linkageType: ''
    returnType: void
    signature: void VerifyUseAvailableBalance(SendCoinsDialog& sendCoinsDialog, const
      WalletModel& walletModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:185,1
    - Dst: ScanForWalletTransactions
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:186,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:186,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:187,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:189,1
    - Dst: CWallet::ScanResult::last_failed_block::IsNull
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' node'
    argTypes:
    - std::shared_ptr<CWallet>
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: SyncUpWallet
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - GetMutex
    - context
    - WalletRescanReserver::reserve
    - QVERIFY
    - WITH_LOCK
    - ActiveChain
    - ScanForWalletTransactions
    - Params
    - CWallet::ScanResult::last_failed_block::IsNull
    - QCOMPARE
    linkageType: ''
    returnType: void
    signature: void SyncUpWallet(const std::shared_ptr<CWallet>& wallet, interfaces::Node&
      node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:194,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:194,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:194,1
    - Dst: CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:194,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:195,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:196,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:197,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:199,1
    - Dst: std::shared_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:201,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:209,1
    - Dst: coinbaseKey::GetPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:209,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:211,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:213,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:214,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:214,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:215,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:215,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:216,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:217,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:218,1
    - Dst: std::shared_ptr::AddWalletDescriptor
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:218,1
    - Dst: coinbaseKey::GetPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:219,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:220,1
    - Dst: std::shared_ptr::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: SyncUpWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:222,1
    - Dst: std::shared_ptr::SetBroadcastTransactions
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - ' node'
    - ' test'
    argTypes:
    - interfaces::Node
    - TestChain100Setup
    assertStmts:
    - condition: (descs.size() == 1)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/bitcoin-core/src/qt/test/wallettests.cpp
    - condition: (!descs.empty())
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/bitcoin-core/src/qt/test/wallettests.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 225
    functionName: SetupDescriptorsWallet
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - auto::size
    - std::shared_ptr::SetAddressBook
    - std::move
    - CreateMockableWalletDatabase
    - std::make_shared<CWallet>
    - std::shared_ptr::AddWalletDescriptor
    - context
    - auto::at
    - std::shared_ptr::SetLastBlockProcessed
    - coinbaseKey::GetPubKey
    - std::shared_ptr::SetBroadcastTransactions
    - get
    - WITH_LOCK
    - Parse
    - ActiveChain
    - auto::empty
    - Assert
    - assert
    - SyncUpWallet
    - GetMutex
    - std::shared_ptr::LoadWallet
    - std::shared_ptr::SetWalletFlag
    - LOCK
    - std::shared_ptr::SetupDescriptorScriptPubKeyMans
    - HexStr
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> SetupDescriptorsWallet(interfaces::Node& node,
      TestChain100Setup& test, bool watch_only = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:237,1
    - Dst: Init
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:237,1
    - Dst: std::make_unique<ClientModel>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' node'
    - platformStyle
    argTypes:
    - interfaces::Node
    - PlatformStyle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: MiniGUI
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - Init
    - std::make_unique<ClientModel>
    linkageType: ''
    returnType: void
    signature: void MiniGUI(interfaces::Node& node, const PlatformStyle* platformStyle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walletLoader
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:243,1
    - Dst: AddWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:244,1
    - Dst: std::make_unique<WalletModel>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:245,1
    - Dst: interfaces::MakeWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:245,1
    - Dst: RemoveWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:246,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:247,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:247,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:248,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' node'
    - ' wallet'
    - platformStyle
    argTypes:
    - interfaces::Node
    - std::shared_ptr<CWallet>
    - PlatformStyle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: initModelForWallet
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - walletLoader
    - AddWallet
    - interfaces::MakeWallet
    - setModel
    - get
    - std::make_unique<WalletModel>
    - RemoveWallet
    linkageType: ''
    returnType: void
    signature: void initModelForWallet(interfaces::Node& node, const std::shared_ptr<CWallet>&
      wallet, const PlatformStyle* platformStyle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlatformStyle::instantiate
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:270,1
    - Dst: MiniGUI::initModelForWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:271,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:271,1
    - Dst: pollBalanceChanged
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:277,1
    - Dst: CompareBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:279,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:279,1
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:279,1
    - Dst: VerifyUseAvailableBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:282,1
    - Dst: getTransactionTableModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:285,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:286,1
    - Dst: TransactionTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:286,1
    - Dst: SendCoins
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:287,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:287,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:287,1
    - Dst: SendCoins
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:288,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:288,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:288,1
    - Dst: processEvents
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:290,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:291,1
    - Dst: TransactionTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:291,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:292,1
    - Dst: FindTx
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:292,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:293,1
    - Dst: FindTx
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:293,1
    - Dst: BumpFee
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:296,1
    - Dst: BumpFee
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:297,1
    - Dst: BumpFee
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:298,1
    - Dst: BumpFee
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:299,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:302,1
    - Dst: OverviewPage::setWalletModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:303,1
    - Dst: pollBalanceChanged
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:304,1
    - Dst: CompareBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:305,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:305,1
    - Dst: OverviewPage::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:305,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:308,1
    - Dst: ReceiveCoinsDialog::setModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:309,1
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:310,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:313,1
    - Dst: QLineEdit*::setText
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:314,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:317,1
    - Dst: BitcoinAmountField*::setValue
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:318,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:321,1
    - Dst: QLineEdit*::setText
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:322,1
    - Dst: RecentRequestsTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:323,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:324,1
    - Dst: QPushButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:325,1
    - Dst: QApplication::topLevelWidgets
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:327,1
    - Dst: inherits
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:328,1
    - Dst: qobject_cast<ReceiveRequestDialog*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:329,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:330,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:330,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:330,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:331,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:331,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:331,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:332,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:333,1
    - Dst: QString::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:333,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:334,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:334,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:334,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:335,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:335,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:336,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:337,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:337,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:339,1
    - Dst: QString::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:339,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:340,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:340,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:340,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:341,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:341,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:341,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:343,1
    - Dst: QString::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:343,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:344,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:344,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:344,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:345,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:345,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:345,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:347,1
    - Dst: QString::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:347,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:348,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:348,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:348,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:349,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:349,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:349,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:354,1
    - Dst: QPushButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:355,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:356,1
    - Dst: QLineEdit*::text
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:356,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:356,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:357,1
    - Dst: BitcoinAmountField*::value
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:357,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:357,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:358,1
    - Dst: QLineEdit*::text
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:358,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:358,1
    - Dst: RecentRequestsTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:361,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:362,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:365,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:366,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:366,1
    - Dst: RecentRequestEntry::RecentRequestEntry
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:367,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:368,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:369,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:370,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:371,1
    - Dst: RecentRequestEntry::date::isValid
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:371,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:372,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:373,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:374,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:375,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:376,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:377,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:380,1
    - Dst: QTableView*::selectRow
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:381,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:382,1
    - Dst: QPushButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:383,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:384,1
    - Dst: RecentRequestsTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:384,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:387,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 2
    argNames:
    - ' node'
    - ' wallet'
    argTypes:
    - interfaces::Node
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 388
    functionName: TestGUI
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - FindTx
    - QString
    - processEvents
    - QVERIFY
    - getTransactionTableModel
    - CAmount
    - ReceiveCoinsDialog::setModel
    - QApplication::topLevelWidgets
    - RecentRequestEntry::RecentRequestEntry
    - OverviewPage::findChild
    - QCOMPARE
    - TransactionTableModel*::rowCount
    - QString::isEmpty
    - BumpFee
    - MakeUCharSpan
    - QString::count
    - QLineEdit*::setText
    - QString::fromStdString
    - get
    - QLineEdit*::text
    - PKHash
    - std::unique_ptr::get
    - MiniGUI::initModelForWallet
    - pollBalanceChanged
    - PlatformStyle::instantiate
    - std::vector::size
    - ReceiveCoinsDialog::findChild
    - QTableView*::selectRow
    - RecentRequestsTableModel*::rowCount
    - ReceiveRequestDialog*::QObject::findChild<QLabel*>
    - getRecentRequestsTableModel
    - RecentRequestEntry::date::isValid
    - inherits
    - OverviewPage::setWalletModel
    - VerifyUseAvailableBalance
    - QPushButton*::click
    - qobject_cast<ReceiveRequestDialog*>
    - findChild
    - BitcoinAmountField*::value
    - CompareBalance
    - wallet
    - BitcoinAmountField*::setValue
    - SendCoins
    linkageType: ''
    returnType: void
    signature: void TestGUI(interfaces::Node& node, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetupDescriptorsWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:392,1
    - Dst: PlatformStyle::instantiate
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:395,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:396,1
    - Dst: MiniGUI::initModelForWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:397,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:397,1
    - Dst: pollBalanceChanged
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:402,1
    - Dst: CompareBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:404,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:404,1
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:405,1
    - Dst: getCoinControl
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:408,1
    - Dst: coinbaseKey::GetPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:408,1
    - Dst: QTimer::setInterval
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:412,1
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:413,1
    - Dst: QApplication::topLevelWidgets
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:414,1
    - Dst: inherits
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:415,1
    - Dst: objectName
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:415,1
    - Dst: qobject_cast<QMessageBox*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:416,1
    - Dst: QMessageBox*::button
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:417,1
    - Dst: QAbstractButton*::setEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:418,1
    - Dst: QAbstractButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:419,1
    - Dst: QTimer::stop
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:420,1
    - Dst: QTimer::start
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:425,1
    - Dst: SendCoins
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:428,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:428,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:428,1
    - Dst: QApplication::clipboard
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:429,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:430,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:430,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:433,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:434,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:435,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:437,1
    - Dst: DecodeRawPSBT
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:437,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' node'
    - ' test'
    argTypes:
    - interfaces::Node
    - TestChain100Setup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 438
    functionName: TestGUIWatchOnly
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - QTimer::start
    - QVERIFY
    - QApplication::topLevelWidgets
    - QAbstractButton*::setEnabled
    - qobject_cast<QMessageBox*>
    - DecodeRawPSBT
    - QTimer::stop
    - DecodeBase64
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - coinbaseKey::GetPubKey
    - get
    - PKHash
    - std::unique_ptr::get
    - MiniGUI::initModelForWallet
    - pollBalanceChanged
    - PlatformStyle::instantiate
    - QAbstractButton*::click
    - empty
    - inherits
    - MakeByteSpan
    - QTimer::setInterval
    - SetupDescriptorsWallet
    - findChild
    - CompareBalance
    - wallet
    - objectName
    - QApplication::clipboard
    - SendCoins
    - QMessageBox*::button
    - getCoinControl
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: void
    signature: void TestGUIWatchOnly(interfaces::Node& node, TestChain100Setup& test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestChain100Setup::TestChain100Setup
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:443,1
    - Dst: TestChain100Setup::CreateAndProcessBlock
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:445,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:445,1
    - Dst: TestChain100Setup::coinbaseKey::GetPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:445,1
    - Dst: interfaces::MakeWalletLoader
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:447,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:447,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:448,1
    - Dst: setContext
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:449,1
    - Dst: SetupDescriptorsWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:452,1
    - Dst: TestGUI
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:453,1
    - Dst: TestGUIWatchOnly
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 440
    functionDepth: 5
    functionLinenumber: 440
    functionLinenumberEnd: 458
    functionName: TestGUI
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - interfaces::MakeWalletLoader
    - setContext
    - TestGUI
    - TestGUIWatchOnly
    - SetupDescriptorsWallet
    - GetScriptForRawPubKey
    - TestChain100Setup::TestChain100Setup
    - TestChain100Setup::coinbaseKey::GetPubKey
    - Assert
    - TestChain100Setup::CreateAndProcessBlock
    linkageType: ''
    returnType: void
    signature: void TestGUI(interfaces::Node& node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:64,1
    - Dst: QApplication::topLevelWidgets
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:65,1
    - Dst: inherits
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:66,1
    - Dst: qobject_cast<SendConfirmationDialog*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:67,1
    - Dst: SendConfirmationDialog*::text
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:68,1
    - Dst: SendConfirmationDialog*::button
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:69,1
    - Dst: QAbstractButton*::setEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:70,1
    - Dst: QAbstractButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: ConfirmSend
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 2
    functionsReached:
    - QAbstractButton*::click
    - SendConfirmationDialog*::button
    - SendConfirmationDialog*::text
    - QTimer::singleShot
    - inherits
    - QApplication::topLevelWidgets
    - QAbstractButton*::setEnabled
    - qobject_cast<SendConfirmationDialog*>
    linkageType: ''
    returnType: void
    signature: void ConfirmSend(QString* text = nullptr, QMessageBox::StandardButton
      confirm_type = QMessageBox::Yes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:81,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:82,1
    - Dst: QVBoxLayout*::itemAt
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:82,1
    - Dst: SendCoinsEntry*::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:83,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:83,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:83,1
    - Dst: SendCoinsEntry*::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:84,1
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:85,1
    - Dst: NotifyTransactionChanged::connect
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:90,1
    - Dst: ConfirmSend
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:93,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:94,1
    - Dst: Q_ARG
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:94,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' wallet'
    - ' sendCoinsDialog'
    - ' address'
    - amount
    - rbf
    argTypes:
    - CWallet
    - SendCoinsDialog
    - CTxDestination
    - CAmount
    - bool
    assertStmts:
    - condition: (invoked)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bitcoin-core/src/qt/test/wallettests.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: SendCoins
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 2
    functionsReached:
    - ConfirmSend
    - findChild
    - EncodeDestination
    - assert
    - QVBoxLayout*::itemAt
    - qobject_cast<SendCoinsEntry*>
    - QString::fromStdString
    - Q_ARG
    - QMetaObject::invokeMethod
    - SendCoinsEntry*::findChild
    - NotifyTransactionChanged::connect
    linkageType: ''
    returnType: Txid
    signature: "Txid SendCoins(CWallet& wallet, SendCoinsDialog& sendCoinsDialog,
      const CTxDestination& address, CAmount amount, bool rbf,\n                  QMessageBox::StandardButton
      confirm_type = QMessageBox::Yes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:102,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:102,1
    - Dst: rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:103,1
    - Dst: index
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:105,1
    - Dst: data
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' model'
    - ' txid'
    argTypes:
    - QAbstractItemModel
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: FindTx
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 4
    functionsReached:
    - ToString
    - index
    - rowCount
    - data
    - QString::fromStdString
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex FindTx(const QAbstractItemModel& model, const Txid& txid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:116,1
    - Dst: FindTx
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:117,1
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:117,1
    - Dst: QVERIFY2
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:118,1
    - Dst: QModelIndex::isValid
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:118,1
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:122,1
    - Dst: QTableView*::selectionModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:123,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:124,1
    - Dst: QTableView*::customContextMenuRequested
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:125,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:126,1
    - Dst: QAction*::isEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:126,1
    - Dst: QAction*::setEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:128,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:130,1
    - Dst: ConfirmSend
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:131,1
    - Dst: ConfirmMessage
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:133,1
    - Dst: QAction*::trigger
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:135,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:136,1
    - Dst: QString::indexOf
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:136,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ' view'
    - ' txid'
    - expectDisabled
    - expectError
    - cancel
    argTypes:
    - TransactionView
    - Txid
    - bool
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 137
    functionName: BumpFee
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 1
    functionsReached:
    - ConfirmSend
    - findChild
    - FindTx
    - QVERIFY2
    - QModelIndex::isValid
    - QVERIFY
    - QCOMPARE
    - std::string::empty
    - QAction*::trigger
    - QString::fromStdString
    - ConfirmMessage
    - QAction*::setEnabled
    - QAction*::isEnabled
    - QString::indexOf
    - QTableView*::selectionModel
    - QTableView*::customContextMenuRequested
    linkageType: ''
    returnType: void
    signature: void BumpFee(TransactionView& view, const Txid& txid, bool expectDisabled,
      std::string expectError, bool cancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOptionsModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:141,1
    - Dst: BitcoinUnits::formatWithUnit
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:142,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:143,1
    - Dst: QLabel*::text
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' walletModel'
    - expected_balance
    - balance_label_to_check
    argTypes:
    - WalletModel
    - CAmount
    - QLabel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: CompareBalance
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 2
    functionsReached:
    - QLabel*::text
    - QCOMPARE
    - getOptionsModel
    - BitcoinUnits::formatWithUnit
    linkageType: ''
    returnType: void
    signature: void CompareBalance(WalletModel& walletModel, CAmount expected_balance,
      QLabel* balance_label_to_check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:154,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:155,1
    - Dst: QVBoxLayout*::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:155,1
    - Dst: qobject_cast<SendCoinsEntry*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:156,1
    - Dst: QVBoxLayout*::itemAt
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:156,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:157,1
    - Dst: SendCoinsEntry*::getValue
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:157,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:160,1
    - Dst: SendCoinsEntry*::getValue
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:160,1
    - Dst: getCachedBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:160,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:165,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:168,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:168,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:169,1
    - Dst: getCoinControl
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:170,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:174,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:179,1
    - Dst: SendCoinsEntry*::getValue
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' sendCoinsDialog'
    - ' walletModel'
    argTypes:
    - SendCoinsDialog
    - WalletModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: VerifyUseAvailableBalance
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 1
    functionsReached:
    - findChild
    - auto::size
    - auto::begin
    - wallet
    - QVBoxLayout*::itemAt
    - QVERIFY
    - qobject_cast<SendCoinsEntry*>
    - getCachedBalance
    - SendCoinsEntry*::getValue
    - QVBoxLayout*::count
    - getCoinControl
    linkageType: ''
    returnType: void
    signature: void VerifyUseAvailableBalance(SendCoinsDialog& sendCoinsDialog, const
      WalletModel& walletModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:185,1
    - Dst: ScanForWalletTransactions
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:186,1
    - Dst: Params
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:186,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:187,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:188,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:189,1
    - Dst: CWallet::ScanResult::last_failed_block::IsNull
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' node'
    argTypes:
    - std::shared_ptr<CWallet>
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: SyncUpWallet
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 1
    functionsReached:
    - GetMutex
    - context
    - WalletRescanReserver::reserve
    - QVERIFY
    - WITH_LOCK
    - ActiveChain
    - ScanForWalletTransactions
    - Params
    - CWallet::ScanResult::last_failed_block::IsNull
    - QCOMPARE
    linkageType: ''
    returnType: void
    signature: void SyncUpWallet(const std::shared_ptr<CWallet>& wallet, interfaces::Node&
      node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:194,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:194,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:194,1
    - Dst: CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:194,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:195,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:196,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:197,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:199,1
    - Dst: std::shared_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:201,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:209,1
    - Dst: coinbaseKey::GetPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:209,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:211,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:213,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:214,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:214,1
    - Dst: assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:215,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:215,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:216,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:217,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:218,1
    - Dst: std::shared_ptr::AddWalletDescriptor
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:218,1
    - Dst: coinbaseKey::GetPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:219,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:220,1
    - Dst: std::shared_ptr::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: GetMutex
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: context
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:221,1
    - Dst: SyncUpWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:222,1
    - Dst: std::shared_ptr::SetBroadcastTransactions
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - ' node'
    - ' test'
    argTypes:
    - interfaces::Node
    - TestChain100Setup
    assertStmts:
    - condition: (descs.size() == 1)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/bitcoin-core/src/qt/test/wallettests.cpp
    - condition: (!descs.empty())
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/bitcoin-core/src/qt/test/wallettests.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 225
    functionName: SetupDescriptorsWallet
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 2
    functionsReached:
    - EncodeSecret
    - auto::size
    - std::shared_ptr::SetAddressBook
    - std::move
    - CreateMockableWalletDatabase
    - std::make_shared<CWallet>
    - std::shared_ptr::AddWalletDescriptor
    - context
    - auto::at
    - std::shared_ptr::SetLastBlockProcessed
    - coinbaseKey::GetPubKey
    - std::shared_ptr::SetBroadcastTransactions
    - get
    - WITH_LOCK
    - Parse
    - ActiveChain
    - auto::empty
    - Assert
    - assert
    - SyncUpWallet
    - GetMutex
    - std::shared_ptr::LoadWallet
    - std::shared_ptr::SetWalletFlag
    - LOCK
    - std::shared_ptr::SetupDescriptorScriptPubKeyMans
    - HexStr
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> SetupDescriptorsWallet(interfaces::Node& node,
      TestChain100Setup& test, bool watch_only = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:237,1
    - Dst: Init
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:237,1
    - Dst: std::make_unique<ClientModel>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' node'
    - platformStyle
    argTypes:
    - interfaces::Node
    - PlatformStyle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: MiniGUI
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - Init
    - std::make_unique<ClientModel>
    linkageType: ''
    returnType: void
    signature: void MiniGUI(interfaces::Node& node, const PlatformStyle* platformStyle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walletLoader
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:243,1
    - Dst: AddWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:244,1
    - Dst: std::make_unique<WalletModel>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:245,1
    - Dst: interfaces::MakeWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:245,1
    - Dst: RemoveWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:246,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:247,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:247,1
    - Dst: setModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:248,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' node'
    - ' wallet'
    - platformStyle
    argTypes:
    - interfaces::Node
    - std::shared_ptr<CWallet>
    - PlatformStyle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: initModelForWallet
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 2
    functionsReached:
    - walletLoader
    - AddWallet
    - interfaces::MakeWallet
    - setModel
    - get
    - std::make_unique<WalletModel>
    - RemoveWallet
    linkageType: ''
    returnType: void
    signature: void initModelForWallet(interfaces::Node& node, const std::shared_ptr<CWallet>&
      wallet, const PlatformStyle* platformStyle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlatformStyle::instantiate
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:270,1
    - Dst: MiniGUI::initModelForWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:271,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:271,1
    - Dst: pollBalanceChanged
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:277,1
    - Dst: CompareBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:279,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:279,1
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:279,1
    - Dst: VerifyUseAvailableBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:282,1
    - Dst: getTransactionTableModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:285,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:286,1
    - Dst: TransactionTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:286,1
    - Dst: SendCoins
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:287,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:287,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:287,1
    - Dst: SendCoins
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:288,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:288,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:288,1
    - Dst: processEvents
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:290,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:291,1
    - Dst: TransactionTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:291,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:292,1
    - Dst: FindTx
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:292,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:293,1
    - Dst: FindTx
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:293,1
    - Dst: BumpFee
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:296,1
    - Dst: BumpFee
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:297,1
    - Dst: BumpFee
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:298,1
    - Dst: BumpFee
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:299,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:302,1
    - Dst: OverviewPage::setWalletModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:303,1
    - Dst: pollBalanceChanged
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:304,1
    - Dst: CompareBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:305,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:305,1
    - Dst: OverviewPage::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:305,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:308,1
    - Dst: ReceiveCoinsDialog::setModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:309,1
    - Dst: getRecentRequestsTableModel
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:310,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:313,1
    - Dst: QLineEdit*::setText
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:314,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:317,1
    - Dst: BitcoinAmountField*::setValue
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:318,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:321,1
    - Dst: QLineEdit*::setText
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:322,1
    - Dst: RecentRequestsTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:323,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:324,1
    - Dst: QPushButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:325,1
    - Dst: QApplication::topLevelWidgets
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:327,1
    - Dst: inherits
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:328,1
    - Dst: qobject_cast<ReceiveRequestDialog*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:329,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:330,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:330,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:330,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:331,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:331,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:331,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:332,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:333,1
    - Dst: QString::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:333,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:334,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:334,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:334,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:335,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:335,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:336,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:337,1
    - Dst: QString::isEmpty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:337,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:339,1
    - Dst: QString::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:339,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:340,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:340,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:340,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:341,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:341,1
    - Dst: QString::fromStdString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:341,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:343,1
    - Dst: QString::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:343,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:344,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:344,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:344,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:345,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:345,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:345,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:347,1
    - Dst: QString::count
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:347,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:348,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:348,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:348,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:349,1
    - Dst: ReceiveRequestDialog*::QObject::findChild<QLabel*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:349,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:349,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:354,1
    - Dst: QPushButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:355,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:356,1
    - Dst: QLineEdit*::text
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:356,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:356,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:357,1
    - Dst: BitcoinAmountField*::value
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:357,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:357,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:358,1
    - Dst: QLineEdit*::text
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:358,1
    - Dst: QString
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:358,1
    - Dst: RecentRequestsTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:361,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:362,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:365,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:366,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:366,1
    - Dst: RecentRequestEntry::RecentRequestEntry
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:367,1
    - Dst: MakeUCharSpan
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:368,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:369,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:370,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:371,1
    - Dst: RecentRequestEntry::date::isValid
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:371,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:372,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:373,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:374,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:375,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:376,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:377,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:380,1
    - Dst: QTableView*::selectRow
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:381,1
    - Dst: ReceiveCoinsDialog::findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:382,1
    - Dst: QPushButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:383,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:384,1
    - Dst: RecentRequestsTableModel*::rowCount
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:384,1
    - Dst: QCOMPARE
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:387,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 2
    argNames:
    - ' node'
    - ' wallet'
    argTypes:
    - interfaces::Node
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 388
    functionName: TestGUI
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 1
    functionsReached:
    - FindTx
    - QString
    - processEvents
    - QVERIFY
    - getTransactionTableModel
    - CAmount
    - ReceiveCoinsDialog::setModel
    - QApplication::topLevelWidgets
    - RecentRequestEntry::RecentRequestEntry
    - OverviewPage::findChild
    - QCOMPARE
    - TransactionTableModel*::rowCount
    - QString::isEmpty
    - BumpFee
    - MakeUCharSpan
    - QString::count
    - QLineEdit*::setText
    - QString::fromStdString
    - get
    - QLineEdit*::text
    - PKHash
    - std::unique_ptr::get
    - MiniGUI::initModelForWallet
    - pollBalanceChanged
    - PlatformStyle::instantiate
    - std::vector::size
    - ReceiveCoinsDialog::findChild
    - QTableView*::selectRow
    - RecentRequestsTableModel*::rowCount
    - ReceiveRequestDialog*::QObject::findChild<QLabel*>
    - getRecentRequestsTableModel
    - RecentRequestEntry::date::isValid
    - inherits
    - OverviewPage::setWalletModel
    - VerifyUseAvailableBalance
    - QPushButton*::click
    - qobject_cast<ReceiveRequestDialog*>
    - findChild
    - BitcoinAmountField*::value
    - CompareBalance
    - wallet
    - BitcoinAmountField*::setValue
    - SendCoins
    linkageType: ''
    returnType: void
    signature: void TestGUI(interfaces::Node& node, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetupDescriptorsWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:392,1
    - Dst: PlatformStyle::instantiate
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:395,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:396,1
    - Dst: MiniGUI::initModelForWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:397,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:397,1
    - Dst: pollBalanceChanged
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:402,1
    - Dst: CompareBalance
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:404,1
    - Dst: wallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:404,1
    - Dst: findChild
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:405,1
    - Dst: getCoinControl
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:408,1
    - Dst: coinbaseKey::GetPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:408,1
    - Dst: QTimer::setInterval
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:412,1
    - Dst: PeerManagerImpl::MaybeDiscourageAndDisconnect
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:413,1
    - Dst: QApplication::topLevelWidgets
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:414,1
    - Dst: inherits
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:415,1
    - Dst: objectName
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:415,1
    - Dst: qobject_cast<QMessageBox*>
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:416,1
    - Dst: QMessageBox*::button
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:417,1
    - Dst: QAbstractButton*::setEnabled
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:418,1
    - Dst: QAbstractButton*::click
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:419,1
    - Dst: QTimer::stop
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:420,1
    - Dst: QTimer::start
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:425,1
    - Dst: SendCoins
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:428,1
    - Dst: get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:428,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:428,1
    - Dst: QApplication::clipboard
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:429,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:430,1
    - Dst: empty
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:430,1
    - Dst: DecodeBase64
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:433,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:434,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:435,1
    - Dst: QVERIFY
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:437,1
    - Dst: DecodeRawPSBT
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:437,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' node'
    - ' test'
    argTypes:
    - interfaces::Node
    - TestChain100Setup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 438
    functionName: TestGUIWatchOnly
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 1
    functionsReached:
    - QTimer::start
    - QVERIFY
    - QApplication::topLevelWidgets
    - QAbstractButton*::setEnabled
    - qobject_cast<QMessageBox*>
    - DecodeRawPSBT
    - QTimer::stop
    - DecodeBase64
    - PeerManagerImpl::MaybeDiscourageAndDisconnect
    - coinbaseKey::GetPubKey
    - get
    - PKHash
    - std::unique_ptr::get
    - MiniGUI::initModelForWallet
    - pollBalanceChanged
    - PlatformStyle::instantiate
    - QAbstractButton*::click
    - empty
    - inherits
    - MakeByteSpan
    - QTimer::setInterval
    - SetupDescriptorsWallet
    - findChild
    - CompareBalance
    - wallet
    - objectName
    - QApplication::clipboard
    - SendCoins
    - QMessageBox*::button
    - getCoinControl
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: void
    signature: void TestGUIWatchOnly(interfaces::Node& node, TestChain100Setup& test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestChain100Setup::TestChain100Setup
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:443,1
    - Dst: TestChain100Setup::CreateAndProcessBlock
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:445,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:445,1
    - Dst: TestChain100Setup::coinbaseKey::GetPubKey
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:445,1
    - Dst: interfaces::MakeWalletLoader
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:447,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:447,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:448,1
    - Dst: setContext
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:449,1
    - Dst: SetupDescriptorsWallet
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:452,1
    - Dst: TestGUI
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:453,1
    - Dst: TestGUIWatchOnly
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 440
    functionDepth: 5
    functionLinenumber: 440
    functionLinenumberEnd: 458
    functionName: TestGUI
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - interfaces::MakeWalletLoader
    - setContext
    - TestGUI
    - TestGUIWatchOnly
    - SetupDescriptorsWallet
    - GetScriptForRawPubKey
    - TestChain100Setup::TestChain100Setup
    - TestChain100Setup::coinbaseKey::GetPubKey
    - Assert
    - TestChain100Setup::CreateAndProcessBlock
    linkageType: ''
    returnType: void
    signature: void TestGUI(interfaces::Node& node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::platformName
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:465,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:470,1
    - Dst: TestGUI
      Src: /src/bitcoin-core/src/qt/test/wallettests.cpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 462
    functionDepth: 6
    functionLinenumber: 462
    functionLinenumberEnd: 476
    functionName: WalletTests::walletTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.cpp
    functionUses: 0
    functionsReached:
    - QApplication::platformName
    - TestGUI
    - qWarning
    linkageType: ''
    returnType: void
    signature: void WalletTests::walletTests()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:46,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:48,1
    - Dst: interfaces::MakeGuiInit
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:51,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:52,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:53,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:54,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:55,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:56,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:57,1
    - Dst: ReadConfigFiles
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:60,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:60,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:60,1
    - Dst: getenv
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:66,1
    - Dst: _putenv_s
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:66,1
    - Dst: setenv
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:68,1
    - Dst: QCoreApplication::setOrganizationName
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:72,1
    - Dst: QCoreApplication::setApplicationName
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:73,1
    - Dst: BitcoinApplication::BitcoinApplication
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:78,1
    - Dst: BitcoinApplication::createNode
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:79,1
    - Dst: QTest::qExec
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:82,1
    - Dst: BitcoinApplication::node
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:84,1
    - Dst: QTest::qExec
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:85,1
    - Dst: QTest::qExec
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:88,1
    - Dst: BitcoinApplication::node
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:90,1
    - Dst: QTest::qExec
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:91,1
    - Dst: BitcoinApplication::node
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:94,1
    - Dst: QTest::qExec
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:95,1
    - Dst: BitcoinApplication::node
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:97,1
    - Dst: QTest::qExec
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:98,1
    - Dst: qWarning
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:102,1
    - Dst: qDebug
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:104,1
    - Dst: QSettings::clear
      Src: /src/bitcoin-core/src/qt/test/test_main.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/qt/test/test_main.cpp
    functionUses: 1
    functionsReached:
    - ForceSetArg
    - qWarning
    - setenv
    - QCoreApplication::setApplicationName
    - QSettings::clear
    - BitcoinApplication::BitcoinApplication
    - _putenv_s
    - interfaces::MakeGuiInit
    - GetDataDirNet
    - BitcoinApplication::createNode
    - qDebug
    - ReadConfigFiles
    - QTest::qExec
    - fs::create_directories
    - QCoreApplication::setOrganizationName
    - std::string::c_str
    - getenv
    - BitcoinApplication::node
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - interfaces::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: WalletTests::WalletTests
    functionSourceFile: /src/bitcoin-core/src/qt/test/wallettests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletTests(interfaces::Node& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppTests
      Src: /src/bitcoin-core/src/qt/test/apptests.h:21,1
    - Dst: m_app
      Src: /src/bitcoin-core/src/qt/test/apptests.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: AppTests::public
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.h
    functionUses: 0
    functionsReached:
    - m_app
    - AppTests
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/bitcoin-core/src/qt/test/apptests.h:30,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/qt/test/apptests.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: AppTests::expectCallback
    functionSourceFile: /src/bitcoin-core/src/qt/test/apptests.h
    functionUses: 2
    functionsReached:
    - emplace
    - std::move
    linkageType: ''
    returnType: void
    signature: void expectCallback(std::string callback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QTimer::singleShot
      Src: /src/bitcoin-core/src/qt/test/util.cpp:18,1
    - Dst: QApplication::topLevelWidgets
      Src: /src/bitcoin-core/src/qt/test/util.cpp:19,1
    - Dst: inherits
      Src: /src/bitcoin-core/src/qt/test/util.cpp:20,1
    - Dst: qobject_cast<QMessageBox*>
      Src: /src/bitcoin-core/src/qt/test/util.cpp:21,1
    - Dst: QMessageBox*::text
      Src: /src/bitcoin-core/src/qt/test/util.cpp:22,1
    - Dst: QMessageBox*::defaultButton
      Src: /src/bitcoin-core/src/qt/test/util.cpp:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - text
    - msec
    argTypes:
    - QString*
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: ConfirmMessage
    functionSourceFile: /src/bitcoin-core/src/qt/test/util.cpp
    functionUses: 4
    functionsReached:
    - QMessageBox*::defaultButton
    - QTimer::singleShot
    - inherits
    - QApplication::topLevelWidgets
    - QMessageBox*::text
    - qobject_cast<QMessageBox*>
    linkageType: ''
    returnType: void
    signature: void ConfirmMessage(QString* text, std::chrono::milliseconds msec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: CZMQNotificationInterface::CZMQNotificationInterface
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CZMQNotificationInterface::CZMQNotificationInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CZMQNotificationInterface::Shutdown
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: CZMQNotificationInterface::~CZMQNotificationInterface()
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached:
    - CZMQNotificationInterface::Shutdown
    linkageType: ''
    returnType: void
    signature: void CZMQNotificationInterface::~CZMQNotificationInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::list::push_back
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:38,1
    - Dst: get
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: CZMQNotificationInterface::GetActiveNotifiers
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached:
    - std::list::push_back
    - get
    linkageType: ''
    returnType: std::list<const CZMQAbstractNotifier*>
    signature: std::list<const CZMQAbstractNotifier*> CZMQNotificationInterface::GetActiveNotifiers()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CZMQPublishRawBlockNotifier>
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:49,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:59,1
    - Dst: starts_with
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:61,1
    - Dst: replace
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:62,1
    - Dst: length
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:62,1
    - Dst: factory
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:65,1
    - Dst: std::unique_ptr::SetType
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:66,1
    - Dst: std::unique_ptr::SetAddress
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:67,1
    - Dst: std::unique_ptr::SetOutboundMessageHighWaterMark
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:68,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:68,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:68,1
    - Dst: std::list::push_back
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:69,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:69,1
    - Dst: std::list::empty
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:73,1
    - Dst: CZMQNotificationInterface::CZMQNotificationInterface
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:75,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:76,1
    - Dst: std::unique_ptr::Initialize
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - get_block_by_index
    argTypes:
    - std::function<bool(std::vector<std::byte>&, const CBlockIndex&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 84
    functionName: CZMQNotificationInterface::Create
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 1
    functionsReached:
    - replace
    - std::list::empty
    - CZMQNotificationInterface::CZMQNotificationInterface
    - GetArgs
    - std::unique_ptr::SetAddress
    - starts_with
    - static_cast<int>
    - GetIntArg
    - factory
    - length
    - std::move
    - std::make_unique<CZMQPublishRawBlockNotifier>
    - std::unique_ptr::SetType
    - std::unique_ptr::Initialize
    - std::list::push_back
    - std::unique_ptr::SetOutboundMessageHighWaterMark
    linkageType: ''
    returnType: std::unique_ptr<CZMQNotificationInterface>
    signature: std::unique_ptr<CZMQNotificationInterface> CZMQNotificationInterface::Create(std::function<bool(std::vector<std::byte>&,
      const CBlockIndex&)> get_block_by_index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zmq_version
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:90,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:91,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:93,1
    - Dst: assert
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:94,1
    - Dst: zmq_ctx_new
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:96,1
    - Dst: zmqError
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:100,1
    - Dst: CZMQNotificationInterface::Initialize
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:105,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:106,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:106,1
    - Dst: GetAddress
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:106,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:108,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:108,1
    - Dst: GetAddress
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!pcontext)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: CZMQNotificationInterface::Initialize
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 1
    functionsReached:
    - zmqError
    - CZMQNotificationInterface::Initialize
    - LogDebug
    - zmq_ctx_new
    - GetAddress
    - GetType
    - zmq_version
    - assert
    linkageType: ''
    returnType: bool
    signature: bool CZMQNotificationInterface::Initialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:119,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:123,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:123,1
    - Dst: GetAddress
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:123,1
    - Dst: CZMQNotificationInterface::Shutdown
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:124,1
    - Dst: zmq_ctx_term
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: CZMQNotificationInterface::Shutdown
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 2
    functionsReached:
    - CZMQNotificationInterface::Shutdown
    - LogDebug
    - GetAddress
    - zmq_ctx_term
    - GetType
    linkageType: ''
    returnType: void
    signature: void CZMQNotificationInterface::Shutdown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:137,1
    - Dst: end
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:137,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:138,1
    - Dst: func
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:139,1
    - Dst: CZMQAbstractNotifier*::Shutdown
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:142,1
    - Dst: erase
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' notifiers'
    - ' func'
    argTypes:
    - std::list<std::unique_ptr<CZMQAbstractNotifier>>
    - Function
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: TryForEachAndRemoveFailed
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached:
    - end
    - func
    - erase
    - begin
    - auto::get
    - CZMQAbstractNotifier*::Shutdown
    linkageType: ''
    returnType: void
    signature: void TryForEachAndRemoveFailed(std::list<std::unique_ptr<CZMQAbstractNotifier>>&
      notifiers, const Function& func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:137,1
    - Dst: end
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:137,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:138,1
    - Dst: func
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:139,1
    - Dst: CZMQAbstractNotifier*::Shutdown
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:142,1
    - Dst: erase
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' notifiers'
    - ' func'
    argTypes:
    - std::list<std::unique_ptr<CZMQAbstractNotifier>>
    - Function
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: TryForEachAndRemoveFailed
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached:
    - end
    - func
    - erase
    - begin
    - auto::get
    - CZMQAbstractNotifier*::Shutdown
    linkageType: ''
    returnType: void
    signature: void TryForEachAndRemoveFailed(std::list<std::unique_ptr<CZMQAbstractNotifier>>&
      notifiers, const Function& func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TryForEachAndRemoveFailed
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:155,1
    - Dst: NotifyBlock
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pindexNew
    - pindexFork
    - fInitialDownload
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: CZMQNotificationInterface::UpdatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached:
    - TryForEachAndRemoveFailed
    - NotifyBlock
    linkageType: ''
    returnType: void
    signature: void CZMQNotificationInterface::UpdatedBlockTip(const CBlockIndex *pindexNew,
      const CBlockIndex *pindexFork, bool fInitialDownload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryForEachAndRemoveFailed
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:164,1
    - Dst: NotifyTransaction
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:165,1
    - Dst: NotifyTransactionAcceptance
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' ptx'
    - mempool_sequence
    argTypes:
    - NewMempoolTransactionInfo
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 5
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: CZMQNotificationInterface::TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached:
    - NotifyTransactionAcceptance
    - TryForEachAndRemoveFailed
    - NotifyTransaction
    linkageType: ''
    returnType: void
    signature: void CZMQNotificationInterface::TransactionAddedToMempool(const NewMempoolTransactionInfo&
      ptx, uint64_t mempool_sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryForEachAndRemoveFailed
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:174,1
    - Dst: NotifyTransactionRemoval
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ptx'
    - reason
    - mempool_sequence
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: CZMQNotificationInterface::TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached:
    - NotifyTransactionRemoval
    - TryForEachAndRemoveFailed
    linkageType: ''
    returnType: void
    signature: void CZMQNotificationInterface::TransactionRemovedFromMempool(const
      CTransactionRef& ptx, MemPoolRemovalReason reason, uint64_t mempool_sequence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TryForEachAndRemoveFailed
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:186,1
    - Dst: NotifyTransaction
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:187,1
    - Dst: TryForEachAndRemoveFailed
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:192,1
    - Dst: NotifyBlockConnect
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - role
    - ' pblock'
    - pindexConnected
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 5
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: CZMQNotificationInterface::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached:
    - NotifyBlockConnect
    - TryForEachAndRemoveFailed
    - NotifyTransaction
    linkageType: ''
    returnType: void
    signature: void CZMQNotificationInterface::BlockConnected(ChainstateRole role,
      const std::shared_ptr<const CBlock>& pblock, const CBlockIndex* pindexConnected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryForEachAndRemoveFailed
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:201,1
    - Dst: NotifyTransaction
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:202,1
    - Dst: TryForEachAndRemoveFailed
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:207,1
    - Dst: NotifyBlockDisconnect
      Src: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' pblock'
    - pindexDisconnected
    argTypes:
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 5
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: CZMQNotificationInterface::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqnotificationinterface.cpp
    functionUses: 0
    functionsReached:
    - NotifyBlockDisconnect
    - TryForEachAndRemoveFailed
    - NotifyTransaction
    linkageType: ''
    returnType: void
    signature: void CZMQNotificationInterface::BlockDisconnected(const std::shared_ptr<const
      CBlock>& pblock, const CBlockIndex* pindexDisconnected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqutil.cpp:15,1
    - Dst: zmq_strerror
      Src: /src/bitcoin-core/src/zmq/zmqutil.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: zmqError
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqutil.cpp
    functionUses: 1
    functionsReached:
    - zmq_strerror
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void zmqError(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/zmq/zmqabstractnotifier.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!psocket)
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/bitcoin-core/src/zmq/zmqabstractnotifier.cpp
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: CZMQAbstractNotifier::~CZMQAbstractNotifier()
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CZMQAbstractNotifier::~CZMQAbstractNotifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: CZMQAbstractNotifier::NotifyBlock
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CZMQAbstractNotifier::NotifyBlock(const CBlockIndex * /*CBlockIndex*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: CZMQAbstractNotifier::NotifyTransaction
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CZMQAbstractNotifier::NotifyTransaction(const CTransaction &/*transaction*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: CZMQAbstractNotifier::NotifyBlockConnect
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CZMQAbstractNotifier::NotifyBlockConnect(const CBlockIndex * /*CBlockIndex*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: CZMQAbstractNotifier::NotifyBlockDisconnect
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CZMQAbstractNotifier::NotifyBlockDisconnect(const CBlockIndex
      * /*CBlockIndex*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mempool_sequence
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: CZMQAbstractNotifier::NotifyTransactionAcceptance
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CZMQAbstractNotifier::NotifyTransactionAcceptance(const CTransaction
      &/*transaction*/, uint64_t mempool_sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mempool_sequence
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: CZMQAbstractNotifier::NotifyTransactionRemoval
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CZMQAbstractNotifier::NotifyTransactionRemoval(const CTransaction
      &/*transaction*/, uint64_t mempool_sequence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:39,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:40,1
    - Dst: GetActiveNotifiers
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:46,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:48,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:48,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:49,1
    - Dst: GetAddress
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:49,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:50,1
    - Dst: GetOutboundMessageHighWaterMark
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:50,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:51,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 58
    functionName: getzmqnotifications
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqrpc.cpp
    functionUses: 0
    functionsReached:
    - GetActiveNotifiers
    - HelpExampleCli
    - UniValue::push_back
    - std::move
    - HelpExampleRpc
    - GetAddress
    - GetType
    - GetOutboundMessageHighWaterMark
    - UniValue::pushKV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getzmqnotifications()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:39,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:40,1
    - Dst: GetActiveNotifiers
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:46,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:48,1
    - Dst: GetType
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:48,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:49,1
    - Dst: GetAddress
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:49,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:50,1
    - Dst: GetOutboundMessageHighWaterMark
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:50,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:51,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 58
    functionName: getzmqnotifications
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqrpc.cpp
    functionUses: 0
    functionsReached:
    - GetActiveNotifiers
    - HelpExampleCli
    - UniValue::push_back
    - std::move
    - HelpExampleRpc
    - GetAddress
    - GetType
    - GetOutboundMessageHighWaterMark
    - UniValue::pushKV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getzmqnotifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/zmq/zmqrpc.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - CRPCTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: RegisterZMQRPCCommands
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqrpc.cpp
    functionUses: 1
    functionsReached:
    - appendCommand
    linkageType: ''
    returnType: void
    signature: void RegisterZMQRPCCommands(CRPCTable& t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:53,1
    - Dst: zmq_msg_init_size
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:59,1
    - Dst: zmqError
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:62,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:63,1
    - Dst: zmq_msg_data
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:67,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:68,1
    - Dst: va_arg
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:70,1
    - Dst: zmq_msg_send
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:72,1
    - Dst: zmqError
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:75,1
    - Dst: zmq_msg_close
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:76,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:77,1
    - Dst: zmq_msg_close
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:81,1
    - Dst: va_arg
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:86,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - sock
    - data
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 90
    functionName: zmq_send_multipart
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - zmqError
    - zmq_msg_send
    - va_end
    - va_arg
    - zmq_msg_close
    - zmq_msg_data
    - memcpy
    - va_start
    - zmq_msg_init_size
    linkageType: ''
    returnType: int
    signature: int zmq_send_multipart(void *sock, const void* data, size_t size, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::rfind
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:95,1
    - Dst: std::string::rfind
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:96,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:98,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:98,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:98,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:99,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:100,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - zmq_address
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: IsZMQAddressIPV6
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - std::optional::has_value
    - std::string::length
    - LookupHost
    - std::string::rfind
    - std::optional::value
    - std::string::substr
    linkageType: ''
    returnType: bool
    signature: bool IsZMQAddressIPV6(const std::string &zmq_address)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:107,1
    - Dst: find
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:110,1
    - Dst: end
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:112,1
    - Dst: zmq_socket
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:114,1
    - Dst: zmqError
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:117,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:121,1
    - Dst: zmq_setsockopt
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:123,1
    - Dst: zmqError
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:126,1
    - Dst: zmq_close
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:127,1
    - Dst: zmq_setsockopt
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:132,1
    - Dst: zmqError
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:134,1
    - Dst: zmq_close
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:135,1
    - Dst: IsZMQAddressIPV6
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:140,1
    - Dst: zmq_setsockopt
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:141,1
    - Dst: zmqError
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:143,1
    - Dst: zmq_close
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:144,1
    - Dst: zmq_bind
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:148,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:148,1
    - Dst: zmqError
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:151,1
    - Dst: zmq_close
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:152,1
    - Dst: insert
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:157,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:157,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:162,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:163,1
    - Dst: insert
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:166,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - pcontext
    argTypes:
    - void*
    assertStmts:
    - condition: (!psocket)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 170
    functionName: CZMQAbstractPublishNotifier::Initialize
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - end
    - zmqError
    - std::make_pair
    - zmq_setsockopt
    - zmq_bind
    - insert
    - LogDebug
    - IsZMQAddressIPV6
    - zmq_close
    - zmq_socket
    - c_str
    - assert
    - find
    linkageType: ''
    returnType: bool
    signature: bool CZMQAbstractPublishNotifier::Initialize(void *pcontext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:177,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:181,1
    - Dst: erase
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:187,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:194,1
    - Dst: zmq_setsockopt
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:196,1
    - Dst: zmq_close
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 201
    functionName: CZMQAbstractPublishNotifier::Shutdown
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - erase
    - zmq_setsockopt
    - LogDebug
    - zmq_close
    - equal_range
    - count
    linkageType: ''
    returnType: void
    signature: void CZMQAbstractPublishNotifier::Shutdown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:205,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:209,1
    - Dst: zmq_send_multipart
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:210,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - command
    - data
    - size
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts:
    - condition: (psocket)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: CZMQAbstractPublishNotifier::SendZmqMessage
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - zmq_send_multipart
    - strlen
    - assert
    - WriteLE32
    linkageType: ''
    returnType: bool
    signature: bool CZMQAbstractPublishNotifier::SendZmqMessage(const char *command,
      const void* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:222,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:223,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:223,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:226,1
    - Dst: SendZmqMessage
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: CZMQPublishHashBlockNotifier::NotifyBlock
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - SendZmqMessage
    - LogDebug
    - uint256::begin
    - uint256::GetHex
    - CBlockIndex*::GetBlockHash
    linkageType: ''
    returnType: bool
    signature: bool CZMQPublishHashBlockNotifier::NotifyBlock(const CBlockIndex *pindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:233,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:234,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:234,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:237,1
    - Dst: SendZmqMessage
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: CZMQPublishHashTransactionNotifier::NotifyTransaction
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - SendZmqMessage
    - LogDebug
    - uint256::begin
    - uint256::GetHex
    - CTransaction::GetHash
    linkageType: ''
    returnType: bool
    signature: bool CZMQPublishHashTransactionNotifier::NotifyTransaction(const CTransaction
      &transaction)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:244,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:244,1
    - Dst: m_get_block_by_index
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:247,1
    - Dst: zmqError
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:248,1
    - Dst: SendZmqMessage
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:252,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:252,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: CZMQPublishRawBlockNotifier::NotifyBlock
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - zmqError
    - std::vector::data
    - LogDebug
    - SendZmqMessage
    - CBlockIndex*::GetBlockHash
    - m_get_block_by_index
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool CZMQPublishRawBlockNotifier::NotifyBlock(const CBlockIndex *pindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:257,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:258,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:258,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:259,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:260,1
    - Dst: SendZmqMessage
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:261,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:261,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: CZMQPublishRawTransactionNotifier::NotifyTransaction
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - DataStream::size
    - DataStream::begin
    - LogDebug
    - SendZmqMessage
    - uint256::GetHex
    - TX_WITH_WITNESS
    - DataStream::DataStream
    - CTransaction::GetHash
    linkageType: ''
    returnType: bool
    signature: bool CZMQPublishRawTransactionNotifier::NotifyTransaction(const CTransaction
      &transaction)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:270,1
    - Dst: WriteLE64
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:273,1
    - Dst: SendZmqMessage
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' notifier'
    - hash
    - label
    argTypes:
    - CZMQAbstractPublishNotifier
    - uint256
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: SendSequenceMsg
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - WriteLE64
    - SendZmqMessage
    - uint256::begin
    linkageType: ''
    returnType: bool
    signature: bool SendSequenceMsg(CZMQAbstractPublishNotifier& notifier, uint256
      hash, char label, std::optional<uint64_t> sequence = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:279,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:280,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:280,1
    - Dst: SendSequenceMsg
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: CZMQPublishSequenceNotifier::NotifyBlockConnect
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - uint256::GetHex
    - LogDebug
    - CBlockIndex*::GetBlockHash
    - SendSequenceMsg
    linkageType: ''
    returnType: bool
    signature: bool CZMQPublishSequenceNotifier::NotifyBlockConnect(const CBlockIndex
      *pindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:286,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:287,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:287,1
    - Dst: SendSequenceMsg
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: CZMQPublishSequenceNotifier::NotifyBlockDisconnect
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - uint256::GetHex
    - LogDebug
    - CBlockIndex*::GetBlockHash
    - SendSequenceMsg
    linkageType: ''
    returnType: bool
    signature: bool CZMQPublishSequenceNotifier::NotifyBlockDisconnect(const CBlockIndex
      *pindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:293,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:294,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:294,1
    - Dst: SendSequenceMsg
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - transaction
    - mempool_sequence
    argTypes:
    - CTransaction
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: CZMQPublishSequenceNotifier::NotifyTransactionAcceptance
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - uint256::GetHex
    - LogDebug
    - CTransaction::GetHash
    - SendSequenceMsg
    linkageType: ''
    returnType: bool
    signature: bool CZMQPublishSequenceNotifier::NotifyTransactionAcceptance(const
      CTransaction &transaction, uint64_t mempool_sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTransaction::GetHash
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:300,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:301,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:301,1
    - Dst: SendSequenceMsg
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - transaction
    - mempool_sequence
    argTypes:
    - CTransaction
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: CZMQPublishSequenceNotifier::NotifyTransactionRemoval
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.cpp
    functionUses: 0
    functionsReached:
    - uint256::GetHex
    - LogDebug
    - CTransaction::GetHash
    - SendSequenceMsg
    linkageType: ''
    returnType: bool
    signature: bool CZMQPublishSequenceNotifier::NotifyTransactionRemoval(const CTransaction
      &transaction, uint64_t mempool_sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: CZMQAbstractNotifier::CZMQAbstractNotifier
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CZMQAbstractNotifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<T>
      Src: /src/bitcoin-core/src/zmq/zmqabstractnotifier.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: CZMQAbstractNotifier::Create
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.h
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    linkageType: ''
    returnType: std::unique_ptr<CZMQAbstractNotifier>
    signature: std::unique_ptr<CZMQAbstractNotifier> Create()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: CZMQAbstractNotifier::GetType
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: CZMQAbstractNotifier::SetType
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetType(const std::string &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: CZMQAbstractNotifier::GetAddress
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: CZMQAbstractNotifier::SetAddress
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetAddress(const std::string &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: CZMQAbstractNotifier::GetOutboundMessageHighWaterMark
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetOutboundMessageHighWaterMark() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sndhwm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: CZMQAbstractNotifier::SetOutboundMessageHighWaterMark
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqabstractnotifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOutboundMessageHighWaterMark(const int sndhwm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/zmq/zmqpublishnotifier.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - get_block_by_index
    argTypes:
    - std::function<bool(std::vector<std::byte>&, const CBlockIndex&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: CZMQPublishRawBlockNotifier::CZMQPublishRawBlockNotifier
    functionSourceFile: /src/bitcoin-core/src/zmq/zmqpublishnotifier.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CZMQPublishRawBlockNotifier(std::function<bool(std::vector<std::byte>&,
      const CBlockIndex&)> get_block_by_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: node::Warnings::Warnings
    functionSourceFile: /src/bitcoin-core/src/node/warnings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Warnings(const Warnings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const Warnings&)'
    functionSourceFile: /src/bitcoin-core/src/node/warnings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Warnings
    signature: Warnings & operator=(const Warnings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: node::Warnings::Warnings
    functionSourceFile: /src/bitcoin-core/src/node/warnings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Warnings(const Warnings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const Warnings&)'
    functionSourceFile: /src/bitcoin-core/src/node/warnings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Warnings
    signature: Warnings & operator=(const Warnings&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/node/miner.cpp:37,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:43,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/node/miner.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pindexPrev
    - difficulty_adjustment_interval
    argTypes:
    - CBlockIndex*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: node::GetMinimumTime
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - std::max<int64_t>
    - CBlockIndex*::GetBlockTime
    - CBlockIndex*::GetMedianTimePast
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetMinimumTime(const CBlockIndex* pindexPrev, const int64_t
      difficulty_adjustment_interval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:51,1
    - Dst: node::GetMinimumTime
      Src: /src/bitcoin-core/src/node/miner.cpp:51,1
    - Dst: DifficultyAdjustmentInterval
      Src: /src/bitcoin-core/src/node/miner.cpp:51,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/node/miner.cpp:52,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:52,1
    - Dst: GetNextWorkRequired
      Src: /src/bitcoin-core/src/node/miner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pblock
    - ' consensusParams'
    - pindexPrev
    argTypes:
    - CBlockHeader*
    - Consensus::Params
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: node::UpdateTime
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - GetNextWorkRequired
    - DifficultyAdjustmentInterval
    - TicksSinceEpoch
    - NodeClock::now
    - node::GetMinimumTime
    - std::max<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParams,
      const CBlockIndex* pindexPrev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/node/miner.cpp:68,1
    - Dst: CMutableTransaction::vout::erase
      Src: /src/bitcoin-core/src/node/miner.cpp:69,1
    - Dst: CMutableTransaction::vout::begin
      Src: /src/bitcoin-core/src/node/miner.cpp:69,1
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/node/miner.cpp:69,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/node/miner.cpp:70,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/node/miner.cpp:70,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:72,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/node/miner.cpp:72,1
    - Dst: GenerateCoinbaseCommitment
      Src: /src/bitcoin-core/src/node/miner.cpp:73,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/node/miner.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' block'
    - ' chainman'
    argTypes:
    - CBlock
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: node::RegenerateCommitments
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - GetWitnessCommitmentIndex
    - CMutableTransaction::vout::begin
    - MakeTransactionRef
    - CMutableTransaction::vout::erase
    - WITH_LOCK
    - GenerateCoinbaseCommitment
    - m_blockman::LookupBlockIndex
    - BlockMerkleRoot
    - vtx::at
    linkageType: ''
    returnType: void
    signature: void RegenerateCommitments(CBlock& block, ChainstateManager& chainman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:80,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:81,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:82,1
    - Dst: std::clamp<size_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - options
    argTypes:
    - BlockAssembler::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: node::ClampOptions
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - std::clamp<size_t>
    linkageType: ''
    returnType: BlockAssembler::Options
    signature: BlockAssembler::Options ClampOptions(BlockAssembler::Options options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_chainman::GetParams
      Src: /src/bitcoin-core/src/node/miner.cpp:90,1
    - Dst: ClampOptions
      Src: /src/bitcoin-core/src/node/miner.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' chainstate'
    - mempool
    - ' options'
    argTypes:
    - Chainstate
    - CTxMemPool*
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: node::BlockAssembler::BlockAssembler
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - ClampOptions
    - m_chainman::GetParams
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::BlockAssembler(Chainstate& chainstate, const CTxMemPool*
      mempool, const Options& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/miner.cpp:100,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/miner.cpp:101,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/node/miner.cpp:102,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/miner.cpp:104,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/miner.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - BlockAssembler::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: node::ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 3
    functionsReached:
    - ParseMoney
    - GetArg
    - GetIntArg
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void ApplyArgsManOptions(const ArgsManager& args, BlockAssembler::Options&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/miner.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: node::BlockAssembler::resetBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::resetBlock()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:123,1
    - Dst: node::BlockAssembler::resetBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:125,1
    - Dst: reset
      Src: /src/bitcoin-core/src/node/miner.cpp:127,1
    - Dst: CBlockTemplate::CBlockTemplate
      Src: /src/bitcoin-core/src/node/miner.cpp:127,1
    - Dst: CBlock*::vtx::emplace_back
      Src: /src/bitcoin-core/src/node/miner.cpp:132,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:134,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/node/miner.cpp:135,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/miner.cpp:136,1
    - Dst: m_chainman::m_versionbitscache::ComputeBlockVersion
      Src: /src/bitcoin-core/src/node/miner.cpp:139,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/miner.cpp:139,1
    - Dst: MineBlocksOnDemand
      Src: /src/bitcoin-core/src/node/miner.cpp:142,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/miner.cpp:143,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/node/miner.cpp:146,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:146,1
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/node/miner.cpp:147,1
    - Dst: node::BlockAssembler::addPackageTxs
      Src: /src/bitcoin-core/src/node/miner.cpp:152,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:155,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/node/miner.cpp:161,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/node/miner.cpp:162,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/node/miner.cpp:163,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/node/miner.cpp:165,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/node/miner.cpp:167,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/miner.cpp:167,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/node/miner.cpp:168,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:169,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:170,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/node/miner.cpp:171,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/miner.cpp:171,1
    - Dst: m_chainman::GenerateCoinbaseCommitment
      Src: /src/bitcoin-core/src/node/miner.cpp:172,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/miner.cpp:174,1
    - Dst: GetBlockWeight
      Src: /src/bitcoin-core/src/node/miner.cpp:174,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/miner.cpp:177,1
    - Dst: UpdateTime
      Src: /src/bitcoin-core/src/node/miner.cpp:178,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/miner.cpp:178,1
    - Dst: GetNextWorkRequired
      Src: /src/bitcoin-core/src/node/miner.cpp:179,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/miner.cpp:179,1
    - Dst: TestBlockValidity
      Src: /src/bitcoin-core/src/node/miner.cpp:183,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/node/miner.cpp:183,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/node/miner.cpp:184,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/miner.cpp:184,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/node/miner.cpp:184,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:187,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/miner.cpp:189,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/miner.cpp:190,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/miner.cpp:191,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/miner.cpp:192,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/miner.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pindexPrev != nullptr)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/bitcoin-core/src/node/miner.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 195
    functionName: node::BlockAssembler::CreateNewBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - TicksSinceEpoch
    - std::move
    - NodeClock::now
    - CBlockTemplate::CBlockTemplate
    - m_chainman::GenerateCoinbaseCommitment
    - GetBlockWeight
    - BlockValidationState::IsValid
    - m_chainman::m_versionbitscache::ComputeBlockVersion
    - std::runtime_error
    - CBlockIndex*::GetBlockHash
    - MineBlocksOnDemand
    - CMutableTransaction::vin::resize
    - m_chain::Tip
    - prevout::SetNull
    - UpdateTime
    - GetNextWorkRequired
    - CMutableTransaction::vout::resize
    - TestBlockValidity
    - BlockValidationState::ToString
    - GetBlockSubsidy
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - LogDebug
    - Assert
    - strprintf
    - assert
    - node::BlockAssembler::resetBlock
    - MockableSteadyClock::now
    - Ticks
    - node::BlockAssembler::addPackageTxs
    - static_cast<uint32_t>
    - GetIntArg
    - CBlock*::vtx::emplace_back
    - LOCK
    - LogPrintf
    - reset
    - CScript
    - CBlockIndex*::GetMedianTimePast
    - GetConsensus
    linkageType: ''
    returnType: std::unique_ptr<CBlockTemplate>
    signature: std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/node/miner.cpp:199,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/miner.cpp:199,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/miner.cpp:201,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:201,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/miner.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' testSet'
    argTypes:
    - CTxMemPool::setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: node::BlockAssembler::onlyUnconfirmed
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - begin
    - GetSharedTx
    - count
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::onlyUnconfirmed(CTxMemPool::setEntries& testSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - packageSize
    - packageSigOpsCost
    argTypes:
    - uint64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: node::BlockAssembler::TestPackage
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BlockAssembler::TestPackage(uint64_t packageSize, int64_t packageSigOpsCost)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFinalTx
      Src: /src/bitcoin-core/src/node/miner.cpp:226,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/miner.cpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' package'
    argTypes:
    - CTxMemPool::setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: node::BlockAssembler::TestPackageTransactions
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - GetTx
    - IsFinalTx
    linkageType: ''
    returnType: bool
    signature: bool BlockAssembler::TestPackageTransactions(const CTxMemPool::setEntries&
      package) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block::vtx::emplace_back
      Src: /src/bitcoin-core/src/node/miner.cpp:235,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:235,1
    - Dst: vTxFees::push_back
      Src: /src/bitcoin-core/src/node/miner.cpp:236,1
    - Dst: CTxMemPool::txiter::GetFee
      Src: /src/bitcoin-core/src/node/miner.cpp:236,1
    - Dst: vTxSigOpsCost::push_back
      Src: /src/bitcoin-core/src/node/miner.cpp:237,1
    - Dst: CTxMemPool::txiter::GetSigOpCost
      Src: /src/bitcoin-core/src/node/miner.cpp:237,1
    - Dst: CTxMemPool::txiter::GetTxWeight
      Src: /src/bitcoin-core/src/node/miner.cpp:238,1
    - Dst: CTxMemPool::txiter::GetSigOpCost
      Src: /src/bitcoin-core/src/node/miner.cpp:240,1
    - Dst: CTxMemPool::txiter::GetFee
      Src: /src/bitcoin-core/src/node/miner.cpp:241,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/miner.cpp:242,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:242,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/miner.cpp:245,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/node/miner.cpp:246,1
    - Dst: CTxMemPool::txiter::GetModifiedFee
      Src: /src/bitcoin-core/src/node/miner.cpp:246,1
    - Dst: CTxMemPool::txiter::GetTxSize
      Src: /src/bitcoin-core/src/node/miner.cpp:246,1
    - Dst: CTxMemPool::txiter::GetTx
      Src: /src/bitcoin-core/src/node/miner.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - iter
    argTypes:
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: node::BlockAssembler::AddToBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - CTxMemPool::txiter::GetTx
    - insert
    - CFeeRate
    - vTxSigOpsCost::push_back
    - CTxMemPool::txiter::GetTxWeight
    - CTxMemPool::txiter::GetFee
    - vTxFees::push_back
    - CTxMemPool::txiter::GetSigOpCost
    - LogPrintf
    - CTxMemPool::txiter::GetSharedTx
    - CTxMemPool::txiter::GetModifiedFee
    - block::vtx::emplace_back
    - CTxMemPool::txiter::GetTxSize
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::AddToBlock(CTxMemPool::txiter iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/miner.cpp:287,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/miner.cpp:288,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/miner.cpp:288,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/miner.cpp:288,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/miner.cpp:288,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/miner.cpp:289,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/miner.cpp:289,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/miner.cpp:289,1
    - Dst: CompareTxIterByAncestorCount
      Src: /src/bitcoin-core/src/node/miner.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' package'
    - ' sortedEntries'
    argTypes:
    - CTxMemPool::setEntries
    - std::vector<CTxMemPool::txiter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: node::BlockAssembler::SortForBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - end
    - CompareTxIterByAncestorCount
    - clear
    - std::sort
    - insert
    - begin
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::SortForBlock(const CTxMemPool::setEntries& package,
      std::vector<CTxMemPool::txiter>& sortedEntries)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:304,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:305,1
    - Dst: mapTx::get
      Src: /src/bitcoin-core/src/node/miner.cpp:313,1
    - Dst: mapTx::get
      Src: /src/bitcoin-core/src/node/miner.cpp:323,1
    - Dst: indexed_modified_transaction_set::empty
      Src: /src/bitcoin-core/src/node/miner.cpp:323,1
    - Dst: mapTx::get
      Src: /src/bitcoin-core/src/node/miner.cpp:337,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/miner.cpp:339,1
    - Dst: mapTx::end
      Src: /src/bitcoin-core/src/node/miner.cpp:339,1
    - Dst: indexed_modified_transaction_set::count
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: indexed_modified_transaction_set::get
      Src: /src/bitcoin-core/src/node/miner.cpp:350,1
    - Dst: mapTx::get
      Src: /src/bitcoin-core/src/node/miner.cpp:351,1
    - Dst: indexed_modified_transaction_set::get
      Src: /src/bitcoin-core/src/node/miner.cpp:358,1
    - Dst: CompareTxMemPoolEntryByAncestorFee
      Src: /src/bitcoin-core/src/node/miner.cpp:359,1
    - Dst: CTxMemPoolModifiedEntry
      Src: /src/bitcoin-core/src/node/miner.cpp:359,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/miner.cpp:374,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/miner.cpp:374,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:374,1
    - Dst: CTxMemPool::txiter::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/miner.cpp:376,1
    - Dst: CTxMemPool::txiter::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/miner.cpp:377,1
    - Dst: CTxMemPool::txiter::GetSigOpCostWithAncestors
      Src: /src/bitcoin-core/src/node/miner.cpp:378,1
    - Dst: blockMinFeeRate::GetFee
      Src: /src/bitcoin-core/src/node/miner.cpp:385,1
    - Dst: node::BlockAssembler::TestPackage
      Src: /src/bitcoin-core/src/node/miner.cpp:390,1
    - Dst: indexed_modified_transaction_set::get
      Src: /src/bitcoin-core/src/node/miner.cpp:395,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/miner.cpp:396,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:396,1
    - Dst: AssumeCalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/node/miner.cpp:409,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/node/miner.cpp:409,1
    - Dst: node::BlockAssembler::onlyUnconfirmed
      Src: /src/bitcoin-core/src/node/miner.cpp:411,1
    - Dst: auto::insert
      Src: /src/bitcoin-core/src/node/miner.cpp:412,1
    - Dst: node::BlockAssembler::TestPackageTransactions
      Src: /src/bitcoin-core/src/node/miner.cpp:415,1
    - Dst: indexed_modified_transaction_set::get
      Src: /src/bitcoin-core/src/node/miner.cpp:417,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/miner.cpp:418,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:418,1
    - Dst: node::BlockAssembler::SortForBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:428,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/miner.cpp:430,1
    - Dst: node::BlockAssembler::AddToBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:431,1
    - Dst: indexed_modified_transaction_set::erase
      Src: /src/bitcoin-core/src/node/miner.cpp:433,1
    - Dst: m_package_feerates::emplace_back
      Src: /src/bitcoin-core/src/node/miner.cpp:437,1
    - Dst: static_cast<int32_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:437,1
    - Dst: UpdatePackagesForAdded
      Src: /src/bitcoin-core/src/node/miner.cpp:440,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - ' nPackagesSelected'
    - ' nDescendantsUpdated'
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (!inBlock.count(iter->GetSharedTx()->GetHash()))
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/bitcoin-core/src/node/miner.cpp
    - condition: (it != mempool.mapTx.end())
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/bitcoin-core/src/node/miner.cpp
    constantsTouched: []
    func_position:
      end: 442
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 442
    functionName: node::BlockAssembler::addPackageTxs
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - auto::insert
    - node::BlockAssembler::onlyUnconfirmed
    - std::set::insert
    - indexed_modified_transaction_set::count
    - AssumeCalculateMemPoolAncestors
    - node::BlockAssembler::TestPackage
    - static_cast<int32_t>
    - mapTx::end
    - CTxMemPool::txiter::GetModFeesWithAncestors
    - CompareTxMemPoolEntryByAncestorFee
    - std::vector::size
    - mapTx::get
    - node::BlockAssembler::TestPackageTransactions
    - CTxMemPool::txiter::GetSizeWithAncestors
    - node::BlockAssembler::AddToBlock
    - indexed_modified_transaction_set::get
    - m_package_feerates::emplace_back
    - indexed_modified_transaction_set::empty
    - blockMinFeeRate::GetFee
    - Assert
    - kernel::NoLimits
    - std::set::count
    - CTxMemPool::txiter::GetSharedTx
    - assert
    - count
    - node::BlockAssembler::SortForBlock
    - CTxMemPoolModifiedEntry
    - auto::GetSharedTx
    - UpdatePackagesForAdded
    - LOCK
    - CTxMemPool::txiter::GetSigOpCostWithAncestors
    - indexed_modified_transaction_set::erase
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::addPackageTxs(int& nPackagesSelected, int& nDescendantsUpdated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/node/miner.cpp:446,1
    - Dst: vtx::emplace_back
      Src: /src/bitcoin-core/src/node/miner.cpp:447,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/node/miner.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' block'
    - coinbase
    - version
    - timestamp
    - nonce
    argTypes:
    - CBlock
    - CTransactionRef
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: node::AddMerkleRootAndCoinbase
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - vtx::emplace_back
    - BlockMerkleRoot
    - vtx::size
    linkageType: ''
    returnType: void
    signature: void AddMerkleRootAndCoinbase(CBlock& block, CTransactionRef coinbase,
      uint32_t version, uint32_t timestamp, uint32_t nonce)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:470,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/miner.cpp:473,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:478,1
    - Dst: m_tip_block_cv::wait_until
      Src: /src/bitcoin-core/src/node/miner.cpp:480,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/miner.cpp:480,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/miner.cpp:480,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/miner.cpp:481,1
    - Dst: TipBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:482,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/miner.cpp:486,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:496,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/node/miner.cpp:500,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/node/miner.cpp:516,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:515,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/miner.cpp:535,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:540,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 6
    argNames:
    - ' chainman'
    - ' kernel_notifications'
    - mempool
    - ' block_template'
    - ' options'
    - ' assemble_options'
    argTypes:
    - ChainstateManager
    - KernelNotifications
    - CTxMemPool*
    - std::unique_ptr<CBlockTemplate>
    - BlockWaitOptions
    - BlockAssembler::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 544
    functionName: node::WaitAndCreateNewBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - node::EXCLUSIVE_LOCKS_REQUIRED
    - GetParams
    - CreateNewBlock
    - TipBlock
    - WAIT_LOCK
    - LOCK
    - ActiveChain
    - ActiveChainstate
    - AssertLockHeld
    - m_tip_block_cv::wait_until
    - NodeClock::now
    - std::min
    linkageType: ''
    returnType: std::unique_ptr<CBlockTemplate>
    signature: "std::unique_ptr<CBlockTemplate> WaitAndCreateNewBlock(ChainstateManager&
      chainman,\n                                                      KernelNotifications&
      kernel_notifications,\n                                                      CTxMemPool*
      mempool,\n                                                      const std::unique_ptr<CBlockTemplate>&
      block_template,\n                                                      const
      BlockWaitOptions& options,\n                                                      const
      BlockAssembler::Options& assemble_options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:548,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/node/miner.cpp:549,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/miner.cpp:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' chainman'
    argTypes:
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 552
    functionName: node::GetTip
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - ActiveChain
    - CBlockIndex*::GetBlockHash
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> GetTip(ChainstateManager& chainman)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/miner.cpp:556,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/node/miner.cpp:559,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:561,1
    - Dst: m_tip_block_cv::wait
      Src: /src/bitcoin-core/src/node/miner.cpp:566,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/miner.cpp:566,1
    - Dst: TipBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:567,1
    - Dst: m_tip_block_cv::wait_until
      Src: /src/bitcoin-core/src/node/miner.cpp:572,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/miner.cpp:572,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/miner.cpp:573,1
    - Dst: TipBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:573,1
    - Dst: node::GetTip
      Src: /src/bitcoin-core/src/node/miner.cpp:580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - ' chainman'
    - ' kernel_notifications'
    - ' current_tip'
    - ' timeout'
    argTypes:
    - ChainstateManager
    - KernelNotifications
    - uint256
    - MillisecondsDouble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 581
    functionName: node::WaitTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - node::EXCLUSIVE_LOCKS_REQUIRED
    - TipBlock
    - WAIT_LOCK
    - m_tip_block_cv::wait
    - wallet::WalletRescanReserver::now
    - m_tip_block_cv::wait_until
    - node::GetTip
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> WaitTipChanged(ChainstateManager& chainman,
      KernelNotifications& kernel_notifications, const uint256& current_tip, MillisecondsDouble&
      timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/node/miner.cpp:37,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:43,1
    - Dst: CBlockIndex*::GetBlockTime
      Src: /src/bitcoin-core/src/node/miner.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pindexPrev
    - difficulty_adjustment_interval
    argTypes:
    - CBlockIndex*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: node::GetMinimumTime
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - std::max<int64_t>
    - CBlockIndex*::GetBlockTime
    - CBlockIndex*::GetMedianTimePast
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetMinimumTime(const CBlockIndex* pindexPrev, const int64_t
      difficulty_adjustment_interval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:51,1
    - Dst: node::GetMinimumTime
      Src: /src/bitcoin-core/src/node/miner.cpp:51,1
    - Dst: DifficultyAdjustmentInterval
      Src: /src/bitcoin-core/src/node/miner.cpp:51,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/node/miner.cpp:52,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:52,1
    - Dst: GetNextWorkRequired
      Src: /src/bitcoin-core/src/node/miner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pblock
    - ' consensusParams'
    - pindexPrev
    argTypes:
    - CBlockHeader*
    - Consensus::Params
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: node::UpdateTime
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - GetNextWorkRequired
    - DifficultyAdjustmentInterval
    - TicksSinceEpoch
    - NodeClock::now
    - node::GetMinimumTime
    - std::max<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParams,
      const CBlockIndex* pindexPrev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/node/miner.cpp:68,1
    - Dst: CMutableTransaction::vout::erase
      Src: /src/bitcoin-core/src/node/miner.cpp:69,1
    - Dst: CMutableTransaction::vout::begin
      Src: /src/bitcoin-core/src/node/miner.cpp:69,1
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/node/miner.cpp:69,1
    - Dst: vtx::at
      Src: /src/bitcoin-core/src/node/miner.cpp:70,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/node/miner.cpp:70,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:72,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/node/miner.cpp:72,1
    - Dst: GenerateCoinbaseCommitment
      Src: /src/bitcoin-core/src/node/miner.cpp:73,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/node/miner.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' block'
    - ' chainman'
    argTypes:
    - CBlock
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: node::RegenerateCommitments
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - GetWitnessCommitmentIndex
    - CMutableTransaction::vout::begin
    - MakeTransactionRef
    - CMutableTransaction::vout::erase
    - WITH_LOCK
    - GenerateCoinbaseCommitment
    - m_blockman::LookupBlockIndex
    - BlockMerkleRoot
    - vtx::at
    linkageType: ''
    returnType: void
    signature: void RegenerateCommitments(CBlock& block, ChainstateManager& chainman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:80,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:81,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:82,1
    - Dst: std::clamp<size_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - options
    argTypes:
    - BlockAssembler::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: node::ClampOptions
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - std::clamp<size_t>
    linkageType: ''
    returnType: BlockAssembler::Options
    signature: BlockAssembler::Options ClampOptions(BlockAssembler::Options options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_chainman::GetParams
      Src: /src/bitcoin-core/src/node/miner.cpp:90,1
    - Dst: ClampOptions
      Src: /src/bitcoin-core/src/node/miner.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' chainstate'
    - mempool
    - ' options'
    argTypes:
    - Chainstate
    - CTxMemPool*
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: node::BlockAssembler::BlockAssembler
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - ClampOptions
    - m_chainman::GetParams
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::BlockAssembler(Chainstate& chainstate, const CTxMemPool*
      mempool, const Options& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/miner.cpp:100,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/miner.cpp:101,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/node/miner.cpp:102,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/miner.cpp:104,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/miner.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - BlockAssembler::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: node::ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 3
    functionsReached:
    - ParseMoney
    - GetArg
    - GetIntArg
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void ApplyArgsManOptions(const ArgsManager& args, BlockAssembler::Options&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/miner.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: node::BlockAssembler::resetBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::resetBlock()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:123,1
    - Dst: node::BlockAssembler::resetBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:125,1
    - Dst: reset
      Src: /src/bitcoin-core/src/node/miner.cpp:127,1
    - Dst: CBlockTemplate::CBlockTemplate
      Src: /src/bitcoin-core/src/node/miner.cpp:127,1
    - Dst: CBlock*::vtx::emplace_back
      Src: /src/bitcoin-core/src/node/miner.cpp:132,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:134,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/node/miner.cpp:135,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/miner.cpp:136,1
    - Dst: m_chainman::m_versionbitscache::ComputeBlockVersion
      Src: /src/bitcoin-core/src/node/miner.cpp:139,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/miner.cpp:139,1
    - Dst: MineBlocksOnDemand
      Src: /src/bitcoin-core/src/node/miner.cpp:142,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/miner.cpp:143,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/node/miner.cpp:146,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:146,1
    - Dst: CBlockIndex*::GetMedianTimePast
      Src: /src/bitcoin-core/src/node/miner.cpp:147,1
    - Dst: node::BlockAssembler::addPackageTxs
      Src: /src/bitcoin-core/src/node/miner.cpp:152,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:155,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/node/miner.cpp:161,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/node/miner.cpp:162,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/node/miner.cpp:163,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/node/miner.cpp:165,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/node/miner.cpp:167,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/miner.cpp:167,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/node/miner.cpp:168,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:169,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:170,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/node/miner.cpp:171,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/miner.cpp:171,1
    - Dst: m_chainman::GenerateCoinbaseCommitment
      Src: /src/bitcoin-core/src/node/miner.cpp:172,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/miner.cpp:174,1
    - Dst: GetBlockWeight
      Src: /src/bitcoin-core/src/node/miner.cpp:174,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/miner.cpp:177,1
    - Dst: UpdateTime
      Src: /src/bitcoin-core/src/node/miner.cpp:178,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/miner.cpp:178,1
    - Dst: GetNextWorkRequired
      Src: /src/bitcoin-core/src/node/miner.cpp:179,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/miner.cpp:179,1
    - Dst: TestBlockValidity
      Src: /src/bitcoin-core/src/node/miner.cpp:183,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/node/miner.cpp:183,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/node/miner.cpp:184,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/miner.cpp:184,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/node/miner.cpp:184,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:187,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/miner.cpp:189,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/miner.cpp:190,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/miner.cpp:191,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/miner.cpp:192,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/miner.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pindexPrev != nullptr)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/bitcoin-core/src/node/miner.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 195
    functionName: node::BlockAssembler::CreateNewBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - TicksSinceEpoch
    - std::move
    - NodeClock::now
    - CBlockTemplate::CBlockTemplate
    - m_chainman::GenerateCoinbaseCommitment
    - GetBlockWeight
    - BlockValidationState::IsValid
    - m_chainman::m_versionbitscache::ComputeBlockVersion
    - std::runtime_error
    - CBlockIndex*::GetBlockHash
    - MineBlocksOnDemand
    - CMutableTransaction::vin::resize
    - m_chain::Tip
    - prevout::SetNull
    - UpdateTime
    - GetNextWorkRequired
    - CMutableTransaction::vout::resize
    - TestBlockValidity
    - BlockValidationState::ToString
    - GetBlockSubsidy
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - LogDebug
    - Assert
    - strprintf
    - assert
    - node::BlockAssembler::resetBlock
    - MockableSteadyClock::now
    - Ticks
    - node::BlockAssembler::addPackageTxs
    - static_cast<uint32_t>
    - GetIntArg
    - CBlock*::vtx::emplace_back
    - LOCK
    - LogPrintf
    - reset
    - CScript
    - CBlockIndex*::GetMedianTimePast
    - GetConsensus
    linkageType: ''
    returnType: std::unique_ptr<CBlockTemplate>
    signature: std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/node/miner.cpp:199,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/miner.cpp:199,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/miner.cpp:201,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:201,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/miner.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' testSet'
    argTypes:
    - CTxMemPool::setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: node::BlockAssembler::onlyUnconfirmed
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - end
    - erase
    - begin
    - GetSharedTx
    - count
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::onlyUnconfirmed(CTxMemPool::setEntries& testSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - packageSize
    - packageSigOpsCost
    argTypes:
    - uint64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: node::BlockAssembler::TestPackage
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BlockAssembler::TestPackage(uint64_t packageSize, int64_t packageSigOpsCost)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsFinalTx
      Src: /src/bitcoin-core/src/node/miner.cpp:226,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/miner.cpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' package'
    argTypes:
    - CTxMemPool::setEntries
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: node::BlockAssembler::TestPackageTransactions
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - GetTx
    - IsFinalTx
    linkageType: ''
    returnType: bool
    signature: bool BlockAssembler::TestPackageTransactions(const CTxMemPool::setEntries&
      package) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block::vtx::emplace_back
      Src: /src/bitcoin-core/src/node/miner.cpp:235,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:235,1
    - Dst: vTxFees::push_back
      Src: /src/bitcoin-core/src/node/miner.cpp:236,1
    - Dst: CTxMemPool::txiter::GetFee
      Src: /src/bitcoin-core/src/node/miner.cpp:236,1
    - Dst: vTxSigOpsCost::push_back
      Src: /src/bitcoin-core/src/node/miner.cpp:237,1
    - Dst: CTxMemPool::txiter::GetSigOpCost
      Src: /src/bitcoin-core/src/node/miner.cpp:237,1
    - Dst: CTxMemPool::txiter::GetTxWeight
      Src: /src/bitcoin-core/src/node/miner.cpp:238,1
    - Dst: CTxMemPool::txiter::GetSigOpCost
      Src: /src/bitcoin-core/src/node/miner.cpp:240,1
    - Dst: CTxMemPool::txiter::GetFee
      Src: /src/bitcoin-core/src/node/miner.cpp:241,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/miner.cpp:242,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:242,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/miner.cpp:245,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/node/miner.cpp:246,1
    - Dst: CTxMemPool::txiter::GetModifiedFee
      Src: /src/bitcoin-core/src/node/miner.cpp:246,1
    - Dst: CTxMemPool::txiter::GetTxSize
      Src: /src/bitcoin-core/src/node/miner.cpp:246,1
    - Dst: CTxMemPool::txiter::GetTx
      Src: /src/bitcoin-core/src/node/miner.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - iter
    argTypes:
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: node::BlockAssembler::AddToBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - CTxMemPool::txiter::GetTx
    - insert
    - CFeeRate
    - vTxSigOpsCost::push_back
    - CTxMemPool::txiter::GetTxWeight
    - CTxMemPool::txiter::GetFee
    - vTxFees::push_back
    - CTxMemPool::txiter::GetSigOpCost
    - LogPrintf
    - CTxMemPool::txiter::GetSharedTx
    - CTxMemPool::txiter::GetModifiedFee
    - block::vtx::emplace_back
    - CTxMemPool::txiter::GetTxSize
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::AddToBlock(CTxMemPool::txiter iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/miner.cpp:287,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/miner.cpp:288,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/miner.cpp:288,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/miner.cpp:288,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/miner.cpp:288,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/miner.cpp:289,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/miner.cpp:289,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/miner.cpp:289,1
    - Dst: CompareTxIterByAncestorCount
      Src: /src/bitcoin-core/src/node/miner.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' package'
    - ' sortedEntries'
    argTypes:
    - CTxMemPool::setEntries
    - std::vector<CTxMemPool::txiter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: node::BlockAssembler::SortForBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - end
    - CompareTxIterByAncestorCount
    - clear
    - std::sort
    - insert
    - begin
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::SortForBlock(const CTxMemPool::setEntries& package,
      std::vector<CTxMemPool::txiter>& sortedEntries)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/miner.cpp:304,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:305,1
    - Dst: mapTx::get
      Src: /src/bitcoin-core/src/node/miner.cpp:313,1
    - Dst: mapTx::get
      Src: /src/bitcoin-core/src/node/miner.cpp:323,1
    - Dst: indexed_modified_transaction_set::empty
      Src: /src/bitcoin-core/src/node/miner.cpp:323,1
    - Dst: mapTx::get
      Src: /src/bitcoin-core/src/node/miner.cpp:337,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/miner.cpp:339,1
    - Dst: mapTx::end
      Src: /src/bitcoin-core/src/node/miner.cpp:339,1
    - Dst: indexed_modified_transaction_set::count
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: auto::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:340,1
    - Dst: indexed_modified_transaction_set::get
      Src: /src/bitcoin-core/src/node/miner.cpp:350,1
    - Dst: mapTx::get
      Src: /src/bitcoin-core/src/node/miner.cpp:351,1
    - Dst: indexed_modified_transaction_set::get
      Src: /src/bitcoin-core/src/node/miner.cpp:358,1
    - Dst: CompareTxMemPoolEntryByAncestorFee
      Src: /src/bitcoin-core/src/node/miner.cpp:359,1
    - Dst: CTxMemPoolModifiedEntry
      Src: /src/bitcoin-core/src/node/miner.cpp:359,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/miner.cpp:374,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/miner.cpp:374,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:374,1
    - Dst: CTxMemPool::txiter::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/miner.cpp:376,1
    - Dst: CTxMemPool::txiter::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/miner.cpp:377,1
    - Dst: CTxMemPool::txiter::GetSigOpCostWithAncestors
      Src: /src/bitcoin-core/src/node/miner.cpp:378,1
    - Dst: blockMinFeeRate::GetFee
      Src: /src/bitcoin-core/src/node/miner.cpp:385,1
    - Dst: node::BlockAssembler::TestPackage
      Src: /src/bitcoin-core/src/node/miner.cpp:390,1
    - Dst: indexed_modified_transaction_set::get
      Src: /src/bitcoin-core/src/node/miner.cpp:395,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/miner.cpp:396,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:396,1
    - Dst: AssumeCalculateMemPoolAncestors
      Src: /src/bitcoin-core/src/node/miner.cpp:409,1
    - Dst: kernel::NoLimits
      Src: /src/bitcoin-core/src/node/miner.cpp:409,1
    - Dst: node::BlockAssembler::onlyUnconfirmed
      Src: /src/bitcoin-core/src/node/miner.cpp:411,1
    - Dst: auto::insert
      Src: /src/bitcoin-core/src/node/miner.cpp:412,1
    - Dst: node::BlockAssembler::TestPackageTransactions
      Src: /src/bitcoin-core/src/node/miner.cpp:415,1
    - Dst: indexed_modified_transaction_set::get
      Src: /src/bitcoin-core/src/node/miner.cpp:417,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/miner.cpp:418,1
    - Dst: CTxMemPool::txiter::GetSharedTx
      Src: /src/bitcoin-core/src/node/miner.cpp:418,1
    - Dst: node::BlockAssembler::SortForBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:428,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/miner.cpp:430,1
    - Dst: node::BlockAssembler::AddToBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:431,1
    - Dst: indexed_modified_transaction_set::erase
      Src: /src/bitcoin-core/src/node/miner.cpp:433,1
    - Dst: m_package_feerates::emplace_back
      Src: /src/bitcoin-core/src/node/miner.cpp:437,1
    - Dst: static_cast<int32_t>
      Src: /src/bitcoin-core/src/node/miner.cpp:437,1
    - Dst: UpdatePackagesForAdded
      Src: /src/bitcoin-core/src/node/miner.cpp:440,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - ' nPackagesSelected'
    - ' nDescendantsUpdated'
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (!inBlock.count(iter->GetSharedTx()->GetHash()))
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/bitcoin-core/src/node/miner.cpp
    - condition: (it != mempool.mapTx.end())
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/bitcoin-core/src/node/miner.cpp
    constantsTouched: []
    func_position:
      end: 442
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 442
    functionName: node::BlockAssembler::addPackageTxs
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 2
    functionsReached:
    - auto::insert
    - node::BlockAssembler::onlyUnconfirmed
    - std::set::insert
    - indexed_modified_transaction_set::count
    - AssumeCalculateMemPoolAncestors
    - node::BlockAssembler::TestPackage
    - static_cast<int32_t>
    - mapTx::end
    - CTxMemPool::txiter::GetModFeesWithAncestors
    - CompareTxMemPoolEntryByAncestorFee
    - std::vector::size
    - mapTx::get
    - node::BlockAssembler::TestPackageTransactions
    - CTxMemPool::txiter::GetSizeWithAncestors
    - node::BlockAssembler::AddToBlock
    - indexed_modified_transaction_set::get
    - m_package_feerates::emplace_back
    - indexed_modified_transaction_set::empty
    - blockMinFeeRate::GetFee
    - Assert
    - kernel::NoLimits
    - std::set::count
    - CTxMemPool::txiter::GetSharedTx
    - assert
    - count
    - node::BlockAssembler::SortForBlock
    - CTxMemPoolModifiedEntry
    - auto::GetSharedTx
    - UpdatePackagesForAdded
    - LOCK
    - CTxMemPool::txiter::GetSigOpCostWithAncestors
    - indexed_modified_transaction_set::erase
    linkageType: ''
    returnType: void
    signature: void BlockAssembler::addPackageTxs(int& nPackagesSelected, int& nDescendantsUpdated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vtx::size
      Src: /src/bitcoin-core/src/node/miner.cpp:446,1
    - Dst: vtx::emplace_back
      Src: /src/bitcoin-core/src/node/miner.cpp:447,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/node/miner.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' block'
    - coinbase
    - version
    - timestamp
    - nonce
    argTypes:
    - CBlock
    - CTransactionRef
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: node::AddMerkleRootAndCoinbase
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - vtx::emplace_back
    - BlockMerkleRoot
    - vtx::size
    linkageType: ''
    returnType: void
    signature: void AddMerkleRootAndCoinbase(CBlock& block, CTransactionRef coinbase,
      uint32_t version, uint32_t timestamp, uint32_t nonce)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:470,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/miner.cpp:473,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:478,1
    - Dst: m_tip_block_cv::wait_until
      Src: /src/bitcoin-core/src/node/miner.cpp:480,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/miner.cpp:480,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/miner.cpp:480,1
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/miner.cpp:481,1
    - Dst: TipBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:482,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/miner.cpp:486,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:496,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/node/miner.cpp:500,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/node/miner.cpp:516,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:515,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/miner.cpp:535,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/miner.cpp:540,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 6
    argNames:
    - ' chainman'
    - ' kernel_notifications'
    - mempool
    - ' block_template'
    - ' options'
    - ' assemble_options'
    argTypes:
    - ChainstateManager
    - KernelNotifications
    - CTxMemPool*
    - std::unique_ptr<CBlockTemplate>
    - BlockWaitOptions
    - BlockAssembler::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 544
    functionName: node::WaitAndCreateNewBlock
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - node::EXCLUSIVE_LOCKS_REQUIRED
    - GetParams
    - CreateNewBlock
    - TipBlock
    - WAIT_LOCK
    - LOCK
    - ActiveChain
    - ActiveChainstate
    - AssertLockHeld
    - m_tip_block_cv::wait_until
    - NodeClock::now
    - std::min
    linkageType: ''
    returnType: std::unique_ptr<CBlockTemplate>
    signature: "std::unique_ptr<CBlockTemplate> WaitAndCreateNewBlock(ChainstateManager&
      chainman,\n                                                      KernelNotifications&
      kernel_notifications,\n                                                      CTxMemPool*
      mempool,\n                                                      const std::unique_ptr<CBlockTemplate>&
      block_template,\n                                                      const
      BlockWaitOptions& options,\n                                                      const
      BlockAssembler::Options& assemble_options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:548,1
    - Dst: ActiveChain
      Src: /src/bitcoin-core/src/node/miner.cpp:549,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/miner.cpp:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' chainman'
    argTypes:
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 552
    functionName: node::GetTip
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - ActiveChain
    - CBlockIndex*::GetBlockHash
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> GetTip(ChainstateManager& chainman)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/miner.cpp:556,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/node/miner.cpp:559,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/miner.cpp:561,1
    - Dst: m_tip_block_cv::wait
      Src: /src/bitcoin-core/src/node/miner.cpp:566,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/miner.cpp:566,1
    - Dst: TipBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:567,1
    - Dst: m_tip_block_cv::wait_until
      Src: /src/bitcoin-core/src/node/miner.cpp:572,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/miner.cpp:572,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/miner.cpp:573,1
    - Dst: TipBlock
      Src: /src/bitcoin-core/src/node/miner.cpp:573,1
    - Dst: node::GetTip
      Src: /src/bitcoin-core/src/node/miner.cpp:580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - ' chainman'
    - ' kernel_notifications'
    - ' current_tip'
    - ' timeout'
    argTypes:
    - ChainstateManager
    - KernelNotifications
    - uint256
    - MillisecondsDouble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 581
    functionName: node::WaitTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/miner.cpp
    functionUses: 0
    functionsReached:
    - Assume
    - node::EXCLUSIVE_LOCKS_REQUIRED
    - TipBlock
    - WAIT_LOCK
    - m_tip_block_cv::wait
    - wallet::WalletRescanReserver::now
    - m_tip_block_cv::wait_until
    - node::GetTip
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> WaitTipChanged(ChainstateManager& chainman,
      KernelNotifications& kernel_notifications, const uint256& current_tip, MillisecondsDouble&
      timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' tx'
    - peer
    - seq
    argTypes:
    - CTransactionRef
    - NodeId
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: node::TxOrphanageImpl::Announcement
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Announcement(const CTransactionRef& tx, NodeId peer, SequenceNumber
      seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: node::TxOrphanageImpl::GetMemUsage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - GetTransactionWeight
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage GetMemUsage()  const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vin::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: node::TxOrphanageImpl::GetLatencyScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - vin::size
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count GetLatencyScore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - m_tx::GetWitnessHash
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PeerDoSInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: operator==(const PeerDoSInfo& other) const
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PeerDoSInfo& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxOrphanageImpl::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:137,1
    - Dst: node::TxOrphanageImpl::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: node::TxOrphanageImpl::Add
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - node::TxOrphanageImpl::GetMemUsage
    - node::TxOrphanageImpl::GetLatencyScore
    linkageType: ''
    returnType: void
    signature: void Add(const Announcement& ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:143,1
    - Dst: node::TxOrphanageImpl::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:143,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:144,1
    - Dst: node::TxOrphanageImpl::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:144,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:145,1
    - Dst: node::TxOrphanageImpl::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:147,1
    - Dst: node::TxOrphanageImpl::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: node::TxOrphanageImpl::Subtract
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - node::TxOrphanageImpl::GetMemUsage
    - Assume
    - node::TxOrphanageImpl::GetLatencyScore
    linkageType: ''
    returnType: bool
    signature: bool Subtract(const Announcement& ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:163,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:164,1
    - Dst: std::max<FeeFrac>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - max_peer_latency_score
    - max_peer_memory
    argTypes:
    - TxOrphanage::Count
    - TxOrphanage::Usage
    assertStmts:
    - condition: (max_peer_latency_score > 0)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (max_peer_memory > 0)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: node::TxOrphanageImpl::GetDosScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - std::max<FeeFrac>
    - assert
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac GetDosScore(TxOrphanage::Count max_peer_latency_score, TxOrphanage::Usage
      max_peer_memory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: node::TxOrphanageImpl::TxOrphanageImpl
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - max_global_latency_score
    - reserved_peer_usage
    argTypes:
    - Count
    - Usage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: node::TxOrphanageImpl::TxOrphanageImpl
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl(Count max_global_latency_score, Usage reserved_peer_usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ~TxOrphanageImpl() noexcept override
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TxOrphanageImpl() noexcept override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:244,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:245,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:245,1
    - Dst: auto::second::Subtract
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:246,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:246,1
    - Dst: node::TxOrphanageImpl::IsUnique
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:248,1
    - Dst: project
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:248,1
    - Dst: Iter<Tag>::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:250,1
    - Dst: Iter<Tag>::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:251,1
    - Dst: Iter<Tag>::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:254,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:256,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:257,1
    - Dst: auto::second::erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:258,1
    - Dst: auto::second::empty
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:260,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:261,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:269,1
    - Dst: Iter<Tag>::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:269,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iter<Tag>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 272
    functionName: node::TxOrphanageImpl::Erase
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - Assume
    - Iter<Tag>::GetMemUsage
    - auto::second::erase
    - project
    - Iter<Tag>::GetLatencyScore
    - Iter<Tag>::m_tx::GetWitnessHash
    - auto::second::empty
    - get
    - find
    - auto::second::Subtract
    - node::TxOrphanageImpl::IsUnique
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::Erase(Iter<Tag> it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:277,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:278,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: Iter<ByWtxid>::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:280,1
    - Dst: std::prev
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:280,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:280,1
    - Dst: Iter<ByWtxid>::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iter<ByWtxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: node::TxOrphanageImpl::IsUnique
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached:
    - end
    - GetWitnessHash
    - std::next
    - get
    - begin
    - std::prev
    - Iter<ByWtxid>::m_tx::GetWitnessHash
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::IsUnique(Iter<ByWtxid> it) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:286,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: node::TxOrphanageImpl::UsageByPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage TxOrphanageImpl::UsageByPeer(NodeId peer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: node::TxOrphanageImpl::CountAnnouncements
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::CountAnnouncements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: node::TxOrphanageImpl::TotalOrphanUsage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage TxOrphanageImpl::TotalOrphanUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: node::TxOrphanageImpl::CountUniqueOrphans
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::CountUniqueOrphans() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:297,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: node::TxOrphanageImpl::AnnouncementsFromPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::AnnouncementsFromPeer(NodeId peer)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:302,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: node::TxOrphanageImpl::LatencyScoreFromPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::LatencyScoreFromPeer(NodeId peer)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:308,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:309,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:312,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:314,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:314,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:314,1
    - Dst: node::TxOrphanageImpl::HaveTx
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:319,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:321,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:326,1
    - Dst: node::TxOrphanageImpl::Add
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:327,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:332,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:333,1
    - Dst: node::TxOrphanageImpl::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:337,1
    - Dst: node::TxOrphanageImpl::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:338,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:340,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:341,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:341,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:341,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:341,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:342,1
    - Dst: node::TxOrphanageImpl::IsUnique
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:342,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:344,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:345,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:345,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:346,1
    - Dst: node::TxOrphanageImpl::IsUnique
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:346,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - ' tx'
    - peer
    argTypes:
    - CTransactionRef
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 352
    functionName: node::TxOrphanageImpl::AddTx
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - ToString
    - Assume
    - node::TxOrphanageImpl::GetLatencyScore
    - GetWitnessHash
    - LogDebug
    - GetHash
    - node::TxOrphanageImpl::GetMemUsage
    - size
    - GetTransactionWeight
    - node::TxOrphanageImpl::LimitOrphans
    - get
    - node::TxOrphanageImpl::HaveTx
    - node::TxOrphanageImpl::Add
    - try_emplace
    - node::TxOrphanageImpl::IsUnique
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::AddTx(const CTransactionRef& tx, NodeId peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:356,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:357,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:361,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:362,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:366,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:371,1
    - Dst: node::TxOrphanageImpl::Add
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:372,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:374,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:375,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:376,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:376,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:378,1
    - Dst: node::TxOrphanageImpl::IsUnique
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:378,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' wtxid'
    - peer
    argTypes:
    - Wtxid
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 383
    functionName: node::TxOrphanageImpl::AddAnnouncer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - lower_bound
    - ToString
    - Assume
    - LogDebug
    - GetHash
    - node::TxOrphanageImpl::LimitOrphans
    - auto::m_tx::GetWitnessHash
    - get
    - node::TxOrphanageImpl::Add
    - try_emplace
    - node::TxOrphanageImpl::IsUnique
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::AddAnnouncer(const Wtxid& wtxid, NodeId peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:387,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:389,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:390,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:390,1
    - Dst: upper_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:392,1
    - Dst: auto::m_tx::GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:394,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:396,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:396,1
    - Dst: node::TxOrphanageImpl::Erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:397,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:400,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:400,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionName: node::TxOrphanageImpl::EraseTxInternal
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::ToString
    - lower_bound
    - Assume
    - ToString
    - LogDebug
    - auto::m_tx::GetWitnessHash
    - node::TxOrphanageImpl::Erase
    - get
    - auto::m_tx::GetHash
    - upper_bound
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::EraseTxInternal(const Wtxid& wtxid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxOrphanageImpl::EraseTxInternal
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:407,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: node::TxOrphanageImpl::EraseTx
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - node::TxOrphanageImpl::EraseTxInternal
    - node::TxOrphanageImpl::LimitOrphans
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::EraseTx(const Wtxid& wtxid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:418,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:419,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:420,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:423,1
    - Dst: node::TxOrphanageImpl::Erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:425,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:428,1
    - Dst: contains
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:428,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:430,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: node::TxOrphanageImpl::EraseForPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - lower_bound
    - Assume
    - LogDebug
    - contains
    - node::TxOrphanageImpl::LimitOrphans
    - node::TxOrphanageImpl::Erase
    - get
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::EraseForPeer(NodeId peer)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: node::TxOrphanageImpl::NeedsTrim
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:444,1
    - Dst: node::TxOrphanageImpl::CountUniqueOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:446,1
    - Dst: node::TxOrphanageImpl::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:450,1
    - Dst: node::TxOrphanageImpl::ReservedPeerUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:451,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:456,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:456,1
    - Dst: node::TxOrphanageImpl::GetDosScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:459,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:461,1
    - Dst: std::make_heap
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:469,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:469,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:469,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:479,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:479,1
    - Dst: std::pop_heap
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:482,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:482,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:482,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:483,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:483,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:484,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:487,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:489,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:495,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:495,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:496,1
    - Dst: node::TxOrphanageImpl::NeedsTrim
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:499,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:500,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:500,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:501,1
    - Dst: node::TxOrphanageImpl::Erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:503,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:508,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:509,1
    - Dst: auto::second::GetDosScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:509,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:511,1
    - Dst: node::TxOrphanageImpl::NeedsTrim
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:513,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:517,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:518,1
    - Dst: auto::second::GetDosScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:518,1
    - Dst: std::push_heap
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:519,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:519,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:519,1
    - Dst: node::TxOrphanageImpl::CountUniqueOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:523,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:524,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 525
    functionName: node::TxOrphanageImpl::LimitOrphans
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 4
    functionsReached:
    - node::TxOrphanageImpl::NeedsTrim
    - std::vector::emplace_back
    - std::move
    - std::pop_heap
    - node::TxOrphanageImpl::CountUniqueOrphans
    - std::vector::front
    - std::vector::end
    - std::push_heap
    - std::vector::back
    - std::vector::reserve
    - get
    - std::vector::pop_back
    - std::vector::empty
    - find
    - node::TxOrphanageImpl::GetDosScore
    - Assume
    - LogDebug
    - std::make_heap
    - node::TxOrphanageImpl::Erase
    - node::TxOrphanageImpl::MaxPeerLatencyScore
    - end
    - node::TxOrphanageImpl::ReservedPeerUsage
    - size
    - std::vector::begin
    - auto::second::GetDosScore
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::LimitOrphans()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:530,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:531,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:532,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:532,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:532,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:533,1
    - Dst: contains
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:536,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:539,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:540,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:540,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:540,1
    - Dst: upper_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:545,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:546,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:547,1
    - Dst: std::advance
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:548,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:548,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:550,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:550,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:554,1
    - Dst: modify
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:555,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:556,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:557,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:559,1
    - Dst: auto::m_tx::GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:560,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:560,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' tx'
    - ' rng'
    argTypes:
    - CTransaction
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 565
    functionName: node::TxOrphanageImpl::AddChildrenToWorkSet
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - lower_bound
    - GetHash
    - contains
    - auto::m_tx::GetWitnessHash
    - upper_bound
    - std::advance
    - get
    - find
    - Assume
    - LogDebug
    - COutPoint
    - vout::size
    - auto::m_tx::GetHash
    - end
    - std::distance
    - randrange
    - modify
    - insert
    linkageType: ''
    returnType: std::vector<std::pair<Wtxid, NodeId>>
    signature: std::vector<std::pair<Wtxid, NodeId>> TxOrphanageImpl::AddChildrenToWorkSet(const
      CTransaction& tx, FastRandomContext& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:569,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:570,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: node::TxOrphanageImpl::HaveTx
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached:
    - auto::m_tx::GetWitnessHash
    - get
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::HaveTx(const Wtxid& wtxid) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:575,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:576,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: node::TxOrphanageImpl::GetTx
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - auto::m_tx::GetWitnessHash
    - get
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef TxOrphanageImpl::GetTx(const Wtxid& wtxid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wtxid'
    - peer
    argTypes:
    - Wtxid
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: node::TxOrphanageImpl::HaveTxFromPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::HaveTxFromPeer(const Wtxid& wtxid, NodeId peer)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:589,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:590,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:594,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:597,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 601
    functionName: node::TxOrphanageImpl::GetTxToReconsider
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - erase
    - auto::m_tx::GetWitnessHash
    - get
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef TxOrphanageImpl::GetTxToReconsider(NodeId peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:606,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: node::TxOrphanageImpl::HaveTxToReconsider
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::HaveTxToReconsider(NodeId peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:612,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:620,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:621,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: auto::second::cbegin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: auto::second::cend
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: node::TxOrphanageImpl::EraseTxInternal
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:633,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:637,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:639,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:639,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - CBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 643
    functionName: node::TxOrphanageImpl::EraseForBlock
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::copy
    - empty
    - Assume
    - std::inserter
    - LogDebug
    - auto::second::cend
    - node::TxOrphanageImpl::LimitOrphans
    - std::set::end
    - auto::second::cbegin
    - node::TxOrphanageImpl::EraseTxInternal
    - find
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::EraseForBlock(const CBlock& block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:648,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:654,1
    - Dst: upper_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:655,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:655,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:656,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:660,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' parent'
    - peer
    argTypes:
    - CTransactionRef
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: node::TxOrphanageImpl::GetChildrenFromSamePeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - lower_bound
    - Assume
    - GetHash
    - get
    - RandomMixin::max
    - upper_bound
    linkageType: ''
    returnType: std::vector<CTransactionRef>
    signature: std::vector<CTransactionRef> TxOrphanageImpl::GetChildrenFromSamePeer(const
      CTransactionRef& parent, NodeId peer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:675,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:677,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:678,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:680,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:681,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:684,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:684,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:685,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:690,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 693
    functionName: node::TxOrphanageImpl::GetOrphanTransactions
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::emplace_back
    - Assume
    - GetWitnessHash
    - std::next
    - std::vector::reserve
    - std::move
    - std::set::clear
    - auto::m_tx::GetWitnessHash
    - std::set::insert
    - get
    - std::vector::size
    - begin
    linkageType: ''
    returnType: std::vector<TxOrphanage::OrphanInfo>
    signature: std::vector<TxOrphanage::OrphanInfo> TxOrphanageImpl::GetOrphanTransactions()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:702,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:702,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:704,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: auto::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: auto::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: auto::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:709,1
    - Dst: auto::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:711,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:714,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:714,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:716,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:719,1
    - Dst: std::unordered_map::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:719,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:719,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:722,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:725,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:730,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:730,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:730,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:732,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:732,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:734,1
    - Dst: std::map::contains
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:734,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:739,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:739,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:740,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:740,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:740,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:741,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:741,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:743,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:743,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:743,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:745,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:748,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:748,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:748,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:750,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:753,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:753,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:753,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:755,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:758,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:758,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:758,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:760,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:760,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:762,1
    - Dst: node::TxOrphanageImpl::NeedsTrim
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reconstructed_peer_info.size() == m_peer_orphanage_info.size())
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (all_outpoints.contains(outpoint))
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (m_orphans.size() >= m_unique_orphans)
      pos:
        line_end: 738
        line_start: 738
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (m_orphans.size() <= m_peer_orphanage_info.size() * m_unique_orphans)
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (calculated_dedup_usage == m_unique_orphan_usage)
      pos:
        line_end: 744
        line_start: 744
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (!NeedsTrim())
      pos:
        line_end: 761
        line_start: 761
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (summed_peer_latency_score >= m_unique_rounded_input_scores + m_orphans.size())
      pos:
        line_end: 759
        line_start: 759
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (calculated_total_latency_score == m_unique_rounded_input_scores)
      pos:
        line_end: 754
        line_start: 754
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (unique_wtxids_to_scores.contains(wtxid))
      pos:
        line_end: 733
        line_start: 733
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (added)
      pos:
        line_end: 715
        line_start: 715
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (m_reconsiderable_wtxids == reconstructed_reconsiderable_wtxids)
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (reconstructed_peer_info == m_peer_orphanage_info)
      pos:
        line_end: 721
        line_start: 721
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (all_outpoints.size() == m_outpoint_to_orphan_wtxids.size())
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (unique_wtxids_to_scores.size() == m_unique_orphans)
      pos:
        line_end: 740
        line_start: 740
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (summed_peer_usage >= m_unique_orphan_usage)
      pos:
        line_end: 749
        line_start: 749
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    constantsTouched: []
    func_position:
      end: 763
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 763
    functionName: node::TxOrphanageImpl::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - node::TxOrphanageImpl::NeedsTrim
    - std::make_pair
    - auto::GetLatencyScore
    - auto::m_tx::GetWitnessHash
    - std::set::insert
    - std::map::contains
    - std::map::emplace
    - std::map::size
    - auto::GetMemUsage
    - std::map::begin
    - std::set::contains
    - assert
    - end
    - std::map::end
    - std::accumulate
    - std::unordered_map::size
    - size
    - begin
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::SanityCheck() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 765
    functionName: node::TxOrphanageImpl::MaxGlobalLatencyScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::MaxGlobalLatencyScore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: node::TxOrphanageImpl::TotalLatencyScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::TotalLatencyScore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: node::TxOrphanageImpl::ReservedPeerUsage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage TxOrphanageImpl::ReservedPeerUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<unsigned int>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:768,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 768
    functionName: node::TxOrphanageImpl::MaxPeerLatencyScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::max<unsigned int>
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::MaxPeerLatencyScore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:769,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 769
    functionName: node::TxOrphanageImpl::MaxGlobalUsage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::max<int64_t>
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage TxOrphanageImpl::MaxGlobalUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxOrphanageImpl::TotalLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:773,1
    - Dst: node::TxOrphanageImpl::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:773,1
    - Dst: node::TxOrphanageImpl::TotalOrphanUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:773,1
    - Dst: node::TxOrphanageImpl::MaxGlobalUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: node::TxOrphanageImpl::NeedsTrim
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 2
    functionsReached:
    - node::TxOrphanageImpl::MaxGlobalUsage
    - node::TxOrphanageImpl::TotalLatencyScore
    - node::TxOrphanageImpl::MaxGlobalLatencyScore
    - node::TxOrphanageImpl::TotalOrphanUsage
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::NeedsTrim() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TxOrphanageImpl>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: node::MakeTxOrphanage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 9
    functionsReached:
    - std::make_unique<TxOrphanageImpl>
    linkageType: ''
    returnType: std::unique_ptr<TxOrphanage>
    signature: std::unique_ptr<TxOrphanage> MakeTxOrphanage() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TxOrphanageImpl>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - max_global_latency_score
    - reserved_peer_usage
    argTypes:
    - TxOrphanage::Count
    - TxOrphanage::Usage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: node::MakeTxOrphanage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 9
    functionsReached:
    - std::make_unique<TxOrphanageImpl>
    linkageType: ''
    returnType: std::unique_ptr<TxOrphanage>
    signature: std::unique_ptr<TxOrphanage> MakeTxOrphanage(TxOrphanage::Count max_global_latency_score,
      TxOrphanage::Usage reserved_peer_usage) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' tx'
    - peer
    - seq
    argTypes:
    - CTransactionRef
    - NodeId
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: node::TxOrphanageImpl::Announcement
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Announcement(const CTransactionRef& tx, NodeId peer, SequenceNumber
      seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: node::TxOrphanageImpl::GetMemUsage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 3
    functionsReached:
    - GetTransactionWeight
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage GetMemUsage()  const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vin::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: node::TxOrphanageImpl::GetLatencyScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 3
    functionsReached:
    - vin::size
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count GetLatencyScore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - m_tx::GetWitnessHash
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const Announcement& ann) const
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const Announcement& ann) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PeerDoSInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: operator==(const PeerDoSInfo& other) const
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PeerDoSInfo& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxOrphanageImpl::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:137,1
    - Dst: node::TxOrphanageImpl::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: node::TxOrphanageImpl::Add
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 2
    functionsReached:
    - node::TxOrphanageImpl::GetMemUsage
    - node::TxOrphanageImpl::GetLatencyScore
    linkageType: ''
    returnType: void
    signature: void Add(const Announcement& ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:143,1
    - Dst: node::TxOrphanageImpl::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:143,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:144,1
    - Dst: node::TxOrphanageImpl::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:144,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:145,1
    - Dst: node::TxOrphanageImpl::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:147,1
    - Dst: node::TxOrphanageImpl::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' ann'
    argTypes:
    - Announcement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: node::TxOrphanageImpl::Subtract
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - node::TxOrphanageImpl::GetMemUsage
    - Assume
    - node::TxOrphanageImpl::GetLatencyScore
    linkageType: ''
    returnType: bool
    signature: bool Subtract(const Announcement& ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:163,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:164,1
    - Dst: std::max<FeeFrac>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - max_peer_latency_score
    - max_peer_memory
    argTypes:
    - TxOrphanage::Count
    - TxOrphanage::Usage
    assertStmts:
    - condition: (max_peer_latency_score > 0)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (max_peer_memory > 0)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: node::TxOrphanageImpl::GetDosScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached:
    - std::max<FeeFrac>
    - assert
    linkageType: ''
    returnType: FeeFrac
    signature: FeeFrac GetDosScore(TxOrphanage::Count max_peer_latency_score, TxOrphanage::Usage
      max_peer_memory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: node::TxOrphanageImpl::TxOrphanageImpl
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - max_global_latency_score
    - reserved_peer_usage
    argTypes:
    - Count
    - Usage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: node::TxOrphanageImpl::TxOrphanageImpl
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl(Count max_global_latency_score, Usage reserved_peer_usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ~TxOrphanageImpl() noexcept override
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TxOrphanageImpl() noexcept override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:244,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:245,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:245,1
    - Dst: auto::second::Subtract
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:246,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:246,1
    - Dst: node::TxOrphanageImpl::IsUnique
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:248,1
    - Dst: project
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:248,1
    - Dst: Iter<Tag>::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:250,1
    - Dst: Iter<Tag>::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:251,1
    - Dst: Iter<Tag>::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:254,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:256,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:257,1
    - Dst: auto::second::erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:258,1
    - Dst: auto::second::empty
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:260,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:261,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:269,1
    - Dst: Iter<Tag>::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:269,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iter<Tag>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 272
    functionName: node::TxOrphanageImpl::Erase
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 3
    functionsReached:
    - end
    - erase
    - Assume
    - Iter<Tag>::GetMemUsage
    - auto::second::erase
    - project
    - Iter<Tag>::GetLatencyScore
    - Iter<Tag>::m_tx::GetWitnessHash
    - auto::second::empty
    - get
    - find
    - auto::second::Subtract
    - node::TxOrphanageImpl::IsUnique
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::Erase(Iter<Tag> it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:277,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:278,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: Iter<ByWtxid>::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:279,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:280,1
    - Dst: std::prev
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:280,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:280,1
    - Dst: Iter<ByWtxid>::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iter<ByWtxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: node::TxOrphanageImpl::IsUnique
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 4
    functionsReached:
    - end
    - GetWitnessHash
    - std::next
    - get
    - begin
    - std::prev
    - Iter<ByWtxid>::m_tx::GetWitnessHash
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::IsUnique(Iter<ByWtxid> it) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:286,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: node::TxOrphanageImpl::UsageByPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage TxOrphanageImpl::UsageByPeer(NodeId peer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: node::TxOrphanageImpl::CountAnnouncements
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::CountAnnouncements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: node::TxOrphanageImpl::TotalOrphanUsage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage TxOrphanageImpl::TotalOrphanUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: node::TxOrphanageImpl::CountUniqueOrphans
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::CountUniqueOrphans() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:297,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: node::TxOrphanageImpl::AnnouncementsFromPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::AnnouncementsFromPeer(NodeId peer)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:302,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: node::TxOrphanageImpl::LatencyScoreFromPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::LatencyScoreFromPeer(NodeId peer)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:308,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:309,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:312,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:314,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:314,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:314,1
    - Dst: node::TxOrphanageImpl::HaveTx
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:319,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:321,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:326,1
    - Dst: node::TxOrphanageImpl::Add
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:327,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:332,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:333,1
    - Dst: node::TxOrphanageImpl::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:337,1
    - Dst: node::TxOrphanageImpl::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:338,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:340,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:341,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:341,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:341,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:341,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:342,1
    - Dst: node::TxOrphanageImpl::IsUnique
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:342,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:344,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:345,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:345,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:346,1
    - Dst: node::TxOrphanageImpl::IsUnique
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:346,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - ' tx'
    - peer
    argTypes:
    - CTransactionRef
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 352
    functionName: node::TxOrphanageImpl::AddTx
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - ToString
    - Assume
    - node::TxOrphanageImpl::GetLatencyScore
    - GetWitnessHash
    - LogDebug
    - GetHash
    - node::TxOrphanageImpl::GetMemUsage
    - size
    - GetTransactionWeight
    - node::TxOrphanageImpl::LimitOrphans
    - get
    - node::TxOrphanageImpl::HaveTx
    - node::TxOrphanageImpl::Add
    - try_emplace
    - node::TxOrphanageImpl::IsUnique
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::AddTx(const CTransactionRef& tx, NodeId peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:356,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:357,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:361,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:362,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:366,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:371,1
    - Dst: node::TxOrphanageImpl::Add
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:372,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:374,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:375,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:376,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:376,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:378,1
    - Dst: node::TxOrphanageImpl::IsUnique
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:378,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' wtxid'
    - peer
    argTypes:
    - Wtxid
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 383
    functionName: node::TxOrphanageImpl::AddAnnouncer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - lower_bound
    - ToString
    - Assume
    - LogDebug
    - GetHash
    - node::TxOrphanageImpl::LimitOrphans
    - auto::m_tx::GetWitnessHash
    - get
    - node::TxOrphanageImpl::Add
    - try_emplace
    - node::TxOrphanageImpl::IsUnique
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::AddAnnouncer(const Wtxid& wtxid, NodeId peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:387,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:389,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:390,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:390,1
    - Dst: upper_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:392,1
    - Dst: auto::m_tx::GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:394,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:396,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:396,1
    - Dst: node::TxOrphanageImpl::Erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:397,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:400,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:400,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionName: node::TxOrphanageImpl::EraseTxInternal
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 2
    functionsReached:
    - end
    - auto::ToString
    - lower_bound
    - Assume
    - ToString
    - LogDebug
    - auto::m_tx::GetWitnessHash
    - node::TxOrphanageImpl::Erase
    - get
    - auto::m_tx::GetHash
    - upper_bound
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::EraseTxInternal(const Wtxid& wtxid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxOrphanageImpl::EraseTxInternal
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:407,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: node::TxOrphanageImpl::EraseTx
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - node::TxOrphanageImpl::EraseTxInternal
    - node::TxOrphanageImpl::LimitOrphans
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::EraseTx(const Wtxid& wtxid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:418,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:419,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:420,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:423,1
    - Dst: node::TxOrphanageImpl::Erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:425,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:428,1
    - Dst: contains
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:428,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:430,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: node::TxOrphanageImpl::EraseForPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - lower_bound
    - Assume
    - LogDebug
    - contains
    - node::TxOrphanageImpl::LimitOrphans
    - node::TxOrphanageImpl::Erase
    - get
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::EraseForPeer(NodeId peer)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: node::TxOrphanageImpl::NeedsTrim
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:444,1
    - Dst: node::TxOrphanageImpl::CountUniqueOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:446,1
    - Dst: node::TxOrphanageImpl::MaxPeerLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:450,1
    - Dst: node::TxOrphanageImpl::ReservedPeerUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:451,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:456,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:456,1
    - Dst: node::TxOrphanageImpl::GetDosScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:459,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:461,1
    - Dst: std::make_heap
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:469,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:469,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:469,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:479,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:479,1
    - Dst: std::pop_heap
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:482,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:482,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:482,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:483,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:483,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:484,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:487,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:489,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:495,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:495,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:496,1
    - Dst: node::TxOrphanageImpl::NeedsTrim
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:499,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:500,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:500,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:501,1
    - Dst: node::TxOrphanageImpl::Erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:503,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:508,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:509,1
    - Dst: auto::second::GetDosScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:509,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:511,1
    - Dst: node::TxOrphanageImpl::NeedsTrim
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:513,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:517,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:518,1
    - Dst: auto::second::GetDosScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:518,1
    - Dst: std::push_heap
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:519,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:519,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:519,1
    - Dst: node::TxOrphanageImpl::CountUniqueOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:523,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:524,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 525
    functionName: node::TxOrphanageImpl::LimitOrphans
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 9
    functionsReached:
    - node::TxOrphanageImpl::NeedsTrim
    - std::vector::emplace_back
    - std::move
    - std::pop_heap
    - node::TxOrphanageImpl::CountUniqueOrphans
    - std::vector::front
    - std::vector::end
    - std::push_heap
    - std::vector::back
    - std::vector::reserve
    - get
    - std::vector::pop_back
    - std::vector::empty
    - find
    - node::TxOrphanageImpl::GetDosScore
    - Assume
    - LogDebug
    - std::make_heap
    - node::TxOrphanageImpl::Erase
    - node::TxOrphanageImpl::MaxPeerLatencyScore
    - end
    - node::TxOrphanageImpl::ReservedPeerUsage
    - size
    - std::vector::begin
    - auto::second::GetDosScore
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::LimitOrphans()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:530,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:531,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:532,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:532,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:532,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:533,1
    - Dst: contains
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:536,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:539,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:540,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:540,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:540,1
    - Dst: upper_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:545,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:546,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:547,1
    - Dst: std::advance
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:548,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:548,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:550,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:550,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:554,1
    - Dst: modify
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:555,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:556,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:557,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:559,1
    - Dst: auto::m_tx::GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:560,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:560,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' tx'
    - ' rng'
    argTypes:
    - CTransaction
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 565
    functionName: node::TxOrphanageImpl::AddChildrenToWorkSet
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - lower_bound
    - GetHash
    - contains
    - auto::m_tx::GetWitnessHash
    - upper_bound
    - std::advance
    - get
    - find
    - Assume
    - LogDebug
    - COutPoint
    - vout::size
    - auto::m_tx::GetHash
    - end
    - std::distance
    - randrange
    - modify
    - insert
    linkageType: ''
    returnType: std::vector<std::pair<Wtxid, NodeId>>
    signature: std::vector<std::pair<Wtxid, NodeId>> TxOrphanageImpl::AddChildrenToWorkSet(const
      CTransaction& tx, FastRandomContext& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:569,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:570,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: node::TxOrphanageImpl::HaveTx
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 2
    functionsReached:
    - auto::m_tx::GetWitnessHash
    - get
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::HaveTx(const Wtxid& wtxid) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:575,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:576,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' wtxid'
    argTypes:
    - Wtxid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: node::TxOrphanageImpl::GetTx
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - auto::m_tx::GetWitnessHash
    - get
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef TxOrphanageImpl::GetTx(const Wtxid& wtxid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wtxid'
    - peer
    argTypes:
    - Wtxid
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: node::TxOrphanageImpl::HaveTxFromPeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::HaveTxFromPeer(const Wtxid& wtxid, NodeId peer)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:589,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:590,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:594,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:597,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 601
    functionName: node::TxOrphanageImpl::GetTxToReconsider
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - erase
    - auto::m_tx::GetWitnessHash
    - get
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef TxOrphanageImpl::GetTxToReconsider(NodeId peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:606,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: node::TxOrphanageImpl::HaveTxToReconsider
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::HaveTxToReconsider(NodeId peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:612,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:620,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:621,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: auto::second::cbegin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: auto::second::cend
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: std::inserter
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:623,1
    - Dst: node::TxOrphanageImpl::EraseTxInternal
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:633,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:637,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:639,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:639,1
    - Dst: node::TxOrphanageImpl::LimitOrphans
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - CBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 643
    functionName: node::TxOrphanageImpl::EraseForBlock
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::copy
    - empty
    - Assume
    - std::inserter
    - LogDebug
    - auto::second::cend
    - node::TxOrphanageImpl::LimitOrphans
    - std::set::end
    - auto::second::cbegin
    - node::TxOrphanageImpl::EraseTxInternal
    - find
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::EraseForBlock(const CBlock& block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:648,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:654,1
    - Dst: upper_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:655,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:655,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:656,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:660,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' parent'
    - peer
    argTypes:
    - CTransactionRef
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: node::TxOrphanageImpl::GetChildrenFromSamePeer
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - lower_bound
    - Assume
    - GetHash
    - get
    - RandomMixin::max
    - upper_bound
    linkageType: ''
    returnType: std::vector<CTransactionRef>
    signature: std::vector<CTransactionRef> TxOrphanageImpl::GetChildrenFromSamePeer(const
      CTransactionRef& parent, NodeId peer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:675,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:677,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:678,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:680,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:681,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: std::next
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:683,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:684,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:684,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:685,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:690,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 693
    functionName: node::TxOrphanageImpl::GetOrphanTransactions
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::emplace_back
    - Assume
    - GetWitnessHash
    - std::next
    - std::vector::reserve
    - std::move
    - std::set::clear
    - auto::m_tx::GetWitnessHash
    - std::set::insert
    - get
    - std::vector::size
    - begin
    linkageType: ''
    returnType: std::vector<TxOrphanage::OrphanInfo>
    signature: std::vector<TxOrphanage::OrphanInfo> TxOrphanageImpl::GetOrphanTransactions()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:702,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:702,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:704,1
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: auto::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: auto::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:706,1
    - Dst: auto::GetMemUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:709,1
    - Dst: auto::GetLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:711,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:714,1
    - Dst: auto::m_tx::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:714,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:716,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:719,1
    - Dst: std::unordered_map::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:719,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:719,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:722,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:725,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:730,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:730,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:730,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:732,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:732,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:734,1
    - Dst: std::map::contains
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:734,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:739,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:739,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:740,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:740,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:740,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:741,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:741,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:743,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:743,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:743,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:745,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:748,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:748,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:748,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:750,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:753,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:753,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:753,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:755,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:758,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:758,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:758,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:760,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:760,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:762,1
    - Dst: node::TxOrphanageImpl::NeedsTrim
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reconstructed_peer_info.size() == m_peer_orphanage_info.size())
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (all_outpoints.contains(outpoint))
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (m_orphans.size() >= m_unique_orphans)
      pos:
        line_end: 738
        line_start: 738
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (m_orphans.size() <= m_peer_orphanage_info.size() * m_unique_orphans)
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (calculated_dedup_usage == m_unique_orphan_usage)
      pos:
        line_end: 744
        line_start: 744
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (!NeedsTrim())
      pos:
        line_end: 761
        line_start: 761
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (summed_peer_latency_score >= m_unique_rounded_input_scores + m_orphans.size())
      pos:
        line_end: 759
        line_start: 759
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (calculated_total_latency_score == m_unique_rounded_input_scores)
      pos:
        line_end: 754
        line_start: 754
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (unique_wtxids_to_scores.contains(wtxid))
      pos:
        line_end: 733
        line_start: 733
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (added)
      pos:
        line_end: 715
        line_start: 715
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (m_reconsiderable_wtxids == reconstructed_reconsiderable_wtxids)
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (reconstructed_peer_info == m_peer_orphanage_info)
      pos:
        line_end: 721
        line_start: 721
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (all_outpoints.size() == m_outpoint_to_orphan_wtxids.size())
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (unique_wtxids_to_scores.size() == m_unique_orphans)
      pos:
        line_end: 740
        line_start: 740
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    - condition: (summed_peer_usage >= m_unique_orphan_usage)
      pos:
        line_end: 749
        line_start: 749
        source_file: /src/bitcoin-core/src/node/txorphanage.cpp
    constantsTouched: []
    func_position:
      end: 763
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 763
    functionName: node::TxOrphanageImpl::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - node::TxOrphanageImpl::NeedsTrim
    - std::make_pair
    - auto::GetLatencyScore
    - auto::m_tx::GetWitnessHash
    - std::set::insert
    - std::map::contains
    - std::map::emplace
    - std::map::size
    - auto::GetMemUsage
    - std::map::begin
    - std::set::contains
    - assert
    - end
    - std::map::end
    - std::accumulate
    - std::unordered_map::size
    - size
    - begin
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void TxOrphanageImpl::SanityCheck() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 765
    functionName: node::TxOrphanageImpl::MaxGlobalLatencyScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::MaxGlobalLatencyScore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: node::TxOrphanageImpl::TotalLatencyScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::TotalLatencyScore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: node::TxOrphanageImpl::ReservedPeerUsage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage TxOrphanageImpl::ReservedPeerUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<unsigned int>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:768,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 768
    functionName: node::TxOrphanageImpl::MaxPeerLatencyScore
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::max<unsigned int>
    linkageType: ''
    returnType: TxOrphanage::Count
    signature: TxOrphanage::Count TxOrphanageImpl::MaxPeerLatencyScore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:769,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 769
    functionName: node::TxOrphanageImpl::MaxGlobalUsage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::max<int64_t>
    linkageType: ''
    returnType: TxOrphanage::Usage
    signature: TxOrphanage::Usage TxOrphanageImpl::MaxGlobalUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxOrphanageImpl::TotalLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:773,1
    - Dst: node::TxOrphanageImpl::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:773,1
    - Dst: node::TxOrphanageImpl::TotalOrphanUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:773,1
    - Dst: node::TxOrphanageImpl::MaxGlobalUsage
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: node::TxOrphanageImpl::NeedsTrim
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 4
    functionsReached:
    - node::TxOrphanageImpl::MaxGlobalUsage
    - node::TxOrphanageImpl::TotalLatencyScore
    - node::TxOrphanageImpl::MaxGlobalLatencyScore
    - node::TxOrphanageImpl::TotalOrphanUsage
    linkageType: ''
    returnType: bool
    signature: bool TxOrphanageImpl::NeedsTrim() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TxOrphanageImpl>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: node::MakeTxOrphanage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 9
    functionsReached:
    - std::make_unique<TxOrphanageImpl>
    linkageType: ''
    returnType: std::unique_ptr<TxOrphanage>
    signature: std::unique_ptr<TxOrphanage> MakeTxOrphanage() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TxOrphanageImpl>
      Src: /src/bitcoin-core/src/node/txorphanage.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - max_global_latency_score
    - reserved_peer_usage
    argTypes:
    - TxOrphanage::Count
    - TxOrphanage::Usage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: node::MakeTxOrphanage
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.cpp
    functionUses: 9
    functionsReached:
    - std::make_unique<TxOrphanageImpl>
    linkageType: ''
    returnType: std::unique_ptr<TxOrphanage>
    signature: std::unique_ptr<TxOrphanage> MakeTxOrphanage(TxOrphanage::Count max_global_latency_score,
      TxOrphanage::Usage reserved_peer_usage) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:33,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:34,1
    - Dst: SanitizeString
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:40,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:42,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' strMessage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: AlertNotify
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - GetArg
    - std::string::empty
    - SanitizeString
    - ReplaceAll
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: void AlertNotify(const std::string& strMessage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:54,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:55,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:55,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:56,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:57,1
    - Dst: NotifyBlockTip
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:60,1
    - Dst: m_shutdown_request
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:62,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - state
    - ' index'
    - verification_progress
    argTypes:
    - SynchronizationState
    - CBlockIndex
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: node::KernelNotifications::blockTip
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - m_shutdown_request
    - Assume
    - notify_all
    - NotifyBlockTip
    - LogError
    - LOCK
    - GetBlockHash
    linkageType: ''
    returnType: kernel::InterruptResult
    signature: kernel::InterruptResult KernelNotifications::blockTip(SynchronizationState
      state, CBlockIndex& index, double verification_progress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NotifyHeaderTip
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - height
    - timestamp
    - presync
    argTypes:
    - SynchronizationState
    - int64_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: node::KernelNotifications::headerTip
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - NotifyHeaderTip
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::headerTip(SynchronizationState state, int64_t
      height, int64_t timestamp, bool presync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowProgress
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' title'
    - progress_percent
    - resume_possible
    argTypes:
    - bilingual_str
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: node::KernelNotifications::progress
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - ShowProgress
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::progress(const bilingual_str& title, int
      progress_percent, bool resume_possible)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:82,1
    - Dst: AlertNotify
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - id
    - ' message'
    argTypes:
    - kernel::Warning
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: node::KernelNotifications::warningSet
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - Set
    - AlertNotify
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::warningSet(kernel::Warning id, const bilingual_str&
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unset
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - kernel::Warning
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: node::KernelNotifications::warningUnset
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - Unset
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::warningUnset(kernel::Warning id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbortNode
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: node::KernelNotifications::flushError
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - AbortNode
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::flushError(const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::AbortNode
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: node::KernelNotifications::fatalError
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - node::AbortNode
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::fatalError(const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: node::KernelNotifications::TipBlock
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: std::optional<uint256>
    signature: std::optional<uint256> KernelNotifications::TipBlock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' args'
    - ' notifications'
    argTypes:
    - ArgsManager
    - KernelNotifications
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: node::ReadNotificationArgs
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - GetIntArg
    linkageType: ''
    returnType: void
    signature: void ReadNotificationArgs(const ArgsManager& args, KernelNotifications&
      notifications)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:54,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:55,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:55,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:56,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:57,1
    - Dst: NotifyBlockTip
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:60,1
    - Dst: m_shutdown_request
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:62,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - state
    - ' index'
    - verification_progress
    argTypes:
    - SynchronizationState
    - CBlockIndex
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: node::KernelNotifications::blockTip
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - m_shutdown_request
    - Assume
    - notify_all
    - NotifyBlockTip
    - LogError
    - LOCK
    - GetBlockHash
    linkageType: ''
    returnType: kernel::InterruptResult
    signature: kernel::InterruptResult KernelNotifications::blockTip(SynchronizationState
      state, CBlockIndex& index, double verification_progress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NotifyHeaderTip
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - height
    - timestamp
    - presync
    argTypes:
    - SynchronizationState
    - int64_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: node::KernelNotifications::headerTip
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - NotifyHeaderTip
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::headerTip(SynchronizationState state, int64_t
      height, int64_t timestamp, bool presync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowProgress
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' title'
    - progress_percent
    - resume_possible
    argTypes:
    - bilingual_str
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: node::KernelNotifications::progress
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - ShowProgress
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::progress(const bilingual_str& title, int
      progress_percent, bool resume_possible)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:82,1
    - Dst: AlertNotify
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - id
    - ' message'
    argTypes:
    - kernel::Warning
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: node::KernelNotifications::warningSet
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - Set
    - AlertNotify
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::warningSet(kernel::Warning id, const bilingual_str&
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unset
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - kernel::Warning
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: node::KernelNotifications::warningUnset
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - Unset
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::warningUnset(kernel::Warning id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbortNode
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: node::KernelNotifications::flushError
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - AbortNode
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::flushError(const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::AbortNode
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: node::KernelNotifications::fatalError
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - node::AbortNode
    linkageType: ''
    returnType: void
    signature: void KernelNotifications::fatalError(const bilingual_str& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: node::KernelNotifications::TipBlock
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: std::optional<uint256>
    signature: std::optional<uint256> KernelNotifications::TipBlock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/kernel_notifications.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' args'
    - ' notifications'
    argTypes:
    - ArgsManager
    - KernelNotifications
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: node::ReadNotificationArgs
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.cpp
    functionUses: 0
    functionsReached:
    - GetIntArg
    linkageType: ''
    returnType: void
    signature: void ReadNotificationArgs(const ArgsManager& args, KernelNotifications&
      notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parent'
    - ' child'
    - parent_sender
    - child_sender
    argTypes:
    - CTransactionRef
    - CTransactionRef
    - NodeId
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: node::PackageToValidate
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PackageToValidate(const CTransactionRef& parent,\n                               const
      CTransactionRef& child,\n                               NodeId parent_sender,\n
      \                              NodeId child_sender)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman.h:68,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PackageToValidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: node::PackageToValidate
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PackageToValidate(PackageToValidate&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PackageToValidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: node::PackageToValidate
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageToValidate(const PackageToValidate& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman.h:74,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PackageToValidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: '& operator=(PackageToValidate&& other)'
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: PackageToValidate
    signature: PackageToValidate & operator=(PackageToValidate&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txdownloadman.h:80,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txdownloadman.h:80,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/txdownloadman.h:81,1
    - Dst: front
      Src: /src/bitcoin-core/src/node/txdownloadman.h:82,1
    - Dst: front
      Src: /src/bitcoin-core/src/node/txdownloadman.h:83,1
    - Dst: front
      Src: /src/bitcoin-core/src/node/txdownloadman.h:84,1
    - Dst: back
      Src: /src/bitcoin-core/src/node/txdownloadman.h:85,1
    - Dst: back
      Src: /src/bitcoin-core/src/node/txdownloadman.h:86,1
    - Dst: back
      Src: /src/bitcoin-core/src/node/txdownloadman.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: node::ToString
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached:
    - Assume
    - back
    - size
    - strprintf
    - front
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parent'
    - ' child'
    - parent_sender
    - child_sender
    argTypes:
    - CTransactionRef
    - CTransactionRef
    - NodeId
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: node::PackageToValidate
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PackageToValidate(const CTransactionRef& parent,\n                               const
      CTransactionRef& child,\n                               NodeId parent_sender,\n
      \                              NodeId child_sender)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman.h:68,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PackageToValidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: node::PackageToValidate
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PackageToValidate(PackageToValidate&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PackageToValidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: node::PackageToValidate
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageToValidate(const PackageToValidate& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman.h:74,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PackageToValidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: '& operator=(PackageToValidate&& other)'
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: PackageToValidate
    signature: PackageToValidate & operator=(PackageToValidate&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txdownloadman.h:80,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txdownloadman.h:80,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/txdownloadman.h:81,1
    - Dst: front
      Src: /src/bitcoin-core/src/node/txdownloadman.h:82,1
    - Dst: front
      Src: /src/bitcoin-core/src/node/txdownloadman.h:83,1
    - Dst: front
      Src: /src/bitcoin-core/src/node/txdownloadman.h:84,1
    - Dst: back
      Src: /src/bitcoin-core/src/node/txdownloadman.h:85,1
    - Dst: back
      Src: /src/bitcoin-core/src/node/txdownloadman.h:86,1
    - Dst: back
      Src: /src/bitcoin-core/src/node/txdownloadman.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: node::ToString
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman.h
    functionUses: 0
    functionsReached:
    - Assume
    - back
    - size
    - strprintf
    - front
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:25,1
    - Dst: exists
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:30,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:34,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:40,1
    - Dst: GetConflictTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:42,1
    - Dst: CalculateDescendants
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:53,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:53,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:53,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:55,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:55,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:61,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:65,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:67,1
    - Dst: GatherClusters
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:69,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:70,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:79,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:79,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:80,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:80,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:81,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:82,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:83,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:84,1
    - Dst: GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:85,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:86,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:88,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:88,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:89,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:93,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:95,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:102,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:106,1
    - Dst: CalculateDescendants
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:108,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:109,1
    - Dst: CTxMemPool::setEntries::count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:109,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:111,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:112,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:113,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:114,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:114,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:115,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:118,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:122,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:122,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:124,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:130,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:130,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:131,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:131,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:131,1
    - Dst: node::MiniMiner::SanityCheck
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:132,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - ' mempool'
    - ' outpoints'
    argTypes:
    - CTxMemPool
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 133
    functionName: node::MiniMiner::MiniMiner
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - std::vector::push_back
    - node::MiniMiner::SanityCheck
    - GetSizeWithAncestors
    - GetModFeesWithAncestors
    - GatherClusters
    - GetModifiedFee
    - CTxMemPool::setEntries::count
    - GetTxSize
    - std::vector::reserve
    - std::vector::empty
    - find
    - exists
    - emplace
    - CalculateDescendants
    - empty
    - Assume
    - auto::empty
    - GetTx
    - GetSharedTx
    - GetIter
    - count
    - GetConflictTx
    - end
    - erase
    - push_back
    - size
    - LOCK
    - insert
    linkageType: ''
    returnType: void
    signature: void MiniMiner::MiniMiner(const CTxMemPool& mempool, const std::vector<COutPoint>&
      outpoints)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:139,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:141,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:141,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:146,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:148,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:148,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:153,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:153,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:159,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:161,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:161,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:165,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:168,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:170,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:170,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:171,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:171,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:172,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:172,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:173,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:173,1
    - Dst: node::MiniMiner::SanityCheck
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' manual_entries'
    - ' descendant_caches'
    argTypes:
    - std::vector<MiniMinerMempoolEntry>
    - std::map<Txid, std::set<Txid>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 175
    functionName: node::MiniMiner::MiniMiner
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - std::vector::emplace_back
    - Assume
    - empty
    - push_back
    - node::MiniMiner::SanityCheck
    - GetTx
    - find
    - count
    linkageType: ''
    returnType: void
    signature: "void MiniMiner::MiniMiner(const std::vector<MiniMinerMempoolEntry>&
      manual_entries,\n                     const std::map<Txid, std::set<Txid>>&
      descendant_caches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:187,1
    - Dst: node::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:187,1
    - Dst: node::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:188,1
    - Dst: node::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:188,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:189,1
    - Dst: min_feerate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:191,1
    - Dst: min_feerate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: operator()(const I& a, const I& b) const
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 0
    functionsReached:
    - node::GetTxSize
    - node::GetSizeWithAncestors
    - min_feerate
    - node::GetModifiedFee
    - std::min
    - node::GetModFeesWithAncestors
    linkageType: ''
    returnType: bool
    signature: bool operator()(const I& a, const I& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:203,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:203,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:206,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:206,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:207,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:208,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:209,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:210,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:212,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:212,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:215,1
    - Dst: second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:215,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:215,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:216,1
    - Dst: second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:216,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:216,1
    - Dst: second::UpdateAncestorState
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:217,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:217,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:217,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:222,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:225,1
    - Dst: second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:225,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:226,1
    - Dst: second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:226,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:227,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:227,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:227,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:228,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:228,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:229,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' ancestors'
    argTypes:
    - std::set<MockEntryMap::iterator, IteratorComparator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 232
    functionName: node::MiniMiner::DeleteAncestorPackage
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - Assume
    - begin
    - size
    - second::GetSizeWithAncestors
    - second::GetModifiedFee
    - second::GetModFeesWithAncestors
    - std::find
    - second::GetTxSize
    - second::UpdateAncestorState
    - insert
    - count
    - find
    linkageType: ''
    returnType: void
    signature: void MiniMiner::DeleteAncestorPackage(const std::set<MockEntryMap::iterator,
      IteratorComparator>& ancestors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:237,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:237,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:237,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:238,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:238,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:238,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:240,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:240,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:240,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:240,1
    - Dst: second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:241,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:241,1
    - Dst: second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:242,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:242,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:244,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:244,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:244,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:244,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:245,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: node::MiniMiner::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 2
    functionsReached:
    - end
    - Assume
    - size
    - second::GetSizeWithAncestors
    - second::GetModifiedFee
    - second::GetModFeesWithAncestors
    - second::GetTxSize
    - find
    - begin
    - std::all_of
    linkageType: ''
    returnType: void
    signature: void MiniMiner::SanityCheck() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:250,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:252,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:254,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:254,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:254,1
    - Dst: AncestorFeerateComparator
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:254,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:257,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:258,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:258,1
    - Dst: second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:259,1
    - Dst: second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:260,1
    - Dst: std::optional<CFeeRate>::has_value
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:262,1
    - Dst: std::optional<CFeeRate>::GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:263,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:272,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:273,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:274,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:275,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:275,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:276,1
    - Dst: second::GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:277,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:278,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:278,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:279,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:280,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:284,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:289,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:289,1
    - Dst: node::MiniMiner::DeleteAncestorPackage
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:291,1
    - Dst: node::MiniMiner::SanityCheck
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:292,1
    - Dst: std::optional<CFeeRate>::has_value
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:295,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:296,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:296,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:298,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:298,1
    - Dst: std::optional<CFeeRate>::GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:298,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:300,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:300,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:301,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:301,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:301,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - target_feerate
    argTypes:
    - std::optional<CFeeRate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 304
    functionName: node::MiniMiner::BuildMockTemplate
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 1
    functionsReached:
    - second::GetSizeWithAncestors
    - std::set::end
    - std::set::insert
    - node::MiniMiner::SanityCheck
    - AncestorFeerateComparator
    - std::optional<CFeeRate>::has_value
    - std::set::begin
    - second::GetModFeesWithAncestors
    - find
    - emplace
    - empty
    - Assume
    - std::optional<CFeeRate>::GetFee
    - transaction_identifier::FromUint256
    - node::MiniMiner::DeleteAncestorPackage
    - std::set::erase
    - std::set::count
    - end
    - size
    - std::set::empty
    - std::sort
    - second::GetTx
    - begin
    linkageType: ''
    returnType: void
    signature: void MiniMiner::BuildMockTemplate(std::optional<CFeeRate> target_feerate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::MiniMiner::BuildMockTemplate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: node::MiniMiner::Linearize
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 3
    functionsReached:
    - node::MiniMiner::BuildMockTemplate
    linkageType: ''
    returnType: std::map<Txid, uint32_t>
    signature: std::map<Txid, uint32_t> MiniMiner::Linearize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: node::MiniMiner::BuildMockTemplate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:317,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:323,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:324,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:326,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:328,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:377,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:378,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:378,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:379,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: auto::second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: auto::second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: auto::second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:381,1
    - Dst: auto::second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:381,1
    - Dst: auto::second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:381,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:382,1
    - Dst: auto::second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:382,1
    - Dst: auto::second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:382,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:383,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:384,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' target_feerate'
    argTypes:
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 391
    functionName: node::MiniMiner::CalculateBumpFees
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 2
    functionsReached:
    - end
    - auto::second::GetSizeWithAncestors
    - emplace
    - erase
    - Assume
    - GetFee
    - node::MiniMiner::BuildMockTemplate
    - std::min
    - std::max
    - auto::second::GetTxSize
    - auto::second::GetModifiedFee
    - auto::second::GetModFeesWithAncestors
    - find
    linkageType: ''
    returnType: std::map<COutPoint, CAmount>
    signature: std::map<COutPoint, CAmount> MiniMiner::CalculateBumpFees(const CFeeRate&
      target_feerate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: node::MiniMiner::BuildMockTemplate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:397,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:405,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:406,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:407,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:408,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:409,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:413,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:414,1
    - Dst: second::GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:415,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:417,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:417,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:418,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:419,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:421,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:424,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:424,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:425,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:427,1
    - Dst: std::set::cbegin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:427,1
    - Dst: std::set::cend
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:427,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:428,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:429,1
    - Dst: std::set::cbegin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:429,1
    - Dst: std::set::cend
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:429,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:430,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:431,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ' target_feerate'
    argTypes:
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 432
    functionName: node::MiniMiner::CalculateTotalBumpFees
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::accumulate
    - std::set::begin
    - GetFee
    - GetHash
    - node::MiniMiner::BuildMockTemplate
    - std::set::empty
    - second::GetModifiedFee
    - std::set::insert
    - second::GetTx
    - std::set::cbegin
    - second::GetTxSize
    - std::set::erase
    - std::set::count
    - find
    - count
    - std::set::cend
    linkageType: ''
    returnType: std::optional<CAmount>
    signature: std::optional<CAmount> MiniMiner::CalculateTotalBumpFees(const CFeeRate&
      target_feerate)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:25,1
    - Dst: exists
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:30,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:34,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:40,1
    - Dst: GetConflictTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:42,1
    - Dst: CalculateDescendants
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:53,1
    - Dst: GetIter
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:53,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:53,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:55,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:55,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:61,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:65,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:67,1
    - Dst: GatherClusters
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:69,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:70,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:79,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:79,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:80,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:80,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:81,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:82,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:83,1
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:84,1
    - Dst: GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:85,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:86,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:88,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:88,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:89,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:93,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:95,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:102,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:106,1
    - Dst: CalculateDescendants
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:108,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:109,1
    - Dst: CTxMemPool::setEntries::count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:109,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:111,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:112,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:113,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:114,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:114,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:115,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:118,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:122,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:122,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:124,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:130,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:130,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:131,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:131,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:131,1
    - Dst: node::MiniMiner::SanityCheck
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:132,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - ' mempool'
    - ' outpoints'
    argTypes:
    - CTxMemPool
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 133
    functionName: node::MiniMiner::MiniMiner
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - std::vector::push_back
    - node::MiniMiner::SanityCheck
    - GetSizeWithAncestors
    - GetModFeesWithAncestors
    - GatherClusters
    - GetModifiedFee
    - CTxMemPool::setEntries::count
    - GetTxSize
    - std::vector::reserve
    - std::vector::empty
    - find
    - exists
    - emplace
    - CalculateDescendants
    - empty
    - Assume
    - auto::empty
    - GetTx
    - GetSharedTx
    - GetIter
    - count
    - GetConflictTx
    - end
    - erase
    - push_back
    - size
    - LOCK
    - insert
    linkageType: ''
    returnType: void
    signature: void MiniMiner::MiniMiner(const CTxMemPool& mempool, const std::vector<COutPoint>&
      outpoints)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:139,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:141,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:141,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:146,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:148,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:148,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:153,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:153,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:159,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:161,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:161,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:165,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:168,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:170,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:170,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:171,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:171,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:172,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:172,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:173,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:173,1
    - Dst: node::MiniMiner::SanityCheck
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' manual_entries'
    - ' descendant_caches'
    argTypes:
    - std::vector<MiniMinerMempoolEntry>
    - std::map<Txid, std::set<Txid>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 175
    functionName: node::MiniMiner::MiniMiner
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - std::vector::emplace_back
    - Assume
    - empty
    - push_back
    - node::MiniMiner::SanityCheck
    - GetTx
    - find
    - count
    linkageType: ''
    returnType: void
    signature: "void MiniMiner::MiniMiner(const std::vector<MiniMinerMempoolEntry>&
      manual_entries,\n                     const std::map<Txid, std::set<Txid>>&
      descendant_caches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:187,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:187,1
    - Dst: GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:188,1
    - Dst: GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:188,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:189,1
    - Dst: min_feerate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:191,1
    - Dst: min_feerate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: operator()(const I& a, const I& b) const
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 0
    functionsReached:
    - GetTxSize
    - min_feerate
    - GetSizeWithAncestors
    - GetModFeesWithAncestors
    - std::min
    - GetModifiedFee
    linkageType: ''
    returnType: bool
    signature: bool operator()(const I& a, const I& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:203,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:203,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:206,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:206,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:207,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:208,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:209,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:210,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:212,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:212,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:215,1
    - Dst: second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:215,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:215,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:216,1
    - Dst: second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:216,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:216,1
    - Dst: second::UpdateAncestorState
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:217,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:217,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:217,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:222,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:225,1
    - Dst: second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:225,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:226,1
    - Dst: second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:226,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:227,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:227,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:227,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:228,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:228,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:229,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' ancestors'
    argTypes:
    - std::set<MockEntryMap::iterator, IteratorComparator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 232
    functionName: node::MiniMiner::DeleteAncestorPackage
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 1
    functionsReached:
    - end
    - erase
    - Assume
    - begin
    - size
    - second::GetSizeWithAncestors
    - second::GetModifiedFee
    - second::GetModFeesWithAncestors
    - std::find
    - second::GetTxSize
    - second::UpdateAncestorState
    - insert
    - count
    - find
    linkageType: ''
    returnType: void
    signature: void MiniMiner::DeleteAncestorPackage(const std::set<MockEntryMap::iterator,
      IteratorComparator>& ancestors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:237,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:237,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:237,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:238,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:238,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:238,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:240,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:240,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:240,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:240,1
    - Dst: second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:241,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:241,1
    - Dst: second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:242,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:242,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:244,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:244,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:244,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:244,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:245,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: node::MiniMiner::SanityCheck
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 5
    functionsReached:
    - end
    - Assume
    - size
    - second::GetSizeWithAncestors
    - second::GetModifiedFee
    - second::GetModFeesWithAncestors
    - second::GetTxSize
    - find
    - begin
    - std::all_of
    linkageType: ''
    returnType: void
    signature: void MiniMiner::SanityCheck() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:250,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:252,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:254,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:254,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:254,1
    - Dst: AncestorFeerateComparator
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:254,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:257,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:258,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:258,1
    - Dst: second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:259,1
    - Dst: second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:260,1
    - Dst: std::optional<CFeeRate>::has_value
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:262,1
    - Dst: std::optional<CFeeRate>::GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:263,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:272,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:273,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:274,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:275,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:275,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:276,1
    - Dst: second::GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:277,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:278,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:278,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:279,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:280,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:284,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:289,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:289,1
    - Dst: node::MiniMiner::DeleteAncestorPackage
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:291,1
    - Dst: node::MiniMiner::SanityCheck
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:292,1
    - Dst: std::optional<CFeeRate>::has_value
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:295,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:296,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:296,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:298,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:298,1
    - Dst: std::optional<CFeeRate>::GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:298,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:300,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:300,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:301,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:301,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:301,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - target_feerate
    argTypes:
    - std::optional<CFeeRate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 304
    functionName: node::MiniMiner::BuildMockTemplate
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 4
    functionsReached:
    - second::GetSizeWithAncestors
    - std::set::end
    - std::set::insert
    - node::MiniMiner::SanityCheck
    - AncestorFeerateComparator
    - std::optional<CFeeRate>::has_value
    - std::set::begin
    - second::GetModFeesWithAncestors
    - find
    - emplace
    - empty
    - Assume
    - std::optional<CFeeRate>::GetFee
    - transaction_identifier::FromUint256
    - node::MiniMiner::DeleteAncestorPackage
    - std::set::erase
    - std::set::count
    - end
    - size
    - std::set::empty
    - std::sort
    - second::GetTx
    - begin
    linkageType: ''
    returnType: void
    signature: void MiniMiner::BuildMockTemplate(std::optional<CFeeRate> target_feerate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::MiniMiner::BuildMockTemplate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: node::MiniMiner::Linearize
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 3
    functionsReached:
    - node::MiniMiner::BuildMockTemplate
    linkageType: ''
    returnType: std::map<Txid, uint32_t>
    signature: std::map<Txid, uint32_t> MiniMiner::Linearize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: node::MiniMiner::BuildMockTemplate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:317,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:323,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:324,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:326,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:328,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:377,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:378,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:378,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:379,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: auto::second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: auto::second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: auto::second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:380,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:381,1
    - Dst: auto::second::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:381,1
    - Dst: auto::second::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:381,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:382,1
    - Dst: auto::second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:382,1
    - Dst: auto::second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:382,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:383,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:384,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' target_feerate'
    argTypes:
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 391
    functionName: node::MiniMiner::CalculateBumpFees
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 2
    functionsReached:
    - end
    - auto::second::GetSizeWithAncestors
    - emplace
    - erase
    - Assume
    - GetFee
    - node::MiniMiner::BuildMockTemplate
    - std::min
    - std::max
    - auto::second::GetTxSize
    - auto::second::GetModifiedFee
    - auto::second::GetModFeesWithAncestors
    - find
    linkageType: ''
    returnType: std::map<COutPoint, CAmount>
    signature: std::map<COutPoint, CAmount> MiniMiner::CalculateBumpFees(const CFeeRate&
      target_feerate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: node::MiniMiner::BuildMockTemplate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:397,1
    - Dst: count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:405,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:406,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:407,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:408,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:409,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:413,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:414,1
    - Dst: second::GetTx
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:415,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:417,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:417,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:418,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:419,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:421,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:424,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:424,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:425,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:427,1
    - Dst: std::set::cbegin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:427,1
    - Dst: std::set::cend
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:427,1
    - Dst: second::GetTxSize
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:428,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:429,1
    - Dst: std::set::cbegin
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:429,1
    - Dst: std::set::cend
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:429,1
    - Dst: second::GetModifiedFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:430,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/node/mini_miner.cpp:431,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ' target_feerate'
    argTypes:
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 432
    functionName: node::MiniMiner::CalculateTotalBumpFees
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::accumulate
    - std::set::begin
    - GetFee
    - GetHash
    - node::MiniMiner::BuildMockTemplate
    - std::set::empty
    - second::GetModifiedFee
    - std::set::insert
    - second::GetTx
    - std::set::cbegin
    - second::GetTxSize
    - std::set::erase
    - std::set::count
    - find
    - count
    - std::set::cend
    linkageType: ''
    returnType: std::optional<CAmount>
    signature: std::optional<CAmount> MiniMiner::CalculateTotalBumpFees(const CFeeRate&
      target_feerate)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:20,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:22,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:24,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:31,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:31,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:36,1
    - Dst: node::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' args'
    - ' opts'
    argTypes:
    - ArgsManager
    - BlockManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 41
    functionName: node::ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/blockmanager_args.cpp
    functionUses: 3
    functionsReached:
    - node::ReadDatabaseArgs
    - _
    - GetIntArg
    - GetBoolArg
    - strprintf
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> ApplyArgsManOptions(const ArgsManager& args, BlockManager::Options&
      opts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:20,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:22,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:24,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:31,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:31,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:36,1
    - Dst: node::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/node/blockmanager_args.cpp:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' args'
    - ' opts'
    argTypes:
    - ArgsManager
    - BlockManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 41
    functionName: node::ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/blockmanager_args.cpp
    functionUses: 3
    functionsReached:
    - node::ReadDatabaseArgs
    - _
    - GetIntArg
    - GetBoolArg
    - strprintf
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> ApplyArgsManOptions(const ArgsManager& args, BlockManager::Options&
      opts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/caches.cpp:30,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/node/caches.cpp:32,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/caches.cpp:33,1
    - Dst: std::max<size_t>
      Src: /src/bitcoin-core/src/node/caches.cpp:34,1
    - Dst: std::min<uint64_t>
      Src: /src/bitcoin-core/src/node/caches.cpp:34,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/caches.cpp:38,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/caches.cpp:38,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/caches.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' args'
    - n_indexes
    argTypes:
    - ArgsManager
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: node::CalculateCacheSizes
    functionSourceFile: /src/bitcoin-core/src/node/caches.cpp
    functionUses: 0
    functionsReached:
    - GetIntArg
    - std::min
    - std::max<size_t>
    - GetBoolArg
    - std::min<uint64_t>
    - RandomMixin::max
    - SaturatingLeftShift
    linkageType: ''
    returnType: CacheSizes
    signature: CacheSizes CalculateCacheSizes(const ArgsManager& args, size_t n_indexes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/caches.cpp:30,1
    - Dst: SaturatingLeftShift
      Src: /src/bitcoin-core/src/node/caches.cpp:32,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/caches.cpp:33,1
    - Dst: std::max<size_t>
      Src: /src/bitcoin-core/src/node/caches.cpp:34,1
    - Dst: std::min<uint64_t>
      Src: /src/bitcoin-core/src/node/caches.cpp:34,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/caches.cpp:38,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/caches.cpp:38,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/caches.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' args'
    - n_indexes
    argTypes:
    - ArgsManager
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: node::CalculateCacheSizes
    functionSourceFile: /src/bitcoin-core/src/node/caches.cpp
    functionUses: 0
    functionsReached:
    - GetIntArg
    - std::min
    - std::max<size_t>
    - GetBoolArg
    - std::min<uint64_t>
    - RandomMixin::max
    - SaturatingLeftShift
    linkageType: ''
    returnType: CacheSizes
    signature: CacheSizes CalculateCacheSizes(const ArgsManager& args, size_t n_indexes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/psbt.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - err_msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: node::SetInvalid
    functionSourceFile: /src/bitcoin-core/src/node/psbt.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SetInvalid(std::string err_msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/psbt.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - err_msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: node::SetInvalid
    functionSourceFile: /src/bitcoin-core/src/node/psbt.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SetInvalid(std::string err_msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/mempool_persist_args.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: node::ShouldPersistMempool
    functionSourceFile: /src/bitcoin-core/src/node/mempool_persist_args.cpp
    functionUses: 0
    functionsReached:
    - GetBoolArg
    linkageType: ''
    returnType: bool
    signature: bool ShouldPersistMempool(const ArgsManager& argsman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/node/mempool_persist_args.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: node::MempoolPath
    functionSourceFile: /src/bitcoin-core/src/node/mempool_persist_args.cpp
    functionUses: 0
    functionsReached:
    - GetDataDirNet
    linkageType: ''
    returnType: fs::path
    signature: fs::path MempoolPath(const ArgsManager& argsman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/mempool_persist_args.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: node::ShouldPersistMempool
    functionSourceFile: /src/bitcoin-core/src/node/mempool_persist_args.cpp
    functionUses: 0
    functionsReached:
    - GetBoolArg
    linkageType: ''
    returnType: bool
    signature: bool ShouldPersistMempool(const ArgsManager& argsman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/node/mempool_persist_args.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: node::MempoolPath
    functionSourceFile: /src/bitcoin-core/src/node/mempool_persist_args.cpp
    functionUses: 0
    functionsReached:
    - GetDataDirNet
    linkageType: ''
    returnType: fs::path
    signature: fs::path MempoolPath(const ArgsManager& argsman)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::MaxImplementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:28,1
    - Dst: Minisketch::ImplementationSupported
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:34,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:36,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:38,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:41,1
    - Dst: Minisketch::Decode
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:43,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:45,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:48,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:55,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:55,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:56,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (best.has_value())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    constantsTouched: []
    func_position:
      end: 58
      start: 24
    functionDepth: 6
    functionLinenumber: 24
    functionLinenumberEnd: 58
    functionName: node::FindBestImplementation
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 0
    functionsReached:
    - Minisketch::ImplementationSupported
    - MockableSteadyClock::now
    - Minisketch::Decode
    - std::vector::end
    - std::make_pair
    - std::optional::has_value
    - std::vector::begin
    - std::vector::push_back
    - LogInfo
    - Minisketch::MaxImplementation
    - Minisketch::Add
    - std::vector::empty
    - assert
    - std::sort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t FindBestImplementation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::FindBestImplementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 7
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: node::Minisketch32Implementation
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 0
    functionsReached:
    - node::FindBestImplementation
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Minisketch32Implementation()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::MaxImplementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:28,1
    - Dst: Minisketch::ImplementationSupported
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:34,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:36,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:38,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:41,1
    - Dst: Minisketch::Decode
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:43,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:45,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:48,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:55,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:55,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:56,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (best.has_value())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    constantsTouched: []
    func_position:
      end: 58
      start: 24
    functionDepth: 6
    functionLinenumber: 24
    functionLinenumberEnd: 58
    functionName: node::FindBestImplementation
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 1
    functionsReached:
    - Minisketch::ImplementationSupported
    - MockableSteadyClock::now
    - Minisketch::Decode
    - std::vector::end
    - std::make_pair
    - std::optional::has_value
    - std::vector::begin
    - std::vector::push_back
    - LogInfo
    - Minisketch::MaxImplementation
    - Minisketch::Add
    - std::vector::empty
    - assert
    - std::sort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t FindBestImplementation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::FindBestImplementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 7
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: node::Minisketch32Implementation
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 0
    functionsReached:
    - node::FindBestImplementation
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Minisketch32Implementation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:72,1
    - Dst: node::Minisketch32Implementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 8
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: node::MakeMinisketch32
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 0
    functionsReached:
    - node::Minisketch32Implementation
    - Minisketch
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch MakeMinisketch32(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::CreateFP
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:77,1
    - Dst: node::Minisketch32Implementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - max_elements
    - fpbits
    argTypes:
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 9
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: node::MakeMinisketch32FP
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 0
    functionsReached:
    - Minisketch::CreateFP
    - node::Minisketch32Implementation
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch MakeMinisketch32FP(size_t max_elements, uint32_t fpbits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::MaxImplementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:28,1
    - Dst: Minisketch::ImplementationSupported
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:34,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:36,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:38,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:41,1
    - Dst: Minisketch::Decode
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:43,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:45,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:48,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:55,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:55,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:56,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (best.has_value())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    constantsTouched: []
    func_position:
      end: 58
      start: 24
    functionDepth: 6
    functionLinenumber: 24
    functionLinenumberEnd: 58
    functionName: node::FindBestImplementation
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 2
    functionsReached:
    - Minisketch::ImplementationSupported
    - MockableSteadyClock::now
    - Minisketch::Decode
    - std::vector::end
    - std::make_pair
    - std::optional::has_value
    - std::vector::begin
    - std::vector::push_back
    - LogInfo
    - Minisketch::MaxImplementation
    - Minisketch::Add
    - std::vector::empty
    - assert
    - std::sort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t FindBestImplementation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::FindBestImplementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 7
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: node::Minisketch32Implementation
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 2
    functionsReached:
    - node::FindBestImplementation
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Minisketch32Implementation()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::MaxImplementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:28,1
    - Dst: Minisketch::ImplementationSupported
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:34,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:36,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:38,1
    - Dst: Minisketch::Add
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:41,1
    - Dst: Minisketch::Decode
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:43,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:45,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:48,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:49,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:55,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:55,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:56,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (best.has_value())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    constantsTouched: []
    func_position:
      end: 58
      start: 24
    functionDepth: 6
    functionLinenumber: 24
    functionLinenumberEnd: 58
    functionName: node::FindBestImplementation
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 3
    functionsReached:
    - Minisketch::ImplementationSupported
    - MockableSteadyClock::now
    - Minisketch::Decode
    - std::vector::end
    - std::make_pair
    - std::optional::has_value
    - std::vector::begin
    - std::vector::push_back
    - LogInfo
    - Minisketch::MaxImplementation
    - Minisketch::Add
    - std::vector::empty
    - assert
    - std::sort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t FindBestImplementation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::FindBestImplementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 7
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: node::Minisketch32Implementation
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 2
    functionsReached:
    - node::FindBestImplementation
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Minisketch32Implementation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:72,1
    - Dst: node::Minisketch32Implementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 8
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: node::MakeMinisketch32
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 0
    functionsReached:
    - node::Minisketch32Implementation
    - Minisketch
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch MakeMinisketch32(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Minisketch::CreateFP
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:77,1
    - Dst: node::Minisketch32Implementation
      Src: /src/bitcoin-core/src/node/minisketchwrapper.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - max_elements
    - fpbits
    argTypes:
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 9
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: node::MakeMinisketch32FP
    functionSourceFile: /src/bitcoin-core/src/node/minisketchwrapper.cpp
    functionUses: 0
    functionsReached:
    - Minisketch::CreateFP
    - node::Minisketch32Implementation
    linkageType: ''
    returnType: Minisketch
    signature: Minisketch MakeMinisketch32FP(size_t max_elements, uint32_t fpbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - network_magic
    argTypes:
    - MessageStartChars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: node::SnapshotMetadata::SnapshotMetadata
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SnapshotMetadata(\n        const MessageStartChars network_magic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - network_magic
    - ' base_blockhash'
    - coins_count
    argTypes:
    - MessageStartChars
    - uint256
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: node::SnapshotMetadata::SnapshotMetadata
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SnapshotMetadata(\n        const MessageStartChars network_magic,\n
      \       const uint256& base_blockhash,\n        uint64_t coins_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: node::SnapshotMetadata::Serialize
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:71,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:74,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:80,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:80,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:81,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:81,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:87,1
    - Dst: MessageStartChars::begin
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:87,1
    - Dst: MessageStartChars::end
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:87,1
    - Dst: data
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:87,1
    - Dst: GetNetworkForMagic
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:88,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:90,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:90,1
    - Dst: GetNetworkForMagic
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:91,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:92,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:92,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:93,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:93,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: node::SnapshotMetadata::Unserialize
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.h
    functionUses: 0
    functionsReached:
    - end
    - auto::value
    - std::ios_base::failure
    - size
    - data
    - GetNetworkForMagic
    - MessageStartChars::begin
    - strprintf
    - MessageStartChars::end
    - find
    - ChainTypeToString
    - std::equal
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - network_magic
    argTypes:
    - MessageStartChars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: node::SnapshotMetadata::SnapshotMetadata
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SnapshotMetadata(\n        const MessageStartChars network_magic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - network_magic
    - ' base_blockhash'
    - coins_count
    argTypes:
    - MessageStartChars
    - uint256
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: node::SnapshotMetadata::SnapshotMetadata
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SnapshotMetadata(\n        const MessageStartChars network_magic,\n
      \       const uint256& base_blockhash,\n        uint64_t coins_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: node::SnapshotMetadata::Serialize
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:71,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:74,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:80,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:80,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:81,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:81,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:87,1
    - Dst: MessageStartChars::begin
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:87,1
    - Dst: MessageStartChars::end
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:87,1
    - Dst: data
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:87,1
    - Dst: GetNetworkForMagic
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:88,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:90,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:90,1
    - Dst: GetNetworkForMagic
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:91,1
    - Dst: ChainTypeToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:92,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:92,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:93,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:93,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/node/utxo_snapshot.h:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: node::SnapshotMetadata::Unserialize
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.h
    functionUses: 0
    functionsReached:
    - end
    - auto::value
    - std::ios_base::failure
    - size
    - data
    - GetNetworkForMagic
    - MessageStartChars::begin
    - strprintf
    - MessageStartChars::end
    - find
    - ChainTypeToString
    - std::equal
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/coins_view_args.cpp:13,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/coins_view_args.cpp:14,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - CoinsViewOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: node::ReadCoinsViewArgs
    functionSourceFile: /src/bitcoin-core/src/node/coins_view_args.cpp
    functionUses: 0
    functionsReached:
    - GetIntArg
    linkageType: ''
    returnType: void
    signature: void ReadCoinsViewArgs(const ArgsManager& args, CoinsViewOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/coins_view_args.cpp:13,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/coins_view_args.cpp:14,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - CoinsViewOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: node::ReadCoinsViewArgs
    functionSourceFile: /src/bitcoin-core/src/node/coins_view_args.cpp
    functionUses: 0
    functionsReached:
    - GetIntArg
    linkageType: ''
    returnType: void
    signature: void ReadCoinsViewArgs(const ArgsManager& args, CoinsViewOptions& options)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:45,1
    - Dst: mockable_fopen_function
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:47,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:48,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:49,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:58,1
    - Dst: AutoFile::SetObfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:65,1
    - Dst: Obfuscation::Obfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:67,1
    - Dst: AutoFile::SetObfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:69,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:77,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:82,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:91,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:96,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:101,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:101,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:103,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:104,1
    - Dst: AcceptToMemoryPool
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:105,1
    - Dst: exists
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:113,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:113,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:130,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:137,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:141,1
    - Dst: AddUnbroadcastTx
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:141,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:145,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:145,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:149,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - ' pool'
    - ' load_path'
    - ' active_chainstate'
    - ' opts'
    argTypes:
    - CTxMemPool
    - fs::path
    - Chainstate
    - ImportMempoolOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 151
    functionName: node::LoadMempool
    functionSourceFile: /src/bitcoin-core/src/node/mempool_persist.cpp
    functionUses: 1
    functionsReached:
    - AutoFile::SetObfuscation
    - Obfuscation::Obfuscation
    - empty
    - PrioritiseTransaction
    - AutoFile::IsNull
    - AddUnbroadcastTx
    - TicksSinceEpoch
    - CTransactionRef::GetHash
    - mockable_fopen_function
    - LogInfo
    - LOCK
    - AcceptToMemoryPool
    - get
    - what
    - NodeClock::now
    - TX_WITH_WITNESS
    - exists
    - std::set::size
    linkageType: ''
    returnType: bool
    signature: bool LoadMempool(CTxMemPool& pool, const fs::path& load_path, Chainstate&
      active_chainstate, ImportMempoolOptions&& opts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:155,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:162,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:165,1
    - Dst: infoAll
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:169,1
    - Dst: GetUnbroadcastTxs
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:170,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:173,1
    - Dst: mockable_fopen_function
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:176,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:177,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:186,1
    - Dst: AutoFile::SetObfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:188,1
    - Dst: AutoFile::SetObfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:190,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:193,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:195,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:197,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:198,1
    - Dst: std::map::erase
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:200,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:200,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:205,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:205,1
    - Dst: AutoFile::Commit
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:208,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:209,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:210,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:212,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:213,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:214,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:214,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:214,1
    - Dst: RenameOver
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:216,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:217,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:219,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:221,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:222,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:223,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:224,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:226,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:226,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:227,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - ' pool'
    - ' dump_path'
    - mockable_fopen_function
    - skip_file_commit
    argTypes:
    - CTxMemPool
    - fs::path
    - FopenFn
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 231
    functionName: node::DumpMempool
    functionSourceFile: /src/bitcoin-core/src/node/mempool_persist.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::SetObfuscation
    - randbytes
    - AutoFile::IsNull
    - AutoFile::Commit
    - AutoFile::fclose
    - LogInfo
    - leveldb_options_set_max_file_size
    - what
    - GetUnbroadcastTxs
    - std::runtime_error
    - std::vector::size
    - fs::PathToString
    - infoAll
    - RenameOver
    - mockable_fopen_function
    - std::map::erase
    - strprintf
    - MockableSteadyClock::now
    - Ticks
    - tx::GetHash
    - LOCK
    - SysErrorString
    - TX_WITH_WITNESS
    - count_seconds
    - std::set::size
    linkageType: ''
    returnType: bool
    signature: bool DumpMempool(const CTxMemPool& pool, const fs::path& dump_path,
      FopenFn mockable_fopen_function, bool skip_file_commit)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:45,1
    - Dst: mockable_fopen_function
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:47,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:48,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:49,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:58,1
    - Dst: AutoFile::SetObfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:65,1
    - Dst: Obfuscation::Obfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:67,1
    - Dst: AutoFile::SetObfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:69,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:77,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:82,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:91,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:96,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:101,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:101,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:103,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:104,1
    - Dst: AcceptToMemoryPool
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:105,1
    - Dst: exists
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:113,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:113,1
    - Dst: PrioritiseTransaction
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:130,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:137,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:141,1
    - Dst: AddUnbroadcastTx
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:141,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:145,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:145,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:149,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - ' pool'
    - ' load_path'
    - ' active_chainstate'
    - ' opts'
    argTypes:
    - CTxMemPool
    - fs::path
    - Chainstate
    - ImportMempoolOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 151
    functionName: node::LoadMempool
    functionSourceFile: /src/bitcoin-core/src/node/mempool_persist.cpp
    functionUses: 1
    functionsReached:
    - AutoFile::SetObfuscation
    - Obfuscation::Obfuscation
    - empty
    - PrioritiseTransaction
    - AutoFile::IsNull
    - AddUnbroadcastTx
    - TicksSinceEpoch
    - CTransactionRef::GetHash
    - mockable_fopen_function
    - LogInfo
    - LOCK
    - AcceptToMemoryPool
    - get
    - what
    - NodeClock::now
    - TX_WITH_WITNESS
    - exists
    - std::set::size
    linkageType: ''
    returnType: bool
    signature: bool LoadMempool(CTxMemPool& pool, const fs::path& load_path, Chainstate&
      active_chainstate, ImportMempoolOptions&& opts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:155,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:162,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:165,1
    - Dst: infoAll
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:169,1
    - Dst: GetUnbroadcastTxs
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:170,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:173,1
    - Dst: mockable_fopen_function
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:176,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:177,1
    - Dst: randbytes
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:186,1
    - Dst: AutoFile::SetObfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:188,1
    - Dst: AutoFile::SetObfuscation
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:190,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:193,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:195,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:197,1
    - Dst: count_seconds
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:198,1
    - Dst: std::map::erase
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:200,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:200,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:205,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:205,1
    - Dst: AutoFile::Commit
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:208,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:209,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:210,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:212,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:213,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:214,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:214,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:214,1
    - Dst: RenameOver
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:216,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:217,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:219,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:221,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:222,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:223,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:224,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:226,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:226,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/mempool_persist.cpp:227,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - ' pool'
    - ' dump_path'
    - mockable_fopen_function
    - skip_file_commit
    argTypes:
    - CTxMemPool
    - fs::path
    - FopenFn
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 231
    functionName: node::DumpMempool
    functionSourceFile: /src/bitcoin-core/src/node/mempool_persist.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::SetObfuscation
    - randbytes
    - AutoFile::IsNull
    - AutoFile::Commit
    - AutoFile::fclose
    - LogInfo
    - leveldb_options_set_max_file_size
    - what
    - GetUnbroadcastTxs
    - std::runtime_error
    - std::vector::size
    - fs::PathToString
    - infoAll
    - RenameOver
    - mockable_fopen_function
    - std::map::erase
    - strprintf
    - MockableSteadyClock::now
    - Ticks
    - tx::GetHash
    - LOCK
    - SysErrorString
    - TX_WITH_WITNESS
    - count_seconds
    - std::set::size
    linkageType: ''
    returnType: bool
    signature: bool DumpMempool(const CTxMemPool& pool, const fs::path& dump_path,
      FopenFn mockable_fopen_function, bool skip_file_commit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:24,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:26,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:27,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:29,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:30,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:31,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - offset
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: TimeOffsets::Add
    functionSourceFile: /src/bitcoin-core/src/node/timeoffsets.cpp
    functionUses: 1
    functionsReached:
    - pop_front
    - Ticks
    - push_back
    - LogDebug
    - size
    - LOCK
    linkageType: ''
    returnType: void
    signature: void TimeOffsets::Add(std::chrono::seconds offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:36,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:39,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:42,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:42,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:42,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: TimeOffsets::Median
    functionSourceFile: /src/bitcoin-core/src/node/timeoffsets.cpp
    functionUses: 1
    functionsReached:
    - auto::begin
    - auto::size
    - size
    - LOCK
    - std::sort
    - auto::end
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds TimeOffsets::Median() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:49,1
    - Dst: TimeOffsets::Median
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:49,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:49,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:49,1
    - Dst: secp256k1_modinv64_abs
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:50,1
    - Dst: Unset
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:51,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:55,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:55,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:62,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:63,1
    - Dst: Set
      Src: /src/bitcoin-core/src/node/timeoffsets.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: TimeOffsets::WarnIfOutOfSync
    functionSourceFile: /src/bitcoin-core/src/node/timeoffsets.cpp
    functionUses: 1
    functionsReached:
    - leveldb::DelayMilliseconds
    - _
    - RandomMixin::min
    - Ticks
    - std::max
    - LogWarning
    - TimeOffsets::Median
    - Set
    - Unset
    - strprintf
    - secp256k1_modinv64_abs
    linkageType: ''
    returnType: bool
    signature: bool TimeOffsets::WarnIfOutOfSync() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:26,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:29,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:32,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:34,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:35,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:36,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:41,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:42,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' snapshot_chainstate'
    argTypes:
    - Chainstate
    assertStmts:
    - condition: (chaindir)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    - condition: (snapshot_chainstate.m_from_snapshot_blockhash)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: node::WriteSnapshotBaseBlockhash
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::IsNull
    - fsbridge::fopen
    - AutoFile::fclose
    - LogPrintf
    - AssertLockHeld
    - CoinsDB
    - assert
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool WriteSnapshotBaseBlockhash(Chainstate& snapshot_chainstate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:51,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:52,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:53,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:57,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:59,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:60,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:62,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:66,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:67,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:69,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:70,1
    - Dst: AutoFile::tell
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:76,1
    - Dst: AutoFile::seek
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:77,1
    - Dst: AutoFile::tell
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:78,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - chaindir
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 82
    functionName: node::ReadSnapshotBaseBlockhash
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    functionUses: 2
    functionsReached:
    - AutoFile::IsNull
    - fsbridge::fopen
    - fs::exists
    - AutoFile::tell
    - LogPrintf
    - AutoFile::seek
    - uint256::uint256
    - fs::PathToString
    linkageType: ''
    returnType: std::optional<uint256>
    signature: std::optional<uint256> ReadSnapshotBaseBlockhash(fs::path chaindir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:87,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:87,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data_dir'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: node::FindSnapshotChainstateDir
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    functionUses: 6
    functionsReached:
    - fs::u8path
    - fs::exists
    - strprintf
    linkageType: ''
    returnType: std::optional<fs::path>
    signature: std::optional<fs::path> FindSnapshotChainstateDir(const fs::path& data_dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:26,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:29,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:32,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:34,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:35,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:36,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:41,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:42,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' snapshot_chainstate'
    argTypes:
    - Chainstate
    assertStmts:
    - condition: (chaindir)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    - condition: (snapshot_chainstate.m_from_snapshot_blockhash)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: node::WriteSnapshotBaseBlockhash
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    functionUses: 0
    functionsReached:
    - AutoFile::IsNull
    - fsbridge::fopen
    - AutoFile::fclose
    - LogPrintf
    - AssertLockHeld
    - CoinsDB
    - assert
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool WriteSnapshotBaseBlockhash(Chainstate& snapshot_chainstate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:51,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:52,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:53,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:57,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:59,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:60,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:62,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:66,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:67,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:69,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:70,1
    - Dst: AutoFile::tell
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:76,1
    - Dst: AutoFile::seek
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:77,1
    - Dst: AutoFile::tell
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:78,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - chaindir
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 82
    functionName: node::ReadSnapshotBaseBlockhash
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    functionUses: 2
    functionsReached:
    - AutoFile::IsNull
    - fsbridge::fopen
    - fs::exists
    - AutoFile::tell
    - LogPrintf
    - AutoFile::seek
    - uint256::uint256
    - fs::PathToString
    linkageType: ''
    returnType: std::optional<uint256>
    signature: std::optional<uint256> ReadSnapshotBaseBlockhash(fs::path chaindir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:87,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:87,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/utxo_snapshot.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data_dir'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: node::FindSnapshotChainstateDir
    functionSourceFile: /src/bitcoin-core/src/node/utxo_snapshot.cpp
    functionUses: 6
    functionsReached:
    - fs::u8path
    - fs::exists
    - strprintf
    linkageType: ''
    returnType: std::optional<fs::path>
    signature: std::optional<fs::path> FindSnapshotChainstateDir(const fs::path& data_dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/database_args.cpp:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - DBOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: node::ReadDatabaseArgs
    functionSourceFile: /src/bitcoin-core/src/node/database_args.cpp
    functionUses: 3
    functionsReached:
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void ReadDatabaseArgs(const ArgsManager& args, DBOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/database_args.cpp:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - DBOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: node::ReadDatabaseArgs
    functionSourceFile: /src/bitcoin-core/src/node/database_args.cpp
    functionUses: 3
    functionsReached:
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void ReadDatabaseArgs(const ArgsManager& args, DBOptions& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::txiter::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:61,1
    - Dst: CTxMemPool::txiter::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:62,1
    - Dst: CTxMemPool::txiter::GetSigOpCostWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: node::CTxMemPoolModifiedEntry
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached:
    - CTxMemPool::txiter::GetModFeesWithAncestors
    - CTxMemPool::txiter::GetSizeWithAncestors
    - CTxMemPool::txiter::GetSigOpCostWithAncestors
    linkageType: ''
    returnType: void
    signature: void CTxMemPoolModifiedEntry(CTxMemPool::txiter entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::GetModifiedFee
      Src: /src/bitcoin-core/src/node/miner.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: node::GetModifiedFee
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 2
    functionsReached:
    - node::GetModifiedFee
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModifiedFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: node::GetSizeWithAncestors
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetSizeWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: node::GetModFeesWithAncestors
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModFeesWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::GetTxSize
      Src: /src/bitcoin-core/src/node/miner.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: node::GetTxSize
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 2
    functionsReached:
    - node::GetTxSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetTxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/miner.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& GetTx() const'
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached:
    - GetTx
    linkageType: ''
    returnType: CTransaction
    signature: CTransaction & GetTx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxMemPool::txiter
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: operator()(const CTxMemPool::txiter& a, const CTxMemPool::txiter&
      b) const
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CTxMemPool::txiter& a, const CTxMemPool::txiter&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CTxMemPoolModifiedEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: operator() (const CTxMemPoolModifiedEntry &entry) const
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: result_type
    signature: result_type operator() (const CTxMemPoolModifiedEntry &entry) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:104,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:104,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:105,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:105,1
    - Dst: CompareIteratorByHash
      Src: /src/bitcoin-core/src/node/miner.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxMemPool::txiter
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: operator()(const CTxMemPool::txiter& a, const CTxMemPool::txiter&
      b) const
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached:
    - GetCountWithAncestors
    - CompareIteratorByHash
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CTxMemPool::txiter& a, const CTxMemPool::txiter&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: node::update_for_parent_inclusion
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_for_parent_inclusion(CTxMemPool::txiter it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::GetModifiedFee
      Src: /src/bitcoin-core/src/node/miner.h:141,1
    - Dst: node::GetTxSize
      Src: /src/bitcoin-core/src/node/miner.h:142,1
    - Dst: GetSigOpCost
      Src: /src/bitcoin-core/src/node/miner.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - CTxMemPoolModifiedEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: operator() (CTxMemPoolModifiedEntry &e)
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached:
    - node::GetModifiedFee
    - node::GetTxSize
    - GetSigOpCost
    linkageType: ''
    returnType: void
    signature: void operator() (CTxMemPoolModifiedEntry &e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool::txiter::GetSizeWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:61,1
    - Dst: CTxMemPool::txiter::GetModFeesWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:62,1
    - Dst: CTxMemPool::txiter::GetSigOpCostWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: node::CTxMemPoolModifiedEntry
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached:
    - CTxMemPool::txiter::GetModFeesWithAncestors
    - CTxMemPool::txiter::GetSizeWithAncestors
    - CTxMemPool::txiter::GetSigOpCostWithAncestors
    linkageType: ''
    returnType: void
    signature: void CTxMemPoolModifiedEntry(CTxMemPool::txiter entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::GetModifiedFee
      Src: /src/bitcoin-core/src/node/miner.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: node::GetModifiedFee
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 4
    functionsReached:
    - node::GetModifiedFee
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModifiedFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: node::GetSizeWithAncestors
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetSizeWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: node::GetModFeesWithAncestors
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModFeesWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::GetTxSize
      Src: /src/bitcoin-core/src/node/miner.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: node::GetTxSize
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 4
    functionsReached:
    - node::GetTxSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetTxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/miner.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& GetTx() const'
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached:
    - GetTx
    linkageType: ''
    returnType: CTransaction
    signature: CTransaction & GetTx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxMemPool::txiter
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: operator()(const CTxMemPool::txiter& a, const CTxMemPool::txiter&
      b) const
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CTxMemPool::txiter& a, const CTxMemPool::txiter&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - CTxMemPoolModifiedEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: operator() (const CTxMemPoolModifiedEntry &entry) const
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: result_type
    signature: result_type operator() (const CTxMemPoolModifiedEntry &entry) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:104,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:104,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:105,1
    - Dst: GetCountWithAncestors
      Src: /src/bitcoin-core/src/node/miner.h:105,1
    - Dst: CompareIteratorByHash
      Src: /src/bitcoin-core/src/node/miner.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CTxMemPool::txiter
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: operator()(const CTxMemPool::txiter& a, const CTxMemPool::txiter&
      b) const
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached:
    - GetCountWithAncestors
    - CompareIteratorByHash
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CTxMemPool::txiter& a, const CTxMemPool::txiter&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - CTxMemPool::txiter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: node::update_for_parent_inclusion
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_for_parent_inclusion(CTxMemPool::txiter it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetModifiedFee
      Src: /src/bitcoin-core/src/node/miner.h:141,1
    - Dst: GetTxSize
      Src: /src/bitcoin-core/src/node/miner.h:142,1
    - Dst: GetSigOpCost
      Src: /src/bitcoin-core/src/node/miner.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - CTxMemPoolModifiedEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: operator() (CTxMemPoolModifiedEntry &e)
    functionSourceFile: /src/bitcoin-core/src/node/miner.h
    functionUses: 0
    functionsReached:
    - GetTxSize
    - GetSigOpCost
    - GetModifiedFee
    linkageType: ''
    returnType: void
    signature: void operator() (CTxMemPoolModifiedEntry &e)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PSBTAnalysis::inputs::resize
      Src: /src/bitcoin-core/src/node/psbt.cpp:25,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:25,1
    - Dst: PrecomputePSBTData
      Src: /src/bitcoin-core/src/node/psbt.cpp:27,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:29,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/node/psbt.cpp:37,1
    - Dst: PartiallySignedTransaction::GetInputUTXO
      Src: /src/bitcoin-core/src/node/psbt.cpp:38,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:39,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:39,1
    - Dst: PSBTAnalysis::SetInvalid
      Src: /src/bitcoin-core/src/node/psbt.cpp:40,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/psbt.cpp:40,1
    - Dst: non_witness_utxo::vout::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:46,1
    - Dst: PSBTAnalysis::SetInvalid
      Src: /src/bitcoin-core/src/node/psbt.cpp:47,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/psbt.cpp:47,1
    - Dst: CTxOut::IsNull
      Src: /src/bitcoin-core/src/node/psbt.cpp:56,1
    - Dst: CTxOut::scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/node/psbt.cpp:56,1
    - Dst: PSBTAnalysis::SetInvalid
      Src: /src/bitcoin-core/src/node/psbt.cpp:57,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/psbt.cpp:57,1
    - Dst: PSBTInputSignedAndVerified
      Src: /src/bitcoin-core/src/node/psbt.cpp:62,1
    - Dst: SignPSBTInput
      Src: /src/bitcoin-core/src/node/psbt.cpp:67,1
    - Dst: SignatureData::missing_pubkeys::empty
      Src: /src/bitcoin-core/src/node/psbt.cpp:77,1
    - Dst: SignatureData::missing_redeem_script::IsNull
      Src: /src/bitcoin-core/src/node/psbt.cpp:77,1
    - Dst: SignatureData::missing_witness_script::IsNull
      Src: /src/bitcoin-core/src/node/psbt.cpp:77,1
    - Dst: SignatureData::missing_sigs::empty
      Src: /src/bitcoin-core/src/node/psbt.cpp:77,1
    - Dst: CTxOut::IsNull
      Src: /src/bitcoin-core/src/node/psbt.cpp:85,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:92,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/psbt.cpp:94,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/psbt.cpp:96,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/psbt.cpp:100,1
    - Dst: PartiallySignedTransaction::tx::vout::begin
      Src: /src/bitcoin-core/src/node/psbt.cpp:100,1
    - Dst: PartiallySignedTransaction::tx::vout::end
      Src: /src/bitcoin-core/src/node/psbt.cpp:100,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/node/psbt.cpp:100,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:102,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:102,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:102,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/node/psbt.cpp:103,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:108,1
    - Dst: PSBTAnalysis::SetInvalid
      Src: /src/bitcoin-core/src/node/psbt.cpp:109,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:123,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/node/psbt.cpp:125,1
    - Dst: SignPSBTInput
      Src: /src/bitcoin-core/src/node/psbt.cpp:127,1
    - Dst: PartiallySignedTransaction::GetInputUTXO
      Src: /src/bitcoin-core/src/node/psbt.cpp:127,1
    - Dst: CCoinsViewCache::AddCoin
      Src: /src/bitcoin-core/src/node/psbt.cpp:134,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/psbt.cpp:134,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/node/psbt.cpp:139,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 1
    argNames:
    - psbtx
    argTypes:
    - PartiallySignedTransaction
    assertStmts:
    - condition: (result.next > PSBTRole::CREATOR)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/node/psbt.cpp
    constantsTouched: []
    func_position:
      end: 150
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 150
    functionName: node::AnalyzePSBT
    functionSourceFile: /src/bitcoin-core/src/node/psbt.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - PartiallySignedTransaction::tx::vin::size
    - std::move
    - CAmount
    - PSBTAnalysis::inputs::resize
    - PSBTAnalysis::SetInvalid
    - SignatureData::missing_pubkeys::empty
    - SignatureData::missing_redeem_script::IsNull
    - std::min
    - SignatureData::missing_witness_script::IsNull
    - Coin::Coin
    - CTxOut::IsNull
    - PartiallySignedTransaction::tx::vout::begin
    - PartiallySignedTransaction::tx::vout::end
    - CTxOut::scriptPubKey::IsUnspendable
    - PrecomputePSBTData
    - CTransaction
    - strprintf
    - PSBTInputSignedAndVerified
    - assert
    - non_witness_utxo::vout::size
    - std::accumulate
    - SignatureData::missing_sigs::empty
    - SignPSBTInput
    - CCoinsViewCache::AddCoin
    - PartiallySignedTransaction::GetInputUTXO
    - MoneyRange
    linkageType: ''
    returnType: PSBTAnalysis
    signature: PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PSBTAnalysis::inputs::resize
      Src: /src/bitcoin-core/src/node/psbt.cpp:25,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:25,1
    - Dst: PrecomputePSBTData
      Src: /src/bitcoin-core/src/node/psbt.cpp:27,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:29,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/node/psbt.cpp:37,1
    - Dst: PartiallySignedTransaction::GetInputUTXO
      Src: /src/bitcoin-core/src/node/psbt.cpp:38,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:39,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:39,1
    - Dst: PSBTAnalysis::SetInvalid
      Src: /src/bitcoin-core/src/node/psbt.cpp:40,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/psbt.cpp:40,1
    - Dst: non_witness_utxo::vout::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:46,1
    - Dst: PSBTAnalysis::SetInvalid
      Src: /src/bitcoin-core/src/node/psbt.cpp:47,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/psbt.cpp:47,1
    - Dst: CTxOut::IsNull
      Src: /src/bitcoin-core/src/node/psbt.cpp:56,1
    - Dst: CTxOut::scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/node/psbt.cpp:56,1
    - Dst: PSBTAnalysis::SetInvalid
      Src: /src/bitcoin-core/src/node/psbt.cpp:57,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/psbt.cpp:57,1
    - Dst: PSBTInputSignedAndVerified
      Src: /src/bitcoin-core/src/node/psbt.cpp:62,1
    - Dst: SignPSBTInput
      Src: /src/bitcoin-core/src/node/psbt.cpp:67,1
    - Dst: SignatureData::missing_pubkeys::empty
      Src: /src/bitcoin-core/src/node/psbt.cpp:77,1
    - Dst: SignatureData::missing_redeem_script::IsNull
      Src: /src/bitcoin-core/src/node/psbt.cpp:77,1
    - Dst: SignatureData::missing_witness_script::IsNull
      Src: /src/bitcoin-core/src/node/psbt.cpp:77,1
    - Dst: SignatureData::missing_sigs::empty
      Src: /src/bitcoin-core/src/node/psbt.cpp:77,1
    - Dst: CTxOut::IsNull
      Src: /src/bitcoin-core/src/node/psbt.cpp:85,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:92,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/psbt.cpp:94,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/psbt.cpp:96,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/node/psbt.cpp:100,1
    - Dst: PartiallySignedTransaction::tx::vout::begin
      Src: /src/bitcoin-core/src/node/psbt.cpp:100,1
    - Dst: PartiallySignedTransaction::tx::vout::end
      Src: /src/bitcoin-core/src/node/psbt.cpp:100,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/node/psbt.cpp:100,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:102,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:102,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:102,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/node/psbt.cpp:103,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/node/psbt.cpp:108,1
    - Dst: PSBTAnalysis::SetInvalid
      Src: /src/bitcoin-core/src/node/psbt.cpp:109,1
    - Dst: PartiallySignedTransaction::tx::vin::size
      Src: /src/bitcoin-core/src/node/psbt.cpp:123,1
    - Dst: Coin::Coin
      Src: /src/bitcoin-core/src/node/psbt.cpp:125,1
    - Dst: SignPSBTInput
      Src: /src/bitcoin-core/src/node/psbt.cpp:127,1
    - Dst: PartiallySignedTransaction::GetInputUTXO
      Src: /src/bitcoin-core/src/node/psbt.cpp:127,1
    - Dst: CCoinsViewCache::AddCoin
      Src: /src/bitcoin-core/src/node/psbt.cpp:134,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/psbt.cpp:134,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/node/psbt.cpp:139,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 1
    argNames:
    - psbtx
    argTypes:
    - PartiallySignedTransaction
    assertStmts:
    - condition: (result.next > PSBTRole::CREATOR)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/node/psbt.cpp
    constantsTouched: []
    func_position:
      end: 150
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 150
    functionName: node::AnalyzePSBT
    functionSourceFile: /src/bitcoin-core/src/node/psbt.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - PartiallySignedTransaction::tx::vin::size
    - std::move
    - CAmount
    - PSBTAnalysis::inputs::resize
    - PSBTAnalysis::SetInvalid
    - SignatureData::missing_pubkeys::empty
    - SignatureData::missing_redeem_script::IsNull
    - std::min
    - SignatureData::missing_witness_script::IsNull
    - Coin::Coin
    - CTxOut::IsNull
    - PartiallySignedTransaction::tx::vout::begin
    - PartiallySignedTransaction::tx::vout::end
    - CTxOut::scriptPubKey::IsUnspendable
    - PrecomputePSBTData
    - CTransaction
    - strprintf
    - PSBTInputSignedAndVerified
    - assert
    - non_witness_utxo::vout::size
    - std::accumulate
    - SignatureData::missing_sigs::empty
    - SignPSBTInput
    - CCoinsViewCache::AddCoin
    - PartiallySignedTransaction::GetInputUTXO
    - MoneyRange
    linkageType: ''
    returnType: PSBTAnalysis
    signature: PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TxDownloadManagerImpl>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - TxDownloadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: node::TxDownloadManager::TxDownloadManager
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<TxDownloadManagerImpl>
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::TxDownloadManager(const TxDownloadOptions&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: TxDownloadManager::~TxDownloadManager()
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::~TxDownloadManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ActiveTipChange
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: node::TxDownloadManager::ActiveTipChange
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::ActiveTipChange
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::ActiveTipChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::BlockConnected
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pblock'
    argTypes:
    - std::shared_ptr<const CBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: node::TxDownloadManager::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::BlockConnected
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::BlockConnected(const std::shared_ptr<const
      CBlock>& pblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::BlockDisconnected
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: node::TxDownloadManager::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::BlockDisconnected
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::BlockDisconnected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ConnectedPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodeid
    - ' info'
    argTypes:
    - NodeId
    - TxDownloadConnectionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: node::TxDownloadManager::ConnectedPeer
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::ConnectedPeer
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::ConnectedPeer(NodeId nodeid, const TxDownloadConnectionInfo&
      info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::DisconnectedPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: node::TxDownloadManager::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::DisconnectedPeer
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::DisconnectedPeer(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::AddTxAnnouncement
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - peer
    - ' gtxid'
    - now
    argTypes:
    - NodeId
    - GenTxid
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: node::TxDownloadManager::AddTxAnnouncement
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::AddTxAnnouncement
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManager::AddTxAnnouncement(NodeId peer, const GenTxid&
      gtxid, std::chrono::microseconds now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::GetRequestsToSend
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodeid
    - current_time
    argTypes:
    - NodeId
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: node::TxDownloadManager::GetRequestsToSend
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::GetRequestsToSend
    linkageType: ''
    returnType: std::vector<GenTxid>
    signature: std::vector<GenTxid> TxDownloadManager::GetRequestsToSend(NodeId nodeid,
      std::chrono::microseconds current_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodeid
    - ' gtxids'
    argTypes:
    - NodeId
    - std::vector<GenTxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: node::TxDownloadManager::ReceivedNotFound
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::ReceivedNotFound(NodeId nodeid, const std::vector<GenTxid>&
      gtxids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::MempoolAcceptedTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: node::TxDownloadManager::MempoolAcceptedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::MempoolAcceptedTx
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::MempoolAcceptedTx(const CTransactionRef& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::MempoolRejectedTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ptx'
    - ' state'
    - nodeid
    - first_time_failure
    argTypes:
    - CTransactionRef
    - TxValidationState
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: node::TxDownloadManager::MempoolRejectedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::MempoolRejectedTx
    linkageType: ''
    returnType: RejectedTxTodo
    signature: RejectedTxTodo TxDownloadManager::MempoolRejectedTx(const CTransactionRef&
      ptx, const TxValidationState& state, NodeId nodeid, bool first_time_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::MempoolRejectedPackage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' package'
    argTypes:
    - Package
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: node::TxDownloadManager::MempoolRejectedPackage
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::MempoolRejectedPackage
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::MempoolRejectedPackage(const Package& package)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodeid
    - ' ptx'
    argTypes:
    - NodeId
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: node::TxDownloadManager::ReceivedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::ReceivedTx
    linkageType: ''
    returnType: std::pair<bool, std::optional<PackageToValidate>>
    signature: std::pair<bool, std::optional<PackageToValidate>> TxDownloadManager::ReceivedTx(NodeId
      nodeid, const CTransactionRef& ptx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::HaveMoreWork
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: node::TxDownloadManager::HaveMoreWork
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::HaveMoreWork
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManager::HaveMoreWork(NodeId nodeid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::GetTxToReconsider
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: node::TxDownloadManager::GetTxToReconsider
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::GetTxToReconsider
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef TxDownloadManager::GetTxToReconsider(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::CheckIsEmpty
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: node::TxDownloadManager::CheckIsEmpty
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::CheckIsEmpty
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::CheckIsEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::CheckIsEmpty
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: node::TxDownloadManager::CheckIsEmpty
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::CheckIsEmpty
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::CheckIsEmpty(NodeId nodeid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::GetOrphanTransactions
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: node::TxDownloadManager::GetOrphanTransactions
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManager::GetOrphanTransactions
    linkageType: ''
    returnType: std::vector<TxOrphanage::OrphanInfo>
    signature: std::vector<TxOrphanage::OrphanInfo> TxDownloadManager::GetOrphanTransactions()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:94,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: node::TxDownloadManagerImpl::ActiveTipChange
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - RecentRejectsFilter
    - RecentRejectsReconsiderableFilter
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::ActiveTipChange()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EraseForBlock
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:100,1
    - Dst: RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:103,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:103,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:104,1
    - Dst: RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:105,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:105,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:107,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:107,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:108,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' pblock'
    argTypes:
    - std::shared_ptr<const CBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: node::TxDownloadManagerImpl::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessHash
    - GetHash
    - HasWitness
    - EraseForBlock
    - RecentConfirmedTransactionsFilter
    - ForgetTxHash
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::BlockConnected(const std::shared_ptr<const
      CBlock>& pblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: node::TxDownloadManagerImpl::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - RecentConfirmedTransactionsFilter
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::BlockDisconnected()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:127,1
    - Dst: HaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:140,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:140,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:142,1
    - Dst: RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:144,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:146,1
    - Dst: std::visit
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:146,1
    - Dst: m_mempool::exists
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' gtxid'
    - include_reconsiderable
    argTypes:
    - GenTxid
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 147
    functionName: node::TxDownloadManagerImpl::AlreadyHaveTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - RecentRejectsReconsiderableFilter
    - RecentRejectsFilter
    - std::visit
    - ToUint256
    - transaction_identifier::FromUint256
    - RecentConfirmedTransactionsFilter
    - HaveTx
    - m_mempool::exists
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManagerImpl::AlreadyHaveTx(const GenTxid& gtxid, bool
      include_reconsiderable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:152,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - nodeid
    - ' info'
    argTypes:
    - NodeId
    - TxDownloadConnectionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: node::TxDownloadManagerImpl::ConnectedPeer
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - contains
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::ConnectedPeer(NodeId nodeid, const TxDownloadConnectionInfo&
      info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EraseForPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:160,1
    - Dst: node::TxDownloadManagerImpl::DisconnectedPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:161,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:163,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:163,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: node::TxDownloadManagerImpl::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - end
    - node::TxDownloadManagerImpl::DisconnectedPeer
    - erase
    - EraseForPeer
    - find
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::DisconnectedPeer(NodeId nodeid)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<Wtxid>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:176,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:177,1
    - Dst: node::TxDownloadManagerImpl::GetUniqueParents
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:178,1
    - Dst: std::erase_if
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:179,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:180,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:185,1
    - Dst: node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:189,1
    - Dst: AddAnnouncer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:190,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:190,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:199,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:201,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:202,1
    - Dst: Count
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:204,1
    - Dst: IsWtxid
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:217,1
    - Dst: CountInFlight
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:218,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - peer
    - ' gtxid'
    - now
    argTypes:
    - NodeId
    - GenTxid
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 224
    functionName: node::TxDownloadManagerImpl::AddTxAnnouncement
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManagerImpl::GetUniqueParents
    - end
    - std::get_if<Wtxid>
    - auto::GetWitnessHash
    - IsWtxid
    - CountInFlight
    - auto::empty
    - AddAnnouncer
    - GetTx
    - Count
    - ReceivedInv
    - node::TxDownloadManagerImpl::AlreadyHaveTx
    - node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
    - find
    - std::erase_if
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManagerImpl::AddTxAnnouncement(NodeId peer, const GenTxid&
      gtxid, std::chrono::microseconds now)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:228,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:229,1
    - Dst: HaveTxFromPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:230,1
    - Dst: at
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:232,1
    - Dst: Count
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:242,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:242,1
    - Dst: CountInFlight
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:252,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:258,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:260,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ' unique_parents'
    - ' wtxid'
    - nodeid
    - now
    argTypes:
    - std::vector<Txid>
    - Wtxid
    - NodeId
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 262
    functionName: node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - end
    - ToString
    - at
    - LogDebug
    - CountInFlight
    - size
    - ReceivedInv
    - Count
    - HaveTxFromPeer
    - find
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate(const
      std::vector<Txid>& unique_parents, const Wtxid& wtxid, NodeId nodeid, std::chrono::microseconds
      now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetRequestable
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:268,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:270,1
    - Dst: IsWtxid
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:270,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:271,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:274,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:275,1
    - Dst: IsWtxid
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:275,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:276,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:277,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:278,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:278,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:282,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - nodeid
    - current_time
    argTypes:
    - NodeId
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: node::TxDownloadManagerImpl::GetRequestsToSend
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - IsWtxid
    - LogDebug
    - GetRequestable
    - ToUint256
    - node::TxDownloadManagerImpl::AlreadyHaveTx
    - RequestedTx
    - ForgetTxHash
    linkageType: ''
    returnType: std::vector<GenTxid>
    signature: std::vector<GenTxid> TxDownloadManagerImpl::GetRequestsToSend(NodeId
      nodeid, std::chrono::microseconds current_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:293,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - nodeid
    - ' gtxids'
    argTypes:
    - NodeId
    - std::vector<GenTxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: node::TxDownloadManagerImpl::ReceivedNotFound
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - ToUint256
    - ReceivedResponse
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::ReceivedNotFound(NodeId nodeid, const std::vector<GenTxid>&
      gtxids)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:299,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:301,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:301,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:301,1
    - Dst: GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:308,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:315,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:315,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:316,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' ptx'
    - nodeid
    argTypes:
    - CTransactionRef
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: node::TxDownloadManagerImpl::Find1P1CPackage
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - RecentRejectsReconsiderableFilter
    - Assume
    - GetWitnessHash
    - RecentRejectsFilter
    - GetPackageHash
    - GetHash
    - ToUint256
    - GetChildrenFromSamePeer
    linkageType: ''
    returnType: std::optional<PackageToValidate>
    signature: std::optional<PackageToValidate> TxDownloadManagerImpl::Find1P1CPackage(const
      CTransactionRef& ptx, NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:327,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:327,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:328,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:328,1
    - Dst: AddChildrenToWorkSet
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:330,1
    - Dst: EraseTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:332,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: node::TxDownloadManagerImpl::MempoolAcceptedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessHash
    - GetHash
    - AddChildrenToWorkSet
    - EraseTx
    - ForgetTxHash
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::MempoolAcceptedTx(const CTransactionRef&
      tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:338,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:338,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:341,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:344,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:344,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:344,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    - Dst: std::unique
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 348
    functionName: node::TxDownloadManagerImpl::GetUniqueParents
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - std::vector::erase
    - std::vector::begin
    - std::vector::reserve
    - std::vector::push_back
    - std::unique
    - std::sort
    - vin::size
    linkageType: ''
    returnType: std::vector<Txid>
    signature: std::vector<Txid> TxDownloadManagerImpl::GetUniqueParents(const CTransaction&
      tx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:361,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:364,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:364,1
    - Dst: node::TxDownloadManagerImpl::GetUniqueParents
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:369,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:376,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:376,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:379,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:379,1
    - Dst: m_mempool::exists
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:380,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:383,1
    - Dst: std::erase_if
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:394,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:395,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:397,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:398,1
    - Dst: HaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:401,1
    - Dst: GetCandidatePeers
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:409,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:409,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:410,1
    - Dst: GetCandidatePeers
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:410,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:410,1
    - Dst: node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:413,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:413,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:414,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:419,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:419,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:420,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:420,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:422,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:423,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:424,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:425,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:432,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:432,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:433,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:433,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:434,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:434,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:435,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:435,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:438,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:454,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:458,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:458,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:463,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:464,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:464,1
    - Dst: node::TxDownloadManagerImpl::Find1P1CPackage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:465,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:468,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:468,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:470,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:470,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:481,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:481,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:482,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:482,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:483,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:483,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:489,1
    - Dst: EraseTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:489,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:489,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:490,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:490,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:490,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:495,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:496,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 4
    argNames:
    - ' ptx'
    - ' state'
    - nodeid
    - first_time_failure
    argTypes:
    - CTransactionRef
    - TxValidationState
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 498
    functionName: node::TxDownloadManagerImpl::MempoolRejectedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManagerImpl::GetUniqueParents
    - GetResult
    - GetHash
    - std::move
    - HasWitness
    - HaveTx
    - ForgetTxHash
    - GetTime
    - RecentRejectsReconsiderableFilter
    - RecentRejectsFilter
    - node::TxDownloadManagerImpl::Find1P1CPackage
    - ToUint256
    - node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
    - m_mempool::exists
    - GetWitnessHash
    - std::optional::has_value
    - LogDebug
    - std::vector::clear
    - EraseTx
    - GetCandidatePeers
    - std::erase_if
    - AddTx
    - node::TxDownloadManagerImpl::AlreadyHaveTx
    linkageType: ''
    returnType: node::RejectedTxTodo
    signature: node::RejectedTxTodo TxDownloadManagerImpl::MempoolRejectedTx(const
      CTransactionRef& ptx, const TxValidationState& state, NodeId nodeid, bool first_time_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:502,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' package'
    argTypes:
    - Package
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: node::TxDownloadManagerImpl::MempoolRejectedPackage
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - GetPackageHash
    - RecentRejectsReconsiderableFilter
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::MempoolRejectedPackage(const Package& package)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:507,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:508,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:511,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:512,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:512,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:527,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:544,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:544,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:548,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:549,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:549,1
    - Dst: node::TxDownloadManagerImpl::Find1P1CPackage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - nodeid
    - ' ptx'
    argTypes:
    - NodeId
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 555
    functionName: node::TxDownloadManagerImpl::ReceivedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - RecentRejectsReconsiderableFilter
    - ToString
    - GetWitnessHash
    - LogDebug
    - GetHash
    - node::TxDownloadManagerImpl::Find1P1CPackage
    - HasWitness
    - ToUint256
    - node::TxDownloadManagerImpl::AlreadyHaveTx
    - ReceivedResponse
    linkageType: ''
    returnType: std::pair<bool, std::optional<PackageToValidate>>
    signature: std::pair<bool, std::optional<PackageToValidate>> TxDownloadManagerImpl::ReceivedTx(NodeId
      nodeid, const CTransactionRef& ptx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HaveTxToReconsider
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: node::TxDownloadManagerImpl::HaveMoreWork
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - HaveTxToReconsider
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManagerImpl::HaveMoreWork(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManagerImpl::GetTxToReconsider
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: node::TxDownloadManagerImpl::GetTxToReconsider
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManagerImpl::GetTxToReconsider
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef TxDownloadManagerImpl::GetTxToReconsider(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:569,1
    - Dst: Count
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:569,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:570,1
    - Dst: UsageByPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts:
    - condition: (m_txrequest.Count(nodeid) == 0)
      pos:
        line_end: 568
        line_start: 568
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    - condition: (m_orphanage->UsageByPeer(nodeid) == 0)
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: node::TxDownloadManagerImpl::CheckIsEmpty
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - UsageByPeer
    - Count
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::CheckIsEmpty(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:574,1
    - Dst: TotalOrphanUsage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:574,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:575,1
    - Dst: CountUniqueOrphans
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:575,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:576,1
    - Dst: Size
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:576,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_orphanage->TotalOrphanUsage() == 0)
      pos:
        line_end: 573
        line_start: 573
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    - condition: (m_orphanage->CountUniqueOrphans() == 0)
      pos:
        line_end: 574
        line_start: 574
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    - condition: (m_txrequest.Size() == 0)
      pos:
        line_end: 575
        line_start: 575
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    - condition: (m_num_wtxid_peers == 0)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: node::TxDownloadManagerImpl::CheckIsEmpty
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - Size
    - assert
    - TotalOrphanUsage
    - CountUniqueOrphans
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::CheckIsEmpty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManagerImpl::GetOrphanTransactions
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: node::TxDownloadManagerImpl::GetOrphanTransactions
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManagerImpl::GetOrphanTransactions
    linkageType: ''
    returnType: std::vector<TxOrphanage::OrphanInfo>
    signature: std::vector<TxOrphanage::OrphanInfo> TxDownloadManagerImpl::GetOrphanTransactions()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TxDownloadManagerImpl>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - TxDownloadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: node::TxDownloadManager::TxDownloadManager
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<TxDownloadManagerImpl>
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::TxDownloadManager(const TxDownloadOptions&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: TxDownloadManager::~TxDownloadManager()
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::~TxDownloadManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ActiveTipChange
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: node::TxDownloadManager::ActiveTipChange
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::ActiveTipChange
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::ActiveTipChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::BlockConnected
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pblock'
    argTypes:
    - std::shared_ptr<const CBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: node::TxDownloadManager::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::BlockConnected
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::BlockConnected(const std::shared_ptr<const
      CBlock>& pblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::BlockDisconnected
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: node::TxDownloadManager::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::BlockDisconnected
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::BlockDisconnected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ConnectedPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodeid
    - ' info'
    argTypes:
    - NodeId
    - TxDownloadConnectionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: node::TxDownloadManager::ConnectedPeer
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::ConnectedPeer
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::ConnectedPeer(NodeId nodeid, const TxDownloadConnectionInfo&
      info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::DisconnectedPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: node::TxDownloadManager::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::DisconnectedPeer
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::DisconnectedPeer(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::AddTxAnnouncement
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - peer
    - ' gtxid'
    - now
    argTypes:
    - NodeId
    - GenTxid
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: node::TxDownloadManager::AddTxAnnouncement
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::AddTxAnnouncement
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManager::AddTxAnnouncement(NodeId peer, const GenTxid&
      gtxid, std::chrono::microseconds now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::GetRequestsToSend
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodeid
    - current_time
    argTypes:
    - NodeId
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: node::TxDownloadManager::GetRequestsToSend
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::GetRequestsToSend
    linkageType: ''
    returnType: std::vector<GenTxid>
    signature: std::vector<GenTxid> TxDownloadManager::GetRequestsToSend(NodeId nodeid,
      std::chrono::microseconds current_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodeid
    - ' gtxids'
    argTypes:
    - NodeId
    - std::vector<GenTxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: node::TxDownloadManager::ReceivedNotFound
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::ReceivedNotFound(NodeId nodeid, const std::vector<GenTxid>&
      gtxids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::MempoolAcceptedTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: node::TxDownloadManager::MempoolAcceptedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::MempoolAcceptedTx
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::MempoolAcceptedTx(const CTransactionRef& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::MempoolRejectedTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ptx'
    - ' state'
    - nodeid
    - first_time_failure
    argTypes:
    - CTransactionRef
    - TxValidationState
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: node::TxDownloadManager::MempoolRejectedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::MempoolRejectedTx
    linkageType: ''
    returnType: RejectedTxTodo
    signature: RejectedTxTodo TxDownloadManager::MempoolRejectedTx(const CTransactionRef&
      ptx, const TxValidationState& state, NodeId nodeid, bool first_time_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::MempoolRejectedPackage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' package'
    argTypes:
    - Package
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: node::TxDownloadManager::MempoolRejectedPackage
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::MempoolRejectedPackage
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::MempoolRejectedPackage(const Package& package)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodeid
    - ' ptx'
    argTypes:
    - NodeId
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: node::TxDownloadManager::ReceivedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::ReceivedTx
    linkageType: ''
    returnType: std::pair<bool, std::optional<PackageToValidate>>
    signature: std::pair<bool, std::optional<PackageToValidate>> TxDownloadManager::ReceivedTx(NodeId
      nodeid, const CTransactionRef& ptx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::HaveMoreWork
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: node::TxDownloadManager::HaveMoreWork
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::HaveMoreWork
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManager::HaveMoreWork(NodeId nodeid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::GetTxToReconsider
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: node::TxDownloadManager::GetTxToReconsider
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::GetTxToReconsider
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef TxDownloadManager::GetTxToReconsider(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::CheckIsEmpty
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: node::TxDownloadManager::CheckIsEmpty
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 3
    functionsReached:
    - node::TxDownloadManager::CheckIsEmpty
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::CheckIsEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::CheckIsEmpty
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: node::TxDownloadManager::CheckIsEmpty
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 4
    functionsReached:
    - node::TxDownloadManager::CheckIsEmpty
    linkageType: ''
    returnType: void
    signature: void TxDownloadManager::CheckIsEmpty(NodeId nodeid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::GetOrphanTransactions
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: node::TxDownloadManager::GetOrphanTransactions
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManager::GetOrphanTransactions
    linkageType: ''
    returnType: std::vector<TxOrphanage::OrphanInfo>
    signature: std::vector<TxOrphanage::OrphanInfo> TxDownloadManager::GetOrphanTransactions()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:94,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: node::TxDownloadManagerImpl::ActiveTipChange
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - RecentRejectsFilter
    - RecentRejectsReconsiderableFilter
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::ActiveTipChange()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EraseForBlock
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:100,1
    - Dst: RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:103,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:103,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:104,1
    - Dst: RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:105,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:105,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:107,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:107,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:108,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' pblock'
    argTypes:
    - std::shared_ptr<const CBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: node::TxDownloadManagerImpl::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessHash
    - GetHash
    - HasWitness
    - EraseForBlock
    - RecentConfirmedTransactionsFilter
    - ForgetTxHash
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::BlockConnected(const std::shared_ptr<const
      CBlock>& pblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: node::TxDownloadManagerImpl::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - RecentConfirmedTransactionsFilter
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::BlockDisconnected()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:127,1
    - Dst: HaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:140,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:140,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:142,1
    - Dst: RecentConfirmedTransactionsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:144,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:146,1
    - Dst: std::visit
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:146,1
    - Dst: m_mempool::exists
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' gtxid'
    - include_reconsiderable
    argTypes:
    - GenTxid
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 147
    functionName: node::TxDownloadManagerImpl::AlreadyHaveTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 4
    functionsReached:
    - RecentRejectsReconsiderableFilter
    - RecentRejectsFilter
    - std::visit
    - ToUint256
    - transaction_identifier::FromUint256
    - RecentConfirmedTransactionsFilter
    - HaveTx
    - m_mempool::exists
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManagerImpl::AlreadyHaveTx(const GenTxid& gtxid, bool
      include_reconsiderable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:152,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - nodeid
    - ' info'
    argTypes:
    - NodeId
    - TxDownloadConnectionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: node::TxDownloadManagerImpl::ConnectedPeer
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - contains
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::ConnectedPeer(NodeId nodeid, const TxDownloadConnectionInfo&
      info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EraseForPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:160,1
    - Dst: node::TxDownloadManagerImpl::DisconnectedPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:161,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:163,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:163,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: node::TxDownloadManagerImpl::DisconnectedPeer
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - end
    - node::TxDownloadManagerImpl::DisconnectedPeer
    - erase
    - EraseForPeer
    - find
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::DisconnectedPeer(NodeId nodeid)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<Wtxid>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:176,1
    - Dst: GetTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:177,1
    - Dst: node::TxDownloadManagerImpl::GetUniqueParents
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:178,1
    - Dst: std::erase_if
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:179,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:180,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:185,1
    - Dst: node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:189,1
    - Dst: AddAnnouncer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:190,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:190,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:199,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:201,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:202,1
    - Dst: Count
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:204,1
    - Dst: IsWtxid
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:217,1
    - Dst: CountInFlight
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:218,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - peer
    - ' gtxid'
    - now
    argTypes:
    - NodeId
    - GenTxid
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 224
    functionName: node::TxDownloadManagerImpl::AddTxAnnouncement
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 1
    functionsReached:
    - node::TxDownloadManagerImpl::GetUniqueParents
    - end
    - std::get_if<Wtxid>
    - auto::GetWitnessHash
    - IsWtxid
    - CountInFlight
    - auto::empty
    - AddAnnouncer
    - GetTx
    - Count
    - ReceivedInv
    - node::TxDownloadManagerImpl::AlreadyHaveTx
    - node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
    - find
    - std::erase_if
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManagerImpl::AddTxAnnouncement(NodeId peer, const GenTxid&
      gtxid, std::chrono::microseconds now)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:228,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:229,1
    - Dst: HaveTxFromPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:230,1
    - Dst: at
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:232,1
    - Dst: Count
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:242,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:242,1
    - Dst: CountInFlight
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:252,1
    - Dst: ReceivedInv
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:258,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:260,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ' unique_parents'
    - ' wtxid'
    - nodeid
    - now
    argTypes:
    - std::vector<Txid>
    - Wtxid
    - NodeId
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 262
    functionName: node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 3
    functionsReached:
    - end
    - ToString
    - at
    - LogDebug
    - CountInFlight
    - size
    - ReceivedInv
    - Count
    - HaveTxFromPeer
    - find
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate(const
      std::vector<Txid>& unique_parents, const Wtxid& wtxid, NodeId nodeid, std::chrono::microseconds
      now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetRequestable
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:268,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:270,1
    - Dst: IsWtxid
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:270,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:271,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:274,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:275,1
    - Dst: IsWtxid
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:275,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:276,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:277,1
    - Dst: RequestedTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:278,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:278,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:282,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - nodeid
    - current_time
    argTypes:
    - NodeId
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: node::TxDownloadManagerImpl::GetRequestsToSend
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - IsWtxid
    - LogDebug
    - GetRequestable
    - ToUint256
    - node::TxDownloadManagerImpl::AlreadyHaveTx
    - RequestedTx
    - ForgetTxHash
    linkageType: ''
    returnType: std::vector<GenTxid>
    signature: std::vector<GenTxid> TxDownloadManagerImpl::GetRequestsToSend(NodeId
      nodeid, std::chrono::microseconds current_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:293,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - nodeid
    - ' gtxids'
    argTypes:
    - NodeId
    - std::vector<GenTxid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: node::TxDownloadManagerImpl::ReceivedNotFound
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - ToUint256
    - ReceivedResponse
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::ReceivedNotFound(NodeId nodeid, const std::vector<GenTxid>&
      gtxids)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:299,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:301,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:301,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:301,1
    - Dst: GetChildrenFromSamePeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:308,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:315,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:315,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:316,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' ptx'
    - nodeid
    argTypes:
    - CTransactionRef
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: node::TxDownloadManagerImpl::Find1P1CPackage
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - RecentRejectsReconsiderableFilter
    - Assume
    - GetWitnessHash
    - RecentRejectsFilter
    - GetPackageHash
    - GetHash
    - ToUint256
    - GetChildrenFromSamePeer
    linkageType: ''
    returnType: std::optional<PackageToValidate>
    signature: std::optional<PackageToValidate> TxDownloadManagerImpl::Find1P1CPackage(const
      CTransactionRef& ptx, NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:327,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:327,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:328,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:328,1
    - Dst: AddChildrenToWorkSet
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:330,1
    - Dst: EraseTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:332,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: node::TxDownloadManagerImpl::MempoolAcceptedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessHash
    - GetHash
    - AddChildrenToWorkSet
    - EraseTx
    - ForgetTxHash
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::MempoolAcceptedTx(const CTransactionRef&
      tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:338,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:338,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:341,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:344,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:344,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:344,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    - Dst: std::unique
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 348
    functionName: node::TxDownloadManagerImpl::GetUniqueParents
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 3
    functionsReached:
    - std::vector::end
    - std::vector::erase
    - std::vector::begin
    - std::vector::reserve
    - std::vector::push_back
    - std::unique
    - std::sort
    - vin::size
    linkageType: ''
    returnType: std::vector<Txid>
    signature: std::vector<Txid> TxDownloadManagerImpl::GetUniqueParents(const CTransaction&
      tx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:361,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:364,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:364,1
    - Dst: node::TxDownloadManagerImpl::GetUniqueParents
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:369,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:376,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:376,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:379,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:379,1
    - Dst: m_mempool::exists
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:380,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:383,1
    - Dst: std::erase_if
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:394,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:395,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:397,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:398,1
    - Dst: HaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:401,1
    - Dst: GetCandidatePeers
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:409,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:409,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:410,1
    - Dst: GetCandidatePeers
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:410,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:410,1
    - Dst: node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:413,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:413,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:414,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:419,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:419,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:420,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:420,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:422,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:423,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:424,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:425,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:432,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:432,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:433,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:433,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:434,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:434,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:435,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:435,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:438,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:454,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:458,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:458,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:463,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:464,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:464,1
    - Dst: node::TxDownloadManagerImpl::Find1P1CPackage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:465,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:468,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:468,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:470,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:470,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:481,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:481,1
    - Dst: RecentRejectsFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:482,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:482,1
    - Dst: ForgetTxHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:483,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:483,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:489,1
    - Dst: EraseTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:489,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:489,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:490,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:490,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:490,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:495,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:496,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 4
    argNames:
    - ' ptx'
    - ' state'
    - nodeid
    - first_time_failure
    argTypes:
    - CTransactionRef
    - TxValidationState
    - NodeId
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 498
    functionName: node::TxDownloadManagerImpl::MempoolRejectedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManagerImpl::GetUniqueParents
    - GetResult
    - GetHash
    - std::move
    - HasWitness
    - HaveTx
    - ForgetTxHash
    - GetTime
    - RecentRejectsReconsiderableFilter
    - RecentRejectsFilter
    - node::TxDownloadManagerImpl::Find1P1CPackage
    - ToUint256
    - node::TxDownloadManagerImpl::MaybeAddOrphanResolutionCandidate
    - m_mempool::exists
    - GetWitnessHash
    - std::optional::has_value
    - LogDebug
    - std::vector::clear
    - EraseTx
    - GetCandidatePeers
    - std::erase_if
    - AddTx
    - node::TxDownloadManagerImpl::AlreadyHaveTx
    linkageType: ''
    returnType: node::RejectedTxTodo
    signature: node::RejectedTxTodo TxDownloadManagerImpl::MempoolRejectedTx(const
      CTransactionRef& ptx, const TxValidationState& state, NodeId nodeid, bool first_time_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:502,1
    - Dst: GetPackageHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' package'
    argTypes:
    - Package
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: node::TxDownloadManagerImpl::MempoolRejectedPackage
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - GetPackageHash
    - RecentRejectsReconsiderableFilter
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::MempoolRejectedPackage(const Package& package)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:507,1
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:508,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:511,1
    - Dst: HasWitness
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:512,1
    - Dst: ReceivedResponse
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:512,1
    - Dst: node::TxDownloadManagerImpl::AlreadyHaveTx
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:527,1
    - Dst: RecentRejectsReconsiderableFilter
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:544,1
    - Dst: ToUint256
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:544,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:548,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:549,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:549,1
    - Dst: node::TxDownloadManagerImpl::Find1P1CPackage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - nodeid
    - ' ptx'
    argTypes:
    - NodeId
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 555
    functionName: node::TxDownloadManagerImpl::ReceivedTx
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - RecentRejectsReconsiderableFilter
    - ToString
    - GetWitnessHash
    - LogDebug
    - GetHash
    - node::TxDownloadManagerImpl::Find1P1CPackage
    - HasWitness
    - ToUint256
    - node::TxDownloadManagerImpl::AlreadyHaveTx
    - ReceivedResponse
    linkageType: ''
    returnType: std::pair<bool, std::optional<PackageToValidate>>
    signature: std::pair<bool, std::optional<PackageToValidate>> TxDownloadManagerImpl::ReceivedTx(NodeId
      nodeid, const CTransactionRef& ptx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HaveTxToReconsider
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: node::TxDownloadManagerImpl::HaveMoreWork
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - HaveTxToReconsider
    linkageType: ''
    returnType: bool
    signature: bool TxDownloadManagerImpl::HaveMoreWork(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManagerImpl::GetTxToReconsider
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: node::TxDownloadManagerImpl::GetTxToReconsider
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManagerImpl::GetTxToReconsider
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef TxDownloadManagerImpl::GetTxToReconsider(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:569,1
    - Dst: Count
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:569,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:570,1
    - Dst: UsageByPeer
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nodeid
    argTypes:
    - NodeId
    assertStmts:
    - condition: (m_txrequest.Count(nodeid) == 0)
      pos:
        line_end: 568
        line_start: 568
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    - condition: (m_orphanage->UsageByPeer(nodeid) == 0)
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: node::TxDownloadManagerImpl::CheckIsEmpty
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - UsageByPeer
    - Count
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::CheckIsEmpty(NodeId nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:574,1
    - Dst: TotalOrphanUsage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:574,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:575,1
    - Dst: CountUniqueOrphans
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:575,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:576,1
    - Dst: Size
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:576,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_orphanage->TotalOrphanUsage() == 0)
      pos:
        line_end: 573
        line_start: 573
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    - condition: (m_orphanage->CountUniqueOrphans() == 0)
      pos:
        line_end: 574
        line_start: 574
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    - condition: (m_txrequest.Size() == 0)
      pos:
        line_end: 575
        line_start: 575
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    - condition: (m_num_wtxid_peers == 0)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: node::TxDownloadManagerImpl::CheckIsEmpty
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 0
    functionsReached:
    - Size
    - assert
    - TotalOrphanUsage
    - CountUniqueOrphans
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl::CheckIsEmpty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManagerImpl::GetOrphanTransactions
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: node::TxDownloadManagerImpl::GetOrphanTransactions
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.cpp
    functionUses: 2
    functionsReached:
    - node::TxDownloadManagerImpl::GetOrphanTransactions
    linkageType: ''
    returnType: std::vector<TxOrphanage::OrphanInfo>
    signature: std::vector<TxOrphanage::OrphanInfo> TxDownloadManagerImpl::GetOrphanTransactions()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - signal_name
    - ','
    - rtype
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ADD_SIGNALS_DECL_WRAPPER
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_SIGNALS_DECL_WRAPPER(signal_name, rtype, ...)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LoadBlockIndex
      Src: /src/bitcoin-core/src/node/chainstate.cpp:43,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:45,1
    - Dst: BlockIndex
      Src: /src/bitcoin-core/src/node/chainstate.cpp:48,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/node/chainstate.cpp:49,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:49,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:52,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:58,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:65,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:66,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/chainstate.cpp:69,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:73,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:74,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:81,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:86,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:87,1
    - Dst: node::ToString
      Src: /src/bitcoin-core/src/node/chainstate.cpp:87,1
    - Dst: InitCoinsDB
      Src: /src/bitcoin-core/src/node/chainstate.cpp:90,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/chainstate.cpp:95,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/chainstate.cpp:95,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:96,1
    - Dst: CoinsErrorCatcher
      Src: /src/bitcoin-core/src/node/chainstate.cpp:100,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/node/chainstate.cpp:105,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:106,1
    - Dst: ReplayBlocks
      Src: /src/bitcoin-core/src/node/chainstate.cpp:112,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:113,1
    - Dst: InitCoinsCache
      Src: /src/bitcoin-core/src/node/chainstate.cpp:117,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:118,1
    - Dst: CanFlushToDisk
      Src: /src/bitcoin-core/src/node/chainstate.cpp:118,1
    - Dst: is_coinsview_empty
      Src: /src/bitcoin-core/src/node/chainstate.cpp:120,1
    - Dst: LoadChainTip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:122,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:123,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:125,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:125,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:129,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/node/chainstate.cpp:130,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/node/chainstate.cpp:130,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/node/chainstate.cpp:130,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/chainstate.cpp:131,1
    - Dst: NeedsRedownload
      Src: /src/bitcoin-core/src/node/chainstate.cpp:131,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/chainstate.cpp:132,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:132,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:133,1
    - Dst: MaybeRebalanceCaches
      Src: /src/bitcoin-core/src/node/chainstate.cpp:139,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (chainman.m_total_coinsdb_cache > 0)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (chainstate->CanFlushToDisk())
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (chainstate->m_chain.Tip() != nullptr)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (chainman.m_total_coinstip_cache > 0)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    constantsTouched: []
    func_position:
      end: 142
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 142
    functionName: node::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/node/chainstate.cpp
    functionUses: 5
    functionsReached:
    - CoinsTip
    - node::EXCLUSIVE_LOCKS_REQUIRED
    - BlockIndex
    - LogInfo
    - InitCoinsDB
    - what
    - CoinsDB
    - LoadBlockIndex
    - auto::begin
    - MaybeRebalanceCaches
    - m_chain::Tip
    - LoadChainTip
    - LogError
    - is_coinsview_empty
    - CoinsErrorCatcher
    - m_blockman::LookupBlockIndex
    - NeedsRedownload
    - node::ToString
    - strprintf
    - assert
    - _
    - CanFlushToDisk
    - GetAll
    - std::any_of
    - ReplayBlocks
    - ActiveChainstate
    - InitCoinsCache
    - auto::end
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AssumedValidBlock
      Src: /src/bitcoin-core/src/node/chainstate.cpp:147,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:148,1
    - Dst: AssumedValidBlock
      Src: /src/bitcoin-core/src/node/chainstate.cpp:148,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:150,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:152,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/node/chainstate.cpp:152,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/node/chainstate.cpp:153,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/node/chainstate.cpp:153,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:153,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/chainstate.cpp:154,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:154,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/node/chainstate.cpp:154,1
    - Dst: m_blockman::GetPruneTarget
      Src: /src/bitcoin-core/src/node/chainstate.cpp:156,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:157,1
    - Dst: m_blockman::GetPruneTarget
      Src: /src/bitcoin-core/src/node/chainstate.cpp:158,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:159,1
    - Dst: m_blockman::GetPruneTarget
      Src: /src/bitcoin-core/src/node/chainstate.cpp:160,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/chainstate.cpp:163,1
    - Dst: InitializeChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:169,1
    - Dst: DetectSnapshotChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:172,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:175,1
    - Dst: DeleteSnapshotChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:176,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/chainstate.cpp:177,1
    - Dst: CompleteChainstateInitialization
      Src: /src/bitcoin-core/src/node/chainstate.cpp:181,1
    - Dst: MaybeCompleteSnapshotValidation
      Src: /src/bitcoin-core/src/node/chainstate.cpp:194,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:199,1
    - Dst: ValidatedSnapshotCleanup
      Src: /src/bitcoin-core/src/node/chainstate.cpp:200,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/chainstate.cpp:201,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:207,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:207,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:208,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/node/chainstate.cpp:208,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:209,1
    - Dst: IsSnapshotValidated
      Src: /src/bitcoin-core/src/node/chainstate.cpp:209,1
    - Dst: InitializeChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:211,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:215,1
    - Dst: CompleteChainstateInitialization
      Src: /src/bitcoin-core/src/node/chainstate.cpp:217,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - ' chainman'
    - ' cache_sizes'
    - ' options'
    argTypes:
    - ChainstateManager
    - CacheSizes
    - ChainstateLoadOptions
    assertStmts:
    - condition: (chainman.GetAll().empty())
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (!chainman.IsSnapshotActive())
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (!chainman.IsSnapshotValidated())
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    constantsTouched: []
    func_position:
      end: 228
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 228
    functionName: node::LoadChainstate
    functionSourceFile: /src/bitcoin-core/src/node/chainstate.cpp
    functionUses: 1
    functionsReached:
    - LogInfo
    - IsSnapshotValidated
    - MaybeCompleteSnapshotValidation
    - CompleteChainstateInitialization
    - ValidatedSnapshotCleanup
    - AssumedValidBlock
    - IsSnapshotActive
    - GetHex
    - Untranslated
    - MinimumChainWork
    - m_blockman::GetPruneTarget
    - GetConsensus
    - DeleteSnapshotChainstate
    - assert
    - _
    - InitializeChainstate
    - GetAll
    - LogPrintf
    - LOCK
    - UintToArith256
    - ActiveChainstate
    - DetectSnapshotChainstate
    linkageType: ''
    returnType: ChainstateLoadResult
    signature: "ChainstateLoadResult LoadChainstate(ChainstateManager& chainman, const
      CacheSizes& cache_sizes,\n                                    const ChainstateLoadOptions&
      options)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/chainstate.cpp:232,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:233,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/chainstate.cpp:236,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:238,1
    - Dst: is_coinsview_empty
      Src: /src/bitcoin-core/src/node/chainstate.cpp:239,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:240,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/node/chainstate.cpp:241,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:242,1
    - Dst: CVerifyDB
      Src: /src/bitcoin-core/src/node/chainstate.cpp:247,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/node/chainstate.cpp:247,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:248,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/node/chainstate.cpp:248,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:256,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:258,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ' chainman'
    - ' options'
    argTypes:
    - ChainstateManager
    - ChainstateLoadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 269
    functionName: node::VerifyLoadedChainstate
    functionSourceFile: /src/bitcoin-core/src/node/chainstate.cpp
    functionUses: 1
    functionsReached:
    - GetTime
    - CoinsTip
    - _
    - node::EXCLUSIVE_LOCKS_REQUIRED
    - is_coinsview_empty
    - GetNotifications
    - GetAll
    - LOCK
    - CVerifyDB
    - CoinsDB
    - m_chain::Tip
    - GetConsensus
    linkageType: ''
    returnType: ChainstateLoadResult
    signature: ChainstateLoadResult VerifyLoadedChainstate(ChainstateManager& chainman,
      const ChainstateLoadOptions& options)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LoadBlockIndex
      Src: /src/bitcoin-core/src/node/chainstate.cpp:43,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:45,1
    - Dst: BlockIndex
      Src: /src/bitcoin-core/src/node/chainstate.cpp:48,1
    - Dst: m_blockman::LookupBlockIndex
      Src: /src/bitcoin-core/src/node/chainstate.cpp:49,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:49,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:52,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:58,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:65,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:66,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/chainstate.cpp:69,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:73,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:74,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:81,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:86,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:87,1
    - Dst: node::ToString
      Src: /src/bitcoin-core/src/node/chainstate.cpp:87,1
    - Dst: InitCoinsDB
      Src: /src/bitcoin-core/src/node/chainstate.cpp:90,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/chainstate.cpp:95,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/chainstate.cpp:95,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:96,1
    - Dst: CoinsErrorCatcher
      Src: /src/bitcoin-core/src/node/chainstate.cpp:100,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/node/chainstate.cpp:105,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:106,1
    - Dst: ReplayBlocks
      Src: /src/bitcoin-core/src/node/chainstate.cpp:112,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:113,1
    - Dst: InitCoinsCache
      Src: /src/bitcoin-core/src/node/chainstate.cpp:117,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:118,1
    - Dst: CanFlushToDisk
      Src: /src/bitcoin-core/src/node/chainstate.cpp:118,1
    - Dst: is_coinsview_empty
      Src: /src/bitcoin-core/src/node/chainstate.cpp:120,1
    - Dst: LoadChainTip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:122,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:123,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:125,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:125,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:129,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/node/chainstate.cpp:130,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/node/chainstate.cpp:130,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/node/chainstate.cpp:130,1
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/chainstate.cpp:131,1
    - Dst: NeedsRedownload
      Src: /src/bitcoin-core/src/node/chainstate.cpp:131,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/chainstate.cpp:132,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:132,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:133,1
    - Dst: MaybeRebalanceCaches
      Src: /src/bitcoin-core/src/node/chainstate.cpp:139,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (chainman.m_total_coinsdb_cache > 0)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (chainstate->CanFlushToDisk())
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (chainstate->m_chain.Tip() != nullptr)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (chainman.m_total_coinstip_cache > 0)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    constantsTouched: []
    func_position:
      end: 142
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 142
    functionName: node::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/node/chainstate.cpp
    functionUses: 7
    functionsReached:
    - CoinsTip
    - node::EXCLUSIVE_LOCKS_REQUIRED
    - BlockIndex
    - LogInfo
    - InitCoinsDB
    - what
    - CoinsDB
    - LoadBlockIndex
    - auto::begin
    - MaybeRebalanceCaches
    - m_chain::Tip
    - LoadChainTip
    - LogError
    - is_coinsview_empty
    - CoinsErrorCatcher
    - m_blockman::LookupBlockIndex
    - NeedsRedownload
    - node::ToString
    - strprintf
    - assert
    - _
    - CanFlushToDisk
    - GetAll
    - std::any_of
    - ReplayBlocks
    - ActiveChainstate
    - InitCoinsCache
    - auto::end
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AssumedValidBlock
      Src: /src/bitcoin-core/src/node/chainstate.cpp:147,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:148,1
    - Dst: AssumedValidBlock
      Src: /src/bitcoin-core/src/node/chainstate.cpp:148,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:150,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:152,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/node/chainstate.cpp:152,1
    - Dst: MinimumChainWork
      Src: /src/bitcoin-core/src/node/chainstate.cpp:153,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/node/chainstate.cpp:153,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:153,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/chainstate.cpp:154,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:154,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/node/chainstate.cpp:154,1
    - Dst: m_blockman::GetPruneTarget
      Src: /src/bitcoin-core/src/node/chainstate.cpp:156,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:157,1
    - Dst: m_blockman::GetPruneTarget
      Src: /src/bitcoin-core/src/node/chainstate.cpp:158,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:159,1
    - Dst: m_blockman::GetPruneTarget
      Src: /src/bitcoin-core/src/node/chainstate.cpp:160,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/chainstate.cpp:163,1
    - Dst: InitializeChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:169,1
    - Dst: DetectSnapshotChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:172,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:175,1
    - Dst: DeleteSnapshotChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:176,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/chainstate.cpp:177,1
    - Dst: CompleteChainstateInitialization
      Src: /src/bitcoin-core/src/node/chainstate.cpp:181,1
    - Dst: MaybeCompleteSnapshotValidation
      Src: /src/bitcoin-core/src/node/chainstate.cpp:194,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/chainstate.cpp:199,1
    - Dst: ValidatedSnapshotCleanup
      Src: /src/bitcoin-core/src/node/chainstate.cpp:200,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/chainstate.cpp:201,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:207,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:207,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:208,1
    - Dst: IsSnapshotActive
      Src: /src/bitcoin-core/src/node/chainstate.cpp:208,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/chainstate.cpp:209,1
    - Dst: IsSnapshotValidated
      Src: /src/bitcoin-core/src/node/chainstate.cpp:209,1
    - Dst: InitializeChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:211,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/node/chainstate.cpp:215,1
    - Dst: CompleteChainstateInitialization
      Src: /src/bitcoin-core/src/node/chainstate.cpp:217,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - ' chainman'
    - ' cache_sizes'
    - ' options'
    argTypes:
    - ChainstateManager
    - CacheSizes
    - ChainstateLoadOptions
    assertStmts:
    - condition: (chainman.GetAll().empty())
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (!chainman.IsSnapshotActive())
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    - condition: (!chainman.IsSnapshotValidated())
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/node/chainstate.cpp
    constantsTouched: []
    func_position:
      end: 228
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 228
    functionName: node::LoadChainstate
    functionSourceFile: /src/bitcoin-core/src/node/chainstate.cpp
    functionUses: 1
    functionsReached:
    - LogInfo
    - IsSnapshotValidated
    - MaybeCompleteSnapshotValidation
    - CompleteChainstateInitialization
    - ValidatedSnapshotCleanup
    - AssumedValidBlock
    - IsSnapshotActive
    - GetHex
    - Untranslated
    - MinimumChainWork
    - m_blockman::GetPruneTarget
    - GetConsensus
    - DeleteSnapshotChainstate
    - assert
    - _
    - InitializeChainstate
    - GetAll
    - LogPrintf
    - LOCK
    - UintToArith256
    - ActiveChainstate
    - DetectSnapshotChainstate
    linkageType: ''
    returnType: ChainstateLoadResult
    signature: "ChainstateLoadResult LoadChainstate(ChainstateManager& chainman, const
      CacheSizes& cache_sizes,\n                                    const ChainstateLoadOptions&
      options)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: node::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/chainstate.cpp:232,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:233,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/chainstate.cpp:236,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/chainstate.cpp:238,1
    - Dst: is_coinsview_empty
      Src: /src/bitcoin-core/src/node/chainstate.cpp:239,1
    - Dst: m_chain::Tip
      Src: /src/bitcoin-core/src/node/chainstate.cpp:240,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/node/chainstate.cpp:241,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:242,1
    - Dst: CVerifyDB
      Src: /src/bitcoin-core/src/node/chainstate.cpp:247,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/node/chainstate.cpp:247,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/chainstate.cpp:248,1
    - Dst: CoinsDB
      Src: /src/bitcoin-core/src/node/chainstate.cpp:248,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:256,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:258,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/chainstate.cpp:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ' chainman'
    - ' options'
    argTypes:
    - ChainstateManager
    - ChainstateLoadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 269
    functionName: node::VerifyLoadedChainstate
    functionSourceFile: /src/bitcoin-core/src/node/chainstate.cpp
    functionUses: 1
    functionsReached:
    - GetTime
    - CoinsTip
    - _
    - node::EXCLUSIVE_LOCKS_REQUIRED
    - is_coinsview_empty
    - GetNotifications
    - GetAll
    - LOCK
    - CVerifyDB
    - CoinsDB
    - m_chain::Tip
    - GetConsensus
    linkageType: ''
    returnType: ChainstateLoadResult
    signature: ChainstateLoadResult VerifyLoadedChainstate(ChainstateManager& chainman,
      const ChainstateLoadOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node::ToString
      Src: /src/bitcoin-core/src/node/transaction.cpp:23,1
    - Dst: IsInvalid
      Src: /src/bitcoin-core/src/node/transaction.cpp:24,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/transaction.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' state'
    - ' err_string_out'
    argTypes:
    - TxValidationState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: node::HandleATMPError
    functionSourceFile: /src/bitcoin-core/src/node/transaction.cpp
    functionUses: 0
    functionsReached:
    - IsInvalid
    - GetResult
    - node::ToString
    linkageType: ''
    returnType: TransactionError
    signature: TransactionError HandleATMPError(const TxValidationState& state, std::string&
      err_string_out)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/transaction.cpp:39,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/transaction.cpp:40,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/transaction.cpp:41,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:44,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:45,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/transaction.cpp:49,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/node/transaction.cpp:53,1
    - Dst: CTransactionRef::vout::size
      Src: /src/bitcoin-core/src/node/transaction.cpp:54,1
    - Dst: CCoinsViewCache::AccessCoin
      Src: /src/bitcoin-core/src/node/transaction.cpp:55,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/node/transaction.cpp:55,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/node/transaction.cpp:58,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/node/transaction.cpp:61,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:69,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/node/transaction.cpp:75,1
    - Dst: node::HandleATMPError
      Src: /src/bitcoin-core/src/node/transaction.cpp:77,1
    - Dst: MempoolAcceptResult::m_base_fees::value
      Src: /src/bitcoin-core/src/node/transaction.cpp:78,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/node/transaction.cpp:83,1
    - Dst: node::HandleATMPError
      Src: /src/bitcoin-core/src/node/transaction.cpp:85,1
    - Dst: mempool::AddUnbroadcastTx
      Src: /src/bitcoin-core/src/node/transaction.cpp:93,1
    - Dst: validation_signals::CallFunctionInValidationInterfaceQueue
      Src: /src/bitcoin-core/src/node/transaction.cpp:105,1
    - Dst: std::promise::set_value
      Src: /src/bitcoin-core/src/node/transaction.cpp:106,1
    - Dst: std::promise::get_future
      Src: /src/bitcoin-core/src/node/transaction.cpp:116,1
    - Dst: peerman::RelayTransaction
      Src: /src/bitcoin-core/src/node/transaction.cpp:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 6
    argNames:
    - ' node'
    - tx
    - ' err_string'
    - ' max_tx_fee'
    - relay
    - wait_callback
    argTypes:
    - NodeContext
    - CTransactionRef
    - std::string
    - CAmount
    - bool
    - bool
    assertStmts:
    - condition: (node.chainman)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/node/transaction.cpp
    - condition: (node.peerman)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/node/transaction.cpp
    - condition: (node.mempool)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bitcoin-core/src/node/transaction.cpp
    constantsTouched: []
    func_position:
      end: 124
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 124
    functionName: node::BroadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/transaction.cpp
    functionUses: 0
    functionsReached:
    - CTransactionRef::vout::size
    - mempool::AddUnbroadcastTx
    - peerman::RelayTransaction
    - validation_signals::CallFunctionInValidationInterfaceQueue
    - std::promise::set_value
    - mempool::get
    - node::HandleATMPError
    - COutPoint
    - std::promise::get_future
    - chainman::ProcessTransaction
    - CTransactionRef::GetWitnessHash
    - assert
    - auto::GetWitnessHash
    - MempoolAcceptResult::m_base_fees::value
    - IsSpent
    - CCoinsViewCache::AccessCoin
    - chainman::ActiveChainstate
    - CTransactionRef::GetHash
    - LOCK
    linkageType: ''
    returnType: TransactionError
    signature: TransactionError BroadcastTransaction(NodeContext& node, const CTransactionRef
      tx, std::string& err_string, const CAmount& max_tx_fee, bool relay, bool wait_callback)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool*::get
      Src: /src/bitcoin-core/src/node/transaction.cpp:129,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/node/transaction.cpp:134,1
    - Dst: FindTx
      Src: /src/bitcoin-core/src/node/transaction.cpp:135,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:136,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/node/transaction.cpp:146,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/node/transaction.cpp:147,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:149,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - block_index
    - mempool
    - ' hash'
    - ' hashBlock'
    - ' blockman'
    argTypes:
    - CBlockIndex*
    - CTxMemPool*
    - uint256
    - uint256
    - BlockManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 157
    functionName: node::GetTransaction
    functionSourceFile: /src/bitcoin-core/src/node/transaction.cpp
    functionUses: 0
    functionsReached:
    - ReadBlock
    - FindTx
    - CTxMemPool*::get
    - CTransactionRef::GetHash
    - CBlock::CBlock
    - CBlockIndex*::GetBlockHash
    - uint256::uint256
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef GetTransaction(const CBlockIndex* const block_index,
      const CTxMemPool* const mempool, const uint256& hash, uint256& hashBlock, const
      BlockManager& blockman)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node::ToString
      Src: /src/bitcoin-core/src/node/transaction.cpp:23,1
    - Dst: IsInvalid
      Src: /src/bitcoin-core/src/node/transaction.cpp:24,1
    - Dst: GetResult
      Src: /src/bitcoin-core/src/node/transaction.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' state'
    - ' err_string_out'
    argTypes:
    - TxValidationState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: node::HandleATMPError
    functionSourceFile: /src/bitcoin-core/src/node/transaction.cpp
    functionUses: 1
    functionsReached:
    - IsInvalid
    - GetResult
    - node::ToString
    linkageType: ''
    returnType: TransactionError
    signature: TransactionError HandleATMPError(const TxValidationState& state, std::string&
      err_string_out)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/transaction.cpp:39,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/transaction.cpp:40,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/transaction.cpp:41,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:44,1
    - Dst: CTransactionRef::GetWitnessHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:45,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/transaction.cpp:49,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/node/transaction.cpp:53,1
    - Dst: CTransactionRef::vout::size
      Src: /src/bitcoin-core/src/node/transaction.cpp:54,1
    - Dst: CCoinsViewCache::AccessCoin
      Src: /src/bitcoin-core/src/node/transaction.cpp:55,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/node/transaction.cpp:55,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/node/transaction.cpp:58,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/node/transaction.cpp:61,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:69,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/node/transaction.cpp:75,1
    - Dst: node::HandleATMPError
      Src: /src/bitcoin-core/src/node/transaction.cpp:77,1
    - Dst: MempoolAcceptResult::m_base_fees::value
      Src: /src/bitcoin-core/src/node/transaction.cpp:78,1
    - Dst: chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/node/transaction.cpp:83,1
    - Dst: node::HandleATMPError
      Src: /src/bitcoin-core/src/node/transaction.cpp:85,1
    - Dst: mempool::AddUnbroadcastTx
      Src: /src/bitcoin-core/src/node/transaction.cpp:93,1
    - Dst: validation_signals::CallFunctionInValidationInterfaceQueue
      Src: /src/bitcoin-core/src/node/transaction.cpp:105,1
    - Dst: std::promise::set_value
      Src: /src/bitcoin-core/src/node/transaction.cpp:106,1
    - Dst: std::promise::get_future
      Src: /src/bitcoin-core/src/node/transaction.cpp:116,1
    - Dst: peerman::RelayTransaction
      Src: /src/bitcoin-core/src/node/transaction.cpp:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 6
    argNames:
    - ' node'
    - tx
    - ' err_string'
    - ' max_tx_fee'
    - relay
    - wait_callback
    argTypes:
    - NodeContext
    - CTransactionRef
    - std::string
    - CAmount
    - bool
    - bool
    assertStmts:
    - condition: (node.chainman)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/node/transaction.cpp
    - condition: (node.peerman)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bitcoin-core/src/node/transaction.cpp
    - condition: (node.mempool)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bitcoin-core/src/node/transaction.cpp
    constantsTouched: []
    func_position:
      end: 124
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 124
    functionName: node::BroadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/transaction.cpp
    functionUses: 0
    functionsReached:
    - CTransactionRef::vout::size
    - mempool::AddUnbroadcastTx
    - peerman::RelayTransaction
    - validation_signals::CallFunctionInValidationInterfaceQueue
    - std::promise::set_value
    - mempool::get
    - node::HandleATMPError
    - COutPoint
    - std::promise::get_future
    - chainman::ProcessTransaction
    - CTransactionRef::GetWitnessHash
    - assert
    - auto::GetWitnessHash
    - MempoolAcceptResult::m_base_fees::value
    - IsSpent
    - CCoinsViewCache::AccessCoin
    - chainman::ActiveChainstate
    - CTransactionRef::GetHash
    - LOCK
    linkageType: ''
    returnType: TransactionError
    signature: TransactionError BroadcastTransaction(NodeContext& node, const CTransactionRef
      tx, std::string& err_string, const CAmount& max_tx_fee, bool relay, bool wait_callback)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTxMemPool*::get
      Src: /src/bitcoin-core/src/node/transaction.cpp:129,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/node/transaction.cpp:134,1
    - Dst: FindTx
      Src: /src/bitcoin-core/src/node/transaction.cpp:135,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:136,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/node/transaction.cpp:146,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/node/transaction.cpp:147,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:149,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/transaction.cpp:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - block_index
    - mempool
    - ' hash'
    - ' hashBlock'
    - ' blockman'
    argTypes:
    - CBlockIndex*
    - CTxMemPool*
    - uint256
    - uint256
    - BlockManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 157
    functionName: node::GetTransaction
    functionSourceFile: /src/bitcoin-core/src/node/transaction.cpp
    functionUses: 0
    functionsReached:
    - ReadBlock
    - FindTx
    - CTxMemPool*::get
    - CTransactionRef::GetHash
    - CBlock::CBlock
    - CBlockIndex*::GetBlockHash
    - uint256::uint256
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef GetTransaction(const CBlockIndex* const block_index,
      const CTxMemPool* const mempool, const uint256& hash, uint256& hashBlock, const
      BlockManager& blockman)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' tx_in'
    - vsize_self
    - vsize_ancestor
    - fee_self
    - fee_ancestor
    argTypes:
    - CTransactionRef
    - int64_t
    - int64_t
    - CAmount
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: node::MiniMinerMempoolEntry::MiniMinerMempoolEntry
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MiniMinerMempoolEntry(const CTransactionRef& tx_in,\n                                   int64_t
      vsize_self,\n                                   int64_t vsize_ancestor,\n                                   CAmount
      fee_self,\n                                   CAmount fee_ancestor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: node::MiniMinerMempoolEntry::GetModifiedFee
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModifiedFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: node::MiniMinerMempoolEntry::GetModFeesWithAncestors
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModFeesWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: node::MiniMinerMempoolEntry::GetTxSize
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetTxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: node::MiniMinerMempoolEntry::GetSizeWithAncestors
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetSizeWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& GetTx() const'
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransaction
    signature: CTransaction & GetTx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vsize_change
    - fee_change
    argTypes:
    - int64_t
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: node::MiniMinerMempoolEntry::UpdateAncestorState
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateAncestorState(int64_t vsize_change, CAmount fee_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: operator()(const I& a, const I& b) const
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const I& a, const I& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: node::MiniMiner::IsReadyToCalculate
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReadyToCalculate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: node::MiniMiner::GetMockTemplateTxids
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::set<uint256>
    signature: std::set<uint256> GetMockTemplateTxids() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' tx_in'
    - vsize_self
    - vsize_ancestor
    - fee_self
    - fee_ancestor
    argTypes:
    - CTransactionRef
    - int64_t
    - int64_t
    - CAmount
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: node::MiniMinerMempoolEntry::MiniMinerMempoolEntry
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MiniMinerMempoolEntry(const CTransactionRef& tx_in,\n                                   int64_t
      vsize_self,\n                                   int64_t vsize_ancestor,\n                                   CAmount
      fee_self,\n                                   CAmount fee_ancestor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: node::MiniMinerMempoolEntry::GetModifiedFee
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModifiedFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: node::MiniMinerMempoolEntry::GetModFeesWithAncestors
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetModFeesWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: node::MiniMinerMempoolEntry::GetTxSize
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetTxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: node::MiniMinerMempoolEntry::GetSizeWithAncestors
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetSizeWithAncestors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& GetTx() const'
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransaction
    signature: CTransaction & GetTx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vsize_change
    - fee_change
    argTypes:
    - int64_t
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: node::MiniMinerMempoolEntry::UpdateAncestorState
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateAncestorState(int64_t vsize_change, CAmount fee_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: operator()(const I& a, const I& b) const
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const I& a, const I& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: node::MiniMiner::IsReadyToCalculate
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReadyToCalculate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: node::MiniMiner::GetMockTemplateTxids
    functionSourceFile: /src/bitcoin-core/src/node/mini_miner.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::set<uint256>
    signature: std::set<uint256> GetMockTemplateTxids() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/connection_types.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - conn_type
    argTypes:
    - ConnectionType
    assertStmts:
    - condition: (false)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bitcoin-core/src/node/connection_types.cpp
    constantsTouched: []
    func_position:
      end: 26
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 26
    functionName: ConnectionTypeAsString
    functionSourceFile: /src/bitcoin-core/src/node/connection_types.cpp
    functionUses: 10
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string ConnectionTypeAsString(ConnectionType conn_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/connection_types.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - transport_type
    argTypes:
    - TransportProtocolType
    assertStmts:
    - condition: (false)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/node/connection_types.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: TransportTypeAsString
    functionSourceFile: /src/bitcoin-core/src/node/connection_types.cpp
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string TransportTypeAsString(TransportProtocolType transport_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node::Warnings*::Set
      Src: /src/bitcoin-core/src/node/abort.cpp:20,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/node/abort.cpp:21,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/abort.cpp:21,1
    - Dst: store
      Src: /src/bitcoin-core/src/node/abort.cpp:22,1
    - Dst: shutdown_request
      Src: /src/bitcoin-core/src/node/abort.cpp:23,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/abort.cpp:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ' shutdown_request'
    - ' exit_status'
    - ' message'
    - warnings
    argTypes:
    - std::function<bool()>
    - std::atomic<int>
    - bilingual_str
    - node::Warnings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: node::AbortNode
    functionSourceFile: /src/bitcoin-core/src/node/abort.cpp
    functionUses: 3
    functionsReached:
    - store
    - _
    - node::Warnings*::Set
    - LogError
    - InitError
    - shutdown_request
    linkageType: ''
    returnType: void
    signature: void AbortNode(const std::function<bool()>& shutdown_request, std::atomic<int>&
      exit_status, const bilingual_str& message, node::Warnings* warnings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node::Warnings*::Set
      Src: /src/bitcoin-core/src/node/abort.cpp:20,1
    - Dst: InitError
      Src: /src/bitcoin-core/src/node/abort.cpp:21,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/abort.cpp:21,1
    - Dst: store
      Src: /src/bitcoin-core/src/node/abort.cpp:22,1
    - Dst: shutdown_request
      Src: /src/bitcoin-core/src/node/abort.cpp:23,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/abort.cpp:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ' shutdown_request'
    - ' exit_status'
    - ' message'
    - warnings
    argTypes:
    - std::function<bool()>
    - std::atomic<int>
    - bilingual_str
    - node::Warnings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: node::AbortNode
    functionSourceFile: /src/bitcoin-core/src/node/abort.cpp
    functionUses: 3
    functionsReached:
    - store
    - _
    - node::Warnings*::Set
    - LogError
    - InitError
    - shutdown_request
    linkageType: ''
    returnType: void
    signature: void AbortNode(const std::function<bool()>& shutdown_request, std::atomic<int>&
      exit_status, const bilingual_str& message, node::Warnings* warnings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NodeEvictionCandidate
    - NodeEvictionCandidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: ReverseCompareNodeMinPingTime
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReverseCompareNodeMinPingTime(const NodeEvictionCandidate &a,
      const NodeEvictionCandidate &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NodeEvictionCandidate
    - NodeEvictionCandidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: ReverseCompareNodeTimeConnected
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReverseCompareNodeTimeConnected(const NodeEvictionCandidate &a,
      const NodeEvictionCandidate &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NodeEvictionCandidate
    - NodeEvictionCandidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: CompareNetGroupKeyed
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompareNetGroupKeyed(const NodeEvictionCandidate &a, const NodeEvictionCandidate
      &b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NodeEvictionCandidate
    - NodeEvictionCandidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: CompareNodeBlockTime
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompareNodeBlockTime(const NodeEvictionCandidate &a, const NodeEvictionCandidate
      &b)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NodeEvictionCandidate
    - NodeEvictionCandidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: CompareNodeTXTime
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompareNodeTXTime(const NodeEvictionCandidate &a, const NodeEvictionCandidate
      &b)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NodeEvictionCandidate
    - NodeEvictionCandidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: CompareNodeBlockRelayOnlyTime
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompareNodeBlockRelayOnlyTime(const NodeEvictionCandidate &a,
      const NodeEvictionCandidate &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - is_local
    - network
    argTypes:
    - bool
    - Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: CompareNodeNetworkTime
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompareNodeNetworkTime(bool is_local, Network network)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NodeEvictionCandidate
    - NodeEvictionCandidate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: operator()(const NodeEvictionCandidate& a, const NodeEvictionCandidate&
      b) const
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const NodeEvictionCandidate& a, const NodeEvictionCandidate&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/eviction.cpp:82,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/eviction.cpp:82,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:82,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/eviction.cpp:83,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/eviction.cpp:83,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/eviction.cpp:84,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/node/eviction.cpp:84,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:84,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:84,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' elements'
    - comparator
    - k
    argTypes:
    - std::vector<T>
    - Comparator
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: EraseLastKElements
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - std::remove_if
    - size
    - std::sort
    - std::min
    - begin
    linkageType: ''
    returnType: void
    signature: "void EraseLastKElements(\n    std::vector<T>& elements, Comparator
      comparator, size_t k,\n    std::function<bool(const NodeEvictionCandidate&)>
      predicate = [](const NodeEvictionCandidate& n) { return true; })"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/node/eviction.cpp:89,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/node/eviction.cpp:89,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/eviction.cpp:89,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:89,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' eviction_candidates'
    argTypes:
    - std::vector<NodeEvictionCandidate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: ProtectNoBanConnections
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - std::remove_if
    - erase
    linkageType: ''
    returnType: void
    signature: void ProtectNoBanConnections(std::vector<NodeEvictionCandidate>& eviction_candidates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/node/eviction.cpp:98,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/node/eviction.cpp:98,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/eviction.cpp:98,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:98,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' eviction_candidates'
    argTypes:
    - std::vector<NodeEvictionCandidate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: ProtectOutboundConnections
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - std::remove_if
    - erase
    linkageType: ''
    returnType: void
    signature: void ProtectOutboundConnections(std::vector<NodeEvictionCandidate>&
      eviction_candidates)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/node/eviction.cpp:113,1
    - Dst: std::count_if
      Src: /src/bitcoin-core/src/node/eviction.cpp:124,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/node/eviction.cpp:124,1
    - Dst: cend
      Src: /src/bitcoin-core/src/node/eviction.cpp:124,1
    - Dst: std::stable_sort
      Src: /src/bitcoin-core/src/node/eviction.cpp:131,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/node/eviction.cpp:131,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/node/eviction.cpp:131,1
    - Dst: std::count_if
      Src: /src/bitcoin-core/src/node/eviction.cpp:139,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/node/eviction.cpp:139,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/node/eviction.cpp:139,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/eviction.cpp:144,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/node/eviction.cpp:144,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/eviction.cpp:150,1
    - Dst: EraseLastKElements
      Src: /src/bitcoin-core/src/node/eviction.cpp:151,1
    - Dst: CompareNodeNetworkTime
      Src: /src/bitcoin-core/src/node/eviction.cpp:151,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/eviction.cpp:155,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/eviction.cpp:173,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/eviction.cpp:173,1
    - Dst: EraseLastKElements
      Src: /src/bitcoin-core/src/node/eviction.cpp:175,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - ' eviction_candidates'
    argTypes:
    - std::vector<NodeEvictionCandidate>
    assertStmts:
    - condition: (num_protected == initial_size - eviction_candidates.size())
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/bitcoin-core/src/node/eviction.cpp
    constantsTouched: []
    func_position:
      end: 176
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 176
    functionName: ProtectEvictionCandidatesByRatio
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - std::stable_sort
    - std::count_if
    - cend
    - CompareNodeNetworkTime
    - size
    - std::max
    - std::array::begin
    - std::array::end
    - assert
    - cbegin
    - EraseLastKElements
    linkageType: ''
    returnType: void
    signature: void ProtectEvictionCandidatesByRatio(std::vector<NodeEvictionCandidate>&
      eviction_candidates)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ProtectNoBanConnections
      Src: /src/bitcoin-core/src/node/eviction.cpp:182,1
    - Dst: ProtectOutboundConnections
      Src: /src/bitcoin-core/src/node/eviction.cpp:184,1
    - Dst: EraseLastKElements
      Src: /src/bitcoin-core/src/node/eviction.cpp:188,1
    - Dst: EraseLastKElements
      Src: /src/bitcoin-core/src/node/eviction.cpp:191,1
    - Dst: EraseLastKElements
      Src: /src/bitcoin-core/src/node/eviction.cpp:194,1
    - Dst: EraseLastKElements
      Src: /src/bitcoin-core/src/node/eviction.cpp:196,1
    - Dst: EraseLastKElements
      Src: /src/bitcoin-core/src/node/eviction.cpp:201,1
    - Dst: ProtectEvictionCandidatesByRatio
      Src: /src/bitcoin-core/src/node/eviction.cpp:205,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/eviction.cpp:207,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/node/eviction.cpp:212,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/eviction.cpp:212,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:212,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/eviction.cpp:213,1
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/node/eviction.cpp:213,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/eviction.cpp:213,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:213,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/eviction.cpp:214,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/eviction.cpp:225,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/eviction.cpp:228,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/eviction.cpp:228,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/eviction.cpp:229,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/eviction.cpp:236,1
    - Dst: front
      Src: /src/bitcoin-core/src/node/eviction.cpp:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - ' vEvictionCandidates'
    argTypes:
    - std::vector<NodeEvictionCandidate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 240
    functionName: SelectNodeToEvict
    functionSourceFile: /src/bitcoin-core/src/node/eviction.cpp
    functionUses: 4
    functionsReached:
    - end
    - erase
    - empty
    - front
    - ProtectNoBanConnections
    - std::remove_if
    - std::move
    - std::any_of
    - ProtectOutboundConnections
    - std::vector::push_back
    - ProtectEvictionCandidatesByRatio
    - std::vector::size
    - begin
    - EraseLastKElements
    linkageType: ''
    returnType: std::optional<NodeId>
    signature: std::optional<NodeId> SelectNodeToEvict(std::vector<NodeEvictionCandidate>&&
      vEvictionCandidates)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:34,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:36,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:38,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' argsman'
    - ' mempool_limits'
    argTypes:
    - ArgsManager
    - MemPoolLimits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/mempool_args.cpp
    functionUses: 9
    functionsReached:
    - GetIntArg
    linkageType: ''
    returnType: void
    signature: void ApplyArgsManOptions(const ArgsManager& argsman, MemPoolLimits&
      mempool_limits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:34,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:36,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:38,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' argsman'
    - ' mempool_limits'
    argTypes:
    - ArgsManager
    - MemPoolLimits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/mempool_args.cpp
    functionUses: 9
    functionsReached:
    - GetIntArg
    linkageType: ''
    returnType: void
    signature: void ApplyArgsManOptions(const ArgsManager& argsman, MemPoolLimits&
      mempool_limits)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:46,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:48,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:51,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:51,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:56,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:60,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:61,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:62,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:64,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:68,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:69,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:71,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:73,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:78,1
    - Dst: min_relay_feerate::ToString
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:78,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:83,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:84,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:85,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:87,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:91,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:93,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:94,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:99,1
    - Dst: IsTestChain
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:100,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:101,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:101,1
    - Dst: GetChainTypeString
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:101,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:104,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/node/mempool_args.cpp:106,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - ' argsman'
    - ' chainparams'
    - ' mempool_opts'
    argTypes:
    - ArgsManager
    - CChainParams
    - MemPoolOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 109
    functionName: ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/mempool_args.cpp
    functionUses: 10
    functionsReached:
    - ParseMoney
    - GetChainTypeString
    - IsTestChain
    - min_relay_feerate::ToString
    - AmountErrMsg
    - ApplyArgsManOptions
    - GetArg
    - GetIntArg
    - LogInfo
    - std::optional::value
    - GetBoolArg
    - strprintf
    - Untranslated
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> ApplyArgsManOptions(const ArgsManager& argsman,
      const CChainParams& chainparams, MemPoolOptions& mempool_opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:59,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nFile
    - ' info'
    argTypes:
    - int
    - CBlockFileInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: kernel::BlockTreeDB::ReadBlockFileInfo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Read
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::ReadBlockFileInfo(int nFile, CBlockFileInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:65,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fReindexing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: kernel::BlockTreeDB::WriteReindexing
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Erase
    - Write
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::WriteReindexing(bool fReindexing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Exists
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fReindexing'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: kernel::BlockTreeDB::ReadReindexing
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Exists
    linkageType: ''
    returnType: void
    signature: void BlockTreeDB::ReadReindexing(bool& fReindexing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nFile'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: kernel::BlockTreeDB::ReadLastBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Read
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::ReadLastBlockFile(int& nFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:85,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:85,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:87,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:89,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:89,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:89,1
    - Dst: WriteBatch
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' fileInfo'
    - nLastFile
    - ' blockinfo'
    argTypes:
    - std::vector<std::pair<int, const CBlockFileInfo*>>
    - int
    - std::vector<const CBlockIndex*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: kernel::BlockTreeDB::WriteBatchSync
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - CDBBatch::Write
    - GetBlockHash
    - WriteBatch
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::WriteBatchSync(const std::vector<std::pair<int, const
      CBlockFileInfo*>>& fileInfo, int nLastFile, const std::vector<const CBlockIndex*>&
      blockinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:96,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - fValue
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: kernel::BlockTreeDB::WriteFlag
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Write
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::WriteFlag(const std::string& name, bool fValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:102,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' fValue'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: kernel::BlockTreeDB::ReadFlag
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Read
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::ReadFlag(const std::string& name, bool& fValue)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:111,1
    - Dst: std::unique_ptr::Seek
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:113,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:113,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:113,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:116,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:119,1
    - Dst: CDiskBlockIndex::CDiskBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:120,1
    - Dst: std::unique_ptr::GetValue
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:121,1
    - Dst: insertBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:123,1
    - Dst: CDiskBlockIndex::ConstructBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:123,1
    - Dst: insertBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:124,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:137,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:137,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:138,1
    - Dst: CBlockIndex*::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:138,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:142,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - ' consensusParams'
    - insertBlockIndex
    - ' interrupt'
    argTypes:
    - Consensus::Params
    - std::function<CBlockIndex*(const uint256&)>
    - util::SignalInterrupt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 153
    functionName: kernel::BlockTreeDB::LoadBlockIndexGuts
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - uint256
    - std::unique_ptr::Next
    - std::make_pair
    - CDiskBlockIndex::ConstructBlockHash
    - std::unique_ptr::Seek
    - std::unique_ptr::Valid
    - LogError
    - insertBlockIndex
    - CBlockIndex*::ToString
    - AssertLockHeld
    - CBlockIndex*::GetBlockHash
    - CDiskBlockIndex::CDiskBlockIndex
    - std::unique_ptr::GetKey
    - std::unique_ptr::GetValue
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::LoadBlockIndexGuts(const Consensus::Params& consensusParams,
      std::function<CBlockIndex*(const uint256&)> insertBlockIndex, const util::SignalInterrupt&
      interrupt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:59,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nFile
    - ' info'
    argTypes:
    - int
    - CBlockFileInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: kernel::BlockTreeDB::ReadBlockFileInfo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Read
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::ReadBlockFileInfo(int nFile, CBlockFileInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:65,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fReindexing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: kernel::BlockTreeDB::WriteReindexing
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Erase
    - Write
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::WriteReindexing(bool fReindexing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Exists
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fReindexing'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: kernel::BlockTreeDB::ReadReindexing
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Exists
    linkageType: ''
    returnType: void
    signature: void BlockTreeDB::ReadReindexing(bool& fReindexing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nFile'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: kernel::BlockTreeDB::ReadLastBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Read
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::ReadLastBlockFile(int& nFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:85,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:85,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:87,1
    - Dst: CDBBatch::Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:89,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:89,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:89,1
    - Dst: WriteBatch
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' fileInfo'
    - nLastFile
    - ' blockinfo'
    argTypes:
    - std::vector<std::pair<int, const CBlockFileInfo*>>
    - int
    - std::vector<const CBlockIndex*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: kernel::BlockTreeDB::WriteBatchSync
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - CDBBatch::Write
    - GetBlockHash
    - WriteBatch
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::WriteBatchSync(const std::vector<std::pair<int, const
      CBlockFileInfo*>>& fileInfo, int nLastFile, const std::vector<const CBlockIndex*>&
      blockinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:96,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - fValue
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: kernel::BlockTreeDB::WriteFlag
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Write
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::WriteFlag(const std::string& name, bool fValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:102,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' fValue'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: kernel::BlockTreeDB::ReadFlag
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Read
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::ReadFlag(const std::string& name, bool& fValue)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:111,1
    - Dst: std::unique_ptr::Seek
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:113,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:113,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:113,1
    - Dst: std::unique_ptr::Valid
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:116,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:119,1
    - Dst: CDiskBlockIndex::CDiskBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:120,1
    - Dst: std::unique_ptr::GetValue
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:121,1
    - Dst: insertBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:123,1
    - Dst: CDiskBlockIndex::ConstructBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:123,1
    - Dst: insertBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:124,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:137,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:137,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:138,1
    - Dst: CBlockIndex*::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:138,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:142,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - ' consensusParams'
    - insertBlockIndex
    - ' interrupt'
    argTypes:
    - Consensus::Params
    - std::function<CBlockIndex*(const uint256&)>
    - util::SignalInterrupt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 153
    functionName: kernel::BlockTreeDB::LoadBlockIndexGuts
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - uint256
    - std::unique_ptr::Next
    - std::make_pair
    - CDiskBlockIndex::ConstructBlockHash
    - std::unique_ptr::Seek
    - std::unique_ptr::Valid
    - LogError
    - insertBlockIndex
    - CBlockIndex*::ToString
    - AssertLockHeld
    - CBlockIndex*::GetBlockHash
    - CDiskBlockIndex::CDiskBlockIndex
    - std::unique_ptr::GetKey
    - std::unique_ptr::GetValue
    linkageType: ''
    returnType: bool
    signature: bool BlockTreeDB::LoadBlockIndexGuts(const Consensus::Params& consensusParams,
      std::function<CBlockIndex*(const uint256&)> insertBlockIndex, const util::SignalInterrupt&
      interrupt)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: CBlockIndexWorkComparator::operator()(const CBlockIndex* pa, const
      CBlockIndex* pb) const
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CBlockIndexWorkComparator::operator()(const CBlockIndex* pa, const
      CBlockIndex* pb) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: CBlockIndexHeightOnlyComparator::operator()(const CBlockIndex* pa,
      const CBlockIndex* pb) const
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CBlockIndexHeightOnlyComparator::operator()(const CBlockIndex*
      pa, const CBlockIndex* pb) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:184,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:186,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:186,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: node::BlockManager::GetAllBlockIndices
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - size
    - AssertLockHeld
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<CBlockIndex*>
    signature: std::vector<CBlockIndex*> BlockManager::GetAllBlockIndices()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:195,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:196,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: node::BlockManager::LookupBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::LookupBlockIndex(const uint256& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:202,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:203,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: node::BlockManager::LookupBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::LookupBlockIndex(const uint256& hash) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:209,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:211,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:211,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:223,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:224,1
    - Dst: CBlockIndex*::BuildSkip
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:227,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:229,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:230,1
    - Dst: CBlockIndex*::RaiseValidity
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:231,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' block'
    - ' best_header'
    argTypes:
    - CBlockHeader
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 239
    functionName: node::BlockManager::AddToBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - end
    - CBlockIndex*::BuildSkip
    - CBlockIndex*::RaiseValidity
    - insert
    - GetHash
    - std::max
    - AssertLockHeld
    - GetBlockProof
    - find
    - try_emplace
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::AddToBlockIndex(const CBlockHeader& block,
      CBlockIndex*& best_header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:243,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:244,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:254,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:260,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:265,1
    - Dst: at
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:271,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - fileNumber
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 273
    functionName: node::BlockManager::PruneOneBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - erase
    - at
    - LOCK
    - AssertLockHeld
    - insert
    - equal_range
    linkageType: ''
    returnType: void
    signature: void BlockManager::PruneOneBlockFile(const int fileNumber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:281,1
    - Dst: node::BlockManager::IsPruneMode
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:281,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:283,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:284,1
    - Dst: GetPruneRange
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:288,1
    - Dst: node::BlockManager::MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:291,1
    - Dst: node::BlockManager::PruneOneBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:297,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:298,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:301,1
    - Dst: GetRole
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - ' setFilesToPrune'
    - nManualPruneHeight
    - ' chain'
    - ' chainman'
    argTypes:
    - std::set<int>
    - int
    - Chainstate
    - ChainstateManager
    assertStmts:
    - condition: (IsPruneMode() && nManualPruneHeight > 0)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 303
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 303
    functionName: node::BlockManager::FindFilesToPruneManual
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::PruneOneBlockFile
    - GetPruneRange
    - LOCK2
    - node::BlockManager::IsPruneMode
    - LogInfo
    - m_chain::Height
    - node::BlockManager::MaxBlockfileNum
    - assert
    - insert
    - GetRole
    linkageType: ''
    returnType: void
    signature: "void BlockManager::FindFilesToPruneManual(\n    std::set<int>& setFilesToPrune,\n
      \   int nManualPruneHeight,\n    const Chainstate& chain,\n    ChainstateManager&
      chainman)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:311,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:313,1
    - Dst: node::BlockManager::GetPruneTarget
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:314,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:314,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:317,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:320,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:320,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:320,1
    - Dst: GetPruneRange
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:324,1
    - Dst: node::BlockManager::CalculateCurrentUsage
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:326,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:339,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:340,1
    - Dst: node::BlockManager::MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:347,1
    - Dst: node::BlockManager::PruneOneBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:365,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:367,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:373,1
    - Dst: GetRole
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:374,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - ' setFilesToPrune'
    - last_prune
    - ' chain'
    - ' chainman'
    argTypes:
    - std::set<int>
    - int
    - Chainstate
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 377
    functionName: node::BlockManager::FindFilesToPrune
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - node::BlockManager::CalculateCurrentUsage
    - IsInitialBlockDownload
    - node::BlockManager::GetPruneTarget
    - GetParams
    - LOCK2
    - GetPruneRange
    - node::BlockManager::PruneOneBlockFile
    - LogDebug
    - GetAll
    - std::max
    - m_chain::Height
    - node::BlockManager::MaxBlockfileNum
    - insert
    - GetRole
    linkageType: ''
    returnType: void
    signature: "void BlockManager::FindFilesToPrune(\n    std::set<int>& setFilesToPrune,\n
      \   int last_prune,\n    const Chainstate& chain,\n    ChainstateManager& chainman)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' lock_info'
    argTypes:
    - std::string
    - PruneLockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: node::BlockManager::UpdatePruneLock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void BlockManager::UpdatePruneLock(const std::string& name, const PruneLockInfo&
      lock_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:386,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:388,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: node::BlockManager::InsertBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    - try_emplace
    - IsNull
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::InsertBlockIndex(const uint256& hash)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LoadBlockIndexGuts
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:402,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:403,1
    - Dst: node::BlockManager::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:403,1
    - Dst: node::BlockManager::InsertBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:403,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:408,1
    - Dst: notifications::fatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:410,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:410,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:410,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:410,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:413,1
    - Dst: node::BlockManager::LookupBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:415,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:421,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:421,1
    - Dst: reset
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:426,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:429,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:429,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:429,1
    - Dst: node::BlockManager::GetAllBlockIndices
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:432,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:433,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:433,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:433,1
    - Dst: CBlockIndexHeightOnlyComparator
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:434,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:440,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:444,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:445,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:454,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:456,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:461,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:461,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:469,1
    - Dst: BuildSkip
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:472,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - ' snapshot_blockhash'
    argTypes:
    - std::optional<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 477
    functionName: node::BlockManager::LoadBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - LogInfo
    - node::BlockManager::EXCLUSIVE_LOCKS_REQUIRED
    - has_value
    - LoadBlockIndexGuts
    - std::vector::end
    - ToString
    - GetParams
    - node::BlockManager::LookupBlockIndex
    - notifications::fatalError
    - BuildSkip
    - LogError
    - Assert
    - CBlockIndexHeightOnlyComparator
    - strprintf
    - GetBlockProof
    - node::BlockManager::GetAllBlockIndices
    - _
    - std::vector::begin
    - std::max
    - GetBlockHash
    - reset
    - node::BlockManager::InsertBlockIndex
    - std::sort
    - insert
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::LoadBlockIndex(const std::optional<uint256>& snapshot_blockhash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:481,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:483,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:483,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:484,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:484,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:485,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:486,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:489,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:489,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:490,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:490,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:491,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:492,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:494,1
    - Dst: MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:494,1
    - Dst: WriteBatchSync
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 499
    functionName: node::BlockManager::WriteBlockIndexDB
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::emplace_back
    - erase
    - WITH_LOCK
    - WriteBatchSync
    - size
    - std::vector::reserve
    - std::vector::push_back
    - AssertLockHeld
    - MaxBlockfileNum
    - begin
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::WriteBlockIndexDB()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: node::BlockManager::LoadBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:503,1
    - Dst: ReadLastBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:509,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:510,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:511,1
    - Dst: ReadBlockFileInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:513,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:515,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:515,1
    - Dst: CBlockFileInfo::CBlockFileInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:517,1
    - Dst: ReadBlockFileInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:518,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:519,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:526,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:530,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:533,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:533,1
    - Dst: node::BlockManager::OpenBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:535,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:542,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:543,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:545,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:545,1
    - Dst: ReadFlag
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:550,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:552,1
    - Dst: ReadReindexing
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:557,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - ' snapshot_blockhash'
    argTypes:
    - std::optional<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 561
    functionName: node::BlockManager::LoadBlockIndexDB
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - CBlockFileInfo::CBlockFileInfo
    - resize
    - ReadBlockFileInfo
    - ToString
    - ReadFlag
    - push_back
    - std::set::begin
    - static_cast<int>
    - size
    - LogInfo
    - LOCK
    - std::set::end
    - std::set::insert
    - node::BlockManager::OpenBlockFile
    - node::BlockManager::BlockfileTypeForHeight
    - ReadReindexing
    - ReadLastBlockFile
    - node::BlockManager::LoadBlockIndex
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::LoadBlockIndexDB(const std::optional<uint256>& snapshot_blockhash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:565,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:566,1
    - Dst: MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:566,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:574,1
    - Dst: node::BlockManager::UnlinkPrunedFiles
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 579
    functionName: node::BlockManager::ScanAndUnlinkAlreadyPrunedFiles
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::UnlinkPrunedFiles
    - WITH_LOCK
    - std::set::insert
    - AssertLockHeld
    - MaxBlockfileNum
    linkageType: ''
    returnType: void
    signature: void BlockManager::ScanAndUnlinkAlreadyPrunedFiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: node::BlockManager::IsBlockPruned
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::IsBlockPruned(const CBlockIndex& block) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:589,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:591,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:598,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' upper_block'
    - status_mask
    - lower_block
    argTypes:
    - CBlockIndex
    - uint32_t
    - CBlockIndex*
    assertStmts:
    - condition: (last_block->nHeight >= lower_block->nHeight)
      pos:
        line_end: 597
        line_start: 597
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    - condition: (last_block != nullptr)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    - condition: ((last_block->nStatus & status_mask) == status_mask)
      pos:
        line_end: 590
        line_start: 590
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 604
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 604
    functionName: node::BlockManager::GetFirstBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::GetFirstBlock(const CBlockIndex& upper_block,
      uint32_t status_mask, const CBlockIndex* lower_block) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::BlockManager::GetFirstBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' upper_block'
    - ' lower_block'
    argTypes:
    - CBlockIndex
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: node::BlockManager::CheckBlockDataAvailability
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::GetFirstBlock
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::CheckBlockDataAvailability(const CBlockIndex& upper_block,
      const CBlockIndex& lower_block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:625,1
    - Dst: fs::directory_iterator
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:626,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:627,1
    - Dst: fs::directory_iterator::path
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:627,1
    - Dst: fs::is_regular_file
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:628,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:629,1
    - Dst: std::string::ends_with
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:630,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:632,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:633,1
    - Dst: fs::directory_iterator::path
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:633,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:634,1
    - Dst: remove
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:635,1
    - Dst: fs::directory_iterator::path
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:635,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:646,1
    - Dst: remove
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:650,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 652
    functionName: node::BlockManager::CleanupBlockRevFiles
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - fs::directory_iterator
    - std::string::ends_with
    - LocaleIndependentAtoi
    - std::string::length
    - std::string::starts_with
    - fs::is_regular_file
    - remove
    - LogInfo
    - fs::directory_iterator::path
    - fs::PathToString
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void BlockManager::CleanupBlockRevFiles() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:656,1
    - Dst: at
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: node::BlockManager::GetBlockFileInfo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - at
    linkageType: ''
    returnType: CBlockFileInfo
    signature: CBlockFileInfo * BlockManager::GetBlockFileInfo(size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node::BlockManager::OpenUndoFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:666,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:667,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:668,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:668,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:671,1
    - Dst: pprev::GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:677,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:680,1
    - Dst: HashVerifier::GetHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:684,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:685,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:685,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:689,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:689,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' blockundo'
    - ' index'
    argTypes:
    - CBlockUndo
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 694
    functionName: node::BlockManager::ReadBlockUndo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - FlatFilePos::ToString
    - AutoFile::IsNull
    - LogError
    - pprev::GetBlockHash
    - std::move
    - node::BlockManager::OpenUndoFile
    - what
    - uint256::uint256
    - HashVerifier::GetHash
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::ReadBlockUndo(CBlockUndo& blockundo, const CBlockIndex&
      index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:699,1
    - Dst: notifications::flushError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:700,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - block_file
    - finalize
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: node::BlockManager::FlushUndoFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - notifications::flushError
    - Flush
    - _
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::FlushUndoFile(int block_file, bool finalize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:709,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:711,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:718,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:718,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:718,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:721,1
    - Dst: notifications::flushError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:722,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:722,1
    - Dst: node::BlockManager::FlushUndoFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - blockfile_num
    - fFinalize
    - finalize_undo
    argTypes:
    - int
    - bool
    - bool
    assertStmts:
    - condition: (static_cast<int>(m_blockfile_info.size()) > blockfile_num)
      pos:
        line_end: 717
        line_start: 717
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 733
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 733
    functionName: node::BlockManager::FlushBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::FlushUndoFile
    - notifications::flushError
    - _
    - static_cast<int>
    - size
    - LOCK
    - Flush
    - assert
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::FlushBlockFile(int blockfile_num, bool fFinalize,
      bool finalize_undo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 741
    functionName: node::BlockManager::BlockfileTypeForHeight
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BlockfileType
    signature: BlockfileType BlockManager::BlockfileTypeForHeight(int height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:745,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:746,1
    - Dst: node::BlockManager::FlushBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tip_height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 755
    functionName: node::BlockManager::FlushChainstateBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - node::BlockManager::BlockfileTypeForHeight
    - node::BlockManager::FlushBlockFile
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::FlushChainstateBlockFile(int tip_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 766
    functionName: node::BlockManager::CalculateCurrentUsage
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BlockManager::CalculateCurrentUsage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:771,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:771,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:773,1
    - Dst: FileName
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:773,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:774,1
    - Dst: FileName
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:774,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' setFilesToPrune'
    argTypes:
    - std::set<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 779
    functionName: node::BlockManager::UnlinkPrunedFiles
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - end
    - wallet::WalletImpl::remove
    - LogDebug
    - FileName
    - begin
    linkageType: ''
    returnType: void
    signature: void BlockManager::UnlinkPrunedFiles(const std::set<int>& setFilesToPrune)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pos'
    - fReadOnly
    argTypes:
    - FlatFilePos
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: node::BlockManager::OpenBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - Open
    linkageType: ''
    returnType: AutoFile
    signature: AutoFile BlockManager::OpenBlockFile(const FlatFilePos& pos, bool fReadOnly)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pos'
    - fReadOnly
    argTypes:
    - FlatFilePos
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: node::BlockManager::OpenUndoFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - Open
    linkageType: ''
    returnType: AutoFile
    signature: AutoFile BlockManager::OpenUndoFile(const FlatFilePos& pos, bool fReadOnly)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileName
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: node::BlockManager::GetBlockPosFilename
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - FileName
    linkageType: ''
    returnType: fs::path
    signature: fs::path BlockManager::GetBlockPosFilename(const FlatFilePos& pos)
      const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:799,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:801,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:805,1
    - Dst: node::BlockManager::MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:806,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:808,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:813,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:813,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:814,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:828,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:834,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:835,1
    - Dst: node::BlockManager::MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:838,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:842,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:842,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:843,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:851,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:852,1
    - Dst: node::BlockManager::FlushBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:861,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:862,1
    - Dst: AddBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:870,1
    - Dst: Allocate
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:874,1
    - Dst: notifications::fatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:876,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:876,1
    - Dst: node::BlockManager::IsPruneMode
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:879,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:883,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - nAddSize
    - nHeight
    - nTime
    argTypes:
    - unsigned int
    - unsigned int
    - uint64_t
    assertStmts:
    - condition: (nAddSize < max_blockfile_size)
      pos:
        line_end: 827
        line_start: 827
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    - condition: (chain_type == BlockfileType::ASSUMED)
      pos:
        line_end: 804
        line_start: 804
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 885
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 885
    functionName: node::BlockManager::FindNextBlockPos
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - Allocate
    - _
    - resize
    - ToString
    - static_cast<int>
    - LogDebug
    - node::BlockManager::IsPruneMode
    - size
    - node::BlockManager::FlushBlockFile
    - LOCK
    - AddBlock
    - Assert
    - node::BlockManager::BlockfileTypeForHeight
    - node::BlockManager::MaxBlockfileNum
    - assert
    - insert
    - notifications::fatalError
    linkageType: ''
    returnType: FlatFilePos
    signature: FlatFilePos BlockManager::FindNextBlockPos(unsigned int nAddSize, unsigned
      int nHeight, uint64_t nTime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:889,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:892,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:899,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:899,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:901,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:901,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:902,1
    - Dst: AddBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:904,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:904,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:905,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' block'
    - nHeight
    - ' pos'
    argTypes:
    - CBlock
    - unsigned int
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 907
    functionName: node::BlockManager::UpdateBlockInfo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - GetBlockTime
    - GetSerializeSize
    - static_cast<int>
    - size
    - std::max
    - LOCK
    - AddBlock
    - node::BlockManager::BlockfileTypeForHeight
    - TX_WITH_WITNESS
    - resize
    - insert
    linkageType: ''
    returnType: void
    signature: void BlockManager::UpdateBlockInfo(const CBlock& block, unsigned int
      nHeight, const FlatFilePos& pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:913,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:917,1
    - Dst: Allocate
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:920,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:922,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:922,1
    - Dst: node::BlockManager::IsPruneMode
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' state'
    - nFile
    - ' pos'
    - nAddSize
    argTypes:
    - BlockValidationState
    - int
    - FlatFilePos
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 929
    functionName: node::BlockManager::FindUndoPos
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - Allocate
    - _
    - node::BlockManager::IsPruneMode
    - FatalError
    - LOCK
    - insert
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::FindUndoPos(BlockValidationState& state, int nFile,
      FlatFilePos& pos, unsigned int nAddSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:933,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:934,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:935,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:935,1
    - Dst: GetUndoPos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:938,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:940,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:940,1
    - Dst: node::BlockManager::FindUndoPos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:941,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:942,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:942,1
    - Dst: node::BlockManager::OpenUndoFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:947,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:948,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:949,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:949,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:950,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:950,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:956,1
    - Dst: pprev::GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:961,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:963,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:969,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:970,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:970,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:970,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:971,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:971,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:979,1
    - Dst: node::BlockManager::FlushUndoFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:985,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:986,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:994,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' blockundo'
    - ' state'
    - ' block'
    argTypes:
    - CBlockUndo
    - BlockValidationState
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 998
    functionName: node::BlockManager::WriteBlockUndo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::FindUndoPos
    - FlatFilePos::ToString
    - AutoFile::IsNull
    - pprev::GetBlockHash
    - FatalError
    - AutoFile::fclose
    - HashWriter::GetHash
    - node::BlockManager::BlockfileTypeForHeight
    - GetUndoPos
    - GetParams
    - AssertLockHeld
    - node::BlockManager::FlushUndoFile
    - LogError
    - GetSerializeSize
    - WITH_LOCK
    - Assert
    - node::BlockManager::OpenUndoFile
    - LogPrintLevel
    - _
    - static_cast<uint32_t>
    - SysErrorString
    - insert
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::WriteBlockUndo(const CBlockUndo& blockundo, BlockValidationState&
      state, CBlockIndex& block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1002,1
    - Dst: node::BlockManager::ReadRawBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1006,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1012,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1014,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1014,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1014,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1018,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1021,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1021,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1022,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1022,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1027,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1027,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1027,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1028,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1028,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1033,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1034,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1034,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1034,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' block'
    - ' pos'
    - ' expected_hash'
    argTypes:
    - CBlock
    - FlatFilePos
    - std::optional<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1000
    functionDepth: 4
    functionLinenumber: 1000
    functionLinenumberEnd: 1039
    functionName: node::BlockManager::ReadBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - CheckProofOfWork
    - auto::ToString
    - CheckSignetBlockSolution
    - ToString
    - LogError
    - SetNull
    - GetHash
    - what
    - TX_WITH_WITNESS
    - GetConsensus
    - node::BlockManager::ReadRawBlock
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::ReadBlock(CBlock& block, const FlatFilePos& pos,
      const std::optional<uint256>& expected_hash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::BlockManager::ReadBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1044,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' block'
    - ' index'
    argTypes:
    - CBlock
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1045
    functionName: node::BlockManager::ReadBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - node::BlockManager::ReadBlock
    - GetBlockHash
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::ReadBlock(CBlock& block, const CBlockIndex& index)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1053,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1053,1
    - Dst: node::BlockManager::OpenBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1056,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1057,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1058,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1058,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1068,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1069,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1070,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1070,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1070,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1070,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1075,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1076,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1080,1
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1081,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1083,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1083,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' block'
    - ' pos'
    argTypes:
    - std::vector<std::byte>
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1088
    functionName: node::BlockManager::ReadRawBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - ToString
    - LogError
    - GetParams
    - AutoFile::IsNull
    - node::BlockManager::OpenBlockFile
    - AutoFile::read
    - what
    - HexStr
    - resize
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::ReadRawBlock(std::vector<std::byte>& block, const
      FlatFilePos& pos) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1092,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1092,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1092,1
    - Dst: node::BlockManager::FindNextBlockPos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1093,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1093,1
    - Dst: FlatFilePos::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1094,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1095,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1095,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1096,1
    - Dst: node::BlockManager::OpenBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1098,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1099,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1100,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1100,1
    - Dst: notifications::fatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1101,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1101,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1102,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1108,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1111,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1114,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1115,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1115,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1115,1
    - Dst: notifications::fatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1116,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1116,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' block'
    - nHeight
    argTypes:
    - CBlock
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1121
    functionName: node::BlockManager::WriteBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - GetBlockTime
    - FlatFilePos::ToString
    - _
    - LogError
    - AutoFile::IsNull
    - GetSerializeSize
    - GetParams
    - node::BlockManager::FindNextBlockPos
    - AutoFile::fclose
    - node::BlockManager::OpenBlockFile
    - static_cast<unsigned int>
    - FlatFilePos::IsNull
    - FlatFilePos
    - SysErrorString
    - TX_WITH_WITNESS
    - notifications::fatalError
    linkageType: ''
    returnType: FlatFilePos
    signature: FlatFilePos BlockManager::WriteBlock(const CBlock& block, int nHeight)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1133,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1134,1
    - Dst: path
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1134,1
    - Dst: is_regular_file
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1135,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1135,1
    - Dst: fillrand
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1144,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1148,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1150,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1154,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1162,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1163,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1164,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1165,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1171,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1173,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1173,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1176,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1176,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - BlockManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1178
    functionName: node::InitBlocksdirXorKey
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - is_regular_file
    - fs::directory_iterator
    - std::string::starts_with
    - fs::exists
    - fsbridge::fopen
    - AutoFile::fclose
    - LogInfo
    - path
    - fillrand
    - SysErrorString
    - strprintf
    - HexStr
    - fs::PathToString
    linkageType: ''
    returnType: auto
    signature: auto InitBlocksdirXorKey(const BlockManager::Options& opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitBlocksdirXorKey
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1182,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1183,1
    - Dst: std::make_unique<BlockTreeDB>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1188,1
    - Dst: WriteReindexing
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1191,1
    - Dst: node::BlockManager::CleanupBlockRevFiles
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' interrupt'
    - opts
    argTypes:
    - util::SignalInterrupt
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1198
    functionName: node::BlockManager::BlockManager
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::CleanupBlockRevFiles
    - std::move
    - WriteReindexing
    - InitBlocksdirXorKey
    - std::make_unique<BlockTreeDB>
    linkageType: ''
    returnType: void
    signature: void BlockManager::BlockManager(const util::SignalInterrupt& interrupt,
      Options opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' importing'
    argTypes:
    - std::atomic<bool>
    assertStmts:
    - condition: (m_importing == false)
      pos:
        line_end: 1206
        line_start: 1206
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 1209
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1209
    functionName: node::ImportingNow::ImportingNow
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ImportingNow(std::atomic<bool>& importing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_importing == true)
      pos:
        line_end: 1211
        line_start: 1211
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 1214
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1214
    functionName: ~ImportingNow()
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ~ImportingNow()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1229,1
    - Dst: m_blockman::GetBlockPosFilename
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1229,1
    - Dst: m_blockman::OpenBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1232,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1233,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1236,1
    - Dst: LoadExternalBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1237,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1239,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1244,1
    - Dst: m_blockman::m_block_tree_db::WriteReindexing
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1244,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1246,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1248,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1253,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1254,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1255,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1255,1
    - Dst: LoadExternalBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1256,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1258,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1262,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1262,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1271,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1271,1
    - Dst: ActivateBestChain
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1273,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1274,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1274,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1274,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ' chainman'
    - import_paths
    argTypes:
    - ChainstateManager
    - std::span<const fs::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1279
    functionName: node::ImportBlocks
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - _
    - m_blockman::m_block_tree_db::WriteReindexing
    - m_blockman::GetBlockPosFilename
    - BlockValidationState::ToString
    - AutoFile::IsNull
    - fsbridge::fopen
    - fs::exists
    - WITH_LOCK
    - GetAll
    - GetNotifications
    - LogInfo
    - LogPrintf
    - ActiveChainstate
    - ActivateBestChain
    - strprintf
    - LoadExternalBlockFile
    - m_blockman::OpenBlockFile
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void ImportBlocks(ChainstateManager& chainman, std::span<const fs::path>
      import_paths)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setstate
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' os'
    - ' type'
    argTypes:
    - std::ostream
    - BlockfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1288
    functionName: '& operator<<(std::ostream& os, const BlockfileType& type)'
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - setstate
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const BlockfileType& type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' cursor'
    argTypes:
    - std::ostream
    - BlockfileCursor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1293
    functionName: '& operator<<(std::ostream& os, const BlockfileCursor& cursor)'
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const BlockfileCursor&
      cursor)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: CBlockIndexWorkComparator::operator()(const CBlockIndex* pa, const
      CBlockIndex* pb) const
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CBlockIndexWorkComparator::operator()(const CBlockIndex* pa, const
      CBlockIndex* pb) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: CBlockIndexHeightOnlyComparator::operator()(const CBlockIndex* pa,
      const CBlockIndex* pb) const
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CBlockIndexHeightOnlyComparator::operator()(const CBlockIndex*
      pa, const CBlockIndex* pb) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:184,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:186,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:186,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: node::BlockManager::GetAllBlockIndices
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - size
    - AssertLockHeld
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<CBlockIndex*>
    signature: std::vector<CBlockIndex*> BlockManager::GetAllBlockIndices()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:195,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:196,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: node::BlockManager::LookupBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::LookupBlockIndex(const uint256& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:202,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:203,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: node::BlockManager::LookupBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::LookupBlockIndex(const uint256& hash) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:209,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:211,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:211,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:223,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:224,1
    - Dst: CBlockIndex*::BuildSkip
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:227,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:229,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:230,1
    - Dst: CBlockIndex*::RaiseValidity
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:231,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' block'
    - ' best_header'
    argTypes:
    - CBlockHeader
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 239
    functionName: node::BlockManager::AddToBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - end
    - CBlockIndex*::BuildSkip
    - CBlockIndex*::RaiseValidity
    - insert
    - GetHash
    - std::max
    - AssertLockHeld
    - GetBlockProof
    - find
    - try_emplace
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::AddToBlockIndex(const CBlockHeader& block,
      CBlockIndex*& best_header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:243,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:244,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:254,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:260,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:265,1
    - Dst: at
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:271,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - fileNumber
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 273
    functionName: node::BlockManager::PruneOneBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 2
    functionsReached:
    - erase
    - at
    - LOCK
    - AssertLockHeld
    - insert
    - equal_range
    linkageType: ''
    returnType: void
    signature: void BlockManager::PruneOneBlockFile(const int fileNumber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:281,1
    - Dst: node::BlockManager::IsPruneMode
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:281,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:283,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:284,1
    - Dst: GetPruneRange
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:288,1
    - Dst: node::BlockManager::MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:291,1
    - Dst: node::BlockManager::PruneOneBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:297,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:298,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:301,1
    - Dst: GetRole
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - ' setFilesToPrune'
    - nManualPruneHeight
    - ' chain'
    - ' chainman'
    argTypes:
    - std::set<int>
    - int
    - Chainstate
    - ChainstateManager
    assertStmts:
    - condition: (IsPruneMode() && nManualPruneHeight > 0)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 303
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 303
    functionName: node::BlockManager::FindFilesToPruneManual
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::PruneOneBlockFile
    - GetPruneRange
    - LOCK2
    - node::BlockManager::IsPruneMode
    - LogInfo
    - m_chain::Height
    - node::BlockManager::MaxBlockfileNum
    - assert
    - insert
    - GetRole
    linkageType: ''
    returnType: void
    signature: "void BlockManager::FindFilesToPruneManual(\n    std::set<int>& setFilesToPrune,\n
      \   int nManualPruneHeight,\n    const Chainstate& chain,\n    ChainstateManager&
      chainman)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:311,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:313,1
    - Dst: node::BlockManager::GetPruneTarget
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:314,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:314,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:317,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:320,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:320,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:320,1
    - Dst: GetPruneRange
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:324,1
    - Dst: node::BlockManager::CalculateCurrentUsage
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:326,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:339,1
    - Dst: IsInitialBlockDownload
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:340,1
    - Dst: node::BlockManager::MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:347,1
    - Dst: node::BlockManager::PruneOneBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:365,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:367,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:373,1
    - Dst: GetRole
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:374,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - ' setFilesToPrune'
    - last_prune
    - ' chain'
    - ' chainman'
    argTypes:
    - std::set<int>
    - int
    - Chainstate
    - ChainstateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 377
    functionName: node::BlockManager::FindFilesToPrune
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - node::BlockManager::CalculateCurrentUsage
    - IsInitialBlockDownload
    - node::BlockManager::GetPruneTarget
    - GetParams
    - LOCK2
    - GetPruneRange
    - node::BlockManager::PruneOneBlockFile
    - LogDebug
    - GetAll
    - std::max
    - m_chain::Height
    - node::BlockManager::MaxBlockfileNum
    - insert
    - GetRole
    linkageType: ''
    returnType: void
    signature: "void BlockManager::FindFilesToPrune(\n    std::set<int>& setFilesToPrune,\n
      \   int last_prune,\n    const Chainstate& chain,\n    ChainstateManager& chainman)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' lock_info'
    argTypes:
    - std::string
    - PruneLockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: node::BlockManager::UpdatePruneLock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void BlockManager::UpdatePruneLock(const std::string& name, const PruneLockInfo&
      lock_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:386,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:388,1
    - Dst: try_emplace
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: node::BlockManager::InsertBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - AssertLockHeld
    - try_emplace
    - IsNull
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::InsertBlockIndex(const uint256& hash)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LoadBlockIndexGuts
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:402,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:403,1
    - Dst: node::BlockManager::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:403,1
    - Dst: node::BlockManager::InsertBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:403,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:408,1
    - Dst: notifications::fatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:410,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:410,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:410,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:410,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:413,1
    - Dst: node::BlockManager::LookupBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:415,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:421,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:421,1
    - Dst: reset
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:426,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:429,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:429,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:429,1
    - Dst: node::BlockManager::GetAllBlockIndices
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:432,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:433,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:433,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:433,1
    - Dst: CBlockIndexHeightOnlyComparator
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:434,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:440,1
    - Dst: GetBlockProof
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:444,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:445,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:454,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:456,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:461,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:461,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:469,1
    - Dst: BuildSkip
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:472,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - ' snapshot_blockhash'
    argTypes:
    - std::optional<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 477
    functionName: node::BlockManager::LoadBlockIndex
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - LogInfo
    - node::BlockManager::EXCLUSIVE_LOCKS_REQUIRED
    - has_value
    - LoadBlockIndexGuts
    - std::vector::end
    - ToString
    - GetParams
    - node::BlockManager::LookupBlockIndex
    - notifications::fatalError
    - BuildSkip
    - LogError
    - Assert
    - CBlockIndexHeightOnlyComparator
    - strprintf
    - GetBlockProof
    - node::BlockManager::GetAllBlockIndices
    - _
    - std::vector::begin
    - std::max
    - GetBlockHash
    - reset
    - node::BlockManager::InsertBlockIndex
    - std::sort
    - insert
    - GetConsensus
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::LoadBlockIndex(const std::optional<uint256>& snapshot_blockhash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:481,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:483,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:483,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:484,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:484,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:485,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:486,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:489,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:489,1
    - Dst: begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:490,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:490,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:491,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:492,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:494,1
    - Dst: MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:494,1
    - Dst: WriteBatchSync
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 499
    functionName: node::BlockManager::WriteBlockIndexDB
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::emplace_back
    - erase
    - WITH_LOCK
    - WriteBatchSync
    - size
    - std::vector::reserve
    - std::vector::push_back
    - AssertLockHeld
    - MaxBlockfileNum
    - begin
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::WriteBlockIndexDB()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: node::BlockManager::LoadBlockIndex
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:503,1
    - Dst: ReadLastBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:509,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:510,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:511,1
    - Dst: ReadBlockFileInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:513,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:515,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:515,1
    - Dst: CBlockFileInfo::CBlockFileInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:517,1
    - Dst: ReadBlockFileInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:518,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:519,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:526,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:530,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:533,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:533,1
    - Dst: node::BlockManager::OpenBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:535,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:542,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:543,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:545,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:545,1
    - Dst: ReadFlag
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:550,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:552,1
    - Dst: ReadReindexing
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:557,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - ' snapshot_blockhash'
    argTypes:
    - std::optional<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 561
    functionName: node::BlockManager::LoadBlockIndexDB
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - CBlockFileInfo::CBlockFileInfo
    - resize
    - ReadBlockFileInfo
    - ToString
    - ReadFlag
    - push_back
    - std::set::begin
    - static_cast<int>
    - size
    - LogInfo
    - LOCK
    - std::set::end
    - std::set::insert
    - node::BlockManager::OpenBlockFile
    - node::BlockManager::BlockfileTypeForHeight
    - ReadReindexing
    - ReadLastBlockFile
    - node::BlockManager::LoadBlockIndex
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::LoadBlockIndexDB(const std::optional<uint256>& snapshot_blockhash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:565,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:566,1
    - Dst: MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:566,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:574,1
    - Dst: node::BlockManager::UnlinkPrunedFiles
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 579
    functionName: node::BlockManager::ScanAndUnlinkAlreadyPrunedFiles
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::UnlinkPrunedFiles
    - WITH_LOCK
    - std::set::insert
    - AssertLockHeld
    - MaxBlockfileNum
    linkageType: ''
    returnType: void
    signature: void BlockManager::ScanAndUnlinkAlreadyPrunedFiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: node::BlockManager::IsBlockPruned
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::IsBlockPruned(const CBlockIndex& block) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:589,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:591,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:598,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' upper_block'
    - status_mask
    - lower_block
    argTypes:
    - CBlockIndex
    - uint32_t
    - CBlockIndex*
    assertStmts:
    - condition: (last_block->nHeight >= lower_block->nHeight)
      pos:
        line_end: 597
        line_start: 597
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    - condition: (last_block != nullptr)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    - condition: ((last_block->nStatus & status_mask) == status_mask)
      pos:
        line_end: 590
        line_start: 590
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 604
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 604
    functionName: node::BlockManager::GetFirstBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: CBlockIndex
    signature: CBlockIndex * BlockManager::GetFirstBlock(const CBlockIndex& upper_block,
      uint32_t status_mask, const CBlockIndex* lower_block) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::BlockManager::GetFirstBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' upper_block'
    - ' lower_block'
    argTypes:
    - CBlockIndex
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: node::BlockManager::CheckBlockDataAvailability
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::GetFirstBlock
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::CheckBlockDataAvailability(const CBlockIndex& upper_block,
      const CBlockIndex& lower_block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:625,1
    - Dst: fs::directory_iterator
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:626,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:627,1
    - Dst: fs::directory_iterator::path
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:627,1
    - Dst: fs::is_regular_file
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:628,1
    - Dst: std::string::length
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:629,1
    - Dst: std::string::ends_with
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:630,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:632,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:633,1
    - Dst: fs::directory_iterator::path
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:633,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:634,1
    - Dst: remove
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:635,1
    - Dst: fs::directory_iterator::path
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:635,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:646,1
    - Dst: remove
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:650,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 652
    functionName: node::BlockManager::CleanupBlockRevFiles
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - fs::directory_iterator
    - std::string::ends_with
    - LocaleIndependentAtoi
    - std::string::length
    - std::string::starts_with
    - fs::is_regular_file
    - remove
    - LogInfo
    - fs::directory_iterator::path
    - fs::PathToString
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void BlockManager::CleanupBlockRevFiles() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:656,1
    - Dst: at
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: node::BlockManager::GetBlockFileInfo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - at
    linkageType: ''
    returnType: CBlockFileInfo
    signature: CBlockFileInfo * BlockManager::GetBlockFileInfo(size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node::BlockManager::OpenUndoFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:666,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:667,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:668,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:668,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:671,1
    - Dst: pprev::GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:677,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:680,1
    - Dst: HashVerifier::GetHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:684,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:685,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:685,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:689,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:689,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' blockundo'
    - ' index'
    argTypes:
    - CBlockUndo
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 694
    functionName: node::BlockManager::ReadBlockUndo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - FlatFilePos::ToString
    - AutoFile::IsNull
    - LogError
    - pprev::GetBlockHash
    - std::move
    - node::BlockManager::OpenUndoFile
    - what
    - uint256::uint256
    - HashVerifier::GetHash
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::ReadBlockUndo(CBlockUndo& blockundo, const CBlockIndex&
      index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:699,1
    - Dst: notifications::flushError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:700,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - block_file
    - finalize
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: node::BlockManager::FlushUndoFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 2
    functionsReached:
    - notifications::flushError
    - Flush
    - _
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::FlushUndoFile(int block_file, bool finalize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:709,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:711,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:718,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:718,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:718,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:721,1
    - Dst: notifications::flushError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:722,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:722,1
    - Dst: node::BlockManager::FlushUndoFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - blockfile_num
    - fFinalize
    - finalize_undo
    argTypes:
    - int
    - bool
    - bool
    assertStmts:
    - condition: (static_cast<int>(m_blockfile_info.size()) > blockfile_num)
      pos:
        line_end: 717
        line_start: 717
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 733
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 733
    functionName: node::BlockManager::FlushBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 2
    functionsReached:
    - node::BlockManager::FlushUndoFile
    - notifications::flushError
    - _
    - static_cast<int>
    - size
    - LOCK
    - Flush
    - assert
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::FlushBlockFile(int blockfile_num, bool fFinalize,
      bool finalize_undo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 741
    functionName: node::BlockManager::BlockfileTypeForHeight
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: BlockfileType
    signature: BlockfileType BlockManager::BlockfileTypeForHeight(int height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:745,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:746,1
    - Dst: node::BlockManager::FlushBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tip_height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 755
    functionName: node::BlockManager::FlushChainstateBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - node::BlockManager::BlockfileTypeForHeight
    - node::BlockManager::FlushBlockFile
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::FlushChainstateBlockFile(int tip_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 766
    functionName: node::BlockManager::CalculateCurrentUsage
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BlockManager::CalculateCurrentUsage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:771,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:771,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:773,1
    - Dst: FileName
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:773,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:774,1
    - Dst: FileName
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:774,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' setFilesToPrune'
    argTypes:
    - std::set<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 779
    functionName: node::BlockManager::UnlinkPrunedFiles
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 2
    functionsReached:
    - end
    - wallet::WalletImpl::remove
    - LogDebug
    - FileName
    - begin
    linkageType: ''
    returnType: void
    signature: void BlockManager::UnlinkPrunedFiles(const std::set<int>& setFilesToPrune)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pos'
    - fReadOnly
    argTypes:
    - FlatFilePos
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: node::BlockManager::OpenBlockFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 4
    functionsReached:
    - Open
    linkageType: ''
    returnType: AutoFile
    signature: AutoFile BlockManager::OpenBlockFile(const FlatFilePos& pos, bool fReadOnly)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pos'
    - fReadOnly
    argTypes:
    - FlatFilePos
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: node::BlockManager::OpenUndoFile
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 3
    functionsReached:
    - Open
    linkageType: ''
    returnType: AutoFile
    signature: AutoFile BlockManager::OpenUndoFile(const FlatFilePos& pos, bool fReadOnly)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileName
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: node::BlockManager::GetBlockPosFilename
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - FileName
    linkageType: ''
    returnType: fs::path
    signature: fs::path BlockManager::GetBlockPosFilename(const FlatFilePos& pos)
      const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:799,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:801,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:805,1
    - Dst: node::BlockManager::MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:806,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:808,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:813,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:813,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:814,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:828,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:834,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:835,1
    - Dst: node::BlockManager::MaxBlockfileNum
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:838,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:842,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:842,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:843,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:851,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:852,1
    - Dst: node::BlockManager::FlushBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:861,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:862,1
    - Dst: AddBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:870,1
    - Dst: Allocate
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:874,1
    - Dst: notifications::fatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:876,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:876,1
    - Dst: node::BlockManager::IsPruneMode
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:879,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:883,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - nAddSize
    - nHeight
    - nTime
    argTypes:
    - unsigned int
    - unsigned int
    - uint64_t
    assertStmts:
    - condition: (nAddSize < max_blockfile_size)
      pos:
        line_end: 827
        line_start: 827
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    - condition: (chain_type == BlockfileType::ASSUMED)
      pos:
        line_end: 804
        line_start: 804
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 885
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 885
    functionName: node::BlockManager::FindNextBlockPos
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - LogPrintLevel
    - Allocate
    - _
    - resize
    - ToString
    - static_cast<int>
    - LogDebug
    - node::BlockManager::IsPruneMode
    - size
    - node::BlockManager::FlushBlockFile
    - LOCK
    - AddBlock
    - Assert
    - node::BlockManager::BlockfileTypeForHeight
    - node::BlockManager::MaxBlockfileNum
    - assert
    - insert
    - notifications::fatalError
    linkageType: ''
    returnType: FlatFilePos
    signature: FlatFilePos BlockManager::FindNextBlockPos(unsigned int nAddSize, unsigned
      int nHeight, uint64_t nTime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:889,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:892,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:899,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:899,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:901,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:901,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:902,1
    - Dst: AddBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:904,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:904,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:905,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' block'
    - nHeight
    - ' pos'
    argTypes:
    - CBlock
    - unsigned int
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 907
    functionName: node::BlockManager::UpdateBlockInfo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - GetBlockTime
    - GetSerializeSize
    - static_cast<int>
    - size
    - std::max
    - LOCK
    - AddBlock
    - node::BlockManager::BlockfileTypeForHeight
    - TX_WITH_WITNESS
    - resize
    - insert
    linkageType: ''
    returnType: void
    signature: void BlockManager::UpdateBlockInfo(const CBlock& block, unsigned int
      nHeight, const FlatFilePos& pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:913,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:917,1
    - Dst: Allocate
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:920,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:922,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:922,1
    - Dst: node::BlockManager::IsPruneMode
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' state'
    - nFile
    - ' pos'
    - nAddSize
    argTypes:
    - BlockValidationState
    - int
    - FlatFilePos
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 929
    functionName: node::BlockManager::FindUndoPos
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - Allocate
    - _
    - node::BlockManager::IsPruneMode
    - FatalError
    - LOCK
    - insert
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::FindUndoPos(BlockValidationState& state, int nFile,
      FlatFilePos& pos, unsigned int nAddSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:933,1
    - Dst: node::BlockManager::BlockfileTypeForHeight
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:934,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:935,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:935,1
    - Dst: GetUndoPos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:938,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:940,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:940,1
    - Dst: node::BlockManager::FindUndoPos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:941,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:942,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:942,1
    - Dst: node::BlockManager::OpenUndoFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:947,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:948,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:949,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:949,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:950,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:950,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:956,1
    - Dst: pprev::GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:961,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:963,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:969,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:970,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:970,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:970,1
    - Dst: FatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:971,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:971,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:979,1
    - Dst: node::BlockManager::FlushUndoFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:985,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:986,1
    - Dst: insert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:994,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' blockundo'
    - ' state'
    - ' block'
    argTypes:
    - CBlockUndo
    - BlockValidationState
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 998
    functionName: node::BlockManager::WriteBlockUndo
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::FindUndoPos
    - FlatFilePos::ToString
    - AutoFile::IsNull
    - pprev::GetBlockHash
    - FatalError
    - AutoFile::fclose
    - HashWriter::GetHash
    - node::BlockManager::BlockfileTypeForHeight
    - GetUndoPos
    - GetParams
    - AssertLockHeld
    - node::BlockManager::FlushUndoFile
    - LogError
    - GetSerializeSize
    - WITH_LOCK
    - Assert
    - node::BlockManager::OpenUndoFile
    - LogPrintLevel
    - _
    - static_cast<uint32_t>
    - SysErrorString
    - insert
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::WriteBlockUndo(const CBlockUndo& blockundo, BlockValidationState&
      state, CBlockIndex& block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1002,1
    - Dst: node::BlockManager::ReadRawBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1006,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1012,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1014,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1014,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1014,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1018,1
    - Dst: CheckProofOfWork
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1021,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1021,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1022,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1022,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1027,1
    - Dst: CheckSignetBlockSolution
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1027,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1027,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1028,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1028,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1033,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1034,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1034,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1034,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' block'
    - ' pos'
    - ' expected_hash'
    argTypes:
    - CBlock
    - FlatFilePos
    - std::optional<uint256>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1000
    functionDepth: 4
    functionLinenumber: 1000
    functionLinenumberEnd: 1039
    functionName: node::BlockManager::ReadBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 1
    functionsReached:
    - CheckProofOfWork
    - auto::ToString
    - CheckSignetBlockSolution
    - ToString
    - LogError
    - SetNull
    - GetHash
    - what
    - TX_WITH_WITNESS
    - GetConsensus
    - node::BlockManager::ReadRawBlock
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::ReadBlock(CBlock& block, const FlatFilePos& pos,
      const std::optional<uint256>& expected_hash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::BlockManager::ReadBlock
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1044,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' block'
    - ' index'
    argTypes:
    - CBlock
    - CBlockIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1045
    functionName: node::BlockManager::ReadBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 2
    functionsReached:
    - node::BlockManager::ReadBlock
    - GetBlockHash
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::ReadBlock(CBlock& block, const CBlockIndex& index)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1053,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1053,1
    - Dst: node::BlockManager::OpenBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1056,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1057,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1058,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1058,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1068,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1069,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1070,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1070,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1070,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1070,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1075,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1076,1
    - Dst: resize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1080,1
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1081,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1083,1
    - Dst: what
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1083,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' block'
    - ' pos'
    argTypes:
    - std::vector<std::byte>
    - FlatFilePos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1088
    functionName: node::BlockManager::ReadRawBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 2
    functionsReached:
    - ToString
    - LogError
    - GetParams
    - AutoFile::IsNull
    - node::BlockManager::OpenBlockFile
    - AutoFile::read
    - what
    - HexStr
    - resize
    linkageType: ''
    returnType: bool
    signature: bool BlockManager::ReadRawBlock(std::vector<std::byte>& block, const
      FlatFilePos& pos) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1092,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1092,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1092,1
    - Dst: node::BlockManager::FindNextBlockPos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1093,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1093,1
    - Dst: FlatFilePos::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1094,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1095,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1095,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1096,1
    - Dst: node::BlockManager::OpenBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1098,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1099,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1100,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1100,1
    - Dst: notifications::fatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1101,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1101,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1102,1
    - Dst: GetParams
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1108,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1111,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1114,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1115,1
    - Dst: FlatFilePos::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1115,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1115,1
    - Dst: notifications::fatalError
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1116,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1116,1
    - Dst: FlatFilePos
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' block'
    - nHeight
    argTypes:
    - CBlock
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1121
    functionName: node::BlockManager::WriteBlock
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - GetBlockTime
    - FlatFilePos::ToString
    - _
    - LogError
    - AutoFile::IsNull
    - GetSerializeSize
    - GetParams
    - node::BlockManager::FindNextBlockPos
    - AutoFile::fclose
    - node::BlockManager::OpenBlockFile
    - static_cast<unsigned int>
    - FlatFilePos::IsNull
    - FlatFilePos
    - SysErrorString
    - TX_WITH_WITNESS
    - notifications::fatalError
    linkageType: ''
    returnType: FlatFilePos
    signature: FlatFilePos BlockManager::WriteBlock(const CBlock& block, int nHeight)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1133,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1134,1
    - Dst: path
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1134,1
    - Dst: is_regular_file
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1135,1
    - Dst: std::string::starts_with
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1135,1
    - Dst: fillrand
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1144,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1148,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1150,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1154,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1162,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1163,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1164,1
    - Dst: SysErrorString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1165,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1171,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1173,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1173,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1176,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1176,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - BlockManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1178
    functionName: node::InitBlocksdirXorKey
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - is_regular_file
    - fs::directory_iterator
    - std::string::starts_with
    - fs::exists
    - fsbridge::fopen
    - AutoFile::fclose
    - LogInfo
    - path
    - fillrand
    - SysErrorString
    - strprintf
    - HexStr
    - fs::PathToString
    linkageType: ''
    returnType: auto
    signature: auto InitBlocksdirXorKey(const BlockManager::Options& opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitBlocksdirXorKey
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1182,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1183,1
    - Dst: std::make_unique<BlockTreeDB>
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1188,1
    - Dst: WriteReindexing
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1191,1
    - Dst: node::BlockManager::CleanupBlockRevFiles
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' interrupt'
    - opts
    argTypes:
    - util::SignalInterrupt
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1198
    functionName: node::BlockManager::BlockManager
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - node::BlockManager::CleanupBlockRevFiles
    - std::move
    - WriteReindexing
    - InitBlocksdirXorKey
    - std::make_unique<BlockTreeDB>
    linkageType: ''
    returnType: void
    signature: void BlockManager::BlockManager(const util::SignalInterrupt& interrupt,
      Options opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' importing'
    argTypes:
    - std::atomic<bool>
    assertStmts:
    - condition: (m_importing == false)
      pos:
        line_end: 1206
        line_start: 1206
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 1209
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1209
    functionName: node::ImportingNow::ImportingNow
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ImportingNow(std::atomic<bool>& importing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_importing == true)
      pos:
        line_end: 1211
        line_start: 1211
        source_file: /src/bitcoin-core/src/node/blockstorage.cpp
    constantsTouched: []
    func_position:
      end: 1214
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1214
    functionName: ~ImportingNow()
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ~ImportingNow()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1229,1
    - Dst: m_blockman::GetBlockPosFilename
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1229,1
    - Dst: m_blockman::OpenBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1232,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1233,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1236,1
    - Dst: LoadExternalBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1237,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1239,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1244,1
    - Dst: m_blockman::m_block_tree_db::WriteReindexing
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1244,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1246,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1248,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1253,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1254,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1255,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1255,1
    - Dst: LoadExternalBlockFile
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1256,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1258,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1262,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1262,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1271,1
    - Dst: GetAll
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1271,1
    - Dst: ActivateBestChain
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1273,1
    - Dst: GetNotifications
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1274,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1274,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1274,1
    - Dst: BlockValidationState::ToString
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ' chainman'
    - import_paths
    argTypes:
    - ChainstateManager
    - std::span<const fs::path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1279
    functionName: node::ImportBlocks
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - _
    - m_blockman::m_block_tree_db::WriteReindexing
    - m_blockman::GetBlockPosFilename
    - BlockValidationState::ToString
    - AutoFile::IsNull
    - fsbridge::fopen
    - fs::exists
    - WITH_LOCK
    - GetAll
    - GetNotifications
    - LogInfo
    - LogPrintf
    - ActiveChainstate
    - ActivateBestChain
    - strprintf
    - LoadExternalBlockFile
    - m_blockman::OpenBlockFile
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void ImportBlocks(ChainstateManager& chainman, std::span<const fs::path>
      import_paths)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setstate
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' os'
    - ' type'
    argTypes:
    - std::ostream
    - BlockfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1288
    functionName: '& operator<<(std::ostream& os, const BlockfileType& type)'
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - setstate
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const BlockfileType& type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/blockstorage.cpp:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' cursor'
    argTypes:
    - std::ostream
    - BlockfileCursor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1293
    functionName: '& operator<<(std::ostream& os, const BlockfileCursor& cursor)'
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const BlockfileCursor&
      cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: '& GetParams() const'
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CChainParams
    signature: CChainParams & GetParams() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainparams::GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '& GetConsensus() const'
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 0
    functionsReached:
    - chainparams::GetConsensus
    linkageType: ''
    returnType: Consensus::Params
    signature: Consensus::Params & GetConsensus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/bitcoin-core/src/node/blockstorage.h:225,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/node/blockstorage.h:226,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: node::BlockManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 2
    functionsReached:
    - std::max
    - value_or
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_LastBlockFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: node::BlockManager::IsPruneMode
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsPruneMode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: node::BlockManager::GetPruneTarget
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetPruneTarget() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: node::BlockManager::LoadingBlocks
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LoadingBlocks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: '& GetParams() const'
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CChainParams
    signature: CChainParams & GetParams() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainparams::GetConsensus
      Src: /src/bitcoin-core/src/node/blockstorage.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '& GetConsensus() const'
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 0
    functionsReached:
    - chainparams::GetConsensus
    linkageType: ''
    returnType: Consensus::Params
    signature: Consensus::Params & GetConsensus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/bitcoin-core/src/node/blockstorage.h:225,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/node/blockstorage.h:226,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/blockstorage.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: node::BlockManager::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 2
    functionsReached:
    - std::max
    - value_or
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_LastBlockFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: node::BlockManager::IsPruneMode
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsPruneMode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: node::BlockManager::GetPruneTarget
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetPruneTarget() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: node::BlockManager::LoadingBlocks
    functionSourceFile: /src/bitcoin-core/src/node/blockstorage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LoadingBlocks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: node::NodeContext::NodeContext
    functionSourceFile: /src/bitcoin-core/src/node/context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeContext::NodeContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: NodeContext::~NodeContext()
    functionSourceFile: /src/bitcoin-core/src/node/context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeContext::~NodeContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: node::NodeContext::NodeContext
    functionSourceFile: /src/bitcoin-core/src/node/context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeContext::NodeContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: NodeContext::~NodeContext()
    functionSourceFile: /src/bitcoin-core/src/node/context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeContext::~NodeContext()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/coin.cpp:14,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/coin.cpp:15,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/coin.cpp:16,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/node/coin.cpp:17,1
    - Dst: CCoinsViewMemPool::GetCoin
      Src: /src/bitcoin-core/src/node/coin.cpp:20,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/coin.cpp:21,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/node/coin.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' node'
    - ' coins'
    argTypes:
    - NodeContext
    - std::map<COutPoint, Coin>
    assertStmts:
    - condition: (node.mempool)
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/bitcoin-core/src/node/coin.cpp
    - condition: (node.chainman)
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/bitcoin-core/src/node/coin.cpp
    constantsTouched: []
    func_position:
      end: 26
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 26
    functionName: node::FindCoins
    functionSourceFile: /src/bitcoin-core/src/node/coin.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - chainman::ActiveChainstate
    - std::move
    - Clear
    - assert
    - CCoinsViewMemPool::GetCoin
    linkageType: ''
    returnType: void
    signature: void FindCoins(const NodeContext& node, std::map<COutPoint, Coin>&
      coins)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/node/coin.cpp:14,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/coin.cpp:15,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/coin.cpp:16,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/node/coin.cpp:17,1
    - Dst: CCoinsViewMemPool::GetCoin
      Src: /src/bitcoin-core/src/node/coin.cpp:20,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/coin.cpp:21,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/node/coin.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' node'
    - ' coins'
    argTypes:
    - NodeContext
    - std::map<COutPoint, Coin>
    assertStmts:
    - condition: (node.mempool)
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/bitcoin-core/src/node/coin.cpp
    - condition: (node.chainman)
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/bitcoin-core/src/node/coin.cpp
    constantsTouched: []
    func_position:
      end: 26
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 26
    functionName: node::FindCoins
    functionSourceFile: /src/bitcoin-core/src/node/coin.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - chainman::ActiveChainstate
    - std::move
    - Clear
    - assert
    - CCoinsViewMemPool::GetCoin
    linkageType: ''
    returnType: void
    signature: void FindCoins(const NodeContext& node, std::map<COutPoint, Coin>&
      coins)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - signal_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ADD_SIGNALS_IMPL_WRAPPER
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_SIGNALS_IMPL_WRAPPER(signal_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::ThreadSafeMessageBox
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' message'
    - ' caption'
    - style
    argTypes:
    - bilingual_str
    - std::string
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: CClientUIInterface::ThreadSafeMessageBox
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::ThreadSafeMessageBox
    linkageType: ''
    returnType: bool
    signature: bool CClientUIInterface::ThreadSafeMessageBox(const bilingual_str&
      message, const std::string& caption, unsigned int style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::ThreadSafeQuestion
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' message'
    - ' non_interactive_message'
    - ' caption'
    - style
    argTypes:
    - bilingual_str
    - std::string
    - std::string
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: CClientUIInterface::ThreadSafeQuestion
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::ThreadSafeQuestion
    linkageType: ''
    returnType: bool
    signature: bool CClientUIInterface::ThreadSafeQuestion(const bilingual_str& message,
      const std::string& non_interactive_message, const std::string& caption, unsigned
      int style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::InitMessage
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: CClientUIInterface::InitMessage
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::InitMessage
    linkageType: ''
    returnType: void
    signature: void CClientUIInterface::InitMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::InitWallet
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: CClientUIInterface::InitWallet
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::InitWallet
    linkageType: ''
    returnType: void
    signature: void CClientUIInterface::InitWallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::NotifyNumConnectionsChanged
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newNumConnections
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: CClientUIInterface::NotifyNumConnectionsChanged
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::NotifyNumConnectionsChanged
    linkageType: ''
    returnType: void
    signature: void CClientUIInterface::NotifyNumConnectionsChanged(int newNumConnections)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::NotifyNetworkActiveChanged
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - networkActive
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: CClientUIInterface::NotifyNetworkActiveChanged
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::NotifyNetworkActiveChanged
    linkageType: ''
    returnType: void
    signature: void CClientUIInterface::NotifyNetworkActiveChanged(bool networkActive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::NotifyAlertChanged
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: CClientUIInterface::NotifyAlertChanged
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::NotifyAlertChanged
    linkageType: ''
    returnType: void
    signature: void CClientUIInterface::NotifyAlertChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::ShowProgress
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' title'
    - nProgress
    - resume_possible
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: CClientUIInterface::ShowProgress
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::ShowProgress
    linkageType: ''
    returnType: void
    signature: void CClientUIInterface::ShowProgress(const std::string& title, int
      nProgress, bool resume_possible)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::NotifyBlockTip
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - ' block'
    - verification_progress
    argTypes:
    - SynchronizationState
    - CBlockIndex
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: CClientUIInterface::NotifyBlockTip
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::NotifyBlockTip
    linkageType: ''
    returnType: void
    signature: void CClientUIInterface::NotifyBlockTip(SynchronizationState s, const
      CBlockIndex& block, double verification_progress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::NotifyHeaderTip
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - height
    - timestamp
    - presync
    argTypes:
    - SynchronizationState
    - int64_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: CClientUIInterface::NotifyHeaderTip
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::NotifyHeaderTip
    linkageType: ''
    returnType: void
    signature: void CClientUIInterface::NotifyHeaderTip(SynchronizationState s, int64_t
      height, int64_t timestamp, bool presync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CClientUIInterface::BannedListChanged
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: CClientUIInterface::BannedListChanged
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 1
    functionsReached:
    - CClientUIInterface::BannedListChanged
    linkageType: ''
    returnType: void
    signature: void CClientUIInterface::BannedListChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadSafeMessageBox
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: InitError
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 15
    functionsReached:
    - ThreadSafeMessageBox
    linkageType: ''
    returnType: bool
    signature: bool InitError(const bilingual_str& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitError
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:77,1
    - Dst: empty
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:77,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:77,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:77,1
    - Dst: MakeUnorderedList
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - ' details'
    argTypes:
    - bilingual_str
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: InitError
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 16
    functionsReached:
    - empty
    - InitError
    - strprintf
    - MakeUnorderedList
    - Untranslated
    linkageType: ''
    returnType: bool
    signature: bool InitError(const bilingual_str& str, const std::vector<std::string>&
      details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadSafeMessageBox
      Src: /src/bitcoin-core/src/node/interface_ui.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: InitWarning
    functionSourceFile: /src/bitcoin-core/src/node/interface_ui.cpp
    functionUses: 2
    functionsReached:
    - ThreadSafeMessageBox
    linkageType: ''
    returnType: void
    signature: void InitWarning(const bilingual_str& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' warnings'
    argTypes:
    - node::Warnings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: TimeOffsets::TimeOffsets
    functionSourceFile: /src/bitcoin-core/src/node/timeoffsets.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimeOffsets(node::Warnings& warnings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txorphanage.h:51,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txorphanage.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - tx
    - ' announcers'
    argTypes:
    - CTransactionRef
    - std::set<NodeId>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: node::TxOrphanage::OrphanInfo
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void OrphanInfo(CTransactionRef tx, std::set<NodeId>&& announcers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~TxOrphanage()
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TxOrphanage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txorphanage.h:51,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/txorphanage.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - tx
    - ' announcers'
    argTypes:
    - CTransactionRef
    - std::set<NodeId>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: node::TxOrphanage::OrphanInfo
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void OrphanInfo(CTransactionRef tx, std::set<NodeId>&& announcers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~TxOrphanage()
    functionSourceFile: /src/bitcoin-core/src/node/txorphanage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TxOrphanage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRollingBloomFilter>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: '& RecentRejectsFilter()'
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRollingBloomFilter>
    linkageType: ''
    returnType: CRollingBloomFilter
    signature: CRollingBloomFilter & RecentRejectsFilter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRollingBloomFilter>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: '& RecentRejectsReconsiderableFilter()'
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRollingBloomFilter>
    linkageType: ''
    returnType: CRollingBloomFilter
    signature: CRollingBloomFilter & RecentRejectsReconsiderableFilter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRollingBloomFilter>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: '& RecentConfirmedTransactionsFilter()'
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRollingBloomFilter>
    linkageType: ''
    returnType: CRollingBloomFilter
    signature: CRollingBloomFilter & RecentConfirmedTransactionsFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeTxOrphanage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - TxDownloadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: node::TxDownloadManagerImpl::TxDownloadManagerImpl
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached:
    - MakeTxOrphanage
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl(const TxDownloadOptions& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - TxDownloadConnectionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: node::TxDownloadManagerImpl::PeerInfo
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PeerInfo(const TxDownloadConnectionInfo& info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRollingBloomFilter>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: '& RecentRejectsFilter()'
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRollingBloomFilter>
    linkageType: ''
    returnType: CRollingBloomFilter
    signature: CRollingBloomFilter & RecentRejectsFilter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRollingBloomFilter>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: '& RecentRejectsReconsiderableFilter()'
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRollingBloomFilter>
    linkageType: ''
    returnType: CRollingBloomFilter
    signature: CRollingBloomFilter & RecentRejectsReconsiderableFilter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRollingBloomFilter>
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: '& RecentConfirmedTransactionsFilter()'
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRollingBloomFilter>
    linkageType: ''
    returnType: CRollingBloomFilter
    signature: CRollingBloomFilter & RecentConfirmedTransactionsFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeTxOrphanage
      Src: /src/bitcoin-core/src/node/txdownloadman_impl.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - TxDownloadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: node::TxDownloadManagerImpl::TxDownloadManagerImpl
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached:
    - MakeTxOrphanage
    linkageType: ''
    returnType: void
    signature: void TxDownloadManagerImpl(const TxDownloadOptions& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - TxDownloadConnectionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: node::TxDownloadManagerImpl::PeerInfo
    functionSourceFile: /src/bitcoin-core/src/node/txdownloadman_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PeerInfo(const TxDownloadConnectionInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - signer
    argTypes:
    - ::ExternalSigner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: node::ExternalSignerImpl::ExternalSignerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ExternalSignerImpl(::ExternalSigner signer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: node::ExternalSignerImpl::getName
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::NodeImpl::setContext
      Src: /src/bitcoin-core/src/node/interfaces.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: node::NodeImpl::NodeImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - node::NodeImpl::setContext
    linkageType: ''
    returnType: void
    signature: void NodeImpl(NodeContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitLogging
      Src: /src/bitcoin-core/src/node/interfaces.cpp:106,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: node::NodeImpl::initLogging
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitLogging
    - args
    linkageType: ''
    returnType: void
    signature: void initLogging() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitParameterInteraction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:107,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: node::NodeImpl::initParameterInteraction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - InitParameterInteraction
    linkageType: ''
    returnType: void
    signature: void initParameterInteraction() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: node::NodeImpl::getWarnings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - Untranslated
    - Join
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str getWarnings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:109,1
    - Dst: load
      Src: /src/bitcoin-core/src/node/interfaces.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: node::NodeImpl::getExitStatus
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - load
    linkageType: ''
    returnType: int
    signature: int getExitStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/node/interfaces.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: node::NodeImpl::getLogCategories
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: BCLog::CategoryMask
    signature: BCLog::CategoryMask getLogCategories() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AppInitBasicSetup
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: node::NodeImpl::context
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: AppInitParameterInteraction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:114,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:114,1
    - Dst: std::make_unique<node::Warnings>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:116,1
    - Dst: std::make_unique<kernel::Context>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:117,1
    - Dst: std::make_unique<ECC_Context>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:118,1
    - Dst: AppInitSanityChecks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:119,1
    - Dst: AppInitLockDirectories
      Src: /src/bitcoin-core/src/node/interfaces.cpp:121,1
    - Dst: AppInitInterfaces
      Src: /src/bitcoin-core/src/node/interfaces.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: node::NodeImpl::baseInitialize
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECC_Context>
    - args
    - AppInitSanityChecks
    - std::make_unique<node::Warnings>
    - std::make_unique<kernel::Context>
    - AppInitLockDirectories
    - Assert
    - AppInitBasicSetup
    - node::NodeImpl::context
    - AppInitParameterInteraction
    - AppInitInterfaces
    linkageType: ''
    returnType: bool
    signature: bool baseInitialize() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AppInitMain
      Src: /src/bitcoin-core/src/node/interfaces.cpp:128,1
    - Dst: exit_status::store
      Src: /src/bitcoin-core/src/node/interfaces.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tip_info
    argTypes:
    - interfaces::BlockAndHeaderTipInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 7
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: node::NodeImpl::appInitMain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - exit_status::store
    - AppInitMain
    linkageType: ''
    returnType: bool
    signature: bool appInitMain(interfaces::BlockAndHeaderTipInfo* tip_info) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interrupt
      Src: /src/bitcoin-core/src/node/interfaces.cpp:135,1
    - Dst: Shutdown
      Src: /src/bitcoin-core/src/node/interfaces.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: node::NodeImpl::appShutdown
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Shutdown
    - Interrupt
    linkageType: ''
    returnType: void
    signature: void appShutdown() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:140,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:141,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/interfaces.cpp:142,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:146,1
    - Dst: InterruptRPC
      Src: /src/bitcoin-core/src/node/interfaces.cpp:147,1
    - Dst: StopRPC
      Src: /src/bitcoin-core/src/node/interfaces.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: node::NodeImpl::startShutdown
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - StopRPC
    - LogError
    - InterruptRPC
    - Assert
    linkageType: ''
    returnType: void
    signature: void startShutdown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/node/interfaces.cpp:151,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: node::NodeImpl::shutdownRequested
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShutdownRequested
    - Assert
    linkageType: ''
    returnType: bool
    signature: bool shutdownRequested() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:155,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:156,1
    - Dst: auto*::empty
      Src: /src/bitcoin-core/src/node/interfaces.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: node::NodeImpl::isSettingIgnored
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - auto*::empty
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: bool isSettingIgnored(const std::string& name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: node::NodeImpl::getPersistentSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getPersistentSetting(const std::string& name)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:165,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:166,1
    - Dst: rw_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:167,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: node::NodeImpl::updateRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - isNull
    - rw_settings::erase
    linkageType: ''
    returnType: void
    signature: void updateRwSetting(const std::string& name, const common::SettingsValue&
      value) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:176,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:177,1
    - Dst: forced_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: node::NodeImpl::forceSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - isNull
    - forced_settings::erase
    linkageType: ''
    returnType: void
    signature: void forceSetting(const std::string& name, const common::SettingsValue&
      value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:186,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:187,1
    - Dst: rw_settings::clear
      Src: /src/bitcoin-core/src/node/interfaces.cpp:188,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: node::NodeImpl::resetSettings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - rw_settings::clear
    linkageType: ''
    returnType: void
    signature: void resetSettings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartMapPort
      Src: /src/bitcoin-core/src/node/interfaces.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: node::NodeImpl::mapPort
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - StartMapPort
    linkageType: ''
    returnType: void
    signature: void mapPort(bool enable) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProxy
      Src: /src/bitcoin-core/src/node/interfaces.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - net
    - ' proxy_info'
    argTypes:
    - Network
    - Proxy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: node::NodeImpl::getProxy
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetProxy
    linkageType: ''
    returnType: bool
    signature: bool getProxy(Network net, Proxy& proxy_info) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetNodeCount
      Src: /src/bitcoin-core/src/node/interfaces.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - ConnectionDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: node::NodeImpl::getNodeCount
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetNodeCount
    linkageType: ''
    returnType: size_t
    signature: size_t getNodeCount(ConnectionDirection flags) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/interfaces.cpp:200,1
    - Dst: connman::GetNodeStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:204,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/node/interfaces.cpp:206,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:206,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: CNodeStateStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:213,1
    - Dst: std::get<1>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:216,1
    - Dst: peerman::GetNodeStateStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    - Dst: std::get<2>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - NodesStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: node::NodeImpl::getNodesStats
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - std::get<1>
    - std::get<2>
    - std::move
    - clear
    - peerman::GetNodeStateStats
    - CNodeStateStats
    - emplace_back
    - std::get<0>
    - std::vector::size
    - TRY_LOCK
    - connman::GetNodeStats
    linkageType: ''
    returnType: bool
    signature: bool getNodesStats(NodesStats& stats) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::GetBanned
      Src: /src/bitcoin-core/src/node/interfaces.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' banmap'
    argTypes:
    - banmap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: node::NodeImpl::getBanned
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::GetBanned
    linkageType: ''
    returnType: bool
    signature: bool getBanned(banmap_t& banmap) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::Ban
      Src: /src/bitcoin-core/src/node/interfaces.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' net_addr'
    - ban_time_offset
    argTypes:
    - CNetAddr
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: node::NodeImpl::ban
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::Ban
    linkageType: ''
    returnType: bool
    signature: bool ban(const CNetAddr& net_addr, int64_t ban_time_offset) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::Unban
      Src: /src/bitcoin-core/src/node/interfaces.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ip'
    argTypes:
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: node::NodeImpl::unban
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::Unban
    linkageType: ''
    returnType: bool
    signature: bool unban(const CSubNet& ip) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/node/interfaces.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' net_addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: node::NodeImpl::disconnectByAddress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::DisconnectNode
    linkageType: ''
    returnType: bool
    signature: bool disconnectByAddress(const CNetAddr& net_addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/node/interfaces.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: node::NodeImpl::disconnectById
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::DisconnectNode
    linkageType: ''
    returnType: bool
    signature: bool disconnectById(NodeId id) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:267,1
    - Dst: ExternalSigner::Enumerate
      Src: /src/bitcoin-core/src/node/interfaces.cpp:269,1
    - Dst: Params
      Src: /src/bitcoin-core/src/node/interfaces.cpp:269,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/interfaces.cpp:271,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:271,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    - Dst: std::make_unique<ExternalSignerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 285
    functionName: node::NodeImpl::listExternalSigners
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - std::vector::emplace_back
    - std::vector::reserve
    - std::move
    - Params
    - ExternalSigner::Enumerate
    - std::make_unique<ExternalSignerImpl>
    - std::vector::size
    linkageType: ''
    returnType: std::vector<std::unique_ptr<interfaces::ExternalSigner>>
    signature: std::vector<std::unique_ptr<interfaces::ExternalSigner>> listExternalSigners()
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetTotalBytesRecv
      Src: /src/bitcoin-core/src/node/interfaces.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: node::NodeImpl::getTotalBytesRecv
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetTotalBytesRecv
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTotalBytesRecv() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetTotalBytesSent
      Src: /src/bitcoin-core/src/node/interfaces.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: node::NodeImpl::getTotalBytesSent
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetTotalBytesSent
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTotalBytesSent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: node::NodeImpl::getMempoolSize
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::size
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: node::NodeImpl::getMempoolDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::DynamicMemoryUsage
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolDynamicUsage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: node::NodeImpl::getMempoolMaxUsage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolMaxUsage() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:293,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:294,1
    - Dst: auto::GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' height'
    - ' block_time'
    argTypes:
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: node::NodeImpl::getHeaderTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    - auto::GetBlockTime
    linkageType: ''
    returnType: bool
    signature: bool getHeaderTip(int& height, int64_t& block_time) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::getNetLocalAddresses
      Src: /src/bitcoin-core/src/node/interfaces.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: node::NodeImpl::getNetLocalAddresses
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::getNetLocalAddresses
    linkageType: ''
    returnType: std::map<CNetAddr, LocalServiceInfo>
    signature: std::map<CNetAddr, LocalServiceInfo> getNetLocalAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:311,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: node::NodeImpl::getNumBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: int
    signature: int getNumBlocks() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:316,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:316,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:317,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: node::NodeImpl::getBestBlockHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - WITH_LOCK
    - CBlockIndex*::GetBlockHash
    linkageType: ''
    returnType: uint256
    signature: uint256 getBestBlockHash() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:321,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:322,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:323,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: node::NodeImpl::getLastBlockTime
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: int64_t
    signature: int64_t getLastBlockTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:329,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:329,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:330,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: node::NodeImpl::getVerificationProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: double
    signature: double getVerificationProgress() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: node::NodeImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:336,1
    - Dst: LoadingBlocks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: node::NodeImpl::isLoadingBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadingBlocks
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isLoadingBlocks() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::SetNetworkActive
      Src: /src/bitcoin-core/src/node/interfaces.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: node::NodeImpl::setNetworkActive
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::SetNetworkActive
    linkageType: ''
    returnType: void
    signature: void setNetworkActive(bool active) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetNetworkActive
      Src: /src/bitcoin-core/src/node/interfaces.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: node::NodeImpl::getNetworkActive
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetNetworkActive
    linkageType: ''
    returnType: bool
    signature: bool getNetworkActive() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: node::NodeImpl::getDustRelayFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate getDustRelayFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/bitcoin-core/src/node/interfaces.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' command'
    - ' params'
    - ' uri'
    argTypes:
    - std::string
    - UniValue
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: node::NodeImpl::executeRpc
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - execute
    linkageType: ''
    returnType: UniValue
    signature: UniValue executeRpc(const std::string& command, const UniValue& params,
      const std::string& uri) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listCommands
      Src: /src/bitcoin-core/src/node/interfaces.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: node::NodeImpl::listRpcCommands
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - listCommands
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> listRpcCommands() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:361,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: node::NodeImpl::getUnspentOutput
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> getUnspentOutput(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:366,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tx
    - max_tx_fee
    - ' err_string'
    argTypes:
    - CTransactionRef
    - CAmount
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: node::NodeImpl::broadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BroadcastTransaction
    - std::move
    linkageType: ''
    returnType: TransactionError
    signature: TransactionError broadcastTransaction(CTransactionRef tx, CAmount max_tx_fee,
      std::string& err_string) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: '& walletLoader() override'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: WalletLoader
    signature: WalletLoader & walletLoader() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:374,1
    - Dst: InitMessage_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - InitMessageFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: node::NodeImpl::handleInitMessage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - InitMessage_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleInitMessage(InitMessageFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:378,1
    - Dst: ThreadSafeMessageBox_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - MessageBoxFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: node::NodeImpl::handleMessageBox
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ThreadSafeMessageBox_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleMessageBox(MessageBoxFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:382,1
    - Dst: ThreadSafeQuestion_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - QuestionFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: node::NodeImpl::handleQuestion
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ThreadSafeQuestion_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleQuestion(QuestionFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:386,1
    - Dst: ShowProgress_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - ShowProgressFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: node::NodeImpl::handleShowProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ShowProgress_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:390,1
    - Dst: InitWallet_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - InitWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: node::NodeImpl::handleInitWallet
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - InitWallet_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleInitWallet(InitWalletFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:394,1
    - Dst: NotifyNumConnectionsChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyNumConnectionsChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: node::NodeImpl::handleNotifyNumConnectionsChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyNumConnectionsChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyNumConnectionsChanged(NotifyNumConnectionsChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:398,1
    - Dst: NotifyNetworkActiveChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyNetworkActiveChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: node::NodeImpl::handleNotifyNetworkActiveChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyNetworkActiveChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyNetworkActiveChanged(NotifyNetworkActiveChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:402,1
    - Dst: NotifyAlertChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyAlertChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: node::NodeImpl::handleNotifyAlertChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyAlertChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyAlertChanged(NotifyAlertChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:406,1
    - Dst: BannedListChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - BannedListChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: node::NodeImpl::handleBannedListChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - BannedListChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleBannedListChanged(BannedListChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:410,1
    - Dst: NotifyBlockTip_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:410,1
    - Dst: fn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyBlockTipFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: node::NodeImpl::handleNotifyBlockTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - GetBlockTime
    - NotifyBlockTip_connect
    - fn
    - GetBlockHash
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyBlockTip(NotifyBlockTipFn fn)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:416,1
    - Dst: NotifyHeaderTip_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:417,1
    - Dst: fn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyHeaderTipFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: node::NodeImpl::handleNotifyHeaderTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyHeaderTip_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyHeaderTip(NotifyHeaderTipFn fn)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: node::NodeImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - NodeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: node::NodeImpl::setContext
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setContext(NodeContext* context) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:426,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: '& args()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & args()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 427
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:435,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:437,1
    - Dst: GetBlockTimeMax
      Src: /src/bitcoin-core/src/node/interfaces.cpp:438,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/node/interfaces.cpp:439,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/node/interfaces.cpp:441,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:442,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:444,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:445,1
    - Dst: m_data::SetNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:445,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 449
    functionName: node::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 8
    functionsReached:
    - ReadBlock
    - GetBlockTime
    - GetMedianTimePast
    - FillBlock
    - m_data::SetNull
    - GetBlockTimeMax
    - GetLocator
    - REVERSE_LOCK
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - notifications
    argTypes:
    - std::shared_ptr<Chain::Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: node::NotificationsProxy::NotificationsProxy
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NotificationsProxy(std::shared_ptr<Chain::Notifications> notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: ~NotificationsProxy()
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NotificationsProxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transactionAddedToMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tx'
    - mempool_sequence
    argTypes:
    - NewMempoolTransactionInfo
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: node::NotificationsProxy::TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - transactionAddedToMempool
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t mempool_sequence) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transactionRemovedFromMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tx'
    - reason
    - mempool_sequence
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: node::NotificationsProxy::TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - transactionRemovedFromMempool
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t mempool_sequence) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockConnected
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - role
    - ' block'
    - index
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: node::NotificationsProxy::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - blockConnected
    - get
    - kernel::MakeBlockInfo
    linkageType: ''
    returnType: void
    signature: void BlockConnected(ChainstateRole role, const std::shared_ptr<const
      CBlock>& block, const CBlockIndex* index) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDisconnected
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' block'
    - index
    argTypes:
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: node::NotificationsProxy::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - kernel::MakeBlockInfo
    - get
    - blockDisconnected
    linkageType: ''
    returnType: void
    signature: void BlockDisconnected(const std::shared_ptr<const CBlock>& block,
      const CBlockIndex* index) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updatedBlockTip
      Src: /src/bitcoin-core/src/node/interfaces.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - fork_index
    - is_ibd
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: node::NotificationsProxy::UpdatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - updatedBlockTip
    linkageType: ''
    returnType: void
    signature: void UpdatedBlockTip(const CBlockIndex* index, const CBlockIndex* fork_index,
      bool is_ibd) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainStateFlushed
      Src: /src/bitcoin-core/src/node/interfaces.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - role
    - ' locator'
    argTypes:
    - ChainstateRole
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: node::NotificationsProxy::ChainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainStateFlushed
    linkageType: ''
    returnType: void
    signature: void ChainStateFlushed(ChainstateRole role, const CBlockLocator& locator)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NotificationsProxy>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:487,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:487,1
    - Dst: RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/node/interfaces.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' signals'
    - notifications
    argTypes:
    - ValidationSignals
    - std::shared_ptr<Chain::Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: node::NotificationsHandlerImpl::NotificationsHandlerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - RegisterSharedValidationInterface
    - std::make_shared<NotificationsProxy>
    - std::move
    linkageType: ''
    returnType: void
    signature: void NotificationsHandlerImpl(ValidationSignals& signals, std::shared_ptr<Chain::Notifications>
      notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: ~NotificationsHandlerImpl() override
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ~NotificationsHandlerImpl() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnregisterSharedValidationInterface
      Src: /src/bitcoin-core/src/node/interfaces.cpp:495,1
    - Dst: reset
      Src: /src/bitcoin-core/src/node/interfaces.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: node::NotificationsHandlerImpl::disconnect
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - UnregisterSharedValidationInterface
    - reset
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: actor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:511,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/node/interfaces.cpp:518,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/node/interfaces.cpp:518,1
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/node/interfaces.cpp:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - CRPCCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: node::RpcHandlerImpl::RpcHandlerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - actor
    - appendCommand
    - getInt
    - isNum
    linkageType: ''
    returnType: void
    signature: void RpcHandlerImpl(const CRPCCommand& command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeCommand
      Src: /src/bitcoin-core/src/node/interfaces.cpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: node::RpcHandlerImpl::disconnect
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - removeCommand
    linkageType: ''
    returnType: void
    signature: void disconnect() final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: ~RpcHandlerImpl() override
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ~RpcHandlerImpl() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: node::ChainImpl::ChainImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainImpl(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: node::ChainImpl::getHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> getHeight() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:553,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:554,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: node::ChainImpl::getBlockHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - LOCK
    - Assert
    linkageType: ''
    returnType: uint256
    signature: uint256 getBlockHash(int height) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:558,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: node::ChainImpl::haveBlockOnDisk
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool haveBlockOnDisk(int height) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:564,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: node::ChainImpl::getTipLocator
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator getTipLocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:569,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:570,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:570,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/node/interfaces.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: node::ChainImpl::getActiveChainLocator
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    - GetLocator
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator getActiveChainLocator(const uint256& block_hash) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:575,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: node::ChainImpl::findLocatorFork
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> findLocatorFork(const CBlockLocator& locator) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter_type
    argTypes:
    - BlockFilterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: node::ChainImpl::hasBlockFilterIndex
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetBlockFilterIndex
    linkageType: ''
    returnType: bool
    signature: bool hasBlockFilterIndex(BlockFilterType filter_type) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:587,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:590,1
    - Dst: BlockFilterIndex*::LookupFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:592,1
    - Dst: BlockFilter::GetFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - filter_type
    - ' block_hash'
    - ' filter_set'
    argTypes:
    - BlockFilterType
    - uint256
    - GCSFilter::ElementSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: node::ChainImpl::blockFilterMatchesAny
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BlockFilter::GetFilter
    - GetBlockFilterIndex
    - BlockFilterIndex*::LookupFilter
    - BlockFilter::BlockFilter
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blockFilterMatchesAny(BlockFilterType filter_type,
      const uint256& block_hash, const GCSFilter::ElementSet& filter_set) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:597,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hash'
    - ' block'
    argTypes:
    - uint256
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: node::ChainImpl::findBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    linkageType: ''
    returnType: bool
    signature: bool findBlock(const uint256& hash, const FoundBlock& block) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:602,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:603,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    - Dst: FindEarliestAtLeast
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - min_time
    - min_height
    - ' block'
    argTypes:
    - int64_t
    - int
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: node::ChainImpl::findFirstBlockWithTimeAndHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - FillBlock
    - WAIT_LOCK
    - FindEarliestAtLeast
    linkageType: ''
    returnType: bool
    signature: bool findFirstBlockWithTimeAndHeight(int64_t min_time, int min_height,
      const FoundBlock& block) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:608,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:609,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:610,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:610,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:611,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:612,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:612,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:615,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' block_hash'
    - ancestor_height
    - ' ancestor_out'
    argTypes:
    - uint256
    - int
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: node::ChainImpl::findAncestorByHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool findAncestorByHeight(const uint256& block_hash, int ancestor_height,
      const FoundBlock& ancestor_out) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:619,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:620,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:620,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:621,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:621,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:622,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' block_hash'
    - ' ancestor_hash'
    - ' ancestor_out'
    argTypes:
    - uint256
    - uint256
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: node::ChainImpl::findAncestorByHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool findAncestorByHash(const uint256& block_hash, const uint256& ancestor_hash,
      const FoundBlock& ancestor_out) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:627,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:628,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:629,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:629,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:630,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:630,1
    - Dst: LastCommonAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:631,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:635,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:635,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:636,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:636,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:637,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - ' block_hash1'
    - ' block_hash2'
    - ' ancestor_out'
    - ' block1_out'
    - ' block2_out'
    argTypes:
    - uint256
    - uint256
    - FoundBlock
    - FoundBlock
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 638
    functionName: node::ChainImpl::findCommonAncestor
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LastCommonAncestor
    - LookupBlockIndex
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool findCommonAncestor(const uint256& block_hash1, const uint256&
      block_hash2, const FoundBlock& ancestor_out, const FoundBlock& block1_out, const
      FoundBlock& block2_out) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindCoins
      Src: /src/bitcoin-core/src/node/interfaces.cpp:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coins'
    argTypes:
    - std::map<COutPoint, Coin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: node::ChainImpl::findCoins
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FindCoins
    linkageType: ''
    returnType: void
    signature: void findCoins(std::map<COutPoint, Coin>& coins) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:642,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:642,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: node::ChainImpl::guessVerificationProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    linkageType: ''
    returnType: double
    signature: double guessVerificationProgress(const uint256& block_hash) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:654,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:655,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:655,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ' block_hash'
    - min_height
    - max_height
    argTypes:
    - uint256
    - int
    - std::optional<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 663
    functionName: node::ChainImpl::hasBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool hasBlocks(const uint256& block_hash, int min_height, std::optional<int>
      max_height) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsRBFOptInEmptyMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:666,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:667,1
    - Dst: IsRBFOptIn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: node::ChainImpl::isRBFOptIn
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsRBFOptInEmptyMempool
    - LOCK
    - IsRBFOptIn
    linkageType: ''
    returnType: RBFTransactionState
    signature: RBFTransactionState isRBFOptIn(const CTransaction& tx) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:673,1
    - Dst: mempool::exists
      Src: /src/bitcoin-core/src/node/interfaces.cpp:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 675
    functionName: node::ChainImpl::isInMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mempool::exists
    linkageType: ''
    returnType: bool
    signature: bool isInMempool(const Txid& txid) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:679,1
    - Dst: mempool::GetEntry
      Src: /src/bitcoin-core/src/node/interfaces.cpp:680,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/node/interfaces.cpp:680,1
    - Dst: auto::GetCountWithDescendants
      Src: /src/bitcoin-core/src/node/interfaces.cpp:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: node::ChainImpl::hasDescendantsInMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - transaction_identifier::FromUint256
    - auto::GetCountWithDescendants
    - mempool::GetEntry
    linkageType: ''
    returnType: bool
    signature: bool hasDescendantsInMempool(const uint256& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' tx'
    - ' max_tx_fee'
    - relay
    - ' err_string'
    argTypes:
    - CTransactionRef
    - CAmount
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 694
    functionName: node::ChainImpl::broadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BroadcastTransaction
    linkageType: ''
    returnType: bool
    signature: "bool broadcastTransaction(const CTransactionRef& tx,\n        const
      CAmount& max_tx_fee,\n        bool relay,\n        std::string& err_string)
      override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mempool::GetTransactionAncestry
      Src: /src/bitcoin-core/src/node/interfaces.cpp:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' txid'
    - ' ancestors'
    - ' descendants'
    - ancestorsize
    - ancestorfees
    argTypes:
    - uint256
    - size_t
    - size_t
    - size_t*
    - CAmount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: node::ChainImpl::getTransactionAncestry
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::GetTransactionAncestry
    linkageType: ''
    returnType: void
    signature: void getTransactionAncestry(const uint256& txid, size_t& ancestors,
      size_t& descendants, size_t* ancestorsize, CAmount* ancestorfees) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/node/interfaces.cpp:707,1
    - Dst: MiniMiner
      Src: /src/bitcoin-core/src/node/interfaces.cpp:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' outpoints'
    - ' target_feerate'
    argTypes:
    - std::vector<COutPoint>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 712
    functionName: node::ChainImpl::calculateIndividualBumpFees
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::map::emplace
    - MiniMiner
    linkageType: ''
    returnType: std::map<COutPoint, CAmount>
    signature: std::map<COutPoint, CAmount> calculateIndividualBumpFees(const std::vector<COutPoint>&
      outpoints, const CFeeRate& target_feerate) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MiniMiner
      Src: /src/bitcoin-core/src/node/interfaces.cpp:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' outpoints'
    - ' target_feerate'
    argTypes:
    - std::vector<COutPoint>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 720
    functionName: node::ChainImpl::calculateCombinedBumpFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MiniMiner
    linkageType: ''
    returnType: std::optional<CAmount>
    signature: std::optional<CAmount> calculateCombinedBumpFee(const std::vector<COutPoint>&
      outpoints, const CFeeRate& target_feerate) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' limit_ancestor_count'
    - ' limit_descendant_count'
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: node::ChainImpl::getPackageLimits
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getPackageLimits(unsigned int& limit_ancestor_count, unsigned
      int& limit_descendant_count) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:735,1
    - Dst: mempool::CheckPackageLimits
      Src: /src/bitcoin-core/src/node/interfaces.cpp:736,1
    - Dst: CTxMemPoolEntry::GetTxSize
      Src: /src/bitcoin-core/src/node/interfaces.cpp:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: node::ChainImpl::checkChainLimits
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mempool::CheckPackageLimits
    - CTxMemPoolEntry::GetTxSize
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> checkChainLimits(const CTransactionRef& tx) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fee_estimator::estimateSmartFee
      Src: /src/bitcoin-core/src/node/interfaces.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - num_blocks
    - conservative
    - calc
    argTypes:
    - int
    - bool
    - FeeCalculation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 742
    functionName: node::ChainImpl::estimateSmartFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - fee_estimator::estimateSmartFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate estimateSmartFee(int num_blocks, bool conservative, FeeCalculation*
      calc) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fee_estimator::HighestTargetTracked
      Src: /src/bitcoin-core/src/node/interfaces.cpp:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: node::ChainImpl::estimateMaxBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - fee_estimator::HighestTargetTracked
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int estimateMaxBlocks() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mempool::GetMinFee
      Src: /src/bitcoin-core/src/node/interfaces.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: node::ChainImpl::mempoolMinFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::GetMinFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate mempoolMinFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: node::ChainImpl::relayMinFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayMinFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: node::ChainImpl::relayIncrementalFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayIncrementalFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: node::ChainImpl::relayDustFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayDustFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:770,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: node::ChainImpl::havePruned
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool havePruned() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:775,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:775,1
    - Dst: GetPruneHeight
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: node::ChainImpl::getPruneHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetPruneHeight
    - chainman
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> getPruneHeight() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    - Dst: LoadingBlocks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    - Dst: node::ChainImpl::isInitialBlockDownload
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: node::ChainImpl::isReadyToBroadcast
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadingBlocks
    - chainman
    - node::ChainImpl::isInitialBlockDownload
    linkageType: ''
    returnType: bool
    signature: bool isReadyToBroadcast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: node::ChainImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 1
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/node/interfaces.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 783
    functionName: node::ChainImpl::shutdownRequested
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShutdownRequested
    linkageType: ''
    returnType: bool
    signature: bool shutdownRequested() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 784
    functionName: node::ChainImpl::initMessage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitMessage
    linkageType: ''
    returnType: void
    signature: void initMessage(const std::string& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/node/interfaces.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 785
    functionName: node::ChainImpl::initWarning
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitWarning
    linkageType: ''
    returnType: void
    signature: void initWarning(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitError
      Src: /src/bitcoin-core/src/node/interfaces.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 786
    functionDepth: 4
    functionLinenumber: 786
    functionLinenumberEnd: 786
    functionName: node::ChainImpl::initError
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitError
    linkageType: ''
    returnType: void
    signature: void initError(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowProgress
      Src: /src/bitcoin-core/src/node/interfaces.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' title'
    - progress
    - resume_possible
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: node::ChainImpl::showProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShowProgress
    linkageType: ''
    returnType: void
    signature: void showProgress(const std::string& title, int progress, bool resume_possible)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NotificationsHandlerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    - Dst: validation_signals
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - notifications
    argTypes:
    - std::shared_ptr<Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: node::ChainImpl::handleNotifications
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<NotificationsHandlerImpl>
    - validation_signals
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifications(std::shared_ptr<Notifications>
      notifications) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: validation_signals
      Src: /src/bitcoin-core/src/node/interfaces.cpp:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' old_tip'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: node::ChainImpl::waitForNotificationsIfTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - WITH_LOCK
    - validation_signals
    - IsNull
    linkageType: ''
    returnType: void
    signature: void waitForNotificationsIfTipChanged(const uint256& old_tip) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RpcHandlerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - CRPCCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: node::ChainImpl::handleRpc
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RpcHandlerImpl>
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleRpc(const CRPCCommand& command) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/node/interfaces.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' method'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: node::ChainImpl::rpcEnableDeprecated
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsDeprecatedRPCEnabled
    linkageType: ''
    returnType: bool
    signature: bool rpcEnableDeprecated(const std::string& method) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: node::ChainImpl::getSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getSetting(const std::string& name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: node::ChainImpl::getSettingsList
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: std::vector<common::SettingsValue>
    signature: std::vector<common::SettingsValue> getSettingsList(const std::string&
      name) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:816,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 822
    functionName: node::ChainImpl::getRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - common::FindKey
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getRwSetting(const std::string& name) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:827,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:828,1
    - Dst: update_settings_func
      Src: /src/bitcoin-core/src/node/interfaces.cpp:829,1
    - Dst: auto*::isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:830,1
    - Dst: rw_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:830,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/node/interfaces.cpp:832,1
    - Dst: update_settings_func
      Src: /src/bitcoin-core/src/node/interfaces.cpp:833,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:834,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:834,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ' name'
    - ' update_settings_func'
    argTypes:
    - std::string
    - interfaces::SettingsUpdate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 840
    functionName: node::ChainImpl::updateRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - rw_settings::erase
    - UniValue::UniValue
    - std::move
    - UniValue::isNull
    - auto*::isNull
    - update_settings_func
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: "bool updateRwSetting(const std::string& name,\n                         const
      interfaces::SettingsUpdate& update_settings_func) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ChainImpl::updateRwSetting
      Src: /src/bitcoin-core/src/node/interfaces.cpp:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' name'
    - value
    - action
    argTypes:
    - std::string
    - common::SettingsValue
    - interfaces::SettingsAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 847
    functionName: node::ChainImpl::overwriteRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - node::ChainImpl::updateRwSetting
    linkageType: ''
    returnType: bool
    signature: bool overwriteRwSetting(const std::string& name, common::SettingsValue
      value, interfaces::SettingsAction action) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ChainImpl::overwriteRwSetting
      Src: /src/bitcoin-core/src/node/interfaces.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - action
    argTypes:
    - std::string
    - interfaces::SettingsAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: node::ChainImpl::deleteRwSettings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - node::ChainImpl::overwriteRwSetting
    linkageType: ''
    returnType: bool
    signature: bool deleteRwSettings(const std::string& name, interfaces::SettingsAction
      action) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/interfaces.cpp:855,1
    - Dst: mempool::entryAll
      Src: /src/bitcoin-core/src/node/interfaces.cpp:856,1
    - Dst: transactionAddedToMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:857,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/node/interfaces.cpp:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' notifications'
    argTypes:
    - Notifications
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 859
    functionName: node::ChainImpl::requestMempoolTransactions
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - mempool::entryAll
    - GetSharedTx
    - transactionAddedToMempool
    linkageType: ''
    returnType: void
    signature: void requestMempoolTransactions(Notifications& notifications) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: node::ChainImpl::hasAssumedValidChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool hasAssumedValidChain() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: node::ChainImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: '& args()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & args()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: '& validation_signals()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ValidationSignals
    signature: ValidationSignals & validation_signals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:877,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:878,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - assemble_options
    - block_template
    - ' node'
    argTypes:
    - BlockAssembler::Options
    - std::unique_ptr<CBlockTemplate>
    - NodeContext
    assertStmts:
    - condition: (m_block_template)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/bitcoin-core/src/node/interfaces.cpp
    constantsTouched: []
    func_position:
      end: 882
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 882
    functionName: node::BlockTemplateImpl::BlockTemplateImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::move
    linkageType: ''
    returnType: void
    signature: "void BlockTemplateImpl(BlockAssembler::Options assemble_options,\n
      \                              std::unique_ptr<CBlockTemplate> block_template,\n
      \                              NodeContext& node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: node::BlockTemplateImpl::getBlockHeader
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader getBlockHeader() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: node::BlockTemplateImpl::getBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlock
    signature: CBlock getBlock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: node::BlockTemplateImpl::getTxFees
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CAmount>
    signature: std::vector<CAmount> getTxFees() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: node::BlockTemplateImpl::getTxSigops
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<int64_t>
    signature: std::vector<int64_t> getTxSigops() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 907
    functionName: node::BlockTemplateImpl::getCoinbaseTx
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef getCoinbaseTx() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: node::BlockTemplateImpl::getCoinbaseCommitment
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> getCoinbaseCommitment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: node::BlockTemplateImpl::getWitnessCommitmentIndex
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessCommitmentIndex
    linkageType: ''
    returnType: int
    signature: int getWitnessCommitmentIndex() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionMerklePath
      Src: /src/bitcoin-core/src/node/interfaces.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: node::BlockTemplateImpl::getCoinbaseMerklePath
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - TransactionMerklePath
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> getCoinbaseMerklePath() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddMerkleRootAndCoinbase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:926,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:926,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:927,1
    - Dst: std::make_shared<const CBlock>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - version
    - timestamp
    - nonce
    - coinbase
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 928
    functionName: node::BlockTemplateImpl::submitSolution
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<const CBlock>
    - chainman
    - std::move
    - AddMerkleRootAndCoinbase
    linkageType: ''
    returnType: bool
    signature: bool submitSolution(uint32_t version, uint32_t timestamp, uint32_t
      nonce, CTransactionRef coinbase) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WaitAndCreateNewBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: notifications
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: std::make_unique<BlockTemplateImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:933,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - BlockWaitOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 935
    functionName: node::BlockTemplateImpl::waitNext
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - notifications
    - WaitAndCreateNewBlock
    - std::move
    - chainman
    - mempool::get
    - std::make_unique<BlockTemplateImpl>
    linkageType: ''
    returnType: std::unique_ptr<BlockTemplate>
    signature: std::unique_ptr<BlockTemplate> waitNext(BlockWaitOptions options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 941
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 942
    functionName: '& notifications()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: KernelNotifications
    signature: KernelNotifications & notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 949
    functionName: node::MinerImpl::MinerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinerImpl(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: node::MinerImpl::isTestChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isTestChain() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: node::MinerImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTip
      Src: /src/bitcoin-core/src/node/interfaces.cpp:963,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: node::MinerImpl::getTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - GetTip
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> getTip() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitTipChanged
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    - Dst: notifications
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - current_tip
    - timeout
    argTypes:
    - uint256
    - MillisecondsDouble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: node::MinerImpl::waitTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - notifications
    - WaitTipChanged
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> waitTipChanged(uint256 current_tip, MillisecondsDouble
      timeout) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::MinerImpl::waitTipChanged
      Src: /src/bitcoin-core/src/node/interfaces.cpp:974,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/interfaces.cpp:974,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/node/interfaces.cpp:977,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:977,1
    - Dst: std::make_unique<BlockTemplateImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: node::MinerImpl::context
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - BlockCreateOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: node::MinerImpl::createNewBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ApplyArgsManOptions
    - node::MinerImpl::context
    - node::MinerImpl::waitTipChanged
    - CreateNewBlock
    - Assert
    - chainman
    - get
    - std::make_unique<BlockTemplateImpl>
    - RandomMixin::max
    linkageType: ''
    returnType: std::unique_ptr<BlockTemplate>
    signature: std::unique_ptr<BlockTemplate> createNewBlock(const BlockCreateOptions&
      options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:983,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:983,1
    - Dst: TestBlockValidity
      Src: /src/bitcoin-core/src/node/interfaces.cpp:984,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:984,1
    - Dst: BlockValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/node/interfaces.cpp:985,1
    - Dst: BlockValidationState::GetDebugMessage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:986,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/node/interfaces.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' block'
    - ' options'
    - ' reason'
    - ' debug'
    argTypes:
    - CBlock
    - node::BlockCheckOptions
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 981
    functionDepth: 6
    functionLinenumber: 981
    functionLinenumberEnd: 988
    functionName: node::MinerImpl::checkBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BlockValidationState::IsValid
    - BlockValidationState::GetDebugMessage
    - TestBlockValidity
    - BlockValidationState::GetRejectReason
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool checkBlock(const CBlock& block, const node::BlockCheckOptions&
      options, std::string& reason, std::string& debug) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: node::MinerImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 991
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 992
    functionName: '& notifications()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: KernelNotifications
    signature: KernelNotifications & notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - signer
    argTypes:
    - ::ExternalSigner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: node::ExternalSignerImpl::ExternalSignerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ExternalSignerImpl(::ExternalSigner signer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: node::ExternalSignerImpl::getName
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::NodeImpl::setContext
      Src: /src/bitcoin-core/src/node/interfaces.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: node::NodeImpl::NodeImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - node::NodeImpl::setContext
    linkageType: ''
    returnType: void
    signature: void NodeImpl(NodeContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitLogging
      Src: /src/bitcoin-core/src/node/interfaces.cpp:106,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: node::NodeImpl::initLogging
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitLogging
    - args
    linkageType: ''
    returnType: void
    signature: void initLogging() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitParameterInteraction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:107,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: node::NodeImpl::initParameterInteraction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - InitParameterInteraction
    linkageType: ''
    returnType: void
    signature: void initParameterInteraction() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: node::NodeImpl::getWarnings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - Untranslated
    - Join
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str getWarnings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:109,1
    - Dst: load
      Src: /src/bitcoin-core/src/node/interfaces.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: node::NodeImpl::getExitStatus
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - load
    linkageType: ''
    returnType: int
    signature: int getExitStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/node/interfaces.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: node::NodeImpl::getLogCategories
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: BCLog::CategoryMask
    signature: BCLog::CategoryMask getLogCategories() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AppInitBasicSetup
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: node::NodeImpl::context
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: AppInitParameterInteraction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:114,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:114,1
    - Dst: std::make_unique<node::Warnings>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:116,1
    - Dst: std::make_unique<kernel::Context>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:117,1
    - Dst: std::make_unique<ECC_Context>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:118,1
    - Dst: AppInitSanityChecks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:119,1
    - Dst: AppInitLockDirectories
      Src: /src/bitcoin-core/src/node/interfaces.cpp:121,1
    - Dst: AppInitInterfaces
      Src: /src/bitcoin-core/src/node/interfaces.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: node::NodeImpl::baseInitialize
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECC_Context>
    - args
    - AppInitSanityChecks
    - std::make_unique<node::Warnings>
    - std::make_unique<kernel::Context>
    - AppInitLockDirectories
    - Assert
    - AppInitBasicSetup
    - node::NodeImpl::context
    - AppInitParameterInteraction
    - AppInitInterfaces
    linkageType: ''
    returnType: bool
    signature: bool baseInitialize() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AppInitMain
      Src: /src/bitcoin-core/src/node/interfaces.cpp:128,1
    - Dst: exit_status::store
      Src: /src/bitcoin-core/src/node/interfaces.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tip_info
    argTypes:
    - interfaces::BlockAndHeaderTipInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 7
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: node::NodeImpl::appInitMain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - exit_status::store
    - AppInitMain
    linkageType: ''
    returnType: bool
    signature: bool appInitMain(interfaces::BlockAndHeaderTipInfo* tip_info) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interrupt
      Src: /src/bitcoin-core/src/node/interfaces.cpp:135,1
    - Dst: Shutdown
      Src: /src/bitcoin-core/src/node/interfaces.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: node::NodeImpl::appShutdown
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Shutdown
    - Interrupt
    linkageType: ''
    returnType: void
    signature: void appShutdown() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:140,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:141,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/interfaces.cpp:142,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:146,1
    - Dst: InterruptRPC
      Src: /src/bitcoin-core/src/node/interfaces.cpp:147,1
    - Dst: StopRPC
      Src: /src/bitcoin-core/src/node/interfaces.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: node::NodeImpl::startShutdown
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - StopRPC
    - LogError
    - InterruptRPC
    - Assert
    linkageType: ''
    returnType: void
    signature: void startShutdown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/node/interfaces.cpp:151,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: node::NodeImpl::shutdownRequested
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShutdownRequested
    - Assert
    linkageType: ''
    returnType: bool
    signature: bool shutdownRequested() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:155,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:156,1
    - Dst: auto*::empty
      Src: /src/bitcoin-core/src/node/interfaces.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: node::NodeImpl::isSettingIgnored
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - auto*::empty
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: bool isSettingIgnored(const std::string& name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: node::NodeImpl::getPersistentSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getPersistentSetting(const std::string& name)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:165,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:166,1
    - Dst: rw_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:167,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: node::NodeImpl::updateRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - isNull
    - rw_settings::erase
    linkageType: ''
    returnType: void
    signature: void updateRwSetting(const std::string& name, const common::SettingsValue&
      value) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:176,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:177,1
    - Dst: forced_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: node::NodeImpl::forceSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - isNull
    - forced_settings::erase
    linkageType: ''
    returnType: void
    signature: void forceSetting(const std::string& name, const common::SettingsValue&
      value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:186,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:187,1
    - Dst: rw_settings::clear
      Src: /src/bitcoin-core/src/node/interfaces.cpp:188,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: node::NodeImpl::resetSettings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - rw_settings::clear
    linkageType: ''
    returnType: void
    signature: void resetSettings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartMapPort
      Src: /src/bitcoin-core/src/node/interfaces.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: node::NodeImpl::mapPort
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - StartMapPort
    linkageType: ''
    returnType: void
    signature: void mapPort(bool enable) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProxy
      Src: /src/bitcoin-core/src/node/interfaces.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - net
    - ' proxy_info'
    argTypes:
    - Network
    - Proxy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: node::NodeImpl::getProxy
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetProxy
    linkageType: ''
    returnType: bool
    signature: bool getProxy(Network net, Proxy& proxy_info) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetNodeCount
      Src: /src/bitcoin-core/src/node/interfaces.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - ConnectionDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: node::NodeImpl::getNodeCount
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetNodeCount
    linkageType: ''
    returnType: size_t
    signature: size_t getNodeCount(ConnectionDirection flags) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/interfaces.cpp:200,1
    - Dst: connman::GetNodeStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:204,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/node/interfaces.cpp:206,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:206,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: CNodeStateStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:213,1
    - Dst: std::get<1>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:216,1
    - Dst: peerman::GetNodeStateStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    - Dst: std::get<2>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - NodesStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: node::NodeImpl::getNodesStats
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - std::get<1>
    - std::get<2>
    - std::move
    - clear
    - peerman::GetNodeStateStats
    - CNodeStateStats
    - emplace_back
    - std::get<0>
    - std::vector::size
    - TRY_LOCK
    - connman::GetNodeStats
    linkageType: ''
    returnType: bool
    signature: bool getNodesStats(NodesStats& stats) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::GetBanned
      Src: /src/bitcoin-core/src/node/interfaces.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' banmap'
    argTypes:
    - banmap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: node::NodeImpl::getBanned
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::GetBanned
    linkageType: ''
    returnType: bool
    signature: bool getBanned(banmap_t& banmap) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::Ban
      Src: /src/bitcoin-core/src/node/interfaces.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' net_addr'
    - ban_time_offset
    argTypes:
    - CNetAddr
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: node::NodeImpl::ban
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::Ban
    linkageType: ''
    returnType: bool
    signature: bool ban(const CNetAddr& net_addr, int64_t ban_time_offset) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::Unban
      Src: /src/bitcoin-core/src/node/interfaces.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ip'
    argTypes:
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: node::NodeImpl::unban
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::Unban
    linkageType: ''
    returnType: bool
    signature: bool unban(const CSubNet& ip) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/node/interfaces.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' net_addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: node::NodeImpl::disconnectByAddress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::DisconnectNode
    linkageType: ''
    returnType: bool
    signature: bool disconnectByAddress(const CNetAddr& net_addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/node/interfaces.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: node::NodeImpl::disconnectById
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::DisconnectNode
    linkageType: ''
    returnType: bool
    signature: bool disconnectById(NodeId id) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:267,1
    - Dst: ExternalSigner::Enumerate
      Src: /src/bitcoin-core/src/node/interfaces.cpp:269,1
    - Dst: Params
      Src: /src/bitcoin-core/src/node/interfaces.cpp:269,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/interfaces.cpp:271,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:271,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    - Dst: std::make_unique<ExternalSignerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 285
    functionName: node::NodeImpl::listExternalSigners
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - std::vector::emplace_back
    - std::vector::reserve
    - std::move
    - Params
    - ExternalSigner::Enumerate
    - std::make_unique<ExternalSignerImpl>
    - std::vector::size
    linkageType: ''
    returnType: std::vector<std::unique_ptr<interfaces::ExternalSigner>>
    signature: std::vector<std::unique_ptr<interfaces::ExternalSigner>> listExternalSigners()
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetTotalBytesRecv
      Src: /src/bitcoin-core/src/node/interfaces.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: node::NodeImpl::getTotalBytesRecv
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetTotalBytesRecv
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTotalBytesRecv() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetTotalBytesSent
      Src: /src/bitcoin-core/src/node/interfaces.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: node::NodeImpl::getTotalBytesSent
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetTotalBytesSent
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTotalBytesSent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: node::NodeImpl::getMempoolSize
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::size
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: node::NodeImpl::getMempoolDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::DynamicMemoryUsage
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolDynamicUsage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: node::NodeImpl::getMempoolMaxUsage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolMaxUsage() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:293,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:294,1
    - Dst: auto::GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' height'
    - ' block_time'
    argTypes:
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: node::NodeImpl::getHeaderTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    - auto::GetBlockTime
    linkageType: ''
    returnType: bool
    signature: bool getHeaderTip(int& height, int64_t& block_time) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::getNetLocalAddresses
      Src: /src/bitcoin-core/src/node/interfaces.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: node::NodeImpl::getNetLocalAddresses
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::getNetLocalAddresses
    linkageType: ''
    returnType: std::map<CNetAddr, LocalServiceInfo>
    signature: std::map<CNetAddr, LocalServiceInfo> getNetLocalAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:311,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: node::NodeImpl::getNumBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: int
    signature: int getNumBlocks() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:316,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:316,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:317,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: node::NodeImpl::getBestBlockHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - WITH_LOCK
    - CBlockIndex*::GetBlockHash
    linkageType: ''
    returnType: uint256
    signature: uint256 getBestBlockHash() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:321,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:322,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:323,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: node::NodeImpl::getLastBlockTime
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: int64_t
    signature: int64_t getLastBlockTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:329,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:329,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:330,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: node::NodeImpl::getVerificationProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: double
    signature: double getVerificationProgress() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: node::NodeImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:336,1
    - Dst: LoadingBlocks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: node::NodeImpl::isLoadingBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadingBlocks
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isLoadingBlocks() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::SetNetworkActive
      Src: /src/bitcoin-core/src/node/interfaces.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: node::NodeImpl::setNetworkActive
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::SetNetworkActive
    linkageType: ''
    returnType: void
    signature: void setNetworkActive(bool active) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetNetworkActive
      Src: /src/bitcoin-core/src/node/interfaces.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: node::NodeImpl::getNetworkActive
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetNetworkActive
    linkageType: ''
    returnType: bool
    signature: bool getNetworkActive() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: node::NodeImpl::getDustRelayFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate getDustRelayFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/bitcoin-core/src/node/interfaces.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' command'
    - ' params'
    - ' uri'
    argTypes:
    - std::string
    - UniValue
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: node::NodeImpl::executeRpc
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - execute
    linkageType: ''
    returnType: UniValue
    signature: UniValue executeRpc(const std::string& command, const UniValue& params,
      const std::string& uri) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listCommands
      Src: /src/bitcoin-core/src/node/interfaces.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: node::NodeImpl::listRpcCommands
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - listCommands
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> listRpcCommands() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:361,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: node::NodeImpl::getUnspentOutput
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> getUnspentOutput(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:366,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tx
    - max_tx_fee
    - ' err_string'
    argTypes:
    - CTransactionRef
    - CAmount
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: node::NodeImpl::broadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BroadcastTransaction
    - std::move
    linkageType: ''
    returnType: TransactionError
    signature: TransactionError broadcastTransaction(CTransactionRef tx, CAmount max_tx_fee,
      std::string& err_string) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: '& walletLoader() override'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: WalletLoader
    signature: WalletLoader & walletLoader() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:374,1
    - Dst: InitMessage_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - InitMessageFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: node::NodeImpl::handleInitMessage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - InitMessage_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleInitMessage(InitMessageFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:378,1
    - Dst: ThreadSafeMessageBox_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - MessageBoxFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: node::NodeImpl::handleMessageBox
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ThreadSafeMessageBox_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleMessageBox(MessageBoxFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:382,1
    - Dst: ThreadSafeQuestion_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - QuestionFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: node::NodeImpl::handleQuestion
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ThreadSafeQuestion_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleQuestion(QuestionFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:386,1
    - Dst: ShowProgress_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - ShowProgressFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: node::NodeImpl::handleShowProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ShowProgress_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:390,1
    - Dst: InitWallet_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - InitWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: node::NodeImpl::handleInitWallet
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - InitWallet_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleInitWallet(InitWalletFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:394,1
    - Dst: NotifyNumConnectionsChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyNumConnectionsChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: node::NodeImpl::handleNotifyNumConnectionsChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyNumConnectionsChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyNumConnectionsChanged(NotifyNumConnectionsChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:398,1
    - Dst: NotifyNetworkActiveChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyNetworkActiveChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: node::NodeImpl::handleNotifyNetworkActiveChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyNetworkActiveChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyNetworkActiveChanged(NotifyNetworkActiveChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:402,1
    - Dst: NotifyAlertChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyAlertChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: node::NodeImpl::handleNotifyAlertChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyAlertChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyAlertChanged(NotifyAlertChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:406,1
    - Dst: BannedListChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - BannedListChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: node::NodeImpl::handleBannedListChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - BannedListChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleBannedListChanged(BannedListChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:410,1
    - Dst: NotifyBlockTip_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:410,1
    - Dst: fn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyBlockTipFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: node::NodeImpl::handleNotifyBlockTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - GetBlockTime
    - NotifyBlockTip_connect
    - fn
    - GetBlockHash
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyBlockTip(NotifyBlockTipFn fn)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:416,1
    - Dst: NotifyHeaderTip_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:417,1
    - Dst: fn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyHeaderTipFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: node::NodeImpl::handleNotifyHeaderTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyHeaderTip_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyHeaderTip(NotifyHeaderTipFn fn)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: node::NodeImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - NodeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: node::NodeImpl::setContext
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setContext(NodeContext* context) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:426,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: '& args()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & args()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 427
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:435,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:437,1
    - Dst: GetBlockTimeMax
      Src: /src/bitcoin-core/src/node/interfaces.cpp:438,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/node/interfaces.cpp:439,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/node/interfaces.cpp:441,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:442,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:444,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:445,1
    - Dst: m_data::SetNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:445,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 449
    functionName: node::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 8
    functionsReached:
    - ReadBlock
    - GetBlockTime
    - GetMedianTimePast
    - FillBlock
    - m_data::SetNull
    - GetBlockTimeMax
    - GetLocator
    - REVERSE_LOCK
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - notifications
    argTypes:
    - std::shared_ptr<Chain::Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: node::NotificationsProxy::NotificationsProxy
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NotificationsProxy(std::shared_ptr<Chain::Notifications> notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: ~NotificationsProxy()
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NotificationsProxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transactionAddedToMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tx'
    - mempool_sequence
    argTypes:
    - NewMempoolTransactionInfo
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: node::NotificationsProxy::TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - transactionAddedToMempool
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t mempool_sequence) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transactionRemovedFromMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tx'
    - reason
    - mempool_sequence
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: node::NotificationsProxy::TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - transactionRemovedFromMempool
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t mempool_sequence) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockConnected
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - role
    - ' block'
    - index
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: node::NotificationsProxy::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - blockConnected
    - get
    - kernel::MakeBlockInfo
    linkageType: ''
    returnType: void
    signature: void BlockConnected(ChainstateRole role, const std::shared_ptr<const
      CBlock>& block, const CBlockIndex* index) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDisconnected
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' block'
    - index
    argTypes:
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: node::NotificationsProxy::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - kernel::MakeBlockInfo
    - get
    - blockDisconnected
    linkageType: ''
    returnType: void
    signature: void BlockDisconnected(const std::shared_ptr<const CBlock>& block,
      const CBlockIndex* index) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updatedBlockTip
      Src: /src/bitcoin-core/src/node/interfaces.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - fork_index
    - is_ibd
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: node::NotificationsProxy::UpdatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - updatedBlockTip
    linkageType: ''
    returnType: void
    signature: void UpdatedBlockTip(const CBlockIndex* index, const CBlockIndex* fork_index,
      bool is_ibd) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainStateFlushed
      Src: /src/bitcoin-core/src/node/interfaces.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - role
    - ' locator'
    argTypes:
    - ChainstateRole
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: node::NotificationsProxy::ChainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainStateFlushed
    linkageType: ''
    returnType: void
    signature: void ChainStateFlushed(ChainstateRole role, const CBlockLocator& locator)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NotificationsProxy>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:487,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:487,1
    - Dst: RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/node/interfaces.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' signals'
    - notifications
    argTypes:
    - ValidationSignals
    - std::shared_ptr<Chain::Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: node::NotificationsHandlerImpl::NotificationsHandlerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - RegisterSharedValidationInterface
    - std::make_shared<NotificationsProxy>
    - std::move
    linkageType: ''
    returnType: void
    signature: void NotificationsHandlerImpl(ValidationSignals& signals, std::shared_ptr<Chain::Notifications>
      notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: ~NotificationsHandlerImpl() override
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ~NotificationsHandlerImpl() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnregisterSharedValidationInterface
      Src: /src/bitcoin-core/src/node/interfaces.cpp:495,1
    - Dst: reset
      Src: /src/bitcoin-core/src/node/interfaces.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: node::NotificationsHandlerImpl::disconnect
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - UnregisterSharedValidationInterface
    - reset
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: actor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:511,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/node/interfaces.cpp:518,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/node/interfaces.cpp:518,1
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/node/interfaces.cpp:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - CRPCCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: node::RpcHandlerImpl::RpcHandlerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - actor
    - appendCommand
    - getInt
    - isNum
    linkageType: ''
    returnType: void
    signature: void RpcHandlerImpl(const CRPCCommand& command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeCommand
      Src: /src/bitcoin-core/src/node/interfaces.cpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: node::RpcHandlerImpl::disconnect
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - removeCommand
    linkageType: ''
    returnType: void
    signature: void disconnect() final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: ~RpcHandlerImpl() override
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ~RpcHandlerImpl() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: node::ChainImpl::ChainImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainImpl(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: node::ChainImpl::getHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> getHeight() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:553,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:554,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: node::ChainImpl::getBlockHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - LOCK
    - Assert
    linkageType: ''
    returnType: uint256
    signature: uint256 getBlockHash(int height) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:558,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: node::ChainImpl::haveBlockOnDisk
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool haveBlockOnDisk(int height) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:564,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: node::ChainImpl::getTipLocator
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator getTipLocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:569,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:570,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:570,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/node/interfaces.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: node::ChainImpl::getActiveChainLocator
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    - GetLocator
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator getActiveChainLocator(const uint256& block_hash) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:575,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: node::ChainImpl::findLocatorFork
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> findLocatorFork(const CBlockLocator& locator) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter_type
    argTypes:
    - BlockFilterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: node::ChainImpl::hasBlockFilterIndex
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetBlockFilterIndex
    linkageType: ''
    returnType: bool
    signature: bool hasBlockFilterIndex(BlockFilterType filter_type) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:587,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:590,1
    - Dst: BlockFilterIndex*::LookupFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:592,1
    - Dst: BlockFilter::GetFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - filter_type
    - ' block_hash'
    - ' filter_set'
    argTypes:
    - BlockFilterType
    - uint256
    - GCSFilter::ElementSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: node::ChainImpl::blockFilterMatchesAny
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BlockFilter::GetFilter
    - GetBlockFilterIndex
    - BlockFilterIndex*::LookupFilter
    - BlockFilter::BlockFilter
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blockFilterMatchesAny(BlockFilterType filter_type,
      const uint256& block_hash, const GCSFilter::ElementSet& filter_set) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:597,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hash'
    - ' block'
    argTypes:
    - uint256
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: node::ChainImpl::findBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    linkageType: ''
    returnType: bool
    signature: bool findBlock(const uint256& hash, const FoundBlock& block) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:602,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:603,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    - Dst: FindEarliestAtLeast
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - min_time
    - min_height
    - ' block'
    argTypes:
    - int64_t
    - int
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: node::ChainImpl::findFirstBlockWithTimeAndHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - FillBlock
    - WAIT_LOCK
    - FindEarliestAtLeast
    linkageType: ''
    returnType: bool
    signature: bool findFirstBlockWithTimeAndHeight(int64_t min_time, int min_height,
      const FoundBlock& block) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:608,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:609,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:610,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:610,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:611,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:612,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:612,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:615,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' block_hash'
    - ancestor_height
    - ' ancestor_out'
    argTypes:
    - uint256
    - int
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: node::ChainImpl::findAncestorByHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool findAncestorByHeight(const uint256& block_hash, int ancestor_height,
      const FoundBlock& ancestor_out) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:619,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:620,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:620,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:621,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:621,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:622,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' block_hash'
    - ' ancestor_hash'
    - ' ancestor_out'
    argTypes:
    - uint256
    - uint256
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: node::ChainImpl::findAncestorByHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool findAncestorByHash(const uint256& block_hash, const uint256& ancestor_hash,
      const FoundBlock& ancestor_out) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:627,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:628,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:629,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:629,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:630,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:630,1
    - Dst: LastCommonAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:631,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:635,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:635,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:636,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:636,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:637,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - ' block_hash1'
    - ' block_hash2'
    - ' ancestor_out'
    - ' block1_out'
    - ' block2_out'
    argTypes:
    - uint256
    - uint256
    - FoundBlock
    - FoundBlock
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 638
    functionName: node::ChainImpl::findCommonAncestor
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LastCommonAncestor
    - LookupBlockIndex
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool findCommonAncestor(const uint256& block_hash1, const uint256&
      block_hash2, const FoundBlock& ancestor_out, const FoundBlock& block1_out, const
      FoundBlock& block2_out) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindCoins
      Src: /src/bitcoin-core/src/node/interfaces.cpp:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coins'
    argTypes:
    - std::map<COutPoint, Coin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: node::ChainImpl::findCoins
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FindCoins
    linkageType: ''
    returnType: void
    signature: void findCoins(std::map<COutPoint, Coin>& coins) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:642,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:642,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: node::ChainImpl::guessVerificationProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    linkageType: ''
    returnType: double
    signature: double guessVerificationProgress(const uint256& block_hash) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:654,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:655,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:655,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ' block_hash'
    - min_height
    - max_height
    argTypes:
    - uint256
    - int
    - std::optional<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 663
    functionName: node::ChainImpl::hasBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool hasBlocks(const uint256& block_hash, int min_height, std::optional<int>
      max_height) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsRBFOptInEmptyMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:666,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:667,1
    - Dst: IsRBFOptIn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: node::ChainImpl::isRBFOptIn
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsRBFOptInEmptyMempool
    - LOCK
    - IsRBFOptIn
    linkageType: ''
    returnType: RBFTransactionState
    signature: RBFTransactionState isRBFOptIn(const CTransaction& tx) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:673,1
    - Dst: mempool::exists
      Src: /src/bitcoin-core/src/node/interfaces.cpp:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 675
    functionName: node::ChainImpl::isInMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mempool::exists
    linkageType: ''
    returnType: bool
    signature: bool isInMempool(const Txid& txid) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:679,1
    - Dst: mempool::GetEntry
      Src: /src/bitcoin-core/src/node/interfaces.cpp:680,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/node/interfaces.cpp:680,1
    - Dst: auto::GetCountWithDescendants
      Src: /src/bitcoin-core/src/node/interfaces.cpp:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: node::ChainImpl::hasDescendantsInMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - transaction_identifier::FromUint256
    - auto::GetCountWithDescendants
    - mempool::GetEntry
    linkageType: ''
    returnType: bool
    signature: bool hasDescendantsInMempool(const uint256& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' tx'
    - ' max_tx_fee'
    - relay
    - ' err_string'
    argTypes:
    - CTransactionRef
    - CAmount
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 694
    functionName: node::ChainImpl::broadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BroadcastTransaction
    linkageType: ''
    returnType: bool
    signature: "bool broadcastTransaction(const CTransactionRef& tx,\n        const
      CAmount& max_tx_fee,\n        bool relay,\n        std::string& err_string)
      override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mempool::GetTransactionAncestry
      Src: /src/bitcoin-core/src/node/interfaces.cpp:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' txid'
    - ' ancestors'
    - ' descendants'
    - ancestorsize
    - ancestorfees
    argTypes:
    - uint256
    - size_t
    - size_t
    - size_t*
    - CAmount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: node::ChainImpl::getTransactionAncestry
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::GetTransactionAncestry
    linkageType: ''
    returnType: void
    signature: void getTransactionAncestry(const uint256& txid, size_t& ancestors,
      size_t& descendants, size_t* ancestorsize, CAmount* ancestorfees) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/node/interfaces.cpp:707,1
    - Dst: MiniMiner
      Src: /src/bitcoin-core/src/node/interfaces.cpp:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' outpoints'
    - ' target_feerate'
    argTypes:
    - std::vector<COutPoint>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 712
    functionName: node::ChainImpl::calculateIndividualBumpFees
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::map::emplace
    - MiniMiner
    linkageType: ''
    returnType: std::map<COutPoint, CAmount>
    signature: std::map<COutPoint, CAmount> calculateIndividualBumpFees(const std::vector<COutPoint>&
      outpoints, const CFeeRate& target_feerate) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MiniMiner
      Src: /src/bitcoin-core/src/node/interfaces.cpp:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' outpoints'
    - ' target_feerate'
    argTypes:
    - std::vector<COutPoint>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 720
    functionName: node::ChainImpl::calculateCombinedBumpFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MiniMiner
    linkageType: ''
    returnType: std::optional<CAmount>
    signature: std::optional<CAmount> calculateCombinedBumpFee(const std::vector<COutPoint>&
      outpoints, const CFeeRate& target_feerate) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' limit_ancestor_count'
    - ' limit_descendant_count'
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: node::ChainImpl::getPackageLimits
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getPackageLimits(unsigned int& limit_ancestor_count, unsigned
      int& limit_descendant_count) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:735,1
    - Dst: mempool::CheckPackageLimits
      Src: /src/bitcoin-core/src/node/interfaces.cpp:736,1
    - Dst: CTxMemPoolEntry::GetTxSize
      Src: /src/bitcoin-core/src/node/interfaces.cpp:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: node::ChainImpl::checkChainLimits
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mempool::CheckPackageLimits
    - CTxMemPoolEntry::GetTxSize
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> checkChainLimits(const CTransactionRef& tx) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fee_estimator::estimateSmartFee
      Src: /src/bitcoin-core/src/node/interfaces.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - num_blocks
    - conservative
    - calc
    argTypes:
    - int
    - bool
    - FeeCalculation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 742
    functionName: node::ChainImpl::estimateSmartFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - fee_estimator::estimateSmartFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate estimateSmartFee(int num_blocks, bool conservative, FeeCalculation*
      calc) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fee_estimator::HighestTargetTracked
      Src: /src/bitcoin-core/src/node/interfaces.cpp:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: node::ChainImpl::estimateMaxBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - fee_estimator::HighestTargetTracked
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int estimateMaxBlocks() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mempool::GetMinFee
      Src: /src/bitcoin-core/src/node/interfaces.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: node::ChainImpl::mempoolMinFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::GetMinFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate mempoolMinFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: node::ChainImpl::relayMinFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayMinFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: node::ChainImpl::relayIncrementalFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayIncrementalFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: node::ChainImpl::relayDustFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayDustFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:770,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: node::ChainImpl::havePruned
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool havePruned() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:775,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:775,1
    - Dst: GetPruneHeight
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: node::ChainImpl::getPruneHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetPruneHeight
    - chainman
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> getPruneHeight() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    - Dst: LoadingBlocks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    - Dst: node::ChainImpl::isInitialBlockDownload
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: node::ChainImpl::isReadyToBroadcast
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadingBlocks
    - chainman
    - node::ChainImpl::isInitialBlockDownload
    linkageType: ''
    returnType: bool
    signature: bool isReadyToBroadcast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: node::ChainImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 2
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/node/interfaces.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 783
    functionName: node::ChainImpl::shutdownRequested
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShutdownRequested
    linkageType: ''
    returnType: bool
    signature: bool shutdownRequested() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 784
    functionName: node::ChainImpl::initMessage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitMessage
    linkageType: ''
    returnType: void
    signature: void initMessage(const std::string& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/node/interfaces.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 785
    functionName: node::ChainImpl::initWarning
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitWarning
    linkageType: ''
    returnType: void
    signature: void initWarning(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitError
      Src: /src/bitcoin-core/src/node/interfaces.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 786
    functionDepth: 4
    functionLinenumber: 786
    functionLinenumberEnd: 786
    functionName: node::ChainImpl::initError
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitError
    linkageType: ''
    returnType: void
    signature: void initError(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowProgress
      Src: /src/bitcoin-core/src/node/interfaces.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' title'
    - progress
    - resume_possible
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: node::ChainImpl::showProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShowProgress
    linkageType: ''
    returnType: void
    signature: void showProgress(const std::string& title, int progress, bool resume_possible)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NotificationsHandlerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    - Dst: validation_signals
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - notifications
    argTypes:
    - std::shared_ptr<Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: node::ChainImpl::handleNotifications
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<NotificationsHandlerImpl>
    - validation_signals
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifications(std::shared_ptr<Notifications>
      notifications) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: validation_signals
      Src: /src/bitcoin-core/src/node/interfaces.cpp:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' old_tip'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: node::ChainImpl::waitForNotificationsIfTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - WITH_LOCK
    - validation_signals
    - IsNull
    linkageType: ''
    returnType: void
    signature: void waitForNotificationsIfTipChanged(const uint256& old_tip) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RpcHandlerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - CRPCCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: node::ChainImpl::handleRpc
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RpcHandlerImpl>
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleRpc(const CRPCCommand& command) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/node/interfaces.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' method'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: node::ChainImpl::rpcEnableDeprecated
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsDeprecatedRPCEnabled
    linkageType: ''
    returnType: bool
    signature: bool rpcEnableDeprecated(const std::string& method) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: node::ChainImpl::getSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getSetting(const std::string& name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: node::ChainImpl::getSettingsList
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: std::vector<common::SettingsValue>
    signature: std::vector<common::SettingsValue> getSettingsList(const std::string&
      name) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:816,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 822
    functionName: node::ChainImpl::getRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - common::FindKey
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getRwSetting(const std::string& name) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:827,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:828,1
    - Dst: update_settings_func
      Src: /src/bitcoin-core/src/node/interfaces.cpp:829,1
    - Dst: auto*::isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:830,1
    - Dst: rw_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:830,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/node/interfaces.cpp:832,1
    - Dst: update_settings_func
      Src: /src/bitcoin-core/src/node/interfaces.cpp:833,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:834,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:834,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ' name'
    - ' update_settings_func'
    argTypes:
    - std::string
    - interfaces::SettingsUpdate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 840
    functionName: node::ChainImpl::updateRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 1
    functionsReached:
    - args
    - rw_settings::erase
    - UniValue::UniValue
    - std::move
    - UniValue::isNull
    - auto*::isNull
    - update_settings_func
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: "bool updateRwSetting(const std::string& name,\n                         const
      interfaces::SettingsUpdate& update_settings_func) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ChainImpl::updateRwSetting
      Src: /src/bitcoin-core/src/node/interfaces.cpp:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' name'
    - value
    - action
    argTypes:
    - std::string
    - common::SettingsValue
    - interfaces::SettingsAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 847
    functionName: node::ChainImpl::overwriteRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - node::ChainImpl::updateRwSetting
    linkageType: ''
    returnType: bool
    signature: bool overwriteRwSetting(const std::string& name, common::SettingsValue
      value, interfaces::SettingsAction action) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ChainImpl::overwriteRwSetting
      Src: /src/bitcoin-core/src/node/interfaces.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - action
    argTypes:
    - std::string
    - interfaces::SettingsAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: node::ChainImpl::deleteRwSettings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - node::ChainImpl::overwriteRwSetting
    linkageType: ''
    returnType: bool
    signature: bool deleteRwSettings(const std::string& name, interfaces::SettingsAction
      action) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/interfaces.cpp:855,1
    - Dst: mempool::entryAll
      Src: /src/bitcoin-core/src/node/interfaces.cpp:856,1
    - Dst: transactionAddedToMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:857,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/node/interfaces.cpp:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' notifications'
    argTypes:
    - Notifications
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 859
    functionName: node::ChainImpl::requestMempoolTransactions
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - mempool::entryAll
    - GetSharedTx
    - transactionAddedToMempool
    linkageType: ''
    returnType: void
    signature: void requestMempoolTransactions(Notifications& notifications) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: node::ChainImpl::hasAssumedValidChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool hasAssumedValidChain() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: node::ChainImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: '& args()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & args()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: '& validation_signals()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ValidationSignals
    signature: ValidationSignals & validation_signals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:877,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:878,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - assemble_options
    - block_template
    - ' node'
    argTypes:
    - BlockAssembler::Options
    - std::unique_ptr<CBlockTemplate>
    - NodeContext
    assertStmts:
    - condition: (m_block_template)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/bitcoin-core/src/node/interfaces.cpp
    constantsTouched: []
    func_position:
      end: 882
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 882
    functionName: node::BlockTemplateImpl::BlockTemplateImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::move
    linkageType: ''
    returnType: void
    signature: "void BlockTemplateImpl(BlockAssembler::Options assemble_options,\n
      \                              std::unique_ptr<CBlockTemplate> block_template,\n
      \                              NodeContext& node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: node::BlockTemplateImpl::getBlockHeader
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader getBlockHeader() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: node::BlockTemplateImpl::getBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlock
    signature: CBlock getBlock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: node::BlockTemplateImpl::getTxFees
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CAmount>
    signature: std::vector<CAmount> getTxFees() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: node::BlockTemplateImpl::getTxSigops
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<int64_t>
    signature: std::vector<int64_t> getTxSigops() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 907
    functionName: node::BlockTemplateImpl::getCoinbaseTx
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef getCoinbaseTx() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: node::BlockTemplateImpl::getCoinbaseCommitment
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> getCoinbaseCommitment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: node::BlockTemplateImpl::getWitnessCommitmentIndex
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessCommitmentIndex
    linkageType: ''
    returnType: int
    signature: int getWitnessCommitmentIndex() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionMerklePath
      Src: /src/bitcoin-core/src/node/interfaces.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: node::BlockTemplateImpl::getCoinbaseMerklePath
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - TransactionMerklePath
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> getCoinbaseMerklePath() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddMerkleRootAndCoinbase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:926,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:926,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:927,1
    - Dst: std::make_shared<const CBlock>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - version
    - timestamp
    - nonce
    - coinbase
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 928
    functionName: node::BlockTemplateImpl::submitSolution
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<const CBlock>
    - chainman
    - std::move
    - AddMerkleRootAndCoinbase
    linkageType: ''
    returnType: bool
    signature: bool submitSolution(uint32_t version, uint32_t timestamp, uint32_t
      nonce, CTransactionRef coinbase) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WaitAndCreateNewBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: notifications
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: std::make_unique<BlockTemplateImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:933,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - BlockWaitOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 935
    functionName: node::BlockTemplateImpl::waitNext
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - notifications
    - WaitAndCreateNewBlock
    - std::move
    - chainman
    - mempool::get
    - std::make_unique<BlockTemplateImpl>
    linkageType: ''
    returnType: std::unique_ptr<BlockTemplate>
    signature: std::unique_ptr<BlockTemplate> waitNext(BlockWaitOptions options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 941
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 942
    functionName: '& notifications()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: KernelNotifications
    signature: KernelNotifications & notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 949
    functionName: node::MinerImpl::MinerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinerImpl(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: node::MinerImpl::isTestChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isTestChain() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: node::MinerImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTip
      Src: /src/bitcoin-core/src/node/interfaces.cpp:963,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: node::MinerImpl::getTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - GetTip
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> getTip() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitTipChanged
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    - Dst: notifications
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - current_tip
    - timeout
    argTypes:
    - uint256
    - MillisecondsDouble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: node::MinerImpl::waitTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 1
    functionsReached:
    - chainman
    - notifications
    - WaitTipChanged
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> waitTipChanged(uint256 current_tip, MillisecondsDouble
      timeout) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::MinerImpl::waitTipChanged
      Src: /src/bitcoin-core/src/node/interfaces.cpp:974,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/interfaces.cpp:974,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/node/interfaces.cpp:977,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:977,1
    - Dst: std::make_unique<BlockTemplateImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: node::MinerImpl::context
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - BlockCreateOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: node::MinerImpl::createNewBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ApplyArgsManOptions
    - node::MinerImpl::context
    - node::MinerImpl::waitTipChanged
    - CreateNewBlock
    - Assert
    - chainman
    - get
    - std::make_unique<BlockTemplateImpl>
    - RandomMixin::max
    linkageType: ''
    returnType: std::unique_ptr<BlockTemplate>
    signature: std::unique_ptr<BlockTemplate> createNewBlock(const BlockCreateOptions&
      options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:983,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:983,1
    - Dst: TestBlockValidity
      Src: /src/bitcoin-core/src/node/interfaces.cpp:984,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:984,1
    - Dst: BlockValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/node/interfaces.cpp:985,1
    - Dst: BlockValidationState::GetDebugMessage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:986,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/node/interfaces.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' block'
    - ' options'
    - ' reason'
    - ' debug'
    argTypes:
    - CBlock
    - node::BlockCheckOptions
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 981
    functionDepth: 6
    functionLinenumber: 981
    functionLinenumberEnd: 988
    functionName: node::MinerImpl::checkBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BlockValidationState::IsValid
    - BlockValidationState::GetDebugMessage
    - TestBlockValidity
    - BlockValidationState::GetRejectReason
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool checkBlock(const CBlock& block, const node::BlockCheckOptions&
      options, std::string& reason, std::string& debug) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: node::MinerImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 991
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 992
    functionName: '& notifications()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: KernelNotifications
    signature: KernelNotifications & notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - signer
    argTypes:
    - ::ExternalSigner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: node::ExternalSignerImpl::ExternalSignerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ExternalSignerImpl(::ExternalSigner signer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: node::ExternalSignerImpl::getName
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::NodeImpl::setContext
      Src: /src/bitcoin-core/src/node/interfaces.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: node::NodeImpl::NodeImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - node::NodeImpl::setContext
    linkageType: ''
    returnType: void
    signature: void NodeImpl(NodeContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitLogging
      Src: /src/bitcoin-core/src/node/interfaces.cpp:106,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: node::NodeImpl::initLogging
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitLogging
    - args
    linkageType: ''
    returnType: void
    signature: void initLogging() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitParameterInteraction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:107,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: node::NodeImpl::initParameterInteraction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - InitParameterInteraction
    linkageType: ''
    returnType: void
    signature: void initParameterInteraction() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: node::NodeImpl::getWarnings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - Untranslated
    - Join
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str getWarnings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:109,1
    - Dst: load
      Src: /src/bitcoin-core/src/node/interfaces.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: node::NodeImpl::getExitStatus
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - load
    linkageType: ''
    returnType: int
    signature: int getExitStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/node/interfaces.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: node::NodeImpl::getLogCategories
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: BCLog::CategoryMask
    signature: BCLog::CategoryMask getLogCategories() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AppInitBasicSetup
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: node::NodeImpl::context
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: AppInitParameterInteraction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:114,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:114,1
    - Dst: std::make_unique<node::Warnings>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:116,1
    - Dst: std::make_unique<kernel::Context>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:117,1
    - Dst: std::make_unique<ECC_Context>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:118,1
    - Dst: AppInitSanityChecks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:119,1
    - Dst: AppInitLockDirectories
      Src: /src/bitcoin-core/src/node/interfaces.cpp:121,1
    - Dst: AppInitInterfaces
      Src: /src/bitcoin-core/src/node/interfaces.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: node::NodeImpl::baseInitialize
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECC_Context>
    - args
    - AppInitSanityChecks
    - std::make_unique<node::Warnings>
    - std::make_unique<kernel::Context>
    - AppInitLockDirectories
    - Assert
    - AppInitBasicSetup
    - node::NodeImpl::context
    - AppInitParameterInteraction
    - AppInitInterfaces
    linkageType: ''
    returnType: bool
    signature: bool baseInitialize() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AppInitMain
      Src: /src/bitcoin-core/src/node/interfaces.cpp:128,1
    - Dst: exit_status::store
      Src: /src/bitcoin-core/src/node/interfaces.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tip_info
    argTypes:
    - interfaces::BlockAndHeaderTipInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 7
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: node::NodeImpl::appInitMain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - exit_status::store
    - AppInitMain
    linkageType: ''
    returnType: bool
    signature: bool appInitMain(interfaces::BlockAndHeaderTipInfo* tip_info) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interrupt
      Src: /src/bitcoin-core/src/node/interfaces.cpp:135,1
    - Dst: Shutdown
      Src: /src/bitcoin-core/src/node/interfaces.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: node::NodeImpl::appShutdown
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Shutdown
    - Interrupt
    linkageType: ''
    returnType: void
    signature: void appShutdown() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:140,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:141,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/interfaces.cpp:142,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:146,1
    - Dst: InterruptRPC
      Src: /src/bitcoin-core/src/node/interfaces.cpp:147,1
    - Dst: StopRPC
      Src: /src/bitcoin-core/src/node/interfaces.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: node::NodeImpl::startShutdown
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - StopRPC
    - LogError
    - InterruptRPC
    - Assert
    linkageType: ''
    returnType: void
    signature: void startShutdown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/node/interfaces.cpp:151,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: node::NodeImpl::shutdownRequested
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShutdownRequested
    - Assert
    linkageType: ''
    returnType: bool
    signature: bool shutdownRequested() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:155,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:156,1
    - Dst: auto*::empty
      Src: /src/bitcoin-core/src/node/interfaces.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: node::NodeImpl::isSettingIgnored
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - auto*::empty
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: bool isSettingIgnored(const std::string& name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: node::NodeImpl::getPersistentSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getPersistentSetting(const std::string& name)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:165,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:166,1
    - Dst: rw_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:167,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: node::NodeImpl::updateRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - isNull
    - rw_settings::erase
    linkageType: ''
    returnType: void
    signature: void updateRwSetting(const std::string& name, const common::SettingsValue&
      value) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:176,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:177,1
    - Dst: forced_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: node::NodeImpl::forceSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - isNull
    - forced_settings::erase
    linkageType: ''
    returnType: void
    signature: void forceSetting(const std::string& name, const common::SettingsValue&
      value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:186,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:187,1
    - Dst: rw_settings::clear
      Src: /src/bitcoin-core/src/node/interfaces.cpp:188,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: node::NodeImpl::resetSettings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - rw_settings::clear
    linkageType: ''
    returnType: void
    signature: void resetSettings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartMapPort
      Src: /src/bitcoin-core/src/node/interfaces.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: node::NodeImpl::mapPort
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - StartMapPort
    linkageType: ''
    returnType: void
    signature: void mapPort(bool enable) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProxy
      Src: /src/bitcoin-core/src/node/interfaces.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - net
    - ' proxy_info'
    argTypes:
    - Network
    - Proxy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: node::NodeImpl::getProxy
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetProxy
    linkageType: ''
    returnType: bool
    signature: bool getProxy(Network net, Proxy& proxy_info) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetNodeCount
      Src: /src/bitcoin-core/src/node/interfaces.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - ConnectionDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: node::NodeImpl::getNodeCount
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetNodeCount
    linkageType: ''
    returnType: size_t
    signature: size_t getNodeCount(ConnectionDirection flags) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/interfaces.cpp:200,1
    - Dst: connman::GetNodeStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:204,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/node/interfaces.cpp:206,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:206,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: CNodeStateStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:213,1
    - Dst: std::get<1>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:216,1
    - Dst: peerman::GetNodeStateStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    - Dst: std::get<2>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - NodesStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: node::NodeImpl::getNodesStats
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - std::get<1>
    - std::get<2>
    - std::move
    - clear
    - peerman::GetNodeStateStats
    - CNodeStateStats
    - emplace_back
    - std::get<0>
    - std::vector::size
    - TRY_LOCK
    - connman::GetNodeStats
    linkageType: ''
    returnType: bool
    signature: bool getNodesStats(NodesStats& stats) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::GetBanned
      Src: /src/bitcoin-core/src/node/interfaces.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' banmap'
    argTypes:
    - banmap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: node::NodeImpl::getBanned
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::GetBanned
    linkageType: ''
    returnType: bool
    signature: bool getBanned(banmap_t& banmap) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::Ban
      Src: /src/bitcoin-core/src/node/interfaces.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' net_addr'
    - ban_time_offset
    argTypes:
    - CNetAddr
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: node::NodeImpl::ban
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::Ban
    linkageType: ''
    returnType: bool
    signature: bool ban(const CNetAddr& net_addr, int64_t ban_time_offset) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::Unban
      Src: /src/bitcoin-core/src/node/interfaces.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ip'
    argTypes:
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: node::NodeImpl::unban
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::Unban
    linkageType: ''
    returnType: bool
    signature: bool unban(const CSubNet& ip) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/node/interfaces.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' net_addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: node::NodeImpl::disconnectByAddress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::DisconnectNode
    linkageType: ''
    returnType: bool
    signature: bool disconnectByAddress(const CNetAddr& net_addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/node/interfaces.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: node::NodeImpl::disconnectById
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::DisconnectNode
    linkageType: ''
    returnType: bool
    signature: bool disconnectById(NodeId id) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:267,1
    - Dst: ExternalSigner::Enumerate
      Src: /src/bitcoin-core/src/node/interfaces.cpp:269,1
    - Dst: Params
      Src: /src/bitcoin-core/src/node/interfaces.cpp:269,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/interfaces.cpp:271,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:271,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    - Dst: std::make_unique<ExternalSignerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 285
    functionName: node::NodeImpl::listExternalSigners
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - std::vector::emplace_back
    - std::vector::reserve
    - std::move
    - Params
    - ExternalSigner::Enumerate
    - std::make_unique<ExternalSignerImpl>
    - std::vector::size
    linkageType: ''
    returnType: std::vector<std::unique_ptr<interfaces::ExternalSigner>>
    signature: std::vector<std::unique_ptr<interfaces::ExternalSigner>> listExternalSigners()
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetTotalBytesRecv
      Src: /src/bitcoin-core/src/node/interfaces.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: node::NodeImpl::getTotalBytesRecv
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetTotalBytesRecv
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTotalBytesRecv() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetTotalBytesSent
      Src: /src/bitcoin-core/src/node/interfaces.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: node::NodeImpl::getTotalBytesSent
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetTotalBytesSent
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTotalBytesSent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: node::NodeImpl::getMempoolSize
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::size
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: node::NodeImpl::getMempoolDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::DynamicMemoryUsage
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolDynamicUsage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: node::NodeImpl::getMempoolMaxUsage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolMaxUsage() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:293,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:294,1
    - Dst: auto::GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' height'
    - ' block_time'
    argTypes:
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: node::NodeImpl::getHeaderTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    - auto::GetBlockTime
    linkageType: ''
    returnType: bool
    signature: bool getHeaderTip(int& height, int64_t& block_time) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::getNetLocalAddresses
      Src: /src/bitcoin-core/src/node/interfaces.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: node::NodeImpl::getNetLocalAddresses
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::getNetLocalAddresses
    linkageType: ''
    returnType: std::map<CNetAddr, LocalServiceInfo>
    signature: std::map<CNetAddr, LocalServiceInfo> getNetLocalAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:311,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: node::NodeImpl::getNumBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: int
    signature: int getNumBlocks() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:316,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:316,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:317,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: node::NodeImpl::getBestBlockHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - WITH_LOCK
    - CBlockIndex*::GetBlockHash
    linkageType: ''
    returnType: uint256
    signature: uint256 getBestBlockHash() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:321,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:322,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:323,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: node::NodeImpl::getLastBlockTime
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: int64_t
    signature: int64_t getLastBlockTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:329,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:329,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:330,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: node::NodeImpl::getVerificationProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: double
    signature: double getVerificationProgress() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: node::NodeImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:336,1
    - Dst: LoadingBlocks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: node::NodeImpl::isLoadingBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadingBlocks
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isLoadingBlocks() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::SetNetworkActive
      Src: /src/bitcoin-core/src/node/interfaces.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: node::NodeImpl::setNetworkActive
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::SetNetworkActive
    linkageType: ''
    returnType: void
    signature: void setNetworkActive(bool active) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetNetworkActive
      Src: /src/bitcoin-core/src/node/interfaces.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: node::NodeImpl::getNetworkActive
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetNetworkActive
    linkageType: ''
    returnType: bool
    signature: bool getNetworkActive() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: node::NodeImpl::getDustRelayFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate getDustRelayFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/bitcoin-core/src/node/interfaces.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' command'
    - ' params'
    - ' uri'
    argTypes:
    - std::string
    - UniValue
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: node::NodeImpl::executeRpc
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - execute
    linkageType: ''
    returnType: UniValue
    signature: UniValue executeRpc(const std::string& command, const UniValue& params,
      const std::string& uri) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listCommands
      Src: /src/bitcoin-core/src/node/interfaces.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: node::NodeImpl::listRpcCommands
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - listCommands
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> listRpcCommands() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:361,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: node::NodeImpl::getUnspentOutput
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> getUnspentOutput(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:366,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tx
    - max_tx_fee
    - ' err_string'
    argTypes:
    - CTransactionRef
    - CAmount
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: node::NodeImpl::broadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BroadcastTransaction
    - std::move
    linkageType: ''
    returnType: TransactionError
    signature: TransactionError broadcastTransaction(CTransactionRef tx, CAmount max_tx_fee,
      std::string& err_string) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: '& walletLoader() override'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: WalletLoader
    signature: WalletLoader & walletLoader() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:374,1
    - Dst: InitMessage_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - InitMessageFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: node::NodeImpl::handleInitMessage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - InitMessage_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleInitMessage(InitMessageFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:378,1
    - Dst: ThreadSafeMessageBox_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - MessageBoxFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: node::NodeImpl::handleMessageBox
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ThreadSafeMessageBox_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleMessageBox(MessageBoxFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:382,1
    - Dst: ThreadSafeQuestion_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - QuestionFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: node::NodeImpl::handleQuestion
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ThreadSafeQuestion_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleQuestion(QuestionFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:386,1
    - Dst: ShowProgress_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - ShowProgressFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: node::NodeImpl::handleShowProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ShowProgress_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:390,1
    - Dst: InitWallet_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - InitWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: node::NodeImpl::handleInitWallet
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - InitWallet_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleInitWallet(InitWalletFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:394,1
    - Dst: NotifyNumConnectionsChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyNumConnectionsChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: node::NodeImpl::handleNotifyNumConnectionsChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyNumConnectionsChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyNumConnectionsChanged(NotifyNumConnectionsChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:398,1
    - Dst: NotifyNetworkActiveChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyNetworkActiveChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: node::NodeImpl::handleNotifyNetworkActiveChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyNetworkActiveChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyNetworkActiveChanged(NotifyNetworkActiveChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:402,1
    - Dst: NotifyAlertChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyAlertChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: node::NodeImpl::handleNotifyAlertChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyAlertChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyAlertChanged(NotifyAlertChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:406,1
    - Dst: BannedListChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - BannedListChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: node::NodeImpl::handleBannedListChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - BannedListChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleBannedListChanged(BannedListChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:410,1
    - Dst: NotifyBlockTip_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:410,1
    - Dst: fn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyBlockTipFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: node::NodeImpl::handleNotifyBlockTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - GetBlockTime
    - NotifyBlockTip_connect
    - fn
    - GetBlockHash
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyBlockTip(NotifyBlockTipFn fn)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:416,1
    - Dst: NotifyHeaderTip_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:417,1
    - Dst: fn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyHeaderTipFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: node::NodeImpl::handleNotifyHeaderTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyHeaderTip_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyHeaderTip(NotifyHeaderTipFn fn)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: node::NodeImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - NodeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: node::NodeImpl::setContext
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setContext(NodeContext* context) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:426,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: '& args()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & args()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 427
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:435,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:437,1
    - Dst: GetBlockTimeMax
      Src: /src/bitcoin-core/src/node/interfaces.cpp:438,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/node/interfaces.cpp:439,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/node/interfaces.cpp:441,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:442,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:444,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:445,1
    - Dst: m_data::SetNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:445,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 449
    functionName: node::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 8
    functionsReached:
    - ReadBlock
    - GetBlockTime
    - GetMedianTimePast
    - FillBlock
    - m_data::SetNull
    - GetBlockTimeMax
    - GetLocator
    - REVERSE_LOCK
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - notifications
    argTypes:
    - std::shared_ptr<Chain::Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: node::NotificationsProxy::NotificationsProxy
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NotificationsProxy(std::shared_ptr<Chain::Notifications> notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: ~NotificationsProxy()
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NotificationsProxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transactionAddedToMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tx'
    - mempool_sequence
    argTypes:
    - NewMempoolTransactionInfo
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: node::NotificationsProxy::TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - transactionAddedToMempool
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t mempool_sequence) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transactionRemovedFromMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tx'
    - reason
    - mempool_sequence
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: node::NotificationsProxy::TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - transactionRemovedFromMempool
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t mempool_sequence) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockConnected
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - role
    - ' block'
    - index
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: node::NotificationsProxy::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - blockConnected
    - get
    - kernel::MakeBlockInfo
    linkageType: ''
    returnType: void
    signature: void BlockConnected(ChainstateRole role, const std::shared_ptr<const
      CBlock>& block, const CBlockIndex* index) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDisconnected
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' block'
    - index
    argTypes:
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: node::NotificationsProxy::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - kernel::MakeBlockInfo
    - get
    - blockDisconnected
    linkageType: ''
    returnType: void
    signature: void BlockDisconnected(const std::shared_ptr<const CBlock>& block,
      const CBlockIndex* index) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updatedBlockTip
      Src: /src/bitcoin-core/src/node/interfaces.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - fork_index
    - is_ibd
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: node::NotificationsProxy::UpdatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - updatedBlockTip
    linkageType: ''
    returnType: void
    signature: void UpdatedBlockTip(const CBlockIndex* index, const CBlockIndex* fork_index,
      bool is_ibd) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainStateFlushed
      Src: /src/bitcoin-core/src/node/interfaces.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - role
    - ' locator'
    argTypes:
    - ChainstateRole
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: node::NotificationsProxy::ChainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainStateFlushed
    linkageType: ''
    returnType: void
    signature: void ChainStateFlushed(ChainstateRole role, const CBlockLocator& locator)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NotificationsProxy>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:487,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:487,1
    - Dst: RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/node/interfaces.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' signals'
    - notifications
    argTypes:
    - ValidationSignals
    - std::shared_ptr<Chain::Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: node::NotificationsHandlerImpl::NotificationsHandlerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - RegisterSharedValidationInterface
    - std::make_shared<NotificationsProxy>
    - std::move
    linkageType: ''
    returnType: void
    signature: void NotificationsHandlerImpl(ValidationSignals& signals, std::shared_ptr<Chain::Notifications>
      notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: ~NotificationsHandlerImpl() override
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ~NotificationsHandlerImpl() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnregisterSharedValidationInterface
      Src: /src/bitcoin-core/src/node/interfaces.cpp:495,1
    - Dst: reset
      Src: /src/bitcoin-core/src/node/interfaces.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: node::NotificationsHandlerImpl::disconnect
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - UnregisterSharedValidationInterface
    - reset
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: actor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:511,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/node/interfaces.cpp:518,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/node/interfaces.cpp:518,1
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/node/interfaces.cpp:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - CRPCCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: node::RpcHandlerImpl::RpcHandlerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - actor
    - appendCommand
    - getInt
    - isNum
    linkageType: ''
    returnType: void
    signature: void RpcHandlerImpl(const CRPCCommand& command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeCommand
      Src: /src/bitcoin-core/src/node/interfaces.cpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: node::RpcHandlerImpl::disconnect
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - removeCommand
    linkageType: ''
    returnType: void
    signature: void disconnect() final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: ~RpcHandlerImpl() override
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ~RpcHandlerImpl() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: node::ChainImpl::ChainImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainImpl(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: node::ChainImpl::getHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> getHeight() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:553,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:554,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: node::ChainImpl::getBlockHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - LOCK
    - Assert
    linkageType: ''
    returnType: uint256
    signature: uint256 getBlockHash(int height) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:558,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: node::ChainImpl::haveBlockOnDisk
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool haveBlockOnDisk(int height) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:564,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: node::ChainImpl::getTipLocator
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator getTipLocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:569,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:570,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:570,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/node/interfaces.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: node::ChainImpl::getActiveChainLocator
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    - GetLocator
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator getActiveChainLocator(const uint256& block_hash) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:575,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: node::ChainImpl::findLocatorFork
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> findLocatorFork(const CBlockLocator& locator) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter_type
    argTypes:
    - BlockFilterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: node::ChainImpl::hasBlockFilterIndex
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetBlockFilterIndex
    linkageType: ''
    returnType: bool
    signature: bool hasBlockFilterIndex(BlockFilterType filter_type) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:587,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:590,1
    - Dst: BlockFilterIndex*::LookupFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:592,1
    - Dst: BlockFilter::GetFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - filter_type
    - ' block_hash'
    - ' filter_set'
    argTypes:
    - BlockFilterType
    - uint256
    - GCSFilter::ElementSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: node::ChainImpl::blockFilterMatchesAny
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BlockFilter::GetFilter
    - GetBlockFilterIndex
    - BlockFilterIndex*::LookupFilter
    - BlockFilter::BlockFilter
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blockFilterMatchesAny(BlockFilterType filter_type,
      const uint256& block_hash, const GCSFilter::ElementSet& filter_set) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:597,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hash'
    - ' block'
    argTypes:
    - uint256
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: node::ChainImpl::findBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    linkageType: ''
    returnType: bool
    signature: bool findBlock(const uint256& hash, const FoundBlock& block) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:602,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:603,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    - Dst: FindEarliestAtLeast
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - min_time
    - min_height
    - ' block'
    argTypes:
    - int64_t
    - int
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: node::ChainImpl::findFirstBlockWithTimeAndHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - FillBlock
    - WAIT_LOCK
    - FindEarliestAtLeast
    linkageType: ''
    returnType: bool
    signature: bool findFirstBlockWithTimeAndHeight(int64_t min_time, int min_height,
      const FoundBlock& block) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:608,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:609,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:610,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:610,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:611,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:612,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:612,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:615,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' block_hash'
    - ancestor_height
    - ' ancestor_out'
    argTypes:
    - uint256
    - int
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: node::ChainImpl::findAncestorByHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool findAncestorByHeight(const uint256& block_hash, int ancestor_height,
      const FoundBlock& ancestor_out) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:619,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:620,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:620,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:621,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:621,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:622,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' block_hash'
    - ' ancestor_hash'
    - ' ancestor_out'
    argTypes:
    - uint256
    - uint256
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: node::ChainImpl::findAncestorByHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool findAncestorByHash(const uint256& block_hash, const uint256& ancestor_hash,
      const FoundBlock& ancestor_out) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:627,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:628,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:629,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:629,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:630,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:630,1
    - Dst: LastCommonAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:631,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:635,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:635,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:636,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:636,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:637,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - ' block_hash1'
    - ' block_hash2'
    - ' ancestor_out'
    - ' block1_out'
    - ' block2_out'
    argTypes:
    - uint256
    - uint256
    - FoundBlock
    - FoundBlock
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 638
    functionName: node::ChainImpl::findCommonAncestor
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LastCommonAncestor
    - LookupBlockIndex
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool findCommonAncestor(const uint256& block_hash1, const uint256&
      block_hash2, const FoundBlock& ancestor_out, const FoundBlock& block1_out, const
      FoundBlock& block2_out) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindCoins
      Src: /src/bitcoin-core/src/node/interfaces.cpp:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coins'
    argTypes:
    - std::map<COutPoint, Coin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: node::ChainImpl::findCoins
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FindCoins
    linkageType: ''
    returnType: void
    signature: void findCoins(std::map<COutPoint, Coin>& coins) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:642,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:642,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: node::ChainImpl::guessVerificationProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    linkageType: ''
    returnType: double
    signature: double guessVerificationProgress(const uint256& block_hash) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:654,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:655,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:655,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ' block_hash'
    - min_height
    - max_height
    argTypes:
    - uint256
    - int
    - std::optional<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 663
    functionName: node::ChainImpl::hasBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool hasBlocks(const uint256& block_hash, int min_height, std::optional<int>
      max_height) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsRBFOptInEmptyMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:666,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:667,1
    - Dst: IsRBFOptIn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: node::ChainImpl::isRBFOptIn
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsRBFOptInEmptyMempool
    - LOCK
    - IsRBFOptIn
    linkageType: ''
    returnType: RBFTransactionState
    signature: RBFTransactionState isRBFOptIn(const CTransaction& tx) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:673,1
    - Dst: mempool::exists
      Src: /src/bitcoin-core/src/node/interfaces.cpp:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 675
    functionName: node::ChainImpl::isInMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mempool::exists
    linkageType: ''
    returnType: bool
    signature: bool isInMempool(const Txid& txid) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:679,1
    - Dst: mempool::GetEntry
      Src: /src/bitcoin-core/src/node/interfaces.cpp:680,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/node/interfaces.cpp:680,1
    - Dst: auto::GetCountWithDescendants
      Src: /src/bitcoin-core/src/node/interfaces.cpp:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: node::ChainImpl::hasDescendantsInMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - transaction_identifier::FromUint256
    - auto::GetCountWithDescendants
    - mempool::GetEntry
    linkageType: ''
    returnType: bool
    signature: bool hasDescendantsInMempool(const uint256& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' tx'
    - ' max_tx_fee'
    - relay
    - ' err_string'
    argTypes:
    - CTransactionRef
    - CAmount
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 694
    functionName: node::ChainImpl::broadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BroadcastTransaction
    linkageType: ''
    returnType: bool
    signature: "bool broadcastTransaction(const CTransactionRef& tx,\n        const
      CAmount& max_tx_fee,\n        bool relay,\n        std::string& err_string)
      override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mempool::GetTransactionAncestry
      Src: /src/bitcoin-core/src/node/interfaces.cpp:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' txid'
    - ' ancestors'
    - ' descendants'
    - ancestorsize
    - ancestorfees
    argTypes:
    - uint256
    - size_t
    - size_t
    - size_t*
    - CAmount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: node::ChainImpl::getTransactionAncestry
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::GetTransactionAncestry
    linkageType: ''
    returnType: void
    signature: void getTransactionAncestry(const uint256& txid, size_t& ancestors,
      size_t& descendants, size_t* ancestorsize, CAmount* ancestorfees) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/node/interfaces.cpp:707,1
    - Dst: MiniMiner
      Src: /src/bitcoin-core/src/node/interfaces.cpp:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' outpoints'
    - ' target_feerate'
    argTypes:
    - std::vector<COutPoint>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 712
    functionName: node::ChainImpl::calculateIndividualBumpFees
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::map::emplace
    - MiniMiner
    linkageType: ''
    returnType: std::map<COutPoint, CAmount>
    signature: std::map<COutPoint, CAmount> calculateIndividualBumpFees(const std::vector<COutPoint>&
      outpoints, const CFeeRate& target_feerate) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MiniMiner
      Src: /src/bitcoin-core/src/node/interfaces.cpp:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' outpoints'
    - ' target_feerate'
    argTypes:
    - std::vector<COutPoint>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 720
    functionName: node::ChainImpl::calculateCombinedBumpFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MiniMiner
    linkageType: ''
    returnType: std::optional<CAmount>
    signature: std::optional<CAmount> calculateCombinedBumpFee(const std::vector<COutPoint>&
      outpoints, const CFeeRate& target_feerate) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' limit_ancestor_count'
    - ' limit_descendant_count'
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: node::ChainImpl::getPackageLimits
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getPackageLimits(unsigned int& limit_ancestor_count, unsigned
      int& limit_descendant_count) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:735,1
    - Dst: mempool::CheckPackageLimits
      Src: /src/bitcoin-core/src/node/interfaces.cpp:736,1
    - Dst: CTxMemPoolEntry::GetTxSize
      Src: /src/bitcoin-core/src/node/interfaces.cpp:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: node::ChainImpl::checkChainLimits
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mempool::CheckPackageLimits
    - CTxMemPoolEntry::GetTxSize
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> checkChainLimits(const CTransactionRef& tx) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fee_estimator::estimateSmartFee
      Src: /src/bitcoin-core/src/node/interfaces.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - num_blocks
    - conservative
    - calc
    argTypes:
    - int
    - bool
    - FeeCalculation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 742
    functionName: node::ChainImpl::estimateSmartFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - fee_estimator::estimateSmartFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate estimateSmartFee(int num_blocks, bool conservative, FeeCalculation*
      calc) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fee_estimator::HighestTargetTracked
      Src: /src/bitcoin-core/src/node/interfaces.cpp:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: node::ChainImpl::estimateMaxBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - fee_estimator::HighestTargetTracked
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int estimateMaxBlocks() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mempool::GetMinFee
      Src: /src/bitcoin-core/src/node/interfaces.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: node::ChainImpl::mempoolMinFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::GetMinFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate mempoolMinFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: node::ChainImpl::relayMinFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayMinFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: node::ChainImpl::relayIncrementalFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayIncrementalFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: node::ChainImpl::relayDustFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayDustFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:770,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: node::ChainImpl::havePruned
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool havePruned() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:775,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:775,1
    - Dst: GetPruneHeight
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: node::ChainImpl::getPruneHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetPruneHeight
    - chainman
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> getPruneHeight() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    - Dst: LoadingBlocks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    - Dst: node::ChainImpl::isInitialBlockDownload
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: node::ChainImpl::isReadyToBroadcast
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadingBlocks
    - chainman
    - node::ChainImpl::isInitialBlockDownload
    linkageType: ''
    returnType: bool
    signature: bool isReadyToBroadcast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: node::ChainImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 3
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/node/interfaces.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 783
    functionName: node::ChainImpl::shutdownRequested
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShutdownRequested
    linkageType: ''
    returnType: bool
    signature: bool shutdownRequested() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 784
    functionName: node::ChainImpl::initMessage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitMessage
    linkageType: ''
    returnType: void
    signature: void initMessage(const std::string& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/node/interfaces.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 785
    functionName: node::ChainImpl::initWarning
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitWarning
    linkageType: ''
    returnType: void
    signature: void initWarning(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitError
      Src: /src/bitcoin-core/src/node/interfaces.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 786
    functionDepth: 4
    functionLinenumber: 786
    functionLinenumberEnd: 786
    functionName: node::ChainImpl::initError
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitError
    linkageType: ''
    returnType: void
    signature: void initError(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowProgress
      Src: /src/bitcoin-core/src/node/interfaces.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' title'
    - progress
    - resume_possible
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: node::ChainImpl::showProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShowProgress
    linkageType: ''
    returnType: void
    signature: void showProgress(const std::string& title, int progress, bool resume_possible)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NotificationsHandlerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    - Dst: validation_signals
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - notifications
    argTypes:
    - std::shared_ptr<Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: node::ChainImpl::handleNotifications
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<NotificationsHandlerImpl>
    - validation_signals
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifications(std::shared_ptr<Notifications>
      notifications) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: validation_signals
      Src: /src/bitcoin-core/src/node/interfaces.cpp:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' old_tip'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: node::ChainImpl::waitForNotificationsIfTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - WITH_LOCK
    - validation_signals
    - IsNull
    linkageType: ''
    returnType: void
    signature: void waitForNotificationsIfTipChanged(const uint256& old_tip) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RpcHandlerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - CRPCCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: node::ChainImpl::handleRpc
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RpcHandlerImpl>
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleRpc(const CRPCCommand& command) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/node/interfaces.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' method'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: node::ChainImpl::rpcEnableDeprecated
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsDeprecatedRPCEnabled
    linkageType: ''
    returnType: bool
    signature: bool rpcEnableDeprecated(const std::string& method) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: node::ChainImpl::getSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getSetting(const std::string& name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: node::ChainImpl::getSettingsList
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: std::vector<common::SettingsValue>
    signature: std::vector<common::SettingsValue> getSettingsList(const std::string&
      name) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:816,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 822
    functionName: node::ChainImpl::getRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - common::FindKey
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getRwSetting(const std::string& name) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:827,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:828,1
    - Dst: update_settings_func
      Src: /src/bitcoin-core/src/node/interfaces.cpp:829,1
    - Dst: auto*::isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:830,1
    - Dst: rw_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:830,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/node/interfaces.cpp:832,1
    - Dst: update_settings_func
      Src: /src/bitcoin-core/src/node/interfaces.cpp:833,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:834,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:834,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ' name'
    - ' update_settings_func'
    argTypes:
    - std::string
    - interfaces::SettingsUpdate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 840
    functionName: node::ChainImpl::updateRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 2
    functionsReached:
    - args
    - rw_settings::erase
    - UniValue::UniValue
    - std::move
    - UniValue::isNull
    - auto*::isNull
    - update_settings_func
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: "bool updateRwSetting(const std::string& name,\n                         const
      interfaces::SettingsUpdate& update_settings_func) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ChainImpl::updateRwSetting
      Src: /src/bitcoin-core/src/node/interfaces.cpp:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' name'
    - value
    - action
    argTypes:
    - std::string
    - common::SettingsValue
    - interfaces::SettingsAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 847
    functionName: node::ChainImpl::overwriteRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - node::ChainImpl::updateRwSetting
    linkageType: ''
    returnType: bool
    signature: bool overwriteRwSetting(const std::string& name, common::SettingsValue
      value, interfaces::SettingsAction action) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ChainImpl::overwriteRwSetting
      Src: /src/bitcoin-core/src/node/interfaces.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - action
    argTypes:
    - std::string
    - interfaces::SettingsAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: node::ChainImpl::deleteRwSettings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - node::ChainImpl::overwriteRwSetting
    linkageType: ''
    returnType: bool
    signature: bool deleteRwSettings(const std::string& name, interfaces::SettingsAction
      action) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/interfaces.cpp:855,1
    - Dst: mempool::entryAll
      Src: /src/bitcoin-core/src/node/interfaces.cpp:856,1
    - Dst: transactionAddedToMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:857,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/node/interfaces.cpp:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' notifications'
    argTypes:
    - Notifications
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 859
    functionName: node::ChainImpl::requestMempoolTransactions
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - mempool::entryAll
    - GetSharedTx
    - transactionAddedToMempool
    linkageType: ''
    returnType: void
    signature: void requestMempoolTransactions(Notifications& notifications) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: node::ChainImpl::hasAssumedValidChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool hasAssumedValidChain() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: node::ChainImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: '& args()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & args()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: '& validation_signals()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ValidationSignals
    signature: ValidationSignals & validation_signals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:877,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:878,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - assemble_options
    - block_template
    - ' node'
    argTypes:
    - BlockAssembler::Options
    - std::unique_ptr<CBlockTemplate>
    - NodeContext
    assertStmts:
    - condition: (m_block_template)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/bitcoin-core/src/node/interfaces.cpp
    constantsTouched: []
    func_position:
      end: 882
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 882
    functionName: node::BlockTemplateImpl::BlockTemplateImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::move
    linkageType: ''
    returnType: void
    signature: "void BlockTemplateImpl(BlockAssembler::Options assemble_options,\n
      \                              std::unique_ptr<CBlockTemplate> block_template,\n
      \                              NodeContext& node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: node::BlockTemplateImpl::getBlockHeader
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader getBlockHeader() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: node::BlockTemplateImpl::getBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlock
    signature: CBlock getBlock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: node::BlockTemplateImpl::getTxFees
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CAmount>
    signature: std::vector<CAmount> getTxFees() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: node::BlockTemplateImpl::getTxSigops
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<int64_t>
    signature: std::vector<int64_t> getTxSigops() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 907
    functionName: node::BlockTemplateImpl::getCoinbaseTx
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef getCoinbaseTx() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: node::BlockTemplateImpl::getCoinbaseCommitment
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> getCoinbaseCommitment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: node::BlockTemplateImpl::getWitnessCommitmentIndex
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessCommitmentIndex
    linkageType: ''
    returnType: int
    signature: int getWitnessCommitmentIndex() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionMerklePath
      Src: /src/bitcoin-core/src/node/interfaces.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: node::BlockTemplateImpl::getCoinbaseMerklePath
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - TransactionMerklePath
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> getCoinbaseMerklePath() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddMerkleRootAndCoinbase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:926,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:926,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:927,1
    - Dst: std::make_shared<const CBlock>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - version
    - timestamp
    - nonce
    - coinbase
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 928
    functionName: node::BlockTemplateImpl::submitSolution
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<const CBlock>
    - chainman
    - std::move
    - AddMerkleRootAndCoinbase
    linkageType: ''
    returnType: bool
    signature: bool submitSolution(uint32_t version, uint32_t timestamp, uint32_t
      nonce, CTransactionRef coinbase) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WaitAndCreateNewBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: notifications
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: std::make_unique<BlockTemplateImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:933,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - BlockWaitOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 935
    functionName: node::BlockTemplateImpl::waitNext
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - notifications
    - WaitAndCreateNewBlock
    - std::move
    - chainman
    - mempool::get
    - std::make_unique<BlockTemplateImpl>
    linkageType: ''
    returnType: std::unique_ptr<BlockTemplate>
    signature: std::unique_ptr<BlockTemplate> waitNext(BlockWaitOptions options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 941
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 942
    functionName: '& notifications()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: KernelNotifications
    signature: KernelNotifications & notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 949
    functionName: node::MinerImpl::MinerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinerImpl(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: node::MinerImpl::isTestChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isTestChain() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: node::MinerImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTip
      Src: /src/bitcoin-core/src/node/interfaces.cpp:963,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: node::MinerImpl::getTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - GetTip
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> getTip() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitTipChanged
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    - Dst: notifications
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - current_tip
    - timeout
    argTypes:
    - uint256
    - MillisecondsDouble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: node::MinerImpl::waitTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 2
    functionsReached:
    - chainman
    - notifications
    - WaitTipChanged
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> waitTipChanged(uint256 current_tip, MillisecondsDouble
      timeout) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::MinerImpl::waitTipChanged
      Src: /src/bitcoin-core/src/node/interfaces.cpp:974,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/interfaces.cpp:974,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/node/interfaces.cpp:977,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:977,1
    - Dst: std::make_unique<BlockTemplateImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: node::MinerImpl::context
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - BlockCreateOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: node::MinerImpl::createNewBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ApplyArgsManOptions
    - node::MinerImpl::context
    - node::MinerImpl::waitTipChanged
    - CreateNewBlock
    - Assert
    - chainman
    - get
    - std::make_unique<BlockTemplateImpl>
    - RandomMixin::max
    linkageType: ''
    returnType: std::unique_ptr<BlockTemplate>
    signature: std::unique_ptr<BlockTemplate> createNewBlock(const BlockCreateOptions&
      options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:983,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:983,1
    - Dst: TestBlockValidity
      Src: /src/bitcoin-core/src/node/interfaces.cpp:984,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:984,1
    - Dst: BlockValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/node/interfaces.cpp:985,1
    - Dst: BlockValidationState::GetDebugMessage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:986,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/node/interfaces.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' block'
    - ' options'
    - ' reason'
    - ' debug'
    argTypes:
    - CBlock
    - node::BlockCheckOptions
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 981
    functionDepth: 6
    functionLinenumber: 981
    functionLinenumberEnd: 988
    functionName: node::MinerImpl::checkBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BlockValidationState::IsValid
    - BlockValidationState::GetDebugMessage
    - TestBlockValidity
    - BlockValidationState::GetRejectReason
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool checkBlock(const CBlock& block, const node::BlockCheckOptions&
      options, std::string& reason, std::string& debug) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: node::MinerImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 991
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 992
    functionName: '& notifications()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: KernelNotifications
    signature: KernelNotifications & notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - signer
    argTypes:
    - ::ExternalSigner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: node::ExternalSignerImpl::ExternalSignerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ExternalSignerImpl(::ExternalSigner signer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: node::ExternalSignerImpl::getName
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::NodeImpl::setContext
      Src: /src/bitcoin-core/src/node/interfaces.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: node::NodeImpl::NodeImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - node::NodeImpl::setContext
    linkageType: ''
    returnType: void
    signature: void NodeImpl(NodeContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitLogging
      Src: /src/bitcoin-core/src/node/interfaces.cpp:106,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: node::NodeImpl::initLogging
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitLogging
    - args
    linkageType: ''
    returnType: void
    signature: void initLogging() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitParameterInteraction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:107,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: node::NodeImpl::initParameterInteraction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - InitParameterInteraction
    linkageType: ''
    returnType: void
    signature: void initParameterInteraction() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/interfaces.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: node::NodeImpl::getWarnings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - Untranslated
    - Join
    linkageType: ''
    returnType: bilingual_str
    signature: bilingual_str getWarnings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:109,1
    - Dst: load
      Src: /src/bitcoin-core/src/node/interfaces.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: node::NodeImpl::getExitStatus
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    - load
    linkageType: ''
    returnType: int
    signature: int getExitStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/node/interfaces.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: node::NodeImpl::getLogCategories
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LogInstance
    linkageType: ''
    returnType: BCLog::CategoryMask
    signature: BCLog::CategoryMask getLogCategories() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AppInitBasicSetup
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: node::NodeImpl::context
      Src: /src/bitcoin-core/src/node/interfaces.cpp:113,1
    - Dst: AppInitParameterInteraction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:114,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:114,1
    - Dst: std::make_unique<node::Warnings>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:116,1
    - Dst: std::make_unique<kernel::Context>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:117,1
    - Dst: std::make_unique<ECC_Context>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:118,1
    - Dst: AppInitSanityChecks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:119,1
    - Dst: AppInitLockDirectories
      Src: /src/bitcoin-core/src/node/interfaces.cpp:121,1
    - Dst: AppInitInterfaces
      Src: /src/bitcoin-core/src/node/interfaces.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: node::NodeImpl::baseInitialize
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECC_Context>
    - args
    - AppInitSanityChecks
    - std::make_unique<node::Warnings>
    - std::make_unique<kernel::Context>
    - AppInitLockDirectories
    - Assert
    - AppInitBasicSetup
    - node::NodeImpl::context
    - AppInitParameterInteraction
    - AppInitInterfaces
    linkageType: ''
    returnType: bool
    signature: bool baseInitialize() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AppInitMain
      Src: /src/bitcoin-core/src/node/interfaces.cpp:128,1
    - Dst: exit_status::store
      Src: /src/bitcoin-core/src/node/interfaces.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tip_info
    argTypes:
    - interfaces::BlockAndHeaderTipInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 7
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: node::NodeImpl::appInitMain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - exit_status::store
    - AppInitMain
    linkageType: ''
    returnType: bool
    signature: bool appInitMain(interfaces::BlockAndHeaderTipInfo* tip_info) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interrupt
      Src: /src/bitcoin-core/src/node/interfaces.cpp:135,1
    - Dst: Shutdown
      Src: /src/bitcoin-core/src/node/interfaces.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: node::NodeImpl::appShutdown
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Shutdown
    - Interrupt
    linkageType: ''
    returnType: void
    signature: void appShutdown() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:140,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:141,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/node/interfaces.cpp:142,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:146,1
    - Dst: InterruptRPC
      Src: /src/bitcoin-core/src/node/interfaces.cpp:147,1
    - Dst: StopRPC
      Src: /src/bitcoin-core/src/node/interfaces.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: node::NodeImpl::startShutdown
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - StopRPC
    - LogError
    - InterruptRPC
    - Assert
    linkageType: ''
    returnType: void
    signature: void startShutdown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/node/interfaces.cpp:151,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: node::NodeImpl::shutdownRequested
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShutdownRequested
    - Assert
    linkageType: ''
    returnType: bool
    signature: bool shutdownRequested() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:155,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:156,1
    - Dst: auto*::empty
      Src: /src/bitcoin-core/src/node/interfaces.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: node::NodeImpl::isSettingIgnored
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - auto*::empty
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: bool isSettingIgnored(const std::string& name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: node::NodeImpl::getPersistentSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getPersistentSetting(const std::string& name)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:165,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:166,1
    - Dst: rw_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:167,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: node::NodeImpl::updateRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - isNull
    - rw_settings::erase
    linkageType: ''
    returnType: void
    signature: void updateRwSetting(const std::string& name, const common::SettingsValue&
      value) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:176,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:177,1
    - Dst: forced_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - common::SettingsValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: node::NodeImpl::forceSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - isNull
    - forced_settings::erase
    linkageType: ''
    returnType: void
    signature: void forceSetting(const std::string& name, const common::SettingsValue&
      value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:186,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:187,1
    - Dst: rw_settings::clear
      Src: /src/bitcoin-core/src/node/interfaces.cpp:188,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: node::NodeImpl::resetSettings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - rw_settings::clear
    linkageType: ''
    returnType: void
    signature: void resetSettings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartMapPort
      Src: /src/bitcoin-core/src/node/interfaces.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: node::NodeImpl::mapPort
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - StartMapPort
    linkageType: ''
    returnType: void
    signature: void mapPort(bool enable) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProxy
      Src: /src/bitcoin-core/src/node/interfaces.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - net
    - ' proxy_info'
    argTypes:
    - Network
    - Proxy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: node::NodeImpl::getProxy
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetProxy
    linkageType: ''
    returnType: bool
    signature: bool getProxy(Network net, Proxy& proxy_info) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetNodeCount
      Src: /src/bitcoin-core/src/node/interfaces.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - ConnectionDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: node::NodeImpl::getNodeCount
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetNodeCount
    linkageType: ''
    returnType: size_t
    signature: size_t getNodeCount(ConnectionDirection flags) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/node/interfaces.cpp:200,1
    - Dst: connman::GetNodeStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:204,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/node/interfaces.cpp:206,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:206,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: CNodeStateStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:208,1
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:213,1
    - Dst: std::get<1>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:216,1
    - Dst: peerman::GetNodeStateStats
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    - Dst: std::get<0>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    - Dst: std::get<2>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - NodesStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: node::NodeImpl::getNodesStats
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - std::get<1>
    - std::get<2>
    - std::move
    - clear
    - peerman::GetNodeStateStats
    - CNodeStateStats
    - emplace_back
    - std::get<0>
    - std::vector::size
    - TRY_LOCK
    - connman::GetNodeStats
    linkageType: ''
    returnType: bool
    signature: bool getNodesStats(NodesStats& stats) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::GetBanned
      Src: /src/bitcoin-core/src/node/interfaces.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' banmap'
    argTypes:
    - banmap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: node::NodeImpl::getBanned
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::GetBanned
    linkageType: ''
    returnType: bool
    signature: bool getBanned(banmap_t& banmap) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::Ban
      Src: /src/bitcoin-core/src/node/interfaces.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' net_addr'
    - ban_time_offset
    argTypes:
    - CNetAddr
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: node::NodeImpl::ban
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::Ban
    linkageType: ''
    returnType: bool
    signature: bool ban(const CNetAddr& net_addr, int64_t ban_time_offset) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: banman::Unban
      Src: /src/bitcoin-core/src/node/interfaces.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ip'
    argTypes:
    - CSubNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: node::NodeImpl::unban
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - banman::Unban
    linkageType: ''
    returnType: bool
    signature: bool unban(const CSubNet& ip) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/node/interfaces.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' net_addr'
    argTypes:
    - CNetAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: node::NodeImpl::disconnectByAddress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::DisconnectNode
    linkageType: ''
    returnType: bool
    signature: bool disconnectByAddress(const CNetAddr& net_addr) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::DisconnectNode
      Src: /src/bitcoin-core/src/node/interfaces.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: node::NodeImpl::disconnectById
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::DisconnectNode
    linkageType: ''
    returnType: bool
    signature: bool disconnectById(NodeId id) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:267,1
    - Dst: ExternalSigner::Enumerate
      Src: /src/bitcoin-core/src/node/interfaces.cpp:269,1
    - Dst: Params
      Src: /src/bitcoin-core/src/node/interfaces.cpp:269,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/interfaces.cpp:271,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:271,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    - Dst: std::make_unique<ExternalSignerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 285
    functionName: node::NodeImpl::listExternalSigners
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - std::vector::emplace_back
    - std::vector::reserve
    - std::move
    - Params
    - ExternalSigner::Enumerate
    - std::make_unique<ExternalSignerImpl>
    - std::vector::size
    linkageType: ''
    returnType: std::vector<std::unique_ptr<interfaces::ExternalSigner>>
    signature: std::vector<std::unique_ptr<interfaces::ExternalSigner>> listExternalSigners()
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetTotalBytesRecv
      Src: /src/bitcoin-core/src/node/interfaces.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: node::NodeImpl::getTotalBytesRecv
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetTotalBytesRecv
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTotalBytesRecv() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetTotalBytesSent
      Src: /src/bitcoin-core/src/node/interfaces.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: node::NodeImpl::getTotalBytesSent
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetTotalBytesSent
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTotalBytesSent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::size
      Src: /src/bitcoin-core/src/node/interfaces.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: node::NodeImpl::getMempoolSize
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::size
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempool::DynamicMemoryUsage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: node::NodeImpl::getMempoolDynamicUsage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::DynamicMemoryUsage
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolDynamicUsage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: node::NodeImpl::getMempoolMaxUsage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMempoolMaxUsage() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:293,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:294,1
    - Dst: auto::GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' height'
    - ' block_time'
    argTypes:
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: node::NodeImpl::getHeaderTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    - auto::GetBlockTime
    linkageType: ''
    returnType: bool
    signature: bool getHeaderTip(int& height, int64_t& block_time) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::getNetLocalAddresses
      Src: /src/bitcoin-core/src/node/interfaces.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: node::NodeImpl::getNetLocalAddresses
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::getNetLocalAddresses
    linkageType: ''
    returnType: std::map<CNetAddr, LocalServiceInfo>
    signature: std::map<CNetAddr, LocalServiceInfo> getNetLocalAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:311,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: node::NodeImpl::getNumBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: int
    signature: int getNumBlocks() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:316,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:316,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:317,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: node::NodeImpl::getBestBlockHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - WITH_LOCK
    - CBlockIndex*::GetBlockHash
    linkageType: ''
    returnType: uint256
    signature: uint256 getBestBlockHash() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:321,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:322,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:323,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: node::NodeImpl::getLastBlockTime
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: int64_t
    signature: int64_t getLastBlockTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:329,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:329,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:330,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: node::NodeImpl::getVerificationProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: double
    signature: double getVerificationProgress() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: node::NodeImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:336,1
    - Dst: LoadingBlocks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: node::NodeImpl::isLoadingBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadingBlocks
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isLoadingBlocks() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connman::SetNetworkActive
      Src: /src/bitcoin-core/src/node/interfaces.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: node::NodeImpl::setNetworkActive
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::SetNetworkActive
    linkageType: ''
    returnType: void
    signature: void setNetworkActive(bool active) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connman::GetNetworkActive
      Src: /src/bitcoin-core/src/node/interfaces.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: node::NodeImpl::getNetworkActive
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - connman::GetNetworkActive
    linkageType: ''
    returnType: bool
    signature: bool getNetworkActive() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: node::NodeImpl::getDustRelayFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate getDustRelayFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/bitcoin-core/src/node/interfaces.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' command'
    - ' params'
    - ' uri'
    argTypes:
    - std::string
    - UniValue
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: node::NodeImpl::executeRpc
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - execute
    linkageType: ''
    returnType: UniValue
    signature: UniValue executeRpc(const std::string& command, const UniValue& params,
      const std::string& uri) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listCommands
      Src: /src/bitcoin-core/src/node/interfaces.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: node::NodeImpl::listRpcCommands
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - listCommands
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> listRpcCommands() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:361,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: node::NodeImpl::getUnspentOutput
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: std::optional<Coin>
    signature: std::optional<Coin> getUnspentOutput(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:366,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tx
    - max_tx_fee
    - ' err_string'
    argTypes:
    - CTransactionRef
    - CAmount
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: node::NodeImpl::broadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BroadcastTransaction
    - std::move
    linkageType: ''
    returnType: TransactionError
    signature: TransactionError broadcastTransaction(CTransactionRef tx, CAmount max_tx_fee,
      std::string& err_string) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: '& walletLoader() override'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: WalletLoader
    signature: WalletLoader & walletLoader() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:374,1
    - Dst: InitMessage_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - InitMessageFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: node::NodeImpl::handleInitMessage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - InitMessage_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleInitMessage(InitMessageFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:378,1
    - Dst: ThreadSafeMessageBox_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - MessageBoxFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: node::NodeImpl::handleMessageBox
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ThreadSafeMessageBox_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleMessageBox(MessageBoxFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:382,1
    - Dst: ThreadSafeQuestion_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - QuestionFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: node::NodeImpl::handleQuestion
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ThreadSafeQuestion_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleQuestion(QuestionFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:386,1
    - Dst: ShowProgress_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - ShowProgressFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: node::NodeImpl::handleShowProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ShowProgress_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:390,1
    - Dst: InitWallet_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - InitWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: node::NodeImpl::handleInitWallet
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - InitWallet_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleInitWallet(InitWalletFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:394,1
    - Dst: NotifyNumConnectionsChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyNumConnectionsChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: node::NodeImpl::handleNotifyNumConnectionsChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyNumConnectionsChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyNumConnectionsChanged(NotifyNumConnectionsChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:398,1
    - Dst: NotifyNetworkActiveChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyNetworkActiveChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: node::NodeImpl::handleNotifyNetworkActiveChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyNetworkActiveChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyNetworkActiveChanged(NotifyNetworkActiveChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:402,1
    - Dst: NotifyAlertChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyAlertChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: node::NodeImpl::handleNotifyAlertChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyAlertChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyAlertChanged(NotifyAlertChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:406,1
    - Dst: BannedListChanged_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - BannedListChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: node::NodeImpl::handleBannedListChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - BannedListChanged_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleBannedListChanged(BannedListChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:410,1
    - Dst: NotifyBlockTip_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:410,1
    - Dst: fn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyBlockTipFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: node::NodeImpl::handleNotifyBlockTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - GetBlockTime
    - NotifyBlockTip_connect
    - fn
    - GetBlockHash
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyBlockTip(NotifyBlockTipFn fn)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/node/interfaces.cpp:416,1
    - Dst: NotifyHeaderTip_connect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:417,1
    - Dst: fn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - NotifyHeaderTipFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: node::NodeImpl::handleNotifyHeaderTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyHeaderTip_connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifyHeaderTip(NotifyHeaderTipFn fn)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: node::NodeImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - NodeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: node::NodeImpl::setContext
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setContext(NodeContext* context) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:426,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: '& args()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & args()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 427
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockHash
      Src: /src/bitcoin-core/src/node/interfaces.cpp:435,1
    - Dst: GetBlockTime
      Src: /src/bitcoin-core/src/node/interfaces.cpp:437,1
    - Dst: GetBlockTimeMax
      Src: /src/bitcoin-core/src/node/interfaces.cpp:438,1
    - Dst: GetMedianTimePast
      Src: /src/bitcoin-core/src/node/interfaces.cpp:439,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/node/interfaces.cpp:441,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:442,1
    - Dst: REVERSE_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:444,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:445,1
    - Dst: m_data::SetNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:445,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 449
    functionName: node::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 8
    functionsReached:
    - ReadBlock
    - GetBlockTime
    - GetMedianTimePast
    - FillBlock
    - m_data::SetNull
    - GetBlockTimeMax
    - GetLocator
    - REVERSE_LOCK
    - GetBlockHash
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - notifications
    argTypes:
    - std::shared_ptr<Chain::Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: node::NotificationsProxy::NotificationsProxy
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NotificationsProxy(std::shared_ptr<Chain::Notifications> notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: ~NotificationsProxy()
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NotificationsProxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transactionAddedToMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tx'
    - mempool_sequence
    argTypes:
    - NewMempoolTransactionInfo
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: node::NotificationsProxy::TransactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - transactionAddedToMempool
    linkageType: ''
    returnType: void
    signature: void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx,
      uint64_t mempool_sequence) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transactionRemovedFromMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tx'
    - reason
    - mempool_sequence
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: node::NotificationsProxy::TransactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - transactionRemovedFromMempool
    linkageType: ''
    returnType: void
    signature: void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason, uint64_t mempool_sequence) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockConnected
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - role
    - ' block'
    - index
    argTypes:
    - ChainstateRole
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: node::NotificationsProxy::BlockConnected
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - blockConnected
    - get
    - kernel::MakeBlockInfo
    linkageType: ''
    returnType: void
    signature: void BlockConnected(ChainstateRole role, const std::shared_ptr<const
      CBlock>& block, const CBlockIndex* index) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDisconnected
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' block'
    - index
    argTypes:
    - std::shared_ptr<const CBlock>
    - CBlockIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: node::NotificationsProxy::BlockDisconnected
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - kernel::MakeBlockInfo
    - get
    - blockDisconnected
    linkageType: ''
    returnType: void
    signature: void BlockDisconnected(const std::shared_ptr<const CBlock>& block,
      const CBlockIndex* index) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updatedBlockTip
      Src: /src/bitcoin-core/src/node/interfaces.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - fork_index
    - is_ibd
    argTypes:
    - CBlockIndex*
    - CBlockIndex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: node::NotificationsProxy::UpdatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - updatedBlockTip
    linkageType: ''
    returnType: void
    signature: void UpdatedBlockTip(const CBlockIndex* index, const CBlockIndex* fork_index,
      bool is_ibd) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainStateFlushed
      Src: /src/bitcoin-core/src/node/interfaces.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - role
    - ' locator'
    argTypes:
    - ChainstateRole
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: node::NotificationsProxy::ChainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainStateFlushed
    linkageType: ''
    returnType: void
    signature: void ChainStateFlushed(ChainstateRole role, const CBlockLocator& locator)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NotificationsProxy>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:487,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:487,1
    - Dst: RegisterSharedValidationInterface
      Src: /src/bitcoin-core/src/node/interfaces.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' signals'
    - notifications
    argTypes:
    - ValidationSignals
    - std::shared_ptr<Chain::Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: node::NotificationsHandlerImpl::NotificationsHandlerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - RegisterSharedValidationInterface
    - std::make_shared<NotificationsProxy>
    - std::move
    linkageType: ''
    returnType: void
    signature: void NotificationsHandlerImpl(ValidationSignals& signals, std::shared_ptr<Chain::Notifications>
      notifications)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: ~NotificationsHandlerImpl() override
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ~NotificationsHandlerImpl() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnregisterSharedValidationInterface
      Src: /src/bitcoin-core/src/node/interfaces.cpp:495,1
    - Dst: reset
      Src: /src/bitcoin-core/src/node/interfaces.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: node::NotificationsHandlerImpl::disconnect
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - UnregisterSharedValidationInterface
    - reset
    linkageType: ''
    returnType: void
    signature: void disconnect() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: actor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:511,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/node/interfaces.cpp:518,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/node/interfaces.cpp:518,1
    - Dst: appendCommand
      Src: /src/bitcoin-core/src/node/interfaces.cpp:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - CRPCCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: node::RpcHandlerImpl::RpcHandlerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - actor
    - appendCommand
    - getInt
    - isNum
    linkageType: ''
    returnType: void
    signature: void RpcHandlerImpl(const CRPCCommand& command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeCommand
      Src: /src/bitcoin-core/src/node/interfaces.cpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: node::RpcHandlerImpl::disconnect
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - removeCommand
    linkageType: ''
    returnType: void
    signature: void disconnect() final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/bitcoin-core/src/node/interfaces.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: ~RpcHandlerImpl() override
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ~RpcHandlerImpl() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: node::ChainImpl::ChainImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainImpl(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: node::ChainImpl::getHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> getHeight() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:553,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:554,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: node::ChainImpl::getBlockHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - LOCK
    - Assert
    linkageType: ''
    returnType: uint256
    signature: uint256 getBlockHash(int height) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:558,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: node::ChainImpl::haveBlockOnDisk
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool haveBlockOnDisk(int height) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:564,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: node::ChainImpl::getTipLocator
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator getTipLocator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:569,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:570,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:570,1
    - Dst: GetLocator
      Src: /src/bitcoin-core/src/node/interfaces.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: node::ChainImpl::getActiveChainLocator
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    - GetLocator
    linkageType: ''
    returnType: CBlockLocator
    signature: CBlockLocator getActiveChainLocator(const uint256& block_hash) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:575,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: node::ChainImpl::findLocatorFork
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> findLocatorFork(const CBlockLocator& locator) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter_type
    argTypes:
    - BlockFilterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: node::ChainImpl::hasBlockFilterIndex
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetBlockFilterIndex
    linkageType: ''
    returnType: bool
    signature: bool hasBlockFilterIndex(BlockFilterType filter_type) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetBlockFilterIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:587,1
    - Dst: BlockFilter::BlockFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:590,1
    - Dst: BlockFilterIndex*::LookupFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:592,1
    - Dst: BlockFilter::GetFilter
      Src: /src/bitcoin-core/src/node/interfaces.cpp:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - filter_type
    - ' block_hash'
    - ' filter_set'
    argTypes:
    - BlockFilterType
    - uint256
    - GCSFilter::ElementSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: node::ChainImpl::blockFilterMatchesAny
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BlockFilter::GetFilter
    - GetBlockFilterIndex
    - BlockFilterIndex*::LookupFilter
    - BlockFilter::BlockFilter
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blockFilterMatchesAny(BlockFilterType filter_type,
      const uint256& block_hash, const GCSFilter::ElementSet& filter_set) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:597,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hash'
    - ' block'
    argTypes:
    - uint256
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: node::ChainImpl::findBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    linkageType: ''
    returnType: bool
    signature: bool findBlock(const uint256& hash, const FoundBlock& block) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:602,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:603,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    - Dst: FindEarliestAtLeast
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - min_time
    - min_height
    - ' block'
    argTypes:
    - int64_t
    - int
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: node::ChainImpl::findFirstBlockWithTimeAndHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - FillBlock
    - WAIT_LOCK
    - FindEarliestAtLeast
    linkageType: ''
    returnType: bool
    signature: bool findFirstBlockWithTimeAndHeight(int64_t min_time, int min_height,
      const FoundBlock& block) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:608,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:609,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:610,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:610,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:611,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:612,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:612,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:615,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' block_hash'
    - ancestor_height
    - ' ancestor_out'
    argTypes:
    - uint256
    - int
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: node::ChainImpl::findAncestorByHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool findAncestorByHeight(const uint256& block_hash, int ancestor_height,
      const FoundBlock& ancestor_out) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:619,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:620,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:620,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:621,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:621,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:622,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' block_hash'
    - ' ancestor_hash'
    - ' ancestor_out'
    argTypes:
    - uint256
    - uint256
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: node::ChainImpl::findAncestorByHash
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool findAncestorByHash(const uint256& block_hash, const uint256& ancestor_hash,
      const FoundBlock& ancestor_out) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:627,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:628,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:629,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:629,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:630,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:630,1
    - Dst: LastCommonAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:631,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:635,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:635,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:636,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:636,1
    - Dst: FillBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:637,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - ' block_hash1'
    - ' block_hash2'
    - ' ancestor_out'
    - ' block1_out'
    - ' block2_out'
    argTypes:
    - uint256
    - uint256
    - FoundBlock
    - FoundBlock
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 638
    functionName: node::ChainImpl::findCommonAncestor
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillBlock
    - WAIT_LOCK
    - LastCommonAncestor
    - LookupBlockIndex
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool findCommonAncestor(const uint256& block_hash1, const uint256&
      block_hash2, const FoundBlock& ancestor_out, const FoundBlock& block1_out, const
      FoundBlock& block2_out) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindCoins
      Src: /src/bitcoin-core/src/node/interfaces.cpp:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coins'
    argTypes:
    - std::map<COutPoint, Coin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: node::ChainImpl::findCoins
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FindCoins
    linkageType: ''
    returnType: void
    signature: void findCoins(std::map<COutPoint, Coin>& coins) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:642,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:642,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: node::ChainImpl::guessVerificationProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    linkageType: ''
    returnType: double
    signature: double guessVerificationProgress(const uint256& block_hash) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:654,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:655,1
    - Dst: LookupBlockIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:655,1
    - Dst: CBlockIndex*::GetAncestor
      Src: /src/bitcoin-core/src/node/interfaces.cpp:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ' block_hash'
    - min_height
    - max_height
    argTypes:
    - uint256
    - int
    - std::optional<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 663
    functionName: node::ChainImpl::hasBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LookupBlockIndex
    - chainman
    - CBlockIndex*::GetAncestor
    linkageType: ''
    returnType: bool
    signature: bool hasBlocks(const uint256& block_hash, int min_height, std::optional<int>
      max_height) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsRBFOptInEmptyMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:666,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:667,1
    - Dst: IsRBFOptIn
      Src: /src/bitcoin-core/src/node/interfaces.cpp:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: node::ChainImpl::isRBFOptIn
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsRBFOptInEmptyMempool
    - LOCK
    - IsRBFOptIn
    linkageType: ''
    returnType: RBFTransactionState
    signature: RBFTransactionState isRBFOptIn(const CTransaction& tx) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:673,1
    - Dst: mempool::exists
      Src: /src/bitcoin-core/src/node/interfaces.cpp:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 675
    functionName: node::ChainImpl::isInMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mempool::exists
    linkageType: ''
    returnType: bool
    signature: bool isInMempool(const Txid& txid) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:679,1
    - Dst: mempool::GetEntry
      Src: /src/bitcoin-core/src/node/interfaces.cpp:680,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/node/interfaces.cpp:680,1
    - Dst: auto::GetCountWithDescendants
      Src: /src/bitcoin-core/src/node/interfaces.cpp:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: node::ChainImpl::hasDescendantsInMempool
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - transaction_identifier::FromUint256
    - auto::GetCountWithDescendants
    - mempool::GetEntry
    linkageType: ''
    returnType: bool
    signature: bool hasDescendantsInMempool(const uint256& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BroadcastTransaction
      Src: /src/bitcoin-core/src/node/interfaces.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' tx'
    - ' max_tx_fee'
    - relay
    - ' err_string'
    argTypes:
    - CTransactionRef
    - CAmount
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 694
    functionName: node::ChainImpl::broadcastTransaction
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BroadcastTransaction
    linkageType: ''
    returnType: bool
    signature: "bool broadcastTransaction(const CTransactionRef& tx,\n        const
      CAmount& max_tx_fee,\n        bool relay,\n        std::string& err_string)
      override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mempool::GetTransactionAncestry
      Src: /src/bitcoin-core/src/node/interfaces.cpp:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' txid'
    - ' ancestors'
    - ' descendants'
    - ancestorsize
    - ancestorfees
    argTypes:
    - uint256
    - size_t
    - size_t
    - size_t*
    - CAmount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: node::ChainImpl::getTransactionAncestry
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::GetTransactionAncestry
    linkageType: ''
    returnType: void
    signature: void getTransactionAncestry(const uint256& txid, size_t& ancestors,
      size_t& descendants, size_t* ancestorsize, CAmount* ancestorfees) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::emplace
      Src: /src/bitcoin-core/src/node/interfaces.cpp:707,1
    - Dst: MiniMiner
      Src: /src/bitcoin-core/src/node/interfaces.cpp:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' outpoints'
    - ' target_feerate'
    argTypes:
    - std::vector<COutPoint>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 712
    functionName: node::ChainImpl::calculateIndividualBumpFees
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::map::emplace
    - MiniMiner
    linkageType: ''
    returnType: std::map<COutPoint, CAmount>
    signature: std::map<COutPoint, CAmount> calculateIndividualBumpFees(const std::vector<COutPoint>&
      outpoints, const CFeeRate& target_feerate) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MiniMiner
      Src: /src/bitcoin-core/src/node/interfaces.cpp:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' outpoints'
    - ' target_feerate'
    argTypes:
    - std::vector<COutPoint>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 720
    functionName: node::ChainImpl::calculateCombinedBumpFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MiniMiner
    linkageType: ''
    returnType: std::optional<CAmount>
    signature: std::optional<CAmount> calculateCombinedBumpFee(const std::vector<COutPoint>&
      outpoints, const CFeeRate& target_feerate) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' limit_ancestor_count'
    - ' limit_descendant_count'
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: node::ChainImpl::getPackageLimits
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getPackageLimits(unsigned int& limit_ancestor_count, unsigned
      int& limit_descendant_count) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:735,1
    - Dst: mempool::CheckPackageLimits
      Src: /src/bitcoin-core/src/node/interfaces.cpp:736,1
    - Dst: CTxMemPoolEntry::GetTxSize
      Src: /src/bitcoin-core/src/node/interfaces.cpp:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: node::ChainImpl::checkChainLimits
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mempool::CheckPackageLimits
    - CTxMemPoolEntry::GetTxSize
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> checkChainLimits(const CTransactionRef& tx) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fee_estimator::estimateSmartFee
      Src: /src/bitcoin-core/src/node/interfaces.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - num_blocks
    - conservative
    - calc
    argTypes:
    - int
    - bool
    - FeeCalculation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 742
    functionName: node::ChainImpl::estimateSmartFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - fee_estimator::estimateSmartFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate estimateSmartFee(int num_blocks, bool conservative, FeeCalculation*
      calc) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fee_estimator::HighestTargetTracked
      Src: /src/bitcoin-core/src/node/interfaces.cpp:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: node::ChainImpl::estimateMaxBlocks
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - fee_estimator::HighestTargetTracked
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int estimateMaxBlocks() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mempool::GetMinFee
      Src: /src/bitcoin-core/src/node/interfaces.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: node::ChainImpl::mempoolMinFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mempool::GetMinFee
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate mempoolMinFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: node::ChainImpl::relayMinFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayMinFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: node::ChainImpl::relayIncrementalFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayIncrementalFee() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: node::ChainImpl::relayDustFee
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate relayDustFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:770,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: node::ChainImpl::havePruned
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool havePruned() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:775,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:775,1
    - Dst: GetPruneHeight
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: node::ChainImpl::getPruneHeight
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetPruneHeight
    - chainman
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> getPruneHeight() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    - Dst: LoadingBlocks
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    - Dst: node::ChainImpl::isInitialBlockDownload
      Src: /src/bitcoin-core/src/node/interfaces.cpp:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: node::ChainImpl::isReadyToBroadcast
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadingBlocks
    - chainman
    - node::ChainImpl::isInitialBlockDownload
    linkageType: ''
    returnType: bool
    signature: bool isReadyToBroadcast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: node::ChainImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 4
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownRequested
      Src: /src/bitcoin-core/src/node/interfaces.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 783
    functionName: node::ChainImpl::shutdownRequested
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShutdownRequested
    linkageType: ''
    returnType: bool
    signature: bool shutdownRequested() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitMessage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 784
    functionName: node::ChainImpl::initMessage
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitMessage
    linkageType: ''
    returnType: void
    signature: void initMessage(const std::string& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitWarning
      Src: /src/bitcoin-core/src/node/interfaces.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 785
    functionName: node::ChainImpl::initWarning
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitWarning
    linkageType: ''
    returnType: void
    signature: void initWarning(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitError
      Src: /src/bitcoin-core/src/node/interfaces.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 786
    functionDepth: 4
    functionLinenumber: 786
    functionLinenumberEnd: 786
    functionName: node::ChainImpl::initError
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - InitError
    linkageType: ''
    returnType: void
    signature: void initError(const bilingual_str& message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowProgress
      Src: /src/bitcoin-core/src/node/interfaces.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' title'
    - progress
    - resume_possible
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: node::ChainImpl::showProgress
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ShowProgress
    linkageType: ''
    returnType: void
    signature: void showProgress(const std::string& title, int progress, bool resume_possible)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NotificationsHandlerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    - Dst: validation_signals
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - notifications
    argTypes:
    - std::shared_ptr<Notifications>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: node::ChainImpl::handleNotifications
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<NotificationsHandlerImpl>
    - validation_signals
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleNotifications(std::shared_ptr<Notifications>
      notifications) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:797,1
    - Dst: validation_signals
      Src: /src/bitcoin-core/src/node/interfaces.cpp:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' old_tip'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: node::ChainImpl::waitForNotificationsIfTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - WITH_LOCK
    - validation_signals
    - IsNull
    linkageType: ''
    returnType: void
    signature: void waitForNotificationsIfTipChanged(const uint256& old_tip) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RpcHandlerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - CRPCCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: node::ChainImpl::handleRpc
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RpcHandlerImpl>
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleRpc(const CRPCCommand& command) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsDeprecatedRPCEnabled
      Src: /src/bitcoin-core/src/node/interfaces.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' method'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: node::ChainImpl::rpcEnableDeprecated
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsDeprecatedRPCEnabled
    linkageType: ''
    returnType: bool
    signature: bool rpcEnableDeprecated(const std::string& method) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: node::ChainImpl::getSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getSetting(const std::string& name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: node::ChainImpl::getSettingsList
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    linkageType: ''
    returnType: std::vector<common::SettingsValue>
    signature: std::vector<common::SettingsValue> getSettingsList(const std::string&
      name) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:816,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 822
    functionName: node::ChainImpl::getRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - args
    - common::FindKey
    linkageType: ''
    returnType: common::SettingsValue
    signature: common::SettingsValue getRwSetting(const std::string& name) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:827,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/node/interfaces.cpp:828,1
    - Dst: update_settings_func
      Src: /src/bitcoin-core/src/node/interfaces.cpp:829,1
    - Dst: auto*::isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:830,1
    - Dst: rw_settings::erase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:830,1
    - Dst: UniValue::UniValue
      Src: /src/bitcoin-core/src/node/interfaces.cpp:832,1
    - Dst: update_settings_func
      Src: /src/bitcoin-core/src/node/interfaces.cpp:833,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/node/interfaces.cpp:834,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:834,1
    - Dst: args
      Src: /src/bitcoin-core/src/node/interfaces.cpp:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ' name'
    - ' update_settings_func'
    argTypes:
    - std::string
    - interfaces::SettingsUpdate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 840
    functionName: node::ChainImpl::updateRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 3
    functionsReached:
    - args
    - rw_settings::erase
    - UniValue::UniValue
    - std::move
    - UniValue::isNull
    - auto*::isNull
    - update_settings_func
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: "bool updateRwSetting(const std::string& name,\n                         const
      interfaces::SettingsUpdate& update_settings_func) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ChainImpl::updateRwSetting
      Src: /src/bitcoin-core/src/node/interfaces.cpp:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' name'
    - value
    - action
    argTypes:
    - std::string
    - common::SettingsValue
    - interfaces::SettingsAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 847
    functionName: node::ChainImpl::overwriteRwSetting
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - node::ChainImpl::updateRwSetting
    linkageType: ''
    returnType: bool
    signature: bool overwriteRwSetting(const std::string& name, common::SettingsValue
      value, interfaces::SettingsAction action) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::ChainImpl::overwriteRwSetting
      Src: /src/bitcoin-core/src/node/interfaces.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - action
    argTypes:
    - std::string
    - interfaces::SettingsAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: node::ChainImpl::deleteRwSettings
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - node::ChainImpl::overwriteRwSetting
    linkageType: ''
    returnType: bool
    signature: bool deleteRwSettings(const std::string& name, interfaces::SettingsAction
      action) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/node/interfaces.cpp:855,1
    - Dst: mempool::entryAll
      Src: /src/bitcoin-core/src/node/interfaces.cpp:856,1
    - Dst: transactionAddedToMempool
      Src: /src/bitcoin-core/src/node/interfaces.cpp:857,1
    - Dst: GetSharedTx
      Src: /src/bitcoin-core/src/node/interfaces.cpp:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' notifications'
    argTypes:
    - Notifications
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 859
    functionName: node::ChainImpl::requestMempoolTransactions
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK2
    - mempool::entryAll
    - GetSharedTx
    - transactionAddedToMempool
    linkageType: ''
    returnType: void
    signature: void requestMempoolTransactions(Notifications& notifications) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: node::ChainImpl::hasAssumedValidChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool hasAssumedValidChain() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: node::ChainImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: '& args()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ArgsManager
    signature: ArgsManager & args()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: '& validation_signals()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ValidationSignals
    signature: ValidationSignals & validation_signals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:877,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:878,1
    - Dst: assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - assemble_options
    - block_template
    - ' node'
    argTypes:
    - BlockAssembler::Options
    - std::unique_ptr<CBlockTemplate>
    - NodeContext
    assertStmts:
    - condition: (m_block_template)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/bitcoin-core/src/node/interfaces.cpp
    constantsTouched: []
    func_position:
      end: 882
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 882
    functionName: node::BlockTemplateImpl::BlockTemplateImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::move
    linkageType: ''
    returnType: void
    signature: "void BlockTemplateImpl(BlockAssembler::Options assemble_options,\n
      \                              std::unique_ptr<CBlockTemplate> block_template,\n
      \                              NodeContext& node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: node::BlockTemplateImpl::getBlockHeader
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlockHeader
    signature: CBlockHeader getBlockHeader() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: node::BlockTemplateImpl::getBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CBlock
    signature: CBlock getBlock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: node::BlockTemplateImpl::getTxFees
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CAmount>
    signature: std::vector<CAmount> getTxFees() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: node::BlockTemplateImpl::getTxSigops
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<int64_t>
    signature: std::vector<int64_t> getTxSigops() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 907
    functionName: node::BlockTemplateImpl::getCoinbaseTx
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef getCoinbaseTx() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: node::BlockTemplateImpl::getCoinbaseCommitment
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> getCoinbaseCommitment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessCommitmentIndex
      Src: /src/bitcoin-core/src/node/interfaces.cpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: node::BlockTemplateImpl::getWitnessCommitmentIndex
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessCommitmentIndex
    linkageType: ''
    returnType: int
    signature: int getWitnessCommitmentIndex() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionMerklePath
      Src: /src/bitcoin-core/src/node/interfaces.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: node::BlockTemplateImpl::getCoinbaseMerklePath
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - TransactionMerklePath
    linkageType: ''
    returnType: std::vector<uint256>
    signature: std::vector<uint256> getCoinbaseMerklePath() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddMerkleRootAndCoinbase
      Src: /src/bitcoin-core/src/node/interfaces.cpp:926,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:926,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:927,1
    - Dst: std::make_shared<const CBlock>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - version
    - timestamp
    - nonce
    - coinbase
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 928
    functionName: node::BlockTemplateImpl::submitSolution
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<const CBlock>
    - chainman
    - std::move
    - AddMerkleRootAndCoinbase
    linkageType: ''
    returnType: bool
    signature: bool submitSolution(uint32_t version, uint32_t timestamp, uint32_t
      nonce, CTransactionRef coinbase) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WaitAndCreateNewBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: notifications
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: mempool::get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:932,1
    - Dst: std::make_unique<BlockTemplateImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:933,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/interfaces.cpp:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - BlockWaitOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 935
    functionName: node::BlockTemplateImpl::waitNext
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - notifications
    - WaitAndCreateNewBlock
    - std::move
    - chainman
    - mempool::get
    - std::make_unique<BlockTemplateImpl>
    linkageType: ''
    returnType: std::unique_ptr<BlockTemplate>
    signature: std::unique_ptr<BlockTemplate> waitNext(BlockWaitOptions options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 941
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 942
    functionName: '& notifications()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: KernelNotifications
    signature: KernelNotifications & notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 949
    functionName: node::MinerImpl::MinerImpl
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinerImpl(NodeContext& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: node::MinerImpl::isTestChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isTestChain() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: node::MinerImpl::isInitialBlockDownload
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool isInitialBlockDownload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTip
      Src: /src/bitcoin-core/src/node/interfaces.cpp:963,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: node::MinerImpl::getTip
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chainman
    - GetTip
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> getTip() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitTipChanged
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    - Dst: notifications
      Src: /src/bitcoin-core/src/node/interfaces.cpp:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - current_tip
    - timeout
    argTypes:
    - uint256
    - MillisecondsDouble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: node::MinerImpl::waitTipChanged
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 3
    functionsReached:
    - chainman
    - notifications
    - WaitTipChanged
    linkageType: ''
    returnType: std::optional<BlockRef>
    signature: std::optional<BlockRef> waitTipChanged(uint256 current_tip, MillisecondsDouble
      timeout) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::MinerImpl::waitTipChanged
      Src: /src/bitcoin-core/src/node/interfaces.cpp:974,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/interfaces.cpp:974,1
    - Dst: ApplyArgsManOptions
      Src: /src/bitcoin-core/src/node/interfaces.cpp:977,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:977,1
    - Dst: std::make_unique<BlockTemplateImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: node::MinerImpl::context
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: get
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    - Dst: CreateNewBlock
      Src: /src/bitcoin-core/src/node/interfaces.cpp:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - BlockCreateOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: node::MinerImpl::createNewBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ApplyArgsManOptions
    - node::MinerImpl::context
    - node::MinerImpl::waitTipChanged
    - CreateNewBlock
    - Assert
    - chainman
    - get
    - std::make_unique<BlockTemplateImpl>
    - RandomMixin::max
    linkageType: ''
    returnType: std::unique_ptr<BlockTemplate>
    signature: std::unique_ptr<BlockTemplate> createNewBlock(const BlockCreateOptions&
      options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/interfaces.cpp:983,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:983,1
    - Dst: TestBlockValidity
      Src: /src/bitcoin-core/src/node/interfaces.cpp:984,1
    - Dst: chainman
      Src: /src/bitcoin-core/src/node/interfaces.cpp:984,1
    - Dst: BlockValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/node/interfaces.cpp:985,1
    - Dst: BlockValidationState::GetDebugMessage
      Src: /src/bitcoin-core/src/node/interfaces.cpp:986,1
    - Dst: BlockValidationState::IsValid
      Src: /src/bitcoin-core/src/node/interfaces.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' block'
    - ' options'
    - ' reason'
    - ' debug'
    argTypes:
    - CBlock
    - node::BlockCheckOptions
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 981
    functionDepth: 6
    functionLinenumber: 981
    functionLinenumberEnd: 988
    functionName: node::MinerImpl::checkBlock
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BlockValidationState::IsValid
    - BlockValidationState::GetDebugMessage
    - TestBlockValidity
    - BlockValidationState::GetRejectReason
    - LOCK
    - chainman
    linkageType: ''
    returnType: bool
    signature: bool checkBlock(const CBlock& block, const node::BlockCheckOptions&
      options, std::string& reason, std::string& debug) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: node::MinerImpl::context
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: NodeContext
    signature: NodeContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 991
    functionName: '& chainman()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: ChainstateManager
    signature: ChainstateManager & chainman()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/node/interfaces.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 992
    functionName: '& notifications()'
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: KernelNotifications
    signature: KernelNotifications & notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<node::NodeImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 999
    functionName: interfaces::MakeNode
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<node::NodeImpl>
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> MakeNode(node::NodeContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<node::ChainImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1000
    functionName: interfaces::MakeChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 7
    functionsReached:
    - std::make_unique<node::ChainImpl>
    linkageType: ''
    returnType: std::unique_ptr<Chain>
    signature: std::unique_ptr<Chain> MakeChain(node::NodeContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<node::MinerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1001
    functionName: interfaces::MakeMining
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 4
    functionsReached:
    - std::make_unique<node::MinerImpl>
    linkageType: ''
    returnType: std::unique_ptr<Mining>
    signature: std::unique_ptr<Mining> MakeMining(node::NodeContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<node::NodeImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 999
    functionName: interfaces::MakeNode
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<node::NodeImpl>
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> MakeNode(node::NodeContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<node::ChainImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1000
    functionName: interfaces::MakeChain
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 7
    functionsReached:
    - std::make_unique<node::ChainImpl>
    linkageType: ''
    returnType: std::unique_ptr<Chain>
    signature: std::unique_ptr<Chain> MakeChain(node::NodeContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<node::MinerImpl>
      Src: /src/bitcoin-core/src/node/interfaces.cpp:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1001
    functionName: interfaces::MakeMining
    functionSourceFile: /src/bitcoin-core/src/node/interfaces.cpp
    functionUses: 4
    functionsReached:
    - std::make_unique<node::MinerImpl>
    linkageType: ''
    returnType: std::unique_ptr<Mining>
    signature: std::unique_ptr<Mining> MakeMining(node::NodeContext& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/node/warnings.cpp:24,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/warnings.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: node::Warnings::Warnings
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 1
    functionsReached:
    - _
    - insert
    linkageType: ''
    returnType: void
    signature: void Warnings::Warnings()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NotifyAlertChanged
      Src: /src/bitcoin-core/src/node/warnings.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - id
    - message
    argTypes:
    - warning_type
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: node::Warnings::Set
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 1
    functionsReached:
    - NotifyAlertChanged
    linkageType: ''
    returnType: bool
    signature: bool Warnings::Set(warning_type id, bilingual_str message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NotifyAlertChanged
      Src: /src/bitcoin-core/src/node/warnings.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - warning_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: node::Warnings::Unset
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 1
    functionsReached:
    - NotifyAlertChanged
    linkageType: ''
    returnType: bool
    signature: bool Warnings::Unset(warning_type id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/warnings.cpp:45,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/warnings.cpp:47,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/warnings.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/warnings.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: node::Warnings::GetMessages
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - LOCK
    - size
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<bilingual_str>
    signature: std::vector<bilingual_str> Warnings::GetMessages() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMessages
      Src: /src/bitcoin-core/src/node/warnings.cpp:57,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/node/warnings.cpp:58,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/node/warnings.cpp:58,1
    - Dst: GetMessages
      Src: /src/bitcoin-core/src/node/warnings.cpp:62,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/node/warnings.cpp:63,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/warnings.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' warnings'
    - use_deprecated
    argTypes:
    - Warnings
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: node::GetWarningsForRpc
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 3
    functionsReached:
    - auto::back
    - UniValue::push_back
    - std::move
    - auto::empty
    - GetMessages
    linkageType: ''
    returnType: UniValue
    signature: UniValue GetWarningsForRpc(const Warnings& warnings, bool use_deprecated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/node/warnings.cpp:24,1
    - Dst: _
      Src: /src/bitcoin-core/src/node/warnings.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: node::Warnings::Warnings
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 1
    functionsReached:
    - _
    - insert
    linkageType: ''
    returnType: void
    signature: void Warnings::Warnings()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NotifyAlertChanged
      Src: /src/bitcoin-core/src/node/warnings.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - id
    - message
    argTypes:
    - warning_type
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: node::Warnings::Set
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 1
    functionsReached:
    - NotifyAlertChanged
    linkageType: ''
    returnType: bool
    signature: bool Warnings::Set(warning_type id, bilingual_str message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NotifyAlertChanged
      Src: /src/bitcoin-core/src/node/warnings.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - warning_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: node::Warnings::Unset
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 1
    functionsReached:
    - NotifyAlertChanged
    linkageType: ''
    returnType: bool
    signature: bool Warnings::Unset(warning_type id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/warnings.cpp:45,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/node/warnings.cpp:47,1
    - Dst: size
      Src: /src/bitcoin-core/src/node/warnings.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/node/warnings.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: node::Warnings::GetMessages
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - LOCK
    - size
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<bilingual_str>
    signature: std::vector<bilingual_str> Warnings::GetMessages() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMessages
      Src: /src/bitcoin-core/src/node/warnings.cpp:57,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/node/warnings.cpp:58,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/node/warnings.cpp:58,1
    - Dst: GetMessages
      Src: /src/bitcoin-core/src/node/warnings.cpp:62,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/node/warnings.cpp:63,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/node/warnings.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' warnings'
    - use_deprecated
    argTypes:
    - Warnings
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: node::GetWarningsForRpc
    functionSourceFile: /src/bitcoin-core/src/node/warnings.cpp
    functionUses: 3
    functionsReached:
    - auto::back
    - UniValue::push_back
    - std::move
    - auto::empty
    - GetMessages
    linkageType: ''
    returnType: UniValue
    signature: UniValue GetWarningsForRpc(const Warnings& warnings, bool use_deprecated)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:27,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:29,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:32,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:33,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:34,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:36,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:36,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:36,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:40,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:41,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:44,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:44,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:44,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:48,1
    - Dst: node::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:50,1
    - Dst: node::ReadCoinsViewArgs
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:51,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:53,1
    - Dst: GetNumCores
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:57,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:62,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - ' args'
    - ' opts'
    argTypes:
    - ArgsManager
    - ChainstateManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 73
    functionName: node::ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/chainstatemanager_args.cpp
    functionUses: 3
    functionsReached:
    - node::ReadDatabaseArgs
    - GetArg
    - GetIntArg
    - secp256k1_strauss_scratch_size
    - UintToArith256
    - node::ReadCoinsViewArgs
    - strprintf
    - Untranslated
    - GetNumCores
    - uint256::FromUserHex
    - std::max<int64_t>
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> ApplyArgsManOptions(const ArgsManager& args, ChainstateManager::Options&
      opts)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:27,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:29,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:32,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:33,1
    - Dst: UintToArith256
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:34,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:36,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:36,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:36,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:40,1
    - Dst: uint256::FromUserHex
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:41,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:44,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:44,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:44,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:48,1
    - Dst: node::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:50,1
    - Dst: node::ReadCoinsViewArgs
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:51,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:53,1
    - Dst: GetNumCores
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:57,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:62,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/node/chainstatemanager_args.cpp:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - ' args'
    - ' opts'
    argTypes:
    - ArgsManager
    - ChainstateManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 73
    functionName: node::ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/chainstatemanager_args.cpp
    functionUses: 3
    functionsReached:
    - node::ReadDatabaseArgs
    - GetArg
    - GetIntArg
    - secp256k1_strauss_scratch_size
    - UintToArith256
    - node::ReadCoinsViewArgs
    - strprintf
    - Untranslated
    - GetNumCores
    - uint256::FromUserHex
    - std::max<int64_t>
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> ApplyArgsManOptions(const ArgsManager& args, ChainstateManager::Options&
      opts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:17,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:19,1
    - Dst: std::clamp<int64_t>
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:20,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:20,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:23,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' argsman'
    - ' options'
    argTypes:
    - ArgsManager
    - PeerManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: node::ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/peerman_args.cpp
    functionUses: 3
    functionsReached:
    - RandomMixin::max
    - GetIntArg
    - std::clamp<int64_t>
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void ApplyArgsManOptions(const ArgsManager& argsman, PeerManager::Options&
      options)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:17,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:19,1
    - Dst: std::clamp<int64_t>
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:20,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:20,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:23,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/node/peerman_args.cpp:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' argsman'
    - ' options'
    argTypes:
    - ArgsManager
    - PeerManager::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: node::ApplyArgsManOptions
    functionSourceFile: /src/bitcoin-core/src/node/peerman_args.cpp
    functionUses: 3
    functionsReached:
    - RandomMixin::max
    - GetIntArg
    - std::clamp<int64_t>
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void ApplyArgsManOptions(const ArgsManager& argsman, PeerManager::Options&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' shutdown_request'
    - ' exit_status'
    - ' warnings'
    argTypes:
    - std::function<bool()>
    - std::atomic<int>
    - node::Warnings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: node::KernelNotifications::KernelNotifications
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KernelNotifications(const std::function<bool()>& shutdown_request,
      std::atomic<int>& exit_status, node::Warnings& warnings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' shutdown_request'
    - ' exit_status'
    - ' warnings'
    argTypes:
    - std::function<bool()>
    - std::atomic<int>
    - node::Warnings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: node::KernelNotifications::KernelNotifications
    functionSourceFile: /src/bitcoin-core/src/node/kernel_notifications.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KernelNotifications(const std::function<bool()>& shutdown_request,
      std::atomic<int>& exit_status, node::Warnings& warnings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:29,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:29,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:29,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - salt1
    - salt2
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: ComputeSalt
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - HashWriter
    - GetSHA256
    - std::min
    linkageType: ''
    returnType: uint256
    signature: uint256 ComputeSalt(uint64_t salt1, uint64_t salt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - we_initiate
    - k0
    - k1
    argTypes:
    - bool
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: TxReconciliationState::TxReconciliationState
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxReconciliationState(bool we_initiate, uint64_t k0, uint64_t
      k1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:29,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:29,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:29,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - salt1
    - salt2
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: ComputeSalt
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - HashWriter
    - GetSHA256
    - std::min
    linkageType: ''
    returnType: uint256
    signature: uint256 ComputeSalt(uint64_t salt1, uint64_t salt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - we_initiate
    - k0
    - k1
    argTypes:
    - bool
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: TxReconciliationState::TxReconciliationState
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxReconciliationState(bool we_initiate, uint64_t k0, uint64_t
      k1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - recon_version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: TxReconciliationTracker::Impl::Impl
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Impl(uint32_t recon_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:84,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:85,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:87,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:88,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:92,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: (!m_txreconciliation_mutex)
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - emplace
    - Assume
    - AssertLockNotHeld
    - LOCK
    - FastRandomContext
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_txreconciliation_mutex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:99,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:100,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:101,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:103,1
    - Dst: std::holds_alternative<TxReconciliationState>
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:105,1
    - Dst: std::get_if<uint64_t>
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:109,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:116,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:120,1
    - Dst: ComputeSalt
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:123,1
    - Dst: TxReconciliationState
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:124,1
    - Dst: uint256::GetUint64
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:124,1
    - Dst: uint256::GetUint64
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 126
    functionName: (!m_txreconciliation_mutex)
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached:
    - end
    - LogPrintLevel
    - std::get_if<uint64_t>
    - uint256::GetUint64
    - AssertLockNotHeld
    - std::min
    - LOCK
    - ComputeSalt
    - TxReconciliationState
    - std::holds_alternative<TxReconciliationState>
    - find
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_txreconciliation_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:130,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:131,1
    - Dst: erase
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:132,1
    - Dst: LogPrintLevel
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: (!m_txreconciliation_mutex)
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached:
    - LogPrintLevel
    - LOCK
    - AssertLockNotHeld
    - erase
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_txreconciliation_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:139,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:140,1
    - Dst: find
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:141,1
    - Dst: end
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:142,1
    - Dst: std::holds_alternative<TxReconciliationState>
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: (!m_txreconciliation_mutex)
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached:
    - end
    - AssertLockNotHeld
    - LOCK
    - std::holds_alternative<TxReconciliationState>
    - find
    linkageType: ''
    returnType: EXCLUSIVE_LOCKS_REQUIRED
    signature: EXCLUSIVE_LOCKS_REQUIRED (!m_txreconciliation_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TxReconciliationTracker::Impl>
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - recon_version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: TxReconciliationTracker::TxReconciliationTracker
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<TxReconciliationTracker::Impl>
    linkageType: ''
    returnType: void
    signature: void TxReconciliationTracker::TxReconciliationTracker(uint32_t recon_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: TxReconciliationTracker::~TxReconciliationTracker()
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxReconciliationTracker::~TxReconciliationTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxReconciliationTracker::PreRegisterPeer
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer_id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: TxReconciliationTracker::PreRegisterPeer
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 4
    functionsReached:
    - TxReconciliationTracker::PreRegisterPeer
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TxReconciliationTracker::PreRegisterPeer(NodeId peer_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxReconciliationTracker::RegisterPeer
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - peer_id
    - is_peer_inbound
    - peer_recon_version
    - remote_salt
    argTypes:
    - NodeId
    - bool
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: TxReconciliationTracker::RegisterPeer
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 4
    functionsReached:
    - TxReconciliationTracker::RegisterPeer
    linkageType: ''
    returnType: ReconciliationRegisterResult
    signature: "ReconciliationRegisterResult TxReconciliationTracker::RegisterPeer(NodeId
      peer_id, bool is_peer_inbound,\n                                                          uint32_t
      peer_recon_version, uint64_t remote_salt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxReconciliationTracker::ForgetPeer
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer_id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: TxReconciliationTracker::ForgetPeer
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 3
    functionsReached:
    - TxReconciliationTracker::ForgetPeer
    linkageType: ''
    returnType: void
    signature: void TxReconciliationTracker::ForgetPeer(NodeId peer_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxReconciliationTracker::IsPeerRegistered
      Src: /src/bitcoin-core/src/node/txreconciliation.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer_id
    argTypes:
    - NodeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: TxReconciliationTracker::IsPeerRegistered
    functionSourceFile: /src/bitcoin-core/src/node/txreconciliation.cpp
    functionUses: 4
    functionsReached:
    - TxReconciliationTracker::IsPeerRegistered
    linkageType: ''
    returnType: bool
    signature: bool TxReconciliationTracker::IsPeerRegistered(NodeId peer_id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~Handler()
    functionSourceFile: /src/bitcoin-core/src/interfaces/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~Handler()
    functionSourceFile: /src/bitcoin-core/src/interfaces/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~Wallet()
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Wallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: interfaces::Wallet::wallet
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wallet::CWallet
    signature: wallet::CWallet * wallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: interfaces::WalletLoader::context
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wallet::WalletContext
    signature: wallet::WalletContext * context()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/interfaces/wallet.h:364,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/interfaces/wallet.h:364,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/interfaces/wallet.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - dest
    - is_mine
    - purpose
    - name
    argTypes:
    - CTxDestination
    - wallet::isminetype
    - wallet::AddressPurpose
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: interfaces::WalletAddress
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WalletAddress(CTxDestination dest, wallet::isminetype is_mine,
      wallet::AddressPurpose purpose, std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' prev'
    argTypes:
    - WalletBalances
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: interfaces::balanceChanged
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool balanceChanged(const WalletBalances& prev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/interfaces/wallet.h:399,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/interfaces/wallet.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - WalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: operator<(const WalletTx& a) const
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached:
    - tx::GetHash
    - GetHash
    linkageType: ''
    returnType: bool
    signature: bool operator<(const WalletTx& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~Wallet()
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Wallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: interfaces::Wallet::wallet
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wallet::CWallet
    signature: wallet::CWallet * wallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: interfaces::WalletLoader::context
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wallet::WalletContext
    signature: wallet::WalletContext * context()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/interfaces/wallet.h:364,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/interfaces/wallet.h:364,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/interfaces/wallet.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - dest
    - is_mine
    - purpose
    - name
    argTypes:
    - CTxDestination
    - wallet::isminetype
    - wallet::AddressPurpose
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: interfaces::WalletAddress
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WalletAddress(CTxDestination dest, wallet::isminetype is_mine,
      wallet::AddressPurpose purpose, std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' prev'
    argTypes:
    - WalletBalances
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: interfaces::balanceChanged
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool balanceChanged(const WalletBalances& prev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/interfaces/wallet.h:399,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/interfaces/wallet.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - WalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: operator<(const WalletTx& a) const
    functionSourceFile: /src/bitcoin-core/src/interfaces/wallet.h
    functionUses: 0
    functionsReached:
    - tx::GetHash
    - GetHash
    linkageType: ''
    returnType: bool
    signature: bool operator<(const WalletTx& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~Ipc()
    functionSourceFile: /src/bitcoin-core/src/interfaces/ipc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Ipc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::Ipc::addCleanup
      Src: /src/bitcoin-core/src/interfaces/ipc.h:78,1
    - Dst: typeid
      Src: /src/bitcoin-core/src/interfaces/ipc.h:78,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/interfaces/ipc.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' iface'
    - cleanup
    argTypes:
    - Interface
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: interfaces::Ipc::addCleanup
    functionSourceFile: /src/bitcoin-core/src/interfaces/ipc.h
    functionUses: 1
    functionsReached:
    - typeid
    - interfaces::Ipc::addCleanup
    - std::move
    linkageType: ''
    returnType: void
    signature: void addCleanup(Interface& iface, std::function<void()> cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~Ipc()
    functionSourceFile: /src/bitcoin-core/src/interfaces/ipc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Ipc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::Ipc::addCleanup
      Src: /src/bitcoin-core/src/interfaces/ipc.h:78,1
    - Dst: typeid
      Src: /src/bitcoin-core/src/interfaces/ipc.h:78,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/interfaces/ipc.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' iface'
    - cleanup
    argTypes:
    - Interface
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: interfaces::Ipc::addCleanup
    functionSourceFile: /src/bitcoin-core/src/interfaces/ipc.h
    functionUses: 2
    functionsReached:
    - typeid
    - interfaces::Ipc::addCleanup
    - std::move
    linkageType: ''
    returnType: void
    signature: void addCleanup(Interface& iface, std::function<void()> cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~ExternalSigner()
    functionSourceFile: /src/bitcoin-core/src/interfaces/node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ExternalSigner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~Node()
    functionSourceFile: /src/bitcoin-core/src/interfaces/node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: interfaces::Node::context
    functionSourceFile: /src/bitcoin-core/src/interfaces/node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: node::NodeContext
    signature: node::NodeContext * context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - node::NodeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: interfaces::Node::setContext
    functionSourceFile: /src/bitcoin-core/src/interfaces/node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setContext(node::NodeContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~ExternalSigner()
    functionSourceFile: /src/bitcoin-core/src/interfaces/node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ExternalSigner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~Node()
    functionSourceFile: /src/bitcoin-core/src/interfaces/node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: interfaces::Node::context
    functionSourceFile: /src/bitcoin-core/src/interfaces/node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: node::NodeContext
    signature: node::NodeContext * context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - node::NodeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: interfaces::Node::setContext
    functionSourceFile: /src/bitcoin-core/src/interfaces/node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setContext(node::NodeContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~Init()
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: interfaces::Init::makeNode
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> makeNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: interfaces::Init::makeChain
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Chain>
    signature: std::unique_ptr<Chain> makeChain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: interfaces::Init::makeMining
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Mining>
    signature: std::unique_ptr<Mining> makeMining()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - Chain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: interfaces::Init::makeWalletLoader
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<WalletLoader>
    signature: std::unique_ptr<WalletLoader> makeWalletLoader(Chain& chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: interfaces::Init::makeEcho
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Echo>
    signature: std::unique_ptr<Echo> makeEcho()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: interfaces::Init::ipc
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ipc
    signature: Ipc * ipc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: interfaces::Init::canListenIpc
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canListenIpc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~Init()
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: interfaces::Init::makeNode
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> makeNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: interfaces::Init::makeChain
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Chain>
    signature: std::unique_ptr<Chain> makeChain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: interfaces::Init::makeMining
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Mining>
    signature: std::unique_ptr<Mining> makeMining()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - Chain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: interfaces::Init::makeWalletLoader
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<WalletLoader>
    signature: std::unique_ptr<WalletLoader> makeWalletLoader(Chain& chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: interfaces::Init::makeEcho
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Echo>
    signature: std::unique_ptr<Echo> makeEcho()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: interfaces::Init::ipc
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ipc
    signature: Ipc * ipc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: interfaces::Init::canListenIpc
    functionSourceFile: /src/bitcoin-core/src/interfaces/init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canListenIpc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& hash(uint256& hash)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & hash(uint256& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' height'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& height(int& height)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & height(int& height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& time(int64_t& time)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & time(int64_t& time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' max_time'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& maxTime(int64_t& max_time)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & maxTime(int64_t& max_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' mtp_time'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& mtpTime(int64_t& mtp_time)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & mtpTime(int64_t& mtp_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in_active_chain'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& inActiveChain(bool& in_active_chain)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & inActiveChain(bool& in_active_chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& locator(CBlockLocator& locator)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & locator(CBlockLocator& locator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' next_block'
    argTypes:
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& nextBlock(const FoundBlock& next_block)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & nextBlock(const FoundBlock& next_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - CBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& data(CBlock& data)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & data(CBlock& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash LIFETIMEBOUND'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: interfaces::BlockInfo
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockInfo(const uint256& hash LIFETIMEBOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~Chain()
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Chain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: ~Notifications()
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: interfaces::Chain::Notifications::transactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transactionAddedToMempool(const CTransactionRef& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' tx'
    - reason
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: interfaces::Chain::Notifications::transactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - role
    - ' block'
    argTypes:
    - ChainstateRole
    - BlockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: interfaces::Chain::Notifications::blockConnected
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blockConnected(ChainstateRole role, const BlockInfo& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - BlockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: interfaces::Chain::Notifications::blockDisconnected
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blockDisconnected(const BlockInfo& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: interfaces::Chain::Notifications::updatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updatedBlockTip()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - role
    - ' locator'
    argTypes:
    - ChainstateRole
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: interfaces::Chain::Notifications::chainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chainStateFlushed(ChainstateRole role, const CBlockLocator& locator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: interfaces::Chain::context
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: node::NodeContext
    signature: node::NodeContext * context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: ~ChainClient()
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ChainClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& hash(uint256& hash)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & hash(uint256& hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' height'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& height(int& height)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & height(int& height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& time(int64_t& time)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & time(int64_t& time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' max_time'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& maxTime(int64_t& max_time)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & maxTime(int64_t& max_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' mtp_time'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& mtpTime(int64_t& mtp_time)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & mtpTime(int64_t& mtp_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in_active_chain'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& inActiveChain(bool& in_active_chain)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & inActiveChain(bool& in_active_chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& locator(CBlockLocator& locator)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & locator(CBlockLocator& locator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' next_block'
    argTypes:
    - FoundBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& nextBlock(const FoundBlock& next_block)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & nextBlock(const FoundBlock& next_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - CBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& data(CBlock& data)'
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FoundBlock
    signature: FoundBlock & data(CBlock& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash LIFETIMEBOUND'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: interfaces::BlockInfo
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockInfo(const uint256& hash LIFETIMEBOUND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~Chain()
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Chain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: ~Notifications()
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Notifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: interfaces::Chain::Notifications::transactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transactionAddedToMempool(const CTransactionRef& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' tx'
    - reason
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: interfaces::Chain::Notifications::transactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason
      reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - role
    - ' block'
    argTypes:
    - ChainstateRole
    - BlockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: interfaces::Chain::Notifications::blockConnected
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blockConnected(ChainstateRole role, const BlockInfo& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - BlockInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: interfaces::Chain::Notifications::blockDisconnected
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blockDisconnected(const BlockInfo& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: interfaces::Chain::Notifications::updatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updatedBlockTip()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - role
    - ' locator'
    argTypes:
    - ChainstateRole
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: interfaces::Chain::Notifications::chainStateFlushed
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chainStateFlushed(ChainstateRole role, const CBlockLocator& locator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: interfaces::Chain::context
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: node::NodeContext
    signature: node::NodeContext * context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: ~ChainClient()
    functionSourceFile: /src/bitcoin-core/src/interfaces/chain.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ChainClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~BlockTemplate()
    functionSourceFile: /src/bitcoin-core/src/interfaces/mining.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BlockTemplate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~Mining()
    functionSourceFile: /src/bitcoin-core/src/interfaces/mining.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mining()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: interfaces::Mining::context
    functionSourceFile: /src/bitcoin-core/src/interfaces/mining.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: node::NodeContext
    signature: node::NodeContext * context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~BlockTemplate()
    functionSourceFile: /src/bitcoin-core/src/interfaces/mining.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BlockTemplate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~Mining()
    functionSourceFile: /src/bitcoin-core/src/interfaces/mining.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mining()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: interfaces::Mining::context
    functionSourceFile: /src/bitcoin-core/src/interfaces/mining.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: node::NodeContext
    signature: node::NodeContext * context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: ~Echo()
    functionSourceFile: /src/bitcoin-core/src/interfaces/echo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Echo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: ~Echo()
    functionSourceFile: /src/bitcoin-core/src/interfaces/echo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Echo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: SignatureCache::SignatureCache
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureCache(const SignatureCache&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const SignatureCache&)'
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SignatureCache
    signature: SignatureCache & operator=(const SignatureCache&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - txToIn
    - nInIn
    - ' amountIn'
    - storeIn
    - ' signature_cache'
    - ' txdataIn'
    argTypes:
    - CTransaction*
    - unsigned int
    - CAmount
    - bool
    - SignatureCache
    - PrecomputedTransactionData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: CachingTransactionSignatureChecker::CachingTransactionSignatureChecker
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CachingTransactionSignatureChecker(const CTransaction* txToIn,
      unsigned int nInIn, const CAmount& amountIn, bool storeIn, SignatureCache& signature_cache,
      PrecomputedTransactionData& txdataIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~Descriptor()
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Descriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' tx'
    - input_idx
    - ' amount'
    - hash_type
    argTypes:
    - CMutableTransaction
    - unsigned int
    - CAmount
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: MutableTransactionSignatureCreator::MutableTransactionSignatureCreator
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutableTransactionSignatureCreator::MutableTransactionSignatureCreator(const
      CMutableTransaction& tx, unsigned int input_idx, const CAmount& amount, int
      hash_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' tx'
    - input_idx
    - ' amount'
    - txdata
    - hash_type
    argTypes:
    - CMutableTransaction
    - unsigned int
    - CAmount
    - PrecomputedTransactionData*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: MutableTransactionSignatureCreator::MutableTransactionSignatureCreator
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutableTransactionSignatureCreator::MutableTransactionSignatureCreator(const
      CMutableTransaction& tx, unsigned int input_idx, const CAmount& amount, const
      PrecomputedTransactionData* txdata, int hash_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/sign.cpp:39,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/script/sign.cpp:41,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/script/sign.cpp:42,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/script/sign.cpp:46,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/script/sign.cpp:50,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/script/sign.cpp:55,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/script/sign.cpp:56,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - ' provider'
    - ' vchSig'
    - ' address'
    - ' scriptCode'
    - sigversion
    argTypes:
    - SigningProvider
    - std::vector<unsigned char>
    - CKeyID
    - CScript
    - SigVersion
    assertStmts:
    - condition: (sigversion == SigVersion::BASE || sigversion == SigVersion::WITNESS_V0)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/script/sign.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: MutableTransactionSignatureCreator::CreateSig
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - CKey::IsCompressed
    - CKey::Sign
    - SignatureHash
    - push_back
    - CKey::CKey
    - assert
    - GetKey
    - MoneyRange
    linkageType: ''
    returnType: bool
    signature: bool MutableTransactionSignatureCreator::CreateSig(const SigningProvider&
      provider, std::vector<unsigned char>& vchSig, const CKeyID& address, const CScript&
      scriptCode, SigVersion sigversion) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/sign.cpp:64,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/script/sign.cpp:66,1
    - Dst: GetKeyByXOnly
      Src: /src/bitcoin-core/src/script/sign.cpp:67,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/sign.cpp:84,1
    - Dst: SignatureHashSchnorr
      Src: /src/bitcoin-core/src/script/sign.cpp:85,1
    - Dst: resize
      Src: /src/bitcoin-core/src/script/sign.cpp:86,1
    - Dst: CKey::SignSchnorr
      Src: /src/bitcoin-core/src/script/sign.cpp:88,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 6
    argNames:
    - ' provider'
    - ' sig'
    - ' pubkey'
    - leaf_hash
    - merkle_root
    - sigversion
    argTypes:
    - SigningProvider
    - std::vector<unsigned char>
    - XOnlyPubKey
    - uint256*
    - uint256*
    - SigVersion
    assertStmts:
    - condition: (sigversion == SigVersion::TAPROOT || sigversion == SigVersion::TAPSCRIPT)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/script/sign.cpp
    constantsTouched: []
    func_position:
      end: 91
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 91
    functionName: MutableTransactionSignatureCreator::CreateSchnorrSig
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 1
    functionsReached:
    - resize
    - CKey::SignSchnorr
    - push_back
    - CKey::CKey
    - GetKeyByXOnly
    - SignatureHashSchnorr
    - assert
    - uint256::uint256
    linkageType: ''
    returnType: bool
    signature: bool MutableTransactionSignatureCreator::CreateSchnorrSig(const SigningProvider&
      provider, std::vector<unsigned char>& sig, const XOnlyPubKey& pubkey, const
      uint256* leaf_hash, const uint256* merkle_root, SigVersion sigversion) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/script/sign.cpp:95,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/script/sign.cpp:99,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/script/sign.cpp:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' provider'
    - ' sigdata'
    - ' scriptid'
    - ' script'
    argTypes:
    - SigningProvider
    - SignatureData
    - CScriptID
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: GetCScript
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 1
    functionsReached:
    - GetCScript
    - CScriptID
    linkageType: ''
    returnType: bool
    signature: bool GetCScript(const SigningProvider& provider, const SignatureData&
      sigdata, const CScriptID& scriptid, CScript& script)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signatures::find
      Src: /src/bitcoin-core/src/script/sign.cpp:112,1
    - Dst: signatures::end
      Src: /src/bitcoin-core/src/script/sign.cpp:113,1
    - Dst: misc_pubkeys::find
      Src: /src/bitcoin-core/src/script/sign.cpp:118,1
    - Dst: misc_pubkeys::end
      Src: /src/bitcoin-core/src/script/sign.cpp:119,1
    - Dst: tap_pubkeys::find
      Src: /src/bitcoin-core/src/script/sign.cpp:123,1
    - Dst: tap_pubkeys::end
      Src: /src/bitcoin-core/src/script/sign.cpp:124,1
    - Dst: second::GetEvenCorrespondingCPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:125,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' provider'
    - ' sigdata'
    - ' address'
    - ' pubkey'
    argTypes:
    - SigningProvider
    - SignatureData
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 78
    functionsReached:
    - signatures::find
    - misc_pubkeys::find
    - signatures::end
    - tap_pubkeys::end
    - misc_pubkeys::end
    - tap_pubkeys::find
    - second::GetEvenCorrespondingCPubKey
    - GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool GetPubKey(const SigningProvider& provider, const SignatureData&
      sigdata, const CKeyID& address, CPubKey& pubkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/sign.cpp:134,1
    - Dst: signatures::find
      Src: /src/bitcoin-core/src/script/sign.cpp:135,1
    - Dst: signatures::end
      Src: /src/bitcoin-core/src/script/sign.cpp:136,1
    - Dst: GetKeyOrigin
      Src: /src/bitcoin-core/src/script/sign.cpp:141,1
    - Dst: misc_pubkeys::emplace
      Src: /src/bitcoin-core/src/script/sign.cpp:142,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/script/sign.cpp:142,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:142,1
    - Dst: CreateSig
      Src: /src/bitcoin-core/src/script/sign.cpp:144,1
    - Dst: signatures::emplace
      Src: /src/bitcoin-core/src/script/sign.cpp:145,1
    - Dst: SigPair
      Src: /src/bitcoin-core/src/script/sign.cpp:145,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/sign.cpp:146,1
    - Dst: missing_sigs::push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - ' creator'
    - ' sigdata'
    - ' provider'
    - ' sig_out'
    - ' pubkey'
    - ' scriptcode'
    - sigversion
    argTypes:
    - BaseSignatureCreator
    - SignatureData
    - SigningProvider
    - std::vector<unsigned char>
    - CPubKey
    - CScript
    - SigVersion
    assertStmts:
    - condition: (i.second)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/bitcoin-core/src/script/sign.cpp
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: CreateSig
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 1
    functionsReached:
    - SigPair
    - signatures::find
    - std::make_pair
    - misc_pubkeys::emplace
    - signatures::end
    - signatures::emplace
    - GetID
    - CreateSig
    - std::move
    - GetKeyOrigin
    - assert
    - missing_sigs::push_back
    linkageType: ''
    returnType: bool
    signature: bool CreateSig(const BaseSignatureCreator& creator, SignatureData&
      sigdata, const SigningProvider& provider, std::vector<unsigned char>& sig_out,
      const CPubKey& pubkey, const CScript& scriptcode, SigVersion sigversion)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyOriginByXOnly
      Src: /src/bitcoin-core/src/script/sign.cpp:157,1
    - Dst: taproot_misc_pubkeys::find
      Src: /src/bitcoin-core/src/script/sign.cpp:158,1
    - Dst: taproot_misc_pubkeys::end
      Src: /src/bitcoin-core/src/script/sign.cpp:159,1
    - Dst: taproot_misc_pubkeys::emplace
      Src: /src/bitcoin-core/src/script/sign.cpp:160,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/script/sign.cpp:160,1
    - Dst: std::set<uint256>
      Src: /src/bitcoin-core/src/script/sign.cpp:160,1
    - Dst: auto::second::first::insert
      Src: /src/bitcoin-core/src/script/sign.cpp:162,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/script/sign.cpp:166,1
    - Dst: taproot_script_sigs::find
      Src: /src/bitcoin-core/src/script/sign.cpp:167,1
    - Dst: taproot_script_sigs::end
      Src: /src/bitcoin-core/src/script/sign.cpp:168,1
    - Dst: CreateSchnorrSig
      Src: /src/bitcoin-core/src/script/sign.cpp:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 7
    argNames:
    - ' creator'
    - ' sigdata'
    - ' provider'
    - ' sig_out'
    - ' pubkey'
    - ' leaf_hash'
    - sigversion
    argTypes:
    - BaseSignatureCreator
    - SignatureData
    - SigningProvider
    - std::vector<unsigned char>
    - XOnlyPubKey
    - uint256
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: CreateTaprootScriptSig
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - GetKeyOriginByXOnly
    - std::set<uint256>
    - taproot_misc_pubkeys::emplace
    - std::make_pair
    - taproot_script_sigs::find
    - CreateSchnorrSig
    - taproot_misc_pubkeys::find
    - taproot_misc_pubkeys::end
    - taproot_script_sigs::end
    - auto::second::first::insert
    linkageType: ''
    returnType: bool
    signature: bool CreateTaprootScriptSig(const BaseSignatureCreator& creator, SignatureData&
      sigdata, const SigningProvider& provider, std::vector<unsigned char>& sig_out,
      const XOnlyPubKey& pubkey, const uint256& leaf_hash, SigVersion sigversion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/script/sign.cpp:182,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/sign.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' map'
    - ' key'
    - ' value'
    argTypes:
    - M
    - K
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: MsLookupHelper
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability MsLookupHelper(const M& map, const K& key,
      V& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' provider LIFETIMEBOUND'
    - ' sig_data LIFETIMEBOUND'
    - ' creator LIFETIMEBOUND'
    - ' witscript LIFETIMEBOUND'
    - script_ctx
    argTypes:
    - SigningProvider
    - SignatureData
    - BaseSignatureCreator
    - CScript
    - miniscript::MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: Satisfier
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Satisfier(const SigningProvider& provider LIFETIMEBOUND, SignatureData&
      sig_data LIFETIMEBOUND,\n                       const BaseSignatureCreator&
      creator LIFETIMEBOUND,\n                       const CScript& witscript LIFETIMEBOUND,\n
      \                      miniscript::MiniscriptContext script_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const Key& a, const Key& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/sign.cpp:221,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:222,1
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/script/sign.cpp:223,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/sign.cpp:224,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/sign.cpp:224,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:225,1
    - Dst: missing_pubkeys::push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (last - first == 20)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/bitcoin-core/src/script/sign.cpp
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: CPubFromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - CKeyID::CKeyID
    - CKeyID::begin
    - CPubKey::CPubKey
    - missing_pubkeys::push_back
    - assert
    - GetPubKey
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> CPubFromPKHBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/sign.cpp:231,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/sign.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: ToPKBytes
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 2
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKBytes(const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Checker
      Src: /src/bitcoin-core/src/script/sign.cpp:234,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/sign.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: CheckAfter
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 2
    functionsReached:
    - CScriptNum
    - Checker
    linkageType: ''
    returnType: bool
    signature: bool CheckAfter(uint32_t value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Checker
      Src: /src/bitcoin-core/src/script/sign.cpp:235,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/sign.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: CheckOlder
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 2
    functionsReached:
    - CScriptNum
    - Checker
    linkageType: ''
    returnType: bool
    signature: bool CheckOlder(uint32_t value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsLookupHelper
      Src: /src/bitcoin-core/src/script/sign.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: SatSHA256
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - MsLookupHelper
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatSHA256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsLookupHelper
      Src: /src/bitcoin-core/src/script/sign.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: SatRIPEMD160
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - MsLookupHelper
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatRIPEMD160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsLookupHelper
      Src: /src/bitcoin-core/src/script/sign.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: SatHASH256
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - MsLookupHelper
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH256(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsLookupHelper
      Src: /src/bitcoin-core/src/script/sign.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' hash'
    - ' preimage'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: SatHASH160
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - MsLookupHelper
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability SatHASH160(const std::vector<unsigned char>&
      hash, std::vector<unsigned char>& preimage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: MsContext
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: miniscript::MiniscriptContext
    signature: miniscript::MiniscriptContext MsContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' provider LIFETIMEBOUND'
    - ' sig_data LIFETIMEBOUND'
    - ' creator LIFETIMEBOUND'
    - ' witscript LIFETIMEBOUND'
    argTypes:
    - SigningProvider
    - SignatureData
    - BaseSignatureCreator
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: WshSatisfier
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void WshSatisfier(const SigningProvider& provider LIFETIMEBOUND, SignatureData&
      sig_data LIFETIMEBOUND,\n                          const BaseSignatureCreator&
      creator LIFETIMEBOUND, const CScript& witscript LIFETIMEBOUND)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/script/sign.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::IsValid
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> FromPKBytes(I first, I last) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPubFromPKHBytes
      Src: /src/bitcoin-core/src/script/sign.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 1
    functionsReached:
    - CPubFromPKHBytes
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> FromPKHBytes(I first, I last) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSig
      Src: /src/bitcoin-core/src/script/sign.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' sig'
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: Sign
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 18
    functionsReached:
    - CreateSig
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability Sign(const CPubKey& key, std::vector<unsigned
      char>& sig) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' provider LIFETIMEBOUND'
    - ' sig_data LIFETIMEBOUND'
    - ' creator LIFETIMEBOUND'
    - ' script LIFETIMEBOUND'
    - ' leaf_hash LIFETIMEBOUND'
    argTypes:
    - SigningProvider
    - SignatureData
    - BaseSignatureCreator
    - CScript
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: TapSatisfier
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TapSatisfier(const SigningProvider& provider LIFETIMEBOUND, SignatureData&
      sig_data LIFETIMEBOUND,\n                          const BaseSignatureCreator&
      creator LIFETIMEBOUND, const CScript& script LIFETIMEBOUND,\n                          const
      uint256& leaf_hash LIFETIMEBOUND)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:299,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/sign.cpp:300,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/script/sign.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - XOnlyPubKey::begin
    - std::copy
    - XOnlyPubKey::XOnlyPubKey
    linkageType: ''
    returnType: std::optional<XOnlyPubKey>
    signature: std::optional<XOnlyPubKey> FromPKBytes(I first, I last) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubFromPKHBytes
      Src: /src/bitcoin-core/src/script/sign.cpp:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - I
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 2
    functionsReached:
    - CPubFromPKHBytes
    linkageType: ''
    returnType: std::optional<XOnlyPubKey>
    signature: std::optional<XOnlyPubKey> FromPKHBytes(I first, I last) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateTaprootScriptSig
      Src: /src/bitcoin-core/src/script/sign.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' sig'
    argTypes:
    - XOnlyPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: Sign
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 18
    functionsReached:
    - CreateTaprootScriptSig
    linkageType: ''
    returnType: miniscript::Availability
    signature: miniscript::Availability Sign(const XOnlyPubKey& key, std::vector<unsigned
      char>& sig) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ComputeTapleafHash
      Src: /src/bitcoin-core/src/script/sign.cpp:325,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/sign.cpp:326,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/script/sign.cpp:326,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/script/sign.cpp:326,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/script/sign.cpp:329,1
    - Dst: auto::Satisfy
      Src: /src/bitcoin-core/src/script/sign.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - ' provider'
    - ' creator'
    - ' sigdata'
    - leaf_version
    - script_bytes
    - ' result'
    argTypes:
    - SigningProvider
    - BaseSignatureCreator
    - SignatureData
    - int
    - std::span<const unsigned char>
    - std::vector<valtype>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: SignTaprootScript
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::begin
    - auto::Satisfy
    - std::span<const unsigned char>::end
    - miniscript::FromScript
    - CScript
    - ComputeTapleafHash
    linkageType: ''
    returnType: bool
    signature: bool SignTaprootScript(const SigningProvider& provider, const BaseSignatureCreator&
      creator, SignatureData& sigdata, int leaf_version, std::span<const unsigned
      char> script_bytes, std::vector<valtype>& result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GetTaprootSpendData
      Src: /src/bitcoin-core/src/script/sign.cpp:339,1
    - Dst: tr_spenddata::Merge
      Src: /src/bitcoin-core/src/script/sign.cpp:340,1
    - Dst: GetTaprootBuilder
      Src: /src/bitcoin-core/src/script/sign.cpp:342,1
    - Dst: GetKeyOriginByXOnly
      Src: /src/bitcoin-core/src/script/sign.cpp:349,1
    - Dst: taproot_misc_pubkeys::find
      Src: /src/bitcoin-core/src/script/sign.cpp:350,1
    - Dst: taproot_misc_pubkeys::end
      Src: /src/bitcoin-core/src/script/sign.cpp:351,1
    - Dst: taproot_misc_pubkeys::emplace
      Src: /src/bitcoin-core/src/script/sign.cpp:352,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/script/sign.cpp:352,1
    - Dst: std::set<uint256>
      Src: /src/bitcoin-core/src/script/sign.cpp:352,1
    - Dst: taproot_key_path_sig::size
      Src: /src/bitcoin-core/src/script/sign.cpp:357,1
    - Dst: CreateSchnorrSig
      Src: /src/bitcoin-core/src/script/sign.cpp:358,1
    - Dst: taproot_key_path_sig::size
      Src: /src/bitcoin-core/src/script/sign.cpp:362,1
    - Dst: CreateSchnorrSig
      Src: /src/bitcoin-core/src/script/sign.cpp:363,1
    - Dst: taproot_key_path_sig::size
      Src: /src/bitcoin-core/src/script/sign.cpp:367,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/sign.cpp:368,1
    - Dst: SignTaprootScript
      Src: /src/bitcoin-core/src/script/sign.cpp:378,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/sign.cpp:379,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/sign.cpp:379,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/sign.cpp:379,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:380,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/sign.cpp:380,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/sign.cpp:381,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/script/sign.cpp:382,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/script/sign.cpp:382,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:383,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/sign.cpp:387,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:388,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 5
    argNames:
    - ' provider'
    - ' creator'
    - ' output'
    - ' sigdata'
    - ' result'
    argTypes:
    - SigningProvider
    - BaseSignatureCreator
    - WitnessV1Taproot
    - SignatureData
    - std::vector<valtype>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 393
    functionName: SignTaproot
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - taproot_misc_pubkeys::emplace
    - std::make_pair
    - std::vector::emplace_back
    - GetTaprootSpendData
    - tr_spenddata::Merge
    - std::vector::push_back
    - std::move
    - Vector
    - GetKeyOriginByXOnly
    - SignTaprootScript
    - CreateSchnorrSig
    - taproot_misc_pubkeys::find
    - taproot_key_path_sig::size
    - std::vector::size
    - GetTaprootBuilder
    - std::set<uint256>
    - GetSerializeSize
    - taproot_misc_pubkeys::end
    - end
    - begin
    linkageType: ''
    returnType: bool
    signature: bool SignTaproot(const SigningProvider& provider, const BaseSignatureCreator&
      creator, const WitnessV1Taproot& output, SignatureData& sigdata, std::vector<valtype>&
      result)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/sign.cpp:404,1
    - Dst: clear
      Src: /src/bitcoin-core/src/script/sign.cpp:405,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/script/sign.cpp:409,1
    - Dst: CreateSig
      Src: /src/bitcoin-core/src/script/sign.cpp:417,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:417,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:418,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:418,1
    - Dst: CKeyID
      Src: /src/bitcoin-core/src/script/sign.cpp:421,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/script/sign.cpp:421,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:422,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:423,1
    - Dst: missing_pubkeys::push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:425,1
    - Dst: CreateSig
      Src: /src/bitcoin-core/src/script/sign.cpp:428,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:429,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:429,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:430,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/script/sign.cpp:430,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/script/sign.cpp:435,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/sign.cpp:436,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/script/sign.cpp:436,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/script/sign.cpp:436,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/script/sign.cpp:444,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/sign.cpp:445,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/sign.cpp:446,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:447,1
    - Dst: CreateSig
      Src: /src/bitcoin-core/src/script/sign.cpp:451,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/sign.cpp:452,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:453,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:453,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/sign.cpp:457,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/sign.cpp:458,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/sign.cpp:459,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/sign.cpp:464,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/script/sign.cpp:468,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/script/sign.cpp:468,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/sign.cpp:469,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/script/sign.cpp:469,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/script/sign.cpp:469,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/script/sign.cpp:473,1
    - Dst: SignTaproot
      Src: /src/bitcoin-core/src/script/sign.cpp:477,1
    - Dst: WitnessV1Taproot
      Src: /src/bitcoin-core/src/script/sign.cpp:477,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/sign.cpp:482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 7
    argNames:
    - ' provider'
    - ' creator'
    - ' scriptPubKey'
    - ' ret'
    - ' whichTypeRet'
    - sigversion
    - ' sigdata'
    argTypes:
    - SigningProvider
    - BaseSignatureCreator
    - CScript
    - std::vector<valtype>
    - TxoutType
    - SigVersion
    - SignatureData
    assertStmts:
    - condition: (false)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/bitcoin-core/src/script/sign.cpp
    constantsTouched: []
    func_position:
      end: 483
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 483
    functionName: SignStep
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - uint160
    - std::move
    - CPubKey
    - std::vector::front
    - SignTaproot
    - RIPEMD160
    - CPubKey::CPubKey
    - clear
    - Solver
    - std::vector::size
    - uint256
    - ToByteVector
    - CScript::end
    - WitnessV1Taproot
    - CKeyID
    - GetCScript
    - assert
    - CScript::CScript
    - push_back
    - CreateSig
    - size
    - missing_pubkeys::push_back
    - emplace_back
    - GetPubKey
    - CScript::begin
    linkageType: ''
    returnType: bool
    signature: "bool SignStep(const SigningProvider& provider, const BaseSignatureCreator&
      creator, const CScript& scriptPubKey,\n                     std::vector<valtype>&
      ret, TxoutType& whichTypeRet, SigVersion sigversion, SignatureData& sigdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/sign.cpp:487,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/sign.cpp:489,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/sign.cpp:491,1
    - Dst: CScript::EncodeOP_N
      Src: /src/bitcoin-core/src/script/sign.cpp:492,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/sign.cpp:493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<valtype>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: PushAll
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 1
    functionsReached:
    - CScript::EncodeOP_N
    - size
    - CScript::CScript
    linkageType: ''
    returnType: CScript
    signature: CScript PushAll(const std::vector<valtype>& values)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SignStep
      Src: /src/bitcoin-core/src/script/sign.cpp:508,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/sign.cpp:510,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/sign.cpp:517,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/sign.cpp:517,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/sign.cpp:517,1
    - Dst: SignStep
      Src: /src/bitcoin-core/src/script/sign.cpp:519,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/sign.cpp:525,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/script/sign.cpp:526,1
    - Dst: SignStep
      Src: /src/bitcoin-core/src/script/sign.cpp:528,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/script/sign.cpp:531,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/sign.cpp:535,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/sign.cpp:535,1
    - Dst: SignStep
      Src: /src/bitcoin-core/src/script/sign.cpp:539,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/sign.cpp:545,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/script/sign.cpp:547,1
    - Dst: auto::Satisfy
      Src: /src/bitcoin-core/src/script/sign.cpp:548,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/sign.cpp:550,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/script/sign.cpp:550,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/script/sign.cpp:550,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/script/sign.cpp:554,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:558,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/script/sign.cpp:560,1
    - Dst: scriptWitness::stack::clear
      Src: /src/bitcoin-core/src/script/sign.cpp:565,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/sign.cpp:567,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/script/sign.cpp:567,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/script/sign.cpp:567,1
    - Dst: PushAll
      Src: /src/bitcoin-core/src/script/sign.cpp:569,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/script/sign.cpp:572,1
    - Dst: Checker
      Src: /src/bitcoin-core/src/script/sign.cpp:572,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 4
    argNames:
    - ' provider'
    - ' creator'
    - ' fromPubKey'
    - ' sigdata'
    argTypes:
    - SigningProvider
    - BaseSignatureCreator
    - CScript
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 502
    functionDepth: 4
    functionLinenumber: 502
    functionLinenumberEnd: 574
    functionName: ProduceSignature
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 10
    functionsReached:
    - end
    - ToByteVector
    - SignStep
    - auto::Satisfy
    - std::vector::emplace_back
    - VerifyScript
    - CScript::end
    - Checker
    - std::move
    - scriptWitness::stack::clear
    - PushAll
    - CScript::begin
    - std::vector::clear
    - miniscript::FromScript
    - CScript
    - std::vector::empty
    - begin
    - CScript::CScript
    linkageType: ''
    returnType: bool
    signature: bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreator&
      creator, const CScript& fromPubKey, SignatureData& sigdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' sigdata'
    - ' checker'
    argTypes:
    - SignatureData
    - BaseSignatureChecker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 583
    functionName: SignatureExtractorChecker::SignatureExtractorChecker
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureExtractorChecker(SignatureData& sigdata, BaseSignatureChecker&
      checker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SignatureExtractorChecker::CheckECDSASignature
      Src: /src/bitcoin-core/src/script/sign.cpp:587,1
    - Dst: signatures::emplace
      Src: /src/bitcoin-core/src/script/sign.cpp:589,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/script/sign.cpp:589,1
    - Dst: SigPair
      Src: /src/bitcoin-core/src/script/sign.cpp:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' scriptSig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: SignatureExtractorChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 1
    functionsReached:
    - SigPair
    - SignatureExtractorChecker::CheckECDSASignature
    - signatures::emplace
    - CPubKey::GetID
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& scriptSig,
      const std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion
      sigversion) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    functionName: Stacks
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: Stacks
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stacks(const Stacks&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/script/sign.cpp:604,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/script/sign.cpp:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 605
    functionName: Stacks
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - BaseSignatureChecker
    - EvalScript
    linkageType: ''
    returnType: void
    signature: void Stacks(const SignatureData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' sigdata'
    - ' checker'
    argTypes:
    - SignatureData
    - BaseSignatureChecker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 583
    functionName: SignatureExtractorChecker::SignatureExtractorChecker
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureExtractorChecker(SignatureData& sigdata, BaseSignatureChecker&
      checker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SignatureExtractorChecker::CheckECDSASignature
      Src: /src/bitcoin-core/src/script/sign.cpp:587,1
    - Dst: signatures::emplace
      Src: /src/bitcoin-core/src/script/sign.cpp:589,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/script/sign.cpp:589,1
    - Dst: SigPair
      Src: /src/bitcoin-core/src/script/sign.cpp:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' scriptSig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: SignatureExtractorChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 2
    functionsReached:
    - SigPair
    - SignatureExtractorChecker::CheckECDSASignature
    - signatures::emplace
    - CPubKey::GetID
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& scriptSig,
      const std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion
      sigversion) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    functionName: Stacks
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: Stacks
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stacks(const Stacks&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/script/sign.cpp:604,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/script/sign.cpp:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 605
    functionName: Stacks
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - BaseSignatureChecker
    - EvalScript
    linkageType: ''
    returnType: void
    signature: void Stacks(const SignatureData& data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/sign.cpp:613,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/sign.cpp:613,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/script/sign.cpp:621,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/script/sign.cpp:628,1
    - Dst: Stacks::script::empty
      Src: /src/bitcoin-core/src/script/sign.cpp:632,1
    - Dst: Stacks::script::back
      Src: /src/bitcoin-core/src/script/sign.cpp:632,1
    - Dst: Stacks::script::back
      Src: /src/bitcoin-core/src/script/sign.cpp:634,1
    - Dst: Stacks::script::back
      Src: /src/bitcoin-core/src/script/sign.cpp:634,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:636,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/script/sign.cpp:639,1
    - Dst: Stacks::script::pop_back
      Src: /src/bitcoin-core/src/script/sign.cpp:640,1
    - Dst: Stacks::witness::empty
      Src: /src/bitcoin-core/src/script/sign.cpp:642,1
    - Dst: Stacks::witness::back
      Src: /src/bitcoin-core/src/script/sign.cpp:642,1
    - Dst: Stacks::witness::back
      Src: /src/bitcoin-core/src/script/sign.cpp:644,1
    - Dst: Stacks::witness::back
      Src: /src/bitcoin-core/src/script/sign.cpp:644,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:646,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/script/sign.cpp:649,1
    - Dst: Stacks::witness::pop_back
      Src: /src/bitcoin-core/src/script/sign.cpp:650,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:651,1
    - Dst: Stacks::witness::clear
      Src: /src/bitcoin-core/src/script/sign.cpp:652,1
    - Dst: Stacks::script::empty
      Src: /src/bitcoin-core/src/script/sign.cpp:655,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/sign.cpp:657,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/sign.cpp:657,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/sign.cpp:658,1
    - Dst: SignatureData::signatures::count
      Src: /src/bitcoin-core/src/script/sign.cpp:664,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/script/sign.cpp:664,1
    - Dst: SignatureExtractorChecker::CheckECDSASignature
      Src: /src/bitcoin-core/src/script/sign.cpp:664,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - ' tx'
    - nIn
    - ' txout'
    argTypes:
    - CMutableTransaction
    - unsigned int
    - CTxOut
    assertStmts:
    - condition: (tx.vin.size() > nIn)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/bitcoin-core/src/script/sign.cpp
    - condition: (solutions.size() > 1)
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/bitcoin-core/src/script/sign.cpp
    constantsTouched: []
    func_position:
      end: 673
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 673
    functionName: DataFromTransaction
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 4
    functionsReached:
    - Stacks::script::back
    - Stacks::witness::pop_back
    - VerifyScript
    - Stacks::witness::back
    - SignatureExtractorChecker::CheckECDSASignature
    - Stacks::script::empty
    - Stacks::witness::clear
    - Stacks::witness::empty
    - std::move
    - SignatureData::signatures::count
    - Stacks::script::pop_back
    - CPubKey
    - Solver
    - assert
    - std::vector::size
    - vin::size
    linkageType: ''
    returnType: SignatureData
    signature: SignatureData DataFromTransaction(const CMutableTransaction& tx, unsigned
      int nIn, const CTxOut& txout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' input'
    - ' data'
    argTypes:
    - CTxIn
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: UpdateInput
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateInput(CTxIn& input, const SignatureData& data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:685,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/sign.cpp:688,1
    - Dst: SignatureData::redeem_script::empty
      Src: /src/bitcoin-core/src/script/sign.cpp:688,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/sign.cpp:691,1
    - Dst: SignatureData::witness_script::empty
      Src: /src/bitcoin-core/src/script/sign.cpp:691,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/sign.cpp:694,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/script/sign.cpp:694,1
    - Dst: SignatureData::signatures::begin
      Src: /src/bitcoin-core/src/script/sign.cpp:694,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/script/sign.cpp:694,1
    - Dst: SignatureData::signatures::end
      Src: /src/bitcoin-core/src/script/sign.cpp:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - sigdata
    argTypes:
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 695
    functionName: SignatureData::MergeSignatureData
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 3
    functionsReached:
    - empty
    - SignatureData::witness_script::empty
    - SignatureData::redeem_script::empty
    - std::move
    - std::make_move_iterator
    - SignatureData::signatures::begin
    - insert
    - SignatureData::signatures::end
    linkageType: ''
    returnType: void
    signature: void SignatureData::MergeSignatureData(SignatureData sigdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: DummySignatureChecker::DummySignatureChecker
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummySignatureChecker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/sign.cpp:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' sig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: DummySignatureChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion
      sigversion) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/sign.cpp:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - pubkey
    - sigversion
    - ' execdata'
    - serror
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    - SigVersion
    - ScriptExecutionData
    - ScriptError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 704
    functionName: DummySignatureChecker::CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    linkageType: ''
    returnType: bool
    signature: bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion sigversion, ScriptExecutionData& execdata,
      ScriptError* serror) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nLockTime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: DummySignatureChecker::CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& nLockTime) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nSequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 706
    functionName: DummySignatureChecker::CheckSequence
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& nSequence) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: DummySignatureChecker::DummySignatureChecker
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummySignatureChecker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/sign.cpp:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' sig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: DummySignatureChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion
      sigversion) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/sign.cpp:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - pubkey
    - sigversion
    - ' execdata'
    - serror
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    - SigVersion
    - ScriptExecutionData
    - ScriptError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 704
    functionName: DummySignatureChecker::CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    linkageType: ''
    returnType: bool
    signature: bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion sigversion, ScriptExecutionData& execdata,
      ScriptError* serror) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nLockTime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: DummySignatureChecker::CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& nLockTime) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nSequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 706
    functionName: DummySignatureChecker::CheckSequence
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& nSequence) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r_len
    - s_len
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 718
    functionName: DummySignatureCreator::DummySignatureCreator
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummySignatureCreator(char r_len, char s_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: '& Checker() const override'
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseSignatureChecker
    signature: BaseSignatureChecker & Checker() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/script/sign.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ' provider'
    - ' vchSig'
    - ' keyid'
    - ' scriptCode'
    - sigversion
    argTypes:
    - SigningProvider
    - std::vector<unsigned char>
    - CKeyID
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 734
    functionName: DummySignatureCreator::CreateSig
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: bool
    signature: bool CreateSig(const SigningProvider& provider, std::vector<unsigned
      char>& vchSig, const CKeyID& keyid, const CScript& scriptCode, SigVersion sigversion)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/script/sign.cpp:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' provider'
    - ' sig'
    - ' pubkey'
    - leaf_hash
    - tweak
    - sigversion
    argTypes:
    - SigningProvider
    - std::vector<unsigned char>
    - XOnlyPubKey
    - uint256*
    - uint256*
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 739
    functionName: DummySignatureCreator::CreateSchnorrSig
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: bool
    signature: bool CreateSchnorrSig(const SigningProvider& provider, std::vector<unsigned
      char>& sig, const XOnlyPubKey& pubkey, const uint256* leaf_hash, const uint256*
      tweak, SigVersion sigversion) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r_len
    - s_len
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 718
    functionName: DummySignatureCreator::DummySignatureCreator
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummySignatureCreator(char r_len, char s_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: '& Checker() const override'
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseSignatureChecker
    signature: BaseSignatureChecker & Checker() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/script/sign.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ' provider'
    - ' vchSig'
    - ' keyid'
    - ' scriptCode'
    - sigversion
    argTypes:
    - SigningProvider
    - std::vector<unsigned char>
    - CKeyID
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 734
    functionName: DummySignatureCreator::CreateSig
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: bool
    signature: bool CreateSig(const SigningProvider& provider, std::vector<unsigned
      char>& vchSig, const CKeyID& keyid, const CScript& scriptCode, SigVersion sigversion)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/script/sign.cpp:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' provider'
    - ' sig'
    - ' pubkey'
    - leaf_hash
    - tweak
    - sigversion
    argTypes:
    - SigningProvider
    - std::vector<unsigned char>
    - XOnlyPubKey
    - uint256*
    - uint256*
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 739
    functionName: DummySignatureCreator::CreateSchnorrSig
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: bool
    signature: bool CreateSchnorrSig(const SigningProvider& provider, std::vector<unsigned
      char>& sig, const XOnlyPubKey& pubkey, const uint256* leaf_hash, const uint256*
      tweak, SigVersion sigversion) const override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsWitnessProgram
      Src: /src/bitcoin-core/src/script/sign.cpp:751,1
    - Dst: IsPayToScriptHash
      Src: /src/bitcoin-core/src/script/sign.cpp:752,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/script/sign.cpp:754,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/script/sign.cpp:756,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/sign.cpp:757,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/script/sign.cpp:758,1
    - Dst: CScript::IsWitnessProgram
      Src: /src/bitcoin-core/src/script/sign.cpp:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' provider'
    - ' script'
    argTypes:
    - SigningProvider
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 764
    functionName: IsSegWitOutput
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 1
    functionsReached:
    - uint160
    - IsPayToScriptHash
    - IsWitnessProgram
    - GetCScript
    - Solver
    - CScript::IsWitnessProgram
    - CScript::CScript
    linkageType: ''
    returnType: bool
    signature: bool IsSegWitOutput(const SigningProvider& provider, const CScript&
      script)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/script/sign.cpp:774,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/sign.cpp:776,1
    - Dst: find
      Src: /src/bitcoin-core/src/script/sign.cpp:778,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/sign.cpp:779,1
    - Dst: auto::second::IsSpent
      Src: /src/bitcoin-core/src/script/sign.cpp:779,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/script/sign.cpp:780,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/sign.cpp:783,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/sign.cpp:786,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/sign.cpp:786,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/script/sign.cpp:787,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/sign.cpp:787,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/sign.cpp:791,1
    - Dst: find
      Src: /src/bitcoin-core/src/script/sign.cpp:793,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/sign.cpp:794,1
    - Dst: auto::second::IsSpent
      Src: /src/bitcoin-core/src/script/sign.cpp:794,1
    - Dst: _
      Src: /src/bitcoin-core/src/script/sign.cpp:795,1
    - Dst: DataFromTransaction
      Src: /src/bitcoin-core/src/script/sign.cpp:801,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/script/sign.cpp:803,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/script/sign.cpp:804,1
    - Dst: MutableTransactionSignatureCreator
      Src: /src/bitcoin-core/src/script/sign.cpp:804,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/script/sign.cpp:807,1
    - Dst: scriptWitness::IsNull
      Src: /src/bitcoin-core/src/script/sign.cpp:810,1
    - Dst: _
      Src: /src/bitcoin-core/src/script/sign.cpp:811,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/script/sign.cpp:816,1
    - Dst: TransactionSignatureChecker
      Src: /src/bitcoin-core/src/script/sign.cpp:816,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/script/sign.cpp:819,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/script/sign.cpp:822,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/script/sign.cpp:824,1
    - Dst: ScriptErrorString
      Src: /src/bitcoin-core/src/script/sign.cpp:824,1
    - Dst: erase
      Src: /src/bitcoin-core/src/script/sign.cpp:828,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/sign.cpp:831,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 5
    argNames:
    - ' mtx'
    - keystore
    - ' coins'
    - nHashType
    - ' input_errors'
    argTypes:
    - CMutableTransaction
    - SigningProvider*
    - std::map<COutPoint, Coin>
    - int
    - std::map<int, bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 766
    functionDepth: 5
    functionLinenumber: 766
    functionLinenumberEnd: 832
    functionName: SignTransaction
    functionSourceFile: /src/bitcoin-core/src/script/sign.cpp
    functionUses: 3
    functionsReached:
    - std::vector::emplace_back
    - ScriptErrorString
    - MutableTransactionSignatureCreator
    - std::move
    - UpdateInput
    - DataFromTransaction
    - Untranslated
    - PrecomputedTransactionData::Init
    - TransactionSignatureChecker
    - find
    - std::vector::size
    - ProduceSignature
    - VerifyScript
    - empty
    - vout::size
    - scriptWitness::IsNull
    - vin::size
    - end
    - _
    - erase
    - auto::second::IsSpent
    - PrecomputedTransactionData::PrecomputedTransactionData
    linkageType: ''
    returnType: bool
    signature: bool SignTransaction(CMutableTransaction& mtx, const SigningProvider*
      keystore, const std::map<COutPoint, Coin>& coins, int nHashType, std::map<int,
      bilingual_str>& input_errors)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/parsing.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:18,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' str'
    - ' sp'
    - skip
    argTypes:
    - std::string
    - std::span<const char>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: script::Const
    functionSourceFile: /src/bitcoin-core/src/script/parsing.cpp
    functionUses: 1
    functionsReached:
    - end
    - size
    - begin
    - subspan
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool Const(const std::string& str, std::span<const char>& sp, bool
      skip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/parsing.cpp:27,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:27,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:27,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' sp'
    argTypes:
    - std::string
    - std::span<const char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: script::Func
    functionSourceFile: /src/bitcoin-core/src/script/parsing.cpp
    functionUses: 1
    functionsReached:
    - end
    - size
    - begin
    - subspan
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool Func(const std::string& str, std::span<const char>& sp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:36,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/parsing.cpp:37,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/parsing.cpp:47,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:47,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/parsing.cpp:48,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:48,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - ' sp'
    argTypes:
    - std::span<const char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: script::Expr
    functionSourceFile: /src/bitcoin-core/src/script/parsing.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - first
    - subspan
    linkageType: ''
    returnType: std::span<const char>
    signature: std::span<const char> Expr(std::span<const char>& sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:17,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/parsing.cpp:18,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:18,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' str'
    - ' sp'
    - skip
    argTypes:
    - std::string
    - std::span<const char>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: script::Const
    functionSourceFile: /src/bitcoin-core/src/script/parsing.cpp
    functionUses: 1
    functionsReached:
    - end
    - size
    - begin
    - subspan
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool Const(const std::string& str, std::span<const char>& sp, bool
      skip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:26,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/parsing.cpp:27,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:27,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:27,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/parsing.cpp:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' sp'
    argTypes:
    - std::string
    - std::span<const char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: script::Func
    functionSourceFile: /src/bitcoin-core/src/script/parsing.cpp
    functionUses: 1
    functionsReached:
    - end
    - size
    - begin
    - subspan
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool Func(const std::string& str, std::span<const char>& sp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:36,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/parsing.cpp:37,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/parsing.cpp:47,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:47,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/parsing.cpp:48,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/parsing.cpp:48,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - ' sp'
    argTypes:
    - std::span<const char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: script::Expr
    functionSourceFile: /src/bitcoin-core/src/script/parsing.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - first
    - subspan
    linkageType: ''
    returnType: std::span<const char>
    signature: std::span<const char> Expr(std::span<const char>& sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash160
      Src: /src/bitcoin-core/src/script/script.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: CScriptID::CScriptID
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 1
    functionsReached:
    - Hash160
    linkageType: ''
    returnType: void
    signature: void CScriptID::CScriptID(const CScript& in)
  - BBCount: 115
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 231
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - opcodetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 157
    functionName: GetOpName
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetOpName(opcodetype opcode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/script.cpp:162,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.cpp:164,1
    - Dst: CScript::GetOp
      Src: /src/bitcoin-core/src/script/script.cpp:167,1
    - Dst: CScript::DecodeOP_N
      Src: /src/bitcoin-core/src/script/script.cpp:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - fAccurate
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 181
    functionName: CScript::GetSigOpCount
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 3
    functionsReached:
    - end
    - CScript::DecodeOP_N
    - CScript::GetOp
    - begin
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CScript::GetSigOpCount(bool fAccurate) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CScript::IsPayToScriptHash
      Src: /src/bitcoin-core/src/script/script.cpp:185,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/script/script.cpp:186,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/script.cpp:191,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.cpp:193,1
    - Dst: CScript::GetOp
      Src: /src/bitcoin-core/src/script/script.cpp:196,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/script.cpp:203,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/script.cpp:203,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/script/script.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' scriptSig'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 205
    functionName: CScript::GetSigOpCount
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 4
    functionsReached:
    - end
    - std::vector::end
    - CScript::GetOp
    - std::vector::begin
    - CScript::GetSigOpCount
    - CScript::IsPayToScriptHash
    - begin
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CScript::GetSigOpCount(const CScript& scriptSig) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/script/script.cpp:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: CScript::IsPayToAnchor
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 6
    functionsReached:
    - CScript::size
    linkageType: ''
    returnType: bool
    signature: bool CScript::IsPayToAnchor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.cpp:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - version
    - ' program'
    argTypes:
    - int
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: CScript::IsPayToAnchor
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 6
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CScript::IsPayToAnchor(int version, const std::vector<unsigned
      char>& program)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/script/script.cpp:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: CScript::IsPayToScriptHash
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 5
    functionsReached:
    - CScript::size
    linkageType: ''
    returnType: bool
    signature: bool CScript::IsPayToScriptHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/script/script.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: CScript::IsPayToWitnessScriptHash
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 7
    functionsReached:
    - CScript::size
    linkageType: ''
    returnType: bool
    signature: bool CScript::IsPayToWitnessScriptHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/script/script.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: CScript::IsPayToTaproot
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 0
    functionsReached:
    - CScript::size
    linkageType: ''
    returnType: bool
    signature: bool CScript::IsPayToTaproot() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/script/script.cpp:252,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/script/script.cpp:252,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/script/script.cpp:258,1
    - Dst: CScript::DecodeOP_N
      Src: /src/bitcoin-core/src/script/script.cpp:259,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/script.cpp:260,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/script/script.cpp:260,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/script/script.cpp:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ' version'
    - ' program'
    argTypes:
    - int
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: CScript::IsWitnessProgram
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 3
    functionsReached:
    - std::vector<unsigned char>
    - CScript::size
    - CScript::DecodeOP_N
    - CScript::end
    - CScript::begin
    linkageType: ''
    returnType: bool
    signature: bool CScript::IsWitnessProgram(int& version, std::vector<unsigned char>&
      program) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.cpp:268,1
    - Dst: CScript::GetOp
      Src: /src/bitcoin-core/src/script/script.cpp:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: CScript::IsPushOnly
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 1
    functionsReached:
    - end
    - CScript::GetOp
    linkageType: ''
    returnType: bool
    signature: bool CScript::IsPushOnly(const_iterator pc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::IsPushOnly
      Src: /src/bitcoin-core/src/script/script.cpp:285,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/script.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: CScript::IsPushOnly
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 2
    functionsReached:
    - CScript::IsPushOnly
    - begin
    linkageType: ''
    returnType: bool
    signature: bool CScript::IsPushOnly() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.cpp:291,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/script.cpp:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: CScriptWitness::ToString
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string CScriptWitness::ToString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/script.cpp:302,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.cpp:303,1
    - Dst: CScript::GetOp
      Src: /src/bitcoin-core/src/script/script.cpp:306,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/script.cpp:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: CScript::HasValidOps
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 2
    functionsReached:
    - end
    - CScript::GetOp
    - begin
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool CScript::HasValidOps() const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>*::clear
      Src: /src/bitcoin-core/src/script/script.cpp:317,1
    - Dst: ReadLE16
      Src: /src/bitcoin-core/src/script/script.cpp:344,1
    - Dst: ReadLE32
      Src: /src/bitcoin-core/src/script/script.cpp:351,1
    - Dst: std::vector<unsigned char>*::assign
      Src: /src/bitcoin-core/src/script/script.cpp:357,1
    - Dst: static_cast<opcodetype>
      Src: /src/bitcoin-core/src/script/script.cpp:361,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - ' pc'
    - end
    - ' opcodeRet'
    - pvchRet
    argTypes:
    - CScriptBase::const_iterator
    - CScriptBase::const_iterator
    - opcodetype
    - std::vector<unsigned char>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 363
    functionName: GetScriptOp
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    - std::vector<unsigned char>*::clear
    - std::vector<unsigned char>*::assign
    - ReadLE16
    - static_cast<opcodetype>
    linkageType: ''
    returnType: bool
    signature: bool GetScriptOp(CScriptBase::const_iterator& pc, CScriptBase::const_iterator
      end, opcodetype& opcodeRet, std::vector<unsigned char>* pvchRet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - ' opcode'
    argTypes:
    - opcodetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: IsOpSuccess
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOpSuccess(const opcodetype& opcode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/script.cpp:375,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.cpp:376,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.cpp:379,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.cpp:382,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.cpp:385,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.cpp:387,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.cpp:388,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.cpp:391,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - ' data'
    - opcode
    argTypes:
    - std::vector<unsigned char>
    - opcodetype
    assertStmts:
    - condition: (0 <= opcode && opcode <= OP_PUSHDATA4)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/bitcoin-core/src/script/script.cpp
    constantsTouched: []
    func_position:
      end: 396
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 396
    functionName: CheckMinimalPush
    functionSourceFile: /src/bitcoin-core/src/script/script.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckMinimalPush(const std::vector<unsigned char>& data, opcodetype
      opcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/script/sigcache.cpp:22,1
    - Dst: Write
      Src: /src/bitcoin-core/src/script/sigcache.cpp:29,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/script/sigcache.cpp:29,1
    - Dst: Write
      Src: /src/bitcoin-core/src/script/sigcache.cpp:30,1
    - Dst: Write
      Src: /src/bitcoin-core/src/script/sigcache.cpp:31,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/script/sigcache.cpp:31,1
    - Dst: Write
      Src: /src/bitcoin-core/src/script/sigcache.cpp:32,1
    - Dst: setup_bytes
      Src: /src/bitcoin-core/src/script/sigcache.cpp:34,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/script/sigcache.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - max_size_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: SignatureCache::SignatureCache
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.cpp
    functionUses: 0
    functionsReached:
    - uint256::begin
    - GetRandHash
    - LogInfo
    - setup_bytes
    - Write
    linkageType: ''
    returnType: void
    signature: void SignatureCache::SignatureCache(const size_t max_size_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/script/sigcache.cpp:42,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/sigcache.cpp:42,1
    - Dst: data
      Src: /src/bitcoin-core/src/script/sigcache.cpp:42,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/sigcache.cpp:42,1
    - Dst: data
      Src: /src/bitcoin-core/src/script/sigcache.cpp:42,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/sigcache.cpp:42,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/sigcache.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' entry'
    - ' hash'
    - ' vchSig'
    - ' pubkey'
    argTypes:
    - uint256
    - uint256
    - std::vector<unsigned char>
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: SignatureCache::ComputeEntryECDSA
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.cpp
    functionUses: 0
    functionsReached:
    - data
    - CSHA256::Write
    - begin
    - size
    linkageType: ''
    returnType: void
    signature: void SignatureCache::ComputeEntryECDSA(uint256& entry, const uint256&
      hash, const std::vector<unsigned char>& vchSig, const CPubKey& pubkey) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/script/sigcache.cpp:48,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/sigcache.cpp:48,1
    - Dst: data
      Src: /src/bitcoin-core/src/script/sigcache.cpp:48,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/sigcache.cpp:48,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/script/sigcache.cpp:48,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/sigcache.cpp:48,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/sigcache.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' entry'
    - ' hash'
    - sig
    - ' pubkey'
    argTypes:
    - uint256
    - uint256
    - std::span<const unsigned char>
    - XOnlyPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: SignatureCache::ComputeEntrySchnorr
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - std::span<const unsigned char>::data
    - size
    - data
    - CSHA256::Write
    - begin
    linkageType: ''
    returnType: void
    signature: void SignatureCache::ComputeEntrySchnorr(uint256& entry, const uint256&
      hash, std::span<const unsigned char> sig, const XOnlyPubKey& pubkey) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/bitcoin-core/src/script/sigcache.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' entry'
    - erase
    argTypes:
    - uint256
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: SignatureCache::Get
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.cpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool SignatureCache::Get(const uint256& entry, const bool erase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/script/sigcache.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: SignatureCache::Set
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void SignatureCache::Set(const uint256& entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/sigcache.cpp:65,1
    - Dst: ComputeEntryECDSA
      Src: /src/bitcoin-core/src/script/sigcache.cpp:66,1
    - Dst: Get
      Src: /src/bitcoin-core/src/script/sigcache.cpp:67,1
    - Dst: CachingTransactionSignatureChecker::VerifyECDSASignature
      Src: /src/bitcoin-core/src/script/sigcache.cpp:69,1
    - Dst: Set
      Src: /src/bitcoin-core/src/script/sigcache.cpp:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' vchSig'
    - ' pubkey'
    - ' sighash'
    argTypes:
    - std::vector<unsigned char>
    - CPubKey
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: CachingTransactionSignatureChecker::VerifyECDSASignature
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.cpp
    functionUses: 1
    functionsReached:
    - CachingTransactionSignatureChecker::VerifyECDSASignature
    - ComputeEntryECDSA
    - Set
    - uint256::uint256
    - Get
    linkageType: ''
    returnType: bool
    signature: bool CachingTransactionSignatureChecker::VerifyECDSASignature(const
      std::vector<unsigned char>& vchSig, const CPubKey& pubkey, const uint256& sighash)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/sigcache.cpp:78,1
    - Dst: ComputeEntrySchnorr
      Src: /src/bitcoin-core/src/script/sigcache.cpp:79,1
    - Dst: Get
      Src: /src/bitcoin-core/src/script/sigcache.cpp:80,1
    - Dst: CachingTransactionSignatureChecker::VerifySchnorrSignature
      Src: /src/bitcoin-core/src/script/sigcache.cpp:81,1
    - Dst: Set
      Src: /src/bitcoin-core/src/script/sigcache.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sig
    - ' pubkey'
    - ' sighash'
    argTypes:
    - std::span<const unsigned char>
    - XOnlyPubKey
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: CachingTransactionSignatureChecker::VerifySchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/script/sigcache.cpp
    functionUses: 1
    functionsReached:
    - ComputeEntrySchnorr
    - CachingTransactionSignatureChecker::VerifySchnorrSignature
    - Set
    - uint256::uint256
    - Get
    linkageType: ''
    returnType: bool
    signature: bool CachingTransactionSignatureChecker::VerifySchnorrSignature(std::span<const
      unsigned char> sig, const XOnlyPubKey& pubkey, const uint256& sighash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: PrecomputedTransactionData
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecomputedTransactionData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' scriptSig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: BaseSignatureChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& scriptSig,
      const std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion
      sigversion) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - pubkey
    - sigversion
    - ' execdata'
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    - SigVersion
    - ScriptExecutionData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: BaseSignatureChecker::CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion sigversion, ScriptExecutionData& execdata,
      ScriptError* serror = nullptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nLockTime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: BaseSignatureChecker::CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& nLockTime) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nSequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: BaseSignatureChecker::CheckSequence
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& nSequence) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: ~BaseSignatureChecker()
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseSignatureChecker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - txToIn
    - nInIn
    - ' amountIn'
    - mdb
    argTypes:
    - T*
    - unsigned int
    - CAmount
    - MissingDataBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: GenericTransactionSignatureChecker::GenericTransactionSignatureChecker
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericTransactionSignatureChecker(const T* txToIn, unsigned int
      nInIn, const CAmount& amountIn, MissingDataBehavior mdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - txToIn
    - nInIn
    - ' amountIn'
    - ' txdataIn'
    - mdb
    argTypes:
    - T*
    - unsigned int
    - CAmount
    - PrecomputedTransactionData
    - MissingDataBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: GenericTransactionSignatureChecker::GenericTransactionSignatureChecker
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericTransactionSignatureChecker(const T* txToIn, unsigned int
      nInIn, const CAmount& amountIn, const PrecomputedTransactionData& txdataIn,
      MissingDataBehavior mdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' checker'
    argTypes:
    - BaseSignatureChecker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: DeferringSignatureChecker::DeferringSignatureChecker
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeferringSignatureChecker(const BaseSignatureChecker& checker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeferringSignatureChecker::CheckECDSASignature
      Src: /src/bitcoin-core/src/script/interpreter.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' scriptSig'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: DeferringSignatureChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 1
    functionsReached:
    - DeferringSignatureChecker::CheckECDSASignature
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& scriptSig,
      const std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion
      sigversion) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeferringSignatureChecker::CheckSchnorrSignature
      Src: /src/bitcoin-core/src/script/interpreter.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - pubkey
    - sigversion
    - ' execdata'
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    - SigVersion
    - ScriptExecutionData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: DeferringSignatureChecker::CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 1
    functionsReached:
    - DeferringSignatureChecker::CheckSchnorrSignature
    linkageType: ''
    returnType: bool
    signature: bool CheckSchnorrSignature(std::span<const unsigned char> sig, std::span<const
      unsigned char> pubkey, SigVersion sigversion, ScriptExecutionData& execdata,
      ScriptError* serror = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeferringSignatureChecker::CheckLockTime
      Src: /src/bitcoin-core/src/script/interpreter.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nLockTime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: DeferringSignatureChecker::CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 1
    functionsReached:
    - DeferringSignatureChecker::CheckLockTime
    linkageType: ''
    returnType: bool
    signature: bool CheckLockTime(const CScriptNum& nLockTime) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeferringSignatureChecker::CheckSequence
      Src: /src/bitcoin-core/src/script/interpreter.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nSequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: DeferringSignatureChecker::CheckSequence
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.h
    functionUses: 1
    functionsReached:
    - DeferringSignatureChecker::CheckSequence
    linkageType: ''
    returnType: bool
    signature: bool CheckSequence(const CScriptNum& nSequence) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ret
    argTypes:
    - ScriptError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: set_success
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool set_success(ScriptError* ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ret
    - serror
    argTypes:
    - ScriptError*
    - ScriptError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: set_error
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool set_error(ScriptError* ret, const ScriptError serror)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ret
    argTypes:
    - ScriptError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: set_success
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool set_success(ScriptError* ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ret
    - serror
    argTypes:
    - ScriptError*
    - ScriptError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: set_error
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool set_error(ScriptError* ret, const ScriptError serror)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:37,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - valtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: CastToBool
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CastToBool(const valtype& vch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: stacktop
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stacktop(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: altstacktop
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: altstacktop(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:58,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:59,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' stack'
    argTypes:
    - std::vector<valtype>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: popstack
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - std::runtime_error
    - empty
    linkageType: ''
    returnType: void
    signature: void popstack(std::vector<valtype>& stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:64,1
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:69,1
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - vchPubKey
    argTypes:
    - valtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: IsCompressedOrUncompressedPubKey
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - valtype::size
    linkageType: ''
    returnType: bool
    signature: bool IsCompressedOrUncompressedPubKey(const valtype &vchPubKey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vchPubKey
    argTypes:
    - valtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: IsCompressedPubKey
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - valtype::size
    linkageType: ''
    returnType: bool
    signature: bool IsCompressedPubKey(const valtype &vchPubKey)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:121,1
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:122,1
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:128,1
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:134,1
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:141,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 170
    functionName: IsValidSignatureEncoding
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>::size
    linkageType: ''
    returnType: bool
    signature: bool IsValidSignatureEncoding(const std::vector<unsigned char> &sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsValidSignatureEncoding
      Src: /src/bitcoin-core/src/script/interpreter.cpp:173,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:174,1
    - Dst: valtype::begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:179,1
    - Dst: valtype::begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:179,1
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:179,1
    - Dst: CPubKey::CheckLowS
      Src: /src/bitcoin-core/src/script/interpreter.cpp:183,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vchSig
    - serror
    argTypes:
    - valtype
    - ScriptError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: IsLowDERSignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - IsValidSignatureEncoding
    - CPubKey::CheckLowS
    - valtype::size
    - set_error
    - valtype::begin
    linkageType: ''
    returnType: bool
    signature: bool IsLowDERSignature(const valtype &vchSig, ScriptError* serror)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:190,1
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - vchSig
    argTypes:
    - valtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: IsDefinedHashtypeSignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - valtype::size
    linkageType: ''
    returnType: bool
    signature: bool IsDefinedHashtypeSignature(const valtype &vchSig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:203,1
    - Dst: IsValidSignatureEncoding
      Src: /src/bitcoin-core/src/script/interpreter.cpp:206,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:207,1
    - Dst: IsLowDERSignature
      Src: /src/bitcoin-core/src/script/interpreter.cpp:208,1
    - Dst: IsDefinedHashtypeSignature
      Src: /src/bitcoin-core/src/script/interpreter.cpp:211,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - vchSig
    - flags
    - serror
    argTypes:
    - std::vector<unsigned char>
    - unsigned int
    - ScriptError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: CheckSignatureEncoding
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 2
    functionsReached:
    - IsValidSignatureEncoding
    - IsLowDERSignature
    - std::vector<unsigned char>::size
    - set_error
    - IsDefinedHashtypeSignature
    linkageType: ''
    returnType: bool
    signature: bool CheckSignatureEncoding(const std::vector<unsigned char> &vchSig,
      unsigned int flags, ScriptError* serror)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsCompressedOrUncompressedPubKey
      Src: /src/bitcoin-core/src/script/interpreter.cpp:218,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:219,1
    - Dst: IsCompressedPubKey
      Src: /src/bitcoin-core/src/script/interpreter.cpp:222,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - vchPubKey
    - flags
    - sigversion
    - serror
    argTypes:
    - valtype
    - unsigned int
    - SigVersion
    - ScriptError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: CheckPubKeyEncoding
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - set_error
    - IsCompressedPubKey
    - IsCompressedOrUncompressedPubKey
    linkageType: ''
    returnType: bool
    signature: bool CheckPubKeyEncoding(const valtype &vchPubKey, unsigned int flags,
      const SigVersion &sigversion, ScriptError* serror)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:231,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:233,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:234,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:234,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:234,1
    - Dst: CScript::insert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:238,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:238,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/script/interpreter.cpp:239,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:239,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/script/interpreter.cpp:239,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:239,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:239,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:241,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/interpreter.cpp:246,1
    - Dst: CScript::insert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:249,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:249,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/interpreter.cpp:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' script'
    - ' b'
    argTypes:
    - CScript
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: FindAndDelete
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 2
    functionsReached:
    - end
    - static_cast<size_t>
    - empty
    - begin
    - CScript::end
    - size
    - std::move
    - std::equal
    - GetOp
    - CScript::insert
    - CScript::CScript
    linkageType: ''
    returnType: int
    signature: int FindAndDelete(CScript& script, const CScript& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: ConditionStack::empty
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: ConditionStack::all_true
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool all_true() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: ConditionStack::push_back
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void push_back(bool f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stack_size > 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: ConditionStack::pop_back
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stack_size > 0)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: ConditionStack::toggle_top
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void toggle_top()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: ConditionStack::empty
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: ConditionStack::all_true
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool all_true() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: ConditionStack::push_back
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void push_back(bool f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stack_size > 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: ConditionStack::pop_back
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stack_size > 0)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: ConditionStack::toggle_top
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void toggle_top()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:322,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/script/interpreter.cpp:329,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:329,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:331,1
    - Dst: CheckSignatureEncoding
      Src: /src/bitcoin-core/src/script/interpreter.cpp:334,1
    - Dst: CheckPubKeyEncoding
      Src: /src/bitcoin-core/src/script/interpreter.cpp:334,1
    - Dst: CheckECDSASignature
      Src: /src/bitcoin-core/src/script/interpreter.cpp:338,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:340,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:341,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 9
    argNames:
    - ' vchSig'
    - ' vchPubKey'
    - pbegincodehash
    - pend
    - flags
    - ' checker'
    - sigversion
    - serror
    - ' fSuccess'
    argTypes:
    - valtype
    - valtype
    - CScript::const_iterator
    - CScript::const_iterator
    - unsigned int
    - BaseSignatureChecker
    - SigVersion
    - ScriptError*
    - bool
    assertStmts:
    - condition: (sigversion == SigVersion::BASE || sigversion == SigVersion::WITNESS_V0)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 344
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 344
    functionName: EvalChecksigPreTapscript
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - FindAndDelete
    - CheckPubKeyEncoding
    - CheckECDSASignature
    - size
    - set_error
    - CheckSignatureEncoding
    - CScript
    - assert
    linkageType: ''
    returnType: bool
    signature: bool EvalChecksigPreTapscript(const valtype& vchSig, const valtype&
      vchPubKey, CScript::const_iterator pbegincodehash, CScript::const_iterator pend,
      unsigned int flags, const BaseSignatureChecker& checker, SigVersion sigversion,
      ScriptError* serror, bool& fSuccess)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:348,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:356,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:360,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:363,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:366,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:367,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:368,1
    - Dst: CheckSchnorrSignature
      Src: /src/bitcoin-core/src/script/interpreter.cpp:369,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ' sig'
    - ' pubkey'
    - ' execdata'
    - flags
    - ' checker'
    - sigversion
    - serror
    - ' success'
    argTypes:
    - valtype
    - valtype
    - ScriptExecutionData
    - unsigned int
    - BaseSignatureChecker
    - SigVersion
    - ScriptError*
    - bool
    assertStmts:
    - condition: (sigversion == SigVersion::TAPSCRIPT)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (execdata.m_validation_weight_left_init)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 384
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 384
    functionName: EvalChecksigTapscript
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - set_error
    - assert
    - CheckSchnorrSignature
    linkageType: ''
    returnType: bool
    signature: bool EvalChecksigTapscript(const valtype& sig, const valtype& pubkey,
      ScriptExecutionData& execdata, unsigned int flags, const BaseSignatureChecker&
      checker, SigVersion sigversion, ScriptError* serror, bool& success)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EvalChecksigPreTapscript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:396,1
    - Dst: EvalChecksigTapscript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:398,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 10
    argNames:
    - ' sig'
    - ' pubkey'
    - pbegincodehash
    - pend
    - ' execdata'
    - flags
    - ' checker'
    - sigversion
    - serror
    - ' success'
    argTypes:
    - valtype
    - valtype
    - CScript::const_iterator
    - CScript::const_iterator
    - ScriptExecutionData
    - unsigned int
    - BaseSignatureChecker
    - SigVersion
    - ScriptError*
    - bool
    assertStmts:
    - condition: (false)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: EvalChecksig
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - EvalChecksigPreTapscript
    - assert
    - EvalChecksigTapscript
    linkageType: ''
    returnType: bool
    signature: bool EvalChecksig(const valtype& sig, const valtype& pubkey, CScript::const_iterator
      pbegincodehash, CScript::const_iterator pend, ScriptExecutionData& execdata,
      unsigned int flags, const BaseSignatureChecker& checker, SigVersion sigversion,
      ScriptError* serror, bool& success)
  - BBCount: 205
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:417,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:419,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:420,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:421,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:426,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:427,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:428,1
    - Dst: ConditionStack::all_true
      Src: /src/bitcoin-core/src/script/interpreter.cpp:439,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/interpreter.cpp:444,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:445,1
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:446,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:447,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:452,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:471,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:475,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/interpreter.cpp:478,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:479,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:481,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:508,1
    - Dst: CScriptNum::getvch
      Src: /src/bitcoin-core/src/script/interpreter.cpp:508,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:528,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:529,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:545,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:551,1
    - Dst: CheckLockTime
      Src: /src/bitcoin-core/src/script/interpreter.cpp:554,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:555,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:567,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:568,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:573,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:579,1
    - Dst: CheckSequence
      Src: /src/bitcoin-core/src/script/interpreter.cpp:588,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:589,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:598,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:609,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:610,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:611,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:616,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:616,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:617,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:622,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:623,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:624,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:625,1
    - Dst: CastToBool
      Src: /src/bitcoin-core/src/script/interpreter.cpp:627,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:630,1
    - Dst: ConditionStack::push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:632,1
    - Dst: ConditionStack::empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:638,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:639,1
    - Dst: ConditionStack::toggle_top
      Src: /src/bitcoin-core/src/script/interpreter.cpp:640,1
    - Dst: ConditionStack::empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:646,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:647,1
    - Dst: ConditionStack::pop_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:648,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:656,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:657,1
    - Dst: CastToBool
      Src: /src/bitcoin-core/src/script/interpreter.cpp:658,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:658,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:660,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:662,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:668,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:678,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:679,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:680,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:680,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:681,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:687,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:688,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:689,1
    - Dst: altstacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:689,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:690,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:697,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:698,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:699,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:700,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:707,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:708,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:709,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:710,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:711,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:712,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:719,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:720,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:721,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:722,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:723,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:724,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:725,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:726,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:733,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:734,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:735,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:736,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:737,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:738,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:745,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:746,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:747,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:748,1
    - Dst: erase
      Src: /src/bitcoin-core/src/script/interpreter.cpp:749,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:749,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:749,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:750,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:751,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:758,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:759,1
    - Dst: swap
      Src: /src/bitcoin-core/src/script/interpreter.cpp:760,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:760,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:760,1
    - Dst: swap
      Src: /src/bitcoin-core/src/script/interpreter.cpp:761,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:761,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:761,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:768,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:769,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:770,1
    - Dst: CastToBool
      Src: /src/bitcoin-core/src/script/interpreter.cpp:771,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:772,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:779,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:780,1
    - Dst: CScriptNum::getvch
      Src: /src/bitcoin-core/src/script/interpreter.cpp:780,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:787,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:788,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:789,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:796,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:797,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:798,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:799,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:806,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:807,1
    - Dst: erase
      Src: /src/bitcoin-core/src/script/interpreter.cpp:808,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:808,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:815,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:816,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:817,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:818,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:827,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:828,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/interpreter.cpp:829,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:829,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:830,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:831,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:832,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:833,1
    - Dst: erase
      Src: /src/bitcoin-core/src/script/interpreter.cpp:835,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:835,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:836,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:845,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:846,1
    - Dst: swap
      Src: /src/bitcoin-core/src/script/interpreter.cpp:847,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:847,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:847,1
    - Dst: swap
      Src: /src/bitcoin-core/src/script/interpreter.cpp:848,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:848,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:848,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:855,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:856,1
    - Dst: swap
      Src: /src/bitcoin-core/src/script/interpreter.cpp:857,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:857,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:857,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:864,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:865,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:866,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:867,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:867,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:875,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:876,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:878,1
    - Dst: CScriptNum::getvch
      Src: /src/bitcoin-core/src/script/interpreter.cpp:878,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:891,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:892,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:893,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:894,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:901,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:902,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:903,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:907,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:909,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:926,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:927,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:928,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:937,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:939,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:940,1
    - Dst: CScriptNum::getvch
      Src: /src/bitcoin-core/src/script/interpreter.cpp:940,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:959,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:960,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:961,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:962,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:985,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:987,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:988,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:989,1
    - Dst: CScriptNum::getvch
      Src: /src/bitcoin-core/src/script/interpreter.cpp:989,1
    - Dst: CastToBool
      Src: /src/bitcoin-core/src/script/interpreter.cpp:993,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:993,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:994,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:996,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1004,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1005,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1006,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1007,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1008,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1010,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1011,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1012,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1013,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1028,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1029,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1030,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1033,1
    - Dst: valtype::data
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1033,1
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1033,1
    - Dst: valtype::data
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1033,1
    - Dst: CSHA1
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1035,1
    - Dst: valtype::data
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1035,1
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1035,1
    - Dst: valtype::data
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1035,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1037,1
    - Dst: valtype::data
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1037,1
    - Dst: valtype::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1037,1
    - Dst: valtype::data
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1037,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1039,1
    - Dst: CHash256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1041,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1042,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1043,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1062,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1063,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1065,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1066,1
    - Dst: EvalChecksig
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1069,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1070,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1071,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1072,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1076,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1078,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1086,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1089,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1089,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1091,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1092,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1093,1
    - Dst: EvalChecksig
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1096,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1097,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1098,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1099,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1100,1
    - Dst: getvch
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1100,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1107,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1112,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1113,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1115,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1115,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1117,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1120,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1126,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1127,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1129,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1129,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1131,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1134,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1135,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1143,1
    - Dst: FindAndDelete
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1145,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1145,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1147,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1154,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1155,1
    - Dst: CheckSignatureEncoding
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1160,1
    - Dst: CheckPubKeyEncoding
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1160,1
    - Dst: CheckECDSASignature
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1166,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1185,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1186,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1189,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1198,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1199,1
    - Dst: stacktop
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1200,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1201,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1202,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1204,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1209,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1211,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1217,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1221,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1221,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1222,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1227,1
    - Dst: ConditionStack::empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1230,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1231,1
    - Dst: set_success
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1233,1
    CyclomaticComplexity: 212
    EdgeCount: 212
    ICount: 522
    argCount: 7
    argNames:
    - ' stack'
    - ' script'
    - flags
    - ' checker'
    - sigversion
    - ' execdata'
    - serror
    argTypes:
    - std::vector<std::vector<unsigned char> >
    - CScript
    - unsigned int
    - BaseSignatureChecker
    - SigVersion
    - ScriptExecutionData
    - ScriptError*
    assertStmts:
    - condition: (sigversion == SigVersion::BASE || sigversion == SigVersion::WITNESS_V0
        || sigversion == SigVersion::TAPSCRIPT)
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (!"invalid opcode")
      pos:
        line_end: 984
        line_start: 984
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (!"invalid opcode")
      pos:
        line_end: 936
        line_start: 936
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 1234
      start: 406
    functionDepth: 6
    functionLinenumber: 406
    functionLinenumberEnd: 1234
    functionName: EvalScript
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 9
    functionsReached:
    - ConditionStack::push_back
    - FindAndDelete
    - popstack
    - CheckLockTime
    - ConditionStack::toggle_top
    - ConditionStack::all_true
    - swap
    - std::vector::push_back
    - CRIPEMD160
    - valtype::data
    - altstacktop
    - EvalChecksig
    - CScriptNum
    - CHash256
    - insert
    - CastToBool
    - CHash160
    - set_success
    - CheckSequence
    - std::vector::size
    - CheckPubKeyEncoding
    - CheckECDSASignature
    - CSHA1
    - CSHA256
    - CScriptNum::getvch
    - CheckSignatureEncoding
    - ConditionStack::empty
    - ConditionStack::pop_back
    - assert
    - end
    - CheckMinimalPush
    - erase
    - push_back
    - stacktop
    - getvch
    - size
    - valtype::size
    - set_error
    - CScript
    - GetOp
    - begin
    linkageType: ''
    returnType: bool
    signature: bool EvalScript(std::vector<std::vector<unsigned char> >& stack, const
      CScript& script, unsigned int flags, const BaseSignatureChecker& checker, SigVersion
      sigversion, ScriptExecutionData& execdata, ScriptError* serror)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' stack'
    - ' script'
    - flags
    - ' checker'
    - sigversion
    - serror
    argTypes:
    - std::vector<std::vector<unsigned char> >
    - CScript
    - unsigned int
    - BaseSignatureChecker
    - SigVersion
    - ScriptError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1240
    functionName: EvalScript
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 10
    functionsReached:
    - EvalScript
    linkageType: ''
    returnType: bool
    signature: bool EvalScript(std::vector<std::vector<unsigned char> >& stack, const
      CScript& script, unsigned int flags, const BaseSignatureChecker& checker, SigVersion
      sigversion, ScriptError* serror)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' txToIn'
    - ' scriptCodeIn'
    - nInIn
    - nHashTypeIn
    argTypes:
    - T
    - CScript
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1264
    functionName: CTransactionSignatureSerializer::CTransactionSignatureSerializer
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTransactionSignatureSerializer(const T& txToIn, const CScript&
      scriptCodeIn, unsigned int nInIn, int nHashTypeIn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1269,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1273,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1277,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1277,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1279,1
    - Dst: S::write
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1281,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1281,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1285,1
    - Dst: S::write
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1286,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1268
    functionDepth: 3
    functionLinenumber: 1268
    functionLinenumberEnd: 1287
    functionName: CTransactionSignatureSerializer::SerializeScriptCode
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - end
    - size
    - WriteCompactSize
    - S::write
    - std::as_bytes
    - GetOp
    - begin
    linkageType: ''
    returnType: void
    signature: void SerializeScriptCode(S &s) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1296,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1300,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1300,1
    - Dst: CTransactionSignatureSerializer::SerializeScriptCode
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1302,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1306,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - nInput
    argTypes:
    - S
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1291
    functionDepth: 4
    functionLinenumber: 1291
    functionLinenumberEnd: 1309
    functionName: CTransactionSignatureSerializer::SerializeInput
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - CTransactionSignatureSerializer::SerializeScriptCode
    - CScript
    - Wrapper::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeInput(S &s, unsigned int nInput) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1316,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1316,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - nOutput
    argTypes:
    - S
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1319
    functionName: CTransactionSignatureSerializer::SerializeOutput
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    - CTxOut
    linkageType: ''
    returnType: void
    signature: void SerializeOutput(S &s, unsigned int nOutput) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1325,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1327,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1328,1
    - Dst: CTransactionSignatureSerializer::SerializeInput
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1330,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1332,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1333,1
    - Dst: CTransactionSignatureSerializer::SerializeOutput
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1335,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1323
    functionDepth: 5
    functionLinenumber: 1323
    functionLinenumberEnd: 1338
    functionName: CTransactionSignatureSerializer::Serialize
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    - vout::size
    - WriteCompactSize
    - CTransactionSignatureSerializer::SerializeInput
    - CTransactionSignatureSerializer::SerializeOutput
    - vin::size
    linkageType: ''
    returnType: void
    signature: void Serialize(S &s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' txTo'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: GetPrevoutsSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetPrevoutsSHA256(const T& txTo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' txTo'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1361
    functionName: GetSequencesSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetSequencesSHA256(const T& txTo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' txTo'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1372
    functionName: GetOutputsSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetOutputsSHA256(const T& txTo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' outputs_spent'
    argTypes:
    - std::vector<CTxOut>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1375
    functionDepth: 2
    functionLinenumber: 1375
    functionLinenumberEnd: 1382
    functionName: GetSpentAmountsSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetSpentAmountsSHA256(const std::vector<CTxOut>& outputs_spent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' outputs_spent'
    argTypes:
    - std::vector<CTxOut>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1392
    functionName: GetSpentScriptsSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetSpentScriptsSHA256(const std::vector<CTxOut>& outputs_spent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' txToIn'
    - ' scriptCodeIn'
    - nInIn
    - nHashTypeIn
    argTypes:
    - T
    - CScript
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1264
    functionName: CTransactionSignatureSerializer::CTransactionSignatureSerializer
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTransactionSignatureSerializer(const T& txToIn, const CScript&
      scriptCodeIn, unsigned int nInIn, int nHashTypeIn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1269,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1273,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1277,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1277,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1279,1
    - Dst: S::write
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1281,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1281,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1285,1
    - Dst: S::write
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1286,1
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1268
    functionDepth: 3
    functionLinenumber: 1268
    functionLinenumberEnd: 1287
    functionName: CTransactionSignatureSerializer::SerializeScriptCode
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 1
    functionsReached:
    - end
    - size
    - WriteCompactSize
    - S::write
    - std::as_bytes
    - GetOp
    - begin
    linkageType: ''
    returnType: void
    signature: void SerializeScriptCode(S &s) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1296,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1300,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1300,1
    - Dst: CTransactionSignatureSerializer::SerializeScriptCode
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1302,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1306,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - nInput
    argTypes:
    - S
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1291
    functionDepth: 4
    functionLinenumber: 1291
    functionLinenumberEnd: 1309
    functionName: CTransactionSignatureSerializer::SerializeInput
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 1
    functionsReached:
    - CTransactionSignatureSerializer::SerializeScriptCode
    - CScript
    - Wrapper::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeInput(S &s, unsigned int nInput) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1316,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1316,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - nOutput
    argTypes:
    - S
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1319
    functionName: CTransactionSignatureSerializer::SerializeOutput
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 1
    functionsReached:
    - Wrapper::Serialize
    - CTxOut
    linkageType: ''
    returnType: void
    signature: void SerializeOutput(S &s, unsigned int nOutput) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1325,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1327,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1328,1
    - Dst: CTransactionSignatureSerializer::SerializeInput
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1330,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1332,1
    - Dst: WriteCompactSize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1333,1
    - Dst: CTransactionSignatureSerializer::SerializeOutput
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1335,1
    - Dst: Wrapper::Serialize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1323
    functionDepth: 5
    functionLinenumber: 1323
    functionLinenumberEnd: 1338
    functionName: CTransactionSignatureSerializer::Serialize
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - Wrapper::Serialize
    - vout::size
    - WriteCompactSize
    - CTransactionSignatureSerializer::SerializeInput
    - CTransactionSignatureSerializer::SerializeOutput
    - vin::size
    linkageType: ''
    returnType: void
    signature: void Serialize(S &s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' txTo'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: GetPrevoutsSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetPrevoutsSHA256(const T& txTo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' txTo'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1361
    functionName: GetSequencesSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetSequencesSHA256(const T& txTo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' txTo'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1372
    functionName: GetOutputsSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetOutputsSHA256(const T& txTo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' outputs_spent'
    argTypes:
    - std::vector<CTxOut>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1375
    functionDepth: 2
    functionLinenumber: 1375
    functionLinenumberEnd: 1382
    functionName: GetSpentAmountsSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetSpentAmountsSHA256(const std::vector<CTxOut>& outputs_spent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' outputs_spent'
    argTypes:
    - std::vector<CTxOut>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1392
    functionName: GetSpentScriptsSHA256
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - HashWriter::GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetSpentScriptsSHA256(const std::vector<CTxOut>& outputs_spent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1400,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1402,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1403,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1404,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1404,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1404,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1411,1
    - Dst: scriptWitness::IsNull
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1412,1
    - Dst: scriptPubKey::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1413,1
    - Dst: GetPrevoutsSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1432,1
    - Dst: GetSequencesSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1433,1
    - Dst: GetOutputsSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1434,1
    - Dst: SHA256Uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1437,1
    - Dst: SHA256Uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1438,1
    - Dst: SHA256Uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1439,1
    - Dst: GetSpentAmountsSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1443,1
    - Dst: GetSpentScriptsSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1444,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - ' txTo'
    - ' spent_outputs'
    - force
    argTypes:
    - T
    - std::vector<CTxOut>
    - bool
    assertStmts:
    - condition: (!m_spent_outputs_ready)
      pos:
        line_end: 1399
        line_start: 1399
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (m_spent_outputs.size() == txTo.vin.size())
      pos:
        line_end: 1403
        line_start: 1403
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 1447
      start: 1398
    functionDepth: 3
    functionLinenumber: 1398
    functionLinenumberEnd: 1447
    functionName: PrecomputedTransactionData::Init
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 10
    functionsReached:
    - GetSpentScriptsSHA256
    - empty
    - GetPrevoutsSHA256
    - GetSequencesSHA256
    - size
    - std::move
    - GetOutputsSHA256
    - scriptWitness::IsNull
    - scriptPubKey::size
    - SHA256Uint256
    - GetSpentAmountsSHA256
    - assert
    - vin::size
    linkageType: ''
    returnType: void
    signature: void PrecomputedTransactionData::Init(const T& txTo, std::vector<CTxOut>&&
      spent_outputs, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txTo'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1453
    functionName: PrecomputedTransactionData::PrecomputedTransactionData
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 12
    functionsReached:
    - PrecomputedTransactionData::Init
    linkageType: ''
    returnType: void
    signature: void PrecomputedTransactionData::PrecomputedTransactionData(const T&
      txTo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1469,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mdb
    argTypes:
    - MissingDataBehavior
    assertStmts:
    - condition: (!"Missing data")
      pos:
        line_end: 1468
        line_start: 1468
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (!"Unknown MissingDataBehavior value")
      pos:
        line_end: 1473
        line_start: 1473
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 1475
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1475
    functionName: HandleMissingData
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool HandleMissingData(MissingDataBehavior mdb)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1495,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1497,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1497,1
    - Dst: HandleMissingData
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1499,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1528,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1545,1
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1549,1
    - Dst: m_output_hash::value
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1551,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1556,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1559,1
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1563,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 8
    argNames:
    - ' hash_out'
    - ' execdata'
    - ' tx_to'
    - in_pos
    - hash_type
    - sigversion
    - ' cache'
    - mdb
    argTypes:
    - uint256
    - ScriptExecutionData
    - T
    - uint32_t
    - uint8_t
    - SigVersion
    - PrecomputedTransactionData
    - MissingDataBehavior
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1494
        line_start: 1494
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (in_pos < tx_to.vin.size())
      pos:
        line_end: 1496
        line_start: 1496
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (execdata.m_annex_init)
      pos:
        line_end: 1527
        line_start: 1527
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (execdata.m_tapleaf_hash_init)
      pos:
        line_end: 1555
        line_start: 1555
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (execdata.m_codeseparator_pos_init)
      pos:
        line_end: 1558
        line_start: 1558
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 1565
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1565
    functionName: SignatureHashSchnorr
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 2
    functionsReached:
    - m_output_hash::value
    - HandleMissingData
    - vout::size
    - HashWriter::GetSHA256
    - assert
    - vin::size
    linkageType: ''
    returnType: bool
    signature: bool SignatureHashSchnorr(uint256& hash_out, ScriptExecutionData& execdata,
      const T& tx_to, uint32_t in_pos, uint8_t hash_type, SigVersion sigversion, const
      PrecomputedTransactionData& cache, MissingDataBehavior mdb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1570,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1570,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1573,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1574,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1575,1
    - Dst: SHA256Uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1579,1
    - Dst: GetPrevoutsSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1579,1
    - Dst: SHA256Uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1583,1
    - Dst: GetSequencesSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1583,1
    - Dst: SHA256Uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1588,1
    - Dst: GetOutputsSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1588,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1589,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1592,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1615,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1620,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1632,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 7
    argNames:
    - ' scriptCode'
    - ' txTo'
    - nIn
    - nHashType
    - ' amount'
    - sigversion
    - cache
    argTypes:
    - CScript
    - T
    - unsigned int
    - int32_t
    - CAmount
    - SigVersion
    - PrecomputedTransactionData*
    assertStmts:
    - condition: (nIn < txTo.vin.size())
      pos:
        line_end: 1569
        line_start: 1569
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 1633
      start: 1568
    functionDepth: 3
    functionLinenumber: 1568
    functionLinenumberEnd: 1633
    functionName: SignatureHash
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 11
    functionsReached:
    - GetPrevoutsSHA256
    - GetSequencesSHA256
    - GetOutputsSHA256
    - vout::size
    - SHA256Uint256
    - HashWriter::GetHash
    - assert
    - uint256::uint256
    - vin::size
    linkageType: ''
    returnType: uint256
    signature: uint256 SignatureHash(const CScript& scriptCode, const T& txTo, unsigned
      int nIn, int32_t nHashType, const CAmount& amount, SigVersion sigversion, const
      PrecomputedTransactionData* cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verify
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' vchSig'
    - ' pubkey'
    - ' sighash'
    argTypes:
    - std::vector<unsigned char>
    - CPubKey
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1636
    functionDepth: 2
    functionLinenumber: 1636
    functionLinenumberEnd: 1639
    functionName: GenericTransactionSignatureChecker<T>::VerifyECDSASignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - Verify
    linkageType: ''
    returnType: bool
    signature: bool GenericTransactionSignatureChecker<T>::VerifyECDSASignature(const
      std::vector<unsigned char>& vchSig, const CPubKey& pubkey, const uint256& sighash)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifySchnorr
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sig
    - ' pubkey'
    - ' sighash'
    argTypes:
    - std::span<const unsigned char>
    - XOnlyPubKey
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: GenericTransactionSignatureChecker<T>::VerifySchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - VerifySchnorr
    linkageType: ''
    returnType: bool
    signature: bool GenericTransactionSignatureChecker<T>::VerifySchnorrSignature(std::span<const
      unsigned char> sig, const XOnlyPubKey& pubkey, const uint256& sighash) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1651,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1656,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1658,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1659,1
    - Dst: HandleMissingData
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1662,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1664,1
    - Dst: GenericTransactionSignatureChecker<T>::VerifyECDSASignature
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - ' vchSigIn'
    - ' vchPubKey'
    - ' scriptCode'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1670
    functionName: GenericTransactionSignatureChecker<T>::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - SignatureHash
    - std::vector::back
    - HandleMissingData
    - GenericTransactionSignatureChecker<T>::VerifyECDSASignature
    - std::vector::pop_back
    - std::vector::empty
    - CPubKey::IsValid
    linkageType: ''
    returnType: bool
    signature: bool GenericTransactionSignatureChecker<T>::CheckECDSASignature(const
      std::vector<unsigned char>& vchSigIn, const std::vector<unsigned char>& vchPubKey,
      const CScript& scriptCode, SigVersion sigversion) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1675,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1677,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1677,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1682,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1682,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1682,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1687,1
    - Dst: SpanPopBack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1688,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1689,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1691,1
    - Dst: HandleMissingData
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1692,1
    - Dst: SignatureHashSchnorr
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1693,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1694,1
    - Dst: GenericTransactionSignatureChecker<T>::VerifySchnorrSignature
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1696,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - sig
    - pubkey_in
    - sigversion
    - ' execdata'
    - serror
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    - SigVersion
    - ScriptExecutionData
    - ScriptError*
    assertStmts:
    - condition: (sigversion == SigVersion::TAPROOT || sigversion == SigVersion::TAPSCRIPT)
      pos:
        line_end: 1674
        line_start: 1674
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (pubkey_in.size() == 32)
      pos:
        line_end: 1676
        line_start: 1676
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 1698
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1698
    functionName: GenericTransactionSignatureChecker<T>::CheckSchnorrSignature
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - GenericTransactionSignatureChecker<T>::VerifySchnorrSignature
    - HandleMissingData
    - set_error
    - SignatureHashSchnorr
    - SpanPopBack
    - assert
    - uint256::uint256
    linkageType: ''
    returnType: bool
    signature: bool GenericTransactionSignatureChecker<T>::CheckSchnorrSignature(std::span<const
      unsigned char> sig, std::span<const unsigned char> pubkey_in, SigVersion sigversion,
      ScriptExecutionData& execdata, ScriptError* serror) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ' nLockTime'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1735
    functionName: GenericTransactionSignatureChecker<T>::CheckLockTime
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GenericTransactionSignatureChecker<T>::CheckLockTime(const CScriptNum&
      nLockTime) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - ' nSequence'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1782
    functionName: GenericTransactionSignatureChecker<T>::CheckSequence
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GenericTransactionSignatureChecker<T>::CheckSequence(const CScriptNum&
      nSequence) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1790,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1790,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1794,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1795,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1797,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1799,1
    - Dst: IsOpSuccess
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1802,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1804,1
    - Dst: set_success
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1806,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1811,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1811,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1816,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1816,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1820,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1823,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1823,1
    - Dst: CastToBool
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1824,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1824,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1824,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 7
    argNames:
    - ' stack_span'
    - ' exec_script'
    - flags
    - sigversion
    - ' checker'
    - ' execdata'
    - serror
    argTypes:
    - std::span<const valtype>
    - CScript
    - unsigned int
    - SigVersion
    - BaseSignatureChecker
    - ScriptExecutionData
    - ScriptError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1788
    functionDepth: 7
    functionLinenumber: 1788
    functionLinenumberEnd: 1826
    functionName: ExecuteWitnessScript
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::back
    - set_success
    - size
    - CastToBool
    - set_error
    - IsOpSuccess
    - GetOp
    - begin
    - std::vector::size
    - EvalScript
    linkageType: ''
    returnType: bool
    signature: bool ExecuteWitnessScript(const std::span<const valtype>& stack_span,
      const CScript& exec_script, unsigned int flags, SigVersion sigversion, const
      BaseSignatureChecker& checker, ScriptExecutionData& execdata, ScriptError* serror)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompactSizeWriter
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1830,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1830,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - leaf_version
    - script
    argTypes:
    - uint8_t
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1828
    functionDepth: 1
    functionLinenumber: 1828
    functionLinenumberEnd: 1831
    functionName: ComputeTapleafHash
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 2
    functionsReached:
    - std::span<const unsigned char>::size
    - CompactSizeWriter
    - GetSHA256
    linkageType: ''
    returnType: uint256
    signature: uint256 ComputeTapleafHash(uint8_t leaf_version, std::span<const unsigned
      char> script)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lexicographical_compare
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1836,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1836,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1836,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1836,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1836,1
    - Dst: HashWriter::GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::span<const unsigned char>
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1833
    functionDepth: 2
    functionLinenumber: 1833
    functionLinenumberEnd: 1842
    functionName: ComputeTapbranchHash
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 1
    functionsReached:
    - HashWriter::GetSHA256
    - std::span<const unsigned char>::begin
    - std::lexicographical_compare
    - std::span<const unsigned char>::end
    linkageType: ''
    returnType: uint256
    signature: uint256 ComputeTapbranchHash(std::span<const unsigned char> a, std::span<const
      unsigned char> b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1846,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1846,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1847,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1847,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1848,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1848,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1850,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1853,1
    - Dst: ComputeTapbranchHash
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - control
    - ' tapleaf_hash'
    argTypes:
    - std::span<const unsigned char>
    - uint256
    assertStmts:
    - condition: (control.size() >= TAPROOT_CONTROL_BASE_SIZE)
      pos:
        line_end: 1845
        line_start: 1845
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (control.size() <= TAPROOT_CONTROL_MAX_SIZE)
      pos:
        line_end: 1846
        line_start: 1846
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: ((control.size() - TAPROOT_CONTROL_BASE_SIZE) % TAPROOT_CONTROL_NODE_SIZE
        == 0)
      pos:
        line_end: 1847
        line_start: 1847
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 1857
      start: 1844
    functionDepth: 3
    functionLinenumber: 1844
    functionLinenumberEnd: 1857
    functionName: ComputeTaprootMerkleRoot
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - ComputeTapbranchHash
    - assert
    - subspan
    linkageType: ''
    returnType: uint256
    signature: uint256 ComputeTaprootMerkleRoot(std::span<const unsigned char> control,
      const uint256& tapleaf_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1861,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1861,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1862,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1862,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1862,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1864,1
    - Dst: ComputeTaprootMerkleRoot
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1868,1
    - Dst: XOnlyPubKey::CheckTapTweak
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' control'
    - ' program'
    - ' tapleaf_hash'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - uint256
    assertStmts:
    - condition: (control.size() >= TAPROOT_CONTROL_BASE_SIZE)
      pos:
        line_end: 1860
        line_start: 1860
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (program.size() >= uint256::size())
      pos:
        line_end: 1861
        line_start: 1861
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 1871
      start: 1859
    functionDepth: 4
    functionLinenumber: 1859
    functionLinenumberEnd: 1871
    functionName: VerifyTaprootCommitment
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - XOnlyPubKey::CheckTapTweak
    - size
    - ComputeTaprootMerkleRoot
    - secp256k1_strauss_scratch_size
    - assert
    - subspan
    linkageType: ''
    returnType: bool
    signature: bool VerifyTaprootCommitment(const std::vector<unsigned char>& control,
      const std::vector<unsigned char>& program, const uint256& tapleaf_hash)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1875,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1880,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1882,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1883,1
    - Dst: SpanPopBack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1885,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1886,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1886,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1886,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1887,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1888,1
    - Dst: CScript::data
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1888,1
    - Dst: CScript::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1888,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1888,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1889,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1889,1
    - Dst: data
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1889,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1890,1
    - Dst: ExecuteWitnessScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1892,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1893,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1895,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1896,1
    - Dst: ExecuteWitnessScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1899,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1901,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1903,1
    - Dst: set_success
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1905,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1906,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1906,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1907,1
    - Dst: std::span::back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1907,1
    - Dst: std::span::back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1907,1
    - Dst: SpanPopBack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1909,1
    - Dst: GetSHA256
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1910,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1916,1
    - Dst: CheckSchnorrSignature
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1918,1
    - Dst: std::span::front
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1918,1
    - Dst: set_success
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1921,1
    - Dst: SpanPopBack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1924,1
    - Dst: SpanPopBack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1925,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1926,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1926,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1926,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1927,1
    - Dst: ComputeTapleafHash
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1929,1
    - Dst: VerifyTaprootCommitment
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1930,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1931,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1936,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1936,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1936,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1937,1
    - Dst: ExecuteWitnessScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1939,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1942,1
    - Dst: set_success
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1944,1
    - Dst: CScript::IsPayToAnchor
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1946,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1950,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 7
    argNames:
    - ' witness'
    - witversion
    - ' program'
    - flags
    - ' checker'
    - serror
    - is_p2sh
    argTypes:
    - CScriptWitness
    - int
    - std::vector<unsigned char>
    - unsigned int
    - BaseSignatureChecker
    - ScriptError*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1873
    functionDepth: 8
    functionLinenumber: 1873
    functionLinenumberEnd: 1956
    functionName: VerifyWitnessProgram
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - VerifyTaprootCommitment
    - data
    - CScript::data
    - std::span::back
    - std::span::size
    - std::span::front
    - set_success
    - SpanPopBack
    - ExecuteWitnessScript
    - CheckSchnorrSignature
    - CScript::size
    - GetSerializeSize
    - CSHA256
    - memcmp
    - uint256::uint256
    - end
    - GetSHA256
    - uint256::begin
    - CScript::IsPayToAnchor
    - size
    - set_error
    - CScript
    - ComputeTapleafHash
    - begin
    - CScript::CScript
    linkageType: ''
    returnType: bool
    signature: bool VerifyWitnessProgram(const CScriptWitness& witness, int witversion,
      const std::vector<unsigned char>& program, unsigned int flags, const BaseSignatureChecker&
      checker, ScriptError* serror, bool is_p2sh)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1966,1
    - Dst: IsPushOnly
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1968,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1969,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1975,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1980,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1983,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1984,1
    - Dst: CastToBool
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1985,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1985,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1986,1
    - Dst: IsWitnessProgram
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1992,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1994,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1996,1
    - Dst: VerifyWitnessProgram
      Src: /src/bitcoin-core/src/script/interpreter.cpp:1998,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2003,1
    - Dst: IsPayToScriptHash
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2008,1
    - Dst: IsPushOnly
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2011,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2012,1
    - Dst: swap
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2015,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2020,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2020,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2022,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2023,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2023,1
    - Dst: popstack
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2024,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2026,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2029,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2030,1
    - Dst: CastToBool
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2031,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2031,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2032,1
    - Dst: CScript::IsWitnessProgram
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2036,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2038,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2038,1
    - Dst: CScript::begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2038,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2038,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2041,1
    - Dst: VerifyWitnessProgram
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2043,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2048,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2059,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2060,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2061,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2062,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2070,1
    - Dst: CScriptWitness*::IsNull
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2071,1
    - Dst: set_error
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2072,1
    - Dst: set_success
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2076,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 6
    argNames:
    - ' scriptSig'
    - ' scriptPubKey'
    - witness
    - flags
    - ' checker'
    - serror
    argTypes:
    - CScript
    - CScript
    - CScriptWitness*
    - unsigned int
    - BaseSignatureChecker
    - ScriptError*
    assertStmts:
    - condition: ((flags & SCRIPT_VERIFY_WITNESS) != 0)
      pos:
        line_end: 2059
        line_start: 2059
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: (!stack.empty())
      pos:
        line_end: 2019
        line_start: 2019
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: ((flags & SCRIPT_VERIFY_P2SH) != 0)
      pos:
        line_end: 2058
        line_start: 2058
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    - condition: ((flags & SCRIPT_VERIFY_P2SH) != 0)
      pos:
        line_end: 2069
        line_start: 2069
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 2077
      start: 1958
    functionDepth: 9
    functionLinenumber: 1958
    functionLinenumberEnd: 2077
    functionName: VerifyScript
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 24
    functionsReached:
    - popstack
    - swap
    - std::vector::back
    - CastToBool
    - set_success
    - std::vector::empty
    - std::vector::size
    - CScriptWitness*::IsNull
    - EvalScript
    - VerifyWitnessProgram
    - std::vector<unsigned char>
    - IsWitnessProgram
    - IsPayToScriptHash
    - CScript::end
    - assert
    - end
    - std::vector::resize
    - size
    - IsPushOnly
    - set_error
    - CScript
    - CScript::IsWitnessProgram
    - begin
    - CScript::begin
    linkageType: ''
    returnType: bool
    signature: bool VerifyScript(const CScript& scriptSig, const CScript& scriptPubKey,
      const CScriptWitness* witness, unsigned int flags, const BaseSignatureChecker&
      checker, ScriptError* serror)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2082,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2085,1
    - Dst: stack::size
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2085,1
    - Dst: stack::back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2086,1
    - Dst: stack::back
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2086,1
    - Dst: CScript::GetSigOpCount
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - witversion
    - ' witprogram'
    - ' witness'
    argTypes:
    - int
    - std::vector<unsigned char>
    - CScriptWitness
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2093
    functionName: WitnessSigOps
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - CScript::GetSigOpCount
    - stack::size
    - size
    - stack::back
    linkageType: ''
    returnType: size_t
    signature: size_t WitnessSigOps(int witversion, const std::vector<unsigned char>&
      witprogram, const CScriptWitness& witness)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2102,1
    - Dst: IsWitnessProgram
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2106,1
    - Dst: WitnessSigOps
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2107,1
    - Dst: IsPayToScriptHash
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2110,1
    - Dst: IsPushOnly
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2110,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2111,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2113,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2115,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2117,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2117,1
    - Dst: CScript::IsWitnessProgram
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2118,1
    - Dst: WitnessSigOps
      Src: /src/bitcoin-core/src/script/interpreter.cpp:2119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ' scriptSig'
    - ' scriptPubKey'
    - witness
    - flags
    argTypes:
    - CScript
    - CScript
    - CScriptWitness*
    - unsigned int
    assertStmts:
    - condition: ((flags & SCRIPT_VERIFY_P2SH) != 0)
      pos:
        line_end: 2101
        line_start: 2101
        source_file: /src/bitcoin-core/src/script/interpreter.cpp
    constantsTouched: []
    func_position:
      end: 2124
      start: 2095
    functionDepth: 3
    functionLinenumber: 2095
    functionLinenumberEnd: 2124
    functionName: CountWitnessSigOps
    functionSourceFile: /src/bitcoin-core/src/script/interpreter.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - IsPayToScriptHash
    - IsWitnessProgram
    - CScript::IsWitnessProgram
    - std::vector::begin
    - IsPushOnly
    - WitnessSigOps
    - assert
    - GetOp
    - begin
    linkageType: ''
    returnType: size_t
    signature: size_t CountWitnessSigOps(const CScript& scriptSig, const CScript&
      scriptPubKey, const CScriptWitness* witness, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/script.h:69,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/script.h:69,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ToByteVector
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 59
    functionsReached:
    - end
    - std::vector<unsigned char>
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToByteVector(const T& in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: scriptnum_error::scriptnum_error
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scriptnum_error(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: CScriptNum::CScriptNum
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScriptNum(const int64_t& n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.h:248,1
    - Dst: scriptnum_error
      Src: /src/bitcoin-core/src/script/script.h:249,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.h:251,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/script.h:258,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.h:264,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.h:264,1
    - Dst: scriptnum_error
      Src: /src/bitcoin-core/src/script/script.h:265,1
    - Dst: CScriptNum::set_vch
      Src: /src/bitcoin-core/src/script/script.h:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' vch'
    - fRequireMinimal
    argTypes:
    - std::vector<unsigned char>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 270
    functionName: CScriptNum::CScriptNum
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - CScriptNum::set_vch
    - back
    - scriptnum_error
    - size
    linkageType: ''
    returnType: void
    signature: "void CScriptNum(const std::vector<unsigned char>& vch, bool fRequireMinimal,\n
      \                       const size_t nMaxNumSize = nDefaultMaxNumSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator==(const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: operator!=(const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: operator<=(const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: operator< (const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator< (const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: operator>=(const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: operator> (const int64_t& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator> (const int64_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: operator==(const CScriptNum& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CScriptNum& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: operator!=(const CScriptNum& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CScriptNum& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: operator<=(const CScriptNum& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const CScriptNum& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: operator< (const CScriptNum& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator< (const CScriptNum& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: operator>=(const CScriptNum& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const CScriptNum& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: operator> (const CScriptNum& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator> (const CScriptNum& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/script.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: operator+(   const int64_t& rhs)    const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - CScriptNum
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum operator+(   const int64_t& rhs)    const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/script.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: operator-(   const int64_t& rhs)    const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - CScriptNum
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum operator-(   const int64_t& rhs)    const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: operator+(   const CScriptNum& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum operator+(   const CScriptNum& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: operator-(   const CScriptNum& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum operator-(   const CScriptNum& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: '& operator+=( const CScriptNum& rhs)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum & operator+=( const CScriptNum& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: '& operator-=( const CScriptNum& rhs)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum & operator-=( const CScriptNum& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/script.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: operator&(   const int64_t& rhs)    const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - CScriptNum
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum operator&(   const int64_t& rhs)    const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: operator&(   const CScriptNum& rhs) const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum operator&(   const CScriptNum& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: '& operator&=( const CScriptNum& rhs)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum & operator&=( const CScriptNum& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/script.h:301,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/script/script.h:301,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/script.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_value != std::numeric_limits<int64_t>::min())
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/bitcoin-core/src/script/script.h
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: operator-()                         const
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - CScriptNum
    - assert
    - RandomMixin::min
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum operator-()                         const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: '& operator=( const int64_t& rhs)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum & operator=( const int64_t& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/script.h:313,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/script/script.h:313,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/script/script.h:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts:
    - condition: "(rhs == 0 || (rhs > 0 && m_value <= std::numeric_limits<int64_t>::max()
        - rhs) ||\n                           (rhs < 0 && m_value >= std::numeric_limits<int64_t>::min()
        - rhs))"
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/bitcoin-core/src/script/script.h
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: '& operator+=( const int64_t& rhs)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - assert
    - RandomMixin::max
    - RandomMixin::min
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum & operator+=( const int64_t& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/script.h:321,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/script/script.h:321,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/script/script.h:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts:
    - condition: "(rhs == 0 || (rhs > 0 && m_value >= std::numeric_limits<int64_t>::min()
        + rhs) ||\n                           (rhs < 0 && m_value <= std::numeric_limits<int64_t>::max()
        + rhs))"
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/bitcoin-core/src/script/script.h
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: '& operator-=( const int64_t& rhs)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - assert
    - RandomMixin::min
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum & operator-=( const int64_t& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: '& operator&=( const int64_t& rhs)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScriptNum
    signature: CScriptNum & operator&=( const int64_t& rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/script/script.h:335,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/script/script.h:336,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/script/script.h:337,1
    - Dst: RandomMixin::min
      Src: /src/bitcoin-core/src/script/script.h:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: CScriptNum::getint
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 2
    functionsReached:
    - RandomMixin::min
    - RandomMixin::max
    linkageType: ''
    returnType: int
    signature: int getint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: CScriptNum::GetInt64
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScriptNum::serialize
      Src: /src/bitcoin-core/src/script/script.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: CScriptNum::getvch
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 4
    functionsReached:
    - CScriptNum::serialize
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> getvch() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/script.h:352,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/script/script.h:356,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/script/script.h:356,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/script.h:360,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/script.h:374,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/script.h:375,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/script.h:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: CScriptNum::serialize
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - std::vector<unsigned char>
    - std::vector::back
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> serialize(const int64_t& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/script/script.h:385,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.h:389,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/script/script.h:390,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/script.h:394,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.h:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: CScriptNum::set_vch
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 1
    functionsReached:
    - size
    - back
    - empty
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t set_vch(const std::vector<unsigned char>& vch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/script/script.h:418,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:418,1
    - Dst: static_cast<value_type>
      Src: /src/bitcoin-core/src/script/script.h:418,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/script.h:420,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:420,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/script.h:421,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:421,1
    - Dst: static_cast<value_type>
      Src: /src/bitcoin-core/src/script/script.h:421,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/script.h:423,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:423,1
    - Dst: WriteLE16
      Src: /src/bitcoin-core/src/script/script.h:425,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/script.h:426,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:426,1
    - Dst: std::cbegin
      Src: /src/bitcoin-core/src/script/script.h:426,1
    - Dst: std::cend
      Src: /src/bitcoin-core/src/script/script.h:426,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/script.h:428,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:428,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/script/script.h:430,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/script.h:431,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:431,1
    - Dst: std::cbegin
      Src: /src/bitcoin-core/src/script/script.h:431,1
    - Dst: std::cend
      Src: /src/bitcoin-core/src/script/script.h:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 433
    functionName: CScript::AppendDataSize
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - end
    - WriteLE16
    - std::cbegin
    - static_cast<value_type>
    - WriteLE32
    - std::cend
    - insert
    linkageType: ''
    returnType: void
    signature: void AppendDataSize(const uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/script/script.h:437,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:437,1
    - Dst: std::span<const value_type>::begin
      Src: /src/bitcoin-core/src/script/script.h:437,1
    - Dst: std::span<const value_type>::end
      Src: /src/bitcoin-core/src/script/script.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: CScript::AppendData
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - end
    - std::span<const value_type>::end
    - insert
    - std::span<const value_type>::begin
    linkageType: ''
    returnType: void
    signature: void AppendData(std::span<const value_type> data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/script.h:445,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/script.h:449,1
    - Dst: CScriptNum::serialize
      Src: /src/bitcoin-core/src/script/script.h:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 456
    functionName: '& push_int64(int64_t n)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - push_back
    - CScriptNum::serialize
    linkageType: ''
    returnType: CScript
    signature: CScript & push_int64(int64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: CScript::CScript
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScript()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIterator
    - InputIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: CScript::CScript
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScript(InputIterator first, InputIterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/script/script.h:463,1
    - Dst: AsBase
      Src: /src/bitcoin-core/src/script/script.h:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: CScript::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - AsBase
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CScript, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: CScript::CScript
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScript(int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - opcodetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 466
    functionName: CScript::CScript
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScript(opcodetype b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: CScript::CScript
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScript(const CScriptNum& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: CScript::CScript
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScript(const std::vector<unsigned char>& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: '& operator<<(const CScript& b)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CScript
    signature: CScript & operator<<(const CScript& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_int64
      Src: /src/bitcoin-core/src/script/script.h:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: '& operator<<(int64_t b)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - push_int64
    linkageType: ''
    returnType: CScript
    signature: CScript & operator<<(int64_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/script/script.h:480,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/script.h:481,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - opcodetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: '& operator<<(opcodetype opcode)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - end
    - std::runtime_error
    - insert
    linkageType: ''
    returnType: CScript
    signature: CScript & operator<<(opcodetype opcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getvch
      Src: /src/bitcoin-core/src/script/script.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - CScriptNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: '& operator<<(const CScriptNum& b)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - getvch
    linkageType: ''
    returnType: CScript
    signature: CScript & operator<<(const CScriptNum& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendDataSize
      Src: /src/bitcoin-core/src/script/script.h:493,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/script/script.h:493,1
    - Dst: AppendData
      Src: /src/bitcoin-core/src/script/script.h:494,1
    - Dst: reinterpret_cast<const value_type*>
      Src: /src/bitcoin-core/src/script/script.h:494,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/script/script.h:494,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/script/script.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: '& operator<<(std::span<const std::byte> b)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::data
    - std::span<const std::byte>::size
    - AppendData
    - reinterpret_cast<const value_type*>
    - AppendDataSize
    linkageType: ''
    returnType: CScript
    signature: CScript & operator<<(std::span<const std::byte> b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/script/script.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - std::span<const value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: '& operator<<(std::span<const value_type> b)'
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - std::as_bytes
    linkageType: ''
    returnType: CScript
    signature: CScript & operator<<(std::span<const value_type> b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptOp
      Src: /src/bitcoin-core/src/script/script.h:506,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pc'
    - ' opcodeRet'
    - ' vchRet'
    argTypes:
    - const_iterator
    - opcodetype
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: CScript::GetOp
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 5
    functionsReached:
    - end
    - GetScriptOp
    linkageType: ''
    returnType: bool
    signature: bool GetOp(const_iterator& pc, opcodetype& opcodeRet, std::vector<unsigned
      char>& vchRet) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptOp
      Src: /src/bitcoin-core/src/script/script.h:511,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pc'
    - ' opcodeRet'
    argTypes:
    - const_iterator
    - opcodetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: CScript::GetOp
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 5
    functionsReached:
    - end
    - GetScriptOp
    linkageType: ''
    returnType: bool
    signature: bool GetOp(const_iterator& pc, opcodetype& opcodeRet) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/script.h:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - opcodetype
    assertStmts:
    - condition: (opcode >= OP_1 && opcode <= OP_16)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/bitcoin-core/src/script/script.h
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: CScript::DecodeOP_N
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int DecodeOP_N(opcodetype opcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/script.h:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts:
    - condition: (n >= 0 && n <= 16)
      pos:
        line_end: 523
        line_start: 523
        source_file: /src/bitcoin-core/src/script/script.h
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: CScript::EncodeOP_N
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: opcodetype
    signature: opcodetype EncodeOP_N(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.h:573,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/script.h:573,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/script.h:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: CScript::IsUnspendable
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 1
    functionsReached:
    - begin
    - size
    linkageType: ''
    returnType: bool
    signature: bool IsUnspendable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult_gen_context_clear
      Src: /src/bitcoin-core/src/script/script.h:579,1
    - Dst: shrink_to_fit
      Src: /src/bitcoin-core/src/script/script.h:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 581
    functionName: CScript::clear
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 11
    functionsReached:
    - secp256k1_ecmult_gen_context_clear
    - shrink_to_fit
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: CScriptWitness
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScriptWitness()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/script/script.h:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: IsNull
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 116
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/script/script.h:595,1
    - Dst: shrink_to_fit
      Src: /src/bitcoin-core/src/script/script.h:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 595
    functionName: SetNull
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 44
    functionsReached:
    - clear
    - shrink_to_fit
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 604
    functionName: CScriptID::CScriptID
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScriptID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - uint160
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 606
    functionName: CScriptID::CScriptID
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CScriptID(const uint160& in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/script.h:618,1
    - Dst: std::forward<Ts>
      Src: /src/bitcoin-core/src/script/script.h:625,1
    - Dst: CScript::insert
      Src: /src/bitcoin-core/src/script/script.h:627,1
    - Dst: CScript::end
      Src: /src/bitcoin-core/src/script/script.h:627,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/script.h:627,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/script.h:627,1
    - Dst: std::forward<Ts>
      Src: /src/bitcoin-core/src/script/script.h:634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 637
    functionName: BuildScript
    functionSourceFile: /src/bitcoin-core/src/script/script.h
    functionUses: 0
    functionsReached:
    - end
    - CScript::end
    - CScript::insert
    - begin
    - std::forward<Ts>
    - CScript::CScript
    linkageType: ''
    returnType: CScript
    signature: CScript BuildScript(Ts&&... inputs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:17,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' map'
    - ' key'
    - ' value'
    argTypes:
    - M
    - K
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: LookupHelper
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 4
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool LookupHelper(const M& map, const K& key, V& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HidingSigningProvider::GetCScript
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scriptid'
    - ' script'
    argTypes:
    - CScriptID
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: HidingSigningProvider::GetCScript
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - HidingSigningProvider::GetCScript
    linkageType: ''
    returnType: bool
    signature: bool HidingSigningProvider::GetCScript(const CScriptID& scriptid, CScript&
      script) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HidingSigningProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' keyid'
    - ' pubkey'
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: HidingSigningProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - HidingSigningProvider::GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool HidingSigningProvider::GetPubKey(const CKeyID& keyid, CPubKey&
      pubkey) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HidingSigningProvider::GetKey
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' keyid'
    - ' key'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: HidingSigningProvider::GetKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - HidingSigningProvider::GetKey
    linkageType: ''
    returnType: bool
    signature: bool HidingSigningProvider::GetKey(const CKeyID& keyid, CKey& key)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HidingSigningProvider::GetKeyOrigin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' keyid'
    - ' info'
    argTypes:
    - CKeyID
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: HidingSigningProvider::GetKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - HidingSigningProvider::GetKeyOrigin
    linkageType: ''
    returnType: bool
    signature: bool HidingSigningProvider::GetKeyOrigin(const CKeyID& keyid, KeyOriginInfo&
      info) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HidingSigningProvider::GetTaprootSpendData
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' output_key'
    - ' spenddata'
    argTypes:
    - XOnlyPubKey
    - TaprootSpendData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: HidingSigningProvider::GetTaprootSpendData
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - HidingSigningProvider::GetTaprootSpendData
    linkageType: ''
    returnType: bool
    signature: bool HidingSigningProvider::GetTaprootSpendData(const XOnlyPubKey&
      output_key, TaprootSpendData& spenddata) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HidingSigningProvider::GetTaprootBuilder
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' output_key'
    - ' builder'
    argTypes:
    - XOnlyPubKey
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: HidingSigningProvider::GetTaprootBuilder
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - HidingSigningProvider::GetTaprootBuilder
    linkageType: ''
    returnType: bool
    signature: bool HidingSigningProvider::GetTaprootBuilder(const XOnlyPubKey& output_key,
      TaprootBuilder& builder) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HidingSigningProvider::GetMuSig2ParticipantPubkeys
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: HidingSigningProvider::GetMuSig2ParticipantPubkeys
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - HidingSigningProvider::GetMuSig2ParticipantPubkeys
    linkageType: ''
    returnType: std::vector<CPubKey>
    signature: std::vector<CPubKey> HidingSigningProvider::GetMuSig2ParticipantPubkeys(const
      CPubKey& pubkey) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHelper
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scriptid'
    - ' script'
    argTypes:
    - CScriptID
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: FlatSigningProvider::GetCScript
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LookupHelper
    linkageType: ''
    returnType: bool
    signature: bool FlatSigningProvider::GetCScript(const CScriptID& scriptid, CScript&
      script) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHelper
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' keyid'
    - ' pubkey'
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: FlatSigningProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LookupHelper
    linkageType: ''
    returnType: bool
    signature: bool FlatSigningProvider::GetPubKey(const CKeyID& keyid, CPubKey& pubkey)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LookupHelper
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:66,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' keyid'
    - ' info'
    argTypes:
    - CKeyID
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: FlatSigningProvider::GetKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LookupHelper
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool FlatSigningProvider::GetKeyOrigin(const CKeyID& keyid, KeyOriginInfo&
      info) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:72,1
    - Dst: LookupHelper
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyid
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: FlatSigningProvider::HaveKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LookupHelper
    - CKey::CKey
    linkageType: ''
    returnType: bool
    signature: bool FlatSigningProvider::HaveKey(const CKeyID &keyid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHelper
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' keyid'
    - ' key'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: FlatSigningProvider::GetKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LookupHelper
    linkageType: ''
    returnType: bool
    signature: bool FlatSigningProvider::GetKey(const CKeyID& keyid, CKey& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LookupHelper
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:79,1
    - Dst: TaprootBuilder::GetSpendData
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' output_key'
    - ' spenddata'
    argTypes:
    - XOnlyPubKey
    - TaprootSpendData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: FlatSigningProvider::GetTaprootSpendData
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - TaprootBuilder::GetSpendData
    - LookupHelper
    linkageType: ''
    returnType: bool
    signature: bool FlatSigningProvider::GetTaprootSpendData(const XOnlyPubKey& output_key,
      TaprootSpendData& spenddata) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHelper
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' output_key'
    - ' builder'
    argTypes:
    - XOnlyPubKey
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: FlatSigningProvider::GetTaprootBuilder
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LookupHelper
    linkageType: ''
    returnType: bool
    signature: bool FlatSigningProvider::GetTaprootBuilder(const XOnlyPubKey& output_key,
      TaprootBuilder& builder) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupHelper
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: FlatSigningProvider::GetMuSig2ParticipantPubkeys
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LookupHelper
    linkageType: ''
    returnType: std::vector<CPubKey>
    signature: std::vector<CPubKey> FlatSigningProvider::GetMuSig2ParticipantPubkeys(const
      CPubKey& pubkey) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: merge
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:99,1
    - Dst: merge
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:100,1
    - Dst: merge
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:101,1
    - Dst: merge
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:102,1
    - Dst: merge
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:103,1
    - Dst: merge
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: '& FlatSigningProvider::Merge(FlatSigningProvider&& b)'
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - merge
    linkageType: ''
    returnType: FlatSigningProvider
    signature: FlatSigningProvider & FlatSigningProvider::Merge(FlatSigningProvider&&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:110,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:111,1
    - Dst: IsCompressed
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:123,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:124,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:124,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: FillableSigningProvider::ImplicitlyLearnRelatedKeyScripts
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - WitnessV0KeyHash
    - GetScriptForDestination
    - GetID
    - std::move
    - AssertLockHeld
    - IsCompressed
    linkageType: ''
    returnType: void
    signature: void FillableSigningProvider::ImplicitlyLearnRelatedKeyScripts(const
      CPubKey& pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:133,1
    - Dst: FillableSigningProvider::GetKey
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:134,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - address
    - vchPubKeyOut
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: FillableSigningProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - CKey::GetPubKey
    - FillableSigningProvider::GetKey
    - CKey::CKey
    linkageType: ''
    returnType: bool
    signature: bool FillableSigningProvider::GetPubKey(const CKeyID &address, CPubKey
      &vchPubKeyOut) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:143,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:144,1
    - Dst: FillableSigningProvider::ImplicitlyLearnRelatedKeyScripts
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - pubkey
    argTypes:
    - CKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: FillableSigningProvider::AddKeyPubKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 2
    functionsReached:
    - FillableSigningProvider::ImplicitlyLearnRelatedKeyScripts
    - LOCK
    - CPubKey::GetID
    linkageType: ''
    returnType: bool
    signature: bool FillableSigningProvider::AddKeyPubKey(const CKey& key, const CPubKey
      &pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:151,1
    - Dst: count
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: FillableSigningProvider::HaveKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - count
    linkageType: ''
    returnType: bool
    signature: bool FillableSigningProvider::HaveKey(const CKeyID &address) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:157,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: FillableSigningProvider::GetKeys
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - std::set::insert
    linkageType: ''
    returnType: std::set<CKeyID>
    signature: std::set<CKeyID> FillableSigningProvider::GetKeys() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:167,1
    - Dst: find
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:168,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - address
    - keyOut
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: FillableSigningProvider::GetKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - end
    - LOCK
    - find
    linkageType: ''
    returnType: bool
    signature: bool FillableSigningProvider::GetKey(const CKeyID &address, CKey &keyOut)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:178,1
    - Dst: LogError
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:179,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:183,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' redeemScript'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: FillableSigningProvider::AddCScript
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 7
    functionsReached:
    - LogError
    - LOCK
    - CScriptID
    - size
    linkageType: ''
    returnType: bool
    signature: bool FillableSigningProvider::AddCScript(const CScript& redeemScript)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:190,1
    - Dst: count
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - CScriptID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: FillableSigningProvider::HaveCScript
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - count
    linkageType: ''
    returnType: bool
    signature: bool FillableSigningProvider::HaveCScript(const CScriptID& hash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:196,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: FillableSigningProvider::GetCScripts
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - std::set::insert
    linkageType: ''
    returnType: std::set<CScriptID>
    signature: std::set<CScriptID> FillableSigningProvider::GetCScripts() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:206,1
    - Dst: find
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:207,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - ' redeemScriptOut'
    argTypes:
    - CScriptID
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: FillableSigningProvider::GetCScript
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - end
    - LOCK
    - find
    linkageType: ''
    returnType: bool
    signature: bool FillableSigningProvider::GetCScript(const CScriptID &hash, CScript&
      redeemScriptOut) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<PKHash>
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:220,1
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:221,1
    - Dst: std::get_if<WitnessV0KeyHash>
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:223,1
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:224,1
    - Dst: std::get_if<ScriptHash>
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:226,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:227,1
    - Dst: ToScriptID
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:228,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:230,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:230,1
    - Dst: std::get_if<WitnessV0KeyHash>
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:231,1
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:232,1
    - Dst: std::get_if<WitnessV1Taproot>
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:236,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:238,1
    - Dst: GetTaprootSpendData
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:239,1
    - Dst: TaprootSpendData::internal_key::IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:240,1
    - Dst: TaprootSpendData::merkle_root::IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:241,1
    - Dst: GetPubKeyByXOnly
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:242,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:243,1
    - Dst: CKeyID
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - ' store'
    - ' dest'
    argTypes:
    - SigningProvider
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 247
    functionName: GetKeyForDestination
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<WitnessV1Taproot>
    - std::get_if<WitnessV0KeyHash>
    - TaprootSpendData::internal_key::IsNull
    - GetPubKeyByXOnly
    - ExtractDestination
    - std::get_if<PKHash>
    - CKeyID
    - GetTaprootSpendData
    - CPubKey::GetID
    - std::get_if<ScriptHash>
    - CPubKey::CPubKey
    - GetCScript
    - ToKeyID
    - TaprootSpendData::merkle_root::IsNull
    - ToScriptID
    - CScript::CScript
    linkageType: ''
    returnType: CKeyID
    signature: CKeyID GetKeyForDestination(const SigningProvider& store, const CTxDestination&
      dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:251,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provider
    argTypes:
    - std::unique_ptr<SigningProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: MultiSigningProvider::AddProvider
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiSigningProvider::AddProvider(std::unique_ptr<SigningProvider>
      provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiSigningProvider::GetCScript
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' scriptid'
    - ' script'
    argTypes:
    - CScriptID
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: MultiSigningProvider::GetCScript
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - MultiSigningProvider::GetCScript
    linkageType: ''
    returnType: bool
    signature: bool MultiSigningProvider::GetCScript(const CScriptID& scriptid, CScript&
      script) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiSigningProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' keyid'
    - ' pubkey'
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: MultiSigningProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - MultiSigningProvider::GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool MultiSigningProvider::GetPubKey(const CKeyID& keyid, CPubKey&
      pubkey) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiSigningProvider::GetKeyOrigin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' keyid'
    - ' info'
    argTypes:
    - CKeyID
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: MultiSigningProvider::GetKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - MultiSigningProvider::GetKeyOrigin
    linkageType: ''
    returnType: bool
    signature: bool MultiSigningProvider::GetKeyOrigin(const CKeyID& keyid, KeyOriginInfo&
      info) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiSigningProvider::GetKey
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' keyid'
    - ' key'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: MultiSigningProvider::GetKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - MultiSigningProvider::GetKey
    linkageType: ''
    returnType: bool
    signature: bool MultiSigningProvider::GetKey(const CKeyID& keyid, CKey& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiSigningProvider::GetTaprootSpendData
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' output_key'
    - ' spenddata'
    argTypes:
    - XOnlyPubKey
    - TaprootSpendData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: MultiSigningProvider::GetTaprootSpendData
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - MultiSigningProvider::GetTaprootSpendData
    linkageType: ''
    returnType: bool
    signature: bool MultiSigningProvider::GetTaprootSpendData(const XOnlyPubKey& output_key,
      TaprootSpendData& spenddata) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiSigningProvider::GetTaprootBuilder
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' output_key'
    - ' builder'
    argTypes:
    - XOnlyPubKey
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: MultiSigningProvider::GetTaprootBuilder
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - MultiSigningProvider::GetTaprootBuilder
    linkageType: ''
    returnType: bool
    signature: bool MultiSigningProvider::GetTaprootBuilder(const XOnlyPubKey& output_key,
      TaprootBuilder& builder) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: merkle_branch::push_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:308,1
    - Dst: NodeInfo::leaves::emplace_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:309,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:309,1
    - Dst: merkle_branch::push_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:313,1
    - Dst: NodeInfo::leaves::emplace_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:314,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:314,1
    - Dst: ComputeTapbranchHash
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NodeInfo
    - NodeInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: TaprootBuilder::Combine
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - ComputeTapbranchHash
    - NodeInfo::leaves::emplace_back
    - merkle_branch::push_back
    - std::move
    linkageType: ''
    returnType: TaprootBuilder::NodeInfo
    signature: TaprootBuilder::NodeInfo TaprootBuilder::Combine(NodeInfo&& a, NodeInfo&&
      b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:324,1
    - Dst: TaprootSpendData::internal_key::IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:324,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:327,1
    - Dst: TaprootSpendData::merkle_root::IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:327,1
    - Dst: merge
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:331,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - TaprootSpendData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: TaprootSpendData::Merge
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - TaprootSpendData::internal_key::IsNull
    - merge
    - std::move
    - IsNull
    - TaprootSpendData::merkle_root::IsNull
    linkageType: ''
    returnType: void
    signature: void TaprootSpendData::Merge(TaprootSpendData other)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:337,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:341,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:347,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:347,1
    - Dst: TaprootBuilder::Combine
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:348,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:348,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:348,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:349,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:355,1
    - Dst: resize
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:355,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:356,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:356,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - ' node'
    - depth
    argTypes:
    - TaprootBuilder::NodeInfo
    - int
    assertStmts:
    - condition: (depth >= 0 && (size_t)depth <= TAPROOT_CONTROL_MAX_NODE_COUNT)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    - condition: (!m_branch[depth].has_value())
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    constantsTouched: []
    func_position:
      end: 359
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 359
    functionName: TaprootBuilder::Insert
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - resize
    - TaprootBuilder::Combine
    - std::move
    - size
    - has_value
    - pop_back
    - assert
    linkageType: ''
    returnType: void
    signature: void TaprootBuilder::Insert(TaprootBuilder::NodeInfo&& node, int depth)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:370,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:371,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:372,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:376,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:376,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:377,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:381,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - ' depths'
    argTypes:
    - std::vector<int>
    assertStmts:
    - condition: (!branch[depth])
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    constantsTouched: []
    func_position:
      end: 382
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 382
    functionName: TaprootBuilder::ValidDepths
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 1
    functionsReached:
    - std::vector::pop_back
    - assert
    - std::vector::size
    - std::vector::resize
    linkageType: ''
    returnType: bool
    signature: bool TaprootBuilder::ValidDepths(const std::vector<int>& depths)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:386,1
    - Dst: IsValid
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:387,1
    - Dst: ComputeTapleafHash
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:390,1
    - Dst: NodeInfo::leaves::emplace_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:391,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:391,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:391,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:391,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:393,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - depth
    - script
    - leaf_version
    - track
    argTypes:
    - int
    - std::span<const unsigned char>
    - int
    - bool
    assertStmts:
    - condition: ((leaf_version & ~TAPROOT_LEAF_MASK) == 0)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: '& TaprootBuilder::Add(int depth, std::span<const unsigned char>
      script, int leaf_version, bool track)'
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - NodeInfo::leaves::emplace_back
    - std::span<const unsigned char>::begin
    - Insert
    - std::span<const unsigned char>::end
    - ComputeTapleafHash
    - IsValid
    - std::move
    - assert
    linkageType: ''
    returnType: TaprootBuilder
    signature: TaprootBuilder & TaprootBuilder::Add(int depth, std::span<const unsigned
      char> script, int leaf_version, bool track)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsValid
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:399,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:403,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - depth
    - ' hash'
    argTypes:
    - int
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: '& TaprootBuilder::AddOmitted(int depth, const uint256& hash)'
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - IsValid
    - Insert
    - std::move
    linkageType: ''
    returnType: TaprootBuilder
    signature: TaprootBuilder & TaprootBuilder::AddOmitted(int depth, const uint256&
      hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:410,1
    - Dst: IsComplete
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:410,1
    - Dst: CreateTapTweak
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:412,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:412,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:413,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:413,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' internal_key'
    argTypes:
    - XOnlyPubKey
    assertStmts:
    - condition: (IsComplete())
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    - condition: (ret.has_value())
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: '& TaprootBuilder::Finalize(const XOnlyPubKey& internal_key)'
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - auto::has_value
    - IsComplete
    - size
    - CreateTapTweak
    - assert
    linkageType: ''
    returnType: TaprootBuilder
    signature: TaprootBuilder & TaprootBuilder::Finalize(const XOnlyPubKey& internal_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 418
    functionName: TaprootBuilder::GetOutput
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: WitnessV1Taproot
    signature: WitnessV1Taproot TaprootBuilder::GetOutput()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:422,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:422,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:423,1
    - Dst: IsFullyValid
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:423,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:425,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:425,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:427,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:433,1
    - Dst: merkle_branch::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:433,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:435,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:435,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:435,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:435,1
    - Dst: merkle_branch::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:436,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:437,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:437,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:438,1
    - Dst: merkle_branch::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:438,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:439,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:441,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_output_key.IsFullyValid())
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    - condition: (IsComplete())
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    constantsTouched: []
    func_position:
      end: 445
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 445
    functionName: TaprootBuilder::GetSpendData
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 5
    functionsReached:
    - end
    - uint256
    - std::copy
    - std::vector::resize
    - merkle_branch::size
    - size
    - std::vector::begin
    - std::move
    - TaprootBuilder::IsComplete
    - IsFullyValid
    - assert
    - insert
    - begin
    linkageType: ''
    returnType: TaprootSpendData
    signature: TaprootSpendData TaprootBuilder::GetSpendData() const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: internal_key::CreateTapTweak
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:450,1
    - Dst: merkle_root::IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:450,1
    - Dst: merkle_root::IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:454,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:482,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:482,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:483,1
    - Dst: ComputeTapleafHash
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:487,1
    - Dst: ComputeTaprootMerkleRoot
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:488,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:492,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:498,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:499,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:499,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:500,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:501,1
    - Dst: hash::IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:507,1
    - Dst: std::make_unique<TreeNode>
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:519,1
    - Dst: std::make_unique<TreeNode>
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:520,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:537,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:538,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:544,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:544,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:546,1
    - Dst: hash::IsNull
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:547,1
    - Dst: ComputeTapbranchHash
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:548,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:569,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:572,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:575,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 73
    argCount: 2
    argNames:
    - ' spenddata'
    - ' output'
    argTypes:
    - TaprootSpendData
    - XOnlyPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 447
    functionDepth: 4
    functionLinenumber: 447
    functionLinenumberEnd: 580
    functionName: InferTaprootTree
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::vector::emplace_back
    - std::vector::back
    - merkle_root::IsNull
    - uint256::begin
    - size
    - hash::IsNull
    - ComputeTaprootMerkleRoot
    - internal_key::CreateTapTweak
    - std::vector::empty
    - ComputeTapbranchHash
    - std::vector::push_back
    - std::vector::pop_back
    - std::make_unique<TreeNode>
    - ComputeTapleafHash
    - uint256::uint256
    - begin
    - std::vector::size
    linkageType: ''
    returnType: std::optional<std::vector<std::tuple<int, std::vector<unsigned char>,
      int>>>
    signature: std::optional<std::vector<std::tuple<int, std::vector<unsigned char>,
      int>>> InferTaprootTree(const TaprootSpendData& spenddata, const XOnlyPubKey&
      output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:584,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:584,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:586,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:589,1
    - Dst: merkle_branch::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:589,1
    - Dst: merkle_branch::size
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:590,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/signingprovider.cpp:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (IsComplete())
      pos:
        line_end: 583
        line_start: 583
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    - condition: (leaf.merkle_branch.size() <= TAPROOT_CONTROL_MAX_NODE_COUNT)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/bitcoin-core/src/script/signingprovider.cpp
    constantsTouched: []
    func_position:
      end: 596
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 596
    functionName: TaprootBuilder::GetTreeTuples
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - merkle_branch::size
    - size
    - TaprootBuilder::IsComplete
    - assert
    linkageType: ''
    returnType: std::vector<std::tuple<uint8_t, uint8_t, std::vector<unsigned char>>>
    signature: std::vector<std::tuple<uint8_t, uint8_t, std::vector<unsigned char>>>
      TaprootBuilder::GetTreeTuples() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~BaseSignatureCreator()
    functionSourceFile: /src/bitcoin-core/src/script/sign.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseSignatureCreator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& Checker() const override'
    functionSourceFile: /src/bitcoin-core/src/script/sign.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseSignatureChecker
    signature: BaseSignatureChecker & Checker() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: SignatureData
    functionSourceFile: /src/bitcoin-core/src/script/sign.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: SignatureData
    functionSourceFile: /src/bitcoin-core/src/script/sign.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureData(const CScript& script)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/solver.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - t
    argTypes:
    - TxoutType
    assertStmts:
    - condition: (false)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/script/solver.cpp
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: GetTxnOutputType
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string GetTxnOutputType(TxoutType t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/solver.cpp:38,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/solver.cpp:38,1
    - Dst: valtype
      Src: /src/bitcoin-core/src/script/solver.cpp:39,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:39,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:39,1
    - Dst: CPubKey::ValidSize
      Src: /src/bitcoin-core/src/script/solver.cpp:40,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/solver.cpp:42,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/solver.cpp:42,1
    - Dst: valtype
      Src: /src/bitcoin-core/src/script/solver.cpp:43,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:43,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:43,1
    - Dst: CPubKey::ValidSize
      Src: /src/bitcoin-core/src/script/solver.cpp:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' script'
    - ' pubkey'
    argTypes:
    - CScript
    - valtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: MatchPayToPubkey
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::ValidSize
    - valtype
    - back
    - size
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MatchPayToPubkey(const CScript& script, valtype& pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/solver.cpp:51,1
    - Dst: valtype
      Src: /src/bitcoin-core/src/script/solver.cpp:52,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:52,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - ' script'
    - ' pubkeyhash'
    argTypes:
    - CScript
    - valtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: MatchPayToPubkeyHash
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 0
    functionsReached:
    - begin
    - valtype
    - size
    linkageType: ''
    returnType: bool
    signature: bool MatchPayToPubkeyHash(const CScript& script, valtype& pubkeyhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - opcodetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: IsSmallInteger
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSmallInteger(opcodetype opcode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsSmallInteger
      Src: /src/bitcoin-core/src/script/solver.cpp:69,1
    - Dst: CScript::DecodeOP_N
      Src: /src/bitcoin-core/src/script/solver.cpp:70,1
    - Dst: IsPushdataOp
      Src: /src/bitcoin-core/src/script/solver.cpp:71,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/solver.cpp:72,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/solver.cpp:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - opcode
    - data
    - min
    - max
    argTypes:
    - opcodetype
    - valtype
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: GetScriptNumber
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 0
    functionsReached:
    - CScriptNum
    - IsSmallInteger
    - CheckMinimalPush
    - IsPushdataOp
    - CScript::DecodeOP_N
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> GetScriptNumber(opcodetype opcode, valtype data,
      int min, int max)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:90,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/solver.cpp:91,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/solver.cpp:91,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/solver.cpp:93,1
    - Dst: GetScriptNumber
      Src: /src/bitcoin-core/src/script/solver.cpp:94,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/solver.cpp:97,1
    - Dst: CPubKey::ValidSize
      Src: /src/bitcoin-core/src/script/solver.cpp:97,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/solver.cpp:98,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/solver.cpp:98,1
    - Dst: GetScriptNumber
      Src: /src/bitcoin-core/src/script/solver.cpp:100,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/solver.cpp:102,1
    - Dst: static_cast<unsigned long>
      Src: /src/bitcoin-core/src/script/solver.cpp:102,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/solver.cpp:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - ' script'
    - ' required_sigs'
    - ' pubkeys'
    argTypes:
    - CScript
    - int
    - std::vector<valtype>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 105
    functionName: MatchMultisig
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned long>
    - end
    - CPubKey::ValidSize
    - GetScriptNumber
    - back
    - size
    - std::move
    - emplace_back
    - GetOp
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MatchMultisig(const CScript& script, int& required_sigs, std::vector<valtype>&
      pubkeys)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/solver.cpp:112,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/solver.cpp:112,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:115,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/solver.cpp:116,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/solver.cpp:119,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/solver.cpp:121,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/solver.cpp:124,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/solver.cpp:124,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/solver.cpp:129,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/solver.cpp:130,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/solver.cpp:133,1
    - Dst: GetScriptNumber
      Src: /src/bitcoin-core/src/script/solver.cpp:134,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/solver.cpp:134,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/solver.cpp:138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 139
    functionName: MatchMultiA
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::emplace_back
    - GetScriptNumber
    - back
    - GetOp
    - size
    - std::move
    - std::vector::size
    - begin
    linkageType: ''
    returnType: std::optional<std::pair<int, std::vector<std::span<const unsigned
      char>>>>
    signature: std::optional<std::pair<int, std::vector<std::span<const unsigned char>>>>
      MatchMultiA(const CScript& script)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/script/solver.cpp:143,1
    - Dst: IsPayToScriptHash
      Src: /src/bitcoin-core/src/script/solver.cpp:147,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:149,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:149,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:150,1
    - Dst: IsWitnessProgram
      Src: /src/bitcoin-core/src/script/solver.cpp:156,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/solver.cpp:157,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:158,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/solver.cpp:158,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/solver.cpp:161,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:162,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/solver.cpp:162,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/solver.cpp:165,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:166,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/solver.cpp:166,1
    - Dst: IsPayToAnchor
      Src: /src/bitcoin-core/src/script/solver.cpp:169,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:173,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:174,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/solver.cpp:174,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/solver.cpp:185,1
    - Dst: IsPushOnly
      Src: /src/bitcoin-core/src/script/solver.cpp:185,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:185,1
    - Dst: MatchPayToPubkey
      Src: /src/bitcoin-core/src/script/solver.cpp:190,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:191,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/solver.cpp:191,1
    - Dst: MatchPayToPubkeyHash
      Src: /src/bitcoin-core/src/script/solver.cpp:195,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:196,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/solver.cpp:196,1
    - Dst: MatchMultisig
      Src: /src/bitcoin-core/src/script/solver.cpp:202,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:203,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/script/solver.cpp:203,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/solver.cpp:204,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/solver.cpp:204,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/solver.cpp:204,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/solver.cpp:204,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/solver.cpp:205,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/script/solver.cpp:205,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/solver.cpp:205,1
    - Dst: clear
      Src: /src/bitcoin-core/src/script/solver.cpp:209,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - ' scriptPubKey'
    - ' vSolutionsRet'
    argTypes:
    - CScript
    - std::vector<std::vector<unsigned char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 211
    functionName: Solver
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 12
    functionsReached:
    - end
    - std::vector::end
    - IsPayToScriptHash
    - IsWitnessProgram
    - MatchPayToPubkeyHash
    - push_back
    - insert
    - MatchMultisig
    - std::move
    - size
    - IsPushOnly
    - std::vector::begin
    - clear
    - static_cast<unsigned char>
    - MatchPayToPubkey
    - IsPayToAnchor
    - std::vector::size
    - begin
    linkageType: ''
    returnType: TxoutType
    signature: TxoutType Solver(const CScript& scriptPubKey, std::vector<std::vector<unsigned
      char>>& vSolutionsRet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/solver.cpp:215,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/solver.cpp:215,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/solver.cpp:215,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/solver.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubKey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: GetScriptForRawPubKey
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 7
    functionsReached:
    - end
    - std::vector<unsigned char>
    - begin
    - CScript
    linkageType: ''
    returnType: CScript
    signature: CScript GetScriptForRawPubKey(const CPubKey& pubKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/solver.cpp:220,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/script/solver.cpp:224,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/solver.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nRequired
    - ' keys'
    argTypes:
    - int
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: GetScriptForMultisig
    functionSourceFile: /src/bitcoin-core/src/script/solver.cpp
    functionUses: 10
    functionsReached:
    - ToByteVector
    - size
    - CScript::CScript
    linkageType: ''
    returnType: CScript
    signature: CScript GetScriptForMultisig(int nRequired, const std::vector<CPubKey>&
      keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - opcodetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: IsPushdataOp
    functionSourceFile: /src/bitcoin-core/src/script/solver.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsPushdataOp(opcodetype opcode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.h:21,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.h:21,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.h:22,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.h:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: operator()(const std::vector<unsigned char>& a, const std::vector<unsigned
      char>& b) const
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool operator()(const std::vector<unsigned char>& a, const std::vector<unsigned
      char>& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: TaprootBuilder::IsValid
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.h:128,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/signingprovider.h:128,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/script/signingprovider.h:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: TaprootBuilder::IsComplete
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 6
    functionsReached:
    - size
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool IsComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/script/signingprovider.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: TaprootBuilder::HasScripts
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool HasScripts() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTreeTuples
      Src: /src/bitcoin-core/src/script/signingprovider.h:140,1
    - Dst: GetTreeTuples
      Src: /src/bitcoin-core/src/script/signingprovider.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: operator==(const TaprootBuilder& other) const
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached:
    - GetTreeTuples
    linkageType: ''
    returnType: bool
    signature: bool operator==(const TaprootBuilder& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: ~SigningProvider()
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SigningProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scriptid
    - ' script'
    argTypes:
    - CScriptID
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: SigningProvider::GetCScript
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetCScript(const CScriptID &scriptid, CScript& script) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scriptid
    argTypes:
    - CScriptID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: SigningProvider::HaveCScript
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveCScript(const CScriptID &scriptid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - address
    - ' pubkey'
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: SigningProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetPubKey(const CKeyID &address, CPubKey& pubkey) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - address
    - ' key'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: SigningProvider::GetKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetKey(const CKeyID &address, CKey& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: SigningProvider::HaveKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveKey(const CKeyID &address) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' keyid'
    - ' info'
    argTypes:
    - CKeyID
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: SigningProvider::GetKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetKeyOrigin(const CKeyID& keyid, KeyOriginInfo& info) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' output_key'
    - ' spenddata'
    argTypes:
    - XOnlyPubKey
    - TaprootSpendData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: SigningProvider::GetTaprootSpendData
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetTaprootSpendData(const XOnlyPubKey& output_key, TaprootSpendData&
      spenddata) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' output_key'
    - ' builder'
    argTypes:
    - XOnlyPubKey
    - TaprootBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: SigningProvider::GetTaprootBuilder
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetTaprootBuilder(const XOnlyPubKey& output_key, TaprootBuilder&
      builder) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: SigningProvider::GetMuSig2ParticipantPubkeys
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CPubKey>
    signature: std::vector<CPubKey> GetMuSig2ParticipantPubkeys(const CPubKey& pubkey)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyIDs
      Src: /src/bitcoin-core/src/script/signingprovider.h:168,1
    - Dst: SigningProvider::GetKey
      Src: /src/bitcoin-core/src/script/signingprovider.h:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' pubkey'
    - ' key'
    argTypes:
    - XOnlyPubKey
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: SigningProvider::GetKeyByXOnly
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached:
    - SigningProvider::GetKey
    - GetKeyIDs
    linkageType: ''
    returnType: bool
    signature: bool GetKeyByXOnly(const XOnlyPubKey& pubkey, CKey& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyIDs
      Src: /src/bitcoin-core/src/script/signingprovider.h:176,1
    - Dst: SigningProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/signingprovider.h:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' pubkey'
    - ' out'
    argTypes:
    - XOnlyPubKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: SigningProvider::GetPubKeyByXOnly
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached:
    - GetKeyIDs
    - SigningProvider::GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool GetPubKeyByXOnly(const XOnlyPubKey& pubkey, CPubKey& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyIDs
      Src: /src/bitcoin-core/src/script/signingprovider.h:184,1
    - Dst: SigningProvider::GetKeyOrigin
      Src: /src/bitcoin-core/src/script/signingprovider.h:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' pubkey'
    - ' info'
    argTypes:
    - XOnlyPubKey
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: SigningProvider::GetKeyOriginByXOnly
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached:
    - GetKeyIDs
    - SigningProvider::GetKeyOrigin
    linkageType: ''
    returnType: bool
    signature: bool GetKeyOriginByXOnly(const XOnlyPubKey& pubkey, KeyOriginInfo&
      info) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - provider
    - hide_secret
    - hide_origin
    argTypes:
    - SigningProvider*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: HidingSigningProvider::HidingSigningProvider
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HidingSigningProvider(const SigningProvider* provider, bool hide_secret,
      bool hide_origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/script/signingprovider.h:294,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/script/signingprovider.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 6
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: FillableSigningProvider::AddKey
    functionSourceFile: /src/bitcoin-core/src/script/signingprovider.h
    functionUses: 9
    functionsReached:
    - CKey::GetPubKey
    - FillableSigningProvider::AddKeyPubKey
    linkageType: ''
    returnType: bool
    signature: bool AddKey(const CKey &key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:22,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:23,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:24,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:25,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:26,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:27,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:28,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:29,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:30,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:31,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:32,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:33,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:34,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:35,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: miniscript::internal::SanitizeType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - CHECK_NONFATAL
    linkageType: ''
    returnType: Type
    signature: Type SanitizeType(Type e)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:43,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:45,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:47,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:51,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:53,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:55,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:57,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:62,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:64,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:68,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:70,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:74,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:76,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:77,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:77,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:79,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:80,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:80,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:82,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:92,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:93,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:96,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:97,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:106,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:111,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:115,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:120,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:121,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:122,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:126,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:126,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:129,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:134,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:135,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:144,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:145,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:146,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:149,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:152,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:158,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:159,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:160,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:161,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:163,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:167,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:173,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:174,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:175,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:181,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:182,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:183,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:190,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:191,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:192,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:199,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:200,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:201,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:207,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:209,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:211,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:213,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:214,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:218,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.cpp:235,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:246,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:253,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:254,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:255,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:256,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:257,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.cpp:261,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 117
    argCount: 10
    argNames:
    - fragment
    - x
    - y
    - z
    - ' sub_types'
    - k
    - data_size
    - n_subs
    - n_keys
    - ms_ctx
    argTypes:
    - Fragment
    - Type
    - Type
    - Type
    - std::vector<Type>
    - uint32_t
    - size_t
    - size_t
    - size_t
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/bitcoin-core/src/script/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 262
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 262
    functionName: miniscript::internal::ComputeType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 2
    functionsReached:
    - IsTapscript
    - size
    - assert
    - CHECK_NONFATAL
    - miniscript::internal::If
    linkageType: ''
    returnType: Type
    signature: "Type ComputeType(Fragment fragment, Type x, Type y, Type z, const
      std::vector<Type>& sub_types, uint32_t k,\n                 size_t data_size,
      size_t n_subs, size_t n_keys, MiniscriptContext ms_ctx)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:269,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:272,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:277,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:277,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:278,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:293,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 7
    argNames:
    - fragment
    - sub0typ
    - subsize
    - k
    - n_subs
    - n_keys
    - ms_ctx
    argTypes:
    - Fragment
    - Type
    - size_t
    - uint32_t
    - size_t
    - size_t
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/script/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 296
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 296
    functionName: miniscript::internal::ComputeScriptLen
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 2
    functionsReached:
    - assert
    - IsTapscript
    - BuildScript
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeScriptLen(Fragment fragment, Type sub0typ, size_t subsize,
      uint32_t k, size_t n_subs,\n                        size_t n_keys, MiniscriptContext
      ms_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/script/miniscript.cpp:301,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/script/miniscript.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - avail
    argTypes:
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: '& InputStack::SetAvailable(Availability avail)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - clear
    - RandomMixin::max
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetAvailable(Availability avail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: '& InputStack::SetWithSig()'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetWithSig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: '& InputStack::SetNonCanon()'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetNonCanon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: '& InputStack::SetMalleable(bool x)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetMalleable(bool x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: InputStack::SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.cpp:332,1
    - Dst: InputStack::SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.cpp:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - InputStack
    - InputStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: operator+(InputStack a, InputStack b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - InputStack::SetAvailable
    - std::move
    - Cat
    linkageType: ''
    returnType: InputStack
    signature: InputStack operator+(InputStack a, InputStack b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:358,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - InputStack
    - InputStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: operator|(InputStack a, InputStack b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: InputStack
    signature: InputStack operator|(InputStack a, InputStack b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/miniscript.cpp:371,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/miniscript.cpp:371,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:375,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/script/miniscript.cpp:379,1
    - Dst: CScript::DecodeOP_N
      Src: /src/bitcoin-core/src/script/miniscript.cpp:379,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:382,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:382,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:386,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:390,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:390,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:394,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:394,1
    - Dst: IsPushdataOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:396,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/miniscript.cpp:397,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:402,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:402,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 406
    functionName: miniscript::internal::DecomposeScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - CheckMinimalPush
    - std::vector::end
    - std::vector::emplace_back
    - IsPushdataOp
    - CScript::DecodeOP_N
    - std::move
    - std::vector::begin
    - std::vector::assign
    - std::reverse
    - GetOp
    - begin
    linkageType: ''
    returnType: std::optional<std::vector<Opcode>>
    signature: std::optional<std::vector<Opcode>> DecomposeScript(const CScript& script)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: second::empty
      Src: /src/bitcoin-core/src/script/miniscript.cpp:412,1
    - Dst: IsPushdataOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:413,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/miniscript.cpp:413,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/miniscript.cpp:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - Opcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: miniscript::internal::ParseScriptNumber
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - CScriptNum
    - CheckMinimalPush
    - IsPushdataOp
    - second::empty
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ParseScriptNumber(const Opcode& in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.cpp:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - m
    argTypes:
    - std::span<const char>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: miniscript::internal::FindNextChar
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::span<const char>::size
    linkageType: ''
    returnType: int
    signature: int FindNextChar(std::span<const char> sp, const char m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:22,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:23,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:24,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:25,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:26,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:27,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:28,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:29,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:30,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:31,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:32,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:33,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:34,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:35,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: miniscript::internal::SanitizeType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - CHECK_NONFATAL
    linkageType: ''
    returnType: Type
    signature: Type SanitizeType(Type e)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:43,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:45,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:47,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:51,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:53,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:55,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:57,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:62,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:64,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:68,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:70,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:74,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:76,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:77,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:77,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:79,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:80,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:80,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:82,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:92,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:93,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:96,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:97,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:106,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:111,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:115,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:120,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:121,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:122,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:126,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:126,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:129,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:134,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:135,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:144,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:145,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:146,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:149,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:152,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:158,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:159,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:160,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:161,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:163,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:167,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:173,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:174,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:175,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:181,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:182,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:183,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:190,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:191,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:192,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:199,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:200,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:201,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:207,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:209,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:211,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:213,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:214,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:218,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.cpp:235,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:246,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:253,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:254,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:255,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:256,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:257,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.cpp:261,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 117
    argCount: 10
    argNames:
    - fragment
    - x
    - y
    - z
    - ' sub_types'
    - k
    - data_size
    - n_subs
    - n_keys
    - ms_ctx
    argTypes:
    - Fragment
    - Type
    - Type
    - Type
    - std::vector<Type>
    - uint32_t
    - size_t
    - size_t
    - size_t
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/bitcoin-core/src/script/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 262
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 262
    functionName: miniscript::internal::ComputeType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 2
    functionsReached:
    - IsTapscript
    - size
    - assert
    - CHECK_NONFATAL
    - miniscript::internal::If
    linkageType: ''
    returnType: Type
    signature: "Type ComputeType(Fragment fragment, Type x, Type y, Type z, const
      std::vector<Type>& sub_types, uint32_t k,\n                 size_t data_size,
      size_t n_subs, size_t n_keys, MiniscriptContext ms_ctx)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:269,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:272,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:277,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:277,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:278,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:293,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 7
    argNames:
    - fragment
    - sub0typ
    - subsize
    - k
    - n_subs
    - n_keys
    - ms_ctx
    argTypes:
    - Fragment
    - Type
    - size_t
    - uint32_t
    - size_t
    - size_t
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/script/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 296
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 296
    functionName: miniscript::internal::ComputeScriptLen
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 2
    functionsReached:
    - assert
    - IsTapscript
    - BuildScript
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeScriptLen(Fragment fragment, Type sub0typ, size_t subsize,
      uint32_t k, size_t n_subs,\n                        size_t n_keys, MiniscriptContext
      ms_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/script/miniscript.cpp:301,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/script/miniscript.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - avail
    argTypes:
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: '& InputStack::SetAvailable(Availability avail)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - clear
    - RandomMixin::max
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetAvailable(Availability avail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: '& InputStack::SetWithSig()'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetWithSig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: '& InputStack::SetNonCanon()'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetNonCanon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: '& InputStack::SetMalleable(bool x)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetMalleable(bool x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: InputStack::SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.cpp:332,1
    - Dst: InputStack::SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.cpp:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - InputStack
    - InputStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: operator+(InputStack a, InputStack b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - InputStack::SetAvailable
    - std::move
    - Cat
    linkageType: ''
    returnType: InputStack
    signature: InputStack operator+(InputStack a, InputStack b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:358,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - InputStack
    - InputStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: operator|(InputStack a, InputStack b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: InputStack
    signature: InputStack operator|(InputStack a, InputStack b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/miniscript.cpp:371,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/miniscript.cpp:371,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:375,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/script/miniscript.cpp:379,1
    - Dst: CScript::DecodeOP_N
      Src: /src/bitcoin-core/src/script/miniscript.cpp:379,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:382,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:382,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:386,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:390,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:390,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:394,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:394,1
    - Dst: IsPushdataOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:396,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/miniscript.cpp:397,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:402,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:402,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 406
    functionName: miniscript::internal::DecomposeScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - CheckMinimalPush
    - std::vector::end
    - std::vector::emplace_back
    - IsPushdataOp
    - CScript::DecodeOP_N
    - std::move
    - std::vector::begin
    - std::vector::assign
    - std::reverse
    - GetOp
    - begin
    linkageType: ''
    returnType: std::optional<std::vector<Opcode>>
    signature: std::optional<std::vector<Opcode>> DecomposeScript(const CScript& script)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: second::empty
      Src: /src/bitcoin-core/src/script/miniscript.cpp:412,1
    - Dst: IsPushdataOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:413,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/miniscript.cpp:413,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/miniscript.cpp:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - Opcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: miniscript::internal::ParseScriptNumber
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - CScriptNum
    - CheckMinimalPush
    - IsPushdataOp
    - second::empty
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ParseScriptNumber(const Opcode& in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.cpp:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - m
    argTypes:
    - std::span<const char>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: miniscript::internal::FindNextChar
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::span<const char>::size
    linkageType: ''
    returnType: int
    signature: int FindNextChar(std::span<const char> sp, const char m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:22,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:23,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:24,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:25,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:26,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:27,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:28,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:29,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:30,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:31,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:32,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:33,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:34,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:35,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: miniscript::internal::SanitizeType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - CHECK_NONFATAL
    linkageType: ''
    returnType: Type
    signature: Type SanitizeType(Type e)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:43,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:45,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:47,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:51,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:53,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:55,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:57,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:62,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:64,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:68,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:70,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:74,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:76,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:77,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:77,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:79,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:80,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:80,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:82,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:92,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:93,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:96,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:97,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:106,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:111,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:115,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:120,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:121,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:122,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:126,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:126,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:129,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:134,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:135,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:144,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:145,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:146,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:149,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:152,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:158,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:159,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:160,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:161,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:163,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:167,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:173,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:174,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:175,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:181,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:182,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:183,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:190,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:191,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:192,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:199,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:200,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:201,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:207,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:209,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:211,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:213,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:214,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:218,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.cpp:235,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:246,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:253,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:254,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:255,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:256,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:257,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.cpp:261,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 117
    argCount: 10
    argNames:
    - fragment
    - x
    - y
    - z
    - ' sub_types'
    - k
    - data_size
    - n_subs
    - n_keys
    - ms_ctx
    argTypes:
    - Fragment
    - Type
    - Type
    - Type
    - std::vector<Type>
    - uint32_t
    - size_t
    - size_t
    - size_t
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/bitcoin-core/src/script/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 262
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 262
    functionName: miniscript::internal::ComputeType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 2
    functionsReached:
    - IsTapscript
    - size
    - assert
    - CHECK_NONFATAL
    - miniscript::internal::If
    linkageType: ''
    returnType: Type
    signature: "Type ComputeType(Fragment fragment, Type x, Type y, Type z, const
      std::vector<Type>& sub_types, uint32_t k,\n                 size_t data_size,
      size_t n_subs, size_t n_keys, MiniscriptContext ms_ctx)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:269,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:272,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:277,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:277,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:278,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:293,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 7
    argNames:
    - fragment
    - sub0typ
    - subsize
    - k
    - n_subs
    - n_keys
    - ms_ctx
    argTypes:
    - Fragment
    - Type
    - size_t
    - uint32_t
    - size_t
    - size_t
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/script/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 296
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 296
    functionName: miniscript::internal::ComputeScriptLen
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 2
    functionsReached:
    - assert
    - IsTapscript
    - BuildScript
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeScriptLen(Fragment fragment, Type sub0typ, size_t subsize,
      uint32_t k, size_t n_subs,\n                        size_t n_keys, MiniscriptContext
      ms_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/script/miniscript.cpp:301,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/script/miniscript.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - avail
    argTypes:
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: '& InputStack::SetAvailable(Availability avail)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - clear
    - RandomMixin::max
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetAvailable(Availability avail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: '& InputStack::SetWithSig()'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetWithSig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: '& InputStack::SetNonCanon()'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetNonCanon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: '& InputStack::SetMalleable(bool x)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetMalleable(bool x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: InputStack::SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.cpp:332,1
    - Dst: InputStack::SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.cpp:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - InputStack
    - InputStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: operator+(InputStack a, InputStack b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - InputStack::SetAvailable
    - std::move
    - Cat
    linkageType: ''
    returnType: InputStack
    signature: InputStack operator+(InputStack a, InputStack b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:358,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - InputStack
    - InputStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: operator|(InputStack a, InputStack b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: InputStack
    signature: InputStack operator|(InputStack a, InputStack b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/miniscript.cpp:371,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/miniscript.cpp:371,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:375,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/script/miniscript.cpp:379,1
    - Dst: CScript::DecodeOP_N
      Src: /src/bitcoin-core/src/script/miniscript.cpp:379,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:382,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:382,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:386,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:390,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:390,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:394,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:394,1
    - Dst: IsPushdataOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:396,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/miniscript.cpp:397,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:402,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:402,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 406
    functionName: miniscript::internal::DecomposeScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - CheckMinimalPush
    - std::vector::end
    - std::vector::emplace_back
    - IsPushdataOp
    - CScript::DecodeOP_N
    - std::move
    - std::vector::begin
    - std::vector::assign
    - std::reverse
    - GetOp
    - begin
    linkageType: ''
    returnType: std::optional<std::vector<Opcode>>
    signature: std::optional<std::vector<Opcode>> DecomposeScript(const CScript& script)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: second::empty
      Src: /src/bitcoin-core/src/script/miniscript.cpp:412,1
    - Dst: IsPushdataOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:413,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/miniscript.cpp:413,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/miniscript.cpp:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - Opcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: miniscript::internal::ParseScriptNumber
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - CScriptNum
    - CheckMinimalPush
    - IsPushdataOp
    - second::empty
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ParseScriptNumber(const Opcode& in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.cpp:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - m
    argTypes:
    - std::span<const char>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: miniscript::internal::FindNextChar
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::span<const char>::size
    linkageType: ''
    returnType: int
    signature: int FindNextChar(std::span<const char> sp, const char m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:22,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:23,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:24,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:25,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:26,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:27,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:28,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:29,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:30,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:31,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:32,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:33,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:34,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:35,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: miniscript::internal::SanitizeType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - CHECK_NONFATAL
    linkageType: ''
    returnType: Type
    signature: Type SanitizeType(Type e)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:43,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:45,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:47,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:51,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:53,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:55,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:57,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:62,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:64,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:68,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:70,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:74,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:76,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:77,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:77,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:79,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:80,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:80,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.cpp:82,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:92,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:93,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:96,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:97,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:106,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:111,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:115,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:120,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:121,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:122,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:126,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:126,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:129,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:134,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:135,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:144,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:145,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:146,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:149,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:152,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:158,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:159,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:160,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:161,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:163,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:167,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:173,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:174,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:175,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:181,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:182,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:183,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:190,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:191,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:192,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:199,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:200,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:201,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:207,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:209,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:211,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:213,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:214,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:218,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.cpp:235,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:246,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:253,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:254,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:255,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:256,1
    - Dst: miniscript::internal::If
      Src: /src/bitcoin-core/src/script/miniscript.cpp:257,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.cpp:261,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 117
    argCount: 10
    argNames:
    - fragment
    - x
    - y
    - z
    - ' sub_types'
    - k
    - data_size
    - n_subs
    - n_keys
    - ms_ctx
    argTypes:
    - Fragment
    - Type
    - Type
    - Type
    - std::vector<Type>
    - uint32_t
    - size_t
    - size_t
    - size_t
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/bitcoin-core/src/script/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 262
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 262
    functionName: miniscript::internal::ComputeType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 2
    functionsReached:
    - IsTapscript
    - size
    - assert
    - CHECK_NONFATAL
    - miniscript::internal::If
    linkageType: ''
    returnType: Type
    signature: "Type ComputeType(Fragment fragment, Type x, Type y, Type z, const
      std::vector<Type>& sub_types, uint32_t k,\n                 size_t data_size,
      size_t n_subs, size_t n_keys, MiniscriptContext ms_ctx)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:269,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:272,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:277,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:277,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:278,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.cpp:293,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 7
    argNames:
    - fragment
    - sub0typ
    - subsize
    - k
    - n_subs
    - n_keys
    - ms_ctx
    argTypes:
    - Fragment
    - Type
    - size_t
    - uint32_t
    - size_t
    - size_t
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/script/miniscript.cpp
    constantsTouched: []
    func_position:
      end: 296
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 296
    functionName: miniscript::internal::ComputeScriptLen
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 2
    functionsReached:
    - assert
    - IsTapscript
    - BuildScript
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeScriptLen(Fragment fragment, Type sub0typ, size_t subsize,
      uint32_t k, size_t n_subs,\n                        size_t n_keys, MiniscriptContext
      ms_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/script/miniscript.cpp:301,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/script/miniscript.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - avail
    argTypes:
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: '& InputStack::SetAvailable(Availability avail)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - clear
    - RandomMixin::max
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetAvailable(Availability avail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: '& InputStack::SetWithSig()'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetWithSig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: '& InputStack::SetNonCanon()'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetNonCanon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: '& InputStack::SetMalleable(bool x)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InputStack
    signature: InputStack & InputStack::SetMalleable(bool x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:326,1
    - Dst: InputStack::SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.cpp:332,1
    - Dst: InputStack::SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.cpp:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - InputStack
    - InputStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: operator+(InputStack a, InputStack b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - InputStack::SetAvailable
    - std::move
    - Cat
    linkageType: ''
    returnType: InputStack
    signature: InputStack operator+(InputStack a, InputStack b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:358,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - InputStack
    - InputStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: operator|(InputStack a, InputStack b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: InputStack
    signature: InputStack operator|(InputStack a, InputStack b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/miniscript.cpp:371,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/miniscript.cpp:371,1
    - Dst: GetOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:375,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/script/miniscript.cpp:379,1
    - Dst: CScript::DecodeOP_N
      Src: /src/bitcoin-core/src/script/miniscript.cpp:379,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:382,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:382,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:386,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:390,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:390,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:394,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/script/miniscript.cpp:394,1
    - Dst: IsPushdataOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:396,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/miniscript.cpp:397,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.cpp:402,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.cpp:402,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.cpp:404,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 406
    functionName: miniscript::internal::DecomposeScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<unsigned char>
    - CheckMinimalPush
    - std::vector::end
    - std::vector::emplace_back
    - IsPushdataOp
    - CScript::DecodeOP_N
    - std::move
    - std::vector::begin
    - std::vector::assign
    - std::reverse
    - GetOp
    - begin
    linkageType: ''
    returnType: std::optional<std::vector<Opcode>>
    signature: std::optional<std::vector<Opcode>> DecomposeScript(const CScript& script)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: second::empty
      Src: /src/bitcoin-core/src/script/miniscript.cpp:412,1
    - Dst: IsPushdataOp
      Src: /src/bitcoin-core/src/script/miniscript.cpp:413,1
    - Dst: CheckMinimalPush
      Src: /src/bitcoin-core/src/script/miniscript.cpp:413,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/script/miniscript.cpp:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - Opcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: miniscript::internal::ParseScriptNumber
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - CScriptNum
    - CheckMinimalPush
    - IsPushdataOp
    - second::empty
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ParseScriptNumber(const Opcode& in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.cpp:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - m
    argTypes:
    - std::span<const char>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: miniscript::internal::FindNextChar
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.cpp
    functionUses: 0
    functionsReached:
    - std::span<const char>::size
    linkageType: ''
    returnType: int
    signature: int FindNextChar(std::span<const char> sp, const char m)
  - BBCount: 56
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 112
    argCount: 1
    argNames:
    - serror
    argTypes:
    - ScriptError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 123
    functionName: ScriptErrorString
    functionSourceFile: /src/bitcoin-core/src/script/script_error.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ScriptErrorString(const ScriptError serror)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: miniscript::Type::Type
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Type(uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/bitcoin-core/src/script/miniscript.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: operator|(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - Type
    linkageType: ''
    returnType: Type
    signature: Type operator|(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/bitcoin-core/src/script/miniscript.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: operator&(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - Type
    linkageType: ''
    returnType: Type
    signature: Type operator&(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: operator<<(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<<(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: operator<(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: operator==(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::Type::Type
      Src: /src/bitcoin-core/src/script/miniscript.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: miniscript::Type::If
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::Type::Type
    linkageType: ''
    returnType: Type
    signature: Type If(bool x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/bitcoin-core/src/script/miniscript.h:162,1
    - Dst: throw std::logic_error
      Src: /src/bitcoin-core/src/script/miniscript.h:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - l
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 187
    functionName: operator""_mst(const char* c, size_t l)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - Type
    - throw std::logic_error
    linkageType: ''
    returnType: Type
    signature: Type operator""_mst(const char* c, size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<const Node<Key>>
      Src: /src/bitcoin-core/src/script/miniscript.h:196,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/script/miniscript.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: miniscript::MakeNodeRef
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::make_unique<const Node<Key>>
    - std::forward<Args>
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> MakeNodeRef(Args&&... args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ms_ctx
    argTypes:
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: miniscript::IsTapscript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 34
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool IsTapscript(MiniscriptContext ms_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:272,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/script/miniscript.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ms_ctx
    argTypes:
    - MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: miniscript::internal::MaxScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached:
    - IsTapscript
    - GetSizeOfCompactSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MaxScriptSize(MiniscriptContext ms_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: miniscript::internal::InputStack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InputStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: miniscript::internal::InputStack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>::size
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void InputStack(std::vector<unsigned char> in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/bitcoin-core/src/script/miniscript.h:346,1
    - Dst: std::forward<B>
      Src: /src/bitcoin-core/src/script/miniscript.h:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' in_nsat'
    - ' in_sat'
    argTypes:
    - A
    - B
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: miniscript::internal::InputResult
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    - std::forward<B>
    linkageType: ''
    returnType: void
    signature: void InputResult(A&& in_nsat, B&& in_sat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: miniscript::internal::MaxInt
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MaxInt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: miniscript::internal::MaxInt
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MaxInt(I val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MaxInt<I>
    - MaxInt<I>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: operator+(const MaxInt<I>& a, const MaxInt<I>& b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MaxInt<I>
    signature: MaxInt<I> operator+(const MaxInt<I>& a, const MaxInt<I>& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MaxInt<I>
    - MaxInt<I>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: operator|(const MaxInt<I>& a, const MaxInt<I>& b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: MaxInt<I>
    signature: MaxInt<I> operator|(const MaxInt<I>& a, const MaxInt<I>& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - in_count
    - in_sat
    - in_dsat
    argTypes:
    - uint32_t
    - MaxInt<uint32_t>
    - MaxInt<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 378
    functionName: miniscript::internal::Ops
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ops(uint32_t in_count, MaxInt<uint32_t> in_sat, MaxInt<uint32_t>
      in_dsat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: miniscript::internal::SatInfo
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatInfo() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_netdiff
    - in_exec
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: miniscript::internal::SatInfo
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatInfo(int32_t in_netdiff, int32_t in_exec) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:444,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: operator|(const SatInfo& a, const SatInfo& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo operator|(const SatInfo& a, const SatInfo& b) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: operator+(const SatInfo& a, const SatInfo& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo operator+(const SatInfo& a, const SatInfo& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: miniscript::internal::Empty
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Empty() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: miniscript::internal::Push
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Push() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: miniscript::internal::Hash
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Hash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: miniscript::internal::Nop
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Nop() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: miniscript::internal::If
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo If() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: miniscript::internal::BinaryOp
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo BinaryOp() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: miniscript::internal::OP_DUP
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_DUP() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonzero
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: miniscript::internal::OP_IFDUP
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_IFDUP(bool nonzero) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: miniscript::internal::OP_EQUALVERIFY
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_EQUALVERIFY() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: miniscript::internal::OP_EQUAL
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_EQUAL() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: miniscript::internal::OP_SIZE
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_SIZE() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: miniscript::internal::OP_CHECKSIG
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_CHECKSIG() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: miniscript::internal::OP_0NOTEQUAL
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_0NOTEQUAL() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: miniscript::internal::OP_VERIFY
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_VERIFY() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_sat
    - in_dsat
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: miniscript::internal::StackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackSize(SatInfo in_sat, SatInfo in_dsat) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in_both
    argTypes:
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: miniscript::internal::StackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackSize(SatInfo in_both) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_sat
    - in_dsat
    argTypes:
    - MaxInt<uint32_t>
    - MaxInt<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: miniscript::internal::WitnessSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessSize(MaxInt<uint32_t> in_sat, MaxInt<uint32_t> in_dsat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:272,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/script/miniscript.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ms_ctx
    argTypes:
    - MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: miniscript::internal::MaxScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached:
    - IsTapscript
    - GetSizeOfCompactSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MaxScriptSize(MiniscriptContext ms_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: miniscript::internal::InputStack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InputStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: miniscript::internal::InputStack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>::size
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void InputStack(std::vector<unsigned char> in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/bitcoin-core/src/script/miniscript.h:346,1
    - Dst: std::forward<B>
      Src: /src/bitcoin-core/src/script/miniscript.h:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' in_nsat'
    - ' in_sat'
    argTypes:
    - A
    - B
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: miniscript::internal::InputResult
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    - std::forward<B>
    linkageType: ''
    returnType: void
    signature: void InputResult(A&& in_nsat, B&& in_sat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: miniscript::internal::MaxInt
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MaxInt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: miniscript::internal::MaxInt
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MaxInt(I val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MaxInt<I>
    - MaxInt<I>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: operator+(const MaxInt<I>& a, const MaxInt<I>& b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MaxInt<I>
    signature: MaxInt<I> operator+(const MaxInt<I>& a, const MaxInt<I>& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MaxInt<I>
    - MaxInt<I>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: operator|(const MaxInt<I>& a, const MaxInt<I>& b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: MaxInt<I>
    signature: MaxInt<I> operator|(const MaxInt<I>& a, const MaxInt<I>& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - in_count
    - in_sat
    - in_dsat
    argTypes:
    - uint32_t
    - MaxInt<uint32_t>
    - MaxInt<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 378
    functionName: miniscript::internal::Ops
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ops(uint32_t in_count, MaxInt<uint32_t> in_sat, MaxInt<uint32_t>
      in_dsat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: miniscript::internal::SatInfo
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatInfo() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_netdiff
    - in_exec
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: miniscript::internal::SatInfo
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatInfo(int32_t in_netdiff, int32_t in_exec) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:444,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: operator|(const SatInfo& a, const SatInfo& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo operator|(const SatInfo& a, const SatInfo& b) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: operator+(const SatInfo& a, const SatInfo& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo operator+(const SatInfo& a, const SatInfo& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: miniscript::internal::Empty
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Empty() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: miniscript::internal::Push
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Push() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: miniscript::internal::Hash
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Hash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: miniscript::internal::Nop
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Nop() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: miniscript::internal::If
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo If() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: miniscript::internal::BinaryOp
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo BinaryOp() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: miniscript::internal::OP_DUP
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_DUP() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonzero
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: miniscript::internal::OP_IFDUP
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_IFDUP(bool nonzero) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: miniscript::internal::OP_EQUALVERIFY
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_EQUALVERIFY() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: miniscript::internal::OP_EQUAL
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_EQUAL() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: miniscript::internal::OP_SIZE
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_SIZE() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: miniscript::internal::OP_CHECKSIG
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_CHECKSIG() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: miniscript::internal::OP_0NOTEQUAL
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_0NOTEQUAL() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: miniscript::internal::OP_VERIFY
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_VERIFY() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_sat
    - in_dsat
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: miniscript::internal::StackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackSize(SatInfo in_sat, SatInfo in_dsat) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in_both
    argTypes:
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: miniscript::internal::StackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackSize(SatInfo in_both) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_sat
    - in_dsat
    argTypes:
    - MaxInt<uint32_t>
    - MaxInt<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: miniscript::internal::WitnessSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessSize(MaxInt<uint32_t> in_sat, MaxInt<uint32_t> in_dsat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/script/miniscript.h:521,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:522,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:522,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:523,1
    - Dst: auto::subs::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:524,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:525,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:525,1
    - Dst: auto::subs::back
      Src: /src/bitcoin-core/src/script/miniscript.h:525,1
    - Dst: auto::subs::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: ~Node()
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - empty
    - push_back
    - back
    - std::move
    - auto::subs::empty
    - pop_back
    - auto::subs::back
    - auto::subs::pop_back
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/miniscript.h:536,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/miniscript.h:536,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:537,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:537,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:540,1
    - Dst: Node::Node
      Src: /src/bitcoin-core/src/script/miniscript.h:540,1
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 543
    functionName: miniscript::Clone
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - end
    - Node::Node
    - std::vector::emplace_back
    - std::move
    - miniscript::TreeEval
    - begin
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> Clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - script_ctx
    - nt
    - sub
    - key
    - arg
    - val
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<Key>
    - std::vector<unsigned char>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 567
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<NodeRef<Key>> sub, std::vector<Key> key, std::vector<unsigned
      char> arg, uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::ScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:573,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:575,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:575,1
    - Dst: miniscript::internal::ComputeScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:576,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:576,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: miniscript::CalcScriptLen
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::internal::ComputeScriptLen
    - miniscript::ScriptSize
    - miniscript::GetType
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t CalcScriptLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:613,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:620,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:620,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:638,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:639,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:640,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:640,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:644,1
    - Dst: downfn
      Src: /src/bitcoin-core/src/script/miniscript.h:645,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:645,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:646,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:646,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:650,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:650,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:650,1
    - Dst: upfn
      Src: /src/bitcoin-core/src/script/miniscript.h:651,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:651,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:651,1
    - Dst: last
      Src: /src/bitcoin-core/src/script/miniscript.h:652,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:652,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/script/miniscript.h:656,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:656,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:656,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:656,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:657,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:657,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:658,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:661,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:661,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:662,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:662,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - root_state
    - downfn
    - upfn
    argTypes:
    - State
    - DownFn
    - UpFn
    assertStmts:
    - condition: (results.size() >= 1)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (results.size() >= node.subs.size())
      pos:
        line_end: 649
        line_start: 649
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 664
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 664
    functionName: miniscript::TreeEvalMaybe
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - downfn
    - subs::size
    - std::vector::erase
    - std::vector::emplace_back
    - std::vector::end
    - CHECK_NONFATAL
    - std::vector::back
    - std::move
    - upfn
    - std::vector::push_back
    - std::vector::pop_back
    - last
    - assert
    - std::vector::size
    linkageType: ''
    returnType: std::optional<Result>
    signature: std::optional<Result> TreeEvalMaybe(State root_state, DownFn downfn,
      UpFn upfn) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' node_'
    - exp_
    - ' state_'
    argTypes:
    - Node
    - size_t
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 613
    functionName: miniscript::StackElem
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void StackElem(const Node& node_, size_t exp_, State&& state_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::TreeEvalMaybe
      Src: /src/bitcoin-core/src/script/miniscript.h:672,1
    - Dst: upfn
      Src: /src/bitcoin-core/src/script/miniscript.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - upfn
    argTypes:
    - UpFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: miniscript::TreeEvalMaybe
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - upfn
    - miniscript::TreeEvalMaybe
    linkageType: ''
    returnType: std::optional<Result>
    signature: std::optional<Result> TreeEvalMaybe(UpFn upfn) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:686,1
    - Dst: miniscript::TreeEvalMaybe
      Src: /src/bitcoin-core/src/script/miniscript.h:686,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:686,1
    - Dst: std::forward<DownFn>
      Src: /src/bitcoin-core/src/script/miniscript.h:687,1
    - Dst: upfn
      Src: /src/bitcoin-core/src/script/miniscript.h:689,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:689,1
    - Dst: std::optional<Result>
      Src: /src/bitcoin-core/src/script/miniscript.h:690,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - root_state
    - ' downfn'
    - upfn
    argTypes:
    - State
    - DownFn
    - UpFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 693
    functionName: miniscript::TreeEval
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::TreeEvalMaybe
    - std::optional<Result>
    - std::move
    - std::forward<DownFn>
    - upfn
    linkageType: ''
    returnType: Result
    signature: Result TreeEval(State root_state, DownFn&& downfn, UpFn upfn) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:701,1
    - Dst: miniscript::TreeEvalMaybe
      Src: /src/bitcoin-core/src/script/miniscript.h:701,1
    - Dst: upfn
      Src: /src/bitcoin-core/src/script/miniscript.h:704,1
    - Dst: std::optional<Result>
      Src: /src/bitcoin-core/src/script/miniscript.h:705,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - upfn
    argTypes:
    - UpFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionName: miniscript::TreeEval
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::TreeEvalMaybe
    - upfn
    - std::move
    - std::optional<Result>
    linkageType: ''
    returnType: Result
    signature: Result TreeEval(UpFn upfn) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:714,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:715,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:716,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:717,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/script/miniscript.h:718,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/script/miniscript.h:718,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/script/miniscript.h:719,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/script/miniscript.h:719,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:720,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:720,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:721,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:721,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:722,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - Node<Key>
    - Node<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 728
    functionName: miniscript::Compare
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - subs::size
    - std::vector::emplace_back
    - std::tie
    - std::vector::back
    - std::vector::pop_back
    - std::vector::empty
    linkageType: ''
    returnType: int
    signature: int Compare(const Node<Key>& node1, const Node<Key>& node2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:737,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:737,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:740,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:740,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:741,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:741,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:742,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:742,1
    - Dst: SanitizeType
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    - Dst: ComputeType
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 745
    functionName: miniscript::CalcType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - SanitizeType
    - size
    - std::vector::push_back
    - ComputeType
    - miniscript::GetType
    linkageType: ''
    returnType: Type
    signature: Type CalcType() const
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:765,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:768,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:768,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:769,1
    - Dst: ToPKHBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:769,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:770,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:771,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:772,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:773,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:774,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:775,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:776,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:777,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:778,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:778,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:779,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:781,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:782,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:782,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:784,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:787,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:788,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:788,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:789,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:790,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:791,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:791,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:792,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:792,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:793,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:793,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:794,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:794,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:795,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:795,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:796,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:797,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:797,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:799,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:800,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:802,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:802,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:802,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:804,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:804,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:804,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:807,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:808,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:808,1
    - Dst: keys::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:808,1
    - Dst: keys::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:809,1
    - Dst: keys::end
      Src: /src/bitcoin-core/src/script/miniscript.h:809,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:810,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:810,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:810,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:812,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:812,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:815,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:816,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:817,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:817,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:819,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:819,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:822,1
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:824,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 84
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - Ctx
    assertStmts:
    - condition: (false)
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 825
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 825
    functionName: miniscript::ToScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - ToPKBytes
    - keys::begin
    - miniscript::IsTapscript
    - ToPKHBytes
    - std::move
    - size
    - keys::end
    - BuildScript
    - miniscript::GetType
    - miniscript::TreeEval
    - keys::size
    - assert
    - CHECK_NONFATAL
    linkageType: ''
    returnType: CScript
    signature: CScript ToScript(const Ctx& ctx) const
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:848,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:849,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:853,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:855,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:855,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:859,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:861,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:861,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:863,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:864,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:865,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:866,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:867,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:870,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:873,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:874,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:880,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:882,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:882,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:885,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:887,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:887,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:889,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:889,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:890,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:890,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:891,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/miniscript.h:891,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:892,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/miniscript.h:892,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:893,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/miniscript.h:893,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:894,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/miniscript.h:894,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:895,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:896,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:897,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:897,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:897,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:898,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:898,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:898,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:899,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:899,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:899,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:900,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:900,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:900,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:901,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:901,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:901,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:902,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:902,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:902,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:905,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:905,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:905,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:906,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:906,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:906,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:906,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:908,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:909,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:909,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:911,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:913,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:915,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:918,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:919,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:919,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:921,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:923,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:925,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:928,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:928,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:930,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:932,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:936,1
    - Dst: miniscript::TreeEvalMaybe
      Src: /src/bitcoin-core/src/script/miniscript.h:939,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 111
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - CTx
    assertStmts:
    - condition: (false)
      pos:
        line_end: 935
        line_start: 935
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 940
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 940
    functionName: miniscript::ToString
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - util::ToString
    - miniscript::TreeEvalMaybe
    - miniscript::IsTapscript
    - miniscript::ToString
    - std::move
    - HexStr
    - assert
    - CHECK_NONFATAL
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(const CTx& ctx) const
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:991,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:991,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:992,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:999,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1002,1
    - Dst: internal::MaxInt<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1002,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1005,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1006,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1006,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1007,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1007,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1008,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1010,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1010,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1013
        line_start: 1013
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (k < sats.size())
      pos:
        line_end: 1009
        line_start: 1009
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1015
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 1015
    functionName: miniscript::CalcOps
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - auto::size
    - auto::push_back
    - size
    - std::move
    - Vector
    - miniscript::GetType
    - assert
    - internal::MaxInt<uint32_t>
    linkageType: ''
    returnType: internal::Ops
    signature: internal::Ops CalcOps() const
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1020,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1021,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1023,1
    - Dst: miniscript::internal::Nop
      Src: /src/bitcoin-core/src/script/miniscript.h:1023,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1024,1
    - Dst: miniscript::internal::OP_DUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1025,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/script/miniscript.h:1025,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1025,1
    - Dst: miniscript::internal::OP_EQUALVERIFY
      Src: /src/bitcoin-core/src/script/miniscript.h:1025,1
    - Dst: miniscript::internal::OP_SIZE
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: miniscript::internal::OP_EQUALVERIFY
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: miniscript::internal::OP_EQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1038,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1038,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1039,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1050,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1050,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1056,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1057,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1063,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1063,1
    - Dst: miniscript::internal::OP_IFDUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1069,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1069,1
    - Dst: miniscript::internal::OP_IFDUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1069,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1069,1
    - Dst: miniscript::internal::OP_IFDUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1070,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1070,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1076,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1076,1
    - Dst: SatInfo
      Src: /src/bitcoin-core/src/script/miniscript.h:1082,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1082,1
    - Dst: SatInfo
      Src: /src/bitcoin-core/src/script/miniscript.h:1086,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1086,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1086,1
    - Dst: miniscript::internal::OP_CHECKSIG
      Src: /src/bitcoin-core/src/script/miniscript.h:1091,1
    - Dst: miniscript::internal::OP_CHECKSIG
      Src: /src/bitcoin-core/src/script/miniscript.h:1092,1
    - Dst: miniscript::internal::OP_DUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1095,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1095,1
    - Dst: miniscript::internal::OP_DUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1096,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1096,1
    - Dst: miniscript::internal::OP_VERIFY
      Src: /src/bitcoin-core/src/script/miniscript.h:1098,1
    - Dst: miniscript::internal::OP_SIZE
      Src: /src/bitcoin-core/src/script/miniscript.h:1100,1
    - Dst: miniscript::internal::OP_0NOTEQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1100,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1100,1
    - Dst: miniscript::internal::OP_SIZE
      Src: /src/bitcoin-core/src/script/miniscript.h:1101,1
    - Dst: miniscript::internal::OP_0NOTEQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1101,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1101,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1105,1
    - Dst: CDBWrapper::IsEmpty
      Src: /src/bitcoin-core/src/script/miniscript.h:1105,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1106,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1109,1
    - Dst: CDBWrapper::IsEmpty
      Src: /src/bitcoin-core/src/script/miniscript.h:1109,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1111,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1113,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1114,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1117,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1117,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1119,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1124,1
    - Dst: miniscript::internal::OP_EQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1124,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1125,1
    - Dst: miniscript::internal::OP_EQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1125,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1128
        line_start: 1128
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1130
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1130
    functionName: miniscript::CalcStackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - auto::size
    - auto::push_back
    - std::move
    - Vector
    - CDBWrapper::IsEmpty
    - miniscript::internal::OP_EQUAL
    - miniscript::internal::OP_IFDUP
    - miniscript::internal::OP_0NOTEQUAL
    - miniscript::internal::Nop
    - PKHash
    - miniscript::internal::OP_DUP
    - miniscript::internal::OP_CHECKSIG
    - miniscript::internal::OP_EQUALVERIFY
    - miniscript::internal::OP_SIZE
    - assert
    - TestBuilder::DoPush
    - miniscript::Type::If
    - miniscript::internal::OP_VERIFY
    - size
    - SatInfo
    - miniscript::internal::BinaryOp
    linkageType: ''
    returnType: internal::StackSize
    signature: internal::StackSize CalcStackSize() const
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1133,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1134,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1162,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1162,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1162,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1162,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1171,1
    - Dst: internal::MaxInt<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1171,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1173,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1174,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1174,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1175,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1175,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1176,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1178,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1178,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (k < sats.size())
      pos:
        line_end: 1177
        line_start: 1177
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (false)
      pos:
        line_end: 1181
        line_start: 1181
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1183
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1183
    functionName: miniscript::CalcWitnessSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - auto::size
    - auto::push_back
    - miniscript::IsTapscript
    - static_cast<uint32_t>
    - size
    - std::move
    - Vector
    - assert
    - internal::MaxInt<uint32_t>
    linkageType: ''
    returnType: internal::WitnessSize
    signature: internal::WitnessSize CalcWitnessSize() const
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: Sign
      Src: /src/bitcoin-core/src/script/miniscript.h:1195,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1196,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1196,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:1199,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/script/miniscript.h:1200,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1206,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1207,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/script/miniscript.h:1211,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1211,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1213,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1213,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1218,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1219,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1219,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1219,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1220,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1220,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1220,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1220,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1222,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1227,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1228,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1228,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1229,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1229,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1235,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1236,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/script/miniscript.h:1238,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1240,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1240,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1245,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1246,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1246,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1246,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1247,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1247,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1247,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1247,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1249,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1253,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1254,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1254,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1255,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1255,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1261,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1262,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1264,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1269,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1270,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1270,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1270,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1271,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1271,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1271,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1271,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1273,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1278,1
    - Dst: SetMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1285,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1287,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1287,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1289,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1289,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1290,1
    - Dst: CheckOlder
      Src: /src/bitcoin-core/src/script/miniscript.h:1293,1
    - Dst: CheckAfter
      Src: /src/bitcoin-core/src/script/miniscript.h:1296,1
    - Dst: SatSHA256
      Src: /src/bitcoin-core/src/script/miniscript.h:1300,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1301,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1301,1
    - Dst: SatRIPEMD160
      Src: /src/bitcoin-core/src/script/miniscript.h:1305,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1306,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1306,1
    - Dst: SatHASH256
      Src: /src/bitcoin-core/src/script/miniscript.h:1310,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1311,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1311,1
    - Dst: SatHASH160
      Src: /src/bitcoin-core/src/script/miniscript.h:1315,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1316,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1316,1
    - Dst: SetNonCanon
      Src: /src/bitcoin-core/src/script/miniscript.h:1326,1
    - Dst: SetMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1335,1
    - Dst: SetMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1335,1
    - Dst: SetMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1340,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1344,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1348,1
    - Dst: SetNonCanon
      Src: /src/bitcoin-core/src/script/miniscript.h:1356,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1362,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1374,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1374,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1378,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1383,1
    - Dst: helper
      Src: /src/bitcoin-core/src/script/miniscript.h:1388,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1394,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1394,1
    - Dst: auto::nsat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1394,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1395,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1395,1
    - Dst: auto::sat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1395,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1398,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1398,1
    - Dst: auto::nsat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1398,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1399,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1399,1
    - Dst: auto::sat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1399,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1403,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1403,1
    - Dst: auto::sat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1403,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1404,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1404,1
    - Dst: auto::nsat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1404,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1405,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1405,1
    - Dst: auto::sat::stack::back
      Src: /src/bitcoin-core/src/script/miniscript.h:1405,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1409,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1409,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1410,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1410,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1411,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1411,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1414,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1414,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1415,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1415,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1418,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1418,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1419,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1419,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1422,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1422,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1425,1
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:1430,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 146
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - Ctx
    assertStmts:
    - condition: (node.k < sats.size())
      pos:
        line_end: 1288
        line_start: 1288
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (node.k < sats.size())
      pos:
        line_end: 1253
        line_start: 1253
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (node.k < sats.size())
      pos:
        line_end: 1227
        line_start: 1227
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (false)
      pos:
        line_end: 1382
        line_start: 1382
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1431
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1431
    functionName: miniscript::ProduceInput
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - ToPKBytes
    - Sign
    - std::move
    - std::vector::push_back
    - Vector
    - SetNonCanon
    - SatHASH160
    - CHECK_NONFATAL
    - InputStack
    - auto::nsat::stack::size
    - miniscript::GetType
    - keys::size
    - std::vector::size
    - CheckOlder
    - auto::sat::stack::back
    - miniscript::TreeEval
    - SetAvailable
    - assert
    - SetMalleable
    - auto::sat::stack::size
    - SatHASH256
    - size
    - SatRIPEMD160
    - helper
    - SatSHA256
    - CheckAfter
    linkageType: ''
    returnType: internal::InputResult
    signature: internal::InputResult ProduceInput(const Ctx& ctx) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: KeyCompare
      Src: /src/bitcoin-core/src/script/miniscript.h:1446,1
    - Dst: has_duplicate_keys::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1457,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1461,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1469,1
    - Dst: keys::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1470,1
    - Dst: keys::end
      Src: /src/bitcoin-core/src/script/miniscript.h:1470,1
    - Dst: miniscript::Comp
      Src: /src/bitcoin-core/src/script/miniscript.h:1470,1
    - Dst: keyset::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1471,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1479,1
    - Dst: keyset::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1482,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1482,1
    - Dst: swap
      Src: /src/bitcoin-core/src/script/miniscript.h:1482,1
    - Dst: keyset::merge
      Src: /src/bitcoin-core/src/script/miniscript.h:1483,1
    - Dst: keyset::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1484,1
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:1494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1439
    functionDepth: 3
    functionLinenumber: 1439
    functionLinenumberEnd: 1495
    functionName: miniscript::DuplicateKeyCheck
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - keys::begin
    - has_duplicate_keys::has_value
    - keyset::merge
    - miniscript::Comp
    - keyset::size
    - size
    - swap
    - keys::end
    - miniscript::TreeEval
    - has_value
    - keys::size
    - KeyCompare
    linkageType: ''
    returnType: void
    signature: void DuplicateKeyCheck(const Ctx& ctx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1445
    functionName: miniscript::Comp
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Comp(const Ctx& ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyCompare
      Src: /src/bitcoin-core/src/script/miniscript.h:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1446
    functionName: operator()(const Key& a, const Key& b) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - KeyCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Key& a, const Key& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1498
    functionName: miniscript::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ScriptSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1504
    functionName: miniscript::GetOps
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetOps() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1507
    functionName: miniscript::GetStaticOps
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetStaticOps() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1511,1
    - Dst: miniscript::GetOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1514
    functionName: miniscript::CheckOpsLimit
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsTapscript
    - miniscript::GetOps
    linkageType: ''
    returnType: bool
    signature: bool CheckOpsLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1519
    functionName: miniscript::IsBKW
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool IsBKW() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1524,1
    - Dst: miniscript::IsBKW
      Src: /src/bitcoin-core/src/script/miniscript.h:1524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1522
    functionDepth: 2
    functionLinenumber: 1522
    functionLinenumberEnd: 1525
    functionName: miniscript::GetStackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsBKW
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetStackSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1530,1
    - Dst: miniscript::IsBKW
      Src: /src/bitcoin-core/src/script/miniscript.h:1530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1528
    functionDepth: 2
    functionLinenumber: 1528
    functionLinenumberEnd: 1531
    functionName: miniscript::GetExecStackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsBKW
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetExecStackSize() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1537,1
    - Dst: miniscript::GetExecStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1538,1
    - Dst: miniscript::GetStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1534
    functionDepth: 3
    functionLinenumber: 1534
    functionLinenumberEnd: 1543
    functionName: miniscript::CheckStackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsTapscript
    - miniscript::GetStackSize
    - miniscript::GetExecStackSize
    linkageType: ''
    returnType: bool
    signature: bool CheckStackSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1546
    functionDepth: 3
    functionLinenumber: 1546
    functionLinenumberEnd: 1546
    functionName: miniscript::IsNotSatisfiable
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::GetStackSize
    linkageType: ''
    returnType: bool
    signature: bool IsNotSatisfiable() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1553
    functionName: miniscript::GetWitnessSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetWitnessSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1556
    functionName: miniscript::GetType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type GetType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1559
    functionName: miniscript::GetMsCtx
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MiniscriptContext
    signature: MiniscriptContext GetMsCtx() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:1563,1
    - Dst: miniscript::IsSaneSubexpression
      Src: /src/bitcoin-core/src/script/miniscript.h:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1568
    functionName: miniscript::FindInsaneSub
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsSaneSubexpression
    - miniscript::TreeEval
    linkageType: ''
    returnType: Node
    signature: Node * FindInsaneSub() const
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:1576,1
    - Dst: fn
      Src: /src/bitcoin-core/src/script/miniscript.h:1592,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1604,1
    - Dst: std::count
      Src: /src/bitcoin-core/src/script/miniscript.h:1604,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1604,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/miniscript.h:1604,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1606,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1606,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1607,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - fn
    argTypes:
    - F
    assertStmts:
    - condition: (subs.size() >= 1)
      pos:
        line_end: 1605
        line_start: 1605
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1611
      start: 1573
    functionDepth: 3
    functionLinenumber: 1573
    functionLinenumberEnd: 1611
    functionName: miniscript::IsSatisfiable
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - end
    - static_cast<uint32_t>
    - std::count
    - size
    - fn
    - miniscript::TreeEval
    - assert
    - CHECK_NONFATAL
    - begin
    linkageType: ''
    returnType: bool
    signature: bool IsSatisfiable(F fn) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1615,1
    - Dst: miniscript::ScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1616,1
    - Dst: miniscript::internal::MaxScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1614
    functionDepth: 3
    functionLinenumber: 1614
    functionLinenumberEnd: 1617
    functionName: miniscript::IsValid
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::internal::MaxScriptSize
    - miniscript::ScriptSize
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool IsValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsValid
      Src: /src/bitcoin-core/src/script/miniscript.h:1620,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1620
    functionDepth: 4
    functionLinenumber: 1620
    functionLinenumberEnd: 1620
    functionName: miniscript::IsValidTopLevel
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsValid
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool IsValidTopLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1623
    functionName: miniscript::IsNonMalleable
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool IsNonMalleable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1626
    functionName: miniscript::NeedsSignature
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool NeedsSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1629
    functionName: miniscript::CheckTimeLocksMix
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool CheckTimeLocksMix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1632
    functionName: miniscript::CheckDuplicateKey
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckDuplicateKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsValid
      Src: /src/bitcoin-core/src/script/miniscript.h:1635,1
    - Dst: miniscript::CheckOpsLimit
      Src: /src/bitcoin-core/src/script/miniscript.h:1635,1
    - Dst: miniscript::CheckStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1635
    functionDepth: 4
    functionLinenumber: 1635
    functionLinenumberEnd: 1635
    functionName: miniscript::ValidSatisfactions
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsValid
    - miniscript::CheckStackSize
    - miniscript::CheckOpsLimit
    linkageType: ''
    returnType: bool
    signature: bool ValidSatisfactions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::ValidSatisfactions
      Src: /src/bitcoin-core/src/script/miniscript.h:1638,1
    - Dst: miniscript::IsNonMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1638,1
    - Dst: miniscript::CheckTimeLocksMix
      Src: /src/bitcoin-core/src/script/miniscript.h:1638,1
    - Dst: miniscript::CheckDuplicateKey
      Src: /src/bitcoin-core/src/script/miniscript.h:1638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1638
    functionDepth: 5
    functionLinenumber: 1638
    functionLinenumberEnd: 1638
    functionName: miniscript::IsSaneSubexpression
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::ValidSatisfactions
    - miniscript::IsNonMalleable
    - miniscript::CheckDuplicateKey
    - miniscript::CheckTimeLocksMix
    linkageType: ''
    returnType: bool
    signature: bool IsSaneSubexpression() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsValidTopLevel
      Src: /src/bitcoin-core/src/script/miniscript.h:1641,1
    - Dst: miniscript::IsSaneSubexpression
      Src: /src/bitcoin-core/src/script/miniscript.h:1641,1
    - Dst: miniscript::NeedsSignature
      Src: /src/bitcoin-core/src/script/miniscript.h:1641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1641
    functionDepth: 6
    functionLinenumber: 1641
    functionLinenumberEnd: 1641
    functionName: miniscript::IsSane
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsValidTopLevel
    - miniscript::NeedsSignature
    - miniscript::IsSaneSubexpression
    linkageType: ''
    returnType: bool
    signature: bool IsSane() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::ProduceInput
      Src: /src/bitcoin-core/src/script/miniscript.h:1649,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' ctx'
    - ' stack'
    argTypes:
    - Ctx
    - std::vector<std::vector<unsigned char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1653
    functionName: miniscript::Satisfy
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::ProduceInput
    - std::move
    linkageType: ''
    returnType: Availability
    signature: Availability Satisfy(const Ctx& ctx, std::vector<std::vector<unsigned
      char>>& stack, bool nonmalleable = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::Compare
      Src: /src/bitcoin-core/src/script/miniscript.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Node<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1656
    functionName: operator==(const Node<Key>& arg) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::Compare
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Node<Key>& arg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - script_ctx
    - nt
    - sub
    - arg
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1659
    functionDepth: 4
    functionLinenumber: 1659
    functionLinenumberEnd: 1660
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<NodeRef<Key>> sub, std::vector<unsigned char> arg, uint32_t
      val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - arg
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1661
    functionDepth: 4
    functionLinenumber: 1661
    functionLinenumberEnd: 1662
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<unsigned char> arg, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - script_ctx
    - nt
    - sub
    - key
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1663
    functionDepth: 4
    functionLinenumber: 1663
    functionLinenumberEnd: 1664
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<NodeRef<Key>> sub, std::vector<Key> key, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - key
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1665
    functionDepth: 4
    functionLinenumber: 1665
    functionLinenumberEnd: 1666
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<Key> key, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - sub
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1667
    functionDepth: 4
    functionLinenumber: 1667
    functionLinenumberEnd: 1668
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<NodeRef<Key>> sub, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - script_ctx
    - nt
    argTypes:
    - MiniscriptContext
    - Fragment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1669
    functionDepth: 4
    functionLinenumber: 1669
    functionLinenumberEnd: 1670
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1674,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1674,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1674,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ctx'
    - nt
    - sub
    - arg
    argTypes:
    - Ctx
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1673
    functionDepth: 4
    functionLinenumber: 1673
    functionLinenumberEnd: 1674
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<NodeRef<Key>> sub,
      std::vector<unsigned char> arg, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1676,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1676,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - nt
    - arg
    argTypes:
    - Ctx
    - Fragment
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1675
    functionDepth: 4
    functionLinenumber: 1675
    functionLinenumberEnd: 1676
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<unsigned char> arg,
      uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1678,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1678,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1678,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ctx'
    - nt
    - sub
    - key
    argTypes:
    - Ctx
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1677
    functionDepth: 4
    functionLinenumber: 1677
    functionLinenumberEnd: 1678
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<NodeRef<Key>> sub,
      std::vector<Key> key, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1680,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1680,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - nt
    - key
    argTypes:
    - Ctx
    - Fragment
    - std::vector<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1679
    functionDepth: 4
    functionLinenumber: 1679
    functionLinenumberEnd: 1680
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<Key> key, uint32_t
      val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1682,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1682,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - nt
    - sub
    argTypes:
    - Ctx
    - Fragment
    - std::vector<NodeRef<Key>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1681
    functionDepth: 4
    functionLinenumber: 1681
    functionLinenumberEnd: 1682
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<NodeRef<Key>> sub,
      uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1684,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ctx'
    - nt
    argTypes:
    - Ctx
    - Fragment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1683
    functionDepth: 4
    functionLinenumber: 1683
    functionLinenumberEnd: 1684
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1687
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node(const Node&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1688
    functionName: '& operator=(const Node&)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node & operator=(const Node&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1753,1
    - Dst: FromString
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - in
    - ' ctx'
    argTypes:
    - std::span<const char>
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1751
    functionDepth: 2
    functionLinenumber: 1751
    functionLinenumberEnd: 1758
    functionName: miniscript::internal::ParseKeyEnd
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - FromString
    - std::span<const char>::begin
    - miniscript::internal::FindNextChar
    - std::move
    linkageType: ''
    returnType: std::optional<std::pair<Key, int>>
    signature: std::optional<std::pair<Key, int>> ParseKeyEnd(std::span<const char>
      in, const Ctx& ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1765,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/miniscript.h:1768,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/miniscript.h:1769,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1770,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - in
    - expected_size
    - ' ctx'
    argTypes:
    - std::span<const char>
    - size_t
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1772
    functionName: miniscript::internal::ParseHexStrEnd
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - IsHex
    - auto::size
    - std::move
    - std::string
    - std::span<const char>::begin
    - miniscript::internal::FindNextChar
    - ParseHex
    linkageType: ''
    returnType: std::optional<std::pair<std::vector<unsigned char>, int>>
    signature: "std::optional<std::pair<std::vector<unsigned char>, int>> ParseHexStrEnd(std::span<const
      char> in, const size_t expected_size,\n                                                                         const
      Ctx& ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1778,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1778,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1779,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - ' constructed'
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1785
    functionName: miniscript::internal::BuildBack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - back
    - std::move
    - Vector
    - pop_back
    - MakeNodeRef
    linkageType: ''
    returnType: void
    signature: void BuildBack(const MiniscriptContext script_ctx, Fragment nt, std::vector<NodeRef<Key>>&
      constructed, const bool reverse = false)
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::MaxScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1808,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1808,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1814,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1820,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1822,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1825,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/script/miniscript.h:1826,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1827,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1831,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1832,1
    - Dst: FromString
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1836,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1836,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1837,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1839,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1839,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1840,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1843,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:1843,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1846,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1846,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:1852,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:1856,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1857,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1862,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1875,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1878,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1881,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1884,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1887,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1890,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1895,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1898,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1901,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1906,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1912,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1913,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1917,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1919,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1921,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1922,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1926,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1927,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1927,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1928,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1929,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1933,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1935,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1936,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1940,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1941,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1941,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1942,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1943,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1947,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1949,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1950,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1954,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1956,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1957,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1961,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1963,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1964,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1968,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1970,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1971,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1975,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1977,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1978,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1981,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1983,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1985,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1986,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1989,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1991,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1993,1
    - Dst: parse_multi_exp
      Src: /src/bitcoin-core/src/script/miniscript.h:1994,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1995,1
    - Dst: parse_multi_exp
      Src: /src/bitcoin-core/src/script/miniscript.h:1996,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1997,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1998,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:2001,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2002,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2004,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2005,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2007,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2008,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2009,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2010,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2011,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2012,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2013,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2014,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2017,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2018,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2020,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2021,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2023,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2024,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2026,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2027,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2029,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2030,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2032,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2033,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2035,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2036,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2041,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2042,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2043,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2044,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2073,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2086,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2086,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2090,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2090,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2091,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2096,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2096,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2100,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2100,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2104,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2104,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2108,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2108,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2112,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2112,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2116,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2116,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2117,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2118,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2118,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2119,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2124,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2126,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2127,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2128,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2132,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2137,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2147,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2148,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2152,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2153,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:2160,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2160,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:2161,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2161,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:2162,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:2162,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2163,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2164,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/script/miniscript.h:2164,1
    - Dst: NodeRef::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:2165,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 362
    argCount: 2
    argNames:
    - in
    - ' ctx'
    argTypes:
    - std::span<const char>
    - Ctx
    assertStmts:
    - condition: (constructed.size() >= 1)
      pos:
        line_end: 2159
        line_start: 2159
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (constructed[0]->ScriptSize() == script_size)
      pos:
        line_end: 2161
        line_start: 2161
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 2167
      start: 1793
    functionDepth: 3
    functionLinenumber: 1793
    functionLinenumberEnd: 2167
    functionName: miniscript::internal::Parse
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ScriptSize
    - std::move
    - FromString
    - ToIntegral
    - std::vector::push_back
    - Vector
    - miniscript::internal::BuildBack
    - CHECK_NONFATAL
    - MakeNodeRef
    - auto::value
    - miniscript::internal::MaxScriptSize
    - miniscript::internal::ParseHexStrEnd
    - std::vector::end
    - std::vector::front
    - std::vector::back
    - IsTapscript
    - std::span<const char>::size
    - miniscript::internal::FindNextChar
    - BuildScript
    - std::vector::pop_back
    - std::vector::empty
    - std::reverse
    - std::vector::size
    - miniscript::internal::ParseKeyEnd
    - assert
    - std::string_view
    - Const
    - MsContext
    - auto::has_value
    - parse_multi_exp
    - std::span<const char>::subspan
    - std::vector::begin
    - NodeRef::DuplicateKeyCheck
    - std::span<const char>::begin
    - std::span<const char>::data
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> Parse(std::span<const char> in, const Ctx& ctx)
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2260,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2262,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2264,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2264,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2267,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2268,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2286,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2286,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2293,1
    - Dst: FromPKHBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2302,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2308,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2315,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2316,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2320,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2324,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2328,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:2336,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2336,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2338,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2342,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2345,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2345,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2347,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:2356,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2356,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2358,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/miniscript.h:2363,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2369,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2372,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2372,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2374,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2378,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2379,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2390,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2391,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2397,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2398,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2404,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2405,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2409,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2412,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2418,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2419,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2430,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2431,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2432,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2438,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2439,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2440,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2447,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2448,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2456,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2458,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2460,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2467,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2469,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2474,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2480,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2486,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2491,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2496,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2501,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2506,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2511,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2512,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2512,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2516,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2517,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2517,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2521,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2522,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2522,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2526,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2527,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2527,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2531,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2532,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2532,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2536,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2537,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2537,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2538,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2539,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2539,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2540,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2541,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2541,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2549,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2550,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2552,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2554,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2559,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:2559,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2562,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2562,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2563,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2564,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2564,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2575,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2576,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2582,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2585,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2593,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2604,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2606,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2609,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2616,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2616,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2619,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2621,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2629,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2630,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/script/miniscript.h:2630,1
    - Dst: NodeRef::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:2631,1
    - Dst: NodeRef::IsValidTopLevel
      Src: /src/bitcoin-core/src/script/miniscript.h:2634,1
    CyclomaticComplexity: 169
    EdgeCount: 169
    ICount: 363
    argCount: 3
    argNames:
    - ' in'
    - last
    - ' ctx'
    argTypes:
    - I
    - I
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2252
    functionDepth: 3
    functionLinenumber: 2252
    functionLinenumberEnd: 2636
    functionName: miniscript::internal::DecodeScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - FromPKBytes
    - std::move
    - std::vector::push_back
    - Vector
    - second::begin
    - miniscript::internal::BuildBack
    - NodeRef::IsValidTopLevel
    - MakeNodeRef
    - second::size
    - std::vector::front
    - std::vector::end
    - static_cast<size_t>
    - std::vector::back
    - IsTapscript
    - std::vector::reserve
    - std::vector::pop_back
    - std::vector::empty
    - std::reverse
    - std::vector::size
    - miniscript::internal::ParseScriptNumber
    - second::end
    - MsContext
    - std::vector::begin
    - NodeRef::DuplicateKeyCheck
    - FromPKHBytes
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> DecodeScript(I& in, I last, const Ctx& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1753,1
    - Dst: FromString
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - in
    - ' ctx'
    argTypes:
    - std::span<const char>
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1751
    functionDepth: 2
    functionLinenumber: 1751
    functionLinenumberEnd: 1758
    functionName: miniscript::internal::ParseKeyEnd
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - FromString
    - std::span<const char>::begin
    - miniscript::internal::FindNextChar
    - std::move
    linkageType: ''
    returnType: std::optional<std::pair<Key, int>>
    signature: std::optional<std::pair<Key, int>> ParseKeyEnd(std::span<const char>
      in, const Ctx& ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1765,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/miniscript.h:1768,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/miniscript.h:1769,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1770,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - in
    - expected_size
    - ' ctx'
    argTypes:
    - std::span<const char>
    - size_t
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1772
    functionName: miniscript::internal::ParseHexStrEnd
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - IsHex
    - auto::size
    - std::move
    - std::string
    - std::span<const char>::begin
    - miniscript::internal::FindNextChar
    - ParseHex
    linkageType: ''
    returnType: std::optional<std::pair<std::vector<unsigned char>, int>>
    signature: "std::optional<std::pair<std::vector<unsigned char>, int>> ParseHexStrEnd(std::span<const
      char> in, const size_t expected_size,\n                                                                         const
      Ctx& ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1778,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1778,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1779,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - ' constructed'
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1785
    functionName: miniscript::internal::BuildBack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached:
    - back
    - std::move
    - Vector
    - pop_back
    - MakeNodeRef
    linkageType: ''
    returnType: void
    signature: void BuildBack(const MiniscriptContext script_ctx, Fragment nt, std::vector<NodeRef<Key>>&
      constructed, const bool reverse = false)
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::MaxScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1808,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1808,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1814,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1820,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1822,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1825,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/script/miniscript.h:1826,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1827,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1831,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1832,1
    - Dst: FromString
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1836,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1836,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1837,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1839,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1839,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1840,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1843,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:1843,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1846,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1846,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:1852,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:1856,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1857,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1862,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1875,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1878,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1881,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1884,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1887,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1890,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1895,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1898,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1901,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1906,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1912,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1913,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1917,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1919,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1921,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1922,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1926,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1927,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1927,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1928,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1929,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1933,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1935,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1936,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1940,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1941,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1941,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1942,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1943,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1947,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1949,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1950,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1954,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1956,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1957,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1961,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1963,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1964,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1968,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1970,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1971,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1975,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1977,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1978,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1981,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1983,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1985,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1986,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1989,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1991,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1993,1
    - Dst: parse_multi_exp
      Src: /src/bitcoin-core/src/script/miniscript.h:1994,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1995,1
    - Dst: parse_multi_exp
      Src: /src/bitcoin-core/src/script/miniscript.h:1996,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1997,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1998,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:2001,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2002,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2004,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2005,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2007,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2008,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2009,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2010,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2011,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2012,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2013,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2014,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2017,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2018,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2020,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2021,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2023,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2024,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2026,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2027,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2029,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2030,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2032,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2033,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2035,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2036,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2041,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2042,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2043,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2044,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2073,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2086,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2086,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2090,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2090,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2091,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2096,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2096,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2100,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2100,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2104,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2104,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2108,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2108,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2112,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2112,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2116,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2116,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2117,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2118,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2118,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2119,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2124,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2126,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2127,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2128,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2132,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2137,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2147,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2148,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2152,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2153,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:2160,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2160,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:2161,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2161,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:2162,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:2162,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2163,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2164,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/script/miniscript.h:2164,1
    - Dst: NodeRef::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:2165,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 362
    argCount: 2
    argNames:
    - in
    - ' ctx'
    argTypes:
    - std::span<const char>
    - Ctx
    assertStmts:
    - condition: (constructed.size() >= 1)
      pos:
        line_end: 2159
        line_start: 2159
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (constructed[0]->ScriptSize() == script_size)
      pos:
        line_end: 2161
        line_start: 2161
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 2167
      start: 1793
    functionDepth: 3
    functionLinenumber: 1793
    functionLinenumberEnd: 2167
    functionName: miniscript::internal::Parse
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ScriptSize
    - std::move
    - FromString
    - ToIntegral
    - std::vector::push_back
    - Vector
    - miniscript::internal::BuildBack
    - CHECK_NONFATAL
    - MakeNodeRef
    - auto::value
    - miniscript::internal::MaxScriptSize
    - miniscript::internal::ParseHexStrEnd
    - std::vector::end
    - std::vector::front
    - std::vector::back
    - IsTapscript
    - std::span<const char>::size
    - miniscript::internal::FindNextChar
    - BuildScript
    - std::vector::pop_back
    - std::vector::empty
    - std::reverse
    - std::vector::size
    - miniscript::internal::ParseKeyEnd
    - assert
    - std::string_view
    - Const
    - MsContext
    - auto::has_value
    - parse_multi_exp
    - std::span<const char>::subspan
    - std::vector::begin
    - NodeRef::DuplicateKeyCheck
    - std::span<const char>::begin
    - std::span<const char>::data
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> Parse(std::span<const char> in, const Ctx& ctx)
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2260,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2262,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2264,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2264,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2267,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2268,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2286,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2286,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2293,1
    - Dst: FromPKHBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2302,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2308,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2315,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2316,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2320,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2324,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2328,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:2336,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2336,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2338,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2342,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2345,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2345,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2347,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:2356,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2356,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2358,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/miniscript.h:2363,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2369,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2372,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2372,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2374,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2378,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2379,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2390,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2391,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2397,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2398,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2404,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2405,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2409,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2412,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2418,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2419,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2430,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2431,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2432,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2438,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2439,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2440,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2447,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2448,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2456,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2458,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2460,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2467,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2469,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2474,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2480,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2486,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2491,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2496,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2501,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2506,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2511,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2512,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2512,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2516,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2517,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2517,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2521,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2522,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2522,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2526,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2527,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2527,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2531,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2532,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2532,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2536,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2537,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2537,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2538,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2539,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2539,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2540,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2541,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2541,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2549,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2550,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2552,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2554,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2559,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:2559,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2562,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2562,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2563,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2564,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2564,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2575,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2576,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2582,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2585,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2593,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2604,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2606,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2609,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2616,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2616,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2619,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2621,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2629,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2630,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/script/miniscript.h:2630,1
    - Dst: NodeRef::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:2631,1
    - Dst: NodeRef::IsValidTopLevel
      Src: /src/bitcoin-core/src/script/miniscript.h:2634,1
    CyclomaticComplexity: 169
    EdgeCount: 169
    ICount: 363
    argCount: 3
    argNames:
    - ' in'
    - last
    - ' ctx'
    argTypes:
    - I
    - I
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2252
    functionDepth: 3
    functionLinenumber: 2252
    functionLinenumberEnd: 2636
    functionName: miniscript::internal::DecodeScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - FromPKBytes
    - std::move
    - std::vector::push_back
    - Vector
    - second::begin
    - miniscript::internal::BuildBack
    - NodeRef::IsValidTopLevel
    - MakeNodeRef
    - second::size
    - std::vector::front
    - std::vector::end
    - static_cast<size_t>
    - std::vector::back
    - IsTapscript
    - std::vector::reserve
    - std::vector::pop_back
    - std::vector::empty
    - std::reverse
    - std::vector::size
    - miniscript::internal::ParseScriptNumber
    - second::end
    - MsContext
    - std::vector::begin
    - NodeRef::DuplicateKeyCheck
    - FromPKHBytes
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> DecodeScript(I& in, I last, const Ctx& ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::Parse<typename Ctx::Key>
      Src: /src/bitcoin-core/src/script/miniscript.h:2642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - ' ctx'
    argTypes:
    - std::string
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2643
    functionName: miniscript::FromString
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 5
    functionsReached:
    - internal::Parse<typename Ctx::Key>
    linkageType: ''
    returnType: NodeRef<typename Ctx::Key>
    signature: NodeRef<typename Ctx::Key> FromString(const std::string& str, const
      Ctx& ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:2649,1
    - Dst: MaxScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:2649,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2649,1
    - Dst: DecomposeScript
      Src: /src/bitcoin-core/src/script/miniscript.h:2650,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2652,1
    - Dst: DecodeScript<typename Ctx::Key>
      Src: /src/bitcoin-core/src/script/miniscript.h:2653,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2653,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' script'
    - ' ctx'
    argTypes:
    - CScript
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2657
    functionName: miniscript::FromScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 8
    functionsReached:
    - auto::begin
    - MsContext
    - DecomposeScript
    - MaxScriptSize
    - DecodeScript<typename Ctx::Key>
    - size
    - auto::end
    linkageType: ''
    returnType: NodeRef<typename Ctx::Key>
    signature: NodeRef<typename Ctx::Key> FromScript(const CScript& script, const
      Ctx& ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: miniscript::Type::Type
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Type(uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/bitcoin-core/src/script/miniscript.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: operator|(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - Type
    linkageType: ''
    returnType: Type
    signature: Type operator|(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/bitcoin-core/src/script/miniscript.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: operator&(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - Type
    linkageType: ''
    returnType: Type
    signature: Type operator&(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: operator<<(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<<(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: operator<(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: operator==(Type x) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(Type x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::Type::Type
      Src: /src/bitcoin-core/src/script/miniscript.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: miniscript::Type::If
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::Type::Type
    linkageType: ''
    returnType: Type
    signature: Type If(bool x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/bitcoin-core/src/script/miniscript.h:162,1
    - Dst: throw std::logic_error
      Src: /src/bitcoin-core/src/script/miniscript.h:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - l
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 187
    functionName: operator""_mst(const char* c, size_t l)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - Type
    - throw std::logic_error
    linkageType: ''
    returnType: Type
    signature: Type operator""_mst(const char* c, size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<const Node<Key>>
      Src: /src/bitcoin-core/src/script/miniscript.h:196,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/script/miniscript.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: miniscript::MakeNodeRef
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::make_unique<const Node<Key>>
    - std::forward<Args>
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> MakeNodeRef(Args&&... args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ms_ctx
    argTypes:
    - MiniscriptContext
    assertStmts:
    - condition: (false)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: miniscript::IsTapscript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 39
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool IsTapscript(MiniscriptContext ms_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:272,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/script/miniscript.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ms_ctx
    argTypes:
    - MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: miniscript::internal::MaxScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 5
    functionsReached:
    - IsTapscript
    - GetSizeOfCompactSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MaxScriptSize(MiniscriptContext ms_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: miniscript::internal::InputStack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InputStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: miniscript::internal::InputStack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>::size
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void InputStack(std::vector<unsigned char> in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/bitcoin-core/src/script/miniscript.h:346,1
    - Dst: std::forward<B>
      Src: /src/bitcoin-core/src/script/miniscript.h:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' in_nsat'
    - ' in_sat'
    argTypes:
    - A
    - B
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: miniscript::internal::InputResult
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    - std::forward<B>
    linkageType: ''
    returnType: void
    signature: void InputResult(A&& in_nsat, B&& in_sat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: miniscript::internal::MaxInt
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MaxInt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: miniscript::internal::MaxInt
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MaxInt(I val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MaxInt<I>
    - MaxInt<I>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: operator+(const MaxInt<I>& a, const MaxInt<I>& b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MaxInt<I>
    signature: MaxInt<I> operator+(const MaxInt<I>& a, const MaxInt<I>& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MaxInt<I>
    - MaxInt<I>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: operator|(const MaxInt<I>& a, const MaxInt<I>& b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: MaxInt<I>
    signature: MaxInt<I> operator|(const MaxInt<I>& a, const MaxInt<I>& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - in_count
    - in_sat
    - in_dsat
    argTypes:
    - uint32_t
    - MaxInt<uint32_t>
    - MaxInt<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 378
    functionName: miniscript::internal::Ops
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ops(uint32_t in_count, MaxInt<uint32_t> in_sat, MaxInt<uint32_t>
      in_dsat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: miniscript::internal::SatInfo
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatInfo() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_netdiff
    - in_exec
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: miniscript::internal::SatInfo
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatInfo(int32_t in_netdiff, int32_t in_exec) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:444,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: operator|(const SatInfo& a, const SatInfo& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo operator|(const SatInfo& a, const SatInfo& b) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: operator+(const SatInfo& a, const SatInfo& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo operator+(const SatInfo& a, const SatInfo& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: miniscript::internal::Empty
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Empty() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: miniscript::internal::Push
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Push() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: miniscript::internal::Hash
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Hash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: miniscript::internal::Nop
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Nop() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: miniscript::internal::If
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo If() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: miniscript::internal::BinaryOp
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo BinaryOp() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: miniscript::internal::OP_DUP
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_DUP() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonzero
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: miniscript::internal::OP_IFDUP
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_IFDUP(bool nonzero) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: miniscript::internal::OP_EQUALVERIFY
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_EQUALVERIFY() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: miniscript::internal::OP_EQUAL
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_EQUAL() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: miniscript::internal::OP_SIZE
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_SIZE() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: miniscript::internal::OP_CHECKSIG
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_CHECKSIG() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: miniscript::internal::OP_0NOTEQUAL
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_0NOTEQUAL() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: miniscript::internal::OP_VERIFY
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_VERIFY() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_sat
    - in_dsat
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: miniscript::internal::StackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackSize(SatInfo in_sat, SatInfo in_dsat) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in_both
    argTypes:
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: miniscript::internal::StackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackSize(SatInfo in_both) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_sat
    - in_dsat
    argTypes:
    - MaxInt<uint32_t>
    - MaxInt<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: miniscript::internal::WitnessSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessSize(MaxInt<uint32_t> in_sat, MaxInt<uint32_t> in_dsat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:272,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/script/miniscript.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ms_ctx
    argTypes:
    - MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: miniscript::internal::MaxScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 5
    functionsReached:
    - IsTapscript
    - GetSizeOfCompactSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MaxScriptSize(MiniscriptContext ms_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: miniscript::internal::InputStack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InputStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: miniscript::internal::InputStack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>::size
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void InputStack(std::vector<unsigned char> in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/bitcoin-core/src/script/miniscript.h:346,1
    - Dst: std::forward<B>
      Src: /src/bitcoin-core/src/script/miniscript.h:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' in_nsat'
    - ' in_sat'
    argTypes:
    - A
    - B
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: miniscript::internal::InputResult
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    - std::forward<B>
    linkageType: ''
    returnType: void
    signature: void InputResult(A&& in_nsat, B&& in_sat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: miniscript::internal::MaxInt
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MaxInt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: miniscript::internal::MaxInt
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MaxInt(I val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MaxInt<I>
    - MaxInt<I>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: operator+(const MaxInt<I>& a, const MaxInt<I>& b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MaxInt<I>
    signature: MaxInt<I> operator+(const MaxInt<I>& a, const MaxInt<I>& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MaxInt<I>
    - MaxInt<I>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: operator|(const MaxInt<I>& a, const MaxInt<I>& b)
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: MaxInt<I>
    signature: MaxInt<I> operator|(const MaxInt<I>& a, const MaxInt<I>& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - in_count
    - in_sat
    - in_dsat
    argTypes:
    - uint32_t
    - MaxInt<uint32_t>
    - MaxInt<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 378
    functionName: miniscript::internal::Ops
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ops(uint32_t in_count, MaxInt<uint32_t> in_sat, MaxInt<uint32_t>
      in_dsat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: miniscript::internal::SatInfo
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatInfo() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_netdiff
    - in_exec
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: miniscript::internal::SatInfo
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SatInfo(int32_t in_netdiff, int32_t in_exec) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:444,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: operator|(const SatInfo& a, const SatInfo& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo operator|(const SatInfo& a, const SatInfo& b) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/miniscript.h:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: operator+(const SatInfo& a, const SatInfo& b) noexcept
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo operator+(const SatInfo& a, const SatInfo& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: miniscript::internal::Empty
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Empty() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: miniscript::internal::Push
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Push() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: miniscript::internal::Hash
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Hash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: miniscript::internal::Nop
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo Nop() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: miniscript::internal::If
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo If() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: miniscript::internal::BinaryOp
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo BinaryOp() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: miniscript::internal::OP_DUP
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_DUP() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonzero
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: miniscript::internal::OP_IFDUP
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_IFDUP(bool nonzero) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: miniscript::internal::OP_EQUALVERIFY
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_EQUALVERIFY() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: miniscript::internal::OP_EQUAL
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_EQUAL() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: miniscript::internal::OP_SIZE
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_SIZE() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: miniscript::internal::OP_CHECKSIG
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_CHECKSIG() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: miniscript::internal::OP_0NOTEQUAL
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_0NOTEQUAL() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: miniscript::internal::OP_VERIFY
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SatInfo
    signature: SatInfo OP_VERIFY() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_sat
    - in_dsat
    argTypes:
    - SatInfo
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: miniscript::internal::StackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackSize(SatInfo in_sat, SatInfo in_dsat) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in_both
    argTypes:
    - SatInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: miniscript::internal::StackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackSize(SatInfo in_both) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - in_sat
    - in_dsat
    argTypes:
    - MaxInt<uint32_t>
    - MaxInt<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: miniscript::internal::WitnessSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WitnessSize(MaxInt<uint32_t> in_sat, MaxInt<uint32_t> in_dsat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/script/miniscript.h:521,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:522,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:522,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:523,1
    - Dst: auto::subs::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:524,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:525,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:525,1
    - Dst: auto::subs::back
      Src: /src/bitcoin-core/src/script/miniscript.h:525,1
    - Dst: auto::subs::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: ~Node()
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - empty
    - push_back
    - back
    - std::move
    - auto::subs::empty
    - pop_back
    - auto::subs::back
    - auto::subs::pop_back
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/script/miniscript.h:536,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/miniscript.h:536,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:537,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:537,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:540,1
    - Dst: Node::Node
      Src: /src/bitcoin-core/src/script/miniscript.h:540,1
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 543
    functionName: miniscript::Clone
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - end
    - Node::Node
    - std::vector::emplace_back
    - std::move
    - miniscript::TreeEval
    - begin
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> Clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - script_ctx
    - nt
    - sub
    - key
    - arg
    - val
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<Key>
    - std::vector<unsigned char>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 566
    functionDepth: 4
    functionLinenumber: 566
    functionLinenumberEnd: 567
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<NodeRef<Key>> sub, std::vector<Key> key, std::vector<unsigned
      char> arg, uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::ScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:573,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:575,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:575,1
    - Dst: miniscript::internal::ComputeScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:576,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:576,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: miniscript::CalcScriptLen
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 8
    functionsReached:
    - miniscript::internal::ComputeScriptLen
    - miniscript::ScriptSize
    - miniscript::GetType
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t CalcScriptLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:613,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:620,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:620,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:638,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:639,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:640,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:640,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:644,1
    - Dst: downfn
      Src: /src/bitcoin-core/src/script/miniscript.h:645,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:645,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:646,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:646,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:650,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:650,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:650,1
    - Dst: upfn
      Src: /src/bitcoin-core/src/script/miniscript.h:651,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:651,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:651,1
    - Dst: last
      Src: /src/bitcoin-core/src/script/miniscript.h:652,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:652,1
    - Dst: std::vector::erase
      Src: /src/bitcoin-core/src/script/miniscript.h:656,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:656,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:656,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:656,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:657,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:657,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:658,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:661,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:661,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:662,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:662,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - root_state
    - downfn
    - upfn
    argTypes:
    - State
    - DownFn
    - UpFn
    assertStmts:
    - condition: (results.size() >= 1)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (results.size() >= node.subs.size())
      pos:
        line_end: 649
        line_start: 649
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 664
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 664
    functionName: miniscript::TreeEvalMaybe
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 4
    functionsReached:
    - downfn
    - subs::size
    - std::vector::erase
    - std::vector::emplace_back
    - std::vector::end
    - CHECK_NONFATAL
    - std::vector::back
    - std::move
    - upfn
    - std::vector::push_back
    - std::vector::pop_back
    - last
    - assert
    - std::vector::size
    linkageType: ''
    returnType: std::optional<Result>
    signature: std::optional<Result> TreeEvalMaybe(State root_state, DownFn downfn,
      UpFn upfn) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' node_'
    - exp_
    - ' state_'
    argTypes:
    - Node
    - size_t
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 613
    functionName: miniscript::StackElem
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void StackElem(const Node& node_, size_t exp_, State&& state_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::TreeEvalMaybe
      Src: /src/bitcoin-core/src/script/miniscript.h:672,1
    - Dst: upfn
      Src: /src/bitcoin-core/src/script/miniscript.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - upfn
    argTypes:
    - UpFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: miniscript::TreeEvalMaybe
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 5
    functionsReached:
    - upfn
    - miniscript::TreeEvalMaybe
    linkageType: ''
    returnType: std::optional<Result>
    signature: std::optional<Result> TreeEvalMaybe(UpFn upfn) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:686,1
    - Dst: miniscript::TreeEvalMaybe
      Src: /src/bitcoin-core/src/script/miniscript.h:686,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:686,1
    - Dst: std::forward<DownFn>
      Src: /src/bitcoin-core/src/script/miniscript.h:687,1
    - Dst: upfn
      Src: /src/bitcoin-core/src/script/miniscript.h:689,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:689,1
    - Dst: std::optional<Result>
      Src: /src/bitcoin-core/src/script/miniscript.h:690,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - root_state
    - ' downfn'
    - upfn
    argTypes:
    - State
    - DownFn
    - UpFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 693
    functionName: miniscript::TreeEval
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 7
    functionsReached:
    - miniscript::TreeEvalMaybe
    - std::optional<Result>
    - std::move
    - std::forward<DownFn>
    - upfn
    linkageType: ''
    returnType: Result
    signature: Result TreeEval(State root_state, DownFn&& downfn, UpFn upfn) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:701,1
    - Dst: miniscript::TreeEvalMaybe
      Src: /src/bitcoin-core/src/script/miniscript.h:701,1
    - Dst: upfn
      Src: /src/bitcoin-core/src/script/miniscript.h:704,1
    - Dst: std::optional<Result>
      Src: /src/bitcoin-core/src/script/miniscript.h:705,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - upfn
    argTypes:
    - UpFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionName: miniscript::TreeEval
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 7
    functionsReached:
    - miniscript::TreeEvalMaybe
    - upfn
    - std::move
    - std::optional<Result>
    linkageType: ''
    returnType: Result
    signature: Result TreeEval(UpFn upfn) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:714,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:715,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:716,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:717,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/script/miniscript.h:718,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/script/miniscript.h:718,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/script/miniscript.h:719,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/script/miniscript.h:719,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:720,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:720,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:721,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:721,1
    - Dst: subs::size
      Src: /src/bitcoin-core/src/script/miniscript.h:722,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - Node<Key>
    - Node<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 728
    functionName: miniscript::Compare
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - subs::size
    - std::vector::emplace_back
    - std::tie
    - std::vector::back
    - std::vector::pop_back
    - std::vector::empty
    linkageType: ''
    returnType: int
    signature: int Compare(const Node<Key>& node1, const Node<Key>& node2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:737,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:737,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:740,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:740,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:741,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:741,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:742,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:742,1
    - Dst: SanitizeType
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    - Dst: ComputeType
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 745
    functionName: miniscript::CalcType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 8
    functionsReached:
    - SanitizeType
    - size
    - std::vector::push_back
    - ComputeType
    - miniscript::GetType
    linkageType: ''
    returnType: Type
    signature: Type CalcType() const
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:765,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:768,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:768,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:769,1
    - Dst: ToPKHBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:769,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:770,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:771,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:772,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:773,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:774,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:775,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:776,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:777,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:778,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:778,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:779,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:781,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:782,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:782,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:784,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:787,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:788,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:788,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:789,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:790,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:791,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:791,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:792,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:792,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:793,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:793,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:794,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:794,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:795,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:795,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:796,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:797,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:797,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:799,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:800,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:802,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:802,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:802,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:804,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:804,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:804,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:807,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:808,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:808,1
    - Dst: keys::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:808,1
    - Dst: keys::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:809,1
    - Dst: keys::end
      Src: /src/bitcoin-core/src/script/miniscript.h:809,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:810,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:810,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:810,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:812,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:812,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:815,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:816,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:817,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:817,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:819,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:819,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:822,1
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:824,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 84
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - Ctx
    assertStmts:
    - condition: (false)
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 825
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 825
    functionName: miniscript::ToScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - ToPKBytes
    - keys::begin
    - miniscript::IsTapscript
    - ToPKHBytes
    - std::move
    - size
    - keys::end
    - BuildScript
    - miniscript::GetType
    - miniscript::TreeEval
    - keys::size
    - assert
    - CHECK_NONFATAL
    linkageType: ''
    returnType: CScript
    signature: CScript ToScript(const Ctx& ctx) const
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:848,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:849,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:853,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:855,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:855,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:859,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:861,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:861,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:863,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:864,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:865,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:866,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:867,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:870,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:873,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:874,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:880,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:882,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:882,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:885,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:887,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:887,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:889,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:889,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:890,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:890,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:891,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/miniscript.h:891,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:892,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/miniscript.h:892,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:893,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/miniscript.h:893,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:894,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/miniscript.h:894,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:895,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:896,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:897,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:897,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:897,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:898,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:898,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:898,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:899,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:899,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:899,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:900,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:900,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:900,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:901,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:901,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:901,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:902,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:902,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:902,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:905,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:905,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:905,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:906,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:906,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:906,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:906,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:908,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:909,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:909,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:911,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:913,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:915,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:918,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:919,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:919,1
    - Dst: miniscript::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:921,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:923,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:925,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:928,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/script/miniscript.h:928,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:930,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:932,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:936,1
    - Dst: miniscript::TreeEvalMaybe
      Src: /src/bitcoin-core/src/script/miniscript.h:939,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 111
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - CTx
    assertStmts:
    - condition: (false)
      pos:
        line_end: 935
        line_start: 935
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 940
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 940
    functionName: miniscript::ToString
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached:
    - util::ToString
    - miniscript::TreeEvalMaybe
    - miniscript::IsTapscript
    - miniscript::ToString
    - std::move
    - HexStr
    - assert
    - CHECK_NONFATAL
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(const CTx& ctx) const
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:991,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:991,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:992,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:999,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1002,1
    - Dst: internal::MaxInt<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1002,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1005,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1006,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1006,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1007,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1007,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1008,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1010,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1010,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1013
        line_start: 1013
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (k < sats.size())
      pos:
        line_end: 1009
        line_start: 1009
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1015
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 1015
    functionName: miniscript::CalcOps
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 8
    functionsReached:
    - auto::size
    - auto::push_back
    - size
    - std::move
    - Vector
    - miniscript::GetType
    - assert
    - internal::MaxInt<uint32_t>
    linkageType: ''
    returnType: internal::Ops
    signature: internal::Ops CalcOps() const
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1020,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1021,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1023,1
    - Dst: miniscript::internal::Nop
      Src: /src/bitcoin-core/src/script/miniscript.h:1023,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1024,1
    - Dst: miniscript::internal::OP_DUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1025,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/script/miniscript.h:1025,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1025,1
    - Dst: miniscript::internal::OP_EQUALVERIFY
      Src: /src/bitcoin-core/src/script/miniscript.h:1025,1
    - Dst: miniscript::internal::OP_SIZE
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: miniscript::internal::OP_EQUALVERIFY
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: miniscript::internal::OP_EQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1030,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1038,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1038,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1039,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1050,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1050,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1056,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1057,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1063,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1063,1
    - Dst: miniscript::internal::OP_IFDUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1069,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1069,1
    - Dst: miniscript::internal::OP_IFDUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1069,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1069,1
    - Dst: miniscript::internal::OP_IFDUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1070,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1070,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1076,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1076,1
    - Dst: SatInfo
      Src: /src/bitcoin-core/src/script/miniscript.h:1082,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1082,1
    - Dst: SatInfo
      Src: /src/bitcoin-core/src/script/miniscript.h:1086,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1086,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1086,1
    - Dst: miniscript::internal::OP_CHECKSIG
      Src: /src/bitcoin-core/src/script/miniscript.h:1091,1
    - Dst: miniscript::internal::OP_CHECKSIG
      Src: /src/bitcoin-core/src/script/miniscript.h:1092,1
    - Dst: miniscript::internal::OP_DUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1095,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1095,1
    - Dst: miniscript::internal::OP_DUP
      Src: /src/bitcoin-core/src/script/miniscript.h:1096,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1096,1
    - Dst: miniscript::internal::OP_VERIFY
      Src: /src/bitcoin-core/src/script/miniscript.h:1098,1
    - Dst: miniscript::internal::OP_SIZE
      Src: /src/bitcoin-core/src/script/miniscript.h:1100,1
    - Dst: miniscript::internal::OP_0NOTEQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1100,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1100,1
    - Dst: miniscript::internal::OP_SIZE
      Src: /src/bitcoin-core/src/script/miniscript.h:1101,1
    - Dst: miniscript::internal::OP_0NOTEQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1101,1
    - Dst: miniscript::Type::If
      Src: /src/bitcoin-core/src/script/miniscript.h:1101,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1105,1
    - Dst: CDBWrapper::IsEmpty
      Src: /src/bitcoin-core/src/script/miniscript.h:1105,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1106,1
    - Dst: miniscript::internal::BinaryOp
      Src: /src/bitcoin-core/src/script/miniscript.h:1109,1
    - Dst: CDBWrapper::IsEmpty
      Src: /src/bitcoin-core/src/script/miniscript.h:1109,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1111,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1113,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1114,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1117,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1117,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1119,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1124,1
    - Dst: miniscript::internal::OP_EQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1124,1
    - Dst: TestBuilder::DoPush
      Src: /src/bitcoin-core/src/script/miniscript.h:1125,1
    - Dst: miniscript::internal::OP_EQUAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1125,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1128
        line_start: 1128
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1130
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1130
    functionName: miniscript::CalcStackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 8
    functionsReached:
    - auto::size
    - auto::push_back
    - std::move
    - Vector
    - CDBWrapper::IsEmpty
    - miniscript::internal::OP_EQUAL
    - miniscript::internal::OP_IFDUP
    - miniscript::internal::OP_0NOTEQUAL
    - miniscript::internal::Nop
    - PKHash
    - miniscript::internal::OP_DUP
    - miniscript::internal::OP_CHECKSIG
    - miniscript::internal::OP_EQUALVERIFY
    - miniscript::internal::OP_SIZE
    - assert
    - TestBuilder::DoPush
    - miniscript::Type::If
    - miniscript::internal::OP_VERIFY
    - size
    - SatInfo
    - miniscript::internal::BinaryOp
    linkageType: ''
    returnType: internal::StackSize
    signature: internal::StackSize CalcStackSize() const
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1133,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1134,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1162,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1162,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1162,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1162,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1171,1
    - Dst: internal::MaxInt<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1171,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1173,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1174,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1174,1
    - Dst: auto::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1175,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1175,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1176,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1178,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1178,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (k < sats.size())
      pos:
        line_end: 1177
        line_start: 1177
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (false)
      pos:
        line_end: 1181
        line_start: 1181
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1183
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1183
    functionName: miniscript::CalcWitnessSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 8
    functionsReached:
    - auto::size
    - auto::push_back
    - miniscript::IsTapscript
    - static_cast<uint32_t>
    - size
    - std::move
    - Vector
    - assert
    - internal::MaxInt<uint32_t>
    linkageType: ''
    returnType: internal::WitnessSize
    signature: internal::WitnessSize CalcWitnessSize() const
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: Sign
      Src: /src/bitcoin-core/src/script/miniscript.h:1195,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1196,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1196,1
    - Dst: ToPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:1199,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/script/miniscript.h:1200,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: SetAvailable
      Src: /src/bitcoin-core/src/script/miniscript.h:1201,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1206,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1207,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/script/miniscript.h:1211,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1211,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1213,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1213,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1218,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1219,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1219,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1219,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1220,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1220,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1220,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1220,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1222,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1227,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1228,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1228,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1229,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1229,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1235,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1236,1
    - Dst: Sign
      Src: /src/bitcoin-core/src/script/miniscript.h:1238,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1240,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1240,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1245,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1246,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1246,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1246,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1247,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1247,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1247,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1247,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1249,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1253,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1254,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1254,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1255,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1255,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1261,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1262,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1264,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1269,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1270,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1270,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1270,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1271,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1271,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1271,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1271,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1273,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1278,1
    - Dst: SetMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1285,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1287,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1287,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1289,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1289,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1290,1
    - Dst: CheckOlder
      Src: /src/bitcoin-core/src/script/miniscript.h:1293,1
    - Dst: CheckAfter
      Src: /src/bitcoin-core/src/script/miniscript.h:1296,1
    - Dst: SatSHA256
      Src: /src/bitcoin-core/src/script/miniscript.h:1300,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1301,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1301,1
    - Dst: SatRIPEMD160
      Src: /src/bitcoin-core/src/script/miniscript.h:1305,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1306,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1306,1
    - Dst: SatHASH256
      Src: /src/bitcoin-core/src/script/miniscript.h:1310,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1311,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1311,1
    - Dst: SatHASH160
      Src: /src/bitcoin-core/src/script/miniscript.h:1315,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1316,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1316,1
    - Dst: SetNonCanon
      Src: /src/bitcoin-core/src/script/miniscript.h:1326,1
    - Dst: SetMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1335,1
    - Dst: SetMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1335,1
    - Dst: SetMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1340,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1344,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1348,1
    - Dst: SetNonCanon
      Src: /src/bitcoin-core/src/script/miniscript.h:1356,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1362,1
    - Dst: InputStack
      Src: /src/bitcoin-core/src/script/miniscript.h:1374,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1374,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1378,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1383,1
    - Dst: helper
      Src: /src/bitcoin-core/src/script/miniscript.h:1388,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1394,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1394,1
    - Dst: auto::nsat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1394,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1395,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1395,1
    - Dst: auto::sat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1395,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1398,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1398,1
    - Dst: auto::nsat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1398,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1399,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1399,1
    - Dst: auto::sat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1399,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1403,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1403,1
    - Dst: auto::sat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1403,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1404,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1404,1
    - Dst: auto::nsat::stack::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1404,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1405,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1405,1
    - Dst: auto::sat::stack::back
      Src: /src/bitcoin-core/src/script/miniscript.h:1405,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1409,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1409,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1410,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1410,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1411,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1411,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1414,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1414,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1415,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1415,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1418,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1418,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1419,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1419,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1422,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1422,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1425,1
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:1430,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 146
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - Ctx
    assertStmts:
    - condition: (node.k < sats.size())
      pos:
        line_end: 1288
        line_start: 1288
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (node.k < sats.size())
      pos:
        line_end: 1253
        line_start: 1253
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (node.k < sats.size())
      pos:
        line_end: 1227
        line_start: 1227
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (false)
      pos:
        line_end: 1382
        line_start: 1382
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1431
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1431
    functionName: miniscript::ProduceInput
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - ToPKBytes
    - Sign
    - std::move
    - std::vector::push_back
    - Vector
    - SetNonCanon
    - SatHASH160
    - CHECK_NONFATAL
    - InputStack
    - auto::nsat::stack::size
    - miniscript::GetType
    - keys::size
    - std::vector::size
    - CheckOlder
    - auto::sat::stack::back
    - miniscript::TreeEval
    - SetAvailable
    - assert
    - SetMalleable
    - auto::sat::stack::size
    - SatHASH256
    - size
    - SatRIPEMD160
    - helper
    - SatSHA256
    - CheckAfter
    linkageType: ''
    returnType: internal::InputResult
    signature: internal::InputResult ProduceInput(const Ctx& ctx) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: KeyCompare
      Src: /src/bitcoin-core/src/script/miniscript.h:1446,1
    - Dst: has_duplicate_keys::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1457,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1461,1
    - Dst: keys::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1469,1
    - Dst: keys::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1470,1
    - Dst: keys::end
      Src: /src/bitcoin-core/src/script/miniscript.h:1470,1
    - Dst: miniscript::Comp
      Src: /src/bitcoin-core/src/script/miniscript.h:1470,1
    - Dst: keyset::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1471,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1479,1
    - Dst: keyset::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1482,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1482,1
    - Dst: swap
      Src: /src/bitcoin-core/src/script/miniscript.h:1482,1
    - Dst: keyset::merge
      Src: /src/bitcoin-core/src/script/miniscript.h:1483,1
    - Dst: keyset::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1484,1
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:1494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1439
    functionDepth: 3
    functionLinenumber: 1439
    functionLinenumberEnd: 1495
    functionName: miniscript::DuplicateKeyCheck
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 6
    functionsReached:
    - keys::begin
    - has_duplicate_keys::has_value
    - keyset::merge
    - miniscript::Comp
    - keyset::size
    - size
    - swap
    - keys::end
    - miniscript::TreeEval
    - has_value
    - keys::size
    - KeyCompare
    linkageType: ''
    returnType: void
    signature: void DuplicateKeyCheck(const Ctx& ctx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1445
    functionName: miniscript::Comp
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Comp(const Ctx& ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyCompare
      Src: /src/bitcoin-core/src/script/miniscript.h:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1446
    functionName: operator()(const Key& a, const Key& b) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - KeyCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Key& a, const Key& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1498
    functionName: miniscript::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ScriptSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1504
    functionName: miniscript::GetOps
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetOps() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1507
    functionName: miniscript::GetStaticOps
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetStaticOps() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1511,1
    - Dst: miniscript::GetOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1514
    functionName: miniscript::CheckOpsLimit
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::IsTapscript
    - miniscript::GetOps
    linkageType: ''
    returnType: bool
    signature: bool CheckOpsLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1519
    functionName: miniscript::IsBKW
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached:
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool IsBKW() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1524,1
    - Dst: miniscript::IsBKW
      Src: /src/bitcoin-core/src/script/miniscript.h:1524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1522
    functionDepth: 2
    functionLinenumber: 1522
    functionLinenumberEnd: 1525
    functionName: miniscript::GetStackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached:
    - miniscript::IsBKW
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetStackSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1530,1
    - Dst: miniscript::IsBKW
      Src: /src/bitcoin-core/src/script/miniscript.h:1530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1528
    functionDepth: 2
    functionLinenumber: 1528
    functionLinenumberEnd: 1531
    functionName: miniscript::GetExecStackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::IsBKW
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetExecStackSize() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1537,1
    - Dst: miniscript::GetExecStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1538,1
    - Dst: miniscript::GetStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1534
    functionDepth: 3
    functionLinenumber: 1534
    functionLinenumberEnd: 1543
    functionName: miniscript::CheckStackSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::IsTapscript
    - miniscript::GetStackSize
    - miniscript::GetExecStackSize
    linkageType: ''
    returnType: bool
    signature: bool CheckStackSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1546
    functionDepth: 3
    functionLinenumber: 1546
    functionLinenumberEnd: 1546
    functionName: miniscript::IsNotSatisfiable
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::GetStackSize
    linkageType: ''
    returnType: bool
    signature: bool IsNotSatisfiable() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1553
    functionName: miniscript::GetWitnessSize
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetWitnessSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1556
    functionName: miniscript::GetType
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type GetType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1559
    functionName: miniscript::GetMsCtx
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MiniscriptContext
    signature: MiniscriptContext GetMsCtx() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:1563,1
    - Dst: miniscript::IsSaneSubexpression
      Src: /src/bitcoin-core/src/script/miniscript.h:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1562
    functionDepth: 6
    functionLinenumber: 1562
    functionLinenumberEnd: 1568
    functionName: miniscript::FindInsaneSub
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsSaneSubexpression
    - miniscript::TreeEval
    linkageType: ''
    returnType: Node
    signature: Node * FindInsaneSub() const
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::TreeEval
      Src: /src/bitcoin-core/src/script/miniscript.h:1576,1
    - Dst: fn
      Src: /src/bitcoin-core/src/script/miniscript.h:1592,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:1604,1
    - Dst: std::count
      Src: /src/bitcoin-core/src/script/miniscript.h:1604,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1604,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/miniscript.h:1604,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:1606,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1606,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:1607,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:1607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - fn
    argTypes:
    - F
    assertStmts:
    - condition: (subs.size() >= 1)
      pos:
        line_end: 1605
        line_start: 1605
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 1611
      start: 1573
    functionDepth: 3
    functionLinenumber: 1573
    functionLinenumberEnd: 1611
    functionName: miniscript::IsSatisfiable
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - end
    - static_cast<uint32_t>
    - std::count
    - size
    - fn
    - miniscript::TreeEval
    - assert
    - CHECK_NONFATAL
    - begin
    linkageType: ''
    returnType: bool
    signature: bool IsSatisfiable(F fn) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1615,1
    - Dst: miniscript::ScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1616,1
    - Dst: miniscript::internal::MaxScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1614
    functionDepth: 3
    functionLinenumber: 1614
    functionLinenumberEnd: 1617
    functionName: miniscript::IsValid
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached:
    - miniscript::internal::MaxScriptSize
    - miniscript::ScriptSize
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool IsValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsValid
      Src: /src/bitcoin-core/src/script/miniscript.h:1620,1
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1620
    functionDepth: 4
    functionLinenumber: 1620
    functionLinenumberEnd: 1620
    functionName: miniscript::IsValidTopLevel
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::IsValid
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool IsValidTopLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1623
    functionName: miniscript::IsNonMalleable
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool IsNonMalleable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1626
    functionName: miniscript::NeedsSignature
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool NeedsSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::GetType
      Src: /src/bitcoin-core/src/script/miniscript.h:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1629
    functionName: miniscript::CheckTimeLocksMix
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::GetType
    linkageType: ''
    returnType: bool
    signature: bool CheckTimeLocksMix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1632
    functionName: miniscript::CheckDuplicateKey
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckDuplicateKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsValid
      Src: /src/bitcoin-core/src/script/miniscript.h:1635,1
    - Dst: miniscript::CheckOpsLimit
      Src: /src/bitcoin-core/src/script/miniscript.h:1635,1
    - Dst: miniscript::CheckStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1635
    functionDepth: 4
    functionLinenumber: 1635
    functionLinenumberEnd: 1635
    functionName: miniscript::ValidSatisfactions
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 1
    functionsReached:
    - miniscript::IsValid
    - miniscript::CheckStackSize
    - miniscript::CheckOpsLimit
    linkageType: ''
    returnType: bool
    signature: bool ValidSatisfactions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::ValidSatisfactions
      Src: /src/bitcoin-core/src/script/miniscript.h:1638,1
    - Dst: miniscript::IsNonMalleable
      Src: /src/bitcoin-core/src/script/miniscript.h:1638,1
    - Dst: miniscript::CheckTimeLocksMix
      Src: /src/bitcoin-core/src/script/miniscript.h:1638,1
    - Dst: miniscript::CheckDuplicateKey
      Src: /src/bitcoin-core/src/script/miniscript.h:1638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1638
    functionDepth: 5
    functionLinenumber: 1638
    functionLinenumberEnd: 1638
    functionName: miniscript::IsSaneSubexpression
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 3
    functionsReached:
    - miniscript::ValidSatisfactions
    - miniscript::IsNonMalleable
    - miniscript::CheckDuplicateKey
    - miniscript::CheckTimeLocksMix
    linkageType: ''
    returnType: bool
    signature: bool IsSaneSubexpression() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsValidTopLevel
      Src: /src/bitcoin-core/src/script/miniscript.h:1641,1
    - Dst: miniscript::IsSaneSubexpression
      Src: /src/bitcoin-core/src/script/miniscript.h:1641,1
    - Dst: miniscript::NeedsSignature
      Src: /src/bitcoin-core/src/script/miniscript.h:1641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1641
    functionDepth: 6
    functionLinenumber: 1641
    functionLinenumberEnd: 1641
    functionName: miniscript::IsSane
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::IsValidTopLevel
    - miniscript::NeedsSignature
    - miniscript::IsSaneSubexpression
    linkageType: ''
    returnType: bool
    signature: bool IsSane() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::ProduceInput
      Src: /src/bitcoin-core/src/script/miniscript.h:1649,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' ctx'
    - ' stack'
    argTypes:
    - Ctx
    - std::vector<std::vector<unsigned char>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1653
    functionName: miniscript::Satisfy
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::ProduceInput
    - std::move
    linkageType: ''
    returnType: Availability
    signature: Availability Satisfy(const Ctx& ctx, std::vector<std::vector<unsigned
      char>>& stack, bool nonmalleable = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/bitcoin-core/src/script/miniscript.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Node<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1656
    functionName: operator==(const Node<Key>& arg) const
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Node<Key>& arg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - script_ctx
    - nt
    - sub
    - arg
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1659
    functionDepth: 4
    functionLinenumber: 1659
    functionLinenumberEnd: 1660
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<NodeRef<Key>> sub, std::vector<unsigned char> arg, uint32_t
      val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - arg
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1661
    functionDepth: 4
    functionLinenumber: 1661
    functionLinenumberEnd: 1662
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<unsigned char> arg, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - script_ctx
    - nt
    - sub
    - key
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1663
    functionDepth: 4
    functionLinenumber: 1663
    functionLinenumberEnd: 1664
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<NodeRef<Key>> sub, std::vector<Key> key, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - key
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1665
    functionDepth: 4
    functionLinenumber: 1665
    functionLinenumberEnd: 1666
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<Key> key, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - sub
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1667
    functionDepth: 4
    functionLinenumber: 1667
    functionLinenumberEnd: 1668
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - std::move
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, std::vector<NodeRef<Key>> sub, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::CalcOps
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    - Dst: miniscript::CalcStackSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    - Dst: miniscript::CalcWitnessSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    - Dst: miniscript::CalcType
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    - Dst: miniscript::CalcScriptLen
      Src: /src/bitcoin-core/src/script/miniscript.h:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - script_ctx
    - nt
    argTypes:
    - MiniscriptContext
    - Fragment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1669
    functionDepth: 4
    functionLinenumber: 1669
    functionLinenumberEnd: 1670
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::CalcStackSize
    - miniscript::CalcOps
    - miniscript::CalcWitnessSize
    - miniscript::CalcType
    - miniscript::CalcScriptLen
    linkageType: ''
    returnType: void
    signature: void Node(internal::NoDupCheck, MiniscriptContext script_ctx, Fragment
      nt, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1674,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1674,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1674,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ctx'
    - nt
    - sub
    - arg
    argTypes:
    - Ctx
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1673
    functionDepth: 4
    functionLinenumber: 1673
    functionLinenumberEnd: 1674
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<NodeRef<Key>> sub,
      std::vector<unsigned char> arg, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1676,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1676,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - nt
    - arg
    argTypes:
    - Ctx
    - Fragment
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1675
    functionDepth: 4
    functionLinenumber: 1675
    functionLinenumberEnd: 1676
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<unsigned char> arg,
      uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1678,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1678,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1678,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ctx'
    - nt
    - sub
    - key
    argTypes:
    - Ctx
    - Fragment
    - std::vector<NodeRef<Key>>
    - std::vector<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1677
    functionDepth: 4
    functionLinenumber: 1677
    functionLinenumberEnd: 1678
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<NodeRef<Key>> sub,
      std::vector<Key> key, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1680,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1680,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - nt
    - key
    argTypes:
    - Ctx
    - Fragment
    - std::vector<Key>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1679
    functionDepth: 4
    functionLinenumber: 1679
    functionLinenumberEnd: 1680
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<Key> key, uint32_t
      val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1682,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1682,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - nt
    - sub
    argTypes:
    - Ctx
    - Fragment
    - std::vector<NodeRef<Key>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1681
    functionDepth: 4
    functionLinenumber: 1681
    functionLinenumberEnd: 1682
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, std::vector<NodeRef<Key>> sub,
      uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1684,1
    - Dst: miniscript::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ctx'
    - nt
    argTypes:
    - Ctx
    - Fragment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1683
    functionDepth: 4
    functionLinenumber: 1683
    functionLinenumberEnd: 1684
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - miniscript::DuplicateKeyCheck
    - MsContext
    linkageType: ''
    returnType: void
    signature: void Node(const Ctx& ctx, Fragment nt, uint32_t val = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1687
    functionName: miniscript::Node
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node(const Node&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1688
    functionName: '& operator=(const Node&)'
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node & operator=(const Node&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1753,1
    - Dst: FromString
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - in
    - ' ctx'
    argTypes:
    - std::span<const char>
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1751
    functionDepth: 2
    functionLinenumber: 1751
    functionLinenumberEnd: 1758
    functionName: miniscript::internal::ParseKeyEnd
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached:
    - FromString
    - std::span<const char>::begin
    - miniscript::internal::FindNextChar
    - std::move
    linkageType: ''
    returnType: std::optional<std::pair<Key, int>>
    signature: std::optional<std::pair<Key, int>> ParseKeyEnd(std::span<const char>
      in, const Ctx& ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1765,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/miniscript.h:1768,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/miniscript.h:1769,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1770,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - in
    - expected_size
    - ' ctx'
    argTypes:
    - std::span<const char>
    - size_t
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1772
    functionName: miniscript::internal::ParseHexStrEnd
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 2
    functionsReached:
    - IsHex
    - auto::size
    - std::move
    - std::string
    - std::span<const char>::begin
    - miniscript::internal::FindNextChar
    - ParseHex
    linkageType: ''
    returnType: std::optional<std::pair<std::vector<unsigned char>, int>>
    signature: "std::optional<std::pair<std::vector<unsigned char>, int>> ParseHexStrEnd(std::span<const
      char> in, const size_t expected_size,\n                                                                         const
      Ctx& ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1778,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1778,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1779,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - ' constructed'
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1785
    functionName: miniscript::internal::BuildBack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 4
    functionsReached:
    - back
    - std::move
    - Vector
    - pop_back
    - MakeNodeRef
    linkageType: ''
    returnType: void
    signature: void BuildBack(const MiniscriptContext script_ctx, Fragment nt, std::vector<NodeRef<Key>>&
      constructed, const bool reverse = false)
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::MaxScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1808,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1808,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1814,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1820,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1822,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1825,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/script/miniscript.h:1826,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1827,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1831,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1832,1
    - Dst: FromString
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1836,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1836,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1837,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1839,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1839,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1840,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1843,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:1843,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1846,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1846,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:1852,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:1856,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1857,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1862,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1875,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1878,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1881,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1884,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1887,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1890,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1895,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1898,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1901,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1906,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1912,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1913,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1917,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1919,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1921,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1922,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1926,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1927,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1927,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1928,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1929,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1933,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1935,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1936,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1940,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1941,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1941,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1942,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1943,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1947,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1949,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1950,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1954,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1956,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1957,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1961,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1963,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1964,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1968,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1970,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1971,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1975,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1977,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1978,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1981,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1983,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1985,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1986,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1989,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1991,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1993,1
    - Dst: parse_multi_exp
      Src: /src/bitcoin-core/src/script/miniscript.h:1994,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1995,1
    - Dst: parse_multi_exp
      Src: /src/bitcoin-core/src/script/miniscript.h:1996,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1997,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1998,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:2001,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2002,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2004,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2005,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2007,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2008,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2009,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2010,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2011,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2012,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2013,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2014,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2017,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2018,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2020,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2021,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2023,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2024,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2026,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2027,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2029,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2030,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2032,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2033,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2035,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2036,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2041,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2042,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2043,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2044,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2073,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2086,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2086,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2090,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2090,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2091,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2096,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2096,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2100,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2100,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2104,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2104,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2108,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2108,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2112,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2112,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2116,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2116,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2117,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2118,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2118,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2119,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2124,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2126,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2127,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2128,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2132,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2137,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2147,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2148,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2152,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2153,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:2160,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2160,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:2161,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2161,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:2162,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:2162,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2163,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2164,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/script/miniscript.h:2164,1
    - Dst: NodeRef::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:2165,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 362
    argCount: 2
    argNames:
    - in
    - ' ctx'
    argTypes:
    - std::span<const char>
    - Ctx
    assertStmts:
    - condition: (constructed.size() >= 1)
      pos:
        line_end: 2159
        line_start: 2159
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (constructed[0]->ScriptSize() == script_size)
      pos:
        line_end: 2161
        line_start: 2161
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 2167
      start: 1793
    functionDepth: 3
    functionLinenumber: 1793
    functionLinenumberEnd: 2167
    functionName: miniscript::internal::Parse
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ScriptSize
    - std::move
    - FromString
    - ToIntegral
    - std::vector::push_back
    - Vector
    - miniscript::internal::BuildBack
    - CHECK_NONFATAL
    - MakeNodeRef
    - auto::value
    - miniscript::internal::MaxScriptSize
    - miniscript::internal::ParseHexStrEnd
    - std::vector::end
    - std::vector::front
    - std::vector::back
    - IsTapscript
    - std::span<const char>::size
    - miniscript::internal::FindNextChar
    - BuildScript
    - std::vector::pop_back
    - std::vector::empty
    - std::reverse
    - std::vector::size
    - miniscript::internal::ParseKeyEnd
    - assert
    - std::string_view
    - Const
    - MsContext
    - auto::has_value
    - parse_multi_exp
    - std::span<const char>::subspan
    - std::vector::begin
    - NodeRef::DuplicateKeyCheck
    - std::span<const char>::begin
    - std::span<const char>::data
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> Parse(std::span<const char> in, const Ctx& ctx)
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2260,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2262,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2264,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2264,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2267,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2268,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2286,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2286,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2293,1
    - Dst: FromPKHBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2302,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2308,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2315,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2316,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2320,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2324,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2328,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:2336,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2336,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2338,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2342,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2345,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2345,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2347,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:2356,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2356,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2358,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/miniscript.h:2363,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2369,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2372,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2372,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2374,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2378,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2379,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2390,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2391,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2397,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2398,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2404,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2405,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2409,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2412,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2418,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2419,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2430,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2431,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2432,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2438,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2439,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2440,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2447,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2448,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2456,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2458,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2460,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2467,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2469,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2474,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2480,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2486,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2491,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2496,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2501,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2506,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2511,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2512,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2512,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2516,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2517,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2517,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2521,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2522,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2522,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2526,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2527,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2527,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2531,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2532,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2532,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2536,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2537,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2537,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2538,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2539,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2539,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2540,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2541,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2541,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2549,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2550,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2552,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2554,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2559,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:2559,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2562,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2562,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2563,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2564,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2564,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2575,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2576,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2582,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2585,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2593,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2604,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2606,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2609,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2616,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2616,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2619,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2621,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2629,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2630,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/script/miniscript.h:2630,1
    - Dst: NodeRef::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:2631,1
    - Dst: NodeRef::IsValidTopLevel
      Src: /src/bitcoin-core/src/script/miniscript.h:2634,1
    CyclomaticComplexity: 169
    EdgeCount: 169
    ICount: 363
    argCount: 3
    argNames:
    - ' in'
    - last
    - ' ctx'
    argTypes:
    - I
    - I
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2252
    functionDepth: 3
    functionLinenumber: 2252
    functionLinenumberEnd: 2636
    functionName: miniscript::internal::DecodeScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - FromPKBytes
    - std::move
    - std::vector::push_back
    - Vector
    - second::begin
    - miniscript::internal::BuildBack
    - NodeRef::IsValidTopLevel
    - MakeNodeRef
    - second::size
    - std::vector::front
    - std::vector::end
    - static_cast<size_t>
    - std::vector::back
    - IsTapscript
    - std::vector::reserve
    - std::vector::pop_back
    - std::vector::empty
    - std::reverse
    - std::vector::size
    - miniscript::internal::ParseScriptNumber
    - second::end
    - MsContext
    - std::vector::begin
    - NodeRef::DuplicateKeyCheck
    - FromPKHBytes
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> DecodeScript(I& in, I last, const Ctx& ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1753,1
    - Dst: FromString
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1755,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - in
    - ' ctx'
    argTypes:
    - std::span<const char>
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1751
    functionDepth: 2
    functionLinenumber: 1751
    functionLinenumberEnd: 1758
    functionName: miniscript::internal::ParseKeyEnd
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 3
    functionsReached:
    - FromString
    - std::span<const char>::begin
    - miniscript::internal::FindNextChar
    - std::move
    linkageType: ''
    returnType: std::optional<std::pair<Key, int>>
    signature: std::optional<std::pair<Key, int>> ParseKeyEnd(std::span<const char>
      in, const Ctx& ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1765,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1767,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/miniscript.h:1768,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/miniscript.h:1769,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1770,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - in
    - expected_size
    - ' ctx'
    argTypes:
    - std::span<const char>
    - size_t
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1772
    functionName: miniscript::internal::ParseHexStrEnd
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 3
    functionsReached:
    - IsHex
    - auto::size
    - std::move
    - std::string
    - std::span<const char>::begin
    - miniscript::internal::FindNextChar
    - ParseHex
    linkageType: ''
    returnType: std::optional<std::pair<std::vector<unsigned char>, int>>
    signature: "std::optional<std::pair<std::vector<unsigned char>, int>> ParseHexStrEnd(std::span<const
      char> in, const size_t expected_size,\n                                                                         const
      Ctx& ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1778,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1778,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1779,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1781,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - script_ctx
    - nt
    - ' constructed'
    argTypes:
    - MiniscriptContext
    - Fragment
    - std::vector<NodeRef<Key>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1785
    functionName: miniscript::internal::BuildBack
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 6
    functionsReached:
    - back
    - std::move
    - Vector
    - pop_back
    - MakeNodeRef
    linkageType: ''
    returnType: void
    signature: void BuildBack(const MiniscriptContext script_ctx, Fragment nt, std::vector<NodeRef<Key>>&
      constructed, const bool reverse = false)
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::internal::MaxScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:1808,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1808,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1814,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1820,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1822,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1824,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1825,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/script/miniscript.h:1826,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1827,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1831,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1832,1
    - Dst: FromString
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:1834,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1836,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1836,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1837,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1839,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1839,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1840,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1843,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/miniscript.h:1843,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1844,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1846,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1846,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1847,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:1852,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:1856,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1857,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:1862,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1875,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1878,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1881,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1884,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1887,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1890,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1895,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1898,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1901,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1905,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1906,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1912,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1913,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1917,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1918,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1919,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1920,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1921,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1922,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1925,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1926,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1927,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1927,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1928,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1929,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1932,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1933,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1935,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1936,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1939,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1940,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:1941,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1941,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1942,1
    - Dst: miniscript::internal::ParseKeyEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1943,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1946,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1947,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1949,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1950,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1953,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1954,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1956,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1957,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1960,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1961,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1963,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1964,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1967,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1968,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1970,1
    - Dst: miniscript::internal::ParseHexStrEnd
      Src: /src/bitcoin-core/src/script/miniscript.h:1971,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:1974,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1975,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1977,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1978,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1980,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1981,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1982,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1983,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1985,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1986,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:1988,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:1989,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:1990,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:1991,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1993,1
    - Dst: parse_multi_exp
      Src: /src/bitcoin-core/src/script/miniscript.h:1994,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1995,1
    - Dst: parse_multi_exp
      Src: /src/bitcoin-core/src/script/miniscript.h:1996,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:1997,1
    - Dst: miniscript::internal::FindNextChar
      Src: /src/bitcoin-core/src/script/miniscript.h:1998,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: std::string_view
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: std::span<const char>::data
      Src: /src/bitcoin-core/src/script/miniscript.h:2000,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/script/miniscript.h:2001,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2002,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2004,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2005,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2007,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2008,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2009,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2010,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2011,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2012,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2013,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2014,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2017,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2018,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2020,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2021,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2023,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2024,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2026,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2027,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2029,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2030,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2032,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2033,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/miniscript.h:2035,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2036,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2041,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2042,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2043,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2044,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2049,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2053,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2057,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2061,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2065,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2069,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2073,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2074,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2078,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2082,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2086,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2086,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2090,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2090,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2091,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2092,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2096,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2096,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2100,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2100,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2104,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2104,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2108,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2108,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2112,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2112,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2116,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2116,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2117,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2118,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2118,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2119,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2120,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2124,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2126,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2127,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2128,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2132,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2136,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2137,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2139,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2140,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2147,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2148,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2152,1
    - Dst: std::span<const char>::subspan
      Src: /src/bitcoin-core/src/script/miniscript.h:2153,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:2160,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2160,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/miniscript.h:2161,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2161,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/miniscript.h:2162,1
    - Dst: ScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:2162,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2163,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2164,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/script/miniscript.h:2164,1
    - Dst: NodeRef::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:2165,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 362
    argCount: 2
    argNames:
    - in
    - ' ctx'
    argTypes:
    - std::span<const char>
    - Ctx
    assertStmts:
    - condition: (constructed.size() >= 1)
      pos:
        line_end: 2159
        line_start: 2159
        source_file: /src/bitcoin-core/src/script/miniscript.h
    - condition: (constructed[0]->ScriptSize() == script_size)
      pos:
        line_end: 2161
        line_start: 2161
        source_file: /src/bitcoin-core/src/script/miniscript.h
    constantsTouched: []
    func_position:
      end: 2167
      start: 1793
    functionDepth: 3
    functionLinenumber: 1793
    functionLinenumberEnd: 2167
    functionName: miniscript::internal::Parse
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ScriptSize
    - std::move
    - FromString
    - ToIntegral
    - std::vector::push_back
    - Vector
    - miniscript::internal::BuildBack
    - CHECK_NONFATAL
    - MakeNodeRef
    - auto::value
    - miniscript::internal::MaxScriptSize
    - miniscript::internal::ParseHexStrEnd
    - std::vector::end
    - std::vector::front
    - std::vector::back
    - IsTapscript
    - std::span<const char>::size
    - miniscript::internal::FindNextChar
    - BuildScript
    - std::vector::pop_back
    - std::vector::empty
    - std::reverse
    - std::vector::size
    - miniscript::internal::ParseKeyEnd
    - assert
    - std::string_view
    - Const
    - MsContext
    - auto::has_value
    - parse_multi_exp
    - std::span<const char>::subspan
    - std::vector::begin
    - NodeRef::DuplicateKeyCheck
    - std::span<const char>::begin
    - std::span<const char>::data
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> Parse(std::span<const char> in, const Ctx& ctx)
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2260,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2262,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2264,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2264,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2267,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2268,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2277,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2282,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2286,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2286,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2287,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2290,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2293,1
    - Dst: FromPKHBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2294,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2297,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2302,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2305,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2308,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2311,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2315,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2316,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2317,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2320,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2321,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2324,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2325,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2328,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2329,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:2336,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2336,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2338,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2342,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2343,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2345,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2345,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2347,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2350,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2351,1
    - Dst: IsTapscript
      Src: /src/bitcoin-core/src/script/miniscript.h:2356,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2356,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2358,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/miniscript.h:2363,1
    - Dst: second::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2369,1
    - Dst: FromPKBytes
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2370,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2372,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2372,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2374,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2378,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2379,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2380,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2381,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2390,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2391,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2397,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2398,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2404,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2405,1
    - Dst: miniscript::internal::ParseScriptNumber
      Src: /src/bitcoin-core/src/script/miniscript.h:2409,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2412,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2418,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2419,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2430,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2431,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2432,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2438,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2439,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2440,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2447,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2448,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2456,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2458,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2460,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2467,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2469,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2474,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2476,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2480,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2482,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2486,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2487,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2491,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2492,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2496,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2497,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2501,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2502,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/miniscript.h:2506,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2507,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2511,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2512,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2512,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2516,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2517,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2517,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2521,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2522,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2522,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2526,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2527,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2527,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2531,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2532,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2532,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2536,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2537,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2537,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2538,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2539,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2539,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2540,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2541,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2541,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2542,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2549,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2550,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2552,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2554,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2559,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/script/miniscript.h:2559,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2562,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/miniscript.h:2562,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2563,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2564,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2564,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: MakeNodeRef
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2566,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2575,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2576,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2582,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2585,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2593,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2604,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2606,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2609,1
    - Dst: miniscript::internal::BuildBack
      Src: /src/bitcoin-core/src/script/miniscript.h:2616,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2616,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2619,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/miniscript.h:2621,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/miniscript.h:2629,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/miniscript.h:2630,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/script/miniscript.h:2630,1
    - Dst: NodeRef::DuplicateKeyCheck
      Src: /src/bitcoin-core/src/script/miniscript.h:2631,1
    - Dst: NodeRef::IsValidTopLevel
      Src: /src/bitcoin-core/src/script/miniscript.h:2634,1
    CyclomaticComplexity: 169
    EdgeCount: 169
    ICount: 363
    argCount: 3
    argNames:
    - ' in'
    - last
    - ' ctx'
    argTypes:
    - I
    - I
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2252
    functionDepth: 3
    functionLinenumber: 2252
    functionLinenumberEnd: 2636
    functionName: miniscript::internal::DecodeScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - FromPKBytes
    - std::move
    - std::vector::push_back
    - Vector
    - second::begin
    - miniscript::internal::BuildBack
    - NodeRef::IsValidTopLevel
    - MakeNodeRef
    - second::size
    - std::vector::front
    - std::vector::end
    - static_cast<size_t>
    - std::vector::back
    - IsTapscript
    - std::vector::reserve
    - std::vector::pop_back
    - std::vector::empty
    - std::reverse
    - std::vector::size
    - miniscript::internal::ParseScriptNumber
    - second::end
    - MsContext
    - std::vector::begin
    - NodeRef::DuplicateKeyCheck
    - FromPKHBytes
    linkageType: ''
    returnType: NodeRef<Key>
    signature: NodeRef<Key> DecodeScript(I& in, I last, const Ctx& ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::Parse<typename Ctx::Key>
      Src: /src/bitcoin-core/src/script/miniscript.h:2642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - ' ctx'
    argTypes:
    - std::string
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2643
    functionName: miniscript::FromString
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 5
    functionsReached:
    - internal::Parse<typename Ctx::Key>
    linkageType: ''
    returnType: NodeRef<typename Ctx::Key>
    signature: NodeRef<typename Ctx::Key> FromString(const std::string& str, const
      Ctx& ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/miniscript.h:2649,1
    - Dst: MaxScriptSize
      Src: /src/bitcoin-core/src/script/miniscript.h:2649,1
    - Dst: MsContext
      Src: /src/bitcoin-core/src/script/miniscript.h:2649,1
    - Dst: DecomposeScript
      Src: /src/bitcoin-core/src/script/miniscript.h:2650,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/miniscript.h:2652,1
    - Dst: DecodeScript<typename Ctx::Key>
      Src: /src/bitcoin-core/src/script/miniscript.h:2653,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2653,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/miniscript.h:2655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' script'
    - ' ctx'
    argTypes:
    - CScript
    - Ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2657
    functionName: miniscript::FromScript
    functionSourceFile: /src/bitcoin-core/src/script/miniscript.h
    functionUses: 8
    functionsReached:
    - auto::begin
    - MsContext
    - DecomposeScript
    - MaxScriptSize
    - DecodeScript<typename Ctx::Key>
    - size
    - auto::end
    linkageType: ''
    returnType: NodeRef<typename Ctx::Key>
    signature: NodeRef<typename Ctx::Key> FromScript(const CScript& script, const
      Ctx& ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - c
    - val
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: PolyMod
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PolyMod(uint64_t c, int val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/script/descriptor.cpp:133,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/script/descriptor.cpp:135,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/script/descriptor.cpp:139,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/script/descriptor.cpp:144,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/script/descriptor.cpp:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' span'
    argTypes:
    - std::span<const char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 151
    functionName: DescriptorChecksum
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 6
    functionsReached:
    - std::string::find
    - PolyMod
    linkageType: ''
    returnType: std::string
    signature: std::string DescriptorChecksum(const std::span<const char>& span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: AddChecksum
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - DescriptorChecksum
    linkageType: ''
    returnType: std::string
    signature: std::string AddChecksum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - exp_index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: PubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PubkeyProvider(uint32_t exp_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: ~PubkeyProvider()
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PubkeyProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:180,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PubkeyProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: operator<(PubkeyProvider& other) const
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool operator<(PubkeyProvider& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:240,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: OriginPubkeyProvider::OriginString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - FormatHDKeypath
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string OriginString(StringType type, bool normalized=false) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:244,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - exp_index
    - info
    - provider
    - apostrophe
    argTypes:
    - uint32_t
    - KeyOriginInfo
    - std::unique_ptr<PubkeyProvider>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: OriginPubkeyProvider::OriginPubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void OriginPubkeyProvider(uint32_t exp_index, KeyOriginInfo info, std::unique_ptr<PubkeyProvider>
      provider, bool apostrophe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:247,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:249,1
    - Dst: pubkeys::contains
      Src: /src/bitcoin-core/src/script/descriptor.cpp:249,1
    - Dst: std::optional::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:249,1
    - Dst: std::optional::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:250,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:251,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:252,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:252,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:252,1
    - Dst: path::insert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:253,1
    - Dst: path::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:253,1
    - Dst: path::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:253,1
    - Dst: path::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: OriginPubkeyProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::copy
    - path::end
    - path::insert
    - std::optional::GetID
    - OriginPubkeyProvider::GetPubKey
    - Assert
    - pubkeys::contains
    - path::begin
    - begin
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetPubKey(int pos, const SigningProvider& arg,
      FlatSigningProvider& out, const DescriptorCache* read_cache = nullptr, DescriptorCache*
      write_cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: OriginPubkeyProvider::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - OriginPubkeyProvider::IsRange
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: OriginPubkeyProvider::GetSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - OriginPubkeyProvider::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::IsBIP32
      Src: /src/bitcoin-core/src/script/descriptor.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: OriginPubkeyProvider::IsBIP32
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - OriginPubkeyProvider::IsBIP32
    linkageType: ''
    returnType: bool
    signature: bool IsBIP32() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::OriginString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:259,1
    - Dst: OriginPubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: OriginPubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - OriginPubkeyProvider::OriginString
    - OriginPubkeyProvider::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::ToPrivateString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:263,1
    - Dst: OriginPubkeyProvider::OriginString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:264,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' arg'
    - ' ret'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: OriginPubkeyProvider::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - OriginPubkeyProvider::OriginString
    - OriginPubkeyProvider::ToPrivateString
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& ret)
      const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::ToNormalizedString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:270,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:275,1
    - Dst: OriginPubkeyProvider::OriginString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:276,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:276,1
    - Dst: OriginPubkeyProvider::OriginString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:278,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' arg'
    - ' ret'
    - cache
    argTypes:
    - SigningProvider
    - std::string
    - DescriptorCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: OriginPubkeyProvider::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - OriginPubkeyProvider::OriginString
    - OriginPubkeyProvider::ToNormalizedString
    - std::move
    - std::string::substr
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& ret,
      const DescriptorCache* cache) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: OriginPubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - OriginPubkeyProvider::GetPrivKey
    linkageType: ''
    returnType: void
    signature: void GetPrivKey(int pos, const SigningProvider& arg, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetRootPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: OriginPubkeyProvider::GetRootPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - OriginPubkeyProvider::GetRootPubKey
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetRootPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetRootExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: OriginPubkeyProvider::GetRootExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - OriginPubkeyProvider::GetRootExtPubKey
    linkageType: ''
    returnType: std::optional<CExtPubKey>
    signature: std::optional<CExtPubKey> GetRootExtPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OriginPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:296,1
    - Dst: OriginPubkeyProvider::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: OriginPubkeyProvider::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<OriginPubkeyProvider>
    - OriginPubkeyProvider::Clone
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:308,1
    - Dst: GetKeyByXOnly
      Src: /src/bitcoin-core/src/script/descriptor.cpp:309,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:309,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:310,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: ConstPubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetID
    - CKey::CKey
    - XOnlyPubKey
    - GetKeyByXOnly
    - GetKey
    linkageType: ''
    returnType: std::optional<CKey>
    signature: std::optional<CKey> GetPrivKey(const SigningProvider& arg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - exp_index
    - ' pubkey'
    - xonly
    argTypes:
    - uint32_t
    - CPubKey
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: ConstPubkeyProvider::ConstPubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstPubkeyProvider(uint32_t exp_index, const CPubKey& pubkey,
      bool xonly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:319,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:320,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:320,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:320,1
    - Dst: origins::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:321,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/script/descriptor.cpp:321,1
    - Dst: pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pos
    - ' out'
    argTypes:
    - int
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: ConstPubkeyProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::make_pair
    - GetID
    - CKeyID::begin
    - pubkeys::emplace
    - origins::emplace
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetPubKey(int pos, const SigningProvider&, FlatSigningProvider&
      out, const DescriptorCache* read_cache = nullptr, DescriptorCache* write_cache
      = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: ConstPubkeyProvider::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: ConstPubkeyProvider::GetSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: ConstPubkeyProvider::IsBIP32
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBIP32() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:328,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: ConstPubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConstPubkeyProvider::GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:331,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/script/descriptor.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' arg'
    - ' ret'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: ConstPubkeyProvider::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - ConstPubkeyProvider::GetPrivKey
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& ret)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstPubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' arg'
    - ' ret'
    - cache
    argTypes:
    - SigningProvider
    - std::string
    - DescriptorCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: ConstPubkeyProvider::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ConstPubkeyProvider::ToString
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& ret,
      const DescriptorCache* cache) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConstPubkeyProvider::GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:343,1
    - Dst: keys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:345,1
    - Dst: std::optional::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: ConstPubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - ConstPubkeyProvider::GetPrivKey
    - std::optional::GetPubKey
    - keys::emplace
    linkageType: ''
    returnType: void
    signature: void GetPrivKey(int pos, const SigningProvider& arg, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: ConstPubkeyProvider::GetRootPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetRootPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: ConstPubkeyProvider::GetRootExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CExtPubKey>
    signature: std::optional<CExtPubKey> GetRootExtPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: ConstPubkeyProvider::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ConstPubkeyProvider>
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:379,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:380,1
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:380,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' arg'
    - ' ret'
    argTypes:
    - SigningProvider
    - CExtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: BIP32PubkeyProvider::GetExtKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - pubkey::GetID
    - GetKey
    - CKey::CKey
    linkageType: ''
    returnType: bool
    signature: bool GetExtKey(const SigningProvider& arg, CExtKey& ret) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::GetExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:392,1
    - Dst: Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' arg'
    - ' xprv'
    - ' last_hardened'
    argTypes:
    - SigningProvider
    - CExtKey
    - CExtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: BIP32PubkeyProvider::GetDerivedExtKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - BIP32PubkeyProvider::GetExtKey
    - Derive
    linkageType: ''
    returnType: bool
    signature: bool GetDerivedExtKey(const SigningProvider& arg, CExtKey& xprv, CExtKey&
      last_hardened) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: BIP32PubkeyProvider::IsHardened
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHardened() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - exp_index
    - ' extkey'
    - path
    - derive
    - apostrophe
    argTypes:
    - uint32_t
    - CExtPubKey
    - KeyPath
    - DeriveType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: BIP32PubkeyProvider::BIP32PubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BIP32PubkeyProvider(uint32_t exp_index, const CExtPubKey& extkey,
      KeyPath path, DeriveType derive, bool apostrophe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: BIP32PubkeyProvider::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: BIP32PubkeyProvider::GetSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: BIP32PubkeyProvider::IsBIP32
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBIP32() const override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:419,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:420,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:420,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:420,1
    - Dst: KeyOriginInfo::path::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:422,1
    - Dst: KeyOriginInfo::path::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:423,1
    - Dst: GetCachedDerivedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:431,1
    - Dst: GetCachedParentExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:434,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:436,1
    - Dst: BIP32PubkeyProvider::IsHardened
      Src: /src/bitcoin-core/src/script/descriptor.cpp:438,1
    - Dst: BIP32PubkeyProvider::GetDerivedExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:441,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:442,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:443,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:444,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:445,1
    - Dst: CExtKey::key::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:446,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:447,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:451,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:454,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:455,1
    - Dst: origins::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:459,1
    - Dst: CExtPubKey::pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:459,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/script/descriptor.cpp:459,1
    - Dst: pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:460,1
    - Dst: CExtPubKey::pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:460,1
    - Dst: CacheParentExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:465,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:467,1
    - Dst: CacheLastHardenedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:468,1
    - Dst: KeyOriginInfo::path::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:470,1
    - Dst: CacheDerivedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:471,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts:
    - condition: (m_derive != DeriveType::HARDENED)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 476
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 476
    functionName: BIP32PubkeyProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::make_pair
    - CacheDerivedExtPubKey
    - KeyOriginInfo::path::size
    - CExtPubKey::Derive
    - pubkeys::emplace
    - CExtKey::Neuter
    - KeyOriginInfo::path::push_back
    - BIP32PubkeyProvider::GetDerivedExtKey
    - BIP32PubkeyProvider::IsHardened
    - GetCachedParentExtPubKey
    - GetCachedDerivedExtPubKey
    - pubkey::GetID
    - CacheParentExtPubKey
    - assert
    - CacheLastHardenedExtPubKey
    - CExtKey::key::IsValid
    - CKeyID::begin
    - CExtPubKey::pubkey::GetID
    - CExtKey::Derive
    - CExtPubKey::pubkey::IsValid
    - origins::emplace
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetPubKey(int pos, const SigningProvider& arg,
      FlatSigningProvider& out, const DescriptorCache* read_cache = nullptr, DescriptorCache*
      write_cache = nullptr) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:481,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:481,1
    - Dst: BIP32PubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - type
    - normalized
    argTypes:
    - StringType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: BIP32PubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - FormatHDKeypath
    - EncodeExtPubKey
    - BIP32PubkeyProvider::IsRange
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type, bool normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: BIP32PubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - BIP32PubkeyProvider::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type=StringType::PUBLIC) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::GetExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:495,1
    - Dst: EncodeExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:496,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:496,1
    - Dst: BIP32PubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 502
    functionName: BIP32PubkeyProvider::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - FormatHDKeypath
    - EncodeExtKey
    - BIP32PubkeyProvider::GetExtKey
    - BIP32PubkeyProvider::IsRange
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:506,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:511,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:513,1
    - Dst: BIP32PubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:519,1
    - Dst: KeyOriginInfo::path::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:527,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:527,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:531,1
    - Dst: KeyPath::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:532,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:532,1
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:535,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:536,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:536,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:536,1
    - Dst: DescriptorCache*::GetCachedLastHardenedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:542,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:544,1
    - Dst: BIP32PubkeyProvider::GetDerivedExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:547,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:548,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:550,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:550,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:553,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:553,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:554,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:554,1
    - Dst: BIP32PubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:555,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:557,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - ' arg'
    - ' out'
    - cache
    argTypes:
    - SigningProvider
    - std::string
    - DescriptorCache*
    assertStmts:
    - condition: (xpub.pubkey.IsValid())
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    - condition: (m_derive == DeriveType::UNHARDENED)
      pos:
        line_end: 556
        line_start: 556
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 560
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 560
    functionName: BIP32PubkeyProvider::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - KeyOriginInfo::path::push_back
    - std::copy
    - FormatHDKeypath
    - BIP32PubkeyProvider::ToString
    - BIP32PubkeyProvider::GetDerivedExtKey
    - HexStr
    - at
    - size
    - CKeyID::begin
    - pubkey::GetID
    - DescriptorCache*::GetCachedLastHardenedExtPubKey
    - CExtPubKey::pubkey::IsValid
    - assert
    - CExtKey::Neuter
    - KeyPath::push_back
    - EncodeExtPubKey
    - BIP32PubkeyProvider::IsRange
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& out,
      const DescriptorCache* cache) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::GetDerivedExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:565,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:566,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:567,1
    - Dst: keys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:568,1
    - Dst: CExtKey::key::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: BIP32PubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - CExtKey::key::GetPubKey
    - keys::emplace
    - CExtKey::Derive
    - BIP32PubkeyProvider::GetDerivedExtKey
    linkageType: ''
    returnType: void
    signature: void GetPrivKey(int pos, const SigningProvider& arg, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: BIP32PubkeyProvider::GetRootPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetRootPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: BIP32PubkeyProvider::GetRootExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CExtPubKey>
    signature: std::optional<CExtPubKey> GetRootExtPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BIP32PubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: BIP32PubkeyProvider::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BIP32PubkeyProvider>
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: MuSigPubkeyProvider::IsRangedDerivation
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRangedDerivation() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:608,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:609,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/script/descriptor.cpp:611,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:611,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:611,1
    - Dst: MuSigPubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:611,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:613,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:613,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/script/descriptor.cpp:614,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:616,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/script/descriptor.cpp:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - exp_index
    - providers
    - path
    - derive
    argTypes:
    - uint32_t
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - KeyPath
    - DeriveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 619
    functionName: MuSigPubkeyProvider::MuSigPubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - end
    - Assume
    - MuSigPubkeyProvider::IsRange
    - std::runtime_error
    - std::move
    - std::any_of
    - MuSigPubkeyProvider::IsRangedDerivation
    - begin
    linkageType: ''
    returnType: void
    signature: "void MuSigPubkeyProvider(\n        uint32_t exp_index,\n        std::vector<std::unique_ptr<PubkeyProvider>>
      providers,\n        KeyPath path,\n        DeriveType derive\n    )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MuSigPubkeyProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:629,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:630,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:633,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:633,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/script/descriptor.cpp:635,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:635,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:635,1
    - Dst: MuSig2AggregatePubkeys
      Src: /src/bitcoin-core/src/script/descriptor.cpp:638,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:639,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:639,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:642,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:642,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/script/descriptor.cpp:646,1
    - Dst: value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:649,1
    - Dst: std::make_unique<BIP32PubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:651,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:653,1
    - Dst: value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:653,1
    - Dst: MuSigPubkeyProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:660,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:662,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/script/descriptor.cpp:664,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:664,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:664,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:666,1
    - Dst: MuSigPubkeyProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:671,1
    - Dst: aggregate_pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:674,1
    - Dst: value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:674,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:676,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:676,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:676,1
    - Dst: MuSig2AggregatePubkeys
      Src: /src/bitcoin-core/src/script/descriptor.cpp:678,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:682,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:682,1
    - Dst: std::unique_ptr::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:683,1
    - Dst: aggregate_pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:684,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:687,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:687,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 689
    functionName: MuSigPubkeyProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - std::memset
    - std::unique_ptr::GetPubKey
    - std::vector::push_back
    - has_value
    - std::vector::end
    - MuSigPubkeyProvider::GetPubKey
    - MuSig2AggregatePubkeys
    - CPubKey::CPubKey
    - Assume
    - empty
    - std::optional::has_value
    - std::make_unique<ConstPubkeyProvider>
    - aggregate_pubkeys::emplace
    - value
    - CPubKey::IsValid
    - std::vector::begin
    - std::optional::value
    - MuSigPubkeyProvider::IsRangedDerivation
    - std::make_unique<BIP32PubkeyProvider>
    - std::sort
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetPubKey(int pos, const SigningProvider& arg,
      FlatSigningProvider& out, const DescriptorCache* read_cache = nullptr, DescriptorCache*
      write_cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 690
    functionName: MuSigPubkeyProvider::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - MuSigPubkeyProvider::IsRangedDerivation
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 692
    functionName: MuSigPubkeyProvider::GetSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:697,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:698,1
    - Dst: MuSigPubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:700,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:703,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: MuSigPubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - FormatHDKeypath
    - at
    - size
    - MuSigPubkeyProvider::IsRangedDerivation
    - MuSigPubkeyProvider::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type=StringType::PUBLIC) const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:713,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:714,1
    - Dst: MuSigPubkeyProvider::ToPrivateString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:717,1
    - Dst: MuSigPubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:721,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:725,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:726,1
    - Dst: clear
      Src: /src/bitcoin-core/src/script/descriptor.cpp:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 731
    functionName: MuSigPubkeyProvider::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - FormatHDKeypath
    - at
    - size
    - MuSigPubkeyProvider::ToPrivateString
    - MuSigPubkeyProvider::IsRangedDerivation
    - clear
    - MuSigPubkeyProvider::ToString
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:735,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:736,1
    - Dst: MuSigPubkeyProvider::ToNormalizedString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:739,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:745,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 750
    functionName: MuSigPubkeyProvider::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - FormatHDKeypath
    - MuSigPubkeyProvider::ToNormalizedString
    - at
    - size
    - MuSigPubkeyProvider::IsRangedDerivation
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& out,
      const DescriptorCache* cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuSigPubkeyProvider::GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 760
    functionName: MuSigPubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - MuSigPubkeyProvider::GetPrivKey
    linkageType: ''
    returnType: void
    signature: void GetPrivKey(int pos, const SigningProvider& arg, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: MuSigPubkeyProvider::GetRootPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetRootPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: MuSigPubkeyProvider::GetRootExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CExtPubKey>
    signature: std::optional<CExtPubKey> GetRootExtPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:779,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:779,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:781,1
    - Dst: MuSigPubkeyProvider::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:781,1
    - Dst: std::make_unique<MuSigPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 784
    functionName: MuSigPubkeyProvider::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - size
    - std::vector::reserve
    - std::move
    - std::make_unique<MuSigPubkeyProvider>
    - MuSigPubkeyProvider::Clone
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/script/descriptor.cpp:788,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:788,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:788,1
    - Dst: MuSigPubkeyProvider::IsBIP32
      Src: /src/bitcoin-core/src/script/descriptor.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: MuSigPubkeyProvider::IsBIP32
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - end
    - MuSigPubkeyProvider::IsBIP32
    - begin
    - std::all_of
    linkageType: ''
    returnType: bool
    signature: bool IsBIP32() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 808
    functionName: DescriptorImpl::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pubkeys
    - ' name'
    argTypes:
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 823
    functionName: DescriptorImpl::DescriptorImpl
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DescriptorImpl(std::vector<std::unique_ptr<PubkeyProvider>> pubkeys,
      const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:824,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:824,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pubkeys
    - script
    - ' name'
    argTypes:
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - std::unique_ptr<DescriptorImpl>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 824
    functionName: DescriptorImpl::DescriptorImpl
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void DescriptorImpl(std::vector<std::unique_ptr<PubkeyProvider>> pubkeys,
      std::unique_ptr<DescriptorImpl> script, const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:825,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pubkeys
    - scripts
    - ' name'
    argTypes:
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - std::vector<std::unique_ptr<DescriptorImpl>>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 825
    functionName: DescriptorImpl::DescriptorImpl
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DescriptorImpl(std::vector<std::unique_ptr<PubkeyProvider>> pubkeys,
      std::vector<std::unique_ptr<DescriptorImpl>> scripts, const std::string& name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::IsSolvable
      Src: /src/bitcoin-core/src/script/descriptor.cpp:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: DescriptorImpl::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - DescriptorImpl::IsSolvable
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:848,1
    - Dst: DescriptorImpl::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: DescriptorImpl::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - DescriptorImpl::IsRange
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const final
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - arg
    - ' ret'
    - type
    argTypes:
    - SigningProvider*
    - std::string
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 867
    functionName: DescriptorImpl::ToStringSubScriptHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - DescriptorImpl::ToStringHelper
    linkageType: ''
    returnType: bool
    signature: bool ToStringSubScriptHelper(const SigningProvider* arg, std::string&
      ret, const StringType type, const DescriptorCache* cache = nullptr) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringExtra
      Src: /src/bitcoin-core/src/script/descriptor.cpp:872,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:873,1
    - Dst: DescriptorImpl::ToNormalizedString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:880,1
    - Dst: DescriptorImpl::ToPrivateString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:883,1
    - Dst: DescriptorImpl::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:886,1
    - Dst: DescriptorImpl::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:889,1
    - Dst: DescriptorImpl::ToStringSubScriptHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:895,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:896,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:897,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:897,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - arg
    - ' out'
    - type
    argTypes:
    - SigningProvider*
    - std::string
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 899
    functionName: DescriptorImpl::ToStringHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - DescriptorImpl::ToPrivateString
    - std::string::size
    - DescriptorImpl::ToStringExtra
    - std::move
    - DescriptorImpl::ToNormalizedString
    - DescriptorImpl::ToStringSubScriptHelper
    - DescriptorImpl::ToString
    linkageType: ''
    returnType: bool
    signature: bool ToStringHelper(const SigningProvider* arg, std::string& out, const
      StringType type, const DescriptorCache* cache = nullptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:904,1
    - Dst: AddChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - compat_format
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 3
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: DescriptorImpl::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - AddChecksum
    - DescriptorImpl::ToStringHelper
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(bool compat_format) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:910,1
    - Dst: AddChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 908
    functionDepth: 3
    functionLinenumber: 908
    functionLinenumberEnd: 913
    functionName: DescriptorImpl::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - AddChecksum
    - DescriptorImpl::ToStringHelper
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:917,1
    - Dst: AddChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' arg'
    - ' out'
    - cache
    argTypes:
    - SigningProvider
    - std::string
    - DescriptorCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 3
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: DescriptorImpl::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - AddChecksum
    - DescriptorImpl::ToStringHelper
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& out,
      const DescriptorCache* cache) const override final
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:927,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:927,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:931,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:933,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:933,1
    - Dst: DescriptorImpl::ExpandHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:938,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:939,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:939,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:940,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:940,1
    - Dst: Merge
      Src: /src/bitcoin-core/src/script/descriptor.cpp:942,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:942,1
    - Dst: MakeScripts
      Src: /src/bitcoin-core/src/script/descriptor.cpp:944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - pos
    - ' arg'
    - read_cache
    - ' output_scripts'
    - ' out'
    - write_cache
    argTypes:
    - int
    - SigningProvider
    - DescriptorCache*
    - std::vector<CScript>
    - FlatSigningProvider
    - DescriptorCache*
    assertStmts:
    - condition: (outscripts.size() == 1)
      pos:
        line_end: 938
        line_start: 938
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 946
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 946
    functionName: DescriptorImpl::ExpandHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - MakeScripts
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::optional::value
    - std::move
    - DescriptorImpl::ExpandHelper
    - Merge
    - assert
    - GetPubKey
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool ExpandHelper(int pos, const SigningProvider& arg, const DescriptorCache*
      read_cache, std::vector<CScript>& output_scripts, FlatSigningProvider& out,
      DescriptorCache* write_cache) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ExpandHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - ' provider'
    - ' output_scripts'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - std::vector<CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 3
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: DescriptorImpl::Expand
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - DescriptorImpl::ExpandHelper
    linkageType: ''
    returnType: bool
    signature: bool Expand(int pos, const SigningProvider& provider, std::vector<CScript>&
      output_scripts, FlatSigningProvider& out, DescriptorCache* write_cache = nullptr)
      const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ExpandHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - ' read_cache'
    - ' output_scripts'
    - ' out'
    argTypes:
    - int
    - DescriptorCache
    - std::vector<CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: DescriptorImpl::ExpandFromCache
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - DescriptorImpl::ExpandHelper
    linkageType: ''
    returnType: bool
    signature: bool ExpandFromCache(int pos, const DescriptorCache& read_cache, std::vector<CScript>&
      output_scripts, FlatSigningProvider& out) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:962,1
    - Dst: DescriptorImpl::ExpandPrivate
      Src: /src/bitcoin-core/src/script/descriptor.cpp:965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pos
    - ' provider'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 967
    functionName: DescriptorImpl::ExpandPrivate
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - GetPrivKey
    - DescriptorImpl::ExpandPrivate
    linkageType: ''
    returnType: void
    signature: void ExpandPrivate(int pos, const SigningProvider& provider, FlatSigningProvider&
      out) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 969
    functionName: DescriptorImpl::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 971
    functionName: DescriptorImpl::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 978
    functionName: DescriptorImpl::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 980
    functionName: DescriptorImpl::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 982
    functionName: DescriptorImpl::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRootPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:988,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:989,1
    - Dst: GetRootExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:990,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:991,1
    - Dst: DescriptorImpl::GetPubKeys
      Src: /src/bitcoin-core/src/script/descriptor.cpp:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' pubkeys'
    - ' ext_pubs'
    argTypes:
    - std::set<CPubKey>
    - std::set<CExtPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 996
    functionName: DescriptorImpl::GetPubKeys
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - GetRootPubKey
    - insert
    - GetRootExtPubKey
    - DescriptorImpl::GetPubKeys
    linkageType: ''
    returnType: void
    signature: void GetPubKeys(std::set<CPubKey>& pubkeys, std::set<CExtPubKey>& ext_pubs)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1006
    functionName: AddressDescriptor::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - EncodeDestination
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1007,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1007
    functionName: AddressDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - GetScriptForDestination
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>&, std::span<const
      CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - destination
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: AddressDescriptor::AddressDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AddressDescriptor(CTxDestination destination)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1010
    functionName: AddressDescriptor::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OutputTypeFromDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: AddressDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - OutputTypeFromDestination
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1016
    functionName: AddressDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1017
    functionName: AddressDescriptor::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1019
    functionName: AddressDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddressDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1023
    functionName: AddressDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AddressDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1031
    functionName: RawDescriptor::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1032
    functionName: RawDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>&, std::span<const
      CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - script
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1034
    functionName: RawDescriptor::RawDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RawDescriptor(CScript script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1035
    functionName: RawDescriptor::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1040,1
    - Dst: OutputTypeFromDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1037
    functionDepth: 3
    functionLinenumber: 1037
    functionLinenumberEnd: 1042
    functionName: RawDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ExtractDestination
    - OutputTypeFromDestination
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1043
    functionName: RawDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1044
    functionName: RawDescriptor::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1046
    functionName: RawDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RawDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: RawDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RawDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1063,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1063,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1063,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1064,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1064,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1066,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1068
    functionName: PKDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - GetScriptForRawPubKey
    - std::move
    - XOnlyPubKey
    - Vector
    - CScript
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1070,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1070
    functionName: PKDescriptor::PKDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void PKDescriptor(std::unique_ptr<PubkeyProvider> prov, bool xonly
      = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1071
    functionName: PKDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1075
    functionName: PKDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: PKDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1084
    functionName: PKDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - PKDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1086
    functionName: PKDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1090,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1091
    functionName: PKDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<PKDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1100,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1101,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1101,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1102
    functionName: PKHDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - PKHash
    - GetID
    - Vector
    - GetScriptForDestination
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1104,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: PKHDescriptor::PKHDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void PKHDescriptor(std::unique_ptr<PubkeyProvider> prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1105
    functionName: PKHDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1106
    functionName: PKHDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1108
    functionName: PKHDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    functionName: PKHDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKHDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1117
    functionName: PKHDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - PKHDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1119
    functionName: PKHDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1123,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1124
    functionName: PKHDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<PKHDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1133,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1134,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1134,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1135
    functionName: WPKHDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - WitnessV0KeyHash
    - GetID
    - Vector
    - GetScriptForDestination
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1137,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1137
    functionName: WPKHDescriptor::WPKHDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void WPKHDescriptor(std::unique_ptr<PubkeyProvider> prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1138
    functionName: WPKHDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1139
    functionName: WPKHDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1141
    functionName: WPKHDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    functionName: WPKHDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPKHDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: WPKHDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - WPKHDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1152
    functionName: WPKHDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WPKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1156,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1157
    functionName: WPKHDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<WPKHDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1167,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1168,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1168,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1169,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1169,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1169,1
    - Dst: IsCompressed
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1170,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1171,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1171,1
    - Dst: scripts::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1172,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1172,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1173,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1174,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1174,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' keys'
    - ' out'
    argTypes:
    - std::vector<CPubKey>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1177
    functionName: ComboDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - WitnessV0KeyHash
    - ScriptHash
    - std::vector::emplace_back
    - GetScriptForDestination
    - CScriptID
    - GetID
    - GetScriptForRawPubKey
    - IsCompressed
    - PKHash
    - scripts::emplace
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1179,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1179
    functionName: ComboDescriptor::ComboDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void ComboDescriptor(std::unique_ptr<PubkeyProvider> prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1180
    functionName: ComboDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ComboDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1183,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: ComboDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<ComboDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1193
    functionName: MultisigDescriptor::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1197,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1197,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1197,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1198,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1198,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1200,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1201
    functionName: MultisigDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::begin
    - Vector
    - std::sort
    - GetScriptForMultisig
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - threshold
    - providers
    argTypes:
    - int
    - std::vector<std::unique_ptr<PubkeyProvider>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1203
    functionName: MultisigDescriptor::MultisigDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultisigDescriptor(int threshold, std::vector<std::unique_ptr<PubkeyProvider>>
      providers, bool sorted = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1204
    functionName: MultisigDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1207,1
    - Dst: GetSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1208,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1209,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1209,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1209,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1210,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1211
    functionName: MultisigDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::accumulate
    - size
    - BuildScript
    - GetSize
    - begin
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1216
    functionName: MultisigDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultisigDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1220
    functionName: MultisigDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - MultisigDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1222
    functionName: MultisigDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1227,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1227,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: MultisigDescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: std::make_unique<MultisigDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1229,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1230
    functionName: MultisigDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::transform
    - size
    - std::vector::reserve
    - std::vector::begin
    - std::move
    - std::make_unique<MultisigDescriptor>
    - MultisigDescriptor::Clone
    - begin
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1239
    functionName: MultiADescriptor::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1241,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1243,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1243,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1244,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1245,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1245,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1245,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1246,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1247,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1248,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1251,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1252
    functionName: MultiADescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - ToByteVector
    - std::vector::emplace_back
    - size
    - std::vector::reserve
    - std::vector::begin
    - std::move
    - Vector
    - std::sort
    - CScript::CScript
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - threshold
    - providers
    argTypes:
    - int
    - std::vector<std::unique_ptr<PubkeyProvider>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1254
    functionName: MultiADescriptor::MultiADescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiADescriptor(int threshold, std::vector<std::unique_ptr<PubkeyProvider>>
      providers, bool sorted = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1255
    functionName: MultiADescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1258,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1257
    functionDepth: 2
    functionLinenumber: 1257
    functionLinenumberEnd: 1260
    functionName: MultiADescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - BuildScript
    - size
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1264
    functionName: MultiADescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1266
    functionName: MultiADescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1271,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1271,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1273,1
    - Dst: MultiADescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1273,1
    - Dst: std::make_unique<MultiADescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1275,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1276
    functionName: MultiADescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - MultiADescriptor::Clone
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::move
    - std::make_unique<MultiADescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1285,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1285,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1285,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1286,1
    - Dst: scripts::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1286,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scripts
    - ' out'
    argTypes:
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1288
    functionName: SHDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ScriptHash
    - auto::size
    - GetScriptForDestination
    - CScriptID
    - Vector
    - scripts::emplace
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>&, std::span<const
      CScript> scripts, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHDescriptor::GetOutputType
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1290
    functionName: SHDescriptor::IsSegwit
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - SHDescriptor::GetOutputType
    linkageType: ''
    returnType: bool
    signature: bool IsSegwit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - desc
    argTypes:
    - std::unique_ptr<DescriptorImpl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1293
    functionName: SHDescriptor::SHDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SHDescriptor(std::unique_ptr<DescriptorImpl> desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1297,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1297,1
    - Dst: SHDescriptor::IsSegwit
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_subdescriptor_args.size() == 1)
      pos:
        line_end: 1296
        line_start: 1296
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 1300
      start: 1295
    functionDepth: 2
    functionLinenumber: 1295
    functionLinenumberEnd: 1300
    functionName: SHDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - SHDescriptor::IsSegwit
    - assert
    - size
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1301
    functionName: SHDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1303
    functionName: SHDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1306,1
    - Dst: SHDescriptor::ScriptSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1307,1
    - Dst: SHDescriptor::IsSegwit
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1316
    functionName: SHDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - SHDescriptor::IsSegwit
    - MaxSatSize
    - SHDescriptor::ScriptSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHDescriptor::MaxSatisfactionElems
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1321
    functionName: SHDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - SHDescriptor::MaxSatisfactionElems
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1325,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: SHDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<SHDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1335,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1335,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1335,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1336,1
    - Dst: scripts::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1336,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scripts
    - ' out'
    argTypes:
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1338
    functionName: WSHDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - GetScriptForDestination
    - CScriptID
    - WitnessV0ScriptHash
    - Vector
    - scripts::emplace
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>&, std::span<const
      CScript> scripts, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - desc
    argTypes:
    - std::unique_ptr<DescriptorImpl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1340
    functionName: WSHDescriptor::WSHDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WSHDescriptor(std::unique_ptr<DescriptorImpl> desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1341
    functionName: WSHDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1342
    functionName: WSHDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1344
    functionName: WSHDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSHDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1347,1
    - Dst: WSHDescriptor::ScriptSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1348,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1346
    functionDepth: 2
    functionLinenumber: 1346
    functionLinenumberEnd: 1353
    functionName: WSHDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - WSHDescriptor::ScriptSize
    - GetSizeOfCompactSize
    - WSHDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSHDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1355
    functionDepth: 3
    functionLinenumber: 1355
    functionLinenumberEnd: 1357
    functionName: WSHDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - WSHDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSHDescriptor::MaxSatisfactionElems
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1362
    functionName: WSHDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - WSHDescriptor::MaxSatisfactionElems
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WSHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1366,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1367
    functionName: WSHDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<WSHDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1378,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1378,1
    - Dst: std::span<const CScript>::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1378,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1379,1
    - Dst: TaprootBuilder::Add
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1380,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1382,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1383,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1383,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1385,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1386,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1387,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1389,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' keys'
    - scripts
    - ' out'
    argTypes:
    - std::vector<CPubKey>
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts:
    - condition: (m_depths.size() == scripts.size())
      pos:
        line_end: 1377
        line_start: 1377
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    - condition: (keys.size() == 1)
      pos:
        line_end: 1382
        line_start: 1382
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 1390
      start: 1375
    functionDepth: 2
    functionLinenumber: 1375
    functionLinenumberEnd: 1390
    functionName: TRDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - TaprootBuilder::Finalize
    - GetScriptForDestination
    - TaprootBuilder::Add
    - std::span<const CScript>::size
    - size
    - TaprootBuilder::IsComplete
    - Vector
    - XOnlyPubKey::IsFullyValid
    - assert
    - TaprootBuilder::GetOutput
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript> scripts, FlatSigningProvider& out) const override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1393,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1395,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1397,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1398,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1399,1
    - Dst: ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1402,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1404,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1404,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1405,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1406,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1408,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1408,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - arg
    - ' ret'
    - type
    argTypes:
    - SigningProvider*
    - std::string
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1411
    functionName: TRDescriptor::ToStringSubScriptHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::back
    - size
    - std::vector::push_back
    - ToStringHelper
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool ToStringSubScriptHelper(const SigningProvider* arg, std::string&
      ret, const StringType type, const DescriptorCache* cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1414,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1416,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1416,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - internal_key
    - descs
    - depths
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    - std::vector<std::unique_ptr<DescriptorImpl>>
    - std::vector<int>
    assertStmts:
    - condition: (m_subdescriptor_args.size() == m_depths.size())
      pos:
        line_end: 1415
        line_start: 1415
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 1417
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1417
    functionName: TRDescriptor::TRDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    - assert
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void TRDescriptor(std::unique_ptr<PubkeyProvider> internal_key, std::vector<std::unique_ptr<DescriptorImpl>>
      descs, std::vector<int> depths)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1418
    functionName: TRDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1419
    functionName: TRDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1421
    functionName: TRDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1426
    functionName: TRDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1431
    functionName: TRDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1436,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1436,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: TRDescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: std::make_unique<TRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1438,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1438,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1439
    functionName: TRDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::transform
    - std::make_unique<TRDescriptor>
    - at
    - size
    - std::vector::reserve
    - std::vector::begin
    - std::move
    - begin
    - TRDescriptor::Clone
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1460,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1461,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1459
    functionDepth: 4
    functionLinenumber: 1459
    functionLinenumberEnd: 1464
    functionName: ScriptMaker::GetHash160
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - miniscript::IsTapscript
    - Hash160
    - GetID
    linkageType: ''
    returnType: uint160
    signature: uint160 GetHash160(uint32_t key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' keys LIFETIMEBOUND'
    - script_ctx
    argTypes:
    - std::vector<CPubKey>
    - miniscript::MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1467
    functionName: ScriptMaker::ScriptMaker
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptMaker(const std::vector<CPubKey>& keys LIFETIMEBOUND, const
      miniscript::MiniscriptContext script_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1471,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1472,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1472,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1475,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1469
    functionDepth: 2
    functionLinenumber: 1469
    functionLinenumberEnd: 1476
    functionName: ScriptMaker::ToPKBytes
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - end
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::end
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKBytes(uint32_t key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScriptMaker::GetHash160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1479,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1480,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1478
    functionDepth: 5
    functionLinenumber: 1478
    functionLinenumberEnd: 1481
    functionName: ScriptMaker::ToPKHBytes
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - auto::end
    - auto::begin
    - ScriptMaker::GetHash160
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKHBytes(uint32_t key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - LIFETIMEBOUND
    - ' pubkeys LIFETIMEBOUND'
    - priv
    argTypes:
    - SigningProvider*
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1497
    functionName: StringMaker::StringMaker
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringMaker(const SigningProvider* arg LIFETIMEBOUND, const std::vector<std::unique_ptr<PubkeyProvider>>&
      pubkeys LIFETIMEBOUND, bool priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1503,1
    - Dst: StringMaker::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1508
    functionName: StringMaker::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - ToPrivateString
    - StringMaker::ToString
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(uint32_t key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMsCtx
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1520,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1522,1
    - Dst: pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1523,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1523,1
    - Dst: pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1525,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1525,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1528,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1528,1
    - Dst: ScriptMaker
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' keys'
    - scripts
    - ' provider'
    argTypes:
    - std::vector<CPubKey>
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1517
    functionDepth: 4
    functionLinenumber: 1517
    functionLinenumberEnd: 1529
    functionName: MiniscriptDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ScriptMaker
    - miniscript::IsTapscript
    - Hash160
    - GetID
    - ToScript
    - Vector
    - pubkeys::emplace
    - GetMsCtx
    linkageType: ''
    returnType: std::vector<CScript>
    signature: "std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript> scripts,\n                                     FlatSigningProvider&
      provider) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1533,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - providers
    - node
    argTypes:
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - miniscript::NodeRef<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1533
    functionName: MiniscriptDescriptor::MiniscriptDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MiniscriptDescriptor(std::vector<std::unique_ptr<PubkeyProvider>>
      providers, miniscript::NodeRef<uint32_t> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1538,1
    - Dst: StringMaker
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - ' out'
    - type
    argTypes:
    - SigningProvider*
    - std::string
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1543
    functionName: MiniscriptDescriptor::ToStringHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - StringMaker
    linkageType: ''
    returnType: bool
    signature: "bool ToStringHelper(const SigningProvider* arg, std::string& out,
      const StringType type,\n                        const DescriptorCache* cache
      = nullptr) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1545
    functionName: MiniscriptDescriptor::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1546
    functionName: MiniscriptDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MiniscriptDescriptor::ScriptSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1548
    functionName: MiniscriptDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - MiniscriptDescriptor::ScriptSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1553
    functionName: MiniscriptDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStackSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1557
    functionName: MiniscriptDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetStackSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1562,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1562,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1564,1
    - Dst: MiniscriptDescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1564,1
    - Dst: std::make_unique<MiniscriptDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1566,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1566,1
    - Dst: MiniscriptDescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1567
    functionName: MiniscriptDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::move
    - MiniscriptDescriptor::Clone
    - std::make_unique<MiniscriptDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1576,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1576,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1578,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1580,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' keys'
    - scripts
    - ' out'
    argTypes:
    - std::vector<CPubKey>
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts:
    - condition: (keys.size() == 1)
      pos:
        line_end: 1575
        line_start: 1575
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 1581
      start: 1574
    functionDepth: 2
    functionLinenumber: 1574
    functionLinenumberEnd: 1581
    functionName: RawTRDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - size
    - Vector
    - XOnlyPubKey::IsFullyValid
    - assert
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript> scripts, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1583,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output_key
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1583
    functionName: RawTRDescriptor::RawTRDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void RawTRDescriptor(std::unique_ptr<PubkeyProvider> output_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1584
    functionName: RawTRDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1585
    functionName: RawTRDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1587
    functionName: RawTRDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1592
    functionName: RawTRDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1597
    functionName: RawTRDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RawTRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1601,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1602
    functionName: RawTRDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<RawTRDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1621,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1622,1
    - Dst: std::span<const char>::first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1624,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1624,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1629,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1629,1
    - Dst: std::span<const char>::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1629,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1631,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1631,1
    - Dst: std::span<const char>::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1631,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1634,1
    - Dst: std::make_optional<uint32_t>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - elem
    - ' apostrophe'
    - ' error'
    - ' has_hardened'
    argTypes:
    - std::span<const char>
    - bool
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1640
    functionName: ParseKeyPathNum
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::span<const char>::first
    - std::span<const char>::size
    - std::span<const char>::end
    - ToIntegral
    - std::span<const char>::begin
    - strprintf
    - std::make_optional<uint32_t>
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> ParseKeyPathNum(std::span<const char> elem,
      bool& apostrophe, std::string& error, bool& has_hardened)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1662,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1666,1
    - Dst: front
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1666,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1666,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1668,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1668,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1668,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1668,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1677,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1677,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1677,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1677,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1678,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1683,1
    - Dst: ParseKeyPathNum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1686,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1688,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1690,1
    - Dst: std::optional::values::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1693,1
    - Dst: KeyPath::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1696,1
    - Dst: KeyPath::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1697,1
    - Dst: ParseKeyPathNum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1699,1
    - Dst: KeyPath::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1701,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1706,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1706,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1712,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1712,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 6
    argNames:
    - ' split'
    - ' out'
    - ' apostrophe'
    - ' error'
    - allow_multipath
    - ' has_hardened'
    argTypes:
    - std::vector<std::span<const char>>
    - std::vector<KeyPath>
    - bool
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1716
    functionName: ParseKeyPath
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - KeyPath::emplace_back
    - std::move
    - std::string
    - back
    - std::unordered_set::insert
    - KeyPath::size
    - std::span
    - std::vector::size
    - empty
    - front
    - std::optional::values::emplace_back
    - strprintf
    - end
    - std::optional::emplace
    - ParseKeyPathNum
    - size
    - Split
    - emplace_back
    - begin
    linkageType: ''
    returnType: bool
    signature: bool ParseKeyPath(const std::vector<std::span<const char>>& split,
      std::vector<KeyPath>& out, bool& apostrophe, std::string& error, bool allow_multipath,
      bool& has_hardened)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseKeyPath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' split'
    - ' out'
    - ' apostrophe'
    - ' error'
    - allow_multipath
    argTypes:
    - std::vector<std::span<const char>>
    - std::vector<KeyPath>
    - bool
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1722
    functionName: ParseKeyPath
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - ParseKeyPath
    linkageType: ''
    returnType: bool
    signature: bool ParseKeyPath(const std::vector<std::span<const char>>& split,
      std::vector<KeyPath>& out, bool& apostrophe, std::string& error, bool allow_multipath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1727,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1727,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1727,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1728,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1731,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1731,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1731,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' split'
    - ' apostrophe'
    argTypes:
    - std::vector<std::span<const char>>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1736
    functionName: ParseDeriveType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - all_bytes_equal
    - back
    - first
    linkageType: ''
    returnType: DeriveType
    signature: DeriveType ParseDeriveType(std::vector<std::span<const char>>& split,
      bool& apostrophe)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1743,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1744,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1744,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1745,1
    - Dst: IsSpace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1749,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1749,1
    - Dst: IsSpace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1749,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1749,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1750,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1753,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1754,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1755,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1757,1
    - Dst: CPubKey::IsValidNonHybrid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1757,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1761,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1762,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1763,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1763,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1769,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1771,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1771,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1771,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1772,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1772,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1772,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1773,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1774,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1774,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1778,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1781,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1782,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1783,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1784,1
    - Dst: keys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1785,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1785,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1786,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1786,1
    - Dst: DecodeExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1794,1
    - Dst: DecodeExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1795,1
    - Dst: CExtKey::key::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1796,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1796,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1797,1
    - Dst: ParseDeriveType
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1801,1
    - Dst: ParseKeyPath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1802,1
    - Dst: CExtKey::key::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1803,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1804,1
    - Dst: keys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1805,1
    - Dst: CExtPubKey::pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1805,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1808,1
    - Dst: std::make_unique<BIP32PubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1808,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1808,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 6
    argNames:
    - key_exp_index
    - ' sp'
    - ctx
    - ' out'
    - ' apostrophe'
    - ' error'
    argTypes:
    - uint32_t
    - std::span<const char>
    - ParseScriptContext
    - FlatSigningProvider
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1739
    functionDepth: 5
    functionLinenumber: 1739
    functionLinenumberEnd: 1811
    functionName: ParsePubkeyInner
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - auto::size
    - std::vector::emplace_back
    - std::move
    - CPubKey::GetID
    - CPubKey::IsCompressed
    - CExtKey::Neuter
    - CKey::IsValid
    - std::vector::end
    - ParseKeyPath
    - std::vector::size
    - ParseHex
    - CKey::IsCompressed
    - std::make_unique<ConstPubkeyProvider>
    - std::string::front
    - DecodeExtPubKey
    - std::string::back
    - strprintf
    - DecodeSecret
    - CPubKey::IsValidNonHybrid
    - CKey::GetPubKey
    - keys::emplace
    - CPubKey::IsValid
    - CExtKey::key::IsValid
    - end
    - std::string::size
    - IsHex
    - CPubKey::Set
    - std::vector::begin
    - ParseDeriveType
    - CExtPubKey::pubkey::GetID
    - Split
    - IsSpace
    - std::make_unique<BIP32PubkeyProvider>
    - DecodeExtKey
    - CExtPubKey::pubkey::IsValid
    - CPubKey::IsFullyValid
    - begin
    linkageType: ''
    returnType: std::vector<std::unique_ptr<PubkeyProvider>>
    signature: std::vector<std::unique_ptr<PubkeyProvider>> ParsePubkeyInner(uint32_t
      key_exp_index, const std::span<const char>& sp, ParseScriptContext ctx, FlatSigningProvider&
      out, bool& apostrophe, std::string& error)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1823,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1831,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1832,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1836,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1836,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1837,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1848,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1849,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1850,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1854,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1855,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1856,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1857,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1861,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1862,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1864,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1864,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1866,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1866,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1877,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1877,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1877,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1887,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1887,1
    - Dst: ParseDeriveType
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1888,1
    - Dst: ParseKeyPath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1894,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1903,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1910,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1912,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1912,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1914,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1924,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1926,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1926,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1928,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1928,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1928,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1930,1
    - Dst: std::make_unique<MuSigPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1930,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1930,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1933,1
    - Dst: clone_providers
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1937,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1938,1
    - Dst: emplace_final_provider
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1943,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1945,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1947,1
    - Dst: clone_providers
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1947,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1947,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1951,1
    - Dst: emplace_final_provider
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1953,1
    - Dst: emplace_final_provider
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1957,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1962,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1963,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1969,1
    - Dst: ParsePubkeyInner
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1970,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1972,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1973,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1974,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1977,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1977,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1978,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1979,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1979,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1982,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1982,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1982,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1983,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1984,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1987,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1990,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1990,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1991,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1991,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1991,1
    - Dst: ParseKeyPath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1993,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1994,1
    - Dst: ParsePubkeyInner
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1995,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1996,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1997,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1997,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1999,1
    - Dst: std::make_unique<OriginPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1999,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1999,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 131
    argCount: 5
    argNames:
    - ' key_exp_index'
    - ' sp'
    - ctx
    - ' out'
    - ' error'
    argTypes:
    - uint32_t
    - std::span<const char>
    - ParseScriptContext
    - FlatSigningProvider
    - std::string
    assertStmts:
    - condition: (fpr_bytes.size() == 4)
      pos:
        line_end: 1989
        line_start: 1989
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2002
      start: 1815
    functionDepth: 6
    functionLinenumber: 1815
    functionLinenumberEnd: 2002
    functionName: ParsePubkey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - std::copy
    - auto::size
    - std::vector::emplace_back
    - ParsePubkey
    - at
    - std::move
    - std::string
    - emplace_final_provider
    - auto::begin
    - auto::at
    - std::span::size
    - Func
    - std::vector::reserve
    - Expr
    - ParseKeyPath
    - std::vector::size
    - ParseHex
    - ParsePubkeyInner
    - clone_providers
    - Assume
    - empty
    - auto::empty
    - strprintf
    - assert
    - Const
    - end
    - std::vector::at
    - IsHex
    - std::make_unique<OriginPubkeyProvider>
    - size
    - ParseDeriveType
    - std::max
    - std::make_unique<MuSigPubkeyProvider>
    - Split
    - emplace_back
    - auto::end
    - begin
    - subspan
    linkageType: ''
    returnType: std::vector<std::unique_ptr<PubkeyProvider>>
    signature: std::vector<std::unique_ptr<PubkeyProvider>> ParsePubkey(uint32_t&
      key_exp_index, const std::span<const char>& sp, ParseScriptContext ctx, FlatSigningProvider&
      out, std::string& error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsValidNonHybrid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2007,1
    - Dst: IsCompressed
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2011,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2014,1
    - Dst: GetKeyOrigin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2016,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2016,1
    - Dst: std::make_unique<OriginPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2017,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2017,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ' pubkey'
    - ctx
    - ' provider'
    argTypes:
    - CPubKey
    - ParseScriptContext
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2020
    functionName: InferPubkey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ConstPubkeyProvider>
    - std::make_unique<OriginPubkeyProvider>
    - GetID
    - std::move
    - GetKeyOrigin
    - IsCompressed
    - IsValidNonHybrid
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> InferPubkey(const CPubKey& pubkey,
      ParseScriptContext ctx, const SigningProvider& provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEvenCorrespondingCPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2024,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2025,1
    - Dst: GetKeyOriginByXOnly
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2027,1
    - Dst: std::make_unique<OriginPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2028,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2028,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' xkey'
    - ctx
    - ' provider'
    argTypes:
    - XOnlyPubKey
    - ParseScriptContext
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2031
    functionName: InferXOnlyPubkey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetKeyOriginByXOnly
    - std::make_unique<ConstPubkeyProvider>
    - std::make_unique<OriginPubkeyProvider>
    - GetEvenCorrespondingCPubKey
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> InferXOnlyPubkey(const XOnlyPubKey&
      xkey, ParseScriptContext ctx, const SigningProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - LIFETIMEBOUND
    - LIFETIMEBOUND
    - ctx
    argTypes:
    - FlatSigningProvider*
    - SigningProvider*
    - miniscript::MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: KeyParser
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void KeyParser(FlatSigningProvider* out LIFETIMEBOUND, const SigningProvider*
      in LIFETIMEBOUND,\n              miniscript::MiniscriptContext ctx, uint32_t
      offset = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2057,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2058
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const Key& a, const Key& b) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 2064
        line_start: 2064
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2066
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2066
    functionName: ParseContext
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ParseScriptContext
    signature: ParseScriptContext ParseContext() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2070,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2071,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2073,1
    - Dst: ParseContext
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2073,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2074,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2075,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (m_out)
      pos:
        line_end: 2069
        line_start: 2069
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2077
      start: 2068
    functionDepth: 7
    functionLinenumber: 2068
    functionLinenumberEnd: 2077
    functionName: FromString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 32
    functionsReached:
    - ParseContext
    - ParsePubkey
    - size
    - std::move
    - auto::empty
    - emplace_back
    - assert
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromString(I begin, I end) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2082
    functionName: ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 341
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(const Key& key) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2086,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2087,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2088,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2089,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2090,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2090,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2091,1
    - Dst: ParseContext
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2091,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2092,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2093,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2093,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2096,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2098,1
    - Dst: ParseContext
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2098,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2099,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2100,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (m_in)
      pos:
        line_end: 2085
        line_start: 2085
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2105
      start: 2084
    functionDepth: 2
    functionLinenumber: 2084
    functionLinenumberEnd: 2105
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached:
    - InferXOnlyPubkey
    - std::copy
    - XOnlyPubKey::begin
    - ParseContext
    - miniscript::IsTapscript
    - back
    - size
    - std::move
    - emplace_back
    - assert
    - InferPubkey
    - XOnlyPubKey::XOnlyPubKey
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKBytes(I begin, I end) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2109,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2110,1
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2111,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2112,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2112,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2114,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2115,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2116,1
    - Dst: ParseContext
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2116,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2117,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2118,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2119,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (end - begin == 20)
      pos:
        line_end: 2108
        line_start: 2108
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    - condition: (m_in)
      pos:
        line_end: 2109
        line_start: 2109
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2124
      start: 2107
    functionDepth: 2
    functionLinenumber: 2107
    functionLinenumberEnd: 2124
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 6
    functionsReached:
    - std::copy
    - ParseContext
    - uint160::begin
    - back
    - size
    - std::move
    - CPubKey::CPubKey
    - emplace_back
    - assert
    - GetPubKey
    - InferPubkey
    - uint160::uint160
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKHBytes(I begin, I end) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2128
    functionName: MsContext
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: miniscript::MiniscriptContext
    signature: miniscript::MiniscriptContext MsContext() const
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2136,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2138,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2139,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2140,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2141,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2142,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2147,1
    - Dst: std::make_unique<PKDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2147,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2147,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2151,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2152,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2153,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2154,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2159,1
    - Dst: std::make_unique<PKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2159,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2159,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2163,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2164,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2165,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2166,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2171,1
    - Dst: std::make_unique<ComboDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2171,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2171,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2174,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2178,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2179,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2180,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2181,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2184,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2187,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2187,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2187,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2190,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2190,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2190,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2190,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2195,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2196,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2197,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2200,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2201,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2202,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2203,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2206,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2207,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2207,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2208,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2208,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2211,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2211,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2212,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2212,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2214,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2214,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2215,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2215,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2218,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2220,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2221,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2221,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2225,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2226,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2226,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2233,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2241,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2243,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2243,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2245,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2246,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2255,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2255,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2257,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2257,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2257,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2260,1
    - Dst: std::make_unique<MultisigDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2260,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2260,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2262,1
    - Dst: std::make_unique<MultiADescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2262,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2262,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2273,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2274,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2275,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2276,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2281,1
    - Dst: std::make_unique<WPKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2281,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2281,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2284,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2288,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2289,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2290,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2290,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2292,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2292,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2294,1
    - Dst: std::make_unique<SHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2294,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2294,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2297,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2301,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2302,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2303,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2305,1
    - Dst: std::make_unique<WSHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2305,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2305,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2308,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2312,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2313,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2313,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2313,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2313,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2314,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2318,1
    - Dst: std::make_unique<AddressDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2318,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2318,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2320,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2324,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2325,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2326,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2327,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2328,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2331,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2335,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2336,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2337,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2348,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2349,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2350,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2351,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2356,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2357,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2357,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2358,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2359,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2359,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2360,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2360,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2362,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2362,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2363,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2364,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2367,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2370,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2370,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2371,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2372,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2375,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2377,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2379,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2380,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2384,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2384,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2389,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2391,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2391,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2393,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2394,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2399,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2399,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2400,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2404,1
    - Dst: auto::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2405,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2405,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2412,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2412,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2414,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2414,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: std::make_unique<TRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2421,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2425,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2426,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2427,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2428,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2431,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2432,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2433,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2438,1
    - Dst: std::make_unique<RawTRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2438,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2438,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2441,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2445,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2446,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2446,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2447,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2451,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: std::make_unique<RawDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2454,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2462,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2462,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2462,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2462,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2464,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2472,1
    - Dst: auto::IsNotSatisfiable
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2472,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2474,1
    - Dst: auto::FindInsaneSub
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2475,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2476,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2477,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2479,1
    - Dst: auto::IsNonMalleable
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2481,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2483,1
    - Dst: auto::NeedsSignature
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2483,1
    - Dst: auto::CheckTimeLocksMix
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2485,1
    - Dst: auto::CheckDuplicateKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2487,1
    - Dst: auto::ValidSatisfactions
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2489,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2499,1
    - Dst: KeyParser::m_keys::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2499,1
    - Dst: KeyParser::m_keys::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2500,1
    - Dst: std::max_element
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2503,1
    - Dst: KeyParser::m_keys::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2503,1
    - Dst: KeyParser::m_keys::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2503,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2505,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2505,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2509,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2511,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2511,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2513,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2514,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2523,1
    - Dst: KeyParser::m_keys::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2523,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2525,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2525,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2525,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2527,1
    - Dst: std::make_unique<MiniscriptDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2527,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2527,1
    - Dst: auto::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2527,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2539,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2539,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2539,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2539,1
    CyclomaticComplexity: 144
    EdgeCount: 144
    ICount: 340
    argCount: 5
    argNames:
    - ' key_exp_index'
    - ' sp'
    - ctx
    - ' out'
    - ' error'
    argTypes:
    - uint32_t
    - std::span<const char>
    - ParseScriptContext
    - FlatSigningProvider
    - std::string
    assertStmts:
    - condition: (TaprootBuilder::ValidDepths(depths))
      pos:
        line_end: 2383
        line_start: 2383
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2541
      start: 2133
    functionDepth: 7
    functionLinenumber: 2133
    functionLinenumberEnd: 2541
    functionName: ParseScript
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 7
    functionsReached:
    - auto::ToString
    - auto::size
    - IsValidDestination
    - std::vector::emplace_back
    - ParsePubkey
    - DecodeDestination
    - at
    - std::move
    - std::make_unique<PKHDescriptor>
    - std::string
    - ToIntegral
    - std::vector::push_back
    - std::make_unique<MultiADescriptor>
    - std::max_element
    - CHECK_NONFATAL
    - std::make_unique<MiniscriptDescriptor>
    - auto::begin
    - auto::at
    - auto::ValidSatisfactions
    - auto::NeedsSignature
    - auto::IsValid
    - Func
    - std::vector::back
    - std::make_unique<RawTRDescriptor>
    - std::make_unique<RawDescriptor>
    - std::vector::reserve
    - Expr
    - ParseScript
    - std::vector::pop_back
    - std::vector::empty
    - miniscript::FromString
    - std::vector::size
    - std::make_unique<AddressDescriptor>
    - ParseHex
    - Assume
    - auto::emplace_back
    - TaprootBuilder::ValidDepths
    - KeyParser::m_keys::end
    - auto::empty
    - std::make_unique<PKDescriptor>
    - strprintf
    - auto::FindInsaneSub
    - KeyParser::m_keys::size
    - assert
    - std::make_unique<WPKHDescriptor>
    - std::make_unique<ComboDescriptor>
    - std::make_unique<SHDescriptor>
    - std::make_unique<WSHDescriptor>
    - Const
    - IsHex
    - KeyParser::m_keys::begin
    - auto::IsSane
    - auto::CheckDuplicateKey
    - auto::CheckTimeLocksMix
    - std::make_unique<TRDescriptor>
    - KeyParser::m_keys::empty
    - size
    - auto::IsNotSatisfiable
    - std::max
    - std::make_unique<MultisigDescriptor>
    - CScript
    - auto::Clone
    - emplace_back
    - auto::IsNonMalleable
    - auto::end
    - auto::get
    linkageType: ''
    returnType: std::vector<std::unique_ptr<DescriptorImpl>>
    signature: std::vector<std::unique_ptr<DescriptorImpl>> ParseScript(uint32_t&
      key_exp_index, std::span<const char>& sp, ParseScriptContext ctx, FlatSigningProvider&
      out, std::string& error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MatchMultiA
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2545,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2548,1
    - Dst: auto::second::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2548,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2550,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2551,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2553,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2553,1
    - Dst: std::make_unique<MultiADescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2555,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' script'
    - ctx
    - ' provider'
    argTypes:
    - CScript
    - ParseScriptContext
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2543
    functionDepth: 4
    functionLinenumber: 2543
    functionLinenumberEnd: 2556
    functionName: InferMultiA
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - InferXOnlyPubkey
    - auto::second::size
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::move
    - std::make_unique<MultiADescriptor>
    - MatchMultiA
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> InferMultiA(const CScript& script,
      ParseScriptContext ctx, const SigningProvider& provider)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2561,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2562,1
    - Dst: std::make_unique<PKDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2563,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2563,1
    - Dst: InferMultiA
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2567,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2572,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2576,1
    - Dst: std::make_unique<PKDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2577,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2577,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2583,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2584,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2585,1
    - Dst: std::make_unique<PKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2586,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2586,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2593,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2594,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2595,1
    - Dst: std::make_unique<WPKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2596,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2596,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2603,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2605,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2606,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2606,1
    - Dst: std::make_unique<MultisigDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2612,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2612,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2617,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2618,1
    - Dst: InferScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2619,1
    - Dst: std::make_unique<SHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2620,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2620,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2624,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2625,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2626,1
    - Dst: InferScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2627,1
    - Dst: std::make_unique<WSHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2628,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2628,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2633,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2634,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2634,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2634,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2634,1
    - Dst: GetTaprootSpendData
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2637,1
    - Dst: InferTaprootTree
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2639,1
    - Dst: InferScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2648,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2648,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2648,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2648,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2654,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2654,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2655,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2659,1
    - Dst: std::make_unique<TRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2660,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2660,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2660,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2660,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2665,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2666,1
    - Dst: std::make_unique<RawTRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2668,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2668,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2676,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2677,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2679,1
    - Dst: KeyParser::m_keys::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2679,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2681,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2681,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2681,1
    - Dst: std::make_unique<MiniscriptDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2683,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2683,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2683,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2692,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2693,1
    - Dst: std::make_unique<AddressDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2694,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2694,1
    - Dst: std::make_unique<RawDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2698,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 93
    argCount: 3
    argNames:
    - ' script'
    - ctx
    - ' provider'
    argTypes:
    - CScript
    - ParseScriptContext
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2559
    functionDepth: 5
    functionLinenumber: 2559
    functionLinenumberEnd: 2699
    functionName: InferScript
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - std::copy
    - std::vector::emplace_back
    - GetScriptForDestination
    - std::move
    - std::make_unique<PKHDescriptor>
    - std::vector::push_back
    - GetTaprootSpendData
    - InferPubkey
    - std::make_unique<MiniscriptDescriptor>
    - auto::at
    - InferTaprootTree
    - std::make_unique<RawDescriptor>
    - std::make_unique<RawTRDescriptor>
    - std::vector::reserve
    - RIPEMD160
    - CPubKey::CPubKey
    - Solver
    - XOnlyPubKey::IsFullyValid
    - std::vector::size
    - XOnlyPubKey::XOnlyPubKey
    - std::make_unique<AddressDescriptor>
    - XOnlyPubKey::begin
    - std::make_unique<PKDescriptor>
    - GetCScript
    - KeyParser::m_keys::size
    - std::make_unique<WPKHDescriptor>
    - std::make_unique<SHDescriptor>
    - InferScript
    - std::make_unique<WSHDescriptor>
    - InferXOnlyPubkey
    - end
    - auto::IsSane
    - std::make_unique<TRDescriptor>
    - ExtractDestination
    - InferMultiA
    - size
    - std::make_unique<MultisigDescriptor>
    - miniscript::FromScript
    - CScript
    - GetPubKey
    - begin
    - subspan
    - CScript::CScript
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> InferScript(const CScript& script,
      ParseScriptContext ctx, const SigningProvider& provider)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - c
    - val
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: PolyMod
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PolyMod(uint64_t c, int val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/script/descriptor.cpp:133,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/script/descriptor.cpp:135,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/script/descriptor.cpp:139,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/script/descriptor.cpp:144,1
    - Dst: PolyMod
      Src: /src/bitcoin-core/src/script/descriptor.cpp:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' span'
    argTypes:
    - std::span<const char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 151
    functionName: DescriptorChecksum
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 7
    functionsReached:
    - std::string::find
    - PolyMod
    linkageType: ''
    returnType: std::string
    signature: std::string DescriptorChecksum(const std::span<const char>& span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: AddChecksum
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - DescriptorChecksum
    linkageType: ''
    returnType: std::string
    signature: std::string AddChecksum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - exp_index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: PubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PubkeyProvider(uint32_t exp_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: ~PubkeyProvider()
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PubkeyProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:180,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PubkeyProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: operator<(PubkeyProvider& other) const
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool operator<(PubkeyProvider& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:240,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: OriginPubkeyProvider::OriginString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - FormatHDKeypath
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string OriginString(StringType type, bool normalized=false) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:244,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - exp_index
    - info
    - provider
    - apostrophe
    argTypes:
    - uint32_t
    - KeyOriginInfo
    - std::unique_ptr<PubkeyProvider>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: OriginPubkeyProvider::OriginPubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void OriginPubkeyProvider(uint32_t exp_index, KeyOriginInfo info, std::unique_ptr<PubkeyProvider>
      provider, bool apostrophe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:247,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:249,1
    - Dst: pubkeys::contains
      Src: /src/bitcoin-core/src/script/descriptor.cpp:249,1
    - Dst: std::optional::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:249,1
    - Dst: std::optional::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:250,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:251,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:252,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:252,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:252,1
    - Dst: path::insert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:253,1
    - Dst: path::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:253,1
    - Dst: path::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:253,1
    - Dst: path::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: OriginPubkeyProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::copy
    - path::end
    - path::insert
    - std::optional::GetID
    - OriginPubkeyProvider::GetPubKey
    - Assert
    - pubkeys::contains
    - path::begin
    - begin
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetPubKey(int pos, const SigningProvider& arg,
      FlatSigningProvider& out, const DescriptorCache* read_cache = nullptr, DescriptorCache*
      write_cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: OriginPubkeyProvider::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - OriginPubkeyProvider::IsRange
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: OriginPubkeyProvider::GetSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - OriginPubkeyProvider::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::IsBIP32
      Src: /src/bitcoin-core/src/script/descriptor.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: OriginPubkeyProvider::IsBIP32
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - OriginPubkeyProvider::IsBIP32
    linkageType: ''
    returnType: bool
    signature: bool IsBIP32() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::OriginString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:259,1
    - Dst: OriginPubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: OriginPubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - OriginPubkeyProvider::OriginString
    - OriginPubkeyProvider::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::ToPrivateString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:263,1
    - Dst: OriginPubkeyProvider::OriginString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:264,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' arg'
    - ' ret'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: OriginPubkeyProvider::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - OriginPubkeyProvider::OriginString
    - OriginPubkeyProvider::ToPrivateString
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& ret)
      const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::ToNormalizedString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:270,1
    - Dst: std::string::substr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:275,1
    - Dst: OriginPubkeyProvider::OriginString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:276,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:276,1
    - Dst: OriginPubkeyProvider::OriginString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:278,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' arg'
    - ' ret'
    - cache
    argTypes:
    - SigningProvider
    - std::string
    - DescriptorCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: OriginPubkeyProvider::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - OriginPubkeyProvider::OriginString
    - OriginPubkeyProvider::ToNormalizedString
    - std::move
    - std::string::substr
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& ret,
      const DescriptorCache* cache) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: OriginPubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - OriginPubkeyProvider::GetPrivKey
    linkageType: ''
    returnType: void
    signature: void GetPrivKey(int pos, const SigningProvider& arg, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetRootPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: OriginPubkeyProvider::GetRootPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - OriginPubkeyProvider::GetRootPubKey
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetRootPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginPubkeyProvider::GetRootExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: OriginPubkeyProvider::GetRootExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - OriginPubkeyProvider::GetRootExtPubKey
    linkageType: ''
    returnType: std::optional<CExtPubKey>
    signature: std::optional<CExtPubKey> GetRootExtPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OriginPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:296,1
    - Dst: OriginPubkeyProvider::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: OriginPubkeyProvider::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<OriginPubkeyProvider>
    - OriginPubkeyProvider::Clone
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:308,1
    - Dst: GetKeyByXOnly
      Src: /src/bitcoin-core/src/script/descriptor.cpp:309,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:309,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:310,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: ConstPubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - GetID
    - CKey::CKey
    - XOnlyPubKey
    - GetKeyByXOnly
    - GetKey
    linkageType: ''
    returnType: std::optional<CKey>
    signature: std::optional<CKey> GetPrivKey(const SigningProvider& arg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - exp_index
    - ' pubkey'
    - xonly
    argTypes:
    - uint32_t
    - CPubKey
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: ConstPubkeyProvider::ConstPubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstPubkeyProvider(uint32_t exp_index, const CPubKey& pubkey,
      bool xonly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:319,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:320,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:320,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:320,1
    - Dst: origins::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:321,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/script/descriptor.cpp:321,1
    - Dst: pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pos
    - ' out'
    argTypes:
    - int
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: ConstPubkeyProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::make_pair
    - GetID
    - CKeyID::begin
    - pubkeys::emplace
    - origins::emplace
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetPubKey(int pos, const SigningProvider&, FlatSigningProvider&
      out, const DescriptorCache* read_cache = nullptr, DescriptorCache* write_cache
      = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: ConstPubkeyProvider::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: ConstPubkeyProvider::GetSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: ConstPubkeyProvider::IsBIP32
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBIP32() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:328,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: ConstPubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConstPubkeyProvider::GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:331,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/script/descriptor.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' arg'
    - ' ret'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: ConstPubkeyProvider::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - ConstPubkeyProvider::GetPrivKey
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& ret)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstPubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' arg'
    - ' ret'
    - cache
    argTypes:
    - SigningProvider
    - std::string
    - DescriptorCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: ConstPubkeyProvider::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ConstPubkeyProvider::ToString
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& ret,
      const DescriptorCache* cache) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConstPubkeyProvider::GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:343,1
    - Dst: keys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:345,1
    - Dst: std::optional::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: ConstPubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached:
    - ConstPubkeyProvider::GetPrivKey
    - std::optional::GetPubKey
    - keys::emplace
    linkageType: ''
    returnType: void
    signature: void GetPrivKey(int pos, const SigningProvider& arg, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: ConstPubkeyProvider::GetRootPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetRootPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: ConstPubkeyProvider::GetRootExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CExtPubKey>
    signature: std::optional<CExtPubKey> GetRootExtPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: ConstPubkeyProvider::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ConstPubkeyProvider>
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:379,1
    - Dst: GetKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:380,1
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:380,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' arg'
    - ' ret'
    argTypes:
    - SigningProvider
    - CExtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: BIP32PubkeyProvider::GetExtKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - std::copy
    - pubkey::GetID
    - GetKey
    - CKey::CKey
    linkageType: ''
    returnType: bool
    signature: bool GetExtKey(const SigningProvider& arg, CExtKey& ret) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::GetExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:392,1
    - Dst: Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' arg'
    - ' xprv'
    - ' last_hardened'
    argTypes:
    - SigningProvider
    - CExtKey
    - CExtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: BIP32PubkeyProvider::GetDerivedExtKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - BIP32PubkeyProvider::GetExtKey
    - Derive
    linkageType: ''
    returnType: bool
    signature: bool GetDerivedExtKey(const SigningProvider& arg, CExtKey& xprv, CExtKey&
      last_hardened) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: BIP32PubkeyProvider::IsHardened
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHardened() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - exp_index
    - ' extkey'
    - path
    - derive
    - apostrophe
    argTypes:
    - uint32_t
    - CExtPubKey
    - KeyPath
    - DeriveType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: BIP32PubkeyProvider::BIP32PubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BIP32PubkeyProvider(uint32_t exp_index, const CExtPubKey& extkey,
      KeyPath path, DeriveType derive, bool apostrophe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: BIP32PubkeyProvider::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: BIP32PubkeyProvider::GetSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: BIP32PubkeyProvider::IsBIP32
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBIP32() const override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:419,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:420,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:420,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:420,1
    - Dst: KeyOriginInfo::path::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:422,1
    - Dst: KeyOriginInfo::path::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:423,1
    - Dst: GetCachedDerivedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:431,1
    - Dst: GetCachedParentExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:434,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:436,1
    - Dst: BIP32PubkeyProvider::IsHardened
      Src: /src/bitcoin-core/src/script/descriptor.cpp:438,1
    - Dst: BIP32PubkeyProvider::GetDerivedExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:441,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:442,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:443,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:444,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:445,1
    - Dst: CExtKey::key::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:446,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:447,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:451,1
    - Dst: CExtPubKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:454,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:455,1
    - Dst: origins::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:459,1
    - Dst: CExtPubKey::pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:459,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/script/descriptor.cpp:459,1
    - Dst: pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:460,1
    - Dst: CExtPubKey::pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:460,1
    - Dst: CacheParentExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:465,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:467,1
    - Dst: CacheLastHardenedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:468,1
    - Dst: KeyOriginInfo::path::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:470,1
    - Dst: CacheDerivedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:471,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts:
    - condition: (m_derive != DeriveType::HARDENED)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 476
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 476
    functionName: BIP32PubkeyProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::make_pair
    - CacheDerivedExtPubKey
    - KeyOriginInfo::path::size
    - CExtPubKey::Derive
    - pubkeys::emplace
    - CExtKey::Neuter
    - KeyOriginInfo::path::push_back
    - BIP32PubkeyProvider::GetDerivedExtKey
    - BIP32PubkeyProvider::IsHardened
    - GetCachedParentExtPubKey
    - GetCachedDerivedExtPubKey
    - pubkey::GetID
    - CacheParentExtPubKey
    - assert
    - CacheLastHardenedExtPubKey
    - CExtKey::key::IsValid
    - CKeyID::begin
    - CExtPubKey::pubkey::GetID
    - CExtKey::Derive
    - CExtPubKey::pubkey::IsValid
    - origins::emplace
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetPubKey(int pos, const SigningProvider& arg,
      FlatSigningProvider& out, const DescriptorCache* read_cache = nullptr, DescriptorCache*
      write_cache = nullptr) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:481,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:481,1
    - Dst: BIP32PubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - type
    - normalized
    argTypes:
    - StringType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: BIP32PubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - FormatHDKeypath
    - EncodeExtPubKey
    - BIP32PubkeyProvider::IsRange
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type, bool normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: BIP32PubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - BIP32PubkeyProvider::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type=StringType::PUBLIC) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::GetExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:495,1
    - Dst: EncodeExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:496,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:496,1
    - Dst: BIP32PubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 502
    functionName: BIP32PubkeyProvider::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - FormatHDKeypath
    - EncodeExtKey
    - BIP32PubkeyProvider::GetExtKey
    - BIP32PubkeyProvider::IsRange
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:506,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:511,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:513,1
    - Dst: BIP32PubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:519,1
    - Dst: KeyOriginInfo::path::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:527,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:527,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:531,1
    - Dst: KeyPath::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:532,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:532,1
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:535,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:536,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:536,1
    - Dst: CKeyID::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:536,1
    - Dst: DescriptorCache*::GetCachedLastHardenedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:542,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:544,1
    - Dst: BIP32PubkeyProvider::GetDerivedExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:547,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:548,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:550,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:550,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:553,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:553,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:554,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:554,1
    - Dst: BIP32PubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:555,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:557,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - ' arg'
    - ' out'
    - cache
    argTypes:
    - SigningProvider
    - std::string
    - DescriptorCache*
    assertStmts:
    - condition: (xpub.pubkey.IsValid())
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    - condition: (m_derive == DeriveType::UNHARDENED)
      pos:
        line_end: 556
        line_start: 556
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 560
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 560
    functionName: BIP32PubkeyProvider::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - KeyOriginInfo::path::push_back
    - std::copy
    - FormatHDKeypath
    - BIP32PubkeyProvider::ToString
    - BIP32PubkeyProvider::GetDerivedExtKey
    - HexStr
    - at
    - size
    - CKeyID::begin
    - pubkey::GetID
    - DescriptorCache*::GetCachedLastHardenedExtPubKey
    - CExtPubKey::pubkey::IsValid
    - assert
    - CExtKey::Neuter
    - KeyPath::push_back
    - EncodeExtPubKey
    - BIP32PubkeyProvider::IsRange
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& out,
      const DescriptorCache* cache) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIP32PubkeyProvider::GetDerivedExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:565,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:566,1
    - Dst: CExtKey::Derive
      Src: /src/bitcoin-core/src/script/descriptor.cpp:567,1
    - Dst: keys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:568,1
    - Dst: CExtKey::key::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: BIP32PubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - CExtKey::key::GetPubKey
    - keys::emplace
    - CExtKey::Derive
    - BIP32PubkeyProvider::GetDerivedExtKey
    linkageType: ''
    returnType: void
    signature: void GetPrivKey(int pos, const SigningProvider& arg, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: BIP32PubkeyProvider::GetRootPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetRootPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: BIP32PubkeyProvider::GetRootExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CExtPubKey>
    signature: std::optional<CExtPubKey> GetRootExtPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BIP32PubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: BIP32PubkeyProvider::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BIP32PubkeyProvider>
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: MuSigPubkeyProvider::IsRangedDerivation
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRangedDerivation() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:608,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:609,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/script/descriptor.cpp:611,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:611,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:611,1
    - Dst: MuSigPubkeyProvider::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:611,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:613,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:613,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/script/descriptor.cpp:614,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:616,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/script/descriptor.cpp:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - exp_index
    - providers
    - path
    - derive
    argTypes:
    - uint32_t
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - KeyPath
    - DeriveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 619
    functionName: MuSigPubkeyProvider::MuSigPubkeyProvider
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - end
    - Assume
    - MuSigPubkeyProvider::IsRange
    - std::runtime_error
    - std::move
    - std::any_of
    - MuSigPubkeyProvider::IsRangedDerivation
    - begin
    linkageType: ''
    returnType: void
    signature: "void MuSigPubkeyProvider(\n        uint32_t exp_index,\n        std::vector<std::unique_ptr<PubkeyProvider>>
      providers,\n        KeyPath path,\n        DeriveType derive\n    )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MuSigPubkeyProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:629,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:630,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:633,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:633,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/script/descriptor.cpp:635,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:635,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:635,1
    - Dst: MuSig2AggregatePubkeys
      Src: /src/bitcoin-core/src/script/descriptor.cpp:638,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:639,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:639,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:642,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:642,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/script/descriptor.cpp:646,1
    - Dst: value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:649,1
    - Dst: std::make_unique<BIP32PubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:651,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:653,1
    - Dst: value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:653,1
    - Dst: MuSigPubkeyProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:660,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:662,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/script/descriptor.cpp:664,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:664,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:664,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:666,1
    - Dst: MuSigPubkeyProvider::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:671,1
    - Dst: aggregate_pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:674,1
    - Dst: value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:674,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:676,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:676,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:676,1
    - Dst: MuSig2AggregatePubkeys
      Src: /src/bitcoin-core/src/script/descriptor.cpp:678,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:682,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:682,1
    - Dst: std::unique_ptr::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:683,1
    - Dst: aggregate_pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:684,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:687,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:687,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 689
    functionName: MuSigPubkeyProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - std::vector::emplace_back
    - std::memset
    - std::unique_ptr::GetPubKey
    - std::vector::push_back
    - has_value
    - std::vector::end
    - MuSigPubkeyProvider::GetPubKey
    - MuSig2AggregatePubkeys
    - CPubKey::CPubKey
    - Assume
    - empty
    - std::optional::has_value
    - std::make_unique<ConstPubkeyProvider>
    - aggregate_pubkeys::emplace
    - value
    - CPubKey::IsValid
    - std::vector::begin
    - std::optional::value
    - MuSigPubkeyProvider::IsRangedDerivation
    - std::make_unique<BIP32PubkeyProvider>
    - std::sort
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetPubKey(int pos, const SigningProvider& arg,
      FlatSigningProvider& out, const DescriptorCache* read_cache = nullptr, DescriptorCache*
      write_cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 690
    functionName: MuSigPubkeyProvider::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - MuSigPubkeyProvider::IsRangedDerivation
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 692
    functionName: MuSigPubkeyProvider::GetSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:697,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:698,1
    - Dst: MuSigPubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:700,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:703,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: MuSigPubkeyProvider::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - FormatHDKeypath
    - at
    - size
    - MuSigPubkeyProvider::IsRangedDerivation
    - MuSigPubkeyProvider::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringType type=StringType::PUBLIC) const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:713,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:714,1
    - Dst: MuSigPubkeyProvider::ToPrivateString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:717,1
    - Dst: MuSigPubkeyProvider::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:721,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:725,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:726,1
    - Dst: clear
      Src: /src/bitcoin-core/src/script/descriptor.cpp:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 731
    functionName: MuSigPubkeyProvider::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - FormatHDKeypath
    - at
    - size
    - MuSigPubkeyProvider::ToPrivateString
    - MuSigPubkeyProvider::IsRangedDerivation
    - clear
    - MuSigPubkeyProvider::ToString
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:735,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:736,1
    - Dst: MuSigPubkeyProvider::ToNormalizedString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:739,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:745,1
    - Dst: MuSigPubkeyProvider::IsRangedDerivation
      Src: /src/bitcoin-core/src/script/descriptor.cpp:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 750
    functionName: MuSigPubkeyProvider::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - FormatHDKeypath
    - MuSigPubkeyProvider::ToNormalizedString
    - at
    - size
    - MuSigPubkeyProvider::IsRangedDerivation
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& out,
      const DescriptorCache* cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuSigPubkeyProvider::GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - pos
    - ' arg'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 760
    functionName: MuSigPubkeyProvider::GetPrivKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - MuSigPubkeyProvider::GetPrivKey
    linkageType: ''
    returnType: void
    signature: void GetPrivKey(int pos, const SigningProvider& arg, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: MuSigPubkeyProvider::GetRootPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPubKey>
    signature: std::optional<CPubKey> GetRootPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: MuSigPubkeyProvider::GetRootExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CExtPubKey>
    signature: std::optional<CExtPubKey> GetRootExtPubKey() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:779,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:779,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:781,1
    - Dst: MuSigPubkeyProvider::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:781,1
    - Dst: std::make_unique<MuSigPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:783,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 784
    functionName: MuSigPubkeyProvider::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - std::vector::emplace_back
    - size
    - std::vector::reserve
    - std::move
    - std::make_unique<MuSigPubkeyProvider>
    - MuSigPubkeyProvider::Clone
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/script/descriptor.cpp:788,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:788,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:788,1
    - Dst: MuSigPubkeyProvider::IsBIP32
      Src: /src/bitcoin-core/src/script/descriptor.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: MuSigPubkeyProvider::IsBIP32
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - end
    - MuSigPubkeyProvider::IsBIP32
    - begin
    - std::all_of
    linkageType: ''
    returnType: bool
    signature: bool IsBIP32() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 808
    functionName: DescriptorImpl::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pubkeys
    - ' name'
    argTypes:
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 823
    functionName: DescriptorImpl::DescriptorImpl
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DescriptorImpl(std::vector<std::unique_ptr<PubkeyProvider>> pubkeys,
      const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:824,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:824,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pubkeys
    - script
    - ' name'
    argTypes:
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - std::unique_ptr<DescriptorImpl>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 824
    functionName: DescriptorImpl::DescriptorImpl
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void DescriptorImpl(std::vector<std::unique_ptr<PubkeyProvider>> pubkeys,
      std::unique_ptr<DescriptorImpl> script, const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:825,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pubkeys
    - scripts
    - ' name'
    argTypes:
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - std::vector<std::unique_ptr<DescriptorImpl>>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 825
    functionName: DescriptorImpl::DescriptorImpl
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DescriptorImpl(std::vector<std::unique_ptr<PubkeyProvider>> pubkeys,
      std::vector<std::unique_ptr<DescriptorImpl>> scripts, const std::string& name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::IsSolvable
      Src: /src/bitcoin-core/src/script/descriptor.cpp:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: DescriptorImpl::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - DescriptorImpl::IsSolvable
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:848,1
    - Dst: DescriptorImpl::IsRange
      Src: /src/bitcoin-core/src/script/descriptor.cpp:851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: DescriptorImpl::IsRange
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - DescriptorImpl::IsRange
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const final
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - arg
    - ' ret'
    - type
    argTypes:
    - SigningProvider*
    - std::string
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 857
    functionDepth: 3
    functionLinenumber: 857
    functionLinenumberEnd: 867
    functionName: DescriptorImpl::ToStringSubScriptHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - DescriptorImpl::ToStringHelper
    linkageType: ''
    returnType: bool
    signature: bool ToStringSubScriptHelper(const SigningProvider* arg, std::string&
      ret, const StringType type, const DescriptorCache* cache = nullptr) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringExtra
      Src: /src/bitcoin-core/src/script/descriptor.cpp:872,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:873,1
    - Dst: DescriptorImpl::ToNormalizedString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:880,1
    - Dst: DescriptorImpl::ToPrivateString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:883,1
    - Dst: DescriptorImpl::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:886,1
    - Dst: DescriptorImpl::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:889,1
    - Dst: DescriptorImpl::ToStringSubScriptHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:895,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:896,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:897,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:897,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - arg
    - ' out'
    - type
    argTypes:
    - SigningProvider*
    - std::string
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 870
    functionDepth: 4
    functionLinenumber: 870
    functionLinenumberEnd: 899
    functionName: DescriptorImpl::ToStringHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 5
    functionsReached:
    - DescriptorImpl::ToPrivateString
    - std::string::size
    - DescriptorImpl::ToStringExtra
    - std::move
    - DescriptorImpl::ToNormalizedString
    - DescriptorImpl::ToStringSubScriptHelper
    - DescriptorImpl::ToString
    linkageType: ''
    returnType: bool
    signature: bool ToStringHelper(const SigningProvider* arg, std::string& out, const
      StringType type, const DescriptorCache* cache = nullptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:904,1
    - Dst: AddChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - compat_format
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 3
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: DescriptorImpl::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - AddChecksum
    - DescriptorImpl::ToStringHelper
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(bool compat_format) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:910,1
    - Dst: AddChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 908
    functionDepth: 3
    functionLinenumber: 908
    functionLinenumberEnd: 913
    functionName: DescriptorImpl::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - AddChecksum
    - DescriptorImpl::ToStringHelper
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:917,1
    - Dst: AddChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' arg'
    - ' out'
    - cache
    argTypes:
    - SigningProvider
    - std::string
    - DescriptorCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 3
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: DescriptorImpl::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - AddChecksum
    - DescriptorImpl::ToStringHelper
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& arg, std::string& out,
      const DescriptorCache* cache) const override final
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:927,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:927,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:931,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:933,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/script/descriptor.cpp:933,1
    - Dst: DescriptorImpl::ExpandHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:938,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:939,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:939,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:940,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:940,1
    - Dst: Merge
      Src: /src/bitcoin-core/src/script/descriptor.cpp:942,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:942,1
    - Dst: MakeScripts
      Src: /src/bitcoin-core/src/script/descriptor.cpp:944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - pos
    - ' arg'
    - read_cache
    - ' output_scripts'
    - ' out'
    - write_cache
    argTypes:
    - int
    - SigningProvider
    - DescriptorCache*
    - std::vector<CScript>
    - FlatSigningProvider
    - DescriptorCache*
    assertStmts:
    - condition: (outscripts.size() == 1)
      pos:
        line_end: 938
        line_start: 938
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 946
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 946
    functionName: DescriptorImpl::ExpandHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached:
    - std::vector::emplace_back
    - MakeScripts
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::optional::value
    - std::move
    - DescriptorImpl::ExpandHelper
    - Merge
    - assert
    - GetPubKey
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool ExpandHelper(int pos, const SigningProvider& arg, const DescriptorCache*
      read_cache, std::vector<CScript>& output_scripts, FlatSigningProvider& out,
      DescriptorCache* write_cache) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ExpandHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - ' provider'
    - ' output_scripts'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - std::vector<CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 3
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: DescriptorImpl::Expand
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - DescriptorImpl::ExpandHelper
    linkageType: ''
    returnType: bool
    signature: bool Expand(int pos, const SigningProvider& provider, std::vector<CScript>&
      output_scripts, FlatSigningProvider& out, DescriptorCache* write_cache = nullptr)
      const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorImpl::ExpandHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - ' read_cache'
    - ' output_scripts'
    - ' out'
    argTypes:
    - int
    - DescriptorCache
    - std::vector<CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: DescriptorImpl::ExpandFromCache
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - DescriptorImpl::ExpandHelper
    linkageType: ''
    returnType: bool
    signature: bool ExpandFromCache(int pos, const DescriptorCache& read_cache, std::vector<CScript>&
      output_scripts, FlatSigningProvider& out) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPrivKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:962,1
    - Dst: DescriptorImpl::ExpandPrivate
      Src: /src/bitcoin-core/src/script/descriptor.cpp:965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pos
    - ' provider'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 967
    functionName: DescriptorImpl::ExpandPrivate
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - GetPrivKey
    - DescriptorImpl::ExpandPrivate
    linkageType: ''
    returnType: void
    signature: void ExpandPrivate(int pos, const SigningProvider& provider, FlatSigningProvider&
      out) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 969
    functionName: DescriptorImpl::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 971
    functionName: DescriptorImpl::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 978
    functionName: DescriptorImpl::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 980
    functionName: DescriptorImpl::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 982
    functionName: DescriptorImpl::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetRootPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:988,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:989,1
    - Dst: GetRootExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:990,1
    - Dst: insert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:991,1
    - Dst: DescriptorImpl::GetPubKeys
      Src: /src/bitcoin-core/src/script/descriptor.cpp:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' pubkeys'
    - ' ext_pubs'
    argTypes:
    - std::set<CPubKey>
    - std::set<CExtPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 996
    functionName: DescriptorImpl::GetPubKeys
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - GetRootPubKey
    - insert
    - GetRootExtPubKey
    - DescriptorImpl::GetPubKeys
    linkageType: ''
    returnType: void
    signature: void GetPubKeys(std::set<CPubKey>& pubkeys, std::set<CExtPubKey>& ext_pubs)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1006
    functionName: AddressDescriptor::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - EncodeDestination
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1007,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1007
    functionName: AddressDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - GetScriptForDestination
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>&, std::span<const
      CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - destination
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: AddressDescriptor::AddressDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AddressDescriptor(CTxDestination destination)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1010
    functionName: AddressDescriptor::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OutputTypeFromDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: AddressDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - OutputTypeFromDestination
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1016
    functionName: AddressDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1017
    functionName: AddressDescriptor::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1019
    functionName: AddressDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AddressDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1023
    functionName: AddressDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AddressDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1031
    functionName: RawDescriptor::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1032
    functionName: RawDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>&, std::span<const
      CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - script
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1034
    functionName: RawDescriptor::RawDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RawDescriptor(CScript script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1035
    functionName: RawDescriptor::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1040,1
    - Dst: OutputTypeFromDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1037
    functionDepth: 3
    functionLinenumber: 1037
    functionLinenumberEnd: 1042
    functionName: RawDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ExtractDestination
    - OutputTypeFromDestination
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1043
    functionName: RawDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1044
    functionName: RawDescriptor::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& arg, std::string& out)
      const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1046
    functionName: RawDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RawDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: RawDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RawDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1063,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1063,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1063,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1064,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1064,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1066,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1068
    functionName: PKDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ToByteVector
    - GetScriptForRawPubKey
    - std::move
    - XOnlyPubKey
    - Vector
    - CScript
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1070,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1070
    functionName: PKDescriptor::PKDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void PKDescriptor(std::unique_ptr<PubkeyProvider> prov, bool xonly
      = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1071
    functionName: PKDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1075
    functionName: PKDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: PKDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1084
    functionName: PKDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - PKDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1086
    functionName: PKDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1090,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1091
    functionName: PKDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<PKDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1100,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1101,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1101,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1102
    functionName: PKHDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - PKHash
    - GetID
    - Vector
    - GetScriptForDestination
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1104,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: PKHDescriptor::PKHDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void PKHDescriptor(std::unique_ptr<PubkeyProvider> prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1105
    functionName: PKHDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1106
    functionName: PKHDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1108
    functionName: PKHDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    functionName: PKHDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - GetSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKHDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1117
    functionName: PKHDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - PKHDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1119
    functionName: PKHDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1123,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1124
    functionName: PKHDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<PKHDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1133,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1134,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1134,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1135
    functionName: WPKHDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - WitnessV0KeyHash
    - GetID
    - Vector
    - GetScriptForDestination
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1137,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1137
    functionName: WPKHDescriptor::WPKHDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void WPKHDescriptor(std::unique_ptr<PubkeyProvider> prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1138
    functionName: WPKHDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1139
    functionName: WPKHDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1141
    functionName: WPKHDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    functionName: WPKHDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPKHDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: WPKHDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - WPKHDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1152
    functionName: WPKHDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WPKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1156,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1157
    functionName: WPKHDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<WPKHDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1167,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1168,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1168,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1169,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1169,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1169,1
    - Dst: IsCompressed
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1170,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1171,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1171,1
    - Dst: scripts::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1172,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1172,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1173,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1174,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1174,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' keys'
    - ' out'
    argTypes:
    - std::vector<CPubKey>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1177
    functionName: ComboDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - WitnessV0KeyHash
    - ScriptHash
    - std::vector::emplace_back
    - GetScriptForDestination
    - CScriptID
    - GetID
    - GetScriptForRawPubKey
    - IsCompressed
    - PKHash
    - scripts::emplace
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1179,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1179
    functionName: ComboDescriptor::ComboDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void ComboDescriptor(std::unique_ptr<PubkeyProvider> prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1180
    functionName: ComboDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ComboDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1183,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: ComboDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<ComboDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1193
    functionName: MultisigDescriptor::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1197,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1197,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1197,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1198,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1198,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1200,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1201
    functionName: MultisigDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::begin
    - Vector
    - std::sort
    - GetScriptForMultisig
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - threshold
    - providers
    argTypes:
    - int
    - std::vector<std::unique_ptr<PubkeyProvider>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1203
    functionName: MultisigDescriptor::MultisigDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultisigDescriptor(int threshold, std::vector<std::unique_ptr<PubkeyProvider>>
      providers, bool sorted = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1204
    functionName: MultisigDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1207,1
    - Dst: GetSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1208,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1209,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1209,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1209,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1210,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1211
    functionName: MultisigDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::accumulate
    - size
    - BuildScript
    - GetSize
    - begin
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1216
    functionName: MultisigDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultisigDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1220
    functionName: MultisigDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - MultisigDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1222
    functionName: MultisigDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1227,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1227,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: MultisigDescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1228,1
    - Dst: std::make_unique<MultisigDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1229,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1230
    functionName: MultisigDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::transform
    - size
    - std::vector::reserve
    - std::vector::begin
    - std::move
    - std::make_unique<MultisigDescriptor>
    - MultisigDescriptor::Clone
    - begin
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1239
    functionName: MultiADescriptor::ToStringExtra
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string ToStringExtra() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1241,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1243,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1243,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1244,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1245,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1245,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1245,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1246,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1247,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1248,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1251,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' keys'
    argTypes:
    - std::vector<CPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1252
    functionName: MultiADescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - ToByteVector
    - std::vector::emplace_back
    - size
    - std::vector::reserve
    - std::vector::begin
    - std::move
    - Vector
    - std::sort
    - CScript::CScript
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript>, FlatSigningProvider&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - threshold
    - providers
    argTypes:
    - int
    - std::vector<std::unique_ptr<PubkeyProvider>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1254
    functionName: MultiADescriptor::MultiADescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiADescriptor(int threshold, std::vector<std::unique_ptr<PubkeyProvider>>
      providers, bool sorted = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1255
    functionName: MultiADescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1258,1
    - Dst: BuildScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1257
    functionDepth: 2
    functionLinenumber: 1257
    functionLinenumberEnd: 1260
    functionName: MultiADescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - BuildScript
    - size
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1264
    functionName: MultiADescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1266
    functionName: MultiADescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1271,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1271,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1273,1
    - Dst: MultiADescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1273,1
    - Dst: std::make_unique<MultiADescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1275,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1276
    functionName: MultiADescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - MultiADescriptor::Clone
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::move
    - std::make_unique<MultiADescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1285,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1285,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1285,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1286,1
    - Dst: scripts::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1286,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scripts
    - ' out'
    argTypes:
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1288
    functionName: SHDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ScriptHash
    - auto::size
    - GetScriptForDestination
    - CScriptID
    - Vector
    - scripts::emplace
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>&, std::span<const
      CScript> scripts, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHDescriptor::GetOutputType
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1290
    functionName: SHDescriptor::IsSegwit
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - SHDescriptor::GetOutputType
    linkageType: ''
    returnType: bool
    signature: bool IsSegwit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - desc
    argTypes:
    - std::unique_ptr<DescriptorImpl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1293
    functionName: SHDescriptor::SHDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SHDescriptor(std::unique_ptr<DescriptorImpl> desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1297,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1297,1
    - Dst: SHDescriptor::IsSegwit
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_subdescriptor_args.size() == 1)
      pos:
        line_end: 1296
        line_start: 1296
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 1300
      start: 1295
    functionDepth: 2
    functionLinenumber: 1295
    functionLinenumberEnd: 1300
    functionName: SHDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - SHDescriptor::IsSegwit
    - assert
    - size
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1301
    functionName: SHDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1303
    functionName: SHDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1306,1
    - Dst: SHDescriptor::ScriptSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1307,1
    - Dst: SHDescriptor::IsSegwit
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1316
    functionName: SHDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - SHDescriptor::IsSegwit
    - MaxSatSize
    - SHDescriptor::ScriptSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHDescriptor::MaxSatisfactionElems
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1321
    functionName: SHDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - SHDescriptor::MaxSatisfactionElems
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1325,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: SHDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<SHDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1335,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1335,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1335,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1336,1
    - Dst: scripts::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1336,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scripts
    - ' out'
    argTypes:
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1338
    functionName: WSHDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - GetScriptForDestination
    - CScriptID
    - WitnessV0ScriptHash
    - Vector
    - scripts::emplace
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>&, std::span<const
      CScript> scripts, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - desc
    argTypes:
    - std::unique_ptr<DescriptorImpl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1340
    functionName: WSHDescriptor::WSHDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WSHDescriptor(std::unique_ptr<DescriptorImpl> desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1341
    functionName: WSHDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1342
    functionName: WSHDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1344
    functionName: WSHDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSHDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1347,1
    - Dst: WSHDescriptor::ScriptSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1348,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1346
    functionDepth: 2
    functionLinenumber: 1346
    functionLinenumberEnd: 1353
    functionName: WSHDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - WSHDescriptor::ScriptSize
    - GetSizeOfCompactSize
    - WSHDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool use_max_sig) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSHDescriptor::MaxSatSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1355
    functionDepth: 3
    functionLinenumber: 1355
    functionLinenumberEnd: 1357
    functionName: WSHDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - WSHDescriptor::MaxSatSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool use_max_sig) const
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSHDescriptor::MaxSatisfactionElems
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1362
    functionName: WSHDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - WSHDescriptor::MaxSatisfactionElems
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WSHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1366,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1367
    functionName: WSHDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<WSHDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1378,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1378,1
    - Dst: std::span<const CScript>::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1378,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1379,1
    - Dst: TaprootBuilder::Add
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1380,1
    - Dst: TaprootBuilder::IsComplete
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1382,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1383,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1383,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1385,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1386,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1387,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1389,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' keys'
    - scripts
    - ' out'
    argTypes:
    - std::vector<CPubKey>
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts:
    - condition: (m_depths.size() == scripts.size())
      pos:
        line_end: 1377
        line_start: 1377
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    - condition: (keys.size() == 1)
      pos:
        line_end: 1382
        line_start: 1382
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 1390
      start: 1375
    functionDepth: 2
    functionLinenumber: 1375
    functionLinenumberEnd: 1390
    functionName: TRDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - TaprootBuilder::Finalize
    - GetScriptForDestination
    - TaprootBuilder::Add
    - std::span<const CScript>::size
    - size
    - TaprootBuilder::IsComplete
    - Vector
    - XOnlyPubKey::IsFullyValid
    - assert
    - TaprootBuilder::GetOutput
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript> scripts, FlatSigningProvider& out) const override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1393,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1395,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1397,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1398,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1399,1
    - Dst: ToStringHelper
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1402,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1404,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1404,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1405,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1406,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1408,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1408,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - arg
    - ' ret'
    - type
    argTypes:
    - SigningProvider*
    - std::string
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1411
    functionName: TRDescriptor::ToStringSubScriptHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::back
    - size
    - std::vector::push_back
    - ToStringHelper
    - std::vector::pop_back
    - std::vector::empty
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool ToStringSubScriptHelper(const SigningProvider* arg, std::string&
      ret, const StringType type, const DescriptorCache* cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1414,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1416,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1416,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - internal_key
    - descs
    - depths
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    - std::vector<std::unique_ptr<DescriptorImpl>>
    - std::vector<int>
    assertStmts:
    - condition: (m_subdescriptor_args.size() == m_depths.size())
      pos:
        line_end: 1415
        line_start: 1415
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 1417
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1417
    functionName: TRDescriptor::TRDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - size
    - assert
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void TRDescriptor(std::unique_ptr<PubkeyProvider> internal_key, std::vector<std::unique_ptr<DescriptorImpl>>
      descs, std::vector<int> depths)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1418
    functionName: TRDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1419
    functionName: TRDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1421
    functionName: TRDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1426
    functionName: TRDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1431
    functionName: TRDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1436,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1436,1
    - Dst: std::transform
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: TRDescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1437,1
    - Dst: std::make_unique<TRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1438,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1438,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1439
    functionName: TRDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::transform
    - std::make_unique<TRDescriptor>
    - at
    - size
    - std::vector::reserve
    - std::vector::begin
    - std::move
    - begin
    - TRDescriptor::Clone
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1460,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1461,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1459
    functionDepth: 4
    functionLinenumber: 1459
    functionLinenumberEnd: 1464
    functionName: ScriptMaker::GetHash160
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - miniscript::IsTapscript
    - Hash160
    - GetID
    linkageType: ''
    returnType: uint160
    signature: uint160 GetHash160(uint32_t key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' keys LIFETIMEBOUND'
    - script_ctx
    argTypes:
    - std::vector<CPubKey>
    - miniscript::MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1467
    functionName: ScriptMaker::ScriptMaker
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptMaker(const std::vector<CPubKey>& keys LIFETIMEBOUND, const
      miniscript::MiniscriptContext script_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1471,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1472,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1472,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1475,1
    - Dst: XOnlyPubKey::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1469
    functionDepth: 2
    functionLinenumber: 1469
    functionLinenumberEnd: 1476
    functionName: ScriptMaker::ToPKBytes
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - end
    - XOnlyPubKey::begin
    - miniscript::IsTapscript
    - XOnlyPubKey::end
    - begin
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKBytes(uint32_t key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScriptMaker::GetHash160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1479,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1480,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1478
    functionDepth: 5
    functionLinenumber: 1478
    functionLinenumberEnd: 1481
    functionName: ScriptMaker::ToPKHBytes
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - auto::end
    - auto::begin
    - ScriptMaker::GetHash160
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ToPKHBytes(uint32_t key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - LIFETIMEBOUND
    - ' pubkeys LIFETIMEBOUND'
    - priv
    argTypes:
    - SigningProvider*
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1497
    functionName: StringMaker::StringMaker
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringMaker(const SigningProvider* arg LIFETIMEBOUND, const std::vector<std::unique_ptr<PubkeyProvider>>&
      pubkeys LIFETIMEBOUND, bool priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ToPrivateString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1503,1
    - Dst: StringMaker::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1508
    functionName: StringMaker::ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - ToPrivateString
    - StringMaker::ToString
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(uint32_t key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMsCtx
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1520,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1522,1
    - Dst: pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1523,1
    - Dst: Hash160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1523,1
    - Dst: pubkeys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1525,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1525,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1528,1
    - Dst: ToScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1528,1
    - Dst: ScriptMaker
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' keys'
    - scripts
    - ' provider'
    argTypes:
    - std::vector<CPubKey>
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1517
    functionDepth: 4
    functionLinenumber: 1517
    functionLinenumberEnd: 1529
    functionName: MiniscriptDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ScriptMaker
    - miniscript::IsTapscript
    - Hash160
    - GetID
    - ToScript
    - Vector
    - pubkeys::emplace
    - GetMsCtx
    linkageType: ''
    returnType: std::vector<CScript>
    signature: "std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript> scripts,\n                                     FlatSigningProvider&
      provider) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1533,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - providers
    - node
    argTypes:
    - std::vector<std::unique_ptr<PubkeyProvider>>
    - miniscript::NodeRef<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1533
    functionName: MiniscriptDescriptor::MiniscriptDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MiniscriptDescriptor(std::vector<std::unique_ptr<PubkeyProvider>>
      providers, miniscript::NodeRef<uint32_t> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1538,1
    - Dst: StringMaker
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - ' out'
    - type
    argTypes:
    - SigningProvider*
    - std::string
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1543
    functionName: MiniscriptDescriptor::ToStringHelper
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - ToString
    - StringMaker
    linkageType: ''
    returnType: bool
    signature: "bool ToStringHelper(const SigningProvider* arg, std::string& out,
      const StringType type,\n                        const DescriptorCache* cache
      = nullptr) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1545
    functionName: MiniscriptDescriptor::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1546
    functionName: MiniscriptDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MiniscriptDescriptor::ScriptSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1548
    functionName: MiniscriptDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - MiniscriptDescriptor::ScriptSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1553
    functionName: MiniscriptDescriptor::MaxSatSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetWitnessSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatSize(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStackSize
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1557
    functionName: MiniscriptDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetStackSize
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1562,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1562,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1564,1
    - Dst: MiniscriptDescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1564,1
    - Dst: std::make_unique<MiniscriptDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1566,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1566,1
    - Dst: MiniscriptDescriptor::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1567
    functionName: MiniscriptDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::move
    - MiniscriptDescriptor::Clone
    - std::make_unique<MiniscriptDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1576,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1576,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1578,1
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1580,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' keys'
    - scripts
    - ' out'
    argTypes:
    - std::vector<CPubKey>
    - std::span<const CScript>
    - FlatSigningProvider
    assertStmts:
    - condition: (keys.size() == 1)
      pos:
        line_end: 1575
        line_start: 1575
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 1581
      start: 1574
    functionDepth: 2
    functionLinenumber: 1574
    functionLinenumberEnd: 1581
    functionName: RawTRDescriptor::MakeScripts
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - size
    - Vector
    - XOnlyPubKey::IsFullyValid
    - assert
    linkageType: ''
    returnType: std::vector<CScript>
    signature: std::vector<CScript> MakeScripts(const std::vector<CPubKey>& keys,
      std::span<const CScript> scripts, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1583,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output_key
    argTypes:
    - std::unique_ptr<PubkeyProvider>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1583
    functionName: RawTRDescriptor::RawTRDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - Vector
    - std::move
    linkageType: ''
    returnType: void
    signature: void RawTRDescriptor(std::unique_ptr<PubkeyProvider> output_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1584
    functionName: RawTRDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1585
    functionName: RawTRDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1587
    functionName: RawTRDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1592
    functionName: RawTRDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1597
    functionName: RawTRDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RawTRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1601,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1602
    functionName: RawTRDescriptor::Clone
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_unique<RawTRDescriptor>
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> Clone() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1621,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1622,1
    - Dst: std::span<const char>::first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1624,1
    - Dst: std::span<const char>::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1624,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1629,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1629,1
    - Dst: std::span<const char>::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1629,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1631,1
    - Dst: std::span<const char>::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1631,1
    - Dst: std::span<const char>::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1631,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1634,1
    - Dst: std::make_optional<uint32_t>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - elem
    - ' apostrophe'
    - ' error'
    - ' has_hardened'
    argTypes:
    - std::span<const char>
    - bool
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1640
    functionName: ParseKeyPathNum
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - std::span<const char>::first
    - std::span<const char>::size
    - std::span<const char>::end
    - ToIntegral
    - std::span<const char>::begin
    - strprintf
    - std::make_optional<uint32_t>
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> ParseKeyPathNum(std::span<const char> elem,
      bool& apostrophe, std::string& error, bool& has_hardened)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1662,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1666,1
    - Dst: front
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1666,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1666,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1668,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1668,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1668,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1668,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1677,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1677,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1677,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1677,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1678,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1683,1
    - Dst: ParseKeyPathNum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1686,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1688,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1690,1
    - Dst: std::optional::values::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1693,1
    - Dst: KeyPath::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1696,1
    - Dst: KeyPath::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1697,1
    - Dst: ParseKeyPathNum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1699,1
    - Dst: KeyPath::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1701,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1706,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1706,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1712,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1712,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 6
    argNames:
    - ' split'
    - ' out'
    - ' apostrophe'
    - ' error'
    - allow_multipath
    - ' has_hardened'
    argTypes:
    - std::vector<std::span<const char>>
    - std::vector<KeyPath>
    - bool
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1716
    functionName: ParseKeyPath
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - KeyPath::emplace_back
    - std::move
    - std::string
    - back
    - std::unordered_set::insert
    - KeyPath::size
    - std::span
    - std::vector::size
    - empty
    - front
    - std::optional::values::emplace_back
    - strprintf
    - end
    - std::optional::emplace
    - ParseKeyPathNum
    - size
    - Split
    - emplace_back
    - begin
    linkageType: ''
    returnType: bool
    signature: bool ParseKeyPath(const std::vector<std::span<const char>>& split,
      std::vector<KeyPath>& out, bool& apostrophe, std::string& error, bool allow_multipath,
      bool& has_hardened)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseKeyPath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' split'
    - ' out'
    - ' apostrophe'
    - ' error'
    - allow_multipath
    argTypes:
    - std::vector<std::span<const char>>
    - std::vector<KeyPath>
    - bool
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1722
    functionName: ParseKeyPath
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached:
    - ParseKeyPath
    linkageType: ''
    returnType: bool
    signature: bool ParseKeyPath(const std::vector<std::span<const char>>& split,
      std::vector<KeyPath>& out, bool& apostrophe, std::string& error, bool allow_multipath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1727,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1727,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1727,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1728,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1730,1
    - Dst: all_bytes_equal
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1731,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1731,1
    - Dst: first
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1731,1
    - Dst: pop_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' split'
    - ' apostrophe'
    argTypes:
    - std::vector<std::span<const char>>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1736
    functionName: ParseDeriveType
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - pop_back
    - all_bytes_equal
    - back
    - first
    linkageType: ''
    returnType: DeriveType
    signature: DeriveType ParseDeriveType(std::vector<std::span<const char>>& split,
      bool& apostrophe)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1743,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1744,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1744,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1745,1
    - Dst: IsSpace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1749,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1749,1
    - Dst: IsSpace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1749,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1749,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1750,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1753,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1754,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1755,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1757,1
    - Dst: CPubKey::IsValidNonHybrid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1757,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1761,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1762,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1763,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1763,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1769,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1771,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1771,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1771,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1772,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1772,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1772,1
    - Dst: CPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1773,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1774,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1774,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1778,1
    - Dst: DecodeSecret
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1781,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1782,1
    - Dst: CKey::IsCompressed
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1783,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1784,1
    - Dst: keys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1785,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1785,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1786,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1786,1
    - Dst: DecodeExtKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1794,1
    - Dst: DecodeExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1795,1
    - Dst: CExtKey::key::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1796,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1796,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1797,1
    - Dst: ParseDeriveType
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1801,1
    - Dst: ParseKeyPath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1802,1
    - Dst: CExtKey::key::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1803,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1804,1
    - Dst: keys::emplace
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1805,1
    - Dst: CExtPubKey::pubkey::GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1805,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1808,1
    - Dst: std::make_unique<BIP32PubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1808,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1808,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 6
    argNames:
    - key_exp_index
    - ' sp'
    - ctx
    - ' out'
    - ' apostrophe'
    - ' error'
    argTypes:
    - uint32_t
    - std::span<const char>
    - ParseScriptContext
    - FlatSigningProvider
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1739
    functionDepth: 5
    functionLinenumber: 1739
    functionLinenumberEnd: 1811
    functionName: ParsePubkeyInner
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - std::copy
    - auto::size
    - std::vector::emplace_back
    - std::move
    - CPubKey::GetID
    - CPubKey::IsCompressed
    - CExtKey::Neuter
    - CKey::IsValid
    - std::vector::end
    - ParseKeyPath
    - std::vector::size
    - ParseHex
    - CKey::IsCompressed
    - std::make_unique<ConstPubkeyProvider>
    - std::string::front
    - DecodeExtPubKey
    - std::string::back
    - strprintf
    - DecodeSecret
    - CPubKey::IsValidNonHybrid
    - CKey::GetPubKey
    - keys::emplace
    - CPubKey::IsValid
    - CExtKey::key::IsValid
    - end
    - std::string::size
    - IsHex
    - CPubKey::Set
    - std::vector::begin
    - ParseDeriveType
    - CExtPubKey::pubkey::GetID
    - Split
    - IsSpace
    - std::make_unique<BIP32PubkeyProvider>
    - DecodeExtKey
    - CExtPubKey::pubkey::IsValid
    - CPubKey::IsFullyValid
    - begin
    linkageType: ''
    returnType: std::vector<std::unique_ptr<PubkeyProvider>>
    signature: std::vector<std::unique_ptr<PubkeyProvider>> ParsePubkeyInner(uint32_t
      key_exp_index, const std::span<const char>& sp, ParseScriptContext ctx, FlatSigningProvider&
      out, bool& apostrophe, std::string& error)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1823,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1831,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1832,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1836,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1836,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1837,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1848,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1849,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1850,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1854,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1855,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1856,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1857,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1861,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1862,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1864,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1864,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1866,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1866,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1877,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1877,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1877,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1887,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1887,1
    - Dst: ParseDeriveType
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1888,1
    - Dst: ParseKeyPath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1894,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1903,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1910,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1912,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1912,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1914,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1924,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1926,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1926,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1928,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1928,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1928,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1930,1
    - Dst: std::make_unique<MuSigPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1930,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1930,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1933,1
    - Dst: clone_providers
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1937,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1938,1
    - Dst: emplace_final_provider
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1943,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1945,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1947,1
    - Dst: clone_providers
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1947,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1947,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1951,1
    - Dst: emplace_final_provider
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1953,1
    - Dst: emplace_final_provider
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1957,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1962,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1963,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1969,1
    - Dst: ParsePubkeyInner
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1970,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1972,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1973,1
    - Dst: empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1974,1
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1977,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1977,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1978,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1979,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1979,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1982,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1982,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1982,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1983,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1984,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1987,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1990,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1990,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1991,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1991,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1991,1
    - Dst: ParseKeyPath
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1993,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1994,1
    - Dst: ParsePubkeyInner
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1995,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1996,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1997,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1997,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1999,1
    - Dst: std::make_unique<OriginPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1999,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:1999,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 131
    argCount: 5
    argNames:
    - ' key_exp_index'
    - ' sp'
    - ctx
    - ' out'
    - ' error'
    argTypes:
    - uint32_t
    - std::span<const char>
    - ParseScriptContext
    - FlatSigningProvider
    - std::string
    assertStmts:
    - condition: (fpr_bytes.size() == 4)
      pos:
        line_end: 1989
        line_start: 1989
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2002
      start: 1815
    functionDepth: 6
    functionLinenumber: 1815
    functionLinenumberEnd: 2002
    functionName: ParsePubkey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached:
    - std::copy
    - auto::size
    - std::vector::emplace_back
    - ParsePubkey
    - at
    - std::move
    - std::string
    - emplace_final_provider
    - auto::begin
    - auto::at
    - std::span::size
    - Func
    - std::vector::reserve
    - Expr
    - ParseKeyPath
    - std::vector::size
    - ParseHex
    - ParsePubkeyInner
    - clone_providers
    - Assume
    - empty
    - auto::empty
    - strprintf
    - assert
    - Const
    - end
    - std::vector::at
    - IsHex
    - std::make_unique<OriginPubkeyProvider>
    - size
    - ParseDeriveType
    - std::max
    - std::make_unique<MuSigPubkeyProvider>
    - Split
    - emplace_back
    - auto::end
    - begin
    - subspan
    linkageType: ''
    returnType: std::vector<std::unique_ptr<PubkeyProvider>>
    signature: std::vector<std::unique_ptr<PubkeyProvider>> ParsePubkey(uint32_t&
      key_exp_index, const std::span<const char>& sp, ParseScriptContext ctx, FlatSigningProvider&
      out, std::string& error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsValidNonHybrid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2007,1
    - Dst: IsCompressed
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2011,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2014,1
    - Dst: GetKeyOrigin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2016,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2016,1
    - Dst: std::make_unique<OriginPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2017,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2017,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ' pubkey'
    - ctx
    - ' provider'
    argTypes:
    - CPubKey
    - ParseScriptContext
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2020
    functionName: InferPubkey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<ConstPubkeyProvider>
    - std::make_unique<OriginPubkeyProvider>
    - GetID
    - std::move
    - GetKeyOrigin
    - IsCompressed
    - IsValidNonHybrid
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> InferPubkey(const CPubKey& pubkey,
      ParseScriptContext ctx, const SigningProvider& provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEvenCorrespondingCPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2024,1
    - Dst: std::make_unique<ConstPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2025,1
    - Dst: GetKeyOriginByXOnly
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2027,1
    - Dst: std::make_unique<OriginPubkeyProvider>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2028,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2028,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' xkey'
    - ctx
    - ' provider'
    argTypes:
    - XOnlyPubKey
    - ParseScriptContext
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2031
    functionName: InferXOnlyPubkey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - GetKeyOriginByXOnly
    - std::make_unique<ConstPubkeyProvider>
    - std::make_unique<OriginPubkeyProvider>
    - GetEvenCorrespondingCPubKey
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<PubkeyProvider>
    signature: std::unique_ptr<PubkeyProvider> InferXOnlyPubkey(const XOnlyPubKey&
      xkey, ParseScriptContext ctx, const SigningProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - LIFETIMEBOUND
    - LIFETIMEBOUND
    - ctx
    argTypes:
    - FlatSigningProvider*
    - SigningProvider*
    - miniscript::MiniscriptContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: KeyParser
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void KeyParser(FlatSigningProvider* out LIFETIMEBOUND, const SigningProvider*
      in LIFETIMEBOUND,\n              miniscript::MiniscriptContext ctx, uint32_t
      offset = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2057,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2058
    functionName: KeyCompare
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool KeyCompare(const Key& a, const Key& b) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 2064
        line_start: 2064
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2066
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2066
    functionName: ParseContext
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: ParseScriptContext
    signature: ParseScriptContext ParseContext() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2070,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2071,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2073,1
    - Dst: ParseContext
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2073,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2074,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2075,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (m_out)
      pos:
        line_end: 2069
        line_start: 2069
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2077
      start: 2068
    functionDepth: 7
    functionLinenumber: 2068
    functionLinenumberEnd: 2077
    functionName: FromString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 33
    functionsReached:
    - ParseContext
    - ParsePubkey
    - size
    - std::move
    - auto::empty
    - emplace_back
    - assert
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromString(I begin, I end) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2082
    functionName: ToString
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 351
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(const Key& key) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2086,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2087,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2088,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2089,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2090,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2090,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2091,1
    - Dst: ParseContext
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2091,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2092,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2093,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2093,1
    - Dst: miniscript::IsTapscript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2096,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2098,1
    - Dst: ParseContext
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2098,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2099,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2100,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (m_in)
      pos:
        line_end: 2085
        line_start: 2085
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2105
      start: 2084
    functionDepth: 2
    functionLinenumber: 2084
    functionLinenumberEnd: 2105
    functionName: FromPKBytes
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached:
    - InferXOnlyPubkey
    - std::copy
    - XOnlyPubKey::begin
    - ParseContext
    - miniscript::IsTapscript
    - back
    - size
    - std::move
    - emplace_back
    - assert
    - InferPubkey
    - XOnlyPubKey::XOnlyPubKey
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKBytes(I begin, I end) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2109,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2110,1
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2111,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2112,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2112,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2114,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2115,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2116,1
    - Dst: ParseContext
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2116,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2117,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2118,1
    - Dst: back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2119,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - I
    - I
    assertStmts:
    - condition: (end - begin == 20)
      pos:
        line_end: 2108
        line_start: 2108
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    - condition: (m_in)
      pos:
        line_end: 2109
        line_start: 2109
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2124
      start: 2107
    functionDepth: 2
    functionLinenumber: 2107
    functionLinenumberEnd: 2124
    functionName: FromPKHBytes
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 6
    functionsReached:
    - std::copy
    - ParseContext
    - uint160::begin
    - back
    - size
    - std::move
    - CPubKey::CPubKey
    - emplace_back
    - assert
    - GetPubKey
    - InferPubkey
    - uint160::uint160
    linkageType: ''
    returnType: std::optional<Key>
    signature: std::optional<Key> FromPKHBytes(I begin, I end) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2128
    functionName: MsContext
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: miniscript::MiniscriptContext
    signature: miniscript::MiniscriptContext MsContext() const
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2136,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2138,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2139,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2140,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2141,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2142,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2147,1
    - Dst: std::make_unique<PKDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2147,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2147,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2151,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2152,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2153,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2154,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2159,1
    - Dst: std::make_unique<PKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2159,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2159,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2163,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2164,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2165,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2166,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2171,1
    - Dst: std::make_unique<ComboDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2171,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2171,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2174,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2178,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2179,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2180,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2181,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2184,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2187,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2187,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2187,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2190,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2190,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2190,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2190,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2195,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2196,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2197,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2200,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2201,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2202,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2203,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2206,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2207,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2207,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2208,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2208,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2211,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2211,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2212,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2212,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2214,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2214,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2215,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2215,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2218,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2220,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2221,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2221,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2225,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2226,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2226,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2233,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2241,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2243,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2243,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2245,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2246,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2255,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2255,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2257,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2257,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2257,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2260,1
    - Dst: std::make_unique<MultisigDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2260,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2260,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2262,1
    - Dst: std::make_unique<MultiADescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2262,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2262,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2273,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2274,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2275,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2276,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2281,1
    - Dst: std::make_unique<WPKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2281,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2281,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2284,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2288,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2289,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2290,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2290,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2292,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2292,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2294,1
    - Dst: std::make_unique<SHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2294,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2294,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2297,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2301,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2302,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2303,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2305,1
    - Dst: std::make_unique<WSHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2305,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2305,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2308,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2312,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2313,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2313,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2313,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2313,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2314,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2318,1
    - Dst: std::make_unique<AddressDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2318,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2318,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2320,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2324,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2325,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2326,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2327,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2328,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2331,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2335,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2336,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2337,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2348,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2349,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2350,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2351,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2356,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2357,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2357,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2358,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2359,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2359,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2360,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2360,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2362,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2362,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2363,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2364,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2367,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2370,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2370,1
    - Dst: Const
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2371,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2372,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2375,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2377,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2379,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2380,1
    - Dst: assert
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2384,1
    - Dst: TaprootBuilder::ValidDepths
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2384,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2389,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2391,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2391,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2393,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2394,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2399,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2399,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2400,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2404,1
    - Dst: auto::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2405,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2405,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2412,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2412,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2414,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2414,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2414,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: std::make_unique<TRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2416,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2421,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2425,1
    - Dst: Expr
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2426,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2427,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2428,1
    - Dst: ParsePubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2431,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2432,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2433,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2438,1
    - Dst: std::make_unique<RawTRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2438,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2438,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2441,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2445,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2446,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2446,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2447,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2451,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: std::make_unique<RawDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2452,1
    - Dst: Func
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2454,1
    - Dst: miniscript::FromString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2462,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2462,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2462,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2462,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2464,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2472,1
    - Dst: auto::IsNotSatisfiable
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2472,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2474,1
    - Dst: auto::FindInsaneSub
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2475,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2476,1
    - Dst: auto::IsValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2477,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2479,1
    - Dst: auto::IsNonMalleable
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2481,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2483,1
    - Dst: auto::NeedsSignature
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2483,1
    - Dst: auto::CheckTimeLocksMix
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2485,1
    - Dst: auto::CheckDuplicateKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2487,1
    - Dst: auto::ValidSatisfactions
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2489,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2499,1
    - Dst: KeyParser::m_keys::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2499,1
    - Dst: KeyParser::m_keys::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2500,1
    - Dst: std::max_element
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2503,1
    - Dst: KeyParser::m_keys::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2503,1
    - Dst: KeyParser::m_keys::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2503,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2505,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2505,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2509,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2511,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2511,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2513,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2514,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2523,1
    - Dst: KeyParser::m_keys::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2523,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2525,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2525,1
    - Dst: at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2525,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2527,1
    - Dst: std::make_unique<MiniscriptDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2527,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2527,1
    - Dst: auto::Clone
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2527,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2539,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2539,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2539,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2539,1
    CyclomaticComplexity: 144
    EdgeCount: 144
    ICount: 340
    argCount: 5
    argNames:
    - ' key_exp_index'
    - ' sp'
    - ctx
    - ' out'
    - ' error'
    argTypes:
    - uint32_t
    - std::span<const char>
    - ParseScriptContext
    - FlatSigningProvider
    - std::string
    assertStmts:
    - condition: (TaprootBuilder::ValidDepths(depths))
      pos:
        line_end: 2383
        line_start: 2383
        source_file: /src/bitcoin-core/src/script/descriptor.cpp
    constantsTouched: []
    func_position:
      end: 2541
      start: 2133
    functionDepth: 7
    functionLinenumber: 2133
    functionLinenumberEnd: 2541
    functionName: ParseScript
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 8
    functionsReached:
    - auto::ToString
    - auto::size
    - IsValidDestination
    - std::vector::emplace_back
    - ParsePubkey
    - DecodeDestination
    - at
    - std::move
    - std::make_unique<PKHDescriptor>
    - std::string
    - ToIntegral
    - std::vector::push_back
    - std::make_unique<MultiADescriptor>
    - std::max_element
    - CHECK_NONFATAL
    - std::make_unique<MiniscriptDescriptor>
    - auto::begin
    - auto::at
    - auto::ValidSatisfactions
    - auto::NeedsSignature
    - auto::IsValid
    - Func
    - std::vector::back
    - std::make_unique<RawTRDescriptor>
    - std::make_unique<RawDescriptor>
    - std::vector::reserve
    - Expr
    - ParseScript
    - std::vector::pop_back
    - std::vector::empty
    - miniscript::FromString
    - std::vector::size
    - std::make_unique<AddressDescriptor>
    - ParseHex
    - Assume
    - auto::emplace_back
    - TaprootBuilder::ValidDepths
    - KeyParser::m_keys::end
    - auto::empty
    - std::make_unique<PKDescriptor>
    - strprintf
    - auto::FindInsaneSub
    - KeyParser::m_keys::size
    - assert
    - std::make_unique<WPKHDescriptor>
    - std::make_unique<ComboDescriptor>
    - std::make_unique<SHDescriptor>
    - std::make_unique<WSHDescriptor>
    - Const
    - IsHex
    - KeyParser::m_keys::begin
    - auto::IsSane
    - auto::CheckDuplicateKey
    - auto::CheckTimeLocksMix
    - std::make_unique<TRDescriptor>
    - KeyParser::m_keys::empty
    - size
    - auto::IsNotSatisfiable
    - std::max
    - std::make_unique<MultisigDescriptor>
    - CScript
    - auto::Clone
    - emplace_back
    - auto::IsNonMalleable
    - auto::end
    - auto::get
    linkageType: ''
    returnType: std::vector<std::unique_ptr<DescriptorImpl>>
    signature: std::vector<std::unique_ptr<DescriptorImpl>> ParseScript(uint32_t&
      key_exp_index, std::span<const char>& sp, ParseScriptContext ctx, FlatSigningProvider&
      out, std::string& error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MatchMultiA
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2545,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2548,1
    - Dst: auto::second::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2548,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2550,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2551,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2553,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2553,1
    - Dst: std::make_unique<MultiADescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2555,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' script'
    - ctx
    - ' provider'
    argTypes:
    - CScript
    - ParseScriptContext
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2543
    functionDepth: 4
    functionLinenumber: 2543
    functionLinenumberEnd: 2556
    functionName: InferMultiA
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - InferXOnlyPubkey
    - auto::second::size
    - size
    - std::vector::reserve
    - std::vector::push_back
    - std::move
    - std::make_unique<MultiADescriptor>
    - MatchMultiA
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> InferMultiA(const CScript& script,
      ParseScriptContext ctx, const SigningProvider& provider)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2561,1
    - Dst: subspan
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2562,1
    - Dst: std::make_unique<PKDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2563,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2563,1
    - Dst: InferMultiA
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2567,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2572,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2576,1
    - Dst: std::make_unique<PKDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2577,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2577,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2583,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2584,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2585,1
    - Dst: std::make_unique<PKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2586,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2586,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2593,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2594,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2595,1
    - Dst: std::make_unique<WPKHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2596,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2596,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2603,1
    - Dst: InferPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2605,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2606,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2606,1
    - Dst: std::make_unique<MultisigDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2612,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2612,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2617,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2618,1
    - Dst: InferScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2619,1
    - Dst: std::make_unique<SHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2620,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2620,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2624,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2625,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2626,1
    - Dst: InferScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2627,1
    - Dst: std::make_unique<WSHDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2628,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2628,1
    - Dst: XOnlyPubKey::XOnlyPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2633,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2634,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2634,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2634,1
    - Dst: XOnlyPubKey::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2634,1
    - Dst: GetTaprootSpendData
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2637,1
    - Dst: InferTaprootTree
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2639,1
    - Dst: InferScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2648,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2648,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2648,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2648,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2654,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2654,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2655,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2659,1
    - Dst: std::make_unique<TRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2660,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2660,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2660,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2660,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2665,1
    - Dst: InferXOnlyPubkey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2666,1
    - Dst: std::make_unique<RawTRDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2668,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2668,1
    - Dst: miniscript::FromScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2676,1
    - Dst: auto::IsSane
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2677,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2679,1
    - Dst: KeyParser::m_keys::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2679,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2681,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2681,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2681,1
    - Dst: std::make_unique<MiniscriptDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2683,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2683,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2683,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2692,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2693,1
    - Dst: std::make_unique<AddressDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2694,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2694,1
    - Dst: std::make_unique<RawDescriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2698,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 93
    argCount: 3
    argNames:
    - ' script'
    - ctx
    - ' provider'
    argTypes:
    - CScript
    - ParseScriptContext
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2559
    functionDepth: 5
    functionLinenumber: 2559
    functionLinenumberEnd: 2699
    functionName: InferScript
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - std::copy
    - std::vector::emplace_back
    - GetScriptForDestination
    - std::move
    - std::make_unique<PKHDescriptor>
    - std::vector::push_back
    - GetTaprootSpendData
    - InferPubkey
    - std::make_unique<MiniscriptDescriptor>
    - auto::at
    - InferTaprootTree
    - std::make_unique<RawDescriptor>
    - std::make_unique<RawTRDescriptor>
    - std::vector::reserve
    - RIPEMD160
    - CPubKey::CPubKey
    - Solver
    - XOnlyPubKey::IsFullyValid
    - std::vector::size
    - XOnlyPubKey::XOnlyPubKey
    - std::make_unique<AddressDescriptor>
    - XOnlyPubKey::begin
    - std::make_unique<PKDescriptor>
    - GetCScript
    - KeyParser::m_keys::size
    - std::make_unique<WPKHDescriptor>
    - std::make_unique<SHDescriptor>
    - InferScript
    - std::make_unique<WSHDescriptor>
    - InferXOnlyPubkey
    - end
    - auto::IsSane
    - std::make_unique<TRDescriptor>
    - ExtractDestination
    - InferMultiA
    - size
    - std::make_unique<MultisigDescriptor>
    - miniscript::FromScript
    - CScript
    - GetPubKey
    - begin
    - subspan
    - CScript::CScript
    linkageType: ''
    returnType: std::unique_ptr<DescriptorImpl>
    signature: std::unique_ptr<DescriptorImpl> InferScript(const CScript& script,
      ParseScriptContext ctx, const SigningProvider& provider)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Split
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2707,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2708,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2712,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2716,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2717,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2718,1
    - Dst: size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2718,1
    - Dst: DescriptorChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2722,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2723,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2727,1
    - Dst: std::equal
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2728,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2728,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2728,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2728,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2729,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2729,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2729,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2729,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ' sp'
    - require_checksum
    - ' error'
    argTypes:
    - std::span<const char>
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2705
    functionDepth: 1
    functionLinenumber: 2705
    functionLinenumberEnd: 2736
    functionName: CheckChecksum
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::size
    - auto::begin
    - size
    - std::string
    - std::move
    - std::equal
    - auto::empty
    - Split
    - strprintf
    - auto::end
    - begin
    - DescriptorChecksum
    linkageType: ''
    returnType: bool
    signature: bool CheckChecksum(std::span<const char>& sp, bool require_checksum,
      std::string& error, std::string* out_checksum = nullptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CheckChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2741,1
    - Dst: ParseScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2743,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2744,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2744,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2746,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2746,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2748,1
    - Dst: std::unique_ptr<Descriptor>
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2748,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' descriptor'
    - ' out'
    - ' error'
    - require_checksum
    argTypes:
    - std::string
    - FlatSigningProvider
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2738
    functionDepth: 2
    functionLinenumber: 2738
    functionLinenumberEnd: 2753
    functionName: Parse
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 27
    functionsReached:
    - auto::size
    - std::unique_ptr<Descriptor>
    - std::span::size
    - std::vector::emplace_back
    - std::vector::reserve
    - std::move
    - CheckChecksum
    - auto::empty
    - ParseScript
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Descriptor>>
    signature: std::vector<std::unique_ptr<Descriptor>> Parse(const std::string& descriptor,
      FlatSigningProvider& out, std::string& error, bool require_checksum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckChecksum
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' descriptor'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2755
    functionDepth: 2
    functionLinenumber: 2755
    functionLinenumberEnd: 2762
    functionName: GetDescriptorChecksum
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 6
    functionsReached:
    - CheckChecksum
    linkageType: ''
    returnType: std::string
    signature: std::string GetDescriptorChecksum(const std::string& descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InferScript
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' script'
    - ' provider'
    argTypes:
    - CScript
    - SigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2764
    functionDepth: 6
    functionLinenumber: 2764
    functionLinenumberEnd: 2767
    functionName: InferDescriptor
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 11
    functionsReached:
    - InferScript
    linkageType: ''
    returnType: std::unique_ptr<Descriptor>
    signature: std::unique_ptr<Descriptor> InferDescriptor(const CScript& script,
      const SigningProvider& provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2771,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2772,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2773,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2773,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2773,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - Descriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2769
    functionDepth: 2
    functionLinenumber: 2769
    functionLinenumberEnd: 2775
    functionName: DescriptorID
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 2
    functionsReached:
    - std::string::size
    - std::string::data
    - ToString
    - uint256::begin
    - CSHA256
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 DescriptorID(const Descriptor& desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key_exp_pos
    - ' xpub'
    argTypes:
    - uint32_t
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2780
    functionName: DescriptorCache::CacheParentExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescriptorCache::CacheParentExtPubKey(uint32_t key_exp_pos, const
      CExtPubKey& xpub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key_exp_pos
    - der_index
    - ' xpub'
    argTypes:
    - uint32_t
    - uint32_t
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2786
    functionName: DescriptorCache::CacheDerivedExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescriptorCache::CacheDerivedExtPubKey(uint32_t key_exp_pos, uint32_t
      der_index, const CExtPubKey& xpub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key_exp_pos
    - ' xpub'
    argTypes:
    - uint32_t
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2788
    functionDepth: 0
    functionLinenumber: 2788
    functionLinenumberEnd: 2791
    functionName: DescriptorCache::CacheLastHardenedExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescriptorCache::CacheLastHardenedExtPubKey(uint32_t key_exp_pos,
      const CExtPubKey& xpub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2795,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key_exp_pos
    - ' xpub'
    argTypes:
    - uint32_t
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2793
    functionDepth: 1
    functionLinenumber: 2793
    functionLinenumberEnd: 2799
    functionName: DescriptorCache::GetCachedParentExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool DescriptorCache::GetCachedParentExtPubKey(uint32_t key_exp_pos,
      CExtPubKey& xpub) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2803,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2804,1
    - Dst: second::find
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2805,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - key_exp_pos
    - der_index
    - ' xpub'
    argTypes:
    - uint32_t
    - uint32_t
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2801
    functionDepth: 1
    functionLinenumber: 2801
    functionLinenumberEnd: 2809
    functionName: DescriptorCache::GetCachedDerivedExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - second::end
    - second::find
    linkageType: ''
    returnType: bool
    signature: bool DescriptorCache::GetCachedDerivedExtPubKey(uint32_t key_exp_pos,
      uint32_t der_index, CExtPubKey& xpub) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2813,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key_exp_pos
    - ' xpub'
    argTypes:
    - uint32_t
    - CExtPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2811
    functionDepth: 1
    functionLinenumber: 2811
    functionLinenumberEnd: 2817
    functionName: DescriptorCache::GetCachedLastHardenedExtPubKey
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool DescriptorCache::GetCachedLastHardenedExtPubKey(uint32_t key_exp_pos,
      CExtPubKey& xpub) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorCache::GetCachedParentExtPubKeys
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2822,1
    - Dst: DescriptorCache::GetCachedParentExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2824,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2826,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2826,1
    - Dst: DescriptorCache::CacheParentExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2830,1
    - Dst: DescriptorCache::CacheParentExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2831,1
    - Dst: DescriptorCache::GetCachedDerivedExtPubKeys
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2833,1
    - Dst: DescriptorCache::GetCachedDerivedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2836,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2838,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2838,1
    - Dst: DescriptorCache::CacheDerivedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2842,1
    - Dst: DescriptorCache::CacheDerivedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2843,1
    - Dst: DescriptorCache::GetCachedLastHardenedExtPubKeys
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2846,1
    - Dst: DescriptorCache::GetCachedLastHardenedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2848,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2850,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2850,1
    - Dst: DescriptorCache::CacheLastHardenedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2854,1
    - Dst: DescriptorCache::CacheLastHardenedExtPubKey
      Src: /src/bitcoin-core/src/script/descriptor.cpp:2855,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DescriptorCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2819
    functionDepth: 2
    functionLinenumber: 2819
    functionLinenumberEnd: 2858
    functionName: DescriptorCache::MergeAndDiff
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 0
    functionsReached:
    - DescriptorCache::CacheParentExtPubKey
    - DescriptorCache::GetCachedDerivedExtPubKey
    - std::runtime_error
    - std::string
    - DescriptorCache::GetCachedLastHardenedExtPubKey
    - DescriptorCache::CacheLastHardenedExtPubKey
    - DescriptorCache::GetCachedParentExtPubKeys
    - DescriptorCache::CacheDerivedExtPubKey
    - DescriptorCache::GetCachedParentExtPubKey
    - DescriptorCache::GetCachedLastHardenedExtPubKeys
    - DescriptorCache::GetCachedDerivedExtPubKeys
    linkageType: ''
    returnType: DescriptorCache
    signature: DescriptorCache DescriptorCache::MergeAndDiff(const DescriptorCache&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2863
    functionName: DescriptorCache::GetCachedParentExtPubKeys
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ExtPubKeyMap
    signature: ExtPubKeyMap DescriptorCache::GetCachedParentExtPubKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2868
    functionName: DescriptorCache::GetCachedDerivedExtPubKeys
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint32_t, ExtPubKeyMap>
    signature: std::unordered_map<uint32_t, ExtPubKeyMap> DescriptorCache::GetCachedDerivedExtPubKeys()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2873
    functionName: DescriptorCache::GetCachedLastHardenedExtPubKeys
    functionSourceFile: /src/bitcoin-core/src/script/descriptor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ExtPubKeyMap
    signature: ExtPubKeyMap DescriptorCache::GetCachedLastHardenedExtPubKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/bitcoin-core/src/script/keyorigin.h:18,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/keyorigin.h:18,1
    - Dst: end
      Src: /src/bitcoin-core/src/script/keyorigin.h:18,1
    - Dst: begin
      Src: /src/bitcoin-core/src/script/keyorigin.h:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - KeyOriginInfo
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: operator==(const KeyOriginInfo& a, const KeyOriginInfo& b)
    functionSourceFile: /src/bitcoin-core/src/script/keyorigin.h
    functionUses: 0
    functionsReached:
    - end
    - begin
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KeyOriginInfo& a, const KeyOriginInfo& b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/script/keyorigin.h:24,1
    - Dst: path::size
      Src: /src/bitcoin-core/src/script/keyorigin.h:31,1
    - Dst: path::size
      Src: /src/bitcoin-core/src/script/keyorigin.h:31,1
    - Dst: path::size
      Src: /src/bitcoin-core/src/script/keyorigin.h:33,1
    - Dst: path::size
      Src: /src/bitcoin-core/src/script/keyorigin.h:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - KeyOriginInfo
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: operator<(const KeyOriginInfo& a, const KeyOriginInfo& b)
    functionSourceFile: /src/bitcoin-core/src/script/keyorigin.h
    functionUses: 0
    functionsReached:
    - path::size
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator<(const KeyOriginInfo& a, const KeyOriginInfo& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/script/keyorigin.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/script/keyorigin.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(KeyOriginInfo, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/script/keyorigin.h:44,1
    - Dst: clear
      Src: /src/bitcoin-core/src/script/keyorigin.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: clear
    functionSourceFile: /src/bitcoin-core/src/script/keyorigin.h
    functionUses: 357
    functionsReached:
    - memset
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: MAKE_RAII
    functionSourceFile: /src/bitcoin-core/src/support/events.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_RAII(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/bitcoin-core/src/support/cleanse.cpp:18,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/support/cleanse.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: memory_cleanse
    functionSourceFile: /src/bitcoin-core/src/support/cleanse.cpp
    functionUses: 15
    functionsReached:
    - SecureZeroMemory
    - std::memset
    linkageType: ''
    returnType: void
    signature: void memory_cleanse(void *ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: align_up
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t align_up(size_t x, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:40,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:43,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:44,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:45,1
    - Dst: static_cast<char*>
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - base_in
    - size_in
    - alignment_in
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: Arena::Arena
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<char*>
    - emplace
    linkageType: ''
    returnType: void
    signature: void Arena::Arena(void *base_in, size_t size_in, size_t alignment_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Arena::~Arena()
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena::~Arena()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: align_up
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:53,1
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:63,1
    - Dst: end
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:64,1
    - Dst: static_cast<char*>
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:69,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:70,1
    - Dst: erase
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:71,1
    - Dst: erase
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:74,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:77,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:79,1
    - Dst: erase
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 84
    functionName: Arena::alloc
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 1
    functionsReached:
    - end
    - static_cast<char*>
    - emplace
    - lower_bound
    - erase
    - align_up
    linkageType: ''
    returnType: void
    signature: void * Arena::alloc(size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:94,1
    - Dst: end
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:95,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:96,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:98,1
    - Dst: static_cast<char*>
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:98,1
    - Dst: erase
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:99,1
    - Dst: find
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:102,1
    - Dst: end
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:103,1
    - Dst: erase
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:106,1
    - Dst: erase
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:107,1
    - Dst: find
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:111,1
    - Dst: end
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:112,1
    - Dst: erase
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:114,1
    - Dst: erase
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:115,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 122
    functionName: Arena::free
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 1
    functionsReached:
    - end
    - static_cast<char*>
    - std::make_pair
    - erase
    - emplace
    - std::runtime_error
    - find
    linkageType: ''
    returnType: void
    signature: void Arena::free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:126,1
    - Dst: size
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: Arena::stats
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: Arena::Stats
    signature: Arena::Stats Arena::stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:138,1
    - Dst: std::setfill
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:138,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:139,1
    - Dst: std::setfill
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - sz
    - used
    argTypes:
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: printchunk
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: void
    signature: void printchunk(void* base, size_t sz, bool used)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printchunk
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:145,1
    - Dst: printchunk
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: Arena::walk
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 1
    functionsReached:
    - printchunk
    linkageType: ''
    returnType: void
    signature: void Arena::walk() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemInfo
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: Win32LockedPageAllocator::Win32LockedPageAllocator
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - GetSystemInfo
    linkageType: ''
    returnType: void
    signature: void Win32LockedPageAllocator::Win32LockedPageAllocator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: align_up
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:179,1
    - Dst: VirtualAlloc
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:180,1
    - Dst: VirtualLock
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:186,1
    - Dst: const_cast<void*>
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - len
    - lockingSuccess
    argTypes:
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: Win32LockedPageAllocator::AllocateLocked
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - VirtualAlloc
    - VirtualLock
    - const_cast<void*>
    - align_up
    linkageType: ''
    returnType: void
    signature: void *Win32LockedPageAllocator::AllocateLocked(size_t len, bool *lockingSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: align_up
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:192,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:193,1
    - Dst: VirtualUnlock
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:194,1
    - Dst: const_cast<void*>
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: Win32LockedPageAllocator::FreeLocked
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - VirtualUnlock
    - memory_cleanse
    - align_up
    linkageType: ''
    returnType: void
    signature: void Win32LockedPageAllocator::FreeLocked(void* addr, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetProcessWorkingSetSize
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:200,1
    - Dst: GetCurrentProcess
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:200,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: Win32LockedPageAllocator::GetLimit
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - GetProcessWorkingSetSize
    - RandomMixin::max
    - GetCurrentProcess
    linkageType: ''
    returnType: size_t
    signature: size_t Win32LockedPageAllocator::GetLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: PosixLockedPageAllocator::PosixLockedPageAllocator
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: void
    signature: void PosixLockedPageAllocator::PosixLockedPageAllocator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: align_up
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:238,1
    - Dst: mmap
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:239,1
    - Dst: mlock
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:244,1
    - Dst: madvise
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:246,1
    - Dst: madvise
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - len
    - lockingSuccess
    argTypes:
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: PosixLockedPageAllocator::AllocateLocked
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - mlock
    - mmap
    - madvise
    - align_up
    linkageType: ''
    returnType: void
    signature: void *PosixLockedPageAllocator::AllocateLocked(size_t len, bool *lockingSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: align_up
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:255,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:256,1
    - Dst: munlock
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:257,1
    - Dst: munmap
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - addr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: PosixLockedPageAllocator::FreeLocked
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - munlock
    - memory_cleanse
    - munmap
    - align_up
    linkageType: ''
    returnType: void
    signature: void PosixLockedPageAllocator::FreeLocked(void* addr, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:264,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: PosixLockedPageAllocator::GetLimit
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - getrlimit
    - RandomMixin::max
    linkageType: ''
    returnType: size_t
    signature: size_t PosixLockedPageAllocator::GetLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - allocator_in
    - lf_cb_in
    argTypes:
    - std::unique_ptr<LockedPageAllocator>
    - LockingFailed_Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: LockedPool::LockedPool
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void LockedPool::LockedPool(std::unique_ptr<LockedPageAllocator> allocator_in,
      LockingFailed_Callback lf_cb_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: LockedPool::~LockedPool()
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LockedPool::~LockedPool()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LockedPool::alloc
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:294,1
    - Dst: LockedPool::new_arena
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:300,1
    - Dst: back
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 304
    functionName: LockedPool::alloc
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 2
    functionsReached:
    - back
    - LockedPool::new_arena
    - LockedPool::alloc
    linkageType: ''
    returnType: void
    signature: void * LockedPool::alloc(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addressInArena
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:312,1
    - Dst: LockedPool::free
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:313,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: LockedPool::free
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 2
    functionsReached:
    - addressInArena
    - std::runtime_error
    - LockedPool::free
    linkageType: ''
    returnType: void
    signature: void LockedPool::free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockedPool::stats
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: LockedPool::stats
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 2
    functionsReached:
    - LockedPool::stats
    linkageType: ''
    returnType: LockedPool::Stats
    signature: LockedPool::Stats LockedPool::stats() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:342,1
    - Dst: GetLimit
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:343,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:345,1
    - Dst: AllocateLocked
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:348,1
    - Dst: lf_cb
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:355,1
    - Dst: FreeLocked
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:356,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:360,1
    - Dst: get
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 362
    functionName: LockedPool::new_arena
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 1
    functionsReached:
    - empty
    - FreeLocked
    - AllocateLocked
    - GetLimit
    - get
    - emplace_back
    - std::min
    - lf_cb
    linkageType: ''
    returnType: bool
    signature: bool LockedPool::new_arena(size_t size, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - allocator_in
    - base_in
    - size_in
    - align_in
    argTypes:
    - LockedPageAllocator*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: LockedPool::LockedPageArena::LockedPageArena(LockedPageAllocator
      *allocator_in, void *base_in, size_t size_in, size_t align_in)
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LockedPool::LockedPageArena::LockedPageArena(LockedPageAllocator
      *allocator_in, void *base_in, size_t size_in, size_t align_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FreeLocked
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: LockedPool::LockedPageArena::~LockedPageArena()
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - FreeLocked
    linkageType: ''
    returnType: void
    signature: void LockedPool::LockedPageArena::~LockedPageArena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - allocator_in
    argTypes:
    - std::unique_ptr<LockedPageAllocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: LockedPoolManager::LockedPoolManager
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void LockedPoolManager::LockedPoolManager(std::unique_ptr<LockedPageAllocator>
      allocator_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: LockedPoolManager::LockingFailed
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LockedPoolManager::LockingFailed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Win32LockedPageAllocator::Win32LockedPageAllocator
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:395,1
    - Dst: PosixLockedPageAllocator::PosixLockedPageAllocator
      Src: /src/bitcoin-core/src/support/lockedpool.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 401
    functionName: LockedPoolManager::CreateInstance
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - PosixLockedPageAllocator::PosixLockedPageAllocator
    - Win32LockedPageAllocator::Win32LockedPageAllocator
    linkageType: ''
    returnType: void
    signature: void LockedPoolManager::CreateInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: ~LockedPageAllocator()
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LockedPageAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Arena
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Arena::Arena
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(const Arena& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& operator=(const Arena&)'
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena & operator=(const Arena&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Arena::addressInArena
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool addressInArena(void *ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LockedPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: LockedPool::LockedPool
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LockedPool(const LockedPool& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: '& operator=(const LockedPool&)'
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LockedPool
    signature: LockedPool & operator=(const LockedPool&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/bitcoin-core/src/support/lockedpool.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: '& Instance()'
    functionSourceFile: /src/bitcoin-core/src/support/lockedpool.h
    functionUses: 0
    functionsReached:
    - std::call_once
    linkageType: ''
    returnType: LockedPoolManager
    signature: LockedPoolManager & Instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: zero_after_free_allocator
    functionSourceFile: /src/bitcoin-core/src/support/allocators/zeroafterfree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void zero_after_free_allocator() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: zero_after_free_allocator
    functionSourceFile: /src/bitcoin-core/src/support/allocators/zeroafterfree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void zero_after_free_allocator(const zero_after_free_allocator<U>&)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/bitcoin-core/src/support/allocators/zeroafterfree.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: allocate
    functionSourceFile: /src/bitcoin-core/src/support/allocators/zeroafterfree.h
    functionUses: 12
    functionsReached:
    - allocate
    linkageType: ''
    returnType: T
    signature: T * allocate(std::size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/support/allocators/zeroafterfree.h:32,1
    - Dst: deallocate
      Src: /src/bitcoin-core/src/support/allocators/zeroafterfree.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: deallocate
    functionSourceFile: /src/bitcoin-core/src/support/allocators/zeroafterfree.h
    functionUses: 1
    functionsReached:
    - deallocate
    - memory_cleanse
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, std::size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: operator==(const zero_after_free_allocator&, const zero_after_free_allocator<U>&)
      noexcept
    functionSourceFile: /src/bitcoin-core/src/support/allocators/zeroafterfree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const zero_after_free_allocator&, const zero_after_free_allocator<U>&)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: operator!=(const zero_after_free_allocator&, const zero_after_free_allocator<U>&)
      noexcept
    functionSourceFile: /src/bitcoin-core/src/support/allocators/zeroafterfree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const zero_after_free_allocator&, const zero_after_free_allocator<U>&)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - next
    argTypes:
    - ListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: PoolResource::ListNode
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListNode(ListNode* next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: PoolResource::NumElemAlignBytes
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t NumElemAlignBytes(std::size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: PoolResource::IsFreeListUsable
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFreeListUsable(std::size_t bytes, std::size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ListNode::ListNode
      Src: /src/bitcoin-core/src/support/allocators/pool.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - ' node'
    argTypes:
    - void*
    - ListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: PoolResource::PlacementAddToList
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - ListNode::ListNode
    linkageType: ''
    returnType: void
    signature: void PlacementAddToList(void* p, ListNode*& node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/bitcoin-core/src/support/allocators/pool.h:158,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:160,1
    - Dst: PoolResource::PlacementAddToList
      Src: /src/bitcoin-core/src/support/allocators/pool.h:161,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:162,1
    - Dst: ::operator new
      Src: /src/bitcoin-core/src/support/allocators/pool.h:165,1
    - Dst: std::byte::byte
      Src: /src/bitcoin-core/src/support/allocators/pool.h:166,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:168,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/support/allocators/pool.h:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: PoolResource::AllocateChunk
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - std::byte::byte
    - ::operator new
    - std::distance
    - ASAN_UNPOISON_MEMORY_REGION
    - emplace_back
    - ASAN_POISON_MEMORY_REGION
    - PoolResource::PlacementAddToList
    linkageType: ''
    returnType: void
    signature: void AllocateChunk()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PoolResource::NumElemAlignBytes
      Src: /src/bitcoin-core/src/support/allocators/pool.h:183,1
    - Dst: assert
      Src: /src/bitcoin-core/src/support/allocators/pool.h:185,1
    - Dst: PoolResource::AllocateChunk
      Src: /src/bitcoin-core/src/support/allocators/pool.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk_size_bytes
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (m_chunk_size_bytes >= MAX_BLOCK_SIZE_BYTES)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bitcoin-core/src/support/allocators/pool.h
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: PoolResource::PoolResource
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - PoolResource::NumElemAlignBytes
    - assert
    - PoolResource::AllocateChunk
    linkageType: ''
    returnType: void
    signature: void PoolResource(std::size_t chunk_size_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: PoolResource::PoolResource
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PoolResource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: PoolResource::PoolResource
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PoolResource(const PoolResource&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: '& operator=(const PoolResource&)'
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PoolResource
    signature: PoolResource & operator=(const PoolResource&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: PoolResource::PoolResource
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PoolResource(PoolResource&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: '& operator=(PoolResource&&)'
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PoolResource
    signature: PoolResource & operator=(PoolResource&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::destroy
      Src: /src/bitcoin-core/src/support/allocators/pool.h:208,1
    - Dst: ::operator delete
      Src: /src/bitcoin-core/src/support/allocators/pool.h:209,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: ~PoolResource()
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    - std::destroy
    - ASAN_UNPOISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: void ~PoolResource()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PoolResource::IsFreeListUsable
      Src: /src/bitcoin-core/src/support/allocators/pool.h:220,1
    - Dst: PoolResource::NumElemAlignBytes
      Src: /src/bitcoin-core/src/support/allocators/pool.h:221,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:226,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:228,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:229,1
    - Dst: std::exchange
      Src: /src/bitcoin-core/src/support/allocators/pool.h:230,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/bitcoin-core/src/support/allocators/pool.h:234,1
    - Dst: PoolResource::AllocateChunk
      Src: /src/bitcoin-core/src/support/allocators/pool.h:237,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:241,1
    - Dst: std::exchange
      Src: /src/bitcoin-core/src/support/allocators/pool.h:242,1
    - Dst: ::operator new
      Src: /src/bitcoin-core/src/support/allocators/pool.h:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 247
    functionName: PoolResource::Allocate
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - ::operator new
    - PoolResource::AllocateChunk
    - std::exchange
    - ASAN_UNPOISON_MEMORY_REGION
    - PoolResource::NumElemAlignBytes
    - PoolResource::IsFreeListUsable
    - static_cast<std::ptrdiff_t>
    - ASAN_POISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: void * Allocate(std::size_t bytes, std::size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PoolResource::IsFreeListUsable
      Src: /src/bitcoin-core/src/support/allocators/pool.h:254,1
    - Dst: PoolResource::NumElemAlignBytes
      Src: /src/bitcoin-core/src/support/allocators/pool.h:255,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:258,1
    - Dst: PoolResource::PlacementAddToList
      Src: /src/bitcoin-core/src/support/allocators/pool.h:259,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/bitcoin-core/src/support/allocators/pool.h:260,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/support/allocators/pool.h:260,1
    - Dst: ::operator delete
      Src: /src/bitcoin-core/src/support/allocators/pool.h:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p
    - bytes
    - alignment
    argTypes:
    - void*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: PoolResource::Deallocate
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - ASAN_UNPOISON_MEMORY_REGION
    - ::operator delete
    - PoolResource::NumElemAlignBytes
    - PoolResource::IsFreeListUsable
    - std::max
    - ASAN_POISON_MEMORY_REGION
    - PoolResource::PlacementAddToList
    linkageType: ''
    returnType: void
    signature: void Deallocate(void* p, std::size_t bytes, std::size_t alignment)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/support/allocators/pool.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: PoolResource::NumAllocatedChunks
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t NumAllocatedChunks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: PoolResource::ChunkSizeBytes
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChunkSizeBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - resource
    argTypes:
    - ResourceType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: PoolAllocator::PoolAllocator
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PoolAllocator(ResourceType* resource) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PoolAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: PoolAllocator::PoolAllocator
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PoolAllocator(const PoolAllocator& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PoolAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: '& operator=(const PoolAllocator& other) noexcept'
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PoolAllocator
    signature: PoolAllocator & operator=(const PoolAllocator& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PoolAllocator::resource
      Src: /src/bitcoin-core/src/support/allocators/pool.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PoolAllocator<U, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: PoolAllocator::PoolAllocator
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - PoolAllocator::resource
    linkageType: ''
    returnType: void
    signature: void PoolAllocator(const PoolAllocator<U, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>&
      other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/bitcoin-core/src/support/allocators/pool.h:331,1
    - Dst: Allocate
      Src: /src/bitcoin-core/src/support/allocators/pool.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: PoolAllocator::allocate
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - Allocate
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * allocate(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/bitcoin-core/src/support/allocators/pool.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: PoolAllocator::deallocate
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, size_t n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: PoolAllocator::resource
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ResourceType
    signature: ResourceType * resource() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resource
      Src: /src/bitcoin-core/src/support/allocators/pool.h:352,1
    - Dst: resource
      Src: /src/bitcoin-core/src/support/allocators/pool.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PoolAllocator<T1, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>
    - PoolAllocator<T2, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: "operator==(const PoolAllocator<T1, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>&
      a,\n                const PoolAllocator<T2, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>&
      b) noexcept"
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached:
    - resource
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const PoolAllocator<T1, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>&
      a,\n                const PoolAllocator<T2, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>&
      b) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PoolAllocator<T1, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>
    - PoolAllocator<T2, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: "operator!=(const PoolAllocator<T1, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>&
      a,\n                const PoolAllocator<T2, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>&
      b) noexcept"
    functionSourceFile: /src/bitcoin-core/src/support/allocators/pool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator!=(const PoolAllocator<T1, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>&
      a,\n                const PoolAllocator<T2, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES>&
      b) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: secure_allocator
    functionSourceFile: /src/bitcoin-core/src/support/allocators/secure.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: secure_allocator
    functionSourceFile: /src/bitcoin-core/src/support/allocators/secure.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator(const secure_allocator<U>&) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/bitcoin-core/src/support/allocators/secure.h:29,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/support/allocators/secure.h:29,1
    - Dst: std::bad_alloc
      Src: /src/bitcoin-core/src/support/allocators/secure.h:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: allocate
    functionSourceFile: /src/bitcoin-core/src/support/allocators/secure.h
    functionUses: 14
    functionsReached:
    - static_cast<T*>
    - LogInstance
    - std::bad_alloc
    linkageType: ''
    returnType: T
    signature: T * allocate(std::size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/support/allocators/secure.h:39,1
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/support/allocators/secure.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: deallocate
    functionSourceFile: /src/bitcoin-core/src/support/allocators/secure.h
    functionUses: 1
    functionsReached:
    - memory_cleanse
    - LogInstance
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, std::size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: operator==(const secure_allocator&, const secure_allocator<U>&)
      noexcept
    functionSourceFile: /src/bitcoin-core/src/support/allocators/secure.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const secure_allocator&, const secure_allocator<U>&)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: operator!=(const secure_allocator&, const secure_allocator<U>&)
      noexcept
    functionSourceFile: /src/bitcoin-core/src/support/allocators/secure.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const secure_allocator&, const secure_allocator<U>&)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secure_allocator
      Src: /src/bitcoin-core/src/support/allocators/secure.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: operator()(T* t) noexcept
    functionSourceFile: /src/bitcoin-core/src/support/allocators/secure.h
    functionUses: 0
    functionsReached:
    - secure_allocator
    linkageType: ''
    returnType: void
    signature: void operator()(T* t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secure_allocator
      Src: /src/bitcoin-core/src/support/allocators/secure.h:73,1
    - Dst: secure_unique_ptr<T>
      Src: /src/bitcoin-core/src/support/allocators/secure.h:77,1
    - Dst: std::forward<Args>
      Src: /src/bitcoin-core/src/support/allocators/secure.h:77,1
    - Dst: T::T
      Src: /src/bitcoin-core/src/support/allocators/secure.h:77,1
    - Dst: secure_allocator
      Src: /src/bitcoin-core/src/support/allocators/secure.h:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: make_secure_unique
    functionSourceFile: /src/bitcoin-core/src/support/allocators/secure.h
    functionUses: 2
    functionsReached:
    - secure_allocator
    - T::T
    - std::forward<Args>
    - secure_unique_ptr<T>
    linkageType: ''
    returnType: secure_unique_ptr<T>
    signature: secure_unique_ptr<T> make_secure_unique(Args&&... as)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/bench.cpp:55,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/bench.cpp:55,1
    - Dst: std::ofstream::is_open
      Src: /src/bitcoin-core/src/bench/bench.cpp:60,1
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/bench.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' benchmarkResults'
    - ' file'
    - tpl
    argTypes:
    - std::vector<ankerl::nanobench::Result>
    - fs::path
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: GenerateTemplateResults
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    - std::ofstream::is_open
    - empty
    linkageType: ''
    returnType: void
    signature: void GenerateTemplateResults(const std::vector<ankerl::nanobench::Result>&
      benchmarkResults, const fs::path& file, const char* tpl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/bench.cpp:55,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/bench.cpp:55,1
    - Dst: std::ofstream::is_open
      Src: /src/bitcoin-core/src/bench/bench.cpp:60,1
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/bench.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' benchmarkResults'
    - ' file'
    - tpl
    argTypes:
    - std::vector<ankerl::nanobench::Result>
    - fs::path
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: GenerateTemplateResults
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    - std::ofstream::is_open
    - empty
    linkageType: ''
    returnType: void
    signature: void GenerateTemplateResults(const std::vector<ankerl::nanobench::Result>&
      benchmarkResults, const fs::path& file, const char* tpl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/bench.cpp:83,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/bench.cpp:83,1
    - Dst: Join
      Src: /src/bitcoin-core/src/bench/bench.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: benchmark::ListPriorities
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - Join
    linkageType: ''
    returnType: std::string
    signature: std::string ListPriorities()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/bench/bench.cpp:89,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/bench.cpp:90,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/bench.cpp:90,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/bench.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: benchmark::StringToPriority
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::runtime_error
    - find
    - strprintf
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t StringToPriority(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: '& BenchRunner::benchmarks()'
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BenchRunner::BenchmarkMap
    signature: BenchRunner::BenchmarkMap & BenchRunner::benchmarks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchmarks
      Src: /src/bitcoin-core/src/bench/bench.cpp:102,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bench/bench.cpp:102,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bench/bench.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - func
    - level
    argTypes:
    - std::string
    - BenchFunction
    - PriorityLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: benchmark::BenchRunner::BenchRunner
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - benchmarks
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void BenchRunner::BenchRunner(std::string name, BenchFunction func,
      PriorityLevel level)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/bench.cpp:117,1
    - Dst: setup_args::size
      Src: /src/bitcoin-core/src/bench/bench.cpp:117,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/bench.cpp:118,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/bench.cpp:118,1
    - Dst: benchmarks
      Src: /src/bitcoin-core/src/bench/bench.cpp:123,1
    - Dst: std::regex_match
      Src: /src/bitcoin-core/src/bench/bench.cpp:130,1
    - Dst: Bench::epochs
      Src: /src/bitcoin-core/src/bench/bench.cpp:141,1
    - Dst: Bench::output
      Src: /src/bitcoin-core/src/bench/bench.cpp:142,1
    - Dst: Bench::name
      Src: /src/bitcoin-core/src/bench/bench.cpp:144,1
    - Dst: Bench::minEpochTime
      Src: /src/bitcoin-core/src/bench/bench.cpp:149,1
    - Dst: Bench::epochs
      Src: /src/bitcoin-core/src/bench/bench.cpp:149,1
    - Dst: asymptote::empty
      Src: /src/bitcoin-core/src/bench/bench.cpp:152,1
    - Dst: func
      Src: /src/bitcoin-core/src/bench/bench.cpp:153,1
    - Dst: Bench::complexityN
      Src: /src/bitcoin-core/src/bench/bench.cpp:156,1
    - Dst: func
      Src: /src/bitcoin-core/src/bench/bench.cpp:157,1
    - Dst: Bench::complexityBigO
      Src: /src/bitcoin-core/src/bench/bench.cpp:159,1
    - Dst: Bench::results
      Src: /src/bitcoin-core/src/bench/bench.cpp:162,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/bench.cpp:163,1
    - Dst: Bench::results
      Src: /src/bitcoin-core/src/bench/bench.cpp:163,1
    - Dst: GenerateTemplateResults
      Src: /src/bitcoin-core/src/bench/bench.cpp:167,1
    - Dst: GenerateTemplateResults
      Src: /src/bitcoin-core/src/bench/bench.cpp:170,1
    - Dst: ankerl::nanobench::templates::json
      Src: /src/bitcoin-core/src/bench/bench.cpp:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - Args
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 171
    functionName: benchmark::BenchRunner::RunAll
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - func
    - GenerateTemplateResults
    - std::vector::emplace_back
    - Bench::complexityBigO
    - setup_args::size
    - benchmarks
    - Bench::name
    - std::regex_match
    - std::vector::reserve
    - asymptote::empty
    - std::vector::push_back
    - ankerl::nanobench::templates::json
    - Bench::output
    - Bench::complexityN
    - Bench::epochs
    - c_str
    - Bench::minEpochTime
    - Bench::results
    linkageType: ''
    returnType: void
    signature: void BenchRunner::RunAll(const Args& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/bench.cpp:83,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/bench.cpp:83,1
    - Dst: Join
      Src: /src/bitcoin-core/src/bench/bench.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: benchmark::ListPriorities
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - Join
    linkageType: ''
    returnType: std::string
    signature: std::string ListPriorities()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/bench/bench.cpp:89,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/bench.cpp:90,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/bench.cpp:90,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/bench.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: benchmark::StringToPriority
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::runtime_error
    - find
    - strprintf
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t StringToPriority(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: '& BenchRunner::benchmarks()'
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BenchRunner::BenchmarkMap
    signature: BenchRunner::BenchmarkMap & BenchRunner::benchmarks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchmarks
      Src: /src/bitcoin-core/src/bench/bench.cpp:102,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bench/bench.cpp:102,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/bench/bench.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - func
    - level
    argTypes:
    - std::string
    - BenchFunction
    - PriorityLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: benchmark::BenchRunner::BenchRunner
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - benchmarks
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void BenchRunner::BenchRunner(std::string name, BenchFunction func,
      PriorityLevel level)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/bench.cpp:117,1
    - Dst: setup_args::size
      Src: /src/bitcoin-core/src/bench/bench.cpp:117,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/bench.cpp:118,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/bench.cpp:118,1
    - Dst: benchmarks
      Src: /src/bitcoin-core/src/bench/bench.cpp:123,1
    - Dst: std::regex_match
      Src: /src/bitcoin-core/src/bench/bench.cpp:130,1
    - Dst: Bench::epochs
      Src: /src/bitcoin-core/src/bench/bench.cpp:141,1
    - Dst: Bench::output
      Src: /src/bitcoin-core/src/bench/bench.cpp:142,1
    - Dst: Bench::name
      Src: /src/bitcoin-core/src/bench/bench.cpp:144,1
    - Dst: Bench::minEpochTime
      Src: /src/bitcoin-core/src/bench/bench.cpp:149,1
    - Dst: Bench::epochs
      Src: /src/bitcoin-core/src/bench/bench.cpp:149,1
    - Dst: asymptote::empty
      Src: /src/bitcoin-core/src/bench/bench.cpp:152,1
    - Dst: func
      Src: /src/bitcoin-core/src/bench/bench.cpp:153,1
    - Dst: Bench::complexityN
      Src: /src/bitcoin-core/src/bench/bench.cpp:156,1
    - Dst: func
      Src: /src/bitcoin-core/src/bench/bench.cpp:157,1
    - Dst: Bench::complexityBigO
      Src: /src/bitcoin-core/src/bench/bench.cpp:159,1
    - Dst: Bench::results
      Src: /src/bitcoin-core/src/bench/bench.cpp:162,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/bench.cpp:163,1
    - Dst: Bench::results
      Src: /src/bitcoin-core/src/bench/bench.cpp:163,1
    - Dst: GenerateTemplateResults
      Src: /src/bitcoin-core/src/bench/bench.cpp:167,1
    - Dst: GenerateTemplateResults
      Src: /src/bitcoin-core/src/bench/bench.cpp:170,1
    - Dst: ankerl::nanobench::templates::json
      Src: /src/bitcoin-core/src/bench/bench.cpp:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - Args
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 171
    functionName: benchmark::BenchRunner::RunAll
    functionSourceFile: /src/bitcoin-core/src/bench/bench.cpp
    functionUses: 0
    functionsReached:
    - func
    - GenerateTemplateResults
    - std::vector::emplace_back
    - Bench::complexityBigO
    - setup_args::size
    - benchmarks
    - Bench::name
    - std::regex_match
    - std::vector::reserve
    - asymptote::empty
    - std::vector::push_back
    - ankerl::nanobench::templates::json
    - Bench::output
    - Bench::complexityN
    - Bench::epochs
    - c_str
    - Bench::minEpochTime
    - Bench::results
    linkageType: ''
    returnType: void
    signature: void BenchRunner::RunAll(const Args& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: nontrivial_t
    functionSourceFile: /src/bitcoin-core/src/bench/prevector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nontrivial_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/bench/prevector.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/bench/prevector.cpp
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(nontrivial_t, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/prevector.cpp:32,1
    - Dst: prevector::prevector
      Src: /src/bitcoin-core/src/bench/prevector.cpp:33,1
    - Dst: prevector::prevector
      Src: /src/bitcoin-core/src/bench/prevector.cpp:34,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:35,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: PrevectorDestructor
    functionSourceFile: /src/bitcoin-core/src/bench/prevector.cpp
    functionUses: 0
    functionsReached:
    - prevector::resize
    - prevector::prevector
    - batch
    linkageType: ''
    returnType: void
    signature: void PrevectorDestructor(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::prevector
      Src: /src/bitcoin-core/src/bench/prevector.cpp:43,1
    - Dst: prevector::prevector
      Src: /src/bitcoin-core/src/bench/prevector.cpp:44,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/prevector.cpp:45,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:46,1
    - Dst: prevector::clear
      Src: /src/bitcoin-core/src/bench/prevector.cpp:47,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:48,1
    - Dst: prevector::clear
      Src: /src/bitcoin-core/src/bench/prevector.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: PrevectorClear
    functionSourceFile: /src/bitcoin-core/src/bench/prevector.cpp
    functionUses: 0
    functionsReached:
    - prevector::resize
    - prevector::prevector
    - batch
    - prevector::clear
    linkageType: ''
    returnType: void
    signature: void PrevectorClear(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::prevector
      Src: /src/bitcoin-core/src/bench/prevector.cpp:56,1
    - Dst: prevector::prevector
      Src: /src/bitcoin-core/src/bench/prevector.cpp:57,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/prevector.cpp:58,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:59,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:60,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:61,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: PrevectorResize
    functionSourceFile: /src/bitcoin-core/src/bench/prevector.cpp
    functionUses: 0
    functionsReached:
    - prevector::resize
    - prevector::prevector
    - batch
    linkageType: ''
    returnType: void
    signature: void PrevectorResize(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevector::prevector
      Src: /src/bitcoin-core/src/bench/prevector.cpp:70,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:71,1
    - Dst: prevector::resize
      Src: /src/bitcoin-core/src/bench/prevector.cpp:75,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/prevector.cpp:79,1
    - Dst: prevector::prevector
      Src: /src/bitcoin-core/src/bench/prevector.cpp:80,1
    - Dst: DataStream::Rewind
      Src: /src/bitcoin-core/src/bench/prevector.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: PrevectorDeserialize
    functionSourceFile: /src/bitcoin-core/src/bench/prevector.cpp
    functionUses: 0
    functionsReached:
    - prevector::resize
    - prevector::prevector
    - batch
    - DataStream::Rewind
    linkageType: ''
    returnType: void
    signature: void PrevectorDeserialize(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/bitcoin-core/src/bench/prevector.cpp:91,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/prevector.cpp:93,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/prevector.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: PrevectorFillVectorDirect
    functionSourceFile: /src/bitcoin-core/src/bench/prevector.cpp
    functionUses: 0
    functionsReached:
    - run
    - std::vector::emplace_back
    - std::vector::reserve
    linkageType: ''
    returnType: void
    signature: void PrevectorFillVectorDirect(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/bitcoin-core/src/bench/prevector.cpp:104,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/prevector.cpp:106,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/prevector.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: PrevectorFillVectorIndirect
    functionSourceFile: /src/bitcoin-core/src/bench/prevector.cpp
    functionUses: 0
    functionsReached:
    - run
    - std::vector::emplace_back
    - std::vector::reserve
    linkageType: ''
    returnType: void
    signature: void PrevectorFillVectorIndirect(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: PREVECTOR_TEST
    functionSourceFile: /src/bitcoin-core/src/bench/prevector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREVECTOR_TEST(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/load_external.cpp:38,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/bench/load_external.cpp:42,1
    - Dst: auto::m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/bench/load_external.cpp:44,1
    - Dst: auto::MessageStart
      Src: /src/bitcoin-core/src/bench/load_external.cpp:45,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/load_external.cpp:46,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/load_external.cpp:46,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/bench/load_external.cpp:53,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/bench/load_external.cpp:55,1
    - Dst: fwrite
      Src: /src/bitcoin-core/src/bench/load_external.cpp:56,1
    - Dst: DataStream::data
      Src: /src/bitcoin-core/src/bench/load_external.cpp:56,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/bench/load_external.cpp:56,1
    - Dst: DataStream::size
      Src: /src/bitcoin-core/src/bench/load_external.cpp:56,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/load_external.cpp:57,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/bench/load_external.cpp:60,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/load_external.cpp:65,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/bench/load_external.cpp:68,1
    - Dst: auto::m_node::chainman::LoadExternalBlockFile
      Src: /src/bitcoin-core/src/bench/load_external.cpp:69,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/bench/load_external.cpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 72
    functionName: LoadExternalBlockFile
    functionSourceFile: /src/bitcoin-core/src/bench/load_external.cpp
    functionUses: 3
    functionsReached:
    - auto::m_node::chainman::GetParams
    - MakeNoLogFileContext
    - auto::MessageStart
    - DataStream::size
    - DataStream::data
    - run
    - static_cast<uint32_t>
    - auto::m_node::chainman::LoadExternalBlockFile
    - fsbridge::fopen
    - std::runtime_error
    - wallet::WalletImpl::remove
    - size
    - fwrite
    - fclose
    - auto::get
    linkageType: ''
    returnType: void
    signature: void LoadExternalBlockFile(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:23,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:24,1
    - Dst: GCSFilter::ElementSet::insert
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:25,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 29
    functionName: GenerateGCSTestElements
    functionSourceFile: /src/bitcoin-core/src/bench/gcs_filter.cpp
    functionUses: 0
    functionsReached:
    - GCSFilter::ElementSet::insert
    - static_cast<unsigned char>
    - std::move
    linkageType: ''
    returnType: GCSFilter::ElementSet
    signature: GCSFilter::ElementSet GenerateGCSTestElements()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateGCSTestElements
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:33,1
    - Dst: GCSFilter::GetEncoded
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:36,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:38,1
    - Dst: BlockFilter::GetHash
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: GCSBlockFilterGetHash
    functionSourceFile: /src/bitcoin-core/src/bench/gcs_filter.cpp
    functionUses: 0
    functionsReached:
    - BlockFilter::GetHash
    - run
    - GCSFilter::GetEncoded
    - GenerateGCSTestElements
    linkageType: ''
    returnType: void
    signature: void GCSBlockFilterGetHash(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateGCSTestElements
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:45,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: GCSFilterConstruct
    functionSourceFile: /src/bitcoin-core/src/bench/gcs_filter.cpp
    functionUses: 0
    functionsReached:
    - run
    - GenerateGCSTestElements
    linkageType: ''
    returnType: void
    signature: void GCSFilterConstruct(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateGCSTestElements
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:57,1
    - Dst: GCSFilter::GetEncoded
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:60,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: GCSFilterDecode
    functionSourceFile: /src/bitcoin-core/src/bench/gcs_filter.cpp
    functionUses: 0
    functionsReached:
    - run
    - GCSFilter::GetEncoded
    - GenerateGCSTestElements
    linkageType: ''
    returnType: void
    signature: void GCSFilterDecode(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateGCSTestElements
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:69,1
    - Dst: GCSFilter::GetEncoded
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:72,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: GCSFilterDecodeSkipCheck
    functionSourceFile: /src/bitcoin-core/src/bench/gcs_filter.cpp
    functionUses: 0
    functionsReached:
    - run
    - GCSFilter::GetEncoded
    - GenerateGCSTestElements
    linkageType: ''
    returnType: void
    signature: void GCSFilterDecodeSkipCheck(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateGCSTestElements
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:81,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:85,1
    - Dst: GCSFilter::Match
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:86,1
    - Dst: GCSFilter::Element
      Src: /src/bitcoin-core/src/bench/gcs_filter.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: GCSFilterMatch
    functionSourceFile: /src/bitcoin-core/src/bench/gcs_filter.cpp
    functionUses: 0
    functionsReached:
    - GCSFilter::Element
    - run
    - GCSFilter::Match
    - GenerateGCSTestElements
    linkageType: ''
    returnType: void
    signature: void GCSFilterMatch(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/parse_hex.cpp:19,1
    - Dst: FastRandomContext::randbits
      Src: /src/bitcoin-core/src/bench/parse_hex.cpp:20,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/bench/parse_hex.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 24
    functionName: generateHexString
    functionSourceFile: /src/bitcoin-core/src/bench/parse_hex.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - FastRandomContext::randbits
    - std::string::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string generateHexString(size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generateHexString
      Src: /src/bitcoin-core/src/bench/parse_hex.cpp:28,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/parse_hex.cpp:30,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/parse_hex.cpp:30,1
    - Dst: TryParseHex
      Src: /src/bitcoin-core/src/bench/parse_hex.cpp:31,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/parse_hex.cpp:32,1
    - Dst: ankerl::nanobench::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/parse_hex.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (result != std::nullopt)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/bench/parse_hex.cpp
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: HexParse
    functionSourceFile: /src/bitcoin-core/src/bench/parse_hex.cpp
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::doNotOptimizeAway
    - auto::size
    - batch
    - generateHexString
    - assert
    - TryParseHex
    linkageType: ''
    returnType: void
    signature: void HexParse(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/bech32.cpp:17,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/bench/bech32.cpp:17,1
    - Dst: ConvertBits
      Src: /src/bitcoin-core/src/bench/bech32.cpp:18,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/bech32.cpp:18,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/bench/bech32.cpp:18,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/bench/bech32.cpp:18,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/bech32.cpp:19,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/bench/bech32.cpp:19,1
    - Dst: bech32::Encode
      Src: /src/bitcoin-core/src/bench/bech32.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: Bech32Encode
    functionSourceFile: /src/bitcoin-core/src/bench/bech32.cpp
    functionUses: 0
    functionsReached:
    - batch
    - std::vector::reserve
    - std::vector::push_back
    - std::array::begin
    - std::array::size
    - bech32::Encode
    - std::array::end
    - ConvertBits
    linkageType: ''
    returnType: void
    signature: void Bech32Encode(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/bech32.cpp:28,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/bech32.cpp:28,1
    - Dst: bech32::Decode
      Src: /src/bitcoin-core/src/bench/bech32.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: Bech32Decode
    functionSourceFile: /src/bitcoin-core/src/bench/bech32.cpp
    functionUses: 0
    functionsReached:
    - bech32::Decode
    - std::string::size
    - batch
    linkageType: ''
    returnType: void
    signature: void Bech32Decode(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/checkblockindex.cpp:13,1
    - Dst: auto::mineBlocks
      Src: /src/bitcoin-core/src/bench/checkblockindex.cpp:15,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/checkblockindex.cpp:16,1
    - Dst: auto::m_node::chainman::CheckBlockIndex
      Src: /src/bitcoin-core/src/bench/checkblockindex.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: CheckBlockIndex
    functionSourceFile: /src/bitcoin-core/src/bench/checkblockindex.cpp
    functionUses: 6
    functionsReached:
    - MakeNoLogFileContext
    - auto::m_node::chainman::CheckBlockIndex
    - run
    - auto::mineBlocks
    linkageType: ''
    returnType: void
    signature: void CheckBlockIndex(benchmark::Bench& bench)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:27,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:28,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:31,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:31,1
    - Dst: rand256
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:31,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:33,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:33,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:33,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:35,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:38,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:38,1
    - Dst: BulkTransaction
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:39,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - num_inputs
    - target_weight
    - ' det_rand'
    argTypes:
    - unsigned int
    - int64_t
    - FastRandomContext
    assertStmts:
    - condition: (target_weight >= 40 + APPROX_WEIGHT_PER_INPUT)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (GetTransactionWeight(*MakeTransactionRef(tx)) <= target_weight)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: MakeTransactionBulkedTo
    functionSourceFile: /src/bitcoin-core/src/bench/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::resize
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - GetTransactionWeight
    - transaction_identifier::FromUint256
    - BulkTransaction
    - CMutableTransaction::vin::emplace_back
    - assert
    - rand256
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef MakeTransactionBulkedTo(unsigned int num_inputs, int64_t
      target_weight, FastRandomContext& det_rand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:47,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:49,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:49,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:50,1
    - Dst: at
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:50,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:52,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:52,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' inputs'
    - start_input
    - num_inputs
    - weight_limit
    argTypes:
    - std::vector<CTxIn>
    - unsigned int
    - unsigned int
    - int64_t
    assertStmts:
    - condition: (tx.vin.size() > 0)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: MakeTransactionSpendingUpTo
    functionSourceFile: /src/bitcoin-core/src/bench/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vin::size
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - at
    - size
    - GetTransactionWeight
    - CMutableTransaction::vin::emplace_back
    - assert
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef MakeTransactionSpendingUpTo(const std::vector<CTxIn>&
      inputs, unsigned int start_input, unsigned int num_inputs, int64_t weight_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:64,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:66,1
    - Dst: MakeTransactionBulkedTo
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:66,1
    - Dst: MakeTransactionBulkedTo
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:68,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:69,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:69,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:71,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:79,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:81,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:82,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:84,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:92,1
    - Dst: auto::TotalOrphanUsage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:92,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:92,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:93,1
    - Dst: auto::TotalLatencyScore
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:93,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:93,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:94,1
    - Dst: auto::TotalOrphanUsage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:94,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:94,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:96,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:98,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:99,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:99,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:102,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (orphanage->AddTx(tx, peer))
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (txindex < NUM_TINY_TRANSACTIONS - 1)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->TotalLatencyScore() <= orphanage->MaxGlobalLatencyScore())
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->AddTx(large_tx, peer))
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (GetTransactionWeight(*large_tx) <= MAX_STANDARD_TX_WEIGHT)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->TotalOrphanUsage() <= orphanage->MaxGlobalUsage())
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (num_evicted == MAX_STANDARD_TX_WEIGHT / TINY_TX_WEIGHT)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->TotalOrphanUsage() + TINY_TX_WEIGHT > orphanage->MaxGlobalUsage())
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    constantsTouched: []
    func_position:
      end: 109
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 109
    functionName: OrphanageSinglePeerEviction
    functionSourceFile: /src/bitcoin-core/src/bench/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - std::vector::emplace_back
    - auto::MaxGlobalLatencyScore
    - auto::MaxGlobalUsage
    - auto::CountAnnouncements
    - std::vector::reserve
    - auto::TotalLatencyScore
    - epochs
    - GetTransactionWeight
    - auto::TotalOrphanUsage
    - node::MakeTxOrphanage
    - auto::AddTx
    - assert
    - MakeTransactionBulkedTo
    linkageType: ''
    returnType: void
    signature: void OrphanageSinglePeerEviction(benchmark::Bench& bench)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:126,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:128,1
    - Dst: MakeTransactionBulkedTo
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:128,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:131,1
    - Dst: std::iota
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:132,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:132,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:132,1
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:134,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:143,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:144,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:146,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:146,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:152,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:159,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:160,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:163,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:165,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:168,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:168,1
    - Dst: auto::TotalOrphanUsage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:169,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:170,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:171,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:172,1
    - Dst: auto::TotalLatencyScore
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:172,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:172,1
    - Dst: MakeTransactionBulkedTo
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:174,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:176,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:177,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:179,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:179,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:182,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (max_usage - total_usage <= LARGE_TX_WEIGHT)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->AddTx(last_tx, 0))
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->CountAnnouncements() == NUM_PEERS * NUM_UNIQUE_TXNS)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->TotalLatencyScore() <= orphanage->MaxGlobalLatencyScore())
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (num_evicted >= (NUM_UNIQUE_TXNS - 2) * NUM_PEERS)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    constantsTouched: []
    func_position:
      end: 187
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 187
    functionName: OrphanageMultiPeerEviction
    functionSourceFile: /src/bitcoin-core/src/bench/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - std::iota
    - std::vector::end
    - std::vector::at
    - std::vector::emplace_back
    - auto::MaxGlobalLatencyScore
    - std::vector::resize
    - auto::MaxGlobalUsage
    - auto::CountAnnouncements
    - std::vector::reserve
    - std::vector::begin
    - auto::TotalLatencyScore
    - epochs
    - auto::TotalOrphanUsage
    - node::MakeTxOrphanage
    - auto::AddTx
    - assert
    - MakeTransactionBulkedTo
    linkageType: ''
    returnType: void
    signature: void OrphanageMultiPeerEviction(benchmark::Bench& bench)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node::MakeTxOrphanage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:192,1
    - Dst: MakeTransactionBulkedTo
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:196,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:197,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:198,1
    - Dst: std::min<int64_t>
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:219,1
    - Dst: MakeTransactionSpendingUpTo
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:220,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:222,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:222,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:223,1
    - Dst: auto::HaveTx
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:223,1
    - Dst: auto::GetWitnessHash
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:223,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:224,1
    - Dst: auto::AddTx
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:224,1
    - Dst: GetTransactionWeight
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:226,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:232,1
    - Dst: auto::TotalLatencyScore
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:232,1
    - Dst: auto::MaxGlobalLatencyScore
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:232,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:233,1
    - Dst: auto::TotalOrphanUsage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:233,1
    - Dst: auto::MaxGlobalUsage
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:233,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:237,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:237,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:238,1
    - Dst: auto::TotalLatencyScore
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:238,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:238,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:240,1
    - Dst: auto::EraseForBlock
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:244,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:245,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:245,1
    - Dst: auto::EraseForPeer
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:251,1
    - Dst: auto::CountAnnouncements
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - ' bench'
    - block_or_disconnect
    argTypes:
    - benchmark::Bench
    - bool
    assertStmts:
    - condition: (orphanage->TotalLatencyScore() <= orphanage->MaxGlobalLatencyScore())
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->TotalOrphanUsage() <= orphanage->MaxGlobalUsage())
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->CountAnnouncements() == 0)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (!orphanage->HaveTx(ptx->GetWitnessHash()))
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (GetTransactionWeight(*ptx) <= MAX_STANDARD_TX_WEIGHT)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->AddTx(ptx, peer))
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->CountAnnouncements() == 0)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->CountAnnouncements() == NUM_PEERS * NUM_TXNS_PER_PEER)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    - condition: (orphanage->TotalLatencyScore() == orphanage->CountAnnouncements())
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/bitcoin-core/src/bench/txorphanage.cpp
    constantsTouched: []
    func_position:
      end: 254
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 254
    functionName: OrphanageEraseAll
    functionSourceFile: /src/bitcoin-core/src/bench/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - auto::EraseForBlock
    - auto::HaveTx
    - CBlock::CBlock
    - CBlock::vtx::push_back
    - auto::MaxGlobalLatencyScore
    - auto::CountAnnouncements
    - std::min<int64_t>
    - auto::MaxGlobalUsage
    - auto::TotalLatencyScore
    - auto::TotalOrphanUsage
    - node::MakeTxOrphanage
    - assert
    - auto::GetWitnessHash
    - MakeTransactionSpendingUpTo
    - auto::EraseForPeer
    - epochs
    - GetTransactionWeight
    - auto::AddTx
    - MakeTransactionBulkedTo
    linkageType: ''
    returnType: void
    signature: void OrphanageEraseAll(benchmark::Bench& bench, bool block_or_disconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OrphanageEraseAll
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: OrphanageEraseForBlock
    functionSourceFile: /src/bitcoin-core/src/bench/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - OrphanageEraseAll
    linkageType: ''
    returnType: void
    signature: void OrphanageEraseForBlock(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OrphanageEraseAll
      Src: /src/bitcoin-core/src/bench/txorphanage.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 5
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: OrphanageEraseForPeer
    functionSourceFile: /src/bitcoin-core/src/bench/txorphanage.cpp
    functionUses: 0
    functionsReached:
    - OrphanageEraseAll
    linkageType: ''
    returnType: void
    signature: void OrphanageEraseForPeer(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:40,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:42,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:43,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:44,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:45,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:46,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:47,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:50,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:51,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:52,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:53,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:54,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:55,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:58,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:59,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:60,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:60,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:61,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:62,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:63,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:64,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:67,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:68,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:69,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:70,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:71,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:72,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:73,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:74,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:75,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:76,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:78,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:81,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:82,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:83,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:83,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:84,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:85,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:86,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:87,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:88,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:89,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:90,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:92,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:95,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:96,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:97,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:97,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:98,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:99,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:100,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:101,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:102,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:103,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:104,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:106,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:109,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:110,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:111,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:111,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:112,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:113,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:114,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:114,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:115,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:116,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:117,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:118,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:120,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:123,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:124,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:126,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:127,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:128,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:129,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:130,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:131,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:132,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:134,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:135,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:136,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:137,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:138,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:139,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:140,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:141,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:142,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:142,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:143,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/bench/mempool_eviction.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 80
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 145
    functionName: MempoolEviction
    functionSourceFile: /src/bitcoin-core/src/bench/mempool_eviction.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - AddTx
    - CMutableTransaction::vout::resize
    - TrimToSize
    - LOCK2
    - MakeTransactionRef
    - COutPoint
    - GetVirtualTransactionSize
    - CMutableTransaction::GetHash
    - CMutableTransaction
    - Assert
    - scriptWitness::stack::push_back
    - CScript
    - DynamicMemoryUsage
    - CMutableTransaction::vin::resize
    - run
    - prevout::SetNull
    linkageType: ''
    returnType: void
    signature: void MempoolEviction(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - priority_level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: BENCHMARK
    functionSourceFile: /src/bitcoin-core/src/bench/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BENCHMARK(n, priority_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/bench/merkle_root.cpp:16,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/bench/merkle_root.cpp:18,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/merkle_root.cpp:20,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/merkle_root.cpp:20,1
    - Dst: ComputeMerkleRoot
      Src: /src/bitcoin-core/src/bench/merkle_root.cpp:22,1
    - Dst: std::vector<uint256>
      Src: /src/bitcoin-core/src/bench/merkle_root.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: MerkleRoot
    functionSourceFile: /src/bitcoin-core/src/bench/merkle_root.cpp
    functionUses: 36
    functionsReached:
    - FastRandomContext::rand256
    - batch
    - std::vector::resize
    - ComputeMerkleRoot
    - std::vector<uint256>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void MerkleRoot(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/bitcoin-core/src/bench/rollingbloom.cpp:19,1
    - Dst: WriteLE32
      Src: /src/bitcoin-core/src/bench/rollingbloom.cpp:21,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/rollingbloom.cpp:21,1
    - Dst: CRollingBloomFilter::insert
      Src: /src/bitcoin-core/src/bench/rollingbloom.cpp:22,1
    - Dst: WriteBE32
      Src: /src/bitcoin-core/src/bench/rollingbloom.cpp:24,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/rollingbloom.cpp:24,1
    - Dst: CRollingBloomFilter::contains
      Src: /src/bitcoin-core/src/bench/rollingbloom.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 27
    functionName: RollingBloom
    functionSourceFile: /src/bitcoin-core/src/bench/rollingbloom.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - CRollingBloomFilter::insert
    - WriteLE32
    - CRollingBloomFilter::contains
    - run
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void RollingBloom(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/bitcoin-core/src/bench/rollingbloom.cpp:32,1
    - Dst: CRollingBloomFilter::reset
      Src: /src/bitcoin-core/src/bench/rollingbloom.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: RollingBloomReset
    functionSourceFile: /src/bitcoin-core/src/bench/rollingbloom.cpp
    functionUses: 0
    functionsReached:
    - run
    - CRollingBloomFilter::reset
    linkageType: ''
    returnType: void
    signature: void RollingBloomReset(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupDummyInputs
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:32,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:34,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:35,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:36,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:38,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:39,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:41,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:41,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:42,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:44,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:44,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:45,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:51,1
    - Dst: AreInputsStandard
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:52,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/ccoins_caching.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (success)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bitcoin-core/src/bench/ccoins_caching.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 55
    functionName: CCoinsCaching
    functionSourceFile: /src/bitcoin-core/src/bench/ccoins_caching.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - CMutableTransaction::vout::resize
    - AreInputsStandard
    - CMutableTransaction::CMutableTransaction
    - GetHash
    - SetupDummyInputs
    - assert
    - CMutableTransaction::vin::resize
    - run
    linkageType: ''
    returnType: void
    signature: void CCoinsCaching(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ANKERL_NANOBENCH
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: ANKERL_NANOBENCH_PRIVATE_CXX
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_CXX()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: ANKERL_NANOBENCH_PRIVATE_CXX98
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_CXX98()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: ANKERL_NANOBENCH_PRIVATE_CXX11
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_CXX11()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: ANKERL_NANOBENCH_PRIVATE_CXX14
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_CXX14()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: ANKERL_NANOBENCH_PRIVATE_CXX17
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_CXX17()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: ANKERL_NANOBENCH_PRIVATE_NODISCARD
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_NODISCARD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: ANKERL_NANOBENCH_PRIVATE_IGNORE_PADDED_PUSH
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_IGNORE_PADDED_PUSH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: ANKERL_NANOBENCH_PRIVATE_IGNORE_PADDED_POP
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_IGNORE_PADDED_POP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: ANKERL_NANOBENCH_PRIVATE_IGNORE_EFFCPP_PUSH
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_IGNORE_EFFCPP_PUSH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: ANKERL_NANOBENCH_PRIVATE_IGNORE_EFFCPP_POP
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_IGNORE_EFFCPP_POP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: ANKERL_NANOBENCH_LOG
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_LOG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ANKERL_NANOBENCH_LOG
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_LOG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: ANKERL_NANOBENCH_PRIVATE_PERF_COUNTERS
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_PERF_COUNTERS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: ANKERL_NANOBENCH_PRIVATE_PERF_COUNTERS
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_PERF_COUNTERS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: ANKERL_NANOBENCH_NO_SANITIZE
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_NO_SANITIZE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ANKERL_NANOBENCH_PRIVATE_NOINLINE
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_NOINLINE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ANKERL_NANOBENCH_PRIVATE_NOINLINE
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_NOINLINE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: ANKERL_NANOBENCH_IS_TRIVIALLY_COPYABLE
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_IS_TRIVIALLY_COPYABLE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: ANKERL_NANOBENCH_IS_TRIVIALLY_COPYABLE
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_IS_TRIVIALLY_COPYABLE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: ANKERL_NANOBENCH_PRIVATE_NOEXCEPT_STRING_MOVE
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANKERL_NANOBENCH_PRIVATE_NOEXCEPT_STRING_MOVE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng(Rng const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: '& operator=(Rng const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng & operator=(Rng const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng(Rng&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: '& operator=(Rng&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng & operator=(Rng&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: ~Rng() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Rng() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1063
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1064
    functionName: '& operator=(IterationLogic&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: '& operator=(IterationLogic const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: '& operator=(PerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: '& operator=(PerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1063
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1064
    functionName: '& operator=(IterationLogic&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: '& operator=(IterationLogic const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: '& operator=(PerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: '& operator=(PerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - op
    argTypes:
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: ankerl::nanobench::BigO::mapRangeMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - op
    linkageType: ''
    returnType: RangeMeasure
    signature: RangeMeasure mapRangeMeasure(RangeMeasure data, Op op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::BigO::mapRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bigOName
    - ' rangeMeasure'
    - rangeToN
    argTypes:
    - char*
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1127
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::mapRangeMeasure
    linkageType: ''
    returnType: void
    signature: void BigO(char const* bigOName, RangeMeasure const& rangeMeasure, Op
      rangeToN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:1131,1
    - Dst: ankerl::nanobench::BigO::mapRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bigOName
    - ' rangeMeasure'
    - rangeToN
    argTypes:
    - std::string
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1131
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::mapRangeMeasure
    - std::move
    linkageType: ''
    returnType: void
    signature: void BigO(std::string bigOName, RangeMeasure const& rangeMeasure, Op
      rangeToN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng(Rng const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: '& operator=(Rng const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng & operator=(Rng const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng(Rng&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: '& operator=(Rng&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng & operator=(Rng&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: ~Rng() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Rng() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1063
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1064
    functionName: '& operator=(IterationLogic&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: '& operator=(IterationLogic const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: '& operator=(PerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: '& operator=(PerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1063
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1064
    functionName: '& operator=(IterationLogic&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: '& operator=(IterationLogic const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: '& operator=(PerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: '& operator=(PerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - op
    argTypes:
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: ankerl::nanobench::BigO::mapRangeMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - op
    linkageType: ''
    returnType: RangeMeasure
    signature: RangeMeasure mapRangeMeasure(RangeMeasure data, Op op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::BigO::mapRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bigOName
    - ' rangeMeasure'
    - rangeToN
    argTypes:
    - char*
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1127
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::mapRangeMeasure
    linkageType: ''
    returnType: void
    signature: void BigO(char const* bigOName, RangeMeasure const& rangeMeasure, Op
      rangeToN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:1131,1
    - Dst: ankerl::nanobench::BigO::mapRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bigOName
    - ' rangeMeasure'
    - rangeToN
    argTypes:
    - std::string
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1131
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::mapRangeMeasure
    - std::move
    linkageType: ''
    returnType: void
    signature: void BigO(std::string bigOName, RangeMeasure const& rangeMeasure, Op
      rangeToN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng(Rng const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: '& operator=(Rng const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng & operator=(Rng const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng(Rng&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: '& operator=(Rng&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng & operator=(Rng&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: ~Rng() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Rng() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1063
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1064
    functionName: '& operator=(IterationLogic&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: '& operator=(IterationLogic const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: '& operator=(PerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: '& operator=(PerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1063
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1064
    functionName: '& operator=(IterationLogic&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: '& operator=(IterationLogic const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: '& operator=(PerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: '& operator=(PerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - op
    argTypes:
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: ankerl::nanobench::BigO::mapRangeMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - op
    linkageType: ''
    returnType: RangeMeasure
    signature: RangeMeasure mapRangeMeasure(RangeMeasure data, Op op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::BigO::mapRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bigOName
    - ' rangeMeasure'
    - rangeToN
    argTypes:
    - char*
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1127
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::mapRangeMeasure
    linkageType: ''
    returnType: void
    signature: void BigO(char const* bigOName, RangeMeasure const& rangeMeasure, Op
      rangeToN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:1131,1
    - Dst: ankerl::nanobench::BigO::mapRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bigOName
    - ' rangeMeasure'
    - rangeToN
    argTypes:
    - std::string
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1131
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::mapRangeMeasure
    - std::move
    linkageType: ''
    returnType: void
    signature: void BigO(std::string bigOName, RangeMeasure const& rangeMeasure, Op
      rangeToN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng(Rng const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: '& operator=(Rng const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng & operator=(Rng const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng(Rng&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: '& operator=(Rng&&) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng & operator=(Rng&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: ~Rng() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Rng() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1063
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1064
    functionName: '& operator=(IterationLogic&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: '& operator=(IterationLogic const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: '& operator=(PerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: '& operator=(PerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1063
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1064
    functionName: '& operator=(IterationLogic&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: '& operator=(IterationLogic const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterationLogic
    signature: IterationLogic & operator=(IterationLogic const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: '& operator=(PerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: '& operator=(PerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & operator=(PerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - op
    argTypes:
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: ankerl::nanobench::BigO::mapRangeMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - op
    linkageType: ''
    returnType: RangeMeasure
    signature: RangeMeasure mapRangeMeasure(RangeMeasure data, Op op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::BigO::mapRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bigOName
    - ' rangeMeasure'
    - rangeToN
    argTypes:
    - char*
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1127
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::mapRangeMeasure
    linkageType: ''
    returnType: void
    signature: void BigO(char const* bigOName, RangeMeasure const& rangeMeasure, Op
      rangeToN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:1131,1
    - Dst: ankerl::nanobench::BigO::mapRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bigOName
    - ' rangeMeasure'
    - rangeToN
    argTypes:
    - std::string
    - RangeMeasure
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1131
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::mapRangeMeasure
    - std::move
    linkageType: ''
    returnType: void
    signature: void BigO(std::string bigOName, RangeMeasure const& rangeMeasure, Op
      rangeToN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: (Rng::min)()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t (Rng::min)()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1162
    functionName: (Rng::max)()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t (Rng::max)()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:1168,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/bench/nanobench.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1172
    functionName: Rng::operator()() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    - rotl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rng::operator()() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1176,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1176,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: ankerl::nanobench::Rng::bounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - operator
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Rng::bounded(uint32_t range) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:1182,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1182,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/bench/nanobench.h:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1188
    functionName: ankerl::nanobench::Rng::uniform01
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - operator
    - UINT64_C
    - std::memcpy
    linkageType: ''
    returnType: double
    signature: double Rng::uniform01() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1192,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1195,1
    - Dst: static_cast<decltype(i)>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/nanobench.h:1198,1
    - Dst: static_cast<decltype(i)>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1200,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1200,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/nanobench.h:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - Container
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1203
    functionName: ankerl::nanobench::Rng::shuffle
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - operator
    - static_cast<uint32_t>
    - size
    - swap
    - static_cast<decltype(i)>
    linkageType: ''
    returnType: void
    signature: void Rng::shuffle(Container& container) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - uint64_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1208
    functionName: ankerl::nanobench::Rng::rotl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rng::rotl(uint64_t x, unsigned k) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1215,1
    - Dst: detail::IterationLogic::numIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1217,1
    - Dst: beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1218,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:1219,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:1221,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:1223,1
    - Dst: endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1224,1
    - Dst: updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:1225,1
    - Dst: detail::IterationLogic::numIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1225,1
    - Dst: detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:1226,1
    - Dst: detail::IterationLogic::moveResultTo
      Src: /src/bitcoin-core/src/bench/nanobench.h:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1230
    functionName: '& Bench::run(Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - detail::IterationLogic::add
    - beginMeasure
    - ankerl::nanobench::detail::performanceCounters
    - detail::IterationLogic::numIters
    - op
    - detail::IterationLogic::moveResultTo
    - endMeasure
    - NodeClock::now
    - updateResults
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:1235,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/nanobench.h:1236,1
    - Dst: std::forward<Op>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - benchmarkName
    - ' op'
    argTypes:
    - char*
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1237
    functionName: '& Bench::run(char const* benchmarkName, Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - run
    - name
    - std::forward<Op>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(char const* benchmarkName, Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:1241,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/nanobench.h:1242,1
    - Dst: std::forward<Op>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' benchmarkName'
    - ' op'
    argTypes:
    - std::string
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: '& Bench::run(std::string const& benchmarkName, Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - run
    - name
    - std::forward<Op>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(std::string const& benchmarkName, Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigO
      Src: /src/bitcoin-core/src/bench/nanobench.h:1247,1
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - benchmarkName
    - op
    argTypes:
    - char*
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1248
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::collectRangeMeasure
    - BigO
    linkageType: ''
    returnType: BigO
    signature: BigO Bench::complexityBigO(char const* benchmarkName, Op op) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigO
      Src: /src/bitcoin-core/src/bench/nanobench.h:1252,1
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' benchmarkName'
    - op
    argTypes:
    - std::string
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1253
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::collectRangeMeasure
    - BigO
    linkageType: ''
    returnType: BigO
    signature: BigO Bench::complexityBigO(std::string const& benchmarkName, Op op)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: '& Bench::batch(T b) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::batch(T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: '& Bench::complexityN(T n) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::complexityN(T n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:1273,1
    - Dst: std::forward<Arg>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1275
    functionName: '& Bench::doNotOptimizeAway(Arg&& arg)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAway
    - std::forward<Arg>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::doNotOptimizeAway(Arg&& arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:1280,1
    - Dst: std::forward<Arg>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1281
    functionName: ankerl::nanobench::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAway
    - std::forward<Arg>
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(Arg&& arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAwaySink
      Src: /src/bitcoin-core/src/bench/nanobench.h:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAwaySink
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAwaySink
      Src: /src/bitcoin-core/src/bench/nanobench.h:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAwaySink
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: (Rng::min)()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t (Rng::min)()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1162
    functionName: (Rng::max)()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t (Rng::max)()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:1168,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/bench/nanobench.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1172
    functionName: Rng::operator()() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    - rotl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rng::operator()() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1176,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1176,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: ankerl::nanobench::Rng::bounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - operator
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Rng::bounded(uint32_t range) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:1182,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1182,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/bench/nanobench.h:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1188
    functionName: ankerl::nanobench::Rng::uniform01
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - operator
    - UINT64_C
    - std::memcpy
    linkageType: ''
    returnType: double
    signature: double Rng::uniform01() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1192,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1195,1
    - Dst: static_cast<decltype(i)>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/nanobench.h:1198,1
    - Dst: static_cast<decltype(i)>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1200,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1200,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/nanobench.h:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - Container
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1203
    functionName: ankerl::nanobench::Rng::shuffle
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - operator
    - static_cast<uint32_t>
    - size
    - swap
    - static_cast<decltype(i)>
    linkageType: ''
    returnType: void
    signature: void Rng::shuffle(Container& container) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - uint64_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1208
    functionName: ankerl::nanobench::Rng::rotl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rng::rotl(uint64_t x, unsigned k) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1215,1
    - Dst: detail::IterationLogic::numIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1217,1
    - Dst: beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1218,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:1219,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:1221,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:1223,1
    - Dst: endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1224,1
    - Dst: updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:1225,1
    - Dst: detail::IterationLogic::numIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1225,1
    - Dst: detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:1226,1
    - Dst: detail::IterationLogic::moveResultTo
      Src: /src/bitcoin-core/src/bench/nanobench.h:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1230
    functionName: '& Bench::run(Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - detail::IterationLogic::add
    - beginMeasure
    - ankerl::nanobench::detail::performanceCounters
    - detail::IterationLogic::numIters
    - op
    - detail::IterationLogic::moveResultTo
    - endMeasure
    - NodeClock::now
    - updateResults
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:1235,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/nanobench.h:1236,1
    - Dst: std::forward<Op>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - benchmarkName
    - ' op'
    argTypes:
    - char*
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1237
    functionName: '& Bench::run(char const* benchmarkName, Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - run
    - name
    - std::forward<Op>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(char const* benchmarkName, Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:1241,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/nanobench.h:1242,1
    - Dst: std::forward<Op>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' benchmarkName'
    - ' op'
    argTypes:
    - std::string
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: '& Bench::run(std::string const& benchmarkName, Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - run
    - name
    - std::forward<Op>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(std::string const& benchmarkName, Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigO
      Src: /src/bitcoin-core/src/bench/nanobench.h:1247,1
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - benchmarkName
    - op
    argTypes:
    - char*
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1248
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::collectRangeMeasure
    - BigO
    linkageType: ''
    returnType: BigO
    signature: BigO Bench::complexityBigO(char const* benchmarkName, Op op) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigO
      Src: /src/bitcoin-core/src/bench/nanobench.h:1252,1
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' benchmarkName'
    - op
    argTypes:
    - std::string
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1253
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::collectRangeMeasure
    - BigO
    linkageType: ''
    returnType: BigO
    signature: BigO Bench::complexityBigO(std::string const& benchmarkName, Op op)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: '& Bench::batch(T b) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::batch(T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: '& Bench::complexityN(T n) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::complexityN(T n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:1273,1
    - Dst: std::forward<Arg>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1275
    functionName: '& Bench::doNotOptimizeAway(Arg&& arg)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAway
    - std::forward<Arg>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::doNotOptimizeAway(Arg&& arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:1280,1
    - Dst: std::forward<Arg>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1281
    functionName: ankerl::nanobench::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAway
    - std::forward<Arg>
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(Arg&& arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAwaySink
      Src: /src/bitcoin-core/src/bench/nanobench.h:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAwaySink
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAwaySink
      Src: /src/bitcoin-core/src/bench/nanobench.h:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAwaySink
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: (Rng::min)()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t (Rng::min)()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1162
    functionName: (Rng::max)()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t (Rng::max)()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:1168,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/bench/nanobench.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1172
    functionName: Rng::operator()() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    - rotl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rng::operator()() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1176,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1176,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: ankerl::nanobench::Rng::bounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - operator
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Rng::bounded(uint32_t range) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:1182,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1182,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/bench/nanobench.h:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1188
    functionName: ankerl::nanobench::Rng::uniform01
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - operator
    - UINT64_C
    - std::memcpy
    linkageType: ''
    returnType: double
    signature: double Rng::uniform01() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1192,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1195,1
    - Dst: static_cast<decltype(i)>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/nanobench.h:1198,1
    - Dst: static_cast<decltype(i)>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1200,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1200,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/nanobench.h:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - Container
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1203
    functionName: ankerl::nanobench::Rng::shuffle
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - operator
    - static_cast<uint32_t>
    - size
    - swap
    - static_cast<decltype(i)>
    linkageType: ''
    returnType: void
    signature: void Rng::shuffle(Container& container) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - uint64_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1208
    functionName: ankerl::nanobench::Rng::rotl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rng::rotl(uint64_t x, unsigned k) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1215,1
    - Dst: detail::IterationLogic::numIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1217,1
    - Dst: beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1218,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:1219,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:1221,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:1223,1
    - Dst: endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1224,1
    - Dst: updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:1225,1
    - Dst: detail::IterationLogic::numIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1225,1
    - Dst: detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:1226,1
    - Dst: detail::IterationLogic::moveResultTo
      Src: /src/bitcoin-core/src/bench/nanobench.h:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1230
    functionName: '& Bench::run(Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - detail::IterationLogic::add
    - beginMeasure
    - ankerl::nanobench::detail::performanceCounters
    - detail::IterationLogic::numIters
    - op
    - detail::IterationLogic::moveResultTo
    - endMeasure
    - NodeClock::now
    - updateResults
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:1235,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/nanobench.h:1236,1
    - Dst: std::forward<Op>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - benchmarkName
    - ' op'
    argTypes:
    - char*
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1237
    functionName: '& Bench::run(char const* benchmarkName, Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - run
    - name
    - std::forward<Op>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(char const* benchmarkName, Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:1241,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/nanobench.h:1242,1
    - Dst: std::forward<Op>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' benchmarkName'
    - ' op'
    argTypes:
    - std::string
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: '& Bench::run(std::string const& benchmarkName, Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - run
    - name
    - std::forward<Op>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(std::string const& benchmarkName, Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigO
      Src: /src/bitcoin-core/src/bench/nanobench.h:1247,1
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - benchmarkName
    - op
    argTypes:
    - char*
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1248
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::collectRangeMeasure
    - BigO
    linkageType: ''
    returnType: BigO
    signature: BigO Bench::complexityBigO(char const* benchmarkName, Op op) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigO
      Src: /src/bitcoin-core/src/bench/nanobench.h:1252,1
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' benchmarkName'
    - op
    argTypes:
    - std::string
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1253
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::collectRangeMeasure
    - BigO
    linkageType: ''
    returnType: BigO
    signature: BigO Bench::complexityBigO(std::string const& benchmarkName, Op op)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: '& Bench::batch(T b) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::batch(T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: '& Bench::complexityN(T n) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::complexityN(T n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:1273,1
    - Dst: std::forward<Arg>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1275
    functionName: '& Bench::doNotOptimizeAway(Arg&& arg)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAway
    - std::forward<Arg>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::doNotOptimizeAway(Arg&& arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:1280,1
    - Dst: std::forward<Arg>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1281
    functionName: ankerl::nanobench::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAway
    - std::forward<Arg>
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(Arg&& arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAwaySink
      Src: /src/bitcoin-core/src/bench/nanobench.h:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAwaySink
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAwaySink
      Src: /src/bitcoin-core/src/bench/nanobench.h:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAwaySink
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: (Rng::min)()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t (Rng::min)()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1162
    functionName: (Rng::max)()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t (Rng::max)()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:1168,1
    - Dst: rotl
      Src: /src/bitcoin-core/src/bench/nanobench.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1172
    functionName: Rng::operator()() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    - rotl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rng::operator()() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1176,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1176,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: ankerl::nanobench::Rng::bounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - operator
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Rng::bounded(uint32_t range) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:1182,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1182,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/bench/nanobench.h:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1188
    functionName: ankerl::nanobench::Rng::uniform01
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - operator
    - UINT64_C
    - std::memcpy
    linkageType: ''
    returnType: double
    signature: double Rng::uniform01() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1192,1
    - Dst: operator
      Src: /src/bitcoin-core/src/bench/nanobench.h:1195,1
    - Dst: static_cast<decltype(i)>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1197,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/nanobench.h:1198,1
    - Dst: static_cast<decltype(i)>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1200,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1200,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/nanobench.h:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - Container
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1203
    functionName: ankerl::nanobench::Rng::shuffle
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - operator
    - static_cast<uint32_t>
    - size
    - swap
    - static_cast<decltype(i)>
    linkageType: ''
    returnType: void
    signature: void Rng::shuffle(Container& container) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - uint64_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1208
    functionName: ankerl::nanobench::Rng::rotl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rng::rotl(uint64_t x, unsigned k) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1215,1
    - Dst: detail::IterationLogic::numIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1217,1
    - Dst: beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1218,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:1219,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:1221,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:1223,1
    - Dst: endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1224,1
    - Dst: updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:1225,1
    - Dst: detail::IterationLogic::numIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:1225,1
    - Dst: detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:1226,1
    - Dst: detail::IterationLogic::moveResultTo
      Src: /src/bitcoin-core/src/bench/nanobench.h:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1230
    functionName: '& Bench::run(Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - detail::IterationLogic::add
    - beginMeasure
    - ankerl::nanobench::detail::performanceCounters
    - detail::IterationLogic::numIters
    - op
    - detail::IterationLogic::moveResultTo
    - endMeasure
    - NodeClock::now
    - updateResults
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:1235,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/nanobench.h:1236,1
    - Dst: std::forward<Op>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - benchmarkName
    - ' op'
    argTypes:
    - char*
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1237
    functionName: '& Bench::run(char const* benchmarkName, Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - run
    - name
    - std::forward<Op>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(char const* benchmarkName, Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:1241,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/nanobench.h:1242,1
    - Dst: std::forward<Op>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' benchmarkName'
    - ' op'
    argTypes:
    - std::string
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: '& Bench::run(std::string const& benchmarkName, Op&& op)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - run
    - name
    - std::forward<Op>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::run(std::string const& benchmarkName, Op&& op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigO
      Src: /src/bitcoin-core/src/bench/nanobench.h:1247,1
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - benchmarkName
    - op
    argTypes:
    - char*
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1248
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::collectRangeMeasure
    - BigO
    linkageType: ''
    returnType: BigO
    signature: BigO Bench::complexityBigO(char const* benchmarkName, Op op) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigO
      Src: /src/bitcoin-core/src/bench/nanobench.h:1252,1
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' benchmarkName'
    - op
    argTypes:
    - std::string
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1253
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::BigO::collectRangeMeasure
    - BigO
    linkageType: ''
    returnType: BigO
    signature: BigO Bench::complexityBigO(std::string const& benchmarkName, Op op)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: '& Bench::batch(T b) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::batch(T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: '& Bench::complexityN(T n) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::complexityN(T n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:1273,1
    - Dst: std::forward<Arg>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1275
    functionName: '& Bench::doNotOptimizeAway(Arg&& arg)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAway
    - std::forward<Arg>
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::doNotOptimizeAway(Arg&& arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:1280,1
    - Dst: std::forward<Arg>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1281
    functionName: ankerl::nanobench::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAway
    - std::forward<Arg>
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(Arg&& arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAwaySink
      Src: /src/bitcoin-core/src/bench/nanobench.h:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAwaySink
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::doNotOptimizeAwaySink
      Src: /src/bitcoin-core/src/bench/nanobench.h:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: ankerl::nanobench::detail::doNotOptimizeAway
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::detail::doNotOptimizeAwaySink
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAway(T const& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1363
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double d(T t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::duration<double>>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1366
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::duration<double>>
    linkageType: ''
    returnType: double
    signature: double d(Clock::duration duration) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1363
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double d(T t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::duration<double>>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1366
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::duration<double>>
    linkageType: ''
    returnType: double
    signature: double d(Clock::duration duration) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1379
    functionName: ankerl::nanobench::templates::csv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * csv() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1406
    functionName: ankerl::nanobench::templates::htmlBoxplot
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * htmlBoxplot() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1430
    functionName: ankerl::nanobench::templates::pyperf
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * pyperf() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1475
    functionName: ankerl::nanobench::templates::json
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: operator==(char const (&str)[N]) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::distance
    - static_cast<size_t>
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(char const (&str)[N]) const noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1500,1
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1505,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::strlen
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1516,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - tpl
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1541
    functionName: ankerl::nanobench::templates::parseMustacheTemplate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - std::strstr
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::vector::emplace_back
    - std::strlen
    linkageType: ''
    returnType: std::vector<Node>
    signature: std::vector<Node> parseMustacheTemplate(char const** tpl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - idx
    - size
    - ' out'
    argTypes:
    - Node
    - size_t
    - size_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: ankerl::nanobench::templates::generateFirstLast
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ANKERL_NANOBENCH_LOG
    - write
    - std::distance
    linkageType: ''
    returnType: bool
    signature: bool generateFirstLast(Node const& n, size_t idx, size_t size, std::ostream&
      out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:1569,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1570,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1571,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1579,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1587,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' str'
    - ' matchResult'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1594
    functionName: ankerl::nanobench::templates::matchCmdArgs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - substr
    - back
    - clear
    - emplace_back
    - find
    linkageType: ''
    returnType: bool
    signature: bool matchCmdArgs(std::string const& str, std::vector<std::string>&
      matchResult)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1632,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - ' n'
    - ' config'
    - ' out'
    argTypes:
    - Node
    - Config
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1656
    functionName: ankerl::nanobench::templates::generateConfigTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::clockResolution
    - d
    linkageType: ''
    returnType: bool
    signature: bool generateConfigTag(Node const& n, Config const& config, std::ostream&
      out)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: ankerl::nanobench::templates::matchCmdArgs
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1670,1
    - Dst: context
      Src: /src/bitcoin-core/src/bench/nanobench.h:1672,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1675,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:1681,1
    - Dst: average
      Src: /src/bitcoin-core/src/bench/nanobench.h:1684,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:1687,1
    - Dst: sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1690,1
    - Dst: minimum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1693,1
    - Dst: maximum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1696,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1698,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1699,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1700,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:1706,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - ' n'
    - ' r'
    - ' out'
    argTypes:
    - Node
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1716
    functionName: ankerl::nanobench::templates::generateResultTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - maximum
    - context
    - ankerl::nanobench::Result::fromString
    - medianAbsolutePercentError
    - average
    - sumProduct
    - std::runtime_error
    - std::string
    - ankerl::nanobench::templates::matchCmdArgs
    - minimum
    - median
    - sum
    - config
    - std::vector::size
    - ankerl::nanobench::templates::generateConfigTag
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & generateResultTag(Node const& n, Result const& r, std::ostream&
      out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1728,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1731,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:1735,1
    - Dst: get
      Src: /src/bitcoin-core/src/bench/nanobench.h:1738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' r'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1745
    functionName: ankerl::nanobench::templates::generateResultMeasurement
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::Result::fromString
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - std::string
    - has
    - get
    linkageType: ''
    returnType: void
    signature: void generateResultMeasurement(std::vector<Node> const& nodes, size_t
      idx, Result const& r, std::ostream& out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1758,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1762,1
    - Dst: ankerl::nanobench::templates::generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1763,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1766,1
    - Dst: ankerl::nanobench::templates::generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' results'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1776
    functionName: ankerl::nanobench::templates::generateResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - ankerl::nanobench::templates::generateResultTag
    - ankerl::nanobench::templates::generateResultMeasurement
    linkageType: ''
    returnType: void
    signature: void generateResult(std::vector<Node> const& nodes, size_t idx, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1379
    functionName: ankerl::nanobench::templates::csv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * csv() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1406
    functionName: ankerl::nanobench::templates::htmlBoxplot
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * htmlBoxplot() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1430
    functionName: ankerl::nanobench::templates::pyperf
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * pyperf() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1475
    functionName: ankerl::nanobench::templates::json
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: operator==(char const (&str)[N]) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::distance
    - static_cast<size_t>
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(char const (&str)[N]) const noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1500,1
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1505,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::strlen
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1516,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - tpl
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1541
    functionName: ankerl::nanobench::templates::parseMustacheTemplate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - std::strstr
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::vector::emplace_back
    - std::strlen
    linkageType: ''
    returnType: std::vector<Node>
    signature: std::vector<Node> parseMustacheTemplate(char const** tpl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - idx
    - size
    - ' out'
    argTypes:
    - Node
    - size_t
    - size_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: ankerl::nanobench::templates::generateFirstLast
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - ANKERL_NANOBENCH_LOG
    - write
    - std::distance
    linkageType: ''
    returnType: bool
    signature: bool generateFirstLast(Node const& n, size_t idx, size_t size, std::ostream&
      out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:1569,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1570,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1571,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1579,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1587,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' str'
    - ' matchResult'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1594
    functionName: ankerl::nanobench::templates::matchCmdArgs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - substr
    - back
    - clear
    - emplace_back
    - find
    linkageType: ''
    returnType: bool
    signature: bool matchCmdArgs(std::string const& str, std::vector<std::string>&
      matchResult)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1632,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - ' n'
    - ' config'
    - ' out'
    argTypes:
    - Node
    - Config
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1656
    functionName: ankerl::nanobench::templates::generateConfigTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::clockResolution
    - d
    linkageType: ''
    returnType: bool
    signature: bool generateConfigTag(Node const& n, Config const& config, std::ostream&
      out)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: ankerl::nanobench::templates::matchCmdArgs
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1670,1
    - Dst: context
      Src: /src/bitcoin-core/src/bench/nanobench.h:1672,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1675,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:1681,1
    - Dst: average
      Src: /src/bitcoin-core/src/bench/nanobench.h:1684,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:1687,1
    - Dst: sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1690,1
    - Dst: minimum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1693,1
    - Dst: maximum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1696,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1698,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1699,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1700,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:1706,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - ' n'
    - ' r'
    - ' out'
    argTypes:
    - Node
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1716
    functionName: ankerl::nanobench::templates::generateResultTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - maximum
    - context
    - ankerl::nanobench::Result::fromString
    - medianAbsolutePercentError
    - average
    - sumProduct
    - std::runtime_error
    - std::string
    - ankerl::nanobench::templates::matchCmdArgs
    - minimum
    - median
    - sum
    - config
    - std::vector::size
    - ankerl::nanobench::templates::generateConfigTag
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & generateResultTag(Node const& n, Result const& r, std::ostream&
      out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1728,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1731,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:1735,1
    - Dst: get
      Src: /src/bitcoin-core/src/bench/nanobench.h:1738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' r'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1745
    functionName: ankerl::nanobench::templates::generateResultMeasurement
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::Result::fromString
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - std::string
    - has
    - get
    linkageType: ''
    returnType: void
    signature: void generateResultMeasurement(std::vector<Node> const& nodes, size_t
      idx, Result const& r, std::ostream& out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1758,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1762,1
    - Dst: ankerl::nanobench::templates::generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1763,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1766,1
    - Dst: ankerl::nanobench::templates::generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' results'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1776
    functionName: ankerl::nanobench::templates::generateResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - ankerl::nanobench::templates::generateResultTag
    - ankerl::nanobench::templates::generateResultMeasurement
    linkageType: ''
    returnType: void
    signature: void generateResult(std::vector<Node> const& nodes, size_t idx, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1363
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double d(T t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::duration<double>>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1366
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::duration<double>>
    linkageType: ''
    returnType: double
    signature: double d(Clock::duration duration) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1363
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double d(T t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::duration<double>>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1366
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::duration<double>>
    linkageType: ''
    returnType: double
    signature: double d(Clock::duration duration) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1379
    functionName: ankerl::nanobench::templates::csv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * csv() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1406
    functionName: ankerl::nanobench::templates::htmlBoxplot
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * htmlBoxplot() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1430
    functionName: ankerl::nanobench::templates::pyperf
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * pyperf() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1475
    functionName: ankerl::nanobench::templates::json
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: operator==(char const (&str)[N]) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::distance
    - static_cast<size_t>
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(char const (&str)[N]) const noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1500,1
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1505,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::strlen
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1516,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - tpl
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1541
    functionName: ankerl::nanobench::templates::parseMustacheTemplate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - std::strstr
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::vector::emplace_back
    - std::strlen
    linkageType: ''
    returnType: std::vector<Node>
    signature: std::vector<Node> parseMustacheTemplate(char const** tpl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - idx
    - size
    - ' out'
    argTypes:
    - Node
    - size_t
    - size_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: ankerl::nanobench::templates::generateFirstLast
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - ANKERL_NANOBENCH_LOG
    - write
    - std::distance
    linkageType: ''
    returnType: bool
    signature: bool generateFirstLast(Node const& n, size_t idx, size_t size, std::ostream&
      out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:1569,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1570,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1571,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1579,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1587,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' str'
    - ' matchResult'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1594
    functionName: ankerl::nanobench::templates::matchCmdArgs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - substr
    - back
    - clear
    - emplace_back
    - find
    linkageType: ''
    returnType: bool
    signature: bool matchCmdArgs(std::string const& str, std::vector<std::string>&
      matchResult)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1632,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - ' n'
    - ' config'
    - ' out'
    argTypes:
    - Node
    - Config
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1656
    functionName: ankerl::nanobench::templates::generateConfigTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::clockResolution
    - d
    linkageType: ''
    returnType: bool
    signature: bool generateConfigTag(Node const& n, Config const& config, std::ostream&
      out)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: ankerl::nanobench::templates::matchCmdArgs
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1670,1
    - Dst: context
      Src: /src/bitcoin-core/src/bench/nanobench.h:1672,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1675,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:1681,1
    - Dst: average
      Src: /src/bitcoin-core/src/bench/nanobench.h:1684,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:1687,1
    - Dst: sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1690,1
    - Dst: minimum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1693,1
    - Dst: maximum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1696,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1698,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1699,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1700,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:1706,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - ' n'
    - ' r'
    - ' out'
    argTypes:
    - Node
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1716
    functionName: ankerl::nanobench::templates::generateResultTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - maximum
    - context
    - ankerl::nanobench::Result::fromString
    - medianAbsolutePercentError
    - average
    - sumProduct
    - std::runtime_error
    - std::string
    - ankerl::nanobench::templates::matchCmdArgs
    - minimum
    - median
    - sum
    - config
    - std::vector::size
    - ankerl::nanobench::templates::generateConfigTag
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & generateResultTag(Node const& n, Result const& r, std::ostream&
      out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1728,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1731,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:1735,1
    - Dst: get
      Src: /src/bitcoin-core/src/bench/nanobench.h:1738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' r'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1745
    functionName: ankerl::nanobench::templates::generateResultMeasurement
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::Result::fromString
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - std::string
    - has
    - get
    linkageType: ''
    returnType: void
    signature: void generateResultMeasurement(std::vector<Node> const& nodes, size_t
      idx, Result const& r, std::ostream& out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1758,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1762,1
    - Dst: ankerl::nanobench::templates::generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1763,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1766,1
    - Dst: ankerl::nanobench::templates::generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' results'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1776
    functionName: ankerl::nanobench::templates::generateResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - ankerl::nanobench::templates::generateResultTag
    - ankerl::nanobench::templates::generateResultMeasurement
    linkageType: ''
    returnType: void
    signature: void generateResult(std::vector<Node> const& nodes, size_t idx, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1379
    functionName: ankerl::nanobench::templates::csv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * csv() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1406
    functionName: ankerl::nanobench::templates::htmlBoxplot
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * htmlBoxplot() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1430
    functionName: ankerl::nanobench::templates::pyperf
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * pyperf() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1475
    functionName: ankerl::nanobench::templates::json
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: operator==(char const (&str)[N]) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::distance
    - static_cast<size_t>
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(char const (&str)[N]) const noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1500,1
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1505,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::strlen
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1516,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - tpl
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1541
    functionName: ankerl::nanobench::templates::parseMustacheTemplate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - std::strstr
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::vector::emplace_back
    - std::strlen
    linkageType: ''
    returnType: std::vector<Node>
    signature: std::vector<Node> parseMustacheTemplate(char const** tpl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - idx
    - size
    - ' out'
    argTypes:
    - Node
    - size_t
    - size_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: ankerl::nanobench::templates::generateFirstLast
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - ANKERL_NANOBENCH_LOG
    - write
    - std::distance
    linkageType: ''
    returnType: bool
    signature: bool generateFirstLast(Node const& n, size_t idx, size_t size, std::ostream&
      out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:1569,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1570,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1571,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1579,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1587,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' str'
    - ' matchResult'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1594
    functionName: ankerl::nanobench::templates::matchCmdArgs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - substr
    - back
    - clear
    - emplace_back
    - find
    linkageType: ''
    returnType: bool
    signature: bool matchCmdArgs(std::string const& str, std::vector<std::string>&
      matchResult)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1632,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - ' n'
    - ' config'
    - ' out'
    argTypes:
    - Node
    - Config
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1656
    functionName: ankerl::nanobench::templates::generateConfigTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::detail::clockResolution
    - d
    linkageType: ''
    returnType: bool
    signature: bool generateConfigTag(Node const& n, Config const& config, std::ostream&
      out)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: ankerl::nanobench::templates::matchCmdArgs
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1670,1
    - Dst: context
      Src: /src/bitcoin-core/src/bench/nanobench.h:1672,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1675,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:1681,1
    - Dst: average
      Src: /src/bitcoin-core/src/bench/nanobench.h:1684,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:1687,1
    - Dst: sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1690,1
    - Dst: minimum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1693,1
    - Dst: maximum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1696,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1698,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1699,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1700,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:1706,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - ' n'
    - ' r'
    - ' out'
    argTypes:
    - Node
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1716
    functionName: ankerl::nanobench::templates::generateResultTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - maximum
    - context
    - ankerl::nanobench::Result::fromString
    - medianAbsolutePercentError
    - average
    - sumProduct
    - std::runtime_error
    - std::string
    - ankerl::nanobench::templates::matchCmdArgs
    - minimum
    - median
    - sum
    - config
    - std::vector::size
    - ankerl::nanobench::templates::generateConfigTag
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & generateResultTag(Node const& n, Result const& r, std::ostream&
      out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1728,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1731,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:1735,1
    - Dst: get
      Src: /src/bitcoin-core/src/bench/nanobench.h:1738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' r'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1745
    functionName: ankerl::nanobench::templates::generateResultMeasurement
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::Result::fromString
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - std::string
    - has
    - get
    linkageType: ''
    returnType: void
    signature: void generateResultMeasurement(std::vector<Node> const& nodes, size_t
      idx, Result const& r, std::ostream& out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1758,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1762,1
    - Dst: ankerl::nanobench::templates::generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1763,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1766,1
    - Dst: ankerl::nanobench::templates::generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' results'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1776
    functionName: ankerl::nanobench::templates::generateResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - ankerl::nanobench::templates::generateResultTag
    - ankerl::nanobench::templates::generateResultMeasurement
    linkageType: ''
    returnType: void
    signature: void generateResult(std::vector<Node> const& nodes, size_t idx, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1363
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double d(T t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::duration<double>>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1366
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::duration<double>>
    linkageType: ''
    returnType: double
    signature: double d(Clock::duration duration) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1363
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double d(T t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::duration<double>>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1366
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::duration<double>>
    linkageType: ''
    returnType: double
    signature: double d(Clock::duration duration) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1379
    functionName: ankerl::nanobench::templates::csv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * csv() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1406
    functionName: ankerl::nanobench::templates::htmlBoxplot
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * htmlBoxplot() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1430
    functionName: ankerl::nanobench::templates::pyperf
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * pyperf() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1475
    functionName: ankerl::nanobench::templates::json
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: operator==(char const (&str)[N]) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::distance
    - static_cast<size_t>
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(char const (&str)[N]) const noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1500,1
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1505,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::strlen
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1516,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - tpl
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1541
    functionName: ankerl::nanobench::templates::parseMustacheTemplate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - std::strstr
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::vector::emplace_back
    - std::strlen
    linkageType: ''
    returnType: std::vector<Node>
    signature: std::vector<Node> parseMustacheTemplate(char const** tpl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - idx
    - size
    - ' out'
    argTypes:
    - Node
    - size_t
    - size_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: ankerl::nanobench::templates::generateFirstLast
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - ANKERL_NANOBENCH_LOG
    - write
    - std::distance
    linkageType: ''
    returnType: bool
    signature: bool generateFirstLast(Node const& n, size_t idx, size_t size, std::ostream&
      out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:1569,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1570,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1571,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1579,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1587,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' str'
    - ' matchResult'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1594
    functionName: ankerl::nanobench::templates::matchCmdArgs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - substr
    - back
    - clear
    - emplace_back
    - find
    linkageType: ''
    returnType: bool
    signature: bool matchCmdArgs(std::string const& str, std::vector<std::string>&
      matchResult)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1632,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - ' n'
    - ' config'
    - ' out'
    argTypes:
    - Node
    - Config
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1656
    functionName: ankerl::nanobench::templates::generateConfigTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::clockResolution
    - d
    linkageType: ''
    returnType: bool
    signature: bool generateConfigTag(Node const& n, Config const& config, std::ostream&
      out)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: ankerl::nanobench::templates::matchCmdArgs
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1670,1
    - Dst: context
      Src: /src/bitcoin-core/src/bench/nanobench.h:1672,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1675,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:1681,1
    - Dst: average
      Src: /src/bitcoin-core/src/bench/nanobench.h:1684,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:1687,1
    - Dst: sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1690,1
    - Dst: minimum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1693,1
    - Dst: maximum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1696,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1698,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1699,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1700,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:1706,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - ' n'
    - ' r'
    - ' out'
    argTypes:
    - Node
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1716
    functionName: ankerl::nanobench::templates::generateResultTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - maximum
    - context
    - ankerl::nanobench::Result::fromString
    - medianAbsolutePercentError
    - average
    - sumProduct
    - std::runtime_error
    - std::string
    - ankerl::nanobench::templates::matchCmdArgs
    - minimum
    - median
    - sum
    - config
    - std::vector::size
    - ankerl::nanobench::templates::generateConfigTag
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & generateResultTag(Node const& n, Result const& r, std::ostream&
      out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1728,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1731,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:1735,1
    - Dst: get
      Src: /src/bitcoin-core/src/bench/nanobench.h:1738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' r'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1745
    functionName: ankerl::nanobench::templates::generateResultMeasurement
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::Result::fromString
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - std::string
    - has
    - get
    linkageType: ''
    returnType: void
    signature: void generateResultMeasurement(std::vector<Node> const& nodes, size_t
      idx, Result const& r, std::ostream& out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1758,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1762,1
    - Dst: ankerl::nanobench::templates::generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1763,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1766,1
    - Dst: ankerl::nanobench::templates::generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' results'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1776
    functionName: ankerl::nanobench::templates::generateResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - ankerl::nanobench::templates::generateResultTag
    - ankerl::nanobench::templates::generateResultMeasurement
    linkageType: ''
    returnType: void
    signature: void generateResult(std::vector<Node> const& nodes, size_t idx, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1379
    functionName: ankerl::nanobench::templates::csv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * csv() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1406
    functionName: ankerl::nanobench::templates::htmlBoxplot
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * htmlBoxplot() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1430
    functionName: ankerl::nanobench::templates::pyperf
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * pyperf() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1475
    functionName: ankerl::nanobench::templates::json
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: operator==(char const (&str)[N]) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::distance
    - static_cast<size_t>
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(char const (&str)[N]) const noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1500,1
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1505,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::strlen
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1516,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - tpl
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1541
    functionName: ankerl::nanobench::templates::parseMustacheTemplate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - std::strstr
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::vector::emplace_back
    - std::strlen
    linkageType: ''
    returnType: std::vector<Node>
    signature: std::vector<Node> parseMustacheTemplate(char const** tpl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - idx
    - size
    - ' out'
    argTypes:
    - Node
    - size_t
    - size_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: ankerl::nanobench::templates::generateFirstLast
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - static_cast<int>
    - ANKERL_NANOBENCH_LOG
    - write
    - std::distance
    linkageType: ''
    returnType: bool
    signature: bool generateFirstLast(Node const& n, size_t idx, size_t size, std::ostream&
      out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:1569,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1570,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1571,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1579,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1587,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' str'
    - ' matchResult'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1594
    functionName: ankerl::nanobench::templates::matchCmdArgs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - substr
    - back
    - clear
    - emplace_back
    - find
    linkageType: ''
    returnType: bool
    signature: bool matchCmdArgs(std::string const& str, std::vector<std::string>&
      matchResult)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1632,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - ' n'
    - ' config'
    - ' out'
    argTypes:
    - Node
    - Config
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1656
    functionName: ankerl::nanobench::templates::generateConfigTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ankerl::nanobench::detail::clockResolution
    - d
    linkageType: ''
    returnType: bool
    signature: bool generateConfigTag(Node const& n, Config const& config, std::ostream&
      out)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: ankerl::nanobench::templates::matchCmdArgs
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1670,1
    - Dst: context
      Src: /src/bitcoin-core/src/bench/nanobench.h:1672,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1675,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:1681,1
    - Dst: average
      Src: /src/bitcoin-core/src/bench/nanobench.h:1684,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:1687,1
    - Dst: sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1690,1
    - Dst: minimum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1693,1
    - Dst: maximum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1696,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1698,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1699,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1700,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:1706,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - ' n'
    - ' r'
    - ' out'
    argTypes:
    - Node
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1716
    functionName: ankerl::nanobench::templates::generateResultTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - maximum
    - context
    - ankerl::nanobench::Result::fromString
    - medianAbsolutePercentError
    - average
    - sumProduct
    - std::runtime_error
    - std::string
    - ankerl::nanobench::templates::matchCmdArgs
    - minimum
    - median
    - sum
    - config
    - std::vector::size
    - ankerl::nanobench::templates::generateConfigTag
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & generateResultTag(Node const& n, Result const& r, std::ostream&
      out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1728,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1731,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:1735,1
    - Dst: get
      Src: /src/bitcoin-core/src/bench/nanobench.h:1738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' r'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1745
    functionName: ankerl::nanobench::templates::generateResultMeasurement
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::Result::fromString
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - std::string
    - has
    - get
    linkageType: ''
    returnType: void
    signature: void generateResultMeasurement(std::vector<Node> const& nodes, size_t
      idx, Result const& r, std::ostream& out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1758,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1762,1
    - Dst: ankerl::nanobench::templates::generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1763,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1766,1
    - Dst: ankerl::nanobench::templates::generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' results'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1776
    functionName: ankerl::nanobench::templates::generateResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - ankerl::nanobench::templates::generateResultTag
    - ankerl::nanobench::templates::generateResultMeasurement
    linkageType: ''
    returnType: void
    signature: void generateResult(std::vector<Node> const& nodes, size_t idx, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1363
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double d(T t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::duration<double>>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1366
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::duration<double>>
    linkageType: ''
    returnType: double
    signature: double d(Clock::duration duration) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1363
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double d(T t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::duration<double>>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1366
    functionName: ankerl::nanobench::detail::d
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::duration<double>>
    linkageType: ''
    returnType: double
    signature: double d(Clock::duration duration) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1379
    functionName: ankerl::nanobench::templates::csv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * csv() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1406
    functionName: ankerl::nanobench::templates::htmlBoxplot
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * htmlBoxplot() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1430
    functionName: ankerl::nanobench::templates::pyperf
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * pyperf() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1475
    functionName: ankerl::nanobench::templates::json
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: operator==(char const (&str)[N]) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::distance
    - static_cast<size_t>
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(char const (&str)[N]) const noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1500,1
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1505,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::strlen
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1516,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - tpl
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1541
    functionName: ankerl::nanobench::templates::parseMustacheTemplate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - std::strstr
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::vector::emplace_back
    - std::strlen
    linkageType: ''
    returnType: std::vector<Node>
    signature: std::vector<Node> parseMustacheTemplate(char const** tpl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - idx
    - size
    - ' out'
    argTypes:
    - Node
    - size_t
    - size_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: ankerl::nanobench::templates::generateFirstLast
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - static_cast<int>
    - ANKERL_NANOBENCH_LOG
    - write
    - std::distance
    linkageType: ''
    returnType: bool
    signature: bool generateFirstLast(Node const& n, size_t idx, size_t size, std::ostream&
      out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:1569,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1570,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1571,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1579,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1587,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' str'
    - ' matchResult'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1594
    functionName: ankerl::nanobench::templates::matchCmdArgs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - substr
    - back
    - clear
    - emplace_back
    - find
    linkageType: ''
    returnType: bool
    signature: bool matchCmdArgs(std::string const& str, std::vector<std::string>&
      matchResult)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1632,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - ' n'
    - ' config'
    - ' out'
    argTypes:
    - Node
    - Config
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1656
    functionName: ankerl::nanobench::templates::generateConfigTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::clockResolution
    - d
    linkageType: ''
    returnType: bool
    signature: bool generateConfigTag(Node const& n, Config const& config, std::ostream&
      out)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: ankerl::nanobench::templates::matchCmdArgs
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1670,1
    - Dst: context
      Src: /src/bitcoin-core/src/bench/nanobench.h:1672,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1675,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:1681,1
    - Dst: average
      Src: /src/bitcoin-core/src/bench/nanobench.h:1684,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:1687,1
    - Dst: sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1690,1
    - Dst: minimum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1693,1
    - Dst: maximum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1696,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1698,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1699,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1700,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:1706,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - ' n'
    - ' r'
    - ' out'
    argTypes:
    - Node
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1716
    functionName: ankerl::nanobench::templates::generateResultTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - maximum
    - context
    - ankerl::nanobench::Result::fromString
    - medianAbsolutePercentError
    - average
    - sumProduct
    - std::runtime_error
    - std::string
    - ankerl::nanobench::templates::matchCmdArgs
    - minimum
    - median
    - sum
    - config
    - std::vector::size
    - ankerl::nanobench::templates::generateConfigTag
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & generateResultTag(Node const& n, Result const& r, std::ostream&
      out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1728,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1731,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:1735,1
    - Dst: get
      Src: /src/bitcoin-core/src/bench/nanobench.h:1738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' r'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1745
    functionName: ankerl::nanobench::templates::generateResultMeasurement
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::Result::fromString
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - std::string
    - has
    - get
    linkageType: ''
    returnType: void
    signature: void generateResultMeasurement(std::vector<Node> const& nodes, size_t
      idx, Result const& r, std::ostream& out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1758,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1762,1
    - Dst: ankerl::nanobench::templates::generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1763,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1766,1
    - Dst: ankerl::nanobench::templates::generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' results'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1776
    functionName: ankerl::nanobench::templates::generateResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - ankerl::nanobench::templates::generateResultTag
    - ankerl::nanobench::templates::generateResultMeasurement
    linkageType: ''
    returnType: void
    signature: void generateResult(std::vector<Node> const& nodes, size_t idx, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1379
    functionName: ankerl::nanobench::templates::csv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * csv() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1406
    functionName: ankerl::nanobench::templates::htmlBoxplot
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * htmlBoxplot() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1430
    functionName: ankerl::nanobench::templates::pyperf
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * pyperf() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1475
    functionName: ankerl::nanobench::templates::json
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/bench/nanobench.h:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: operator==(char const (&str)[N]) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::distance
    - static_cast<size_t>
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(char const (&str)[N]) const noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1500,1
    - Dst: std::strstr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1505,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::strlen
      Src: /src/bitcoin-core/src/bench/nanobench.h:1511,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1516,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1528,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1533,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - tpl
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1541
    functionName: ankerl::nanobench::templates::parseMustacheTemplate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - std::strstr
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::vector::emplace_back
    - std::strlen
    linkageType: ''
    returnType: std::vector<Node>
    signature: std::vector<Node> parseMustacheTemplate(char const** tpl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1544,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - idx
    - size
    - ' out'
    argTypes:
    - Node
    - size_t
    - size_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: ankerl::nanobench::templates::generateFirstLast
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - static_cast<int>
    - ANKERL_NANOBENCH_LOG
    - write
    - std::distance
    linkageType: ''
    returnType: bool
    signature: bool generateFirstLast(Node const& n, size_t idx, size_t size, std::ostream&
      out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:1569,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1570,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:1571,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: substr
      Src: /src/bitcoin-core/src/bench/nanobench.h:1576,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1579,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1587,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' str'
    - ' matchResult'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1594
    functionName: ankerl::nanobench::templates::matchCmdArgs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - substr
    - back
    - clear
    - emplace_back
    - find
    linkageType: ''
    returnType: bool
    signature: bool matchCmdArgs(std::string const& str, std::vector<std::string>&
      matchResult)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:1624,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1632,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:1636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - ' n'
    - ' config'
    - ' out'
    argTypes:
    - Node
    - Config
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1656
    functionName: ankerl::nanobench::templates::generateConfigTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ankerl::nanobench::detail::clockResolution
    - d
    linkageType: ''
    returnType: bool
    signature: bool generateConfigTag(Node const& n, Config const& config, std::ostream&
      out)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:1660,1
    - Dst: ankerl::nanobench::templates::matchCmdArgs
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1669,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1670,1
    - Dst: context
      Src: /src/bitcoin-core/src/bench/nanobench.h:1672,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1675,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:1681,1
    - Dst: average
      Src: /src/bitcoin-core/src/bench/nanobench.h:1684,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:1687,1
    - Dst: sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1690,1
    - Dst: minimum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1693,1
    - Dst: maximum
      Src: /src/bitcoin-core/src/bench/nanobench.h:1696,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1698,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1699,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1700,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:1706,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - ' n'
    - ' r'
    - ' out'
    argTypes:
    - Node
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1716
    functionName: ankerl::nanobench::templates::generateResultTag
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - maximum
    - context
    - ankerl::nanobench::Result::fromString
    - medianAbsolutePercentError
    - average
    - sumProduct
    - std::runtime_error
    - std::string
    - ankerl::nanobench::templates::matchCmdArgs
    - minimum
    - median
    - sum
    - config
    - std::vector::size
    - ankerl::nanobench::templates::generateConfigTag
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & generateResultTag(Node const& n, Result const& r, std::ostream&
      out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1720,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1721,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1724,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1728,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1731,1
    - Dst: ankerl::nanobench::Result::fromString
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1734,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:1735,1
    - Dst: get
      Src: /src/bitcoin-core/src/bench/nanobench.h:1738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' r'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - Result
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1745
    functionName: ankerl::nanobench::templates::generateResultMeasurement
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::Result::fromString
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - std::string
    - has
    - get
    linkageType: ''
    returnType: void
    signature: void generateResultMeasurement(std::vector<Node> const& nodes, size_t
      idx, Result const& r, std::ostream& out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::templates::generateFirstLast
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1750,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1751,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1754,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1758,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1762,1
    - Dst: ankerl::nanobench::templates::generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1763,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1766,1
    - Dst: ankerl::nanobench::templates::generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ' nodes'
    - idx
    - ' results'
    - ' out'
    argTypes:
    - std::vector<Node>
    - size_t
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1776
    functionName: ankerl::nanobench::templates::generateResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - std::distance
    - ankerl::nanobench::templates::generateFirstLast
    - static_cast<int>
    - std::runtime_error
    - size
    - ankerl::nanobench::templates::generateResultTag
    - ankerl::nanobench::templates::generateResultMeasurement
    linkageType: ''
    returnType: void
    signature: void generateResult(std::vector<Node> const& nodes, size_t idx, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: '& operator=(StreamStateRestorer const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer(StreamStateRestorer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: '& operator=(StreamStateRestorer&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamStateRestorer
    signature: StreamStateRestorer & operator=(StreamStateRestorer&&)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:1906,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1907,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1910,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1910,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1913,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1913,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1917,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1917,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1921,1
    - Dst: generateResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:1923,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1926,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1927,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:1929,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1929,1
    - Dst: front
      Src: /src/bitcoin-core/src/bench/nanobench.h:1932,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1933,1
    - Dst: generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1934,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1937,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1937,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1942,1
    - Dst: generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1944,1
    - Dst: front
      Src: /src/bitcoin-core/src/bench/nanobench.h:1944,1
    - Dst: generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1947,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1947,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1948,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1948,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - mustacheTemplate
    - ' results'
    - ' out'
    argTypes:
    - char*
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1903
    functionDepth: 2
    functionLinenumber: 1903
    functionLinenumberEnd: 1954
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::distance
    - generateResult
    - static_cast<int>
    - std::runtime_error
    - generateConfigTag
    - precision
    - size
    - std::string
    - generateResultTag
    - back
    - ankerl::nanobench::detail::fmt::to_s
    - generateResultMeasurement
    - front
    linkageType: ''
    returnType: void
    signature: void render(char const* mustacheTemplate, std::vector<Result> const&
      results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1957,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mustacheTemplate'
    - ' results'
    - ' out'
    argTypes:
    - std::string
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1958
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - c_str
    - ankerl::nanobench::render
    linkageType: ''
    returnType: void
    signature: void render(std::string const& mustacheTemplate, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1961,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mustacheTemplate
    - ' bench'
    - ' out'
    argTypes:
    - char*
    - Bench
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1960
    functionDepth: 1
    functionLinenumber: 1960
    functionLinenumberEnd: 1962
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::render
    - results
    linkageType: ''
    returnType: void
    signature: void render(char const* mustacheTemplate, const Bench& bench, std::ostream&
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mustacheTemplate'
    - ' bench'
    - ' out'
    argTypes:
    - std::string
    - Bench
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1966
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - c_str
    - ankerl::nanobench::render
    - results
    linkageType: ''
    returnType: void
    signature: void render(std::string const& mustacheTemplate, const Bench& bench,
      std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1980
    functionName: ankerl::nanobench::detail::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & performanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ankerl::nanobench::detail::doNotOptimizeAwaySink
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAwaySink(void const*)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/bench/nanobench.h:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filename'
    - fail
    argTypes:
    - std::string
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: ankerl::nanobench::detail::parseFile
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::ifstream::fail
    linkageType: ''
    returnType: T
    signature: T parseFile(std::string const& filename, bool* fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: ankerl::nanobench::detail::getEnv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::getenv
    linkageType: ''
    returnType: char
    signature: char * getEnv(char const* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2017
    functionName: ankerl::nanobench::detail::isEndlessRunning
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    linkageType: ''
    returnType: bool
    signature: bool isEndlessRunning(std::string const& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2021,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: ankerl::nanobench::detail::isWarningsEnabled
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool isWarningsEnabled()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2026,1
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2027,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2030,1
    - Dst: sysconf
      Src: /src/bitcoin-core/src/bench/nanobench.h:2038,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2040,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2046,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2047,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2049,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2050,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2051,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2060,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2062,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2066,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2068,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2075,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' warnings'
    - ' recommendations'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2080
    functionName: ankerl::nanobench::detail::gatherStabilityInformation
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ChallengeNumber
    - sysconf
    - ankerl::nanobench::detail::parseFile
    - clear
    - ankerl::nanobench::detail::fmt::to_s
    - emplace_back
    - ankerl::nanobench::detail::d
    linkageType: ''
    returnType: void
    signature: void gatherStabilityInformation(std::vector<std::string>& warnings,
      std::vector<std::string>& recommendations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2084,1
    - Dst: ankerl::nanobench::detail::gatherStabilityInformation
      Src: /src/bitcoin-core/src/bench/nanobench.h:2089,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - outStream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2082
    functionDepth: 4
    functionLinenumber: 2082
    functionLinenumberEnd: 2104
    functionName: ankerl::nanobench::detail::printStabilityInformationOnce
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::gatherStabilityInformation
    - std::vector::empty
    - ankerl::nanobench::detail::isWarningsEnabled
    linkageType: ''
    returnType: void
    signature: void printStabilityInformationOnce(std::ostream* outStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: ankerl::nanobench::detail::singletonHeaderHash
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t & singletonHeaderHash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - val
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ankerl::nanobench::detail::hash_combine
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_combine(uint64_t seed, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/bench/nanobench.h:2119,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2123,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - numEvaluations
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2130
    functionName: ankerl::nanobench::detail::calcClockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NodeClock::now
    - RandomMixin::max
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration calcClockResolution(size_t numEvaluations) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::calcClockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2136
    functionName: ankerl::nanobench::detail::clockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::detail::calcClockResolution
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration clockResolution() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:2144,1
    - Dst: ankerl::nanobench::detail::printStabilityInformationOnce
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: clockResolutionMultiple
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2149,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2150,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2152,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2153,1
    - Dst: ankerl::nanobench::detail::isEndlessRunning
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2157,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2160,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2161,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2163,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2165,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2142
    functionDepth: 5
    functionLinenumber: 2142
    functionLinenumberEnd: 2171
    functionName: ankerl::nanobench::detail::Impl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - epochIterations
    - ankerl::nanobench::detail::isEndlessRunning
    - config
    - maxEpochTime
    - minEpochIterations
    - ankerl::nanobench::detail::printStabilityInformationOnce
    - ankerl::nanobench::detail::clockResolution
    - output
    - minEpochTime
    - warmup
    - clockResolutionMultiple
    - name
    linkageType: ''
    returnType: void
    signature: void Impl(Bench const& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2175,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2176,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2177,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: uniform01
      Src: /src/bitcoin-core/src/bench/nanobench.h:2183,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - elapsed
    - iters
    argTypes:
    - std::chrono::nanoseconds
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: ankerl::nanobench::detail::calcBestNumIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - minEpochIterations
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::d
    - uniform01
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calcBestNumIters(std::chrono::nanoseconds elapsed, uint64_t
      iters) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2195,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2190
    functionDepth: 2
    functionLinenumber: 2190
    functionLinenumberEnd: 2203
    functionName: ankerl::nanobench::detail::upscale
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::calcBestNumIters
    - ankerl::nanobench::detail::showResult
    linkageType: ''
    returnType: void
    signature: void upscale(std::chrono::nanoseconds elapsed)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2212,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2216,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2220,1
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2225,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2230,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2231,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2233,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2242,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2243,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2244,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2246,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2257,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2205
    functionDepth: 3
    functionLinenumber: 2205
    functionLinenumberEnd: 2264
    functionName: ankerl::nanobench::detail::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::add
    - ChallengeNumber
    - epochIterations
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::detail::showResult
    - std::chrono::nanoseconds::count
    - static_cast<int>
    - size
    - epochs
    - count
    - ankerl::nanobench::detail::calcBestNumIters
    - name
    - ankerl::nanobench::detail::isCloseEnoughForMeasurements
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::upscale
    linkageType: ''
    returnType: void
    signature: void add(std::chrono::nanoseconds elapsed, PerformanceCounters const&
      pc) noexcept
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2268,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2270,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2274,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2276,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2278,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2279,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2281,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2284,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2292,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2293,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2297,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2307,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2310,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2312,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2315,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2317,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2324,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2335,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2336,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2341,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2343,1
    - Dst: separator
      Src: /src/bitcoin-core/src/bench/nanobench.h:2346,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2351,1
    - Dst: invalid
      Src: /src/bitcoin-core/src/bench/nanobench.h:2353,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: value
      Src: /src/bitcoin-core/src/bench/nanobench.h:2358,1
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2361,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2369,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - ' errorMessage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2267
    functionDepth: 3
    functionLinenumber: 2267
    functionLinenumberEnd: 2377
    functionName: ankerl::nanobench::detail::showResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - relative
    - std::vector::emplace_back
    - complexityN
    - ankerl::nanobench::detail::hash_combine
    - std::string
    - name
    - sumProduct
    - ANKERL_NANOBENCH_LOG
    - batch
    - timeUnitName
    - medianAbsolutePercentError
    - has
    - ankerl::nanobench::detail::singletonHeaderHash
    - static_cast<uint64_t>
    - ChallengeNumber
    - timeUnit
    - ankerl::nanobench::detail::performanceCounters
    - separator
    - empty
    - unit
    - results
    - value
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::isWarningsEnabled
    - output
    - invalid
    - epochs
    - ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    - median
    - title
    linkageType: ''
    returnType: void
    signature: void showResult(std::string const& errorMessage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2381
    functionName: ankerl::nanobench::detail::isCloseEnoughForMeasurements
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCloseEnoughForMeasurements(std::chrono::nanoseconds elapsed)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl::Impl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2395
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - Impl::Impl
    linkageType: ''
    returnType: void
    signature: void IterationLogic::IterationLogic(Bench const& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: IterationLogic::~IterationLogic()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic::~IterationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    - Dst: mBench::name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2404
    functionName: ankerl::nanobench::detail::IterationLogic::numIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ANKERL_NANOBENCH_LOG
    - mBench::name
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IterationLogic::numIters() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2408
    functionName: ankerl::nanobench::detail::IterationLogic::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::IterationLogic::add
    linkageType: ''
    returnType: void
    signature: void IterationLogic::add(std::chrono::nanoseconds elapsed, PerformanceCounters
      const& pc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2412
    functionName: ankerl::nanobench::detail::IterationLogic::moveResultTo
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void IterationLogic::moveResultTo(std::vector<Result>& results) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - targetValue_
    - correctMeasuringOverhead_
    - correctLoopOverhead_
    argTypes:
    - uint64_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2423
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Target(uint64_t* targetValue_, bool correctMeasuringOverhead_,
      bool correctLoopOverhead_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2430
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2433
    functionName: '& operator=(LinuxPerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2434
    functionName: '& operator=(LinuxPerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2438
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::start
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2440
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::stop
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2447
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::hasError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasError() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2457,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2464
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void beginMeasure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2472,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2477,1
    - Dst: read
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: data
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2466
    functionDepth: 2
    functionLinenumber: 2466
    functionLinenumberEnd: 2480
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - read
    - ioctl
    - static_cast<ssize_t>
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - divisor
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2488
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T divRounded(T a, T divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2496
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mix(uint32_t x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2503,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2512,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:2513,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2514,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2519,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2527,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2538,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2540,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2542,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2543,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2547,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2550,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2551,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2553,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2554,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2557,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
      Src: /src/bitcoin-core/src/bench/nanobench.h:2563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2566
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::calibrate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - auto::size
    - ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    - op
    - std::move
    - size
    - ankerl::nanobench::detail::doNotOptimizeAway
    - ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    - ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    - ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void calibrate(Op&& op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/bench/nanobench.h:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: LinuxPerformanceCounters::~LinuxPerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::~LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - swId
    - target
    argTypes:
    - perf_sw_ids
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2593
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_sw_ids swId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwId
    - target
    argTypes:
    - perf_hw_id
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2597
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_hw_id hwId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2604,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2615,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:2618,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2640
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - UINT64_C
    - find
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perf_event_attr
      Src: /src/bitcoin-core/src/bench/nanobench.h:2648,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/bench/nanobench.h:2649,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: syscall
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2679,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bench/nanobench.h:2685,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2688,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2689,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2690,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - type
    - eventid
    - target
    argTypes:
    - uint32_t
    - uint64_t
    - Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2694
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - emplace
    - std::memset
    - perf_event_attr
    - static_cast<int>
    - ioctl
    - size
    - resize
    - syscall
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(uint32_t type, uint64_t eventid,
      Target target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinuxPerformanceCounters::LinuxPerformanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2697,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: start
      Src: /src/bitcoin-core/src/bench/nanobench.h:2718,1
    - Dst: calibrate
      Src: /src/bitcoin-core/src/bench/nanobench.h:2719,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2720,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2721,1
    - Dst: hasError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2730
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    - hasError
    - LinuxPerformanceCounters::LinuxPerformanceCounters
    - monitor
    - start
    - NodeClock::now
    - calibrate
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2735
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2743
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::endMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2747
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::updateResults
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2751
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2752
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2753
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2754
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2755
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& PerformanceCounters::val() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<uint64_t>
    signature: PerfCountSet<uint64_t> & PerformanceCounters::val() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& PerformanceCounters::has() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<bool>
    signature: PerfCountSet<bool> & PerformanceCounters::has() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1980
    functionName: ankerl::nanobench::detail::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & performanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ankerl::nanobench::detail::doNotOptimizeAwaySink
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAwaySink(void const*)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/bench/nanobench.h:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filename'
    - fail
    argTypes:
    - std::string
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: ankerl::nanobench::detail::parseFile
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - std::ifstream::fail
    linkageType: ''
    returnType: T
    signature: T parseFile(std::string const& filename, bool* fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: ankerl::nanobench::detail::getEnv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - std::getenv
    linkageType: ''
    returnType: char
    signature: char * getEnv(char const* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2017
    functionName: ankerl::nanobench::detail::isEndlessRunning
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    linkageType: ''
    returnType: bool
    signature: bool isEndlessRunning(std::string const& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2021,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: ankerl::nanobench::detail::isWarningsEnabled
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool isWarningsEnabled()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2026,1
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2027,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2030,1
    - Dst: sysconf
      Src: /src/bitcoin-core/src/bench/nanobench.h:2038,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2040,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2046,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2047,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2049,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2050,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2051,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2060,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2062,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2066,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2068,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2075,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' warnings'
    - ' recommendations'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2080
    functionName: ankerl::nanobench::detail::gatherStabilityInformation
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - ChallengeNumber
    - sysconf
    - ankerl::nanobench::detail::parseFile
    - clear
    - ankerl::nanobench::detail::fmt::to_s
    - emplace_back
    - ankerl::nanobench::detail::d
    linkageType: ''
    returnType: void
    signature: void gatherStabilityInformation(std::vector<std::string>& warnings,
      std::vector<std::string>& recommendations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2084,1
    - Dst: ankerl::nanobench::detail::gatherStabilityInformation
      Src: /src/bitcoin-core/src/bench/nanobench.h:2089,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - outStream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2082
    functionDepth: 4
    functionLinenumber: 2082
    functionLinenumberEnd: 2104
    functionName: ankerl::nanobench::detail::printStabilityInformationOnce
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::gatherStabilityInformation
    - std::vector::empty
    - ankerl::nanobench::detail::isWarningsEnabled
    linkageType: ''
    returnType: void
    signature: void printStabilityInformationOnce(std::ostream* outStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: ankerl::nanobench::detail::singletonHeaderHash
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t & singletonHeaderHash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - val
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ankerl::nanobench::detail::hash_combine
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_combine(uint64_t seed, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/bench/nanobench.h:2119,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2123,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - numEvaluations
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2130
    functionName: ankerl::nanobench::detail::calcClockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - NodeClock::now
    - RandomMixin::max
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration calcClockResolution(size_t numEvaluations) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::calcClockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2136
    functionName: ankerl::nanobench::detail::clockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 9
    functionsReached:
    - ankerl::nanobench::detail::calcClockResolution
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration clockResolution() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:2144,1
    - Dst: ankerl::nanobench::detail::printStabilityInformationOnce
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: clockResolutionMultiple
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2149,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2150,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2152,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2153,1
    - Dst: ankerl::nanobench::detail::isEndlessRunning
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2157,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2160,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2161,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2163,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2165,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2142
    functionDepth: 5
    functionLinenumber: 2142
    functionLinenumberEnd: 2171
    functionName: ankerl::nanobench::detail::Impl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - epochIterations
    - ankerl::nanobench::detail::isEndlessRunning
    - config
    - maxEpochTime
    - minEpochIterations
    - ankerl::nanobench::detail::printStabilityInformationOnce
    - ankerl::nanobench::detail::clockResolution
    - output
    - minEpochTime
    - warmup
    - clockResolutionMultiple
    - name
    linkageType: ''
    returnType: void
    signature: void Impl(Bench const& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2175,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2176,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2177,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: uniform01
      Src: /src/bitcoin-core/src/bench/nanobench.h:2183,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - elapsed
    - iters
    argTypes:
    - std::chrono::nanoseconds
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: ankerl::nanobench::detail::calcBestNumIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - minEpochIterations
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::d
    - uniform01
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calcBestNumIters(std::chrono::nanoseconds elapsed, uint64_t
      iters) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2195,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2190
    functionDepth: 4
    functionLinenumber: 2190
    functionLinenumberEnd: 2203
    functionName: ankerl::nanobench::detail::upscale
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::detail::calcBestNumIters
    - ankerl::nanobench::detail::showResult
    linkageType: ''
    returnType: void
    signature: void upscale(std::chrono::nanoseconds elapsed)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2212,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2216,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2220,1
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2225,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2230,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2231,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2233,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2242,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2243,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2244,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2246,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2257,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2205
    functionDepth: 4
    functionLinenumber: 2205
    functionLinenumberEnd: 2264
    functionName: ankerl::nanobench::detail::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::add
    - ChallengeNumber
    - epochIterations
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::detail::showResult
    - std::chrono::nanoseconds::count
    - static_cast<int>
    - size
    - epochs
    - count
    - ankerl::nanobench::detail::calcBestNumIters
    - name
    - ankerl::nanobench::detail::isCloseEnoughForMeasurements
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::upscale
    linkageType: ''
    returnType: void
    signature: void add(std::chrono::nanoseconds elapsed, PerformanceCounters const&
      pc) noexcept
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2268,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2270,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2274,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2276,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2278,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2279,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2281,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2284,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2292,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2293,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2297,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2307,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2310,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2312,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2315,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2317,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2324,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2335,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2336,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2341,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2343,1
    - Dst: separator
      Src: /src/bitcoin-core/src/bench/nanobench.h:2346,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2351,1
    - Dst: invalid
      Src: /src/bitcoin-core/src/bench/nanobench.h:2353,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: value
      Src: /src/bitcoin-core/src/bench/nanobench.h:2358,1
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2361,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2369,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - ' errorMessage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2267
    functionDepth: 3
    functionLinenumber: 2267
    functionLinenumberEnd: 2377
    functionName: ankerl::nanobench::detail::showResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - relative
    - std::vector::emplace_back
    - complexityN
    - ankerl::nanobench::detail::hash_combine
    - std::string
    - name
    - sumProduct
    - ANKERL_NANOBENCH_LOG
    - batch
    - timeUnitName
    - medianAbsolutePercentError
    - has
    - ankerl::nanobench::detail::singletonHeaderHash
    - static_cast<uint64_t>
    - ChallengeNumber
    - timeUnit
    - ankerl::nanobench::detail::performanceCounters
    - separator
    - empty
    - unit
    - results
    - value
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::isWarningsEnabled
    - output
    - invalid
    - epochs
    - ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    - median
    - title
    linkageType: ''
    returnType: void
    signature: void showResult(std::string const& errorMessage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2381
    functionName: ankerl::nanobench::detail::isCloseEnoughForMeasurements
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCloseEnoughForMeasurements(std::chrono::nanoseconds elapsed)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl::Impl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2395
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - Impl::Impl
    linkageType: ''
    returnType: void
    signature: void IterationLogic::IterationLogic(Bench const& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: IterationLogic::~IterationLogic()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic::~IterationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    - Dst: mBench::name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2404
    functionName: ankerl::nanobench::detail::IterationLogic::numIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ANKERL_NANOBENCH_LOG
    - mBench::name
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IterationLogic::numIters() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2408
    functionName: ankerl::nanobench::detail::IterationLogic::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::IterationLogic::add
    linkageType: ''
    returnType: void
    signature: void IterationLogic::add(std::chrono::nanoseconds elapsed, PerformanceCounters
      const& pc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2412
    functionName: ankerl::nanobench::detail::IterationLogic::moveResultTo
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void IterationLogic::moveResultTo(std::vector<Result>& results) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - targetValue_
    - correctMeasuringOverhead_
    - correctLoopOverhead_
    argTypes:
    - uint64_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2423
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Target(uint64_t* targetValue_, bool correctMeasuringOverhead_,
      bool correctLoopOverhead_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2430
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2433
    functionName: '& operator=(LinuxPerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2434
    functionName: '& operator=(LinuxPerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2438
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::start
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2440
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::stop
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2447
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::hasError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasError() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2457,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2464
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void beginMeasure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2472,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2477,1
    - Dst: read
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: data
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2466
    functionDepth: 2
    functionLinenumber: 2466
    functionLinenumberEnd: 2480
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - read
    - ioctl
    - static_cast<ssize_t>
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - divisor
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2488
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T divRounded(T a, T divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2496
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mix(uint32_t x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2503,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2512,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:2513,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2514,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2519,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2527,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2538,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2540,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2542,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2543,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2547,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2550,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2551,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2553,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2554,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2557,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
      Src: /src/bitcoin-core/src/bench/nanobench.h:2563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2566
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::calibrate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - auto::size
    - ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    - op
    - std::move
    - size
    - ankerl::nanobench::detail::doNotOptimizeAway
    - ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    - ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    - ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void calibrate(Op&& op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/bench/nanobench.h:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: LinuxPerformanceCounters::~LinuxPerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::~LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - swId
    - target
    argTypes:
    - perf_sw_ids
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2593
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_sw_ids swId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwId
    - target
    argTypes:
    - perf_hw_id
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2597
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_hw_id hwId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2604,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2615,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:2618,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2640
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - UINT64_C
    - find
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perf_event_attr
      Src: /src/bitcoin-core/src/bench/nanobench.h:2648,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/bench/nanobench.h:2649,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: syscall
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2679,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bench/nanobench.h:2685,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2688,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2689,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2690,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - type
    - eventid
    - target
    argTypes:
    - uint32_t
    - uint64_t
    - Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2694
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - emplace
    - std::memset
    - perf_event_attr
    - static_cast<int>
    - ioctl
    - size
    - resize
    - syscall
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(uint32_t type, uint64_t eventid,
      Target target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinuxPerformanceCounters::LinuxPerformanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2697,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: start
      Src: /src/bitcoin-core/src/bench/nanobench.h:2718,1
    - Dst: calibrate
      Src: /src/bitcoin-core/src/bench/nanobench.h:2719,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2720,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2721,1
    - Dst: hasError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2730
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    - hasError
    - LinuxPerformanceCounters::LinuxPerformanceCounters
    - monitor
    - start
    - NodeClock::now
    - calibrate
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2735
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2743
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::endMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2747
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::updateResults
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2751
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2752
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2753
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2754
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2755
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& PerformanceCounters::val() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<uint64_t>
    signature: PerfCountSet<uint64_t> & PerformanceCounters::val() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& PerformanceCounters::has() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<bool>
    signature: PerfCountSet<bool> & PerformanceCounters::has() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2898
    functionDepth: 0
    functionLinenumber: 2898
    functionLinenumberEnd: 2898
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2899
    functionName: Config::~Config()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::~Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2902
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config(Config const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2903
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config(Config&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2906
    functionName: Result::~Result()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::~Result()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2909
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::Result(Result const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2910
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::Result(Result&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename std::underlying_type<T>::type>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2916
    functionName: ankerl::nanobench::detail::u
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<typename std::underlying_type<T>::type>
    linkageType: ''
    returnType: typename std::underlying_type<T>::type
    signature: typename std::underlying_type<T>::type u(T val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename std::underlying_type<T>::type>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2916
    functionName: ankerl::nanobench::detail::u
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<typename std::underlying_type<T>::type>
    linkageType: ''
    returnType: typename std::underlying_type<T>::type
    signature: typename std::underlying_type<T>::type u(T val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2921,1
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - benchmarkConfig
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2920
    functionDepth: 1
    functionLinenumber: 2920
    functionLinenumberEnd: 2922
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: void
    signature: void Result::Result(Config benchmarkConfig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2928,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2929,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2929,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2932,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2935,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2938,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2941,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2944,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2947,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2948,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2948,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2950,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2950,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2952,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2954,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2954,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2965,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - totalElapsed
    - iters
    - ' pc'
    argTypes:
    - Clock::duration
    - uint64_t
    - detail::PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2924
    functionDepth: 1
    functionLinenumber: 2924
    functionLinenumberEnd: 2968
    functionName: ankerl::nanobench::Result::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - push_back
    - u
    - val
    - ankerl::nanobench::Result::has
    - d
    linkageType: ''
    returnType: void
    signature: void Result::add(Clock::duration totalElapsed, uint64_t iters, detail::PerformanceCounters
      const& pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2972
    functionName: '& Result::config() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: Config & Result::config() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2975,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2980,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2974
    functionDepth: 1
    functionLinenumber: 2974
    functionLinenumberEnd: 2985
    functionName: ankerl::nanobench::calcMedian
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - empty
    - size
    - std::sort
    - begin
    linkageType: ''
    returnType: double
    signature: double calcMedian(std::vector<double>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2989,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:2990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2987
    functionDepth: 1
    functionLinenumber: 2987
    functionLinenumberEnd: 2991
    functionName: ankerl::nanobench::Result::median
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - calcMedian
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::median(Measure m) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2995,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2996,1
    - Dst: ankerl::nanobench::Result::sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2993
    functionDepth: 1
    functionLinenumber: 2993
    functionLinenumberEnd: 3002
    functionName: ankerl::nanobench::Result::average
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - ankerl::nanobench::Result::sum
    - ankerl::nanobench::Result::size
    - d
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::average(Measure m) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3006,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:3010,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:3019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3004
    functionDepth: 1
    functionLinenumber: 3004
    functionLinenumberEnd: 3020
    functionName: ankerl::nanobench::Result::medianAbsolutePercentError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - calcMedian
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::medianAbsolutePercentError(Measure m) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3023,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3022
    functionDepth: 1
    functionLinenumber: 3022
    functionLinenumberEnd: 3025
    functionName: ankerl::nanobench::Result::sum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - end
    - std::accumulate
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::sum(Measure m) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3028,1
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3029,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3031,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3031,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - Measure
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3027
    functionDepth: 1
    functionLinenumber: 3027
    functionLinenumberEnd: 3040
    functionName: ankerl::nanobench::Result::sumProduct
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::size
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::sumProduct(Measure m1, Measure m2) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3043,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3042
    functionDepth: 1
    functionLinenumber: 3042
    functionLinenumberEnd: 3044
    functionName: ankerl::nanobench::Result::has
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 1
    functionsReached:
    - ankerl::nanobench::Result::empty
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: bool
    signature: bool Result::has(Measure m) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3047,1
    - Dst: at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - m
    argTypes:
    - size_t
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3049
    functionName: ankerl::nanobench::Result::get
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - at
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::get(size_t idx, Measure m) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3053
    functionName: ankerl::nanobench::Result::empty
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::Result::size
    linkageType: ''
    returnType: bool
    signature: bool Result::empty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3056,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 3055
    functionDepth: 1
    functionLinenumber: 3055
    functionLinenumberEnd: 3058
    functionName: ankerl::nanobench::Result::size
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::Result::size
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: size_t
    signature: size_t Result::size() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3061,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3062,1
    - Dst: std::min_element
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3060
    functionDepth: 1
    functionLinenumber: 3060
    functionLinenumberEnd: 3068
    functionName: ankerl::nanobench::Result::minimum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - end
    - std::min_element
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::minimum(Measure m) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3071,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3072,1
    - Dst: std::max_element
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3070
    functionDepth: 1
    functionLinenumber: 3070
    functionLinenumberEnd: 3078
    functionName: ankerl::nanobench::Result::maximum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - end
    - std::max_element
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::maximum(Measure m) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - variableName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3082
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3082
    functionName: '& Result::context(char const* variableName) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::at
    linkageType: ''
    returnType: std::string
    signature: std::string & Result::context(char const* variableName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' variableName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3084
    functionDepth: 0
    functionLinenumber: 3084
    functionLinenumberEnd: 3086
    functionName: '& Result::context(std::string const& variableName) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::at
    linkageType: ''
    returnType: std::string
    signature: std::string & Result::context(std::string const& variableName) const
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3088
    functionDepth: 0
    functionLinenumber: 3088
    functionLinenumberEnd: 3115
    functionName: ankerl::nanobench::Result::fromString
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: Result::Measure
    signature: Result::Measure Result::fromString(std::string const& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3120
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3122
    functionDepth: 0
    functionLinenumber: 3122
    functionLinenumberEnd: 3122
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench(Bench&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3124
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench(Bench const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3126
    functionName: Bench::~Bench() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::~Bench() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3128
    functionDepth: 0
    functionLinenumber: 3128
    functionLinenumberEnd: 3130
    functionName: ankerl::nanobench::Bench::batch
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Bench::batch() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3134
    functionName: ankerl::nanobench::Bench::complexityN
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Bench::complexityN() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - isRelativeEnabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3141
    functionName: '& Bench::relative(bool isRelativeEnabled) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::relative(bool isRelativeEnabled) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3144
    functionName: ankerl::nanobench::Bench::relative
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bench::relative() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - showPerformanceCounters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3146
    functionDepth: 0
    functionLinenumber: 3146
    functionLinenumberEnd: 3149
    functionName: '& Bench::performanceCounters(bool showPerformanceCounters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::performanceCounters(bool showPerformanceCounters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3152
    functionName: ankerl::nanobench::Bench::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bench::performanceCounters() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - u
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3163
    functionName: '& Bench::unit(char const* u)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::unit(char const* u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:3166,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:3166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3167
    functionName: '& Bench::unit(std::string const& u)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - c_str
    - unit
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::unit(std::string const& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3169
    functionDepth: 0
    functionLinenumber: 3169
    functionLinenumberEnd: 3171
    functionName: '& Bench::unit() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::unit() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' tu'
    - ' tuName'
    argTypes:
    - std::chrono::duration<double>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3177
    functionName: '& Bench::timeUnit(std::chrono::duration<double> const& tu, std::string
      const& tuName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::timeUnit(std::chrono::duration<double> const& tu, std::string
      const& tuName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3181
    functionName: '& Bench::timeUnitName() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::timeUnitName() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3185
    functionName: '& Bench::timeUnit() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::duration<double>
    signature: std::chrono::duration<double> & Bench::timeUnit() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - benchmarkTitle
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3194
    functionName: '& Bench::title(const char* benchmarkTitle)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::title(const char* benchmarkTitle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' benchmarkTitle'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3201
    functionName: '& Bench::title(std::string const& benchmarkTitle)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::title(std::string const& benchmarkTitle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3205
    functionName: '& Bench::title() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::title() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - benchmarkName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3210
    functionName: '& Bench::name(const char* benchmarkName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::name(const char* benchmarkName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' benchmarkName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3212
    functionDepth: 0
    functionLinenumber: 3212
    functionLinenumberEnd: 3215
    functionName: '& Bench::name(std::string const& benchmarkName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::name(std::string const& benchmarkName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3219
    functionName: '& Bench::name() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - variableName
    - variableValue
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3224
      start: 3221
    functionDepth: 0
    functionLinenumber: 3221
    functionLinenumberEnd: 3224
    functionName: '& Bench::context(char const* variableName, char const* variableValue)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::context(char const* variableName, char const* variableValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' variableName'
    - ' variableValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3229
    functionName: '& Bench::context(std::string const& variableName, std::string const&
      variableValue)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::context(std::string const& variableName, std::string
      const& variableValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3231
    functionDepth: 0
    functionLinenumber: 3231
    functionLinenumberEnd: 3234
    functionName: '& Bench::clearContext()'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::clearContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numEpochs
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3240
    functionName: '& Bench::epochs(size_t numEpochs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::epochs(size_t numEpochs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3241
    functionDepth: 0
    functionLinenumber: 3241
    functionLinenumberEnd: 3243
    functionName: ankerl::nanobench::Bench::epochs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Bench::epochs() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multiple
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3249
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3249
    functionName: '& Bench::clockResolutionMultiple(size_t multiple) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::clockResolutionMultiple(size_t multiple) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3250
    functionDepth: 0
    functionLinenumber: 3250
    functionLinenumberEnd: 3252
    functionName: ankerl::nanobench::Bench::clockResolutionMultiple
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Bench::clockResolutionMultiple() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3258
    functionName: '& Bench::maxEpochTime(std::chrono::nanoseconds t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::maxEpochTime(std::chrono::nanoseconds t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3261
    functionName: ankerl::nanobench::Bench::maxEpochTime
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Bench::maxEpochTime() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3264
    functionDepth: 0
    functionLinenumber: 3264
    functionLinenumberEnd: 3267
    functionName: '& Bench::minEpochTime(std::chrono::nanoseconds t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::minEpochTime(std::chrono::nanoseconds t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3270
    functionName: ankerl::nanobench::Bench::minEpochTime
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Bench::minEpochTime() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3275
    functionName: '& Bench::minEpochIterations(uint64_t numIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::minEpochIterations(uint64_t numIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3276
    functionDepth: 0
    functionLinenumber: 3276
    functionLinenumberEnd: 3278
    functionName: ankerl::nanobench::Bench::minEpochIterations
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::minEpochIterations() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3280
    functionDepth: 0
    functionLinenumber: 3280
    functionLinenumberEnd: 3283
    functionName: '& Bench::epochIterations(uint64_t numIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::epochIterations(uint64_t numIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3286
    functionName: ankerl::nanobench::Bench::epochIterations
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::epochIterations() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numWarmupIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: '& Bench::warmup(uint64_t numWarmupIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::warmup(uint64_t numWarmupIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3294
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3294
    functionName: ankerl::nanobench::Bench::warmup
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::warmup() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' benchmarkConfig'
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3299
    functionName: '& Bench::config(Config const& benchmarkConfig)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::config(Config const& benchmarkConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3300
    functionDepth: 0
    functionLinenumber: 3300
    functionLinenumberEnd: 3302
    functionName: '& Bench::config() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: Config & Bench::config() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - outstream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3307
    functionName: '& Bench::output(std::ostream* outstream) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::output(std::ostream* outstream) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3311
    functionName: ankerl::nanobench::Bench::output
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream * Bench::output() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3315
    functionName: '& Bench::results() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Result>
    signature: std::vector<Result> & Bench::results() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:3318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - templateContent
    - ' os'
    argTypes:
    - char*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3317
    functionDepth: 3
    functionLinenumber: 3317
    functionLinenumberEnd: 3320
    functionName: '& Bench::render(char const* templateContent, std::ostream& os)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::render(char const* templateContent, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:3323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' templateContent'
    - ' os'
    argTypes:
    - std::string
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3322
    functionDepth: 3
    functionLinenumber: 3322
    functionLinenumberEnd: 3325
    functionName: '& Bench::render(std::string const& templateContent, std::ostream&
      os)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::render(std::string const& templateContent, std::ostream&
      os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:3329,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3330,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3333,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3336,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/bench/nanobench.h:3337,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3339,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/bench/nanobench.h:3340,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3342,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3345,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3327
    functionDepth: 1
    functionLinenumber: 3327
    functionLinenumberEnd: 3350
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::emplace_back
    - std::log2
    - std::vector::begin
    - ankerl::nanobench::BigO::collectRangeMeasure
    - std::sort
    linkageType: ''
    returnType: std::vector<BigO>
    signature: std::vector<BigO> Bench::complexityBigO() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dist
      Src: /src/bitcoin-core/src/bench/nanobench.h:3358,1
    - Dst: dist
      Src: /src/bitcoin-core/src/bench/nanobench.h:3359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3361
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3361
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - dist
    linkageType: ''
    returnType: void
    signature: void Rng::Rng()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3365,1
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3366,1
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3369
    functionName: ankerl::nanobench::splitMix64
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t splitMix64(uint64_t& state) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splitMix64
      Src: /src/bitcoin-core/src/bench/nanobench.h:3373,1
    - Dst: splitMix64
      Src: /src/bitcoin-core/src/bench/nanobench.h:3374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3372
    functionDepth: 0
    functionLinenumber: 3372
    functionLinenumberEnd: 3378
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - splitMix64
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(uint64_t seed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3383
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3383
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(uint64_t x, uint64_t y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3385
    functionDepth: 0
    functionLinenumber: 3385
    functionLinenumberEnd: 3387
    functionName: ankerl::nanobench::Rng::copy
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng Rng::copy() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3392,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:3393,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:3394,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3389
    functionDepth: 2
    functionLinenumber: 3389
    functionLinenumberEnd: 3398
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::fmt::to_s
    - std::runtime_error
    - size
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(std::vector<uint64_t> const& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3405
    functionName: ankerl::nanobench::Rng::state
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint64_t>
    signature: std::vector<uint64_t> Rng::state() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:3410,1
    - Dst: BigO::RangeMeasure::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3407
    functionDepth: 0
    functionLinenumber: 3407
    functionLinenumberEnd: 3415
    functionName: ankerl::nanobench::BigO::collectRangeMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 9
    functionsReached:
    - BigO::RangeMeasure::emplace_back
    - config
    - median
    linkageType: ''
    returnType: BigO::RangeMeasure
    signature: BigO::RangeMeasure BigO::collectRangeMeasure(std::vector<Result> const&
      results)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:3418,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:3440,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3440,1
    - Dst: std::sqrt
      Src: /src/bitcoin-core/src/bench/nanobench.h:3442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bigOName
    - ' rangeMeasure'
    argTypes:
    - std::string
    - RangeMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3443
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - size
    - ankerl::nanobench::detail::d
    - std::move
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void BigO::BigO(std::string bigOName, RangeMeasure const& rangeMeasure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:3446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - bigOName
    - ' rangeMeasure'
    argTypes:
    - char*
    - RangeMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3446
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3446
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void BigO::BigO(const char* bigOName, RangeMeasure const& rangeMeasure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3448
    functionDepth: 0
    functionLinenumber: 3448
    functionLinenumberEnd: 3450
    functionName: '& BigO::name() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & BigO::name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3454
    functionName: ankerl::nanobench::BigO::constant
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BigO::constant() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3458
      start: 3456
    functionDepth: 0
    functionLinenumber: 3456
    functionLinenumberEnd: 3458
    functionName: ankerl::nanobench::BigO::normalizedRootMeanSquare
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BigO::normalizedRootMeanSquare() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bench/nanobench.h:3461,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bench/nanobench.h:3461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3460
    functionDepth: 0
    functionLinenumber: 3460
    functionLinenumberEnd: 3462
    functionName: BigO::operator<(BigO const& other) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool BigO::operator<(BigO const& other) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    - Dst: normalizedRootMeanSquare
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' bigO'
    argTypes:
    - std::ostream
    - BigO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3466
    functionName: '& operator<<(std::ostream& os, BigO const& bigO)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - normalizedRootMeanSquare
    - constant
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, BigO const& bigO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: constant
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:3473,1
    - Dst: normalizedRootMeanSquare
      Src: /src/bitcoin-core/src/bench/nanobench.h:3473,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:3474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' os'
    - ' bigOs'
    argTypes:
    - std::ostream
    - std::vector<ankerl::nanobench::BigO>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3468
    functionDepth: 3
    functionLinenumber: 3468
    functionLinenumberEnd: 3478
    functionName: '& operator<<(std::ostream& os, std::vector<ankerl::nanobench::BigO>
      const& bigOs)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ChallengeNumber
    - normalizedRootMeanSquare
    - std::setprecision
    - std::setw
    - constant
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, std::vector<ankerl::nanobench::BigO>
      const& bigOs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:1906,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1907,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1910,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1910,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1913,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1913,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1917,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1917,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1921,1
    - Dst: generateResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:1923,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1926,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1927,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:1929,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1929,1
    - Dst: front
      Src: /src/bitcoin-core/src/bench/nanobench.h:1932,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1933,1
    - Dst: generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1934,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1937,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1937,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1942,1
    - Dst: generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1944,1
    - Dst: front
      Src: /src/bitcoin-core/src/bench/nanobench.h:1944,1
    - Dst: generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1947,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1947,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1948,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1948,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - mustacheTemplate
    - ' results'
    - ' out'
    argTypes:
    - char*
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1903
    functionDepth: 2
    functionLinenumber: 1903
    functionLinenumberEnd: 1954
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::distance
    - generateResult
    - static_cast<int>
    - std::runtime_error
    - generateConfigTag
    - precision
    - size
    - std::string
    - generateResultTag
    - back
    - ankerl::nanobench::detail::fmt::to_s
    - generateResultMeasurement
    - front
    linkageType: ''
    returnType: void
    signature: void render(char const* mustacheTemplate, std::vector<Result> const&
      results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1957,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mustacheTemplate'
    - ' results'
    - ' out'
    argTypes:
    - std::string
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1958
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - c_str
    - ankerl::nanobench::render
    linkageType: ''
    returnType: void
    signature: void render(std::string const& mustacheTemplate, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1961,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mustacheTemplate
    - ' bench'
    - ' out'
    argTypes:
    - char*
    - Bench
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1960
    functionDepth: 1
    functionLinenumber: 1960
    functionLinenumberEnd: 1962
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 9
    functionsReached:
    - ankerl::nanobench::render
    - results
    linkageType: ''
    returnType: void
    signature: void render(char const* mustacheTemplate, const Bench& bench, std::ostream&
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mustacheTemplate'
    - ' bench'
    - ' out'
    argTypes:
    - std::string
    - Bench
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1966
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - c_str
    - ankerl::nanobench::render
    - results
    linkageType: ''
    returnType: void
    signature: void render(std::string const& mustacheTemplate, const Bench& bench,
      std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1980
    functionName: ankerl::nanobench::detail::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & performanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ankerl::nanobench::detail::doNotOptimizeAwaySink
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAwaySink(void const*)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/bench/nanobench.h:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filename'
    - fail
    argTypes:
    - std::string
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: ankerl::nanobench::detail::parseFile
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - std::ifstream::fail
    linkageType: ''
    returnType: T
    signature: T parseFile(std::string const& filename, bool* fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: ankerl::nanobench::detail::getEnv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - std::getenv
    linkageType: ''
    returnType: char
    signature: char * getEnv(char const* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2017
    functionName: ankerl::nanobench::detail::isEndlessRunning
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    linkageType: ''
    returnType: bool
    signature: bool isEndlessRunning(std::string const& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2021,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: ankerl::nanobench::detail::isWarningsEnabled
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool isWarningsEnabled()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2026,1
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2027,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2030,1
    - Dst: sysconf
      Src: /src/bitcoin-core/src/bench/nanobench.h:2038,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2040,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2046,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2047,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2049,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2050,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2051,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2060,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2062,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2066,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2068,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2075,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' warnings'
    - ' recommendations'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2080
    functionName: ankerl::nanobench::detail::gatherStabilityInformation
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - static_cast<uint64_t>
    - ChallengeNumber
    - sysconf
    - ankerl::nanobench::detail::parseFile
    - clear
    - ankerl::nanobench::detail::fmt::to_s
    - emplace_back
    - ankerl::nanobench::detail::d
    linkageType: ''
    returnType: void
    signature: void gatherStabilityInformation(std::vector<std::string>& warnings,
      std::vector<std::string>& recommendations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2084,1
    - Dst: ankerl::nanobench::detail::gatherStabilityInformation
      Src: /src/bitcoin-core/src/bench/nanobench.h:2089,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - outStream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2082
    functionDepth: 4
    functionLinenumber: 2082
    functionLinenumberEnd: 2104
    functionName: ankerl::nanobench::detail::printStabilityInformationOnce
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::gatherStabilityInformation
    - std::vector::empty
    - ankerl::nanobench::detail::isWarningsEnabled
    linkageType: ''
    returnType: void
    signature: void printStabilityInformationOnce(std::ostream* outStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: ankerl::nanobench::detail::singletonHeaderHash
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t & singletonHeaderHash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - val
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ankerl::nanobench::detail::hash_combine
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_combine(uint64_t seed, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/bench/nanobench.h:2119,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2123,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - numEvaluations
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2130
    functionName: ankerl::nanobench::detail::calcClockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - NodeClock::now
    - RandomMixin::max
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration calcClockResolution(size_t numEvaluations) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::calcClockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2136
    functionName: ankerl::nanobench::detail::clockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - ankerl::nanobench::detail::calcClockResolution
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration clockResolution() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:2144,1
    - Dst: ankerl::nanobench::detail::printStabilityInformationOnce
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: clockResolutionMultiple
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2149,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2150,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2152,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2153,1
    - Dst: ankerl::nanobench::detail::isEndlessRunning
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2157,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2160,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2161,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2163,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2165,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2142
    functionDepth: 5
    functionLinenumber: 2142
    functionLinenumberEnd: 2171
    functionName: ankerl::nanobench::detail::Impl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - epochIterations
    - ankerl::nanobench::detail::isEndlessRunning
    - config
    - maxEpochTime
    - minEpochIterations
    - ankerl::nanobench::detail::printStabilityInformationOnce
    - ankerl::nanobench::detail::clockResolution
    - output
    - minEpochTime
    - warmup
    - clockResolutionMultiple
    - name
    linkageType: ''
    returnType: void
    signature: void Impl(Bench const& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2175,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2176,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2177,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: uniform01
      Src: /src/bitcoin-core/src/bench/nanobench.h:2183,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - elapsed
    - iters
    argTypes:
    - std::chrono::nanoseconds
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: ankerl::nanobench::detail::calcBestNumIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - minEpochIterations
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::d
    - uniform01
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calcBestNumIters(std::chrono::nanoseconds elapsed, uint64_t
      iters) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2195,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2190
    functionDepth: 4
    functionLinenumber: 2190
    functionLinenumberEnd: 2203
    functionName: ankerl::nanobench::detail::upscale
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::detail::calcBestNumIters
    - ankerl::nanobench::detail::showResult
    linkageType: ''
    returnType: void
    signature: void upscale(std::chrono::nanoseconds elapsed)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2212,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2216,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2220,1
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2225,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2230,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2231,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2233,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2242,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2243,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2244,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2246,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2257,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2205
    functionDepth: 4
    functionLinenumber: 2205
    functionLinenumberEnd: 2264
    functionName: ankerl::nanobench::detail::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::add
    - ChallengeNumber
    - epochIterations
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::detail::showResult
    - std::chrono::nanoseconds::count
    - static_cast<int>
    - size
    - epochs
    - count
    - ankerl::nanobench::detail::calcBestNumIters
    - name
    - ankerl::nanobench::detail::isCloseEnoughForMeasurements
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::upscale
    linkageType: ''
    returnType: void
    signature: void add(std::chrono::nanoseconds elapsed, PerformanceCounters const&
      pc) noexcept
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2268,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2270,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2274,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2276,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2278,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2279,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2281,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2284,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2292,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2293,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2297,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2307,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2310,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2312,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2315,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2317,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2324,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2335,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2336,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2341,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2343,1
    - Dst: separator
      Src: /src/bitcoin-core/src/bench/nanobench.h:2346,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2351,1
    - Dst: invalid
      Src: /src/bitcoin-core/src/bench/nanobench.h:2353,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: value
      Src: /src/bitcoin-core/src/bench/nanobench.h:2358,1
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2361,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2369,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - ' errorMessage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2267
    functionDepth: 3
    functionLinenumber: 2267
    functionLinenumberEnd: 2377
    functionName: ankerl::nanobench::detail::showResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - relative
    - std::vector::emplace_back
    - complexityN
    - ankerl::nanobench::detail::hash_combine
    - std::string
    - name
    - sumProduct
    - ANKERL_NANOBENCH_LOG
    - batch
    - timeUnitName
    - medianAbsolutePercentError
    - has
    - ankerl::nanobench::detail::singletonHeaderHash
    - static_cast<uint64_t>
    - ChallengeNumber
    - timeUnit
    - ankerl::nanobench::detail::performanceCounters
    - separator
    - empty
    - unit
    - results
    - value
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::isWarningsEnabled
    - output
    - invalid
    - epochs
    - ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    - median
    - title
    linkageType: ''
    returnType: void
    signature: void showResult(std::string const& errorMessage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2381
    functionName: ankerl::nanobench::detail::isCloseEnoughForMeasurements
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCloseEnoughForMeasurements(std::chrono::nanoseconds elapsed)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl::Impl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2395
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - Impl::Impl
    linkageType: ''
    returnType: void
    signature: void IterationLogic::IterationLogic(Bench const& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: IterationLogic::~IterationLogic()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic::~IterationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    - Dst: mBench::name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2404
    functionName: ankerl::nanobench::detail::IterationLogic::numIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ANKERL_NANOBENCH_LOG
    - mBench::name
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IterationLogic::numIters() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2408
    functionName: ankerl::nanobench::detail::IterationLogic::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::detail::IterationLogic::add
    linkageType: ''
    returnType: void
    signature: void IterationLogic::add(std::chrono::nanoseconds elapsed, PerformanceCounters
      const& pc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2412
    functionName: ankerl::nanobench::detail::IterationLogic::moveResultTo
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void IterationLogic::moveResultTo(std::vector<Result>& results) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - targetValue_
    - correctMeasuringOverhead_
    - correctLoopOverhead_
    argTypes:
    - uint64_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2423
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Target(uint64_t* targetValue_, bool correctMeasuringOverhead_,
      bool correctLoopOverhead_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2430
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2433
    functionName: '& operator=(LinuxPerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2434
    functionName: '& operator=(LinuxPerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2438
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::start
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2440
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::stop
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2447
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::hasError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasError() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2457,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2464
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void beginMeasure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2472,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2477,1
    - Dst: read
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: data
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2466
    functionDepth: 2
    functionLinenumber: 2466
    functionLinenumberEnd: 2480
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - read
    - ioctl
    - static_cast<ssize_t>
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - divisor
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2488
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T divRounded(T a, T divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2496
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mix(uint32_t x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2503,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2512,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:2513,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2514,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2519,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2527,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2538,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2540,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2542,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2543,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2547,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2550,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2551,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2553,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2554,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2557,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
      Src: /src/bitcoin-core/src/bench/nanobench.h:2563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2566
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::calibrate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - auto::size
    - ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    - op
    - std::move
    - size
    - ankerl::nanobench::detail::doNotOptimizeAway
    - ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    - ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    - ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void calibrate(Op&& op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/bench/nanobench.h:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: LinuxPerformanceCounters::~LinuxPerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::~LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - swId
    - target
    argTypes:
    - perf_sw_ids
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2593
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_sw_ids swId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwId
    - target
    argTypes:
    - perf_hw_id
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2597
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_hw_id hwId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2604,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2615,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:2618,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2640
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - UINT64_C
    - find
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perf_event_attr
      Src: /src/bitcoin-core/src/bench/nanobench.h:2648,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/bench/nanobench.h:2649,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: syscall
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2679,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bench/nanobench.h:2685,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2688,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2689,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2690,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - type
    - eventid
    - target
    argTypes:
    - uint32_t
    - uint64_t
    - Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2694
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - emplace
    - std::memset
    - perf_event_attr
    - static_cast<int>
    - ioctl
    - size
    - resize
    - syscall
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(uint32_t type, uint64_t eventid,
      Target target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinuxPerformanceCounters::LinuxPerformanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2697,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: start
      Src: /src/bitcoin-core/src/bench/nanobench.h:2718,1
    - Dst: calibrate
      Src: /src/bitcoin-core/src/bench/nanobench.h:2719,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2720,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2721,1
    - Dst: hasError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2730
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    - hasError
    - LinuxPerformanceCounters::LinuxPerformanceCounters
    - monitor
    - start
    - NodeClock::now
    - calibrate
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2735
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2743
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::endMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2747
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::updateResults
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2751
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2752
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2753
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2754
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2755
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& PerformanceCounters::val() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<uint64_t>
    signature: PerfCountSet<uint64_t> & PerformanceCounters::val() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& PerformanceCounters::has() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<bool>
    signature: PerfCountSet<bool> & PerformanceCounters::has() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1980
    functionName: ankerl::nanobench::detail::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & performanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ankerl::nanobench::detail::doNotOptimizeAwaySink
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAwaySink(void const*)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/bench/nanobench.h:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filename'
    - fail
    argTypes:
    - std::string
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: ankerl::nanobench::detail::parseFile
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - std::ifstream::fail
    linkageType: ''
    returnType: T
    signature: T parseFile(std::string const& filename, bool* fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: ankerl::nanobench::detail::getEnv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - std::getenv
    linkageType: ''
    returnType: char
    signature: char * getEnv(char const* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2017
    functionName: ankerl::nanobench::detail::isEndlessRunning
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    linkageType: ''
    returnType: bool
    signature: bool isEndlessRunning(std::string const& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2021,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: ankerl::nanobench::detail::isWarningsEnabled
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool isWarningsEnabled()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2026,1
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2027,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2030,1
    - Dst: sysconf
      Src: /src/bitcoin-core/src/bench/nanobench.h:2038,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2040,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2046,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2047,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2049,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2050,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2051,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2060,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2062,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2066,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2068,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2075,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' warnings'
    - ' recommendations'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2080
    functionName: ankerl::nanobench::detail::gatherStabilityInformation
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - static_cast<uint64_t>
    - ChallengeNumber
    - sysconf
    - ankerl::nanobench::detail::parseFile
    - clear
    - ankerl::nanobench::detail::fmt::to_s
    - emplace_back
    - ankerl::nanobench::detail::d
    linkageType: ''
    returnType: void
    signature: void gatherStabilityInformation(std::vector<std::string>& warnings,
      std::vector<std::string>& recommendations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2084,1
    - Dst: ankerl::nanobench::detail::gatherStabilityInformation
      Src: /src/bitcoin-core/src/bench/nanobench.h:2089,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - outStream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2082
    functionDepth: 4
    functionLinenumber: 2082
    functionLinenumberEnd: 2104
    functionName: ankerl::nanobench::detail::printStabilityInformationOnce
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::detail::gatherStabilityInformation
    - std::vector::empty
    - ankerl::nanobench::detail::isWarningsEnabled
    linkageType: ''
    returnType: void
    signature: void printStabilityInformationOnce(std::ostream* outStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: ankerl::nanobench::detail::singletonHeaderHash
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t & singletonHeaderHash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - val
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ankerl::nanobench::detail::hash_combine
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_combine(uint64_t seed, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/bench/nanobench.h:2119,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2123,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - numEvaluations
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2130
    functionName: ankerl::nanobench::detail::calcClockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - NodeClock::now
    - RandomMixin::max
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration calcClockResolution(size_t numEvaluations) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::calcClockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2136
    functionName: ankerl::nanobench::detail::clockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 11
    functionsReached:
    - ankerl::nanobench::detail::calcClockResolution
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration clockResolution() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:2144,1
    - Dst: ankerl::nanobench::detail::printStabilityInformationOnce
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: clockResolutionMultiple
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2149,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2150,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2152,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2153,1
    - Dst: ankerl::nanobench::detail::isEndlessRunning
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2157,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2160,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2161,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2163,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2165,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2142
    functionDepth: 5
    functionLinenumber: 2142
    functionLinenumberEnd: 2171
    functionName: ankerl::nanobench::detail::Impl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - epochIterations
    - ankerl::nanobench::detail::isEndlessRunning
    - config
    - maxEpochTime
    - minEpochIterations
    - ankerl::nanobench::detail::printStabilityInformationOnce
    - ankerl::nanobench::detail::clockResolution
    - output
    - minEpochTime
    - warmup
    - clockResolutionMultiple
    - name
    linkageType: ''
    returnType: void
    signature: void Impl(Bench const& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2175,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2176,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2177,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: uniform01
      Src: /src/bitcoin-core/src/bench/nanobench.h:2183,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - elapsed
    - iters
    argTypes:
    - std::chrono::nanoseconds
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: ankerl::nanobench::detail::calcBestNumIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - minEpochIterations
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::d
    - uniform01
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calcBestNumIters(std::chrono::nanoseconds elapsed, uint64_t
      iters) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2195,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2190
    functionDepth: 4
    functionLinenumber: 2190
    functionLinenumberEnd: 2203
    functionName: ankerl::nanobench::detail::upscale
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::detail::calcBestNumIters
    - ankerl::nanobench::detail::showResult
    linkageType: ''
    returnType: void
    signature: void upscale(std::chrono::nanoseconds elapsed)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2212,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2216,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2220,1
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2225,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2230,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2231,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2233,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2242,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2243,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2244,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2246,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2257,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2205
    functionDepth: 4
    functionLinenumber: 2205
    functionLinenumberEnd: 2264
    functionName: ankerl::nanobench::detail::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::add
    - ChallengeNumber
    - epochIterations
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::detail::showResult
    - std::chrono::nanoseconds::count
    - static_cast<int>
    - size
    - epochs
    - count
    - ankerl::nanobench::detail::calcBestNumIters
    - name
    - ankerl::nanobench::detail::isCloseEnoughForMeasurements
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::upscale
    linkageType: ''
    returnType: void
    signature: void add(std::chrono::nanoseconds elapsed, PerformanceCounters const&
      pc) noexcept
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2268,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2270,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2274,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2276,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2278,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2279,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2281,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2284,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2292,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2293,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2297,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2307,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2310,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2312,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2315,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2317,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2324,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2335,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2336,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2341,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2343,1
    - Dst: separator
      Src: /src/bitcoin-core/src/bench/nanobench.h:2346,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2351,1
    - Dst: invalid
      Src: /src/bitcoin-core/src/bench/nanobench.h:2353,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: value
      Src: /src/bitcoin-core/src/bench/nanobench.h:2358,1
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2361,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2369,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - ' errorMessage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2267
    functionDepth: 3
    functionLinenumber: 2267
    functionLinenumberEnd: 2377
    functionName: ankerl::nanobench::detail::showResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - relative
    - std::vector::emplace_back
    - complexityN
    - ankerl::nanobench::detail::hash_combine
    - std::string
    - name
    - sumProduct
    - ANKERL_NANOBENCH_LOG
    - batch
    - timeUnitName
    - medianAbsolutePercentError
    - has
    - ankerl::nanobench::detail::singletonHeaderHash
    - static_cast<uint64_t>
    - ChallengeNumber
    - timeUnit
    - ankerl::nanobench::detail::performanceCounters
    - separator
    - empty
    - unit
    - results
    - value
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::isWarningsEnabled
    - output
    - invalid
    - epochs
    - ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    - median
    - title
    linkageType: ''
    returnType: void
    signature: void showResult(std::string const& errorMessage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2381
    functionName: ankerl::nanobench::detail::isCloseEnoughForMeasurements
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCloseEnoughForMeasurements(std::chrono::nanoseconds elapsed)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl::Impl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2395
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - Impl::Impl
    linkageType: ''
    returnType: void
    signature: void IterationLogic::IterationLogic(Bench const& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: IterationLogic::~IterationLogic()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic::~IterationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    - Dst: mBench::name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2404
    functionName: ankerl::nanobench::detail::IterationLogic::numIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ANKERL_NANOBENCH_LOG
    - mBench::name
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IterationLogic::numIters() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2408
    functionName: ankerl::nanobench::detail::IterationLogic::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::IterationLogic::add
    linkageType: ''
    returnType: void
    signature: void IterationLogic::add(std::chrono::nanoseconds elapsed, PerformanceCounters
      const& pc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2412
    functionName: ankerl::nanobench::detail::IterationLogic::moveResultTo
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void IterationLogic::moveResultTo(std::vector<Result>& results) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - targetValue_
    - correctMeasuringOverhead_
    - correctLoopOverhead_
    argTypes:
    - uint64_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2423
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Target(uint64_t* targetValue_, bool correctMeasuringOverhead_,
      bool correctLoopOverhead_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2430
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2433
    functionName: '& operator=(LinuxPerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2434
    functionName: '& operator=(LinuxPerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2438
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::start
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2440
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::stop
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2447
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::hasError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasError() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2457,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2464
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void beginMeasure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2472,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2477,1
    - Dst: read
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: data
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2466
    functionDepth: 2
    functionLinenumber: 2466
    functionLinenumberEnd: 2480
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - read
    - ioctl
    - static_cast<ssize_t>
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - divisor
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2488
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T divRounded(T a, T divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2496
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mix(uint32_t x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2503,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2512,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:2513,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2514,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2519,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2527,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2538,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2540,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2542,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2543,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2547,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2550,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2551,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2553,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2554,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2557,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
      Src: /src/bitcoin-core/src/bench/nanobench.h:2563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2566
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::calibrate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - auto::size
    - ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    - op
    - std::move
    - size
    - ankerl::nanobench::detail::doNotOptimizeAway
    - ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    - ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    - ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void calibrate(Op&& op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/bench/nanobench.h:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: LinuxPerformanceCounters::~LinuxPerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::~LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - swId
    - target
    argTypes:
    - perf_sw_ids
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2593
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_sw_ids swId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwId
    - target
    argTypes:
    - perf_hw_id
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2597
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_hw_id hwId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2604,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2615,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:2618,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2640
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - UINT64_C
    - find
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perf_event_attr
      Src: /src/bitcoin-core/src/bench/nanobench.h:2648,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/bench/nanobench.h:2649,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: syscall
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2679,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bench/nanobench.h:2685,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2688,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2689,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2690,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - type
    - eventid
    - target
    argTypes:
    - uint32_t
    - uint64_t
    - Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2694
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - emplace
    - std::memset
    - perf_event_attr
    - static_cast<int>
    - ioctl
    - size
    - resize
    - syscall
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(uint32_t type, uint64_t eventid,
      Target target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinuxPerformanceCounters::LinuxPerformanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2697,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: start
      Src: /src/bitcoin-core/src/bench/nanobench.h:2718,1
    - Dst: calibrate
      Src: /src/bitcoin-core/src/bench/nanobench.h:2719,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2720,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2721,1
    - Dst: hasError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2730
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    - hasError
    - LinuxPerformanceCounters::LinuxPerformanceCounters
    - monitor
    - start
    - NodeClock::now
    - calibrate
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2735
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2743
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::endMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2747
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::updateResults
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2751
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2752
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2753
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2754
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2755
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& PerformanceCounters::val() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<uint64_t>
    signature: PerfCountSet<uint64_t> & PerformanceCounters::val() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& PerformanceCounters::has() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<bool>
    signature: PerfCountSet<bool> & PerformanceCounters::has() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2898
    functionDepth: 0
    functionLinenumber: 2898
    functionLinenumberEnd: 2898
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2899
    functionName: Config::~Config()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::~Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2902
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config(Config const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2903
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config(Config&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2906
    functionName: Result::~Result()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::~Result()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2909
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::Result(Result const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2910
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::Result(Result&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename std::underlying_type<T>::type>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2916
    functionName: ankerl::nanobench::detail::u
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 11
    functionsReached:
    - static_cast<typename std::underlying_type<T>::type>
    linkageType: ''
    returnType: typename std::underlying_type<T>::type
    signature: typename std::underlying_type<T>::type u(T val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename std::underlying_type<T>::type>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2916
    functionName: ankerl::nanobench::detail::u
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 11
    functionsReached:
    - static_cast<typename std::underlying_type<T>::type>
    linkageType: ''
    returnType: typename std::underlying_type<T>::type
    signature: typename std::underlying_type<T>::type u(T val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2921,1
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - benchmarkConfig
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2920
    functionDepth: 1
    functionLinenumber: 2920
    functionLinenumberEnd: 2922
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: void
    signature: void Result::Result(Config benchmarkConfig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2928,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2929,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2929,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2932,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2935,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2938,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2941,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2944,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2947,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2948,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2948,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2950,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2950,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2952,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2954,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2954,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2965,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - totalElapsed
    - iters
    - ' pc'
    argTypes:
    - Clock::duration
    - uint64_t
    - detail::PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2924
    functionDepth: 2
    functionLinenumber: 2924
    functionLinenumberEnd: 2968
    functionName: ankerl::nanobench::Result::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - push_back
    - u
    - val
    - ankerl::nanobench::Result::has
    - d
    linkageType: ''
    returnType: void
    signature: void Result::add(Clock::duration totalElapsed, uint64_t iters, detail::PerformanceCounters
      const& pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2972
    functionName: '& Result::config() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: Config & Result::config() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2975,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2980,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2974
    functionDepth: 1
    functionLinenumber: 2974
    functionLinenumberEnd: 2985
    functionName: ankerl::nanobench::calcMedian
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - empty
    - size
    - std::sort
    - begin
    linkageType: ''
    returnType: double
    signature: double calcMedian(std::vector<double>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2989,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:2990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2987
    functionDepth: 1
    functionLinenumber: 2987
    functionLinenumberEnd: 2991
    functionName: ankerl::nanobench::Result::median
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - calcMedian
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::median(Measure m) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2995,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2996,1
    - Dst: ankerl::nanobench::Result::sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2993
    functionDepth: 2
    functionLinenumber: 2993
    functionLinenumberEnd: 3002
    functionName: ankerl::nanobench::Result::average
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - ankerl::nanobench::Result::sum
    - ankerl::nanobench::Result::size
    - d
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::average(Measure m) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3006,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:3010,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:3019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3004
    functionDepth: 1
    functionLinenumber: 3004
    functionLinenumberEnd: 3020
    functionName: ankerl::nanobench::Result::medianAbsolutePercentError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - calcMedian
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::medianAbsolutePercentError(Measure m) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3023,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3022
    functionDepth: 1
    functionLinenumber: 3022
    functionLinenumberEnd: 3025
    functionName: ankerl::nanobench::Result::sum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - end
    - std::accumulate
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::sum(Measure m) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3028,1
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3029,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3031,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3031,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - Measure
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3027
    functionDepth: 1
    functionLinenumber: 3027
    functionLinenumberEnd: 3040
    functionName: ankerl::nanobench::Result::sumProduct
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::size
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::sumProduct(Measure m1, Measure m2) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3043,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3042
    functionDepth: 1
    functionLinenumber: 3042
    functionLinenumberEnd: 3044
    functionName: ankerl::nanobench::Result::has
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 2
    functionsReached:
    - ankerl::nanobench::Result::empty
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: bool
    signature: bool Result::has(Measure m) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3047,1
    - Dst: at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - m
    argTypes:
    - size_t
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3049
    functionName: ankerl::nanobench::Result::get
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - at
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::get(size_t idx, Measure m) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3053
    functionName: ankerl::nanobench::Result::empty
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::Result::size
    linkageType: ''
    returnType: bool
    signature: bool Result::empty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3056,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 3055
    functionDepth: 1
    functionLinenumber: 3055
    functionLinenumberEnd: 3058
    functionName: ankerl::nanobench::Result::size
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::Result::size
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: size_t
    signature: size_t Result::size() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3061,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3062,1
    - Dst: std::min_element
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3060
    functionDepth: 1
    functionLinenumber: 3060
    functionLinenumberEnd: 3068
    functionName: ankerl::nanobench::Result::minimum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - end
    - std::min_element
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::minimum(Measure m) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3071,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3072,1
    - Dst: std::max_element
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3070
    functionDepth: 1
    functionLinenumber: 3070
    functionLinenumberEnd: 3078
    functionName: ankerl::nanobench::Result::maximum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - end
    - std::max_element
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::maximum(Measure m) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - variableName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3082
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3082
    functionName: '& Result::context(char const* variableName) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::at
    linkageType: ''
    returnType: std::string
    signature: std::string & Result::context(char const* variableName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' variableName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3084
    functionDepth: 0
    functionLinenumber: 3084
    functionLinenumberEnd: 3086
    functionName: '& Result::context(std::string const& variableName) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::at
    linkageType: ''
    returnType: std::string
    signature: std::string & Result::context(std::string const& variableName) const
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3088
    functionDepth: 0
    functionLinenumber: 3088
    functionLinenumberEnd: 3115
    functionName: ankerl::nanobench::Result::fromString
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: Result::Measure
    signature: Result::Measure Result::fromString(std::string const& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3120
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3122
    functionDepth: 0
    functionLinenumber: 3122
    functionLinenumberEnd: 3122
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench(Bench&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3124
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench(Bench const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3126
    functionName: Bench::~Bench() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::~Bench() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3128
    functionDepth: 0
    functionLinenumber: 3128
    functionLinenumberEnd: 3130
    functionName: ankerl::nanobench::Bench::batch
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Bench::batch() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3134
    functionName: ankerl::nanobench::Bench::complexityN
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Bench::complexityN() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - isRelativeEnabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3141
    functionName: '& Bench::relative(bool isRelativeEnabled) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::relative(bool isRelativeEnabled) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3144
    functionName: ankerl::nanobench::Bench::relative
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bench::relative() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - showPerformanceCounters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3146
    functionDepth: 0
    functionLinenumber: 3146
    functionLinenumberEnd: 3149
    functionName: '& Bench::performanceCounters(bool showPerformanceCounters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::performanceCounters(bool showPerformanceCounters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3152
    functionName: ankerl::nanobench::Bench::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bench::performanceCounters() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - u
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3163
    functionName: '& Bench::unit(char const* u)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::unit(char const* u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:3166,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:3166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3167
    functionName: '& Bench::unit(std::string const& u)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - c_str
    - unit
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::unit(std::string const& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3169
    functionDepth: 0
    functionLinenumber: 3169
    functionLinenumberEnd: 3171
    functionName: '& Bench::unit() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::unit() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' tu'
    - ' tuName'
    argTypes:
    - std::chrono::duration<double>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3177
    functionName: '& Bench::timeUnit(std::chrono::duration<double> const& tu, std::string
      const& tuName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::timeUnit(std::chrono::duration<double> const& tu, std::string
      const& tuName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3181
    functionName: '& Bench::timeUnitName() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::timeUnitName() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3185
    functionName: '& Bench::timeUnit() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::duration<double>
    signature: std::chrono::duration<double> & Bench::timeUnit() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - benchmarkTitle
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3194
    functionName: '& Bench::title(const char* benchmarkTitle)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::title(const char* benchmarkTitle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' benchmarkTitle'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3201
    functionName: '& Bench::title(std::string const& benchmarkTitle)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::title(std::string const& benchmarkTitle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3205
    functionName: '& Bench::title() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::title() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - benchmarkName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3210
    functionName: '& Bench::name(const char* benchmarkName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::name(const char* benchmarkName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' benchmarkName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3212
    functionDepth: 0
    functionLinenumber: 3212
    functionLinenumberEnd: 3215
    functionName: '& Bench::name(std::string const& benchmarkName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::name(std::string const& benchmarkName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3219
    functionName: '& Bench::name() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - variableName
    - variableValue
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3224
      start: 3221
    functionDepth: 0
    functionLinenumber: 3221
    functionLinenumberEnd: 3224
    functionName: '& Bench::context(char const* variableName, char const* variableValue)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::context(char const* variableName, char const* variableValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' variableName'
    - ' variableValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3229
    functionName: '& Bench::context(std::string const& variableName, std::string const&
      variableValue)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::context(std::string const& variableName, std::string
      const& variableValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3231
    functionDepth: 0
    functionLinenumber: 3231
    functionLinenumberEnd: 3234
    functionName: '& Bench::clearContext()'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::clearContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numEpochs
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3240
    functionName: '& Bench::epochs(size_t numEpochs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::epochs(size_t numEpochs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3241
    functionDepth: 0
    functionLinenumber: 3241
    functionLinenumberEnd: 3243
    functionName: ankerl::nanobench::Bench::epochs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Bench::epochs() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multiple
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3249
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3249
    functionName: '& Bench::clockResolutionMultiple(size_t multiple) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::clockResolutionMultiple(size_t multiple) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3250
    functionDepth: 0
    functionLinenumber: 3250
    functionLinenumberEnd: 3252
    functionName: ankerl::nanobench::Bench::clockResolutionMultiple
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Bench::clockResolutionMultiple() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3258
    functionName: '& Bench::maxEpochTime(std::chrono::nanoseconds t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::maxEpochTime(std::chrono::nanoseconds t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3261
    functionName: ankerl::nanobench::Bench::maxEpochTime
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Bench::maxEpochTime() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3264
    functionDepth: 0
    functionLinenumber: 3264
    functionLinenumberEnd: 3267
    functionName: '& Bench::minEpochTime(std::chrono::nanoseconds t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::minEpochTime(std::chrono::nanoseconds t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3270
    functionName: ankerl::nanobench::Bench::minEpochTime
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Bench::minEpochTime() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3275
    functionName: '& Bench::minEpochIterations(uint64_t numIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::minEpochIterations(uint64_t numIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3276
    functionDepth: 0
    functionLinenumber: 3276
    functionLinenumberEnd: 3278
    functionName: ankerl::nanobench::Bench::minEpochIterations
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::minEpochIterations() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3280
    functionDepth: 0
    functionLinenumber: 3280
    functionLinenumberEnd: 3283
    functionName: '& Bench::epochIterations(uint64_t numIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::epochIterations(uint64_t numIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3286
    functionName: ankerl::nanobench::Bench::epochIterations
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::epochIterations() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numWarmupIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: '& Bench::warmup(uint64_t numWarmupIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::warmup(uint64_t numWarmupIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3294
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3294
    functionName: ankerl::nanobench::Bench::warmup
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::warmup() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' benchmarkConfig'
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3299
    functionName: '& Bench::config(Config const& benchmarkConfig)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::config(Config const& benchmarkConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3300
    functionDepth: 0
    functionLinenumber: 3300
    functionLinenumberEnd: 3302
    functionName: '& Bench::config() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: Config & Bench::config() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - outstream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3307
    functionName: '& Bench::output(std::ostream* outstream) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::output(std::ostream* outstream) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3311
    functionName: ankerl::nanobench::Bench::output
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream * Bench::output() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3315
    functionName: '& Bench::results() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Result>
    signature: std::vector<Result> & Bench::results() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:3318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - templateContent
    - ' os'
    argTypes:
    - char*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3317
    functionDepth: 3
    functionLinenumber: 3317
    functionLinenumberEnd: 3320
    functionName: '& Bench::render(char const* templateContent, std::ostream& os)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::render(char const* templateContent, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:3323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' templateContent'
    - ' os'
    argTypes:
    - std::string
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3322
    functionDepth: 3
    functionLinenumber: 3322
    functionLinenumberEnd: 3325
    functionName: '& Bench::render(std::string const& templateContent, std::ostream&
      os)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::render(std::string const& templateContent, std::ostream&
      os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:3329,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3330,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3333,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3336,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/bench/nanobench.h:3337,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3339,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/bench/nanobench.h:3340,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3342,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3345,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3327
    functionDepth: 1
    functionLinenumber: 3327
    functionLinenumberEnd: 3350
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::emplace_back
    - std::log2
    - std::vector::begin
    - ankerl::nanobench::BigO::collectRangeMeasure
    - std::sort
    linkageType: ''
    returnType: std::vector<BigO>
    signature: std::vector<BigO> Bench::complexityBigO() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dist
      Src: /src/bitcoin-core/src/bench/nanobench.h:3358,1
    - Dst: dist
      Src: /src/bitcoin-core/src/bench/nanobench.h:3359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3361
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3361
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - dist
    linkageType: ''
    returnType: void
    signature: void Rng::Rng()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3365,1
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3366,1
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3369
    functionName: ankerl::nanobench::splitMix64
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t splitMix64(uint64_t& state) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splitMix64
      Src: /src/bitcoin-core/src/bench/nanobench.h:3373,1
    - Dst: splitMix64
      Src: /src/bitcoin-core/src/bench/nanobench.h:3374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3372
    functionDepth: 0
    functionLinenumber: 3372
    functionLinenumberEnd: 3378
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - splitMix64
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(uint64_t seed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3383
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3383
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(uint64_t x, uint64_t y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3385
    functionDepth: 0
    functionLinenumber: 3385
    functionLinenumberEnd: 3387
    functionName: ankerl::nanobench::Rng::copy
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng Rng::copy() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3392,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:3393,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:3394,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3389
    functionDepth: 2
    functionLinenumber: 3389
    functionLinenumberEnd: 3398
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::fmt::to_s
    - std::runtime_error
    - size
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(std::vector<uint64_t> const& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3405
    functionName: ankerl::nanobench::Rng::state
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint64_t>
    signature: std::vector<uint64_t> Rng::state() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:3410,1
    - Dst: BigO::RangeMeasure::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3407
    functionDepth: 0
    functionLinenumber: 3407
    functionLinenumberEnd: 3415
    functionName: ankerl::nanobench::BigO::collectRangeMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - BigO::RangeMeasure::emplace_back
    - config
    - median
    linkageType: ''
    returnType: BigO::RangeMeasure
    signature: BigO::RangeMeasure BigO::collectRangeMeasure(std::vector<Result> const&
      results)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:3418,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:3440,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3440,1
    - Dst: std::sqrt
      Src: /src/bitcoin-core/src/bench/nanobench.h:3442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bigOName
    - ' rangeMeasure'
    argTypes:
    - std::string
    - RangeMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3443
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - size
    - ankerl::nanobench::detail::d
    - std::move
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void BigO::BigO(std::string bigOName, RangeMeasure const& rangeMeasure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:3446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - bigOName
    - ' rangeMeasure'
    argTypes:
    - char*
    - RangeMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3446
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3446
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void BigO::BigO(const char* bigOName, RangeMeasure const& rangeMeasure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3448
    functionDepth: 0
    functionLinenumber: 3448
    functionLinenumberEnd: 3450
    functionName: '& BigO::name() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & BigO::name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3454
    functionName: ankerl::nanobench::BigO::constant
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BigO::constant() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3458
      start: 3456
    functionDepth: 0
    functionLinenumber: 3456
    functionLinenumberEnd: 3458
    functionName: ankerl::nanobench::BigO::normalizedRootMeanSquare
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BigO::normalizedRootMeanSquare() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bench/nanobench.h:3461,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bench/nanobench.h:3461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3460
    functionDepth: 0
    functionLinenumber: 3460
    functionLinenumberEnd: 3462
    functionName: BigO::operator<(BigO const& other) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool BigO::operator<(BigO const& other) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    - Dst: normalizedRootMeanSquare
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' bigO'
    argTypes:
    - std::ostream
    - BigO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3466
    functionName: '& operator<<(std::ostream& os, BigO const& bigO)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - normalizedRootMeanSquare
    - constant
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, BigO const& bigO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: constant
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:3473,1
    - Dst: normalizedRootMeanSquare
      Src: /src/bitcoin-core/src/bench/nanobench.h:3473,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:3474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' os'
    - ' bigOs'
    argTypes:
    - std::ostream
    - std::vector<ankerl::nanobench::BigO>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3468
    functionDepth: 3
    functionLinenumber: 3468
    functionLinenumberEnd: 3478
    functionName: '& operator<<(std::ostream& os, std::vector<ankerl::nanobench::BigO>
      const& bigOs)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ChallengeNumber
    - normalizedRootMeanSquare
    - std::setprecision
    - std::setw
    - constant
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, std::vector<ankerl::nanobench::BigO>
      const& bigOs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:1906,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1907,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1910,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1910,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1913,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1913,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1917,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1917,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1921,1
    - Dst: generateResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:1923,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1926,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1927,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:1929,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1929,1
    - Dst: front
      Src: /src/bitcoin-core/src/bench/nanobench.h:1932,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1933,1
    - Dst: generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1934,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1937,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1937,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1942,1
    - Dst: generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1944,1
    - Dst: front
      Src: /src/bitcoin-core/src/bench/nanobench.h:1944,1
    - Dst: generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1947,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1947,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1948,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1948,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - mustacheTemplate
    - ' results'
    - ' out'
    argTypes:
    - char*
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1903
    functionDepth: 2
    functionLinenumber: 1903
    functionLinenumberEnd: 1954
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::distance
    - generateResult
    - static_cast<int>
    - std::runtime_error
    - generateConfigTag
    - precision
    - size
    - std::string
    - generateResultTag
    - back
    - ankerl::nanobench::detail::fmt::to_s
    - generateResultMeasurement
    - front
    linkageType: ''
    returnType: void
    signature: void render(char const* mustacheTemplate, std::vector<Result> const&
      results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1957,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mustacheTemplate'
    - ' results'
    - ' out'
    argTypes:
    - std::string
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1958
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 13
    functionsReached:
    - c_str
    - ankerl::nanobench::render
    linkageType: ''
    returnType: void
    signature: void render(std::string const& mustacheTemplate, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1961,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mustacheTemplate
    - ' bench'
    - ' out'
    argTypes:
    - char*
    - Bench
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1960
    functionDepth: 1
    functionLinenumber: 1960
    functionLinenumberEnd: 1962
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - ankerl::nanobench::render
    - results
    linkageType: ''
    returnType: void
    signature: void render(char const* mustacheTemplate, const Bench& bench, std::ostream&
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mustacheTemplate'
    - ' bench'
    - ' out'
    argTypes:
    - std::string
    - Bench
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1966
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 15
    functionsReached:
    - c_str
    - ankerl::nanobench::render
    - results
    linkageType: ''
    returnType: void
    signature: void render(std::string const& mustacheTemplate, const Bench& bench,
      std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1980
    functionName: ankerl::nanobench::detail::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & performanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ankerl::nanobench::detail::doNotOptimizeAwaySink
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAwaySink(void const*)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/bench/nanobench.h:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filename'
    - fail
    argTypes:
    - std::string
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: ankerl::nanobench::detail::parseFile
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - std::ifstream::fail
    linkageType: ''
    returnType: T
    signature: T parseFile(std::string const& filename, bool* fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: ankerl::nanobench::detail::getEnv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - std::getenv
    linkageType: ''
    returnType: char
    signature: char * getEnv(char const* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2017
    functionName: ankerl::nanobench::detail::isEndlessRunning
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    linkageType: ''
    returnType: bool
    signature: bool isEndlessRunning(std::string const& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2021,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: ankerl::nanobench::detail::isWarningsEnabled
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool isWarningsEnabled()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2026,1
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2027,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2030,1
    - Dst: sysconf
      Src: /src/bitcoin-core/src/bench/nanobench.h:2038,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2040,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2046,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2047,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2049,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2050,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2051,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2060,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2062,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2066,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2068,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2075,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' warnings'
    - ' recommendations'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2080
    functionName: ankerl::nanobench::detail::gatherStabilityInformation
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64_t>
    - ChallengeNumber
    - sysconf
    - ankerl::nanobench::detail::parseFile
    - clear
    - ankerl::nanobench::detail::fmt::to_s
    - emplace_back
    - ankerl::nanobench::detail::d
    linkageType: ''
    returnType: void
    signature: void gatherStabilityInformation(std::vector<std::string>& warnings,
      std::vector<std::string>& recommendations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2084,1
    - Dst: ankerl::nanobench::detail::gatherStabilityInformation
      Src: /src/bitcoin-core/src/bench/nanobench.h:2089,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - outStream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2082
    functionDepth: 4
    functionLinenumber: 2082
    functionLinenumberEnd: 2104
    functionName: ankerl::nanobench::detail::printStabilityInformationOnce
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::gatherStabilityInformation
    - std::vector::empty
    - ankerl::nanobench::detail::isWarningsEnabled
    linkageType: ''
    returnType: void
    signature: void printStabilityInformationOnce(std::ostream* outStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: ankerl::nanobench::detail::singletonHeaderHash
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t & singletonHeaderHash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - val
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ankerl::nanobench::detail::hash_combine
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_combine(uint64_t seed, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/bench/nanobench.h:2119,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2123,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - numEvaluations
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2130
    functionName: ankerl::nanobench::detail::calcClockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - NodeClock::now
    - RandomMixin::max
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration calcClockResolution(size_t numEvaluations) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::calcClockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2136
    functionName: ankerl::nanobench::detail::clockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - ankerl::nanobench::detail::calcClockResolution
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration clockResolution() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:2144,1
    - Dst: ankerl::nanobench::detail::printStabilityInformationOnce
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: clockResolutionMultiple
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2149,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2150,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2152,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2153,1
    - Dst: ankerl::nanobench::detail::isEndlessRunning
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2157,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2160,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2161,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2163,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2165,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2142
    functionDepth: 5
    functionLinenumber: 2142
    functionLinenumberEnd: 2171
    functionName: ankerl::nanobench::detail::Impl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - epochIterations
    - ankerl::nanobench::detail::isEndlessRunning
    - config
    - maxEpochTime
    - minEpochIterations
    - ankerl::nanobench::detail::printStabilityInformationOnce
    - ankerl::nanobench::detail::clockResolution
    - output
    - minEpochTime
    - warmup
    - clockResolutionMultiple
    - name
    linkageType: ''
    returnType: void
    signature: void Impl(Bench const& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2175,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2176,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2177,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: uniform01
      Src: /src/bitcoin-core/src/bench/nanobench.h:2183,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - elapsed
    - iters
    argTypes:
    - std::chrono::nanoseconds
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: ankerl::nanobench::detail::calcBestNumIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - minEpochIterations
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::d
    - uniform01
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calcBestNumIters(std::chrono::nanoseconds elapsed, uint64_t
      iters) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2195,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2190
    functionDepth: 4
    functionLinenumber: 2190
    functionLinenumberEnd: 2203
    functionName: ankerl::nanobench::detail::upscale
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::detail::calcBestNumIters
    - ankerl::nanobench::detail::showResult
    linkageType: ''
    returnType: void
    signature: void upscale(std::chrono::nanoseconds elapsed)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2212,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2216,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2220,1
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2225,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2230,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2231,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2233,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2242,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2243,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2244,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2246,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2257,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2205
    functionDepth: 4
    functionLinenumber: 2205
    functionLinenumberEnd: 2264
    functionName: ankerl::nanobench::detail::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::add
    - ChallengeNumber
    - epochIterations
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::detail::showResult
    - std::chrono::nanoseconds::count
    - static_cast<int>
    - size
    - epochs
    - count
    - ankerl::nanobench::detail::calcBestNumIters
    - name
    - ankerl::nanobench::detail::isCloseEnoughForMeasurements
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::upscale
    linkageType: ''
    returnType: void
    signature: void add(std::chrono::nanoseconds elapsed, PerformanceCounters const&
      pc) noexcept
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2268,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2270,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2274,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2276,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2278,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2279,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2281,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2284,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2292,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2293,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2297,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2307,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2310,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2312,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2315,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2317,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2324,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2335,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2336,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2341,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2343,1
    - Dst: separator
      Src: /src/bitcoin-core/src/bench/nanobench.h:2346,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2351,1
    - Dst: invalid
      Src: /src/bitcoin-core/src/bench/nanobench.h:2353,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: value
      Src: /src/bitcoin-core/src/bench/nanobench.h:2358,1
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2361,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2369,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - ' errorMessage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2267
    functionDepth: 3
    functionLinenumber: 2267
    functionLinenumberEnd: 2377
    functionName: ankerl::nanobench::detail::showResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - relative
    - std::vector::emplace_back
    - complexityN
    - ankerl::nanobench::detail::hash_combine
    - std::string
    - name
    - sumProduct
    - ANKERL_NANOBENCH_LOG
    - batch
    - timeUnitName
    - medianAbsolutePercentError
    - has
    - ankerl::nanobench::detail::singletonHeaderHash
    - static_cast<uint64_t>
    - ChallengeNumber
    - timeUnit
    - ankerl::nanobench::detail::performanceCounters
    - separator
    - empty
    - unit
    - results
    - value
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::isWarningsEnabled
    - output
    - invalid
    - epochs
    - ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    - median
    - title
    linkageType: ''
    returnType: void
    signature: void showResult(std::string const& errorMessage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2381
    functionName: ankerl::nanobench::detail::isCloseEnoughForMeasurements
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCloseEnoughForMeasurements(std::chrono::nanoseconds elapsed)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl::Impl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2395
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - Impl::Impl
    linkageType: ''
    returnType: void
    signature: void IterationLogic::IterationLogic(Bench const& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: IterationLogic::~IterationLogic()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic::~IterationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    - Dst: mBench::name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2404
    functionName: ankerl::nanobench::detail::IterationLogic::numIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ANKERL_NANOBENCH_LOG
    - mBench::name
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IterationLogic::numIters() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2408
    functionName: ankerl::nanobench::detail::IterationLogic::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ankerl::nanobench::detail::IterationLogic::add
    linkageType: ''
    returnType: void
    signature: void IterationLogic::add(std::chrono::nanoseconds elapsed, PerformanceCounters
      const& pc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2412
    functionName: ankerl::nanobench::detail::IterationLogic::moveResultTo
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void IterationLogic::moveResultTo(std::vector<Result>& results) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - targetValue_
    - correctMeasuringOverhead_
    - correctLoopOverhead_
    argTypes:
    - uint64_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2423
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Target(uint64_t* targetValue_, bool correctMeasuringOverhead_,
      bool correctLoopOverhead_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2430
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2433
    functionName: '& operator=(LinuxPerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2434
    functionName: '& operator=(LinuxPerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2438
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::start
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2440
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::stop
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2447
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::hasError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasError() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2457,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2464
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void beginMeasure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2472,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2477,1
    - Dst: read
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: data
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2466
    functionDepth: 2
    functionLinenumber: 2466
    functionLinenumberEnd: 2480
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - read
    - ioctl
    - static_cast<ssize_t>
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - divisor
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2488
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T divRounded(T a, T divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2496
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mix(uint32_t x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2503,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2512,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:2513,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2514,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2519,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2527,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2538,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2540,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2542,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2543,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2547,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2550,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2551,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2553,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2554,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2557,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
      Src: /src/bitcoin-core/src/bench/nanobench.h:2563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2566
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::calibrate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - auto::size
    - ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    - op
    - std::move
    - size
    - ankerl::nanobench::detail::doNotOptimizeAway
    - ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    - ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    - ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void calibrate(Op&& op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/bench/nanobench.h:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: LinuxPerformanceCounters::~LinuxPerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::~LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - swId
    - target
    argTypes:
    - perf_sw_ids
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2593
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 9
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_sw_ids swId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwId
    - target
    argTypes:
    - perf_hw_id
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2597
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_hw_id hwId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2604,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2615,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:2618,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2640
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - UINT64_C
    - find
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perf_event_attr
      Src: /src/bitcoin-core/src/bench/nanobench.h:2648,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/bench/nanobench.h:2649,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: syscall
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2679,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bench/nanobench.h:2685,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2688,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2689,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2690,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - type
    - eventid
    - target
    argTypes:
    - uint32_t
    - uint64_t
    - Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2694
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - emplace
    - std::memset
    - perf_event_attr
    - static_cast<int>
    - ioctl
    - size
    - resize
    - syscall
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(uint32_t type, uint64_t eventid,
      Target target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinuxPerformanceCounters::LinuxPerformanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2697,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: start
      Src: /src/bitcoin-core/src/bench/nanobench.h:2718,1
    - Dst: calibrate
      Src: /src/bitcoin-core/src/bench/nanobench.h:2719,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2720,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2721,1
    - Dst: hasError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2730
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    - hasError
    - LinuxPerformanceCounters::LinuxPerformanceCounters
    - monitor
    - start
    - NodeClock::now
    - calibrate
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2735
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2743
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::endMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2747
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::updateResults
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2751
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2752
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2753
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2754
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2755
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& PerformanceCounters::val() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<uint64_t>
    signature: PerfCountSet<uint64_t> & PerformanceCounters::val() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& PerformanceCounters::has() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<bool>
    signature: PerfCountSet<bool> & PerformanceCounters::has() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1980
    functionName: ankerl::nanobench::detail::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & performanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ankerl::nanobench::detail::doNotOptimizeAwaySink
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAwaySink(void const*)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/bench/nanobench.h:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filename'
    - fail
    argTypes:
    - std::string
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: ankerl::nanobench::detail::parseFile
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - std::ifstream::fail
    linkageType: ''
    returnType: T
    signature: T parseFile(std::string const& filename, bool* fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: ankerl::nanobench::detail::getEnv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - std::getenv
    linkageType: ''
    returnType: char
    signature: char * getEnv(char const* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2017
    functionName: ankerl::nanobench::detail::isEndlessRunning
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    linkageType: ''
    returnType: bool
    signature: bool isEndlessRunning(std::string const& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2021,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: ankerl::nanobench::detail::isWarningsEnabled
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool isWarningsEnabled()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2026,1
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2027,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2030,1
    - Dst: sysconf
      Src: /src/bitcoin-core/src/bench/nanobench.h:2038,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2040,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2046,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2047,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2049,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2050,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2051,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2060,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2062,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2066,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2068,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2075,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' warnings'
    - ' recommendations'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2080
    functionName: ankerl::nanobench::detail::gatherStabilityInformation
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - static_cast<uint64_t>
    - ChallengeNumber
    - sysconf
    - ankerl::nanobench::detail::parseFile
    - clear
    - ankerl::nanobench::detail::fmt::to_s
    - emplace_back
    - ankerl::nanobench::detail::d
    linkageType: ''
    returnType: void
    signature: void gatherStabilityInformation(std::vector<std::string>& warnings,
      std::vector<std::string>& recommendations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2084,1
    - Dst: ankerl::nanobench::detail::gatherStabilityInformation
      Src: /src/bitcoin-core/src/bench/nanobench.h:2089,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - outStream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2082
    functionDepth: 4
    functionLinenumber: 2082
    functionLinenumberEnd: 2104
    functionName: ankerl::nanobench::detail::printStabilityInformationOnce
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ankerl::nanobench::detail::gatherStabilityInformation
    - std::vector::empty
    - ankerl::nanobench::detail::isWarningsEnabled
    linkageType: ''
    returnType: void
    signature: void printStabilityInformationOnce(std::ostream* outStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: ankerl::nanobench::detail::singletonHeaderHash
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t & singletonHeaderHash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - val
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ankerl::nanobench::detail::hash_combine
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_combine(uint64_t seed, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/bench/nanobench.h:2119,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2123,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - numEvaluations
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2130
    functionName: ankerl::nanobench::detail::calcClockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - NodeClock::now
    - RandomMixin::max
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration calcClockResolution(size_t numEvaluations) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::calcClockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2136
    functionName: ankerl::nanobench::detail::clockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 13
    functionsReached:
    - ankerl::nanobench::detail::calcClockResolution
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration clockResolution() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:2144,1
    - Dst: ankerl::nanobench::detail::printStabilityInformationOnce
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: clockResolutionMultiple
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2149,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2150,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2152,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2153,1
    - Dst: ankerl::nanobench::detail::isEndlessRunning
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2157,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2160,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2161,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2163,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2165,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2142
    functionDepth: 5
    functionLinenumber: 2142
    functionLinenumberEnd: 2171
    functionName: ankerl::nanobench::detail::Impl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - epochIterations
    - ankerl::nanobench::detail::isEndlessRunning
    - config
    - maxEpochTime
    - minEpochIterations
    - ankerl::nanobench::detail::printStabilityInformationOnce
    - ankerl::nanobench::detail::clockResolution
    - output
    - minEpochTime
    - warmup
    - clockResolutionMultiple
    - name
    linkageType: ''
    returnType: void
    signature: void Impl(Bench const& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2175,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2176,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2177,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: uniform01
      Src: /src/bitcoin-core/src/bench/nanobench.h:2183,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - elapsed
    - iters
    argTypes:
    - std::chrono::nanoseconds
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: ankerl::nanobench::detail::calcBestNumIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - minEpochIterations
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::d
    - uniform01
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calcBestNumIters(std::chrono::nanoseconds elapsed, uint64_t
      iters) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2195,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2190
    functionDepth: 4
    functionLinenumber: 2190
    functionLinenumberEnd: 2203
    functionName: ankerl::nanobench::detail::upscale
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ankerl::nanobench::detail::calcBestNumIters
    - ankerl::nanobench::detail::showResult
    linkageType: ''
    returnType: void
    signature: void upscale(std::chrono::nanoseconds elapsed)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2212,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2216,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2220,1
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2225,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2230,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2231,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2233,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2242,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2243,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2244,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2246,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2257,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2205
    functionDepth: 4
    functionLinenumber: 2205
    functionLinenumberEnd: 2264
    functionName: ankerl::nanobench::detail::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::add
    - ChallengeNumber
    - epochIterations
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::detail::showResult
    - std::chrono::nanoseconds::count
    - static_cast<int>
    - size
    - epochs
    - count
    - ankerl::nanobench::detail::calcBestNumIters
    - name
    - ankerl::nanobench::detail::isCloseEnoughForMeasurements
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::upscale
    linkageType: ''
    returnType: void
    signature: void add(std::chrono::nanoseconds elapsed, PerformanceCounters const&
      pc) noexcept
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2268,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2270,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2274,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2276,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2278,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2279,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2281,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2284,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2292,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2293,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2297,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2307,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2310,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2312,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2315,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2317,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2324,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2335,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2336,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2341,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2343,1
    - Dst: separator
      Src: /src/bitcoin-core/src/bench/nanobench.h:2346,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2351,1
    - Dst: invalid
      Src: /src/bitcoin-core/src/bench/nanobench.h:2353,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: value
      Src: /src/bitcoin-core/src/bench/nanobench.h:2358,1
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2361,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2369,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - ' errorMessage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2267
    functionDepth: 3
    functionLinenumber: 2267
    functionLinenumberEnd: 2377
    functionName: ankerl::nanobench::detail::showResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - relative
    - std::vector::emplace_back
    - complexityN
    - ankerl::nanobench::detail::hash_combine
    - std::string
    - name
    - sumProduct
    - ANKERL_NANOBENCH_LOG
    - batch
    - timeUnitName
    - medianAbsolutePercentError
    - has
    - ankerl::nanobench::detail::singletonHeaderHash
    - static_cast<uint64_t>
    - ChallengeNumber
    - timeUnit
    - ankerl::nanobench::detail::performanceCounters
    - separator
    - empty
    - unit
    - results
    - value
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::isWarningsEnabled
    - output
    - invalid
    - epochs
    - ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    - median
    - title
    linkageType: ''
    returnType: void
    signature: void showResult(std::string const& errorMessage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2381
    functionName: ankerl::nanobench::detail::isCloseEnoughForMeasurements
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCloseEnoughForMeasurements(std::chrono::nanoseconds elapsed)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl::Impl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2395
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - Impl::Impl
    linkageType: ''
    returnType: void
    signature: void IterationLogic::IterationLogic(Bench const& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: IterationLogic::~IterationLogic()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic::~IterationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    - Dst: mBench::name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2404
    functionName: ankerl::nanobench::detail::IterationLogic::numIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ANKERL_NANOBENCH_LOG
    - mBench::name
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IterationLogic::numIters() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2408
    functionName: ankerl::nanobench::detail::IterationLogic::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::IterationLogic::add
    linkageType: ''
    returnType: void
    signature: void IterationLogic::add(std::chrono::nanoseconds elapsed, PerformanceCounters
      const& pc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2412
    functionName: ankerl::nanobench::detail::IterationLogic::moveResultTo
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void IterationLogic::moveResultTo(std::vector<Result>& results) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - targetValue_
    - correctMeasuringOverhead_
    - correctLoopOverhead_
    argTypes:
    - uint64_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2423
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Target(uint64_t* targetValue_, bool correctMeasuringOverhead_,
      bool correctLoopOverhead_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2430
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2433
    functionName: '& operator=(LinuxPerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2434
    functionName: '& operator=(LinuxPerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2438
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::start
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2440
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::stop
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2447
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::hasError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasError() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2457,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2464
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void beginMeasure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2472,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2477,1
    - Dst: read
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: data
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2466
    functionDepth: 2
    functionLinenumber: 2466
    functionLinenumberEnd: 2480
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached:
    - read
    - ioctl
    - static_cast<ssize_t>
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - divisor
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2488
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T divRounded(T a, T divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2496
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mix(uint32_t x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2503,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2512,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:2513,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2514,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2519,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2527,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2538,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2540,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2542,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2543,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2547,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2550,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2551,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2553,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2554,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2557,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
      Src: /src/bitcoin-core/src/bench/nanobench.h:2563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2566
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::calibrate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - auto::size
    - ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    - op
    - std::move
    - size
    - ankerl::nanobench::detail::doNotOptimizeAway
    - ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    - ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    - ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void calibrate(Op&& op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/bench/nanobench.h:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: LinuxPerformanceCounters::~LinuxPerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::~LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - swId
    - target
    argTypes:
    - perf_sw_ids
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2593
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 11
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_sw_ids swId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwId
    - target
    argTypes:
    - perf_hw_id
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2597
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_hw_id hwId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2604,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2615,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:2618,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2640
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - UINT64_C
    - find
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perf_event_attr
      Src: /src/bitcoin-core/src/bench/nanobench.h:2648,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/bench/nanobench.h:2649,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: syscall
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2679,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bench/nanobench.h:2685,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2688,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2689,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2690,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - type
    - eventid
    - target
    argTypes:
    - uint32_t
    - uint64_t
    - Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2694
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - emplace
    - std::memset
    - perf_event_attr
    - static_cast<int>
    - ioctl
    - size
    - resize
    - syscall
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(uint32_t type, uint64_t eventid,
      Target target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinuxPerformanceCounters::LinuxPerformanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2697,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: start
      Src: /src/bitcoin-core/src/bench/nanobench.h:2718,1
    - Dst: calibrate
      Src: /src/bitcoin-core/src/bench/nanobench.h:2719,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2720,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2721,1
    - Dst: hasError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2730
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    - hasError
    - LinuxPerformanceCounters::LinuxPerformanceCounters
    - monitor
    - start
    - NodeClock::now
    - calibrate
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2735
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2743
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::endMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2747
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::updateResults
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2751
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2752
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2753
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2754
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2755
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& PerformanceCounters::val() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<uint64_t>
    signature: PerfCountSet<uint64_t> & PerformanceCounters::val() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& PerformanceCounters::has() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<bool>
    signature: PerfCountSet<bool> & PerformanceCounters::has() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 11
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 11
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2898
    functionDepth: 0
    functionLinenumber: 2898
    functionLinenumberEnd: 2898
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2899
    functionName: Config::~Config()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::~Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2902
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config(Config const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2903
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config(Config&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2906
    functionName: Result::~Result()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::~Result()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2909
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::Result(Result const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2910
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::Result(Result&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename std::underlying_type<T>::type>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2916
    functionName: ankerl::nanobench::detail::u
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 22
    functionsReached:
    - static_cast<typename std::underlying_type<T>::type>
    linkageType: ''
    returnType: typename std::underlying_type<T>::type
    signature: typename std::underlying_type<T>::type u(T val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename std::underlying_type<T>::type>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2916
    functionName: ankerl::nanobench::detail::u
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 22
    functionsReached:
    - static_cast<typename std::underlying_type<T>::type>
    linkageType: ''
    returnType: typename std::underlying_type<T>::type
    signature: typename std::underlying_type<T>::type u(T val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2921,1
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - benchmarkConfig
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2920
    functionDepth: 1
    functionLinenumber: 2920
    functionLinenumberEnd: 2922
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: void
    signature: void Result::Result(Config benchmarkConfig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2928,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2929,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2929,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2932,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2935,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2938,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2941,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2944,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2947,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2948,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2948,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2950,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2950,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2952,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2954,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2954,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2965,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - totalElapsed
    - iters
    - ' pc'
    argTypes:
    - Clock::duration
    - uint64_t
    - detail::PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2924
    functionDepth: 2
    functionLinenumber: 2924
    functionLinenumberEnd: 2968
    functionName: ankerl::nanobench::Result::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - push_back
    - u
    - val
    - ankerl::nanobench::Result::has
    - d
    linkageType: ''
    returnType: void
    signature: void Result::add(Clock::duration totalElapsed, uint64_t iters, detail::PerformanceCounters
      const& pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2972
    functionName: '& Result::config() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: Config & Result::config() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2975,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2980,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2974
    functionDepth: 1
    functionLinenumber: 2974
    functionLinenumberEnd: 2985
    functionName: ankerl::nanobench::calcMedian
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - empty
    - size
    - std::sort
    - begin
    linkageType: ''
    returnType: double
    signature: double calcMedian(std::vector<double>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2989,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:2990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2987
    functionDepth: 1
    functionLinenumber: 2987
    functionLinenumberEnd: 2991
    functionName: ankerl::nanobench::Result::median
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - calcMedian
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::median(Measure m) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2995,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2996,1
    - Dst: ankerl::nanobench::Result::sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2993
    functionDepth: 2
    functionLinenumber: 2993
    functionLinenumberEnd: 3002
    functionName: ankerl::nanobench::Result::average
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - ankerl::nanobench::Result::sum
    - ankerl::nanobench::Result::size
    - d
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::average(Measure m) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3006,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:3010,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:3019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3004
    functionDepth: 1
    functionLinenumber: 3004
    functionLinenumberEnd: 3020
    functionName: ankerl::nanobench::Result::medianAbsolutePercentError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - calcMedian
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::medianAbsolutePercentError(Measure m) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3023,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3022
    functionDepth: 1
    functionLinenumber: 3022
    functionLinenumberEnd: 3025
    functionName: ankerl::nanobench::Result::sum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - end
    - std::accumulate
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::sum(Measure m) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3028,1
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3029,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3031,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3031,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - Measure
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3027
    functionDepth: 1
    functionLinenumber: 3027
    functionLinenumberEnd: 3040
    functionName: ankerl::nanobench::Result::sumProduct
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::size
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::sumProduct(Measure m1, Measure m2) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3043,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3042
    functionDepth: 1
    functionLinenumber: 3042
    functionLinenumberEnd: 3044
    functionName: ankerl::nanobench::Result::has
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 3
    functionsReached:
    - ankerl::nanobench::Result::empty
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: bool
    signature: bool Result::has(Measure m) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3047,1
    - Dst: at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - m
    argTypes:
    - size_t
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3049
    functionName: ankerl::nanobench::Result::get
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - at
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::get(size_t idx, Measure m) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3053
    functionName: ankerl::nanobench::Result::empty
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached:
    - ankerl::nanobench::Result::size
    linkageType: ''
    returnType: bool
    signature: bool Result::empty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3056,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 3055
    functionDepth: 1
    functionLinenumber: 3055
    functionLinenumberEnd: 3058
    functionName: ankerl::nanobench::Result::size
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - ankerl::nanobench::Result::size
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: size_t
    signature: size_t Result::size() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3061,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3062,1
    - Dst: std::min_element
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3060
    functionDepth: 1
    functionLinenumber: 3060
    functionLinenumberEnd: 3068
    functionName: ankerl::nanobench::Result::minimum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - end
    - std::min_element
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::minimum(Measure m) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3071,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3072,1
    - Dst: std::max_element
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3070
    functionDepth: 1
    functionLinenumber: 3070
    functionLinenumberEnd: 3078
    functionName: ankerl::nanobench::Result::maximum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - end
    - std::max_element
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::maximum(Measure m) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - variableName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3082
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3082
    functionName: '& Result::context(char const* variableName) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::at
    linkageType: ''
    returnType: std::string
    signature: std::string & Result::context(char const* variableName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' variableName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3084
    functionDepth: 0
    functionLinenumber: 3084
    functionLinenumberEnd: 3086
    functionName: '& Result::context(std::string const& variableName) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::at
    linkageType: ''
    returnType: std::string
    signature: std::string & Result::context(std::string const& variableName) const
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3088
    functionDepth: 0
    functionLinenumber: 3088
    functionLinenumberEnd: 3115
    functionName: ankerl::nanobench::Result::fromString
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: Result::Measure
    signature: Result::Measure Result::fromString(std::string const& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3120
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3122
    functionDepth: 0
    functionLinenumber: 3122
    functionLinenumberEnd: 3122
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench(Bench&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3124
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench(Bench const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3126
    functionName: Bench::~Bench() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::~Bench() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3128
    functionDepth: 0
    functionLinenumber: 3128
    functionLinenumberEnd: 3130
    functionName: ankerl::nanobench::Bench::batch
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Bench::batch() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3134
    functionName: ankerl::nanobench::Bench::complexityN
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Bench::complexityN() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - isRelativeEnabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3141
    functionName: '& Bench::relative(bool isRelativeEnabled) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::relative(bool isRelativeEnabled) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3144
    functionName: ankerl::nanobench::Bench::relative
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bench::relative() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - showPerformanceCounters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3146
    functionDepth: 0
    functionLinenumber: 3146
    functionLinenumberEnd: 3149
    functionName: '& Bench::performanceCounters(bool showPerformanceCounters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::performanceCounters(bool showPerformanceCounters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3152
    functionName: ankerl::nanobench::Bench::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bench::performanceCounters() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - u
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3163
    functionName: '& Bench::unit(char const* u)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::unit(char const* u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:3166,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:3166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3167
    functionName: '& Bench::unit(std::string const& u)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - c_str
    - unit
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::unit(std::string const& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3169
    functionDepth: 0
    functionLinenumber: 3169
    functionLinenumberEnd: 3171
    functionName: '& Bench::unit() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::unit() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' tu'
    - ' tuName'
    argTypes:
    - std::chrono::duration<double>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3177
    functionName: '& Bench::timeUnit(std::chrono::duration<double> const& tu, std::string
      const& tuName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::timeUnit(std::chrono::duration<double> const& tu, std::string
      const& tuName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3181
    functionName: '& Bench::timeUnitName() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::timeUnitName() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3185
    functionName: '& Bench::timeUnit() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::duration<double>
    signature: std::chrono::duration<double> & Bench::timeUnit() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - benchmarkTitle
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3194
    functionName: '& Bench::title(const char* benchmarkTitle)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::title(const char* benchmarkTitle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' benchmarkTitle'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3201
    functionName: '& Bench::title(std::string const& benchmarkTitle)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::title(std::string const& benchmarkTitle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3205
    functionName: '& Bench::title() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::title() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - benchmarkName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3210
    functionName: '& Bench::name(const char* benchmarkName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::name(const char* benchmarkName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' benchmarkName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3212
    functionDepth: 0
    functionLinenumber: 3212
    functionLinenumberEnd: 3215
    functionName: '& Bench::name(std::string const& benchmarkName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::name(std::string const& benchmarkName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3219
    functionName: '& Bench::name() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - variableName
    - variableValue
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3224
      start: 3221
    functionDepth: 0
    functionLinenumber: 3221
    functionLinenumberEnd: 3224
    functionName: '& Bench::context(char const* variableName, char const* variableValue)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::context(char const* variableName, char const* variableValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' variableName'
    - ' variableValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3229
    functionName: '& Bench::context(std::string const& variableName, std::string const&
      variableValue)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::context(std::string const& variableName, std::string
      const& variableValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3231
    functionDepth: 0
    functionLinenumber: 3231
    functionLinenumberEnd: 3234
    functionName: '& Bench::clearContext()'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::clearContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numEpochs
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3240
    functionName: '& Bench::epochs(size_t numEpochs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::epochs(size_t numEpochs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3241
    functionDepth: 0
    functionLinenumber: 3241
    functionLinenumberEnd: 3243
    functionName: ankerl::nanobench::Bench::epochs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Bench::epochs() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multiple
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3249
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3249
    functionName: '& Bench::clockResolutionMultiple(size_t multiple) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::clockResolutionMultiple(size_t multiple) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3250
    functionDepth: 0
    functionLinenumber: 3250
    functionLinenumberEnd: 3252
    functionName: ankerl::nanobench::Bench::clockResolutionMultiple
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Bench::clockResolutionMultiple() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3258
    functionName: '& Bench::maxEpochTime(std::chrono::nanoseconds t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::maxEpochTime(std::chrono::nanoseconds t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3261
    functionName: ankerl::nanobench::Bench::maxEpochTime
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Bench::maxEpochTime() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3264
    functionDepth: 0
    functionLinenumber: 3264
    functionLinenumberEnd: 3267
    functionName: '& Bench::minEpochTime(std::chrono::nanoseconds t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::minEpochTime(std::chrono::nanoseconds t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3270
    functionName: ankerl::nanobench::Bench::minEpochTime
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Bench::minEpochTime() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3275
    functionName: '& Bench::minEpochIterations(uint64_t numIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::minEpochIterations(uint64_t numIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3276
    functionDepth: 0
    functionLinenumber: 3276
    functionLinenumberEnd: 3278
    functionName: ankerl::nanobench::Bench::minEpochIterations
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::minEpochIterations() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3280
    functionDepth: 0
    functionLinenumber: 3280
    functionLinenumberEnd: 3283
    functionName: '& Bench::epochIterations(uint64_t numIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::epochIterations(uint64_t numIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3286
    functionName: ankerl::nanobench::Bench::epochIterations
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::epochIterations() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numWarmupIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: '& Bench::warmup(uint64_t numWarmupIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::warmup(uint64_t numWarmupIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3294
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3294
    functionName: ankerl::nanobench::Bench::warmup
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::warmup() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' benchmarkConfig'
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3299
    functionName: '& Bench::config(Config const& benchmarkConfig)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::config(Config const& benchmarkConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3300
    functionDepth: 0
    functionLinenumber: 3300
    functionLinenumberEnd: 3302
    functionName: '& Bench::config() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: Config & Bench::config() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - outstream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3307
    functionName: '& Bench::output(std::ostream* outstream) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::output(std::ostream* outstream) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3311
    functionName: ankerl::nanobench::Bench::output
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream * Bench::output() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3315
    functionName: '& Bench::results() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Result>
    signature: std::vector<Result> & Bench::results() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:3318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - templateContent
    - ' os'
    argTypes:
    - char*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3317
    functionDepth: 3
    functionLinenumber: 3317
    functionLinenumberEnd: 3320
    functionName: '& Bench::render(char const* templateContent, std::ostream& os)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::render(char const* templateContent, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:3323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' templateContent'
    - ' os'
    argTypes:
    - std::string
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3322
    functionDepth: 3
    functionLinenumber: 3322
    functionLinenumberEnd: 3325
    functionName: '& Bench::render(std::string const& templateContent, std::ostream&
      os)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::render(std::string const& templateContent, std::ostream&
      os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:3329,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3330,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3333,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3336,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/bench/nanobench.h:3337,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3339,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/bench/nanobench.h:3340,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3342,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3345,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3327
    functionDepth: 1
    functionLinenumber: 3327
    functionLinenumberEnd: 3350
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::emplace_back
    - std::log2
    - std::vector::begin
    - ankerl::nanobench::BigO::collectRangeMeasure
    - std::sort
    linkageType: ''
    returnType: std::vector<BigO>
    signature: std::vector<BigO> Bench::complexityBigO() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dist
      Src: /src/bitcoin-core/src/bench/nanobench.h:3358,1
    - Dst: dist
      Src: /src/bitcoin-core/src/bench/nanobench.h:3359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3361
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3361
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - dist
    linkageType: ''
    returnType: void
    signature: void Rng::Rng()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3365,1
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3366,1
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3369
    functionName: ankerl::nanobench::splitMix64
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t splitMix64(uint64_t& state) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splitMix64
      Src: /src/bitcoin-core/src/bench/nanobench.h:3373,1
    - Dst: splitMix64
      Src: /src/bitcoin-core/src/bench/nanobench.h:3374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3372
    functionDepth: 0
    functionLinenumber: 3372
    functionLinenumberEnd: 3378
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - splitMix64
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(uint64_t seed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3383
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3383
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(uint64_t x, uint64_t y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3385
    functionDepth: 0
    functionLinenumber: 3385
    functionLinenumberEnd: 3387
    functionName: ankerl::nanobench::Rng::copy
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng Rng::copy() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3392,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:3393,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:3394,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3389
    functionDepth: 2
    functionLinenumber: 3389
    functionLinenumberEnd: 3398
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::fmt::to_s
    - std::runtime_error
    - size
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(std::vector<uint64_t> const& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3405
    functionName: ankerl::nanobench::Rng::state
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint64_t>
    signature: std::vector<uint64_t> Rng::state() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:3410,1
    - Dst: BigO::RangeMeasure::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3407
    functionDepth: 0
    functionLinenumber: 3407
    functionLinenumberEnd: 3415
    functionName: ankerl::nanobench::BigO::collectRangeMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 11
    functionsReached:
    - BigO::RangeMeasure::emplace_back
    - config
    - median
    linkageType: ''
    returnType: BigO::RangeMeasure
    signature: BigO::RangeMeasure BigO::collectRangeMeasure(std::vector<Result> const&
      results)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:3418,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:3440,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3440,1
    - Dst: std::sqrt
      Src: /src/bitcoin-core/src/bench/nanobench.h:3442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bigOName
    - ' rangeMeasure'
    argTypes:
    - std::string
    - RangeMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3443
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - size
    - ankerl::nanobench::detail::d
    - std::move
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void BigO::BigO(std::string bigOName, RangeMeasure const& rangeMeasure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:3446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - bigOName
    - ' rangeMeasure'
    argTypes:
    - char*
    - RangeMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3446
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3446
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void BigO::BigO(const char* bigOName, RangeMeasure const& rangeMeasure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3448
    functionDepth: 0
    functionLinenumber: 3448
    functionLinenumberEnd: 3450
    functionName: '& BigO::name() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & BigO::name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3454
    functionName: ankerl::nanobench::BigO::constant
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BigO::constant() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3458
      start: 3456
    functionDepth: 0
    functionLinenumber: 3456
    functionLinenumberEnd: 3458
    functionName: ankerl::nanobench::BigO::normalizedRootMeanSquare
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BigO::normalizedRootMeanSquare() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bench/nanobench.h:3461,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bench/nanobench.h:3461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3460
    functionDepth: 0
    functionLinenumber: 3460
    functionLinenumberEnd: 3462
    functionName: BigO::operator<(BigO const& other) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool BigO::operator<(BigO const& other) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    - Dst: normalizedRootMeanSquare
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' bigO'
    argTypes:
    - std::ostream
    - BigO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3466
    functionName: '& operator<<(std::ostream& os, BigO const& bigO)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - normalizedRootMeanSquare
    - constant
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, BigO const& bigO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: constant
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:3473,1
    - Dst: normalizedRootMeanSquare
      Src: /src/bitcoin-core/src/bench/nanobench.h:3473,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:3474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' os'
    - ' bigOs'
    argTypes:
    - std::ostream
    - std::vector<ankerl::nanobench::BigO>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3468
    functionDepth: 3
    functionLinenumber: 3468
    functionLinenumberEnd: 3478
    functionName: '& operator<<(std::ostream& os, std::vector<ankerl::nanobench::BigO>
      const& bigOs)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ChallengeNumber
    - normalizedRootMeanSquare
    - std::setprecision
    - std::setw
    - constant
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, std::vector<ankerl::nanobench::BigO>
      const& bigOs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:1906,1
    - Dst: ankerl::nanobench::templates::parseMustacheTemplate
      Src: /src/bitcoin-core/src/bench/nanobench.h:1907,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:1910,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:1910,1
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:1913,1
    - Dst: std::distance
      Src: /src/bitcoin-core/src/bench/nanobench.h:1913,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1917,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1917,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1921,1
    - Dst: generateResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:1923,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1926,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1927,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:1929,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1929,1
    - Dst: front
      Src: /src/bitcoin-core/src/bench/nanobench.h:1932,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1933,1
    - Dst: generateResultMeasurement
      Src: /src/bitcoin-core/src/bench/nanobench.h:1934,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1937,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1937,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:1942,1
    - Dst: generateResultTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1944,1
    - Dst: front
      Src: /src/bitcoin-core/src/bench/nanobench.h:1944,1
    - Dst: generateConfigTag
      Src: /src/bitcoin-core/src/bench/nanobench.h:1947,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/nanobench.h:1947,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:1948,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:1948,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - mustacheTemplate
    - ' results'
    - ' out'
    argTypes:
    - char*
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1903
    functionDepth: 2
    functionLinenumber: 1903
    functionLinenumberEnd: 1954
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 17
    functionsReached:
    - write
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::templates::parseMustacheTemplate
    - std::distance
    - generateResult
    - static_cast<int>
    - std::runtime_error
    - generateConfigTag
    - precision
    - size
    - std::string
    - generateResultTag
    - back
    - ankerl::nanobench::detail::fmt::to_s
    - generateResultMeasurement
    - front
    linkageType: ''
    returnType: void
    signature: void render(char const* mustacheTemplate, std::vector<Result> const&
      results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1957,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mustacheTemplate'
    - ' results'
    - ' out'
    argTypes:
    - std::string
    - std::vector<Result>
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1958
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 18
    functionsReached:
    - c_str
    - ankerl::nanobench::render
    linkageType: ''
    returnType: void
    signature: void render(std::string const& mustacheTemplate, std::vector<Result>
      const& results, std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1961,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mustacheTemplate
    - ' bench'
    - ' out'
    argTypes:
    - char*
    - Bench
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1960
    functionDepth: 1
    functionLinenumber: 1960
    functionLinenumberEnd: 1962
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 19
    functionsReached:
    - ankerl::nanobench::render
    - results
    linkageType: ''
    returnType: void
    signature: void render(char const* mustacheTemplate, const Bench& bench, std::ostream&
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mustacheTemplate'
    - ' bench'
    - ' out'
    argTypes:
    - std::string
    - Bench
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1966
    functionName: ankerl::nanobench::render
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 20
    functionsReached:
    - c_str
    - ankerl::nanobench::render
    - results
    linkageType: ''
    returnType: void
    signature: void render(std::string const& mustacheTemplate, const Bench& bench,
      std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1980
    functionName: ankerl::nanobench::detail::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & performanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ankerl::nanobench::detail::doNotOptimizeAwaySink
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAwaySink(void const*)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/bench/nanobench.h:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filename'
    - fail
    argTypes:
    - std::string
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: ankerl::nanobench::detail::parseFile
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - std::ifstream::fail
    linkageType: ''
    returnType: T
    signature: T parseFile(std::string const& filename, bool* fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: ankerl::nanobench::detail::getEnv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - std::getenv
    linkageType: ''
    returnType: char
    signature: char * getEnv(char const* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2017
    functionName: ankerl::nanobench::detail::isEndlessRunning
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    linkageType: ''
    returnType: bool
    signature: bool isEndlessRunning(std::string const& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2021,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: ankerl::nanobench::detail::isWarningsEnabled
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool isWarningsEnabled()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2026,1
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2027,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2030,1
    - Dst: sysconf
      Src: /src/bitcoin-core/src/bench/nanobench.h:2038,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2040,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2046,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2047,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2049,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2050,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2051,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2060,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2062,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2066,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2068,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2075,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' warnings'
    - ' recommendations'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2080
    functionName: ankerl::nanobench::detail::gatherStabilityInformation
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - ChallengeNumber
    - sysconf
    - ankerl::nanobench::detail::parseFile
    - clear
    - ankerl::nanobench::detail::fmt::to_s
    - emplace_back
    - ankerl::nanobench::detail::d
    linkageType: ''
    returnType: void
    signature: void gatherStabilityInformation(std::vector<std::string>& warnings,
      std::vector<std::string>& recommendations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2084,1
    - Dst: ankerl::nanobench::detail::gatherStabilityInformation
      Src: /src/bitcoin-core/src/bench/nanobench.h:2089,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - outStream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2082
    functionDepth: 4
    functionLinenumber: 2082
    functionLinenumberEnd: 2104
    functionName: ankerl::nanobench::detail::printStabilityInformationOnce
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::gatherStabilityInformation
    - std::vector::empty
    - ankerl::nanobench::detail::isWarningsEnabled
    linkageType: ''
    returnType: void
    signature: void printStabilityInformationOnce(std::ostream* outStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: ankerl::nanobench::detail::singletonHeaderHash
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t & singletonHeaderHash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - val
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ankerl::nanobench::detail::hash_combine
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_combine(uint64_t seed, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/bench/nanobench.h:2119,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2123,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - numEvaluations
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2130
    functionName: ankerl::nanobench::detail::calcClockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - NodeClock::now
    - RandomMixin::max
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration calcClockResolution(size_t numEvaluations) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::calcClockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2136
    functionName: ankerl::nanobench::detail::clockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - ankerl::nanobench::detail::calcClockResolution
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration clockResolution() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:2144,1
    - Dst: ankerl::nanobench::detail::printStabilityInformationOnce
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: clockResolutionMultiple
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2149,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2150,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2152,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2153,1
    - Dst: ankerl::nanobench::detail::isEndlessRunning
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2157,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2160,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2161,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2163,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2165,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2142
    functionDepth: 5
    functionLinenumber: 2142
    functionLinenumberEnd: 2171
    functionName: ankerl::nanobench::detail::Impl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - epochIterations
    - ankerl::nanobench::detail::isEndlessRunning
    - config
    - maxEpochTime
    - minEpochIterations
    - ankerl::nanobench::detail::printStabilityInformationOnce
    - ankerl::nanobench::detail::clockResolution
    - output
    - minEpochTime
    - warmup
    - clockResolutionMultiple
    - name
    linkageType: ''
    returnType: void
    signature: void Impl(Bench const& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2175,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2176,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2177,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: uniform01
      Src: /src/bitcoin-core/src/bench/nanobench.h:2183,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - elapsed
    - iters
    argTypes:
    - std::chrono::nanoseconds
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: ankerl::nanobench::detail::calcBestNumIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - minEpochIterations
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::d
    - uniform01
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calcBestNumIters(std::chrono::nanoseconds elapsed, uint64_t
      iters) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2195,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2190
    functionDepth: 4
    functionLinenumber: 2190
    functionLinenumberEnd: 2203
    functionName: ankerl::nanobench::detail::upscale
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ankerl::nanobench::detail::calcBestNumIters
    - ankerl::nanobench::detail::showResult
    linkageType: ''
    returnType: void
    signature: void upscale(std::chrono::nanoseconds elapsed)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2212,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2216,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2220,1
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2225,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2230,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2231,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2233,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2242,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2243,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2244,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2246,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2257,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2205
    functionDepth: 4
    functionLinenumber: 2205
    functionLinenumberEnd: 2264
    functionName: ankerl::nanobench::detail::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::add
    - ChallengeNumber
    - epochIterations
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::detail::showResult
    - std::chrono::nanoseconds::count
    - static_cast<int>
    - size
    - epochs
    - count
    - ankerl::nanobench::detail::calcBestNumIters
    - name
    - ankerl::nanobench::detail::isCloseEnoughForMeasurements
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::upscale
    linkageType: ''
    returnType: void
    signature: void add(std::chrono::nanoseconds elapsed, PerformanceCounters const&
      pc) noexcept
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2268,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2270,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2274,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2276,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2278,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2279,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2281,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2284,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2292,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2293,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2297,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2307,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2310,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2312,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2315,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2317,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2324,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2335,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2336,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2341,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2343,1
    - Dst: separator
      Src: /src/bitcoin-core/src/bench/nanobench.h:2346,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2351,1
    - Dst: invalid
      Src: /src/bitcoin-core/src/bench/nanobench.h:2353,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: value
      Src: /src/bitcoin-core/src/bench/nanobench.h:2358,1
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2361,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2369,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - ' errorMessage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2267
    functionDepth: 3
    functionLinenumber: 2267
    functionLinenumberEnd: 2377
    functionName: ankerl::nanobench::detail::showResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - relative
    - std::vector::emplace_back
    - complexityN
    - ankerl::nanobench::detail::hash_combine
    - std::string
    - name
    - sumProduct
    - ANKERL_NANOBENCH_LOG
    - batch
    - timeUnitName
    - medianAbsolutePercentError
    - has
    - ankerl::nanobench::detail::singletonHeaderHash
    - static_cast<uint64_t>
    - ChallengeNumber
    - timeUnit
    - ankerl::nanobench::detail::performanceCounters
    - separator
    - empty
    - unit
    - results
    - value
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::isWarningsEnabled
    - output
    - invalid
    - epochs
    - ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    - median
    - title
    linkageType: ''
    returnType: void
    signature: void showResult(std::string const& errorMessage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2381
    functionName: ankerl::nanobench::detail::isCloseEnoughForMeasurements
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCloseEnoughForMeasurements(std::chrono::nanoseconds elapsed)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl::Impl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2395
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - Impl::Impl
    linkageType: ''
    returnType: void
    signature: void IterationLogic::IterationLogic(Bench const& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: IterationLogic::~IterationLogic()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic::~IterationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    - Dst: mBench::name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2404
    functionName: ankerl::nanobench::detail::IterationLogic::numIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ANKERL_NANOBENCH_LOG
    - mBench::name
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IterationLogic::numIters() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2408
    functionName: ankerl::nanobench::detail::IterationLogic::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ankerl::nanobench::detail::IterationLogic::add
    linkageType: ''
    returnType: void
    signature: void IterationLogic::add(std::chrono::nanoseconds elapsed, PerformanceCounters
      const& pc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2412
    functionName: ankerl::nanobench::detail::IterationLogic::moveResultTo
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void IterationLogic::moveResultTo(std::vector<Result>& results) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - targetValue_
    - correctMeasuringOverhead_
    - correctLoopOverhead_
    argTypes:
    - uint64_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2423
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Target(uint64_t* targetValue_, bool correctMeasuringOverhead_,
      bool correctLoopOverhead_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2430
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2433
    functionName: '& operator=(LinuxPerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2434
    functionName: '& operator=(LinuxPerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2438
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::start
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2440
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::stop
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2447
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::hasError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasError() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2457,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2464
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void beginMeasure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2472,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2477,1
    - Dst: read
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: data
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2466
    functionDepth: 2
    functionLinenumber: 2466
    functionLinenumberEnd: 2480
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached:
    - read
    - ioctl
    - static_cast<ssize_t>
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - divisor
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2488
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T divRounded(T a, T divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2496
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mix(uint32_t x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2503,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2512,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:2513,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2514,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2519,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2527,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2538,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2540,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2542,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2543,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2547,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2550,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2551,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2553,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2554,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2557,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
      Src: /src/bitcoin-core/src/bench/nanobench.h:2563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2566
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::calibrate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - auto::size
    - ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    - op
    - std::move
    - size
    - ankerl::nanobench::detail::doNotOptimizeAway
    - ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    - ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    - ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void calibrate(Op&& op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/bench/nanobench.h:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: LinuxPerformanceCounters::~LinuxPerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::~LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - swId
    - target
    argTypes:
    - perf_sw_ids
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2593
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 13
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_sw_ids swId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwId
    - target
    argTypes:
    - perf_hw_id
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2597
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_hw_id hwId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2604,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2615,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:2618,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2640
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - UINT64_C
    - find
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perf_event_attr
      Src: /src/bitcoin-core/src/bench/nanobench.h:2648,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/bench/nanobench.h:2649,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: syscall
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2679,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bench/nanobench.h:2685,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2688,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2689,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2690,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - type
    - eventid
    - target
    argTypes:
    - uint32_t
    - uint64_t
    - Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2694
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - emplace
    - std::memset
    - perf_event_attr
    - static_cast<int>
    - ioctl
    - size
    - resize
    - syscall
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(uint32_t type, uint64_t eventid,
      Target target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinuxPerformanceCounters::LinuxPerformanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2697,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: start
      Src: /src/bitcoin-core/src/bench/nanobench.h:2718,1
    - Dst: calibrate
      Src: /src/bitcoin-core/src/bench/nanobench.h:2719,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2720,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2721,1
    - Dst: hasError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2730
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    - hasError
    - LinuxPerformanceCounters::LinuxPerformanceCounters
    - monitor
    - start
    - NodeClock::now
    - calibrate
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2735
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2743
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::endMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2747
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::updateResults
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2751
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2752
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2753
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2754
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2755
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& PerformanceCounters::val() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<uint64_t>
    signature: PerfCountSet<uint64_t> & PerformanceCounters::val() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& PerformanceCounters::has() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<bool>
    signature: PerfCountSet<bool> & PerformanceCounters::has() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1980
    functionName: ankerl::nanobench::detail::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: PerformanceCounters
    signature: PerformanceCounters & performanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ankerl::nanobench::detail::doNotOptimizeAwaySink
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doNotOptimizeAwaySink(void const*)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/bitcoin-core/src/bench/nanobench.h:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filename'
    - fail
    argTypes:
    - std::string
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: ankerl::nanobench::detail::parseFile
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - std::ifstream::fail
    linkageType: ''
    returnType: T
    signature: T parseFile(std::string const& filename, bool* fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: ankerl::nanobench::detail::getEnv
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - std::getenv
    linkageType: ''
    returnType: char
    signature: char * getEnv(char const* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2017
    functionName: ankerl::nanobench::detail::isEndlessRunning
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    linkageType: ''
    returnType: bool
    signature: bool isEndlessRunning(std::string const& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::getEnv
      Src: /src/bitcoin-core/src/bench/nanobench.h:2021,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: ankerl::nanobench::detail::isWarningsEnabled
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - ankerl::nanobench::detail::getEnv
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool isWarningsEnabled()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2026,1
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:2027,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2030,1
    - Dst: sysconf
      Src: /src/bitcoin-core/src/bench/nanobench.h:2038,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2040,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2044,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2046,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2047,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2049,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2050,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2051,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2052,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2060,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2062,1
    - Dst: ankerl::nanobench::detail::parseFile
      Src: /src/bitcoin-core/src/bench/nanobench.h:2066,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2068,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2075,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' warnings'
    - ' recommendations'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2080
    functionName: ankerl::nanobench::detail::gatherStabilityInformation
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - static_cast<uint64_t>
    - ChallengeNumber
    - sysconf
    - ankerl::nanobench::detail::parseFile
    - clear
    - ankerl::nanobench::detail::fmt::to_s
    - emplace_back
    - ankerl::nanobench::detail::d
    linkageType: ''
    returnType: void
    signature: void gatherStabilityInformation(std::vector<std::string>& warnings,
      std::vector<std::string>& recommendations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2084,1
    - Dst: ankerl::nanobench::detail::gatherStabilityInformation
      Src: /src/bitcoin-core/src/bench/nanobench.h:2089,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - outStream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2082
    functionDepth: 4
    functionLinenumber: 2082
    functionLinenumberEnd: 2104
    functionName: ankerl::nanobench::detail::printStabilityInformationOnce
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ankerl::nanobench::detail::gatherStabilityInformation
    - std::vector::empty
    - ankerl::nanobench::detail::isWarningsEnabled
    linkageType: ''
    returnType: void
    signature: void printStabilityInformationOnce(std::ostream* outStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: ankerl::nanobench::detail::singletonHeaderHash
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t & singletonHeaderHash() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - val
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ankerl::nanobench::detail::hash_combine
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_combine(uint64_t seed, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/bench/nanobench.h:2119,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2123,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - numEvaluations
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2130
    functionName: ankerl::nanobench::detail::calcClockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - NodeClock::now
    - RandomMixin::max
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration calcClockResolution(size_t numEvaluations) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::calcClockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2136
    functionName: ankerl::nanobench::detail::clockResolution
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 15
    functionsReached:
    - ankerl::nanobench::detail::calcClockResolution
    linkageType: ''
    returnType: Clock::duration
    signature: Clock::duration clockResolution() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:2144,1
    - Dst: ankerl::nanobench::detail::printStabilityInformationOnce
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2145,1
    - Dst: ankerl::nanobench::detail::clockResolution
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: clockResolutionMultiple
      Src: /src/bitcoin-core/src/bench/nanobench.h:2148,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2149,1
    - Dst: maxEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2150,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2152,1
    - Dst: minEpochTime
      Src: /src/bitcoin-core/src/bench/nanobench.h:2153,1
    - Dst: ankerl::nanobench::detail::isEndlessRunning
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2156,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2157,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2160,1
    - Dst: warmup
      Src: /src/bitcoin-core/src/bench/nanobench.h:2161,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2163,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2165,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2142
    functionDepth: 5
    functionLinenumber: 2142
    functionLinenumberEnd: 2171
    functionName: ankerl::nanobench::detail::Impl
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - epochIterations
    - ankerl::nanobench::detail::isEndlessRunning
    - config
    - maxEpochTime
    - minEpochIterations
    - ankerl::nanobench::detail::printStabilityInformationOnce
    - ankerl::nanobench::detail::clockResolution
    - output
    - minEpochTime
    - warmup
    - clockResolutionMultiple
    - name
    linkageType: ''
    returnType: void
    signature: void Impl(Bench const& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2175,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2176,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2177,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2179,1
    - Dst: uniform01
      Src: /src/bitcoin-core/src/bench/nanobench.h:2183,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - elapsed
    - iters
    argTypes:
    - std::chrono::nanoseconds
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: ankerl::nanobench::detail::calcBestNumIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - minEpochIterations
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::d
    - uniform01
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calcBestNumIters(std::chrono::nanoseconds elapsed, uint64_t
      iters) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2195,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2190
    functionDepth: 4
    functionLinenumber: 2190
    functionLinenumberEnd: 2203
    functionName: ankerl::nanobench::detail::upscale
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ankerl::nanobench::detail::calcBestNumIters
    - ankerl::nanobench::detail::showResult
    linkageType: ''
    returnType: void
    signature: void upscale(std::chrono::nanoseconds elapsed)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2212,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2216,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2220,1
    - Dst: ankerl::nanobench::detail::isCloseEnoughForMeasurements
      Src: /src/bitcoin-core/src/bench/nanobench.h:2225,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2230,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2231,1
    - Dst: ankerl::nanobench::detail::upscale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2233,1
    - Dst: ankerl::nanobench::detail::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2242,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2243,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/nanobench.h:2244,1
    - Dst: ankerl::nanobench::detail::calcBestNumIters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2246,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2255,1
    - Dst: ankerl::nanobench::detail::showResult
      Src: /src/bitcoin-core/src/bench/nanobench.h:2257,1
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2261,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: count
      Src: /src/bitcoin-core/src/bench/nanobench.h:2262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2205
    functionDepth: 4
    functionLinenumber: 2205
    functionLinenumberEnd: 2264
    functionName: ankerl::nanobench::detail::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64_t>
    - ankerl::nanobench::detail::add
    - ChallengeNumber
    - epochIterations
    - ANKERL_NANOBENCH_LOG
    - ankerl::nanobench::detail::showResult
    - std::chrono::nanoseconds::count
    - static_cast<int>
    - size
    - epochs
    - count
    - ankerl::nanobench::detail::calcBestNumIters
    - name
    - ankerl::nanobench::detail::isCloseEnoughForMeasurements
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::upscale
    linkageType: ''
    returnType: void
    signature: void add(std::chrono::nanoseconds elapsed, PerformanceCounters const&
      pc) noexcept
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2268,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2270,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2274,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2276,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2278,1
    - Dst: results
      Src: /src/bitcoin-core/src/bench/nanobench.h:2279,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2281,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2284,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/nanobench.h:2285,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2288,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2289,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2290,1
    - Dst: medianAbsolutePercentError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2292,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2293,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2296,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2297,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2298,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2302,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2303,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2304,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2307,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2309,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2310,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/nanobench.h:2311,1
    - Dst: has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2312,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:2315,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2317,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: sumProduct
      Src: /src/bitcoin-core/src/bench/nanobench.h:2321,1
    - Dst: output
      Src: /src/bitcoin-core/src/bench/nanobench.h:2324,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2328,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2329,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: timeUnitName
      Src: /src/bitcoin-core/src/bench/nanobench.h:2330,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: timeUnit
      Src: /src/bitcoin-core/src/bench/nanobench.h:2331,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: relative
      Src: /src/bitcoin-core/src/bench/nanobench.h:2332,1
    - Dst: ankerl::nanobench::detail::hash_combine
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::performanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2333,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2335,1
    - Dst: ankerl::nanobench::detail::singletonHeaderHash
      Src: /src/bitcoin-core/src/bench/nanobench.h:2336,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2341,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2343,1
    - Dst: separator
      Src: /src/bitcoin-core/src/bench/nanobench.h:2346,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: title
      Src: /src/bitcoin-core/src/bench/nanobench.h:2348,1
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2351,1
    - Dst: invalid
      Src: /src/bitcoin-core/src/bench/nanobench.h:2353,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2355,1
    - Dst: value
      Src: /src/bitcoin-core/src/bench/nanobench.h:2358,1
    - Dst: ankerl::nanobench::detail::isWarningsEnabled
      Src: /src/bitcoin-core/src/bench/nanobench.h:2361,1
    - Dst: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2365,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/nanobench.h:2367,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2369,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:2371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - ' errorMessage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2267
    functionDepth: 3
    functionLinenumber: 2267
    functionLinenumberEnd: 2377
    functionName: ankerl::nanobench::detail::showResult
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 16
    functionsReached:
    - relative
    - std::vector::emplace_back
    - complexityN
    - ankerl::nanobench::detail::hash_combine
    - std::string
    - name
    - sumProduct
    - ANKERL_NANOBENCH_LOG
    - batch
    - timeUnitName
    - medianAbsolutePercentError
    - has
    - ankerl::nanobench::detail::singletonHeaderHash
    - static_cast<uint64_t>
    - ChallengeNumber
    - timeUnit
    - ankerl::nanobench::detail::performanceCounters
    - separator
    - empty
    - unit
    - results
    - value
    - ankerl::nanobench::detail::d
    - ankerl::nanobench::detail::isWarningsEnabled
    - output
    - invalid
    - epochs
    - ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    - median
    - title
    linkageType: ''
    returnType: void
    signature: void showResult(std::string const& errorMessage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elapsed
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2381
    functionName: ankerl::nanobench::detail::isCloseEnoughForMeasurements
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCloseEnoughForMeasurements(std::chrono::nanoseconds elapsed)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Impl::Impl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2395
    functionName: ankerl::nanobench::detail::IterationLogic::IterationLogic
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - Impl::Impl
    linkageType: ''
    returnType: void
    signature: void IterationLogic::IterationLogic(Bench const& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: IterationLogic::~IterationLogic()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterationLogic::~IterationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ANKERL_NANOBENCH_LOG
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    - Dst: mBench::name
      Src: /src/bitcoin-core/src/bench/nanobench.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2404
    functionName: ankerl::nanobench::detail::IterationLogic::numIters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ANKERL_NANOBENCH_LOG
    - mBench::name
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IterationLogic::numIters() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::IterationLogic::add
      Src: /src/bitcoin-core/src/bench/nanobench.h:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elapsed
    - ' pc'
    argTypes:
    - std::chrono::nanoseconds
    - PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2408
    functionName: ankerl::nanobench::detail::IterationLogic::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::detail::IterationLogic::add
    linkageType: ''
    returnType: void
    signature: void IterationLogic::add(std::chrono::nanoseconds elapsed, PerformanceCounters
      const& pc) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2412
    functionName: ankerl::nanobench::detail::IterationLogic::moveResultTo
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void IterationLogic::moveResultTo(std::vector<Result>& results) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - targetValue_
    - correctMeasuringOverhead_
    - correctLoopOverhead_
    argTypes:
    - uint64_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2423
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Target(uint64_t* targetValue_, bool correctMeasuringOverhead_,
      bool correctLoopOverhead_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2430
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::LinuxPerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2433
    functionName: '& operator=(LinuxPerformanceCounters const&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2434
    functionName: '& operator=(LinuxPerformanceCounters&&)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxPerformanceCounters
    signature: LinuxPerformanceCounters & operator=(LinuxPerformanceCounters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2438
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::start
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2440
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::stop
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2447
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::hasError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasError() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2457,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2464
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void beginMeasure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2472,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2477,1
    - Dst: read
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: data
      Src: /src/bitcoin-core/src/bench/nanobench.h:2478,1
    - Dst: static_cast<ssize_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2466
    functionDepth: 2
    functionLinenumber: 2466
    functionLinenumberEnd: 2480
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached:
    - read
    - ioctl
    - static_cast<ssize_t>
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - divisor
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2488
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T divRounded(T a, T divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2496
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mix(uint32_t x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2503,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2512,1
    - Dst: op
      Src: /src/bitcoin-core/src/bench/nanobench.h:2513,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2514,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2519,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2527,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2538,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2540,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2542,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2543,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2547,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2550,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::mix
      Src: /src/bitcoin-core/src/bench/nanobench.h:2551,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2553,1
    - Dst: ankerl::nanobench::detail::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/nanobench.h:2554,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2557,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
      Src: /src/bitcoin-core/src/bench/nanobench.h:2563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2566
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::calibrate
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - auto::size
    - ankerl::nanobench::detail::LinuxPerformanceCounters::beginMeasure
    - op
    - std::move
    - size
    - ankerl::nanobench::detail::doNotOptimizeAway
    - ankerl::nanobench::detail::LinuxPerformanceCounters::divRounded
    - ankerl::nanobench::detail::LinuxPerformanceCounters::endMeasure
    - ankerl::nanobench::detail::LinuxPerformanceCounters::mix
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void calibrate(Op&& op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/bench/nanobench.h:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: LinuxPerformanceCounters::~LinuxPerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::~LinuxPerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - swId
    - target
    argTypes:
    - perf_sw_ids
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2593
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 15
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_sw_ids swId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwId
    - target
    argTypes:
    - perf_hw_id
    - LinuxPerformanceCounters::Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2597
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 16
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(perf_hw_id hwId, LinuxPerformanceCounters::Target
      target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:2604,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2615,1
    - Dst: find
      Src: /src/bitcoin-core/src/bench/nanobench.h:2618,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2640
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - UINT64_C
    - find
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void LinuxPerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perf_event_attr
      Src: /src/bitcoin-core/src/bench/nanobench.h:2648,1
    - Dst: std::memset
      Src: /src/bitcoin-core/src/bench/nanobench.h:2649,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: syscall
      Src: /src/bitcoin-core/src/bench/nanobench.h:2669,1
    - Dst: ioctl
      Src: /src/bitcoin-core/src/bench/nanobench.h:2679,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/bench/nanobench.h:2685,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2688,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2689,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2690,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/nanobench.h:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - type
    - eventid
    - target
    argTypes:
    - uint32_t
    - uint64_t
    - Target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2694
    functionName: ankerl::nanobench::detail::LinuxPerformanceCounters::monitor
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 16
    functionsReached:
    - emplace
    - std::memset
    - perf_event_attr
    - static_cast<int>
    - ioctl
    - size
    - resize
    - syscall
    linkageType: ''
    returnType: bool
    signature: bool LinuxPerformanceCounters::monitor(uint32_t type, uint64_t eventid,
      Target target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinuxPerformanceCounters::LinuxPerformanceCounters
      Src: /src/bitcoin-core/src/bench/nanobench.h:2697,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2702,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2705,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2707,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2709,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2710,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2714,1
    - Dst: monitor
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: ankerl::nanobench::detail::LinuxPerformanceCounters::Target
      Src: /src/bitcoin-core/src/bench/nanobench.h:2716,1
    - Dst: start
      Src: /src/bitcoin-core/src/bench/nanobench.h:2718,1
    - Dst: calibrate
      Src: /src/bitcoin-core/src/bench/nanobench.h:2719,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2720,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/bench/nanobench.h:2721,1
    - Dst: hasError
      Src: /src/bitcoin-core/src/bench/nanobench.h:2726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2730
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::LinuxPerformanceCounters::Target
    - hasError
    - LinuxPerformanceCounters::LinuxPerformanceCounters
    - monitor
    - start
    - NodeClock::now
    - calibrate
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2735
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::endMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2743
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::endMeasure
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::PerformanceCounters::updateResults
      Src: /src/bitcoin-core/src/bench/nanobench.h:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2747
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - ankerl::nanobench::detail::PerformanceCounters::updateResults
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t numIters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2751
    functionName: ankerl::nanobench::detail::PerformanceCounters::PerformanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2752
    functionName: PerformanceCounters::~PerformanceCounters()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::~PerformanceCounters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2753
    functionName: ankerl::nanobench::detail::PerformanceCounters::beginMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::beginMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2754
    functionName: ankerl::nanobench::detail::PerformanceCounters::endMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::endMeasure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2755
    functionName: ankerl::nanobench::detail::PerformanceCounters::updateResults
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerformanceCounters::updateResults(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& PerformanceCounters::val() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<uint64_t>
    signature: PerfCountSet<uint64_t> & PerformanceCounters::val() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& PerformanceCounters::has() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PerfCountSet<bool>
    signature: PerfCountSet<bool> & PerformanceCounters::has() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 15
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sep
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2771
    functionName: ankerl::nanobench::detail::fmt::NumSep::NumSep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumSep::NumSep(char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_thousands_sep
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char NumSep::do_thousands_sep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2779
    functionName: ankerl::nanobench::detail::fmt::NumSep::do_grouping
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NumSep::do_grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2784,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2785,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2786,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2787,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2788
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::StreamStateRestorer
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - getloc
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::StreamStateRestorer(std::ostream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/bitcoin-core/src/bench/nanobench.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2792
    functionName: StreamStateRestorer::~StreamStateRestorer()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::~StreamStateRestorer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2796,1
    - Dst: precision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2797,1
    - Dst: width
      Src: /src/bitcoin-core/src/bench/nanobench.h:2798,1
    - Dst: fill
      Src: /src/bitcoin-core/src/bench/nanobench.h:2799,1
    - Dst: flags
      Src: /src/bitcoin-core/src/bench/nanobench.h:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2801
    functionName: ankerl::nanobench::detail::fmt::StreamStateRestorer::restore
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - fill
    - width
    - flags
    - precision
    - imbue
    linkageType: ''
    returnType: void
    signature: void StreamStateRestorer::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - width
    - precision
    - value
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: ankerl::nanobench::detail::fmt::Number::Number
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Number::Number(int width, int precision, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imbue
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::locale
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: getloc
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: NumSep::NumSep
      Src: /src/bitcoin-core/src/bench/nanobench.h:2815,1
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2818
    functionName: '& Number::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - NumSep::NumSep
    - std::setprecision
    - imbue
    - std::setw
    - getloc
    - std::locale
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Number::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2822,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: ankerl::nanobench::detail::fmt::Number::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Number::to_s() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2829,1
    - Dst: std::reverse
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2834
    functionName: ankerl::nanobench::detail::fmt::to_s
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 15
    functionsReached:
    - std::string::end
    - std::reverse
    - std::string::begin
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string to_s(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '& operator<<(std::ostream& os, Number const& n)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, Number const& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - w
    - prec
    - tit
    - suff
    - val
    argTypes:
    - int
    - int
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::MarkDownColumn
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MarkDownColumn::MarkDownColumn(int w, int prec, std::string tit,
      std::string suff, double val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:2849,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::title
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2854,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2855,1
    - Dst: std::string::back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::separator
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2861,1
    - Dst: std::string::front
      Src: /src/bitcoin-core/src/bench/nanobench.h:2862,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2865
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::invalid
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<size_t>
    - std::string::front
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::invalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2869,1
    - Dst: Number
      Src: /src/bitcoin-core/src/bench/nanobench.h:2870,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/bench/nanobench.h:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: ankerl::nanobench::detail::fmt::MarkDownColumn::value
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::stringstream::str
    - Number
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string MarkDownColumn::value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2876,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2877,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2879,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2881,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2885
    functionName: ankerl::nanobench::detail::fmt::MarkDownCode::MarkDownCode
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 8
    functionsReached:
    - push_back
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: void MarkDownCode::MarkDownCode(std::string const& what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2889
    functionName: '& MarkDownCode::write(std::ostream& os) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & MarkDownCode::write(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/bench/nanobench.h:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' mdCode'
    argTypes:
    - std::ostream
    - MarkDownCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2893
    functionName: '& operator<<(std::ostream& os, MarkDownCode const& mdCode)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, MarkDownCode const& mdCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2898
    functionDepth: 0
    functionLinenumber: 2898
    functionLinenumberEnd: 2898
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2899
    functionName: Config::~Config()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::~Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2902
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config(Config const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2903
    functionName: ankerl::nanobench::Config::Config
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::Config(Config&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2906
    functionName: Result::~Result()
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::~Result()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2909
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::Result(Result const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2910
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result::Result(Result&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename std::underlying_type<T>::type>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2916
    functionName: ankerl::nanobench::detail::u
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 33
    functionsReached:
    - static_cast<typename std::underlying_type<T>::type>
    linkageType: ''
    returnType: typename std::underlying_type<T>::type
    signature: typename std::underlying_type<T>::type u(T val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename std::underlying_type<T>::type>
      Src: /src/bitcoin-core/src/bench/nanobench.h:2915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2916
    functionName: ankerl::nanobench::detail::u
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 33
    functionsReached:
    - static_cast<typename std::underlying_type<T>::type>
    linkageType: ''
    returnType: typename std::underlying_type<T>::type
    signature: typename std::underlying_type<T>::type u(T val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:2921,1
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - benchmarkConfig
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2920
    functionDepth: 1
    functionLinenumber: 2920
    functionLinenumberEnd: 2922
    functionName: ankerl::nanobench::Result::Result
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::move
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: void
    signature: void Result::Result(Config benchmarkConfig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2928,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2929,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2929,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2931,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2932,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2933,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2935,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2936,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2938,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2939,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2941,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2942,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2944,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2947,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2948,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2948,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2950,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2950,1
    - Dst: ankerl::nanobench::Result::has
      Src: /src/bitcoin-core/src/bench/nanobench.h:2952,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:2954,1
    - Dst: val
      Src: /src/bitcoin-core/src/bench/nanobench.h:2954,1
    - Dst: u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2965,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:2965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - totalElapsed
    - iters
    - ' pc'
    argTypes:
    - Clock::duration
    - uint64_t
    - detail::PerformanceCounters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2924
    functionDepth: 2
    functionLinenumber: 2924
    functionLinenumberEnd: 2968
    functionName: ankerl::nanobench::Result::add
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - push_back
    - u
    - val
    - ankerl::nanobench::Result::has
    - d
    linkageType: ''
    returnType: void
    signature: void Result::add(Clock::duration totalElapsed, uint64_t iters, detail::PerformanceCounters
      const& pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2972
    functionName: '& Result::config() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: Config & Result::config() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2975,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:2978,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2980,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:2981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2974
    functionDepth: 1
    functionLinenumber: 2974
    functionLinenumberEnd: 2985
    functionName: ankerl::nanobench::calcMedian
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - end
    - empty
    - size
    - std::sort
    - begin
    linkageType: ''
    returnType: double
    signature: double calcMedian(std::vector<double>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2989,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:2990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2987
    functionDepth: 1
    functionLinenumber: 2987
    functionLinenumberEnd: 2991
    functionName: ankerl::nanobench::Result::median
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - calcMedian
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::median(Measure m) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:2995,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:2996,1
    - Dst: ankerl::nanobench::Result::sum
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    - Dst: d
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2993
    functionDepth: 2
    functionLinenumber: 2993
    functionLinenumberEnd: 3002
    functionName: ankerl::nanobench::Result::average
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - ankerl::nanobench::Result::sum
    - ankerl::nanobench::Result::size
    - d
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::average(Measure m) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3006,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:3010,1
    - Dst: calcMedian
      Src: /src/bitcoin-core/src/bench/nanobench.h:3019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3004
    functionDepth: 1
    functionLinenumber: 3004
    functionLinenumberEnd: 3020
    functionName: ankerl::nanobench::Result::medianAbsolutePercentError
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - calcMedian
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::medianAbsolutePercentError(Measure m) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3023,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3022
    functionDepth: 1
    functionLinenumber: 3022
    functionLinenumberEnd: 3025
    functionName: ankerl::nanobench::Result::sum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - end
    - std::accumulate
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::sum(Measure m) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3028,1
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3029,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3031,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3031,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - Measure
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3027
    functionDepth: 1
    functionLinenumber: 3027
    functionLinenumberEnd: 3040
    functionName: ankerl::nanobench::Result::sumProduct
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::size
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::sumProduct(Measure m1, Measure m2) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3043,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3042
    functionDepth: 1
    functionLinenumber: 3042
    functionLinenumberEnd: 3044
    functionName: ankerl::nanobench::Result::has
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 4
    functionsReached:
    - ankerl::nanobench::Result::empty
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: bool
    signature: bool Result::has(Measure m) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3047,1
    - Dst: at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - m
    argTypes:
    - size_t
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3049
    functionName: ankerl::nanobench::Result::get
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - at
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::get(size_t idx, Measure m) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3053
    functionName: ankerl::nanobench::Result::empty
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 14
    functionsReached:
    - ankerl::nanobench::Result::size
    linkageType: ''
    returnType: bool
    signature: bool Result::empty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3056,1
    - Dst: ankerl::nanobench::Result::size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 3055
    functionDepth: 1
    functionLinenumber: 3055
    functionLinenumberEnd: 3058
    functionName: ankerl::nanobench::Result::size
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 16
    functionsReached:
    - ankerl::nanobench::Result::size
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: size_t
    signature: size_t Result::size() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3061,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3062,1
    - Dst: std::min_element
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3060
    functionDepth: 1
    functionLinenumber: 3060
    functionLinenumberEnd: 3068
    functionName: ankerl::nanobench::Result::minimum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - end
    - std::min_element
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::minimum(Measure m) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::detail::u
      Src: /src/bitcoin-core/src/bench/nanobench.h:3071,1
    - Dst: ankerl::nanobench::Result::empty
      Src: /src/bitcoin-core/src/bench/nanobench.h:3072,1
    - Dst: std::max_element
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3070
    functionDepth: 1
    functionLinenumber: 3070
    functionLinenumberEnd: 3078
    functionName: ankerl::nanobench::Result::maximum
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::Result::empty
    - end
    - std::max_element
    - begin
    - ankerl::nanobench::detail::u
    linkageType: ''
    returnType: double
    signature: double Result::maximum(Measure m) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - variableName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3082
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3082
    functionName: '& Result::context(char const* variableName) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::at
    linkageType: ''
    returnType: std::string
    signature: std::string & Result::context(char const* variableName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::at
      Src: /src/bitcoin-core/src/bench/nanobench.h:3085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' variableName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3084
    functionDepth: 0
    functionLinenumber: 3084
    functionLinenumberEnd: 3086
    functionName: '& Result::context(std::string const& variableName) const'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::at
    linkageType: ''
    returnType: std::string
    signature: std::string & Result::context(std::string const& variableName) const
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3088
    functionDepth: 0
    functionLinenumber: 3088
    functionLinenumberEnd: 3115
    functionName: ankerl::nanobench::Result::fromString
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: Result::Measure
    signature: Result::Measure Result::fromString(std::string const& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3120
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3122
    functionDepth: 0
    functionLinenumber: 3122
    functionLinenumberEnd: 3122
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench(Bench&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3124
    functionName: ankerl::nanobench::Bench::Bench
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::Bench(Bench const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3126
    functionName: Bench::~Bench() noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bench::~Bench() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3128
    functionDepth: 0
    functionLinenumber: 3128
    functionLinenumberEnd: 3130
    functionName: ankerl::nanobench::Bench::batch
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Bench::batch() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3134
    functionName: ankerl::nanobench::Bench::complexityN
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Bench::complexityN() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - isRelativeEnabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3141
    functionName: '& Bench::relative(bool isRelativeEnabled) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::relative(bool isRelativeEnabled) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3144
    functionName: ankerl::nanobench::Bench::relative
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bench::relative() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - showPerformanceCounters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3146
    functionDepth: 0
    functionLinenumber: 3146
    functionLinenumberEnd: 3149
    functionName: '& Bench::performanceCounters(bool showPerformanceCounters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::performanceCounters(bool showPerformanceCounters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3152
    functionName: ankerl::nanobench::Bench::performanceCounters
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bench::performanceCounters() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - u
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3163
    functionName: '& Bench::unit(char const* u)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::unit(char const* u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/nanobench.h:3166,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/bench/nanobench.h:3166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3167
    functionName: '& Bench::unit(std::string const& u)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - c_str
    - unit
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::unit(std::string const& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3169
    functionDepth: 0
    functionLinenumber: 3169
    functionLinenumberEnd: 3171
    functionName: '& Bench::unit() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::unit() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' tu'
    - ' tuName'
    argTypes:
    - std::chrono::duration<double>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3177
    functionName: '& Bench::timeUnit(std::chrono::duration<double> const& tu, std::string
      const& tuName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::timeUnit(std::chrono::duration<double> const& tu, std::string
      const& tuName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3181
    functionName: '& Bench::timeUnitName() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::timeUnitName() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3185
    functionName: '& Bench::timeUnit() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::duration<double>
    signature: std::chrono::duration<double> & Bench::timeUnit() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - benchmarkTitle
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3194
    functionName: '& Bench::title(const char* benchmarkTitle)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::title(const char* benchmarkTitle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' benchmarkTitle'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3201
    functionName: '& Bench::title(std::string const& benchmarkTitle)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::title(std::string const& benchmarkTitle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3205
    functionName: '& Bench::title() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::title() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - benchmarkName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3210
    functionName: '& Bench::name(const char* benchmarkName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::name(const char* benchmarkName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' benchmarkName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3212
    functionDepth: 0
    functionLinenumber: 3212
    functionLinenumberEnd: 3215
    functionName: '& Bench::name(std::string const& benchmarkName)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::name(std::string const& benchmarkName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3219
    functionName: '& Bench::name() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Bench::name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - variableName
    - variableValue
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3224
      start: 3221
    functionDepth: 0
    functionLinenumber: 3221
    functionLinenumberEnd: 3224
    functionName: '& Bench::context(char const* variableName, char const* variableValue)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::context(char const* variableName, char const* variableValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' variableName'
    - ' variableValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3229
    functionName: '& Bench::context(std::string const& variableName, std::string const&
      variableValue)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::context(std::string const& variableName, std::string
      const& variableValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mContext::clear
      Src: /src/bitcoin-core/src/bench/nanobench.h:3232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3231
    functionDepth: 0
    functionLinenumber: 3231
    functionLinenumberEnd: 3234
    functionName: '& Bench::clearContext()'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - mContext::clear
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::clearContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numEpochs
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3240
    functionName: '& Bench::epochs(size_t numEpochs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::epochs(size_t numEpochs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3241
    functionDepth: 0
    functionLinenumber: 3241
    functionLinenumberEnd: 3243
    functionName: ankerl::nanobench::Bench::epochs
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Bench::epochs() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multiple
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3249
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3249
    functionName: '& Bench::clockResolutionMultiple(size_t multiple) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::clockResolutionMultiple(size_t multiple) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3250
    functionDepth: 0
    functionLinenumber: 3250
    functionLinenumberEnd: 3252
    functionName: ankerl::nanobench::Bench::clockResolutionMultiple
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Bench::clockResolutionMultiple() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3258
    functionName: '& Bench::maxEpochTime(std::chrono::nanoseconds t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::maxEpochTime(std::chrono::nanoseconds t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3261
    functionName: ankerl::nanobench::Bench::maxEpochTime
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Bench::maxEpochTime() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3264
    functionDepth: 0
    functionLinenumber: 3264
    functionLinenumberEnd: 3267
    functionName: '& Bench::minEpochTime(std::chrono::nanoseconds t) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::minEpochTime(std::chrono::nanoseconds t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3270
    functionName: ankerl::nanobench::Bench::minEpochTime
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Bench::minEpochTime() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3275
    functionName: '& Bench::minEpochIterations(uint64_t numIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::minEpochIterations(uint64_t numIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3276
    functionDepth: 0
    functionLinenumber: 3276
    functionLinenumberEnd: 3278
    functionName: ankerl::nanobench::Bench::minEpochIterations
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::minEpochIterations() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3280
    functionDepth: 0
    functionLinenumber: 3280
    functionLinenumberEnd: 3283
    functionName: '& Bench::epochIterations(uint64_t numIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::epochIterations(uint64_t numIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3286
    functionName: ankerl::nanobench::Bench::epochIterations
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::epochIterations() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numWarmupIters
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: '& Bench::warmup(uint64_t numWarmupIters) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::warmup(uint64_t numWarmupIters) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3294
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3294
    functionName: ankerl::nanobench::Bench::warmup
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Bench::warmup() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' benchmarkConfig'
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3299
    functionName: '& Bench::config(Config const& benchmarkConfig)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::config(Config const& benchmarkConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3300
    functionDepth: 0
    functionLinenumber: 3300
    functionLinenumberEnd: 3302
    functionName: '& Bench::config() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: Config & Bench::config() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - outstream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3307
    functionName: '& Bench::output(std::ostream* outstream) noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::output(std::ostream* outstream) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3311
    functionName: ankerl::nanobench::Bench::output
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream * Bench::output() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3315
    functionName: '& Bench::results() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Result>
    signature: std::vector<Result> & Bench::results() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:3318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - templateContent
    - ' os'
    argTypes:
    - char*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3317
    functionDepth: 3
    functionLinenumber: 3317
    functionLinenumberEnd: 3320
    functionName: '& Bench::render(char const* templateContent, std::ostream& os)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::render(char const* templateContent, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::render
      Src: /src/bitcoin-core/src/bench/nanobench.h:3323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' templateContent'
    - ' os'
    argTypes:
    - std::string
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3322
    functionDepth: 3
    functionLinenumber: 3322
    functionLinenumberEnd: 3325
    functionName: '& Bench::render(std::string const& templateContent, std::ostream&
      os)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::render
    linkageType: ''
    returnType: Bench
    signature: Bench & Bench::render(std::string const& templateContent, std::ostream&
      os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ankerl::nanobench::BigO::collectRangeMeasure
      Src: /src/bitcoin-core/src/bench/nanobench.h:3329,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3330,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3333,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3336,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/bench/nanobench.h:3337,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3339,1
    - Dst: std::log2
      Src: /src/bitcoin-core/src/bench/nanobench.h:3340,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3342,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3345,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/bench/nanobench.h:3348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3327
    functionDepth: 1
    functionLinenumber: 3327
    functionLinenumberEnd: 3350
    functionName: ankerl::nanobench::Bench::complexityBigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::emplace_back
    - std::log2
    - std::vector::begin
    - ankerl::nanobench::BigO::collectRangeMeasure
    - std::sort
    linkageType: ''
    returnType: std::vector<BigO>
    signature: std::vector<BigO> Bench::complexityBigO() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dist
      Src: /src/bitcoin-core/src/bench/nanobench.h:3358,1
    - Dst: dist
      Src: /src/bitcoin-core/src/bench/nanobench.h:3359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3361
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3361
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - dist
    linkageType: ''
    returnType: void
    signature: void Rng::Rng()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3365,1
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3366,1
    - Dst: UINT64_C
      Src: /src/bitcoin-core/src/bench/nanobench.h:3367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3369
    functionName: ankerl::nanobench::splitMix64
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t splitMix64(uint64_t& state) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splitMix64
      Src: /src/bitcoin-core/src/bench/nanobench.h:3373,1
    - Dst: splitMix64
      Src: /src/bitcoin-core/src/bench/nanobench.h:3374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3372
    functionDepth: 0
    functionLinenumber: 3372
    functionLinenumberEnd: 3378
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - splitMix64
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(uint64_t seed) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3383
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3383
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(uint64_t x, uint64_t y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3385
    functionDepth: 0
    functionLinenumber: 3385
    functionLinenumberEnd: 3387
    functionName: ankerl::nanobench::Rng::copy
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rng
    signature: Rng Rng::copy() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3392,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/bench/nanobench.h:3393,1
    - Dst: ankerl::nanobench::detail::fmt::to_s
      Src: /src/bitcoin-core/src/bench/nanobench.h:3394,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3389
    functionDepth: 2
    functionLinenumber: 3389
    functionLinenumberEnd: 3398
    functionName: ankerl::nanobench::Rng::Rng
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::detail::fmt::to_s
    - std::runtime_error
    - size
    linkageType: ''
    returnType: void
    signature: void Rng::Rng(std::vector<uint64_t> const& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3405
    functionName: ankerl::nanobench::Rng::state
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint64_t>
    signature: std::vector<uint64_t> Rng::state() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:3410,1
    - Dst: BigO::RangeMeasure::emplace_back
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    - Dst: config
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    - Dst: median
      Src: /src/bitcoin-core/src/bench/nanobench.h:3411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Result>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3407
    functionDepth: 0
    functionLinenumber: 3407
    functionLinenumberEnd: 3415
    functionName: ankerl::nanobench::BigO::collectRangeMeasure
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 12
    functionsReached:
    - BigO::RangeMeasure::emplace_back
    - config
    - median
    linkageType: ''
    returnType: BigO::RangeMeasure
    signature: BigO::RangeMeasure BigO::collectRangeMeasure(std::vector<Result> const&
      results)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/nanobench.h:3418,1
    - Dst: ankerl::nanobench::detail::d
      Src: /src/bitcoin-core/src/bench/nanobench.h:3440,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/nanobench.h:3440,1
    - Dst: std::sqrt
      Src: /src/bitcoin-core/src/bench/nanobench.h:3442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bigOName
    - ' rangeMeasure'
    argTypes:
    - std::string
    - RangeMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3443
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - size
    - ankerl::nanobench::detail::d
    - std::move
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void BigO::BigO(std::string bigOName, RangeMeasure const& rangeMeasure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/bench/nanobench.h:3446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - bigOName
    - ' rangeMeasure'
    argTypes:
    - char*
    - RangeMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3446
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3446
    functionName: ankerl::nanobench::BigO::BigO
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void BigO::BigO(const char* bigOName, RangeMeasure const& rangeMeasure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3448
    functionDepth: 0
    functionLinenumber: 3448
    functionLinenumberEnd: 3450
    functionName: '& BigO::name() const noexcept'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & BigO::name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3454
    functionName: ankerl::nanobench::BigO::constant
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BigO::constant() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3458
      start: 3456
    functionDepth: 0
    functionLinenumber: 3456
    functionLinenumberEnd: 3458
    functionName: ankerl::nanobench::BigO::normalizedRootMeanSquare
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BigO::normalizedRootMeanSquare() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bench/nanobench.h:3461,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/bench/nanobench.h:3461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3460
    functionDepth: 0
    functionLinenumber: 3460
    functionLinenumberEnd: 3462
    functionName: BigO::operator<(BigO const& other) const noexcept
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool BigO::operator<(BigO const& other) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    - Dst: normalizedRootMeanSquare
      Src: /src/bitcoin-core/src/bench/nanobench.h:3465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' bigO'
    argTypes:
    - std::ostream
    - BigO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3466
    functionName: '& operator<<(std::ostream& os, BigO const& bigO)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - normalizedRootMeanSquare
    - constant
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, BigO const& bigO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: std::setprecision
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: constant
      Src: /src/bitcoin-core/src/bench/nanobench.h:3472,1
    - Dst: ChallengeNumber
      Src: /src/bitcoin-core/src/bench/nanobench.h:3473,1
    - Dst: normalizedRootMeanSquare
      Src: /src/bitcoin-core/src/bench/nanobench.h:3473,1
    - Dst: name
      Src: /src/bitcoin-core/src/bench/nanobench.h:3474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' os'
    - ' bigOs'
    argTypes:
    - std::ostream
    - std::vector<ankerl::nanobench::BigO>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3468
    functionDepth: 3
    functionLinenumber: 3468
    functionLinenumberEnd: 3478
    functionName: '& operator<<(std::ostream& os, std::vector<ankerl::nanobench::BigO>
      const& bigOs)'
    functionSourceFile: /src/bitcoin-core/src/bench/nanobench.h
    functionUses: 0
    functionsReached:
    - ChallengeNumber
    - normalizedRootMeanSquare
    - std::setprecision
    - std::setw
    - constant
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, std::vector<ankerl::nanobench::BigO>
      const& bigOs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:31,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:37,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:37,1
    - Dst: std::array::end
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:37,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:38,1
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:39,1
    - Dst: CHash160
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:40,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:43,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:43,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:44,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:45,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:45,1
    - Dst: BuildCreditingTransaction
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:46,1
    - Dst: BuildSpendingTransaction
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:47,1
    - Dst: CScriptWitness
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:47,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:47,1
    - Dst: stack::emplace_back
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:49,1
    - Dst: CKey::Sign
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:50,1
    - Dst: SignatureHash
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:50,1
    - Dst: stack::back
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:50,1
    - Dst: stack::back
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:51,1
    - Dst: static_cast<unsigned char>
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:51,1
    - Dst: stack::push_back
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:52,1
    - Dst: ToByteVector
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:52,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:55,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:57,1
    - Dst: MutableTransactionSignatureChecker
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:62,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:64,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (success)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/bench/verify_script.cpp
    - condition: (err == SCRIPT_ERR_OK)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/bench/verify_script.cpp
    constantsTouched: []
    func_position:
      end: 67
      start: 23
    functionDepth: 10
    functionLinenumber: 23
    functionLinenumberEnd: 67
    functionName: VerifyScriptBench
    functionSourceFile: /src/bitcoin-core/src/bench/verify_script.cpp
    functionUses: 0
    functionsReached:
    - CKey::Sign
    - SignatureHash
    - stack::back
    - BuildSpendingTransaction
    - CKey::CKey
    - CHash160
    - static_cast<unsigned char>
    - ToByteVector
    - CScriptWitness
    - MutableTransactionSignatureChecker
    - VerifyScript
    - CTransaction
    - stack::push_back
    - std::array::begin
    - CKey::GetPubKey
    - assert
    - stack::emplace_back
    - BuildCreditingTransaction
    - CKey::Set
    - CScript
    - std::array::end
    - run
    - uint160::uint160
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void VerifyScriptBench(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:72,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:82,1
    - Dst: EvalScript
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:85,1
    - Dst: BaseSignatureChecker
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:85,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/verify_script.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/bitcoin-core/src/bench/verify_script.cpp
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 7
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: VerifyNestedIfScript
    functionSourceFile: /src/bitcoin-core/src/bench/verify_script.cpp
    functionUses: 0
    functionsReached:
    - CScript::CScript
    - BaseSignatureChecker
    - assert
    - run
    - EvalScript
    linkageType: ''
    returnType: void
    signature: void VerifyNestedIfScript(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/strencodings.cpp:15,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/strencodings.cpp:15,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/bench/strencodings.cpp:16,1
    - Dst: ankerl::nanobench::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/strencodings.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: HexStrBench
    functionSourceFile: /src/bitcoin-core/src/bench/strencodings.cpp
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::doNotOptimizeAway
    - HexStr
    - batch
    - size
    linkageType: ''
    returnType: void
    signature: void HexStrBench(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:29,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:29,1
    - Dst: CRIPEMD160
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:30,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:30,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: BenchRIPEMD160
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - CRIPEMD160
    - batch
    - std::vector::size
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void BenchRIPEMD160(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:38,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:38,1
    - Dst: CSHA1
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:39,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:39,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: SHA1
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 6
    functionsReached:
    - CSHA1
    - batch
    - std::vector::size
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void SHA1(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:45,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:45,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:45,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:48,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:48,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:49,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:49,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:49,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: SHA256_STANDARD
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - std::vector::data
    - CSHA256
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256_STANDARD(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:56,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:56,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:56,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:59,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:59,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:60,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:60,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:60,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: SHA256_SSE4
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - std::vector::data
    - CSHA256
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256_SSE4(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:67,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:67,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:67,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:70,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:70,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:71,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:71,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:71,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: SHA256_AVX2
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - std::vector::data
    - CSHA256
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256_AVX2(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:78,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:78,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:78,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:81,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:82,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:82,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:82,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: SHA256_SHANI
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - std::vector::data
    - CSHA256
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256_SHANI(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:91,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:91,1
    - Dst: SHA3_256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: SHA3_256_1M
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - SHA3_256
    - batch
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void SHA3_256_1M(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:98,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:98,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:98,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:100,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:100,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:101,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:102,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:102,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:103,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: SHA256_32b_STANDARD
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - std::vector::data
    - CSHA256
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256_32b_STANDARD(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:110,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:110,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:110,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:112,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:112,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:113,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:114,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:114,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:115,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: SHA256_32b_SSE4
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - std::vector::data
    - CSHA256
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256_32b_SSE4(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:122,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:122,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:122,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:124,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:124,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:125,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:126,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:126,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:127,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: SHA256_32b_AVX2
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - std::vector::data
    - CSHA256
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256_32b_AVX2(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:134,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:134,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:134,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:136,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:136,1
    - Dst: CSHA256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:137,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:138,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:138,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:139,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: SHA256_32b_SHANI
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - std::vector::data
    - CSHA256
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256_32b_SHANI(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:146,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:146,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:146,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:148,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:148,1
    - Dst: SHA256D64
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:149,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:149,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:149,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: SHA256D64_1024_STANDARD
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - SHA256D64
    - std::vector::data
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256D64_1024_STANDARD(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:156,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:156,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:156,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:158,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:158,1
    - Dst: SHA256D64
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:159,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:159,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:159,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: SHA256D64_1024_SSE4
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - SHA256D64
    - std::vector::data
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256D64_1024_SSE4(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:166,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:166,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:166,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:168,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:168,1
    - Dst: SHA256D64
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:169,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:169,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:169,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: SHA256D64_1024_AVX2
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - SHA256D64
    - std::vector::data
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256D64_1024_AVX2(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:176,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:176,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:176,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:178,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:178,1
    - Dst: SHA256D64
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:179,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:179,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:179,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: SHA256D64_1024_SHANI
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - batch
    - SHA256D64
    - std::vector::data
    - strprintf
    - SHA256AutoDetect
    - std::vector::size
    - name
    linkageType: ''
    returnType: void
    signature: void SHA256D64_1024_SHANI(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:188,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:188,1
    - Dst: CSHA512
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:189,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:189,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: SHA512
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 17
    functionsReached:
    - batch
    - CSHA512
    - std::vector::size
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void SHA512(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:196,1
    - Dst: FastRandomContext::rand64
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:196,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:197,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:199,1
    - Dst: ankerl::nanobench::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:200,1
    - Dst: SipHashUint256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:200,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:204,1
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: SipHash_32b
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext::rand256
    - SipHashUint256
    - ankerl::nanobench::doNotOptimizeAway
    - auto::data
    - FastRandomContext::rand64
    - run
    - secp256k1_strauss_scratch_size
    linkageType: ''
    returnType: void
    signature: void SipHash_32b(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:210,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:213,1
    - Dst: MuHash3072
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: MuHash
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - MuHash3072::MuHash3072
    - run
    - MuHash3072
    linkageType: ''
    returnType: void
    signature: void MuHash(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:221,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:223,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: MuHashMul
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - MuHash3072::MuHash3072
    - run
    - FastRandomContext::randbytes
    linkageType: ''
    returnType: void
    signature: void MuHashMul(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:232,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:234,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: MuHashDiv
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 1
    functionsReached:
    - MuHash3072::MuHash3072
    - run
    - FastRandomContext::randbytes
    linkageType: ''
    returnType: void
    signature: void MuHashDiv(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MuHash3072::MuHash3072
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:243,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:245,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: MuHashPrecompute
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - MuHash3072::MuHash3072
    - run
    - FastRandomContext::randbytes
    linkageType: ''
    returnType: void
    signature: void MuHashPrecompute(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:255,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:256,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:258,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:259,1
    - Dst: MuHash3072::Finalize
      Src: /src/bitcoin-core/src/bench/crypto_hash.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: MuHashFinalize
    functionSourceFile: /src/bitcoin-core/src/bench/crypto_hash.cpp
    functionUses: 0
    functionsReached:
    - run
    - FastRandomContext::rand256
    - FastRandomContext::randbytes
    - MuHash3072::Finalize
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void MuHashFinalize(benchmark::Bench& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:30,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:31,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ntx
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: MakeLinearGraph
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::AddDependencies
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    linkageType: ''
    returnType: DepGraph<SetType>
    signature: DepGraph<SetType> MakeLinearGraph(DepGraphIndex ntx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:45,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:46,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ntx
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: MakeWideGraph
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::AddDependencies
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    linkageType: ''
    returnType: DepGraph<SetType>
    signature: DepGraph<SetType> MakeWideGraph(DepGraphIndex ntx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:70,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:72,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:73,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:73,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:75,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:76,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:76,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:78,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:79,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:79,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:81,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:82,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:82,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:84,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:85,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:85,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:98,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:100,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:101,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:101,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:103,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:104,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:104,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:106,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:107,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:107,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:109,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:110,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - ntx
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 115
    functionName: MakeHardGraph
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::AddDependencies
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    linkageType: ''
    returnType: DepGraph<SetType>
    signature: DepGraph<SetType> MakeHardGraph(DepGraphIndex ntx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeHardGraph
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:126,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:128,1
    - Dst: SearchCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:130,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ntx
    - ' bench'
    - iter_limit
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    - uint64_t
    assertStmts:
    - condition: (iters_performed == iter_limit)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: BenchLinearizeWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - assert
    - run
    - SearchCandidateFinder::FindCandidateSet
    - MakeHardGraph
    linkageType: ''
    returnType: void
    signature: void BenchLinearizeWorstCase(DepGraphIndex ntx, benchmark::Bench& bench,
      uint64_t iter_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeLinearGraph
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:152,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:156,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ntx
    - ' bench'
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: BenchLinearizeNoItersWorstCaseAnc
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Linearize
    - MakeLinearGraph
    - run
    linkageType: ''
    returnType: void
    signature: void BenchLinearizeNoItersWorstCaseAnc(DepGraphIndex ntx, benchmark::Bench&
      bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeWideGraph
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:172,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:176,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ntx
    - ' bench'
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: BenchLinearizeNoItersWorstCaseLIMO
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - run
    - Linearize
    - MakeWideGraph
    linkageType: ''
    returnType: void
    signature: void BenchLinearizeNoItersWorstCaseLIMO(DepGraphIndex ntx, benchmark::Bench&
      bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeWideGraph
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:184,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:186,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ntx
    - ' bench'
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: BenchPostLinearizeWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - run
    - PostLinearize
    - MakeWideGraph
    linkageType: ''
    returnType: void
    signature: void BenchPostLinearizeWorstCase(DepGraphIndex ntx, benchmark::Bench&
      bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:197,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:198,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:198,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:202,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:203,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:205,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:206,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:208,1
    - Dst: MergeLinearizations
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ntx
    - ' bench'
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: BenchMergeLinearizationsWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::AddDependencies
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    - MergeLinearizations
    - std::vector::push_back
    - run
    linkageType: ''
    returnType: void
    signature: void BenchMergeLinearizationsWorstCase(DepGraphIndex ntx, benchmark::Bench&
      bench)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:221,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:222,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:223,1
    - Dst: Using
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:229,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:231,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:232,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:233,1
    - Dst: auto::template operator()<BitSet<32>>
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:238,1
    - Dst: auto::template operator()<BitSet<64>>
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:240,1
    - Dst: auto::template operator()<BitSet<96>>
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:242,1
    - Dst: auto::template operator()<BitSet<128>>
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:244,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ' bench'
    - ' serialized'
    argTypes:
    - benchmark::Bench
    - std::array<uint8_t, N>
    assertStmts:
    - condition: (num_tx < 128)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    - condition: (optimal)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    - condition: (false)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 248
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 248
    functionName: BenchLinearizeOptimally
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::TxCount
    - Linearize
    - auto::template operator()<BitSet<128>>
    - auto::template operator()<BitSet<32>>
    - Using
    - auto::template operator()<BitSet<64>>
    - assert
    - run
    - auto::template operator()<BitSet<96>>
    linkageType: ''
    returnType: void
    signature: void BenchLinearizeOptimally(benchmark::Bench& bench, const std::array<uint8_t,
      N>& serialized)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:30,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:31,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ntx
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: MakeLinearGraph
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 1
    functionsReached:
    - DepGraph::AddDependencies
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    linkageType: ''
    returnType: DepGraph<SetType>
    signature: DepGraph<SetType> MakeLinearGraph(DepGraphIndex ntx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:45,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:46,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ntx
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: MakeWideGraph
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 2
    functionsReached:
    - DepGraph::AddDependencies
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    linkageType: ''
    returnType: DepGraph<SetType>
    signature: DepGraph<SetType> MakeWideGraph(DepGraphIndex ntx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:70,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:72,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:73,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:73,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:75,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:76,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:76,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:78,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:79,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:79,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:81,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:82,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:82,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:84,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:85,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:85,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:98,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:100,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:101,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:101,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:103,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:104,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:104,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:106,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:107,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:107,1
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:109,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:110,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - ntx
    argTypes:
    - DepGraphIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 115
    functionName: MakeHardGraph
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 1
    functionsReached:
    - DepGraph::AddDependencies
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    linkageType: ''
    returnType: DepGraph<SetType>
    signature: DepGraph<SetType> MakeHardGraph(DepGraphIndex ntx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeHardGraph
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:126,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:128,1
    - Dst: SearchCandidateFinder::FindCandidateSet
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:130,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ntx
    - ' bench'
    - iter_limit
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    - uint64_t
    assertStmts:
    - condition: (iters_performed == iter_limit)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: BenchLinearizeWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - assert
    - run
    - SearchCandidateFinder::FindCandidateSet
    - MakeHardGraph
    linkageType: ''
    returnType: void
    signature: void BenchLinearizeWorstCase(DepGraphIndex ntx, benchmark::Bench& bench,
      uint64_t iter_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeLinearGraph
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:152,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:156,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ntx
    - ' bench'
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: BenchLinearizeNoItersWorstCaseAnc
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - Linearize
    - MakeLinearGraph
    - run
    linkageType: ''
    returnType: void
    signature: void BenchLinearizeNoItersWorstCaseAnc(DepGraphIndex ntx, benchmark::Bench&
      bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeWideGraph
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:172,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:176,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ntx
    - ' bench'
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: BenchLinearizeNoItersWorstCaseLIMO
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - run
    - Linearize
    - MakeWideGraph
    linkageType: ''
    returnType: void
    signature: void BenchLinearizeNoItersWorstCaseLIMO(DepGraphIndex ntx, benchmark::Bench&
      bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeWideGraph
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:184,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:186,1
    - Dst: PostLinearize
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ntx
    - ' bench'
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: BenchPostLinearizeWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - run
    - PostLinearize
    - MakeWideGraph
    linkageType: ''
    returnType: void
    signature: void BenchPostLinearizeWorstCase(DepGraphIndex ntx, benchmark::Bench&
      bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DepGraph::AddTransaction
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:197,1
    - Dst: DepGraph::AddDependencies
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:198,1
    - Dst: bitset_detail::IntBitSet::Singleton
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:198,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:202,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:203,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:205,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:206,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:208,1
    - Dst: MergeLinearizations
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ntx
    - ' bench'
    argTypes:
    - DepGraphIndex
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: BenchMergeLinearizationsWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::AddDependencies
    - bitset_detail::IntBitSet::Singleton
    - DepGraph::AddTransaction
    - MergeLinearizations
    - std::vector::push_back
    - run
    linkageType: ''
    returnType: void
    signature: void BenchMergeLinearizationsWorstCase(DepGraphIndex ntx, benchmark::Bench&
      bench)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Using
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:221,1
    - Dst: DepGraph::TxCount
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:222,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:223,1
    - Dst: Using
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:229,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:231,1
    - Dst: Linearize
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:232,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:233,1
    - Dst: auto::template operator()<BitSet<32>>
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:238,1
    - Dst: auto::template operator()<BitSet<64>>
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:240,1
    - Dst: auto::template operator()<BitSet<96>>
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:242,1
    - Dst: auto::template operator()<BitSet<128>>
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:244,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ' bench'
    - ' serialized'
    argTypes:
    - benchmark::Bench
    - std::array<uint8_t, N>
    assertStmts:
    - condition: (num_tx < 128)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    - condition: (optimal)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    - condition: (false)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    constantsTouched: []
    func_position:
      end: 248
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 248
    functionName: BenchLinearizeOptimally
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - DepGraph::TxCount
    - Linearize
    - auto::template operator()<BitSet<128>>
    - auto::template operator()<BitSet<32>>
    - Using
    - auto::template operator()<BitSet<64>>
    - assert
    - run
    - auto::template operator()<BitSet<96>>
    linkageType: ''
    returnType: void
    signature: void BenchLinearizeOptimally(benchmark::Bench& bench, const std::array<uint8_t,
      N>& serialized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: Linearize16TxWorstCase20Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize16TxWorstCase20Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: Linearize16TxWorstCase120Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize16TxWorstCase120Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: Linearize32TxWorstCase5000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize32TxWorstCase5000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: Linearize32TxWorstCase15000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize32TxWorstCase15000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: Linearize48TxWorstCase5000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize48TxWorstCase5000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: Linearize48TxWorstCase15000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize48TxWorstCase15000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: Linearize64TxWorstCase5000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize64TxWorstCase5000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: Linearize64TxWorstCase15000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize64TxWorstCase15000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: Linearize75TxWorstCase5000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize75TxWorstCase5000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: Linearize75TxWorstCase15000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize75TxWorstCase15000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: Linearize99TxWorstCase5000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize99TxWorstCase5000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: Linearize99TxWorstCase15000Iters
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void Linearize99TxWorstCase15000Iters(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseAnc
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: LinearizeNoIters16TxWorstCaseAnc
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseAnc
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters16TxWorstCaseAnc(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseAnc
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: LinearizeNoIters32TxWorstCaseAnc
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseAnc
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters32TxWorstCaseAnc(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseAnc
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: LinearizeNoIters48TxWorstCaseAnc
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseAnc
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters48TxWorstCaseAnc(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseAnc
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: LinearizeNoIters64TxWorstCaseAnc
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseAnc
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters64TxWorstCaseAnc(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseAnc
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: LinearizeNoIters75TxWorstCaseAnc
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseAnc
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters75TxWorstCaseAnc(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseAnc
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 4
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: LinearizeNoIters99TxWorstCaseAnc
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseAnc
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters99TxWorstCaseAnc(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseLIMO
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: LinearizeNoIters16TxWorstCaseLIMO
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseLIMO
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters16TxWorstCaseLIMO(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseLIMO
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: LinearizeNoIters32TxWorstCaseLIMO
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseLIMO
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters32TxWorstCaseLIMO(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseLIMO
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: LinearizeNoIters48TxWorstCaseLIMO
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseLIMO
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters48TxWorstCaseLIMO(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseLIMO
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 4
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: LinearizeNoIters64TxWorstCaseLIMO
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseLIMO
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters64TxWorstCaseLIMO(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseLIMO
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 4
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: LinearizeNoIters75TxWorstCaseLIMO
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseLIMO
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters75TxWorstCaseLIMO(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeNoItersWorstCaseLIMO
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: LinearizeNoIters99TxWorstCaseLIMO
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeNoItersWorstCaseLIMO
    linkageType: ''
    returnType: void
    signature: void LinearizeNoIters99TxWorstCaseLIMO(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchPostLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: PostLinearize16TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchPostLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void PostLinearize16TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchPostLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: PostLinearize32TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchPostLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void PostLinearize32TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchPostLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: PostLinearize48TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchPostLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void PostLinearize48TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchPostLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: PostLinearize64TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchPostLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void PostLinearize64TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchPostLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: PostLinearize75TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchPostLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void PostLinearize75TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchPostLinearizeWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: PostLinearize99TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchPostLinearizeWorstCase
    linkageType: ''
    returnType: void
    signature: void PostLinearize99TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchMergeLinearizationsWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: MergeLinearizations16TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchMergeLinearizationsWorstCase
    linkageType: ''
    returnType: void
    signature: void MergeLinearizations16TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchMergeLinearizationsWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: MergeLinearizations32TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchMergeLinearizationsWorstCase
    linkageType: ''
    returnType: void
    signature: void MergeLinearizations32TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchMergeLinearizationsWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: MergeLinearizations48TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchMergeLinearizationsWorstCase
    linkageType: ''
    returnType: void
    signature: void MergeLinearizations48TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchMergeLinearizationsWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: MergeLinearizations64TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchMergeLinearizationsWorstCase
    linkageType: ''
    returnType: void
    signature: void MergeLinearizations64TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchMergeLinearizationsWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: MergeLinearizations75TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchMergeLinearizationsWorstCase
    linkageType: ''
    returnType: void
    signature: void MergeLinearizations75TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchMergeLinearizationsWorstCase
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: MergeLinearizations99TxWorstCase
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchMergeLinearizationsWorstCase
    linkageType: ''
    returnType: void
    signature: void MergeLinearizations99TxWorstCase(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: LinearizeOptimallyExample00
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample00(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: LinearizeOptimallyExample01
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample01(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: LinearizeOptimallyExample02
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample02(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: LinearizeOptimallyExample03
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample03(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: LinearizeOptimallyExample04
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample04(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: LinearizeOptimallyExample05
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample05(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: LinearizeOptimallyExample06
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample06(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: LinearizeOptimallyExample07
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample07(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: LinearizeOptimallyExample08
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample08(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: LinearizeOptimallyExample09
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample09(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: LinearizeOptimallyExample10
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample10(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: LinearizeOptimallyExample11
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample11(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: LinearizeOptimallyExample12
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample12(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: LinearizeOptimallyExample13
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample13(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: LinearizeOptimallyExample14
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample14(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: LinearizeOptimallyExample15
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample15(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: LinearizeOptimallyExample16
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample16(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: LinearizeOptimallyExample17
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample17(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: LinearizeOptimallyExample18
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample18(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchLinearizeOptimally
      Src: /src/bitcoin-core/src/bench/cluster_linearize.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: LinearizeOptimallyExample19
    functionSourceFile: /src/bitcoin-core/src/bench/cluster_linearize.cpp
    functionUses: 0
    functionsReached:
    - BenchLinearizeOptimally
    linkageType: ''
    returnType: void
    signature: void LinearizeOptimallyExample19(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:25,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: CreateTestBlock
    functionSourceFile: /src/bitcoin-core/src/bench/readwriteblock.cpp
    functionUses: 0
    functionsReached:
    - CBlock::CBlock
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: CBlock
    signature: CBlock CreateTestBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:32,1
    - Dst: CreateTestBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:34,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:35,1
    - Dst: WriteBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:37,1
    - Dst: auto::IsNull
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (!pos.IsNull())
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bitcoin-core/src/bench/readwriteblock.cpp
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: WriteBlockBench
    functionSourceFile: /src/bitcoin-core/src/bench/readwriteblock.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::IsNull
    - WriteBlock
    - CreateTestBlock
    - assert
    - run
    linkageType: ''
    returnType: void
    signature: void WriteBlockBench(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:43,1
    - Dst: CreateTestBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:45,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:46,1
    - Dst: WriteBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:47,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:48,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:49,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (success)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bitcoin-core/src/bench/readwriteblock.cpp
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: ReadBlockBench
    functionSourceFile: /src/bitcoin-core/src/bench/readwriteblock.cpp
    functionUses: 0
    functionsReached:
    - ReadBlock
    - MakeNoLogFileContext
    - WriteBlock
    - GetHash
    - CBlock::CBlock
    - CreateTestBlock
    - assert
    - run
    linkageType: ''
    returnType: void
    signature: void ReadBlockBench(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:57,1
    - Dst: WriteBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:59,1
    - Dst: CreateTestBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:59,1
    - Dst: ReadRawBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:61,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:62,1
    - Dst: ReadRawBlock
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/readwriteblock.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (success)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/bench/readwriteblock.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: ReadRawBlockBench
    functionSourceFile: /src/bitcoin-core/src/bench/readwriteblock.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - ReadRawBlock
    - WriteBlock
    - CreateTestBlock
    - assert
    - run
    linkageType: ''
    returnType: void
    signature: void ReadRawBlockBench(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parse
      Src: /src/bitcoin-core/src/bench/descriptors.cpp:26,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/descriptors.cpp:28,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/bench/descriptors.cpp:31,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/descriptors.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (success)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bitcoin-core/src/bench/descriptors.cpp
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: ExpandDescriptor
    functionSourceFile: /src/bitcoin-core/src/bench/descriptors.cpp
    functionUses: 0
    functionsReached:
    - assert
    - run
    - Parse
    - Expand
    linkageType: ''
    returnType: void
    signature: void ExpandDescriptor(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:23,1
    - Dst: MakeWalletLoader
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:24,1
    - Dst: std::make_unique<CWallet>
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:30,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:30,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:30,1
    - Dst: std::unique_ptr::GetOrCreateLegacyDataSPKM
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:31,1
    - Dst: std::unique_ptr::GetDatabase
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:32,1
    - Dst: WalletBatch::WriteBestBlock
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:36,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:41,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:42,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:43,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:44,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:44,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:45,1
    - Dst: LegacyDataSPKM*::LoadWatchOnly
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:46,1
    - Dst: std::unique_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:46,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:46,1
    - Dst: WalletBatch::WriteWatchOnly
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:47,1
    - Dst: CKeyMetadata
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:47,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:52,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:53,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:55,1
    - Dst: LegacyDataSPKM*::LoadKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:55,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:56,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:57,1
    - Dst: std::unique_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:57,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:57,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:59,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:60,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:60,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:61,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:61,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:62,1
    - Dst: std::unique_ptr::AddToWallet
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:63,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:63,1
    - Dst: WalletBatch::WriteKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:64,1
    - Dst: CKey::GetPrivKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:64,1
    - Dst: CKeyMetadata
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:64,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:67,1
    - Dst: MigrateLegacyToDescriptor
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:69,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:69,1
    - Dst: auto::context
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:69,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:71,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (res->watchonly_wallet)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    - condition: (res)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    - condition: (wallet->SetAddressBook(dest, strprintf("watch_%d", w), /*purpose=*/std::nullopt))
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    - condition: (legacy_spkm->LoadWatchOnly(script))
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    - condition: (res->wallet)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    constantsTouched: []
    func_position:
      end: 74
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 74
    functionName: wallet::WalletMigration
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_migration.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletLoader
    - std::vector::emplace_back
    - GetScriptForDestination
    - std::unique_ptr::GetOrCreateLegacyDataSPKM
    - std::unique_ptr::AddToWallet
    - std::move
    - auto::context
    - WalletBatch::WriteBestBlock
    - LegacyDataSPKM*::LoadKey
    - auto::m_node::chain::get
    - GenerateRandomKey
    - wallet::CreateMockableWalletDatabase
    - std::unique_ptr::GetDatabase
    - CKeyMetadata
    - MigrateLegacyToDescriptor
    - WalletBatch::WriteWatchOnly
    - PKHash
    - CMutableTransaction::vin::resize
    - CMutableTransaction::vout::emplace_back
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - LegacyDataSPKM*::LoadWatchOnly
    - Assert
    - strprintf
    - CKey::GetPubKey
    - assert
    - MakeNoLogFileContext
    - std::vector::at
    - WalletBatch::WriteKey
    - std::make_unique<CWallet>
    - epochs
    - LOCK
    - CKey::GetPrivKey
    - std::unique_ptr::SetAddressBook
    linkageType: ''
    returnType: void
    signature: void WalletMigration(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:23,1
    - Dst: MakeWalletLoader
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:24,1
    - Dst: std::make_unique<CWallet>
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:30,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:30,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:30,1
    - Dst: std::unique_ptr::GetOrCreateLegacyDataSPKM
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:31,1
    - Dst: std::unique_ptr::GetDatabase
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:32,1
    - Dst: WalletBatch::WriteBestBlock
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:36,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:41,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:42,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:43,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:44,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:44,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:45,1
    - Dst: LegacyDataSPKM*::LoadWatchOnly
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:46,1
    - Dst: std::unique_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:46,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:46,1
    - Dst: WalletBatch::WriteWatchOnly
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:47,1
    - Dst: CKeyMetadata
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:47,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:52,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:53,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:55,1
    - Dst: LegacyDataSPKM*::LoadKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:55,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:56,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:57,1
    - Dst: std::unique_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:57,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:57,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:59,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:60,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:60,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:61,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:61,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:62,1
    - Dst: std::unique_ptr::AddToWallet
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:63,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:63,1
    - Dst: WalletBatch::WriteKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:64,1
    - Dst: CKey::GetPrivKey
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:64,1
    - Dst: CKeyMetadata
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:64,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:67,1
    - Dst: MigrateLegacyToDescriptor
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:69,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:69,1
    - Dst: auto::context
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:69,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:71,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_migration.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (res->watchonly_wallet)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    - condition: (res)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    - condition: (wallet->SetAddressBook(dest, strprintf("watch_%d", w), /*purpose=*/std::nullopt))
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    - condition: (legacy_spkm->LoadWatchOnly(script))
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    - condition: (res->wallet)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bitcoin-core/src/bench/wallet_migration.cpp
    constantsTouched: []
    func_position:
      end: 74
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 74
    functionName: wallet::WalletMigration
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_migration.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletLoader
    - std::vector::emplace_back
    - GetScriptForDestination
    - std::unique_ptr::GetOrCreateLegacyDataSPKM
    - std::unique_ptr::AddToWallet
    - std::move
    - auto::context
    - WalletBatch::WriteBestBlock
    - LegacyDataSPKM*::LoadKey
    - auto::m_node::chain::get
    - GenerateRandomKey
    - wallet::CreateMockableWalletDatabase
    - std::unique_ptr::GetDatabase
    - CKeyMetadata
    - MigrateLegacyToDescriptor
    - WalletBatch::WriteWatchOnly
    - PKHash
    - CMutableTransaction::vin::resize
    - CMutableTransaction::vout::emplace_back
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - LegacyDataSPKM*::LoadWatchOnly
    - Assert
    - strprintf
    - CKey::GetPubKey
    - assert
    - MakeNoLogFileContext
    - std::vector::at
    - WalletBatch::WriteKey
    - std::make_unique<CWallet>
    - epochs
    - LOCK
    - CKey::GetPrivKey
    - std::unique_ptr::SetAddressBook
    linkageType: ''
    returnType: void
    signature: void WalletMigration(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_node::chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:30,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:32,1
    - Dst: coinbaseKey::GetPubKey
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:32,1
    - Dst: CreateValidTransaction
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:37,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:39,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:39,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:40,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:41,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:42,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:45,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:46,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:49,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:49,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:51,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:52,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:52,1
    - Dst: CreateValidTransaction
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:55,1
    - Dst: m_chain::Height
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:56,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:57,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:58,1
    - Dst: CreateBlock
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' test_setup'
    - ' keys'
    - ' outputs'
    argTypes:
    - TestChain100Setup
    - std::vector<CKey>
    - std::vector<CTxOut>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 63
    functionName: CreateTestBlock
    functionSourceFile: /src/bitcoin-core/src/bench/connectblock.cpp
    functionUses: 3
    functionsReached:
    - m_node::chainman::ActiveChainstate
    - CreateBlock
    - std::vector::emplace_back
    - GetScriptForDestination
    - MakeTransactionRef
    - GetHash
    - coinbaseKey::GetPubKey
    - COutPoint
    - std::vector::reserve
    - size
    - XOnlyPubKey
    - CTransactionRef::GetHash
    - CreateValidTransaction
    - m_chain::Height
    - CreateAndProcessBlock
    linkageType: ''
    returnType: CBlock
    signature: "CBlock CreateTestBlock(\n    TestChain100Setup& test_setup,\n    const
      std::vector<CKey>& keys,\n    const std::vector<CTxOut>& outputs,\n    int num_txs
      = 1000)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:74,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:77,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:80,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:80,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:81,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:81,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:81,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:85,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:85,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:86,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:86,1
    - Dst: XOnlyPubKey
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:86,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' coinbaseKey'
    - num_schnorr
    - num_ecdsa
    argTypes:
    - CKey
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: CreateKeysAndOutputs
    functionSourceFile: /src/bitcoin-core/src/bench/connectblock.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - GenerateRandomKey
    - GetScriptForDestination
    - std::vector::back
    - std::vector::reserve
    - XOnlyPubKey
    linkageType: ''
    returnType: std::pair<std::vector<CKey>, std::vector<CTxOut>>
    signature: std::pair<std::vector<CKey>, std::vector<CTxOut>> CreateKeysAndOutputs(const
      CKey& coinbaseKey, size_t num_schnorr, size_t num_ecdsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateTestBlock
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:94,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:95,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:96,1
    - Dst: ActiveChainstate
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:98,1
    - Dst: m_blockman::AddToBlockIndex
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:100,1
    - Dst: CoinsTip
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:101,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:103,1
    - Dst: ConnectBlock
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' bench'
    - ' keys'
    - ' outputs'
    - ' test_setup'
    argTypes:
    - benchmark::Bench
    - std::vector<CKey>
    - std::vector<CTxOut>
    - TestChain100Setup
    assertStmts:
    - condition: (chainstate.ConnectBlock(test_block, test_block_state, pindex, viewNew))
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bitcoin-core/src/bench/connectblock.cpp
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: BenchmarkConnectBlock
    functionSourceFile: /src/bitcoin-core/src/bench/connectblock.cpp
    functionUses: 0
    functionsReached:
    - CoinsTip
    - ConnectBlock
    - unit
    - m_blockman::AddToBlockIndex
    - LOCK
    - ActiveChainstate
    - CreateTestBlock
    - assert
    linkageType: ''
    returnType: void
    signature: void BenchmarkConnectBlock(benchmark::Bench& bench, std::vector<CKey>&
      keys, std::vector<CTxOut>& outputs, TestChain100Setup& test_setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:109,1
    - Dst: CreateKeysAndOutputs
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:110,1
    - Dst: BenchmarkConnectBlock
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: ConnectBlockAllSchnorr
    functionSourceFile: /src/bitcoin-core/src/bench/connectblock.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - BenchmarkConnectBlock
    - CreateKeysAndOutputs
    linkageType: ''
    returnType: void
    signature: void ConnectBlockAllSchnorr(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:116,1
    - Dst: CreateKeysAndOutputs
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:118,1
    - Dst: BenchmarkConnectBlock
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: ConnectBlockMixedEcdsaSchnorr
    functionSourceFile: /src/bitcoin-core/src/bench/connectblock.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - BenchmarkConnectBlock
    - CreateKeysAndOutputs
    linkageType: ''
    returnType: void
    signature: void ConnectBlockMixedEcdsaSchnorr(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:124,1
    - Dst: CreateKeysAndOutputs
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:125,1
    - Dst: BenchmarkConnectBlock
      Src: /src/bitcoin-core/src/bench/connectblock.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: ConnectBlockAllEcdsa
    functionSourceFile: /src/bitcoin-core/src/bench/connectblock.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - BenchmarkConnectBlock
    - CreateKeysAndOutputs
    linkageType: ''
    returnType: void
    signature: void ConnectBlockAllEcdsa(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupHelpOptions
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:30,1
    - Dst: SetupCommonTestArgs
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:31,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:33,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:34,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:34,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:35,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:36,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:36,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:37,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:38,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:39,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:40,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:40,1
    - Dst: benchmark::ListPriorities
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: SetupBenchArgs
    functionSourceFile: /src/bitcoin-core/src/bench/bench_bitcoin.cpp
    functionUses: 0
    functionsReached:
    - benchmark::ListPriorities
    - SetupHelpOptions
    - SetupCommonTestArgs
    - strprintf
    - AddArg
    linkageType: ''
    returnType: void
    signature: void SetupBenchArgs(ArgsManager& argsman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: parseAsymptote
    functionSourceFile: /src/bitcoin-core/src/bench/bench_bitcoin.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> parseAsymptote(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplitString
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:59,1
    - Dst: benchmark::StringToPriority
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: parsePriorityLevel
    functionSourceFile: /src/bitcoin-core/src/bench/bench_bitcoin.cpp
    functionUses: 0
    functionsReached:
    - benchmark::StringToPriority
    - SplitString
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t parsePriorityLevel(const std::string& str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:71,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:72,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: parseTestSetupArgs
    functionSourceFile: /src/bitcoin-core/src/bench/bench_bitcoin.cpp
    functionUses: 0
    functionsReached:
    - GetArg
    - std::vector::emplace_back
    - strprintf
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> parseTestSetupArgs(const ArgsManager& argsman)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:79,1
    - Dst: SetupBenchArgs
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:80,1
    - Dst: SHA256AutoDetect
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:81,1
    - Dst: ArgsManager::ParseParameters
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:83,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:84,1
    - Dst: HelpRequested
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:88,1
    - Dst: ArgsManager::GetHelpMessage
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:91,1
    - Dst: parseAsymptote
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:140,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:140,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:141,1
    - Dst: count_milliseconds
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:142,1
    - Dst: ArgsManager::GetIntArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:142,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:143,1
    - Dst: ArgsManager::GetPathArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:144,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:145,1
    - Dst: ArgsManager::GetBoolArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:146,1
    - Dst: parsePriorityLevel
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:147,1
    - Dst: ArgsManager::GetArg
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:147,1
    - Dst: parseTestSetupArgs
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:148,1
    - Dst: benchmark::BenchRunner::RunAll
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:150,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:154,1
    - Dst: what
      Src: /src/bitcoin-core/src/bench/bench_bitcoin.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/bench/bench_bitcoin.cpp
    functionUses: 1
    functionsReached:
    - HelpRequested
    - parseAsymptote
    - parseTestSetupArgs
    - tinyformat::detail::FormatArg::format
    - ArgsManager::GetBoolArg
    - ArgsManager::GetIntArg
    - ArgsManager::ArgsManager
    - ArgsManager::GetPathArg
    - parsePriorityLevel
    - benchmark::BenchRunner::RunAll
    - ArgsManager::GetArg
    - what
    - count_milliseconds
    - SHA256AutoDetect
    - ArgsManager::ParseParameters
    - SetupBenchArgs
    - ArgsManager::GetHelpMessage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/streams_findbyte.cpp:16,1
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/bench/streams_findbyte.cpp:17,1
    - Dst: AutoFile::seek
      Src: /src/bitcoin-core/src/bench/streams_findbyte.cpp:22,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/streams_findbyte.cpp:25,1
    - Dst: BufferedFile::SetPos
      Src: /src/bitcoin-core/src/bench/streams_findbyte.cpp:26,1
    - Dst: BufferedFile::FindByte
      Src: /src/bitcoin-core/src/bench/streams_findbyte.cpp:27,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/bench/streams_findbyte.cpp:27,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/streams_findbyte.cpp:30,1
    - Dst: AutoFile::fclose
      Src: /src/bitcoin-core/src/bench/streams_findbyte.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (file.fclose() == 0)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bitcoin-core/src/bench/streams_findbyte.cpp
    constantsTouched: []
    func_position:
      end: 31
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 31
    functionName: FindByte
    functionSourceFile: /src/bitcoin-core/src/bench/streams_findbyte.cpp
    functionUses: 4
    functionsReached:
    - MakeNoLogFileContext
    - BufferedFile::SetPos
    - fsbridge::fopen
    - AutoFile::fclose
    - AutoFile::seek
    - std::byte
    - BufferedFile::FindByte
    - assert
    - run
    linkageType: ''
    returnType: void
    signature: void FindByte(benchmark::Bench& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetNumCores
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:28,1
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:35,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:35,1
    - Dst: GetNumCores
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:45,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:52,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:54,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:57,1
    - Dst: CCheckQueueControl::Add
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:61,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:61,1
    - Dst: CCheckQueueControl::Complete
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 67
    functionName: CCheckQueueSpeedPrevectorJob
    functionSourceFile: /src/bitcoin-core/src/bench/checkqueue.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - CCheckQueueControl::Complete
    - minEpochIterations
    - std::move
    - randrange
    - emplace_back
    - resize
    - GetNumCores
    - CCheckQueueControl::Add
    linkageType: ''
    returnType: void
    signature: void CCheckQueueSpeedPrevectorJob(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:35,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/checkqueue.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' insecure_rand'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: PrevectorJob
    functionSourceFile: /src/bitcoin-core/src/bench/checkqueue.cpp
    functionUses: 0
    functionsReached:
    - resize
    - randrange
    linkageType: ''
    returnType: void
    signature: void PrevectorJob(FastRandomContext& insecure_rand)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: operator()()
    functionSourceFile: /src/bitcoin-core/src/bench/checkqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> operator()()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:39,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:42,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:43,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:43,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:47,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:48,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:49,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:50,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:51,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:56,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:59,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:60,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:60,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:61,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:65,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:67,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:68,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:70,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:71,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:73,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:80,1
    - Dst: CheckEphemeralSpends
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:82,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 85
    functionName: MempoolCheckEphemeralSpends
    functionSourceFile: /src/bitcoin-core/src/bench/mempool_ephemeral_spends.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - CMutableTransaction::vout::resize
    - CMutableTransaction::vin::size
    - complexityN
    - static_cast<int>
    - CMutableTransaction::CMutableTransaction
    - LOCK2
    - MakeTransactionRef
    - CFeeRate
    - CMutableTransaction::GetHash
    - Assert
    - CScript
    - AddTx
    - CheckEphemeralSpends
    - CMutableTransaction::vout::size
    - CMutableTransaction::vin::resize
    - run
    linkageType: ''
    returnType: void
    signature: void MempoolCheckEphemeralSpends(benchmark::Bench& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:27,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:28,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:32,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:40,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:47,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:48,1
    - Dst: wallet::CreateWallet
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:51,1
    - Dst: wallet::RemoveWallet
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:54,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:55,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:55,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ' bench'
    - encrypted
    argTypes:
    - benchmark::Bench
    - bool
    assertStmts:
    - condition: (status == DatabaseStatus::SUCCESS)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/bench/wallet_create.cpp
    - condition: (wallet != nullptr)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bitcoin-core/src/bench/wallet_create.cpp
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: wallet::WalletCreate
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    - MakeNoLogFileContext
    - FastRandomContext::rand256
    - auto::m_node::chain::get
    - wallet::RemoveWallet
    - std::move
    - FastRandomContext::FastRandomContext
    - wallet::WaitForDeleteWallet
    - assert
    - wallet::CreateWallet
    - run
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void WalletCreate(benchmark::Bench& bench, bool encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletCreate
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: wallet::WalletCreatePlain
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletCreate
    linkageType: ''
    returnType: void
    signature: void WalletCreatePlain(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletCreate
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: wallet::WalletCreateEncrypted
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletCreate
    linkageType: ''
    returnType: void
    signature: void WalletCreateEncrypted(benchmark::Bench& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:27,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:28,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:32,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:40,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:47,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:48,1
    - Dst: wallet::CreateWallet
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:50,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:51,1
    - Dst: wallet::RemoveWallet
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:54,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:55,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:55,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ' bench'
    - encrypted
    argTypes:
    - benchmark::Bench
    - bool
    assertStmts:
    - condition: (status == DatabaseStatus::SUCCESS)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/bench/wallet_create.cpp
    - condition: (wallet != nullptr)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bitcoin-core/src/bench/wallet_create.cpp
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: wallet::WalletCreate
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create.cpp
    functionUses: 2
    functionsReached:
    - fs::remove_all
    - MakeNoLogFileContext
    - FastRandomContext::rand256
    - auto::m_node::chain::get
    - wallet::RemoveWallet
    - std::move
    - FastRandomContext::FastRandomContext
    - wallet::WaitForDeleteWallet
    - assert
    - wallet::CreateWallet
    - run
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void WalletCreate(benchmark::Bench& bench, bool encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletCreate
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: wallet::WalletCreatePlain
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletCreate
    linkageType: ''
    returnType: void
    signature: void WalletCreatePlain(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletCreate
      Src: /src/bitcoin-core/src/bench/wallet_create.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: wallet::WalletCreateEncrypted
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletCreate
    linkageType: ''
    returnType: void
    signature: void WalletCreateEncrypted(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInstance
      Src: /src/bitcoin-core/src/bench/logging.cpp:21,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/logging.cpp:28,1
    - Dst: log
      Src: /src/bitcoin-core/src/bench/logging.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' bench'
    - ' extra_args'
    - ' log'
    argTypes:
    - benchmark::Bench
    - std::vector<const char*>
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: Logging
    functionSourceFile: /src/bitcoin-core/src/bench/logging.cpp
    functionUses: 13
    functionsReached:
    - run
    - LogInstance
    - log
    linkageType: ''
    returnType: void
    signature: void Logging(benchmark::Bench& bench, const std::vector<const char*>&
      extra_args, const std::function<void()>& log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Logging
      Src: /src/bitcoin-core/src/bench/logging.cpp:33,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/bench/logging.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: LogWithDebug
    functionSourceFile: /src/bitcoin-core/src/bench/logging.cpp
    functionUses: 0
    functionsReached:
    - Logging
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void LogWithDebug(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Logging
      Src: /src/bitcoin-core/src/bench/logging.cpp:38,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/bench/logging.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: LogWithoutDebug
    functionSourceFile: /src/bitcoin-core/src/bench/logging.cpp
    functionUses: 0
    functionsReached:
    - Logging
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void LogWithoutDebug(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Logging
      Src: /src/bitcoin-core/src/bench/logging.cpp:43,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/bench/logging.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: LogWithThreadNames
    functionSourceFile: /src/bitcoin-core/src/bench/logging.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - Logging
    linkageType: ''
    returnType: void
    signature: void LogWithThreadNames(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Logging
      Src: /src/bitcoin-core/src/bench/logging.cpp:48,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/bench/logging.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: LogWithoutThreadNames
    functionSourceFile: /src/bitcoin-core/src/bench/logging.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - Logging
    linkageType: ''
    returnType: void
    signature: void LogWithoutThreadNames(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Logging
      Src: /src/bitcoin-core/src/bench/logging.cpp:54,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/bench/logging.cpp:55,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/bench/logging.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: LogWithoutWriteToFile
    functionSourceFile: /src/bitcoin-core/src/bench/logging.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - Logging
    - LogDebug
    linkageType: ''
    returnType: void
    signature: void LogWithoutWriteToFile(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:31,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:33,1
    - Dst: Params
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:35,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:41,1
    - Dst: auto::m_node::chainman::ActiveChain
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:43,1
    - Dst: GetNextWorkRequired
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:44,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:44,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:49,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:50,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:51,1
    - Dst: GetBlockSubsidy
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:53,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:53,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:54,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:57,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:61,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:61,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:63,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:63,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:63,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:63,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:65,1
    - Dst: CMutableTransaction::vin::back
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:65,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:67,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:67,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:67,1
    - Dst: CBlock::vtx::push_back
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:68,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:68,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:68,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:70,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:72,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:74,1
    - Dst: CheckBlock
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:74,1
    - Dst: GetConsensus
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:74,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:75,1
    - Dst: BlockValidationState::GetRejectReason
      Src: /src/bitcoin-core/src/bench/duplicate_inputs.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (pindexPrev != nullptr)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/bench/duplicate_inputs.cpp
    - condition: (cvstate.GetRejectReason() == "bad-txns-inputs-duplicate")
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bitcoin-core/src/bench/duplicate_inputs.cpp
    - condition: (!CheckBlock(block, cvstate, chainparams.GetConsensus(), false, false))
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/bench/duplicate_inputs.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 77
    functionName: DuplicateInputs
    functionSourceFile: /src/bitcoin-core/src/bench/duplicate_inputs.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vin::back
    - BlockValidationState::GetRejectReason
    - std::move
    - CMutableTransaction::vin::emplace_back
    - CBlock::vtx::push_back
    - auto::m_node::chainman::ActiveChain
    - CMutableTransaction::vin::resize
    - prevout::SetNull
    - GetNextWorkRequired
    - CMutableTransaction::vout::resize
    - CTransaction
    - GetBlockSubsidy
    - MakeTransactionRef
    - transaction_identifier::FromUint256
    - Params
    - BlockMerkleRoot
    - assert
    - MakeNoLogFileContext
    - CheckBlock
    - GetRandHash
    - LOCK
    - CScript
    - run
    - GetConsensus
    linkageType: ''
    returnType: void
    signature: void DuplicateInputs(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:19,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:20,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:22,1
    - Dst: CKey::EllSwiftCreate
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:23,1
    - Dst: MakeByteSpan
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:23,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:25,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:25,1
    - Dst: auto::data
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:25,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:26,1
    - Dst: CKey::IsValid
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:26,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:28,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:28,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:28,1
    - Dst: MakeWritableByteSpan
      Src: /src/bitcoin-core/src/bench/ellswift.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (key.IsValid())
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/bench/ellswift.cpp
    constantsTouched: []
    func_position:
      end: 30
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 30
    functionName: EllSwiftCreate
    functionSourceFile: /src/bitcoin-core/src/bench/ellswift.cpp
    functionUses: 3
    functionsReached:
    - std::copy
    - auto::begin
    - batch
    - GenerateRandomKey
    - CKey::EllSwiftCreate
    - CKey::Set
    - GetRandHash
    - auto::data
    - MakeWritableByteSpan
    - MakeByteSpan
    - assert
    - CKey::IsValid
    linkageType: ''
    returnType: void
    signature: void EllSwiftCreate(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::write
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:36,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:38,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: TestBlockAndIndex
    functionSourceFile: /src/bitcoin-core/src/bench/rpc_blockchain.cpp
    functionUses: 0
    functionsReached:
    - TX_WITH_WITNESS
    - DataStream::write
    - GetHash
    linkageType: ''
    returnType: void
    signature: void TestBlockAndIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::write
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:36,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:38,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: TestBlockAndIndex
    functionSourceFile: /src/bitcoin-core/src/bench/rpc_blockchain.cpp
    functionUses: 0
    functionsReached:
    - TX_WITH_WITNESS
    - DataStream::write
    - GetHash
    linkageType: ''
    returnType: void
    signature: void TestBlockAndIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestBlockAndIndex::testing_setup::m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:51,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:52,1
    - Dst: blockToJSON
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:53,1
    - Dst: ankerl::nanobench::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - verbosity
    argTypes:
    - benchmark::Bench
    - TxVerbosity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 6
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: BlockToJson
    functionSourceFile: /src/bitcoin-core/src/bench/rpc_blockchain.cpp
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::doNotOptimizeAway
    - TestBlockAndIndex::testing_setup::m_node::chainman::GetParams
    - run
    - blockToJSON
    linkageType: ''
    returnType: void
    signature: void BlockToJson(benchmark::Bench& bench, TxVerbosity verbosity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BlockToJson
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 7
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: BlockToJsonVerbosity1
    functionSourceFile: /src/bitcoin-core/src/bench/rpc_blockchain.cpp
    functionUses: 0
    functionsReached:
    - BlockToJson
    linkageType: ''
    returnType: void
    signature: void BlockToJsonVerbosity1(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BlockToJson
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 7
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: BlockToJsonVerbosity2
    functionSourceFile: /src/bitcoin-core/src/bench/rpc_blockchain.cpp
    functionUses: 0
    functionsReached:
    - BlockToJson
    linkageType: ''
    returnType: void
    signature: void BlockToJsonVerbosity2(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BlockToJson
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 7
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: BlockToJsonVerbosity3
    functionSourceFile: /src/bitcoin-core/src/bench/rpc_blockchain.cpp
    functionUses: 0
    functionsReached:
    - BlockToJson
    linkageType: ''
    returnType: void
    signature: void BlockToJsonVerbosity3(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestBlockAndIndex::testing_setup::m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:80,1
    - Dst: blockToJSON
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:81,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:82,1
    - Dst: auto::write
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:83,1
    - Dst: ankerl::nanobench::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/rpc_blockchain.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: BlockToJsonVerboseWrite
    functionSourceFile: /src/bitcoin-core/src/bench/rpc_blockchain.cpp
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::doNotOptimizeAway
    - blockToJSON
    - TestBlockAndIndex::testing_setup::m_node::chainman::GetParams
    - auto::write
    - run
    linkageType: ''
    returnType: void
    signature: void BlockToJsonVerboseWrite(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/base58.cpp:23,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/bench/base58.cpp:23,1
    - Dst: EncodeBase58
      Src: /src/bitcoin-core/src/bench/base58.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: Base58Encode
    functionSourceFile: /src/bitcoin-core/src/bench/base58.cpp
    functionUses: 0
    functionsReached:
    - EncodeBase58
    - std::array::size
    - batch
    linkageType: ''
    returnType: void
    signature: void Base58Encode(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/base58.cpp:38,1
    - Dst: std::array::size
      Src: /src/bitcoin-core/src/bench/base58.cpp:38,1
    - Dst: EncodeBase58Check
      Src: /src/bitcoin-core/src/bench/base58.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: Base58CheckEncode
    functionSourceFile: /src/bitcoin-core/src/bench/base58.cpp
    functionUses: 0
    functionsReached:
    - EncodeBase58Check
    - std::array::size
    - batch
    linkageType: ''
    returnType: void
    signature: void Base58CheckEncode(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/base58.cpp:48,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/bench/base58.cpp:48,1
    - Dst: DecodeBase58
      Src: /src/bitcoin-core/src/bench/base58.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: Base58Decode
    functionSourceFile: /src/bitcoin-core/src/bench/base58.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - DecodeBase58
    - batch
    linkageType: ''
    returnType: void
    signature: void Base58Decode(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomNodeEvictionCandidates
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:23,1
    - Dst: candidate_setup_fn
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:25,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:29,1
    - Dst: ProtectEvictionCandidatesByRatio
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bench'
    - num_candidates
    - candidate_setup_fn
    argTypes:
    - benchmark::Bench
    - int
    - std::function<void(NodeEvictionCandidate&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 34
    functionName: EvictionProtectionCommon
    functionSourceFile: /src/bitcoin-core/src/bench/peer_eviction.cpp
    functionUses: 0
    functionsReached:
    - run
    - ProtectEvictionCandidatesByRatio
    - GetRandomNodeEvictionCandidates
    - candidate_setup_fn
    linkageType: ''
    returnType: void
    signature: "void EvictionProtectionCommon(\n    benchmark::Bench& bench,\n    int
      num_candidates,\n    std::function<void(NodeEvictionCandidate&)> candidate_setup_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvictionProtectionCommon
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: EvictionProtection0Networks250Candidates
    functionSourceFile: /src/bitcoin-core/src/bench/peer_eviction.cpp
    functionUses: 0
    functionsReached:
    - EvictionProtectionCommon
    linkageType: ''
    returnType: void
    signature: void EvictionProtection0Networks250Candidates(benchmark::Bench& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EvictionProtectionCommon
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: EvictionProtection1Networks250Candidates
    functionSourceFile: /src/bitcoin-core/src/bench/peer_eviction.cpp
    functionUses: 0
    functionsReached:
    - EvictionProtectionCommon
    linkageType: ''
    returnType: void
    signature: void EvictionProtection1Networks250Candidates(benchmark::Bench& bench)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EvictionProtectionCommon
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: EvictionProtection2Networks250Candidates
    functionSourceFile: /src/bitcoin-core/src/bench/peer_eviction.cpp
    functionUses: 0
    functionsReached:
    - EvictionProtectionCommon
    linkageType: ''
    returnType: void
    signature: void EvictionProtection2Networks250Candidates(benchmark::Bench& bench)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EvictionProtectionCommon
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: EvictionProtection3Networks050Candidates
    functionSourceFile: /src/bitcoin-core/src/bench/peer_eviction.cpp
    functionUses: 0
    functionsReached:
    - EvictionProtectionCommon
    linkageType: ''
    returnType: void
    signature: void EvictionProtection3Networks050Candidates(benchmark::Bench& bench)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EvictionProtectionCommon
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: EvictionProtection3Networks100Candidates
    functionSourceFile: /src/bitcoin-core/src/bench/peer_eviction.cpp
    functionUses: 0
    functionsReached:
    - EvictionProtectionCommon
    linkageType: ''
    returnType: void
    signature: void EvictionProtection3Networks100Candidates(benchmark::Bench& bench)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EvictionProtectionCommon
      Src: /src/bitcoin-core/src/bench/peer_eviction.cpp:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: EvictionProtection3Networks250Candidates
    functionSourceFile: /src/bitcoin-core/src/bench/peer_eviction.cpp
    functionUses: 0
    functionsReached:
    - EvictionProtectionCommon
    linkageType: ''
    returnType: void
    signature: void EvictionProtection3Networks250Candidates(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/bench/obfuscation.cpp:15,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/bench/obfuscation.cpp:16,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/obfuscation.cpp:19,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/obfuscation.cpp:19,1
    - Dst: obfuscation
      Src: /src/bitcoin-core/src/bench/obfuscation.cpp:20,1
    - Dst: ankerl::nanobench::doNotOptimizeAway
      Src: /src/bitcoin-core/src/bench/obfuscation.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 23
    functionName: ObfuscationBench
    functionSourceFile: /src/bitcoin-core/src/bench/obfuscation.cpp
    functionUses: 0
    functionsReached:
    - ankerl::nanobench::doNotOptimizeAway
    - auto::size
    - batch
    - FastRandomContext::randbytes
    - obfuscation
    linkageType: ''
    returnType: void
    signature: void ObfuscationBench(benchmark::Bench& bench)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/bitcoin-core/src/bench/lockedpool.cpp:17,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/lockedpool.cpp:23,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/lockedpool.cpp:24,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/bench/lockedpool.cpp:26,1
    - Dst: Arena::alloc
      Src: /src/bitcoin-core/src/bench/lockedpool.cpp:29,1
    - Dst: Arena::free
      Src: /src/bitcoin-core/src/bench/lockedpool.cpp:37,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/bench/lockedpool.cpp:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 39
    functionName: BenchLockedPool
    functionSourceFile: /src/bitcoin-core/src/bench/lockedpool.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - Arena::free
    - std::vector::clear
    - Arena::alloc
    - run
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void BenchLockedPool(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/bitcoin-core/src/bench/examples.cpp:15,1
    - Dst: sin
      Src: /src/bitcoin-core/src/bench/examples.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: Trig
    functionSourceFile: /src/bitcoin-core/src/bench/examples.cpp
    functionUses: 0
    functionsReached:
    - sin
    - run
    linkageType: ''
    returnType: void
    signature: void Trig(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:27,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:28,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:28,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:28,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:28,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:29,1
    - Dst: AddToWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:31,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: wallet::AddTx
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_loading.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - GetNewDestination
    - AddToWallet
    - Assert
    - CMutableTransaction::vin::emplace_back
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: void
    signature: void AddTx(CWallet& wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:36,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:40,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:45,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:46,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:46,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:50,1
    - Dst: wallet::DuplicateMockDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:53,1
    - Dst: auto::GetDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:53,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:56,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:56,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:58,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:59,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:59,1
    - Dst: wallet::DuplicateMockDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:62,1
    - Dst: auto::GetDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:62,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:63,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: wallet::WalletLoadingDescriptors
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_loading.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestLoadWallet
    - MakeNoLogFileContext
    - wallet::AddTx
    - auto::m_node::chain::get
    - wallet::DuplicateMockDatabase
    - wallet::CreateMockableWalletDatabase
    - wallet::TestUnloadWallet
    - std::move
    - epochs
    - auto::GetDatabase
    linkageType: ''
    returnType: void
    signature: void WalletLoadingDescriptors(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:27,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:28,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:28,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:28,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:28,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:29,1
    - Dst: AddToWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:31,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: wallet::AddTx
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_loading.cpp
    functionUses: 1
    functionsReached:
    - GetScriptForDestination
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - GetNewDestination
    - AddToWallet
    - Assert
    - CMutableTransaction::vin::emplace_back
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: void
    signature: void AddTx(CWallet& wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:36,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:40,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:45,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:46,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:46,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:50,1
    - Dst: wallet::DuplicateMockDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:53,1
    - Dst: auto::GetDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:53,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:56,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:56,1
    - Dst: epochs
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:58,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:59,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:59,1
    - Dst: wallet::DuplicateMockDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:62,1
    - Dst: auto::GetDatabase
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:62,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:63,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_loading.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: wallet::WalletLoadingDescriptors
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_loading.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestLoadWallet
    - MakeNoLogFileContext
    - wallet::AddTx
    - auto::m_node::chain::get
    - wallet::DuplicateMockDatabase
    - wallet::CreateMockableWalletDatabase
    - wallet::TestUnloadWallet
    - std::move
    - epochs
    - auto::GetDatabase
    linkageType: ''
    returnType: void
    signature: void WalletLoadingDescriptors(benchmark::Bench& bench)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:38,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:39,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:40,1
    - Dst: FlatSigningProvider::keys::emplace
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:41,1
    - Dst: FlatSigningProvider::pubkeys::emplace
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:42,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:45,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:47,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:47,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:48,1
    - Dst: WitnessV1Taproot
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:51,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:56,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:57,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:58,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:62,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:65,1
    - Dst: Coin
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:66,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:66,1
    - Dst: SignTransaction
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:68,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ' bench'
    - input_type
    argTypes:
    - benchmark::Bench
    - InputType
    assertStmts:
    - condition: (false)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/bench/sign_transaction.cpp
    - condition: (complete)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/bench/sign_transaction.cpp
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: SignTransactionSingleInput
    functionSourceFile: /src/bitcoin-core/src/bench/sign_transaction.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - CPubKey::GetID
    - FlatSigningProvider::pubkeys::emplace
    - std::vector::push_back
    - CMutableTransaction::vin::emplace_back
    - WitnessV0KeyHash
    - GenerateRandomKey
    - CTxOut
    - SignTransaction
    - std::vector::size
    - Coin
    - CMutableTransaction::CMutableTransaction
    - transaction_identifier::FromUint256
    - WitnessV1Taproot
    - CKey::GetPubKey
    - assert
    - minEpochIterations
    - FlatSigningProvider::keys::emplace
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void SignTransactionSingleInput(benchmark::Bench& bench, InputType
      input_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignTransactionSingleInput
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: SignTransactionECDSA
    functionSourceFile: /src/bitcoin-core/src/bench/sign_transaction.cpp
    functionUses: 0
    functionsReached:
    - SignTransactionSingleInput
    linkageType: ''
    returnType: void
    signature: void SignTransactionECDSA(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignTransactionSingleInput
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: SignTransactionSchnorr
    functionSourceFile: /src/bitcoin-core/src/bench/sign_transaction.cpp
    functionUses: 0
    functionsReached:
    - SignTransactionSingleInput
    linkageType: ''
    returnType: void
    signature: void SignTransactionSchnorr(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:78,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:81,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:82,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:83,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:83,1
    - Dst: FastRandomContext::rand256
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:84,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:87,1
    - Dst: auto::SignSchnorr
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:88,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - use_null_merkle_root
    argTypes:
    - benchmark::Bench
    - bool
    assertStmts:
    - condition: (success)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bitcoin-core/src/bench/sign_transaction.cpp
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: SignSchnorrTapTweakBenchmark
    functionSourceFile: /src/bitcoin-core/src/bench/sign_transaction.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - FastRandomContext::rand256
    - GenerateRandomKey
    - minEpochIterations
    - FastRandomContext::FastRandomContext
    - assert
    - auto::SignSchnorr
    linkageType: ''
    returnType: void
    signature: void SignSchnorrTapTweakBenchmark(benchmark::Bench& bench, bool use_null_merkle_root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignSchnorrTapTweakBenchmark
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: SignSchnorrWithMerkleRoot
    functionSourceFile: /src/bitcoin-core/src/bench/sign_transaction.cpp
    functionUses: 0
    functionsReached:
    - SignSchnorrTapTweakBenchmark
    linkageType: ''
    returnType: void
    signature: void SignSchnorrWithMerkleRoot(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignSchnorrTapTweakBenchmark
      Src: /src/bitcoin-core/src/bench/sign_transaction.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: SignSchnorrWithNullMerkleRoot
    functionSourceFile: /src/bitcoin-core/src/bench/sign_transaction.cpp
    functionUses: 0
    functionsReached:
    - SignSchnorrTapTweakBenchmark
    linkageType: ''
    returnType: void
    signature: void SignSchnorrWithNullMerkleRoot(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:55,1
    - Dst: chainman::ActiveTip
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:55,1
    - Dst: auto::GetBlockHash
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:56,1
    - Dst: auto::GetBlockTime
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:56,1
    - Dst: GenesisBlock
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:57,1
    - Dst: GenesisBlock
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' params'
    - ' context'
    argTypes:
    - CChainParams
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: getTip
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    functionUses: 5
    functionsReached:
    - chainman::ActiveTip
    - auto::GetBlockHash
    - WITH_LOCK
    - GenesisBlock
    - auto::GetBlockTime
    linkageType: ''
    returnType: TipBlock
    signature: TipBlock getTip(const CChainParams& params, const node::NodeContext&
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTip
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:65,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:68,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:69,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:70,1
    - Dst: prevout::SetNull
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:71,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:72,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:75,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:82,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:82,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:85,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:85,1
    - Dst: BlockMerkleRoot
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:89,1
    - Dst: GenesisBlock
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:91,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:95,1
    - Dst: chainman::m_blockman::AddToBlockIndex
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:97,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:99,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:103,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:103,1
    - Dst: blockConnected
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:104,1
    - Dst: kernel::MakeBlockInfo
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - ' params'
    - ' context'
    - ' wallet'
    - ' coinbase_out_script'
    argTypes:
    - CChainParams
    - node::NodeContext
    - CWallet
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 105
    functionName: generateFakeBlock
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - chainman::m_blockman::AddToBlockIndex
    - CMutableTransaction::vout::resize
    - getTip
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - WITH_LOCK
    - std::move
    - kernel::MakeBlockInfo
    - GenesisBlock
    - CBlock::CBlock
    - LOCK
    - blockConnected
    - BlockMerkleRoot
    - CScript
    - CMutableTransaction::vin::resize
    - prevout::SetNull
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: void
    signature: "void generateFakeBlock(const CChainParams& params,\n                       const
      node::NodeContext& context,\n                       CWallet& wallet,\n                       const
      CScript& coinbase_out_script)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:115,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:118,1
    - Dst: auto::m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:118,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:119,1
    - Dst: CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:119,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:121,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:122,1
    - Dst: CWallet::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:123,1
    - Dst: getNewDestination
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:127,1
    - Dst: Params
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:130,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:131,1
    - Dst: generateFakeBlock
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:134,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:138,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:138,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:139,1
    - Dst: wallet::CCoinControl::CCoinControl
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:141,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:149,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:150,1
    - Dst: coins::at
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:152,1
    - Dst: wallet::CCoinControl::Select
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:154,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:162,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:163,1
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:164,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - ' bench'
    - output_type
    - allow_other_inputs
    - preset_inputs
    argTypes:
    - benchmark::Bench
    - OutputType
    - bool
    - std::optional<PreSelectInputs>
    assertStmts:
    - condition: (bal == 49 * COIN * (chain_size - COINBASE_MATURITY))
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    - condition: (tx_res)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    constantsTouched: []
    func_position:
      end: 167
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 167
    functionName: WalletCreateTx
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    functionUses: 0
    functionsReached:
    - CWallet::SetupDescriptorScriptPubKeyMans
    - CWallet::SetWalletFlag
    - GetScriptForDestination
    - wallet::CCoinControl::CCoinControl
    - wallet::AvailableCoins
    - coins::at
    - CreateTransaction
    - CreateMockableWalletDatabase
    - auto::m_node::chain::get
    - SetMockTime
    - generateFakeBlock
    - WITH_LOCK
    - Params
    - assert
    - wallet::CCoinControl::Select
    - auto::m_node::chainman::GetParams
    - MakeNoLogFileContext
    - LOCK
    - getNewDestination
    - run
    linkageType: ''
    returnType: void
    signature: void WalletCreateTx(benchmark::Bench& bench, const OutputType output_type,
      bool allow_other_inputs, std::optional<PreSelectInputs> preset_inputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:171,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:173,1
    - Dst: auto::m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:173,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:174,1
    - Dst: CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:174,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:176,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:177,1
    - Dst: CWallet::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:178,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:183,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:183,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:185,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:185,1
    - Dst: getNewDestination
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:185,1
    - Dst: Params
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:189,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:191,1
    - Dst: generateFakeBlock
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:193,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:198,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:198,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:199,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:201,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:202,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:203,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:204,1
    - Dst: All
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' bench'
    - ' output_type'
    argTypes:
    - benchmark::Bench
    - std::vector<OutputType>
    assertStmts:
    - condition: (bal == 49 * COIN * (chain_size - COINBASE_MATURITY))
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    - condition: (res.All().size() == (chain_size - COINBASE_MATURITY) * 2)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: AvailableCoins
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    functionUses: 2
    functionsReached:
    - CWallet::SetupDescriptorScriptPubKeyMans
    - CWallet::SetWalletFlag
    - std::vector::emplace_back
    - GetScriptForDestination
    - All
    - wallet::AvailableCoins
    - CreateMockableWalletDatabase
    - auto::m_node::chain::get
    - SetMockTime
    - std::vector::reserve
    - std::vector::size
    - generateFakeBlock
    - WITH_LOCK
    - Params
    - assert
    - auto::m_node::chainman::GetParams
    - MakeNoLogFileContext
    - size
    - LOCK
    - getNewDestination
    - run
    linkageType: ''
    returnType: void
    signature: void AvailableCoins(benchmark::Bench& bench, const std::vector<OutputType>&
      output_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletCreateTx
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: WalletCreateTxUseOnlyPresetInputs
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    functionUses: 0
    functionsReached:
    - WalletCreateTx
    linkageType: ''
    returnType: void
    signature: void WalletCreateTxUseOnlyPresetInputs(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletCreateTx
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: WalletCreateTxUsePresetInputsAndCoinSelection
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    functionUses: 0
    functionsReached:
    - WalletCreateTx
    linkageType: ''
    returnType: void
    signature: void WalletCreateTxUsePresetInputsAndCoinSelection(benchmark::Bench&
      bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvailableCoins
      Src: /src/bitcoin-core/src/bench/wallet_create_tx.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: WalletAvailableCoins
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_create_tx.cpp
    functionUses: 0
    functionsReached:
    - AvailableCoins
    linkageType: ''
    returnType: void
    signature: void WalletAvailableCoins(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/poly1305.cpp:24,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/poly1305.cpp:24,1
    - Dst: Update
      Src: /src/bitcoin-core/src/bench/poly1305.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - buffersize
    argTypes:
    - benchmark::Bench
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: POLY1305
    functionSourceFile: /src/bitcoin-core/src/bench/poly1305.cpp
    functionUses: 0
    functionsReached:
    - Update
    - batch
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void POLY1305(benchmark::Bench& bench, size_t buffersize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POLY1305
      Src: /src/bitcoin-core/src/bench/poly1305.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: POLY1305_64BYTES
    functionSourceFile: /src/bitcoin-core/src/bench/poly1305.cpp
    functionUses: 0
    functionsReached:
    - POLY1305
    linkageType: ''
    returnType: void
    signature: void POLY1305_64BYTES(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POLY1305
      Src: /src/bitcoin-core/src/bench/poly1305.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: POLY1305_256BYTES
    functionSourceFile: /src/bitcoin-core/src/bench/poly1305.cpp
    functionUses: 0
    functionsReached:
    - POLY1305
    linkageType: ''
    returnType: void
    signature: void POLY1305_256BYTES(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POLY1305
      Src: /src/bitcoin-core/src/bench/poly1305.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: POLY1305_1MB
    functionSourceFile: /src/bitcoin-core/src/bench/poly1305.cpp
    functionUses: 0
    functionsReached:
    - POLY1305
    linkageType: ''
    returnType: void
    signature: void POLY1305_1MB(benchmark::Bench& bench)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MakeTxGraph
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:63,1
    - Dst: InsecureRandomContext::randbits
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:70,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:70,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:73,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:73,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:73,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:77,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:77,1
    - Dst: auto::GetBlockBuilder
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:84,1
    - Dst: InsecureRandomContext::randbits
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:86,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:88,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:90,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:90,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:93,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:93,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:95,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:100,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:100,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:100,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:102,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:105,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:105,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:110,1
    - Dst: auto::Trim
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:112,1
    - Dst: auto::GetBlockBuilder
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:114,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:117,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:117,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:119,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (graph->GetTransactionCount() >= (NUM_TOP_CHAINS * NUM_TX_PER_TOP_CHAIN
        * 99) / 100)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/bitcoin-core/src/bench/txgraph.cpp
    - condition: (!graph->IsOversized())
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/bitcoin-core/src/bench/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 120
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 120
    functionName: BenchTxGraphTrim
    functionSourceFile: /src/bitcoin-core/src/bench/txgraph.cpp
    functionUses: 0
    functionsReached:
    - auto::GetBlockBuilder
    - swap
    - std::move
    - std::vector::push_back
    - MakeTxGraph
    - std::min<int>
    - std::vector::back
    - auto::GetTransactionCount
    - std::vector::pop_back
    - std::vector::size
    - auto::AddDependency
    - InsecureRandomContext::randrange
    - epochIterations
    - auto::IsOversized
    - auto::Trim
    - assert
    - auto::AddTransaction
    - InsecureRandomContext::randbits
    - std::vector::rbegin
    linkageType: ''
    returnType: void
    signature: void BenchTxGraphTrim(benchmark::Bench& bench)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MakeTxGraph
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:63,1
    - Dst: InsecureRandomContext::randbits
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:70,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:70,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:73,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:73,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:73,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:77,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:77,1
    - Dst: auto::GetBlockBuilder
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:81,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:84,1
    - Dst: InsecureRandomContext::randbits
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:86,1
    - Dst: auto::AddTransaction
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:88,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:90,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:90,1
    - Dst: InsecureRandomContext::randrange
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:93,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:93,1
    - Dst: auto::AddDependency
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:95,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:100,1
    - Dst: swap
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:100,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:100,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:102,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:105,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:105,1
    - Dst: epochIterations
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:110,1
    - Dst: auto::Trim
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:112,1
    - Dst: auto::GetBlockBuilder
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:114,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:117,1
    - Dst: auto::IsOversized
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:117,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:119,1
    - Dst: auto::GetTransactionCount
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (graph->GetTransactionCount() >= (NUM_TOP_CHAINS * NUM_TX_PER_TOP_CHAIN
        * 99) / 100)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/bitcoin-core/src/bench/txgraph.cpp
    - condition: (!graph->IsOversized())
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/bitcoin-core/src/bench/txgraph.cpp
    constantsTouched: []
    func_position:
      end: 120
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 120
    functionName: BenchTxGraphTrim
    functionSourceFile: /src/bitcoin-core/src/bench/txgraph.cpp
    functionUses: 0
    functionsReached:
    - auto::GetBlockBuilder
    - swap
    - std::move
    - std::vector::push_back
    - MakeTxGraph
    - std::min<int>
    - std::vector::back
    - auto::GetTransactionCount
    - std::vector::pop_back
    - std::vector::size
    - auto::AddDependency
    - InsecureRandomContext::randrange
    - epochIterations
    - auto::IsOversized
    - auto::Trim
    - assert
    - auto::AddTransaction
    - InsecureRandomContext::randbits
    - std::vector::rbegin
    linkageType: ''
    returnType: void
    signature: void BenchTxGraphTrim(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchTxGraphTrim
      Src: /src/bitcoin-core/src/bench/txgraph.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: TxGraphTrim
    functionSourceFile: /src/bitcoin-core/src/bench/txgraph.cpp
    functionUses: 1
    functionsReached:
    - BenchTxGraphTrim
    linkageType: ''
    returnType: void
    signature: void TxGraphTrim(benchmark::Bench& bench)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/bench/addrman.cpp:35,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/bench/addrman.cpp:39,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/bench/addrman.cpp:39,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/bench/addrman.cpp:43,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/bench/addrman.cpp:43,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/bench/addrman.cpp:46,1
    - Dst: FastRandomContext::randbytes
      Src: /src/bitcoin-core/src/bench/addrman.cpp:46,1
    - Dst: Now
      Src: /src/bitcoin-core/src/bench/addrman.cpp:53,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/addrman.cpp:59,1
    - Dst: randAddr
      Src: /src/bitcoin-core/src/bench/addrman.cpp:59,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/addrman.cpp:60,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/addrman.cpp:62,1
    - Dst: randAddr
      Src: /src/bitcoin-core/src/bench/addrman.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 65
    functionName: CreateAddresses
    functionSourceFile: /src/bitcoin-core/src/bench/addrman.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - uint256
    - randAddr
    - FastRandomContext::randbytes
    - size
    - memcpy
    - emplace_back
    - Now
    linkageType: ''
    returnType: void
    signature: void CreateAddresses()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/bench/addrman.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' addrman'
    argTypes:
    - AddrMan
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: AddAddressesToAddrMan
    functionSourceFile: /src/bitcoin-core/src/bench/addrman.cpp
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void AddAddressesToAddrMan(AddrMan& addrman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateAddresses
      Src: /src/bitcoin-core/src/bench/addrman.cpp:76,1
    - Dst: AddAddressesToAddrMan
      Src: /src/bitcoin-core/src/bench/addrman.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addrman'
    argTypes:
    - AddrMan
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: FillAddrMan
    functionSourceFile: /src/bitcoin-core/src/bench/addrman.cpp
    functionUses: 0
    functionsReached:
    - AddAddressesToAddrMan
    - CreateAddresses
    linkageType: ''
    returnType: void
    signature: void FillAddrMan(AddrMan& addrman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateAddresses
      Src: /src/bitcoin-core/src/bench/addrman.cpp:85,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/addrman.cpp:87,1
    - Dst: AddAddressesToAddrMan
      Src: /src/bitcoin-core/src/bench/addrman.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: AddrManAdd
    functionSourceFile: /src/bitcoin-core/src/bench/addrman.cpp
    functionUses: 0
    functionsReached:
    - AddAddressesToAddrMan
    - run
    - CreateAddresses
    linkageType: ''
    returnType: void
    signature: void AddrManAdd(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAddrMan
      Src: /src/bitcoin-core/src/bench/addrman.cpp:97,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/addrman.cpp:99,1
    - Dst: AddrMan::Select
      Src: /src/bitcoin-core/src/bench/addrman.cpp:100,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/addrman.cpp:101,1
    - Dst: first::GetPort
      Src: /src/bitcoin-core/src/bench/addrman.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (address.first.GetPort() > 0)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/bitcoin-core/src/bench/addrman.cpp
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: AddrManSelect
    functionSourceFile: /src/bitcoin-core/src/bench/addrman.cpp
    functionUses: 0
    functionsReached:
    - FillAddrMan
    - AddrMan::Select
    - first::GetPort
    - assert
    - run
    linkageType: ''
    returnType: void
    signature: void AddrManSelect(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/bitcoin-core/src/bench/addrman.cpp:113,1
    - Dst: AddrMan::Add
      Src: /src/bitcoin-core/src/bench/addrman.cpp:114,1
    - Dst: CAddress
      Src: /src/bitcoin-core/src/bench/addrman.cpp:114,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/addrman.cpp:116,1
    - Dst: AddrMan::Select
      Src: /src/bitcoin-core/src/bench/addrman.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: AddrManSelectFromAlmostEmpty
    functionSourceFile: /src/bitcoin-core/src/bench/addrman.cpp
    functionUses: 0
    functionsReached:
    - AddrMan::Select
    - AddrMan::Add
    - CAddress
    - Lookup
    - run
    linkageType: ''
    returnType: void
    signature: void AddrManSelectFromAlmostEmpty(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CService::CService
      Src: /src/bitcoin-core/src/bench/addrman.cpp:126,1
    - Dst: CService::SetSpecial
      Src: /src/bitcoin-core/src/bench/addrman.cpp:127,1
    - Dst: Now
      Src: /src/bitcoin-core/src/bench/addrman.cpp:129,1
    - Dst: LookupHost
      Src: /src/bitcoin-core/src/bench/addrman.cpp:130,1
    - Dst: AddrMan::Add
      Src: /src/bitcoin-core/src/bench/addrman.cpp:131,1
    - Dst: FillAddrMan
      Src: /src/bitcoin-core/src/bench/addrman.cpp:133,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/addrman.cpp:135,1
    - Dst: AddrMan::Select
      Src: /src/bitcoin-core/src/bench/addrman.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: AddrManSelectByNetwork
    functionSourceFile: /src/bitcoin-core/src/bench/addrman.cpp
    functionUses: 0
    functionsReached:
    - FillAddrMan
    - CService::CService
    - AddrMan::Select
    - CService::SetSpecial
    - LookupHost
    - AddrMan::Add
    - run
    - Now
    linkageType: ''
    returnType: void
    signature: void AddrManSelectByNetwork(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAddrMan
      Src: /src/bitcoin-core/src/bench/addrman.cpp:144,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/addrman.cpp:146,1
    - Dst: AddrMan::GetAddr
      Src: /src/bitcoin-core/src/bench/addrman.cpp:147,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/addrman.cpp:148,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/addrman.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (addresses.size() > 0)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/bitcoin-core/src/bench/addrman.cpp
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: AddrManGetAddr
    functionSourceFile: /src/bitcoin-core/src/bench/addrman.cpp
    functionUses: 0
    functionsReached:
    - FillAddrMan
    - AddrMan::GetAddr
    - size
    - assert
    - run
    linkageType: ''
    returnType: void
    signature: void AddrManGetAddr(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Good
      Src: /src/bitcoin-core/src/bench/addrman.cpp:157,1
    - Dst: CreateAddresses
      Src: /src/bitcoin-core/src/bench/addrman.cpp:162,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/addrman.cpp:164,1
    - Dst: AddAddressesToAddrMan
      Src: /src/bitcoin-core/src/bench/addrman.cpp:172,1
    - Dst: markSomeAsGood
      Src: /src/bitcoin-core/src/bench/addrman.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 176
    functionName: AddrManAddThenGood
    functionSourceFile: /src/bitcoin-core/src/bench/addrman.cpp
    functionUses: 0
    functionsReached:
    - AddAddressesToAddrMan
    - CreateAddresses
    - markSomeAsGood
    - Good
    - run
    linkageType: ''
    returnType: void
    signature: void AddrManAddThenGood(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:45,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:47,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:49,1
    - Dst: std::make_unique<CWalletTx>
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:49,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:49,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' nValue'
    - ' wallet'
    - ' wtxs'
    argTypes:
    - CAmount
    - CWallet
    - std::vector<std::unique_ptr<CWalletTx>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: addCoin
    functionSourceFile: /src/bitcoin-core/src/bench/coin_selection.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::resize
    - push_back
    - MakeTransactionRef
    - CMutableTransaction::CMutableTransaction
    - std::move
    - std::make_unique<CWalletTx>
    linkageType: ''
    returnType: void
    signature: void addCoin(const CAmount& nValue, const CWallet& wallet, std::vector<std::unique_ptr<CWalletTx>>&
      wtxs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:62,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:63,1
    - Dst: CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:63,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:65,1
    - Dst: addCoin
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:69,1
    - Dst: addCoin
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:71,1
    - Dst: tx::vout::at
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:76,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:77,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:77,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:77,1
    - Dst: CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:77,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:77,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:87,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:88,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:89,1
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:93,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:94,1
    - Dst: AttemptSelection
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:95,1
    - Dst: CWallet::chain
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:95,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:96,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:97,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:97,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:98,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (result->GetInputSet().size() == 2)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bitcoin-core/src/bench/coin_selection.cpp
    - condition: (result)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/bench/coin_selection.cpp
    - condition: (result->GetSelectedValue() == 1003 * COIN)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/bench/coin_selection.cpp
    constantsTouched: []
    func_position:
      end: 100
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 100
    functionName: CoinSelection
    functionSourceFile: /src/bitcoin-core/src/bench/coin_selection.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - GetHash
    - wallet::GroupOutputs
    - CreateMockableWalletDatabase
    - addCoin
    - CWallet::chain
    - CalculateMaximumSignedInputSize
    - AttemptSelection
    - auto::get
    - COutPoint
    - auto::GetSelectedValue
    - assert
    - interfaces::MakeChain
    - GetTxTime
    - LOCK
    - auto::GetInputSet
    - emplace_back
    - tx::vout::at
    - run
    linkageType: ''
    returnType: void
    signature: void CoinSelection(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:105,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:106,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:108,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:108,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:108,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:109,1
    - Dst: back
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:110,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' nValue'
    - nInput
    - ' set'
    argTypes:
    - CAmount
    - int
    - std::vector<OutputGroup>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: add_coin
    functionSourceFile: /src/bitcoin-core/src/bench/coin_selection.cpp
    functionUses: 1
    functionsReached:
    - CMutableTransaction::vout::at
    - CMutableTransaction::vout::resize
    - CMutableTransaction::CMutableTransaction
    - back
    - COutPoint
    - CMutableTransaction::GetHash
    - std::make_shared<COutput>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void add_coin(const CAmount& nValue, int nInput, std::vector<OutputGroup>&
      set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:115,1
    - Dst: add_coin
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:119,1
    - Dst: add_coin
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - utxos
    - ' utxo_pool'
    argTypes:
    - int
    - std::vector<OutputGroup>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: make_hard_case
    functionSourceFile: /src/bitcoin-core/src/bench/coin_selection.cpp
    functionUses: 0
    functionsReached:
    - clear
    - add_coin
    linkageType: ''
    returnType: CAmount
    signature: CAmount make_hard_case(int utxos, std::vector<OutputGroup>& utxo_pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:130,1
    - Dst: make_hard_case
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:132,1
    - Dst: SelectCoinsBnB
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:133,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/bench/coin_selection.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: BnBExhaustion
    functionSourceFile: /src/bitcoin-core/src/bench/coin_selection.cpp
    functionUses: 0
    functionsReached:
    - make_hard_case
    - SelectCoinsBnB
    - run
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void BnBExhaustion(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:30,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:31,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:32,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:35,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:36,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:37,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:38,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:39,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:40,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:42,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:43,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:46,1
    - Dst: MempoolToJSON
      Src: /src/bitcoin-core/src/bench/rpc_mempool.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: RpcMempool
    functionSourceFile: /src/bitcoin-core/src/bench/rpc_mempool.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - AddTx
    - CMutableTransaction::vout::resize
    - MempoolToJSON
    - LOCK2
    - MakeTransactionRef
    - CMutableTransaction
    - Assert
    - CScript
    - scriptWitness::stack::push_back
    - CMutableTransaction::vin::resize
    - run
    linkageType: ''
    returnType: void
    signature: void RpcMempool(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ref'
    - tx_count
    argTypes:
    - CTransactionRef
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Available
    functionSourceFile: /src/bitcoin-core/src/bench/mempool_stress.cpp
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Available(CTransactionRef& ref, size_t tx_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:49,1
    - Dst: CMutableTransaction::vin::resize
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:50,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:51,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:51,1
    - Dst: scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:52,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:52,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:53,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:53,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:55,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:55,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:58,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:58,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:59,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:59,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:61,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:62,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:63,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:64,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:65,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:65,1
    - Dst: Available::ref::GetHash
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:67,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:69,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:71,1
    - Dst: Available::ref::vout::size
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:71,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:73,1
    - Dst: CMutableTransaction::vin::back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:74,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:74,1
    - Dst: CMutableTransaction::vin::back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:75,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:75,1
    - Dst: CMutableTransaction::vin::back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:76,1
    - Dst: stack::push_back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:76,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:76,1
    - Dst: Available::ref::vin::size
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:78,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:79,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:80,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:82,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:82,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:84,1
    - Dst: CScriptNum
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:84,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:88,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:88,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:89,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ' det_rand'
    - childTxs
    - min_ancestors
    argTypes:
    - FastRandomContext
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 92
    functionName: CreateOrderedCoins
    functionSourceFile: /src/bitcoin-core/src/bench/mempool_stress.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - CMutableTransaction::vin::back
    - CMutableTransaction::vin::emplace_back
    - CScriptNum
    - std::vector::back
    - CMutableTransaction
    - std::vector::pop_back
    - std::vector::empty
    - Available::ref::vout::size
    - CMutableTransaction::vin::resize
    - std::vector::size
    - CMutableTransaction::vout::resize
    - MakeTransactionRef
    - Available::ref::GetHash
    - COutPoint
    - Available::ref::vin::size
    - stack::push_back
    - scriptWitness::stack::push_back
    - randrange
    - CScript
    linkageType: ''
    returnType: std::vector<CTransactionRef>
    signature: std::vector<CTransactionRef> CreateOrderedCoins(FastRandomContext&
      det_rand, int childTxs, int min_ancestors)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:98,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:99,1
    - Dst: complexityN
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:99,1
    - Dst: CreateOrderedCoins
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:101,1
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:102,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:103,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:104,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:105,1
    - Dst: AddTx
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:107,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:109,1
    - Dst: DynamicMemoryUsage
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:109,1
    - Dst: TrimToSize
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:110,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:110,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: ComplexMemPool
    functionSourceFile: /src/bitcoin-core/src/bench/mempool_stress.cpp
    functionUses: 0
    functionsReached:
    - run
    - MakeNoLogFileContext
    - std::vector::front
    - TrimToSize
    - CreateOrderedCoins
    - complexityN
    - static_cast<int>
    - LOCK2
    - GetVirtualTransactionSize
    - AddTx
    - DynamicMemoryUsage
    - auto::get
    linkageType: ''
    returnType: void
    signature: void ComplexMemPool(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:117,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:118,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:119,1
    - Dst: auto::PopulateMempool
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:120,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:121,1
    - Dst: chainman::ActiveChainstate
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:121,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:123,1
    - Dst: check
      Src: /src/bitcoin-core/src/bench/mempool_stress.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: MempoolCheck
    functionSourceFile: /src/bitcoin-core/src/bench/mempool_stress.cpp
    functionUses: 0
    functionsReached:
    - run
    - MakeNoLogFileContext
    - check
    - auto::PopulateMempool
    - LOCK2
    - chainman::ActiveChainstate
    - auto::get
    linkageType: ''
    returnType: void
    signature: void MempoolCheck(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256::CSHA256
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:14,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:17,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:18,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:18,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:19,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:19,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:20,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:21,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:24,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:24,1
    - Dst: CSHA256::Finalize
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 11
    functionDepth: 3
    functionLinenumber: 11
    functionLinenumberEnd: 27
    functionName: PrePadded
    functionSourceFile: /src/bitcoin-core/src/bench/hashpadding.cpp
    functionUses: 0
    functionsReached:
    - uint256::begin
    - CSHA256::Finalize
    - GetRandHash
    - CSHA256::CSHA256
    - CSHA256::Write
    - run
    linkageType: ''
    returnType: void
    signature: void PrePadded(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSHA256::CSHA256
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:33,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:36,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:37,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:38,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:41,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:41,1
    - Dst: CSHA256::Write
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:42,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:42,1
    - Dst: CSHA256::Finalize
      Src: /src/bitcoin-core/src/bench/hashpadding.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: RegularPadded
    functionSourceFile: /src/bitcoin-core/src/bench/hashpadding.cpp
    functionUses: 0
    functionsReached:
    - run
    - uint256::begin
    - CSHA256::Finalize
    - GetRandHash
    - CSHA256::CSHA256
    - CSHA256::Write
    linkageType: ''
    returnType: void
    signature: void RegularPadded(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:33,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:38,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:38,1
    - Dst: auto::CreateAndProcessBlock
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:41,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:42,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:42,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:46,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:47,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:49,1
    - Dst: BlockFilterIndex::Init
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:50,1
    - Dst: BlockFilterIndex::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:50,1
    - Dst: BlockFilterIndex::Sync
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:51,1
    - Dst: BlockFilterIndex::GetSummary
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:54,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:55,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:55,1
    - Dst: auto::m_node::chainman::ActiveTip
      Src: /src/bitcoin-core/src/bench/index_blockfilter.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (filter_index.Init())
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/bench/index_blockfilter.cpp
    - condition: (summary.best_block_hash == WITH_LOCK(::cs_main, return test_setup->m_node.chainman->ActiveTip()->GetBlockHash()))
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/bench/index_blockfilter.cpp
    - condition: (summary.synced)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/bench/index_blockfilter.cpp
    - condition: (!filter_index.BlockUntilSyncedToCurrentChain())
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/bench/index_blockfilter.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: BlockFilterIndexSync
    functionSourceFile: /src/bitcoin-core/src/bench/index_blockfilter.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - WitnessV0KeyHash
    - GetTime
    - BlockFilterIndex::Init
    - GetScriptForDestination
    - SetMockTime
    - minEpochIterations
    - interfaces::MakeChain
    - BlockFilterIndex::BlockUntilSyncedToCurrentChain
    - WITH_LOCK
    - auto::CreateAndProcessBlock
    - BlockFilterIndex::Sync
    - BlockFilterIndex::GetSummary
    - assert
    - auto::m_node::chainman::ActiveTip
    linkageType: ''
    returnType: void
    signature: void BlockFilterIndexSync(benchmark::Bench& bench)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:29,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:35,1
    - Dst: auto::m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:35,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:36,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:36,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:38,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:39,1
    - Dst: CWallet::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:40,1
    - Dst: auto::m_node::chain::handleNotifications
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:42,1
    - Dst: wallet::getnewaddress
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:44,1
    - Dst: generatetoaddress
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:47,1
    - Dst: std::optional::value_or
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:47,1
    - Dst: generatetoaddress
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:48,1
    - Dst: CWallet::chain
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:51,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:53,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:55,1
    - Dst: CWallet::MarkDirty
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:56,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:57,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ' bench'
    - set_dirty
    - add_mine
    argTypes:
    - benchmark::Bench
    - bool
    - bool
    assertStmts:
    - condition: (bal.m_mine_trusted > 0)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/bench/wallet_balance.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 60
    functionName: wallet::WalletBalance
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 0
    functionsReached:
    - auto::m_node::chainman::GetParams
    - MakeNoLogFileContext
    - CWallet::SetupDescriptorScriptPubKeyMans
    - auto::m_node::chain::get
    - CWallet::SetWalletFlag
    - std::optional::value_or
    - wallet::CreateMockableWalletDatabase
    - run
    - SetMockTime
    - CWallet::chain
    - LOCK
    - CWallet::MarkDirty
    - generatetoaddress
    - wallet::getnewaddress
    - wallet::GetBalance
    - assert
    - auto::m_node::chain::handleNotifications
    linkageType: ''
    returnType: void
    signature: void WalletBalance(benchmark::Bench& bench, const bool set_dirty, const
      bool add_mine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: wallet::WalletBalanceDirty
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBalance
    linkageType: ''
    returnType: void
    signature: void WalletBalanceDirty(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: wallet::WalletBalanceClean
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBalance
    linkageType: ''
    returnType: void
    signature: void WalletBalanceClean(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: wallet::WalletBalanceMine
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBalance
    linkageType: ''
    returnType: void
    signature: void WalletBalanceMine(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: wallet::WalletBalanceWatch
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBalance
    linkageType: ''
    returnType: void
    signature: void WalletBalanceWatch(benchmark::Bench& bench)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:29,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:35,1
    - Dst: auto::m_node::chainman::GetParams
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:35,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:36,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:36,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:38,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:39,1
    - Dst: CWallet::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:40,1
    - Dst: auto::m_node::chain::handleNotifications
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:42,1
    - Dst: wallet::getnewaddress
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:44,1
    - Dst: generatetoaddress
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:47,1
    - Dst: std::optional::value_or
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:47,1
    - Dst: generatetoaddress
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:48,1
    - Dst: CWallet::chain
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:51,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:53,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:55,1
    - Dst: CWallet::MarkDirty
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:56,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:57,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ' bench'
    - set_dirty
    - add_mine
    argTypes:
    - benchmark::Bench
    - bool
    - bool
    assertStmts:
    - condition: (bal.m_mine_trusted > 0)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/bench/wallet_balance.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 60
    functionName: wallet::WalletBalance
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 4
    functionsReached:
    - auto::m_node::chainman::GetParams
    - MakeNoLogFileContext
    - CWallet::SetupDescriptorScriptPubKeyMans
    - auto::m_node::chain::get
    - CWallet::SetWalletFlag
    - std::optional::value_or
    - wallet::CreateMockableWalletDatabase
    - run
    - SetMockTime
    - CWallet::chain
    - LOCK
    - CWallet::MarkDirty
    - generatetoaddress
    - wallet::getnewaddress
    - wallet::GetBalance
    - assert
    - auto::m_node::chain::handleNotifications
    linkageType: ''
    returnType: void
    signature: void WalletBalance(benchmark::Bench& bench, const bool set_dirty, const
      bool add_mine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: wallet::WalletBalanceDirty
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBalance
    linkageType: ''
    returnType: void
    signature: void WalletBalanceDirty(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: wallet::WalletBalanceClean
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBalance
    linkageType: ''
    returnType: void
    signature: void WalletBalanceClean(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: wallet::WalletBalanceMine
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBalance
    linkageType: ''
    returnType: void
    signature: void WalletBalanceMine(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBalance
      Src: /src/bitcoin-core/src/bench/wallet_balance.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: wallet::WalletBalanceWatch
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_balance.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBalance
    linkageType: ''
    returnType: void
    signature: void WalletBalanceWatch(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/pool.cpp:22,1
    - Dst: ankerl::nanobench::Rng::Rng
      Src: /src/bitcoin-core/src/bench/pool.cpp:23,1
    - Dst: rng
      Src: /src/bitcoin-core/src/bench/pool.cpp:25,1
    - Dst: clear
      Src: /src/bitcoin-core/src/bench/pool.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' bench'
    - ' map'
    argTypes:
    - benchmark::Bench
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 29
    functionName: BenchFillClearMap
    functionSourceFile: /src/bitcoin-core/src/bench/pool.cpp
    functionUses: 0
    functionsReached:
    - rng
    - clear
    - ankerl::nanobench::Rng::Rng
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchFillClearMap(benchmark::Bench& bench, Map& map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map<uint64_t, uint64_t>
      Src: /src/bitcoin-core/src/bench/pool.cpp:33,1
    - Dst: BenchFillClearMap
      Src: /src/bitcoin-core/src/bench/pool.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: PoolAllocator_StdUnorderedMap
    functionSourceFile: /src/bitcoin-core/src/bench/pool.cpp
    functionUses: 0
    functionsReached:
    - BenchFillClearMap
    - std::unordered_map<uint64_t, uint64_t>
    linkageType: ''
    returnType: void
    signature: void PoolAllocator_StdUnorderedMap(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Map::allocator_type::ResourceType
      Src: /src/bitcoin-core/src/bench/pool.cpp:47,1
    - Dst: BenchFillClearMap
      Src: /src/bitcoin-core/src/bench/pool.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: PoolAllocator_StdUnorderedMapWithPoolResource
    functionSourceFile: /src/bitcoin-core/src/bench/pool.cpp
    functionUses: 0
    functionsReached:
    - BenchFillClearMap
    - Map::allocator_type::ResourceType
    linkageType: ''
    returnType: void
    signature: void PoolAllocator_StdUnorderedMapWithPoolResource(benchmark::Bench&
      bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::write
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:32,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:34,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:35,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:36,1
    - Dst: DataStream::Rewind
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:37,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:37,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (rewound)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bitcoin-core/src/bench/checkblock.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: DeserializeBlockTest
    functionSourceFile: /src/bitcoin-core/src/bench/checkblock.cpp
    functionUses: 0
    functionsReached:
    - DataStream::Rewind
    - unit
    - size
    - CBlock::CBlock
    - TX_WITH_WITNESS
    - assert
    - DataStream::write
    linkageType: ''
    returnType: void
    signature: void DeserializeBlockTest(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::write
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:46,1
    - Dst: ArgsManager::ArgsManager
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:48,1
    - Dst: CreateChainParams
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:49,1
    - Dst: unit
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:51,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:52,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:53,1
    - Dst: DataStream::Rewind
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:54,1
    - Dst: size
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:54,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:55,1
    - Dst: CheckBlock
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:58,1
    - Dst: auto::GetConsensus
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:58,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/checkblock.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (rewound)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bitcoin-core/src/bench/checkblock.cpp
    - condition: (checked)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/bench/checkblock.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: DeserializeAndCheckBlockTest
    functionSourceFile: /src/bitcoin-core/src/bench/checkblock.cpp
    functionUses: 0
    functionsReached:
    - auto::GetConsensus
    - DataStream::Rewind
    - CheckBlock
    - unit
    - ArgsManager::ArgsManager
    - size
    - CBlock::CBlock
    - CreateChainParams
    - TX_WITH_WITNESS
    - assert
    - DataStream::write
    linkageType: ''
    returnType: void
    signature: void DeserializeAndCheckBlockTest(benchmark::Bench& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:27,1
    - Dst: CScriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:30,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:38,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:39,1
    - Dst: MineBlock
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:39,1
    - Dst: CMutableTransaction::vin::back
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:40,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:41,1
    - Dst: std::array::at
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:43,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:43,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:46,1
    - Dst: auto::m_node::chainman::ProcessTransaction
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:49,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:50,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:54,1
    - Dst: PrepareBlock
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (res.m_result_type == MempoolAcceptResult::ResultType::VALID)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bitcoin-core/src/bench/block_assemble.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 57
    functionName: AssembleBlock
    functionSourceFile: /src/bitcoin-core/src/bench/block_assemble.cpp
    functionUses: 0
    functionsReached:
    - PrepareBlock
    - MakeNoLogFileContext
    - CMutableTransaction::CMutableTransaction
    - CScriptWitness::stack::push_back
    - CMutableTransaction::vin::back
    - MakeTransactionRef
    - MineBlock
    - LOCK
    - auto::m_node::chainman::ProcessTransaction
    - std::array::at
    - CMutableTransaction::vin::emplace_back
    - assert
    - run
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: void
    signature: void AssembleBlock(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:61,1
    - Dst: auto::PopulateMempool
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:62,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:67,1
    - Dst: PrepareBlock
      Src: /src/bitcoin-core/src/bench/block_assemble.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: BlockAssemblerAddPackageTxns
    functionSourceFile: /src/bitcoin-core/src/bench/block_assemble.cpp
    functionUses: 0
    functionsReached:
    - auto::PopulateMempool
    - MakeNoLogFileContext
    - PrepareBlock
    - run
    linkageType: ''
    returnType: void
    signature: void BlockAssemblerAddPackageTxns(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/bitcoin-core/src/bench/util_time.cpp:11,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/bench/util_time.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 14
    functionName: BenchTimeDeprecated
    functionSourceFile: /src/bitcoin-core/src/bench/util_time.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - run
    linkageType: ''
    returnType: void
    signature: void BenchTimeDeprecated(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/bench/util_time.cpp:18,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/util_time.cpp:19,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/bench/util_time.cpp:20,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/bench/util_time.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: BenchTimeMock
    functionSourceFile: /src/bitcoin-core/src/bench/util_time.cpp
    functionUses: 0
    functionsReached:
    - SetMockTime
    - GetTime
    - run
    linkageType: ''
    returnType: void
    signature: void BenchTimeMock(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/bitcoin-core/src/bench/util_time.cpp:27,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/bench/util_time.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: BenchTimeMillis
    functionSourceFile: /src/bitcoin-core/src/bench/util_time.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - run
    linkageType: ''
    returnType: void
    signature: void BenchTimeMillis(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/bitcoin-core/src/bench/util_time.cpp:34,1
    - Dst: TicksSinceEpoch
      Src: /src/bitcoin-core/src/bench/util_time.cpp:35,1
    - Dst: wallet::WalletRescanReserver::now
      Src: /src/bitcoin-core/src/bench/util_time.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: BenchTimeMillisSys
    functionSourceFile: /src/bitcoin-core/src/bench/util_time.cpp
    functionUses: 0
    functionsReached:
    - run
    - TicksSinceEpoch
    - wallet::WalletRescanReserver::now
    linkageType: ''
    returnType: void
    signature: void BenchTimeMillisSys(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:18,1
    - Dst: rand64
      Src: /src/bitcoin-core/src/bench/random.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: BenchRandom_rand64
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - rand64
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_rand64(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:26,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/bench/random.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: BenchRandom_rand32
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - rand32
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_rand32(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:34,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/bench/random.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: BenchRandom_randbool
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - randbool
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_randbool(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:42,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/bench/random.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: BenchRandom_randbits
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - randbits
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_randbits(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:52,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: BenchRandom_randrange
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - randrange
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_randrange(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::iota
      Src: /src/bitcoin-core/src/bench/random.cpp:63,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/random.cpp:63,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/random.cpp:63,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:64,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/bench/random.cpp:65,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/random.cpp:65,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/random.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: BenchRandom_stdshuffle
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - std::iota
    - end
    - batch
    - std::shuffle
    - begin
    linkageType: ''
    returnType: void
    signature: void BenchRandom_stdshuffle(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_rand64
      Src: /src/bitcoin-core/src/bench/random.cpp:69,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: FastRandom_rand64
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_rand64
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void FastRandom_rand64(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_rand32
      Src: /src/bitcoin-core/src/bench/random.cpp:70,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: FastRandom_rand32
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_rand32
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void FastRandom_rand32(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randbool
      Src: /src/bitcoin-core/src/bench/random.cpp:71,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: FastRandom_randbool
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_randbool
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void FastRandom_randbool(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randbits
      Src: /src/bitcoin-core/src/bench/random.cpp:72,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: FastRandom_randbits
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    - BenchRandom_randbits
    linkageType: ''
    returnType: void
    signature: void FastRandom_randbits(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:73,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: FastRandom_randrange100
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void FastRandom_randrange100(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:74,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: FastRandom_randrange1000
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void FastRandom_randrange1000(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:75,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: FastRandom_randrange1000000
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void FastRandom_randrange1000000(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_stdshuffle
      Src: /src/bitcoin-core/src/bench/random.cpp:76,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: FastRandom_stdshuffle100
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_stdshuffle
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void FastRandom_stdshuffle100(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_rand64
      Src: /src/bitcoin-core/src/bench/random.cpp:78,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: InsecureRandom_rand64
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_rand64
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_rand64(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_rand32
      Src: /src/bitcoin-core/src/bench/random.cpp:79,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: InsecureRandom_rand32
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_rand32
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_rand32(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randbool
      Src: /src/bitcoin-core/src/bench/random.cpp:80,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: InsecureRandom_randbool
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_randbool
    - InsecureRandomContext
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randbool(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randbits
      Src: /src/bitcoin-core/src/bench/random.cpp:81,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: InsecureRandom_randbits
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_randbits
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randbits(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:82,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: InsecureRandom_randrange100
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randrange100(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:83,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: InsecureRandom_randrange1000
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randrange1000(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:84,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: InsecureRandom_randrange1000000
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randrange1000000(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_stdshuffle
      Src: /src/bitcoin-core/src/bench/random.cpp:85,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: InsecureRandom_stdshuffle100
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_stdshuffle
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_stdshuffle100(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:18,1
    - Dst: rand64
      Src: /src/bitcoin-core/src/bench/random.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: BenchRandom_rand64
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 2
    functionsReached:
    - rand64
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_rand64(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:26,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/bench/random.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: BenchRandom_rand32
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 2
    functionsReached:
    - rand32
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_rand32(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:34,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/bench/random.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: BenchRandom_randbool
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 2
    functionsReached:
    - randbool
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_randbool(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:42,1
    - Dst: randbits
      Src: /src/bitcoin-core/src/bench/random.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: BenchRandom_randbits
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 2
    functionsReached:
    - randbits
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_randbits(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:52,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: BenchRandom_randrange
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 6
    functionsReached:
    - randrange
    - batch
    linkageType: ''
    returnType: void
    signature: void BenchRandom_randrange(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::iota
      Src: /src/bitcoin-core/src/bench/random.cpp:63,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/random.cpp:63,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/random.cpp:63,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/random.cpp:64,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/bench/random.cpp:65,1
    - Dst: begin
      Src: /src/bitcoin-core/src/bench/random.cpp:65,1
    - Dst: end
      Src: /src/bitcoin-core/src/bench/random.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' bench'
    - ' rng'
    argTypes:
    - benchmark::Bench
    - RNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: BenchRandom_stdshuffle
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 2
    functionsReached:
    - std::iota
    - end
    - batch
    - std::shuffle
    - begin
    linkageType: ''
    returnType: void
    signature: void BenchRandom_stdshuffle(benchmark::Bench& bench, RNG&& rng) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_rand64
      Src: /src/bitcoin-core/src/bench/random.cpp:69,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: FastRandom_rand64
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_rand64
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void FastRandom_rand64(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_rand32
      Src: /src/bitcoin-core/src/bench/random.cpp:70,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: FastRandom_rand32
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_rand32
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void FastRandom_rand32(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randbool
      Src: /src/bitcoin-core/src/bench/random.cpp:71,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: FastRandom_randbool
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_randbool
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void FastRandom_randbool(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randbits
      Src: /src/bitcoin-core/src/bench/random.cpp:72,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: FastRandom_randbits
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    - BenchRandom_randbits
    linkageType: ''
    returnType: void
    signature: void FastRandom_randbits(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:73,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: FastRandom_randrange100
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void FastRandom_randrange100(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:74,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: FastRandom_randrange1000
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void FastRandom_randrange1000(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:75,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: FastRandom_randrange1000000
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - FastRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void FastRandom_randrange1000000(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_stdshuffle
      Src: /src/bitcoin-core/src/bench/random.cpp:76,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: FastRandom_stdshuffle100
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_stdshuffle
    - FastRandomContext
    linkageType: ''
    returnType: void
    signature: void FastRandom_stdshuffle100(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_rand64
      Src: /src/bitcoin-core/src/bench/random.cpp:78,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: InsecureRandom_rand64
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_rand64
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_rand64(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_rand32
      Src: /src/bitcoin-core/src/bench/random.cpp:79,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: InsecureRandom_rand32
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_rand32
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_rand32(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randbool
      Src: /src/bitcoin-core/src/bench/random.cpp:80,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: InsecureRandom_randbool
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - BenchRandom_randbool
    - InsecureRandomContext
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randbool(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randbits
      Src: /src/bitcoin-core/src/bench/random.cpp:81,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: InsecureRandom_randbits
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_randbits
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randbits(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:82,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: InsecureRandom_randrange100
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randrange100(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:83,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: InsecureRandom_randrange1000
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randrange1000(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_randrange
      Src: /src/bitcoin-core/src/bench/random.cpp:84,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: InsecureRandom_randrange1000000
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_randrange
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_randrange1000000(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BenchRandom_stdshuffle
      Src: /src/bitcoin-core/src/bench/random.cpp:85,1
    - Dst: InsecureRandomContext
      Src: /src/bitcoin-core/src/bench/random.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: InsecureRandom_stdshuffle100
    functionSourceFile: /src/bitcoin-core/src/bench/random.cpp
    functionUses: 0
    functionsReached:
    - InsecureRandomContext
    - BenchRandom_stdshuffle
    linkageType: ''
    returnType: void
    signature: void InsecureRandom_stdshuffle100(benchmark::Bench& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:30,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:34,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:39,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:40,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:40,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:45,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:47,1
    - Dst: CKey::MakeNewKey
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:48,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:51,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:51,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:52,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:52,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:53,1
    - Dst: auto::AddWalletDescriptor
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:53,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:57,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:57,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:59,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:60,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:62,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:65,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (mine == ISMINE_NO)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/bench/wallet_ismine.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: wallet::WalletIsMine
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_ismine.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - GetScriptForDestination
    - DecodeDestination
    - wallet::TestUnloadWallet
    - std::move
    - auto::m_node::chain::get
    - wallet::CreateMockableWalletDatabase
    - CKey::CKey
    - auto::AddWalletDescriptor
    - CKey::MakeNewKey
    - wallet::TestLoadWallet
    - auto::IsMine
    - Parse
    - Assert
    - assert
    - MakeNoLogFileContext
    - std::vector::at
    - LOCK
    - run
    linkageType: ''
    returnType: void
    signature: void WalletIsMine(benchmark::Bench& bench, int num_combo = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletIsMine
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: wallet::WalletIsMineDescriptors
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_ismine.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletIsMine
    linkageType: ''
    returnType: void
    signature: void WalletIsMineDescriptors(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletIsMine
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: wallet::WalletIsMineMigratedDescriptors
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_ismine.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletIsMine
    linkageType: ''
    returnType: void
    signature: void WalletIsMineMigratedDescriptors(benchmark::Bench& bench)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:30,1
    - Dst: auto::m_node::chain::get
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:34,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:39,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:40,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:40,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:45,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:47,1
    - Dst: CKey::MakeNewKey
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:48,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:51,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:51,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:52,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:52,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:53,1
    - Dst: auto::AddWalletDescriptor
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:53,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:57,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:57,1
    - Dst: run
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:59,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:60,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:62,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:65,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (mine == ISMINE_NO)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/bench/wallet_ismine.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: wallet::WalletIsMine
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_ismine.cpp
    functionUses: 2
    functionsReached:
    - EncodeSecret
    - GetScriptForDestination
    - DecodeDestination
    - wallet::TestUnloadWallet
    - std::move
    - auto::m_node::chain::get
    - wallet::CreateMockableWalletDatabase
    - CKey::CKey
    - auto::AddWalletDescriptor
    - CKey::MakeNewKey
    - wallet::TestLoadWallet
    - auto::IsMine
    - Parse
    - Assert
    - assert
    - MakeNoLogFileContext
    - std::vector::at
    - LOCK
    - run
    linkageType: ''
    returnType: void
    signature: void WalletIsMine(benchmark::Bench& bench, int num_combo = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletIsMine
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: wallet::WalletIsMineDescriptors
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_ismine.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletIsMine
    linkageType: ''
    returnType: void
    signature: void WalletIsMineDescriptors(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletIsMine
      Src: /src/bitcoin-core/src/bench/wallet_ismine.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: wallet::WalletIsMineMigratedDescriptors
    functionSourceFile: /src/bitcoin-core/src/bench/wallet_ismine.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletIsMine
    linkageType: ''
    returnType: void
    signature: void WalletIsMineMigratedDescriptors(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:18,1
    - Dst: FastRandomContext::fillrand
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:24,1
    - Dst: FastRandomContext::fillrand
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:25,1
    - Dst: FastRandomContext::fillrand
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:26,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:28,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:29,1
    - Dst: CKey::Set
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:30,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:30,1
    - Dst: std::array::data
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:30,1
    - Dst: CKey::ComputeBIP324ECDHSecret
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:34,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:41,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:41,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:41,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:41,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:43,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:43,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:43,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:43,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:45,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:45,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:45,1
    - Dst: std::array::begin
      Src: /src/bitcoin-core/src/bench/bip324_ecdh.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 47
    functionName: BIP324_ECDH
    functionSourceFile: /src/bitcoin-core/src/bench/bip324_ecdh.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - auto::begin
    - batch
    - std::array::data
    - CKey::Set
    - CKey::CKey
    - FastRandomContext::FastRandomContext
    - FastRandomContext::fillrand
    - std::array::begin
    - CKey::ComputeBIP324ECDHSecret
    - auto::end
    linkageType: ''
    returnType: void
    signature: void BIP324_ECDH(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20::Seek
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:24,1
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:27,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:27,1
    - Dst: ChaCha20::Crypt
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' bench'
    - buffersize
    argTypes:
    - benchmark::Bench
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: CHACHA20
    functionSourceFile: /src/bitcoin-core/src/bench/chacha20.cpp
    functionUses: 0
    functionsReached:
    - ChaCha20::Crypt
    - batch
    - ChaCha20::Seek
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void CHACHA20(benchmark::Bench& bench, size_t buffersize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: batch
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:39,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:39,1
    - Dst: FSChaCha20Poly1305::Encrypt
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' bench'
    - buffersize
    argTypes:
    - benchmark::Bench
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: FSCHACHA20POLY1305
    functionSourceFile: /src/bitcoin-core/src/bench/chacha20.cpp
    functionUses: 0
    functionsReached:
    - FSChaCha20Poly1305::Encrypt
    - batch
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FSCHACHA20POLY1305(benchmark::Bench& bench, size_t buffersize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHACHA20
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: CHACHA20_64BYTES
    functionSourceFile: /src/bitcoin-core/src/bench/chacha20.cpp
    functionUses: 0
    functionsReached:
    - CHACHA20
    linkageType: ''
    returnType: void
    signature: void CHACHA20_64BYTES(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHACHA20
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: CHACHA20_256BYTES
    functionSourceFile: /src/bitcoin-core/src/bench/chacha20.cpp
    functionUses: 0
    functionsReached:
    - CHACHA20
    linkageType: ''
    returnType: void
    signature: void CHACHA20_256BYTES(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHACHA20
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: CHACHA20_1MB
    functionSourceFile: /src/bitcoin-core/src/bench/chacha20.cpp
    functionUses: 0
    functionsReached:
    - CHACHA20
    linkageType: ''
    returnType: void
    signature: void CHACHA20_1MB(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FSCHACHA20POLY1305
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: FSCHACHA20POLY1305_64BYTES
    functionSourceFile: /src/bitcoin-core/src/bench/chacha20.cpp
    functionUses: 0
    functionsReached:
    - FSCHACHA20POLY1305
    linkageType: ''
    returnType: void
    signature: void FSCHACHA20POLY1305_64BYTES(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FSCHACHA20POLY1305
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: FSCHACHA20POLY1305_256BYTES
    functionSourceFile: /src/bitcoin-core/src/bench/chacha20.cpp
    functionUses: 0
    functionsReached:
    - FSCHACHA20POLY1305
    linkageType: ''
    returnType: void
    signature: void FSCHACHA20POLY1305_256BYTES(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FSCHACHA20POLY1305
      Src: /src/bitcoin-core/src/bench/chacha20.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: FSCHACHA20POLY1305_1MB
    functionSourceFile: /src/bitcoin-core/src/bench/chacha20.cpp
    functionUses: 0
    functionsReached:
    - FSCHACHA20POLY1305
    linkageType: ''
    returnType: void
    signature: void FSCHACHA20POLY1305_1MB(benchmark::Bench& bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BlockTxns::reserve
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:43,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:45,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:47,1
    - Dst: CMutableTransaction::vin::emplace_back
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:48,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:49,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:50,1
    - Dst: BlockTxns::emplace_back
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:51,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - num_txns
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: CreateRandomTransactions
    functionSourceFile: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    functionUses: 0
    functionsReached:
    - BlockTxns::reserve
    - auto::GetHash
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - CScript
    - CMutableTransaction::vin::emplace_back
    - CMutableTransaction::vout::emplace_back
    - BlockTxns::emplace_back
    linkageType: ''
    returnType: BlockTxns
    signature: BlockTxns CreateRandomTransactions(size_t num_txns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateRandomTransactions
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:65,1
    - Dst: CreateRandomTransactions
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:68,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:69,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:69,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:69,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:69,1
    - Dst: CreateRandomTransactions
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:71,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:72,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:72,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:72,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:72,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:74,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:74,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:75,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:75,1
    - Dst: CreateRandomTransactions
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - num_not_shared
    argTypes:
    - size_t
    assertStmts:
    - condition: (disconnected_block_txns.size() == BLOCK_VTX_COUNT)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    - condition: (connected_block_txns.size() == BLOCK_VTX_COUNT)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: CreateBlocks
    functionSourceFile: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - auto::begin
    - CreateRandomTransactions
    - auto::size
    - std::back_inserter
    - auto::end
    - assert
    linkageType: ''
    returnType: ReorgTxns
    signature: ReorgTxns CreateBlocks(size_t num_not_shared)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DisconnectedBlockTransactions::AddTransactionsFromBlock
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:87,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:88,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:88,1
    - Dst: DisconnectedBlockTransactions::removeForBlock
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:91,1
    - Dst: DisconnectedBlockTransactions::removeForBlock
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:93,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:96,1
    - Dst: DisconnectedBlockTransactions::size
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:96,1
    - Dst: DisconnectedBlockTransactions::clear
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' reorg'
    argTypes:
    - ReorgTxns
    assertStmts:
    - condition: (evicted.empty())
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    - condition: (disconnectpool.size() == BLOCK_VTX_COUNT - reorg.num_shared)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: Reorg
    functionSourceFile: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    functionUses: 2
    functionsReached:
    - DisconnectedBlockTransactions::clear
    - DisconnectedBlockTransactions::AddTransactionsFromBlock
    - DisconnectedBlockTransactions::size
    - auto::empty
    - DisconnectedBlockTransactions::removeForBlock
    - assert
    linkageType: ''
    returnType: void
    signature: void Reorg(const ReorgTxns& reorg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateBlocks
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:107,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:108,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:110,1
    - Dst: Reorg
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (chains.num_shared == BLOCK_VTX_COUNT - 1)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: AddAndRemoveDisconnectedBlockTransactionsAll
    functionSourceFile: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    functionUses: 0
    functionsReached:
    - minEpochIterations
    - assert
    - CreateBlocks
    - Reorg
    linkageType: ''
    returnType: void
    signature: void AddAndRemoveDisconnectedBlockTransactionsAll(benchmark::Bench&
      bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateBlocks
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:118,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:119,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:121,1
    - Dst: Reorg
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (chains.num_shared == BLOCK_VTX_COUNT - BLOCK_VTX_COUNT_10PERCENT)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 5
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: AddAndRemoveDisconnectedBlockTransactions90
    functionSourceFile: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    functionUses: 0
    functionsReached:
    - minEpochIterations
    - assert
    - CreateBlocks
    - Reorg
    linkageType: ''
    returnType: void
    signature: void AddAndRemoveDisconnectedBlockTransactions90(benchmark::Bench&
      bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateBlocks
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:129,1
    - Dst: assert
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:130,1
    - Dst: minEpochIterations
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:132,1
    - Dst: Reorg
      Src: /src/bitcoin-core/src/bench/disconnected_transactions.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' bench'
    argTypes:
    - benchmark::Bench
    assertStmts:
    - condition: (chains.num_shared == BLOCK_VTX_COUNT_10PERCENT)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: AddAndRemoveDisconnectedBlockTransactions10
    functionSourceFile: /src/bitcoin-core/src/bench/disconnected_transactions.cpp
    functionUses: 0
    functionsReached:
    - minEpochIterations
    - assert
    - CreateBlocks
    - Reorg
    linkageType: ''
    returnType: void
    signature: void AddAndRemoveDisconnectedBlockTransactions10(benchmark::Bench&
      bench)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::lexicographical_compare
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    - Dst: std::span<const std::byte>::subspan
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    - Dst: BytePrefix::prefix::size
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BytePrefix
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: operator<(BytePrefix a, std::span<const std::byte> b)
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 0
    functionsReached:
    - std::ranges::lexicographical_compare
    - std::span<const std::byte>::subspan
    - std::span<const std::byte>::size
    - BytePrefix::prefix::size
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool operator<(BytePrefix a, std::span<const std::byte> b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::lexicographical_compare
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    - Dst: std::span<const std::byte>::subspan
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    - Dst: BytePrefix::prefix::size
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::span<const std::byte>
    - BytePrefix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: operator<(std::span<const std::byte> a, BytePrefix b)
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 0
    functionsReached:
    - std::ranges::lexicographical_compare
    - std::span<const std::byte>::subspan
    - std::span<const std::byte>::size
    - BytePrefix::prefix::size
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool operator<(std::span<const std::byte> a, BytePrefix b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fs::recursive_directory_iterator
      Src: /src/bitcoin-core/src/wallet/db.cpp:28,1
    - Dst: fs::recursive_directory_iterator
      Src: /src/bitcoin-core/src/wallet/db.cpp:28,1
    - Dst: auto::increment
      Src: /src/bitcoin-core/src/wallet/db.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/db.cpp:29,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:31,1
    - Dst: auto::status
      Src: /src/bitcoin-core/src/wallet/db.cpp:33,1
    - Dst: wallet::IsBDBFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:34,1
    - Dst: wallet::BDBDataFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:34,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:34,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:36,1
    - Dst: wallet::IsSQLiteFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:37,1
    - Dst: wallet::SQLiteDataFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:37,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:37,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:39,1
    - Dst: auto::depth
      Src: /src/bitcoin-core/src/wallet/db.cpp:41,1
    - Dst: auto::symlink_status
      Src: /src/bitcoin-core/src/wallet/db.cpp:41,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:41,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:42,1
    - Dst: wallet::IsBDBFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:45,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:45,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:46,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/wallet/db.cpp:46,1
    - Dst: wallet::IsSQLiteFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:47,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:47,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:48,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/wallet/db.cpp:48,1
    - Dst: wallet::IsBDBFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:50,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:50,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:55,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/db.cpp:59,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/db.cpp:59,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/db.cpp:59,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:59,1
    - Dst: auto::disable_recursion_pending
      Src: /src/bitcoin-core/src/wallet/db.cpp:60,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/db.cpp:69,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/db.cpp:69,1
    - Dst: std::error_code::message
      Src: /src/bitcoin-core/src/wallet/db.cpp:69,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - ' wallet_dir'
    argTypes:
    - fs::path
    assertStmts:
    - condition: (!ec)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/wallet/db.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 73
    functionName: wallet::ListDatabases
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 0
    functionsReached:
    - DeserializeHDKeypath
    - wallet::SQLiteDataFile
    - std::vector::emplace_back
    - auto::disable_recursion_pending
    - wallet::BDBDataFile
    - std::error_code::message
    - fs::recursive_directory_iterator
    - LogWarning
    - auto::path
    - what
    - wallet::IsBDBFile
    - auto::status
    - auto::increment
    - assert
    - auto::symlink_status
    - auto::depth
    - fs::PathToString
    - wallet::IsSQLiteFile
    linkageType: ''
    returnType: std::vector<std::pair<fs::path, std::string>>
    signature: std::vector<std::pair<fs::path, std::string>> ListDatabases(const fs::path&
      wallet_dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_regular_file
      Src: /src/bitcoin-core/src/wallet/db.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' wallet_path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: wallet::BDBDataFile
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 1
    functionsReached:
    - fs::is_regular_file
    linkageType: ''
    returnType: fs::path
    signature: fs::path BDBDataFile(const fs::path& wallet_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: wallet::SQLiteDataFile
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fs::path
    signature: fs::path SQLiteDataFile(const fs::path& path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/db.cpp:96,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/wallet/db.cpp:101,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/db.cpp:102,1
    - Dst: std::error_code::message
      Src: /src/bitcoin-core/src/wallet/db.cpp:102,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/db.cpp:102,1
    - Dst: std::ifstream::is_open
      Src: /src/bitcoin-core/src/wallet/db.cpp:106,1
    - Dst: std::ifstream::seekg
      Src: /src/bitcoin-core/src/wallet/db.cpp:108,1
    - Dst: std::ifstream::read
      Src: /src/bitcoin-core/src/wallet/db.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: wallet::IsBDBFile
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::is_open
    - std::error_code::message
    - fs::exists
    - std::ifstream::read
    - LogWarning
    - std::ifstream::seekg
    - leveldb_options_set_max_file_size
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool IsBDBFile(const fs::path& path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/db.cpp:121,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/wallet/db.cpp:125,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/db.cpp:126,1
    - Dst: std::error_code::message
      Src: /src/bitcoin-core/src/wallet/db.cpp:126,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/db.cpp:126,1
    - Dst: std::ifstream::is_open
      Src: /src/bitcoin-core/src/wallet/db.cpp:130,1
    - Dst: std::ifstream::read
      Src: /src/bitcoin-core/src/wallet/db.cpp:134,1
    - Dst: std::ifstream::seekg
      Src: /src/bitcoin-core/src/wallet/db.cpp:137,1
    - Dst: std::ifstream::read
      Src: /src/bitcoin-core/src/wallet/db.cpp:139,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/db.cpp:141,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/wallet/db.cpp:150,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/db.cpp:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 151
    functionName: wallet::IsSQLiteFile
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::close
    - std::ifstream::is_open
    - std::error_code::message
    - fs::exists
    - std::ifstream::read
    - LogWarning
    - std::ifstream::seekg
    - memcmp
    - leveldb_options_set_max_file_size
    - Params
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool IsSQLiteFile(const fs::path& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/db.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - DatabaseOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: wallet::ReadDatabaseArgs
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 0
    functionsReached:
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void ReadDatabaseArgs(const ArgsManager& args, DatabaseOptions& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::lexicographical_compare
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    - Dst: std::span<const std::byte>::subspan
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    - Dst: BytePrefix::prefix::size
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/wallet/db.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BytePrefix
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: operator<(BytePrefix a, std::span<const std::byte> b)
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 0
    functionsReached:
    - std::ranges::lexicographical_compare
    - std::span<const std::byte>::subspan
    - std::span<const std::byte>::size
    - BytePrefix::prefix::size
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool operator<(BytePrefix a, std::span<const std::byte> b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::lexicographical_compare
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    - Dst: std::span<const std::byte>::subspan
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    - Dst: BytePrefix::prefix::size
      Src: /src/bitcoin-core/src/wallet/db.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::span<const std::byte>
    - BytePrefix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: operator<(std::span<const std::byte> a, BytePrefix b)
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 0
    functionsReached:
    - std::ranges::lexicographical_compare
    - std::span<const std::byte>::subspan
    - std::span<const std::byte>::size
    - BytePrefix::prefix::size
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool operator<(std::span<const std::byte> a, BytePrefix b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fs::recursive_directory_iterator
      Src: /src/bitcoin-core/src/wallet/db.cpp:28,1
    - Dst: fs::recursive_directory_iterator
      Src: /src/bitcoin-core/src/wallet/db.cpp:28,1
    - Dst: auto::increment
      Src: /src/bitcoin-core/src/wallet/db.cpp:28,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/db.cpp:29,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:31,1
    - Dst: auto::status
      Src: /src/bitcoin-core/src/wallet/db.cpp:33,1
    - Dst: wallet::IsBDBFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:34,1
    - Dst: wallet::BDBDataFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:34,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:34,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:36,1
    - Dst: wallet::IsSQLiteFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:37,1
    - Dst: wallet::SQLiteDataFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:37,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:37,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:39,1
    - Dst: auto::depth
      Src: /src/bitcoin-core/src/wallet/db.cpp:41,1
    - Dst: auto::symlink_status
      Src: /src/bitcoin-core/src/wallet/db.cpp:41,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:41,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:42,1
    - Dst: wallet::IsBDBFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:45,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:45,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:46,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/wallet/db.cpp:46,1
    - Dst: wallet::IsSQLiteFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:47,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:47,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:48,1
    - Dst: DeserializeHDKeypath
      Src: /src/bitcoin-core/src/wallet/db.cpp:48,1
    - Dst: wallet::IsBDBFile
      Src: /src/bitcoin-core/src/wallet/db.cpp:50,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:50,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/db.cpp:55,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/db.cpp:59,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/db.cpp:59,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/db.cpp:59,1
    - Dst: auto::path
      Src: /src/bitcoin-core/src/wallet/db.cpp:59,1
    - Dst: auto::disable_recursion_pending
      Src: /src/bitcoin-core/src/wallet/db.cpp:60,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/db.cpp:69,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/db.cpp:69,1
    - Dst: std::error_code::message
      Src: /src/bitcoin-core/src/wallet/db.cpp:69,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - ' wallet_dir'
    argTypes:
    - fs::path
    assertStmts:
    - condition: (!ec)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/wallet/db.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 73
    functionName: wallet::ListDatabases
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 0
    functionsReached:
    - DeserializeHDKeypath
    - wallet::SQLiteDataFile
    - std::vector::emplace_back
    - auto::disable_recursion_pending
    - wallet::BDBDataFile
    - std::error_code::message
    - fs::recursive_directory_iterator
    - LogWarning
    - auto::path
    - what
    - wallet::IsBDBFile
    - auto::status
    - auto::increment
    - assert
    - auto::symlink_status
    - auto::depth
    - fs::PathToString
    - wallet::IsSQLiteFile
    linkageType: ''
    returnType: std::vector<std::pair<fs::path, std::string>>
    signature: std::vector<std::pair<fs::path, std::string>> ListDatabases(const fs::path&
      wallet_dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_regular_file
      Src: /src/bitcoin-core/src/wallet/db.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' wallet_path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: wallet::BDBDataFile
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 2
    functionsReached:
    - fs::is_regular_file
    linkageType: ''
    returnType: fs::path
    signature: fs::path BDBDataFile(const fs::path& wallet_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: wallet::SQLiteDataFile
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: fs::path
    signature: fs::path SQLiteDataFile(const fs::path& path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/db.cpp:96,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/wallet/db.cpp:101,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/db.cpp:102,1
    - Dst: std::error_code::message
      Src: /src/bitcoin-core/src/wallet/db.cpp:102,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/db.cpp:102,1
    - Dst: std::ifstream::is_open
      Src: /src/bitcoin-core/src/wallet/db.cpp:106,1
    - Dst: std::ifstream::seekg
      Src: /src/bitcoin-core/src/wallet/db.cpp:108,1
    - Dst: std::ifstream::read
      Src: /src/bitcoin-core/src/wallet/db.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: wallet::IsBDBFile
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::is_open
    - std::error_code::message
    - fs::exists
    - std::ifstream::read
    - LogWarning
    - std::ifstream::seekg
    - leveldb_options_set_max_file_size
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool IsBDBFile(const fs::path& path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/db.cpp:121,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/wallet/db.cpp:125,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/db.cpp:126,1
    - Dst: std::error_code::message
      Src: /src/bitcoin-core/src/wallet/db.cpp:126,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/db.cpp:126,1
    - Dst: std::ifstream::is_open
      Src: /src/bitcoin-core/src/wallet/db.cpp:130,1
    - Dst: std::ifstream::read
      Src: /src/bitcoin-core/src/wallet/db.cpp:134,1
    - Dst: std::ifstream::seekg
      Src: /src/bitcoin-core/src/wallet/db.cpp:137,1
    - Dst: std::ifstream::read
      Src: /src/bitcoin-core/src/wallet/db.cpp:139,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/db.cpp:141,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/wallet/db.cpp:150,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/db.cpp:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 151
    functionName: wallet::IsSQLiteFile
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::close
    - std::ifstream::is_open
    - std::error_code::message
    - fs::exists
    - std::ifstream::read
    - LogWarning
    - std::ifstream::seekg
    - memcmp
    - leveldb_options_set_max_file_size
    - Params
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool IsSQLiteFile(const fs::path& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/db.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' args'
    - ' options'
    argTypes:
    - ArgsManager
    - DatabaseOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: wallet::ReadDatabaseArgs
    functionSourceFile: /src/bitcoin-core/src/wallet/db.cpp
    functionUses: 0
    functionsReached:
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void ReadDatabaseArgs(const ArgsManager& args, DatabaseOptions& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/crypter.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: wallet::CMasterKey::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CMasterKey, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/crypter.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: wallet::CMasterKey::CMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    linkageType: ''
    returnType: void
    signature: void CMasterKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.h:89,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.h:89,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.h:89,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.h:90,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.h:90,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: wallet::CCrypter::CleanKey
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - data
    - memory_cleanse
    - size
    linkageType: ''
    returnType: void
    signature: void CleanKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/crypter.h:97,1
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/crypter.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: wallet::CCrypter::CCrypter
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void CCrypter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CleanKey
      Src: /src/bitcoin-core/src/wallet/crypter.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ~CCrypter()
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - CleanKey
    linkageType: ''
    returnType: void
    signature: void ~CCrypter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/crypter.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: wallet::CMasterKey::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CMasterKey, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/crypter.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: wallet::CMasterKey::CMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    linkageType: ''
    returnType: void
    signature: void CMasterKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.h:89,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.h:89,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.h:89,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.h:90,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.h:90,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: wallet::CCrypter::CleanKey
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - data
    - memory_cleanse
    - size
    linkageType: ''
    returnType: void
    signature: void CleanKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/crypter.h:97,1
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/crypter.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: wallet::CCrypter::CCrypter
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void CCrypter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CleanKey
      Src: /src/bitcoin-core/src/wallet/crypter.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ~CCrypter()
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.h
    functionUses: 0
    functionsReached:
    - CleanKey
    linkageType: ''
    returnType: void
    signature: void ~CCrypter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetRequiredFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wallet'
    - nTxBytes
    argTypes:
    - CWallet
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: wallet::GetRequiredFee
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 0
    functionsReached:
    - wallet::GetRequiredFeeRate
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetRequiredFee(const CWallet& wallet, unsigned int nTxBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetMinimumFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wallet'
    - nTxBytes
    - ' coin_control'
    - feeCalc
    argTypes:
    - CWallet
    - unsigned int
    - CCoinControl
    - FeeCalculation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: wallet::GetMinimumFee
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 0
    functionsReached:
    - wallet::GetMinimumFeeRate
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetMinimumFee(const CWallet& wallet, unsigned int nTxBytes,
      const CCoinControl& coin_control, FeeCalculation* feeCalc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/fees.cpp:26,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: wallet::GetRequiredFeeRate
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 1
    functionsReached:
    - std::max
    - chain
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate GetRequiredFeeRate(const CWallet& wallet)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate::CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:38,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:45,1
    - Dst: m_signal_bip125_rbf::value_or
      Src: /src/bitcoin-core/src/wallet/fees.cpp:53,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:58,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:59,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:65,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:68,1
    - Dst: wallet::GetRequiredFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - ' wallet'
    - ' coin_control'
    - feeCalc
    argTypes:
    - CWallet
    - CCoinControl
    - FeeCalculation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: wallet::GetMinimumFeeRate
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 1
    functionsReached:
    - CFeeRate::CFeeRate
    - CFeeRate
    - m_signal_bip125_rbf::value_or
    - chain
    - wallet::GetRequiredFeeRate
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate GetMinimumFeeRate(const CWallet& wallet, const CCoinControl&
      coin_control, FeeCalculation* feeCalc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:86,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:87,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:89,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/fees.cpp:89,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/fees.cpp:91,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: wallet::GetDiscardRate
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - CFeeRate
    - std::min
    - chain
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate GetDiscardRate(const CWallet& wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetRequiredFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wallet'
    - nTxBytes
    argTypes:
    - CWallet
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: wallet::GetRequiredFee
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 0
    functionsReached:
    - wallet::GetRequiredFeeRate
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetRequiredFee(const CWallet& wallet, unsigned int nTxBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetMinimumFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wallet'
    - nTxBytes
    - ' coin_control'
    - feeCalc
    argTypes:
    - CWallet
    - unsigned int
    - CCoinControl
    - FeeCalculation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: wallet::GetMinimumFee
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 0
    functionsReached:
    - wallet::GetMinimumFeeRate
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetMinimumFee(const CWallet& wallet, unsigned int nTxBytes,
      const CCoinControl& coin_control, FeeCalculation* feeCalc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/fees.cpp:26,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: wallet::GetRequiredFeeRate
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 3
    functionsReached:
    - std::max
    - chain
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate GetRequiredFeeRate(const CWallet& wallet)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate::CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:38,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:45,1
    - Dst: m_signal_bip125_rbf::value_or
      Src: /src/bitcoin-core/src/wallet/fees.cpp:53,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:58,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:59,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:65,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:68,1
    - Dst: wallet::GetRequiredFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - ' wallet'
    - ' coin_control'
    - feeCalc
    argTypes:
    - CWallet
    - CCoinControl
    - FeeCalculation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: wallet::GetMinimumFeeRate
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 2
    functionsReached:
    - CFeeRate::CFeeRate
    - CFeeRate
    - m_signal_bip125_rbf::value_or
    - chain
    - wallet::GetRequiredFeeRate
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate GetMinimumFeeRate(const CWallet& wallet, const CCoinControl&
      coin_control, FeeCalculation* feeCalc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:86,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:87,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/fees.cpp:89,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/fees.cpp:89,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/fees.cpp:91,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/fees.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: wallet::GetDiscardRate
    functionSourceFile: /src/bitcoin-core/src/wallet/fees.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - CFeeRate
    - std::min
    - chain
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate GetDiscardRate(const CWallet& wallet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/walletutil.h:99,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/walletutil.h:100,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/wallet/walletutil.h:101,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/wallet/walletutil.h:103,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/wallet/walletutil.h:104,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/walletutil.h:106,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/walletutil.h:106,1
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/wallet/walletutil.h:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: wallet::WalletDescriptor::DeserializeDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.h
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::at
    - std::ios_base::failure
    - Parse
    - std::move
    - DescriptorID
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void DeserializeDescriptor(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SER_WRITE
      Src: /src/bitcoin-core/src/wallet/walletutil.h:113,1
    - Dst: descriptor::ToString
      Src: /src/bitcoin-core/src/wallet/walletutil.h:113,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletutil.h:114,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/wallet/walletutil.h:115,1
    - Dst: wallet::WalletDescriptor::DeserializeDescriptor
      Src: /src/bitcoin-core/src/wallet/walletutil.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: wallet::WalletDescriptor::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.h
    functionUses: 0
    functionsReached:
    - wallet::WalletDescriptor::DeserializeDescriptor
    - READWRITE
    - SER_READ
    - SER_WRITE
    - descriptor::ToString
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(WalletDescriptor, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: wallet::WalletDescriptor::WalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/wallet/walletutil.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - descriptor
    - creation_time
    - range_start
    - range_end
    - next_index
    argTypes:
    - std::shared_ptr<Descriptor>
    - uint64_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: wallet::WalletDescriptor::WalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.h
    functionUses: 0
    functionsReached:
    - DescriptorID
    linkageType: ''
    returnType: void
    signature: void WalletDescriptor(std::shared_ptr<Descriptor> descriptor, uint64_t
      creation_time, int32_t range_start, int32_t range_end, int32_t next_index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/walletutil.h:99,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/walletutil.h:100,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/wallet/walletutil.h:101,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/wallet/walletutil.h:103,1
    - Dst: std::ios_base::failure
      Src: /src/bitcoin-core/src/wallet/walletutil.h:104,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/walletutil.h:106,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/walletutil.h:106,1
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/wallet/walletutil.h:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: wallet::WalletDescriptor::DeserializeDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.h
    functionUses: 1
    functionsReached:
    - auto::size
    - auto::at
    - std::ios_base::failure
    - Parse
    - std::move
    - DescriptorID
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void DeserializeDescriptor(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SER_WRITE
      Src: /src/bitcoin-core/src/wallet/walletutil.h:113,1
    - Dst: descriptor::ToString
      Src: /src/bitcoin-core/src/wallet/walletutil.h:113,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletutil.h:114,1
    - Dst: SER_READ
      Src: /src/bitcoin-core/src/wallet/walletutil.h:115,1
    - Dst: wallet::WalletDescriptor::DeserializeDescriptor
      Src: /src/bitcoin-core/src/wallet/walletutil.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: wallet::WalletDescriptor::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.h
    functionUses: 0
    functionsReached:
    - wallet::WalletDescriptor::DeserializeDescriptor
    - READWRITE
    - SER_READ
    - SER_WRITE
    - descriptor::ToString
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(WalletDescriptor, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: wallet::WalletDescriptor::WalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/wallet/walletutil.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - descriptor
    - creation_time
    - range_start
    - range_end
    - next_index
    argTypes:
    - std::shared_ptr<Descriptor>
    - uint64_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: wallet::WalletDescriptor::WalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.h
    functionUses: 0
    functionsReached:
    - DescriptorID
    linkageType: ''
    returnType: void
    signature: void WalletDescriptor(std::shared_ptr<Descriptor> descriptor, uint64_t
      creation_time, int32_t range_start, int32_t range_end, int32_t next_index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isArray
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:97,1
    - Dst: setArray
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:97,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:98,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:99,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:99,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:101,1
    - Dst: updateRwSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' chain'
    - ' wallet_name'
    argTypes:
    - interfaces::Chain
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: wallet::AddWalletSetting
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - getValues
    - isArray
    - push_back
    - isStr
    - get_str
    - updateRwSetting
    linkageType: ''
    returnType: bool
    signature: bool AddWalletSetting(interfaces::Chain& chain, const std::string&
      wallet_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isArray
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:110,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:112,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:113,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:113,1
    - Dst: common::SettingsValue::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:113,1
    - Dst: common::SettingsValue::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:115,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:116,1
    - Dst: updateRwSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' chain'
    - ' wallet_name'
    argTypes:
    - interfaces::Chain
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: wallet::RemoveWalletSetting
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - getValues
    - isArray
    - size
    - std::move
    - common::SettingsValue::size
    - common::SettingsValue::push_back
    - isStr
    - get_str
    - updateRwSetting
    linkageType: ''
    returnType: bool
    signature: bool RemoveWalletSetting(interfaces::Chain& chain, const std::string&
      wallet_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<bool>::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:128,1
    - Dst: wallet::AddWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:128,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:129,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:129,1
    - Dst: std::optional<bool>::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:130,1
    - Dst: wallet::RemoveWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:130,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:131,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - ' chain'
    - ' wallet_name'
    - load_on_startup
    - ' warnings'
    argTypes:
    - interfaces::Chain
    - std::string
    - std::optional<bool>
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: wallet::UpdateWalletSetting
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::optional<bool>::value
    - wallet::AddWalletSetting
    - emplace_back
    - Untranslated
    - wallet::RemoveWalletSetting
    linkageType: ''
    returnType: void
    signature: "void UpdateWalletSetting(interfaces::Chain& chain,\n                                const
      std::string& wallet_name,\n                                std::optional<bool>
      load_on_startup,\n                                std::vector<bilingual_str>&
      warnings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:142,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:142,1
    - Dst: TxStateInMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:143,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:144,1
    - Dst: wallet::TxStateInactive
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' tx'
    - ' chain'
    argTypes:
    - CWalletTx
    - interfaces::Chain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: wallet::RefreshMempoolStatus
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - isInMempool
    - GetHash
    - state
    - wallet::TxStateInactive
    - TxStateInMempool
    linkageType: ''
    returnType: void
    signature: void RefreshMempoolStatus(CWalletTx& tx, interfaces::Chain& chain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:152,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:153,1
    - Dst: wallets::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:153,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:153,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:154,1
    - Dst: wallets::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:155,1
    - Dst: ConnectScriptPubKeyManNotifiers
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:156,1
    - Dst: NotifyCanGetAddressesChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    assertStmts:
    - condition: (wallet)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: wallet::AddWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallets::begin
    - wallets::end
    - wallets::push_back
    - LOCK
    - std::find
    - ConnectScriptPubKeyManNotifiers
    - NotifyCanGetAddressesChanged
    - assert
    linkageType: ''
    returnType: bool
    signature: bool AddWallet(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:163,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:165,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:166,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:167,1
    - Dst: WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:167,1
    - Dst: m_chain_notifications_handler::reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:170,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:172,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:173,1
    - Dst: wallets::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:173,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:173,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:174,1
    - Dst: wallets::erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:175,1
    - Dst: NotifyUnload
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:178,1
    - Dst: wallet::UpdateWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ' context'
    - ' wallet'
    - load_on_start
    - ' warnings'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    - std::optional<bool>
    - std::vector<bilingual_str>
    assertStmts:
    - condition: (wallet)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 184
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 184
    functionName: wallet::RemoveWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - wallets::begin
    - wallets::end
    - wallets::erase
    - m_chain_notifications_handler::reset
    - WriteBestBlock
    - WITH_LOCK
    - chain
    - GetName
    - LOCK
    - std::find
    - NotifyUnload
    - wallet::UpdateWalletSetting
    - assert
    linkageType: ''
    returnType: bool
    signature: bool RemoveWallet(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet, std::optional<bool> load_on_start, std::vector<bilingual_str>& warnings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::RemoveWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' context'
    - ' wallet'
    - load_on_start
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    - std::optional<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: wallet::RemoveWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - wallet::RemoveWallet
    linkageType: ''
    returnType: bool
    signature: bool RemoveWallet(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet, std::optional<bool> load_on_start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: wallet::GetWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: std::vector<std::shared_ptr<CWallet>>
    signature: std::vector<std::shared_ptr<CWallet>> GetWallets(WalletContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:200,1
    - Dst: wallets::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' context'
    - ' count'
    argTypes:
    - WalletContext
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: wallet::GetDefaultWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallets::size
    - LOCK
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> GetDefaultWallet(WalletContext& context, size_t&
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:207,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - ' name'
    argTypes:
    - WalletContext
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: wallet::GetWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetName
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> GetWallet(WalletContext& context, const std::string&
      name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:216,1
    - Dst: wallet_load_fns::emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:217,1
    - Dst: wallet_load_fns::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:217,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:217,1
    - Dst: interfaces::MakeCleanupHandler
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:218,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:218,1
    - Dst: wallet_load_fns::erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - load_wallet
    argTypes:
    - WalletContext
    - LoadWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: wallet::HandleLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeCleanupHandler
    - std::move
    - LOCK
    - wallet_load_fns::end
    - wallet_load_fns::erase
    - wallet_load_fns::emplace
    linkageType: ''
    returnType: std::unique_ptr<interfaces::Handler>
    signature: std::unique_ptr<interfaces::Handler> HandleLoadWallet(WalletContext&
      context, LoadWalletFn load_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:223,1
    - Dst: load_wallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:225,1
    - Dst: interfaces::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: wallet::NotifyWalletLoaded
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - interfaces::MakeWallet
    - load_wallet
    linkageType: ''
    returnType: void
    signature: void NotifyWalletLoaded(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:238,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:239,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:243,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:244,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: wallet::FlushAndDeleteWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::GetName
    - erase
    - notify_all
    - LOCK
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: void FlushAndDeleteWallet(CWallet* wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:255,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:257,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:258,1
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:264,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:266,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:267,1
    - Dst: wait
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 271
    functionName: wallet::WaitForDeleteWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - WAIT_LOCK
    - GetName
    - LOCK
    - reset
    - wait
    - insert
    - count
    linkageType: ''
    returnType: void
    signature: void WaitForDeleteWallet(std::shared_ptr<CWallet>&& wallet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:277,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:279,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:279,1
    - Dst: chain::initMessage
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:283,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:283,1
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:284,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:284,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:286,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:286,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:291,1
    - Dst: wallet::AddWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:292,1
    - Dst: std::shared_ptr::postInitProcess
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:293,1
    - Dst: wallet::UpdateWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:296,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:300,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 7
    argNames:
    - ' context'
    - ' name'
    - load_on_start
    - ' options'
    - ' status'
    - ' error'
    - ' warnings'
    argTypes:
    - WalletContext
    - std::string
    - std::optional<bool>
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 304
    functionName: wallet::LoadWalletInternal
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - _
    - chain::initMessage
    - wallet::AddWallet
    - CWallet::Create
    - std::move
    - wallet::NotifyWalletLoaded
    - MakeWalletDatabase
    - wallet::UpdateWalletSetting
    - what
    - Untranslated
    - std::shared_ptr::postInitProcess
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> LoadWalletInternal(WalletContext& context,
      const std::string& name, std::optional<bool> load_on_start, const DatabaseOptions&
      options, DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>&
      warnings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:312,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:313,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:314,1
    - Dst: wallet::FastWalletRescanFilter::AddScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:315,1
    - Dst: auto::IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:317,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    - Dst: auto::GetEndRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts:
    - condition: (desc_spkm != nullptr)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: wallet::FastWalletRescanFilter::FastWalletRescanFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetAllScriptPubKeyMans
    - emplace
    - wallet::FastWalletRescanFilter::AddScriptPubKeys
    - auto::GetEndRange
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - auto::GetID
    - auto::IsHDEnabled
    - assert
    linkageType: ''
    returnType: void
    signature: void FastWalletRescanFilter(const CWallet& wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:327,1
    - Dst: GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:327,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:328,1
    - Dst: auto::GetEndRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:329,1
    - Dst: wallet::FastWalletRescanFilter::AddScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:331,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:332,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (desc_spkm != nullptr)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: wallet::FastWalletRescanFilter::UpdateIfNeeded
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallet::FastWalletRescanFilter::AddScriptPubKeys
    - auto::GetEndRange
    - at
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - GetScriptPubKeyMan
    - auto::GetID
    - assert
    linkageType: ''
    returnType: void
    signature: void UpdateIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: wallet::FastWalletRescanFilter::MatchesBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - chain
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> MatchesBlock(const uint256& block_hash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorScriptPubKeyMan*::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:355,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - desc_spkm
    argTypes:
    - DescriptorScriptPubKeyMan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: wallet::FastWalletRescanFilter::AddScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - end
    - DescriptorScriptPubKeyMan*::GetScriptPubKeys
    - emplace
    - begin
    linkageType: ''
    returnType: void
    signature: void AddScriptPubKeys(const DescriptorScriptPubKeyMan* desc_spkm, int32_t
      last_range_end = 0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:277,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:279,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:279,1
    - Dst: chain::initMessage
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:283,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:283,1
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:284,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:284,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:286,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:286,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:291,1
    - Dst: wallet::AddWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:292,1
    - Dst: std::shared_ptr::postInitProcess
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:293,1
    - Dst: wallet::UpdateWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:296,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:300,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 7
    argNames:
    - ' context'
    - ' name'
    - load_on_start
    - ' options'
    - ' status'
    - ' error'
    - ' warnings'
    argTypes:
    - WalletContext
    - std::string
    - std::optional<bool>
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 304
    functionName: wallet::LoadWalletInternal
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - _
    - chain::initMessage
    - wallet::AddWallet
    - CWallet::Create
    - std::move
    - wallet::NotifyWalletLoaded
    - MakeWalletDatabase
    - wallet::UpdateWalletSetting
    - what
    - Untranslated
    - std::shared_ptr::postInitProcess
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> LoadWalletInternal(WalletContext& context,
      const std::string& name, std::optional<bool> load_on_start, const DatabaseOptions&
      options, DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>&
      warnings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:312,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:313,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:314,1
    - Dst: wallet::FastWalletRescanFilter::AddScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:315,1
    - Dst: auto::IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:317,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    - Dst: auto::GetEndRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts:
    - condition: (desc_spkm != nullptr)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: wallet::FastWalletRescanFilter::FastWalletRescanFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetAllScriptPubKeyMans
    - emplace
    - wallet::FastWalletRescanFilter::AddScriptPubKeys
    - auto::GetEndRange
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - auto::GetID
    - auto::IsHDEnabled
    - assert
    linkageType: ''
    returnType: void
    signature: void FastWalletRescanFilter(const CWallet& wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:327,1
    - Dst: GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:327,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:328,1
    - Dst: auto::GetEndRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:329,1
    - Dst: wallet::FastWalletRescanFilter::AddScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:331,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:332,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (desc_spkm != nullptr)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: wallet::FastWalletRescanFilter::UpdateIfNeeded
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallet::FastWalletRescanFilter::AddScriptPubKeys
    - auto::GetEndRange
    - at
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - GetScriptPubKeyMan
    - auto::GetID
    - assert
    linkageType: ''
    returnType: void
    signature: void UpdateIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: wallet::FastWalletRescanFilter::MatchesBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - chain
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> MatchesBlock(const uint256& block_hash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorScriptPubKeyMan*::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:355,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - desc_spkm
    argTypes:
    - DescriptorScriptPubKeyMan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: wallet::FastWalletRescanFilter::AddScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 4
    functionsReached:
    - end
    - DescriptorScriptPubKeyMan*::GetScriptPubKeys
    - emplace
    - begin
    linkageType: ''
    returnType: void
    signature: void AddScriptPubKeys(const DescriptorScriptPubKeyMan* desc_spkm, int32_t
      last_range_end = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:364,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:364,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:366,1
    - Dst: wallet::LoadWalletInternal
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:370,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:371,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - ' context'
    - ' name'
    - load_on_start
    - ' options'
    - ' status'
    - ' error'
    - ' warnings'
    argTypes:
    - WalletContext
    - std::string
    - std::optional<bool>
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: wallet::LoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - erase
    - WITH_LOCK
    - wallet::LoadWalletInternal
    - Untranslated
    - insert
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> LoadWallet(WalletContext& context, const std::string&
      name, std::optional<bool> load_on_start, const DatabaseOptions& options, DatabaseStatus&
      status, bilingual_str& error, std::vector<bilingual_str>& warnings)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:381,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:388,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:394,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:400,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:401,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:407,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:409,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:409,1
    - Dst: chain::initMessage
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:415,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:415,1
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:416,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:416,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:418,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:418,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:424,1
    - Dst: std::shared_ptr::EncryptWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:425,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:426,1
    - Dst: std::shared_ptr::Unlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:432,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:433,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:440,1
    - Dst: std::shared_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:441,1
    - Dst: std::shared_ptr::Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:445,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:449,1
    - Dst: wallet::AddWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:450,1
    - Dst: std::shared_ptr::postInitProcess
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:451,1
    - Dst: wallet::UpdateWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:454,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 7
    argNames:
    - ' context'
    - ' name'
    - load_on_start
    - ' options'
    - ' status'
    - ' error'
    - ' warnings'
    argTypes:
    - WalletContext
    - std::string
    - std::optional<bool>
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 458
    functionName: wallet::CreateWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - std::shared_ptr::EncryptWallet
    - chain::initMessage
    - _
    - empty
    - wallet::AddWallet
    - std::shared_ptr::Lock
    - CWallet::Create
    - std::move
    - LOCK
    - wallet::NotifyWalletLoaded
    - MakeWalletDatabase
    - Assert
    - std::shared_ptr::SetupDescriptorScriptPubKeyMans
    - wallet::UpdateWalletSetting
    - std::shared_ptr::Unlock
    - Untranslated
    - std::shared_ptr::postInitProcess
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> CreateWallet(WalletContext& context, const
      std::string& name, std::optional<bool> load_on_start, DatabaseOptions& options,
      DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>& warnings)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:465,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:468,1
    - Dst: wallet::GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:468,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:468,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:473,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:474,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:479,1
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:479,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:480,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:480,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:480,1
    - Dst: fs::copy_file
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:485,1
    - Dst: wallet::LoadWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:488,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:491,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:492,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:492,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:493,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:493,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:493,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:498,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 8
    argNames:
    - ' context'
    - ' backup_file'
    - ' wallet_name'
    - load_on_start
    - ' status'
    - ' error'
    - ' warnings'
    - load_after_restore
    argTypes:
    - WalletContext
    - fs::path
    - std::string
    - std::optional<bool>
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    - bool
    assertStmts:
    - condition: (!wallet)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 502
      start: 462
    functionDepth: 5
    functionLinenumber: 462
    functionLinenumberEnd: 502
    functionName: wallet::RestoreWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    - wallet::GetWalletDir
    - empty
    - fs::copy_file
    - fs::u8path
    - fsbridge::AbsPathJoin
    - fs::exists
    - TryCreateDirectories
    - wallet::LoadWallet
    - what
    - strprintf
    - wallet::ReadDatabaseArgs
    - assert
    - Untranslated
    - fs::PathToString
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> RestoreWallet(WalletContext& context, const
      fs::path& backup_file, const std::string& wallet_name, std::optional<bool> load_on_start,
      DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>& warnings,
      bool load_after_restore)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:511,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:512,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: wallet::CWallet::GetWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx * CWallet::GetWalletTx(const Txid& hash) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:520,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:520,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:520,1
    - Dst: GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:524,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:525,1
    - Dst: DescriptorScriptPubKeyMan*::UpgradeDescriptorCache
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:526,1
    - Dst: SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 529
    functionName: wallet::CWallet::UpgradeDescriptorCache
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetAllScriptPubKeyMans
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - IsLocked
    - IsWalletFlagSet
    - DescriptorScriptPubKeyMan*::UpgradeDescriptorCache
    - SetWalletFlag
    linkageType: ''
    returnType: void
    signature: void CWallet::UpgradeDescriptorCache()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:536,1
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:539,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:540,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:540,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:542,1
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:543,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:544,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:544,1
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:550,1
    - Dst: CCrypter::Encrypt
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ' wallet_passphrase'
    - ' plain_master_key'
    - ' master_key'
    argTypes:
    - SecureString
    - CKeyingMaterial
    - CMasterKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 558
    functionName: wallet::EncryptMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - CCrypter::SetKeyFromPassphrase
    - CCrypter::Encrypt
    - static_cast<unsigned int>
    linkageType: ''
    returnType: bool
    signature: bool EncryptMasterKey(const SecureString& wallet_passphrase, const
      CKeyingMaterial& plain_master_key, CMasterKey& master_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:563,1
    - Dst: CCrypter::Decrypt
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' wallet_passphrase'
    - ' master_key'
    - ' plain_master_key'
    argTypes:
    - SecureString
    - CMasterKey
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 571
    functionName: wallet::DecryptMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CCrypter::Decrypt
    - CCrypter::SetKeyFromPassphrase
    linkageType: ''
    returnType: bool
    signature: bool DecryptMasterKey(const SecureString& wallet_passphrase, const
      CMasterKey& master_key, CKeyingMaterial& plain_master_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:578,1
    - Dst: DecryptMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:581,1
    - Dst: wallet::CWallet::Unlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:584,1
    - Dst: wallet::CWallet::UpgradeDescriptorCache
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' strWalletPassphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 592
    functionName: wallet::CWallet::Unlock
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - wallet::CWallet::UpgradeDescriptorCache
    - LOCK
    - wallet::CWallet::Unlock
    - DecryptMasterKey
    linkageType: ''
    returnType: bool
    signature: bool CWallet::Unlock(const SecureString& strWalletPassphrase)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:596,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:599,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:600,1
    - Dst: DecryptMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:605,1
    - Dst: wallet::CWallet::Unlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:608,1
    - Dst: EncryptMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:610,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:613,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:615,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:615,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ' strOldWalletPassphrase'
    - ' strNewWalletPassphrase'
    argTypes:
    - SecureString
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 624
    functionName: wallet::CWallet::ChangeWalletPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - EncryptMasterKey
    - wallet::CWallet::WalletLogPrintf
    - LOCK2
    - WalletBatch
    - DecryptMasterKey
    - IsLocked
    - wallet::CWallet::Unlock
    - GetDatabase
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool CWallet::ChangeWalletPassphrase(const SecureString& strOldWalletPassphrase,
      const SecureString& strNewWalletPassphrase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - block_height
    - block_hash
    argTypes:
    - int
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: wallet::CWallet::SetLastBlockProcessedInMem
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CWallet::SetLastBlockProcessedInMem(int block_height, uint256
      block_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:636,1
    - Dst: wallet::CWallet::SetLastBlockProcessedInMem
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:638,1
    - Dst: WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - block_height
    - block_hash
    argTypes:
    - int
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 640
    functionName: wallet::CWallet::SetLastBlockProcessed
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - WriteBestBlock
    - wallet::CWallet::SetLastBlockProcessedInMem
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CWallet::SetLastBlockProcessed(int block_height, uint256 block_hash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:644,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:647,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:651,1
    - Dst: WalletBatch::WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:651,1
    - Dst: WalletBatch*::WriteMinVersion
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - nVersion
    - batch_in
    argTypes:
    - enum WalletFeature
    - WalletBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 657
    functionName: wallet::CWallet::SetMinVersion
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallet::CWallet::WalletLogPrintf
    - LOCK
    - WalletBatch::WalletBatch
    - WalletBatch*::WriteMinVersion
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void CWallet::SetMinVersion(enum WalletFeature nVersion, WalletBatch*
      batch_in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:662,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:664,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:665,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:673,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:675,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 680
    functionName: wallet::CWallet::GetConflicts
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::set::insert
    - AssertLockHeld
    - equal_range
    - find
    - count
    linkageType: ''
    returnType: std::set<Txid>
    signature: std::set<Txid> CWallet::GetConflicts(const Txid& txid) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:684,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:685,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:686,1
    - Dst: wallet::CWallet::IsSpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:687,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 692
    functionName: wallet::CWallet::HasWalletSpend
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallet::CWallet::IsSpent
    - GetHash
    - COutPoint
    - vout::size
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool CWallet::HasWalletSpend(const CTransactionRef& tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: wallet::CWallet::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void CWallet::Close()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:705,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:708,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:723,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:725,1
    - Dst: CWalletTx*::IsEquivalentTo
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:726,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - range
    argTypes:
    - std::pair<TxSpends::iterator, TxSpends::iterator>
    assertStmts:
    - condition: (copyFrom && "Oldest wallet transaction in range assumed to have
        been found.")
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 734
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 734
    functionName: wallet::CWallet::SyncMetaData
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - assert
    - at
    - RandomMixin::max
    - CWalletTx*::IsEquivalentTo
    linkageType: ''
    returnType: void
    signature: void CWallet::SyncMetaData(std::pair<TxSpends::iterator, TxSpends::iterator>
      range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:743,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:747,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:748,1
    - Dst: isAbandoned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:750,1
    - Dst: isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:750,1
    - Dst: isMempoolConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 755
    functionName: wallet::CWallet::IsSpent
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - isAbandoned
    - find
    - equal_range
    - isBlockConflicted
    - isMempoolConflicted
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsSpent(const COutPoint& outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:759,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:759,1
    - Dst: UnlockCoin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:761,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:764,1
    - Dst: wallet::CWallet::SyncMetaData
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' outpoint'
    - ' txid'
    argTypes:
    - COutPoint
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 766
    functionName: wallet::CWallet::AddToSpends
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - UnlockCoin
    - wallet::CWallet::SyncMetaData
    - insert
    - equal_range
    linkageType: ''
    returnType: void
    signature: void CWallet::AddToSpends(const COutPoint& outpoint, const Txid& txid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:771,1
    - Dst: wallet::CWallet::AddToSpends
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:775,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 776
    functionName: wallet::CWallet::AddToSpends
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - IsCoinBase
    - GetHash
    - wallet::CWallet::AddToSpends
    linkageType: ''
    returnType: void
    signature: void CWallet::AddToSpends(const CWalletTx& wtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:781,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:781,1
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:783,1
    - Dst: CKeyingMaterial::resize
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:788,1
    - Dst: GetStrongRandBytes
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:789,1
    - Dst: CMasterKey::vchSalt::resize
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:793,1
    - Dst: GetStrongRandBytes
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:794,1
    - Dst: EncryptMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:796,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:799,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:802,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:804,1
    - Dst: WalletBatch::WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:804,1
    - Dst: WalletBatch*::TxnBegin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:805,1
    - Dst: WalletBatch*::WriteMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:810,1
    - Dst: second::get
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:813,1
    - Dst: auto::Encrypt
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:814,1
    - Dst: WalletBatch*::TxnAbort
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:815,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:820,1
    - Dst: wallet::CWallet::SetMinVersion
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:825,1
    - Dst: WalletBatch*::TxnCommit
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:827,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:832,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:838,1
    - Dst: wallet::CWallet::Unlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:839,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:842,1
    - Dst: SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:843,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:845,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:849,1
    - Dst: NotifyStatusChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:851,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - ' strWalletPassphrase'
    argTypes:
    - SecureString
    assertStmts:
    - condition: (false)
      pos:
        line_end: 819
        line_start: 819
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (false)
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 854
      start: 778
    functionDepth: 8
    functionLinenumber: 778
    functionLinenumberEnd: 854
    functionName: wallet::CWallet::EncryptWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - EncryptMasterKey
    - LOCK2
    - CMasterKey::vchSalt::resize
    - WalletBatch*::WriteMasterKey
    - IsCrypted
    - WalletBatch::WalletBatch
    - WalletBatch*::TxnBegin
    - Lock
    - NotifyStatusChanged
    - wallet::CWallet::WalletLogPrintf
    - second::get
    - WalletBatch*::TxnAbort
    - GetStrongRandBytes
    - wallet::CWallet::SetMinVersion
    - wallet::CWallet::Unlock
    - GetDatabase
    - CKeyingMaterial::resize
    - SetupDescriptorScriptPubKeyMans
    - Assert
    - WalletBatch*::TxnCommit
    - assert
    - IsWalletFlagSet
    - auto::Encrypt
    linkageType: ''
    returnType: bool
    signature: bool CWallet::EncryptWallet(const SecureString& strWalletPassphrase)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:858,1
    - Dst: TxItems::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:871,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:871,1
    - Dst: TxItems::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:876,1
    - Dst: TxItems::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:876,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:884,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:886,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:898,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:904,1
    - Dst: WalletBatch::WriteOrderPosNext
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:908,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 911
    functionName: wallet::CWallet::ReorderTransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - TxItems::insert
    - std::make_pair
    - TxItems::begin
    - TxItems::end
    - WalletBatch::WriteOrderPosNext
    - std::vector::push_back
    - LOCK
    - std::max
    - WalletBatch::WriteTx
    linkageType: ''
    returnType: DBErrors
    signature: DBErrors CWallet::ReorderTransactions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:915,1
    - Dst: WalletBatch*::WriteOrderPosNext
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:918,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:920,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - batch
    argTypes:
    - WalletBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 923
    functionName: wallet::CWallet::IncOrderPosNext
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - WalletBatch
    - GetDatabase
    - AssertLockHeld
    - WalletBatch*::WriteOrderPosNext
    linkageType: ''
    returnType: int64_t
    signature: int64_t CWallet::IncOrderPosNext(WalletBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:928,1
    - Dst: wallet::CWallet::MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 932
    functionName: wallet::CWallet::MarkDirty
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - wallet::CWallet::MarkDirty
    linkageType: ''
    returnType: void
    signature: void CWallet::MarkDirty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:936,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:938,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:941,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:941,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:946,1
    - Dst: mapValue::count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:946,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:948,1
    - Dst: RefreshMempoolStatus
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:951,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:951,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:956,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:957,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:957,1
    - Dst: NotifyTransactionChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' originalHash'
    - ' newHash'
    argTypes:
    - Txid
    - Txid
    assertStmts:
    - condition: (wtx.mapValue.count("replaced_by_txid") == 0)
      pos:
        line_end: 945
        line_start: 945
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (mi != mapWallet.end())
      pos:
        line_end: 940
        line_start: 940
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 964
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 964
    functionName: wallet::CWallet::MarkReplaced
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - mapValue::count
    - wallet::CWallet::WalletLogPrintf
    - NotifyTransactionChanged
    - ToString
    - RefreshMempoolStatus
    - GetHash
    - chain
    - LOCK
    - WalletBatch::WriteTx
    - assert
    - find
    linkageType: ''
    returnType: bool
    signature: bool CWallet::MarkReplaced(const Txid& originalHash, const Txid& newHash)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:968,1
    - Dst: wallet::CWallet::GetWalletTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:969,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:973,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:974,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:975,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:977,1
    - Dst: SetAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - ' batch'
    - ' hash'
    - n
    - used
    - ' tx_destinations'
    argTypes:
    - WalletBatch
    - Txid
    - unsigned int
    - bool
    - std::set<CTxDestination>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 966
    functionDepth: 3
    functionLinenumber: 966
    functionLinenumberEnd: 983
    functionName: wallet::CWallet::SetSpentKeyState
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - IsAddressPreviouslySpent
    - wallet::CWallet::GetWalletTx
    - ExtractDestination
    - IsMine
    - AssertLockHeld
    - SetAddressPreviouslySpent
    - insert
    linkageType: ''
    returnType: void
    signature: void CWallet::SetSpentKeyState(WalletBatch& batch, const Txid& hash,
      unsigned int n, bool used, std::set<CTxDestination>& tx_destinations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:987,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:989,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:992,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' scriptPubKey'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 996
    functionName: wallet::CWallet::IsSpentKey
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - IsAddressPreviouslySpent
    - ExtractDestination
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsSpentKey(const CScript& scriptPubKey) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1000,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1004,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1006,1
    - Dst: wallet::CWallet::SetSpentKeyState
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1012,1
    - Dst: MarkDestinationsDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1015,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1019,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1019,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1019,1
    - Dst: update_wtx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1022,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1024,1
    - Dst: wallet::CWallet::IncOrderPosNext
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1025,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1026,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1026,1
    - Dst: ComputeTimeSmart
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1027,1
    - Dst: wallet::CWallet::AddToSpends
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1028,1
    - Dst: MaybeUpdateBirthTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1031,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1031,1
    - Dst: index
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1036,1
    - Dst: m_state::index
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1036,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1040,1
    - Dst: TxStateSerializedIndex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1040,1
    - Dst: TxStateSerializedIndex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1040,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1041,1
    - Dst: TxStateSerializedBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1041,1
    - Dst: TxStateSerializedBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1041,1
    - Dst: CTransactionRef::HasWitness
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1048,1
    - Dst: tx::HasWitness
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1048,1
    - Dst: SetTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1049,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1055,1
    - Dst: isInactive
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1055,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1060,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1061,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1062,1
    - Dst: CWalletTx*::MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1065,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1066,1
    - Dst: wallet::CWallet::MarkInputsDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1067,1
    - Dst: CWalletTx*::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1068,1
    - Dst: CWalletTx*::GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1069,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1070,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1072,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1073,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1074,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1082,1
    - Dst: Txid::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1082,1
    - Dst: TxStateString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1082,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1086,1
    - Dst: wallet::CWallet::MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1090,1
    - Dst: RefreshTXOsFromTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1093,1
    - Dst: NotifyTransactionChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1096,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1102,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1104,1
    - Dst: Txid::GetHex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1104,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1105,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1107,1
    - Dst: auto*::confirmed_block_hash::GetHex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1107,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1108,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1108,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1110,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1111,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1119,1
    - Dst: ShellEscape
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1119,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1119,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1122,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - tx
    - ' state'
    - ' update_wtx'
    - rescanning_old_block
    argTypes:
    - CTransactionRef
    - TxState
    - UpdateWalletTxFn
    - bool
    assertStmts:
    - condition: (TxStateSerializedIndex(wtx.m_state) == TxStateSerializedIndex(state))
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (TxStateSerializedBlockHash(wtx.m_state) == TxStateSerializedBlockHash(state))
      pos:
        line_end: 1040
        line_start: 1040
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1127
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1127
    functionName: wallet::CWallet::AddToWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - RefreshTXOsFromTx
    - Txid::GetHex
    - index
    - std::string::empty
    - state
    - std::vector::push_back
    - GetName
    - TxStateSerializedIndex
    - wallet::CWallet::IncOrderPosNext
    - NotifyTransactionChanged
    - GetTime
    - wallet::CWallet::WalletLogPrintf
    - m_state::index
    - ToString
    - update_wtx
    - std::vector::back
    - Txid::ToString
    - ShellEscape
    - CWalletTx*::MarkDirty
    - MaybeUpdateBirthTime
    - std::vector::empty
    - std::vector::pop_back
    - find
    - equal_range
    - std::thread::detach
    - emplace
    - SetTx
    - TxStateString
    - tx::HasWitness
    - wallet::CWallet::SetSpentKeyState
    - wallet::CWallet::AddToSpends
    - assert
    - IsWalletFlagSet
    - ComputeTimeSmart
    - CWalletTx*::tx::vout::size
    - end
    - wallet::CWallet::MarkDirty
    - wallet::CWallet::MarkInputsDirty
    - ReplaceAll
    - TxStateSerializedBlockHash
    - CWalletTx*::GetHash
    - GetTxTime
    - CTransactionRef::GetHash
    - auto*::confirmed_block_hash::GetHex
    - LOCK
    - IsCoinBase
    - CTransactionRef::HasWitness
    - WalletBatch::WriteTx
    - std::forward_as_tuple
    - isInactive
    - MarkDestinationsDirty
    - insert
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx * CWallet::AddToWallet(CTransactionRef tx, const TxState&
      state, const UpdateWalletTxFn& update_wtx, bool rescanning_old_block)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1131,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1131,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1131,1
    - Dst: fill_wtx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1133,1
    - Dst: wallet::CWallet::HaveChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1138,1
    - Dst: updateState
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1139,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1139,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1142,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1142,1
    - Dst: wallet::CWallet::AddToSpends
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1144,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1146,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1147,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1149,1
    - Dst: MarkConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1150,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1150,1
    - Dst: MaybeUpdateBirthTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1156,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1156,1
    - Dst: RefreshTXOsFromTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' hash'
    - ' fill_wtx'
    argTypes:
    - Txid
    - UpdateWalletTxFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1129
    functionDepth: 4
    functionLinenumber: 1129
    functionLinenumberEnd: 1161
    functionName: wallet::CWallet::LoadToWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - std::make_pair
    - RefreshTXOsFromTx
    - fill_wtx
    - insert
    - GetHash
    - GetTxTime
    - chain
    - state
    - updateState
    - std::forward_as_tuple
    - MaybeUpdateBirthTime
    - MarkConflicted
    - wallet::CWallet::AddToSpends
    - wallet::CWallet::HaveChain
    - find
    linkageType: ''
    returnType: bool
    signature: bool CWallet::LoadToWallet(const Txid& hash, const UpdateWalletTxFn&
      fill_wtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1167,1
    - Dst: std::get_if<TxStateConfirmed>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1169,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1171,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1173,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: auto*::confirmed_block_hash::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: std::pair::first::second::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: std::pair::first::first::hash::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: MarkConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1175,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1182,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1182,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1184,1
    - Dst: IsFromMe
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1184,1
    - Dst: GetScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1194,1
    - Dst: MarkUnusedAddresses
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1195,1
    - Dst: internal::has_value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1197,1
    - Dst: IsInternalScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1198,1
    - Dst: internal::has_value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1202,1
    - Dst: FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1207,1
    - Dst: SetAddressBook
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1208,1
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1216,1
    - Dst: wallet::CWallet::AddToWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1217,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1217,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1221,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 4
    argNames:
    - ' ptx'
    - ' state'
    - fUpdate
    - rescanning_old_block
    argTypes:
    - CTransactionRef
    - SyncTxState
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1163
    functionDepth: 5
    functionLinenumber: 1163
    functionLinenumberEnd: 1227
    functionName: wallet::CWallet::AddToWalletIfInvolvingMe
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    - std::visit
    - std::pair::first::first::hash::ToString
    - SetAddressBook
    - wallet::CWallet::AddToWallet
    - auto*::confirmed_block_hash::ToString
    - wallet::CWallet::WalletLogPrintf
    - std::get_if<TxStateConfirmed>
    - std::runtime_error
    - IsMine
    - AssertLockHeld
    - equal_range
    - MakeTransactionRef
    - internal::has_value
    - IsInternalScriptPubKeyMan
    - MarkConflicted
    - FindAddressBookEntry
    - std::pair::first::second::ToString
    - count
    - GetScriptPubKeyMans
    - IsFromMe
    - MarkUnusedAddresses
    linkageType: ''
    returnType: bool
    signature: bool CWallet::AddToWalletIfInvolvingMe(const CTransactionRef& ptx,
      const SyncTxState& state, bool fUpdate, bool rescanning_old_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1231,1
    - Dst: wallet::CWallet::GetWalletTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1232,1
    - Dst: CWalletTx*::isAbandoned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1233,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1233,1
    - Dst: CWalletTx*::InMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ' hashTx'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1229
    functionDepth: 2
    functionLinenumber: 1229
    functionLinenumberEnd: 1234
    functionName: wallet::CWallet::TransactionCanBeAbandoned
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWalletTx*::InMempool
    - wallet::CWallet::GetWalletTx
    - CWalletTx*::isAbandoned
    - LOCK
    - GetTxDepthInMainChain
    linkageType: ''
    returnType: bool
    signature: bool CWallet::TransactionCanBeAbandoned(const Txid& hashTx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1239,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1240,1
    - Dst: auto::second::MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1244
    functionName: wallet::CWallet::MarkInputsDirty
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - auto::second::MarkDirty
    linkageType: ''
    returnType: void
    signature: void CWallet::MarkInputsDirty(const CTransactionRef& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1248,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1250,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1250,1
    - Dst: wallet::CWallet::AbandonTransaction
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' hashTx'
    argTypes:
    - Txid
    assertStmts:
    - condition: (it != mapWallet.end())
      pos:
        line_end: 1249
        line_start: 1249
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1252
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1252
    functionName: wallet::CWallet::AbandonTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - LOCK
    - wallet::CWallet::AbandonTransaction
    - assert
    - find
    linkageType: ''
    returnType: bool
    signature: bool CWallet::AbandonTransaction(const Txid& hashTx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1257,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1257,1
    - Dst: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1261,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1263,1
    - Dst: isConfirmed
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1263,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1264,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1264,1
    - Dst: isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1266,1
    - Dst: isAbandoned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CWalletTx
    assertStmts:
    - condition: (!wtx.isConfirmed())
      pos:
        line_end: 1262
        line_start: 1262
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (!wtx.InMempool())
      pos:
        line_end: 1263
        line_start: 1263
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1271
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1271
    functionName: wallet::CWallet::AbandonTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - InMempool
    - isConfirmed
    - isAbandoned
    - GetTxDepthInMainChain
    - assert
    - isBlockConflicted
    - wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    linkageType: ''
    returnType: bool
    signature: bool CWallet::AbandonTransaction(CWalletTx& tx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isArray
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:97,1
    - Dst: setArray
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:97,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:98,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:99,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:99,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:101,1
    - Dst: updateRwSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' chain'
    - ' wallet_name'
    argTypes:
    - interfaces::Chain
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: wallet::AddWalletSetting
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - setArray
    - getValues
    - isArray
    - push_back
    - isStr
    - get_str
    - updateRwSetting
    linkageType: ''
    returnType: bool
    signature: bool AddWalletSetting(interfaces::Chain& chain, const std::string&
      wallet_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isArray
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:110,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:112,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:113,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:113,1
    - Dst: common::SettingsValue::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:113,1
    - Dst: common::SettingsValue::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:115,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:116,1
    - Dst: updateRwSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' chain'
    - ' wallet_name'
    argTypes:
    - interfaces::Chain
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: wallet::RemoveWalletSetting
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - getValues
    - isArray
    - size
    - std::move
    - common::SettingsValue::size
    - common::SettingsValue::push_back
    - isStr
    - get_str
    - updateRwSetting
    linkageType: ''
    returnType: bool
    signature: bool RemoveWalletSetting(interfaces::Chain& chain, const std::string&
      wallet_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<bool>::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:128,1
    - Dst: wallet::AddWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:128,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:129,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:129,1
    - Dst: std::optional<bool>::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:130,1
    - Dst: wallet::RemoveWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:130,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:131,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - ' chain'
    - ' wallet_name'
    - load_on_startup
    - ' warnings'
    argTypes:
    - interfaces::Chain
    - std::string
    - std::optional<bool>
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: wallet::UpdateWalletSetting
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 4
    functionsReached:
    - std::optional<bool>::value
    - wallet::AddWalletSetting
    - emplace_back
    - Untranslated
    - wallet::RemoveWalletSetting
    linkageType: ''
    returnType: void
    signature: "void UpdateWalletSetting(interfaces::Chain& chain,\n                                const
      std::string& wallet_name,\n                                std::optional<bool>
      load_on_startup,\n                                std::vector<bilingual_str>&
      warnings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:142,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:142,1
    - Dst: TxStateInMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:143,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:144,1
    - Dst: wallet::TxStateInactive
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' tx'
    - ' chain'
    argTypes:
    - CWalletTx
    - interfaces::Chain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: wallet::RefreshMempoolStatus
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - isInMempool
    - GetHash
    - state
    - wallet::TxStateInactive
    - TxStateInMempool
    linkageType: ''
    returnType: void
    signature: void RefreshMempoolStatus(CWalletTx& tx, interfaces::Chain& chain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:151,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:152,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:153,1
    - Dst: wallets::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:153,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:153,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:154,1
    - Dst: wallets::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:155,1
    - Dst: ConnectScriptPubKeyManNotifiers
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:156,1
    - Dst: NotifyCanGetAddressesChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    assertStmts:
    - condition: (wallet)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: wallet::AddWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - wallets::begin
    - wallets::end
    - wallets::push_back
    - LOCK
    - std::find
    - ConnectScriptPubKeyManNotifiers
    - NotifyCanGetAddressesChanged
    - assert
    linkageType: ''
    returnType: bool
    signature: bool AddWallet(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:163,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:165,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:166,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:167,1
    - Dst: WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:167,1
    - Dst: m_chain_notifications_handler::reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:170,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:172,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:173,1
    - Dst: wallets::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:173,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:173,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:174,1
    - Dst: wallets::erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:175,1
    - Dst: NotifyUnload
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:178,1
    - Dst: wallet::UpdateWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ' context'
    - ' wallet'
    - load_on_start
    - ' warnings'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    - std::optional<bool>
    - std::vector<bilingual_str>
    assertStmts:
    - condition: (wallet)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 184
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 184
    functionName: wallet::RemoveWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - wallets::begin
    - wallets::end
    - wallets::erase
    - m_chain_notifications_handler::reset
    - WriteBestBlock
    - WITH_LOCK
    - chain
    - GetName
    - LOCK
    - std::find
    - NotifyUnload
    - wallet::UpdateWalletSetting
    - assert
    linkageType: ''
    returnType: bool
    signature: bool RemoveWallet(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet, std::optional<bool> load_on_start, std::vector<bilingual_str>& warnings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::RemoveWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' context'
    - ' wallet'
    - load_on_start
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    - std::optional<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: wallet::RemoveWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 4
    functionsReached:
    - wallet::RemoveWallet
    linkageType: ''
    returnType: bool
    signature: bool RemoveWallet(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet, std::optional<bool> load_on_start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: wallet::GetWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: std::vector<std::shared_ptr<CWallet>>
    signature: std::vector<std::shared_ptr<CWallet>> GetWallets(WalletContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:200,1
    - Dst: wallets::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' context'
    - ' count'
    argTypes:
    - WalletContext
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: wallet::GetDefaultWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallets::size
    - LOCK
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> GetDefaultWallet(WalletContext& context, size_t&
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:207,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - ' name'
    argTypes:
    - WalletContext
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: wallet::GetWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetName
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> GetWallet(WalletContext& context, const std::string&
      name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:216,1
    - Dst: wallet_load_fns::emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:217,1
    - Dst: wallet_load_fns::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:217,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:217,1
    - Dst: interfaces::MakeCleanupHandler
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:218,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:218,1
    - Dst: wallet_load_fns::erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - load_wallet
    argTypes:
    - WalletContext
    - LoadWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: wallet::HandleLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeCleanupHandler
    - std::move
    - LOCK
    - wallet_load_fns::end
    - wallet_load_fns::erase
    - wallet_load_fns::emplace
    linkageType: ''
    returnType: std::unique_ptr<interfaces::Handler>
    signature: std::unique_ptr<interfaces::Handler> HandleLoadWallet(WalletContext&
      context, LoadWalletFn load_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:223,1
    - Dst: load_wallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:225,1
    - Dst: interfaces::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: wallet::NotifyWalletLoaded
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - LOCK
    - interfaces::MakeWallet
    - load_wallet
    linkageType: ''
    returnType: void
    signature: void NotifyWalletLoaded(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:238,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:239,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:243,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:244,1
    - Dst: notify_all
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: wallet::FlushAndDeleteWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::GetName
    - erase
    - notify_all
    - LOCK
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: void FlushAndDeleteWallet(CWallet* wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:255,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:257,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:258,1
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:264,1
    - Dst: WAIT_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:266,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:267,1
    - Dst: wait
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 271
    functionName: wallet::WaitForDeleteWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - WAIT_LOCK
    - GetName
    - LOCK
    - reset
    - wait
    - insert
    - count
    linkageType: ''
    returnType: void
    signature: void WaitForDeleteWallet(std::shared_ptr<CWallet>&& wallet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:277,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:279,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:279,1
    - Dst: chain::initMessage
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:283,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:283,1
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:284,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:284,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:286,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:286,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:291,1
    - Dst: wallet::AddWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:292,1
    - Dst: std::shared_ptr::postInitProcess
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:293,1
    - Dst: wallet::UpdateWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:296,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:300,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 7
    argNames:
    - ' context'
    - ' name'
    - load_on_start
    - ' options'
    - ' status'
    - ' error'
    - ' warnings'
    argTypes:
    - WalletContext
    - std::string
    - std::optional<bool>
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 304
    functionName: wallet::LoadWalletInternal
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - _
    - chain::initMessage
    - wallet::AddWallet
    - CWallet::Create
    - std::move
    - wallet::NotifyWalletLoaded
    - MakeWalletDatabase
    - wallet::UpdateWalletSetting
    - what
    - Untranslated
    - std::shared_ptr::postInitProcess
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> LoadWalletInternal(WalletContext& context,
      const std::string& name, std::optional<bool> load_on_start, const DatabaseOptions&
      options, DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>&
      warnings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:312,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:313,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:314,1
    - Dst: wallet::FastWalletRescanFilter::AddScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:315,1
    - Dst: auto::IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:317,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    - Dst: auto::GetEndRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts:
    - condition: (desc_spkm != nullptr)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: wallet::FastWalletRescanFilter::FastWalletRescanFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetAllScriptPubKeyMans
    - emplace
    - wallet::FastWalletRescanFilter::AddScriptPubKeys
    - auto::GetEndRange
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - auto::GetID
    - auto::IsHDEnabled
    - assert
    linkageType: ''
    returnType: void
    signature: void FastWalletRescanFilter(const CWallet& wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:327,1
    - Dst: GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:327,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:328,1
    - Dst: auto::GetEndRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:329,1
    - Dst: wallet::FastWalletRescanFilter::AddScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:331,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:332,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (desc_spkm != nullptr)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: wallet::FastWalletRescanFilter::UpdateIfNeeded
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallet::FastWalletRescanFilter::AddScriptPubKeys
    - auto::GetEndRange
    - at
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - GetScriptPubKeyMan
    - auto::GetID
    - assert
    linkageType: ''
    returnType: void
    signature: void UpdateIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: wallet::FastWalletRescanFilter::MatchesBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - chain
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> MatchesBlock(const uint256& block_hash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorScriptPubKeyMan*::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:355,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - desc_spkm
    argTypes:
    - DescriptorScriptPubKeyMan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: wallet::FastWalletRescanFilter::AddScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 6
    functionsReached:
    - end
    - DescriptorScriptPubKeyMan*::GetScriptPubKeys
    - emplace
    - begin
    linkageType: ''
    returnType: void
    signature: void AddScriptPubKeys(const DescriptorScriptPubKeyMan* desc_spkm, int32_t
      last_range_end = 0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:277,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:279,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:279,1
    - Dst: chain::initMessage
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:283,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:283,1
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:284,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:284,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:286,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:286,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:291,1
    - Dst: wallet::AddWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:292,1
    - Dst: std::shared_ptr::postInitProcess
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:293,1
    - Dst: wallet::UpdateWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:296,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:300,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 7
    argNames:
    - ' context'
    - ' name'
    - load_on_start
    - ' options'
    - ' status'
    - ' error'
    - ' warnings'
    argTypes:
    - WalletContext
    - std::string
    - std::optional<bool>
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 304
    functionName: wallet::LoadWalletInternal
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - _
    - chain::initMessage
    - wallet::AddWallet
    - CWallet::Create
    - std::move
    - wallet::NotifyWalletLoaded
    - MakeWalletDatabase
    - wallet::UpdateWalletSetting
    - what
    - Untranslated
    - std::shared_ptr::postInitProcess
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> LoadWalletInternal(WalletContext& context,
      const std::string& name, std::optional<bool> load_on_start, const DatabaseOptions&
      options, DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>&
      warnings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:312,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:313,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:314,1
    - Dst: wallet::FastWalletRescanFilter::AddScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:315,1
    - Dst: auto::IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:317,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    - Dst: auto::GetEndRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts:
    - condition: (desc_spkm != nullptr)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: wallet::FastWalletRescanFilter::FastWalletRescanFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetAllScriptPubKeyMans
    - emplace
    - wallet::FastWalletRescanFilter::AddScriptPubKeys
    - auto::GetEndRange
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - auto::GetID
    - auto::IsHDEnabled
    - assert
    linkageType: ''
    returnType: void
    signature: void FastWalletRescanFilter(const CWallet& wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:327,1
    - Dst: GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:327,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:328,1
    - Dst: auto::GetEndRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:329,1
    - Dst: wallet::FastWalletRescanFilter::AddScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:331,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:332,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (desc_spkm != nullptr)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: wallet::FastWalletRescanFilter::UpdateIfNeeded
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallet::FastWalletRescanFilter::AddScriptPubKeys
    - auto::GetEndRange
    - at
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - GetScriptPubKeyMan
    - auto::GetID
    - assert
    linkageType: ''
    returnType: void
    signature: void UpdateIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' block_hash'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: wallet::FastWalletRescanFilter::MatchesBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - chain
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> MatchesBlock(const uint256& block_hash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorScriptPubKeyMan*::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:355,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - desc_spkm
    argTypes:
    - DescriptorScriptPubKeyMan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: wallet::FastWalletRescanFilter::AddScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 8
    functionsReached:
    - end
    - DescriptorScriptPubKeyMan*::GetScriptPubKeys
    - emplace
    - begin
    linkageType: ''
    returnType: void
    signature: void AddScriptPubKeys(const DescriptorScriptPubKeyMan* desc_spkm, int32_t
      last_range_end = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:364,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:364,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:366,1
    - Dst: wallet::LoadWalletInternal
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:370,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:371,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - ' context'
    - ' name'
    - load_on_start
    - ' options'
    - ' status'
    - ' error'
    - ' warnings'
    argTypes:
    - WalletContext
    - std::string
    - std::optional<bool>
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: wallet::LoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - erase
    - WITH_LOCK
    - wallet::LoadWalletInternal
    - Untranslated
    - insert
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> LoadWallet(WalletContext& context, const std::string&
      name, std::optional<bool> load_on_start, const DatabaseOptions& options, DatabaseStatus&
      status, bilingual_str& error, std::vector<bilingual_str>& warnings)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:381,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:388,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:394,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:400,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:401,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:407,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:409,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:409,1
    - Dst: chain::initMessage
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:415,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:415,1
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:416,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:416,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:418,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:418,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:424,1
    - Dst: std::shared_ptr::EncryptWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:425,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:426,1
    - Dst: std::shared_ptr::Unlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:432,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:433,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:440,1
    - Dst: std::shared_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:441,1
    - Dst: std::shared_ptr::Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:445,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:449,1
    - Dst: wallet::AddWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:450,1
    - Dst: std::shared_ptr::postInitProcess
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:451,1
    - Dst: wallet::UpdateWalletSetting
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:454,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 7
    argNames:
    - ' context'
    - ' name'
    - load_on_start
    - ' options'
    - ' status'
    - ' error'
    - ' warnings'
    argTypes:
    - WalletContext
    - std::string
    - std::optional<bool>
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 458
    functionName: wallet::CreateWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - std::shared_ptr::EncryptWallet
    - chain::initMessage
    - _
    - empty
    - wallet::AddWallet
    - std::shared_ptr::Lock
    - CWallet::Create
    - std::move
    - LOCK
    - wallet::NotifyWalletLoaded
    - MakeWalletDatabase
    - Assert
    - std::shared_ptr::SetupDescriptorScriptPubKeyMans
    - wallet::UpdateWalletSetting
    - std::shared_ptr::Unlock
    - Untranslated
    - std::shared_ptr::postInitProcess
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> CreateWallet(WalletContext& context, const
      std::string& name, std::optional<bool> load_on_start, DatabaseOptions& options,
      DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>& warnings)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:465,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:468,1
    - Dst: wallet::GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:468,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:468,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:473,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:474,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:479,1
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:479,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:480,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:480,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:480,1
    - Dst: fs::copy_file
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:485,1
    - Dst: wallet::LoadWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:488,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:491,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:492,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:492,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:493,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:493,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:493,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:498,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 8
    argNames:
    - ' context'
    - ' backup_file'
    - ' wallet_name'
    - load_on_start
    - ' status'
    - ' error'
    - ' warnings'
    - load_after_restore
    argTypes:
    - WalletContext
    - fs::path
    - std::string
    - std::optional<bool>
    - DatabaseStatus
    - bilingual_str
    - std::vector<bilingual_str>
    - bool
    assertStmts:
    - condition: (!wallet)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 502
      start: 462
    functionDepth: 5
    functionLinenumber: 462
    functionLinenumberEnd: 502
    functionName: wallet::RestoreWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    - wallet::GetWalletDir
    - empty
    - fs::copy_file
    - fs::u8path
    - fsbridge::AbsPathJoin
    - fs::exists
    - TryCreateDirectories
    - wallet::LoadWallet
    - what
    - strprintf
    - wallet::ReadDatabaseArgs
    - assert
    - Untranslated
    - fs::PathToString
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> RestoreWallet(WalletContext& context, const
      fs::path& backup_file, const std::string& wallet_name, std::optional<bool> load_on_start,
      DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>& warnings,
      bool load_after_restore)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:511,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:512,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: wallet::CWallet::GetWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx * CWallet::GetWalletTx(const Txid& hash) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:520,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:520,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:520,1
    - Dst: GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:524,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:525,1
    - Dst: DescriptorScriptPubKeyMan*::UpgradeDescriptorCache
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:526,1
    - Dst: SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 529
    functionName: wallet::CWallet::UpgradeDescriptorCache
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - GetAllScriptPubKeyMans
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - IsLocked
    - IsWalletFlagSet
    - DescriptorScriptPubKeyMan*::UpgradeDescriptorCache
    - SetWalletFlag
    linkageType: ''
    returnType: void
    signature: void CWallet::UpgradeDescriptorCache()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:536,1
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:539,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:540,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:540,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:542,1
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:543,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:544,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:544,1
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:550,1
    - Dst: CCrypter::Encrypt
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ' wallet_passphrase'
    - ' plain_master_key'
    - ' master_key'
    argTypes:
    - SecureString
    - CKeyingMaterial
    - CMasterKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 558
    functionName: wallet::EncryptMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - CCrypter::SetKeyFromPassphrase
    - CCrypter::Encrypt
    - static_cast<unsigned int>
    linkageType: ''
    returnType: bool
    signature: bool EncryptMasterKey(const SecureString& wallet_passphrase, const
      CKeyingMaterial& plain_master_key, CMasterKey& master_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:563,1
    - Dst: CCrypter::Decrypt
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' wallet_passphrase'
    - ' master_key'
    - ' plain_master_key'
    argTypes:
    - SecureString
    - CMasterKey
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 571
    functionName: wallet::DecryptMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CCrypter::Decrypt
    - CCrypter::SetKeyFromPassphrase
    linkageType: ''
    returnType: bool
    signature: bool DecryptMasterKey(const SecureString& wallet_passphrase, const
      CMasterKey& master_key, CKeyingMaterial& plain_master_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:578,1
    - Dst: DecryptMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:581,1
    - Dst: wallet::CWallet::Unlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:584,1
    - Dst: wallet::CWallet::UpgradeDescriptorCache
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' strWalletPassphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 592
    functionName: wallet::CWallet::Unlock
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 4
    functionsReached:
    - wallet::CWallet::UpgradeDescriptorCache
    - LOCK
    - wallet::CWallet::Unlock
    - DecryptMasterKey
    linkageType: ''
    returnType: bool
    signature: bool CWallet::Unlock(const SecureString& strWalletPassphrase)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:596,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:599,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:600,1
    - Dst: DecryptMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:605,1
    - Dst: wallet::CWallet::Unlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:608,1
    - Dst: EncryptMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:610,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:613,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:615,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:615,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ' strOldWalletPassphrase'
    - ' strNewWalletPassphrase'
    argTypes:
    - SecureString
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 624
    functionName: wallet::CWallet::ChangeWalletPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - EncryptMasterKey
    - wallet::CWallet::WalletLogPrintf
    - LOCK2
    - WalletBatch
    - DecryptMasterKey
    - IsLocked
    - wallet::CWallet::Unlock
    - GetDatabase
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool CWallet::ChangeWalletPassphrase(const SecureString& strOldWalletPassphrase,
      const SecureString& strNewWalletPassphrase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - block_height
    - block_hash
    argTypes:
    - int
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: wallet::CWallet::SetLastBlockProcessedInMem
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CWallet::SetLastBlockProcessedInMem(int block_height, uint256
      block_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:636,1
    - Dst: wallet::CWallet::SetLastBlockProcessedInMem
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:638,1
    - Dst: WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - block_height
    - block_hash
    argTypes:
    - int
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 640
    functionName: wallet::CWallet::SetLastBlockProcessed
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - WriteBestBlock
    - wallet::CWallet::SetLastBlockProcessedInMem
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CWallet::SetLastBlockProcessed(int block_height, uint256 block_hash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:644,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:647,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:651,1
    - Dst: WalletBatch::WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:651,1
    - Dst: WalletBatch*::WriteMinVersion
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - nVersion
    - batch_in
    argTypes:
    - enum WalletFeature
    - WalletBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 657
    functionName: wallet::CWallet::SetMinVersion
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - wallet::CWallet::WalletLogPrintf
    - LOCK
    - WalletBatch::WalletBatch
    - WalletBatch*::WriteMinVersion
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void CWallet::SetMinVersion(enum WalletFeature nVersion, WalletBatch*
      batch_in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:662,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:664,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:665,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:673,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:675,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 680
    functionName: wallet::CWallet::GetConflicts
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::set::insert
    - AssertLockHeld
    - equal_range
    - find
    - count
    linkageType: ''
    returnType: std::set<Txid>
    signature: std::set<Txid> CWallet::GetConflicts(const Txid& txid) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:684,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:685,1
    - Dst: vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:686,1
    - Dst: wallet::CWallet::IsSpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:687,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 692
    functionName: wallet::CWallet::HasWalletSpend
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallet::CWallet::IsSpent
    - GetHash
    - COutPoint
    - vout::size
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool CWallet::HasWalletSpend(const CTransactionRef& tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: wallet::CWallet::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void CWallet::Close()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:705,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:708,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:723,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:725,1
    - Dst: CWalletTx*::IsEquivalentTo
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:726,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - range
    argTypes:
    - std::pair<TxSpends::iterator, TxSpends::iterator>
    assertStmts:
    - condition: (copyFrom && "Oldest wallet transaction in range assumed to have
        been found.")
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 734
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 734
    functionName: wallet::CWallet::SyncMetaData
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - assert
    - at
    - RandomMixin::max
    - CWalletTx*::IsEquivalentTo
    linkageType: ''
    returnType: void
    signature: void CWallet::SyncMetaData(std::pair<TxSpends::iterator, TxSpends::iterator>
      range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:743,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:747,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:748,1
    - Dst: isAbandoned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:750,1
    - Dst: isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:750,1
    - Dst: isMempoolConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 755
    functionName: wallet::CWallet::IsSpent
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - end
    - isAbandoned
    - find
    - equal_range
    - isBlockConflicted
    - isMempoolConflicted
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsSpent(const COutPoint& outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:759,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:759,1
    - Dst: UnlockCoin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:761,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:764,1
    - Dst: wallet::CWallet::SyncMetaData
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' outpoint'
    - ' txid'
    argTypes:
    - COutPoint
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 766
    functionName: wallet::CWallet::AddToSpends
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - std::make_pair
    - UnlockCoin
    - wallet::CWallet::SyncMetaData
    - insert
    - equal_range
    linkageType: ''
    returnType: void
    signature: void CWallet::AddToSpends(const COutPoint& outpoint, const Txid& txid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:771,1
    - Dst: wallet::CWallet::AddToSpends
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:775,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 776
    functionName: wallet::CWallet::AddToSpends
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 4
    functionsReached:
    - IsCoinBase
    - GetHash
    - wallet::CWallet::AddToSpends
    linkageType: ''
    returnType: void
    signature: void CWallet::AddToSpends(const CWalletTx& wtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:781,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:781,1
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:783,1
    - Dst: CKeyingMaterial::resize
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:788,1
    - Dst: GetStrongRandBytes
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:789,1
    - Dst: CMasterKey::vchSalt::resize
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:793,1
    - Dst: GetStrongRandBytes
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:794,1
    - Dst: EncryptMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:796,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:799,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:802,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:804,1
    - Dst: WalletBatch::WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:804,1
    - Dst: WalletBatch*::TxnBegin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:805,1
    - Dst: WalletBatch*::WriteMasterKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:810,1
    - Dst: second::get
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:813,1
    - Dst: auto::Encrypt
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:814,1
    - Dst: WalletBatch*::TxnAbort
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:815,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:820,1
    - Dst: wallet::CWallet::SetMinVersion
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:825,1
    - Dst: WalletBatch*::TxnCommit
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:827,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:832,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:838,1
    - Dst: wallet::CWallet::Unlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:839,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:842,1
    - Dst: SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:843,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:845,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:849,1
    - Dst: NotifyStatusChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:851,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - ' strWalletPassphrase'
    argTypes:
    - SecureString
    assertStmts:
    - condition: (false)
      pos:
        line_end: 819
        line_start: 819
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (false)
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 854
      start: 778
    functionDepth: 8
    functionLinenumber: 778
    functionLinenumberEnd: 854
    functionName: wallet::CWallet::EncryptWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - EncryptMasterKey
    - LOCK2
    - CMasterKey::vchSalt::resize
    - WalletBatch*::WriteMasterKey
    - IsCrypted
    - WalletBatch::WalletBatch
    - WalletBatch*::TxnBegin
    - Lock
    - NotifyStatusChanged
    - wallet::CWallet::WalletLogPrintf
    - second::get
    - WalletBatch*::TxnAbort
    - GetStrongRandBytes
    - wallet::CWallet::SetMinVersion
    - wallet::CWallet::Unlock
    - GetDatabase
    - CKeyingMaterial::resize
    - SetupDescriptorScriptPubKeyMans
    - Assert
    - WalletBatch*::TxnCommit
    - assert
    - IsWalletFlagSet
    - auto::Encrypt
    linkageType: ''
    returnType: bool
    signature: bool CWallet::EncryptWallet(const SecureString& strWalletPassphrase)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:858,1
    - Dst: TxItems::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:871,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:871,1
    - Dst: TxItems::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:876,1
    - Dst: TxItems::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:876,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:884,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:886,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:898,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:904,1
    - Dst: WalletBatch::WriteOrderPosNext
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:908,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 911
    functionName: wallet::CWallet::ReorderTransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - TxItems::insert
    - std::make_pair
    - TxItems::begin
    - TxItems::end
    - WalletBatch::WriteOrderPosNext
    - std::vector::push_back
    - LOCK
    - std::max
    - WalletBatch::WriteTx
    linkageType: ''
    returnType: DBErrors
    signature: DBErrors CWallet::ReorderTransactions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:915,1
    - Dst: WalletBatch*::WriteOrderPosNext
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:918,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:920,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - batch
    argTypes:
    - WalletBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 923
    functionName: wallet::CWallet::IncOrderPosNext
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - WalletBatch
    - GetDatabase
    - AssertLockHeld
    - WalletBatch*::WriteOrderPosNext
    linkageType: ''
    returnType: int64_t
    signature: int64_t CWallet::IncOrderPosNext(WalletBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:928,1
    - Dst: wallet::CWallet::MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 932
    functionName: wallet::CWallet::MarkDirty
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - LOCK
    - wallet::CWallet::MarkDirty
    linkageType: ''
    returnType: void
    signature: void CWallet::MarkDirty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:936,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:938,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:941,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:941,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:946,1
    - Dst: mapValue::count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:946,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:948,1
    - Dst: RefreshMempoolStatus
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:951,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:951,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:956,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:957,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:957,1
    - Dst: NotifyTransactionChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' originalHash'
    - ' newHash'
    argTypes:
    - Txid
    - Txid
    assertStmts:
    - condition: (wtx.mapValue.count("replaced_by_txid") == 0)
      pos:
        line_end: 945
        line_start: 945
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (mi != mapWallet.end())
      pos:
        line_end: 940
        line_start: 940
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 964
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 964
    functionName: wallet::CWallet::MarkReplaced
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - mapValue::count
    - wallet::CWallet::WalletLogPrintf
    - NotifyTransactionChanged
    - ToString
    - RefreshMempoolStatus
    - GetHash
    - chain
    - LOCK
    - WalletBatch::WriteTx
    - assert
    - find
    linkageType: ''
    returnType: bool
    signature: bool CWallet::MarkReplaced(const Txid& originalHash, const Txid& newHash)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:968,1
    - Dst: wallet::CWallet::GetWalletTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:969,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:973,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:974,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:975,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:977,1
    - Dst: SetAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - ' batch'
    - ' hash'
    - n
    - used
    - ' tx_destinations'
    argTypes:
    - WalletBatch
    - Txid
    - unsigned int
    - bool
    - std::set<CTxDestination>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 966
    functionDepth: 3
    functionLinenumber: 966
    functionLinenumberEnd: 983
    functionName: wallet::CWallet::SetSpentKeyState
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - IsAddressPreviouslySpent
    - wallet::CWallet::GetWalletTx
    - ExtractDestination
    - IsMine
    - AssertLockHeld
    - SetAddressPreviouslySpent
    - insert
    linkageType: ''
    returnType: void
    signature: void CWallet::SetSpentKeyState(WalletBatch& batch, const Txid& hash,
      unsigned int n, bool used, std::set<CTxDestination>& tx_destinations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:987,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:989,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:992,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' scriptPubKey'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 996
    functionName: wallet::CWallet::IsSpentKey
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - IsAddressPreviouslySpent
    - ExtractDestination
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsSpentKey(const CScript& scriptPubKey) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1000,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1004,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1006,1
    - Dst: wallet::CWallet::SetSpentKeyState
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1012,1
    - Dst: MarkDestinationsDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1015,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1019,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1019,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1019,1
    - Dst: update_wtx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1022,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1024,1
    - Dst: wallet::CWallet::IncOrderPosNext
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1025,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1026,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1026,1
    - Dst: ComputeTimeSmart
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1027,1
    - Dst: wallet::CWallet::AddToSpends
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1028,1
    - Dst: MaybeUpdateBirthTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1031,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1031,1
    - Dst: index
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1036,1
    - Dst: m_state::index
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1036,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1040,1
    - Dst: TxStateSerializedIndex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1040,1
    - Dst: TxStateSerializedIndex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1040,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1041,1
    - Dst: TxStateSerializedBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1041,1
    - Dst: TxStateSerializedBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1041,1
    - Dst: CTransactionRef::HasWitness
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1048,1
    - Dst: tx::HasWitness
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1048,1
    - Dst: SetTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1049,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1055,1
    - Dst: isInactive
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1055,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1060,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1061,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1062,1
    - Dst: CWalletTx*::MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1065,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1066,1
    - Dst: wallet::CWallet::MarkInputsDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1067,1
    - Dst: CWalletTx*::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1068,1
    - Dst: CWalletTx*::GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1069,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1070,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1072,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1073,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1074,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1082,1
    - Dst: Txid::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1082,1
    - Dst: TxStateString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1082,1
    - Dst: WalletBatch::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1086,1
    - Dst: wallet::CWallet::MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1090,1
    - Dst: RefreshTXOsFromTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1093,1
    - Dst: NotifyTransactionChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1096,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1102,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1104,1
    - Dst: Txid::GetHex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1104,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1105,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1107,1
    - Dst: auto*::confirmed_block_hash::GetHex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1107,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1108,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1108,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1110,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1111,1
    - Dst: ReplaceAll
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1119,1
    - Dst: ShellEscape
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1119,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1119,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1122,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - tx
    - ' state'
    - ' update_wtx'
    - rescanning_old_block
    argTypes:
    - CTransactionRef
    - TxState
    - UpdateWalletTxFn
    - bool
    assertStmts:
    - condition: (TxStateSerializedIndex(wtx.m_state) == TxStateSerializedIndex(state))
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (TxStateSerializedBlockHash(wtx.m_state) == TxStateSerializedBlockHash(state))
      pos:
        line_end: 1040
        line_start: 1040
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1127
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1127
    functionName: wallet::CWallet::AddToWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - RefreshTXOsFromTx
    - Txid::GetHex
    - index
    - std::string::empty
    - state
    - std::vector::push_back
    - GetName
    - TxStateSerializedIndex
    - wallet::CWallet::IncOrderPosNext
    - NotifyTransactionChanged
    - GetTime
    - wallet::CWallet::WalletLogPrintf
    - m_state::index
    - ToString
    - update_wtx
    - std::vector::back
    - Txid::ToString
    - ShellEscape
    - CWalletTx*::MarkDirty
    - MaybeUpdateBirthTime
    - std::vector::empty
    - std::vector::pop_back
    - find
    - equal_range
    - std::thread::detach
    - emplace
    - SetTx
    - TxStateString
    - tx::HasWitness
    - wallet::CWallet::SetSpentKeyState
    - wallet::CWallet::AddToSpends
    - assert
    - IsWalletFlagSet
    - ComputeTimeSmart
    - CWalletTx*::tx::vout::size
    - end
    - wallet::CWallet::MarkDirty
    - wallet::CWallet::MarkInputsDirty
    - ReplaceAll
    - TxStateSerializedBlockHash
    - CWalletTx*::GetHash
    - GetTxTime
    - CTransactionRef::GetHash
    - auto*::confirmed_block_hash::GetHex
    - LOCK
    - IsCoinBase
    - CTransactionRef::HasWitness
    - WalletBatch::WriteTx
    - std::forward_as_tuple
    - isInactive
    - MarkDestinationsDirty
    - insert
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx * CWallet::AddToWallet(CTransactionRef tx, const TxState&
      state, const UpdateWalletTxFn& update_wtx, bool rescanning_old_block)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1131,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1131,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1131,1
    - Dst: fill_wtx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1133,1
    - Dst: wallet::CWallet::HaveChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1138,1
    - Dst: updateState
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1139,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1139,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1142,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1142,1
    - Dst: wallet::CWallet::AddToSpends
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1144,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1146,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1147,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1149,1
    - Dst: MarkConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1150,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1150,1
    - Dst: MaybeUpdateBirthTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1156,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1156,1
    - Dst: RefreshTXOsFromTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' hash'
    - ' fill_wtx'
    argTypes:
    - Txid
    - UpdateWalletTxFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1129
    functionDepth: 4
    functionLinenumber: 1129
    functionLinenumberEnd: 1161
    functionName: wallet::CWallet::LoadToWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - std::make_pair
    - RefreshTXOsFromTx
    - fill_wtx
    - insert
    - GetHash
    - GetTxTime
    - chain
    - state
    - updateState
    - std::forward_as_tuple
    - MaybeUpdateBirthTime
    - MarkConflicted
    - wallet::CWallet::AddToSpends
    - wallet::CWallet::HaveChain
    - find
    linkageType: ''
    returnType: bool
    signature: bool CWallet::LoadToWallet(const Txid& hash, const UpdateWalletTxFn&
      fill_wtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1167,1
    - Dst: std::get_if<TxStateConfirmed>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1169,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1171,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1173,1
    - Dst: wallet::CWallet::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: auto*::confirmed_block_hash::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: std::pair::first::second::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: std::pair::first::first::hash::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1174,1
    - Dst: MarkConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1175,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1182,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1182,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1184,1
    - Dst: IsFromMe
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1184,1
    - Dst: GetScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1194,1
    - Dst: MarkUnusedAddresses
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1195,1
    - Dst: internal::has_value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1197,1
    - Dst: IsInternalScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1198,1
    - Dst: internal::has_value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1202,1
    - Dst: FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1207,1
    - Dst: SetAddressBook
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1208,1
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1216,1
    - Dst: wallet::CWallet::AddToWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1217,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1217,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1221,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 4
    argNames:
    - ' ptx'
    - ' state'
    - fUpdate
    - rescanning_old_block
    argTypes:
    - CTransactionRef
    - SyncTxState
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1163
    functionDepth: 5
    functionLinenumber: 1163
    functionLinenumberEnd: 1227
    functionName: wallet::CWallet::AddToWalletIfInvolvingMe
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetHash
    - std::visit
    - std::pair::first::first::hash::ToString
    - SetAddressBook
    - wallet::CWallet::AddToWallet
    - auto*::confirmed_block_hash::ToString
    - wallet::CWallet::WalletLogPrintf
    - std::get_if<TxStateConfirmed>
    - std::runtime_error
    - IsMine
    - AssertLockHeld
    - equal_range
    - MakeTransactionRef
    - internal::has_value
    - IsInternalScriptPubKeyMan
    - MarkConflicted
    - FindAddressBookEntry
    - std::pair::first::second::ToString
    - count
    - GetScriptPubKeyMans
    - IsFromMe
    - MarkUnusedAddresses
    linkageType: ''
    returnType: bool
    signature: bool CWallet::AddToWalletIfInvolvingMe(const CTransactionRef& ptx,
      const SyncTxState& state, bool fUpdate, bool rescanning_old_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1231,1
    - Dst: wallet::CWallet::GetWalletTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1232,1
    - Dst: CWalletTx*::isAbandoned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1233,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1233,1
    - Dst: CWalletTx*::InMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ' hashTx'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1229
    functionDepth: 2
    functionLinenumber: 1229
    functionLinenumberEnd: 1234
    functionName: wallet::CWallet::TransactionCanBeAbandoned
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWalletTx*::InMempool
    - wallet::CWallet::GetWalletTx
    - CWalletTx*::isAbandoned
    - LOCK
    - GetTxDepthInMainChain
    linkageType: ''
    returnType: bool
    signature: bool CWallet::TransactionCanBeAbandoned(const Txid& hashTx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1239,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1240,1
    - Dst: auto::second::MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1244
    functionName: wallet::CWallet::MarkInputsDirty
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - end
    - find
    - auto::second::MarkDirty
    linkageType: ''
    returnType: void
    signature: void CWallet::MarkInputsDirty(const CTransactionRef& tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1248,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1250,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1250,1
    - Dst: wallet::CWallet::AbandonTransaction
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' hashTx'
    argTypes:
    - Txid
    assertStmts:
    - condition: (it != mapWallet.end())
      pos:
        line_end: 1249
        line_start: 1249
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1252
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1252
    functionName: wallet::CWallet::AbandonTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - end
    - LOCK
    - wallet::CWallet::AbandonTransaction
    - assert
    - find
    linkageType: ''
    returnType: bool
    signature: bool CWallet::AbandonTransaction(const Txid& hashTx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1257,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1257,1
    - Dst: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1261,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1263,1
    - Dst: isConfirmed
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1263,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1264,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1264,1
    - Dst: isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1266,1
    - Dst: isAbandoned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CWalletTx
    assertStmts:
    - condition: (!wtx.isConfirmed())
      pos:
        line_end: 1262
        line_start: 1262
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (!wtx.InMempool())
      pos:
        line_end: 1263
        line_start: 1263
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1271
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1271
    functionName: wallet::CWallet::AbandonTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - InMempool
    - isConfirmed
    - isAbandoned
    - GetTxDepthInMainChain
    - assert
    - isBlockConflicted
    - wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    linkageType: ''
    returnType: bool
    signature: bool CWallet::AbandonTransaction(CWalletTx& tx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1286,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1299,1
    - Dst: if
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1300,1
    - Dst: CWallet::GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1300,1
    - Dst: CWallet::RecursiveUpdateTxState
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hashBlock'
    - conflicting_height
    - ' hashTx'
    argTypes:
    - uint256
    - int
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1312
    functionName: CWallet::MarkConflicted
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::GetTxDepthInMainChain
    - CWallet::RecursiveUpdateTxState
    - if
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    linkageType: ''
    returnType: void
    signature: void CWallet::MarkConflicted(const uint256& hashBlock, int conflicting_height,
      const Txid& hashTx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::RecursiveUpdateTxState
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tx_hash'
    - ' try_updating_state'
    argTypes:
    - Txid
    - TryUpdatingStateFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1317
    functionName: CWallet::RecursiveUpdateTxState
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - CWallet::RecursiveUpdateTxState
    linkageType: ''
    returnType: void
    signature: void CWallet::RecursiveUpdateTxState(const Txid& tx_hash, const TryUpdatingStateFn&
      try_updating_state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1323,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1325,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1326,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1327,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1328,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1329,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1330,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1330,1
    - Dst: try_updating_state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1333,1
    - Dst: MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1335,1
    - Dst: WalletBatch*::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1336,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1338,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1339,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1339,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1341,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1342,1
    - Dst: NotifyTransactionChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1348,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1348,1
    - Dst: MarkInputsDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - batch
    - ' tx_hash'
    - ' try_updating_state'
    argTypes:
    - WalletBatch*
    - Txid
    - TryUpdatingStateFn
    assertStmts:
    - condition: (it != mapWallet.end())
      pos:
        line_end: 1329
        line_start: 1329
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1356
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1356
    functionName: CWallet::RecursiveUpdateTxState
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - end
    - NotifyTransactionChanged
    - MarkInputsDirty
    - WalletBatch*::WriteTx
    - std::set::begin
    - try_updating_state
    - tx::vout::size
    - COutPoint
    - GetHash
    - std::set::empty
    - MarkDirty
    - std::set::insert
    - std::set::erase
    - std::set::count
    - assert
    - find
    - equal_range
    linkageType: ''
    returnType: void
    signature: void CWallet::RecursiveUpdateTxState(WalletBatch* batch, const Txid&
      tx_hash, const TryUpdatingStateFn& try_updating_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddToWalletIfInvolvingMe
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1360,1
    - Dst: MarkInputsDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' ptx'
    - ' state'
    - update_tx
    - rescanning_old_block
    argTypes:
    - CTransactionRef
    - SyncTxState
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1368
    functionName: CWallet::SyncTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - MarkInputsDirty
    - AddToWalletIfInvolvingMe
    linkageType: ''
    returnType: bool
    signature: bool CWallet::SyncTransaction(const CTransactionRef& ptx, const SyncTxState&
      state, bool update_tx, bool rescanning_old_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1371,1
    - Dst: CWallet::SyncTransaction
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1372,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1374,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1374,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1375,1
    - Dst: RefreshMempoolStatus
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1376,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1376,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1379,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1383,1
    - Dst: CWallet::RecursiveUpdateTxState
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1387,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1387,1
    - Dst: mempool_conflicts::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1392
    functionName: CWallet::transactionAddedToMempool
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - RefreshMempoolStatus
    - GetHash
    - CWallet::RecursiveUpdateTxState
    - chain
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - mempool_conflicts::insert
    - CWallet::SyncTransaction
    - find
    - equal_range
    linkageType: ''
    returnType: void
    signature: void CWallet::transactionAddedToMempool(const CTransactionRef& tx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1395,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1396,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1396,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1397,1
    - Dst: RefreshMempoolStatus
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1398,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1398,1
    - Dst: CWallet::SyncTransaction
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1427,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1430,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1436,1
    - Dst: CWallet::RecursiveUpdateTxState
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1439,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1439,1
    - Dst: mempool_conflicts::erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' tx'
    - reason
    argTypes:
    - CTransactionRef
    - MemPoolRemovalReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1394
    functionDepth: 2
    functionLinenumber: 1394
    functionLinenumberEnd: 1444
    functionName: CWallet::transactionRemovedFromMempool
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - RefreshMempoolStatus
    - GetHash
    - CWallet::RecursiveUpdateTxState
    - chain
    - mempool_conflicts::erase
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - CWallet::SyncTransaction
    - find
    - equal_range
    linkageType: ''
    returnType: void
    signature: void CWallet::transactionRemovedFromMempool(const CTransactionRef&
      tx, MemPoolRemovalReason reason)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1451,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1452,1
    - Dst: SetLastBlockProcessedInMem
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1456,1
    - Dst: load
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1460,1
    - Dst: data::vtx::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1464,1
    - Dst: CWallet::SyncTransaction
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1465,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1465,1
    - Dst: CWallet::transactionRemovedFromMempool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1466,1
    - Dst: CWallet::WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - role
    - ' block'
    argTypes:
    - ChainstateRole
    - interfaces::BlockInfo
    assertStmts:
    - condition: (block.data)
      pos:
        line_end: 1450
        line_start: 1450
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1473
      start: 1446
    functionDepth: 3
    functionLinenumber: 1446
    functionLinenumberEnd: 1473
    functionName: CWallet::blockConnected
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::transactionRemovedFromMempool
    - CWallet::WriteBestBlock
    - static_cast<int>
    - load
    - data::vtx::size
    - LOCK
    - SetLastBlockProcessedInMem
    - CWallet::SyncTransaction
    - assert
    linkageType: ''
    returnType: void
    signature: void CWallet::blockConnected(ChainstateRole role, const interfaces::BlockInfo&
      block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1477,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1478,1
    - Dst: data::vtx::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1486,1
    - Dst: CWallet::SyncTransaction
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1490,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1494,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1496,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1500,1
    - Dst: isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1502,1
    - Dst: isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1505,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1506,1
    - Dst: CWallet::RecursiveUpdateTxState
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1513,1
    - Dst: tx::GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1513,1
    - Dst: SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1519,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1519,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ' block'
    argTypes:
    - interfaces::BlockInfo
    assertStmts:
    - condition: (block.data)
      pos:
        line_end: 1476
        line_start: 1476
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1520
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1520
    functionName: CWallet::blockDisconnected
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - SetLastBlockProcessed
    - tx::GetHash
    - data::vtx::size
    - state
    - CWallet::RecursiveUpdateTxState
    - LOCK
    - Assert
    - equal_range
    - CWallet::SyncTransaction
    - assert
    - find
    - count
    - isBlockConflicted
    linkageType: ''
    returnType: void
    signature: void CWallet::blockDisconnected(const interfaces::BlockInfo& block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1525
    functionName: CWallet::updatedBlockTip
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    linkageType: ''
    returnType: void
    signature: void CWallet::updatedBlockTip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1528,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1533,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1535
    functionName: CWallet::BlockUntilSyncedToCurrentChain
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - AssertLockNotHeld
    - chain
    - WITH_LOCK
    linkageType: ''
    returnType: void
    signature: void CWallet::BlockUntilSyncedToCurrentChain() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1541,1
    - Dst: CWallet::GetTXO
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1542,1
    - Dst: auto::GetIsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1543,1
    - Dst: auto::GetTxOut
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - txin
    - ' filter'
    argTypes:
    - CTxIn
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1547
    functionName: CWallet::GetDebit
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::GetTXO
    - LOCK
    - auto::GetTxOut
    - auto::GetIsMine
    linkageType: ''
    returnType: CAmount
    signature: CAmount CWallet::GetDebit(const CTxIn &txin, const isminefilter& filter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1551,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txout'
    argTypes:
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1553
    functionName: CWallet::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - CWallet::IsMine
    - AssertLockHeld
    linkageType: ''
    returnType: isminetype
    signature: isminetype CWallet::IsMine(const CTxOut& txout) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1557,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1558,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1559
    functionName: CWallet::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - CWallet::IsMine
    - AssertLockHeld
    - GetScriptForDestination
    linkageType: ''
    returnType: isminetype
    signature: isminetype CWallet::IsMine(const CTxDestination& dest) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1563,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1566,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1567,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1570,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1570,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1577
    functionName: CWallet::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - end
    - Assume
    - CWallet::IsMine
    - std::max
    - AssertLockHeld
    - find
    linkageType: ''
    returnType: isminetype
    signature: isminetype CWallet::IsMine(const CScript& script) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1581,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1586
    functionName: CWallet::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 4
    functionsReached:
    - CWallet::IsMine
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsMine(const CTransaction& tx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1590,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1591,1
    - Dst: auto::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1595,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1599
    functionName: CWallet::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 5
    functionsReached:
    - GetWalletTx
    - auto::tx::vout::size
    - CWallet::IsMine
    - AssertLockHeld
    linkageType: ''
    returnType: isminetype
    signature: isminetype CWallet::IsMine(const COutPoint& outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetDebit
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: CWallet::IsFromMe
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::GetDebit
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsFromMe(const CTransaction& tx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetDebit
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1611,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1612,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1613,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' tx'
    - ' filter'
    argTypes:
    - CTransaction
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1616
    functionName: CWallet::GetDebit
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - std::string
    - std::runtime_error
    - MoneyRange
    - CWallet::GetDebit
    linkageType: ''
    returnType: CAmount
    signature: CAmount CWallet::GetDebit(const CTransaction& tx, const isminefilter&
      filter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1622,1
    - Dst: CWallet::IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1627
    functionName: CWallet::IsHDEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - CWallet::GetActiveScriptPubKeyMans
    - CWallet::IsHDEnabled
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsHDEnabled() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1631,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1632,1
    - Dst: CWallet::GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1634,1
    - Dst: auto::CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - internal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1640
    functionName: CWallet::CanGetAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - auto::CanGetAddresses
    - LOCK
    - CWallet::GetScriptPubKeyMan
    - empty
    linkageType: ''
    returnType: bool
    signature: bool CWallet::CanGetAddresses(bool internal) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::SetWalletFlagWithDB
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1646
    functionName: CWallet::SetWalletFlag
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 4
    functionsReached:
    - CWallet::SetWalletFlagWithDB
    linkageType: ''
    returnType: void
    signature: void CWallet::SetWalletFlag(uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1650,1
    - Dst: WriteWalletFlags
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1652,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1653,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' batch'
    - flags
    argTypes:
    - WalletBatch
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1654
    functionName: CWallet::SetWalletFlagWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - WriteWalletFlags
    - std::runtime_error
    - std::string
    linkageType: ''
    returnType: void
    signature: void CWallet::SetWalletFlagWithDB(WalletBatch& batch, uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::UnsetWalletFlagWithDB
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1660
    functionName: CWallet::UnsetWalletFlag
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::UnsetWalletFlagWithDB
    linkageType: ''
    returnType: void
    signature: void CWallet::UnsetWalletFlag(uint64_t flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1664,1
    - Dst: WriteWalletFlags
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1666,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1667,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' batch'
    - flag
    argTypes:
    - WalletBatch
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1668
    functionName: CWallet::UnsetWalletFlagWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - WriteWalletFlags
    - std::runtime_error
    - std::string
    linkageType: ''
    returnType: void
    signature: void CWallet::UnsetWalletFlagWithDB(WalletBatch& batch, uint64_t flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::UnsetWalletFlagWithDB
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' batch'
    argTypes:
    - WalletBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1670
    functionDepth: 2
    functionLinenumber: 1670
    functionLinenumberEnd: 1673
    functionName: CWallet::UnsetBlankWalletFlag
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::UnsetWalletFlagWithDB
    linkageType: ''
    returnType: void
    signature: void CWallet::UnsetBlankWalletFlag(WalletBatch& batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1678
    functionName: CWallet::IsWalletFlagSet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsWalletFlagSet(uint64_t flag) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1680
    functionDepth: 1
    functionLinenumber: 1680
    functionLinenumberEnd: 1690
    functionName: CWallet::LoadWalletFlags
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool CWallet::LoadWalletFlags(uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1694,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1697,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1699,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1701,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1701,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1702,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1702,1
    - Dst: CWallet::LoadWalletFlags
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1705,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (m_wallet_flags == 0)
      pos:
        line_end: 1698
        line_start: 1698
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (((flags & KNOWN_WALLET_FLAGS) >> 32) == (flags >> 32))
      pos:
        line_end: 1696
        line_start: 1696
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (false)
      pos:
        line_end: 1704
        line_start: 1704
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1706
      start: 1692
    functionDepth: 2
    functionLinenumber: 1692
    functionLinenumberEnd: 1706
    functionName: CWallet::InitWalletFlags
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - WalletBatch
    - std::runtime_error
    - CWallet::LoadWalletFlags
    - std::string
    - LOCK
    - assert
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void CWallet::InitWalletFlags(uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1711
    functionName: CWallet::GetWalletFlags
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CWallet::GetWalletFlags() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - time
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1719
    functionName: CWallet::MaybeUpdateBirthTime
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void CWallet::MaybeUpdateBirthTime(int64_t time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1735,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1736,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1736,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1737,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1737,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1737,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1741,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1744,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1744,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - startTime
    - ' reserver'
    - update
    argTypes:
    - int64_t
    - WalletRescanReserver
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1749
    functionName: CWallet::RescanFromTime
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::ScanForWalletTransactions
    - CHECK_NONFATAL
    - FoundBlock
    - WITH_LOCK
    - chain
    - GetLastBlockHeight
    - WalletLogPrintf
    - uint256::uint256
    linkageType: ''
    returnType: int64_t
    signature: int64_t CWallet::RescanFromTime(int64_t startTime, const WalletRescanReserver&
      reserver, bool update)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1776,1
    - Dst: now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1777,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1779,1
    - Dst: isReserved
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1779,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1785,1
    - Dst: std::make_unique<FastWalletRescanFilter>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1785,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1787,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1787,1
    - Dst: ShowProgress
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1791,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1791,1
    - Dst: GetDisplayName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1791,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1791,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1792,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1792,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1794,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1794,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1795,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1796,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1799,1
    - Dst: ShowProgress
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1806,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1806,1
    - Dst: GetDisplayName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1806,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1806,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1806,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1806,1
    - Dst: now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1809,1
    - Dst: now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1811,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1812,1
    - Dst: std::unique_ptr::UpdateIfNeeded
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1817,1
    - Dst: std::unique_ptr::MatchesBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1818,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1819,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1821,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1821,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1828,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1828,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1836,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1837,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1837,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1837,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1841,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1842,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1842,1
    - Dst: CBlock::IsNull
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1844,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1845,1
    - Dst: CBlock::vtx::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1853,1
    - Dst: CWallet::SyncTransaction
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1854,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1854,1
    - Dst: getActiveChainLocator
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1861,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1863,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1864,1
    - Dst: WalletBatch::WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1866,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1882,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1882,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1896,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1900,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1900,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1903,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1908,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1909,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1909,1
    - Dst: ShowProgress
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1911,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1911,1
    - Dst: GetDisplayName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1911,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1911,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1913,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1915,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1916,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1919,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1919,1
    - Dst: now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1919,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 6
    argNames:
    - ' start_block'
    - start_height
    - max_height
    - ' reserver'
    - fUpdate
    - save_progress
    argTypes:
    - uint256
    - int
    - std::optional<int>
    - WalletRescanReserver
    - bool
    - bool
    assertStmts:
    - condition: (reserver.isReserved())
      pos:
        line_end: 1778
        line_start: 1778
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 1922
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1922
    functionName: CWallet::ScanForWalletTransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - GetLastBlockHash
    - CBlock::CBlock
    - GetLastBlockHeight
    - WalletBatch::WriteBestBlock
    - WalletLogPrintf
    - std::min
    - ToString
    - CBlock::vtx::size
    - CWallet::SyncTransaction
    - std::unique_ptr::UpdateIfNeeded
    - std::make_unique<FastWalletRescanFilter>
    - getActiveChainLocator
    - ShowProgress
    - GetDisplayName
    - std::unique_ptr::MatchesBlock
    - LogDebug
    - WITH_LOCK
    - uint256::ToString
    - static_cast<int>
    - strprintf
    - assert
    - uint256::uint256
    - CBlockLocator::IsNull
    - _
    - Ticks
    - auto::has_value
    - FoundBlock
    - isReserved
    - chain
    - std::max
    - LOCK
    - CBlock::IsNull
    - now
    linkageType: ''
    returnType: CWallet::ScanResult
    signature: CWallet::ScanResult CWallet::ScanForWalletTransactions(const uint256&
      start_block, int start_height, std::optional<int> max_height, const WalletRescanReserver&
      reserver, bool fUpdate, const bool save_progress)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1926,1
    - Dst: GetBroadcastTransactions
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1929,1
    - Dst: isAbandoned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1931,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1934,1
    - Dst: CWallet::GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1936,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1939,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1939,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1949,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' wtx'
    - ' err_string'
    - relay
    argTypes:
    - CWalletTx
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1924
    functionDepth: 1
    functionLinenumber: 1924
    functionLinenumberEnd: 1952
    functionName: CWallet::SubmitTxMemoryPoolAndRelay
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::GetTxDepthInMainChain
    - GetBroadcastTransactions
    - isAbandoned
    - GetHash
    - chain
    - IsCoinBase
    - AssertLockHeld
    - WalletLogPrintf
    linkageType: ''
    returnType: bool
    signature: bool CWallet::SubmitTxMemoryPoolAndRelay(CWalletTx& wtx, std::string&
      err_string, bool relay) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1956,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1958,1
    - Dst: GetConflicts
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1959,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1962
    functionName: CWallet::GetTxConflicts
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::set::erase
    - GetHash
    - AssertLockHeld
    - GetConflicts
    linkageType: ''
    returnType: std::set<Txid>
    signature: std::set<Txid> CWallet::GetTxConflicts(const CWalletTx& wtx) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1972,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1976,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1979
    functionName: CWallet::ShouldResend
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - NodeClock::now
    - chain
    linkageType: ''
    returnType: bool
    signature: bool CWallet::ShouldResend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_uniform_delay
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1981,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:1981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1981
    functionDepth: 1
    functionLinenumber: 1981
    functionLinenumberEnd: 1981
    functionName: CWallet::GetDefaultNextResend
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - NodeClock::now
    - rand_uniform_delay
    linkageType: ''
    returnType: NodeClock::time_point
    signature: NodeClock::time_point CWallet::GetDefaultNextResend()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2016,1
    - Dst: isUnconfirmed
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2023,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2028,1
    - Dst: CWallet::SubmitTxMemoryPoolAndRelay
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2033,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2038,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - relay
    - force
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2040
    functionName: CWallet::ResubmitWalletTransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - WalletLogPrintf
    - isUnconfirmed
    - LOCK
    - std::set::insert
    - CWallet::SubmitTxMemoryPoolAndRelay
    linkageType: ''
    returnType: void
    signature: void CWallet::ResubmitWalletTransactions(bool relay, bool force)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWallets
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2046,1
    - Dst: ShouldResend
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2047,1
    - Dst: ResubmitWalletTransactions
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2048,1
    - Dst: SetNextResend
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2051
    functionName: MaybeResendWalletTxs
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - ShouldResend
    - GetWallets
    - ResubmitWalletTransactions
    - SetNextResend
    linkageType: ''
    returnType: void
    signature: void MaybeResendWalletTxs(WalletContext& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2056,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2061,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2062,1
    - Dst: auto::second::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2062,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2066,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2066,1
    - Dst: Coin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2067,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2067,1
    - Dst: CWallet::SignTransaction
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' tx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2071
    functionName: CWallet::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - Coin
    - state
    - CWallet::SignTransaction
    - IsCoinBase
    - AssertLockHeld
    - find
    - auto::second::tx::vout::size
    linkageType: ''
    returnType: bool
    signature: bool CWallet::SignTransaction(CMutableTransaction& tx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2076,1
    - Dst: CWallet::SignTransaction
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' tx'
    - ' coins'
    - sighash
    - ' input_errors'
    argTypes:
    - CMutableTransaction
    - std::map<COutPoint, Coin>
    - int
    - std::map<int, bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2073
    functionDepth: 1
    functionLinenumber: 2073
    functionLinenumberEnd: 2086
    functionName: CWallet::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - CWallet::SignTransaction
    - CWallet::GetAllScriptPubKeyMans
    linkageType: ''
    returnType: bool
    signature: bool CWallet::SignTransaction(CMutableTransaction& tx, const std::map<COutPoint,
      Coin>& coins, int sighash, std::map<int, bilingual_str>& input_errors) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2093,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2095,1
    - Dst: inputs::at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2097,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2099,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2106,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2107,1
    - Dst: PrecomputePSBTData
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2116,1
    - Dst: CWallet::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2119,1
    - Dst: CWallet::FillPSBT
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2121,1
    - Dst: RemoveUnnecessaryTransactions
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2131,1
    - Dst: inputs::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2135,1
    - Dst: PSBTInputSignedAndVerified
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 7
    argNames:
    - ' psbtx'
    - ' complete'
    - sighash_type
    - sign
    - bip32derivs
    - n_signed
    - finalize
    argTypes:
    - PartiallySignedTransaction
    - bool
    - std::optional<int>
    - bool
    - bool
    - size_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2088
    functionDepth: 2
    functionLinenumber: 2088
    functionLinenumberEnd: 2140
    functionName: CWallet::FillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - tx::vin::size
    - PrecomputePSBTData
    - CWallet::GetAllScriptPubKeyMans
    - CWallet::FillPSBT
    - inputs::at
    - inputs::size
    - LOCK
    - PSBTInputSignedAndVerified
    - PSBTInputSigned
    - find
    - RemoveUnnecessaryTransactions
    linkageType: ''
    returnType: std::optional<PSBTError>
    signature: std::optional<PSBTError> CWallet::FillPSBT(PartiallySignedTransaction&
      psbtx, bool& complete, std::optional<int> sighash_type, bool sign, bool bip32derivs,
      size_t * n_signed, bool finalize) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2145,1
    - Dst: second::CanProvide
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2147,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2148,1
    - Dst: second::SignMessage
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' message'
    - ' pkhash'
    - ' str_sig'
    argTypes:
    - std::string
    - PKHash
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2142
    functionDepth: 1
    functionLinenumber: 2142
    functionLinenumberEnd: 2153
    functionName: CWallet::SignMessage
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - second::CanProvide
    - GetScriptForDestination
    - second::SignMessage
    linkageType: ''
    returnType: SigningResult
    signature: SigningResult CWallet::SignMessage(const std::string& message, const
      PKHash& pkhash, std::string& str_sig) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<WitnessV1Taproot>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2173,1
    - Dst: std::get_if<WitnessV0KeyHash>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2175,1
    - Dst: std::get_if<ScriptHash>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2177,1
    - Dst: std::get_if<PKHash>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2179,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - ' change_type'
    - ' vecSend'
    argTypes:
    - std::optional<OutputType>
    - std::vector<CRecipient>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2155
    functionDepth: 0
    functionLinenumber: 2155
    functionLinenumberEnd: 2214
    functionName: CWallet::TransactionChangeType
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<WitnessV0KeyHash>
    - std::get_if<PKHash>
    - std::get_if<ScriptHash>
    - std::get_if<WitnessV1Taproot>
    linkageType: ''
    returnType: OutputType
    signature: OutputType CWallet::TransactionChangeType(const std::optional<OutputType>&
      change_type, const std::vector<CRecipient>& vecSend) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2218,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2219,1
    - Dst: util::RemoveSuffixView
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2219,1
    - Dst: CTransactionRef::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2219,1
    - Dst: AddToWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2223,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2224,1
    - Dst: CWalletTx*::mapValue::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2224,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2225,1
    - Dst: CWalletTx*::vOrderForm::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2225,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2226,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2227,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2233,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2233,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2238,1
    - Dst: CWalletTx::MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2239,1
    - Dst: NotifyTransactionChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2240,1
    - Dst: CWalletTx::GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2240,1
    - Dst: CWallet::SubmitTxMemoryPoolAndRelay
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2249,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - tx
    - mapValue
    - orderForm
    argTypes:
    - CTransactionRef
    - mapValue_t
    - std::vector<std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2216
    functionDepth: 2
    functionLinenumber: 2216
    functionLinenumberEnd: 2253
    functionName: CWallet::CommitTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CTransactionRef::ToString
    - NotifyTransactionChanged
    - CWalletTx*::vOrderForm::empty
    - util::RemoveSuffixView
    - CWalletTx::MarkDirty
    - CWallet::SubmitTxMemoryPoolAndRelay
    - std::runtime_error
    - at
    - std::move
    - std::string
    - AddToWallet
    - LOCK
    - CWalletTx::GetHash
    - CWalletTx*::mapValue::empty
    - WalletLogPrintf
    - CHECK_NONFATAL
    linkageType: ''
    returnType: void
    signature: void CWallet::CommitTransaction(CTransactionRef tx, mapValue_t mapValue,
      std::vector<std::pair<std::string, std::string>> orderForm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2257,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2259,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2259,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2260,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2261,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2261,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2264,1
    - Dst: second::RewriteDB
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2267,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2272,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2273,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2273,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2274,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_external_spk_managers.empty())
      pos:
        line_end: 2272
        line_start: 2272
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (m_internal_spk_managers.empty())
      pos:
        line_end: 2273
        line_start: 2273
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 2278
      start: 2255
    functionDepth: 1
    functionLinenumber: 2255
    functionLinenumberEnd: 2278
    functionName: CWallet::LoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - empty
    - WalletBatch
    - LOCK
    - Assert
    - second::RewriteDB
    - assert
    - GetDatabase
    linkageType: ''
    returnType: DBErrors
    signature: DBErrors CWallet::LoadWallet()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2282,1
    - Dst: RunWithinTxn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2284,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2284,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2284,1
    - Dst: CWallet::RemoveTxs
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2285,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2286,1
    - Dst: util::Result::has_value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2287,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2289,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' txs_to_remove'
    argTypes:
    - std::vector<Txid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2280
    functionDepth: 1
    functionLinenumber: 2280
    functionLinenumberEnd: 2292
    functionName: CWallet::RemoveTxs
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - _
    - util::ErrorString
    - util::Result::has_value
    - EXCLUSIVE_LOCKS_REQUIRED
    - bilingual_str::empty
    - AssertLockHeld
    - CWallet::RemoveTxs
    - RunWithinTxn
    - GetDatabase
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> CWallet::RemoveTxs(std::vector<Txid>& txs_to_remove)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2296,1
    - Dst: HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2297,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2297,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2297,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2303,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2304,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2305,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2305,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2305,1
    - Dst: EraseTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2307,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2308,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2308,1
    - Dst: GetHex
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2308,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2310,1
    - Dst: RegisterTxnListener
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2314,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2314,1
    - Dst: for
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2316,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2318,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2320,1
    - Dst: second::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2321,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2322,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2322,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2322,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2324,1
    - Dst: NotifyTransactionChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' batch'
    - ' txs_to_remove'
    argTypes:
    - WalletBatch
    - std::vector<Txid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2294
    functionDepth: 1
    functionLinenumber: 2294
    functionLinenumberEnd: 2332
    functionName: CWallet::RemoveTxs
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - NotifyTransactionChanged
    - for
    - _
    - std::vector::emplace_back
    - erase
    - second::tx::vout::size
    - HasActiveTxn
    - COutPoint
    - transaction_identifier::FromUint256
    - EXCLUSIVE_LOCKS_REQUIRED
    - AssertLockHeld
    - strprintf
    - EraseTx
    - GetHex
    - find
    - RegisterTxnListener
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> CWallet::RemoveTxs(WalletBatch& batch, std::vector<Txid>&
      txs_to_remove)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2340,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2341,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2342,1
    - Dst: std::map<CTxDestination, CAddressBookData>::iterator::second::IsChange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2342,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2344,1
    - Dst: SetLabel
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2345,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2346,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2353,1
    - Dst: WritePurpose
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2354,1
    - Dst: PurposeToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2354,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2355,1
    - Dst: WriteName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2358,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2359,1
    - Dst: NotifyAddressBookChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2364,1
    - Dst: std::optional::value_or
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ' batch'
    - ' address'
    - ' strName'
    - ' new_purpose'
    argTypes:
    - WalletBatch
    - CTxDestination
    - std::string
    - std::optional<AddressPurpose>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2334
    functionDepth: 3
    functionLinenumber: 2334
    functionLinenumberEnd: 2368
    functionName: CWallet::SetAddressBookWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::map<CTxDestination, CAddressBookData>::iterator::second::IsChange
    - std::optional::value_or
    - EncodeDestination
    - SetLabel
    - CWallet::IsMine
    - LOCK
    - PurposeToString
    - NotifyAddressBookChanged
    - WritePurpose
    - WriteName
    - WalletLogPrintf
    - find
    linkageType: ''
    returnType: bool
    signature: bool CWallet::SetAddressBookWithDB(WalletBatch& batch, const CTxDestination&
      address, const std::string& strName, const std::optional<AddressPurpose>& new_purpose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::SetAddressBookWithDB
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' address'
    - ' strName'
    - ' purpose'
    argTypes:
    - CTxDestination
    - std::string
    - std::optional<AddressPurpose>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2370
    functionDepth: 4
    functionLinenumber: 2370
    functionLinenumberEnd: 2374
    functionName: CWallet::SetAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::SetAddressBookWithDB
    linkageType: ''
    returnType: bool
    signature: bool CWallet::SetAddressBook(const CTxDestination& address, const std::string&
      strName, const std::optional<AddressPurpose>& purpose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RunWithinTxn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2378,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2378,1
    - Dst: CWallet::DelAddressBookWithDB
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2381
    functionName: CWallet::DelAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - RunWithinTxn
    - GetDatabase
    - CWallet::DelAddressBookWithDB
    linkageType: ''
    returnType: bool
    signature: bool CWallet::DelAddressBook(const CTxDestination& address)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2385,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2387,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2391,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2392,1
    - Dst: EraseAddressData
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2396,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2397,1
    - Dst: ErasePurpose
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2402,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2403,1
    - Dst: EraseName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2408,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2409,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2414,1
    - Dst: NotifyAddressBookChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' batch'
    - ' address'
    argTypes:
    - WalletBatch
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2383
    functionDepth: 3
    functionLinenumber: 2383
    functionLinenumberEnd: 2420
    functionName: CWallet::DelAddressBookWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - EncodeDestination
    - erase
    - CWallet::IsMine
    - LOCK
    - NotifyAddressBookChanged
    - EraseAddressData
    - EraseName
    - ErasePurpose
    - WalletLogPrintf
    linkageType: ''
    returnType: bool
    signature: bool CWallet::DelAddressBookWithDB(WalletBatch& batch, const CTxDestination&
      address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2424,1
    - Dst: second::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2422
    functionDepth: 1
    functionLinenumber: 2422
    functionLinenumberEnd: 2432
    functionName: CWallet::KeypoolCountExternalKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - second::GetKeyPoolSize
    - AssertLockHeld
    linkageType: ''
    returnType: size_t
    signature: size_t CWallet::KeypoolCountExternalKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2436,1
    - Dst: CWallet::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2439,1
    - Dst: CWallet::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2434
    functionDepth: 1
    functionLinenumber: 2434
    functionLinenumberEnd: 2443
    functionName: CWallet::GetKeyPoolSize
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - CWallet::GetKeyPoolSize
    - CWallet::GetActiveScriptPubKeyMans
    - AssertLockHeld
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CWallet::GetKeyPoolSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2447,1
    - Dst: CWallet::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2449,1
    - Dst: TopUp
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - kpSize
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2445
    functionDepth: 1
    functionLinenumber: 2445
    functionLinenumberEnd: 2453
    functionName: CWallet::TopUpKeyPool
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CWallet::GetActiveScriptPubKeyMans
    - TopUp
    linkageType: ''
    returnType: bool
    signature: bool CWallet::TopUpKeyPool(unsigned int kpSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2457,1
    - Dst: CWallet::GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2458,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2460,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2460,1
    - Dst: FormatOutputType
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2460,1
    - Dst: auto::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2463,1
    - Dst: CWallet::SetAddressBook
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - type
    - label
    argTypes:
    - OutputType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2455
    functionDepth: 5
    functionLinenumber: 2455
    functionLinenumberEnd: 2469
    functionName: CWallet::GetNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - FormatOutputType
    - _
    - CWallet::GetScriptPubKeyMan
    - auto::GetNewDestination
    - LOCK
    - CWallet::SetAddressBook
    - strprintf
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> CWallet::GetNewDestination(const OutputType
      type, const std::string label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2473,1
    - Dst: ReserveDestination::GetReservedDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2476,1
    - Dst: ReserveDestination::KeepDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2471
    functionDepth: 1
    functionLinenumber: 2471
    functionLinenumberEnd: 2480
    functionName: CWallet::GetNewChangeDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - ReserveDestination::KeepDestination
    - ReserveDestination::GetReservedDestination
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> CWallet::GetNewChangeDestination(const
      OutputType type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2486,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2488,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2488,1
    - Dst: MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - ' destinations'
    argTypes:
    - std::set<CTxDestination>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2482
    functionDepth: 3
    functionLinenumber: 2482
    functionLinenumberEnd: 2494
    functionName: CWallet::MarkDestinationsDirty
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - MarkDirty
    - tx::vout::size
    - count
    - ExtractDestination
    linkageType: ''
    returnType: void
    signature: void CWallet::MarkDestinationsDirty(const std::set<CTxDestination>&
      destinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2498,1
    - Dst: func
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2501,1
    - Dst: GetLabel
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2501,1
    - Dst: IsChange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - ListAddrBookFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2496
    functionDepth: 1
    functionLinenumber: 2496
    functionLinenumberEnd: 2503
    functionName: CWallet::ForEachAddrBookEntry
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - func
    - IsChange
    - AssertLockHeld
    - GetLabel
    linkageType: ''
    returnType: void
    signature: void CWallet::ForEachAddrBookEntry(const ListAddrBookFunc& func) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2507,1
    - Dst: AddrBookFilter
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2509,1
    - Dst: CWallet::ForEachAddrBookEntry
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2510,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' _filter'
    argTypes:
    - std::optional<AddrBookFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2505
    functionDepth: 2
    functionLinenumber: 2505
    functionLinenumberEnd: 2519
    functionName: CWallet::ListAddrBookAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::ForEachAddrBookEntry
    - AddrBookFilter
    - std::vector::emplace_back
    - AssertLockHeld
    linkageType: ''
    returnType: std::vector<CTxDestination>
    signature: std::vector<CTxDestination> CWallet::ListAddrBookAddresses(const std::optional<AddrBookFilter>&
      _filter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2523,1
    - Dst: CWallet::ForEachAddrBookEntry
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2525,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - purpose
    argTypes:
    - std::optional<AddressPurpose>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2521
    functionDepth: 2
    functionLinenumber: 2521
    functionLinenumberEnd: 2533
    functionName: CWallet::ListAddrBookLabels
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::ForEachAddrBookEntry
    - std::set::insert
    - AssertLockHeld
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> CWallet::ListAddrBookLabels(const std::optional<AddressPurpose>
      purpose) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2537,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2539,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2539,1
    - Dst: FormatOutputType
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2539,1
    - Dst: ReserveDestination::GetReservedDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - internal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2535
    functionDepth: 1
    functionLinenumber: 2535
    functionLinenumberEnd: 2550
    functionName: ReserveDestination::GetReservedDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - FormatOutputType
    - _
    - ReserveDestination::GetReservedDestination
    - GetScriptPubKeyMan
    - strprintf
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> ReserveDestination::GetReservedDestination(bool
      internal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReserveDestination::KeepDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2555,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2552
    functionDepth: 1
    functionLinenumber: 2552
    functionLinenumberEnd: 2559
    functionName: ReserveDestination::KeepDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - CNoDestination
    - ReserveDestination::KeepDestination
    linkageType: ''
    returnType: void
    signature: void ReserveDestination::KeepDestination()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReserveDestination::ReturnDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2564,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2561
    functionDepth: 1
    functionLinenumber: 2561
    functionLinenumberEnd: 2568
    functionName: ReserveDestination::ReturnDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - ReserveDestination::ReturnDestination
    - CNoDestination
    linkageType: ''
    returnType: void
    signature: void ReserveDestination::ReturnDestination()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2572,1
    - Dst: CWallet::GetScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2573,1
    - Dst: dynamic_cast<ExternalSignerScriptPubKeyMan *>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2574,1
    - Dst: wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2578,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2579,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2579,1
    - Dst: auto::DisplayAddress
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2580,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2570
    functionDepth: 1
    functionLinenumber: 2570
    functionLinenumberEnd: 2583
    functionName: CWallet::DisplayAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - auto::DisplayAddress
    - _
    - GetScriptForDestination
    - util::ErrorString
    - std::runtime_error
    - wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
    - CWallet::GetScriptPubKeyMans
    - dynamic_cast<ExternalSignerScriptPubKeyMan *>
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> CWallet::DisplayAddress(const CTxDestination& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2587,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coin'
    - persistent
    argTypes:
    - COutPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 1
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: CWallet::LoadLockedCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CWallet::LoadLockedCoin(const COutPoint& coin, bool persistent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2593,1
    - Dst: CWallet::LoadLockedCoin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2594,1
    - Dst: WalletBatch::WriteLockedUTXO
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' output'
    - persist
    argTypes:
    - COutPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2591
    functionDepth: 2
    functionLinenumber: 2591
    functionLinenumberEnd: 2600
    functionName: CWallet::LockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::LoadLockedCoin
    - WalletBatch::WriteLockedUTXO
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool CWallet::LockCoin(const COutPoint& output, bool persist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2604,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2605,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2606,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2608,1
    - Dst: WalletBatch::EraseLockedUTXO
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2602
    functionDepth: 1
    functionLinenumber: 2602
    functionLinenumberEnd: 2615
    functionName: CWallet::UnlockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - WalletBatch::EraseLockedUTXO
    - AssertLockHeld
    - find
    linkageType: ''
    returnType: bool
    signature: bool CWallet::UnlockCoin(const COutPoint& output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2619,1
    - Dst: WalletBatch::EraseLockedUTXO
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2623,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2627
    functionName: CWallet::UnlockAllCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - clear
    - AssertLockHeld
    - WalletBatch::EraseLockedUTXO
    linkageType: ''
    returnType: bool
    signature: bool CWallet::UnlockAllCoins()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2631,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2629
    functionDepth: 1
    functionLinenumber: 2629
    functionLinenumberEnd: 2633
    functionName: CWallet::IsLockedCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - count
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsLockedCoin(const COutPoint& output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2637,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' vOutpts'
    argTypes:
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2635
    functionDepth: 1
    functionLinenumber: 2635
    functionLinenumberEnd: 2641
    functionName: CWallet::ListLockedCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CWallet::ListLockedCoins(std::vector<COutPoint>& vOutpts) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2669,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2671,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2679,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2679,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2689,1
    - Dst: rend
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2689,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2708,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2708,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2711,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2711,1
    - Dst: std::optional::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2711,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - ' wtx'
    - rescanning_old_block
    argTypes:
    - CWalletTx
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2666
    functionDepth: 0
    functionLinenumber: 2666
    functionLinenumberEnd: 2715
    functionName: CWallet::ComputeTimeSmart
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - rend
    - std::optional::ToString
    - WalletLogPrintf
    - FoundBlock
    - GetHash
    - chain
    - state
    - std::max
    - rbegin
    - std::min
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int CWallet::ComputeTimeSmart(const CWalletTx& wtx, bool rescanning_old_block)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<CNoDestination>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2719,1
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2723,1
    - Dst: WriteAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2724,1
    - Dst: CWallet::LoadAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2727,1
    - Dst: WriteAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' batch'
    - ' dest'
    - used
    argTypes:
    - WalletBatch
    - CTxDestination
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2717
    functionDepth: 2
    functionLinenumber: 2717
    functionLinenumberEnd: 2729
    functionName: CWallet::SetAddressPreviouslySpent
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<CNoDestination>
    - WriteAddressPreviouslySpent
    - CWallet::LoadAddressPreviouslySpent
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: bool CWallet::SetAddressPreviouslySpent(WalletBatch& batch, const CTxDestination&
      dest, bool used)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2734
    functionName: CWallet::LoadAddressPreviouslySpent
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CWallet::LoadAddressPreviouslySpent(const CTxDestination& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' dest'
    - ' id'
    - ' request'
    argTypes:
    - CTxDestination
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2739
    functionName: CWallet::LoadAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CWallet::LoadAddressReceiveRequest(const CTxDestination& dest,
      const std::string& id, const std::string& request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: common::FindKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2741
    functionDepth: 2
    functionLinenumber: 2741
    functionLinenumberEnd: 2745
    functionName: CWallet::IsAddressPreviouslySpent
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - common::FindKey
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsAddressPreviouslySpent(const CTxDestination& dest)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2756
    functionName: CWallet::GetAddressReceiveRequests
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> CWallet::GetAddressReceiveRequests() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' batch'
    - ' dest'
    - ' id'
    - ' value'
    argTypes:
    - WalletBatch
    - CTxDestination
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2763
    functionName: CWallet::SetAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - WriteAddressReceiveRequest
    linkageType: ''
    returnType: bool
    signature: bool CWallet::SetAddressReceiveRequest(WalletBatch& batch, const CTxDestination&
      dest, const std::string& id, const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::EraseAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2767,1
    - Dst: receive_requests::erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' batch'
    - ' dest'
    - ' id'
    argTypes:
    - WalletBatch
    - CTxDestination
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2765
    functionDepth: 1
    functionLinenumber: 2765
    functionLinenumberEnd: 2770
    functionName: CWallet::EraseAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - CWallet::EraseAddressReceiveRequest
    - receive_requests::erase
    linkageType: ''
    returnType: bool
    signature: bool CWallet::EraseAddressReceiveRequest(WalletBatch& batch, const
      CTxDestination& dest, const std::string& id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2780,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2780,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2780,1
    - Dst: fs::symlink_status
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2781,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2783,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2784,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2784,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2785,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2785,1
    - Dst: fs::quoted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2789,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2789,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2772
    functionDepth: 1
    functionLinenumber: 2772
    functionLinenumberEnd: 2792
    functionName: GetWalletPath
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - GetWalletDir
    - fs::PathFromString
    - fs::quoted
    - fsbridge::AbsPathJoin
    - fs::is_directory
    - fs::symlink_status
    - strprintf
    - Untranslated
    - fs::PathToString
    linkageType: ''
    returnType: util::Result<fs::path>
    signature: util::Result<fs::path> GetWalletPath(const std::string& name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWalletPath
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2796,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2798,1
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' name'
    - ' options'
    - ' status'
    - ' error_string'
    argTypes:
    - std::string
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2794
    functionDepth: 2
    functionLinenumber: 2794
    functionLinenumberEnd: 2803
    functionName: MakeWalletDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 6
    functionsReached:
    - util::ErrorString
    - MakeDatabase
    - GetWalletPath
    linkageType: ''
    returnType: std::unique_ptr<WalletDatabase>
    signature: std::unique_ptr<WalletDatabase> MakeWalletDatabase(const std::string&
      name, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str&
      error_string)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2808,1
    - Dst: std::unique_ptr<WalletDatabase>::Filename
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2809,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2811,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2814,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2814,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2815,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2815,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2816,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2820,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2823,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2823,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2828,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2828,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2828,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2833,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2833,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2837,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2837,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2842,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2842,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2845,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2845,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2845,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2849,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2849,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2854,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2854,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2858,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2858,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2861,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2861,1
    - Dst: std::shared_ptr::m_spk_managers::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2867,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2868,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2869,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2872,1
    - Dst: std::shared_ptr::SetMinVersion
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2875,1
    - Dst: std::shared_ptr::InitWalletFlags
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2879,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2882,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2882,1
    - Dst: std::shared_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2885,1
    - Dst: interfaces::Chain*::getHeight
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2889,1
    - Dst: std::shared_ptr::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2891,1
    - Dst: interfaces::Chain*::getBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2891,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2896,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2896,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2898,1
    - Dst: std::shared_ptr::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2899,1
    - Dst: HavePrivateKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2900,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2901,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2901,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2901,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2907,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2908,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2908,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2910,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2910,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2910,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2913,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2916,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2917,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2917,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2919,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2919,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2919,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2922,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2925,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2926,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2928,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2930,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2931,1
    - Dst: AmountHighWarn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2931,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2931,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2932,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2935,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2938,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2942,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2943,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2944,1
    - Dst: AmountHighWarn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2944,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2944,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2945,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2947,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2949,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2954,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2955,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2957,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2957,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2959,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2960,1
    - Dst: AmountHighWarn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2960,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2960,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2961,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2963,1
    - Dst: std::shared_ptr::m_fallback_fee::GetFeePerK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2967,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2969,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2970,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2972,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2972,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2974,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2975,1
    - Dst: AmountHighWarn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2975,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2975,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2976,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2978,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2981,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2982,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2982,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2984,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2986,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2988,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2989,1
    - Dst: AmountHighWarn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2989,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2989,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2990,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2993,1
    - Dst: interfaces::Chain*::relayMinFee
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2995,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2996,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2996,1
    - Dst: interfaces::Chain*::relayMinFee
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:2997,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3002,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3003,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3005,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3007,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3008,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3008,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3008,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3011,1
    - Dst: interfaces::Chain*::relayMinFee
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3011,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3012,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3012,1
    - Dst: interfaces::Chain*::relayMinFee
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3013,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3017,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3020,1
    - Dst: ParseMoney
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3021,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3022,1
    - Dst: AmountErrMsg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3024,1
    - Dst: interfaces::Chain*::relayMinFee
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3029,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3030,1
    - Dst: AmountHighWarn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3030,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3030,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3031,1
    - Dst: GetIntArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3034,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3035,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3036,1
    - Dst: std::shared_ptr::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3038,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3038,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3038,1
    - Dst: std::shared_ptr::TopUpKeyPool
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3041,1
    - Dst: std::shared_ptr::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3045,1
    - Dst: GetTimeFirstKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3046,1
    - Dst: std::shared_ptr::MaybeUpdateBirthTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3049,1
    - Dst: CWallet::AttachChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3051,1
    - Dst: std::shared_ptr::m_chain_notifications_handler::reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3052,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3057,1
    - Dst: std::shared_ptr::SetBroadcastTransactions
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3058,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3058,1
    - Dst: std::shared_ptr::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3059,1
    - Dst: std::shared_ptr::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3059,1
    - Dst: std::shared_ptr::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3060,1
    - Dst: std::shared_ptr::mapWallet::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3060,1
    - Dst: std::shared_ptr::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3061,1
    - Dst: std::shared_ptr::m_address_book::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3061,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 188
    argCount: 6
    argNames:
    - ' context'
    - ' name'
    - database
    - wallet_creation_flags
    - ' error'
    - ' warnings'
    argTypes:
    - WalletContext
    - std::string
    - std::unique_ptr<WalletDatabase>
    - uint64_t
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts:
    - condition: (walletInstance->IsWalletFlagSet(WALLET_FLAG_DESCRIPTORS))
      pos:
        line_end: 2881
        line_start: 2881
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 3065
      start: 2805
    functionDepth: 2
    functionLinenumber: 2805
    functionLinenumberEnd: 3065
    functionName: CWallet::Create
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 6
    functionsReached:
    - std::shared_ptr::GetActiveScriptPubKeyMans
    - HavePrivateKeys
    - std::shared_ptr::m_chain_notifications_handler::reset
    - GetArg
    - CFeeRate
    - std::move
    - CWallet::AttachChain
    - std::unique_ptr<WalletDatabase>::Filename
    - std::shared_ptr::WalletLogPrintf
    - std::shared_ptr::SetLastBlockProcessed
    - std::shared_ptr::IsWalletFlagSet
    - std::shared_ptr::SetBroadcastTransactions
    - AmountHighWarn
    - Untranslated
    - interfaces::Chain*::getBlockHash
    - std::shared_ptr::m_address_book::size
    - std::shared_ptr::GetAllScriptPubKeyMans
    - AmountErrMsg
    - ParseOutputType
    - std::shared_ptr::TopUpKeyPool
    - std::shared_ptr::GetKeyPoolSize
    - std::shared_ptr::InitWalletFlags
    - Assert
    - strprintf
    - interfaces::Chain*::relayMinFee
    - assert
    - MockableSteadyClock::now
    - ParseMoney
    - std::shared_ptr::mapWallet::size
    - _
    - Ticks
    - std::shared_ptr::LoadWallet
    - std::shared_ptr::m_fallback_fee::GetFeePerK
    - push_back
    - interfaces::Chain*::getHeight
    - GetIntArg
    - std::shared_ptr::m_spk_managers::empty
    - GetTimeFirstKey
    - std::max
    - LOCK
    - std::optional::value
    - std::shared_ptr::SetupDescriptorScriptPubKeyMans
    - GetBoolArg
    - std::shared_ptr::SetMinVersion
    - std::shared_ptr::MaybeUpdateBirthTime
    - CWallet::CWallet
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> CWallet::Create(WalletContext& context, const
      std::string& name, std::unique_ptr<WalletDatabase> database, uint64_t wallet_creation_flags,
      bilingual_str& error, std::vector<bilingual_str>& warnings)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3069,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3071,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3075,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3076,1
    - Dst: WalletBatch::ReadBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3078,1
    - Dst: CBlockLocator::vHave::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3078,1
    - Dst: getHeight
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3078,1
    - Dst: getBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3081,1
    - Dst: CBlockLocator::vHave::back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3081,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3082,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3094,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3100,1
    - Dst: WalletBatch::ReadBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3102,1
    - Dst: findLocatorFork
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3103,1
    - Dst: getHeight
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3109,1
    - Dst: SetLastBlockProcessedInMem
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3111,1
    - Dst: getBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3111,1
    - Dst: SetLastBlockProcessedInMem
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3113,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3113,1
    - Dst: m_birth_time::load
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3120,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3122,1
    - Dst: findFirstBlockWithTimeAndHeight
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3123,1
    - Dst: havePruned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3135,1
    - Dst: hasAssumedValidChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3135,1
    - Dst: haveBlockOnDisk
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3137,1
    - Dst: havePruned
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3151,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3152,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3153,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3153,1
    - Dst: initMessage
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3163,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3163,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3164,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3168,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3169,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3172,1
    - Dst: getBlockHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3172,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3174,1
    - Dst: SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3180,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 5
    argNames:
    - ' walletInstance'
    - ' chain'
    - rescan_required
    - ' error'
    - ' warnings'
    argTypes:
    - std::shared_ptr<CWallet>
    - interfaces::Chain
    - bool
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts:
    - condition: (!walletInstance->m_chain || walletInstance->m_chain == &chain)
      pos:
        line_end: 3070
        line_start: 3070
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 3185
      start: 3067
    functionDepth: 2
    functionLinenumber: 3067
    functionLinenumberEnd: 3185
    functionName: CWallet::AttachChain
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - hasAssumedValidChain
    - havePruned
    - getHeight
    - WalletLogPrintf
    - CBlockLocator::vHave::back
    - findFirstBlockWithTimeAndHeight
    - CBlockLocator::vHave::size
    - findLocatorFork
    - Untranslated
    - GetDatabase
    - WalletBatch::ReadBestBlock
    - getBlockHash
    - uint256
    - initMessage
    - WalletRescanReserver::reserve
    - m_birth_time::load
    - SetLastBlockProcessedInMem
    - haveBlockOnDisk
    - strprintf
    - CWallet::ScanForWalletTransactions
    - assert
    - _
    - SetLastBlockProcessed
    - FoundBlock
    - chain
    - LOCK
    - GetBoolArg
    linkageType: ''
    returnType: bool
    signature: bool CWallet::AttachChain(const std::shared_ptr<CWallet>& walletInstance,
      interfaces::Chain& chain, const bool rescan_required, bilingual_str& error,
      std::vector<bilingual_str>& warnings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3189,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3190,1
    - Dst: second::IsChange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' dest'
    - allow_change
    argTypes:
    - CTxDestination
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3195
      start: 3187
    functionDepth: 1
    functionLinenumber: 3187
    functionLinenumberEnd: 3195
    functionName: CWallet::FindAddressBookEntry
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - second::IsChange
    - find
    linkageType: ''
    returnType: CAddressBookData
    signature: CAddressBookData * CWallet::FindAddressBookEntry(const CTxDestination&
      dest, bool allow_change) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::ResubmitWalletTransactions
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3201,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3204,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3197
    functionDepth: 3
    functionLinenumber: 3197
    functionLinenumberEnd: 3205
    functionName: CWallet::postInitProcess
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - WITH_LOCK
    - chain
    - CWallet::ResubmitWalletTransactions
    linkageType: ''
    returnType: void
    signature: void CWallet::postInitProcess()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3209,1
    - Dst: CWallet::WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3209,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' strDest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3207
    functionDepth: 1
    functionLinenumber: 3207
    functionLinenumberEnd: 3211
    functionName: CWallet::BackupWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::WriteBestBlock
    - WITH_LOCK
    - GetDatabase
    linkageType: ''
    returnType: bool
    signature: bool CWallet::BackupWallet(const std::string& strDest) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3215,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3216,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3217,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3218,1
    - Dst: state
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3219,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3220,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - CWalletTx
    assertStmts:
    - condition: (conf->confirmed_block_height >= 0)
      pos:
        line_end: 3216
        line_start: 3216
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (conf->conflicting_block_height >= 0)
      pos:
        line_end: 3219
        line_start: 3219
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 3225
      start: 3213
    functionDepth: 1
    functionLinenumber: 3213
    functionLinenumberEnd: 3225
    functionName: CWallet::GetTxDepthInMainChain
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - assert
    - GetLastBlockHeight
    - AssertLockHeld
    - state
    linkageType: ''
    returnType: int
    signature: int CWallet::GetTxDepthInMainChain(const CWalletTx& wtx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3229,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3231,1
    - Dst: CWallet::GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3234,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3235,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - CWalletTx
    assertStmts:
    - condition: (chain_depth >= 0)
      pos:
        line_end: 3234
        line_start: 3234
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 3237
      start: 3227
    functionDepth: 2
    functionLinenumber: 3227
    functionLinenumberEnd: 3237
    functionName: CWallet::GetTxBlocksToMaturity
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::GetTxDepthInMainChain
    - std::max
    - IsCoinBase
    - AssertLockHeld
    - assert
    linkageType: ''
    returnType: int
    signature: int CWallet::GetTxBlocksToMaturity(const CWalletTx& wtx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3241,1
    - Dst: CWallet::GetTxBlocksToMaturity
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3245
      start: 3239
    functionDepth: 3
    functionLinenumber: 3239
    functionLinenumberEnd: 3245
    functionName: CWallet::IsTxImmatureCoinBase
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::GetTxBlocksToMaturity
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsTxImmatureCoinBase(const CWalletTx& wtx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3247
    functionDepth: 1
    functionLinenumber: 3247
    functionLinenumberEnd: 3250
    functionName: CWallet::IsCrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::HasEncryptionKeys
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsCrypted() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::IsCrypted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3254,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3257,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3252
    functionDepth: 2
    functionLinenumber: 3252
    functionLinenumberEnd: 3259
    functionName: CWallet::IsLocked
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - empty
    - CWallet::IsCrypted
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsLocked() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::IsCrypted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3263,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3267,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3268,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3269,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3269,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3269,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3270,1
    - Dst: NotifyStatusChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3261
    functionDepth: 2
    functionLinenumber: 3261
    functionLinenumberEnd: 3276
    functionName: CWallet::Lock
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - memory_cleanse
    - empty
    - LOCK2
    - size
    - data
    - clear
    - CWallet::IsCrypted
    - NotifyStatusChanged
    linkageType: ''
    returnType: bool
    signature: bool CWallet::Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3281,1
    - Dst: second::CheckDecryptionKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3283,1
    - Dst: NotifyStatusChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' vMasterKeyIn'
    argTypes:
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3278
    functionDepth: 1
    functionLinenumber: 3278
    functionLinenumberEnd: 3291
    functionName: CWallet::Unlock
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 6
    functionsReached:
    - LOCK
    - second::CheckDecryptionKey
    - NotifyStatusChanged
    linkageType: ''
    returnType: bool
    signature: bool CWallet::Unlock(const CKeyingMaterial& vMasterKeyIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3298,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3305
      start: 3293
    functionDepth: 1
    functionLinenumber: 3293
    functionLinenumberEnd: 3305
    functionName: CWallet::GetActiveScriptPubKeyMans
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - CWallet::GetScriptPubKeyMan
    - std::set::insert
    linkageType: ''
    returnType: std::set<ScriptPubKeyMan*>
    signature: std::set<ScriptPubKeyMan*> CWallet::GetActiveScriptPubKeyMans() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' spkm'
    argTypes:
    - ScriptPubKeyMan
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3307
    functionDepth: 0
    functionLinenumber: 3307
    functionLinenumberEnd: 3316
    functionName: CWallet::IsActiveScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CWallet::IsActiveScriptPubKeyMan(const ScriptPubKeyMan& spkm)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3322,1
    - Dst: second::get
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3318
    functionDepth: 0
    functionLinenumber: 3318
    functionLinenumberEnd: 3325
    functionName: CWallet::GetAllScriptPubKeyMans
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - second::get
    - std::set::insert
    linkageType: ''
    returnType: std::set<ScriptPubKeyMan*>
    signature: std::set<ScriptPubKeyMan*> CWallet::GetAllScriptPubKeyMans() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3330,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' type'
    - internal
    argTypes:
    - OutputType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3335
      start: 3327
    functionDepth: 1
    functionLinenumber: 3327
    functionLinenumberEnd: 3335
    functionName: CWallet::GetScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: ScriptPubKeyMan
    signature: ScriptPubKeyMan * CWallet::GetScriptPubKeyMan(const OutputType& type,
      bool internal) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3342,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3343,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3344,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3344,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3344,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3347,1
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3347,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3347,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3347,1
    - Dst: CanProvide
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3337
    functionDepth: 1
    functionLinenumber: 3337
    functionLinenumberEnd: 3350
    functionName: CWallet::GetScriptPubKeyMans
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - Assume
    - std::set::begin
    - std::all_of
    - std::set::end
    - std::set::insert
    - CanProvide
    - second::begin
    - find
    - second::end
    linkageType: ''
    returnType: std::set<ScriptPubKeyMan*>
    signature: std::set<ScriptPubKeyMan*> CWallet::GetScriptPubKeyMans(const CScript&
      script) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3354,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3358
    functionName: CWallet::GetScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - at
    - count
    linkageType: ''
    returnType: ScriptPubKeyMan
    signature: ScriptPubKeyMan * CWallet::GetScriptPubKeyMan(const uint256& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3364
      start: 3360
    functionDepth: 1
    functionLinenumber: 3360
    functionLinenumberEnd: 3364
    functionName: CWallet::GetSolvingProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - CWallet::GetSolvingProvider
    linkageType: ''
    returnType: std::unique_ptr<SigningProvider>
    signature: std::unique_ptr<SigningProvider> CWallet::GetSolvingProvider(const
      CScript& script) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3369,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3370,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3372,1
    - Dst: second::at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3372,1
    - Dst: second::at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' script'
    - ' sigdata'
    argTypes:
    - CScript
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 3366
    functionDepth: 1
    functionLinenumber: 3366
    functionLinenumberEnd: 3377
    functionName: CWallet::GetSolvingProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - second::at
    - find
    - Assume
    linkageType: ''
    returnType: std::unique_ptr<SigningProvider>
    signature: std::unique_ptr<SigningProvider> CWallet::GetSolvingProvider(const
      CScript& script, SignatureData& sigdata) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3382,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3383,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3384,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3385,1
    - Dst: auto::GetWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3379
    functionDepth: 2
    functionLinenumber: 3379
    functionLinenumberEnd: 3389
    functionName: CWallet::GetWalletDescriptors
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - std::vector::push_back
    - LOCK
    - CWallet::GetScriptPubKeyMans
    - auto::GetWalletDescriptor
    linkageType: ''
    returnType: std::vector<WalletDescriptor>
    signature: std::vector<WalletDescriptor> CWallet::GetWalletDescriptors(const CScript&
      script) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3393,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3396,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3397,1
    - Dst: dynamic_cast<LegacyDataSPKM*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3391
    functionDepth: 1
    functionLinenumber: 3391
    functionLinenumberEnd: 3399
    functionName: CWallet::GetLegacyDataSPKM
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - dynamic_cast<LegacyDataSPKM*>
    - find
    - CWallet::IsWalletFlagSet
    linkageType: ''
    returnType: LegacyDataSPKM
    signature: LegacyDataSPKM * CWallet::GetLegacyDataSPKM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3405,1
    - Dst: CWallet::MaybeUpdateBirthTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3408,1
    - Dst: GetTimeFirstKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - spkm_man
    argTypes:
    - uint256
    - std::unique_ptr<ScriptPubKeyMan>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3401
    functionDepth: 1
    functionLinenumber: 3401
    functionLinenumberEnd: 3409
    functionName: CWallet::AddScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::MaybeUpdateBirthTime
    - GetTimeFirstKey
    - std::move
    linkageType: ''
    returnType: void
    signature: void CWallet::AddScriptPubKeyMan(const uint256& id, std::unique_ptr<ScriptPubKeyMan>
      spkm_man)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::SetupLegacyScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3413,1
    - Dst: CWallet::GetLegacyDataSPKM
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3411
    functionDepth: 2
    functionLinenumber: 3411
    functionLinenumberEnd: 3415
    functionName: CWallet::GetOrCreateLegacyDataSPKM
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::SetupLegacyScriptPubKeyMan
    - CWallet::GetLegacyDataSPKM
    linkageType: ''
    returnType: LegacyDataSPKM
    signature: LegacyDataSPKM * CWallet::GetOrCreateLegacyDataSPKM()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3419,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3419,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3419,1
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3419,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3423,1
    - Dst: Format
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3423,1
    - Dst: Format
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3423,1
    - Dst: std::make_unique<LegacyDataSPKM>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3424,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3427,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3428,1
    - Dst: std::unique_ptr::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3430,1
    - Dst: CWallet::AddScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3431,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3417
    functionDepth: 2
    functionLinenumber: 3417
    functionLinenumberEnd: 3432
    functionName: CWallet::SetupLegacyScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::GetID
    - empty
    - CWallet::AddScriptPubKeyMan
    - std::make_unique<LegacyDataSPKM>
    - CWallet::IsWalletFlagSet
    - std::move
    - Assert
    - Format
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void CWallet::SetupLegacyScriptPubKeyMan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3436,1
    - Dst: cb
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - std::function<bool (const CKeyingMaterial&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3434
    functionDepth: 1
    functionLinenumber: 3434
    functionLinenumberEnd: 3438
    functionName: CWallet::WithEncryptionKey
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - cb
    linkageType: ''
    returnType: bool
    signature: bool CWallet::WithEncryptionKey(std::function<bool (const CKeyingMaterial&)>
      cb) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3443
    functionName: CWallet::HasEncryptionKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool CWallet::HasEncryptionKeys() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3447,1
    - Dst: CWallet::HaveCryptedKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3445
    functionDepth: 1
    functionLinenumber: 3445
    functionLinenumberEnd: 3451
    functionName: CWallet::HaveCryptedKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - CWallet::HaveCryptedKeys
    - CWallet::GetAllScriptPubKeyMans
    linkageType: ''
    returnType: bool
    signature: bool CWallet::HaveCryptedKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3455,1
    - Dst: NotifyCanGetAddressesChanged::connect
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3456,1
    - Dst: NotifyFirstKeyTimeChanged::connect
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3457,1
    - Dst: std::bind
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3459
      start: 3453
    functionDepth: 2
    functionLinenumber: 3453
    functionLinenumberEnd: 3459
    functionName: CWallet::ConnectScriptPubKeyManNotifiers
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - NotifyCanGetAddressesChanged::connect
    - CWallet::GetActiveScriptPubKeyMans
    - NotifyFirstKeyTimeChanged::connect
    - std::bind
    linkageType: ''
    returnType: void
    signature: void CWallet::ConnectScriptPubKeyManNotifiers()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3464,1
    - Dst: ExternalSignerScriptPubKeyMan::ExternalSignerScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3465,1
    - Dst: DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3467,1
    - Dst: AddScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3469,1
    - Dst: std::unique_ptr<ScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - id
    - ' desc'
    argTypes:
    - uint256
    - WalletDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3471
      start: 3461
    functionDepth: 0
    functionLinenumber: 3461
    functionLinenumberEnd: 3471
    functionName: '& CWallet::LoadDescriptorScriptPubKeyMan(uint256 id, WalletDescriptor&
      desc)'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
    - AddScriptPubKeyMan
    - ExternalSignerScriptPubKeyMan::ExternalSignerScriptPubKeyMan
    - IsWalletFlagSet
    - std::unique_ptr<ScriptPubKeyMan>
    linkageType: ''
    returnType: DescriptorScriptPubKeyMan
    signature: DescriptorScriptPubKeyMan & CWallet::LoadDescriptorScriptPubKeyMan(uint256
      id, WalletDescriptor& desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3475,1
    - Dst: std::unique_ptr<DescriptorScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3476,1
    - Dst: DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3476,1
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3477,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3478,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3479,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3479,1
    - Dst: auto::CheckDecryptionKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3481,1
    - Dst: auto::Encrypt
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3481,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3482,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3482,1
    - Dst: auto::SetupDescriptorGeneration
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3485,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3486,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3487,1
    - Dst: AddScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3488,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3488,1
    - Dst: AddActiveScriptPubKeyManWithDb
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' batch'
    - ' master_key'
    - ' output_type'
    - internal
    argTypes:
    - WalletBatch
    - CExtKey
    - OutputType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3473
    functionDepth: 1
    functionLinenumber: 3473
    functionLinenumberEnd: 3491
    functionName: '& CWallet::SetupDescriptorScriptPubKeyMan(WalletBatch& batch, const
      CExtKey& master_key, const OutputType& output_type, bool internal)'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - std::unique_ptr<DescriptorScriptPubKeyMan>
    - DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
    - std::runtime_error
    - auto::Encrypt
    - AddScriptPubKeyMan
    - std::move
    - std::string
    - auto::SetupDescriptorGeneration
    - IsCrypted
    - AddActiveScriptPubKeyManWithDb
    - AssertLockHeld
    - IsLocked
    - auto::GetID
    - auto::CheckDecryptionKey
    linkageType: ''
    returnType: DescriptorScriptPubKeyMan
    signature: DescriptorScriptPubKeyMan & CWallet::SetupDescriptorScriptPubKeyMan(WalletBatch&
      batch, const CExtKey& master_key, const OutputType& output_type, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3495,1
    - Dst: SetupDescriptorScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' batch'
    - ' master_key'
    argTypes:
    - WalletBatch
    - CExtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3493
    functionDepth: 1
    functionLinenumber: 3493
    functionLinenumberEnd: 3501
    functionName: CWallet::SetupDescriptorScriptPubKeyMans
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 4
    functionsReached:
    - AssertLockHeld
    - SetupDescriptorScriptPubKeyMan
    linkageType: ''
    returnType: void
    signature: void CWallet::SetupDescriptorScriptPubKeyMans(WalletBatch& batch, const
      CExtKey& master_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3505,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3506,1
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3506,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3508,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3509,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3510,1
    - Dst: CKey::VerifyPubKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3510,1
    - Dst: CExtKey::SetSeed
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3514,1
    - Dst: CWallet::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' batch'
    argTypes:
    - WalletBatch
    assertStmts:
    - condition: (!IsWalletFlagSet(WALLET_FLAG_EXTERNAL_SIGNER))
      pos:
        line_end: 3505
        line_start: 3505
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (seed_key.VerifyPubKey(seed))
      pos:
        line_end: 3509
        line_start: 3509
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 3517
      start: 3503
    functionDepth: 4
    functionLinenumber: 3503
    functionLinenumberEnd: 3517
    functionName: CWallet::SetupOwnDescriptorScriptPubKeyMans
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::SetupDescriptorScriptPubKeyMans
    - GenerateRandomKey
    - CWallet::IsWalletFlagSet
    - CExtKey::SetSeed
    - CKey::VerifyPubKey
    - AssertLockHeld
    - CKey::GetPubKey
    - assert
    linkageType: ''
    returnType: void
    signature: void CWallet::SetupOwnDescriptorScriptPubKeyMans(WalletBatch& batch)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3521,1
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3523,1
    - Dst: RunWithinTxn
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3524,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3524,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3524,1
    - Dst: CWallet::SetupOwnDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3525,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3527,1
    - Dst: wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3529,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3530,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3530,1
    - Dst: auto::GetDescriptors
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3534,1
    - Dst: UniValue::isObject
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3536,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3536,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3536,1
    - Dst: WalletBatch::TxnBegin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3539,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3539,1
    - Dst: UniValue::find_value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3542,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3543,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3543,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3543,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3544,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3545,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3548,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3549,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3550,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3550,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3552,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3553,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3556,1
    - Dst: std::unique_ptr<ExternalSignerScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3557,1
    - Dst: ExternalSignerScriptPubKeyMan::ExternalSignerScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3557,1
    - Dst: auto::SetupDescriptor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3558,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3558,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3559,1
    - Dst: CWallet::AddScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3560,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3560,1
    - Dst: CWallet::AddActiveScriptPubKeyManWithDb
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3561,1
    - Dst: WalletBatch::TxnCommit
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3566,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3566,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3568
      start: 3519
    functionDepth: 5
    functionLinenumber: 3519
    functionLinenumberEnd: 3568
    functionName: CWallet::SetupDescriptorScriptPubKeyMans
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 5
    functionsReached:
    - getValStr
    - auto::GetDescriptors
    - std::move
    - std::string
    - auto::SetupDescriptor
    - get_array
    - WalletBatch::TxnCommit
    - auto::at
    - std::unique_ptr<ExternalSignerScriptPubKeyMan>
    - util::ErrorString
    - std::runtime_error
    - GetOutputType
    - AssertLockHeld
    - GetDatabase
    - CWallet::AddActiveScriptPubKeyManWithDb
    - wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
    - Parse
    - CWallet::SetupOwnDescriptorScriptPubKeyMans
    - auto::empty
    - auto::GetID
    - ExternalSignerScriptPubKeyMan::ExternalSignerScriptPubKeyMan
    - isArray
    - CWallet::AddScriptPubKeyMan
    - CWallet::IsWalletFlagSet
    - WalletBatch::TxnBegin
    - EXCLUSIVE_LOCKS_REQUIRED
    - UniValue::find_value
    - RunWithinTxn
    - UniValue::isObject
    linkageType: ''
    returnType: void
    signature: void CWallet::SetupDescriptorScriptPubKeyMans()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::AddActiveScriptPubKeyManWithDb
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id
    - type
    - internal
    argTypes:
    - uint256
    - OutputType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3574
      start: 3570
    functionDepth: 1
    functionLinenumber: 3570
    functionLinenumberEnd: 3574
    functionName: CWallet::AddActiveScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::AddActiveScriptPubKeyManWithDb
    linkageType: ''
    returnType: void
    signature: void CWallet::AddActiveScriptPubKeyMan(uint256 id, OutputType type,
      bool internal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteActiveScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3578,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3578,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3579,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3579,1
    - Dst: CWallet::LoadActiveScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' batch'
    - id
    - type
    - internal
    argTypes:
    - WalletBatch
    - uint256
    - OutputType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3576
    functionDepth: 1
    functionLinenumber: 3576
    functionLinenumberEnd: 3582
    functionName: CWallet::AddActiveScriptPubKeyManWithDb
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    - std::runtime_error
    - std::string
    - WriteActiveScriptPubKeyMan
    - CWallet::LoadActiveScriptPubKeyMan
    linkageType: ''
    returnType: void
    signature: void CWallet::AddActiveScriptPubKeyManWithDb(WalletBatch& batch, uint256
      id, OutputType type, bool internal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3588,1
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3588,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3590,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3590,1
    - Dst: FormatOutputType
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3590,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3593,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3596,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3597,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3598,1
    - Dst: NotifyCanGetAddressesChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - id
    - type
    - internal
    argTypes:
    - uint256
    - OutputType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3602
      start: 3584
    functionDepth: 1
    functionLinenumber: 3584
    functionLinenumberEnd: 3602
    functionName: CWallet::LoadActiveScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - FormatOutputType
    - erase
    - at
    - uint256::ToString
    - CWallet::IsWalletFlagSet
    - Assert
    - WalletLogPrintf
    - NotifyCanGetAddressesChanged
    - find
    linkageType: ''
    returnType: void
    signature: void CWallet::LoadActiveScriptPubKeyMan(uint256 id, OutputType type,
      bool internal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3606,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3607,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3608,1
    - Dst: uint256::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3608,1
    - Dst: FormatOutputType
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3608,1
    - Dst: WalletBatch::EraseActiveScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3610,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3610,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3611,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3611,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3615,1
    - Dst: NotifyCanGetAddressesChanged
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - id
    - type
    - internal
    argTypes:
    - uint256
    - OutputType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3619
      start: 3604
    functionDepth: 2
    functionLinenumber: 3604
    functionLinenumberEnd: 3619
    functionName: CWallet::DeactivateScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - FormatOutputType
    - erase
    - WalletLogPrintf
    - WalletBatch::EraseActiveScriptPubKeyMan
    - CWallet::GetScriptPubKeyMan
    - static_cast<uint8_t>
    - uint256::ToString
    - std::runtime_error
    - std::string
    - auto::GetID
    - NotifyCanGetAddressesChanged
    linkageType: ''
    returnType: void
    signature: void CWallet::DeactivateScriptPubKeyMan(uint256 id, OutputType type,
      bool internal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3623,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3625,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3627,1
    - Dst: auto::second::get
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3627,1
    - Dst: DescriptorScriptPubKeyMan*::HasWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - WalletDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3621
    functionDepth: 1
    functionLinenumber: 3621
    functionLinenumberEnd: 3634
    functionName: CWallet::GetDescriptorScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::second::get
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - DescriptorScriptPubKeyMan*::HasWalletDescriptor
    - find
    linkageType: ''
    returnType: DescriptorScriptPubKeyMan
    signature: DescriptorScriptPubKeyMan * CWallet::GetDescriptorScriptPubKeyMan(const
      WalletDescriptor& desc) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3639,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3643,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3645,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3645,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3648,1
    - Dst: auto::GetWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3649,1
    - Dst: GetOutputType
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3649,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3650,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3650,1
    - Dst: CWallet::GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - spk_man
    argTypes:
    - ScriptPubKeyMan*
    assertStmts:
    - condition: (type.has_value())
      pos:
        line_end: 3649
        line_start: 3649
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 3653
      start: 3636
    functionDepth: 2
    functionLinenumber: 3636
    functionLinenumberEnd: 3653
    functionName: CWallet::IsInternalScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - assert
    - CWallet::GetScriptPubKeyMan
    - std::runtime_error
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - std::string
    - LOCK
    - GetOutputType
    - has_value
    - CWallet::GetActiveScriptPubKeyMans
    - auto::GetWalletDescriptor
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> CWallet::IsInternalScriptPubKeyMan(ScriptPubKeyMan*
      spk_man) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3657,1
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3659,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3660,1
    - Dst: CWallet::GetDescriptorScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3663,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3665,1
    - Dst: descriptor::ToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3665,1
    - Dst: auto::UpdateWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3666,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3667,1
    - Dst: std::unique_ptr<DescriptorScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3670,1
    - Dst: DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3670,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3671,1
    - Dst: auto::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3674,1
    - Dst: CWallet::AddScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3675,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3675,1
    - Dst: auto::AddDescriptorKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3681,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3681,1
    - Dst: auto::TopUp
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3685,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3686,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3691,1
    - Dst: auto::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3692,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3693,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3694,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3700,1
    - Dst: CWallet::SetAddressBook
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3701,1
    - Dst: auto::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3708,1
    - Dst: MarkDirty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3711,1
    - Dst: std::reference_wrapper
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3713,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - ' desc'
    - ' signing_provider'
    - ' label'
    - internal
    argTypes:
    - WalletDescriptor
    - FlatSigningProvider
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3714
      start: 3655
    functionDepth: 5
    functionLinenumber: 3655
    functionLinenumberEnd: 3714
    functionName: CWallet::AddWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - auto::UpdateWalletDescriptor
    - std::move
    - descriptor::ToString
    - WalletLogPrintf
    - std::reference_wrapper
    - auto::WriteDescriptor
    - util::ErrorString
    - DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
    - MarkDirty
    - AssertLockHeld
    - auto::get
    - auto::GetScriptPubKeys
    - auto::empty
    - auto::TopUp
    - auto::GetID
    - CWallet::GetDescriptorScriptPubKeyMan
    - descriptor::IsRange
    - _
    - std::unique_ptr<DescriptorScriptPubKeyMan>
    - auto::AddDescriptorKey
    - CWallet::AddScriptPubKeyMan
    - ExtractDestination
    - CWallet::IsWalletFlagSet
    - CWallet::SetAddressBook
    - GetPubKey
    linkageType: ''
    returnType: util::Result<std::reference_wrapper<DescriptorScriptPubKeyMan>>
    signature: util::Result<std::reference_wrapper<DescriptorScriptPubKeyMan>> CWallet::AddWalletDescriptor(WalletDescriptor&
      desc, const FlatSigningProvider& signing_provider, const std::string& label,
      bool internal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3718,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3720,1
    - Dst: Format
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3722,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3723,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3728,1
    - Dst: std::unique_ptr::GetNewCursor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3729,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3732,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3739,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3743,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3743,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3744,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3744,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3745,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3747,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3748,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3750,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3755,1
    - Dst: Filename
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3755,1
    - Dst: Close
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3756,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3757,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3761,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3761,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3761,1
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3768,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3769,1
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3770,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3771,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3774,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3775,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3776,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3778,1
    - Dst: std::unique_ptr::TxnAbort
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3779,1
    - Dst: Close
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3780,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3781,1
    - Dst: Filename
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3781,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3782,1
    - Dst: std::unique_ptr::TxnCommit
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3785,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3786,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - bilingual_str
    assertStmts:
    - condition: (new_db)
      pos:
        line_end: 3768
        line_start: 3768
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (committed)
      pos:
        line_end: 3785
        line_start: 3785
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (began)
      pos:
        line_end: 3775
        line_start: 3775
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (false)
      pos:
        line_end: 3781
        line_start: 3781
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 3788
      start: 3716
    functionDepth: 2
    functionLinenumber: 3716
    functionLinenumberEnd: 3788
    functionName: CWallet::MigrateToSQLite
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::move
    - WalletLogPrintf
    - std::unique_ptr::reset
    - DataStream::begin
    - std::unique_ptr::Write
    - AssertLockHeld
    - MakeDatabase
    - Filename
    - std::unique_ptr::Next
    - MakeBatch
    - std::unique_ptr::TxnBegin
    - GetWalletDir
    - std::unique_ptr::GetNewCursor
    - std::unique_ptr::TxnCommit
    - Close
    - assert
    - Format
    - _
    - fs::PathFromString
    - std::unique_ptr::TxnAbort
    - wallet::WalletImpl::remove
    - fsbridge::AbsPathJoin
    - reset
    - DataStream::end
    linkageType: ''
    returnType: bool
    signature: bool CWallet::MigrateToSQLite(bilingual_str& error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3792,1
    - Dst: CWallet::GetLegacyDataSPKM
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3794,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3795,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3797,1
    - Dst: STR_INTERNAL_BUG
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3797,1
    - Dst: LegacyDataSPKM*::MigrateToDescriptor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3801,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3790
    functionDepth: 2
    functionLinenumber: 3790
    functionLinenumberEnd: 3807
    functionName: CWallet::GetDescriptorsForLegacy
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - _
    - CWallet::GetLegacyDataSPKM
    - Assume
    - LegacyDataSPKM*::MigrateToDescriptor
    - AssertLockHeld
    - STR_INTERNAL_BUG
    - Untranslated
    linkageType: ''
    returnType: std::optional<MigrationData>
    signature: std::optional<MigrationData> CWallet::GetDescriptorsForLegacy(bilingual_str&
      error) const
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3811,1
    - Dst: CWallet::GetLegacyDataSPKM
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3813,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3814,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3816,1
    - Dst: STR_INTERNAL_BUG
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3816,1
    - Dst: desc_spkms::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3820,1
    - Dst: master_key::key::IsValid
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3820,1
    - Dst: LegacyDataSPKM*::GetNotMineScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3824,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3826,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3826,1
    - Dst: desc_spkms::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3831,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3831,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3831,1
    - Dst: watch_descs::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3832,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3832,1
    - Dst: watchonly_wallet::m_cached_spks::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3832,1
    - Dst: solvable_descs::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3833,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3833,1
    - Dst: solvable_wallet::m_cached_spks::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3833,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3836,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3836,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3837,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3839,1
    - Dst: CWallet::AddScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3840,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3840,1
    - Dst: LegacyDataSPKM*::DeleteRecordsWithDB
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3844,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3845,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3849,1
    - Dst: LegacyDataSPKM*::GetID
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3849,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3850,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3851,1
    - Dst: CWallet::SetWalletFlagWithDB
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3854,1
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3855,1
    - Dst: master_key::key::IsValid
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3857,1
    - Dst: CWallet::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3858,1
    - Dst: CWallet::SetupOwnDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3861,1
    - Dst: ReadBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3867,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3868,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3872,1
    - Dst: CWallet::RefreshAllTXOs
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3873,1
    - Dst: std::make_unique<WalletBatch>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3880,1
    - Dst: watchonly_wallet::GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3880,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3881,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3881,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3881,1
    - Dst: watchonly_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3881,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3883,1
    - Dst: std::unique_ptr::WriteOrderPosNext
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3885,1
    - Dst: std::unique_ptr::WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3887,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3888,1
    - Dst: std::make_unique<WalletBatch>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3893,1
    - Dst: solvable_wallet::GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3893,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3894,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3894,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3894,1
    - Dst: solvable_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3894,1
    - Dst: std::unique_ptr::WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3896,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3897,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3903,1
    - Dst: CWallet::IsFromMe
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3903,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3905,1
    - Dst: watchonly_wallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3906,1
    - Dst: watchonly_wallet::IsFromMe
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3906,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3908,1
    - Dst: watchonly_wallet::LoadToWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3910,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3910,1
    - Dst: SetTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3912,1
    - Dst: CopyFrom
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3913,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3916,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3916,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3916,1
    - Dst: std::unique_ptr::WriteTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3918,1
    - Dst: watchonly_wallet::mapWallet::at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3918,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3921,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3928,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3928,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3928,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3933,1
    - Dst: CWallet::RemoveTxs
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3934,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3935,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3935,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3941,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3941,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3942,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3942,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3946,1
    - Dst: WritePurpose
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3947,1
    - Dst: PurposeToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3947,1
    - Dst: WriteName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3948,1
    - Dst: WriteAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3950,1
    - Dst: WriteAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3952,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3960,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3963,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3964,1
    - Dst: func_store_addr
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3968,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3973,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3984,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3985,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3989,1
    - Dst: TxnCommit
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3995,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3996,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3996,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:3996,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4001,1
    - Dst: CWallet::DelAddressBookWithDB
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4003,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4004,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4013,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4013,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4014,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4014,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 135
    argCount: 2
    argNames:
    - ' local_wallet_batch'
    - ' data'
    argTypes:
    - WalletBatch
    - MigrationData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4018
      start: 3809
    functionDepth: 5
    functionLinenumber: 3809
    functionLinenumberEnd: 4018
    functionName: CWallet::ApplyMigrationData
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::SetupDescriptorScriptPubKeyMans
    - watchonly_wallet::LoadToWallet
    - std::vector::emplace_back
    - EncodeDestination
    - std::unique_ptr::WriteOrderPosNext
    - GetHash
    - desc_spkms::empty
    - std::move
    - watchonly_wallet::IsFromMe
    - std::vector::push_back
    - GetName
    - std::set::emplace
    - watchonly_wallet::mapWallet::at
    - std::make_unique<WalletBatch>
    - watch_descs::empty
    - watchonly_wallet::IsMine
    - WriteAddressPreviouslySpent
    - solvable_descs::empty
    - CWallet::GetLegacyDataSPKM
    - watchonly_wallet::GetDatabase
    - util::ErrorString
    - CWallet::IsMine
    - master_key::key::IsValid
    - LegacyDataSPKM*::GetNotMineScriptPubKeys
    - solvable_wallet::GetDatabase
    - CWallet::SetWalletFlagWithDB
    - watchonly_wallet::m_cached_spks::empty
    - clear
    - AssertLockHeld
    - WriteName
    - std::unique_ptr::TxnBegin
    - Untranslated
    - std::vector::size
    - TxnCommit
    - std::unique_ptr::WriteBestBlock
    - ReadBestBlock
    - std::unique_ptr::WriteTx
    - Assume
    - empty
    - SetTx
    - solvable_wallet::m_cached_spks::empty
    - GetID
    - CWallet::SetupOwnDescriptorScriptPubKeyMans
    - PurposeToString
    - WritePurpose
    - WriteAddressReceiveRequest
    - strprintf
    - CWallet::DelAddressBookWithDB
    - CWallet::RemoveTxs
    - STR_INTERNAL_BUG
    - LegacyDataSPKM*::DeleteRecordsWithDB
    - std::set::count
    - count
    - func_store_addr
    - solvable_wallet::GetName
    - CWallet::RefreshAllTXOs
    - _
    - erase
    - ExtractDestination
    - CWallet::AddScriptPubKeyMan
    - watchonly_wallet::GetName
    - CWallet::IsWalletFlagSet
    - LegacyDataSPKM*::GetID
    - LOCK
    - CWallet::IsFromMe
    - EXCLUSIVE_LOCKS_REQUIRED
    - CopyFrom
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> CWallet::ApplyMigrationData(WalletBatch& local_wallet_batch,
      MigrationData& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4020
    functionDepth: 1
    functionLinenumber: 4020
    functionLinenumberEnd: 4023
    functionName: CWallet::CanGrindR
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool CWallet::CanGrindR() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4148,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4149,1
    - Dst: auto::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4149,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4150,1
    - Dst: GetWalletPath
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4153,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4155,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4157,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4158,1
    - Dst: IsBDBFile
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4160,1
    - Dst: BDBDataFile
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4160,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4161,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4173,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4175,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4175,1
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4179,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4179,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4181,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4181,1
    - Dst: MigrateLegacyToDescriptor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4184,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ' wallet_name'
    - ' passphrase'
    - ' context'
    argTypes:
    - std::string
    - SecureString
    - WalletContext
    assertStmts:
    - condition: (wallet->IsWalletFlagSet(WALLET_FLAG_DESCRIPTORS))
      pos:
        line_end: 4148
        line_start: 4148
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 4185
      start: 4142
    functionDepth: 3
    functionLinenumber: 4142
    functionLinenumberEnd: 4185
    functionName: MigrateLegacyToDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - GetWallet
    - _
    - Untranslated
    - util::ErrorString
    - fs::exists
    - auto::IsWalletFlagSet
    - CWallet::Create
    - IsBDBFile
    - std::move
    - BDBDataFile
    - MakeWalletDatabase
    - MigrateLegacyToDescriptor
    - assert
    - GetWalletPath
    linkageType: ''
    returnType: util::Result<MigrationResult>
    signature: util::Result<MigrationResult> MigrateLegacyToDescriptor(const std::string&
      wallet_name, const SecureString& passphrase, WalletContext& context)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<CWallet>::GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4197,1
    - Dst: std::shared_ptr<CWallet>::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4200,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4201,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4210,1
    - Dst: fs::weakly_canonical
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4212,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4212,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4212,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4213,1
    - Dst: auto::filename
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4213,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4216,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4216,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4216,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4217,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4217,1
    - Dst: std::shared_ptr<CWallet>::BackupWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4218,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4218,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4219,1
    - Dst: std::shared_ptr<CWallet>::IsLocked
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4226,1
    - Dst: std::shared_ptr<CWallet>::Unlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4226,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4227,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4228,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4230,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4247,1
    - Dst: std::shared_ptr<CWallet>::MigrateToSQLite
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4249,1
    - Dst: HasLegacyRecords
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4252,1
    - Dst: DoMigration
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4253,1
    - Dst: std::shared_ptr<CWallet>::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4255,1
    - Dst: std::shared_ptr<CWallet>::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4258,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4269,1
    - Dst: std::shared_ptr<CWallet>::GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4273,1
    - Dst: std::shared_ptr<CWallet>::reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4274,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4275,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4283,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4283,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4283,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4284,1
    - Dst: use_count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4284,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4285,1
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4286,1
    - Dst: LoadWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4287,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4292,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4293,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4301,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4301,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4302,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4302,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4303,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4303,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4307,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4307,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4307,1
    - Dst: HaveChain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4312,1
    - Dst: RemoveWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4314,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4315,1
    - Dst: WaitForDeleteWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4318,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4318,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4321,1
    - Dst: use_count
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4321,1
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4322,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4328,1
    - Dst: RestoreWallet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4334,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4335,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4336,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4340,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 3
    argNames:
    - local_wallet
    - ' passphrase'
    - ' context'
    argTypes:
    - std::shared_ptr<CWallet>
    - SecureString
    - WalletContext
    assertStmts:
    - condition: (!ptr_wallet)
      pos:
        line_end: 4339
        line_start: 4339
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (w.use_count() == 1)
      pos:
        line_end: 4320
        line_start: 4320
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    - condition: (wallet.use_count() == 1)
      pos:
        line_end: 4283
        line_start: 4283
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 4345
      start: 4187
    functionDepth: 1
    functionLinenumber: 4187
    functionLinenumberEnd: 4345
    functionName: MigrateLegacyToDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 3
    functionsReached:
    - fs::remove_all
    - HaveChain
    - std::shared_ptr<CWallet>::Unlock
    - LoadWallet
    - fs::weakly_canonical
    - std::string::empty
    - GetName
    - std::move
    - std::vector::push_back
    - std::set::insert
    - std::set::emplace
    - std::shared_ptr<CWallet>::GetDatabase
    - std::shared_ptr<CWallet>::GetAllScriptPubKeyMans
    - WaitForDeleteWallet
    - GetTime
    - std::shared_ptr<CWallet>::SetWalletFlag
    - bilingual_str::empty
    - Untranslated
    - find
    - GetDatabase
    - std::shared_ptr<CWallet>::MigrateToSQLite
    - fs::PathToString
    - std::shared_ptr<CWallet>::reset
    - GetWalletDir
    - Assume
    - RestoreWallet
    - std::shared_ptr<CWallet>::GetName
    - strprintf
    - auto::filename
    - HasLegacyRecords
    - assert
    - use_count
    - _
    - fs::PathFromString
    - DoMigration
    - fsbridge::AbsPathJoin
    - std::shared_ptr<CWallet>::BackupWallet
    - LOCK
    - reset
    - std::shared_ptr<CWallet>::IsWalletFlagSet
    - RemoveWallet
    - std::shared_ptr<CWallet>::IsLocked
    linkageType: ''
    returnType: util::Result<MigrationResult>
    signature: util::Result<MigrationResult> MigrateLegacyToDescriptor(std::shared_ptr<CWallet>
      local_wallet, const SecureString& passphrase, WalletContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' spks'
    - spkm
    argTypes:
    - std::set<CScript>
    - ScriptPubKeyMan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4352
      start: 4347
    functionDepth: 0
    functionLinenumber: 4347
    functionLinenumberEnd: 4352
    functionName: CWallet::CacheNewScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void CWallet::CacheNewScriptPubKeys(const std::set<CScript>& spks,
      ScriptPubKeyMan* spkm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::CacheNewScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' spks'
    - spkm
    argTypes:
    - std::set<CScript>
    - ScriptPubKeyMan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4358
      start: 4354
    functionDepth: 1
    functionLinenumber: 4354
    functionLinenumberEnd: 4358
    functionName: CWallet::TopUpCallback
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::CacheNewScriptPubKeys
    linkageType: ''
    returnType: void
    signature: void CWallet::TopUpCallback(const std::set<CScript>& spks, ScriptPubKeyMan*
      spkm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4362,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4364,1
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4364,1
    - Dst: CWallet::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4367,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4368,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4369,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4370,1
    - Dst: DescriptorScriptPubKeyMan*::GetWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4371,1
    - Dst: WalletDescriptor::descriptor::GetPubKeys
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4375,1
    - Dst: std::set::merge
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4376,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (desc_spkm)
      pos:
        line_end: 4368
        line_start: 4368
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 4379
      start: 4360
    functionDepth: 2
    functionLinenumber: 4360
    functionLinenumberEnd: 4379
    functionName: CWallet::GetActiveHDPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - WalletDescriptor::descriptor::GetPubKeys
    - DescriptorScriptPubKeyMan*::GetWalletDescriptor
    - std::set::merge
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - CWallet::IsWalletFlagSet
    - std::move
    - LOCK
    - Assert
    - AssertLockHeld
    - CWallet::GetActiveScriptPubKeyMans
    - assert
    linkageType: ''
    returnType: std::set<CExtPubKey>
    signature: std::set<CExtPubKey> CWallet::GetActiveHDPubKeys() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4383,1
    - Dst: CWallet::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4383,1
    - Dst: CWallet::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4385,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4386,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4387,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4388,1
    - Dst: DescriptorScriptPubKeyMan*::GetKey
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' keyid'
    argTypes:
    - CKeyID
    assertStmts:
    - condition: (desc_spkm)
      pos:
        line_end: 4386
        line_start: 4386
        source_file: /src/bitcoin-core/src/wallet/wallet.cpp
    constantsTouched: []
    func_position:
      end: 4394
      start: 4381
    functionDepth: 1
    functionLinenumber: 4381
    functionLinenumberEnd: 4394
    functionName: CWallet::GetKey
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - CWallet::GetAllScriptPubKeyMans
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - CWallet::IsWalletFlagSet
    - LOCK
    - Assert
    - DescriptorScriptPubKeyMan*::GetKey
    - assert
    linkageType: ''
    returnType: std::optional<CKey>
    signature: std::optional<CKey> CWallet::GetKey(const CKeyID& keyid) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4398,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4400,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4402,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4402,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4404,1
    - Dst: WalletBatch::WriteBestBlock
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4409
      start: 4396
    functionDepth: 1
    functionLinenumber: 4396
    functionLinenumberEnd: 4409
    functionName: CWallet::WriteBestBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 2
    functionsReached:
    - FoundBlock
    - chain
    - AssertLockHeld
    - WalletBatch::WriteBestBlock
    - IsNull
    - CBlockLocator::IsNull
    linkageType: ''
    returnType: void
    signature: void CWallet::WriteBestBlock() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4413,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4414,1
    - Dst: tx::vout::at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4415,1
    - Dst: CWallet::IsMine
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4416,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4420,1
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4421,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4422,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4427
      start: 4411
    functionDepth: 2
    functionLinenumber: 4411
    functionLinenumberEnd: 4427
    functionName: CWallet::RefreshTXOsFromTx
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - CWallet::IsMine
    - tx::vout::size
    - GetHash
    - at
    - contains
    - AssertLockHeld
    - tx::vout::at
    linkageType: ''
    returnType: void
    signature: void CWallet::RefreshTXOsFromTx(const CWalletTx& wtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4431,1
    - Dst: CWallet::RefreshTXOsFromTx
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4435
      start: 4429
    functionDepth: 3
    functionLinenumber: 4429
    functionLinenumberEnd: 4435
    functionName: CWallet::RefreshAllTXOs
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - CWallet::RefreshTXOsFromTx
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void CWallet::RefreshAllTXOs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4439,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4440,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/wallet.cpp:4441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4445
      start: 4437
    functionDepth: 1
    functionLinenumber: 4437
    functionLinenumberEnd: 4445
    functionName: CWallet::GetTXO
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - AssertLockHeld
    linkageType: ''
    returnType: std::optional<WalletTXO>
    signature: std::optional<WalletTXO> CWallet::GetTXO(const COutPoint& outpoint)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: wallet::CCoinControl::HasSelectedOrder
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasSelectedOrder() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.h:174,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.h:175,1
    - Dst: auto::second::GetPosition
      Src: /src/bitcoin-core/src/wallet/coincontrol.h:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: wallet::CCoinControl::GetSelectionPos
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.h
    functionUses: 0
    functionsReached:
    - end
    - auto::second::GetPosition
    - find
    linkageType: ''
    returnType: std::optional<unsigned int>
    signature: std::optional<unsigned int> GetSelectionPos(const COutPoint& outpoint)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: wallet::CCoinControl::HasSelectedOrder
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasSelectedOrder() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.h:174,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.h:175,1
    - Dst: auto::second::GetPosition
      Src: /src/bitcoin-core/src/wallet/coincontrol.h:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: wallet::CCoinControl::GetSelectionPos
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.h
    functionUses: 0
    functionsReached:
    - end
    - auto::second::GetPosition
    - find
    linkageType: ''
    returnType: std::optional<unsigned int>
    signature: std::optional<unsigned int> GetSelectionPos(const COutPoint& outpoint)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:15,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/receive.cpp:16,1
    - Dst: CWalletTx*::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/receive.cpp:17,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' wallet'
    - ' txin'
    argTypes:
    - CWallet
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: wallet::InputIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - GetWalletTx
    - IsMine
    - CWalletTx*::tx::vout::size
    - AssertLockHeld
    linkageType: ''
    returnType: isminetype
    signature: isminetype InputIsMine(const CWallet& wallet, const CTxIn& txin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:25,1
    - Dst: wallet::InputIsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' wallet'
    - ' tx'
    - ' filter'
    argTypes:
    - CWallet
    - CTransaction
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: wallet::AllInputsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - wallet::InputIsMine
    linkageType: ''
    returnType: bool
    signature: bool AllInputsMine(const CWallet& wallet, const CTransaction& tx, const
      isminefilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:34,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/receive.cpp:35,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/receive.cpp:35,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:36,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' wallet'
    - ' txout'
    - ' filter'
    argTypes:
    - CWallet
    - CTxOut
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: wallet::OutputGetCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - std::string
    - LOCK
    - IsMine
    - MoneyRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount OutputGetCredit(const CWallet& wallet, const CTxOut& txout,
      const isminefilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::OutputGetCredit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:45,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/receive.cpp:47,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/receive.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' wallet'
    - ' tx'
    - ' filter'
    argTypes:
    - CWallet
    - CTransaction
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: wallet::TxGetCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - wallet::OutputGetCredit
    - MoneyRange
    - std::string
    linkageType: ''
    returnType: CAmount
    signature: CAmount TxGetCredit(const CWallet& wallet, const CTransaction& tx,
      const isminefilter& filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:61,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:62,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:65,1
    - Dst: FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/receive.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' wallet'
    - ' script'
    argTypes:
    - CWallet
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: wallet::ScriptIsChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - IsMine
    - FindAddressBookEntry
    - AssertLockHeld
    - ExtractDestination
    linkageType: ''
    returnType: bool
    signature: bool ScriptIsChange(const CWallet& wallet, const CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::ScriptIsChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wallet'
    - ' txout'
    argTypes:
    - CWallet
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: wallet::OutputIsChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - wallet::ScriptIsChange
    linkageType: ''
    returnType: bool
    signature: bool OutputIsChange(const CWallet& wallet, const CTxOut& txout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:81,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/receive.cpp:83,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/receive.cpp:83,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' txout'
    argTypes:
    - CWallet
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: wallet::OutputGetChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - wallet::OutputIsChange
    - std::runtime_error
    - std::string
    - AssertLockHeld
    - MoneyRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount OutputGetChange(const CWallet& wallet, const CTxOut& txout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:89,1
    - Dst: wallet::OutputGetChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:93,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:94,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/receive.cpp:95,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/receive.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' wallet'
    - ' tx'
    argTypes:
    - CWallet
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 6
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: wallet::TxGetChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - std::string
    - wallet::OutputGetChange
    - LOCK
    - MoneyRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount TxGetChange(const CWallet& wallet, const CTransaction& tx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::Set
      Src: /src/bitcoin-core/src/wallet/receive.cpp:104,1
    - Dst: GetDebit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:104,1
    - Dst: wallet::TxGetCredit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' wallet'
    - ' wtx'
    - type
    - ' filter'
    argTypes:
    - CWallet
    - CWalletTx
    - CWalletTx::AmountType
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: wallet::GetCachableAmount
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - GetDebit
    - wallet::TxGetCredit
    - wallet::Set
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetCachableAmount(const CWallet& wallet, const CWalletTx& wtx,
      CWalletTx::AmountType type, const isminefilter& filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:112,1
    - Dst: IsTxImmatureCoinBase
      Src: /src/bitcoin-core/src/wallet/receive.cpp:115,1
    - Dst: wallet::GetCachableAmount
      Src: /src/bitcoin-core/src/wallet/receive.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' wallet'
    - ' wtx'
    - ' filter'
    argTypes:
    - CWallet
    - CWalletTx
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: wallet::CachedTxGetCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - IsTxImmatureCoinBase
    - wallet::GetCachableAmount
    - AssertLockHeld
    linkageType: ''
    returnType: CAmount
    signature: CAmount CachedTxGetCredit(const CWallet& wallet, const CWalletTx& wtx,
      const isminefilter& filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tx::vin::empty
      Src: /src/bitcoin-core/src/wallet/receive.cpp:129,1
    - Dst: wallet::GetCachableAmount
      Src: /src/bitcoin-core/src/wallet/receive.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' wallet'
    - ' wtx'
    - ' filter'
    argTypes:
    - CWallet
    - CWalletTx
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: wallet::CachedTxGetDebit
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - tx::vin::empty
    - wallet::GetCachableAmount
    linkageType: ''
    returnType: CAmount
    signature: CAmount CachedTxGetDebit(const CWallet& wallet, const CWalletTx& wtx,
      const isminefilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TxGetChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' wallet'
    - ' wtx'
    argTypes:
    - CWallet
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 7
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: wallet::CachedTxGetChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - wallet::TxGetChange
    linkageType: ''
    returnType: CAmount
    signature: CAmount CachedTxGetChange(const CWallet& wallet, const CWalletTx& wtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/receive.cpp:155,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/receive.cpp:156,1
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:159,1
    - Dst: tx::GetValueOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:162,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:166,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/receive.cpp:168,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:171,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:177,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:186,1
    - Dst: scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/wallet/receive.cpp:186,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/receive.cpp:188,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/receive.cpp:189,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:190,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/receive.cpp:197,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/receive.cpp:201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 7
    argNames:
    - ' wallet'
    - ' wtx'
    - ' listReceived'
    - ' listSent'
    - ' nFee'
    - ' filter'
    - include_change
    argTypes:
    - CWallet
    - CWalletTx
    - std::list<COutputEntry>
    - std::list<COutputEntry>
    - CAmount
    - isminefilter
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 204
    functionName: wallet::CachedTxGetAmounts
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - wallet::OutputIsChange
    - tx::GetValueOut
    - CNoDestination
    - scriptPubKey::IsUnspendable
    - push_back
    - wallet::CachedTxGetDebit
    - tx::vout::size
    - ExtractDestination
    - GetHash
    - LOCK
    - clear
    - IsMine
    - WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: "void CachedTxGetAmounts(const CWallet& wallet, const CWalletTx& wtx,\n
      \                 std::list<COutputEntry>& listReceived,\n                  std::list<COutputEntry>&
      listSent, CAmount& nFee, const isminefilter& filter,\n                  bool
      include_change)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wallet'
    - ' wtx'
    - ' filter'
    argTypes:
    - CWallet
    - CWalletTx
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: wallet::CachedTxIsFromMe
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - wallet::CachedTxGetDebit
    linkageType: ''
    returnType: bool
    signature: bool CachedTxIsFromMe(const CWallet& wallet, const CWalletTx& wtx,
      const isminefilter& filter)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:214,1
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/receive.cpp:217,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/receive.cpp:217,1
    - Dst: isConfirmed
      Src: /src/bitcoin-core/src/wallet/receive.cpp:219,1
    - Dst: isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:220,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/receive.cpp:222,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/receive.cpp:225,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/receive.cpp:231,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:235,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/receive.cpp:237,1
    - Dst: CWalletTx*::GetHash
      Src: /src/bitcoin-core/src/wallet/receive.cpp:237,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:239,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:240,1
    - Dst: CWalletTx*::GetHash
      Src: /src/bitcoin-core/src/wallet/receive.cpp:240,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - ' wallet'
    - ' wtx'
    - ' trusted_parents'
    argTypes:
    - CWallet
    - CWalletTx
    - std::set<Txid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 212
    functionDepth: 6
    functionLinenumber: 212
    functionLinenumberEnd: 243
    functionName: wallet::CachedTxIsTrusted
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 1
    functionsReached:
    - InMempool
    - CWalletTx*::GetHash
    - isConfirmed
    - GetHash
    - GetWalletTx
    - contains
    - count
    - IsMine
    - AssertLockHeld
    - wallet::CachedTxIsTrusted
    - insert
    - wallet::CachedTxIsFromMe
    - isBlockConflicted
    linkageType: ''
    returnType: bool
    signature: bool CachedTxIsTrusted(const CWallet& wallet, const CWalletTx& wtx,
      std::set<Txid>& trusted_parents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:248,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wallet'
    - ' wtx'
    argTypes:
    - CWallet
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: wallet::CachedTxIsTrusted
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    - wallet::CachedTxIsTrusted
    linkageType: ''
    returnType: bool
    signature: bool CachedTxIsTrusted(const CWallet& wallet, const CWalletTx& wtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/receive.cpp:255,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:257,1
    - Dst: GetTXOs
      Src: /src/bitcoin-core/src/wallet/receive.cpp:259,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/receive.cpp:260,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:262,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/receive.cpp:263,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/wallet/receive.cpp:265,1
    - Dst: IsSpentKey
      Src: /src/bitcoin-core/src/wallet/receive.cpp:265,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:265,1
    - Dst: GetIsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:268,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:269,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/receive.cpp:272,1
    - Dst: IsTxImmatureCoinBase
      Src: /src/bitcoin-core/src/wallet/receive.cpp:276,1
    - Dst: isConfirmed
      Src: /src/bitcoin-core/src/wallet/receive.cpp:276,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/receive.cpp:280,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - ' wallet'
    - min_depth
    - avoid_reuse
    argTypes:
    - CWallet
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 252
    functionDepth: 7
    functionLinenumber: 252
    functionLinenumberEnd: 287
    functionName: wallet::GetBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 2
    functionsReached:
    - IsTxImmatureCoinBase
    - InMempool
    - IsSpentKey
    - Assume
    - GetTxOut
    - IsSpent
    - isConfirmed
    - GetIsMine
    - GetWalletTx
    - LOCK
    - wallet::CachedTxIsTrusted
    - GetTXOs
    - GetTxDepthInMainChain
    - IsWalletFlagSet
    linkageType: ''
    returnType: Balance
    signature: Balance GetBalance(const CWallet& wallet, const int min_depth, bool
      avoid_reuse)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:294,1
    - Dst: GetTXOs
      Src: /src/bitcoin-core/src/wallet/receive.cpp:296,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/receive.cpp:297,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:299,1
    - Dst: IsTxImmatureCoinBase
      Src: /src/bitcoin-core/src/wallet/receive.cpp:300,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/receive.cpp:302,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/receive.cpp:303,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/receive.cpp:306,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:306,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:306,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:307,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:307,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/wallet/receive.cpp:309,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 289
    functionDepth: 7
    functionLinenumber: 289
    functionLinenumberEnd: 315
    functionName: wallet::GetAddressBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - IsTxImmatureCoinBase
    - Assume
    - GetTxOut
    - IsSpent
    - ExtractDestination
    - GetWalletTx
    - LOCK
    - IsMine
    - wallet::CachedTxIsTrusted
    - GetTXOs
    - GetTxDepthInMainChain
    - wallet::CachedTxIsFromMe
    linkageType: ''
    returnType: std::map<CTxDestination, CAmount>
    signature: std::map<CTxDestination, CAmount> GetAddressBalances(const CWallet&
      wallet)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:319,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/receive.cpp:327,1
    - Dst: wallet::InputIsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:334,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:336,1
    - Dst: mapWallet::at
      Src: /src/bitcoin-core/src/wallet/receive.cpp:336,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:338,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:346,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:349,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:351,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/receive.cpp:354,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:356,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/wallet/receive.cpp:357,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:363,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:366,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:368,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:369,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/wallet/receive.cpp:370,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/wallet/receive.cpp:382,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/wallet/receive.cpp:382,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:383,1
    - Dst: std::set<CTxDestination>::set<CTxDestination>
      Src: /src/bitcoin-core/src/wallet/receive.cpp:386,1
    - Dst: std::set*::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:389,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/receive.cpp:389,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/receive.cpp:389,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/wallet/receive.cpp:390,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:393,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:403,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 408
    functionName: wallet::GetAddressGroupings
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - end
    - wallet::OutputIsChange
    - tx::vin::size
    - begin
    - ExtractDestination
    - std::set::clear
    - std::set*::insert
    - std::set::insert
    - IsMine
    - AssertLockHeld
    - std::set<CTxDestination>::set<CTxDestination>
    - std::set::erase
    - std::map::find
    - wallet::InputIsMine
    - mapWallet::at
    - std::set::size
    linkageType: ''
    returnType: std::set< std::set<CTxDestination> >
    signature: std::set< std::set<CTxDestination> > GetAddressGroupings(const CWallet&
      wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:15,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/receive.cpp:16,1
    - Dst: CWalletTx*::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/receive.cpp:17,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' wallet'
    - ' txin'
    argTypes:
    - CWallet
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: wallet::InputIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 2
    functionsReached:
    - GetWalletTx
    - IsMine
    - CWalletTx*::tx::vout::size
    - AssertLockHeld
    linkageType: ''
    returnType: isminetype
    signature: isminetype InputIsMine(const CWallet& wallet, const CTxIn& txin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:25,1
    - Dst: wallet::InputIsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' wallet'
    - ' tx'
    - ' filter'
    argTypes:
    - CWallet
    - CTransaction
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: wallet::AllInputsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - wallet::InputIsMine
    linkageType: ''
    returnType: bool
    signature: bool AllInputsMine(const CWallet& wallet, const CTransaction& tx, const
      isminefilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:34,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/receive.cpp:35,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/receive.cpp:35,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:36,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' wallet'
    - ' txout'
    - ' filter'
    argTypes:
    - CWallet
    - CTxOut
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: wallet::OutputGetCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - std::string
    - LOCK
    - IsMine
    - MoneyRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount OutputGetCredit(const CWallet& wallet, const CTxOut& txout,
      const isminefilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::OutputGetCredit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:45,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/receive.cpp:47,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/receive.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' wallet'
    - ' tx'
    - ' filter'
    argTypes:
    - CWallet
    - CTransaction
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: wallet::TxGetCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - wallet::OutputGetCredit
    - MoneyRange
    - std::string
    linkageType: ''
    returnType: CAmount
    signature: CAmount TxGetCredit(const CWallet& wallet, const CTransaction& tx,
      const isminefilter& filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:61,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:62,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:65,1
    - Dst: FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/receive.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' wallet'
    - ' script'
    argTypes:
    - CWallet
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: wallet::ScriptIsChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 1
    functionsReached:
    - IsMine
    - FindAddressBookEntry
    - AssertLockHeld
    - ExtractDestination
    linkageType: ''
    returnType: bool
    signature: bool ScriptIsChange(const CWallet& wallet, const CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::ScriptIsChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wallet'
    - ' txout'
    argTypes:
    - CWallet
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: wallet::OutputIsChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 3
    functionsReached:
    - wallet::ScriptIsChange
    linkageType: ''
    returnType: bool
    signature: bool OutputIsChange(const CWallet& wallet, const CTxOut& txout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:81,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/receive.cpp:83,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/receive.cpp:83,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' txout'
    argTypes:
    - CWallet
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: wallet::OutputGetChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 1
    functionsReached:
    - wallet::OutputIsChange
    - std::runtime_error
    - std::string
    - AssertLockHeld
    - MoneyRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount OutputGetChange(const CWallet& wallet, const CTxOut& txout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:89,1
    - Dst: wallet::OutputGetChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:93,1
    - Dst: MoneyRange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:94,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/receive.cpp:95,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/receive.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' wallet'
    - ' tx'
    argTypes:
    - CWallet
    - CTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 6
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: wallet::TxGetChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - std::string
    - wallet::OutputGetChange
    - LOCK
    - MoneyRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount TxGetChange(const CWallet& wallet, const CTransaction& tx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::Set
      Src: /src/bitcoin-core/src/wallet/receive.cpp:104,1
    - Dst: GetDebit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:104,1
    - Dst: wallet::TxGetCredit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' wallet'
    - ' wtx'
    - type
    - ' filter'
    argTypes:
    - CWallet
    - CWalletTx
    - CWalletTx::AmountType
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: wallet::GetCachableAmount
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 2
    functionsReached:
    - GetDebit
    - wallet::TxGetCredit
    - wallet::Set
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetCachableAmount(const CWallet& wallet, const CWalletTx& wtx,
      CWalletTx::AmountType type, const isminefilter& filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:112,1
    - Dst: IsTxImmatureCoinBase
      Src: /src/bitcoin-core/src/wallet/receive.cpp:115,1
    - Dst: wallet::GetCachableAmount
      Src: /src/bitcoin-core/src/wallet/receive.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' wallet'
    - ' wtx'
    - ' filter'
    argTypes:
    - CWallet
    - CWalletTx
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: wallet::CachedTxGetCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - IsTxImmatureCoinBase
    - wallet::GetCachableAmount
    - AssertLockHeld
    linkageType: ''
    returnType: CAmount
    signature: CAmount CachedTxGetCredit(const CWallet& wallet, const CWalletTx& wtx,
      const isminefilter& filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tx::vin::empty
      Src: /src/bitcoin-core/src/wallet/receive.cpp:129,1
    - Dst: wallet::GetCachableAmount
      Src: /src/bitcoin-core/src/wallet/receive.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' wallet'
    - ' wtx'
    - ' filter'
    argTypes:
    - CWallet
    - CWalletTx
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: wallet::CachedTxGetDebit
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 2
    functionsReached:
    - tx::vin::empty
    - wallet::GetCachableAmount
    linkageType: ''
    returnType: CAmount
    signature: CAmount CachedTxGetDebit(const CWallet& wallet, const CWalletTx& wtx,
      const isminefilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TxGetChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' wallet'
    - ' wtx'
    argTypes:
    - CWallet
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 7
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: wallet::CachedTxGetChange
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - wallet::TxGetChange
    linkageType: ''
    returnType: CAmount
    signature: CAmount CachedTxGetChange(const CWallet& wallet, const CWalletTx& wtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/receive.cpp:155,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/receive.cpp:156,1
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:159,1
    - Dst: tx::GetValueOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:162,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:166,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/receive.cpp:168,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:171,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:177,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:186,1
    - Dst: scriptPubKey::IsUnspendable
      Src: /src/bitcoin-core/src/wallet/receive.cpp:186,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/receive.cpp:188,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/receive.cpp:189,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:190,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/receive.cpp:197,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/receive.cpp:201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 7
    argNames:
    - ' wallet'
    - ' wtx'
    - ' listReceived'
    - ' listSent'
    - ' nFee'
    - ' filter'
    - include_change
    argTypes:
    - CWallet
    - CWalletTx
    - std::list<COutputEntry>
    - std::list<COutputEntry>
    - CAmount
    - isminefilter
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 204
    functionName: wallet::CachedTxGetAmounts
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - wallet::OutputIsChange
    - tx::GetValueOut
    - CNoDestination
    - scriptPubKey::IsUnspendable
    - push_back
    - wallet::CachedTxGetDebit
    - tx::vout::size
    - ExtractDestination
    - GetHash
    - LOCK
    - clear
    - IsMine
    - WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: "void CachedTxGetAmounts(const CWallet& wallet, const CWalletTx& wtx,\n
      \                 std::list<COutputEntry>& listReceived,\n                  std::list<COutputEntry>&
      listSent, CAmount& nFee, const isminefilter& filter,\n                  bool
      include_change)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/receive.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wallet'
    - ' wtx'
    - ' filter'
    argTypes:
    - CWallet
    - CWalletTx
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: wallet::CachedTxIsFromMe
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 2
    functionsReached:
    - wallet::CachedTxGetDebit
    linkageType: ''
    returnType: bool
    signature: bool CachedTxIsFromMe(const CWallet& wallet, const CWalletTx& wtx,
      const isminefilter& filter)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:214,1
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/receive.cpp:217,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/receive.cpp:217,1
    - Dst: isConfirmed
      Src: /src/bitcoin-core/src/wallet/receive.cpp:219,1
    - Dst: isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:220,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/receive.cpp:222,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/receive.cpp:225,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/receive.cpp:231,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:235,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/receive.cpp:237,1
    - Dst: CWalletTx*::GetHash
      Src: /src/bitcoin-core/src/wallet/receive.cpp:237,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:239,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:240,1
    - Dst: CWalletTx*::GetHash
      Src: /src/bitcoin-core/src/wallet/receive.cpp:240,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - ' wallet'
    - ' wtx'
    - ' trusted_parents'
    argTypes:
    - CWallet
    - CWalletTx
    - std::set<Txid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 212
    functionDepth: 6
    functionLinenumber: 212
    functionLinenumberEnd: 243
    functionName: wallet::CachedTxIsTrusted
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 5
    functionsReached:
    - InMempool
    - CWalletTx*::GetHash
    - isConfirmed
    - GetHash
    - GetWalletTx
    - contains
    - count
    - IsMine
    - AssertLockHeld
    - wallet::CachedTxIsTrusted
    - insert
    - wallet::CachedTxIsFromMe
    - isBlockConflicted
    linkageType: ''
    returnType: bool
    signature: bool CachedTxIsTrusted(const CWallet& wallet, const CWalletTx& wtx,
      std::set<Txid>& trusted_parents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:248,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wallet'
    - ' wtx'
    argTypes:
    - CWallet
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: wallet::CachedTxIsTrusted
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 6
    functionsReached:
    - LOCK
    - wallet::CachedTxIsTrusted
    linkageType: ''
    returnType: bool
    signature: bool CachedTxIsTrusted(const CWallet& wallet, const CWalletTx& wtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/receive.cpp:255,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:257,1
    - Dst: GetTXOs
      Src: /src/bitcoin-core/src/wallet/receive.cpp:259,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/receive.cpp:260,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:262,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/receive.cpp:263,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/wallet/receive.cpp:265,1
    - Dst: IsSpentKey
      Src: /src/bitcoin-core/src/wallet/receive.cpp:265,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:265,1
    - Dst: GetIsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:268,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:269,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/receive.cpp:272,1
    - Dst: IsTxImmatureCoinBase
      Src: /src/bitcoin-core/src/wallet/receive.cpp:276,1
    - Dst: isConfirmed
      Src: /src/bitcoin-core/src/wallet/receive.cpp:276,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/receive.cpp:280,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - ' wallet'
    - min_depth
    - avoid_reuse
    argTypes:
    - CWallet
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 252
    functionDepth: 7
    functionLinenumber: 252
    functionLinenumberEnd: 287
    functionName: wallet::GetBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 2
    functionsReached:
    - IsTxImmatureCoinBase
    - InMempool
    - IsSpentKey
    - Assume
    - GetTxOut
    - IsSpent
    - isConfirmed
    - GetIsMine
    - GetWalletTx
    - LOCK
    - wallet::CachedTxIsTrusted
    - GetTXOs
    - GetTxDepthInMainChain
    - IsWalletFlagSet
    linkageType: ''
    returnType: Balance
    signature: Balance GetBalance(const CWallet& wallet, const int min_depth, bool
      avoid_reuse)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/receive.cpp:294,1
    - Dst: GetTXOs
      Src: /src/bitcoin-core/src/wallet/receive.cpp:296,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/receive.cpp:297,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/receive.cpp:299,1
    - Dst: IsTxImmatureCoinBase
      Src: /src/bitcoin-core/src/wallet/receive.cpp:300,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/receive.cpp:302,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/receive.cpp:303,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/receive.cpp:306,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:306,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:306,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:307,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:307,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/wallet/receive.cpp:309,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/receive.cpp:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 289
    functionDepth: 7
    functionLinenumber: 289
    functionLinenumberEnd: 315
    functionName: wallet::GetAddressBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - IsTxImmatureCoinBase
    - Assume
    - GetTxOut
    - IsSpent
    - ExtractDestination
    - GetWalletTx
    - LOCK
    - IsMine
    - wallet::CachedTxIsTrusted
    - GetTXOs
    - GetTxDepthInMainChain
    - wallet::CachedTxIsFromMe
    linkageType: ''
    returnType: std::map<CTxDestination, CAmount>
    signature: std::map<CTxDestination, CAmount> GetAddressBalances(const CWallet&
      wallet)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/receive.cpp:319,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/receive.cpp:327,1
    - Dst: wallet::InputIsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:334,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:336,1
    - Dst: mapWallet::at
      Src: /src/bitcoin-core/src/wallet/receive.cpp:336,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:338,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/receive.cpp:346,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:349,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:351,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/receive.cpp:354,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:356,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/wallet/receive.cpp:357,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/receive.cpp:363,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/receive.cpp:366,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:368,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:369,1
    - Dst: std::set::clear
      Src: /src/bitcoin-core/src/wallet/receive.cpp:370,1
    - Dst: std::map::find
      Src: /src/bitcoin-core/src/wallet/receive.cpp:382,1
    - Dst: std::map::end
      Src: /src/bitcoin-core/src/wallet/receive.cpp:382,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:383,1
    - Dst: std::set<CTxDestination>::set<CTxDestination>
      Src: /src/bitcoin-core/src/wallet/receive.cpp:386,1
    - Dst: std::set*::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:389,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/receive.cpp:389,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/receive.cpp:389,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/wallet/receive.cpp:390,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:393,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/receive.cpp:403,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 408
    functionName: wallet::GetAddressGroupings
    functionSourceFile: /src/bitcoin-core/src/wallet/receive.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - end
    - wallet::OutputIsChange
    - tx::vin::size
    - begin
    - ExtractDestination
    - std::set::clear
    - std::set*::insert
    - std::set::insert
    - IsMine
    - AssertLockHeld
    - std::set<CTxDestination>::set<CTxDestination>
    - std::set::erase
    - std::map::find
    - wallet::InputIsMine
    - mapWallet::at
    - std::set::size
    linkageType: ''
    returnType: std::set< std::set<CTxDestination> >
    signature: std::set< std::set<CTxDestination> > GetAddressGroupings(const CWallet&
      wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~WalletStorage()
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WalletStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' storage'
    argTypes:
    - WalletStorage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: wallet::ScriptPubKeyMan::ScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptPubKeyMan(WalletStorage& storage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~ScriptPubKeyMan()
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ScriptPubKeyMan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: wallet::ScriptPubKeyMan::GetNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached:
    - Untranslated
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> GetNewDestination(const OutputType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: wallet::ScriptPubKeyMan::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isminetype
    signature: isminetype IsMine(const CScript& script) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: wallet::ScriptPubKeyMan::CheckDecryptionKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckDecryptionKey(const CKeyingMaterial& master_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' master_key'
    - batch
    argTypes:
    - CKeyingMaterial
    - WalletBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: wallet::ScriptPubKeyMan::Encrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Encrypt(const CKeyingMaterial& master_key, WalletBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - internal
    - ' index'
    argTypes:
    - OutputType
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: wallet::ScriptPubKeyMan::GetReservedDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached:
    - Untranslated
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> GetReservedDestination(const OutputType
      type, bool internal, int64_t& index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - index
    - ' type'
    argTypes:
    - int64_t
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: wallet::ScriptPubKeyMan::KeepDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeepDestination(int64_t index, const OutputType& type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - index
    - internal
    - ' addr'
    argTypes:
    - int64_t
    - bool
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: wallet::ScriptPubKeyMan::ReturnDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReturnDestination(int64_t index, bool internal, const CTxDestination&
      addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: wallet::ScriptPubKeyMan::TopUp
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TopUp(unsigned int size = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: wallet::ScriptPubKeyMan::MarkUnusedAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<WalletDestination>
    signature: std::vector<WalletDestination> MarkUnusedAddresses(const CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: wallet::ScriptPubKeyMan::IsHDEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHDEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: wallet::ScriptPubKeyMan::CanGetAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CanGetAddresses(bool internal = false) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: wallet::ScriptPubKeyMan::HavePrivateKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HavePrivateKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: wallet::ScriptPubKeyMan::HaveCryptedKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveCryptedKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: wallet::ScriptPubKeyMan::RewriteDB
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RewriteDB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: wallet::ScriptPubKeyMan::GetKeyPoolSize
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetKeyPoolSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: wallet::ScriptPubKeyMan::GetTimeFirstKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetTimeFirstKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: wallet::ScriptPubKeyMan::GetMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<CKeyMetadata>
    signature: std::unique_ptr<CKeyMetadata> GetMetadata(const CTxDestination& dest)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: wallet::ScriptPubKeyMan::GetSolvingProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<SigningProvider>
    signature: std::unique_ptr<SigningProvider> GetSolvingProvider(const CScript&
      script) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' script'
    - ' sigdata'
    argTypes:
    - CScript
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: wallet::ScriptPubKeyMan::CanProvide
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CanProvide(const CScript& script, SignatureData& sigdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' tx'
    - ' coins'
    - sighash
    - ' input_errors'
    argTypes:
    - CMutableTransaction
    - std::map<COutPoint, Coin>
    - int
    - std::map<int, bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: wallet::ScriptPubKeyMan::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SignTransaction(CMutableTransaction& tx, const std::map<COutPoint,
      Coin>& coins, int sighash, std::map<int, bilingual_str>& input_errors) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' message'
    - ' pkhash'
    - ' str_sig'
    argTypes:
    - std::string
    - PKHash
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: wallet::ScriptPubKeyMan::SignMessage
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SigningResult
    signature: SigningResult SignMessage(const std::string& message, const PKHash&
      pkhash, std::string& str_sig) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' psbt'
    - ' txdata'
    argTypes:
    - PartiallySignedTransaction
    - PrecomputedTransactionData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: wallet::ScriptPubKeyMan::FillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<common::PSBTError>
    signature: std::optional<common::PSBTError> FillPSBT(PartiallySignedTransaction&
      psbt, const PrecomputedTransactionData& txdata, std::optional<int> sighash_type
      = std::nullopt, bool sign = true, bool bip32derivs = false, int* n_signed =
      nullptr, bool finalize = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: wallet::ScriptPubKeyMan::GetID
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached:
    - uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: wallet::ScriptPubKeyMan::GetScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> GetScriptPubKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:156,1
    - Dst: GetDisplayName
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:156,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wallet_fmt
    argTypes:
    - util::ConstevalFormatString<sizeof...(Params)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: wallet::ScriptPubKeyMan::WalletLogPrintf
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached:
    - LogInfo
    - GetDisplayName
    - tinyformat::detail::FormatArg::format
    linkageType: ''
    returnType: void
    signature: void WalletLogPrintf(util::ConstevalFormatString<sizeof...(Params)>
      wallet_fmt, const Params&... params) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: wallet::LegacyDataSPKM::GetID
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint256
    signature: uint256 GetID() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: '& GetHDChain() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CHDChain
    signature: CHDChain & GetHDChain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' spk_man'
    argTypes:
    - LegacyDataSPKM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: wallet::LegacySigningProvider::LegacySigningProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LegacySigningProvider(const LegacyDataSPKM& spk_man)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacySigningProvider::GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scriptid
    - ' script'
    argTypes:
    - CScriptID
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: wallet::LegacySigningProvider::GetCScript
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 1
    functionsReached:
    - wallet::LegacySigningProvider::GetCScript
    linkageType: ''
    returnType: bool
    signature: bool GetCScript(const CScriptID &scriptid, CScript& script) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacySigningProvider::HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scriptid
    argTypes:
    - CScriptID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: wallet::LegacySigningProvider::HaveCScript
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 1
    functionsReached:
    - wallet::LegacySigningProvider::HaveCScript
    linkageType: ''
    returnType: bool
    signature: bool HaveCScript(const CScriptID &scriptid) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacySigningProvider::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - address
    - ' pubkey'
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: wallet::LegacySigningProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 1
    functionsReached:
    - wallet::LegacySigningProvider::GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool GetPubKey(const CKeyID &address, CPubKey& pubkey) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - address
    - ' key'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: wallet::LegacySigningProvider::GetKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetKey(const CKeyID &address, CKey& key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: wallet::LegacySigningProvider::HaveKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveKey(const CKeyID &address) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacySigningProvider::GetKeyOrigin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' keyid'
    - ' info'
    argTypes:
    - CKeyID
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: wallet::LegacySigningProvider::GetKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 1
    functionsReached:
    - wallet::LegacySigningProvider::GetKeyOrigin
    linkageType: ''
    returnType: bool
    signature: bool GetKeyOrigin(const CKeyID& keyid, KeyOriginInfo& info) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' storage'
    - ' descriptor'
    - keypool_size
    argTypes:
    - WalletStorage
    - WalletDescriptor
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: wallet::DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan(WalletStorage& storage, WalletDescriptor&
      descriptor, int64_t keypool_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' storage'
    - keypool_size
    argTypes:
    - WalletStorage
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: wallet::DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan(WalletStorage& storage, int64_t keypool_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~WalletStorage()
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WalletStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' storage'
    argTypes:
    - WalletStorage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: wallet::ScriptPubKeyMan::ScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScriptPubKeyMan(WalletStorage& storage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~ScriptPubKeyMan()
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ScriptPubKeyMan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: wallet::ScriptPubKeyMan::GetNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached:
    - Untranslated
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> GetNewDestination(const OutputType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: wallet::ScriptPubKeyMan::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isminetype
    signature: isminetype IsMine(const CScript& script) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: wallet::ScriptPubKeyMan::CheckDecryptionKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckDecryptionKey(const CKeyingMaterial& master_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' master_key'
    - batch
    argTypes:
    - CKeyingMaterial
    - WalletBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: wallet::ScriptPubKeyMan::Encrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Encrypt(const CKeyingMaterial& master_key, WalletBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - internal
    - ' index'
    argTypes:
    - OutputType
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: wallet::ScriptPubKeyMan::GetReservedDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached:
    - Untranslated
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> GetReservedDestination(const OutputType
      type, bool internal, int64_t& index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - index
    - ' type'
    argTypes:
    - int64_t
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: wallet::ScriptPubKeyMan::KeepDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeepDestination(int64_t index, const OutputType& type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - index
    - internal
    - ' addr'
    argTypes:
    - int64_t
    - bool
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: wallet::ScriptPubKeyMan::ReturnDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReturnDestination(int64_t index, bool internal, const CTxDestination&
      addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: wallet::ScriptPubKeyMan::TopUp
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TopUp(unsigned int size = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: wallet::ScriptPubKeyMan::MarkUnusedAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<WalletDestination>
    signature: std::vector<WalletDestination> MarkUnusedAddresses(const CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: wallet::ScriptPubKeyMan::IsHDEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsHDEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: wallet::ScriptPubKeyMan::CanGetAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CanGetAddresses(bool internal = false) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: wallet::ScriptPubKeyMan::HavePrivateKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HavePrivateKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: wallet::ScriptPubKeyMan::HaveCryptedKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveCryptedKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: wallet::ScriptPubKeyMan::RewriteDB
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RewriteDB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: wallet::ScriptPubKeyMan::GetKeyPoolSize
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetKeyPoolSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: wallet::ScriptPubKeyMan::GetTimeFirstKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetTimeFirstKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: wallet::ScriptPubKeyMan::GetMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<CKeyMetadata>
    signature: std::unique_ptr<CKeyMetadata> GetMetadata(const CTxDestination& dest)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: wallet::ScriptPubKeyMan::GetSolvingProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<SigningProvider>
    signature: std::unique_ptr<SigningProvider> GetSolvingProvider(const CScript&
      script) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' script'
    - ' sigdata'
    argTypes:
    - CScript
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: wallet::ScriptPubKeyMan::CanProvide
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CanProvide(const CScript& script, SignatureData& sigdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' tx'
    - ' coins'
    - sighash
    - ' input_errors'
    argTypes:
    - CMutableTransaction
    - std::map<COutPoint, Coin>
    - int
    - std::map<int, bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: wallet::ScriptPubKeyMan::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SignTransaction(CMutableTransaction& tx, const std::map<COutPoint,
      Coin>& coins, int sighash, std::map<int, bilingual_str>& input_errors) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' message'
    - ' pkhash'
    - ' str_sig'
    argTypes:
    - std::string
    - PKHash
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: wallet::ScriptPubKeyMan::SignMessage
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SigningResult
    signature: SigningResult SignMessage(const std::string& message, const PKHash&
      pkhash, std::string& str_sig) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' psbt'
    - ' txdata'
    argTypes:
    - PartiallySignedTransaction
    - PrecomputedTransactionData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: wallet::ScriptPubKeyMan::FillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<common::PSBTError>
    signature: std::optional<common::PSBTError> FillPSBT(PartiallySignedTransaction&
      psbt, const PrecomputedTransactionData& txdata, std::optional<int> sighash_type
      = std::nullopt, bool sign = true, bool bip32derivs = false, int* n_signed =
      nullptr, bool finalize = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: wallet::ScriptPubKeyMan::GetID
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached:
    - uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 GetID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: wallet::ScriptPubKeyMan::GetScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> GetScriptPubKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:156,1
    - Dst: GetDisplayName
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:156,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wallet_fmt
    argTypes:
    - util::ConstevalFormatString<sizeof...(Params)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: wallet::ScriptPubKeyMan::WalletLogPrintf
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached:
    - LogInfo
    - GetDisplayName
    - tinyformat::detail::FormatArg::format
    linkageType: ''
    returnType: void
    signature: void WalletLogPrintf(util::ConstevalFormatString<sizeof...(Params)>
      wallet_fmt, const Params&... params) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: wallet::LegacyDataSPKM::GetID
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint256
    signature: uint256 GetID() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: '& GetHDChain() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CHDChain
    signature: CHDChain & GetHDChain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' spk_man'
    argTypes:
    - LegacyDataSPKM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: wallet::LegacySigningProvider::LegacySigningProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LegacySigningProvider(const LegacyDataSPKM& spk_man)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacySigningProvider::GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scriptid
    - ' script'
    argTypes:
    - CScriptID
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: wallet::LegacySigningProvider::GetCScript
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 2
    functionsReached:
    - wallet::LegacySigningProvider::GetCScript
    linkageType: ''
    returnType: bool
    signature: bool GetCScript(const CScriptID &scriptid, CScript& script) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacySigningProvider::HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scriptid
    argTypes:
    - CScriptID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: wallet::LegacySigningProvider::HaveCScript
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 2
    functionsReached:
    - wallet::LegacySigningProvider::HaveCScript
    linkageType: ''
    returnType: bool
    signature: bool HaveCScript(const CScriptID &scriptid) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacySigningProvider::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - address
    - ' pubkey'
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: wallet::LegacySigningProvider::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 2
    functionsReached:
    - wallet::LegacySigningProvider::GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool GetPubKey(const CKeyID &address, CPubKey& pubkey) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - address
    - ' key'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: wallet::LegacySigningProvider::GetKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetKey(const CKeyID &address, CKey& key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: wallet::LegacySigningProvider::HaveKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveKey(const CKeyID &address) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacySigningProvider::GetKeyOrigin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' keyid'
    - ' info'
    argTypes:
    - CKeyID
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: wallet::LegacySigningProvider::GetKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 2
    functionsReached:
    - wallet::LegacySigningProvider::GetKeyOrigin
    linkageType: ''
    returnType: bool
    signature: bool GetKeyOrigin(const CKeyID& keyid, KeyOriginInfo& info) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' storage'
    - ' descriptor'
    - keypool_size
    argTypes:
    - WalletStorage
    - WalletDescriptor
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: wallet::DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan(WalletStorage& storage, WalletDescriptor&
      descriptor, int64_t keypool_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' storage'
    - keypool_size
    argTypes:
    - WalletStorage
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: wallet::DescriptorScriptPubKeyMan::DescriptorScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan(WalletStorage& storage, int64_t keypool_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: wallet::CCoinControl::CCoinControl
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 1
    functionsReached:
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void CCoinControl::CCoinControl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: wallet::CCoinControl::HasSelected
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool CCoinControl::HasSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: wallet::CCoinControl::IsSelected
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: bool
    signature: bool CCoinControl::IsSelected(const COutPoint& outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:27,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:28,1
    - Dst: auto::second::HasTxOut
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: wallet::CCoinControl::IsExternalSelected
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - auto::second::HasTxOut
    linkageType: ''
    returnType: bool
    signature: bool CCoinControl::IsExternalSelected(const COutPoint& outpoint) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:33,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:34,1
    - Dst: auto::second::HasTxOut
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:34,1
    - Dst: auto::second::GetTxOut
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: wallet::CCoinControl::GetExternalOutput
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::second::GetTxOut
    - find
    - auto::second::HasTxOut
    linkageType: ''
    returnType: std::optional<CTxOut>
    signature: std::optional<CTxOut> CCoinControl::GetExternalOutput(const COutPoint&
      outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetPosition
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: '& CCoinControl::Select(const COutPoint& outpoint)'
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - SetPosition
    linkageType: ''
    returnType: PreselectedInput
    signature: PreselectedInput & CCoinControl::Select(const COutPoint& outpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: wallet::CCoinControl::UnSelect
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void CCoinControl::UnSelect(const COutPoint& outpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: wallet::CCoinControl::UnSelectAll
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void CCoinControl::UnSelectAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:60,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:60,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:60,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: wallet::CCoinControl::ListSelected
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::transform
    - begin
    - std::back_inserter
    linkageType: ''
    returnType: std::vector<COutPoint>
    signature: std::vector<COutPoint> CCoinControl::ListSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CCoinControl::SetInputWeight
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' outpoint'
    - weight
    argTypes:
    - COutPoint
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: wallet::CCoinControl::SetInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 1
    functionsReached:
    - wallet::CCoinControl::SetInputWeight
    linkageType: ''
    returnType: void
    signature: void CCoinControl::SetInputWeight(const COutPoint& outpoint, int64_t
      weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:74,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:75,1
    - Dst: auto::second::GetInputWeight
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: wallet::CCoinControl::GetInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::second::GetInputWeight
    - find
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> CCoinControl::GetInputWeight(const COutPoint&
      outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:80,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:81,1
    - Dst: auto::second::GetSequence
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: wallet::CCoinControl::GetSequence
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - auto::second::GetSequence
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> CCoinControl::GetSequence(const COutPoint&
      outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:86,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:87,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:87,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: wallet::CCoinControl::GetScripts
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::make_pair
    - at
    - find
    linkageType: ''
    returnType: std::pair<std::optional<CScript>, std::optional<CScriptWitness>>
    signature: std::pair<std::optional<CScript>, std::optional<CScriptWitness>> CCoinControl::GetScripts(const
      COutPoint& outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txout'
    argTypes:
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: wallet::PreselectedInput::SetTxOut
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetTxOut(const CTxOut& txout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:97,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:97,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_txout.has_value())
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/wallet/coincontrol.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: wallet::PreselectedInput::GetTxOut
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - value
    - assert
    - has_value
    linkageType: ''
    returnType: CTxOut
    signature: CTxOut PreselectedInput::GetTxOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: wallet::PreselectedInput::HasTxOut
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool PreselectedInput::HasTxOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - weight
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: wallet::PreselectedInput::SetInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetInputWeight(int64_t weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: wallet::PreselectedInput::GetInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> PreselectedInput::GetInputWeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: wallet::PreselectedInput::SetSequence
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetSequence(uint32_t sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: wallet::PreselectedInput::GetSequence
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> PreselectedInput::GetSequence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: wallet::PreselectedInput::SetScriptSig
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetScriptSig(const CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script_wit'
    argTypes:
    - CScriptWitness
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: wallet::PreselectedInput::SetScriptWitness
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetScriptWitness(const CScriptWitness& script_wit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:138,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: wallet::PreselectedInput::HasScripts
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool PreselectedInput::HasScripts() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: wallet::PreselectedInput::GetScripts
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<std::optional<CScript>, std::optional<CScriptWitness>>
    signature: std::pair<std::optional<CScript>, std::optional<CScriptWitness>> PreselectedInput::GetScripts()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: wallet::PreselectedInput::SetPosition
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetPosition(unsigned int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: wallet::PreselectedInput::GetPosition
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<unsigned int>
    signature: std::optional<unsigned int> PreselectedInput::GetPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: wallet::CCoinControl::CCoinControl
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 1
    functionsReached:
    - GetBoolArg
    linkageType: ''
    returnType: void
    signature: void CCoinControl::CCoinControl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: wallet::CCoinControl::HasSelected
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool CCoinControl::HasSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: wallet::CCoinControl::IsSelected
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: bool
    signature: bool CCoinControl::IsSelected(const COutPoint& outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:27,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:28,1
    - Dst: auto::second::HasTxOut
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: wallet::CCoinControl::IsExternalSelected
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - auto::second::HasTxOut
    linkageType: ''
    returnType: bool
    signature: bool CCoinControl::IsExternalSelected(const COutPoint& outpoint) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:33,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:34,1
    - Dst: auto::second::HasTxOut
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:34,1
    - Dst: auto::second::GetTxOut
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: wallet::CCoinControl::GetExternalOutput
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::second::GetTxOut
    - find
    - auto::second::HasTxOut
    linkageType: ''
    returnType: std::optional<CTxOut>
    signature: std::optional<CTxOut> CCoinControl::GetExternalOutput(const COutPoint&
      outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetPosition
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: '& CCoinControl::Select(const COutPoint& outpoint)'
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - SetPosition
    linkageType: ''
    returnType: PreselectedInput
    signature: PreselectedInput & CCoinControl::Select(const COutPoint& outpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: wallet::CCoinControl::UnSelect
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void CCoinControl::UnSelect(const COutPoint& outpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: wallet::CCoinControl::UnSelectAll
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void CCoinControl::UnSelectAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:60,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:60,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:60,1
    - Dst: std::back_inserter
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: wallet::CCoinControl::ListSelected
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::transform
    - begin
    - std::back_inserter
    linkageType: ''
    returnType: std::vector<COutPoint>
    signature: std::vector<COutPoint> CCoinControl::ListSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CCoinControl::SetInputWeight
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' outpoint'
    - weight
    argTypes:
    - COutPoint
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: wallet::CCoinControl::SetInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 2
    functionsReached:
    - wallet::CCoinControl::SetInputWeight
    linkageType: ''
    returnType: void
    signature: void CCoinControl::SetInputWeight(const COutPoint& outpoint, int64_t
      weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:74,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:75,1
    - Dst: auto::second::GetInputWeight
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: wallet::CCoinControl::GetInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::second::GetInputWeight
    - find
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> CCoinControl::GetInputWeight(const COutPoint&
      outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:80,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:81,1
    - Dst: auto::second::GetSequence
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: wallet::CCoinControl::GetSequence
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - auto::second::GetSequence
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> CCoinControl::GetSequence(const COutPoint&
      outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:86,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:87,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:87,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' outpoint'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: wallet::CCoinControl::GetScripts
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::make_pair
    - at
    - find
    linkageType: ''
    returnType: std::pair<std::optional<CScript>, std::optional<CScriptWitness>>
    signature: std::pair<std::optional<CScript>, std::optional<CScriptWitness>> CCoinControl::GetScripts(const
      COutPoint& outpoint) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txout'
    argTypes:
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: wallet::PreselectedInput::SetTxOut
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetTxOut(const CTxOut& txout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:97,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:97,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_txout.has_value())
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/wallet/coincontrol.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: wallet::PreselectedInput::GetTxOut
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - value
    - assert
    - has_value
    linkageType: ''
    returnType: CTxOut
    signature: CTxOut PreselectedInput::GetTxOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: wallet::PreselectedInput::HasTxOut
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool PreselectedInput::HasTxOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - weight
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: wallet::PreselectedInput::SetInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetInputWeight(int64_t weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: wallet::PreselectedInput::GetInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> PreselectedInput::GetInputWeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: wallet::PreselectedInput::SetSequence
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetSequence(uint32_t sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: wallet::PreselectedInput::GetSequence
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> PreselectedInput::GetSequence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: wallet::PreselectedInput::SetScriptSig
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetScriptSig(const CScript& script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script_wit'
    argTypes:
    - CScriptWitness
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: wallet::PreselectedInput::SetScriptWitness
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetScriptWitness(const CScriptWitness& script_wit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:138,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coincontrol.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: wallet::PreselectedInput::HasScripts
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool PreselectedInput::HasScripts() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: wallet::PreselectedInput::GetScripts
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<std::optional<CScript>, std::optional<CScriptWitness>>
    signature: std::pair<std::optional<CScript>, std::optional<CScriptWitness>> PreselectedInput::GetScripts()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: wallet::PreselectedInput::SetPosition
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreselectedInput::SetPosition(unsigned int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: wallet::PreselectedInput::GetPosition
    functionSourceFile: /src/bitcoin-core/src/wallet/coincontrol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<unsigned int>
    signature: std::optional<unsigned int> PreselectedInput::GetPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CHDChain::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: wallet::CHDChain::CHDChain
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - wallet::CHDChain::SetNull
    linkageType: ''
    returnType: void
    signature: void CHDChain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:109,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: wallet::CHDChain::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CHDChain, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CHDChain::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: wallet::CHDChain::SetNull
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 2
    functionsReached:
    - wallet::CHDChain::SetNull
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - CHDChain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: operator==(const CHDChain& chain) const
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CHDChain& chain) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CKeyMetadata::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: wallet::CKeyMetadata::CKeyMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - wallet::CKeyMetadata::SetNull
    linkageType: ''
    returnType: void
    signature: void CKeyMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CKeyMetadata::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nCreateTime_
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: wallet::CKeyMetadata::CKeyMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - wallet::CKeyMetadata::SetNull
    linkageType: ''
    returnType: void
    signature: void CKeyMetadata(int64_t nCreateTime_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:155,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:157,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:161,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: wallet::CKeyMetadata::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CKeyMetadata, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/walletdb.h:170,1
    - Dst: wallet::CKeyMetadata::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:171,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/walletdb.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: wallet::CKeyMetadata::SetNull
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 3
    functionsReached:
    - wallet::CKeyMetadata::SetNull
    - clear
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/wallet/walletdb.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - K
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: wallet::WalletBatch::WriteIC
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: bool
    signature: bool WriteIC(const K& key, const T& value, bool fOverwrite = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Erase
      Src: /src/bitcoin-core/src/wallet/walletdb.h:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: wallet::WalletBatch::EraseIC
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - Erase
    linkageType: ''
    returnType: bool
    signature: bool EraseIC(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletDatabase::MakeBatch
      Src: /src/bitcoin-core/src/wallet/walletdb.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - database
    argTypes:
    - WalletDatabase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: wallet::WalletBatch::WalletBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - WalletDatabase::MakeBatch
    linkageType: ''
    returnType: void
    signature: void WalletBatch(WalletDatabase &database)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: wallet::WalletBatch::WalletBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletBatch(const WalletBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '& operator=(const WalletBatch&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WalletBatch
    signature: WalletBatch & operator=(const WalletBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/walletdb.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: wallet::WalletBatch::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 1
    functionsReached:
    - wallet::WalletBatch::HasActiveTxn
    linkageType: ''
    returnType: bool
    signature: bool HasActiveTxn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CHDChain::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: wallet::CHDChain::CHDChain
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - wallet::CHDChain::SetNull
    linkageType: ''
    returnType: void
    signature: void CHDChain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:109,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: wallet::CHDChain::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CHDChain, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CHDChain::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: wallet::CHDChain::SetNull
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 4
    functionsReached:
    - wallet::CHDChain::SetNull
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - CHDChain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: operator==(const CHDChain& chain) const
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CHDChain& chain) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CKeyMetadata::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: wallet::CKeyMetadata::CKeyMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - wallet::CKeyMetadata::SetNull
    linkageType: ''
    returnType: void
    signature: void CKeyMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CKeyMetadata::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nCreateTime_
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: wallet::CKeyMetadata::CKeyMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - wallet::CKeyMetadata::SetNull
    linkageType: ''
    returnType: void
    signature: void CKeyMetadata(int64_t nCreateTime_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:155,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:157,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:161,1
    - Dst: READWRITE
      Src: /src/bitcoin-core/src/wallet/walletdb.h:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: wallet::CKeyMetadata::SERIALIZE_METHODS
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(CKeyMetadata, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/walletdb.h:170,1
    - Dst: wallet::CKeyMetadata::SetNull
      Src: /src/bitcoin-core/src/wallet/walletdb.h:171,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/walletdb.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: wallet::CKeyMetadata::SetNull
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 6
    functionsReached:
    - wallet::CKeyMetadata::SetNull
    - clear
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/wallet/walletdb.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - K
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: wallet::WalletBatch::WriteIC
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: bool
    signature: bool WriteIC(const K& key, const T& value, bool fOverwrite = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Erase
      Src: /src/bitcoin-core/src/wallet/walletdb.h:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: wallet::WalletBatch::EraseIC
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - Erase
    linkageType: ''
    returnType: bool
    signature: bool EraseIC(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalletDatabase::MakeBatch
      Src: /src/bitcoin-core/src/wallet/walletdb.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - database
    argTypes:
    - WalletDatabase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: wallet::WalletBatch::WalletBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached:
    - WalletDatabase::MakeBatch
    linkageType: ''
    returnType: void
    signature: void WalletBatch(WalletDatabase &database)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: wallet::WalletBatch::WalletBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletBatch(const WalletBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '& operator=(const WalletBatch&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WalletBatch
    signature: WalletBatch & operator=(const WalletBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/walletdb.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: wallet::WalletBatch::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.h
    functionUses: 2
    functionsReached:
    - wallet::WalletBatch::HasActiveTxn
    linkageType: ''
    returnType: bool
    signature: bool HasActiveTxn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: wallet::ErrorMaxWeightExceeded
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> ErrorMaxWeightExceeded()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:32,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:32,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:36,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - OutputGroup
    - OutputGroup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: operator()(const OutputGroup& a, const OutputGroup& b) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - GetSelectionAmount
    linkageType: ''
    returnType: bool
    signature: bool operator()(const OutputGroup& a, const OutputGroup& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:44,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:44,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:48,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - OutputGroup
    - OutputGroup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: operator()(const OutputGroup& a, const OutputGroup& b) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - GetSelectionAmount
    linkageType: ''
    returnType: bool
    signature: bool operator()(const OutputGroup& a, const OutputGroup& b) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:106,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:106,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:107,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:110,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:114,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:114,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:120,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:120,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:149,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:154,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:155,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:159,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:159,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:160,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:161,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:164,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:166,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:169,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:171,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:173,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:176,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:176,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:177,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:180,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:181,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:189,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:190,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:190,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:195,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:195,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:197,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:198,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:198,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - ' utxo_pool'
    - ' selection_target'
    - ' cost_of_change'
    - max_selection_weight
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - int
    assertStmts:
    - condition: (best_waste == result.GetWaste())
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    - condition: (utxo.GetSelectionAmount() > 0)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    - condition: (utxo_pool_index == curr_selection.back())
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 201
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 201
    functionName: wallet::SelectCoinsBnB
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - end
    - SelectionResult::RecalculateWaste
    - SelectionResult::GetWaste
    - SelectionResult::AddInput
    - GetSelectionAmount
    - std::vector::back
    - at
    - std::vector::push_back
    - HandleError
    - std::vector::empty
    - wallet::ErrorMaxWeightExceeded
    - std::vector::pop_back
    - std::sort
    - assert
    - begin
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> SelectCoinsBnB(std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, const CAmount& cost_of_change,\n
      \                                            int max_selection_weight)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:327,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:327,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:327,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:329,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:331,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:335,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:336,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:337,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:341,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:341,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:342,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:343,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:349,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:414,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:415,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:417,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:427,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:429,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:434,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:457,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:457,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:457,1
    - Dst: SelectionResult::SetAlgoCompleted
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:468,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:472,1
    - Dst: deselect_last
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:481,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:487,1
    - Dst: SelectionResult::SetAlgoCompleted
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:490,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:493,1
    - Dst: deselect_last
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:494,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:502,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:502,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:503,1
    - Dst: SelectionResult::SetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:514,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:516,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:517,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:517,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:521,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 4
    argNames:
    - ' utxo_pool'
    - ' selection_target'
    - change_target
    - max_selection_weight
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 525
    functionName: wallet::CoinGrinder
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - end
    - SelectionResult::SetSelectionsEvaluated
    - SelectionResult::AddInput
    - Assume
    - GetSelectionAmount
    - SelectionResult::SetAlgoCompleted
    - std::vector::back
    - std::min
    - size
    - std::vector::push_back
    - HandleError
    - std::vector::empty
    - wallet::ErrorMaxWeightExceeded
    - deselect_last
    - std::vector::pop_back
    - std::sort
    - RandomMixin::max
    - begin
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> CoinGrinder(std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, CAmount change_target, int max_selection_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:532,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group1'
    - ' group2'
    argTypes:
    - OutputGroup
    - OutputGroup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: operator() (const OutputGroup& group1, const OutputGroup& group2)
      const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - GetSelectionAmount
    linkageType: ''
    returnType: int
    signature: int operator() (const OutputGroup& group1, const OutputGroup& group2)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:549,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:549,1
    - Dst: std::iota
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:550,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:550,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:550,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:551,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:551,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:551,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:557,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:558,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:558,1
    - Dst: std::priority_queue::push
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:561,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:562,1
    - Dst: std::priority_queue::top
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:570,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:571,1
    - Dst: std::priority_queue::pop
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:573,1
    - Dst: std::priority_queue::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:574,1
    - Dst: std::priority_queue::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:580,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:581,1
    - Dst: std::priority_queue::top
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:581,1
    - Dst: std::priority_queue::pop
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:582,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:587,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - ' utxo_pool'
    - target_value
    - change_fee
    - ' rng'
    - max_selection_weight
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - FastRandomContext
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 588
    functionName: wallet::SelectCoinsSRD
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - std::iota
    - std::vector::end
    - std::priority_queue::empty
    - SelectionResult::AddInput
    - std::vector::resize
    - Assume
    - GetSelectionAmount
    - std::priority_queue::top
    - at
    - std::vector::begin
    - size
    - HandleError
    - wallet::ErrorMaxWeightExceeded
    - std::shuffle
    - std::priority_queue::pop
    - std::priority_queue::push
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> SelectCoinsSRD(const std::vector<OutputGroup>&
      utxo_pool, CAmount target_value, CAmount change_fee, FastRandomContext& rng,\n
      \                                            int max_selection_weight)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:609,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:609,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:614,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:614,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:620,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:628,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:630,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:642,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 7
    argNames:
    - ' insecure_rand'
    - ' groups'
    - ' nTotalLower'
    - ' nTargetValue'
    - ' vfBest'
    - ' nBest'
    - max_selection_weight
    argTypes:
    - FastRandomContext
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - std::vector<char>
    - CAmount
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 650
    functionName: wallet::ApproximateBestSubset
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - GetSelectionAmount
    - assign
    - size
    - randbool
    - std::vector::assign
    linkageType: ''
    returnType: void
    signature: "void ApproximateBestSubset(FastRandomContext& insecure_rand, const
      std::vector<OutputGroup>& groups,\n                                  const CAmount&
      nTotalLower, const CAmount& nTargetValue,\n                                  std::vector<char>&
      vfBest, CAmount& nBest, int max_selection_weight, int iterations = 1000)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:665,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:665,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:665,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:672,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:673,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:675,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:676,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:677,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:678,1
    - Dst: std::optional::GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:678,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:685,1
    - Dst: SelectionResult::GetWeight
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:687,1
    - Dst: SelectionResult::Clear
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:691,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:696,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:697,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:699,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:704,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:704,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:704,1
    - Dst: wallet::ApproximateBestSubset
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:708,1
    - Dst: wallet::ApproximateBestSubset
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:710,1
    - Dst: std::optional::GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:716,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:717,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:719,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:721,1
    - Dst: SelectionResult::GetWeight
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:726,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:728,1
    - Dst: SelectionResult::Clear
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:731,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:732,1
    - Dst: LogAcceptCategory
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:735,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:737,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:739,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:739,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:742,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:742,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:745,1
    - Dst: SelectionResult::GetWeight
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:745,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 5
    argNames:
    - ' groups'
    - ' nTargetValue'
    - change_target
    - ' rng'
    - max_selection_weight
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - FastRandomContext
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 747
    functionName: wallet::KnapsackSolver
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - GetSelectionAmount
    - std::vector::push_back
    - std::shuffle
    - std::vector::end
    - SelectionResult::AddInput
    - wallet::ErrorMaxWeightExceeded
    - LogAcceptCategory
    - FormatMoney
    - SelectionResult::GetWeight
    - std::vector::size
    - std::optional::GetSelectionAmount
    - SelectionResult::Clear
    - Assume
    - LogDebug
    - HandleError
    - strprintf
    - end
    - std::vector::begin
    - wallet::ApproximateBestSubset
    - std::sort
    - begin
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> KnapsackSolver(std::vector<OutputGroup>&
      groups, const CAmount& nTargetValue,\n                                             CAmount
      change_target, FastRandomContext& rng, int max_selection_weight)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:756,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:757,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:759,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:761,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:764,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:768,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ' output'
    - ancestors
    - descendants
    argTypes:
    - std::shared_ptr<COutput>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 780
    functionName: wallet::OutputGroup::Insert
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - GetFee
    - GetEffectiveValue
    - back
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void OutputGroup::Insert(const std::shared_ptr<COutput>& output, size_t
      ancestors, size_t descendants)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' eligibility_filter'
    argTypes:
    - CoinEligibilityFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 787
    functionName: wallet::OutputGroup::EligibleForSpending
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool OutputGroup::EligibleForSpending(const CoinEligibilityFilter&
      eligibility_filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: wallet::OutputGroup::GetSelectionAmount
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount OutputGroup::GetSelectionAmount() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_outputs::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:796,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:799,1
    - Dst: positive_group::emplace_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:800,1
    - Dst: positive_group::emplace_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:801,1
    - Dst: mixed_group::emplace_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:804,1
    - Dst: mixed_group::emplace_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ' group'
    - type
    - insert_positive
    - insert_mixed
    argTypes:
    - OutputGroup
    - OutputType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: wallet::OutputGroupTypeMap::Push
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - positive_group::emplace_back
    - m_outputs::empty
    - mixed_group::emplace_back
    - GetSelectionAmount
    linkageType: ''
    returnType: void
    signature: void OutputGroupTypeMap::Push(const OutputGroup& group, OutputType
      type, bool insert_positive, bool insert_mixed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:815,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - payment_value
    - change_fee
    - ' rng'
    argTypes:
    - CAmount
    - CAmount
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: wallet::GenerateChangeTarget
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - randrange
    - std::min
    linkageType: ''
    returnType: CAmount
    signature: CAmount GenerateChangeTarget(const CAmount payment_value, const CAmount
      change_fee, FastRandomContext& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - discount
    argTypes:
    - CAmount
    assertStmts:
    - condition: (discount >= 0)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: wallet::SelectionResult::SetBumpFeeDiscount
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void SelectionResult::SetBumpFeeDiscount(const CAmount discount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:830,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:830,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:836,1
    - Dst: wallet::SelectionResult::GetChange
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:841,1
    - Dst: wallet::SelectionResult::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:847,1
    - Dst: wallet::SelectionResult::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:847,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - min_viable_change
    - change_cost
    - change_fee
    argTypes:
    - CAmount
    - CAmount
    - CAmount
    assertStmts:
    - condition: (!m_selected_inputs.empty())
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    - condition: (selected_effective_value >= m_target)
      pos:
        line_end: 847
        line_start: 847
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 853
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 853
    functionName: wallet::SelectionResult::RecalculateWaste
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - empty
    - GetFee
    - wallet::SelectionResult::GetSelectedValue
    - wallet::SelectionResult::GetChange
    - wallet::SelectionResult::GetSelectedEffectiveValue
    - assert
    linkageType: ''
    returnType: void
    signature: void SelectionResult::RecalculateWaste(const CAmount min_viable_change,
      const CAmount change_cost, const CAmount change_fee)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_completed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: wallet::SelectionResult::SetAlgoCompleted
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelectionResult::SetAlgoCompleted(bool algo_completed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: wallet::SelectionResult::GetAlgoCompleted
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SelectionResult::GetAlgoCompleted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attempts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: wallet::SelectionResult::SetSelectionsEvaluated
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelectionResult::SetSelectionsEvaluated(size_t attempts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: wallet::SelectionResult::GetSelectionsEvaluated
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SelectionResult::GetSelectionsEvaluated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 878
    functionName: wallet::SelectionResult::GetWaste
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetWaste() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:882,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:882,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 883
    functionName: wallet::SelectionResult::GetSelectedValue
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 1
    functionsReached:
    - std::accumulate
    - cend
    - cbegin
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetSelectedValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:887,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:887,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:887,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 888
    functionName: wallet::SelectionResult::GetSelectedEffectiveValue
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 1
    functionsReached:
    - std::accumulate
    - GetEffectiveValue
    - cend
    - cbegin
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetSelectedEffectiveValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:892,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:892,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 893
    functionName: wallet::SelectionResult::GetTotalBumpFees
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - std::accumulate
    - cend
    - cbegin
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetTotalBumpFees() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:897,1
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: wallet::SelectionResult::Clear
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - clear
    - reset
    linkageType: ''
    returnType: void
    signature: void SelectionResult::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertInputs
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - OutputGroup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 909
    functionName: wallet::SelectionResult::AddInput
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - InsertInputs
    linkageType: ''
    returnType: void
    signature: void SelectionResult::AddInput(const OutputGroup& group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertInputs
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:914,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:917,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:917,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:917,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' inputs'
    - subtract_fee_outputs
    argTypes:
    - std::set<std::shared_ptr<COutput>>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 920
    functionName: wallet::SelectionResult::AddInputs
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - std::accumulate
    - cend
    - InsertInputs
    - std::max
    - cbegin
    linkageType: ''
    returnType: void
    signature: void SelectionResult::AddInputs(const std::set<std::shared_ptr<COutput>>&
      inputs, bool subtract_fee_outputs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InsertInputs
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 934
    functionName: wallet::SelectionResult::Merge
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - InsertInputs
    linkageType: ''
    returnType: void
    signature: void SelectionResult::Merge(const SelectionResult& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: '& SelectionResult::GetInputSet() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::set<std::shared_ptr<COutput>>
    signature: std::set<std::shared_ptr<COutput>> & SelectionResult::GetInputSet()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:943,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:943,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:944,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:944,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:944,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 946
    functionName: wallet::SelectionResult::GetShuffledInputVector
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - std::vector::begin
    - std::shuffle
    - FastRandomContext
    - begin
    linkageType: ''
    returnType: std::vector<std::shared_ptr<COutput>>
    signature: std::vector<std::shared_ptr<COutput>> SelectionResult::GetShuffledInputVector()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:950,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:950,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:951,1
    - Dst: SelectionResult::m_waste::has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:951,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:953,1
    - Dst: SelectionResult::m_selected_inputs::size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 954
    functionName: SelectionResult::operator<(SelectionResult other) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - SelectionResult::m_waste::has_value
    - SelectionResult::m_selected_inputs::size
    - size
    - Assert
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool SelectionResult::operator<(SelectionResult other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:958,1
    - Dst: hash::ToString
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:958,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: wallet::COutput::ToString
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - FormatMoney
    - hash::ToString
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string COutput::ToString() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - algo
    argTypes:
    - SelectionAlgorithm
    assertStmts:
    - condition: (false)
      pos:
        line_end: 971
        line_start: 971
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: wallet::GetAlgorithmName
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string GetAlgorithmName(const SelectionAlgorithm algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SelectionResult::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:984,1
    - Dst: wallet::SelectionResult::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - min_viable_change
    - change_fee
    argTypes:
    - CAmount
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 992
    functionName: wallet::SelectionResult::GetChange
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 1
    functionsReached:
    - wallet::SelectionResult::GetSelectedEffectiveValue
    - wallet::SelectionResult::GetSelectedValue
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetChange(const CAmount min_viable_change,
      const CAmount change_fee) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: wallet::ErrorMaxWeightExceeded
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 4
    functionsReached:
    - _
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> ErrorMaxWeightExceeded()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:32,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:32,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:36,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - OutputGroup
    - OutputGroup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: operator()(const OutputGroup& a, const OutputGroup& b) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - GetSelectionAmount
    linkageType: ''
    returnType: bool
    signature: bool operator()(const OutputGroup& a, const OutputGroup& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:44,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:44,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:48,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - OutputGroup
    - OutputGroup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: operator()(const OutputGroup& a, const OutputGroup& b) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - GetSelectionAmount
    linkageType: ''
    returnType: bool
    signature: bool operator()(const OutputGroup& a, const OutputGroup& b) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:106,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:106,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:107,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:110,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:114,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:114,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:114,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:120,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:120,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:149,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:154,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:155,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:159,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:159,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:160,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:161,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:164,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:166,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:169,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:171,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:173,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:176,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:176,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:177,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:180,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:181,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:189,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:190,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:190,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:195,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:195,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:197,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:198,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:198,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - ' utxo_pool'
    - ' selection_target'
    - ' cost_of_change'
    - max_selection_weight
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - int
    assertStmts:
    - condition: (best_waste == result.GetWaste())
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    - condition: (utxo.GetSelectionAmount() > 0)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    - condition: (utxo_pool_index == curr_selection.back())
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 201
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 201
    functionName: wallet::SelectCoinsBnB
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - end
    - SelectionResult::RecalculateWaste
    - SelectionResult::GetWaste
    - SelectionResult::AddInput
    - GetSelectionAmount
    - std::vector::back
    - at
    - std::vector::push_back
    - HandleError
    - std::vector::empty
    - wallet::ErrorMaxWeightExceeded
    - std::vector::pop_back
    - std::sort
    - assert
    - begin
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> SelectCoinsBnB(std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, const CAmount& cost_of_change,\n
      \                                            int max_selection_weight)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:327,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:327,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:327,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:329,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:331,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:335,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:336,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:337,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:341,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:341,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:342,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:343,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:349,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:414,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:415,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:417,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:427,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:429,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:434,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:457,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:457,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:457,1
    - Dst: SelectionResult::SetAlgoCompleted
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:468,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:472,1
    - Dst: deselect_last
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:481,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:487,1
    - Dst: SelectionResult::SetAlgoCompleted
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:490,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:493,1
    - Dst: deselect_last
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:494,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:502,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:502,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:503,1
    - Dst: SelectionResult::SetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:514,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:516,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:517,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:517,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:521,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 4
    argNames:
    - ' utxo_pool'
    - ' selection_target'
    - change_target
    - max_selection_weight
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 525
    functionName: wallet::CoinGrinder
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - end
    - SelectionResult::SetSelectionsEvaluated
    - SelectionResult::AddInput
    - Assume
    - GetSelectionAmount
    - SelectionResult::SetAlgoCompleted
    - std::vector::back
    - std::min
    - size
    - std::vector::push_back
    - HandleError
    - std::vector::empty
    - wallet::ErrorMaxWeightExceeded
    - deselect_last
    - std::vector::pop_back
    - std::sort
    - RandomMixin::max
    - begin
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> CoinGrinder(std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, CAmount change_target, int max_selection_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:532,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group1'
    - ' group2'
    argTypes:
    - OutputGroup
    - OutputGroup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: operator() (const OutputGroup& group1, const OutputGroup& group2)
      const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - GetSelectionAmount
    linkageType: ''
    returnType: int
    signature: int operator() (const OutputGroup& group1, const OutputGroup& group2)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:549,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:549,1
    - Dst: std::iota
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:550,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:550,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:550,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:551,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:551,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:551,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:557,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:558,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:558,1
    - Dst: std::priority_queue::push
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:561,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:562,1
    - Dst: std::priority_queue::top
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:570,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:571,1
    - Dst: std::priority_queue::pop
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:573,1
    - Dst: std::priority_queue::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:574,1
    - Dst: std::priority_queue::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:580,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:581,1
    - Dst: std::priority_queue::top
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:581,1
    - Dst: std::priority_queue::pop
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:582,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:587,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - ' utxo_pool'
    - target_value
    - change_fee
    - ' rng'
    - max_selection_weight
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - FastRandomContext
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 588
    functionName: wallet::SelectCoinsSRD
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - std::iota
    - std::vector::end
    - std::priority_queue::empty
    - SelectionResult::AddInput
    - std::vector::resize
    - Assume
    - GetSelectionAmount
    - std::priority_queue::top
    - at
    - std::vector::begin
    - size
    - HandleError
    - wallet::ErrorMaxWeightExceeded
    - std::shuffle
    - std::priority_queue::pop
    - std::priority_queue::push
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> SelectCoinsSRD(const std::vector<OutputGroup>&
      utxo_pool, CAmount target_value, CAmount change_fee, FastRandomContext& rng,\n
      \                                            int max_selection_weight)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:609,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:609,1
    - Dst: std::vector::assign
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:614,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:614,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:620,1
    - Dst: randbool
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:628,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:630,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:642,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 7
    argNames:
    - ' insecure_rand'
    - ' groups'
    - ' nTotalLower'
    - ' nTargetValue'
    - ' vfBest'
    - ' nBest'
    - max_selection_weight
    argTypes:
    - FastRandomContext
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - std::vector<char>
    - CAmount
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 650
    functionName: wallet::ApproximateBestSubset
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 1
    functionsReached:
    - GetSelectionAmount
    - assign
    - size
    - randbool
    - std::vector::assign
    linkageType: ''
    returnType: void
    signature: "void ApproximateBestSubset(FastRandomContext& insecure_rand, const
      std::vector<OutputGroup>& groups,\n                                  const CAmount&
      nTotalLower, const CAmount& nTargetValue,\n                                  std::vector<char>&
      vfBest, CAmount& nBest, int max_selection_weight, int iterations = 1000)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:665,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:665,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:665,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:672,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:673,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:675,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:676,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:677,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:678,1
    - Dst: std::optional::GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:678,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:685,1
    - Dst: SelectionResult::GetWeight
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:687,1
    - Dst: SelectionResult::Clear
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:691,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:696,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:697,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:699,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:704,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:704,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:704,1
    - Dst: wallet::ApproximateBestSubset
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:708,1
    - Dst: wallet::ApproximateBestSubset
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:710,1
    - Dst: std::optional::GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:716,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:717,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:719,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:721,1
    - Dst: SelectionResult::GetWeight
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:726,1
    - Dst: wallet::ErrorMaxWeightExceeded
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:728,1
    - Dst: SelectionResult::Clear
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:731,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:732,1
    - Dst: LogAcceptCategory
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:735,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:737,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:739,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:739,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:742,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:742,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:745,1
    - Dst: SelectionResult::GetWeight
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:745,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 5
    argNames:
    - ' groups'
    - ' nTargetValue'
    - change_target
    - ' rng'
    - max_selection_weight
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - FastRandomContext
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 747
    functionName: wallet::KnapsackSolver
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - GetSelectionAmount
    - std::vector::push_back
    - std::shuffle
    - std::vector::end
    - SelectionResult::AddInput
    - wallet::ErrorMaxWeightExceeded
    - LogAcceptCategory
    - FormatMoney
    - SelectionResult::GetWeight
    - std::vector::size
    - std::optional::GetSelectionAmount
    - SelectionResult::Clear
    - Assume
    - LogDebug
    - HandleError
    - strprintf
    - end
    - std::vector::begin
    - wallet::ApproximateBestSubset
    - std::sort
    - begin
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> KnapsackSolver(std::vector<OutputGroup>&
      groups, const CAmount& nTargetValue,\n                                             CAmount
      change_target, FastRandomContext& rng, int max_selection_weight)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:756,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:757,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:759,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:761,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:764,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:768,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ' output'
    - ancestors
    - descendants
    argTypes:
    - std::shared_ptr<COutput>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 780
    functionName: wallet::OutputGroup::Insert
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - GetFee
    - GetEffectiveValue
    - back
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void OutputGroup::Insert(const std::shared_ptr<COutput>& output, size_t
      ancestors, size_t descendants)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' eligibility_filter'
    argTypes:
    - CoinEligibilityFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 787
    functionName: wallet::OutputGroup::EligibleForSpending
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool OutputGroup::EligibleForSpending(const CoinEligibilityFilter&
      eligibility_filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: wallet::OutputGroup::GetSelectionAmount
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount OutputGroup::GetSelectionAmount() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_outputs::empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:796,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:799,1
    - Dst: positive_group::emplace_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:800,1
    - Dst: positive_group::emplace_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:801,1
    - Dst: mixed_group::emplace_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:804,1
    - Dst: mixed_group::emplace_back
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ' group'
    - type
    - insert_positive
    - insert_mixed
    argTypes:
    - OutputGroup
    - OutputType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: wallet::OutputGroupTypeMap::Push
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - positive_group::emplace_back
    - m_outputs::empty
    - mixed_group::emplace_back
    - GetSelectionAmount
    linkageType: ''
    returnType: void
    signature: void OutputGroupTypeMap::Push(const OutputGroup& group, OutputType
      type, bool insert_positive, bool insert_mixed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:815,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - payment_value
    - change_fee
    - ' rng'
    argTypes:
    - CAmount
    - CAmount
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: wallet::GenerateChangeTarget
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - randrange
    - std::min
    linkageType: ''
    returnType: CAmount
    signature: CAmount GenerateChangeTarget(const CAmount payment_value, const CAmount
      change_fee, FastRandomContext& rng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - discount
    argTypes:
    - CAmount
    assertStmts:
    - condition: (discount >= 0)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: wallet::SelectionResult::SetBumpFeeDiscount
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void SelectionResult::SetBumpFeeDiscount(const CAmount discount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:830,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:830,1
    - Dst: GetFee
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:836,1
    - Dst: wallet::SelectionResult::GetChange
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:841,1
    - Dst: wallet::SelectionResult::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:847,1
    - Dst: wallet::SelectionResult::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:847,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - min_viable_change
    - change_cost
    - change_fee
    argTypes:
    - CAmount
    - CAmount
    - CAmount
    assertStmts:
    - condition: (!m_selected_inputs.empty())
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    - condition: (selected_effective_value >= m_target)
      pos:
        line_end: 847
        line_start: 847
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 853
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 853
    functionName: wallet::SelectionResult::RecalculateWaste
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - empty
    - GetFee
    - wallet::SelectionResult::GetSelectedValue
    - wallet::SelectionResult::GetChange
    - wallet::SelectionResult::GetSelectedEffectiveValue
    - assert
    linkageType: ''
    returnType: void
    signature: void SelectionResult::RecalculateWaste(const CAmount min_viable_change,
      const CAmount change_cost, const CAmount change_fee)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_completed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: wallet::SelectionResult::SetAlgoCompleted
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelectionResult::SetAlgoCompleted(bool algo_completed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: wallet::SelectionResult::GetAlgoCompleted
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SelectionResult::GetAlgoCompleted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attempts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: wallet::SelectionResult::SetSelectionsEvaluated
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelectionResult::SetSelectionsEvaluated(size_t attempts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: wallet::SelectionResult::GetSelectionsEvaluated
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SelectionResult::GetSelectionsEvaluated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 878
    functionName: wallet::SelectionResult::GetWaste
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetWaste() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:882,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:882,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 883
    functionName: wallet::SelectionResult::GetSelectedValue
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 3
    functionsReached:
    - std::accumulate
    - cend
    - cbegin
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetSelectedValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:887,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:887,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:887,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 888
    functionName: wallet::SelectionResult::GetSelectedEffectiveValue
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 3
    functionsReached:
    - std::accumulate
    - GetEffectiveValue
    - cend
    - cbegin
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetSelectedEffectiveValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:892,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:892,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 893
    functionName: wallet::SelectionResult::GetTotalBumpFees
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - std::accumulate
    - cend
    - cbegin
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetTotalBumpFees() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:897,1
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: wallet::SelectionResult::Clear
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - clear
    - reset
    linkageType: ''
    returnType: void
    signature: void SelectionResult::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertInputs
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - OutputGroup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 909
    functionName: wallet::SelectionResult::AddInput
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - InsertInputs
    linkageType: ''
    returnType: void
    signature: void SelectionResult::AddInput(const OutputGroup& group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertInputs
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:914,1
    - Dst: std::accumulate
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:917,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:917,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:917,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' inputs'
    - subtract_fee_outputs
    argTypes:
    - std::set<std::shared_ptr<COutput>>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 920
    functionName: wallet::SelectionResult::AddInputs
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - std::accumulate
    - cend
    - InsertInputs
    - std::max
    - cbegin
    linkageType: ''
    returnType: void
    signature: void SelectionResult::AddInputs(const std::set<std::shared_ptr<COutput>>&
      inputs, bool subtract_fee_outputs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InsertInputs
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 934
    functionName: wallet::SelectionResult::Merge
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - InsertInputs
    linkageType: ''
    returnType: void
    signature: void SelectionResult::Merge(const SelectionResult& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: '& SelectionResult::GetInputSet() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::set<std::shared_ptr<COutput>>
    signature: std::set<std::shared_ptr<COutput>> & SelectionResult::GetInputSet()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:943,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:943,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:944,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:944,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:944,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 946
    functionName: wallet::SelectionResult::GetShuffledInputVector
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - std::vector::begin
    - std::shuffle
    - FastRandomContext
    - begin
    linkageType: ''
    returnType: std::vector<std::shared_ptr<COutput>>
    signature: std::vector<std::shared_ptr<COutput>> SelectionResult::GetShuffledInputVector()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:950,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:950,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:951,1
    - Dst: SelectionResult::m_waste::has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:951,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:953,1
    - Dst: SelectionResult::m_selected_inputs::size
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 954
    functionName: SelectionResult::operator<(SelectionResult other) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - SelectionResult::m_waste::has_value
    - SelectionResult::m_selected_inputs::size
    - size
    - Assert
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool SelectionResult::operator<(SelectionResult other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:958,1
    - Dst: hash::ToString
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:958,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: wallet::COutput::ToString
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - FormatMoney
    - hash::ToString
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string COutput::ToString() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - algo
    argTypes:
    - SelectionAlgorithm
    assertStmts:
    - condition: (false)
      pos:
        line_end: 971
        line_start: 971
        source_file: /src/bitcoin-core/src/wallet/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: wallet::GetAlgorithmName
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string GetAlgorithmName(const SelectionAlgorithm algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SelectionResult::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:984,1
    - Dst: wallet::SelectionResult::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/coinselection.cpp:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - min_viable_change
    - change_fee
    argTypes:
    - CAmount
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 992
    functionName: wallet::SelectionResult::GetChange
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.cpp
    functionUses: 2
    functionsReached:
    - wallet::SelectionResult::GetSelectedEffectiveValue
    - wallet::SelectionResult::GetSelectedValue
    linkageType: ''
    returnType: CAmount
    signature: CAmount SelectionResult::GetChange(const CAmount min_viable_change,
      const CAmount change_fee) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::path
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:15,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:17,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:18,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:19,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:25,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 33
    functionName: wallet::GetWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.cpp
    functionUses: 2
    functionsReached:
    - GetPathArg
    - fs::path::path
    - fs::is_directory
    - GetDataDirNet
    - IsArgSet
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetWalletDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wallet_version
    - feature_version
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: wallet::IsFeatureSupported
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFeatureSupported(int wallet_version, int feature_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WalletFeature>
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: wallet::GetClosestWalletFeature
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WalletFeature>
    linkageType: ''
    returnType: WalletFeature
    signature: WalletFeature GetClosestWalletFeature(int version)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:51,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:79,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:82,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:82,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:85,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:97,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:98,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - ' master_key'
    - ' addr_type'
    - internal
    argTypes:
    - CExtPubKey
    - OutputType
    - bool
    assertStmts:
    - condition: (false)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/bitcoin-core/src/wallet/walletutil.cpp
    - condition: (!desc_prefix.empty())
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/wallet/walletutil.cpp
    constantsTouched: []
    func_position:
      end: 100
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 100
    functionName: wallet::GenerateWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - std::vector::at
    - Parse
    - std::string::empty
    - std::move
    - Params
    - assert
    - EncodeExtPubKey
    linkageType: ''
    returnType: WalletDescriptor
    signature: WalletDescriptor GenerateWalletDescriptor(const CExtPubKey& master_key,
      const OutputType& addr_type, bool internal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::path
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:15,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:17,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:18,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:19,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:25,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 33
    functionName: wallet::GetWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.cpp
    functionUses: 2
    functionsReached:
    - GetPathArg
    - fs::path::path
    - fs::is_directory
    - GetDataDirNet
    - IsArgSet
    linkageType: ''
    returnType: fs::path
    signature: fs::path GetWalletDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wallet_version
    - feature_version
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: wallet::IsFeatureSupported
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFeatureSupported(int wallet_version, int feature_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WalletFeature>
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: wallet::GetClosestWalletFeature
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WalletFeature>
    linkageType: ''
    returnType: WalletFeature
    signature: WalletFeature GetClosestWalletFeature(int version)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:51,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:53,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:79,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:82,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:82,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:85,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:97,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:98,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/walletutil.cpp:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - ' master_key'
    - ' addr_type'
    - internal
    argTypes:
    - CExtPubKey
    - OutputType
    - bool
    assertStmts:
    - condition: (false)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/bitcoin-core/src/wallet/walletutil.cpp
    - condition: (!desc_prefix.empty())
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/wallet/walletutil.cpp
    constantsTouched: []
    func_position:
      end: 100
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 100
    functionName: wallet::GenerateWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletutil.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - std::vector::at
    - Parse
    - std::string::empty
    - std::move
    - Params
    - assert
    - EncodeExtPubKey
    linkageType: ''
    returnType: WalletDescriptor
    signature: WalletDescriptor GenerateWalletDescriptor(const CExtPubKey& master_key,
      const OutputType& addr_type, bool internal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:91,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 9
    argNames:
    - ' outpoint'
    - ' txout'
    - depth
    - input_bytes
    - spendable
    - solvable
    - safe
    - time
    - from_me
    argTypes:
    - COutPoint
    - CTxOut
    - int
    - int
    - bool
    - bool
    - bool
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: wallet::COutput
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: void
    signature: void COutput(const COutPoint& outpoint, const CTxOut& txout, int depth,
      int input_bytes, bool spendable, bool solvable, bool safe, int64_t time, bool
      from_me, const std::optional<CFeeRate> feerate = std::nullopt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:100,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 10
    argNames:
    - ' outpoint'
    - ' txout'
    - depth
    - input_bytes
    - spendable
    - solvable
    - safe
    - time
    - from_me
    - fees
    argTypes:
    - COutPoint
    - CTxOut
    - int
    - int
    - bool
    - bool
    - bool
    - int64_t
    - bool
    - CAmount
    assertStmts:
    - condition: ((input_bytes < 0 && fees == 0) || (input_bytes > 0 && fees >= 0))
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: wallet::COutput
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    - assert
    linkageType: ''
    returnType: void
    signature: void COutput(const COutPoint& outpoint, const CTxOut& txout, int depth,
      int input_bytes, bool spendable, bool solvable, bool safe, int64_t time, bool
      from_me, const CAmount fees)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - COutput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: operator<(const COutput& rhs) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const COutput& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:114,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:116,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bump_fee
    argTypes:
    - CAmount
    assertStmts:
    - condition: (bump_fee >= 0)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    - condition: (fee)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: wallet::ApplyBumpFee
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    - assert
    linkageType: ''
    returnType: void
    signature: void ApplyBumpFee(CAmount bump_fee)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:124,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:124,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fee.has_value())
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: wallet::GetFee
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    - assert
    - has_value
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:130,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:130,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (effective_value.has_value())
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: wallet::GetEffectiveValue
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    - assert
    - has_value
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetEffectiveValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: wallet::HasEffectiveValue
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool HasEffectiveValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' rng_fast'
    - change_output_size
    - change_spend_size
    - min_change_target
    - effective_feerate
    - long_term_feerate
    - discard_feerate
    - tx_noinputs_size
    - avoid_partial
    argTypes:
    - FastRandomContext
    - int
    - int
    - CAmount
    - CFeeRate
    - CFeeRate
    - CFeeRate
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: wallet::CoinSelectionParams
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoinSelectionParams(FastRandomContext& rng_fast, int change_output_size,
      int change_spend_size,\n                        CAmount min_change_target, CFeeRate
      effective_feerate,\n                        CFeeRate long_term_feerate, CFeeRate
      discard_feerate, int tx_noinputs_size, bool avoid_partial,\n                        std::optional<int>
      max_tx_weight = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng_fast'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: wallet::CoinSelectionParams
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinSelectionParams(FastRandomContext& rng_fast)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: wallet::CoinEligibilityFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinEligibilityFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - conf_mine
    - conf_theirs
    - max_ancestors
    argTypes:
    - int
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: wallet::CoinEligibilityFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinEligibilityFilter(int conf_mine, int conf_theirs, uint64_t
      max_ancestors)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - conf_mine
    - conf_theirs
    - max_ancestors
    - max_descendants
    argTypes:
    - int
    - int
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: wallet::CoinEligibilityFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinEligibilityFilter(int conf_mine, int conf_theirs, uint64_t
      max_ancestors, uint64_t max_descendants)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - conf_mine
    - conf_theirs
    - max_ancestors
    - max_descendants
    - include_partial
    argTypes:
    - int
    - int
    - uint64_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: wallet::CoinEligibilityFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinEligibilityFilter(int conf_mine, int conf_theirs, uint64_t
      max_ancestors, uint64_t max_descendants, bool include_partial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/wallet/coinselection.h:223,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/wallet/coinselection.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CoinEligibilityFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: operator<(const CoinEligibilityFilter& other) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CoinEligibilityFilter& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: wallet::OutputGroup
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutputGroup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: wallet::OutputGroup
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutputGroup(const CoinSelectionParams& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: wallet::TypesCount
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t TypesCount()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.h:350,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.h:350,1
    - Dst: util::insert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:351,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.h:352,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/coinselection.h:353,1
    - Dst: STR_INTERNAL_BUG
      Src: /src/bitcoin-core/src/wallet/coinselection.h:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' inputs'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: wallet::InsertInputs
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - util::insert
    - STR_INTERNAL_BUG
    - std::runtime_error
    - size
    linkageType: ''
    returnType: void
    signature: void InsertInputs(const T& inputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - target
    - algo
    argTypes:
    - CAmount
    - SelectionAlgorithm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: wallet::SelectionResult
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelectionResult(const CAmount target, SelectionAlgorithm algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: wallet::SelectionResult
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelectionResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: wallet::GetTarget
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetTarget() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: wallet::GetAlgo
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SelectionAlgorithm
    signature: SelectionAlgorithm GetAlgo() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    functionName: wallet::GetWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetWeight() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:91,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 9
    argNames:
    - ' outpoint'
    - ' txout'
    - depth
    - input_bytes
    - spendable
    - solvable
    - safe
    - time
    - from_me
    argTypes:
    - COutPoint
    - CTxOut
    - int
    - int
    - bool
    - bool
    - bool
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: wallet::COutput
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: void
    signature: void COutput(const COutPoint& outpoint, const CTxOut& txout, int depth,
      int input_bytes, bool spendable, bool solvable, bool safe, int64_t time, bool
      from_me, const std::optional<CFeeRate> feerate = std::nullopt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:100,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 10
    argNames:
    - ' outpoint'
    - ' txout'
    - depth
    - input_bytes
    - spendable
    - solvable
    - safe
    - time
    - from_me
    - fees
    argTypes:
    - COutPoint
    - CTxOut
    - int
    - int
    - bool
    - bool
    - bool
    - int64_t
    - bool
    - CAmount
    assertStmts:
    - condition: ((input_bytes < 0 && fees == 0) || (input_bytes > 0 && fees >= 0))
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: wallet::COutput
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    - assert
    linkageType: ''
    returnType: void
    signature: void COutput(const COutPoint& outpoint, const CTxOut& txout, int depth,
      int input_bytes, bool spendable, bool solvable, bool safe, int64_t time, bool
      from_me, const CAmount fees)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - COutput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: operator<(const COutput& rhs) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const COutput& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:114,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:116,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bump_fee
    argTypes:
    - CAmount
    assertStmts:
    - condition: (bump_fee >= 0)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    - condition: (fee)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: wallet::ApplyBumpFee
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    - assert
    linkageType: ''
    returnType: void
    signature: void ApplyBumpFee(CAmount bump_fee)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:124,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:124,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fee.has_value())
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: wallet::GetFee
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    - assert
    - has_value
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetFee() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:130,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:130,1
    - Dst: value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (effective_value.has_value())
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/wallet/coinselection.h
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: wallet::GetEffectiveValue
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - value
    - assert
    - has_value
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetEffectiveValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/coinselection.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: wallet::HasEffectiveValue
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool HasEffectiveValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' rng_fast'
    - change_output_size
    - change_spend_size
    - min_change_target
    - effective_feerate
    - long_term_feerate
    - discard_feerate
    - tx_noinputs_size
    - avoid_partial
    argTypes:
    - FastRandomContext
    - int
    - int
    - CAmount
    - CFeeRate
    - CFeeRate
    - CFeeRate
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: wallet::CoinSelectionParams
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoinSelectionParams(FastRandomContext& rng_fast, int change_output_size,
      int change_spend_size,\n                        CAmount min_change_target, CFeeRate
      effective_feerate,\n                        CFeeRate long_term_feerate, CFeeRate
      discard_feerate, int tx_noinputs_size, bool avoid_partial,\n                        std::optional<int>
      max_tx_weight = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng_fast'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: wallet::CoinSelectionParams
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinSelectionParams(FastRandomContext& rng_fast)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: wallet::CoinEligibilityFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinEligibilityFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - conf_mine
    - conf_theirs
    - max_ancestors
    argTypes:
    - int
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: wallet::CoinEligibilityFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinEligibilityFilter(int conf_mine, int conf_theirs, uint64_t
      max_ancestors)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - conf_mine
    - conf_theirs
    - max_ancestors
    - max_descendants
    argTypes:
    - int
    - int
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: wallet::CoinEligibilityFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinEligibilityFilter(int conf_mine, int conf_theirs, uint64_t
      max_ancestors, uint64_t max_descendants)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - conf_mine
    - conf_theirs
    - max_ancestors
    - max_descendants
    - include_partial
    argTypes:
    - int
    - int
    - uint64_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: wallet::CoinEligibilityFilter
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoinEligibilityFilter(int conf_mine, int conf_theirs, uint64_t
      max_ancestors, uint64_t max_descendants, bool include_partial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/wallet/coinselection.h:223,1
    - Dst: std::tie
      Src: /src/bitcoin-core/src/wallet/coinselection.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CoinEligibilityFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: operator<(const CoinEligibilityFilter& other) const
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator<(const CoinEligibilityFilter& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: wallet::OutputGroup
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutputGroup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: wallet::OutputGroup
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutputGroup(const CoinSelectionParams& params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: wallet::TypesCount
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t TypesCount()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.h:350,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.h:350,1
    - Dst: util::insert
      Src: /src/bitcoin-core/src/wallet/coinselection.h:351,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/coinselection.h:352,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/coinselection.h:353,1
    - Dst: STR_INTERNAL_BUG
      Src: /src/bitcoin-core/src/wallet/coinselection.h:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' inputs'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: wallet::InsertInputs
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached:
    - util::insert
    - STR_INTERNAL_BUG
    - std::runtime_error
    - size
    linkageType: ''
    returnType: void
    signature: void InsertInputs(const T& inputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - target
    - algo
    argTypes:
    - CAmount
    - SelectionAlgorithm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: wallet::SelectionResult
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelectionResult(const CAmount target, SelectionAlgorithm algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: wallet::SelectionResult
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelectionResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: wallet::GetTarget
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetTarget() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: wallet::GetAlgo
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SelectionAlgorithm
    signature: SelectionAlgorithm GetAlgo() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    functionName: wallet::GetWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/coinselection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetWeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sigversion
    argTypes:
    - IsMineSigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: wallet::PermitsUncompressed
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PermitsUncompressed(IsMineSigVersion sigversion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:69,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' pubkeys'
    - ' keystore'
    argTypes:
    - std::vector<valtype>
    - LegacyDataSPKM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: wallet::HaveKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - HaveKey
    - CPubKey
    linkageType: ''
    returnType: bool
    signature: bool HaveKeys(const std::vector<valtype>& pubkeys, const LegacyDataSPKM&
      keystore)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:89,1
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:91,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:100,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:101,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:101,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:104,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:105,1
    - Dst: HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: CKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:124,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:124,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:125,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:126,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:127,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:127,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:131,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:132,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:141,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:141,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:142,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:143,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:144,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:144,1
    - Dst: HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:157,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:158,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:159,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:160,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:160,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:178,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:179,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:180,1
    - Dst: wallet::HaveKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:185,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:186,1
    - Dst: HaveWatchOnly
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:192,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:193,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 3
    argNames:
    - ' keystore'
    - ' scriptPubKey'
    - sigversion
    argTypes:
    - LegacyDataSPKM
    - CScript
    - IsMineSigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 196
    functionName: wallet::LegacyWalletIsMineInnerDONOTUSE
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - uint160
    - wallet::HaveKeys
    - GetScriptForDestination
    - CKeyID::CKeyID
    - CPubKey
    - CPubKey::IsCompressed
    - RIPEMD160
    - CPubKey::CPubKey
    - Solver
    - PKHash
    - std::vector::size
    - HaveCScript
    - HaveWatchOnly
    - CScriptID
    - CKeyID
    - GetCScript
    - wallet::PermitsUncompressed
    - wallet::LegacyWalletIsMineInnerDONOTUSE
    - HaveKey
    - size
    - std::vector::begin
    - std::max
    - CScript
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: IsMineResult
    signature: IsMineResult LegacyWalletIsMineInnerDONOTUSE(const LegacyDataSPKM&
      keystore, const CScript& scriptPubKey, IsMineSigVersion sigversion, bool recurse_scripthash=true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sigversion
    argTypes:
    - IsMineSigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: wallet::PermitsUncompressed
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PermitsUncompressed(IsMineSigVersion sigversion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:69,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' pubkeys'
    - ' keystore'
    argTypes:
    - std::vector<valtype>
    - LegacyDataSPKM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: wallet::HaveKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - HaveKey
    - CPubKey
    linkageType: ''
    returnType: bool
    signature: bool HaveKeys(const std::vector<valtype>& pubkeys, const LegacyDataSPKM&
      keystore)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:89,1
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:91,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:100,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:101,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:101,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:104,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:105,1
    - Dst: HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: CKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:124,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:124,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:125,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:126,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:127,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:127,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:131,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:132,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:141,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:141,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:142,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:143,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:144,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:144,1
    - Dst: HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:157,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:158,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:159,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:160,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:160,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:178,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:179,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:180,1
    - Dst: wallet::HaveKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:185,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:186,1
    - Dst: HaveWatchOnly
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:192,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:193,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 3
    argNames:
    - ' keystore'
    - ' scriptPubKey'
    - sigversion
    argTypes:
    - LegacyDataSPKM
    - CScript
    - IsMineSigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 196
    functionName: wallet::LegacyWalletIsMineInnerDONOTUSE
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - uint160
    - wallet::HaveKeys
    - GetScriptForDestination
    - CKeyID::CKeyID
    - CPubKey
    - CPubKey::IsCompressed
    - RIPEMD160
    - CPubKey::CPubKey
    - Solver
    - PKHash
    - std::vector::size
    - HaveCScript
    - HaveWatchOnly
    - CScriptID
    - CKeyID
    - GetCScript
    - wallet::PermitsUncompressed
    - wallet::LegacyWalletIsMineInnerDONOTUSE
    - HaveKey
    - size
    - std::vector::begin
    - std::max
    - CScript
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: IsMineResult
    signature: IsMineResult LegacyWalletIsMineInnerDONOTUSE(const LegacyDataSPKM&
      keystore, const CScript& scriptPubKey, IsMineSigVersion sigversion, bool recurse_scripthash=true)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:202,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts:
    - condition: (false)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: wallet::LegacyDataSPKM::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - assert
    - LegacyWalletIsMineInnerDONOTUSE
    linkageType: ''
    returnType: isminetype
    signature: isminetype LegacyDataSPKM::IsMine(const CScript& script) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:216,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:217,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:217,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:219,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:221,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:222,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:223,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:227,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:228,1
    - Dst: WalletBatch::WriteCryptedKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:238,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:238,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - CKeyingMaterial
    assertStmts:
    - condition: (mapKeys.empty())
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 251
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 251
    functionName: wallet::LegacyDataSPKM::CheckDecryptionKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - end
    - WalletBatch::WriteCryptedKey
    - DecryptKey
    - empty
    - begin
    - std::runtime_error
    - CKey::CKey
    - CPubKey::GetID
    - LOCK
    - LogPrintf
    - assert
    - GetDatabase
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::CheckDecryptionKey(const CKeyingMaterial& master_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<LegacySigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: wallet::LegacyDataSPKM::GetSolvingProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LegacySigningProvider>
    linkageType: ''
    returnType: std::unique_ptr<SigningProvider>
    signature: std::unique_ptr<SigningProvider> LegacyDataSPKM::GetSolvingProvider(const
      CScript& script) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:260,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:268,1
    - Dst: signatures::empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:269,1
    - Dst: wallet::LegacyDataSPKM::HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' script'
    - ' sigdata'
    argTypes:
    - CScript
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: wallet::LegacyDataSPKM::CanProvide
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - ProduceSignature
    - LegacyWalletIsMineInnerDONOTUSE
    - wallet::LegacyDataSPKM::HaveKey
    - signatures::empty
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::CanProvide(const CScript& script, SignatureData&
      sigdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacyDataSPKM::AddKeyPubKeyInner
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - pubkey
    argTypes:
    - CKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: wallet::LegacyDataSPKM::LoadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::LegacyDataSPKM::AddKeyPubKeyInner
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::LoadKey(const CKey& key, const CPubKey &pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:291,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:293,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:293,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:294,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:294,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' redeemScript'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: wallet::LegacyDataSPKM::LoadCScript
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - ScriptHash
    - EncodeDestination
    - size
    - FillableSigningProvider::AddCScript
    - WalletLogPrintf
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::LoadCScript(const CScript& redeemScript)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' keyID'
    - ' meta'
    argTypes:
    - CKeyID
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: wallet::LegacyDataSPKM::LoadKeyMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void LegacyDataSPKM::LoadKeyMetadata(const CKeyID& keyID, const CKeyMetadata&
      meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' script_id'
    - ' meta'
    argTypes:
    - CScriptID
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: wallet::LegacyDataSPKM::LoadScriptMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void LegacyDataSPKM::LoadScriptMetadata(const CScriptID& script_id,
      const CKeyMetadata& meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:315,1
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - ' pubkey'
    argTypes:
    - CKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 6
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: wallet::LegacyDataSPKM::AddKeyPubKeyInner
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - FillableSigningProvider::AddKeyPubKey
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::AddKeyPubKeyInner(const CKey& key, const CPubKey&
      pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacyDataSPKM::AddCryptedKeyInner
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - vchPubKey
    - vchCryptedSecret
    - checksum_valid
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: wallet::LegacyDataSPKM::LoadCryptedKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::LegacyDataSPKM::AddCryptedKeyInner
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::LoadCryptedKey(const CPubKey &vchPubKey, const
      std::vector<unsigned char> &vchCryptedSecret, bool checksum_valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:331,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:332,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:332,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:334,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:334,1
    - Dst: ImplicitlyLearnRelatedKeyScripts
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - vchPubKey
    - vchCryptedSecret
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    assertStmts:
    - condition: (mapKeys.empty())
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 5
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: wallet::LegacyDataSPKM::AddCryptedKeyInner
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - empty
    - make_pair
    - CPubKey::GetID
    - LOCK
    - ImplicitlyLearnRelatedKeyScripts
    - assert
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::AddCryptedKeyInner(const CPubKey &vchPubKey, const
      std::vector<unsigned char> &vchCryptedSecret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:341,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dest
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: wallet::LegacyDataSPKM::HaveWatchOnly
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - count
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::HaveWatchOnly(const CScript &dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacyDataSPKM::AddWatchOnlyInMem
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dest
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: wallet::LegacyDataSPKM::LoadWatchOnly
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::LegacyDataSPKM::AddWatchOnlyInMem
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::LoadWatchOnly(const CScript &dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:353,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:354,1
    - Dst: IsFullyValid
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - ' pubKeyOut'
    argTypes:
    - CScript
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: wallet::ExtractPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - Solver
    - CPubKey
    - IsFullyValid
    linkageType: ''
    returnType: bool
    signature: bool ExtractPubKey(const CScript &dest, CPubKey& pubKeyOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:359,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:360,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:361,1
    - Dst: ExtractPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:362,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:363,1
    - Dst: ImplicitlyLearnRelatedKeyScripts
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dest
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: wallet::LegacyDataSPKM::AddWatchOnlyInMem
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - CPubKey::GetID
    - LOCK
    - CPubKey::CPubKey
    - ExtractPubKey
    - ImplicitlyLearnRelatedKeyScripts
    - insert
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::AddWatchOnlyInMem(const CScript &dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - CHDChain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: wallet::LegacyDataSPKM::LoadHDChain
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void LegacyDataSPKM::LoadHDChain(const CHDChain& chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:377,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:378,1
    - Dst: seed_id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - CHDChain
    assertStmts:
    - condition: (!chain.seed_id.IsNull())
      pos:
        line_end: 377
        line_start: 377
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: wallet::LegacyDataSPKM::AddInactiveHDChain
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - assert
    - seed_id::IsNull
    linkageType: ''
    returnType: void
    signature: void LegacyDataSPKM::AddInactiveHDChain(const CHDChain& chain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:384,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:385,1
    - Dst: FillableSigningProvider::HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:386,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: wallet::LegacyDataSPKM::HaveKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - HasEncryptionKeys
    - LOCK
    - FillableSigningProvider::HaveKey
    - count
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::HaveKey(const CKeyID &address) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:393,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:394,1
    - Dst: FillableSigningProvider::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:395,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:398,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:399,1
    - Dst: WithEncryptionKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:403,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - address
    - ' keyOut'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 408
    functionName: wallet::LegacyDataSPKM::GetKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - end
    - DecryptKey
    - WithEncryptionKey
    - LOCK
    - HasEncryptionKeys
    - find
    - FillableSigningProvider::GetKey
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::GetKey(const CKeyID &address, CKey& keyOut) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:414,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:415,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:416,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:422,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:425,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:425,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' keyID'
    - ' info'
    argTypes:
    - CKeyID
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 428
    functionName: wallet::LegacyDataSPKM::GetKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::copy
    - LOCK
    - find
    - begin
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::GetKeyOrigin(const CKeyID& keyID, KeyOriginInfo&
      info) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:432,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:433,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - address
    - pubkey_out
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: wallet::LegacyDataSPKM::GetWatchPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - end
    - LOCK
    - find
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::GetWatchPubKey(const CKeyID &address, CPubKey
      &pubkey_out) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:443,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:444,1
    - Dst: FillableSigningProvider::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:445,1
    - Dst: wallet::LegacyDataSPKM::GetWatchPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:446,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:451,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:452,1
    - Dst: wallet::LegacyDataSPKM::GetWatchPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - address
    - ' vchPubKeyOut'
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 459
    functionName: wallet::LegacyDataSPKM::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - end
    - LOCK
    - FillableSigningProvider::GetPubKey
    - wallet::LegacyDataSPKM::GetWatchPubKey
    - HasEncryptionKeys
    - find
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::GetPubKey(const CKeyID &address, CPubKey& vchPubKeyOut)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:463,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:468,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:468,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:469,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:469,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:469,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:471,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:471,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:472,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:473,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:473,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:473,1
    - Dst: add_pubkey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:476,1
    - Dst: wallet::LegacyDataSPKM::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:476,1
    - Dst: add_pubkey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:479,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:487,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:488,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:488,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:488,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:490,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:490,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:491,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:492,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:492,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:492,1
    - Dst: add_script
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:495,1
    - Dst: add_script
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 505
    functionName: wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::LegacyDataSPKM::GetPubKey
    - WitnessV0KeyHash
    - ScriptHash
    - GetScriptForDestination
    - GetScriptForRawPubKey
    - std::unordered_set::insert
    - LOCK
    - WitnessV0ScriptHash
    - add_pubkey
    - add_script
    - PKHash
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> LegacyDataSPKM::GetCandidateScriptPubKeys()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:513,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:514,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 520
    functionName: wallet::LegacyDataSPKM::GetScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::insert
    - wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
    - wallet::LegacyDataSPKM::IsMine
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> LegacyDataSPKM::GetScriptPubKeys()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:524,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:527,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: wallet::LegacyDataSPKM::GetNotMineScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::insert
    - LOCK
    - wallet::LegacyDataSPKM::IsMine
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> LegacyDataSPKM::GetNotMineScriptPubKeys()
      const
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:534,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:535,1
    - Dst: wallet::LegacyDataSPKM::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:541,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:546,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:549,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:554,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:554,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:556,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:557,1
    - Dst: hd_seed_id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:563,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:563,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:564,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:571,1
    - Dst: WalletBatch::TxnBegin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:572,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:573,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:579,1
    - Dst: wallet::LegacyDataSPKM::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:580,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:581,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:586,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:587,1
    - Dst: wallet::LegacyDataSPKM::GetKeyOrigin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:594,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:595,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:595,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:598,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:598,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:601,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:602,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:602,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:603,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:603,1
    - Dst: std::make_unique<DescriptorScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:606,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:607,1
    - Dst: auto::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:607,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:607,1
    - Dst: auto::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:608,1
    - Dst: auto::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:609,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:613,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:614,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:615,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:615,1
    - Dst: MigrationData::desc_spkms::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:618,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:618,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:623,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:625,1
    - Dst: seed_id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:630,1
    - Dst: CanSupportFeature
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:630,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:634,1
    - Dst: wallet::LegacyDataSPKM::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:635,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:636,1
    - Dst: CExtKey::SetSeed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:639,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:642,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:642,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:643,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:646,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:647,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:647,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:648,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:649,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:649,1
    - Dst: std::make_unique<DescriptorScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:652,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:653,1
    - Dst: auto::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:653,1
    - Dst: CExtKey::key::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:653,1
    - Dst: auto::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:654,1
    - Dst: auto::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:655,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:659,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:660,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:661,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:661,1
    - Dst: MigrationData::desc_spkms::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:664,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:664,1
    - Dst: seed_id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:668,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:669,1
    - Dst: wallet::LegacyDataSPKM::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:670,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:671,1
    - Dst: MigrationData::master_key::SetSeed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:673,1
    - Dst: std::unordered_set::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:677,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:677,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:682,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:682,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:683,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:688,1
    - Dst: wallet::LegacyDataSPKM::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:688,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:693,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:696,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:697,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:699,1
    - Dst: std::unique_ptr::Expand
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:707,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:708,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:712,1
    - Dst: std::unique_ptr::ToPrivateString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:719,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:720,1
    - Dst: MigrationData::watch_descs::emplace_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:721,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:721,1
    - Dst: std::unique_ptr::Expand
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:725,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:728,1
    - Dst: std::make_unique<DescriptorScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:729,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:731,1
    - Dst: wallet::LegacyDataSPKM::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:732,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:735,1
    - Dst: auto::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:735,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:735,1
    - Dst: auto::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:737,1
    - Dst: auto::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:738,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:739,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:739,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:739,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:739,1
    - Dst: MigrationData::desc_spkms::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:741,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:741,1
    - Dst: std::unordered_set::find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:746,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:747,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:747,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:748,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:748,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:749,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:754,1
    - Dst: std::unordered_set::empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:754,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:755,1
    - Dst: STR_INTERNAL_BUG
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:755,1
    - Dst: wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:764,1
    - Dst: IsPayToScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:766,1
    - Dst: IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:766,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:769,1
    - Dst: wallet::LegacyDataSPKM::CanProvide
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:773,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:779,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:779,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:780,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:785,1
    - Dst: wallet::LegacyDataSPKM::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:785,1
    - Dst: std::unique_ptr::IsSolvable
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:786,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:795,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:798,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:799,1
    - Dst: MigrationData::solvable_descs::emplace_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:804,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:804,1
    - Dst: WalletBatch::TxnCommit
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:808,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:809,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (erased == 1)
      pos:
        line_end: 613
        line_start: 613
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (del_it != spks.end())
      pos:
        line_end: 746
        line_start: 746
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (IsMine(spk) == ISMINE_SPENDABLE)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (false)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (false)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (IsMine(desc_spk) != ISMINE_NO)
      pos:
        line_end: 747
        line_start: 747
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (erased == 1)
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (false)
      pos:
        line_end: 707
        line_start: 707
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (false)
      pos:
        line_end: 670
        line_start: 670
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (IsMine(spk) == ISMINE_SPENDABLE)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 814
      start: 532
    functionDepth: 7
    functionLinenumber: 532
    functionLinenumberEnd: 814
    functionName: wallet::LegacyDataSPKM::MigrateToDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::empty
    - std::make_unique<DescriptorScriptPubKeyMan>
    - IsPayToWitnessScriptHash
    - std::move
    - std::vector::push_back
    - CExtKey::SetSeed
    - std::set::end
    - std::set::insert
    - MigrationData::master_key::SetSeed
    - wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
    - hd_seed_id::IsNull
    - IsLocked
    - CanSupportFeature
    - CHECK_NONFATAL
    - CExtKey::Neuter
    - EncodeExtPubKey
    - std::unordered_set::erase
    - std::vector::end
    - auto::begin
    - InferDescriptor
    - ToString
    - auto::end
    - WalletBatch::TxnCommit
    - std::set::begin
    - seed_id::IsNull
    - CKey::CKey
    - auto::TopUpWithDB
    - std::vector::insert
    - auto::AddDescriptorKeyWithDB
    - std::vector::empty
    - CExtKey::key::GetPubKey
    - find
    - GetDatabase
    - std::vector::size
    - MigrationData::desc_spkms::push_back
    - std::unordered_set::find
    - IsPayToScriptHash
    - Assume
    - wallet::LegacyDataSPKM::GetSolvingProvider
    - std::unique_ptr::Expand
    - CScriptID
    - WITH_LOCK
    - Parse
    - auto::GetScriptPubKeys
    - wallet::LegacyDataSPKM::IsMine
    - std::unique_ptr::ToString
    - std::unique_ptr::ToPrivateString
    - MigrationData::watch_descs::emplace_back
    - std::unique_ptr::IsSolvable
    - wallet::LegacyDataSPKM::GetScriptPubKeys
    - MigrationData::solvable_descs::emplace_back
    - std::set::erase
    - wallet::LegacyDataSPKM::GetKeyOrigin
    - CKey::GetPubKey
    - assert
    - std::unordered_set::begin
    - count
    - IsWalletFlagSet
    - STR_INTERNAL_BUG
    - end
    - FormatHDKeypath
    - std::vector::at
    - std::unordered_set::end
    - wallet::LegacyDataSPKM::CanProvide
    - WalletBatch::TxnBegin
    - std::max
    - LOCK
    - LogPrintf
    - wallet::LegacyDataSPKM::GetKey
    - HexStr
    linkageType: ''
    returnType: std::optional<MigrationData>
    signature: std::optional<MigrationData> LegacyDataSPKM::MigrateToDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:818,1
    - Dst: EraseRecords
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' batch'
    argTypes:
    - WalletBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: wallet::LegacyDataSPKM::DeleteRecordsWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - EraseRecords
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::DeleteRecordsWithDB(WalletBatch& batch)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:825,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:826,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:829,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:830,1
    - Dst: descriptor::IsSingleType
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:830,1
    - Dst: descriptor::GetOutputType
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:831,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:832,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:834,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:834,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUp
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:837,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUp
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:842,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:844,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:846,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:848,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:852,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:853,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:856,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:856,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - type
    argTypes:
    - OutputType
    assertStmts:
    - condition: (m_wallet_descriptor.descriptor->IsSingleType())
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (desc_addr_type)
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 859
      start: 822
    functionDepth: 3
    functionLinenumber: 822
    functionLinenumberEnd: 859
    functionName: wallet::DescriptorScriptPubKeyMan::GetNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - _
    - GetDatabase
    - descriptor::IsSingleType
    - WalletBatch
    - std::runtime_error
    - ExtractDestination
    - std::string
    - descriptor::ExpandFromCache
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetID
    - wallet::DescriptorScriptPubKeyMan::TopUp
    - assert
    - wallet::DescriptorScriptPubKeyMan::CanGetAddresses
    - descriptor::GetOutputType
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> DescriptorScriptPubKeyMan::GetNewDestination(const
      OutputType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:863,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 868
    functionName: wallet::DescriptorScriptPubKeyMan::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - count
    linkageType: ''
    returnType: isminetype
    signature: isminetype DescriptorScriptPubKeyMan::IsMine(const CScript& script)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:872,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:873,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:877,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:882,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:883,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:892,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:893,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 900
    functionName: wallet::DescriptorScriptPubKeyMan::CheckDecryptionKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - DecryptKey
    - empty
    - std::runtime_error
    - CKey::CKey
    - LogPrintf
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::CheckDecryptionKey(const CKeyingMaterial&
      master_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:904,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:905,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:912,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:913,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:913,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:913,1
    - Dst: CKey::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:913,1
    - Dst: EncryptSecret
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:915,1
    - Dst: CPubKey::GetHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:915,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:918,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:918,1
    - Dst: WalletBatch*::WriteCryptedDescriptorKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:919,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:919,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' master_key'
    - batch
    argTypes:
    - CKeyingMaterial
    - WalletBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 902
    functionDepth: 5
    functionLinenumber: 902
    functionLinenumberEnd: 923
    functionName: wallet::DescriptorScriptPubKeyMan::Encrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - CKey::end
    - UCharCast
    - empty
    - CPubKey::GetHash
    - make_pair
    - WalletBatch*::WriteCryptedDescriptorKey
    - CPubKey::GetID
    - wallet::DescriptorScriptPubKeyMan::GetID
    - LOCK
    - CKey::begin
    - EncryptSecret
    - clear
    - CKey::GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::Encrypt(const CKeyingMaterial& master_key,
      WalletBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:927,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - internal
    - ' index'
    argTypes:
    - OutputType
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 4
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: wallet::DescriptorScriptPubKeyMan::GetReservedDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetNewDestination
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> DescriptorScriptPubKeyMan::GetReservedDestination(const
      OutputType type, bool internal, int64_t& index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:935,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:940,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:940,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:940,1
    - Dst: NotifyCanGetAddressesChanged
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - index
    - internal
    - ' addr'
    argTypes:
    - int64_t
    - bool
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 942
    functionName: wallet::DescriptorScriptPubKeyMan::ReturnDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - WalletBatch
    - wallet::DescriptorScriptPubKeyMan::GetID
    - LOCK
    - NotifyCanGetAddressesChanged
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::ReturnDestination(int64_t index, bool
      internal, const CTxDestination& addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:946,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:947,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:947,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:952,1
    - Dst: WithEncryptionKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:953,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:954,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 961
    functionName: wallet::DescriptorScriptPubKeyMan::GetKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - DecryptKey
    - WithEncryptionKey
    - CKey::CKey
    - AssertLockHeld
    - IsLocked
    - HasEncryptionKeys
    - wallet::DescriptorScriptPubKeyMan::GetID
    linkageType: ''
    returnType: std::map<CKeyID, CKey>
    signature: std::map<CKeyID, CKey> DescriptorScriptPubKeyMan::GetKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:965,1
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:966,1
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' keyid'
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 967
    functionName: wallet::DescriptorScriptPubKeyMan::HasPrivKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - contains
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::HasPrivKey(const CKeyID& keyid) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:971,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:972,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:972,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:973,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:974,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:978,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:979,1
    - Dst: WithEncryptionKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:979,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:980,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:986,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' keyid'
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 991
    functionName: wallet::DescriptorScriptPubKeyMan::GetKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - end
    - DecryptKey
    - Assume
    - WithEncryptionKey
    - CKey::CKey
    - AssertLockHeld
    - IsLocked
    - HasEncryptionKeys
    - find
    linkageType: ''
    returnType: std::optional<CKey>
    signature: std::optional<CKey> DescriptorScriptPubKeyMan::GetKey(const CKeyID&
      keyid) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:995,1
    - Dst: WalletBatch::TxnBegin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:996,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:997,1
    - Dst: WalletBatch::TxnCommit
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:998,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:998,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:998,1
    - Dst: GetDisplayName
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1000
    functionName: wallet::DescriptorScriptPubKeyMan::TopUp
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - WalletBatch::TxnCommit
    - GetDisplayName
    - std::runtime_error
    - WalletBatch::TxnBegin
    - strprintf
    - wallet::DescriptorScriptPubKeyMan::TopUpWithDB
    - GetDatabase
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::TopUp(unsigned int size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1004,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1014,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1017,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1024,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1026,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1032,1
    - Dst: descriptor::Expand
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1033,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1036,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1036,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1036,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1042,1
    - Dst: cache::MergeAndDiff
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1050,1
    - Dst: WriteDescriptorCacheItems
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1051,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1052,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1052,1
    - Dst: wallet::DescriptorScriptPubKeyMan::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1057,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1057,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1060,1
    - Dst: TopUpCallback
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1062,1
    - Dst: NotifyCanGetAddressesChanged
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1063,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - ' batch'
    - size
    argTypes:
    - WalletBatch
    - unsigned int
    assertStmts:
    - condition: (m_wallet_descriptor.range_end - 1 == m_max_cached_index)
      pos:
        line_end: 1059
        line_start: 1059
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 1065
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1065
    functionName: wallet::DescriptorScriptPubKeyMan::TopUpWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - std::set::insert
    - WriteDescriptorCacheItems
    - wallet::DescriptorScriptPubKeyMan::GetKeys
    - wallet::DescriptorScriptPubKeyMan::GetID
    - std::vector::end
    - descriptor::Expand
    - std::runtime_error
    - descriptor::ExpandFromCache
    - cache::MergeAndDiff
    - NotifyCanGetAddressesChanged
    - wallet::DescriptorScriptPubKeyMan::WriteDescriptor
    - assert
    - descriptor::IsRange
    - count
    - TopUpCallback
    - std::vector::begin
    - std::max
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::TopUpWithDB(WalletBatch& batch, unsigned
      int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1069,1
    - Dst: wallet::DescriptorScriptPubKeyMan::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1071,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1074,1
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1075,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1078,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1079,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1079,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1082,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1083,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUp
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1087,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1093
    functionName: wallet::DescriptorScriptPubKeyMan::MarkUnusedAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<FlatSigningProvider>
    - std::runtime_error
    - ExtractDestination
    - descriptor::ExpandFromCache
    - std::string
    - LOCK
    - std::vector::push_back
    - wallet::DescriptorScriptPubKeyMan::IsMine
    - WalletLogPrintf
    - wallet::DescriptorScriptPubKeyMan::TopUp
    linkageType: ''
    returnType: std::vector<WalletDestination>
    signature: std::vector<WalletDestination> DescriptorScriptPubKeyMan::MarkUnusedAddresses(const
      CScript& script)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1097,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1098,1
    - Dst: wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1099,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1100,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - pubkey
    argTypes:
    - CKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1102
    functionName: wallet::DescriptorScriptPubKeyMan::AddDescriptorKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - std::string
    - wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
    - LOCK
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::AddDescriptorKey(const CKey& key, const
      CPubKey &pubkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1106,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1107,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1107,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1110,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1110,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1110,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1111,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1111,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1111,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1115,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1116,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1121,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1121,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1121,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1121,1
    - Dst: WithEncryptionKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1122,1
    - Dst: EncryptSecret
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1123,1
    - Dst: CPubKey::GetHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1123,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1128,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1128,1
    - Dst: WriteCryptedDescriptorKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1129,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1129,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1131,1
    - Dst: WriteDescriptorKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1132,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1132,1
    - Dst: GetPrivKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ' batch'
    - ' key'
    - pubkey
    argTypes:
    - WalletBatch
    - CKey
    - CPubKey
    assertStmts:
    - condition: (!m_storage.IsWalletFlagSet(WALLET_FLAG_DISABLE_PRIVATE_KEYS))
      pos:
        line_end: 1106
        line_start: 1106
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 1134
      start: 1104
    functionDepth: 5
    functionLinenumber: 1104
    functionLinenumberEnd: 1134
    functionName: wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - end
    - UCharCast
    - GetPrivKey
    - CPubKey::GetHash
    - WriteDescriptorKey
    - make_pair
    - WriteCryptedDescriptorKey
    - WithEncryptionKey
    - CPubKey::GetID
    - wallet::DescriptorScriptPubKeyMan::GetID
    - EncryptSecret
    - AssertLockHeld
    - IsLocked
    - HasEncryptionKeys
    - assert
    - IsWalletFlagSet
    - find
    - begin
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB(WalletBatch&
      batch, const CKey& key, const CPubKey &pubkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1138,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1139,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1139,1
    - Dst: GenerateWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1146,1
    - Dst: Neuter
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1146,1
    - Dst: wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1149,1
    - Dst: key::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1149,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1150,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1150,1
    - Dst: wallet::DescriptorScriptPubKeyMan::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1152,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1152,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1153,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1153,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1157,1
    - Dst: UnsetBlankWalletFlag
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ' batch'
    - ' master_key'
    - addr_type
    - internal
    argTypes:
    - WalletBatch
    - CExtKey
    - OutputType
    - bool
    assertStmts:
    - condition: (m_storage.IsWalletFlagSet(WALLET_FLAG_DESCRIPTORS))
      pos:
        line_end: 1138
        line_start: 1138
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 6
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: wallet::DescriptorScriptPubKeyMan::SetupDescriptorGeneration
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::WriteDescriptor
    - GenerateWalletDescriptor
    - Neuter
    - std::runtime_error
    - UnsetBlankWalletFlag
    - std::string
    - wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
    - LOCK
    - key::GetPubKey
    - wallet::DescriptorScriptPubKeyMan::GetID
    - wallet::DescriptorScriptPubKeyMan::TopUpWithDB
    - assert
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::SetupDescriptorGeneration(WalletBatch&
      batch, const CExtKey& master_key, OutputType addr_type, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1165,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1167
    functionName: wallet::DescriptorScriptPubKeyMan::IsHDEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - descriptor::IsRange
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::IsHDEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1173,1
    - Dst: descriptor::IsSingleType
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1174,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1175,1
    - Dst: wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - internal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1177
    functionName: wallet::DescriptorScriptPubKeyMan::CanGetAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
    - LOCK
    - descriptor::IsRange
    - descriptor::IsSingleType
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::CanGetAddresses(bool internal) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1181,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1182,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1183
    functionName: wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - size
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::HavePrivateKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1187,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: wallet::DescriptorScriptPubKeyMan::HaveCryptedKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - empty
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::HaveCryptedKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: wallet::DescriptorScriptPubKeyMan::GetKeyPoolSize
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int DescriptorScriptPubKeyMan::GetKeyPoolSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1201
    functionName: wallet::DescriptorScriptPubKeyMan::GetTimeFirstKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: int64_t
    signature: int64_t DescriptorScriptPubKeyMan::GetTimeFirstKey() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1205,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1208,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1209,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' script'
    - include_private
    argTypes:
    - CScript
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1215
    functionName: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - end
    - LOCK
    - find
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: std::unique_ptr<FlatSigningProvider>
    signature: std::unique_ptr<FlatSigningProvider> DescriptorScriptPubKeyMan::GetSigningProvider(const
      CScript& script, bool include_private) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1219,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1222,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1223,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1229,1
    - Dst: std::unique_ptr::HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1230,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1234
    functionName: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::unique_ptr::HaveKey
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetID
    - find
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: std::unique_ptr<FlatSigningProvider>
    signature: std::unique_ptr<FlatSigningProvider> DescriptorScriptPubKeyMan::GetSigningProvider(const
      CPubKey& pubkey) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1238,1
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1240,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1243,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1244,1
    - Dst: std::unique_ptr::Merge
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1245,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1249,1
    - Dst: wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1255,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1257,1
    - Dst: descriptor::ExpandPrivate
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - index
    - include_private
    argTypes:
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1236
    functionDepth: 2
    functionLinenumber: 1236
    functionLinenumberEnd: 1262
    functionName: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::unique_ptr::Merge
    - descriptor::ExpandPrivate
    - std::make_unique<FlatSigningProvider>
    - descriptor::ExpandFromCache
    - wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
    - AssertLockHeld
    - wallet::DescriptorScriptPubKeyMan::GetKeys
    - find
    linkageType: ''
    returnType: std::unique_ptr<FlatSigningProvider>
    signature: std::unique_ptr<FlatSigningProvider> DescriptorScriptPubKeyMan::GetSigningProvider(int32_t
      index, bool include_private) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1267
    functionName: wallet::DescriptorScriptPubKeyMan::GetSolvingProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: std::unique_ptr<SigningProvider>
    signature: std::unique_ptr<SigningProvider> DescriptorScriptPubKeyMan::GetSolvingProvider(const
      CScript& script) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' script'
    - ' sigdata'
    argTypes:
    - CScript
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1272
    functionName: wallet::DescriptorScriptPubKeyMan::CanProvide
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::IsMine
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::CanProvide(const CScript& script, SignatureData&
      sigdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1276,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1278,1
    - Dst: std::unique_ptr::Merge
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1282,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1282,1
    - Dst: ExternalSigner::SignTransaction
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1285,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' tx'
    - ' coins'
    - sighash
    - ' input_errors'
    argTypes:
    - CMutableTransaction
    - std::map<COutPoint, Coin>
    - int
    - std::map<int, bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1286
    functionName: wallet::DescriptorScriptPubKeyMan::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Merge
    - std::make_unique<FlatSigningProvider>
    - std::move
    - ExternalSigner::SignTransaction
    - std::unique_ptr::get
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::SignTransaction(CMutableTransaction&
      tx, const std::map<COutPoint, Coin>& coins, int sighash, std::map<int, bilingual_str>&
      input_errors) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1290,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1290,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1295,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1296,1
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1296,1
    - Dst: MessageSign
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' message'
    - ' pkhash'
    - ' str_sig'
    argTypes:
    - std::string
    - PKHash
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1304
    functionName: wallet::DescriptorScriptPubKeyMan::SignMessage
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - MessageSign
    - CKey::CKey
    - ToKeyID
    - std::unique_ptr::GetKey
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: SigningResult
    signature: SigningResult DescriptorScriptPubKeyMan::SignMessage(const std::string&
      message, const PKHash& pkhash, std::string& str_sig) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1311,1
    - Dst: inputs::at
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1313,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1315,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1320,1
    - Dst: witness_utxo::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1321,1
    - Dst: non_witness_utxo::vout::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1324,1
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1333,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1334,1
    - Dst: std::unique_ptr::Merge
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1336,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1336,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1340,1
    - Dst: hd_keypaths::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1340,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1344,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1349,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1350,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1350,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1351,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1353,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1361,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1361,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1361,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1362,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1363,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1364,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1369,1
    - Dst: std::unique_ptr::Merge
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1371,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1371,1
    - Dst: SignPSBTInput
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1376,1
    - Dst: HidingSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1376,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1376,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1381,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1391,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1392,1
    - Dst: tx::vout::at
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1392,1
    - Dst: UpdatePSBTOutput
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1396,1
    - Dst: HidingSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1396,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1396,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 7
    argNames:
    - ' psbtx'
    - ' txdata'
    - sighash_type
    - sign
    - bip32derivs
    - n_signed
    - finalize
    argTypes:
    - PartiallySignedTransaction
    - PrecomputedTransactionData
    - std::optional<int>
    - bool
    - bool
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1306
    functionDepth: 5
    functionLinenumber: 1306
    functionLinenumberEnd: 1400
    functionName: wallet::DescriptorScriptPubKeyMan::FillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::vector::emplace_back
    - std::make_unique<FlatSigningProvider>
    - tx::vout::size
    - std::move
    - hd_keypaths::size
    - std::vector::push_back
    - PSBTInputSigned
    - witness_utxo::IsNull
    - std::unique_ptr::Merge
    - UpdatePSBTOutput
    - inputs::at
    - std::vector::reserve
    - CPubKey::CPubKey
    - Solver
    - std::unique_ptr::get
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    - tx::vin::size
    - end
    - non_witness_utxo::vout::size
    - CPubKey::Set
    - HidingSigningProvider
    - wallet::DescriptorScriptPubKeyMan::GetSolvingProvider
    - SignPSBTInput
    - tx::vout::at
    - insert
    - begin
    - CScript::CScript
    linkageType: ''
    returnType: std::optional<PSBTError>
    signature: std::optional<PSBTError> DescriptorScriptPubKeyMan::FillPSBT(PartiallySignedTransaction&
      psbtx, const PrecomputedTransactionData& txdata, std::optional<int> sighash_type,
      bool sign, bool bip32derivs, int* n_signed, bool finalize) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1404,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1404,1
    - Dst: GetKeyForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1407,1
    - Dst: std::unique_ptr::GetKeyOrigin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1408,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1409,1
    - Dst: std::make_unique<CKeyMetadata>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1402
    functionDepth: 6
    functionLinenumber: 1402
    functionLinenumberEnd: 1418
    functionName: wallet::DescriptorScriptPubKeyMan::GetMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetKeyOrigin
    - GetScriptForDestination
    - std::make_unique<CKeyMetadata>
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    - GetKeyForDestination
    linkageType: ''
    returnType: std::unique_ptr<CKeyMetadata>
    signature: std::unique_ptr<CKeyMetadata> DescriptorScriptPubKeyMan::GetMetadata(const
      CTxDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1424
    functionName: wallet::DescriptorScriptPubKeyMan::GetID
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 8
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: uint256
    signature: uint256 DescriptorScriptPubKeyMan::GetID() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1428,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1434,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1435,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1438,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1438,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1438,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1440,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1441,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1441,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1447,1
    - Dst: TopUpCallback
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - ' cache'
    argTypes:
    - DescriptorCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1458
    functionName: wallet::DescriptorScriptPubKeyMan::SetCache
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::runtime_error
    - std::vector::begin
    - descriptor::ExpandFromCache
    - LOCK
    - std::set::insert
    - strprintf
    - count
    - TopUpCallback
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::SetCache(const DescriptorCache& cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' key_id'
    - ' key'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1465
    functionName: wallet::DescriptorScriptPubKeyMan::AddKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::AddKey(const CKeyID& key_id, const
      CKey& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1469,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1470,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' key_id'
    - ' pubkey'
    - ' crypted_key'
    argTypes:
    - CKeyID
    - CPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1476
    functionName: wallet::DescriptorScriptPubKeyMan::AddCryptedKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - make_pair
    - empty
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::AddCryptedKey(const CKeyID& key_id,
      const CPubKey& pubkey, const std::vector<unsigned char>& crypted_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1480,1
    - Dst: id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1481,1
    - Dst: id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - WalletDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1482
    functionName: wallet::DescriptorScriptPubKeyMan::HasWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - id::IsNull
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::HasWalletDescriptor(const WalletDescriptor&
      desc) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1486,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1487,1
    - Dst: WalletBatch::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1488,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1488,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1489,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1484
    functionDepth: 2
    functionLinenumber: 1484
    functionLinenumberEnd: 1491
    functionName: wallet::DescriptorScriptPubKeyMan::WriteDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - WalletBatch::WriteDescriptor
    - std::runtime_error
    - std::string
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetID
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::WriteDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1496
    functionName: wallet::DescriptorScriptPubKeyMan::GetWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WalletDescriptor
    signature: WalletDescriptor DescriptorScriptPubKeyMan::GetWalletDescriptor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1501
    functionName: wallet::DescriptorScriptPubKeyMan::GetScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::GetScriptPubKeys
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> DescriptorScriptPubKeyMan::GetScriptPubKeys()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1505,1
    - Dst: std::unordered_set::reserve
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1507,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1507,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - minimum_index
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1513
    functionName: wallet::DescriptorScriptPubKeyMan::GetScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - std::unordered_set::insert
    - LOCK
    - size
    - std::unordered_set::reserve
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> DescriptorScriptPubKeyMan::GetScriptPubKeys(int32_t
      minimum_index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1518
    functionName: wallet::DescriptorScriptPubKeyMan::GetEndRange
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t DescriptorScriptPubKeyMan::GetEndRange() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1522,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1525,1
    - Dst: descriptor::ToPrivateString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1531,1
    - Dst: descriptor::ToNormalizedString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - priv
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1535
    functionName: wallet::DescriptorScriptPubKeyMan::GetDescriptorString
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::GetKeys
    - LOCK
    - descriptor::ToPrivateString
    - descriptor::ToNormalizedString
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::GetDescriptorString(std::string& out,
      const bool priv) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1539,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1540,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1540,1
    - Dst: cache::GetCachedLastHardenedExtPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1545,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1551,1
    - Dst: descriptor::Expand
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1555,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1556,1
    - Dst: cache::MergeAndDiff
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1560,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1561,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1561,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1561,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1562,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1537
    functionDepth: 2
    functionLinenumber: 1537
    functionLinenumberEnd: 1564
    functionName: wallet::DescriptorScriptPubKeyMan::UpgradeDescriptorCache
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - cache::GetCachedLastHardenedExtPubKeys
    - descriptor::Expand
    - std::runtime_error
    - WalletBatch
    - std::string
    - LOCK
    - cache::MergeAndDiff
    - IsLocked
    - wallet::DescriptorScriptPubKeyMan::GetKeys
    - wallet::DescriptorScriptPubKeyMan::GetID
    - IsWalletFlagSet
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::UpgradeDescriptorCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1568,1
    - Dst: wallet::DescriptorScriptPubKeyMan::CanUpdateToWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1570,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1571,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1571,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1574,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1575,1
    - Dst: NotifyFirstKeyTimeChanged
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' descriptor'
    argTypes:
    - WalletDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1581
    functionName: wallet::DescriptorScriptPubKeyMan::UpdateWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::CanUpdateToWalletDescriptor
    - std::move
    - LOCK
    - NotifyFirstKeyTimeChanged
    - clear
    - Untranslated
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> DescriptorScriptPubKeyMan::UpdateWalletDescriptor(WalletDescriptor&
      descriptor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1585,1
    - Dst: wallet::DescriptorScriptPubKeyMan::HasWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1586,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1591,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptor'
    - ' error'
    argTypes:
    - WalletDescriptor
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1583
    functionDepth: 2
    functionLinenumber: 1583
    functionLinenumberEnd: 1606
    functionName: wallet::DescriptorScriptPubKeyMan::CanUpdateToWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - descriptor::IsRange
    - wallet::DescriptorScriptPubKeyMan::HasWalletDescriptor
    - strprintf
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::CanUpdateToWalletDescriptor(const WalletDescriptor&
      descriptor, std::string& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sigversion
    argTypes:
    - IsMineSigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: wallet::PermitsUncompressed
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PermitsUncompressed(IsMineSigVersion sigversion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:69,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' pubkeys'
    - ' keystore'
    argTypes:
    - std::vector<valtype>
    - LegacyDataSPKM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: wallet::HaveKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - HaveKey
    - CPubKey
    linkageType: ''
    returnType: bool
    signature: bool HaveKeys(const std::vector<valtype>& pubkeys, const LegacyDataSPKM&
      keystore)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:89,1
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:91,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:100,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:101,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:101,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:104,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:105,1
    - Dst: HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: CKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:124,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:124,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:125,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:126,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:127,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:127,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:131,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:132,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:141,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:141,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:142,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:143,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:144,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:144,1
    - Dst: HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:157,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:158,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:159,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:160,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:160,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:178,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:179,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:180,1
    - Dst: wallet::HaveKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:185,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:186,1
    - Dst: HaveWatchOnly
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:192,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:193,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 3
    argNames:
    - ' keystore'
    - ' scriptPubKey'
    - sigversion
    argTypes:
    - LegacyDataSPKM
    - CScript
    - IsMineSigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 196
    functionName: wallet::LegacyWalletIsMineInnerDONOTUSE
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 3
    functionsReached:
    - uint160
    - wallet::HaveKeys
    - GetScriptForDestination
    - CKeyID::CKeyID
    - CPubKey
    - CPubKey::IsCompressed
    - RIPEMD160
    - CPubKey::CPubKey
    - Solver
    - PKHash
    - std::vector::size
    - HaveCScript
    - HaveWatchOnly
    - CScriptID
    - CKeyID
    - GetCScript
    - wallet::PermitsUncompressed
    - wallet::LegacyWalletIsMineInnerDONOTUSE
    - HaveKey
    - size
    - std::vector::begin
    - std::max
    - CScript
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: IsMineResult
    signature: IsMineResult LegacyWalletIsMineInnerDONOTUSE(const LegacyDataSPKM&
      keystore, const CScript& scriptPubKey, IsMineSigVersion sigversion, bool recurse_scripthash=true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sigversion
    argTypes:
    - IsMineSigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: wallet::PermitsUncompressed
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PermitsUncompressed(IsMineSigVersion sigversion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:69,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' pubkeys'
    - ' keystore'
    argTypes:
    - std::vector<valtype>
    - LegacyDataSPKM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: wallet::HaveKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 3
    functionsReached:
    - HaveKey
    - CPubKey
    linkageType: ''
    returnType: bool
    signature: bool HaveKeys(const std::vector<valtype>& pubkeys, const LegacyDataSPKM&
      keystore)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:89,1
    - Dst: CKeyID::CKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:91,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:100,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:101,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:101,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:104,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:105,1
    - Dst: HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:114,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:120,1
    - Dst: CKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:124,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:124,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:125,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:126,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:127,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:127,1
    - Dst: HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:131,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:132,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:141,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:141,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:142,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:143,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:144,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:144,1
    - Dst: HaveCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:154,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:157,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:158,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:159,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:160,1
    - Dst: wallet::LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:160,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:177,1
    - Dst: wallet::PermitsUncompressed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:178,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:179,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:180,1
    - Dst: wallet::HaveKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:185,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:186,1
    - Dst: HaveWatchOnly
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:192,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:193,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 3
    argNames:
    - ' keystore'
    - ' scriptPubKey'
    - sigversion
    argTypes:
    - LegacyDataSPKM
    - CScript
    - IsMineSigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 196
    functionName: wallet::LegacyWalletIsMineInnerDONOTUSE
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 4
    functionsReached:
    - uint160
    - wallet::HaveKeys
    - GetScriptForDestination
    - CKeyID::CKeyID
    - CPubKey
    - CPubKey::IsCompressed
    - RIPEMD160
    - CPubKey::CPubKey
    - Solver
    - PKHash
    - std::vector::size
    - HaveCScript
    - HaveWatchOnly
    - CScriptID
    - CKeyID
    - GetCScript
    - wallet::PermitsUncompressed
    - wallet::LegacyWalletIsMineInnerDONOTUSE
    - HaveKey
    - size
    - std::vector::begin
    - std::max
    - CScript
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: IsMineResult
    signature: IsMineResult LegacyWalletIsMineInnerDONOTUSE(const LegacyDataSPKM&
      keystore, const CScript& scriptPubKey, IsMineSigVersion sigversion, bool recurse_scripthash=true)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:202,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts:
    - condition: (false)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: wallet::LegacyDataSPKM::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 3
    functionsReached:
    - assert
    - LegacyWalletIsMineInnerDONOTUSE
    linkageType: ''
    returnType: isminetype
    signature: isminetype LegacyDataSPKM::IsMine(const CScript& script) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:216,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:217,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:217,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:219,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:221,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:222,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:223,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:227,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:228,1
    - Dst: WalletBatch::WriteCryptedKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:238,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:238,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - CKeyingMaterial
    assertStmts:
    - condition: (mapKeys.empty())
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 251
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 251
    functionName: wallet::LegacyDataSPKM::CheckDecryptionKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - end
    - WalletBatch::WriteCryptedKey
    - DecryptKey
    - empty
    - begin
    - std::runtime_error
    - CKey::CKey
    - CPubKey::GetID
    - LOCK
    - LogPrintf
    - assert
    - GetDatabase
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::CheckDecryptionKey(const CKeyingMaterial& master_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<LegacySigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: wallet::LegacyDataSPKM::GetSolvingProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<LegacySigningProvider>
    linkageType: ''
    returnType: std::unique_ptr<SigningProvider>
    signature: std::unique_ptr<SigningProvider> LegacyDataSPKM::GetSolvingProvider(const
      CScript& script) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LegacyWalletIsMineInnerDONOTUSE
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:260,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:268,1
    - Dst: signatures::empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:269,1
    - Dst: wallet::LegacyDataSPKM::HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' script'
    - ' sigdata'
    argTypes:
    - CScript
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: wallet::LegacyDataSPKM::CanProvide
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - ProduceSignature
    - LegacyWalletIsMineInnerDONOTUSE
    - wallet::LegacyDataSPKM::HaveKey
    - signatures::empty
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::CanProvide(const CScript& script, SignatureData&
      sigdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacyDataSPKM::AddKeyPubKeyInner
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - pubkey
    argTypes:
    - CKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 7
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: wallet::LegacyDataSPKM::LoadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::LegacyDataSPKM::AddKeyPubKeyInner
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::LoadKey(const CKey& key, const CPubKey &pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:291,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:293,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:293,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:294,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:294,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' redeemScript'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: wallet::LegacyDataSPKM::LoadCScript
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - ScriptHash
    - EncodeDestination
    - size
    - FillableSigningProvider::AddCScript
    - WalletLogPrintf
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::LoadCScript(const CScript& redeemScript)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' keyID'
    - ' meta'
    argTypes:
    - CKeyID
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: wallet::LegacyDataSPKM::LoadKeyMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void LegacyDataSPKM::LoadKeyMetadata(const CKeyID& keyID, const CKeyMetadata&
      meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' script_id'
    - ' meta'
    argTypes:
    - CScriptID
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: wallet::LegacyDataSPKM::LoadScriptMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void LegacyDataSPKM::LoadScriptMetadata(const CScriptID& script_id,
      const CKeyMetadata& meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:315,1
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - ' pubkey'
    argTypes:
    - CKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 6
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: wallet::LegacyDataSPKM::AddKeyPubKeyInner
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    - FillableSigningProvider::AddKeyPubKey
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::AddKeyPubKeyInner(const CKey& key, const CPubKey&
      pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacyDataSPKM::AddCryptedKeyInner
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - vchPubKey
    - vchCryptedSecret
    - checksum_valid
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: wallet::LegacyDataSPKM::LoadCryptedKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::LegacyDataSPKM::AddCryptedKeyInner
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::LoadCryptedKey(const CPubKey &vchPubKey, const
      std::vector<unsigned char> &vchCryptedSecret, bool checksum_valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:331,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:332,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:332,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:334,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:334,1
    - Dst: ImplicitlyLearnRelatedKeyScripts
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - vchPubKey
    - vchCryptedSecret
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    assertStmts:
    - condition: (mapKeys.empty())
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 5
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: wallet::LegacyDataSPKM::AddCryptedKeyInner
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - empty
    - make_pair
    - CPubKey::GetID
    - LOCK
    - ImplicitlyLearnRelatedKeyScripts
    - assert
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::AddCryptedKeyInner(const CPubKey &vchPubKey, const
      std::vector<unsigned char> &vchCryptedSecret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:341,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dest
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: wallet::LegacyDataSPKM::HaveWatchOnly
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - count
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::HaveWatchOnly(const CScript &dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacyDataSPKM::AddWatchOnlyInMem
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dest
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 6
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: wallet::LegacyDataSPKM::LoadWatchOnly
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::LegacyDataSPKM::AddWatchOnlyInMem
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::LoadWatchOnly(const CScript &dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:353,1
    - Dst: CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:354,1
    - Dst: IsFullyValid
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - ' pubKeyOut'
    argTypes:
    - CScript
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: wallet::ExtractPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - Solver
    - CPubKey
    - IsFullyValid
    linkageType: ''
    returnType: bool
    signature: bool ExtractPubKey(const CScript &dest, CPubKey& pubKeyOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:359,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:360,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:361,1
    - Dst: ExtractPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:362,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:363,1
    - Dst: ImplicitlyLearnRelatedKeyScripts
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dest
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: wallet::LegacyDataSPKM::AddWatchOnlyInMem
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - CPubKey::GetID
    - LOCK
    - CPubKey::CPubKey
    - ExtractPubKey
    - ImplicitlyLearnRelatedKeyScripts
    - insert
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::AddWatchOnlyInMem(const CScript &dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - CHDChain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: wallet::LegacyDataSPKM::LoadHDChain
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void LegacyDataSPKM::LoadHDChain(const CHDChain& chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:377,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:378,1
    - Dst: seed_id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - CHDChain
    assertStmts:
    - condition: (!chain.seed_id.IsNull())
      pos:
        line_end: 377
        line_start: 377
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: wallet::LegacyDataSPKM::AddInactiveHDChain
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - assert
    - seed_id::IsNull
    linkageType: ''
    returnType: void
    signature: void LegacyDataSPKM::AddInactiveHDChain(const CHDChain& chain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:384,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:385,1
    - Dst: FillableSigningProvider::HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:386,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: wallet::LegacyDataSPKM::HaveKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - HasEncryptionKeys
    - LOCK
    - FillableSigningProvider::HaveKey
    - count
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::HaveKey(const CKeyID &address) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:393,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:394,1
    - Dst: FillableSigningProvider::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:395,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:398,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:399,1
    - Dst: WithEncryptionKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:403,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - address
    - ' keyOut'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 408
    functionName: wallet::LegacyDataSPKM::GetKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - end
    - DecryptKey
    - WithEncryptionKey
    - LOCK
    - HasEncryptionKeys
    - find
    - FillableSigningProvider::GetKey
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::GetKey(const CKeyID &address, CKey& keyOut) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:414,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:415,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:416,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:422,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:425,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:425,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' keyID'
    - ' info'
    argTypes:
    - CKeyID
    - KeyOriginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 428
    functionName: wallet::LegacyDataSPKM::GetKeyOrigin
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::copy
    - LOCK
    - find
    - begin
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::GetKeyOrigin(const CKeyID& keyID, KeyOriginInfo&
      info) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:432,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:433,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - address
    - pubkey_out
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: wallet::LegacyDataSPKM::GetWatchPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - end
    - LOCK
    - find
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::GetWatchPubKey(const CKeyID &address, CPubKey
      &pubkey_out) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:443,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:444,1
    - Dst: FillableSigningProvider::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:445,1
    - Dst: wallet::LegacyDataSPKM::GetWatchPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:446,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:451,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:452,1
    - Dst: wallet::LegacyDataSPKM::GetWatchPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - address
    - ' vchPubKeyOut'
    argTypes:
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 459
    functionName: wallet::LegacyDataSPKM::GetPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - end
    - LOCK
    - FillableSigningProvider::GetPubKey
    - wallet::LegacyDataSPKM::GetWatchPubKey
    - HasEncryptionKeys
    - find
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::GetPubKey(const CKeyID &address, CPubKey& vchPubKeyOut)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:463,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:468,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:468,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:469,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:469,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:469,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:471,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:471,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:472,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:473,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:473,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:473,1
    - Dst: add_pubkey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:476,1
    - Dst: wallet::LegacyDataSPKM::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:476,1
    - Dst: add_pubkey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:479,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:487,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:488,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:488,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:488,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:490,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:490,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:491,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:492,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:492,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:492,1
    - Dst: add_script
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:495,1
    - Dst: add_script
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 505
    functionName: wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - wallet::LegacyDataSPKM::GetPubKey
    - WitnessV0KeyHash
    - ScriptHash
    - GetScriptForDestination
    - GetScriptForRawPubKey
    - std::unordered_set::insert
    - LOCK
    - WitnessV0ScriptHash
    - add_pubkey
    - add_script
    - PKHash
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> LegacyDataSPKM::GetCandidateScriptPubKeys()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:513,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:514,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 520
    functionName: wallet::LegacyDataSPKM::GetScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - std::unordered_set::insert
    - wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
    - wallet::LegacyDataSPKM::IsMine
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> LegacyDataSPKM::GetScriptPubKeys()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:524,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:527,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: wallet::LegacyDataSPKM::GetNotMineScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::insert
    - LOCK
    - wallet::LegacyDataSPKM::IsMine
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> LegacyDataSPKM::GetNotMineScriptPubKeys()
      const
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:534,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:535,1
    - Dst: wallet::LegacyDataSPKM::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:541,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:546,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:549,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:554,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:554,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:556,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:557,1
    - Dst: hd_seed_id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:563,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:563,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:564,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:571,1
    - Dst: WalletBatch::TxnBegin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:572,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:573,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:579,1
    - Dst: wallet::LegacyDataSPKM::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:580,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:581,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:586,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:587,1
    - Dst: wallet::LegacyDataSPKM::GetKeyOrigin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:594,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:595,1
    - Dst: FormatHDKeypath
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:595,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:598,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:598,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:601,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:602,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:602,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:603,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:603,1
    - Dst: std::make_unique<DescriptorScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:606,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:607,1
    - Dst: auto::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:607,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:607,1
    - Dst: auto::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:608,1
    - Dst: auto::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:609,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:613,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:614,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:615,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:615,1
    - Dst: MigrationData::desc_spkms::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:618,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:618,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:623,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:625,1
    - Dst: seed_id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:630,1
    - Dst: CanSupportFeature
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:630,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:634,1
    - Dst: wallet::LegacyDataSPKM::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:635,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:636,1
    - Dst: CExtKey::SetSeed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:639,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:642,1
    - Dst: CExtKey::Neuter
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:642,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:643,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:646,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:647,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:647,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:648,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:649,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:649,1
    - Dst: std::make_unique<DescriptorScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:652,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:653,1
    - Dst: auto::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:653,1
    - Dst: CExtKey::key::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:653,1
    - Dst: auto::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:654,1
    - Dst: auto::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:655,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:659,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:660,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:661,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:661,1
    - Dst: MigrationData::desc_spkms::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:664,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:664,1
    - Dst: seed_id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:668,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:669,1
    - Dst: wallet::LegacyDataSPKM::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:670,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:671,1
    - Dst: MigrationData::master_key::SetSeed
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:673,1
    - Dst: std::unordered_set::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:677,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:677,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:682,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:682,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:683,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:688,1
    - Dst: wallet::LegacyDataSPKM::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:688,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:693,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:696,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:697,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:699,1
    - Dst: std::unique_ptr::Expand
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:707,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:708,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:712,1
    - Dst: std::unique_ptr::ToPrivateString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:719,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:720,1
    - Dst: MigrationData::watch_descs::emplace_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:721,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:721,1
    - Dst: std::unique_ptr::Expand
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:725,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:728,1
    - Dst: std::make_unique<DescriptorScriptPubKeyMan>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:729,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:731,1
    - Dst: wallet::LegacyDataSPKM::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:732,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:735,1
    - Dst: auto::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:735,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:735,1
    - Dst: auto::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:737,1
    - Dst: auto::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:738,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:739,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:739,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:739,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:739,1
    - Dst: MigrationData::desc_spkms::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:741,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:741,1
    - Dst: std::unordered_set::find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:746,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:747,1
    - Dst: std::unordered_set::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:747,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:748,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:748,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:749,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:754,1
    - Dst: std::unordered_set::empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:754,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:755,1
    - Dst: STR_INTERNAL_BUG
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:755,1
    - Dst: wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:764,1
    - Dst: IsPayToScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:766,1
    - Dst: IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:766,1
    - Dst: wallet::LegacyDataSPKM::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:769,1
    - Dst: wallet::LegacyDataSPKM::CanProvide
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:773,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:779,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:779,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:780,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:785,1
    - Dst: wallet::LegacyDataSPKM::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:785,1
    - Dst: std::unique_ptr::IsSolvable
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:786,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:795,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:798,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:799,1
    - Dst: MigrationData::solvable_descs::emplace_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:804,1
    - Dst: std::unique_ptr::ToString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:804,1
    - Dst: WalletBatch::TxnCommit
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:808,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:809,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (erased == 1)
      pos:
        line_end: 613
        line_start: 613
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (del_it != spks.end())
      pos:
        line_end: 746
        line_start: 746
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (IsMine(spk) == ISMINE_SPENDABLE)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (false)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (false)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (IsMine(desc_spk) != ISMINE_NO)
      pos:
        line_end: 747
        line_start: 747
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (erased == 1)
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (false)
      pos:
        line_end: 707
        line_start: 707
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (false)
      pos:
        line_end: 670
        line_start: 670
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (IsMine(spk) == ISMINE_SPENDABLE)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 814
      start: 532
    functionDepth: 7
    functionLinenumber: 532
    functionLinenumberEnd: 814
    functionName: wallet::LegacyDataSPKM::MigrateToDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::empty
    - std::make_unique<DescriptorScriptPubKeyMan>
    - IsPayToWitnessScriptHash
    - std::move
    - std::vector::push_back
    - CExtKey::SetSeed
    - std::set::end
    - std::set::insert
    - MigrationData::master_key::SetSeed
    - wallet::LegacyDataSPKM::GetCandidateScriptPubKeys
    - hd_seed_id::IsNull
    - IsLocked
    - CanSupportFeature
    - CHECK_NONFATAL
    - CExtKey::Neuter
    - EncodeExtPubKey
    - std::unordered_set::erase
    - std::vector::end
    - auto::begin
    - InferDescriptor
    - ToString
    - auto::end
    - WalletBatch::TxnCommit
    - std::set::begin
    - seed_id::IsNull
    - CKey::CKey
    - auto::TopUpWithDB
    - std::vector::insert
    - auto::AddDescriptorKeyWithDB
    - std::vector::empty
    - CExtKey::key::GetPubKey
    - find
    - GetDatabase
    - std::vector::size
    - MigrationData::desc_spkms::push_back
    - std::unordered_set::find
    - IsPayToScriptHash
    - Assume
    - wallet::LegacyDataSPKM::GetSolvingProvider
    - std::unique_ptr::Expand
    - CScriptID
    - WITH_LOCK
    - Parse
    - auto::GetScriptPubKeys
    - wallet::LegacyDataSPKM::IsMine
    - std::unique_ptr::ToString
    - std::unique_ptr::ToPrivateString
    - MigrationData::watch_descs::emplace_back
    - std::unique_ptr::IsSolvable
    - wallet::LegacyDataSPKM::GetScriptPubKeys
    - MigrationData::solvable_descs::emplace_back
    - std::set::erase
    - wallet::LegacyDataSPKM::GetKeyOrigin
    - CKey::GetPubKey
    - assert
    - std::unordered_set::begin
    - count
    - IsWalletFlagSet
    - STR_INTERNAL_BUG
    - end
    - FormatHDKeypath
    - std::vector::at
    - std::unordered_set::end
    - wallet::LegacyDataSPKM::CanProvide
    - WalletBatch::TxnBegin
    - std::max
    - LOCK
    - LogPrintf
    - wallet::LegacyDataSPKM::GetKey
    - HexStr
    linkageType: ''
    returnType: std::optional<MigrationData>
    signature: std::optional<MigrationData> LegacyDataSPKM::MigrateToDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:818,1
    - Dst: EraseRecords
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' batch'
    argTypes:
    - WalletBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: wallet::LegacyDataSPKM::DeleteRecordsWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - EraseRecords
    linkageType: ''
    returnType: bool
    signature: bool LegacyDataSPKM::DeleteRecordsWithDB(WalletBatch& batch)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:825,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:826,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:829,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:830,1
    - Dst: descriptor::IsSingleType
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:830,1
    - Dst: descriptor::GetOutputType
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:831,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:832,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:834,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:834,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUp
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:837,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUp
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:842,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:844,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:846,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:848,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:852,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:853,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:856,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:856,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - type
    argTypes:
    - OutputType
    assertStmts:
    - condition: (m_wallet_descriptor.descriptor->IsSingleType())
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    - condition: (desc_addr_type)
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 859
      start: 822
    functionDepth: 3
    functionLinenumber: 822
    functionLinenumberEnd: 859
    functionName: wallet::DescriptorScriptPubKeyMan::GetNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - _
    - GetDatabase
    - descriptor::IsSingleType
    - WalletBatch
    - std::runtime_error
    - ExtractDestination
    - std::string
    - descriptor::ExpandFromCache
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetID
    - wallet::DescriptorScriptPubKeyMan::TopUp
    - assert
    - wallet::DescriptorScriptPubKeyMan::CanGetAddresses
    - descriptor::GetOutputType
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> DescriptorScriptPubKeyMan::GetNewDestination(const
      OutputType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:863,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 868
    functionName: wallet::DescriptorScriptPubKeyMan::IsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    - count
    linkageType: ''
    returnType: isminetype
    signature: isminetype DescriptorScriptPubKeyMan::IsMine(const CScript& script)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:872,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:873,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:877,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:882,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:883,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:892,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:893,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 900
    functionName: wallet::DescriptorScriptPubKeyMan::CheckDecryptionKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - DecryptKey
    - empty
    - std::runtime_error
    - CKey::CKey
    - LogPrintf
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::CheckDecryptionKey(const CKeyingMaterial&
      master_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:904,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:905,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:912,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:913,1
    - Dst: CKey::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:913,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:913,1
    - Dst: CKey::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:913,1
    - Dst: EncryptSecret
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:915,1
    - Dst: CPubKey::GetHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:915,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:918,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:918,1
    - Dst: WalletBatch*::WriteCryptedDescriptorKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:919,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:919,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' master_key'
    - batch
    argTypes:
    - CKeyingMaterial
    - WalletBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 902
    functionDepth: 5
    functionLinenumber: 902
    functionLinenumberEnd: 923
    functionName: wallet::DescriptorScriptPubKeyMan::Encrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - CKey::end
    - UCharCast
    - empty
    - CPubKey::GetHash
    - make_pair
    - WalletBatch*::WriteCryptedDescriptorKey
    - CPubKey::GetID
    - wallet::DescriptorScriptPubKeyMan::GetID
    - LOCK
    - CKey::begin
    - EncryptSecret
    - clear
    - CKey::GetPubKey
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::Encrypt(const CKeyingMaterial& master_key,
      WalletBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:927,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - internal
    - ' index'
    argTypes:
    - OutputType
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 4
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: wallet::DescriptorScriptPubKeyMan::GetReservedDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetNewDestination
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> DescriptorScriptPubKeyMan::GetReservedDestination(const
      OutputType type, bool internal, int64_t& index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:935,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:940,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:940,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:940,1
    - Dst: NotifyCanGetAddressesChanged
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - index
    - internal
    - ' addr'
    argTypes:
    - int64_t
    - bool
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 942
    functionName: wallet::DescriptorScriptPubKeyMan::ReturnDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - WalletBatch
    - wallet::DescriptorScriptPubKeyMan::GetID
    - LOCK
    - NotifyCanGetAddressesChanged
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::ReturnDestination(int64_t index, bool
      internal, const CTxDestination& addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:946,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:947,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:947,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:952,1
    - Dst: WithEncryptionKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:953,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:954,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 961
    functionName: wallet::DescriptorScriptPubKeyMan::GetKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 4
    functionsReached:
    - DecryptKey
    - WithEncryptionKey
    - CKey::CKey
    - AssertLockHeld
    - IsLocked
    - HasEncryptionKeys
    - wallet::DescriptorScriptPubKeyMan::GetID
    linkageType: ''
    returnType: std::map<CKeyID, CKey>
    signature: std::map<CKeyID, CKey> DescriptorScriptPubKeyMan::GetKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:965,1
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:966,1
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' keyid'
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 967
    functionName: wallet::DescriptorScriptPubKeyMan::HasPrivKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - contains
    - AssertLockHeld
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::HasPrivKey(const CKeyID& keyid) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:971,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:972,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:972,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:973,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:974,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:978,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:979,1
    - Dst: WithEncryptionKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:979,1
    - Dst: DecryptKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:980,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:986,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' keyid'
    argTypes:
    - CKeyID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 991
    functionName: wallet::DescriptorScriptPubKeyMan::GetKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - end
    - DecryptKey
    - Assume
    - WithEncryptionKey
    - CKey::CKey
    - AssertLockHeld
    - IsLocked
    - HasEncryptionKeys
    - find
    linkageType: ''
    returnType: std::optional<CKey>
    signature: std::optional<CKey> DescriptorScriptPubKeyMan::GetKey(const CKeyID&
      keyid) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:995,1
    - Dst: WalletBatch::TxnBegin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:996,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:997,1
    - Dst: WalletBatch::TxnCommit
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:998,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:998,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:998,1
    - Dst: GetDisplayName
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 993
    functionDepth: 3
    functionLinenumber: 993
    functionLinenumberEnd: 1000
    functionName: wallet::DescriptorScriptPubKeyMan::TopUp
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 3
    functionsReached:
    - WalletBatch::TxnCommit
    - GetDisplayName
    - std::runtime_error
    - WalletBatch::TxnBegin
    - strprintf
    - wallet::DescriptorScriptPubKeyMan::TopUpWithDB
    - GetDatabase
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::TopUp(unsigned int size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1004,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1014,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1017,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1024,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1026,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1032,1
    - Dst: descriptor::Expand
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1033,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1036,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1036,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1036,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1042,1
    - Dst: cache::MergeAndDiff
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1050,1
    - Dst: WriteDescriptorCacheItems
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1051,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1052,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1052,1
    - Dst: wallet::DescriptorScriptPubKeyMan::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1057,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1057,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1060,1
    - Dst: TopUpCallback
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1062,1
    - Dst: NotifyCanGetAddressesChanged
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1063,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - ' batch'
    - size
    argTypes:
    - WalletBatch
    - unsigned int
    assertStmts:
    - condition: (m_wallet_descriptor.range_end - 1 == m_max_cached_index)
      pos:
        line_end: 1059
        line_start: 1059
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 1065
      start: 1002
    functionDepth: 3
    functionLinenumber: 1002
    functionLinenumberEnd: 1065
    functionName: wallet::DescriptorScriptPubKeyMan::TopUpWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 3
    functionsReached:
    - std::string
    - std::set::insert
    - WriteDescriptorCacheItems
    - wallet::DescriptorScriptPubKeyMan::GetKeys
    - wallet::DescriptorScriptPubKeyMan::GetID
    - std::vector::end
    - descriptor::Expand
    - std::runtime_error
    - descriptor::ExpandFromCache
    - cache::MergeAndDiff
    - NotifyCanGetAddressesChanged
    - wallet::DescriptorScriptPubKeyMan::WriteDescriptor
    - assert
    - descriptor::IsRange
    - count
    - TopUpCallback
    - std::vector::begin
    - std::max
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::TopUpWithDB(WalletBatch& batch, unsigned
      int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1069,1
    - Dst: wallet::DescriptorScriptPubKeyMan::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1071,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1074,1
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1075,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1078,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1079,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1079,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1082,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1083,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUp
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1087,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1093
    functionName: wallet::DescriptorScriptPubKeyMan::MarkUnusedAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<FlatSigningProvider>
    - std::runtime_error
    - ExtractDestination
    - descriptor::ExpandFromCache
    - std::string
    - LOCK
    - std::vector::push_back
    - wallet::DescriptorScriptPubKeyMan::IsMine
    - WalletLogPrintf
    - wallet::DescriptorScriptPubKeyMan::TopUp
    linkageType: ''
    returnType: std::vector<WalletDestination>
    signature: std::vector<WalletDestination> DescriptorScriptPubKeyMan::MarkUnusedAddresses(const
      CScript& script)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1097,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1098,1
    - Dst: wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1099,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1100,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - pubkey
    argTypes:
    - CKey
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1095
    functionDepth: 6
    functionLinenumber: 1095
    functionLinenumberEnd: 1102
    functionName: wallet::DescriptorScriptPubKeyMan::AddDescriptorKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - std::string
    - wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
    - LOCK
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::AddDescriptorKey(const CKey& key, const
      CPubKey &pubkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1106,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1107,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1107,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1110,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1110,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1110,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1111,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1111,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1111,1
    - Dst: HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1115,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1116,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1121,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1121,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1121,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1121,1
    - Dst: WithEncryptionKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1122,1
    - Dst: EncryptSecret
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1123,1
    - Dst: CPubKey::GetHash
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1123,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1128,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1128,1
    - Dst: WriteCryptedDescriptorKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1129,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1129,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1131,1
    - Dst: WriteDescriptorKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1132,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1132,1
    - Dst: GetPrivKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ' batch'
    - ' key'
    - pubkey
    argTypes:
    - WalletBatch
    - CKey
    - CPubKey
    assertStmts:
    - condition: (!m_storage.IsWalletFlagSet(WALLET_FLAG_DISABLE_PRIVATE_KEYS))
      pos:
        line_end: 1106
        line_start: 1106
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 1134
      start: 1104
    functionDepth: 5
    functionLinenumber: 1104
    functionLinenumberEnd: 1134
    functionName: wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 3
    functionsReached:
    - end
    - UCharCast
    - GetPrivKey
    - CPubKey::GetHash
    - WriteDescriptorKey
    - make_pair
    - WriteCryptedDescriptorKey
    - WithEncryptionKey
    - CPubKey::GetID
    - wallet::DescriptorScriptPubKeyMan::GetID
    - EncryptSecret
    - AssertLockHeld
    - IsLocked
    - HasEncryptionKeys
    - assert
    - IsWalletFlagSet
    - find
    - begin
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB(WalletBatch&
      batch, const CKey& key, const CPubKey &pubkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1138,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1139,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1139,1
    - Dst: GenerateWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1146,1
    - Dst: Neuter
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1146,1
    - Dst: wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1149,1
    - Dst: key::GetPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1149,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1150,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1150,1
    - Dst: wallet::DescriptorScriptPubKeyMan::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1152,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1152,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1153,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1153,1
    - Dst: wallet::DescriptorScriptPubKeyMan::TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1157,1
    - Dst: UnsetBlankWalletFlag
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ' batch'
    - ' master_key'
    - addr_type
    - internal
    argTypes:
    - WalletBatch
    - CExtKey
    - OutputType
    - bool
    assertStmts:
    - condition: (m_storage.IsWalletFlagSet(WALLET_FLAG_DESCRIPTORS))
      pos:
        line_end: 1138
        line_start: 1138
        source_file: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 6
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: wallet::DescriptorScriptPubKeyMan::SetupDescriptorGeneration
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::WriteDescriptor
    - GenerateWalletDescriptor
    - Neuter
    - std::runtime_error
    - UnsetBlankWalletFlag
    - std::string
    - wallet::DescriptorScriptPubKeyMan::AddDescriptorKeyWithDB
    - LOCK
    - key::GetPubKey
    - wallet::DescriptorScriptPubKeyMan::GetID
    - wallet::DescriptorScriptPubKeyMan::TopUpWithDB
    - assert
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::SetupDescriptorGeneration(WalletBatch&
      batch, const CExtKey& master_key, OutputType addr_type, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1165,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1167
    functionName: wallet::DescriptorScriptPubKeyMan::IsHDEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - descriptor::IsRange
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::IsHDEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1173,1
    - Dst: descriptor::IsSingleType
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1174,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1175,1
    - Dst: wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - internal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1169
    functionDepth: 2
    functionLinenumber: 1169
    functionLinenumberEnd: 1177
    functionName: wallet::DescriptorScriptPubKeyMan::CanGetAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
    - LOCK
    - descriptor::IsRange
    - descriptor::IsSingleType
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::CanGetAddresses(bool internal) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1181,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1182,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1183
    functionName: wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 3
    functionsReached:
    - LOCK
    - size
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::HavePrivateKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1187,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: wallet::DescriptorScriptPubKeyMan::HaveCryptedKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - empty
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::HaveCryptedKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: wallet::DescriptorScriptPubKeyMan::GetKeyPoolSize
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int DescriptorScriptPubKeyMan::GetKeyPoolSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1201
    functionName: wallet::DescriptorScriptPubKeyMan::GetTimeFirstKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: int64_t
    signature: int64_t DescriptorScriptPubKeyMan::GetTimeFirstKey() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1205,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1208,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1209,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' script'
    - include_private
    argTypes:
    - CScript
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1215
    functionName: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 8
    functionsReached:
    - end
    - LOCK
    - find
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: std::unique_ptr<FlatSigningProvider>
    signature: std::unique_ptr<FlatSigningProvider> DescriptorScriptPubKeyMan::GetSigningProvider(const
      CScript& script, bool include_private) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1219,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1222,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1223,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1229,1
    - Dst: std::unique_ptr::HaveKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1230,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' pubkey'
    argTypes:
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1217
    functionDepth: 2
    functionLinenumber: 1217
    functionLinenumberEnd: 1234
    functionName: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 9
    functionsReached:
    - end
    - std::unique_ptr::HaveKey
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetID
    - find
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: std::unique_ptr<FlatSigningProvider>
    signature: std::unique_ptr<FlatSigningProvider> DescriptorScriptPubKeyMan::GetSigningProvider(const
      CPubKey& pubkey) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1238,1
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1240,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1243,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1244,1
    - Dst: std::unique_ptr::Merge
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1245,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1249,1
    - Dst: wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1255,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1257,1
    - Dst: descriptor::ExpandPrivate
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - index
    - include_private
    argTypes:
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1236
    functionDepth: 2
    functionLinenumber: 1236
    functionLinenumberEnd: 1262
    functionName: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 9
    functionsReached:
    - end
    - std::unique_ptr::Merge
    - descriptor::ExpandPrivate
    - std::make_unique<FlatSigningProvider>
    - descriptor::ExpandFromCache
    - wallet::DescriptorScriptPubKeyMan::HavePrivateKeys
    - AssertLockHeld
    - wallet::DescriptorScriptPubKeyMan::GetKeys
    - find
    linkageType: ''
    returnType: std::unique_ptr<FlatSigningProvider>
    signature: std::unique_ptr<FlatSigningProvider> DescriptorScriptPubKeyMan::GetSigningProvider(int32_t
      index, bool include_private) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' script'
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1267
    functionName: wallet::DescriptorScriptPubKeyMan::GetSolvingProvider
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: std::unique_ptr<SigningProvider>
    signature: std::unique_ptr<SigningProvider> DescriptorScriptPubKeyMan::GetSolvingProvider(const
      CScript& script) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::IsMine
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' script'
    - ' sigdata'
    argTypes:
    - CScript
    - SignatureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1272
    functionName: wallet::DescriptorScriptPubKeyMan::CanProvide
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::IsMine
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::CanProvide(const CScript& script, SignatureData&
      sigdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1276,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1278,1
    - Dst: std::unique_ptr::Merge
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1282,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1282,1
    - Dst: ExternalSigner::SignTransaction
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1285,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' tx'
    - ' coins'
    - sighash
    - ' input_errors'
    argTypes:
    - CMutableTransaction
    - std::map<COutPoint, Coin>
    - int
    - std::map<int, bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1286
    functionName: wallet::DescriptorScriptPubKeyMan::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Merge
    - std::make_unique<FlatSigningProvider>
    - std::move
    - ExternalSigner::SignTransaction
    - std::unique_ptr::get
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::SignTransaction(CMutableTransaction&
      tx, const std::map<COutPoint, Coin>& coins, int sighash, std::map<int, bilingual_str>&
      input_errors) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1290,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1290,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1295,1
    - Dst: std::unique_ptr::GetKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1296,1
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1296,1
    - Dst: MessageSign
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' message'
    - ' pkhash'
    - ' str_sig'
    argTypes:
    - std::string
    - PKHash
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1304
    functionName: wallet::DescriptorScriptPubKeyMan::SignMessage
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - MessageSign
    - CKey::CKey
    - ToKeyID
    - std::unique_ptr::GetKey
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    linkageType: ''
    returnType: SigningResult
    signature: SigningResult DescriptorScriptPubKeyMan::SignMessage(const std::string&
      message, const PKHash& pkhash, std::string& str_sig) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1311,1
    - Dst: inputs::at
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1313,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1315,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1320,1
    - Dst: witness_utxo::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1321,1
    - Dst: non_witness_utxo::vout::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1324,1
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1333,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1334,1
    - Dst: std::unique_ptr::Merge
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1336,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1336,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1340,1
    - Dst: hd_keypaths::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1340,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1344,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1349,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1350,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1350,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1351,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1353,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1361,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1361,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1361,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1362,1
    - Dst: CPubKey::Set
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1363,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1364,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1369,1
    - Dst: std::unique_ptr::Merge
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1371,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1371,1
    - Dst: SignPSBTInput
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1376,1
    - Dst: HidingSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1376,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1376,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1381,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1391,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1392,1
    - Dst: tx::vout::at
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1392,1
    - Dst: UpdatePSBTOutput
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1396,1
    - Dst: HidingSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1396,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1396,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 7
    argNames:
    - ' psbtx'
    - ' txdata'
    - sighash_type
    - sign
    - bip32derivs
    - n_signed
    - finalize
    argTypes:
    - PartiallySignedTransaction
    - PrecomputedTransactionData
    - std::optional<int>
    - bool
    - bool
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1306
    functionDepth: 5
    functionLinenumber: 1306
    functionLinenumberEnd: 1400
    functionName: wallet::DescriptorScriptPubKeyMan::FillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::copy
    - std::vector::emplace_back
    - std::make_unique<FlatSigningProvider>
    - tx::vout::size
    - std::move
    - hd_keypaths::size
    - std::vector::push_back
    - PSBTInputSigned
    - witness_utxo::IsNull
    - std::unique_ptr::Merge
    - UpdatePSBTOutput
    - inputs::at
    - std::vector::reserve
    - CPubKey::CPubKey
    - Solver
    - std::unique_ptr::get
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    - tx::vin::size
    - end
    - non_witness_utxo::vout::size
    - CPubKey::Set
    - HidingSigningProvider
    - wallet::DescriptorScriptPubKeyMan::GetSolvingProvider
    - SignPSBTInput
    - tx::vout::at
    - insert
    - begin
    - CScript::CScript
    linkageType: ''
    returnType: std::optional<PSBTError>
    signature: std::optional<PSBTError> DescriptorScriptPubKeyMan::FillPSBT(PartiallySignedTransaction&
      psbtx, const PrecomputedTransactionData& txdata, std::optional<int> sighash_type,
      bool sign, bool bip32derivs, int* n_signed, bool finalize) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1404,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1404,1
    - Dst: GetKeyForDestination
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1407,1
    - Dst: std::unique_ptr::GetKeyOrigin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1408,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1409,1
    - Dst: std::make_unique<CKeyMetadata>
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1402
    functionDepth: 6
    functionLinenumber: 1402
    functionLinenumberEnd: 1418
    functionName: wallet::DescriptorScriptPubKeyMan::GetMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetKeyOrigin
    - GetScriptForDestination
    - std::make_unique<CKeyMetadata>
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetSigningProvider
    - GetKeyForDestination
    linkageType: ''
    returnType: std::unique_ptr<CKeyMetadata>
    signature: std::unique_ptr<CKeyMetadata> DescriptorScriptPubKeyMan::GetMetadata(const
      CTxDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1424
    functionName: wallet::DescriptorScriptPubKeyMan::GetID
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 18
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: uint256
    signature: uint256 DescriptorScriptPubKeyMan::GetID() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1428,1
    - Dst: descriptor::ExpandFromCache
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1434,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1435,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1438,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1438,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1438,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1440,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1441,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1441,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1447,1
    - Dst: TopUpCallback
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - ' cache'
    argTypes:
    - DescriptorCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1458
    functionName: wallet::DescriptorScriptPubKeyMan::SetCache
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::runtime_error
    - std::vector::begin
    - descriptor::ExpandFromCache
    - LOCK
    - std::set::insert
    - strprintf
    - count
    - TopUpCallback
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::SetCache(const DescriptorCache& cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' key_id'
    - ' key'
    argTypes:
    - CKeyID
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1465
    functionName: wallet::DescriptorScriptPubKeyMan::AddKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::AddKey(const CKeyID& key_id, const
      CKey& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1469,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1470,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' key_id'
    - ' pubkey'
    - ' crypted_key'
    argTypes:
    - CKeyID
    - CPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1476
    functionName: wallet::DescriptorScriptPubKeyMan::AddCryptedKey
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - make_pair
    - empty
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::AddCryptedKey(const CKeyID& key_id,
      const CPubKey& pubkey, const std::vector<unsigned char>& crypted_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1480,1
    - Dst: id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1481,1
    - Dst: id::IsNull
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - WalletDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1482
    functionName: wallet::DescriptorScriptPubKeyMan::HasWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - id::IsNull
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::HasWalletDescriptor(const WalletDescriptor&
      desc) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1486,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1487,1
    - Dst: WalletBatch::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1488,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1488,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1489,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1484
    functionDepth: 2
    functionLinenumber: 1484
    functionLinenumberEnd: 1491
    functionName: wallet::DescriptorScriptPubKeyMan::WriteDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 4
    functionsReached:
    - WalletBatch::WriteDescriptor
    - std::runtime_error
    - std::string
    - LOCK
    - wallet::DescriptorScriptPubKeyMan::GetID
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::WriteDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1496
    functionName: wallet::DescriptorScriptPubKeyMan::GetWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WalletDescriptor
    signature: WalletDescriptor DescriptorScriptPubKeyMan::GetWalletDescriptor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::GetScriptPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1501
    functionName: wallet::DescriptorScriptPubKeyMan::GetScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::GetScriptPubKeys
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> DescriptorScriptPubKeyMan::GetScriptPubKeys()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1505,1
    - Dst: std::unordered_set::reserve
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1507,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1507,1
    - Dst: std::unordered_set::insert
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - minimum_index
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1513
    functionName: wallet::DescriptorScriptPubKeyMan::GetScriptPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - std::unordered_set::insert
    - LOCK
    - size
    - std::unordered_set::reserve
    linkageType: ''
    returnType: std::unordered_set<CScript, SaltedSipHasher>
    signature: std::unordered_set<CScript, SaltedSipHasher> DescriptorScriptPubKeyMan::GetScriptPubKeys(int32_t
      minimum_index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1518
    functionName: wallet::DescriptorScriptPubKeyMan::GetEndRange
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t DescriptorScriptPubKeyMan::GetEndRange() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1522,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1525,1
    - Dst: descriptor::ToPrivateString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1531,1
    - Dst: descriptor::ToNormalizedString
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - priv
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1535
    functionName: wallet::DescriptorScriptPubKeyMan::GetDescriptorString
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::GetKeys
    - LOCK
    - descriptor::ToPrivateString
    - descriptor::ToNormalizedString
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::GetDescriptorString(std::string& out,
      const bool priv) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1539,1
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1540,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1540,1
    - Dst: cache::GetCachedLastHardenedExtPubKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1545,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetKeys
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1551,1
    - Dst: descriptor::Expand
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1555,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1556,1
    - Dst: cache::MergeAndDiff
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1560,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1561,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1561,1
    - Dst: wallet::DescriptorScriptPubKeyMan::GetID
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1561,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1562,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1537
    functionDepth: 2
    functionLinenumber: 1537
    functionLinenumberEnd: 1564
    functionName: wallet::DescriptorScriptPubKeyMan::UpgradeDescriptorCache
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - cache::GetCachedLastHardenedExtPubKeys
    - descriptor::Expand
    - std::runtime_error
    - WalletBatch
    - std::string
    - LOCK
    - cache::MergeAndDiff
    - IsLocked
    - wallet::DescriptorScriptPubKeyMan::GetKeys
    - wallet::DescriptorScriptPubKeyMan::GetID
    - IsWalletFlagSet
    - GetDatabase
    linkageType: ''
    returnType: void
    signature: void DescriptorScriptPubKeyMan::UpgradeDescriptorCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1568,1
    - Dst: wallet::DescriptorScriptPubKeyMan::CanUpdateToWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1570,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1571,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1571,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1574,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1575,1
    - Dst: NotifyFirstKeyTimeChanged
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' descriptor'
    argTypes:
    - WalletDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1566
    functionDepth: 3
    functionLinenumber: 1566
    functionLinenumberEnd: 1581
    functionName: wallet::DescriptorScriptPubKeyMan::UpdateWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::CanUpdateToWalletDescriptor
    - std::move
    - LOCK
    - NotifyFirstKeyTimeChanged
    - clear
    - Untranslated
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> DescriptorScriptPubKeyMan::UpdateWalletDescriptor(WalletDescriptor&
      descriptor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1585,1
    - Dst: wallet::DescriptorScriptPubKeyMan::HasWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1586,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1591,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp:1599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptor'
    - ' error'
    argTypes:
    - WalletDescriptor
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1583
    functionDepth: 2
    functionLinenumber: 1583
    functionLinenumberEnd: 1606
    functionName: wallet::DescriptorScriptPubKeyMan::CanUpdateToWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    - descriptor::IsRange
    - wallet::DescriptorScriptPubKeyMan::HasWalletDescriptor
    - strprintf
    linkageType: ''
    returnType: bool
    signature: bool DescriptorScriptPubKeyMan::CanUpdateToWalletDescriptor(const WalletDescriptor&
      descriptor, std::string& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pwallet
    - type
    argTypes:
    - CWallet*
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: wallet::ReserveDestination::ReserveDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReserveDestination(CWallet* pwallet, OutputType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: wallet::ReserveDestination::ReserveDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReserveDestination(const ReserveDestination&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: '& operator=(const ReserveDestination&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReserveDestination
    signature: ReserveDestination & operator=(const ReserveDestination&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReturnDestination
      Src: /src/bitcoin-core/src/wallet/wallet.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: ~ReserveDestination()
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - ReturnDestination
    linkageType: ''
    returnType: void
    signature: void ~ReserveDestination()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/wallet.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: wallet::IsChange
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool IsChange() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: wallet::GetLabel
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: wallet::SetLabel
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetLabel(std::string name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - AddressPurpose
    assertStmts:
    - condition: (false)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: wallet::PurposeToString
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string PurposeToString(AddressPurpose p)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: wallet::PurposeFromString
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<AddressPurpose>
    signature: std::optional<AddressPurpose> PurposeFromString(std::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:465,1
    - Dst: static_cast<bool>
      Src: /src/bitcoin-core/src/wallet/wallet.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (static_cast<bool>(m_database))
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: '& GetDatabase() const override'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - assert
    linkageType: ''
    returnType: WalletDatabase
    signature: WalletDatabase & GetDatabase() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: '& GetName() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GetName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - chain
    - ' name'
    - database
    argTypes:
    - interfaces::Chain*
    - std::string
    - std::unique_ptr<WalletDatabase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: wallet::CWallet::CWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CWallet(interfaces::Chain* chain, const std::string& name, std::unique_ptr<WalletDatabase>
      database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:488,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (NotifyUnload.empty())
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: ~CWallet()
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void ~CWallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    functionName: wallet::CWallet::HaveChain
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveChain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: wallet::CWallet::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_chain)
      pos:
        line_end: 521
        line_start: 521
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 522
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 522
    functionName: '& chain() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: interfaces::Chain
    signature: interfaces::Chain & chain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:560,1
    - Dst: IsFeatureSupported
      Src: /src/bitcoin-core/src/wallet/wallet.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - IsFeatureSupported
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: wallet::CWallet::AbortRescan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbortRescan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 582
    functionName: wallet::CWallet::IsAbortingRescan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsAbortingRescan() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 583
    functionName: wallet::CWallet::IsScanning
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsScanning() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 584
    functionName: wallet::CWallet::IsScanningWithPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsScanningWithPassphrase() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.h:585,1
    - Dst: load
      Src: /src/bitcoin-core/src/wallet/wallet.h:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 585
    functionName: wallet::CWallet::ScanningDuration
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - load
    linkageType: ''
    returnType: SteadyClock::duration
    signature: SteadyClock::duration ScanningDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 586
    functionName: wallet::CWallet::ScanningProgress
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ScanningProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDefaultNextResend
      Src: /src/bitcoin-core/src/wallet/wallet.h:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 659
    functionName: wallet::CWallet::SetNextResend
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - GetDefaultNextResend
    linkageType: ''
    returnType: void
    signature: void SetNextResend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.h:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 832
    functionName: wallet::CWallet::GetVersion
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: int
    signature: int GetVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 874
    functionName: wallet::CWallet::GetBroadcastTransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetBroadcastTransactions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - broadcast
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: wallet::CWallet::SetBroadcastTransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBroadcastTransactions(bool broadcast)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: wallet::CWallet::GetBirthTime
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetBirthTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.h:937,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.h:937,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.h:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 939
    functionName: wallet::CWallet::GetDisplayName
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - strprintf
    - GetName
    linkageType: ''
    returnType: std::string
    signature: std::string GetDisplayName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/wallet.h:945,1
    - Dst: wallet::CWallet::GetDisplayName
      Src: /src/bitcoin-core/src/wallet/wallet.h:945,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallet.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wallet_fmt
    argTypes:
    - util::ConstevalFormatString<sizeof...(Params)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: wallet::CWallet::WalletLogPrintf
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 12
    functionsReached:
    - LogInfo
    - wallet::CWallet::GetDisplayName
    - tinyformat::detail::FormatArg::format
    linkageType: ''
    returnType: void
    signature: void WalletLogPrintf(util::ConstevalFormatString<sizeof...(Params)>
      wallet_fmt, const Params&... params) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:985,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_last_block_processed_height >= 0)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 988
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 988
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:991,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_last_block_processed_height >= 0)
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 994
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' w'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1090
    functionName: wallet::WalletRescanReserver::WalletRescanReserver
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletRescanReserver(CWallet& w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:1094,1
    - Dst: fScanningWallet::exchange
      Src: /src/bitcoin-core/src/wallet/wallet.h:1095,1
    - Dst: m_scanning_with_passphrase::exchange
      Src: /src/bitcoin-core/src/wallet/wallet.h:1098,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.h:1099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_could_reserve)
      pos:
        line_end: 1093
        line_start: 1093
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 1103
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1103
    functionName: wallet::WalletRescanReserver::reserve
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - fScanningWallet::exchange
    - assert
    - m_scanning_with_passphrase::exchange
    linkageType: ''
    returnType: bool
    signature: bool reserve(bool with_passphrase = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1108
    functionName: wallet::WalletRescanReserver::isReserved
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isReserved() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_now
      Src: /src/bitcoin-core/src/wallet/wallet.h:1110,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.h:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1110
    functionName: wallet::WalletRescanReserver::now
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 26
    functionsReached:
    - NodeClock::now
    - m_now
    linkageType: ''
    returnType: Clock::time_point
    signature: Clock::time_point now() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.h:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - NowFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1112
    functionName: wallet::WalletRescanReserver::setNow
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void setNow(NowFn now)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1120
    functionName: ~WalletRescanReserver()
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WalletRescanReserver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pwallet
    - type
    argTypes:
    - CWallet*
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: wallet::ReserveDestination::ReserveDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReserveDestination(CWallet* pwallet, OutputType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: wallet::ReserveDestination::ReserveDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReserveDestination(const ReserveDestination&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: '& operator=(const ReserveDestination&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReserveDestination
    signature: ReserveDestination & operator=(const ReserveDestination&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReturnDestination
      Src: /src/bitcoin-core/src/wallet/wallet.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: ~ReserveDestination()
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - ReturnDestination
    linkageType: ''
    returnType: void
    signature: void ~ReserveDestination()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/wallet.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: wallet::IsChange
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool IsChange() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: wallet::GetLabel
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: wallet::SetLabel
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetLabel(std::string name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - AddressPurpose
    assertStmts:
    - condition: (false)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: wallet::PurposeToString
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string PurposeToString(AddressPurpose p)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: wallet::PurposeFromString
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<AddressPurpose>
    signature: std::optional<AddressPurpose> PurposeFromString(std::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:465,1
    - Dst: static_cast<bool>
      Src: /src/bitcoin-core/src/wallet/wallet.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (static_cast<bool>(m_database))
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: '& GetDatabase() const override'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - assert
    linkageType: ''
    returnType: WalletDatabase
    signature: WalletDatabase & GetDatabase() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: '& GetName() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GetName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - chain
    - ' name'
    - database
    argTypes:
    - interfaces::Chain*
    - std::string
    - std::unique_ptr<WalletDatabase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: wallet::CWallet::CWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CWallet(interfaces::Chain* chain, const std::string& name, std::unique_ptr<WalletDatabase>
      database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:488,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/wallet.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (NotifyUnload.empty())
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: ~CWallet()
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void ~CWallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    functionName: wallet::CWallet::HaveChain
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HaveChain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: wallet::CWallet::GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GUARDED_BY(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_chain)
      pos:
        line_end: 521
        line_start: 521
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 522
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 522
    functionName: '& chain() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: interfaces::Chain
    signature: interfaces::Chain & chain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:560,1
    - Dst: IsFeatureSupported
      Src: /src/bitcoin-core/src/wallet/wallet.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - IsFeatureSupported
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: wallet::CWallet::AbortRescan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbortRescan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 582
    functionName: wallet::CWallet::IsAbortingRescan
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsAbortingRescan() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 583
    functionName: wallet::CWallet::IsScanning
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsScanning() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 584
    functionName: wallet::CWallet::IsScanningWithPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsScanningWithPassphrase() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.h:585,1
    - Dst: load
      Src: /src/bitcoin-core/src/wallet/wallet.h:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 585
    functionName: wallet::CWallet::ScanningDuration
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - load
    linkageType: ''
    returnType: SteadyClock::duration
    signature: SteadyClock::duration ScanningDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 586
    functionName: wallet::CWallet::ScanningProgress
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ScanningProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDefaultNextResend
      Src: /src/bitcoin-core/src/wallet/wallet.h:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 659
    functionName: wallet::CWallet::SetNextResend
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - GetDefaultNextResend
    linkageType: ''
    returnType: void
    signature: void SetNextResend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallet.h:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 832
    functionName: wallet::CWallet::GetVersion
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: int
    signature: int GetVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 874
    functionName: wallet::CWallet::GetBroadcastTransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetBroadcastTransactions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - broadcast
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: wallet::CWallet::SetBroadcastTransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBroadcastTransactions(bool broadcast)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: wallet::CWallet::GetBirthTime
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetBirthTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.h:937,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/wallet.h:937,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/wallet.h:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 939
    functionName: wallet::CWallet::GetDisplayName
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 1
    functionsReached:
    - strprintf
    - GetName
    linkageType: ''
    returnType: std::string
    signature: std::string GetDisplayName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/wallet.h:945,1
    - Dst: wallet::CWallet::GetDisplayName
      Src: /src/bitcoin-core/src/wallet/wallet.h:945,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallet.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wallet_fmt
    argTypes:
    - util::ConstevalFormatString<sizeof...(Params)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: wallet::CWallet::WalletLogPrintf
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 12
    functionsReached:
    - LogInfo
    - wallet::CWallet::GetDisplayName
    - tinyformat::detail::FormatArg::format
    linkageType: ''
    returnType: void
    signature: void WalletLogPrintf(util::ConstevalFormatString<sizeof...(Params)>
      wallet_fmt, const Params&... params) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:985,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_last_block_processed_height >= 0)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 988
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 988
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/wallet.h:991,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_last_block_processed_height >= 0)
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 994
    functionName: wallet::CWallet::EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 2
    functionsReached:
    - assert
    - AssertLockHeld
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' w'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1090
    functionName: wallet::WalletRescanReserver::WalletRescanReserver
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletRescanReserver(CWallet& w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/wallet.h:1094,1
    - Dst: fScanningWallet::exchange
      Src: /src/bitcoin-core/src/wallet/wallet.h:1095,1
    - Dst: m_scanning_with_passphrase::exchange
      Src: /src/bitcoin-core/src/wallet/wallet.h:1098,1
    - Dst: MockableSteadyClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.h:1099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_could_reserve)
      pos:
        line_end: 1093
        line_start: 1093
        source_file: /src/bitcoin-core/src/wallet/wallet.h
    constantsTouched: []
    func_position:
      end: 1103
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1103
    functionName: wallet::WalletRescanReserver::reserve
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - MockableSteadyClock::now
    - fScanningWallet::exchange
    - assert
    - m_scanning_with_passphrase::exchange
    linkageType: ''
    returnType: bool
    signature: bool reserve(bool with_passphrase = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1108
    functionName: wallet::WalletRescanReserver::isReserved
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isReserved() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_now
      Src: /src/bitcoin-core/src/wallet/wallet.h:1110,1
    - Dst: NodeClock::now
      Src: /src/bitcoin-core/src/wallet/wallet.h:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1110
    functionName: wallet::WalletRescanReserver::now
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 26
    functionsReached:
    - NodeClock::now
    - m_now
    linkageType: ''
    returnType: Clock::time_point
    signature: Clock::time_point now() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallet.h:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - NowFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1112
    functionName: wallet::WalletRescanReserver::setNow
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void setNow(NowFn now)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1120
    functionName: ~WalletRescanReserver()
    functionSourceFile: /src/bitcoin-core/src/wallet/wallet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WalletRescanReserver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:26,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:27,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:27,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:28,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:28,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:30,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:33,1
    - Dst: WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:37,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:37,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:38,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:38,1
    - Dst: TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:42,1
    - Dst: UnsetBlankWalletFlag
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' batch'
    - desc
    argTypes:
    - WalletBatch
    - std::unique_ptr<Descriptor>
    assertStmts:
    - condition: (m_storage.IsWalletFlagSet(WALLET_FLAG_EXTERNAL_SIGNER))
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    - condition: (m_storage.IsWalletFlagSet(WALLET_FLAG_DESCRIPTORS))
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: wallet::ExternalSignerScriptPubKeyMan::SetupDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - WriteDescriptor
    - TopUpWithDB
    - std::runtime_error
    - GetID
    - UnsetBlankWalletFlag
    - std::move
    - std::string
    - LOCK
    - assert
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool ExternalSignerScriptPubKeyMan::SetupDescriptor(WalletBatch& batch,
      std::unique_ptr<Descriptor> desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:49,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:50,1
    - Dst: ExternalSigner::Enumerate
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:52,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:52,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:53,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:53,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:55,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - GetArg
    - Params
    - ExternalSigner::Enumerate
    - std::vector::empty
    - Untranslated
    - std::vector::size
    linkageType: ''
    returnType: util::Result<ExternalSigner>
    signature: util::Result<ExternalSigner> ExternalSignerScriptPubKeyMan::GetExternalSigner()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:62,1
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:63,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:64,1
    - Dst: ExternalSigner::DisplayAddress
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:66,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:66,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:68,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:69,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:69,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:69,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:69,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:71,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:72,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:72,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:74,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:74,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:75,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:75,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:75,1
    - Dst: util::Result<void>
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' dest'
    - signer
    argTypes:
    - CTxDestination
    - ExternalSigner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 7
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: wallet::ExternalSignerScriptPubKeyMan::DisplayAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - getValStr
    - ExternalSigner::DisplayAddress
    - InferDescriptor
    - _
    - GetSolvingProvider
    - GetScriptForDestination
    - EncodeDestination
    - find_value
    - util::Result<void>
    - isStr
    - strprintf
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> ExternalSignerScriptPubKeyMan::DisplayAddress(const
      CTxDestination& dest, const ExternalSigner &signer) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::FillPSBT
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:85,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:92,1
    - Dst: wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:96,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:98,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:98,1
    - Dst: auto::SignTransaction
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:103,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:104,1
    - Dst: FinalizePSBT
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 7
    argNames:
    - ' psbt'
    - ' txdata'
    - sighash_type
    - sign
    - bip32derivs
    - n_signed
    - finalize
    argTypes:
    - PartiallySignedTransaction
    - PrecomputedTransactionData
    - std::optional<int>
    - bool
    - bool
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 109
    functionName: wallet::ExternalSignerScriptPubKeyMan::FillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::FillPSBT
    - util::ErrorString
    - wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
    - FinalizePSBT
    - LogWarning
    - auto::SignTransaction
    - PSBTInputSigned
    linkageType: ''
    returnType: std::optional<PSBTError>
    signature: std::optional<PSBTError> ExternalSignerScriptPubKeyMan::FillPSBT(PartiallySignedTransaction&
      psbt, const PrecomputedTransactionData& txdata, std::optional<int> sighash_type,
      bool sign, bool bip32derivs, int* n_signed, bool finalize) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:26,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:27,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:27,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:28,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:28,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:30,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:33,1
    - Dst: WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:37,1
    - Dst: GetID
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:37,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:38,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:38,1
    - Dst: TopUpWithDB
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:42,1
    - Dst: UnsetBlankWalletFlag
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' batch'
    - desc
    argTypes:
    - WalletBatch
    - std::unique_ptr<Descriptor>
    assertStmts:
    - condition: (m_storage.IsWalletFlagSet(WALLET_FLAG_EXTERNAL_SIGNER))
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    - condition: (m_storage.IsWalletFlagSet(WALLET_FLAG_DESCRIPTORS))
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: wallet::ExternalSignerScriptPubKeyMan::SetupDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - WriteDescriptor
    - TopUpWithDB
    - std::runtime_error
    - GetID
    - UnsetBlankWalletFlag
    - std::move
    - std::string
    - LOCK
    - assert
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool ExternalSignerScriptPubKeyMan::SetupDescriptor(WalletBatch& batch,
      std::unique_ptr<Descriptor> desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:49,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:50,1
    - Dst: ExternalSigner::Enumerate
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:52,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:52,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:53,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:53,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:55,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    functionUses: 3
    functionsReached:
    - GetArg
    - Params
    - ExternalSigner::Enumerate
    - std::vector::empty
    - Untranslated
    - std::vector::size
    linkageType: ''
    returnType: util::Result<ExternalSigner>
    signature: util::Result<ExternalSigner> ExternalSignerScriptPubKeyMan::GetExternalSigner()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:62,1
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:63,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:64,1
    - Dst: ExternalSigner::DisplayAddress
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:66,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:66,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:68,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:69,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:69,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:69,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:69,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:71,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:72,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:72,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:74,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:74,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:75,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:75,1
    - Dst: getValStr
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:75,1
    - Dst: util::Result<void>
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' dest'
    - signer
    argTypes:
    - CTxDestination
    - ExternalSigner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 7
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: wallet::ExternalSignerScriptPubKeyMan::DisplayAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - getValStr
    - ExternalSigner::DisplayAddress
    - InferDescriptor
    - _
    - GetSolvingProvider
    - GetScriptForDestination
    - EncodeDestination
    - find_value
    - util::Result<void>
    - isStr
    - strprintf
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> ExternalSignerScriptPubKeyMan::DisplayAddress(const
      CTxDestination& dest, const ExternalSigner &signer) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DescriptorScriptPubKeyMan::FillPSBT
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:85,1
    - Dst: PSBTInputSigned
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:92,1
    - Dst: wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:96,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:98,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:98,1
    - Dst: auto::SignTransaction
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:103,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:104,1
    - Dst: FinalizePSBT
      Src: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 7
    argNames:
    - ' psbt'
    - ' txdata'
    - sighash_type
    - sign
    - bip32derivs
    - n_signed
    - finalize
    argTypes:
    - PartiallySignedTransaction
    - PrecomputedTransactionData
    - std::optional<int>
    - bool
    - bool
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 109
    functionName: wallet::ExternalSignerScriptPubKeyMan::FillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - wallet::DescriptorScriptPubKeyMan::FillPSBT
    - util::ErrorString
    - wallet::ExternalSignerScriptPubKeyMan::GetExternalSigner
    - FinalizePSBT
    - LogWarning
    - auto::SignTransaction
    - PSBTInputSigned
    linkageType: ''
    returnType: std::optional<PSBTError>
    signature: std::optional<PSBTError> ExternalSignerScriptPubKeyMan::FillPSBT(PartiallySignedTransaction&
      psbt, const PrecomputedTransactionData& txdata, std::optional<int> sighash_type,
      bool sign, bool bip32derivs, int* n_signed, bool finalize) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/dump.cpp:27,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/dump.cpp:28,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:29,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:33,1
    - Dst: fs::absolute
      Src: /src/bitcoin-core/src/wallet/dump.cpp:34,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/dump.cpp:35,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:36,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:36,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:36,1
    - Dst: std::ofstream::open
      Src: /src/bitcoin-core/src/wallet/dump.cpp:40,1
    - Dst: std::ofstream::fail
      Src: /src/bitcoin-core/src/wallet/dump.cpp:41,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:42,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:42,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:42,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/dump.cpp:48,1
    - Dst: std::unique_ptr::GetNewCursor
      Src: /src/bitcoin-core/src/wallet/dump.cpp:51,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:53,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:58,1
    - Dst: std::ofstream::write
      Src: /src/bitcoin-core/src/wallet/dump.cpp:59,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/wallet/dump.cpp:59,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:59,1
    - Dst: Format
      Src: /src/bitcoin-core/src/wallet/dump.cpp:63,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:69,1
    - Dst: std::ofstream::write
      Src: /src/bitcoin-core/src/wallet/dump.cpp:70,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/wallet/dump.cpp:70,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:70,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/dump.cpp:79,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:84,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:88,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:89,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:90,1
    - Dst: std::ofstream::write
      Src: /src/bitcoin-core/src/wallet/dump.cpp:91,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/wallet/dump.cpp:91,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:91,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/dump.cpp:96,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/dump.cpp:97,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/dump.cpp:101,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:101,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/wallet/dump.cpp:101,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:102,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:105,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/wallet/dump.cpp:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 3
    argNames:
    - ' args'
    - ' db'
    - ' error'
    argTypes:
    - ArgsManager
    - WalletDatabase
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 110
    functionName: wallet::DumpWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/dump.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - GetArg
    - std::ofstream::close
    - fs::exists
    - std::string::empty
    - HashWriter::GetHash
    - std::ofstream::write
    - std::unique_ptr::reset
    - tinyformat::detail::FormatArg::format
    - std::ofstream::open
    - std::unique_ptr::Next
    - MakeBatch
    - fs::PathToString
    - std::unique_ptr::GetNewCursor
    - strprintf
    - Format
    - std::string::size
    - _
    - fs::PathFromString
    - std::ofstream::fail
    - wallet::WalletImpl::remove
    - fs::absolute
    - HexStr
    linkageType: ''
    returnType: bool
    signature: bool DumpWallet(const ArgsManager& args, WalletDatabase& db, bilingual_str&
      error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:117,1
    - Dst: CWallet*::Close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: wallet::WalletToolReleaseWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/dump.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::Close
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: void WalletToolReleaseWallet(CWallet* wallet)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/dump.cpp:125,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/dump.cpp:126,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:127,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:131,1
    - Dst: fs::absolute
      Src: /src/bitcoin-core/src/wallet/dump.cpp:132,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/dump.cpp:133,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:134,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:134,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:134,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/dump.cpp:141,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:145,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:147,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:149,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:149,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:150,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/wallet/dump.cpp:154,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:156,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:156,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:157,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:161,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:161,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:162,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:165,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:170,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:172,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:174,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:174,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:175,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:183,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:183,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:186,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/dump.cpp:191,1
    - Dst: wallet::MakeDatabase
      Src: /src/bitcoin-core/src/wallet/dump.cpp:194,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/dump.cpp:199,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/dump.cpp:199,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/dump.cpp:201,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/dump.cpp:202,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:204,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:204,1
    - Dst: std::shared_ptr::GetDatabase
      Src: /src/bitcoin-core/src/wallet/dump.cpp:209,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/dump.cpp:210,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/dump.cpp:211,1
    - Dst: std::ifstream::good
      Src: /src/bitcoin-core/src/wallet/dump.cpp:214,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:216,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:218,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:221,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:222,1
    - Dst: uint256::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:222,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/dump.cpp:223,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/wallet/dump.cpp:227,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/dump.cpp:227,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/dump.cpp:227,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/wallet/dump.cpp:227,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:231,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/dump.cpp:234,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/dump.cpp:234,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:238,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:239,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:239,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:243,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:244,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:244,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:249,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:250,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/dump.cpp:251,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:252,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:252,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/wallet/dump.cpp:259,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/wallet/dump.cpp:260,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:261,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:264,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:264,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:264,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:264,1
    - Dst: std::unique_ptr::TxnCommit
      Src: /src/bitcoin-core/src/wallet/dump.cpp:270,1
    - Dst: std::unique_ptr::TxnAbort
      Src: /src/bitcoin-core/src/wallet/dump.cpp:272,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/dump.cpp:275,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:277,1
    - Dst: std::shared_ptr::reset
      Src: /src/bitcoin-core/src/wallet/dump.cpp:279,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/wallet/dump.cpp:283,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 106
    argCount: 5
    argNames:
    - ' args'
    - ' name'
    - ' wallet_path'
    - ' error'
    - ' warnings'
    argTypes:
    - ArgsManager
    - std::string
    - fs::path
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 287
    functionName: wallet::CreateFromDump
    functionSourceFile: /src/bitcoin-core/src/wallet/dump.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    - std::copy
    - GetArg
    - fs::exists
    - std::string::empty
    - std::move
    - ToIntegral
    - HashWriter::GetHash
    - std::getline
    - std::shared_ptr::GetDatabase
    - std::vector::end
    - std::unique_ptr::reset
    - uint256::size
    - std::unique_ptr::Write
    - wallet::ReadDatabaseArgs
    - MakeBatch
    - std::unique_ptr::TxnBegin
    - ParseHex
    - std::vector::size
    - fs::PathToString
    - Untranslated
    - std::ifstream::close
    - uint256::IsNull
    - std::unique_ptr::TxnCommit
    - wallet::MakeDatabase
    - strprintf
    - std::ifstream::good
    - uint256::uint256
    - std::shared_ptr::reset
    - IsHex
    - _
    - fs::PathFromString
    - std::shared_ptr::LoadWallet
    - std::unique_ptr::TxnAbort
    - uint256::begin
    - std::vector::begin
    - LOCK
    - fs::absolute
    - HexStr
    - CWallet::CWallet
    linkageType: ''
    returnType: bool
    signature: bool CreateFromDump(const ArgsManager& args, const std::string& name,
      const fs::path& wallet_path, bilingual_str& error, std::vector<bilingual_str>&
      warnings)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/dump.cpp:27,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/dump.cpp:28,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:29,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:33,1
    - Dst: fs::absolute
      Src: /src/bitcoin-core/src/wallet/dump.cpp:34,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/dump.cpp:35,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:36,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:36,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:36,1
    - Dst: std::ofstream::open
      Src: /src/bitcoin-core/src/wallet/dump.cpp:40,1
    - Dst: std::ofstream::fail
      Src: /src/bitcoin-core/src/wallet/dump.cpp:41,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:42,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:42,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:42,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/dump.cpp:48,1
    - Dst: std::unique_ptr::GetNewCursor
      Src: /src/bitcoin-core/src/wallet/dump.cpp:51,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:53,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:58,1
    - Dst: std::ofstream::write
      Src: /src/bitcoin-core/src/wallet/dump.cpp:59,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/wallet/dump.cpp:59,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:59,1
    - Dst: Format
      Src: /src/bitcoin-core/src/wallet/dump.cpp:63,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:69,1
    - Dst: std::ofstream::write
      Src: /src/bitcoin-core/src/wallet/dump.cpp:70,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/wallet/dump.cpp:70,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:70,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/dump.cpp:79,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:84,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:88,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:89,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:90,1
    - Dst: std::ofstream::write
      Src: /src/bitcoin-core/src/wallet/dump.cpp:91,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/wallet/dump.cpp:91,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:91,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/dump.cpp:96,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/dump.cpp:97,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/dump.cpp:101,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:101,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/wallet/dump.cpp:101,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:102,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:105,1
    - Dst: wallet::WalletImpl::remove
      Src: /src/bitcoin-core/src/wallet/dump.cpp:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 3
    argNames:
    - ' args'
    - ' db'
    - ' error'
    argTypes:
    - ArgsManager
    - WalletDatabase
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 110
    functionName: wallet::DumpWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/dump.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - GetArg
    - std::ofstream::close
    - fs::exists
    - std::string::empty
    - HashWriter::GetHash
    - std::ofstream::write
    - std::unique_ptr::reset
    - tinyformat::detail::FormatArg::format
    - std::ofstream::open
    - std::unique_ptr::Next
    - MakeBatch
    - fs::PathToString
    - std::unique_ptr::GetNewCursor
    - strprintf
    - Format
    - std::string::size
    - _
    - fs::PathFromString
    - std::ofstream::fail
    - wallet::WalletImpl::remove
    - fs::absolute
    - HexStr
    linkageType: ''
    returnType: bool
    signature: bool DumpWallet(const ArgsManager& args, WalletDatabase& db, bilingual_str&
      error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:117,1
    - Dst: CWallet*::Close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: wallet::WalletToolReleaseWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/dump.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::Close
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: void WalletToolReleaseWallet(CWallet* wallet)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/dump.cpp:125,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/dump.cpp:126,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:127,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:131,1
    - Dst: fs::absolute
      Src: /src/bitcoin-core/src/wallet/dump.cpp:132,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/dump.cpp:133,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:134,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:134,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/dump.cpp:134,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/dump.cpp:141,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:145,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:147,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:149,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:149,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:150,1
    - Dst: ToIntegral
      Src: /src/bitcoin-core/src/wallet/dump.cpp:154,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:156,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:156,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:157,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:161,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:161,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:162,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:165,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:170,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:172,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:174,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:174,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:175,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:183,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:183,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:186,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/dump.cpp:191,1
    - Dst: wallet::MakeDatabase
      Src: /src/bitcoin-core/src/wallet/dump.cpp:194,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/dump.cpp:199,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/dump.cpp:199,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/dump.cpp:201,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/dump.cpp:202,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:204,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:204,1
    - Dst: std::shared_ptr::GetDatabase
      Src: /src/bitcoin-core/src/wallet/dump.cpp:209,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/dump.cpp:210,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/dump.cpp:211,1
    - Dst: std::ifstream::good
      Src: /src/bitcoin-core/src/wallet/dump.cpp:214,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:216,1
    - Dst: std::getline
      Src: /src/bitcoin-core/src/wallet/dump.cpp:218,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:221,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:222,1
    - Dst: uint256::size
      Src: /src/bitcoin-core/src/wallet/dump.cpp:222,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/dump.cpp:223,1
    - Dst: std::copy
      Src: /src/bitcoin-core/src/wallet/dump.cpp:227,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/dump.cpp:227,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/dump.cpp:227,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/wallet/dump.cpp:227,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:231,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/dump.cpp:234,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/dump.cpp:234,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:238,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:239,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:239,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:243,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:244,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:244,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:249,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/dump.cpp:250,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/dump.cpp:251,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:252,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:252,1
    - Dst: HashWriter::GetHash
      Src: /src/bitcoin-core/src/wallet/dump.cpp:259,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/wallet/dump.cpp:260,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:261,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/dump.cpp:264,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/dump.cpp:264,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:264,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/dump.cpp:264,1
    - Dst: std::unique_ptr::TxnCommit
      Src: /src/bitcoin-core/src/wallet/dump.cpp:270,1
    - Dst: std::unique_ptr::TxnAbort
      Src: /src/bitcoin-core/src/wallet/dump.cpp:272,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/dump.cpp:275,1
    - Dst: std::ifstream::close
      Src: /src/bitcoin-core/src/wallet/dump.cpp:277,1
    - Dst: std::shared_ptr::reset
      Src: /src/bitcoin-core/src/wallet/dump.cpp:279,1
    - Dst: fs::remove_all
      Src: /src/bitcoin-core/src/wallet/dump.cpp:283,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 106
    argCount: 5
    argNames:
    - ' args'
    - ' name'
    - ' wallet_path'
    - ' error'
    - ' warnings'
    argTypes:
    - ArgsManager
    - std::string
    - fs::path
    - bilingual_str
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 287
    functionName: wallet::CreateFromDump
    functionSourceFile: /src/bitcoin-core/src/wallet/dump.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    - std::copy
    - GetArg
    - fs::exists
    - std::string::empty
    - std::move
    - ToIntegral
    - HashWriter::GetHash
    - std::getline
    - std::shared_ptr::GetDatabase
    - std::vector::end
    - std::unique_ptr::reset
    - uint256::size
    - std::unique_ptr::Write
    - wallet::ReadDatabaseArgs
    - MakeBatch
    - std::unique_ptr::TxnBegin
    - ParseHex
    - std::vector::size
    - fs::PathToString
    - Untranslated
    - std::ifstream::close
    - uint256::IsNull
    - std::unique_ptr::TxnCommit
    - wallet::MakeDatabase
    - strprintf
    - std::ifstream::good
    - uint256::uint256
    - std::shared_ptr::reset
    - IsHex
    - _
    - fs::PathFromString
    - std::shared_ptr::LoadWallet
    - std::unique_ptr::TxnAbort
    - uint256::begin
    - std::vector::begin
    - LOCK
    - fs::absolute
    - HexStr
    - CWallet::CWallet
    linkageType: ''
    returnType: bool
    signature: bool CreateFromDump(const ArgsManager& args, const std::string& name,
      const fs::path& wallet_path, bilingual_str& error, std::vector<bilingual_str>&
      warnings)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:69,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:71,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:71,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:72,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:72,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:73,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:74,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:74,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:75,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:80,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:80,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:82,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:85,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:86,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:87,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:87,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:87,1
    - Dst: wallet::GetFee
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:89,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:89,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:91,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:94,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:97,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:97,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:97,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: wallet::GetRequiredFee
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:102,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:104,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:104,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:104,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:105,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:112,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:112,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:112,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:113,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - ' wallet'
    - ' mtx'
    - ' newFeerate'
    - maxTxSize
    - old_fee
    - ' errors'
    argTypes:
    - CWallet
    - CMutableTransaction
    - CFeeRate
    - int64_t
    - CAmount
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 118
    functionName: wallet::CheckFeeRate
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::optional::has_value
    - wallet::GetRequiredFee
    - chain
    - std::vector::reserve
    - std::vector::push_back
    - GetFeePerK
    - std::optional::value
    - CFeeRate::GetFeePerK
    - CFeeRate::GetFee
    - wallet::GetFee
    - strprintf
    - FormatMoney
    - Untranslated
    - vin::size
    linkageType: ''
    returnType: feebumper::Result
    signature: feebumper::Result CheckFeeRate(const CWallet& wallet, const CMutableTransaction&
      mtx, const CFeeRate& newFeerate, const int64_t maxTxSize, CAmount old_fee, std::vector<bilingual_str>&
      errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:125,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:127,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:136,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:137,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:138,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' wallet'
    - ' wtx'
    - old_fee
    - ' coin_control'
    argTypes:
    - CWallet
    - CWalletTx
    - CAmount
    - CCoinControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 145
    functionName: wallet::EstimateFeeRate
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - CFeeRate
    - GetVirtualTransactionSize
    - chain
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate EstimateFeeRate(const CWallet& wallet, const CWalletTx& wtx,
      const CAmount old_fee, const CCoinControl& coin_control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:151,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:152,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' txid'
    argTypes:
    - CWallet
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: wallet::feebumper::TransactionCanBeBumped
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - GetWalletTx
    - LOCK
    - PreconditionChecks
    linkageType: ''
    returnType: bool
    signature: bool TransactionCanBeBumped(const CWallet& wallet, const Txid& txid)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:164,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:164,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:165,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:165,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:172,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:173,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:174,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:175,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:176,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:176,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: std::optional<uint32_t>::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:183,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:183,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:195,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:197,1
    - Dst: out::IsNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:198,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: prevout::hash::GetHex
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:202,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:203,1
    - Dst: SetTxOut
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:207,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:211,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:212,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:212,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:213,1
    - Dst: tx::vin::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:214,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:215,1
    - Dst: CCoinControl::IsExternalSelected
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:217,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:219,1
    - Dst: tx::get
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:225,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:227,1
    - Dst: SignatureWeights::GetWeightDiffToMax
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:229,1
    - Dst: CCoinControl::SetInputWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:230,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:234,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:252,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:253,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:254,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:256,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: std::optional<uint32_t>::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: OutputIsChange
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:261,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:267,1
    - Dst: std::get_if<CNoDestination>
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:269,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:270,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:270,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:276,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:277,1
    - Dst: scriptSig::clear
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:286,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:287,1
    - Dst: CalculateMaximumSignedTxSize
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:290,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:290,1
    - Dst: CheckFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:291,1
    - Dst: EstimateFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:297,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:308,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:308,1
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:315,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:326,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 10
    argNames:
    - ' wallet'
    - ' txid'
    - ' coin_control'
    - ' errors'
    - ' old_fee'
    - ' new_fee'
    - ' mtx'
    - require_mine
    - ' outputs'
    - original_change_index
    argTypes:
    - CWallet
    - Txid
    - CCoinControl
    - std::vector<bilingual_str>
    - CAmount
    - CAmount
    - CMutableTransaction
    - bool
    - std::vector<CTxOut>
    - std::optional<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 160
    functionDepth: 10
    functionLinenumber: 160
    functionLinenumberEnd: 329
    functionName: wallet::feebumper::CreateRateBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - scriptWitness::SetNull
    - tx::vout::size
    - at
    - std::move
    - std::vector::push_back
    - tx::get
    - CreateTransaction
    - OutputIsChange
    - std::optional<uint32_t>::value
    - std::optional<uint32_t>::has_value
    - CCoinControl::Select
    - PreconditionChecks
    - util::ErrorString
    - CalculateMaximumSignedTxSize
    - tx::vin::at
    - SignatureWeights::GetWeightDiffToMax
    - CMutableTransaction
    - clear
    - IsMine
    - CCoinControl::IsExternalSelected
    - scriptSig::clear
    - std::vector::empty
    - Untranslated
    - PrecomputedTransactionData::Init
    - prevout::hash::GetHex
    - tx::vin::size
    - empty
    - VerifyScript
    - CTransaction
    - CheckFeeRate
    - mapWallet::end
    - SetTxOut
    - COutPoint
    - CCoinControl::SetInputWeight
    - std::get_if<CNoDestination>
    - strprintf
    - CNoDestination
    - std::map::at
    - GetTransactionInputWeight
    - ExtractDestination
    - chain
    - size
    - LOCK
    - mapWallet::find
    - EstimateFeeRate
    - emplace_back
    - PrecomputedTransactionData::PrecomputedTransactionData
    - out::IsNull
    linkageType: ''
    returnType: Result
    signature: "Result CreateRateBumpTransaction(CWallet& wallet, const Txid& txid,
      const CCoinControl& coin_control, std::vector<bilingual_str>& errors,\n                                 CAmount&
      old_fee, CAmount& new_fee, CMutableTransaction& mtx, bool require_mine, const
      std::vector<CTxOut>& outputs, std::optional<uint32_t> original_change_index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:332,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:334,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:341,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:342,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:344,1
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' wallet'
    - ' mtx'
    argTypes:
    - CWallet
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 349
    functionName: wallet::feebumper::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 1
    functionsReached:
    - LOCK
    - FillPSBT
    - wallet::feebumper::SignTransaction
    - FinalizeAndExtractPSBT
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool SignTransaction(CWallet& wallet, CMutableTransaction& mtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:353,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:354,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:358,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:359,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:359,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:365,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:371,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:371,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:373,1
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:375,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:375,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:378,1
    - Dst: MarkReplaced
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:379,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:379,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:380,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - ' wallet'
    - ' txid'
    - ' mtx'
    - ' errors'
    - ' bumped_txid'
    argTypes:
    - CWallet
    - Txid
    - CMutableTransaction
    - std::vector<bilingual_str>
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: wallet::feebumper::CommitTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 1
    functionsReached:
    - PreconditionChecks
    - empty
    - mapWallet::end
    - MakeTransactionRef
    - GetHash
    - std::move
    - CTransactionRef::GetHash
    - MarkReplaced
    - LOCK
    - mapWallet::find
    - wallet::feebumper::CommitTransaction
    - IsNull
    - emplace_back
    - Untranslated
    linkageType: ''
    returnType: Result
    signature: Result CommitTransaction(CWallet& wallet, const Txid& txid, CMutableTransaction&&
      mtx, std::vector<bilingual_str>& errors, Txid& bumped_txid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:151,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:152,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' txid'
    argTypes:
    - CWallet
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: wallet::feebumper::TransactionCanBeBumped
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - GetWalletTx
    - LOCK
    - PreconditionChecks
    linkageType: ''
    returnType: bool
    signature: bool TransactionCanBeBumped(const CWallet& wallet, const Txid& txid)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:164,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:164,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:165,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:165,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:172,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:173,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:174,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:175,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:176,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:176,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: std::optional<uint32_t>::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:183,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:183,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:195,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:197,1
    - Dst: out::IsNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:198,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: prevout::hash::GetHex
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:202,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:203,1
    - Dst: SetTxOut
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:207,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:211,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:212,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:212,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:213,1
    - Dst: tx::vin::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:214,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:215,1
    - Dst: CCoinControl::IsExternalSelected
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:217,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:219,1
    - Dst: tx::get
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:225,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:227,1
    - Dst: SignatureWeights::GetWeightDiffToMax
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:229,1
    - Dst: CCoinControl::SetInputWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:230,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:234,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:252,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:253,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:254,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:256,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: std::optional<uint32_t>::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: OutputIsChange
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:261,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:267,1
    - Dst: std::get_if<CNoDestination>
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:269,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:270,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:270,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:276,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:277,1
    - Dst: scriptSig::clear
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:286,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:287,1
    - Dst: CalculateMaximumSignedTxSize
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:290,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:290,1
    - Dst: CheckFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:291,1
    - Dst: EstimateFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:297,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:308,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:308,1
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:315,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:326,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 10
    argNames:
    - ' wallet'
    - ' txid'
    - ' coin_control'
    - ' errors'
    - ' old_fee'
    - ' new_fee'
    - ' mtx'
    - require_mine
    - ' outputs'
    - original_change_index
    argTypes:
    - CWallet
    - Txid
    - CCoinControl
    - std::vector<bilingual_str>
    - CAmount
    - CAmount
    - CMutableTransaction
    - bool
    - std::vector<CTxOut>
    - std::optional<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 160
    functionDepth: 10
    functionLinenumber: 160
    functionLinenumberEnd: 329
    functionName: wallet::feebumper::CreateRateBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - scriptWitness::SetNull
    - tx::vout::size
    - at
    - std::move
    - std::vector::push_back
    - tx::get
    - CreateTransaction
    - OutputIsChange
    - std::optional<uint32_t>::value
    - std::optional<uint32_t>::has_value
    - CCoinControl::Select
    - PreconditionChecks
    - util::ErrorString
    - CalculateMaximumSignedTxSize
    - tx::vin::at
    - SignatureWeights::GetWeightDiffToMax
    - CMutableTransaction
    - clear
    - IsMine
    - CCoinControl::IsExternalSelected
    - scriptSig::clear
    - std::vector::empty
    - Untranslated
    - PrecomputedTransactionData::Init
    - prevout::hash::GetHex
    - tx::vin::size
    - empty
    - VerifyScript
    - CTransaction
    - CheckFeeRate
    - mapWallet::end
    - SetTxOut
    - COutPoint
    - CCoinControl::SetInputWeight
    - std::get_if<CNoDestination>
    - strprintf
    - CNoDestination
    - std::map::at
    - GetTransactionInputWeight
    - ExtractDestination
    - chain
    - size
    - LOCK
    - mapWallet::find
    - EstimateFeeRate
    - emplace_back
    - PrecomputedTransactionData::PrecomputedTransactionData
    - out::IsNull
    linkageType: ''
    returnType: Result
    signature: "Result CreateRateBumpTransaction(CWallet& wallet, const Txid& txid,
      const CCoinControl& coin_control, std::vector<bilingual_str>& errors,\n                                 CAmount&
      old_fee, CAmount& new_fee, CMutableTransaction& mtx, bool require_mine, const
      std::vector<CTxOut>& outputs, std::optional<uint32_t> original_change_index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:332,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:334,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:341,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:342,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:344,1
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' wallet'
    - ' mtx'
    argTypes:
    - CWallet
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 349
    functionName: wallet::feebumper::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 2
    functionsReached:
    - LOCK
    - FillPSBT
    - wallet::feebumper::SignTransaction
    - FinalizeAndExtractPSBT
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool SignTransaction(CWallet& wallet, CMutableTransaction& mtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:353,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:354,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:358,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:359,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:359,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:365,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:371,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:371,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:373,1
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:375,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:375,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:378,1
    - Dst: MarkReplaced
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:379,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:379,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:380,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - ' wallet'
    - ' txid'
    - ' mtx'
    - ' errors'
    - ' bumped_txid'
    argTypes:
    - CWallet
    - Txid
    - CMutableTransaction
    - std::vector<bilingual_str>
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: wallet::feebumper::CommitTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 2
    functionsReached:
    - PreconditionChecks
    - empty
    - mapWallet::end
    - MakeTransactionRef
    - GetHash
    - std::move
    - CTransactionRef::GetHash
    - MarkReplaced
    - LOCK
    - mapWallet::find
    - wallet::feebumper::CommitTransaction
    - IsNull
    - emplace_back
    - Untranslated
    linkageType: ''
    returnType: Result
    signature: Result CommitTransaction(CWallet& wallet, const Txid& txid, CMutableTransaction&&
      mtx, std::vector<bilingual_str>& errors, Txid& bumped_txid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:69,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:71,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:71,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:72,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:72,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:73,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:74,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:74,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:75,1
    - Dst: CFeeRate::GetFeePerK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:75,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:80,1
    - Dst: vin::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:80,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:82,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:85,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:86,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:87,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:87,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:87,1
    - Dst: wallet::GetFee
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:89,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:89,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:91,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:94,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:97,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:97,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:97,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:98,1
    - Dst: wallet::GetRequiredFee
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:102,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:104,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:104,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:104,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:105,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:112,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:112,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:112,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:113,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - ' wallet'
    - ' mtx'
    - ' newFeerate'
    - maxTxSize
    - old_fee
    - ' errors'
    argTypes:
    - CWallet
    - CMutableTransaction
    - CFeeRate
    - int64_t
    - CAmount
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 118
    functionName: wallet::CheckFeeRate
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::optional::has_value
    - wallet::GetRequiredFee
    - chain
    - std::vector::reserve
    - std::vector::push_back
    - GetFeePerK
    - std::optional::value
    - CFeeRate::GetFeePerK
    - CFeeRate::GetFee
    - wallet::GetFee
    - strprintf
    - FormatMoney
    - Untranslated
    - vin::size
    linkageType: ''
    returnType: feebumper::Result
    signature: feebumper::Result CheckFeeRate(const CWallet& wallet, const CMutableTransaction&
      mtx, const CFeeRate& newFeerate, const int64_t maxTxSize, CAmount old_fee, std::vector<bilingual_str>&
      errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:125,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:127,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:136,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:137,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:138,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' wallet'
    - ' wtx'
    - old_fee
    - ' coin_control'
    argTypes:
    - CWallet
    - CWalletTx
    - CAmount
    - CCoinControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 145
    functionName: wallet::EstimateFeeRate
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - CFeeRate
    - GetVirtualTransactionSize
    - chain
    linkageType: ''
    returnType: CFeeRate
    signature: CFeeRate EstimateFeeRate(const CWallet& wallet, const CWalletTx& wtx,
      const CAmount old_fee, const CCoinControl& coin_control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:151,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:152,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' txid'
    argTypes:
    - CWallet
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: wallet::feebumper::TransactionCanBeBumped
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - GetWalletTx
    - LOCK
    - PreconditionChecks
    linkageType: ''
    returnType: bool
    signature: bool TransactionCanBeBumped(const CWallet& wallet, const Txid& txid)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:164,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:164,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:165,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:165,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:172,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:173,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:174,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:175,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:176,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:176,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: std::optional<uint32_t>::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:183,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:183,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:195,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:197,1
    - Dst: out::IsNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:198,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: prevout::hash::GetHex
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:202,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:203,1
    - Dst: SetTxOut
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:207,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:211,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:212,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:212,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:213,1
    - Dst: tx::vin::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:214,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:215,1
    - Dst: CCoinControl::IsExternalSelected
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:217,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:219,1
    - Dst: tx::get
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:225,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:227,1
    - Dst: SignatureWeights::GetWeightDiffToMax
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:229,1
    - Dst: CCoinControl::SetInputWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:230,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:234,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:252,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:253,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:254,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:256,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: std::optional<uint32_t>::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: OutputIsChange
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:261,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:267,1
    - Dst: std::get_if<CNoDestination>
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:269,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:270,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:270,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:276,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:277,1
    - Dst: scriptSig::clear
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:286,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:287,1
    - Dst: CalculateMaximumSignedTxSize
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:290,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:290,1
    - Dst: CheckFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:291,1
    - Dst: EstimateFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:297,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:308,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:308,1
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:315,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:326,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 10
    argNames:
    - ' wallet'
    - ' txid'
    - ' coin_control'
    - ' errors'
    - ' old_fee'
    - ' new_fee'
    - ' mtx'
    - require_mine
    - ' outputs'
    - original_change_index
    argTypes:
    - CWallet
    - Txid
    - CCoinControl
    - std::vector<bilingual_str>
    - CAmount
    - CAmount
    - CMutableTransaction
    - bool
    - std::vector<CTxOut>
    - std::optional<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 160
    functionDepth: 10
    functionLinenumber: 160
    functionLinenumberEnd: 329
    functionName: wallet::feebumper::CreateRateBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - scriptWitness::SetNull
    - tx::vout::size
    - at
    - std::move
    - std::vector::push_back
    - tx::get
    - CreateTransaction
    - OutputIsChange
    - std::optional<uint32_t>::value
    - std::optional<uint32_t>::has_value
    - CCoinControl::Select
    - PreconditionChecks
    - util::ErrorString
    - CalculateMaximumSignedTxSize
    - tx::vin::at
    - SignatureWeights::GetWeightDiffToMax
    - CMutableTransaction
    - clear
    - IsMine
    - CCoinControl::IsExternalSelected
    - scriptSig::clear
    - std::vector::empty
    - Untranslated
    - PrecomputedTransactionData::Init
    - prevout::hash::GetHex
    - tx::vin::size
    - empty
    - VerifyScript
    - CTransaction
    - CheckFeeRate
    - mapWallet::end
    - SetTxOut
    - COutPoint
    - CCoinControl::SetInputWeight
    - std::get_if<CNoDestination>
    - strprintf
    - CNoDestination
    - std::map::at
    - GetTransactionInputWeight
    - ExtractDestination
    - chain
    - size
    - LOCK
    - mapWallet::find
    - EstimateFeeRate
    - emplace_back
    - PrecomputedTransactionData::PrecomputedTransactionData
    - out::IsNull
    linkageType: ''
    returnType: Result
    signature: "Result CreateRateBumpTransaction(CWallet& wallet, const Txid& txid,
      const CCoinControl& coin_control, std::vector<bilingual_str>& errors,\n                                 CAmount&
      old_fee, CAmount& new_fee, CMutableTransaction& mtx, bool require_mine, const
      std::vector<CTxOut>& outputs, std::optional<uint32_t> original_change_index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:332,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:334,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:341,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:342,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:344,1
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' wallet'
    - ' mtx'
    argTypes:
    - CWallet
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 349
    functionName: wallet::feebumper::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 3
    functionsReached:
    - LOCK
    - FillPSBT
    - wallet::feebumper::SignTransaction
    - FinalizeAndExtractPSBT
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool SignTransaction(CWallet& wallet, CMutableTransaction& mtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:353,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:354,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:358,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:359,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:359,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:365,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:371,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:371,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:373,1
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:375,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:375,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:378,1
    - Dst: MarkReplaced
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:379,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:379,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:380,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - ' wallet'
    - ' txid'
    - ' mtx'
    - ' errors'
    - ' bumped_txid'
    argTypes:
    - CWallet
    - Txid
    - CMutableTransaction
    - std::vector<bilingual_str>
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: wallet::feebumper::CommitTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 3
    functionsReached:
    - PreconditionChecks
    - empty
    - mapWallet::end
    - MakeTransactionRef
    - GetHash
    - std::move
    - CTransactionRef::GetHash
    - MarkReplaced
    - LOCK
    - mapWallet::find
    - wallet::feebumper::CommitTransaction
    - IsNull
    - emplace_back
    - Untranslated
    linkageType: ''
    returnType: Result
    signature: Result CommitTransaction(CWallet& wallet, const Txid& txid, CMutableTransaction&&
      mtx, std::vector<bilingual_str>& errors, Txid& bumped_txid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:151,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:152,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' txid'
    argTypes:
    - CWallet
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: wallet::feebumper::TransactionCanBeBumped
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - GetWalletTx
    - LOCK
    - PreconditionChecks
    linkageType: ''
    returnType: bool
    signature: bool TransactionCanBeBumped(const CWallet& wallet, const Txid& txid)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:164,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:164,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:165,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:165,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:172,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:173,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:174,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:175,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:176,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:176,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: std::optional<uint32_t>::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:182,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:183,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:183,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:195,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:197,1
    - Dst: out::IsNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:198,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: prevout::hash::GetHex
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:199,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:202,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:203,1
    - Dst: SetTxOut
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:207,1
    - Dst: PrecomputedTransactionData::PrecomputedTransactionData
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:211,1
    - Dst: PrecomputedTransactionData::Init
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:212,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:212,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:213,1
    - Dst: tx::vin::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:214,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:215,1
    - Dst: CCoinControl::IsExternalSelected
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:217,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:219,1
    - Dst: tx::get
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:225,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:227,1
    - Dst: SignatureWeights::GetWeightDiffToMax
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:229,1
    - Dst: CCoinControl::SetInputWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:230,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:234,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:252,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:253,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:254,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:256,1
    - Dst: std::optional<uint32_t>::has_value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: std::optional<uint32_t>::value
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: OutputIsChange
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:257,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:261,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:267,1
    - Dst: std::get_if<CNoDestination>
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:269,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:270,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:270,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:276,1
    - Dst: CNoDestination
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:277,1
    - Dst: scriptSig::clear
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:286,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:287,1
    - Dst: CalculateMaximumSignedTxSize
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:290,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:290,1
    - Dst: CheckFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:291,1
    - Dst: EstimateFeeRate
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:297,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:308,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:308,1
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:315,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:317,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:326,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 10
    argNames:
    - ' wallet'
    - ' txid'
    - ' coin_control'
    - ' errors'
    - ' old_fee'
    - ' new_fee'
    - ' mtx'
    - require_mine
    - ' outputs'
    - original_change_index
    argTypes:
    - CWallet
    - Txid
    - CCoinControl
    - std::vector<bilingual_str>
    - CAmount
    - CAmount
    - CMutableTransaction
    - bool
    - std::vector<CTxOut>
    - std::optional<uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 160
    functionDepth: 10
    functionLinenumber: 160
    functionLinenumberEnd: 329
    functionName: wallet::feebumper::CreateRateBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - scriptWitness::SetNull
    - tx::vout::size
    - at
    - std::move
    - std::vector::push_back
    - tx::get
    - CreateTransaction
    - OutputIsChange
    - std::optional<uint32_t>::value
    - std::optional<uint32_t>::has_value
    - CCoinControl::Select
    - PreconditionChecks
    - util::ErrorString
    - CalculateMaximumSignedTxSize
    - tx::vin::at
    - SignatureWeights::GetWeightDiffToMax
    - CMutableTransaction
    - clear
    - IsMine
    - CCoinControl::IsExternalSelected
    - scriptSig::clear
    - std::vector::empty
    - Untranslated
    - PrecomputedTransactionData::Init
    - prevout::hash::GetHex
    - tx::vin::size
    - empty
    - VerifyScript
    - CTransaction
    - CheckFeeRate
    - mapWallet::end
    - SetTxOut
    - COutPoint
    - CCoinControl::SetInputWeight
    - std::get_if<CNoDestination>
    - strprintf
    - CNoDestination
    - std::map::at
    - GetTransactionInputWeight
    - ExtractDestination
    - chain
    - size
    - LOCK
    - mapWallet::find
    - EstimateFeeRate
    - emplace_back
    - PrecomputedTransactionData::PrecomputedTransactionData
    - out::IsNull
    linkageType: ''
    returnType: Result
    signature: "Result CreateRateBumpTransaction(CWallet& wallet, const Txid& txid,
      const CCoinControl& coin_control, std::vector<bilingual_str>& errors,\n                                 CAmount&
      old_fee, CAmount& new_fee, CMutableTransaction& mtx, bool require_mine, const
      std::vector<CTxOut>& outputs, std::optional<uint32_t> original_change_index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:332,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:334,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:341,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:342,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:344,1
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' wallet'
    - ' mtx'
    argTypes:
    - CWallet
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 349
    functionName: wallet::feebumper::SignTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 4
    functionsReached:
    - LOCK
    - FillPSBT
    - wallet::feebumper::SignTransaction
    - FinalizeAndExtractPSBT
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool SignTransaction(CWallet& wallet, CMutableTransaction& mtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:353,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:354,1
    - Dst: IsNull
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:358,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:359,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:359,1
    - Dst: PreconditionChecks
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:365,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:371,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:371,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:373,1
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:375,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:375,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:378,1
    - Dst: MarkReplaced
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:379,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:379,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:380,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/feebumper.cpp:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - ' wallet'
    - ' txid'
    - ' mtx'
    - ' errors'
    - ' bumped_txid'
    argTypes:
    - CWallet
    - Txid
    - CMutableTransaction
    - std::vector<bilingual_str>
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: wallet::feebumper::CommitTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.cpp
    functionUses: 4
    functionsReached:
    - PreconditionChecks
    - empty
    - mapWallet::end
    - MakeTransactionRef
    - GetHash
    - std::move
    - CTransactionRef::GetHash
    - MarkReplaced
    - LOCK
    - mapWallet::find
    - wallet::feebumper::CommitTransaction
    - IsNull
    - emplace_back
    - Untranslated
    linkageType: ''
    returnType: Result
    signature: Result CommitTransaction(CWallet& wallet, const Txid& txid, CMutableTransaction&&
      mtx, std::vector<bilingual_str>& errors, Txid& bumped_txid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' storage'
    - ' descriptor'
    - keypool_size
    argTypes:
    - WalletStorage
    - WalletDescriptor
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: wallet::ExternalSignerScriptPubKeyMan::ExternalSignerScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExternalSignerScriptPubKeyMan(WalletStorage& storage, WalletDescriptor&
      descriptor, int64_t keypool_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' storage'
    - keypool_size
    argTypes:
    - WalletStorage
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: wallet::ExternalSignerScriptPubKeyMan::ExternalSignerScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExternalSignerScriptPubKeyMan(WalletStorage& storage, int64_t
      keypool_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' storage'
    - ' descriptor'
    - keypool_size
    argTypes:
    - WalletStorage
    - WalletDescriptor
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: wallet::ExternalSignerScriptPubKeyMan::ExternalSignerScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExternalSignerScriptPubKeyMan(WalletStorage& storage, WalletDescriptor&
      descriptor, int64_t keypool_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' storage'
    - keypool_size
    argTypes:
    - WalletStorage
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: wallet::ExternalSignerScriptPubKeyMan::ExternalSignerScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/external_signer_scriptpubkeyman.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExternalSignerScriptPubKeyMan(WalletStorage& storage, int64_t
      keypool_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:17,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:18,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:21,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:22,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:24,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' _tx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: wallet::CWalletTx::IsEquivalentTo
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached:
    - CTransaction
    - scriptWitness::SetNull
    - CScript
    linkageType: ''
    returnType: bool
    signature: bool CWalletTx::IsEquivalentTo(const CWalletTx& _tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: wallet::CWalletTx::InMempool
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool CWalletTx::InMempool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: wallet::CWalletTx::GetTxTime
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CWalletTx::GetTxTime() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findBlock
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:48,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:48,1
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:52,1
    - Dst: lookup_block
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:53,1
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:54,1
    - Dst: lookup_block
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - interfaces::Chain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: wallet::CWalletTx::updateState
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached:
    - lookup_block
    - FoundBlock
    - findBlock
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: void
    signature: void CWalletTx::updateState(interfaces::Chain& chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' _tx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: wallet::CWalletTx::CopyFrom
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CWalletTx::CopyFrom(const CWalletTx& _tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:17,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:18,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:21,1
    - Dst: scriptWitness::SetNull
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:22,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:24,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' _tx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: wallet::CWalletTx::IsEquivalentTo
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached:
    - CTransaction
    - scriptWitness::SetNull
    - CScript
    linkageType: ''
    returnType: bool
    signature: bool CWalletTx::IsEquivalentTo(const CWalletTx& _tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: wallet::CWalletTx::InMempool
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool CWalletTx::InMempool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: wallet::CWalletTx::GetTxTime
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CWalletTx::GetTxTime() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findBlock
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:48,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:48,1
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:52,1
    - Dst: lookup_block
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:53,1
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:54,1
    - Dst: lookup_block
      Src: /src/bitcoin-core/src/wallet/transaction.cpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' chain'
    argTypes:
    - interfaces::Chain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: wallet::CWalletTx::updateState
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached:
    - lookup_block
    - FoundBlock
    - findBlock
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: void
    signature: void CWalletTx::updateState(interfaces::Chain& chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' _tx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: wallet::CWalletTx::CopyFrom
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CWalletTx::CopyFrom(const CWalletTx& _tx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:26,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:28,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:28,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:28,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:28,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:29,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:29,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:29,1
    - Dst: CSHA512::Finalize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:30,1
    - Dst: CSHA512::Reset
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:33,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:35,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:36,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - salt
    - ' key_data'
    - count
    - key
    - iv
    argTypes:
    - std::span<const unsigned char>
    - SecureString
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 39
    functionName: wallet::CCrypter::BytesToKeySHA512AES
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - CSHA512::Write
    - UCharCast
    - memory_cleanse
    - CSHA512::Finalize
    - std::span<const unsigned char>::data
    - size
    - memcpy
    - data
    - CSHA512::CSHA512
    - CSHA512::Reset
    linkageType: ''
    returnType: int
    signature: int CCrypter::BytesToKeySHA512AES(const std::span<const unsigned char>
      salt, const SecureString& key_data, int count, unsigned char* key, unsigned
      char* iv) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:43,1
    - Dst: wallet::CCrypter::BytesToKeySHA512AES
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:49,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:49,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:49,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:54,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:54,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:54,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:55,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:55,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' key_data'
    - salt
    - rounds
    - derivation_method
    argTypes:
    - SecureString
    - std::span<const unsigned char>
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: wallet::CCrypter::SetKeyFromPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - memory_cleanse
    - size
    - data
    - wallet::CCrypter::BytesToKeySHA512AES
    linkageType: ''
    returnType: bool
    signature: bool CCrypter::SetKeyFromPassphrase(const SecureString& key_data, const
      std::span<const unsigned char> salt, const unsigned int rounds, const unsigned
      int derivation_method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:65,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:65,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:69,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:69,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:69,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:69,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:70,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:70,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:70,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' new_key'
    - new_iv
    argTypes:
    - CKeyingMaterial
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: wallet::CCrypter::SetKey
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - std::span<const unsigned char>::data
    - size
    - memcpy
    - data
    linkageType: ''
    returnType: bool
    signature: bool CCrypter::SetKey(const CKeyingMaterial& new_key, const std::span<const
      unsigned char> new_iv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>::resize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:83,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:83,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:85,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:85,1
    - Dst: AES256CBCEncrypt::Encrypt
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:86,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:86,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:86,1
    - Dst: std::vector<unsigned char>::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:86,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:87,1
    - Dst: std::vector<unsigned char>::resize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' vchPlaintext'
    - vchCiphertext
    argTypes:
    - CKeyingMaterial
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: wallet::CCrypter::Encrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>::resize
    - std::vector<unsigned char>::data
    - size
    - AES256CBCEncrypt::Encrypt
    - data
    linkageType: ''
    returnType: bool
    signature: bool CCrypter::Encrypt(const CKeyingMaterial& vchPlaintext, std::vector<unsigned
      char> &vchCiphertext) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:100,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:100,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:102,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:102,1
    - Dst: AES256CBCDecrypt::Decrypt
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:103,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:103,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:103,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:103,1
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ciphertext
    - ' plaintext'
    argTypes:
    - std::span<const unsigned char>
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: wallet::CCrypter::Decrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - std::span<const unsigned char>::data
    - data
    - AES256CBCDecrypt::Decrypt
    - resize
    linkageType: ''
    returnType: bool
    signature: bool CCrypter::Decrypt(const std::span<const unsigned char> ciphertext,
      CKeyingMaterial& plaintext) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:115,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:115,1
    - Dst: CCrypter::SetKey
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:116,1
    - Dst: CCrypter::Encrypt
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' vMasterKey'
    - vchPlaintext
    - ' nIV'
    - vchCiphertext
    argTypes:
    - CKeyingMaterial
    - CKeyingMaterial
    - uint256
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: wallet::EncryptSecret
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - CCrypter::SetKey
    - CCrypter::Encrypt
    - std::vector::data
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool EncryptSecret(const CKeyingMaterial& vMasterKey, const CKeyingMaterial
      &vchPlaintext, const uint256& nIV, std::vector<unsigned char> &vchCiphertext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:124,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:125,1
    - Dst: CCrypter::SetKey
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:126,1
    - Dst: CCrypter::Decrypt
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' master_key'
    - ciphertext
    - ' iv'
    - ' plaintext'
    argTypes:
    - CKeyingMaterial
    - std::span<const unsigned char>
    - uint256
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: wallet::DecryptSecret
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - data
    - CCrypter::SetKey
    - secp256k1_strauss_scratch_size
    - CCrypter::Decrypt
    linkageType: ''
    returnType: bool
    signature: bool DecryptSecret(const CKeyingMaterial& master_key, const std::span<const
      unsigned char> ciphertext, const uint256& iv, CKeyingMaterial& plaintext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DecryptSecret
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:135,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:135,1
    - Dst: CKeyingMaterial::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:139,1
    - Dst: wallet::Set
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:143,1
    - Dst: CKeyingMaterial::begin
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:143,1
    - Dst: CKeyingMaterial::end
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:143,1
    - Dst: IsCompressed
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:143,1
    - Dst: VerifyPubKey
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' master_key'
    - crypted_secret
    - ' pub_key'
    - ' key'
    argTypes:
    - CKeyingMaterial
    - std::span<const unsigned char>
    - CPubKey
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: wallet::DecryptKey
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - wallet::Set
    - GetHash
    - CKeyingMaterial::size
    - wallet::DecryptSecret
    - CKeyingMaterial::begin
    - IsCompressed
    - VerifyPubKey
    - CKeyingMaterial::end
    linkageType: ''
    returnType: bool
    signature: bool DecryptKey(const CKeyingMaterial& master_key, const std::span<const
      unsigned char> crypted_secret, const CPubKey& pub_key, CKey& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CSHA512::CSHA512
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:26,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:28,1
    - Dst: UCharCast
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:28,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:28,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:28,1
    - Dst: CSHA512::Write
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:29,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:29,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:29,1
    - Dst: CSHA512::Finalize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:30,1
    - Dst: CSHA512::Reset
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:33,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:35,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:36,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - salt
    - ' key_data'
    - count
    - key
    - iv
    argTypes:
    - std::span<const unsigned char>
    - SecureString
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 39
    functionName: wallet::CCrypter::BytesToKeySHA512AES
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 1
    functionsReached:
    - std::span<const unsigned char>::size
    - CSHA512::Write
    - UCharCast
    - memory_cleanse
    - CSHA512::Finalize
    - std::span<const unsigned char>::data
    - size
    - memcpy
    - data
    - CSHA512::CSHA512
    - CSHA512::Reset
    linkageType: ''
    returnType: int
    signature: int CCrypter::BytesToKeySHA512AES(const std::span<const unsigned char>
      salt, const SecureString& key_data, int count, unsigned char* key, unsigned
      char* iv) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:43,1
    - Dst: wallet::CCrypter::BytesToKeySHA512AES
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:49,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:49,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:49,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:54,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:54,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:54,1
    - Dst: memory_cleanse
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:55,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:55,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' key_data'
    - salt
    - rounds
    - derivation_method
    argTypes:
    - SecureString
    - std::span<const unsigned char>
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: wallet::CCrypter::SetKeyFromPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - memory_cleanse
    - size
    - data
    - wallet::CCrypter::BytesToKeySHA512AES
    linkageType: ''
    returnType: bool
    signature: bool CCrypter::SetKeyFromPassphrase(const SecureString& key_data, const
      std::span<const unsigned char> salt, const unsigned int rounds, const unsigned
      int derivation_method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:65,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:65,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:69,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:69,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:69,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:69,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:70,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:70,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:70,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' new_key'
    - new_iv
    argTypes:
    - CKeyingMaterial
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: wallet::CCrypter::SetKey
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - std::span<const unsigned char>::data
    - size
    - memcpy
    - data
    linkageType: ''
    returnType: bool
    signature: bool CCrypter::SetKey(const CKeyingMaterial& new_key, const std::span<const
      unsigned char> new_iv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned char>::resize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:83,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:83,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:85,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:85,1
    - Dst: AES256CBCEncrypt::Encrypt
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:86,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:86,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:86,1
    - Dst: std::vector<unsigned char>::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:86,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:87,1
    - Dst: std::vector<unsigned char>::resize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' vchPlaintext'
    - vchCiphertext
    argTypes:
    - CKeyingMaterial
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: wallet::CCrypter::Encrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>::resize
    - std::vector<unsigned char>::data
    - size
    - AES256CBCEncrypt::Encrypt
    - data
    linkageType: ''
    returnType: bool
    signature: bool CCrypter::Encrypt(const CKeyingMaterial& vchPlaintext, std::vector<unsigned
      char> &vchCiphertext) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:100,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:100,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:102,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:102,1
    - Dst: AES256CBCDecrypt::Decrypt
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:103,1
    - Dst: std::span<const unsigned char>::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:103,1
    - Dst: std::span<const unsigned char>::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:103,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:103,1
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ciphertext
    - ' plaintext'
    argTypes:
    - std::span<const unsigned char>
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: wallet::CCrypter::Decrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - std::span<const unsigned char>::size
    - std::span<const unsigned char>::data
    - data
    - AES256CBCDecrypt::Decrypt
    - resize
    linkageType: ''
    returnType: bool
    signature: bool CCrypter::Decrypt(const std::span<const unsigned char> ciphertext,
      CKeyingMaterial& plaintext) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:115,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:115,1
    - Dst: CCrypter::SetKey
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:116,1
    - Dst: CCrypter::Encrypt
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' vMasterKey'
    - vchPlaintext
    - ' nIV'
    - vchCiphertext
    argTypes:
    - CKeyingMaterial
    - CKeyingMaterial
    - uint256
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: wallet::EncryptSecret
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - CCrypter::SetKey
    - CCrypter::Encrypt
    - std::vector::data
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool EncryptSecret(const CKeyingMaterial& vMasterKey, const CKeyingMaterial
      &vchPlaintext, const uint256& nIV, std::vector<unsigned char> &vchCiphertext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_strauss_scratch_size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:124,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:125,1
    - Dst: CCrypter::SetKey
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:126,1
    - Dst: CCrypter::Decrypt
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' master_key'
    - ciphertext
    - ' iv'
    - ' plaintext'
    argTypes:
    - CKeyingMaterial
    - std::span<const unsigned char>
    - uint256
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: wallet::DecryptSecret
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 1
    functionsReached:
    - data
    - CCrypter::SetKey
    - secp256k1_strauss_scratch_size
    - CCrypter::Decrypt
    linkageType: ''
    returnType: bool
    signature: bool DecryptSecret(const CKeyingMaterial& master_key, const std::span<const
      unsigned char> ciphertext, const uint256& iv, CKeyingMaterial& plaintext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wallet::DecryptSecret
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:135,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:135,1
    - Dst: CKeyingMaterial::size
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:139,1
    - Dst: wallet::Set
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:143,1
    - Dst: CKeyingMaterial::begin
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:143,1
    - Dst: CKeyingMaterial::end
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:143,1
    - Dst: IsCompressed
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:143,1
    - Dst: VerifyPubKey
      Src: /src/bitcoin-core/src/wallet/crypter.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' master_key'
    - crypted_secret
    - ' pub_key'
    - ' key'
    argTypes:
    - CKeyingMaterial
    - std::span<const unsigned char>
    - CPubKey
    - CKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: wallet::DecryptKey
    functionSourceFile: /src/bitcoin-core/src/wallet/crypter.cpp
    functionUses: 0
    functionsReached:
    - wallet::Set
    - GetHash
    - CKeyingMaterial::size
    - wallet::DecryptSecret
    - CKeyingMaterial::begin
    - IsCompressed
    - VerifyPubKey
    - CKeyingMaterial::end
    linkageType: ''
    returnType: bool
    signature: bool DecryptKey(const CKeyingMaterial& master_key, const std::span<const
      unsigned char> crypted_secret, const CPubKey& pub_key, CKey& key)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/load.cpp:30,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/load.cpp:32,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/load.cpp:33,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/load.cpp:38,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/load.cpp:39,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:40,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:40,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:40,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:40,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/wallet/load.cpp:42,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:43,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:43,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:43,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:43,1
    - Dst: fs::path::is_absolute
      Src: /src/bitcoin-core/src/wallet/load.cpp:46,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:47,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:47,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:47,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:47,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/wallet/load.cpp:50,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:50,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/load.cpp:53,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:53,1
    - Dst: wallet::GetWalletDir
      Src: /src/bitcoin-core/src/wallet/load.cpp:53,1
    - Dst: initMessage
      Src: /src/bitcoin-core/src/wallet/load.cpp:55,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:55,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/load.cpp:59,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/load.cpp:62,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/load.cpp:66,1
    - Dst: common::SettingsValue::push_back
      Src: /src/bitcoin-core/src/wallet/load.cpp:68,1
    - Dst: overwriteRwSetting
      Src: /src/bitcoin-core/src/wallet/load.cpp:72,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/load.cpp:72,1
    - Dst: getSettingsList
      Src: /src/bitcoin-core/src/wallet/load.cpp:79,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/load.cpp:80,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:81,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:81,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/load.cpp:85,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/load.cpp:86,1
    - Dst: wallet::GetWalletDir
      Src: /src/bitcoin-core/src/wallet/load.cpp:86,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/load.cpp:86,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/load.cpp:88,1
    - Dst: initWarning
      Src: /src/bitcoin-core/src/wallet/load.cpp:89,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:89,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:89,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/load.cpp:95,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/load.cpp:99,1
    - Dst: initWarning
      Src: /src/bitcoin-core/src/wallet/load.cpp:101,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/load.cpp:101,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:101,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:107,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 114
    functionName: wallet::VerifyWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/load.cpp
    functionUses: 0
    functionsReached:
    - fs::exists
    - std::move
    - LogInfo
    - std::set::insert
    - common::SettingsValue::push_back
    - IsArgSet
    - ForceSetArg
    - GetPathArg
    - overwriteRwSetting
    - fs::path::is_absolute
    - MakeWalletDatabase
    - getSettingsList
    - wallet::ReadDatabaseArgs
    - initError
    - Untranslated
    - fs::PathToString
    - wallet::GetWalletDir
    - initMessage
    - fs::canonical
    - Assert
    - isStr
    - strprintf
    - get_str
    - _
    - fs::PathFromString
    - fsbridge::AbsPathJoin
    - fs::is_directory
    - initWarning
    linkageType: ''
    returnType: bool
    signature: bool VerifyWallets(WalletContext& context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getSettingsList
      Src: /src/bitcoin-core/src/wallet/load.cpp:121,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/load.cpp:122,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:123,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:123,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/load.cpp:127,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/load.cpp:128,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/load.cpp:128,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/load.cpp:133,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/load.cpp:138,1
    - Dst: initWarning
      Src: /src/bitcoin-core/src/wallet/load.cpp:143,1
    - Dst: initMessage
      Src: /src/bitcoin-core/src/wallet/load.cpp:147,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:147,1
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/load.cpp:148,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/load.cpp:148,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/load.cpp:149,1
    - Dst: initWarning
      Src: /src/bitcoin-core/src/wallet/load.cpp:149,1
    - Dst: Join
      Src: /src/bitcoin-core/src/wallet/load.cpp:149,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/load.cpp:149,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:151,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/load.cpp:155,1
    - Dst: wallet::AddWallet
      Src: /src/bitcoin-core/src/wallet/load.cpp:156,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:160,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/load.cpp:160,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/load.cpp:160,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 163
    functionName: wallet::LoadWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/load.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Join
    - std::set::insert
    - what
    - wallet::AddWallet
    - MakeWalletDatabase
    - getSettingsList
    - wallet::ReadDatabaseArgs
    - std::vector::empty
    - Untranslated
    - initError
    - initMessage
    - isStr
    - get_str
    - _
    - fs::PathFromString
    - CWallet::Create
    - wallet::NotifyWalletLoaded
    - initWarning
    linkageType: ''
    returnType: bool
    signature: bool LoadWallets(WalletContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWallets
      Src: /src/bitcoin-core/src/wallet/load.cpp:167,1
    - Dst: postInitProcess
      Src: /src/bitcoin-core/src/wallet/load.cpp:168,1
    - Dst: scheduler::scheduleEvery
      Src: /src/bitcoin-core/src/wallet/load.cpp:171,1
    - Dst: MaybeResendWalletTxs
      Src: /src/bitcoin-core/src/wallet/load.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: wallet::StartWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/load.cpp
    functionUses: 0
    functionsReached:
    - MaybeResendWalletTxs
    - scheduler::scheduleEvery
    - postInitProcess
    - wallet::GetWallets
    linkageType: ''
    returnType: void
    signature: void StartWallets(WalletContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWallets
      Src: /src/bitcoin-core/src/wallet/load.cpp:176,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/load.cpp:177,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/wallet/load.cpp:178,1
    - Dst: auto::pop_back
      Src: /src/bitcoin-core/src/wallet/load.cpp:179,1
    - Dst: wallet::RemoveWallet
      Src: /src/bitcoin-core/src/wallet/load.cpp:181,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/wallet/load.cpp:182,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/load.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: wallet::UnloadWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/load.cpp
    functionUses: 0
    functionsReached:
    - wallet::RemoveWallet
    - auto::pop_back
    - auto::back
    - std::move
    - auto::empty
    - wallet::WaitForDeleteWallet
    - wallet::GetWallets
    linkageType: ''
    returnType: void
    signature: void UnloadWallets(WalletContext& context)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/load.cpp:30,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/load.cpp:32,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/load.cpp:33,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/load.cpp:38,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/load.cpp:39,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:40,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:40,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:40,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:40,1
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/wallet/load.cpp:42,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:43,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:43,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:43,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:43,1
    - Dst: fs::path::is_absolute
      Src: /src/bitcoin-core/src/wallet/load.cpp:46,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:47,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:47,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:47,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:47,1
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/wallet/load.cpp:50,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:50,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/load.cpp:53,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/load.cpp:53,1
    - Dst: wallet::GetWalletDir
      Src: /src/bitcoin-core/src/wallet/load.cpp:53,1
    - Dst: initMessage
      Src: /src/bitcoin-core/src/wallet/load.cpp:55,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:55,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/load.cpp:59,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/load.cpp:62,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/load.cpp:66,1
    - Dst: common::SettingsValue::push_back
      Src: /src/bitcoin-core/src/wallet/load.cpp:68,1
    - Dst: overwriteRwSetting
      Src: /src/bitcoin-core/src/wallet/load.cpp:72,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/load.cpp:72,1
    - Dst: getSettingsList
      Src: /src/bitcoin-core/src/wallet/load.cpp:79,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/load.cpp:80,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:81,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:81,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/load.cpp:85,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/load.cpp:86,1
    - Dst: wallet::GetWalletDir
      Src: /src/bitcoin-core/src/wallet/load.cpp:86,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/load.cpp:86,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/load.cpp:88,1
    - Dst: initWarning
      Src: /src/bitcoin-core/src/wallet/load.cpp:89,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:89,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:89,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/load.cpp:95,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/load.cpp:99,1
    - Dst: initWarning
      Src: /src/bitcoin-core/src/wallet/load.cpp:101,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/load.cpp:101,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/load.cpp:101,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:107,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 114
    functionName: wallet::VerifyWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/load.cpp
    functionUses: 0
    functionsReached:
    - fs::exists
    - std::move
    - LogInfo
    - std::set::insert
    - common::SettingsValue::push_back
    - IsArgSet
    - ForceSetArg
    - GetPathArg
    - overwriteRwSetting
    - fs::path::is_absolute
    - MakeWalletDatabase
    - getSettingsList
    - wallet::ReadDatabaseArgs
    - initError
    - Untranslated
    - fs::PathToString
    - wallet::GetWalletDir
    - initMessage
    - fs::canonical
    - Assert
    - isStr
    - strprintf
    - get_str
    - _
    - fs::PathFromString
    - fsbridge::AbsPathJoin
    - fs::is_directory
    - initWarning
    linkageType: ''
    returnType: bool
    signature: bool VerifyWallets(WalletContext& context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getSettingsList
      Src: /src/bitcoin-core/src/wallet/load.cpp:121,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/load.cpp:122,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:123,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:123,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/load.cpp:127,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/load.cpp:128,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/load.cpp:128,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/load.cpp:133,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/load.cpp:138,1
    - Dst: initWarning
      Src: /src/bitcoin-core/src/wallet/load.cpp:143,1
    - Dst: initMessage
      Src: /src/bitcoin-core/src/wallet/load.cpp:147,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/load.cpp:147,1
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/load.cpp:148,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/load.cpp:148,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/load.cpp:149,1
    - Dst: initWarning
      Src: /src/bitcoin-core/src/wallet/load.cpp:149,1
    - Dst: Join
      Src: /src/bitcoin-core/src/wallet/load.cpp:149,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/load.cpp:149,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:151,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/load.cpp:155,1
    - Dst: wallet::AddWallet
      Src: /src/bitcoin-core/src/wallet/load.cpp:156,1
    - Dst: initError
      Src: /src/bitcoin-core/src/wallet/load.cpp:160,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/load.cpp:160,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/load.cpp:160,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 163
    functionName: wallet::LoadWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/load.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Join
    - std::set::insert
    - what
    - wallet::AddWallet
    - MakeWalletDatabase
    - getSettingsList
    - wallet::ReadDatabaseArgs
    - std::vector::empty
    - Untranslated
    - initError
    - initMessage
    - isStr
    - get_str
    - _
    - fs::PathFromString
    - CWallet::Create
    - wallet::NotifyWalletLoaded
    - initWarning
    linkageType: ''
    returnType: bool
    signature: bool LoadWallets(WalletContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWallets
      Src: /src/bitcoin-core/src/wallet/load.cpp:167,1
    - Dst: postInitProcess
      Src: /src/bitcoin-core/src/wallet/load.cpp:168,1
    - Dst: scheduler::scheduleEvery
      Src: /src/bitcoin-core/src/wallet/load.cpp:171,1
    - Dst: MaybeResendWalletTxs
      Src: /src/bitcoin-core/src/wallet/load.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: wallet::StartWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/load.cpp
    functionUses: 0
    functionsReached:
    - MaybeResendWalletTxs
    - scheduler::scheduleEvery
    - postInitProcess
    - wallet::GetWallets
    linkageType: ''
    returnType: void
    signature: void StartWallets(WalletContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWallets
      Src: /src/bitcoin-core/src/wallet/load.cpp:176,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/load.cpp:177,1
    - Dst: auto::back
      Src: /src/bitcoin-core/src/wallet/load.cpp:178,1
    - Dst: auto::pop_back
      Src: /src/bitcoin-core/src/wallet/load.cpp:179,1
    - Dst: wallet::RemoveWallet
      Src: /src/bitcoin-core/src/wallet/load.cpp:181,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/wallet/load.cpp:182,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/load.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: wallet::UnloadWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/load.cpp
    functionUses: 0
    functionsReached:
    - wallet::RemoveWallet
    - auto::pop_back
    - auto::back
    - std::move
    - auto::empty
    - wallet::WaitForDeleteWallet
    - wallet::GetWallets
    linkageType: ''
    returnType: void
    signature: void UnloadWallets(WalletContext& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetOutputType
      Src: /src/bitcoin-core/src/wallet/spend.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - Descriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: wallet::IsSegwit
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::GetOutputType
    linkageType: ''
    returnType: bool
    signature: bool IsSegwit(const Descriptor& desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinControl*::IsExternalSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' txin'
    - coin_control
    argTypes:
    - std::optional<CTxIn>
    - CCoinControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: wallet::UseMaxSig
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - CCoinControl*::IsExternalSelected
    linkageType: ''
    returnType: bool
    signature: bool UseMaxSig(const std::optional<CTxIn>& txin, const CCoinControl*
      coin_control)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MaxSatisfactionWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:71,1
    - Dst: wallet::UseMaxSig
      Src: /src/bitcoin-core/src/wallet/spend.cpp:71,1
    - Dst: MaxSatisfactionElems
      Src: /src/bitcoin-core/src/wallet/spend.cpp:72,1
    - Dst: wallet::IsSegwit
      Src: /src/bitcoin-core/src/wallet/spend.cpp:73,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:80,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - ' desc'
    - ' txin'
    - coin_control
    - tx_is_segwit
    - can_grind_r
    argTypes:
    - Descriptor
    - std::optional<CTxIn>
    - CCoinControl*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: wallet::MaxInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - MaxSatisfactionWeight
    - wallet::IsSegwit
    - GetSizeOfCompactSize
    - MaxSatisfactionElems
    - wallet::UseMaxSig
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: "std::optional<int64_t> MaxInputWeight(const Descriptor& desc, const
      std::optional<CTxIn>& txin,\n                                             const
      CCoinControl* coin_control, const bool tx_is_segwit,\n                                             const
      bool can_grind_r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/spend.cpp:95,1
    - Dst: wallet::MaxInputWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:96,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:97,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ' txout'
    - outpoint
    - provider
    - can_grind_r
    - coin_control
    argTypes:
    - CTxOut
    - COutPoint
    - SigningProvider*
    - bool
    - CCoinControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: wallet::CalculateMaximumSignedInputSize
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - InferDescriptor
    - GetVirtualTransactionSize
    - wallet::MaxInputWeight
    linkageType: ''
    returnType: int
    signature: int CalculateMaximumSignedInputSize(const CTxOut& txout, const COutPoint
      outpoint, const SigningProvider* provider, bool can_grind_r, const CCoinControl*
      coin_control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:106,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:107,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/spend.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/spend.cpp:107,1
    - Dst: CWallet*::CanGrindR
      Src: /src/bitcoin-core/src/wallet/spend.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' txout'
    - wallet
    - coin_control
    argTypes:
    - CTxOut
    - CWallet*
    - CCoinControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: wallet::CalculateMaximumSignedInputSize
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - CWallet*::CanGrindR
    - CWallet*::GetSolvingProvider
    - COutPoint
    - wallet::CalculateMaximumSignedInputSize
    linkageType: ''
    returnType: int
    signature: int CalculateMaximumSignedInputSize(const CTxOut& txout, const CWallet*
      wallet, const CCoinControl* coin_control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::GetScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/spend.cpp:115,1
    - Dst: MultiSigningProvider::AddProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:116,1
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:116,1
    - Dst: MultiSigningProvider::AddProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:119,1
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:119,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/spend.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wallet
    - coin_control
    - script_pubkey
    argTypes:
    - CWallet*
    - CCoinControl*
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 7
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: wallet::GetDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - InferDescriptor
    - GetSolvingProvider
    - MultiSigningProvider::AddProvider
    - std::make_unique<FlatSigningProvider>
    - CWallet*::GetScriptPubKeyMans
    linkageType: ''
    returnType: std::unique_ptr<Descriptor>
    signature: "std::unique_ptr<Descriptor> GetDescriptor(const CWallet* wallet, const
      CCoinControl* coin_control,\n                                                 const
      CScript script_pubkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CCoinControl*::GetInputWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:131,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:132,1
    - Dst: wallet::GetDescriptor
      Src: /src/bitcoin-core/src/wallet/spend.cpp:136,1
    - Dst: wallet::MaxInputWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - wallet
    - coin_control
    - ' txin'
    - ' txo'
    - tx_is_segwit
    - can_grind_r
    argTypes:
    - CWallet*
    - CCoinControl*
    - CTxIn
    - CTxOut
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 8
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: wallet::GetSignedTxinWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::GetDescriptor
    - std::optional::value
    - CCoinControl*::GetInputWeight
    - wallet::MaxInputWeight
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: "std::optional<int64_t> GetSignedTxinWeight(const CWallet* wallet,
      const CCoinControl* coin_control,\n                                                  const
      CTxIn& txin, const CTxOut& txo, const bool tx_is_segwit,\n                                                  const
      bool can_grind_r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:146,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:146,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:146,1
    - Dst: CTransaction::vout::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:146,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/wallet/spend.cpp:149,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:149,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:149,1
    - Dst: wallet::GetDescriptor
      Src: /src/bitcoin-core/src/wallet/spend.cpp:150,1
    - Dst: wallet::IsSegwit
      Src: /src/bitcoin-core/src/wallet/spend.cpp:151,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:158,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:161,1
    - Dst: wallet::GetSignedTxinWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:162,1
    - Dst: CWallet*::CanGrindR
      Src: /src/bitcoin-core/src/wallet/spend.cpp:162,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:164,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - tx
    - wallet
    - ' txouts'
    - coin_control
    argTypes:
    - CTransaction
    - CWallet*
    - std::vector<CTxOut>
    - CCoinControl*
    assertStmts:
    - condition: (*txin_weight > -1)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 9
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: wallet::CalculateMaximumSignedTxSize
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - end
    - CTransaction::vin::size
    - wallet::GetDescriptor
    - GetSerializeSize
    - CWallet*::CanGrindR
    - CTransaction::vout::size
    - size
    - std::any_of
    - wallet::GetSignedTxinWeight
    - wallet::IsSegwit
    - GetSizeOfCompactSize
    - assert
    - GetVirtualTransactionSize
    - begin
    linkageType: ''
    returnType: TxSize
    signature: TxSize CalculateMaximumSignedTxSize(const CTransaction &tx, const CWallet
      *wallet, const std::vector<CTxOut>& txouts, const CCoinControl* coin_control)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::mapWallet::find
      Src: /src/bitcoin-core/src/wallet/spend.cpp:177,1
    - Dst: CWallet*::mapWallet::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:180,1
    - Dst: auto::second::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:180,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:181,1
    - Dst: auto::second::tx::vout::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:181,1
    - Dst: CCoinControl*::GetExternalOutput
      Src: /src/bitcoin-core/src/wallet/spend.cpp:183,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:185,1
    - Dst: wallet::CalculateMaximumSignedTxSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - tx
    - wallet
    - coin_control
    argTypes:
    - CTransaction
    - CWallet*
    - CCoinControl*
    assertStmts:
    - condition: (input.prevout.n < mi->second.tx->vout.size())
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: wallet::CalculateMaximumSignedTxSize
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - auto::second::tx::vout::at
    - std::vector::emplace_back
    - wallet::CalculateMaximumSignedTxSize
    - CCoinControl*::GetExternalOutput
    - CWallet*::mapWallet::end
    - CWallet*::mapWallet::find
    - assert
    - auto::second::tx::vout::size
    linkageType: ''
    returnType: TxSize
    signature: TxSize CalculateMaximumSignedTxSize(const CTransaction &tx, const CWallet
      *wallet, const CCoinControl* coin_control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: wallet::CoinsResult::Size
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - second::size
    linkageType: ''
    returnType: size_t
    signature: size_t CoinsResult::Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/spend.cpp:205,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:205,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:207,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:207,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:207,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: wallet::CoinsResult::All
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - size
    - std::vector::reserve
    - std::vector::insert
    - second::begin
    - second::end
    linkageType: ''
    returnType: std::vector<COutput>
    signature: std::vector<COutput> CoinsResult::All() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/spend.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: wallet::CoinsResult::Clear
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void CoinsResult::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/wallet/spend.cpp:219,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:219,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:219,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/spend.cpp:221,1
    - Dst: HasEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:225,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:225,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/spend.cpp:228,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' coins_to_remove'
    argTypes:
    - std::unordered_set<COutPoint, SaltedOutpointHasher>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: wallet::CoinsResult::Erase
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - end
    - HasEffectiveValue
    - erase
    - std::remove_if
    - GetEffectiveValue
    - count
    - begin
    linkageType: ''
    returnType: void
    signature: void CoinsResult::Erase(const std::unordered_set<COutPoint, SaltedOutpointHasher>&
      coins_to_remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/spend.cpp:235,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:235,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rng_fast'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: wallet::CoinsResult::Shuffle
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - second::begin
    - std::shuffle
    - second::end
    linkageType: ''
    returnType: void
    signature: void CoinsResult::Shuffle(FastRandomContext& rng_fast)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:241,1
    - Dst: HasEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:243,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:244,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:245,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - ' out'
    argTypes:
    - OutputType
    - COutput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: wallet::CoinsResult::Add
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - GetEffectiveValue
    - HasEffectiveValue
    - has_value
    linkageType: ''
    returnType: void
    signature: void CoinsResult::Add(OutputType type, const COutput& out)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - type
    - is_from_p2sh
    argTypes:
    - TxoutType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: wallet::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OutputType
    signature: OutputType GetOutputType(TxoutType type, bool is_from_p2sh)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CanGrindR
      Src: /src/bitcoin-core/src/wallet/spend.cpp:272,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:273,1
    - Dst: ListSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:273,1
    - Dst: ListSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:274,1
    - Dst: GetInputWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:275,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:277,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:279,1
    - Dst: GetTXO
      Src: /src/bitcoin-core/src/wallet/spend.cpp:280,1
    - Dst: auto::GetTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:281,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:283,1
    - Dst: GetExternalOutput
      Src: /src/bitcoin-core/src/wallet/spend.cpp:287,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/spend.cpp:289,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:289,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/spend.cpp:289,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:296,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/spend.cpp:300,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:300,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/spend.cpp:300,1
    - Dst: COutput::ApplyBumpFee
      Src: /src/bitcoin-core/src/wallet/spend.cpp:305,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:305,1
    - Dst: PreSelectedInputs::Insert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - ' wallet'
    - ' coin_control'
    - ' coin_selection_params'
    argTypes:
    - CWallet
    - CCoinControl
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 268
    functionDepth: 8
    functionLinenumber: 268
    functionLinenumberEnd: 309
    functionName: wallet::FetchSelectedInputs
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - _
    - ToString
    - std::map::at
    - wallet::CalculateMaximumSignedInputSize
    - GetExternalOutput
    - CanGrindR
    - COutput::ApplyBumpFee
    - chain
    - PreSelectedInputs::Insert
    - auto::GetTxOut
    - GetTXO
    - strprintf
    - GetInputWeight
    - GetVirtualTransactionSize
    - ListSelected
    linkageType: ''
    returnType: util::Result<PreSelectedInputs>
    signature: "util::Result<PreSelectedInputs> FetchSelectedInputs(const CWallet&
      wallet, const CCoinControl& coin_control,\n                                            const
      CoinSelectionParams& coin_selection_params)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/spend.cpp:316,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/spend.cpp:321,1
    - Dst: CanGrindR
      Src: /src/bitcoin-core/src/wallet/spend.cpp:325,1
    - Dst: GetTXOs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:331,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/spend.cpp:332,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:333,1
    - Dst: std::unordered_map::contains
      Src: /src/bitcoin-core/src/wallet/spend.cpp:335,1
    - Dst: std::unordered_map::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:335,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:339,1
    - Dst: std::unordered_map::contains
      Src: /src/bitcoin-core/src/wallet/spend.cpp:342,1
    - Dst: IsTxImmatureCoinBase
      Src: /src/bitcoin-core/src/wallet/spend.cpp:345,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/spend.cpp:353,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/spend.cpp:356,1
    - Dst: mapValue::count
      Src: /src/bitcoin-core/src/wallet/spend.cpp:373,1
    - Dst: mapValue::count
      Src: /src/bitcoin-core/src/wallet/spend.cpp:385,1
    - Dst: std::unordered_map::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:399,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/spend.cpp:400,1
    - Dst: CCoinControl*::HasSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:408,1
    - Dst: CCoinControl*::IsSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:408,1
    - Dst: IsLockedCoin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:411,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/wallet/spend.cpp:414,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/spend.cpp:417,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:418,1
    - Dst: IsSpentKey
      Src: /src/bitcoin-core/src/wallet/spend.cpp:420,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/spend.cpp:424,1
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:426,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:428,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/spend.cpp:428,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/spend.cpp:428,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/spend.cpp:439,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/spend.cpp:447,1
    - Dst: std::unique_ptr::GetCScript
      Src: /src/bitcoin-core/src/wallet/spend.cpp:448,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/spend.cpp:448,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/spend.cpp:448,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/spend.cpp:449,1
    - Dst: CoinsResult::Add
      Src: /src/bitcoin-core/src/wallet/spend.cpp:453,1
    - Dst: wallet::GetOutputType
      Src: /src/bitcoin-core/src/wallet/spend.cpp:453,1
    - Dst: wallet::COutput
      Src: /src/bitcoin-core/src/wallet/spend.cpp:454,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/spend.cpp:454,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:456,1
    - Dst: CoinsResult::GetTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:460,1
    - Dst: CoinsResult::Size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:466,1
    - Dst: std::optional<CFeeRate>::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:471,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:472,1
    - Dst: std::optional<CFeeRate>::value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:472,1
    - Dst: wallet::ApplyBumpFee
      Src: /src/bitcoin-core/src/wallet/spend.cpp:476,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:476,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 67
    argCount: 4
    argNames:
    - ' wallet'
    - coinControl
    - feerate
    - ' params'
    argTypes:
    - CWallet
    - CCoinControl*
    - std::optional<CFeeRate>
    - CoinFilterParams
    assertStmts:
    - condition: (mine != ISMINE_NO)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 482
      start: 311
    functionDepth: 8
    functionLinenumber: 311
    functionLinenumberEnd: 482
    functionName: wallet::AvailableCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 2
    functionsReached:
    - uint160
    - CoinsResult::Add
    - CoinsResult::Size
    - std::unique_ptr::GetCScript
    - CCoinControl*::HasSelected
    - CanGrindR
    - std::vector::push_back
    - wallet::ApplyBumpFee
    - wallet::CachedTxIsTrusted
    - wallet::CachedTxIsFromMe
    - CoinsResult::GetTotalAmount
    - wallet::GetOutputType
    - std::optional<CFeeRate>::has_value
    - GetWalletTx
    - std::unordered_map::contains
    - IsMine
    - AssertLockHeld
    - CCoinControl*::IsSelected
    - GetTXOs
    - Solver
    - GetTxDepthInMainChain
    - wallet::CalculateMaximumSignedInputSize
    - std::unique_ptr::get
    - mapValue::count
    - IsLockedCoin
    - Assume
    - GetTxOut
    - CScriptID
    - wallet::COutput
    - COutPoint
    - IsWalletFlagSet
    - assert
    - IsTxImmatureCoinBase
    - InMempool
    - IsSpentKey
    - GetSolvingProvider
    - IsSpent
    - std::map::at
    - GetTxTime
    - chain
    - std::unordered_map::at
    - std::optional<CFeeRate>::value
    - CScript::CScript
    linkageType: ''
    returnType: CoinsResult
    signature: "CoinsResult AvailableCoins(const CWallet& wallet,\n                           const
      CCoinControl* coinControl,\n                           std::optional<CFeeRate>
      feerate,\n                           const CoinFilterParams& params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/spend.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wallet'
    - coinControl
    - params
    argTypes:
    - CWallet
    - CCoinControl*
    - CoinFilterParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: wallet::AvailableCoinsListUnspent
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::AvailableCoins
    linkageType: ''
    returnType: CoinsResult
    signature: CoinsResult AvailableCoinsListUnspent(const CWallet& wallet, const
      CCoinControl* coinControl, CoinFilterParams params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/spend.cpp:492,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:493,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/spend.cpp:493,1
    - Dst: CWalletTx*::tx::get
      Src: /src/bitcoin-core/src/wallet/spend.cpp:495,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/spend.cpp:497,1
    - Dst: CTransaction*::vin::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:497,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/spend.cpp:499,1
    - Dst: CWalletTx*::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:500,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/spend.cpp:501,1
    - Dst: CWalletTx*::tx::get
      Src: /src/bitcoin-core/src/wallet/spend.cpp:504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' wallet'
    - ' outpoint'
    argTypes:
    - CWallet
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 5
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: wallet::FindNonChangeParentOutput
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::OutputIsChange
    - CTransaction*::vin::size
    - CWalletTx*::tx::get
    - GetWalletTx
    - Assert
    - IsMine
    - AssertLockHeld
    - CWalletTx*::tx::vout::size
    linkageType: ''
    returnType: CTxOut
    signature: CTxOut & FindNonChangeParentOutput(const CWallet& wallet, const COutPoint&
      outpoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/spend.cpp:512,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/spend.cpp:520,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/spend.cpp:522,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/spend.cpp:523,1
    - Dst: wallet::FindNonChangeParentOutput
      Src: /src/bitcoin-core/src/wallet/spend.cpp:523,1
    - Dst: std::get_if<PubKeyDestination>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:525,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/spend.cpp:526,1
    - Dst: auto::GetPubKey
      Src: /src/bitcoin-core/src/wallet/spend.cpp:526,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 510
    functionDepth: 6
    functionLinenumber: 510
    functionLinenumberEnd: 535
    functionName: wallet::ListCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::FindNonChangeParentOutput
    - ExtractDestination
    - auto::GetPubKey
    - wallet::AvailableCoins
    - AssertLockHeld
    - PKHash
    - emplace_back
    - std::get_if<PubKeyDestination>
    - IsWalletFlagSet
    linkageType: ''
    returnType: std::map<CTxDestination, std::vector<COutput>>
    signature: std::map<CTxDestination, std::vector<COutput>> ListCoins(const CWallet&
      wallet)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:551,1
    - Dst: OutputGroup::Insert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:555,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:555,1
    - Dst: OutputGroup::EligibleForSpending
      Src: /src/bitcoin-core/src/wallet/spend.cpp:561,1
    - Dst: Push
      Src: /src/bitcoin-core/src/wallet/spend.cpp:562,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:565,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/spend.cpp:581,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:583,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:585,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:590,1
    - Dst: OutputGroup*::m_outputs::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:594,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:596,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:597,1
    - Dst: OutputGroup*::Insert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:600,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:608,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:610,1
    - Dst: wallet::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:612,1
    - Dst: insert_output
      Src: /src/bitcoin-core/src/wallet/spend.cpp:613,1
    - Dst: insert_output
      Src: /src/bitcoin-core/src/wallet/spend.cpp:617,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:625,1
    - Dst: rend
      Src: /src/bitcoin-core/src/wallet/spend.cpp:625,1
    - Dst: OutputGroup*::EligibleForSpending
      Src: /src/bitcoin-core/src/wallet/spend.cpp:632,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:635,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:635,1
    - Dst: Push
      Src: /src/bitcoin-core/src/wallet/spend.cpp:641,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:644,1
    - Dst: push_output_groups
      Src: /src/bitcoin-core/src/wallet/spend.cpp:649,1
    - Dst: push_output_groups
      Src: /src/bitcoin-core/src/wallet/spend.cpp:650,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 5
    argNames:
    - ' wallet'
    - ' coins'
    - ' coin_sel_params'
    - ' filters'
    - ' ret_discarded_groups'
    argTypes:
    - CWallet
    - CoinsResult
    - CoinSelectionParams
    - std::vector<SelectionFilter>
    - std::vector<OutputGroup>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 653
    functionName: wallet::GroupOutputs
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - rend
    - std::make_pair
    - OutputGroup::EligibleForSpending
    - OutputGroup::Insert
    - OutputGroup*::Insert
    - back
    - OutputGroup*::m_outputs::size
    - chain
    - std::make_shared<COutput>
    - size
    - wallet::GetEffectiveValue
    - emplace_back
    - rbegin
    - push_output_groups
    - Push
    - OutputGroup*::EligibleForSpending
    - insert_output
    linkageType: ''
    returnType: FilteredOutputGroups
    signature: "FilteredOutputGroups GroupOutputs(const CWallet& wallet,\n                          const
      CoinsResult& coins,\n                          const CoinSelectionParams& coin_sel_params,\n
      \                         const std::vector<SelectionFilter>& filters,\n                          std::vector<OutputGroup>&
      ret_discarded_groups)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wallet'
    - ' coins'
    - ' params'
    - ' filters'
    argTypes:
    - CWallet
    - CoinsResult
    - CoinSelectionParams
    - std::vector<SelectionFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 662
    functionName: wallet::GroupOutputs
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 2
    functionsReached:
    - wallet::GroupOutputs
    linkageType: ''
    returnType: FilteredOutputGroups
    signature: "FilteredOutputGroups GroupOutputs(const CWallet& wallet,\n                                  const
      CoinsResult& coins,\n                                  const CoinSelectionParams&
      params,\n                                  const std::vector<SelectionFilter>&
      filters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/spend.cpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - util::Result<SelectionResult>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: wallet::HasErrorMsg
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    linkageType: ''
    returnType: bool
    signature: bool HasErrorMsg(const util::Result<SelectionResult>& res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::ChooseSelectionResult
      Src: /src/bitcoin-core/src/wallet/spend.cpp:673,1
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/spend.cpp:675,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:677,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:681,1
    - Dst: std::min_element
      Src: /src/bitcoin-core/src/wallet/spend.cpp:681,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:681,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:681,1
    - Dst: wallet::TypesCount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:686,1
    - Dst: wallet::ChooseSelectionResult
      Src: /src/bitcoin-core/src/wallet/spend.cpp:687,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/spend.cpp:691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - ' chain'
    - ' nTargetValue'
    - ' groups'
    - ' coin_selection_params'
    - allow_mixed_output_types
    argTypes:
    - interfaces::Chain
    - CAmount
    - OutputGroupTypeMap
    - CoinSelectionParams
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 692
    functionName: wallet::AttemptSelection
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - wallet::TypesCount
    - wallet::HasErrorMsg
    - std::vector::begin
    - std::vector::push_back
    - wallet::ChooseSelectionResult
    - HandleError
    - std::min_element
    - std::vector::size
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> AttemptSelection(interfaces::Chain&
      chain, const CAmount& nTargetValue, OutputGroupTypeMap& groups,\n                               const
      CoinSelectionParams& coin_selection_params, bool allow_mixed_output_types)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/spend.cpp:702,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:703,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:703,1
    - Dst: m_max_tx_weight::value_or
      Src: /src/bitcoin-core/src/wallet/spend.cpp:708,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:712,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/spend.cpp:717,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:718,1
    - Dst: append_error
      Src: /src/bitcoin-core/src/wallet/spend.cpp:719,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:719,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:725,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:726,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/spend.cpp:730,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:731,1
    - Dst: append_error
      Src: /src/bitcoin-core/src/wallet/spend.cpp:732,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:732,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/spend.cpp:735,1
    - Dst: auto::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/spend.cpp:736,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:737,1
    - Dst: append_error
      Src: /src/bitcoin-core/src/wallet/spend.cpp:739,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:739,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/spend.cpp:743,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:744,1
    - Dst: append_error
      Src: /src/bitcoin-core/src/wallet/spend.cpp:745,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:745,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:747,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:750,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/spend.cpp:750,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:750,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/wallet/spend.cpp:750,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/spend.cpp:756,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:760,1
    - Dst: calculateCombinedBumpFee
      Src: /src/bitcoin-core/src/wallet/spend.cpp:763,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:764,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:765,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:767,1
    - Dst: SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:769,1
    - Dst: RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/spend.cpp:771,1
    - Dst: std::min_element
      Src: /src/bitcoin-core/src/wallet/spend.cpp:776,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:776,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:776,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 4
    argNames:
    - ' chain'
    - ' nTargetValue'
    - ' groups'
    - ' coin_selection_params'
    argTypes:
    - interfaces::Chain
    - CAmount
    - Groups
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 777
    functionName: wallet::ChooseSelectionResult
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - wallet::CoinGrinder
    - wallet::SelectCoinsBnB
    - std::move
    - std::vector::push_back
    - append_error
    - calculateCombinedBumpFee
    - std::vector::front
    - std::vector::end
    - wallet::HasErrorMsg
    - GetInputSet
    - auto::RecalculateWaste
    - std::vector::empty
    - std::min_element
    - SetBumpFeeDiscount
    - RecalculateWaste
    - std::optional::has_value
    - wallet::SelectCoinsSRD
    - HandleError
    - m_max_tx_weight::value_or
    - _
    - wallet::KnapsackSolver
    - std::vector::begin
    - std::optional::value
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> ChooseSelectionResult(interfaces::Chain&
      chain, const CAmount& nTargetValue, Groups& groups, const CoinSelectionParams&
      coin_selection_params)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:788,1
    - Dst: SelectionResult::AddInputs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:795,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/spend.cpp:796,1
    - Dst: wallet::GetTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:802,1
    - Dst: wallet::GetEffectiveTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:803,1
    - Dst: wallet::GetEffectiveTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:803,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/spend.cpp:805,1
    - Dst: wallet::AutomaticCoinSelection
      Src: /src/bitcoin-core/src/wallet/spend.cpp:809,1
    - Dst: coins::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:813,1
    - Dst: SelectionResult::AddInputs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:815,1
    - Dst: auto::Merge
      Src: /src/bitcoin-core/src/wallet/spend.cpp:816,1
    - Dst: auto::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/spend.cpp:817,1
    - Dst: m_max_tx_weight::value_or
      Src: /src/bitcoin-core/src/wallet/spend.cpp:822,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:823,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - ' wallet'
    - ' available_coins'
    - ' pre_set_inputs'
    - ' nTargetValue'
    - ' coin_control'
    - ' coin_selection_params'
    argTypes:
    - CWallet
    - CoinsResult
    - PreSelectedInputs
    - CAmount
    - CCoinControl
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 779
    functionDepth: 8
    functionLinenumber: 779
    functionLinenumberEnd: 829
    functionName: wallet::SelectCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - SelectionResult::RecalculateWaste
    - wallet::GetEffectiveTotalAmount
    - _
    - m_max_tx_weight::value_or
    - auto::GetWeight
    - auto::Merge
    - HandleError
    - coins::empty
    - wallet::GetTotalAmount
    - SelectionResult::AddInputs
    - auto::RecalculateWaste
    - wallet::AutomaticCoinSelection
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> SelectCoins(const CWallet& wallet, CoinsResult&
      available_coins, const PreSelectedInputs& pre_set_inputs,\n                                          const
      CAmount& nTargetValue, const CCoinControl& coin_control,\n                                          const
      CoinSelectionParams& coin_selection_params)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:835,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:836,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:837,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/spend.cpp:838,1
    - Dst: Size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:843,1
    - Dst: Shuffle
      Src: /src/bitcoin-core/src/wallet/spend.cpp:844,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:855,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:856,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:861,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:861,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:862,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:862,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/spend.cpp:862,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/spend.cpp:862,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:863,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:863,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:867,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:867,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:871,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:871,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:877,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:877,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/spend.cpp:877,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/spend.cpp:878,1
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:885,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:891,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:892,1
    - Dst: wallet::GetTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:895,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:898,1
    - Dst: FilteredOutputGroups::find
      Src: /src/bitcoin-core/src/wallet/spend.cpp:908,1
    - Dst: FilteredOutputGroups::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:909,1
    - Dst: wallet::AttemptSelection
      Src: /src/bitcoin-core/src/wallet/spend.cpp:910,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:910,1
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/spend.cpp:917,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:917,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:917,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:922,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:922,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/wallet/spend.cpp:922,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ' wallet'
    - ' available_coins'
    - ' value_to_select'
    - ' coin_selection_params'
    argTypes:
    - CWallet
    - CoinsResult
    - CAmount
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 831
    functionDepth: 4
    functionLinenumber: 831
    functionLinenumberEnd: 928
    functionName: wallet::AutomaticCoinSelection
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - Size
    - std::vector::emplace_back
    - Shuffle
    - GetSelectionAmount
    - std::move
    - std::vector::push_back
    - wallet::GroupOutputs
    - std::min
    - wallet::AttemptSelection
    - std::vector::front
    - FilteredOutputGroups::find
    - FilteredOutputGroups::end
    - wallet::HasErrorMsg
    - wallet::CoinEligibilityFilter
    - std::vector::empty
    - wallet::GetTotalAmount
    - RandomMixin::max
    - _
    - chain
    - GetBoolArg
    - std::max<int64_t>
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> AutomaticCoinSelection(const CWallet&
      wallet, CoinsResult& available_coins, const CAmount& value_to_select, const
      CoinSelectionParams& coin_selection_params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInitialBlockDownload
      Src: /src/bitcoin-core/src/wallet/spend.cpp:932,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/spend.cpp:937,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/wallet/spend.cpp:937,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/spend.cpp:937,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/spend.cpp:938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' chain'
    - ' block_hash'
    argTypes:
    - interfaces::Chain
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 942
    functionName: wallet::IsCurrentForAntiFeeSniping
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - GetTime
    - FoundBlock
    - isInitialBlockDownload
    - CHECK_NONFATAL
    - findBlock
    linkageType: ''
    returnType: bool
    signature: bool IsCurrentForAntiFeeSniping(interfaces::Chain& chain, const uint256&
      block_hash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:948,1
    - Dst: vin::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:948,1
    - Dst: wallet::IsCurrentForAntiFeeSniping
      Src: /src/bitcoin-core/src/wallet/spend.cpp:969,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/wallet/spend.cpp:976,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/spend.cpp:977,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/wallet/spend.cpp:977,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:986,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:987,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:990,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:996,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ' tx'
    - ' rng_fast'
    - ' chain'
    - ' block_hash'
    - block_height
    argTypes:
    - CMutableTransaction
    - FastRandomContext
    - interfaces::Chain
    - uint256
    - int
    assertStmts:
    - condition: (!tx.vin.empty())
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    - condition: (tx.nLockTime < LOCKTIME_THRESHOLD)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    - condition: (tx.nLockTime <= uint64_t(block_height))
      pos:
        line_end: 986
        line_start: 986
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    - condition: (false)
      pos:
        line_end: 995
        line_start: 995
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    - condition: (in.nSequence != CTxIn::SEQUENCE_FINAL)
      pos:
        line_end: 989
        line_start: 989
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 998
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 998
    functionName: wallet::DiscourageFeeSniping
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - vin::empty
    - std::max
    - wallet::IsCurrentForAntiFeeSniping
    - randrange
    - assert
    linkageType: ''
    returnType: void
    signature: "void DiscourageFeeSniping(CMutableTransaction& tx, FastRandomContext&
      rng_fast,\n                                 interfaces::Chain& chain, const
      uint256& block_hash, int block_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1002,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1002,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' recipient'
    argTypes:
    - CRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1003
    functionName: wallet::GetSerializeSizeForRecipient
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - GetSerializeSize
    - GetScriptForDestination
    - CTxOut
    linkageType: ''
    returnType: size_t
    signature: size_t GetSerializeSizeForRecipient(const CRecipient& recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::IsDust
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1007,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1007,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' recipient'
    - ' dustRelayFee'
    argTypes:
    - CRecipient
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1008
    functionName: wallet::IsDust
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - wallet::IsDust
    - GetScriptForDestination
    - CTxOut
    linkageType: ''
    returnType: bool
    signature: bool IsDust(const CRecipient& recipient, const CFeeRate& dustRelayFee)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1377,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1378,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1381,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1381,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1381,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1382,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1385,1
    - Dst: CreateTransactionInternal
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1387,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1388,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1389,1
    - Dst: auto::change_pos::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1392,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1397,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1397,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1403,1
    - Dst: CreateTransactionInternal
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1406,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1408,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1409,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1410,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1412,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1413,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1414,1
    - Dst: auto::change_pos::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1414,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - ' wallet'
    - ' vecSend'
    - change_pos
    - ' coin_control'
    - sign
    argTypes:
    - CWallet
    - std::vector<CRecipient>
    - std::optional<unsigned int>
    - CCoinControl
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1370
    functionDepth: 3
    functionLinenumber: 1370
    functionLinenumberEnd: 1422
    functionName: wallet::CreateTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - _
    - empty
    - auto::has_value
    - cend
    - ExtractDestination
    - TRACEPOINT
    - std::any_of
    - GetName
    - LOCK
    - CreateTransactionInternal
    - auto::change_pos::has_value
    - WalletLogPrintf
    - cbegin
    linkageType: ''
    returnType: util::Result<CreatedTransactionResult>
    signature: "util::Result<CreatedTransactionResult> CreateTransaction(\n        CWallet&
      wallet,\n        const std::vector<CRecipient>& vecSend,\n        std::optional<unsigned
      int> change_pos,\n        const CCoinControl& coin_control,\n        bool sign)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1428,1
    - Dst: vout::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1428,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1438,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1446,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1450,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1451,1
    - Dst: out::IsNull
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1452,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1453,1
    - Dst: SetTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1457,1
    - Dst: SetSequence
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1459,1
    - Dst: SetScriptSig
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1460,1
    - Dst: SetScriptWitness
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1461,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1464,1
    - Dst: LockCoin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1471,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 6
    argNames:
    - ' wallet'
    - ' tx'
    - ' vecSend'
    - change_pos
    - lockUnspents
    - coinControl
    argTypes:
    - CWallet
    - CMutableTransaction
    - std::vector<CRecipient>
    - std::optional<unsigned int>
    - bool
    - CCoinControl
    assertStmts:
    - condition: (tx.vout.empty())
      pos:
        line_end: 1427
        line_start: 1427
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 1476
      start: 1424
    functionDepth: 4
    functionLinenumber: 1424
    functionLinenumberEnd: 1476
    functionName: wallet::FundTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - CCoinControl::Select
    - _
    - SetSequence
    - SetScriptWitness
    - vout::empty
    - chain
    - SetTxOut
    - LOCK
    - IsMine
    - LockCoin
    - assert
    - out::IsNull
    - wallet::CreateTransaction
    - SetScriptSig
    linkageType: ''
    returnType: util::Result<CreatedTransactionResult>
    signature: util::Result<CreatedTransactionResult> FundTransaction(CWallet& wallet,
      const CMutableTransaction& tx, const std::vector<CRecipient>& vecSend, std::optional<unsigned
      int> change_pos, bool lockUnspents, CCoinControl coinControl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetOutputType
      Src: /src/bitcoin-core/src/wallet/spend.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - Descriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: wallet::IsSegwit
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 2
    functionsReached:
    - wallet::GetOutputType
    linkageType: ''
    returnType: bool
    signature: bool IsSegwit(const Descriptor& desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCoinControl*::IsExternalSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' txin'
    - coin_control
    argTypes:
    - std::optional<CTxIn>
    - CCoinControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: wallet::UseMaxSig
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - CCoinControl*::IsExternalSelected
    linkageType: ''
    returnType: bool
    signature: bool UseMaxSig(const std::optional<CTxIn>& txin, const CCoinControl*
      coin_control)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MaxSatisfactionWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:71,1
    - Dst: wallet::UseMaxSig
      Src: /src/bitcoin-core/src/wallet/spend.cpp:71,1
    - Dst: MaxSatisfactionElems
      Src: /src/bitcoin-core/src/wallet/spend.cpp:72,1
    - Dst: wallet::IsSegwit
      Src: /src/bitcoin-core/src/wallet/spend.cpp:73,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:80,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - ' desc'
    - ' txin'
    - coin_control
    - tx_is_segwit
    - can_grind_r
    argTypes:
    - Descriptor
    - std::optional<CTxIn>
    - CCoinControl*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: wallet::MaxInputWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 2
    functionsReached:
    - MaxSatisfactionWeight
    - wallet::IsSegwit
    - GetSizeOfCompactSize
    - MaxSatisfactionElems
    - wallet::UseMaxSig
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: "std::optional<int64_t> MaxInputWeight(const Descriptor& desc, const
      std::optional<CTxIn>& txin,\n                                             const
      CCoinControl* coin_control, const bool tx_is_segwit,\n                                             const
      bool can_grind_r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/spend.cpp:95,1
    - Dst: wallet::MaxInputWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:96,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:97,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ' txout'
    - outpoint
    - provider
    - can_grind_r
    - coin_control
    argTypes:
    - CTxOut
    - COutPoint
    - SigningProvider*
    - bool
    - CCoinControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: wallet::CalculateMaximumSignedInputSize
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - InferDescriptor
    - GetVirtualTransactionSize
    - wallet::MaxInputWeight
    linkageType: ''
    returnType: int
    signature: int CalculateMaximumSignedInputSize(const CTxOut& txout, const COutPoint
      outpoint, const SigningProvider* provider, bool can_grind_r, const CCoinControl*
      coin_control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:106,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:107,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/spend.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/spend.cpp:107,1
    - Dst: CWallet*::CanGrindR
      Src: /src/bitcoin-core/src/wallet/spend.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' txout'
    - wallet
    - coin_control
    argTypes:
    - CTxOut
    - CWallet*
    - CCoinControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: wallet::CalculateMaximumSignedInputSize
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - CWallet*::CanGrindR
    - CWallet*::GetSolvingProvider
    - COutPoint
    - wallet::CalculateMaximumSignedInputSize
    linkageType: ''
    returnType: int
    signature: int CalculateMaximumSignedInputSize(const CTxOut& txout, const CWallet*
      wallet, const CCoinControl* coin_control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::GetScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/spend.cpp:115,1
    - Dst: MultiSigningProvider::AddProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:116,1
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:116,1
    - Dst: MultiSigningProvider::AddProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:119,1
    - Dst: std::make_unique<FlatSigningProvider>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:119,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/spend.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wallet
    - coin_control
    - script_pubkey
    argTypes:
    - CWallet*
    - CCoinControl*
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 7
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: wallet::GetDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 2
    functionsReached:
    - InferDescriptor
    - GetSolvingProvider
    - MultiSigningProvider::AddProvider
    - std::make_unique<FlatSigningProvider>
    - CWallet*::GetScriptPubKeyMans
    linkageType: ''
    returnType: std::unique_ptr<Descriptor>
    signature: "std::unique_ptr<Descriptor> GetDescriptor(const CWallet* wallet, const
      CCoinControl* coin_control,\n                                                 const
      CScript script_pubkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CCoinControl*::GetInputWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:131,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:132,1
    - Dst: wallet::GetDescriptor
      Src: /src/bitcoin-core/src/wallet/spend.cpp:136,1
    - Dst: wallet::MaxInputWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - wallet
    - coin_control
    - ' txin'
    - ' txo'
    - tx_is_segwit
    - can_grind_r
    argTypes:
    - CWallet*
    - CCoinControl*
    - CTxIn
    - CTxOut
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 8
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: wallet::GetSignedTxinWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - wallet::GetDescriptor
    - std::optional::value
    - CCoinControl*::GetInputWeight
    - wallet::MaxInputWeight
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: "std::optional<int64_t> GetSignedTxinWeight(const CWallet* wallet,
      const CCoinControl* coin_control,\n                                                  const
      CTxIn& txin, const CTxOut& txo, const bool tx_is_segwit,\n                                                  const
      bool can_grind_r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:146,1
    - Dst: CTransaction::vin::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:146,1
    - Dst: GetSizeOfCompactSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:146,1
    - Dst: CTransaction::vout::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:146,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/wallet/spend.cpp:149,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:149,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:149,1
    - Dst: wallet::GetDescriptor
      Src: /src/bitcoin-core/src/wallet/spend.cpp:150,1
    - Dst: wallet::IsSegwit
      Src: /src/bitcoin-core/src/wallet/spend.cpp:151,1
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:158,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:161,1
    - Dst: wallet::GetSignedTxinWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:162,1
    - Dst: CWallet*::CanGrindR
      Src: /src/bitcoin-core/src/wallet/spend.cpp:162,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:164,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - tx
    - wallet
    - ' txouts'
    - coin_control
    argTypes:
    - CTransaction
    - CWallet*
    - std::vector<CTxOut>
    - CCoinControl*
    assertStmts:
    - condition: (*txin_weight > -1)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 9
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: wallet::CalculateMaximumSignedTxSize
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - end
    - CTransaction::vin::size
    - wallet::GetDescriptor
    - GetSerializeSize
    - CWallet*::CanGrindR
    - CTransaction::vout::size
    - size
    - std::any_of
    - wallet::GetSignedTxinWeight
    - wallet::IsSegwit
    - GetSizeOfCompactSize
    - assert
    - GetVirtualTransactionSize
    - begin
    linkageType: ''
    returnType: TxSize
    signature: TxSize CalculateMaximumSignedTxSize(const CTransaction &tx, const CWallet
      *wallet, const std::vector<CTxOut>& txouts, const CCoinControl* coin_control)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::mapWallet::find
      Src: /src/bitcoin-core/src/wallet/spend.cpp:177,1
    - Dst: CWallet*::mapWallet::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:180,1
    - Dst: auto::second::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:180,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:181,1
    - Dst: auto::second::tx::vout::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:181,1
    - Dst: CCoinControl*::GetExternalOutput
      Src: /src/bitcoin-core/src/wallet/spend.cpp:183,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:185,1
    - Dst: wallet::CalculateMaximumSignedTxSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - tx
    - wallet
    - coin_control
    argTypes:
    - CTransaction
    - CWallet*
    - CCoinControl*
    assertStmts:
    - condition: (input.prevout.n < mi->second.tx->vout.size())
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: wallet::CalculateMaximumSignedTxSize
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 2
    functionsReached:
    - auto::second::tx::vout::at
    - std::vector::emplace_back
    - wallet::CalculateMaximumSignedTxSize
    - CCoinControl*::GetExternalOutput
    - CWallet*::mapWallet::end
    - CWallet*::mapWallet::find
    - assert
    - auto::second::tx::vout::size
    linkageType: ''
    returnType: TxSize
    signature: TxSize CalculateMaximumSignedTxSize(const CTransaction &tx, const CWallet
      *wallet, const CCoinControl* coin_control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: wallet::CoinsResult::Size
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - second::size
    linkageType: ''
    returnType: size_t
    signature: size_t CoinsResult::Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/spend.cpp:205,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:205,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:207,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:207,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:207,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: wallet::CoinsResult::All
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - size
    - std::vector::reserve
    - std::vector::insert
    - second::begin
    - second::end
    linkageType: ''
    returnType: std::vector<COutput>
    signature: std::vector<COutput> CoinsResult::All() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/spend.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: wallet::CoinsResult::Clear
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void CoinsResult::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_if
      Src: /src/bitcoin-core/src/wallet/spend.cpp:219,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:219,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:219,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/spend.cpp:221,1
    - Dst: HasEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:225,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:225,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/spend.cpp:228,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' coins_to_remove'
    argTypes:
    - std::unordered_set<COutPoint, SaltedOutpointHasher>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: wallet::CoinsResult::Erase
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - end
    - HasEffectiveValue
    - erase
    - std::remove_if
    - GetEffectiveValue
    - count
    - begin
    linkageType: ''
    returnType: void
    signature: void CoinsResult::Erase(const std::unordered_set<COutPoint, SaltedOutpointHasher>&
      coins_to_remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/spend.cpp:235,1
    - Dst: second::begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:235,1
    - Dst: second::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rng_fast'
    argTypes:
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: wallet::CoinsResult::Shuffle
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - second::begin
    - std::shuffle
    - second::end
    linkageType: ''
    returnType: void
    signature: void CoinsResult::Shuffle(FastRandomContext& rng_fast)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:241,1
    - Dst: HasEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:243,1
    - Dst: has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:244,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:245,1
    - Dst: GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - ' out'
    argTypes:
    - OutputType
    - COutput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: wallet::CoinsResult::Add
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - GetEffectiveValue
    - HasEffectiveValue
    - has_value
    linkageType: ''
    returnType: void
    signature: void CoinsResult::Add(OutputType type, const COutput& out)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - type
    - is_from_p2sh
    argTypes:
    - TxoutType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: wallet::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: OutputType
    signature: OutputType GetOutputType(TxoutType type, bool is_from_p2sh)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CanGrindR
      Src: /src/bitcoin-core/src/wallet/spend.cpp:272,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:273,1
    - Dst: ListSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:273,1
    - Dst: ListSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:274,1
    - Dst: GetInputWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:275,1
    - Dst: GetVirtualTransactionSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:277,1
    - Dst: CTxOut::CTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:279,1
    - Dst: GetTXO
      Src: /src/bitcoin-core/src/wallet/spend.cpp:280,1
    - Dst: auto::GetTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:281,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:283,1
    - Dst: GetExternalOutput
      Src: /src/bitcoin-core/src/wallet/spend.cpp:287,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/spend.cpp:289,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:289,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/spend.cpp:289,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:296,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/spend.cpp:300,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:300,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/spend.cpp:300,1
    - Dst: COutput::ApplyBumpFee
      Src: /src/bitcoin-core/src/wallet/spend.cpp:305,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:305,1
    - Dst: PreSelectedInputs::Insert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - ' wallet'
    - ' coin_control'
    - ' coin_selection_params'
    argTypes:
    - CWallet
    - CCoinControl
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 268
    functionDepth: 8
    functionLinenumber: 268
    functionLinenumberEnd: 309
    functionName: wallet::FetchSelectedInputs
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - CTxOut::CTxOut
    - _
    - ToString
    - std::map::at
    - wallet::CalculateMaximumSignedInputSize
    - GetExternalOutput
    - CanGrindR
    - COutput::ApplyBumpFee
    - chain
    - PreSelectedInputs::Insert
    - auto::GetTxOut
    - GetTXO
    - strprintf
    - GetInputWeight
    - GetVirtualTransactionSize
    - ListSelected
    linkageType: ''
    returnType: util::Result<PreSelectedInputs>
    signature: "util::Result<PreSelectedInputs> FetchSelectedInputs(const CWallet&
      wallet, const CCoinControl& coin_control,\n                                            const
      CoinSelectionParams& coin_selection_params)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/spend.cpp:316,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/spend.cpp:321,1
    - Dst: CanGrindR
      Src: /src/bitcoin-core/src/wallet/spend.cpp:325,1
    - Dst: GetTXOs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:331,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/spend.cpp:332,1
    - Dst: GetTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:333,1
    - Dst: std::unordered_map::contains
      Src: /src/bitcoin-core/src/wallet/spend.cpp:335,1
    - Dst: std::unordered_map::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:335,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:339,1
    - Dst: std::unordered_map::contains
      Src: /src/bitcoin-core/src/wallet/spend.cpp:342,1
    - Dst: IsTxImmatureCoinBase
      Src: /src/bitcoin-core/src/wallet/spend.cpp:345,1
    - Dst: InMempool
      Src: /src/bitcoin-core/src/wallet/spend.cpp:353,1
    - Dst: wallet::CachedTxIsTrusted
      Src: /src/bitcoin-core/src/wallet/spend.cpp:356,1
    - Dst: mapValue::count
      Src: /src/bitcoin-core/src/wallet/spend.cpp:373,1
    - Dst: mapValue::count
      Src: /src/bitcoin-core/src/wallet/spend.cpp:385,1
    - Dst: std::unordered_map::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:399,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/spend.cpp:400,1
    - Dst: CCoinControl*::HasSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:408,1
    - Dst: CCoinControl*::IsSelected
      Src: /src/bitcoin-core/src/wallet/spend.cpp:408,1
    - Dst: IsLockedCoin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:411,1
    - Dst: IsSpent
      Src: /src/bitcoin-core/src/wallet/spend.cpp:414,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/spend.cpp:417,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:418,1
    - Dst: IsSpentKey
      Src: /src/bitcoin-core/src/wallet/spend.cpp:420,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/spend.cpp:424,1
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/spend.cpp:426,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:428,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/spend.cpp:428,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/spend.cpp:428,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/spend.cpp:439,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/spend.cpp:447,1
    - Dst: std::unique_ptr::GetCScript
      Src: /src/bitcoin-core/src/wallet/spend.cpp:448,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/spend.cpp:448,1
    - Dst: uint160
      Src: /src/bitcoin-core/src/wallet/spend.cpp:448,1
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/spend.cpp:449,1
    - Dst: CoinsResult::Add
      Src: /src/bitcoin-core/src/wallet/spend.cpp:453,1
    - Dst: wallet::GetOutputType
      Src: /src/bitcoin-core/src/wallet/spend.cpp:453,1
    - Dst: wallet::COutput
      Src: /src/bitcoin-core/src/wallet/spend.cpp:454,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/spend.cpp:454,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:456,1
    - Dst: CoinsResult::GetTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:460,1
    - Dst: CoinsResult::Size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:466,1
    - Dst: std::optional<CFeeRate>::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:471,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:472,1
    - Dst: std::optional<CFeeRate>::value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:472,1
    - Dst: wallet::ApplyBumpFee
      Src: /src/bitcoin-core/src/wallet/spend.cpp:476,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/spend.cpp:476,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 67
    argCount: 4
    argNames:
    - ' wallet'
    - coinControl
    - feerate
    - ' params'
    argTypes:
    - CWallet
    - CCoinControl*
    - std::optional<CFeeRate>
    - CoinFilterParams
    assertStmts:
    - condition: (mine != ISMINE_NO)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 482
      start: 311
    functionDepth: 8
    functionLinenumber: 311
    functionLinenumberEnd: 482
    functionName: wallet::AvailableCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 4
    functionsReached:
    - uint160
    - CoinsResult::Add
    - CoinsResult::Size
    - std::unique_ptr::GetCScript
    - CCoinControl*::HasSelected
    - CanGrindR
    - std::vector::push_back
    - wallet::ApplyBumpFee
    - wallet::CachedTxIsTrusted
    - wallet::CachedTxIsFromMe
    - CoinsResult::GetTotalAmount
    - wallet::GetOutputType
    - std::optional<CFeeRate>::has_value
    - GetWalletTx
    - std::unordered_map::contains
    - IsMine
    - AssertLockHeld
    - CCoinControl*::IsSelected
    - GetTXOs
    - Solver
    - GetTxDepthInMainChain
    - wallet::CalculateMaximumSignedInputSize
    - std::unique_ptr::get
    - mapValue::count
    - IsLockedCoin
    - Assume
    - GetTxOut
    - CScriptID
    - wallet::COutput
    - COutPoint
    - IsWalletFlagSet
    - assert
    - IsTxImmatureCoinBase
    - InMempool
    - IsSpentKey
    - GetSolvingProvider
    - IsSpent
    - std::map::at
    - GetTxTime
    - chain
    - std::unordered_map::at
    - std::optional<CFeeRate>::value
    - CScript::CScript
    linkageType: ''
    returnType: CoinsResult
    signature: "CoinsResult AvailableCoins(const CWallet& wallet,\n                           const
      CCoinControl* coinControl,\n                           std::optional<CFeeRate>
      feerate,\n                           const CoinFilterParams& params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/spend.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wallet'
    - coinControl
    - params
    argTypes:
    - CWallet
    - CCoinControl*
    - CoinFilterParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: wallet::AvailableCoinsListUnspent
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::AvailableCoins
    linkageType: ''
    returnType: CoinsResult
    signature: CoinsResult AvailableCoinsListUnspent(const CWallet& wallet, const
      CCoinControl* coinControl, CoinFilterParams params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/spend.cpp:492,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:493,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/spend.cpp:493,1
    - Dst: CWalletTx*::tx::get
      Src: /src/bitcoin-core/src/wallet/spend.cpp:495,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/spend.cpp:497,1
    - Dst: CTransaction*::vin::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:497,1
    - Dst: GetWalletTx
      Src: /src/bitcoin-core/src/wallet/spend.cpp:499,1
    - Dst: CWalletTx*::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:500,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/spend.cpp:501,1
    - Dst: CWalletTx*::tx::get
      Src: /src/bitcoin-core/src/wallet/spend.cpp:504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' wallet'
    - ' outpoint'
    argTypes:
    - CWallet
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 5
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: wallet::FindNonChangeParentOutput
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - wallet::OutputIsChange
    - CTransaction*::vin::size
    - CWalletTx*::tx::get
    - GetWalletTx
    - Assert
    - IsMine
    - AssertLockHeld
    - CWalletTx*::tx::vout::size
    linkageType: ''
    returnType: CTxOut
    signature: CTxOut & FindNonChangeParentOutput(const CWallet& wallet, const COutPoint&
      outpoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/spend.cpp:512,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/spend.cpp:520,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/spend.cpp:522,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/spend.cpp:523,1
    - Dst: wallet::FindNonChangeParentOutput
      Src: /src/bitcoin-core/src/wallet/spend.cpp:523,1
    - Dst: std::get_if<PubKeyDestination>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:525,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/spend.cpp:526,1
    - Dst: auto::GetPubKey
      Src: /src/bitcoin-core/src/wallet/spend.cpp:526,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 510
    functionDepth: 6
    functionLinenumber: 510
    functionLinenumberEnd: 535
    functionName: wallet::ListCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::FindNonChangeParentOutput
    - ExtractDestination
    - auto::GetPubKey
    - wallet::AvailableCoins
    - AssertLockHeld
    - PKHash
    - emplace_back
    - std::get_if<PubKeyDestination>
    - IsWalletFlagSet
    linkageType: ''
    returnType: std::map<CTxDestination, std::vector<COutput>>
    signature: std::map<CTxDestination, std::vector<COutput>> ListCoins(const CWallet&
      wallet)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:551,1
    - Dst: OutputGroup::Insert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:555,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:555,1
    - Dst: OutputGroup::EligibleForSpending
      Src: /src/bitcoin-core/src/wallet/spend.cpp:561,1
    - Dst: Push
      Src: /src/bitcoin-core/src/wallet/spend.cpp:562,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:565,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/spend.cpp:581,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:583,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:585,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:590,1
    - Dst: OutputGroup*::m_outputs::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:594,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:596,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:597,1
    - Dst: OutputGroup*::Insert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:600,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:608,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:610,1
    - Dst: wallet::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.cpp:612,1
    - Dst: insert_output
      Src: /src/bitcoin-core/src/wallet/spend.cpp:613,1
    - Dst: insert_output
      Src: /src/bitcoin-core/src/wallet/spend.cpp:617,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:625,1
    - Dst: rend
      Src: /src/bitcoin-core/src/wallet/spend.cpp:625,1
    - Dst: OutputGroup*::EligibleForSpending
      Src: /src/bitcoin-core/src/wallet/spend.cpp:632,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:635,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:635,1
    - Dst: Push
      Src: /src/bitcoin-core/src/wallet/spend.cpp:641,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:644,1
    - Dst: push_output_groups
      Src: /src/bitcoin-core/src/wallet/spend.cpp:649,1
    - Dst: push_output_groups
      Src: /src/bitcoin-core/src/wallet/spend.cpp:650,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 5
    argNames:
    - ' wallet'
    - ' coins'
    - ' coin_sel_params'
    - ' filters'
    - ' ret_discarded_groups'
    argTypes:
    - CWallet
    - CoinsResult
    - CoinSelectionParams
    - std::vector<SelectionFilter>
    - std::vector<OutputGroup>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 653
    functionName: wallet::GroupOutputs
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 3
    functionsReached:
    - rend
    - std::make_pair
    - OutputGroup::EligibleForSpending
    - OutputGroup::Insert
    - OutputGroup*::Insert
    - back
    - OutputGroup*::m_outputs::size
    - chain
    - std::make_shared<COutput>
    - size
    - wallet::GetEffectiveValue
    - emplace_back
    - rbegin
    - push_output_groups
    - Push
    - OutputGroup*::EligibleForSpending
    - insert_output
    linkageType: ''
    returnType: FilteredOutputGroups
    signature: "FilteredOutputGroups GroupOutputs(const CWallet& wallet,\n                          const
      CoinsResult& coins,\n                          const CoinSelectionParams& coin_sel_params,\n
      \                         const std::vector<SelectionFilter>& filters,\n                          std::vector<OutputGroup>&
      ret_discarded_groups)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wallet'
    - ' coins'
    - ' params'
    - ' filters'
    argTypes:
    - CWallet
    - CoinsResult
    - CoinSelectionParams
    - std::vector<SelectionFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 662
    functionName: wallet::GroupOutputs
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 4
    functionsReached:
    - wallet::GroupOutputs
    linkageType: ''
    returnType: FilteredOutputGroups
    signature: "FilteredOutputGroups GroupOutputs(const CWallet& wallet,\n                                  const
      CoinsResult& coins,\n                                  const CoinSelectionParams&
      params,\n                                  const std::vector<SelectionFilter>&
      filters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/spend.cpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - util::Result<SelectionResult>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: wallet::HasErrorMsg
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 3
    functionsReached:
    - util::ErrorString
    linkageType: ''
    returnType: bool
    signature: bool HasErrorMsg(const util::Result<SelectionResult>& res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::ChooseSelectionResult
      Src: /src/bitcoin-core/src/wallet/spend.cpp:673,1
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/spend.cpp:675,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:677,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:681,1
    - Dst: std::min_element
      Src: /src/bitcoin-core/src/wallet/spend.cpp:681,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:681,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:681,1
    - Dst: wallet::TypesCount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:686,1
    - Dst: wallet::ChooseSelectionResult
      Src: /src/bitcoin-core/src/wallet/spend.cpp:687,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/spend.cpp:691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - ' chain'
    - ' nTargetValue'
    - ' groups'
    - ' coin_selection_params'
    - allow_mixed_output_types
    argTypes:
    - interfaces::Chain
    - CAmount
    - OutputGroupTypeMap
    - CoinSelectionParams
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 692
    functionName: wallet::AttemptSelection
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - wallet::TypesCount
    - wallet::HasErrorMsg
    - std::vector::begin
    - std::vector::push_back
    - wallet::ChooseSelectionResult
    - HandleError
    - std::min_element
    - std::vector::size
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> AttemptSelection(interfaces::Chain&
      chain, const CAmount& nTargetValue, OutputGroupTypeMap& groups,\n                               const
      CoinSelectionParams& coin_selection_params, bool allow_mixed_output_types)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/spend.cpp:702,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:703,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:703,1
    - Dst: m_max_tx_weight::value_or
      Src: /src/bitcoin-core/src/wallet/spend.cpp:708,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:712,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/spend.cpp:717,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:718,1
    - Dst: append_error
      Src: /src/bitcoin-core/src/wallet/spend.cpp:719,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:719,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:725,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:726,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/spend.cpp:730,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:731,1
    - Dst: append_error
      Src: /src/bitcoin-core/src/wallet/spend.cpp:732,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:732,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/spend.cpp:735,1
    - Dst: auto::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/spend.cpp:736,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:737,1
    - Dst: append_error
      Src: /src/bitcoin-core/src/wallet/spend.cpp:739,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:739,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/spend.cpp:743,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:744,1
    - Dst: append_error
      Src: /src/bitcoin-core/src/wallet/spend.cpp:745,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:745,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:747,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:750,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/spend.cpp:750,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:750,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/wallet/spend.cpp:750,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/spend.cpp:756,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:760,1
    - Dst: calculateCombinedBumpFee
      Src: /src/bitcoin-core/src/wallet/spend.cpp:763,1
    - Dst: std::optional::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:764,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:765,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:767,1
    - Dst: SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:769,1
    - Dst: RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/spend.cpp:771,1
    - Dst: std::min_element
      Src: /src/bitcoin-core/src/wallet/spend.cpp:776,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:776,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:776,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 4
    argNames:
    - ' chain'
    - ' nTargetValue'
    - ' groups'
    - ' coin_selection_params'
    argTypes:
    - interfaces::Chain
    - CAmount
    - Groups
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 777
    functionName: wallet::ChooseSelectionResult
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 2
    functionsReached:
    - std::vector::emplace_back
    - wallet::CoinGrinder
    - wallet::SelectCoinsBnB
    - std::move
    - std::vector::push_back
    - append_error
    - calculateCombinedBumpFee
    - std::vector::front
    - std::vector::end
    - wallet::HasErrorMsg
    - GetInputSet
    - auto::RecalculateWaste
    - std::vector::empty
    - std::min_element
    - SetBumpFeeDiscount
    - RecalculateWaste
    - std::optional::has_value
    - wallet::SelectCoinsSRD
    - HandleError
    - m_max_tx_weight::value_or
    - _
    - wallet::KnapsackSolver
    - std::vector::begin
    - std::optional::value
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> ChooseSelectionResult(interfaces::Chain&
      chain, const CAmount& nTargetValue, Groups& groups, const CoinSelectionParams&
      coin_selection_params)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:788,1
    - Dst: SelectionResult::AddInputs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:795,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/spend.cpp:796,1
    - Dst: wallet::GetTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:802,1
    - Dst: wallet::GetEffectiveTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:803,1
    - Dst: wallet::GetEffectiveTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:803,1
    - Dst: HandleError
      Src: /src/bitcoin-core/src/wallet/spend.cpp:805,1
    - Dst: wallet::AutomaticCoinSelection
      Src: /src/bitcoin-core/src/wallet/spend.cpp:809,1
    - Dst: coins::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:813,1
    - Dst: SelectionResult::AddInputs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:815,1
    - Dst: auto::Merge
      Src: /src/bitcoin-core/src/wallet/spend.cpp:816,1
    - Dst: auto::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/spend.cpp:817,1
    - Dst: m_max_tx_weight::value_or
      Src: /src/bitcoin-core/src/wallet/spend.cpp:822,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/spend.cpp:823,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - ' wallet'
    - ' available_coins'
    - ' pre_set_inputs'
    - ' nTargetValue'
    - ' coin_control'
    - ' coin_selection_params'
    argTypes:
    - CWallet
    - CoinsResult
    - PreSelectedInputs
    - CAmount
    - CCoinControl
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 779
    functionDepth: 8
    functionLinenumber: 779
    functionLinenumberEnd: 829
    functionName: wallet::SelectCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - SelectionResult::RecalculateWaste
    - wallet::GetEffectiveTotalAmount
    - _
    - m_max_tx_weight::value_or
    - auto::GetWeight
    - auto::Merge
    - HandleError
    - coins::empty
    - wallet::GetTotalAmount
    - SelectionResult::AddInputs
    - auto::RecalculateWaste
    - wallet::AutomaticCoinSelection
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> SelectCoins(const CWallet& wallet, CoinsResult&
      available_coins, const PreSelectedInputs& pre_set_inputs,\n                                          const
      CAmount& nTargetValue, const CCoinControl& coin_control,\n                                          const
      CoinSelectionParams& coin_selection_params)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:835,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:836,1
    - Dst: std::max<int64_t>
      Src: /src/bitcoin-core/src/wallet/spend.cpp:837,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/spend.cpp:838,1
    - Dst: Size
      Src: /src/bitcoin-core/src/wallet/spend.cpp:843,1
    - Dst: Shuffle
      Src: /src/bitcoin-core/src/wallet/spend.cpp:844,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:855,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:856,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:861,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:861,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:862,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:862,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/spend.cpp:862,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/spend.cpp:862,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:863,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:863,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:867,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:867,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:871,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:871,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:877,1
    - Dst: wallet::CoinEligibilityFilter
      Src: /src/bitcoin-core/src/wallet/spend.cpp:877,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/spend.cpp:877,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/spend.cpp:878,1
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/spend.cpp:885,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:891,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:892,1
    - Dst: wallet::GetTotalAmount
      Src: /src/bitcoin-core/src/wallet/spend.cpp:895,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:898,1
    - Dst: FilteredOutputGroups::find
      Src: /src/bitcoin-core/src/wallet/spend.cpp:908,1
    - Dst: FilteredOutputGroups::end
      Src: /src/bitcoin-core/src/wallet/spend.cpp:909,1
    - Dst: wallet::AttemptSelection
      Src: /src/bitcoin-core/src/wallet/spend.cpp:910,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:910,1
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/spend.cpp:917,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/spend.cpp:917,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:917,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:922,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/spend.cpp:922,1
    - Dst: std::vector::front
      Src: /src/bitcoin-core/src/wallet/spend.cpp:922,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ' wallet'
    - ' available_coins'
    - ' value_to_select'
    - ' coin_selection_params'
    argTypes:
    - CWallet
    - CoinsResult
    - CAmount
    - CoinSelectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 831
    functionDepth: 4
    functionLinenumber: 831
    functionLinenumberEnd: 928
    functionName: wallet::AutomaticCoinSelection
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 2
    functionsReached:
    - Size
    - std::vector::emplace_back
    - Shuffle
    - GetSelectionAmount
    - std::move
    - std::vector::push_back
    - wallet::GroupOutputs
    - std::min
    - wallet::AttemptSelection
    - std::vector::front
    - FilteredOutputGroups::find
    - FilteredOutputGroups::end
    - wallet::HasErrorMsg
    - wallet::CoinEligibilityFilter
    - std::vector::empty
    - wallet::GetTotalAmount
    - RandomMixin::max
    - _
    - chain
    - GetBoolArg
    - std::max<int64_t>
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> AutomaticCoinSelection(const CWallet&
      wallet, CoinsResult& available_coins, const CAmount& value_to_select, const
      CoinSelectionParams& coin_selection_params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInitialBlockDownload
      Src: /src/bitcoin-core/src/wallet/spend.cpp:932,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/spend.cpp:937,1
    - Dst: findBlock
      Src: /src/bitcoin-core/src/wallet/spend.cpp:937,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/spend.cpp:937,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/spend.cpp:938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' chain'
    - ' block_hash'
    argTypes:
    - interfaces::Chain
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 942
    functionName: wallet::IsCurrentForAntiFeeSniping
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - GetTime
    - FoundBlock
    - isInitialBlockDownload
    - CHECK_NONFATAL
    - findBlock
    linkageType: ''
    returnType: bool
    signature: bool IsCurrentForAntiFeeSniping(interfaces::Chain& chain, const uint256&
      block_hash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:948,1
    - Dst: vin::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:948,1
    - Dst: wallet::IsCurrentForAntiFeeSniping
      Src: /src/bitcoin-core/src/wallet/spend.cpp:969,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/wallet/spend.cpp:976,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/spend.cpp:977,1
    - Dst: randrange
      Src: /src/bitcoin-core/src/wallet/spend.cpp:977,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:986,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:987,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:990,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:996,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ' tx'
    - ' rng_fast'
    - ' chain'
    - ' block_hash'
    - block_height
    argTypes:
    - CMutableTransaction
    - FastRandomContext
    - interfaces::Chain
    - uint256
    - int
    assertStmts:
    - condition: (!tx.vin.empty())
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    - condition: (tx.nLockTime < LOCKTIME_THRESHOLD)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    - condition: (tx.nLockTime <= uint64_t(block_height))
      pos:
        line_end: 986
        line_start: 986
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    - condition: (false)
      pos:
        line_end: 995
        line_start: 995
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    - condition: (in.nSequence != CTxIn::SEQUENCE_FINAL)
      pos:
        line_end: 989
        line_start: 989
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 998
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 998
    functionName: wallet::DiscourageFeeSniping
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - vin::empty
    - std::max
    - wallet::IsCurrentForAntiFeeSniping
    - randrange
    - assert
    linkageType: ''
    returnType: void
    signature: "void DiscourageFeeSniping(CMutableTransaction& tx, FastRandomContext&
      rng_fast,\n                                 interfaces::Chain& chain, const
      uint256& block_hash, int block_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSerializeSize
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1002,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1002,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' recipient'
    argTypes:
    - CRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1003
    functionName: wallet::GetSerializeSizeForRecipient
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - GetSerializeSize
    - GetScriptForDestination
    - CTxOut
    linkageType: ''
    returnType: size_t
    signature: size_t GetSerializeSizeForRecipient(const CRecipient& recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::IsDust
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1007,1
    - Dst: CTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1007,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' recipient'
    - ' dustRelayFee'
    argTypes:
    - CRecipient
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1008
    functionName: wallet::IsDust
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 2
    functionsReached:
    - wallet::IsDust
    - GetScriptForDestination
    - CTxOut
    linkageType: ''
    returnType: bool
    signature: bool IsDust(const CRecipient& recipient, const CFeeRate& dustRelayFee)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1377,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1378,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1381,1
    - Dst: cbegin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1381,1
    - Dst: cend
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1381,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1382,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1385,1
    - Dst: CreateTransactionInternal
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1387,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1388,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1389,1
    - Dst: auto::change_pos::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1392,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1397,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1397,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1403,1
    - Dst: CreateTransactionInternal
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1406,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1408,1
    - Dst: TRACEPOINT
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1409,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1410,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1412,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1413,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1414,1
    - Dst: auto::change_pos::has_value
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1414,1
    - Dst: WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - ' wallet'
    - ' vecSend'
    - change_pos
    - ' coin_control'
    - sign
    argTypes:
    - CWallet
    - std::vector<CRecipient>
    - std::optional<unsigned int>
    - CCoinControl
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1370
    functionDepth: 3
    functionLinenumber: 1370
    functionLinenumberEnd: 1422
    functionName: wallet::CreateTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 1
    functionsReached:
    - _
    - empty
    - auto::has_value
    - cend
    - ExtractDestination
    - TRACEPOINT
    - std::any_of
    - GetName
    - LOCK
    - CreateTransactionInternal
    - auto::change_pos::has_value
    - WalletLogPrintf
    - cbegin
    linkageType: ''
    returnType: util::Result<CreatedTransactionResult>
    signature: "util::Result<CreatedTransactionResult> CreateTransaction(\n        CWallet&
      wallet,\n        const std::vector<CRecipient>& vecSend,\n        std::optional<unsigned
      int> change_pos,\n        const CCoinControl& coin_control,\n        bool sign)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1428,1
    - Dst: vout::empty
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1428,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1438,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1446,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1450,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1451,1
    - Dst: out::IsNull
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1452,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1453,1
    - Dst: SetTxOut
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1457,1
    - Dst: SetSequence
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1459,1
    - Dst: SetScriptSig
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1460,1
    - Dst: SetScriptWitness
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1461,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1464,1
    - Dst: LockCoin
      Src: /src/bitcoin-core/src/wallet/spend.cpp:1471,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 6
    argNames:
    - ' wallet'
    - ' tx'
    - ' vecSend'
    - change_pos
    - lockUnspents
    - coinControl
    argTypes:
    - CWallet
    - CMutableTransaction
    - std::vector<CRecipient>
    - std::optional<unsigned int>
    - bool
    - CCoinControl
    assertStmts:
    - condition: (tx.vout.empty())
      pos:
        line_end: 1427
        line_start: 1427
        source_file: /src/bitcoin-core/src/wallet/spend.cpp
    constantsTouched: []
    func_position:
      end: 1476
      start: 1424
    functionDepth: 4
    functionLinenumber: 1424
    functionLinenumberEnd: 1476
    functionName: wallet::FundTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.cpp
    functionUses: 0
    functionsReached:
    - CCoinControl::Select
    - _
    - SetSequence
    - SetScriptWitness
    - vout::empty
    - chain
    - SetTxOut
    - LOCK
    - IsMine
    - LockCoin
    - assert
    - out::IsNull
    - wallet::CreateTransaction
    - SetScriptSig
    linkageType: ''
    returnType: util::Result<CreatedTransactionResult>
    signature: util::Result<CreatedTransactionResult> FundTransaction(CWallet& wallet,
      const CMutableTransaction& tx, const std::vector<CRecipient>& vecSend, std::optional<unsigned
      int> change_pos, bool lockUnspents, CCoinControl coinControl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:72,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' strAddress'
    - ' strName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: wallet::WalletBatch::WriteName
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteName(const std::string& strAddress, const std::string&
      strName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:79,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strAddress'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: wallet::WalletBatch::EraseName
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseName(const std::string& strAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:84,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' strAddress'
    - ' strPurpose'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: wallet::WalletBatch::WritePurpose
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WritePurpose(const std::string& strAddress, const
      std::string& strPurpose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:89,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strAddress'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: wallet::WalletBatch::ErasePurpose
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::ErasePurpose(const std::string& strAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:94,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:94,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: wallet::WalletBatch::WriteTx
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - GetHash
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteTx(const CWalletTx& wtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:99,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:99,1
    - Dst: Txid::ToUint256
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: wallet::WalletBatch::EraseTx
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - Txid::ToUint256
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseTx(Txid hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:104,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' meta'
    - ' pubkey'
    - overwrite
    argTypes:
    - CKeyMetadata
    - CPubKey
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: wallet::WalletBatch::WriteKeyMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteKeyMetadata(const CKeyMetadata& meta, const
      CPubKey& pubkey, const bool overwrite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteKeyMetadata
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:109,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:115,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:116,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:116,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:116,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:116,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:117,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:117,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:117,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:117,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:119,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:119,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:119,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' vchPubKey'
    - ' vchPrivKey'
    - ' keyMeta'
    argTypes:
    - CPubKey
    - CPrivKey
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: wallet::WalletBatch::WriteKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - wallet::WalletBatch::WriteKeyMetadata
    - std::make_pair
    - Hash
    - size
    - std::vector::reserve
    - std::vector::insert
    - wallet::WalletBatch::WriteIC
    - begin
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteKey(const CPubKey& vchPubKey, const CPrivKey&
      vchPrivKey, const CKeyMetadata& keyMeta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteKeyMetadata
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:126,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:131,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:133,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:134,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:134,1
    - Dst: Read
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:137,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:140,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:140,1
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:144,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' vchPubKey'
    - ' vchCryptedSecret'
    - keyMeta
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: wallet::WalletBatch::WriteCryptedKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteKeyMetadata
    - Hash
    - std::make_pair
    - wallet::WalletBatch::EraseIC
    - Read
    - wallet::WalletBatch::WriteIC
    linkageType: ''
    returnType: bool
    signature: "bool WalletBatch::WriteCryptedKey(const CPubKey& vchPubKey,\n                                const
      std::vector<unsigned char>& vchCryptedSecret,\n                                const
      CKeyMetadata &keyMeta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:150,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nID
    - ' kMasterKey'
    argTypes:
    - unsigned int
    - CMasterKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: wallet::WalletBatch::WriteMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteMasterKey(unsigned int nID, const CMasterKey&
      kMasterKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:155,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: wallet::WalletBatch::EraseMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseMasterKey(unsigned int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:160,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:160,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:163,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - ' keyMeta'
    argTypes:
    - CScript
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: wallet::WalletBatch::WriteWatchOnly
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteWatchOnly(const CScript &dest, const CKeyMetadata&
      keyMeta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:168,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:168,1
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:171,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dest
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: wallet::WalletBatch::EraseWatchOnly
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseWatchOnly(const CScript &dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:176,1
    - Dst: CBlockLocator
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:176,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: wallet::WalletBatch::WriteBestBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - CBlockLocator
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteBestBlock(const CBlockLocator& locator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:182,1
    - Dst: vHave::empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:182,1
    - Dst: Read
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: wallet::WalletBatch::ReadBestBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - Read
    - vHave::empty
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::ReadBestBlock(CBlockLocator& locator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:188,1
    - Dst: GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:190,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:191,1
    - Dst: auto::Next
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: wallet::WalletBatch::IsEncrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - GetNewPrefixCursor
    - DataStream::DataStream
    - auto::Next
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::IsEncrypted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nOrderPosNext
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: wallet::WalletBatch::WriteOrderPosNext
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteOrderPosNext(int64_t nOrderPosNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nVersion
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: wallet::WalletBatch::WriteMinVersion
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteMinVersion(int nVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:210,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ' id'
    - internal
    argTypes:
    - uint8_t
    - uint256
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: wallet::WalletBatch::WriteActiveScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteActiveScriptPubKeyMan(uint8_t type, const uint256&
      id, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:216,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - internal
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: wallet::WalletBatch::EraseActiveScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseActiveScriptPubKeyMan(uint8_t type, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:223,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:223,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:223,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:224,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:224,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:224,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:224,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:225,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:225,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:225,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:225,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' desc_id'
    - ' pubkey'
    - ' privkey'
    argTypes:
    - uint256
    - CPubKey
    - CPrivKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: wallet::WalletBatch::WriteDescriptorKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - Hash
    - std::make_pair
    - size
    - std::vector::reserve
    - std::vector::insert
    - wallet::WalletBatch::WriteIC
    - begin
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorKey(const uint256& desc_id, const
      CPubKey& pubkey, const CPrivKey& privkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:232,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:232,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:232,1
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:235,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:235,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' desc_id'
    - ' pubkey'
    - ' secret'
    argTypes:
    - uint256
    - CPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: wallet::WalletBatch::WriteCryptedDescriptorKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - wallet::WalletBatch::EraseIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteCryptedDescriptorKey(const uint256& desc_id,
      const CPubKey& pubkey, const std::vector<unsigned char>& secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:241,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' desc_id'
    - ' descriptor'
    argTypes:
    - uint256
    - WalletDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: wallet::WalletBatch::WriteDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptor(const uint256& desc_id, const WalletDescriptor&
      descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Encode
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:247,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:247,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:248,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:248,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:248,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' xpub'
    - ' desc_id'
    - key_exp_index
    - der_index
    argTypes:
    - CExtPubKey
    - uint256
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: wallet::WalletBatch::WriteDescriptorDerivedCache
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - Encode
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorDerivedCache(const CExtPubKey& xpub,
      const uint256& desc_id, uint32_t key_exp_index, uint32_t der_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Encode
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:254,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:254,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:255,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:255,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' xpub'
    - ' desc_id'
    - key_exp_index
    argTypes:
    - CExtPubKey
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: wallet::WalletBatch::WriteDescriptorParentCache
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - Encode
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorParentCache(const CExtPubKey& xpub,
      const uint256& desc_id, uint32_t key_exp_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Encode
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:261,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:261,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:262,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:262,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' xpub'
    - ' desc_id'
    - key_exp_index
    argTypes:
    - CExtPubKey
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: wallet::WalletBatch::WriteDescriptorLastHardenedCache
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - Encode
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorLastHardenedCache(const CExtPubKey&
      xpub, const uint256& desc_id, uint32_t key_exp_index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetCachedParentExtPubKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:267,1
    - Dst: wallet::WalletBatch::WriteDescriptorParentCache
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:268,1
    - Dst: GetCachedDerivedExtPubKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:272,1
    - Dst: wallet::WalletBatch::WriteDescriptorDerivedCache
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:274,1
    - Dst: GetCachedLastHardenedExtPubKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:279,1
    - Dst: wallet::WalletBatch::WriteDescriptorLastHardenedCache
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ' desc_id'
    - ' cache'
    argTypes:
    - uint256
    - DescriptorCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: wallet::WalletBatch::WriteDescriptorCacheItems
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - GetCachedLastHardenedExtPubKeys
    - GetCachedDerivedExtPubKeys
    - wallet::WalletBatch::WriteDescriptorParentCache
    - GetCachedParentExtPubKeys
    - wallet::WalletBatch::WriteDescriptorLastHardenedCache
    - wallet::WalletBatch::WriteDescriptorDerivedCache
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorCacheItems(const uint256& desc_id,
      const DescriptorCache& cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:289,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:289,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: wallet::WalletBatch::WriteLockedUTXO
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteLockedUTXO(const COutPoint& output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:294,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:294,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: wallet::WalletBatch::EraseLockedUTXO
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseLockedUTXO(const COutPoint& output)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:299,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:301,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:303,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:308,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:310,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:327,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:331,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:331,1
    - Dst: CPrivKey::size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:331,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:332,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:332,1
    - Dst: CPubKey::begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:332,1
    - Dst: CPubKey::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:332,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:333,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:333,1
    - Dst: CPrivKey::begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:333,1
    - Dst: CPrivKey::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:333,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:335,1
    - Dst: CKey::Load
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:344,1
    - Dst: CWallet*::GetOrCreateLegacyDataSPKM
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:349,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:355,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - pwallet
    - ' ssKey'
    - ' ssValue'
    - ' strErr'
    argTypes:
    - CWallet*
    - DataStream
    - DataStream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 361
    functionName: wallet::LoadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - Hash
    - CPubKey::end
    - CPrivKey::end
    - CPrivKey::begin
    - what
    - std::vector::end
    - std::vector::reserve
    - CKey::CKey
    - std::vector::insert
    - CPubKey::CPubKey
    - uint256::IsNull
    - CWallet*::GetOrCreateLegacyDataSPKM
    - CPubKey::size
    - empty
    - CKey::Load
    - CPrivKey::size
    - uint256::uint256
    - CPubKey::begin
    - CPubKey::IsValid
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool LoadKey(CWallet* pwallet, DataStream& ssKey, DataStream& ssValue,
      std::string& strErr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:365,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:367,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:369,1
    - Dst: eof
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:379,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:380,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:382,1
    - Dst: CWallet*::GetOrCreateLegacyDataSPKM
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:388,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:394,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - pwallet
    - ' ssKey'
    - ' ssValue'
    - ' strErr'
    argTypes:
    - CWallet*
    - DataStream
    - DataStream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 400
    functionName: wallet::LoadCryptedKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::GetOrCreateLegacyDataSPKM
    - Hash
    - empty
    - LOCK
    - CPubKey::CPubKey
    - eof
    - what
    - uint256::uint256
    - CPubKey::IsValid
    linkageType: ''
    returnType: bool
    signature: bool LoadCryptedKey(CWallet* pwallet, DataStream& ssKey, DataStream&
      ssValue, std::string& strErr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:404,1
    - Dst: CWallet*::mapMasterKeys::count
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:411,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:413,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:421,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pwallet
    - ' ssKey'
    - ' ssValue'
    - ' strErr'
    argTypes:
    - CWallet*
    - DataStream
    - DataStream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 427
    functionName: wallet::LoadEncryptionKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - empty
    - LOCK
    - what
    - strprintf
    - CWallet*::mapMasterKeys::count
    linkageType: ''
    returnType: bool
    signature: bool LoadEncryptionKey(CWallet* pwallet, DataStream& ssKey, DataStream&
      ssValue, std::string& strErr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:431,1
    - Dst: CWallet*::GetOrCreateLegacyDataSPKM
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:435,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:437,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pwallet
    - ' ssValue'
    - ' strErr'
    argTypes:
    - CWallet*
    - DataStream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: wallet::LoadHDChain
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::GetOrCreateLegacyDataSPKM
    - LOCK
    - what
    - empty
    linkageType: ''
    returnType: bool
    signature: bool LoadHDChain(CWallet* pwallet, DataStream& ssValue, std::string&
      strErr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:486,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:489,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:489,1
    - Dst: GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:490,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:492,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:498,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:502,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:508,1
    - Dst: load_func
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:510,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:512,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - pwallet
    - ' batch'
    - ' key'
    - ' prefix'
    - load_func
    argTypes:
    - CWallet*
    - DatabaseBatch
    - std::string
    - DataStream
    - LoadFunc
    assertStmts:
    - condition: (type == key)
      pos:
        line_end: 507
        line_start: 507
        source_file: /src/bitcoin-core/src/wallet/walletdb.cpp
    constantsTouched: []
    func_position:
      end: 518
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 518
    functionName: wallet::LoadRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - GetNewPrefixCursor
    - empty
    - Assume
    - std::max
    - std::unique_ptr::Next
    - load_func
    - assert
    - DataStream::DataStream
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: LoadResult
    signature: LoadResult LoadRecords(CWallet* pwallet, DatabaseBatch& batch, const
      std::string& key, DataStream& prefix, LoadFunc load_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:522,1
    - Dst: wallet::LoadRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pwallet
    - ' batch'
    - ' key'
    - load_func
    argTypes:
    - CWallet*
    - DatabaseBatch
    - std::string
    - LoadFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 525
    functionName: wallet::LoadRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - wallet::LoadRecords
    - DataStream::DataStream
    linkageType: ''
    returnType: LoadResult
    signature: LoadResult LoadRecords(CWallet* pwallet, DatabaseBatch& batch, const
      std::string& key, LoadFunc load_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:529,1
    - Dst: wallet::HasLegacyRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: wallet::HasLegacyRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - GetDatabase
    - wallet::HasLegacyRecords
    linkageType: ''
    returnType: bool
    signature: bool HasLegacyRecords(CWallet& wallet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:536,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:538,1
    - Dst: GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:541,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:544,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:544,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' wallet'
    - ' batch'
    argTypes:
    - CWallet
    - DatabaseBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: wallet::HasLegacyRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - GetNewPrefixCursor
    - strprintf
    - std::runtime_error
    - std::unique_ptr::Next
    - DataStream::DataStream
    linkageType: ''
    returnType: bool
    signature: bool HasLegacyRecords(CWallet& wallet, DatabaseBatch& batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:771,1
    - Dst: SerializeMany
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: wallet::PrefixStream
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - SerializeMany
    - DataStream::DataStream
    linkageType: ''
    returnType: DataStream
    signature: DataStream PrefixStream(const Args&... args)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1132,1
    - Dst: Read
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1136,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1137,1
    - Dst: LoadMinVersion
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1140,1
    - Dst: LoadWalletFlags
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1144,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1147,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1148,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1154,1
    - Dst: LoadLegacyWalletRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1154,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1157,1
    - Dst: LoadDescriptorWalletRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1157,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1164,1
    - Dst: LoadAddressBookRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1164,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1167,1
    - Dst: LoadActiveSPKMs
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1167,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1170,1
    - Dst: LoadDecryptionKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1170,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1173,1
    - Dst: LoadTxRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1173,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1179,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1179,1
    - Dst: Write
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1192,1
    - Dst: CWallet*::ReorderTransactions
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1195,1
    - Dst: CWallet*::UpgradeDescriptorCache
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1200,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1209,1
    - Dst: CWallet*::HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1209,1
    - Dst: CWallet*::HaveCryptedKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1209,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1210,1
    - Dst: wallet::WalletBatch::EraseMasterKey
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1212,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1213,1
    - Dst: CWallet*::mapMasterKeys::clear
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1217,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - pwallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1127
    functionDepth: 2
    functionLinenumber: 1127
    functionLinenumberEnd: 1221
    functionName: wallet::WalletBatch::LoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::HaveCryptedKeys
    - Write
    - what
    - CWallet*::IsWalletFlagSet
    - LoadAddressBookRecords
    - LoadTxRecords
    - LoadLegacyWalletRecords
    - CWallet*::mapMasterKeys::clear
    - CWallet*::ReorderTransactions
    - LoadWalletFlags
    - LoadMinVersion
    - LoadDecryptionKeys
    - CWallet*::HasEncryptionKeys
    - CWallet*::UpgradeDescriptorCache
    - LoadDescriptorWalletRecords
    - wallet::WalletBatch::EraseMasterKey
    - LoadActiveSPKMs
    - CWallet*::WalletLogPrintf
    - Read
    - std::max
    - LOCK
    linkageType: ''
    returnType: DBErrors
    signature: DBErrors WalletBatch::LoadWallet(CWallet* pwallet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TxnBegin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1225,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1226,1
    - Dst: func
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1231,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1232,1
    - Dst: TxnAbort
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1233,1
    - Dst: TxnCommit
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1237,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' batch'
    - process_desc
    - ' func'
    argTypes:
    - WalletBatch
    - std::string_view
    - std::function<bool(WalletBatch&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1244
    functionName: wallet::RunWithinTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - func
    - TxnBegin
    - LogDebug
    - TxnAbort
    - TxnCommit
    linkageType: ''
    returnType: bool
    signature: bool RunWithinTxn(WalletBatch& batch, std::string_view process_desc,
      const std::function<bool(WalletBatch&)>& func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::RunWithinTxn
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' database'
    - process_desc
    - ' func'
    argTypes:
    - WalletDatabase
    - std::string_view
    - std::function<bool(WalletBatch&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: wallet::RunWithinTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - wallet::RunWithinTxn
    linkageType: ''
    returnType: bool
    signature: bool RunWithinTxn(WalletDatabase& database, std::string_view process_desc,
      const std::function<bool(WalletBatch&)>& func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1254,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1254,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1254,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1254,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1255,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1255,1
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dest'
    - previously_spent
    argTypes:
    - CTxDestination
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1256
    functionName: wallet::WalletBatch::WriteAddressPreviouslySpent
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - wallet::WalletBatch::WriteIC
    - EncodeDestination
    - std::string
    - wallet::WalletBatch::EraseIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteAddressPreviouslySpent(const CTxDestination&
      dest, bool previously_spent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1260,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1260,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1260,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' dest'
    - ' id'
    - ' receive_request'
    argTypes:
    - CTxDestination
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: wallet::WalletBatch::WriteAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - EncodeDestination
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteAddressReceiveRequest(const CTxDestination&
      dest, const std::string& id, const std::string& receive_request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1265,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1265,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1265,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dest'
    - ' id'
    argTypes:
    - CTxDestination
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1266
    functionName: wallet::WalletBatch::EraseAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    - EncodeDestination
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseAddressReceiveRequest(const CTxDestination&
      dest, const std::string& id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1270,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1271,1
    - Dst: ErasePrefix
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1273
    functionName: wallet::WalletBatch::EraseAddressData
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - ErasePrefix
    - DataStream::DataStream
    - EncodeDestination
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseAddressData(const CTxDestination& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: wallet::WalletBatch::WriteWalletFlags
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteWalletFlags(const uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1282,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1282,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1282,1
    - Dst: ErasePrefix
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1283,1
    - Dst: DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' types'
    argTypes:
    - std::unordered_set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1285
    functionName: wallet::WalletBatch::EraseRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - end
    - ErasePrefix
    - DataStream
    - begin
    - std::all_of
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseRecords(const std::unordered_set<std::string>&
      types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::TxnBegin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: wallet::WalletBatch::TxnBegin
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - wallet::WalletBatch::TxnBegin
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::TxnBegin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::TxnCommit
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1294,1
    - Dst: on_commit
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1297,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1303
    functionName: wallet::WalletBatch::TxnCommit
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - clear
    - on_commit
    - wallet::WalletBatch::TxnCommit
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::TxnCommit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::TxnAbort
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1307,1
    - Dst: on_abort
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1310,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1316
    functionName: wallet::WalletBatch::TxnAbort
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - on_abort
    - clear
    - wallet::WalletBatch::TxnAbort
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::TxnAbort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1320,1
    - Dst: wallet::WalletBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1320,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - DbTxnListener
    assertStmts:
    - condition: (m_batch->HasActiveTxn())
      pos:
        line_end: 1319
        line_start: 1319
        source_file: /src/bitcoin-core/src/wallet/walletdb.cpp
    constantsTouched: []
    func_position:
      end: 1322
      start: 1318
    functionDepth: 2
    functionLinenumber: 1318
    functionLinenumberEnd: 1322
    functionName: wallet::WalletBatch::RegisterTxnListener
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - assert
    - wallet::WalletBatch::HasActiveTxn
    linkageType: ''
    returnType: void
    signature: void WalletBatch::RegisterTxnListener(const DbTxnListener& l)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fs::symlink_status
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1328,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1330,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1330,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1330,1
    - Dst: code
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1330,1
    - Dst: wallet::IsBDBFile
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1337,1
    - Dst: wallet::BDBDataFile
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1337,1
    - Dst: wallet::IsSQLiteFile
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1340,1
    - Dst: wallet::SQLiteDataFile
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1340,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1342,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1342,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1342,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1349,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1349,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1349,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1355,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1355,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1355,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1361,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1361,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1361,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1368,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1368,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1368,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1375,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1375,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1375,1
    - Dst: wallet::MakeSQLiteDatabase
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1388,1
    - Dst: wallet::MakeBerkeleyRODatabase
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1392,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1395,1
    - Dst: STR_INTERNAL_BUG
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1395,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 4
    argNames:
    - ' path'
    - ' options'
    - ' status'
    - ' error'
    argTypes:
    - fs::path
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1324
    functionDepth: 3
    functionLinenumber: 1324
    functionLinenumberEnd: 1398
    functionName: wallet::MakeDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - code
    - wallet::MakeSQLiteDatabase
    - wallet::SQLiteDataFile
    - wallet::BDBDataFile
    - wallet::MakeBerkeleyRODatabase
    - fs::symlink_status
    - wallet::IsBDBFile
    - strprintf
    - STR_INTERNAL_BUG
    - Untranslated
    - fs::PathToString
    - wallet::IsSQLiteFile
    linkageType: ''
    returnType: std::unique_ptr<WalletDatabase>
    signature: std::unique_ptr<WalletDatabase> MakeDatabase(const fs::path& path,
      const DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:72,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' strAddress'
    - ' strName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: wallet::WalletBatch::WriteName
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteName(const std::string& strAddress, const std::string&
      strName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:79,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strAddress'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: wallet::WalletBatch::EraseName
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseName(const std::string& strAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:84,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' strAddress'
    - ' strPurpose'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: wallet::WalletBatch::WritePurpose
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WritePurpose(const std::string& strAddress, const
      std::string& strPurpose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:89,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strAddress'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: wallet::WalletBatch::ErasePurpose
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::ErasePurpose(const std::string& strAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:94,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:94,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wtx'
    argTypes:
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: wallet::WalletBatch::WriteTx
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - GetHash
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteTx(const CWalletTx& wtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:99,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:99,1
    - Dst: Txid::ToUint256
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: wallet::WalletBatch::EraseTx
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - Txid::ToUint256
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseTx(Txid hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:104,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' meta'
    - ' pubkey'
    - overwrite
    argTypes:
    - CKeyMetadata
    - CPubKey
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: wallet::WalletBatch::WriteKeyMetadata
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteKeyMetadata(const CKeyMetadata& meta, const
      CPubKey& pubkey, const bool overwrite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteKeyMetadata
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:109,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:115,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:115,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:116,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:116,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:116,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:116,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:117,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:117,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:117,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:117,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:119,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:119,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:119,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' vchPubKey'
    - ' vchPrivKey'
    - ' keyMeta'
    argTypes:
    - CPubKey
    - CPrivKey
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: wallet::WalletBatch::WriteKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - wallet::WalletBatch::WriteKeyMetadata
    - std::make_pair
    - Hash
    - size
    - std::vector::reserve
    - std::vector::insert
    - wallet::WalletBatch::WriteIC
    - begin
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteKey(const CPubKey& vchPubKey, const CPrivKey&
      vchPrivKey, const CKeyMetadata& keyMeta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteKeyMetadata
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:126,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:131,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:133,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:134,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:134,1
    - Dst: Read
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:137,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:140,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:140,1
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:144,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' vchPubKey'
    - ' vchCryptedSecret'
    - keyMeta
    argTypes:
    - CPubKey
    - std::vector<unsigned char>
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: wallet::WalletBatch::WriteCryptedKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteKeyMetadata
    - Hash
    - std::make_pair
    - wallet::WalletBatch::EraseIC
    - Read
    - wallet::WalletBatch::WriteIC
    linkageType: ''
    returnType: bool
    signature: "bool WalletBatch::WriteCryptedKey(const CPubKey& vchPubKey,\n                                const
      std::vector<unsigned char>& vchCryptedSecret,\n                                const
      CKeyMetadata &keyMeta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:150,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nID
    - ' kMasterKey'
    argTypes:
    - unsigned int
    - CMasterKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: wallet::WalletBatch::WriteMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteMasterKey(unsigned int nID, const CMasterKey&
      kMasterKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:155,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: wallet::WalletBatch::EraseMasterKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseMasterKey(unsigned int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:160,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:160,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:163,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - ' keyMeta'
    argTypes:
    - CScript
    - CKeyMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: wallet::WalletBatch::WriteWatchOnly
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteWatchOnly(const CScript &dest, const CKeyMetadata&
      keyMeta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:168,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:168,1
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:171,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dest
    argTypes:
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: wallet::WalletBatch::EraseWatchOnly
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseWatchOnly(const CScript &dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:176,1
    - Dst: CBlockLocator
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:176,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: wallet::WalletBatch::WriteBestBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - CBlockLocator
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteBestBlock(const CBlockLocator& locator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:182,1
    - Dst: vHave::empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:182,1
    - Dst: Read
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' locator'
    argTypes:
    - CBlockLocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: wallet::WalletBatch::ReadBestBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - Read
    - vHave::empty
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::ReadBestBlock(CBlockLocator& locator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:188,1
    - Dst: GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:190,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:191,1
    - Dst: auto::Next
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: wallet::WalletBatch::IsEncrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - GetNewPrefixCursor
    - DataStream::DataStream
    - auto::Next
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::IsEncrypted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nOrderPosNext
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: wallet::WalletBatch::WriteOrderPosNext
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteOrderPosNext(int64_t nOrderPosNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nVersion
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: wallet::WalletBatch::WriteMinVersion
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteMinVersion(int nVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:210,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ' id'
    - internal
    argTypes:
    - uint8_t
    - uint256
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: wallet::WalletBatch::WriteActiveScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteActiveScriptPubKeyMan(uint8_t type, const uint256&
      id, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:216,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - internal
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: wallet::WalletBatch::EraseActiveScriptPubKeyMan
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseActiveScriptPubKeyMan(uint8_t type, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:223,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:223,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:223,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:224,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:224,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:224,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:224,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:225,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:225,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:225,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:225,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' desc_id'
    - ' pubkey'
    - ' privkey'
    argTypes:
    - uint256
    - CPubKey
    - CPrivKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: wallet::WalletBatch::WriteDescriptorKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - Hash
    - std::make_pair
    - size
    - std::vector::reserve
    - std::vector::insert
    - wallet::WalletBatch::WriteIC
    - begin
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorKey(const uint256& desc_id, const
      CPubKey& pubkey, const CPrivKey& privkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:232,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:232,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:232,1
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:235,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:235,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' desc_id'
    - ' pubkey'
    - ' secret'
    argTypes:
    - uint256
    - CPubKey
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: wallet::WalletBatch::WriteCryptedDescriptorKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - wallet::WalletBatch::EraseIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteCryptedDescriptorKey(const uint256& desc_id,
      const CPubKey& pubkey, const std::vector<unsigned char>& secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:241,1
    - Dst: make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' desc_id'
    - ' descriptor'
    argTypes:
    - uint256
    - WalletDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: wallet::WalletBatch::WriteDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptor(const uint256& desc_id, const WalletDescriptor&
      descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Encode
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:247,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:247,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:248,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:248,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:248,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' xpub'
    - ' desc_id'
    - key_exp_index
    - der_index
    argTypes:
    - CExtPubKey
    - uint256
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: wallet::WalletBatch::WriteDescriptorDerivedCache
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - Encode
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorDerivedCache(const CExtPubKey& xpub,
      const uint256& desc_id, uint32_t key_exp_index, uint32_t der_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Encode
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:254,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:254,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:255,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:255,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' xpub'
    - ' desc_id'
    - key_exp_index
    argTypes:
    - CExtPubKey
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: wallet::WalletBatch::WriteDescriptorParentCache
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - Encode
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorParentCache(const CExtPubKey& xpub,
      const uint256& desc_id, uint32_t key_exp_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Encode
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:261,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:261,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:262,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:262,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' xpub'
    - ' desc_id'
    - key_exp_index
    argTypes:
    - CExtPubKey
    - uint256
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: wallet::WalletBatch::WriteDescriptorLastHardenedCache
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - Encode
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorLastHardenedCache(const CExtPubKey&
      xpub, const uint256& desc_id, uint32_t key_exp_index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetCachedParentExtPubKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:267,1
    - Dst: wallet::WalletBatch::WriteDescriptorParentCache
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:268,1
    - Dst: GetCachedDerivedExtPubKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:272,1
    - Dst: wallet::WalletBatch::WriteDescriptorDerivedCache
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:274,1
    - Dst: GetCachedLastHardenedExtPubKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:279,1
    - Dst: wallet::WalletBatch::WriteDescriptorLastHardenedCache
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ' desc_id'
    - ' cache'
    argTypes:
    - uint256
    - DescriptorCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: wallet::WalletBatch::WriteDescriptorCacheItems
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - GetCachedLastHardenedExtPubKeys
    - GetCachedDerivedExtPubKeys
    - wallet::WalletBatch::WriteDescriptorParentCache
    - GetCachedParentExtPubKeys
    - wallet::WalletBatch::WriteDescriptorLastHardenedCache
    - wallet::WalletBatch::WriteDescriptorDerivedCache
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteDescriptorCacheItems(const uint256& desc_id,
      const DescriptorCache& cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:289,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:289,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: wallet::WalletBatch::WriteLockedUTXO
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteLockedUTXO(const COutPoint& output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:294,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:294,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: wallet::WalletBatch::EraseLockedUTXO
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseLockedUTXO(const COutPoint& output)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:299,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:301,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:303,1
    - Dst: CKey::CKey
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:308,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:310,1
    - Dst: uint256::IsNull
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:327,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:331,1
    - Dst: CPubKey::size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:331,1
    - Dst: CPrivKey::size
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:331,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:332,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:332,1
    - Dst: CPubKey::begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:332,1
    - Dst: CPubKey::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:332,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:333,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:333,1
    - Dst: CPrivKey::begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:333,1
    - Dst: CPrivKey::end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:333,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:335,1
    - Dst: CKey::Load
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:344,1
    - Dst: CWallet*::GetOrCreateLegacyDataSPKM
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:349,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:355,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - pwallet
    - ' ssKey'
    - ' ssValue'
    - ' strErr'
    argTypes:
    - CWallet*
    - DataStream
    - DataStream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 361
    functionName: wallet::LoadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - Hash
    - CPubKey::end
    - CPrivKey::end
    - CPrivKey::begin
    - what
    - std::vector::end
    - std::vector::reserve
    - CKey::CKey
    - std::vector::insert
    - CPubKey::CPubKey
    - uint256::IsNull
    - CWallet*::GetOrCreateLegacyDataSPKM
    - CPubKey::size
    - empty
    - CKey::Load
    - CPrivKey::size
    - uint256::uint256
    - CPubKey::begin
    - CPubKey::IsValid
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool LoadKey(CWallet* pwallet, DataStream& ssKey, DataStream& ssValue,
      std::string& strErr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:365,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:367,1
    - Dst: CPubKey::IsValid
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:369,1
    - Dst: eof
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:379,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:380,1
    - Dst: Hash
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:382,1
    - Dst: CWallet*::GetOrCreateLegacyDataSPKM
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:388,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:394,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - pwallet
    - ' ssKey'
    - ' ssValue'
    - ' strErr'
    argTypes:
    - CWallet*
    - DataStream
    - DataStream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 400
    functionName: wallet::LoadCryptedKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::GetOrCreateLegacyDataSPKM
    - Hash
    - empty
    - LOCK
    - CPubKey::CPubKey
    - eof
    - what
    - uint256::uint256
    - CPubKey::IsValid
    linkageType: ''
    returnType: bool
    signature: bool LoadCryptedKey(CWallet* pwallet, DataStream& ssKey, DataStream&
      ssValue, std::string& strErr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:404,1
    - Dst: CWallet*::mapMasterKeys::count
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:411,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:413,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:421,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pwallet
    - ' ssKey'
    - ' ssValue'
    - ' strErr'
    argTypes:
    - CWallet*
    - DataStream
    - DataStream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 427
    functionName: wallet::LoadEncryptionKey
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - empty
    - LOCK
    - what
    - strprintf
    - CWallet*::mapMasterKeys::count
    linkageType: ''
    returnType: bool
    signature: bool LoadEncryptionKey(CWallet* pwallet, DataStream& ssKey, DataStream&
      ssValue, std::string& strErr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:431,1
    - Dst: CWallet*::GetOrCreateLegacyDataSPKM
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:435,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:437,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pwallet
    - ' ssValue'
    - ' strErr'
    argTypes:
    - CWallet*
    - DataStream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: wallet::LoadHDChain
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::GetOrCreateLegacyDataSPKM
    - LOCK
    - what
    - empty
    linkageType: ''
    returnType: bool
    signature: bool LoadHDChain(CWallet* pwallet, DataStream& ssValue, std::string&
      strErr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:486,1
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:489,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:489,1
    - Dst: GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:490,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:492,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:498,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:502,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:508,1
    - Dst: load_func
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:510,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:512,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - pwallet
    - ' batch'
    - ' key'
    - ' prefix'
    - load_func
    argTypes:
    - CWallet*
    - DatabaseBatch
    - std::string
    - DataStream
    - LoadFunc
    assertStmts:
    - condition: (type == key)
      pos:
        line_end: 507
        line_start: 507
        source_file: /src/bitcoin-core/src/wallet/walletdb.cpp
    constantsTouched: []
    func_position:
      end: 518
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 518
    functionName: wallet::LoadRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - GetNewPrefixCursor
    - empty
    - Assume
    - std::max
    - std::unique_ptr::Next
    - load_func
    - assert
    - DataStream::DataStream
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: LoadResult
    signature: LoadResult LoadRecords(CWallet* pwallet, DatabaseBatch& batch, const
      std::string& key, DataStream& prefix, LoadFunc load_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:522,1
    - Dst: wallet::LoadRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pwallet
    - ' batch'
    - ' key'
    - load_func
    argTypes:
    - CWallet*
    - DatabaseBatch
    - std::string
    - LoadFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 525
    functionName: wallet::LoadRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - wallet::LoadRecords
    - DataStream::DataStream
    linkageType: ''
    returnType: LoadResult
    signature: LoadResult LoadRecords(CWallet* pwallet, DatabaseBatch& batch, const
      std::string& key, LoadFunc load_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:529,1
    - Dst: wallet::HasLegacyRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: wallet::HasLegacyRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - GetDatabase
    - wallet::HasLegacyRecords
    linkageType: ''
    returnType: bool
    signature: bool HasLegacyRecords(CWallet& wallet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:536,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:538,1
    - Dst: GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:541,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:544,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:544,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' wallet'
    - ' batch'
    argTypes:
    - CWallet
    - DatabaseBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: wallet::HasLegacyRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - GetNewPrefixCursor
    - strprintf
    - std::runtime_error
    - std::unique_ptr::Next
    - DataStream::DataStream
    linkageType: ''
    returnType: bool
    signature: bool HasLegacyRecords(CWallet& wallet, DatabaseBatch& batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:771,1
    - Dst: SerializeMany
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: wallet::PrefixStream
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - SerializeMany
    - DataStream::DataStream
    linkageType: ''
    returnType: DataStream
    signature: DataStream PrefixStream(const Args&... args)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1132,1
    - Dst: Read
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1136,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1137,1
    - Dst: LoadMinVersion
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1140,1
    - Dst: LoadWalletFlags
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1144,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1147,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1148,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1154,1
    - Dst: LoadLegacyWalletRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1154,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1157,1
    - Dst: LoadDescriptorWalletRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1157,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1164,1
    - Dst: LoadAddressBookRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1164,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1167,1
    - Dst: LoadActiveSPKMs
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1167,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1170,1
    - Dst: LoadDecryptionKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1170,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1173,1
    - Dst: LoadTxRecords
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1173,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1179,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1179,1
    - Dst: Write
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1192,1
    - Dst: CWallet*::ReorderTransactions
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1195,1
    - Dst: CWallet*::UpgradeDescriptorCache
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1200,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1209,1
    - Dst: CWallet*::HasEncryptionKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1209,1
    - Dst: CWallet*::HaveCryptedKeys
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1209,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1210,1
    - Dst: wallet::WalletBatch::EraseMasterKey
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1212,1
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1213,1
    - Dst: CWallet*::mapMasterKeys::clear
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1217,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - pwallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1127
    functionDepth: 2
    functionLinenumber: 1127
    functionLinenumberEnd: 1221
    functionName: wallet::WalletBatch::LoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::HaveCryptedKeys
    - Write
    - what
    - CWallet*::IsWalletFlagSet
    - LoadAddressBookRecords
    - LoadTxRecords
    - LoadLegacyWalletRecords
    - CWallet*::mapMasterKeys::clear
    - CWallet*::ReorderTransactions
    - LoadWalletFlags
    - LoadMinVersion
    - LoadDecryptionKeys
    - CWallet*::HasEncryptionKeys
    - CWallet*::UpgradeDescriptorCache
    - LoadDescriptorWalletRecords
    - wallet::WalletBatch::EraseMasterKey
    - LoadActiveSPKMs
    - CWallet*::WalletLogPrintf
    - Read
    - std::max
    - LOCK
    linkageType: ''
    returnType: DBErrors
    signature: DBErrors WalletBatch::LoadWallet(CWallet* pwallet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TxnBegin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1225,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1226,1
    - Dst: func
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1231,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1232,1
    - Dst: TxnAbort
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1233,1
    - Dst: TxnCommit
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1237,1
    - Dst: LogDebug
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' batch'
    - process_desc
    - ' func'
    argTypes:
    - WalletBatch
    - std::string_view
    - std::function<bool(WalletBatch&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1244
    functionName: wallet::RunWithinTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 1
    functionsReached:
    - func
    - TxnBegin
    - LogDebug
    - TxnAbort
    - TxnCommit
    linkageType: ''
    returnType: bool
    signature: bool RunWithinTxn(WalletBatch& batch, std::string_view process_desc,
      const std::function<bool(WalletBatch&)>& func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::RunWithinTxn
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' database'
    - process_desc
    - ' func'
    argTypes:
    - WalletDatabase
    - std::string_view
    - std::function<bool(WalletBatch&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: wallet::RunWithinTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - wallet::RunWithinTxn
    linkageType: ''
    returnType: bool
    signature: bool RunWithinTxn(WalletDatabase& database, std::string_view process_desc,
      const std::function<bool(WalletBatch&)>& func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1254,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1254,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1254,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1254,1
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1255,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1255,1
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dest'
    - previously_spent
    argTypes:
    - CTxDestination
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1256
    functionName: wallet::WalletBatch::WriteAddressPreviouslySpent
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - wallet::WalletBatch::WriteIC
    - EncodeDestination
    - std::string
    - wallet::WalletBatch::EraseIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteAddressPreviouslySpent(const CTxDestination&
      dest, bool previously_spent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1260,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1260,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1260,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' dest'
    - ' id'
    - ' receive_request'
    argTypes:
    - CTxDestination
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: wallet::WalletBatch::WriteAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    - std::make_pair
    - EncodeDestination
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteAddressReceiveRequest(const CTxDestination&
      dest, const std::string& id, const std::string& receive_request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::EraseIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1265,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1265,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1265,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dest'
    - ' id'
    argTypes:
    - CTxDestination
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1266
    functionName: wallet::WalletBatch::EraseAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::EraseIC
    - std::make_pair
    - EncodeDestination
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseAddressReceiveRequest(const CTxDestination&
      dest, const std::string& id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1270,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1271,1
    - Dst: ErasePrefix
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1273
    functionName: wallet::WalletBatch::EraseAddressData
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - ErasePrefix
    - DataStream::DataStream
    - EncodeDestination
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseAddressData(const CTxDestination& dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::WriteIC
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: wallet::WalletBatch::WriteWalletFlags
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletBatch::WriteIC
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::WriteWalletFlags(const uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1282,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1282,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1282,1
    - Dst: ErasePrefix
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1283,1
    - Dst: DataStream
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' types'
    argTypes:
    - std::unordered_set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1285
    functionName: wallet::WalletBatch::EraseRecords
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - end
    - ErasePrefix
    - DataStream
    - begin
    - std::all_of
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::EraseRecords(const std::unordered_set<std::string>&
      types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::TxnBegin
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: wallet::WalletBatch::TxnBegin
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - wallet::WalletBatch::TxnBegin
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::TxnBegin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::TxnCommit
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1294,1
    - Dst: on_commit
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1297,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1303
    functionName: wallet::WalletBatch::TxnCommit
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - clear
    - on_commit
    - wallet::WalletBatch::TxnCommit
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::TxnCommit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::WalletBatch::TxnAbort
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1307,1
    - Dst: on_abort
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1310,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1316
    functionName: wallet::WalletBatch::TxnAbort
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - on_abort
    - clear
    - wallet::WalletBatch::TxnAbort
    linkageType: ''
    returnType: bool
    signature: bool WalletBatch::TxnAbort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1320,1
    - Dst: wallet::WalletBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1320,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - DbTxnListener
    assertStmts:
    - condition: (m_batch->HasActiveTxn())
      pos:
        line_end: 1319
        line_start: 1319
        source_file: /src/bitcoin-core/src/wallet/walletdb.cpp
    constantsTouched: []
    func_position:
      end: 1322
      start: 1318
    functionDepth: 2
    functionLinenumber: 1318
    functionLinenumberEnd: 1322
    functionName: wallet::WalletBatch::RegisterTxnListener
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - assert
    - wallet::WalletBatch::HasActiveTxn
    linkageType: ''
    returnType: void
    signature: void WalletBatch::RegisterTxnListener(const DbTxnListener& l)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fs::symlink_status
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1328,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1330,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1330,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1330,1
    - Dst: code
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1330,1
    - Dst: wallet::IsBDBFile
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1337,1
    - Dst: wallet::BDBDataFile
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1337,1
    - Dst: wallet::IsSQLiteFile
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1340,1
    - Dst: wallet::SQLiteDataFile
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1340,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1342,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1342,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1342,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1349,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1349,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1349,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1355,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1355,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1355,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1361,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1361,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1361,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1368,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1368,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1368,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1375,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1375,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1375,1
    - Dst: wallet::MakeSQLiteDatabase
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1388,1
    - Dst: wallet::MakeBerkeleyRODatabase
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1392,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1395,1
    - Dst: STR_INTERNAL_BUG
      Src: /src/bitcoin-core/src/wallet/walletdb.cpp:1395,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 4
    argNames:
    - ' path'
    - ' options'
    - ' status'
    - ' error'
    argTypes:
    - fs::path
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1324
    functionDepth: 3
    functionLinenumber: 1324
    functionLinenumberEnd: 1398
    functionName: wallet::MakeDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/walletdb.cpp
    functionUses: 2
    functionsReached:
    - code
    - wallet::MakeSQLiteDatabase
    - wallet::SQLiteDataFile
    - wallet::BDBDataFile
    - wallet::MakeBerkeleyRODatabase
    - fs::symlink_status
    - wallet::IsBDBFile
    - strprintf
    - STR_INTERNAL_BUG
    - Untranslated
    - fs::PathToString
    - wallet::IsSQLiteFile
    linkageType: ''
    returnType: std::unique_ptr<WalletDatabase>
    signature: std::unique_ptr<WalletDatabase> MakeDatabase(const fs::path& path,
      const DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:25,1
    - Dst: CWallet*::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: wallet::WalletTool::WalletToolReleaseWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::Close
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: void WalletToolReleaseWallet(CWallet* wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:32,1
    - Dst: CWallet*::SetMinVersion
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:34,1
    - Dst: CWallet*::InitWalletFlags
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:35,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:37,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:37,1
    - Dst: CWallet*::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:38,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:40,1
    - Dst: CWallet*::TopUpKeyPool
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - wallet_instance
    - wallet_creation_flags
    argTypes:
    - CWallet*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: wallet::WalletTool::WalletCreate
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::IsWalletFlagSet
    - CWallet*::SetupDescriptorScriptPubKeyMans
    - CWallet*::SetMinVersion
    - tinyformat::detail::FormatArg::format
    - LOCK
    - CWallet*::InitWalletFlags
    - Assert
    - CWallet*::TopUpKeyPool
    linkageType: ''
    returnType: void
    signature: void WalletCreate(CWallet* wallet_instance, uint64_t wallet_creation_flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:48,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:50,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:55,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:55,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:58,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:60,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:66,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:69,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:73,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:77,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:80,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:84,1
    - Dst: wallet::WalletTool::WalletCreate
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:89,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ' name'
    - ' path'
    - options
    argTypes:
    - std::string
    - fs::path
    - DatabaseOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 92
    functionName: wallet::WalletTool::MakeWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::LoadWallet
    - tinyformat::detail::FormatArg::format
    - std::shared_ptr::get
    - std::move
    - wallet::WalletTool::WalletCreate
    - MakeDatabase
    - CWallet::CWallet
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> MakeWallet(const std::string& name, const
      fs::path& path, DatabaseOptions options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:96,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:98,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:99,1
    - Dst: CWallet*::GetName
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:99,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:100,1
    - Dst: CWallet*::GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:100,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:101,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:101,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:102,1
    - Dst: CWallet*::IsCrypted
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:102,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:103,1
    - Dst: CWallet*::IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:103,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:104,1
    - Dst: CWallet*::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:104,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:105,1
    - Dst: CWallet*::mapWallet::size
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:105,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:106,1
    - Dst: CWallet*::m_address_book::size
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - wallet_instance
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: wallet::WalletTool::WalletShowInfo
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::IsWalletFlagSet
    - CWallet*::IsHDEnabled
    - CWallet*::GetName
    - tinyformat::detail::FormatArg::format
    - CWallet*::GetKeyPoolSize
    - LOCK
    - CWallet*::mapWallet::size
    - CWallet*::m_address_book::size
    - CWallet*::IsCrypted
    - CWallet*::GetDatabase
    linkageType: ''
    returnType: void
    signature: void WalletShowInfo(CWallet* wallet_instance)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:111,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:112,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:115,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:116,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:119,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:124,1
    - Dst: wallet::WalletTool::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:129,1
    - Dst: wallet::WalletTool::WalletShowInfo
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:131,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:131,1
    - Dst: std::shared_ptr::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:132,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:136,1
    - Dst: wallet::WalletTool::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:138,1
    - Dst: wallet::WalletTool::WalletShowInfo
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:140,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:140,1
    - Dst: std::shared_ptr::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:141,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:144,1
    - Dst: IsBDBFile
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:148,1
    - Dst: BDBDataFile
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:148,1
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:153,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:155,1
    - Dst: DumpWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:159,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:160,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:161,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:164,1
    - Dst: CreateFromDump
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:169,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:171,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:173,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:174,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:178,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - ' args'
    - ' command'
    argTypes:
    - ArgsManager
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 183
    functionName: wallet::WalletTool::ExecuteWalletToolFunc
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - GetWalletDir
    - fs::PathFromString
    - wallet::WalletTool::WalletShowInfo
    - CreateFromDump
    - tinyformat::detail::FormatArg::format
    - std::shared_ptr::get
    - GetArg
    - fsbridge::AbsPathJoin
    - std::shared_ptr::Close
    - IsBDBFile
    - wallet::WalletTool::MakeWallet
    - BDBDataFile
    - DumpWallet
    - bilingual_str::empty
    - MakeDatabase
    - ReadDatabaseArgs
    - IsArgSet
    linkageType: ''
    returnType: bool
    signature: bool ExecuteWalletToolFunc(const ArgsManager& args, const std::string&
      command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:25,1
    - Dst: CWallet*::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: wallet::WalletTool::WalletToolReleaseWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::Close
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: void WalletToolReleaseWallet(CWallet* wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:32,1
    - Dst: CWallet*::SetMinVersion
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:34,1
    - Dst: CWallet*::InitWalletFlags
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:35,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:37,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:37,1
    - Dst: CWallet*::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:38,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:40,1
    - Dst: CWallet*::TopUpKeyPool
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - wallet_instance
    - wallet_creation_flags
    argTypes:
    - CWallet*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: wallet::WalletTool::WalletCreate
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 1
    functionsReached:
    - CWallet*::IsWalletFlagSet
    - CWallet*::SetupDescriptorScriptPubKeyMans
    - CWallet*::SetMinVersion
    - tinyformat::detail::FormatArg::format
    - LOCK
    - CWallet*::InitWalletFlags
    - Assert
    - CWallet*::TopUpKeyPool
    linkageType: ''
    returnType: void
    signature: void WalletCreate(CWallet* wallet_instance, uint64_t wallet_creation_flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:48,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:50,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:55,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:55,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:58,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:60,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:66,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:69,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:73,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:77,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:80,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:84,1
    - Dst: wallet::WalletTool::WalletCreate
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:89,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ' name'
    - ' path'
    - options
    argTypes:
    - std::string
    - fs::path
    - DatabaseOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 92
    functionName: wallet::WalletTool::MakeWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 1
    functionsReached:
    - std::shared_ptr::LoadWallet
    - tinyformat::detail::FormatArg::format
    - std::shared_ptr::get
    - std::move
    - wallet::WalletTool::WalletCreate
    - MakeDatabase
    - CWallet::CWallet
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> MakeWallet(const std::string& name, const
      fs::path& path, DatabaseOptions options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:96,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:98,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:99,1
    - Dst: CWallet*::GetName
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:99,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:100,1
    - Dst: CWallet*::GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:100,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:101,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:101,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:102,1
    - Dst: CWallet*::IsCrypted
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:102,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:103,1
    - Dst: CWallet*::IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:103,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:104,1
    - Dst: CWallet*::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:104,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:105,1
    - Dst: CWallet*::mapWallet::size
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:105,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:106,1
    - Dst: CWallet*::m_address_book::size
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - wallet_instance
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: wallet::WalletTool::WalletShowInfo
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 1
    functionsReached:
    - CWallet*::IsWalletFlagSet
    - CWallet*::IsHDEnabled
    - CWallet*::GetName
    - tinyformat::detail::FormatArg::format
    - CWallet*::GetKeyPoolSize
    - LOCK
    - CWallet*::mapWallet::size
    - CWallet*::m_address_book::size
    - CWallet*::IsCrypted
    - CWallet*::GetDatabase
    linkageType: ''
    returnType: void
    signature: void WalletShowInfo(CWallet* wallet_instance)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:111,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:112,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:115,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:116,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:119,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:124,1
    - Dst: wallet::WalletTool::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:129,1
    - Dst: wallet::WalletTool::WalletShowInfo
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:131,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:131,1
    - Dst: std::shared_ptr::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:132,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:136,1
    - Dst: wallet::WalletTool::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:138,1
    - Dst: wallet::WalletTool::WalletShowInfo
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:140,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:140,1
    - Dst: std::shared_ptr::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:141,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:144,1
    - Dst: IsBDBFile
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:148,1
    - Dst: BDBDataFile
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:148,1
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:153,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:155,1
    - Dst: DumpWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:159,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:160,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:161,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:164,1
    - Dst: CreateFromDump
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:169,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:171,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:173,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:174,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:178,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - ' args'
    - ' command'
    argTypes:
    - ArgsManager
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 183
    functionName: wallet::WalletTool::ExecuteWalletToolFunc
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - GetWalletDir
    - fs::PathFromString
    - wallet::WalletTool::WalletShowInfo
    - CreateFromDump
    - tinyformat::detail::FormatArg::format
    - std::shared_ptr::get
    - GetArg
    - fsbridge::AbsPathJoin
    - std::shared_ptr::Close
    - IsBDBFile
    - wallet::WalletTool::MakeWallet
    - BDBDataFile
    - DumpWallet
    - bilingual_str::empty
    - MakeDatabase
    - ReadDatabaseArgs
    - IsArgSet
    linkageType: ''
    returnType: bool
    signature: bool ExecuteWalletToolFunc(const ArgsManager& args, const std::string&
      command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:25,1
    - Dst: CWallet*::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: wallet::WalletTool::WalletToolReleaseWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::Close
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: void WalletToolReleaseWallet(CWallet* wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:32,1
    - Dst: CWallet*::SetMinVersion
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:34,1
    - Dst: CWallet*::InitWalletFlags
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:35,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:37,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:37,1
    - Dst: CWallet*::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:38,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:40,1
    - Dst: CWallet*::TopUpKeyPool
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - wallet_instance
    - wallet_creation_flags
    argTypes:
    - CWallet*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: wallet::WalletTool::WalletCreate
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 2
    functionsReached:
    - CWallet*::IsWalletFlagSet
    - CWallet*::SetupDescriptorScriptPubKeyMans
    - CWallet*::SetMinVersion
    - tinyformat::detail::FormatArg::format
    - LOCK
    - CWallet*::InitWalletFlags
    - Assert
    - CWallet*::TopUpKeyPool
    linkageType: ''
    returnType: void
    signature: void WalletCreate(CWallet* wallet_instance, uint64_t wallet_creation_flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:48,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:50,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:55,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:55,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:58,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:60,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:66,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:69,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:73,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:77,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:80,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:84,1
    - Dst: wallet::WalletTool::WalletCreate
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:89,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ' name'
    - ' path'
    - options
    argTypes:
    - std::string
    - fs::path
    - DatabaseOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 92
    functionName: wallet::WalletTool::MakeWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 2
    functionsReached:
    - std::shared_ptr::LoadWallet
    - tinyformat::detail::FormatArg::format
    - std::shared_ptr::get
    - std::move
    - wallet::WalletTool::WalletCreate
    - MakeDatabase
    - CWallet::CWallet
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> MakeWallet(const std::string& name, const
      fs::path& path, DatabaseOptions options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:96,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:98,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:99,1
    - Dst: CWallet*::GetName
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:99,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:100,1
    - Dst: CWallet*::GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:100,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:101,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:101,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:102,1
    - Dst: CWallet*::IsCrypted
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:102,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:103,1
    - Dst: CWallet*::IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:103,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:104,1
    - Dst: CWallet*::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:104,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:105,1
    - Dst: CWallet*::mapWallet::size
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:105,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:106,1
    - Dst: CWallet*::m_address_book::size
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - wallet_instance
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: wallet::WalletTool::WalletShowInfo
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 2
    functionsReached:
    - CWallet*::IsWalletFlagSet
    - CWallet*::IsHDEnabled
    - CWallet*::GetName
    - tinyformat::detail::FormatArg::format
    - CWallet*::GetKeyPoolSize
    - LOCK
    - CWallet*::mapWallet::size
    - CWallet*::m_address_book::size
    - CWallet*::IsCrypted
    - CWallet*::GetDatabase
    linkageType: ''
    returnType: void
    signature: void WalletShowInfo(CWallet* wallet_instance)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:111,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:112,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:115,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:116,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:119,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:124,1
    - Dst: wallet::WalletTool::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:129,1
    - Dst: wallet::WalletTool::WalletShowInfo
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:131,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:131,1
    - Dst: std::shared_ptr::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:132,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:136,1
    - Dst: wallet::WalletTool::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:138,1
    - Dst: wallet::WalletTool::WalletShowInfo
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:140,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:140,1
    - Dst: std::shared_ptr::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:141,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:144,1
    - Dst: IsBDBFile
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:148,1
    - Dst: BDBDataFile
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:148,1
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:153,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:155,1
    - Dst: DumpWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:159,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:160,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:161,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:164,1
    - Dst: CreateFromDump
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:169,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:171,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:173,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:174,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:178,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - ' args'
    - ' command'
    argTypes:
    - ArgsManager
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 183
    functionName: wallet::WalletTool::ExecuteWalletToolFunc
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - GetWalletDir
    - fs::PathFromString
    - wallet::WalletTool::WalletShowInfo
    - CreateFromDump
    - tinyformat::detail::FormatArg::format
    - std::shared_ptr::get
    - GetArg
    - fsbridge::AbsPathJoin
    - std::shared_ptr::Close
    - IsBDBFile
    - wallet::WalletTool::MakeWallet
    - BDBDataFile
    - DumpWallet
    - bilingual_str::empty
    - MakeDatabase
    - ReadDatabaseArgs
    - IsArgSet
    linkageType: ''
    returnType: bool
    signature: bool ExecuteWalletToolFunc(const ArgsManager& args, const std::string&
      command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CWallet*::WalletLogPrintf
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:25,1
    - Dst: CWallet*::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: wallet::WalletTool::WalletToolReleaseWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::Close
    - CWallet*::WalletLogPrintf
    linkageType: ''
    returnType: void
    signature: void WalletToolReleaseWallet(CWallet* wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:32,1
    - Dst: CWallet*::SetMinVersion
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:34,1
    - Dst: CWallet*::InitWalletFlags
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:35,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:37,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:37,1
    - Dst: CWallet*::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:38,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:40,1
    - Dst: CWallet*::TopUpKeyPool
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - wallet_instance
    - wallet_creation_flags
    argTypes:
    - CWallet*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: wallet::WalletTool::WalletCreate
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 3
    functionsReached:
    - CWallet*::IsWalletFlagSet
    - CWallet*::SetupDescriptorScriptPubKeyMans
    - CWallet*::SetMinVersion
    - tinyformat::detail::FormatArg::format
    - LOCK
    - CWallet*::InitWalletFlags
    - Assert
    - CWallet*::TopUpKeyPool
    linkageType: ''
    returnType: void
    signature: void WalletCreate(CWallet* wallet_instance, uint64_t wallet_creation_flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:48,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:50,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:55,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:55,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:58,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:60,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:66,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:69,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:73,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:77,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:80,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:84,1
    - Dst: wallet::WalletTool::WalletCreate
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:89,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ' name'
    - ' path'
    - options
    argTypes:
    - std::string
    - fs::path
    - DatabaseOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 92
    functionName: wallet::WalletTool::MakeWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 3
    functionsReached:
    - std::shared_ptr::LoadWallet
    - tinyformat::detail::FormatArg::format
    - std::shared_ptr::get
    - std::move
    - wallet::WalletTool::WalletCreate
    - MakeDatabase
    - CWallet::CWallet
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> MakeWallet(const std::string& name, const
      fs::path& path, DatabaseOptions options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:96,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:98,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:99,1
    - Dst: CWallet*::GetName
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:99,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:100,1
    - Dst: CWallet*::GetDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:100,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:101,1
    - Dst: CWallet*::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:101,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:102,1
    - Dst: CWallet*::IsCrypted
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:102,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:103,1
    - Dst: CWallet*::IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:103,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:104,1
    - Dst: CWallet*::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:104,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:105,1
    - Dst: CWallet*::mapWallet::size
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:105,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:106,1
    - Dst: CWallet*::m_address_book::size
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - wallet_instance
    argTypes:
    - CWallet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: wallet::WalletTool::WalletShowInfo
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 3
    functionsReached:
    - CWallet*::IsWalletFlagSet
    - CWallet*::IsHDEnabled
    - CWallet*::GetName
    - tinyformat::detail::FormatArg::format
    - CWallet*::GetKeyPoolSize
    - LOCK
    - CWallet*::mapWallet::size
    - CWallet*::m_address_book::size
    - CWallet*::IsCrypted
    - CWallet*::GetDatabase
    linkageType: ''
    returnType: void
    signature: void WalletShowInfo(CWallet* wallet_instance)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:111,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:112,1
    - Dst: IsArgSet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:115,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:116,1
    - Dst: GetArg
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:119,1
    - Dst: fsbridge::AbsPathJoin
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:120,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:124,1
    - Dst: wallet::WalletTool::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:129,1
    - Dst: wallet::WalletTool::WalletShowInfo
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:131,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:131,1
    - Dst: std::shared_ptr::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:132,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:136,1
    - Dst: wallet::WalletTool::MakeWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:138,1
    - Dst: wallet::WalletTool::WalletShowInfo
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:140,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:140,1
    - Dst: std::shared_ptr::Close
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:141,1
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:144,1
    - Dst: IsBDBFile
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:148,1
    - Dst: BDBDataFile
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:148,1
    - Dst: MakeDatabase
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:153,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:155,1
    - Dst: DumpWallet
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:159,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:160,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:161,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:164,1
    - Dst: CreateFromDump
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:169,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:171,1
    - Dst: bilingual_str::empty
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:173,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:174,1
    - Dst: tinyformat::detail::FormatArg::format
      Src: /src/bitcoin-core/src/wallet/wallettool.cpp:178,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - ' args'
    - ' command'
    argTypes:
    - ArgsManager
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 183
    functionName: wallet::WalletTool::ExecuteWalletToolFunc
    functionSourceFile: /src/bitcoin-core/src/wallet/wallettool.cpp
    functionUses: 0
    functionsReached:
    - GetWalletDir
    - fs::PathFromString
    - wallet::WalletTool::WalletShowInfo
    - CreateFromDump
    - tinyformat::detail::FormatArg::format
    - std::shared_ptr::get
    - GetArg
    - fsbridge::AbsPathJoin
    - std::shared_ptr::Close
    - IsBDBFile
    - wallet::WalletTool::MakeWallet
    - BDBDataFile
    - DumpWallet
    - bilingual_str::empty
    - MakeDatabase
    - ReadDatabaseArgs
    - IsArgSet
    linkageType: ''
    returnType: bool
    signature: bool ExecuteWalletToolFunc(const ArgsManager& args, const std::string&
      command)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/feebumper.h:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - weight
    - sigversion
    argTypes:
    - size_t
    - SigVersion
    assertStmts:
    - condition: (false)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bitcoin-core/src/wallet/feebumper.h
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: wallet::feebumper::AddSigWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AddSigWeight(const size_t weight, const SigVersion sigversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: wallet::feebumper::GetWeightDiffToMax
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetWeightDiffToMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' weights'
    - ' checker'
    argTypes:
    - SignatureWeights
    - BaseSignatureChecker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: wallet::feebumper::SignatureWeightChecker::SignatureWeightChecker
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureWeightChecker(SignatureWeights& weights, const BaseSignatureChecker&
      checker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
      Src: /src/bitcoin-core/src/wallet/feebumper.h:116,1
    - Dst: AddSigWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.h:117,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/feebumper.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' sig'
    - ' pubkey'
    - ' script'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 1
    functionsReached:
    - wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
    - AddSigWeight
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& pubkey, const CScript& script, SigVersion sigversion)
      const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/feebumper.h:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - weight
    - sigversion
    argTypes:
    - size_t
    - SigVersion
    assertStmts:
    - condition: (false)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bitcoin-core/src/wallet/feebumper.h
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: wallet::feebumper::AddSigWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AddSigWeight(const size_t weight, const SigVersion sigversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: wallet::feebumper::GetWeightDiffToMax
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetWeightDiffToMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' weights'
    - ' checker'
    argTypes:
    - SignatureWeights
    - BaseSignatureChecker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: wallet::feebumper::SignatureWeightChecker::SignatureWeightChecker
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureWeightChecker(SignatureWeights& weights, const BaseSignatureChecker&
      checker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
      Src: /src/bitcoin-core/src/wallet/feebumper.h:116,1
    - Dst: AddSigWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.h:117,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/feebumper.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' sig'
    - ' pubkey'
    - ' script'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 2
    functionsReached:
    - wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
    - AddSigWeight
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& pubkey, const CScript& script, SigVersion sigversion)
      const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/feebumper.h:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - weight
    - sigversion
    argTypes:
    - size_t
    - SigVersion
    assertStmts:
    - condition: (false)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bitcoin-core/src/wallet/feebumper.h
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: wallet::feebumper::AddSigWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AddSigWeight(const size_t weight, const SigVersion sigversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: wallet::feebumper::GetWeightDiffToMax
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetWeightDiffToMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' weights'
    - ' checker'
    argTypes:
    - SignatureWeights
    - BaseSignatureChecker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: wallet::feebumper::SignatureWeightChecker::SignatureWeightChecker
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureWeightChecker(SignatureWeights& weights, const BaseSignatureChecker&
      checker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
      Src: /src/bitcoin-core/src/wallet/feebumper.h:116,1
    - Dst: AddSigWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.h:117,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/feebumper.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' sig'
    - ' pubkey'
    - ' script'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 3
    functionsReached:
    - wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
    - AddSigWeight
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& pubkey, const CScript& script, SigVersion sigversion)
      const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/feebumper.h:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - weight
    - sigversion
    argTypes:
    - size_t
    - SigVersion
    assertStmts:
    - condition: (false)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bitcoin-core/src/wallet/feebumper.h
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: wallet::feebumper::AddSigWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AddSigWeight(const size_t weight, const SigVersion sigversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: wallet::feebumper::GetWeightDiffToMax
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetWeightDiffToMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' weights'
    - ' checker'
    argTypes:
    - SignatureWeights
    - BaseSignatureChecker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: wallet::feebumper::SignatureWeightChecker::SignatureWeightChecker
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureWeightChecker(SignatureWeights& weights, const BaseSignatureChecker&
      checker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
      Src: /src/bitcoin-core/src/wallet/feebumper.h:116,1
    - Dst: AddSigWeight
      Src: /src/bitcoin-core/src/wallet/feebumper.h:117,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/feebumper.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' sig'
    - ' pubkey'
    - ' script'
    - sigversion
    argTypes:
    - std::vector<unsigned char>
    - std::vector<unsigned char>
    - CScript
    - SigVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
    functionSourceFile: /src/bitcoin-core/src/wallet/feebumper.h
    functionUses: 4
    functionsReached:
    - wallet::feebumper::SignatureWeightChecker::CheckECDSASignature
    - AddSigWeight
    - size
    linkageType: ''
    returnType: bool
    signature: bool CheckECDSASignature(const std::vector<unsigned char>& sig, const
      std::vector<unsigned char>& pubkey, const CScript& script, SigVersion sigversion)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: wallet::DatabaseCursor::DatabaseCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatabaseCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~DatabaseCursor()
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DatabaseCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: wallet::DatabaseCursor::DatabaseCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatabaseCursor(const DatabaseCursor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const DatabaseCursor&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DatabaseCursor
    signature: DatabaseCursor & operator=(const DatabaseCursor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: wallet::DatabaseCursor::Next
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status Next(DataStream& key, DataStream& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: wallet::DatabaseBatch::DatabaseBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatabaseBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~DatabaseBatch()
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DatabaseBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: wallet::DatabaseBatch::DatabaseBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatabaseBatch(const DatabaseBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& operator=(const DatabaseBatch&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DatabaseBatch
    signature: DatabaseBatch & operator=(const DatabaseBatch&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:71,1
    - Dst: ReadKey
      Src: /src/bitcoin-core/src/wallet/db.h:75,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - K
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: wallet::DatabaseBatch::Read
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached:
    - ReadKey
    - std::move
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Read(const K& key, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:88,1
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:92,1
    - Dst: WriteKey
      Src: /src/bitcoin-core/src/wallet/db.h:95,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:95,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - K
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: wallet::DatabaseBatch::Write
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached:
    - WriteKey
    - std::move
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Write(const K& key, const T& value, bool fOverwrite = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:102,1
    - Dst: EraseKey
      Src: /src/bitcoin-core/src/wallet/db.h:105,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: wallet::DatabaseBatch::Erase
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached:
    - EraseKey
    - std::move
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Erase(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:112,1
    - Dst: HasKey
      Src: /src/bitcoin-core/src/wallet/db.h:115,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: wallet::DatabaseBatch::Exists
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached:
    - HasKey
    - std::move
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Exists(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: wallet::WalletDatabase::WalletDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletDatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~WalletDatabase()
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WalletDatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: wallet::DatabaseCursor::DatabaseCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatabaseCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~DatabaseCursor()
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DatabaseCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: wallet::DatabaseCursor::DatabaseCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatabaseCursor(const DatabaseCursor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const DatabaseCursor&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DatabaseCursor
    signature: DatabaseCursor & operator=(const DatabaseCursor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: wallet::DatabaseCursor::Next
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status Next(DataStream& key, DataStream& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: wallet::DatabaseBatch::DatabaseBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatabaseBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~DatabaseBatch()
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DatabaseBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: wallet::DatabaseBatch::DatabaseBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatabaseBatch(const DatabaseBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& operator=(const DatabaseBatch&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DatabaseBatch
    signature: DatabaseBatch & operator=(const DatabaseBatch&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:71,1
    - Dst: ReadKey
      Src: /src/bitcoin-core/src/wallet/db.h:75,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - K
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: wallet::DatabaseBatch::Read
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached:
    - ReadKey
    - std::move
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Read(const K& key, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:88,1
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:92,1
    - Dst: WriteKey
      Src: /src/bitcoin-core/src/wallet/db.h:95,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:95,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - K
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: wallet::DatabaseBatch::Write
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached:
    - WriteKey
    - std::move
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Write(const K& key, const T& value, bool fOverwrite = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:102,1
    - Dst: EraseKey
      Src: /src/bitcoin-core/src/wallet/db.h:105,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: wallet::DatabaseBatch::Erase
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached:
    - EraseKey
    - std::move
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Erase(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DataStream::reserve
      Src: /src/bitcoin-core/src/wallet/db.h:112,1
    - Dst: HasKey
      Src: /src/bitcoin-core/src/wallet/db.h:115,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/db.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: wallet::DatabaseBatch::Exists
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached:
    - HasKey
    - std::move
    - DataStream::reserve
    linkageType: ''
    returnType: bool
    signature: bool Exists(const K& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: wallet::WalletDatabase::WalletDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletDatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~WalletDatabase()
    functionSourceFile: /src/bitcoin-core/src/wallet/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WalletDatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: wallet::SQLiteCursor::SQLiteCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLiteCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/sqlite.h:33,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/sqlite.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start_range
    - end_range
    argTypes:
    - std::vector<std::byte>
    - std::vector<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: wallet::SQLiteCursor::SQLiteCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SQLiteCursor(std::vector<std::byte> start_range, std::vector<std::byte>
      end_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~SQliteExecHandler()
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SQliteExecHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/wallet/sqlite.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ~SQLiteBatch() override
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~SQLiteBatch() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/sqlite.h:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - std::unique_ptr<SQliteExecHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: wallet::SQLiteBatch::SetExecHandler
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetExecHandler(std::unique_ptr<SQliteExecHandler>&& handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: wallet::SQLiteBatch::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasActiveTxn() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: wallet::SQLiteDatabase::SQLiteDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: wallet::SQLiteDatabase::Filename
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Filename() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/sqlite.h:154,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/sqlite.h:154,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/sqlite.h:155,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/sqlite.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: wallet::SQLiteDatabase::Files
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached:
    - fs::PathFromString
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<fs::path>
    signature: std::vector<fs::path> Files() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: wallet::SQLiteDatabase::Format
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Format() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: wallet::SQLiteCursor::SQLiteCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLiteCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/sqlite.h:33,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/sqlite.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start_range
    - end_range
    argTypes:
    - std::vector<std::byte>
    - std::vector<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: wallet::SQLiteCursor::SQLiteCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SQLiteCursor(std::vector<std::byte> start_range, std::vector<std::byte>
      end_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~SQliteExecHandler()
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SQliteExecHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/wallet/sqlite.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ~SQLiteBatch() override
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~SQLiteBatch() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/sqlite.h:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' handler'
    argTypes:
    - std::unique_ptr<SQliteExecHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: wallet::SQLiteBatch::SetExecHandler
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetExecHandler(std::unique_ptr<SQliteExecHandler>&& handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: wallet::SQLiteBatch::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasActiveTxn() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: wallet::SQLiteDatabase::SQLiteDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: wallet::SQLiteDatabase::Filename
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Filename() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/sqlite.h:154,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/sqlite.h:154,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/sqlite.h:155,1
    - Dst: fs::PathFromString
      Src: /src/bitcoin-core/src/wallet/sqlite.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: wallet::SQLiteDatabase::Files
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached:
    - fs::PathFromString
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<fs::path>
    signature: std::vector<fs::path> Files() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: wallet::SQLiteDatabase::Format
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Format() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: wallet::WalletContext::WalletContext
    functionSourceFile: /src/bitcoin-core/src/wallet/context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletContext::WalletContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: WalletContext::~WalletContext()
    functionSourceFile: /src/bitcoin-core/src/wallet/context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletContext::~WalletContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: wallet::WalletContext::WalletContext
    functionSourceFile: /src/bitcoin-core/src/wallet/context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletContext::WalletContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: WalletContext::~WalletContext()
    functionSourceFile: /src/bitcoin-core/src/wallet/context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletContext::~WalletContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - expected_page_num
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: wallet::MetaPage::MetaPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetaPage(uint32_t expected_page_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: wallet::MetaPage::MetaPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetaPage()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PageType>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:125,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:138,1
    - Dst: static_cast<BTreeFlags>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:140,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:155,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:156,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:157,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:158,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:159,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:160,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:161,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:162,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:163,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:164,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:165,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:166,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:167,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:168,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:169,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:170,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:171,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:176,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:181,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:186,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:191,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:196,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:201,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 203
    functionName: wallet::MetaPage::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PageType>
    - std::runtime_error
    - static_cast<BTreeFlags>
    - internal_bswap_32
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other_endian
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: wallet::RecordHeader::RecordHeader
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordHeader(bool other_endian)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: wallet::RecordHeader::RecordHeader
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordHeader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecordType>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:228,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:228,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:229,1
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: wallet::RecordHeader::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - static_cast<RecordType>
    - internal_bswap_16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - RecordHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: wallet::DataRecord::DataRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataRecord(const RecordHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: wallet::DataRecord::DataRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:251,1
    - Dst: read
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: wallet::DataRecord::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - read
    - size
    - data
    - std::span
    - std::as_writable_bytes
    - resize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - RecordHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: wallet::InternalRecord::InternalRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalRecord(const RecordHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: wallet::InternalRecord::InternalRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalRecord()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:279,1
    - Dst: read
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:283,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 286
    functionName: wallet::InternalRecord::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - read
    - size
    - data
    - std::span
    - std::as_writable_bytes
    - resize
    - internal_bswap_32
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - RecordHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: wallet::OverflowRecord::OverflowRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverflowRecord(const RecordHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: wallet::OverflowRecord::OverflowRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverflowRecord()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:315,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: wallet::OverflowRecord::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - internal_bswap_32
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page_num
    - other_endian
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: wallet::PageHeader::PageHeader
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageHeader(uint32_t page_num, bool other_endian)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: wallet::PageHeader::PageHeader
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageHeader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PageType>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:357,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:360,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:361,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:362,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:363,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:364,1
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:365,1
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:366,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:370,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 375
    functionName: wallet::PageHeader::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PageType>
    - std::runtime_error
    - internal_bswap_32
    - internal_bswap_16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - PageHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: wallet::RecordsPage::RecordsPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordsPage(const PageHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: wallet::RecordsPage::RecordsPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordsPage()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:402,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:404,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:410,1
    - Dst: ignore
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:412,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:423,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:430,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:435,1
    - Dst: seek
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 441
    functionName: wallet::RecordsPage::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::runtime_error
    - ignore
    - emplace_back
    - seek
    - internal_bswap_16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - PageHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: wallet::OverflowPage::OverflowPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverflowPage(const PageHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: wallet::OverflowPage::OverflowPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverflowPage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:463,1
    - Dst: read
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: wallet::OverflowPage::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - read
    - size
    - data
    - std::span
    - std::as_writable_bytes
    - resize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - PageHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: wallet::InternalPage::InternalPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalPage(const PageHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: wallet::InternalPage::InternalPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalPage()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:492,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:494,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:500,1
    - Dst: ignore
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:502,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:510,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:514,1
    - Dst: seek
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 520
    functionName: wallet::InternalPage::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::runtime_error
    - ignore
    - emplace_back
    - seek
    - internal_bswap_16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seek
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' s'
    - page_num
    - page_size
    argTypes:
    - AutoFile
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: wallet::SeekToPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - seek
    linkageType: ''
    returnType: void
    signature: void SeekToPage(AutoFile& s, uint32_t page_num, uint32_t page_size)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:532,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:534,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:535,1
    - Dst: AutoFile::seek
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:547,1
    - Dst: AutoFile::tell
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:548,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:561,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:566,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:576,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:579,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:580,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:583,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:588,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:592,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:595,1
    - Dst: std::holds_alternative<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:601,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:601,1
    - Dst: std::get<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:601,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:601,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:602,1
    - Dst: std::holds_alternative<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:605,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:605,1
    - Dst: std::get<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:605,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:605,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:606,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:611,1
    - Dst: std::get<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:611,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:611,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:611,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:615,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:619,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:624,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:628,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:633,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:638,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:639,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:646,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:647,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:656,1
    - Dst: RecordsPage::records::size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:663,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:665,1
    - Dst: std::get_if<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:671,1
    - Dst: std::get_if<OverflowRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:674,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:678,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:682,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:686,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:686,1
    - Dst: OverflowPage::data::begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:686,1
    - Dst: OverflowPage::data::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:686,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:695,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:702,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 705
    functionName: wallet::BerkeleyRODatabase::Open
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<DataRecord>
    - AutoFile::IsNull
    - data
    - AutoFile::seek
    - std::vector::push_back
    - std::vector::end
    - RecordsPage::records::size
    - ReadBE32
    - std::vector::back
    - std::runtime_error
    - AutoFile::tell
    - std::vector::insert
    - OverflowPage::data::end
    - std::vector::pop_back
    - std::vector::size
    - internal_bswap_32
    - OverflowPage::data::begin
    - emplace
    - std::get_if<OverflowRecord>
    - SeekToPage
    - std::get_if<DataRecord>
    - RecordsPage::records::at
    - std::vector::clear
    - std::get<DataRecord>
    - fsbridge::fopen
    - std::vector::begin
    linkageType: ''
    returnType: void
    signature: void BerkeleyRODatabase::Open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BerkeleyROBatch>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: wallet::BerkeleyRODatabase::MakeBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BerkeleyROBatch>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseBatch>
    signature: std::unique_ptr<DatabaseBatch> BerkeleyRODatabase::MakeBatch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:717,1
    - Dst: BDBDataFile
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:718,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:721,1
    - Dst: fs::equivalent
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:721,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:722,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:722,1
    - Dst: fs::copy_file
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:726,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:727,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:727,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:727,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:730,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:730,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:730,1
    - Dst: code
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 733
    functionName: wallet::BerkeleyRODatabase::Backup
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - code
    - fs::copy_file
    - fs::exists
    - fs::is_directory
    - BDBDataFile
    - LogPrintf
    - LogWarning
    - fs::equivalent
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool BerkeleyRODatabase::Backup(const std::string& dest) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:737,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:737,1
    - Dst: m_records::find
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:738,1
    - Dst: m_records::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:739,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:743,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:744,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: wallet::BerkeleyROBatch::ReadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - end
    - write
    - m_records::find
    - clear
    - m_records::end
    - std::span
    - begin
    linkageType: ''
    returnType: bool
    signature: bool BerkeleyROBatch::ReadKey(DataStream&& key, DataStream& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:750,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:750,1
    - Dst: m_records::count
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: wallet::BerkeleyROBatch::HasKey
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - end
    - m_records::count
    - begin
    linkageType: ''
    returnType: bool
    signature: bool BerkeleyROBatch::HasKey(DataStream&& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:757,1
    - Dst: m_records::equal_range
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' database'
    - prefix
    argTypes:
    - BerkeleyRODatabase
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: wallet::BerkeleyROCursor::BerkeleyROCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - m_records::equal_range
    linkageType: ''
    returnType: void
    signature: void BerkeleyROCursor::BerkeleyROCursor(const BerkeleyRODatabase& database,
      std::span<const std::byte> prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:765,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:765,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:766,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' ssKey'
    - ' ssValue'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 769
    functionName: wallet::BerkeleyROCursor::Next
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - write
    linkageType: ''
    returnType: DatabaseCursor::Status
    signature: DatabaseCursor::Status BerkeleyROCursor::Next(DataStream& ssKey, DataStream&
      ssValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BerkeleyROCursor>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: wallet::BerkeleyROBatch::GetNewPrefixCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BerkeleyROCursor>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> BerkeleyROBatch::GetNewPrefixCursor(std::span<const
      std::byte> prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::BDBDataFile
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:778,1
    - Dst: std::make_unique<BerkeleyRODatabase>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:780,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' path'
    - ' options'
    - ' status'
    - ' error'
    argTypes:
    - fs::path
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 788
    functionName: wallet::MakeBerkeleyRODatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 2
    functionsReached:
    - wallet::BDBDataFile
    - std::make_unique<BerkeleyRODatabase>
    - what
    linkageType: ''
    returnType: std::unique_ptr<BerkeleyRODatabase>
    signature: std::unique_ptr<BerkeleyRODatabase> MakeBerkeleyRODatabase(const fs::path&
      path, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str&
      error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - expected_page_num
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: wallet::MetaPage::MetaPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetaPage(uint32_t expected_page_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: wallet::MetaPage::MetaPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetaPage()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PageType>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:125,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:138,1
    - Dst: static_cast<BTreeFlags>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:140,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:155,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:156,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:157,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:158,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:159,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:160,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:161,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:162,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:163,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:164,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:165,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:166,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:167,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:168,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:169,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:170,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:171,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:176,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:181,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:186,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:191,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:196,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:201,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 203
    functionName: wallet::MetaPage::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PageType>
    - std::runtime_error
    - static_cast<BTreeFlags>
    - internal_bswap_32
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other_endian
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: wallet::RecordHeader::RecordHeader
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordHeader(bool other_endian)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: wallet::RecordHeader::RecordHeader
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordHeader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecordType>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:228,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:228,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:229,1
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: wallet::RecordHeader::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - static_cast<RecordType>
    - internal_bswap_16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - RecordHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: wallet::DataRecord::DataRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataRecord(const RecordHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: wallet::DataRecord::DataRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:251,1
    - Dst: read
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: wallet::DataRecord::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - read
    - size
    - data
    - std::span
    - std::as_writable_bytes
    - resize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - RecordHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: wallet::InternalRecord::InternalRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalRecord(const RecordHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: wallet::InternalRecord::InternalRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalRecord()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:279,1
    - Dst: read
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:280,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:283,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 286
    functionName: wallet::InternalRecord::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - read
    - size
    - data
    - std::span
    - std::as_writable_bytes
    - resize
    - internal_bswap_32
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - RecordHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: wallet::OverflowRecord::OverflowRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverflowRecord(const RecordHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: wallet::OverflowRecord::OverflowRecord
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverflowRecord()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:315,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: wallet::OverflowRecord::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - internal_bswap_32
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page_num
    - other_endian
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: wallet::PageHeader::PageHeader
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageHeader(uint32_t page_num, bool other_endian)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: wallet::PageHeader::PageHeader
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageHeader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PageType>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:357,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:360,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:361,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:362,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:363,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:364,1
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:365,1
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:366,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:370,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 375
    functionName: wallet::PageHeader::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PageType>
    - std::runtime_error
    - internal_bswap_32
    - internal_bswap_16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - PageHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: wallet::RecordsPage::RecordsPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordsPage(const PageHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: wallet::RecordsPage::RecordsPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordsPage()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:402,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:404,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:410,1
    - Dst: ignore
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:412,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:423,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:430,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:435,1
    - Dst: seek
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 441
    functionName: wallet::RecordsPage::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::runtime_error
    - ignore
    - emplace_back
    - seek
    - internal_bswap_16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - PageHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: wallet::OverflowPage::OverflowPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverflowPage(const PageHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: wallet::OverflowPage::OverflowPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverflowPage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:463,1
    - Dst: read
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    - Dst: std::as_writable_bytes
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: wallet::OverflowPage::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - read
    - size
    - data
    - std::span
    - std::as_writable_bytes
    - resize
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - PageHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: wallet::InternalPage::InternalPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalPage(const PageHeader& header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: wallet::InternalPage::InternalPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalPage()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: internal_bswap_16
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:492,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:494,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:500,1
    - Dst: ignore
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:502,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:510,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:514,1
    - Dst: seek
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 520
    functionName: wallet::InternalPage::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::runtime_error
    - ignore
    - emplace_back
    - seek
    - internal_bswap_16
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seek
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' s'
    - page_num
    - page_size
    argTypes:
    - AutoFile
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: wallet::SeekToPage
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - seek
    linkageType: ''
    returnType: void
    signature: void SeekToPage(AutoFile& s, uint32_t page_num, uint32_t page_size)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: fsbridge::fopen
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:532,1
    - Dst: AutoFile::IsNull
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:534,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:535,1
    - Dst: AutoFile::seek
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:547,1
    - Dst: AutoFile::tell
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:548,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:561,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:566,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:576,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:579,1
    - Dst: internal_bswap_32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:580,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:583,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:588,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:592,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:595,1
    - Dst: std::holds_alternative<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:601,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:601,1
    - Dst: std::get<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:601,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:601,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:602,1
    - Dst: std::holds_alternative<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:605,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:605,1
    - Dst: std::get<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:605,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:605,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:606,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:611,1
    - Dst: std::get<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:611,1
    - Dst: RecordsPage::records::at
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:611,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:611,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:615,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:619,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:624,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:628,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:633,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:638,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:639,1
    - Dst: std::vector::pop_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:646,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:647,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:656,1
    - Dst: RecordsPage::records::size
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:663,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:665,1
    - Dst: std::get_if<DataRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:671,1
    - Dst: std::get_if<OverflowRecord>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:674,1
    - Dst: SeekToPage
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:678,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:682,1
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:686,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:686,1
    - Dst: OverflowPage::data::begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:686,1
    - Dst: OverflowPage::data::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:686,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:694,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:695,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:702,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 705
    functionName: wallet::BerkeleyRODatabase::Open
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<DataRecord>
    - AutoFile::IsNull
    - data
    - AutoFile::seek
    - std::vector::push_back
    - std::vector::end
    - RecordsPage::records::size
    - ReadBE32
    - std::vector::back
    - std::runtime_error
    - AutoFile::tell
    - std::vector::insert
    - OverflowPage::data::end
    - std::vector::pop_back
    - std::vector::size
    - internal_bswap_32
    - OverflowPage::data::begin
    - emplace
    - std::get_if<OverflowRecord>
    - SeekToPage
    - std::get_if<DataRecord>
    - RecordsPage::records::at
    - std::vector::clear
    - std::get<DataRecord>
    - fsbridge::fopen
    - std::vector::begin
    linkageType: ''
    returnType: void
    signature: void BerkeleyRODatabase::Open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BerkeleyROBatch>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: wallet::BerkeleyRODatabase::MakeBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BerkeleyROBatch>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseBatch>
    signature: std::unique_ptr<DatabaseBatch> BerkeleyRODatabase::MakeBatch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:717,1
    - Dst: BDBDataFile
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:718,1
    - Dst: fs::exists
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:721,1
    - Dst: fs::equivalent
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:721,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:722,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:722,1
    - Dst: fs::copy_file
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:726,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:727,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:727,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:727,1
    - Dst: LogWarning
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:730,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:730,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:730,1
    - Dst: code
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 733
    functionName: wallet::BerkeleyRODatabase::Backup
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - code
    - fs::copy_file
    - fs::exists
    - fs::is_directory
    - BDBDataFile
    - LogPrintf
    - LogWarning
    - fs::equivalent
    - fs::PathToString
    linkageType: ''
    returnType: bool
    signature: bool BerkeleyRODatabase::Backup(const std::string& dest) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:737,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:737,1
    - Dst: m_records::find
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:738,1
    - Dst: m_records::end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:739,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:743,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:744,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: wallet::BerkeleyROBatch::ReadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - end
    - write
    - m_records::find
    - clear
    - m_records::end
    - std::span
    - begin
    linkageType: ''
    returnType: bool
    signature: bool BerkeleyROBatch::ReadKey(DataStream&& key, DataStream& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:750,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:750,1
    - Dst: m_records::count
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: wallet::BerkeleyROBatch::HasKey
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - end
    - m_records::count
    - begin
    linkageType: ''
    returnType: bool
    signature: bool BerkeleyROBatch::HasKey(DataStream&& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:757,1
    - Dst: m_records::equal_range
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' database'
    - prefix
    argTypes:
    - BerkeleyRODatabase
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: wallet::BerkeleyROCursor::BerkeleyROCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - m_records::equal_range
    linkageType: ''
    returnType: void
    signature: void BerkeleyROCursor::BerkeleyROCursor(const BerkeleyRODatabase& database,
      std::span<const std::byte> prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:765,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:765,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:766,1
    - Dst: std::span
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' ssKey'
    - ' ssValue'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 769
    functionName: wallet::BerkeleyROCursor::Next
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - write
    linkageType: ''
    returnType: DatabaseCursor::Status
    signature: DatabaseCursor::Status BerkeleyROCursor::Next(DataStream& ssKey, DataStream&
      ssValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BerkeleyROCursor>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: wallet::BerkeleyROBatch::GetNewPrefixCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BerkeleyROCursor>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> BerkeleyROBatch::GetNewPrefixCursor(std::span<const
      std::byte> prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::BDBDataFile
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:778,1
    - Dst: std::make_unique<BerkeleyRODatabase>
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:780,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/migrate.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' path'
    - ' options'
    - ' status'
    - ' error'
    argTypes:
    - fs::path
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 788
    functionName: wallet::MakeBerkeleyRODatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.cpp
    functionUses: 2
    functionsReached:
    - wallet::BDBDataFile
    - std::make_unique<BerkeleyRODatabase>
    - what
    linkageType: ''
    returnType: std::unique_ptr<BerkeleyRODatabase>
    signature: std::unique_ptr<BerkeleyRODatabase> MakeBerkeleyRODatabase(const fs::path&
      path, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str&
      error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::BerkeleyRODatabase::Open
      Src: /src/bitcoin-core/src/wallet/migrate.h:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' filepath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: wallet::BerkeleyRODatabase::BerkeleyRODatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached:
    - wallet::BerkeleyRODatabase::Open
    linkageType: ''
    returnType: void
    signature: void BerkeleyRODatabase(const fs::path& filepath, bool open = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~BerkeleyRODatabase()
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BerkeleyRODatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: wallet::BerkeleyRODatabase::Rewrite
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Rewrite() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: wallet::BerkeleyRODatabase::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: wallet::BerkeleyRODatabase::Filename
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached:
    - fs::PathToString
    linkageType: ''
    returnType: std::string
    signature: std::string Filename() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: wallet::BerkeleyRODatabase::Files
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<fs::path>
    signature: std::vector<fs::path> Files() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: wallet::BerkeleyRODatabase::Format
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Format() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~BerkeleyROCursor()
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BerkeleyROCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: wallet::BerkeleyROBatch::WriteKey
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WriteKey(DataStream&& key, DataStream&& value, bool overwrite
      = true) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: wallet::BerkeleyROBatch::EraseKey
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EraseKey(DataStream&& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: wallet::BerkeleyROBatch::ErasePrefix
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ErasePrefix(std::span<const std::byte> prefix) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' database'
    argTypes:
    - BerkeleyRODatabase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: wallet::BerkeleyROBatch::BerkeleyROBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BerkeleyROBatch(const BerkeleyRODatabase& database)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: ~BerkeleyROBatch()
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BerkeleyROBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: wallet::BerkeleyROBatch::BerkeleyROBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BerkeleyROBatch(const BerkeleyROBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(const BerkeleyROBatch&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BerkeleyROBatch
    signature: BerkeleyROBatch & operator=(const BerkeleyROBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: wallet::BerkeleyROBatch::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BerkeleyROCursor>
      Src: /src/bitcoin-core/src/wallet/migrate.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: wallet::BerkeleyROBatch::GetNewCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached:
    - std::make_unique<BerkeleyROCursor>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> GetNewCursor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: wallet::BerkeleyROBatch::TxnBegin
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnBegin() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: wallet::BerkeleyROBatch::TxnCommit
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnCommit() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: wallet::BerkeleyROBatch::TxnAbort
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnAbort() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: wallet::BerkeleyROBatch::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasActiveTxn() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::BerkeleyRODatabase::Open
      Src: /src/bitcoin-core/src/wallet/migrate.h:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' filepath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: wallet::BerkeleyRODatabase::BerkeleyRODatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached:
    - wallet::BerkeleyRODatabase::Open
    linkageType: ''
    returnType: void
    signature: void BerkeleyRODatabase(const fs::path& filepath, bool open = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~BerkeleyRODatabase()
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BerkeleyRODatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: wallet::BerkeleyRODatabase::Rewrite
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Rewrite() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: wallet::BerkeleyRODatabase::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/migrate.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: wallet::BerkeleyRODatabase::Filename
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached:
    - fs::PathToString
    linkageType: ''
    returnType: std::string
    signature: std::string Filename() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: wallet::BerkeleyRODatabase::Files
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<fs::path>
    signature: std::vector<fs::path> Files() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: wallet::BerkeleyRODatabase::Format
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Format() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~BerkeleyROCursor()
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BerkeleyROCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: wallet::BerkeleyROBatch::WriteKey
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WriteKey(DataStream&& key, DataStream&& value, bool overwrite
      = true) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: wallet::BerkeleyROBatch::EraseKey
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EraseKey(DataStream&& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: wallet::BerkeleyROBatch::ErasePrefix
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ErasePrefix(std::span<const std::byte> prefix) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' database'
    argTypes:
    - BerkeleyRODatabase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: wallet::BerkeleyROBatch::BerkeleyROBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BerkeleyROBatch(const BerkeleyRODatabase& database)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: ~BerkeleyROBatch()
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BerkeleyROBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: wallet::BerkeleyROBatch::BerkeleyROBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BerkeleyROBatch(const BerkeleyROBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(const BerkeleyROBatch&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BerkeleyROBatch
    signature: BerkeleyROBatch & operator=(const BerkeleyROBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: wallet::BerkeleyROBatch::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BerkeleyROCursor>
      Src: /src/bitcoin-core/src/wallet/migrate.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: wallet::BerkeleyROBatch::GetNewCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached:
    - std::make_unique<BerkeleyROCursor>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> GetNewCursor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: wallet::BerkeleyROBatch::TxnBegin
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnBegin() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: wallet::BerkeleyROBatch::TxnCommit
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnCommit() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: wallet::BerkeleyROBatch::TxnAbort
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnAbort() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: wallet::BerkeleyROBatch::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/migrate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasActiveTxn() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:61,1
    - Dst: WalletTx::txin_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:64,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:64,1
    - Dst: WalletTx::txin_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:66,1
    - Dst: wallet::InputIsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:66,1
    - Dst: WalletTx::txout_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:68,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:68,1
    - Dst: WalletTx::txout_address::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:69,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:69,1
    - Dst: WalletTx::txout_address_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:70,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:70,1
    - Dst: WalletTx::txout_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:72,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:72,1
    - Dst: WalletTx::txout_is_change::push_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:73,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:73,1
    - Dst: WalletTx::txout_address::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:74,1
    - Dst: WalletTx::txout_address_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: WalletTx::txout_address::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:76,1
    - Dst: WalletTx::txout_address::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:76,1
    - Dst: wallet::CachedTxGetCredit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:79,1
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:80,1
    - Dst: wallet::CachedTxGetChange
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:81,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:82,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ' wallet'
    - ' wtx'
    argTypes:
    - CWallet
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 8
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: wallet::MakeWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::OutputIsChange
    - tx::vout::size
    - WalletTx::txout_address::back
    - WalletTx::txout_address_is_mine::emplace_back
    - wallet::CachedTxGetChange
    - WalletTx::txin_is_mine::reserve
    - WalletTx::txout_address_is_mine::reserve
    - IsMine
    - WalletTx::txout_is_change::push_back
    - WalletTx::txout_is_mine::reserve
    - tx::vin::size
    - wallet::CachedTxGetDebit
    - WalletTx::txout_address::emplace_back
    - wallet::CachedTxGetCredit
    - WalletTx::txout_address::reserve
    - wallet::InputIsMine
    - WalletTx::txout_is_mine::emplace_back
    - ExtractDestination
    - GetTxTime
    - LOCK
    - IsCoinBase
    - WalletTx::txin_is_mine::emplace_back
    linkageType: ''
    returnType: WalletTx
    signature: WalletTx MakeWalletTx(CWallet& wallet, const CWalletTx& wtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: wallet::WalletImpl::WalletImpl
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletImpl(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncryptWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet_passphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: wallet::WalletImpl::encryptWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - EncryptWallet
    linkageType: ''
    returnType: bool
    signature: bool encryptWallet(const SecureString& wallet_passphrase) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: wallet::WalletImpl::isCrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsCrypted
    linkageType: ''
    returnType: bool
    signature: bool isCrypted() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: wallet::WalletImpl::lock
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool lock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unlock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet_passphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: wallet::WalletImpl::unlock
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 2
    functionsReached:
    - Unlock
    linkageType: ''
    returnType: bool
    signature: bool unlock(const SecureString& wallet_passphrase) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: wallet::WalletImpl::isLocked
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsLocked
    linkageType: ''
    returnType: bool
    signature: bool isLocked() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChangeWalletPassphrase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' old_wallet_passphrase'
    - ' new_wallet_passphrase'
    argTypes:
    - SecureString
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: wallet::WalletImpl::changeWalletPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ChangeWalletPassphrase
    linkageType: ''
    returnType: bool
    signature: "bool changeWalletPassphrase(const SecureString& old_wallet_passphrase,\n
      \       const SecureString& new_wallet_passphrase) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbortRescan
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: wallet::WalletImpl::abortRescan
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - AbortRescan
    linkageType: ''
    returnType: void
    signature: void abortRescan() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BackupWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: wallet::WalletImpl::backupWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BackupWallet
    linkageType: ''
    returnType: bool
    signature: bool backupWallet(const std::string& filename) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: wallet::WalletImpl::getWalletName
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetName
    linkageType: ''
    returnType: std::string
    signature: std::string getWalletName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:158,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' label'
    argTypes:
    - OutputType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: wallet::WalletImpl::getNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetNewDestination
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> getNewDestination(const OutputType type,
      const std::string& label) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:163,1
    - Dst: std::unique_ptr::GetPubKey
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' script'
    - ' address'
    - ' pub_key'
    argTypes:
    - CScript
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: wallet::WalletImpl::getPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPubKey
    - GetSolvingProvider
    linkageType: ''
    returnType: bool
    signature: bool getPubKey(const CScript& script, const CKeyID& address, CPubKey&
      pub_key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignMessage
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' message'
    - ' pkhash'
    - ' str_sig'
    argTypes:
    - std::string
    - PKHash
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: wallet::WalletImpl::signMessage
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SignMessage
    linkageType: ''
    returnType: SigningResult
    signature: SigningResult signMessage(const std::string& message, const PKHash&
      pkhash, std::string& str_sig) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:175,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: wallet::WalletImpl::isSpendable
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsMine
    linkageType: ''
    returnType: bool
    signature: bool isSpendable(const CTxDestination& dest) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAddressBook
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' dest'
    - ' name'
    - ' purpose'
    argTypes:
    - CTxDestination
    - std::string
    - std::optional<AddressPurpose>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: wallet::WalletImpl::setAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SetAddressBook
    linkageType: ''
    returnType: bool
    signature: bool setAddressBook(const CTxDestination& dest, const std::string&
      name, const std::optional<AddressPurpose>& purpose) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelAddressBook
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: wallet::WalletImpl::delAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - DelAddressBook
    linkageType: ''
    returnType: bool
    signature: bool delAddressBook(const CTxDestination& dest) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:191,1
    - Dst: FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:192,1
    - Dst: GetLabel
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:195,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:199,1
    - Dst: purpose::value_or
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ' dest'
    - name
    - is_mine
    - purpose
    argTypes:
    - CTxDestination
    - std::string*
    - isminetype*
    - AddressPurpose*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: wallet::WalletImpl::getAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetLabel
    - LOCK
    - IsMine
    - FindAddressBookEntry
    - purpose::value_or
    linkageType: ''
    returnType: bool
    signature: "bool getAddress(const CTxDestination& dest,\n        std::string*
      name,\n        isminetype* is_mine,\n        AddressPurpose* purpose) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:212,1
    - Dst: ForEachAddrBookEntry
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:214,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:214,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:218,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: wallet::WalletImpl::getAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ForEachAddrBookEntry
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - IsMine
    - value_or
    linkageType: ''
    returnType: std::vector<WalletAddress>
    signature: std::vector<WalletAddress> getAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:223,1
    - Dst: GetAddressReceiveRequests
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: wallet::WalletImpl::getAddressReceiveRequests
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetAddressReceiveRequests
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> getAddressReceiveRequests() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:239,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:240,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:241,1
    - Dst: EraseAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:241,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' dest'
    - ' id'
    - ' value'
    argTypes:
    - CTxDestination
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: wallet::WalletImpl::setAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - EraseAddressReceiveRequest
    - empty
    - LOCK
    - GetDatabase
    - SetAddressReceiveRequest
    linkageType: ''
    returnType: bool
    signature: bool setAddressReceiveRequest(const CTxDestination& dest, const std::string&
      id, const std::string& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:246,1
    - Dst: DisplayAddress
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: wallet::WalletImpl::displayAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - DisplayAddress
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> displayAddress(const CTxDestination& dest) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:251,1
    - Dst: LockCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' output'
    - write_to_db
    argTypes:
    - COutPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: wallet::WalletImpl::lockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LockCoin
    linkageType: ''
    returnType: bool
    signature: bool lockCoin(const COutPoint& output, const bool write_to_db) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:256,1
    - Dst: UnlockCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: wallet::WalletImpl::unlockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - UnlockCoin
    linkageType: ''
    returnType: bool
    signature: bool unlockCoin(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:261,1
    - Dst: IsLockedCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: wallet::WalletImpl::isLockedCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsLockedCoin
    linkageType: ''
    returnType: bool
    signature: bool isLockedCoin(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:266,1
    - Dst: ListLockedCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' outputs'
    argTypes:
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: wallet::WalletImpl::listLockedCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - ListLockedCoins
    linkageType: ''
    returnType: void
    signature: void listLockedCoins(std::vector<COutPoint>& outputs) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:275,1
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:276,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:276,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ' recipients'
    - ' coin_control'
    - sign
    - ' change_pos'
    - ' fee'
    argTypes:
    - std::vector<CRecipient>
    - CCoinControl
    - bool
    - int
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: wallet::WalletImpl::createTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CreateTransaction
    - std::make_optional
    - util::ErrorString
    linkageType: ''
    returnType: util::Result<CTransactionRef>
    signature: "util::Result<CTransactionRef> createTransaction(const std::vector<CRecipient>&
      recipients,\n        const CCoinControl& coin_control,\n        bool sign,\n
      \       int& change_pos,\n        CAmount& fee) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:289,1
    - Dst: CommitTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tx
    - value_map
    - order_form
    argTypes:
    - CTransactionRef
    - WalletValueMap
    - WalletOrderForm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: wallet::WalletImpl::commitTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CommitTransaction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void commitTransaction(CTransactionRef tx,\n        WalletValueMap
      value_map,\n        WalletOrderForm order_form) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionCanBeAbandoned
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: wallet::WalletImpl::transactionCanBeAbandoned
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - TransactionCanBeAbandoned
    linkageType: ''
    returnType: bool
    signature: bool transactionCanBeAbandoned(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:295,1
    - Dst: AbandonTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: wallet::WalletImpl::abandonTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AbandonTransaction
    linkageType: ''
    returnType: bool
    signature: bool abandonTransaction(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::TransactionCanBeBumped
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:300,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: wallet::WalletImpl::transactionCanBeBumped
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::TransactionCanBeBumped
    - get
    linkageType: ''
    returnType: bool
    signature: bool transactionCanBeBumped(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CreateRateBumpTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:310,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' txid'
    - ' coin_control'
    - ' errors'
    - ' old_fee'
    - ' new_fee'
    - ' mtx'
    argTypes:
    - Txid
    - CCoinControl
    - std::vector<bilingual_str>
    - CAmount
    - CAmount
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 11
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: wallet::WalletImpl::createBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CreateRateBumpTransaction
    - get
    linkageType: ''
    returnType: bool
    signature: "bool createBumpTransaction(const Txid& txid,\n        const CCoinControl&
      coin_control,\n        std::vector<bilingual_str>& errors,\n        CAmount&
      old_fee,\n        CAmount& new_fee,\n        CMutableTransaction& mtx) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:312,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mtx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: wallet::WalletImpl::signBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - get
    - wallet::feebumper::SignTransaction
    linkageType: ''
    returnType: bool
    signature: bool signBumpTransaction(CMutableTransaction& mtx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - ' txid'
    - ' mtx'
    - ' errors'
    - ' bumped_txid'
    argTypes:
    - Txid
    - CMutableTransaction
    - std::vector<bilingual_str>
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: wallet::WalletImpl::commitBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CommitTransaction
    - get
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool commitBumpTransaction(const Txid& txid,\n        CMutableTransaction&&
      mtx,\n        std::vector<bilingual_str>& errors,\n        Txid& bumped_txid)
      override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:323,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:324,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: wallet::WalletImpl::getTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mapWallet::end
    - mapWallet::find
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef getTx(const Txid& txid) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:332,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:333,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:334,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: wallet::WalletImpl::getWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletTx
    - LOCK
    - mapWallet::end
    - mapWallet::find
    linkageType: ''
    returnType: WalletTx
    signature: WalletTx getWalletTx(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:341,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:344,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: wallet::WalletImpl::getWalletTxs
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletTx
    - LOCK
    - std::set::emplace
    linkageType: ''
    returnType: std::set<WalletTx>
    signature: std::set<WalletTx> getWalletTxs() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:353,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:358,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:361,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: MakeWalletTxStatus
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' txid'
    - ' tx_status'
    - ' num_blocks'
    - ' block_time'
    argTypes:
    - Txid
    - interfaces::WalletTxStatus
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 366
    functionName: wallet::WalletImpl::tryGetTxStatus
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mapWallet::end
    - FoundBlock
    - GetLastBlockHash
    - chain
    - mapWallet::find
    - GetLastBlockHeight
    - MakeWalletTxStatus
    - CHECK_NONFATAL
    - TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: "bool tryGetTxStatus(const Txid& txid,\n        interfaces::WalletTxStatus&
      tx_status,\n        int& num_blocks,\n        int64_t& block_time) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:373,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:374,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:375,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:376,1
    - Dst: auto::second::InMempool
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:377,1
    - Dst: MakeWalletTxStatus
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:379,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' txid'
    - ' tx_status'
    - ' order_form'
    - ' in_mempool'
    - ' num_blocks'
    argTypes:
    - Txid
    - WalletTxStatus
    - WalletOrderForm
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 383
    functionName: wallet::WalletImpl::getWalletTxDetails
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - auto::second::InMempool
    - mapWallet::end
    - MakeWalletTx
    - LOCK
    - mapWallet::find
    - GetLastBlockHeight
    - MakeWalletTxStatus
    linkageType: ''
    returnType: WalletTx
    signature: "WalletTx getWalletTxDetails(const Txid& txid,\n        WalletTxStatus&
      tx_status,\n        WalletOrderForm& order_form,\n        bool& in_mempool,\n
      \       int& num_blocks) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - sighash_type
    - sign
    - bip32derivs
    - n_signed
    - ' psbtx'
    - ' complete'
    argTypes:
    - std::optional<int>
    - bool
    - bool
    - size_t*
    - PartiallySignedTransaction
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: wallet::WalletImpl::fillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillPSBT
    linkageType: ''
    returnType: std::optional<PSBTError>
    signature: "std::optional<PSBTError> fillPSBT(std::optional<int> sighash_type,\n
      \       bool sign,\n        bool bip32derivs,\n        size_t* n_signed,\n        PartiallySignedTransaction&
      psbtx,\n        bool& complete) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBalance
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: wallet::WalletImpl::getBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetBalance
    linkageType: ''
    returnType: WalletBalances
    signature: WalletBalances getBalances() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:404,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:408,1
    - Dst: wallet::WalletImpl::getBalances
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' balances'
    - ' block_hash'
    argTypes:
    - WalletBalances
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: wallet::WalletImpl::tryGetBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletImpl::getBalances
    - GetLastBlockHash
    - TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: bool tryGetBalances(WalletBalances& balances, uint256& block_hash)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBalance
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: wallet::WalletImpl::getBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetBalance
    linkageType: ''
    returnType: CAmount
    signature: CAmount getBalance() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:415,1
    - Dst: HasSelected
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:418,1
    - Dst: FetchSelectedInputs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:422,1
    - Dst: AvailableCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' coin_control'
    argTypes:
    - CCoinControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 413
    functionDepth: 4
    functionLinenumber: 413
    functionLinenumberEnd: 433
    functionName: wallet::WalletImpl::getAvailableBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FetchSelectedInputs
    - LOCK
    - HasSelected
    - AvailableCoins
    linkageType: ''
    returnType: CAmount
    signature: CAmount getAvailableBalance(const CCoinControl& coin_control) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:436,1
    - Dst: InputIsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txin'
    argTypes:
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: wallet::WalletImpl::txinIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - InputIsMine
    linkageType: ''
    returnType: isminetype
    signature: isminetype txinIsMine(const CTxIn& txin) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:441,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txout'
    argTypes:
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: wallet::WalletImpl::txoutIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsMine
    linkageType: ''
    returnType: isminetype
    signature: isminetype txoutIsMine(const CTxOut& txout) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:446,1
    - Dst: GetDebit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' txin'
    - filter
    argTypes:
    - CTxIn
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: wallet::WalletImpl::getDebit
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetDebit
    - LOCK
    linkageType: ''
    returnType: CAmount
    signature: CAmount getDebit(const CTxIn& txin, isminefilter filter) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:451,1
    - Dst: OutputGetCredit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' txout'
    - filter
    argTypes:
    - CTxOut
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: wallet::WalletImpl::getCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - OutputGetCredit
    linkageType: ''
    returnType: CAmount
    signature: CAmount getCredit(const CTxOut& txout, isminefilter filter) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:456,1
    - Dst: ListCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:458,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:461,1
    - Dst: MakeWalletTxOut
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: wallet::WalletImpl::listCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - LOCK
    - ListCoins
    - MakeWalletTxOut
    linkageType: ''
    returnType: CoinsList
    signature: CoinsList listCoins() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:469,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:471,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:471,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:473,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:474,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:475,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:476,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:478,1
    - Dst: MakeWalletTxOut
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' outputs'
    argTypes:
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 483
    functionName: wallet::WalletImpl::getCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::back
    - mapWallet::end
    - size
    - std::vector::reserve
    - LOCK
    - mapWallet::find
    - MakeWalletTxOut
    - GetTxDepthInMainChain
    linkageType: ''
    returnType: std::vector<WalletTxOut>
    signature: std::vector<WalletTxOut> getCoins(const std::vector<COutPoint>& outputs)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRequiredFee
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tx_bytes
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: wallet::WalletImpl::getRequiredFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetRequiredFee
    linkageType: ''
    returnType: CAmount
    signature: CAmount getRequiredFee(unsigned int tx_bytes) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetMinimumFee
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - tx_bytes
    - ' coin_control'
    - returned_target
    - reason
    argTypes:
    - unsigned int
    - CCoinControl
    - int*
    - FeeReason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: wallet::WalletImpl::getMinimumFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetMinimumFee
    linkageType: ''
    returnType: CAmount
    signature: "CAmount getMinimumFee(unsigned int tx_bytes,\n        const CCoinControl&
      coin_control,\n        int* returned_target,\n        FeeReason* reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: wallet::WalletImpl::getConfirmTarget
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getConfirmTarget() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: wallet::WalletImpl::hdEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsHDEnabled
    linkageType: ''
    returnType: bool
    signature: bool hdEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: wallet::WalletImpl::canGetAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - CanGetAddresses
    linkageType: ''
    returnType: bool
    signature: bool canGetAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: wallet::WalletImpl::hasExternalSigner
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool hasExternalSigner() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: wallet::WalletImpl::privateKeysDisabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool privateKeysDisabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: wallet::WalletImpl::taprootEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetScriptPubKeyMan
    linkageType: ''
    returnType: bool
    signature: bool taprootEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: wallet::WalletImpl::getDefaultAddressType
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OutputType
    signature: OutputType getDefaultAddressType() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: wallet::WalletImpl::getDefaultMaxTxFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount getDefaultMaxTxFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemoveWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: wallet::WalletImpl::remove
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 26
    functionsReached:
    - RemoveWallet
    linkageType: ''
    returnType: void
    signature: void remove() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:514,1
    - Dst: NotifyUnload::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - UnloadFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: wallet::WalletImpl::handleUnload
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyUnload::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleUnload(UnloadFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:518,1
    - Dst: ShowProgress::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - ShowProgressFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: wallet::WalletImpl::handleShowProgress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ShowProgress::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    - Dst: NotifyStatusChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - StatusChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: wallet::WalletImpl::handleStatusChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyStatusChanged::connect
    - fn
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleStatusChanged(StatusChangedFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:526,1
    - Dst: NotifyAddressBookChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:526,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - AddressBookChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: wallet::WalletImpl::handleAddressBookChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyAddressBookChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleAddressBookChanged(AddressBookChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:532,1
    - Dst: NotifyTransactionChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:532,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - TransactionChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: wallet::WalletImpl::handleTransactionChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyTransactionChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleTransactionChanged(TransactionChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:537,1
    - Dst: NotifyCanGetAddressesChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - CanGetAddressesChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: wallet::WalletImpl::handleCanGetAddressesChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyCanGetAddressesChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleCanGetAddressesChanged(CanGetAddressesChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: wallet::WalletImpl::wallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: CWallet
    signature: CWallet * wallet() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' chain'
    - ' args'
    argTypes:
    - Chain
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: wallet::WalletLoaderImpl::WalletLoaderImpl
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletLoaderImpl(Chain& chain, ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: ~WalletLoaderImpl() override
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void ~WalletLoaderImpl() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWalletRPCCommands
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:558,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:559,1
    - Dst: actor
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:562,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    - Dst: chain::handleRpc
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: wallet::WalletLoaderImpl::registerRpcs
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chain::handleRpc
    - actor
    - back
    - GetWalletRPCCommands
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void registerRpcs() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: wallet::WalletLoaderImpl::verify
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - VerifyWallets
    linkageType: ''
    returnType: bool
    signature: bool verify() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: wallet::WalletLoaderImpl::load
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadWallets
    linkageType: ''
    returnType: bool
    signature: bool load() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scheduler'
    argTypes:
    - CScheduler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: wallet::WalletLoaderImpl::start
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - StartWallets
    linkageType: ''
    returnType: void
    signature: void start(CScheduler& scheduler) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnloadWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 574
    functionName: wallet::WalletLoaderImpl::stop
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - UnloadWallets
    linkageType: ''
    returnType: void
    signature: void stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: wallet::WalletLoaderImpl::setMockTime
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SetMockTime
    linkageType: ''
    returnType: void
    signature: void setMockTime(int64_t time) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delta
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: wallet::WalletLoaderImpl::schedulerMockForward
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: void
    signature: void schedulerMockForward(std::chrono::seconds delta) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:583,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:588,1
    - Dst: CreateWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ' name'
    - ' passphrase'
    - wallet_creation_flags
    - ' warnings'
    argTypes:
    - std::string
    - SecureString
    - uint64_t
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: wallet::WalletLoaderImpl::createWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - CreateWallet
    - ReadDatabaseArgs
    - MakeWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> createWallet(const std::string&
      name, const SecureString& passphrase, uint64_t wallet_creation_flags, std::vector<bilingual_str>&
      warnings) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:599,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:602,1
    - Dst: LoadWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' warnings'
    argTypes:
    - std::string
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 608
    functionName: wallet::WalletLoaderImpl::loadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ReadDatabaseArgs
    - LoadWallet
    - MakeWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> loadWallet(const std::string&
      name, std::vector<bilingual_str>& warnings) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:613,1
    - Dst: RestoreWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' backup_file'
    - ' wallet_name'
    - ' warnings'
    argTypes:
    - fs::path
    - std::string
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: wallet::WalletLoaderImpl::restoreWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWallet
    - RestoreWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> restoreWallet(const fs::path&
      backup_file, const std::string& wallet_name, std::vector<bilingual_str>& warnings)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MigrateLegacyToDescriptor
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:622,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:623,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:625,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:626,1
    - Dst: auto::watchonly_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:626,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:627,1
    - Dst: auto::solvables_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' passphrase'
    argTypes:
    - std::string
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: wallet::WalletLoaderImpl::migrateWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    - auto::watchonly_wallet::GetName
    - std::make_optional
    - MigrateLegacyToDescriptor
    - MakeWallet
    - auto::solvables_wallet::GetName
    linkageType: ''
    returnType: util::Result<WalletMigrationResult>
    signature: util::Result<WalletMigrationResult> migrateWallet(const std::string&
      name, const SecureString& passphrase) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:634,1
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:636,1
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:636,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:643,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:646,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' wallet_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 650
    functionName: wallet::WalletLoaderImpl::isEncrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - WalletBatch
    - GetWallets
    - GetName
    - IsCrypted
    - MakeWalletDatabase
    - auto::end
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool isEncrypted(const std::string& wallet_name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:653,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: wallet::WalletLoaderImpl::getWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetWalletDir
    - fs::PathToString
    linkageType: ''
    returnType: std::string
    signature: std::string getWalletDir() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ListDatabases
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:658,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:658,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:659,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 662
    functionName: wallet::WalletLoaderImpl::listWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ListDatabases
    - GetWalletDir
    - std::vector::emplace_back
    - fs::PathToString
    linkageType: ''
    returnType: std::vector<std::pair<std::string, std::string>>
    signature: std::vector<std::pair<std::string, std::string>> listWalletDir() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:666,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:667,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: wallet::WalletLoaderImpl::getWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWallet
    - GetWallets
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Wallet>>
    signature: std::vector<std::unique_ptr<Wallet>> getWallets() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HandleLoadWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:673,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - LoadWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionName: wallet::WalletLoaderImpl::handleLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - HandleLoadWallet
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleLoadWallet(LoadWalletFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: wallet::WalletLoaderImpl::context
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WalletContext
    signature: WalletContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:61,1
    - Dst: WalletTx::txin_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:64,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:64,1
    - Dst: WalletTx::txin_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:66,1
    - Dst: wallet::InputIsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:66,1
    - Dst: WalletTx::txout_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:68,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:68,1
    - Dst: WalletTx::txout_address::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:69,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:69,1
    - Dst: WalletTx::txout_address_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:70,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:70,1
    - Dst: WalletTx::txout_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:72,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:72,1
    - Dst: WalletTx::txout_is_change::push_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:73,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:73,1
    - Dst: WalletTx::txout_address::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:74,1
    - Dst: WalletTx::txout_address_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: WalletTx::txout_address::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:76,1
    - Dst: WalletTx::txout_address::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:76,1
    - Dst: wallet::CachedTxGetCredit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:79,1
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:80,1
    - Dst: wallet::CachedTxGetChange
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:81,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:82,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ' wallet'
    - ' wtx'
    argTypes:
    - CWallet
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 8
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: wallet::MakeWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::OutputIsChange
    - tx::vout::size
    - WalletTx::txout_address::back
    - WalletTx::txout_address_is_mine::emplace_back
    - wallet::CachedTxGetChange
    - WalletTx::txin_is_mine::reserve
    - WalletTx::txout_address_is_mine::reserve
    - IsMine
    - WalletTx::txout_is_change::push_back
    - WalletTx::txout_is_mine::reserve
    - tx::vin::size
    - wallet::CachedTxGetDebit
    - WalletTx::txout_address::emplace_back
    - wallet::CachedTxGetCredit
    - WalletTx::txout_address::reserve
    - wallet::InputIsMine
    - WalletTx::txout_is_mine::emplace_back
    - ExtractDestination
    - GetTxTime
    - LOCK
    - IsCoinBase
    - WalletTx::txin_is_mine::emplace_back
    linkageType: ''
    returnType: WalletTx
    signature: WalletTx MakeWalletTx(CWallet& wallet, const CWalletTx& wtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: wallet::WalletImpl::WalletImpl
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletImpl(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncryptWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet_passphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: wallet::WalletImpl::encryptWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - EncryptWallet
    linkageType: ''
    returnType: bool
    signature: bool encryptWallet(const SecureString& wallet_passphrase) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: wallet::WalletImpl::isCrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsCrypted
    linkageType: ''
    returnType: bool
    signature: bool isCrypted() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: wallet::WalletImpl::lock
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool lock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unlock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet_passphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: wallet::WalletImpl::unlock
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 2
    functionsReached:
    - Unlock
    linkageType: ''
    returnType: bool
    signature: bool unlock(const SecureString& wallet_passphrase) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: wallet::WalletImpl::isLocked
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsLocked
    linkageType: ''
    returnType: bool
    signature: bool isLocked() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChangeWalletPassphrase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' old_wallet_passphrase'
    - ' new_wallet_passphrase'
    argTypes:
    - SecureString
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: wallet::WalletImpl::changeWalletPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ChangeWalletPassphrase
    linkageType: ''
    returnType: bool
    signature: "bool changeWalletPassphrase(const SecureString& old_wallet_passphrase,\n
      \       const SecureString& new_wallet_passphrase) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbortRescan
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: wallet::WalletImpl::abortRescan
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - AbortRescan
    linkageType: ''
    returnType: void
    signature: void abortRescan() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BackupWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: wallet::WalletImpl::backupWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BackupWallet
    linkageType: ''
    returnType: bool
    signature: bool backupWallet(const std::string& filename) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: wallet::WalletImpl::getWalletName
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetName
    linkageType: ''
    returnType: std::string
    signature: std::string getWalletName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:158,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' label'
    argTypes:
    - OutputType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: wallet::WalletImpl::getNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetNewDestination
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> getNewDestination(const OutputType type,
      const std::string& label) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:163,1
    - Dst: std::unique_ptr::GetPubKey
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' script'
    - ' address'
    - ' pub_key'
    argTypes:
    - CScript
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: wallet::WalletImpl::getPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPubKey
    - GetSolvingProvider
    linkageType: ''
    returnType: bool
    signature: bool getPubKey(const CScript& script, const CKeyID& address, CPubKey&
      pub_key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignMessage
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' message'
    - ' pkhash'
    - ' str_sig'
    argTypes:
    - std::string
    - PKHash
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: wallet::WalletImpl::signMessage
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SignMessage
    linkageType: ''
    returnType: SigningResult
    signature: SigningResult signMessage(const std::string& message, const PKHash&
      pkhash, std::string& str_sig) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:175,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: wallet::WalletImpl::isSpendable
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsMine
    linkageType: ''
    returnType: bool
    signature: bool isSpendable(const CTxDestination& dest) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAddressBook
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' dest'
    - ' name'
    - ' purpose'
    argTypes:
    - CTxDestination
    - std::string
    - std::optional<AddressPurpose>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: wallet::WalletImpl::setAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SetAddressBook
    linkageType: ''
    returnType: bool
    signature: bool setAddressBook(const CTxDestination& dest, const std::string&
      name, const std::optional<AddressPurpose>& purpose) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelAddressBook
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: wallet::WalletImpl::delAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - DelAddressBook
    linkageType: ''
    returnType: bool
    signature: bool delAddressBook(const CTxDestination& dest) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:191,1
    - Dst: FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:192,1
    - Dst: GetLabel
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:195,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:199,1
    - Dst: purpose::value_or
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ' dest'
    - name
    - is_mine
    - purpose
    argTypes:
    - CTxDestination
    - std::string*
    - isminetype*
    - AddressPurpose*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: wallet::WalletImpl::getAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetLabel
    - LOCK
    - IsMine
    - FindAddressBookEntry
    - purpose::value_or
    linkageType: ''
    returnType: bool
    signature: "bool getAddress(const CTxDestination& dest,\n        std::string*
      name,\n        isminetype* is_mine,\n        AddressPurpose* purpose) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:212,1
    - Dst: ForEachAddrBookEntry
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:214,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:214,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:218,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: wallet::WalletImpl::getAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ForEachAddrBookEntry
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - IsMine
    - value_or
    linkageType: ''
    returnType: std::vector<WalletAddress>
    signature: std::vector<WalletAddress> getAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:223,1
    - Dst: GetAddressReceiveRequests
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: wallet::WalletImpl::getAddressReceiveRequests
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetAddressReceiveRequests
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> getAddressReceiveRequests() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:239,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:240,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:241,1
    - Dst: EraseAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:241,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' dest'
    - ' id'
    - ' value'
    argTypes:
    - CTxDestination
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: wallet::WalletImpl::setAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - EraseAddressReceiveRequest
    - empty
    - LOCK
    - GetDatabase
    - SetAddressReceiveRequest
    linkageType: ''
    returnType: bool
    signature: bool setAddressReceiveRequest(const CTxDestination& dest, const std::string&
      id, const std::string& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:246,1
    - Dst: DisplayAddress
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: wallet::WalletImpl::displayAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - DisplayAddress
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> displayAddress(const CTxDestination& dest) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:251,1
    - Dst: LockCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' output'
    - write_to_db
    argTypes:
    - COutPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: wallet::WalletImpl::lockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LockCoin
    linkageType: ''
    returnType: bool
    signature: bool lockCoin(const COutPoint& output, const bool write_to_db) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:256,1
    - Dst: UnlockCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: wallet::WalletImpl::unlockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - UnlockCoin
    linkageType: ''
    returnType: bool
    signature: bool unlockCoin(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:261,1
    - Dst: IsLockedCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: wallet::WalletImpl::isLockedCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsLockedCoin
    linkageType: ''
    returnType: bool
    signature: bool isLockedCoin(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:266,1
    - Dst: ListLockedCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' outputs'
    argTypes:
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: wallet::WalletImpl::listLockedCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - ListLockedCoins
    linkageType: ''
    returnType: void
    signature: void listLockedCoins(std::vector<COutPoint>& outputs) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:275,1
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:276,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:276,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ' recipients'
    - ' coin_control'
    - sign
    - ' change_pos'
    - ' fee'
    argTypes:
    - std::vector<CRecipient>
    - CCoinControl
    - bool
    - int
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: wallet::WalletImpl::createTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CreateTransaction
    - std::make_optional
    - util::ErrorString
    linkageType: ''
    returnType: util::Result<CTransactionRef>
    signature: "util::Result<CTransactionRef> createTransaction(const std::vector<CRecipient>&
      recipients,\n        const CCoinControl& coin_control,\n        bool sign,\n
      \       int& change_pos,\n        CAmount& fee) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:289,1
    - Dst: CommitTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tx
    - value_map
    - order_form
    argTypes:
    - CTransactionRef
    - WalletValueMap
    - WalletOrderForm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: wallet::WalletImpl::commitTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CommitTransaction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void commitTransaction(CTransactionRef tx,\n        WalletValueMap
      value_map,\n        WalletOrderForm order_form) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionCanBeAbandoned
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: wallet::WalletImpl::transactionCanBeAbandoned
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - TransactionCanBeAbandoned
    linkageType: ''
    returnType: bool
    signature: bool transactionCanBeAbandoned(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:295,1
    - Dst: AbandonTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: wallet::WalletImpl::abandonTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AbandonTransaction
    linkageType: ''
    returnType: bool
    signature: bool abandonTransaction(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::TransactionCanBeBumped
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:300,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: wallet::WalletImpl::transactionCanBeBumped
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::TransactionCanBeBumped
    - get
    linkageType: ''
    returnType: bool
    signature: bool transactionCanBeBumped(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CreateRateBumpTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:310,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' txid'
    - ' coin_control'
    - ' errors'
    - ' old_fee'
    - ' new_fee'
    - ' mtx'
    argTypes:
    - Txid
    - CCoinControl
    - std::vector<bilingual_str>
    - CAmount
    - CAmount
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 11
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: wallet::WalletImpl::createBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CreateRateBumpTransaction
    - get
    linkageType: ''
    returnType: bool
    signature: "bool createBumpTransaction(const Txid& txid,\n        const CCoinControl&
      coin_control,\n        std::vector<bilingual_str>& errors,\n        CAmount&
      old_fee,\n        CAmount& new_fee,\n        CMutableTransaction& mtx) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:312,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mtx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: wallet::WalletImpl::signBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - get
    - wallet::feebumper::SignTransaction
    linkageType: ''
    returnType: bool
    signature: bool signBumpTransaction(CMutableTransaction& mtx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - ' txid'
    - ' mtx'
    - ' errors'
    - ' bumped_txid'
    argTypes:
    - Txid
    - CMutableTransaction
    - std::vector<bilingual_str>
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: wallet::WalletImpl::commitBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CommitTransaction
    - get
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool commitBumpTransaction(const Txid& txid,\n        CMutableTransaction&&
      mtx,\n        std::vector<bilingual_str>& errors,\n        Txid& bumped_txid)
      override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:323,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:324,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: wallet::WalletImpl::getTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mapWallet::end
    - mapWallet::find
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef getTx(const Txid& txid) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:332,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:333,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:334,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: wallet::WalletImpl::getWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletTx
    - LOCK
    - mapWallet::end
    - mapWallet::find
    linkageType: ''
    returnType: WalletTx
    signature: WalletTx getWalletTx(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:341,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:344,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: wallet::WalletImpl::getWalletTxs
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletTx
    - LOCK
    - std::set::emplace
    linkageType: ''
    returnType: std::set<WalletTx>
    signature: std::set<WalletTx> getWalletTxs() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:353,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:358,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:361,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: MakeWalletTxStatus
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' txid'
    - ' tx_status'
    - ' num_blocks'
    - ' block_time'
    argTypes:
    - Txid
    - interfaces::WalletTxStatus
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 366
    functionName: wallet::WalletImpl::tryGetTxStatus
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mapWallet::end
    - FoundBlock
    - GetLastBlockHash
    - chain
    - mapWallet::find
    - GetLastBlockHeight
    - MakeWalletTxStatus
    - CHECK_NONFATAL
    - TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: "bool tryGetTxStatus(const Txid& txid,\n        interfaces::WalletTxStatus&
      tx_status,\n        int& num_blocks,\n        int64_t& block_time) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:373,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:374,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:375,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:376,1
    - Dst: auto::second::InMempool
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:377,1
    - Dst: MakeWalletTxStatus
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:379,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' txid'
    - ' tx_status'
    - ' order_form'
    - ' in_mempool'
    - ' num_blocks'
    argTypes:
    - Txid
    - WalletTxStatus
    - WalletOrderForm
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 383
    functionName: wallet::WalletImpl::getWalletTxDetails
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - auto::second::InMempool
    - mapWallet::end
    - MakeWalletTx
    - LOCK
    - mapWallet::find
    - GetLastBlockHeight
    - MakeWalletTxStatus
    linkageType: ''
    returnType: WalletTx
    signature: "WalletTx getWalletTxDetails(const Txid& txid,\n        WalletTxStatus&
      tx_status,\n        WalletOrderForm& order_form,\n        bool& in_mempool,\n
      \       int& num_blocks) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - sighash_type
    - sign
    - bip32derivs
    - n_signed
    - ' psbtx'
    - ' complete'
    argTypes:
    - std::optional<int>
    - bool
    - bool
    - size_t*
    - PartiallySignedTransaction
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: wallet::WalletImpl::fillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillPSBT
    linkageType: ''
    returnType: std::optional<PSBTError>
    signature: "std::optional<PSBTError> fillPSBT(std::optional<int> sighash_type,\n
      \       bool sign,\n        bool bip32derivs,\n        size_t* n_signed,\n        PartiallySignedTransaction&
      psbtx,\n        bool& complete) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBalance
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: wallet::WalletImpl::getBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 1
    functionsReached:
    - GetBalance
    linkageType: ''
    returnType: WalletBalances
    signature: WalletBalances getBalances() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:404,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:408,1
    - Dst: wallet::WalletImpl::getBalances
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' balances'
    - ' block_hash'
    argTypes:
    - WalletBalances
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: wallet::WalletImpl::tryGetBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletImpl::getBalances
    - GetLastBlockHash
    - TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: bool tryGetBalances(WalletBalances& balances, uint256& block_hash)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBalance
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: wallet::WalletImpl::getBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetBalance
    linkageType: ''
    returnType: CAmount
    signature: CAmount getBalance() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:415,1
    - Dst: HasSelected
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:418,1
    - Dst: FetchSelectedInputs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:422,1
    - Dst: AvailableCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' coin_control'
    argTypes:
    - CCoinControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 413
    functionDepth: 4
    functionLinenumber: 413
    functionLinenumberEnd: 433
    functionName: wallet::WalletImpl::getAvailableBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FetchSelectedInputs
    - LOCK
    - HasSelected
    - AvailableCoins
    linkageType: ''
    returnType: CAmount
    signature: CAmount getAvailableBalance(const CCoinControl& coin_control) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:436,1
    - Dst: InputIsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txin'
    argTypes:
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: wallet::WalletImpl::txinIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - InputIsMine
    linkageType: ''
    returnType: isminetype
    signature: isminetype txinIsMine(const CTxIn& txin) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:441,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txout'
    argTypes:
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: wallet::WalletImpl::txoutIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsMine
    linkageType: ''
    returnType: isminetype
    signature: isminetype txoutIsMine(const CTxOut& txout) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:446,1
    - Dst: GetDebit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' txin'
    - filter
    argTypes:
    - CTxIn
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: wallet::WalletImpl::getDebit
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetDebit
    - LOCK
    linkageType: ''
    returnType: CAmount
    signature: CAmount getDebit(const CTxIn& txin, isminefilter filter) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:451,1
    - Dst: OutputGetCredit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' txout'
    - filter
    argTypes:
    - CTxOut
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: wallet::WalletImpl::getCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - OutputGetCredit
    linkageType: ''
    returnType: CAmount
    signature: CAmount getCredit(const CTxOut& txout, isminefilter filter) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:456,1
    - Dst: ListCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:458,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:461,1
    - Dst: MakeWalletTxOut
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: wallet::WalletImpl::listCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - LOCK
    - ListCoins
    - MakeWalletTxOut
    linkageType: ''
    returnType: CoinsList
    signature: CoinsList listCoins() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:469,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:471,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:471,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:473,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:474,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:475,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:476,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:478,1
    - Dst: MakeWalletTxOut
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' outputs'
    argTypes:
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 483
    functionName: wallet::WalletImpl::getCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::back
    - mapWallet::end
    - size
    - std::vector::reserve
    - LOCK
    - mapWallet::find
    - MakeWalletTxOut
    - GetTxDepthInMainChain
    linkageType: ''
    returnType: std::vector<WalletTxOut>
    signature: std::vector<WalletTxOut> getCoins(const std::vector<COutPoint>& outputs)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRequiredFee
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tx_bytes
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: wallet::WalletImpl::getRequiredFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetRequiredFee
    linkageType: ''
    returnType: CAmount
    signature: CAmount getRequiredFee(unsigned int tx_bytes) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetMinimumFee
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - tx_bytes
    - ' coin_control'
    - returned_target
    - reason
    argTypes:
    - unsigned int
    - CCoinControl
    - int*
    - FeeReason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: wallet::WalletImpl::getMinimumFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetMinimumFee
    linkageType: ''
    returnType: CAmount
    signature: "CAmount getMinimumFee(unsigned int tx_bytes,\n        const CCoinControl&
      coin_control,\n        int* returned_target,\n        FeeReason* reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: wallet::WalletImpl::getConfirmTarget
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getConfirmTarget() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: wallet::WalletImpl::hdEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsHDEnabled
    linkageType: ''
    returnType: bool
    signature: bool hdEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: wallet::WalletImpl::canGetAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - CanGetAddresses
    linkageType: ''
    returnType: bool
    signature: bool canGetAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: wallet::WalletImpl::hasExternalSigner
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool hasExternalSigner() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: wallet::WalletImpl::privateKeysDisabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool privateKeysDisabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: wallet::WalletImpl::taprootEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetScriptPubKeyMan
    linkageType: ''
    returnType: bool
    signature: bool taprootEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: wallet::WalletImpl::getDefaultAddressType
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OutputType
    signature: OutputType getDefaultAddressType() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: wallet::WalletImpl::getDefaultMaxTxFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount getDefaultMaxTxFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemoveWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: wallet::WalletImpl::remove
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 26
    functionsReached:
    - RemoveWallet
    linkageType: ''
    returnType: void
    signature: void remove() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:514,1
    - Dst: NotifyUnload::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - UnloadFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: wallet::WalletImpl::handleUnload
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyUnload::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleUnload(UnloadFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:518,1
    - Dst: ShowProgress::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - ShowProgressFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: wallet::WalletImpl::handleShowProgress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ShowProgress::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    - Dst: NotifyStatusChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - StatusChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: wallet::WalletImpl::handleStatusChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyStatusChanged::connect
    - fn
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleStatusChanged(StatusChangedFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:526,1
    - Dst: NotifyAddressBookChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:526,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - AddressBookChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: wallet::WalletImpl::handleAddressBookChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyAddressBookChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleAddressBookChanged(AddressBookChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:532,1
    - Dst: NotifyTransactionChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:532,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - TransactionChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: wallet::WalletImpl::handleTransactionChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyTransactionChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleTransactionChanged(TransactionChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:537,1
    - Dst: NotifyCanGetAddressesChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - CanGetAddressesChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: wallet::WalletImpl::handleCanGetAddressesChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyCanGetAddressesChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleCanGetAddressesChanged(CanGetAddressesChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: wallet::WalletImpl::wallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: CWallet
    signature: CWallet * wallet() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' chain'
    - ' args'
    argTypes:
    - Chain
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: wallet::WalletLoaderImpl::WalletLoaderImpl
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletLoaderImpl(Chain& chain, ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: ~WalletLoaderImpl() override
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void ~WalletLoaderImpl() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWalletRPCCommands
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:558,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:559,1
    - Dst: actor
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:562,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    - Dst: chain::handleRpc
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: wallet::WalletLoaderImpl::registerRpcs
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chain::handleRpc
    - actor
    - back
    - GetWalletRPCCommands
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void registerRpcs() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: wallet::WalletLoaderImpl::verify
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - VerifyWallets
    linkageType: ''
    returnType: bool
    signature: bool verify() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: wallet::WalletLoaderImpl::load
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadWallets
    linkageType: ''
    returnType: bool
    signature: bool load() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scheduler'
    argTypes:
    - CScheduler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: wallet::WalletLoaderImpl::start
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - StartWallets
    linkageType: ''
    returnType: void
    signature: void start(CScheduler& scheduler) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnloadWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 574
    functionName: wallet::WalletLoaderImpl::stop
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - UnloadWallets
    linkageType: ''
    returnType: void
    signature: void stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: wallet::WalletLoaderImpl::setMockTime
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SetMockTime
    linkageType: ''
    returnType: void
    signature: void setMockTime(int64_t time) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delta
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: wallet::WalletLoaderImpl::schedulerMockForward
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: void
    signature: void schedulerMockForward(std::chrono::seconds delta) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:583,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:588,1
    - Dst: CreateWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ' name'
    - ' passphrase'
    - wallet_creation_flags
    - ' warnings'
    argTypes:
    - std::string
    - SecureString
    - uint64_t
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: wallet::WalletLoaderImpl::createWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - CreateWallet
    - ReadDatabaseArgs
    - MakeWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> createWallet(const std::string&
      name, const SecureString& passphrase, uint64_t wallet_creation_flags, std::vector<bilingual_str>&
      warnings) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:599,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:602,1
    - Dst: LoadWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' warnings'
    argTypes:
    - std::string
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 608
    functionName: wallet::WalletLoaderImpl::loadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ReadDatabaseArgs
    - LoadWallet
    - MakeWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> loadWallet(const std::string&
      name, std::vector<bilingual_str>& warnings) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:613,1
    - Dst: RestoreWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' backup_file'
    - ' wallet_name'
    - ' warnings'
    argTypes:
    - fs::path
    - std::string
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: wallet::WalletLoaderImpl::restoreWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWallet
    - RestoreWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> restoreWallet(const fs::path&
      backup_file, const std::string& wallet_name, std::vector<bilingual_str>& warnings)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MigrateLegacyToDescriptor
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:622,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:623,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:625,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:626,1
    - Dst: auto::watchonly_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:626,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:627,1
    - Dst: auto::solvables_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' passphrase'
    argTypes:
    - std::string
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: wallet::WalletLoaderImpl::migrateWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    - auto::watchonly_wallet::GetName
    - std::make_optional
    - MigrateLegacyToDescriptor
    - MakeWallet
    - auto::solvables_wallet::GetName
    linkageType: ''
    returnType: util::Result<WalletMigrationResult>
    signature: util::Result<WalletMigrationResult> migrateWallet(const std::string&
      name, const SecureString& passphrase) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:634,1
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:636,1
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:636,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:643,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:646,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' wallet_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 650
    functionName: wallet::WalletLoaderImpl::isEncrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - WalletBatch
    - GetWallets
    - GetName
    - IsCrypted
    - MakeWalletDatabase
    - auto::end
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool isEncrypted(const std::string& wallet_name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:653,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: wallet::WalletLoaderImpl::getWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetWalletDir
    - fs::PathToString
    linkageType: ''
    returnType: std::string
    signature: std::string getWalletDir() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ListDatabases
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:658,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:658,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:659,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 662
    functionName: wallet::WalletLoaderImpl::listWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ListDatabases
    - GetWalletDir
    - std::vector::emplace_back
    - fs::PathToString
    linkageType: ''
    returnType: std::vector<std::pair<std::string, std::string>>
    signature: std::vector<std::pair<std::string, std::string>> listWalletDir() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:666,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:667,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: wallet::WalletLoaderImpl::getWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWallet
    - GetWallets
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Wallet>>
    signature: std::vector<std::unique_ptr<Wallet>> getWallets() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HandleLoadWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:673,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - LoadWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionName: wallet::WalletLoaderImpl::handleLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - HandleLoadWallet
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleLoadWallet(LoadWalletFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: wallet::WalletLoaderImpl::context
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WalletContext
    signature: WalletContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:61,1
    - Dst: WalletTx::txin_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:64,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:64,1
    - Dst: WalletTx::txin_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:66,1
    - Dst: wallet::InputIsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:66,1
    - Dst: WalletTx::txout_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:68,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:68,1
    - Dst: WalletTx::txout_address::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:69,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:69,1
    - Dst: WalletTx::txout_address_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:70,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:70,1
    - Dst: WalletTx::txout_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:72,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:72,1
    - Dst: WalletTx::txout_is_change::push_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:73,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:73,1
    - Dst: WalletTx::txout_address::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:74,1
    - Dst: WalletTx::txout_address_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: WalletTx::txout_address::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:76,1
    - Dst: WalletTx::txout_address::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:76,1
    - Dst: wallet::CachedTxGetCredit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:79,1
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:80,1
    - Dst: wallet::CachedTxGetChange
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:81,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:82,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ' wallet'
    - ' wtx'
    argTypes:
    - CWallet
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 8
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: wallet::MakeWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::OutputIsChange
    - tx::vout::size
    - WalletTx::txout_address::back
    - WalletTx::txout_address_is_mine::emplace_back
    - wallet::CachedTxGetChange
    - WalletTx::txin_is_mine::reserve
    - WalletTx::txout_address_is_mine::reserve
    - IsMine
    - WalletTx::txout_is_change::push_back
    - WalletTx::txout_is_mine::reserve
    - tx::vin::size
    - wallet::CachedTxGetDebit
    - WalletTx::txout_address::emplace_back
    - wallet::CachedTxGetCredit
    - WalletTx::txout_address::reserve
    - wallet::InputIsMine
    - WalletTx::txout_is_mine::emplace_back
    - ExtractDestination
    - GetTxTime
    - LOCK
    - IsCoinBase
    - WalletTx::txin_is_mine::emplace_back
    linkageType: ''
    returnType: WalletTx
    signature: WalletTx MakeWalletTx(CWallet& wallet, const CWalletTx& wtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: wallet::WalletImpl::WalletImpl
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletImpl(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncryptWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet_passphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: wallet::WalletImpl::encryptWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - EncryptWallet
    linkageType: ''
    returnType: bool
    signature: bool encryptWallet(const SecureString& wallet_passphrase) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: wallet::WalletImpl::isCrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsCrypted
    linkageType: ''
    returnType: bool
    signature: bool isCrypted() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: wallet::WalletImpl::lock
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool lock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unlock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet_passphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: wallet::WalletImpl::unlock
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 2
    functionsReached:
    - Unlock
    linkageType: ''
    returnType: bool
    signature: bool unlock(const SecureString& wallet_passphrase) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: wallet::WalletImpl::isLocked
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsLocked
    linkageType: ''
    returnType: bool
    signature: bool isLocked() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChangeWalletPassphrase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' old_wallet_passphrase'
    - ' new_wallet_passphrase'
    argTypes:
    - SecureString
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: wallet::WalletImpl::changeWalletPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ChangeWalletPassphrase
    linkageType: ''
    returnType: bool
    signature: "bool changeWalletPassphrase(const SecureString& old_wallet_passphrase,\n
      \       const SecureString& new_wallet_passphrase) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbortRescan
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: wallet::WalletImpl::abortRescan
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - AbortRescan
    linkageType: ''
    returnType: void
    signature: void abortRescan() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BackupWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: wallet::WalletImpl::backupWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BackupWallet
    linkageType: ''
    returnType: bool
    signature: bool backupWallet(const std::string& filename) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: wallet::WalletImpl::getWalletName
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetName
    linkageType: ''
    returnType: std::string
    signature: std::string getWalletName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:158,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' label'
    argTypes:
    - OutputType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: wallet::WalletImpl::getNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetNewDestination
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> getNewDestination(const OutputType type,
      const std::string& label) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:163,1
    - Dst: std::unique_ptr::GetPubKey
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' script'
    - ' address'
    - ' pub_key'
    argTypes:
    - CScript
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: wallet::WalletImpl::getPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPubKey
    - GetSolvingProvider
    linkageType: ''
    returnType: bool
    signature: bool getPubKey(const CScript& script, const CKeyID& address, CPubKey&
      pub_key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignMessage
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' message'
    - ' pkhash'
    - ' str_sig'
    argTypes:
    - std::string
    - PKHash
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: wallet::WalletImpl::signMessage
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SignMessage
    linkageType: ''
    returnType: SigningResult
    signature: SigningResult signMessage(const std::string& message, const PKHash&
      pkhash, std::string& str_sig) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:175,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: wallet::WalletImpl::isSpendable
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsMine
    linkageType: ''
    returnType: bool
    signature: bool isSpendable(const CTxDestination& dest) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAddressBook
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' dest'
    - ' name'
    - ' purpose'
    argTypes:
    - CTxDestination
    - std::string
    - std::optional<AddressPurpose>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: wallet::WalletImpl::setAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SetAddressBook
    linkageType: ''
    returnType: bool
    signature: bool setAddressBook(const CTxDestination& dest, const std::string&
      name, const std::optional<AddressPurpose>& purpose) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelAddressBook
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: wallet::WalletImpl::delAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - DelAddressBook
    linkageType: ''
    returnType: bool
    signature: bool delAddressBook(const CTxDestination& dest) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:191,1
    - Dst: FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:192,1
    - Dst: GetLabel
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:195,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:199,1
    - Dst: purpose::value_or
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ' dest'
    - name
    - is_mine
    - purpose
    argTypes:
    - CTxDestination
    - std::string*
    - isminetype*
    - AddressPurpose*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: wallet::WalletImpl::getAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetLabel
    - LOCK
    - IsMine
    - FindAddressBookEntry
    - purpose::value_or
    linkageType: ''
    returnType: bool
    signature: "bool getAddress(const CTxDestination& dest,\n        std::string*
      name,\n        isminetype* is_mine,\n        AddressPurpose* purpose) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:212,1
    - Dst: ForEachAddrBookEntry
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:214,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:214,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:218,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: wallet::WalletImpl::getAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ForEachAddrBookEntry
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - IsMine
    - value_or
    linkageType: ''
    returnType: std::vector<WalletAddress>
    signature: std::vector<WalletAddress> getAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:223,1
    - Dst: GetAddressReceiveRequests
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: wallet::WalletImpl::getAddressReceiveRequests
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetAddressReceiveRequests
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> getAddressReceiveRequests() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:239,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:240,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:241,1
    - Dst: EraseAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:241,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' dest'
    - ' id'
    - ' value'
    argTypes:
    - CTxDestination
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: wallet::WalletImpl::setAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - EraseAddressReceiveRequest
    - empty
    - LOCK
    - GetDatabase
    - SetAddressReceiveRequest
    linkageType: ''
    returnType: bool
    signature: bool setAddressReceiveRequest(const CTxDestination& dest, const std::string&
      id, const std::string& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:246,1
    - Dst: DisplayAddress
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: wallet::WalletImpl::displayAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - DisplayAddress
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> displayAddress(const CTxDestination& dest) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:251,1
    - Dst: LockCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' output'
    - write_to_db
    argTypes:
    - COutPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: wallet::WalletImpl::lockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LockCoin
    linkageType: ''
    returnType: bool
    signature: bool lockCoin(const COutPoint& output, const bool write_to_db) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:256,1
    - Dst: UnlockCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: wallet::WalletImpl::unlockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - UnlockCoin
    linkageType: ''
    returnType: bool
    signature: bool unlockCoin(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:261,1
    - Dst: IsLockedCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: wallet::WalletImpl::isLockedCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsLockedCoin
    linkageType: ''
    returnType: bool
    signature: bool isLockedCoin(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:266,1
    - Dst: ListLockedCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' outputs'
    argTypes:
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: wallet::WalletImpl::listLockedCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - ListLockedCoins
    linkageType: ''
    returnType: void
    signature: void listLockedCoins(std::vector<COutPoint>& outputs) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:275,1
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:276,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:276,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ' recipients'
    - ' coin_control'
    - sign
    - ' change_pos'
    - ' fee'
    argTypes:
    - std::vector<CRecipient>
    - CCoinControl
    - bool
    - int
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: wallet::WalletImpl::createTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CreateTransaction
    - std::make_optional
    - util::ErrorString
    linkageType: ''
    returnType: util::Result<CTransactionRef>
    signature: "util::Result<CTransactionRef> createTransaction(const std::vector<CRecipient>&
      recipients,\n        const CCoinControl& coin_control,\n        bool sign,\n
      \       int& change_pos,\n        CAmount& fee) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:289,1
    - Dst: CommitTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tx
    - value_map
    - order_form
    argTypes:
    - CTransactionRef
    - WalletValueMap
    - WalletOrderForm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: wallet::WalletImpl::commitTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CommitTransaction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void commitTransaction(CTransactionRef tx,\n        WalletValueMap
      value_map,\n        WalletOrderForm order_form) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionCanBeAbandoned
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: wallet::WalletImpl::transactionCanBeAbandoned
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - TransactionCanBeAbandoned
    linkageType: ''
    returnType: bool
    signature: bool transactionCanBeAbandoned(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:295,1
    - Dst: AbandonTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: wallet::WalletImpl::abandonTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AbandonTransaction
    linkageType: ''
    returnType: bool
    signature: bool abandonTransaction(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::TransactionCanBeBumped
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:300,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: wallet::WalletImpl::transactionCanBeBumped
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::TransactionCanBeBumped
    - get
    linkageType: ''
    returnType: bool
    signature: bool transactionCanBeBumped(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CreateRateBumpTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:310,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' txid'
    - ' coin_control'
    - ' errors'
    - ' old_fee'
    - ' new_fee'
    - ' mtx'
    argTypes:
    - Txid
    - CCoinControl
    - std::vector<bilingual_str>
    - CAmount
    - CAmount
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 11
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: wallet::WalletImpl::createBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CreateRateBumpTransaction
    - get
    linkageType: ''
    returnType: bool
    signature: "bool createBumpTransaction(const Txid& txid,\n        const CCoinControl&
      coin_control,\n        std::vector<bilingual_str>& errors,\n        CAmount&
      old_fee,\n        CAmount& new_fee,\n        CMutableTransaction& mtx) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:312,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mtx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: wallet::WalletImpl::signBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - get
    - wallet::feebumper::SignTransaction
    linkageType: ''
    returnType: bool
    signature: bool signBumpTransaction(CMutableTransaction& mtx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - ' txid'
    - ' mtx'
    - ' errors'
    - ' bumped_txid'
    argTypes:
    - Txid
    - CMutableTransaction
    - std::vector<bilingual_str>
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: wallet::WalletImpl::commitBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CommitTransaction
    - get
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool commitBumpTransaction(const Txid& txid,\n        CMutableTransaction&&
      mtx,\n        std::vector<bilingual_str>& errors,\n        Txid& bumped_txid)
      override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:323,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:324,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: wallet::WalletImpl::getTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mapWallet::end
    - mapWallet::find
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef getTx(const Txid& txid) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:332,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:333,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:334,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: wallet::WalletImpl::getWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletTx
    - LOCK
    - mapWallet::end
    - mapWallet::find
    linkageType: ''
    returnType: WalletTx
    signature: WalletTx getWalletTx(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:341,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:344,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: wallet::WalletImpl::getWalletTxs
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletTx
    - LOCK
    - std::set::emplace
    linkageType: ''
    returnType: std::set<WalletTx>
    signature: std::set<WalletTx> getWalletTxs() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:353,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:358,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:361,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: MakeWalletTxStatus
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' txid'
    - ' tx_status'
    - ' num_blocks'
    - ' block_time'
    argTypes:
    - Txid
    - interfaces::WalletTxStatus
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 366
    functionName: wallet::WalletImpl::tryGetTxStatus
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mapWallet::end
    - FoundBlock
    - GetLastBlockHash
    - chain
    - mapWallet::find
    - GetLastBlockHeight
    - MakeWalletTxStatus
    - CHECK_NONFATAL
    - TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: "bool tryGetTxStatus(const Txid& txid,\n        interfaces::WalletTxStatus&
      tx_status,\n        int& num_blocks,\n        int64_t& block_time) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:373,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:374,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:375,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:376,1
    - Dst: auto::second::InMempool
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:377,1
    - Dst: MakeWalletTxStatus
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:379,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' txid'
    - ' tx_status'
    - ' order_form'
    - ' in_mempool'
    - ' num_blocks'
    argTypes:
    - Txid
    - WalletTxStatus
    - WalletOrderForm
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 383
    functionName: wallet::WalletImpl::getWalletTxDetails
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - auto::second::InMempool
    - mapWallet::end
    - MakeWalletTx
    - LOCK
    - mapWallet::find
    - GetLastBlockHeight
    - MakeWalletTxStatus
    linkageType: ''
    returnType: WalletTx
    signature: "WalletTx getWalletTxDetails(const Txid& txid,\n        WalletTxStatus&
      tx_status,\n        WalletOrderForm& order_form,\n        bool& in_mempool,\n
      \       int& num_blocks) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - sighash_type
    - sign
    - bip32derivs
    - n_signed
    - ' psbtx'
    - ' complete'
    argTypes:
    - std::optional<int>
    - bool
    - bool
    - size_t*
    - PartiallySignedTransaction
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: wallet::WalletImpl::fillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillPSBT
    linkageType: ''
    returnType: std::optional<PSBTError>
    signature: "std::optional<PSBTError> fillPSBT(std::optional<int> sighash_type,\n
      \       bool sign,\n        bool bip32derivs,\n        size_t* n_signed,\n        PartiallySignedTransaction&
      psbtx,\n        bool& complete) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBalance
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: wallet::WalletImpl::getBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 2
    functionsReached:
    - GetBalance
    linkageType: ''
    returnType: WalletBalances
    signature: WalletBalances getBalances() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:404,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:408,1
    - Dst: wallet::WalletImpl::getBalances
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' balances'
    - ' block_hash'
    argTypes:
    - WalletBalances
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: wallet::WalletImpl::tryGetBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletImpl::getBalances
    - GetLastBlockHash
    - TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: bool tryGetBalances(WalletBalances& balances, uint256& block_hash)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBalance
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: wallet::WalletImpl::getBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetBalance
    linkageType: ''
    returnType: CAmount
    signature: CAmount getBalance() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:415,1
    - Dst: HasSelected
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:418,1
    - Dst: FetchSelectedInputs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:422,1
    - Dst: AvailableCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' coin_control'
    argTypes:
    - CCoinControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 413
    functionDepth: 4
    functionLinenumber: 413
    functionLinenumberEnd: 433
    functionName: wallet::WalletImpl::getAvailableBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FetchSelectedInputs
    - LOCK
    - HasSelected
    - AvailableCoins
    linkageType: ''
    returnType: CAmount
    signature: CAmount getAvailableBalance(const CCoinControl& coin_control) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:436,1
    - Dst: InputIsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txin'
    argTypes:
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: wallet::WalletImpl::txinIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - InputIsMine
    linkageType: ''
    returnType: isminetype
    signature: isminetype txinIsMine(const CTxIn& txin) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:441,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txout'
    argTypes:
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: wallet::WalletImpl::txoutIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsMine
    linkageType: ''
    returnType: isminetype
    signature: isminetype txoutIsMine(const CTxOut& txout) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:446,1
    - Dst: GetDebit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' txin'
    - filter
    argTypes:
    - CTxIn
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: wallet::WalletImpl::getDebit
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetDebit
    - LOCK
    linkageType: ''
    returnType: CAmount
    signature: CAmount getDebit(const CTxIn& txin, isminefilter filter) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:451,1
    - Dst: OutputGetCredit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' txout'
    - filter
    argTypes:
    - CTxOut
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: wallet::WalletImpl::getCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - OutputGetCredit
    linkageType: ''
    returnType: CAmount
    signature: CAmount getCredit(const CTxOut& txout, isminefilter filter) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:456,1
    - Dst: ListCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:458,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:461,1
    - Dst: MakeWalletTxOut
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: wallet::WalletImpl::listCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - LOCK
    - ListCoins
    - MakeWalletTxOut
    linkageType: ''
    returnType: CoinsList
    signature: CoinsList listCoins() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:469,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:471,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:471,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:473,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:474,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:475,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:476,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:478,1
    - Dst: MakeWalletTxOut
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' outputs'
    argTypes:
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 483
    functionName: wallet::WalletImpl::getCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::back
    - mapWallet::end
    - size
    - std::vector::reserve
    - LOCK
    - mapWallet::find
    - MakeWalletTxOut
    - GetTxDepthInMainChain
    linkageType: ''
    returnType: std::vector<WalletTxOut>
    signature: std::vector<WalletTxOut> getCoins(const std::vector<COutPoint>& outputs)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRequiredFee
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tx_bytes
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: wallet::WalletImpl::getRequiredFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetRequiredFee
    linkageType: ''
    returnType: CAmount
    signature: CAmount getRequiredFee(unsigned int tx_bytes) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetMinimumFee
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - tx_bytes
    - ' coin_control'
    - returned_target
    - reason
    argTypes:
    - unsigned int
    - CCoinControl
    - int*
    - FeeReason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: wallet::WalletImpl::getMinimumFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetMinimumFee
    linkageType: ''
    returnType: CAmount
    signature: "CAmount getMinimumFee(unsigned int tx_bytes,\n        const CCoinControl&
      coin_control,\n        int* returned_target,\n        FeeReason* reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: wallet::WalletImpl::getConfirmTarget
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getConfirmTarget() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: wallet::WalletImpl::hdEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsHDEnabled
    linkageType: ''
    returnType: bool
    signature: bool hdEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: wallet::WalletImpl::canGetAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - CanGetAddresses
    linkageType: ''
    returnType: bool
    signature: bool canGetAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: wallet::WalletImpl::hasExternalSigner
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool hasExternalSigner() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: wallet::WalletImpl::privateKeysDisabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool privateKeysDisabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: wallet::WalletImpl::taprootEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetScriptPubKeyMan
    linkageType: ''
    returnType: bool
    signature: bool taprootEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: wallet::WalletImpl::getDefaultAddressType
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OutputType
    signature: OutputType getDefaultAddressType() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: wallet::WalletImpl::getDefaultMaxTxFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount getDefaultMaxTxFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemoveWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: wallet::WalletImpl::remove
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 26
    functionsReached:
    - RemoveWallet
    linkageType: ''
    returnType: void
    signature: void remove() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:514,1
    - Dst: NotifyUnload::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - UnloadFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: wallet::WalletImpl::handleUnload
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyUnload::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleUnload(UnloadFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:518,1
    - Dst: ShowProgress::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - ShowProgressFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: wallet::WalletImpl::handleShowProgress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ShowProgress::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    - Dst: NotifyStatusChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - StatusChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: wallet::WalletImpl::handleStatusChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyStatusChanged::connect
    - fn
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleStatusChanged(StatusChangedFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:526,1
    - Dst: NotifyAddressBookChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:526,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - AddressBookChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: wallet::WalletImpl::handleAddressBookChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyAddressBookChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleAddressBookChanged(AddressBookChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:532,1
    - Dst: NotifyTransactionChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:532,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - TransactionChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: wallet::WalletImpl::handleTransactionChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyTransactionChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleTransactionChanged(TransactionChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:537,1
    - Dst: NotifyCanGetAddressesChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - CanGetAddressesChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: wallet::WalletImpl::handleCanGetAddressesChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyCanGetAddressesChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleCanGetAddressesChanged(CanGetAddressesChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: wallet::WalletImpl::wallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: CWallet
    signature: CWallet * wallet() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' chain'
    - ' args'
    argTypes:
    - Chain
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: wallet::WalletLoaderImpl::WalletLoaderImpl
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletLoaderImpl(Chain& chain, ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: ~WalletLoaderImpl() override
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void ~WalletLoaderImpl() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWalletRPCCommands
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:558,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:559,1
    - Dst: actor
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:562,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    - Dst: chain::handleRpc
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: wallet::WalletLoaderImpl::registerRpcs
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chain::handleRpc
    - actor
    - back
    - GetWalletRPCCommands
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void registerRpcs() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: wallet::WalletLoaderImpl::verify
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - VerifyWallets
    linkageType: ''
    returnType: bool
    signature: bool verify() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: wallet::WalletLoaderImpl::load
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadWallets
    linkageType: ''
    returnType: bool
    signature: bool load() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scheduler'
    argTypes:
    - CScheduler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: wallet::WalletLoaderImpl::start
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - StartWallets
    linkageType: ''
    returnType: void
    signature: void start(CScheduler& scheduler) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnloadWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 574
    functionName: wallet::WalletLoaderImpl::stop
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - UnloadWallets
    linkageType: ''
    returnType: void
    signature: void stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: wallet::WalletLoaderImpl::setMockTime
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SetMockTime
    linkageType: ''
    returnType: void
    signature: void setMockTime(int64_t time) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delta
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: wallet::WalletLoaderImpl::schedulerMockForward
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: void
    signature: void schedulerMockForward(std::chrono::seconds delta) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:583,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:588,1
    - Dst: CreateWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ' name'
    - ' passphrase'
    - wallet_creation_flags
    - ' warnings'
    argTypes:
    - std::string
    - SecureString
    - uint64_t
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: wallet::WalletLoaderImpl::createWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - CreateWallet
    - ReadDatabaseArgs
    - MakeWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> createWallet(const std::string&
      name, const SecureString& passphrase, uint64_t wallet_creation_flags, std::vector<bilingual_str>&
      warnings) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:599,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:602,1
    - Dst: LoadWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' warnings'
    argTypes:
    - std::string
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 608
    functionName: wallet::WalletLoaderImpl::loadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ReadDatabaseArgs
    - LoadWallet
    - MakeWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> loadWallet(const std::string&
      name, std::vector<bilingual_str>& warnings) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:613,1
    - Dst: RestoreWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' backup_file'
    - ' wallet_name'
    - ' warnings'
    argTypes:
    - fs::path
    - std::string
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: wallet::WalletLoaderImpl::restoreWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWallet
    - RestoreWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> restoreWallet(const fs::path&
      backup_file, const std::string& wallet_name, std::vector<bilingual_str>& warnings)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MigrateLegacyToDescriptor
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:622,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:623,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:625,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:626,1
    - Dst: auto::watchonly_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:626,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:627,1
    - Dst: auto::solvables_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' passphrase'
    argTypes:
    - std::string
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: wallet::WalletLoaderImpl::migrateWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    - auto::watchonly_wallet::GetName
    - std::make_optional
    - MigrateLegacyToDescriptor
    - MakeWallet
    - auto::solvables_wallet::GetName
    linkageType: ''
    returnType: util::Result<WalletMigrationResult>
    signature: util::Result<WalletMigrationResult> migrateWallet(const std::string&
      name, const SecureString& passphrase) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:634,1
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:636,1
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:636,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:643,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:646,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' wallet_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 650
    functionName: wallet::WalletLoaderImpl::isEncrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - WalletBatch
    - GetWallets
    - GetName
    - IsCrypted
    - MakeWalletDatabase
    - auto::end
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool isEncrypted(const std::string& wallet_name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:653,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: wallet::WalletLoaderImpl::getWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetWalletDir
    - fs::PathToString
    linkageType: ''
    returnType: std::string
    signature: std::string getWalletDir() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ListDatabases
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:658,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:658,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:659,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 662
    functionName: wallet::WalletLoaderImpl::listWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ListDatabases
    - GetWalletDir
    - std::vector::emplace_back
    - fs::PathToString
    linkageType: ''
    returnType: std::vector<std::pair<std::string, std::string>>
    signature: std::vector<std::pair<std::string, std::string>> listWalletDir() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:666,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:667,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: wallet::WalletLoaderImpl::getWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWallet
    - GetWallets
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Wallet>>
    signature: std::vector<std::unique_ptr<Wallet>> getWallets() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HandleLoadWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:673,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - LoadWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionName: wallet::WalletLoaderImpl::handleLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - HandleLoadWallet
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleLoadWallet(LoadWalletFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: wallet::WalletLoaderImpl::context
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WalletContext
    signature: WalletContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:61,1
    - Dst: WalletTx::txin_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:64,1
    - Dst: tx::vin::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:64,1
    - Dst: WalletTx::txin_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:66,1
    - Dst: wallet::InputIsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:66,1
    - Dst: WalletTx::txout_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:68,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:68,1
    - Dst: WalletTx::txout_address::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:69,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:69,1
    - Dst: WalletTx::txout_address_is_mine::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:70,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:70,1
    - Dst: WalletTx::txout_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:72,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:72,1
    - Dst: WalletTx::txout_is_change::push_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:73,1
    - Dst: wallet::OutputIsChange
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:73,1
    - Dst: WalletTx::txout_address::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:74,1
    - Dst: WalletTx::txout_address_is_mine::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: WalletTx::txout_address::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:75,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:76,1
    - Dst: WalletTx::txout_address::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:76,1
    - Dst: wallet::CachedTxGetCredit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:79,1
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:80,1
    - Dst: wallet::CachedTxGetChange
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:81,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:82,1
    - Dst: IsCoinBase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ' wallet'
    - ' wtx'
    argTypes:
    - CWallet
    - CWalletTx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 8
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: wallet::MakeWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::OutputIsChange
    - tx::vout::size
    - WalletTx::txout_address::back
    - WalletTx::txout_address_is_mine::emplace_back
    - wallet::CachedTxGetChange
    - WalletTx::txin_is_mine::reserve
    - WalletTx::txout_address_is_mine::reserve
    - IsMine
    - WalletTx::txout_is_change::push_back
    - WalletTx::txout_is_mine::reserve
    - tx::vin::size
    - wallet::CachedTxGetDebit
    - WalletTx::txout_address::emplace_back
    - wallet::CachedTxGetCredit
    - WalletTx::txout_address::reserve
    - wallet::InputIsMine
    - WalletTx::txout_is_mine::emplace_back
    - ExtractDestination
    - GetTxTime
    - LOCK
    - IsCoinBase
    - WalletTx::txin_is_mine::emplace_back
    linkageType: ''
    returnType: WalletTx
    signature: WalletTx MakeWalletTx(CWallet& wallet, const CWalletTx& wtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - WalletContext
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: wallet::WalletImpl::WalletImpl
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletImpl(WalletContext& context, const std::shared_ptr<CWallet>&
      wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncryptWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet_passphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: wallet::WalletImpl::encryptWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - EncryptWallet
    linkageType: ''
    returnType: bool
    signature: bool encryptWallet(const SecureString& wallet_passphrase) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: wallet::WalletImpl::isCrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsCrypted
    linkageType: ''
    returnType: bool
    signature: bool isCrypted() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: wallet::WalletImpl::lock
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Lock
    linkageType: ''
    returnType: bool
    signature: bool lock() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unlock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet_passphrase'
    argTypes:
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: wallet::WalletImpl::unlock
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 2
    functionsReached:
    - Unlock
    linkageType: ''
    returnType: bool
    signature: bool unlock(const SecureString& wallet_passphrase) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: wallet::WalletImpl::isLocked
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsLocked
    linkageType: ''
    returnType: bool
    signature: bool isLocked() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChangeWalletPassphrase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' old_wallet_passphrase'
    - ' new_wallet_passphrase'
    argTypes:
    - SecureString
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: wallet::WalletImpl::changeWalletPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ChangeWalletPassphrase
    linkageType: ''
    returnType: bool
    signature: "bool changeWalletPassphrase(const SecureString& old_wallet_passphrase,\n
      \       const SecureString& new_wallet_passphrase) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbortRescan
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: wallet::WalletImpl::abortRescan
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - AbortRescan
    linkageType: ''
    returnType: void
    signature: void abortRescan() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BackupWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: wallet::WalletImpl::backupWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - BackupWallet
    linkageType: ''
    returnType: bool
    signature: bool backupWallet(const std::string& filename) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: wallet::WalletImpl::getWalletName
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetName
    linkageType: ''
    returnType: std::string
    signature: std::string getWalletName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:158,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - ' label'
    argTypes:
    - OutputType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: wallet::WalletImpl::getNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetNewDestination
    linkageType: ''
    returnType: util::Result<CTxDestination>
    signature: util::Result<CTxDestination> getNewDestination(const OutputType type,
      const std::string& label) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:163,1
    - Dst: std::unique_ptr::GetPubKey
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' script'
    - ' address'
    - ' pub_key'
    argTypes:
    - CScript
    - CKeyID
    - CPubKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: wallet::WalletImpl::getPubKey
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPubKey
    - GetSolvingProvider
    linkageType: ''
    returnType: bool
    signature: bool getPubKey(const CScript& script, const CKeyID& address, CPubKey&
      pub_key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignMessage
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' message'
    - ' pkhash'
    - ' str_sig'
    argTypes:
    - std::string
    - PKHash
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: wallet::WalletImpl::signMessage
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SignMessage
    linkageType: ''
    returnType: SigningResult
    signature: SigningResult signMessage(const std::string& message, const PKHash&
      pkhash, std::string& str_sig) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:175,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: wallet::WalletImpl::isSpendable
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsMine
    linkageType: ''
    returnType: bool
    signature: bool isSpendable(const CTxDestination& dest) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAddressBook
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' dest'
    - ' name'
    - ' purpose'
    argTypes:
    - CTxDestination
    - std::string
    - std::optional<AddressPurpose>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: wallet::WalletImpl::setAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SetAddressBook
    linkageType: ''
    returnType: bool
    signature: bool setAddressBook(const CTxDestination& dest, const std::string&
      name, const std::optional<AddressPurpose>& purpose) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelAddressBook
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: wallet::WalletImpl::delAddressBook
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - DelAddressBook
    linkageType: ''
    returnType: bool
    signature: bool delAddressBook(const CTxDestination& dest) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:191,1
    - Dst: FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:192,1
    - Dst: GetLabel
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:195,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:199,1
    - Dst: purpose::value_or
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ' dest'
    - name
    - is_mine
    - purpose
    argTypes:
    - CTxDestination
    - std::string*
    - isminetype*
    - AddressPurpose*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: wallet::WalletImpl::getAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetLabel
    - LOCK
    - IsMine
    - FindAddressBookEntry
    - purpose::value_or
    linkageType: ''
    returnType: bool
    signature: "bool getAddress(const CTxDestination& dest,\n        std::string*
      name,\n        isminetype* is_mine,\n        AddressPurpose* purpose) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:212,1
    - Dst: ForEachAddrBookEntry
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:214,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:214,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:218,1
    - Dst: value_or
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: wallet::WalletImpl::getAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ForEachAddrBookEntry
    - LOCK
    - EXCLUSIVE_LOCKS_REQUIRED
    - IsMine
    - value_or
    linkageType: ''
    returnType: std::vector<WalletAddress>
    signature: std::vector<WalletAddress> getAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:223,1
    - Dst: GetAddressReceiveRequests
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: wallet::WalletImpl::getAddressReceiveRequests
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - GetAddressReceiveRequests
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> getAddressReceiveRequests() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:239,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:240,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:241,1
    - Dst: EraseAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:241,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' dest'
    - ' id'
    - ' value'
    argTypes:
    - CTxDestination
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: wallet::WalletImpl::setAddressReceiveRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - EraseAddressReceiveRequest
    - empty
    - LOCK
    - GetDatabase
    - SetAddressReceiveRequest
    linkageType: ''
    returnType: bool
    signature: bool setAddressReceiveRequest(const CTxDestination& dest, const std::string&
      id, const std::string& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:246,1
    - Dst: DisplayAddress
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: wallet::WalletImpl::displayAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - DisplayAddress
    linkageType: ''
    returnType: util::Result<void>
    signature: util::Result<void> displayAddress(const CTxDestination& dest) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:251,1
    - Dst: LockCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' output'
    - write_to_db
    argTypes:
    - COutPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: wallet::WalletImpl::lockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - LockCoin
    linkageType: ''
    returnType: bool
    signature: bool lockCoin(const COutPoint& output, const bool write_to_db) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:256,1
    - Dst: UnlockCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: wallet::WalletImpl::unlockCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - UnlockCoin
    linkageType: ''
    returnType: bool
    signature: bool unlockCoin(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:261,1
    - Dst: IsLockedCoin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - COutPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: wallet::WalletImpl::isLockedCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsLockedCoin
    linkageType: ''
    returnType: bool
    signature: bool isLockedCoin(const COutPoint& output) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:266,1
    - Dst: ListLockedCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' outputs'
    argTypes:
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: wallet::WalletImpl::listLockedCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - ListLockedCoins
    linkageType: ''
    returnType: void
    signature: void listLockedCoins(std::vector<COutPoint>& outputs) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:275,1
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:276,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:276,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ' recipients'
    - ' coin_control'
    - sign
    - ' change_pos'
    - ' fee'
    argTypes:
    - std::vector<CRecipient>
    - CCoinControl
    - bool
    - int
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: wallet::WalletImpl::createTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CreateTransaction
    - std::make_optional
    - util::ErrorString
    linkageType: ''
    returnType: util::Result<CTransactionRef>
    signature: "util::Result<CTransactionRef> createTransaction(const std::vector<CRecipient>&
      recipients,\n        const CCoinControl& coin_control,\n        bool sign,\n
      \       int& change_pos,\n        CAmount& fee) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:289,1
    - Dst: CommitTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tx
    - value_map
    - order_form
    argTypes:
    - CTransactionRef
    - WalletValueMap
    - WalletOrderForm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: wallet::WalletImpl::commitTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - CommitTransaction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void commitTransaction(CTransactionRef tx,\n        WalletValueMap
      value_map,\n        WalletOrderForm order_form) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionCanBeAbandoned
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: wallet::WalletImpl::transactionCanBeAbandoned
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - TransactionCanBeAbandoned
    linkageType: ''
    returnType: bool
    signature: bool transactionCanBeAbandoned(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:295,1
    - Dst: AbandonTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: wallet::WalletImpl::abandonTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - AbandonTransaction
    linkageType: ''
    returnType: bool
    signature: bool abandonTransaction(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::TransactionCanBeBumped
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:300,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: wallet::WalletImpl::transactionCanBeBumped
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::TransactionCanBeBumped
    - get
    linkageType: ''
    returnType: bool
    signature: bool transactionCanBeBumped(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CreateRateBumpTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:310,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' txid'
    - ' coin_control'
    - ' errors'
    - ' old_fee'
    - ' new_fee'
    - ' mtx'
    argTypes:
    - Txid
    - CCoinControl
    - std::vector<bilingual_str>
    - CAmount
    - CAmount
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 11
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: wallet::WalletImpl::createBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CreateRateBumpTransaction
    - get
    linkageType: ''
    returnType: bool
    signature: "bool createBumpTransaction(const Txid& txid,\n        const CCoinControl&
      coin_control,\n        std::vector<bilingual_str>& errors,\n        CAmount&
      old_fee,\n        CAmount& new_fee,\n        CMutableTransaction& mtx) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:312,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mtx'
    argTypes:
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: wallet::WalletImpl::signBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - get
    - wallet::feebumper::SignTransaction
    linkageType: ''
    returnType: bool
    signature: bool signBumpTransaction(CMutableTransaction& mtx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - ' txid'
    - ' mtx'
    - ' errors'
    - ' bumped_txid'
    argTypes:
    - Txid
    - CMutableTransaction
    - std::vector<bilingual_str>
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: wallet::WalletImpl::commitBumpTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CommitTransaction
    - get
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool commitBumpTransaction(const Txid& txid,\n        CMutableTransaction&&
      mtx,\n        std::vector<bilingual_str>& errors,\n        Txid& bumped_txid)
      override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:323,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:324,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: wallet::WalletImpl::getTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - mapWallet::end
    - mapWallet::find
    linkageType: ''
    returnType: CTransactionRef
    signature: CTransactionRef getTx(const Txid& txid) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:332,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:333,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:334,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' txid'
    argTypes:
    - Txid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: wallet::WalletImpl::getWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletTx
    - LOCK
    - mapWallet::end
    - mapWallet::find
    linkageType: ''
    returnType: WalletTx
    signature: WalletTx getWalletTx(const Txid& txid) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:341,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:344,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: wallet::WalletImpl::getWalletTxs
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWalletTx
    - LOCK
    - std::set::emplace
    linkageType: ''
    returnType: std::set<WalletTx>
    signature: std::set<WalletTx> getWalletTxs() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:353,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:357,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:358,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:361,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:363,1
    - Dst: MakeWalletTxStatus
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' txid'
    - ' tx_status'
    - ' num_blocks'
    - ' block_time'
    argTypes:
    - Txid
    - interfaces::WalletTxStatus
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 366
    functionName: wallet::WalletImpl::tryGetTxStatus
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - mapWallet::end
    - FoundBlock
    - GetLastBlockHash
    - chain
    - mapWallet::find
    - GetLastBlockHeight
    - MakeWalletTxStatus
    - CHECK_NONFATAL
    - TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: "bool tryGetTxStatus(const Txid& txid,\n        interfaces::WalletTxStatus&
      tx_status,\n        int& num_blocks,\n        int64_t& block_time) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:373,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:374,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:375,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:376,1
    - Dst: auto::second::InMempool
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:377,1
    - Dst: MakeWalletTxStatus
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:379,1
    - Dst: MakeWalletTx
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' txid'
    - ' tx_status'
    - ' order_form'
    - ' in_mempool'
    - ' num_blocks'
    argTypes:
    - Txid
    - WalletTxStatus
    - WalletOrderForm
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 383
    functionName: wallet::WalletImpl::getWalletTxDetails
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - auto::second::InMempool
    - mapWallet::end
    - MakeWalletTx
    - LOCK
    - mapWallet::find
    - GetLastBlockHeight
    - MakeWalletTxStatus
    linkageType: ''
    returnType: WalletTx
    signature: "WalletTx getWalletTxDetails(const Txid& txid,\n        WalletTxStatus&
      tx_status,\n        WalletOrderForm& order_form,\n        bool& in_mempool,\n
      \       int& num_blocks) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - sighash_type
    - sign
    - bip32derivs
    - n_signed
    - ' psbtx'
    - ' complete'
    argTypes:
    - std::optional<int>
    - bool
    - bool
    - size_t*
    - PartiallySignedTransaction
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: wallet::WalletImpl::fillPSBT
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FillPSBT
    linkageType: ''
    returnType: std::optional<PSBTError>
    signature: "std::optional<PSBTError> fillPSBT(std::optional<int> sighash_type,\n
      \       bool sign,\n        bool bip32derivs,\n        size_t* n_signed,\n        PartiallySignedTransaction&
      psbtx,\n        bool& complete) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBalance
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: wallet::WalletImpl::getBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 3
    functionsReached:
    - GetBalance
    linkageType: ''
    returnType: WalletBalances
    signature: WalletBalances getBalances() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRY_LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:404,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:408,1
    - Dst: wallet::WalletImpl::getBalances
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' balances'
    - ' block_hash'
    argTypes:
    - WalletBalances
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: wallet::WalletImpl::tryGetBalances
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - wallet::WalletImpl::getBalances
    - GetLastBlockHash
    - TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: bool tryGetBalances(WalletBalances& balances, uint256& block_hash)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBalance
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: wallet::WalletImpl::getBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetBalance
    linkageType: ''
    returnType: CAmount
    signature: CAmount getBalance() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:415,1
    - Dst: HasSelected
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:418,1
    - Dst: FetchSelectedInputs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:422,1
    - Dst: AvailableCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' coin_control'
    argTypes:
    - CCoinControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 413
    functionDepth: 4
    functionLinenumber: 413
    functionLinenumberEnd: 433
    functionName: wallet::WalletImpl::getAvailableBalance
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - FetchSelectedInputs
    - LOCK
    - HasSelected
    - AvailableCoins
    linkageType: ''
    returnType: CAmount
    signature: CAmount getAvailableBalance(const CCoinControl& coin_control) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:436,1
    - Dst: InputIsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txin'
    argTypes:
    - CTxIn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: wallet::WalletImpl::txinIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - InputIsMine
    linkageType: ''
    returnType: isminetype
    signature: isminetype txinIsMine(const CTxIn& txin) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:441,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' txout'
    argTypes:
    - CTxOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: wallet::WalletImpl::txoutIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - IsMine
    linkageType: ''
    returnType: isminetype
    signature: isminetype txoutIsMine(const CTxOut& txout) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:446,1
    - Dst: GetDebit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' txin'
    - filter
    argTypes:
    - CTxIn
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: wallet::WalletImpl::getDebit
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetDebit
    - LOCK
    linkageType: ''
    returnType: CAmount
    signature: CAmount getDebit(const CTxIn& txin, isminefilter filter) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:451,1
    - Dst: OutputGetCredit
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' txout'
    - filter
    argTypes:
    - CTxOut
    - isminefilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: wallet::WalletImpl::getCredit
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LOCK
    - OutputGetCredit
    linkageType: ''
    returnType: CAmount
    signature: CAmount getCredit(const CTxOut& txout, isminefilter filter) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:456,1
    - Dst: ListCoins
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:458,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:461,1
    - Dst: MakeWalletTxOut
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: wallet::WalletImpl::listCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - LOCK
    - ListCoins
    - MakeWalletTxOut
    linkageType: ''
    returnType: CoinsList
    signature: CoinsList listCoins() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:469,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:471,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:471,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:473,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:474,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:475,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:476,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:478,1
    - Dst: MakeWalletTxOut
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' outputs'
    argTypes:
    - std::vector<COutPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 483
    functionName: wallet::WalletImpl::getCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::back
    - mapWallet::end
    - size
    - std::vector::reserve
    - LOCK
    - mapWallet::find
    - MakeWalletTxOut
    - GetTxDepthInMainChain
    linkageType: ''
    returnType: std::vector<WalletTxOut>
    signature: std::vector<WalletTxOut> getCoins(const std::vector<COutPoint>& outputs)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRequiredFee
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tx_bytes
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: wallet::WalletImpl::getRequiredFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetRequiredFee
    linkageType: ''
    returnType: CAmount
    signature: CAmount getRequiredFee(unsigned int tx_bytes) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetMinimumFee
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - tx_bytes
    - ' coin_control'
    - returned_target
    - reason
    argTypes:
    - unsigned int
    - CCoinControl
    - int*
    - FeeReason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: wallet::WalletImpl::getMinimumFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetMinimumFee
    linkageType: ''
    returnType: CAmount
    signature: "CAmount getMinimumFee(unsigned int tx_bytes,\n        const CCoinControl&
      coin_control,\n        int* returned_target,\n        FeeReason* reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: wallet::WalletImpl::getConfirmTarget
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getConfirmTarget() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsHDEnabled
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: wallet::WalletImpl::hdEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsHDEnabled
    linkageType: ''
    returnType: bool
    signature: bool hdEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: wallet::WalletImpl::canGetAddresses
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - CanGetAddresses
    linkageType: ''
    returnType: bool
    signature: bool canGetAddresses() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: wallet::WalletImpl::hasExternalSigner
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool hasExternalSigner() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: wallet::WalletImpl::privateKeysDisabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - IsWalletFlagSet
    linkageType: ''
    returnType: bool
    signature: bool privateKeysDisabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: wallet::WalletImpl::taprootEnabled
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetScriptPubKeyMan
    linkageType: ''
    returnType: bool
    signature: bool taprootEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: wallet::WalletImpl::getDefaultAddressType
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OutputType
    signature: OutputType getDefaultAddressType() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: wallet::WalletImpl::getDefaultMaxTxFee
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount getDefaultMaxTxFee() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemoveWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: wallet::WalletImpl::remove
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 26
    functionsReached:
    - RemoveWallet
    linkageType: ''
    returnType: void
    signature: void remove() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:514,1
    - Dst: NotifyUnload::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - UnloadFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: wallet::WalletImpl::handleUnload
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyUnload::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleUnload(UnloadFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:518,1
    - Dst: ShowProgress::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - ShowProgressFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: wallet::WalletImpl::handleShowProgress
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - ShowProgress::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    - Dst: NotifyStatusChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - StatusChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: wallet::WalletImpl::handleStatusChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyStatusChanged::connect
    - fn
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleStatusChanged(StatusChangedFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:526,1
    - Dst: NotifyAddressBookChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:526,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - AddressBookChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: wallet::WalletImpl::handleAddressBookChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyAddressBookChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleAddressBookChanged(AddressBookChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:532,1
    - Dst: NotifyTransactionChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:532,1
    - Dst: fn
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - TransactionChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: wallet::WalletImpl::handleTransactionChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - fn
    - NotifyTransactionChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleTransactionChanged(TransactionChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeSignalHandler
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:537,1
    - Dst: NotifyCanGetAddressesChanged::connect
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - CanGetAddressesChangedFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: wallet::WalletImpl::handleCanGetAddressesChanged
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeSignalHandler
    - NotifyCanGetAddressesChanged::connect
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleCanGetAddressesChanged(CanGetAddressesChangedFn
      fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: wallet::WalletImpl::wallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: CWallet
    signature: CWallet * wallet() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' chain'
    - ' args'
    argTypes:
    - Chain
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: wallet::WalletLoaderImpl::WalletLoaderImpl
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WalletLoaderImpl(Chain& chain, ArgsManager& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: ~WalletLoaderImpl() override
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void ~WalletLoaderImpl() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWalletRPCCommands
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:558,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:559,1
    - Dst: actor
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:562,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    - Dst: chain::handleRpc
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: wallet::WalletLoaderImpl::registerRpcs
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - chain::handleRpc
    - actor
    - back
    - GetWalletRPCCommands
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void registerRpcs() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: wallet::WalletLoaderImpl::verify
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - VerifyWallets
    linkageType: ''
    returnType: bool
    signature: bool verify() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: wallet::WalletLoaderImpl::load
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - LoadWallets
    linkageType: ''
    returnType: bool
    signature: bool load() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scheduler'
    argTypes:
    - CScheduler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: wallet::WalletLoaderImpl::start
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - StartWallets
    linkageType: ''
    returnType: void
    signature: void start(CScheduler& scheduler) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnloadWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 574
    functionName: wallet::WalletLoaderImpl::stop
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - UnloadWallets
    linkageType: ''
    returnType: void
    signature: void stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: wallet::WalletLoaderImpl::setMockTime
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - SetMockTime
    linkageType: ''
    returnType: void
    signature: void setMockTime(int64_t time) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delta
    argTypes:
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: wallet::WalletLoaderImpl::schedulerMockForward
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: void
    signature: void schedulerMockForward(std::chrono::seconds delta) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:583,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:588,1
    - Dst: CreateWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ' name'
    - ' passphrase'
    - wallet_creation_flags
    - ' warnings'
    argTypes:
    - std::string
    - SecureString
    - uint64_t
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: wallet::WalletLoaderImpl::createWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - CreateWallet
    - ReadDatabaseArgs
    - MakeWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> createWallet(const std::string&
      name, const SecureString& passphrase, uint64_t wallet_creation_flags, std::vector<bilingual_str>&
      warnings) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:599,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:602,1
    - Dst: LoadWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' warnings'
    argTypes:
    - std::string
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 608
    functionName: wallet::WalletLoaderImpl::loadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ReadDatabaseArgs
    - LoadWallet
    - MakeWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> loadWallet(const std::string&
      name, std::vector<bilingual_str>& warnings) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:613,1
    - Dst: RestoreWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' backup_file'
    - ' wallet_name'
    - ' warnings'
    argTypes:
    - fs::path
    - std::string
    - std::vector<bilingual_str>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: wallet::WalletLoaderImpl::restoreWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWallet
    - RestoreWallet
    linkageType: ''
    returnType: util::Result<std::unique_ptr<Wallet>>
    signature: util::Result<std::unique_ptr<Wallet>> restoreWallet(const fs::path&
      backup_file, const std::string& wallet_name, std::vector<bilingual_str>& warnings)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MigrateLegacyToDescriptor
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:622,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:623,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:625,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:626,1
    - Dst: auto::watchonly_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:626,1
    - Dst: std::make_optional
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:627,1
    - Dst: auto::solvables_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' passphrase'
    argTypes:
    - std::string
    - SecureString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: wallet::WalletLoaderImpl::migrateWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    - auto::watchonly_wallet::GetName
    - std::make_optional
    - MigrateLegacyToDescriptor
    - MakeWallet
    - auto::solvables_wallet::GetName
    linkageType: ''
    returnType: util::Result<WalletMigrationResult>
    signature: util::Result<WalletMigrationResult> migrateWallet(const std::string&
      name, const SecureString& passphrase) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:634,1
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:635,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:636,1
    - Dst: IsCrypted
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:636,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:643,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:646,1
    - Dst: WalletBatch
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' wallet_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 650
    functionName: wallet::WalletLoaderImpl::isEncrypted
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - WalletBatch
    - GetWallets
    - GetName
    - IsCrypted
    - MakeWalletDatabase
    - auto::end
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool isEncrypted(const std::string& wallet_name) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:653,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: wallet::WalletLoaderImpl::getWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - GetWalletDir
    - fs::PathToString
    linkageType: ''
    returnType: std::string
    signature: std::string getWalletDir() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ListDatabases
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:658,1
    - Dst: GetWalletDir
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:658,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:659,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 662
    functionName: wallet::WalletLoaderImpl::listWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - ListDatabases
    - GetWalletDir
    - std::vector::emplace_back
    - fs::PathToString
    linkageType: ''
    returnType: std::vector<std::pair<std::string, std::string>>
    signature: std::vector<std::pair<std::string, std::string>> listWalletDir() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWallets
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:666,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:667,1
    - Dst: MakeWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: wallet::WalletLoaderImpl::getWallets
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - MakeWallet
    - GetWallets
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Wallet>>
    signature: std::vector<std::unique_ptr<Wallet>> getWallets() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HandleLoadWallet
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:673,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - LoadWalletFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionName: wallet::WalletLoaderImpl::handleLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached:
    - HandleLoadWallet
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handler>
    signature: std::unique_ptr<Handler> handleLoadWallet(LoadWalletFn fn) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: wallet::WalletLoaderImpl::context
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WalletContext
    signature: WalletContext * context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<wallet::WalletImpl>
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - wallet::WalletContext
    - std::shared_ptr<wallet::CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 686
    functionName: interfaces::MakeWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 6
    functionsReached:
    - std::make_unique<wallet::WalletImpl>
    linkageType: ''
    returnType: std::unique_ptr<Wallet>
    signature: std::unique_ptr<Wallet> MakeWallet(wallet::WalletContext& context,
      const std::shared_ptr<wallet::CWallet>& wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<wallet::WalletLoaderImpl>
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' chain'
    - ' args'
    argTypes:
    - Chain
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: interfaces::MakeWalletLoader
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 4
    functionsReached:
    - std::make_unique<wallet::WalletLoaderImpl>
    linkageType: ''
    returnType: std::unique_ptr<WalletLoader>
    signature: std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager&
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<wallet::WalletImpl>
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' context'
    - ' wallet'
    argTypes:
    - wallet::WalletContext
    - std::shared_ptr<wallet::CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 686
    functionName: interfaces::MakeWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 6
    functionsReached:
    - std::make_unique<wallet::WalletImpl>
    linkageType: ''
    returnType: std::unique_ptr<Wallet>
    signature: std::unique_ptr<Wallet> MakeWallet(wallet::WalletContext& context,
      const std::shared_ptr<wallet::CWallet>& wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<wallet::WalletLoaderImpl>
      Src: /src/bitcoin-core/src/wallet/interfaces.cpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' chain'
    - ' args'
    argTypes:
    - Chain
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: interfaces::MakeWalletLoader
    functionSourceFile: /src/bitcoin-core/src/wallet/interfaces.cpp
    functionUses: 4
    functionsReached:
    - std::make_unique<wallet::WalletLoaderImpl>
    linkageType: ''
    returnType: std::unique_ptr<WalletLoader>
    signature: std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager&
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: wallet::TypesCount
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t TypesCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: wallet::GetTotalAmount
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetTotalAmount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: wallet::GetEffectiveTotalAmount
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CAmount>
    signature: std::optional<CAmount> GetEffectiveTotalAmount()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.h:174,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/spend.h:176,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/spend.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' output'
    - subtract_fee_outputs
    argTypes:
    - COutput
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: wallet::Insert
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 0
    functionsReached:
    - insert
    - wallet::GetEffectiveValue
    - std::make_shared<COutput>
    linkageType: ''
    returnType: void
    signature: void Insert(const COutput& output, bool subtract_fee_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - _tx
    - _fee
    - _change_pos
    - ' _fee_calc'
    argTypes:
    - CTransactionRef
    - CAmount
    - std::optional<unsigned int>
    - FeeCalculation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: wallet::CreatedTransactionResult
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CreatedTransactionResult(CTransactionRef _tx, CAmount _fee, std::optional<unsigned
      int> _change_pos, const FeeCalculation& _fee_calc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/spend.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: wallet::TypesCount
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t TypesCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: wallet::GetTotalAmount
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: CAmount
    signature: CAmount GetTotalAmount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: wallet::GetEffectiveTotalAmount
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CAmount>
    signature: std::optional<CAmount> GetEffectiveTotalAmount()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/spend.h:174,1
    - Dst: insert
      Src: /src/bitcoin-core/src/wallet/spend.h:176,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/spend.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' output'
    - subtract_fee_outputs
    argTypes:
    - COutput
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: wallet::Insert
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 0
    functionsReached:
    - insert
    - wallet::GetEffectiveValue
    - std::make_shared<COutput>
    linkageType: ''
    returnType: void
    signature: void Insert(const COutput& output, bool subtract_fee_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - _tx
    - _fee
    - _change_pos
    - ' _fee_calc'
    argTypes:
    - CTransactionRef
    - CAmount
    - std::optional<unsigned int>
    - FeeCalculation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: wallet::CreatedTransactionResult
    functionSourceFile: /src/bitcoin-core/src/wallet/spend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CreatedTransactionResult(CTransactionRef _tx, CAmount _fee, std::optional<unsigned
      int> _change_pos, const FeeCalculation& _fee_calc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' block_hash'
    - height
    - index
    argTypes:
    - uint256
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: wallet::TxStateConfirmed
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxStateConfirmed(const uint256& block_hash, int height, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:38,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/transaction.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - ToString
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' block_hash'
    - height
    argTypes:
    - uint256
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: wallet::TxStateBlockConflicted
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxStateBlockConflicted(const uint256& block_hash, int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:52,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/transaction.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - ToString
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: wallet::TxStateInactive
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxStateInactive(bool abandoned = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' block_hash'
    - index
    argTypes:
    - uint256
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: wallet::TxStateUnrecognized
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxStateUnrecognized(const uint256& block_hash, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:75,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/transaction.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - ToString
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - TxStateUnrecognized
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: wallet::TxStateInterpretSerialized
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxState
    signature: TxState TxStateInterpretSerialized(TxStateUnrecognized data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/transaction.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - TxState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: wallet::TxStateSerializedBlockHash
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: uint256
    signature: uint256 TxStateSerializedBlockHash(const TxState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/transaction.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - TxState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: wallet::TxStateSerializedIndex
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: int
    signature: int TxStateSerializedIndex(const TxState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/transaction.h:127,1
    - Dst: wallet::toString
      Src: /src/bitcoin-core/src/wallet/transaction.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: wallet::TxStateString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::toString
    - std::visit
    linkageType: ''
    returnType: std::string
    signature: std::string TxStateString(const T& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/transaction.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: wallet::Reset
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/bitcoin-core/src/wallet/transaction.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - value
    argTypes:
    - isminefilter
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: wallet::Set
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 4
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void Set(isminefilter filter, CAmount value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/transaction.h:165,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/transaction.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: wallet::CMerkleTx::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - TX_WITH_WITNESS
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/transaction.h:234,1
    - Dst: wallet::CWalletTx::Init
      Src: /src/bitcoin-core/src/wallet/transaction.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tx
    - ' state'
    argTypes:
    - CTransactionRef
    - TxState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: wallet::CWalletTx::CWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::Init
    - std::move
    linkageType: ''
    returnType: void
    signature: void CWalletTx(CTransactionRef tx, const TxState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/transaction.h:241,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/transaction.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: wallet::CWalletTx::Init
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/wallet/transaction.h:268,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:271,1
    - Dst: TxStateSerializedBlockHash
      Src: /src/bitcoin-core/src/wallet/transaction.h:278,1
    - Dst: TxStateSerializedIndex
      Src: /src/bitcoin-core/src/wallet/transaction.h:279,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/transaction.h:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: wallet::CWalletTx::Serialize
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - util::ToString
    - TxStateSerializedBlockHash
    - TxStateSerializedIndex
    - strprintf
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::Init
      Src: /src/bitcoin-core/src/wallet/transaction.h:286,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/transaction.h:292,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/transaction.h:294,1
    - Dst: TxStateInterpretSerialized
      Src: /src/bitcoin-core/src/wallet/transaction.h:296,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/transaction.h:298,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/transaction.h:299,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/wallet/transaction.h:299,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/transaction.h:300,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/transaction.h:301,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/wallet/transaction.h:301,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/wallet/transaction.h:301,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/transaction.h:303,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/transaction.h:304,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/transaction.h:305,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/transaction.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 307
    functionName: wallet::CWalletTx::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - end
    - erase
    - LocaleIndependentAtoi
    - TxStateInterpretSerialized
    - wallet::CWalletTx::Init
    - static_cast<unsigned int>
    - TX_WITH_WITNESS
    - uint256::uint256
    - find
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/transaction.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: wallet::CWalletTx::SetTx
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetTx(CTransactionRef arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/bitcoin-core/src/wallet/transaction.h:317,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/wallet/transaction.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: wallet::CWalletTx::MarkDirty
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: void
    signature: void MarkDirty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<T>
      Src: /src/bitcoin-core/src/wallet/transaction.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: wallet::CWalletTx::state
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 4
    functionsReached:
    - std::get_if<T>
    linkageType: ''
    returnType: T
    signature: T * state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<T>
      Src: /src/bitcoin-core/src/wallet/transaction.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: wallet::CWalletTx::state
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 4
    functionsReached:
    - std::get_if<T>
    linkageType: ''
    returnType: T
    signature: T * state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:337,1
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: wallet::CWalletTx::isAbandoned
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool isAbandoned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/transaction.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: wallet::CWalletTx::isMempoolConflicted
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool isMempoolConflicted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: wallet::CWalletTx::isBlockConflicted
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool isBlockConflicted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: wallet::CWalletTx::isInactive
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool isInactive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::isAbandoned
      Src: /src/bitcoin-core/src/wallet/transaction.h:341,1
    - Dst: wallet::CWalletTx::isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/transaction.h:341,1
    - Dst: wallet::CWalletTx::isMempoolConflicted
      Src: /src/bitcoin-core/src/wallet/transaction.h:341,1
    - Dst: wallet::CWalletTx::isConfirmed
      Src: /src/bitcoin-core/src/wallet/transaction.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: wallet::CWalletTx::isUnconfirmed
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::isConfirmed
    - wallet::CWalletTx::isBlockConflicted
    - wallet::CWalletTx::isMempoolConflicted
    - wallet::CWalletTx::isAbandoned
    linkageType: ''
    returnType: bool
    signature: bool isUnconfirmed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: wallet::CWalletTx::isConfirmed
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool isConfirmed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/transaction.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: '& GetHash() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: Txid
    signature: Txid & GetHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/wallet/transaction.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: '& GetWitnessHash() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - GetWitnessHash
    linkageType: ''
    returnType: Wtxid
    signature: Wtxid & GetWitnessHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::IsCoinBase
      Src: /src/bitcoin-core/src/wallet/transaction.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: wallet::CWalletTx::IsCoinBase
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - wallet::CWalletTx::IsCoinBase
    linkageType: ''
    returnType: bool
    signature: bool IsCoinBase() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: wallet::CWalletTx::CWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CWalletTx(const CWalletTx&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: '& operator=(const CWalletTx&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx & operator=(const CWalletTx&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CWalletTx*
    - CWalletTx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: operator()(const CWalletTx* a, const CWalletTx* b) const
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CWalletTx* a, const CWalletTx* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/transaction.h:378,1
    - Dst: indirectmap::find
      Src: /src/bitcoin-core/src/wallet/transaction.h:378,1
    - Dst: tx::vout::end
      Src: /src/bitcoin-core/src/wallet/transaction.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wtx'
    - ' output'
    - ismine
    argTypes:
    - CWalletTx
    - CTxOut
    - isminetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: wallet::WalletTXO::WalletTXO
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - tx::vout::end
    - indirectmap::find
    - Assume
    linkageType: ''
    returnType: void
    signature: void WalletTXO(const CWalletTx& wtx, const CTxOut& output, const isminetype
      ismine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: '& GetWalletTx() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx & GetWalletTx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: '& GetTxOut() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTxOut
    signature: CTxOut & GetTxOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: wallet::WalletTXO::GetIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isminetype
    signature: isminetype GetIsMine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ismine
    argTypes:
    - isminetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: wallet::WalletTXO::SetIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetIsMine(isminetype ismine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' block_hash'
    - height
    - index
    argTypes:
    - uint256
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: wallet::TxStateConfirmed
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxStateConfirmed(const uint256& block_hash, int height, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:38,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/transaction.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - ToString
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' block_hash'
    - height
    argTypes:
    - uint256
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: wallet::TxStateBlockConflicted
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxStateBlockConflicted(const uint256& block_hash, int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:52,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/transaction.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - ToString
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: wallet::TxStateInactive
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxStateInactive(bool abandoned = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' block_hash'
    - index
    argTypes:
    - uint256
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: wallet::TxStateUnrecognized
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxStateUnrecognized(const uint256& block_hash, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:75,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/wallet/transaction.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: wallet::toString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - ToString
    - strprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - TxStateUnrecognized
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: wallet::TxStateInterpretSerialized
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxState
    signature: TxState TxStateInterpretSerialized(TxStateUnrecognized data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/transaction.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - TxState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: wallet::TxStateSerializedBlockHash
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: uint256
    signature: uint256 TxStateSerializedBlockHash(const TxState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/transaction.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - TxState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: wallet::TxStateSerializedIndex
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: int
    signature: int TxStateSerializedIndex(const TxState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/transaction.h:127,1
    - Dst: wallet::toString
      Src: /src/bitcoin-core/src/wallet/transaction.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: wallet::TxStateString
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::toString
    - std::visit
    linkageType: ''
    returnType: std::string
    signature: std::string TxStateString(const T& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/transaction.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: wallet::Reset
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/bitcoin-core/src/wallet/transaction.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - value
    argTypes:
    - isminefilter
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: wallet::Set
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 4
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void Set(isminefilter filter, CAmount value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/transaction.h:165,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/transaction.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: wallet::CMerkleTx::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - TX_WITH_WITNESS
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/transaction.h:234,1
    - Dst: wallet::CWalletTx::Init
      Src: /src/bitcoin-core/src/wallet/transaction.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tx
    - ' state'
    argTypes:
    - CTransactionRef
    - TxState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: wallet::CWalletTx::CWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::Init
    - std::move
    linkageType: ''
    returnType: void
    signature: void CWalletTx(CTransactionRef tx, const TxState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/transaction.h:241,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/transaction.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: wallet::CWalletTx::Init
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 3
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/wallet/transaction.h:268,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/transaction.h:271,1
    - Dst: TxStateSerializedBlockHash
      Src: /src/bitcoin-core/src/wallet/transaction.h:278,1
    - Dst: TxStateSerializedIndex
      Src: /src/bitcoin-core/src/wallet/transaction.h:279,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/transaction.h:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: wallet::CWalletTx::Serialize
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - util::ToString
    - TxStateSerializedBlockHash
    - TxStateSerializedIndex
    - strprintf
    - TX_WITH_WITNESS
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::Init
      Src: /src/bitcoin-core/src/wallet/transaction.h:286,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/transaction.h:292,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/transaction.h:294,1
    - Dst: TxStateInterpretSerialized
      Src: /src/bitcoin-core/src/wallet/transaction.h:296,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/transaction.h:298,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/transaction.h:299,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/wallet/transaction.h:299,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/transaction.h:300,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/transaction.h:301,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/wallet/transaction.h:301,1
    - Dst: LocaleIndependentAtoi
      Src: /src/bitcoin-core/src/wallet/transaction.h:301,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/transaction.h:303,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/transaction.h:304,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/transaction.h:305,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/transaction.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 307
    functionName: wallet::CWalletTx::Unserialize
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - end
    - erase
    - LocaleIndependentAtoi
    - TxStateInterpretSerialized
    - wallet::CWalletTx::Init
    - static_cast<unsigned int>
    - TX_WITH_WITNESS
    - uint256::uint256
    - find
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/transaction.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - CTransactionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: wallet::CWalletTx::SetTx
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetTx(CTransactionRef arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/bitcoin-core/src/wallet/transaction.h:317,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/wallet/transaction.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: wallet::CWalletTx::MarkDirty
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: void
    signature: void MarkDirty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<T>
      Src: /src/bitcoin-core/src/wallet/transaction.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: wallet::CWalletTx::state
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 8
    functionsReached:
    - std::get_if<T>
    linkageType: ''
    returnType: T
    signature: T * state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<T>
      Src: /src/bitcoin-core/src/wallet/transaction.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: wallet::CWalletTx::state
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 8
    functionsReached:
    - std::get_if<T>
    linkageType: ''
    returnType: T
    signature: T * state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:337,1
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: wallet::CWalletTx::isAbandoned
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool isAbandoned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/transaction.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: wallet::CWalletTx::isMempoolConflicted
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool isMempoolConflicted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: wallet::CWalletTx::isBlockConflicted
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 1
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool isBlockConflicted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: wallet::CWalletTx::isInactive
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool isInactive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::isAbandoned
      Src: /src/bitcoin-core/src/wallet/transaction.h:341,1
    - Dst: wallet::CWalletTx::isBlockConflicted
      Src: /src/bitcoin-core/src/wallet/transaction.h:341,1
    - Dst: wallet::CWalletTx::isMempoolConflicted
      Src: /src/bitcoin-core/src/wallet/transaction.h:341,1
    - Dst: wallet::CWalletTx::isConfirmed
      Src: /src/bitcoin-core/src/wallet/transaction.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: wallet::CWalletTx::isUnconfirmed
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - wallet::CWalletTx::isConfirmed
    - wallet::CWalletTx::isBlockConflicted
    - wallet::CWalletTx::isMempoolConflicted
    - wallet::CWalletTx::isAbandoned
    linkageType: ''
    returnType: bool
    signature: bool isUnconfirmed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::state
      Src: /src/bitcoin-core/src/wallet/transaction.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: wallet::CWalletTx::isConfirmed
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 2
    functionsReached:
    - wallet::CWalletTx::state
    linkageType: ''
    returnType: bool
    signature: bool isConfirmed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/transaction.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: '& GetHash() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - GetHash
    linkageType: ''
    returnType: Txid
    signature: Txid & GetHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWitnessHash
      Src: /src/bitcoin-core/src/wallet/transaction.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: '& GetWitnessHash() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - GetWitnessHash
    linkageType: ''
    returnType: Wtxid
    signature: Wtxid & GetWitnessHash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CWalletTx::IsCoinBase
      Src: /src/bitcoin-core/src/wallet/transaction.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: wallet::CWalletTx::IsCoinBase
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 2
    functionsReached:
    - wallet::CWalletTx::IsCoinBase
    linkageType: ''
    returnType: bool
    signature: bool IsCoinBase() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: wallet::CWalletTx::CWalletTx
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CWalletTx(const CWalletTx&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: '& operator=(const CWalletTx&)'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx & operator=(const CWalletTx&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CWalletTx*
    - CWalletTx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: operator()(const CWalletTx* a, const CWalletTx* b) const
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const CWalletTx* a, const CWalletTx* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assume
      Src: /src/bitcoin-core/src/wallet/transaction.h:378,1
    - Dst: indirectmap::find
      Src: /src/bitcoin-core/src/wallet/transaction.h:378,1
    - Dst: tx::vout::end
      Src: /src/bitcoin-core/src/wallet/transaction.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wtx'
    - ' output'
    - ismine
    argTypes:
    - CWalletTx
    - CTxOut
    - isminetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: wallet::WalletTXO::WalletTXO
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached:
    - tx::vout::end
    - indirectmap::find
    - Assume
    linkageType: ''
    returnType: void
    signature: void WalletTXO(const CWalletTx& wtx, const CTxOut& output, const isminetype
      ismine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: '& GetWalletTx() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx & GetWalletTx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: '& GetTxOut() const'
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTxOut
    signature: CTxOut & GetTxOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: wallet::WalletTXO::GetIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isminetype
    signature: isminetype GetIsMine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ismine
    argTypes:
    - isminetype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: wallet::WalletTXO::SetIsMine
    functionSourceFile: /src/bitcoin-core/src/wallet/transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetIsMine(isminetype ismine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: wallet::WalletInit::HasWalletSupport
    functionSourceFile: /src/bitcoin-core/src/wallet/init.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasWalletSupport() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:46,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:46,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/init.cpp:46,1
    - Dst: FormatOutputType
      Src: /src/bitcoin-core/src/wallet/init.cpp:46,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:47,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:47,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:48,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:49,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/init.cpp:50,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:52,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:52,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:52,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:53,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:54,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:54,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:56,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:58,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:58,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:59,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:60,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:60,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:61,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:61,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:61,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:62,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:62,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:63,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:64,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:64,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:65,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:66,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:66,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:67,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/wallet/init.cpp:67,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:69,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:71,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:71,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:72,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:72,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:73,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:74,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:74,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:75,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:77,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:79,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:79,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:81,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:83,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:83,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:84,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 85
    functionName: wallet::WalletInit::AddWalletOptions
    functionSourceFile: /src/bitcoin-core/src/wallet/init.cpp
    functionUses: 0
    functionsReached:
    - FormatOutputType
    - FormatAllOutputTypes
    - GetFeePerK
    - strprintf
    - FormatMoney
    - AddArg
    linkageType: ''
    returnType: void
    signature: void WalletInit::AddWalletOptions(ArgsManager& argsman) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:89,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/wallet/init.cpp:90,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/init.cpp:91,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:97,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:97,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/init.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: wallet::WalletInit::ParameterInteraction
    functionSourceFile: /src/bitcoin-core/src/wallet/init.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - SoftSetBoolArg
    - GetArgs
    - GetBoolArg
    linkageType: ''
    returnType: bool
    signature: bool WalletInit::ParameterInteraction() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/init.cpp:106,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:107,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/init.cpp:108,1
    - Dst: init::makeWalletLoader
      Src: /src/bitcoin-core/src/wallet/init.cpp:111,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/init.cpp:112,1
    - Dst: chain_clients::emplace_back
      Src: /src/bitcoin-core/src/wallet/init.cpp:113,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/init.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: wallet::WalletInit::Construct
    functionSourceFile: /src/bitcoin-core/src/wallet/init.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - chain_clients::emplace_back
    - LogInfo
    - Assert
    - GetBoolArg
    - init::makeWalletLoader
    - auto::get
    linkageType: ''
    returnType: void
    signature: void WalletInit::Construct(NodeContext& node) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: wallet::WalletInit::HasWalletSupport
    functionSourceFile: /src/bitcoin-core/src/wallet/init.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasWalletSupport() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:46,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:46,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/init.cpp:46,1
    - Dst: FormatOutputType
      Src: /src/bitcoin-core/src/wallet/init.cpp:46,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:47,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:47,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:48,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:49,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/init.cpp:50,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:52,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:52,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:52,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:53,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:54,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:54,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:56,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:58,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:58,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:59,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:60,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:60,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:61,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:61,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:61,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:62,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:62,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:63,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:64,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:64,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:65,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:66,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:66,1
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/init.cpp:67,1
    - Dst: GetFeePerK
      Src: /src/bitcoin-core/src/wallet/init.cpp:67,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:69,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:71,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:71,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:72,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:72,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:73,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:74,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:74,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:75,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:77,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:79,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:79,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:81,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:83,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:83,1
    - Dst: AddArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:84,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/init.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' argsman'
    argTypes:
    - ArgsManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 85
    functionName: wallet::WalletInit::AddWalletOptions
    functionSourceFile: /src/bitcoin-core/src/wallet/init.cpp
    functionUses: 0
    functionsReached:
    - FormatOutputType
    - FormatAllOutputTypes
    - GetFeePerK
    - strprintf
    - FormatMoney
    - AddArg
    linkageType: ''
    returnType: void
    signature: void WalletInit::AddWalletOptions(ArgsManager& argsman) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:89,1
    - Dst: GetArgs
      Src: /src/bitcoin-core/src/wallet/init.cpp:90,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/init.cpp:91,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:97,1
    - Dst: SoftSetBoolArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:97,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/init.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: wallet::WalletInit::ParameterInteraction
    functionSourceFile: /src/bitcoin-core/src/wallet/init.cpp
    functionUses: 0
    functionsReached:
    - LogInfo
    - SoftSetBoolArg
    - GetArgs
    - GetBoolArg
    linkageType: ''
    returnType: bool
    signature: bool WalletInit::ParameterInteraction() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/init.cpp:106,1
    - Dst: GetBoolArg
      Src: /src/bitcoin-core/src/wallet/init.cpp:107,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/init.cpp:108,1
    - Dst: init::makeWalletLoader
      Src: /src/bitcoin-core/src/wallet/init.cpp:111,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/init.cpp:112,1
    - Dst: chain_clients::emplace_back
      Src: /src/bitcoin-core/src/wallet/init.cpp:113,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/init.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: wallet::WalletInit::Construct
    functionSourceFile: /src/bitcoin-core/src/wallet/init.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - chain_clients::emplace_back
    - LogInfo
    - Assert
    - GetBoolArg
    - init::makeWalletLoader
    - auto::get
    linkageType: ''
    returnType: void
    signature: void WalletInit::Construct(NodeContext& node) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const std::byte*>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:31,1
    - Dst: sqlite3_column_blob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:31,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:32,1
    - Dst: sqlite3_column_bytes
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stmt
    - col
    argTypes:
    - sqlite3_stmt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: wallet::SpanFromBlob
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_column_blob
    - reinterpret_cast<const std::byte*>
    - static_cast<size_t>
    - sqlite3_column_bytes
    linkageType: ''
    returnType: std::span<const std::byte>
    signature: std::span<const std::byte> SpanFromBlob(sqlite3_stmt* stmt, int col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:42,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - arg
    - code
    - msg
    argTypes:
    - void*
    - int
    - char*
    assertStmts:
    - condition: (arg == nullptr)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: wallet::ErrorLogCallback
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - assert
    linkageType: ''
    returnType: void
    signature: void ErrorLogCallback(void* arg, int code, const char* msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SQLiteDatabase*>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:48,1
    - Dst: static_cast<sqlite3_stmt*>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:50,1
    - Dst: sqlite3_stmt_readonly
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:54,1
    - Dst: sqlite3_expanded_sql
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:54,1
    - Dst: LogTrace
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:55,1
    - Dst: auto*::Filename
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:55,1
    - Dst: sqlite3_sql
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:55,1
    - Dst: sqlite3_free
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - code
    - context
    - param1
    - param2
    argTypes:
    - unsigned
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: wallet::TraceSqlCallback
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SQLiteDatabase*>
    - sqlite3_free
    - static_cast<sqlite3_stmt*>
    - sqlite3_sql
    - sqlite3_stmt_readonly
    - LogTrace
    - sqlite3_expanded_sql
    - auto*::Filename
    linkageType: ''
    returnType: int
    signature: int TraceSqlCallback(unsigned code, void* context, void* param1, void*
      param2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_blob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: static_cast<const void*>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:72,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:72,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:73,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - stmt
    - index
    - blob
    - ' description'
    argTypes:
    - sqlite3_stmt*
    - int
    - std::span<const std::byte>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: wallet::BindBlobToStatement
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::data
    - std::span<const std::byte>::size
    - static_cast<const void*>
    - sqlite3_clear_bindings
    - sqlite3_bind_blob
    - sqlite3_reset
    - sqlite3_errstr
    - LogPrintf
    linkageType: ''
    returnType: bool
    signature: "bool BindBlobToStatement(sqlite3_stmt* stmt,\n                                int
      index,\n                                std::span<const std::byte> blob,\n                                const
      std::string& description)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:83,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:85,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:85,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:87,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:88,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:88,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:88,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:91,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:93,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:94,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:94,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:94,1
    - Dst: sqlite3_column_int
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:97,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - db
    - ' key'
    - ' description'
    - ' error'
    argTypes:
    - sqlite3*
    - std::string
    - std::string
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: wallet::ReadPragmaInteger
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    - sqlite3_prepare_v2
    - sqlite3_errstr
    - sqlite3_step
    - strprintf
    - sqlite3_column_int
    - std::string::c_str
    - Untranslated
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> ReadPragmaInteger(sqlite3* db, const std::string&
      key, const std::string& description, bilingual_str& error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:104,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:105,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:107,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:107,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - db
    - ' key'
    - ' value'
    - ' err_msg'
    argTypes:
    - sqlite3*
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: wallet::SetPragma
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - sqlite3_errstr
    - sqlite3_exec
    - strprintf
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void SetPragma(sqlite3* db, const std::string& key, const std::string&
      value, const std::string& err_msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:115,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:118,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:119,1
    - Dst: SQLiteDatabaseVersion
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:119,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:120,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:120,1
    - Dst: sqlite3_config
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:124,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:126,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:126,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:126,1
    - Dst: sqlite3_config
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:129,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:131,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:131,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:131,1
    - Dst: sqlite3_initialize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:134,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:136,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:136,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:136,1
    - Dst: wallet::SQLiteDatabase::Open
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:141,1
    - Dst: wallet::SQLiteDatabase::Cleanup
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - ' dir_path'
    - ' file_path'
    - ' options'
    - mock
    argTypes:
    - fs::path
    - fs::path
    - DatabaseOptions
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 147
    functionName: wallet::SQLiteDatabase::SQLiteDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_config
    - sqlite3_initialize
    - std::runtime_error
    - sqlite3_errstr
    - SQLiteDatabaseVersion
    - LogInfo
    - LOCK
    - wallet::SQLiteDatabase::Open
    - strprintf
    - wallet::SQLiteDatabase::Cleanup
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::SQLiteDatabase(const fs::path& dir_path, const
      fs::path& file_path, const DatabaseOptions& options, bool mock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:161,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:163,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:163,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: wallet::SQLiteBatch::SetupSQLStatements
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_prepare_v2
    - std::runtime_error
    - sqlite3_errstr
    - strprintf
    linkageType: ''
    returnType: void
    signature: void SQLiteBatch::SetupSQLStatements()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cleanup
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: SQLiteDatabase::~SQLiteDatabase()
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - Cleanup
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::~SQLiteDatabase()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:177,1
    - Dst: wallet::SQLiteDatabase::Close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:179,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:181,1
    - Dst: sqlite3_shutdown
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:183,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:185,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: wallet::SQLiteDatabase::Cleanup
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 1
    functionsReached:
    - sqlite3_shutdown
    - AssertLockNotHeld
    - sqlite3_errstr
    - wallet::SQLiteDatabase::Close
    - LogPrintf
    - LOCK
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::Cleanup() noexcept
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:192,1
    - Dst: ReadPragmaInteger
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:195,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:196,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:197,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:197,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:198,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:198,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:200,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:200,1
    - Dst: ReadPragmaInteger
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:205,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:206,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:207,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:209,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:209,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:214,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:216,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:217,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:217,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:217,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:221,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:226,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:226,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:226,1
    - Dst: sqlite3_column_text
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:229,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:231,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:231,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:231,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:238,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:239,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:239,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:241,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:241,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:243,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:244,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - bilingual_str
    assertStmts:
    - condition: (m_db)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 245
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 245
    functionName: wallet::SQLiteDatabase::Verify
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - sqlite3_finalize
    - sqlite3_column_text
    - _
    - Untranslated
    - auto::has_value
    - ReadBE32
    - sqlite3_prepare_v2
    - static_cast<uint32_t>
    - empty
    - sqlite3_errstr
    - Params
    - sqlite3_step
    - strprintf
    - assert
    - ReadPragmaInteger
    linkageType: ''
    returnType: bool
    signature: bool SQLiteDatabase::Verify(bilingual_str& error)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:256,1
    - Dst: sqlite3_open_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:258,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:258,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:260,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:260,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:260,1
    - Dst: sqlite3_extended_result_codes
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:262,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:264,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:264,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:264,1
    - Dst: LogAcceptCategory
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:267,1
    - Dst: sqlite3_trace_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:268,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:270,1
    - Dst: wallet::SQLiteDatabase::Filename
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:270,1
    - Dst: sqlite3_db_readonly
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:275,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:276,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:281,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:283,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:285,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:287,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:289,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:289,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:289,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:293,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:297,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:298,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:304,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:306,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:306,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:306,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:308,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:309,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:310,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:310,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:318,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:318,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:318,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:323,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:325,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:325,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:325,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:329,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:329,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:330,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:330,1
    - Dst: static_cast<int32_t>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:330,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:334,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:334,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 337
    functionName: wallet::SQLiteDatabase::Open
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int32_t>
    - sqlite3_extended_result_codes
    - ReadBE32
    - std::runtime_error
    - sqlite3_errstr
    - sqlite3_exec
    - LogAcceptCategory
    - sqlite3_prepare_v2
    - TryCreateDirectories
    - Params
    - sqlite3_step
    - strprintf
    - c_str
    - sqlite3_trace_v2
    - sqlite3_open_v2
    - sqlite3_finalize
    - sqlite3_db_readonly
    - SetPragma
    - LogPrintf
    - wallet::SQLiteDatabase::Filename
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::Open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: wallet::SQLiteDatabase::Rewrite
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_exec
    linkageType: ''
    returnType: bool
    signature: bool SQLiteDatabase::Rewrite()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:349,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:349,1
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:351,1
    - Dst: sqlite3_backup_init
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:354,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:356,1
    - Dst: sqlite3_errmsg
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:356,1
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:357,1
    - Dst: sqlite3_backup_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:361,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:363,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:363,1
    - Dst: sqlite3_backup_finish
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:364,1
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:365,1
    - Dst: sqlite3_backup_finish
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:368,1
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 371
    functionName: wallet::SQLiteDatabase::Backup
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_open
    - sqlite3_backup_init
    - sqlite3_errstr
    - LogPrintf
    - sqlite3_backup_step
    - c_str
    - sqlite3_close
    - sqlite3_backup_finish
    - sqlite3_errmsg
    linkageType: ''
    returnType: bool
    signature: bool SQLiteDatabase::Backup(const std::string& dest) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:375,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:377,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:377,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: wallet::SQLiteDatabase::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 1
    functionsReached:
    - sqlite3_close
    - std::runtime_error
    - sqlite3_errstr
    - strprintf
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_get_autocommit
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: wallet::SQLiteDatabase::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_get_autocommit
    linkageType: ''
    returnType: bool
    signature: bool SQLiteDatabase::HasActiveTxn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:390,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' database'
    - ' statement'
    argTypes:
    - SQLiteDatabase
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: wallet::SQliteExecHandler::Exec
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - data
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int SQliteExecHandler::Exec(SQLiteDatabase& database, const std::string&
      statement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SQLiteBatch>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: wallet::SQLiteDatabase::MakeBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SQLiteBatch>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseBatch>
    signature: std::unique_ptr<DatabaseBatch> SQLiteDatabase::MakeBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:403,1
    - Dst: wallet::SQLiteBatch::SetupSQLStatements
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' database'
    argTypes:
    - SQLiteDatabase
    assertStmts:
    - condition: (m_database.m_db)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: wallet::SQLiteBatch::SQLiteBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - assert
    - wallet::SQLiteBatch::SetupSQLStatements
    linkageType: ''
    returnType: void
    signature: void SQLiteBatch::SQLiteBatch(SQLiteDatabase& database)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SQLiteBatch::TxnAbort
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:414,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:415,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:421,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:435,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:437,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:438,1
    - Dst: wallet::SQLiteBatch::Close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:444,1
    - Dst: Open
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:446,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:448,1
    - Dst: wallet::SQLiteBatch::Close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 455
    functionName: wallet::SQLiteBatch::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 1
    functionsReached:
    - wallet::SQLiteBatch::TxnAbort
    - sqlite3_finalize
    - wallet::SQLiteBatch::Close
    - sqlite3_errstr
    - LogPrintf
    - m_write_semaphore::release
    - Open
    linkageType: ''
    returnType: void
    signature: void SQLiteBatch::Close()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:460,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:463,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:464,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:468,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:468,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:470,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:471,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:475,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:476,1
    - Dst: SpanFromBlob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:476,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:478,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts:
    - condition: (m_read_stmt)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 481
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 481
    functionName: wallet::SQLiteBatch::ReadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - write
    - BindBlobToStatement
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_errstr
    - LogPrintf
    - clear
    - sqlite3_step
    - SpanFromBlob
    - assert
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::ReadKey(DataStream&& key, DataStream& value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:486,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:497,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:498,1
    - Dst: m_write_semaphore::acquire
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:501,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:504,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:505,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:506,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:508,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:508,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:511,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ' key'
    - ' value'
    - overwrite
    argTypes:
    - DataStream
    - DataStream
    - bool
    assertStmts:
    - condition: (m_insert_stmt && m_overwrite_stmt)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 514
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 514
    functionName: wallet::SQLiteBatch::WriteKey
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - m_write_semaphore::acquire
    - BindBlobToStatement
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_errstr
    - LogPrintf
    - sqlite3_step
    - m_write_semaphore::release
    - assert
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::WriteKey(DataStream&& key, DataStream&& value, bool
      overwrite)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:519,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:522,1
    - Dst: m_write_semaphore::acquire
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:525,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:528,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:529,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:530,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:532,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:532,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - stmt
    - blob
    argTypes:
    - sqlite3_stmt*
    - std::span<const std::byte>
    assertStmts:
    - condition: (stmt)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 538
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 538
    functionName: wallet::SQLiteBatch::ExecStatement
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - m_write_semaphore::acquire
    - BindBlobToStatement
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_errstr
    - LogPrintf
    - sqlite3_step
    - m_write_semaphore::release
    - assert
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::ExecStatement(sqlite3_stmt* stmt, std::span<const
      std::byte> blob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SQLiteBatch::ExecStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: wallet::SQLiteBatch::EraseKey
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - wallet::SQLiteBatch::ExecStatement
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::EraseKey(DataStream&& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SQLiteBatch::ExecStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: wallet::SQLiteBatch::ErasePrefix
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - wallet::SQLiteBatch::ExecStatement
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::ErasePrefix(std::span<const std::byte> prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:553,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:556,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:557,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:558,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts:
    - condition: (m_read_stmt)
      pos:
        line_end: 552
        line_start: 552
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 561
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 561
    functionName: wallet::SQLiteBatch::HasKey
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - BindBlobToStatement
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_step
    - assert
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::HasKey(DataStream&& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:565,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:570,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:570,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:574,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:575,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:578,1
    - Dst: SpanFromBlob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:578,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:579,1
    - Dst: SpanFromBlob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 581
    functionName: wallet::SQLiteCursor::Next
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - write
    - sqlite3_errstr
    - LogPrintf
    - clear
    - sqlite3_step
    - SpanFromBlob
    linkageType: ''
    returnType: DatabaseCursor::Status
    signature: DatabaseCursor::Status SQLiteCursor::Next(DataStream& key, DataStream&
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:585,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:586,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:587,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:589,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 592
    functionName: SQLiteCursor::~SQLiteCursor()
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_errstr
    - LogPrintf
    linkageType: ''
    returnType: void
    signature: void SQLiteCursor::~SQLiteCursor()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SQLiteCursor>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:597,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:600,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:602,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:602,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 607
    functionName: wallet::SQLiteBatch::GetNewCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_prepare_v2
    - std::runtime_error
    - std::make_unique<SQLiteCursor>
    - sqlite3_errstr
    - strprintf
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> SQLiteBatch::GetNewCursor()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const std::byte>::begin
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:616,1
    - Dst: std::span<const std::byte>::end
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:616,1
    - Dst: std::span<const std::byte>::begin
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:617,1
    - Dst: std::span<const std::byte>::end
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:617,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:618,1
    - Dst: std::vector::rend
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:619,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:620,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:620,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:621,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:624,1
    - Dst: std::to_integer<unsigned char>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:624,1
    - Dst: std::vector::rend
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:627,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:629,1
    - Dst: std::make_unique<SQLiteCursor>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:632,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:635,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:637,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:639,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:639,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:640,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:643,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:644,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:645,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 649
    functionName: wallet::SQLiteBatch::GetNewPrefixCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::begin
    - sqlite3_prepare_v2
    - BindBlobToStatement
    - std::runtime_error
    - std::vector::rend
    - std::to_integer<unsigned char>
    - std::make_unique<SQLiteCursor>
    - sqlite3_errstr
    - std::vector::empty
    - std::vector::clear
    - std::byte
    - strprintf
    - std::span<const std::byte>::end
    - RandomMixin::max
    - std::vector::rbegin
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> SQLiteBatch::GetNewPrefixCursor(std::span<const
      std::byte> prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_write_semaphore::acquire
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:654,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:655,1
    - Dst: wallet::SQLiteBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:655,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:656,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:658,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: wallet::SQLiteBatch::TxnBegin
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - wallet::SQLiteBatch::HasActiveTxn
    - m_write_semaphore::acquire
    - LogPrintf
    - Assert
    - m_write_semaphore::release
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::TxnBegin()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:669,1
    - Dst: wallet::SQLiteBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:669,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:670,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:672,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: wallet::SQLiteBatch::TxnCommit
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - wallet::SQLiteBatch::HasActiveTxn
    - LogPrintf
    - Assert
    - m_write_semaphore::release
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::TxnCommit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:683,1
    - Dst: wallet::SQLiteBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:683,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:684,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:686,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 692
    functionName: wallet::SQLiteBatch::TxnAbort
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 1
    functionsReached:
    - wallet::SQLiteBatch::HasActiveTxn
    - LogPrintf
    - Assert
    - m_write_semaphore::release
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::TxnAbort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SQLiteDataFile
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:697,1
    - Dst: std::make_unique<SQLiteDatabase>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:698,1
    - Dst: fs::path::parent_path
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:698,1
    - Dst: auto::Verify
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:699,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:707,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' path'
    - ' options'
    - ' status'
    - ' error'
    argTypes:
    - fs::path
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 710
    functionName: wallet::MakeSQLiteDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 2
    functionsReached:
    - wallet::SQLiteDataFile
    - auto::Verify
    - std::make_unique<SQLiteDatabase>
    - fs::path::parent_path
    - what
    - Untranslated
    linkageType: ''
    returnType: std::unique_ptr<SQLiteDatabase>
    signature: std::unique_ptr<SQLiteDatabase> MakeSQLiteDatabase(const fs::path&
      path, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str&
      error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:714,1
    - Dst: sqlite3_libversion
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: wallet::SQLiteDatabaseVersion
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_libversion
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string SQLiteDatabaseVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const std::byte*>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:31,1
    - Dst: sqlite3_column_blob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:31,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:32,1
    - Dst: sqlite3_column_bytes
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stmt
    - col
    argTypes:
    - sqlite3_stmt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: wallet::SpanFromBlob
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_column_blob
    - reinterpret_cast<const std::byte*>
    - static_cast<size_t>
    - sqlite3_column_bytes
    linkageType: ''
    returnType: std::span<const std::byte>
    signature: std::span<const std::byte> SpanFromBlob(sqlite3_stmt* stmt, int col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:42,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - arg
    - code
    - msg
    argTypes:
    - void*
    - int
    - char*
    assertStmts:
    - condition: (arg == nullptr)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: wallet::ErrorLogCallback
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - LogPrintf
    - assert
    linkageType: ''
    returnType: void
    signature: void ErrorLogCallback(void* arg, int code, const char* msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SQLiteDatabase*>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:48,1
    - Dst: static_cast<sqlite3_stmt*>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:50,1
    - Dst: sqlite3_stmt_readonly
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:54,1
    - Dst: sqlite3_expanded_sql
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:54,1
    - Dst: LogTrace
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:55,1
    - Dst: auto*::Filename
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:55,1
    - Dst: sqlite3_sql
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:55,1
    - Dst: sqlite3_free
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - code
    - context
    - param1
    - param2
    argTypes:
    - unsigned
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: wallet::TraceSqlCallback
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SQLiteDatabase*>
    - sqlite3_free
    - static_cast<sqlite3_stmt*>
    - sqlite3_sql
    - sqlite3_stmt_readonly
    - LogTrace
    - sqlite3_expanded_sql
    - auto*::Filename
    linkageType: ''
    returnType: int
    signature: int TraceSqlCallback(unsigned code, void* context, void* param1, void*
      param2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_blob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: static_cast<const void*>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: std::span<const std::byte>::data
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:70,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:72,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:72,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:73,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - stmt
    - index
    - blob
    - ' description'
    argTypes:
    - sqlite3_stmt*
    - int
    - std::span<const std::byte>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: wallet::BindBlobToStatement
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::data
    - std::span<const std::byte>::size
    - static_cast<const void*>
    - sqlite3_clear_bindings
    - sqlite3_bind_blob
    - sqlite3_reset
    - sqlite3_errstr
    - LogPrintf
    linkageType: ''
    returnType: bool
    signature: "bool BindBlobToStatement(sqlite3_stmt* stmt,\n                                int
      index,\n                                std::span<const std::byte> blob,\n                                const
      std::string& description)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:83,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:85,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:85,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:87,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:88,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:88,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:88,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:91,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:93,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:94,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:94,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:94,1
    - Dst: sqlite3_column_int
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:97,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - db
    - ' key'
    - ' description'
    - ' error'
    argTypes:
    - sqlite3*
    - std::string
    - std::string
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: wallet::ReadPragmaInteger
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    - sqlite3_prepare_v2
    - sqlite3_errstr
    - sqlite3_step
    - strprintf
    - sqlite3_column_int
    - std::string::c_str
    - Untranslated
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> ReadPragmaInteger(sqlite3* db, const std::string&
      key, const std::string& description, bilingual_str& error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:104,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:105,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:107,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:107,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - db
    - ' key'
    - ' value'
    - ' err_msg'
    argTypes:
    - sqlite3*
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: wallet::SetPragma
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - sqlite3_errstr
    - sqlite3_exec
    - strprintf
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void SetPragma(sqlite3* db, const std::string& key, const std::string&
      value, const std::string& err_msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:115,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:118,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:119,1
    - Dst: SQLiteDatabaseVersion
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:119,1
    - Dst: LogInfo
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:120,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:120,1
    - Dst: sqlite3_config
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:124,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:126,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:126,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:126,1
    - Dst: sqlite3_config
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:129,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:131,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:131,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:131,1
    - Dst: sqlite3_initialize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:134,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:136,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:136,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:136,1
    - Dst: wallet::SQLiteDatabase::Open
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:141,1
    - Dst: wallet::SQLiteDatabase::Cleanup
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - ' dir_path'
    - ' file_path'
    - ' options'
    - mock
    argTypes:
    - fs::path
    - fs::path
    - DatabaseOptions
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 147
    functionName: wallet::SQLiteDatabase::SQLiteDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_config
    - sqlite3_initialize
    - std::runtime_error
    - sqlite3_errstr
    - SQLiteDatabaseVersion
    - LogInfo
    - LOCK
    - wallet::SQLiteDatabase::Open
    - strprintf
    - wallet::SQLiteDatabase::Cleanup
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::SQLiteDatabase(const fs::path& dir_path, const
      fs::path& file_path, const DatabaseOptions& options, bool mock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:161,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:163,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:163,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: wallet::SQLiteBatch::SetupSQLStatements
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 1
    functionsReached:
    - sqlite3_prepare_v2
    - std::runtime_error
    - sqlite3_errstr
    - strprintf
    linkageType: ''
    returnType: void
    signature: void SQLiteBatch::SetupSQLStatements()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cleanup
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: SQLiteDatabase::~SQLiteDatabase()
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - Cleanup
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::~SQLiteDatabase()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockNotHeld
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:177,1
    - Dst: wallet::SQLiteDatabase::Close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:179,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:181,1
    - Dst: sqlite3_shutdown
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:183,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:185,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: wallet::SQLiteDatabase::Cleanup
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 2
    functionsReached:
    - sqlite3_shutdown
    - AssertLockNotHeld
    - sqlite3_errstr
    - wallet::SQLiteDatabase::Close
    - LogPrintf
    - LOCK
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::Cleanup() noexcept
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:192,1
    - Dst: ReadPragmaInteger
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:195,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:196,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:197,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:197,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:198,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:198,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:200,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:200,1
    - Dst: ReadPragmaInteger
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:205,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:206,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:207,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:209,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:209,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:214,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:216,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:217,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:217,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:217,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:221,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:226,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:226,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:226,1
    - Dst: sqlite3_column_text
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:229,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:231,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:231,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:231,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:238,1
    - Dst: _
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:239,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:239,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:241,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:241,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:243,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:244,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - bilingual_str
    assertStmts:
    - condition: (m_db)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 245
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 245
    functionName: wallet::SQLiteDatabase::Verify
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - sqlite3_finalize
    - sqlite3_column_text
    - _
    - Untranslated
    - auto::has_value
    - ReadBE32
    - sqlite3_prepare_v2
    - static_cast<uint32_t>
    - empty
    - sqlite3_errstr
    - Params
    - sqlite3_step
    - strprintf
    - assert
    - ReadPragmaInteger
    linkageType: ''
    returnType: bool
    signature: bool SQLiteDatabase::Verify(bilingual_str& error)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TryCreateDirectories
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:256,1
    - Dst: sqlite3_open_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:258,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:258,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:260,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:260,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:260,1
    - Dst: sqlite3_extended_result_codes
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:262,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:264,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:264,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:264,1
    - Dst: LogAcceptCategory
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:267,1
    - Dst: sqlite3_trace_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:268,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:270,1
    - Dst: wallet::SQLiteDatabase::Filename
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:270,1
    - Dst: sqlite3_db_readonly
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:275,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:276,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:281,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:283,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:285,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:287,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:289,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:289,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:289,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:293,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:297,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:298,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:304,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:306,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:306,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:306,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:308,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:309,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:310,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:310,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:318,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:318,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:318,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:323,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:325,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:325,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:325,1
    - Dst: ReadBE32
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:329,1
    - Dst: Params
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:329,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:330,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:330,1
    - Dst: static_cast<int32_t>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:330,1
    - Dst: SetPragma
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:334,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:334,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 337
    functionName: wallet::SQLiteDatabase::Open
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int32_t>
    - sqlite3_extended_result_codes
    - ReadBE32
    - std::runtime_error
    - sqlite3_errstr
    - sqlite3_exec
    - LogAcceptCategory
    - sqlite3_prepare_v2
    - TryCreateDirectories
    - Params
    - sqlite3_step
    - strprintf
    - c_str
    - sqlite3_trace_v2
    - sqlite3_open_v2
    - sqlite3_finalize
    - sqlite3_db_readonly
    - SetPragma
    - LogPrintf
    - wallet::SQLiteDatabase::Filename
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::Open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: wallet::SQLiteDatabase::Rewrite
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_exec
    linkageType: ''
    returnType: bool
    signature: bool SQLiteDatabase::Rewrite()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:349,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:349,1
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:351,1
    - Dst: sqlite3_backup_init
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:354,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:356,1
    - Dst: sqlite3_errmsg
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:356,1
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:357,1
    - Dst: sqlite3_backup_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:361,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:363,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:363,1
    - Dst: sqlite3_backup_finish
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:364,1
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:365,1
    - Dst: sqlite3_backup_finish
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:368,1
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 371
    functionName: wallet::SQLiteDatabase::Backup
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_open
    - sqlite3_backup_init
    - sqlite3_errstr
    - LogPrintf
    - sqlite3_backup_step
    - c_str
    - sqlite3_close
    - sqlite3_backup_finish
    - sqlite3_errmsg
    linkageType: ''
    returnType: bool
    signature: bool SQLiteDatabase::Backup(const std::string& dest) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:375,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:377,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:377,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: wallet::SQLiteDatabase::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 2
    functionsReached:
    - sqlite3_close
    - std::runtime_error
    - sqlite3_errstr
    - strprintf
    linkageType: ''
    returnType: void
    signature: void SQLiteDatabase::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_get_autocommit
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: wallet::SQLiteDatabase::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_get_autocommit
    linkageType: ''
    returnType: bool
    signature: bool SQLiteDatabase::HasActiveTxn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:390,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' database'
    - ' statement'
    argTypes:
    - SQLiteDatabase
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: wallet::SQliteExecHandler::Exec
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - data
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int SQliteExecHandler::Exec(SQLiteDatabase& database, const std::string&
      statement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SQLiteBatch>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: wallet::SQLiteDatabase::MakeBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SQLiteBatch>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseBatch>
    signature: std::unique_ptr<DatabaseBatch> SQLiteDatabase::MakeBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:403,1
    - Dst: wallet::SQLiteBatch::SetupSQLStatements
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' database'
    argTypes:
    - SQLiteDatabase
    assertStmts:
    - condition: (m_database.m_db)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: wallet::SQLiteBatch::SQLiteBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - assert
    - wallet::SQLiteBatch::SetupSQLStatements
    linkageType: ''
    returnType: void
    signature: void SQLiteBatch::SQLiteBatch(SQLiteDatabase& database)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SQLiteBatch::TxnAbort
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:414,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:415,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:421,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:435,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:437,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:438,1
    - Dst: wallet::SQLiteBatch::Close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:444,1
    - Dst: Open
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:446,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:448,1
    - Dst: wallet::SQLiteBatch::Close
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 455
    functionName: wallet::SQLiteBatch::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 2
    functionsReached:
    - wallet::SQLiteBatch::TxnAbort
    - sqlite3_finalize
    - wallet::SQLiteBatch::Close
    - sqlite3_errstr
    - LogPrintf
    - m_write_semaphore::release
    - Open
    linkageType: ''
    returnType: void
    signature: void SQLiteBatch::Close()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:460,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:463,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:464,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:468,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:468,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:470,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:471,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:475,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:476,1
    - Dst: SpanFromBlob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:476,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:478,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts:
    - condition: (m_read_stmt)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 481
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 481
    functionName: wallet::SQLiteBatch::ReadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - write
    - BindBlobToStatement
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_errstr
    - LogPrintf
    - clear
    - sqlite3_step
    - SpanFromBlob
    - assert
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::ReadKey(DataStream&& key, DataStream& value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:486,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:497,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:498,1
    - Dst: m_write_semaphore::acquire
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:501,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:504,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:505,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:506,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:508,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:508,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:511,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ' key'
    - ' value'
    - overwrite
    argTypes:
    - DataStream
    - DataStream
    - bool
    assertStmts:
    - condition: (m_insert_stmt && m_overwrite_stmt)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 514
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 514
    functionName: wallet::SQLiteBatch::WriteKey
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - m_write_semaphore::acquire
    - BindBlobToStatement
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_errstr
    - LogPrintf
    - sqlite3_step
    - m_write_semaphore::release
    - assert
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::WriteKey(DataStream&& key, DataStream&& value, bool
      overwrite)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:519,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:522,1
    - Dst: m_write_semaphore::acquire
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:525,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:528,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:529,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:530,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:532,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:532,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - stmt
    - blob
    argTypes:
    - sqlite3_stmt*
    - std::span<const std::byte>
    assertStmts:
    - condition: (stmt)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 538
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 538
    functionName: wallet::SQLiteBatch::ExecStatement
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 2
    functionsReached:
    - m_write_semaphore::acquire
    - BindBlobToStatement
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_errstr
    - LogPrintf
    - sqlite3_step
    - m_write_semaphore::release
    - assert
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::ExecStatement(sqlite3_stmt* stmt, std::span<const
      std::byte> blob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SQLiteBatch::ExecStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: wallet::SQLiteBatch::EraseKey
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - wallet::SQLiteBatch::ExecStatement
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::EraseKey(DataStream&& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SQLiteBatch::ExecStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: wallet::SQLiteBatch::ErasePrefix
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - wallet::SQLiteBatch::ExecStatement
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::ErasePrefix(std::span<const std::byte> prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:553,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:556,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:557,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:558,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts:
    - condition: (m_read_stmt)
      pos:
        line_end: 552
        line_start: 552
        source_file: /src/bitcoin-core/src/wallet/sqlite.cpp
    constantsTouched: []
    func_position:
      end: 561
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 561
    functionName: wallet::SQLiteBatch::HasKey
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - BindBlobToStatement
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_step
    - assert
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::HasKey(DataStream&& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:565,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:570,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:570,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:574,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:575,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:578,1
    - Dst: SpanFromBlob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:578,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:579,1
    - Dst: SpanFromBlob
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 581
    functionName: wallet::SQLiteCursor::Next
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - write
    - sqlite3_errstr
    - LogPrintf
    - clear
    - sqlite3_step
    - SpanFromBlob
    linkageType: ''
    returnType: DatabaseCursor::Status
    signature: DatabaseCursor::Status SQLiteCursor::Next(DataStream& key, DataStream&
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:585,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:586,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:587,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:589,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 592
    functionName: SQLiteCursor::~SQLiteCursor()
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_errstr
    - LogPrintf
    linkageType: ''
    returnType: void
    signature: void SQLiteCursor::~SQLiteCursor()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SQLiteCursor>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:597,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:600,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:602,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:602,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 607
    functionName: wallet::SQLiteBatch::GetNewCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_prepare_v2
    - std::runtime_error
    - std::make_unique<SQLiteCursor>
    - sqlite3_errstr
    - strprintf
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> SQLiteBatch::GetNewCursor()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const std::byte>::begin
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:616,1
    - Dst: std::span<const std::byte>::end
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:616,1
    - Dst: std::span<const std::byte>::begin
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:617,1
    - Dst: std::span<const std::byte>::end
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:617,1
    - Dst: std::vector::rbegin
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:618,1
    - Dst: std::vector::rend
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:619,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:620,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:620,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:621,1
    - Dst: std::byte
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:624,1
    - Dst: std::to_integer<unsigned char>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:624,1
    - Dst: std::vector::rend
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:627,1
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:629,1
    - Dst: std::make_unique<SQLiteCursor>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:632,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:635,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:637,1
    - Dst: std::runtime_error
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:639,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:639,1
    - Dst: sqlite3_errstr
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:640,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:643,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:644,1
    - Dst: BindBlobToStatement
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:645,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 649
    functionName: wallet::SQLiteBatch::GetNewPrefixCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::span<const std::byte>::begin
    - sqlite3_prepare_v2
    - BindBlobToStatement
    - std::runtime_error
    - std::vector::rend
    - std::to_integer<unsigned char>
    - std::make_unique<SQLiteCursor>
    - sqlite3_errstr
    - std::vector::empty
    - std::vector::clear
    - std::byte
    - strprintf
    - std::span<const std::byte>::end
    - RandomMixin::max
    - std::vector::rbegin
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> SQLiteBatch::GetNewPrefixCursor(std::span<const
      std::byte> prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_write_semaphore::acquire
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:654,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:655,1
    - Dst: wallet::SQLiteBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:655,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:656,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:658,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: wallet::SQLiteBatch::TxnBegin
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - wallet::SQLiteBatch::HasActiveTxn
    - m_write_semaphore::acquire
    - LogPrintf
    - Assert
    - m_write_semaphore::release
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::TxnBegin()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:669,1
    - Dst: wallet::SQLiteBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:669,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:670,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:672,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: wallet::SQLiteBatch::TxnCommit
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - wallet::SQLiteBatch::HasActiveTxn
    - LogPrintf
    - Assert
    - m_write_semaphore::release
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::TxnCommit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:683,1
    - Dst: wallet::SQLiteBatch::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:683,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:684,1
    - Dst: LogPrintf
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:686,1
    - Dst: m_write_semaphore::release
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 692
    functionName: wallet::SQLiteBatch::TxnAbort
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 2
    functionsReached:
    - wallet::SQLiteBatch::HasActiveTxn
    - LogPrintf
    - Assert
    - m_write_semaphore::release
    linkageType: ''
    returnType: bool
    signature: bool SQLiteBatch::TxnAbort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SQLiteDataFile
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:697,1
    - Dst: std::make_unique<SQLiteDatabase>
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:698,1
    - Dst: fs::path::parent_path
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:698,1
    - Dst: auto::Verify
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:699,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:707,1
    - Dst: what
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' path'
    - ' options'
    - ' status'
    - ' error'
    argTypes:
    - fs::path
    - DatabaseOptions
    - DatabaseStatus
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 710
    functionName: wallet::MakeSQLiteDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 2
    functionsReached:
    - wallet::SQLiteDataFile
    - auto::Verify
    - std::make_unique<SQLiteDatabase>
    - fs::path::parent_path
    - what
    - Untranslated
    linkageType: ''
    returnType: std::unique_ptr<SQLiteDatabase>
    signature: std::unique_ptr<SQLiteDatabase> MakeSQLiteDatabase(const fs::path&
      path, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str&
      error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:714,1
    - Dst: sqlite3_libversion
      Src: /src/bitcoin-core/src/wallet/sqlite.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: wallet::SQLiteDatabaseVersion
    functionSourceFile: /src/bitcoin-core/src/wallet/sqlite.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_libversion
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string SQLiteDatabaseVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:18,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:19,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:20,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:21,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:22,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - verify
    - fs::canonical
    - GetPathArg
    - SetWalletDir
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:28,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:29,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:30,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:31,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:32,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - verify
    - fs::canonical
    - GetPathArg
    - SetWalletDir
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_custom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:38,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:40,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - ASSERT_DEBUG_LOG
    - SetWalletDir
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_does_not_exist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:48,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:50,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - ASSERT_DEBUG_LOG
    - SetWalletDir
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_directory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:58,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:60,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - ASSERT_DEBUG_LOG
    - SetWalletDir
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_relative)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:68,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:70,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:71,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:72,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - verify
    - fs::canonical
    - GetPathArg
    - SetWalletDir
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:78,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:80,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:81,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:82,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - verify
    - fs::canonical
    - GetPathArg
    - SetWalletDir
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:18,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:19,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:20,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:21,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:22,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - verify
    - fs::canonical
    - GetPathArg
    - SetWalletDir
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:28,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:29,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:30,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:31,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:32,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - verify
    - fs::canonical
    - GetPathArg
    - SetWalletDir
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_custom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:38,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:40,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:41,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - ASSERT_DEBUG_LOG
    - SetWalletDir
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_does_not_exist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:48,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:50,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:51,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - ASSERT_DEBUG_LOG
    - SetWalletDir
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_directory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:58,1
    - Dst: ASSERT_DEBUG_LOG
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:60,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:61,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - verify
    - ASSERT_DEBUG_LOG
    - SetWalletDir
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_relative)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:68,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:69,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:70,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:71,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:72,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - verify
    - fs::canonical
    - GetPathArg
    - SetWalletDir
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletDir
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:78,1
    - Dst: verify
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:79,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:80,1
    - Dst: GetPathArg
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:81,1
    - Dst: fs::canonical
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:82,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/init_tests.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_tests.cpp
    functionUses: 0
    functionsReached:
    - verify
    - fs::canonical
    - GetPathArg
    - SetWalletDir
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeWalletLoader
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:14,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:14,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:15,1
    - Dst: CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:15,1
    - Dst: LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:17,1
    - Dst: chain::handleNotifications
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:18,1
    - Dst: registerRpcs
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - chainType
    argTypes:
    - ChainType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: wallet::WalletTestingSetup::WalletTestingSetup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeWalletLoader
    - chain::handleNotifications
    - LoadWallet
    - registerRpcs
    - chain::get
    - Assert
    - CreateMockableWalletDatabase
    linkageType: ''
    returnType: void
    signature: void WalletTestingSetup::WalletTestingSetup(const ChainType chainType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheduler::stop
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: WalletTestingSetup::~WalletTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - scheduler::stop
    linkageType: ''
    returnType: void
    signature: void WalletTestingSetup::~WalletTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaces::MakeWalletLoader
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:14,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:14,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:15,1
    - Dst: CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:15,1
    - Dst: LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:17,1
    - Dst: chain::handleNotifications
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:18,1
    - Dst: registerRpcs
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - chainType
    argTypes:
    - ChainType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: wallet::WalletTestingSetup::WalletTestingSetup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - interfaces::MakeWalletLoader
    - chain::handleNotifications
    - LoadWallet
    - registerRpcs
    - chain::get
    - Assert
    - CreateMockableWalletDatabase
    linkageType: ''
    returnType: void
    signature: void WalletTestingSetup::WalletTestingSetup(const ChainType chainType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheduler::stop
      Src: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: WalletTestingSetup::~WalletTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - scheduler::stop
    linkageType: ''
    returnType: void
    signature: void WalletTestingSetup::~WalletTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::EnsureUniqueWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' endpoint'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: wallet::TestWalletName
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::EnsureUniqueWalletName
    linkageType: ''
    returnType: std::string
    signature: std::string TestWalletName(const std::string& endpoint, std::optional<std::string>
      parameter = std::nullopt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:28,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:28,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:29,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:30,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:30,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:31,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:31,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:33,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:33,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:34,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:34,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:35,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:35,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:36,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:36,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:37,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - wallet::TestWalletName
    - BOOST_CHECK_THROW
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ensure_unique_wallet_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::EnsureUniqueWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' endpoint'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: wallet::TestWalletName
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp
    functionUses: 1
    functionsReached:
    - wallet::EnsureUniqueWalletName
    linkageType: ''
    returnType: std::string
    signature: std::string TestWalletName(const std::string& endpoint, std::optional<std::string>
      parameter = std::nullopt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:28,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:28,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:29,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:29,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:30,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:30,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:31,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:31,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:33,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:33,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:34,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:34,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:35,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:35,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:36,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:36,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:37,1
    - Dst: wallet::TestWalletName
      Src: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_rpc_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - wallet::TestWalletName
    - BOOST_CHECK_THROW
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ensure_unique_wallet_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeWalletLoader
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:19,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:23,1
    - Dst: fs::current_path
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:24,1
    - Dst: fs::current_path
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:33,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:36,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:37,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:38,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - chainType
    argTypes:
    - ChainType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 41
    functionName: wallet::InitWalletDirTestingSetup::InitWalletDirTestingSetup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - fs::current_path
    - MakeWalletLoader
    - std::ofstream::close
    - GetDataDirNet
    - fs::create_directories
    linkageType: ''
    returnType: void
    signature: void InitWalletDirTestingSetup::InitWalletDirTestingSetup(const ChainType
      chainType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::current_path
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: InitWalletDirTestingSetup::~InitWalletDirTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - fs::current_path
    linkageType: ''
    returnType: void
    signature: void InitWalletDirTestingSetup::~InitWalletDirTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:50,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' walletdir_path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: wallet::InitWalletDirTestingSetup::SetWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - ForceSetArg
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void InitWalletDirTestingSetup::SetWalletDir(const fs::path& walletdir_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeWalletLoader
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:19,1
    - Dst: GetDataDirNet
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:23,1
    - Dst: fs::current_path
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:24,1
    - Dst: fs::current_path
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:33,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:36,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:37,1
    - Dst: fs::create_directories
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:38,1
    - Dst: std::ofstream::close
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - chainType
    argTypes:
    - ChainType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 41
    functionName: wallet::InitWalletDirTestingSetup::InitWalletDirTestingSetup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - fs::current_path
    - MakeWalletLoader
    - std::ofstream::close
    - GetDataDirNet
    - fs::create_directories
    linkageType: ''
    returnType: void
    signature: void InitWalletDirTestingSetup::InitWalletDirTestingSetup(const ChainType
      chainType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::current_path
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: InitWalletDirTestingSetup::~InitWalletDirTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - fs::current_path
    linkageType: ''
    returnType: void
    signature: void InitWalletDirTestingSetup::~InitWalletDirTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:50,1
    - Dst: fs::PathToString
      Src: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' walletdir_path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: wallet::InitWalletDirTestingSetup::SetWalletDir
    functionSourceFile: /src/bitcoin-core/src/wallet/test/init_test_fixture.cpp
    functionUses: 0
    functionsReached:
    - ForceSetArg
    - fs::PathToString
    linkageType: ''
    returnType: void
    signature: void InitWalletDirTestingSetup::SetWalletDir(const fs::path& walletdir_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.h:56,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' records'
    - pass
    argTypes:
    - MockableData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: wallet::MockableCursor::MockableCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void MockableCursor(const MockableData& records, bool pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~MockableCursor()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockableCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' records'
    - pass
    argTypes:
    - MockableData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: wallet::MockableBatch::MockableBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockableBatch(MockableData& records, bool pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~MockableBatch()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockableBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: wallet::MockableBatch::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableCursor>
      Src: /src/bitcoin-core/src/wallet/test/util.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: wallet::MockableBatch::GetNewCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached:
    - std::make_unique<MockableCursor>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> GetNewCursor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableCursor>
      Src: /src/bitcoin-core/src/wallet/test/util.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: wallet::MockableBatch::GetNewPrefixCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached:
    - std::make_unique<MockableCursor>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> GetNewPrefixCursor(std::span<const
      std::byte> prefix) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: wallet::MockableBatch::TxnBegin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnBegin() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: wallet::MockableBatch::TxnCommit
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnCommit() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: wallet::MockableBatch::TxnAbort
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnAbort() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: wallet::MockableBatch::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasActiveTxn() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: wallet::MockableDatabase::MockableDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockableDatabase(MockableData records = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~MockableDatabase()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockableDatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: wallet::MockableDatabase::Open
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Open() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: wallet::MockableDatabase::Rewrite
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Rewrite() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strDest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: wallet::MockableDatabase::Backup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Backup(const std::string& strDest) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: wallet::MockableDatabase::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: wallet::MockableDatabase::Filename
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Filename() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: wallet::MockableDatabase::Files
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<fs::path>
    signature: std::vector<fs::path> Files() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: wallet::MockableDatabase::Format
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Format() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableBatch>
      Src: /src/bitcoin-core/src/wallet/test/util.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: wallet::MockableDatabase::MakeBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached:
    - std::make_unique<MockableBatch>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseBatch>
    signature: std::unique_ptr<DatabaseBatch> MakeBatch() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.h:56,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' records'
    - pass
    argTypes:
    - MockableData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: wallet::MockableCursor::MockableCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void MockableCursor(const MockableData& records, bool pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~MockableCursor()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockableCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' records'
    - pass
    argTypes:
    - MockableData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: wallet::MockableBatch::MockableBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockableBatch(MockableData& records, bool pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~MockableBatch()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockableBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: wallet::MockableBatch::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableCursor>
      Src: /src/bitcoin-core/src/wallet/test/util.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: wallet::MockableBatch::GetNewCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached:
    - std::make_unique<MockableCursor>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> GetNewCursor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableCursor>
      Src: /src/bitcoin-core/src/wallet/test/util.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: wallet::MockableBatch::GetNewPrefixCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached:
    - std::make_unique<MockableCursor>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseCursor>
    signature: std::unique_ptr<DatabaseCursor> GetNewPrefixCursor(std::span<const
      std::byte> prefix) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: wallet::MockableBatch::TxnBegin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnBegin() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: wallet::MockableBatch::TxnCommit
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnCommit() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: wallet::MockableBatch::TxnAbort
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TxnAbort() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: wallet::MockableBatch::HasActiveTxn
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasActiveTxn() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: wallet::MockableDatabase::MockableDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockableDatabase(MockableData records = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~MockableDatabase()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockableDatabase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: wallet::MockableDatabase::Open
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Open() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: wallet::MockableDatabase::Rewrite
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Rewrite() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' strDest'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: wallet::MockableDatabase::Backup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Backup(const std::string& strDest) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: wallet::MockableDatabase::Close
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: wallet::MockableDatabase::Filename
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Filename() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: wallet::MockableDatabase::Files
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<fs::path>
    signature: std::vector<fs::path> Files() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: wallet::MockableDatabase::Format
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Format() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableBatch>
      Src: /src/bitcoin-core/src/wallet/test/util.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: wallet::MockableDatabase::MakeBatch
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.h
    functionUses: 0
    functionsReached:
    - std::make_unique<MockableBatch>
    linkageType: ''
    returnType: std::unique_ptr<DatabaseBatch>
    signature: std::unique_ptr<DatabaseBatch> MakeBatch() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:21,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:21,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:21,1
    - Dst: wallet::CreateSyncedWallet
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:22,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:22,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:22,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:22,1
    - Dst: PubKeyDestination
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:30,1
    - Dst: CCoinControl::m_feerate::emplace
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:32,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:37,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:39,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:39,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:40,1
    - Dst: BOOST_CHECK_GT
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:41,1
    - Dst: check_tx
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:51,1
    - Dst: check_tx
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:55,1
    - Dst: check_tx
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:61,1
    - Dst: check_tx
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 62
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/spend_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - wallet::CreateSyncedWallet
    - check_tx
    - tx::vout::size
    - WITH_LOCK
    - GetScriptForRawPubKey
    - CCoinControl::m_feerate::emplace
    - BOOST_CHECK_GT
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Assert
    - PubKeyDestination
    - GetPubKey
    - CreateAndProcessBlock
    - wallet::CreateTransaction
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(SubtractFee, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:69,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:69,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:69,1
    - Dst: wallet::CreateSyncedWallet
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:70,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:70,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:70,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:70,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:72,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:73,1
    - Dst: auto::All
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:74,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:80,1
    - Dst: auto::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:80,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:100,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:100,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:104,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 105
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/spend_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - CCoinControl::Select
    - wallet::CreateSyncedWallet
    - auto::All
    - auto::GetNewDestination
    - WITH_LOCK
    - GetScriptForRawPubKey
    - BOOST_CHECK
    - LOCK
    - wallet::AvailableCoins
    - Assert
    - GetPubKey
    - CreateAndProcessBlock
    - wallet::CreateTransaction
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_duplicated_preset_inputs_test,
      TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:21,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:21,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:21,1
    - Dst: wallet::CreateSyncedWallet
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:22,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:22,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:22,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:22,1
    - Dst: PubKeyDestination
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:30,1
    - Dst: CCoinControl::m_feerate::emplace
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:32,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:37,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:39,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:39,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:40,1
    - Dst: BOOST_CHECK_GT
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:41,1
    - Dst: check_tx
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:51,1
    - Dst: check_tx
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:51,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:55,1
    - Dst: check_tx
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:55,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:61,1
    - Dst: check_tx
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 62
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/spend_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - wallet::CreateSyncedWallet
    - check_tx
    - tx::vout::size
    - WITH_LOCK
    - GetScriptForRawPubKey
    - CCoinControl::m_feerate::emplace
    - BOOST_CHECK_GT
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - Assert
    - PubKeyDestination
    - GetPubKey
    - CreateAndProcessBlock
    - wallet::CreateTransaction
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(SubtractFee, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:69,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:69,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:69,1
    - Dst: wallet::CreateSyncedWallet
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:70,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:70,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:70,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:70,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:72,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:73,1
    - Dst: auto::All
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:74,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:80,1
    - Dst: auto::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:80,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:100,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:100,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:104,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/test/spend_tests.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 105
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/spend_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - CCoinControl::Select
    - wallet::CreateSyncedWallet
    - auto::All
    - auto::GetNewDestination
    - WITH_LOCK
    - GetScriptForRawPubKey
    - BOOST_CHECK
    - LOCK
    - wallet::AvailableCoins
    - Assert
    - GetPubKey
    - CreateAndProcessBlock
    - wallet::CreateTransaction
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_duplicated_preset_inputs_test,
      TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:28,1
    - Dst: std::span::data
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:28,1
    - Dst: std::span::size
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:28,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:29,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:29,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' kv'
    argTypes:
    - std::ostream
    - std::pair<const SerializeData, SerializeData>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: '& operator<<(std::ostream& os, const std::pair<const SerializeData,
      SerializeData>& kv)'
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - std::span::size
    - reinterpret_cast<const char*>
    - std::span::data
    - size
    - data
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const std::pair<const SerializeData,
      SerializeData>& kv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: wallet::StringBytes
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - std::as_bytes
    linkageType: ''
    returnType: std::span<const std::byte>
    signature: std::span<const std::byte> StringBytes(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:42,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:43,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: wallet::StringData
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::end
    - auto::begin
    - wallet::StringBytes
    linkageType: ''
    returnType: SerializeData
    signature: SerializeData StringData(std::string_view str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:48,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:51,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:55,1
    - Dst: MockableData::emplace
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: SerializeData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: SerializeData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    - Dst: MockableData::begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    - Dst: MockableData::end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    - Dst: MockableData::begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    - Dst: MockableData::end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' batch'
    - prefix
    - expected
    argTypes:
    - DatabaseBatch
    - std::span<const std::byte>
    - MockableData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: wallet::CheckPrefix
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - GetNewPrefixCursor
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - MockableData::begin
    - DataStream::begin
    - BOOST_CHECK
    - SerializeData
    - MockableData::end
    - std::unique_ptr::Next
    - MockableData::emplace
    - DataStream::DataStream
    - begin
    - DataStream::end
    linkageType: ''
    returnType: void
    signature: void CheckPrefix(DatabaseBatch& batch, std::span<const std::byte> prefix,
      MockableData expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:70,1
    - Dst: wallet::MakeSQLiteDatabase
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:70,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:71,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' path_root'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: wallet::TestDatabases
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - wallet::CreateMockableWalletDatabase
    - wallet::MakeSQLiteDatabase
    linkageType: ''
    returnType: std::vector<std::unique_ptr<WalletDatabase>>
    signature: std::vector<std::unique_ptr<WalletDatabase>> TestDatabases(const fs::path&
      path_root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestDatabases
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:78,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:85,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:85,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:85,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:91,1
    - Dst: std::unique_ptr::GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:93,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:94,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:95,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:107,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:111,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:111,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:113,1
    - Dst: Close
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 116
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::unique_ptr::reset
    - Close
    - wallet::TestDatabases
    - BOOST_CHECK
    - std::unique_ptr::Write
    - Assert
    - std::unique_ptr::GetNewPrefixCursor
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::Next
    - DataStream::DataStream
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(db_cursor_prefix_range_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:125,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:125,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:126,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:126,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:127,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:127,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:128,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:128,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:129,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:129,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:130,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:130,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:131,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:131,1
    - Dst: wallet::TestDatabases
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:132,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:133,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:137,1
    - Dst: wallet::CheckPrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:140,1
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:140,1
    - Dst: wallet::CheckPrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:141,1
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:141,1
    - Dst: wallet::CheckPrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:142,1
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:142,1
    - Dst: wallet::CheckPrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:143,1
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:143,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:144,1
    - Dst: Close
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::StringData
    - std::unique_ptr::reset
    - Close
    - wallet::TestDatabases
    - std::unique_ptr::Write
    - wallet::CheckPrefix
    - MakeBatch
    - wallet::StringBytes
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(db_cursor_prefix_byte_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestDatabases
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:154,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:160,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:162,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:162,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:164,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:164,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:167,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:167,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 170
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestDatabases
    - BOOST_CHECK
    - std::unique_ptr::Write
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::Read
    - MakeBatch
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(db_availability_after_write_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:180,1
    - Dst: wallet::TestDatabases
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:182,1
    - Dst: dynamic_cast<BerkeleyRODatabase*>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:183,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:183,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:187,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:191,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:191,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:191,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:192,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:192,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:192,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:193,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:193,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:194,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:194,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:194,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:197,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:197,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:198,1
    - Dst: std::unique_ptr::ErasePrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:198,1
    - Dst: DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:198,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:199,1
    - Dst: std::unique_ptr::TxnCommit
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:201,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:201,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:202,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:202,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:204,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:204,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:204,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:205,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:205,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 207
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - make_key
    - std::make_pair
    - std::unique_ptr::TxnCommit
    - dynamic_cast<BerkeleyRODatabase*>
    - std::unique_ptr::ErasePrefix
    - wallet::TestDatabases
    - BOOST_CHECK
    - std::unique_ptr::Write
    - std::unique_ptr::TxnBegin
    - DataStream
    - get
    - MakeBatch
    - std::unique_ptr::Exists
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(erase_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blocked_statements
    argTypes:
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: wallet::DbExecBlocker::DbExecBlocker
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbExecBlocker(std::set<std::string> blocked_statements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:220,1
    - Dst: wallet::DbExecBlocker::Exec
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' database'
    - ' statement'
    argTypes:
    - SQLiteDatabase
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: wallet::DbExecBlocker::Exec
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 1
    functionsReached:
    - contains
    - wallet::DbExecBlocker::Exec
    linkageType: ''
    returnType: int
    signature: int Exec(SQLiteDatabase& database, const std::string& statement) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::MakeSQLiteDatabase
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:232,1
    - Dst: std::make_unique<SQLiteBatch>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:237,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:238,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:238,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:239,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:239,1
    - Dst: std::unique_ptr::SetExecHandler
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:242,1
    - Dst: std::make_unique<DbExecBlocker>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:242,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:244,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:247,1
    - Dst: std::unique_ptr::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:247,1
    - Dst: std::make_unique<SQLiteBatch>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:252,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:253,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:253,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:255,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 256
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::SetExecHandler
    - std::unique_ptr::reset
    - std::unique_ptr::HasActiveTxn
    - std::unique_ptr::Exists
    - BOOST_CHECK
    - std::make_unique<SQLiteBatch>
    - std::unique_ptr::Write
    - wallet::MakeSQLiteDatabase
    - std::unique_ptr::TxnBegin
    - std::make_unique<DbExecBlocker>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(txn_close_failure_dangling_txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::MakeSQLiteDatabase
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:267,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:269,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:273,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:273,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:274,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:274,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:275,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:275,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:278,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:279,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:279,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:283,1
    - Dst: std::unique_ptr::TxnCommit
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:284,1
    - Dst: std::unique_ptr::TxnAbort
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:284,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:287,1
    - Dst: std::unique_ptr::TxnCommit
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:287,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:290,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:290,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:291,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:295,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:295,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:296,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:296,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 298
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::TxnCommit
    - std::unique_ptr::TxnAbort
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::Write
    - Assert
    - wallet::MakeSQLiteDatabase
    - std::unique_ptr::Read
    - std::unique_ptr::TxnBegin
    - std::unique_ptr::Exists
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(concurrent_txn_dont_interfere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::as_bytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: wallet::StringBytes
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 2
    functionsReached:
    - std::as_bytes
    linkageType: ''
    returnType: std::span<const std::byte>
    signature: std::span<const std::byte> StringBytes(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:42,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:43,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: wallet::StringData
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 1
    functionsReached:
    - auto::end
    - auto::begin
    - wallet::StringBytes
    linkageType: ''
    returnType: SerializeData
    signature: SerializeData StringData(std::string_view str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:48,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:51,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:54,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:55,1
    - Dst: MockableData::emplace
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: SerializeData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: DataStream::begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: DataStream::end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: SerializeData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:56,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    - Dst: MockableData::begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    - Dst: MockableData::end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    - Dst: MockableData::begin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    - Dst: MockableData::end
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' batch'
    - prefix
    - expected
    argTypes:
    - DatabaseBatch
    - std::span<const std::byte>
    - MockableData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: wallet::CheckPrefix
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 1
    functionsReached:
    - end
    - GetNewPrefixCursor
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - MockableData::begin
    - DataStream::begin
    - BOOST_CHECK
    - SerializeData
    - MockableData::end
    - std::unique_ptr::Next
    - MockableData::emplace
    - DataStream::DataStream
    - begin
    - DataStream::end
    linkageType: ''
    returnType: void
    signature: void CheckPrefix(DatabaseBatch& batch, std::span<const std::byte> prefix,
      MockableData expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:70,1
    - Dst: wallet::MakeSQLiteDatabase
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:70,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:71,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' path_root'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: wallet::TestDatabases
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 4
    functionsReached:
    - std::vector::emplace_back
    - wallet::CreateMockableWalletDatabase
    - wallet::MakeSQLiteDatabase
    linkageType: ''
    returnType: std::vector<std::unique_ptr<WalletDatabase>>
    signature: std::vector<std::unique_ptr<WalletDatabase>> TestDatabases(const fs::path&
      path_root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestDatabases
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:78,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:85,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:85,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:85,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:91,1
    - Dst: std::unique_ptr::GetNewPrefixCursor
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:93,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:94,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:95,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:97,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:98,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:103,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:107,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:111,1
    - Dst: std::unique_ptr::Next
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:111,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:113,1
    - Dst: Close
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 116
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::unique_ptr::reset
    - Close
    - wallet::TestDatabases
    - BOOST_CHECK
    - std::unique_ptr::Write
    - Assert
    - std::unique_ptr::GetNewPrefixCursor
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::Next
    - DataStream::DataStream
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(db_cursor_prefix_range_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:125,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:125,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:126,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:126,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:127,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:127,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:128,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:128,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:129,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:129,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:130,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:130,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:131,1
    - Dst: wallet::StringData
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:131,1
    - Dst: wallet::TestDatabases
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:132,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:133,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:137,1
    - Dst: wallet::CheckPrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:140,1
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:140,1
    - Dst: wallet::CheckPrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:141,1
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:141,1
    - Dst: wallet::CheckPrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:142,1
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:142,1
    - Dst: wallet::CheckPrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:143,1
    - Dst: wallet::StringBytes
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:143,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:144,1
    - Dst: Close
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::StringData
    - std::unique_ptr::reset
    - Close
    - wallet::TestDatabases
    - std::unique_ptr::Write
    - wallet::CheckPrefix
    - MakeBatch
    - wallet::StringBytes
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(db_cursor_prefix_byte_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestDatabases
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:154,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:160,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:160,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:162,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:162,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:164,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:164,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:167,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:167,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 170
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestDatabases
    - BOOST_CHECK
    - std::unique_ptr::Write
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::Read
    - MakeBatch
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(db_availability_after_write_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:180,1
    - Dst: wallet::TestDatabases
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:182,1
    - Dst: dynamic_cast<BerkeleyRODatabase*>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:183,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:183,1
    - Dst: MakeBatch
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:187,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:191,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:191,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:191,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:192,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:192,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:192,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:193,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:193,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:193,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:194,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:194,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:194,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:197,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:197,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:198,1
    - Dst: std::unique_ptr::ErasePrefix
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:198,1
    - Dst: DataStream
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:198,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:199,1
    - Dst: std::unique_ptr::TxnCommit
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:199,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:201,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:201,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:202,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:202,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:202,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:204,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:204,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:204,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:205,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:205,1
    - Dst: make_key
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 207
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - make_key
    - std::make_pair
    - std::unique_ptr::TxnCommit
    - dynamic_cast<BerkeleyRODatabase*>
    - std::unique_ptr::ErasePrefix
    - wallet::TestDatabases
    - BOOST_CHECK
    - std::unique_ptr::Write
    - std::unique_ptr::TxnBegin
    - DataStream
    - get
    - MakeBatch
    - std::unique_ptr::Exists
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(erase_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blocked_statements
    argTypes:
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: wallet::DbExecBlocker::DbExecBlocker
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbExecBlocker(std::set<std::string> blocked_statements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:220,1
    - Dst: wallet::DbExecBlocker::Exec
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' database'
    - ' statement'
    argTypes:
    - SQLiteDatabase
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: wallet::DbExecBlocker::Exec
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 2
    functionsReached:
    - contains
    - wallet::DbExecBlocker::Exec
    linkageType: ''
    returnType: int
    signature: int Exec(SQLiteDatabase& database, const std::string& statement) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::MakeSQLiteDatabase
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:232,1
    - Dst: std::make_unique<SQLiteBatch>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:237,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:238,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:238,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:239,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:239,1
    - Dst: std::unique_ptr::SetExecHandler
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:242,1
    - Dst: std::make_unique<DbExecBlocker>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:242,1
    - Dst: std::unique_ptr::reset
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:244,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:247,1
    - Dst: std::unique_ptr::HasActiveTxn
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:247,1
    - Dst: std::make_unique<SQLiteBatch>
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:252,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:253,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:253,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:255,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 256
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::SetExecHandler
    - std::unique_ptr::reset
    - std::unique_ptr::HasActiveTxn
    - std::unique_ptr::Exists
    - BOOST_CHECK
    - std::make_unique<SQLiteBatch>
    - std::unique_ptr::Write
    - wallet::MakeSQLiteDatabase
    - std::unique_ptr::TxnBegin
    - std::make_unique<DbExecBlocker>
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(txn_close_failure_dangling_txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::MakeSQLiteDatabase
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:267,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:269,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:273,1
    - Dst: std::unique_ptr::TxnBegin
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:273,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:274,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:274,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:275,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:275,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:278,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:279,1
    - Dst: std::unique_ptr::Exists
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:279,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:283,1
    - Dst: std::unique_ptr::TxnCommit
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:284,1
    - Dst: std::unique_ptr::TxnAbort
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:284,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:287,1
    - Dst: std::unique_ptr::TxnCommit
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:287,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:290,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:290,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:291,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:295,1
    - Dst: std::unique_ptr::Write
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:295,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:296,1
    - Dst: std::unique_ptr::Read
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:296,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/db_tests.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 298
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/db_tests.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::TxnCommit
    - std::unique_ptr::TxnAbort
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - std::unique_ptr::Write
    - Assert
    - wallet::MakeSQLiteDatabase
    - std::unique_ptr::Read
    - std::unique_ptr::TxnBegin
    - std::unique_ptr::Exists
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(concurrent_txn_dont_interfere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:31,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:32,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:33,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:37,1
    - Dst: CoinSelectionParams::m_discard_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: wallet::init_default_params
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - CoinSelectionParams::m_discard_feerate::GetFee
    - CoinSelectionParams::m_effective_feerate::GetFee
    linkageType: ''
    returnType: CoinSelectionParams
    signature: CoinSelectionParams init_default_params()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:50,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:51,1
    - Dst: m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:52,1
    - Dst: OutputGroup::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' amount'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: wallet::MakeCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - m_effective_feerate::GetFee
    - CMutableTransaction::vout::resize
    - CMutableTransaction::vout::at
    - OutputGroup::Insert
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - std::make_shared<COutput>
    - CMutableTransaction::GetHash
    linkageType: ''
    returnType: OutputGroup
    signature: OutputGroup MakeCoin(const CAmount& amount, bool is_eff_value = true,
      CoinSelectionParams cs_params = default_cs_params, int custom_spending_vsize
      = P2WPKH_INPUT_VSIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:64,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' utxo_pool'
    - coins
    argTypes:
    - std::vector<OutputGroup>
    - std::vector<CAmount>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: wallet::AddCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - wallet::MakeCoin
    linkageType: ''
    returnType: void
    signature: void AddCoins(std::vector<OutputGroup>& utxo_pool, std::vector<CAmount>
      coins, CoinSelectionParams cs_params = default_cs_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:71,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' utxo_pool'
    - count
    - amount
    argTypes:
    - std::vector<OutputGroup>
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: wallet::AddDuplicateCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - wallet::MakeCoin
    linkageType: ''
    returnType: void
    signature: void AddDuplicateCoins(std::vector<OutputGroup>& utxo_pool, int count,
      int amount, CoinSelectionParams cs_params = default_cs_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:82,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:84,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:85,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:87,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:87,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:87,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:88,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:88,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:88,1
    - Dst: std::mismatch
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:90,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:90,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:90,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:90,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:91,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SelectionResult
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: wallet::HaveEquivalentValues
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::mismatch
    - std::vector::begin
    - GetInputSet
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: bool
    signature: bool HaveEquivalentValues(const SelectionResult& a, const SelectionResult&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Join
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:96,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:96,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' selection'
    argTypes:
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: wallet::InputAmountsToString
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - util::ToString
    - util::Join
    - GetInputSet
    linkageType: ''
    returnType: std::string
    signature: std::string InputAmountsToString(const SelectionResult& selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:101,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:104,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:106,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:109,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:110,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: wallet::HaveEquivalentValues
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: wallet::InputAmountsToString
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: wallet::InputAmountsToString
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:112,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:112,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:112,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - test_title
    - ' utxo_pool'
    - ' selection_target'
    - ' expected_input_amounts'
    argTypes:
    - std::string
    - std::vector<OutputGroup>
    - CAmount
    - std::vector<CAmount>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: wallet::TestBnBSuccess
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::HaveEquivalentValues
    - wallet::InputAmountsToString
    - SelectionResult::AddInput
    - wallet::MakeCoin
    - wallet::SelectCoinsBnB
    - auto::GetSelectedValue
    - CAmount
    - strprintf
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void TestBnBSuccess(std::string test_title, std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, const std::vector<CAmount>& expected_input_amounts,
      const CoinSelectionParams& cs_params = default_cs_params, const int custom_spending_vsize
      = P2WPKH_INPUT_VSIZE, const int max_selection_weight = MAX_STANDARD_TX_WEIGHT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:117,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:118,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:119,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - test_title
    - ' utxo_pool'
    - ' selection_target'
    argTypes:
    - std::string
    - std::vector<OutputGroup>
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: wallet::TestBnBFail
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    - wallet::SelectCoinsBnB
    - BOOST_CHECK
    - find
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void TestBnBFail(std::string test_title, std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, int max_selection_weight = MAX_STANDARD_TX_WEIGHT,
      const bool expect_max_weight_exceeded = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::init_default_params
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:130,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:134,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:136,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:139,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:140,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:141,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:142,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:143,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:146,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:149,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:151,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:153,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:156,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:157,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:158,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:162,1
    - Dst: wallet::AddDuplicateCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:163,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:192,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:195,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:197,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:200,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 203
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestBnBSuccess
    - wallet::init_default_params
    - wallet::TestBnBFail
    - std::vector::push_back
    - wallet::AddDuplicateCoins
    - wallet::AddCoins
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bnb_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:209,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:210,1
    - Dst: wallet::init_default_params
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:212,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:215,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:216,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:219,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:219,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:220,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:220,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:221,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:223,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:223,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:224,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:224,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestBnBSuccess
    - wallet::init_default_params
    - wallet::MakeCoin
    - std::vector::push_back
    - wallet::AddCoins
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bnb_feerate_sensitivity_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:31,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:32,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:33,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:37,1
    - Dst: CoinSelectionParams::m_discard_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: wallet::init_default_params
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 2
    functionsReached:
    - CFeeRate
    - CoinSelectionParams::m_discard_feerate::GetFee
    - CoinSelectionParams::m_effective_feerate::GetFee
    linkageType: ''
    returnType: CoinSelectionParams
    signature: CoinSelectionParams init_default_params()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:50,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:51,1
    - Dst: m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:52,1
    - Dst: OutputGroup::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' amount'
    argTypes:
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: wallet::MakeCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 4
    functionsReached:
    - m_effective_feerate::GetFee
    - CMutableTransaction::vout::resize
    - CMutableTransaction::vout::at
    - OutputGroup::Insert
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - std::make_shared<COutput>
    - CMutableTransaction::GetHash
    linkageType: ''
    returnType: OutputGroup
    signature: OutputGroup MakeCoin(const CAmount& amount, bool is_eff_value = true,
      CoinSelectionParams cs_params = default_cs_params, int custom_spending_vsize
      = P2WPKH_INPUT_VSIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:64,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' utxo_pool'
    - coins
    argTypes:
    - std::vector<OutputGroup>
    - std::vector<CAmount>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: wallet::AddCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - wallet::MakeCoin
    linkageType: ''
    returnType: void
    signature: void AddCoins(std::vector<OutputGroup>& utxo_pool, std::vector<CAmount>
      coins, CoinSelectionParams cs_params = default_cs_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:71,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' utxo_pool'
    - count
    - amount
    argTypes:
    - std::vector<OutputGroup>
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: wallet::AddDuplicateCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - wallet::MakeCoin
    linkageType: ''
    returnType: void
    signature: void AddDuplicateCoins(std::vector<OutputGroup>& utxo_pool, int count,
      int amount, CoinSelectionParams cs_params = default_cs_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:82,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:84,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:85,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:87,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:87,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:87,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:88,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:88,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:88,1
    - Dst: std::mismatch
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:90,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:90,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:90,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:90,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:91,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SelectionResult
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: wallet::HaveEquivalentValues
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - std::mismatch
    - std::vector::begin
    - GetInputSet
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: bool
    signature: bool HaveEquivalentValues(const SelectionResult& a, const SelectionResult&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Join
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:96,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:96,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' selection'
    argTypes:
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: wallet::InputAmountsToString
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 1
    functionsReached:
    - util::ToString
    - util::Join
    - GetInputSet
    linkageType: ''
    returnType: std::string
    signature: std::string InputAmountsToString(const SelectionResult& selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:101,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:104,1
    - Dst: SelectionResult::AddInput
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:106,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:109,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:110,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: wallet::HaveEquivalentValues
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: wallet::InputAmountsToString
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: wallet::InputAmountsToString
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:111,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:112,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:112,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:112,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - test_title
    - ' utxo_pool'
    - ' selection_target'
    - ' expected_input_amounts'
    argTypes:
    - std::string
    - std::vector<OutputGroup>
    - CAmount
    - std::vector<CAmount>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: wallet::TestBnBSuccess
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 2
    functionsReached:
    - wallet::HaveEquivalentValues
    - wallet::InputAmountsToString
    - SelectionResult::AddInput
    - wallet::MakeCoin
    - wallet::SelectCoinsBnB
    - auto::GetSelectedValue
    - CAmount
    - strprintf
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void TestBnBSuccess(std::string test_title, std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, const std::vector<CAmount>& expected_input_amounts,
      const CoinSelectionParams& cs_params = default_cs_params, const int custom_spending_vsize
      = P2WPKH_INPUT_VSIZE, const int max_selection_weight = MAX_STANDARD_TX_WEIGHT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:117,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:118,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:119,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:119,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - test_title
    - ' utxo_pool'
    - ' selection_target'
    argTypes:
    - std::string
    - std::vector<OutputGroup>
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: wallet::TestBnBFail
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 1
    functionsReached:
    - util::ErrorString
    - wallet::SelectCoinsBnB
    - BOOST_CHECK
    - find
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: void TestBnBFail(std::string test_title, std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, int max_selection_weight = MAX_STANDARD_TX_WEIGHT,
      const bool expect_max_weight_exceeded = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::init_default_params
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:130,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:134,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:136,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:139,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:140,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:141,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:142,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:143,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:146,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:149,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:151,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:153,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:156,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:157,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:158,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:162,1
    - Dst: wallet::AddDuplicateCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:163,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:192,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:195,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:197,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:200,1
    - Dst: wallet::TestBnBFail
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 203
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestBnBSuccess
    - wallet::init_default_params
    - wallet::TestBnBFail
    - std::vector::push_back
    - wallet::AddDuplicateCoins
    - wallet::AddCoins
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bnb_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:209,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:210,1
    - Dst: wallet::init_default_params
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:212,1
    - Dst: wallet::AddCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:215,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:216,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:219,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:219,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:220,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:220,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:221,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:223,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:223,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:224,1
    - Dst: wallet::MakeCoin
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:224,1
    - Dst: wallet::TestBnBSuccess
      Src: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselection_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestBnBSuccess
    - wallet::init_default_params
    - wallet::MakeCoin
    - std::vector::push_back
    - wallet::AddCoins
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bnb_feerate_sensitivity_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:28,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:29,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:32,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:33,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:36,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:41,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:41,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:42,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:44,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:46,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:48,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:53,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:53,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:54,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:56,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:58,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:59,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:60,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:65,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:65,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:66,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:68,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:70,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:70,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:72,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:77,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:77,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:78,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:80,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:82,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:82,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:83,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:84,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:89,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:89,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:90,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:92,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:94,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:94,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:95,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:95,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:97,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:102,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:102,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:103,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:105,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:106,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:111,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:111,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:112,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:114,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:115,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:120,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:120,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:121,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:123,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:124,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:129,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:129,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:130,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:132,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:133,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:138,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:138,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:139,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:141,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:143,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:143,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:144,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:145,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:150,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:150,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:151,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:154,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:159,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:159,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:160,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:160,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:162,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:164,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:165,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:166,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:171,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:171,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:173,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:173,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:175,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:177,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:178,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:178,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:179,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:180,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:185,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:185,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:187,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:187,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:189,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:191,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:192,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:192,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:193,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:194,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:199,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:199,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:201,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:201,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:203,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:204,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:209,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:209,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:211,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:211,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:213,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:215,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:216,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:216,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:217,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:217,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:218,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:219,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:224,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:224,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:226,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:228,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:231,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:231,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:232,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:235,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:235,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:235,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:236,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:239,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:239,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:240,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:240,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:241,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:242,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:245,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:245,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:246,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:247,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:250,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:250,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:251,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:251,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:252,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:253,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:257,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:257,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:259,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:260,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:261,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:262,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:263,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:268,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:268,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:270,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:272,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:275,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:275,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:277,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:278,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:279,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:280,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 283
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - GetScriptForDestination
    - BOOST_CHECK_EQUAL
    - MakeNewKey
    - GetScriptForMultisig
    - ScriptHash
    - WitnessV0KeyHash
    - GenerateRandomKey
    - wallet::CreateMockableWalletDatabase
    - get
    - XOnlyPubKey::IsFullyValid
    - PKHash
    - TaprootBuilder::Finalize
    - auto::IsMine
    - GetScriptForRawPubKey
    - WitnessV0ScriptHash
    - Assert
    - CKey::GetPubKey
    - TaprootBuilder::GetOutput
    - wallet::CreateDescriptor
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ismine_standard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNewKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:28,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:29,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:32,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:33,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:36,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:41,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:41,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:42,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:44,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:46,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:47,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:48,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:53,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:53,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:54,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:56,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:58,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:59,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:60,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:65,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:65,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:66,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:68,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:70,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:70,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:71,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:72,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:77,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:77,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:78,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:80,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:82,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:82,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:83,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:84,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:89,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:89,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:90,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:92,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:94,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:94,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:95,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:95,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:96,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:97,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:102,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:102,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:103,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:105,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:106,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:111,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:111,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:112,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:114,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:115,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:120,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:120,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:121,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:123,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:124,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:129,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:129,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:130,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:132,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:133,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:138,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:138,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:139,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:141,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:143,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:143,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:144,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:145,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:150,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:150,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:151,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:153,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:154,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:159,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:159,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:160,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:160,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:162,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:164,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:165,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:166,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:171,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:171,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:173,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:173,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:175,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:177,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:178,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:178,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:179,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:180,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:185,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:185,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:187,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:187,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:189,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:191,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:192,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:192,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:193,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:194,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:199,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:199,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:201,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:201,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:203,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:204,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:209,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:209,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:211,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:211,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:213,1
    - Dst: GetScriptForMultisig
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:215,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:216,1
    - Dst: WitnessV0ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:216,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:217,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:217,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:218,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:219,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:224,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:224,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:226,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:228,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:231,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:231,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:232,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:235,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:235,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:235,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:236,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:239,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:239,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:240,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:240,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:241,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:242,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:245,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:245,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:246,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:247,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:250,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:250,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:251,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:251,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:252,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:253,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:257,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:257,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:259,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:260,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:261,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:262,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:263,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:268,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:268,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:270,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:272,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:275,1
    - Dst: XOnlyPubKey::IsFullyValid
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:275,1
    - Dst: TaprootBuilder::Finalize
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:277,1
    - Dst: TaprootBuilder::GetOutput
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:278,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:279,1
    - Dst: auto::IsMine
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:280,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 283
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/ismine_tests.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - GetScriptForDestination
    - BOOST_CHECK_EQUAL
    - MakeNewKey
    - GetScriptForMultisig
    - ScriptHash
    - WitnessV0KeyHash
    - GenerateRandomKey
    - wallet::CreateMockableWalletDatabase
    - get
    - XOnlyPubKey::IsFullyValid
    - PKHash
    - TaprootBuilder::Finalize
    - auto::IsMine
    - GetScriptForRawPubKey
    - WitnessV0ScriptHash
    - Assert
    - CKey::GetPubKey
    - TaprootBuilder::GetOutput
    - wallet::CreateDescriptor
    - GetPubKey
    - CScript::CScript
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ismine_standard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:35,1
    - Dst: SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:36,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:43,1
    - Dst: mapWallet::emplace
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:44,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:44,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:44,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:44,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:50,1
    - Dst: mapWallet::emplace
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:51,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:51,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:51,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:51,1
    - Dst: import_descriptor
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:54,1
    - Dst: import_descriptor
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:55,1
    - Dst: import_descriptor
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:56,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:59,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:67,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:67,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:72,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:80,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 81
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - mapWallet::emplace
    - HexStr
    - CTransactionRef::GetHash
    - BOOST_CHECK
    - LOCK
    - import_descriptor
    - BOOST_REQUIRE
    - FillPSBT
    - BOOST_CHECK_EQUAL
    - std::forward_as_tuple
    - TX_WITH_WITNESS
    - SetWalletFlag
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(psbt_updater_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:87,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:88,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:90,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:91,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:93,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:94,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:96,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:97,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:99,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:99,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:100,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:100,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:102,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:103,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:105,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:106,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:106,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:108,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:109,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:109,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:111,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:112,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:114,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:115,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:115,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:117,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:117,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:118,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:118,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:120,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:121,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:123,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:123,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:124,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:124,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:126,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:127,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:127,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:129,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:129,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:130,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:132,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:132,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:133,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:135,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:135,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:136,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:138,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:138,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:139,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:141,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:141,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:142,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:142,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:144,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:144,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:145,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:145,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:147,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:147,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:148,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:148,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:150,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:151,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:153,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:153,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:154,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 155
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - ParseHDKeypath
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(parse_hd_keypath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:35,1
    - Dst: SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:36,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:43,1
    - Dst: mapWallet::emplace
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:44,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:44,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:44,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:44,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:50,1
    - Dst: mapWallet::emplace
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:51,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:51,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:51,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:51,1
    - Dst: import_descriptor
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:54,1
    - Dst: import_descriptor
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:55,1
    - Dst: import_descriptor
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:56,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:59,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:67,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:67,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:72,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:73,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:80,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 81
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - mapWallet::emplace
    - HexStr
    - CTransactionRef::GetHash
    - BOOST_CHECK
    - LOCK
    - import_descriptor
    - BOOST_REQUIRE
    - FillPSBT
    - BOOST_CHECK_EQUAL
    - std::forward_as_tuple
    - TX_WITH_WITNESS
    - SetWalletFlag
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(psbt_updater_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:87,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:87,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:88,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:88,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:90,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:90,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:91,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:91,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:93,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:93,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:94,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:94,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:96,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:96,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:97,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:97,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:99,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:99,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:100,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:100,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:102,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:102,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:103,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:103,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:105,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:105,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:106,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:106,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:108,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:108,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:109,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:109,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:111,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:111,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:112,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:114,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:115,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:115,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:117,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:117,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:118,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:118,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:120,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:120,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:121,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:123,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:123,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:124,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:124,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:126,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:126,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:127,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:127,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:129,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:129,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:130,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:130,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:132,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:132,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:133,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:135,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:135,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:136,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:136,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:138,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:138,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:139,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:139,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:141,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:141,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:142,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:142,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:144,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:144,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:145,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:145,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:147,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:147,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:148,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:148,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:150,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:151,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:151,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:153,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:153,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:154,1
    - Dst: ParseHDKeypath
      Src: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 155
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/psbt_wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK
    - ParseHDKeypath
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(parse_hd_keypath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TxStateInterpretSerialized
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:18,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:19,1
    - Dst: wallet::TxStateSerializedBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:19,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:20,1
    - Dst: wallet::TxStateSerializedIndex
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TxStateSerializedIndex
    - BOOST_CHECK_EQUAL
    - wallet::TxStateInterpretSerialized
    - wallet::TxStateSerializedBlockHash
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TxStateInterpretSerialized
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:18,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:19,1
    - Dst: wallet::TxStateSerializedBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:19,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:20,1
    - Dst: wallet::TxStateSerializedIndex
      Src: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_transaction_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TxStateSerializedIndex
    - BOOST_CHECK_EQUAL
    - wallet::TxStateInterpretSerialized
    - wallet::TxStateSerializedBlockHash
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:42,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:43,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:46,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:46,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:46,1
    - Dst: OutputGroup::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:48,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:48,1
    - Dst: AddInput
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' nValue'
    - nInput
    - ' result'
    argTypes:
    - CAmount
    - int
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: wallet::add_coin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::at
    - CMutableTransaction::vout::resize
    - OutputGroup::Insert
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - CMutableTransaction::GetHash
    - std::make_shared<COutput>
    - AddInput
    linkageType: ''
    returnType: void
    signature: void add_coin(const CAmount& nValue, int nInput, SelectionResult& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:54,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:55,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:58,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:58,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:58,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:58,1
    - Dst: OutputGroup::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:60,1
    - Dst: AddInput
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ' nValue'
    - nInput
    - ' result'
    - fee
    - long_term_fee
    argTypes:
    - CAmount
    - int
    - SelectionResult
    - CAmount
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: wallet::add_coin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::resize
    - CMutableTransaction::vout::at
    - OutputGroup::Insert
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - CMutableTransaction::GetHash
    - std::make_shared<COutput>
    - AddInput
    linkageType: ''
    returnType: void
    signature: void add_coin(const CAmount& nValue, int nInput, SelectionResult& result,
      CAmount fee, CAmount long_term_fee)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:65,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:67,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:69,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:72,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:72,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:72,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:74,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:76,1
    - Dst: mapWallet::emplace
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:78,1
    - Dst: tx::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:80,1
    - Dst: Add
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' available_coins'
    - ' wallet'
    - ' nValue'
    argTypes:
    - CoinsResult
    - CWallet
    - CAmount
    assertStmts:
    - condition: (ret.second)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 8
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: wallet::add_coin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - CFeeRate
    - GetHash
    - std::move
    - wallet::CalculateMaximumSignedInputSize
    - mapWallet::emplace
    - CMutableTransaction::vout::resize
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - GetNewDestination
    - COutPoint
    - Assert
    - assert
    - GetTxTime
    - CMutableTransaction::GetHash
    - LOCK
    - std::forward_as_tuple
    - tx::vout::at
    - Add
    linkageType: ''
    returnType: void
    signature: void add_coin(CoinsResult& available_coins, CWallet& wallet, const
      CAmount& nValue, CFeeRate feerate = CFeeRate(0), int nAge = 6*24, bool fIsFromMe
      = false, int nInput =0, bool spendable = false, int custom_size = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:88,1
    - Dst: std::optional<SelectionResult>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' groups'
    - ' nTargetValue'
    - change_target
    - ' rng'
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: wallet::KnapsackSolver
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 3
    functionsReached:
    - wallet::KnapsackSolver
    - std::optional<SelectionResult>
    linkageType: ''
    returnType: std::optional<SelectionResult>
    signature: "std::optional<SelectionResult> KnapsackSolver(std::vector<OutputGroup>&
      groups, const CAmount& nTargetValue,\n                                              CAmount
      change_target, FastRandomContext& rng)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:94,1
    - Dst: std::optional<SelectionResult>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' utxo_pool'
    - ' selection_target'
    - ' cost_of_change'
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: wallet::SelectCoinsBnB
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 7
    functionsReached:
    - std::optional<SelectionResult>
    - wallet::SelectCoinsBnB
    linkageType: ''
    returnType: std::optional<SelectionResult>
    signature: std::optional<SelectionResult> SelectCoinsBnB(std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, const CAmount& cost_of_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:104,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:105,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:107,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:108,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:110,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:110,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:110,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:111,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:111,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:111,1
    - Dst: std::mismatch
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:113,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:113,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:113,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:113,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:114,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SelectionResult
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: wallet::EquivalentResult
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::mismatch
    - std::vector::begin
    - GetInputSet
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: bool
    signature: bool EquivalentResult(const SelectionResult& a, const SelectionResult&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::mismatch
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:120,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:120,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:120,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:120,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:124,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SelectionResult
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: wallet::EqualResult
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - std::mismatch
    - GetInputSet
    linkageType: ''
    returnType: bool
    signature: bool EqualResult(const SelectionResult& a, const SelectionResult& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:130,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:132,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:133,1
    - Dst: wallet::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:134,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' available_coins'
    argTypes:
    - std::vector<COutput>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: wallet::GroupCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::back
    - wallet::Insert
    - std::make_shared<COutput>
    - std::vector::clear
    linkageType: ''
    returnType: std::vector<OutputGroup>
    signature: std::vector<OutputGroup> & GroupCoins(const std::vector<COutput>& available_coins,
      bool subtract_fee_outputs = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:148,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:149,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:150,1
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' available_coins'
    - ' wallet'
    - ' filter'
    argTypes:
    - CoinsResult
    - CWallet
    - CoinEligibilityFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: wallet::KnapsackGroupOutputs
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - wallet::GroupOutputs
    linkageType: ''
    returnType: std::vector<OutputGroup>
    signature: std::vector<OutputGroup> & KnapsackGroupOutputs(const CoinsResult&
      available_coins, CWallet& wallet, const CoinEligibilityFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:161,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:161,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:161,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:162,1
    - Dst: std::unique_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:162,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:163,1
    - Dst: std::unique_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:164,1
    - Dst: std::unique_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' m_node'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: wallet::NewWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::CreateMockableWalletDatabase
    - std::make_unique<CWallet>
    - std::unique_ptr::SetWalletFlag
    - std::unique_ptr::LoadWallet
    - BOOST_CHECK
    - LOCK
    - chain::get
    - std::unique_ptr::SetupDescriptorScriptPubKeyMans
    linkageType: ''
    returnType: std::unique_ptr<CWallet>
    signature: std::unique_ptr<CWallet> NewWallet(const node::NodeContext& m_node,
      const std::string& wallet_name = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:175,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:187,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:188,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:189,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:193,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:194,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:195,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:198,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:202,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:204,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:204,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:204,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:204,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:207,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:208,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:209,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:210,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:210,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:211,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:212,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:212,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:216,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:220,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:221,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:222,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:223,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:226,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:227,1
    - Dst: PreSelectedInputs::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:229,1
    - Dst: CoinsResult::Erase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:230,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:230,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:232,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:233,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:234,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:237,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:238,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:243,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:244,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:247,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:248,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:249,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:250,1
    - Dst: SelectionResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:252,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:253,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:254,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:257,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:258,1
    - Dst: PreSelectedInputs::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:260,1
    - Dst: CoinsResult::Erase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:261,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:261,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:262,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:263,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:263,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:270,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:273,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:274,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:275,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:276,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:277,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:278,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:281,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:281,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:281,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:284,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:284,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:284,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:287,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:288,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:288,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:288,1
    - Dst: SelectionResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:290,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:291,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:292,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:293,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:294,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 170
    functionDepth: 9
    functionLinenumber: 170
    functionLinenumberEnd: 296
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - wallet::SelectCoinsBnB
    - CAmount
    - PreSelectedInputs::Insert
    - BOOST_CHECK_EQUAL
    - CoinsResult::Clear
    - wallet::NewWallet
    - wallet::add_coin
    - CoinSelectionParams::m_effective_feerate::GetFee
    - CCoinControl::Select
    - CoinsResult::Erase
    - util::ErrorString
    - wallet::GroupCoins
    - BOOST_CHECK
    - BOOST_REQUIRE
    - find
    - SelectionResult::Clear
    - auto::GetSelectedValue
    - CoinsResult::All
    - LOCK
    - wallet::EquivalentResult
    - wallet::SelectCoins
    - begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bnb_search_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:302,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:303,1
    - Dst: std::unique_ptr::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:303,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:311,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:312,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:313,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:318,1
    - Dst: CoinSelectionParams::m_discard_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:319,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:323,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:324,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:325,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:328,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:329,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:329,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:330,1
    - Dst: auto::GetAlgo
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:330,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:331,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:333,1
    - Dst: auto::GetAlgo
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:333,1
    - Dst: auto::GetAlgo
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 298
    functionDepth: 9
    functionLinenumber: 298
    functionLinenumberEnd: 334
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetAlgo
    - BOOST_CHECK_NE
    - auto::has_value
    - CFeeRate
    - CoinSelectionParams::m_discard_feerate::GetFee
    - WITH_LOCK
    - BOOST_CHECK
    - wallet::NewWallet
    - auto::GetInputSet
    - wallet::add_coin
    - wallet::SelectCoins
    - std::unique_ptr::SetLastBlockProcessed
    - CoinSelectionParams::m_effective_feerate::GetFee
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bnb_sffo_restriction)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:339,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:341,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:348,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:351,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:351,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:351,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:353,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:353,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:356,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:356,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:356,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:359,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:359,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:360,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:361,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:361,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:363,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:366,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:366,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:366,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:369,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:369,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:370,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:371,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:371,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:373,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:374,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:374,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:375,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:380,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:380,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:382,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:382,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:382,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:384,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:384,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:385,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:386,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:386,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:388,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:388,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:389,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:390,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:390,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:393,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:394,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:395,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:395,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:396,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:396,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:399,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:400,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:401,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:401,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:402,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:402,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:405,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:405,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:406,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:407,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:407,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:408,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:408,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:411,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:411,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:412,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:413,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:413,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:414,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:414,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:417,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:419,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:420,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:421,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:422,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:423,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:426,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:426,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:427,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:428,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:428,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:428,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:431,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:431,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:433,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:433,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:434,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:434,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:436,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:439,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:439,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:440,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:441,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:441,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:442,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:442,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:444,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:447,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:447,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:448,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:449,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:449,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:450,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:450,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:453,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:453,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:454,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:455,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:455,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:456,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:456,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:459,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:460,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:461,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:462,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:463,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:463,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:464,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:465,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:465,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:466,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:466,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:468,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:468,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:469,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:470,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:470,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:471,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:471,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:475,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:476,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:477,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:478,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:479,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:480,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:484,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:484,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:485,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:486,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:486,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:489,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:492,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:492,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:493,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:494,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:494,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:497,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:498,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:501,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:501,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:502,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:503,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:503,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:507,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:509,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:511,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:511,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:512,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:513,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:513,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:514,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:514,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:520,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:521,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:522,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:523,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:524,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:525,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:525,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:526,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:527,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:527,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:528,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:528,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:531,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:532,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:533,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:534,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:535,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:536,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:536,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:537,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:538,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:538,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:539,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:539,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:542,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:543,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:544,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:545,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:548,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:548,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:549,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:550,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:550,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:551,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:551,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:554,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:554,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:555,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:556,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:556,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:557,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:557,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:562,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:565,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:569,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:569,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:570,1
    - Dst: std::ceil
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:574,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:576,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:576,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:577,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:577,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:580,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:580,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:581,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:581,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:588,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:590,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:596,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:596,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:596,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:597,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:598,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:598,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:598,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:599,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:600,1
    - Dst: wallet::EqualResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:600,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:609,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:609,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:609,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:610,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:611,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:611,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:611,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:612,1
    - Dst: wallet::EqualResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:613,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:616,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:622,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:623,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:624,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:625,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:626,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:632,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:632,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:632,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:633,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:634,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:634,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:634,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:635,1
    - Dst: wallet::EqualResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:636,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:639,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 160
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 336
    functionDepth: 5
    functionLinenumber: 336
    functionLinenumberEnd: 642
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::KnapsackGroupOutputs
    - BOOST_CHECK_NE
    - wallet::KnapsackSolver
    - wallet::GroupCoins
    - CFeeRate
    - auto::GetSelectedValue
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CoinsResult::Clear
    - wallet::NewWallet
    - auto::GetInputSet
    - wallet::EqualResult
    - wallet::add_coin
    - std::ceil
    - CoinsResult::All
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(knapsack_solver_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:647,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:653,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:654,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:656,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:656,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:657,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:658,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:658,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:659,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 644
    functionDepth: 5
    functionLinenumber: 644
    functionLinenumberEnd: 660
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::KnapsackGroupOutputs
    - wallet::KnapsackSolver
    - auto::GetSelectedValue
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - wallet::NewWallet
    - auto::GetInputSet
    - wallet::add_coin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ApproximateBestSubset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:665,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:666,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:671,1
    - Dst: distribution
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:682,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:683,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:688,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:691,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:699,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:700,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:701,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:708,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:709,1
    - Dst: BOOST_CHECK_GE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:710,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 663
    functionDepth: 9
    functionLinenumber: 663
    functionLinenumberEnd: 712
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - distribution
    - CFeeRate
    - auto::GetSelectedValue
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK
    - LOCK
    - FastRandomContext::randrange
    - wallet::NewWallet
    - wallet::add_coin
    - wallet::SelectCoins
    - BOOST_CHECK_GE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(SelectCoins_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:733,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:734,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:735,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:736,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:736,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:740,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:741,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:742,1
    - Dst: BOOST_CHECK_GT
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:743,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:743,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:743,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:748,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:749,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:750,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:751,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:751,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:752,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:752,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:752,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:758,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:759,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:760,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:761,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:761,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:766,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:767,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:768,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:769,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:769,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:770,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:770,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:770,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:776,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:777,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:778,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:779,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:779,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:785,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:786,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:787,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:788,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:788,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:794,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:795,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:796,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:797,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:797,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:803,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:804,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:805,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:806,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:806,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:813,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:814,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:815,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:816,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:816,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:823,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:824,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:825,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:826,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:826,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:837,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:838,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:839,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:840,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:841,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (target_waste2 == -55)
      pos:
        line_end: 836
        line_start: 836
        source_file: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    constantsTouched: []
    func_position:
      end: 843
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 843
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - SelectionResult::RecalculateWaste
    - SelectionResult::GetWaste
    - BOOST_CHECK_GT
    - BOOST_CHECK_LT
    - BOOST_CHECK_EQUAL
    - wallet::add_coin
    - assert
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(waste_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:857,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:858,1
    - Dst: SelectionResult::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:859,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:861,1
    - Dst: wallet::ApplyBumpFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:862,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:865,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:867,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:867,1
    - Dst: SelectionResult::SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:869,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:870,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:872,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:872,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:883,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:884,1
    - Dst: SelectionResult::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:885,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:887,1
    - Dst: wallet::ApplyBumpFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:888,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:891,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:893,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:893,1
    - Dst: SelectionResult::SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:895,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:896,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:898,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 900
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - SelectionResult::RecalculateWaste
    - SelectionResult::GetWaste
    - SelectionResult::SetBumpFeeDiscount
    - BOOST_CHECK_EQUAL
    - wallet::ApplyBumpFee
    - wallet::add_coin
    - std::vector::size
    - SelectionResult::GetShuffledInputVector
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bump_fee_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:909,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:910,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:914,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:914,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:914,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:916,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:916,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:919,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:919,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:919,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:920,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:920,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:923,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:923,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:923,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:923,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:925,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:925,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:929,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:929,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:929,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:930,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:930,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:933,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:933,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:933,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:934,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 935
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::at
    - CMutableTransaction::vout::resize
    - CFeeRate
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - CMutableTransaction::GetHash
    - COutput::GetEffectiveValue
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(effective_value_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:943,1
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:945,1
    - Dst: coin_setup
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:945,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' target'
    - ' cs_params'
    - ' m_node'
    - max_selection_weight
    - coin_setup
    argTypes:
    - CAmount
    - CoinSelectionParams
    - node::NodeContext
    - int
    - std::function<CoinsResult(CWallet&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 947
    functionName: wallet::CoinGrinder
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 3
    functionsReached:
    - coin_setup
    - wallet::NewWallet
    - wallet::GroupOutputs
    - wallet::CoinGrinder
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> CoinGrinder(const CAmount& target,\n
      \                                                   const CoinSelectionParams&
      cs_params,\n                                                    const node::NodeContext&
      m_node,\n                                                    int max_selection_weight,\n
      \                                                   std::function<CoinsResult(CWallet&)>
      coin_setup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:960,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:966,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:967,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:968,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:979,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:982,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:982,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:983,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:983,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:987,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:988,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:988,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:997,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1000,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1000,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1000,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1001,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1001,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1001,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1005,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1006,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1006,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1006,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1015,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1018,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1018,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1018,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1021,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1021,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1021,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1025,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1027,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1030,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1032,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1032,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1035,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1035,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1035,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1035,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1044,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1046,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1046,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1046,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1047,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1047,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1047,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1048,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1048,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1048,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1051,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1052,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1053,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1054,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1054,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1057,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1057,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1057,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1057,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1066,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1070,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1070,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1070,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1072,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1072,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1072,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1074,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1074,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1074,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1078,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1079,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1080,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1081,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1082,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1083,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1083,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1086,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1086,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1086,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1086,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1095,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1098,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1098,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1098,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1099,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1099,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1099,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1100,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1100,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1100,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1101,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1101,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1101,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1104,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1104,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1104,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1107,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1107,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1107,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1110,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1110,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1110,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1113,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1113,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1113,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1117,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1118,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1119,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1120,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1122,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1122,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1125,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1125,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1125,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1134,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1136,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1136,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1136,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1137,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1137,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1137,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1138,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1138,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1138,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1141,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1141,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1141,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1145,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1146,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1147,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1148,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1148,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1151,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1151,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1151,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 1153
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    - util::ErrorString
    - wallet::CoinGrinder
    - CFeeRate
    - CAmount
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK
    - wallet::EquivalentResult
    - wallet::add_coin
    - find
    - BOOST_CHECK_MESSAGE
    - GetSelectionsEvaluated
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(coin_grinder_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1161,1
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1163,1
    - Dst: coin_setup
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1163,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' target'
    - ' cs_params'
    - ' m_node'
    - max_selection_weight
    - coin_setup
    argTypes:
    - CAmount
    - CoinSelectionParams
    - node::NodeContext
    - int
    - std::function<CoinsResult(CWallet&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1155
    functionDepth: 4
    functionLinenumber: 1155
    functionLinenumberEnd: 1165
    functionName: wallet::SelectCoinsSRD
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 3
    functionsReached:
    - wallet::SelectCoinsSRD
    - coin_setup
    - wallet::NewWallet
    - wallet::GroupOutputs
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> SelectCoinsSRD(const CAmount& target,\n
      \                                                   const CoinSelectionParams&
      cs_params,\n                                                    const node::NodeContext&
      m_node,\n                                                    int max_selection_weight,\n
      \                                                   std::function<CoinsResult(CWallet&)>
      coin_setup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1174,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1180,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1181,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1182,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1193,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1196,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1196,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1197,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1197,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1202,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1202,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1211,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1215,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1215,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1215,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1216,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1216,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1216,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1221,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1221,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1221,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1230,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1233,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1233,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1233,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1236,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1236,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1236,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1240,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1241,1
    - Dst: wallet::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1243
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    - wallet::GetWeight
    - CFeeRate
    - CAmount
    - FastRandomContext::FastRandomContext
    - wallet::SelectCoinsSRD
    - BOOST_CHECK
    - wallet::add_coin
    - find
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(srd_tests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1247,1
    - Dst: coin_setup
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1248,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1250,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1251,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1253,1
    - Dst: BOOST_CHECK_LE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1254,1
    - Dst: BOOST_CHECK_GE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1256,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ' target'
    - ' cs_params'
    - ' cc'
    - coin_setup
    - ' m_node'
    argTypes:
    - CAmount
    - CoinSelectionParams
    - CCoinControl
    - std::function<CoinsResult(CWallet&)>
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1245
    functionDepth: 9
    functionLinenumber: 1245
    functionLinenumberEnd: 1259
    functionName: wallet::select_coins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - coin_setup
    - auto::GetSelectedValue
    - LOCK
    - wallet::NewWallet
    - BOOST_CHECK_LE
    - auto::GetInputSet
    - wallet::SelectCoins
    - BOOST_CHECK_GE
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> select_coins(const CAmount& target, const
      CoinSelectionParams& cs_params, const CCoinControl& cc, std::function<CoinsResult(CWallet&)>
      coin_setup, const node::NodeContext& m_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1263,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1263,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1263,1
    - Dst: wallet::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' set'
    - amount
    argTypes:
    - CoinSet
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1261
    functionDepth: 3
    functionLinenumber: 1261
    functionLinenumberEnd: 1264
    functionName: wallet::has_coin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - wallet::GetEffectiveValue
    - begin
    - std::any_of
    linkageType: ''
    returnType: bool
    signature: bool has_coin(const CoinSet& set, CAmount amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1271,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1277,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1278,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1279,1
    - Dst: wallet::select_coins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1293,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1297,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1297,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1297,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1300,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1300,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1300,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1305,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1307,1
    - Dst: wallet::has_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1307,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1307,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1307,1
    - Dst: BOOST_CHECK_LE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1308,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1308,1
    - Dst: wallet::select_coins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1319,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1323,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1323,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1323,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1326,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1326,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1326,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1332,1
    - Dst: wallet::has_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1332,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1332,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1332,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1333,1
    - Dst: wallet::has_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1333,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1333,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1333,1
    - Dst: BOOST_CHECK_LE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1334,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1334,1
    - Dst: wallet::select_coins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1344,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1348,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1348,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1348,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1266
    functionDepth: 10
    functionLinenumber: 1266
    functionLinenumberEnd: 1359
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::has_coin
    - wallet::select_coins
    - CFeeRate
    - CAmount
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK
    - auto::GetWeight
    - auto::GetInputSet
    - BOOST_CHECK_LE
    - wallet::add_coin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(check_max_selection_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1367,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1371,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1372,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1377,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1383,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1384,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1385,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1391,1
    - Dst: CCoinControl::SetInputWeight
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1392,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1393,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1395,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1396,1
    - Dst: wallet::FetchSelectedInputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1396,1
    - Dst: CoinsResult::Erase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1397,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1397,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1361
    functionDepth: 9
    functionLinenumber: 1361
    functionLinenumberEnd: 1401
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - CCoinControl::Select
    - CoinsResult::Erase
    - CFeeRate
    - FastRandomContext::FastRandomContext
    - CCoinControl::SetInputWeight
    - LOCK
    - wallet::FetchSelectedInputs
    - Assert
    - wallet::NewWallet
    - BOOST_CHECK
    - wallet::add_coin
    - wallet::SelectCoins
    - begin
    - CoinsResult::All
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(SelectCoins_effective_value_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1408,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1412,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1420,1
    - Dst: std::unordered_set::emplace
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1422,1
    - Dst: CoinsResult::Erase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1424,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1427,1
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1429,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1429,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1429,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1432,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1435,1
    - Dst: CoinsResult::Size
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1437
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - CoinsResult::Erase
    - std::find_if
    - CoinsResult::Size
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - wallet::NewWallet
    - wallet::add_coin
    - std::unordered_set::emplace
    - begin
    - CoinsResult::All
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_coinsresult_test, BasicTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:42,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:43,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:46,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:46,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:46,1
    - Dst: OutputGroup::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:48,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:48,1
    - Dst: AddInput
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' nValue'
    - nInput
    - ' result'
    argTypes:
    - CAmount
    - int
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: wallet::add_coin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 12
    functionsReached:
    - CMutableTransaction::vout::at
    - CMutableTransaction::vout::resize
    - OutputGroup::Insert
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - CMutableTransaction::GetHash
    - std::make_shared<COutput>
    - AddInput
    linkageType: ''
    returnType: void
    signature: void add_coin(const CAmount& nValue, int nInput, SelectionResult& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:54,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:55,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:58,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:58,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:58,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:58,1
    - Dst: OutputGroup::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:60,1
    - Dst: AddInput
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ' nValue'
    - nInput
    - ' result'
    - fee
    - long_term_fee
    argTypes:
    - CAmount
    - int
    - SelectionResult
    - CAmount
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: wallet::add_coin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 12
    functionsReached:
    - CMutableTransaction::vout::resize
    - CMutableTransaction::vout::at
    - OutputGroup::Insert
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - CMutableTransaction::GetHash
    - std::make_shared<COutput>
    - AddInput
    linkageType: ''
    returnType: void
    signature: void add_coin(const CAmount& nValue, int nInput, SelectionResult& result,
      CAmount fee, CAmount long_term_fee)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:65,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:67,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:69,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:72,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:72,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:72,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:74,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:76,1
    - Dst: mapWallet::emplace
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:77,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:78,1
    - Dst: tx::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:80,1
    - Dst: Add
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' available_coins'
    - ' wallet'
    - ' nValue'
    argTypes:
    - CoinsResult
    - CWallet
    - CAmount
    assertStmts:
    - condition: (ret.second)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 8
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: wallet::add_coin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 12
    functionsReached:
    - GetScriptForDestination
    - CFeeRate
    - GetHash
    - std::move
    - wallet::CalculateMaximumSignedInputSize
    - mapWallet::emplace
    - CMutableTransaction::vout::resize
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - GetNewDestination
    - COutPoint
    - Assert
    - assert
    - GetTxTime
    - CMutableTransaction::GetHash
    - LOCK
    - std::forward_as_tuple
    - tx::vout::at
    - Add
    linkageType: ''
    returnType: void
    signature: void add_coin(CoinsResult& available_coins, CWallet& wallet, const
      CAmount& nValue, CFeeRate feerate = CFeeRate(0), int nAge = 6*24, bool fIsFromMe
      = false, int nInput =0, bool spendable = false, int custom_size = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:88,1
    - Dst: std::optional<SelectionResult>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' groups'
    - ' nTargetValue'
    - change_target
    - ' rng'
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    - FastRandomContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: wallet::KnapsackSolver
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 6
    functionsReached:
    - wallet::KnapsackSolver
    - std::optional<SelectionResult>
    linkageType: ''
    returnType: std::optional<SelectionResult>
    signature: "std::optional<SelectionResult> KnapsackSolver(std::vector<OutputGroup>&
      groups, const CAmount& nTargetValue,\n                                              CAmount
      change_target, FastRandomContext& rng)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:94,1
    - Dst: std::optional<SelectionResult>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' utxo_pool'
    - ' selection_target'
    - ' cost_of_change'
    argTypes:
    - std::vector<OutputGroup>
    - CAmount
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: wallet::SelectCoinsBnB
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 9
    functionsReached:
    - std::optional<SelectionResult>
    - wallet::SelectCoinsBnB
    linkageType: ''
    returnType: std::optional<SelectionResult>
    signature: std::optional<SelectionResult> SelectCoinsBnB(std::vector<OutputGroup>&
      utxo_pool, const CAmount& selection_target, const CAmount& cost_of_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:104,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:105,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:107,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:108,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:110,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:110,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:110,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:111,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:111,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:111,1
    - Dst: std::mismatch
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:113,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:113,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:113,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:113,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:114,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SelectionResult
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: wallet::EquivalentResult
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 2
    functionsReached:
    - std::vector::end
    - std::mismatch
    - std::vector::begin
    - GetInputSet
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: bool
    signature: bool EquivalentResult(const SelectionResult& a, const SelectionResult&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::mismatch
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:120,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:120,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:120,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:120,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:124,1
    - Dst: GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SelectionResult
    - SelectionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: wallet::EqualResult
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 1
    functionsReached:
    - std::mismatch
    - GetInputSet
    linkageType: ''
    returnType: bool
    signature: bool EqualResult(const SelectionResult& a, const SelectionResult& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:130,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:132,1
    - Dst: std::vector::back
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:133,1
    - Dst: wallet::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:134,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' available_coins'
    argTypes:
    - std::vector<COutput>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: wallet::GroupCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 2
    functionsReached:
    - std::vector::emplace_back
    - std::vector::back
    - wallet::Insert
    - std::make_shared<COutput>
    - std::vector::clear
    linkageType: ''
    returnType: std::vector<OutputGroup>
    signature: std::vector<OutputGroup> & GroupCoins(const std::vector<COutput>& available_coins,
      bool subtract_fee_outputs = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:148,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:149,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:150,1
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' available_coins'
    - ' wallet'
    - ' filter'
    argTypes:
    - CoinsResult
    - CWallet
    - CoinEligibilityFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: wallet::KnapsackGroupOutputs
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 2
    functionsReached:
    - CFeeRate
    - wallet::GroupOutputs
    linkageType: ''
    returnType: std::vector<OutputGroup>
    signature: std::vector<OutputGroup> & KnapsackGroupOutputs(const CoinsResult&
      available_coins, CWallet& wallet, const CoinEligibilityFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:161,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:161,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:161,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:162,1
    - Dst: std::unique_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:162,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:163,1
    - Dst: std::unique_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:164,1
    - Dst: std::unique_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' m_node'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: wallet::NewWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 10
    functionsReached:
    - wallet::CreateMockableWalletDatabase
    - std::make_unique<CWallet>
    - std::unique_ptr::SetWalletFlag
    - std::unique_ptr::LoadWallet
    - BOOST_CHECK
    - LOCK
    - chain::get
    - std::unique_ptr::SetupDescriptorScriptPubKeyMans
    linkageType: ''
    returnType: std::unique_ptr<CWallet>
    signature: std::unique_ptr<CWallet> NewWallet(const node::NodeContext& m_node,
      const std::string& wallet_name = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:175,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:187,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:188,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:189,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:193,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:194,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:195,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:198,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:202,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:203,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:204,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:204,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:204,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:204,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:207,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:208,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:209,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:210,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:210,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:210,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:211,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:212,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:212,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:216,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:220,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:221,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:222,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:223,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:226,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:227,1
    - Dst: PreSelectedInputs::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:229,1
    - Dst: CoinsResult::Erase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:230,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:230,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:232,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:233,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:234,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:237,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:238,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:243,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:244,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:247,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:248,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:249,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:250,1
    - Dst: SelectionResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:252,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:253,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:254,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:257,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:258,1
    - Dst: PreSelectedInputs::Insert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:260,1
    - Dst: CoinsResult::Erase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:261,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:261,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:262,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:263,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:263,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:270,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:273,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:274,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:275,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:276,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:277,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:278,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:281,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:281,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:281,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:283,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:284,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:284,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:284,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:287,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:288,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:288,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:288,1
    - Dst: SelectionResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:290,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:291,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:292,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:293,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:294,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 170
    functionDepth: 9
    functionLinenumber: 170
    functionLinenumberEnd: 296
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - wallet::SelectCoinsBnB
    - CAmount
    - PreSelectedInputs::Insert
    - BOOST_CHECK_EQUAL
    - CoinsResult::Clear
    - wallet::NewWallet
    - wallet::add_coin
    - CoinSelectionParams::m_effective_feerate::GetFee
    - CCoinControl::Select
    - CoinsResult::Erase
    - util::ErrorString
    - wallet::GroupCoins
    - BOOST_CHECK
    - BOOST_REQUIRE
    - find
    - SelectionResult::Clear
    - auto::GetSelectedValue
    - CoinsResult::All
    - LOCK
    - wallet::EquivalentResult
    - wallet::SelectCoins
    - begin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bnb_search_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:302,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:303,1
    - Dst: std::unique_ptr::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:303,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:311,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:312,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:313,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:318,1
    - Dst: CoinSelectionParams::m_discard_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:319,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:323,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:324,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:325,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:328,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:329,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:329,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:330,1
    - Dst: auto::GetAlgo
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:330,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:331,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:331,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:333,1
    - Dst: auto::GetAlgo
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:333,1
    - Dst: auto::GetAlgo
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 298
    functionDepth: 9
    functionLinenumber: 298
    functionLinenumberEnd: 334
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetAlgo
    - BOOST_CHECK_NE
    - auto::has_value
    - CFeeRate
    - CoinSelectionParams::m_discard_feerate::GetFee
    - WITH_LOCK
    - BOOST_CHECK
    - wallet::NewWallet
    - auto::GetInputSet
    - wallet::add_coin
    - wallet::SelectCoins
    - std::unique_ptr::SetLastBlockProcessed
    - CoinSelectionParams::m_effective_feerate::GetFee
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bnb_sffo_restriction)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:339,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:341,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:348,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:351,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:351,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:351,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:353,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:353,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:356,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:356,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:356,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:359,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:359,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:360,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:361,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:361,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:363,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:366,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:366,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:366,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:369,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:369,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:370,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:371,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:371,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:373,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:374,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:374,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:375,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:380,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:380,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:380,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:382,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:382,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:382,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:384,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:384,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:385,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:386,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:386,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:388,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:388,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:389,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:390,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:390,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:393,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:393,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:394,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:395,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:395,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:396,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:396,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:399,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:400,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:401,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:401,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:402,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:402,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:405,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:405,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:406,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:407,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:407,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:408,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:408,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:411,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:411,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:412,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:413,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:413,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:414,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:414,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:417,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:419,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:420,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:421,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:422,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:423,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:426,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:426,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:427,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:428,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:428,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:428,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:431,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:431,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:433,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:433,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:434,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:434,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:436,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:439,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:439,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:440,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:441,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:441,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:442,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:442,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:444,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:447,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:447,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:448,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:449,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:449,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:450,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:450,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:453,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:453,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:454,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:455,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:455,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:456,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:456,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:459,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:460,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:461,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:462,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:463,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:463,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:464,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:465,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:465,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:466,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:466,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:468,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:468,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:469,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:470,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:470,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:471,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:471,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:475,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:476,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:477,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:478,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:479,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:480,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:484,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:484,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:485,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:486,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:486,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:489,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:492,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:492,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:493,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:494,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:494,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:497,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:498,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:501,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:501,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:502,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:503,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:503,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:507,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:509,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:511,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:511,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:512,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:513,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:513,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:514,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:514,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:520,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:521,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:522,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:523,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:524,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:525,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:525,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:526,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:527,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:527,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:528,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:528,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:531,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:532,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:533,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:534,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:535,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:536,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:536,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:537,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:538,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:538,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:539,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:539,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:542,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:543,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:544,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:545,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:548,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:548,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:549,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:550,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:550,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:551,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:551,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:554,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:554,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:555,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:556,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:556,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:557,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:557,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:562,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:565,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:569,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:569,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:570,1
    - Dst: std::ceil
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:574,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:576,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:576,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:577,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:577,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:580,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:580,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:581,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:581,1
    - Dst: CoinsResult::Clear
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:588,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:590,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:596,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:596,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:596,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:597,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:598,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:598,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:598,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:599,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:600,1
    - Dst: wallet::EqualResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:600,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:609,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:609,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:609,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:610,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:611,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:611,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:611,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:612,1
    - Dst: wallet::EqualResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:613,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:616,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:622,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:623,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:624,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:625,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:626,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:632,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:632,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:632,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:633,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:634,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:634,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:634,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:635,1
    - Dst: wallet::EqualResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:636,1
    - Dst: BOOST_CHECK_NE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:639,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 160
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 336
    functionDepth: 5
    functionLinenumber: 336
    functionLinenumberEnd: 642
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::KnapsackGroupOutputs
    - BOOST_CHECK_NE
    - wallet::KnapsackSolver
    - wallet::GroupCoins
    - CFeeRate
    - auto::GetSelectedValue
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - CoinsResult::Clear
    - wallet::NewWallet
    - auto::GetInputSet
    - wallet::EqualResult
    - wallet::add_coin
    - std::ceil
    - CoinsResult::All
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(knapsack_solver_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:647,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:653,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:654,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:656,1
    - Dst: wallet::KnapsackGroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:656,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:657,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:658,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:658,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:659,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 644
    functionDepth: 5
    functionLinenumber: 644
    functionLinenumberEnd: 660
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::KnapsackGroupOutputs
    - wallet::KnapsackSolver
    - auto::GetSelectedValue
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - wallet::NewWallet
    - auto::GetInputSet
    - wallet::add_coin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ApproximateBestSubset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:665,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:666,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:671,1
    - Dst: distribution
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:682,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:683,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:688,1
    - Dst: FastRandomContext::randrange
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:691,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:699,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:700,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:701,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:708,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:709,1
    - Dst: BOOST_CHECK_GE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:710,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 663
    functionDepth: 9
    functionLinenumber: 663
    functionLinenumberEnd: 712
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - distribution
    - CFeeRate
    - auto::GetSelectedValue
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK
    - LOCK
    - FastRandomContext::randrange
    - wallet::NewWallet
    - wallet::add_coin
    - wallet::SelectCoins
    - BOOST_CHECK_GE
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(SelectCoins_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:733,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:734,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:735,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:736,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:736,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:740,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:741,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:742,1
    - Dst: BOOST_CHECK_GT
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:743,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:743,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:743,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:748,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:749,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:750,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:751,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:751,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:752,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:752,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:752,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:758,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:759,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:760,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:761,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:761,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:766,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:767,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:768,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:769,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:769,1
    - Dst: BOOST_CHECK_LT
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:770,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:770,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:770,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:776,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:777,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:778,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:779,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:779,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:785,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:786,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:787,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:788,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:788,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:794,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:795,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:796,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:797,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:797,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:803,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:804,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:805,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:806,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:806,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:813,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:814,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:815,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:816,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:816,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:823,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:824,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:825,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:826,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:826,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:837,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:838,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:839,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:840,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:841,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (target_waste2 == -55)
      pos:
        line_end: 836
        line_start: 836
        source_file: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    constantsTouched: []
    func_position:
      end: 843
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 843
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - SelectionResult::RecalculateWaste
    - SelectionResult::GetWaste
    - BOOST_CHECK_GT
    - BOOST_CHECK_LT
    - BOOST_CHECK_EQUAL
    - wallet::add_coin
    - assert
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(waste_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:857,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:858,1
    - Dst: SelectionResult::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:859,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:861,1
    - Dst: wallet::ApplyBumpFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:862,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:865,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:867,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:867,1
    - Dst: SelectionResult::SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:869,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:870,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:872,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:872,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:883,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:884,1
    - Dst: SelectionResult::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:885,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:887,1
    - Dst: wallet::ApplyBumpFee
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:888,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:891,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:893,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:893,1
    - Dst: SelectionResult::SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:895,1
    - Dst: SelectionResult::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:896,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:898,1
    - Dst: SelectionResult::GetWaste
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 900
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - SelectionResult::RecalculateWaste
    - SelectionResult::GetWaste
    - SelectionResult::SetBumpFeeDiscount
    - BOOST_CHECK_EQUAL
    - wallet::ApplyBumpFee
    - wallet::add_coin
    - std::vector::size
    - SelectionResult::GetShuffledInputVector
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(bump_fee_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:909,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:910,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:914,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:914,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:914,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:916,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:916,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:919,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:919,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:919,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:920,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:920,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:923,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:923,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:923,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:923,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:925,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:925,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:929,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:929,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:929,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:930,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:930,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:933,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:933,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:933,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:934,1
    - Dst: COutput::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 935
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::at
    - CMutableTransaction::vout::resize
    - CFeeRate
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - CMutableTransaction::GetHash
    - COutput::GetEffectiveValue
    - BOOST_CHECK_EQUAL
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(effective_value_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:943,1
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:945,1
    - Dst: coin_setup
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:945,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' target'
    - ' cs_params'
    - ' m_node'
    - max_selection_weight
    - coin_setup
    argTypes:
    - CAmount
    - CoinSelectionParams
    - node::NodeContext
    - int
    - std::function<CoinsResult(CWallet&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 947
    functionName: wallet::CoinGrinder
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 5
    functionsReached:
    - coin_setup
    - wallet::NewWallet
    - wallet::GroupOutputs
    - wallet::CoinGrinder
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> CoinGrinder(const CAmount& target,\n
      \                                                   const CoinSelectionParams&
      cs_params,\n                                                    const node::NodeContext&
      m_node,\n                                                    int max_selection_weight,\n
      \                                                   std::function<CoinsResult(CWallet&)>
      coin_setup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:960,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:966,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:967,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:968,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:979,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:982,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:982,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:983,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:983,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:987,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:988,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:988,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:997,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1000,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1000,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1000,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1001,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1001,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1001,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1005,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1006,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1006,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1006,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1015,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1018,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1018,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1018,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1021,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1021,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1021,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1025,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1027,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1030,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1032,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1032,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1035,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1035,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1035,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1035,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1044,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1046,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1046,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1046,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1047,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1047,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1047,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1048,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1048,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1048,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1051,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1052,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1053,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1054,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1054,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1057,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1057,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1057,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1057,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1066,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1070,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1070,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1070,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1072,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1072,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1072,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1074,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1074,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1074,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1078,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1079,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1080,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1081,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1082,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1083,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1083,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1086,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1086,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1086,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1086,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1095,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1098,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1098,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1098,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1099,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1099,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1099,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1100,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1100,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1100,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1101,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1101,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1101,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1104,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1104,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1104,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1107,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1107,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1107,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1110,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1110,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1110,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1113,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1113,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1113,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1117,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1118,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1119,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1120,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1121,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1122,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1122,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1125,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1125,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1125,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1134,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1136,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1136,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1136,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1137,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1137,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1137,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1138,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1138,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1138,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1141,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1141,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1141,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1145,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1146,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1147,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1148,1
    - Dst: wallet::EquivalentResult
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1148,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1151,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1151,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1151,1
    - Dst: GetSelectionsEvaluated
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 1153
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - strprintf
    - util::ErrorString
    - wallet::CoinGrinder
    - CFeeRate
    - CAmount
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK
    - wallet::EquivalentResult
    - wallet::add_coin
    - find
    - BOOST_CHECK_MESSAGE
    - GetSelectionsEvaluated
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(coin_grinder_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1161,1
    - Dst: wallet::GroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1163,1
    - Dst: coin_setup
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1163,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' target'
    - ' cs_params'
    - ' m_node'
    - max_selection_weight
    - coin_setup
    argTypes:
    - CAmount
    - CoinSelectionParams
    - node::NodeContext
    - int
    - std::function<CoinsResult(CWallet&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1155
    functionDepth: 4
    functionLinenumber: 1155
    functionLinenumberEnd: 1165
    functionName: wallet::SelectCoinsSRD
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 5
    functionsReached:
    - wallet::SelectCoinsSRD
    - coin_setup
    - wallet::NewWallet
    - wallet::GroupOutputs
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: "util::Result<SelectionResult> SelectCoinsSRD(const CAmount& target,\n
      \                                                   const CoinSelectionParams&
      cs_params,\n                                                    const node::NodeContext&
      m_node,\n                                                    int max_selection_weight,\n
      \                                                   std::function<CoinsResult(CWallet&)>
      coin_setup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1174,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1180,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1181,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1182,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1193,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1196,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1196,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1197,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1197,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1201,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1202,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1202,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1211,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1215,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1215,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1215,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1216,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1216,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1216,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1220,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1221,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1221,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1221,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1230,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1233,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1233,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1233,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1236,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1236,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1236,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1240,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1241,1
    - Dst: wallet::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1243
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    - wallet::GetWeight
    - CFeeRate
    - CAmount
    - FastRandomContext::FastRandomContext
    - wallet::SelectCoinsSRD
    - BOOST_CHECK
    - wallet::add_coin
    - find
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(srd_tests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1247,1
    - Dst: coin_setup
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1248,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1250,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1251,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1253,1
    - Dst: BOOST_CHECK_LE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1254,1
    - Dst: BOOST_CHECK_GE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1256,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ' target'
    - ' cs_params'
    - ' cc'
    - coin_setup
    - ' m_node'
    argTypes:
    - CAmount
    - CoinSelectionParams
    - CCoinControl
    - std::function<CoinsResult(CWallet&)>
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1245
    functionDepth: 9
    functionLinenumber: 1245
    functionLinenumberEnd: 1259
    functionName: wallet::select_coins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 1
    functionsReached:
    - coin_setup
    - auto::GetSelectedValue
    - LOCK
    - wallet::NewWallet
    - BOOST_CHECK_LE
    - auto::GetInputSet
    - wallet::SelectCoins
    - BOOST_CHECK_GE
    linkageType: ''
    returnType: util::Result<SelectionResult>
    signature: util::Result<SelectionResult> select_coins(const CAmount& target, const
      CoinSelectionParams& cs_params, const CCoinControl& cc, std::function<CoinsResult(CWallet&)>
      coin_setup, const node::NodeContext& m_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1263,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1263,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1263,1
    - Dst: wallet::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' set'
    - amount
    argTypes:
    - CoinSet
    - CAmount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1261
    functionDepth: 3
    functionLinenumber: 1261
    functionLinenumberEnd: 1264
    functionName: wallet::has_coin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 1
    functionsReached:
    - end
    - wallet::GetEffectiveValue
    - begin
    - std::any_of
    linkageType: ''
    returnType: bool
    signature: bool has_coin(const CoinSet& set, CAmount amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1271,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1277,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1278,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1279,1
    - Dst: wallet::select_coins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1293,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1297,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1297,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1297,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1300,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1300,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1300,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1305,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1307,1
    - Dst: wallet::has_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1307,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1307,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1307,1
    - Dst: BOOST_CHECK_LE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1308,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1308,1
    - Dst: wallet::select_coins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1319,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1323,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1323,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1323,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1326,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1326,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1326,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1332,1
    - Dst: wallet::has_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1332,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1332,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1332,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1333,1
    - Dst: wallet::has_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1333,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1333,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1333,1
    - Dst: BOOST_CHECK_LE
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1334,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1334,1
    - Dst: wallet::select_coins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1344,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1348,1
    - Dst: CAmount
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1348,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1348,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1266
    functionDepth: 10
    functionLinenumber: 1266
    functionLinenumberEnd: 1359
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::has_coin
    - wallet::select_coins
    - CFeeRate
    - CAmount
    - FastRandomContext::FastRandomContext
    - BOOST_CHECK
    - auto::GetWeight
    - auto::GetInputSet
    - BOOST_CHECK_LE
    - wallet::add_coin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(check_max_selection_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1367,1
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1371,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1372,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1377,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1383,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1384,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1385,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1391,1
    - Dst: CCoinControl::SetInputWeight
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1392,1
    - Dst: CCoinControl::Select
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1393,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1395,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1396,1
    - Dst: wallet::FetchSelectedInputs
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1396,1
    - Dst: CoinsResult::Erase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1397,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1397,1
    - Dst: wallet::SelectCoins
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1399,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1361
    functionDepth: 9
    functionLinenumber: 1361
    functionLinenumberEnd: 1401
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - CCoinControl::Select
    - CoinsResult::Erase
    - CFeeRate
    - FastRandomContext::FastRandomContext
    - CCoinControl::SetInputWeight
    - LOCK
    - wallet::FetchSelectedInputs
    - Assert
    - wallet::NewWallet
    - BOOST_CHECK
    - wallet::add_coin
    - wallet::SelectCoins
    - begin
    - CoinsResult::All
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(SelectCoins_effective_value_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1408,1
    - Dst: wallet::add_coin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1412,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1420,1
    - Dst: std::unordered_set::emplace
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1422,1
    - Dst: CoinsResult::Erase
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1424,1
    - Dst: CoinsResult::All
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1427,1
    - Dst: std::find_if
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1429,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1429,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1429,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1432,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1432,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1435,1
    - Dst: CoinsResult::Size
      Src: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp:1435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1437
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/coinselector_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - CoinsResult::Erase
    - std::find_if
    - CoinsResult::Size
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - wallet::NewWallet
    - wallet::add_coin
    - std::unordered_set::emplace
    - begin
    - CoinsResult::All
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_coinsresult_test, BasicTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:21,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:21,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:21,1
    - Dst: std::unique_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:22,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:23,1
    - Dst: std::unique_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:24,1
    - Dst: std::unique_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' m_node'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: wallet::NewWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 20
    functionsReached:
    - wallet::CreateMockableWalletDatabase
    - std::make_unique<CWallet>
    - std::unique_ptr::SetWalletFlag
    - std::unique_ptr::LoadWallet
    - LOCK
    - chain::get
    - std::unique_ptr::SetupDescriptorScriptPubKeyMans
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> NewWallet(const node::NodeContext& m_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:34,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:37,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:39,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:41,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:43,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:44,1
    - Dst: mapWallet::emplace
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:46,1
    - Dst: tx::vout::at
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:48,1
    - Dst: Add
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:49,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:49,1
    - Dst: OutputTypeFromDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:49,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:50,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:50,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:53,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' coins'
    - ' wallet'
    - ' dest'
    - ' nValue'
    - is_from_me
    argTypes:
    - CoinsResult
    - CWallet
    - CTxDestination
    - CAmount
    - bool
    assertStmts:
    - condition: (ret.second)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 8
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: wallet::addCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 0
    functionsReached:
    - GetScriptForDestination
    - CFeeRate
    - GetHash
    - std::move
    - OutputTypeFromDestination
    - wallet::CalculateMaximumSignedInputSize
    - mapWallet::emplace
    - CMutableTransaction::vout::resize
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - COutPoint
    - Assert
    - assert
    - GetTxTime
    - CMutableTransaction::GetHash
    - LOCK
    - std::forward_as_tuple
    - tx::vout::at
    - Add
    linkageType: ''
    returnType: void
    signature: "void addCoin(CoinsResult& coins,\n                     CWallet& wallet,\n
      \                    const CTxDestination& dest,\n                     const
      CAmount& nValue,\n                     bool is_from_me,\n                     CFeeRate
      fee_rate = CFeeRate(0),\n                     int depth = 6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:69,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:70,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rand'
    - avoid_partial_spends
    argTypes:
    - FastRandomContext
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: wallet::makeSelectionParams
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    linkageType: ''
    returnType: CoinSelectionParams
    signature: CoinSelectionParams makeSelectionParams(FastRandomContext& rand, bool
      avoid_partial_spends)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:90,1
    - Dst: makeSelectionParams
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:93,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - ' filter'
    - avoid_partial_spends
    - positive_only
    - expected_size
    argTypes:
    - OutputType
    - CoinEligibilityFilter
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: wallet::GroupVerifier::GroupVerify
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - makeSelectionParams
    - size
    - GroupOutputs
    linkageType: ''
    returnType: void
    signature: "void GroupVerify(const OutputType type,\n                     const
      CoinEligibilityFilter& filter,\n                     bool avoid_partial_spends,\n
      \                    bool positive_only,\n                     int expected_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GroupVerifier::GroupVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:103,1
    - Dst: wallet::GroupVerifier::GroupVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - type
    - ' filter'
    - expected_with_partial_spends_size
    - expected_without_partial_spends_size
    - positive_only
    argTypes:
    - OutputType
    - CoinEligibilityFilter
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: wallet::GroupVerifier::GroupAndVerify
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::GroupVerifier::GroupVerify
    linkageType: ''
    returnType: void
    signature: "void GroupAndVerify(const OutputType type,\n                        const
      CoinEligibilityFilter& filter,\n                        int expected_with_partial_spends_size,\n
      \                       int expected_without_partial_spends_size,\n                        bool
      positive_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:111,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:124,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:124,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:126,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:129,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:140,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:140,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:142,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:145,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:155,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:155,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:156,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:157,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:157,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:160,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:167,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:179,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:179,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:180,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:181,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:184,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:196,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:196,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:197,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:198,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:201,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:211,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:211,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:214,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:219,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 232
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - back
    - GetNewDestination
    - BOOST_CHECK
    - Assert
    - wallet::NewWallet
    - GroupVerifier::GroupAndVerify
    - wallet::addCoin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(outputs_grouping_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:21,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:21,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:21,1
    - Dst: std::unique_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:22,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:23,1
    - Dst: std::unique_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:24,1
    - Dst: std::unique_ptr::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' m_node'
    argTypes:
    - node::NodeContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: wallet::NewWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 21
    functionsReached:
    - wallet::CreateMockableWalletDatabase
    - std::make_unique<CWallet>
    - std::unique_ptr::SetWalletFlag
    - std::unique_ptr::LoadWallet
    - LOCK
    - chain::get
    - std::unique_ptr::SetupDescriptorScriptPubKeyMans
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> NewWallet(const node::NodeContext& m_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:34,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:37,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:39,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:41,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:43,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:44,1
    - Dst: mapWallet::emplace
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: std::forward_as_tuple
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:46,1
    - Dst: tx::vout::at
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:48,1
    - Dst: Add
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:49,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:49,1
    - Dst: OutputTypeFromDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:49,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:50,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:50,1
    - Dst: wallet::CalculateMaximumSignedInputSize
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:53,1
    - Dst: GetTxTime
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' coins'
    - ' wallet'
    - ' dest'
    - ' nValue'
    - is_from_me
    argTypes:
    - CoinsResult
    - CWallet
    - CTxDestination
    - CAmount
    - bool
    assertStmts:
    - condition: (ret.second)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 8
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: wallet::addCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 1
    functionsReached:
    - GetScriptForDestination
    - CFeeRate
    - GetHash
    - std::move
    - OutputTypeFromDestination
    - wallet::CalculateMaximumSignedInputSize
    - mapWallet::emplace
    - CMutableTransaction::vout::resize
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - COutPoint
    - Assert
    - assert
    - GetTxTime
    - CMutableTransaction::GetHash
    - LOCK
    - std::forward_as_tuple
    - tx::vout::at
    - Add
    linkageType: ''
    returnType: void
    signature: "void addCoin(CoinsResult& coins,\n                     CWallet& wallet,\n
      \                    const CTxDestination& dest,\n                     const
      CAmount& nValue,\n                     bool is_from_me,\n                     CFeeRate
      fee_rate = CFeeRate(0),\n                     int depth = 6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:69,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:70,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rand'
    - avoid_partial_spends
    argTypes:
    - FastRandomContext
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: wallet::makeSelectionParams
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    linkageType: ''
    returnType: CoinSelectionParams
    signature: CoinSelectionParams makeSelectionParams(FastRandomContext& rand, bool
      avoid_partial_spends)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GroupOutputs
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:90,1
    - Dst: makeSelectionParams
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:90,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:93,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - ' filter'
    - avoid_partial_spends
    - positive_only
    - expected_size
    argTypes:
    - OutputType
    - CoinEligibilityFilter
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: wallet::GroupVerifier::GroupVerify
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL
    - makeSelectionParams
    - size
    - GroupOutputs
    linkageType: ''
    returnType: void
    signature: "void GroupVerify(const OutputType type,\n                     const
      CoinEligibilityFilter& filter,\n                     bool avoid_partial_spends,\n
      \                    bool positive_only,\n                     int expected_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GroupVerifier::GroupVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:103,1
    - Dst: wallet::GroupVerifier::GroupVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - type
    - ' filter'
    - expected_with_partial_spends_size
    - expected_without_partial_spends_size
    - positive_only
    argTypes:
    - OutputType
    - CoinEligibilityFilter
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: wallet::GroupVerifier::GroupAndVerify
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::GroupVerifier::GroupVerify
    linkageType: ''
    returnType: void
    signature: "void GroupAndVerify(const OutputType type,\n                        const
      CoinEligibilityFilter& filter,\n                        int expected_with_partial_spends_size,\n
      \                       int expected_without_partial_spends_size,\n                        bool
      positive_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::NewWallet
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:111,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:124,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:124,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:126,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:129,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:140,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:140,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:142,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:145,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:155,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:155,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:156,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:156,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:157,1
    - Dst: back
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:157,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:160,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:167,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:179,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:179,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:180,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:181,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:184,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:196,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:196,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:197,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:198,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:201,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:211,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:211,1
    - Dst: wallet::addCoin
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:214,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:219,1
    - Dst: GroupVerifier::GroupAndVerify
      Src: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 232
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/group_outputs_tests.cpp
    functionUses: 0
    functionsReached:
    - CFeeRate
    - back
    - GetNewDestination
    - BOOST_CHECK
    - Assert
    - wallet::NewWallet
    - GroupVerifier::GroupAndVerify
    - wallet::addCoin
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(outputs_grouping_tests)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:27,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:29,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: CCrypter::vchKey::data
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: CCrypter::vchKey::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:31,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:31,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:31,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:33,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: CCrypter::vchIV::data
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: CCrypter::vchIV::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:35,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:35,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - salt
    - ' passphrase'
    - rounds
    argTypes:
    - std::span<const unsigned char>
    - SecureString
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: wallet::TestCrypter::TestPassphraseSingle
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::string
    - data
    - CCrypter::vchIV::data
    - memcmp
    - CCrypter::SetKeyFromPassphrase
    - CCrypter::vchKey::size
    - CCrypter::vchIV::size
    - HexStr
    - CCrypter::vchKey::data
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: "void TestPassphraseSingle(const std::span<const unsigned char> salt,
      const SecureString& passphrase, uint32_t rounds,\n                                 const
      std::span<const unsigned char> correct_key = {},\n                                 const
      std::span<const unsigned char> correct_iv = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestCrypter::TestPassphraseSingle
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:43,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:44,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:44,1
    - Dst: wallet::TestCrypter::TestPassphraseSingle
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:45,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - salt
    - ' passphrase'
    - rounds
    argTypes:
    - std::span<const unsigned char>
    - SecureString
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: wallet::TestCrypter::TestPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - wallet::TestCrypter::TestPassphraseSingle
    - begin
    linkageType: ''
    returnType: void
    signature: "void TestPassphrase(const std::span<const unsigned char> salt, const
      SecureString& passphrase, uint32_t rounds,\n                           const
      std::span<const unsigned char> correct_key = {},\n                           const
      std::span<const unsigned char> correct_iv = {})"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Decrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:53,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    - Dst: CKeyingMaterial::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    - Dst: CKeyingMaterial::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' crypt'
    - ciphertext
    argTypes:
    - CCrypter
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: wallet::TestCrypter::TestDecrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - end
    - empty
    - CKeyingMaterial::begin
    - Decrypt
    - begin
    - CKeyingMaterial::end
    linkageType: ''
    returnType: void
    signature: "void TestDecrypt(const CCrypter& crypt, const std::span<const unsigned
      char> ciphertext,\n                        const std::span<const unsigned char>
      correct_plaintext = {})"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:63,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:65,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' crypt'
    - ' plaintext'
    argTypes:
    - CCrypter
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: wallet::TestCrypter::TestEncryptSingle
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - end
    - std::vector::end
    - empty
    - std::vector::begin
    - Encrypt
    - begin
    - wallet::TestCrypter::TestDecrypt
    linkageType: ''
    returnType: void
    signature: "void TestEncryptSingle(const CCrypter& crypt, const CKeyingMaterial&
      plaintext,\n                              const std::span<const unsigned char>
      correct_ciphertext = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestCrypter::TestEncryptSingle
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:75,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:75,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:75,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:76,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:76,1
    - Dst: wallet::TestCrypter::TestEncryptSingle
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:77,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' crypt'
    - plaintext
    argTypes:
    - CCrypter
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: wallet::TestCrypter::TestEncrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestCrypter::TestEncryptSingle
    - std::span<const unsigned char>::begin
    - std::span<const unsigned char>::end
    linkageType: ''
    returnType: void
    signature: "void TestEncrypt(const CCrypter& crypt, const std::span<const unsigned
      char> plaintext,\n                        const std::span<const unsigned char>
      correct_ciphertext = {})"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestCrypter::TestPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:86,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:90,1
    - Dst: GetRandBytes
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:92,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:93,1
    - Dst: wallet::TestCrypter::TestPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:96,1
    - Dst: SecureString
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:96,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:96,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 8
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - rand32
    - GetRandBytes
    - GetRandHash
    - std::string::end
    - SecureString
    - wallet::TestCrypter::TestPassphrase
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(passphrase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:102,1
    - Dst: wallet::TestCrypter::TestEncrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:103,1
    - Dst: wallet::TestCrypter::TestEncrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:108,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:108,1
    - Dst: uint256::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - CCrypter::SetKeyFromPassphrase
    - wallet::TestCrypter::TestEncrypt
    - uint256::begin
    - uint256::end
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(encrypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:116,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:119,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:120,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:121,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:122,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:123,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:124,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:129,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:129,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:129,1
    - Dst: uint256::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - uint256::begin
    - CCrypter::SetKeyFromPassphrase
    - uint256::end
    - wallet::TestCrypter::TestDecrypt
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(decrypt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:27,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:29,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: CCrypter::vchKey::data
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: CCrypter::vchKey::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:30,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:31,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:31,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:31,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:33,1
    - Dst: BOOST_CHECK_MESSAGE
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: CCrypter::vchIV::data
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: CCrypter::vchIV::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:34,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:35,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:35,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - salt
    - ' passphrase'
    - rounds
    argTypes:
    - std::span<const unsigned char>
    - SecureString
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: wallet::TestCrypter::TestPassphraseSingle
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - empty
    - std::string
    - data
    - CCrypter::vchIV::data
    - memcmp
    - CCrypter::SetKeyFromPassphrase
    - CCrypter::vchKey::size
    - CCrypter::vchIV::size
    - HexStr
    - CCrypter::vchKey::data
    - BOOST_CHECK_MESSAGE
    linkageType: ''
    returnType: void
    signature: "void TestPassphraseSingle(const std::span<const unsigned char> salt,
      const SecureString& passphrase, uint32_t rounds,\n                                 const
      std::span<const unsigned char> correct_key = {},\n                                 const
      std::span<const unsigned char> correct_iv = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestCrypter::TestPassphraseSingle
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:43,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:44,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:44,1
    - Dst: wallet::TestCrypter::TestPassphraseSingle
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:45,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - salt
    - ' passphrase'
    - rounds
    argTypes:
    - std::span<const unsigned char>
    - SecureString
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: wallet::TestCrypter::TestPassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - end
    - wallet::TestCrypter::TestPassphraseSingle
    - begin
    linkageType: ''
    returnType: void
    signature: "void TestPassphrase(const std::span<const unsigned char> salt, const
      SecureString& passphrase, uint32_t rounds,\n                           const
      std::span<const unsigned char> correct_key = {},\n                           const
      std::span<const unsigned char> correct_iv = {})"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Decrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:53,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    - Dst: CKeyingMaterial::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    - Dst: CKeyingMaterial::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' crypt'
    - ciphertext
    argTypes:
    - CCrypter
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: wallet::TestCrypter::TestDecrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 2
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - end
    - empty
    - CKeyingMaterial::begin
    - Decrypt
    - begin
    - CKeyingMaterial::end
    linkageType: ''
    returnType: void
    signature: "void TestDecrypt(const CCrypter& crypt, const std::span<const unsigned
      char> ciphertext,\n                        const std::span<const unsigned char>
      correct_plaintext = {})"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:63,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:65,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:66,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' crypt'
    - ' plaintext'
    argTypes:
    - CCrypter
    - CKeyingMaterial
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: wallet::TestCrypter::TestEncryptSingle
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - end
    - std::vector::end
    - empty
    - std::vector::begin
    - Encrypt
    - begin
    - wallet::TestCrypter::TestDecrypt
    linkageType: ''
    returnType: void
    signature: "void TestEncryptSingle(const CCrypter& crypt, const CKeyingMaterial&
      plaintext,\n                              const std::span<const unsigned char>
      correct_ciphertext = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestCrypter::TestEncryptSingle
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:75,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:75,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:75,1
    - Dst: std::span<const unsigned char>::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:76,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:76,1
    - Dst: wallet::TestCrypter::TestEncryptSingle
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:77,1
    - Dst: std::span<const unsigned char>::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' crypt'
    - plaintext
    argTypes:
    - CCrypter
    - std::span<const unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: wallet::TestCrypter::TestEncrypt
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 1
    functionsReached:
    - wallet::TestCrypter::TestEncryptSingle
    - std::span<const unsigned char>::begin
    - std::span<const unsigned char>::end
    linkageType: ''
    returnType: void
    signature: "void TestEncrypt(const CCrypter& crypt, const std::span<const unsigned
      char> plaintext,\n                        const std::span<const unsigned char>
      correct_ciphertext = {})"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestCrypter::TestPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:86,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:90,1
    - Dst: GetRandBytes
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:92,1
    - Dst: rand32
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:93,1
    - Dst: wallet::TestCrypter::TestPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:96,1
    - Dst: SecureString
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:96,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:96,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 8
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - rand32
    - GetRandBytes
    - GetRandHash
    - std::string::end
    - SecureString
    - wallet::TestCrypter::TestPassphrase
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(passphrase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:102,1
    - Dst: wallet::TestCrypter::TestEncrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:103,1
    - Dst: wallet::TestCrypter::TestEncrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:108,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:108,1
    - Dst: uint256::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - CCrypter::SetKeyFromPassphrase
    - wallet::TestCrypter::TestEncrypt
    - uint256::begin
    - uint256::end
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(encrypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CCrypter::SetKeyFromPassphrase
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:116,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:119,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:120,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:121,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:122,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:123,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:124,1
    - Dst: wallet::TestCrypter::TestDecrypt
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:129,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:129,1
    - Dst: uint256::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:129,1
    - Dst: uint256::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_crypto_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector<unsigned char>
    - uint256::begin
    - CCrypter::SetKeyFromPassphrase
    - uint256::end
    - wallet::TestCrypter::TestDecrypt
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(decrypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:22,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:22,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:23,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:26,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:27,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:27,1
    - Dst: auto::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:27,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:28,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:29,1
    - Dst: auto::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:30,1
    - Dst: auto::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:30,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:31,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:33,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:33,1
    - Dst: auto::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:33,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:34,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:35,1
    - Dst: auto::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:36,1
    - Dst: GetEvenCorrespondingCPubKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - GenerateRandomKey
    - wallet::CreateMockableWalletDatabase
    - wallet::CreateDescriptor
    - auto::GetPubKey
    - GetEvenCorrespondingCPubKey
    - BOOST_CHECK
    - auto::GetSigningProvider
    - get
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(DescriptorScriptPubKeyManTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:22,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:22,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:23,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:26,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:27,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:27,1
    - Dst: auto::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:27,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:28,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:29,1
    - Dst: auto::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:30,1
    - Dst: auto::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:30,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:31,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:33,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:33,1
    - Dst: auto::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:33,1
    - Dst: wallet::CreateDescriptor
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:34,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:35,1
    - Dst: auto::GetSigningProvider
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:36,1
    - Dst: GetEvenCorrespondingCPubKey
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/scriptpubkeyman_tests.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - GenerateRandomKey
    - wallet::CreateMockableWalletDatabase
    - wallet::CreateDescriptor
    - auto::GetPubKey
    - GetEvenCorrespondingCPubKey
    - BOOST_CHECK
    - auto::GetSigningProvider
    - get
    - HexStr
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(DescriptorScriptPubKeyManTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:22,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:22,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:24,1
    - Dst: auto::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:25,1
    - Dst: Height
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:25,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:25,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:28,1
    - Dst: auto::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:29,1
    - Dst: auto::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:30,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:34,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:35,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:35,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:36,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:37,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:38,1
    - Dst: auto::AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:38,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:41,1
    - Dst: auto::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:42,1
    - Dst: Genesis
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:43,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:44,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:44,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:45,1
    - Dst: Height
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:46,1
    - Dst: CWallet::ScanResult::last_failed_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - ' chain'
    - ' cchain'
    - ' key'
    argTypes:
    - interfaces::Chain
    - CChain
    - CKey
    assertStmts:
    - condition: (result.status == CWallet::ScanResult::SUCCESS)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    - condition: (descs.size() == 1)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    - condition: (result.last_scanned_block == cchain.Tip()->GetBlockHash())
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    - condition: (*result.last_scanned_height == cchain.Height())
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    - condition: (result.last_failed_block.IsNull())
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    constantsTouched: []
    func_position:
      end: 48
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 48
    functionName: wallet::CreateSyncedWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 4
    functionsReached:
    - EncodeSecret
    - auto::size
    - LOCK2
    - std::move
    - auto::SetupDescriptorScriptPubKeyMans
    - auto::at
    - wallet::CreateMockableWalletDatabase
    - Genesis
    - auto::AddWalletDescriptor
    - WalletRescanReserver::reserve
    - Height
    - Parse
    - Assert
    - CWallet::ScanResult::last_failed_block::IsNull
    - auto::SetWalletFlag
    - assert
    - Tip
    - auto::ScanForWalletTransactions
    - std::make_unique<CWallet>
    - auto::SetLastBlockProcessed
    - LOCK
    linkageType: ''
    returnType: std::unique_ptr<CWallet>
    signature: std::unique_ptr<CWallet> CreateSyncedWallet(interfaces::Chain& chain,
      CChain& cchain, const CKey& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:54,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:54,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:55,1
    - Dst: auto::postInitProcess
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - database
    - ' context'
    - create_flags
    argTypes:
    - std::unique_ptr<WalletDatabase>
    - WalletContext
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: wallet::TestLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 4
    functionsReached:
    - wallet::NotifyWalletLoaded
    - CWallet::Create
    - std::move
    - auto::postInitProcess
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> TestLoadWallet(std::unique_ptr<WalletDatabase>
      database, WalletContext& context, uint64_t create_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:69,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:70,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: wallet::TestLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 5
    functionsReached:
    - wallet::TestLoadWallet
    - MakeWalletDatabase
    - std::move
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> TestLoadWallet(WalletContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:76,1
    - Dst: m_chain_notifications_handler::reset
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:77,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:78,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: wallet::TestUnloadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - wallet::WaitForDeleteWallet
    - chain
    - m_chain_notifications_handler::reset
    linkageType: ''
    returnType: void
    signature: void TestUnloadWallet(std::shared_ptr<CWallet>&& wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableDatabase>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:83,1
    - Dst: dynamic_cast<MockableDatabase&>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' database'
    argTypes:
    - WalletDatabase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: wallet::DuplicateMockDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<MockableDatabase>
    - dynamic_cast<MockableDatabase&>
    linkageType: ''
    returnType: std::unique_ptr<WalletDatabase>
    signature: std::unique_ptr<WalletDatabase> DuplicateMockDatabase(WalletDatabase&
      database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:89,1
    - Dst: wallet::getNewDestination
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' w'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: wallet::getnewaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 2
    functionsReached:
    - wallet::getNewDestination
    - EncodeDestination
    linkageType: ''
    returnType: std::string
    signature: std::string getnewaddress(CWallet& w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:94,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' w'
    - output_type
    argTypes:
    - CWallet
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: wallet::getNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 1
    functionsReached:
    - Assert
    - GetNewDestination
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination getNewDestination(CWallet& w, OutputType output_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:100,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' records'
    - pass
    - prefix
    argTypes:
    - MockableData
    - bool
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: wallet::MockableCursor::MockableCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - equal_range
    linkageType: ''
    returnType: void
    signature: void MockableCursor::MockableCursor(const MockableData& records, bool
      pass, std::span<const std::byte> prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:111,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:112,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:114,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: wallet::MockableCursor::Next
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - write
    - clear
    linkageType: ''
    returnType: DatabaseCursor::Status
    signature: DatabaseCursor::Status MockableCursor::Next(DataStream& key, DataStream&
      value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:125,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:125,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:126,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:127,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:130,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: wallet::MockableBatch::ReadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - write
    - clear
    - find
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::ReadKey(DataStream&& key, DataStream& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:140,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:140,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:141,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:141,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' key'
    - ' value'
    - overwrite
    argTypes:
    - DataStream
    - DataStream
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: wallet::MockableBatch::WriteKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::WriteKey(DataStream&& key, DataStream&& value,
      bool overwrite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:155,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:155,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: wallet::MockableBatch::EraseKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::EraseKey(DataStream&& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:165,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:165,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: wallet::MockableBatch::HasKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - count
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::HasKey(DataStream&& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:174,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:175,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: std::search
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: std::span<const std::byte>::begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: std::span<const std::byte>::end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 184
    functionName: wallet::MockableBatch::ErasePrefix
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - std::span<const std::byte>::size
    - std::span<const std::byte>::begin
    - std::search
    - size
    - std::span<const std::byte>::end
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::ErasePrefix(std::span<const std::byte> prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableDatabase>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - records
    argTypes:
    - MockableData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: wallet::CreateMockableWalletDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 21
    functionsReached:
    - std::make_unique<MockableDatabase>
    linkageType: ''
    returnType: std::unique_ptr<WalletDatabase>
    signature: std::unique_ptr<WalletDatabase> CreateMockableWalletDatabase(MockableData
      records)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<MockableDatabase&>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:193,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: wallet::GetMockableDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<MockableDatabase&>
    - GetDatabase
    linkageType: ''
    returnType: MockableDatabase
    signature: MockableDatabase & GetMockableDatabase(CWallet& wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:198,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:202,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:203,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:203,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:205,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:211,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:212,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:212,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' keystore'
    - ' desc_str'
    - success
    argTypes:
    - CWallet
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: wallet::CreateDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 4
    functionsReached:
    - auto::value
    - auto::at
    - AddWalletDescriptor
    - Parse
    - LOCK
    - auto::empty
    - Assert
    - SetWalletFlag
    linkageType: ''
    returnType: wallet::DescriptorScriptPubKeyMan
    signature: wallet::DescriptorScriptPubKeyMan * CreateDescriptor(CWallet& keystore,
      const std::string& desc_str, const bool success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:22,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:22,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:24,1
    - Dst: auto::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:25,1
    - Dst: Height
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:25,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:25,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:28,1
    - Dst: auto::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:29,1
    - Dst: auto::SetupDescriptorScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:30,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:34,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:34,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:35,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:35,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:36,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:37,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:38,1
    - Dst: auto::AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:38,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:41,1
    - Dst: auto::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:42,1
    - Dst: Genesis
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:43,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:44,1
    - Dst: Tip
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:44,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:45,1
    - Dst: Height
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:45,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:46,1
    - Dst: CWallet::ScanResult::last_failed_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - ' chain'
    - ' cchain'
    - ' key'
    argTypes:
    - interfaces::Chain
    - CChain
    - CKey
    assertStmts:
    - condition: (result.status == CWallet::ScanResult::SUCCESS)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    - condition: (descs.size() == 1)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    - condition: (result.last_scanned_block == cchain.Tip()->GetBlockHash())
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    - condition: (*result.last_scanned_height == cchain.Height())
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    - condition: (result.last_failed_block.IsNull())
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bitcoin-core/src/wallet/test/util.cpp
    constantsTouched: []
    func_position:
      end: 48
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 48
    functionName: wallet::CreateSyncedWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 4
    functionsReached:
    - EncodeSecret
    - auto::size
    - LOCK2
    - std::move
    - auto::SetupDescriptorScriptPubKeyMans
    - auto::at
    - wallet::CreateMockableWalletDatabase
    - Genesis
    - auto::AddWalletDescriptor
    - WalletRescanReserver::reserve
    - Height
    - Parse
    - Assert
    - CWallet::ScanResult::last_failed_block::IsNull
    - auto::SetWalletFlag
    - assert
    - Tip
    - auto::ScanForWalletTransactions
    - std::make_unique<CWallet>
    - auto::SetLastBlockProcessed
    - LOCK
    linkageType: ''
    returnType: std::unique_ptr<CWallet>
    signature: std::unique_ptr<CWallet> CreateSyncedWallet(interfaces::Chain& chain,
      CChain& cchain, const CKey& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CWallet::Create
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:54,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:54,1
    - Dst: wallet::NotifyWalletLoaded
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:55,1
    - Dst: auto::postInitProcess
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - database
    - ' context'
    - create_flags
    argTypes:
    - std::unique_ptr<WalletDatabase>
    - WalletContext
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: wallet::TestLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 5
    functionsReached:
    - wallet::NotifyWalletLoaded
    - CWallet::Create
    - std::move
    - auto::postInitProcess
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> TestLoadWallet(std::unique_ptr<WalletDatabase>
      database, WalletContext& context, uint64_t create_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:69,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:70,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - WalletContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: wallet::TestLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 6
    functionsReached:
    - wallet::TestLoadWallet
    - MakeWalletDatabase
    - std::move
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> TestLoadWallet(WalletContext& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:76,1
    - Dst: m_chain_notifications_handler::reset
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:77,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:78,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - std::shared_ptr<CWallet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: wallet::TestUnloadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - wallet::WaitForDeleteWallet
    - chain
    - m_chain_notifications_handler::reset
    linkageType: ''
    returnType: void
    signature: void TestUnloadWallet(std::shared_ptr<CWallet>&& wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableDatabase>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:83,1
    - Dst: dynamic_cast<MockableDatabase&>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' database'
    argTypes:
    - WalletDatabase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: wallet::DuplicateMockDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<MockableDatabase>
    - dynamic_cast<MockableDatabase&>
    linkageType: ''
    returnType: std::unique_ptr<WalletDatabase>
    signature: std::unique_ptr<WalletDatabase> DuplicateMockDatabase(WalletDatabase&
      database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:89,1
    - Dst: wallet::getNewDestination
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' w'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: wallet::getnewaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 2
    functionsReached:
    - wallet::getNewDestination
    - EncodeDestination
    linkageType: ''
    returnType: std::string
    signature: std::string getnewaddress(CWallet& w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:94,1
    - Dst: GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' w'
    - output_type
    argTypes:
    - CWallet
    - OutputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: wallet::getNewDestination
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 2
    functionsReached:
    - Assert
    - GetNewDestination
    linkageType: ''
    returnType: CTxDestination
    signature: CTxDestination getNewDestination(CWallet& w, OutputType output_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:100,1
    - Dst: equal_range
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' records'
    - pass
    - prefix
    argTypes:
    - MockableData
    - bool
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: wallet::MockableCursor::MockableCursor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - equal_range
    linkageType: ''
    returnType: void
    signature: void MockableCursor::MockableCursor(const MockableData& records, bool
      pass, std::span<const std::byte> prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:111,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:112,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:114,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: wallet::MockableCursor::Next
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - write
    - clear
    linkageType: ''
    returnType: DatabaseCursor::Status
    signature: DatabaseCursor::Status MockableCursor::Next(DataStream& key, DataStream&
      value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:125,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:125,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:126,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:127,1
    - Dst: clear
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:130,1
    - Dst: write
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - DataStream
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: wallet::MockableBatch::ReadKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - write
    - clear
    - find
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::ReadKey(DataStream&& key, DataStream& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:140,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:140,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:141,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:141,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' key'
    - ' value'
    - overwrite
    argTypes:
    - DataStream
    - DataStream
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: wallet::MockableBatch::WriteKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::WriteKey(DataStream&& key, DataStream&& value,
      bool overwrite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:155,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:155,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: wallet::MockableBatch::EraseKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::EraseKey(DataStream&& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:165,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:165,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DataStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: wallet::MockableBatch::HasKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - count
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::HasKey(DataStream&& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:174,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:175,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: std::span<const std::byte>::size
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: std::search
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: std::span<const std::byte>::begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: std::span<const std::byte>::end
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:177,1
    - Dst: erase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::span<const std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 184
    functionName: wallet::MockableBatch::ErasePrefix
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - std::span<const std::byte>::size
    - std::span<const std::byte>::begin
    - std::search
    - size
    - std::span<const std::byte>::end
    - begin
    linkageType: ''
    returnType: bool
    signature: bool MockableBatch::ErasePrefix(std::span<const std::byte> prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockableDatabase>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - records
    argTypes:
    - MockableData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: wallet::CreateMockableWalletDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 22
    functionsReached:
    - std::make_unique<MockableDatabase>
    linkageType: ''
    returnType: std::unique_ptr<WalletDatabase>
    signature: std::unique_ptr<WalletDatabase> CreateMockableWalletDatabase(MockableData
      records)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<MockableDatabase&>
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:193,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: wallet::GetMockableDatabase
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<MockableDatabase&>
    - GetDatabase
    linkageType: ''
    returnType: MockableDatabase
    signature: MockableDatabase & GetMockableDatabase(CWallet& wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:198,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:202,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:203,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:203,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:205,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:211,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:212,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:212,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/util.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' keystore'
    - ' desc_str'
    - success
    argTypes:
    - CWallet
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: wallet::CreateDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/util.cpp
    functionUses: 4
    functionsReached:
    - auto::value
    - auto::at
    - AddWalletDescriptor
    - Parse
    - LOCK
    - auto::empty
    - Assert
    - SetWalletFlag
    linkageType: ''
    returnType: wallet::DescriptorScriptPubKeyMan
    signature: wallet::DescriptorScriptPubKeyMan * CreateDescriptor(CWallet& keystore,
      const std::string& desc_str, const bool success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/test/walletdb_tests.cpp:28,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/walletdb_tests.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletdb_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_THROW
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletdb_readkeyvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/test/walletdb_tests.cpp:28,1
    - Dst: BOOST_CHECK_THROW
      Src: /src/bitcoin-core/src/wallet/test/walletdb_tests.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletdb_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_THROW
    - uint256::uint256
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(walletdb_readkeyvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:48,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:49,1
    - Dst: CMutableTransaction::vin::push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:50,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:50,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:56,1
    - Dst: SignTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' from'
    - index
    - ' key'
    - ' pubkey'
    argTypes:
    - CTransaction
    - uint32_t
    - CKey
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 7
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: wallet::TestSimpleSpend
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vin::push_back
    - FillableSigningProvider::AddKey
    - CMutableTransaction::CMutableTransaction
    - GetHash
    - BOOST_CHECK
    - SignTransaction
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction TestSimpleSpend(const CTransaction& from, uint32_t
      index, const CKey& key, const CScript& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:62,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:65,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:65,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:66,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:66,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:67,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:68,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:69,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' wallet'
    - ' key'
    argTypes:
    - CWallet
    - CKey
    assertStmts:
    - condition: (descs.size() == 1)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: wallet::AddKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - auto::size
    - auto::at
    - AddWalletDescriptor
    - Parse
    - std::move
    - LOCK
    - Assert
    - assert
    linkageType: ''
    returnType: void
    signature: void AddKey(CWallet& wallet, const CKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:74,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:74,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:76,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:77,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:78,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:79,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:82,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:83,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:84,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:85,1
    - Dst: CWallet::AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:87,1
    - Dst: CWallet::AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - CWallet::SetWalletFlag
    - GenerateRandomKey
    - wallet::CreateMockableWalletDatabase
    - auto::at
    - Parse
    - std::move
    - BOOST_CHECK
    - LOCK
    - chain::get
    - CWallet::AddWalletDescriptor
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(update_non_range_descriptor, TestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:94,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:94,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:94,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:95,1
    - Dst: chainman::m_blockman::GetBlockFileInfo
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:95,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:95,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:96,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:96,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:96,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:97,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:97,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:97,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:101,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:101,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:103,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:104,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:104,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:105,1
    - Dst: CWallet::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:106,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:106,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:106,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:108,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:110,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:113,1
    - Dst: CWallet::ScanResult::last_failed_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:113,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:114,1
    - Dst: CWallet::ScanResult::last_scanned_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:115,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:116,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:116,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:122,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:122,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:124,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:125,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:125,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:126,1
    - Dst: CWallet::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:127,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:127,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:129,1
    - Dst: WalletRescanReserver::setNow
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:132,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:137,1
    - Dst: CWallet::GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:137,1
    - Dst: ReadBestBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:138,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:138,1
    - Dst: CBlockLocator::vHave::front
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:138,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:138,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:141,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:141,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:142,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:143,1
    - Dst: CWallet::ScanResult::last_failed_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:143,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:144,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:144,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:146,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:146,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:150,1
    - Dst: CWallet::GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:150,1
    - Dst: ReadBestBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:151,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:151,1
    - Dst: CBlockLocator::vHave::front
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:151,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:151,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:158,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:159,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:160,1
    - Dst: PruneOneBlockFile
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:160,1
    - Dst: chainman::m_blockman::UnlinkPrunedFiles
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:162,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:167,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:167,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:169,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:170,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:170,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:171,1
    - Dst: CWallet::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:172,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:172,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:172,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:174,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:176,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:177,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:177,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:178,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:179,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:179,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:180,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:180,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:181,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:182,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:182,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:187,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:188,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:189,1
    - Dst: PruneOneBlockFile
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:189,1
    - Dst: chainman::m_blockman::UnlinkPrunedFiles
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:191,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:195,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:195,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:197,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:198,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:198,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:199,1
    - Dst: CWallet::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:200,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:200,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:200,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:202,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:204,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:205,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:205,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:206,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:207,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:208,1
    - Dst: CWallet::ScanResult::last_scanned_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:209,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:210,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 91
    functionDepth: 8
    functionLinenumber: 91
    functionLinenumberEnd: 212
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - CWallet::GetDatabase
    - CWallet::SetWalletFlag
    - BOOST_CHECK_EQUAL
    - CWallet::SetLastBlockProcessed
    - chainman::ActiveChain
    - wallet::CreateMockableWalletDatabase
    - wallet::AddKey
    - BOOST_CHECK
    - CWallet::ScanResult::last_scanned_block::IsNull
    - CBlockIndex*::GetBlockHash
    - chainman::m_blockman::UnlinkPrunedFiles
    - ReadBestBlock
    - WalletRescanReserver::reserve
    - WITH_LOCK
    - chainman::m_blockman::GetBlockFileInfo
    - GetScriptForRawPubKey
    - Assert
    - CWallet::ScanResult::last_failed_block::IsNull
    - CWallet::ScanForWalletTransactions
    - CreateAndProcessBlock
    - CBlockLocator::IsNull
    - CBlockLocator::vHave::front
    - PruneOneBlockFile
    - WalletRescanReserver::setNow
    - LOCK
    - CBlockIndex*::GetBlockPos
    - chain::get
    - wallet::GetBalance
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(scan_for_wallet_transactions, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:218,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:222,1
    - Dst: auto::getRwSetting
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:222,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:226,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:227,1
    - Dst: join
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:228,1
    - Dst: auto::getRwSetting
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:230,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:231,1
    - Dst: auto::getValues
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:231,1
    - Dst: check_concurrent_wallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:235,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:236,1
    - Dst: wallet::AddWalletSetting
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:236,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:236,1
    - Dst: check_concurrent_wallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:241,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:242,1
    - Dst: wallet::RemoveWalletSetting
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:242,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 245
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::getValues
    - std::vector::emplace_back
    - wallet::AddWalletSetting
    - check_concurrent_wallet
    - std::vector::reserve
    - BOOST_REQUIRE
    - chain::get
    - BOOST_CHECK_EQUAL
    - Assert
    - wallet::RemoveWalletSetting
    - strprintf
    - auto::getRwSetting
    - join
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(write_wallet_settings_concurrently, TestingSetup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:249,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:252,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:255,1
    - Dst: BlockIndex
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:256,1
    - Dst: std::make_tuple
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:256,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:256,1
    - Dst: std::make_tuple
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:256,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:257,1
    - Dst: AddToWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:264,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ' chainman'
    - ' wallet'
    - lockTime
    - mockTime
    - blockTime
    argTypes:
    - ChainstateManager
    - CWallet
    - uint32_t
    - int64_t
    - int64_t
    assertStmts:
    - condition: (inserted.second)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: wallet::AddTx
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 2
    functionsReached:
    - SetMockTime
    - CMutableTransaction::CMutableTransaction
    - std::make_tuple
    - MakeTransactionRef
    - GetRandHash
    - BlockIndex
    - AddToWallet
    - LOCK
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t AddTx(ChainstateManager& chainman, CWallet& wallet, uint32_t
      lockTime, int64_t mockTime, int64_t blockTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:278,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:278,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:281,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:281,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:284,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:284,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:287,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:287,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:291,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:291,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:295,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 296
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - wallet::AddTx
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ComputeTimeSmart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::NodeContext::NodeContext
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:300,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:301,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:307,1
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:308,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:308,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:308,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:309,1
    - Dst: auto::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:309,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:310,1
    - Dst: f
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' name'
    - format
    - f
    argTypes:
    - std::string
    - DatabaseFormat
    - std::function<void(std::shared_ptr<CWallet>)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: wallet::TestLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 6
    functionsReached:
    - f
    - interfaces::MakeChain
    - WITH_LOCK
    - std::move
    - BOOST_CHECK_EQUAL
    - MakeWalletDatabase
    - auto::LoadWallet
    - std::make_shared<CWallet>
    - auto::get
    - node::NodeContext::NodeContext
    linkageType: ''
    returnType: void
    signature: void TestLoadWallet(const std::string& name, DatabaseFormat format,
      std::function<void(std::shared_ptr<CWallet>)> f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:316,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:317,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:317,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:318,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:318,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:318,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:319,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:320,1
    - Dst: WalletBatch::WriteAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:320,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:320,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:321,1
    - Dst: WalletBatch::WriteAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:321,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:321,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:322,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:322,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:322,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:323,1
    - Dst: EraseAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:323,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:323,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:324,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:324,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:324,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:325,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:325,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:325,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:326,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:326,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:326,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:328,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:329,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:329,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:329,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:330,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:330,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:330,1
    - Dst: GetAddressReceiveRequests
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:331,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: wallet::RunWithinTxn
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:334,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:334,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:335,1
    - Dst: WalletBatch::WriteAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:335,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:336,1
    - Dst: WalletBatch::EraseAddressData
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:336,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:336,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:340,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:341,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:341,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:341,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:342,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:342,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:342,1
    - Dst: GetAddressReceiveRequests
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:343,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 348
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - WalletBatch::EraseAddressData
    - EraseAddressReceiveRequest
    - ScriptHash
    - auto::begin
    - BOOST_CHECK
    - GetAddressReceiveRequests
    - PKHash
    - GetDatabase
    - wallet::TestLoadWallet
    - IsAddressPreviouslySpent
    - strprintf
    - WalletBatch::WriteAddressPreviouslySpent
    - SetAddressReceiveRequest
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - end
    - wallet::RunWithinTxn
    - EXCLUSIVE_LOCKS_REQUIRED
    - auto::end
    - begin
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(LoadReceiveRequests, TestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:355,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:355,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:355,1
    - Dst: CreateSyncedWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:356,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:356,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:356,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: wallet::ListCoinsTestingSetup::ListCoinsTestingSetup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - CreateSyncedWallet
    - WITH_LOCK
    - GetScriptForRawPubKey
    - Assert
    - GetPubKey
    - CreateAndProcessBlock
    linkageType: ''
    returnType: void
    signature: void ListCoinsTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: ~ListCoinsTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~ListCoinsTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:369,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:370,1
    - Dst: CommitTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:373,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:374,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:376,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:377,1
    - Dst: mapWallet::at
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:377,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:377,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:379,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:379,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:379,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:379,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:381,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:382,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:382,1
    - Dst: SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:383,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:383,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:383,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:384,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:384,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:385,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:385,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:386,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - recipient
    argTypes:
    - CRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 388
    functionName: '& AddTx(CRecipient recipient)'
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - mapWallet::at
    - SetLastBlockProcessed
    - CommitTransaction
    - CMutableTransaction::CMutableTransaction
    - mapWallet::end
    - GetScriptForRawPubKey
    - CTransactionRef::GetHash
    - BOOST_CHECK
    - LOCK
    - CMutableTransaction
    - Assert
    - GetLastBlockHeight
    - mapWallet::find
    - GetPubKey
    - CreateAndProcessBlock
    - wallet::CreateTransaction
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx & AddTx(CRecipient recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:395,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:401,1
    - Dst: wallet::ListCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:402,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:404,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:404,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:405,1
    - Dst: std::get<PKHash>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:405,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:405,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:406,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:406,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:406,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:409,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:409,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:409,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:415,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:417,1
    - Dst: wallet::ListCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:418,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:420,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:420,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:421,1
    - Dst: std::get<PKHash>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:421,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:421,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:422,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:422,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:422,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:426,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:427,1
    - Dst: wallet::AvailableCoinsListUnspent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:427,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:431,1
    - Dst: LockCoin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:432,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:436,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:437,1
    - Dst: wallet::AvailableCoinsListUnspent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:437,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:442,1
    - Dst: wallet::ListCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:443,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:445,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:445,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:446,1
    - Dst: std::get<PKHash>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:446,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:446,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:447,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:447,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 393
    functionDepth: 7
    functionLinenumber: 393
    functionLinenumberEnd: 448
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - std::map::size
    - wallet::AddTx
    - wallet::ListCoins
    - WITH_LOCK
    - size
    - LOCK
    - BOOST_CHECK_EQUAL
    - wallet::AvailableCoins
    - LockCoin
    - std::get<PKHash>
    - std::map::begin
    - wallet::AvailableCoinsListUnspent
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(ListCoinsTest, ListCoinsTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:453,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:454,1
    - Dst: wallet::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:454,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:455,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:458,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:460,1
    - Dst: wallet::LockCoin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:460,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:460,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:461,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' context'
    - out_type
    - amount
    - ' expected_coins_sizes'
    argTypes:
    - ListCoinsTest
    - OutputType
    - CAmount
    - std::map<OutputType, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 462
    functionName: wallet::TestCoinsResult
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::LockCoin
    - wallet::AddTx
    - tx::vout::size
    - GetHash
    - size
    - LOCK
    - wallet::AvailableCoins
    - Assert
    - BOOST_CHECK_EQUAL
    - wallet::GetNewDestination
    linkageType: ''
    returnType: void
    signature: "void TestCoinsResult(ListCoinsTest& context, OutputType out_type,
      CAmount amount,\n                     std::map<OutputType, size_t>& expected_coins_sizes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:472,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:472,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:473,1
    - Dst: CoinsResult::Size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:473,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:474,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:474,1
    - Dst: wallet::TestCoinsResult
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 488
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestCoinsResult
    - CoinsResult::Size
    - WITH_LOCK
    - size
    - BOOST_CHECK_EQUAL
    - wallet::AvailableCoins
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(BasicOutputTypesTest, ListCoinsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:492,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:492,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:492,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:493,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:494,1
    - Dst: std::shared_ptr::SetMinVersion
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:495,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:496,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:497,1
    - Dst: std::shared_ptr::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::CreateMockableWalletDatabase
    - std::shared_ptr::SetWalletFlag
    - std::shared_ptr::GetNewDestination
    - BOOST_CHECK
    - LOCK
    - chain::get
    - std::make_shared<CWallet>
    - std::shared_ptr::SetMinVersion
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_disableprivkeys, TestChain100Setup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:505,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:506,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:512,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:512,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:512,1
    - Dst: uint160::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:512,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:516,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:516,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:516,1
    - Dst: uint160::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:516,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:520,1
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:521,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:526,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:528,1
    - Dst: CTxIn::CTxIn
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:531,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:532,1
    - Dst: GetVirtualTransactionInputSize
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts:
    - condition: (false)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    constantsTouched: []
    func_position:
      end: 534
      start: 502
    functionDepth: 6
    functionLinenumber: 502
    functionLinenumberEnd: 534
    functionName: wallet::CalculateNestedKeyhashInputSize
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - CTxIn::CTxIn
    - std::vector<unsigned char>
    - ProduceSignature
    - GenerateRandomKey
    - assert
    - uint160::begin
    - uint160::end
    - FillableSigningProvider::AddCScript
    - CScript
    - UpdateInput
    - GetVirtualTransactionInputSize
    - CKey::GetPubKey
    - FillableSigningProvider::AddKeyPubKey
    linkageType: ''
    returnType: size_t
    signature: size_t CalculateNestedKeyhashInputSize(bool use_max_sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:538,1
    - Dst: wallet::CalculateNestedKeyhashInputSize
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:538,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:539,1
    - Dst: wallet::CalculateNestedKeyhashInputSize
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 7
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - wallet::CalculateNestedKeyhashInputSize
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(dummy_input_size_test, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::failure::what
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:544,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - std::ios_base::failure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: wallet::malformed_descriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::ios_base::failure::what
    linkageType: ''
    returnType: bool
    signature: bool malformed_descriptor(std::ios_base::failure e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:552,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 561
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - std::string
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_descriptor_test, BasicTestingSetup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:583,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:587,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:588,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:589,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:590,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:591,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:591,1
    - Dst: validation_signals::CallFunctionInValidationInterfaceQueue
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:614,1
    - Dst: std::promise::get_future
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:615,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:618,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:618,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:618,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:618,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:619,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:619,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:619,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:620,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:620,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:620,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:620,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:621,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:621,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:621,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:622,1
    - Dst: chain::broadcastTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:622,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:622,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:628,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:629,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:631,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:633,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:634,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:634,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:634,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:635,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:635,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:635,1
    - Dst: std::promise::set_value
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:641,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:642,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:645,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:648,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:648,1
    - Dst: wallet::HandleLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:658,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:659,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:660,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:660,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:660,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:660,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:661,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:661,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:661,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:662,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:662,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:662,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:662,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:663,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:663,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:663,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:664,1
    - Dst: chain::broadcastTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:664,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:664,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:665,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:667,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:670,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:672,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:673,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:673,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:673,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:674,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:674,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:674,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:678,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 581
    functionDepth: 8
    functionLinenumber: 581
    functionLinenumberEnd: 679
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - wallet::TestUnloadWallet
    - std::move
    - validation_signals::CallFunctionInValidationInterfaceQueue
    - validation_signals::SyncWithValidationInterfaceQueue
    - BOOST_CHECK_EQUAL
    - std::promise::set_value
    - wallet::TestSimpleSpend
    - ForceSetArg
    - GenerateRandomKey
    - wallet::AddKey
    - BOOST_CHECK
    - wallet::TestLoadWallet
    - MakeTransactionRef
    - std::promise::get_future
    - GetScriptForRawPubKey
    - auto::mapWallet::count
    - chain::broadcastTransaction
    - CKey::GetPubKey
    - CreateAndProcessBlock
    - push_back
    - wallet::HandleLoadWallet
    - LOCK
    - chain::get
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(CreateWallet, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:685,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:686,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:687,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestLoadWallet
    - wallet::WaitForDeleteWallet
    - BOOST_CHECK
    - std::move
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(CreateWalletWithoutChain, BasicTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:692,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:695,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:696,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:697,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:698,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:701,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:701,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:701,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:701,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:702,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:702,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:702,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:703,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:703,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:703,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:705,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:708,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:711,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:712,1
    - Dst: auto::HasWalletSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:712,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:713,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:713,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:716,1
    - Dst: auto::RemoveTxs
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:716,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:718,1
    - Dst: auto::HasWalletSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:718,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:719,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:719,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:722,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 690
    functionDepth: 8
    functionLinenumber: 690
    functionLinenumberEnd: 723
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::HasWalletSpend
    - auto::GetHash
    - wallet::TestUnloadWallet
    - std::move
    - validation_signals::SyncWithValidationInterfaceQueue
    - BOOST_CHECK_EQUAL
    - wallet::TestSimpleSpend
    - ForceSetArg
    - GenerateRandomKey
    - wallet::AddKey
    - BOOST_CHECK
    - wallet::TestLoadWallet
    - GetScriptForRawPubKey
    - auto::mapWallet::count
    - CKey::GetPubKey
    - CreateAndProcessBlock
    - push_back
    - LOCK
    - chain::get
    - GetPubKey
    - auto::RemoveTxs
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(RemoveTxs, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:48,1
    - Dst: CMutableTransaction::vout::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:49,1
    - Dst: CMutableTransaction::vin::push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:50,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:50,1
    - Dst: FillableSigningProvider::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:52,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:56,1
    - Dst: SignTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' from'
    - index
    - ' key'
    - ' pubkey'
    argTypes:
    - CTransaction
    - uint32_t
    - CKey
    - CScript
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 7
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: wallet::TestSimpleSpend
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 2
    functionsReached:
    - CMutableTransaction::vin::push_back
    - FillableSigningProvider::AddKey
    - CMutableTransaction::CMutableTransaction
    - GetHash
    - BOOST_CHECK
    - SignTransaction
    - CMutableTransaction::vout::emplace_back
    linkageType: ''
    returnType: CMutableTransaction
    signature: CMutableTransaction TestSimpleSpend(const CTransaction& from, uint32_t
      index, const CKey& key, const CScript& pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:62,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:65,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:65,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:66,1
    - Dst: auto::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:66,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:67,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:68,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:69,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' wallet'
    - ' key'
    argTypes:
    - CWallet
    - CKey
    assertStmts:
    - condition: (descs.size() == 1)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: wallet::AddKey
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 3
    functionsReached:
    - EncodeSecret
    - auto::size
    - auto::at
    - AddWalletDescriptor
    - Parse
    - std::move
    - LOCK
    - Assert
    - assert
    linkageType: ''
    returnType: void
    signature: void AddKey(CWallet& wallet, const CKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:74,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:74,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:76,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:77,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:78,1
    - Dst: EncodeSecret
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:79,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:82,1
    - Dst: auto::at
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:83,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:84,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:85,1
    - Dst: CWallet::AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:85,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:87,1
    - Dst: CWallet::AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - EncodeSecret
    - CWallet::SetWalletFlag
    - GenerateRandomKey
    - wallet::CreateMockableWalletDatabase
    - auto::at
    - Parse
    - std::move
    - BOOST_CHECK
    - LOCK
    - chain::get
    - CWallet::AddWalletDescriptor
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(update_non_range_descriptor, TestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:94,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:94,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:94,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:95,1
    - Dst: chainman::m_blockman::GetBlockFileInfo
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:95,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:95,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:96,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:96,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:96,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:97,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:97,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:97,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:101,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:101,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:103,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:104,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:104,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:105,1
    - Dst: CWallet::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:106,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:106,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:106,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:108,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:110,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:111,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:112,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:113,1
    - Dst: CWallet::ScanResult::last_failed_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:113,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:114,1
    - Dst: CWallet::ScanResult::last_scanned_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:114,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:115,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:116,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:116,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:122,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:122,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:124,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:125,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:125,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:126,1
    - Dst: CWallet::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:127,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:127,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:129,1
    - Dst: WalletRescanReserver::setNow
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:132,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:133,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:137,1
    - Dst: CWallet::GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:137,1
    - Dst: ReadBestBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:137,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:138,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:138,1
    - Dst: CBlockLocator::vHave::front
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:138,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:138,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:141,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:141,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:142,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:143,1
    - Dst: CWallet::ScanResult::last_failed_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:143,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:144,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:144,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:145,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:146,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:146,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:150,1
    - Dst: CWallet::GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:150,1
    - Dst: ReadBestBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:150,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:151,1
    - Dst: CBlockLocator::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:151,1
    - Dst: CBlockLocator::vHave::front
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:151,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:151,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:158,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:159,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:160,1
    - Dst: PruneOneBlockFile
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:160,1
    - Dst: chainman::m_blockman::UnlinkPrunedFiles
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:162,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:167,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:167,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:169,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:170,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:170,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:171,1
    - Dst: CWallet::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:172,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:172,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:172,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:174,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:176,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:177,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:177,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:178,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:179,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:179,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:180,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:180,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:181,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:182,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:182,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:187,1
    - Dst: CBlockIndex*::GetBlockPos
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:188,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:189,1
    - Dst: PruneOneBlockFile
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:189,1
    - Dst: chainman::m_blockman::UnlinkPrunedFiles
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:191,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:195,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:195,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:197,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:198,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:198,1
    - Dst: CWallet::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:199,1
    - Dst: CWallet::SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:200,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:200,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:200,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:202,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:204,1
    - Dst: CWallet::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:205,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:205,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:206,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:207,1
    - Dst: CBlockIndex*::GetBlockHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:207,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:208,1
    - Dst: CWallet::ScanResult::last_scanned_block::IsNull
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:208,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:209,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:210,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 91
    functionDepth: 8
    functionLinenumber: 91
    functionLinenumberEnd: 212
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - CWallet::GetDatabase
    - CWallet::SetWalletFlag
    - BOOST_CHECK_EQUAL
    - CWallet::SetLastBlockProcessed
    - chainman::ActiveChain
    - wallet::CreateMockableWalletDatabase
    - wallet::AddKey
    - BOOST_CHECK
    - CWallet::ScanResult::last_scanned_block::IsNull
    - CBlockIndex*::GetBlockHash
    - chainman::m_blockman::UnlinkPrunedFiles
    - ReadBestBlock
    - WalletRescanReserver::reserve
    - WITH_LOCK
    - chainman::m_blockman::GetBlockFileInfo
    - GetScriptForRawPubKey
    - Assert
    - CWallet::ScanResult::last_failed_block::IsNull
    - CWallet::ScanForWalletTransactions
    - CreateAndProcessBlock
    - CBlockLocator::IsNull
    - CBlockLocator::vHave::front
    - PruneOneBlockFile
    - WalletRescanReserver::setNow
    - LOCK
    - CBlockIndex*::GetBlockPos
    - chain::get
    - wallet::GetBalance
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(scan_for_wallet_transactions, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:218,1
    - Dst: BOOST_REQUIRE
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:222,1
    - Dst: auto::getRwSetting
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:222,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:226,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:227,1
    - Dst: join
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:228,1
    - Dst: auto::getRwSetting
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:230,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:231,1
    - Dst: auto::getValues
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:231,1
    - Dst: check_concurrent_wallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:235,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:236,1
    - Dst: wallet::AddWalletSetting
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:236,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:236,1
    - Dst: check_concurrent_wallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:241,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:242,1
    - Dst: wallet::RemoveWalletSetting
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:242,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 245
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::getValues
    - std::vector::emplace_back
    - wallet::AddWalletSetting
    - check_concurrent_wallet
    - std::vector::reserve
    - BOOST_REQUIRE
    - chain::get
    - BOOST_CHECK_EQUAL
    - Assert
    - wallet::RemoveWalletSetting
    - strprintf
    - auto::getRwSetting
    - join
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(write_wallet_settings_concurrently, TestingSetup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:249,1
    - Dst: SetMockTime
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:252,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:255,1
    - Dst: BlockIndex
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:256,1
    - Dst: std::make_tuple
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:256,1
    - Dst: GetRandHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:256,1
    - Dst: std::make_tuple
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:256,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:257,1
    - Dst: AddToWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:264,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ' chainman'
    - ' wallet'
    - lockTime
    - mockTime
    - blockTime
    argTypes:
    - ChainstateManager
    - CWallet
    - uint32_t
    - int64_t
    - int64_t
    assertStmts:
    - condition: (inserted.second)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: wallet::AddTx
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 5
    functionsReached:
    - SetMockTime
    - CMutableTransaction::CMutableTransaction
    - std::make_tuple
    - MakeTransactionRef
    - GetRandHash
    - BlockIndex
    - AddToWallet
    - LOCK
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t AddTx(ChainstateManager& chainman, CWallet& wallet, uint32_t
      lockTime, int64_t mockTime, int64_t blockTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:278,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:278,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:281,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:281,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:284,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:284,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:287,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:287,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:291,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:291,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:295,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 296
    functionName: wallet::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - wallet::AddTx
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(ComputeTimeSmart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node::NodeContext::NodeContext
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:300,1
    - Dst: interfaces::MakeChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:301,1
    - Dst: MakeWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:307,1
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:308,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:308,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:308,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:309,1
    - Dst: auto::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:309,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:310,1
    - Dst: f
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' name'
    - format
    - f
    argTypes:
    - std::string
    - DatabaseFormat
    - std::function<void(std::shared_ptr<CWallet>)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: wallet::TestLoadWallet
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 10
    functionsReached:
    - f
    - interfaces::MakeChain
    - WITH_LOCK
    - std::move
    - BOOST_CHECK_EQUAL
    - MakeWalletDatabase
    - auto::LoadWallet
    - std::make_shared<CWallet>
    - auto::get
    - node::NodeContext::NodeContext
    linkageType: ''
    returnType: void
    signature: void TestLoadWallet(const std::string& name, DatabaseFormat format,
      std::function<void(std::shared_ptr<CWallet>)> f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:316,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:317,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:317,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:318,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:318,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:318,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:319,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:320,1
    - Dst: WalletBatch::WriteAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:320,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:320,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:321,1
    - Dst: WalletBatch::WriteAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:321,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:321,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:322,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:322,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:322,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:323,1
    - Dst: EraseAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:323,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:323,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:324,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:324,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:324,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:325,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:325,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:325,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:326,1
    - Dst: SetAddressReceiveRequest
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:326,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:326,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:328,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:328,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:329,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:329,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:329,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:330,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:330,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:330,1
    - Dst: GetAddressReceiveRequests
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:331,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:333,1
    - Dst: wallet::RunWithinTxn
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:334,1
    - Dst: GetDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:334,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:335,1
    - Dst: WalletBatch::WriteAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:335,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:335,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:336,1
    - Dst: WalletBatch::EraseAddressData
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:336,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:336,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:340,1
    - Dst: EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:340,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:341,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:341,1
    - Dst: PKHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:341,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:342,1
    - Dst: IsAddressPreviouslySpent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:342,1
    - Dst: ScriptHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:342,1
    - Dst: GetAddressReceiveRequests
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:343,1
    - Dst: BOOST_CHECK_EQUAL_COLLECTIONS
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    - Dst: auto::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    - Dst: auto::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 348
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - WalletBatch::EraseAddressData
    - EraseAddressReceiveRequest
    - ScriptHash
    - auto::begin
    - BOOST_CHECK
    - GetAddressReceiveRequests
    - PKHash
    - GetDatabase
    - wallet::TestLoadWallet
    - IsAddressPreviouslySpent
    - strprintf
    - WalletBatch::WriteAddressPreviouslySpent
    - SetAddressReceiveRequest
    - BOOST_CHECK_EQUAL_COLLECTIONS
    - end
    - wallet::RunWithinTxn
    - EXCLUSIVE_LOCKS_REQUIRED
    - auto::end
    - begin
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(LoadReceiveRequests, TestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:355,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:355,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:355,1
    - Dst: CreateSyncedWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:356,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:356,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:356,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: wallet::ListCoinsTestingSetup::ListCoinsTestingSetup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - CreateSyncedWallet
    - WITH_LOCK
    - GetScriptForRawPubKey
    - Assert
    - GetPubKey
    - CreateAndProcessBlock
    linkageType: ''
    returnType: void
    signature: void ListCoinsTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: ~ListCoinsTestingSetup()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~ListCoinsTestingSetup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:369,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:370,1
    - Dst: CommitTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:373,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:374,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:376,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:377,1
    - Dst: mapWallet::at
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:377,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:377,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:379,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:379,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:379,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:379,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:381,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:382,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:382,1
    - Dst: SetLastBlockProcessed
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:383,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:383,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:383,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:384,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:384,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:385,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:385,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:386,1
    - Dst: chainman::ActiveChain
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - recipient
    argTypes:
    - CRecipient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 388
    functionName: '& AddTx(CRecipient recipient)'
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - chainman::ActiveChain
    - SetLastBlockProcessed
    - CommitTransaction
    - CMutableTransaction::CMutableTransaction
    - mapWallet::end
    - GetScriptForRawPubKey
    - CTransactionRef::GetHash
    - BOOST_CHECK
    - LOCK
    - CreateTransaction
    - CMutableTransaction
    - Assert
    - GetLastBlockHeight
    - mapWallet::find
    - GetPubKey
    - CreateAndProcessBlock
    - mapWallet::at
    linkageType: ''
    returnType: CWalletTx
    signature: CWalletTx & AddTx(CRecipient recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:395,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:401,1
    - Dst: wallet::ListCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:402,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:404,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:404,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:405,1
    - Dst: std::get<PKHash>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:405,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:405,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:406,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:406,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:406,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:409,1
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:409,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:409,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:415,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:417,1
    - Dst: wallet::ListCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:418,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:420,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:420,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:421,1
    - Dst: std::get<PKHash>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:421,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:421,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:422,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:422,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:422,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:426,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:427,1
    - Dst: wallet::AvailableCoinsListUnspent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:427,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:431,1
    - Dst: LockCoin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:432,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:436,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:437,1
    - Dst: wallet::AvailableCoinsListUnspent
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:437,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:442,1
    - Dst: wallet::ListCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:443,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:445,1
    - Dst: std::map::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:445,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:446,1
    - Dst: std::get<PKHash>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:446,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:446,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:447,1
    - Dst: std::map::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:447,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 393
    functionDepth: 7
    functionLinenumber: 393
    functionLinenumberEnd: 448
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - std::map::size
    - wallet::AddTx
    - wallet::ListCoins
    - WITH_LOCK
    - size
    - LOCK
    - BOOST_CHECK_EQUAL
    - wallet::AvailableCoins
    - LockCoin
    - std::get<PKHash>
    - std::map::begin
    - wallet::AvailableCoinsListUnspent
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(ListCoinsTest, ListCoinsTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:453,1
    - Dst: Assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:454,1
    - Dst: wallet::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:454,1
    - Dst: wallet::AddTx
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:455,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:458,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:460,1
    - Dst: wallet::LockCoin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:460,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:460,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:461,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' context'
    - out_type
    - amount
    - ' expected_coins_sizes'
    argTypes:
    - ListCoinsTest
    - OutputType
    - CAmount
    - std::map<OutputType, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 462
    functionName: wallet::TestCoinsResult
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 1
    functionsReached:
    - wallet::LockCoin
    - wallet::AddTx
    - tx::vout::size
    - GetHash
    - size
    - LOCK
    - wallet::AvailableCoins
    - Assert
    - BOOST_CHECK_EQUAL
    - wallet::GetNewDestination
    linkageType: ''
    returnType: void
    signature: "void TestCoinsResult(ListCoinsTest& context, OutputType out_type,
      CAmount amount,\n                     std::map<OutputType, size_t>& expected_coins_sizes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WITH_LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:472,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:472,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:473,1
    - Dst: CoinsResult::Size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:473,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:474,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:474,1
    - Dst: wallet::TestCoinsResult
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 488
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestCoinsResult
    - CoinsResult::Size
    - WITH_LOCK
    - size
    - BOOST_CHECK_EQUAL
    - wallet::AvailableCoins
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(BasicOutputTypesTest, ListCoinsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CWallet>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:492,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:492,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:492,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:493,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:494,1
    - Dst: std::shared_ptr::SetMinVersion
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:495,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:496,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:497,1
    - Dst: std::shared_ptr::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::CreateMockableWalletDatabase
    - std::shared_ptr::SetWalletFlag
    - std::shared_ptr::GetNewDestination
    - BOOST_CHECK
    - LOCK
    - chain::get
    - std::make_shared<CWallet>
    - std::shared_ptr::SetMinVersion
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_disableprivkeys, TestChain100Setup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:505,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:506,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:512,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:512,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:512,1
    - Dst: uint160::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:512,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:516,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:516,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:516,1
    - Dst: uint160::end
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:516,1
    - Dst: FillableSigningProvider::AddCScript
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:520,1
    - Dst: FillableSigningProvider::AddKeyPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:521,1
    - Dst: ProduceSignature
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:526,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:528,1
    - Dst: CTxIn::CTxIn
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:531,1
    - Dst: UpdateInput
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:532,1
    - Dst: GetVirtualTransactionInputSize
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - use_max_sig
    argTypes:
    - bool
    assertStmts:
    - condition: (false)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    constantsTouched: []
    func_position:
      end: 534
      start: 502
    functionDepth: 6
    functionLinenumber: 502
    functionLinenumberEnd: 534
    functionName: wallet::CalculateNestedKeyhashInputSize
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 1
    functionsReached:
    - CTxIn::CTxIn
    - std::vector<unsigned char>
    - ProduceSignature
    - GenerateRandomKey
    - assert
    - uint160::begin
    - uint160::end
    - FillableSigningProvider::AddCScript
    - CScript
    - UpdateInput
    - GetVirtualTransactionInputSize
    - CKey::GetPubKey
    - FillableSigningProvider::AddKeyPubKey
    linkageType: ''
    returnType: size_t
    signature: size_t CalculateNestedKeyhashInputSize(bool use_max_sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:538,1
    - Dst: wallet::CalculateNestedKeyhashInputSize
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:538,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:539,1
    - Dst: wallet::CalculateNestedKeyhashInputSize
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 7
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EQUAL
    - wallet::CalculateNestedKeyhashInputSize
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(dummy_input_size_test, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::failure::what
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:544,1
    - Dst: std::string::find
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - std::ios_base::failure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: wallet::malformed_descriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::ios_base::failure::what
    linkageType: ''
    returnType: bool
    signature: bool malformed_descriptor(std::ios_base::failure e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:552,1
    - Dst: BOOST_CHECK_EXCEPTION
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 561
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - BOOST_CHECK_EXCEPTION
    - std::string
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_descriptor_test, BasicTestingSetup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:583,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:587,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:588,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:589,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:590,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:591,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:591,1
    - Dst: validation_signals::CallFunctionInValidationInterfaceQueue
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:614,1
    - Dst: std::promise::get_future
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:615,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:618,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:618,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:618,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:618,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:619,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:619,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:619,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:620,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:620,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:620,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:620,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:621,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:621,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:621,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:622,1
    - Dst: chain::broadcastTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:622,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:622,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:628,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:629,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:631,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:633,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:634,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:634,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:634,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:635,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:635,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:635,1
    - Dst: std::promise::set_value
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:641,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:642,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:645,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:648,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:648,1
    - Dst: wallet::HandleLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:658,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:659,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:660,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:660,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:660,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:660,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:661,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:661,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:661,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:662,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:662,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:662,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:662,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:663,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:663,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:663,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:664,1
    - Dst: chain::broadcastTransaction
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:664,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:664,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:665,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:667,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:670,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:672,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:673,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:673,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:673,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:674,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:674,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:674,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:678,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 581
    functionDepth: 8
    functionLinenumber: 581
    functionLinenumberEnd: 679
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::GetHash
    - wallet::TestUnloadWallet
    - std::move
    - validation_signals::CallFunctionInValidationInterfaceQueue
    - validation_signals::SyncWithValidationInterfaceQueue
    - BOOST_CHECK_EQUAL
    - std::promise::set_value
    - wallet::TestSimpleSpend
    - ForceSetArg
    - GenerateRandomKey
    - wallet::AddKey
    - BOOST_CHECK
    - wallet::TestLoadWallet
    - MakeTransactionRef
    - std::promise::get_future
    - GetScriptForRawPubKey
    - auto::mapWallet::count
    - chain::broadcastTransaction
    - CKey::GetPubKey
    - CreateAndProcessBlock
    - push_back
    - wallet::HandleLoadWallet
    - LOCK
    - chain::get
    - GetPubKey
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(CreateWallet, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:685,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:686,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:687,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::TestLoadWallet
    - wallet::WaitForDeleteWallet
    - BOOST_CHECK
    - std::move
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(CreateWalletWithoutChain, BasicTestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForceSetArg
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:692,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:695,1
    - Dst: wallet::TestLoadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:696,1
    - Dst: GenerateRandomKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:697,1
    - Dst: wallet::AddKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:698,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:701,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:701,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:701,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:701,1
    - Dst: wallet::TestSimpleSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:702,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:702,1
    - Dst: CKey::GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:702,1
    - Dst: CreateAndProcessBlock
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:703,1
    - Dst: GetScriptForRawPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:703,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:703,1
    - Dst: validation_signals::SyncWithValidationInterfaceQueue
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:705,1
    - Dst: auto::GetHash
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:708,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:711,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:712,1
    - Dst: auto::HasWalletSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:712,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:713,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:713,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:716,1
    - Dst: auto::RemoveTxs
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:716,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:718,1
    - Dst: auto::HasWalletSpend
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:718,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:719,1
    - Dst: auto::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:719,1
    - Dst: wallet::TestUnloadWallet
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:722,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 690
    functionDepth: 8
    functionLinenumber: 690
    functionLinenumberEnd: 723
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/wallet_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::HasWalletSpend
    - auto::GetHash
    - wallet::TestUnloadWallet
    - std::move
    - validation_signals::SyncWithValidationInterfaceQueue
    - BOOST_CHECK_EQUAL
    - wallet::TestSimpleSpend
    - ForceSetArg
    - GenerateRandomKey
    - wallet::AddKey
    - BOOST_CHECK
    - wallet::TestLoadWallet
    - GetScriptForRawPubKey
    - auto::mapWallet::count
    - CKey::GetPubKey
    - CreateAndProcessBlock
    - push_back
    - LOCK
    - chain::get
    - GetPubKey
    - auto::RemoveTxs
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(RemoveTxs, TestChain100Setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:23,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:23,1
    - Dst: CTxIn::scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:27,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:27,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:31,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:31,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:33,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:37,1
    - Dst: SignatureWeights::GetWeightDiffToMax
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:38,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' script_str'
    - ' witness_str_stack'
    - ' prevout_script_str'
    - expected_max_weight
    argTypes:
    - std::string
    - std::vector<std::string>
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 10
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: wallet::feebumper::CheckMaxWeightComputation
    functionSourceFile: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - VerifyScript
    - GetTransactionInputWeight
    - std::vector::begin
    - BOOST_CHECK
    - SignatureWeights::GetWeightDiffToMax
    - BOOST_CHECK_EQUAL
    - CTxIn::scriptWitness::stack::push_back
    - ParseHex
    linkageType: ''
    returnType: void
    signature: void CheckMaxWeightComputation(const std::string& script_str, const
      std::vector<std::string>& witness_str_stack, const std::string& prevout_script_str,
      int64_t expected_max_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:45,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:47,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:49,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 11
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: wallet::feebumper::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CheckMaxWeightComputation
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(external_max_weight_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:23,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:23,1
    - Dst: CTxIn::scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:27,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:27,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:31,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:31,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:33,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:37,1
    - Dst: SignatureWeights::GetWeightDiffToMax
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:38,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' script_str'
    - ' witness_str_stack'
    - ' prevout_script_str'
    - expected_max_weight
    argTypes:
    - std::string
    - std::vector<std::string>
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 10
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: wallet::feebumper::CheckMaxWeightComputation
    functionSourceFile: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - VerifyScript
    - GetTransactionInputWeight
    - std::vector::begin
    - BOOST_CHECK
    - SignatureWeights::GetWeightDiffToMax
    - BOOST_CHECK_EQUAL
    - CTxIn::scriptWitness::stack::push_back
    - ParseHex
    linkageType: ''
    returnType: void
    signature: void CheckMaxWeightComputation(const std::string& script_str, const
      std::vector<std::string>& witness_str_stack, const std::string& prevout_script_str,
      int64_t expected_max_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:45,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:47,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:49,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 11
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: wallet::feebumper::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CheckMaxWeightComputation
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(external_max_weight_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:23,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:23,1
    - Dst: CTxIn::scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:27,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:27,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:31,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:31,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:33,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:37,1
    - Dst: SignatureWeights::GetWeightDiffToMax
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:38,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' script_str'
    - ' witness_str_stack'
    - ' prevout_script_str'
    - expected_max_weight
    argTypes:
    - std::string
    - std::vector<std::string>
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 10
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: wallet::feebumper::CheckMaxWeightComputation
    functionSourceFile: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp
    functionUses: 2
    functionsReached:
    - std::vector::end
    - VerifyScript
    - GetTransactionInputWeight
    - std::vector::begin
    - BOOST_CHECK
    - SignatureWeights::GetWeightDiffToMax
    - BOOST_CHECK_EQUAL
    - CTxIn::scriptWitness::stack::push_back
    - ParseHex
    linkageType: ''
    returnType: void
    signature: void CheckMaxWeightComputation(const std::string& script_str, const
      std::vector<std::string>& witness_str_stack, const std::string& prevout_script_str,
      int64_t expected_max_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:45,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:47,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:49,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 11
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: wallet::feebumper::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CheckMaxWeightComputation
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(external_max_weight_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:23,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:23,1
    - Dst: CTxIn::scriptWitness::stack::push_back
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:27,1
    - Dst: ParseHex
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:27,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:31,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:31,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:33,1
    - Dst: VerifyScript
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:36,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:37,1
    - Dst: SignatureWeights::GetWeightDiffToMax
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:38,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' script_str'
    - ' witness_str_stack'
    - ' prevout_script_str'
    - expected_max_weight
    argTypes:
    - std::string
    - std::vector<std::string>
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 10
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: wallet::feebumper::CheckMaxWeightComputation
    functionSourceFile: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp
    functionUses: 3
    functionsReached:
    - std::vector::end
    - VerifyScript
    - GetTransactionInputWeight
    - std::vector::begin
    - BOOST_CHECK
    - SignatureWeights::GetWeightDiffToMax
    - BOOST_CHECK_EQUAL
    - CTxIn::scriptWitness::stack::push_back
    - ParseHex
    linkageType: ''
    returnType: void
    signature: void CheckMaxWeightComputation(const std::string& script_str, const
      std::vector<std::string>& witness_str_stack, const std::string& prevout_script_str,
      int64_t expected_max_weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:45,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:47,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:49,1
    - Dst: wallet::feebumper::CheckMaxWeightComputation
      Src: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 11
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: wallet::feebumper::BOOST_AUTO_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/feebumper_tests.cpp
    functionUses: 0
    functionsReached:
    - wallet::feebumper::CheckMaxWeightComputation
    linkageType: ''
    returnType: void
    signature: void BOOST_AUTO_TEST_CASE(external_max_weight_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' descriptor'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: wallet::DummyDescriptor::DummyDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyDescriptor(const std::string& descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~DummyDescriptor()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - compat_format
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: wallet::DummyDescriptor::ToString
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(bool compat_format) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: wallet::DummyDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: wallet::DummyDescriptor::IsRange
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: wallet::DummyDescriptor::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: wallet::DummyDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' provider'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: wallet::DummyDescriptor::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& provider, std::string&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' provider'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: wallet::DummyDescriptor::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& provider, std::string&
      out, const DescriptorCache* cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - ' provider'
    - ' output_scripts'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - std::vector<CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: wallet::DummyDescriptor::Expand
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Expand(int pos, const SigningProvider& provider, std::vector<CScript>&
      output_scripts, FlatSigningProvider& out, DescriptorCache* write_cache = nullptr)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - ' read_cache'
    - ' output_scripts'
    - ' out'
    argTypes:
    - int
    - DescriptorCache
    - std::vector<CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: wallet::DummyDescriptor::ExpandFromCache
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExpandFromCache(int pos, const DescriptorCache& read_cache, std::vector<CScript>&
      output_scripts, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pos
    - ' provider'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: wallet::DummyDescriptor::ExpandPrivate
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExpandPrivate(int pos, const SigningProvider& provider, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: wallet::DummyDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: wallet::DummyDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: wallet::DummyDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' pubkeys'
    - ' ext_pubs'
    argTypes:
    - std::set<CPubKey>
    - std::set<CExtPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: wallet::DummyDescriptor::GetPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPubKeys(std::set<CPubKey>& pubkeys, std::set<CExtPubKey>& ext_pubs)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:42,1
    - Dst: std::make_shared<DummyDescriptor>
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:48,1
    - Dst: WalletBatch::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:48,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:49,1
    - Dst: WalletBatch::WriteActiveScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:49,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:49,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:49,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:54,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:54,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:55,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:55,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:61,1
    - Dst: std::make_shared<DummyDescriptor>
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:75,1
    - Dst: WalletBatch::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:75,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:80,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:80,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:81,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 84
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - std::make_shared<DummyDescriptor>
    - std::shared_ptr::LoadWallet
    - wallet::CreateMockableWalletDatabase
    - static_cast<uint8_t>
    - WalletBatch::WriteDescriptor
    - std::move
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - chain::get
    - WalletBatch::WriteActiveScriptPubKeyMan
    - CWallet::CWallet
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_load_descriptors, TestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' descriptor'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: wallet::DummyDescriptor::DummyDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyDescriptor(const std::string& descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~DummyDescriptor()
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - compat_format
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: wallet::DummyDescriptor::ToString
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(bool compat_format) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: wallet::DummyDescriptor::GetOutputType
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<OutputType>
    signature: std::optional<OutputType> GetOutputType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: wallet::DummyDescriptor::IsRange
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRange() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: wallet::DummyDescriptor::IsSolvable
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSolvable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: wallet::DummyDescriptor::IsSingleType
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSingleType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' provider'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: wallet::DummyDescriptor::ToPrivateString
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToPrivateString(const SigningProvider& provider, std::string&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' provider'
    - ' out'
    argTypes:
    - SigningProvider
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: wallet::DummyDescriptor::ToNormalizedString
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToNormalizedString(const SigningProvider& provider, std::string&
      out, const DescriptorCache* cache = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - ' provider'
    - ' output_scripts'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - std::vector<CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: wallet::DummyDescriptor::Expand
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Expand(int pos, const SigningProvider& provider, std::vector<CScript>&
      output_scripts, FlatSigningProvider& out, DescriptorCache* write_cache = nullptr)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - ' read_cache'
    - ' output_scripts'
    - ' out'
    argTypes:
    - int
    - DescriptorCache
    - std::vector<CScript>
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: wallet::DummyDescriptor::ExpandFromCache
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExpandFromCache(int pos, const DescriptorCache& read_cache, std::vector<CScript>&
      output_scripts, FlatSigningProvider& out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pos
    - ' provider'
    - ' out'
    argTypes:
    - int
    - SigningProvider
    - FlatSigningProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: wallet::DummyDescriptor::ExpandPrivate
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExpandPrivate(int pos, const SigningProvider& provider, FlatSigningProvider&
      out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: wallet::DummyDescriptor::ScriptSize
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> ScriptSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: wallet::DummyDescriptor::MaxSatisfactionWeight
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionWeight(bool) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: wallet::DummyDescriptor::MaxSatisfactionElems
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: std::optional<int64_t> MaxSatisfactionElems() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' pubkeys'
    - ' ext_pubs'
    argTypes:
    - std::set<CPubKey>
    - std::set<CExtPubKey>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: wallet::DummyDescriptor::GetPubKeys
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPubKeys(std::set<CPubKey>& pubkeys, std::set<CExtPubKey>& ext_pubs)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:42,1
    - Dst: std::make_shared<DummyDescriptor>
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:47,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:48,1
    - Dst: WalletBatch::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:48,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:48,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:49,1
    - Dst: WalletBatch::WriteActiveScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:49,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:49,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:49,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:54,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:54,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:54,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:55,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:55,1
    - Dst: wallet::CreateMockableWalletDatabase
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:61,1
    - Dst: std::make_shared<DummyDescriptor>
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:74,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:75,1
    - Dst: WalletBatch::WriteDescriptor
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:75,1
    - Dst: chain::get
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:80,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:80,1
    - Dst: CWallet::CWallet
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:80,1
    - Dst: BOOST_CHECK_EQUAL
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:81,1
    - Dst: std::shared_ptr::LoadWallet
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:81,1
    - Dst: BOOST_CHECK
      Src: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 84
    functionName: wallet::BOOST_FIXTURE_TEST_CASE
    functionSourceFile: /src/bitcoin-core/src/wallet/test/walletload_tests.cpp
    functionUses: 0
    functionsReached:
    - uint256
    - std::make_shared<DummyDescriptor>
    - std::shared_ptr::LoadWallet
    - wallet::CreateMockableWalletDatabase
    - static_cast<uint8_t>
    - WalletBatch::WriteDescriptor
    - std::move
    - BOOST_CHECK
    - BOOST_CHECK_EQUAL
    - chain::get
    - WalletBatch::WriteActiveScriptPubKeyMan
    - CWallet::CWallet
    linkageType: ''
    returnType: void
    signature: void BOOST_FIXTURE_TEST_CASE(wallet_load_descriptors, TestingSetup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp:21,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: wallet::initialize_setup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp:21,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: wallet::initialize_setup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp:21,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: wallet::initialize_setup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp:21,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: wallet::initialize_setup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/fees.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp:19,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: wallet::initialize_coincontrol
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_coincontrol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp:19,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: wallet::initialize_coincontrol
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_coincontrol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp:19,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: wallet::initialize_coincontrol
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_coincontrol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp:19,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: wallet::initialize_coincontrol
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coincontrol.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_coincontrol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:22,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:23,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:26,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:26,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:26,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' value'
    - n_input
    - n_input_bytes
    - locktime
    - ' coins'
    - fee_rate
    argTypes:
    - CAmount
    - int
    - int
    - int
    - std::vector<COutput>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: wallet::AddCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - CMutableTransaction::vout::resize
    - CMutableTransaction::vout::at
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - CMutableTransaction::GetHash
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void AddCoin(const CAmount& value, int n_input, int n_input_bytes,
      int locktime, std::vector<COutput>& coins, CFeeRate fee_rate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::OutputGroup
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:32,1
    - Dst: wallet::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:35,1
    - Dst: auto::Insert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:36,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:36,1
    - Dst: auto::GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:40,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:41,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:42,1
    - Dst: wallet::OutputGroup
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:43,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:47,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - ' fuzzed_data_provider'
    - ' coins'
    - ' coin_params'
    - positive_only
    - ' output_groups'
    argTypes:
    - FuzzedDataProvider
    - std::vector<COutput>
    - CoinSelectionParams
    - bool
    - std::vector<OutputGroup>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: wallet::GroupCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 4
    functionsReached:
    - auto::GetSelectionAmount
    - ConsumeBool
    - push_back
    - std::make_shared<COutput>
    - auto::Insert
    - wallet::GetEffectiveValue
    - wallet::OutputGroup
    linkageType: ''
    returnType: void
    signature: void GroupCoins(FuzzedDataProvider& fuzzed_data_provider, const std::vector<COutput>&
      coins, const CoinSelectionParams& coin_params, bool positive_only, std::vector<OutputGroup>&
      output_groups)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:53,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:53,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:55,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:56,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:57,1
    - Dst: wallet::AddCoin
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' fuzzed_data_provider'
    - ' utxo_pool'
    - ' coin_params'
    - ' next_locktime'
    argTypes:
    - FuzzedDataProvider
    - std::vector<COutput>
    - CoinSelectionParams
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: wallet::CreateCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - ConsumeBool
    - wallet::AddCoin
    - LIMITED_WHILE
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount CreateCoins(FuzzedDataProvider& fuzzed_data_provider, std::vector<COutput>&
      utxo_pool, CoinSelectionParams& coin_params, int& next_locktime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:73,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:73,1
    - Dst: SelectionResult::AddInputs
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' utxos'
    - ' total_amount'
    - ' subtract_fee_outputs'
    argTypes:
    - std::vector<COutput>
    - CAmount
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 8
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: wallet::ManualSelection
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - SelectionResult::AddInputs
    - std::make_shared<COutput>
    linkageType: ''
    returnType: SelectionResult
    signature: SelectionResult ManualSelection(std::vector<COutput>& utxos, const
      CAmount& total_amount, const bool& subtract_fee_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - util::Result<SelectionResult>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: wallet::HasErrorMsg
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 6
    functionsReached:
    - util::ErrorString
    linkageType: ''
    returnType: bool
    signature: bool HasErrorMsg(const util::Result<SelectionResult>& res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:84,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:84,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:87,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:89,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:91,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:92,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:93,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:94,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:95,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:96,1
    - Dst: CoinSelectionParams::m_long_term_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:96,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:97,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:105,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:105,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:107,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:108,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:109,1
    - Dst: wallet::AddCoin
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:113,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:115,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:120,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:123,1
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:124,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:125,1
    - Dst: auto::GetAlgoCompleted
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:126,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:128,1
    - Dst: auto::GetChange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:129,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:130,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:130,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:130,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:133,1
    - Dst: auto::GetChange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:134,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:135,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:135,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (result_cg)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_knapsack->GetWeight() >= result_cg->GetWeight())
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_srd->GetWeight() >= result_cg->GetWeight())
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 137
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 137
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - ConsumeUInt256
    - wallet::CoinGrinder
    - CoinSelectionParams::m_long_term_feerate::GetFee
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - wallet::AddCoin
    - CoinSelectionParams::m_effective_feerate::GetFee
    - wallet::GroupCoins
    - wallet::HasErrorMsg
    - LIMITED_WHILE
    - wallet::SelectCoinsSRD
    - auto::GetAlgoCompleted
    - ConsumeMoney
    - assert
    - wallet::KnapsackSolver
    - size
    - auto::GetWeight
    - auto::GetChange
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coin_grinder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:141,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:141,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:143,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:147,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:148,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:155,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:155,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:158,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:160,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:162,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:162,1
    - Dst: wallet::AddCoin
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:166,1
    - Dst: wallet::OutputGroup
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:169,1
    - Dst: auto::Insert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:170,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:170,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:170,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:171,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:173,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:174,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:177,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:177,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:181,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:187,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:197,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:199,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:199,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:201,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:202,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:203,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:203,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:204,1
    - Dst: auto::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:204,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:205,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:205,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:205,1
    - Dst: auto::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:205,1
    - Dst: auto::GetAlgoCompleted
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:206,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:208,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:208,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:209,1
    - Dst: auto::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:209,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:214,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:215,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (result_cg)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (best_weight == result_cg->GetWeight())
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (num_groups <= max_output_groups)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (best_weight < result_cg->GetWeight() || (best_weight == result_cg->GetWeight()
        && best_amount <= result_cg->GetSelectedEffectiveValue()))
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_cg->GetWeight() <= high_max_selection_weight)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_cg->GetSelectedEffectiveValue() >= target + coin_params.m_min_change_target)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (!result_cg)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (best_amount == result_cg->GetSelectedEffectiveValue())
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 218
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 218
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - ConsumeUInt256
    - GetSelectionAmount
    - wallet::CoinGrinder
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - wallet::AddCoin
    - std::vector::push_back
    - CoinSelectionParams::m_effective_feerate::GetFee
    - auto::GetSelectedEffectiveValue
    - LIMITED_WHILE
    - wallet::OutputGroup
    - std::vector::size
    - std::make_shared<COutput>
    - auto::Insert
    - auto::GetAlgoCompleted
    - ConsumeMoney
    - assert
    - RandomMixin::max
    - std::vector::at
    - size
    - auto::GetWeight
    - std::max
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coin_grinder_is_optimal)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:228,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:229,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:229,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:232,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:233,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:235,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:236,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:237,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:239,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:244,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:245,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:247,1
    - Dst: CoinSelectionParams::m_discard_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:248,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:250,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:250,1
    - Dst: GetDustThreshold
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:251,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:252,1
    - Dst: wallet::CreateCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:255,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:258,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:260,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:260,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:266,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:269,1
    - Dst: auto::GetChange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:269,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:270,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:270,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:271,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:271,1
    - Dst: auto::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:272,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:273,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:279,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:282,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:282,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:283,1
    - Dst: auto::GetChange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:283,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:284,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:284,1
    - Dst: auto::SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:285,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:285,1
    - Dst: auto::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:286,1
    - Dst: auto::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:287,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:288,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:294,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:297,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:297,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:297,1
    - Dst: EligibleForSpending
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:298,1
    - Dst: wallet::GenerateChangeTarget
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:301,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:302,1
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:305,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:306,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:310,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:310,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:311,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:311,1
    - Dst: auto::SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:312,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:312,1
    - Dst: auto::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:313,1
    - Dst: auto::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:314,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:315,1
    - Dst: wallet::CreateCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:320,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:324,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:324,1
    - Dst: std::optional::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:327,1
    - Dst: std::optional::AddInputs
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:328,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:329,1
    - Dst: std::optional::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:329,1
    - Dst: wallet::CreateCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:334,1
    - Dst: wallet::ManualSelection
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:336,1
    - Dst: std::optional::GetTarget
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:338,1
    - Dst: std::optional::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:339,1
    - Dst: std::optional::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:340,1
    - Dst: std::optional::Merge
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:341,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:342,1
    - Dst: std::optional::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:342,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:342,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:342,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:343,1
    - Dst: std::optional::GetTarget
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:343,1
    - Dst: auto::GetTarget
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:343,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:344,1
    - Dst: std::optional::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:344,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:344,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    assertStmts:
    - condition: (result->GetWeight() == old_weight + manual_selection.GetWeight())
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_bnb->GetSelectedValue() >= target)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_srd->GetWeight() <= max_selection_weight)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result->GetInputSet().size() == input_set.size() + manual_inputs.size())
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_knapsack->GetSelectedValue() >= target)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_knapsack)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result->GetTarget() == old_target + manual_selection.GetTarget())
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result->GetWeight() > weight)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_knapsack->GetWeight() <= max_selection_weight)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_bnb->GetChange(coin_params.min_viable_change, coin_params.m_change_fee)
        == 0)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_bnb->GetWeight() <= max_selection_weight)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_srd->GetSelectedValue() >= target)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_srd->GetChange(CHANGE_LOWER, coin_params.m_change_fee) >
        0)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 346
      start: 227
    functionDepth: 9
    functionLinenumber: 227
    functionLinenumberEnd: 346
    functionName: wallet::FuzzCoinSelectionAlgorithm
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - EligibleForSpending
    - ConsumeUInt256
    - wallet::ManualSelection
    - CoinSelectionParams::m_discard_feerate::GetFee
    - std::optional::GetWeight
    - FuzzedDataProvider::ConsumeBool
    - wallet::SelectCoinsBnB
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeIntegralInRange
    - std::set::insert
    - auto::GetShuffledInputVector
    - std::span<const uint8_t>::size
    - std::optional::Merge
    - GetDustThreshold
    - wallet::GroupCoins
    - auto::SetBumpFeeDiscount
    - std::span<const uint8_t>::data
    - std::optional::AddInputs
    - wallet::HasErrorMsg
    - SeedRandomStateForTest
    - CFeeRate::GetFee
    - auto::RecalculateWaste
    - std::vector::size
    - std::vector<unsigned char>
    - wallet::CreateCoins
    - auto::GetSelectedValue
    - std::make_shared<COutput>
    - wallet::SelectCoinsSRD
    - ConsumeMoney
    - assert
    - RandomMixin::max
    - std::optional::GetInputSet
    - std::optional::GetTarget
    - wallet::KnapsackSolver
    - auto::GetWeight
    - std::max
    - auto::GetTarget
    - CScript
    - auto::GetInputSet
    - wallet::GenerateChangeTarget
    - auto::GetChange
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void FuzzCoinSelectionAlgorithm(std::span<const uint8_t> buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::FuzzCoinSelectionAlgorithm
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 10
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - wallet::FuzzCoinSelectionAlgorithm
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coinselection_bnb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::FuzzCoinSelectionAlgorithm
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 10
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - wallet::FuzzCoinSelectionAlgorithm
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coinselection_srd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::FuzzCoinSelectionAlgorithm
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 10
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - wallet::FuzzCoinSelectionAlgorithm
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coinselection_knapsack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:22,1
    - Dst: CMutableTransaction::vout::resize
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:23,1
    - Dst: emplace_back
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:26,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:26,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:26,1
    - Dst: CMutableTransaction::vout::at
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' value'
    - n_input
    - n_input_bytes
    - locktime
    - ' coins'
    - fee_rate
    argTypes:
    - CAmount
    - int
    - int
    - int
    - std::vector<COutput>
    - CFeeRate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: wallet::AddCoin
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 3
    functionsReached:
    - CMutableTransaction::vout::resize
    - CMutableTransaction::vout::at
    - CMutableTransaction::CMutableTransaction
    - COutPoint
    - CMutableTransaction::GetHash
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void AddCoin(const CAmount& value, int n_input, int n_input_bytes,
      int locktime, std::vector<COutput>& coins, CFeeRate fee_rate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::OutputGroup
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:32,1
    - Dst: wallet::GetEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:35,1
    - Dst: auto::Insert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:36,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:36,1
    - Dst: auto::GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:40,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:41,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:42,1
    - Dst: wallet::OutputGroup
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:43,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:47,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - ' fuzzed_data_provider'
    - ' coins'
    - ' coin_params'
    - positive_only
    - ' output_groups'
    argTypes:
    - FuzzedDataProvider
    - std::vector<COutput>
    - CoinSelectionParams
    - bool
    - std::vector<OutputGroup>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: wallet::GroupCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 6
    functionsReached:
    - auto::GetSelectionAmount
    - ConsumeBool
    - push_back
    - std::make_shared<COutput>
    - auto::Insert
    - wallet::GetEffectiveValue
    - wallet::OutputGroup
    linkageType: ''
    returnType: void
    signature: void GroupCoins(FuzzedDataProvider& fuzzed_data_provider, const std::vector<COutput>&
      coins, const CoinSelectionParams& coin_params, bool positive_only, std::vector<OutputGroup>&
      output_groups)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:53,1
    - Dst: ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:53,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:55,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:56,1
    - Dst: ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:57,1
    - Dst: wallet::AddCoin
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' fuzzed_data_provider'
    - ' utxo_pool'
    - ' coin_params'
    - ' next_locktime'
    argTypes:
    - FuzzedDataProvider
    - std::vector<COutput>
    - CoinSelectionParams
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: wallet::CreateCoins
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 1
    functionsReached:
    - ConsumeBool
    - wallet::AddCoin
    - LIMITED_WHILE
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: CAmount
    signature: CAmount CreateCoins(FuzzedDataProvider& fuzzed_data_provider, std::vector<COutput>&
      utxo_pool, CoinSelectionParams& coin_params, int& next_locktime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:73,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:73,1
    - Dst: SelectionResult::AddInputs
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' utxos'
    - ' total_amount'
    - ' subtract_fee_outputs'
    argTypes:
    - std::vector<COutput>
    - CAmount
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 8
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: wallet::ManualSelection
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 1
    functionsReached:
    - std::set::insert
    - SelectionResult::AddInputs
    - std::make_shared<COutput>
    linkageType: ''
    returnType: SelectionResult
    signature: SelectionResult ManualSelection(std::vector<COutput>& utxos, const
      CAmount& total_amount, const bool& subtract_fee_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - util::Result<SelectionResult>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: wallet::HasErrorMsg
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 8
    functionsReached:
    - util::ErrorString
    linkageType: ''
    returnType: bool
    signature: bool HasErrorMsg(const util::Result<SelectionResult>& res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:84,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:84,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:87,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:89,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:91,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:92,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:93,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:94,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:95,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:96,1
    - Dst: CoinSelectionParams::m_long_term_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:96,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:97,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:105,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:105,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:107,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:108,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:109,1
    - Dst: wallet::AddCoin
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:113,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:115,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:120,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:123,1
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:124,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:125,1
    - Dst: auto::GetAlgoCompleted
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:126,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:128,1
    - Dst: auto::GetChange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:129,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:130,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:130,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:130,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:133,1
    - Dst: auto::GetChange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:134,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:135,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:135,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (result_cg)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_knapsack->GetWeight() >= result_cg->GetWeight())
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_srd->GetWeight() >= result_cg->GetWeight())
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 137
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 137
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - ConsumeUInt256
    - wallet::CoinGrinder
    - CoinSelectionParams::m_long_term_feerate::GetFee
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - wallet::AddCoin
    - CoinSelectionParams::m_effective_feerate::GetFee
    - wallet::GroupCoins
    - wallet::HasErrorMsg
    - LIMITED_WHILE
    - wallet::SelectCoinsSRD
    - auto::GetAlgoCompleted
    - ConsumeMoney
    - assert
    - wallet::KnapsackSolver
    - size
    - auto::GetWeight
    - auto::GetChange
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coin_grinder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:141,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:141,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:143,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:147,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:148,1
    - Dst: LIMITED_WHILE
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:155,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:155,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:158,1
    - Dst: CoinSelectionParams::m_effective_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:160,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:162,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:162,1
    - Dst: wallet::AddCoin
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:166,1
    - Dst: wallet::OutputGroup
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:169,1
    - Dst: auto::Insert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:170,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:170,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:170,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:171,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:173,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:174,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:177,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:177,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:181,1
    - Dst: GetSelectionAmount
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:187,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:197,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:199,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:199,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:201,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:202,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:203,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:203,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:204,1
    - Dst: auto::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:204,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:205,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:205,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:205,1
    - Dst: auto::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:205,1
    - Dst: auto::GetAlgoCompleted
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:206,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:208,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:208,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:209,1
    - Dst: auto::GetSelectedEffectiveValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:209,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:214,1
    - Dst: wallet::CoinGrinder
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:215,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (result_cg)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (best_weight == result_cg->GetWeight())
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (num_groups <= max_output_groups)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (best_weight < result_cg->GetWeight() || (best_weight == result_cg->GetWeight()
        && best_amount <= result_cg->GetSelectedEffectiveValue()))
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_cg->GetWeight() <= high_max_selection_weight)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_cg->GetSelectedEffectiveValue() >= target + coin_params.m_min_change_target)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (!result_cg)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (best_amount == result_cg->GetSelectedEffectiveValue())
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 218
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 218
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - ConsumeUInt256
    - GetSelectionAmount
    - wallet::CoinGrinder
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegralInRange
    - data
    - wallet::AddCoin
    - std::vector::push_back
    - CoinSelectionParams::m_effective_feerate::GetFee
    - auto::GetSelectedEffectiveValue
    - LIMITED_WHILE
    - wallet::OutputGroup
    - std::vector::size
    - std::make_shared<COutput>
    - auto::Insert
    - auto::GetAlgoCompleted
    - ConsumeMoney
    - assert
    - RandomMixin::max
    - std::vector::at
    - size
    - auto::GetWeight
    - std::max
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coin_grinder_is_optimal)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SeedRandomStateForTest
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:228,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:229,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:229,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:232,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:233,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:235,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:236,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:237,1
    - Dst: ConsumeUInt256
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:239,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:244,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:245,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:247,1
    - Dst: CoinSelectionParams::m_discard_feerate::GetFee
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:248,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:250,1
    - Dst: std::vector<unsigned char>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:250,1
    - Dst: GetDustThreshold
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:251,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:252,1
    - Dst: wallet::CreateCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:255,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:258,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:260,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:260,1
    - Dst: wallet::SelectCoinsBnB
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:266,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:269,1
    - Dst: auto::GetChange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:269,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:270,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:270,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:271,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:271,1
    - Dst: auto::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:272,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:273,1
    - Dst: wallet::SelectCoinsSRD
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:279,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:282,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:282,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:283,1
    - Dst: auto::GetChange
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:283,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:284,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:284,1
    - Dst: auto::SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:285,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:285,1
    - Dst: auto::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:286,1
    - Dst: auto::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:287,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:288,1
    - Dst: wallet::GroupCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:294,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:297,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:297,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:297,1
    - Dst: EligibleForSpending
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:298,1
    - Dst: wallet::GenerateChangeTarget
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:301,1
    - Dst: wallet::KnapsackSolver
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:302,1
    - Dst: wallet::HasErrorMsg
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:305,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:306,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:310,1
    - Dst: auto::GetSelectedValue
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:310,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:311,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:311,1
    - Dst: auto::SetBumpFeeDiscount
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:312,1
    - Dst: ConsumeMoney
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:312,1
    - Dst: auto::RecalculateWaste
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:313,1
    - Dst: auto::GetShuffledInputVector
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:314,1
    - Dst: auto::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:315,1
    - Dst: wallet::CreateCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:320,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:324,1
    - Dst: std::make_shared<COutput>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:324,1
    - Dst: std::optional::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:327,1
    - Dst: std::optional::AddInputs
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:328,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:329,1
    - Dst: std::optional::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:329,1
    - Dst: wallet::CreateCoins
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:334,1
    - Dst: wallet::ManualSelection
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:336,1
    - Dst: std::optional::GetTarget
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:338,1
    - Dst: std::optional::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:339,1
    - Dst: std::optional::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:340,1
    - Dst: std::optional::Merge
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:341,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:342,1
    - Dst: std::optional::GetInputSet
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:342,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:342,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:342,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:343,1
    - Dst: std::optional::GetTarget
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:343,1
    - Dst: auto::GetTarget
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:343,1
    - Dst: assert
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:344,1
    - Dst: std::optional::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:344,1
    - Dst: auto::GetWeight
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:344,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    assertStmts:
    - condition: (result->GetWeight() == old_weight + manual_selection.GetWeight())
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_bnb->GetSelectedValue() >= target)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_srd->GetWeight() <= max_selection_weight)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result->GetInputSet().size() == input_set.size() + manual_inputs.size())
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_knapsack->GetSelectedValue() >= target)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_knapsack)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result->GetTarget() == old_target + manual_selection.GetTarget())
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result->GetWeight() > weight)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_knapsack->GetWeight() <= max_selection_weight)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_bnb->GetChange(coin_params.min_viable_change, coin_params.m_change_fee)
        == 0)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_bnb->GetWeight() <= max_selection_weight)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_srd->GetSelectedValue() >= target)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    - condition: (result_srd->GetChange(CHANGE_LOWER, coin_params.m_change_fee) >
        0)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    constantsTouched: []
    func_position:
      end: 346
      start: 227
    functionDepth: 9
    functionLinenumber: 227
    functionLinenumberEnd: 346
    functionName: wallet::FuzzCoinSelectionAlgorithm
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 3
    functionsReached:
    - EligibleForSpending
    - ConsumeUInt256
    - wallet::ManualSelection
    - CoinSelectionParams::m_discard_feerate::GetFee
    - std::optional::GetWeight
    - FuzzedDataProvider::ConsumeBool
    - wallet::SelectCoinsBnB
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeIntegralInRange
    - std::set::insert
    - auto::GetShuffledInputVector
    - std::span<const uint8_t>::size
    - std::optional::Merge
    - GetDustThreshold
    - wallet::GroupCoins
    - auto::SetBumpFeeDiscount
    - std::span<const uint8_t>::data
    - std::optional::AddInputs
    - wallet::HasErrorMsg
    - SeedRandomStateForTest
    - CFeeRate::GetFee
    - auto::RecalculateWaste
    - std::vector::size
    - std::vector<unsigned char>
    - wallet::CreateCoins
    - auto::GetSelectedValue
    - std::make_shared<COutput>
    - wallet::SelectCoinsSRD
    - ConsumeMoney
    - assert
    - RandomMixin::max
    - std::optional::GetInputSet
    - std::optional::GetTarget
    - wallet::KnapsackSolver
    - auto::GetWeight
    - std::max
    - auto::GetTarget
    - CScript
    - auto::GetInputSet
    - wallet::GenerateChangeTarget
    - auto::GetChange
    - std::set::size
    linkageType: ''
    returnType: void
    signature: void FuzzCoinSelectionAlgorithm(std::span<const uint8_t> buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::FuzzCoinSelectionAlgorithm
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 10
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - wallet::FuzzCoinSelectionAlgorithm
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coinselection_bnb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::FuzzCoinSelectionAlgorithm
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 10
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - wallet::FuzzCoinSelectionAlgorithm
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coinselection_srd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::FuzzCoinSelectionAlgorithm
      Src: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 10
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: wallet::FUZZ_TARGET
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/coinselection.cpp
    functionUses: 0
    functionsReached:
    - wallet::FuzzCoinSelectionAlgorithm
    linkageType: ''
    returnType: void
    signature: void FUZZ_TARGET(coinselection_knapsack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:47,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:48,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:49,1
    - Dst: Init
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: wallet::initialize_spkm
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    - SelectParams
    - Init
    linkageType: ''
    returnType: void
    signature: void initialize_spkm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: HasDeepDerivPath
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: wallet::TooDeepDerivPath
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - HasDeepDerivPath
    - std::string_view::size
    - std::string_view::data
    - reinterpret_cast<const unsigned char *>
    linkageType: ''
    returnType: bool
    signature: bool TooDeepDerivPath(std::string_view desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:66,1
    - Dst: wallet::TooDeepDerivPath
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:67,1
    - Dst: wallet::GetDescriptor
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:68,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:69,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:73,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:73,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:74,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:76,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:76,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 8
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: wallet::CreateWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - std::vector::at
    - std::make_pair
    - auto::has_value
    - wallet::TooDeepDerivPath
    - wallet::GetDescriptor
    - Parse
    - std::move
    - ConsumeRandomLengthString
    - std::vector::empty
    linkageType: ''
    returnType: std::optional<std::pair<WalletDescriptor, FlatSigningProvider>>
    signature: std::optional<std::pair<WalletDescriptor, FlatSigningProvider>> CreateWalletDescriptor(FuzzedDataProvider&
      fuzzed_data_provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:82,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:83,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' wallet_desc'
    - ' keys'
    - ' keystore'
    argTypes:
    - WalletDescriptor
    - FlatSigningProvider
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: wallet::CreateDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 4
    functionsReached:
    - auto::value
    - LOCK
    - AddWalletDescriptor
    linkageType: ''
    returnType: DescriptorScriptPubKeyMan
    signature: DescriptorScriptPubKeyMan * CreateDescriptor(WalletDescriptor& wallet_desc,
      FlatSigningProvider& keys, CWallet& keystore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:47,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:48,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:49,1
    - Dst: Init
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: wallet::initialize_spkm
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    - SelectParams
    - Init
    linkageType: ''
    returnType: void
    signature: void initialize_spkm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: HasDeepDerivPath
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: wallet::TooDeepDerivPath
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 1
    functionsReached:
    - HasDeepDerivPath
    - std::string_view::size
    - std::string_view::data
    - reinterpret_cast<const unsigned char *>
    linkageType: ''
    returnType: bool
    signature: bool TooDeepDerivPath(std::string_view desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:66,1
    - Dst: wallet::TooDeepDerivPath
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:67,1
    - Dst: wallet::GetDescriptor
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:68,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:69,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:73,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:73,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:74,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:76,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:76,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 8
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: wallet::CreateWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - std::vector::at
    - std::make_pair
    - auto::has_value
    - wallet::TooDeepDerivPath
    - wallet::GetDescriptor
    - Parse
    - std::move
    - ConsumeRandomLengthString
    - std::vector::empty
    linkageType: ''
    returnType: std::optional<std::pair<WalletDescriptor, FlatSigningProvider>>
    signature: std::optional<std::pair<WalletDescriptor, FlatSigningProvider>> CreateWalletDescriptor(FuzzedDataProvider&
      fuzzed_data_provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:82,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:83,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' wallet_desc'
    - ' keys'
    - ' keystore'
    argTypes:
    - WalletDescriptor
    - FlatSigningProvider
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: wallet::CreateDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 4
    functionsReached:
    - auto::value
    - LOCK
    - AddWalletDescriptor
    linkageType: ''
    returnType: DescriptorScriptPubKeyMan
    signature: DescriptorScriptPubKeyMan * CreateDescriptor(WalletDescriptor& wallet_desc,
      FlatSigningProvider& keys, CWallet& keystore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:47,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:48,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:49,1
    - Dst: Init
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: wallet::initialize_spkm
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    - SelectParams
    - Init
    linkageType: ''
    returnType: void
    signature: void initialize_spkm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: HasDeepDerivPath
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: wallet::TooDeepDerivPath
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 2
    functionsReached:
    - HasDeepDerivPath
    - std::string_view::size
    - std::string_view::data
    - reinterpret_cast<const unsigned char *>
    linkageType: ''
    returnType: bool
    signature: bool TooDeepDerivPath(std::string_view desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:66,1
    - Dst: wallet::TooDeepDerivPath
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:67,1
    - Dst: wallet::GetDescriptor
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:68,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:69,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:73,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:73,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:74,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:76,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:76,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 8
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: wallet::CreateWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - std::vector::at
    - std::make_pair
    - auto::has_value
    - wallet::TooDeepDerivPath
    - wallet::GetDescriptor
    - Parse
    - std::move
    - ConsumeRandomLengthString
    - std::vector::empty
    linkageType: ''
    returnType: std::optional<std::pair<WalletDescriptor, FlatSigningProvider>>
    signature: std::optional<std::pair<WalletDescriptor, FlatSigningProvider>> CreateWalletDescriptor(FuzzedDataProvider&
      fuzzed_data_provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:82,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:83,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' wallet_desc'
    - ' keys'
    - ' keystore'
    argTypes:
    - WalletDescriptor
    - FlatSigningProvider
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: wallet::CreateDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 4
    functionsReached:
    - auto::value
    - LOCK
    - AddWalletDescriptor
    linkageType: ''
    returnType: DescriptorScriptPubKeyMan
    signature: DescriptorScriptPubKeyMan * CreateDescriptor(WalletDescriptor& wallet_desc,
      FlatSigningProvider& keys, CWallet& keystore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:47,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:48,1
    - Dst: SelectParams
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:49,1
    - Dst: Init
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: wallet::initialize_spkm
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    - SelectParams
    - Init
    linkageType: ''
    returnType: void
    signature: void initialize_spkm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: std::string_view::data
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: std::string_view::size
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:60,1
    - Dst: HasDeepDerivPath
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: wallet::TooDeepDerivPath
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 3
    functionsReached:
    - HasDeepDerivPath
    - std::string_view::size
    - std::string_view::data
    - reinterpret_cast<const unsigned char *>
    linkageType: ''
    returnType: bool
    signature: bool TooDeepDerivPath(std::string_view desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:66,1
    - Dst: wallet::TooDeepDerivPath
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:67,1
    - Dst: wallet::GetDescriptor
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:68,1
    - Dst: auto::has_value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:69,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:73,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:73,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:74,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:76,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:76,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' fuzzed_data_provider'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 8
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: wallet::CreateWalletDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - std::vector::at
    - std::make_pair
    - auto::has_value
    - wallet::TooDeepDerivPath
    - wallet::GetDescriptor
    - Parse
    - std::move
    - ConsumeRandomLengthString
    - std::vector::empty
    linkageType: ''
    returnType: std::optional<std::pair<WalletDescriptor, FlatSigningProvider>>
    signature: std::optional<std::pair<WalletDescriptor, FlatSigningProvider>> CreateWalletDescriptor(FuzzedDataProvider&
      fuzzed_data_provider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:82,1
    - Dst: AddWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:83,1
    - Dst: auto::value
      Src: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' wallet_desc'
    - ' keys'
    - ' keystore'
    argTypes:
    - WalletDescriptor
    - FlatSigningProvider
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: wallet::CreateDescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/scriptpubkeyman.cpp
    functionUses: 4
    functionsReached:
    - auto::value
    - LOCK
    - AddWalletDescriptor
    linkageType: ''
    returnType: DescriptorScriptPubKeyMan
    signature: DescriptorScriptPubKeyMan * CreateDescriptor(WalletDescriptor& wallet_desc,
      FlatSigningProvider& keys, CWallet& keystore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp:17,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: wallet::initialize_crypter
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_crypter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp:17,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: wallet::initialize_crypter
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_crypter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp:17,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: wallet::initialize_crypter
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_crypter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp:17,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: wallet::initialize_crypter
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/crypter.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_crypter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp:28,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: wallet::initialize_setup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp:28,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: wallet::initialize_setup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp:28,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: wallet::initialize_setup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp:28,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: wallet::initialize_setup
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/spend.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeNoLogFileContext
      Src: /src/bitcoin-core/src/wallet/test/fuzz/wallet_bdb_parser.cpp:28,1
    - Dst: auto::get
      Src: /src/bitcoin-core/src/wallet/test/fuzz/wallet_bdb_parser.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: initialize_wallet_bdb_parser
    functionSourceFile: /src/bitcoin-core/src/wallet/test/fuzz/wallet_bdb_parser.cpp
    functionUses: 0
    functionsReached:
    - MakeNoLogFileContext
    - auto::get
    linkageType: ''
    returnType: void
    signature: void initialize_wallet_bdb_parser()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:29,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:31,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:33,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:35,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:39,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:42,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:44,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:46,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:47,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:49,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:50,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:51,1
    - Dst: std::get_if<PKHash>
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:54,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:56,1
    - Dst: std::shared_ptr::SignMessage
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:60,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:62,1
    - Dst: SigningResultString
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:62,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:64,1
    - Dst: SigningResultString
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:64,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 70
    functionName: wallet::signmessage
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::SignMessage
    - IsValidDestination
    - HelpExampleCli
    - DecodeDestination
    - std::get_if<PKHash>
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - SigningResultString
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan signmessage()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:29,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:31,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:33,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:35,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:39,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:42,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:44,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:46,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:47,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:49,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:50,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:51,1
    - Dst: std::get_if<PKHash>
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:54,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:56,1
    - Dst: std::shared_ptr::SignMessage
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:60,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:62,1
    - Dst: SigningResultString
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:62,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:64,1
    - Dst: SigningResultString
      Src: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp:64,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 70
    functionName: wallet::signmessage
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/signmessage.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::SignMessage
    - IsValidDestination
    - HelpExampleCli
    - DecodeDestination
    - std::get_if<PKHash>
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - SigningResultString
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan signmessage()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:69,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:70,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:74,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:79,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:81,1
    - Dst: std::shared_ptr::KeypoolCountExternalKeys
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:85,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:86,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:86,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:87,1
    - Dst: std::shared_ptr::GetVersion
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:87,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:88,1
    - Dst: std::shared_ptr::GetDatabase
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:88,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:89,1
    - Dst: std::shared_ptr::mapWallet::size
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:89,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:90,1
    - Dst: std::shared_ptr::CanSupportFeature
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:92,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:93,1
    - Dst: std::shared_ptr::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:93,1
    - Dst: std::shared_ptr::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:95,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:96,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:98,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:98,1
    - Dst: std::shared_ptr::m_pay_tx_fee::GetFeePerK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:98,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:99,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:99,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:100,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:100,1
    - Dst: std::shared_ptr::IsScanning
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:101,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:103,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:103,1
    - Dst: std::shared_ptr::ScanningDuration
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:103,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:104,1
    - Dst: std::shared_ptr::ScanningProgress
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:104,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:105,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:105,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:107,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:109,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:109,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:110,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:110,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:111,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:111,1
    - Dst: std::shared_ptr::GetBirthTime
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:112,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:113,1
    - Dst: std::shared_ptr::GetWalletFlags
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:118,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:123,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:123,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:125,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:129,1
    - Dst: wallet::AppendLastProcessedBlock
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 135
    functionName: wallet::getwalletinfo
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::m_pay_tx_fee::GetFeePerK
    - std::shared_ptr::GetVersion
    - at
    - std::move
    - std::shared_ptr::GetName
    - std::shared_ptr::GetDatabase
    - HelpExampleCli
    - std::shared_ptr::IsWalletFlagSet
    - UniValue::push_back
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - std::shared_ptr::IsScanning
    - ValueFromAmount
    - std::shared_ptr::GetBirthTime
    - wallet::AppendLastProcessedBlock
    - HelpExampleRpc
    - std::shared_ptr::GetKeyPoolSize
    - UniValue::pushKV
    - strprintf
    - std::shared_ptr::IsCrypted
    - std::shared_ptr::ScanningDuration
    - std::shared_ptr::mapWallet::size
    - Ticks
    - std::shared_ptr::KeypoolCountExternalKeys
    - std::shared_ptr::GetWalletFlags
    - std::shared_ptr::CanSupportFeature
    - LOCK
    - std::shared_ptr::ScanningProgress
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getwalletinfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:159,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:160,1
    - Dst: wallet::ListDatabases
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:165,1
    - Dst: wallet::GetWalletDir
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:165,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:167,1
    - Dst: utf8string
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:167,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:170,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:172,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:173,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:173,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:177,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 181
    functionName: wallet::listwalletdir
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - utf8string
    - HelpExampleCli
    - wallet::GetWalletDir
    - UniValue::push_back
    - wallet::ListDatabases
    - HelpExampleRpc
    - std::move
    - UniValue::pushKV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listwalletdir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:196,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:197,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:203,1
    - Dst: wallet::GetWallets
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:204,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:205,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:206,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 212
    functionName: wallet::listwallets
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - UniValue::push_back
    - HelpExampleRpc
    - GetName
    - LOCK
    - wallet::EnsureWalletContext
    - wallet::GetWallets
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listwallets()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:237,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:238,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:240,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:241,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:243,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:244,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:248,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:249,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:253,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:257,1
    - Dst: std::optional<bool>
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:257,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:257,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:260,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:261,1
    - Dst: wallets::begin
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:261,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:261,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:261,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:262,1
    - Dst: wallet::LoadWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:266,1
    - Dst: wallet::HandleWalletError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:268,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:271,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:271,1
    - Dst: PushWarnings
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 277
    functionName: wallet::loadwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallets::begin
    - PushWarnings
    - std::shared_ptr::GetName
    - GetName
    - wallet::HandleWalletError
    - HelpExampleCli
    - wallet::LoadWallet
    - wallet::ReadDatabaseArgs
    - wallet::EnsureWalletContext
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - get_bool
    - get_str
    - std::optional<bool>
    - wallets::end
    - std::any_of
    - LOCK
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan loadwallet()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:302,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:303,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:307,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:310,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:311,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:311,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:313,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:314,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:314,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:317,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:320,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:320,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:325,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:326,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:326,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:329,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:330,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:333,1
    - Dst: std::shared_ptr::UnsetWalletFlag
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:335,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:338,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:339,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:339,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 345
    functionName: wallet::setwalletflag
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - std::shared_ptr::IsWalletFlagSet
    - std::shared_ptr::SetWalletFlag
    - at
    - HelpExampleRpc
    - get_bool
    - JSONRPCError
    - isNull
    - std::shared_ptr::UnsetWalletFlag
    - UniValue::pushKV
    - strprintf
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    - count
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan setwalletflag()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:373,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:374,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:375,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:376,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:380,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:382,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:382,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:386,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:386,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:390,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:392,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:393,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:394,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:396,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:396,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:400,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:400,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:404,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:405,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:407,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:407,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:411,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:417,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:422,1
    - Dst: std::optional<bool>
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:422,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:422,1
    - Dst: wallet::CreateWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:423,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:423,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:426,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:430,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:430,1
    - Dst: PushWarnings
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:431,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 436
    functionName: wallet::createwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - PushWarnings
    - SecureString::empty
    - std::shared_ptr::GetName
    - HelpExampleCli
    - SecureString::reserve
    - HelpExampleCliNamed
    - wallet::ReadDatabaseArgs
    - Untranslated
    - Arg
    - HelpExampleRpcNamed
    - wallet::EnsureWalletContext
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - get_str
    - get_bool
    - std::optional<bool>
    - JSONRPCError
    - wallet::CreateWallet
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan createwallet()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:454,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:455,1
    - Dst: wallet::EnsureUniqueWalletName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:459,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:459,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:461,1
    - Dst: wallet::GetWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:462,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:464,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:470,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:471,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:477,1
    - Dst: wallet::RemoveWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:478,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:479,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:483,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:483,1
    - Dst: PushWarnings
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:486,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 491
    functionName: wallet::unloadwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallet::RemoveWallet
    - HelpExampleCli
    - WalletRescanReserver::reserve
    - PushWarnings
    - wallet::EnsureUniqueWalletName
    - wallet::GetWallet
    - std::move
    - HelpExampleRpc
    - MaybeArg
    - wallet::WaitForDeleteWallet
    - JSONRPCError
    - wallet::EnsureWalletContext
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan unloadwallet()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:517,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:518,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:522,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:526,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:530,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:535,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:536,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:537,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:537,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:538,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:546,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:552,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:553,1
    - Dst: std::map::count
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:555,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:556,1
    - Dst: std::map::erase
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:557,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:559,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:560,1
    - Dst: GetDebit
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:562,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:564,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:572,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:573,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:575,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:576,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:581,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:581,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 493
    functionDepth: 5
    functionLinenumber: 493
    functionLinenumberEnd: 586
    functionName: wallet::simulaterawtransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - std::map::count
    - get_array
    - CMutableTransaction::vout::size
    - HelpExampleCli
    - GetDebit
    - IsMine
    - DecodeHexTx
    - CMutableTransaction::CMutableTransaction
    - ValueFromAmount
    - COutPoint
    - HelpExampleRpc
    - std::map::erase
    - UniValue::pushKV
    - get_str
    - std::set::count
    - std::map::at
    - size
    - chain
    - CMutableTransaction::GetHash
    - LOCK
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan simulaterawtransaction()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:613,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:614,1
    - Dst: wallet::EnsureUniqueWalletName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:618,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:618,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:621,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:622,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:623,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:626,1
    - Dst: MigrateLegacyToDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:627,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:629,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:629,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:633,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:635,1
    - Dst: util::Result::watchonly_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:635,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:638,1
    - Dst: util::Result::solvables_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:638,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:640,1
    - Dst: util::Result::backup_path::utf8string
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 588
    functionDepth: 5
    functionLinenumber: 588
    functionLinenumberEnd: 645
    functionName: wallet::migratewallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - util::ErrorString
    - util::Result::watchonly_wallet::GetName
    - wallet::EnsureUniqueWalletName
    - util::Result::backup_path::utf8string
    - HelpExampleRpc
    - JSONRPCError
    - MaybeArg
    - isNull
    - MigrateLegacyToDescriptor
    - SecureString::reserve
    - UniValue::pushKV
    - get_str
    - wallet::EnsureWalletContext
    - util::Result::solvables_wallet::GetName
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan migratewallet()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:675,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:675,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:676,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:676,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:680,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:683,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:685,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:686,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:686,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:687,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:687,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:689,1
    - Dst: std::shared_ptr::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:695,1
    - Dst: std::shared_ptr::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:697,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:703,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:704,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:705,1
    - Dst: auto*::GetWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:706,1
    - Dst: WalletDescriptor::descriptor::GetPubKeys
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:711,1
    - Dst: auto*::GetDescriptorString
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:714,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:715,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:716,1
    - Dst: std::shared_ptr::IsActiveScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:716,1
    - Dst: auto*::HasPrivKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:716,1
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:716,1
    - Dst: auto*::GetKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:717,1
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:717,1
    - Dst: CExtKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:718,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:729,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:730,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:733,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:733,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:736,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:736,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:737,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:739,1
    - Dst: EncodeExtKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:739,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:739,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:741,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:741,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:743,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 647
    functionDepth: 5
    functionLinenumber: 647
    functionLinenumberEnd: 749
    functionName: wallet::gethdkeys
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - auto*::HasPrivKey
    - std::shared_ptr::GetActiveScriptPubKeyMans
    - std::move
    - CHECK_NONFATAL
    - std::shared_ptr::IsActiveScriptPubKeyMan
    - EncodeExtPubKey
    - CExtKey
    - auto*::GetWalletDescriptor
    - HelpExampleCli
    - UniValue::push_back
    - pubkey::GetID
    - HelpExampleCliNamed
    - HelpExampleRpcNamed
    - emplace
    - WalletDescriptor::descriptor::GetPubKeys
    - std::shared_ptr::GetAllScriptPubKeyMans
    - EncodeExtKey
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - HelpExampleRpc
    - isNull
    - auto*::GetKey
    - UniValue::pushKV
    - get_bool
    - std::map::at
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - UniValue::exists
    - auto*::GetDescriptorString
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan gethdkeys()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:758,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:773,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:774,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:778,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:781,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:781,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:783,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:783,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:783,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:786,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:791,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:792,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:793,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:795,1
    - Dst: UniValue::get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:795,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:798,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:799,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:802,1
    - Dst: std::shared_ptr::GetActiveHDPubKeys
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:803,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:804,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:805,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:807,1
    - Dst: DecodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:809,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:809,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:810,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:811,1
    - Dst: std::shared_ptr::GetKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:815,1
    - Dst: CExtPubKey::pubkey::GetID
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:815,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:817,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:817,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:817,1
    - Dst: std::shared_ptr::GetDatabase
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:822,1
    - Dst: wallet::GenerateWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:824,1
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:825,1
    - Dst: std::shared_ptr::GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:826,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:827,1
    - Dst: std::shared_ptr::SetupDescriptorScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:827,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:830,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:831,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:838,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:839,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:840,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:843,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 751
    functionDepth: 5
    functionLinenumber: 751
    functionLinenumberEnd: 847
    functionName: wallet::createwalletdescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - std::vector::emplace_back
    - UniValue::get_bool
    - wallet::GenerateWalletDescriptor
    - std::move
    - std::vector::push_back
    - std::shared_ptr::GetKey
    - CHECK_NONFATAL
    - EncodeExtPubKey
    - std::shared_ptr::GetDatabase
    - HelpExampleCli
    - std::set::begin
    - UniValue::push_back
    - UniValue::get_str
    - get
    - std::vector::empty
    - std::shared_ptr::SetupDescriptorScriptPubKeyMan
    - ParseOutputType
    - CExtPubKey::pubkey::IsValid
    - HelpExampleRpc
    - DecodeExtPubKey
    - std::shared_ptr::GetScriptPubKeyMan
    - isNull
    - UniValue::pushKV
    - strprintf
    - get_str
    - std::shared_ptr::GetActiveHDPubKeys
    - DescriptorID
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - CExtPubKey::pubkey::GetID
    - UniValue::isNull
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::set::size
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan createwalletdescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 975
    functionName: wallet::GetWalletRPCCommands
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const CRPCCommand>
    signature: std::span<const CRPCCommand> GetWalletRPCCommands()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:69,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:70,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:74,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:79,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:81,1
    - Dst: std::shared_ptr::KeypoolCountExternalKeys
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:85,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:86,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:86,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:87,1
    - Dst: std::shared_ptr::GetVersion
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:87,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:88,1
    - Dst: std::shared_ptr::GetDatabase
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:88,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:89,1
    - Dst: std::shared_ptr::mapWallet::size
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:89,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:90,1
    - Dst: std::shared_ptr::CanSupportFeature
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:92,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:93,1
    - Dst: std::shared_ptr::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:93,1
    - Dst: std::shared_ptr::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:95,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:96,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:98,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:98,1
    - Dst: std::shared_ptr::m_pay_tx_fee::GetFeePerK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:98,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:99,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:99,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:100,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:100,1
    - Dst: std::shared_ptr::IsScanning
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:101,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:103,1
    - Dst: Ticks
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:103,1
    - Dst: std::shared_ptr::ScanningDuration
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:103,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:104,1
    - Dst: std::shared_ptr::ScanningProgress
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:104,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:105,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:105,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:107,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:109,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:109,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:110,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:110,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:111,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:111,1
    - Dst: std::shared_ptr::GetBirthTime
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:112,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:113,1
    - Dst: std::shared_ptr::GetWalletFlags
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:118,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:123,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:123,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:125,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:125,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:129,1
    - Dst: wallet::AppendLastProcessedBlock
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 135
    functionName: wallet::getwalletinfo
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::m_pay_tx_fee::GetFeePerK
    - std::shared_ptr::GetVersion
    - at
    - std::move
    - std::shared_ptr::GetName
    - std::shared_ptr::GetDatabase
    - HelpExampleCli
    - std::shared_ptr::IsWalletFlagSet
    - UniValue::push_back
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - std::shared_ptr::IsScanning
    - ValueFromAmount
    - std::shared_ptr::GetBirthTime
    - wallet::AppendLastProcessedBlock
    - HelpExampleRpc
    - std::shared_ptr::GetKeyPoolSize
    - UniValue::pushKV
    - strprintf
    - std::shared_ptr::IsCrypted
    - std::shared_ptr::ScanningDuration
    - std::shared_ptr::mapWallet::size
    - Ticks
    - std::shared_ptr::KeypoolCountExternalKeys
    - std::shared_ptr::GetWalletFlags
    - std::shared_ptr::CanSupportFeature
    - LOCK
    - std::shared_ptr::ScanningProgress
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getwalletinfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:159,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:160,1
    - Dst: wallet::ListDatabases
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:165,1
    - Dst: wallet::GetWalletDir
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:165,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:167,1
    - Dst: utf8string
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:167,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:170,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:172,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:173,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:173,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:177,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 181
    functionName: wallet::listwalletdir
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - utf8string
    - HelpExampleCli
    - wallet::GetWalletDir
    - UniValue::push_back
    - wallet::ListDatabases
    - HelpExampleRpc
    - std::move
    - UniValue::pushKV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listwalletdir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:196,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:197,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:203,1
    - Dst: wallet::GetWallets
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:204,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:205,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:206,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 212
    functionName: wallet::listwallets
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - UniValue::push_back
    - HelpExampleRpc
    - GetName
    - LOCK
    - wallet::EnsureWalletContext
    - wallet::GetWallets
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listwallets()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:237,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:238,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:240,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:241,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:243,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:244,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:248,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:249,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:253,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:257,1
    - Dst: std::optional<bool>
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:257,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:257,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:260,1
    - Dst: std::any_of
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:261,1
    - Dst: wallets::begin
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:261,1
    - Dst: wallets::end
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:261,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:261,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:262,1
    - Dst: wallet::LoadWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:266,1
    - Dst: wallet::HandleWalletError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:268,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:271,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:271,1
    - Dst: PushWarnings
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 277
    functionName: wallet::loadwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallets::begin
    - PushWarnings
    - std::shared_ptr::GetName
    - GetName
    - wallet::HandleWalletError
    - HelpExampleCli
    - wallet::LoadWallet
    - wallet::ReadDatabaseArgs
    - wallet::EnsureWalletContext
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - get_bool
    - get_str
    - std::optional<bool>
    - wallets::end
    - std::any_of
    - LOCK
    - JSONRPCError
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan loadwallet()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:302,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:303,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:307,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:310,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:311,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:311,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:313,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:314,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:314,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:317,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:320,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:320,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:325,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:326,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:326,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:329,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:330,1
    - Dst: std::shared_ptr::SetWalletFlag
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:333,1
    - Dst: std::shared_ptr::UnsetWalletFlag
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:335,1
    - Dst: count
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:338,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:339,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:339,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 345
    functionName: wallet::setwalletflag
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - std::shared_ptr::IsWalletFlagSet
    - std::shared_ptr::SetWalletFlag
    - at
    - HelpExampleRpc
    - get_bool
    - JSONRPCError
    - isNull
    - std::shared_ptr::UnsetWalletFlag
    - UniValue::pushKV
    - strprintf
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    - count
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan setwalletflag()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:373,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:374,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:375,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:376,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:380,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:382,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:382,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:386,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:386,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:390,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:392,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:393,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:394,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:396,1
    - Dst: Untranslated
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:396,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:400,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:400,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:404,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:405,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:407,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:407,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:411,1
    - Dst: wallet::ReadDatabaseArgs
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:417,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:422,1
    - Dst: std::optional<bool>
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:422,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:422,1
    - Dst: wallet::CreateWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:423,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:423,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:426,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:430,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:430,1
    - Dst: PushWarnings
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:431,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 436
    functionName: wallet::createwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - PushWarnings
    - SecureString::empty
    - std::shared_ptr::GetName
    - HelpExampleCli
    - SecureString::reserve
    - HelpExampleCliNamed
    - wallet::ReadDatabaseArgs
    - Untranslated
    - Arg
    - HelpExampleRpcNamed
    - wallet::EnsureWalletContext
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - get_str
    - get_bool
    - std::optional<bool>
    - JSONRPCError
    - wallet::CreateWallet
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan createwallet()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:454,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:455,1
    - Dst: wallet::EnsureUniqueWalletName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:459,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:459,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:461,1
    - Dst: wallet::GetWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:462,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:464,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:470,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:471,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:477,1
    - Dst: wallet::RemoveWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:478,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:479,1
    - Dst: wallet::WaitForDeleteWallet
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:483,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:483,1
    - Dst: PushWarnings
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:486,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 491
    functionName: wallet::unloadwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - wallet::RemoveWallet
    - HelpExampleCli
    - WalletRescanReserver::reserve
    - PushWarnings
    - wallet::EnsureUniqueWalletName
    - wallet::GetWallet
    - std::move
    - HelpExampleRpc
    - MaybeArg
    - wallet::WaitForDeleteWallet
    - JSONRPCError
    - wallet::EnsureWalletContext
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan unloadwallet()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:517,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:518,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:522,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:526,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:530,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:535,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:536,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:537,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:537,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:538,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:546,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:552,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:553,1
    - Dst: std::map::count
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:555,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:556,1
    - Dst: std::map::erase
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:557,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:559,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:560,1
    - Dst: GetDebit
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:562,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:564,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:572,1
    - Dst: CMutableTransaction::vout::size
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:573,1
    - Dst: IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:575,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:576,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:581,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:581,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 493
    functionDepth: 5
    functionLinenumber: 493
    functionLinenumberEnd: 586
    functionName: wallet::simulaterawtransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - std::map::count
    - get_array
    - CMutableTransaction::vout::size
    - HelpExampleCli
    - GetDebit
    - IsMine
    - DecodeHexTx
    - CMutableTransaction::CMutableTransaction
    - ValueFromAmount
    - COutPoint
    - HelpExampleRpc
    - std::map::erase
    - UniValue::pushKV
    - get_str
    - std::set::count
    - std::map::at
    - size
    - chain
    - CMutableTransaction::GetHash
    - LOCK
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan simulaterawtransaction()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:613,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:614,1
    - Dst: wallet::EnsureUniqueWalletName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:618,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:618,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:621,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:622,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:623,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:626,1
    - Dst: MigrateLegacyToDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:627,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:629,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:629,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:633,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:635,1
    - Dst: util::Result::watchonly_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:635,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:638,1
    - Dst: util::Result::solvables_wallet::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:638,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:640,1
    - Dst: util::Result::backup_path::utf8string
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 588
    functionDepth: 5
    functionLinenumber: 588
    functionLinenumberEnd: 645
    functionName: wallet::migratewallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - util::ErrorString
    - util::Result::watchonly_wallet::GetName
    - wallet::EnsureUniqueWalletName
    - util::Result::backup_path::utf8string
    - HelpExampleRpc
    - JSONRPCError
    - MaybeArg
    - isNull
    - MigrateLegacyToDescriptor
    - SecureString::reserve
    - UniValue::pushKV
    - get_str
    - wallet::EnsureWalletContext
    - util::Result::solvables_wallet::GetName
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan migratewallet()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:675,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:675,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:676,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:676,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:680,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:683,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:685,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:686,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:686,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:687,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:687,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:689,1
    - Dst: std::shared_ptr::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:695,1
    - Dst: std::shared_ptr::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:697,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:703,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:704,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:705,1
    - Dst: auto*::GetWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:706,1
    - Dst: WalletDescriptor::descriptor::GetPubKeys
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:711,1
    - Dst: auto*::GetDescriptorString
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:714,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:715,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:716,1
    - Dst: std::shared_ptr::IsActiveScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:716,1
    - Dst: auto*::HasPrivKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:716,1
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:716,1
    - Dst: auto*::GetKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:717,1
    - Dst: pubkey::GetID
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:717,1
    - Dst: CExtKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:718,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:729,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:730,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:733,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:733,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:736,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:736,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:737,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:739,1
    - Dst: EncodeExtKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:739,1
    - Dst: std::map::at
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:739,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:741,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:741,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:743,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 647
    functionDepth: 5
    functionLinenumber: 647
    functionLinenumberEnd: 749
    functionName: wallet::gethdkeys
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - auto*::HasPrivKey
    - std::shared_ptr::GetActiveScriptPubKeyMans
    - std::move
    - CHECK_NONFATAL
    - std::shared_ptr::IsActiveScriptPubKeyMan
    - EncodeExtPubKey
    - CExtKey
    - auto*::GetWalletDescriptor
    - HelpExampleCli
    - UniValue::push_back
    - pubkey::GetID
    - HelpExampleCliNamed
    - HelpExampleRpcNamed
    - emplace
    - WalletDescriptor::descriptor::GetPubKeys
    - std::shared_ptr::GetAllScriptPubKeyMans
    - EncodeExtKey
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - HelpExampleRpc
    - isNull
    - auto*::GetKey
    - UniValue::pushKV
    - get_bool
    - std::map::at
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - UniValue::exists
    - auto*::GetDescriptorString
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan gethdkeys()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:758,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:773,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:774,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:778,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:781,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:781,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:783,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:783,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:783,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:786,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:791,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:792,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:793,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:795,1
    - Dst: UniValue::get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:795,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:798,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:799,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:802,1
    - Dst: std::shared_ptr::GetActiveHDPubKeys
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:803,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:804,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:805,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:807,1
    - Dst: DecodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:809,1
    - Dst: UniValue::get_str
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:809,1
    - Dst: CExtPubKey::pubkey::IsValid
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:810,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:811,1
    - Dst: std::shared_ptr::GetKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:815,1
    - Dst: CExtPubKey::pubkey::GetID
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:815,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:817,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:817,1
    - Dst: EncodeExtPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:817,1
    - Dst: std::shared_ptr::GetDatabase
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:822,1
    - Dst: wallet::GenerateWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:824,1
    - Dst: DescriptorID
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:825,1
    - Dst: std::shared_ptr::GetScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:826,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:827,1
    - Dst: std::shared_ptr::SetupDescriptorScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:827,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:830,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:831,1
    - Dst: get
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:838,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:839,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:840,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:843,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/wallet.cpp:843,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 751
    functionDepth: 5
    functionLinenumber: 751
    functionLinenumberEnd: 847
    functionName: wallet::createwalletdescriptor
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - std::vector::emplace_back
    - UniValue::get_bool
    - wallet::GenerateWalletDescriptor
    - std::move
    - std::vector::push_back
    - std::shared_ptr::GetKey
    - CHECK_NONFATAL
    - EncodeExtPubKey
    - std::shared_ptr::GetDatabase
    - HelpExampleCli
    - std::set::begin
    - UniValue::push_back
    - UniValue::get_str
    - get
    - std::vector::empty
    - std::shared_ptr::SetupDescriptorScriptPubKeyMan
    - ParseOutputType
    - CExtPubKey::pubkey::IsValid
    - HelpExampleRpc
    - DecodeExtPubKey
    - std::shared_ptr::GetScriptPubKeyMan
    - isNull
    - UniValue::pushKV
    - strprintf
    - get_str
    - std::shared_ptr::GetActiveHDPubKeys
    - DescriptorID
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - CExtPubKey::pubkey::GetID
    - UniValue::isNull
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::set::size
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan createwalletdescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 975
    functionName: wallet::GetWalletRPCCommands
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/wallet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const CRPCCommand>
    signature: std::span<const CRPCCommand> GetWalletRPCCommands()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:29,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:31,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:33,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:37,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:39,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:44,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:46,1
    - Dst: CWallet*::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:48,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:49,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:54,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:55,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:58,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:61,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:69,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:70,1
    - Dst: CWallet*::Unlock
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:73,1
    - Dst: SecureString::find
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:75,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:76,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:78,1
    - Dst: CWallet*::TopUpKeyPool
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:87,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:89,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:97,1
    - Dst: scheduler::scheduleFromNow
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:102,1
    - Dst: std::weak_ptr::lock
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:103,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:104,1
    - Dst: auto::Lock
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:107,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:110,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 13
    functionDepth: 5
    functionLinenumber: 13
    functionLinenumberEnd: 115
    functionName: wallet::walletpassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::Unlock
    - LOCK2
    - SecureString::empty
    - GetTime
    - HelpExampleCli
    - SecureString::reserve
    - std::weak_ptr::lock
    - wallet::EnsureWalletContext
    - scheduler::scheduleFromNow
    - HelpExampleRpc
    - CWallet*::IsCrypted
    - SecureString::find
    - get_str
    - leveldb::DelayMilliseconds
    - std::shared_ptr::get
    - LOCK
    - CWallet*::TopUpKeyPool
    - JSONRPCError
    - auto::Lock
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletpassphrase()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:129,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:130,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:134,1
    - Dst: std::shared_ptr::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:137,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:138,1
    - Dst: std::shared_ptr::IsScanningWithPassphrase
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:141,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:142,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:145,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:148,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:149,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:152,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:153,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:155,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:155,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:156,1
    - Dst: std::shared_ptr::ChangeWalletPassphrase
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:159,1
    - Dst: SecureString::find
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:161,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:162,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 175
    functionName: wallet::walletpassphrasechange
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - std::shared_ptr::ChangeWalletPassphrase
    - LOCK2
    - std::shared_ptr::IsScanningWithPassphrase
    - SecureString::empty
    - HelpExampleRpc
    - get_str
    - SecureString::reserve
    - SecureString::find
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::IsCrypted
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletpassphrasechange()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:189,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:191,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:193,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:195,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:199,1
    - Dst: std::shared_ptr::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:202,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:203,1
    - Dst: std::shared_ptr::IsScanningWithPassphrase
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:206,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:207,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:210,1
    - Dst: std::shared_ptr::Lock
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 218
    functionName: wallet::walletlock
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - LOCK2
    - std::shared_ptr::Lock
    - std::shared_ptr::IsScanningWithPassphrase
    - HelpExampleRpc
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::IsCrypted
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletlock()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:240,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:242,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:244,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:246,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:248,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:252,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:255,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:256,1
    - Dst: std::shared_ptr::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:259,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:260,1
    - Dst: std::shared_ptr::IsScanningWithPassphrase
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:263,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:264,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:267,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:270,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:271,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:273,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:274,1
    - Dst: std::shared_ptr::EncryptWallet
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:277,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 284
    functionName: wallet::encryptwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - std::shared_ptr::IsWalletFlagSet
    - LOCK2
    - std::shared_ptr::IsScanningWithPassphrase
    - SecureString::empty
    - HelpExampleRpc
    - get_str
    - SecureString::reserve
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::EncryptWallet
    - std::shared_ptr::IsCrypted
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan encryptwallet()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:29,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:31,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:33,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:37,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:39,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:44,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:46,1
    - Dst: CWallet*::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:48,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:49,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:54,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:55,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:58,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:61,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:69,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:70,1
    - Dst: CWallet*::Unlock
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:73,1
    - Dst: SecureString::find
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:75,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:76,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:78,1
    - Dst: CWallet*::TopUpKeyPool
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:87,1
    - Dst: GetTime
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:89,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:97,1
    - Dst: scheduler::scheduleFromNow
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:102,1
    - Dst: std::weak_ptr::lock
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:103,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:104,1
    - Dst: auto::Lock
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:107,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:110,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 13
    functionDepth: 5
    functionLinenumber: 13
    functionLinenumberEnd: 115
    functionName: wallet::walletpassphrase
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp
    functionUses: 0
    functionsReached:
    - CWallet*::Unlock
    - LOCK2
    - SecureString::empty
    - GetTime
    - HelpExampleCli
    - SecureString::reserve
    - std::weak_ptr::lock
    - wallet::EnsureWalletContext
    - scheduler::scheduleFromNow
    - HelpExampleRpc
    - CWallet*::IsCrypted
    - SecureString::find
    - get_str
    - leveldb::DelayMilliseconds
    - std::shared_ptr::get
    - LOCK
    - CWallet*::TopUpKeyPool
    - JSONRPCError
    - auto::Lock
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletpassphrase()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:129,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:130,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:134,1
    - Dst: std::shared_ptr::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:137,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:138,1
    - Dst: std::shared_ptr::IsScanningWithPassphrase
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:141,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:142,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:145,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:148,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:149,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:152,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:153,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:155,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:155,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:156,1
    - Dst: std::shared_ptr::ChangeWalletPassphrase
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:159,1
    - Dst: SecureString::find
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:161,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:162,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 175
    functionName: wallet::walletpassphrasechange
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - std::shared_ptr::ChangeWalletPassphrase
    - LOCK2
    - std::shared_ptr::IsScanningWithPassphrase
    - SecureString::empty
    - HelpExampleRpc
    - get_str
    - SecureString::reserve
    - SecureString::find
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::IsCrypted
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletpassphrasechange()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:189,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:191,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:193,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:195,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:199,1
    - Dst: std::shared_ptr::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:202,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:203,1
    - Dst: std::shared_ptr::IsScanningWithPassphrase
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:206,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:207,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:210,1
    - Dst: std::shared_ptr::Lock
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 218
    functionName: wallet::walletlock
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - LOCK2
    - std::shared_ptr::Lock
    - std::shared_ptr::IsScanningWithPassphrase
    - HelpExampleRpc
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::IsCrypted
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletlock()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:240,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:242,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:244,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:246,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:248,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:252,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:255,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:256,1
    - Dst: std::shared_ptr::IsCrypted
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:259,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:260,1
    - Dst: std::shared_ptr::IsScanningWithPassphrase
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:263,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:264,1
    - Dst: LOCK2
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:267,1
    - Dst: SecureString::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:270,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:271,1
    - Dst: SecureString::empty
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:273,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:274,1
    - Dst: std::shared_ptr::EncryptWallet
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:277,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp:278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 284
    functionName: wallet::encryptwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/encrypt.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - std::shared_ptr::IsWalletFlagSet
    - LOCK2
    - std::shared_ptr::IsScanningWithPassphrase
    - SecureString::empty
    - HelpExampleRpc
    - get_str
    - SecureString::reserve
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::EncryptWallet
    - std::shared_ptr::IsCrypted
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan encryptwallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:37,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:38,1
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' outputs'
    - ' subtract_fee_outputs'
    argTypes:
    - std::vector<std::pair<CTxDestination, CAmount>>
    - std::set<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: wallet::CreateRecipients
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - contains
    - at
    - size
    linkageType: ''
    returnType: std::vector<CRecipient>
    signature: std::vector<CRecipient> CreateRecipients(const std::vector<std::pair<CTxDestination,
      CAmount>>& outputs, const std::set<int>& subtract_fee_outputs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:47,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:47,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:48,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:48,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:49,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:52,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:53,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:55,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:56,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:57,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:60,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:62,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:62,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:62,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:63,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - ' conf_target'
    - ' estimate_mode'
    - ' fee_rate'
    - ' options'
    argTypes:
    - UniValue
    - UniValue
    - UniValue
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: wallet::InterpretFeeEstimationInstructions
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - pushKV
    - isNull
    - get_str
    - JSONRPCError
    - exists
    linkageType: ''
    returnType: void
    signature: void InterpretFeeEstimationInstructions(const UniValue& conf_target,
      const UniValue& estimate_mode, const UniValue& fee_rate, UniValue& options)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:70,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:72,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:74,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:75,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:75,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:75,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:75,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:76,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:76,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:76,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:76,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:77,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:78,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:79,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:81,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:81,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:81,1
    - Dst: type
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:81,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:84,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:85,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:85,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:87,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:87,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:88,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:89,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:89,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:90,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - ' sffo_instructions'
    - ' destinations'
    argTypes:
    - UniValue
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: wallet::InterpretSubtractFeeFromOutputInstructions
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - end
    - getInt
    - getValues
    - uvTypeName
    - type
    - std::set::contains
    - size
    - isNum
    - JSONRPCError
    - isNull
    - std::set::insert
    - isStr
    - strprintf
    - get_str
    - find
    - begin
    linkageType: ''
    returnType: std::set<int>
    signature: std::set<int> InterpretSubtractFeeFromOutputInstructions(const UniValue&
      sffo_instructions, const std::vector<std::string>& destinations)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:97,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:105,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:106,1
    - Dst: wallet::DiscourageFeeSniping
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:107,1
    - Dst: std::shared_ptr<CWallet>::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:107,1
    - Dst: std::shared_ptr<CWallet>::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:107,1
    - Dst: std::shared_ptr<CWallet>::GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:107,1
    - Dst: std::shared_ptr<CWallet>::FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:116,1
    - Dst: std::shared_ptr<CWallet>::FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:117,1
    - Dst: JSONRPCPSBTError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:119,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:122,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:123,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:127,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:127,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:128,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:128,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:133,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:133,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:133,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:137,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:137,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:139,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:139,1
    - Dst: std::shared_ptr<CWallet>::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:141,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:143,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:146,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pwallet
    - ' options'
    - ' rawTx'
    argTypes:
    - std::shared_ptr<CWallet>
    - UniValue
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 149
    functionName: wallet::FinishTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - EncodeBase64
    - FastRandomContext::FastRandomContext
    - std::shared_ptr<CWallet>::chain
    - exists
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - wallet::DiscourageFeeSniping
    - std::shared_ptr<CWallet>::CommitTransaction
    - UniValue::pushKV
    - get_bool
    - FinalizeAndExtractPSBT
    - JSONRPCPSBTError
    - DataStream::str
    - CTransactionRef::GetHash
    - LOCK
    - EncodeHexTx
    - std::shared_ptr<CWallet>::GetLastBlockHeight
    - std::shared_ptr<CWallet>::GetLastBlockHash
    - std::shared_ptr<CWallet>::FillPSBT
    linkageType: ''
    returnType: UniValue
    signature: UniValue FinishTransaction(const std::shared_ptr<CWallet> pwallet,
      const UniValue& options, CMutableTransaction& rawTx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:153,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:154,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:156,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:157,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:159,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:160,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:162,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:163,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:165,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: wallet::PreventOutdatedOptions
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - JSONRPCError
    - exists
    linkageType: ''
    returnType: void
    signature: void PreventOutdatedOptions(const UniValue& options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:172,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:176,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:177,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:181,1
    - Dst: std::vector<CRecipient>::begin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:181,1
    - Dst: std::vector<CRecipient>::end
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:181,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:181,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:184,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:186,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:186,1
    - Dst: CommitTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:189,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:189,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:192,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:192,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:193,1
    - Dst: StringForFeeReason
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:193,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' wallet'
    - coin_control
    - recipients
    - map_value
    - verbose
    argTypes:
    - CWallet
    - CCoinControl
    - std::vector<CRecipient>
    - mapValue_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: wallet::SendMoney
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - util::ErrorString
    - CommitTransaction
    - GetHash
    - std::move
    - wallet::EnsureWalletIsUnlocked
    - StringForFeeReason
    - std::shuffle
    - FastRandomContext
    - UniValue::pushKV
    - JSONRPCError
    - std::vector<CRecipient>::end
    - IsWalletFlagSet
    - std::vector<CRecipient>::begin
    - wallet::CreateTransaction
    linkageType: ''
    returnType: UniValue
    signature: UniValue SendMoney(CWallet& wallet, const CCoinControl &coin_control,
      std::vector<CRecipient> &recipients, mapValue_t map_value, bool verbose)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:215,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:216,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:217,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:219,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:219,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:220,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:223,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:229,1
    - Dst: FeeModeFromString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:229,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:229,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:230,1
    - Dst: InvalidEstimateModeErrorMessage
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:230,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:232,1
    - Dst: ParseConfirmTarget
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:233,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 6
    argNames:
    - ' wallet'
    - ' cc'
    - ' conf_target'
    - ' estimate_mode'
    - ' fee_rate'
    - override_min_fee
    argTypes:
    - CWallet
    - CCoinControl
    - UniValue
    - UniValue
    - UniValue
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 6
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: wallet::SetFeeEstimateMode
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - FeeModeFromString
    - chain
    - AmountFromValue
    - isNull
    - get_str
    - ParseConfirmTarget
    - InvalidEstimateModeErrorMessage
    - JSONRPCError
    linkageType: ''
    returnType: void
    signature: void SetFeeEstimateMode(const CWallet& wallet, CCoinControl& cc, const
      UniValue& conf_target, const UniValue& estimate_mode, const UniValue& fee_rate,
      bool override_min_fee)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:256,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:256,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:276,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:278,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:280,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:282,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:284,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:285,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:289,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:294,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:296,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:300,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:300,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:301,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:302,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:302,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:303,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:306,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:307,1
    - Dst: wallet::GetAvoidReuseFlag
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:310,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:314,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:316,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:319,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:320,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:323,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:323,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:324,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:327,1
    - Dst: ParseOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:327,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:328,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:328,1
    - Dst: wallet::SendMoney
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 237
    functionDepth: 7
    functionLinenumber: 237
    functionLinenumberEnd: 333
    functionName: wallet::sendtoaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::SetFeeEstimateMode
    - HelpExampleCli
    - wallet::GetAvoidReuseFlag
    - FeeModesDetail
    - wallet::CreateRecipients
    - std::string
    - get_bool
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - isNull
    - wallet::EnsureWalletIsUnlocked
    - std::set::insert
    - UniValue::pushKV
    - ParseOutputs
    - get_str
    - wallet::SendMoney
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan sendtoaddress()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:363,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:363,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:383,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:385,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:387,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:389,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:393,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:398,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:400,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:402,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:402,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:403,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:405,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:408,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:408,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:409,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:412,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:413,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:416,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:418,1
    - Dst: ParseOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:419,1
    - Dst: wallet::InterpretSubtractFeeFromOutputInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:420,1
    - Dst: UniValue::getKeys
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:420,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:422,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:422,1
    - Dst: wallet::SendMoney
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:424,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 335
    functionDepth: 7
    functionLinenumber: 335
    functionLinenumberEnd: 427
    functionName: wallet::sendmany
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::string
    - ParseOutputs
    - wallet::SendMoney
    - HelpExampleCli
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - FeeModesDetail
    - HelpExampleRpc
    - isNull
    - get_bool
    - get_str
    - get_obj
    - wallet::SetFeeEstimateMode
    - wallet::InterpretSubtractFeeFromOutputInstructions
    - wallet::CreateRecipients
    - LOCK
    - UniValue::getKeys
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan sendmany()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:442,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:443,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:447,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:450,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:452,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:453,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:457,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:460,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:462,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:463,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:463,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:463,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:465,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:465,1
    - Dst: std::shared_ptr::m_min_fee::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:465,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:467,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:467,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:467,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 429
    functionDepth: 5
    functionLinenumber: 429
    functionLinenumberEnd: 474
    functionName: wallet::settxfee
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - HelpExampleCli
    - CFeeRate
    - std::shared_ptr::m_min_fee::ToString
    - HelpExampleRpc
    - LOCK
    - AmountFromValue
    - CFeeRate::ToString
    - strprintf
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan settxfee()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:483,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:483,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 515
    functionName: wallet::FundTxDoc
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - FeeModesDetail
    - std::string
    linkageType: ''
    returnType: std::vector<RPCArg>
    signature: std::vector<RPCArg> FundTxDoc(bool solving_data = true)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:521,1
    - Dst: vout::empty
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:521,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:524,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:528,1
    - Dst: type
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:529,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:532,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:534,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:535,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:536,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:537,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:538,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:539,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:540,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:541,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:542,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:543,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:544,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:545,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:546,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:547,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:548,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:549,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:550,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:551,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:552,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:553,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:554,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:555,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:556,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:557,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:558,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:559,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:560,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:564,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:565,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:568,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:568,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:569,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:569,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:570,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:572,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:573,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:579,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:579,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:580,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:580,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:581,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:582,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:587,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:588,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:588,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:589,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:591,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:591,1
    - Dst: m_change_type::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:592,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:592,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:594,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:594,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:594,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:598,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:598,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:599,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:599,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:602,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:603,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:606,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:607,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:608,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:610,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:611,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:613,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:614,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:616,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:616,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:620,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:621,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:624,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:625,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:628,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:632,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:633,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:636,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:636,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:639,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:643,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:644,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:645,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:646,1
    - Dst: HexToPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:647,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:647,1
    - Dst: m_external_provider::pubkeys::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:648,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:648,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:650,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:650,1
    - Dst: m_external_provider::scripts::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:651,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:651,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:655,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:656,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:657,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:658,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:659,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:659,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:662,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:662,1
    - Dst: m_external_provider::scripts::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:663,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:663,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:667,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:668,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:669,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:673,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:674,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:675,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:675,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:678,1
    - Dst: m_external_provider::Merge
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:680,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:680,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:685,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:686,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:687,1
    - Dst: ParseHashO
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:687,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:689,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:690,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:691,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:693,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:695,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:698,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:699,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:700,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:702,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:703,1
    - Dst: CTxIn
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:703,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:704,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:706,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:709,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:709,1
    - Dst: SetInputWeight
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:712,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:712,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:716,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:717,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:720,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:721,1
    - Dst: wallet::FundTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:723,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:725,1
    - Dst: ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:725,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 121
    argCount: 6
    argNames:
    - ' wallet'
    - ' tx'
    - ' recipients'
    - ' options'
    - ' coinControl'
    - override_min_fee
    argTypes:
    - CWallet
    - CMutableTransaction
    - std::vector<CRecipient>
    - UniValue
    - CCoinControl
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 517
    functionDepth: 7
    functionLinenumber: 517
    functionLinenumberEnd: 728
    functionName: wallet::FundTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 1
    functionsReached:
    - IsValidDestination
    - DecodeDestination
    - GetScriptForDestination
    - find_value
    - CFeeRate
    - std::move
    - CPubKey::GetID
    - AmountFromValue
    - HexToPubKey
    - m_external_provider::Merge
    - get_array
    - CHECK_NONFATAL
    - BlockUntilSyncedToCurrentChain
    - SetInputWeight
    - WitnessV0KeyHash
    - std::vector::end
    - ParseHashO
    - Expand
    - exists
    - CTxIn
    - m_change_type::emplace
    - empty
    - CScriptID
    - ParseOutputType
    - vout::empty
    - Parse
    - isNum
    - COutPoint
    - isNull
    - auto::empty
    - transaction_identifier::FromUint256
    - strprintf
    - get_str
    - get_bool
    - get_obj
    - wallet::FundTransaction
    - m_external_provider::pubkeys::emplace
    - wallet::SetFeeEstimateMode
    - IsHex
    - RPCTypeCheckObj
    - type
    - GetTransactionInputWeight
    - size
    - std::vector::begin
    - std::optional::value
    - UniValue::exists
    - ErrorString
    - JSONRPCError
    - m_external_provider::scripts::emplace
    - UniValueType
    - getInt
    linkageType: ''
    returnType: CreatedTransactionResult
    signature: CreatedTransactionResult FundTransaction(CWallet& wallet, const CMutableTransaction&
      tx, const std::vector<CRecipient>& recipients, const UniValue& options, CCoinControl&
      coinControl, bool override_min_fee)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:732,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:733,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:735,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:739,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:740,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:741,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:744,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' inputs'
    - ' options'
    argTypes:
    - UniValue
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 730
    functionDepth: 5
    functionLinenumber: 730
    functionLinenumberEnd: 745
    functionName: wallet::SetOptionsInputWeights
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - getValues
    - pushKV
    - UniValue::push_back
    - size
    - std::move
    - JSONRPCError
    - exists
    linkageType: ''
    returnType: void
    signature: void SetOptionsInputWeights(const UniValue& inputs, UniValue& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:768,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:778,1
    - Dst: wallet::FundTxDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:809,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:832,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:834,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:836,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:838,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:842,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:846,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:847,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:847,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:848,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:848,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:849,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:849,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:850,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:856,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:857,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:859,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:860,1
    - Dst: wallet::InterpretSubtractFeeFromOutputInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:862,1
    - Dst: CMutableTransaction::vout::clear
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:869,1
    - Dst: wallet::FundTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:870,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:873,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:873,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:874,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:874,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 747
    functionDepth: 6
    functionLinenumber: 747
    functionLinenumberEnd: 880
    functionName: wallet::fundrawtransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - std::vector::emplace_back
    - HelpExampleCli
    - DecodeHexTx
    - std::vector::size
    - CMutableTransaction::CMutableTransaction
    - ValueFromAmount
    - isNull
    - UniValue::pushKV
    - wallet::FundTxDoc
    - wallet::FundTransaction
    - get_str
    - get_bool
    - CMutableTransaction::vout::clear
    - wallet::InterpretSubtractFeeFromOutputInstructions
    - ExtractDestination
    - wallet::CreateRecipients
    - EncodeHexTx
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan fundrawtransaction()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:938,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:939,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:943,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:946,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:947,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:947,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:948,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:952,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:953,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:960,1
    - Dst: ParsePrevouts
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:963,1
    - Dst: ParseSighashString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:965,1
    - Dst: std::shared_ptr::SignTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:973,1
    - Dst: SignTransactionResultToJSON
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 882
    functionDepth: 8
    functionLinenumber: 882
    functionLinenumberEnd: 979
    functionName: wallet::signrawtransactionwithwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - ParseSighashString
    - std::shared_ptr::chain
    - HelpExampleCli
    - std::shared_ptr::SignTransaction
    - CMutableTransaction::CMutableTransaction
    - ParsePrevouts
    - SignTransactionResultToJSON
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - DecodeHexTx
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan signrawtransactionwithwallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 999
    functionName: wallet::OutputsDoc
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RPCArg>
    signature: std::vector<RPCArg> OutputsDoc()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1004,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1008,1
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1038,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1038,1
    - Dst: wallet::OutputsDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1043,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1054,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1068,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1069,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1073,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1076,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1076,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1077,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1080,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1080,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1089,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1091,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1093,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1094,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1095,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1096,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1097,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1098,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1099,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1103,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1103,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1104,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1107,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1109,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1110,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1112,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1115,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1116,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1116,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1117,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1119,1
    - Dst: AddOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1120,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1124,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1125,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1131,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1133,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1135,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1141,1
    - Dst: wallet::feebumper::CreateRateBumpTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1144,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1148,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1151,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1154,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1157,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1160,1
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1170,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1171,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1172,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1174,1
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1178,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1178,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1179,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1182,1
    - Dst: Txid::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1182,1
    - Dst: std::shared_ptr::FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1186,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1187,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1188,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1191,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1191,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1191,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1194,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1194,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1195,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1195,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1198,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1200,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1200,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 75
    argCount: 1
    argNames:
    - method_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1001
    functionDepth: 11
    functionLinenumber: 1001
    functionLinenumberEnd: 1205
    functionName: wallet::bumpfee_helper
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - AddOutputs
    - Txid::GetHex
    - CFeeRate
    - std::move
    - std::string
    - EncodeBase64
    - wallet::OutputsDoc
    - CHECK_NONFATAL
    - ParseHashV
    - HelpExampleCli
    - std::shared_ptr::IsWalletFlagSet
    - UniValue::push_back
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - wallet::feebumper::CommitTransaction
    - empty
    - CMutableTransaction::CMutableTransaction
    - FeeModesDetail
    - ValueFromAmount
    - transaction_identifier::FromUint256
    - isNull
    - UniValue::pushKV
    - wallet::feebumper::SignTransaction
    - get_bool
    - std::shared_ptr::FillPSBT
    - wallet::SetFeeEstimateMode
    - RPCTypeCheckObj
    - isArray
    - DataStream::str
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - UniValue::exists
    - wallet::GetWalletForJSONRPCRequest
    - JSONRPCError
    - UniValueType
    - wallet::feebumper::CreateRateBumpTransaction
    - getInt
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan bumpfee_helper(std::string method_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::bumpfee_helper
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1207
    functionDepth: 12
    functionLinenumber: 1207
    functionLinenumberEnd: 1207
    functionName: wallet::bumpfee
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::bumpfee_helper
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan bumpfee()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::bumpfee_helper
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1208
    functionDepth: 12
    functionLinenumber: 1208
    functionLinenumberEnd: 1208
    functionName: wallet::psbtbumpfee
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::bumpfee_helper
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan psbtbumpfee()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wallet::OutputsDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1221,1
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1225,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1225,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1228,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1239,1
    - Dst: wallet::FundTxDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1270,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1284,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1286,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1288,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1290,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1292,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1296,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1299,1
    - Dst: wallet::InterpretFeeEstimationInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1300,1
    - Dst: wallet::PreventOutdatedOptions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1301,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1304,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1304,1
    - Dst: NormalizeOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1306,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1307,1
    - Dst: ParseOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1308,1
    - Dst: wallet::InterpretSubtractFeeFromOutputInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1309,1
    - Dst: UniValue::getKeys
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1309,1
    - Dst: ConstructTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1311,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1315,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1316,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1317,1
    - Dst: wallet::SetOptionsInputWeights
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1319,1
    - Dst: CMutableTransaction::vout::clear
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1322,1
    - Dst: wallet::FundTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1323,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1325,1
    - Dst: wallet::FinishTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1210
    functionDepth: 9
    functionLinenumber: 1210
    functionLinenumberEnd: 1329
    functionName: wallet::send
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - std::string
    - ParseOutputs
    - ConstructTransaction
    - wallet::OutputsDoc
    - wallet::PreventOutdatedOptions
    - HelpExampleCli
    - CMutableTransaction::vin::size
    - CMutableTransaction
    - wallet::SetOptionsInputWeights
    - FeeModesDetail
    - isNull
    - wallet::FundTxDoc
    - get_bool
    - wallet::FundTransaction
    - wallet::FinishTransaction
    - CMutableTransaction::vout::clear
    - wallet::InterpretSubtractFeeFromOutputInstructions
    - wallet::CreateRecipients
    - wallet::InterpretFeeEstimationInstructions
    - UniValue::getKeys
    - UniValue::exists
    - NormalizeOutputs
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan send()
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1352,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1352,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1356,1
    - Dst: wallet::FundTxDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1379,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1395,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1397,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1399,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1401,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1403,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1407,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1411,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1413,1
    - Dst: wallet::InterpretFeeEstimationInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1414,1
    - Dst: wallet::PreventOutdatedOptions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1415,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1421,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1423,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1425,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1425,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1426,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1426,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1427,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1427,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1429,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1433,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1434,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1439,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1441,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1442,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1444,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1444,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1444,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1447,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1450,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1451,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1454,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1454,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1458,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1458,1
    - Dst: wallet::GetMinimumFeeRate
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1461,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1465,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1465,1
    - Dst: CCoinControl::m_feerate::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1465,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1465,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1469,1
    - Dst: ConstructTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1472,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1473,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1476,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1476,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1477,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1477,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1478,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1479,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1479,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1479,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1480,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1481,1
    - Dst: std::shared_ptr::IsSpent
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1483,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1484,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1484,1
    - Dst: prevout::hash::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1484,1
    - Dst: std::shared_ptr::GetWalletTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1486,1
    - Dst: CWalletTx*::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1487,1
    - Dst: std::shared_ptr::IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1487,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1488,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1488,1
    - Dst: prevout::hash::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1488,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1495,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1496,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1497,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1500,1
    - Dst: CMutableTransaction::vin::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1501,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1507,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1507,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1510,1
    - Dst: wallet::CalculateMaximumSignedTxSize
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1514,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1514,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1514,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1515,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1516,1
    - Dst: std::optional::value_or
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1517,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1520,1
    - Dst: TransactionErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1520,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1525,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1527,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1533,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1542,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1547,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1550,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1555,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1556,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1557,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1560,1
    - Dst: wallet::IsDust
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1563,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1563,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1565,1
    - Dst: wallet::IsDust
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1568,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1568,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1570,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1570,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1575,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1575,1
    - Dst: std::shared_ptr::LockCoin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1578,1
    - Dst: wallet::FinishTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1582,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1331
    functionDepth: 10
    functionLinenumber: 1331
    functionLinenumberEnd: 1585
    functionName: wallet::sendall
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - CMutableTransaction::vin::push_back
    - EncodeDestination
    - std::move
    - std::string
    - std::vector::push_back
    - wallet::AvailableCoins
    - std::set::insert
    - ConstructTransaction
    - std::shared_ptr::GetWalletTx
    - CHECK_NONFATAL
    - wallet::PreventOutdatedOptions
    - std::optional::value_or
    - HelpExampleCli
    - CMutableTransaction::vin::size
    - Cat
    - wallet::IsDust
    - UniValue::push_back
    - std::vector::reserve
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - wallet::GetMinimumFeeRate
    - CFeeRate::GetFee
    - wallet::CalculateMaximumSignedTxSize
    - std::shared_ptr::LockCoin
    - CCoinControl::m_feerate::ToString
    - CTransaction
    - FeeModesDetail
    - isNull
    - CFeeRate::ToString
    - isStr
    - UniValue::pushKV
    - get_str
    - wallet::FundTxDoc
    - strprintf
    - get_bool
    - std::shared_ptr::IsSpent
    - prevout::hash::ToString
    - CWalletTx*::tx::vout::size
    - TransactionErrorString
    - std::set::count
    - wallet::SetFeeEstimateMode
    - std::shared_ptr::IsMine
    - wallet::FinishTransaction
    - std::shared_ptr::get
    - ExtractDestination
    - wallet::InterpretFeeEstimationInstructions
    - size
    - LOCK
    - UniValue::exists
    - CScript
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - std::set::size
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan sendall()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1617,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1621,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1627,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1630,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1632,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1632,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1633,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1633,1
    - Dst: ParseSighashString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1637,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1640,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1640,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1641,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1641,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1642,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1642,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1645,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1647,1
    - Dst: JSONRPCPSBTError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1649,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1655,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1655,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1655,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1656,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1658,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1660,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1660,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1661,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1662,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1663,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1663,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1587
    functionDepth: 6
    functionLinenumber: 1587
    functionLinenumberEnd: 1669
    functionName: wallet::walletprocesspsbt
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - ParseSighashString
    - EncodeBase64
    - CHECK_NONFATAL
    - BlockUntilSyncedToCurrentChain
    - HelpExampleCli
    - FillPSBT
    - TX_WITH_WITNESS
    - HexStr
    - CMutableTransaction::CMutableTransaction
    - isNull
    - UniValue::pushKV
    - strprintf
    - get_bool
    - get_str
    - FinalizeAndExtractPSBT
    - DecodeBase64PSBT
    - JSONRPCPSBTError
    - DataStream::str
    - wallet::EnsureWalletIsUnlocked
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - DataStream::DataStream
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletprocesspsbt()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wallet::OutputsDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1701,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1705,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1715,1
    - Dst: wallet::FundTxDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1731,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1745,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1747,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1751,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1757,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1759,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1762,1
    - Dst: UniValue::get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1762,1
    - Dst: ConstructTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1763,1
    - Dst: NormalizeOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1765,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1766,1
    - Dst: ParseOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1767,1
    - Dst: wallet::InterpretSubtractFeeFromOutputInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1768,1
    - Dst: UniValue::getKeys
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1768,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1773,1
    - Dst: wallet::SetOptionsInputWeights
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1774,1
    - Dst: CMutableTransaction::vout::clear
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1777,1
    - Dst: wallet::FundTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1778,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1781,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1784,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1784,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1786,1
    - Dst: JSONRPCPSBTError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1788,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1796,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1796,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1796,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1797,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1797,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1671
    functionDepth: 9
    functionLinenumber: 1671
    functionLinenumberEnd: 1802
    functionName: wallet::walletcreatefundedpsbt
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - UniValue::get_bool
    - EncodeBase64
    - ParseOutputs
    - ConstructTransaction
    - wallet::OutputsDoc
    - BlockUntilSyncedToCurrentChain
    - HelpExampleCli
    - CMutableTransaction::vin::size
    - CMutableTransaction
    - FillPSBT
    - wallet::SetOptionsInputWeights
    - ValueFromAmount
    - isNull
    - wallet::FundTxDoc
    - UniValue::pushKV
    - wallet::FundTransaction
    - get_bool
    - CMutableTransaction::vout::clear
    - wallet::InterpretSubtractFeeFromOutputInstructions
    - wallet::CreateRecipients
    - JSONRPCPSBTError
    - DataStream::str
    - UniValue::getKeys
    - UniValue::isNull
    - NormalizeOutputs
    - wallet::GetWalletForJSONRPCRequest
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletcreatefundedpsbt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:37,1
    - Dst: at
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:38,1
    - Dst: contains
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' outputs'
    - ' subtract_fee_outputs'
    argTypes:
    - std::vector<std::pair<CTxDestination, CAmount>>
    - std::set<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: wallet::CreateRecipients
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 5
    functionsReached:
    - std::vector::push_back
    - contains
    - at
    - size
    linkageType: ''
    returnType: std::vector<CRecipient>
    signature: std::vector<CRecipient> CreateRecipients(const std::vector<std::pair<CTxDestination,
      CAmount>>& outputs, const std::set<int>& subtract_fee_outputs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:47,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:47,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:48,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:48,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:49,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:52,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:53,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:55,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:56,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:57,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:60,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:62,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:62,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:62,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:63,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - ' conf_target'
    - ' estimate_mode'
    - ' fee_rate'
    - ' options'
    argTypes:
    - UniValue
    - UniValue
    - UniValue
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: wallet::InterpretFeeEstimationInstructions
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 2
    functionsReached:
    - pushKV
    - isNull
    - get_str
    - JSONRPCError
    - exists
    linkageType: ''
    returnType: void
    signature: void InterpretFeeEstimationInstructions(const UniValue& conf_target,
      const UniValue& estimate_mode, const UniValue& fee_rate, UniValue& options)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:70,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:72,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:74,1
    - Dst: find
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:75,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:75,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:75,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:75,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:76,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:76,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:76,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:76,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:77,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:78,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:79,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:81,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:81,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:81,1
    - Dst: type
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:81,1
    - Dst: std::set::contains
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:84,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:85,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:85,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:87,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:87,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:88,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:89,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:89,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:90,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - ' sffo_instructions'
    - ' destinations'
    argTypes:
    - UniValue
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: wallet::InterpretSubtractFeeFromOutputInstructions
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 4
    functionsReached:
    - end
    - getInt
    - getValues
    - uvTypeName
    - type
    - std::set::contains
    - size
    - isNum
    - JSONRPCError
    - isNull
    - std::set::insert
    - isStr
    - strprintf
    - get_str
    - find
    - begin
    linkageType: ''
    returnType: std::set<int>
    signature: std::set<int> InterpretSubtractFeeFromOutputInstructions(const UniValue&
      sffo_instructions, const std::vector<std::string>& destinations)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:97,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:105,1
    - Dst: FastRandomContext::FastRandomContext
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:106,1
    - Dst: wallet::DiscourageFeeSniping
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:107,1
    - Dst: std::shared_ptr<CWallet>::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:107,1
    - Dst: std::shared_ptr<CWallet>::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:107,1
    - Dst: std::shared_ptr<CWallet>::GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:107,1
    - Dst: std::shared_ptr<CWallet>::FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:116,1
    - Dst: std::shared_ptr<CWallet>::FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:117,1
    - Dst: JSONRPCPSBTError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:119,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:122,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:123,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:127,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:127,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:128,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:128,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:133,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:133,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:133,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:137,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:137,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:139,1
    - Dst: CTransactionRef::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:139,1
    - Dst: std::shared_ptr<CWallet>::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:141,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:143,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:146,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pwallet
    - ' options'
    - ' rawTx'
    argTypes:
    - std::shared_ptr<CWallet>
    - UniValue
    - CMutableTransaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 149
    functionName: wallet::FinishTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 2
    functionsReached:
    - EncodeBase64
    - FastRandomContext::FastRandomContext
    - std::shared_ptr<CWallet>::chain
    - exists
    - CTransaction
    - CMutableTransaction::CMutableTransaction
    - wallet::DiscourageFeeSniping
    - std::shared_ptr<CWallet>::CommitTransaction
    - UniValue::pushKV
    - get_bool
    - FinalizeAndExtractPSBT
    - JSONRPCPSBTError
    - DataStream::str
    - CTransactionRef::GetHash
    - LOCK
    - EncodeHexTx
    - std::shared_ptr<CWallet>::GetLastBlockHeight
    - std::shared_ptr<CWallet>::GetLastBlockHash
    - std::shared_ptr<CWallet>::FillPSBT
    linkageType: ''
    returnType: UniValue
    signature: UniValue FinishTransaction(const std::shared_ptr<CWallet> pwallet,
      const UniValue& options, CMutableTransaction& rawTx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:153,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:154,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:156,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:157,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:159,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:160,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:162,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:163,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:165,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: wallet::PreventOutdatedOptions
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 2
    functionsReached:
    - JSONRPCError
    - exists
    linkageType: ''
    returnType: void
    signature: void PreventOutdatedOptions(const UniValue& options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:172,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:176,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:177,1
    - Dst: std::shuffle
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:181,1
    - Dst: std::vector<CRecipient>::begin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:181,1
    - Dst: std::vector<CRecipient>::end
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:181,1
    - Dst: FastRandomContext
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:181,1
    - Dst: wallet::CreateTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:184,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:186,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:186,1
    - Dst: CommitTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:189,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:189,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:192,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:192,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:193,1
    - Dst: StringForFeeReason
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:193,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' wallet'
    - coin_control
    - recipients
    - map_value
    - verbose
    argTypes:
    - CWallet
    - CCoinControl
    - std::vector<CRecipient>
    - mapValue_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: wallet::SendMoney
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 2
    functionsReached:
    - util::ErrorString
    - CommitTransaction
    - GetHash
    - std::move
    - wallet::EnsureWalletIsUnlocked
    - StringForFeeReason
    - std::shuffle
    - FastRandomContext
    - UniValue::pushKV
    - JSONRPCError
    - std::vector<CRecipient>::end
    - IsWalletFlagSet
    - std::vector<CRecipient>::begin
    - wallet::CreateTransaction
    linkageType: ''
    returnType: UniValue
    signature: UniValue SendMoney(CWallet& wallet, const CCoinControl &coin_control,
      std::vector<CRecipient> &recipients, mapValue_t map_value, bool verbose)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:215,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:216,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:217,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:219,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:219,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:220,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:223,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:229,1
    - Dst: FeeModeFromString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:229,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:229,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:230,1
    - Dst: InvalidEstimateModeErrorMessage
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:230,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:232,1
    - Dst: ParseConfirmTarget
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:233,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 6
    argNames:
    - ' wallet'
    - ' cc'
    - ' conf_target'
    - ' estimate_mode'
    - ' fee_rate'
    - override_min_fee
    argTypes:
    - CWallet
    - CCoinControl
    - UniValue
    - UniValue
    - UniValue
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 6
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: wallet::SetFeeEstimateMode
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 5
    functionsReached:
    - FeeModeFromString
    - chain
    - AmountFromValue
    - isNull
    - get_str
    - ParseConfirmTarget
    - InvalidEstimateModeErrorMessage
    - JSONRPCError
    linkageType: ''
    returnType: void
    signature: void SetFeeEstimateMode(const CWallet& wallet, CCoinControl& cc, const
      UniValue& conf_target, const UniValue& estimate_mode, const UniValue& fee_rate,
      bool override_min_fee)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:256,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:256,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:276,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:278,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:280,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:282,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:284,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:285,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:289,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:294,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:296,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:300,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:300,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:301,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:302,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:302,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:303,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:306,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:307,1
    - Dst: wallet::GetAvoidReuseFlag
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:310,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:314,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:316,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:319,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:320,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:323,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:323,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:324,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:327,1
    - Dst: ParseOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:327,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:328,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:328,1
    - Dst: wallet::SendMoney
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 237
    functionDepth: 7
    functionLinenumber: 237
    functionLinenumberEnd: 333
    functionName: wallet::sendtoaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::SetFeeEstimateMode
    - HelpExampleCli
    - wallet::GetAvoidReuseFlag
    - FeeModesDetail
    - wallet::CreateRecipients
    - std::string
    - get_bool
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - isNull
    - wallet::EnsureWalletIsUnlocked
    - std::set::insert
    - UniValue::pushKV
    - ParseOutputs
    - get_str
    - wallet::SendMoney
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan sendtoaddress()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:363,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:363,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:383,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:385,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:387,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:389,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:393,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:398,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:400,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:402,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:402,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:403,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:405,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:408,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:408,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:409,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:412,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:413,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:416,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:418,1
    - Dst: ParseOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:419,1
    - Dst: wallet::InterpretSubtractFeeFromOutputInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:420,1
    - Dst: UniValue::getKeys
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:420,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:422,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:422,1
    - Dst: wallet::SendMoney
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:424,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 335
    functionDepth: 7
    functionLinenumber: 335
    functionLinenumberEnd: 427
    functionName: wallet::sendmany
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::string
    - ParseOutputs
    - wallet::SendMoney
    - HelpExampleCli
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - FeeModesDetail
    - HelpExampleRpc
    - isNull
    - get_bool
    - get_str
    - get_obj
    - wallet::SetFeeEstimateMode
    - wallet::InterpretSubtractFeeFromOutputInstructions
    - wallet::CreateRecipients
    - LOCK
    - UniValue::getKeys
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan sendmany()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:442,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:443,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:447,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:450,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:452,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:453,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:457,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:460,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:462,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:463,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:463,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:463,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:465,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:465,1
    - Dst: std::shared_ptr::m_min_fee::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:465,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:467,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:467,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:467,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 429
    functionDepth: 5
    functionLinenumber: 429
    functionLinenumberEnd: 474
    functionName: wallet::settxfee
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - HelpExampleCli
    - CFeeRate
    - std::shared_ptr::m_min_fee::ToString
    - HelpExampleRpc
    - LOCK
    - AmountFromValue
    - CFeeRate::ToString
    - strprintf
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan settxfee()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:483,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:483,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 515
    functionName: wallet::FundTxDoc
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - FeeModesDetail
    - std::string
    linkageType: ''
    returnType: std::vector<RPCArg>
    signature: std::vector<RPCArg> FundTxDoc(bool solving_data = true)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:521,1
    - Dst: vout::empty
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:521,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:524,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:528,1
    - Dst: type
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:529,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:532,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:534,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:535,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:536,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:537,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:538,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:539,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:540,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:541,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:542,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:543,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:544,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:545,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:546,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:547,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:548,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:549,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:550,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:551,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:552,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:553,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:554,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:555,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:556,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:557,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:558,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:559,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:560,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:564,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:565,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:568,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:568,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:569,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:569,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:570,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:572,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:573,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:579,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:579,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:580,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:580,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:581,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:582,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:587,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:588,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:588,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:589,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:591,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:591,1
    - Dst: m_change_type::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:592,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:592,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:594,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:594,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:594,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:598,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:598,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:599,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:599,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:602,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:603,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:606,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:607,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:608,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:610,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:611,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:613,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:614,1
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:616,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:616,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:620,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:621,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:624,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:625,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:628,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:632,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:633,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:636,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:636,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:639,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:643,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:644,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:645,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:646,1
    - Dst: HexToPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:647,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:647,1
    - Dst: m_external_provider::pubkeys::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:648,1
    - Dst: CPubKey::GetID
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:648,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:650,1
    - Dst: WitnessV0KeyHash
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:650,1
    - Dst: m_external_provider::scripts::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:651,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:651,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:655,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:656,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:657,1
    - Dst: IsHex
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:658,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:659,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:659,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:662,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:662,1
    - Dst: m_external_provider::scripts::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:663,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:663,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:667,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:668,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:669,1
    - Dst: Parse
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:673,1
    - Dst: auto::empty
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:674,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:675,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:675,1
    - Dst: Expand
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:678,1
    - Dst: m_external_provider::Merge
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:680,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:680,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:685,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:686,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:687,1
    - Dst: ParseHashO
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:687,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:689,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:690,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:691,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:693,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:695,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:698,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:699,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:700,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:702,1
    - Dst: GetTransactionInputWeight
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:703,1
    - Dst: CTxIn
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:703,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:704,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:706,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:709,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:709,1
    - Dst: SetInputWeight
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:712,1
    - Dst: COutPoint
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:712,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:716,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:717,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:720,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:721,1
    - Dst: wallet::FundTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:723,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:725,1
    - Dst: ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:725,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 121
    argCount: 6
    argNames:
    - ' wallet'
    - ' tx'
    - ' recipients'
    - ' options'
    - ' coinControl'
    - override_min_fee
    argTypes:
    - CWallet
    - CMutableTransaction
    - std::vector<CRecipient>
    - UniValue
    - CCoinControl
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 517
    functionDepth: 7
    functionLinenumber: 517
    functionLinenumberEnd: 728
    functionName: wallet::FundTransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 5
    functionsReached:
    - IsValidDestination
    - DecodeDestination
    - GetScriptForDestination
    - find_value
    - CFeeRate
    - std::move
    - CPubKey::GetID
    - AmountFromValue
    - HexToPubKey
    - m_external_provider::Merge
    - get_array
    - CHECK_NONFATAL
    - BlockUntilSyncedToCurrentChain
    - SetInputWeight
    - WitnessV0KeyHash
    - std::vector::end
    - ParseHashO
    - Expand
    - exists
    - CTxIn
    - m_change_type::emplace
    - empty
    - CScriptID
    - ParseOutputType
    - vout::empty
    - Parse
    - isNum
    - COutPoint
    - isNull
    - auto::empty
    - transaction_identifier::FromUint256
    - strprintf
    - get_str
    - get_bool
    - get_obj
    - wallet::FundTransaction
    - m_external_provider::pubkeys::emplace
    - wallet::SetFeeEstimateMode
    - IsHex
    - RPCTypeCheckObj
    - type
    - GetTransactionInputWeight
    - size
    - std::vector::begin
    - std::optional::value
    - UniValue::exists
    - ErrorString
    - JSONRPCError
    - m_external_provider::scripts::emplace
    - UniValueType
    - getInt
    linkageType: ''
    returnType: CreatedTransactionResult
    signature: CreatedTransactionResult FundTransaction(CWallet& wallet, const CMutableTransaction&
      tx, const std::vector<CRecipient>& recipients, const UniValue& options, CCoinControl&
      coinControl, bool override_min_fee)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:732,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:733,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:735,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:739,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:740,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:741,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:744,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' inputs'
    - ' options'
    argTypes:
    - UniValue
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 730
    functionDepth: 5
    functionLinenumber: 730
    functionLinenumberEnd: 745
    functionName: wallet::SetOptionsInputWeights
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 2
    functionsReached:
    - getValues
    - pushKV
    - UniValue::push_back
    - size
    - std::move
    - JSONRPCError
    - exists
    linkageType: ''
    returnType: void
    signature: void SetOptionsInputWeights(const UniValue& inputs, UniValue& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:768,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:778,1
    - Dst: wallet::FundTxDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:809,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:832,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:834,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:836,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:838,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:842,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:846,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:847,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:847,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:848,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:848,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:849,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:849,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:850,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:856,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:857,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:859,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:860,1
    - Dst: wallet::InterpretSubtractFeeFromOutputInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:862,1
    - Dst: CMutableTransaction::vout::clear
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:869,1
    - Dst: wallet::FundTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:870,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:873,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:873,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:874,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:874,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 747
    functionDepth: 6
    functionLinenumber: 747
    functionLinenumberEnd: 880
    functionName: wallet::fundrawtransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - std::vector::emplace_back
    - HelpExampleCli
    - DecodeHexTx
    - std::vector::size
    - CMutableTransaction::CMutableTransaction
    - ValueFromAmount
    - isNull
    - UniValue::pushKV
    - wallet::FundTxDoc
    - wallet::FundTransaction
    - get_str
    - get_bool
    - CMutableTransaction::vout::clear
    - wallet::InterpretSubtractFeeFromOutputInstructions
    - ExtractDestination
    - wallet::CreateRecipients
    - EncodeHexTx
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan fundrawtransaction()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:938,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:939,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:943,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:946,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:947,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:947,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:948,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:952,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:953,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:960,1
    - Dst: ParsePrevouts
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:963,1
    - Dst: ParseSighashString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:965,1
    - Dst: std::shared_ptr::SignTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:973,1
    - Dst: SignTransactionResultToJSON
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 882
    functionDepth: 8
    functionLinenumber: 882
    functionLinenumberEnd: 979
    functionName: wallet::signrawtransactionwithwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - ParseSighashString
    - std::shared_ptr::chain
    - HelpExampleCli
    - std::shared_ptr::SignTransaction
    - CMutableTransaction::CMutableTransaction
    - ParsePrevouts
    - SignTransactionResultToJSON
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - DecodeHexTx
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan signrawtransactionwithwallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 999
    functionName: wallet::OutputsDoc
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RPCArg>
    signature: std::vector<RPCArg> OutputsDoc()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CFeeRate
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1004,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1008,1
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1038,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1038,1
    - Dst: wallet::OutputsDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1043,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1054,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1068,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1069,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1073,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1076,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1076,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1077,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1080,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1080,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1089,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1091,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1093,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1094,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1095,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1096,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1097,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1098,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1099,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1103,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1103,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1104,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1107,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1109,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1110,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1112,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1115,1
    - Dst: isArray
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1116,1
    - Dst: empty
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1116,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1117,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1119,1
    - Dst: AddOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1120,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1124,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1125,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1131,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1133,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1135,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1141,1
    - Dst: wallet::feebumper::CreateRateBumpTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1144,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1148,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1151,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1154,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1157,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1160,1
    - Dst: wallet::feebumper::SignTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1170,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1171,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1172,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1174,1
    - Dst: wallet::feebumper::CommitTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1178,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1178,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1179,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1182,1
    - Dst: Txid::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1182,1
    - Dst: std::shared_ptr::FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1186,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1187,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1188,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1191,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1191,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1191,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1194,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1194,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1195,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1195,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1198,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1200,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1200,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 75
    argCount: 1
    argNames:
    - method_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1001
    functionDepth: 11
    functionLinenumber: 1001
    functionLinenumberEnd: 1205
    functionName: wallet::bumpfee_helper
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 2
    functionsReached:
    - AddOutputs
    - Txid::GetHex
    - CFeeRate
    - std::move
    - std::string
    - EncodeBase64
    - wallet::OutputsDoc
    - CHECK_NONFATAL
    - ParseHashV
    - HelpExampleCli
    - std::shared_ptr::IsWalletFlagSet
    - UniValue::push_back
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - wallet::feebumper::CommitTransaction
    - empty
    - CMutableTransaction::CMutableTransaction
    - FeeModesDetail
    - ValueFromAmount
    - transaction_identifier::FromUint256
    - isNull
    - UniValue::pushKV
    - wallet::feebumper::SignTransaction
    - get_bool
    - std::shared_ptr::FillPSBT
    - wallet::SetFeeEstimateMode
    - RPCTypeCheckObj
    - isArray
    - DataStream::str
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - UniValue::exists
    - wallet::GetWalletForJSONRPCRequest
    - JSONRPCError
    - UniValueType
    - wallet::feebumper::CreateRateBumpTransaction
    - getInt
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan bumpfee_helper(std::string method_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::bumpfee_helper
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1207
    functionDepth: 12
    functionLinenumber: 1207
    functionLinenumberEnd: 1207
    functionName: wallet::bumpfee
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::bumpfee_helper
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan bumpfee()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wallet::bumpfee_helper
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1208
    functionDepth: 12
    functionLinenumber: 1208
    functionLinenumberEnd: 1208
    functionName: wallet::psbtbumpfee
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - wallet::bumpfee_helper
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan psbtbumpfee()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wallet::OutputsDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1221,1
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1225,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1225,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1228,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1239,1
    - Dst: wallet::FundTxDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1270,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1284,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1286,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1288,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1290,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1292,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1296,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1299,1
    - Dst: wallet::InterpretFeeEstimationInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1300,1
    - Dst: wallet::PreventOutdatedOptions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1301,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1304,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1304,1
    - Dst: NormalizeOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1306,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1307,1
    - Dst: ParseOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1308,1
    - Dst: wallet::InterpretSubtractFeeFromOutputInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1309,1
    - Dst: UniValue::getKeys
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1309,1
    - Dst: ConstructTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1311,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1315,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1316,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1317,1
    - Dst: wallet::SetOptionsInputWeights
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1319,1
    - Dst: CMutableTransaction::vout::clear
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1322,1
    - Dst: wallet::FundTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1323,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1325,1
    - Dst: wallet::FinishTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1210
    functionDepth: 9
    functionLinenumber: 1210
    functionLinenumberEnd: 1329
    functionName: wallet::send
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - std::string
    - ParseOutputs
    - ConstructTransaction
    - wallet::OutputsDoc
    - wallet::PreventOutdatedOptions
    - HelpExampleCli
    - CMutableTransaction::vin::size
    - CMutableTransaction
    - wallet::SetOptionsInputWeights
    - FeeModesDetail
    - isNull
    - wallet::FundTxDoc
    - get_bool
    - wallet::FundTransaction
    - wallet::FinishTransaction
    - CMutableTransaction::vout::clear
    - wallet::InterpretSubtractFeeFromOutputInstructions
    - wallet::CreateRecipients
    - wallet::InterpretFeeEstimationInstructions
    - UniValue::getKeys
    - UniValue::exists
    - NormalizeOutputs
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan send()
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: FeeModesDetail
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1352,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1352,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1356,1
    - Dst: wallet::FundTxDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1379,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1395,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1397,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1399,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1401,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1403,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1407,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1411,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1413,1
    - Dst: wallet::InterpretFeeEstimationInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1414,1
    - Dst: wallet::PreventOutdatedOptions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1415,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1421,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1423,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1425,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1425,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1426,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1426,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1427,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1427,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1429,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1433,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1434,1
    - Dst: wallet::SetFeeEstimateMode
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1439,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1441,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1442,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1444,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1444,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1444,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1447,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1450,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1451,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1454,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1454,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1458,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1458,1
    - Dst: wallet::GetMinimumFeeRate
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1461,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1465,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1465,1
    - Dst: CCoinControl::m_feerate::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1465,1
    - Dst: CFeeRate::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1465,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1469,1
    - Dst: ConstructTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1472,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1473,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1476,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1476,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1477,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1477,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1478,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1479,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1479,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1479,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1480,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1481,1
    - Dst: std::shared_ptr::IsSpent
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1483,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1484,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1484,1
    - Dst: prevout::hash::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1484,1
    - Dst: std::shared_ptr::GetWalletTx
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1486,1
    - Dst: CWalletTx*::tx::vout::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1487,1
    - Dst: std::shared_ptr::IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1487,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1488,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1488,1
    - Dst: prevout::hash::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1488,1
    - Dst: wallet::AvailableCoins
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1495,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1496,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1497,1
    - Dst: CScript
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1500,1
    - Dst: CMutableTransaction::vin::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1501,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1507,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1507,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1510,1
    - Dst: wallet::CalculateMaximumSignedTxSize
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1514,1
    - Dst: CTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1514,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1514,1
    - Dst: CFeeRate::GetFee
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1515,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1516,1
    - Dst: std::optional::value_or
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1517,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1520,1
    - Dst: TransactionErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1520,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1525,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1527,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1533,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1542,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1547,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1550,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1555,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1556,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1557,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1560,1
    - Dst: wallet::IsDust
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1563,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1563,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1565,1
    - Dst: wallet::IsDust
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1568,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1568,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1570,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1570,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1575,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1575,1
    - Dst: std::shared_ptr::LockCoin
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1578,1
    - Dst: wallet::FinishTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1582,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1331
    functionDepth: 10
    functionLinenumber: 1331
    functionLinenumberEnd: 1585
    functionName: wallet::sendall
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - CMutableTransaction::vin::push_back
    - EncodeDestination
    - std::move
    - std::string
    - std::vector::push_back
    - wallet::AvailableCoins
    - std::set::insert
    - ConstructTransaction
    - std::shared_ptr::GetWalletTx
    - CHECK_NONFATAL
    - wallet::PreventOutdatedOptions
    - std::optional::value_or
    - HelpExampleCli
    - CMutableTransaction::vin::size
    - Cat
    - wallet::IsDust
    - UniValue::push_back
    - std::vector::reserve
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - wallet::GetMinimumFeeRate
    - CFeeRate::GetFee
    - wallet::CalculateMaximumSignedTxSize
    - std::shared_ptr::LockCoin
    - CCoinControl::m_feerate::ToString
    - CTransaction
    - FeeModesDetail
    - isNull
    - CFeeRate::ToString
    - isStr
    - UniValue::pushKV
    - get_str
    - wallet::FundTxDoc
    - strprintf
    - get_bool
    - std::shared_ptr::IsSpent
    - prevout::hash::ToString
    - CWalletTx*::tx::vout::size
    - TransactionErrorString
    - std::set::count
    - wallet::SetFeeEstimateMode
    - std::shared_ptr::IsMine
    - wallet::FinishTransaction
    - std::shared_ptr::get
    - ExtractDestination
    - wallet::InterpretFeeEstimationInstructions
    - size
    - LOCK
    - UniValue::exists
    - CScript
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - std::set::size
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan sendall()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1617,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1621,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1627,1
    - Dst: PartiallySignedTransaction::PartiallySignedTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1630,1
    - Dst: DecodeBase64PSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1632,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1632,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1633,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1633,1
    - Dst: ParseSighashString
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1637,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1640,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1640,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1641,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1641,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1642,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1642,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1645,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1647,1
    - Dst: JSONRPCPSBTError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1649,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1655,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1655,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1655,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1656,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1658,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1660,1
    - Dst: FinalizeAndExtractPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1660,1
    - Dst: DataStream::DataStream
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1661,1
    - Dst: TX_WITH_WITNESS
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1662,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1663,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1663,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1587
    functionDepth: 6
    functionLinenumber: 1587
    functionLinenumberEnd: 1669
    functionName: wallet::walletprocesspsbt
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - ParseSighashString
    - EncodeBase64
    - CHECK_NONFATAL
    - BlockUntilSyncedToCurrentChain
    - HelpExampleCli
    - FillPSBT
    - TX_WITH_WITNESS
    - HexStr
    - CMutableTransaction::CMutableTransaction
    - isNull
    - UniValue::pushKV
    - strprintf
    - get_bool
    - get_str
    - FinalizeAndExtractPSBT
    - DecodeBase64PSBT
    - JSONRPCPSBTError
    - DataStream::str
    - wallet::EnsureWalletIsUnlocked
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - DataStream::DataStream
    - PartiallySignedTransaction::PartiallySignedTransaction
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletprocesspsbt()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wallet::OutputsDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1701,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1705,1
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1715,1
    - Dst: wallet::FundTxDoc
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1731,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1745,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1747,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1751,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1757,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1759,1
    - Dst: UniValue::isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1762,1
    - Dst: UniValue::get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1762,1
    - Dst: ConstructTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1763,1
    - Dst: NormalizeOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1765,1
    - Dst: wallet::CreateRecipients
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1766,1
    - Dst: ParseOutputs
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1767,1
    - Dst: wallet::InterpretSubtractFeeFromOutputInstructions
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1768,1
    - Dst: UniValue::getKeys
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1768,1
    - Dst: CMutableTransaction::vin::size
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1773,1
    - Dst: wallet::SetOptionsInputWeights
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1774,1
    - Dst: CMutableTransaction::vout::clear
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1777,1
    - Dst: wallet::FundTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1778,1
    - Dst: CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1781,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1784,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1784,1
    - Dst: FillPSBT
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1786,1
    - Dst: JSONRPCPSBTError
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1788,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1796,1
    - Dst: EncodeBase64
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1796,1
    - Dst: DataStream::str
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1796,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1797,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1797,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/spend.cpp:1798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1671
    functionDepth: 9
    functionLinenumber: 1671
    functionLinenumberEnd: 1802
    functionName: wallet::walletcreatefundedpsbt
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/spend.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - UniValue::get_bool
    - EncodeBase64
    - ParseOutputs
    - ConstructTransaction
    - wallet::OutputsDoc
    - BlockUntilSyncedToCurrentChain
    - HelpExampleCli
    - CMutableTransaction::vin::size
    - CMutableTransaction
    - FillPSBT
    - wallet::SetOptionsInputWeights
    - ValueFromAmount
    - isNull
    - wallet::FundTxDoc
    - UniValue::pushKV
    - wallet::FundTransaction
    - get_bool
    - CMutableTransaction::vout::clear
    - wallet::InterpretSubtractFeeFromOutputInstructions
    - wallet::CreateRecipients
    - JSONRPCPSBTError
    - DataStream::str
    - UniValue::getKeys
    - UniValue::isNull
    - NormalizeOutputs
    - wallet::GetWalletForJSONRPCRequest
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletcreatefundedpsbt()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:30,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:36,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:37,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:41,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:44,1
    - Dst: std::shared_ptr::CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:46,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:47,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:51,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:54,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:55,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:55,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:57,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:57,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:57,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:59,1
    - Dst: std::shared_ptr::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:62,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:64,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:64,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 70
    functionName: wallet::getnewaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 2
    functionsReached:
    - FormatAllOutputTypes
    - HelpExampleCli
    - EncodeDestination
    - util::ErrorString
    - wallet::LabelFromValue
    - ParseOutputType
    - HelpExampleRpc
    - std::shared_ptr::GetNewDestination
    - LOCK
    - isNull
    - get_str
    - std::optional::value
    - strprintf
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::CanGetAddresses
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getnewaddress()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:79,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:85,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:86,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:90,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:93,1
    - Dst: std::shared_ptr::CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:95,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:96,1
    - Dst: std::shared_ptr::m_default_change_type::value_or
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:99,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:100,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:101,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:101,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:103,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:103,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:103,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:105,1
    - Dst: std::shared_ptr::GetNewChangeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:108,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:110,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:110,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 115
    functionName: wallet::getrawchangeaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::GetNewChangeDestination
    - FormatAllOutputTypes
    - HelpExampleCli
    - EncodeDestination
    - util::ErrorString
    - std::shared_ptr::m_default_change_type::value_or
    - ParseOutputType
    - HelpExampleRpc
    - LOCK
    - isNull
    - get_str
    - std::optional::value
    - strprintf
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::CanGetAddresses
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getrawchangeaddress()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:129,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:130,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:134,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:137,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:139,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:139,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:140,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:141,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:144,1
    - Dst: std::shared_ptr::IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:146,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:147,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 155
    functionName: wallet::setlabel
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::IsMine
    - IsValidDestination
    - HelpExampleCli
    - DecodeDestination
    - std::shared_ptr::SetAddressBook
    - wallet::LabelFromValue
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan setlabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:180,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:181,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:185,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:190,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:192,1
    - Dst: wallet::GetAddressBalances
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:195,1
    - Dst: wallet::GetAddressGroupings
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:196,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:201,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:201,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:202,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:202,1
    - Dst: std::shared_ptr::FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:204,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:206,1
    - Dst: auto*::GetLabel
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:206,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:209,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:209,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:211,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 157
    functionDepth: 8
    functionLinenumber: 157
    functionLinenumberEnd: 216
    functionName: wallet::listaddressgroupings
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - wallet::GetAddressGroupings
    - EncodeDestination
    - std::shared_ptr::FindAddressBookEntry
    - ValueFromAmount
    - UniValue::push_back
    - std::move
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - wallet::GetWalletForJSONRPCRequest
    - wallet::GetAddressBalances
    - auto*::GetLabel
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listaddressgroupings()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:222,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:222,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:225,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:229,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:230,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:234,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:237,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:241,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:242,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:243,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:244,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:247,1
    - Dst: std::shared_ptr::TopUpKeyPool
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:248,1
    - Dst: std::shared_ptr::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:250,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:251,1
    - Dst: std::shared_ptr::RefreshAllTXOs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 258
    functionName: wallet::keypoolrefill
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - HelpExampleCli
    - util::ToString
    - HelpExampleRpc
    - std::shared_ptr::TopUpKeyPool
    - LOCK
    - isNull
    - wallet::EnsureWalletIsUnlocked
    - std::shared_ptr::GetKeyPoolSize
    - strprintf
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - std::shared_ptr::RefreshAllTXOs
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan keypoolrefill()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:270,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:271,1
    - Dst: GetTxnOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:271,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:272,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:272,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:275,1
    - Dst: DescribeAddress
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:278,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:279,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:279,1
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:280,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:281,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:281,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:282,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:282,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:283,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:283,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:285,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:285,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:286,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:286,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:289,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:291,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:292,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:292,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:293,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:293,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:295,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' subscript'
    - ' obj'
    argTypes:
    - CScript
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 297
    functionName: wallet::DescribeWalletAddressVisitor::ProcessSubScript
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - GetTxnOutputType
    - end
    - pushKV
    - EncodeDestination
    - UniValue::pushKVs
    - ExtractDestination
    - DescribeAddress
    - std::visit
    - std::move
    - UniValue::push_back
    - UniValue::exists
    - UniValue::pushKV
    - Solver
    - HexStr
    - std::vector::size
    - begin
    linkageType: ''
    returnType: void
    signature: void ProcessSubScript(const CScript& subscript, UniValue& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _provider
    argTypes:
    - SigningProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: wallet::DescribeWalletAddressVisitor::DescribeWalletAddressVisitor
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescribeWalletAddressVisitor(const SigningProvider* _provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: operator()(const CNoDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const CNoDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: operator()(const PubKeyDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const PubKeyDestination& dest) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:306,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:308,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:309,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:310,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:310,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:311,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pkhash'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: operator()(const PKHash& pkhash) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::IsCompressed
    - CPubKey::CPubKey
    - UniValue::pushKV
    - ToKeyID
    - HexStr
    - GetPubKey
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const PKHash& pkhash) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:320,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:321,1
    - Dst: ToScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:321,1
    - Dst: ProcessSubScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' scripthash'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: operator()(const ScriptHash& scripthash) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - GetCScript
    - ProcessSubScript
    - ToScriptID
    - CScript::CScript
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const ScriptHash& scripthash) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:330,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:331,1
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:331,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:332,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: operator()(const WitnessV0KeyHash& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::CPubKey
    - UniValue::pushKV
    - ToKeyID
    - HexStr
    - GetPubKey
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessV0KeyHash& id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:341,1
    - Dst: CRIPEMD160::CRIPEMD160
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:342,1
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:343,1
    - Dst: CRIPEMD160::Write
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:344,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:344,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:344,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:345,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:345,1
    - Dst: ProcessSubScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: operator()(const WitnessV0ScriptHash& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - CRIPEMD160::CRIPEMD160
    - CRIPEMD160::Write
    - uint160::begin
    - CScriptID
    - ProcessSubScript
    - GetCScript
    - begin
    - uint160::uint160
    - CScript::CScript
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessV0ScriptHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV1Taproot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: operator()(const WitnessV1Taproot& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessV1Taproot& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - PayToAnchor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: operator()(const PayToAnchor& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const PayToAnchor& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: operator()(const WitnessUnknown& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessUnknown& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescribeAddress
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:359,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:360,1
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:362,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:363,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:363,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:364,1
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:364,1
    - Dst: DescribeWalletAddressVisitor
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:364,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' dest'
    argTypes:
    - CWallet
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: wallet::DescribeWalletAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - DescribeWalletAddressVisitor
    - UniValue::pushKVs
    - GetSolvingProvider
    - GetScriptForDestination
    - DescribeAddress
    - std::visit
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: UniValue
    signature: UniValue DescribeWalletAddress(const CWallet& wallet, const CTxDestination&
      dest)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:420,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:421,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:425,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:428,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:431,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:431,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:434,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:436,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:438,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:443,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:444,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:446,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:447,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:447,1
    - Dst: std::shared_ptr::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:449,1
    - Dst: std::shared_ptr::IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:451,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:452,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:455,1
    - Dst: auto::IsSolvable
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:456,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:457,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:459,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:459,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:462,1
    - Dst: std::shared_ptr::GetScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:465,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:468,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:468,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:470,1
    - Dst: DescriptorScriptPubKeyMan*::GetDescriptorString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:473,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:474,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:478,1
    - Dst: wallet::DescribeWalletAddress
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:480,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:481,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:481,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:483,1
    - Dst: wallet::ScriptIsChange
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:483,1
    - Dst: ScriptPubKeyMan*::GetMetadata
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:486,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:487,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:491,1
    - Dst: WriteHDKeypath
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:491,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:492,1
    - Dst: std::unique_ptr::hd_seed_id::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:492,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:493,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:493,1
    - Dst: std::shared_ptr::FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:504,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:506,1
    - Dst: auto*::GetLabel
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:506,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:508,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:508,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 368
    functionDepth: 7
    functionLinenumber: 368
    functionLinenumberEnd: 513
    functionName: wallet::getaddressinfo
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - IsValidDestination
    - EncodeDestination
    - DecodeDestination
    - GetScriptForDestination
    - std::string::empty
    - auto::IsSolvable
    - std::move
    - HelpExampleCli
    - InferDescriptor
    - std::shared_ptr::GetScriptPubKeyMans
    - UniValue::push_back
    - ScriptPubKeyMan*::GetMetadata
    - std::unique_ptr::hd_seed_id::GetHex
    - DescriptorScriptPubKeyMan*::GetDescriptorString
    - wallet::ScriptIsChange
    - std::shared_ptr::GetSolvingProvider
    - WriteHDKeypath
    - std::shared_ptr::FindAddressBookEntry
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - HelpExampleRpc
    - UniValue::pushKV
    - get_str
    - wallet::DescribeWalletAddress
    - std::shared_ptr::IsMine
    - UniValue::pushKVs
    - size
    - LOCK
    - wallet::GetWalletForJSONRPCRequest
    - JSONRPCError
    - HexStr
    - begin
    - auto*::GetLabel
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getaddressinfo()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:533,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:534,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:538,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:541,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:543,1
    - Dst: std::shared_ptr::ForEachAddrBookEntry
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:548,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:551,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:555,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:556,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:562,1
    - Dst: wallet::PurposeToString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:562,1
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:563,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:563,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:567,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:568,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 515
    functionDepth: 5
    functionLinenumber: 515
    functionLinenumberEnd: 574
    functionName: wallet::getaddressesbylabel
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::ForEachAddrBookEntry
    - UniValue::empty
    - HelpExampleCli
    - EncodeDestination
    - wallet::LabelFromValue
    - wallet::PurposeToString
    - std::move
    - HelpExampleRpc
    - std::string
    - LOCK
    - UniValue::pushKVEnd
    - std::set::emplace
    - UniValue::pushKV
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - CHECK_NONFATAL
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getaddressesbylabel()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:592,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:594,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:596,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:598,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:602,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:605,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:608,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:609,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:610,1
    - Dst: wallet::PurposeFromString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:611,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:613,1
    - Dst: std::shared_ptr::ListAddrBookLabels
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:619,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 576
    functionDepth: 5
    functionLinenumber: 576
    functionLinenumberEnd: 629
    functionName: wallet::listlabels
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - wallet::PurposeFromString
    - HelpExampleCli
    - std::shared_ptr::ListAddrBookLabels
    - UniValue::push_back
    - std::string::empty
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - isNull
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listlabels()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:650,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:652,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:654,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:656,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:656,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:659,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:660,1
    - Dst: CWallet*::DisplayAddress
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:663,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:664,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:664,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:667,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 671
    functionName: wallet::walletdisplayaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - IsValidDestination
    - DecodeDestination
    - CWallet*::DisplayAddress
    - util::ErrorString
    - std::shared_ptr::get
    - JSONRPCError
    - LOCK
    - UniValue::pushKV
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletdisplayaddress()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:30,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:36,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:37,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:41,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:44,1
    - Dst: std::shared_ptr::CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:46,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:47,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:51,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:54,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:55,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:55,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:57,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:57,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:57,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:59,1
    - Dst: std::shared_ptr::GetNewDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:62,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:64,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:64,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 70
    functionName: wallet::getnewaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 2
    functionsReached:
    - FormatAllOutputTypes
    - HelpExampleCli
    - EncodeDestination
    - util::ErrorString
    - wallet::LabelFromValue
    - ParseOutputType
    - HelpExampleRpc
    - std::shared_ptr::GetNewDestination
    - LOCK
    - isNull
    - get_str
    - std::optional::value
    - strprintf
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::CanGetAddresses
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getnewaddress()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:79,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:85,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:86,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:90,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:93,1
    - Dst: std::shared_ptr::CanGetAddresses
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:95,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:96,1
    - Dst: std::shared_ptr::m_default_change_type::value_or
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:99,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:100,1
    - Dst: ParseOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:101,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:101,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:103,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:103,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:103,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:105,1
    - Dst: std::shared_ptr::GetNewChangeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:108,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:110,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:110,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 115
    functionName: wallet::getrawchangeaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::GetNewChangeDestination
    - FormatAllOutputTypes
    - HelpExampleCli
    - EncodeDestination
    - util::ErrorString
    - std::shared_ptr::m_default_change_type::value_or
    - ParseOutputType
    - HelpExampleRpc
    - LOCK
    - isNull
    - get_str
    - std::optional::value
    - strprintf
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::CanGetAddresses
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getrawchangeaddress()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:129,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:130,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:134,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:137,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:139,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:139,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:140,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:141,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:144,1
    - Dst: std::shared_ptr::IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:146,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:147,1
    - Dst: std::shared_ptr::SetAddressBook
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 155
    functionName: wallet::setlabel
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::IsMine
    - IsValidDestination
    - HelpExampleCli
    - DecodeDestination
    - std::shared_ptr::SetAddressBook
    - wallet::LabelFromValue
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan setlabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:180,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:181,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:185,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:190,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:192,1
    - Dst: wallet::GetAddressBalances
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:195,1
    - Dst: wallet::GetAddressGroupings
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:196,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:201,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:201,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:202,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:202,1
    - Dst: std::shared_ptr::FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:204,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:206,1
    - Dst: auto*::GetLabel
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:206,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:209,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:209,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:211,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 157
    functionDepth: 8
    functionLinenumber: 157
    functionLinenumberEnd: 216
    functionName: wallet::listaddressgroupings
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - wallet::GetAddressGroupings
    - EncodeDestination
    - std::shared_ptr::FindAddressBookEntry
    - ValueFromAmount
    - UniValue::push_back
    - std::move
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - wallet::GetWalletForJSONRPCRequest
    - wallet::GetAddressBalances
    - auto*::GetLabel
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listaddressgroupings()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FormatAllOutputTypes
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:222,1
    - Dst: util::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:222,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:225,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:229,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:230,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:234,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:237,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:241,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:242,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:243,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:244,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:247,1
    - Dst: std::shared_ptr::TopUpKeyPool
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:248,1
    - Dst: std::shared_ptr::GetKeyPoolSize
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:250,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:251,1
    - Dst: std::shared_ptr::RefreshAllTXOs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 258
    functionName: wallet::keypoolrefill
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - FormatAllOutputTypes
    - HelpExampleCli
    - util::ToString
    - HelpExampleRpc
    - std::shared_ptr::TopUpKeyPool
    - LOCK
    - isNull
    - wallet::EnsureWalletIsUnlocked
    - std::shared_ptr::GetKeyPoolSize
    - strprintf
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - std::shared_ptr::RefreshAllTXOs
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan keypoolrefill()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Solver
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:270,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:271,1
    - Dst: GetTxnOutputType
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:271,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:272,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:272,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:275,1
    - Dst: DescribeAddress
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:278,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:279,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:279,1
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:280,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:281,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:281,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:282,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:282,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:283,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:283,1
    - Dst: UniValue::exists
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:285,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:285,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:286,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:286,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:289,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:291,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:292,1
    - Dst: end
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:292,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:293,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:293,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:295,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' subscript'
    - ' obj'
    argTypes:
    - CScript
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 297
    functionName: wallet::DescribeWalletAddressVisitor::ProcessSubScript
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - GetTxnOutputType
    - end
    - pushKV
    - EncodeDestination
    - UniValue::pushKVs
    - ExtractDestination
    - DescribeAddress
    - std::visit
    - std::move
    - UniValue::push_back
    - UniValue::exists
    - UniValue::pushKV
    - Solver
    - HexStr
    - std::vector::size
    - begin
    linkageType: ''
    returnType: void
    signature: void ProcessSubScript(const CScript& subscript, UniValue& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _provider
    argTypes:
    - SigningProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: wallet::DescribeWalletAddressVisitor::DescribeWalletAddressVisitor
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DescribeWalletAddressVisitor(const SigningProvider* _provider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - CNoDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: operator()(const CNoDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const CNoDestination& dest) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dest'
    argTypes:
    - PubKeyDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: operator()(const PubKeyDestination& dest) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const PubKeyDestination& dest) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:306,1
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:308,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:309,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:310,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:310,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:311,1
    - Dst: CPubKey::IsCompressed
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pkhash'
    argTypes:
    - PKHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: operator()(const PKHash& pkhash) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::IsCompressed
    - CPubKey::CPubKey
    - UniValue::pushKV
    - ToKeyID
    - HexStr
    - GetPubKey
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const PKHash& pkhash) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:320,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:321,1
    - Dst: ToScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:321,1
    - Dst: ProcessSubScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' scripthash'
    argTypes:
    - ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: operator()(const ScriptHash& scripthash) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - GetCScript
    - ProcessSubScript
    - ToScriptID
    - CScript::CScript
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const ScriptHash& scripthash) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPubKey::CPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:330,1
    - Dst: GetPubKey
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:331,1
    - Dst: ToKeyID
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:331,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:332,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0KeyHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: operator()(const WitnessV0KeyHash& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - CPubKey::CPubKey
    - UniValue::pushKV
    - ToKeyID
    - HexStr
    - GetPubKey
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessV0KeyHash& id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:341,1
    - Dst: CRIPEMD160::CRIPEMD160
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:342,1
    - Dst: uint160::uint160
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:343,1
    - Dst: CRIPEMD160::Write
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:344,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:344,1
    - Dst: uint160::begin
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:344,1
    - Dst: GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:345,1
    - Dst: CScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:345,1
    - Dst: ProcessSubScript
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV0ScriptHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: operator()(const WitnessV0ScriptHash& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - CRIPEMD160::CRIPEMD160
    - CRIPEMD160::Write
    - uint160::begin
    - CScriptID
    - ProcessSubScript
    - GetCScript
    - begin
    - uint160::uint160
    - CScript::CScript
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessV0ScriptHash& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessV1Taproot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: operator()(const WitnessV1Taproot& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessV1Taproot& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - PayToAnchor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: operator()(const PayToAnchor& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const PayToAnchor& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - WitnessUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: operator()(const WitnessUnknown& id) const
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - UniValue
    linkageType: ''
    returnType: UniValue
    signature: UniValue operator()(const WitnessUnknown& id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescribeAddress
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:359,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:360,1
    - Dst: GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:362,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:363,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:363,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:364,1
    - Dst: std::visit
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:364,1
    - Dst: DescribeWalletAddressVisitor
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:364,1
    - Dst: std::unique_ptr::get
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' dest'
    argTypes:
    - CWallet
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: wallet::DescribeWalletAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 1
    functionsReached:
    - DescribeWalletAddressVisitor
    - UniValue::pushKVs
    - GetSolvingProvider
    - GetScriptForDestination
    - DescribeAddress
    - std::visit
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: UniValue
    signature: UniValue DescribeWalletAddress(const CWallet& wallet, const CTxDestination&
      dest)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:420,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:421,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:425,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:428,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:431,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:431,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:434,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:436,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:438,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:443,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:444,1
    - Dst: GetScriptForDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:446,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:447,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:447,1
    - Dst: std::shared_ptr::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:449,1
    - Dst: std::shared_ptr::IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:451,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:452,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:455,1
    - Dst: auto::IsSolvable
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:456,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:457,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:459,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:459,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:462,1
    - Dst: std::shared_ptr::GetScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:465,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:468,1
    - Dst: begin
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:468,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:470,1
    - Dst: DescriptorScriptPubKeyMan*::GetDescriptorString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:473,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:474,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:478,1
    - Dst: wallet::DescribeWalletAddress
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:480,1
    - Dst: UniValue::pushKVs
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:481,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:481,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:483,1
    - Dst: wallet::ScriptIsChange
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:483,1
    - Dst: ScriptPubKeyMan*::GetMetadata
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:486,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:487,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:491,1
    - Dst: WriteHDKeypath
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:491,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:492,1
    - Dst: std::unique_ptr::hd_seed_id::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:492,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:493,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:493,1
    - Dst: std::shared_ptr::FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:504,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:506,1
    - Dst: auto*::GetLabel
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:506,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:508,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:508,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 368
    functionDepth: 7
    functionLinenumber: 368
    functionLinenumberEnd: 513
    functionName: wallet::getaddressinfo
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - IsValidDestination
    - EncodeDestination
    - DecodeDestination
    - GetScriptForDestination
    - std::string::empty
    - auto::IsSolvable
    - std::move
    - HelpExampleCli
    - InferDescriptor
    - std::shared_ptr::GetScriptPubKeyMans
    - UniValue::push_back
    - ScriptPubKeyMan*::GetMetadata
    - std::unique_ptr::hd_seed_id::GetHex
    - DescriptorScriptPubKeyMan*::GetDescriptorString
    - wallet::ScriptIsChange
    - std::shared_ptr::GetSolvingProvider
    - WriteHDKeypath
    - std::shared_ptr::FindAddressBookEntry
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - HelpExampleRpc
    - UniValue::pushKV
    - get_str
    - wallet::DescribeWalletAddress
    - std::shared_ptr::IsMine
    - UniValue::pushKVs
    - size
    - LOCK
    - wallet::GetWalletForJSONRPCRequest
    - JSONRPCError
    - HexStr
    - begin
    - auto*::GetLabel
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getaddressinfo()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:533,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:534,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:538,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:541,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:543,1
    - Dst: std::shared_ptr::ForEachAddrBookEntry
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:548,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:551,1
    - Dst: std::set::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:555,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:556,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:562,1
    - Dst: wallet::PurposeToString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:562,1
    - Dst: UniValue::pushKVEnd
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:563,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:563,1
    - Dst: UniValue::empty
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:567,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:568,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 515
    functionDepth: 5
    functionLinenumber: 515
    functionLinenumberEnd: 574
    functionName: wallet::getaddressesbylabel
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::ForEachAddrBookEntry
    - UniValue::empty
    - HelpExampleCli
    - EncodeDestination
    - wallet::LabelFromValue
    - wallet::PurposeToString
    - std::move
    - HelpExampleRpc
    - std::string
    - LOCK
    - UniValue::pushKVEnd
    - std::set::emplace
    - UniValue::pushKV
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - CHECK_NONFATAL
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getaddressesbylabel()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:592,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:594,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:596,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:598,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:602,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:605,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:608,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:609,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:610,1
    - Dst: wallet::PurposeFromString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:611,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:613,1
    - Dst: std::shared_ptr::ListAddrBookLabels
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:619,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 576
    functionDepth: 5
    functionLinenumber: 576
    functionLinenumberEnd: 629
    functionName: wallet::listlabels
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - wallet::PurposeFromString
    - HelpExampleCli
    - std::shared_ptr::ListAddrBookLabels
    - UniValue::push_back
    - std::string::empty
    - HelpExampleRpc
    - JSONRPCError
    - LOCK
    - isNull
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listlabels()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:650,1
    - Dst: std::shared_ptr::get
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:652,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:654,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:656,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:656,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:659,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:660,1
    - Dst: CWallet*::DisplayAddress
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:663,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:664,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:664,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:667,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/addresses.cpp:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 671
    functionName: wallet::walletdisplayaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/addresses.cpp
    functionUses: 0
    functionsReached:
    - IsValidDestination
    - DecodeDestination
    - CWallet*::DisplayAddress
    - util::ErrorString
    - std::shared_ptr::get
    - JSONRPCError
    - LOCK
    - UniValue::pushKV
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan walletdisplayaddress()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:95,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:97,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:99,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:101,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:103,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:107,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:112,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:114,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:116,1
    - Dst: GetReceived
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 119
    functionName: wallet::getreceivedbyaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ValueFromAmount
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - GetReceived
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getreceivedbyaddress()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:137,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:139,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:141,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:143,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:145,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:149,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:154,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:156,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:158,1
    - Dst: GetReceived
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 161
    functionName: wallet::getreceivedbylabel
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ValueFromAmount
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - GetReceived
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getreceivedbylabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:182,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:184,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:186,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:190,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:195,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:197,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:199,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:201,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:204,1
    - Dst: wallet::GetAvoidReuseFlag
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:206,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:208,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 164
    functionDepth: 8
    functionLinenumber: 164
    functionLinenumberEnd: 213
    functionName: wallet::getbalance
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - wallet::GetAvoidReuseFlag
    - ValueFromAmount
    - wallet::GetBalance
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - MaybeArg
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - Arg
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getbalance()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:247,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:249,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:251,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:253,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:255,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:257,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:261,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:266,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:268,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:270,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:272,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:272,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:274,1
    - Dst: std::shared_ptr::UnlockAllCoins
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:276,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:277,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:282,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:287,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:287,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:289,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:290,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:292,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:294,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:295,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:298,1
    - Dst: ParseHashO
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:298,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:299,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:301,1
    - Dst: std::shared_ptr::mapWallet::find
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:306,1
    - Dst: std::shared_ptr::mapWallet::end
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:307,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:308,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:313,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:314,1
    - Dst: std::shared_ptr::IsSpent
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:317,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:318,1
    - Dst: std::shared_ptr::IsLockedCoin
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:321,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:324,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:328,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:331,1
    - Dst: std::shared_ptr::UnlockCoin
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:337,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:337,1
    - Dst: std::shared_ptr::LockCoin
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:339,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:339,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 215
    functionDepth: 7
    functionLinenumber: 215
    functionLinenumberEnd: 346
    functionName: wallet::lockunspent
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - find_value
    - tx::vout::size
    - std::vector::push_back
    - get_array
    - std::shared_ptr::IsLockedCoin
    - std::shared_ptr::UnlockCoin
    - HelpExampleCli
    - ParseHashO
    - std::vector::reserve
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - std::shared_ptr::LockCoin
    - std::shared_ptr::mapWallet::find
    - HelpExampleRpc
    - isNull
    - transaction_identifier::FromUint256
    - get_bool
    - get_obj
    - std::shared_ptr::IsSpent
    - RPCTypeCheckObj
    - std::shared_ptr::mapWallet::end
    - std::shared_ptr::UnlockAllCoins
    - size
    - LOCK
    - wallet::GetWalletForJSONRPCRequest
    - JSONRPCError
    - UniValueType
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan lockunspent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:367,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:369,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:371,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:373,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:375,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:379,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:382,1
    - Dst: std::shared_ptr::ListLockedCoins
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:385,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:392,1
    - Dst: hash::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:392,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:393,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:394,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 400
    functionName: wallet::listlockunspent
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - std::shared_ptr::ListLockedCoins
    - UniValue::push_back
    - std::move
    - HelpExampleRpc
    - LOCK
    - hash::GetHex
    - UniValue::pushKV
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listlockunspent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:422,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:423,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:426,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:432,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:434,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:436,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:440,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:440,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:441,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:441,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:442,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:442,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:443,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:446,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:447,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:447,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:449,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:449,1
    - Dst: wallet::AppendLastProcessedBlock
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 402
    functionDepth: 8
    functionLinenumber: 402
    functionLinenumberEnd: 455
    functionName: wallet::getbalances
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ValueFromAmount
    - wallet::GetBalance
    - HelpExampleRpc
    - std::move
    - LOCK
    - wallet::AppendLastProcessedBlock
    - UniValue::pushKV
    - wallet::GetWalletForJSONRPCRequest
    - IsWalletFlagSet
    - BlockUntilSyncedToCurrentChain
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getbalances()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:476,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:515,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:516,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:517,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:518,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:519,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:523,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:527,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:528,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:532,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:533,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:537,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:538,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:539,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:541,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:541,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:542,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:543,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:543,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:543,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:545,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:546,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:546,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:546,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:552,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:553,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:559,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:560,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:562,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:564,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:565,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:566,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:567,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:568,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:572,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:573,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:575,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:576,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:578,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:579,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:581,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:582,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:584,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:585,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:591,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:601,1
    - Dst: wallet::AvailableCoinsListUnspent
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:602,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:605,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:607,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:612,1
    - Dst: std::shared_ptr::IsSpentKey
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:613,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:615,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:615,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:619,1
    - Dst: outpoint::hash::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:619,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:620,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:623,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:623,1
    - Dst: std::shared_ptr::FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:625,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:627,1
    - Dst: auto*::GetLabel
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:627,1
    - Dst: std::shared_ptr::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:630,1
    - Dst: IsPayToScriptHash
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:632,1
    - Dst: ToScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:633,1
    - Dst: std::get<ScriptHash>
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:633,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:634,1
    - Dst: std::unique_ptr::GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:635,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:636,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:636,1
    - Dst: CScript::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:639,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:640,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:641,1
    - Dst: std::get<WitnessV0ScriptHash>
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:643,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:644,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:645,1
    - Dst: std::unique_ptr::GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:646,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:647,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:647,1
    - Dst: IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:651,1
    - Dst: std::get<WitnessV0ScriptHash>
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:652,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:653,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:654,1
    - Dst: std::unique_ptr::GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:655,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:656,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:656,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:662,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:662,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:663,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:663,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:664,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:668,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:670,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:671,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:672,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:675,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:676,1
    - Dst: std::shared_ptr::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:678,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:680,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:681,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:681,1
    - Dst: wallet::PushParentDescriptors
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:684,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:685,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:686,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:687,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:687,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 457
    functionDepth: 7
    functionLinenumber: 457
    functionLinenumberEnd: 693
    functionName: wallet::listunspent
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - std::shared_ptr::chain
    - IsValidDestination
    - EncodeDestination
    - DecodeDestination
    - IsPayToWitnessScriptHash
    - std::unique_ptr::GetCScript
    - std::move
    - std::string
    - AmountFromValue
    - std::set::insert
    - get_array
    - std::get<WitnessV0ScriptHash>
    - CHECK_NONFATAL
    - ToScriptID
    - HelpExampleCli
    - InferDescriptor
    - std::shared_ptr::IsWalletFlagSet
    - UniValue::push_back
    - RIPEMD160
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - CScript::IsPayToWitnessScriptHash
    - std::get<ScriptHash>
    - FormatMoney
    - exists
    - IsPayToScriptHash
    - std::shared_ptr::GetSolvingProvider
    - HexStr
    - std::shared_ptr::FindAddressBookEntry
    - ValueFromAmount
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - get_bool
    - UniValue::size
    - get_str
    - get_obj
    - wallet::AvailableCoinsListUnspent
    - std::set::count
    - wallet::PushParentDescriptors
    - std::shared_ptr::IsSpentKey
    - outpoint::hash::GetHex
    - RPCTypeCheckObj
    - CScript::CScript
    - ExtractDestination
    - LOCK
    - wallet::GetWalletForJSONRPCRequest
    - JSONRPCError
    - UniValueType
    - getInt
    - auto*::GetLabel
    - std::set::size
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listunspent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:95,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:97,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:99,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:101,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:103,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:107,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:112,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:114,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:116,1
    - Dst: GetReceived
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 119
    functionName: wallet::getreceivedbyaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ValueFromAmount
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - GetReceived
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getreceivedbyaddress()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:137,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:139,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:141,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:143,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:145,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:149,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:154,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:156,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:158,1
    - Dst: GetReceived
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 161
    functionName: wallet::getreceivedbylabel
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ValueFromAmount
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - GetReceived
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getreceivedbylabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:182,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:184,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:186,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:190,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:195,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:197,1
    - Dst: MaybeArg
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:199,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:201,1
    - Dst: Arg
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:204,1
    - Dst: wallet::GetAvoidReuseFlag
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:206,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:208,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 164
    functionDepth: 8
    functionLinenumber: 164
    functionLinenumberEnd: 213
    functionName: wallet::getbalance
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - wallet::GetAvoidReuseFlag
    - ValueFromAmount
    - wallet::GetBalance
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - MaybeArg
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - Arg
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getbalance()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:247,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:249,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:251,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:253,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:255,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:257,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:261,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:266,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:268,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:270,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:272,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:272,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:274,1
    - Dst: std::shared_ptr::UnlockAllCoins
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:276,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:277,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:282,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:287,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:287,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:289,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:290,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:292,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:294,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:295,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:298,1
    - Dst: ParseHashO
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:298,1
    - Dst: find_value
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:299,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:301,1
    - Dst: std::shared_ptr::mapWallet::find
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:306,1
    - Dst: std::shared_ptr::mapWallet::end
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:307,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:308,1
    - Dst: tx::vout::size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:313,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:314,1
    - Dst: std::shared_ptr::IsSpent
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:317,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:318,1
    - Dst: std::shared_ptr::IsLockedCoin
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:321,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:324,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:328,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:331,1
    - Dst: std::shared_ptr::UnlockCoin
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:337,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:337,1
    - Dst: std::shared_ptr::LockCoin
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:339,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:339,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 215
    functionDepth: 7
    functionLinenumber: 215
    functionLinenumberEnd: 346
    functionName: wallet::lockunspent
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - find_value
    - tx::vout::size
    - std::vector::push_back
    - get_array
    - std::shared_ptr::IsLockedCoin
    - std::shared_ptr::UnlockCoin
    - HelpExampleCli
    - ParseHashO
    - std::vector::reserve
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - std::shared_ptr::LockCoin
    - std::shared_ptr::mapWallet::find
    - HelpExampleRpc
    - isNull
    - transaction_identifier::FromUint256
    - get_bool
    - get_obj
    - std::shared_ptr::IsSpent
    - RPCTypeCheckObj
    - std::shared_ptr::mapWallet::end
    - std::shared_ptr::UnlockAllCoins
    - size
    - LOCK
    - wallet::GetWalletForJSONRPCRequest
    - JSONRPCError
    - UniValueType
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan lockunspent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:367,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:369,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:371,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:373,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:375,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:379,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:382,1
    - Dst: std::shared_ptr::ListLockedCoins
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:385,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:392,1
    - Dst: hash::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:392,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:393,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:394,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 400
    functionName: wallet::listlockunspent
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - std::shared_ptr::ListLockedCoins
    - UniValue::push_back
    - std::move
    - HelpExampleRpc
    - LOCK
    - hash::GetHex
    - UniValue::pushKV
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listlockunspent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:422,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:423,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:426,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:432,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:434,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:436,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:440,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:440,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:441,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:441,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:442,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:442,1
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:443,1
    - Dst: wallet::GetBalance
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:446,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:447,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:447,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:449,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:449,1
    - Dst: wallet::AppendLastProcessedBlock
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 402
    functionDepth: 8
    functionLinenumber: 402
    functionLinenumberEnd: 455
    functionName: wallet::getbalances
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - ValueFromAmount
    - wallet::GetBalance
    - HelpExampleRpc
    - std::move
    - LOCK
    - wallet::AppendLastProcessedBlock
    - UniValue::pushKV
    - wallet::GetWalletForJSONRPCRequest
    - IsWalletFlagSet
    - BlockUntilSyncedToCurrentChain
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan getbalances()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FormatMoney
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:476,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:515,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:516,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:517,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:518,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:519,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:523,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:527,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:528,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:532,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:533,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:537,1
    - Dst: get_array
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:538,1
    - Dst: UniValue::size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:539,1
    - Dst: DecodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:541,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:541,1
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:542,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:543,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:543,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:543,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:545,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:546,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:546,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:546,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:552,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:553,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:559,1
    - Dst: get_obj
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:560,1
    - Dst: RPCTypeCheckObj
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:562,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:564,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:565,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:566,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:567,1
    - Dst: UniValueType
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:568,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:572,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:573,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:575,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:576,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:578,1
    - Dst: AmountFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:579,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:581,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:582,1
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:584,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:585,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:591,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:601,1
    - Dst: wallet::AvailableCoinsListUnspent
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:602,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:605,1
    - Dst: std::shared_ptr::IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:607,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:612,1
    - Dst: std::shared_ptr::IsSpentKey
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:613,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:615,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:615,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:619,1
    - Dst: outpoint::hash::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:619,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:620,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:623,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:623,1
    - Dst: std::shared_ptr::FindAddressBookEntry
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:625,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:627,1
    - Dst: auto*::GetLabel
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:627,1
    - Dst: std::shared_ptr::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:630,1
    - Dst: IsPayToScriptHash
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:632,1
    - Dst: ToScriptID
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:633,1
    - Dst: std::get<ScriptHash>
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:633,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:634,1
    - Dst: std::unique_ptr::GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:635,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:636,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:636,1
    - Dst: CScript::IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:639,1
    - Dst: ExtractDestination
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:640,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:641,1
    - Dst: std::get<WitnessV0ScriptHash>
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:643,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:644,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:645,1
    - Dst: std::unique_ptr::GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:646,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:647,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:647,1
    - Dst: IsPayToWitnessScriptHash
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:651,1
    - Dst: std::get<WitnessV0ScriptHash>
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:652,1
    - Dst: RIPEMD160
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:653,1
    - Dst: CScript::CScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:654,1
    - Dst: std::unique_ptr::GetCScript
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:655,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:656,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:656,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:662,1
    - Dst: HexStr
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:662,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:663,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:663,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:664,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:668,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:670,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:671,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:672,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:675,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:676,1
    - Dst: std::shared_ptr::GetSolvingProvider
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:678,1
    - Dst: InferDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:680,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:681,1
    - Dst: auto::ToString
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:681,1
    - Dst: wallet::PushParentDescriptors
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:684,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:685,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:686,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:687,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/coins.cpp:687,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 457
    functionDepth: 7
    functionLinenumber: 457
    functionLinenumberEnd: 693
    functionName: wallet::listunspent
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/coins.cpp
    functionUses: 0
    functionsReached:
    - auto::ToString
    - std::shared_ptr::chain
    - IsValidDestination
    - EncodeDestination
    - DecodeDestination
    - IsPayToWitnessScriptHash
    - std::unique_ptr::GetCScript
    - std::move
    - std::string
    - AmountFromValue
    - std::set::insert
    - get_array
    - std::get<WitnessV0ScriptHash>
    - CHECK_NONFATAL
    - ToScriptID
    - HelpExampleCli
    - InferDescriptor
    - std::shared_ptr::IsWalletFlagSet
    - UniValue::push_back
    - RIPEMD160
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - CScript::IsPayToWitnessScriptHash
    - std::get<ScriptHash>
    - FormatMoney
    - exists
    - IsPayToScriptHash
    - std::shared_ptr::GetSolvingProvider
    - HexStr
    - std::shared_ptr::FindAddressBookEntry
    - ValueFromAmount
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - get_bool
    - UniValue::size
    - get_str
    - get_obj
    - wallet::AvailableCoinsListUnspent
    - std::set::count
    - wallet::PushParentDescriptors
    - std::shared_ptr::IsSpentKey
    - outpoint::hash::GetHex
    - RPCTypeCheckObj
    - CScript::CScript
    - ExtractDestination
    - LOCK
    - wallet::GetWalletForJSONRPCRequest
    - JSONRPCError
    - UniValueType
    - getInt
    - auto*::GetLabel
    - std::set::size
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listunspent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: wallet::tallyitem
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tallyitem()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:221,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:222,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:223,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:224,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:225,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:229,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:234,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:236,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:236,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:238,1
    - Dst: ListReceived
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 243
    functionName: wallet::listreceivedbyaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - isNull
    - LOCK
    - ListReceived
    - get_bool
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listreceivedbyaddress()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:268,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:269,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:270,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:274,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:279,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:281,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:281,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:283,1
    - Dst: ListReceived
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 288
    functionName: wallet::listreceivedbylabel
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - isNull
    - LOCK
    - ListReceived
    - get_bool
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listreceivedbylabel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:292,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:293,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' entry'
    - dest
    argTypes:
    - UniValue
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: wallet::MaybePushAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - IsValidDestination
    - pushKV
    - EncodeDestination
    linkageType: ''
    returnType: void
    signature: void MaybePushAddress(UniValue & entry, const CTxDestination &dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 417
    functionName: wallet::TransactionDescriptionString
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RPCResult>
    signature: std::vector<RPCResult> TransactionDescriptionString()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:435,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:435,1
    - Dst: wallet::TransactionDescriptionString
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:451,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:459,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:461,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:463,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:467,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:472,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:475,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:475,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:476,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:476,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:477,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:478,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:482,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:483,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:485,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:486,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:490,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:492,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:496,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:501,1
    - Dst: rend
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:501,1
    - Dst: ListTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:504,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:505,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:511,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:512,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:513,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:514,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:516,1
    - Dst: std::vector::rend
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:516,1
    - Dst: UniValue::push_backV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:518,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 419
    functionDepth: 5
    functionLinenumber: 419
    functionLinenumberEnd: 522
    functionName: wallet::listtransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - wallet::LabelFromValue
    - std::vector::rend
    - wallet::TransactionDescriptionString
    - UniValue::push_backV
    - rend
    - HelpExampleCli
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - rbegin
    - std::vector::size
    - std::make_move_iterator
    - HelpExampleRpc
    - isNull
    - get_str
    - ListTransactions
    - std::optional::emplace
    - std::optional::value
    - LOCK
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listtransactions()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:545,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:545,1
    - Dst: wallet::TransactionDescriptionString
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:560,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:573,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:574,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:575,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:579,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:585,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:587,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:594,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:595,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:595,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:596,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:599,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:599,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:599,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:599,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:600,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:604,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:605,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:608,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:612,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:612,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:613,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:613,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:617,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:617,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:617,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:619,1
    - Dst: abs
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:625,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:625,1
    - Dst: ListTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:626,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:634,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:635,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:635,1
    - Dst: CBlock::IsNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:635,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:636,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:639,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:639,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:640,1
    - Dst: ListTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:643,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:650,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:651,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:651,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:655,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:655,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:656,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:656,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:657,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:657,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 524
    functionDepth: 6
    functionLinenumber: 524
    functionLinenumberEnd: 662
    functionName: wallet::listsinceblock
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - wallet::LabelFromValue
    - GetHash
    - GetLastBlockHash
    - std::move
    - CBlock::CBlock
    - wallet::TransactionDescriptionString
    - GetLastBlockHeight
    - abs
    - std::min
    - BlockUntilSyncedToCurrentChain
    - ParseHashV
    - CHECK_NONFATAL
    - HelpExampleCli
    - uint256::GetHex
    - GetTxDepthInMainChain
    - mapWallet::end
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - get_bool
    - get_str
    - uint256::uint256
    - ListTransactions
    - std::optional::emplace
    - FoundBlock
    - chain
    - LOCK
    - CBlock::IsNull
    - mapWallet::find
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listsinceblock()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:676,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:676,1
    - Dst: wallet::TransactionDescriptionString
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:682,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:715,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:716,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:717,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:718,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:722,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:727,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:729,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:731,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:731,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:735,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:735,1
    - Dst: std::shared_ptr::mapWallet::find
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:738,1
    - Dst: std::shared_ptr::mapWallet::end
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:739,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:740,1
    - Dst: wallet::CachedTxGetCredit
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:744,1
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:745,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:747,1
    - Dst: tx::GetValueOut
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:747,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:749,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:749,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:750,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:751,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:751,1
    - Dst: WalletTxToJSON
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:753,1
    - Dst: ListTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:756,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:757,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:757,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:759,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:759,1
    - Dst: TxToUniv
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:763,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:763,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:764,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:764,1
    - Dst: wallet::AppendLastProcessedBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 664
    functionDepth: 6
    functionLinenumber: 664
    functionLinenumberEnd: 771
    functionName: wallet::gettransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - wallet::TransactionDescriptionString
    - wallet::CachedTxIsFromMe
    - ParseHashV
    - WalletTxToJSON
    - HelpExampleCli
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - TxToUniv
    - uint256
    - tx::GetValueOut
    - std::shared_ptr::mapWallet::find
    - wallet::CachedTxGetDebit
    - ValueFromAmount
    - wallet::CachedTxGetCredit
    - HelpExampleRpc
    - wallet::AppendLastProcessedBlock
    - transaction_identifier::FromUint256
    - isNull
    - UniValue::pushKV
    - get_bool
    - ListTransactions
    - std::shared_ptr::mapWallet::end
    - LOCK
    - EncodeHexTx
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan gettransaction()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:787,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:788,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:792,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:797,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:799,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:801,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:801,1
    - Dst: std::shared_ptr::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:803,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:804,1
    - Dst: std::shared_ptr::AbandonTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:806,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:807,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 773
    functionDepth: 6
    functionLinenumber: 773
    functionLinenumberEnd: 813
    functionName: wallet::abandontransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - transaction_identifier::FromUint256
    - std::shared_ptr::AbandonTransaction
    - std::shared_ptr::mapWallet::count
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - ParseHashV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan abandontransaction()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:835,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:836,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:840,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:846,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:849,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:850,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:855,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:857,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:859,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:860,1
    - Dst: std::shared_ptr::GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:861,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:863,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:864,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:866,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:870,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:871,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:873,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:875,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:880,1
    - Dst: std::shared_ptr::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:880,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:881,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:881,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:882,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:884,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:885,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:887,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:890,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:890,1
    - Dst: std::shared_ptr::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:890,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:890,1
    - Dst: std::shared_ptr::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:894,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:899,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:901,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:905,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:906,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:906,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 815
    functionDepth: 5
    functionLinenumber: 815
    functionLinenumberEnd: 910
    functionName: wallet::rescanblockchain
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - std::shared_ptr::GetLastBlockHash
    - CHECK_NONFATAL
    - BlockUntilSyncedToCurrentChain
    - HelpExampleCli
    - std::shared_ptr::ScanForWalletTransactions
    - UniValue
    - WalletRescanReserver::reserve
    - std::shared_ptr::GetLastBlockHeight
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - uint256::uint256
    - FoundBlock
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan rescanblockchain()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:921,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:923,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:925,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:929,1
    - Dst: std::shared_ptr::IsScanning
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:932,1
    - Dst: std::shared_ptr::IsAbortingRescan
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:932,1
    - Dst: std::shared_ptr::AbortRescan
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 937
    functionName: wallet::abortrescan
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::IsAbortingRescan
    - HelpExampleCli
    - std::shared_ptr::IsScanning
    - HelpExampleRpc
    - std::shared_ptr::AbortRescan
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan abortrescan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: wallet::tallyitem
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tallyitem()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:221,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:222,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:223,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:224,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:225,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:229,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:234,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:236,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:236,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:238,1
    - Dst: ListReceived
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 243
    functionName: wallet::listreceivedbyaddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - isNull
    - LOCK
    - ListReceived
    - get_bool
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listreceivedbyaddress()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:268,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:269,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:270,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:274,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:279,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:281,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:281,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:283,1
    - Dst: ListReceived
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 288
    functionName: wallet::listreceivedbylabel
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - isNull
    - LOCK
    - ListReceived
    - get_bool
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listreceivedbylabel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsValidDestination
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:292,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:293,1
    - Dst: EncodeDestination
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' entry'
    - dest
    argTypes:
    - UniValue
    - CTxDestination
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: wallet::MaybePushAddress
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - IsValidDestination
    - pushKV
    - EncodeDestination
    linkageType: ''
    returnType: void
    signature: void MaybePushAddress(UniValue & entry, const CTxDestination &dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 417
    functionName: wallet::TransactionDescriptionString
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RPCResult>
    signature: std::vector<RPCResult> TransactionDescriptionString()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:435,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:435,1
    - Dst: wallet::TransactionDescriptionString
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:451,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:459,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:461,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:463,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:467,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:472,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:475,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:475,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:476,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:476,1
    - Dst: std::optional::value
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:477,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:478,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:482,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:483,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:485,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:486,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:490,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:492,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:496,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:501,1
    - Dst: rend
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:501,1
    - Dst: ListTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:504,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:505,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:511,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:512,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:513,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:514,1
    - Dst: std::make_move_iterator
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:516,1
    - Dst: std::vector::rend
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:516,1
    - Dst: UniValue::push_backV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:518,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 419
    functionDepth: 5
    functionLinenumber: 419
    functionLinenumberEnd: 522
    functionName: wallet::listtransactions
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - wallet::LabelFromValue
    - std::vector::rend
    - wallet::TransactionDescriptionString
    - UniValue::push_backV
    - rend
    - HelpExampleCli
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - rbegin
    - std::vector::size
    - std::make_move_iterator
    - HelpExampleRpc
    - isNull
    - get_str
    - ListTransactions
    - std::optional::emplace
    - std::optional::value
    - LOCK
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listtransactions()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:545,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:545,1
    - Dst: wallet::TransactionDescriptionString
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:560,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:573,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:574,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:575,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:579,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:585,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:587,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:594,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:595,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:595,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:596,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:599,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:599,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:599,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:599,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:600,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:604,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:605,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:608,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:612,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:612,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:613,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:613,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:617,1
    - Dst: std::optional::emplace
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:617,1
    - Dst: wallet::LabelFromValue
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:617,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:619,1
    - Dst: abs
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:625,1
    - Dst: GetTxDepthInMainChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:625,1
    - Dst: ListTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:626,1
    - Dst: CBlock::CBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:634,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:635,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:635,1
    - Dst: CBlock::IsNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:635,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:636,1
    - Dst: mapWallet::find
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:639,1
    - Dst: GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:639,1
    - Dst: mapWallet::end
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:640,1
    - Dst: ListTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:643,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:650,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:651,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:651,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:652,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:655,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:655,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:656,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:656,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:657,1
    - Dst: uint256::GetHex
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:657,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 524
    functionDepth: 6
    functionLinenumber: 524
    functionLinenumberEnd: 662
    functionName: wallet::listsinceblock
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - wallet::LabelFromValue
    - GetHash
    - GetLastBlockHash
    - std::move
    - CBlock::CBlock
    - wallet::TransactionDescriptionString
    - GetLastBlockHeight
    - abs
    - std::min
    - BlockUntilSyncedToCurrentChain
    - ParseHashV
    - CHECK_NONFATAL
    - HelpExampleCli
    - uint256::GetHex
    - GetTxDepthInMainChain
    - mapWallet::end
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - get_bool
    - get_str
    - uint256::uint256
    - ListTransactions
    - std::optional::emplace
    - FoundBlock
    - chain
    - LOCK
    - CBlock::IsNull
    - mapWallet::find
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listsinceblock()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:676,1
    - Dst: Cat
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:676,1
    - Dst: wallet::TransactionDescriptionString
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:682,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:715,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:716,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:717,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:718,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:722,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:727,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:729,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:731,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:731,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:735,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:735,1
    - Dst: std::shared_ptr::mapWallet::find
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:738,1
    - Dst: std::shared_ptr::mapWallet::end
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:739,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:740,1
    - Dst: wallet::CachedTxGetCredit
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:744,1
    - Dst: wallet::CachedTxGetDebit
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:745,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:747,1
    - Dst: tx::GetValueOut
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:747,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:749,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:749,1
    - Dst: wallet::CachedTxIsFromMe
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:750,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:751,1
    - Dst: ValueFromAmount
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:751,1
    - Dst: WalletTxToJSON
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:753,1
    - Dst: ListTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:756,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:757,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:757,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:759,1
    - Dst: EncodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:759,1
    - Dst: TxToUniv
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:763,1
    - Dst: uint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:763,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:764,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:764,1
    - Dst: wallet::AppendLastProcessedBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 664
    functionDepth: 6
    functionLinenumber: 664
    functionLinenumberEnd: 771
    functionName: wallet::gettransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - wallet::TransactionDescriptionString
    - wallet::CachedTxIsFromMe
    - ParseHashV
    - WalletTxToJSON
    - HelpExampleCli
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - TxToUniv
    - uint256
    - tx::GetValueOut
    - std::shared_ptr::mapWallet::find
    - wallet::CachedTxGetDebit
    - ValueFromAmount
    - wallet::CachedTxGetCredit
    - HelpExampleRpc
    - wallet::AppendLastProcessedBlock
    - transaction_identifier::FromUint256
    - isNull
    - UniValue::pushKV
    - get_bool
    - ListTransactions
    - std::shared_ptr::mapWallet::end
    - LOCK
    - EncodeHexTx
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - Cat
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan gettransaction()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:787,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:788,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:792,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:797,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:799,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:801,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:801,1
    - Dst: std::shared_ptr::mapWallet::count
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:803,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:804,1
    - Dst: std::shared_ptr::AbandonTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:806,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:807,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 773
    functionDepth: 6
    functionLinenumber: 773
    functionLinenumberEnd: 813
    functionName: wallet::abandontransaction
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - transaction_identifier::FromUint256
    - std::shared_ptr::AbandonTransaction
    - std::shared_ptr::mapWallet::count
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - ParseHashV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan abandontransaction()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:835,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:836,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:840,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:846,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:849,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:850,1
    - Dst: uint256::uint256
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:855,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:857,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:859,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:860,1
    - Dst: std::shared_ptr::GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:861,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:863,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:864,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:866,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:870,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:871,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:873,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:875,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:880,1
    - Dst: std::shared_ptr::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:880,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:881,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:881,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:882,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:884,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:885,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:887,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:890,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:890,1
    - Dst: std::shared_ptr::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:890,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:890,1
    - Dst: std::shared_ptr::ScanForWalletTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:894,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:899,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:901,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:905,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:906,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:906,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 815
    functionDepth: 5
    functionLinenumber: 815
    functionLinenumberEnd: 910
    functionName: wallet::rescanblockchain
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - std::shared_ptr::GetLastBlockHash
    - CHECK_NONFATAL
    - BlockUntilSyncedToCurrentChain
    - HelpExampleCli
    - std::shared_ptr::ScanForWalletTransactions
    - UniValue
    - WalletRescanReserver::reserve
    - std::shared_ptr::GetLastBlockHeight
    - HelpExampleRpc
    - isNull
    - UniValue::pushKV
    - uint256::uint256
    - FoundBlock
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - getInt
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan rescanblockchain()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:921,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:923,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:925,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:929,1
    - Dst: std::shared_ptr::IsScanning
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:932,1
    - Dst: std::shared_ptr::IsAbortingRescan
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:932,1
    - Dst: std::shared_ptr::AbortRescan
      Src: /src/bitcoin-core/src/wallet/rpc/transactions.cpp:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 937
    functionName: wallet::abortrescan
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/transactions.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::IsAbortingRescan
    - HelpExampleCli
    - std::shared_ptr::IsScanning
    - HelpExampleRpc
    - std::shared_ptr::AbortRescan
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan abortrescan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:22,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:23,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:23,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' param'
    argTypes:
    - CWallet
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: wallet::GetAvoidReuseFlag
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 4
    functionsReached:
    - get_bool
    - isNull
    - IsWalletFlagSet
    - JSONRPCError
    linkageType: ''
    returnType: bool
    signature: bool GetAvoidReuseFlag(const CWallet& wallet, const UniValue& param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWalletNameFromJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:35,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:38,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' request'
    - wallet_name
    argTypes:
    - JSONRPCRequest
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: wallet::EnsureUniqueWalletName
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 6
    functionsReached:
    - JSONRPCError
    - wallet::GetWalletNameFromJSONRPCRequest
    linkageType: ''
    returnType: std::string
    signature: std::string EnsureUniqueWalletName(const JSONRPCRequest& request, const
      std::string* wallet_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URI::starts_with
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:55,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:57,1
    - Dst: substr
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:57,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' request'
    - ' wallet_name'
    argTypes:
    - JSONRPCRequest
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: wallet::GetWalletNameFromJSONRPCRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 1
    functionsReached:
    - UrlDecode
    - substr
    - size
    - URI::starts_with
    linkageType: ''
    returnType: bool
    signature: bool GetWalletNameFromJSONRPCRequest(const JSONRPCRequest& request,
      std::string& wallet_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:65,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:66,1
    - Dst: wallet::GetWalletNameFromJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:69,1
    - Dst: wallet::GetWallet
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:70,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:71,1
    - Dst: wallet::GetDefaultWallet
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:76,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:80,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - JSONRPCRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: wallet::GetWalletForJSONRPCRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 88
    functionsReached:
    - wallet::GetDefaultWallet
    - wallet::GetWallet
    - wallet::GetWalletNameFromJSONRPCRequest
    - JSONRPCError
    - CHECK_NONFATAL
    - wallet::EnsureWalletContext
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> GetWalletForJSONRPCRequest(const JSONRPCRequest&
      request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:89,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: wallet::EnsureWalletIsUnlocked
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 20
    functionsReached:
    - JSONRPCError
    - IsLocked
    linkageType: ''
    returnType: void
    signature: void EnsureWalletIsUnlocked(const CWallet& wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::AnyPtr<WalletContext>
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:96,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: wallet::EnsureWalletContext
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 13
    functionsReached:
    - JSONRPCError
    - util::AnyPtr<WalletContext>
    linkageType: ''
    returnType: WalletContext
    signature: WalletContext & EnsureWalletContext(const std::any& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:106,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:108,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: wallet::LabelFromValue
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 10
    functionsReached:
    - get_str
    - isNull
    - JSONRPCError
    linkageType: ''
    returnType: std::string
    signature: std::string LabelFromValue(const UniValue& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWalletDescriptors
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:117,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:120,1
    - Dst: descriptor::ToNormalizedString
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:120,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:121,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:123,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' wallet'
    - ' script_pubkey'
    - ' entry'
    argTypes:
    - CWallet
    - CScript
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: wallet::PushParentDescriptors
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - pushKV
    - GetWalletDescriptors
    - UniValue::push_back
    - std::move
    - CHECK_NONFATAL
    - descriptor::ToNormalizedString
    linkageType: ''
    returnType: void
    signature: void PushParentDescriptors(const CWallet& wallet, const CScript& script_pubkey,
      UniValue& entry)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - wallet
    - ' status'
    - ' error'
    argTypes:
    - std::shared_ptr<CWallet>
    - DatabaseStatus
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: wallet::HandleWalletError
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: void
    signature: void HandleWalletError(const std::shared_ptr<CWallet> wallet, DatabaseStatus&
      status, bilingual_str& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:156,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:158,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:158,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:159,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:159,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:160,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' entry'
    - ' wallet'
    argTypes:
    - UniValue
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: wallet::AppendLastProcessedBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 6
    functionsReached:
    - pushKV
    - GetLastBlockHash
    - std::move
    - GetLastBlockHeight
    - AssertLockHeld
    - UniValue::pushKV
    linkageType: ''
    returnType: void
    signature: void AppendLastProcessedBlock(UniValue& entry, const CWallet& wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsWalletFlagSet
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:22,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:23,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:23,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' wallet'
    - ' param'
    argTypes:
    - CWallet
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: wallet::GetAvoidReuseFlag
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 4
    functionsReached:
    - get_bool
    - isNull
    - IsWalletFlagSet
    - JSONRPCError
    linkageType: ''
    returnType: bool
    signature: bool GetAvoidReuseFlag(const CWallet& wallet, const UniValue& param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWalletNameFromJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:35,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:38,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' request'
    - wallet_name
    argTypes:
    - JSONRPCRequest
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: wallet::EnsureUniqueWalletName
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 6
    functionsReached:
    - JSONRPCError
    - wallet::GetWalletNameFromJSONRPCRequest
    linkageType: ''
    returnType: std::string
    signature: std::string EnsureUniqueWalletName(const JSONRPCRequest& request, const
      std::string* wallet_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URI::starts_with
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:55,1
    - Dst: UrlDecode
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:57,1
    - Dst: substr
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:57,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' request'
    - ' wallet_name'
    argTypes:
    - JSONRPCRequest
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: wallet::GetWalletNameFromJSONRPCRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 3
    functionsReached:
    - UrlDecode
    - substr
    - size
    - URI::starts_with
    linkageType: ''
    returnType: bool
    signature: bool GetWalletNameFromJSONRPCRequest(const JSONRPCRequest& request,
      std::string& wallet_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:65,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:66,1
    - Dst: wallet::GetWalletNameFromJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:69,1
    - Dst: wallet::GetWallet
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:70,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:71,1
    - Dst: wallet::GetDefaultWallet
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:76,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:80,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - JSONRPCRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: wallet::GetWalletForJSONRPCRequest
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 88
    functionsReached:
    - wallet::GetDefaultWallet
    - wallet::GetWallet
    - wallet::GetWalletNameFromJSONRPCRequest
    - JSONRPCError
    - CHECK_NONFATAL
    - wallet::EnsureWalletContext
    linkageType: ''
    returnType: std::shared_ptr<CWallet>
    signature: std::shared_ptr<CWallet> GetWalletForJSONRPCRequest(const JSONRPCRequest&
      request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsLocked
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:89,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' wallet'
    argTypes:
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: wallet::EnsureWalletIsUnlocked
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 20
    functionsReached:
    - JSONRPCError
    - IsLocked
    linkageType: ''
    returnType: void
    signature: void EnsureWalletIsUnlocked(const CWallet& wallet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::AnyPtr<WalletContext>
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:96,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: wallet::EnsureWalletContext
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 14
    functionsReached:
    - JSONRPCError
    - util::AnyPtr<WalletContext>
    linkageType: ''
    returnType: WalletContext
    signature: WalletContext & EnsureWalletContext(const std::any& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:106,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:108,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: wallet::LabelFromValue
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 10
    functionsReached:
    - get_str
    - isNull
    - JSONRPCError
    linkageType: ''
    returnType: std::string
    signature: std::string LabelFromValue(const UniValue& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWalletDescriptors
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:117,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:120,1
    - Dst: descriptor::ToNormalizedString
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:120,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:121,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:123,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' wallet'
    - ' script_pubkey'
    - ' entry'
    argTypes:
    - CWallet
    - CScript
    - UniValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: wallet::PushParentDescriptors
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - pushKV
    - GetWalletDescriptors
    - UniValue::push_back
    - std::move
    - CHECK_NONFATAL
    - descriptor::ToNormalizedString
    linkageType: ''
    returnType: void
    signature: void PushParentDescriptors(const CWallet& wallet, const CScript& script_pubkey,
      UniValue& entry)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - wallet
    - ' status'
    - ' error'
    argTypes:
    - std::shared_ptr<CWallet>
    - DatabaseStatus
    - bilingual_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: wallet::HandleWalletError
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 2
    functionsReached:
    - JSONRPCError
    linkageType: ''
    returnType: void
    signature: void HandleWalletError(const std::shared_ptr<CWallet> wallet, DatabaseStatus&
      status, bilingual_str& error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertLockHeld
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:156,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:158,1
    - Dst: GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:158,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:159,1
    - Dst: GetLastBlockHeight
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:159,1
    - Dst: pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:160,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/util.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' entry'
    - ' wallet'
    argTypes:
    - UniValue
    - CWallet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: wallet::AppendLastProcessedBlock
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/util.cpp
    functionUses: 6
    functionsReached:
    - pushKV
    - GetLastBlockHash
    - std::move
    - GetLastBlockHeight
    - AssertLockHeld
    - UniValue::pushKV
    linkageType: ''
    returnType: void
    signature: void AppendLastProcessedBlock(UniValue& entry, const CWallet& wallet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:50,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:53,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:54,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:54,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:55,1
    - Dst: ParseHexV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:58,1
    - Dst: CMerkleBlock::CMerkleBlock
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:59,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:65,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:66,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:69,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:71,1
    - Dst: std::shared_ptr::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:71,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:71,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:71,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:72,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:77,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:80,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:82,1
    - Dst: std::shared_ptr::IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:83,1
    - Dst: std::shared_ptr::AddToWallet
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:84,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:84,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:84,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:84,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:88,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 91
    functionName: wallet::importprunedfunds
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - std::shared_ptr::GetLastBlockHash
    - std::move
    - std::shared_ptr::AddToWallet
    - std::find
    - CMerkleBlock::CMerkleBlock
    - std::vector::end
    - DecodeHexTx
    - CMerkleBlock::txn::ExtractMatches
    - static_cast<int>
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - ParseHexV
    - get_str
    - CMerkleBlock::header::GetHash
    - std::shared_ptr::IsMine
    - FoundBlock
    - std::vector::begin
    - CMutableTransaction::GetHash
    - LOCK
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan importprunedfunds()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:103,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:105,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:109,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:112,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:114,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:116,1
    - Dst: std::shared_ptr::RemoveTxs
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:117,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:118,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 124
    functionName: wallet::removeprunedfunds
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - util::ErrorString
    - std::shared_ptr::RemoveTxs
    - HelpExampleRpc
    - std::vector::push_back
    - LOCK
    - transaction_identifier::FromUint256
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - ParseHashV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan removeprunedfunds()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:128,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:130,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:131,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:132,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:132,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:135,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:135,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:135,1
    - Dst: type
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:135,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' data'
    - now
    argTypes:
    - UniValue
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: wallet::GetImportTimestamp
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - uvTypeName
    - type
    - isNum
    - JSONRPCError
    - isStr
    - strprintf
    - get_str
    - getInt
    - exists
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetImportTimestamp(const UniValue& data, int64_t now)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:345,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:347,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:351,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:357,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:360,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:361,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:366,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:375,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:376,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:378,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:378,1
    - Dst: std::shared_ptr::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:378,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:378,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:381,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:383,1
    - Dst: wallet::GetImportTimestamp
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:383,1
    - Dst: ProcessDescriptorImport
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:384,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:385,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:392,1
    - Dst: std::shared_ptr::ConnectScriptPubKeyManNotifiers
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:396,1
    - Dst: std::shared_ptr::RefreshAllTXOs
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:397,1
    - Dst: std::shared_ptr::RescanFromTime
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:402,1
    - Dst: std::shared_ptr::ResubmitWalletTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:403,1
    - Dst: std::shared_ptr::IsAbortingRescan
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:405,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:406,1
    - Dst: UniValue::getValues
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:410,1
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:411,1
    - Dst: UniValue::setArray
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:412,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:415,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:416,1
    - Dst: wallet::GetImportTimestamp
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:422,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:422,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:423,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:423,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:425,1
    - Dst: wallet::GetImportTimestamp
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:429,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:430,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:431,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:434,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:435,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:439,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:443,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:444,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:444,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:445,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:445,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:446,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:446,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 295
    functionDepth: 6
    functionLinenumber: 295
    functionLinenumberEnd: 455
    functionName: wallet::importdescriptors
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - std::shared_ptr::GetLastBlockHash
    - std::move
    - CHECK_NONFATAL
    - BlockUntilSyncedToCurrentChain
    - std::shared_ptr::ResubmitWalletTransactions
    - std::shared_ptr::ConnectScriptPubKeyManNotifiers
    - getValues
    - HelpExampleCli
    - wallet::GetImportTimestamp
    - std::shared_ptr::RescanFromTime
    - UniValue::push_back
    - UniValue::setArray
    - UniValue
    - std::shared_ptr::RefreshAllTXOs
    - WalletRescanReserver::reserve
    - UniValue::pushKV
    - strprintf
    - get_bool
    - std::vector::at
    - std::shared_ptr::IsAbortingRescan
    - UniValue::clear
    - FoundBlock
    - ProcessDescriptorImport
    - size
    - std::max
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - UniValue::getValues
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan importdescriptors()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:484,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:484,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:485,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:485,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:489,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:492,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:492,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:494,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:497,1
    - Dst: std::shared_ptr::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:499,1
    - Dst: std::shared_ptr::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:511,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:512,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:514,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:516,1
    - Dst: auto::GetWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:517,1
    - Dst: auto::GetDescriptorString
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:519,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:520,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:522,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:523,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:526,1
    - Dst: std::shared_ptr::IsInternalScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:527,1
    - Dst: std::optional
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:528,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:528,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:533,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:533,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:533,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:540,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:541,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:542,1
    - Dst: internal::has_value
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:543,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:544,1
    - Dst: internal::value
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:544,1
    - Dst: range::has_value
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:546,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:548,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:549,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:550,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:550,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:551,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:552,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:554,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:554,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:558,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:558,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:559,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:559,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 457
    functionDepth: 6
    functionLinenumber: 457
    functionLinenumberEnd: 564
    functionName: wallet::listdescriptors
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - range::has_value
    - std::shared_ptr::GetActiveScriptPubKeyMans
    - std::make_pair
    - std::shared_ptr::IsInternalScriptPubKeyMan
    - std::move
    - std::shared_ptr::GetName
    - std::vector::push_back
    - std::vector::end
    - HelpExampleCli
    - UniValue::push_back
    - std::optional
    - auto::GetWalletDescriptor
    - std::shared_ptr::GetAllScriptPubKeyMans
    - internal::value
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - HelpExampleRpc
    - internal::has_value
    - isNull
    - UniValue::pushKV
    - auto::GetDescriptorString
    - get_bool
    - auto::count
    - descriptor::IsRange
    - std::vector::begin
    - wallet::EnsureWalletIsUnlocked
    - LOCK
    - JSONRPCError
    - std::sort
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listdescriptors()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:576,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:577,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:581,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:586,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:588,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:590,1
    - Dst: std::shared_ptr::BackupWallet
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:591,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 566
    functionDepth: 6
    functionLinenumber: 566
    functionLinenumberEnd: 598
    functionName: wallet::backupwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - JSONRPCError
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::BackupWallet
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan backupwallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:624,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:625,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:626,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:627,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:632,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:634,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:634,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:636,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:638,1
    - Dst: std::optional<bool>
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:638,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:638,1
    - Dst: wallet::RestoreWallet
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:644,1
    - Dst: wallet::HandleWalletError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:646,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:649,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:649,1
    - Dst: PushWarnings
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 601
    functionDepth: 6
    functionLinenumber: 601
    functionLinenumberEnd: 656
    functionName: wallet::restorewallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - std::optional<bool>
    - HelpExampleCli
    - PushWarnings
    - fs::u8path
    - wallet::RestoreWallet
    - HelpExampleRpc
    - get_bool
    - wallet::HandleWalletError
    - isNull
    - std::shared_ptr::GetName
    - UniValue::pushKV
    - HelpExampleCliNamed
    - get_str
    - HelpExampleRpcNamed
    - wallet::EnsureWalletContext
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan restorewallet()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:50,1
    - Dst: CMutableTransaction::CMutableTransaction
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:53,1
    - Dst: DecodeHexTx
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:54,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:54,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:55,1
    - Dst: ParseHexV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:58,1
    - Dst: CMerkleBlock::CMerkleBlock
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:59,1
    - Dst: CMerkleBlock::txn::ExtractMatches
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:65,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:66,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:69,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:71,1
    - Dst: std::shared_ptr::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:71,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:71,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:71,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:72,1
    - Dst: std::find
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: CMutableTransaction::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:76,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:77,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:80,1
    - Dst: MakeTransactionRef
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:82,1
    - Dst: std::shared_ptr::IsMine
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:83,1
    - Dst: std::shared_ptr::AddToWallet
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:84,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:84,1
    - Dst: CMerkleBlock::header::GetHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:84,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:84,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:88,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 91
    functionName: wallet::importprunedfunds
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - std::shared_ptr::GetLastBlockHash
    - std::move
    - std::shared_ptr::AddToWallet
    - std::find
    - CMerkleBlock::CMerkleBlock
    - std::vector::end
    - DecodeHexTx
    - CMerkleBlock::txn::ExtractMatches
    - static_cast<int>
    - CMutableTransaction::CMutableTransaction
    - MakeTransactionRef
    - ParseHexV
    - get_str
    - CMerkleBlock::header::GetHash
    - std::shared_ptr::IsMine
    - FoundBlock
    - std::vector::begin
    - CMutableTransaction::GetHash
    - LOCK
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan importprunedfunds()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:103,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:105,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:109,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:112,1
    - Dst: transaction_identifier::FromUint256
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:114,1
    - Dst: ParseHashV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:116,1
    - Dst: std::shared_ptr::RemoveTxs
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:117,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:118,1
    - Dst: util::ErrorString
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 124
    functionName: wallet::removeprunedfunds
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - util::ErrorString
    - std::shared_ptr::RemoveTxs
    - HelpExampleRpc
    - std::vector::push_back
    - LOCK
    - transaction_identifier::FromUint256
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - ParseHashV
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan removeprunedfunds()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exists
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:128,1
    - Dst: isNum
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:130,1
    - Dst: getInt
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:131,1
    - Dst: isStr
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:132,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:132,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:135,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:135,1
    - Dst: uvTypeName
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:135,1
    - Dst: type
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:135,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' data'
    - now
    argTypes:
    - UniValue
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: wallet::GetImportTimestamp
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 1
    functionsReached:
    - uvTypeName
    - type
    - isNum
    - JSONRPCError
    - isStr
    - strprintf
    - get_str
    - getInt
    - exists
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetImportTimestamp(const UniValue& data, int64_t now)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:345,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:347,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:351,1
    - Dst: BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:357,1
    - Dst: WalletRescanReserver::reserve
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:360,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:361,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:366,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:375,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:376,1
    - Dst: CHECK_NONFATAL
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:378,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:378,1
    - Dst: std::shared_ptr::GetLastBlockHash
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:378,1
    - Dst: FoundBlock
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:378,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:381,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:383,1
    - Dst: wallet::GetImportTimestamp
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:383,1
    - Dst: ProcessDescriptorImport
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:384,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:385,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:392,1
    - Dst: std::shared_ptr::ConnectScriptPubKeyManNotifiers
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:396,1
    - Dst: std::shared_ptr::RefreshAllTXOs
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:397,1
    - Dst: std::shared_ptr::RescanFromTime
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:402,1
    - Dst: std::shared_ptr::ResubmitWalletTransactions
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:403,1
    - Dst: std::shared_ptr::IsAbortingRescan
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:405,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:406,1
    - Dst: UniValue::getValues
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:410,1
    - Dst: UniValue::clear
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:411,1
    - Dst: UniValue::setArray
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:412,1
    - Dst: size
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:415,1
    - Dst: getValues
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:416,1
    - Dst: wallet::GetImportTimestamp
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:422,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:422,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:423,1
    - Dst: std::vector::at
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:423,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:425,1
    - Dst: wallet::GetImportTimestamp
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:429,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:430,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:431,1
    - Dst: std::shared_ptr::chain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:434,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:435,1
    - Dst: strprintf
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:439,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:443,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:444,1
    - Dst: UniValue
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:444,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:445,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:445,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:446,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:446,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 295
    functionDepth: 6
    functionLinenumber: 295
    functionLinenumberEnd: 455
    functionName: wallet::importdescriptors
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::chain
    - std::shared_ptr::GetLastBlockHash
    - std::move
    - CHECK_NONFATAL
    - BlockUntilSyncedToCurrentChain
    - std::shared_ptr::ResubmitWalletTransactions
    - std::shared_ptr::ConnectScriptPubKeyManNotifiers
    - getValues
    - HelpExampleCli
    - wallet::GetImportTimestamp
    - std::shared_ptr::RescanFromTime
    - UniValue::push_back
    - UniValue::setArray
    - UniValue
    - std::shared_ptr::RefreshAllTXOs
    - WalletRescanReserver::reserve
    - UniValue::pushKV
    - strprintf
    - get_bool
    - std::vector::at
    - std::shared_ptr::IsAbortingRescan
    - UniValue::clear
    - FoundBlock
    - ProcessDescriptorImport
    - size
    - std::max
    - LOCK
    - wallet::EnsureWalletIsUnlocked
    - JSONRPCError
    - wallet::GetWalletForJSONRPCRequest
    - UniValue::getValues
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan importdescriptors()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:484,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:484,1
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:485,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:485,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:489,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:492,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:492,1
    - Dst: wallet::EnsureWalletIsUnlocked
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:494,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:497,1
    - Dst: std::shared_ptr::GetActiveScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:499,1
    - Dst: std::shared_ptr::GetAllScriptPubKeyMans
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:511,1
    - Dst: dynamic_cast<DescriptorScriptPubKeyMan*>
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:512,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:514,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:516,1
    - Dst: auto::GetWalletDescriptor
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:517,1
    - Dst: auto::GetDescriptorString
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:519,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:520,1
    - Dst: descriptor::IsRange
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:522,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:523,1
    - Dst: auto::count
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:526,1
    - Dst: std::shared_ptr::IsInternalScriptPubKeyMan
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:527,1
    - Dst: std::optional
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:528,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:528,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:533,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:533,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:533,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:540,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:541,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:542,1
    - Dst: internal::has_value
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:543,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:544,1
    - Dst: internal::value
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:544,1
    - Dst: range::has_value
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:546,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:548,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:549,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:550,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:550,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:551,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:552,1
    - Dst: UniValue::push_back
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:554,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:554,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:558,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:558,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:559,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:559,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 457
    functionDepth: 6
    functionLinenumber: 457
    functionLinenumberEnd: 564
    functionName: wallet::listdescriptors
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - range::has_value
    - std::shared_ptr::GetActiveScriptPubKeyMans
    - std::make_pair
    - std::shared_ptr::IsInternalScriptPubKeyMan
    - std::move
    - std::shared_ptr::GetName
    - std::vector::push_back
    - std::vector::end
    - HelpExampleCli
    - UniValue::push_back
    - std::optional
    - auto::GetWalletDescriptor
    - std::shared_ptr::GetAllScriptPubKeyMans
    - internal::value
    - dynamic_cast<DescriptorScriptPubKeyMan*>
    - HelpExampleRpc
    - internal::has_value
    - isNull
    - UniValue::pushKV
    - auto::GetDescriptorString
    - get_bool
    - auto::count
    - descriptor::IsRange
    - std::vector::begin
    - wallet::EnsureWalletIsUnlocked
    - LOCK
    - JSONRPCError
    - std::sort
    - wallet::GetWalletForJSONRPCRequest
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan listdescriptors()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:576,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:577,1
    - Dst: wallet::GetWalletForJSONRPCRequest
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:581,1
    - Dst: std::shared_ptr::BlockUntilSyncedToCurrentChain
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:586,1
    - Dst: LOCK
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:588,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:590,1
    - Dst: std::shared_ptr::BackupWallet
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:591,1
    - Dst: JSONRPCError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 566
    functionDepth: 6
    functionLinenumber: 566
    functionLinenumberEnd: 598
    functionName: wallet::backupwallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - HelpExampleCli
    - HelpExampleRpc
    - JSONRPCError
    - std::shared_ptr::BlockUntilSyncedToCurrentChain
    - LOCK
    - get_str
    - wallet::GetWalletForJSONRPCRequest
    - std::shared_ptr::BackupWallet
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan backupwallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HelpExampleCli
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:624,1
    - Dst: HelpExampleRpc
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:625,1
    - Dst: HelpExampleCliNamed
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:626,1
    - Dst: HelpExampleRpcNamed
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:627,1
    - Dst: wallet::EnsureWalletContext
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:632,1
    - Dst: fs::u8path
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:634,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:634,1
    - Dst: get_str
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:636,1
    - Dst: isNull
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:638,1
    - Dst: std::optional<bool>
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:638,1
    - Dst: get_bool
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:638,1
    - Dst: wallet::RestoreWallet
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:644,1
    - Dst: wallet::HandleWalletError
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:646,1
    - Dst: UniValue::pushKV
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:649,1
    - Dst: std::shared_ptr::GetName
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:649,1
    - Dst: PushWarnings
      Src: /src/bitcoin-core/src/wallet/rpc/backup.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 601
    functionDepth: 6
    functionLinenumber: 601
    functionLinenumberEnd: 656
    functionName: wallet::restorewallet
    functionSourceFile: /src/bitcoin-core/src/wallet/rpc/backup.cpp
    functionUses: 0
    functionsReached:
    - std::optional<bool>
    - HelpExampleCli
    - PushWarnings
    - fs::u8path
    - wallet::RestoreWallet
    - HelpExampleRpc
    - get_bool
    - wallet::HandleWalletError
    - isNull
    - std::shared_ptr::GetName
    - UniValue::pushKV
    - HelpExampleCliNamed
    - get_str
    - HelpExampleRpcNamed
    - wallet::EnsureWalletContext
    linkageType: ''
    returnType: RPCHelpMan
    signature: RPCHelpMan restorewallet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: Reader::Reporter::~Reporter()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader::Reporter::~Reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - file
    - reporter
    - checksum
    - initial_offset
    argTypes:
    - SequentialFile*
    - Reporter*
    - bool
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: leveldb::log::Reader::Reader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: "void Reader::Reader(SequentialFile* file, Reporter* reporter, bool
      checksum,\n               uint64_t initial_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Reader::~Reader()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader::~Reader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Skip
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:46,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:47,1
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: leveldb::log::Reader::SkipToInitialBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached:
    - leveldb::log::Reader::ReportDrop
    - Skip
    - Status::ok
    linkageType: ''
    returnType: bool
    signature: bool Reader::SkipToInitialBlock()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::SkipToInitialBlock
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:58,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:63,1
    - Dst: Slice*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:64,1
    - Dst: leveldb::log::Reader::ReadPhysicalRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:72,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:78,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:78,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:98,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:99,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:99,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:103,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:114,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:115,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:115,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:125,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:125,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:134,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:134,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:138,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:149,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:155,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:155,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:157,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:163,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:164,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:165,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:165,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:168,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 2
    argNames:
    - record
    - scratch
    argTypes:
    - Slice*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 174
    functionName: leveldb::log::Reader::ReadRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - Slice
    - Slice*::clear
    - leveldb::log::Reader::ReadPhysicalRecord
    - std::string*::empty
    - Slice::data
    - size
    - std::string*::size
    - leveldb::log::Reader::SkipToInitialBlock
    - Slice::size
    - leveldb::log::Reader::ReportCorruption
    - std::string*::append
    - std::string*::assign
    - snprintf
    linkageType: ''
    returnType: bool
    signature: bool Reader::ReadRecord(Slice* record, std::string* scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: leveldb::log::Reader::LastRecordOffset
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Reader::LastRecordOffset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - reason
    argTypes:
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: leveldb::log::Reader::ReportCorruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 2
    functionsReached:
    - leveldb::log::Reader::ReportDrop
    - leveldb::log::Reader::ReportCorruption
    - GetName
    linkageType: ''
    returnType: void
    signature: void Reader::ReportCorruption(uint64_t bytes, const char* reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:184,1
    - Dst: Corruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:185,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - ' reason'
    argTypes:
    - uint64_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: leveldb::log::Reader::ReportDrop
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - size
    - Corruption
    linkageType: ''
    returnType: void
    signature: void Reader::ReportDrop(uint64_t bytes, const Status& reason)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:191,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:194,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:195,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:196,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:197,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:198,1
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:199,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:202,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:211,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:217,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:218,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:219,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:222,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:223,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:224,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:226,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:239,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:245,1
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:245,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:246,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:252,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:253,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:254,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:259,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:262,1
    - Dst: Slice*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:264,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:268,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - result
    argTypes:
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 271
    functionName: leveldb::log::Reader::ReadPhysicalRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 1
    functionsReached:
    - Slice
    - DecodeFixed32
    - remove_prefix
    - Slice*::clear
    - Read
    - static_cast<uint32_t>
    - size
    - data
    - leveldb::crc32c::Unmask
    - clear
    - leveldb::log::Reader::ReportCorruption
    - leveldb::crc32c::Value
    - leveldb::log::Reader::ReportDrop
    - Status::ok
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Reader::ReadPhysicalRecord(Slice* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: Reader::Reporter::~Reporter()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader::Reporter::~Reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - file
    - reporter
    - checksum
    - initial_offset
    argTypes:
    - SequentialFile*
    - Reporter*
    - bool
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: leveldb::log::Reader::Reader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: "void Reader::Reader(SequentialFile* file, Reporter* reporter, bool
      checksum,\n               uint64_t initial_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Reader::~Reader()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader::~Reader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Skip
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:46,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:47,1
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: leveldb::log::Reader::SkipToInitialBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 1
    functionsReached:
    - leveldb::log::Reader::ReportDrop
    - Skip
    - Status::ok
    linkageType: ''
    returnType: bool
    signature: bool Reader::SkipToInitialBlock()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::SkipToInitialBlock
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:58,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:63,1
    - Dst: Slice*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:64,1
    - Dst: leveldb::log::Reader::ReadPhysicalRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:72,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:78,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:78,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:98,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:99,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:99,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:103,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:114,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:115,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:115,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:125,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:125,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:134,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:134,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:138,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:149,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:155,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:155,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:157,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:163,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:164,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:165,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:165,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:168,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 2
    argNames:
    - record
    - scratch
    argTypes:
    - Slice*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 174
    functionName: leveldb::log::Reader::ReadRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - Slice
    - Slice*::clear
    - leveldb::log::Reader::ReadPhysicalRecord
    - std::string*::empty
    - Slice::data
    - size
    - std::string*::size
    - leveldb::log::Reader::SkipToInitialBlock
    - Slice::size
    - leveldb::log::Reader::ReportCorruption
    - std::string*::append
    - std::string*::assign
    - snprintf
    linkageType: ''
    returnType: bool
    signature: bool Reader::ReadRecord(Slice* record, std::string* scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: leveldb::log::Reader::LastRecordOffset
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Reader::LastRecordOffset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - reason
    argTypes:
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: leveldb::log::Reader::ReportCorruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 5
    functionsReached:
    - leveldb::log::Reader::ReportDrop
    - leveldb::log::Reader::ReportCorruption
    - GetName
    linkageType: ''
    returnType: void
    signature: void Reader::ReportCorruption(uint64_t bytes, const char* reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:184,1
    - Dst: Corruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:185,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - ' reason'
    argTypes:
    - uint64_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: leveldb::log::Reader::ReportDrop
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 5
    functionsReached:
    - static_cast<size_t>
    - size
    - Corruption
    linkageType: ''
    returnType: void
    signature: void Reader::ReportDrop(uint64_t bytes, const Status& reason)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:191,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:194,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:195,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:196,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:197,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:198,1
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:199,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:202,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:211,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:217,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:218,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:219,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:222,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:223,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:224,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:226,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:239,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:245,1
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:245,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:246,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:252,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:253,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:254,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:259,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:262,1
    - Dst: Slice*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:264,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:268,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - result
    argTypes:
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 271
    functionName: leveldb::log::Reader::ReadPhysicalRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 2
    functionsReached:
    - Slice
    - DecodeFixed32
    - remove_prefix
    - Slice*::clear
    - Read
    - static_cast<uint32_t>
    - size
    - data
    - leveldb::crc32c::Unmask
    - clear
    - leveldb::log::Reader::ReportCorruption
    - leveldb::crc32c::Value
    - leveldb::log::Reader::ReportDrop
    - Status::ok
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Reader::ReadPhysicalRecord(Slice* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: Reader::Reporter::~Reporter()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader::Reporter::~Reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - file
    - reporter
    - checksum
    - initial_offset
    argTypes:
    - SequentialFile*
    - Reporter*
    - bool
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: leveldb::log::Reader::Reader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: "void Reader::Reader(SequentialFile* file, Reporter* reporter, bool
      checksum,\n               uint64_t initial_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Reader::~Reader()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader::~Reader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Skip
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:46,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:47,1
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: leveldb::log::Reader::SkipToInitialBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 2
    functionsReached:
    - leveldb::log::Reader::ReportDrop
    - Skip
    - Status::ok
    linkageType: ''
    returnType: bool
    signature: bool Reader::SkipToInitialBlock()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::SkipToInitialBlock
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:58,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:63,1
    - Dst: Slice*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:64,1
    - Dst: leveldb::log::Reader::ReadPhysicalRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:72,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:78,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:78,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:98,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:99,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:99,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:103,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:114,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:115,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:115,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:125,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:125,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:134,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:134,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:138,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:149,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:155,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:155,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:157,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:163,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:164,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:165,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:165,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:168,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 2
    argNames:
    - record
    - scratch
    argTypes:
    - Slice*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 174
    functionName: leveldb::log::Reader::ReadRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - Slice
    - Slice*::clear
    - leveldb::log::Reader::ReadPhysicalRecord
    - std::string*::empty
    - Slice::data
    - size
    - std::string*::size
    - leveldb::log::Reader::SkipToInitialBlock
    - Slice::size
    - leveldb::log::Reader::ReportCorruption
    - std::string*::append
    - std::string*::assign
    - snprintf
    linkageType: ''
    returnType: bool
    signature: bool Reader::ReadRecord(Slice* record, std::string* scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: leveldb::log::Reader::LastRecordOffset
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Reader::LastRecordOffset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - reason
    argTypes:
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: leveldb::log::Reader::ReportCorruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 8
    functionsReached:
    - leveldb::log::Reader::ReportDrop
    - leveldb::log::Reader::ReportCorruption
    - GetName
    linkageType: ''
    returnType: void
    signature: void Reader::ReportCorruption(uint64_t bytes, const char* reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:184,1
    - Dst: Corruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:185,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - ' reason'
    argTypes:
    - uint64_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: leveldb::log::Reader::ReportDrop
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 8
    functionsReached:
    - static_cast<size_t>
    - size
    - Corruption
    linkageType: ''
    returnType: void
    signature: void Reader::ReportDrop(uint64_t bytes, const Status& reason)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:191,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:194,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:195,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:196,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:197,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:198,1
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:199,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:202,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:211,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:217,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:218,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:219,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:222,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:223,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:224,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:226,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:239,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:245,1
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:245,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:246,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:252,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:253,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:254,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:259,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:262,1
    - Dst: Slice*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:264,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:268,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - result
    argTypes:
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 271
    functionName: leveldb::log::Reader::ReadPhysicalRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 3
    functionsReached:
    - Slice
    - DecodeFixed32
    - remove_prefix
    - Slice*::clear
    - Read
    - static_cast<uint32_t>
    - size
    - data
    - leveldb::crc32c::Unmask
    - clear
    - leveldb::log::Reader::ReportCorruption
    - leveldb::crc32c::Value
    - leveldb::log::Reader::ReportDrop
    - Status::ok
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Reader::ReadPhysicalRecord(Slice* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: Reader::Reporter::~Reporter()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader::Reporter::~Reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - file
    - reporter
    - checksum
    - initial_offset
    argTypes:
    - SequentialFile*
    - Reporter*
    - bool
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: leveldb::log::Reader::Reader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: "void Reader::Reader(SequentialFile* file, Reporter* reporter, bool
      checksum,\n               uint64_t initial_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Reader::~Reader()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader::~Reader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Skip
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:46,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:47,1
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: leveldb::log::Reader::SkipToInitialBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 3
    functionsReached:
    - leveldb::log::Reader::ReportDrop
    - Skip
    - Status::ok
    linkageType: ''
    returnType: bool
    signature: bool Reader::SkipToInitialBlock()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::SkipToInitialBlock
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:58,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:63,1
    - Dst: Slice*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:64,1
    - Dst: leveldb::log::Reader::ReadPhysicalRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:72,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:78,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:78,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:98,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:99,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:99,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:103,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:114,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:115,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:115,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:119,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:125,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:125,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:128,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:134,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:134,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:137,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:138,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:149,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:155,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:155,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:157,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:163,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:164,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:165,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:165,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:168,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 2
    argNames:
    - record
    - scratch
    argTypes:
    - Slice*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 174
    functionName: leveldb::log::Reader::ReadRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - Slice
    - Slice*::clear
    - leveldb::log::Reader::ReadPhysicalRecord
    - std::string*::empty
    - Slice::data
    - size
    - std::string*::size
    - leveldb::log::Reader::SkipToInitialBlock
    - Slice::size
    - leveldb::log::Reader::ReportCorruption
    - std::string*::append
    - std::string*::assign
    - snprintf
    linkageType: ''
    returnType: bool
    signature: bool Reader::ReadRecord(Slice* record, std::string* scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: leveldb::log::Reader::LastRecordOffset
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Reader::LastRecordOffset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    - Dst: GetName
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - reason
    argTypes:
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: leveldb::log::Reader::ReportCorruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 11
    functionsReached:
    - leveldb::log::Reader::ReportDrop
    - leveldb::log::Reader::ReportCorruption
    - GetName
    linkageType: ''
    returnType: void
    signature: void Reader::ReportCorruption(uint64_t bytes, const char* reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:184,1
    - Dst: Corruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:185,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - ' reason'
    argTypes:
    - uint64_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: leveldb::log::Reader::ReportDrop
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 11
    functionsReached:
    - static_cast<size_t>
    - size
    - Corruption
    linkageType: ''
    returnType: void
    signature: void Reader::ReportDrop(uint64_t bytes, const Status& reason)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:191,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:194,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:195,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:196,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:197,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:198,1
    - Dst: leveldb::log::Reader::ReportDrop
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:199,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:202,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:211,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:217,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:218,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:219,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:222,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:223,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:224,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:226,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:239,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:245,1
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:245,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:246,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:252,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:253,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:254,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:259,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:262,1
    - Dst: Slice*::clear
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:264,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_reader.cc:268,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - result
    argTypes:
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 271
    functionName: leveldb::log::Reader::ReadPhysicalRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.cc
    functionUses: 4
    functionsReached:
    - Slice
    - DecodeFixed32
    - remove_prefix
    - Slice*::clear
    - Read
    - static_cast<uint32_t>
    - size
    - data
    - leveldb::crc32c::Unmask
    - clear
    - leveldb::log::Reader::ReportCorruption
    - leveldb::crc32c::Value
    - leveldb::log::Reader::ReportDrop
    - Status::ok
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Reader::ReadPhysicalRecord(Slice* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:40,1
    - Dst: substr
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: leveldb::GetDirName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - substr
    - find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string GetDirName(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dir'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: leveldb::SyncDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status SyncDir(const std::string& dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:55,1
    - Dst: leveldb::Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:58,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:59,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:61,1
    - Dst: SequentialFile*::Read
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:63,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:65,1
    - Dst: leveldb::GetDirName
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:66,1
    - Dst: leveldb::Env*::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:68,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:69,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:70,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:72,1
    - Dst: leveldb::Env*::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:73,1
    - Dst: leveldb::Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' filename'
    - length
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 83
    functionName: leveldb::Truncate
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env*::NewSequentialFile
    - leveldb::GetDirName
    - leveldb::Env*::DeleteFile
    - WritableFile*::Append
    - leveldb::Env*::NewWritableFile
    - char::char
    - SequentialFile*::Read
    - Status::ok
    - leveldb::Env::Default
    - leveldb::Env*::RenameFile
    linkageType: ''
    returnType: Status
    signature: Status Truncate(const std::string& filename, uint64_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: leveldb::FileState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileState(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: leveldb::FileState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: leveldb::IsFullySynced
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFullySynced() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:40,1
    - Dst: substr
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: leveldb::GetDirName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - substr
    - find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string GetDirName(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dir'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: leveldb::SyncDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status SyncDir(const std::string& dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:55,1
    - Dst: leveldb::Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:58,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:59,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:61,1
    - Dst: SequentialFile*::Read
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:63,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:65,1
    - Dst: leveldb::GetDirName
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:66,1
    - Dst: leveldb::Env*::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:68,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:69,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:70,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:72,1
    - Dst: leveldb::Env*::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:73,1
    - Dst: leveldb::Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' filename'
    - length
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 83
    functionName: leveldb::Truncate
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env*::NewSequentialFile
    - leveldb::GetDirName
    - leveldb::Env*::DeleteFile
    - WritableFile*::Append
    - leveldb::Env*::NewWritableFile
    - char::char
    - SequentialFile*::Read
    - Status::ok
    - leveldb::Env::Default
    - leveldb::Env*::RenameFile
    linkageType: ''
    returnType: Status
    signature: Status Truncate(const std::string& filename, uint64_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: leveldb::FileState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileState(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: leveldb::FileState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: leveldb::IsFullySynced
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFullySynced() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: leveldb::TestWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: leveldb::FaultInjectionTestEnv::FaultInjectionTestEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~FaultInjectionTestEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FaultInjectionTestEnv() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: leveldb::FaultInjectionTestEnv::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mutex_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: leveldb::FaultInjectionTestEnv::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mutex_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' state'
    - f
    - env
    argTypes:
    - FileState
    - WritableFile*
    - FaultInjectionTestEnv*
    assertStmts:
    - condition: (f != nullptr)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: leveldb::TestWritableFile::TestWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void TestWritableFile::TestWritableFile(const FileState& state, WritableFile*
      f,\n                                   FaultInjectionTestEnv* env)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: TestWritableFile::~TestWritableFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void TestWritableFile::~TestWritableFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestWritableFile::Append
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:181,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:182,1
    - Dst: IsFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:182,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: leveldb::TestWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - IsFilesystemActive
    - leveldb::TestWritableFile::Append
    - Status::ok
    - size
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::Append(const Slice& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestWritableFile::Close
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:190,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:191,1
    - Dst: WritableFileClosed
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: leveldb::TestWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::TestWritableFile::Close
    - WritableFileClosed
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestWritableFile::Flush
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:198,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:199,1
    - Dst: IsFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: leveldb::TestWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - IsFilesystemActive
    - Status::ok
    - leveldb::TestWritableFile::Flush
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SyncDir
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:206,1
    - Dst: GetDirName
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:206,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:207,1
    - Dst: DirWasSynced
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: leveldb::TestWritableFile::SyncParent
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - SyncDir
    - DirWasSynced
    - Status::ok
    - GetDirName
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::SyncParent()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:214,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:215,1
    - Dst: leveldb::TestWritableFile::Sync
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:218,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:219,1
    - Dst: IsFileCreatedSinceLastDirSync
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:222,1
    - Dst: leveldb::TestWritableFile::SyncParent
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:223,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:224,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 229
    functionName: leveldb::TestWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::OK
    - IsFilesystemActive
    - leveldb::TestWritableFile::Sync
    - IsFileCreatedSinceLastDirSync
    - leveldb::TestWritableFile::SyncParent
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::Sync()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:234,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:235,1
    - Dst: TestWritableFile::TestWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:238,1
    - Dst: leveldb::FaultInjectionTestEnv::UntrackFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:242,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: leveldb::FaultInjectionTestEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FaultInjectionTestEnv::UntrackFile
    - TestWritableFile::TestWritableFile
    - target
    - insert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status FaultInjectionTestEnv::NewWritableFile(const std::string& fname,\n
      \                                             WritableFile** result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:252,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:253,1
    - Dst: count
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:258,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:259,1
    - Dst: TestWritableFile::TestWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: leveldb::FaultInjectionTestEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - TestWritableFile::TestWritableFile
    - target
    - Status::ok
    - insert
    - count
    linkageType: ''
    returnType: Status
    signature: "Status FaultInjectionTestEnv::NewAppendableFile(const std::string&
      fname,\n                                                WritableFile** result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:273,1
    - Dst: IsFullySynced
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:277,1
    - Dst: DropUnsyncedData
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: leveldb::FaultInjectionTestEnv::DropUnsyncedFileData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - DropUnsyncedData
    - IsFullySynced
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status FaultInjectionTestEnv::DropUnsyncedFileData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: leveldb::FaultInjectionTestEnv::DirWasSynced
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv::DirWasSynced()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:292,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: leveldb::FaultInjectionTestEnv::IsFileCreatedSinceLastDirSync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool FaultInjectionTestEnv::IsFileCreatedSinceLastDirSync(\n    const
      std::string& filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:298,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: leveldb::FaultInjectionTestEnv::UntrackFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv::UntrackFile(const std::string& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTestEnv::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:303,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:304,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:305,1
    - Dst: leveldb::FaultInjectionTestEnv::UntrackFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: leveldb::FaultInjectionTestEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::FaultInjectionTestEnv::DeleteFile
    - leveldb::FaultInjectionTestEnv::UntrackFile
    - ASSERT_OK
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status FaultInjectionTestEnv::DeleteFile(const std::string& f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTestEnv::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:313,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:315,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:317,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:317,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:319,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:322,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:323,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:323,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:324,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' s'
    - ' t'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: "(new_files_since_last_dir_sync_.find(t) ==\n             new_files_since_last_dir_sync_.end())"
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: leveldb::FaultInjectionTestEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - end
    - erase
    - insert
    - leveldb::FaultInjectionTestEnv::RenameFile
    - assert
    - find
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status FaultInjectionTestEnv::RenameFile(const std::string& s,\n                                         const
      std::string& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: leveldb::FaultInjectionTestEnv::ResetState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - SetFilesystemActive
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv::ResetState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:341,1
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:342,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:343,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:344,1
    - Dst: leveldb::FaultInjectionTestEnv::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:347,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:348,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:348,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 353
    functionName: leveldb::FaultInjectionTestEnv::DeleteFilesCreatedAfterLastDirSync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - end
    - leveldb::FaultInjectionTestEnv::DeleteFile
    - Unlock
    - std::move
    - Status::ok
    - begin
    - Lock
    linkageType: ''
    returnType: Status
    signature: Status FaultInjectionTestEnv::DeleteFilesCreatedAfterLastDirSync()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - FileState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: leveldb::FaultInjectionTestEnv::WritableFileClosed
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv::WritableFileClosed(const FileState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FileState::Truncate
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: leveldb::FileState::DropUnsyncedData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FileState::Truncate
    linkageType: ''
    returnType: Status
    signature: Status FileState::DropUnsyncedData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FaultInjectionTestEnv::FaultInjectionTestEnv
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:377,1
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:378,1
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:380,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:381,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: leveldb::FaultInjectionTest::FaultInjectionTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - FaultInjectionTestEnv::FaultInjectionTestEnv
    - NewLRUCache
    - DestroyDB
    - Options
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:390,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:391,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: ~FaultInjectionTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DestroyDB
    - leveldb::Options
    - CloseDB
    linkageType: ''
    returnType: void
    signature: void ~FaultInjectionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reuse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: leveldb::FaultInjectionTest::ReuseLogs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReuseLogs(bool reuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:402,1
    - Dst: WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:403,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:404,1
    - Dst: leveldb::FaultInjectionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:404,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:406,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - start_idx
    - num_vals
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: leveldb::FaultInjectionTest::Build
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FaultInjectionTest::Key
    - leveldb::FaultInjectionTest::Value
    - Write
    - ASSERT_OK
    - WriteBatch::Clear
    - WriteBatch::Put
    linkageType: ''
    returnType: void
    signature: void Build(int start_idx, int num_vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:412,1
    - Dst: leveldb::FaultInjectionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:413,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: leveldb::FaultInjectionTest::ReadValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FaultInjectionTest::Key
    - leveldb::FaultInjectionTest::Value
    - Get
    linkageType: ''
    returnType: Status
    signature: Status ReadValue(int i, std::string* val) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:423,1
    - Dst: leveldb::FaultInjectionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:424,1
    - Dst: leveldb::FaultInjectionTest::ReadValue
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:425,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:428,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:430,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:431,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:432,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - start_idx
    - num_vals
    - expected
    argTypes:
    - int
    - int
    - ExpectedVerifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 438
    functionName: leveldb::FaultInjectionTest::Verify
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FaultInjectionTest::ReadValue
    - leveldb::OK
    - ASSERT_EQ
    - leveldb::FaultInjectionTest::Value
    - fprintf
    - leveldb::IOError
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status Verify(int start_idx, int num_vals,\n                ExpectedVerifResult
      expected) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:443,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:444,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:444,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - i
    - storage
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: leveldb::FaultInjectionTest::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 2
    functionsReached:
    - Slice
    - strlen
    - snprintf
    - std::string*::assign
    linkageType: ''
    returnType: Slice
    signature: Slice Key(int i, std::string* storage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - storage
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: leveldb::FaultInjectionTest::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 3
    functionsReached:
    - leveldb::test::RandomString
    linkageType: ''
    returnType: Slice
    signature: Slice Value(int k, std::string* storage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResetState
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:457,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: leveldb::FaultInjectionTest::OpenDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DB::Open
    - ResetState
    linkageType: ''
    returnType: Status
    signature: Status OpenDB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: leveldb::FaultInjectionTest::CloseDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CloseDB()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:467,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:467,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:468,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:468,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:468,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:469,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:469,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:469,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: leveldb::FaultInjectionTest::DeleteAllData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - WriteOptions
    - Iterator*::Valid
    - Iterator*::SeekToFirst
    - ReadOptions
    - NewIterator
    - Delete
    - Iterator*::key
    - Iterator*::Next
    - ASSERT_OK
    linkageType: ''
    returnType: void
    signature: void DeleteAllData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:478,1
    - Dst: DropUnsyncedFileData
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:478,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:481,1
    - Dst: DeleteFilesCreatedAfterLastDirSync
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:481,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - reset_method
    argTypes:
    - ResetMethod
    assertStmts:
    - condition: (false)
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    constantsTouched: []
    func_position:
      end: 486
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 486
    functionName: leveldb::FaultInjectionTest::ResetDBState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - assert
    - ASSERT_OK
    - DropUnsyncedFileData
    - DeleteFilesCreatedAfterLastDirSync
    linkageType: ''
    returnType: void
    signature: void ResetDBState(ResetMethod reset_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTest::DeleteAllData
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:489,1
    - Dst: leveldb::FaultInjectionTest::Build
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:490,1
    - Dst: CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:491,1
    - Dst: leveldb::FaultInjectionTest::Build
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - num_pre_sync
    - num_post_sync
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: leveldb::FaultInjectionTest::PartialCompactTestPreFault
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FaultInjectionTest::Build
    - leveldb::FaultInjectionTest::DeleteAllData
    - CompactRange
    linkageType: ''
    returnType: void
    signature: void PartialCompactTestPreFault(int num_pre_sync, int num_post_sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:497,1
    - Dst: leveldb::FaultInjectionTest::CloseDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:498,1
    - Dst: leveldb::FaultInjectionTest::ResetDBState
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:499,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:500,1
    - Dst: leveldb::FaultInjectionTest::OpenDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:500,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:501,1
    - Dst: leveldb::FaultInjectionTest::Verify
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:501,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:502,1
    - Dst: leveldb::FaultInjectionTest::Verify
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - reset_method
    - num_pre_sync
    - num_post_sync
    argTypes:
    - ResetMethod
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 504
    functionName: leveldb::FaultInjectionTest::PartialCompactTestReopenWithFault
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - SetFilesystemActive
    - leveldb::FaultInjectionTest::OpenDB
    - leveldb::FaultInjectionTest::CloseDB
    - ASSERT_OK
    - leveldb::FaultInjectionTest::Verify
    - leveldb::FaultInjectionTest::ResetDBState
    linkageType: ''
    returnType: void
    signature: "void PartialCompactTestReopenWithFault(ResetMethod reset_method,\n
      \                                        int num_pre_sync, int num_post_sync)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: leveldb::FaultInjectionTest::NoWriteTestPreFault
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoWriteTestPreFault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTest::CloseDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:509,1
    - Dst: leveldb::FaultInjectionTest::ResetDBState
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:510,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:511,1
    - Dst: leveldb::FaultInjectionTest::OpenDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - reset_method
    argTypes:
    - ResetMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: leveldb::FaultInjectionTest::NoWriteTestReopenWithFault
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FaultInjectionTest::CloseDB
    - leveldb::FaultInjectionTest::OpenDB
    - ASSERT_OK
    - leveldb::FaultInjectionTest::ResetDBState
    linkageType: ''
    returnType: void
    signature: void NoWriteTestReopenWithFault(ResetMethod reset_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:516,1
    - Dst: leveldb::FaultInjectionTest::OpenDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:516,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:518,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:519,1
    - Dst: leveldb::FaultInjectionTest::PartialCompactTestPreFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:521,1
    - Dst: leveldb::FaultInjectionTest::PartialCompactTestReopenWithFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:522,1
    - Dst: leveldb::FaultInjectionTest::NoWriteTestPreFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:525,1
    - Dst: leveldb::FaultInjectionTest::NoWriteTestReopenWithFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:526,1
    - Dst: leveldb::FaultInjectionTest::PartialCompactTestPreFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:528,1
    - Dst: leveldb::FaultInjectionTest::PartialCompactTestReopenWithFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:531,1
    - Dst: leveldb::FaultInjectionTest::NoWriteTestPreFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:534,1
    - Dst: leveldb::FaultInjectionTest::NoWriteTestReopenWithFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 537
    functionName: leveldb::FaultInjectionTest::DoTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FaultInjectionTest::OpenDB
    - leveldb::FaultInjectionTest::NoWriteTestPreFault
    - leveldb::FaultInjectionTest::NoWriteTestReopenWithFault
    - ASSERT_OK
    - Random::Uniform
    - leveldb::FaultInjectionTest::PartialCompactTestPreFault
    - leveldb::FaultInjectionTest::PartialCompactTestReopenWithFault
    linkageType: ''
    returnType: void
    signature: void DoTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReuseLogs
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:541,1
    - Dst: DoTest
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - ReuseLogs
    - DoTest
    linkageType: ''
    returnType: void
    signature: void TEST(FaultInjectionTest, FaultTestNoLogReuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReuseLogs
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:546,1
    - Dst: DoTest
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - ReuseLogs
    - DoTest
    linkageType: ''
    returnType: void
    signature: void TEST(FaultInjectionTest, FaultTestWithLogReuse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:40,1
    - Dst: substr
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: leveldb::GetDirName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 2
    functionsReached:
    - substr
    - find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string GetDirName(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dir'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: leveldb::SyncDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status SyncDir(const std::string& dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:55,1
    - Dst: leveldb::Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:58,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:59,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:61,1
    - Dst: SequentialFile*::Read
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:63,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:65,1
    - Dst: leveldb::GetDirName
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:66,1
    - Dst: leveldb::Env*::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:68,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:69,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:70,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:72,1
    - Dst: leveldb::Env*::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:73,1
    - Dst: leveldb::Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' filename'
    - length
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 83
    functionName: leveldb::Truncate
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env*::NewSequentialFile
    - leveldb::GetDirName
    - leveldb::Env*::DeleteFile
    - WritableFile*::Append
    - leveldb::Env*::NewWritableFile
    - char::char
    - SequentialFile*::Read
    - Status::ok
    - leveldb::Env::Default
    - leveldb::Env*::RenameFile
    linkageType: ''
    returnType: Status
    signature: Status Truncate(const std::string& filename, uint64_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: leveldb::FileState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileState(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: leveldb::FileState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: leveldb::IsFullySynced
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFullySynced() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:40,1
    - Dst: substr
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: leveldb::GetDirName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 3
    functionsReached:
    - substr
    - find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string GetDirName(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dir'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: leveldb::SyncDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status SyncDir(const std::string& dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:55,1
    - Dst: leveldb::Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:58,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:59,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:61,1
    - Dst: SequentialFile*::Read
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:63,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:65,1
    - Dst: leveldb::GetDirName
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:66,1
    - Dst: leveldb::Env*::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:68,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:69,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:70,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:72,1
    - Dst: leveldb::Env*::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:73,1
    - Dst: leveldb::Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' filename'
    - length
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 83
    functionName: leveldb::Truncate
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env*::NewSequentialFile
    - leveldb::GetDirName
    - leveldb::Env*::DeleteFile
    - WritableFile*::Append
    - leveldb::Env*::NewWritableFile
    - char::char
    - SequentialFile*::Read
    - Status::ok
    - leveldb::Env::Default
    - leveldb::Env*::RenameFile
    linkageType: ''
    returnType: Status
    signature: Status Truncate(const std::string& filename, uint64_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: leveldb::FileState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileState(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: leveldb::FileState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: leveldb::IsFullySynced
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFullySynced() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: leveldb::TestWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: leveldb::FaultInjectionTestEnv::FaultInjectionTestEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~FaultInjectionTestEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FaultInjectionTestEnv() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: leveldb::FaultInjectionTestEnv::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mutex_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: leveldb::FaultInjectionTestEnv::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mutex_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' state'
    - f
    - env
    argTypes:
    - FileState
    - WritableFile*
    - FaultInjectionTestEnv*
    assertStmts:
    - condition: (f != nullptr)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: leveldb::TestWritableFile::TestWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void TestWritableFile::TestWritableFile(const FileState& state, WritableFile*
      f,\n                                   FaultInjectionTestEnv* env)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: TestWritableFile::~TestWritableFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void TestWritableFile::~TestWritableFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestWritableFile::Append
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:181,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:182,1
    - Dst: IsFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:182,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: leveldb::TestWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 2
    functionsReached:
    - IsFilesystemActive
    - leveldb::TestWritableFile::Append
    - Status::ok
    - size
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::Append(const Slice& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestWritableFile::Close
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:190,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:191,1
    - Dst: WritableFileClosed
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: leveldb::TestWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::TestWritableFile::Close
    - WritableFileClosed
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestWritableFile::Flush
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:198,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:199,1
    - Dst: IsFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: leveldb::TestWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 2
    functionsReached:
    - IsFilesystemActive
    - Status::ok
    - leveldb::TestWritableFile::Flush
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SyncDir
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:206,1
    - Dst: GetDirName
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:206,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:207,1
    - Dst: DirWasSynced
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: leveldb::TestWritableFile::SyncParent
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - SyncDir
    - DirWasSynced
    - Status::ok
    - GetDirName
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::SyncParent()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:214,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:215,1
    - Dst: leveldb::TestWritableFile::Sync
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:218,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:219,1
    - Dst: IsFileCreatedSinceLastDirSync
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:222,1
    - Dst: leveldb::TestWritableFile::SyncParent
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:223,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:224,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 229
    functionName: leveldb::TestWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::OK
    - IsFilesystemActive
    - leveldb::TestWritableFile::Sync
    - IsFileCreatedSinceLastDirSync
    - leveldb::TestWritableFile::SyncParent
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status TestWritableFile::Sync()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:234,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:235,1
    - Dst: TestWritableFile::TestWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:238,1
    - Dst: leveldb::FaultInjectionTestEnv::UntrackFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:242,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: leveldb::FaultInjectionTestEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FaultInjectionTestEnv::UntrackFile
    - TestWritableFile::TestWritableFile
    - target
    - insert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status FaultInjectionTestEnv::NewWritableFile(const std::string& fname,\n
      \                                             WritableFile** result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:252,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:253,1
    - Dst: count
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:258,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:259,1
    - Dst: TestWritableFile::TestWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: leveldb::FaultInjectionTestEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - TestWritableFile::TestWritableFile
    - target
    - Status::ok
    - insert
    - count
    linkageType: ''
    returnType: Status
    signature: "Status FaultInjectionTestEnv::NewAppendableFile(const std::string&
      fname,\n                                                WritableFile** result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:273,1
    - Dst: IsFullySynced
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:277,1
    - Dst: DropUnsyncedData
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: leveldb::FaultInjectionTestEnv::DropUnsyncedFileData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - DropUnsyncedData
    - IsFullySynced
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status FaultInjectionTestEnv::DropUnsyncedFileData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: leveldb::FaultInjectionTestEnv::DirWasSynced
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv::DirWasSynced()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:292,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: leveldb::FaultInjectionTestEnv::IsFileCreatedSinceLastDirSync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool FaultInjectionTestEnv::IsFileCreatedSinceLastDirSync(\n    const
      std::string& filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:298,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: leveldb::FaultInjectionTestEnv::UntrackFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 3
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv::UntrackFile(const std::string& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTestEnv::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:303,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:304,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:305,1
    - Dst: leveldb::FaultInjectionTestEnv::UntrackFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: leveldb::FaultInjectionTestEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 3
    functionsReached:
    - leveldb::FaultInjectionTestEnv::DeleteFile
    - leveldb::FaultInjectionTestEnv::UntrackFile
    - ASSERT_OK
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status FaultInjectionTestEnv::DeleteFile(const std::string& f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTestEnv::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:313,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:315,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:317,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:317,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:319,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:322,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:323,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:323,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:324,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' s'
    - ' t'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: "(new_files_since_last_dir_sync_.find(t) ==\n             new_files_since_last_dir_sync_.end())"
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: leveldb::FaultInjectionTestEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 2
    functionsReached:
    - end
    - erase
    - insert
    - leveldb::FaultInjectionTestEnv::RenameFile
    - assert
    - find
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status FaultInjectionTestEnv::RenameFile(const std::string& s,\n                                         const
      std::string& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: leveldb::FaultInjectionTestEnv::ResetState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - SetFilesystemActive
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv::ResetState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:341,1
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:342,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:343,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:344,1
    - Dst: leveldb::FaultInjectionTestEnv::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:347,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:348,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:348,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 353
    functionName: leveldb::FaultInjectionTestEnv::DeleteFilesCreatedAfterLastDirSync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - end
    - leveldb::FaultInjectionTestEnv::DeleteFile
    - Unlock
    - std::move
    - Status::ok
    - begin
    - Lock
    linkageType: ''
    returnType: Status
    signature: Status FaultInjectionTestEnv::DeleteFilesCreatedAfterLastDirSync()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - FileState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: leveldb::FaultInjectionTestEnv::WritableFileClosed
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTestEnv::WritableFileClosed(const FileState& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FileState::Truncate
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: leveldb::FileState::DropUnsyncedData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FileState::Truncate
    linkageType: ''
    returnType: Status
    signature: Status FileState::DropUnsyncedData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FaultInjectionTestEnv::FaultInjectionTestEnv
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:377,1
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:378,1
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:380,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:381,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: leveldb::FaultInjectionTest::FaultInjectionTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - FaultInjectionTestEnv::FaultInjectionTestEnv
    - NewLRUCache
    - DestroyDB
    - Options
    linkageType: ''
    returnType: void
    signature: void FaultInjectionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:390,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:391,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: ~FaultInjectionTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - DestroyDB
    - Options
    - CloseDB
    linkageType: ''
    returnType: void
    signature: void ~FaultInjectionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reuse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: leveldb::FaultInjectionTest::ReuseLogs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReuseLogs(bool reuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:402,1
    - Dst: WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:403,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:404,1
    - Dst: leveldb::FaultInjectionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:404,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:406,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - start_idx
    - num_vals
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: leveldb::FaultInjectionTest::Build
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::FaultInjectionTest::Key
    - leveldb::FaultInjectionTest::Value
    - Write
    - ASSERT_OK
    - WriteBatch::Clear
    - WriteBatch::Put
    linkageType: ''
    returnType: void
    signature: void Build(int start_idx, int num_vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:412,1
    - Dst: leveldb::FaultInjectionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:413,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: leveldb::FaultInjectionTest::ReadValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::FaultInjectionTest::Key
    - leveldb::FaultInjectionTest::Value
    - Get
    linkageType: ''
    returnType: Status
    signature: Status ReadValue(int i, std::string* val) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:423,1
    - Dst: leveldb::FaultInjectionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:424,1
    - Dst: leveldb::FaultInjectionTest::ReadValue
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:425,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:428,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:430,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:431,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:432,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - start_idx
    - num_vals
    - expected
    argTypes:
    - int
    - int
    - ExpectedVerifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 438
    functionName: leveldb::FaultInjectionTest::Verify
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::FaultInjectionTest::ReadValue
    - leveldb::OK
    - ASSERT_EQ
    - leveldb::FaultInjectionTest::Value
    - fprintf
    - leveldb::IOError
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status Verify(int start_idx, int num_vals,\n                ExpectedVerifResult
      expected) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:443,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:444,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:444,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - i
    - storage
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: leveldb::FaultInjectionTest::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 4
    functionsReached:
    - Slice
    - strlen
    - snprintf
    - std::string*::assign
    linkageType: ''
    returnType: Slice
    signature: Slice Key(int i, std::string* storage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - storage
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: leveldb::FaultInjectionTest::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 6
    functionsReached:
    - leveldb::test::RandomString
    linkageType: ''
    returnType: Slice
    signature: Slice Value(int k, std::string* storage) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResetState
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:457,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: leveldb::FaultInjectionTest::OpenDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 3
    functionsReached:
    - leveldb::DB::Open
    - ResetState
    linkageType: ''
    returnType: Status
    signature: Status OpenDB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: leveldb::FaultInjectionTest::CloseDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CloseDB()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:467,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:467,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:468,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:468,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:468,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:469,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:469,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:469,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: leveldb::FaultInjectionTest::DeleteAllData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - WriteOptions
    - Iterator*::Valid
    - Iterator*::SeekToFirst
    - ReadOptions
    - NewIterator
    - Delete
    - Iterator*::key
    - Iterator*::Next
    - ASSERT_OK
    linkageType: ''
    returnType: void
    signature: void DeleteAllData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:478,1
    - Dst: DropUnsyncedFileData
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:478,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:481,1
    - Dst: DeleteFilesCreatedAfterLastDirSync
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:481,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - reset_method
    argTypes:
    - ResetMethod
    assertStmts:
    - condition: (false)
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    constantsTouched: []
    func_position:
      end: 486
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 486
    functionName: leveldb::FaultInjectionTest::ResetDBState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 2
    functionsReached:
    - assert
    - ASSERT_OK
    - DropUnsyncedFileData
    - DeleteFilesCreatedAfterLastDirSync
    linkageType: ''
    returnType: void
    signature: void ResetDBState(ResetMethod reset_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTest::DeleteAllData
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:489,1
    - Dst: leveldb::FaultInjectionTest::Build
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:490,1
    - Dst: CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:491,1
    - Dst: leveldb::FaultInjectionTest::Build
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - num_pre_sync
    - num_post_sync
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: leveldb::FaultInjectionTest::PartialCompactTestPreFault
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::FaultInjectionTest::Build
    - leveldb::FaultInjectionTest::DeleteAllData
    - CompactRange
    linkageType: ''
    returnType: void
    signature: void PartialCompactTestPreFault(int num_pre_sync, int num_post_sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetFilesystemActive
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:497,1
    - Dst: leveldb::FaultInjectionTest::CloseDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:498,1
    - Dst: leveldb::FaultInjectionTest::ResetDBState
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:499,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:500,1
    - Dst: leveldb::FaultInjectionTest::OpenDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:500,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:501,1
    - Dst: leveldb::FaultInjectionTest::Verify
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:501,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:502,1
    - Dst: leveldb::FaultInjectionTest::Verify
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - reset_method
    - num_pre_sync
    - num_post_sync
    argTypes:
    - ResetMethod
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 504
    functionName: leveldb::FaultInjectionTest::PartialCompactTestReopenWithFault
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - SetFilesystemActive
    - leveldb::FaultInjectionTest::OpenDB
    - leveldb::FaultInjectionTest::CloseDB
    - ASSERT_OK
    - leveldb::FaultInjectionTest::Verify
    - leveldb::FaultInjectionTest::ResetDBState
    linkageType: ''
    returnType: void
    signature: "void PartialCompactTestReopenWithFault(ResetMethod reset_method,\n
      \                                        int num_pre_sync, int num_post_sync)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: leveldb::FaultInjectionTest::NoWriteTestPreFault
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoWriteTestPreFault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FaultInjectionTest::CloseDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:509,1
    - Dst: leveldb::FaultInjectionTest::ResetDBState
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:510,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:511,1
    - Dst: leveldb::FaultInjectionTest::OpenDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - reset_method
    argTypes:
    - ResetMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: leveldb::FaultInjectionTest::NoWriteTestReopenWithFault
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::FaultInjectionTest::CloseDB
    - leveldb::FaultInjectionTest::OpenDB
    - ASSERT_OK
    - leveldb::FaultInjectionTest::ResetDBState
    linkageType: ''
    returnType: void
    signature: void NoWriteTestReopenWithFault(ResetMethod reset_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:516,1
    - Dst: leveldb::FaultInjectionTest::OpenDB
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:516,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:518,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:519,1
    - Dst: leveldb::FaultInjectionTest::PartialCompactTestPreFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:521,1
    - Dst: leveldb::FaultInjectionTest::PartialCompactTestReopenWithFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:522,1
    - Dst: leveldb::FaultInjectionTest::NoWriteTestPreFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:525,1
    - Dst: leveldb::FaultInjectionTest::NoWriteTestReopenWithFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:526,1
    - Dst: leveldb::FaultInjectionTest::PartialCompactTestPreFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:528,1
    - Dst: leveldb::FaultInjectionTest::PartialCompactTestReopenWithFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:531,1
    - Dst: leveldb::FaultInjectionTest::NoWriteTestPreFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:534,1
    - Dst: leveldb::FaultInjectionTest::NoWriteTestReopenWithFault
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 537
    functionName: leveldb::FaultInjectionTest::DoTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FaultInjectionTest::OpenDB
    - leveldb::FaultInjectionTest::NoWriteTestPreFault
    - leveldb::FaultInjectionTest::NoWriteTestReopenWithFault
    - ASSERT_OK
    - Random::Uniform
    - leveldb::FaultInjectionTest::PartialCompactTestPreFault
    - leveldb::FaultInjectionTest::PartialCompactTestReopenWithFault
    linkageType: ''
    returnType: void
    signature: void DoTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReuseLogs
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:541,1
    - Dst: DoTest
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - ReuseLogs
    - DoTest
    linkageType: ''
    returnType: void
    signature: void TEST(FaultInjectionTest, FaultTestNoLogReuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReuseLogs
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:546,1
    - Dst: DoTest
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 0
    functionsReached:
    - ReuseLogs
    - DoTest
    linkageType: ''
    returnType: void
    signature: void TEST(FaultInjectionTest, FaultTestWithLogReuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 552
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/fault_injection_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:14,1
    - Dst: leveldb::ParsedInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' user_key'
    - seq
    - vt
    argTypes:
    - std::string
    - uint64_t
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: leveldb::IKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::AppendInternalKey
    - leveldb::ParsedInternalKey
    linkageType: ''
    returnType: std::string
    signature: "std::string IKey(const std::string& user_key, uint64_t seq,\n                        ValueType
      vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalKeyComparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:20,1
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s'
    - ' l'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: leveldb::Shorten
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - InternalKeyComparator
    - leveldb::BytewiseComparator
    linkageType: ''
    returnType: std::string
    signature: std::string Shorten(const std::string& s, const std::string& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalKeyComparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:26,1
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: leveldb::ShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - InternalKeyComparator
    - leveldb::BytewiseComparator
    linkageType: ''
    returnType: std::string
    signature: std::string ShortSuccessor(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:36,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:36,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:37,1
    - Dst: ParsedInternalKey::user_key::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:37,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:39,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:41,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:41,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' key'
    - seq
    - vt
    argTypes:
    - std::string
    - uint64_t
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: leveldb::TestKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ParseInternalKey
    - leveldb::Slice
    - ASSERT_EQ
    - leveldb::IKey
    - ASSERT_TRUE
    - ParsedInternalKey::user_key::ToString
    linkageType: ''
    returnType: void
    signature: void TestKey(const std::string& key, uint64_t seq, ValueType vt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:62,1
    - Dst: leveldb::TestKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::TestKey
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKey_EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:71,1
    - Dst: InternalKey::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - InternalKey::DecodeFrom
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKey_DecodeFromEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:76,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:76,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:77,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:77,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:78,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:79,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:80,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:80,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:81,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:82,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:83,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:83,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:84,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:85,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:86,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:86,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:89,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:89,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:90,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:90,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:93,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:94,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:95,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:95,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:98,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:99,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:100,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:100,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:103,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:104,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:105,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:105,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 106
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Shorten
    - leveldb::IKey
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKeyShortSeparator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:109,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:109,1
    - Dst: leveldb::ShortSuccessor
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:110,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:111,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:111,1
    - Dst: leveldb::ShortSuccessor
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:112,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ShortSuccessor
    - leveldb::IKey
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKeyShortestSuccessor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:118,1
    - Dst: ParsedInternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - ParsedInternalKey::DebugString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, ParsedInternalKeyDebugString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:123,1
    - Dst: InternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:123,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:126,1
    - Dst: InternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - InternalKey::DebugString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKeyDebugString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:14,1
    - Dst: leveldb::ParsedInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' user_key'
    - seq
    - vt
    argTypes:
    - std::string
    - uint64_t
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: leveldb::IKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 3
    functionsReached:
    - leveldb::AppendInternalKey
    - leveldb::ParsedInternalKey
    linkageType: ''
    returnType: std::string
    signature: "std::string IKey(const std::string& user_key, uint64_t seq,\n                        ValueType
      vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalKeyComparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:20,1
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s'
    - ' l'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: leveldb::Shorten
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 1
    functionsReached:
    - InternalKeyComparator
    - leveldb::BytewiseComparator
    linkageType: ''
    returnType: std::string
    signature: std::string Shorten(const std::string& s, const std::string& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalKeyComparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:26,1
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: leveldb::ShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 1
    functionsReached:
    - InternalKeyComparator
    - leveldb::BytewiseComparator
    linkageType: ''
    returnType: std::string
    signature: std::string ShortSuccessor(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:31,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:36,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:36,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:37,1
    - Dst: ParsedInternalKey::user_key::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:37,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:39,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:41,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:41,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' key'
    - seq
    - vt
    argTypes:
    - std::string
    - uint64_t
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: leveldb::TestKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::ParseInternalKey
    - leveldb::Slice
    - ASSERT_EQ
    - leveldb::IKey
    - ASSERT_TRUE
    - ParsedInternalKey::user_key::ToString
    linkageType: ''
    returnType: void
    signature: void TestKey(const std::string& key, uint64_t seq, ValueType vt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:62,1
    - Dst: leveldb::TestKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::TestKey
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKey_EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:71,1
    - Dst: InternalKey::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - InternalKey::DecodeFrom
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKey_DecodeFromEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:76,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:76,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:77,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:77,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:78,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:79,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:80,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:80,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:81,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:82,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:83,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:83,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:84,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:85,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:86,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:86,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:89,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:89,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:90,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:90,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:93,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:94,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:95,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:95,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:98,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:99,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:100,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:100,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:103,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:104,1
    - Dst: leveldb::Shorten
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:105,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:105,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 106
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Shorten
    - leveldb::IKey
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKeyShortSeparator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:109,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:109,1
    - Dst: leveldb::ShortSuccessor
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:110,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:111,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:111,1
    - Dst: leveldb::ShortSuccessor
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:112,1
    - Dst: leveldb::IKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ShortSuccessor
    - leveldb::IKey
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKeyShortestSuccessor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:118,1
    - Dst: ParsedInternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - ParsedInternalKey::DebugString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, ParsedInternalKeyDebugString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:123,1
    - Dst: InternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:123,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:126,1
    - Dst: InternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 0
    functionsReached:
    - InternalKey::DebugString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FormatTest, InternalKeyDebugString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:20,1
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:21,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:22,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:22,1
    - Dst: leveldb::RecoveryTest::Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: leveldb::RecoveryTest::RecoveryTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::Open
    - leveldb::test::TmpDir
    - DestroyDB
    - Options
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void RecoveryTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:27,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:28,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ~RecoveryTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Options
    - leveldb::DestroyDB
    - Close
    linkageType: ''
    returnType: void
    signature: void ~RecoveryTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: leveldb::RecoveryTest::dbfull
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DBImpl*>
    linkageType: ''
    returnType: DBImpl
    signature: DBImpl * dbfull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::RecoveryTest::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Env
    signature: Env * env() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:36,1
    - Dst: CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:36,1
    - Dst: Status::IsNotSupportedError
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: leveldb::RecoveryTest::CanAppend
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - NewAppendableFile
    - Status::IsNotSupportedError
    - CurrentFileName
    linkageType: ''
    returnType: bool
    signature: bool CanAppend()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: leveldb::RecoveryTest::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:51,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: leveldb::RecoveryTest::OpenWithStatus
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::Close
    - leveldb::DB::Open
    linkageType: ''
    returnType: Status
    signature: Status OpenWithStatus(Options* options = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:66,1
    - Dst: leveldb::RecoveryTest::OpenWithStatus
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:67,1
    - Dst: leveldb::RecoveryTest::NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: leveldb::RecoveryTest::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 1
    functionsReached:
    - ASSERT_OK
    - leveldb::RecoveryTest::OpenWithStatus
    - leveldb::RecoveryTest::NumLogs
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void Open(Options* options = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:71,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' v'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: leveldb::RecoveryTest::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::RecoveryTest::Put
    - WriteOptions
    linkageType: ''
    returnType: Status
    signature: Status Put(const std::string& k, const std::string& v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:76,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:76,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:77,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:79,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: leveldb::RecoveryTest::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 1
    functionsReached:
    - Status::IsNotFound
    - ReadOptions
    - leveldb::RecoveryTest::Get
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: std::string
    signature: std::string Get(const std::string& k, const Snapshot* snapshot = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:87,1
    - Dst: ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:87,1
    - Dst: CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:87,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:88,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: leveldb::RecoveryTest::ManifestFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - CurrentFileName
    - ReadFileToString
    - std::string::resize
    - ASSERT_OK
    linkageType: ''
    returnType: std::string
    signature: std::string ManifestFileName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: leveldb::RecoveryTest::LogName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - LogFileName
    linkageType: ''
    returnType: std::string
    signature: std::string LogName(uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:100,1
    - Dst: leveldb::RecoveryTest::GetFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:101,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:102,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:103,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:103,1
    - Dst: leveldb::RecoveryTest::LogName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:103,1
    - Dst: leveldb::RecoveryTest::LogName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:103,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: leveldb::RecoveryTest::DeleteLogFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - DeleteFile
    - leveldb::RecoveryTest::LogName
    - ASSERT_OK
    - leveldb::RecoveryTest::GetFiles
    - leveldb::RecoveryTest::Close
    - std::vector::size
    linkageType: ''
    returnType: size_t
    signature: size_t DeleteLogFiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:108,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:108,1
    - Dst: leveldb::RecoveryTest::ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: leveldb::RecoveryTest::DeleteManifestFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::ManifestFileName
    - DeleteFile
    - ASSERT_OK
    linkageType: ''
    returnType: void
    signature: void DeleteManifestFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::GetFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: leveldb::RecoveryTest::FirstLogFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::GetFiles
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FirstLogFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:114,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:114,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:116,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - FileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: leveldb::RecoveryTest::GetFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 2
    functionsReached:
    - GetChildren
    - std::vector::push_back
    - ASSERT_OK
    - ParseFileName
    - std::vector::size
    linkageType: ''
    returnType: std::vector<uint64_t>
    signature: std::vector<uint64_t> GetFiles(FileType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::GetFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: leveldb::RecoveryTest::NumLogs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::RecoveryTest::GetFiles
    linkageType: ''
    returnType: int
    signature: int NumLogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::GetFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: leveldb::RecoveryTest::NumTables
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::GetFiles
    linkageType: ''
    returnType: int
    signature: int NumTables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:132,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' fname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: leveldb::RecoveryTest::FileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_OK
    - GetFileSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FileSize(const std::string& fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::dbfull
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: leveldb::RecoveryTest::CompactMemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::dbfull
    linkageType: ''
    returnType: void
    signature: void CompactMemTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:140,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:142,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:142,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:145,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:146,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:147,1
    - Dst: log::Writer::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:147,1
    - Dst: leveldb::WriteBatchInternal::Contents
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:147,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:148,1
    - Dst: WritableFile*::Flush
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - lognum
    - seq
    - key
    - val
    argTypes:
    - uint64_t
    - SequenceNumber
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: leveldb::RecoveryTest::MakeLogFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - log::Writer::AddRecord
    - leveldb::WriteBatchInternal::SetSequence
    - LogFileName
    - NewWritableFile
    - WritableFile*::Flush
    - ASSERT_OK
    - leveldb::WriteBatchInternal::Contents
    - WriteBatch::Put
    linkageType: ''
    returnType: void
    signature: void MakeLogFile(uint64_t lognum, SequenceNumber seq, Slice key, Slice
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:159,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:160,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:163,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:163,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:164,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:165,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:167,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:168,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:168,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:170,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:171,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - ManifestFileName
    - Close
    - ASSERT_EQ
    - Put
    - fprintf
    - ASSERT_OK
    - CanAppend
    - Open
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, ManifestReused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:175,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:176,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:179,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:179,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:180,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:181,1
    - Dst: FileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:185,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:187,1
    - Dst: env
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:187,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:188,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:189,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:189,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:190,1
    - Dst: WritableFile*::Flush
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:190,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:194,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:195,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:196,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:197,1
    - Dst: FileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:197,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:198,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:198,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:201,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:202,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 203
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - ManifestFileName
    - static_cast<size_t>
    - ASSERT_NE
    - ASSERT_GT
    - env
    - WritableFile*::Append
    - Close
    - ASSERT_EQ
    - Put
    - fprintf
    - ASSERT_OK
    - CanAppend
    - Open
    - WritableFile*::Flush
    - FileSize
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, LargeManifestCompacted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:206,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:206,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:207,1
    - Dst: DeleteLogFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:207,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:208,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:209,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:209,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:211,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Open
    - DeleteLogFiles
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, NoLogFiles)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:215,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:216,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:220,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:220,1
    - Dst: CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:223,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:226,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:226,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:229,1
    - Dst: FileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:229,1
    - Dst: LogName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:229,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:231,1
    - Dst: FileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:231,1
    - Dst: LogName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:231,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:234,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:235,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:236,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:236,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:238,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:239,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:239,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:240,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 242
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - CompactMemTable
    - NumLogs
    - FirstLogFile
    - LogName
    - Close
    - ASSERT_EQ
    - Put
    - fprintf
    - ASSERT_OK
    - ASSERT_LT
    - CanAppend
    - Open
    - FileSize
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, LogFileReuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:249,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:250,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:252,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:252,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:254,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:255,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:255,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:256,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:262,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:263,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:264,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:265,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:265,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:269,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 271
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - NumLogs
    - FirstLogFile
    - Close
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - snprintf
    - NumTables
    - ASSERT_LE
    - Open
    - ASSERT_NE
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, MultipleMemTables)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:274,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:274,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:276,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:276,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:279,1
    - Dst: MakeLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:280,1
    - Dst: MakeLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:281,1
    - Dst: MakeLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:282,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:285,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:286,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:287,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:287,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:288,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:290,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:291,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:292,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:292,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:295,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:296,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:297,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:297,1
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:299,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:301,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:301,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:302,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:302,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:303,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:303,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:306,1
    - Dst: MakeLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:307,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:308,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:309,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:310,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:310,1
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:311,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:312,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:314,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:314,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:315,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:316,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 317
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - NumLogs
    - FirstLogFile
    - CanAppend
    - Close
    - ASSERT_EQ
    - Put
    - MakeLogFile
    - ASSERT_OK
    - NumTables
    - ASSERT_LE
    - Open
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, MultipleLogFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:320,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:320,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:321,1
    - Dst: DeleteManifestFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:322,1
    - Dst: OpenWithStatus
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:324,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:325,1
    - Dst: Status::IsCorruption
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - Status::IsCorruption
    - DeleteManifestFile
    - Close
    - Put
    - OpenWithStatus
    - ASSERT_TRUE
    - ASSERT_OK
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, ManifestMissing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:20,1
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:21,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:22,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:22,1
    - Dst: leveldb::RecoveryTest::Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: leveldb::RecoveryTest::RecoveryTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::Open
    - leveldb::test::TmpDir
    - DestroyDB
    - Options
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void RecoveryTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:27,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:28,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ~RecoveryTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - DestroyDB
    - Options
    - Close
    linkageType: ''
    returnType: void
    signature: void ~RecoveryTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: leveldb::RecoveryTest::dbfull
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<DBImpl*>
    linkageType: ''
    returnType: DBImpl
    signature: DBImpl * dbfull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::RecoveryTest::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Env
    signature: Env * env() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:36,1
    - Dst: CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:36,1
    - Dst: Status::IsNotSupportedError
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: leveldb::RecoveryTest::CanAppend
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - NewAppendableFile
    - Status::IsNotSupportedError
    - CurrentFileName
    linkageType: ''
    returnType: bool
    signature: bool CanAppend()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: leveldb::RecoveryTest::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:51,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: leveldb::RecoveryTest::OpenWithStatus
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::RecoveryTest::Close
    - leveldb::DB::Open
    linkageType: ''
    returnType: Status
    signature: Status OpenWithStatus(Options* options = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:66,1
    - Dst: leveldb::RecoveryTest::OpenWithStatus
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:67,1
    - Dst: leveldb::RecoveryTest::NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: leveldb::RecoveryTest::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 2
    functionsReached:
    - ASSERT_OK
    - leveldb::RecoveryTest::OpenWithStatus
    - leveldb::RecoveryTest::NumLogs
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void Open(Options* options = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:71,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' v'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: leveldb::RecoveryTest::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::RecoveryTest::Put
    - WriteOptions
    linkageType: ''
    returnType: Status
    signature: Status Put(const std::string& k, const std::string& v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:76,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:76,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:77,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:79,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: leveldb::RecoveryTest::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 2
    functionsReached:
    - Status::IsNotFound
    - ReadOptions
    - leveldb::RecoveryTest::Get
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: std::string
    signature: std::string Get(const std::string& k, const Snapshot* snapshot = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:87,1
    - Dst: ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:87,1
    - Dst: CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:87,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:88,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: leveldb::RecoveryTest::ManifestFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 1
    functionsReached:
    - std::string::size
    - CurrentFileName
    - ReadFileToString
    - std::string::resize
    - ASSERT_OK
    linkageType: ''
    returnType: std::string
    signature: std::string ManifestFileName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: leveldb::RecoveryTest::LogName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 1
    functionsReached:
    - LogFileName
    linkageType: ''
    returnType: std::string
    signature: std::string LogName(uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:100,1
    - Dst: leveldb::RecoveryTest::GetFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:101,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:102,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:103,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:103,1
    - Dst: leveldb::RecoveryTest::LogName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:103,1
    - Dst: leveldb::RecoveryTest::LogName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:103,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: leveldb::RecoveryTest::DeleteLogFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - DeleteFile
    - leveldb::RecoveryTest::LogName
    - ASSERT_OK
    - leveldb::RecoveryTest::GetFiles
    - leveldb::RecoveryTest::Close
    - std::vector::size
    linkageType: ''
    returnType: size_t
    signature: size_t DeleteLogFiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:108,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:108,1
    - Dst: leveldb::RecoveryTest::ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: leveldb::RecoveryTest::DeleteManifestFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::ManifestFileName
    - DeleteFile
    - ASSERT_OK
    linkageType: ''
    returnType: void
    signature: void DeleteManifestFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::GetFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: leveldb::RecoveryTest::FirstLogFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::GetFiles
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FirstLogFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:114,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:114,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:116,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:119,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - FileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: leveldb::RecoveryTest::GetFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 6
    functionsReached:
    - GetChildren
    - std::vector::push_back
    - ASSERT_OK
    - ParseFileName
    - std::vector::size
    linkageType: ''
    returnType: std::vector<uint64_t>
    signature: std::vector<uint64_t> GetFiles(FileType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::GetFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: leveldb::RecoveryTest::NumLogs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::RecoveryTest::GetFiles
    linkageType: ''
    returnType: int
    signature: int NumLogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::GetFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: leveldb::RecoveryTest::NumTables
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::GetFiles
    linkageType: ''
    returnType: int
    signature: int NumTables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:132,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' fname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: leveldb::RecoveryTest::FileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_OK
    - GetFileSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FileSize(const std::string& fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RecoveryTest::dbfull
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: leveldb::RecoveryTest::CompactMemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RecoveryTest::dbfull
    linkageType: ''
    returnType: void
    signature: void CompactMemTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:140,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:142,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:142,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:145,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:146,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:147,1
    - Dst: log::Writer::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:147,1
    - Dst: leveldb::WriteBatchInternal::Contents
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:147,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:148,1
    - Dst: WritableFile*::Flush
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - lognum
    - seq
    - key
    - val
    argTypes:
    - uint64_t
    - SequenceNumber
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: leveldb::RecoveryTest::MakeLogFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - log::Writer::AddRecord
    - leveldb::WriteBatchInternal::SetSequence
    - LogFileName
    - NewWritableFile
    - WritableFile*::Flush
    - ASSERT_OK
    - leveldb::WriteBatchInternal::Contents
    - WriteBatch::Put
    linkageType: ''
    returnType: void
    signature: void MakeLogFile(uint64_t lognum, SequenceNumber seq, Slice key, Slice
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:159,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:160,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:163,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:163,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:164,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:165,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:167,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:168,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:168,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:170,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:171,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - ManifestFileName
    - Close
    - ASSERT_EQ
    - Put
    - fprintf
    - ASSERT_OK
    - CanAppend
    - Open
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, ManifestReused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:175,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:176,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:179,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:179,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:180,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:181,1
    - Dst: FileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:185,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:187,1
    - Dst: env
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:187,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:188,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:189,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:189,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:190,1
    - Dst: WritableFile*::Flush
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:190,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:194,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:195,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:196,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:197,1
    - Dst: FileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:197,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:198,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:198,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:201,1
    - Dst: ManifestFileName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:202,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 203
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - ManifestFileName
    - static_cast<size_t>
    - ASSERT_NE
    - ASSERT_GT
    - env
    - WritableFile*::Append
    - Close
    - ASSERT_EQ
    - Put
    - fprintf
    - ASSERT_OK
    - CanAppend
    - Open
    - WritableFile*::Flush
    - FileSize
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, LargeManifestCompacted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:206,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:206,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:207,1
    - Dst: DeleteLogFiles
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:207,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:208,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:209,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:209,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:211,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Open
    - DeleteLogFiles
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, NoLogFiles)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:215,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:216,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:220,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:220,1
    - Dst: CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:223,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:226,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:226,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:229,1
    - Dst: FileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:229,1
    - Dst: LogName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:229,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:231,1
    - Dst: FileSize
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:231,1
    - Dst: LogName
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:231,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:234,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:235,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:236,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:236,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:238,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:239,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:239,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:240,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 242
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - CompactMemTable
    - NumLogs
    - FirstLogFile
    - LogName
    - Close
    - ASSERT_EQ
    - Put
    - fprintf
    - ASSERT_OK
    - ASSERT_LT
    - CanAppend
    - Open
    - FileSize
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, LogFileReuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:249,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:250,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:252,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:252,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:254,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:255,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:255,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:256,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:262,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:263,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:264,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:264,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:265,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:265,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:268,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:269,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 271
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - NumLogs
    - FirstLogFile
    - Close
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - snprintf
    - NumTables
    - ASSERT_LE
    - Open
    - ASSERT_NE
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, MultipleMemTables)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:274,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:274,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:276,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:276,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:279,1
    - Dst: MakeLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:280,1
    - Dst: MakeLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:281,1
    - Dst: MakeLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:282,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:285,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:286,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:287,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:287,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:288,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:290,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:290,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:291,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:292,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:292,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:295,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:296,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:297,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:297,1
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:299,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:301,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:301,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:302,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:302,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:303,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:303,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:306,1
    - Dst: MakeLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:307,1
    - Dst: Open
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:308,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:309,1
    - Dst: NumTables
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:310,1
    - Dst: NumLogs
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:310,1
    - Dst: CanAppend
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:311,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:312,1
    - Dst: FirstLogFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:314,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:314,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:315,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:316,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 317
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - NumLogs
    - FirstLogFile
    - CanAppend
    - Close
    - ASSERT_EQ
    - Put
    - MakeLogFile
    - ASSERT_OK
    - NumTables
    - ASSERT_LE
    - Open
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, MultipleLogFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:320,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:320,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:321,1
    - Dst: DeleteManifestFile
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:322,1
    - Dst: OpenWithStatus
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:324,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:325,1
    - Dst: Status::IsCorruption
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 0
    functionsReached:
    - Status::IsCorruption
    - DeleteManifestFile
    - Close
    - Put
    - OpenWithStatus
    - ASSERT_TRUE
    - ASSERT_OK
    linkageType: ''
    returnType: void
    signature: void TEST(RecoveryTest, ManifestMissing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/recovery_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/recovery_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:17,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seq
    - t
    argTypes:
    - uint64_t
    - ValueType
    assertStmts:
    - condition: (seq <= kMaxSequenceNumber)
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    - condition: (t <= kValueTypeForSeek)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: leveldb::PackSequenceAndType
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PackSequenceAndType(uint64_t seq, ValueType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:23,1
    - Dst: user_key::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:23,1
    - Dst: user_key::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:23,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:24,1
    - Dst: leveldb::PackSequenceAndType
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - ' key'
    argTypes:
    - std::string*
    - ParsedInternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: leveldb::AppendInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 2
    functionsReached:
    - user_key::size
    - leveldb::PackSequenceAndType
    - std::string*::append
    - leveldb::PutFixed64
    - user_key::data
    linkageType: ''
    returnType: void
    signature: void AppendInternalKey(std::string* result, const ParsedInternalKey&
      key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:29,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:29,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:30,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: leveldb::ParsedInternalKey::DebugString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - EscapeString
    - ToString
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ParsedInternalKey::DebugString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:36,1
    - Dst: ParsedInternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:37,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:40,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: leveldb::InternalKey::DebugString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - ParsedInternalKey::DebugString
    - ParseInternalKey
    - EscapeString
    linkageType: ''
    returnType: std::string
    signature: std::string InternalKey::DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: leveldb::InternalKeyComparator::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * InternalKeyComparator::Name() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:53,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:53,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:53,1
    - Dst: DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:55,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:55,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:55,1
    - Dst: DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:56,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:56,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' akey'
    - ' bkey'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: leveldb::InternalKeyComparator::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 1
    functionsReached:
    - leveldb::InternalKeyComparator::Compare
    - DecodeFixed64
    - size
    - data
    - ExtractUserKey
    linkageType: ''
    returnType: int
    signature: int InternalKeyComparator::Compare(const Slice& akey, const Slice&
      bkey) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:69,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:70,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:71,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:71,1
    - Dst: leveldb::InternalKeyComparator::FindShortestSeparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:72,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:73,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:73,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:74,1
    - Dst: PutFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:77,1
    - Dst: PackSequenceAndType
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:78,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:79,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:79,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:80,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:80,1
    - Dst: std::string*::swap
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - start
    - ' limit'
    argTypes:
    - std::string*
    - Slice
    assertStmts:
    - condition: (this->Compare(tmp, limit) < 0)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    - condition: (this->Compare(*start, tmp) < 0)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: leveldb::InternalKeyComparator::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 1
    functionsReached:
    - leveldb::InternalKeyComparator::Compare
    - std::string::size
    - leveldb::InternalKeyComparator::FindShortestSeparator
    - Slice::data
    - Slice::size
    - std::string*::swap
    - ExtractUserKey
    - PutFixed64
    - PackSequenceAndType
    - assert
    linkageType: ''
    returnType: void
    signature: "void InternalKeyComparator::FindShortestSeparator(std::string* start,\n
      \                                                 const Slice& limit) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:86,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:87,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:87,1
    - Dst: leveldb::InternalKeyComparator::FindShortSuccessor
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:88,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:89,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:89,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:90,1
    - Dst: PutFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:93,1
    - Dst: PackSequenceAndType
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:94,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:95,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:95,1
    - Dst: std::string*::swap
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts:
    - condition: (this->Compare(*key, tmp) < 0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: leveldb::InternalKeyComparator::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 1
    functionsReached:
    - leveldb::InternalKeyComparator::Compare
    - std::string::size
    - Slice::data
    - leveldb::InternalKeyComparator::FindShortSuccessor
    - Slice::size
    - std::string*::swap
    - ExtractUserKey
    - PutFixed64
    - PackSequenceAndType
    - assert
    linkageType: ''
    returnType: void
    signature: void InternalKeyComparator::FindShortSuccessor(std::string* key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::InternalFilterPolicy::Name
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: leveldb::InternalFilterPolicy::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 1
    functionsReached:
    - leveldb::InternalFilterPolicy::Name
    linkageType: ''
    returnType: char
    signature: char * InternalFilterPolicy::Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Slice*>
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:106,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:108,1
    - Dst: leveldb::InternalFilterPolicy::CreateFilter
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - keys
    - n
    - dst
    argTypes:
    - Slice*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: leveldb::InternalFilterPolicy::CreateFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 1
    functionsReached:
    - leveldb::InternalFilterPolicy::CreateFilter
    - ExtractUserKey
    - const_cast<Slice*>
    linkageType: ''
    returnType: void
    signature: "void InternalFilterPolicy::CreateFilter(const Slice* keys, int n,\n
      \                                       std::string* dst) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::InternalFilterPolicy::KeyMayMatch
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:115,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' f'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: leveldb::InternalFilterPolicy::KeyMayMatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 1
    functionsReached:
    - ExtractUserKey
    - leveldb::InternalFilterPolicy::KeyMayMatch
    linkageType: ''
    returnType: bool
    signature: bool InternalFilterPolicy::KeyMayMatch(const Slice& key, const Slice&
      f) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:119,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:125,1
    - Dst: EncodeVarint32
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:128,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:130,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:130,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:132,1
    - Dst: PackSequenceAndType
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' user_key'
    - s
    argTypes:
    - Slice
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: leveldb::LookupKey::LookupKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 0
    functionsReached:
    - EncodeFixed64
    - size
    - memcpy
    - data
    - char::char
    - PackSequenceAndType
    - EncodeVarint32
    linkageType: ''
    returnType: void
    signature: void LookupKey::LookupKey(const Slice& user_key, SequenceNumber s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:17,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seq
    - t
    argTypes:
    - uint64_t
    - ValueType
    assertStmts:
    - condition: (seq <= kMaxSequenceNumber)
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    - condition: (t <= kValueTypeForSeek)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: leveldb::PackSequenceAndType
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PackSequenceAndType(uint64_t seq, ValueType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:23,1
    - Dst: user_key::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:23,1
    - Dst: user_key::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:23,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:24,1
    - Dst: leveldb::PackSequenceAndType
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - ' key'
    argTypes:
    - std::string*
    - ParsedInternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: leveldb::AppendInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 2
    functionsReached:
    - user_key::size
    - leveldb::PackSequenceAndType
    - std::string*::append
    - leveldb::PutFixed64
    - user_key::data
    linkageType: ''
    returnType: void
    signature: void AppendInternalKey(std::string* result, const ParsedInternalKey&
      key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:29,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:29,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:30,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: leveldb::ParsedInternalKey::DebugString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - EscapeString
    - ToString
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ParsedInternalKey::DebugString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:36,1
    - Dst: ParsedInternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:37,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:40,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: leveldb::InternalKey::DebugString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - ParsedInternalKey::DebugString
    - ParseInternalKey
    - EscapeString
    linkageType: ''
    returnType: std::string
    signature: std::string InternalKey::DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: leveldb::InternalKeyComparator::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * InternalKeyComparator::Name() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:53,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:53,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:53,1
    - Dst: DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:55,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:55,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:55,1
    - Dst: DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:56,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:56,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' akey'
    - ' bkey'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: leveldb::InternalKeyComparator::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 4
    functionsReached:
    - leveldb::InternalKeyComparator::Compare
    - DecodeFixed64
    - size
    - data
    - ExtractUserKey
    linkageType: ''
    returnType: int
    signature: int InternalKeyComparator::Compare(const Slice& akey, const Slice&
      bkey) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:69,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:70,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:71,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:71,1
    - Dst: leveldb::InternalKeyComparator::FindShortestSeparator
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:72,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:73,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:73,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:74,1
    - Dst: PutFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:77,1
    - Dst: PackSequenceAndType
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:78,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:79,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:79,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:80,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:80,1
    - Dst: std::string*::swap
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - start
    - ' limit'
    argTypes:
    - std::string*
    - Slice
    assertStmts:
    - condition: (this->Compare(tmp, limit) < 0)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    - condition: (this->Compare(*start, tmp) < 0)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: leveldb::InternalKeyComparator::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 2
    functionsReached:
    - leveldb::InternalKeyComparator::Compare
    - std::string::size
    - leveldb::InternalKeyComparator::FindShortestSeparator
    - Slice::data
    - Slice::size
    - std::string*::swap
    - ExtractUserKey
    - PutFixed64
    - PackSequenceAndType
    - assert
    linkageType: ''
    returnType: void
    signature: "void InternalKeyComparator::FindShortestSeparator(std::string* start,\n
      \                                                 const Slice& limit) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:86,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:87,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:87,1
    - Dst: leveldb::InternalKeyComparator::FindShortSuccessor
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:88,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:89,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:89,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:90,1
    - Dst: PutFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:93,1
    - Dst: PackSequenceAndType
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:94,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:95,1
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:95,1
    - Dst: std::string*::swap
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts:
    - condition: (this->Compare(*key, tmp) < 0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: leveldb::InternalKeyComparator::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 2
    functionsReached:
    - leveldb::InternalKeyComparator::Compare
    - std::string::size
    - Slice::data
    - leveldb::InternalKeyComparator::FindShortSuccessor
    - Slice::size
    - std::string*::swap
    - ExtractUserKey
    - PutFixed64
    - PackSequenceAndType
    - assert
    linkageType: ''
    returnType: void
    signature: void InternalKeyComparator::FindShortSuccessor(std::string* key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::InternalFilterPolicy::Name
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: leveldb::InternalFilterPolicy::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 2
    functionsReached:
    - leveldb::InternalFilterPolicy::Name
    linkageType: ''
    returnType: char
    signature: char * InternalFilterPolicy::Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Slice*>
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:106,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:108,1
    - Dst: leveldb::InternalFilterPolicy::CreateFilter
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - keys
    - n
    - dst
    argTypes:
    - Slice*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: leveldb::InternalFilterPolicy::CreateFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 2
    functionsReached:
    - leveldb::InternalFilterPolicy::CreateFilter
    - ExtractUserKey
    - const_cast<Slice*>
    linkageType: ''
    returnType: void
    signature: "void InternalFilterPolicy::CreateFilter(const Slice* keys, int n,\n
      \                                       std::string* dst) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::InternalFilterPolicy::KeyMayMatch
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:115,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' f'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: leveldb::InternalFilterPolicy::KeyMayMatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 2
    functionsReached:
    - ExtractUserKey
    - leveldb::InternalFilterPolicy::KeyMayMatch
    linkageType: ''
    returnType: bool
    signature: bool InternalFilterPolicy::KeyMayMatch(const Slice& key, const Slice&
      f) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:119,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:125,1
    - Dst: EncodeVarint32
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:128,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:130,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:130,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:132,1
    - Dst: PackSequenceAndType
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' user_key'
    - s
    argTypes:
    - Slice
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: leveldb::LookupKey::LookupKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.cc
    functionUses: 0
    functionsReached:
    - EncodeFixed64
    - size
    - memcpy
    - data
    - char::char
    - PackSequenceAndType
    - EncodeVarint32
    linkageType: ''
    returnType: void
    signature: void LookupKey::LookupKey(const Slice& user_key, SequenceNumber s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:18,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type_crc
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: leveldb::log::InitTypeCrc
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Value
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void InitTypeCrc(uint32_t* type_crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTypeCrc
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dest
    argTypes:
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - InitTypeCrc
    linkageType: ''
    returnType: void
    signature: void Writer::Writer(WritableFile* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTypeCrc
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - dest_length
    argTypes:
    - WritableFile*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - InitTypeCrc
    linkageType: ''
    returnType: void
    signature: void Writer::Writer(WritableFile* dest, uint64_t dest_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Writer::~Writer()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer::~Writer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:35,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:45,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:51,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:57,1
    - Dst: leveldb::log::Writer::EmitPhysicalRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:74,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - ' slice'
    argTypes:
    - Slice
    assertStmts:
    - condition: (leftover >= 0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    - condition: (kBlockSize - block_offset_ - kHeaderSize >= 0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    constantsTouched: []
    func_position:
      end: 80
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 80
    functionName: leveldb::log::Writer::AddRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::log::Writer::EmitPhysicalRecord
    - Append
    - size
    - data
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Writer::AddRecord(const Slice& slice)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:85,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:89,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:90,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:91,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:94,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:95,1
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:96,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:99,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:99,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:100,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:101,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:101,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:102,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - t
    - ptr
    - length
    argTypes:
    - RecordType
    - char*
    - size_t
    assertStmts:
    - condition: (length <= 0xffff)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    - condition: (block_offset_ + kHeaderSize + length <= kBlockSize)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: leveldb::log::Writer::EmitPhysicalRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 1
    functionsReached:
    - leveldb::crc32c::Mask
    - EncodeFixed32
    - Slice
    - crc32c::Extend
    - Append
    - Flush
    - assert
    - Status::ok
    - static_cast<char>
    linkageType: ''
    returnType: Status
    signature: "Status Writer::EmitPhysicalRecord(RecordType t, const char* ptr,\n
      \                                 size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:18,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type_crc
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: leveldb::log::InitTypeCrc
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Value
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void InitTypeCrc(uint32_t* type_crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTypeCrc
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dest
    argTypes:
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - InitTypeCrc
    linkageType: ''
    returnType: void
    signature: void Writer::Writer(WritableFile* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTypeCrc
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - dest_length
    argTypes:
    - WritableFile*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - InitTypeCrc
    linkageType: ''
    returnType: void
    signature: void Writer::Writer(WritableFile* dest, uint64_t dest_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Writer::~Writer()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer::~Writer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:35,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:45,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:51,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:57,1
    - Dst: leveldb::log::Writer::EmitPhysicalRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:74,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - ' slice'
    argTypes:
    - Slice
    assertStmts:
    - condition: (leftover >= 0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    - condition: (kBlockSize - block_offset_ - kHeaderSize >= 0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    constantsTouched: []
    func_position:
      end: 80
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 80
    functionName: leveldb::log::Writer::AddRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::log::Writer::EmitPhysicalRecord
    - Append
    - size
    - data
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Writer::AddRecord(const Slice& slice)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:85,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:89,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:90,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:91,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:94,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:95,1
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:96,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:99,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:99,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:100,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:101,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:101,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:102,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - t
    - ptr
    - length
    argTypes:
    - RecordType
    - char*
    - size_t
    assertStmts:
    - condition: (length <= 0xffff)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    - condition: (block_offset_ + kHeaderSize + length <= kBlockSize)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: leveldb::log::Writer::EmitPhysicalRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 2
    functionsReached:
    - leveldb::crc32c::Mask
    - EncodeFixed32
    - Slice
    - crc32c::Extend
    - Append
    - Flush
    - assert
    - Status::ok
    - static_cast<char>
    linkageType: ''
    returnType: Status
    signature: "Status Writer::EmitPhysicalRecord(RecordType t, const char* ptr,\n
      \                                 size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:18,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type_crc
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: leveldb::log::InitTypeCrc
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Value
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void InitTypeCrc(uint32_t* type_crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTypeCrc
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dest
    argTypes:
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - InitTypeCrc
    linkageType: ''
    returnType: void
    signature: void Writer::Writer(WritableFile* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTypeCrc
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - dest_length
    argTypes:
    - WritableFile*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - InitTypeCrc
    linkageType: ''
    returnType: void
    signature: void Writer::Writer(WritableFile* dest, uint64_t dest_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Writer::~Writer()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer::~Writer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:35,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:45,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:51,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:57,1
    - Dst: leveldb::log::Writer::EmitPhysicalRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:74,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - ' slice'
    argTypes:
    - Slice
    assertStmts:
    - condition: (leftover >= 0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    - condition: (kBlockSize - block_offset_ - kHeaderSize >= 0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    constantsTouched: []
    func_position:
      end: 80
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 80
    functionName: leveldb::log::Writer::AddRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::log::Writer::EmitPhysicalRecord
    - Append
    - size
    - data
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Writer::AddRecord(const Slice& slice)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:85,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:89,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:90,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:91,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:94,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:95,1
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:96,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:99,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:99,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:100,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:101,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:101,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:102,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - t
    - ptr
    - length
    argTypes:
    - RecordType
    - char*
    - size_t
    assertStmts:
    - condition: (length <= 0xffff)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    - condition: (block_offset_ + kHeaderSize + length <= kBlockSize)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: leveldb::log::Writer::EmitPhysicalRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 3
    functionsReached:
    - leveldb::crc32c::Mask
    - EncodeFixed32
    - Slice
    - crc32c::Extend
    - Append
    - Flush
    - assert
    - Status::ok
    - static_cast<char>
    linkageType: ''
    returnType: Status
    signature: "Status Writer::EmitPhysicalRecord(RecordType t, const char* ptr,\n
      \                                 size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:18,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type_crc
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: leveldb::log::InitTypeCrc
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Value
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void InitTypeCrc(uint32_t* type_crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTypeCrc
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dest
    argTypes:
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - InitTypeCrc
    linkageType: ''
    returnType: void
    signature: void Writer::Writer(WritableFile* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTypeCrc
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - dest_length
    argTypes:
    - WritableFile*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - InitTypeCrc
    linkageType: ''
    returnType: void
    signature: void Writer::Writer(WritableFile* dest, uint64_t dest_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Writer::~Writer()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer::~Writer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:35,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:36,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:45,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:51,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:51,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:57,1
    - Dst: leveldb::log::Writer::EmitPhysicalRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:74,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - ' slice'
    argTypes:
    - Slice
    assertStmts:
    - condition: (leftover >= 0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    - condition: (kBlockSize - block_offset_ - kHeaderSize >= 0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    constantsTouched: []
    func_position:
      end: 80
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 80
    functionName: leveldb::log::Writer::AddRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::log::Writer::EmitPhysicalRecord
    - Append
    - size
    - data
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Writer::AddRecord(const Slice& slice)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:84,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:85,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:89,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:90,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:91,1
    - Dst: crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:94,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:95,1
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:96,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:99,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:99,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:100,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:101,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:101,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:102,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/leveldb/db/log_writer.cc:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - t
    - ptr
    - length
    argTypes:
    - RecordType
    - char*
    - size_t
    assertStmts:
    - condition: (length <= 0xffff)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    - condition: (block_offset_ + kHeaderSize + length <= kBlockSize)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: leveldb::log::Writer::EmitPhysicalRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.cc
    functionUses: 4
    functionsReached:
    - leveldb::crc32c::Mask
    - EncodeFixed32
    - Slice
    - crc32c::Extend
    - Append
    - Flush
    - assert
    - Status::ok
    - static_cast<char>
    linkageType: ''
    returnType: Status
    signature: "Status Writer::EmitPhysicalRecord(RecordType t, const char* ptr,\n
      \                                 size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:21,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:21,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:21,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:23,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:23,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:24,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:24,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:24,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:26,1
    - Dst: ParsedInternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: leveldb::DumpInternalIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - leveldb::ParseInternalKey
    - leveldb::EscapeString
    - ParsedInternalKey::DebugString
    - Iterator*::Valid
    - Iterator*::SeekToFirst
    - Iterator*::key
    - fprintf
    - Iterator*::Next
    linkageType: ''
    returnType: void
    signature: void DumpInternalIter(Iterator* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::RandomCompactionPeriod
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - db
    - cmp
    - iter
    - s
    - seed
    argTypes:
    - DBImpl*
    - Comparator*
    - Iterator*
    - SequenceNumber
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: leveldb::DBIter::DBIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBIter::RandomCompactionPeriod
    linkageType: ''
    returnType: void
    signature: "void DBIter(DBImpl* db, const Comparator* cmp, Iterator* iter, SequenceNumber
      s,\n         uint32_t seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: leveldb::DBIter::DBIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBIter(const DBIter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& operator=(const DBIter&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DBIter
    signature: DBIter & operator=(const DBIter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~DBIter() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DBIter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: leveldb::DBIter::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:65,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:66,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: leveldb::DBIter::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 1
    functionsReached:
    - assert
    - ExtractUserKey
    - leveldb::DBIter::key
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:69,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: leveldb::DBIter::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 1
    functionsReached:
    - assert
    - leveldb::DBIter::value
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:73,1
    - Dst: leveldb::DBIter::status
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: leveldb::DBIter::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 2
    functionsReached:
    - leveldb::DBIter::status
    - ok
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - dst
    argTypes:
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: leveldb::DBIter::SaveKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - std::string*::assign
    linkageType: ''
    returnType: void
    signature: void SaveKey(const Slice& k, std::string* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:96,1
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:98,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: leveldb::DBIter::ClearSavedValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - clear
    - swap
    - capacity
    linkageType: ''
    returnType: void
    signature: void ClearSavedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: leveldb::DBIter::RandomCompactionPeriod
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 1
    functionsReached:
    - Uniform
    linkageType: ''
    returnType: size_t
    signature: size_t RandomCompactionPeriod()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:123,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:125,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:125,1
    - Dst: leveldb::DBIter::RandomCompactionPeriod
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:127,1
    - Dst: RecordReadSample
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:130,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:133,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ikey
    argTypes:
    - ParsedInternalKey*
    assertStmts:
    - condition: (bytes_until_read_sampling_ >= bytes_read)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: leveldb::DBIter::ParseKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBIter::RandomCompactionPeriod
    - leveldb::DBIter::value
    - Slice::size
    - ParseInternalKey
    - RecordReadSample
    - leveldb::log::Reader::ReportCorruption
    - leveldb::DBIter::key
    - assert
    linkageType: ''
    returnType: bool
    signature: bool DBIter::ParseKey(ParsedInternalKey* ikey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:142,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:149,1
    - Dst: leveldb::DBIter::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:150,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:152,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:154,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:156,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:166,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:167,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:169,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 175
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 175
    functionName: leveldb::DBIter::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::SeekToFirst
    - leveldb::DBIter::Next
    - clear
    - leveldb::DBIter::FindNextUserEntry
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    linkageType: ''
    returnType: void
    signature: void DBIter::Next()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:179,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:180,1
    - Dst: leveldb::DBIter::ParseKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:183,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:188,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:193,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:197,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:203,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:204,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - skipping
    - skip
    argTypes:
    - bool
    - std::string*
    assertStmts:
    - condition: (iter_->Valid())
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    - condition: (direction_ == kForward)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 207
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 207
    functionName: leveldb::DBIter::FindNextUserEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::Next
    - leveldb::DBIter::ParseKey
    - Compare
    - clear
    - assert
    linkageType: ''
    returnType: void
    signature: void DBIter::FindNextUserEntry(bool skipping, std::string* skip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:210,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:215,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:215,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: leveldb::DBIter::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:218,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:219,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:221,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:222,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: leveldb::DBIter::FindPrevUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    - condition: (iter_->Valid())
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: leveldb::DBIter::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBIter::Prev
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::FindPrevUserEntry
    - Compare
    - clear
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::Prev()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:237,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:240,1
    - Dst: leveldb::DBIter::ParseKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:243,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:245,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:251,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:252,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:254,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:255,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:255,1
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:257,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: assign
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: leveldb::DBIter::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:263,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:264,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:270,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (direction_ == kReverse)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 276
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 276
    functionName: leveldb::DBIter::FindPrevUserEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBIter::Prev
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - capacity
    - assign
    - Slice::data
    - leveldb::DBIter::ParseKey
    - leveldb::DBIter::value
    - swap
    - Compare
    - clear
    - Slice::size
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::FindPrevUserEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:280,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:281,1
    - Dst: AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:282,1
    - Dst: ParsedInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:283,1
    - Dst: leveldb::DBIter::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:284,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:285,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: leveldb::DBIter::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBIter::Valid
    - leveldb::DBIter::Seek
    - AppendInternalKey
    - ParsedInternalKey
    - clear
    - leveldb::DBIter::FindNextUserEntry
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::Seek(const Slice& target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:294,1
    - Dst: leveldb::DBIter::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:295,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:296,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: leveldb::DBIter::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 2
    functionsReached:
    - leveldb::DBIter::SeekToFirst
    - leveldb::DBIter::FindNextUserEntry
    - leveldb::DBIter::Valid
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::SeekToFirst()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:305,1
    - Dst: leveldb::DBIter::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:306,1
    - Dst: leveldb::DBIter::FindPrevUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: leveldb::DBIter::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBIter::FindPrevUserEntry
    - leveldb::DBIter::SeekToLast
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::SeekToLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::RandomCompactionPeriod
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - db
    - cmp
    - iter
    - s
    - seed
    argTypes:
    - DBImpl*
    - Comparator*
    - Iterator*
    - SequenceNumber
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: leveldb::DBIter::DBIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBIter::RandomCompactionPeriod
    linkageType: ''
    returnType: void
    signature: "void DBIter(DBImpl* db, const Comparator* cmp, Iterator* iter, SequenceNumber
      s,\n         uint32_t seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: leveldb::DBIter::DBIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBIter(const DBIter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& operator=(const DBIter&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DBIter
    signature: DBIter & operator=(const DBIter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~DBIter() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DBIter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: leveldb::DBIter::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:65,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:66,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: leveldb::DBIter::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 6
    functionsReached:
    - assert
    - ExtractUserKey
    - leveldb::DBIter::key
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:69,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: leveldb::DBIter::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 4
    functionsReached:
    - assert
    - leveldb::DBIter::value
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:73,1
    - Dst: leveldb::DBIter::status
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: leveldb::DBIter::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 3
    functionsReached:
    - leveldb::DBIter::status
    - ok
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - dst
    argTypes:
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: leveldb::DBIter::SaveKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 4
    functionsReached:
    - data
    - size
    - std::string*::assign
    linkageType: ''
    returnType: void
    signature: void SaveKey(const Slice& k, std::string* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:96,1
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:98,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: leveldb::DBIter::ClearSavedValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 5
    functionsReached:
    - clear
    - swap
    - capacity
    linkageType: ''
    returnType: void
    signature: void ClearSavedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: leveldb::DBIter::RandomCompactionPeriod
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 3
    functionsReached:
    - Uniform
    linkageType: ''
    returnType: size_t
    signature: size_t RandomCompactionPeriod()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:123,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:125,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:125,1
    - Dst: leveldb::DBIter::RandomCompactionPeriod
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:127,1
    - Dst: RecordReadSample
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:130,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:133,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ikey
    argTypes:
    - ParsedInternalKey*
    assertStmts:
    - condition: (bytes_until_read_sampling_ >= bytes_read)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: leveldb::DBIter::ParseKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 2
    functionsReached:
    - leveldb::DBIter::RandomCompactionPeriod
    - leveldb::DBIter::value
    - Slice::size
    - ParseInternalKey
    - RecordReadSample
    - leveldb::log::Reader::ReportCorruption
    - leveldb::DBIter::key
    - assert
    linkageType: ''
    returnType: bool
    signature: bool DBIter::ParseKey(ParsedInternalKey* ikey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:142,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:149,1
    - Dst: leveldb::DBIter::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:150,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:152,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:154,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:156,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:166,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:167,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:169,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 175
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 175
    functionName: leveldb::DBIter::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 3
    functionsReached:
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::SeekToFirst
    - leveldb::DBIter::Next
    - clear
    - leveldb::DBIter::FindNextUserEntry
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    linkageType: ''
    returnType: void
    signature: void DBIter::Next()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:179,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:180,1
    - Dst: leveldb::DBIter::ParseKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:183,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:188,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:193,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:197,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:203,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:204,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - skipping
    - skip
    argTypes:
    - bool
    - std::string*
    assertStmts:
    - condition: (iter_->Valid())
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    - condition: (direction_ == kForward)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 207
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 207
    functionName: leveldb::DBIter::FindNextUserEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 4
    functionsReached:
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::Next
    - leveldb::DBIter::ParseKey
    - Compare
    - clear
    - assert
    linkageType: ''
    returnType: void
    signature: void DBIter::FindNextUserEntry(bool skipping, std::string* skip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:210,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:215,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:215,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: leveldb::DBIter::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:218,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:219,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:221,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:222,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: leveldb::DBIter::FindPrevUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    - condition: (iter_->Valid())
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: leveldb::DBIter::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 3
    functionsReached:
    - leveldb::DBIter::Prev
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::FindPrevUserEntry
    - Compare
    - clear
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::Prev()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:237,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:240,1
    - Dst: leveldb::DBIter::ParseKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:243,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:245,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:251,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:252,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:254,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:255,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:255,1
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:257,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: assign
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: leveldb::DBIter::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:263,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:264,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:270,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (direction_ == kReverse)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 276
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 276
    functionName: leveldb::DBIter::FindPrevUserEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 3
    functionsReached:
    - leveldb::DBIter::Prev
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - capacity
    - assign
    - Slice::data
    - leveldb::DBIter::ParseKey
    - leveldb::DBIter::value
    - swap
    - Compare
    - clear
    - Slice::size
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::FindPrevUserEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:280,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:281,1
    - Dst: AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:282,1
    - Dst: ParsedInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:283,1
    - Dst: leveldb::DBIter::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:284,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:285,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: leveldb::DBIter::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 2
    functionsReached:
    - leveldb::DBIter::Valid
    - leveldb::DBIter::Seek
    - AppendInternalKey
    - ParsedInternalKey
    - clear
    - leveldb::DBIter::FindNextUserEntry
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::Seek(const Slice& target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:294,1
    - Dst: leveldb::DBIter::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:295,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:296,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: leveldb::DBIter::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 4
    functionsReached:
    - leveldb::DBIter::SeekToFirst
    - leveldb::DBIter::FindNextUserEntry
    - leveldb::DBIter::Valid
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::SeekToFirst()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:305,1
    - Dst: leveldb::DBIter::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:306,1
    - Dst: leveldb::DBIter::FindPrevUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: leveldb::DBIter::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 2
    functionsReached:
    - leveldb::DBIter::FindPrevUserEntry
    - leveldb::DBIter::SeekToLast
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::SeekToLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBIter::DBIter
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - db
    - user_key_comparator
    - internal_iter
    - sequence
    - seed
    argTypes:
    - DBImpl*
    - Comparator*
    - Iterator*
    - SequenceNumber
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: leveldb::NewDBIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - DBIter::DBIter
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * NewDBIterator(DBImpl* db, const Comparator* user_key_comparator,\n
      \                       Iterator* internal_iter, SequenceNumber sequence,\n
      \                       uint32_t seed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:21,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:21,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:21,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:23,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:23,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:24,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:24,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:24,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:26,1
    - Dst: ParsedInternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: leveldb::DumpInternalIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - leveldb::ParseInternalKey
    - leveldb::EscapeString
    - ParsedInternalKey::DebugString
    - Iterator*::Valid
    - Iterator*::SeekToFirst
    - Iterator*::key
    - fprintf
    - Iterator*::Next
    linkageType: ''
    returnType: void
    signature: void DumpInternalIter(Iterator* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::RandomCompactionPeriod
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - db
    - cmp
    - iter
    - s
    - seed
    argTypes:
    - DBImpl*
    - Comparator*
    - Iterator*
    - SequenceNumber
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: leveldb::DBIter::DBIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBIter::RandomCompactionPeriod
    linkageType: ''
    returnType: void
    signature: "void DBIter(DBImpl* db, const Comparator* cmp, Iterator* iter, SequenceNumber
      s,\n         uint32_t seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: leveldb::DBIter::DBIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBIter(const DBIter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& operator=(const DBIter&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DBIter
    signature: DBIter & operator=(const DBIter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~DBIter() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DBIter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: leveldb::DBIter::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:65,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:66,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: leveldb::DBIter::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 11
    functionsReached:
    - assert
    - ExtractUserKey
    - leveldb::DBIter::key
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:69,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: leveldb::DBIter::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 7
    functionsReached:
    - assert
    - leveldb::DBIter::value
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:73,1
    - Dst: leveldb::DBIter::status
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: leveldb::DBIter::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 4
    functionsReached:
    - leveldb::DBIter::status
    - ok
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - dst
    argTypes:
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: leveldb::DBIter::SaveKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 8
    functionsReached:
    - data
    - size
    - std::string*::assign
    linkageType: ''
    returnType: void
    signature: void SaveKey(const Slice& k, std::string* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:96,1
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:98,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: leveldb::DBIter::ClearSavedValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 10
    functionsReached:
    - clear
    - swap
    - capacity
    linkageType: ''
    returnType: void
    signature: void ClearSavedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: leveldb::DBIter::RandomCompactionPeriod
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 5
    functionsReached:
    - Uniform
    linkageType: ''
    returnType: size_t
    signature: size_t RandomCompactionPeriod()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:123,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:125,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:125,1
    - Dst: leveldb::DBIter::RandomCompactionPeriod
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:127,1
    - Dst: RecordReadSample
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:130,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:133,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ikey
    argTypes:
    - ParsedInternalKey*
    assertStmts:
    - condition: (bytes_until_read_sampling_ >= bytes_read)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: leveldb::DBIter::ParseKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 4
    functionsReached:
    - leveldb::DBIter::RandomCompactionPeriod
    - leveldb::DBIter::value
    - Slice::size
    - ParseInternalKey
    - RecordReadSample
    - leveldb::log::Reader::ReportCorruption
    - leveldb::DBIter::key
    - assert
    linkageType: ''
    returnType: bool
    signature: bool DBIter::ParseKey(ParsedInternalKey* ikey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:142,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:149,1
    - Dst: leveldb::DBIter::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:150,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:152,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:154,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:156,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:166,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:167,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:169,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 175
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 175
    functionName: leveldb::DBIter::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 5
    functionsReached:
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::SeekToFirst
    - leveldb::DBIter::Next
    - clear
    - leveldb::DBIter::FindNextUserEntry
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    linkageType: ''
    returnType: void
    signature: void DBIter::Next()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:179,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:180,1
    - Dst: leveldb::DBIter::ParseKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:183,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:188,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:193,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:197,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:203,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:204,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - skipping
    - skip
    argTypes:
    - bool
    - std::string*
    assertStmts:
    - condition: (iter_->Valid())
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    - condition: (direction_ == kForward)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 207
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 207
    functionName: leveldb::DBIter::FindNextUserEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 7
    functionsReached:
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::Next
    - leveldb::DBIter::ParseKey
    - Compare
    - clear
    - assert
    linkageType: ''
    returnType: void
    signature: void DBIter::FindNextUserEntry(bool skipping, std::string* skip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:210,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:215,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:215,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: leveldb::DBIter::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:218,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:219,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:221,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:222,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: leveldb::DBIter::FindPrevUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    - condition: (iter_->Valid())
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: leveldb::DBIter::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 5
    functionsReached:
    - leveldb::DBIter::Prev
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::FindPrevUserEntry
    - Compare
    - clear
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::Prev()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:237,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:240,1
    - Dst: leveldb::DBIter::ParseKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:243,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:245,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:251,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:252,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:254,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:255,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:255,1
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:257,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: assign
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: leveldb::DBIter::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:263,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:264,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:270,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (direction_ == kReverse)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 276
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 276
    functionName: leveldb::DBIter::FindPrevUserEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 5
    functionsReached:
    - leveldb::DBIter::Prev
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - capacity
    - assign
    - Slice::data
    - leveldb::DBIter::ParseKey
    - leveldb::DBIter::value
    - swap
    - Compare
    - clear
    - Slice::size
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::FindPrevUserEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:280,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:281,1
    - Dst: AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:282,1
    - Dst: ParsedInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:283,1
    - Dst: leveldb::DBIter::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:284,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:285,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: leveldb::DBIter::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 3
    functionsReached:
    - leveldb::DBIter::Valid
    - leveldb::DBIter::Seek
    - AppendInternalKey
    - ParsedInternalKey
    - clear
    - leveldb::DBIter::FindNextUserEntry
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::Seek(const Slice& target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:294,1
    - Dst: leveldb::DBIter::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:295,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:296,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: leveldb::DBIter::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 6
    functionsReached:
    - leveldb::DBIter::SeekToFirst
    - leveldb::DBIter::FindNextUserEntry
    - leveldb::DBIter::Valid
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::SeekToFirst()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:305,1
    - Dst: leveldb::DBIter::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:306,1
    - Dst: leveldb::DBIter::FindPrevUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: leveldb::DBIter::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 3
    functionsReached:
    - leveldb::DBIter::FindPrevUserEntry
    - leveldb::DBIter::SeekToLast
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::SeekToLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::RandomCompactionPeriod
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - db
    - cmp
    - iter
    - s
    - seed
    argTypes:
    - DBImpl*
    - Comparator*
    - Iterator*
    - SequenceNumber
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: leveldb::DBIter::DBIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBIter::RandomCompactionPeriod
    linkageType: ''
    returnType: void
    signature: "void DBIter(DBImpl* db, const Comparator* cmp, Iterator* iter, SequenceNumber
      s,\n         uint32_t seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: leveldb::DBIter::DBIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBIter(const DBIter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& operator=(const DBIter&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DBIter
    signature: DBIter & operator=(const DBIter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~DBIter() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DBIter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: leveldb::DBIter::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:65,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:66,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: leveldb::DBIter::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 16
    functionsReached:
    - assert
    - ExtractUserKey
    - leveldb::DBIter::key
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:69,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: leveldb::DBIter::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 10
    functionsReached:
    - assert
    - leveldb::DBIter::value
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:73,1
    - Dst: leveldb::DBIter::status
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: leveldb::DBIter::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 5
    functionsReached:
    - leveldb::DBIter::status
    - ok
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - dst
    argTypes:
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: leveldb::DBIter::SaveKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 12
    functionsReached:
    - data
    - size
    - std::string*::assign
    linkageType: ''
    returnType: void
    signature: void SaveKey(const Slice& k, std::string* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:96,1
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:98,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: leveldb::DBIter::ClearSavedValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 15
    functionsReached:
    - clear
    - swap
    - capacity
    linkageType: ''
    returnType: void
    signature: void ClearSavedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: leveldb::DBIter::RandomCompactionPeriod
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 7
    functionsReached:
    - Uniform
    linkageType: ''
    returnType: size_t
    signature: size_t RandomCompactionPeriod()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:123,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:125,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:125,1
    - Dst: leveldb::DBIter::RandomCompactionPeriod
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:127,1
    - Dst: RecordReadSample
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:130,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:133,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ikey
    argTypes:
    - ParsedInternalKey*
    assertStmts:
    - condition: (bytes_until_read_sampling_ >= bytes_read)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: leveldb::DBIter::ParseKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 6
    functionsReached:
    - leveldb::DBIter::RandomCompactionPeriod
    - leveldb::DBIter::value
    - Slice::size
    - ParseInternalKey
    - RecordReadSample
    - leveldb::log::Reader::ReportCorruption
    - leveldb::DBIter::key
    - assert
    linkageType: ''
    returnType: bool
    signature: bool DBIter::ParseKey(ParsedInternalKey* ikey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:142,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:149,1
    - Dst: leveldb::DBIter::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:150,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:152,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:154,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:156,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:162,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:166,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:167,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:169,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 175
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 175
    functionName: leveldb::DBIter::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 7
    functionsReached:
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::SeekToFirst
    - leveldb::DBIter::Next
    - clear
    - leveldb::DBIter::FindNextUserEntry
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    linkageType: ''
    returnType: void
    signature: void DBIter::Next()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:179,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:180,1
    - Dst: leveldb::DBIter::ParseKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:183,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:188,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:193,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:197,1
    - Dst: leveldb::DBIter::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:203,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:204,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - skipping
    - skip
    argTypes:
    - bool
    - std::string*
    assertStmts:
    - condition: (iter_->Valid())
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    - condition: (direction_ == kForward)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 207
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 207
    functionName: leveldb::DBIter::FindNextUserEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 10
    functionsReached:
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::Next
    - leveldb::DBIter::ParseKey
    - Compare
    - clear
    - assert
    linkageType: ''
    returnType: void
    signature: void DBIter::FindNextUserEntry(bool skipping, std::string* skip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:210,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:215,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:215,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:216,1
    - Dst: leveldb::DBIter::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:218,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:219,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:221,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:222,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:225,1
    - Dst: leveldb::DBIter::FindPrevUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (valid_)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    - condition: (iter_->Valid())
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: leveldb::DBIter::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 7
    functionsReached:
    - leveldb::DBIter::Prev
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - leveldb::DBIter::FindPrevUserEntry
    - Compare
    - clear
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::Prev()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:237,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:240,1
    - Dst: leveldb::DBIter::ParseKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:243,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:245,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:251,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:252,1
    - Dst: leveldb::DBIter::value
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:254,1
    - Dst: capacity
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:255,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:255,1
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:257,1
    - Dst: leveldb::DBIter::SaveKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: leveldb::DBIter::key
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:259,1
    - Dst: assign
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:260,1
    - Dst: leveldb::DBIter::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:263,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:264,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:270,1
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (direction_ == kReverse)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    constantsTouched: []
    func_position:
      end: 276
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 276
    functionName: leveldb::DBIter::FindPrevUserEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 7
    functionsReached:
    - leveldb::DBIter::Prev
    - leveldb::DBIter::SaveKey
    - leveldb::DBIter::Valid
    - capacity
    - assign
    - Slice::data
    - leveldb::DBIter::ParseKey
    - leveldb::DBIter::value
    - swap
    - Compare
    - clear
    - Slice::size
    - ExtractUserKey
    - leveldb::DBIter::key
    - assert
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::FindPrevUserEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:280,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:281,1
    - Dst: AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:282,1
    - Dst: ParsedInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:283,1
    - Dst: leveldb::DBIter::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:284,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:285,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: leveldb::DBIter::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 4
    functionsReached:
    - leveldb::DBIter::Valid
    - leveldb::DBIter::Seek
    - AppendInternalKey
    - ParsedInternalKey
    - clear
    - leveldb::DBIter::FindNextUserEntry
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::Seek(const Slice& target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:294,1
    - Dst: leveldb::DBIter::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:295,1
    - Dst: leveldb::DBIter::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:296,1
    - Dst: leveldb::DBIter::FindNextUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: leveldb::DBIter::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 8
    functionsReached:
    - leveldb::DBIter::SeekToFirst
    - leveldb::DBIter::FindNextUserEntry
    - leveldb::DBIter::Valid
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::SeekToFirst()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBIter::ClearSavedValue
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:305,1
    - Dst: leveldb::DBIter::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:306,1
    - Dst: leveldb::DBIter::FindPrevUserEntry
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: leveldb::DBIter::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 4
    functionsReached:
    - leveldb::DBIter::FindPrevUserEntry
    - leveldb::DBIter::SeekToLast
    - leveldb::DBIter::ClearSavedValue
    linkageType: ''
    returnType: void
    signature: void DBIter::SeekToLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBIter::DBIter
      Src: /src/bitcoin-core/src/leveldb/db/db_iter.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - db
    - user_key_comparator
    - internal_iter
    - sequence
    - seed
    argTypes:
    - DBImpl*
    - Comparator*
    - Iterator*
    - SequenceNumber
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: leveldb::NewDBIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_iter.cc
    functionUses: 0
    functionsReached:
    - DBIter::DBIter
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * NewDBIterator(DBImpl* db, const Comparator* user_key_comparator,\n
      \                       Iterator* internal_iter, SequenceNumber sequence,\n
      \                       uint32_t seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~leveldb_comparator_t() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~leveldb_comparator_t() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:91,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:91,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:91,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 40
    functionsReached:
    - data
    - size
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 255
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FindShortestSeparator(std::string*, const Slice&) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FindShortSuccessor(std::string* key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: ~leveldb_filterpolicy_t() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~leveldb_filterpolicy_t() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 255
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:116,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:117,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:121,1
    - Dst: free
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - keys
    - n
    - dst
    argTypes:
    - Slice*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: CreateFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 2
    functionsReached:
    - data
    - free
    - std::string*::append
    - size
    linkageType: ''
    returnType: void
    signature: void CreateFilter(const Slice* keys, int n, std::string* dst) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:126,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:126,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:126,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' filter'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: KeyMayMatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 2
    functionsReached:
    - data
    - size
    linkageType: ''
    returnType: bool
    signature: bool KeyMayMatch(const Slice& key, const Slice& filter) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:146,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:147,1
    - Dst: strdup
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:150,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:150,1
    - Dst: free
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:153,1
    - Dst: strdup
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:154,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - errptr
    - ' s'
    argTypes:
    - char**
    - Status
    assertStmts:
    - condition: (errptr != nullptr)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/bitcoin-core/src/leveldb/db/c.cc
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: SaveError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - ToString
    - strdup
    - ok
    - assert
    - free
    linkageType: ''
    returnType: bool
    signature: bool SaveError(char** errptr, const Status& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:160,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:160,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:160,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:161,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:161,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: CopyString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - size
    - memcpy
    - data
    - malloc
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * CopyString(const std::string& str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SaveError
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:168,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:168,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:168,1
    - Dst: leveldb_t::leveldb_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - options
    - name
    - errptr
    argTypes:
    - leveldb_options_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: leveldb_open
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - std::string
    - leveldb::DB::Open
    - leveldb_t::leveldb_t
    - SaveError
    linkageType: ''
    returnType: leveldb_t
    signature: "leveldb_t * leveldb_open(const leveldb_options_t* options, const char*
      name,\n                        char** errptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - leveldb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: leveldb_close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_close(leveldb_t* db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SaveError
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:184,1
    - Dst: leveldb_t*::rep::Put
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:185,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:185,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - db
    - options
    - key
    - keylen
    - val
    - vallen
    - errptr
    argTypes:
    - leveldb_t*
    - leveldb_writeoptions_t*
    - char*
    - size_t
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: leveldb_put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb_t*::rep::Put
    - SaveError
    linkageType: ''
    returnType: void
    signature: "void leveldb_put(leveldb_t* db, const leveldb_writeoptions_t* options,\n
      \                const char* key, size_t keylen, const char* val, size_t vallen,\n
      \                char** errptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SaveError
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:190,1
    - Dst: leveldb_t*::rep::Delete
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:190,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - db
    - options
    - key
    - keylen
    - errptr
    argTypes:
    - leveldb_t*
    - leveldb_writeoptions_t*
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: leveldb_delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb_t*::rep::Delete
    - SaveError
    linkageType: ''
    returnType: void
    signature: "void leveldb_delete(leveldb_t* db, const leveldb_writeoptions_t* options,\n
      \                   const char* key, size_t keylen, char** errptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SaveError
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:195,1
    - Dst: leveldb_t*::rep::Write
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - db
    - options
    - batch
    - errptr
    argTypes:
    - leveldb_t*
    - leveldb_writeoptions_t*
    - leveldb_writebatch_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: leveldb_write
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_t*::rep::Write
    - SaveError
    linkageType: ''
    returnType: void
    signature: "void leveldb_write(leveldb_t* db, const leveldb_writeoptions_t* options,\n
      \                  leveldb_writebatch_t* batch, char** errptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_t*::rep::Get
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:203,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:203,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:204,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:205,1
    - Dst: CopyString
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:206,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:209,1
    - Dst: SaveError
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - db
    - options
    - key
    - keylen
    - vallen
    - errptr
    argTypes:
    - leveldb_t*
    - leveldb_readoptions_t*
    - char*
    - size_t
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: leveldb_get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - CopyString
    - Slice
    - std::string::size
    - Status::IsNotFound
    - leveldb_t*::rep::Get
    - Status::ok
    - SaveError
    linkageType: ''
    returnType: char
    signature: "char * leveldb_get(leveldb_t* db, const leveldb_readoptions_t* options,\n
      \                 const char* key, size_t keylen, size_t* vallen,\n                  char**
      errptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iterator_t::leveldb_iterator_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:218,1
    - Dst: leveldb_t*::rep::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - options
    argTypes:
    - leveldb_t*
    - leveldb_readoptions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: leveldb_create_iterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_t*::rep::NewIterator
    - leveldb_iterator_t::leveldb_iterator_t
    linkageType: ''
    returnType: leveldb_iterator_t
    signature: "leveldb_iterator_t * leveldb_create_iterator(\n    leveldb_t* db,
      const leveldb_readoptions_t* options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_snapshot_t::leveldb_snapshot_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:224,1
    - Dst: leveldb_t*::rep::GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - leveldb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: leveldb_create_snapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_snapshot_t::leveldb_snapshot_t
    - leveldb_t*::rep::GetSnapshot
    linkageType: ''
    returnType: leveldb_snapshot_t
    signature: leveldb_snapshot_t * leveldb_create_snapshot(leveldb_t* db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_t*::rep::ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - snapshot
    argTypes:
    - leveldb_t*
    - leveldb_snapshot_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: leveldb_release_snapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_t*::rep::ReleaseSnapshot
    linkageType: ''
    returnType: void
    signature: "void leveldb_release_snapshot(leveldb_t* db,\n                              const
      leveldb_snapshot_t* snapshot)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_t*::rep::GetProperty
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:237,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:237,1
    - Dst: strdup
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:239,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - db
    - propname
    argTypes:
    - leveldb_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: leveldb_property_value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_t*::rep::GetProperty
    - std::string::c_str
    - Slice
    - strdup
    linkageType: ''
    returnType: char
    signature: char * leveldb_property_value(leveldb_t* db, const char* propname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Range::Range
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:251,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:253,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:254,1
    - Dst: leveldb_t*::rep::GetApproximateSizes
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - db
    - num_ranges
    - range_start_key
    - range_start_key_len
    - range_limit_key
    - range_limit_key_len
    - sizes
    argTypes:
    - leveldb_t*
    - int
    - char**
    - size_t*
    - char**
    - size_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: leveldb_approximate_sizes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_t*::rep::GetApproximateSizes
    - Slice
    - Range::Range
    linkageType: ''
    returnType: void
    signature: "void leveldb_approximate_sizes(leveldb_t* db, int num_ranges,\n                               const
      char* const* range_start_key,\n                               const size_t*
      range_start_key_len,\n                               const char* const* range_limit_key,\n
      \                              const size_t* range_limit_key_len,\n                               uint64_t*
      sizes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_t*::rep::CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:264,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:266,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - db
    - start_key
    - start_key_len
    - limit_key
    - limit_key_len
    argTypes:
    - leveldb_t*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: leveldb_compact_range
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb_t*::rep::CompactRange
    linkageType: ''
    returnType: void
    signature: "void leveldb_compact_range(leveldb_t* db, const char* start_key,\n
      \                          size_t start_key_len, const char* limit_key,\n                           size_t
      limit_key_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SaveError
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:272,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - options
    - name
    - errptr
    argTypes:
    - leveldb_options_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: leveldb_destroy_db
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - DestroyDB
    - SaveError
    linkageType: ''
    returnType: void
    signature: "void leveldb_destroy_db(const leveldb_options_t* options, const char*
      name,\n                        char** errptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SaveError
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:277,1
    - Dst: RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - options
    - name
    - errptr
    argTypes:
    - leveldb_options_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: leveldb_repair_db
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - RepairDB
    - SaveError
    linkageType: ''
    returnType: void
    signature: "void leveldb_repair_db(const leveldb_options_t* options, const char*
      name,\n                       char** errptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - leveldb_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: leveldb_iter_destroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_iter_destroy(leveldb_iterator_t* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iterator_t*::rep::Valid
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - leveldb_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: leveldb_iter_valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_iterator_t*::rep::Valid
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t leveldb_iter_valid(const leveldb_iterator_t* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iterator_t*::rep::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - leveldb_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: leveldb_iter_seek_to_first
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_iterator_t*::rep::SeekToFirst
    linkageType: ''
    returnType: void
    signature: void leveldb_iter_seek_to_first(leveldb_iterator_t* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iterator_t*::rep::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - leveldb_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: leveldb_iter_seek_to_last
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_iterator_t*::rep::SeekToLast
    linkageType: ''
    returnType: void
    signature: void leveldb_iter_seek_to_last(leveldb_iterator_t* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iterator_t*::rep::Seek
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:298,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iter
    - k
    - klen
    argTypes:
    - leveldb_iterator_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: leveldb_iter_seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb_iterator_t*::rep::Seek
    linkageType: ''
    returnType: void
    signature: void leveldb_iter_seek(leveldb_iterator_t* iter, const char* k, size_t
      klen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iterator_t*::rep::Next
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - leveldb_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: leveldb_iter_next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_iterator_t*::rep::Next
    linkageType: ''
    returnType: void
    signature: void leveldb_iter_next(leveldb_iterator_t* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iterator_t*::rep::Prev
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - leveldb_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: leveldb_iter_prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_iterator_t*::rep::Prev
    linkageType: ''
    returnType: void
    signature: void leveldb_iter_prev(leveldb_iterator_t* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iterator_t*::rep::key
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:306,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:307,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iter
    - klen
    argTypes:
    - leveldb_iterator_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: leveldb_iter_key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - Slice::size
    - Slice::data
    - leveldb_iterator_t*::rep::key
    linkageType: ''
    returnType: char
    signature: char * leveldb_iter_key(const leveldb_iterator_t* iter, size_t* klen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iterator_t*::rep::value
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:312,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:313,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iter
    - vlen
    argTypes:
    - leveldb_iterator_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: leveldb_iter_value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_iterator_t*::rep::value
    - Slice::size
    - Slice::data
    linkageType: ''
    returnType: char
    signature: char * leveldb_iter_value(const leveldb_iterator_t* iter, size_t* vlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SaveError
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:318,1
    - Dst: leveldb_iterator_t*::rep::status
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iter
    - errptr
    argTypes:
    - leveldb_iterator_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: leveldb_iter_get_error
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_iterator_t*::rep::status
    - SaveError
    linkageType: ''
    returnType: void
    signature: void leveldb_iter_get_error(const leveldb_iterator_t* iter, char**
      errptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_writebatch_t::leveldb_writebatch_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: leveldb_writebatch_create
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_writebatch_t::leveldb_writebatch_t
    linkageType: ''
    returnType: leveldb_writebatch_t
    signature: leveldb_writebatch_t * leveldb_writebatch_create()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - leveldb_writebatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: leveldb_writebatch_destroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_writebatch_destroy(leveldb_writebatch_t* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_writebatch_t*::rep::Clear
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - leveldb_writebatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: leveldb_writebatch_clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_writebatch_t*::rep::Clear
    linkageType: ''
    returnType: void
    signature: void leveldb_writebatch_clear(leveldb_writebatch_t* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_writebatch_t*::rep::Put
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:331,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:331,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - b
    - key
    - klen
    - val
    - vlen
    argTypes:
    - leveldb_writebatch_t*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: leveldb_writebatch_put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_writebatch_t*::rep::Put
    - Slice
    linkageType: ''
    returnType: void
    signature: "void leveldb_writebatch_put(leveldb_writebatch_t* b, const char* key,\n
      \                           size_t klen, const char* val, size_t vlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_writebatch_t*::rep::Delete
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:336,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - key
    - klen
    argTypes:
    - leveldb_writebatch_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: leveldb_writebatch_delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb_writebatch_t*::rep::Delete
    linkageType: ''
    returnType: void
    signature: "void leveldb_writebatch_delete(leveldb_writebatch_t* b, const char*
      key,\n                               size_t klen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:350,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:350,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:350,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:350,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:353,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:353,1
    - Dst: leveldb_writebatch_t*::rep::Iterate
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - b
    - state
    argTypes:
    - leveldb_writebatch_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 361
    functionName: leveldb_writebatch_iterate
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - data
    - leveldb_writebatch_t*::rep::Iterate
    - size
    linkageType: ''
    returnType: void
    signature: "void leveldb_writebatch_iterate(const leveldb_writebatch_t* b, void*
      state,\n                                void (*put)(void*, const char* k, size_t
      klen,\n                                            const char* v, size_t vlen),\n
      \                               void (*deleted)(void*, const char* k,\n                                                size_t
      klen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:350,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:350,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:350,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: H::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:353,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: H::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_writebatch_t*::rep::Append
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - destination
    - source
    argTypes:
    - leveldb_writebatch_t*
    - leveldb_writebatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: leveldb_writebatch_append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_writebatch_t*::rep::Append
    linkageType: ''
    returnType: void
    signature: "void leveldb_writebatch_append(leveldb_writebatch_t* destination,\n
      \                              const leveldb_writebatch_t* source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_options_t::leveldb_options_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: leveldb_options_create
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_options_t::leveldb_options_t
    linkageType: ''
    returnType: leveldb_options_t
    signature: leveldb_options_t * leveldb_options_create()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - leveldb_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: leveldb_options_destroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_destroy(leveldb_options_t* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - cmp
    argTypes:
    - leveldb_options_t*
    - leveldb_comparator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: leveldb_options_set_comparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void leveldb_options_set_comparator(leveldb_options_t* opt,\n                                    leveldb_comparator_t*
      cmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - policy
    argTypes:
    - leveldb_options_t*
    - leveldb_filterpolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: leveldb_options_set_filter_policy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void leveldb_options_set_filter_policy(leveldb_options_t* opt,\n                                       leveldb_filterpolicy_t*
      policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - v
    argTypes:
    - leveldb_options_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: leveldb_options_set_create_if_missing
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_create_if_missing(leveldb_options_t* opt,
      uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - v
    argTypes:
    - leveldb_options_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: leveldb_options_set_error_if_exists
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_error_if_exists(leveldb_options_t* opt, uint8_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - v
    argTypes:
    - leveldb_options_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: leveldb_options_set_paranoid_checks
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_paranoid_checks(leveldb_options_t* opt, uint8_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - env
    argTypes:
    - leveldb_options_t*
    - leveldb_env_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: leveldb_options_set_env
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_env(leveldb_options_t* opt, leveldb_env_t*
      env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - l
    argTypes:
    - leveldb_options_t*
    - leveldb_logger_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: leveldb_options_set_info_log
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_info_log(leveldb_options_t* opt, leveldb_logger_t*
      l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - s
    argTypes:
    - leveldb_options_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: leveldb_options_set_write_buffer_size
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_write_buffer_size(leveldb_options_t* opt,
      size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - n
    argTypes:
    - leveldb_options_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: leveldb_options_set_max_open_files
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_max_open_files(leveldb_options_t* opt, int
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - c
    argTypes:
    - leveldb_options_t*
    - leveldb_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: leveldb_options_set_cache
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_cache(leveldb_options_t* opt, leveldb_cache_t*
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - s
    argTypes:
    - leveldb_options_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: leveldb_options_set_block_size
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_block_size(leveldb_options_t* opt, size_t
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - n
    argTypes:
    - leveldb_options_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: leveldb_options_set_block_restart_interval
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_block_restart_interval(leveldb_options_t*
      opt, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - s
    argTypes:
    - leveldb_options_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: leveldb_options_set_max_file_size
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_max_file_size(leveldb_options_t* opt, size_t
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CompressionType>
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - t
    argTypes:
    - leveldb_options_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: leveldb_options_set_compression
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - static_cast<CompressionType>
    linkageType: ''
    returnType: void
    signature: void leveldb_options_set_compression(leveldb_options_t* opt, int t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_comparator_t::leveldb_comparator_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - state
    - (*name)(void*)
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 441
    functionName: leveldb_comparator_create
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_comparator_t::leveldb_comparator_t
    linkageType: ''
    returnType: leveldb_comparator_t
    signature: "leveldb_comparator_t * leveldb_comparator_create(\n    void* state,
      void (*destructor)(void*),\n    int (*compare)(void*, const char* a, size_t
      alen, const char* b,\n                   size_t blen),\n    const char* (*name)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmp
    argTypes:
    - leveldb_comparator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    functionName: leveldb_comparator_destroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_comparator_destroy(leveldb_comparator_t* cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_filterpolicy_t::leveldb_filterpolicy_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - state
    - "(*create_filter)(void*, const char* const* key_array,\n                           const
      size_t* key_length_array, int num_keys,\n                           size_t*
      filter_length)"
    - (*name)(void*)
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: leveldb_filterpolicy_create
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_filterpolicy_t::leveldb_filterpolicy_t
    linkageType: ''
    returnType: leveldb_filterpolicy_t
    signature: "leveldb_filterpolicy_t * leveldb_filterpolicy_create(\n    void* state,
      void (*destructor)(void*),\n    char* (*create_filter)(void*, const char* const*
      key_array,\n                           const size_t* key_length_array, int num_keys,\n
      \                          size_t* filter_length),\n    uint8_t (*key_may_match)(void*,
      const char* key, size_t length,\n                             const char* filter,
      size_t filter_length),\n    const char* (*name)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - leveldb_filterpolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: leveldb_filterpolicy_destroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_filterpolicy_destroy(leveldb_filterpolicy_t* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Name
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:474,1
    - Dst: CreateFilter
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:476,1
    - Dst: KeyMayMatch
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:479,1
    - Dst: Wrapper::Wrapper
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:484,1
    - Dst: NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - bits_per_key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 489
    functionName: leveldb_filterpolicy_create_bloom
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - Wrapper::Wrapper
    - Name
    - CreateFilter
    - KeyMayMatch
    - NewBloomFilterPolicy
    linkageType: ''
    returnType: leveldb_filterpolicy_t
    signature: leveldb_filterpolicy_t * leveldb_filterpolicy_create_bloom(int bits_per_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: DoNothing
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoNothing(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: ~Wrapper()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Wrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Name
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 257
    functionsReached:
    - Name
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFilter
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keys
    - n
    - dst
    argTypes:
    - Slice*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: CreateFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 4
    functionsReached:
    - CreateFilter
    linkageType: ''
    returnType: void
    signature: void CreateFilter(const Slice* keys, int n, std::string* dst) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyMayMatch
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' filter'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: KeyMayMatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 4
    functionsReached:
    - KeyMayMatch
    linkageType: ''
    returnType: bool
    signature: bool KeyMayMatch(const Slice& key, const Slice& filter) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_readoptions_t::leveldb_readoptions_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: leveldb_readoptions_create
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_readoptions_t::leveldb_readoptions_t
    linkageType: ''
    returnType: leveldb_readoptions_t
    signature: leveldb_readoptions_t * leveldb_readoptions_create()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opt
    argTypes:
    - leveldb_readoptions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: leveldb_readoptions_destroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_readoptions_destroy(leveldb_readoptions_t* opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - v
    argTypes:
    - leveldb_readoptions_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: leveldb_readoptions_set_verify_checksums
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void leveldb_readoptions_set_verify_checksums(leveldb_readoptions_t*
      opt,\n                                              uint8_t v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - v
    argTypes:
    - leveldb_readoptions_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: leveldb_readoptions_set_fill_cache
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_readoptions_set_fill_cache(leveldb_readoptions_t* opt,
      uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - snap
    argTypes:
    - leveldb_readoptions_t*
    - leveldb_snapshot_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: leveldb_readoptions_set_snapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void leveldb_readoptions_set_snapshot(leveldb_readoptions_t* opt,\n
      \                                     const leveldb_snapshot_t* snap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_writeoptions_t::leveldb_writeoptions_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: leveldb_writeoptions_create
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_writeoptions_t::leveldb_writeoptions_t
    linkageType: ''
    returnType: leveldb_writeoptions_t
    signature: leveldb_writeoptions_t * leveldb_writeoptions_create()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opt
    argTypes:
    - leveldb_writeoptions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: leveldb_writeoptions_destroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_writeoptions_destroy(leveldb_writeoptions_t* opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opt
    - v
    argTypes:
    - leveldb_writeoptions_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: leveldb_writeoptions_set_sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_writeoptions_set_sync(leveldb_writeoptions_t* opt, uint8_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_cache_t::leveldb_cache_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:522,1
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: leveldb_cache_create_lru
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_cache_t::leveldb_cache_t
    - NewLRUCache
    linkageType: ''
    returnType: leveldb_cache_t
    signature: leveldb_cache_t * leveldb_cache_create_lru(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - leveldb_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: leveldb_cache_destroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_cache_destroy(leveldb_cache_t* cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_env_t::leveldb_env_t
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:533,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 537
    functionName: leveldb_create_default_env
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - leveldb_env_t::leveldb_env_t
    - leveldb::Env::Default
    linkageType: ''
    returnType: leveldb_env_t
    signature: leveldb_env_t * leveldb_create_default_env()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - env
    argTypes:
    - leveldb_env_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: leveldb_env_destroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leveldb_env_destroy(leveldb_env_t* env)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_env_t*::rep::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:546,1
    - Dst: static_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:550,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:550,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:550,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:551,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:551,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:551,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - env
    argTypes:
    - leveldb_env_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 554
    functionName: leveldb_env_get_test_directory
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - static_cast<char*>
    - std::string::size
    - std::string::data
    - memcpy
    - malloc
    - leveldb_env_t*::rep::GetTestDirectory
    linkageType: ''
    returnType: char
    signature: char * leveldb_env_get_test_directory(leveldb_env_t* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/bitcoin-core/src/leveldb/db/c.cc:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: leveldb_free
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void leveldb_free(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 558
    functionName: leveldb_major_version
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int leveldb_major_version()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: leveldb_minor_version
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int leveldb_minor_version()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: StartPhase
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void StartPhase(const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: CheckNoError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CheckNoError(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: CheckCondition
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CheckCondition(cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:34,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:35,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:39,1
    - Dst: abort
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - expected
    - v
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: CheckEqual
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 1
    functionsReached:
    - abort
    - memcmp
    - strlen
    - fprintf
    linkageType: ''
    returnType: void
    signature: void CheckEqual(const char* expected, const char* v, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: Free
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Free(char** ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_get
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:62,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:62,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:63,1
    - Dst: CheckEqual
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:64,1
    - Dst: Free
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - db
    - options
    - key
    - expected
    argTypes:
    - leveldb_t*
    - leveldb_readoptions_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: CheckGet
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached:
    - CheckNoError
    - strlen
    - Free
    - leveldb_get
    - CheckEqual
    linkageType: ''
    returnType: void
    signature: "void CheckGet(\n    leveldb_t* db,\n    const leveldb_readoptions_t*
      options,\n    const char* key,\n    const char* expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb_iter_key
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:72,1
    - Dst: CheckEqual
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:73,1
    - Dst: leveldb_iter_value
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:74,1
    - Dst: CheckEqual
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iter
    - key
    - val
    argTypes:
    - leveldb_iterator_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: CheckIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached:
    - leveldb_iter_key
    - leveldb_iter_value
    - CheckEqual
    linkageType: ''
    returnType: void
    signature: "void CheckIter(leveldb_iterator_t* iter,\n                      const
      char* key, const char* val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:83,1
    - Dst: CheckEqual
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:86,1
    - Dst: CheckEqual
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:87,1
    - Dst: CheckEqual
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:90,1
    - Dst: CheckEqual
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ptr
    - k
    - klen
    - v
    - vlen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: CheckPut
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached:
    - CheckCondition
    - CheckEqual
    linkageType: ''
    returnType: void
    signature: "void CheckPut(void* ptr,\n                     const char* k, size_t
      klen,\n                     const char* v, size_t vlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:100,1
    - Dst: CheckEqual
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - k
    - klen
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: CheckDel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached:
    - CheckCondition
    - CheckEqual
    linkageType: ''
    returnType: void
    signature: void CheckDel(void* ptr, const char* k, size_t klen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: CmpDestroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmpDestroy(void* arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - arg
    - a
    - alen
    - b
    - blen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: CmpCompare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int CmpCompare(void* arg, const char* a, size_t alen,\n                      const
      char* b, size_t blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: CmpName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CmpName(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: FilterDestroy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterDestroy(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: FilterName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FilterName(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:134,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - arg
    - key_array
    - key_length_array
    - num_keys
    - filter_length
    argTypes:
    - void*
    - char**
    - size_t*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: FilterCreate
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: "char * FilterCreate(\n    void* arg,\n    const char* const* key_array,
      const size_t* key_length_array,\n    int num_keys,\n    size_t* filter_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:140,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:141,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - arg
    - key
    - length
    - filter
    - filter_length
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: FilterKeyMatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - CheckCondition
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t FilterKeyMatch(void* arg, const char* key, size_t length,\n
      \                      const char* filter, size_t filter_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:157,1
    - Dst: leveldb_major_version
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:157,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:158,1
    - Dst: leveldb_minor_version
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:158,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:160,1
    - Dst: leveldb_comparator_create
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:161,1
    - Dst: leveldb_create_default_env
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:162,1
    - Dst: leveldb_cache_create_lru
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:163,1
    - Dst: leveldb_env_get_test_directory
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:164,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:165,1
    - Dst: leveldb_options_create
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:167,1
    - Dst: leveldb_options_set_comparator
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:168,1
    - Dst: leveldb_options_set_error_if_exists
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:169,1
    - Dst: leveldb_options_set_cache
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:170,1
    - Dst: leveldb_options_set_env
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:171,1
    - Dst: leveldb_options_set_info_log
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:172,1
    - Dst: leveldb_options_set_write_buffer_size
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:173,1
    - Dst: leveldb_options_set_paranoid_checks
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:174,1
    - Dst: leveldb_options_set_max_open_files
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:175,1
    - Dst: leveldb_options_set_block_size
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:176,1
    - Dst: leveldb_options_set_block_restart_interval
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:177,1
    - Dst: leveldb_options_set_max_file_size
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:178,1
    - Dst: leveldb_options_set_compression
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:179,1
    - Dst: leveldb_readoptions_create
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:181,1
    - Dst: leveldb_readoptions_set_verify_checksums
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:182,1
    - Dst: leveldb_readoptions_set_fill_cache
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:183,1
    - Dst: leveldb_writeoptions_create
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:185,1
    - Dst: leveldb_writeoptions_set_sync
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:186,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:188,1
    - Dst: leveldb_destroy_db
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:189,1
    - Dst: Free
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:190,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:192,1
    - Dst: leveldb_open
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:193,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:194,1
    - Dst: Free
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:195,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:197,1
    - Dst: leveldb_open
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:198,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:199,1
    - Dst: leveldb_free
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:200,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:203,1
    - Dst: leveldb_options_set_create_if_missing
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:204,1
    - Dst: leveldb_open
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:205,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:206,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:207,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:209,1
    - Dst: leveldb_put
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:210,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:211,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:212,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:214,1
    - Dst: leveldb_compact_range
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:215,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:216,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:218,1
    - Dst: leveldb_compact_range
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:219,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:220,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:222,1
    - Dst: leveldb_writebatch_create
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:224,1
    - Dst: leveldb_writebatch_put
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:225,1
    - Dst: leveldb_writebatch_clear
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:226,1
    - Dst: leveldb_writebatch_put
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:227,1
    - Dst: leveldb_writebatch_put
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:228,1
    - Dst: leveldb_writebatch_create
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:230,1
    - Dst: leveldb_writebatch_delete
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:231,1
    - Dst: leveldb_writebatch_append
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:232,1
    - Dst: leveldb_writebatch_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:233,1
    - Dst: leveldb_write
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:235,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:236,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:237,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:238,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:239,1
    - Dst: leveldb_writebatch_iterate
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:242,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:243,1
    - Dst: leveldb_writebatch_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:244,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:247,1
    - Dst: leveldb_create_iterator
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:249,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:250,1
    - Dst: leveldb_iter_valid
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:250,1
    - Dst: leveldb_iter_seek_to_first
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:251,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:252,1
    - Dst: leveldb_iter_valid
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:252,1
    - Dst: CheckIter
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:253,1
    - Dst: leveldb_iter_next
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:254,1
    - Dst: CheckIter
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:255,1
    - Dst: leveldb_iter_prev
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:256,1
    - Dst: CheckIter
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:257,1
    - Dst: leveldb_iter_prev
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:258,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:259,1
    - Dst: leveldb_iter_valid
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:259,1
    - Dst: leveldb_iter_seek_to_last
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:260,1
    - Dst: CheckIter
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:261,1
    - Dst: leveldb_iter_seek
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:262,1
    - Dst: CheckIter
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:263,1
    - Dst: leveldb_iter_get_error
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:264,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:265,1
    - Dst: leveldb_iter_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:266,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:269,1
    - Dst: leveldb_writeoptions_set_sync
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:280,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:282,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:283,1
    - Dst: leveldb_put
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:284,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:284,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:284,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:286,1
    - Dst: leveldb_approximate_sizes
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:288,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:289,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:290,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:293,1
    - Dst: leveldb_property_value
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:295,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:296,1
    - Dst: leveldb_property_value
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:297,1
    - Dst: CheckCondition
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:298,1
    - Dst: Free
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:299,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:302,1
    - Dst: leveldb_create_snapshot
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:305,1
    - Dst: leveldb_delete
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:306,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:307,1
    - Dst: leveldb_readoptions_set_snapshot
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:308,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:309,1
    - Dst: leveldb_readoptions_set_snapshot
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:310,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:311,1
    - Dst: leveldb_release_snapshot
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:312,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:315,1
    - Dst: leveldb_close
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:317,1
    - Dst: leveldb_options_set_create_if_missing
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:318,1
    - Dst: leveldb_options_set_error_if_exists
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:319,1
    - Dst: leveldb_repair_db
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:320,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:321,1
    - Dst: leveldb_open
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:322,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:323,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:324,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:325,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:326,1
    - Dst: leveldb_options_set_create_if_missing
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:327,1
    - Dst: leveldb_options_set_error_if_exists
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:328,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:331,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:334,1
    - Dst: leveldb_filterpolicy_create
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:337,1
    - Dst: leveldb_filterpolicy_create_bloom
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:340,1
    - Dst: leveldb_close
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:344,1
    - Dst: leveldb_destroy_db
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:345,1
    - Dst: leveldb_options_set_filter_policy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:346,1
    - Dst: leveldb_open
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:347,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:348,1
    - Dst: leveldb_put
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:349,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:350,1
    - Dst: leveldb_put
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:351,1
    - Dst: CheckNoError
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:352,1
    - Dst: leveldb_compact_range
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:353,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:356,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:357,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:361,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:362,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:365,1
    - Dst: CheckGet
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:366,1
    - Dst: leveldb_options_set_filter_policy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:368,1
    - Dst: leveldb_filterpolicy_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:369,1
    - Dst: StartPhase
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:372,1
    - Dst: leveldb_close
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:373,1
    - Dst: leveldb_options_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:374,1
    - Dst: leveldb_readoptions_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:375,1
    - Dst: leveldb_writeoptions_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:376,1
    - Dst: leveldb_free
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:377,1
    - Dst: leveldb_cache_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:378,1
    - Dst: leveldb_comparator_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:379,1
    - Dst: leveldb_env_destroy
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:380,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/c_test.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 175
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 384
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/c_test.c
    functionUses: 1
    functionsReached:
    - leveldb_writebatch_delete
    - leveldb_compact_range
    - leveldb_comparator_create
    - leveldb_options_set_create_if_missing
    - leveldb_open
    - leveldb_property_value
    - leveldb_options_set_error_if_exists
    - leveldb_options_set_info_log
    - leveldb_iter_valid
    - leveldb_writeoptions_set_sync
    - leveldb_options_set_max_file_size
    - leveldb_close
    - leveldb_options_set_block_restart_interval
    - leveldb_options_set_cache
    - leveldb_approximate_sizes
    - leveldb_options_set_filter_policy
    - leveldb_readoptions_set_fill_cache
    - strlen
    - Free
    - leveldb_repair_db
    - leveldb_major_version
    - leveldb_writebatch_clear
    - leveldb_iter_next
    - leveldb_create_snapshot
    - leveldb_options_set_env
    - leveldb_release_snapshot
    - leveldb_filterpolicy_destroy
    - leveldb_writeoptions_destroy
    - leveldb_iter_seek_to_first
    - StartPhase
    - leveldb_writebatch_put
    - leveldb_readoptions_set_verify_checksums
    - leveldb_writebatch_append
    - leveldb_writebatch_destroy
    - leveldb_options_set_block_size
    - leveldb_minor_version
    - leveldb_readoptions_destroy
    - leveldb_comparator_destroy
    - leveldb_iter_get_error
    - CheckGet
    - leveldb_delete
    - leveldb_writebatch_iterate
    - leveldb_write
    - CheckCondition
    - leveldb_options_set_paranoid_checks
    - leveldb_filterpolicy_create_bloom
    - leveldb_env_destroy
    - leveldb_put
    - fprintf
    - leveldb_options_create
    - leveldb_options_set_write_buffer_size
    - CheckIter
    - leveldb_iter_seek
    - leveldb_writebatch_create
    - leveldb_options_set_comparator
    - leveldb_cache_create_lru
    - leveldb_filterpolicy_create
    - CheckNoError
    - leveldb_env_get_test_directory
    - leveldb_options_set_compression
    - leveldb_iter_prev
    - leveldb_iter_destroy
    - leveldb_free
    - leveldb_writeoptions_create
    - leveldb_options_destroy
    - leveldb_create_default_env
    - leveldb_options_set_max_open_files
    - leveldb_destroy_db
    - leveldb_iter_seek_to_last
    - leveldb_cache_destroy
    - snprintf
    - leveldb_create_iterator
    - leveldb_readoptions_create
    - leveldb_readoptions_set_snapshot
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_internal.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::WriteBatchInternal::Contents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_internal.h
    functionUses: 2
    functionsReached:
    - Slice
    linkageType: ''
    returnType: Slice
    signature: Slice Contents(const WriteBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch*::rep_::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_internal.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: leveldb::WriteBatchInternal::ByteSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_internal.h
    functionUses: 0
    functionsReached:
    - WriteBatch*::rep_::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSize(const WriteBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_internal.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::WriteBatchInternal::Contents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_internal.h
    functionUses: 2
    functionsReached:
    - Slice
    linkageType: ''
    returnType: Slice
    signature: Slice Contents(const WriteBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch*::rep_::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_internal.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - batch
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: leveldb::WriteBatchInternal::ByteSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_internal.h
    functionUses: 0
    functionsReached:
    - WriteBatch*::rep_::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSize(const WriteBatch* batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer(const Writer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Writer&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Writer
    signature: Writer & operator=(const Writer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer(const Writer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Writer&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Writer
    signature: Writer & operator=(const Writer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer(const Writer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Writer&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Writer
    signature: Writer & operator=(const Writer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::log::Writer::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer(const Writer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Writer&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_writer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Writer
    signature: Writer & operator=(const Writer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: leveldb::FileMetaData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileMetaData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::VersionEdit::Clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: leveldb::VersionEdit::VersionEdit
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - leveldb::VersionEdit::Clear
    linkageType: ''
    returnType: void
    signature: void VersionEdit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~VersionEdit()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VersionEdit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: leveldb::VersionEdit::SetComparatorName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void SetComparatorName(const Slice& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: leveldb::VersionEdit::SetLogNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLogNumber(uint64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: leveldb::VersionEdit::SetPrevLogNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPrevLogNumber(uint64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: leveldb::VersionEdit::SetNextFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNextFile(uint64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seq
    argTypes:
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: leveldb::VersionEdit::SetLastSequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastSequence(SequenceNumber seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:57,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - ' key'
    argTypes:
    - int
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: leveldb::VersionEdit::SetCompactPointer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void SetCompactPointer(int level, const InternalKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:70,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - level
    - file
    - file_size
    - ' smallest'
    - ' largest'
    argTypes:
    - int
    - uint64_t
    - uint64_t
    - InternalKey
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: leveldb::VersionEdit::AddFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: "void AddFile(int level, uint64_t file, uint64_t file_size,\n               const
      InternalKey& smallest, const InternalKey& largest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:75,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - file
    argTypes:
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: leveldb::VersionEdit::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - insert
    linkageType: ''
    returnType: void
    signature: void DeleteFile(int level, uint64_t file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: leveldb::FileMetaData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileMetaData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::VersionEdit::Clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: leveldb::VersionEdit::VersionEdit
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - leveldb::VersionEdit::Clear
    linkageType: ''
    returnType: void
    signature: void VersionEdit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~VersionEdit()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VersionEdit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: leveldb::VersionEdit::SetComparatorName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void SetComparatorName(const Slice& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: leveldb::VersionEdit::SetLogNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLogNumber(uint64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: leveldb::VersionEdit::SetPrevLogNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPrevLogNumber(uint64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: leveldb::VersionEdit::SetNextFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNextFile(uint64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seq
    argTypes:
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: leveldb::VersionEdit::SetLastSequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastSequence(SequenceNumber seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:57,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - ' key'
    argTypes:
    - int
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: leveldb::VersionEdit::SetCompactPointer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void SetCompactPointer(int level, const InternalKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:70,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - level
    - file
    - file_size
    - ' smallest'
    - ' largest'
    argTypes:
    - int
    - uint64_t
    - uint64_t
    - InternalKey
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: leveldb::VersionEdit::AddFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: "void AddFile(int level, uint64_t file, uint64_t file_size,\n               const
      InternalKey& smallest, const InternalKey& largest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:75,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - file
    argTypes:
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: leveldb::VersionEdit::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - insert
    linkageType: ''
    returnType: void
    signature: void DeleteFile(int level, uint64_t file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: leveldb::TargetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TargetFileSize(const Options* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TargetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: leveldb::MaxGrandParentOverlapBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::TargetFileSize
    linkageType: ''
    returnType: int64_t
    signature: int64_t MaxGrandParentOverlapBytes(const Options* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TargetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: leveldb::ExpandedCompactionByteSizeLimit
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::TargetFileSize
    linkageType: ''
    returnType: int64_t
    signature: int64_t ExpandedCompactionByteSizeLimit(const Options* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - options
    - level
    argTypes:
    - Options*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: leveldb::MaxBytesForLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double MaxBytesForLevel(const Options* options, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TargetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - options
    - level
    argTypes:
    - Options*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: leveldb::MaxFileSizeForLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::TargetFileSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MaxFileSizeForLevel(const Options* options, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' files'
    argTypes:
    - std::vector<FileMetaData*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: leveldb::TotalFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::size
    linkageType: ''
    returnType: int64_t
    signature: int64_t TotalFileSize(const std::vector<FileMetaData*>& files)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:69,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:77,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (refs_ == 0)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (f->refs > 0)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: Version::~Version()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void Version::~Version()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:91,1
    - Dst: InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:95,1
    - Dst: FileMetaData*::largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' icmp'
    - ' files'
    - ' key'
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: leveldb::FindFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - InternalKeyComparator::Compare
    - leveldb::size
    - FileMetaData*::largest::Encode
    linkageType: ''
    returnType: int
    signature: "int FindFile(const InternalKeyComparator& icmp,\n             const
      std::vector<FileMetaData*>& files, const Slice& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:112,1
    - Dst: FileMetaData*::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ucmp
    - user_key
    - f
    argTypes:
    - Comparator*
    - Slice*
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: leveldb::AfterFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - FileMetaData*::largest::user_key
    - Comparator*::Compare
    linkageType: ''
    returnType: bool
    signature: "bool AfterFile(const Comparator* ucmp, const Slice* user_key,\n                      const
      FileMetaData* f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:119,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ucmp
    - user_key
    - f
    argTypes:
    - Comparator*
    - Slice*
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: leveldb::BeforeFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Comparator*::Compare
    - FileMetaData*::smallest::user_key
    linkageType: ''
    returnType: bool
    signature: "bool BeforeFile(const Comparator* ucmp, const Slice* user_key,\n                       const
      FileMetaData* f)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:127,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:130,1
    - Dst: leveldb::AfterFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:132,1
    - Dst: leveldb::BeforeFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:133,1
    - Dst: leveldb::FindFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:148,1
    - Dst: InternalKey::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:148,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:151,1
    - Dst: leveldb::BeforeFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - ' icmp'
    - disjoint_sorted_files
    - ' files'
    - smallest_user_key
    - largest_user_key
    argTypes:
    - InternalKeyComparator
    - bool
    - std::vector<FileMetaData*>
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 157
    functionName: leveldb::SomeFileOverlapsRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - user_comparator
    - InternalKey::Encode
    - leveldb::FindFile
    - leveldb::size
    - leveldb::AfterFile
    - leveldb::BeforeFile
    linkageType: ''
    returnType: bool
    signature: "bool SomeFileOverlapsRange(const InternalKeyComparator& icmp,\n                           bool
      disjoint_sorted_files,\n                           const std::vector<FileMetaData*>&
      files,\n                           const Slice* smallest_user_key,\n                           const
      Slice* largest_user_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<FileMetaData*>*::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' icmp'
    - flist
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: leveldb::Version::LevelFileNumIterator::LevelFileNumIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - std::vector<FileMetaData*>*::size
    linkageType: ''
    returnType: void
    signature: "void LevelFileNumIterator(const InternalKeyComparator& icmp,\n                       const
      std::vector<FileMetaData*>* flist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: leveldb::Version::LevelFileNumIterator::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: leveldb::Version::LevelFileNumIterator::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - FindFile
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& target) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: leveldb::Version::LevelFileNumIterator::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:176,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: leveldb::Version::LevelFileNumIterator::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:179,1
    - Dst: leveldb::Version::LevelFileNumIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: leveldb::Version::LevelFileNumIterator::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::LevelFileNumIterator::Valid
    - assert
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:183,1
    - Dst: leveldb::Version::LevelFileNumIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:183,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: leveldb::Version::LevelFileNumIterator::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::LevelFileNumIterator::Valid
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:191,1
    - Dst: leveldb::Version::LevelFileNumIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:191,1
    - Dst: largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: leveldb::Version::LevelFileNumIterator::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::LevelFileNumIterator::Valid
    - assert
    - largest::Encode
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:195,1
    - Dst: leveldb::Version::LevelFileNumIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:195,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:196,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:197,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: leveldb::Version::LevelFileNumIterator::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::LevelFileNumIterator::Valid
    - Slice
    - assert
    - EncodeFixed64
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: leveldb::Version::LevelFileNumIterator::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TableCache*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:213,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:214,1
    - Dst: leveldb::NewErrorIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:215,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:216,1
    - Dst: TableCache*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:218,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:218,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:218,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:219,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - ' options'
    - ' file_value'
    argTypes:
    - void*
    - ReadOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: leveldb::GetFileIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TableCache*::NewIterator
    - leveldb::DecodeFixed64
    - leveldb::log::Reader::ReportCorruption
    - leveldb::data
    - reinterpret_cast<TableCache*>
    - leveldb::NewErrorIterator
    - leveldb::size
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * GetFileIterator(void* arg, const ReadOptions& options,\n
      \                                const Slice& file_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewTwoLevelIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:225,1
    - Dst: LevelFileNumIterator::LevelFileNumIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' options'
    - level
    argTypes:
    - ReadOptions
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: leveldb::Version::NewConcatenatingIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - NewTwoLevelIterator
    - LevelFileNumIterator::LevelFileNumIterator
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * Version::NewConcatenatingIterator(const ReadOptions& options,\n
      \                                           int level) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:233,1
    - Dst: std::vector<Iterator*>*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:234,1
    - Dst: table_cache_::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:234,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:242,1
    - Dst: std::vector<Iterator*>*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:243,1
    - Dst: leveldb::Version::NewConcatenatingIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' options'
    - iters
    argTypes:
    - ReadOptions
    - std::vector<Iterator*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: leveldb::Version::AddIterators
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - table_cache_::NewIterator
    - empty
    - size
    - std::vector<Iterator*>*::push_back
    - leveldb::Version::NewConcatenatingIterator
    linkageType: ''
    returnType: void
    signature: "void Version::AddIterators(const ReadOptions& options,\n                           std::vector<Iterator*>*
      iters)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Saver*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:264,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:266,1
    - Dst: Saver*::ucmp::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:269,1
    - Dst: Saver*::value::assign
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:272,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:272,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - arg
    - ' ikey'
    - ' v'
    argTypes:
    - void*
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: leveldb::SaveValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::ParseInternalKey
    - reinterpret_cast<Saver*>
    - Saver*::value::assign
    - Saver*::ucmp::Compare
    - leveldb::data
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void SaveValue(void* arg, const Slice& ikey, const Slice& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FileMetaData*
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: leveldb::NewestFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NewestFirst(FileMetaData* a, FileMetaData* b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: icmp_::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:284,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:288,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:288,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:289,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:291,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:291,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:292,1
    - Dst: FileMetaData*::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:292,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:293,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:296,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:297,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:297,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:297,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:298,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:307,1
    - Dst: FindFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:311,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:314,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:314,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - user_key
    - internal_key
    - arg
    argTypes:
    - Slice
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 323
    functionName: leveldb::Version::ForEachOverlapping
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - std::vector::end
    - std::vector::size
    - FindFile
    - std::vector::reserve
    - size
    - std::vector::push_back
    - std::vector::begin
    - std::vector::empty
    - FileMetaData*::smallest::user_key
    - FileMetaData*::largest::user_key
    - Comparator*::Compare
    - std::sort
    - icmp_::user_comparator
    linkageType: ''
    returnType: void
    signature: "void Version::ForEachOverlapping(Slice user_key, Slice internal_key,
      void* arg,\n                                 bool (*func)(void*, int, FileMetaData*))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:343,1
    - Dst: State*::vset::table_cache_::Get
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:355,1
    - Dst: State*::s::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:358,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:372,1
    - Dst: internal_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:390,1
    - Dst: icmp_::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:394,1
    - Dst: user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:395,1
    - Dst: leveldb::Version::ForEachOverlapping
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:398,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:400,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 4
    argNames:
    - ' options'
    - ' k'
    - value
    - stats
    argTypes:
    - ReadOptions
    - LookupKey
    - std::string*
    - GetStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 401
    functionName: leveldb::Version::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<State*>
    - Slice
    - State*::vset::table_cache_::Get
    - node::TxDownloadManager::ReceivedNotFound
    - internal_key
    - leveldb::log::Reader::ReportCorruption
    - leveldb::Version::ForEachOverlapping
    - State*::s::ok
    - user_key
    - icmp_::user_comparator
    linkageType: ''
    returnType: Status
    signature: "Status Version::Get(const ReadOptions& options, const LookupKey& k,\n
      \                   std::string* value, GetStats* stats)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:343,1
    - Dst: State*::vset::table_cache_::Get
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:355,1
    - Dst: State*::s::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:358,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - arg
    - level
    - f
    argTypes:
    - void*
    - int
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 380
    functionName: leveldb::Match
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - State*::s::ok
    - reinterpret_cast<State*>
    - leveldb::log::Reader::ReportCorruption
    - State*::vset::table_cache_::Get
    linkageType: ''
    returnType: bool
    signature: bool Match(void* arg, int level, FileMetaData* f)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - GetStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: leveldb::Version::UpdateStats
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Version::UpdateStats(const GetStats& stats)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:418,1
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:427,1
    - Dst: leveldb::Version::ForEachOverlapping
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:441,1
    - Dst: leveldb::Version::UpdateStats
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - internal_key
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 452
    functionName: leveldb::Version::RecordReadSample
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::ForEachOverlapping
    - reinterpret_cast<State*>
    - ParseInternalKey
    - leveldb::Version::UpdateStats
    linkageType: ''
    returnType: bool
    signature: bool Version::RecordReadSample(Slice internal_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - level
    - f
    argTypes:
    - void*
    - int
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: leveldb::Match
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<State*>
    linkageType: ''
    returnType: bool
    signature: bool Match(void* arg, int level, FileMetaData* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: leveldb::Version::Ref
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version::Ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:457,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (this != &vset_->dummy_versions_)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (refs_ >= 1)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: leveldb::Version::Unref
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void Version::Unref()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SomeFileOverlapsRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - smallest_user_key
    - largest_user_key
    argTypes:
    - int
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: leveldb::Version::OverlapInLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - SomeFileOverlapsRange
    linkageType: ''
    returnType: bool
    signature: "bool Version::OverlapInLevel(int level, const Slice* smallest_user_key,\n
      \                            const Slice* largest_user_key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Version::OverlapInLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:474,1
    - Dst: static_cast<ValueType>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:478,1
    - Dst: leveldb::Version::OverlapInLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:481,1
    - Dst: leveldb::Version::GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:486,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:487,1
    - Dst: MaxGrandParentOverlapBytes
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ' smallest_user_key'
    - ' largest_user_key'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 496
    functionName: leveldb::Version::PickLevelForMemTableOutput
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TotalFileSize
    - leveldb::Version::GetOverlappingInputs
    - MaxGrandParentOverlapBytes
    - static_cast<ValueType>
    - leveldb::Version::OverlapInLevel
    linkageType: ''
    returnType: int
    signature: "int Version::PickLevelForMemTableOutput(const Slice& smallest_user_key,\n
      \                                       const Slice& largest_user_key)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:502,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:503,1
    - Dst: std::vector<FileMetaData*>*::clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:504,1
    - Dst: InternalKey*::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:507,1
    - Dst: InternalKey*::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:510,1
    - Dst: icmp_::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:512,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:513,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:515,1
    - Dst: FileMetaData*::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:516,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:517,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:519,1
    - Dst: std::vector<FileMetaData*>*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:522,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:526,1
    - Dst: std::vector<FileMetaData*>*::clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:528,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:531,1
    - Dst: std::vector<FileMetaData*>*::clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:533,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - level
    - begin
    - end
    - inputs
    argTypes:
    - int
    - InternalKey*
    - InternalKey*
    - std::vector<FileMetaData*>*
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (level < config::kNumLevels)
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 539
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 539
    functionName: leveldb::Version::GetOverlappingInputs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - std::vector<FileMetaData*>*::clear
    - std::vector<FileMetaData*>*::push_back
    - size
    - InternalKey*::user_key
    - FileMetaData*::smallest::user_key
    - Comparator*::Compare
    - FileMetaData*::largest::user_key
    - assert
    - icmp_::user_comparator
    linkageType: ''
    returnType: void
    signature: "void Version::GetOverlappingInputs(int level, const InternalKey* begin,\n
      \                                  const InternalKey* end,\n                                   std::vector<FileMetaData*>*
      inputs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:548,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:549,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:550,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:552,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:553,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:554,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:555,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:556,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:557,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:558,1
    - Dst: smallest::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:558,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:559,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:560,1
    - Dst: largest::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:560,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 565
    functionName: leveldb::Version::DebugString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - largest::DebugString
    - size
    - std::string::push_back
    - std::string::append
    - AppendNumberTo
    - smallest::DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string Version::DebugString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f1
    - f2
    argTypes:
    - FileMetaData*
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 584
    functionName: operator()(FileMetaData* f1, FileMetaData* f2) const
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator()(FileMetaData* f1, FileMetaData* f2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:600,1
    - Dst: FileSet::FileSet
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vset
    - base
    argTypes:
    - VersionSet*
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: leveldb::VersionSet::Builder::Builder
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Ref
    - FileSet::FileSet
    linkageType: ''
    returnType: void
    signature: void Builder(VersionSet* vset, Version* base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:612,1
    - Dst: FileSet*::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:612,1
    - Dst: FileSet*::begin
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:613,1
    - Dst: FileSet*::end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:613,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:615,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:618,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 627
    functionName: ~Builder()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - FileSet*::size
    - std::vector::reserve
    - Unref
    - FileSet*::end
    - std::vector::push_back
    - std::vector::size
    - FileSet*::begin
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VersionEdit*::compact_pointers_::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:632,1
    - Dst: second::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:635,1
    - Dst: deleted_files::insert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:642,1
    - Dst: VersionEdit*::new_files_::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:646,1
    - Dst: FileMetaData::FileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:648,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:664,1
    - Dst: deleted_files::erase
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:667,1
    - Dst: added_files::insert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - edit
    argTypes:
    - VersionEdit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 670
    functionName: leveldb::VersionSet::Builder::Apply
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - VersionEdit*::compact_pointers_::size
    - FileMetaData::FileMetaData
    - static_cast<int>
    - second::Encode
    - VersionEdit*::new_files_::size
    - deleted_files::erase
    - deleted_files::insert
    - added_files::insert
    linkageType: ''
    returnType: void
    signature: void Apply(VersionEdit* edit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:680,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:681,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:683,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:683,1
    - Dst: FileSet*::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:683,1
    - Dst: std::upper_bound
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:687,1
    - Dst: leveldb::VersionSet::Builder::MaybeAddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:689,1
    - Dst: leveldb::VersionSet::Builder::MaybeAddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:692,1
    - Dst: leveldb::VersionSet::Builder::MaybeAddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:697,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:703,1
    - Dst: icmp_::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:706,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:707,1
    - Dst: DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:708,1
    - Dst: DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:709,1
    - Dst: abort
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - v
    argTypes:
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 716
    functionName: leveldb::VersionSet::Builder::SaveTo
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - end
    - reserve
    - abort
    - DebugString
    - FileSet*::size
    - size
    - icmp_::Compare
    - fprintf
    - std::upper_bound
    - leveldb::VersionSet::Builder::MaybeAddFile
    - begin
    linkageType: ''
    returnType: void
    signature: void SaveTo(Version* v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deleted_files::count
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:719,1
    - Dst: std::vector*::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:723,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:725,1
    - Dst: icmp_::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:725,1
    - Dst: std::vector*::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:725,1
    - Dst: std::vector*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - v
    - level
    - f
    argTypes:
    - Version*
    - int
    - FileMetaData*
    assertStmts:
    - condition: "(vset_->icmp_.Compare((*files)[files->size() - 1]->largest,\n                                    f->smallest)
        < 0)"
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 731
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 731
    functionName: leveldb::VersionSet::Builder::MaybeAddFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - deleted_files::count
    - icmp_::Compare
    - std::vector*::empty
    - std::vector*::push_back
    - assert
    - std::vector*::size
    linkageType: ''
    returnType: void
    signature: void MaybeAddFile(Version* v, int level, FileMetaData* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::VersionSet::AppendVersion
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:751,1
    - Dst: Version::Version
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' dbname'
    - options
    - table_cache
    - cmp
    argTypes:
    - std::string
    - Options*
    - TableCache*
    - InternalKeyComparator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 752
    functionName: leveldb::VersionSet::VersionSet
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Version::Version
    - leveldb::VersionSet::AppendVersion
    linkageType: ''
    returnType: void
    signature: "void VersionSet::VersionSet(const std::string& dbname, const Options*
      options,\n                       TableCache* table_cache,\n                       const
      InternalKeyComparator* cmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:755,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dummy_versions_.next_ == &dummy_versions_)
      pos:
        line_end: 755
        line_start: 755
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 759
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 759
    functionName: VersionSet::~VersionSet()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - assert
    - Unref
    linkageType: ''
    returnType: void
    signature: void VersionSet::~VersionSet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:763,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:764,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:766,1
    - Dst: Version*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - v
    argTypes:
    - Version*
    assertStmts:
    - condition: (v->refs_ == 0)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (v != current_)
      pos:
        line_end: 763
        line_start: 763
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 776
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 776
    functionName: leveldb::VersionSet::AppendVersion
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - assert
    - Version*::Ref
    - Unref
    linkageType: ''
    returnType: void
    signature: void VersionSet::AppendVersion(Version* v)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:780,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:781,1
    - Dst: VersionEdit*::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:783,1
    - Dst: VersionEdit*::SetPrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:787,1
    - Dst: VersionEdit*::SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:790,1
    - Dst: VersionEdit*::SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:791,1
    - Dst: Version::Version
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:793,1
    - Dst: Builder::Apply
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:796,1
    - Dst: Builder::SaveTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:797,1
    - Dst: leveldb::VersionSet::Finalize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:799,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:808,1
    - Dst: DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:809,1
    - Dst: VersionEdit*::SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:810,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:811,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:812,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:813,1
    - Dst: leveldb::VersionSet::WriteSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:814,1
    - Dst: port::Mutex*::Unlock
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:820,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:823,1
    - Dst: VersionEdit*::EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:825,1
    - Dst: AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:826,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:827,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:828,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:830,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:831,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:831,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:837,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:837,1
    - Dst: SetCurrentFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:838,1
    - Dst: port::Mutex*::Lock
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:841,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:845,1
    - Dst: leveldb::VersionSet::AppendVersion
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:846,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:851,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:856,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 2
    argNames:
    - edit
    - mu
    argTypes:
    - VersionEdit*
    - port::Mutex*
    assertStmts:
    - condition: (edit->log_number_ >= log_number_)
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (edit->log_number_ < next_file_number_)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (descriptor_file_ == nullptr)
      pos:
        line_end: 807
        line_start: 807
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 861
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 861
    functionName: leveldb::VersionSet::LogAndApply
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::VersionSet::WriteSnapshot
    - AddRecord
    - Builder::Apply
    - std::string::empty
    - port::Mutex*::Unlock
    - NewWritableFile
    - Status::ToString
    - Status::ok
    - VersionEdit*::SetNextFile
    - Version::Version
    - VersionEdit*::SetLogNumber
    - VersionEdit*::SetLastSequence
    - port::Mutex*::Lock
    - Sync
    - Log
    - leveldb::VersionSet::Finalize
    - Builder::SaveTo
    - assert
    - VersionEdit*::EncodeTo
    - leveldb::VersionSet::AppendVersion
    - DeleteFile
    - DescriptorFileName
    - log::Writer::Writer
    - VersionEdit*::SetPrevLogNumber
    - SetCurrentFile
    linkageType: ''
    returnType: Status
    signature: Status VersionSet::LogAndApply(VersionEdit* edit, port::Mutex* mu)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::VersionSet::status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:867,1
    - Dst: ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:873,1
    - Dst: CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:873,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:874,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:877,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:877,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:878,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:880,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:880,1
    - Dst: NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:884,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:885,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:886,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:887,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:888,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:910,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:910,1
    - Dst: VersionEdit::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:912,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:913,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:915,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:916,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:918,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:922,1
    - Dst: Builder::Apply
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:923,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:950,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:952,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:954,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:956,1
    - Dst: leveldb::VersionSet::MarkFileNumberUsed
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:963,1
    - Dst: leveldb::VersionSet::MarkFileNumberUsed
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:964,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:967,1
    - Dst: Version::Version
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:968,1
    - Dst: Builder::SaveTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:969,1
    - Dst: leveldb::VersionSet::Finalize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:971,1
    - Dst: leveldb::VersionSet::AppendVersion
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:972,1
    - Dst: leveldb::VersionSet::ReuseManifest
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:980,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 1
    argNames:
    - save_manifest
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 988
    functionName: leveldb::VersionSet::Recover
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Builder::Apply
    - CurrentFileName
    - leveldb::VersionSet::ReuseManifest
    - std::string::empty
    - NewSequentialFile
    - Status::ToString
    - Status::ok
    - leveldb::VersionSet::MarkFileNumberUsed
    - ReadFileToString
    - leveldb::VersionSet::status::ok
    - leveldb::log::Reader::ReportCorruption
    - leveldb::InvalidArgument
    - Version::Version
    - std::string::resize
    - leveldb::VersionSet::Finalize
    - Builder::SaveTo
    - leveldb::VersionSet::AppendVersion
    - user_comparator
    - std::string::size
    - VersionEdit::DecodeFrom
    - Status::IsNotFound
    - log::Reader::ReadRecord
    linkageType: ''
    returnType: Status
    signature: Status VersionSet::Recover(bool* save_manifest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' s'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 868
    functionName: leveldb::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::status::ok
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& s) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:998,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1000,1
    - Dst: TargetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1002,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1006,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1007,1
    - Dst: NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1008,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1009,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1010,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1010,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1011,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1015,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1015,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1016,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' dscname'
    - ' dscbase'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (descriptor_file_ == nullptr)
      pos:
        line_end: 1005
        line_start: 1005
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (descriptor_log_ == nullptr)
      pos:
        line_end: 1006
        line_start: 1006
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (descriptor_file_ == nullptr)
      pos:
        line_end: 1010
        line_start: 1010
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1019
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1019
    functionName: leveldb::VersionSet::ReuseManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - log::Writer::Writer
    - Log
    - NewAppendableFile
    - TargetFileSize
    - Status::ToString
    - ParseFileName
    - assert
    - c_str
    - Status::ok
    - GetFileSize
    linkageType: ''
    returnType: bool
    signature: "bool VersionSet::ReuseManifest(const std::string& dscname,\n                               const
      std::string& dscbase)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1025
    functionName: leveldb::VersionSet::MarkFileNumberUsed
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionSet::MarkFileNumberUsed(uint64_t number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1046,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1047,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1050,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1052,1
    - Dst: MaxBytesForLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1063
    functionName: leveldb::VersionSet::Finalize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 2
    functionsReached:
    - static_cast<double>
    - TotalFileSize
    - MaxBytesForLevel
    - size
    linkageType: ''
    returnType: void
    signature: void VersionSet::Finalize(Version* v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VersionEdit::SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1070,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1070,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1074,1
    - Dst: InternalKey::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1076,1
    - Dst: VersionEdit::SetCompactPointer
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1077,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1084,1
    - Dst: VersionEdit::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1086,1
    - Dst: VersionEdit::EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1091,1
    - Dst: log::Writer*::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - log
    argTypes:
    - log::Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1093
    functionName: leveldb::VersionSet::WriteSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - empty
    - log::Writer*::AddRecord
    - size
    - InternalKey::DecodeFrom
    - VersionEdit::SetCompactPointer
    - VersionEdit::EncodeTo
    - VersionEdit::SetComparatorName
    - VersionEdit::AddFile
    - user_comparator
    linkageType: ''
    returnType: Status
    signature: Status VersionSet::WriteSnapshot(log::Writer* log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1096,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1097,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 1095
        line_start: 1095
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (level < config::kNumLevels)
      pos:
        line_end: 1096
        line_start: 1096
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1099
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1099
    functionName: leveldb::VersionSet::NumLevelFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - assert
    - size
    linkageType: ''
    returnType: int
    signature: int VersionSet::NumLevelFiles(int level) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1104,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1105,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1106,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1106,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1107,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1107,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1108,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - scratch
    argTypes:
    - LevelSummaryStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1110
    functionName: leveldb::VersionSet::LevelSummary
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - size
    linkageType: ''
    returnType: char
    signature: char * VersionSet::LevelSummary(LevelSummaryStorage* scratch) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1116,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1117,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1120,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1132,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1133,1
    - Dst: Table*::ApproximateOffsetOf
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1135,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - v
    - ' ikey'
    argTypes:
    - Version*
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1142
    functionName: leveldb::VersionSet::ApproximateOffsetOf
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Table*::ApproximateOffsetOf
    - ReadOptions
    - NewIterator
    - size
    - Compare
    - Encode
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VersionSet::ApproximateOffsetOf(Version* v, const InternalKey&
      ikey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1149,1
    - Dst: std::set<uint64_t>*::insert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - live
    argTypes:
    - std::set<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1154
    functionName: leveldb::VersionSet::AddLiveFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - std::set<uint64_t>*::insert
    - size
    linkageType: ''
    returnType: void
    signature: void VersionSet::AddLiveFiles(std::set<uint64_t>* live)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1157,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1158,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 1156
        line_start: 1156
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (level < config::kNumLevels)
      pos:
        line_end: 1157
        line_start: 1157
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1160
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1160
    functionName: leveldb::VersionSet::NumLevelBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TotalFileSize
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t VersionSet::NumLevelBytes(int level) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1166,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1168,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1177
    functionName: leveldb::VersionSet::MaxNextLevelOverlappingBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TotalFileSize
    - GetOverlappingInputs
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t VersionSet::MaxNextLevelOverlappingBytes()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1184,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1184,1
    - Dst: InternalKey*::Clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1185,1
    - Dst: InternalKey*::Clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1186,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1187,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1193,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' inputs'
    - smallest
    - largest
    argTypes:
    - std::vector<FileMetaData*>
    - InternalKey*
    - InternalKey*
    assertStmts:
    - condition: (!inputs.empty())
      pos:
        line_end: 1183
        line_start: 1183
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1201
      start: 1182
    functionDepth: 3
    functionLinenumber: 1182
    functionLinenumberEnd: 1201
    functionName: leveldb::VersionSet::GetRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - empty
    - InternalKey*::Clear
    - size
    - Compare
    - assert
    linkageType: ''
    returnType: void
    signature: "void VersionSet::GetRange(const std::vector<FileMetaData*>& inputs,\n
      \                         InternalKey* smallest, InternalKey* largest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1210,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1210,1
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1210,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1210,1
    - Dst: leveldb::VersionSet::GetRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' inputs1'
    - ' inputs2'
    - smallest
    - largest
    argTypes:
    - std::vector<FileMetaData*>
    - std::vector<FileMetaData*>
    - InternalKey*
    - InternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1206
    functionDepth: 4
    functionLinenumber: 1206
    functionLinenumberEnd: 1212
    functionName: leveldb::VersionSet::GetRange2
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - end
    - std::vector::end
    - std::vector::insert
    - leveldb::VersionSet::GetRange
    - begin
    linkageType: ''
    returnType: void
    signature: "void VersionSet::GetRange2(const std::vector<FileMetaData*>& inputs1,\n
      \                          const std::vector<FileMetaData*>& inputs2,\n                           InternalKey*
      smallest, InternalKey* largest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1222,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1222,1
    - Dst: Iterator::Iterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1223,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1226,1
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1227,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1229,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1230,1
    - Dst: NewTwoLevelIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1235,1
    - Dst: Version::LevelFileNumIterator::LevelFileNumIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1236,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1241,1
    - Dst: NewMergingIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - c
    argTypes:
    - Compaction*
    assertStmts:
    - condition: (num <= space)
      pos:
        line_end: 1240
        line_start: 1240
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1245
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1245
    functionName: leveldb::VersionSet::MakeInputIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - empty
    - Iterator::Iterator
    - Compaction*::level
    - NewIterator
    - size
    - NewTwoLevelIterator
    - NewMergingIterator
    - Version::LevelFileNumIterator::LevelFileNumIterator
    - assert
    linkageType: ''
    returnType: Iterator
    signature: Iterator * VersionSet::MakeInputIterator(Compaction* c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1257,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1258,1
    - Dst: Compaction::Compaction
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1259,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1262,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1264,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1265,1
    - Dst: FileMetaData*::largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1265,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1266,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1270,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1272,1
    - Dst: Compaction::Compaction
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1276,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1277,1
    - Dst: Compaction*::input_version_::Ref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1283,1
    - Dst: leveldb::VersionSet::GetRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1288,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1292,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1293,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1293,1
    - Dst: leveldb::VersionSet::SetupOtherInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 1256
        line_start: 1256
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (level + 1 < config::kNumLevels)
      pos:
        line_end: 1257
        line_start: 1257
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (!c->inputs_[0].empty())
      pos:
        line_end: 1292
        line_start: 1292
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1299
      start: 1247
    functionDepth: 4
    functionLinenumber: 1247
    functionLinenumberEnd: 1299
    functionName: leveldb::VersionSet::PickCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - empty
    - push_back
    - Compaction*::input_version_::Ref
    - leveldb::VersionSet::SetupOtherInputs
    - size
    - FileMetaData*::largest::Encode
    - Compare
    - leveldb::VersionSet::GetRange
    - Compaction::Compaction
    - assert
    - GetOverlappingInputs
    linkageType: ''
    returnType: Compaction
    signature: Compaction * VersionSet::PickCompaction()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1306,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1310,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' icmp'
    - ' files'
    - largest_key
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>
    - InternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1303
    functionDepth: 3
    functionLinenumber: 1303
    functionLinenumberEnd: 1317
    functionName: leveldb::FindLargestKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Compare
    - leveldb::size
    - leveldb::empty
    linkageType: ''
    returnType: bool
    signature: "bool FindLargestKey(const InternalKeyComparator& icmp,\n                    const
      std::vector<FileMetaData*>& files,\n                    InternalKey* largest_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1325,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1327,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1329,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1330,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1330,1
    - Dst: user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1330,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' icmp'
    - ' level_files'
    - ' largest_key'
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1339
    functionName: leveldb::FindSmallestBoundaryFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Compare
    - FileMetaData*::smallest::user_key
    - leveldb::size
    - Comparator*::Compare
    - user_key
    - user_comparator
    linkageType: ''
    returnType: FileMetaData
    signature: "FileMetaData * FindSmallestBoundaryFile(\n    const InternalKeyComparator&
      icmp,\n    const std::vector<FileMetaData*>& level_files,\n    const InternalKey&
      largest_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FindLargestKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1361,1
    - Dst: leveldb::FindSmallestBoundaryFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1368,1
    - Dst: std::vector<FileMetaData*>*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' icmp'
    - ' level_files'
    - compaction_files
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>
    - std::vector<FileMetaData*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1355
    functionDepth: 4
    functionLinenumber: 1355
    functionLinenumberEnd: 1378
    functionName: leveldb::AddBoundaryInputs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::FindSmallestBoundaryFile
    - leveldb::FindLargestKey
    - std::vector<FileMetaData*>*::push_back
    linkageType: ''
    returnType: void
    signature: "void AddBoundaryInputs(const InternalKeyComparator& icmp,\n                       const
      std::vector<FileMetaData*>& level_files,\n                       std::vector<FileMetaData*>*
      compaction_files)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1381,1
    - Dst: AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1384,1
    - Dst: leveldb::VersionSet::GetRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1385,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1387,1
    - Dst: leveldb::VersionSet::GetRange2
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1392,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1396,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1398,1
    - Dst: AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1399,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1400,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1401,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1402,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1403,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1403,1
    - Dst: ExpandedCompactionByteSizeLimit
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1405,1
    - Dst: leveldb::VersionSet::GetRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1407,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1409,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1411,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1411,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1412,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1414,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1414,1
    - Dst: long
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1415,1
    - Dst: long
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1415,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1415,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1416,1
    - Dst: long
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1416,1
    - Dst: long
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1416,1
    - Dst: leveldb::VersionSet::GetRange2
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1421,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1429,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1437,1
    - Dst: Compaction*::edit_::SetCompactPointer
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - Compaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1380
    functionDepth: 5
    functionLinenumber: 1380
    functionLinenumberEnd: 1439
    functionName: leveldb::VersionSet::SetupOtherInputs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - AddBoundaryInputs
    - Compaction*::edit_::SetCompactPointer
    - Encode
    - empty
    - TotalFileSize
    - Compaction*::level
    - size
    - Log
    - leveldb::VersionSet::GetRange
    - long
    - GetOverlappingInputs
    - leveldb::VersionSet::GetRange2
    - std::vector::size
    - ExpandedCompactionByteSizeLimit
    linkageType: ''
    returnType: void
    signature: void VersionSet::SetupOtherInputs(Compaction* c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1444,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1445,1
    - Dst: MaxFileSizeForLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1454,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1456,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1460,1
    - Dst: Compaction::Compaction
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1466,1
    - Dst: Compaction*::input_version_::Ref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1468,1
    - Dst: leveldb::VersionSet::SetupOtherInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - level
    - begin
    - end
    argTypes:
    - int
    - InternalKey*
    - InternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1441
    functionDepth: 6
    functionLinenumber: 1441
    functionLinenumberEnd: 1472
    functionName: leveldb::VersionSet::CompactRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - Compaction*::input_version_::Ref
    - MaxFileSizeForLevel
    - leveldb::VersionSet::SetupOtherInputs
    - Compaction::Compaction
    - std::vector::empty
    - GetOverlappingInputs
    - std::vector::size
    linkageType: ''
    returnType: Compaction
    signature: "Compaction * VersionSet::CompactRange(int level, const InternalKey*
      begin,\n                                     const InternalKey* end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxFileSizeForLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - options
    - level
    argTypes:
    - Options*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1484
    functionName: leveldb::Compaction::Compaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - MaxFileSizeForLevel
    linkageType: ''
    returnType: void
    signature: void Compaction::Compaction(const Options* options, int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1490
    functionName: Compaction::~Compaction()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Unref
    linkageType: ''
    returnType: void
    signature: void Compaction::~Compaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1497,1
    - Dst: leveldb::Compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1497,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1498,1
    - Dst: MaxGrandParentOverlapBytes
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1500
    functionName: leveldb::Compaction::IsTrivialMove
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TotalFileSize
    - leveldb::Compaction::num_input_files
    - MaxGrandParentOverlapBytes
    linkageType: ''
    returnType: bool
    signature: bool Compaction::IsTrivialMove() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1504,1
    - Dst: VersionEdit*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edit
    argTypes:
    - VersionEdit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1508
    functionName: leveldb::Compaction::AddInputDeletions
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - VersionEdit*::DeleteFile
    - size
    linkageType: ''
    returnType: void
    signature: void Compaction::AddInputDeletions(VersionEdit* edit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vset_::icmp_::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1512,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1515,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1517,1
    - Dst: FileMetaData*::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1517,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1519,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' user_key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1510
    functionDepth: 3
    functionLinenumber: 1510
    functionLinenumberEnd: 1529
    functionName: leveldb::Compaction::IsBaseLevelForKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - vset_::icmp_::user_comparator
    - size
    - FileMetaData*::smallest::user_key
    - FileMetaData*::largest::user_key
    - Comparator*::Compare
    linkageType: ''
    returnType: bool
    signature: bool Compaction::IsBaseLevelForKey(const Slice& user_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1535,1
    - Dst: InternalKeyComparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1536,1
    - Dst: largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1537,1
    - Dst: MaxGrandParentOverlapBytes
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' internal_key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1531
    functionDepth: 3
    functionLinenumber: 1531
    functionLinenumberEnd: 1553
    functionName: leveldb::Compaction::ShouldStopBefore
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - largest::Encode
    - InternalKeyComparator*::Compare
    - size
    - MaxGrandParentOverlapBytes
    linkageType: ''
    returnType: bool
    signature: bool Compaction::ShouldStopBefore(const Slice& internal_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1560
    functionName: leveldb::Compaction::ReleaseInputs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Unref
    linkageType: ''
    returnType: void
    signature: void Compaction::ReleaseInputs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: leveldb::TargetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TargetFileSize(const Options* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TargetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: leveldb::MaxGrandParentOverlapBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::TargetFileSize
    linkageType: ''
    returnType: int64_t
    signature: int64_t MaxGrandParentOverlapBytes(const Options* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TargetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: leveldb::ExpandedCompactionByteSizeLimit
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::TargetFileSize
    linkageType: ''
    returnType: int64_t
    signature: int64_t ExpandedCompactionByteSizeLimit(const Options* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - options
    - level
    argTypes:
    - Options*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: leveldb::MaxBytesForLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double MaxBytesForLevel(const Options* options, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TargetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - options
    - level
    argTypes:
    - Options*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: leveldb::MaxFileSizeForLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::TargetFileSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MaxFileSizeForLevel(const Options* options, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' files'
    argTypes:
    - std::vector<FileMetaData*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: leveldb::TotalFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::size
    linkageType: ''
    returnType: int64_t
    signature: int64_t TotalFileSize(const std::vector<FileMetaData*>& files)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:69,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:77,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (refs_ == 0)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (f->refs > 0)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: Version::~Version()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void Version::~Version()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:91,1
    - Dst: InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:95,1
    - Dst: FileMetaData*::largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' icmp'
    - ' files'
    - ' key'
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: leveldb::FindFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - InternalKeyComparator::Compare
    - leveldb::size
    - FileMetaData*::largest::Encode
    linkageType: ''
    returnType: int
    signature: "int FindFile(const InternalKeyComparator& icmp,\n             const
      std::vector<FileMetaData*>& files, const Slice& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:112,1
    - Dst: FileMetaData*::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ucmp
    - user_key
    - f
    argTypes:
    - Comparator*
    - Slice*
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: leveldb::AfterFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - FileMetaData*::largest::user_key
    - Comparator*::Compare
    linkageType: ''
    returnType: bool
    signature: "bool AfterFile(const Comparator* ucmp, const Slice* user_key,\n                      const
      FileMetaData* f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:119,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ucmp
    - user_key
    - f
    argTypes:
    - Comparator*
    - Slice*
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: leveldb::BeforeFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - Comparator*::Compare
    - FileMetaData*::smallest::user_key
    linkageType: ''
    returnType: bool
    signature: "bool BeforeFile(const Comparator* ucmp, const Slice* user_key,\n                       const
      FileMetaData* f)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:127,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:130,1
    - Dst: leveldb::AfterFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:132,1
    - Dst: leveldb::BeforeFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:133,1
    - Dst: leveldb::FindFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:148,1
    - Dst: InternalKey::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:148,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:151,1
    - Dst: leveldb::BeforeFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - ' icmp'
    - disjoint_sorted_files
    - ' files'
    - smallest_user_key
    - largest_user_key
    argTypes:
    - InternalKeyComparator
    - bool
    - std::vector<FileMetaData*>
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 157
    functionName: leveldb::SomeFileOverlapsRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - user_comparator
    - InternalKey::Encode
    - leveldb::FindFile
    - leveldb::size
    - leveldb::AfterFile
    - leveldb::BeforeFile
    linkageType: ''
    returnType: bool
    signature: "bool SomeFileOverlapsRange(const InternalKeyComparator& icmp,\n                           bool
      disjoint_sorted_files,\n                           const std::vector<FileMetaData*>&
      files,\n                           const Slice* smallest_user_key,\n                           const
      Slice* largest_user_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<FileMetaData*>*::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' icmp'
    - flist
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: leveldb::Version::LevelFileNumIterator::LevelFileNumIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - std::vector<FileMetaData*>*::size
    linkageType: ''
    returnType: void
    signature: "void LevelFileNumIterator(const InternalKeyComparator& icmp,\n                       const
      std::vector<FileMetaData*>* flist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: leveldb::Version::LevelFileNumIterator::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 4
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: leveldb::Version::LevelFileNumIterator::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - FindFile
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& target) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: leveldb::Version::LevelFileNumIterator::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:176,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: leveldb::Version::LevelFileNumIterator::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:179,1
    - Dst: leveldb::Version::LevelFileNumIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: leveldb::Version::LevelFileNumIterator::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::LevelFileNumIterator::Valid
    - assert
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:183,1
    - Dst: leveldb::Version::LevelFileNumIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:183,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: leveldb::Version::LevelFileNumIterator::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::LevelFileNumIterator::Valid
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:191,1
    - Dst: leveldb::Version::LevelFileNumIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:191,1
    - Dst: largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: leveldb::Version::LevelFileNumIterator::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::LevelFileNumIterator::Valid
    - assert
    - largest::Encode
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:195,1
    - Dst: leveldb::Version::LevelFileNumIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:195,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:196,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:197,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: leveldb::Version::LevelFileNumIterator::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::LevelFileNumIterator::Valid
    - Slice
    - assert
    - EncodeFixed64
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: leveldb::Version::LevelFileNumIterator::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TableCache*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:213,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:214,1
    - Dst: leveldb::NewErrorIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:215,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:216,1
    - Dst: TableCache*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:218,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:218,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:218,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:219,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - ' options'
    - ' file_value'
    argTypes:
    - void*
    - ReadOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: leveldb::GetFileIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TableCache*::NewIterator
    - leveldb::DecodeFixed64
    - leveldb::log::Reader::ReportCorruption
    - leveldb::data
    - reinterpret_cast<TableCache*>
    - leveldb::NewErrorIterator
    - leveldb::size
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * GetFileIterator(void* arg, const ReadOptions& options,\n
      \                                const Slice& file_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewTwoLevelIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:225,1
    - Dst: LevelFileNumIterator::LevelFileNumIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' options'
    - level
    argTypes:
    - ReadOptions
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: leveldb::Version::NewConcatenatingIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - NewTwoLevelIterator
    - LevelFileNumIterator::LevelFileNumIterator
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * Version::NewConcatenatingIterator(const ReadOptions& options,\n
      \                                           int level) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:233,1
    - Dst: std::vector<Iterator*>*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:234,1
    - Dst: table_cache_::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:234,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:242,1
    - Dst: std::vector<Iterator*>*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:243,1
    - Dst: leveldb::Version::NewConcatenatingIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' options'
    - iters
    argTypes:
    - ReadOptions
    - std::vector<Iterator*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: leveldb::Version::AddIterators
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - table_cache_::NewIterator
    - empty
    - size
    - std::vector<Iterator*>*::push_back
    - leveldb::Version::NewConcatenatingIterator
    linkageType: ''
    returnType: void
    signature: "void Version::AddIterators(const ReadOptions& options,\n                           std::vector<Iterator*>*
      iters)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Saver*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:264,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:266,1
    - Dst: Saver*::ucmp::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:269,1
    - Dst: Saver*::value::assign
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:272,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:272,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - arg
    - ' ikey'
    - ' v'
    argTypes:
    - void*
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: leveldb::SaveValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::ParseInternalKey
    - reinterpret_cast<Saver*>
    - Saver*::value::assign
    - Saver*::ucmp::Compare
    - leveldb::data
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void SaveValue(void* arg, const Slice& ikey, const Slice& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FileMetaData*
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: leveldb::NewestFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NewestFirst(FileMetaData* a, FileMetaData* b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: icmp_::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:284,1
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:288,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:288,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:289,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:291,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:291,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:292,1
    - Dst: FileMetaData*::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:292,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:293,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:296,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:297,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:297,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:297,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:298,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:307,1
    - Dst: FindFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:311,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:314,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:314,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - user_key
    - internal_key
    - arg
    argTypes:
    - Slice
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 323
    functionName: leveldb::Version::ForEachOverlapping
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 2
    functionsReached:
    - std::vector::end
    - std::vector::size
    - FindFile
    - std::vector::reserve
    - size
    - std::vector::push_back
    - std::vector::begin
    - std::vector::empty
    - FileMetaData*::smallest::user_key
    - FileMetaData*::largest::user_key
    - Comparator*::Compare
    - std::sort
    - icmp_::user_comparator
    linkageType: ''
    returnType: void
    signature: "void Version::ForEachOverlapping(Slice user_key, Slice internal_key,
      void* arg,\n                                 bool (*func)(void*, int, FileMetaData*))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:343,1
    - Dst: State*::vset::table_cache_::Get
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:355,1
    - Dst: State*::s::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:358,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:372,1
    - Dst: internal_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:390,1
    - Dst: icmp_::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:394,1
    - Dst: user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:395,1
    - Dst: leveldb::Version::ForEachOverlapping
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:398,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:400,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 4
    argNames:
    - ' options'
    - ' k'
    - value
    - stats
    argTypes:
    - ReadOptions
    - LookupKey
    - std::string*
    - GetStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 401
    functionName: leveldb::Version::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<State*>
    - Slice
    - State*::vset::table_cache_::Get
    - node::TxDownloadManager::ReceivedNotFound
    - internal_key
    - leveldb::log::Reader::ReportCorruption
    - leveldb::Version::ForEachOverlapping
    - State*::s::ok
    - user_key
    - icmp_::user_comparator
    linkageType: ''
    returnType: Status
    signature: "Status Version::Get(const ReadOptions& options, const LookupKey& k,\n
      \                   std::string* value, GetStats* stats)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:343,1
    - Dst: State*::vset::table_cache_::Get
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:355,1
    - Dst: State*::s::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:358,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - arg
    - level
    - f
    argTypes:
    - void*
    - int
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 380
    functionName: leveldb::Match
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - State*::s::ok
    - reinterpret_cast<State*>
    - leveldb::log::Reader::ReportCorruption
    - State*::vset::table_cache_::Get
    linkageType: ''
    returnType: bool
    signature: bool Match(void* arg, int level, FileMetaData* f)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - GetStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: leveldb::Version::UpdateStats
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Version::UpdateStats(const GetStats& stats)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:418,1
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:427,1
    - Dst: leveldb::Version::ForEachOverlapping
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:441,1
    - Dst: leveldb::Version::UpdateStats
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - internal_key
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 452
    functionName: leveldb::Version::RecordReadSample
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::Version::ForEachOverlapping
    - reinterpret_cast<State*>
    - ParseInternalKey
    - leveldb::Version::UpdateStats
    linkageType: ''
    returnType: bool
    signature: bool Version::RecordReadSample(Slice internal_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - level
    - f
    argTypes:
    - void*
    - int
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: leveldb::Match
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<State*>
    linkageType: ''
    returnType: bool
    signature: bool Match(void* arg, int level, FileMetaData* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: leveldb::Version::Ref
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version::Ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:457,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (this != &vset_->dummy_versions_)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (refs_ >= 1)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: leveldb::Version::Unref
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void Version::Unref()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SomeFileOverlapsRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - smallest_user_key
    - largest_user_key
    argTypes:
    - int
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: leveldb::Version::OverlapInLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - SomeFileOverlapsRange
    linkageType: ''
    returnType: bool
    signature: "bool Version::OverlapInLevel(int level, const Slice* smallest_user_key,\n
      \                            const Slice* largest_user_key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Version::OverlapInLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:474,1
    - Dst: static_cast<ValueType>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:478,1
    - Dst: leveldb::Version::OverlapInLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:481,1
    - Dst: leveldb::Version::GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:486,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:487,1
    - Dst: MaxGrandParentOverlapBytes
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ' smallest_user_key'
    - ' largest_user_key'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 496
    functionName: leveldb::Version::PickLevelForMemTableOutput
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TotalFileSize
    - leveldb::Version::GetOverlappingInputs
    - MaxGrandParentOverlapBytes
    - static_cast<ValueType>
    - leveldb::Version::OverlapInLevel
    linkageType: ''
    returnType: int
    signature: "int Version::PickLevelForMemTableOutput(const Slice& smallest_user_key,\n
      \                                       const Slice& largest_user_key)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:502,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:503,1
    - Dst: std::vector<FileMetaData*>*::clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:504,1
    - Dst: InternalKey*::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:507,1
    - Dst: InternalKey*::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:510,1
    - Dst: icmp_::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:512,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:513,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:515,1
    - Dst: FileMetaData*::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:516,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:517,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:519,1
    - Dst: std::vector<FileMetaData*>*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:522,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:526,1
    - Dst: std::vector<FileMetaData*>*::clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:528,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:531,1
    - Dst: std::vector<FileMetaData*>*::clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:533,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - level
    - begin
    - end
    - inputs
    argTypes:
    - int
    - InternalKey*
    - InternalKey*
    - std::vector<FileMetaData*>*
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (level < config::kNumLevels)
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 539
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 539
    functionName: leveldb::Version::GetOverlappingInputs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 2
    functionsReached:
    - std::vector<FileMetaData*>*::clear
    - std::vector<FileMetaData*>*::push_back
    - size
    - InternalKey*::user_key
    - FileMetaData*::smallest::user_key
    - Comparator*::Compare
    - FileMetaData*::largest::user_key
    - assert
    - icmp_::user_comparator
    linkageType: ''
    returnType: void
    signature: "void Version::GetOverlappingInputs(int level, const InternalKey* begin,\n
      \                                  const InternalKey* end,\n                                   std::vector<FileMetaData*>*
      inputs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:548,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:549,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:550,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:552,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:553,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:554,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:555,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:556,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:557,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:558,1
    - Dst: smallest::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:558,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:559,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:560,1
    - Dst: largest::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:560,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 565
    functionName: leveldb::Version::DebugString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - largest::DebugString
    - size
    - std::string::push_back
    - std::string::append
    - AppendNumberTo
    - smallest::DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string Version::DebugString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f1
    - f2
    argTypes:
    - FileMetaData*
    - FileMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 584
    functionName: operator()(FileMetaData* f1, FileMetaData* f2) const
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator()(FileMetaData* f1, FileMetaData* f2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:600,1
    - Dst: FileSet::FileSet
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vset
    - base
    argTypes:
    - VersionSet*
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: leveldb::VersionSet::Builder::Builder
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Ref
    - FileSet::FileSet
    linkageType: ''
    returnType: void
    signature: void Builder(VersionSet* vset, Version* base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:612,1
    - Dst: FileSet*::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:612,1
    - Dst: FileSet*::begin
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:613,1
    - Dst: FileSet*::end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:613,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:615,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:618,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 627
    functionName: ~Builder()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - FileSet*::size
    - std::vector::reserve
    - Unref
    - FileSet*::end
    - std::vector::push_back
    - std::vector::size
    - FileSet*::begin
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VersionEdit*::compact_pointers_::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:632,1
    - Dst: second::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:635,1
    - Dst: deleted_files::insert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:642,1
    - Dst: VersionEdit*::new_files_::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:646,1
    - Dst: FileMetaData::FileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:648,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:664,1
    - Dst: deleted_files::erase
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:667,1
    - Dst: added_files::insert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - edit
    argTypes:
    - VersionEdit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 670
    functionName: leveldb::VersionSet::Builder::Apply
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - VersionEdit*::compact_pointers_::size
    - FileMetaData::FileMetaData
    - static_cast<int>
    - second::Encode
    - VersionEdit*::new_files_::size
    - deleted_files::erase
    - deleted_files::insert
    - added_files::insert
    linkageType: ''
    returnType: void
    signature: void Apply(VersionEdit* edit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:680,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:681,1
    - Dst: reserve
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:683,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:683,1
    - Dst: FileSet*::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:683,1
    - Dst: std::upper_bound
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:687,1
    - Dst: leveldb::VersionSet::Builder::MaybeAddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:689,1
    - Dst: leveldb::VersionSet::Builder::MaybeAddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:692,1
    - Dst: leveldb::VersionSet::Builder::MaybeAddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:697,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:703,1
    - Dst: icmp_::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:706,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:707,1
    - Dst: DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:708,1
    - Dst: DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:709,1
    - Dst: abort
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - v
    argTypes:
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 673
    functionDepth: 4
    functionLinenumber: 673
    functionLinenumberEnd: 716
    functionName: leveldb::VersionSet::Builder::SaveTo
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - end
    - reserve
    - abort
    - DebugString
    - FileSet*::size
    - size
    - icmp_::Compare
    - fprintf
    - std::upper_bound
    - leveldb::VersionSet::Builder::MaybeAddFile
    - begin
    linkageType: ''
    returnType: void
    signature: void SaveTo(Version* v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deleted_files::count
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:719,1
    - Dst: std::vector*::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:723,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:725,1
    - Dst: icmp_::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:725,1
    - Dst: std::vector*::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:725,1
    - Dst: std::vector*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - v
    - level
    - f
    argTypes:
    - Version*
    - int
    - FileMetaData*
    assertStmts:
    - condition: "(vset_->icmp_.Compare((*files)[files->size() - 1]->largest,\n                                    f->smallest)
        < 0)"
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 731
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 731
    functionName: leveldb::VersionSet::Builder::MaybeAddFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 2
    functionsReached:
    - deleted_files::count
    - icmp_::Compare
    - std::vector*::empty
    - std::vector*::push_back
    - assert
    - std::vector*::size
    linkageType: ''
    returnType: void
    signature: void MaybeAddFile(Version* v, int level, FileMetaData* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::VersionSet::AppendVersion
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:751,1
    - Dst: Version::Version
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' dbname'
    - options
    - table_cache
    - cmp
    argTypes:
    - std::string
    - Options*
    - TableCache*
    - InternalKeyComparator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 752
    functionName: leveldb::VersionSet::VersionSet
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Version::Version
    - leveldb::VersionSet::AppendVersion
    linkageType: ''
    returnType: void
    signature: "void VersionSet::VersionSet(const std::string& dbname, const Options*
      options,\n                       TableCache* table_cache,\n                       const
      InternalKeyComparator* cmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:755,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dummy_versions_.next_ == &dummy_versions_)
      pos:
        line_end: 755
        line_start: 755
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 759
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 759
    functionName: VersionSet::~VersionSet()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - assert
    - Unref
    linkageType: ''
    returnType: void
    signature: void VersionSet::~VersionSet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:763,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:764,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:766,1
    - Dst: Version*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - v
    argTypes:
    - Version*
    assertStmts:
    - condition: (v->refs_ == 0)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (v != current_)
      pos:
        line_end: 763
        line_start: 763
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 776
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 776
    functionName: leveldb::VersionSet::AppendVersion
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 4
    functionsReached:
    - assert
    - Version*::Ref
    - Unref
    linkageType: ''
    returnType: void
    signature: void VersionSet::AppendVersion(Version* v)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:780,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:781,1
    - Dst: VersionEdit*::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:783,1
    - Dst: VersionEdit*::SetPrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:787,1
    - Dst: VersionEdit*::SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:790,1
    - Dst: VersionEdit*::SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:791,1
    - Dst: Version::Version
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:793,1
    - Dst: Builder::Apply
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:796,1
    - Dst: Builder::SaveTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:797,1
    - Dst: leveldb::VersionSet::Finalize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:799,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:808,1
    - Dst: DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:809,1
    - Dst: VersionEdit*::SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:810,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:811,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:812,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:813,1
    - Dst: leveldb::VersionSet::WriteSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:814,1
    - Dst: port::Mutex*::Unlock
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:820,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:823,1
    - Dst: VersionEdit*::EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:825,1
    - Dst: AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:826,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:827,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:828,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:830,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:831,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:831,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:837,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:837,1
    - Dst: SetCurrentFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:838,1
    - Dst: port::Mutex*::Lock
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:841,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:845,1
    - Dst: leveldb::VersionSet::AppendVersion
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:846,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:851,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:856,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 2
    argNames:
    - edit
    - mu
    argTypes:
    - VersionEdit*
    - port::Mutex*
    assertStmts:
    - condition: (edit->log_number_ >= log_number_)
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (edit->log_number_ < next_file_number_)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (descriptor_file_ == nullptr)
      pos:
        line_end: 807
        line_start: 807
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 861
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 861
    functionName: leveldb::VersionSet::LogAndApply
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::VersionSet::WriteSnapshot
    - AddRecord
    - Builder::Apply
    - std::string::empty
    - port::Mutex*::Unlock
    - NewWritableFile
    - Status::ToString
    - Status::ok
    - VersionEdit*::SetNextFile
    - Version::Version
    - VersionEdit*::SetLogNumber
    - VersionEdit*::SetLastSequence
    - port::Mutex*::Lock
    - Sync
    - Log
    - leveldb::VersionSet::Finalize
    - Builder::SaveTo
    - assert
    - VersionEdit*::EncodeTo
    - leveldb::VersionSet::AppendVersion
    - DeleteFile
    - DescriptorFileName
    - log::Writer::Writer
    - VersionEdit*::SetPrevLogNumber
    - SetCurrentFile
    linkageType: ''
    returnType: Status
    signature: Status VersionSet::LogAndApply(VersionEdit* edit, port::Mutex* mu)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::VersionSet::status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:867,1
    - Dst: ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:873,1
    - Dst: CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:873,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:874,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:877,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:877,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:878,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:880,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:880,1
    - Dst: NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:884,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:885,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:886,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:887,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:888,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:910,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:910,1
    - Dst: VersionEdit::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:912,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:913,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:915,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:916,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:918,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:922,1
    - Dst: Builder::Apply
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:923,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:950,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:952,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:954,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:956,1
    - Dst: leveldb::VersionSet::MarkFileNumberUsed
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:963,1
    - Dst: leveldb::VersionSet::MarkFileNumberUsed
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:964,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:967,1
    - Dst: Version::Version
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:968,1
    - Dst: Builder::SaveTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:969,1
    - Dst: leveldb::VersionSet::Finalize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:971,1
    - Dst: leveldb::VersionSet::AppendVersion
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:972,1
    - Dst: leveldb::VersionSet::ReuseManifest
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:980,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 1
    argNames:
    - save_manifest
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 988
    functionName: leveldb::VersionSet::Recover
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Builder::Apply
    - CurrentFileName
    - leveldb::VersionSet::ReuseManifest
    - std::string::empty
    - NewSequentialFile
    - Status::ToString
    - Status::ok
    - leveldb::VersionSet::MarkFileNumberUsed
    - ReadFileToString
    - leveldb::VersionSet::status::ok
    - leveldb::log::Reader::ReportCorruption
    - leveldb::InvalidArgument
    - Version::Version
    - std::string::resize
    - leveldb::VersionSet::Finalize
    - Builder::SaveTo
    - leveldb::VersionSet::AppendVersion
    - user_comparator
    - std::string::size
    - VersionEdit::DecodeFrom
    - Status::IsNotFound
    - log::Reader::ReadRecord
    linkageType: ''
    returnType: Status
    signature: Status VersionSet::Recover(bool* save_manifest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' s'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 868
    functionName: leveldb::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::status::ok
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& s) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:998,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1000,1
    - Dst: TargetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1002,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1006,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1007,1
    - Dst: NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1008,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1009,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1010,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1010,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1011,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1015,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1015,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1016,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' dscname'
    - ' dscbase'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (descriptor_file_ == nullptr)
      pos:
        line_end: 1005
        line_start: 1005
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (descriptor_log_ == nullptr)
      pos:
        line_end: 1006
        line_start: 1006
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (descriptor_file_ == nullptr)
      pos:
        line_end: 1010
        line_start: 1010
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1019
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1019
    functionName: leveldb::VersionSet::ReuseManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 2
    functionsReached:
    - log::Writer::Writer
    - Log
    - NewAppendableFile
    - TargetFileSize
    - Status::ToString
    - ParseFileName
    - assert
    - c_str
    - Status::ok
    - GetFileSize
    linkageType: ''
    returnType: bool
    signature: "bool VersionSet::ReuseManifest(const std::string& dscname,\n                               const
      std::string& dscbase)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1025
    functionName: leveldb::VersionSet::MarkFileNumberUsed
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionSet::MarkFileNumberUsed(uint64_t number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1046,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1047,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1050,1
    - Dst: static_cast<double>
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1052,1
    - Dst: MaxBytesForLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1063
    functionName: leveldb::VersionSet::Finalize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 4
    functionsReached:
    - static_cast<double>
    - TotalFileSize
    - MaxBytesForLevel
    - size
    linkageType: ''
    returnType: void
    signature: void VersionSet::Finalize(Version* v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VersionEdit::SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1070,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1070,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1074,1
    - Dst: InternalKey::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1076,1
    - Dst: VersionEdit::SetCompactPointer
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1077,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1084,1
    - Dst: VersionEdit::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1086,1
    - Dst: VersionEdit::EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1091,1
    - Dst: log::Writer*::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - log
    argTypes:
    - log::Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1093
    functionName: leveldb::VersionSet::WriteSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 2
    functionsReached:
    - empty
    - log::Writer*::AddRecord
    - size
    - InternalKey::DecodeFrom
    - VersionEdit::SetCompactPointer
    - VersionEdit::EncodeTo
    - VersionEdit::SetComparatorName
    - VersionEdit::AddFile
    - user_comparator
    linkageType: ''
    returnType: Status
    signature: Status VersionSet::WriteSnapshot(log::Writer* log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1096,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1097,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 1095
        line_start: 1095
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (level < config::kNumLevels)
      pos:
        line_end: 1096
        line_start: 1096
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1099
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1099
    functionName: leveldb::VersionSet::NumLevelFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - assert
    - size
    linkageType: ''
    returnType: int
    signature: int VersionSet::NumLevelFiles(int level) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1104,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1105,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1106,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1106,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1107,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1107,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1108,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - scratch
    argTypes:
    - LevelSummaryStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1110
    functionName: leveldb::VersionSet::LevelSummary
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - size
    linkageType: ''
    returnType: char
    signature: char * VersionSet::LevelSummary(LevelSummaryStorage* scratch) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1116,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1117,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1120,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1132,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1133,1
    - Dst: Table*::ApproximateOffsetOf
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1135,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - v
    - ' ikey'
    argTypes:
    - Version*
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1142
    functionName: leveldb::VersionSet::ApproximateOffsetOf
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Table*::ApproximateOffsetOf
    - ReadOptions
    - NewIterator
    - size
    - Compare
    - Encode
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VersionSet::ApproximateOffsetOf(Version* v, const InternalKey&
      ikey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1149,1
    - Dst: std::set<uint64_t>*::insert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - live
    argTypes:
    - std::set<uint64_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1154
    functionName: leveldb::VersionSet::AddLiveFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - std::set<uint64_t>*::insert
    - size
    linkageType: ''
    returnType: void
    signature: void VersionSet::AddLiveFiles(std::set<uint64_t>* live)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1157,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1158,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 1156
        line_start: 1156
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (level < config::kNumLevels)
      pos:
        line_end: 1157
        line_start: 1157
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1160
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1160
    functionName: leveldb::VersionSet::NumLevelBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TotalFileSize
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t VersionSet::NumLevelBytes(int level) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1166,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1168,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1177
    functionName: leveldb::VersionSet::MaxNextLevelOverlappingBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TotalFileSize
    - GetOverlappingInputs
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t VersionSet::MaxNextLevelOverlappingBytes()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1184,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1184,1
    - Dst: InternalKey*::Clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1185,1
    - Dst: InternalKey*::Clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1186,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1187,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1193,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' inputs'
    - smallest
    - largest
    argTypes:
    - std::vector<FileMetaData*>
    - InternalKey*
    - InternalKey*
    assertStmts:
    - condition: (!inputs.empty())
      pos:
        line_end: 1183
        line_start: 1183
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1201
      start: 1182
    functionDepth: 3
    functionLinenumber: 1182
    functionLinenumberEnd: 1201
    functionName: leveldb::VersionSet::GetRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 3
    functionsReached:
    - empty
    - InternalKey*::Clear
    - size
    - Compare
    - assert
    linkageType: ''
    returnType: void
    signature: "void VersionSet::GetRange(const std::vector<FileMetaData*>& inputs,\n
      \                         InternalKey* smallest, InternalKey* largest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1210,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1210,1
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1210,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1210,1
    - Dst: leveldb::VersionSet::GetRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' inputs1'
    - ' inputs2'
    - smallest
    - largest
    argTypes:
    - std::vector<FileMetaData*>
    - std::vector<FileMetaData*>
    - InternalKey*
    - InternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1206
    functionDepth: 4
    functionLinenumber: 1206
    functionLinenumberEnd: 1212
    functionName: leveldb::VersionSet::GetRange2
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - end
    - std::vector::end
    - std::vector::insert
    - leveldb::VersionSet::GetRange
    - begin
    linkageType: ''
    returnType: void
    signature: "void VersionSet::GetRange2(const std::vector<FileMetaData*>& inputs1,\n
      \                          const std::vector<FileMetaData*>& inputs2,\n                           InternalKey*
      smallest, InternalKey* largest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1222,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1222,1
    - Dst: Iterator::Iterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1223,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1226,1
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1227,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1229,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1230,1
    - Dst: NewTwoLevelIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1235,1
    - Dst: Version::LevelFileNumIterator::LevelFileNumIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1236,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1241,1
    - Dst: NewMergingIterator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - c
    argTypes:
    - Compaction*
    assertStmts:
    - condition: (num <= space)
      pos:
        line_end: 1240
        line_start: 1240
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1245
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1245
    functionName: leveldb::VersionSet::MakeInputIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - empty
    - Iterator::Iterator
    - Compaction*::level
    - NewIterator
    - size
    - NewTwoLevelIterator
    - NewMergingIterator
    - Version::LevelFileNumIterator::LevelFileNumIterator
    - assert
    linkageType: ''
    returnType: Iterator
    signature: Iterator * VersionSet::MakeInputIterator(Compaction* c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1257,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1258,1
    - Dst: Compaction::Compaction
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1259,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1262,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1264,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1265,1
    - Dst: FileMetaData*::largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1265,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1266,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1270,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1272,1
    - Dst: Compaction::Compaction
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1276,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1277,1
    - Dst: Compaction*::input_version_::Ref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1283,1
    - Dst: leveldb::VersionSet::GetRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1288,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1292,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1293,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1293,1
    - Dst: leveldb::VersionSet::SetupOtherInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 1256
        line_start: 1256
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (level + 1 < config::kNumLevels)
      pos:
        line_end: 1257
        line_start: 1257
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    - condition: (!c->inputs_[0].empty())
      pos:
        line_end: 1292
        line_start: 1292
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.cc
    constantsTouched: []
    func_position:
      end: 1299
      start: 1247
    functionDepth: 6
    functionLinenumber: 1247
    functionLinenumberEnd: 1299
    functionName: leveldb::VersionSet::PickCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - empty
    - push_back
    - Compaction*::input_version_::Ref
    - leveldb::VersionSet::SetupOtherInputs
    - size
    - FileMetaData*::largest::Encode
    - Compare
    - leveldb::VersionSet::GetRange
    - Compaction::Compaction
    - assert
    - GetOverlappingInputs
    linkageType: ''
    returnType: Compaction
    signature: Compaction * VersionSet::PickCompaction()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1306,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1310,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' icmp'
    - ' files'
    - largest_key
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>
    - InternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1303
    functionDepth: 3
    functionLinenumber: 1303
    functionLinenumberEnd: 1317
    functionName: leveldb::FindLargestKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - Compare
    - leveldb::size
    - leveldb::empty
    linkageType: ''
    returnType: bool
    signature: "bool FindLargestKey(const InternalKeyComparator& icmp,\n                    const
      std::vector<FileMetaData*>& files,\n                    InternalKey* largest_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1325,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1327,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1329,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1330,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1330,1
    - Dst: user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1330,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' icmp'
    - ' level_files'
    - ' largest_key'
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1339
    functionName: leveldb::FindSmallestBoundaryFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 1
    functionsReached:
    - Compare
    - FileMetaData*::smallest::user_key
    - leveldb::size
    - Comparator*::Compare
    - user_key
    - user_comparator
    linkageType: ''
    returnType: FileMetaData
    signature: "FileMetaData * FindSmallestBoundaryFile(\n    const InternalKeyComparator&
      icmp,\n    const std::vector<FileMetaData*>& level_files,\n    const InternalKey&
      largest_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FindLargestKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1361,1
    - Dst: leveldb::FindSmallestBoundaryFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1368,1
    - Dst: std::vector<FileMetaData*>*::push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' icmp'
    - ' level_files'
    - compaction_files
    argTypes:
    - InternalKeyComparator
    - std::vector<FileMetaData*>
    - std::vector<FileMetaData*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1355
    functionDepth: 4
    functionLinenumber: 1355
    functionLinenumberEnd: 1378
    functionName: leveldb::AddBoundaryInputs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - leveldb::FindSmallestBoundaryFile
    - leveldb::FindLargestKey
    - std::vector<FileMetaData*>*::push_back
    linkageType: ''
    returnType: void
    signature: "void AddBoundaryInputs(const InternalKeyComparator& icmp,\n                       const
      std::vector<FileMetaData*>& level_files,\n                       std::vector<FileMetaData*>*
      compaction_files)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1381,1
    - Dst: AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1384,1
    - Dst: leveldb::VersionSet::GetRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1385,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1387,1
    - Dst: leveldb::VersionSet::GetRange2
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1392,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1396,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1398,1
    - Dst: AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1399,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1400,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1401,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1402,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1403,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1403,1
    - Dst: ExpandedCompactionByteSizeLimit
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1405,1
    - Dst: leveldb::VersionSet::GetRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1407,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1409,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1411,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1411,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1412,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1414,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1414,1
    - Dst: long
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1415,1
    - Dst: long
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1415,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1415,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1416,1
    - Dst: long
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1416,1
    - Dst: long
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1416,1
    - Dst: leveldb::VersionSet::GetRange2
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1421,1
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1429,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1437,1
    - Dst: Compaction*::edit_::SetCompactPointer
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - Compaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1380
    functionDepth: 5
    functionLinenumber: 1380
    functionLinenumberEnd: 1439
    functionName: leveldb::VersionSet::SetupOtherInputs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 3
    functionsReached:
    - AddBoundaryInputs
    - Compaction*::edit_::SetCompactPointer
    - Encode
    - empty
    - TotalFileSize
    - Compaction*::level
    - size
    - Log
    - leveldb::VersionSet::GetRange
    - long
    - GetOverlappingInputs
    - leveldb::VersionSet::GetRange2
    - std::vector::size
    - ExpandedCompactionByteSizeLimit
    linkageType: ''
    returnType: void
    signature: void VersionSet::SetupOtherInputs(Compaction* c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetOverlappingInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1444,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1445,1
    - Dst: MaxFileSizeForLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1454,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1456,1
    - Dst: std::vector::resize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1460,1
    - Dst: Compaction::Compaction
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1466,1
    - Dst: Compaction*::input_version_::Ref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1468,1
    - Dst: leveldb::VersionSet::SetupOtherInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - level
    - begin
    - end
    argTypes:
    - int
    - InternalKey*
    - InternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1441
    functionDepth: 6
    functionLinenumber: 1441
    functionLinenumberEnd: 1472
    functionName: leveldb::VersionSet::CompactRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - Compaction*::input_version_::Ref
    - MaxFileSizeForLevel
    - leveldb::VersionSet::SetupOtherInputs
    - Compaction::Compaction
    - std::vector::empty
    - GetOverlappingInputs
    - std::vector::size
    linkageType: ''
    returnType: Compaction
    signature: "Compaction * VersionSet::CompactRange(int level, const InternalKey*
      begin,\n                                     const InternalKey* end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxFileSizeForLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - options
    - level
    argTypes:
    - Options*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1484
    functionName: leveldb::Compaction::Compaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - MaxFileSizeForLevel
    linkageType: ''
    returnType: void
    signature: void Compaction::Compaction(const Options* options, int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1490
    functionName: Compaction::~Compaction()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Unref
    linkageType: ''
    returnType: void
    signature: void Compaction::~Compaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1497,1
    - Dst: leveldb::Compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1497,1
    - Dst: TotalFileSize
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1498,1
    - Dst: MaxGrandParentOverlapBytes
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1500
    functionName: leveldb::Compaction::IsTrivialMove
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - TotalFileSize
    - leveldb::Compaction::num_input_files
    - MaxGrandParentOverlapBytes
    linkageType: ''
    returnType: bool
    signature: bool Compaction::IsTrivialMove() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1504,1
    - Dst: VersionEdit*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edit
    argTypes:
    - VersionEdit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1508
    functionName: leveldb::Compaction::AddInputDeletions
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - VersionEdit*::DeleteFile
    - size
    linkageType: ''
    returnType: void
    signature: void Compaction::AddInputDeletions(VersionEdit* edit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vset_::icmp_::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1512,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1515,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1517,1
    - Dst: FileMetaData*::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1517,1
    - Dst: Comparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1519,1
    - Dst: FileMetaData*::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' user_key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1510
    functionDepth: 3
    functionLinenumber: 1510
    functionLinenumberEnd: 1529
    functionName: leveldb::Compaction::IsBaseLevelForKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - vset_::icmp_::user_comparator
    - size
    - FileMetaData*::smallest::user_key
    - FileMetaData*::largest::user_key
    - Comparator*::Compare
    linkageType: ''
    returnType: bool
    signature: bool Compaction::IsBaseLevelForKey(const Slice& user_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1535,1
    - Dst: InternalKeyComparator*::Compare
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1536,1
    - Dst: largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1537,1
    - Dst: MaxGrandParentOverlapBytes
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' internal_key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1531
    functionDepth: 3
    functionLinenumber: 1531
    functionLinenumberEnd: 1553
    functionName: leveldb::Compaction::ShouldStopBefore
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - largest::Encode
    - InternalKeyComparator*::Compare
    - size
    - MaxGrandParentOverlapBytes
    linkageType: ''
    returnType: bool
    signature: bool Compaction::ShouldStopBefore(const Slice& internal_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/version_set.cc:1557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1560
    functionName: leveldb::Compaction::ReleaseInputs
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.cc
    functionUses: 0
    functionsReached:
    - Unref
    linkageType: ''
    returnType: void
    signature: void Compaction::ReleaseInputs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sequence_number
    argTypes:
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: leveldb::SnapshotImpl::SnapshotImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapshotImpl(SequenceNumber sequence_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: leveldb::SnapshotImpl::sequence_number
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SequenceNumber
    signature: SequenceNumber sequence_number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: leveldb::SnapshotList::SnapshotList
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapshotList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: leveldb::SnapshotList::empty
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:48,1
    - Dst: leveldb::SnapshotList::empty
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!empty())
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/leveldb/db/snapshot.h
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: leveldb::SnapshotList::oldest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::SnapshotList::empty
    linkageType: ''
    returnType: SnapshotImpl
    signature: SnapshotImpl * oldest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:52,1
    - Dst: leveldb::SnapshotList::empty
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!empty())
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/leveldb/db/snapshot.h
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: leveldb::SnapshotList::newest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::SnapshotList::empty
    linkageType: ''
    returnType: SnapshotImpl
    signature: SnapshotImpl * newest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:58,1
    - Dst: leveldb::SnapshotList::empty
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:58,1
    - Dst: leveldb::SnapshotList::newest
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:58,1
    - Dst: SnapshotImpl::SnapshotImpl
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sequence_number
    argTypes:
    - SequenceNumber
    assertStmts:
    - condition: (empty() || newest()->sequence_number_ <= sequence_number)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/leveldb/db/snapshot.h
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: leveldb::SnapshotList::New
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::SnapshotList::empty
    - SnapshotImpl::SnapshotImpl
    - leveldb::SnapshotList::newest
    linkageType: ''
    returnType: SnapshotImpl
    signature: SnapshotImpl * New(SequenceNumber sequence_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - snapshot
    argTypes:
    - SnapshotImpl*
    assertStmts:
    - condition: (snapshot->list_ == this)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bitcoin-core/src/leveldb/db/snapshot.h
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: leveldb::SnapshotList::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void Delete(const SnapshotImpl* snapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sequence_number
    argTypes:
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: leveldb::SnapshotImpl::SnapshotImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapshotImpl(SequenceNumber sequence_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: leveldb::SnapshotImpl::sequence_number
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SequenceNumber
    signature: SequenceNumber sequence_number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: leveldb::SnapshotList::SnapshotList
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapshotList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: leveldb::SnapshotList::empty
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:48,1
    - Dst: leveldb::SnapshotList::empty
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!empty())
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/leveldb/db/snapshot.h
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: leveldb::SnapshotList::oldest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::SnapshotList::empty
    linkageType: ''
    returnType: SnapshotImpl
    signature: SnapshotImpl * oldest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:52,1
    - Dst: leveldb::SnapshotList::empty
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!empty())
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/leveldb/db/snapshot.h
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: leveldb::SnapshotList::newest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 1
    functionsReached:
    - assert
    - leveldb::SnapshotList::empty
    linkageType: ''
    returnType: SnapshotImpl
    signature: SnapshotImpl * newest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:58,1
    - Dst: leveldb::SnapshotList::empty
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:58,1
    - Dst: leveldb::SnapshotList::newest
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:58,1
    - Dst: SnapshotImpl::SnapshotImpl
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sequence_number
    argTypes:
    - SequenceNumber
    assertStmts:
    - condition: (empty() || newest()->sequence_number_ <= sequence_number)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/leveldb/db/snapshot.h
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: leveldb::SnapshotList::New
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::SnapshotList::empty
    - SnapshotImpl::SnapshotImpl
    - leveldb::SnapshotList::newest
    linkageType: ''
    returnType: SnapshotImpl
    signature: SnapshotImpl * New(SequenceNumber sequence_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/snapshot.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - snapshot
    argTypes:
    - SnapshotImpl*
    assertStmts:
    - condition: (snapshot->list_ == this)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bitcoin-core/src/leveldb/db/snapshot.h
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: leveldb::SnapshotList::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/snapshot.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void Delete(const SnapshotImpl* snapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::MemTable::MemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemTable(const MemTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const MemTable&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemTable
    signature: MemTable & operator=(const MemTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: leveldb::MemTable::Ref
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/memtable.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (refs_ >= 0)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/leveldb/db/memtable.h
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: leveldb::MemTable::Unref
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void Unref()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - InternalKeyComparator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: leveldb::MemTable::KeyComparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyComparator(const InternalKeyComparator& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::MemTable::MemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemTable(const MemTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const MemTable&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemTable
    signature: MemTable & operator=(const MemTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: leveldb::MemTable::Ref
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/memtable.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (refs_ >= 0)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bitcoin-core/src/leveldb/db/memtable.h
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: leveldb::MemTable::Unref
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void Unref()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - InternalKeyComparator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: leveldb::MemTable::KeyComparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyComparator(const InternalKeyComparator& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: leveldb::DBImpl::DBImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBImpl(const DBImpl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const DBImpl&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DBImpl
    signature: DBImpl & operator=(const DBImpl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: leveldb::DBImpl::CompactionStats
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompactionStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CompactionStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: leveldb::DBImpl::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Add(const CompactionStats& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: leveldb::DBImpl::user_comparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 1
    functionsReached:
    - leveldb::DBImpl::user_comparator
    linkageType: ''
    returnType: Comparator
    signature: Comparator * user_comparator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: leveldb::DBImpl::DBImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DBImpl(const DBImpl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const DBImpl&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DBImpl
    signature: DBImpl & operator=(const DBImpl&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: leveldb::DBImpl::CompactionStats
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompactionStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CompactionStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: leveldb::DBImpl::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Add(const CompactionStats& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: leveldb::DBImpl::user_comparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.h
    functionUses: 2
    functionsReached:
    - leveldb::DBImpl::user_comparator
    linkageType: ''
    returnType: Comparator
    signature: Comparator * user_comparator() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:27,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - type
    argTypes:
    - std::string
    - FileType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: leveldb::GuessType
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::ParseFileName
    - rfind
    - std::string
    - leveldb::data
    - leveldb::size
    linkageType: ''
    returnType: bool
    signature: bool GuessType(const std::string& fname, FileType* type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:43,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:45,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:46,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bytes
    - ' status'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: leveldb::CorruptionReporter::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - std::string::push_back
    - ToString
    - AppendNumberTo
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& status) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:58,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:59,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:67,1
    - Dst: log::Reader::LastRecordOffset
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:68,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: leveldb::PrintLogContents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - log::Reader::ReadRecord
    - leveldb::OK
    - log::Reader::LastRecordOffset
    - Env*::NewSequentialFile
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status PrintLogContents(Env* env, const std::string& fname,\n                        void
      (*func)(uint64_t, Slice, WritableFile*),\n                        WritableFile*
      dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:79,1
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:81,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: leveldb::WriteBatchItemPrinter::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - AppendEscapedStringTo
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:87,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: leveldb::WriteBatchItemPrinter::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - AppendEscapedStringTo
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:99,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:101,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:103,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:103,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:105,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:109,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:111,1
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:111,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:112,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:113,1
    - Dst: WriteBatch::Iterate
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:116,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:117,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:118,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pos
    - record
    - dst
    argTypes:
    - uint64_t
    - Slice
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: leveldb::WriteBatchPrinter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - WriteBatch::Iterate
    - leveldb::AppendNumberTo
    - WritableFile*::Append
    - leveldb::WriteBatchInternal::Sequence
    - std::string::push_back
    - Slice::size
    - Status::ToString
    - leveldb::WriteBatchInternal::SetContents
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void WriteBatchPrinter(uint64_t pos, Slice record, WritableFile* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PrintLogContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: leveldb::DumpLog
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::PrintLogContents
    linkageType: ''
    returnType: Status
    signature: Status DumpLog(Env* env, const std::string& fname, WritableFile* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:130,1
    - Dst: VersionEdit::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:133,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:134,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:135,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:136,1
    - Dst: VersionEdit::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:138,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pos
    - record
    - dst
    argTypes:
    - uint64_t
    - Slice
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: leveldb::VersionEditPrinter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::AppendNumberTo
    - VersionEdit::DecodeFrom
    - VersionEdit::DebugString
    - WritableFile*::Append
    - std::string::push_back
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void VersionEditPrinter(uint64_t pos, Slice record, WritableFile* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PrintLogContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: leveldb::DumpDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::PrintLogContents
    linkageType: ''
    returnType: Status
    signature: Status DumpDescriptor(Env* env, const std::string& fname, WritableFile*
      dst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Env*::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:151,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:152,1
    - Dst: Env*::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:153,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:155,1
    - Dst: leveldb::Table::Open
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:160,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:160,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:162,1
    - Dst: Table*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:170,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:173,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:175,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:175,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:177,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:177,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:179,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:179,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:181,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:184,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:186,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:193,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:196,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:196,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:198,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:201,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:202,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:203,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:203,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 210
    functionName: leveldb::DumpTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Iterator*::value
    - leveldb::AppendNumberTo
    - Table*::NewIterator
    - leveldb::OK
    - Iterator*::Next
    - Status::ToString
    - Env*::GetFileSize
    - Status::ok
    - Iterator*::Valid
    - Iterator*::status
    - Env*::NewRandomAccessFile
    - leveldb::AppendEscapedStringTo
    - leveldb::ParseInternalKey
    - Iterator*::SeekToFirst
    - WritableFile*::Append
    - Iterator*::key
    - std::string::clear
    - leveldb::Options
    - leveldb::Table::Open
    linkageType: ''
    returnType: Status
    signature: Status DumpTable(Env* env, const std::string& fname, WritableFile*
      dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:27,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - type
    argTypes:
    - std::string
    - FileType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: leveldb::GuessType
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::ParseFileName
    - rfind
    - std::string
    - leveldb::data
    - leveldb::size
    linkageType: ''
    returnType: bool
    signature: bool GuessType(const std::string& fname, FileType* type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:43,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:45,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:46,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bytes
    - ' status'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: leveldb::CorruptionReporter::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - std::string::push_back
    - ToString
    - AppendNumberTo
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& status) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:58,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:59,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:67,1
    - Dst: log::Reader::LastRecordOffset
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:68,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: leveldb::PrintLogContents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 2
    functionsReached:
    - log::Reader::ReadRecord
    - leveldb::OK
    - log::Reader::LastRecordOffset
    - Env*::NewSequentialFile
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status PrintLogContents(Env* env, const std::string& fname,\n                        void
      (*func)(uint64_t, Slice, WritableFile*),\n                        WritableFile*
      dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:79,1
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:81,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: leveldb::WriteBatchItemPrinter::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - AppendEscapedStringTo
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:87,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: leveldb::WriteBatchItemPrinter::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - AppendEscapedStringTo
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:99,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:101,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:103,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:103,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:105,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:109,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:111,1
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:111,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:112,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:113,1
    - Dst: WriteBatch::Iterate
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:116,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:117,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:118,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pos
    - record
    - dst
    argTypes:
    - uint64_t
    - Slice
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: leveldb::WriteBatchPrinter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - WriteBatch::Iterate
    - leveldb::AppendNumberTo
    - WritableFile*::Append
    - leveldb::WriteBatchInternal::Sequence
    - std::string::push_back
    - Slice::size
    - Status::ToString
    - leveldb::WriteBatchInternal::SetContents
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void WriteBatchPrinter(uint64_t pos, Slice record, WritableFile* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PrintLogContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: leveldb::DumpLog
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::PrintLogContents
    linkageType: ''
    returnType: Status
    signature: Status DumpLog(Env* env, const std::string& fname, WritableFile* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:130,1
    - Dst: VersionEdit::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:133,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:134,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:135,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:136,1
    - Dst: VersionEdit::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:138,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pos
    - record
    - dst
    argTypes:
    - uint64_t
    - Slice
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: leveldb::VersionEditPrinter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::AppendNumberTo
    - VersionEdit::DecodeFrom
    - VersionEdit::DebugString
    - WritableFile*::Append
    - std::string::push_back
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void VersionEditPrinter(uint64_t pos, Slice record, WritableFile* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PrintLogContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: leveldb::DumpDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::PrintLogContents
    linkageType: ''
    returnType: Status
    signature: Status DumpDescriptor(Env* env, const std::string& fname, WritableFile*
      dst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Env*::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:151,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:152,1
    - Dst: Env*::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:153,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:155,1
    - Dst: leveldb::Table::Open
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:160,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:160,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:162,1
    - Dst: Table*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:170,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:173,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:175,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:175,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:177,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:177,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:179,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:179,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:181,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:184,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:186,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:193,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:196,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:196,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:198,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:201,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:202,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:203,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:203,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 210
    functionName: leveldb::DumpTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Iterator*::value
    - leveldb::AppendNumberTo
    - Table*::NewIterator
    - leveldb::OK
    - Iterator*::Next
    - Status::ToString
    - Env*::GetFileSize
    - Status::ok
    - Iterator*::Valid
    - Iterator*::status
    - Env*::NewRandomAccessFile
    - leveldb::AppendEscapedStringTo
    - leveldb::ParseInternalKey
    - Iterator*::SeekToFirst
    - WritableFile*::Append
    - Iterator*::key
    - std::string::clear
    - leveldb::Options
    - leveldb::Table::Open
    linkageType: ''
    returnType: Status
    signature: Status DumpTable(Env* env, const std::string& fname, WritableFile*
      dst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GuessType
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:216,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:217,1
    - Dst: leveldb::DumpLog
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:221,1
    - Dst: leveldb::DumpDescriptor
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:223,1
    - Dst: leveldb::DumpTable
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:225,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: leveldb::DumpFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::DumpLog
    - leveldb::DumpDescriptor
    - leveldb::DumpTable
    - leveldb::InvalidArgument
    - leveldb::GuessType
    linkageType: ''
    returnType: Status
    signature: Status DumpFile(Env* env, const std::string& fname, WritableFile* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:27,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - type
    argTypes:
    - std::string
    - FileType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: leveldb::GuessType
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 1
    functionsReached:
    - leveldb::ParseFileName
    - rfind
    - std::string
    - leveldb::data
    - leveldb::size
    linkageType: ''
    returnType: bool
    signature: bool GuessType(const std::string& fname, FileType* type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:43,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:45,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:46,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bytes
    - ' status'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: leveldb::CorruptionReporter::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - std::string::push_back
    - ToString
    - AppendNumberTo
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& status) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:58,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:59,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:67,1
    - Dst: log::Reader::LastRecordOffset
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:68,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: leveldb::PrintLogContents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 4
    functionsReached:
    - log::Reader::ReadRecord
    - leveldb::OK
    - log::Reader::LastRecordOffset
    - Env*::NewSequentialFile
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status PrintLogContents(Env* env, const std::string& fname,\n                        void
      (*func)(uint64_t, Slice, WritableFile*),\n                        WritableFile*
      dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:79,1
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:81,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: leveldb::WriteBatchItemPrinter::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - AppendEscapedStringTo
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:87,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: leveldb::WriteBatchItemPrinter::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - AppendEscapedStringTo
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:99,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:101,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:103,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:103,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:105,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:109,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:111,1
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:111,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:112,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:113,1
    - Dst: WriteBatch::Iterate
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:116,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:117,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:118,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pos
    - record
    - dst
    argTypes:
    - uint64_t
    - Slice
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: leveldb::WriteBatchPrinter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - WriteBatch::Iterate
    - leveldb::AppendNumberTo
    - WritableFile*::Append
    - leveldb::WriteBatchInternal::Sequence
    - std::string::push_back
    - Slice::size
    - Status::ToString
    - leveldb::WriteBatchInternal::SetContents
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void WriteBatchPrinter(uint64_t pos, Slice record, WritableFile* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PrintLogContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: leveldb::DumpLog
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 1
    functionsReached:
    - leveldb::PrintLogContents
    linkageType: ''
    returnType: Status
    signature: Status DumpLog(Env* env, const std::string& fname, WritableFile* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:130,1
    - Dst: VersionEdit::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:133,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:134,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:135,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:136,1
    - Dst: VersionEdit::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:138,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pos
    - record
    - dst
    argTypes:
    - uint64_t
    - Slice
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: leveldb::VersionEditPrinter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::AppendNumberTo
    - VersionEdit::DecodeFrom
    - VersionEdit::DebugString
    - WritableFile*::Append
    - std::string::push_back
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void VersionEditPrinter(uint64_t pos, Slice record, WritableFile* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PrintLogContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: leveldb::DumpDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 1
    functionsReached:
    - leveldb::PrintLogContents
    linkageType: ''
    returnType: Status
    signature: Status DumpDescriptor(Env* env, const std::string& fname, WritableFile*
      dst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Env*::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:151,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:152,1
    - Dst: Env*::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:153,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:155,1
    - Dst: leveldb::Table::Open
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:160,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:160,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:162,1
    - Dst: Table*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:170,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:173,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:175,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:175,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:177,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:177,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:179,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:179,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:181,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:184,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:186,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:193,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:196,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:196,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:198,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:201,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:202,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:203,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:203,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 210
    functionName: leveldb::DumpTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 1
    functionsReached:
    - Iterator*::value
    - leveldb::AppendNumberTo
    - Table*::NewIterator
    - leveldb::OK
    - Iterator*::Next
    - Status::ToString
    - Env*::GetFileSize
    - Status::ok
    - Iterator*::Valid
    - Iterator*::status
    - Env*::NewRandomAccessFile
    - leveldb::AppendEscapedStringTo
    - leveldb::ParseInternalKey
    - Iterator*::SeekToFirst
    - WritableFile*::Append
    - Iterator*::key
    - std::string::clear
    - leveldb::Options
    - leveldb::Table::Open
    linkageType: ''
    returnType: Status
    signature: Status DumpTable(Env* env, const std::string& fname, WritableFile*
      dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:27,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:32,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - type
    argTypes:
    - std::string
    - FileType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: leveldb::GuessType
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 1
    functionsReached:
    - leveldb::ParseFileName
    - rfind
    - std::string
    - leveldb::data
    - leveldb::size
    linkageType: ''
    returnType: bool
    signature: bool GuessType(const std::string& fname, FileType* type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:43,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:45,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:46,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bytes
    - ' status'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: leveldb::CorruptionReporter::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - std::string::push_back
    - ToString
    - AppendNumberTo
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& status) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:58,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:59,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:67,1
    - Dst: log::Reader::LastRecordOffset
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:68,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: leveldb::PrintLogContents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 6
    functionsReached:
    - log::Reader::ReadRecord
    - leveldb::OK
    - log::Reader::LastRecordOffset
    - Env*::NewSequentialFile
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status PrintLogContents(Env* env, const std::string& fname,\n                        void
      (*func)(uint64_t, Slice, WritableFile*),\n                        WritableFile*
      dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:79,1
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:81,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: leveldb::WriteBatchItemPrinter::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - AppendEscapedStringTo
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:87,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: leveldb::WriteBatchItemPrinter::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - Append
    - AppendEscapedStringTo
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:99,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:101,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:103,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:103,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:105,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:109,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:111,1
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:111,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:112,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:113,1
    - Dst: WriteBatch::Iterate
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:116,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:117,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:118,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pos
    - record
    - dst
    argTypes:
    - uint64_t
    - Slice
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: leveldb::WriteBatchPrinter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - WriteBatch::Iterate
    - leveldb::AppendNumberTo
    - WritableFile*::Append
    - leveldb::WriteBatchInternal::Sequence
    - std::string::push_back
    - Slice::size
    - Status::ToString
    - leveldb::WriteBatchInternal::SetContents
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void WriteBatchPrinter(uint64_t pos, Slice record, WritableFile* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PrintLogContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: leveldb::DumpLog
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 1
    functionsReached:
    - leveldb::PrintLogContents
    linkageType: ''
    returnType: Status
    signature: Status DumpLog(Env* env, const std::string& fname, WritableFile* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:130,1
    - Dst: VersionEdit::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:133,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:134,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:135,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:136,1
    - Dst: VersionEdit::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:138,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pos
    - record
    - dst
    argTypes:
    - uint64_t
    - Slice
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: leveldb::VersionEditPrinter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::AppendNumberTo
    - VersionEdit::DecodeFrom
    - VersionEdit::DebugString
    - WritableFile*::Append
    - std::string::push_back
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void VersionEditPrinter(uint64_t pos, Slice record, WritableFile* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PrintLogContents
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: leveldb::DumpDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 1
    functionsReached:
    - leveldb::PrintLogContents
    linkageType: ''
    returnType: Status
    signature: Status DumpDescriptor(Env* env, const std::string& fname, WritableFile*
      dst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Env*::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:151,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:152,1
    - Dst: Env*::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:153,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:155,1
    - Dst: leveldb::Table::Open
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:160,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:160,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:162,1
    - Dst: Table*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:170,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:172,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:173,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:175,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:175,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:177,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:177,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:179,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:179,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:181,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:184,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:186,1
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:193,1
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:196,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:196,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:198,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:201,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:202,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:203,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:203,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 210
    functionName: leveldb::DumpTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 1
    functionsReached:
    - Iterator*::value
    - leveldb::AppendNumberTo
    - Table*::NewIterator
    - leveldb::OK
    - Iterator*::Next
    - Status::ToString
    - Env*::GetFileSize
    - Status::ok
    - Iterator*::Valid
    - Iterator*::status
    - Env*::NewRandomAccessFile
    - leveldb::AppendEscapedStringTo
    - leveldb::ParseInternalKey
    - Iterator*::SeekToFirst
    - WritableFile*::Append
    - Iterator*::key
    - std::string::clear
    - leveldb::Options
    - leveldb::Table::Open
    linkageType: ''
    returnType: Status
    signature: Status DumpTable(Env* env, const std::string& fname, WritableFile*
      dst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GuessType
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:216,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:217,1
    - Dst: leveldb::DumpLog
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:221,1
    - Dst: leveldb::DumpDescriptor
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:223,1
    - Dst: leveldb::DumpTable
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:225,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/dumpfile.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - env
    - ' fname'
    - dst
    argTypes:
    - Env*
    - std::string
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: leveldb::DumpFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dumpfile.cc
    functionUses: 0
    functionsReached:
    - leveldb::DumpLog
    - leveldb::DumpDescriptor
    - leveldb::DumpTable
    - leveldb::InvalidArgument
    - leveldb::GuessType
    linkageType: ''
    returnType: Status
    signature: Status DumpFile(Env* env, const std::string& fname, WritableFile* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: leveldb::WriteBatch::WriteBatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteBatch::Clear
    linkageType: ''
    returnType: void
    signature: void WriteBatch::WriteBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: WriteBatch::~WriteBatch()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteBatch::~WriteBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: WriteBatch::Handler::~Handler()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Handler::~Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:36,1
    - Dst: resize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: leveldb::WriteBatch::Clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 1
    functionsReached:
    - clear
    - resize
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: leveldb::WriteBatch::ApproximateSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WriteBatch::ApproximateSize() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:44,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:45,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:48,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:51,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:54,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:57,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:58,1
    - Dst: Handler*::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:59,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:61,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:65,1
    - Dst: Handler*::Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:66,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:68,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:72,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:75,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:76,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - handler
    argTypes:
    - Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: leveldb::WriteBatch::Iterate
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Slice::remove_prefix
    - leveldb::WriteBatchInternal::Count
    - leveldb::OK
    - leveldb::log::Reader::ReportCorruption
    - Slice::size
    - Handler*::Put
    - Handler*::Delete
    - GetLengthPrefixedSlice
    - Slice::empty
    linkageType: ''
    returnType: Status
    signature: Status WriteBatch::Iterate(Handler* handler) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:83,1
    - Dst: WriteBatch*::rep_::data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: leveldb::WriteBatchInternal::Count
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 1
    functionsReached:
    - WriteBatch*::rep_::data
    - DecodeFixed32
    linkageType: ''
    returnType: int
    signature: int WriteBatchInternal::Count(const WriteBatch* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - WriteBatch*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: leveldb::WriteBatchInternal::SetCount
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - EncodeFixed32
    linkageType: ''
    returnType: void
    signature: void WriteBatchInternal::SetCount(WriteBatch* b, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SequenceNumber
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:91,1
    - Dst: DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:91,1
    - Dst: WriteBatch*::rep_::data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: leveldb::WriteBatchInternal::Sequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 4
    functionsReached:
    - SequenceNumber
    - WriteBatch*::rep_::data
    - DecodeFixed64
    linkageType: ''
    returnType: SequenceNumber
    signature: SequenceNumber WriteBatchInternal::Sequence(const WriteBatch* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - seq
    argTypes:
    - WriteBatch*
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: leveldb::WriteBatchInternal::SetSequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 2
    functionsReached:
    - EncodeFixed64
    linkageType: ''
    returnType: void
    signature: void WriteBatchInternal::SetSequence(WriteBatch* b, SequenceNumber
      seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::SetCount
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:99,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:99,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:100,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:100,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:101,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: leveldb::WriteBatch::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - PutLengthPrefixedSlice
    - leveldb::WriteBatchInternal::Count
    - push_back
    - leveldb::WriteBatchInternal::SetCount
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Put(const Slice& key, const Slice& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::SetCount
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:106,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:106,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:107,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:107,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: leveldb::WriteBatch::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - PutLengthPrefixedSlice
    - leveldb::WriteBatchInternal::Count
    - push_back
    - leveldb::WriteBatchInternal::SetCount
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Delete(const Slice& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - WriteBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: leveldb::WriteBatch::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteBatchInternal::Append
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Append(const WriteBatch& source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: leveldb::MemTableInserter::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:126,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: leveldb::MemTableInserter::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Add
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: leveldb::MemTableInserter::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:126,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: leveldb::MemTableInserter::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Add
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:134,1
    - Dst: WriteBatch*::Iterate
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - memtable
    argTypes:
    - WriteBatch*
    - MemTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: leveldb::WriteBatchInternal::InsertInto
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - WriteBatch*::Iterate
    - leveldb::WriteBatchInternal::Sequence
    linkageType: ''
    returnType: Status
    signature: Status WriteBatchInternal::InsertInto(const WriteBatch* b, MemTable*
      memtable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:140,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:140,1
    - Dst: WriteBatch*::rep_::assign
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:141,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:141,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - ' contents'
    argTypes:
    - WriteBatch*
    - Slice
    assertStmts:
    - condition: (contents.size() >= kHeader)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: leveldb::WriteBatchInternal::SetContents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 4
    functionsReached:
    - data
    - assert
    - WriteBatch*::rep_::assign
    - size
    linkageType: ''
    returnType: void
    signature: void WriteBatchInternal::SetContents(WriteBatch* b, const Slice& contents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::SetCount
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:145,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:145,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:145,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:146,1
    - Dst: WriteBatch*::rep_::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:146,1
    - Dst: WriteBatch*::rep_::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:147,1
    - Dst: WriteBatch*::rep_::data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:147,1
    - Dst: WriteBatch*::rep_::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - WriteBatch*
    - WriteBatch*
    assertStmts:
    - condition: (src->rep_.size() >= kHeader)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: leveldb::WriteBatchInternal::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 1
    functionsReached:
    - WriteBatch*::rep_::size
    - leveldb::WriteBatchInternal::Count
    - WriteBatch*::rep_::append
    - leveldb::WriteBatchInternal::SetCount
    - WriteBatch*::rep_::data
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteBatchInternal::Append(WriteBatch* dst, const WriteBatch*
      src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: leveldb::WriteBatch::WriteBatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteBatch::Clear
    linkageType: ''
    returnType: void
    signature: void WriteBatch::WriteBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: WriteBatch::~WriteBatch()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteBatch::~WriteBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: WriteBatch::Handler::~Handler()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Handler::~Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:36,1
    - Dst: resize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: leveldb::WriteBatch::Clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 2
    functionsReached:
    - clear
    - resize
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: leveldb::WriteBatch::ApproximateSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WriteBatch::ApproximateSize() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:44,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:45,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:48,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:51,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:54,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:57,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:58,1
    - Dst: Handler*::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:59,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:61,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:65,1
    - Dst: Handler*::Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:66,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:68,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:72,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:75,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:76,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - handler
    argTypes:
    - Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: leveldb::WriteBatch::Iterate
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Slice::remove_prefix
    - leveldb::WriteBatchInternal::Count
    - leveldb::OK
    - leveldb::log::Reader::ReportCorruption
    - Slice::size
    - Handler*::Put
    - Handler*::Delete
    - GetLengthPrefixedSlice
    - Slice::empty
    linkageType: ''
    returnType: Status
    signature: Status WriteBatch::Iterate(Handler* handler) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:83,1
    - Dst: WriteBatch*::rep_::data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: leveldb::WriteBatchInternal::Count
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 5
    functionsReached:
    - WriteBatch*::rep_::data
    - DecodeFixed32
    linkageType: ''
    returnType: int
    signature: int WriteBatchInternal::Count(const WriteBatch* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - WriteBatch*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: leveldb::WriteBatchInternal::SetCount
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 3
    functionsReached:
    - EncodeFixed32
    linkageType: ''
    returnType: void
    signature: void WriteBatchInternal::SetCount(WriteBatch* b, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SequenceNumber
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:91,1
    - Dst: DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:91,1
    - Dst: WriteBatch*::rep_::data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: leveldb::WriteBatchInternal::Sequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 5
    functionsReached:
    - SequenceNumber
    - WriteBatch*::rep_::data
    - DecodeFixed64
    linkageType: ''
    returnType: SequenceNumber
    signature: SequenceNumber WriteBatchInternal::Sequence(const WriteBatch* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - seq
    argTypes:
    - WriteBatch*
    - SequenceNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: leveldb::WriteBatchInternal::SetSequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 2
    functionsReached:
    - EncodeFixed64
    linkageType: ''
    returnType: void
    signature: void WriteBatchInternal::SetSequence(WriteBatch* b, SequenceNumber
      seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::SetCount
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:99,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:99,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:100,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:100,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:101,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: leveldb::WriteBatch::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - PutLengthPrefixedSlice
    - leveldb::WriteBatchInternal::Count
    - push_back
    - leveldb::WriteBatchInternal::SetCount
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Put(const Slice& key, const Slice& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::SetCount
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:106,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:106,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:107,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:107,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: leveldb::WriteBatch::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - PutLengthPrefixedSlice
    - leveldb::WriteBatchInternal::Count
    - push_back
    - leveldb::WriteBatchInternal::SetCount
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Delete(const Slice& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - WriteBatch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: leveldb::WriteBatch::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteBatchInternal::Append
    linkageType: ''
    returnType: void
    signature: void WriteBatch::Append(const WriteBatch& source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: leveldb::MemTableInserter::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:126,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: leveldb::MemTableInserter::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Add
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: leveldb::MemTableInserter::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:126,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: leveldb::MemTableInserter::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Add
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:134,1
    - Dst: WriteBatch*::Iterate
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - memtable
    argTypes:
    - WriteBatch*
    - MemTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: leveldb::WriteBatchInternal::InsertInto
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 0
    functionsReached:
    - WriteBatch*::Iterate
    - leveldb::WriteBatchInternal::Sequence
    linkageType: ''
    returnType: Status
    signature: Status WriteBatchInternal::InsertInto(const WriteBatch* b, MemTable*
      memtable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:140,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:140,1
    - Dst: WriteBatch*::rep_::assign
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:141,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:141,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - ' contents'
    argTypes:
    - WriteBatch*
    - Slice
    assertStmts:
    - condition: (contents.size() >= kHeader)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: leveldb::WriteBatchInternal::SetContents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 4
    functionsReached:
    - data
    - assert
    - WriteBatch*::rep_::assign
    - size
    linkageType: ''
    returnType: void
    signature: void WriteBatchInternal::SetContents(WriteBatch* b, const Slice& contents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::SetCount
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:145,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:145,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:145,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:146,1
    - Dst: WriteBatch*::rep_::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:146,1
    - Dst: WriteBatch*::rep_::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:147,1
    - Dst: WriteBatch*::rep_::data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:147,1
    - Dst: WriteBatch*::rep_::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - WriteBatch*
    - WriteBatch*
    assertStmts:
    - condition: (src->rep_.size() >= kHeader)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: leveldb::WriteBatchInternal::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch.cc
    functionUses: 2
    functionsReached:
    - WriteBatch*::rep_::size
    - leveldb::WriteBatchInternal::Count
    - WriteBatch*::rep_::append
    - leveldb::WriteBatchInternal::SetCount
    - WriteBatch*::rep_::data
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteBatchInternal::Append(WriteBatch* dst, const WriteBatch*
      src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: leveldb::Version::NumFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int NumFiles(int level) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vset
    argTypes:
    - VersionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: leveldb::Version::Version
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(VersionSet* vset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: leveldb::Version::Version
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const Version&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '& operator=(const Version&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & operator=(const Version&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: leveldb::VersionSet::VersionSet
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionSet(const VersionSet&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: '& operator=(const VersionSet&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VersionSet
    signature: VersionSet & operator=(const VersionSet&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: leveldb::VersionSet::current
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version * current() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: leveldb::VersionSet::ManifestFileNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ManifestFileNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: leveldb::VersionSet::NewFileNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NewFileNumber()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file_number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: leveldb::VersionSet::ReuseFileNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReuseFileNumber(uint64_t file_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: leveldb::VersionSet::LastSequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t LastSequence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (s >= last_sequence_)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.h
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: leveldb::VersionSet::SetLastSequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void SetLastSequence(uint64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: leveldb::VersionSet::LogNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t LogNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: leveldb::VersionSet::PrevLogNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PrevLogNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: leveldb::VersionSet::NeedsCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedsCompaction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: leveldb::Compaction::level
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int level() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: leveldb::Compaction::edit
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VersionEdit
    signature: VersionEdit * edit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - which
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: leveldb::Compaction::num_input_files
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int num_input_files(int which) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - which
    - i
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: leveldb::Compaction::input
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileMetaData
    signature: FileMetaData * input(int which, int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: leveldb::Compaction::MaxOutputFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MaxOutputFileSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: leveldb::Version::NumFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int NumFiles(int level) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vset
    argTypes:
    - VersionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: leveldb::Version::Version
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(VersionSet* vset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: leveldb::Version::Version
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const Version&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '& operator=(const Version&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & operator=(const Version&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: leveldb::VersionSet::VersionSet
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionSet(const VersionSet&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: '& operator=(const VersionSet&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VersionSet
    signature: VersionSet & operator=(const VersionSet&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: leveldb::VersionSet::current
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version * current() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: leveldb::VersionSet::ManifestFileNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ManifestFileNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: leveldb::VersionSet::NewFileNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NewFileNumber()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file_number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: leveldb::VersionSet::ReuseFileNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReuseFileNumber(uint64_t file_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: leveldb::VersionSet::LastSequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t LastSequence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/version_set.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (s >= last_sequence_)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/bitcoin-core/src/leveldb/db/version_set.h
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: leveldb::VersionSet::SetLastSequence
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void SetLastSequence(uint64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: leveldb::VersionSet::LogNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t LogNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: leveldb::VersionSet::PrevLogNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PrevLogNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: leveldb::VersionSet::NeedsCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedsCompaction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: leveldb::Compaction::level
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int level() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: leveldb::Compaction::edit
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VersionEdit
    signature: VersionEdit * edit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - which
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: leveldb::Compaction::num_input_files
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int num_input_files(int which) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - which
    - i
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: leveldb::Compaction::input
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileMetaData
    signature: FileMetaData * input(int which, int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: leveldb::Compaction::MaxOutputFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MaxOutputFileSize() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:17,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:18,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:20,1
    - Dst: MemTable*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:22,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:23,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:23,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:23,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:25,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:25,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:25,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:28,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:29,1
    - Dst: ParsedInternalKey::user_key::ToString
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:29,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:30,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:31,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:31,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:32,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:36,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:37,1
    - Dst: ParsedInternalKey::user_key::ToString
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:37,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:38,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:42,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:43,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:43,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:46,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:47,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:48,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:49,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - b
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 53
    functionName: leveldb::PrintContents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - MemTable*::NewIterator
    - leveldb::ParseInternalKey
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - leveldb::WriteBatchInternal::Count
    - MemTable::MemTable
    - MemTable*::Unref
    - leveldb::NumberToString
    - Iterator*::key
    - Iterator*::Next
    - ASSERT_TRUE
    - std::string::append
    - leveldb::WriteBatchInternal::InsertInto
    - MemTable*::Ref
    - ParsedInternalKey::user_key::ToString
    - Status::ok
    linkageType: ''
    returnType: std::string
    signature: std::string PrintContents(WriteBatch* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:59,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:60,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteBatchInternal::Count
    - leveldb::PrintContents
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:65,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:65,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:65,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:66,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:66,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:67,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:67,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:67,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:69,1
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:70,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:71,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Slice
    - leveldb::WriteBatchInternal::SetSequence
    - leveldb::WriteBatchInternal::Count
    - leveldb::WriteBatchInternal::Sequence
    - ASSERT_EQ
    - WriteBatch::Delete
    - WriteBatch::Put
    - leveldb::PrintContents
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, Multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:80,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:80,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:80,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:81,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:81,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:82,1
    - Dst: leveldb::WriteBatchInternal::Contents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:83,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:84,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:85,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:85,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:86,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Slice
    - leveldb::WriteBatchInternal::SetSequence
    - Slice::data
    - ASSERT_EQ
    - Slice::size
    - leveldb::WriteBatchInternal::Contents
    - WriteBatch::Delete
    - WriteBatch::Put
    - leveldb::WriteBatchInternal::SetContents
    - leveldb::PrintContents
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, Corruption)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:94,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:95,1
    - Dst: WriteBatch::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:97,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:97,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:98,1
    - Dst: WriteBatch::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:100,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:100,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:101,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:102,1
    - Dst: WriteBatch::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:104,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:107,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:108,1
    - Dst: WriteBatch::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:110,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteBatchInternal::SetSequence
    - ASSERT_EQ
    - Delete
    - Put
    - WriteBatch::Append
    - Clear
    - leveldb::PrintContents
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, Append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::ApproximateSize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:120,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:122,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:122,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:122,1
    - Dst: WriteBatch::ApproximateSize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:123,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:124,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:126,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:126,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:126,1
    - Dst: WriteBatch::ApproximateSize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:127,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:128,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:130,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:130,1
    - Dst: WriteBatch::ApproximateSize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:131,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Slice
    - WriteBatch::ApproximateSize
    - ASSERT_LT
    - WriteBatch::Delete
    - WriteBatch::Put
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, ApproximateSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:17,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:18,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:20,1
    - Dst: MemTable*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:22,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:23,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:23,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:23,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:25,1
    - Dst: leveldb::ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:25,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:25,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:28,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:29,1
    - Dst: ParsedInternalKey::user_key::ToString
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:29,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:30,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:31,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:31,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:32,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:36,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:37,1
    - Dst: ParsedInternalKey::user_key::ToString
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:37,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:38,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:42,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:43,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:43,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:46,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:47,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:48,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:49,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - b
    argTypes:
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 53
    functionName: leveldb::PrintContents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 4
    functionsReached:
    - MemTable*::NewIterator
    - leveldb::ParseInternalKey
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - leveldb::WriteBatchInternal::Count
    - MemTable::MemTable
    - MemTable*::Unref
    - leveldb::NumberToString
    - Iterator*::key
    - Iterator*::Next
    - ASSERT_TRUE
    - std::string::append
    - leveldb::WriteBatchInternal::InsertInto
    - MemTable*::Ref
    - ParsedInternalKey::user_key::ToString
    - Status::ok
    linkageType: ''
    returnType: std::string
    signature: std::string PrintContents(WriteBatch* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:59,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:60,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteBatchInternal::Count
    - leveldb::PrintContents
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:65,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:65,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:65,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:66,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:66,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:67,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:67,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:67,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:69,1
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:70,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:71,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Slice
    - leveldb::WriteBatchInternal::SetSequence
    - leveldb::WriteBatchInternal::Count
    - leveldb::WriteBatchInternal::Sequence
    - ASSERT_EQ
    - WriteBatch::Delete
    - WriteBatch::Put
    - leveldb::PrintContents
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, Multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:80,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:80,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:80,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:81,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:81,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:82,1
    - Dst: leveldb::WriteBatchInternal::Contents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:83,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:84,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:85,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:85,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:86,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Slice
    - leveldb::WriteBatchInternal::SetSequence
    - Slice::data
    - ASSERT_EQ
    - Slice::size
    - leveldb::WriteBatchInternal::Contents
    - WriteBatch::Delete
    - WriteBatch::Put
    - leveldb::WriteBatchInternal::SetContents
    - leveldb::PrintContents
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, Corruption)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:94,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:95,1
    - Dst: WriteBatch::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:97,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:97,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:98,1
    - Dst: WriteBatch::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:100,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:100,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:101,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:102,1
    - Dst: WriteBatch::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:104,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:107,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:108,1
    - Dst: WriteBatch::Append
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:110,1
    - Dst: leveldb::PrintContents
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteBatchInternal::SetSequence
    - ASSERT_EQ
    - Delete
    - Put
    - WriteBatch::Append
    - Clear
    - leveldb::PrintContents
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, Append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::ApproximateSize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:120,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:122,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:122,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:122,1
    - Dst: WriteBatch::ApproximateSize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:123,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:124,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:126,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:126,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:126,1
    - Dst: WriteBatch::ApproximateSize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:127,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:128,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:130,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:130,1
    - Dst: WriteBatch::ApproximateSize
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:131,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Slice
    - WriteBatch::ApproximateSize
    - ASSERT_LT
    - WriteBatch::Delete
    - WriteBatch::Put
    linkageType: ''
    returnType: void
    signature: void TEST(WriteBatchTest, ApproximateSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/write_batch_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SanitizeOptions
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:52,1
    - Dst: TableCache::TableCache
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dbname'
    - ' options'
    argTypes:
    - std::string
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: leveldb::Repairer::Repairer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - SanitizeOptions
    - TableCache::TableCache
    linkageType: ''
    returnType: void
    signature: void Repairer(const std::string& dbname, const Options& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: ~Repairer()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Repairer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Repairer::FindFiles
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:71,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:72,1
    - Dst: leveldb::Repairer::ConvertLogFilesToTables
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:73,1
    - Dst: leveldb::Repairer::ExtractMetaData
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:74,1
    - Dst: leveldb::Repairer::WriteDescriptor
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:75,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:77,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:79,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:82,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: leveldb::Repairer::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - leveldb::Repairer::ExtractMetaData
    - static_cast<int>
    - size
    - Log
    - leveldb::Repairer::WriteDescriptor
    - leveldb::Repairer::ConvertLogFilesToTables
    - leveldb::Repairer::FindFiles
    - c_str
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Run()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:100,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:101,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:104,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:105,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:110,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:111,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:113,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:119,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: leveldb::Repairer::FindFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 1
    functionsReached:
    - push_back
    - GetChildren
    - ParseFileName
    - leveldb::IOError
    - std::vector::empty
    - std::vector::size
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status FindFiles()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:132,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:133,1
    - Dst: leveldb::Repairer::ConvertLogToTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:134,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:135,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:136,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:137,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: leveldb::Repairer::ConvertLogFilesToTables
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 1
    functionsReached:
    - leveldb::Repairer::ArchiveFile
    - size
    - Log
    - LogFileName
    - Status::ToString
    - leveldb::Repairer::ConvertLogToTable
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void ConvertLogFilesToTables()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:150,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:151,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:152,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:157,1
    - Dst: NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:159,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:160,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:180,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:181,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:183,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:184,1
    - Dst: LogReporter::Corruption
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:185,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:185,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:186,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:189,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:190,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:191,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:192,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:194,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:195,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:196,1
    - Dst: MemTable*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:205,1
    - Dst: BuildTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:206,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:208,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:210,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:212,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:215,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - log
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 219
    functionName: leveldb::Repairer::ConvertLogToTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 1
    functionsReached:
    - LogReporter::Corruption
    - leveldb::OK
    - LogFileName
    - NewSequentialFile
    - MemTable*::Ref
    - Status::ToString
    - Status::ok
    - ToString
    - MemTable*::Unref
    - leveldb::WriteBatchInternal::Count
    - leveldb::log::Reader::ReportCorruption
    - MemTable*::NewIterator
    - static_cast<int>
    - MemTable::MemTable
    - Log
    - Slice::size
    - BuildTable
    - leveldb::WriteBatchInternal::InsertInto
    - push_back
    - log::Reader::ReadRecord
    - leveldb::WriteBatchInternal::SetContents
    linkageType: ''
    returnType: Status
    signature: Status ConvertLogToTable(uint64_t log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:150,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:151,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - ' s'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: leveldb::Repairer::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ToString
    - Log
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& s) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:222,1
    - Dst: leveldb::Repairer::ScanTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: leveldb::Repairer::ExtractMetaData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 1
    functionsReached:
    - leveldb::Repairer::ScanTable
    - size
    linkageType: ''
    returnType: void
    signature: void ExtractMetaData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' meta'
    argTypes:
    - FileMetaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: leveldb::Repairer::NewTableIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - NewIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * NewTableIterator(const FileMetaData& meta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:238,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:239,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:240,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:242,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:243,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:244,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:245,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:248,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:249,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:249,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:250,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:250,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:251,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:252,1
    - Dst: leveldb::Repairer::NewTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:258,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:263,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:264,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:265,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:266,1
    - Dst: TableInfo::meta::smallest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:273,1
    - Dst: TableInfo::meta::largest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:275,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:280,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:281,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:284,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:285,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:287,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:288,1
    - Dst: leveldb::Repairer::RepairTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 292
    functionName: leveldb::Repairer::ScanTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 1
    functionsReached:
    - leveldb::OK
    - Iterator*::Next
    - Status::ToString
    - TableInfo::meta::largest::DecodeFrom
    - Status::ok
    - TableFileName
    - Iterator*::Valid
    - ParseInternalKey
    - Iterator*::status
    - GetFileSize
    - Log
    - SSTTableFileName
    - leveldb::Repairer::NewTableIterator
    - push_back
    - Iterator*::SeekToFirst
    - EscapeString
    - leveldb::Repairer::RepairTable
    - Iterator*::key
    - TableInfo::meta::smallest::DecodeFrom
    - leveldb::Repairer::ArchiveFile
    linkageType: ''
    returnType: void
    signature: void ScanTable(uint64_t number)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:299,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:301,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:302,1
    - Dst: TableBuilder::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:305,1
    - Dst: leveldb::Repairer::NewTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:308,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: TableBuilder*::Add
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:316,1
    - Dst: TableBuilder*::Abandon
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:318,1
    - Dst: TableBuilder*::Finish
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:320,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:321,1
    - Dst: TableBuilder*::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:322,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:328,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:329,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:334,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:335,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:336,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:337,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:338,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:340,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:343,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - ' src'
    - t
    argTypes:
    - std::string
    - TableInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 346
    functionName: leveldb::Repairer::RepairTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 1
    functionsReached:
    - Iterator*::value
    - TableBuilder*::FileSize
    - NewWritableFile
    - Iterator*::Next
    - Status::ok
    - TableFileName
    - Iterator*::Valid
    - TableBuilder*::Finish
    - WritableFile*::Close
    - TableBuilder::TableBuilder
    - TableBuilder*::Abandon
    - Log
    - leveldb::Repairer::NewTableIterator
    - DeleteFile
    - TableBuilder*::Add
    - push_back
    - Iterator*::SeekToFirst
    - RenameFile
    - Iterator*::key
    - leveldb::Repairer::ArchiveFile
    linkageType: ''
    returnType: void
    signature: void RepairTable(const std::string& src, TableInfo t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TempFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:349,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:351,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:352,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:357,1
    - Dst: SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:363,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:363,1
    - Dst: SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:364,1
    - Dst: SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:365,1
    - Dst: SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:366,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:368,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:371,1
    - Dst: EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:379,1
    - Dst: log::Writer::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:380,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:382,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:383,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:388,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:389,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:392,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:393,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:397,1
    - Dst: DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:397,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:398,1
    - Dst: SetCurrentFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:399,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 405
    functionName: leveldb::Repairer::WriteDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 1
    functionsReached:
    - DeleteFile
    - SetLogNumber
    - EncodeTo
    - log::Writer::AddRecord
    - leveldb::Repairer::ArchiveFile
    - AddFile
    - SetComparatorName
    - SetNextFile
    - WritableFile*::Close
    - RenameFile
    - DescriptorFileName
    - size
    - SetCurrentFile
    - NewWritableFile
    - TempFileName
    - Status::ok
    - SetLastSequence
    - user_comparator
    linkageType: ''
    returnType: Status
    signature: Status WriteDescriptor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:412,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:412,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:417,1
    - Dst: CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:418,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:420,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:421,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:421,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:422,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:423,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:423,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' fname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 425
    functionName: leveldb::Repairer::ArchiveFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 4
    functionsReached:
    - std::string::assign
    - RenameFile
    - Log
    - data
    - std::string::append
    - Status::ToString
    - strrchr
    - c_str
    - CreateDir
    linkageType: ''
    returnType: void
    signature: void ArchiveFile(const std::string& fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SanitizeOptions
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:52,1
    - Dst: TableCache::TableCache
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dbname'
    - ' options'
    argTypes:
    - std::string
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: leveldb::Repairer::Repairer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - SanitizeOptions
    - TableCache::TableCache
    linkageType: ''
    returnType: void
    signature: void Repairer(const std::string& dbname, const Options& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: ~Repairer()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Repairer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Repairer::FindFiles
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:71,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:72,1
    - Dst: leveldb::Repairer::ConvertLogFilesToTables
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:73,1
    - Dst: leveldb::Repairer::ExtractMetaData
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:74,1
    - Dst: leveldb::Repairer::WriteDescriptor
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:75,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:77,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:79,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:82,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: leveldb::Repairer::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - leveldb::Repairer::ExtractMetaData
    - static_cast<int>
    - size
    - Log
    - leveldb::Repairer::WriteDescriptor
    - leveldb::Repairer::ConvertLogFilesToTables
    - leveldb::Repairer::FindFiles
    - c_str
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Run()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:100,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:101,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:104,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:105,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:110,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:111,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:113,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:119,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: leveldb::Repairer::FindFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 2
    functionsReached:
    - push_back
    - GetChildren
    - ParseFileName
    - leveldb::IOError
    - std::vector::empty
    - std::vector::size
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status FindFiles()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:132,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:133,1
    - Dst: leveldb::Repairer::ConvertLogToTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:134,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:135,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:136,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:137,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: leveldb::Repairer::ConvertLogFilesToTables
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 2
    functionsReached:
    - leveldb::Repairer::ArchiveFile
    - size
    - Log
    - LogFileName
    - Status::ToString
    - leveldb::Repairer::ConvertLogToTable
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void ConvertLogFilesToTables()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:150,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:151,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:152,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:157,1
    - Dst: NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:159,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:160,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:180,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:181,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:183,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:184,1
    - Dst: LogReporter::Corruption
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:185,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:185,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:186,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:189,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:190,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:191,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:192,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:194,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:195,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:196,1
    - Dst: MemTable*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:205,1
    - Dst: BuildTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:206,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:208,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:210,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:212,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:215,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - log
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 219
    functionName: leveldb::Repairer::ConvertLogToTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 2
    functionsReached:
    - LogReporter::Corruption
    - leveldb::OK
    - LogFileName
    - NewSequentialFile
    - MemTable*::Ref
    - Status::ToString
    - Status::ok
    - ToString
    - MemTable*::Unref
    - leveldb::WriteBatchInternal::Count
    - leveldb::log::Reader::ReportCorruption
    - MemTable*::NewIterator
    - static_cast<int>
    - MemTable::MemTable
    - Log
    - Slice::size
    - BuildTable
    - leveldb::WriteBatchInternal::InsertInto
    - push_back
    - log::Reader::ReadRecord
    - leveldb::WriteBatchInternal::SetContents
    linkageType: ''
    returnType: Status
    signature: Status ConvertLogToTable(uint64_t log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:150,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:151,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - ' s'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: leveldb::Repairer::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ToString
    - Log
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& s) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:222,1
    - Dst: leveldb::Repairer::ScanTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: leveldb::Repairer::ExtractMetaData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 2
    functionsReached:
    - leveldb::Repairer::ScanTable
    - size
    linkageType: ''
    returnType: void
    signature: void ExtractMetaData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' meta'
    argTypes:
    - FileMetaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: leveldb::Repairer::NewTableIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 2
    functionsReached:
    - NewIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * NewTableIterator(const FileMetaData& meta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:238,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:239,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:240,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:242,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:243,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:244,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:245,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:248,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:249,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:249,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:250,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:250,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:251,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:252,1
    - Dst: leveldb::Repairer::NewTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:258,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:263,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:264,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:265,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:266,1
    - Dst: TableInfo::meta::smallest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:273,1
    - Dst: TableInfo::meta::largest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:275,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:280,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:281,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:284,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:285,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:287,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:288,1
    - Dst: leveldb::Repairer::RepairTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 292
    functionName: leveldb::Repairer::ScanTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 2
    functionsReached:
    - leveldb::OK
    - Iterator*::Next
    - Status::ToString
    - TableInfo::meta::largest::DecodeFrom
    - Status::ok
    - TableFileName
    - Iterator*::Valid
    - ParseInternalKey
    - Iterator*::status
    - GetFileSize
    - Log
    - SSTTableFileName
    - leveldb::Repairer::NewTableIterator
    - push_back
    - Iterator*::SeekToFirst
    - EscapeString
    - leveldb::Repairer::RepairTable
    - Iterator*::key
    - TableInfo::meta::smallest::DecodeFrom
    - leveldb::Repairer::ArchiveFile
    linkageType: ''
    returnType: void
    signature: void ScanTable(uint64_t number)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:299,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:301,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:302,1
    - Dst: TableBuilder::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:305,1
    - Dst: leveldb::Repairer::NewTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:308,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: TableBuilder*::Add
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:316,1
    - Dst: TableBuilder*::Abandon
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:318,1
    - Dst: TableBuilder*::Finish
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:320,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:321,1
    - Dst: TableBuilder*::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:322,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:328,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:329,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:334,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:335,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:336,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:337,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:338,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:340,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:343,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - ' src'
    - t
    argTypes:
    - std::string
    - TableInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 346
    functionName: leveldb::Repairer::RepairTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 2
    functionsReached:
    - Iterator*::value
    - TableBuilder*::FileSize
    - NewWritableFile
    - Iterator*::Next
    - Status::ok
    - TableFileName
    - Iterator*::Valid
    - TableBuilder*::Finish
    - WritableFile*::Close
    - TableBuilder::TableBuilder
    - TableBuilder*::Abandon
    - Log
    - leveldb::Repairer::NewTableIterator
    - DeleteFile
    - TableBuilder*::Add
    - push_back
    - Iterator*::SeekToFirst
    - RenameFile
    - Iterator*::key
    - leveldb::Repairer::ArchiveFile
    linkageType: ''
    returnType: void
    signature: void RepairTable(const std::string& src, TableInfo t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TempFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:349,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:351,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:352,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:357,1
    - Dst: SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:363,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:363,1
    - Dst: SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:364,1
    - Dst: SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:365,1
    - Dst: SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:366,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:368,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:371,1
    - Dst: EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:379,1
    - Dst: log::Writer::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:380,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:382,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:383,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:388,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:389,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:392,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:393,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:397,1
    - Dst: DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:397,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:398,1
    - Dst: SetCurrentFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:399,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 405
    functionName: leveldb::Repairer::WriteDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 2
    functionsReached:
    - DeleteFile
    - SetLogNumber
    - EncodeTo
    - log::Writer::AddRecord
    - leveldb::Repairer::ArchiveFile
    - AddFile
    - SetComparatorName
    - SetNextFile
    - WritableFile*::Close
    - RenameFile
    - DescriptorFileName
    - size
    - SetCurrentFile
    - NewWritableFile
    - TempFileName
    - Status::ok
    - SetLastSequence
    - user_comparator
    linkageType: ''
    returnType: Status
    signature: Status WriteDescriptor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:412,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:412,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:417,1
    - Dst: CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:418,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:420,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:421,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:421,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:422,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:423,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:423,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' fname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 425
    functionName: leveldb::Repairer::ArchiveFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 8
    functionsReached:
    - std::string::assign
    - RenameFile
    - Log
    - data
    - std::string::append
    - Status::ToString
    - strrchr
    - c_str
    - CreateDir
    linkageType: ''
    returnType: void
    signature: void ArchiveFile(const std::string& fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Repairer::Run
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dbname'
    - ' options'
    argTypes:
    - std::string
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: leveldb::RepairDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - Repairer::Run
    linkageType: ''
    returnType: Status
    signature: Status RepairDB(const std::string& dbname, const Options& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SanitizeOptions
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:52,1
    - Dst: TableCache::TableCache
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dbname'
    - ' options'
    argTypes:
    - std::string
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: leveldb::Repairer::Repairer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - SanitizeOptions
    - TableCache::TableCache
    linkageType: ''
    returnType: void
    signature: void Repairer(const std::string& dbname, const Options& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: ~Repairer()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Repairer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Repairer::FindFiles
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:71,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:72,1
    - Dst: leveldb::Repairer::ConvertLogFilesToTables
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:73,1
    - Dst: leveldb::Repairer::ExtractMetaData
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:74,1
    - Dst: leveldb::Repairer::WriteDescriptor
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:75,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:77,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:79,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:82,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: leveldb::Repairer::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - leveldb::Repairer::ExtractMetaData
    - static_cast<int>
    - size
    - Log
    - leveldb::Repairer::WriteDescriptor
    - leveldb::Repairer::ConvertLogFilesToTables
    - leveldb::Repairer::FindFiles
    - c_str
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Run()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:100,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:101,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:104,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:105,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:110,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:111,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:113,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:119,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: leveldb::Repairer::FindFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 3
    functionsReached:
    - push_back
    - GetChildren
    - ParseFileName
    - leveldb::IOError
    - std::vector::empty
    - std::vector::size
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status FindFiles()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:132,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:133,1
    - Dst: leveldb::Repairer::ConvertLogToTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:134,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:135,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:136,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:137,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: leveldb::Repairer::ConvertLogFilesToTables
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 3
    functionsReached:
    - leveldb::Repairer::ArchiveFile
    - size
    - Log
    - LogFileName
    - Status::ToString
    - leveldb::Repairer::ConvertLogToTable
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void ConvertLogFilesToTables()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:150,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:151,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:152,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:157,1
    - Dst: NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:159,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:160,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:180,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:181,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:183,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:184,1
    - Dst: LogReporter::Corruption
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:185,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:185,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:186,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:189,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:190,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:191,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:192,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:194,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:195,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:196,1
    - Dst: MemTable*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:205,1
    - Dst: BuildTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:206,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:208,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:210,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:212,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:215,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - log
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 219
    functionName: leveldb::Repairer::ConvertLogToTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 3
    functionsReached:
    - LogReporter::Corruption
    - leveldb::OK
    - LogFileName
    - NewSequentialFile
    - MemTable*::Ref
    - Status::ToString
    - Status::ok
    - ToString
    - MemTable*::Unref
    - leveldb::WriteBatchInternal::Count
    - leveldb::log::Reader::ReportCorruption
    - MemTable*::NewIterator
    - static_cast<int>
    - MemTable::MemTable
    - Log
    - Slice::size
    - BuildTable
    - leveldb::WriteBatchInternal::InsertInto
    - push_back
    - log::Reader::ReadRecord
    - leveldb::WriteBatchInternal::SetContents
    linkageType: ''
    returnType: Status
    signature: Status ConvertLogToTable(uint64_t log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:150,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:151,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - ' s'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: leveldb::Repairer::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ToString
    - Log
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& s) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:222,1
    - Dst: leveldb::Repairer::ScanTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: leveldb::Repairer::ExtractMetaData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 3
    functionsReached:
    - leveldb::Repairer::ScanTable
    - size
    linkageType: ''
    returnType: void
    signature: void ExtractMetaData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' meta'
    argTypes:
    - FileMetaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: leveldb::Repairer::NewTableIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 4
    functionsReached:
    - NewIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * NewTableIterator(const FileMetaData& meta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:238,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:239,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:240,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:242,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:243,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:244,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:245,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:248,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:249,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:249,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:250,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:250,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:251,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:252,1
    - Dst: leveldb::Repairer::NewTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:258,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:263,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:264,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:265,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:266,1
    - Dst: TableInfo::meta::smallest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:273,1
    - Dst: TableInfo::meta::largest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:275,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:280,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:281,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:284,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:285,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:287,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:288,1
    - Dst: leveldb::Repairer::RepairTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 292
    functionName: leveldb::Repairer::ScanTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 3
    functionsReached:
    - leveldb::OK
    - Iterator*::Next
    - Status::ToString
    - TableInfo::meta::largest::DecodeFrom
    - Status::ok
    - TableFileName
    - Iterator*::Valid
    - ParseInternalKey
    - Iterator*::status
    - GetFileSize
    - Log
    - SSTTableFileName
    - leveldb::Repairer::NewTableIterator
    - push_back
    - Iterator*::SeekToFirst
    - EscapeString
    - leveldb::Repairer::RepairTable
    - Iterator*::key
    - TableInfo::meta::smallest::DecodeFrom
    - leveldb::Repairer::ArchiveFile
    linkageType: ''
    returnType: void
    signature: void ScanTable(uint64_t number)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:299,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:301,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:302,1
    - Dst: TableBuilder::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:305,1
    - Dst: leveldb::Repairer::NewTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:308,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: TableBuilder*::Add
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:316,1
    - Dst: TableBuilder*::Abandon
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:318,1
    - Dst: TableBuilder*::Finish
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:320,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:321,1
    - Dst: TableBuilder*::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:322,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:328,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:329,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:334,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:335,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:336,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:337,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:338,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:340,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:343,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - ' src'
    - t
    argTypes:
    - std::string
    - TableInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 346
    functionName: leveldb::Repairer::RepairTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 3
    functionsReached:
    - Iterator*::value
    - TableBuilder*::FileSize
    - NewWritableFile
    - Iterator*::Next
    - Status::ok
    - TableFileName
    - Iterator*::Valid
    - TableBuilder*::Finish
    - WritableFile*::Close
    - TableBuilder::TableBuilder
    - TableBuilder*::Abandon
    - Log
    - leveldb::Repairer::NewTableIterator
    - DeleteFile
    - TableBuilder*::Add
    - push_back
    - Iterator*::SeekToFirst
    - RenameFile
    - Iterator*::key
    - leveldb::Repairer::ArchiveFile
    linkageType: ''
    returnType: void
    signature: void RepairTable(const std::string& src, TableInfo t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TempFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:349,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:351,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:352,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:357,1
    - Dst: SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:363,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:363,1
    - Dst: SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:364,1
    - Dst: SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:365,1
    - Dst: SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:366,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:368,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:371,1
    - Dst: EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:379,1
    - Dst: log::Writer::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:380,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:382,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:383,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:388,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:389,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:392,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:393,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:397,1
    - Dst: DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:397,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:398,1
    - Dst: SetCurrentFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:399,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 405
    functionName: leveldb::Repairer::WriteDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 3
    functionsReached:
    - DeleteFile
    - SetLogNumber
    - EncodeTo
    - log::Writer::AddRecord
    - leveldb::Repairer::ArchiveFile
    - AddFile
    - SetComparatorName
    - SetNextFile
    - WritableFile*::Close
    - RenameFile
    - DescriptorFileName
    - size
    - SetCurrentFile
    - NewWritableFile
    - TempFileName
    - Status::ok
    - SetLastSequence
    - user_comparator
    linkageType: ''
    returnType: Status
    signature: Status WriteDescriptor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:412,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:412,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:417,1
    - Dst: CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:418,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:420,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:421,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:421,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:422,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:423,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:423,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' fname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 425
    functionName: leveldb::Repairer::ArchiveFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 12
    functionsReached:
    - std::string::assign
    - RenameFile
    - Log
    - data
    - std::string::append
    - Status::ToString
    - strrchr
    - c_str
    - CreateDir
    linkageType: ''
    returnType: void
    signature: void ArchiveFile(const std::string& fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SanitizeOptions
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:52,1
    - Dst: TableCache::TableCache
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dbname'
    - ' options'
    argTypes:
    - std::string
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: leveldb::Repairer::Repairer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - SanitizeOptions
    - TableCache::TableCache
    linkageType: ''
    returnType: void
    signature: void Repairer(const std::string& dbname, const Options& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: ~Repairer()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Repairer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Repairer::FindFiles
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:71,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:72,1
    - Dst: leveldb::Repairer::ConvertLogFilesToTables
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:73,1
    - Dst: leveldb::Repairer::ExtractMetaData
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:74,1
    - Dst: leveldb::Repairer::WriteDescriptor
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:75,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:77,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:79,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:82,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: leveldb::Repairer::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - leveldb::Repairer::ExtractMetaData
    - static_cast<int>
    - size
    - Log
    - leveldb::Repairer::WriteDescriptor
    - leveldb::Repairer::ConvertLogFilesToTables
    - leveldb::Repairer::FindFiles
    - c_str
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Run()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:100,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:101,1
    - Dst: std::vector::empty
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:104,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:105,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:110,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:111,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:113,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:119,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: leveldb::Repairer::FindFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 4
    functionsReached:
    - push_back
    - GetChildren
    - ParseFileName
    - leveldb::IOError
    - std::vector::empty
    - std::vector::size
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status FindFiles()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:132,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:133,1
    - Dst: leveldb::Repairer::ConvertLogToTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:134,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:135,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:136,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:137,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: leveldb::Repairer::ConvertLogFilesToTables
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 4
    functionsReached:
    - leveldb::Repairer::ArchiveFile
    - size
    - Log
    - LogFileName
    - Status::ToString
    - leveldb::Repairer::ConvertLogToTable
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void ConvertLogFilesToTables()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:150,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:151,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:152,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:157,1
    - Dst: NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:159,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:160,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:180,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:181,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:183,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:184,1
    - Dst: LogReporter::Corruption
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:185,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:185,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:186,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:189,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:190,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:191,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:192,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:194,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:195,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:196,1
    - Dst: MemTable*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:205,1
    - Dst: BuildTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:206,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:208,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:210,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:212,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:215,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - log
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 219
    functionName: leveldb::Repairer::ConvertLogToTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 4
    functionsReached:
    - LogReporter::Corruption
    - leveldb::OK
    - LogFileName
    - NewSequentialFile
    - MemTable*::Ref
    - Status::ToString
    - Status::ok
    - ToString
    - MemTable*::Unref
    - leveldb::WriteBatchInternal::Count
    - leveldb::log::Reader::ReportCorruption
    - MemTable*::NewIterator
    - static_cast<int>
    - MemTable::MemTable
    - Log
    - Slice::size
    - BuildTable
    - leveldb::WriteBatchInternal::InsertInto
    - push_back
    - log::Reader::ReadRecord
    - leveldb::WriteBatchInternal::SetContents
    linkageType: ''
    returnType: Status
    signature: Status ConvertLogToTable(uint64_t log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:150,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:151,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - ' s'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: leveldb::Repairer::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ToString
    - Log
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& s) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:222,1
    - Dst: leveldb::Repairer::ScanTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: leveldb::Repairer::ExtractMetaData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 4
    functionsReached:
    - leveldb::Repairer::ScanTable
    - size
    linkageType: ''
    returnType: void
    signature: void ExtractMetaData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' meta'
    argTypes:
    - FileMetaData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: leveldb::Repairer::NewTableIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 6
    functionsReached:
    - NewIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * NewTableIterator(const FileMetaData& meta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:238,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:239,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:240,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:242,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:243,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:244,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:245,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:248,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:249,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:249,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:250,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:250,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:251,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:252,1
    - Dst: leveldb::Repairer::NewTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:258,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:262,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:263,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:264,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:265,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:266,1
    - Dst: TableInfo::meta::smallest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:273,1
    - Dst: TableInfo::meta::largest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:275,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:280,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:281,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:284,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:285,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:287,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:288,1
    - Dst: leveldb::Repairer::RepairTable
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 292
    functionName: leveldb::Repairer::ScanTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 4
    functionsReached:
    - leveldb::OK
    - Iterator*::Next
    - Status::ToString
    - TableInfo::meta::largest::DecodeFrom
    - Status::ok
    - TableFileName
    - Iterator*::Valid
    - ParseInternalKey
    - Iterator*::status
    - GetFileSize
    - Log
    - SSTTableFileName
    - leveldb::Repairer::NewTableIterator
    - push_back
    - Iterator*::SeekToFirst
    - EscapeString
    - leveldb::Repairer::RepairTable
    - Iterator*::key
    - TableInfo::meta::smallest::DecodeFrom
    - leveldb::Repairer::ArchiveFile
    linkageType: ''
    returnType: void
    signature: void ScanTable(uint64_t number)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:299,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:301,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:302,1
    - Dst: TableBuilder::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:305,1
    - Dst: leveldb::Repairer::NewTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:308,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:310,1
    - Dst: TableBuilder*::Add
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:311,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:316,1
    - Dst: TableBuilder*::Abandon
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:318,1
    - Dst: TableBuilder*::Finish
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:320,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:321,1
    - Dst: TableBuilder*::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:322,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:328,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:329,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:334,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:335,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:336,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:337,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:338,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:340,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:343,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - ' src'
    - t
    argTypes:
    - std::string
    - TableInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 346
    functionName: leveldb::Repairer::RepairTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 4
    functionsReached:
    - Iterator*::value
    - TableBuilder*::FileSize
    - NewWritableFile
    - Iterator*::Next
    - Status::ok
    - TableFileName
    - Iterator*::Valid
    - TableBuilder*::Finish
    - WritableFile*::Close
    - TableBuilder::TableBuilder
    - TableBuilder*::Abandon
    - Log
    - leveldb::Repairer::NewTableIterator
    - DeleteFile
    - TableBuilder*::Add
    - push_back
    - Iterator*::SeekToFirst
    - RenameFile
    - Iterator*::key
    - leveldb::Repairer::ArchiveFile
    linkageType: ''
    returnType: void
    signature: void RepairTable(const std::string& src, TableInfo t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TempFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:349,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:351,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:352,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:357,1
    - Dst: SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:363,1
    - Dst: user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:363,1
    - Dst: SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:364,1
    - Dst: SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:365,1
    - Dst: SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:366,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:368,1
    - Dst: AddFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:371,1
    - Dst: EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:379,1
    - Dst: log::Writer::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:380,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:382,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:383,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:388,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:389,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:392,1
    - Dst: leveldb::Repairer::ArchiveFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:393,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:397,1
    - Dst: DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:397,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:398,1
    - Dst: SetCurrentFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:399,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 405
    functionName: leveldb::Repairer::WriteDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 4
    functionsReached:
    - DeleteFile
    - SetLogNumber
    - EncodeTo
    - log::Writer::AddRecord
    - leveldb::Repairer::ArchiveFile
    - AddFile
    - SetComparatorName
    - SetNextFile
    - WritableFile*::Close
    - RenameFile
    - DescriptorFileName
    - size
    - SetCurrentFile
    - NewWritableFile
    - TempFileName
    - Status::ok
    - SetLastSequence
    - user_comparator
    linkageType: ''
    returnType: Status
    signature: Status WriteDescriptor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:412,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:412,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:415,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:417,1
    - Dst: CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:418,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:420,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:421,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:421,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:422,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:423,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:423,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' fname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 425
    functionName: leveldb::Repairer::ArchiveFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 16
    functionsReached:
    - std::string::assign
    - RenameFile
    - Log
    - data
    - std::string::append
    - Status::ToString
    - strrchr
    - c_str
    - CreateDir
    linkageType: ''
    returnType: void
    signature: void ArchiveFile(const std::string& fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Repairer::Run
      Src: /src/bitcoin-core/src/leveldb/db/repair.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dbname'
    - ' options'
    argTypes:
    - std::string
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: leveldb::RepairDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/repair.cc
    functionUses: 0
    functionsReached:
    - Repairer::Run
    linkageType: ''
    returnType: Status
    signature: Status RepairDB(const std::string& dbname, const Options& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:17,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: leveldb::GetLengthPrefixedSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetVarint32Ptr
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice GetLengthPrefixedSlice(const char* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' comparator'
    argTypes:
    - InternalKeyComparator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: leveldb::MemTable::MemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemTable::MemTable(const InternalKeyComparator& comparator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (refs_ == 0)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/leveldb/db/memtable.cc
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: MemTable::~MemTable()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void MemTable::~MemTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::MemTable::ApproximateMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - MemoryUsage
    linkageType: ''
    returnType: size_t
    signature: size_t MemTable::ApproximateMemoryUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:31,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:32,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aptr
    - bptr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: "MemTable::KeyComparator::operator()(const char* aptr,\n                                        const
      char* bptr) const"
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - Compare
    - GetLengthPrefixedSlice
    linkageType: ''
    returnType: int
    signature: "int MemTable::KeyComparator::operator()(const char* aptr,\n                                        const
      char* bptr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:40,1
    - Dst: leveldb::PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:41,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:41,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:42,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:42,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:42,1
    - Dst: std::string*::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - scratch
    - ' target'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: leveldb::EncodeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - leveldb::data
    - std::string*::append
    - std::string*::data
    - leveldb::PutVarint32
    - leveldb::size
    linkageType: ''
    returnType: char
    signature: char * EncodeKey(std::string* scratch, const Slice& target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - table
    argTypes:
    - MemTable::Table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: leveldb::MemTableIterator::MemTableIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemTableIterator(MemTable::Table* table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: leveldb::MemTableIterator::MemTableIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemTableIterator(const MemTableIterator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(const MemTableIterator&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemTableIterator
    signature: MemTableIterator & operator=(const MemTableIterator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~MemTableIterator() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemTableIterator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::MemTableIterator::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 1
    functionsReached:
    - leveldb::MemTableIterator::Valid
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:56,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::MemTableIterator::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 1
    functionsReached:
    - leveldb::MemTableIterator::Seek
    - EncodeKey
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& k) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: leveldb::MemTableIterator::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 1
    functionsReached:
    - leveldb::MemTableIterator::SeekToFirst
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: leveldb::MemTableIterator::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 1
    functionsReached:
    - leveldb::MemTableIterator::SeekToLast
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::Next
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: leveldb::MemTableIterator::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 1
    functionsReached:
    - leveldb::MemTableIterator::Next
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::Prev
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: leveldb::MemTableIterator::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 1
    functionsReached:
    - leveldb::MemTableIterator::Prev
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:61,1
    - Dst: leveldb::MemTableIterator::key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: leveldb::MemTableIterator::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 1
    functionsReached:
    - leveldb::MemTableIterator::key
    - GetLengthPrefixedSlice
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:63,1
    - Dst: leveldb::MemTableIterator::key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:63,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:64,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:64,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: leveldb::MemTableIterator::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - leveldb::MemTableIterator::key
    - Slice::data
    - GetLengthPrefixedSlice
    - Slice::size
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: leveldb::MemTableIterator::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemTableIterator::MemTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: leveldb::MemTable::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - MemTableIterator::MemTableIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * MemTable::NewIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:83,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:84,1
    - Dst: VarintLength
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:86,1
    - Dst: VarintLength
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:87,1
    - Dst: Allocate
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:89,1
    - Dst: EncodeVarint32
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:90,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:91,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:91,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:93,1
    - Dst: EncodeVarint32
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:95,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:96,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:96,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:97,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - s
    - type
    - ' key'
    - ' value'
    argTypes:
    - SequenceNumber
    - ValueType
    - Slice
    - Slice
    assertStmts:
    - condition: (p + val_size == buf + encoded_len)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/leveldb/db/memtable.cc
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: leveldb::MemTable::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - EncodeFixed64
    - Insert
    - VarintLength
    - size
    - memcpy
    - data
    - EncodeVarint32
    - assert
    linkageType: ''
    returnType: void
    signature: "void MemTable::Add(SequenceNumber s, ValueType type, const Slice&
      key,\n                   const Slice& value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memtable_key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:102,1
    - Dst: Table::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:104,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:104,1
    - Dst: Table::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:105,1
    - Dst: Table::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:115,1
    - Dst: GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:117,1
    - Dst: comparator::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:118,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:119,1
    - Dst: user_key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:119,1
    - Dst: DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:121,1
    - Dst: static_cast<ValueType>
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:122,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:124,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:125,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:125,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:125,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:129,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ' key'
    - value
    - s
    argTypes:
    - LookupKey
    - std::string*
    - Status*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: leveldb::MemTable::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - Slice
    - comparator::user_comparator
    - node::TxDownloadManager::ReceivedNotFound
    - Slice::data
    - DecodeFixed64
    - Table::Iterator::key
    - GetVarint32Ptr
    - Slice::size
    - Table::Iterator::Valid
    - static_cast<ValueType>
    - user_key
    - std::string*::assign
    - GetLengthPrefixedSlice
    - memtable_key
    - Table::Iterator::Seek
    linkageType: ''
    returnType: bool
    signature: bool MemTable::Get(const LookupKey& key, std::string* value, Status*
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:17,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: leveldb::GetLengthPrefixedSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetVarint32Ptr
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice GetLengthPrefixedSlice(const char* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' comparator'
    argTypes:
    - InternalKeyComparator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: leveldb::MemTable::MemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemTable::MemTable(const InternalKeyComparator& comparator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (refs_ == 0)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bitcoin-core/src/leveldb/db/memtable.cc
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: MemTable::~MemTable()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void MemTable::~MemTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::MemTable::ApproximateMemoryUsage
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - MemoryUsage
    linkageType: ''
    returnType: size_t
    signature: size_t MemTable::ApproximateMemoryUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:31,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:32,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aptr
    - bptr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: "MemTable::KeyComparator::operator()(const char* aptr,\n                                        const
      char* bptr) const"
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - Compare
    - GetLengthPrefixedSlice
    linkageType: ''
    returnType: int
    signature: "int MemTable::KeyComparator::operator()(const char* aptr,\n                                        const
      char* bptr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:40,1
    - Dst: leveldb::PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:41,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:41,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:42,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:42,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:42,1
    - Dst: std::string*::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - scratch
    - ' target'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: leveldb::EncodeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - leveldb::data
    - std::string*::append
    - std::string*::data
    - leveldb::PutVarint32
    - leveldb::size
    linkageType: ''
    returnType: char
    signature: char * EncodeKey(std::string* scratch, const Slice& target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - table
    argTypes:
    - MemTable::Table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: leveldb::MemTableIterator::MemTableIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemTableIterator(MemTable::Table* table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: leveldb::MemTableIterator::MemTableIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemTableIterator(const MemTableIterator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(const MemTableIterator&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemTableIterator
    signature: MemTableIterator & operator=(const MemTableIterator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~MemTableIterator() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemTableIterator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::MemTableIterator::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 2
    functionsReached:
    - leveldb::MemTableIterator::Valid
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:56,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::MemTableIterator::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 2
    functionsReached:
    - leveldb::MemTableIterator::Seek
    - EncodeKey
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& k) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: leveldb::MemTableIterator::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 2
    functionsReached:
    - leveldb::MemTableIterator::SeekToFirst
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: leveldb::MemTableIterator::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 2
    functionsReached:
    - leveldb::MemTableIterator::SeekToLast
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::Next
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: leveldb::MemTableIterator::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 2
    functionsReached:
    - leveldb::MemTableIterator::Next
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MemTableIterator::Prev
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: leveldb::MemTableIterator::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 2
    functionsReached:
    - leveldb::MemTableIterator::Prev
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:61,1
    - Dst: leveldb::MemTableIterator::key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: leveldb::MemTableIterator::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 3
    functionsReached:
    - leveldb::MemTableIterator::key
    - GetLengthPrefixedSlice
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:63,1
    - Dst: leveldb::MemTableIterator::key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:63,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:64,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:64,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: leveldb::MemTableIterator::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - leveldb::MemTableIterator::key
    - Slice::data
    - GetLengthPrefixedSlice
    - Slice::size
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: leveldb::MemTableIterator::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemTableIterator::MemTableIterator
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: leveldb::MemTable::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - MemTableIterator::MemTableIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * MemTable::NewIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:83,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:84,1
    - Dst: VarintLength
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:86,1
    - Dst: VarintLength
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:87,1
    - Dst: Allocate
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:89,1
    - Dst: EncodeVarint32
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:90,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:91,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:91,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:93,1
    - Dst: EncodeVarint32
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:95,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:96,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:96,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:97,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - s
    - type
    - ' key'
    - ' value'
    argTypes:
    - SequenceNumber
    - ValueType
    - Slice
    - Slice
    assertStmts:
    - condition: (p + val_size == buf + encoded_len)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/leveldb/db/memtable.cc
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: leveldb::MemTable::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - EncodeFixed64
    - Insert
    - VarintLength
    - size
    - memcpy
    - data
    - EncodeVarint32
    - assert
    linkageType: ''
    returnType: void
    signature: "void MemTable::Add(SequenceNumber s, ValueType type, const Slice&
      key,\n                   const Slice& value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memtable_key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:102,1
    - Dst: Table::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:104,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:104,1
    - Dst: Table::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:105,1
    - Dst: Table::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:115,1
    - Dst: GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:117,1
    - Dst: comparator::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:118,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:119,1
    - Dst: user_key
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:119,1
    - Dst: DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:121,1
    - Dst: static_cast<ValueType>
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:122,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:124,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:125,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:125,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:125,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:129,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/memtable.cc:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ' key'
    - value
    - s
    argTypes:
    - LookupKey
    - std::string*
    - Status*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: leveldb::MemTable::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/memtable.cc
    functionUses: 0
    functionsReached:
    - Slice
    - comparator::user_comparator
    - node::TxDownloadManager::ReceivedNotFound
    - Slice::data
    - DecodeFixed64
    - Table::Iterator::key
    - GetVarint32Ptr
    - Slice::size
    - Table::Iterator::Valid
    - static_cast<ValueType>
    - user_key
    - std::string*::assign
    - GetLengthPrefixedSlice
    - memtable_key
    - Table::Iterator::Seek
    linkageType: ''
    returnType: bool
    signature: bool MemTable::Get(const LookupKey& key, std::string* value, Status*
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:27,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:37,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: leveldb::VersionEdit::Clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 2
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void VersionEdit::Clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:43,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:44,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:47,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:48,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:51,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:52,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:55,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:56,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:59,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:60,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:63,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:64,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:65,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:66,1
    - Dst: second::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:66,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:70,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:71,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:72,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:75,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:77,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:78,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:79,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:80,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:81,1
    - Dst: smallest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:81,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:82,1
    - Dst: largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 84
    functionName: leveldb::VersionEdit::EncodeTo
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - smallest::Encode
    - PutLengthPrefixedSlice
    - PutVarint64
    - second::Encode
    - size
    - PutVarint32
    - largest::Encode
    linkageType: ''
    returnType: void
    signature: void VersionEdit::EncodeTo(std::string* dst) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:88,1
    - Dst: InternalKey*::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - input
    - dst
    argTypes:
    - Slice*
    - InternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: leveldb::GetInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - InternalKey*::DecodeFrom
    - leveldb::GetLengthPrefixedSlice
    linkageType: ''
    returnType: bool
    signature: bool GetInternalKey(Slice* input, InternalKey* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - input
    - level
    argTypes:
    - Slice*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: leveldb::GetLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetVarint32
    linkageType: ''
    returnType: bool
    signature: bool GetLevel(Slice* input, int* level)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::VersionEdit::Clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:106,1
    - Dst: GetVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:118,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:121,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:122,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:130,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:138,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:146,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:154,1
    - Dst: GetLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:162,1
    - Dst: GetInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:162,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:163,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:163,1
    - Dst: GetLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:170,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:170,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:171,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:171,1
    - Dst: GetLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:178,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:178,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:179,1
    - Dst: GetInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:180,1
    - Dst: GetInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:181,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:182,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:182,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:194,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:200,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 203
    functionName: leveldb::VersionEdit::DecodeFrom
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - GetInternalKey
    - std::make_pair
    - GetVarint32
    - leveldb::VersionEdit::Clear
    - push_back
    - insert
    - GetLevel
    - GetVarint64
    - leveldb::log::Reader::ReportCorruption
    - Slice::ToString
    - GetLengthPrefixedSlice
    - Slice::empty
    linkageType: ''
    returnType: Status
    signature: Status VersionEdit::DecodeFrom(const Slice& src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:207,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:209,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:210,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:213,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:214,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:217,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:218,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:221,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:222,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:225,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:226,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:228,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:229,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:230,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:231,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:232,1
    - Dst: second::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:232,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:235,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:236,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:237,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:238,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:240,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:242,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:243,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:244,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:245,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:246,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:247,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:248,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:249,1
    - Dst: smallest::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:249,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:250,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:251,1
    - Dst: largest::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:251,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 255
    functionName: leveldb::VersionEdit::DebugString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - second::DebugString
    - largest::DebugString
    - size
    - std::string::append
    - AppendNumberTo
    - smallest::DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string VersionEdit::DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:27,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:37,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: leveldb::VersionEdit::Clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 3
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void VersionEdit::Clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:43,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:44,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:47,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:48,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:51,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:52,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:55,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:56,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:59,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:60,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:63,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:64,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:65,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:66,1
    - Dst: second::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:66,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:70,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:71,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:72,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:75,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:77,1
    - Dst: PutVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:78,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:79,1
    - Dst: PutVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:80,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:81,1
    - Dst: smallest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:81,1
    - Dst: PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:82,1
    - Dst: largest::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - dst
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 84
    functionName: leveldb::VersionEdit::EncodeTo
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - smallest::Encode
    - PutLengthPrefixedSlice
    - PutVarint64
    - second::Encode
    - size
    - PutVarint32
    - largest::Encode
    linkageType: ''
    returnType: void
    signature: void VersionEdit::EncodeTo(std::string* dst) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:88,1
    - Dst: InternalKey*::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - input
    - dst
    argTypes:
    - Slice*
    - InternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: leveldb::GetInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - InternalKey*::DecodeFrom
    - leveldb::GetLengthPrefixedSlice
    linkageType: ''
    returnType: bool
    signature: bool GetInternalKey(Slice* input, InternalKey* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - input
    - level
    argTypes:
    - Slice*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: leveldb::GetLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetVarint32
    linkageType: ''
    returnType: bool
    signature: bool GetLevel(Slice* input, int* level)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::VersionEdit::Clear
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:106,1
    - Dst: GetVarint32
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:118,1
    - Dst: GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:121,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:122,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:130,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:138,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:146,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:154,1
    - Dst: GetLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:162,1
    - Dst: GetInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:162,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:163,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:163,1
    - Dst: GetLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:170,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:170,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:171,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:171,1
    - Dst: GetLevel
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:178,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:178,1
    - Dst: GetVarint64
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:179,1
    - Dst: GetInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:180,1
    - Dst: GetInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:181,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:182,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:182,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:194,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:200,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 203
    functionName: leveldb::VersionEdit::DecodeFrom
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - GetInternalKey
    - std::make_pair
    - GetVarint32
    - leveldb::VersionEdit::Clear
    - push_back
    - insert
    - GetLevel
    - GetVarint64
    - leveldb::log::Reader::ReportCorruption
    - Slice::ToString
    - GetLengthPrefixedSlice
    - Slice::empty
    linkageType: ''
    returnType: Status
    signature: Status VersionEdit::DecodeFrom(const Slice& src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:207,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:209,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:210,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:213,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:214,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:217,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:218,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:221,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:222,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:225,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:226,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:228,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:229,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:230,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:231,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:232,1
    - Dst: second::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:232,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:235,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:236,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:237,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:238,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:240,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:242,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:243,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:244,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:245,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:246,1
    - Dst: AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:247,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:248,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:249,1
    - Dst: smallest::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:249,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:250,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:251,1
    - Dst: largest::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:251,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/version_edit.cc:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 255
    functionName: leveldb::VersionEdit::DebugString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit.cc
    functionUses: 0
    functionsReached:
    - second::DebugString
    - largest::DebugString
    - size
    - std::string::append
    - AppendNumberTo
    - smallest::DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string VersionEdit::DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:12,1
    - Dst: VersionEdit::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:14,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:15,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:15,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:15,1
    - Dst: VersionEdit::EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:16,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' edit'
    argTypes:
    - VersionEdit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: leveldb::TestEncodeDecode
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc
    functionUses: 0
    functionsReached:
    - EncodeTo
    - VersionEdit::DecodeFrom
    - ASSERT_EQ
    - ASSERT_TRUE
    - Status::ToString
    - VersionEdit::EncodeTo
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void TestEncodeDecode(const VersionEdit& edit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestEncodeDecode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:27,1
    - Dst: VersionEdit::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:28,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:29,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:30,1
    - Dst: VersionEdit::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:31,1
    - Dst: VersionEdit::SetCompactPointer
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:32,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:32,1
    - Dst: VersionEdit::SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:35,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:36,1
    - Dst: VersionEdit::SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:37,1
    - Dst: VersionEdit::SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:38,1
    - Dst: leveldb::TestEncodeDecode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 40
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc
    functionUses: 0
    functionsReached:
    - VersionEdit::SetNextFile
    - VersionEdit::SetLogNumber
    - VersionEdit::SetLastSequence
    - VersionEdit::DeleteFile
    - leveldb::TestEncodeDecode
    - VersionEdit::SetCompactPointer
    - InternalKey
    - VersionEdit::SetComparatorName
    - VersionEdit::AddFile
    linkageType: ''
    returnType: void
    signature: void TEST(VersionEditTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:12,1
    - Dst: VersionEdit::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:14,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:15,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:15,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:15,1
    - Dst: VersionEdit::EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:16,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' edit'
    argTypes:
    - VersionEdit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: leveldb::TestEncodeDecode
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc
    functionUses: 1
    functionsReached:
    - EncodeTo
    - VersionEdit::DecodeFrom
    - ASSERT_EQ
    - ASSERT_TRUE
    - Status::ToString
    - VersionEdit::EncodeTo
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void TestEncodeDecode(const VersionEdit& edit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TestEncodeDecode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:27,1
    - Dst: VersionEdit::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:28,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:29,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:30,1
    - Dst: VersionEdit::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:31,1
    - Dst: VersionEdit::SetCompactPointer
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:32,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:32,1
    - Dst: VersionEdit::SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:35,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:36,1
    - Dst: VersionEdit::SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:37,1
    - Dst: VersionEdit::SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:38,1
    - Dst: leveldb::TestEncodeDecode
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 40
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc
    functionUses: 0
    functionsReached:
    - VersionEdit::SetNextFile
    - VersionEdit::SetLogNumber
    - VersionEdit::SetLastSequence
    - VersionEdit::DeleteFile
    - leveldb::TestEncodeDecode
    - VersionEdit::SetCompactPointer
    - InternalKey
    - VersionEdit::SetComparatorName
    - VersionEdit::AddFile
    linkageType: ''
    returnType: void
    signature: void TEST(VersionEditTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_edit_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: leveldb::ParsedInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsedInternalKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' u'
    - ' seq'
    - t
    argTypes:
    - Slice
    - SequenceNumber
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: leveldb::ParsedInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsedInternalKey(const Slice& u, const SequenceNumber& seq, ValueType
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: user_key::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - ParsedInternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: leveldb::InternalKeyEncodingLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - user_key::size
    linkageType: ''
    returnType: size_t
    signature: size_t InternalKeyEncodingLength(const ParsedInternalKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:96,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:96,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:97,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:97,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' internal_key'
    argTypes:
    - Slice
    assertStmts:
    - condition: (internal_key.size() >= 8)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.h
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: leveldb::ExtractUserKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - leveldb::data
    - leveldb::size
    - assert
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice ExtractUserKey(const Slice& internal_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Comparator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: leveldb::InternalKeyComparator::InternalKeyComparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalKeyComparator(const Comparator* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: leveldb::InternalKeyComparator::user_comparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Comparator
    signature: Comparator * user_comparator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - FilterPolicy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: leveldb::InternalFilterPolicy::InternalFilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalFilterPolicy(const FilterPolicy* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: leveldb::InternalKey::InternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:141,1
    - Dst: ParsedInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' user_key'
    - s
    - t
    argTypes:
    - Slice
    - SequenceNumber
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: leveldb::InternalKey::InternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - AppendInternalKey
    - ParsedInternalKey
    linkageType: ''
    returnType: void
    signature: void InternalKey(const Slice& user_key, SequenceNumber s, ValueType
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:145,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:145,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:145,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: leveldb::InternalKey::DecodeFrom
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - data
    - empty
    - assign
    - size
    linkageType: ''
    returnType: bool
    signature: bool DecodeFrom(const Slice& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:150,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!rep_.empty())
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.h
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: leveldb::InternalKey::Encode
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: Slice
    signature: Slice Encode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: leveldb::InternalKey::user_key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - ExtractUserKey
    linkageType: ''
    returnType: Slice
    signature: Slice user_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:157,1
    - Dst: AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ParsedInternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: leveldb::InternalKey::SetFrom
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - AppendInternalKey
    - clear
    linkageType: ''
    returnType: void
    signature: void SetFrom(const ParsedInternalKey& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: leveldb::InternalKey::Clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:168,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:168,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - InternalKey
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: leveldb::InternalKeyComparator::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 7
    functionsReached:
    - leveldb::InternalKeyComparator::Compare
    - Encode
    linkageType: ''
    returnType: int
    signature: "int InternalKeyComparator::Compare(const InternalKey& a,\n                                          const
      InternalKey& b) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:173,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:175,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:175,1
    - Dst: static_cast<ValueType>
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:178,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:179,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:179,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' internal_key'
    - result
    argTypes:
    - Slice
    - ParsedInternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: leveldb::ParseInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 12
    functionsReached:
    - leveldb::Slice
    - static_cast<uint8_t>
    - leveldb::DecodeFixed64
    - leveldb::data
    - static_cast<ValueType>
    - leveldb::size
    linkageType: ''
    returnType: bool
    signature: "bool ParseInternalKey(const Slice& internal_key,\n                             ParsedInternalKey*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: leveldb::LookupKey::LookupKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LookupKey(const LookupKey&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator=(const LookupKey&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LookupKey
    signature: LookupKey & operator=(const LookupKey&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: leveldb::LookupKey::memtable_key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - Slice
    linkageType: ''
    returnType: Slice
    signature: Slice memtable_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: leveldb::LookupKey::internal_key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - Slice
    linkageType: ''
    returnType: Slice
    signature: Slice internal_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: leveldb::LookupKey::user_key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - Slice
    linkageType: ''
    returnType: Slice
    signature: Slice user_key() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: LookupKey::~LookupKey()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LookupKey::~LookupKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: leveldb::ParsedInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsedInternalKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' u'
    - ' seq'
    - t
    argTypes:
    - Slice
    - SequenceNumber
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: leveldb::ParsedInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsedInternalKey(const Slice& u, const SequenceNumber& seq, ValueType
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: user_key::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - ParsedInternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: leveldb::InternalKeyEncodingLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - user_key::size
    linkageType: ''
    returnType: size_t
    signature: size_t InternalKeyEncodingLength(const ParsedInternalKey& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:96,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:96,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:97,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:97,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' internal_key'
    argTypes:
    - Slice
    assertStmts:
    - condition: (internal_key.size() >= 8)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.h
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: leveldb::ExtractUserKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - leveldb::data
    - leveldb::size
    - assert
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice ExtractUserKey(const Slice& internal_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Comparator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: leveldb::InternalKeyComparator::InternalKeyComparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalKeyComparator(const Comparator* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: leveldb::InternalKeyComparator::user_comparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Comparator
    signature: Comparator * user_comparator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - FilterPolicy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: leveldb::InternalFilterPolicy::InternalFilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalFilterPolicy(const FilterPolicy* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: leveldb::InternalKey::InternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:141,1
    - Dst: ParsedInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' user_key'
    - s
    - t
    argTypes:
    - Slice
    - SequenceNumber
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: leveldb::InternalKey::InternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - AppendInternalKey
    - ParsedInternalKey
    linkageType: ''
    returnType: void
    signature: void InternalKey(const Slice& user_key, SequenceNumber s, ValueType
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:145,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:145,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:145,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: leveldb::InternalKey::DecodeFrom
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - data
    - empty
    - assign
    - size
    linkageType: ''
    returnType: bool
    signature: bool DecodeFrom(const Slice& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:150,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!rep_.empty())
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/bitcoin-core/src/leveldb/db/dbformat.h
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: leveldb::InternalKey::Encode
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: Slice
    signature: Slice Encode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtractUserKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: leveldb::InternalKey::user_key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - ExtractUserKey
    linkageType: ''
    returnType: Slice
    signature: Slice user_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:157,1
    - Dst: AppendInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - ParsedInternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: leveldb::InternalKey::SetFrom
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - AppendInternalKey
    - clear
    linkageType: ''
    returnType: void
    signature: void SetFrom(const ParsedInternalKey& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: leveldb::InternalKey::Clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::InternalKeyComparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:168,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:168,1
    - Dst: Encode
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - InternalKey
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: leveldb::InternalKeyComparator::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 8
    functionsReached:
    - leveldb::InternalKeyComparator::Compare
    - Encode
    linkageType: ''
    returnType: int
    signature: "int InternalKeyComparator::Compare(const InternalKey& a,\n                                          const
      InternalKey& b) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:173,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:175,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:175,1
    - Dst: static_cast<ValueType>
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:178,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:179,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:179,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' internal_key'
    - result
    argTypes:
    - Slice
    - ParsedInternalKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: leveldb::ParseInternalKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 12
    functionsReached:
    - leveldb::Slice
    - static_cast<uint8_t>
    - leveldb::DecodeFixed64
    - leveldb::data
    - static_cast<ValueType>
    - leveldb::size
    linkageType: ''
    returnType: bool
    signature: "bool ParseInternalKey(const Slice& internal_key,\n                             ParsedInternalKey*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: leveldb::LookupKey::LookupKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LookupKey(const LookupKey&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator=(const LookupKey&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LookupKey
    signature: LookupKey & operator=(const LookupKey&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: leveldb::LookupKey::memtable_key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - Slice
    linkageType: ''
    returnType: Slice
    signature: Slice memtable_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: leveldb::LookupKey::internal_key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - Slice
    linkageType: ''
    returnType: Slice
    signature: Slice internal_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/dbformat.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: leveldb::LookupKey::user_key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached:
    - Slice
    linkageType: ''
    returnType: Slice
    signature: Slice user_key() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: LookupKey::~LookupKey()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/dbformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LookupKey::~LookupKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: leveldb::log::Reader::Reader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const Reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const Reader&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reader
    signature: Reader & operator=(const Reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: leveldb::log::Reader::Reader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const Reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const Reader&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reader
    signature: Reader & operator=(const Reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: leveldb::log::Reader::Reader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const Reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const Reader&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reader
    signature: Reader & operator=(const Reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: leveldb::log::Reader::Reader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const Reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const Reader&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reader
    signature: Reader & operator=(const Reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:20,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:21,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' partial_string'
    - n
    argTypes:
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: leveldb::log::BigString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::append
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: std::string BigString(const std::string& partial_string, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:30,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: leveldb::log::NumberString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string NumberString(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    - Dst: Random*::Skewed
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - rnd
    argTypes:
    - int
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: leveldb::log::RandomSkewedString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Random*::Skewed
    - leveldb::log::NumberString
    - leveldb::log::BigString
    linkageType: ''
    returnType: std::string
    signature: std::string RandomSkewedString(int i, Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:43,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: leveldb::log::LogTest::LogTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Writer::Writer
    - Reader::Reader
    linkageType: ''
    returnType: void
    signature: void LogTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ~LogTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LogTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:54,1
    - Dst: Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: leveldb::log::LogTest::ReopenForAppend
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Writer::Writer
    - contents_::size
    linkageType: ''
    returnType: void
    signature: void ReopenForAppend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:58,1
    - Dst: AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:59,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: leveldb::log::LogTest::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - ASSERT_TRUE
    - AddRecord
    linkageType: ''
    returnType: void
    signature: void Write(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: leveldb::log::LogTest::WrittenBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - contents_::size
    linkageType: ''
    returnType: size_t
    signature: size_t WrittenBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:67,1
    - Dst: ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:71,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: leveldb::log::LogTest::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice::ToString
    - Slice
    - ReadRecord
    linkageType: ''
    returnType: std::string
    signature: std::string Read()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - delta
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: leveldb::log::LogTest::IncrementByte
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementByte(int offset, int delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - new_byte
    argTypes:
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: leveldb::log::LogTest::SetByte
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetByte(int offset, char new_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::resize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:87,1
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: leveldb::log::LogTest::ShrinkSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - contents_::resize
    - contents_::size
    linkageType: ''
    returnType: void
    signature: void ShrinkSize(int bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:92,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:93,1
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - header_offset
    - len
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: leveldb::log::LogTest::FixChecksum
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Mask
    - leveldb::crc32c::Value
    - EncodeFixed32
    linkageType: ''
    returnType: void
    signature: void FixChecksum(int header_offset, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: leveldb::log::LogTest::ForceError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForceError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: leveldb::log::LogTest::DroppedBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DroppedBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: leveldb::log::LogTest::ReportMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ReportMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: message_::find
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: leveldb::log::LogTest::MatchError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - message_::find
    linkageType: ''
    returnType: std::string
    signature: std::string MatchError(const std::string& msg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:115,1
    - Dst: leveldb::log::LogTest::Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: leveldb::log::LogTest::WriteInitialOffsetLog
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::log::LogTest::Write
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void WriteInitialOffsetLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - initial_offset
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: leveldb::log::LogTest::StartReadingAt
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Reader::Reader
    linkageType: ''
    returnType: void
    signature: void StartReadingAt(uint64_t initial_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::LogTest::WriteInitialOffsetLog
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:126,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:128,1
    - Dst: leveldb::log::LogTest::WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:130,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:129,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:133,1
    - Dst: Reader*::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - offset_past_end
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: leveldb::log::LogTest::CheckOffsetPastEndReturnsNoRecords
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Reader*::ReadRecord
    - leveldb::log::LogTest::WrittenBytes
    - leveldb::log::LogTest::WriteInitialOffsetLog
    - Reader::Reader
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void CheckOffsetPastEndReturnsNoRecords(uint64_t offset_past_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::LogTest::WriteInitialOffsetLog
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:139,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:141,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:143,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:146,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:151,1
    - Dst: Reader*::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:152,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:154,1
    - Dst: Reader*::LastRecordOffset
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:156,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - initial_offset
    - expected_record_offset
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: leveldb::log::LogTest::CheckInitialOffsetRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Reader*::ReadRecord
    - Reader*::LastRecordOffset
    - leveldb::log::LogTest::WriteInitialOffsetLog
    - Slice::data
    - Reader::Reader
    - ASSERT_EQ
    - ASSERT_TRUE
    - Slice::size
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: "void CheckInitialOffsetRecord(uint64_t initial_offset,\n                                int
      expected_record_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: leveldb::log::LogTest::StringDest::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: leveldb::log::LogTest::StringDest::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: leveldb::log::LogTest::StringDest::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' slice'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: leveldb::log::LogTest::StringDest::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - data
    - leveldb::OK
    - append
    - size
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& slice) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: leveldb::log::LogTest::StringDest::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: leveldb::log::LogTest::StringSource::StringSource
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringSource()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:181,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:186,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:189,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:190,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:193,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:193,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:194,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: leveldb::log::LogTest::StringSource::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - remove_prefix
    - leveldb::OK
    - size
    - data
    - leveldb::log::Reader::ReportCorruption
    - ASSERT_TRUE
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:199,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:200,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:201,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:204,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: leveldb::log::LogTest::StringSource::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - remove_prefix
    - node::TxDownloadManager::ReceivedNotFound
    - leveldb::OK
    - size
    - clear
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: leveldb::log::LogTest::StringSource::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: leveldb::log::LogTest::ReportCollector::ReportCollector
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:220,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' status'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: leveldb::log::LogTest::ReportCollector::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    - append
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& status) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:263,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:266,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:267,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:268,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:269,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:270,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:270,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:271,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:272,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:273,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:274,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:275,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:280,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:280,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:285,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::NumberString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ManyBlocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:289,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:290,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:290,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:291,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:292,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:295,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::BigString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:301,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:301,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:302,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:302,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:303,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:306,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:307,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:308,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MarginalTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:314,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:314,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:315,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:315,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:318,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:319,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:320,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:320,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:321,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MarginalTrailer2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:326,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:327,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:327,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:328,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:331,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:331,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:332,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:333,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ShortTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:338,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:339,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:341,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, AlignedEof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:345,1
    - Dst: ReopenForAppend
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:346,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:348,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:349,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:350,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ReopenForAppend
    - Write
    - Read
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, OpenForAppend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:357,1
    - Dst: leveldb::log::RandomSkewedString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: leveldb::log::RandomSkewedString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:363,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::RandomSkewedString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, RandomRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:369,1
    - Dst: ForceError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:371,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:372,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:373,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ForceError
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:377,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:379,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:381,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:382,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:383,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadRecordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:387,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:389,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:391,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:392,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, TruncatedTrailingRecordIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:397,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:397,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:398,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:401,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:402,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:402,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:403,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:407,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:409,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:410,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:411,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadLengthAtEndIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:415,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:417,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:418,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:419,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ChecksumMismatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:423,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:424,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:426,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:426,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:427,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:428,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedMiddleType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:432,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:433,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:434,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:435,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:435,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:436,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:437,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedLastType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:441,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:442,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:443,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:444,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:445,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:446,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:447,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:448,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedFullType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:452,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:453,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:453,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:454,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:457,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:458,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:459,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedFirstType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:463,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:463,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:466,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:467,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:468,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MissingLastIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:472,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:472,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:475,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:476,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:477,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, PartialLastIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:486,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:486,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:487,1
    - Dst: StartReadingAt
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:490,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:491,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:492,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:493,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - StartReadingAt
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, SkipIntoMultiRecord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:503,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:503,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:504,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:504,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:505,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:512,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:512,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:513,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:513,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:514,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:515,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 517
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - DroppedBytes
    - Read
    - ASSERT_GE
    - ASSERT_EQ
    - SetByte
    - Write
    - ASSERT_LE
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ErrorJoinsRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 523
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondTenThousand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadThirdOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadThirdStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthFirstBlockTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthMiddleBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthLastBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadInitialOffsetIntoBlockPadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOffsetPastEndReturnsNoRecords
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 555
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckOffsetPastEndReturnsNoRecords
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOffsetPastEndReturnsNoRecords
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckOffsetPastEndReturnsNoRecords
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadPastEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:20,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:21,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' partial_string'
    - n
    argTypes:
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: leveldb::log::BigString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 12
    functionsReached:
    - std::string::size
    - std::string::append
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: std::string BigString(const std::string& partial_string, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:30,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: leveldb::log::NumberString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 2
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string NumberString(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    - Dst: Random*::Skewed
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - rnd
    argTypes:
    - int
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: leveldb::log::RandomSkewedString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 1
    functionsReached:
    - Random*::Skewed
    - leveldb::log::NumberString
    - leveldb::log::BigString
    linkageType: ''
    returnType: std::string
    signature: std::string RandomSkewedString(int i, Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:43,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: leveldb::log::LogTest::LogTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Writer::Writer
    - Reader::Reader
    linkageType: ''
    returnType: void
    signature: void LogTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ~LogTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LogTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:54,1
    - Dst: Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: leveldb::log::LogTest::ReopenForAppend
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Writer::Writer
    - contents_::size
    linkageType: ''
    returnType: void
    signature: void ReopenForAppend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:58,1
    - Dst: AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:59,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: leveldb::log::LogTest::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 1
    functionsReached:
    - Slice
    - ASSERT_TRUE
    - AddRecord
    linkageType: ''
    returnType: void
    signature: void Write(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: leveldb::log::LogTest::WrittenBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 1
    functionsReached:
    - contents_::size
    linkageType: ''
    returnType: size_t
    signature: size_t WrittenBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:67,1
    - Dst: ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:71,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: leveldb::log::LogTest::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice::ToString
    - Slice
    - ReadRecord
    linkageType: ''
    returnType: std::string
    signature: std::string Read()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - delta
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: leveldb::log::LogTest::IncrementByte
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementByte(int offset, int delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - new_byte
    argTypes:
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: leveldb::log::LogTest::SetByte
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetByte(int offset, char new_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::resize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:87,1
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: leveldb::log::LogTest::ShrinkSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - contents_::resize
    - contents_::size
    linkageType: ''
    returnType: void
    signature: void ShrinkSize(int bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:92,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:93,1
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - header_offset
    - len
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: leveldb::log::LogTest::FixChecksum
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Mask
    - leveldb::crc32c::Value
    - EncodeFixed32
    linkageType: ''
    returnType: void
    signature: void FixChecksum(int header_offset, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: leveldb::log::LogTest::ForceError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForceError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: leveldb::log::LogTest::DroppedBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DroppedBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: leveldb::log::LogTest::ReportMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ReportMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: message_::find
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: leveldb::log::LogTest::MatchError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - message_::find
    linkageType: ''
    returnType: std::string
    signature: std::string MatchError(const std::string& msg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:115,1
    - Dst: leveldb::log::LogTest::Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: leveldb::log::LogTest::WriteInitialOffsetLog
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::log::LogTest::Write
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void WriteInitialOffsetLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - initial_offset
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: leveldb::log::LogTest::StartReadingAt
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Reader::Reader
    linkageType: ''
    returnType: void
    signature: void StartReadingAt(uint64_t initial_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::LogTest::WriteInitialOffsetLog
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:126,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:128,1
    - Dst: leveldb::log::LogTest::WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:130,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:129,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:133,1
    - Dst: Reader*::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - offset_past_end
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: leveldb::log::LogTest::CheckOffsetPastEndReturnsNoRecords
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Reader*::ReadRecord
    - leveldb::log::LogTest::WrittenBytes
    - leveldb::log::LogTest::WriteInitialOffsetLog
    - Reader::Reader
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void CheckOffsetPastEndReturnsNoRecords(uint64_t offset_past_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::LogTest::WriteInitialOffsetLog
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:139,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:141,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:143,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:146,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:151,1
    - Dst: Reader*::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:152,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:154,1
    - Dst: Reader*::LastRecordOffset
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:156,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - initial_offset
    - expected_record_offset
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: leveldb::log::LogTest::CheckInitialOffsetRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Reader*::ReadRecord
    - Reader*::LastRecordOffset
    - leveldb::log::LogTest::WriteInitialOffsetLog
    - Slice::data
    - Reader::Reader
    - ASSERT_EQ
    - ASSERT_TRUE
    - Slice::size
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: "void CheckInitialOffsetRecord(uint64_t initial_offset,\n                                int
      expected_record_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: leveldb::log::LogTest::StringDest::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: leveldb::log::LogTest::StringDest::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: leveldb::log::LogTest::StringDest::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' slice'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: leveldb::log::LogTest::StringDest::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - data
    - leveldb::OK
    - append
    - size
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& slice) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: leveldb::log::LogTest::StringDest::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: leveldb::log::LogTest::StringSource::StringSource
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringSource()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:181,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:186,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:189,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:190,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:193,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:193,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:194,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: leveldb::log::LogTest::StringSource::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - remove_prefix
    - leveldb::OK
    - size
    - data
    - leveldb::log::Reader::ReportCorruption
    - ASSERT_TRUE
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:199,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:200,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:201,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:204,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: leveldb::log::LogTest::StringSource::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - remove_prefix
    - node::TxDownloadManager::ReceivedNotFound
    - leveldb::OK
    - size
    - clear
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: leveldb::log::LogTest::StringSource::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: leveldb::log::LogTest::ReportCollector::ReportCollector
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:220,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' status'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: leveldb::log::LogTest::ReportCollector::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    - append
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& status) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:263,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:266,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:267,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:268,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:269,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:270,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:270,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:271,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:272,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:273,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:274,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:275,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:280,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:280,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:285,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::NumberString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ManyBlocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:289,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:290,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:290,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:291,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:292,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:295,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::BigString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:301,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:301,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:302,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:302,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:303,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:306,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:307,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:308,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MarginalTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:314,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:314,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:315,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:315,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:318,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:319,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:320,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:320,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:321,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MarginalTrailer2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:326,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:327,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:327,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:328,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:331,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:331,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:332,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:333,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ShortTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:338,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:339,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:341,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, AlignedEof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:345,1
    - Dst: ReopenForAppend
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:346,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:348,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:349,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:350,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ReopenForAppend
    - Write
    - Read
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, OpenForAppend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:357,1
    - Dst: leveldb::log::RandomSkewedString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: leveldb::log::RandomSkewedString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:363,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::RandomSkewedString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, RandomRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:369,1
    - Dst: ForceError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:371,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:372,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:373,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ForceError
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:377,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:379,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:381,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:382,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:383,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadRecordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:387,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:389,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:391,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:392,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, TruncatedTrailingRecordIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:397,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:397,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:398,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:401,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:402,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:402,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:403,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:407,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:409,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:410,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:411,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadLengthAtEndIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:415,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:417,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:418,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:419,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ChecksumMismatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:423,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:424,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:426,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:426,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:427,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:428,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedMiddleType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:432,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:433,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:434,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:435,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:435,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:436,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:437,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedLastType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:441,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:442,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:443,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:444,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:445,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:446,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:447,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:448,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedFullType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:452,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:453,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:453,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:454,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:457,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:458,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:459,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedFirstType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:463,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:463,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:466,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:467,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:468,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MissingLastIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:472,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:472,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:475,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:476,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:477,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, PartialLastIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:486,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:486,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:487,1
    - Dst: StartReadingAt
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:490,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:491,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:492,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:493,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - StartReadingAt
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, SkipIntoMultiRecord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:503,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:503,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:504,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:504,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:505,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:512,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:512,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:513,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:513,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:514,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:515,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 517
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - DroppedBytes
    - Read
    - ASSERT_GE
    - ASSERT_EQ
    - SetByte
    - Write
    - ASSERT_LE
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ErrorJoinsRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 523
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondTenThousand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadThirdOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadThirdStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthFirstBlockTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthMiddleBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthLastBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadInitialOffsetIntoBlockPadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOffsetPastEndReturnsNoRecords
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 555
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckOffsetPastEndReturnsNoRecords
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOffsetPastEndReturnsNoRecords
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckOffsetPastEndReturnsNoRecords
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadPastEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:20,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:21,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' partial_string'
    - n
    argTypes:
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: leveldb::log::BigString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 24
    functionsReached:
    - std::string::size
    - std::string::append
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: std::string BigString(const std::string& partial_string, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:30,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: leveldb::log::NumberString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 4
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string NumberString(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    - Dst: Random*::Skewed
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - rnd
    argTypes:
    - int
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: leveldb::log::RandomSkewedString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 2
    functionsReached:
    - Random*::Skewed
    - leveldb::log::NumberString
    - leveldb::log::BigString
    linkageType: ''
    returnType: std::string
    signature: std::string RandomSkewedString(int i, Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:43,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: leveldb::log::LogTest::LogTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Writer::Writer
    - Reader::Reader
    linkageType: ''
    returnType: void
    signature: void LogTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ~LogTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LogTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:54,1
    - Dst: Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: leveldb::log::LogTest::ReopenForAppend
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Writer::Writer
    - contents_::size
    linkageType: ''
    returnType: void
    signature: void ReopenForAppend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:58,1
    - Dst: AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:59,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: leveldb::log::LogTest::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 2
    functionsReached:
    - Slice
    - ASSERT_TRUE
    - AddRecord
    linkageType: ''
    returnType: void
    signature: void Write(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: leveldb::log::LogTest::WrittenBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 2
    functionsReached:
    - contents_::size
    linkageType: ''
    returnType: size_t
    signature: size_t WrittenBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:67,1
    - Dst: ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:71,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: leveldb::log::LogTest::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice::ToString
    - Slice
    - ReadRecord
    linkageType: ''
    returnType: std::string
    signature: std::string Read()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - delta
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: leveldb::log::LogTest::IncrementByte
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementByte(int offset, int delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - new_byte
    argTypes:
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: leveldb::log::LogTest::SetByte
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetByte(int offset, char new_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::resize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:87,1
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: leveldb::log::LogTest::ShrinkSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - contents_::resize
    - contents_::size
    linkageType: ''
    returnType: void
    signature: void ShrinkSize(int bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:92,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:93,1
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - header_offset
    - len
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: leveldb::log::LogTest::FixChecksum
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Mask
    - leveldb::crc32c::Value
    - EncodeFixed32
    linkageType: ''
    returnType: void
    signature: void FixChecksum(int header_offset, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: leveldb::log::LogTest::ForceError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForceError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: leveldb::log::LogTest::DroppedBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DroppedBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: leveldb::log::LogTest::ReportMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ReportMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: message_::find
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: leveldb::log::LogTest::MatchError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - message_::find
    linkageType: ''
    returnType: std::string
    signature: std::string MatchError(const std::string& msg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:115,1
    - Dst: leveldb::log::LogTest::Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: leveldb::log::LogTest::WriteInitialOffsetLog
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 4
    functionsReached:
    - leveldb::log::LogTest::Write
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void WriteInitialOffsetLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - initial_offset
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: leveldb::log::LogTest::StartReadingAt
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Reader::Reader
    linkageType: ''
    returnType: void
    signature: void StartReadingAt(uint64_t initial_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::LogTest::WriteInitialOffsetLog
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:126,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:128,1
    - Dst: leveldb::log::LogTest::WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:130,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:129,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:133,1
    - Dst: Reader*::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - offset_past_end
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: leveldb::log::LogTest::CheckOffsetPastEndReturnsNoRecords
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Reader*::ReadRecord
    - leveldb::log::LogTest::WrittenBytes
    - leveldb::log::LogTest::WriteInitialOffsetLog
    - Reader::Reader
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void CheckOffsetPastEndReturnsNoRecords(uint64_t offset_past_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::LogTest::WriteInitialOffsetLog
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:139,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:141,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:143,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:146,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:151,1
    - Dst: Reader*::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:152,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:154,1
    - Dst: Reader*::LastRecordOffset
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:156,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - initial_offset
    - expected_record_offset
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: leveldb::log::LogTest::CheckInitialOffsetRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Reader*::ReadRecord
    - Reader*::LastRecordOffset
    - leveldb::log::LogTest::WriteInitialOffsetLog
    - Slice::data
    - Reader::Reader
    - ASSERT_EQ
    - ASSERT_TRUE
    - Slice::size
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: "void CheckInitialOffsetRecord(uint64_t initial_offset,\n                                int
      expected_record_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: leveldb::log::LogTest::StringDest::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: leveldb::log::LogTest::StringDest::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: leveldb::log::LogTest::StringDest::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' slice'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: leveldb::log::LogTest::StringDest::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - data
    - leveldb::OK
    - append
    - size
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& slice) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: leveldb::log::LogTest::StringDest::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: leveldb::log::LogTest::StringSource::StringSource
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringSource()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:181,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:186,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:189,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:190,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:193,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:193,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:194,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: leveldb::log::LogTest::StringSource::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - remove_prefix
    - leveldb::OK
    - size
    - data
    - leveldb::log::Reader::ReportCorruption
    - ASSERT_TRUE
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:199,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:200,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:201,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:204,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: leveldb::log::LogTest::StringSource::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - remove_prefix
    - node::TxDownloadManager::ReceivedNotFound
    - leveldb::OK
    - size
    - clear
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: leveldb::log::LogTest::StringSource::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: leveldb::log::LogTest::ReportCollector::ReportCollector
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:220,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' status'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: leveldb::log::LogTest::ReportCollector::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    - append
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& status) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:263,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:266,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:267,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:268,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:269,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:270,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:270,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:271,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:272,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:273,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:274,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:275,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:280,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:280,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:285,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::NumberString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ManyBlocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:289,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:290,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:290,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:291,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:292,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:295,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::BigString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:301,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:301,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:302,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:302,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:303,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:306,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:307,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:308,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MarginalTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:314,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:314,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:315,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:315,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:318,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:319,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:320,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:320,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:321,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MarginalTrailer2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:326,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:327,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:327,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:328,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:331,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:331,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:332,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:333,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ShortTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:338,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:339,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:341,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, AlignedEof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:345,1
    - Dst: ReopenForAppend
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:346,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:348,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:349,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:350,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ReopenForAppend
    - Write
    - Read
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, OpenForAppend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:357,1
    - Dst: leveldb::log::RandomSkewedString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: leveldb::log::RandomSkewedString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:363,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::RandomSkewedString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, RandomRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:369,1
    - Dst: ForceError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:371,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:372,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:373,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ForceError
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:377,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:379,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:381,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:382,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:383,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadRecordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:387,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:389,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:391,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:392,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, TruncatedTrailingRecordIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:397,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:397,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:398,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:401,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:402,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:402,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:403,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:407,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:409,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:410,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:411,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadLengthAtEndIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:415,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:417,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:418,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:419,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ChecksumMismatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:423,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:424,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:426,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:426,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:427,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:428,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedMiddleType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:432,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:433,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:434,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:435,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:435,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:436,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:437,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedLastType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:441,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:442,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:443,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:444,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:445,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:446,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:447,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:448,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedFullType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:452,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:453,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:453,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:454,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:457,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:458,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:459,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedFirstType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:463,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:463,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:466,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:467,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:468,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MissingLastIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:472,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:472,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:475,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:476,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:477,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, PartialLastIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:486,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:486,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:487,1
    - Dst: StartReadingAt
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:490,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:491,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:492,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:493,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - StartReadingAt
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, SkipIntoMultiRecord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:503,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:503,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:504,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:504,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:505,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:512,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:512,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:513,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:513,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:514,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:515,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 517
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - DroppedBytes
    - Read
    - ASSERT_GE
    - ASSERT_EQ
    - SetByte
    - Write
    - ASSERT_LE
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ErrorJoinsRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 523
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondTenThousand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadThirdOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadThirdStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthFirstBlockTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthMiddleBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthLastBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadInitialOffsetIntoBlockPadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOffsetPastEndReturnsNoRecords
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 555
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckOffsetPastEndReturnsNoRecords
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOffsetPastEndReturnsNoRecords
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckOffsetPastEndReturnsNoRecords
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadPastEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:20,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:21,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' partial_string'
    - n
    argTypes:
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: leveldb::log::BigString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 36
    functionsReached:
    - std::string::size
    - std::string::append
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: std::string BigString(const std::string& partial_string, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:30,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: leveldb::log::NumberString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 6
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string NumberString(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    - Dst: Random*::Skewed
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - rnd
    argTypes:
    - int
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: leveldb::log::RandomSkewedString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 3
    functionsReached:
    - Random*::Skewed
    - leveldb::log::NumberString
    - leveldb::log::BigString
    linkageType: ''
    returnType: std::string
    signature: std::string RandomSkewedString(int i, Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:43,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: leveldb::log::LogTest::LogTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Writer::Writer
    - Reader::Reader
    linkageType: ''
    returnType: void
    signature: void LogTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ~LogTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LogTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:54,1
    - Dst: Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: leveldb::log::LogTest::ReopenForAppend
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Writer::Writer
    - contents_::size
    linkageType: ''
    returnType: void
    signature: void ReopenForAppend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:58,1
    - Dst: AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:59,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: leveldb::log::LogTest::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 3
    functionsReached:
    - Slice
    - ASSERT_TRUE
    - AddRecord
    linkageType: ''
    returnType: void
    signature: void Write(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: leveldb::log::LogTest::WrittenBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 3
    functionsReached:
    - contents_::size
    linkageType: ''
    returnType: size_t
    signature: size_t WrittenBytes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:67,1
    - Dst: ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:71,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: leveldb::log::LogTest::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice::ToString
    - Slice
    - ReadRecord
    linkageType: ''
    returnType: std::string
    signature: std::string Read()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - delta
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: leveldb::log::LogTest::IncrementByte
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementByte(int offset, int delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - new_byte
    argTypes:
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: leveldb::log::LogTest::SetByte
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetByte(int offset, char new_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contents_::resize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:87,1
    - Dst: contents_::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: leveldb::log::LogTest::ShrinkSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - contents_::resize
    - contents_::size
    linkageType: ''
    returnType: void
    signature: void ShrinkSize(int bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:92,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:93,1
    - Dst: EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - header_offset
    - len
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: leveldb::log::LogTest::FixChecksum
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Mask
    - leveldb::crc32c::Value
    - EncodeFixed32
    linkageType: ''
    returnType: void
    signature: void FixChecksum(int header_offset, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: leveldb::log::LogTest::ForceError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForceError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: leveldb::log::LogTest::DroppedBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DroppedBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: leveldb::log::LogTest::ReportMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ReportMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: message_::find
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: leveldb::log::LogTest::MatchError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - message_::find
    linkageType: ''
    returnType: std::string
    signature: std::string MatchError(const std::string& msg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:115,1
    - Dst: leveldb::log::LogTest::Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: leveldb::log::LogTest::WriteInitialOffsetLog
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 6
    functionsReached:
    - leveldb::log::LogTest::Write
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void WriteInitialOffsetLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - initial_offset
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: leveldb::log::LogTest::StartReadingAt
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Reader::Reader
    linkageType: ''
    returnType: void
    signature: void StartReadingAt(uint64_t initial_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::LogTest::WriteInitialOffsetLog
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:126,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:128,1
    - Dst: leveldb::log::LogTest::WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:130,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:129,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:133,1
    - Dst: Reader*::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - offset_past_end
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: leveldb::log::LogTest::CheckOffsetPastEndReturnsNoRecords
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Reader*::ReadRecord
    - leveldb::log::LogTest::WrittenBytes
    - leveldb::log::LogTest::WriteInitialOffsetLog
    - Reader::Reader
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void CheckOffsetPastEndReturnsNoRecords(uint64_t offset_past_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::LogTest::WriteInitialOffsetLog
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:139,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:141,1
    - Dst: Reader::Reader
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:143,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:146,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:151,1
    - Dst: Reader*::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:152,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:154,1
    - Dst: Reader*::LastRecordOffset
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:156,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - initial_offset
    - expected_record_offset
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: leveldb::log::LogTest::CheckInitialOffsetRecord
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - Reader*::ReadRecord
    - Reader*::LastRecordOffset
    - leveldb::log::LogTest::WriteInitialOffsetLog
    - Slice::data
    - Reader::Reader
    - ASSERT_EQ
    - ASSERT_TRUE
    - Slice::size
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: "void CheckInitialOffsetRecord(uint64_t initial_offset,\n                                int
      expected_record_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: leveldb::log::LogTest::StringDest::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: leveldb::log::LogTest::StringDest::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: leveldb::log::LogTest::StringDest::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:168,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' slice'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: leveldb::log::LogTest::StringDest::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - data
    - leveldb::OK
    - append
    - size
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& slice) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: leveldb::log::LogTest::StringDest::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: leveldb::log::LogTest::StringSource::StringSource
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringSource()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:181,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:186,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:189,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:190,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:193,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:193,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:194,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: leveldb::log::LogTest::StringSource::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - remove_prefix
    - leveldb::OK
    - size
    - data
    - leveldb::log::Reader::ReportCorruption
    - ASSERT_TRUE
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:199,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:200,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:201,1
    - Dst: remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:204,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: leveldb::log::LogTest::StringSource::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - remove_prefix
    - node::TxDownloadManager::ReceivedNotFound
    - leveldb::OK
    - size
    - clear
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: leveldb::log::LogTest::StringSource::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: leveldb::log::LogTest::ReportCollector::ReportCollector
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:220,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' status'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: leveldb::log::LogTest::ReportCollector::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    - append
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& status) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:263,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:266,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:267,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:268,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:269,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:270,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:270,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:271,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:272,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:273,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:274,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:275,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:280,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:280,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: leveldb::log::NumberString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:283,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:285,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::NumberString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ManyBlocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:289,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:290,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:290,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:291,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:292,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:294,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:295,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::BigString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, Fragmentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:301,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:301,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:302,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:302,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:303,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:306,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:307,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:308,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MarginalTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:314,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:314,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:315,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:315,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:318,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:319,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:320,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:320,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:321,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MarginalTrailer2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:326,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:327,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:327,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:328,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:330,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:331,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:331,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:332,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:332,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:333,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ShortTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:338,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:339,1
    - Dst: WrittenBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:340,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:341,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - WrittenBytes
    - Read
    - ASSERT_EQ
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, AlignedEof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:345,1
    - Dst: ReopenForAppend
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:346,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:348,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:349,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:350,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ReopenForAppend
    - Write
    - Read
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, OpenForAppend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:357,1
    - Dst: leveldb::log::RandomSkewedString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: leveldb::log::RandomSkewedString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:361,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:363,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - Read
    - Write
    - leveldb::log::RandomSkewedString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, RandomRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:369,1
    - Dst: ForceError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:371,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:372,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:372,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:373,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ForceError
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:377,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:379,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:381,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:382,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:383,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadRecordType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:387,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:389,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:391,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:392,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, TruncatedTrailingRecordIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:397,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:397,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:398,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:401,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:402,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:402,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:403,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:407,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:409,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:410,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:411,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, BadLengthAtEndIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:415,1
    - Dst: IncrementByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:417,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:418,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:419,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - IncrementByte
    - Write
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ChecksumMismatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:423,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:424,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:426,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:426,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:427,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:428,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedMiddleType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:432,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:433,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:434,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:435,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:435,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:436,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:437,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedLastType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:441,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:442,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:443,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:444,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:445,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:446,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:447,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:448,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedFullType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:452,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:453,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:453,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:454,1
    - Dst: FixChecksum
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:457,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:458,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:459,1
    - Dst: MatchError
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - MatchError
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - SetByte
    - Write
    - FixChecksum
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, UnexpectedFirstType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:463,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:463,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:466,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:467,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:468,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, MissingLastIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:472,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:472,1
    - Dst: ShrinkSize
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:475,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:476,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:477,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - ShrinkSize
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, PartialLastIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:486,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:486,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:487,1
    - Dst: StartReadingAt
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:490,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:491,1
    - Dst: ReportMessage
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:492,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:493,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - DroppedBytes
    - Read
    - ASSERT_EQ
    - ReportMessage
    - StartReadingAt
    - Write
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, SkipIntoMultiRecord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:503,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:503,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:504,1
    - Dst: leveldb::log::BigString
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:504,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:505,1
    - Dst: SetByte
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:512,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:512,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:513,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:513,1
    - Dst: DroppedBytes
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:514,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:515,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 517
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - DroppedBytes
    - Read
    - ASSERT_GE
    - ASSERT_EQ
    - SetByte
    - Write
    - ASSERT_LE
    - leveldb::log::BigString
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ErrorJoinsRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 523
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondTenThousand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadSecondStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadThirdOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadThirdStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthOneOff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthFirstBlockTrailer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthMiddleBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthLastBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadFourthStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckInitialOffsetRecord
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckInitialOffsetRecord
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadInitialOffsetIntoBlockPadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOffsetPastEndReturnsNoRecords
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 555
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckOffsetPastEndReturnsNoRecords
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckOffsetPastEndReturnsNoRecords
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: leveldb::log::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 0
    functionsReached:
    - CheckOffsetPastEndReturnsNoRecords
    linkageType: ''
    returnType: void
    signature: void TEST(LogTest, ReadPastEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/log_test.cc:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 562
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/log_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:41,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:43,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:71,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 73
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - leveldb::ParseFileName
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FileNameTest, Parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:81,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:81,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:81,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:82,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:82,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:84,1
    - Dst: leveldb::LockFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:87,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:87,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:88,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:88,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:90,1
    - Dst: leveldb::LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:93,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:93,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:93,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:94,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:94,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:96,1
    - Dst: leveldb::TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:99,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:99,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:100,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:100,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:102,1
    - Dst: leveldb::DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:105,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:105,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:105,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:106,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:106,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:106,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:108,1
    - Dst: leveldb::TempFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:111,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:111,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:112,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:112,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:113,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:114,1
    - Dst: leveldb::InfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:117,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:117,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:118,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:118,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:120,1
    - Dst: leveldb::OldInfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:123,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:123,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:123,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:124,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:124,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 127
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::TableFileName
    - leveldb::CurrentFileName
    - leveldb::OldInfoLogFileName
    - std::string::data
    - leveldb::LockFileName
    - leveldb::ParseFileName
    - leveldb::LogFileName
    - std::string
    - ASSERT_EQ
    - leveldb::InfoLogFileName
    - ASSERT_TRUE
    - leveldb::DescriptorFileName
    - leveldb::TempFileName
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST(FileNameTest, Construction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:41,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:43,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:71,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 73
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - leveldb::ParseFileName
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FileNameTest, Parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:81,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:81,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:81,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:82,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:82,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:84,1
    - Dst: leveldb::LockFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:87,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:87,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:88,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:88,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:90,1
    - Dst: leveldb::LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:93,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:93,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:93,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:94,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:94,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:96,1
    - Dst: leveldb::TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:99,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:99,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:100,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:100,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:102,1
    - Dst: leveldb::DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:105,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:105,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:105,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:106,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:106,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:106,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:108,1
    - Dst: leveldb::TempFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:111,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:111,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:112,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:112,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:113,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:114,1
    - Dst: leveldb::InfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:117,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:117,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:118,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:118,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:120,1
    - Dst: leveldb::OldInfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:122,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:123,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:123,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:123,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:124,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:124,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 127
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::TableFileName
    - leveldb::CurrentFileName
    - leveldb::OldInfoLogFileName
    - std::string::data
    - leveldb::LockFileName
    - leveldb::ParseFileName
    - leveldb::LogFileName
    - std::string
    - ASSERT_EQ
    - leveldb::InfoLogFileName
    - ASSERT_TRUE
    - leveldb::DescriptorFileName
    - leveldb::TempFileName
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST(FileNameTest, Construction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/filename_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:23,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' dbname'
    - number
    - suffix
    argTypes:
    - std::string
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: leveldb::MakeFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned long long>
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: "std::string MakeFileName(const std::string& dbname, uint64_t number,\n
      \                               const char* suffix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:29,1
    - Dst: leveldb::MakeFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: leveldb::LogFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached:
    - leveldb::MakeFileName
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string LogFileName(const std::string& dbname, uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:34,1
    - Dst: leveldb::MakeFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: leveldb::TableFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached:
    - leveldb::MakeFileName
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string TableFileName(const std::string& dbname, uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:39,1
    - Dst: leveldb::MakeFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: leveldb::SSTTableFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 0
    functionsReached:
    - leveldb::MakeFileName
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string SSTTableFileName(const std::string& dbname, uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:44,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:46,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: leveldb::DescriptorFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached:
    - assert
    - static_cast<unsigned long long>
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string DescriptorFileName(const std::string& dbname, uint64_t
      number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: leveldb::CurrentFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CurrentFileName(const std::string& dbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::LockFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LockFileName(const std::string& dbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:58,1
    - Dst: leveldb::MakeFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: leveldb::TempFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached:
    - leveldb::MakeFileName
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string TempFileName(const std::string& dbname, uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: leveldb::InfoLogFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string InfoLogFileName(const std::string& dbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: leveldb::OldInfoLogFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string OldInfoLogFileName(const std::string& dbname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Slice::starts_with
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:90,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:91,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:91,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:93,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:96,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:105,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:109,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:111,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:111,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:113,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - ' filename'
    - number
    - type
    argTypes:
    - std::string
    - uint64_t*
    - FileType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 121
    functionName: leveldb::ParseFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 8
    functionsReached:
    - strlen
    - Slice::remove_prefix
    - leveldb::Slice
    - Slice::starts_with
    - leveldb::ConsumeDecimalNumber
    - Slice::empty
    linkageType: ''
    returnType: bool
    signature: "bool ParseFileName(const std::string& filename, uint64_t* number,\n
      \                  FileType* type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:126,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:128,1
    - Dst: Slice::starts_with
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:128,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:129,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:129,1
    - Dst: leveldb::TempFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:130,1
    - Dst: leveldb::WriteStringToFileSync
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:131,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:131,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:132,1
    - Dst: Env*::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:133,1
    - Dst: leveldb::CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:133,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:135,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - env
    - ' dbname'
    - descriptor_number
    argTypes:
    - Env*
    - std::string
    - uint64_t
    assertStmts:
    - condition: (contents.starts_with(dbname + "/"))
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: leveldb::SetCurrentFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 0
    functionsReached:
    - leveldb::CurrentFileName
    - Slice::remove_prefix
    - Env*::DeleteFile
    - Slice::starts_with
    - Env*::RenameFile
    - leveldb::WriteStringToFileSync
    - leveldb::DescriptorFileName
    - leveldb::TempFileName
    - Slice::ToString
    - leveldb::size
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status SetCurrentFile(Env* env, const std::string& dbname,\n                      uint64_t
      descriptor_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:23,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' dbname'
    - number
    - suffix
    argTypes:
    - std::string
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: leveldb::MakeFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 4
    functionsReached:
    - static_cast<unsigned long long>
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: "std::string MakeFileName(const std::string& dbname, uint64_t number,\n
      \                               const char* suffix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:29,1
    - Dst: leveldb::MakeFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: leveldb::LogFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached:
    - leveldb::MakeFileName
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string LogFileName(const std::string& dbname, uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:34,1
    - Dst: leveldb::MakeFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: leveldb::TableFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached:
    - leveldb::MakeFileName
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string TableFileName(const std::string& dbname, uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:39,1
    - Dst: leveldb::MakeFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: leveldb::SSTTableFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 0
    functionsReached:
    - leveldb::MakeFileName
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string SSTTableFileName(const std::string& dbname, uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:44,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:46,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: leveldb::DescriptorFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 3
    functionsReached:
    - assert
    - static_cast<unsigned long long>
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string DescriptorFileName(const std::string& dbname, uint64_t
      number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: leveldb::CurrentFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CurrentFileName(const std::string& dbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::LockFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LockFileName(const std::string& dbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:58,1
    - Dst: leveldb::MakeFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' dbname'
    - number
    argTypes:
    - std::string
    - uint64_t
    assertStmts:
    - condition: (number > 0)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: leveldb::TempFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 3
    functionsReached:
    - leveldb::MakeFileName
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string TempFileName(const std::string& dbname, uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: leveldb::InfoLogFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string InfoLogFileName(const std::string& dbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: leveldb::OldInfoLogFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string OldInfoLogFileName(const std::string& dbname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Slice::starts_with
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:90,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:91,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:91,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:93,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:96,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:105,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:109,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:111,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:111,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:113,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - ' filename'
    - number
    - type
    argTypes:
    - std::string
    - uint64_t*
    - FileType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 121
    functionName: leveldb::ParseFileName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 8
    functionsReached:
    - strlen
    - Slice::remove_prefix
    - leveldb::Slice
    - Slice::starts_with
    - leveldb::ConsumeDecimalNumber
    - Slice::empty
    linkageType: ''
    returnType: bool
    signature: "bool ParseFileName(const std::string& filename, uint64_t* number,\n
      \                  FileType* type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:126,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:128,1
    - Dst: Slice::starts_with
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:128,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:129,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:129,1
    - Dst: leveldb::TempFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:130,1
    - Dst: leveldb::WriteStringToFileSync
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:131,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:131,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:132,1
    - Dst: Env*::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:133,1
    - Dst: leveldb::CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:133,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:135,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/filename.cc:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - env
    - ' dbname'
    - descriptor_number
    argTypes:
    - Env*
    - std::string
    - uint64_t
    assertStmts:
    - condition: (contents.starts_with(dbname + "/"))
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/bitcoin-core/src/leveldb/db/filename.cc
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: leveldb::SetCurrentFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/filename.cc
    functionUses: 0
    functionsReached:
    - leveldb::CurrentFileName
    - Slice::remove_prefix
    - Env*::DeleteFile
    - Slice::starts_with
    - Env*::RenameFile
    - leveldb::WriteStringToFileSync
    - leveldb::DescriptorFileName
    - leveldb::TempFileName
    - Slice::ToString
    - leveldb::size
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status SetCurrentFile(Env* env, const std::string& dbname,\n                      uint64_t
      descriptor_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: leveldb::StdoutPrinter::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - data
    - fwrite
    - leveldb::OK
    - size
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::StdoutPrinter::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::StdoutPrinter::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: leveldb::StdoutPrinter::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::StdoutPrinter::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DumpFile
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:30,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:31,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:32,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - env
    - files
    - num
    argTypes:
    - Env*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: leveldb::HandleDumpCommand
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - Status::ToString
    - fprintf
    - leveldb::DumpFile
    - Status::ok
    linkageType: ''
    returnType: bool
    signature: bool HandleDumpCommand(Env* env, char** files, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: leveldb::StdoutPrinter::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - data
    - fwrite
    - leveldb::OK
    - size
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::StdoutPrinter::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::StdoutPrinter::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: leveldb::StdoutPrinter::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::StdoutPrinter::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DumpFile
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:30,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:31,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:32,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - env
    - files
    - num
    argTypes:
    - Env*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: leveldb::HandleDumpCommand
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - Status::ToString
    - fprintf
    - leveldb::DumpFile
    - Status::ok
    linkageType: ''
    returnType: bool
    signature: bool HandleDumpCommand(Env* env, char** files, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: leveldb::StdoutPrinter::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - data
    - fwrite
    - leveldb::OK
    - size
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::StdoutPrinter::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::StdoutPrinter::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: leveldb::StdoutPrinter::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::StdoutPrinter::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DumpFile
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:30,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:31,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:32,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - env
    - files
    - num
    argTypes:
    - Env*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: leveldb::HandleDumpCommand
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - Status::ToString
    - fprintf
    - leveldb::DumpFile
    - Status::ok
    linkageType: ''
    returnType: bool
    signature: bool HandleDumpCommand(Env* env, char** files, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:17,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: leveldb::StdoutPrinter::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - data
    - fwrite
    - leveldb::OK
    - size
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::StdoutPrinter::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::StdoutPrinter::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: leveldb::StdoutPrinter::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::StdoutPrinter::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DumpFile
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:30,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:31,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:32,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - env
    - files
    - num
    argTypes:
    - Env*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: leveldb::HandleDumpCommand
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 0
    functionsReached:
    - Status::ToString
    - fprintf
    - leveldb::DumpFile
    - Status::ok
    linkageType: ''
    returnType: bool
    signature: bool HandleDumpCommand(Env* env, char** files, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Usage
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 127
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:49,1
    - Dst: Usage
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:52,1
    - Dst: leveldb::HandleDumpCommand
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:57,1
    - Dst: Usage
      Src: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/leveldbutil.cc
    functionUses: 1
    functionsReached:
    - Usage
    - leveldb::Env::Default
    - leveldb::HandleDumpCommand
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:21,1
    - Dst: leveldb::TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:23,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:24,1
    - Dst: Env*::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:26,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:27,1
    - Dst: TableBuilder::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:31,1
    - Dst: FileMetaData*::smallest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:32,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:32,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:33,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:33,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:34,1
    - Dst: FileMetaData*::largest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:35,1
    - Dst: TableBuilder*::Add
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:36,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:36,1
    - Dst: TableBuilder*::Finish
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:40,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:41,1
    - Dst: TableBuilder*::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:43,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:48,1
    - Dst: WritableFile*::Sync
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:49,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:51,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:52,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:57,1
    - Dst: TableCache*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:59,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:59,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:61,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:67,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:68,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:71,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 6
    argNames:
    - ' dbname'
    - env
    - ' options'
    - table_cache
    - iter
    - meta
    argTypes:
    - std::string
    - Env*
    - Options
    - TableCache*
    - Iterator*
    - FileMetaData*
    assertStmts:
    - condition: (meta->file_size > 0)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/leveldb/db/builder.cc
    constantsTouched: []
    func_position:
      end: 77
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 77
    functionName: leveldb::BuildTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/builder.cc
    functionUses: 0
    functionsReached:
    - WritableFile*::Sync
    - Env*::NewWritableFile
    - Iterator*::value
    - TableBuilder*::FileSize
    - Iterator*::Next
    - Status::ok
    - TableCache*::NewIterator
    - Env*::DeleteFile
    - Iterator*::Valid
    - TableBuilder*::Finish
    - WritableFile*::Close
    - leveldb::ReadOptions
    - Iterator*::status
    - leveldb::TableFileName
    - TableBuilder::TableBuilder
    - FileMetaData*::smallest::DecodeFrom
    - assert
    - TableBuilder*::Add
    - Iterator*::SeekToFirst
    - Iterator*::key
    - FileMetaData*::largest::DecodeFrom
    linkageType: ''
    returnType: Status
    signature: "Status BuildTable(const std::string& dbname, Env* env, const Options&
      options,\n                  TableCache* table_cache, Iterator* iter, FileMetaData*
      meta)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:21,1
    - Dst: leveldb::TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:23,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:24,1
    - Dst: Env*::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:26,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:27,1
    - Dst: TableBuilder::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:31,1
    - Dst: FileMetaData*::smallest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:32,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:32,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:33,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:33,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:34,1
    - Dst: FileMetaData*::largest::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:35,1
    - Dst: TableBuilder*::Add
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:36,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:36,1
    - Dst: TableBuilder*::Finish
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:40,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:41,1
    - Dst: TableBuilder*::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:42,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:43,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:48,1
    - Dst: WritableFile*::Sync
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:49,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:51,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:52,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:57,1
    - Dst: TableCache*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:59,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:59,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:61,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:67,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:68,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:71,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/builder.cc:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 6
    argNames:
    - ' dbname'
    - env
    - ' options'
    - table_cache
    - iter
    - meta
    argTypes:
    - std::string
    - Env*
    - Options
    - TableCache*
    - Iterator*
    - FileMetaData*
    assertStmts:
    - condition: (meta->file_size > 0)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/leveldb/db/builder.cc
    constantsTouched: []
    func_position:
      end: 77
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 77
    functionName: leveldb::BuildTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/builder.cc
    functionUses: 0
    functionsReached:
    - WritableFile*::Sync
    - Env*::NewWritableFile
    - Iterator*::value
    - TableBuilder*::FileSize
    - Iterator*::Next
    - Status::ok
    - TableCache*::NewIterator
    - Env*::DeleteFile
    - Iterator*::Valid
    - TableBuilder*::Finish
    - WritableFile*::Close
    - leveldb::ReadOptions
    - Iterator*::status
    - leveldb::TableFileName
    - TableBuilder::TableBuilder
    - FileMetaData*::smallest::DecodeFrom
    - assert
    - TableBuilder*::Add
    - Iterator*::SeekToFirst
    - Iterator*::key
    - FileMetaData*::largest::DecodeFrom
    linkageType: ''
    returnType: Status
    signature: "Status BuildTable(const std::string& dbname, Env* env, const Options&
      options,\n                  TableCache* table_cache, Iterator* iter, FileMetaData*
      meta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: leveldb::FindFileTest::FindFileTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FindFileTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: ~FindFileTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void ~FindFileTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileMetaData::FileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:25,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:26,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:27,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:28,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - smallest
    - largest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: leveldb::FindFileTest::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - InternalKey
    - FileMetaData::FileMetaData
    - size
    linkageType: ''
    returnType: void
    signature: "void Add(const char* smallest, const char* largest,\n           SequenceNumber
      smallest_seq = 100,\n           SequenceNumber largest_seq = 100)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:35,1
    - Dst: InternalKey::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: leveldb::FindFileTest::Find
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - InternalKey::Encode
    - FindFile
    linkageType: ''
    returnType: int
    signature: int Find(const char* key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SomeFileOverlapsRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - smallest
    - largest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: leveldb::FindFileTest::Overlaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - SomeFileOverlapsRange
    linkageType: ''
    returnType: bool
    signature: bool Overlaps(const char* smallest, const char* largest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:54,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:54,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:55,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:55,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:56,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:57,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:57,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:58,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - Overlaps
    - Find
    - ASSERT_TRUE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:63,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:63,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:64,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:65,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:66,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:67,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:68,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:70,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:70,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:71,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:72,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:72,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:73,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:74,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:74,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:75,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:76,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:76,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:77,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:78,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:78,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:79,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:79,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:80,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:81,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:81,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:83,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:83,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:84,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:85,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:85,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:86,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:87,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:88,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_TRUE
    - Find
    - Overlaps
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, Single)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:92,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:93,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:94,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:96,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:97,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:98,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:99,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:100,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:101,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:102,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:103,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:104,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:105,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:106,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:106,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:107,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:108,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:109,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:110,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:111,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:112,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:112,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:114,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:115,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:115,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:116,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:116,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:117,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:119,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:120,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:121,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:122,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:122,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:123,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:123,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:124,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:125,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:125,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:126,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 127
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_TRUE
    - Find
    - Overlaps
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, Multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:130,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:131,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:132,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:133,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:134,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:134,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:135,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:135,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:136,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:136,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:137,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:137,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:138,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:138,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:139,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:139,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:140,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:140,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:141,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:141,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:142,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:142,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:143,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:143,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:144,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:144,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:145,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:146,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - Overlaps
    - ASSERT_TRUE
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, MultipleNullBoundaries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:150,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:151,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:151,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:152,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:153,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:154,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:154,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:155,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - Overlaps
    - ASSERT_TRUE
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, OverlapSequenceChecks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:159,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:160,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:162,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:163,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:163,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:164,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:165,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:165,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:166,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:166,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:167,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:168,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:168,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:169,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:169,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:170,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:170,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:171,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:171,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:172,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:173,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - Overlaps
    - ASSERT_TRUE
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, OverlappingFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: leveldb::AddBoundaryInputsTest::AddBoundaryInputsTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - BytewiseComparator
    linkageType: ''
    returnType: void
    signature: void AddBoundaryInputsTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:190,1
    - Dst: leveldb::clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: ~AddBoundaryInputsTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::clear
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void ~AddBoundaryInputsTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileMetaData::FileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:198,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - number
    - smallest
    - largest
    argTypes:
    - uint64_t
    - InternalKey
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: leveldb::AddBoundaryInputsTest::CreateFileMetaData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - FileMetaData::FileMetaData
    linkageType: ''
    returnType: FileMetaData
    signature: "FileMetaData * CreateFileMetaData(uint64_t number, InternalKey smallest,\n
      \                                  InternalKey largest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:209,1
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:209,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:210,1
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - leveldb::empty
    - leveldb::AddBoundaryInputs
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestEmptyFileSets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:215,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:215,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:216,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:216,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:217,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:220,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:222,1
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - leveldb::empty
    - ASSERT_EQ
    - ASSERT_TRUE
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestEmptyLevelFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:227,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:227,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:228,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:228,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:229,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:231,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:232,1
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:233,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 5
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - leveldb::empty
    - ASSERT_EQ
    - ASSERT_TRUE
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestEmptyCompactionFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:239,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:239,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:240,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:240,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:242,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:242,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:243,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:243,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:245,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:245,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:246,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:246,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:248,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:249,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:250,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:251,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:252,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:255,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 237
    functionDepth: 5
    functionLinenumber: 237
    functionLinenumberEnd: 256
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - ASSERT_EQ
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestNoBoundaryFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:260,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:260,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:261,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:261,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:263,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:263,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:264,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:264,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:266,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:266,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:267,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:267,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:269,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:270,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:271,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:272,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:275,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 278
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - ASSERT_EQ
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestOneBoundaryFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:282,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:282,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:283,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:283,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:285,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:285,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:286,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:286,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:288,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:288,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:289,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:289,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:291,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:292,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:293,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:294,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:297,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 301
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - ASSERT_EQ
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestTwoBoundaryFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:305,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:305,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:306,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:306,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:308,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:308,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:309,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:309,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:311,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:311,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:312,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:312,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:314,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:314,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:315,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:315,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:317,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:318,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:319,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:321,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:324,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:324,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 328
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - ASSERT_EQ
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestDisjoinFilePointers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: leveldb::FindFileTest::FindFileTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FindFileTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: ~FindFileTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void ~FindFileTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileMetaData::FileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:25,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:26,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:27,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:28,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - smallest
    - largest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: leveldb::FindFileTest::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - InternalKey
    - FileMetaData::FileMetaData
    - size
    linkageType: ''
    returnType: void
    signature: "void Add(const char* smallest, const char* largest,\n           SequenceNumber
      smallest_seq = 100,\n           SequenceNumber largest_seq = 100)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindFile
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:35,1
    - Dst: InternalKey::Encode
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: leveldb::FindFileTest::Find
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - InternalKey::Encode
    - FindFile
    linkageType: ''
    returnType: int
    signature: int Find(const char* key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SomeFileOverlapsRange
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - smallest
    - largest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: leveldb::FindFileTest::Overlaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - SomeFileOverlapsRange
    linkageType: ''
    returnType: bool
    signature: bool Overlaps(const char* smallest, const char* largest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:54,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:54,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:55,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:55,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:56,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:57,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:57,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:58,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - Overlaps
    - Find
    - ASSERT_TRUE
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:63,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:63,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:64,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:65,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:66,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:67,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:68,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:68,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:70,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:70,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:71,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:72,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:72,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:73,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:74,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:74,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:75,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:76,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:76,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:77,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:78,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:78,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:79,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:79,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:80,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:81,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:81,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:83,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:83,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:84,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:85,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:85,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:86,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:87,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:88,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_TRUE
    - Find
    - Overlaps
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, Single)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:92,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:93,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:94,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:96,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:97,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:98,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:99,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:100,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:101,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:102,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:103,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:104,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:105,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:106,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:106,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:107,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:108,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:109,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:110,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:111,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:112,1
    - Dst: Find
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:112,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:114,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:115,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:115,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:116,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:116,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:117,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:119,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:120,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:121,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:122,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:122,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:123,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:123,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:124,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:125,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:125,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:126,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 127
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_TRUE
    - Find
    - Overlaps
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, Multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:130,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:131,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:132,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:133,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:134,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:134,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:135,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:135,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:136,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:136,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:137,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:137,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:138,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:138,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:139,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:139,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:140,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:140,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:141,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:141,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:142,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:142,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:143,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:143,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:144,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:144,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:145,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:146,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - Overlaps
    - ASSERT_TRUE
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, MultipleNullBoundaries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:150,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:151,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:151,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:152,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:153,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:154,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:154,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:155,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - Overlaps
    - ASSERT_TRUE
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, OverlapSequenceChecks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:159,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:160,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:162,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:163,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:163,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:164,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:165,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:165,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:166,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:166,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:167,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:168,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:168,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:169,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:169,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:170,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:170,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:171,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:171,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:172,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:173,1
    - Dst: Overlaps
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - Overlaps
    - ASSERT_TRUE
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(FindFileTest, OverlappingFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: leveldb::AddBoundaryInputsTest::AddBoundaryInputsTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - BytewiseComparator
    linkageType: ''
    returnType: void
    signature: void AddBoundaryInputsTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:190,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: ~AddBoundaryInputsTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - clear
    - size
    linkageType: ''
    returnType: void
    signature: void ~AddBoundaryInputsTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileMetaData::FileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:198,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - number
    - smallest
    - largest
    argTypes:
    - uint64_t
    - InternalKey
    - InternalKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: leveldb::AddBoundaryInputsTest::CreateFileMetaData
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - FileMetaData::FileMetaData
    linkageType: ''
    returnType: FileMetaData
    signature: "FileMetaData * CreateFileMetaData(uint64_t number, InternalKey smallest,\n
      \                                  InternalKey largest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:209,1
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:209,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:210,1
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - leveldb::empty
    - leveldb::AddBoundaryInputs
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestEmptyFileSets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:215,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:215,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:216,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:216,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:217,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:220,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:222,1
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - leveldb::empty
    - ASSERT_EQ
    - ASSERT_TRUE
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestEmptyLevelFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:227,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:227,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:228,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:228,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:229,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:231,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:232,1
    - Dst: leveldb::empty
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:233,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 5
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - leveldb::empty
    - ASSERT_EQ
    - ASSERT_TRUE
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestEmptyCompactionFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:239,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:239,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:240,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:240,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:242,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:242,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:243,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:243,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:245,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:245,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:246,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:246,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:248,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:249,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:250,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:251,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:252,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:255,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 237
    functionDepth: 5
    functionLinenumber: 237
    functionLinenumberEnd: 256
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - ASSERT_EQ
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestNoBoundaryFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:260,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:260,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:261,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:261,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:263,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:263,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:264,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:264,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:266,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:266,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:267,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:267,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:269,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:270,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:271,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:272,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:275,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 278
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - ASSERT_EQ
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestOneBoundaryFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:282,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:282,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:283,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:283,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:285,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:285,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:286,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:286,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:288,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:288,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:289,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:289,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:291,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:292,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:293,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:294,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:297,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 301
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - ASSERT_EQ
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestTwoBoundaryFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:305,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:305,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:306,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:306,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:308,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:308,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:309,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:309,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:311,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:311,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:312,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:312,1
    - Dst: CreateFileMetaData
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:314,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:314,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:315,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:315,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:317,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:318,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:319,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:321,1
    - Dst: leveldb::AddBoundaryInputs
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:324,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:324,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 328
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - CreateFileMetaData
    - ASSERT_EQ
    - leveldb::AddBoundaryInputs
    - InternalKey
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(AddBoundaryInputsTest, TestDisjoinFilePointers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/version_set_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/version_set_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TableAndFile*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: leveldb::DeleteEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TableAndFile*>
    linkageType: ''
    returnType: void
    signature: void DeleteEntry(const Slice& key, void* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Cache*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:27,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:28,1
    - Dst: Cache*::Release
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: leveldb::UnrefEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - Cache*::Release
    - reinterpret_cast<Cache::Handle*>
    - reinterpret_cast<Cache*>
    linkageType: ''
    returnType: void
    signature: void UnrefEntry(void* arg1, void* arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' dbname'
    - ' options'
    - entries
    argTypes:
    - std::string
    - Options
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: leveldb::TableCache::TableCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - NewLRUCache
    linkageType: ''
    returnType: void
    signature: "void TableCache::TableCache(const std::string& dbname, const Options&
      options,\n                       int entries)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: TableCache::~TableCache()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TableCache::~TableCache()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:45,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:47,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:49,1
    - Dst: NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:52,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:53,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:54,1
    - Dst: NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:55,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:56,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:59,1
    - Dst: leveldb::Table::Open
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:60,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:64,1
    - Dst: TableAndFile::TableAndFile
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:69,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - file_number
    - file_size
    - handle
    argTypes:
    - uint64_t
    - uint64_t
    - Cache::Handle**
    assertStmts:
    - condition: (table == nullptr)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    constantsTouched: []
    func_position:
      end: 76
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 76
    functionName: leveldb::TableCache::FindTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - TableFileName
    - EncodeFixed64
    - Insert
    - NewRandomAccessFile
    - TableAndFile::TableAndFile
    - leveldb::OK
    - SSTTableFileName
    - leveldb::Table::Open
    - Lookup
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status TableCache::FindTable(uint64_t file_number, uint64_t file_size,\n
      \                            Cache::Handle** handle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TableCache::FindTable
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:86,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:87,1
    - Dst: NewErrorIterator
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:88,1
    - Dst: reinterpret_cast<TableAndFile*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:91,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:91,1
    - Dst: Table*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:92,1
    - Dst: Iterator*::RegisterCleanup
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ' options'
    - file_number
    - file_size
    - tableptr
    argTypes:
    - ReadOptions
    - uint64_t
    - uint64_t
    - Table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: leveldb::TableCache::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TableAndFile*>
    - Table*::NewIterator
    - NewErrorIterator
    - leveldb::TableCache::FindTable
    - Iterator*::RegisterCleanup
    - Status::ok
    - Value
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * TableCache::NewIterator(const ReadOptions& options,\n                                  uint64_t
      file_number, uint64_t file_size,\n                                  Table**
      tableptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TableCache::FindTable
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:105,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:106,1
    - Dst: reinterpret_cast<TableAndFile*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:107,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:107,1
    - Dst: Table*::InternalGet
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:108,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' options'
    - file_number
    - file_size
    - ' k'
    - arg
    argTypes:
    - ReadOptions
    - uint64_t
    - uint64_t
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: leveldb::TableCache::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TableAndFile*>
    - Release
    - leveldb::TableCache::FindTable
    - Status::ok
    - Table*::InternalGet
    - Value
    linkageType: ''
    returnType: Status
    signature: "Status TableCache::Get(const ReadOptions& options, uint64_t file_number,\n
      \                      uint64_t file_size, const Slice& k, void* arg,\n                       void
      (*handle_result)(void*, const Slice&,\n                                             const
      Slice&))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:116,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:117,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file_number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: leveldb::TableCache::Evict
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - Erase
    - Slice
    - EncodeFixed64
    linkageType: ''
    returnType: void
    signature: void TableCache::Evict(uint64_t file_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TableAndFile*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: leveldb::DeleteEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TableAndFile*>
    linkageType: ''
    returnType: void
    signature: void DeleteEntry(const Slice& key, void* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Cache*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:27,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:28,1
    - Dst: Cache*::Release
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: leveldb::UnrefEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - Cache*::Release
    - reinterpret_cast<Cache::Handle*>
    - reinterpret_cast<Cache*>
    linkageType: ''
    returnType: void
    signature: void UnrefEntry(void* arg1, void* arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' dbname'
    - ' options'
    - entries
    argTypes:
    - std::string
    - Options
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: leveldb::TableCache::TableCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - NewLRUCache
    linkageType: ''
    returnType: void
    signature: "void TableCache::TableCache(const std::string& dbname, const Options&
      options,\n                       int entries)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: TableCache::~TableCache()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TableCache::~TableCache()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:45,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:47,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:49,1
    - Dst: NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:52,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:53,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:54,1
    - Dst: NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:55,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:56,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:59,1
    - Dst: leveldb::Table::Open
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:60,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:63,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:64,1
    - Dst: TableAndFile::TableAndFile
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:69,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - file_number
    - file_size
    - handle
    argTypes:
    - uint64_t
    - uint64_t
    - Cache::Handle**
    assertStmts:
    - condition: (table == nullptr)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    constantsTouched: []
    func_position:
      end: 76
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 76
    functionName: leveldb::TableCache::FindTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 2
    functionsReached:
    - TableFileName
    - EncodeFixed64
    - Insert
    - NewRandomAccessFile
    - TableAndFile::TableAndFile
    - leveldb::OK
    - SSTTableFileName
    - leveldb::Table::Open
    - Lookup
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status TableCache::FindTable(uint64_t file_number, uint64_t file_size,\n
      \                            Cache::Handle** handle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TableCache::FindTable
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:86,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:87,1
    - Dst: NewErrorIterator
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:88,1
    - Dst: reinterpret_cast<TableAndFile*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:91,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:91,1
    - Dst: Table*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:92,1
    - Dst: Iterator*::RegisterCleanup
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ' options'
    - file_number
    - file_size
    - tableptr
    argTypes:
    - ReadOptions
    - uint64_t
    - uint64_t
    - Table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: leveldb::TableCache::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TableAndFile*>
    - Table*::NewIterator
    - NewErrorIterator
    - leveldb::TableCache::FindTable
    - Iterator*::RegisterCleanup
    - Status::ok
    - Value
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * TableCache::NewIterator(const ReadOptions& options,\n                                  uint64_t
      file_number, uint64_t file_size,\n                                  Table**
      tableptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TableCache::FindTable
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:105,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:106,1
    - Dst: reinterpret_cast<TableAndFile*>
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:107,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:107,1
    - Dst: Table*::InternalGet
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:108,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' options'
    - file_number
    - file_size
    - ' k'
    - arg
    argTypes:
    - ReadOptions
    - uint64_t
    - uint64_t
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: leveldb::TableCache::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TableAndFile*>
    - Release
    - leveldb::TableCache::FindTable
    - Status::ok
    - Table*::InternalGet
    - Value
    linkageType: ''
    returnType: Status
    signature: "Status TableCache::Get(const ReadOptions& options, uint64_t file_number,\n
      \                      uint64_t file_size, const Slice& k, void* arg,\n                       void
      (*handle_result)(void*, const Slice&,\n                                             const
      Slice&))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:116,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:117,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/table_cache.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file_number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: leveldb::TableCache::Evict
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/table_cache.cc
    functionUses: 0
    functionsReached:
    - Erase
    - Slice
    - EncodeFixed64
    linkageType: ''
    returnType: void
    signature: void TableCache::Evict(uint64_t file_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rnd
    - len
    argTypes:
    - Random*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: leveldb::RandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::RandomString
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(Random* rnd, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Random*::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:36,1
    - Dst: Random*::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:37,1
    - Dst: Random*::Skewed
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:37,1
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:37,1
    - Dst: leveldb::test::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: leveldb::RandomKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::RandomKey
    - Random*::Uniform
    - Random*::Skewed
    - Random*::OneIn
    linkageType: ''
    returnType: std::string
    signature: std::string RandomKey(Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: leveldb::AtomicCounter::AtomicCounter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AtomicCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IncrementBy
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: leveldb::AtomicCounter::Increment
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - IncrementBy
    linkageType: ''
    returnType: void
    signature: void Increment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - millis
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: leveldb::DelayMilliseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 9
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void DelayMilliseconds(int millis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: leveldb::AtomicCounter::AtomicCounter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AtomicCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IncrementBy
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: leveldb::AtomicCounter::Increment
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - IncrementBy
    linkageType: ''
    returnType: void
    signature: void Increment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - millis
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: leveldb::DelayMilliseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 9
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void DelayMilliseconds(int millis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - Env*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: leveldb::TestEnv::TestEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestEnv(Env* base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ignored
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: leveldb::TestEnv::SetIgnoreDotFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetIgnoreDotFiles(bool ignored)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:78,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:79,1
    - Dst: std::vector<std::string>*::begin
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:83,1
    - Dst: std::vector<std::string>*::end
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:84,1
    - Dst: std::vector<std::string>*::erase
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dir'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: leveldb::TestEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::string>*::end
    - target
    - std::vector<std::string>*::erase
    - std::vector<std::string>*::begin
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& dir,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - Env*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: leveldb::SpecialEnv::SpecialEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpecialEnv(Env* base)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: no_space_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:143,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:145,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:147,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:150,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:151,1
    - Dst: data_sync_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:153,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:154,1
    - Dst: delay_data_sync_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:156,1
    - Dst: DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:157,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:159,1
    - Dst: manifest_write_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:172,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:173,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:175,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:178,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:179,1
    - Dst: manifest_sync_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:181,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:182,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:184,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:190,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:191,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:194,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:195,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:196,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:196,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:197,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:197,1
    - Dst: DataFile::DataFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:198,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:199,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:199,1
    - Dst: ManifestFile::ManifestFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 204
    functionName: leveldb::SpecialEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DelayMilliseconds
    - leveldb::OK
    - load
    - leveldb::IOError
    - Status::ok
    - DataFile::DataFile
    - no_space_::load
    - data_sync_error_::load
    - strstr
    - delay_data_sync_::load
    - manifest_write_error_::load
    - Append
    - Close
    - Sync
    - ManifestFile::ManifestFile
    - c_str
    - Flush
    - manifest_sync_error_::load
    - target
    linkageType: ''
    returnType: Status
    signature: Status NewWritableFile(const std::string& f, WritableFile** r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - env
    - base
    argTypes:
    - SpecialEnv*
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: leveldb::SpecialEnv::DataFile::DataFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataFile(SpecialEnv* env, WritableFile* base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: ~DataFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DataFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: no_space_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:143,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:145,1
    - Dst: leveldb::SpecialEnv::DataFile::Append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: leveldb::SpecialEnv::DataFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - no_space_::load
    - leveldb::OK
    - leveldb::SpecialEnv::DataFile::Append
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SpecialEnv::DataFile::Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: leveldb::SpecialEnv::DataFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::SpecialEnv::DataFile::Close
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SpecialEnv::DataFile::Flush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: leveldb::SpecialEnv::DataFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::SpecialEnv::DataFile::Flush
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data_sync_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:153,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:154,1
    - Dst: delay_data_sync_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:156,1
    - Dst: DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:157,1
    - Dst: leveldb::SpecialEnv::DataFile::Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: leveldb::SpecialEnv::DataFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - delay_data_sync_::load
    - DelayMilliseconds
    - data_sync_error_::load
    - leveldb::SpecialEnv::DataFile::Sync
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: leveldb::SpecialEnv::DataFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - env
    - b
    argTypes:
    - SpecialEnv*
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: leveldb::SpecialEnv::ManifestFile::ManifestFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ManifestFile(SpecialEnv* env, WritableFile* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: ~ManifestFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ManifestFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: manifest_write_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:172,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:173,1
    - Dst: leveldb::SpecialEnv::ManifestFile::Append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: leveldb::SpecialEnv::ManifestFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - manifest_write_error_::load
    - leveldb::SpecialEnv::ManifestFile::Append
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SpecialEnv::ManifestFile::Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: leveldb::SpecialEnv::ManifestFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::SpecialEnv::ManifestFile::Close
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SpecialEnv::ManifestFile::Flush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: leveldb::SpecialEnv::ManifestFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::SpecialEnv::ManifestFile::Flush
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: manifest_sync_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:181,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:182,1
    - Dst: leveldb::SpecialEnv::ManifestFile::Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: leveldb::SpecialEnv::ManifestFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::SpecialEnv::ManifestFile::Sync
    - manifest_sync_error_::load
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: leveldb::SpecialEnv::ManifestFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Increment
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:218,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:219,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:224,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:225,1
    - Dst: CountingFile::CountingFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 229
    functionName: leveldb::SpecialEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - CountingFile::CountingFile
    - Read
    - Increment
    - target
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status NewRandomAccessFile(const std::string& f, RandomAccessFile**
      r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - target
    - counter
    argTypes:
    - RandomAccessFile*
    - AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: leveldb::SpecialEnv::CountingFile::CountingFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CountingFile(RandomAccessFile* target, AtomicCounter* counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: ~CountingFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CountingFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Increment
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:218,1
    - Dst: leveldb::SpecialEnv::CountingFile::Read
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: leveldb::SpecialEnv::CountingFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::SpecialEnv::CountingFile::Read
    - Increment
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n                  char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: leveldb::SpecialEnv::CountingFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:240,1
    - Dst: SpecialEnv::SpecialEnv
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:240,1
    - Dst: NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:241,1
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:242,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:243,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:243,1
    - Dst: leveldb::DBTest::Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: leveldb::DBTest::DBTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - leveldb::DBTest::Reopen
    - DestroyDB
    - SpecialEnv::SpecialEnv
    - Options
    - NewBloomFilterPolicy
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void DBTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:250,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: ~DBTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DestroyDB
    - leveldb::Options
    linkageType: ''
    returnType: void
    signature: void ~DBTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::DestroyAndReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: leveldb::DBTest::ChangeOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBTest::DestroyAndReopen
    linkageType: ''
    returnType: bool
    signature: bool ChangeOptions()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 285
    functionName: leveldb::DBTest::CurrentOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: Options CurrentOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: leveldb::DBTest::dbfull
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DBImpl*>
    linkageType: ''
    returnType: DBImpl
    signature: DBImpl * dbfull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:289,1
    - Dst: leveldb::DBTest::TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: leveldb::DBTest::Reopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - ASSERT_OK
    - leveldb::DBTest::TryReopen
    linkageType: ''
    returnType: void
    signature: void Reopen(Options* options = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: leveldb::DBTest::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:299,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:299,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:300,1
    - Dst: leveldb::DBTest::TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: leveldb::DBTest::DestroyAndReopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - DestroyDB
    - Options
    - ASSERT_OK
    - leveldb::DBTest::TryReopen
    linkageType: ''
    returnType: void
    signature: void DestroyAndReopen(Options* options = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:310,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: leveldb::DBTest::TryReopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::DB::Open
    - leveldb::DBTest::CurrentOptions
    linkageType: ''
    returnType: Status
    signature: Status TryReopen(Options* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:319,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' v'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: leveldb::DBTest::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBTest::Put
    - WriteOptions
    linkageType: ''
    returnType: Status
    signature: Status Put(const std::string& k, const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:322,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: leveldb::DBTest::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBTest::Delete
    - WriteOptions
    linkageType: ''
    returnType: Status
    signature: Status Delete(const std::string& k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:328,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:329,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:331,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: leveldb::DBTest::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - Status::ToString
    - Status::IsNotFound
    - leveldb::DBTest::Get
    - Status::ok
    linkageType: ''
    returnType: std::string
    signature: std::string Get(const std::string& k, const Snapshot* snapshot = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:342,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:342,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:343,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:343,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:343,1
    - Dst: leveldb::DBTest::IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:344,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:345,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:346,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:347,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:348,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:353,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:353,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:353,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:354,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:354,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:355,1
    - Dst: leveldb::DBTest::IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:355,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:358,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 362
    functionName: leveldb::DBTest::Contents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBTest::IterStatus
    - Iterator*::Valid
    - Iterator*::SeekToFirst
    - ReadOptions
    - NewIterator
    - Iterator*::Prev
    - std::vector::push_back
    - ASSERT_EQ
    - std::string::push_back
    - Iterator*::Next
    - std::string::append
    - ASSERT_LT
    - Iterator*::SeekToLast
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Contents()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:365,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:367,1
    - Dst: InternalKey::Encode
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:367,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:369,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:370,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:374,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:376,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:376,1
    - Dst: comparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:379,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:388,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - ' user_key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 404
    functionName: leveldb::DBTest::AllEntriesFor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::Seek
    - InternalKey::Encode
    - Iterator*::key
    - ParseInternalKey
    - leveldb::DBTest::dbfull
    - Iterator*::Next
    - Iterator*::status
    - comparator::Compare
    linkageType: ''
    returnType: std::string
    signature: std::string AllEntriesFor(const Slice& user_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:408,1
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:408,1
    - Dst: NumberToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:409,1
    - Dst: std::stoi
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: leveldb::DBTest::NumTableFilesAtLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - NumberToString
    - ASSERT_TRUE
    - std::stoi
    - GetProperty
    linkageType: ''
    returnType: int
    signature: int NumTableFilesAtLevel(int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: leveldb::DBTest::TotalTableFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBTest::NumTableFilesAtLevel
    linkageType: ''
    returnType: int
    signature: int TotalTableFiles()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:426,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:428,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:431,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 436
    functionName: leveldb::DBTest::FilesPerLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - std::string::size
    - std::string::resize
    - leveldb::DBTest::NumTableFilesAtLevel
    linkageType: ''
    returnType: std::string
    signature: std::string FilesPerLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:440,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:441,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: leveldb::DBTest::CountFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - GetChildren
    - std::vector::size
    linkageType: ''
    returnType: int
    signature: int CountFiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetApproximateSizes
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' start'
    - ' limit'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: leveldb::DBTest::Size
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - GetApproximateSizes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Size(const Slice& start, const Slice& limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' start'
    - ' limit'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: leveldb::DBTest::Compact
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - CompactRange
    linkageType: ''
    returnType: void
    signature: void Compact(const Slice& start, const Slice& limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:460,1
    - Dst: leveldb::DBTest::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:461,1
    - Dst: leveldb::DBTest::dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - n
    - ' small_key'
    - ' large_key'
    argTypes:
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: leveldb::DBTest::MakeTables
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBTest::Put
    - leveldb::DBTest::dbfull
    linkageType: ''
    returnType: void
    signature: "void MakeTables(int n, const std::string& small_key,\n                  const
      std::string& large_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::MakeTables
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' smallest'
    - ' largest'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: leveldb::DBTest::FillLevels
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBTest::MakeTables
    linkageType: ''
    returnType: void
    signature: void FillLevels(const std::string& smallest, const std::string& largest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:473,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:474,1
    - Dst: static_cast<long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:476,1
    - Dst: leveldb::DBTest::dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:476,1
    - Dst: leveldb::DBTest::NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:478,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 483
    functionName: leveldb::DBTest::DumpFileCounts
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - leveldb::DBTest::dbfull
    - leveldb::DBTest::NumTableFilesAtLevel
    - static_cast<long long>
    linkageType: ''
    returnType: void
    signature: void DumpFileCounts(const char* label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: leveldb::DBTest::DumpSSTableList
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - GetProperty
    linkageType: ''
    returnType: std::string
    signature: std::string DumpSSTableList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:493,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:494,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: leveldb::DBTest::IterStatus
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - Iterator*::value
    - Iterator*::key
    - Iterator*::Valid
    linkageType: ''
    returnType: std::string
    signature: std::string IterStatus(Iterator* iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:503,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:503,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:506,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:507,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:508,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:508,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 513
    functionName: leveldb::DBTest::DeleteAnSSTFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - TableFileName
    - DeleteFile
    - GetChildren
    - ASSERT_OK
    - ParseFileName
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool DeleteAnSSTFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:518,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:518,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:522,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:523,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:524,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:525,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:526,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 531
    functionName: leveldb::DBTest::RenameLDBToSST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - TableFileName
    - RenameFile
    - GetChildren
    - SSTTableFileName
    - ASSERT_OK
    - ParseFileName
    - std::vector::size
    linkageType: ''
    returnType: int
    signature: int RenameLDBToSST()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:544,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:544,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_TRUE
    - Get
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:550,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:550,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:551,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:551,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:552,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:552,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:553,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:553,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, EmptyKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:559,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:559,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:560,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:560,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:561,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:561,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:562,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:562,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:563,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:563,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:564,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:564,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, EmptyValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:570,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:570,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:571,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:571,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:572,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:572,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:573,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:573,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:574,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:574,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:575,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:575,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 577
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:581,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:581,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:581,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:582,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:582,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:583,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:583,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:583,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:584,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:584,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:585,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:585,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:585,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:586,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:586,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 588
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteOptions
    - ChangeOptions
    - ASSERT_EQ
    - Delete
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, PutDeleteGet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:592,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:595,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:597,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:597,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:598,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:598,1
    - Dst: delay_data_sync_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:601,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:602,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:602,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:603,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:603,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:604,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:604,1
    - Dst: delay_data_sync_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:606,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 608
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ChangeOptions
    - ASSERT_EQ
    - std::string
    - Put
    - ASSERT_OK
    - delay_data_sync_::store
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetFromImmutableLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:612,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:612,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:613,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:614,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:614,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 616
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetFromVersions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:620,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:620,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:622,1
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:622,1
    - Dst: std::stoi
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:623,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:624,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:625,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - GetProperty
    - ASSERT_GT
    - std::stoi
    - ChangeOptions
    - Put
    - ASSERT_TRUE
    - ASSERT_OK
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetMemUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:633,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:633,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:634,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:634,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:635,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:636,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:636,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:637,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:637,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:638,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:638,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:639,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:640,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:640,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:641,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:641,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:642,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 645
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseSnapshot
    - GetSnapshot
    - ChangeOptions
    - ASSERT_EQ
    - std::string
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:651,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:651,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:652,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:652,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:653,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:654,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:655,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:656,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:656,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:657,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:657,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:658,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:658,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:659,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:659,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:660,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:660,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:661,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:662,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:663,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:663,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:664,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:664,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:665,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:666,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:666,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:667,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 670
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseSnapshot
    - GetSnapshot
    - ChangeOptions
    - ASSERT_EQ
    - std::string
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetIdenticalSnapshots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:674,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:677,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:677,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:678,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:678,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:680,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:681,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:682,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:682,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:685,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:687,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:688,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:689,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:689,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:692,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 694
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseSnapshot
    - GetSnapshot
    - Iterator*::Valid
    - Iterator*::SeekToFirst
    - ChangeOptions
    - NewIterator
    - Put
    - ASSERT_TRUE
    - ASSERT_OK
    - dbfull
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterateOverEmptySnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:702,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:702,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:703,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:703,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:704,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:705,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:705,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:706,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:707,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:707,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 709
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetLevel0Ordering)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:713,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:713,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:714,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:715,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:715,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:716,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:716,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:717,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:717,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:718,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:719,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:719,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Compact
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetOrderedByLevels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:726,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:726,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:727,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:728,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:728,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:729,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:730,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:730,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:731,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:732,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:732,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:733,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:733,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:734,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:734,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 736
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Compact
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetPicksCorrectFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:750,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:750,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:751,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:753,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:754,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:755,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:759,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:760,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:760,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:761,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:761,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:762,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:762,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:766,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:766,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:770,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:772,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:772,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 774
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - NumTableFilesAtLevel
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_LE
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetEncountersEmptyLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:777,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:777,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:779,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:780,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:780,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:782,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:783,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:783,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:785,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:786,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 789
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::SeekToFirst
    - NewIterator
    - ASSERT_EQ
    - Iterator*::SeekToLast
    - Iterator*::Seek
    - leveldb::ReadOptions
    - IterStatus
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:792,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:792,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:793,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:793,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:795,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:796,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:796,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:797,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:798,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:798,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:799,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:800,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:800,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:801,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:802,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:802,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:804,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:805,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:805,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:806,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:807,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:807,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:808,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:809,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:809,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:810,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:811,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:811,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:813,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:814,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:814,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:815,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:816,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:816,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:818,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:819,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:819,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:820,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:821,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:821,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:823,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:824,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 827
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::SeekToFirst
    - NewIterator
    - ASSERT_EQ
    - Iterator*::Prev
    - Put
    - leveldb::ReadOptions
    - Iterator*::Next
    - ASSERT_OK
    - Iterator*::SeekToLast
    - Iterator*::Seek
    - IterStatus
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterSingle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:830,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:830,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:831,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:831,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:832,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:832,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:833,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:833,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:835,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:836,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:836,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:837,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:838,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:838,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:839,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:840,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:840,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:842,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:842,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:843,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:844,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:844,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:845,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:846,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:846,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:848,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:849,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:849,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:850,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:851,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:851,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:852,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:853,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:853,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:855,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:855,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:856,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:857,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:857,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:858,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:859,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:859,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:861,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:862,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:862,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:863,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:864,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:864,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:865,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:866,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:866,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:867,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:868,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:868,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:869,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:870,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:870,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:873,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:874,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:875,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:876,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:877,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:877,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:880,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:881,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:882,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:883,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:884,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:884,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:887,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:887,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:888,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:888,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:889,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:889,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:890,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:890,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:891,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:891,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:892,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:893,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:893,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:894,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:895,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:895,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:896,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:897,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:897,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:899,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:899,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:900,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:901,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:901,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:902,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:903,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:903,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:904,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:905,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:905,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:906,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:907,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 910
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::SeekToFirst
    - NewIterator
    - ASSERT_EQ
    - Iterator*::Prev
    - Put
    - leveldb::ReadOptions
    - Iterator*::Next
    - ASSERT_OK
    - Iterator*::SeekToLast
    - Iterator*::Seek
    - Delete
    - IterStatus
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterMulti)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:913,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:913,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:914,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:914,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:914,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:915,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:915,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:916,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:916,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:916,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:917,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:917,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:917,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:919,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:919,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:921,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:922,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:922,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:923,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:924,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:924,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:924,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:925,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:926,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:926,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:927,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:928,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:928,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:928,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:929,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:930,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:930,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:930,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:931,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:932,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:932,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:934,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:935,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:935,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:935,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:936,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:937,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:937,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:937,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:938,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:939,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:939,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:940,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:941,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:941,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:941,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:942,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:943,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:943,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:944,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:945,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 948
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::SeekToFirst
    - NewIterator
    - std::string
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - Iterator*::Next
    - ASSERT_OK
    - Iterator*::SeekToLast
    - Iterator*::Prev
    - IterStatus
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterSmallAndLargeMix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:952,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:952,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:953,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:953,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:954,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:954,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:955,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:955,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:956,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:956,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:958,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:958,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:959,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:960,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:960,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:961,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:962,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:962,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 965
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - NewIterator
    - ASSERT_EQ
    - Delete
    - Put
    - leveldb::ReadOptions
    - Iterator*::Seek
    - ASSERT_OK
    - Iterator*::Prev
    - IterStatus
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterMultiWithDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:969,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:969,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:970,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:970,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:972,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:973,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:973,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:975,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:975,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:976,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:976,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:977,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:977,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:978,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:978,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:980,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:981,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:981,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:982,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:982,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:983,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:983,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:984,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:984,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:985,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:985,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 987
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Recover)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:991,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:991,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:992,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:992,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:993,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:994,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:995,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:995,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:996,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:997,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:997,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 999
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, RecoveryWithEmptyLog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1005,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1008,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1011,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1011,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1012,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1012,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1012,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1013,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1013,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1013,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1014,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1014,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1016,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1017,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1017,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1018,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1018,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1019,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1019,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1019,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1020,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1020,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1020,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1022
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ChangeOptions
    - std::string
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, RecoverDuringMemtableCompaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1026,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1028
    functionName: leveldb::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string Key(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1031,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1033,1
    - Dst: TotalTableFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1037,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: TotalTableFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1041,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1042,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1048,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1053
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ASSERT_GT
    - leveldb::Key
    - std::string
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - TotalTableFiles
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, MinorCompactionsHappen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1057,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1058,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1059,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1059,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1059,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1060,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1060,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1060,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1061,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1061,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1061,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1062,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1062,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1062,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1063,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1063,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1068,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1070,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1071,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1071,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1072,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1072,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1072,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1073,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1073,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1073,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1074,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1074,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1074,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1075,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1075,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1075,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1076,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1077
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - NumTableFilesAtLevel
    - Reopen
    - ASSERT_GT
    - std::string
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, RecoverWithLargeLog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1080,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1082,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1087,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1087,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1090,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1090,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1091,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1091,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1091,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1095,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1096,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1098,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1098,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1099,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1099,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1101,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1101,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1103
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - NumTableFilesAtLevel
    - Reopen
    - ASSERT_GT
    - leveldb::Key
    - ASSERT_EQ
    - std::vector::push_back
    - Put
    - leveldb::RandomString
    - ASSERT_OK
    - dbfull
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, CompactionsGenerateMultipleFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1106,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1109,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1116,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1118,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1119,1
    - Dst: TotalTableFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1119,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1120,1
    - Dst: TotalTableFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1122
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - Put
    - leveldb::RandomString
    - fprintf
    - ASSERT_LE
    - TotalTableFiles
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, RepeatedWritesToSameKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1125,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1127,1
    - Dst: FillLevels
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1129,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1138,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1142,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1143,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1145,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1146,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1147,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1150,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1151,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1152,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1153,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1157,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1157,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1158,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1159,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1159,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1160,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1161,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1162
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - Put
    - snprintf
    - FillLevels
    - ASSERT_LE
    - dbfull
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, SparseMerge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - val
    - low
    - high
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1172
    functionName: leveldb::Between
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool Between(uint64_t val, uint64_t low, uint64_t high)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1176,1
    - Dst: DestroyAndReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1179,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1181,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1181,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1181,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1182,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1183,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1183,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1186,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1186,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1192,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1192,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1192,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1192,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1196,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1196,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1196,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1196,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1201,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1202,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1202,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1202,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1202,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1208,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1212,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1212,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1212,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1212,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1213,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1213,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1213,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1213,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1217,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1217,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1217,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1217,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1218,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1218,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1218,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1218,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1220,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1221,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1224,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1227,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1227,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1228,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1228,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1231
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DestroyAndReopen
    - Size
    - leveldb::Between
    - NumTableFilesAtLevel
    - Reopen
    - ASSERT_GT
    - leveldb::Key
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - leveldb::RandomString
    - ASSERT_TRUE
    - ASSERT_OK
    - dbfull
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ApproximateSizes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1235,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1237,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1240,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1241,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1241,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1241,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1241,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1242,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1242,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1242,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1242,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1243,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1243,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1243,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1244,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1244,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1244,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1244,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1245,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1245,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1245,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1246,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1246,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1246,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1246,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1247,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1247,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1247,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1247,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1248,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1248,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1248,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1248,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1252,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1252,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1257,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1259,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1259,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1259,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1259,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1260,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1260,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1260,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1260,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1261,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1261,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1261,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1261,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1262,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1262,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1262,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1262,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1263,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1263,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1263,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1263,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1264,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1264,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1264,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1264,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1265,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1265,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1265,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1265,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1266,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1266,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1266,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1266,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1267,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1267,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1267,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1267,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1271,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1274
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Size
    - leveldb::Between
    - Reopen
    - leveldb::Key
    - ChangeOptions
    - Put
    - leveldb::RandomString
    - ASSERT_TRUE
    - ASSERT_OK
    - dbfull
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ApproximateSizes_MixOfSmallAndLarge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1277,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1280,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1280,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1283,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1287,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1289,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1290,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1290,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1291,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1291,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1292,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1292,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1293,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1294,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1276
    functionDepth: 2
    functionLinenumber: 1276
    functionLinenumberEnd: 1296
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - leveldb::Key
    - NewIterator
    - std::string
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - ASSERT_TRUE
    - ASSERT_OK
    - Iterator*::key
    - Iterator*::Next
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IteratorPinsRef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1300,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1301,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1302,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1303,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1304,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1305,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1307,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1308,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1308,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1309,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1309,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1310,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1310,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1311,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1311,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1313,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1314,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1314,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1315,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1315,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1316,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1316,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1318,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1319,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1319,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1320,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1320,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1322,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1323,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1323,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1325
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseSnapshot
    - GetSnapshot
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Snapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillLevels
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1330,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1332,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1333,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1334,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1335,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1336,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1337,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1339,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1339,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1340,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1342,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1342,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1343,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1343,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1343,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1344,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1345,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1345,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1347,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1348,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1348,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1349,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1349,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1350,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1350,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1351,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1352,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1352,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1354,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1354,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1354,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1356
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Size
    - ReleaseSnapshot
    - leveldb::Between
    - NumTableFilesAtLevel
    - GetSnapshot
    - ASSERT_GT
    - AllEntriesFor
    - ASSERT_GE
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - leveldb::RandomString
    - ASSERT_TRUE
    - ASSERT_OK
    - FillLevels
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, HiddenValuesAreRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1359,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1360,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1360,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1362,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1362,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1365,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1366,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1367,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1368,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1368,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1369,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1369,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1371,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1372,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1373,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1373,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1374,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1374,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1375,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1375,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1377,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1380,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1380,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1381,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1384,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1385
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - NumTableFilesAtLevel
    - AllEntriesFor
    - ASSERT_EQ
    - Delete
    - Put
    - ASSERT_OK
    - dbfull
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DeletionMarkers1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1388,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1389,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1389,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1391,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1391,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1394,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1395,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1396,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1397,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1397,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1398,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1398,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1400,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1401,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1401,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1402,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1402,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1403,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1403,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1404,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1406,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1406,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1410,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1411
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - NumTableFilesAtLevel
    - AllEntriesFor
    - ASSERT_EQ
    - Delete
    - Put
    - ASSERT_OK
    - dbfull
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DeletionMarkers2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1415,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1419,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1419,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1420,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1420,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1421,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1422,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1422,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1423,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1423,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1424,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1425,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1425,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1431,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1431,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1432,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1432,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1433,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1434,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1434,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1435,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1435,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1436,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1436,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1437,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1438,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1438,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1441,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1442,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1443,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1443,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1448,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1448,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1449,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1450,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1450,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1451,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1451,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1453
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - Delete
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - FilesPerLevel
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, OverlapInLevel0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1456,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1457,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1457,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1458,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1459,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1459,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1460,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1460,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1461,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1462,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1462,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1463,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1464,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1464,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1465,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1466,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1467,1
    - Dst: Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1467,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1468,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1469,1
    - Dst: Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1470
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - Reopen
    - ASSERT_EQ
    - Delete
    - Put
    - ASSERT_OK
    - Contents
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, L0_CompactionBug_Issue44_a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1473,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1474,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1475,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1476,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1477,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1478,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1479,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1480,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1481,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1482,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1483,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1484,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1485,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1486,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1487,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1488,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1489,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1490,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1491,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1492,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1493,1
    - Dst: Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1493,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1494,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1495,1
    - Dst: Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1496
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - Reopen
    - ASSERT_EQ
    - Delete
    - Put
    - Contents
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, L0_CompactionBug_Issue44_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1502,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1503,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1503,1
    - Dst: leveldb::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1503,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1505
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - fflush
    - leveldb::RandomString
    - ASSERT_OK
    - leveldb::RandomKey
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Fflush_Issue474)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1512,1
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1515,1
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1518,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1522,1
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1524,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1525,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1525,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1526,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1526,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1528
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::BytewiseComparator
    - ASSERT_TRUE
    - CurrentOptions
    - Status::ToString
    - TryReopen
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ComparatorCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1510
    functionName: leveldb::NewComparator::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1513
    functionName: leveldb::NewComparator::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - BytewiseComparator
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ' l'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1516
    functionName: leveldb::NewComparator::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - BytewiseComparator
    linkageType: ''
    returnType: void
    signature: void FindShortestSeparator(std::string* s, const Slice& l) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1519
    functionName: leveldb::NewComparator::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - BytewiseComparator
    linkageType: ''
    returnType: void
    signature: void FindShortSuccessor(std::string* key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1535,1
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1535,1
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1538,1
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1539,1
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1542,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1549,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: leveldb::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1553,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1558,1
    - Dst: DestroyAndReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1563,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1564,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1564,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1565,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1565,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1567,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1567,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1568,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1568,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1569,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1569,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1570,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1570,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1571,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1571,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1572,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1572,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1573,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1579,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1580,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1580,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1584
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DestroyAndReopen
    - leveldb::EscapeString
    - Compact
    - ASSERT_EQ
    - Put
    - ASSERT_TRUE
    - ToNumber
    - leveldb::ToString
    - sscanf
    - ASSERT_OK
    - snprintf
    - leveldb::size
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, CustomComparator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1533
    functionName: leveldb::NumberComparator::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1535,1
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1536
    functionName: leveldb::NumberComparator::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NumberComparator::ToNumber
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1538,1
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - ' l'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1540
    functionName: leveldb::NumberComparator::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NumberComparator::ToNumber
    linkageType: ''
    returnType: void
    signature: void FindShortestSeparator(std::string* s, const Slice& l) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1543
    functionName: leveldb::NumberComparator::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NumberComparator::ToNumber
    linkageType: ''
    returnType: void
    signature: void FindShortSuccessor(std::string* key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1549,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1555
    functionName: leveldb::NumberComparator::ToNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 3
    functionsReached:
    - ToString
    - EscapeString
    - size
    - ASSERT_TRUE
    - sscanf
    linkageType: ''
    returnType: int
    signature: int ToNumber(const Slice& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1587,1
    - Dst: MakeTables
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1590,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1591,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1591,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1594,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1595,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1595,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1598,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1599,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1599,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1602,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1603,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1603,1
    - Dst: MakeTables
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1606,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1607,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1607,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1610,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1611,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1611,1
    - Dst: MakeTables
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1614,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1615,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1615,1
    - Dst: CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1616,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1617,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1618
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - MakeTables
    - Compact
    - ASSERT_EQ
    - CompactRange
    - FilesPerLevel
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ManualCompaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1621,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1622,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1622,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1628,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1629,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1629,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1629,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1630,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1634,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1635,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1636,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1644,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1645,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1645,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1645,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1646,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1651,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1652,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1657
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - ASSERT_TRUE
    - leveldb::DB::Open
    - leveldb::Options
    - ASSERT_OK
    - Status::ToString
    - leveldb::DestroyDB
    - strstr
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DBOpen_Options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1660,1
    - Dst: TestEnv::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1662,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1663,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1663,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1668,1
    - Dst: TestEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1668,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1669,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1669,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1671,1
    - Dst: TestEnv::GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1671,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1673,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1673,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1674,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1674,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1675,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1675,1
    - Dst: TestEnv::SetIgnoreDotFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1678,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1679,1
    - Dst: TestEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1679,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1680,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1680,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1681,1
    - Dst: TestEnv::GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1681,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1682,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1682,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1683,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1683,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1684,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1685
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - TestEnv::GetChildren
    - TestEnv::SetIgnoreDotFiles
    - leveldb::test::TmpDir
    - TestEnv::CreateDir
    - ASSERT_EQ
    - TestEnv::FileExists
    - ASSERT_TRUE
    - ASSERT_OK
    - TestEnv::DeleteDir
    - leveldb::DestroyDB
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DestroyEmptyDir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1688,1
    - Dst: leveldb::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1689,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1690,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1690,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1695,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1695,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1696,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1699,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1699,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1700,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1700,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1700,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1701,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1701,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1707,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1707,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1707,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1708,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1709
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FileExists
    - leveldb::DeleteDir
    - leveldb::test::TmpDir
    - ASSERT_TRUE
    - ASSERT_OK
    - leveldb::DB::Open
    - leveldb::Options
    - leveldb::DestroyDB
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DestroyOpenDB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1713,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1713,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1714,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1715
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - ASSERT_TRUE
    - leveldb::DB::Open
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Locking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1719,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1721,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1723,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1723,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1724,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1724,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1725,1
    - Dst: CountFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1726,1
    - Dst: no_space_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1728,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1731,1
    - Dst: no_space_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1734,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1735,1
    - Dst: CountFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1736
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - no_space_::store
    - Reopen
    - Compact
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - ASSERT_LT
    - dbfull
    - CurrentOptions
    - CountFiles
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, NoSpace)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1739,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1742,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1743,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1743,1
    - Dst: non_writable_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1745,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1749,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1750,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1752,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1755,1
    - Dst: non_writable_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1757
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - Reopen
    - ASSERT_GT
    - non_writable_::store
    - Put
    - fprintf
    - ASSERT_OK
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, NonWritableFileSystem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1763,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1765,1
    - Dst: data_sync_error_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1766,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1770,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1770,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1771,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1775,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1775,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1776,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1776,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1777,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1777,1
    - Dst: data_sync_error_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1780,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1784,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1784,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1785,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1785,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1786,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1786,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1787,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1788
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ASSERT_EQ
    - Put
    - ASSERT_TRUE
    - ASSERT_OK
    - data_sync_error_::store
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, WriteSyncError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1804,1
    - Dst: DestroyAndReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1808,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1809,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1809,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1810,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1810,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1813,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1814,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1814,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1816,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1816,1
    - Dst: std::atomic*::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1819,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1820,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1821,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1821,1
    - Dst: std::atomic*::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1824,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1825,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1826,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1828
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DestroyAndReopen
    - NumTableFilesAtLevel
    - std::atomic*::store
    - Reopen
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ManifestWriteError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1831,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1831,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1832,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1832,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1835,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1836,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1836,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1838,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1839,1
    - Dst: DeleteAnSSTFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1839,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1840,1
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1842,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1843,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1844,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1844,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1845
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DeleteAnSSTFile
    - Close
    - ASSERT_EQ
    - Put
    - ASSERT_TRUE
    - ASSERT_OK
    - Status::ToString
    - dbfull
    - Status::ok
    - TryReopen
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, MissingSSTFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1848,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1848,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1849,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1849,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1852,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1853,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1853,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1854,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1855,1
    - Dst: RenameLDBToSST
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1855,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1856,1
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1858,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1859,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1859,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1860,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1861
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - Close
    - ASSERT_EQ
    - Put
    - RenameLDBToSST
    - ASSERT_TRUE
    - ASSERT_OK
    - dbfull
    - Status::ok
    - TryReopen
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, StillReadSST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1864,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1864,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1865,1
    - Dst: CountFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1866,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1868,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1868,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1869,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1871,1
    - Dst: CountFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1872
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Compact
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - CountFiles
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, FilesDeletedAfterCompaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1876,1
    - Dst: leveldb::NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1878,1
    - Dst: leveldb::NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1879,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1880,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1885,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1885,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1885,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1885,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1887,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1889,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1889,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1889,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1889,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1891,1
    - Dst: delay_data_sync_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1894,1
    - Dst: random_read_counter_::Reset
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1897,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1899,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1899,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1899,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1899,1
    - Dst: random_read_counter_::Read
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1901,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1902,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1903,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1904,1
    - Dst: random_read_counter_::Reset
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1907,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1909,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1909,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1909,1
    - Dst: random_read_counter_::Read
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1911,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1912,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1913,1
    - Dst: delay_data_sync_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1915,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1874
    functionDepth: 1
    functionLinenumber: 1874
    functionLinenumberEnd: 1919
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NewLRUCache
    - Reopen
    - Compact
    - leveldb::NewBloomFilterPolicy
    - leveldb::Key
    - random_read_counter_::Reset
    - random_read_counter_::Read
    - ASSERT_GE
    - ASSERT_EQ
    - Close
    - Put
    - fprintf
    - ASSERT_OK
    - ASSERT_LE
    - dbfull
    - delay_data_sync_::store
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, BloomFilter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MTThread*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1941,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1945,1
    - Dst: MTThread*::state::stop::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1949,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1950,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1952,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1954,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1956,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1959,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1960,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: DB*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1965,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1969,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1972,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1973,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1974,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1975,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1975,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1980,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1982
    functionName: leveldb::MTThreadBody
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteOptions
    - load
    - ASSERT_EQ
    - DB*::Put
    - MTThread*::state::stop::load
    - DB*::Get
    - leveldb::ReadOptions
    - ASSERT_LT
    - ASSERT_LE
    - static_cast<int>
    - fprintf
    - reinterpret_cast<MTThread*>
    - ASSERT_OK
    - sscanf
    - std::string::c_str
    - Random::Uniform
    - store
    - leveldb::Slice
    - Random::OneIn
    - Status::IsNotFound
    - ASSERT_GE
    - snprintf
    linkageType: ''
    returnType: void
    signature: void MTThreadBody(void* arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MTThread*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1941,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1945,1
    - Dst: MTThread*::state::stop::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1949,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1950,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1952,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1954,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1956,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1959,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1960,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: DB*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1965,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1969,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1972,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1973,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1974,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1975,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1975,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1980,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1982
    functionName: leveldb::MTThreadBody
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteOptions
    - load
    - ASSERT_EQ
    - DB*::Put
    - MTThread*::state::stop::load
    - DB*::Get
    - leveldb::ReadOptions
    - ASSERT_LT
    - ASSERT_LE
    - static_cast<int>
    - fprintf
    - reinterpret_cast<MTThread*>
    - ASSERT_OK
    - sscanf
    - std::string::c_str
    - Random::Uniform
    - store
    - leveldb::Slice
    - Random::OneIn
    - Status::IsNotFound
    - ASSERT_GE
    - snprintf
    linkageType: ''
    returnType: void
    signature: void MTThreadBody(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MTState::stop::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1991,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1993,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1994,1
    - Dst: leveldb::StartThread
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2002,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2006,1
    - Dst: MTState::stop::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2009,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2011,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2012,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2015,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1986
    functionDepth: 1
    functionLinenumber: 1986
    functionLinenumberEnd: 2016
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - store
    - ChangeOptions
    - load
    - MTState::stop::store
    - leveldb::StartThread
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2029
    functionName: leveldb::ModelDB::ModelDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelDB(const Options& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2030
    functionName: ~ModelDB() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ModelDB() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ModelDB::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' k'
    - ' v'
    argTypes:
    - WriteOptions
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2031
    functionDepth: 1
    functionLinenumber: 2031
    functionLinenumberEnd: 2033
    functionName: leveldb::ModelDB::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::ModelDB::Put
    linkageType: ''
    returnType: Status
    signature: Status Put(const WriteOptions& o, const Slice& k, const Slice& v) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ModelDB::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' key'
    argTypes:
    - WriteOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2036
    functionName: leveldb::ModelDB::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::ModelDB::Delete
    linkageType: ''
    returnType: Status
    signature: Status Delete(const WriteOptions& o, const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2039,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' options'
    - ' key'
    - value
    argTypes:
    - ReadOptions
    - Slice
    - std::string*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 2038
        line_start: 2038
        source_file: /src/bitcoin-core/src/leveldb/db/db_test.cc
    constantsTouched: []
    func_position:
      end: 2041
      start: 2037
    functionDepth: 2
    functionLinenumber: 2037
    functionLinenumberEnd: 2041
    functionName: leveldb::ModelDB::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - assert
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: "Status Get(const ReadOptions& options, const Slice& key,\n             std::string*
      value) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KVMap::KVMap
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2044,1
    - Dst: ModelIter::ModelIter
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2046,1
    - Dst: reinterpret_cast<const ModelSnapshot*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2049,1
    - Dst: ModelIter::ModelIter
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ReadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2052
    functionName: leveldb::ModelDB::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ModelSnapshot*>
    - ModelIter::ModelIter
    - KVMap::KVMap
    linkageType: ''
    returnType: Iterator
    signature: Iterator * NewIterator(const ReadOptions& options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelSnapshot::ModelSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2057
    functionName: leveldb::ModelDB::GetSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ModelSnapshot::ModelSnapshot
    linkageType: ''
    returnType: Snapshot
    signature: Snapshot * GetSnapshot() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ModelSnapshot*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - snapshot
    argTypes:
    - Snapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2061
    functionName: leveldb::ModelDB::ReleaseSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ModelSnapshot*>
    linkageType: ''
    returnType: void
    signature: void ReleaseSnapshot(const Snapshot* snapshot) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2067,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2067,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2069,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2069,1
    - Dst: WriteBatch*::Iterate
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' options'
    - batch
    argTypes:
    - WriteOptions
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2074
    functionName: leveldb::ModelDB::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - WriteBatch*::Iterate
    - ToString
    linkageType: ''
    returnType: Status
    signature: Status Write(const WriteOptions& options, WriteBatch* batch) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2067,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2068
    functionName: leveldb::ModelDB::Handler::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2069,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2069
    functionName: leveldb::ModelDB::Handler::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    - erase
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' property'
    - value
    argTypes:
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2078
    functionName: leveldb::ModelDB::GetProperty
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetProperty(const Slice& property, std::string* value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - n
    - sizes
    argTypes:
    - Range*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2083
    functionName: leveldb::ModelDB::GetApproximateSizes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetApproximateSizes(const Range* r, int n, uint64_t* sizes) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2084
    functionName: leveldb::ModelDB::CompactRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompactRange(const Slice* start, const Slice* end) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - map
    - owned
    argTypes:
    - KVMap*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2089
    functionDepth: 1
    functionLinenumber: 2089
    functionLinenumberEnd: 2090
    functionName: leveldb::ModelDB::ModelIter::ModelIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ModelIter(const KVMap* map, bool owned)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2093
    functionName: ~ModelIter() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ModelIter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2094
    functionDepth: 1
    functionLinenumber: 2094
    functionLinenumberEnd: 2094
    functionName: leveldb::ModelDB::ModelIter::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2095
    functionDepth: 1
    functionLinenumber: 2095
    functionLinenumberEnd: 2095
    functionName: leveldb::ModelDB::ModelIter::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2097,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2098,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2100,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2096
    functionDepth: 1
    functionLinenumber: 2096
    functionLinenumberEnd: 2102
    functionName: leveldb::ModelDB::ModelIter::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - end
    - rbegin
    - find
    - empty
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2104,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2105
    functionName: leveldb::ModelDB::ModelIter::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    - lower_bound
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& k) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2106
    functionName: leveldb::ModelDB::ModelIter::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2107
    functionName: leveldb::ModelDB::ModelIter::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2108
    functionName: leveldb::ModelDB::ModelIter::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2109
    functionName: leveldb::ModelDB::ModelIter::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2110
    functionName: leveldb::ModelDB::ModelIter::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DB*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2126,1
    - Dst: DB*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2128,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2131,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2131,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2132,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2132,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2132,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2132,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2134,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2134,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2135,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2136,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2136,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2137,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2137,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2142,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2142,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2143,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2144,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2144,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2145,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2145,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2146,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2146,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2152,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2152,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2153,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2154,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2154,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - step
    - model
    - db
    - model_snap
    - db_snap
    argTypes:
    - int
    - DB*
    - DB*
    - Snapshot*
    - Snapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2121
    functionDepth: 2
    functionLinenumber: 2121
    functionLinenumberEnd: 2162
    functionName: leveldb::CompareIterators
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::EscapeString
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - Iterator*::key
    - DB*::NewIterator
    - fprintf
    - Iterator*::Next
    linkageType: ''
    returnType: bool
    signature: "bool CompareIterators(int step, DB* model, DB* db,\n                             const
      Snapshot* model_snap,\n                             const Snapshot* db_snap)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2174,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2177,1
    - Dst: leveldb::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2179,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2180,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2181,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2181,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2181,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2182,1
    - Dst: ModelDB::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2182,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2182,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2183,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2183,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2183,1
    - Dst: leveldb::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2186,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2187,1
    - Dst: ModelDB::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2187,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2187,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2188,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2188,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2188,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2192,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2194,1
    - Dst: leveldb::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2195,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2200,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2201,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2201,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2202,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2204,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2207,1
    - Dst: ModelDB::Write
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2207,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2207,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2208,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2208,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2208,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2212,1
    - Dst: leveldb::CompareIterators
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2212,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2213,1
    - Dst: leveldb::CompareIterators
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2213,1
    - Dst: ModelDB::ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2217,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2218,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2220,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2221,1
    - Dst: leveldb::CompareIterators
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2221,1
    - Dst: ModelDB::GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2223,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2224,1
    - Dst: ModelDB::ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2227,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2228,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2164
    functionDepth: 3
    functionLinenumber: 2164
    functionLinenumberEnd: 2230
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ModelDB::Write
    - leveldb::WriteOptions
    - ModelDB::Put
    - Write
    - ASSERT_TRUE
    - ModelDB::Delete
    - ModelDB::GetSnapshot
    - ModelDB::ReleaseSnapshot
    - Reopen
    - Delete
    - Put
    - leveldb::RandomString
    - fprintf
    - ASSERT_OK
    - leveldb::RandomKey
    - WriteBatch::Put
    - Random::Uniform
    - ReleaseSnapshot
    - Random::OneIn
    - GetSnapshot
    - ChangeOptions
    - leveldb::CompareIterators
    - WriteBatch::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Randomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2234,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2236
    functionName: leveldb::MakeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string MakeKey(unsigned int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2239,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2240,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2240,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2245,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2246,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2247,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2252,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2261,1
    - Dst: VersionSet::Recover
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2261,1
    - Dst: leveldb::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2265,1
    - Dst: leveldb::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2266,1
    - Dst: VersionEdit::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2267,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2269,1
    - Dst: VersionSet::LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2269,1
    - Dst: Env*::NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2271,1
    - Dst: VersionEdit::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2275,1
    - Dst: leveldb::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2276,1
    - Dst: leveldb::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2277,1
    - Dst: VersionEdit::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2278,1
    - Dst: VersionSet::LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2279,1
    - Dst: Env*::NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2281,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2284,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - iters
    - num_base_files
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2238
    functionDepth: 1
    functionLinenumber: 2238
    functionLinenumberEnd: 2288
    functionName: leveldb::BM_LogAndApply
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - leveldb::MakeKey
    - VersionEdit::DeleteFile
    - VersionSet::Recover
    - Env*::NowMicros
    - fprintf
    - ASSERT_TRUE
    - leveldb::DB::Open
    - ASSERT_OK
    - leveldb::Options
    - snprintf
    - leveldb::DestroyDB
    - VersionSet::LogAndApply
    - leveldb::Env::Default
    - VersionEdit::AddFile
    linkageType: ''
    returnType: void
    signature: void BM_LogAndApply(int iters, int num_base_files)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rnd
    - len
    argTypes:
    - Random*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: leveldb::RandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 7
    functionsReached:
    - leveldb::test::RandomString
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(Random* rnd, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Random*::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:36,1
    - Dst: Random*::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:37,1
    - Dst: Random*::Skewed
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:37,1
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:37,1
    - Dst: leveldb::test::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: leveldb::RandomKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::test::RandomKey
    - Random*::Uniform
    - Random*::Skewed
    - Random*::OneIn
    linkageType: ''
    returnType: std::string
    signature: std::string RandomKey(Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: leveldb::AtomicCounter::AtomicCounter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AtomicCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IncrementBy
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: leveldb::AtomicCounter::Increment
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - IncrementBy
    linkageType: ''
    returnType: void
    signature: void Increment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - millis
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: leveldb::DelayMilliseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 14
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void DelayMilliseconds(int millis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: leveldb::AtomicCounter::AtomicCounter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AtomicCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IncrementBy
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: leveldb::AtomicCounter::Increment
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - IncrementBy
    linkageType: ''
    returnType: void
    signature: void Increment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: leveldb::AtomicCounter::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - millis
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: leveldb::DelayMilliseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 14
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void DelayMilliseconds(int millis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - Env*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: leveldb::TestEnv::TestEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestEnv(Env* base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ignored
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: leveldb::TestEnv::SetIgnoreDotFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetIgnoreDotFiles(bool ignored)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:78,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:79,1
    - Dst: std::vector<std::string>*::begin
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:83,1
    - Dst: std::vector<std::string>*::end
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:84,1
    - Dst: std::vector<std::string>*::erase
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dir'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: leveldb::TestEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::string>*::end
    - target
    - std::vector<std::string>*::erase
    - std::vector<std::string>*::begin
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& dir,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - Env*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: leveldb::SpecialEnv::SpecialEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpecialEnv(Env* base)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: no_space_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:143,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:145,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:147,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:150,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:151,1
    - Dst: data_sync_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:153,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:154,1
    - Dst: delay_data_sync_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:156,1
    - Dst: DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:157,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:159,1
    - Dst: manifest_write_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:172,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:173,1
    - Dst: Append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:175,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:178,1
    - Dst: Flush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:179,1
    - Dst: manifest_sync_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:181,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:182,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:184,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:190,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:191,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:194,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:195,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:196,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:196,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:197,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:197,1
    - Dst: DataFile::DataFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:198,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:199,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:199,1
    - Dst: ManifestFile::ManifestFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 204
    functionName: leveldb::SpecialEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DelayMilliseconds
    - leveldb::OK
    - load
    - leveldb::IOError
    - Status::ok
    - DataFile::DataFile
    - no_space_::load
    - data_sync_error_::load
    - strstr
    - delay_data_sync_::load
    - manifest_write_error_::load
    - Append
    - Close
    - Sync
    - ManifestFile::ManifestFile
    - c_str
    - Flush
    - manifest_sync_error_::load
    - target
    linkageType: ''
    returnType: Status
    signature: Status NewWritableFile(const std::string& f, WritableFile** r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - env
    - base
    argTypes:
    - SpecialEnv*
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: leveldb::SpecialEnv::DataFile::DataFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataFile(SpecialEnv* env, WritableFile* base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: ~DataFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DataFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: no_space_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:143,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:145,1
    - Dst: leveldb::SpecialEnv::DataFile::Append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: leveldb::SpecialEnv::DataFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - no_space_::load
    - leveldb::OK
    - leveldb::SpecialEnv::DataFile::Append
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SpecialEnv::DataFile::Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: leveldb::SpecialEnv::DataFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::SpecialEnv::DataFile::Close
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SpecialEnv::DataFile::Flush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: leveldb::SpecialEnv::DataFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::SpecialEnv::DataFile::Flush
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data_sync_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:153,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:154,1
    - Dst: delay_data_sync_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:156,1
    - Dst: DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:157,1
    - Dst: leveldb::SpecialEnv::DataFile::Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: leveldb::SpecialEnv::DataFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - delay_data_sync_::load
    - DelayMilliseconds
    - data_sync_error_::load
    - leveldb::SpecialEnv::DataFile::Sync
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: leveldb::SpecialEnv::DataFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - env
    - b
    argTypes:
    - SpecialEnv*
    - WritableFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: leveldb::SpecialEnv::ManifestFile::ManifestFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ManifestFile(SpecialEnv* env, WritableFile* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: ~ManifestFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ManifestFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: manifest_write_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:172,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:173,1
    - Dst: leveldb::SpecialEnv::ManifestFile::Append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: leveldb::SpecialEnv::ManifestFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - manifest_write_error_::load
    - leveldb::SpecialEnv::ManifestFile::Append
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SpecialEnv::ManifestFile::Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: leveldb::SpecialEnv::ManifestFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::SpecialEnv::ManifestFile::Close
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SpecialEnv::ManifestFile::Flush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: leveldb::SpecialEnv::ManifestFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::SpecialEnv::ManifestFile::Flush
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: manifest_sync_error_::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:181,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:182,1
    - Dst: leveldb::SpecialEnv::ManifestFile::Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: leveldb::SpecialEnv::ManifestFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::SpecialEnv::ManifestFile::Sync
    - manifest_sync_error_::load
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: leveldb::SpecialEnv::ManifestFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Increment
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:218,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:219,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:224,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:225,1
    - Dst: CountingFile::CountingFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 229
    functionName: leveldb::SpecialEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - CountingFile::CountingFile
    - Read
    - Increment
    - target
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status NewRandomAccessFile(const std::string& f, RandomAccessFile**
      r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - target
    - counter
    argTypes:
    - RandomAccessFile*
    - AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: leveldb::SpecialEnv::CountingFile::CountingFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CountingFile(RandomAccessFile* target, AtomicCounter* counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: ~CountingFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CountingFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Increment
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:218,1
    - Dst: leveldb::SpecialEnv::CountingFile::Read
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: leveldb::SpecialEnv::CountingFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::SpecialEnv::CountingFile::Read
    - Increment
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n                  char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: leveldb::SpecialEnv::CountingFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:240,1
    - Dst: SpecialEnv::SpecialEnv
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:240,1
    - Dst: NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:241,1
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:242,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:243,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:243,1
    - Dst: leveldb::DBTest::Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: leveldb::DBTest::DBTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - leveldb::DBTest::Reopen
    - DestroyDB
    - SpecialEnv::SpecialEnv
    - Options
    - NewBloomFilterPolicy
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void DBTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:250,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: ~DBTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DestroyDB
    - Options
    linkageType: ''
    returnType: void
    signature: void ~DBTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::DestroyAndReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: leveldb::DBTest::ChangeOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBTest::DestroyAndReopen
    linkageType: ''
    returnType: bool
    signature: bool ChangeOptions()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 285
    functionName: leveldb::DBTest::CurrentOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: Options CurrentOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: leveldb::DBTest::dbfull
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<DBImpl*>
    linkageType: ''
    returnType: DBImpl
    signature: DBImpl * dbfull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:289,1
    - Dst: leveldb::DBTest::TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: leveldb::DBTest::Reopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - ASSERT_OK
    - leveldb::DBTest::TryReopen
    linkageType: ''
    returnType: void
    signature: void Reopen(Options* options = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: leveldb::DBTest::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:299,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:299,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:300,1
    - Dst: leveldb::DBTest::TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: leveldb::DBTest::DestroyAndReopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - DestroyDB
    - Options
    - ASSERT_OK
    - leveldb::DBTest::TryReopen
    linkageType: ''
    returnType: void
    signature: void DestroyAndReopen(Options* options = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:310,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: leveldb::DBTest::TryReopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 4
    functionsReached:
    - leveldb::DB::Open
    - leveldb::DBTest::CurrentOptions
    linkageType: ''
    returnType: Status
    signature: Status TryReopen(Options* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:319,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' v'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: leveldb::DBTest::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 3
    functionsReached:
    - leveldb::DBTest::Put
    - WriteOptions
    linkageType: ''
    returnType: Status
    signature: Status Put(const std::string& k, const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:322,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: leveldb::DBTest::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::DBTest::Delete
    - WriteOptions
    linkageType: ''
    returnType: Status
    signature: Status Delete(const std::string& k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:328,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:329,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:331,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: leveldb::DBTest::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - Status::ToString
    - Status::IsNotFound
    - leveldb::DBTest::Get
    - Status::ok
    linkageType: ''
    returnType: std::string
    signature: std::string Get(const std::string& k, const Snapshot* snapshot = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:342,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:342,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:343,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:343,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:343,1
    - Dst: leveldb::DBTest::IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:344,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:345,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:346,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:347,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:348,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:353,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:353,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:353,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:354,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:354,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:355,1
    - Dst: leveldb::DBTest::IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:355,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:358,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 362
    functionName: leveldb::DBTest::Contents
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBTest::IterStatus
    - Iterator*::Valid
    - Iterator*::SeekToFirst
    - ReadOptions
    - NewIterator
    - Iterator*::Prev
    - std::vector::push_back
    - ASSERT_EQ
    - std::string::push_back
    - Iterator*::Next
    - std::string::append
    - ASSERT_LT
    - Iterator*::SeekToLast
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Contents()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:365,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:367,1
    - Dst: InternalKey::Encode
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:367,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:369,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:370,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:374,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:376,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:376,1
    - Dst: comparator::Compare
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:379,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:388,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - ' user_key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 404
    functionName: leveldb::DBTest::AllEntriesFor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::Seek
    - InternalKey::Encode
    - Iterator*::key
    - ParseInternalKey
    - leveldb::DBTest::dbfull
    - Iterator*::Next
    - Iterator*::status
    - comparator::Compare
    linkageType: ''
    returnType: std::string
    signature: std::string AllEntriesFor(const Slice& user_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:408,1
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:408,1
    - Dst: NumberToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:409,1
    - Dst: std::stoi
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: leveldb::DBTest::NumTableFilesAtLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 3
    functionsReached:
    - NumberToString
    - ASSERT_TRUE
    - std::stoi
    - GetProperty
    linkageType: ''
    returnType: int
    signature: int NumTableFilesAtLevel(int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: leveldb::DBTest::TotalTableFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBTest::NumTableFilesAtLevel
    linkageType: ''
    returnType: int
    signature: int TotalTableFiles()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:426,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:428,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:431,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 436
    functionName: leveldb::DBTest::FilesPerLevel
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - std::string::size
    - std::string::resize
    - leveldb::DBTest::NumTableFilesAtLevel
    linkageType: ''
    returnType: std::string
    signature: std::string FilesPerLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:440,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:441,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: leveldb::DBTest::CountFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - GetChildren
    - std::vector::size
    linkageType: ''
    returnType: int
    signature: int CountFiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetApproximateSizes
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' start'
    - ' limit'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: leveldb::DBTest::Size
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - GetApproximateSizes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Size(const Slice& start, const Slice& limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' start'
    - ' limit'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: leveldb::DBTest::Compact
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - CompactRange
    linkageType: ''
    returnType: void
    signature: void Compact(const Slice& start, const Slice& limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:460,1
    - Dst: leveldb::DBTest::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:461,1
    - Dst: leveldb::DBTest::dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - n
    - ' small_key'
    - ' large_key'
    argTypes:
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: leveldb::DBTest::MakeTables
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBTest::Put
    - leveldb::DBTest::dbfull
    linkageType: ''
    returnType: void
    signature: "void MakeTables(int n, const std::string& small_key,\n                  const
      std::string& large_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBTest::MakeTables
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' smallest'
    - ' largest'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: leveldb::DBTest::FillLevels
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBTest::MakeTables
    linkageType: ''
    returnType: void
    signature: void FillLevels(const std::string& smallest, const std::string& largest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:473,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:474,1
    - Dst: static_cast<long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:476,1
    - Dst: leveldb::DBTest::dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:476,1
    - Dst: leveldb::DBTest::NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:478,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 483
    functionName: leveldb::DBTest::DumpFileCounts
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - leveldb::DBTest::dbfull
    - leveldb::DBTest::NumTableFilesAtLevel
    - static_cast<long long>
    linkageType: ''
    returnType: void
    signature: void DumpFileCounts(const char* label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: leveldb::DBTest::DumpSSTableList
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - GetProperty
    linkageType: ''
    returnType: std::string
    signature: std::string DumpSSTableList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:493,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:494,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: leveldb::DBTest::IterStatus
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - Iterator*::value
    - Iterator*::key
    - Iterator*::Valid
    linkageType: ''
    returnType: std::string
    signature: std::string IterStatus(Iterator* iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:503,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:503,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:506,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:507,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:508,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:508,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 513
    functionName: leveldb::DBTest::DeleteAnSSTFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - TableFileName
    - DeleteFile
    - GetChildren
    - ASSERT_OK
    - ParseFileName
    - std::vector::size
    linkageType: ''
    returnType: bool
    signature: bool DeleteAnSSTFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:518,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:518,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:522,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:523,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:524,1
    - Dst: SSTTableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:525,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:526,1
    - Dst: RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 531
    functionName: leveldb::DBTest::RenameLDBToSST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - TableFileName
    - RenameFile
    - GetChildren
    - SSTTableFileName
    - ASSERT_OK
    - ParseFileName
    - std::vector::size
    linkageType: ''
    returnType: int
    signature: int RenameLDBToSST()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:544,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:544,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_TRUE
    - Get
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:550,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:550,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:551,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:551,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:552,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:552,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:553,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:553,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, EmptyKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:559,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:559,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:560,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:560,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:561,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:561,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:562,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:562,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:563,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:563,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:564,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:564,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, EmptyValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:570,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:570,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:571,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:571,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:572,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:572,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:573,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:573,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:574,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:574,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:575,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:575,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 577
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:581,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:581,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:581,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:582,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:582,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:583,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:583,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:583,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:584,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:584,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:585,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:585,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:585,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:586,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:586,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 588
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteOptions
    - ChangeOptions
    - ASSERT_EQ
    - Delete
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, PutDeleteGet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:592,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:595,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:597,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:597,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:598,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:598,1
    - Dst: delay_data_sync_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:601,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:602,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:602,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:603,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:603,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:604,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:604,1
    - Dst: delay_data_sync_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:606,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 608
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ChangeOptions
    - ASSERT_EQ
    - std::string
    - Put
    - ASSERT_OK
    - delay_data_sync_::store
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetFromImmutableLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:612,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:612,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:613,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:614,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:614,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 616
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetFromVersions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:620,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:620,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:622,1
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:622,1
    - Dst: std::stoi
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:623,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:624,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:625,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - GetProperty
    - ASSERT_GT
    - std::stoi
    - ChangeOptions
    - Put
    - ASSERT_TRUE
    - ASSERT_OK
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetMemUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:633,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:633,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:634,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:634,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:635,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:636,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:636,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:637,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:637,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:638,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:638,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:639,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:640,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:640,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:641,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:641,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:642,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 645
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseSnapshot
    - GetSnapshot
    - ChangeOptions
    - ASSERT_EQ
    - std::string
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:651,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:651,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:652,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:652,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:653,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:654,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:655,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:656,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:656,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:657,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:657,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:658,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:658,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:659,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:659,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:660,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:660,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:661,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:662,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:663,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:663,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:664,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:664,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:665,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:666,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:666,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:667,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 670
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseSnapshot
    - GetSnapshot
    - ChangeOptions
    - ASSERT_EQ
    - std::string
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetIdenticalSnapshots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:674,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:677,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:677,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:678,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:678,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:680,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:681,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:682,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:682,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:685,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:687,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:688,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:689,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:689,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:692,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 694
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseSnapshot
    - GetSnapshot
    - Iterator*::Valid
    - Iterator*::SeekToFirst
    - ChangeOptions
    - NewIterator
    - Put
    - ASSERT_TRUE
    - ASSERT_OK
    - dbfull
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterateOverEmptySnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:702,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:702,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:703,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:703,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:704,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:705,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:705,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:706,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:707,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:707,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 709
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetLevel0Ordering)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:713,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:713,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:714,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:715,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:715,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:716,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:716,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:717,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:717,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:718,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:719,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:719,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Compact
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetOrderedByLevels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:726,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:726,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:727,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:728,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:728,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:729,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:730,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:730,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:731,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:732,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:732,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:733,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:733,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:734,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:734,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 736
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Compact
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetPicksCorrectFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:750,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:750,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:751,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:753,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:754,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:755,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:759,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:760,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:760,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:761,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:761,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:762,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:762,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:766,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:766,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:770,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:772,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:772,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 774
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - NumTableFilesAtLevel
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_LE
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, GetEncountersEmptyLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:777,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:777,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:779,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:780,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:780,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:782,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:783,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:783,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:785,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:786,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 789
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::SeekToFirst
    - NewIterator
    - ASSERT_EQ
    - Iterator*::SeekToLast
    - Iterator*::Seek
    - leveldb::ReadOptions
    - IterStatus
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:792,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:792,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:793,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:793,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:795,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:796,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:796,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:797,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:798,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:798,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:799,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:800,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:800,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:801,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:802,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:802,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:804,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:805,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:805,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:806,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:807,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:807,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:808,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:809,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:809,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:810,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:811,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:811,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:813,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:814,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:814,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:815,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:816,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:816,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:818,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:819,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:819,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:820,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:821,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:821,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:823,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:824,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 827
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::SeekToFirst
    - NewIterator
    - ASSERT_EQ
    - Iterator*::Prev
    - Put
    - leveldb::ReadOptions
    - Iterator*::Next
    - ASSERT_OK
    - Iterator*::SeekToLast
    - Iterator*::Seek
    - IterStatus
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterSingle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:830,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:830,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:831,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:831,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:832,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:832,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:833,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:833,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:835,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:836,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:836,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:837,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:838,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:838,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:839,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:840,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:840,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:841,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:842,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:842,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:843,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:844,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:844,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:845,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:846,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:846,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:848,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:849,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:849,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:850,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:851,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:851,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:852,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:853,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:853,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:854,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:855,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:855,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:856,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:857,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:857,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:858,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:859,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:859,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:861,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:862,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:862,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:863,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:864,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:864,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:865,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:866,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:866,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:867,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:868,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:868,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:869,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:870,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:870,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:873,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:874,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:875,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:876,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:877,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:877,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:880,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:881,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:882,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:883,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:884,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:884,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:887,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:887,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:888,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:888,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:889,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:889,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:890,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:890,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:891,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:891,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:892,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:893,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:893,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:894,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:895,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:895,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:896,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:897,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:897,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:899,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:899,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:900,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:901,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:901,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:902,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:903,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:903,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:904,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:905,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:905,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:906,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:907,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 910
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::SeekToFirst
    - NewIterator
    - ASSERT_EQ
    - Iterator*::Prev
    - Put
    - leveldb::ReadOptions
    - Iterator*::Next
    - ASSERT_OK
    - Iterator*::SeekToLast
    - Iterator*::Seek
    - Delete
    - IterStatus
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterMulti)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:913,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:913,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:914,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:914,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:914,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:915,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:915,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:916,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:916,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:916,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:917,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:917,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:917,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:919,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:919,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:921,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:922,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:922,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:923,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:924,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:924,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:924,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:925,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:926,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:926,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:927,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:928,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:928,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:928,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:929,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:930,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:930,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:930,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:931,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:932,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:932,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:934,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:935,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:935,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:935,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:936,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:937,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:937,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:937,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:938,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:939,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:939,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:940,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:941,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:941,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:941,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:942,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:943,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:943,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:944,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:945,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 948
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::SeekToFirst
    - NewIterator
    - std::string
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - Iterator*::Next
    - ASSERT_OK
    - Iterator*::SeekToLast
    - Iterator*::Prev
    - IterStatus
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterSmallAndLargeMix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:952,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:952,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:953,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:953,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:954,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:954,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:955,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:955,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:956,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:956,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:958,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:958,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:959,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:960,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:960,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:961,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:962,1
    - Dst: IterStatus
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:962,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 965
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - NewIterator
    - ASSERT_EQ
    - Delete
    - Put
    - leveldb::ReadOptions
    - Iterator*::Seek
    - ASSERT_OK
    - Iterator*::Prev
    - IterStatus
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IterMultiWithDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:969,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:969,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:970,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:970,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:972,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:973,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:973,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:975,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:975,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:976,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:976,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:977,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:977,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:978,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:978,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:980,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:981,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:981,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:982,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:982,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:983,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:983,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:984,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:984,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:985,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:985,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 987
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Recover)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:991,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:991,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:992,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:992,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:993,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:994,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:995,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:995,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:996,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:997,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:997,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 999
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, RecoveryWithEmptyLog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1005,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1008,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1011,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1011,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1012,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1012,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1012,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1013,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1013,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1013,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1014,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1014,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1016,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1017,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1017,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1018,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1018,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1019,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1019,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1019,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1020,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1020,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1020,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1022
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ChangeOptions
    - std::string
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, RecoverDuringMemtableCompaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1026,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1028
    functionName: leveldb::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 6
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string Key(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1031,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1033,1
    - Dst: TotalTableFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1037,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1039,1
    - Dst: TotalTableFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1041,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1042,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1045,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1048,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1053
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ASSERT_GT
    - leveldb::Key
    - std::string
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - TotalTableFiles
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, MinorCompactionsHappen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1057,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1058,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1059,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1059,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1059,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1060,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1060,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1060,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1061,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1061,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1061,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1062,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1062,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1062,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1063,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1063,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1068,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1070,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1071,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1071,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1072,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1072,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1072,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1073,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1073,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1073,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1074,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1074,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1074,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1075,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1075,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1075,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1076,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1077
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - NumTableFilesAtLevel
    - Reopen
    - ASSERT_GT
    - std::string
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, RecoverWithLargeLog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1080,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1082,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1087,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1087,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1090,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1090,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1091,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1091,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1091,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1095,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1096,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1098,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1098,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1099,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1099,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1101,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1101,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1103
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - NumTableFilesAtLevel
    - Reopen
    - ASSERT_GT
    - leveldb::Key
    - ASSERT_EQ
    - std::vector::push_back
    - Put
    - leveldb::RandomString
    - ASSERT_OK
    - dbfull
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, CompactionsGenerateMultipleFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1106,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1109,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1116,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1118,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1119,1
    - Dst: TotalTableFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1119,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1120,1
    - Dst: TotalTableFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1122
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - Put
    - leveldb::RandomString
    - fprintf
    - ASSERT_LE
    - TotalTableFiles
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, RepeatedWritesToSameKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1125,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1127,1
    - Dst: FillLevels
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1129,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1138,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1142,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1143,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1145,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1146,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1147,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1150,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1151,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1152,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1153,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1157,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1157,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1158,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1159,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1159,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1160,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1161,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1162
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - Put
    - snprintf
    - FillLevels
    - ASSERT_LE
    - dbfull
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, SparseMerge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - val
    - low
    - high
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1172
    functionName: leveldb::Between
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 3
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool Between(uint64_t val, uint64_t low, uint64_t high)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1176,1
    - Dst: DestroyAndReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1179,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1181,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1181,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1181,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1182,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1183,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1183,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1183,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1186,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1186,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1192,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1192,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1192,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1192,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1196,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1196,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1196,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1196,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1201,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1202,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1202,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1202,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1202,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1208,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1212,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1212,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1212,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1212,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1213,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1213,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1213,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1213,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1215,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1217,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1217,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1217,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1217,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1218,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1218,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1218,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1218,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1220,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1221,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1224,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1227,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1227,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1228,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1228,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1231
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DestroyAndReopen
    - Size
    - leveldb::Between
    - NumTableFilesAtLevel
    - Reopen
    - ASSERT_GT
    - leveldb::Key
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - leveldb::RandomString
    - ASSERT_TRUE
    - ASSERT_OK
    - dbfull
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ApproximateSizes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1235,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1237,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1240,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1241,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1241,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1241,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1241,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1242,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1242,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1242,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1242,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1243,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1243,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1243,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1244,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1244,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1244,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1244,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1245,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1245,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1245,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1246,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1246,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1246,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1246,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1247,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1247,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1247,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1247,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1248,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1248,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1248,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1248,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1252,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1252,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1257,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1259,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1259,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1259,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1259,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1260,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1260,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1260,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1260,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1261,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1261,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1261,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1261,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1262,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1262,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1262,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1262,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1263,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1263,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1263,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1263,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1264,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1264,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1264,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1264,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1265,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1265,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1265,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1265,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1266,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1266,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1266,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1266,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1267,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1267,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1267,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1267,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1269,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1271,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1274
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Size
    - leveldb::Between
    - Reopen
    - leveldb::Key
    - ChangeOptions
    - Put
    - leveldb::RandomString
    - ASSERT_TRUE
    - ASSERT_OK
    - dbfull
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ApproximateSizes_MixOfSmallAndLarge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1277,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1280,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1280,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1283,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1285,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1287,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1289,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1290,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1290,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1291,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1291,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1292,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1292,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1293,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1294,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1276
    functionDepth: 2
    functionLinenumber: 1276
    functionLinenumberEnd: 1296
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - leveldb::Key
    - NewIterator
    - std::string
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - ASSERT_TRUE
    - ASSERT_OK
    - Iterator*::key
    - Iterator*::Next
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, IteratorPinsRef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1300,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1301,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1302,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1303,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1304,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1305,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1307,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1308,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1308,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1309,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1309,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1310,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1310,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1311,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1311,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1313,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1314,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1314,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1315,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1315,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1316,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1316,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1318,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1319,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1319,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1320,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1320,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1322,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1323,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1323,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1325
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseSnapshot
    - GetSnapshot
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Snapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillLevels
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1330,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1332,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1333,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1334,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1335,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1336,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1337,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1339,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1339,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1340,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1342,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1342,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1343,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1343,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1343,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1344,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1345,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1345,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1347,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1348,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1348,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1349,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1349,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1350,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1350,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1351,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1352,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1352,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1354,1
    - Dst: leveldb::Between
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1354,1
    - Dst: Size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1354,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1356
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Size
    - ReleaseSnapshot
    - leveldb::Between
    - NumTableFilesAtLevel
    - GetSnapshot
    - ASSERT_GT
    - AllEntriesFor
    - ASSERT_GE
    - ChangeOptions
    - ASSERT_EQ
    - Put
    - leveldb::RandomString
    - ASSERT_TRUE
    - ASSERT_OK
    - FillLevels
    - dbfull
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, HiddenValuesAreRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1359,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1360,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1360,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1362,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1362,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1365,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1366,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1367,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1368,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1368,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1369,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1369,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1371,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1372,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1373,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1373,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1374,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1374,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1375,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1375,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1377,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1380,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1380,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1381,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1384,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1385
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - NumTableFilesAtLevel
    - AllEntriesFor
    - ASSERT_EQ
    - Delete
    - Put
    - ASSERT_OK
    - dbfull
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DeletionMarkers1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1388,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1389,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1389,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1391,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1391,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1394,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1395,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1396,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1397,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1397,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1398,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1398,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1400,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1401,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1401,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1402,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1402,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1403,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1403,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1404,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1406,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1406,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1410,1
    - Dst: AllEntriesFor
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1411
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - NumTableFilesAtLevel
    - AllEntriesFor
    - ASSERT_EQ
    - Delete
    - Put
    - ASSERT_OK
    - dbfull
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DeletionMarkers2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1415,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1419,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1419,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1420,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1420,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1421,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1422,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1422,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1423,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1423,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1424,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1425,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1425,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1431,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1431,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1432,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1432,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1433,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1434,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1434,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1435,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1435,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1436,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1436,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1437,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1438,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1438,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1441,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1442,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1443,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1443,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1448,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1448,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1449,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1450,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1450,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1451,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1451,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1453
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ChangeOptions
    - Delete
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - FilesPerLevel
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, OverlapInLevel0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1456,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1457,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1457,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1458,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1459,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1459,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1460,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1460,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1461,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1462,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1462,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1463,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1464,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1464,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1465,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1466,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1467,1
    - Dst: Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1467,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1468,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1469,1
    - Dst: Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1470
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - Reopen
    - ASSERT_EQ
    - Delete
    - Put
    - ASSERT_OK
    - Contents
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, L0_CompactionBug_Issue44_a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1473,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1474,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1475,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1476,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1477,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1478,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1479,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1480,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1481,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1482,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1483,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1484,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1485,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1486,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1487,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1488,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1489,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1490,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1491,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1492,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1493,1
    - Dst: Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1493,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1494,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1495,1
    - Dst: Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1496
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - Reopen
    - ASSERT_EQ
    - Delete
    - Put
    - Contents
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, L0_CompactionBug_Issue44_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1502,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1503,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1503,1
    - Dst: leveldb::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1503,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1505
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - fflush
    - leveldb::RandomString
    - ASSERT_OK
    - leveldb::RandomKey
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Fflush_Issue474)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1512,1
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1515,1
    - Dst: leveldb::BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1518,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1522,1
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1524,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1525,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1525,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1526,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1526,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1528
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::BytewiseComparator
    - ASSERT_TRUE
    - CurrentOptions
    - Status::ToString
    - TryReopen
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ComparatorCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1510
    functionName: leveldb::NewComparator::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1513
    functionName: leveldb::NewComparator::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - BytewiseComparator
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ' l'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1516
    functionName: leveldb::NewComparator::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - BytewiseComparator
    linkageType: ''
    returnType: void
    signature: void FindShortestSeparator(std::string* s, const Slice& l) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1519
    functionName: leveldb::NewComparator::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - BytewiseComparator
    linkageType: ''
    returnType: void
    signature: void FindShortSuccessor(std::string* key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1535,1
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1535,1
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1538,1
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1539,1
    - Dst: ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1542,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1549,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: leveldb::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1553,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1558,1
    - Dst: DestroyAndReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1563,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1564,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1564,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1565,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1565,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1567,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1567,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1568,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1568,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1569,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1569,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1570,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1570,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1571,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1571,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1572,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1572,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1573,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1579,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1580,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1580,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1584
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DestroyAndReopen
    - leveldb::EscapeString
    - Compact
    - ASSERT_EQ
    - Put
    - ASSERT_TRUE
    - ToNumber
    - leveldb::ToString
    - sscanf
    - ASSERT_OK
    - snprintf
    - leveldb::size
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, CustomComparator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1533
    functionName: leveldb::NumberComparator::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1535,1
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1534
    functionDepth: 2
    functionLinenumber: 1534
    functionLinenumberEnd: 1536
    functionName: leveldb::NumberComparator::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NumberComparator::ToNumber
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1538,1
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - ' l'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1537
    functionDepth: 2
    functionLinenumber: 1537
    functionLinenumberEnd: 1540
    functionName: leveldb::NumberComparator::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NumberComparator::ToNumber
    linkageType: ''
    returnType: void
    signature: void FindShortestSeparator(std::string* s, const Slice& l) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NumberComparator::ToNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1541
    functionDepth: 2
    functionLinenumber: 1541
    functionLinenumberEnd: 1543
    functionName: leveldb::NumberComparator::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NumberComparator::ToNumber
    linkageType: ''
    returnType: void
    signature: void FindShortSuccessor(std::string* key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1548,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1549,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1552,1
    - Dst: EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1555
    functionName: leveldb::NumberComparator::ToNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 6
    functionsReached:
    - ToString
    - EscapeString
    - size
    - ASSERT_TRUE
    - sscanf
    linkageType: ''
    returnType: int
    signature: int ToNumber(const Slice& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1587,1
    - Dst: MakeTables
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1590,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1591,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1591,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1594,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1595,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1595,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1598,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1599,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1599,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1602,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1603,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1603,1
    - Dst: MakeTables
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1606,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1607,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1607,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1610,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1611,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1611,1
    - Dst: MakeTables
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1614,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1615,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1615,1
    - Dst: CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1616,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1617,1
    - Dst: FilesPerLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1618
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - MakeTables
    - Compact
    - ASSERT_EQ
    - CompactRange
    - FilesPerLevel
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ManualCompaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1621,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1622,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1622,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1628,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1629,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1629,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1629,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1630,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1634,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1635,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1636,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1644,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1645,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1645,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1645,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1646,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1651,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1652,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1657
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - ASSERT_TRUE
    - leveldb::DB::Open
    - leveldb::Options
    - ASSERT_OK
    - Status::ToString
    - leveldb::DestroyDB
    - strstr
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DBOpen_Options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1660,1
    - Dst: TestEnv::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1662,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1663,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1663,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1668,1
    - Dst: TestEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1668,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1669,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1669,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1671,1
    - Dst: TestEnv::GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1671,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1673,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1673,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1674,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1674,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1675,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1675,1
    - Dst: TestEnv::SetIgnoreDotFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1678,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1679,1
    - Dst: TestEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1679,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1680,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1680,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1681,1
    - Dst: TestEnv::GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1681,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1682,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1682,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1683,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1683,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1684,1
    - Dst: TestEnv::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1685
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - TestEnv::GetChildren
    - TestEnv::SetIgnoreDotFiles
    - leveldb::test::TmpDir
    - TestEnv::CreateDir
    - ASSERT_EQ
    - TestEnv::FileExists
    - ASSERT_TRUE
    - ASSERT_OK
    - TestEnv::DeleteDir
    - leveldb::DestroyDB
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DestroyEmptyDir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1688,1
    - Dst: leveldb::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1689,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1690,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1690,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1695,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1695,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1696,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1699,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1699,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1700,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1700,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1700,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1701,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1701,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1707,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1707,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1707,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1708,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1709
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FileExists
    - leveldb::DeleteDir
    - leveldb::test::TmpDir
    - ASSERT_TRUE
    - ASSERT_OK
    - leveldb::DB::Open
    - leveldb::Options
    - leveldb::DestroyDB
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, DestroyOpenDB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1713,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1713,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1714,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1715
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - ASSERT_TRUE
    - leveldb::DB::Open
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Locking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1719,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1721,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1723,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1723,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1724,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1724,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1725,1
    - Dst: CountFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1726,1
    - Dst: no_space_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1728,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1731,1
    - Dst: no_space_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1734,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1735,1
    - Dst: CountFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1736
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - no_space_::store
    - Reopen
    - Compact
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - ASSERT_LT
    - dbfull
    - CurrentOptions
    - CountFiles
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, NoSpace)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1739,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1742,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1743,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1743,1
    - Dst: non_writable_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1745,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1749,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1750,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1752,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1755,1
    - Dst: non_writable_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1757
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - Reopen
    - ASSERT_GT
    - non_writable_::store
    - Put
    - fprintf
    - ASSERT_OK
    - CurrentOptions
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, NonWritableFileSystem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1763,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1765,1
    - Dst: data_sync_error_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1766,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1770,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1770,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1771,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1775,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1775,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1776,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1776,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1777,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1777,1
    - Dst: data_sync_error_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1780,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1784,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1784,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1785,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1785,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1786,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1786,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1787,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1788
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ASSERT_EQ
    - Put
    - ASSERT_TRUE
    - ASSERT_OK
    - data_sync_error_::store
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, WriteSyncError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1804,1
    - Dst: DestroyAndReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1808,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1809,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1809,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1810,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1810,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1813,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1814,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1814,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1816,1
    - Dst: NumTableFilesAtLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1816,1
    - Dst: std::atomic*::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1819,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1820,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1821,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1821,1
    - Dst: std::atomic*::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1824,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1825,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1826,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1828
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DestroyAndReopen
    - NumTableFilesAtLevel
    - std::atomic*::store
    - Reopen
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - dbfull
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, ManifestWriteError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1831,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1831,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1832,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1832,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1835,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1836,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1836,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1838,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1839,1
    - Dst: DeleteAnSSTFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1839,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1840,1
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1842,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1843,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1844,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1844,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1845
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - DeleteAnSSTFile
    - Close
    - ASSERT_EQ
    - Put
    - ASSERT_TRUE
    - ASSERT_OK
    - Status::ToString
    - dbfull
    - Status::ok
    - TryReopen
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, MissingSSTFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1848,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1848,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1849,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1849,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1852,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1853,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1853,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1854,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1855,1
    - Dst: RenameLDBToSST
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1855,1
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1856,1
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1858,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1859,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1859,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1860,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1861
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - Close
    - ASSERT_EQ
    - Put
    - RenameLDBToSST
    - ASSERT_TRUE
    - ASSERT_OK
    - dbfull
    - Status::ok
    - TryReopen
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, StillReadSST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1864,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1864,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1865,1
    - Dst: CountFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1866,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1868,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1868,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1869,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1871,1
    - Dst: CountFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1872
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - Compact
    - ASSERT_EQ
    - Put
    - ASSERT_OK
    - CountFiles
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, FilesDeletedAfterCompaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1876,1
    - Dst: leveldb::NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1878,1
    - Dst: leveldb::NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1879,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1880,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1885,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1885,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1885,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1885,1
    - Dst: Compact
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1887,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1889,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1889,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1889,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1889,1
    - Dst: dbfull
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1891,1
    - Dst: delay_data_sync_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1894,1
    - Dst: random_read_counter_::Reset
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1897,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1899,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1899,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1899,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1899,1
    - Dst: random_read_counter_::Read
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1901,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1902,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1903,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1904,1
    - Dst: random_read_counter_::Reset
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1907,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1909,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1909,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1909,1
    - Dst: random_read_counter_::Read
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1911,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1912,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1913,1
    - Dst: delay_data_sync_::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1915,1
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1874
    functionDepth: 1
    functionLinenumber: 1874
    functionLinenumberEnd: 1919
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NewLRUCache
    - Reopen
    - Compact
    - leveldb::NewBloomFilterPolicy
    - leveldb::Key
    - random_read_counter_::Reset
    - random_read_counter_::Read
    - ASSERT_GE
    - ASSERT_EQ
    - Close
    - Put
    - fprintf
    - ASSERT_OK
    - ASSERT_LE
    - dbfull
    - delay_data_sync_::store
    - CurrentOptions
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, BloomFilter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MTThread*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1941,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1945,1
    - Dst: MTThread*::state::stop::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1949,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1950,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1952,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1954,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1956,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1959,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1960,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: DB*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1965,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1969,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1972,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1973,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1974,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1975,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1975,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1980,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1982
    functionName: leveldb::MTThreadBody
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteOptions
    - load
    - ASSERT_EQ
    - DB*::Put
    - MTThread*::state::stop::load
    - DB*::Get
    - leveldb::ReadOptions
    - ASSERT_LT
    - ASSERT_LE
    - static_cast<int>
    - fprintf
    - reinterpret_cast<MTThread*>
    - ASSERT_OK
    - sscanf
    - std::string::c_str
    - Random::Uniform
    - store
    - leveldb::Slice
    - Random::OneIn
    - Status::IsNotFound
    - ASSERT_GE
    - snprintf
    linkageType: ''
    returnType: void
    signature: void MTThreadBody(void* arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MTThread*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1941,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1945,1
    - Dst: MTThread*::state::stop::load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1949,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1950,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1952,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1954,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1956,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1959,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1960,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1961,1
    - Dst: DB*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1964,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1965,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1969,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1971,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1972,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1973,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1974,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1975,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1975,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1980,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1982
    functionName: leveldb::MTThreadBody
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::WriteOptions
    - load
    - ASSERT_EQ
    - DB*::Put
    - MTThread*::state::stop::load
    - DB*::Get
    - leveldb::ReadOptions
    - ASSERT_LT
    - ASSERT_LE
    - static_cast<int>
    - fprintf
    - reinterpret_cast<MTThread*>
    - ASSERT_OK
    - sscanf
    - std::string::c_str
    - Random::Uniform
    - store
    - leveldb::Slice
    - Random::OneIn
    - Status::IsNotFound
    - ASSERT_GE
    - snprintf
    linkageType: ''
    returnType: void
    signature: void MTThreadBody(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MTState::stop::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1991,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1993,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:1994,1
    - Dst: leveldb::StartThread
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2002,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2006,1
    - Dst: MTState::stop::store
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2009,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2011,1
    - Dst: leveldb::DelayMilliseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2012,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2015,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1986
    functionDepth: 1
    functionLinenumber: 1986
    functionLinenumberEnd: 2016
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DelayMilliseconds
    - store
    - ChangeOptions
    - load
    - MTState::stop::store
    - leveldb::StartThread
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, MultiThreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2029
    functionName: leveldb::ModelDB::ModelDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelDB(const Options& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2030
    functionName: ~ModelDB() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ModelDB() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ModelDB::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' k'
    - ' v'
    argTypes:
    - WriteOptions
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2031
    functionDepth: 1
    functionLinenumber: 2031
    functionLinenumberEnd: 2033
    functionName: leveldb::ModelDB::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::ModelDB::Put
    linkageType: ''
    returnType: Status
    signature: Status Put(const WriteOptions& o, const Slice& k, const Slice& v) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ModelDB::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' key'
    argTypes:
    - WriteOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2036
    functionName: leveldb::ModelDB::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::ModelDB::Delete
    linkageType: ''
    returnType: Status
    signature: Status Delete(const WriteOptions& o, const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2039,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' options'
    - ' key'
    - value
    argTypes:
    - ReadOptions
    - Slice
    - std::string*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 2038
        line_start: 2038
        source_file: /src/bitcoin-core/src/leveldb/db/db_test.cc
    constantsTouched: []
    func_position:
      end: 2041
      start: 2037
    functionDepth: 2
    functionLinenumber: 2037
    functionLinenumberEnd: 2041
    functionName: leveldb::ModelDB::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - assert
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: "Status Get(const ReadOptions& options, const Slice& key,\n             std::string*
      value) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KVMap::KVMap
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2044,1
    - Dst: ModelIter::ModelIter
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2046,1
    - Dst: reinterpret_cast<const ModelSnapshot*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2049,1
    - Dst: ModelIter::ModelIter
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ReadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2052
    functionName: leveldb::ModelDB::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ModelSnapshot*>
    - ModelIter::ModelIter
    - KVMap::KVMap
    linkageType: ''
    returnType: Iterator
    signature: Iterator * NewIterator(const ReadOptions& options) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelSnapshot::ModelSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2057
    functionName: leveldb::ModelDB::GetSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ModelSnapshot::ModelSnapshot
    linkageType: ''
    returnType: Snapshot
    signature: Snapshot * GetSnapshot() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ModelSnapshot*>
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - snapshot
    argTypes:
    - Snapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2061
    functionName: leveldb::ModelDB::ReleaseSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ModelSnapshot*>
    linkageType: ''
    returnType: void
    signature: void ReleaseSnapshot(const Snapshot* snapshot) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2067,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2067,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2069,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2069,1
    - Dst: WriteBatch*::Iterate
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' options'
    - batch
    argTypes:
    - WriteOptions
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2074
    functionName: leveldb::ModelDB::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - erase
    - WriteBatch*::Iterate
    - ToString
    linkageType: ''
    returnType: Status
    signature: Status Write(const WriteOptions& options, WriteBatch* batch) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2067,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2068
    functionName: leveldb::ModelDB::Handler::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void Put(const Slice& key, const Slice& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2069,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2069
    functionName: leveldb::ModelDB::Handler::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    - erase
    linkageType: ''
    returnType: void
    signature: void Delete(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' property'
    - value
    argTypes:
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2078
    functionName: leveldb::ModelDB::GetProperty
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetProperty(const Slice& property, std::string* value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - n
    - sizes
    argTypes:
    - Range*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2083
    functionName: leveldb::ModelDB::GetApproximateSizes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetApproximateSizes(const Range* r, int n, uint64_t* sizes) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2084
    functionName: leveldb::ModelDB::CompactRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompactRange(const Slice* start, const Slice* end) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - map
    - owned
    argTypes:
    - KVMap*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2089
    functionDepth: 1
    functionLinenumber: 2089
    functionLinenumberEnd: 2090
    functionName: leveldb::ModelDB::ModelIter::ModelIter
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ModelIter(const KVMap* map, bool owned)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2093
    functionName: ~ModelIter() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ModelIter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2094
    functionDepth: 1
    functionLinenumber: 2094
    functionLinenumberEnd: 2094
    functionName: leveldb::ModelDB::ModelIter::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2095
    functionDepth: 1
    functionLinenumber: 2095
    functionLinenumberEnd: 2095
    functionName: leveldb::ModelDB::ModelIter::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2097,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2098,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2100,1
    - Dst: rbegin
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2096
    functionDepth: 1
    functionLinenumber: 2096
    functionLinenumberEnd: 2102
    functionName: leveldb::ModelDB::ModelIter::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - end
    - rbegin
    - find
    - empty
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lower_bound
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2104,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2105
    functionName: leveldb::ModelDB::ModelIter::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ToString
    - lower_bound
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& k) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2106
    functionName: leveldb::ModelDB::ModelIter::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2107
    functionName: leveldb::ModelDB::ModelIter::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2108
    functionName: leveldb::ModelDB::ModelIter::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2109
    functionName: leveldb::ModelDB::ModelIter::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2110
    functionName: leveldb::ModelDB::ModelIter::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DB*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2126,1
    - Dst: DB*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2128,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2131,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2131,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2132,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2132,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2132,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2132,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2134,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2134,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2135,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2136,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2136,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2137,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2137,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2142,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2142,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2143,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2144,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2144,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2145,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2145,1
    - Dst: leveldb::EscapeString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2146,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2146,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2152,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2152,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2153,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2154,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2154,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - step
    - model
    - db
    - model_snap
    - db_snap
    argTypes:
    - int
    - DB*
    - DB*
    - Snapshot*
    - Snapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2121
    functionDepth: 2
    functionLinenumber: 2121
    functionLinenumberEnd: 2162
    functionName: leveldb::CompareIterators
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::EscapeString
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - Iterator*::key
    - DB*::NewIterator
    - fprintf
    - Iterator*::Next
    linkageType: ''
    returnType: bool
    signature: "bool CompareIterators(int step, DB* model, DB* db,\n                             const
      Snapshot* model_snap,\n                             const Snapshot* db_snap)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2174,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2177,1
    - Dst: leveldb::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2179,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2180,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2181,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2181,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2181,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2182,1
    - Dst: ModelDB::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2182,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2182,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2183,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2183,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2183,1
    - Dst: leveldb::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2186,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2187,1
    - Dst: ModelDB::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2187,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2187,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2188,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2188,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2188,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2192,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2194,1
    - Dst: leveldb::RandomKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2195,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2200,1
    - Dst: leveldb::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2201,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2201,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2202,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2204,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2207,1
    - Dst: ModelDB::Write
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2207,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2207,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2208,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2208,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2208,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2212,1
    - Dst: leveldb::CompareIterators
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2212,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2213,1
    - Dst: leveldb::CompareIterators
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2213,1
    - Dst: ModelDB::ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2217,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2218,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2220,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2221,1
    - Dst: leveldb::CompareIterators
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2221,1
    - Dst: ModelDB::GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2223,1
    - Dst: GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2224,1
    - Dst: ModelDB::ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2227,1
    - Dst: ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2228,1
    - Dst: ChangeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2164
    functionDepth: 3
    functionLinenumber: 2164
    functionLinenumberEnd: 2230
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - ModelDB::Write
    - leveldb::WriteOptions
    - ModelDB::Put
    - Write
    - ASSERT_TRUE
    - ModelDB::Delete
    - ModelDB::GetSnapshot
    - ModelDB::ReleaseSnapshot
    - Reopen
    - Delete
    - Put
    - leveldb::RandomString
    - fprintf
    - ASSERT_OK
    - leveldb::RandomKey
    - WriteBatch::Put
    - Random::Uniform
    - ReleaseSnapshot
    - Random::OneIn
    - GetSnapshot
    - ChangeOptions
    - leveldb::CompareIterators
    - WriteBatch::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(DBTest, Randomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2234,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2236
    functionName: leveldb::MakeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string MakeKey(unsigned int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2239,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2240,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2240,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2245,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2246,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2247,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2252,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2261,1
    - Dst: VersionSet::Recover
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2261,1
    - Dst: leveldb::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2265,1
    - Dst: leveldb::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2266,1
    - Dst: VersionEdit::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2267,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2269,1
    - Dst: VersionSet::LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2269,1
    - Dst: Env*::NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2271,1
    - Dst: VersionEdit::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2275,1
    - Dst: leveldb::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2276,1
    - Dst: leveldb::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2277,1
    - Dst: VersionEdit::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2278,1
    - Dst: VersionSet::LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2279,1
    - Dst: Env*::NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2281,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2284,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - iters
    - num_base_files
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2238
    functionDepth: 1
    functionLinenumber: 2238
    functionLinenumberEnd: 2288
    functionName: leveldb::BM_LogAndApply
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - leveldb::MakeKey
    - VersionEdit::DeleteFile
    - VersionSet::Recover
    - Env*::NowMicros
    - fprintf
    - ASSERT_TRUE
    - leveldb::DB::Open
    - ASSERT_OK
    - leveldb::Options
    - snprintf
    - leveldb::DestroyDB
    - VersionSet::LogAndApply
    - leveldb::Env::Default
    - VersionEdit::AddFile
    linkageType: ''
    returnType: void
    signature: void BM_LogAndApply(int iters, int num_base_files)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2293,1
    - Dst: leveldb::BM_LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2294,1
    - Dst: leveldb::BM_LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2295,1
    - Dst: leveldb::BM_LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2296,1
    - Dst: leveldb::BM_LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2297,1
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/db_test.cc:2301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2292
    functionDepth: 2
    functionLinenumber: 2292
    functionLinenumberEnd: 2302
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    - leveldb::BM_LogAndApply
    - std::string
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:16,1
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:17,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:19,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:22,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: leveldb::AutoCompactTest::AutoCompactTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - NewLRUCache
    - DestroyDB
    - leveldb::DB::Open
    - ASSERT_OK
    linkageType: ''
    returnType: void
    signature: void AutoCompactTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:27,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ~AutoCompactTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DestroyDB
    - leveldb::Options
    linkageType: ''
    returnType: void
    signature: void ~AutoCompactTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:33,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: leveldb::AutoCompactTest::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string Key(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetApproximateSizes
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' start'
    - ' limit'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: leveldb::AutoCompactTest::Size
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - GetApproximateSizes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Size(const Slice& start, const Slice& limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:61,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:65,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:65,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:65,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:65,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:67,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:67,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:71,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:71,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:71,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:71,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:73,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:73,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:76,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:76,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:76,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:77,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:77,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:77,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:80,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:82,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:83,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:83,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:84,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:85,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:85,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:85,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:90,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:91,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:91,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:91,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:92,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:93,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:93,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:93,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:101,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:101,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:101,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:102,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 104
    functionName: leveldb::AutoCompactTest::DoReads
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - ReadOptions
    - Iterator*::Next
    - Iterator*::Valid
    - NewIterator
    - Delete
    - Put
    - ASSERT_LT
    - ASSERT_LE
    - leveldb::Env::Default
    - leveldb::AutoCompactTest::Key
    - WriteOptions
    - leveldb::AutoCompactTest::Size
    - reinterpret_cast<DBImpl*>
    - fprintf
    - ASSERT_OK
    - DBImpl*::TEST_CompactMemTable
    - Iterator*::SeekToFirst
    - ASSERT_GE
    - Iterator*::key
    linkageType: ''
    returnType: void
    signature: void AutoCompactTest::DoReads(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoReads
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - DoReads
    linkageType: ''
    returnType: void
    signature: void TEST(AutoCompactTest, ReadAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoReads
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - DoReads
    linkageType: ''
    returnType: void
    signature: void TEST(AutoCompactTest, ReadHalf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:16,1
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:17,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:19,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:22,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: leveldb::AutoCompactTest::AutoCompactTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - NewLRUCache
    - DestroyDB
    - leveldb::DB::Open
    - ASSERT_OK
    linkageType: ''
    returnType: void
    signature: void AutoCompactTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:27,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ~AutoCompactTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - DestroyDB
    - Options
    linkageType: ''
    returnType: void
    signature: void ~AutoCompactTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:33,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: leveldb::AutoCompactTest::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 1
    functionsReached:
    - snprintf
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string Key(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetApproximateSizes
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' start'
    - ' limit'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: leveldb::AutoCompactTest::Size
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 1
    functionsReached:
    - GetApproximateSizes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Size(const Slice& start, const Slice& limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:61,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:65,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:65,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:65,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:65,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:67,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:67,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:71,1
    - Dst: Delete
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:71,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:71,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:71,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:73,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:73,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:76,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:76,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:76,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:77,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:77,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:77,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:80,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:82,1
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:83,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:83,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:84,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:85,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:85,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:85,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:90,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:91,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:91,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:91,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:92,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:93,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:93,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:93,1
    - Dst: leveldb::AutoCompactTest::Size
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:101,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:101,1
    - Dst: leveldb::AutoCompactTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:101,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:102,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 104
    functionName: leveldb::AutoCompactTest::DoReads
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - ReadOptions
    - Iterator*::Next
    - Iterator*::Valid
    - NewIterator
    - Delete
    - Put
    - ASSERT_LT
    - ASSERT_LE
    - leveldb::Env::Default
    - leveldb::AutoCompactTest::Key
    - WriteOptions
    - leveldb::AutoCompactTest::Size
    - reinterpret_cast<DBImpl*>
    - fprintf
    - ASSERT_OK
    - DBImpl*::TEST_CompactMemTable
    - Iterator*::SeekToFirst
    - ASSERT_GE
    - Iterator*::key
    linkageType: ''
    returnType: void
    signature: void AutoCompactTest::DoReads(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoReads
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - DoReads
    linkageType: ''
    returnType: void
    signature: void TEST(AutoCompactTest, ReadAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoReads
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 0
    functionsReached:
    - DoReads
    linkageType: ''
    returnType: void
    signature: void TEST(AutoCompactTest, ReadHalf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/autocompact_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:28,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:31,1
    - Dst: leveldb::CorruptionTest::Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: leveldb::CorruptionTest::CorruptionTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - DestroyDB
    - NewLRUCache
    - leveldb::CorruptionTest::Reopen
    linkageType: ''
    returnType: void
    signature: void CorruptionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ~CorruptionTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CorruptionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: leveldb::CorruptionTest::TryReopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DB::Open
    linkageType: ''
    returnType: Status
    signature: Status TryReopen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:49,1
    - Dst: leveldb::CorruptionTest::TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: leveldb::CorruptionTest::Reopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 1
    functionsReached:
    - ASSERT_OK
    - leveldb::CorruptionTest::TryReopen
    linkageType: ''
    returnType: void
    signature: void Reopen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:54,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: leveldb::CorruptionTest::RepairDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_OK
    - leveldb::RepairDB
    linkageType: ''
    returnType: void
    signature: void RepairDB()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CorruptionTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:62,1
    - Dst: WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:63,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:64,1
    - Dst: leveldb::CorruptionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:64,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:71,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: leveldb::CorruptionTest::Build
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::CorruptionTest::Key
    - leveldb::CorruptionTest::Value
    - Write
    - ASSERT_OK
    - WriteBatch::Clear
    - WriteBatch::Put
    linkageType: ''
    returnType: void
    signature: void Build(int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:82,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:82,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:83,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:83,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:83,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:85,1
    - Dst: ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:90,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:90,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:97,1
    - Dst: leveldb::CorruptionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:97,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:105,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:108,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - min_expected
    - max_expected
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 110
    functionName: leveldb::CorruptionTest::Check
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - ConsumeDecimalNumber
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - ReadOptions
    - ASSERT_GE
    - NewIterator
    - Iterator*::key
    - leveldb::CorruptionTest::Value
    - fprintf
    - Iterator*::Next
    - ASSERT_LE
    - Slice::empty
    linkageType: ''
    returnType: void
    signature: void Check(int min_expected, int max_expected)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:115,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:115,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:120,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:127,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:127,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:130,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:130,1
    - Dst: ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:149,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:149,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:150,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:150,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:150,1
    - Dst: WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:154,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:154,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:155,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:155,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - filetype
    - offset
    - bytes_to_corrupt
    argTypes:
    - FileType
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 156
    functionName: leveldb::CorruptionTest::Corrupt
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - ReadFileToString
    - std::string::empty
    - target
    - ASSERT_TRUE
    - ASSERT_OK
    - Status::ToString
    - ParseFileName
    - std::vector::size
    - Status::ok
    - WriteStringToFile
    linkageType: ''
    returnType: void
    signature: void Corrupt(FileType filetype, int offset, int bytes_to_corrupt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:161,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:162,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: leveldb::CorruptionTest::Property
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - sscanf
    - GetProperty
    linkageType: ''
    returnType: int
    signature: int Property(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:172,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:173,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:173,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - i
    - storage
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: leveldb::CorruptionTest::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 1
    functionsReached:
    - Slice
    - strlen
    - snprintf
    - std::string*::assign
    linkageType: ''
    returnType: Slice
    signature: Slice Key(int i, std::string* storage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - storage
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: leveldb::CorruptionTest::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::test::RandomString
    linkageType: ''
    returnType: Slice
    signature: Slice Value(int k, std::string* storage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:193,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:194,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:195,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:196,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:197,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - Build
    - Corrupt
    - Check
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, Recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:206,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - TryReopen
    - ASSERT_TRUE
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, RecoverWriteError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:212,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:215,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:217,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:217,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:218,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:220,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:220,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:221,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ASSERT_GE
    - leveldb::WriteOptions
    - Write
    - ASSERT_TRUE
    - leveldb::Options
    - WriteBatch::Put
    - Status::ok
    - Value
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, NewFileErrorDuringWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:227,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:228,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:229,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:230,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:231,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:233,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - DBImpl*::TEST_CompactRange
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Check
    - DBImpl*::TEST_CompactMemTable
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, TableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:240,1
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:241,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:242,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:243,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:244,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:245,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:247,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:248,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:249,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - Reopen
    - DBImpl*::TEST_CompactRange
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Check
    - DBImpl*::TEST_CompactMemTable
    - leveldb::RepairDB
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, TableFileRepair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:254,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:255,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:256,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:258,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:259,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - Reopen
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Check
    - DBImpl*::TEST_CompactMemTable
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, TableFileIndexData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:264,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:265,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:266,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - Build
    - leveldb::RepairDB
    - Check
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, MissingDescriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:271,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:271,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:271,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:272,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:272,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:272,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:273,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:273,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:273,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:274,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:274,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:274,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:275,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:275,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:275,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:276,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:277,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:279,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:279,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:280,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:283,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:283,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:283,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:284,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:284,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:284,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:285,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:286,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:287,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:287,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 289
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - leveldb::WriteOptions
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - ASSERT_OK
    - leveldb::RepairDB
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, SequenceNumberRecovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:292,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:292,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:292,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:293,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:294,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:295,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:297,1
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:298,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:299,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:299,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:301,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:302,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:304,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:304,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 306
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - DBImpl*::TEST_CompactRange
    - Reopen
    - leveldb::WriteOptions
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - ASSERT_TRUE
    - ASSERT_OK
    - Status::ok
    - TryReopen
    - DBImpl*::TEST_CompactMemTable
    - leveldb::RepairDB
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, CorruptedDescriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:309,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:310,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:311,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:313,1
    - Dst: Property
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:313,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:313,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:315,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:316,1
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:319,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - reinterpret_cast<DBImpl*>
    - leveldb::NumberToString
    - ASSERT_EQ
    - Corrupt
    - Check
    - Property
    - DBImpl*::TEST_CompactMemTable
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, CompactionInputError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:326,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:327,1
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:331,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:332,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:333,1
    - Dst: leveldb::SleepForMicroseconds
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:334,1
    - Dst: DBImpl*::CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:336,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:340,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:340,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:340,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:340,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:341,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 342
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - Build
    - Reopen
    - leveldb::WriteOptions
    - leveldb::Key
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Put
    - DBImpl*::CompactRange
    - ASSERT_TRUE
    - leveldb::SleepForMicroseconds
    - DBImpl*::TEST_CompactMemTable
    - Value
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, CompactionInputErrorParanoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:345,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:346,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:347,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:348,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:353,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:353,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:353,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:354,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:354,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:355,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:356,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:356,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:356,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:357,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - leveldb::WriteOptions
    - leveldb::Key
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Get
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - ASSERT_OK
    - DBImpl*::TEST_CompactMemTable
    - Value
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, UnrelatedKeys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:28,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:31,1
    - Dst: leveldb::CorruptionTest::Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: leveldb::CorruptionTest::CorruptionTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - DestroyDB
    - NewLRUCache
    - leveldb::CorruptionTest::Reopen
    linkageType: ''
    returnType: void
    signature: void CorruptionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ~CorruptionTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CorruptionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: leveldb::CorruptionTest::TryReopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::DB::Open
    linkageType: ''
    returnType: Status
    signature: Status TryReopen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:49,1
    - Dst: leveldb::CorruptionTest::TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: leveldb::CorruptionTest::Reopen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 2
    functionsReached:
    - ASSERT_OK
    - leveldb::CorruptionTest::TryReopen
    linkageType: ''
    returnType: void
    signature: void Reopen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:54,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: leveldb::CorruptionTest::RepairDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_OK
    - leveldb::RepairDB
    linkageType: ''
    returnType: void
    signature: void RepairDB()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CorruptionTest::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:62,1
    - Dst: WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:63,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:64,1
    - Dst: leveldb::CorruptionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:64,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:71,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: leveldb::CorruptionTest::Build
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::CorruptionTest::Key
    - leveldb::CorruptionTest::Value
    - Write
    - ASSERT_OK
    - WriteBatch::Clear
    - WriteBatch::Put
    linkageType: ''
    returnType: void
    signature: void Build(int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:82,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:82,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:83,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:83,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:83,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:85,1
    - Dst: ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:90,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:90,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:97,1
    - Dst: leveldb::CorruptionTest::Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:97,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:105,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:108,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - min_expected
    - max_expected
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 110
    functionName: leveldb::CorruptionTest::Check
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - ConsumeDecimalNumber
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - ReadOptions
    - ASSERT_GE
    - NewIterator
    - Iterator*::key
    - leveldb::CorruptionTest::Value
    - fprintf
    - Iterator*::Next
    - ASSERT_LE
    - Slice::empty
    linkageType: ''
    returnType: void
    signature: void Check(int min_expected, int max_expected)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:115,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:115,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:120,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:127,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:127,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:130,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:130,1
    - Dst: ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:149,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:149,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:150,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:150,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:150,1
    - Dst: WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:154,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:154,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:155,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:155,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - filetype
    - offset
    - bytes_to_corrupt
    argTypes:
    - FileType
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 156
    functionName: leveldb::CorruptionTest::Corrupt
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - ReadFileToString
    - std::string::empty
    - target
    - ASSERT_TRUE
    - ASSERT_OK
    - Status::ToString
    - ParseFileName
    - std::vector::size
    - Status::ok
    - WriteStringToFile
    linkageType: ''
    returnType: void
    signature: void Corrupt(FileType filetype, int offset, int bytes_to_corrupt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:161,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:162,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: leveldb::CorruptionTest::Property
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - sscanf
    - GetProperty
    linkageType: ''
    returnType: int
    signature: int Property(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:172,1
    - Dst: std::string*::assign
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:173,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:173,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - i
    - storage
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: leveldb::CorruptionTest::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 2
    functionsReached:
    - Slice
    - strlen
    - snprintf
    - std::string*::assign
    linkageType: ''
    returnType: Slice
    signature: Slice Key(int i, std::string* storage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - storage
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: leveldb::CorruptionTest::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 4
    functionsReached:
    - leveldb::test::RandomString
    linkageType: ''
    returnType: Slice
    signature: Slice Value(int k, std::string* storage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:193,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:194,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:195,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:196,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:197,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - Build
    - Corrupt
    - Check
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, Recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:206,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - TryReopen
    - ASSERT_TRUE
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, RecoverWriteError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:212,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:215,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:217,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:217,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:218,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:220,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:220,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:221,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - ASSERT_GE
    - leveldb::WriteOptions
    - Write
    - ASSERT_TRUE
    - leveldb::Options
    - WriteBatch::Put
    - Status::ok
    - Value
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, NewFileErrorDuringWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:227,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:228,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:229,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:230,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:231,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:233,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - DBImpl*::TEST_CompactRange
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Check
    - DBImpl*::TEST_CompactMemTable
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, TableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:240,1
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:241,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:242,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:243,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:244,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:245,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:247,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:248,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:249,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - Reopen
    - DBImpl*::TEST_CompactRange
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Check
    - DBImpl*::TEST_CompactMemTable
    - leveldb::RepairDB
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, TableFileRepair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:254,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:255,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:256,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:258,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:259,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - Reopen
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Check
    - DBImpl*::TEST_CompactMemTable
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, TableFileIndexData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:264,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:265,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:266,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - Build
    - leveldb::RepairDB
    - Check
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, MissingDescriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:271,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:271,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:271,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:272,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:272,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:272,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:273,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:273,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:273,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:274,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:274,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:274,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:275,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:275,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:275,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:276,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:277,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:279,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:279,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:280,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:283,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:283,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:283,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:284,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:284,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:284,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:285,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:286,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:287,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:287,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 289
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Reopen
    - leveldb::WriteOptions
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - ASSERT_OK
    - leveldb::RepairDB
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, SequenceNumberRecovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:292,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:292,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:292,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:293,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:294,1
    - Dst: DBImpl*::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:295,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:297,1
    - Dst: TryReopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:298,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:299,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:299,1
    - Dst: leveldb::RepairDB
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:301,1
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:302,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:304,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:304,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 306
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - DBImpl*::TEST_CompactRange
    - Reopen
    - leveldb::WriteOptions
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - ASSERT_TRUE
    - ASSERT_OK
    - Status::ok
    - TryReopen
    - DBImpl*::TEST_CompactMemTable
    - leveldb::RepairDB
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, CorruptedDescriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:309,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:310,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:311,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:313,1
    - Dst: Property
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:313,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:313,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:315,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:316,1
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:319,1
    - Dst: Check
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - reinterpret_cast<DBImpl*>
    - leveldb::NumberToString
    - ASSERT_EQ
    - Corrupt
    - Check
    - Property
    - DBImpl*::TEST_CompactMemTable
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, CompactionInputError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reopen
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:326,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:327,1
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:331,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:332,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:333,1
    - Dst: leveldb::SleepForMicroseconds
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:334,1
    - Dst: DBImpl*::CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:336,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:340,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:340,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:340,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:340,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:341,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 342
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - Build
    - Reopen
    - leveldb::WriteOptions
    - leveldb::Key
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Put
    - DBImpl*::CompactRange
    - ASSERT_TRUE
    - leveldb::SleepForMicroseconds
    - DBImpl*::TEST_CompactMemTable
    - Value
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, CompactionInputErrorParanoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:345,1
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:346,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:347,1
    - Dst: Corrupt
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:348,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:351,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:353,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:353,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:353,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:353,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:354,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:354,1
    - Dst: DBImpl*::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:355,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:356,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:356,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:356,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:357,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 0
    functionsReached:
    - Build
    - leveldb::WriteOptions
    - leveldb::Key
    - reinterpret_cast<DBImpl*>
    - Corrupt
    - Get
    - ASSERT_EQ
    - Put
    - leveldb::ReadOptions
    - ASSERT_OK
    - DBImpl*::TEST_CompactMemTable
    - Value
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptionTest, UnrelatedKeys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/corruption_test.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/corruption_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: operator()(const Key& a, const Key& b) const
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int operator()(const Key& a, const Key& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Arena
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:40,1
    - Dst: SkipList::Contains
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:40,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:43,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:43,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:44,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:45,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:45,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:47,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:47,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:48,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:49,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - SkipList<Key, Comparator>::Iterator::Seek
    - SkipList::Contains
    - SkipList<Key, Comparator>::Iterator::SeekToLast
    - ASSERT_TRUE
    - SkipList<Key, Comparator>::Iterator::Valid
    - SkipList<Key, Comparator>::Iterator::SeekToFirst
    - Arena::Arena
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Empty)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Arena
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:57,1
    - Dst: Random::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:61,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:62,1
    - Dst: SkipList::Insert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:63,1
    - Dst: SkipList::Contains
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:69,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:71,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:78,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:78,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:81,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:82,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:82,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:82,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:85,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:86,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:86,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:86,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:89,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:90,1
    - Dst: std::set::rbegin
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:90,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:90,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:96,1
    - Dst: std::set::lower_bound
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:99,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:101,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:102,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:105,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:106,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:106,1
    - Dst: SkipList<Key, Comparator>::Iterator::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:108,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:116,1
    - Dst: std::set::rbegin
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:119,1
    - Dst: std::set::rend
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:121,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:122,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:122,1
    - Dst: SkipList<Key, Comparator>::Iterator::Prev
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:123,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:125,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 127
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - SkipList<Key, Comparator>::Iterator::SeekToLast
    - SkipList<Key, Comparator>::Iterator::key
    - ASSERT_EQ
    - std::set::rbegin
    - std::set::end
    - std::set::insert
    - ASSERT_TRUE
    - SkipList<Key, Comparator>::Iterator::Prev
    - SkipList<Key, Comparator>::Iterator::SeekToFirst
    - SkipList::Contains
    - std::set::begin
    - std::set::lower_bound
    - SkipList<Key, Comparator>::Iterator::Next
    - std::set::count
    - Random::Next
    - SkipList<Key, Comparator>::Iterator::Seek
    - SkipList::Insert
    - SkipList<Key, Comparator>::Iterator::Valid
    - std::set::rend
    - Arena::Arena
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, InsertAndLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: leveldb::ConcurrentTest::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t key(Key key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: leveldb::ConcurrentTest::gen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t gen(Key key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: leveldb::ConcurrentTest::hash
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash(Key key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:163,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - g
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: leveldb::ConcurrentTest::HashNumbers
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    - Hash
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t HashNumbers(uint64_t k, uint64_t g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:168,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:169,1
    - Dst: leveldb::ConcurrentTest::HashNumbers
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - g
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (k <= K)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    - condition: (g <= 0xffffffffu)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: leveldb::ConcurrentTest::MakeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::ConcurrentTest::HashNumbers
    linkageType: ''
    returnType: Key
    signature: Key MakeKey(uint64_t k, uint64_t g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConcurrentTest::hash
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:174,1
    - Dst: leveldb::ConcurrentTest::HashNumbers
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:174,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:174,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: leveldb::ConcurrentTest::IsValidKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ConcurrentTest::hash
    - leveldb::ConcurrentTest::HashNumbers
    - leveldb::ConcurrentTest::key
    - leveldb::ConcurrentTest::gen
    linkageType: ''
    returnType: bool
    signature: bool IsValidKey(Key k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Random*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:178,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:181,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:184,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:187,1
    - Dst: Random*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 6
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: leveldb::ConcurrentTest::RandomTarget
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ConcurrentTest::MakeKey
    - Random*::Next
    linkageType: ''
    returnType: Key
    signature: Key RandomTarget(Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: leveldb::ConcurrentTest::Set
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int k, int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: leveldb::ConcurrentTest::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int Get(int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConcurrentTest::Set
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: leveldb::ConcurrentTest::State
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ConcurrentTest::Set
    linkageType: ''
    returnType: void
    signature: void State()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Comparator
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: leveldb::ConcurrentTest::ConcurrentTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - Comparator
    linkageType: ''
    returnType: void
    signature: void ConcurrentTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Random*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:220,1
    - Dst: leveldb::ConcurrentTest::Get
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:221,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:222,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:223,1
    - Dst: leveldb::ConcurrentTest::Set
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 6
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: leveldb::ConcurrentTest::WriteStep
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ConcurrentTest::MakeKey
    - Random*::Next
    - Insert
    - leveldb::ConcurrentTest::Set
    - leveldb::ConcurrentTest::Get
    linkageType: ''
    returnType: void
    signature: void WriteStep(Random* rnd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: State::Set
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:231,1
    - Dst: leveldb::ConcurrentTest::Get
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:231,1
    - Dst: leveldb::ConcurrentTest::RandomTarget
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:234,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:236,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:239,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:240,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:242,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:243,1
    - Dst: leveldb::ConcurrentTest::IsValidKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:243,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:245,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:250,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:250,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:254,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:254,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:255,1
    - Dst: static_cast<Key>
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:255,1
    - Dst: State::Get
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:255,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:255,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:256,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:256,1
    - Dst: State::Get
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:257,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:257,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:260,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:260,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:261,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:261,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:263,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:263,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:263,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:267,1
    - Dst: Random*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:271,1
    - Dst: SkipList<Key, Comparator>::Iterator::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:272,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:273,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:273,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:273,1
    - Dst: leveldb::ConcurrentTest::RandomTarget
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:275,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:278,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 227
    functionDepth: 7
    functionLinenumber: 227
    functionLinenumberEnd: 282
    functionName: leveldb::ConcurrentTest::ReadStep
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - SkipList<Key, Comparator>::Iterator::Seek
    - leveldb::ConcurrentTest::MakeKey
    - static_cast<Key>
    - Random*::Next
    - SkipList<Key, Comparator>::Iterator::Next
    - leveldb::ConcurrentTest::IsValidKey
    - SkipList<Key, Comparator>::Iterator::key
    - State::Set
    - leveldb::ConcurrentTest::gen
    - ASSERT_TRUE
    - SkipList<Key, Comparator>::Iterator::Valid
    - ASSERT_LT
    - State::Get
    - ASSERT_LE
    - leveldb::ConcurrentTest::key
    - leveldb::ConcurrentTest::Get
    - leveldb::ConcurrentTest::RandomTarget
    linkageType: ''
    returnType: void
    signature: void ReadStep(Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcurrentTest::ReadStep
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:292,1
    - Dst: ConcurrentTest::WriteStep
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - ConcurrentTest::WriteStep
    - ConcurrentTest::ReadStep
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, ConcurrentWithoutThreads)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: leveldb::TestState::TestState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestState(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:309,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:311,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: leveldb::TestState::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - Wait
    - Unlock
    - Lock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:317,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:319,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: leveldb::TestState::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - Signal
    - Unlock
    - Lock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TestState*>
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:330,1
    - Dst: TestState*::Change
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:333,1
    - Dst: TestState*::quit_flag_::load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:334,1
    - Dst: TestState*::t_::ReadStep
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:335,1
    - Dst: TestState*::Change
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: leveldb::ConcurrentReader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TestState*>
    - TestState*::quit_flag_::load
    - TestState*::Change
    - TestState*::t_::ReadStep
    linkageType: ''
    returnType: void
    signature: void ConcurrentReader(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RandomSeed
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:342,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:348,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:351,1
    - Dst: TestState::Wait
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:352,1
    - Dst: TestState::t_::WriteStep
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:354,1
    - Dst: TestState::quit_flag_::store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:356,1
    - Dst: TestState::Wait
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - run
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 359
    functionName: leveldb::RunConcurrent
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::RandomSeed
    - TestState::Wait
    - fprintf
    - TestState::quit_flag_::store
    - TestState::t_::WriteStep
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void RunConcurrent(int run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent5)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: operator()(const Key& a, const Key& b) const
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int operator()(const Key& a, const Key& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Arena
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:37,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:40,1
    - Dst: SkipList::Contains
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:40,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:43,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:43,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:44,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:45,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:45,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:47,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:47,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:48,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:49,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - SkipList<Key, Comparator>::Iterator::Seek
    - SkipList::Contains
    - SkipList<Key, Comparator>::Iterator::SeekToLast
    - ASSERT_TRUE
    - SkipList<Key, Comparator>::Iterator::Valid
    - SkipList<Key, Comparator>::Iterator::SeekToFirst
    - Arena::Arena
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Empty)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Arena
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:57,1
    - Dst: Random::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:61,1
    - Dst: std::set::insert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:62,1
    - Dst: SkipList::Insert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:63,1
    - Dst: SkipList::Contains
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:69,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:71,1
    - Dst: std::set::count
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:71,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:78,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:78,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:81,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:82,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:82,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:82,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:85,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:86,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:86,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:86,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:89,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:90,1
    - Dst: std::set::rbegin
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:90,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:90,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:96,1
    - Dst: std::set::lower_bound
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:99,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:101,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:102,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:105,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:106,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:106,1
    - Dst: SkipList<Key, Comparator>::Iterator::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:108,1
    - Dst: SkipList<Key, Comparator>::Iterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:116,1
    - Dst: std::set::rbegin
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:119,1
    - Dst: std::set::rend
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:121,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:122,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:122,1
    - Dst: SkipList<Key, Comparator>::Iterator::Prev
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:123,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:125,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 127
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - SkipList<Key, Comparator>::Iterator::SeekToLast
    - SkipList<Key, Comparator>::Iterator::key
    - ASSERT_EQ
    - std::set::rbegin
    - std::set::end
    - std::set::insert
    - ASSERT_TRUE
    - SkipList<Key, Comparator>::Iterator::Prev
    - SkipList<Key, Comparator>::Iterator::SeekToFirst
    - SkipList::Contains
    - std::set::begin
    - std::set::lower_bound
    - SkipList<Key, Comparator>::Iterator::Next
    - std::set::count
    - Random::Next
    - SkipList<Key, Comparator>::Iterator::Seek
    - SkipList::Insert
    - SkipList<Key, Comparator>::Iterator::Valid
    - std::set::rend
    - Arena::Arena
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, InsertAndLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: leveldb::ConcurrentTest::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t key(Key key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: leveldb::ConcurrentTest::gen
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t gen(Key key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: leveldb::ConcurrentTest::hash
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash(Key key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:163,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - g
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: leveldb::ConcurrentTest::HashNumbers
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<char*>
    - Hash
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t HashNumbers(uint64_t k, uint64_t g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:168,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:169,1
    - Dst: leveldb::ConcurrentTest::HashNumbers
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - g
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (k <= K)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    - condition: (g <= 0xffffffffu)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: leveldb::ConcurrentTest::MakeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 3
    functionsReached:
    - assert
    - leveldb::ConcurrentTest::HashNumbers
    linkageType: ''
    returnType: Key
    signature: Key MakeKey(uint64_t k, uint64_t g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConcurrentTest::hash
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:174,1
    - Dst: leveldb::ConcurrentTest::HashNumbers
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:174,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:174,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: leveldb::ConcurrentTest::IsValidKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::ConcurrentTest::hash
    - leveldb::ConcurrentTest::HashNumbers
    - leveldb::ConcurrentTest::key
    - leveldb::ConcurrentTest::gen
    linkageType: ''
    returnType: bool
    signature: bool IsValidKey(Key k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Random*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:178,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:181,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:184,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:187,1
    - Dst: Random*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 6
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: leveldb::ConcurrentTest::RandomTarget
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::ConcurrentTest::MakeKey
    - Random*::Next
    linkageType: ''
    returnType: Key
    signature: Key RandomTarget(Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: leveldb::ConcurrentTest::Set
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 2
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int k, int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: leveldb::ConcurrentTest::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 2
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int Get(int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConcurrentTest::Set
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: leveldb::ConcurrentTest::State
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ConcurrentTest::Set
    linkageType: ''
    returnType: void
    signature: void State()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Comparator
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: leveldb::ConcurrentTest::ConcurrentTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - Comparator
    linkageType: ''
    returnType: void
    signature: void ConcurrentTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Random*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:220,1
    - Dst: leveldb::ConcurrentTest::Get
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:221,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:222,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:223,1
    - Dst: leveldb::ConcurrentTest::Set
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 6
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: leveldb::ConcurrentTest::WriteStep
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ConcurrentTest::MakeKey
    - Random*::Next
    - Insert
    - leveldb::ConcurrentTest::Set
    - leveldb::ConcurrentTest::Get
    linkageType: ''
    returnType: void
    signature: void WriteStep(Random* rnd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: State::Set
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:231,1
    - Dst: leveldb::ConcurrentTest::Get
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:231,1
    - Dst: leveldb::ConcurrentTest::RandomTarget
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:234,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:236,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:239,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:240,1
    - Dst: SkipList<Key, Comparator>::Iterator::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:242,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:243,1
    - Dst: leveldb::ConcurrentTest::IsValidKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:243,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:245,1
    - Dst: ASSERT_LT
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:250,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:250,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:254,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:254,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:255,1
    - Dst: static_cast<Key>
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:255,1
    - Dst: State::Get
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:255,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:255,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:256,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:256,1
    - Dst: State::Get
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:257,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:257,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:260,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:260,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:261,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:261,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:263,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:263,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:263,1
    - Dst: SkipList<Key, Comparator>::Iterator::Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:267,1
    - Dst: Random*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:271,1
    - Dst: SkipList<Key, Comparator>::Iterator::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:272,1
    - Dst: leveldb::ConcurrentTest::MakeKey
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:273,1
    - Dst: leveldb::ConcurrentTest::key
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:273,1
    - Dst: leveldb::ConcurrentTest::gen
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:273,1
    - Dst: leveldb::ConcurrentTest::RandomTarget
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:275,1
    - Dst: SkipList<Key, Comparator>::Iterator::Seek
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:278,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - Random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 227
    functionDepth: 7
    functionLinenumber: 227
    functionLinenumberEnd: 282
    functionName: leveldb::ConcurrentTest::ReadStep
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - SkipList<Key, Comparator>::Iterator::Seek
    - leveldb::ConcurrentTest::MakeKey
    - static_cast<Key>
    - Random*::Next
    - SkipList<Key, Comparator>::Iterator::Next
    - leveldb::ConcurrentTest::IsValidKey
    - SkipList<Key, Comparator>::Iterator::key
    - State::Set
    - leveldb::ConcurrentTest::gen
    - ASSERT_TRUE
    - SkipList<Key, Comparator>::Iterator::Valid
    - ASSERT_LT
    - State::Get
    - ASSERT_LE
    - leveldb::ConcurrentTest::key
    - leveldb::ConcurrentTest::Get
    - leveldb::ConcurrentTest::RandomTarget
    linkageType: ''
    returnType: void
    signature: void ReadStep(Random* rnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcurrentTest::ReadStep
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:292,1
    - Dst: ConcurrentTest::WriteStep
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - ConcurrentTest::WriteStep
    - ConcurrentTest::ReadStep
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, ConcurrentWithoutThreads)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: leveldb::TestState::TestState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestState(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:309,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:311,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: leveldb::TestState::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - Wait
    - Unlock
    - Lock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:317,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:319,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: leveldb::TestState::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - Signal
    - Unlock
    - Lock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TestState*>
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:330,1
    - Dst: TestState*::Change
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:333,1
    - Dst: TestState*::quit_flag_::load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:334,1
    - Dst: TestState*::t_::ReadStep
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:335,1
    - Dst: TestState*::Change
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: leveldb::ConcurrentReader
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TestState*>
    - TestState*::quit_flag_::load
    - TestState*::Change
    - TestState*::t_::ReadStep
    linkageType: ''
    returnType: void
    signature: void ConcurrentReader(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RandomSeed
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:342,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:348,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:351,1
    - Dst: TestState::Wait
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:352,1
    - Dst: TestState::t_::WriteStep
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:354,1
    - Dst: TestState::quit_flag_::store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:356,1
    - Dst: TestState::Wait
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - run
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 359
    functionName: leveldb::RunConcurrent
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 5
    functionsReached:
    - leveldb::test::RandomSeed
    - TestState::Wait
    - fprintf
    - TestState::quit_flag_::store
    - TestState::t_::WriteStep
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void RunConcurrent(int run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RunConcurrent
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::RunConcurrent
    linkageType: ''
    returnType: void
    signature: void TEST(SkipTest, Concurrent5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 369
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: leveldb::SkipList::SkipList
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkipList(const SkipList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(const SkipList&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkipList
    signature: SkipList & operator=(const SkipList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: leveldb::SkipList::GetMaxHeight
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int GetMaxHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: leveldb::SkipList::Equal
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - compare_
    linkageType: ''
    returnType: bool
    signature: bool Equal(const Key& a, const Key& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: leveldb::Node
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node(const Key& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:154,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: leveldb::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: Node
    signature: Node * Next(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:160,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - int
    - Node*
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: leveldb::SetNext
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - store
    - assert
    linkageType: ''
    returnType: void
    signature: void SetNext(int n, Node* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:168,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: leveldb::NoBarrier_Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: Node
    signature: Node * NoBarrier_Next(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:172,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - int
    - Node*
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: leveldb::NoBarrier_SetNext
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - store
    - assert
    linkageType: ''
    returnType: void
    signature: void NoBarrier_SetNext(int n, Node* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAligned
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:184,1
    - Dst: Node::Node
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - height
    argTypes:
    - Key
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: leveldb::SkipList<Key, Comparator>::NewNode
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Node::Node
    - AllocateAligned
    linkageType: ''
    returnType: typename SkipList<Key, Comparator>::Node
    signature: "typename SkipList<Key, Comparator>::Node * SkipList<Key, Comparator>::NewNode(\n
      \   const Key& key, int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - SkipList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: SkipList<Key, Comparator>::Iterator::Iterator(const SkipList* list)
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::Iterator(const SkipList*
      list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: SkipList<Key, Comparator>::Iterator::Valid() const
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SkipList<Key, Comparator>::Iterator::Valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:202,1
    - Dst: Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '& SkipList<Key, Comparator>::Iterator::key() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Valid
    - assert
    linkageType: ''
    returnType: Key
    signature: Key & SkipList<Key, Comparator>::Iterator::key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:208,1
    - Dst: Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:208,1
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: SkipList<Key, Comparator>::Iterator::Next()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Valid
    - assert
    - Next
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:216,1
    - Dst: Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:216,1
    - Dst: FindLessThan
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: SkipList<Key, Comparator>::Iterator::Prev()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - FindLessThan
    - Valid
    - assert
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::Prev()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindGreaterOrEqual
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: SkipList<Key, Comparator>::Iterator::Seek(const Key& target)
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - FindGreaterOrEqual
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::Seek(const Key& target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: head_::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: SkipList<Key, Comparator>::Iterator::SeekToFirst()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - head_::Next
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::SeekToFirst()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindLast
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: SkipList<Key, Comparator>::Iterator::SeekToLast()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - FindLast
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::SeekToLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:246,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (height <= kMaxHeight)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    - condition: (height > 0)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: leveldb::SkipList<Key, Comparator>::RandomHeight
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - assert
    - Next
    linkageType: ''
    returnType: int
    signature: int SkipList<Key, Comparator>::RandomHeight()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - n
    argTypes:
    - Key
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: leveldb::SkipList<Key, Comparator>::KeyIsAfterNode
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - compare_
    linkageType: ''
    returnType: bool
    signature: bool SkipList<Key, Comparator>::KeyIsAfterNode(const Key& key, Node*
      n) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:265,1
    - Dst: Node*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:267,1
    - Dst: leveldb::SkipList<Key, Comparator>::KeyIsAfterNode
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' key'
    - prev
    argTypes:
    - Key
    - Node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Node*::Next
    - leveldb::SkipList<Key, Comparator>::KeyIsAfterNode
    - GetMaxHeight
    linkageType: ''
    returnType: typename SkipList<Key, Comparator>::Node
    signature: "typename SkipList<Key, Comparator>::Node *\nSkipList<Key, Comparator>::FindGreaterOrEqual(const
      Key& key,\n                                              Node** prev) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:287,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:289,1
    - Dst: compare_
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:289,1
    - Dst: Node*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:290,1
    - Dst: compare_
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts:
    - condition: (x == head_ || compare_(x->key, key) < 0)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 302
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 302
    functionName: leveldb::SkipList<Key, Comparator>::FindLessThan
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Node*::Next
    - assert
    - compare_
    - GetMaxHeight
    linkageType: ''
    returnType: typename SkipList<Key, Comparator>::Node
    signature: 'typename SkipList<Key, Comparator>::Node *

      SkipList<Key, Comparator>::FindLessThan(const Key& key) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:308,1
    - Dst: Node*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 322
    functionName: leveldb::SkipList<Key, Comparator>::FindLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Node*::Next
    - GetMaxHeight
    linkageType: ''
    returnType: typename SkipList<Key, Comparator>::Node
    signature: "typename SkipList<Key, Comparator>::Node * SkipList<Key, Comparator>::FindLast()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SkipList<Key, Comparator>::NewNode
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:328,1
    - Dst: SetNext
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cmp
    - arena
    argTypes:
    - Comparator
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: leveldb::SkipList<Key, Comparator>::SkipList
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - SetNext
    - leveldb::SkipList<Key, Comparator>::NewNode
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::SkipList(Comparator cmp, Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:341,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:344,1
    - Dst: Equal
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:344,1
    - Dst: leveldb::SkipList<Key, Comparator>::RandomHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:346,1
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:347,1
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:348,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:358,1
    - Dst: leveldb::SkipList<Key, Comparator>::NewNode
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:361,1
    - Dst: Node*::NoBarrier_SetNext
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:365,1
    - Dst: NoBarrier_Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:365,1
    - Dst: SetNext
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts:
    - condition: (x == nullptr || !Equal(key, x->key))
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 368
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 368
    functionName: leveldb::SkipList<Key, Comparator>::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - NoBarrier_Next
    - leveldb::SkipList<Key, Comparator>::RandomHeight
    - leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
    - store
    - Node*::NoBarrier_SetNext
    - SetNext
    - GetMaxHeight
    - assert
    - Equal
    - leveldb::SkipList<Key, Comparator>::NewNode
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Insert(const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:372,1
    - Dst: Equal
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: leveldb::SkipList<Key, Comparator>::Contains
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
    - Equal
    linkageType: ''
    returnType: bool
    signature: bool SkipList<Key, Comparator>::Contains(const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: leveldb::SkipList::SkipList
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkipList(const SkipList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(const SkipList&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SkipList
    signature: SkipList & operator=(const SkipList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: leveldb::SkipList::GetMaxHeight
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int GetMaxHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: leveldb::SkipList::Equal
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - compare_
    linkageType: ''
    returnType: bool
    signature: bool Equal(const Key& a, const Key& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: leveldb::Node
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node(const Key& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:154,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: leveldb::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: Node
    signature: Node * Next(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:160,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - int
    - Node*
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: leveldb::SetNext
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - store
    - assert
    linkageType: ''
    returnType: void
    signature: void SetNext(int n, Node* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:168,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: leveldb::NoBarrier_Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: Node
    signature: Node * NoBarrier_Next(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:172,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - int
    - Node*
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: leveldb::NoBarrier_SetNext
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - store
    - assert
    linkageType: ''
    returnType: void
    signature: void NoBarrier_SetNext(int n, Node* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAligned
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:184,1
    - Dst: Node::Node
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - height
    argTypes:
    - Key
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: leveldb::SkipList<Key, Comparator>::NewNode
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 2
    functionsReached:
    - Node::Node
    - AllocateAligned
    linkageType: ''
    returnType: typename SkipList<Key, Comparator>::Node
    signature: "typename SkipList<Key, Comparator>::Node * SkipList<Key, Comparator>::NewNode(\n
      \   const Key& key, int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - SkipList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: SkipList<Key, Comparator>::Iterator::Iterator(const SkipList* list)
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::Iterator(const SkipList*
      list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: SkipList<Key, Comparator>::Iterator::Valid() const
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SkipList<Key, Comparator>::Iterator::Valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:202,1
    - Dst: Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '& SkipList<Key, Comparator>::Iterator::key() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Valid
    - assert
    linkageType: ''
    returnType: Key
    signature: Key & SkipList<Key, Comparator>::Iterator::key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:208,1
    - Dst: Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:208,1
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: SkipList<Key, Comparator>::Iterator::Next()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Valid
    - assert
    - Next
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:216,1
    - Dst: Valid
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:216,1
    - Dst: FindLessThan
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: SkipList<Key, Comparator>::Iterator::Prev()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - FindLessThan
    - Valid
    - assert
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::Prev()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindGreaterOrEqual
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: SkipList<Key, Comparator>::Iterator::Seek(const Key& target)
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - FindGreaterOrEqual
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::Seek(const Key& target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: head_::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: SkipList<Key, Comparator>::Iterator::SeekToFirst()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - head_::Next
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::SeekToFirst()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindLast
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: SkipList<Key, Comparator>::Iterator::SeekToLast()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - FindLast
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Iterator::SeekToLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:246,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:249,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (height <= kMaxHeight)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    - condition: (height > 0)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: leveldb::SkipList<Key, Comparator>::RandomHeight
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 1
    functionsReached:
    - assert
    - Next
    linkageType: ''
    returnType: int
    signature: int SkipList<Key, Comparator>::RandomHeight()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - n
    argTypes:
    - Key
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: leveldb::SkipList<Key, Comparator>::KeyIsAfterNode
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 1
    functionsReached:
    - compare_
    linkageType: ''
    returnType: bool
    signature: bool SkipList<Key, Comparator>::KeyIsAfterNode(const Key& key, Node*
      n) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:265,1
    - Dst: Node*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:267,1
    - Dst: leveldb::SkipList<Key, Comparator>::KeyIsAfterNode
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' key'
    - prev
    argTypes:
    - Key
    - Node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 2
    functionsReached:
    - Node*::Next
    - leveldb::SkipList<Key, Comparator>::KeyIsAfterNode
    - GetMaxHeight
    linkageType: ''
    returnType: typename SkipList<Key, Comparator>::Node
    signature: "typename SkipList<Key, Comparator>::Node *\nSkipList<Key, Comparator>::FindGreaterOrEqual(const
      Key& key,\n                                              Node** prev) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:287,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:289,1
    - Dst: compare_
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:289,1
    - Dst: Node*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:290,1
    - Dst: compare_
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts:
    - condition: (x == head_ || compare_(x->key, key) < 0)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 302
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 302
    functionName: leveldb::SkipList<Key, Comparator>::FindLessThan
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Node*::Next
    - assert
    - compare_
    - GetMaxHeight
    linkageType: ''
    returnType: typename SkipList<Key, Comparator>::Node
    signature: 'typename SkipList<Key, Comparator>::Node *

      SkipList<Key, Comparator>::FindLessThan(const Key& key) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:308,1
    - Dst: Node*::Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 322
    functionName: leveldb::SkipList<Key, Comparator>::FindLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - Node*::Next
    - GetMaxHeight
    linkageType: ''
    returnType: typename SkipList<Key, Comparator>::Node
    signature: "typename SkipList<Key, Comparator>::Node * SkipList<Key, Comparator>::FindLast()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SkipList<Key, Comparator>::NewNode
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:328,1
    - Dst: SetNext
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cmp
    - arena
    argTypes:
    - Comparator
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: leveldb::SkipList<Key, Comparator>::SkipList
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - SetNext
    - leveldb::SkipList<Key, Comparator>::NewNode
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::SkipList(Comparator cmp, Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:341,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:344,1
    - Dst: Equal
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:344,1
    - Dst: leveldb::SkipList<Key, Comparator>::RandomHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:346,1
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:347,1
    - Dst: GetMaxHeight
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:348,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:358,1
    - Dst: leveldb::SkipList<Key, Comparator>::NewNode
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:361,1
    - Dst: Node*::NoBarrier_SetNext
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:365,1
    - Dst: NoBarrier_Next
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:365,1
    - Dst: SetNext
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts:
    - condition: (x == nullptr || !Equal(key, x->key))
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/bitcoin-core/src/leveldb/db/skiplist.h
    constantsTouched: []
    func_position:
      end: 368
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 368
    functionName: leveldb::SkipList<Key, Comparator>::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - NoBarrier_Next
    - leveldb::SkipList<Key, Comparator>::RandomHeight
    - leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
    - store
    - Node*::NoBarrier_SetNext
    - SetNext
    - GetMaxHeight
    - assert
    - Equal
    - leveldb::SkipList<Key, Comparator>::NewNode
    linkageType: ''
    returnType: void
    signature: void SkipList<Key, Comparator>::Insert(const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:372,1
    - Dst: Equal
      Src: /src/bitcoin-core/src/leveldb/db/skiplist.h:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: leveldb::SkipList<Key, Comparator>::Contains
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/skiplist.h
    functionUses: 0
    functionsReached:
    - leveldb::SkipList<Key, Comparator>::FindGreaterOrEqual
    - Equal
    linkageType: ''
    returnType: bool
    signature: bool SkipList<Key, Comparator>::Contains(const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mu
    argTypes:
    - port::Mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: leveldb::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer(port::Mutex* mu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: leveldb::current_output
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::size
    linkageType: ''
    returnType: Output
    signature: Output * current_output()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Compaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: leveldb::CompactionState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompactionState(Compaction* c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<V>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:92,1
    - Dst: static_cast<V>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - minvalue
    - maxvalue
    argTypes:
    - T*
    - V
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: leveldb::ClipToRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - static_cast<V>
    linkageType: ''
    returnType: void
    signature: void ClipToRange(T* ptr, V minvalue, V maxvalue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ClipToRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:102,1
    - Dst: leveldb::ClipToRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:103,1
    - Dst: leveldb::ClipToRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:104,1
    - Dst: leveldb::ClipToRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:105,1
    - Dst: env::CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:108,1
    - Dst: env::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:109,1
    - Dst: leveldb::InfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:109,1
    - Dst: leveldb::OldInfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:109,1
    - Dst: env::NewLogger
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:110,1
    - Dst: leveldb::InfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:110,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:111,1
    - Dst: leveldb::NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - ' dbname'
    - icmp
    - ipolicy
    - ' src'
    argTypes:
    - std::string
    - InternalKeyComparator*
    - InternalFilterPolicy*
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: leveldb::SanitizeOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::OldInfoLogFileName
    - env::CreateDir
    - leveldb::NewLRUCache
    - leveldb::ClipToRange
    - env::RenameFile
    - leveldb::InfoLogFileName
    - env::NewLogger
    - Status::ok
    linkageType: ''
    returnType: Options
    signature: "Options SanitizeOptions(const std::string& dbname,\n                        const
      InternalKeyComparator* icmp,\n                        const InternalFilterPolicy*
      ipolicy,\n                        const Options& src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sanitized_options'
    argTypes:
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: leveldb::TableCacheSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TableCacheSize(const Options& sanitized_options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SanitizeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:131,1
    - Dst: TableCacheSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:136,1
    - Dst: TableCache::TableCache
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:136,1
    - Dst: WriteBatch::WriteBatch
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:147,1
    - Dst: VersionSet::VersionSet
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' raw_options'
    - ' dbname'
    argTypes:
    - Options
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 151
    functionName: leveldb::DBImpl::DBImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - TableCache::TableCache
    - TableCacheSize
    - SanitizeOptions
    - VersionSet::VersionSet
    - WriteBatch::WriteBatch
    linkageType: ''
    returnType: void
    signature: void DBImpl::DBImpl(const Options& raw_options, const std::string&
      dbname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:155,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:156,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:158,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:160,1
    - Dst: UnlockFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:163,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:167,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 180
    functionName: DBImpl::~DBImpl()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - store
    - UnlockFile
    - Lock
    - Unref
    - Wait
    - Unlock
    linkageType: ''
    returnType: void
    signature: void DBImpl::~DBImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VersionEdit::SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:184,1
    - Dst: leveldb::DBImpl::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:184,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:185,1
    - Dst: VersionEdit::SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:186,1
    - Dst: VersionEdit::SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:187,1
    - Dst: DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:189,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:191,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:192,1
    - Dst: VersionEdit::EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:198,1
    - Dst: log::Writer::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:199,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:200,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:201,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:205,1
    - Dst: SetCurrentFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:207,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 212
    functionName: leveldb::DBImpl::NewDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - DeleteFile
    - VersionEdit::SetNextFile
    - log::Writer::AddRecord
    - DescriptorFileName
    - VersionEdit::SetLastSequence
    - leveldb::DBImpl::user_comparator
    - WritableFile*::Close
    - SetCurrentFile
    - NewWritableFile
    - VersionEdit::EncodeTo
    - VersionEdit::SetComparatorName
    - Status::ok
    - VersionEdit::SetLogNumber
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::NewDB()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Status*::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:215,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:218,1
    - Dst: Status*::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:218,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - Status*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: leveldb::DBImpl::MaybeIgnoreError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - Status*::ToString
    - Status*::ok
    - leveldb::OK
    - Log
    linkageType: ''
    returnType: void
    signature: void DBImpl::MaybeIgnoreError(Status* s) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:224,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:226,1
    - Dst: AddLiveFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:234,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:237,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:242,1
    - Dst: LogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:246,1
    - Dst: PrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:247,1
    - Dst: ManifestFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:252,1
    - Dst: std::set::find
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:255,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:255,1
    - Dst: std::set::find
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:260,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:270,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:270,1
    - Dst: Evict
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:272,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:274,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:274,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:275,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:283,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:285,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:287,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 288
    functionName: leveldb::DBImpl::DeleteObsoleteFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - AssertHeld
    - std::move
    - std::vector::push_back
    - std::set::end
    - Lock
    - std::set::find
    - PrevLogNumber
    - Evict
    - LogNumber
    - AddLiveFiles
    - GetChildren
    - static_cast<int>
    - Log
    - ManifestFileNumber
    - ok
    - Unlock
    - DeleteFile
    - static_cast<unsigned long long>
    - ParseFileName
    linkageType: ''
    returnType: void
    signature: void DBImpl::DeleteObsoleteFiles()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:291,1
    - Dst: CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:297,1
    - Dst: LockFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:298,1
    - Dst: LockFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:298,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:299,1
    - Dst: FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:303,1
    - Dst: CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:303,1
    - Dst: leveldb::DBImpl::NewDB
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:305,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:306,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:310,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:315,1
    - Dst: leveldb::DBImpl::Recover
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:320,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:321,1
    - Dst: LogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:333,1
    - Dst: PrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:334,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:336,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:337,1
    - Dst: AddLiveFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:341,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:345,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:346,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:347,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:349,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:352,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:354,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:355,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:355,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:356,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:356,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:356,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:360,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:360,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:360,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:361,1
    - Dst: leveldb::DBImpl::RecoverLogFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:362,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:362,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:364,1
    - Dst: MarkFileNumberUsed
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:371,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:374,1
    - Dst: SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:375,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:378,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - edit
    - save_manifest
    argTypes:
    - VersionEdit*
    - bool*
    assertStmts:
    - condition: (db_lock_ == nullptr)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 379
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 379
    functionName: leveldb::DBImpl::Recover
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - AssertHeld
    - CurrentFileName
    - leveldb::OK
    - std::vector::push_back
    - std::sort
    - leveldb::DBImpl::RecoverLogFile
    - leveldb::DBImpl::Recover
    - Status::ok
    - TableFileName
    - std::vector::end
    - MarkFileNumberUsed
    - leveldb::DBImpl::NewDB
    - std::set::begin
    - PrevLogNumber
    - LogNumber
    - leveldb::log::Reader::ReportCorruption
    - std::vector::size
    - leveldb::InvalidArgument
    - LastSequence
    - SetLastSequence
    - AddLiveFiles
    - GetChildren
    - static_cast<int>
    - FileExists
    - std::set::erase
    - assert
    - std::set::size
    - std::vector::begin
    - LockFile
    - std::set::empty
    - snprintf
    - ParseFileName
    - CreateDir
    - LockFileName
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::Recover(VersionEdit* edit, bool* save_manifest)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:390,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:392,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:392,1
    - Dst: leveldb::DBImpl::status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:393,1
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:397,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:400,1
    - Dst: NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:402,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:403,1
    - Dst: leveldb::DBImpl::MaybeIgnoreError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:404,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:412,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:419,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:428,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:428,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:429,1
    - Dst: LogReporter::Corruption
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:430,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:430,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:431,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:434,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:437,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:438,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:440,1
    - Dst: leveldb::DBImpl::MaybeIgnoreError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:441,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:442,1
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:445,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:446,1
    - Dst: MemTable*::ApproximateMemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:451,1
    - Dst: leveldb::DBImpl::WriteLevel0Table
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:454,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:455,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:457,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:468,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:469,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:470,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:471,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:473,1
    - Dst: NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:474,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:475,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:475,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:476,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:483,1
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:484,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:491,1
    - Dst: leveldb::DBImpl::WriteLevel0Table
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:493,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:495,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 5
    argNames:
    - log_number
    - last_log
    - save_manifest
    - edit
    - max_sequence
    argTypes:
    - uint64_t
    - bool
    - bool*
    - VersionEdit*
    - SequenceNumber*
    assertStmts:
    - condition: (logfile_ == nullptr)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (log_ == nullptr)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (mem_ == nullptr)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 499
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 499
    functionName: leveldb::DBImpl::RecoverLogFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - AssertHeld
    - LogReporter::Corruption
    - leveldb::WriteBatchInternal::Sequence
    - LogFileName
    - NewSequentialFile
    - leveldb::DBImpl::status::ok
    - MemTable*::Ref
    - Status::ok
    - MemTable*::ApproximateMemoryUsage
    - ToString
    - MemTable*::Unref
    - leveldb::WriteBatchInternal::Count
    - leveldb::log::Reader::ReportCorruption
    - GetFileSize
    - leveldb::DBImpl::WriteLevel0Table
    - leveldb::DBImpl::MaybeIgnoreError
    - Ref
    - static_cast<int>
    - MemTable::MemTable
    - Log
    - Slice::size
    - leveldb::WriteBatchInternal::InsertInto
    - std::string::c_str
    - assert
    - log::Reader::ReadRecord
    - log::Writer::Writer
    - NewAppendableFile
    - leveldb::WriteBatchInternal::SetContents
    linkageType: ''
    returnType: Status
    signature: "Status DBImpl::RecoverLogFile(uint64_t log_number, bool last_log,\n
      \                             bool* save_manifest, VersionEdit* edit,\n                              SequenceNumber*
      max_sequence)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:390,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:392,1
    - Dst: leveldb::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:392,1
    - Dst: leveldb::status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - ' s'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: leveldb::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::Log
    - static_cast<int>
    - leveldb::status::ok
    - leveldb::ToString
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& s) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:503,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:504,1
    - Dst: NewFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:506,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:507,1
    - Dst: MemTable*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:508,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:509,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:514,1
    - Dst: BuildTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:515,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:516,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:519,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:521,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:523,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:528,1
    - Dst: FileMetaData::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:529,1
    - Dst: FileMetaData::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:530,1
    - Dst: Version*::PickLevelForMemTableOutput
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:532,1
    - Dst: VersionEdit*::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:534,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:539,1
    - Dst: leveldb::DBImpl::Add
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - mem
    - edit
    - base
    argTypes:
    - MemTable*
    - VersionEdit*
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 543
    functionName: leveldb::DBImpl::WriteLevel0Table
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - MemTable*::NewIterator
    - Version*::PickLevelForMemTableOutput
    - leveldb::DBImpl::Add
    - erase
    - FileMetaData::smallest::user_key
    - AssertHeld
    - VersionEdit*::AddFile
    - NowMicros
    - Log
    - Lock
    - FileMetaData::largest::user_key
    - BuildTable
    - Status::ToString
    - NewFileNumber
    - insert
    - Status::ok
    - Unlock
    linkageType: ''
    returnType: Status
    signature: "Status DBImpl::WriteLevel0Table(MemTable* mem, VersionEdit* edit,\n
      \                               Version* base)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:546,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:547,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:551,1
    - Dst: Version*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:552,1
    - Dst: leveldb::DBImpl::WriteLevel0Table
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:553,1
    - Dst: Version*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:554,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:556,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:556,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:557,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:561,1
    - Dst: VersionEdit::SetPrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:562,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:563,1
    - Dst: LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:564,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:567,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:569,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:571,1
    - Dst: leveldb::DBImpl::DeleteObsoleteFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:572,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (imm_ != nullptr)
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 576
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 576
    functionName: leveldb::DBImpl::CompactMemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - store
    - Version*::Ref
    - leveldb::DBImpl::WriteLevel0Table
    - AssertHeld
    - LogAndApply
    - VersionEdit::SetPrevLogNumber
    - load
    - Unref
    - Version*::Unref
    - leveldb::DBImpl::RecordBackgroundError
    - leveldb::IOError
    - current
    - assert
    - Status::ok
    - VersionEdit::SetLogNumber
    - leveldb::DBImpl::DeleteObsoleteFiles
    linkageType: ''
    returnType: void
    signature: void DBImpl::CompactMemTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:582,1
    - Dst: Version*::OverlapInLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:584,1
    - Dst: leveldb::DBImpl::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:589,1
    - Dst: leveldb::DBImpl::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 593
    functionName: leveldb::DBImpl::CompactRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - current
    - Version*::OverlapInLevel
    - leveldb::DBImpl::TEST_CompactRange
    - leveldb::DBImpl::TEST_CompactMemTable
    linkageType: ''
    returnType: void
    signature: void DBImpl::CompactRange(const Slice* begin, const Slice* end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:597,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:598,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:608,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:614,1
    - Dst: static_cast<ValueType>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:614,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:619,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:620,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:623,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - level
    - begin
    - end
    argTypes:
    - int
    - Slice*
    - Slice*
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (level + 1 < config::kNumLevels)
      pos:
        line_end: 597
        line_start: 597
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 632
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 632
    functionName: leveldb::DBImpl::TEST_CompactRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - load
    - Wait
    - static_cast<ValueType>
    - ok
    - InternalKey
    - assert
    - leveldb::DBImpl::MaybeScheduleCompaction
    linkageType: ''
    returnType: void
    signature: "void DBImpl::TEST_CompactRange(int level, const Slice* begin,\n                               const
      Slice* end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::Write
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:636,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:636,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:637,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:640,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 648
    functionName: leveldb::DBImpl::TEST_CompactMemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - WriteOptions
    - leveldb::DBImpl::Write
    - Wait
    - ok
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::TEST_CompactMemTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:651,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:652,1
    - Dst: SignalAll
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 656
    functionName: leveldb::DBImpl::RecordBackgroundError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - AssertHeld
    - SignalAll
    - ok
    linkageType: ''
    returnType: void
    signature: void DBImpl::RecordBackgroundError(const Status& s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:659,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:662,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:664,1
    - Dst: NeedsCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:667,1
    - Dst: Schedule
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 673
    functionName: leveldb::DBImpl::MaybeScheduleCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - NeedsCompaction
    - AssertHeld
    - load
    - ok
    - Schedule
    linkageType: ''
    returnType: void
    signature: void DBImpl::MaybeScheduleCompaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - db
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 677
    functionName: leveldb::DBImpl::BGWork
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DBImpl*>
    linkageType: ''
    returnType: void
    signature: void DBImpl::BGWork(void* db)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:681,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:682,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:684,1
    - Dst: leveldb::DBImpl::BackgroundCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:687,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:694,1
    - Dst: SignalAll
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (background_compaction_scheduled_)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 696
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 696
    functionName: leveldb::DBImpl::BackgroundCall
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBImpl::BackgroundCompaction
    - load
    - ok
    - assert
    - leveldb::DBImpl::MaybeScheduleCompaction
    - SignalAll
    linkageType: ''
    returnType: void
    signature: void DBImpl::BackgroundCall()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:699,1
    - Dst: leveldb::DBImpl::CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:702,1
    - Dst: leveldb::DBImpl::CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:711,1
    - Dst: Compaction*::input
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:714,1
    - Dst: Compaction*::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:714,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:716,1
    - Dst: ManualCompaction*::begin::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:718,1
    - Dst: ManualCompaction*::end::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:719,1
    - Dst: InternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:720,1
    - Dst: PickCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:722,1
    - Dst: Compaction*::IsTrivialMove
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:728,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:730,1
    - Dst: Compaction*::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:730,1
    - Dst: Compaction*::input
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:731,1
    - Dst: Compaction*::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:732,1
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:732,1
    - Dst: Compaction*::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:733,1
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:733,1
    - Dst: LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:735,1
    - Dst: Compaction*::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:735,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:736,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:737,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:740,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:741,1
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:741,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:742,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:743,1
    - Dst: LevelSummary
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:743,1
    - Dst: CompactionState::CompactionState
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:745,1
    - Dst: leveldb::DBImpl::DoCompactionWork
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:746,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:747,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:748,1
    - Dst: leveldb::DBImpl::CleanupCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:750,1
    - Dst: Compaction*::ReleaseInputs
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:751,1
    - Dst: leveldb::DBImpl::DeleteObsoleteFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:752,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:756,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:758,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:761,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:761,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:766,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (c->num_input_files(0) == 1)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 777
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 777
    functionName: leveldb::DBImpl::BackgroundCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - Compaction*::input
    - AssertHeld
    - load
    - CompactionState::CompactionState
    - leveldb::DBImpl::RecordBackgroundError
    - leveldb::DBImpl::DoCompactionWork
    - Status::ToString
    - leveldb::DBImpl::CleanupCompaction
    - Compaction*::ReleaseInputs
    - Status::ok
    - leveldb::DBImpl::CompactRange
    - InternalKey::DebugString
    - LevelSummary
    - Compaction*::level
    - Compaction*::num_input_files
    - LogAndApply
    - ManualCompaction*::begin::DebugString
    - Log
    - leveldb::DBImpl::CompactMemTable
    - PickCompaction
    - assert
    - Compaction*::IsTrivialMove
    - Compaction*::edit
    - ManualCompaction*::end::DebugString
    - static_cast<unsigned long long>
    - leveldb::DBImpl::DeleteObsoleteFiles
    linkageType: ''
    returnType: void
    signature: void DBImpl::BackgroundCompaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:780,1
    - Dst: CompactionState*::builder::Abandon
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:783,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:786,1
    - Dst: CompactionState*::outputs::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:789,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - compact
    argTypes:
    - CompactionState*
    assertStmts:
    - condition: (compact->outfile == nullptr)
      pos:
        line_end: 785
        line_start: 785
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: leveldb::DBImpl::CleanupCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - erase
    - AssertHeld
    - CompactionState*::outputs::size
    - CompactionState*::builder::Abandon
    - assert
    linkageType: ''
    returnType: void
    signature: void DBImpl::CleanupCompaction(CompactionState* compact)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:797,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:798,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:801,1
    - Dst: NewFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:802,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:803,1
    - Dst: CompactionState::Output::smallest::Clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:806,1
    - Dst: CompactionState::Output::largest::Clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:807,1
    - Dst: CompactionState*::outputs::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:808,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:809,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:813,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:814,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:815,1
    - Dst: TableBuilder::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - compact
    argTypes:
    - CompactionState*
    assertStmts:
    - condition: (compact != nullptr)
      pos:
        line_end: 796
        line_start: 796
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->builder == nullptr)
      pos:
        line_end: 797
        line_start: 797
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 819
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 819
    functionName: leveldb::DBImpl::OpenCompactionOutputFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - TableFileName
    - Status::ok
    - assert
    - TableBuilder::TableBuilder
    - CompactionState*::outputs::push_back
    - Unlock
    - NewWritableFile
    - CompactionState::Output::smallest::Clear
    - NewFileNumber
    - insert
    - CompactionState::Output::largest::Clear
    - Lock
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::OpenCompactionOutputFile(CompactionState* compact)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:823,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:824,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:825,1
    - Dst: CompactionState*::current_output
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:827,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:828,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:831,1
    - Dst: CompactionState*::builder::NumEntries
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:832,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:833,1
    - Dst: CompactionState*::builder::Finish
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:834,1
    - Dst: CompactionState*::builder::Abandon
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:836,1
    - Dst: CompactionState*::builder::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:838,1
    - Dst: CompactionState*::current_output
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:839,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:845,1
    - Dst: CompactionState*::outfile::Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:846,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:848,1
    - Dst: CompactionState*::outfile::Close
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:849,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:854,1
    - Dst: leveldb::DBImpl::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:857,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:857,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:858,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:860,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:861,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - compact
    - input
    argTypes:
    - CompactionState*
    - Iterator*
    assertStmts:
    - condition: (compact != nullptr)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->builder != nullptr)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->outfile != nullptr)
      pos:
        line_end: 823
        line_start: 823
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (output_number != 0)
      pos:
        line_end: 827
        line_start: 827
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 868
      start: 821
    functionDepth: 3
    functionLinenumber: 821
    functionLinenumberEnd: 868
    functionName: leveldb::DBImpl::FinishCompactionOutputFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - CompactionState*::outfile::Sync
    - CompactionState*::builder::NumEntries
    - CompactionState*::builder::FileSize
    - CompactionState*::outfile::Close
    - CompactionState*::current_output
    - ReadOptions
    - CompactionState*::builder::Finish
    - CompactionState*::builder::Abandon
    - Log
    - CompactionState*::compaction::level
    - Iterator*::status
    - leveldb::DBImpl::NewIterator
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status DBImpl::FinishCompactionOutputFile(CompactionState* compact,\n
      \                                         Iterator* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:871,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:872,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:873,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:873,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:874,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:874,1
    - Dst: static_cast<long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:875,1
    - Dst: CompactionState*::compaction::AddInputDeletions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:878,1
    - Dst: CompactionState*::compaction::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:878,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:879,1
    - Dst: CompactionState*::outputs::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:880,1
    - Dst: CompactionState*::compaction::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:882,1
    - Dst: LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:885,1
    - Dst: CompactionState*::compaction::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - compact
    argTypes:
    - CompactionState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 886
    functionName: leveldb::DBImpl::InstallCompactionResults
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - CompactionState*::compaction::edit
    - AssertHeld
    - CompactionState*::compaction::AddInputDeletions
    - LogAndApply
    - CompactionState*::outputs::size
    - Log
    - CompactionState*::compaction::level
    - static_cast<long long>
    - CompactionState*::compaction::num_input_files
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::InstallCompactionResults(CompactionState* compact)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:889,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:892,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:893,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:893,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:894,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:895,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:897,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:897,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:897,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:898,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:899,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:900,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:901,1
    - Dst: oldest
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:903,1
    - Dst: MakeInputIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:906,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:909,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:911,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:917,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:917,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:919,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:920,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:921,1
    - Dst: leveldb::DBImpl::CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:923,1
    - Dst: SignalAll
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:925,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:927,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:928,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:931,1
    - Dst: CompactionState*::compaction::ShouldStopBefore
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:932,1
    - Dst: leveldb::DBImpl::FinishCompactionOutputFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:934,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:935,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:942,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:944,1
    - Dst: leveldb::DBImpl::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:949,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:949,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:952,1
    - Dst: ParsedInternalKey::user_key::data
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:952,1
    - Dst: ParsedInternalKey::user_key::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:952,1
    - Dst: CompactionState*::compaction::IsBaseLevelForKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:962,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:976,1
    - Dst: ParsedInternalKey::user_key::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:979,1
    - Dst: CompactionState*::compaction::IsBaseLevelForKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:981,1
    - Dst: leveldb::DBImpl::OpenCompactionOutputFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:988,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:989,1
    - Dst: CompactionState*::builder::NumEntries
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:993,1
    - Dst: CompactionState*::current_output
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:994,1
    - Dst: DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:994,1
    - Dst: CompactionState*::current_output
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:996,1
    - Dst: DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:996,1
    - Dst: CompactionState*::builder::Add
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:997,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:997,1
    - Dst: CompactionState*::builder::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1000,1
    - Dst: CompactionState*::compaction::MaxOutputFileSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1001,1
    - Dst: leveldb::DBImpl::FinishCompactionOutputFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1002,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1003,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1009,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1012,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1012,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1013,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1015,1
    - Dst: leveldb::DBImpl::FinishCompactionOutputFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1016,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1018,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1019,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1025,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1027,1
    - Dst: CompactionState*::compaction::input
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1028,1
    - Dst: CompactionState*::outputs::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1031,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1035,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1036,1
    - Dst: leveldb::DBImpl::Add
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1036,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1038,1
    - Dst: leveldb::DBImpl::InstallCompactionResults
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1039,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1041,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1042,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1045,1
    - Dst: LevelSummary
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1045,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 98
    argCount: 1
    argNames:
    - compact
    argTypes:
    - CompactionState*
    assertStmts:
    - condition: (versions_->NumLevelFiles(compact->compaction->level()) > 0)
      pos:
        line_end: 896
        line_start: 896
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->outfile == nullptr)
      pos:
        line_end: 898
        line_start: 898
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->builder == nullptr)
      pos:
        line_end: 897
        line_start: 897
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 1047
      start: 888
    functionDepth: 4
    functionLinenumber: 888
    functionLinenumberEnd: 1047
    functionName: leveldb::DBImpl::DoCompactionWork
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - CompactionState*::builder::Add
    - CompactionState*::builder::FileSize
    - CompactionState*::compaction::ShouldStopBefore
    - Iterator*::value
    - CompactionState*::compaction::input
    - NowMicros
    - leveldb::DBImpl::user_comparator
    - load
    - CompactionState*::outputs::size
    - leveldb::DBImpl::RecordBackgroundError
    - Iterator*::Next
    - leveldb::DBImpl::InstallCompactionResults
    - leveldb::IOError
    - oldest
    - CompactionState*::compaction::IsBaseLevelForKey
    - leveldb::DBImpl::Add
    - Status::ok
    - Lock
    - CompactionState*::compaction::num_input_files
    - Iterator*::Valid
    - std::string::assign
    - LevelSummary
    - ParseInternalKey
    - Iterator*::status
    - LastSequence
    - CompactionState*::builder::NumEntries
    - empty
    - CompactionState*::current_output
    - Log
    - leveldb::DBImpl::FinishCompactionOutputFile
    - CompactionState*::compaction::MaxOutputFileSize
    - leveldb::DBImpl::CompactMemTable
    - NumLevelFiles
    - assert
    - ParsedInternalKey::user_key::data
    - MakeInputIterator
    - Unlock
    - SignalAll
    - DecodeFrom
    - Slice
    - Iterator*::SeekToFirst
    - Iterator*::key
    - ParsedInternalKey::user_key::size
    - CompactionState*::compaction::level
    - std::string::clear
    - ParsedInternalKey::user_key::ToString
    - leveldb::DBImpl::OpenCompactionOutputFile
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::DoCompactionWork(CompactionState* compact)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mutex
    - mem
    - imm
    - version
    argTypes:
    - port::Mutex*
    - MemTable*
    - MemTable*
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1058
    functionName: leveldb::IterState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterState(port::Mutex* mutex, MemTable* mem, MemTable* imm, Version*
      version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IterState*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1062,1
    - Dst: IterState*::mu::Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1063,1
    - Dst: IterState*::mem::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1064,1
    - Dst: IterState*::imm::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1065,1
    - Dst: IterState*::version::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1066,1
    - Dst: IterState*::mu::Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1069
    functionName: leveldb::CleanupIteratorState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - IterState*::mem::Unref
    - IterState*::mu::Unlock
    - IterState*::mu::Lock
    - reinterpret_cast<IterState*>
    - IterState*::imm::Unref
    - IterState*::version::Unref
    linkageType: ''
    returnType: void
    signature: void CleanupIteratorState(void* arg1, void* arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mutex
    - mem
    - imm
    - version
    argTypes:
    - port::Mutex*
    - MemTable*
    - MemTable*
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1058
    functionName: leveldb::IterState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterState(port::Mutex* mutex, MemTable* mem, MemTable* imm, Version*
      version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IterState*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1062,1
    - Dst: IterState*::mu::Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1063,1
    - Dst: IterState*::mem::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1064,1
    - Dst: IterState*::imm::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1065,1
    - Dst: IterState*::version::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1066,1
    - Dst: IterState*::mu::Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1069
    functionName: leveldb::CleanupIteratorState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - IterState*::mem::Unref
    - IterState*::mu::Unlock
    - IterState*::mu::Lock
    - reinterpret_cast<IterState*>
    - IterState*::imm::Unref
    - IterState*::version::Unref
    linkageType: ''
    returnType: void
    signature: void CleanupIteratorState(void* arg1, void* arg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1076,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1081,1
    - Dst: leveldb::DBImpl::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1081,1
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1082,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1084,1
    - Dst: leveldb::DBImpl::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1084,1
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1085,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1087,1
    - Dst: NewMergingIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1089,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1089,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1090,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1092,1
    - Dst: IterState::IterState
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1092,1
    - Dst: Iterator*::RegisterCleanup
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1093,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ' options'
    - latest_snapshot
    - seed
    argTypes:
    - ReadOptions
    - SequenceNumber*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1098
    functionName: leveldb::DBImpl::NewInternalIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - Ref
    - Unlock
    - std::vector::push_back
    - NewMergingIterator
    - IterState::IterState
    - Iterator*::RegisterCleanup
    - current
    - leveldb::DBImpl::NewIterator
    - std::vector::size
    - LastSequence
    - Lock
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * DBImpl::NewInternalIterator(const ReadOptions& options,\n
      \                                     SequenceNumber* latest_snapshot,\n                                      uint32_t*
      seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::NewInternalIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1103,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    functionName: leveldb::DBImpl::TEST_NewInternalIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - ReadOptions
    - leveldb::DBImpl::NewInternalIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * DBImpl::TEST_NewInternalIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxNextLevelOverlappingBytes
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: leveldb::DBImpl::TEST_MaxNextLevelOverlappingBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - MaxNextLevelOverlappingBytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t DBImpl::TEST_MaxNextLevelOverlappingBytes()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SnapshotImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1118,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1120,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1125,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1126,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1127,1
    - Dst: Version*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1128,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1135,1
    - Dst: MemTable*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1138,1
    - Dst: MemTable*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1140,1
    - Dst: Version*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1143,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1146,1
    - Dst: Version*::UpdateStats
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1149,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1150,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1152,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1153,1
    - Dst: Version*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - ' options'
    - ' key'
    - value
    argTypes:
    - ReadOptions
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1156
    functionName: leveldb::DBImpl::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - Version*::Ref
    - MemTable*::Unref
    - Unlock
    - leveldb::DBImpl::MaybeScheduleCompaction
    - Lock
    - Version*::UpdateStats
    - Version*::Unref
    - MemTable*::Ref
    - current
    - MemTable*::Get
    - Version*::Get
    - LastSequence
    - static_cast<const SnapshotImpl*>
    linkageType: ''
    returnType: Status
    signature: "Status DBImpl::Get(const ReadOptions& options, const Slice& key,\n
      \                  std::string* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::NewInternalIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1161,1
    - Dst: NewDBIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1162,1
    - Dst: leveldb::DBImpl::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1162,1
    - Dst: static_cast<const SnapshotImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ReadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1168
    functionName: leveldb::DBImpl::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - NewDBIterator
    - leveldb::DBImpl::user_comparator
    - leveldb::DBImpl::NewInternalIterator
    - static_cast<const SnapshotImpl*>
    linkageType: ''
    returnType: Iterator
    signature: Iterator * DBImpl::NewIterator(const ReadOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1172,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1175
    functionName: leveldb::DBImpl::RecordReadSample
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - current
    - leveldb::DBImpl::MaybeScheduleCompaction
    linkageType: ''
    returnType: void
    signature: void DBImpl::RecordReadSample(Slice key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1179,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1180
    functionName: leveldb::DBImpl::GetSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - New
    - LastSequence
    linkageType: ''
    returnType: Snapshot
    signature: Snapshot * DBImpl::GetSnapshot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1184,1
    - Dst: static_cast<const SnapshotImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - snapshot
    argTypes:
    - Snapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1185
    functionName: leveldb::DBImpl::ReleaseSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBImpl::Delete
    - static_cast<const SnapshotImpl*>
    linkageType: ''
    returnType: void
    signature: void DBImpl::ReleaseSnapshot(const Snapshot* snapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ModelDB::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' key'
    - ' val'
    argTypes:
    - WriteOptions
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1190
    functionName: leveldb::DBImpl::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::ModelDB::Put
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::Put(const WriteOptions& o, const Slice& key, const Slice&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ModelDB::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' options'
    - ' key'
    argTypes:
    - WriteOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1194
    functionName: leveldb::DBImpl::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - leveldb::ModelDB::Delete
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::Delete(const WriteOptions& options, const Slice& key)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1203,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1204,1
    - Dst: Writer::cv::Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1205,1
    - Dst: leveldb::DBImpl::MakeRoomForWrite
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1212,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1213,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1215,1
    - Dst: leveldb::DBImpl::BuildBatchGroup
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1216,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1217,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1218,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1225,1
    - Dst: AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1226,1
    - Dst: leveldb::WriteBatchInternal::Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1226,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1228,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1229,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1230,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1234,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1235,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1237,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1242,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1245,1
    - Dst: SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1247,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1251,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1252,1
    - Dst: Writer*::cv::Signal
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1256,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1262,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1263,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1263,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - ' options'
    - updates
    argTypes:
    - WriteOptions
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1196
    functionDepth: 4
    functionLinenumber: 1196
    functionLinenumberEnd: 1267
    functionName: leveldb::DBImpl::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - leveldb::DBImpl::MakeRoomForWrite
    - AddRecord
    - Writer*::cv::Signal
    - leveldb::DBImpl::RecordBackgroundError
    - Status::ok
    - Lock
    - pop_front
    - leveldb::WriteBatchInternal::SetSequence
    - leveldb::WriteBatchInternal::Count
    - leveldb::DBImpl::BuildBatchGroup
    - LastSequence
    - SetLastSequence
    - Writer::cv::Wait
    - empty
    - Sync
    - leveldb::WriteBatchInternal::InsertInto
    - Unlock
    - Signal
    - push_back
    - leveldb::WriteBatchInternal::Contents
    - Clear
    - front
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::Write(const WriteOptions& options, WriteBatch* updates)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1272,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1273,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1273,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1274,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1276,1
    - Dst: leveldb::WriteBatchInternal::ByteSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1278,1
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1289,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1291,1
    - Dst: leveldb::WriteBatchInternal::ByteSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1299,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1309,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1309,1
    - Dst: leveldb::WriteBatchInternal::Append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1310,1
    - Dst: leveldb::WriteBatchInternal::Append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - last_writer
    argTypes:
    - Writer**
    assertStmts:
    - condition: (result != nullptr)
      pos:
        line_end: 1275
        line_start: 1275
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (!writers_.empty())
      pos:
        line_end: 1272
        line_start: 1272
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (WriteBatchInternal::Count(result) == 0)
      pos:
        line_end: 1308
        line_start: 1308
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 1317
      start: 1271
    functionDepth: 4
    functionLinenumber: 1271
    functionLinenumberEnd: 1317
    functionName: leveldb::DBImpl::BuildBatchGroup
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - end
    - empty
    - AssertHeld
    - front
    - begin
    - leveldb::WriteBatchInternal::Count
    - leveldb::WriteBatchInternal::Append
    - assert
    - leveldb::WriteBatchInternal::ByteSize
    linkageType: ''
    returnType: WriteBatch
    signature: WriteBatch * DBImpl::BuildBatchGroup(Writer** last_writer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1322,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1323,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1323,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1327,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1331,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1339,1
    - Dst: SleepForMicroseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1340,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1342,1
    - Dst: ApproximateMemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1344,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1350,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1351,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1352,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1354,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1355,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1358,1
    - Dst: PrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1358,1
    - Dst: NewFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1359,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1361,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1361,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1362,1
    - Dst: ReuseFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1364,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1371,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1373,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1374,1
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1375,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1377,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts:
    - condition: (!writers_.empty())
      pos:
        line_end: 1322
        line_start: 1322
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (versions_->PrevLogNumber() == 0)
      pos:
        line_end: 1357
        line_start: 1357
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 1381
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1381
    functionName: leveldb::DBImpl::MakeRoomForWrite
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - AssertHeld
    - LogFileName
    - NewWritableFile
    - Wait
    - NewFileNumber
    - Status::ok
    - Lock
    - ApproximateMemoryUsage
    - ReuseFileNumber
    - SleepForMicroseconds
    - PrevLogNumber
    - empty
    - Ref
    - MemTable::MemTable
    - Log
    - ok
    - NumLevelFiles
    - assert
    - Unlock
    - store
    - log::Writer::Writer
    - leveldb::DBImpl::MaybeScheduleCompaction
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::MakeRoomForWrite(bool force)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1384,1
    - Dst: Slice::starts_with
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1389,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1390,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1390,1
    - Dst: Slice::starts_with
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1392,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1393,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1393,1
    - Dst: ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1395,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1395,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1400,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1401,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1401,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1407,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1411,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1413,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1415,1
    - Dst: NumLevelBytes
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1416,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1420,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1425,1
    - Dst: block_cache::TotalCharge
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1428,1
    - Dst: ApproximateMemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1430,1
    - Dst: ApproximateMemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1433,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1436,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1437,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1438,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - ' property'
    - value
    argTypes:
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1443
    functionName: leveldb::DBImpl::GetProperty
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - ApproximateMemoryUsage
    - std::string*::clear
    - Slice::remove_prefix
    - strlen
    - ConsumeDecimalNumber
    - Slice::starts_with
    - static_cast<int>
    - block_cache::TotalCharge
    - Slice::size
    - std::string*::append
    - snprintf
    - NumLevelFiles
    - static_cast<unsigned long long>
    - current
    - NumLevelBytes
    - Slice::empty
    linkageType: ''
    returnType: bool
    signature: bool DBImpl::GetProperty(const Slice& property, std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1448,1
    - Dst: Version*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1449,1
    - Dst: ApproximateOffsetOf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1455,1
    - Dst: ApproximateOffsetOf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1456,1
    - Dst: Version*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - range
    - n
    - sizes
    argTypes:
    - Range*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1461
    functionName: leveldb::DBImpl::GetApproximateSizes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - Version*::Unref
    - current
    - Version*::Ref
    - ApproximateOffsetOf
    linkageType: ''
    returnType: void
    signature: void DBImpl::GetApproximateSizes(const Range* range, int n, uint64_t*
      sizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1467,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' opt'
    - ' key'
    - ' value'
    argTypes:
    - WriteOptions
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1469
    functionName: leveldb::DB::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - WriteBatch::Put
    - Write
    linkageType: ''
    returnType: Status
    signature: Status DB::Put(const WriteOptions& opt, const Slice& key, const Slice&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1473,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' opt'
    - ' key'
    argTypes:
    - WriteOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1475
    functionName: leveldb::DB::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - Write
    - WriteBatch::Delete
    linkageType: ''
    returnType: Status
    signature: Status DB::Delete(const WriteOptions& opt, const Slice& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1477
    functionName: DB::~DB()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DB::~DB()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DBImpl::DBImpl
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1482,1
    - Dst: DBImpl*::mutex_::Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1483,1
    - Dst: DBImpl*::Recover
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1487,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1488,1
    - Dst: DBImpl*::versions_::NewFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1490,1
    - Dst: env::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1492,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1492,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1494,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1495,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1498,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1499,1
    - Dst: DBImpl*::mem_::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1500,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1503,1
    - Dst: VersionEdit::SetPrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1504,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1505,1
    - Dst: DBImpl*::versions_::LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1506,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1508,1
    - Dst: DBImpl*::DeleteObsoleteFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1509,1
    - Dst: DBImpl*::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1510,1
    - Dst: DBImpl*::mutex_::Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1512,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1513,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - ' options'
    - ' dbname'
    - dbptr
    argTypes:
    - Options
    - std::string
    - DB**
    assertStmts:
    - condition: (impl->mem_ != nullptr)
      pos:
        line_end: 1513
        line_start: 1513
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 1520
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1520
    functionName: leveldb::DB::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 20
    functionsReached:
    - DBImpl*::versions_::NewFileNumber
    - env::NewWritableFile
    - DBImpl*::mutex_::Unlock
    - VersionEdit::SetPrevLogNumber
    - log::Writer::Writer
    - MemTable::MemTable
    - DBImpl*::mem_::Ref
    - DBImpl*::versions_::LogAndApply
    - LogFileName
    - DBImpl*::Recover
    - DBImpl*::DeleteObsoleteFiles
    - DBImpl*::mutex_::Lock
    - assert
    - DBImpl::DBImpl
    - Status::ok
    - VersionEdit::SetLogNumber
    - DBImpl*::MaybeScheduleCompaction
    linkageType: ''
    returnType: Status
    signature: Status DB::Open(const Options& options, const std::string& dbname,
      DB** dbptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1522
    functionName: Snapshot::~Snapshot()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Snapshot::~Snapshot()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Env*::GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1527,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1528,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1530,1
    - Dst: leveldb::LockFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1534,1
    - Dst: Env*::LockFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1535,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1536,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1539,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1540,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1542,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1543,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1543,1
    - Dst: Env*::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1548,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1549,1
    - Dst: Env*::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' dbname'
    - ' options'
    argTypes:
    - std::string
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1553
    functionName: leveldb::DestroyDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 14
    functionsReached:
    - Env*::UnlockFile
    - leveldb::LockFileName
    - Env*::DeleteFile
    - leveldb::ParseFileName
    - Env*::GetChildren
    - leveldb::OK
    - Env*::LockFile
    - Env*::DeleteDir
    - std::vector::size
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status DestroyDB(const std::string& dbname, const Options& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mu
    argTypes:
    - port::Mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: leveldb::Writer
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer(port::Mutex* mu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: leveldb::current_output
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::size
    linkageType: ''
    returnType: Output
    signature: Output * current_output()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Compaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: leveldb::CompactionState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompactionState(Compaction* c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<V>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:92,1
    - Dst: static_cast<V>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - minvalue
    - maxvalue
    argTypes:
    - T*
    - V
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: leveldb::ClipToRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - static_cast<V>
    linkageType: ''
    returnType: void
    signature: void ClipToRange(T* ptr, V minvalue, V maxvalue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ClipToRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:102,1
    - Dst: leveldb::ClipToRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:103,1
    - Dst: leveldb::ClipToRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:104,1
    - Dst: leveldb::ClipToRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:105,1
    - Dst: env::CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:108,1
    - Dst: env::RenameFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:109,1
    - Dst: leveldb::InfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:109,1
    - Dst: leveldb::OldInfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:109,1
    - Dst: env::NewLogger
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:110,1
    - Dst: leveldb::InfoLogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:110,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:111,1
    - Dst: leveldb::NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - ' dbname'
    - icmp
    - ipolicy
    - ' src'
    argTypes:
    - std::string
    - InternalKeyComparator*
    - InternalFilterPolicy*
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: leveldb::SanitizeOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::OldInfoLogFileName
    - env::CreateDir
    - leveldb::NewLRUCache
    - leveldb::ClipToRange
    - env::RenameFile
    - leveldb::InfoLogFileName
    - env::NewLogger
    - Status::ok
    linkageType: ''
    returnType: Options
    signature: "Options SanitizeOptions(const std::string& dbname,\n                        const
      InternalKeyComparator* icmp,\n                        const InternalFilterPolicy*
      ipolicy,\n                        const Options& src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sanitized_options'
    argTypes:
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: leveldb::TableCacheSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TableCacheSize(const Options& sanitized_options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SanitizeOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:131,1
    - Dst: TableCacheSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:136,1
    - Dst: TableCache::TableCache
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:136,1
    - Dst: WriteBatch::WriteBatch
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:147,1
    - Dst: VersionSet::VersionSet
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' raw_options'
    - ' dbname'
    argTypes:
    - Options
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 151
    functionName: leveldb::DBImpl::DBImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - TableCache::TableCache
    - TableCacheSize
    - SanitizeOptions
    - VersionSet::VersionSet
    - WriteBatch::WriteBatch
    linkageType: ''
    returnType: void
    signature: void DBImpl::DBImpl(const Options& raw_options, const std::string&
      dbname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:155,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:156,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:158,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:160,1
    - Dst: UnlockFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:163,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:167,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 180
    functionName: DBImpl::~DBImpl()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - store
    - UnlockFile
    - Lock
    - Unref
    - Wait
    - Unlock
    linkageType: ''
    returnType: void
    signature: void DBImpl::~DBImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VersionEdit::SetComparatorName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:184,1
    - Dst: leveldb::DBImpl::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:184,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:185,1
    - Dst: VersionEdit::SetNextFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:186,1
    - Dst: VersionEdit::SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:187,1
    - Dst: DescriptorFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:189,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:191,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:192,1
    - Dst: VersionEdit::EncodeTo
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:198,1
    - Dst: log::Writer::AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:199,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:200,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:201,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:205,1
    - Dst: SetCurrentFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:207,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 212
    functionName: leveldb::DBImpl::NewDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - DeleteFile
    - VersionEdit::SetNextFile
    - log::Writer::AddRecord
    - DescriptorFileName
    - VersionEdit::SetLastSequence
    - leveldb::DBImpl::user_comparator
    - WritableFile*::Close
    - SetCurrentFile
    - NewWritableFile
    - VersionEdit::EncodeTo
    - VersionEdit::SetComparatorName
    - Status::ok
    - VersionEdit::SetLogNumber
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::NewDB()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Status*::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:215,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:218,1
    - Dst: Status*::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:218,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - Status*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: leveldb::DBImpl::MaybeIgnoreError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - Status*::ToString
    - Status*::ok
    - leveldb::OK
    - Log
    linkageType: ''
    returnType: void
    signature: void DBImpl::MaybeIgnoreError(Status* s) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:224,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:226,1
    - Dst: AddLiveFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:234,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:237,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:242,1
    - Dst: LogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:246,1
    - Dst: PrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:247,1
    - Dst: ManifestFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:252,1
    - Dst: std::set::find
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:255,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:255,1
    - Dst: std::set::find
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:260,1
    - Dst: std::set::end
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:270,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:270,1
    - Dst: Evict
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:272,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:274,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:274,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:275,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:283,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:285,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:287,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 288
    functionName: leveldb::DBImpl::DeleteObsoleteFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - AssertHeld
    - std::move
    - std::vector::push_back
    - std::set::end
    - Lock
    - std::set::find
    - PrevLogNumber
    - Evict
    - LogNumber
    - AddLiveFiles
    - GetChildren
    - static_cast<int>
    - Log
    - ManifestFileNumber
    - ok
    - Unlock
    - DeleteFile
    - static_cast<unsigned long long>
    - ParseFileName
    linkageType: ''
    returnType: void
    signature: void DBImpl::DeleteObsoleteFiles()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:291,1
    - Dst: CreateDir
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:297,1
    - Dst: LockFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:298,1
    - Dst: LockFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:298,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:299,1
    - Dst: FileExists
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:303,1
    - Dst: CurrentFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:303,1
    - Dst: leveldb::DBImpl::NewDB
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:305,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:306,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:310,1
    - Dst: leveldb::InvalidArgument
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:315,1
    - Dst: leveldb::DBImpl::Recover
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:320,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:321,1
    - Dst: LogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:333,1
    - Dst: PrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:334,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:336,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:337,1
    - Dst: AddLiveFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:341,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:345,1
    - Dst: ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:346,1
    - Dst: std::set::erase
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:347,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:349,1
    - Dst: std::set::empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:352,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:354,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:355,1
    - Dst: std::set::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:355,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:356,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:356,1
    - Dst: std::set::begin
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:356,1
    - Dst: std::sort
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:360,1
    - Dst: std::vector::begin
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:360,1
    - Dst: std::vector::end
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:360,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:361,1
    - Dst: leveldb::DBImpl::RecoverLogFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:362,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:362,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:364,1
    - Dst: MarkFileNumberUsed
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:371,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:374,1
    - Dst: SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:375,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:378,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - edit
    - save_manifest
    argTypes:
    - VersionEdit*
    - bool*
    assertStmts:
    - condition: (db_lock_ == nullptr)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 379
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 379
    functionName: leveldb::DBImpl::Recover
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - AssertHeld
    - CurrentFileName
    - leveldb::OK
    - std::vector::push_back
    - std::sort
    - leveldb::DBImpl::RecoverLogFile
    - leveldb::DBImpl::Recover
    - Status::ok
    - TableFileName
    - std::vector::end
    - MarkFileNumberUsed
    - leveldb::DBImpl::NewDB
    - std::set::begin
    - PrevLogNumber
    - LogNumber
    - leveldb::log::Reader::ReportCorruption
    - std::vector::size
    - leveldb::InvalidArgument
    - LastSequence
    - SetLastSequence
    - AddLiveFiles
    - GetChildren
    - static_cast<int>
    - FileExists
    - std::set::erase
    - assert
    - std::set::size
    - std::vector::begin
    - LockFile
    - std::set::empty
    - snprintf
    - ParseFileName
    - CreateDir
    - LockFileName
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::Recover(VersionEdit* edit, bool* save_manifest)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:390,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:392,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:392,1
    - Dst: leveldb::DBImpl::status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:393,1
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:397,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:400,1
    - Dst: NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:402,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:403,1
    - Dst: leveldb::DBImpl::MaybeIgnoreError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:404,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:412,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:419,1
    - Dst: log::Reader::ReadRecord
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:428,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:428,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:429,1
    - Dst: LogReporter::Corruption
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:430,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:430,1
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:431,1
    - Dst: leveldb::WriteBatchInternal::SetContents
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:434,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:437,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:438,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:440,1
    - Dst: leveldb::DBImpl::MaybeIgnoreError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:441,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:442,1
    - Dst: leveldb::WriteBatchInternal::Sequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:445,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:446,1
    - Dst: MemTable*::ApproximateMemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:451,1
    - Dst: leveldb::DBImpl::WriteLevel0Table
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:454,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:455,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:457,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:468,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:469,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:470,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:471,1
    - Dst: GetFileSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:473,1
    - Dst: NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:474,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:475,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:475,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:476,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:483,1
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:484,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:491,1
    - Dst: leveldb::DBImpl::WriteLevel0Table
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:493,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:495,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 5
    argNames:
    - log_number
    - last_log
    - save_manifest
    - edit
    - max_sequence
    argTypes:
    - uint64_t
    - bool
    - bool*
    - VersionEdit*
    - SequenceNumber*
    assertStmts:
    - condition: (logfile_ == nullptr)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (log_ == nullptr)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (mem_ == nullptr)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 499
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 499
    functionName: leveldb::DBImpl::RecoverLogFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - AssertHeld
    - LogReporter::Corruption
    - leveldb::WriteBatchInternal::Sequence
    - LogFileName
    - NewSequentialFile
    - leveldb::DBImpl::status::ok
    - MemTable*::Ref
    - Status::ok
    - MemTable*::ApproximateMemoryUsage
    - ToString
    - MemTable*::Unref
    - leveldb::WriteBatchInternal::Count
    - leveldb::log::Reader::ReportCorruption
    - GetFileSize
    - leveldb::DBImpl::WriteLevel0Table
    - leveldb::DBImpl::MaybeIgnoreError
    - Ref
    - static_cast<int>
    - MemTable::MemTable
    - Log
    - Slice::size
    - leveldb::WriteBatchInternal::InsertInto
    - std::string::c_str
    - assert
    - log::Reader::ReadRecord
    - log::Writer::Writer
    - NewAppendableFile
    - leveldb::WriteBatchInternal::SetContents
    linkageType: ''
    returnType: Status
    signature: "Status DBImpl::RecoverLogFile(uint64_t log_number, bool last_log,\n
      \                             bool* save_manifest, VersionEdit* edit,\n                              SequenceNumber*
      max_sequence)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:390,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:392,1
    - Dst: leveldb::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:392,1
    - Dst: leveldb::status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - ' s'
    argTypes:
    - size_t
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: leveldb::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::Log
    - static_cast<int>
    - leveldb::status::ok
    - leveldb::ToString
    linkageType: ''
    returnType: void
    signature: void Corruption(size_t bytes, const Status& s) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:503,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:504,1
    - Dst: NewFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:506,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:507,1
    - Dst: MemTable*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:508,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:509,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:514,1
    - Dst: BuildTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:515,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:516,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:519,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:521,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:523,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:528,1
    - Dst: FileMetaData::smallest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:529,1
    - Dst: FileMetaData::largest::user_key
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:530,1
    - Dst: Version*::PickLevelForMemTableOutput
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:532,1
    - Dst: VersionEdit*::AddFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:534,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:539,1
    - Dst: leveldb::DBImpl::Add
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - mem
    - edit
    - base
    argTypes:
    - MemTable*
    - VersionEdit*
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 543
    functionName: leveldb::DBImpl::WriteLevel0Table
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 3
    functionsReached:
    - MemTable*::NewIterator
    - Version*::PickLevelForMemTableOutput
    - leveldb::DBImpl::Add
    - erase
    - FileMetaData::smallest::user_key
    - AssertHeld
    - VersionEdit*::AddFile
    - NowMicros
    - Log
    - Lock
    - FileMetaData::largest::user_key
    - BuildTable
    - Status::ToString
    - NewFileNumber
    - insert
    - Status::ok
    - Unlock
    linkageType: ''
    returnType: Status
    signature: "Status DBImpl::WriteLevel0Table(MemTable* mem, VersionEdit* edit,\n
      \                               Version* base)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:546,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:547,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:551,1
    - Dst: Version*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:552,1
    - Dst: leveldb::DBImpl::WriteLevel0Table
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:553,1
    - Dst: Version*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:554,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:556,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:556,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:557,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:561,1
    - Dst: VersionEdit::SetPrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:562,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:563,1
    - Dst: LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:564,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:567,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:569,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:571,1
    - Dst: leveldb::DBImpl::DeleteObsoleteFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:572,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (imm_ != nullptr)
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 576
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 576
    functionName: leveldb::DBImpl::CompactMemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - store
    - Version*::Ref
    - leveldb::DBImpl::WriteLevel0Table
    - AssertHeld
    - LogAndApply
    - VersionEdit::SetPrevLogNumber
    - load
    - Unref
    - Version*::Unref
    - leveldb::DBImpl::RecordBackgroundError
    - leveldb::IOError
    - current
    - assert
    - Status::ok
    - VersionEdit::SetLogNumber
    - leveldb::DBImpl::DeleteObsoleteFiles
    linkageType: ''
    returnType: void
    signature: void DBImpl::CompactMemTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:582,1
    - Dst: Version*::OverlapInLevel
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:584,1
    - Dst: leveldb::DBImpl::TEST_CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:589,1
    - Dst: leveldb::DBImpl::TEST_CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 593
    functionName: leveldb::DBImpl::CompactRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - current
    - Version*::OverlapInLevel
    - leveldb::DBImpl::TEST_CompactRange
    - leveldb::DBImpl::TEST_CompactMemTable
    linkageType: ''
    returnType: void
    signature: void DBImpl::CompactRange(const Slice* begin, const Slice* end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:597,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:598,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:608,1
    - Dst: InternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:614,1
    - Dst: static_cast<ValueType>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:614,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:619,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:620,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:623,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - level
    - begin
    - end
    argTypes:
    - int
    - Slice*
    - Slice*
    assertStmts:
    - condition: (level >= 0)
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (level + 1 < config::kNumLevels)
      pos:
        line_end: 597
        line_start: 597
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 632
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 632
    functionName: leveldb::DBImpl::TEST_CompactRange
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - load
    - Wait
    - static_cast<ValueType>
    - ok
    - InternalKey
    - assert
    - leveldb::DBImpl::MaybeScheduleCompaction
    linkageType: ''
    returnType: void
    signature: "void DBImpl::TEST_CompactRange(int level, const Slice* begin,\n                               const
      Slice* end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::Write
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:636,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:636,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:637,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:640,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 634
    functionDepth: 5
    functionLinenumber: 634
    functionLinenumberEnd: 648
    functionName: leveldb::DBImpl::TEST_CompactMemTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - WriteOptions
    - leveldb::DBImpl::Write
    - Wait
    - ok
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::TEST_CompactMemTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:651,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:652,1
    - Dst: SignalAll
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 656
    functionName: leveldb::DBImpl::RecordBackgroundError
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 5
    functionsReached:
    - AssertHeld
    - SignalAll
    - ok
    linkageType: ''
    returnType: void
    signature: void DBImpl::RecordBackgroundError(const Status& s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:659,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:662,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:664,1
    - Dst: NeedsCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:667,1
    - Dst: Schedule
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 673
    functionName: leveldb::DBImpl::MaybeScheduleCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 6
    functionsReached:
    - NeedsCompaction
    - AssertHeld
    - load
    - ok
    - Schedule
    linkageType: ''
    returnType: void
    signature: void DBImpl::MaybeScheduleCompaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DBImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - db
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 677
    functionName: leveldb::DBImpl::BGWork
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DBImpl*>
    linkageType: ''
    returnType: void
    signature: void DBImpl::BGWork(void* db)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:681,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:682,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:684,1
    - Dst: leveldb::DBImpl::BackgroundCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:687,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:694,1
    - Dst: SignalAll
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (background_compaction_scheduled_)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 696
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 696
    functionName: leveldb::DBImpl::BackgroundCall
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBImpl::BackgroundCompaction
    - load
    - ok
    - assert
    - leveldb::DBImpl::MaybeScheduleCompaction
    - SignalAll
    linkageType: ''
    returnType: void
    signature: void DBImpl::BackgroundCall()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:699,1
    - Dst: leveldb::DBImpl::CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:702,1
    - Dst: leveldb::DBImpl::CompactRange
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:711,1
    - Dst: Compaction*::input
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:714,1
    - Dst: Compaction*::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:714,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:716,1
    - Dst: ManualCompaction*::begin::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:718,1
    - Dst: ManualCompaction*::end::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:719,1
    - Dst: InternalKey::DebugString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:720,1
    - Dst: PickCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:722,1
    - Dst: Compaction*::IsTrivialMove
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:728,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:730,1
    - Dst: Compaction*::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:730,1
    - Dst: Compaction*::input
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:731,1
    - Dst: Compaction*::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:732,1
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:732,1
    - Dst: Compaction*::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:733,1
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:733,1
    - Dst: LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:735,1
    - Dst: Compaction*::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:735,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:736,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:737,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:740,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:741,1
    - Dst: Compaction*::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:741,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:742,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:743,1
    - Dst: LevelSummary
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:743,1
    - Dst: CompactionState::CompactionState
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:745,1
    - Dst: leveldb::DBImpl::DoCompactionWork
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:746,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:747,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:748,1
    - Dst: leveldb::DBImpl::CleanupCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:750,1
    - Dst: Compaction*::ReleaseInputs
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:751,1
    - Dst: leveldb::DBImpl::DeleteObsoleteFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:752,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:756,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:758,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:761,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:761,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:766,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (c->num_input_files(0) == 1)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 777
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 777
    functionName: leveldb::DBImpl::BackgroundCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - Compaction*::input
    - AssertHeld
    - load
    - CompactionState::CompactionState
    - leveldb::DBImpl::RecordBackgroundError
    - leveldb::DBImpl::DoCompactionWork
    - Status::ToString
    - leveldb::DBImpl::CleanupCompaction
    - Compaction*::ReleaseInputs
    - Status::ok
    - leveldb::DBImpl::CompactRange
    - InternalKey::DebugString
    - LevelSummary
    - Compaction*::level
    - Compaction*::num_input_files
    - LogAndApply
    - ManualCompaction*::begin::DebugString
    - Log
    - leveldb::DBImpl::CompactMemTable
    - PickCompaction
    - assert
    - Compaction*::IsTrivialMove
    - Compaction*::edit
    - ManualCompaction*::end::DebugString
    - static_cast<unsigned long long>
    - leveldb::DBImpl::DeleteObsoleteFiles
    linkageType: ''
    returnType: void
    signature: void DBImpl::BackgroundCompaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:780,1
    - Dst: CompactionState*::builder::Abandon
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:783,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:786,1
    - Dst: CompactionState*::outputs::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:789,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - compact
    argTypes:
    - CompactionState*
    assertStmts:
    - condition: (compact->outfile == nullptr)
      pos:
        line_end: 785
        line_start: 785
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: leveldb::DBImpl::CleanupCompaction
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - erase
    - AssertHeld
    - CompactionState*::outputs::size
    - CompactionState*::builder::Abandon
    - assert
    linkageType: ''
    returnType: void
    signature: void DBImpl::CleanupCompaction(CompactionState* compact)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:797,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:798,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:801,1
    - Dst: NewFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:802,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:803,1
    - Dst: CompactionState::Output::smallest::Clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:806,1
    - Dst: CompactionState::Output::largest::Clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:807,1
    - Dst: CompactionState*::outputs::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:808,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:809,1
    - Dst: TableFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:813,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:814,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:815,1
    - Dst: TableBuilder::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - compact
    argTypes:
    - CompactionState*
    assertStmts:
    - condition: (compact != nullptr)
      pos:
        line_end: 796
        line_start: 796
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->builder == nullptr)
      pos:
        line_end: 797
        line_start: 797
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 819
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 819
    functionName: leveldb::DBImpl::OpenCompactionOutputFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - TableFileName
    - Status::ok
    - assert
    - TableBuilder::TableBuilder
    - CompactionState*::outputs::push_back
    - Unlock
    - NewWritableFile
    - CompactionState::Output::smallest::Clear
    - NewFileNumber
    - insert
    - CompactionState::Output::largest::Clear
    - Lock
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::OpenCompactionOutputFile(CompactionState* compact)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:823,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:824,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:825,1
    - Dst: CompactionState*::current_output
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:827,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:828,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:831,1
    - Dst: CompactionState*::builder::NumEntries
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:832,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:833,1
    - Dst: CompactionState*::builder::Finish
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:834,1
    - Dst: CompactionState*::builder::Abandon
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:836,1
    - Dst: CompactionState*::builder::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:838,1
    - Dst: CompactionState*::current_output
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:839,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:845,1
    - Dst: CompactionState*::outfile::Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:846,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:848,1
    - Dst: CompactionState*::outfile::Close
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:849,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:854,1
    - Dst: leveldb::DBImpl::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:857,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:857,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:858,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:860,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:861,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - compact
    - input
    argTypes:
    - CompactionState*
    - Iterator*
    assertStmts:
    - condition: (compact != nullptr)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->builder != nullptr)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->outfile != nullptr)
      pos:
        line_end: 823
        line_start: 823
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (output_number != 0)
      pos:
        line_end: 827
        line_start: 827
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 868
      start: 821
    functionDepth: 3
    functionLinenumber: 821
    functionLinenumberEnd: 868
    functionName: leveldb::DBImpl::FinishCompactionOutputFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - CompactionState*::outfile::Sync
    - CompactionState*::builder::NumEntries
    - CompactionState*::builder::FileSize
    - CompactionState*::outfile::Close
    - CompactionState*::current_output
    - ReadOptions
    - CompactionState*::builder::Finish
    - CompactionState*::builder::Abandon
    - Log
    - CompactionState*::compaction::level
    - Iterator*::status
    - leveldb::DBImpl::NewIterator
    - assert
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status DBImpl::FinishCompactionOutputFile(CompactionState* compact,\n
      \                                         Iterator* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:871,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:872,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:873,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:873,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:874,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:874,1
    - Dst: static_cast<long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:875,1
    - Dst: CompactionState*::compaction::AddInputDeletions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:878,1
    - Dst: CompactionState*::compaction::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:878,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:879,1
    - Dst: CompactionState*::outputs::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:880,1
    - Dst: CompactionState*::compaction::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:882,1
    - Dst: LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:885,1
    - Dst: CompactionState*::compaction::edit
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - compact
    argTypes:
    - CompactionState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 886
    functionName: leveldb::DBImpl::InstallCompactionResults
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 1
    functionsReached:
    - CompactionState*::compaction::edit
    - AssertHeld
    - CompactionState*::compaction::AddInputDeletions
    - LogAndApply
    - CompactionState*::outputs::size
    - Log
    - CompactionState*::compaction::level
    - static_cast<long long>
    - CompactionState*::compaction::num_input_files
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::InstallCompactionResults(CompactionState* compact)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:889,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:892,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:893,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:893,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:894,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:895,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:897,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:897,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:897,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:898,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:899,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:900,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:901,1
    - Dst: oldest
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:903,1
    - Dst: MakeInputIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:906,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:909,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:911,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:917,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:917,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:919,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:920,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:921,1
    - Dst: leveldb::DBImpl::CompactMemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:923,1
    - Dst: SignalAll
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:925,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:927,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:928,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:931,1
    - Dst: CompactionState*::compaction::ShouldStopBefore
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:932,1
    - Dst: leveldb::DBImpl::FinishCompactionOutputFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:934,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:935,1
    - Dst: ParseInternalKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:942,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:944,1
    - Dst: leveldb::DBImpl::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:949,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:949,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:952,1
    - Dst: ParsedInternalKey::user_key::data
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:952,1
    - Dst: ParsedInternalKey::user_key::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:952,1
    - Dst: CompactionState*::compaction::IsBaseLevelForKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:962,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:976,1
    - Dst: ParsedInternalKey::user_key::ToString
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:979,1
    - Dst: CompactionState*::compaction::IsBaseLevelForKey
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:981,1
    - Dst: leveldb::DBImpl::OpenCompactionOutputFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:988,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:989,1
    - Dst: CompactionState*::builder::NumEntries
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:993,1
    - Dst: CompactionState*::current_output
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:994,1
    - Dst: DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:994,1
    - Dst: CompactionState*::current_output
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:996,1
    - Dst: DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:996,1
    - Dst: CompactionState*::builder::Add
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:997,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:997,1
    - Dst: CompactionState*::builder::FileSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1000,1
    - Dst: CompactionState*::compaction::MaxOutputFileSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1001,1
    - Dst: leveldb::DBImpl::FinishCompactionOutputFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1002,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1003,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1009,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1012,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1012,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1013,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1015,1
    - Dst: leveldb::DBImpl::FinishCompactionOutputFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1016,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1018,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1019,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1025,1
    - Dst: CompactionState*::compaction::num_input_files
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1027,1
    - Dst: CompactionState*::compaction::input
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1028,1
    - Dst: CompactionState*::outputs::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1031,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1035,1
    - Dst: CompactionState*::compaction::level
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1036,1
    - Dst: leveldb::DBImpl::Add
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1036,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1038,1
    - Dst: leveldb::DBImpl::InstallCompactionResults
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1039,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1041,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1042,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1045,1
    - Dst: LevelSummary
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1045,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 98
    argCount: 1
    argNames:
    - compact
    argTypes:
    - CompactionState*
    assertStmts:
    - condition: (versions_->NumLevelFiles(compact->compaction->level()) > 0)
      pos:
        line_end: 896
        line_start: 896
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->outfile == nullptr)
      pos:
        line_end: 898
        line_start: 898
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (compact->builder == nullptr)
      pos:
        line_end: 897
        line_start: 897
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 1047
      start: 888
    functionDepth: 4
    functionLinenumber: 888
    functionLinenumberEnd: 1047
    functionName: leveldb::DBImpl::DoCompactionWork
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - CompactionState*::builder::Add
    - CompactionState*::builder::FileSize
    - CompactionState*::compaction::ShouldStopBefore
    - Iterator*::value
    - CompactionState*::compaction::input
    - NowMicros
    - leveldb::DBImpl::user_comparator
    - load
    - CompactionState*::outputs::size
    - leveldb::DBImpl::RecordBackgroundError
    - Iterator*::Next
    - leveldb::DBImpl::InstallCompactionResults
    - leveldb::IOError
    - oldest
    - CompactionState*::compaction::IsBaseLevelForKey
    - leveldb::DBImpl::Add
    - Status::ok
    - Lock
    - CompactionState*::compaction::num_input_files
    - Iterator*::Valid
    - std::string::assign
    - LevelSummary
    - ParseInternalKey
    - Iterator*::status
    - LastSequence
    - CompactionState*::builder::NumEntries
    - empty
    - CompactionState*::current_output
    - Log
    - leveldb::DBImpl::FinishCompactionOutputFile
    - CompactionState*::compaction::MaxOutputFileSize
    - leveldb::DBImpl::CompactMemTable
    - NumLevelFiles
    - assert
    - ParsedInternalKey::user_key::data
    - MakeInputIterator
    - Unlock
    - SignalAll
    - DecodeFrom
    - Slice
    - Iterator*::SeekToFirst
    - Iterator*::key
    - ParsedInternalKey::user_key::size
    - CompactionState*::compaction::level
    - std::string::clear
    - ParsedInternalKey::user_key::ToString
    - leveldb::DBImpl::OpenCompactionOutputFile
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::DoCompactionWork(CompactionState* compact)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mutex
    - mem
    - imm
    - version
    argTypes:
    - port::Mutex*
    - MemTable*
    - MemTable*
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1058
    functionName: leveldb::IterState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterState(port::Mutex* mutex, MemTable* mem, MemTable* imm, Version*
      version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IterState*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1062,1
    - Dst: IterState*::mu::Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1063,1
    - Dst: IterState*::mem::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1064,1
    - Dst: IterState*::imm::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1065,1
    - Dst: IterState*::version::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1066,1
    - Dst: IterState*::mu::Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1069
    functionName: leveldb::CleanupIteratorState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - IterState*::mem::Unref
    - IterState*::mu::Unlock
    - IterState*::mu::Lock
    - reinterpret_cast<IterState*>
    - IterState*::imm::Unref
    - IterState*::version::Unref
    linkageType: ''
    returnType: void
    signature: void CleanupIteratorState(void* arg1, void* arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mutex
    - mem
    - imm
    - version
    argTypes:
    - port::Mutex*
    - MemTable*
    - MemTable*
    - Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1058
    functionName: leveldb::IterState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IterState(port::Mutex* mutex, MemTable* mem, MemTable* imm, Version*
      version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IterState*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1062,1
    - Dst: IterState*::mu::Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1063,1
    - Dst: IterState*::mem::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1064,1
    - Dst: IterState*::imm::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1065,1
    - Dst: IterState*::version::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1066,1
    - Dst: IterState*::mu::Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1069
    functionName: leveldb::CleanupIteratorState
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - IterState*::mem::Unref
    - IterState*::mu::Unlock
    - IterState*::mu::Lock
    - reinterpret_cast<IterState*>
    - IterState*::imm::Unref
    - IterState*::version::Unref
    linkageType: ''
    returnType: void
    signature: void CleanupIteratorState(void* arg1, void* arg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1076,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1081,1
    - Dst: leveldb::DBImpl::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1081,1
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1082,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1084,1
    - Dst: leveldb::DBImpl::NewIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1084,1
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1085,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1087,1
    - Dst: NewMergingIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1089,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1089,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1090,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1092,1
    - Dst: IterState::IterState
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1092,1
    - Dst: Iterator*::RegisterCleanup
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1093,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ' options'
    - latest_snapshot
    - seed
    argTypes:
    - ReadOptions
    - SequenceNumber*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1073
    functionDepth: 3
    functionLinenumber: 1073
    functionLinenumberEnd: 1098
    functionName: leveldb::DBImpl::NewInternalIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - Ref
    - Unlock
    - std::vector::push_back
    - NewMergingIterator
    - IterState::IterState
    - Iterator*::RegisterCleanup
    - current
    - leveldb::DBImpl::NewIterator
    - std::vector::size
    - LastSequence
    - Lock
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * DBImpl::NewInternalIterator(const ReadOptions& options,\n
      \                                     SequenceNumber* latest_snapshot,\n                                      uint32_t*
      seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::NewInternalIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1103,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    functionName: leveldb::DBImpl::TEST_NewInternalIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - ReadOptions
    - leveldb::DBImpl::NewInternalIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * DBImpl::TEST_NewInternalIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxNextLevelOverlappingBytes
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: leveldb::DBImpl::TEST_MaxNextLevelOverlappingBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - MaxNextLevelOverlappingBytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t DBImpl::TEST_MaxNextLevelOverlappingBytes()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SnapshotImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1118,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1120,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1125,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1126,1
    - Dst: MemTable*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1127,1
    - Dst: Version*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1128,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1135,1
    - Dst: MemTable*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1138,1
    - Dst: MemTable*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1140,1
    - Dst: Version*::Get
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1143,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1146,1
    - Dst: Version*::UpdateStats
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1149,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1150,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1152,1
    - Dst: MemTable*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1153,1
    - Dst: Version*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - ' options'
    - ' key'
    - value
    argTypes:
    - ReadOptions
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1156
    functionName: leveldb::DBImpl::Get
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - Version*::Ref
    - MemTable*::Unref
    - Unlock
    - leveldb::DBImpl::MaybeScheduleCompaction
    - Lock
    - Version*::UpdateStats
    - Version*::Unref
    - MemTable*::Ref
    - current
    - MemTable*::Get
    - Version*::Get
    - LastSequence
    - static_cast<const SnapshotImpl*>
    linkageType: ''
    returnType: Status
    signature: "Status DBImpl::Get(const ReadOptions& options, const Slice& key,\n
      \                  std::string* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::NewInternalIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1161,1
    - Dst: NewDBIterator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1162,1
    - Dst: leveldb::DBImpl::user_comparator
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1162,1
    - Dst: static_cast<const SnapshotImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ReadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1168
    functionName: leveldb::DBImpl::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 4
    functionsReached:
    - NewDBIterator
    - leveldb::DBImpl::user_comparator
    - leveldb::DBImpl::NewInternalIterator
    - static_cast<const SnapshotImpl*>
    linkageType: ''
    returnType: Iterator
    signature: Iterator * DBImpl::NewIterator(const ReadOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1172,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1175
    functionName: leveldb::DBImpl::RecordReadSample
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - current
    - leveldb::DBImpl::MaybeScheduleCompaction
    linkageType: ''
    returnType: void
    signature: void DBImpl::RecordReadSample(Slice key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1179,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1180
    functionName: leveldb::DBImpl::GetSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - New
    - LastSequence
    linkageType: ''
    returnType: Snapshot
    signature: Snapshot * DBImpl::GetSnapshot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DBImpl::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1184,1
    - Dst: static_cast<const SnapshotImpl*>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - snapshot
    argTypes:
    - Snapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1182
    functionDepth: 3
    functionLinenumber: 1182
    functionLinenumberEnd: 1185
    functionName: leveldb::DBImpl::ReleaseSnapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::DBImpl::Delete
    - static_cast<const SnapshotImpl*>
    linkageType: ''
    returnType: void
    signature: void DBImpl::ReleaseSnapshot(const Snapshot* snapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ModelDB::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' key'
    - ' val'
    argTypes:
    - WriteOptions
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1190
    functionName: leveldb::DBImpl::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - leveldb::ModelDB::Put
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::Put(const WriteOptions& o, const Slice& key, const Slice&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ModelDB::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' options'
    - ' key'
    argTypes:
    - WriteOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1194
    functionName: leveldb::DBImpl::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - leveldb::ModelDB::Delete
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::Delete(const WriteOptions& options, const Slice& key)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1203,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1204,1
    - Dst: Writer::cv::Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1205,1
    - Dst: leveldb::DBImpl::MakeRoomForWrite
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1212,1
    - Dst: LastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1213,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1215,1
    - Dst: leveldb::DBImpl::BuildBatchGroup
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1216,1
    - Dst: leveldb::WriteBatchInternal::SetSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1217,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1218,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1225,1
    - Dst: AddRecord
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1226,1
    - Dst: leveldb::WriteBatchInternal::Contents
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1226,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1228,1
    - Dst: Sync
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1229,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1230,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1234,1
    - Dst: leveldb::WriteBatchInternal::InsertInto
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1235,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1237,1
    - Dst: leveldb::DBImpl::RecordBackgroundError
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1242,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1245,1
    - Dst: SetLastSequence
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1247,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1251,1
    - Dst: pop_front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1252,1
    - Dst: Writer*::cv::Signal
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1256,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1262,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1263,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1263,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - ' options'
    - updates
    argTypes:
    - WriteOptions
    - WriteBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1196
    functionDepth: 5
    functionLinenumber: 1196
    functionLinenumberEnd: 1267
    functionName: leveldb::DBImpl::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - leveldb::DBImpl::MakeRoomForWrite
    - AddRecord
    - Writer*::cv::Signal
    - leveldb::DBImpl::RecordBackgroundError
    - Status::ok
    - Lock
    - pop_front
    - leveldb::WriteBatchInternal::SetSequence
    - leveldb::WriteBatchInternal::Count
    - leveldb::DBImpl::BuildBatchGroup
    - LastSequence
    - SetLastSequence
    - Writer::cv::Wait
    - empty
    - Sync
    - leveldb::WriteBatchInternal::InsertInto
    - Unlock
    - Signal
    - push_back
    - leveldb::WriteBatchInternal::Contents
    - Clear
    - front
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::Write(const WriteOptions& options, WriteBatch* updates)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1272,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1273,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1273,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1274,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1276,1
    - Dst: leveldb::WriteBatchInternal::ByteSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1278,1
    - Dst: begin
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1289,1
    - Dst: end
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1291,1
    - Dst: leveldb::WriteBatchInternal::ByteSize
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1299,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1309,1
    - Dst: leveldb::WriteBatchInternal::Count
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1309,1
    - Dst: leveldb::WriteBatchInternal::Append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1310,1
    - Dst: leveldb::WriteBatchInternal::Append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - last_writer
    argTypes:
    - Writer**
    assertStmts:
    - condition: (result != nullptr)
      pos:
        line_end: 1275
        line_start: 1275
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (!writers_.empty())
      pos:
        line_end: 1272
        line_start: 1272
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (WriteBatchInternal::Count(result) == 0)
      pos:
        line_end: 1308
        line_start: 1308
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 1317
      start: 1271
    functionDepth: 4
    functionLinenumber: 1271
    functionLinenumberEnd: 1317
    functionName: leveldb::DBImpl::BuildBatchGroup
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - end
    - empty
    - AssertHeld
    - front
    - begin
    - leveldb::WriteBatchInternal::Count
    - leveldb::WriteBatchInternal::Append
    - assert
    - leveldb::WriteBatchInternal::ByteSize
    linkageType: ''
    returnType: WriteBatch
    signature: WriteBatch * DBImpl::BuildBatchGroup(Writer** last_writer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1322,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1323,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1323,1
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1327,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1331,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1339,1
    - Dst: SleepForMicroseconds
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1340,1
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1342,1
    - Dst: ApproximateMemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1344,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1350,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1351,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1352,1
    - Dst: Log
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1354,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1355,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1358,1
    - Dst: PrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1358,1
    - Dst: NewFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1359,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1361,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1361,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1362,1
    - Dst: ReuseFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1364,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1371,1
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1373,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1374,1
    - Dst: Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1375,1
    - Dst: leveldb::DBImpl::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1377,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts:
    - condition: (!writers_.empty())
      pos:
        line_end: 1322
        line_start: 1322
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    - condition: (versions_->PrevLogNumber() == 0)
      pos:
        line_end: 1357
        line_start: 1357
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 1381
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1381
    functionName: leveldb::DBImpl::MakeRoomForWrite
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 2
    functionsReached:
    - AssertHeld
    - LogFileName
    - NewWritableFile
    - Wait
    - NewFileNumber
    - Status::ok
    - Lock
    - ApproximateMemoryUsage
    - ReuseFileNumber
    - SleepForMicroseconds
    - PrevLogNumber
    - empty
    - Ref
    - MemTable::MemTable
    - Log
    - ok
    - NumLevelFiles
    - assert
    - Unlock
    - store
    - log::Writer::Writer
    - leveldb::DBImpl::MaybeScheduleCompaction
    linkageType: ''
    returnType: Status
    signature: Status DBImpl::MakeRoomForWrite(bool force)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1384,1
    - Dst: Slice::starts_with
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1389,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1390,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1390,1
    - Dst: Slice::starts_with
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1392,1
    - Dst: Slice::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1393,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1393,1
    - Dst: ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1395,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1395,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1400,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1401,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1401,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1407,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1411,1
    - Dst: NumLevelFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1413,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1415,1
    - Dst: NumLevelBytes
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1416,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1420,1
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1425,1
    - Dst: block_cache::TotalCharge
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1428,1
    - Dst: ApproximateMemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1430,1
    - Dst: ApproximateMemoryUsage
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1433,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1436,1
    - Dst: static_cast<unsigned long long>
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1437,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1438,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - ' property'
    - value
    argTypes:
    - Slice
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1443
    functionName: leveldb::DBImpl::GetProperty
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - ApproximateMemoryUsage
    - std::string*::clear
    - Slice::remove_prefix
    - strlen
    - ConsumeDecimalNumber
    - Slice::starts_with
    - static_cast<int>
    - block_cache::TotalCharge
    - Slice::size
    - std::string*::append
    - snprintf
    - NumLevelFiles
    - static_cast<unsigned long long>
    - current
    - NumLevelBytes
    - Slice::empty
    linkageType: ''
    returnType: bool
    signature: bool DBImpl::GetProperty(const Slice& property, std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: current
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1448,1
    - Dst: Version*::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1449,1
    - Dst: ApproximateOffsetOf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1455,1
    - Dst: ApproximateOffsetOf
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1456,1
    - Dst: Version*::Unref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - range
    - n
    - sizes
    argTypes:
    - Range*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1461
    functionName: leveldb::DBImpl::GetApproximateSizes
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - Version*::Unref
    - current
    - Version*::Ref
    - ApproximateOffsetOf
    linkageType: ''
    returnType: void
    signature: void DBImpl::GetApproximateSizes(const Range* range, int n, uint64_t*
      sizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1467,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' opt'
    - ' key'
    - ' value'
    argTypes:
    - WriteOptions
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1469
    functionName: leveldb::DB::Put
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - WriteBatch::Put
    - Write
    linkageType: ''
    returnType: Status
    signature: Status DB::Put(const WriteOptions& opt, const Slice& key, const Slice&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1473,1
    - Dst: Write
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' opt'
    - ' key'
    argTypes:
    - WriteOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1475
    functionName: leveldb::DB::Delete
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached:
    - Write
    - WriteBatch::Delete
    linkageType: ''
    returnType: Status
    signature: Status DB::Delete(const WriteOptions& opt, const Slice& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1477
    functionName: DB::~DB()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DB::~DB()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DBImpl::DBImpl
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1482,1
    - Dst: DBImpl*::mutex_::Lock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1483,1
    - Dst: DBImpl*::Recover
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1487,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1488,1
    - Dst: DBImpl*::versions_::NewFileNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1490,1
    - Dst: env::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1492,1
    - Dst: LogFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1492,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1494,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1495,1
    - Dst: log::Writer::Writer
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1498,1
    - Dst: MemTable::MemTable
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1499,1
    - Dst: DBImpl*::mem_::Ref
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1500,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1503,1
    - Dst: VersionEdit::SetPrevLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1504,1
    - Dst: VersionEdit::SetLogNumber
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1505,1
    - Dst: DBImpl*::versions_::LogAndApply
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1506,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1508,1
    - Dst: DBImpl*::DeleteObsoleteFiles
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1509,1
    - Dst: DBImpl*::MaybeScheduleCompaction
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1510,1
    - Dst: DBImpl*::mutex_::Unlock
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1512,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1513,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - ' options'
    - ' dbname'
    - dbptr
    argTypes:
    - Options
    - std::string
    - DB**
    assertStmts:
    - condition: (impl->mem_ != nullptr)
      pos:
        line_end: 1513
        line_start: 1513
        source_file: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    constantsTouched: []
    func_position:
      end: 1520
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1520
    functionName: leveldb::DB::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 20
    functionsReached:
    - DBImpl*::versions_::NewFileNumber
    - env::NewWritableFile
    - DBImpl*::mutex_::Unlock
    - VersionEdit::SetPrevLogNumber
    - log::Writer::Writer
    - MemTable::MemTable
    - DBImpl*::mem_::Ref
    - DBImpl*::versions_::LogAndApply
    - LogFileName
    - DBImpl*::Recover
    - DBImpl*::DeleteObsoleteFiles
    - DBImpl*::mutex_::Lock
    - assert
    - DBImpl::DBImpl
    - Status::ok
    - VersionEdit::SetLogNumber
    - DBImpl*::MaybeScheduleCompaction
    linkageType: ''
    returnType: Status
    signature: Status DB::Open(const Options& options, const std::string& dbname,
      DB** dbptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1522
    functionName: Snapshot::~Snapshot()
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Snapshot::~Snapshot()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Env*::GetChildren
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1527,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1528,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1530,1
    - Dst: leveldb::LockFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1534,1
    - Dst: Env*::LockFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1535,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1536,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1539,1
    - Dst: leveldb::ParseFileName
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1540,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1542,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1543,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1543,1
    - Dst: Env*::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1548,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1549,1
    - Dst: Env*::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/db/db_impl.cc:1550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' dbname'
    - ' options'
    argTypes:
    - std::string
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1553
    functionName: leveldb::DestroyDB
    functionSourceFile: /src/bitcoin-core/src/leveldb/db/db_impl.cc
    functionUses: 14
    functionsReached:
    - Env*::UnlockFile
    - leveldb::LockFileName
    - Env*::DeleteFile
    - leveldb::ParseFileName
    - Env*::GetChildren
    - leveldb::OK
    - Env*::LockFile
    - Env*::DeleteDir
    - std::vector::size
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status DestroyDB(const std::string& dbname, const Options& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Mutex
      Src: /src/bitcoin-core/src/leveldb/port/port_example.h:26,1
    - Dst: leveldb::port::ASSERT_EXCLUSIVE_LOCK
      Src: /src/bitcoin-core/src/leveldb/port/port_example.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_example.h
    functionUses: 1
    functionsReached:
    - leveldb::port::Mutex
    - leveldb::port::ASSERT_EXCLUSIVE_LOCK
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE Mutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Mutex
      Src: /src/bitcoin-core/src/leveldb/port/port_example.h:26,1
    - Dst: leveldb::port::ASSERT_EXCLUSIVE_LOCK
      Src: /src/bitcoin-core/src/leveldb/port/port_example.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_example.h
    functionUses: 2
    functionsReached:
    - leveldb::port::Mutex
    - leveldb::port::ASSERT_EXCLUSIVE_LOCK
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE Mutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Mutex
      Src: /src/bitcoin-core/src/leveldb/port/port_example.h:26,1
    - Dst: leveldb::port::ASSERT_EXCLUSIVE_LOCK
      Src: /src/bitcoin-core/src/leveldb/port/port_example.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_example.h
    functionUses: 3
    functionsReached:
    - leveldb::port::Mutex
    - leveldb::port::ASSERT_EXCLUSIVE_LOCK
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE Mutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Mutex
      Src: /src/bitcoin-core/src/leveldb/port/port_example.h:26,1
    - Dst: leveldb::port::ASSERT_EXCLUSIVE_LOCK
      Src: /src/bitcoin-core/src/leveldb/port/port_example.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_example.h
    functionUses: 4
    functionsReached:
    - leveldb::port::Mutex
    - leveldb::port::ASSERT_EXCLUSIVE_LOCK
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE Mutex
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: THREAD_ANNOTATION_ATTRIBUTE__
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_ANNOTATION_ATTRIBUTE__(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GUARDED_BY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: PT_GUARDED_BY
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_GUARDED_BY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: ACQUIRED_AFTER
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACQUIRED_AFTER(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: ACQUIRED_BEFORE
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACQUIRED_BEFORE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCLUSIVE_LOCKS_REQUIRED(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: SHARED_LOCKS_REQUIRED
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHARED_LOCKS_REQUIRED(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCKS_EXCLUDED(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: LOCK_RETURNED
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK_RETURNED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCLUSIVE_LOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: SHARED_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHARED_LOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: EXCLUSIVE_TRYLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCLUSIVE_TRYLOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: SHARED_TRYLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHARED_TRYLOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK_FUNCTION(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: ASSERT_EXCLUSIVE_LOCK
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_EXCLUSIVE_LOCK(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: ASSERT_SHARED_LOCK
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/thread_annotations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_SHARED_LOCK(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Mutex
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:49,1
    - Dst: lock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:55,1
    - Dst: unlock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 5
    functionsReached:
    - leveldb::port::Mutex
    - unlock
    - lock
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE Mutex
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~Mutex()
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mutex(const Mutex&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::port::EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::port::UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: leveldb::port::ASSERT_EXCLUSIVE_LOCK
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASSERT_EXCLUSIVE_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mu
    argTypes:
    - Mutex*
    assertStmts:
    - condition: (mu != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: leveldb::port::CondVar::CondVar
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CondVar(Mutex* mu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~CondVar()
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CondVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: leveldb::port::CondVar::CondVar
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CondVar(const CondVar&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(const CondVar&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondVar
    signature: CondVar & operator=(const CondVar&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:75,1
    - Dst: std::unique_lock::release
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: leveldb::port::CondVar::Wait
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - std::unique_lock::release
    - wait
    linkageType: ''
    returnType: void
    signature: void Wait()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_one
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: leveldb::port::CondVar::Signal
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - notify_one
    linkageType: ''
    returnType: void
    signature: void Signal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::port::CondVar::SignalAll
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - notify_all
    linkageType: ''
    returnType: void
    signature: void SignalAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:89,1
    - Dst: snappy::MaxCompressedLength
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:89,1
    - Dst: snappy::RawCompress
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:91,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - input
    - length
    - output
    argTypes:
    - char*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: leveldb::port::Snappy_Compress
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    - snappy::MaxCompressedLength
    - snappy::RawCompress
    linkageType: ''
    returnType: bool
    signature: "bool Snappy_Compress(const char* input, size_t length,\n                            std::string*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Snappy_GetUncompressedLength
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - result
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: leveldb::port::Snappy_GetUncompressedLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 1
    functionsReached:
    - leveldb::port::Snappy_GetUncompressedLength
    linkageType: ''
    returnType: bool
    signature: "bool Snappy_GetUncompressedLength(const char* input, size_t length,\n
      \                                        size_t* result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::RawUncompress
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - output
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: leveldb::port::Snappy_Uncompress
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - snappy::RawUncompress
    linkageType: ''
    returnType: bool
    signature: bool Snappy_Uncompress(const char* input, size_t length, char* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: leveldb::port::GetHeapProfile
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetHeapProfile(void (*func)(void*, const char*, int), void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:138,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - crc
    - buf
    - size
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: leveldb::port::AcceleratedCRC32C
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AcceleratedCRC32C(uint32_t crc, const char* buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Mutex
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:49,1
    - Dst: lock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:55,1
    - Dst: unlock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 6
    functionsReached:
    - leveldb::port::Mutex
    - unlock
    - lock
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE Mutex
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~Mutex()
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mutex(const Mutex&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::port::EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::port::UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: leveldb::port::ASSERT_EXCLUSIVE_LOCK
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASSERT_EXCLUSIVE_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mu
    argTypes:
    - Mutex*
    assertStmts:
    - condition: (mu != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: leveldb::port::CondVar::CondVar
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CondVar(Mutex* mu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~CondVar()
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CondVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: leveldb::port::CondVar::CondVar
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CondVar(const CondVar&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(const CondVar&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondVar
    signature: CondVar & operator=(const CondVar&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:75,1
    - Dst: std::unique_lock::release
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: leveldb::port::CondVar::Wait
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - std::unique_lock::release
    - wait
    linkageType: ''
    returnType: void
    signature: void Wait()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_one
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: leveldb::port::CondVar::Signal
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - notify_one
    linkageType: ''
    returnType: void
    signature: void Signal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::port::CondVar::SignalAll
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - notify_all
    linkageType: ''
    returnType: void
    signature: void SignalAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:89,1
    - Dst: snappy::MaxCompressedLength
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:89,1
    - Dst: snappy::RawCompress
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:91,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - input
    - length
    - output
    argTypes:
    - char*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: leveldb::port::Snappy_Compress
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    - snappy::MaxCompressedLength
    - snappy::RawCompress
    linkageType: ''
    returnType: bool
    signature: "bool Snappy_Compress(const char* input, size_t length,\n                            std::string*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Snappy_GetUncompressedLength
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - result
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: leveldb::port::Snappy_GetUncompressedLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 2
    functionsReached:
    - leveldb::port::Snappy_GetUncompressedLength
    linkageType: ''
    returnType: bool
    signature: "bool Snappy_GetUncompressedLength(const char* input, size_t length,\n
      \                                        size_t* result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::RawUncompress
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - output
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: leveldb::port::Snappy_Uncompress
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - snappy::RawUncompress
    linkageType: ''
    returnType: bool
    signature: bool Snappy_Uncompress(const char* input, size_t length, char* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: leveldb::port::GetHeapProfile
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetHeapProfile(void (*func)(void*, const char*, int), void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:138,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - crc
    - buf
    - size
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: leveldb::port::AcceleratedCRC32C
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AcceleratedCRC32C(uint32_t crc, const char* buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Mutex
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:49,1
    - Dst: lock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:55,1
    - Dst: unlock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 7
    functionsReached:
    - leveldb::port::Mutex
    - unlock
    - lock
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE Mutex
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~Mutex()
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mutex(const Mutex&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::port::EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::port::UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: leveldb::port::ASSERT_EXCLUSIVE_LOCK
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASSERT_EXCLUSIVE_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mu
    argTypes:
    - Mutex*
    assertStmts:
    - condition: (mu != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: leveldb::port::CondVar::CondVar
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CondVar(Mutex* mu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~CondVar()
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CondVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: leveldb::port::CondVar::CondVar
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CondVar(const CondVar&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(const CondVar&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondVar
    signature: CondVar & operator=(const CondVar&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:75,1
    - Dst: std::unique_lock::release
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: leveldb::port::CondVar::Wait
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - std::unique_lock::release
    - wait
    linkageType: ''
    returnType: void
    signature: void Wait()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_one
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: leveldb::port::CondVar::Signal
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - notify_one
    linkageType: ''
    returnType: void
    signature: void Signal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::port::CondVar::SignalAll
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - notify_all
    linkageType: ''
    returnType: void
    signature: void SignalAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:89,1
    - Dst: snappy::MaxCompressedLength
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:89,1
    - Dst: snappy::RawCompress
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:91,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - input
    - length
    - output
    argTypes:
    - char*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: leveldb::port::Snappy_Compress
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    - snappy::MaxCompressedLength
    - snappy::RawCompress
    linkageType: ''
    returnType: bool
    signature: "bool Snappy_Compress(const char* input, size_t length,\n                            std::string*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Snappy_GetUncompressedLength
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - result
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: leveldb::port::Snappy_GetUncompressedLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 3
    functionsReached:
    - leveldb::port::Snappy_GetUncompressedLength
    linkageType: ''
    returnType: bool
    signature: "bool Snappy_GetUncompressedLength(const char* input, size_t length,\n
      \                                        size_t* result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::RawUncompress
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - output
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: leveldb::port::Snappy_Uncompress
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - snappy::RawUncompress
    linkageType: ''
    returnType: bool
    signature: bool Snappy_Uncompress(const char* input, size_t length, char* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: leveldb::port::GetHeapProfile
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetHeapProfile(void (*func)(void*, const char*, int), void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:138,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - crc
    - buf
    - size
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: leveldb::port::AcceleratedCRC32C
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AcceleratedCRC32C(uint32_t crc, const char* buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Mutex
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:49,1
    - Dst: lock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:55,1
    - Dst: unlock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 8
    functionsReached:
    - leveldb::port::Mutex
    - unlock
    - lock
    linkageType: ''
    returnType: class LOCKABLE
    signature: class LOCKABLE Mutex
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~Mutex()
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: leveldb::port::Mutex
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mutex(const Mutex&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::port::EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::port::UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: leveldb::port::ASSERT_EXCLUSIVE_LOCK
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASSERT_EXCLUSIVE_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mu
    argTypes:
    - Mutex*
    assertStmts:
    - condition: (mu != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: leveldb::port::CondVar::CondVar
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CondVar(Mutex* mu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~CondVar()
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CondVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: leveldb::port::CondVar::CondVar
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CondVar(const CondVar&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(const CondVar&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondVar
    signature: CondVar & operator=(const CondVar&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:75,1
    - Dst: std::unique_lock::release
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: leveldb::port::CondVar::Wait
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - std::unique_lock::release
    - wait
    linkageType: ''
    returnType: void
    signature: void Wait()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_one
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: leveldb::port::CondVar::Signal
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - notify_one
    linkageType: ''
    returnType: void
    signature: void Signal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::port::CondVar::SignalAll
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - notify_all
    linkageType: ''
    returnType: void
    signature: void SignalAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:89,1
    - Dst: snappy::MaxCompressedLength
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:89,1
    - Dst: snappy::RawCompress
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:91,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - input
    - length
    - output
    argTypes:
    - char*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: leveldb::port::Snappy_Compress
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    - snappy::MaxCompressedLength
    - snappy::RawCompress
    linkageType: ''
    returnType: bool
    signature: "bool Snappy_Compress(const char* input, size_t length,\n                            std::string*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::Snappy_GetUncompressedLength
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - result
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: leveldb::port::Snappy_GetUncompressedLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 4
    functionsReached:
    - leveldb::port::Snappy_GetUncompressedLength
    linkageType: ''
    returnType: bool
    signature: "bool Snappy_GetUncompressedLength(const char* input, size_t length,\n
      \                                        size_t* result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::RawUncompress
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - output
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: leveldb::port::Snappy_Uncompress
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - snappy::RawUncompress
    linkageType: ''
    returnType: bool
    signature: bool Snappy_Uncompress(const char* input, size_t length, char* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: leveldb::port::GetHeapProfile
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetHeapProfile(void (*func)(void*, const char*, int), void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:138,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - crc
    - buf
    - size
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: leveldb::port::AcceleratedCRC32C
    functionSourceFile: /src/bitcoin-core/src/leveldb/port/port_stdcxx.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AcceleratedCRC32C(uint32_t crc, const char* buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Comparator
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/comparator.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 55
    functionName: leveldb::Comparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/comparator.h
    functionUses: 1
    functionsReached:
    - leveldb::Comparator
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Comparator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Comparator
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/comparator.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 55
    functionName: leveldb::Comparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/comparator.h
    functionUses: 2
    functionsReached:
    - leveldb::Comparator
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Comparator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 190
    functionName: leveldb::Env
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached:
    - leveldb::Env
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Env
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: leveldb::Env
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Env(const Env&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SequentialFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 223
    functionName: leveldb::SequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached:
    - leveldb::SequentialFile
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT SequentialFile
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: leveldb::SequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SequentialFile(const SequentialFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: leveldb::RandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached:
    - leveldb::RandomAccessFile
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT RandomAccessFile
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: leveldb::RandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomAccessFile(const RandomAccessFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WritableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 270
    functionName: leveldb::WritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached:
    - leveldb::WritableFile
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT WritableFile
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: leveldb::WritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile(const WritableFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Logger
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: leveldb::Logger
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached:
    - leveldb::Logger
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Logger
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: leveldb::Logger
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger(const Logger&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FileLock
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: leveldb::FileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached:
    - leveldb::FileLock
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT FileLock
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: leveldb::FileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileLock(const FileLock&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:326,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:330,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:333,1
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:336,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:339,1
    - Dst: leveldb::GetChildren
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:343,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:346,1
    - Dst: leveldb::CreateDir
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:349,1
    - Dst: leveldb::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:352,1
    - Dst: leveldb::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:355,1
    - Dst: leveldb::RenameFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:358,1
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:361,1
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:363,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:365,1
    - Dst: leveldb::StartThread
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:368,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:371,1
    - Dst: leveldb::NewLogger
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:374,1
    - Dst: leveldb::NowMicros
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:376,1
    - Dst: leveldb::SleepForMicroseconds
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 383
    functionName: leveldb::EnvWrapper
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 0
    functionsReached:
    - leveldb::NewRandomAccessFile
    - leveldb::NowMicros
    - leveldb::GetChildren
    - leveldb::GetFileSize
    - leveldb::RenameFile
    - leveldb::NewWritableFile
    - leveldb::NewSequentialFile
    - leveldb::LockFile
    - leveldb::NewAppendableFile
    - leveldb::GetTestDirectory
    - leveldb::FileExists
    - leveldb::CreateDir
    - leveldb::DeleteDir
    - leveldb::StartThread
    - leveldb::NewLogger
    - leveldb::Schedule
    - leveldb::UnlockFile
    - leveldb::DeleteFile
    - leveldb::SleepForMicroseconds
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT EnvWrapper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: leveldb::target
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Env
    signature: Env * target() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: leveldb::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::NewSequentialFile
    linkageType: ''
    returnType: Status
    signature: Status NewSequentialFile(const std::string& f, SequentialFile** r)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: leveldb::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::NewRandomAccessFile
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& f,\n                             RandomAccessFile**
      r) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: leveldb::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::NewWritableFile
    linkageType: ''
    returnType: Status
    signature: Status NewWritableFile(const std::string& f, WritableFile** r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: leveldb::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::NewAppendableFile
    linkageType: ''
    returnType: Status
    signature: Status NewAppendableFile(const std::string& f, WritableFile** r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: leveldb::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::FileExists
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& f) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetChildren
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dir'
    - r
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: leveldb::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::GetChildren
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& dir,\n                     std::vector<std::string>*
      r) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: leveldb::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::DeleteFile
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& f) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CreateDir
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' d'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: leveldb::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::CreateDir
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& d) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' d'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: leveldb::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::DeleteDir
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& d) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - s
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: leveldb::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::GetFileSize
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& f, uint64_t* s) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RenameFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' t'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: leveldb::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::RenameFile
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& s, const std::string& t) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - l
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: leveldb::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::LockFile
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& f, FileLock** l) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: leveldb::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::UnlockFile
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* l) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: leveldb::Schedule
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::Schedule
    linkageType: ''
    returnType: void
    signature: void Schedule(void (*f)(void*), void* a) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::StartThread
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: leveldb::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::StartThread
    linkageType: ''
    returnType: void
    signature: void StartThread(void (*f)(void*), void* a) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: leveldb::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* path) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewLogger
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: leveldb::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::NewLogger
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& fname, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NowMicros
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: leveldb::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::NowMicros
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SleepForMicroseconds
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: leveldb::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::SleepForMicroseconds
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 190
    functionName: leveldb::Env
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::Env
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Env
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: leveldb::Env
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Env(const Env&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SequentialFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 223
    functionName: leveldb::SequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::SequentialFile
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT SequentialFile
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: leveldb::SequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SequentialFile(const SequentialFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: leveldb::RandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::RandomAccessFile
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT RandomAccessFile
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: leveldb::RandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomAccessFile(const RandomAccessFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WritableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 270
    functionName: leveldb::WritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::WritableFile
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT WritableFile
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: leveldb::WritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile(const WritableFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Logger
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: leveldb::Logger
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::Logger
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Logger
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: leveldb::Logger
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger(const Logger&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FileLock
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: leveldb::FileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached:
    - leveldb::FileLock
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT FileLock
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: leveldb::FileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileLock(const FileLock&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:326,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:330,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:333,1
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:336,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:339,1
    - Dst: leveldb::GetChildren
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:343,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:346,1
    - Dst: leveldb::CreateDir
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:349,1
    - Dst: leveldb::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:352,1
    - Dst: leveldb::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:355,1
    - Dst: leveldb::RenameFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:358,1
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:361,1
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:363,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:365,1
    - Dst: leveldb::StartThread
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:368,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:371,1
    - Dst: leveldb::NewLogger
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:374,1
    - Dst: leveldb::NowMicros
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:376,1
    - Dst: leveldb::SleepForMicroseconds
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 383
    functionName: leveldb::EnvWrapper
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 0
    functionsReached:
    - leveldb::NewRandomAccessFile
    - leveldb::NowMicros
    - leveldb::GetChildren
    - leveldb::GetFileSize
    - leveldb::RenameFile
    - leveldb::NewWritableFile
    - leveldb::NewSequentialFile
    - leveldb::LockFile
    - leveldb::NewAppendableFile
    - leveldb::GetTestDirectory
    - leveldb::FileExists
    - leveldb::CreateDir
    - leveldb::DeleteDir
    - leveldb::StartThread
    - leveldb::NewLogger
    - leveldb::Schedule
    - leveldb::UnlockFile
    - leveldb::DeleteFile
    - leveldb::SleepForMicroseconds
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT EnvWrapper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: leveldb::target
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Env
    signature: Env * target() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: leveldb::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::NewSequentialFile
    linkageType: ''
    returnType: Status
    signature: Status NewSequentialFile(const std::string& f, SequentialFile** r)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: leveldb::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::NewRandomAccessFile
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& f,\n                             RandomAccessFile**
      r) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: leveldb::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::NewWritableFile
    linkageType: ''
    returnType: Status
    signature: Status NewWritableFile(const std::string& f, WritableFile** r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - r
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: leveldb::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::NewAppendableFile
    linkageType: ''
    returnType: Status
    signature: Status NewAppendableFile(const std::string& f, WritableFile** r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: leveldb::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 6
    functionsReached:
    - leveldb::FileExists
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& f) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetChildren
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dir'
    - r
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: leveldb::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::GetChildren
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& dir,\n                     std::vector<std::string>*
      r) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: leveldb::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::DeleteFile
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& f) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CreateDir
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' d'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: leveldb::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::CreateDir
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& d) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DeleteDir
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' d'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: leveldb::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 6
    functionsReached:
    - leveldb::DeleteDir
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& d) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - s
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: leveldb::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::GetFileSize
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& f, uint64_t* s) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::RenameFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' t'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: leveldb::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::RenameFile
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& s, const std::string& t) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - l
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: leveldb::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::LockFile
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& f, FileLock** l) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: leveldb::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::UnlockFile
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* l) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: leveldb::Schedule
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::Schedule
    linkageType: ''
    returnType: void
    signature: void Schedule(void (*f)(void*), void* a) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::StartThread
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: leveldb::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 6
    functionsReached:
    - leveldb::StartThread
    linkageType: ''
    returnType: void
    signature: void StartThread(void (*f)(void*), void* a) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: leveldb::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* path) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewLogger
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: leveldb::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::NewLogger
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& fname, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NowMicros
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: leveldb::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 4
    functionsReached:
    - leveldb::NowMicros
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SleepForMicroseconds
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/env.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: leveldb::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/env.h
    functionUses: 6
    functionsReached:
    - leveldb::SleepForMicroseconds
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/options.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 143
    functionName: leveldb::Options
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 17
    functionsReached:
    - leveldb::Options
    linkageType: ''
    returnType: struct LEVELDB_EXPORT
    signature: struct LEVELDB_EXPORT Options
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 162
    functionName: leveldb::ReadOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: struct LEVELDB_EXPORT
    signature: struct LEVELDB_EXPORT ReadOptions
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: leveldb::ReadOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: leveldb::WriteOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: struct LEVELDB_EXPORT
    signature: struct LEVELDB_EXPORT WriteOptions
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: leveldb::WriteOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/options.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 143
    functionName: leveldb::Options
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 18
    functionsReached:
    - leveldb::Options
    linkageType: ''
    returnType: struct LEVELDB_EXPORT
    signature: struct LEVELDB_EXPORT Options
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 162
    functionName: leveldb::ReadOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: struct LEVELDB_EXPORT
    signature: struct LEVELDB_EXPORT ReadOptions
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: leveldb::ReadOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: leveldb::WriteOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: struct LEVELDB_EXPORT
    signature: struct LEVELDB_EXPORT WriteOptions
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: leveldb::WriteOptions
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/options.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:27,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:37,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:40,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:41,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:43,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:44,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:46,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:47,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:49,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:50,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:52,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:53,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:60,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:63,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:66,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:69,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:72,1
    - Dst: static_cast<Code>
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 101
    functionName: leveldb::Status
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 1
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    - leveldb::code
    - static_cast<Code>
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~Status()
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: leveldb::Status
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status(Status&& rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::OK
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 84
    functionsReached:
    - leveldb::Status
    linkageType: ''
    returnType: Status
    signature: Status OK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:40,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: leveldb::NotFound
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status NotFound(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:43,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: leveldb::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status Corruption(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:46,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: leveldb::NotSupported
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status NotSupported(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:49,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: leveldb::InvalidArgument
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 6
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status InvalidArgument(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:52,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: leveldb::IOError
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 18
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status IOError(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: leveldb::ok
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: leveldb::IsNotFound
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsNotFound() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: leveldb::IsCorruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsCorruption() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: leveldb::IsIOError
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsIOError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: leveldb::IsNotSupportedError
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsNotSupportedError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: leveldb::IsInvalidArgument
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsInvalidArgument() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Code>
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: leveldb::code
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 6
    functionsReached:
    - static_cast<Code>
    linkageType: ''
    returnType: Code
    signature: Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Status::CopyState
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: leveldb::Status::Status
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::Status::CopyState
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyState
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: '& Status::operator=(const Status& rhs)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - CopyState
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '& Status::operator=(Status&& rhs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(Status&& rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:27,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:37,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:40,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:41,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:43,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:44,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:46,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:47,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:49,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:50,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:52,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:53,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:60,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:63,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:66,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:69,1
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:72,1
    - Dst: static_cast<Code>
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 101
    functionName: leveldb::Status
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 8
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    - leveldb::code
    - static_cast<Code>
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~Status()
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: leveldb::Status
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status(Status&& rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::OK
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 84
    functionsReached:
    - leveldb::Status
    linkageType: ''
    returnType: Status
    signature: Status OK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:40,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: leveldb::NotFound
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status NotFound(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:43,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: leveldb::Corruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status Corruption(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:46,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: leveldb::NotSupported
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status NotSupported(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:49,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: leveldb::InvalidArgument
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 6
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status InvalidArgument(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:52,1
    - Dst: leveldb::Status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: leveldb::IOError
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 18
    functionsReached:
    - leveldb::Status
    - leveldb::Slice
    linkageType: ''
    returnType: Status
    signature: Status IOError(const Slice& msg, const Slice& msg2 = Slice())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: leveldb::ok
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: leveldb::IsNotFound
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsNotFound() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: leveldb::IsCorruption
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsCorruption() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: leveldb::IsIOError
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsIOError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: leveldb::IsNotSupportedError
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsNotSupportedError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::code
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: leveldb::IsInvalidArgument
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::code
    linkageType: ''
    returnType: bool
    signature: bool IsInvalidArgument() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Code>
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: leveldb::code
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 12
    functionsReached:
    - static_cast<Code>
    linkageType: ''
    returnType: Code
    signature: Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Status::CopyState
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: leveldb::Status::Status
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - leveldb::Status::CopyState
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyState
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: '& Status::operator=(const Status& rhs)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - CopyState
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/status.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '& Status::operator=(Status&& rhs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/status.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(Status&& rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/table_builder.h:33,1
    - Dst: status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/table_builder.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 83
    functionName: leveldb::TableBuilder
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table_builder.h
    functionUses: 1
    functionsReached:
    - leveldb::TableBuilder
    - status
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT TableBuilder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: leveldb::TableBuilder
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table_builder.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TableBuilder(const TableBuilder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::TableBuilder
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/table_builder.h:33,1
    - Dst: status
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/table_builder.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 83
    functionName: leveldb::TableBuilder
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table_builder.h
    functionUses: 2
    functionsReached:
    - leveldb::TableBuilder
    - status
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT TableBuilder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: leveldb::TableBuilder
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table_builder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TableBuilder(const TableBuilder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Table
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/table.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 80
    functionName: leveldb::Table
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table.h
    functionUses: 1
    functionsReached:
    - leveldb::Table
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Table
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: leveldb::Table
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Table(const Table&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rep
    argTypes:
    - Rep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: leveldb::Table
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Table(Rep* rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Table
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/table.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 80
    functionName: leveldb::Table
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table.h
    functionUses: 2
    functionsReached:
    - leveldb::Table
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Table
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: leveldb::Table
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Table(const Table&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rep
    argTypes:
    - Rep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: leveldb::Table
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/table.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Table(Rep* rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Cache
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/cache.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 107
    functionName: leveldb::Cache
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/cache.h
    functionUses: 1
    functionsReached:
    - leveldb::Cache
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Cache
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: leveldb::Cache
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache(const Cache&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: leveldb::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Prune()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Cache
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/cache.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 107
    functionName: leveldb::Cache
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/cache.h
    functionUses: 2
    functionsReached:
    - leveldb::Cache
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Cache
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: leveldb::Cache
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache(const Cache&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: leveldb::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Prune()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FilterPolicy
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/filter_policy.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: leveldb::FilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/filter_policy.h
    functionUses: 1
    functionsReached:
    - leveldb::FilterPolicy
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT FilterPolicy
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::FilterPolicy
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/filter_policy.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: leveldb::FilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/filter_policy.h
    functionUses: 2
    functionsReached:
    - leveldb::FilterPolicy
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT FilterPolicy
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Snapshot
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/db.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: leveldb::Snapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 1
    functionsReached:
    - leveldb::Snapshot
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Snapshot
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: leveldb::Range
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct LEVELDB_EXPORT
    signature: struct LEVELDB_EXPORT Range
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: leveldb::Range
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' s'
    - ' l'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::Range
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range(const Slice& s, const Slice& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 148
    functionName: leveldb::DB
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT DB
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::DB
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: leveldb::DB
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DB(const DB&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Snapshot
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/db.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: leveldb::Snapshot
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 2
    functionsReached:
    - leveldb::Snapshot
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Snapshot
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: leveldb::Range
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct LEVELDB_EXPORT
    signature: struct LEVELDB_EXPORT Range
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: leveldb::Range
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' s'
    - ' l'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::Range
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range(const Slice& s, const Slice& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 148
    functionName: leveldb::DB
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT DB
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::DB
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: leveldb::DB
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DB(const DB&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:31,1
    - Dst: data_
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:31,1
    - Dst: size_
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:31,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:37,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:37,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:40,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:55,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:56,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:56,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:61,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:73,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:73,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:79,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (n < size())
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    - condition: (n <= size())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    constantsTouched: []
    func_position:
      end: 95
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 95
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 33
    functionsReached:
    - leveldb::Slice
    - strlen
    - data_
    - std::string
    - memcmp
    - leveldb::data
    - size_
    - leveldb::size
    - assert
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Slice
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - d
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slice(const char* d, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:37,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 33
    functionsReached:
    - leveldb::size
    - leveldb::data
    linkageType: ''
    returnType: void
    signature: void Slice(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 33
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void Slice(const char* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slice(const Slice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: leveldb::data
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: leveldb::size
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: leveldb::empty
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::begin
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - leveldb::data
    linkageType: ''
    returnType: char
    signature: char * begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:56,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::end
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - leveldb::size
    - leveldb::data
    linkageType: ''
    returnType: char
    signature: char * end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:61,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts:
    - condition: (n < size())
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: operator[](size_t n) const
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - leveldb::size
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](size_t n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: leveldb::clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:73,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts:
    - condition: (n <= size())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: leveldb::remove_prefix
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - leveldb::size
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_prefix(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::ToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 4
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: leveldb::starts_with
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool starts_with(const Slice& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:98,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:98,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:99,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:99,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:99,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: operator==(const Slice& x, const Slice& y)
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - memcmp
    - leveldb::size
    - leveldb::data
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Slice& x, const Slice& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: operator!=(const Slice& x, const Slice& y)
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Slice& x, const Slice& y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: leveldb::Slice::compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Slice::compare(const Slice& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:31,1
    - Dst: data_
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:31,1
    - Dst: size_
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:31,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:37,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:37,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:40,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:55,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:56,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:56,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:61,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:61,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:73,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:73,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:79,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (n < size())
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    - condition: (n <= size())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    constantsTouched: []
    func_position:
      end: 95
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 95
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 34
    functionsReached:
    - leveldb::Slice
    - strlen
    - data_
    - std::string
    - memcmp
    - leveldb::data
    - size_
    - leveldb::size
    - assert
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Slice
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - d
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slice(const char* d, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:37,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 34
    functionsReached:
    - leveldb::size
    - leveldb::data
    linkageType: ''
    returnType: void
    signature: void Slice(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 34
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void Slice(const char* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: leveldb::Slice
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slice(const Slice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: leveldb::data
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: leveldb::size
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: leveldb::empty
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: leveldb::begin
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - leveldb::data
    linkageType: ''
    returnType: char
    signature: char * begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:56,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: leveldb::end
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - leveldb::size
    - leveldb::data
    linkageType: ''
    returnType: char
    signature: char * end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:61,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts:
    - condition: (n < size())
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: operator[](size_t n) const
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - assert
    - size
    linkageType: ''
    returnType: char
    signature: char operator[](size_t n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: leveldb::clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:73,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts:
    - condition: (n <= size())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: leveldb::remove_prefix
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - leveldb::size
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_prefix(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::ToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 4
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: leveldb::starts_with
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool starts_with(const Slice& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:98,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:98,1
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:99,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:99,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:99,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: operator==(const Slice& x, const Slice& y)
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - data
    - memcmp
    - size
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Slice& x, const Slice& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: operator!=(const Slice& x, const Slice& y)
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Slice& x, const Slice& y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: leveldb::Slice::compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/slice.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Slice::compare(const Slice& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Iterator
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h:26,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (function != nullptr)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    constantsTouched: []
    func_position:
      end: 102
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 102
    functionName: leveldb::Iterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    functionUses: 1
    functionsReached:
    - assert
    - leveldb::Iterator
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: leveldb::Iterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(const Iterator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: leveldb::IsEmpty
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (function != nullptr)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: leveldb::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Iterator
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h:26,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (function != nullptr)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    constantsTouched: []
    func_position:
      end: 102
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 102
    functionName: leveldb::Iterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    functionUses: 2
    functionsReached:
    - assert
    - leveldb::Iterator
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT Iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: leveldb::Iterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(const Iterator&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: leveldb::IsEmpty
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (function != nullptr)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: leveldb::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/iterator.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Handler
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/write_batch.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: leveldb::WriteBatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/write_batch.h
    functionUses: 0
    functionsReached:
    - Handler
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT WriteBatch
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: leveldb::WriteBatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/write_batch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteBatch(const WriteBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Handler
      Src: /src/bitcoin-core/src/leveldb/include/leveldb/write_batch.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: leveldb::WriteBatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/write_batch.h
    functionUses: 0
    functionsReached:
    - Handler
    linkageType: ''
    returnType: class LEVELDB_EXPORT
    signature: class LEVELDB_EXPORT WriteBatch
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: leveldb::WriteBatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/include/leveldb/write_batch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteBatch(const WriteBatch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Key1
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string Key1(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key1
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Key2
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc
    functionUses: 0
    functionsReached:
    - Key1
    linkageType: ''
    returnType: std::string
    signature: std::string Key2(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:30,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:31,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:31,1
    - Dst: leveldb::Options::Options
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:37,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:40,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:40,1
    - Dst: leveldb::WriteBatch::WriteBatch
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:43,1
    - Dst: leveldb::WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:45,1
    - Dst: Key1
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:45,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:47,1
    - Dst: leveldb::DB*::Write
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:47,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:47,1
    - Dst: leveldb::WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:50,1
    - Dst: leveldb::WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:52,1
    - Dst: Key2
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:52,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:54,1
    - Dst: leveldb::DB*::Write
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:54,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:54,1
    - Dst: leveldb::WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:57,1
    - Dst: leveldb::WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:59,1
    - Dst: Key2
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:59,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:61,1
    - Dst: leveldb::DB*::Write
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:61,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:61,1
    - Dst: Key1
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:64,1
    - Dst: Key1
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:65,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:66,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:66,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:67,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:67,1
    - Dst: leveldb::DB*::CompactRange
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:70,1
    - Dst: leveldb::DB*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:73,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:73,1
    - Dst: leveldb::Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:75,1
    - Dst: leveldb::Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:75,1
    - Dst: leveldb::Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:79,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:83,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 84
    functionName: TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc
    functionUses: 13
    functionsReached:
    - leveldb::Iterator*::SeekToFirst
    - std::string::data
    - leveldb::WriteOptions
    - ASSERT_EQ
    - leveldb::DB*::NewIterator
    - leveldb::Iterator*::Next
    - leveldb::WriteBatch::Delete
    - leveldb::ReadOptions
    - Key1
    - leveldb::test::TmpDir
    - DestroyDB
    - leveldb::WriteBatch::Put
    - leveldb::DB*::Write
    - ASSERT_OK
    - leveldb::DB*::CompactRange
    - leveldb::WriteBatch::Clear
    - std::string::size
    - leveldb::Options::Options
    - leveldb::WriteBatch::WriteBatch
    - leveldb::Iterator*::Valid
    - Key2
    - leveldb::DB::Open
    - leveldb::Options
    linkageType: ''
    returnType: void
    signature: void TEST(Issue178, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Key1
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc
    functionUses: 2
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string Key1(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key1
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Key2
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc
    functionUses: 1
    functionsReached:
    - Key1
    linkageType: ''
    returnType: std::string
    signature: std::string Key2(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:30,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:31,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:31,1
    - Dst: leveldb::Options::Options
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:37,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:40,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:40,1
    - Dst: leveldb::WriteBatch::WriteBatch
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:43,1
    - Dst: leveldb::WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:45,1
    - Dst: Key1
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:45,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:47,1
    - Dst: leveldb::DB*::Write
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:47,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:47,1
    - Dst: leveldb::WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:50,1
    - Dst: leveldb::WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:52,1
    - Dst: Key2
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:52,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:54,1
    - Dst: leveldb::DB*::Write
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:54,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:54,1
    - Dst: leveldb::WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:57,1
    - Dst: leveldb::WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:59,1
    - Dst: Key2
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:59,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:61,1
    - Dst: leveldb::DB*::Write
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:61,1
    - Dst: leveldb::WriteOptions
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:61,1
    - Dst: Key1
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:64,1
    - Dst: Key1
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:65,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:66,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:66,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:67,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:67,1
    - Dst: leveldb::DB*::CompactRange
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:70,1
    - Dst: leveldb::DB*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:73,1
    - Dst: leveldb::ReadOptions
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:73,1
    - Dst: leveldb::Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:75,1
    - Dst: leveldb::Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:75,1
    - Dst: leveldb::Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:79,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:83,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 84
    functionName: TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc
    functionUses: 13
    functionsReached:
    - leveldb::Iterator*::SeekToFirst
    - std::string::data
    - leveldb::WriteOptions
    - ASSERT_EQ
    - leveldb::DB*::NewIterator
    - leveldb::Iterator*::Next
    - leveldb::WriteBatch::Delete
    - leveldb::ReadOptions
    - Key1
    - leveldb::test::TmpDir
    - DestroyDB
    - leveldb::WriteBatch::Put
    - leveldb::DB*::Write
    - ASSERT_OK
    - leveldb::DB*::CompactRange
    - leveldb::WriteBatch::Clear
    - std::string::size
    - leveldb::Options::Options
    - leveldb::WriteBatch::WriteBatch
    - leveldb::Iterator*::Valid
    - Key2
    - leveldb::DB::Open
    - leveldb::Options
    linkageType: ''
    returnType: void
    signature: void TEST(Issue178, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue178_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:18,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:19,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:19,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:24,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:24,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:27,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:27,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:28,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:28,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:29,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:29,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:30,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:30,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:31,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:31,1
    - Dst: DB*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:34,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:37,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:37,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:39,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:40,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:40,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:42,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:42,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:44,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:44,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:46,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:46,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:48,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:48,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 53
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - Iterator*::Prev
    - Iterator*::Seek
    - DB*::NewIterator
    - ASSERT_EQ
    - Iterator*::key
    - Iterator*::Next
    - leveldb::DB::Open
    - ASSERT_OK
    - leveldb::Options
    - DB*::Put
    - leveldb::DestroyDB
    linkageType: ''
    returnType: void
    signature: void TEST(Issue200, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:18,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:19,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:19,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:24,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:24,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:27,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:27,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:28,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:28,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:29,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:29,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:30,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:30,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:31,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:31,1
    - Dst: DB*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:34,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:37,1
    - Dst: DB*::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:37,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:39,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:40,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:40,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:42,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:42,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:44,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:44,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:46,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:46,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:48,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:48,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 53
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - Iterator*::Prev
    - Iterator*::Seek
    - DB*::NewIterator
    - ASSERT_EQ
    - Iterator*::key
    - Iterator*::Next
    - leveldb::DB::Open
    - ASSERT_OK
    - leveldb::Options
    - DB*::Put
    - leveldb::DestroyDB
    linkageType: ''
    returnType: void
    signature: void TEST(Issue200, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue200_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::rand
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::GenerateRandomNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 0
    functionsReached:
    - std::rand
    linkageType: ''
    returnType: int
    signature: int GenerateRandomNumber(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:32,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: leveldb::CreateRandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::GenerateRandomNumber
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string CreateRandomString(int32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::rand
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::GenerateRandomNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 1
    functionsReached:
    - std::rand
    linkageType: ''
    returnType: int
    signature: int GenerateRandomNumber(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:32,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: leveldb::CreateRandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::GenerateRandomNumber
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string CreateRandomString(int32_t index)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::srand
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:43,1
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:56,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:57,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:57,1
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:72,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:72,1
    - Dst: reset
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:77,1
    - Dst: leveldb::CreateRandomString
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:78,1
    - Dst: leveldb::CreateRandomString
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:78,1
    - Dst: std::pair<std::string, std::string>::string>
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:77,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:79,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:81,1
    - Dst: DB*::Get
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:91,1
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:94,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:95,1
    - Dst: leveldb::CreateRandomString
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:99,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:100,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:101,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:105,1
    - Dst: DB*::Write
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:105,1
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:107,1
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:108,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:108,1
    - Dst: DB*::ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:110,1
    - Dst: DB*::GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:112,1
    - Dst: DB*::ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:118,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:123,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 124
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - std::srand
    - DB*::Get
    - leveldb::GenerateRandomNumber
    - std::pair<std::string, std::string>::string>
    - ASSERT_EQ
    - DB*::GetSnapshot
    - reset
    - ASSERT_OK
    - leveldb::DB::Open
    - WriteBatch::Delete
    - DB*::ReleaseSnapshot
    - leveldb::DestroyDB
    - WriteBatch::Put
    - leveldb::CreateRandomString
    - std::vector::size
    - DB*::Write
    linkageType: ''
    returnType: void
    signature: void TEST(Issue320, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::rand
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::GenerateRandomNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 3
    functionsReached:
    - std::rand
    linkageType: ''
    returnType: int
    signature: int GenerateRandomNumber(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:32,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: leveldb::CreateRandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::GenerateRandomNumber
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string CreateRandomString(int32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::rand
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::GenerateRandomNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 4
    functionsReached:
    - std::rand
    linkageType: ''
    returnType: int
    signature: int GenerateRandomNumber(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:32,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: leveldb::CreateRandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::GenerateRandomNumber
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string CreateRandomString(int32_t index)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::srand
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:43,1
    - Dst: leveldb::test::TmpDir
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:56,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:57,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:57,1
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:72,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:72,1
    - Dst: reset
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:77,1
    - Dst: leveldb::CreateRandomString
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:78,1
    - Dst: leveldb::CreateRandomString
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:78,1
    - Dst: std::pair<std::string, std::string>::string>
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:77,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:79,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:81,1
    - Dst: DB*::Get
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:91,1
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:94,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:95,1
    - Dst: leveldb::CreateRandomString
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:99,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:100,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:101,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:105,1
    - Dst: DB*::Write
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:105,1
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:107,1
    - Dst: leveldb::GenerateRandomNumber
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:108,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:108,1
    - Dst: DB*::ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:110,1
    - Dst: DB*::GetSnapshot
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:112,1
    - Dst: DB*::ReleaseSnapshot
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:118,1
    - Dst: leveldb::DestroyDB
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:123,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 124
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::test::TmpDir
    - std::srand
    - DB*::Get
    - leveldb::GenerateRandomNumber
    - std::pair<std::string, std::string>::string>
    - ASSERT_EQ
    - DB*::GetSnapshot
    - reset
    - ASSERT_OK
    - leveldb::DB::Open
    - WriteBatch::Delete
    - DB*::ReleaseSnapshot
    - leveldb::DestroyDB
    - WriteBatch::Put
    - leveldb::CreateRandomString
    - std::vector::size
    - DB*::Write
    linkageType: ''
    returnType: void
    signature: void TEST(Issue320, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/issues/issue320_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:21,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - num
    argTypes:
    - std::string*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: leveldb::AppendNumberTo
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 12
    functionsReached:
    - std::string*::append
    - snprintf
    linkageType: ''
    returnType: void
    signature: void AppendNumberTo(std::string* str, uint64_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:26,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:29,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:32,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:33,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - str
    - ' value'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: leveldb::AppendEscapedStringTo
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 4
    functionsReached:
    - std::string*::append
    - static_cast<unsigned int>
    - snprintf
    - std::string*::push_back
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void AppendEscapedStringTo(std::string* str, const Slice& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: leveldb::NumberToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 4
    functionsReached:
    - leveldb::AppendNumberTo
    linkageType: ''
    returnType: std::string
    signature: std::string NumberToString(uint64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: leveldb::EscapeString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 6
    functionsReached:
    - leveldb::AppendEscapedStringTo
    linkageType: ''
    returnType: std::string
    signature: std::string EscapeString(const Slice& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:53,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:55,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:60,1
    - Dst: Slice*::data
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:60,1
    - Dst: Slice*::size
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:62,1
    - Dst: Slice*::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - in
    - val
    argTypes:
    - Slice*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: leveldb::ConsumeDecimalNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 2
    functionsReached:
    - Slice*::data
    - Slice*::size
    - reinterpret_cast<const uint8_t*>
    - Slice*::remove_prefix
    - RandomMixin::max
    - static_cast<char>
    linkageType: ''
    returnType: bool
    signature: bool ConsumeDecimalNumber(Slice* in, uint64_t* val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:21,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - num
    argTypes:
    - std::string*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: leveldb::AppendNumberTo
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 13
    functionsReached:
    - std::string*::append
    - snprintf
    linkageType: ''
    returnType: void
    signature: void AppendNumberTo(std::string* str, uint64_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:26,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:29,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:32,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:33,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - str
    - ' value'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: leveldb::AppendEscapedStringTo
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 5
    functionsReached:
    - std::string*::append
    - static_cast<unsigned int>
    - snprintf
    - std::string*::push_back
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void AppendEscapedStringTo(std::string* str, const Slice& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendNumberTo
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: leveldb::NumberToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 4
    functionsReached:
    - leveldb::AppendNumberTo
    linkageType: ''
    returnType: std::string
    signature: std::string NumberToString(uint64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::AppendEscapedStringTo
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: leveldb::EscapeString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 6
    functionsReached:
    - leveldb::AppendEscapedStringTo
    linkageType: ''
    returnType: std::string
    signature: std::string EscapeString(const Slice& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:53,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:55,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:60,1
    - Dst: Slice*::data
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:60,1
    - Dst: Slice*::size
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:62,1
    - Dst: Slice*::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/util/logging.cc:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - in
    - val
    argTypes:
    - Slice*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: leveldb::ConsumeDecimalNumber
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging.cc
    functionUses: 2
    functionsReached:
    - Slice*::data
    - Slice*::size
    - reinterpret_cast<const uint8_t*>
    - Slice*::remove_prefix
    - RandomMixin::max
    - static_cast<char>
    linkageType: ''
    returnType: bool
    signature: bool ConsumeDecimalNumber(Slice* in, uint64_t* val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:15,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:16,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: leveldb::Status::CopyState
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/status.cc
    functionUses: 2
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: char
    signature: char * Status::CopyState(const char* state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:22,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:23,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:23,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:24,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:24,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:26,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:27,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:28,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:29,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:29,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:33,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - code
    - ' msg'
    - ' msg2'
    argTypes:
    - Code
    - Slice
    - Slice
    assertStmts:
    - condition: (code != kOk)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/bitcoin-core/src/leveldb/util/status.cc
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: leveldb::Status::Status
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/status.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - size
    - memcpy
    - data
    - char::char
    - assert
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void Status::Status(Code code, const Slice& msg, const Slice& msg2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:44,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:64,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:65,1
    - Dst: code
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:65,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:71,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: leveldb::Status::ToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/status.cc
    functionUses: 2
    functionsReached:
    - code
    - static_cast<int>
    - memcpy
    - std::string::append
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:15,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:16,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: leveldb::Status::CopyState
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/status.cc
    functionUses: 2
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: char
    signature: char * Status::CopyState(const char* state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:22,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:23,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:23,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:24,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:24,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:26,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:27,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:28,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:29,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:29,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:33,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - code
    - ' msg'
    - ' msg2'
    argTypes:
    - Code
    - Slice
    - Slice
    assertStmts:
    - condition: (code != kOk)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/bitcoin-core/src/leveldb/util/status.cc
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: leveldb::Status::Status
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/status.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - size
    - memcpy
    - data
    - char::char
    - assert
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void Status::Status(Code code, const Slice& msg, const Slice& msg2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:44,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:64,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:65,1
    - Dst: code
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:65,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:71,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/status.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: leveldb::Status::ToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/status.cc
    functionUses: 2
    functionsReached:
    - code
    - static_cast<int>
    - memcpy
    - std::string::append
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: leveldb::Histogram::Clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Histogram::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: leveldb::Histogram::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Histogram::Add(double value)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Histogram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: leveldb::Histogram::Merge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Histogram::Merge(const Histogram& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Histogram::Percentile
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: leveldb::Histogram::Median
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached:
    - leveldb::Histogram::Percentile
    linkageType: ''
    returnType: double
    signature: double Histogram::Median() const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 228
    functionName: leveldb::Histogram::Percentile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Histogram::Percentile(double p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: leveldb::Histogram::Average
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Histogram::Average() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: leveldb::Histogram::StandardDeviation
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double Histogram::StandardDeviation() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:244,1
    - Dst: leveldb::Histogram::Average
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:245,1
    - Dst: leveldb::Histogram::StandardDeviation
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:245,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:246,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:247,1
    - Dst: leveldb::Histogram::Median
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:248,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:249,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:250,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:256,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:265,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:266,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 270
    functionName: leveldb::Histogram::ToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached:
    - leveldb::Histogram::Median
    - static_cast<int>
    - leveldb::Histogram::StandardDeviation
    - leveldb::Histogram::Average
    - std::string::push_back
    - std::string::append
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string Histogram::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: leveldb::Histogram::Clear
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Histogram::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: leveldb::Histogram::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Histogram::Add(double value)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Histogram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: leveldb::Histogram::Merge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Histogram::Merge(const Histogram& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Histogram::Percentile
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: leveldb::Histogram::Median
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 1
    functionsReached:
    - leveldb::Histogram::Percentile
    linkageType: ''
    returnType: double
    signature: double Histogram::Median() const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 228
    functionName: leveldb::Histogram::Percentile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Histogram::Percentile(double p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: leveldb::Histogram::Average
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Histogram::Average() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: leveldb::Histogram::StandardDeviation
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 1
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double Histogram::StandardDeviation() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:244,1
    - Dst: leveldb::Histogram::Average
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:245,1
    - Dst: leveldb::Histogram::StandardDeviation
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:245,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:246,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:247,1
    - Dst: leveldb::Histogram::Median
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:248,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:249,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:250,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:256,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:262,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:265,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:266,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/util/histogram.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 270
    functionName: leveldb::Histogram::ToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.cc
    functionUses: 0
    functionsReached:
    - leveldb::Histogram::Median
    - static_cast<int>
    - leveldb::Histogram::StandardDeviation
    - leveldb::Histogram::Average
    - std::string::push_back
    - std::string::append
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string Histogram::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: leveldb::crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:259,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: leveldb::crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: leveldb::crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:259,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: leveldb::crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::AcceleratedCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: leveldb::crc32c::CanAccelerateCRC32C
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 0
    functionsReached:
    - leveldb::port::AcceleratedCRC32C
    linkageType: ''
    returnType: bool
    signature: bool CanAccelerateCRC32C()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::CanAccelerateCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:277,1
    - Dst: leveldb::port::AcceleratedCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:279,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:282,1
    - Dst: leveldb::crc32c::RoundUp
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:324,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:334,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:335,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:336,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:337,1
    - Dst: STEP4
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:351,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:362,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:363,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:364,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - crc
    - data
    - n
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 377
    functionName: leveldb::crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 6
    functionsReached:
    - STEP4
    - STEP4W
    - leveldb::crc32c::CanAccelerateCRC32C
    - leveldb::crc32c::RoundUp
    - leveldb::port::AcceleratedCRC32C
    - reinterpret_cast<const uint8_t*>
    - leveldb::crc32c::ReadUint32LE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: STEP4
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: STEP4W
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4W(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: leveldb::crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char*>
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:259,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: leveldb::crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: leveldb::crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char*>
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:259,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: leveldb::crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::AcceleratedCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: leveldb::crc32c::CanAccelerateCRC32C
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 1
    functionsReached:
    - leveldb::port::AcceleratedCRC32C
    linkageType: ''
    returnType: bool
    signature: bool CanAccelerateCRC32C()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::CanAccelerateCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:277,1
    - Dst: leveldb::port::AcceleratedCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:279,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:282,1
    - Dst: leveldb::crc32c::RoundUp
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:324,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:334,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:335,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:336,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:337,1
    - Dst: STEP4
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:351,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:362,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:363,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:364,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - crc
    - data
    - n
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 377
    functionName: leveldb::crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 6
    functionsReached:
    - STEP4
    - STEP4W
    - leveldb::crc32c::CanAccelerateCRC32C
    - leveldb::crc32c::RoundUp
    - leveldb::port::AcceleratedCRC32C
    - reinterpret_cast<const uint8_t*>
    - leveldb::crc32c::ReadUint32LE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: STEP4
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: STEP4W
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4W(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: leveldb::crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char*>
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:259,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: leveldb::crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: leveldb::crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char*>
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:259,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: leveldb::crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::AcceleratedCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: leveldb::crc32c::CanAccelerateCRC32C
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 2
    functionsReached:
    - leveldb::port::AcceleratedCRC32C
    linkageType: ''
    returnType: bool
    signature: bool CanAccelerateCRC32C()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::CanAccelerateCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:277,1
    - Dst: leveldb::port::AcceleratedCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:279,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:282,1
    - Dst: leveldb::crc32c::RoundUp
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:324,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:334,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:335,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:336,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:337,1
    - Dst: STEP4
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:351,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:362,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:363,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:364,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - crc
    - data
    - n
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 377
    functionName: leveldb::crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 6
    functionsReached:
    - STEP4
    - STEP4W
    - leveldb::crc32c::CanAccelerateCRC32C
    - leveldb::crc32c::RoundUp
    - leveldb::port::AcceleratedCRC32C
    - reinterpret_cast<const uint8_t*>
    - leveldb::crc32c::ReadUint32LE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: STEP4
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: STEP4W
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4W(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: leveldb::crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const char*>
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:259,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: leveldb::crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: leveldb::crc32c::ReadUint32LE
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const char*>
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadUint32LE(const uint8_t* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:258,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:259,1
    - Dst: static_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: leveldb::crc32c::RoundUp
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<uint8_t*>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * RoundUp(const uint8_t* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::port::AcceleratedCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: leveldb::crc32c::CanAccelerateCRC32C
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 3
    functionsReached:
    - leveldb::port::AcceleratedCRC32C
    linkageType: ''
    returnType: bool
    signature: bool CanAccelerateCRC32C()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::CanAccelerateCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:277,1
    - Dst: leveldb::port::AcceleratedCRC32C
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:279,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:282,1
    - Dst: leveldb::crc32c::RoundUp
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:324,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:334,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:335,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:336,1
    - Dst: leveldb::crc32c::ReadUint32LE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:337,1
    - Dst: STEP4
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:351,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:362,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:363,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:364,1
    - Dst: STEP4W
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.cc:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - crc
    - data
    - n
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 377
    functionName: leveldb::crc32c::Extend
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 6
    functionsReached:
    - STEP4
    - STEP4W
    - leveldb::crc32c::CanAccelerateCRC32C
    - leveldb::crc32c::RoundUp
    - leveldb::port::AcceleratedCRC32C
    - reinterpret_cast<const uint8_t*>
    - leveldb::crc32c::ReadUint32LE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Extend(uint32_t crc, const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: STEP4
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: STEP4W
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP4W(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - std::FILE*
    assertStmts:
    - condition: (fp != nullptr)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: leveldb::PosixLogger::PosixLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void PosixLogger(std::FILE* fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fclose
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~PosixLogger() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    functionUses: 0
    functionsReached:
    - std::fclose
    linkageType: ''
    returnType: void
    signature: void ~PosixLogger() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::gettimeofday
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:36,1
    - Dst: ::localtime_r
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:39,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:44,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:45,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:46,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:47,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:54,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:62,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:65,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:69,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:75,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:78,1
    - Dst: va_copy
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:82,1
    - Dst: std::vsnprintf
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:84,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:86,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:103,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:113,1
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:114,1
    - Dst: std::fflush
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - format
    - arguments
    argTypes:
    - char*
    - va_list
    assertStmts:
    - condition: (buffer_offset <= buffer_size)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    - condition: (false)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    - condition: (buffer_offset < buffer_size)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    - condition: (buffer_offset <= 28 + kMaxThreadIdSize)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    constantsTouched: []
    func_position:
      end: 122
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 122
    functionName: leveldb::PosixLogger::Logv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    functionUses: 0
    functionsReached:
    - ::localtime_r
    - std::string::size
    - std::fwrite
    - static_cast<size_t>
    - va_copy
    - va_end
    - std::fflush
    - static_cast<int>
    - std::this_thread::get_id
    - std::string::resize
    - std::vsnprintf
    - char::char
    - ::gettimeofday
    - snprintf
    - std::ostringstream::str
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void Logv(const char* format, va_list arguments) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - std::FILE*
    assertStmts:
    - condition: (fp != nullptr)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: leveldb::PosixLogger::PosixLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void PosixLogger(std::FILE* fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fclose
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~PosixLogger() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    functionUses: 0
    functionsReached:
    - std::fclose
    linkageType: ''
    returnType: void
    signature: void ~PosixLogger() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::gettimeofday
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:36,1
    - Dst: ::localtime_r
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:39,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:44,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:45,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:46,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:47,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:54,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:62,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:65,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:69,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:70,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:75,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:78,1
    - Dst: va_copy
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:82,1
    - Dst: std::vsnprintf
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:84,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:86,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:103,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:113,1
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:114,1
    - Dst: std::fflush
      Src: /src/bitcoin-core/src/leveldb/util/posix_logger.h:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - format
    - arguments
    argTypes:
    - char*
    - va_list
    assertStmts:
    - condition: (buffer_offset <= buffer_size)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    - condition: (false)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    - condition: (buffer_offset < buffer_size)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    - condition: (buffer_offset <= 28 + kMaxThreadIdSize)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    constantsTouched: []
    func_position:
      end: 122
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 122
    functionName: leveldb::PosixLogger::Logv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/posix_logger.h
    functionUses: 0
    functionsReached:
    - ::localtime_r
    - std::string::size
    - std::fwrite
    - static_cast<size_t>
    - va_copy
    - va_end
    - std::fflush
    - static_cast<int>
    - std::this_thread::get_id
    - std::string::resize
    - std::vsnprintf
    - char::char
    - ::gettimeofday
    - snprintf
    - std::ostringstream::str
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void Logv(const char* format, va_list arguments) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: leveldb::BloomHash
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - leveldb::size
    - leveldb::data
    - leveldb::Hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BloomHash(const Slice& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bits_per_key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: leveldb::BloomFilterPolicy::BloomFilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void BloomFilterPolicy(int bits_per_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::BloomFilterPolicy::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:39,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:40,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:41,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:41,1
    - Dst: BloomHash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - keys
    - n
    - dst
    argTypes:
    - Slice*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: leveldb::BloomFilterPolicy::CreateFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - std::string*::resize
    - std::string*::size
    - BloomHash
    - std::string*::push_back
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void CreateFilter(const Slice* keys, int n, std::string* dst) const
      override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:57,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:60,1
    - Dst: BloomHash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - ' bloom_filter'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: leveldb::BloomFilterPolicy::KeyMayMatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - data
    - BloomHash
    - size
    linkageType: ''
    returnType: bool
    signature: bool KeyMayMatch(const Slice& key, const Slice& bloom_filter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: leveldb::BloomHash
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - leveldb::size
    - leveldb::data
    - leveldb::Hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BloomHash(const Slice& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bits_per_key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: leveldb::BloomFilterPolicy::BloomFilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void BloomFilterPolicy(int bits_per_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::BloomFilterPolicy::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:39,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:40,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:41,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:41,1
    - Dst: BloomHash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - keys
    - n
    - dst
    argTypes:
    - Slice*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: leveldb::BloomFilterPolicy::CreateFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - std::string*::resize
    - std::string*::size
    - BloomHash
    - std::string*::push_back
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void CreateFilter(const Slice* keys, int n, std::string* dst) const
      override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:57,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:60,1
    - Dst: BloomHash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - ' bloom_filter'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: leveldb::BloomFilterPolicy::KeyMayMatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - data
    - BloomHash
    - size
    linkageType: ''
    returnType: bool
    signature: bool KeyMayMatch(const Slice& key, const Slice& bloom_filter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BloomFilterPolicy::BloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits_per_key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: leveldb::NewBloomFilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 3
    functionsReached:
    - BloomFilterPolicy::BloomFilterPolicy
    linkageType: ''
    returnType: FilterPolicy
    signature: FilterPolicy * NewBloomFilterPolicy(int bits_per_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: leveldb::BloomHash
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - leveldb::size
    - leveldb::data
    - leveldb::Hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BloomHash(const Slice& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bits_per_key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: leveldb::BloomFilterPolicy::BloomFilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void BloomFilterPolicy(int bits_per_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::BloomFilterPolicy::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:39,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:40,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:41,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:41,1
    - Dst: BloomHash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - keys
    - n
    - dst
    argTypes:
    - Slice*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: leveldb::BloomFilterPolicy::CreateFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - std::string*::resize
    - std::string*::size
    - BloomHash
    - std::string*::push_back
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void CreateFilter(const Slice* keys, int n, std::string* dst) const
      override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:57,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:60,1
    - Dst: BloomHash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - ' bloom_filter'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: leveldb::BloomFilterPolicy::KeyMayMatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - data
    - BloomHash
    - size
    linkageType: ''
    returnType: bool
    signature: bool KeyMayMatch(const Slice& key, const Slice& bloom_filter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: leveldb::BloomHash
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - leveldb::size
    - leveldb::data
    - leveldb::Hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BloomHash(const Slice& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bits_per_key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: leveldb::BloomFilterPolicy::BloomFilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void BloomFilterPolicy(int bits_per_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::BloomFilterPolicy::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:39,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:40,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:41,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:41,1
    - Dst: BloomHash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - keys
    - n
    - dst
    argTypes:
    - Slice*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: leveldb::BloomFilterPolicy::CreateFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - std::string*::resize
    - std::string*::size
    - BloomHash
    - std::string*::push_back
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void CreateFilter(const Slice* keys, int n, std::string* dst) const
      override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:57,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:60,1
    - Dst: BloomHash
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - ' bloom_filter'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: leveldb::BloomFilterPolicy::KeyMayMatch
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 0
    functionsReached:
    - data
    - BloomHash
    - size
    linkageType: ''
    returnType: bool
    signature: bool KeyMayMatch(const Slice& key, const Slice& bloom_filter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BloomFilterPolicy::BloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/util/bloom.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits_per_key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: leveldb::NewBloomFilterPolicy
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom.cc
    functionUses: 3
    functionsReached:
    - BloomFilterPolicy::BloomFilterPolicy
    linkageType: ''
    returnType: FilterPolicy
    signature: FilterPolicy * NewBloomFilterPolicy(int bits_per_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:55,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:58,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:59,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - value
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: leveldb::EncodeFixed32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void EncodeFixed32(char* dst, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:65,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:68,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:69,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:70,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:71,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:72,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:73,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:74,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - value
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: leveldb::EncodeFixed64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void EncodeFixed64(char* dst, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:82,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:85,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:86,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: leveldb::DecodeFixed32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DecodeFixed32(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:92,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:95,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:96,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:97,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:98,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:99,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:101,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: leveldb::DecodeFixed64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DecodeFixed64(const char* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:111,1
    - Dst: leveldb::GetVarint32PtrFallback
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - limit
    - value
    argTypes:
    - char*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: leveldb::GetVarint32Ptr
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - leveldb::GetVarint32PtrFallback
    linkageType: ''
    returnType: char
    signature: "char * GetVarint32Ptr(const char* p, const char* limit,\n                                  uint32_t*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:55,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:58,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:59,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - value
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: leveldb::EncodeFixed32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void EncodeFixed32(char* dst, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:65,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:68,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:69,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:70,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:71,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:72,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:73,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:74,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - value
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: leveldb::EncodeFixed64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void EncodeFixed64(char* dst, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:82,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:85,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:86,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: leveldb::DecodeFixed32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DecodeFixed32(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:92,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:95,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:96,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:97,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:98,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:99,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:101,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: leveldb::DecodeFixed64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DecodeFixed64(const char* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:111,1
    - Dst: leveldb::GetVarint32PtrFallback
      Src: /src/bitcoin-core/src/leveldb/util/coding.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - limit
    - value
    argTypes:
    - char*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: leveldb::GetVarint32Ptr
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - leveldb::GetVarint32PtrFallback
    linkageType: ''
    returnType: char
    signature: "char * GetVarint32Ptr(const char* p, const char* limit,\n                                  uint32_t*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - std::FILE*
    assertStmts:
    - condition: (fp != nullptr)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::WindowsLogger::WindowsLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void WindowsLogger(std::FILE* fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fclose
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~WindowsLogger() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    functionUses: 0
    functionsReached:
    - std::fclose
    linkageType: ''
    returnType: void
    signature: void ~WindowsLogger() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::GetLocalTime
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:33,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:38,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:39,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:40,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:41,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:48,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:56,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:59,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:63,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:64,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:69,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:72,1
    - Dst: va_copy
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:76,1
    - Dst: std::vsnprintf
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:78,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:80,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:97,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:107,1
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:108,1
    - Dst: std::fflush
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - format
    - arguments
    argTypes:
    - char*
    - va_list
    assertStmts:
    - condition: (buffer_offset <= 28 + kMaxThreadIdSize)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    - condition: (buffer_offset < buffer_size)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    - condition: (false)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    - condition: (buffer_offset <= buffer_size)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    constantsTouched: []
    func_position:
      end: 116
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 116
    functionName: leveldb::WindowsLogger::Logv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::fwrite
    - ::GetLocalTime
    - static_cast<size_t>
    - va_copy
    - va_end
    - std::fflush
    - static_cast<int>
    - std::this_thread::get_id
    - std::string::resize
    - std::vsnprintf
    - char::char
    - snprintf
    - std::ostringstream::str
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void Logv(const char* format, va_list arguments) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - std::FILE*
    assertStmts:
    - condition: (fp != nullptr)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: leveldb::WindowsLogger::WindowsLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void WindowsLogger(std::FILE* fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fclose
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~WindowsLogger() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    functionUses: 0
    functionsReached:
    - std::fclose
    linkageType: ''
    returnType: void
    signature: void ~WindowsLogger() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::GetLocalTime
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:33,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:38,1
    - Dst: std::ostringstream::str
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:39,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:40,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:41,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:48,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:56,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:59,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:63,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:64,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:69,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:72,1
    - Dst: va_copy
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:76,1
    - Dst: std::vsnprintf
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:78,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:80,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:97,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:107,1
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:108,1
    - Dst: std::fflush
      Src: /src/bitcoin-core/src/leveldb/util/windows_logger.h:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - format
    - arguments
    argTypes:
    - char*
    - va_list
    assertStmts:
    - condition: (buffer_offset <= 28 + kMaxThreadIdSize)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    - condition: (buffer_offset < buffer_size)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    - condition: (false)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    - condition: (buffer_offset <= buffer_size)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    constantsTouched: []
    func_position:
      end: 116
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 116
    functionName: leveldb::WindowsLogger::Logv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/windows_logger.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::fwrite
    - ::GetLocalTime
    - static_cast<size_t>
    - va_copy
    - va_end
    - std::fflush
    - static_cast<int>
    - std::this_thread::get_id
    - std::string::resize
    - std::vsnprintf
    - char::char
    - snprintf
    - std::ostringstream::str
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void Logv(const char* format, va_list arguments) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<ConstructorArgTypes>
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor.h:32,1
    - Dst: InstanceType::InstanceType
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: leveldb::NoDestructor::NoDestructor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached:
    - std::forward<ConstructorArgTypes>
    - InstanceType::InstanceType
    linkageType: ''
    returnType: void
    signature: void NoDestructor(ConstructorArgTypes&&... constructor_args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~NoDestructor()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoDestructor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::NoDestructor::NoDestructor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoDestructor(const NoDestructor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const NoDestructor&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NoDestructor
    signature: NoDestructor & operator=(const NoDestructor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<InstanceType*>
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: leveldb::NoDestructor::get
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<InstanceType*>
    linkageType: ''
    returnType: InstanceType
    signature: InstanceType * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<ConstructorArgTypes>
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor.h:32,1
    - Dst: InstanceType::InstanceType
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: leveldb::NoDestructor::NoDestructor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached:
    - std::forward<ConstructorArgTypes>
    - InstanceType::InstanceType
    linkageType: ''
    returnType: void
    signature: void NoDestructor(ConstructorArgTypes&&... constructor_args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~NoDestructor()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NoDestructor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::NoDestructor::NoDestructor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoDestructor(const NoDestructor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const NoDestructor&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NoDestructor
    signature: NoDestructor & operator=(const NoDestructor&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<InstanceType*>
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: leveldb::NoDestructor::get
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<InstanceType*>
    linkageType: ''
    returnType: InstanceType
    signature: InstanceType * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:17,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: leveldb::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 16
    functionsReached:
    - leveldb::EncodeFixed32
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice Key(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::BloomTest::BloomTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - NewBloomFilterPolicy
    linkageType: ''
    returnType: void
    signature: void BloomTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~BloomTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BloomTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:28,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: leveldb::BloomTest::Reset
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:32,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::BloomTest::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - ToString
    linkageType: ''
    returnType: void
    signature: void Add(const Slice& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:37,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:37,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:39,1
    - Dst: CreateFilter
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:40,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:40,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:40,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:42,1
    - Dst: leveldb::BloomTest::DumpFilter
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: leveldb::BloomTest::Build
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - Slice
    - static_cast<int>
    - size
    - std::vector::push_back
    - CreateFilter
    - clear
    - leveldb::BloomTest::DumpFilter
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: leveldb::BloomTest::FilterSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t FilterSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:49,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:50,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:51,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:53,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: leveldb::BloomTest::DumpFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 1
    functionsReached:
    - fprintf
    - static_cast<unsigned int>
    - size
    linkageType: ''
    returnType: void
    signature: void DumpFilter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:60,1
    - Dst: leveldb::BloomTest::Build
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:61,1
    - Dst: KeyMayMatch
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: leveldb::BloomTest::Matches
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::BloomTest::Build
    - KeyMayMatch
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Matches(const Slice& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::BloomTest::Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:70,1
    - Dst: Key
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: leveldb::BloomTest::FalsePositiveRate
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::BloomTest::Matches
    - Key
    linkageType: ''
    returnType: double
    signature: double FalsePositiveRate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:84,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:85,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - Matches
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(BloomTest, EmptyFilter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:89,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:91,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:92,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:93,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:93,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:94,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - Matches
    - ASSERT_TRUE
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(BloomTest, Small)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: leveldb::NextLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NextLength(int length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NextLength
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:117,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:118,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:120,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:120,1
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:122,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:124,1
    - Dst: FilterSize
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:124,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:129,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:129,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:129,1
    - Dst: FalsePositiveRate
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:134,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:136,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:137,1
    - Dst: FilterSize
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:137,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:139,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:146,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 150
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NextLength
    - Build
    - static_cast<size_t>
    - Matches
    - static_cast<int>
    - leveldb::Key
    - Reset
    - fprintf
    - ASSERT_TRUE
    - FilterSize
    - ASSERT_LE
    - Add
    - FalsePositiveRate
    linkageType: ''
    returnType: void
    signature: void TEST(BloomTest, VaryingLengths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:17,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: leveldb::Key
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 17
    functionsReached:
    - leveldb::EncodeFixed32
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice Key(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::BloomTest::BloomTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - NewBloomFilterPolicy
    linkageType: ''
    returnType: void
    signature: void BloomTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~BloomTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BloomTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:28,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: leveldb::BloomTest::Reset
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:32,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: leveldb::BloomTest::Add
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - push_back
    - ToString
    linkageType: ''
    returnType: void
    signature: void Add(const Slice& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:36,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:37,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:37,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:39,1
    - Dst: CreateFilter
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:40,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:40,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:40,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:42,1
    - Dst: leveldb::BloomTest::DumpFilter
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: leveldb::BloomTest::Build
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 1
    functionsReached:
    - Slice
    - static_cast<int>
    - size
    - std::vector::push_back
    - CreateFilter
    - clear
    - leveldb::BloomTest::DumpFilter
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: leveldb::BloomTest::FilterSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t FilterSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:49,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:50,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:51,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:53,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: leveldb::BloomTest::DumpFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 2
    functionsReached:
    - fprintf
    - static_cast<unsigned int>
    - size
    linkageType: ''
    returnType: void
    signature: void DumpFilter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:60,1
    - Dst: leveldb::BloomTest::Build
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:61,1
    - Dst: KeyMayMatch
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: leveldb::BloomTest::Matches
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::BloomTest::Build
    - KeyMayMatch
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Matches(const Slice& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::BloomTest::Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:70,1
    - Dst: Key
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: leveldb::BloomTest::FalsePositiveRate
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::BloomTest::Matches
    - Key
    linkageType: ''
    returnType: double
    signature: double FalsePositiveRate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:84,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:85,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - Matches
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(BloomTest, EmptyFilter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:89,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:91,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:92,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:93,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:93,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:94,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - Matches
    - ASSERT_TRUE
    - Add
    linkageType: ''
    returnType: void
    signature: void TEST(BloomTest, Small)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: leveldb::NextLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NextLength(int length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NextLength
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:117,1
    - Dst: Reset
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:118,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:120,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:120,1
    - Dst: Build
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:122,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:124,1
    - Dst: FilterSize
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:124,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:129,1
    - Dst: Matches
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:129,1
    - Dst: leveldb::Key
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:129,1
    - Dst: FalsePositiveRate
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:134,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:136,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:137,1
    - Dst: FilterSize
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:137,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:139,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:146,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 150
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NextLength
    - Build
    - static_cast<size_t>
    - Matches
    - static_cast<int>
    - leveldb::Key
    - Reset
    - fprintf
    - ASSERT_TRUE
    - FilterSize
    - ASSERT_LE
    - Add
    - FalsePositiveRate
    linkageType: ''
    returnType: void
    signature: void TEST(BloomTest, VaryingLengths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/bloom_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/bloom_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: FilterPolicy::~FilterPolicy()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/filter_policy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterPolicy::~FilterPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: FilterPolicy::~FilterPolicy()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/filter_policy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterPolicy::~FilterPolicy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test>::vector<Test>
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:30,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - base
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: leveldb::test::RegisterTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 0
    functionsReached:
    - push_back
    - std::vector<Test>::vector<Test>
    linkageType: ''
    returnType: bool
    signature: bool RegisterTest(const char* base, const char* name, void (*func)())
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:41,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:45,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:49,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:50,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:51,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:51,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:55,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: leveldb::test::RunAllTests
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 16
    functionsReached:
    - size
    - std::string::push_back
    - std::string::append
    - fprintf
    - std::string::c_str
    - getenv
    - strstr
    linkageType: ''
    returnType: int
    signature: int RunAllTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:66,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: leveldb::test::TmpDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 22
    functionsReached:
    - Status::ToString
    - ASSERT_TRUE
    - Status::ok
    - leveldb::Env::Default
    linkageType: ''
    returnType: std::string
    signature: std::string TmpDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:72,1
    - Dst: atoi
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: leveldb::test::RandomSeed
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 2
    functionsReached:
    - getenv
    - atoi
    linkageType: ''
    returnType: int
    signature: int RandomSeed()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test>::vector<Test>
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:30,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - base
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: leveldb::test::RegisterTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 0
    functionsReached:
    - push_back
    - std::vector<Test>::vector<Test>
    linkageType: ''
    returnType: bool
    signature: bool RegisterTest(const char* base, const char* name, void (*func)())
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:41,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:45,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:49,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:50,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:51,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:51,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:55,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: leveldb::test::RunAllTests
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 16
    functionsReached:
    - size
    - std::string::push_back
    - std::string::append
    - fprintf
    - std::string::c_str
    - getenv
    - strstr
    linkageType: ''
    returnType: int
    signature: int RunAllTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:66,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: leveldb::test::TmpDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 22
    functionsReached:
    - Status::ToString
    - ASSERT_TRUE
    - Status::ok
    - leveldb::Env::Default
    linkageType: ''
    returnType: std::string
    signature: std::string TmpDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:72,1
    - Dst: atoi
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: leveldb::test::RandomSeed
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 2
    functionsReached:
    - getenv
    - atoi
    linkageType: ''
    returnType: int
    signature: int RandomSeed()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test>::vector<Test>
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:30,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - base
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: leveldb::test::RegisterTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 0
    functionsReached:
    - push_back
    - std::vector<Test>::vector<Test>
    linkageType: ''
    returnType: bool
    signature: bool RegisterTest(const char* base, const char* name, void (*func)())
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:41,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:45,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:49,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:50,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:51,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:51,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:55,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: leveldb::test::RunAllTests
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 16
    functionsReached:
    - size
    - std::string::push_back
    - std::string::append
    - fprintf
    - std::string::c_str
    - getenv
    - strstr
    linkageType: ''
    returnType: int
    signature: int RunAllTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:66,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: leveldb::test::TmpDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 22
    functionsReached:
    - Status::ToString
    - ASSERT_TRUE
    - Status::ok
    - leveldb::Env::Default
    linkageType: ''
    returnType: std::string
    signature: std::string TmpDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:72,1
    - Dst: atoi
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: leveldb::test::RandomSeed
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 2
    functionsReached:
    - getenv
    - atoi
    linkageType: ''
    returnType: int
    signature: int RandomSeed()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test>::vector<Test>
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:30,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - base
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: leveldb::test::RegisterTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 0
    functionsReached:
    - push_back
    - std::vector<Test>::vector<Test>
    linkageType: ''
    returnType: bool
    signature: bool RegisterTest(const char* base, const char* name, void (*func)())
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:41,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:45,1
    - Dst: std::string::push_back
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:49,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:50,1
    - Dst: strstr
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:51,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:51,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:55,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: leveldb::test::RunAllTests
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 16
    functionsReached:
    - size
    - std::string::push_back
    - std::string::append
    - fprintf
    - std::string::c_str
    - getenv
    - strstr
    linkageType: ''
    returnType: int
    signature: int RunAllTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:66,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: leveldb::test::TmpDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 22
    functionsReached:
    - Status::ToString
    - ASSERT_TRUE
    - Status::ok
    - leveldb::Env::Default
    linkageType: ''
    returnType: std::string
    signature: std::string TmpDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:72,1
    - Dst: atoi
      Src: /src/bitcoin-core/src/leveldb/util/testharness.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: leveldb::test::RandomSeed
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.cc
    functionUses: 2
    functionsReached:
    - getenv
    - atoi
    linkageType: ''
    returnType: int
    signature: int RandomSeed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutFixed32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:17,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:20,1
    - Dst: leveldb::DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:22,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DecodeFixed32
    - std::string::data
    - leveldb::PutFixed32
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Fixed32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:31,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:32,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:33,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:34,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:37,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:39,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:42,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:46,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - std::string::data
    - ASSERT_EQ
    - leveldb::DecodeFixed64
    - leveldb::PutFixed64
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Fixed64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutFixed32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:59,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:60,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:61,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:61,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:62,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:63,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:63,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:65,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:67,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:68,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:69,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:70,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:71,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:72,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:72,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:73,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:74,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:75,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 76
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<int>
    - ASSERT_EQ
    - std::string::clear
    - leveldb::PutFixed32
    - leveldb::PutFixed64
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, EncodingOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:82,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:85,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:86,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:94,1
    - Dst: leveldb::VarintLength
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:96,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:96,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - leveldb::VarintLength
    - ASSERT_EQ
    - leveldb::GetVarint32Ptr
    - ASSERT_TRUE
    - leveldb::PutVarint32
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:104,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:105,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:105,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:106,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:110,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:111,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:112,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:116,1
    - Dst: leveldb::PutVarint64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:117,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:120,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:121,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:122,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:123,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:126,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:129,1
    - Dst: leveldb::VarintLength
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 132
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - std::string::size
    - std::string::data
    - leveldb::VarintLength
    - leveldb::GetVarint64Ptr
    - leveldb::PutVarint64
    - ASSERT_EQ
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetVarint32Ptr
    - std::string::size
    - ASSERT_TRUE
    - std::string::data
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint32Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:144,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:146,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:147,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:147,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:147,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:147,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - ASSERT_EQ
    - leveldb::GetVarint32Ptr
    - ASSERT_TRUE
    - leveldb::PutVarint32
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint32Truncation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - ASSERT_TRUE
    - std::string::data
    - leveldb::GetVarint64Ptr
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint64Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutVarint64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:164,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:166,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:167,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:167,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:167,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - leveldb::GetVarint64Ptr
    - leveldb::PutVarint64
    - ASSERT_EQ
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint64Truncation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:176,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:176,1
    - Dst: leveldb::PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:177,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:177,1
    - Dst: leveldb::PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:178,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:178,1
    - Dst: leveldb::PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:179,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:179,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:183,1
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:184,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:184,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:185,1
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:186,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:187,1
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:188,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:188,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:189,1
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:190,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:190,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:191,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Slice
    - leveldb::PutLengthPrefixedSlice
    - std::string
    - ASSERT_EQ
    - ASSERT_TRUE
    - Slice::ToString
    - leveldb::GetLengthPrefixedSlice
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Strings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutFixed32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:17,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:20,1
    - Dst: leveldb::DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:22,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DecodeFixed32
    - std::string::data
    - leveldb::PutFixed32
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Fixed32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:31,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:32,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:33,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:34,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:37,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:39,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:42,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:46,1
    - Dst: leveldb::DecodeFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - std::string::data
    - ASSERT_EQ
    - leveldb::DecodeFixed64
    - leveldb::PutFixed64
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Fixed64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutFixed32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:59,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:60,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:61,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:61,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:62,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:63,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:63,1
    - Dst: std::string::clear
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:65,1
    - Dst: leveldb::PutFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:67,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:68,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:69,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:70,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:71,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:72,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:72,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:73,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:74,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:75,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 76
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<int>
    - ASSERT_EQ
    - std::string::clear
    - leveldb::PutFixed32
    - leveldb::PutFixed64
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, EncodingOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:82,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:85,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:86,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:94,1
    - Dst: leveldb::VarintLength
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:96,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:96,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - leveldb::VarintLength
    - ASSERT_EQ
    - leveldb::GetVarint32Ptr
    - ASSERT_TRUE
    - leveldb::PutVarint32
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:103,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:104,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:105,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:105,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:106,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:106,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:110,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:111,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:112,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:116,1
    - Dst: leveldb::PutVarint64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:117,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:120,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:121,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:122,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:123,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:126,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:129,1
    - Dst: leveldb::VarintLength
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 132
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - std::string::size
    - std::string::data
    - leveldb::VarintLength
    - leveldb::GetVarint64Ptr
    - leveldb::PutVarint64
    - ASSERT_EQ
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetVarint32Ptr
    - std::string::size
    - ASSERT_TRUE
    - std::string::data
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint32Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:144,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:146,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:147,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:147,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:147,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:147,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - ASSERT_EQ
    - leveldb::GetVarint32Ptr
    - ASSERT_TRUE
    - leveldb::PutVarint32
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint32Truncation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - ASSERT_TRUE
    - std::string::data
    - leveldb::GetVarint64Ptr
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint64Overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutVarint64
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:164,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:166,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:167,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:167,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:167,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - leveldb::GetVarint64Ptr
    - leveldb::PutVarint64
    - ASSERT_EQ
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Varint64Truncation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:176,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:176,1
    - Dst: leveldb::PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:177,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:177,1
    - Dst: leveldb::PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:178,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:178,1
    - Dst: leveldb::PutLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:179,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:179,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:183,1
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:183,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:184,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:184,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:185,1
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:186,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:186,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:187,1
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:188,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:188,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:189,1
    - Dst: leveldb::GetLengthPrefixedSlice
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:190,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:190,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:191,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Slice
    - leveldb::PutLengthPrefixedSlice
    - std::string
    - ASSERT_EQ
    - ASSERT_TRUE
    - Slice::ToString
    - leveldb::GetLengthPrefixedSlice
    linkageType: ''
    returnType: void
    signature: void TEST(Coding, Strings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/coding_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: leveldb::Random::Random
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Random(uint32_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/random.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: leveldb::Random::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Random::Next
      Src: /src/bitcoin-core/src/leveldb/util/random.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: leveldb::Random::Uniform
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 0
    functionsReached:
    - leveldb::Random::Next
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Uniform(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Random::Next
      Src: /src/bitcoin-core/src/leveldb/util/random.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: leveldb::Random::OneIn
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 0
    functionsReached:
    - leveldb::Random::Next
    linkageType: ''
    returnType: bool
    signature: bool OneIn(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/random.h:58,1
    - Dst: leveldb::Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/random.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_log
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: leveldb::Random::Skewed
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 0
    functionsReached:
    - leveldb::Random::Uniform
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Skewed(int max_log)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: leveldb::Random::Random
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Random(uint32_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/util/random.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: leveldb::Random::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 2
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Random::Next
      Src: /src/bitcoin-core/src/leveldb/util/random.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: leveldb::Random::Uniform
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 1
    functionsReached:
    - leveldb::Random::Next
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Uniform(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Random::Next
      Src: /src/bitcoin-core/src/leveldb/util/random.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: leveldb::Random::OneIn
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 0
    functionsReached:
    - leveldb::Random::Next
    linkageType: ''
    returnType: bool
    signature: bool OneIn(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/random.h:58,1
    - Dst: leveldb::Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/random.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_log
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: leveldb::Random::Skewed
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/random.h
    functionUses: 0
    functionsReached:
    - leveldb::Random::Uniform
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Skewed(int max_log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:17,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:18,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:18,1
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:20,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:21,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:26,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:31,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 40
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - memset
    - reinterpret_cast<char*>
    - leveldb::crc32c::Value
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, StandardResults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - leveldb::crc32c::Value
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Extend
    - leveldb::crc32c::Value
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Extend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:50,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Mask
    - ASSERT_EQ
    - leveldb::crc32c::Unmask
    - leveldb::crc32c::Value
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:17,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:18,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:18,1
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:20,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:21,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:26,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:31,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 40
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - memset
    - reinterpret_cast<char*>
    - leveldb::crc32c::Value
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, StandardResults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - leveldb::crc32c::Value
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Extend
    - leveldb::crc32c::Value
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Extend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:50,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Mask
    - ASSERT_EQ
    - leveldb::crc32c::Unmask
    - leveldb::crc32c::Value
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:17,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:18,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:18,1
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:20,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:21,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:26,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:31,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 40
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - memset
    - reinterpret_cast<char*>
    - leveldb::crc32c::Value
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, StandardResults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - leveldb::crc32c::Value
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Extend
    - leveldb::crc32c::Value
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Extend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:50,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Mask
    - ASSERT_EQ
    - leveldb::crc32c::Unmask
    - leveldb::crc32c::Value
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:17,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:18,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:18,1
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:20,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:21,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:26,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:31,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 40
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - memset
    - reinterpret_cast<char*>
    - leveldb::crc32c::Value
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, StandardResults)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - leveldb::crc32c::Value
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Extend
    - leveldb::crc32c::Value
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Extend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:50,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Unmask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    - Dst: leveldb::crc32c::Mask
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: leveldb::crc32c::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::crc32c::Mask
    - ASSERT_EQ
    - leveldb::crc32c::Unmask
    - leveldb::crc32c::Value
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(CRC, Mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::EnvTest::EnvTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void EnvTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:31,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:31,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:34,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:34,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:39,1
    - Dst: Random::Skewed
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:40,1
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:42,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:43,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:43,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:45,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:46,1
    - Dst: WritableFile*::Flush
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:46,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:49,1
    - Dst: WritableFile*::Sync
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:49,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:50,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:50,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:55,1
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:55,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:58,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:58,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:59,1
    - Dst: Random::Skewed
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:59,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:59,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:59,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:60,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:60,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:62,1
    - Dst: SequentialFile*::Read
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:62,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:64,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:64,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:66,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:66,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:67,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:67,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 71
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - WritableFile*::Sync
    - leveldb::test::RandomString
    - ASSERT_GT
    - ASSERT_EQ
    - std::min<int>
    - WritableFile*::Close
    - Slice::data
    - Random::Skewed
    - leveldb::NewWritableFile
    - std::string::append
    - ASSERT_LE
    - SequentialFile*::Read
    - leveldb::NewSequentialFile
    - leveldb::GetTestDirectory
    - std::string::resize
    - Slice::size
    - ASSERT_OK
    - WritableFile*::Flush
    - std::string::size
    - Random::OneIn
    - WritableFile*::Append
    - std::max
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, ReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RunState*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:82,1
    - Dst: RunState*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:84,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:89,1
    - Dst: RunState::cvar::Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - RunState::cvar::Wait
    - reinterpret_cast<RunState*>
    - leveldb::Schedule
    - ASSERT_EQ
    - RunState*::cvar::Signal
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, RunImmediately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RunState*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:82,1
    - Dst: RunState*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: leveldb::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - RunState*::cvar::Signal
    - reinterpret_cast<RunState*>
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void Run(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Callback*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:115,1
    - Dst: RunState*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:117,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:126,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:127,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:128,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:129,1
    - Dst: RunState::cvar::Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 135
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - RunState::cvar::Wait
    - RunState*::cvar::Signal
    - leveldb::Schedule
    - ASSERT_EQ
    - reinterpret_cast<Callback*>
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, RunMany)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - RunState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: leveldb::Callback
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Callback(RunState* s, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Callback*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:115,1
    - Dst: RunState*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: leveldb::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Callback*>
    - RunState*::cvar::Signal
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void Run(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - val
    - num_running
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: leveldb::State
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void State(int val, int num_running)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:148,1
    - Dst: State*::mu::Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:149,1
    - Dst: State*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:152,1
    - Dst: State*::mu::Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: leveldb::ThreadBody
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - State*::mu::Lock
    - reinterpret_cast<State*>
    - State*::cvar::Signal
    - State*::mu::Unlock
    linkageType: ''
    returnType: void
    signature: void ThreadBody(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::StartThread
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:159,1
    - Dst: State::cvar::Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::StartThread
    - State::cvar::Wait
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, StartThread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:172,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:175,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:175,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:180,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:180,1
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:183,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:184,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FileExists
    - leveldb::NewRandomAccessFile
    - Status::IsNotFound
    - ASSERT_TRUE
    - ASSERT_OK
    - leveldb::NewSequentialFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, TestOpenNonExistentFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:189,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:189,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:191,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:194,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:194,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:196,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:196,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:197,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:197,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:200,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:200,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:202,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:202,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:203,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:203,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:206,1
    - Dst: leveldb::ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:206,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:207,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:207,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - WritableFile*::Close
    - WritableFile*::Append
    - leveldb::ReadFileToString
    - ASSERT_EQ
    - leveldb::NewWritableFile
    - std::string
    - ASSERT_OK
    - leveldb::DeleteFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, ReopenWritableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:213,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:213,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:215,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:218,1
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:218,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:220,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:220,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:221,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:221,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:224,1
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:224,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:226,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:226,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:227,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:227,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:230,1
    - Dst: leveldb::ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:231,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:231,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - WritableFile*::Close
    - WritableFile*::Append
    - leveldb::ReadFileToString
    - ASSERT_EQ
    - std::string
    - ASSERT_OK
    - leveldb::DeleteFile
    - leveldb::NewAppendableFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, ReopenAppendableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::EnvTest::EnvTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void EnvTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:31,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:31,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:34,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:34,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:39,1
    - Dst: Random::Skewed
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:40,1
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:42,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:43,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:43,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:45,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:46,1
    - Dst: WritableFile*::Flush
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:46,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:49,1
    - Dst: WritableFile*::Sync
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:49,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:50,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:50,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:55,1
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:55,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:58,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:58,1
    - Dst: std::min<int>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:59,1
    - Dst: Random::Skewed
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:59,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:59,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:59,1
    - Dst: std::string::resize
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:60,1
    - Dst: std::max
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:60,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:62,1
    - Dst: SequentialFile*::Read
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:62,1
    - Dst: ASSERT_GT
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:64,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:64,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:66,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:66,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:67,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:67,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 71
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - WritableFile*::Sync
    - leveldb::test::RandomString
    - ASSERT_GT
    - ASSERT_EQ
    - std::min<int>
    - WritableFile*::Close
    - Slice::data
    - Random::Skewed
    - leveldb::NewWritableFile
    - std::string::append
    - ASSERT_LE
    - SequentialFile*::Read
    - leveldb::NewSequentialFile
    - leveldb::GetTestDirectory
    - std::string::resize
    - Slice::size
    - ASSERT_OK
    - WritableFile*::Flush
    - std::string::size
    - Random::OneIn
    - WritableFile*::Append
    - std::max
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, ReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RunState*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:82,1
    - Dst: RunState*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:84,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:89,1
    - Dst: RunState::cvar::Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - RunState::cvar::Wait
    - reinterpret_cast<RunState*>
    - leveldb::Schedule
    - ASSERT_EQ
    - RunState*::cvar::Signal
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, RunImmediately)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RunState*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:82,1
    - Dst: RunState*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: leveldb::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - RunState*::cvar::Signal
    - reinterpret_cast<RunState*>
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void Run(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Callback*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:115,1
    - Dst: RunState*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:117,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:126,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:127,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:128,1
    - Dst: leveldb::Schedule
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:129,1
    - Dst: RunState::cvar::Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 135
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - RunState::cvar::Wait
    - RunState*::cvar::Signal
    - leveldb::Schedule
    - ASSERT_EQ
    - reinterpret_cast<Callback*>
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, RunMany)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - RunState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: leveldb::Callback
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Callback(RunState* s, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Callback*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:115,1
    - Dst: RunState*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: leveldb::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Callback*>
    - RunState*::cvar::Signal
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void Run(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - val
    - num_running
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: leveldb::State
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void State(int val, int num_running)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<State*>
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:148,1
    - Dst: State*::mu::Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:149,1
    - Dst: State*::cvar::Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:152,1
    - Dst: State*::mu::Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: leveldb::ThreadBody
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - State*::mu::Lock
    - reinterpret_cast<State*>
    - State*::cvar::Signal
    - State*::mu::Unlock
    linkageType: ''
    returnType: void
    signature: void ThreadBody(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::StartThread
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:159,1
    - Dst: State::cvar::Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:164,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::StartThread
    - State::cvar::Wait
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, StartThread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:172,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:175,1
    - Dst: leveldb::FileExists
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:175,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:180,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:180,1
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:183,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:184,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::FileExists
    - leveldb::NewRandomAccessFile
    - Status::IsNotFound
    - ASSERT_TRUE
    - ASSERT_OK
    - leveldb::NewSequentialFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, TestOpenNonExistentFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:189,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:189,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:191,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:194,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:194,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:196,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:196,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:197,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:197,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:200,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:200,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:202,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:202,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:203,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:203,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:206,1
    - Dst: leveldb::ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:206,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:207,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:207,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - WritableFile*::Close
    - WritableFile*::Append
    - leveldb::ReadFileToString
    - ASSERT_EQ
    - leveldb::NewWritableFile
    - std::string
    - ASSERT_OK
    - leveldb::DeleteFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, ReopenWritableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:213,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:213,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:215,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:218,1
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:218,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:220,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:220,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:221,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:221,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:224,1
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:224,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:226,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:226,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:227,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:227,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:230,1
    - Dst: leveldb::ReadFileToString
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:231,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:231,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 0
    functionsReached:
    - WritableFile*::Close
    - WritableFile*::Append
    - leveldb::ReadFileToString
    - ASSERT_EQ
    - std::string
    - ASSERT_OK
    - leveldb::DeleteFile
    - leveldb::NewAppendableFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvTest, ReopenAppendableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/env_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: Env::~Env()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Env::~Env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NotSupported
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 3
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: leveldb::Env::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached:
    - leveldb::NotSupported
    linkageType: ''
    returnType: Status
    signature: Status Env::NewAppendableFile(const std::string& fname, WritableFile**
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: SequentialFile::~SequentialFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SequentialFile::~SequentialFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: RandomAccessFile::~RandomAccessFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomAccessFile::~RandomAccessFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: WritableFile::~WritableFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile::~WritableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Logger::~Logger()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger::~Logger()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: FileLock::~FileLock()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileLock::~FileLock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:28,1
    - Dst: Logger*::Logv
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:29,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info_log
    - format
    argTypes:
    - Logger*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: leveldb::Log
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 2
    functionsReached:
    - Logger*::Logv
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void Log(Logger* info_log, const char* format, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Env*::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:37,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:38,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:41,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:42,1
    - Dst: WritableFile*::Sync
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:43,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:45,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:46,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:49,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - env
    - ' data'
    - ' fname'
    - should_sync
    argTypes:
    - Env*
    - Slice
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: leveldb::DoWriteStringToFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached:
    - WritableFile*::Sync
    - Env*::NewWritableFile
    - Env*::DeleteFile
    - WritableFile*::Close
    - WritableFile*::Append
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status DoWriteStringToFile(Env* env, const Slice& data,\n                                  const
      std::string& fname, bool should_sync)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DoWriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' data'
    - ' fname'
    argTypes:
    - Env*
    - Slice
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: leveldb::WriteStringToFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached:
    - leveldb::DoWriteStringToFile
    linkageType: ''
    returnType: Status
    signature: "Status WriteStringToFile(Env* env, const Slice& data,\n                         const
      std::string& fname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DoWriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' data'
    - ' fname'
    argTypes:
    - Env*
    - Slice
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: leveldb::WriteStringToFileSync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 2
    functionsReached:
    - leveldb::DoWriteStringToFile
    linkageType: ''
    returnType: Status
    signature: "Status WriteStringToFileSync(Env* env, const Slice& data,\n                             const
      std::string& fname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:66,1
    - Dst: Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:68,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:69,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:73,1
    - Dst: SequentialFile*::Read
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:76,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:77,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:80,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:80,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:80,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - env
    - ' fname'
    - data
    argTypes:
    - Env*
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 88
    functionName: leveldb::ReadFileToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 4
    functionsReached:
    - std::string*::clear
    - Slice::data
    - Slice::empty
    - Slice::size
    - std::string*::append
    - char::char
    - SequentialFile*::Read
    - Env*::NewSequentialFile
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status ReadFileToString(Env* env, const std::string& fname, std::string*
      data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: EnvWrapper::~EnvWrapper()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnvWrapper::~EnvWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: Env::~Env()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Env::~Env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NotSupported
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 3
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: leveldb::Env::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached:
    - leveldb::NotSupported
    linkageType: ''
    returnType: Status
    signature: Status Env::NewAppendableFile(const std::string& fname, WritableFile**
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: SequentialFile::~SequentialFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SequentialFile::~SequentialFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: RandomAccessFile::~RandomAccessFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomAccessFile::~RandomAccessFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: WritableFile::~WritableFile()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile::~WritableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Logger::~Logger()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger::~Logger()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: FileLock::~FileLock()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileLock::~FileLock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:28,1
    - Dst: Logger*::Logv
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:29,1
    - Dst: va_end
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info_log
    - format
    argTypes:
    - Logger*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: leveldb::Log
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 2
    functionsReached:
    - Logger*::Logv
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void Log(Logger* info_log, const char* format, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Env*::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:37,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:38,1
    - Dst: WritableFile*::Append
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:41,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:42,1
    - Dst: WritableFile*::Sync
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:43,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:45,1
    - Dst: WritableFile*::Close
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:46,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:49,1
    - Dst: Env*::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - env
    - ' data'
    - ' fname'
    - should_sync
    argTypes:
    - Env*
    - Slice
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: leveldb::DoWriteStringToFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 2
    functionsReached:
    - WritableFile*::Sync
    - Env*::NewWritableFile
    - Env*::DeleteFile
    - WritableFile*::Close
    - WritableFile*::Append
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status DoWriteStringToFile(Env* env, const Slice& data,\n                                  const
      std::string& fname, bool should_sync)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DoWriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' data'
    - ' fname'
    argTypes:
    - Env*
    - Slice
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: leveldb::WriteStringToFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached:
    - leveldb::DoWriteStringToFile
    linkageType: ''
    returnType: Status
    signature: "Status WriteStringToFile(Env* env, const Slice& data,\n                         const
      std::string& fname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DoWriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - env
    - ' data'
    - ' fname'
    argTypes:
    - Env*
    - Slice
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: leveldb::WriteStringToFileSync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 2
    functionsReached:
    - leveldb::DoWriteStringToFile
    linkageType: ''
    returnType: Status
    signature: "Status WriteStringToFileSync(Env* env, const Slice& data,\n                             const
      std::string& fname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:66,1
    - Dst: Env*::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:68,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:69,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:73,1
    - Dst: SequentialFile*::Read
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:76,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:77,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:80,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:80,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:80,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/util/env.cc:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - env
    - ' fname'
    - data
    argTypes:
    - Env*
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 88
    functionName: leveldb::ReadFileToString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 4
    functionsReached:
    - std::string*::clear
    - Slice::data
    - Slice::empty
    - Slice::size
    - std::string*::append
    - char::char
    - SequentialFile*::Read
    - Env*::NewSequentialFile
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status ReadFileToString(Env* env, const std::string& fname, std::string*
      data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: EnvWrapper::~EnvWrapper()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnvWrapper::~EnvWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Arena
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Arena
    linkageType: ''
    returnType: void
    signature: void TEST(ArenaTest, Empty)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Arena
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:18,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:27,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:28,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:29,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:29,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:29,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:36,1
    - Dst: Arena::AllocateAligned
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:37,1
    - Dst: Arena::Allocate
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:39,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:47,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:47,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:48,1
    - Dst: Arena::MemoryUsage
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:48,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:50,1
    - Dst: Arena::MemoryUsage
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:50,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 61
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::AllocateAligned
    - std::make_pair
    - Random::OneIn
    - ASSERT_GE
    - Arena::Allocate
    - ASSERT_EQ
    - std::vector::push_back
    - ASSERT_LE
    - Random::Uniform
    - std::vector::size
    - Arena::MemoryUsage
    - Arena::Arena
    linkageType: ''
    returnType: void
    signature: void TEST(ArenaTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Arena
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::Arena
    linkageType: ''
    returnType: void
    signature: void TEST(ArenaTest, Empty)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Arena
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:18,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:27,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:28,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:29,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:29,1
    - Dst: Random::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:29,1
    - Dst: Random::OneIn
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:36,1
    - Dst: Arena::AllocateAligned
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:37,1
    - Dst: Arena::Allocate
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:39,1
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:47,1
    - Dst: std::make_pair
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:47,1
    - Dst: ASSERT_GE
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:48,1
    - Dst: Arena::MemoryUsage
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:48,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:50,1
    - Dst: Arena::MemoryUsage
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:50,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 61
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena_test.cc
    functionUses: 0
    functionsReached:
    - Arena::AllocateAligned
    - std::make_pair
    - Random::OneIn
    - ASSERT_GE
    - Arena::Allocate
    - ASSERT_EQ
    - std::vector::push_back
    - ASSERT_LE
    - Random::Uniform
    - std::vector::size
    - Arena::MemoryUsage
    - Arena::Arena
    linkageType: ''
    returnType: void
    signature: void TEST(ArenaTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/arena_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: leveldb::Histogram::Histogram
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Histogram()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: ~Histogram()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Histogram()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: leveldb::Histogram::Histogram
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Histogram()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: ~Histogram()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Histogram()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:17,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:17,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:18,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:18,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:19,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:19,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:21,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:22,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:22,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:23,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:23,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:24,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:26,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:27,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:28,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:29,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:30,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:30,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:34,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:35,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:36,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:36,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:37,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:37,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:38,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - leveldb::NumberToString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, NumberToString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:43,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:48,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:50,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:50,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:50,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:51,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:51,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: leveldb::ConsumeDecimalNumberRoundtripTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - Slice::data
    - leveldb::NumberToString
    - ASSERT_EQ
    - leveldb::ConsumeDecimalNumber
    - ASSERT_TRUE
    - Slice::size
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: "void ConsumeDecimalNumberRoundtripTest(uint64_t number,\n                                       const
      std::string& padding = \"\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:55,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:56,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:57,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:59,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:60,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:61,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:62,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:64,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:65,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:66,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:68,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:68,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:71,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - leveldb::NumberToString
    - leveldb::ConsumeDecimalNumberRoundtripTest
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, ConsumeDecimalNumberRoundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:77,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:78,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:79,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:81,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:82,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:82,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:83,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:84,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:86,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:89,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - leveldb::ConsumeDecimalNumberRoundtripTest
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, ConsumeDecimalNumberRoundtripWithPadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:98,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input_string'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: leveldb::ConsumeDecimalNumberOverflowTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ConsumeDecimalNumber
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void ConsumeDecimalNumberOverflowTest(const std::string& input_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:102,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:104,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:105,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:106,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:107,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:108,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:109,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:110,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:111,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:112,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:113,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:114,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:116,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - leveldb::ConsumeDecimalNumberOverflowTest
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, ConsumeDecimalNumberOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:125,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:126,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:126,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:127,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:127,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' input_string'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: leveldb::ConsumeDecimalNumberNoDigitsTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - Slice::data
    - leveldb::ConsumeDecimalNumber
    - Slice::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void ConsumeDecimalNumberNoDigitsTest(const std::string& input_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:131,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:132,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:133,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:134,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:135,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:136,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:136,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:137,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:137,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:138,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ConsumeDecimalNumberNoDigitsTest
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, ConsumeDecimalNumberNoDigits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:17,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:17,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:18,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:18,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:19,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:19,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:21,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:22,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:22,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:23,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:23,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:24,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:26,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:27,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:28,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:29,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:30,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:30,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:34,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:35,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:36,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:36,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:37,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:37,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:38,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - leveldb::NumberToString
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, NumberToString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:43,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:48,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:50,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:50,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:50,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:51,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:51,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: leveldb::ConsumeDecimalNumberRoundtripTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 2
    functionsReached:
    - std::string::size
    - Slice::data
    - leveldb::NumberToString
    - ASSERT_EQ
    - leveldb::ConsumeDecimalNumber
    - ASSERT_TRUE
    - Slice::size
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: "void ConsumeDecimalNumberRoundtripTest(uint64_t number,\n                                       const
      std::string& padding = \"\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:55,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:56,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:57,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:59,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:60,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:61,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:62,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:64,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:65,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:66,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:68,1
    - Dst: leveldb::NumberToString
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:68,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:71,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - leveldb::NumberToString
    - leveldb::ConsumeDecimalNumberRoundtripTest
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, ConsumeDecimalNumberRoundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:77,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:78,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:79,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:81,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:82,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:82,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:83,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:84,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:86,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:89,1
    - Dst: leveldb::ConsumeDecimalNumberRoundtripTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - leveldb::ConsumeDecimalNumberRoundtripTest
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, ConsumeDecimalNumberRoundtripWithPadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:98,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input_string'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: leveldb::ConsumeDecimalNumberOverflowTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::ConsumeDecimalNumber
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void ConsumeDecimalNumberOverflowTest(const std::string& input_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:102,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:104,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:105,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:106,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:107,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:108,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:109,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:110,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:111,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:112,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:113,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:114,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:116,1
    - Dst: leveldb::ConsumeDecimalNumberOverflowTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - leveldb::ConsumeDecimalNumberOverflowTest
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, ConsumeDecimalNumberOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:125,1
    - Dst: leveldb::ConsumeDecimalNumber
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:126,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:126,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:127,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:127,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' input_string'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: leveldb::ConsumeDecimalNumberNoDigitsTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 1
    functionsReached:
    - Slice::data
    - leveldb::ConsumeDecimalNumber
    - Slice::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void ConsumeDecimalNumberNoDigitsTest(const std::string& input_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:131,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:132,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:133,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:134,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:135,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:136,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:136,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:137,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:137,1
    - Dst: leveldb::ConsumeDecimalNumberNoDigitsTest
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:138,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::ConsumeDecimalNumberNoDigitsTest
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(Logging, ConsumeDecimalNumberNoDigits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/logging_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/logging_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:62,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:62,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:64,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - error_number
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: leveldb::PosixError
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::strerror
    - leveldb::IOError
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: Status PosixError(const std::string& context, int error_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_acquires
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(int max_acquires)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(const Limiter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: operator=(const Limiter&)
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Limiter
    signature: Limiter operator=(const Limiter&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:84,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: leveldb::Limiter::Acquire
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - fetch_sub
    linkageType: ''
    returnType: bool
    signature: bool Acquire()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: leveldb::Limiter::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - fd
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: leveldb::PosixSequentialFile::PosixSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PosixSequentialFile(std::string filename, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PosixSequentialFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~PosixSequentialFile() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:117,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:122,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: leveldb::PosixSequentialFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixError
    - AutoFile::read
    - Slice
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::lseek
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:132,1
    - Dst: static_cast<off_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:132,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:133,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: leveldb::PosixSequentialFile::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::lseek
    - PosixError
    - leveldb::OK
    - static_cast<off_t>
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: leveldb::PosixSequentialFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Limiter*::Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:155,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:158,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:160,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - fd
    - fd_limiter
    argTypes:
    - std::string
    - int
    - Limiter*
    assertStmts:
    - condition: (fd_ == -1)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: leveldb::PosixRandomAccessFile::PosixRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - FuzzedFileProvider::close
    - assert
    - Limiter*::Acquire
    - std::move
    linkageType: ''
    returnType: void
    signature: void PosixRandomAccessFile(std::string filename, int fd, Limiter* fd_limiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:167,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:168,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fd_ != -1)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: ~PosixRandomAccessFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Release
    - assert
    - FuzzedFileProvider::close
    linkageType: ''
    returnType: void
    signature: void ~PosixRandomAccessFile() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:177,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:177,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:183,1
    - Dst: ::pread
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:186,1
    - Dst: static_cast<off_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:186,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:187,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:190,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:194,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts:
    - condition: (fd != -1)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    - condition: (fd != fd_)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 198
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 198
    functionName: leveldb::PosixRandomAccessFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Slice
    - ::pread
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - static_cast<off_t>
    - c_str
    - assert
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: leveldb::PosixRandomAccessFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - filename
    - mmap_base
    - length
    - mmap_limiter
    argTypes:
    - std::string
    - char*
    - size_t
    - Limiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: leveldb::PosixMmapReadableFile::PosixMmapReadableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PosixMmapReadableFile(std::string filename, char* mmap_base,
      size_t length,\n                        Limiter* mmap_limiter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::munmap
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:231,1
    - Dst: static_cast<void*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:231,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: ~PosixMmapReadableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::munmap
    - Release
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ~PosixMmapReadableFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:238,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:239,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:242,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: leveldb::PosixMmapReadableFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Slice
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: leveldb::PosixMmapReadableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::IsManifest
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:260,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:261,1
    - Dst: leveldb::PosixWritableFile::Dirname
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - fd
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: leveldb::PosixWritableFile::PosixWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::IsManifest
    - std::move
    - leveldb::PosixWritableFile::Dirname
    linkageType: ''
    returnType: void
    signature: void PosixWritableFile(std::string filename, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: ~PosixWritableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~PosixWritableFile() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:272,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:273,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:276,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:277,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:282,1
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:286,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:287,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:293,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:295,1
    - Dst: leveldb::PosixWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 298
    functionName: leveldb::PosixWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - leveldb::PosixWritableFile::FlushBuffer
    - leveldb::OK
    - size
    - data
    - leveldb::PosixWritableFile::WriteUnbuffered
    - std::min
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:301,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:302,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:303,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: leveldb::PosixWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - FuzzedFileProvider::close
    - PosixError
    - Status::ok
    - leveldb::PosixWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: leveldb::PosixWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::SyncDirIfManifest
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:318,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:319,1
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:323,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:324,1
    - Dst: leveldb::PosixWritableFile::SyncFd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 329
    functionName: leveldb::PosixWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::SyncFd
    - Status::ok
    - leveldb::PosixWritableFile::FlushBuffer
    - leveldb::PosixWritableFile::SyncDirIfManifest
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: leveldb::PosixWritableFile::FlushBuffer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 4
    functionsReached:
    - leveldb::PosixWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status FlushBuffer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::write
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:340,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:345,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: leveldb::PosixWritableFile::WriteUnbuffered
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - PosixError
    - leveldb::OK
    - AutoFile::write
    linkageType: ''
    returnType: Status
    signature: Status WriteUnbuffered(const char* data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:359,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:359,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:361,1
    - Dst: leveldb::PosixWritableFile::SyncFd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:363,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: leveldb::PosixWritableFile::SyncDirIfManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 1
    functionsReached:
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - c_str
    - leveldb::PosixWritableFile::SyncFd
    linkageType: ''
    returnType: Status
    signature: Status SyncDirIfManifest()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::fcntl
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:381,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:382,1
    - Dst: ::fdatasync
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:387,1
    - Dst: ::fsync
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:389,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:393,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:398,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - ' fd_path'
    - syncing_dir
    argTypes:
    - int
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 401
    functionName: leveldb::PosixWritableFile::SyncFd
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - ::fcntl
    - ::fsync
    - ::fdatasync
    - leveldb::OK
    - PosixError
    linkageType: ''
    returnType: Status
    signature: Status SyncFd(int fd, const std::string& fd_path, bool syncing_dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:407,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:409,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:413,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:413,1
    - Dst: substr
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts:
    - condition: (filename.find('/', separator_pos + 1) == std::string::npos)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: leveldb::PosixWritableFile::Dirname
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 1
    functionsReached:
    - substr
    - rfind
    - std::string
    - assert
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string Dirname(const std::string& filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:423,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:425,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:429,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:429,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:431,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:431,1
    - Dst: length
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts:
    - condition: (filename.find('/', separator_pos + 1) == std::string::npos)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: leveldb::PosixWritableFile::Basename
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Slice
    - rfind
    - length
    - data
    - assert
    - find
    linkageType: ''
    returnType: Slice
    signature: Slice Basename(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::Basename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: leveldb::PosixWritableFile::IsManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 1
    functionsReached:
    - leveldb::PosixWritableFile::Basename
    linkageType: ''
    returnType: bool
    signature: bool IsManifest(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: leveldb::PosixWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:455,1
    - Dst: ::fcntl
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - lock
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: leveldb::LockOrUnlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::fcntl
    - std::memset
    linkageType: ''
    returnType: int
    signature: int LockOrUnlock(int fd, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fd
    - filename
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: leveldb::PosixFileLock::PosixFileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PosixFileLock(int fd, std::string filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: leveldb::PosixFileLock::fd
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: '& filename() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:487,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:488,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: leveldb::PosixLockTable::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - insert
    - Unlock
    - Lock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:493,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:494,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: leveldb::PosixLockTable::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - erase
    - Lock
    - Unlock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:509,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    functionName: ~PosixEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::fwrite
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~PosixEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:515,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:515,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:518,1
    - Dst: PosixSequentialFile::PosixSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:521,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: leveldb::PosixEnv::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - c_str
    - PosixSequentialFile::PosixSequentialFile
    linkageType: ''
    returnType: Status
    signature: "Status NewSequentialFile(const std::string& filename,\n                           SequentialFile**
      result) override"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:528,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:528,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:530,1
    - Dst: Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:533,1
    - Dst: PosixRandomAccessFile::PosixRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:534,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:535,1
    - Dst: leveldb::PosixEnv::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:539,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:540,1
    - Dst: ::mmap
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:542,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:545,1
    - Dst: PosixMmapReadableFile::PosixMmapReadableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:544,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:548,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:551,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:552,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 556
    functionName: leveldb::PosixEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Release
    - leveldb::OK
    - PosixRandomAccessFile::PosixRandomAccessFile
    - FuzzedFileProvider::open
    - PosixMmapReadableFile::PosixMmapReadableFile
    - PosixError
    - Acquire
    - leveldb::PosixEnv::GetFileSize
    - ::mmap
    - FuzzedFileProvider::close
    - reinterpret_cast<char*>
    - c_str
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& filename,\n                             RandomAccessFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:560,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:560,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:564,1
    - Dst: PosixWritableFile::PosixWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:567,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: leveldb::PosixEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - PosixWritableFile::PosixWritableFile
    - c_str
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& filename,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:573,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:573,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:577,1
    - Dst: PosixWritableFile::PosixWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:580,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: leveldb::PosixEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - PosixWritableFile::PosixWritableFile
    - c_str
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& filename,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::access
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:585,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: leveldb::PosixEnv::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::access
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>*::clear
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:590,1
    - Dst: ::opendir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:591,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:591,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:593,1
    - Dst: ::readdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:596,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:597,1
    - Dst: ::closedir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:599,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' directory_path'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: leveldb::PosixEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - ::readdir
    - PosixError
    - ::closedir
    - ::opendir
    - c_str
    - std::vector<std::string>*::clear
    - std::vector<std::string>*::emplace_back
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& directory_path,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::unlink
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:604,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:604,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:605,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: leveldb::PosixEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::unlink
    - PosixError
    - c_str
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::mkdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:611,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:611,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:612,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: leveldb::PosixEnv::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - c_str
    - ::mkdir
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::rmdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:618,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:618,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:619,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: leveldb::PosixEnv::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - c_str
    - PosixError
    - leveldb::OK
    - ::rmdir
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::stat
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:626,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:626,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:628,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - size
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: leveldb::PosixEnv::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 1
    functionsReached:
    - c_str
    - ::stat
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& filename, uint64_t* size) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::rename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:636,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: leveldb::PosixEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::rename
    - PosixError
    - c_str
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& from, const std::string& to) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:644,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:644,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:646,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:649,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:650,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:651,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:654,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:656,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:657,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:658,1
    - Dst: PosixFileLock::PosixFileLock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:661,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' filename'
    - lock
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: leveldb::PosixEnv::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Insert
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - leveldb::IOError
    - PosixFileLock::PosixFileLock
    - c_str
    - Remove
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& filename, FileLock** lock) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PosixFileLock*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:666,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:667,1
    - Dst: PosixFileLock*::fd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:667,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:668,1
    - Dst: PosixFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:668,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:670,1
    - Dst: PosixFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:670,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:671,1
    - Dst: PosixFileLock*::fd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:671,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 674
    functionName: leveldb::PosixEnv::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - static_cast<PosixFileLock*>
    - leveldb::OK
    - PosixError
    - Remove
    - FuzzedFileProvider::close
    - PosixFileLock*::fd
    - PosixFileLock*::filename
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread_main_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: leveldb::PosixEnv::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void StartThread(void (*thread_main)(void* thread_main_arg),\n                   void*
      thread_main_arg) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:686,1
    - Dst: std::snprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:691,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:692,1
    - Dst: ::geteuid
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:692,1
    - Dst: leveldb::PosixEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:697,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 700
    functionName: leveldb::PosixEnv::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::getenv
    - ::geteuid
    - static_cast<int>
    - leveldb::OK
    - std::snprintf
    - leveldb::PosixEnv::CreateDir
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* result) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:703,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:703,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:707,1
    - Dst: ::fdopen
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:710,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:712,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:714,1
    - Dst: PosixLogger::PosixLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:716,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 719
    functionName: leveldb::PosixEnv::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixLogger::PosixLogger
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - c_str
    - ::fdopen
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& filename, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gettimeofday
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:724,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: leveldb::PosixEnv::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ::gettimeofday
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:729,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: leveldb::PosixEnv::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - count_microseconds
    - CThreadInterrupt::sleep_for
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PosixEnv*::BackgroundThreadMain
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - PosixEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: leveldb::PosixEnv::BackgroundThreadEntryPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixEnv*::BackgroundThreadMain
    linkageType: ''
    returnType: void
    signature: void BackgroundThreadEntryPoint(PosixEnv* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 747
    functionName: leveldb::PosixEnv::BackgroundWorkItem
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackgroundWorkItem(void (*function)(void* arg), void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: leveldb::MaxMmaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MaxMmaps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::getrlimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:774,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: leveldb::MaxOpenFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - ::getrlimit
    linkageType: ''
    returnType: int
    signature: int MaxOpenFiles()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:62,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:62,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:64,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - error_number
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: leveldb::PosixError
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::strerror
    - leveldb::IOError
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: Status PosixError(const std::string& context, int error_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_acquires
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(int max_acquires)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(const Limiter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: operator=(const Limiter&)
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Limiter
    signature: Limiter operator=(const Limiter&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:84,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: leveldb::Limiter::Acquire
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - fetch_sub
    linkageType: ''
    returnType: bool
    signature: bool Acquire()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: leveldb::Limiter::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - fd
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: leveldb::PosixSequentialFile::PosixSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PosixSequentialFile(std::string filename, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PosixSequentialFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~PosixSequentialFile() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:117,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:122,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: leveldb::PosixSequentialFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixError
    - AutoFile::read
    - Slice
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::lseek
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:132,1
    - Dst: static_cast<off_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:132,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:133,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: leveldb::PosixSequentialFile::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::lseek
    - PosixError
    - leveldb::OK
    - static_cast<off_t>
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: leveldb::PosixSequentialFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Limiter*::Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:155,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:158,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:160,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - fd
    - fd_limiter
    argTypes:
    - std::string
    - int
    - Limiter*
    assertStmts:
    - condition: (fd_ == -1)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: leveldb::PosixRandomAccessFile::PosixRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - FuzzedFileProvider::close
    - assert
    - Limiter*::Acquire
    - std::move
    linkageType: ''
    returnType: void
    signature: void PosixRandomAccessFile(std::string filename, int fd, Limiter* fd_limiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:167,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:168,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fd_ != -1)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: ~PosixRandomAccessFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Release
    - assert
    - FuzzedFileProvider::close
    linkageType: ''
    returnType: void
    signature: void ~PosixRandomAccessFile() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:177,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:177,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:183,1
    - Dst: ::pread
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:186,1
    - Dst: static_cast<off_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:186,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:187,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:190,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:194,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts:
    - condition: (fd != -1)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    - condition: (fd != fd_)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 198
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 198
    functionName: leveldb::PosixRandomAccessFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Slice
    - ::pread
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - static_cast<off_t>
    - c_str
    - assert
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: leveldb::PosixRandomAccessFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - filename
    - mmap_base
    - length
    - mmap_limiter
    argTypes:
    - std::string
    - char*
    - size_t
    - Limiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: leveldb::PosixMmapReadableFile::PosixMmapReadableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PosixMmapReadableFile(std::string filename, char* mmap_base,
      size_t length,\n                        Limiter* mmap_limiter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::munmap
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:231,1
    - Dst: static_cast<void*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:231,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: ~PosixMmapReadableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::munmap
    - Release
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ~PosixMmapReadableFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:238,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:239,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:242,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: leveldb::PosixMmapReadableFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Slice
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: leveldb::PosixMmapReadableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::IsManifest
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:260,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:261,1
    - Dst: leveldb::PosixWritableFile::Dirname
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - fd
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: leveldb::PosixWritableFile::PosixWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::IsManifest
    - std::move
    - leveldb::PosixWritableFile::Dirname
    linkageType: ''
    returnType: void
    signature: void PosixWritableFile(std::string filename, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: ~PosixWritableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~PosixWritableFile() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:272,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:273,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:276,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:277,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:282,1
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:286,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:287,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:293,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:295,1
    - Dst: leveldb::PosixWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 298
    functionName: leveldb::PosixWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - leveldb::PosixWritableFile::FlushBuffer
    - leveldb::OK
    - size
    - data
    - leveldb::PosixWritableFile::WriteUnbuffered
    - std::min
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:301,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:302,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:303,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: leveldb::PosixWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - FuzzedFileProvider::close
    - PosixError
    - Status::ok
    - leveldb::PosixWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: leveldb::PosixWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::SyncDirIfManifest
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:318,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:319,1
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:323,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:324,1
    - Dst: leveldb::PosixWritableFile::SyncFd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 329
    functionName: leveldb::PosixWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::SyncFd
    - Status::ok
    - leveldb::PosixWritableFile::FlushBuffer
    - leveldb::PosixWritableFile::SyncDirIfManifest
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: leveldb::PosixWritableFile::FlushBuffer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 8
    functionsReached:
    - leveldb::PosixWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status FlushBuffer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::write
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:340,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:345,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: leveldb::PosixWritableFile::WriteUnbuffered
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 4
    functionsReached:
    - PosixError
    - leveldb::OK
    - AutoFile::write
    linkageType: ''
    returnType: Status
    signature: Status WriteUnbuffered(const char* data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:359,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:359,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:361,1
    - Dst: leveldb::PosixWritableFile::SyncFd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:363,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: leveldb::PosixWritableFile::SyncDirIfManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - c_str
    - leveldb::PosixWritableFile::SyncFd
    linkageType: ''
    returnType: Status
    signature: Status SyncDirIfManifest()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::fcntl
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:381,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:382,1
    - Dst: ::fdatasync
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:387,1
    - Dst: ::fsync
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:389,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:393,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:398,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - ' fd_path'
    - syncing_dir
    argTypes:
    - int
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 401
    functionName: leveldb::PosixWritableFile::SyncFd
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 4
    functionsReached:
    - ::fcntl
    - ::fsync
    - ::fdatasync
    - leveldb::OK
    - PosixError
    linkageType: ''
    returnType: Status
    signature: Status SyncFd(int fd, const std::string& fd_path, bool syncing_dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:407,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:409,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:413,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:413,1
    - Dst: substr
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts:
    - condition: (filename.find('/', separator_pos + 1) == std::string::npos)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: leveldb::PosixWritableFile::Dirname
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - substr
    - rfind
    - std::string
    - assert
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string Dirname(const std::string& filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:423,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:425,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:429,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:429,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:431,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:431,1
    - Dst: length
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts:
    - condition: (filename.find('/', separator_pos + 1) == std::string::npos)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: leveldb::PosixWritableFile::Basename
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 1
    functionsReached:
    - Slice
    - rfind
    - length
    - data
    - assert
    - find
    linkageType: ''
    returnType: Slice
    signature: Slice Basename(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::Basename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: leveldb::PosixWritableFile::IsManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - leveldb::PosixWritableFile::Basename
    linkageType: ''
    returnType: bool
    signature: bool IsManifest(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: leveldb::PosixWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:455,1
    - Dst: ::fcntl
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - lock
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: leveldb::LockOrUnlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::fcntl
    - std::memset
    linkageType: ''
    returnType: int
    signature: int LockOrUnlock(int fd, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fd
    - filename
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: leveldb::PosixFileLock::PosixFileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PosixFileLock(int fd, std::string filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: leveldb::PosixFileLock::fd
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: '& filename() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:487,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:488,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: leveldb::PosixLockTable::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - insert
    - Unlock
    - Lock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:493,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:494,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: leveldb::PosixLockTable::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - erase
    - Lock
    - Unlock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:509,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    functionName: ~PosixEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::fwrite
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~PosixEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:515,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:515,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:518,1
    - Dst: PosixSequentialFile::PosixSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:521,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: leveldb::PosixEnv::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - c_str
    - PosixSequentialFile::PosixSequentialFile
    linkageType: ''
    returnType: Status
    signature: "Status NewSequentialFile(const std::string& filename,\n                           SequentialFile**
      result) override"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:528,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:528,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:530,1
    - Dst: Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:533,1
    - Dst: PosixRandomAccessFile::PosixRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:534,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:535,1
    - Dst: leveldb::PosixEnv::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:539,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:540,1
    - Dst: ::mmap
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:542,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:545,1
    - Dst: PosixMmapReadableFile::PosixMmapReadableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:544,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:548,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:551,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:552,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 556
    functionName: leveldb::PosixEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Release
    - leveldb::OK
    - PosixRandomAccessFile::PosixRandomAccessFile
    - FuzzedFileProvider::open
    - PosixMmapReadableFile::PosixMmapReadableFile
    - PosixError
    - Acquire
    - leveldb::PosixEnv::GetFileSize
    - ::mmap
    - FuzzedFileProvider::close
    - reinterpret_cast<char*>
    - c_str
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& filename,\n                             RandomAccessFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:560,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:560,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:564,1
    - Dst: PosixWritableFile::PosixWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:567,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: leveldb::PosixEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - PosixWritableFile::PosixWritableFile
    - c_str
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& filename,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:573,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:573,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:577,1
    - Dst: PosixWritableFile::PosixWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:580,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: leveldb::PosixEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - PosixWritableFile::PosixWritableFile
    - c_str
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& filename,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::access
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:585,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: leveldb::PosixEnv::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::access
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>*::clear
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:590,1
    - Dst: ::opendir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:591,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:591,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:593,1
    - Dst: ::readdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:596,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:597,1
    - Dst: ::closedir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:599,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' directory_path'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: leveldb::PosixEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - ::readdir
    - PosixError
    - ::closedir
    - ::opendir
    - c_str
    - std::vector<std::string>*::clear
    - std::vector<std::string>*::emplace_back
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& directory_path,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::unlink
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:604,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:604,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:605,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: leveldb::PosixEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::unlink
    - PosixError
    - c_str
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::mkdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:611,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:611,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:612,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: leveldb::PosixEnv::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 1
    functionsReached:
    - c_str
    - ::mkdir
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::rmdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:618,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:618,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:619,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: leveldb::PosixEnv::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - c_str
    - PosixError
    - leveldb::OK
    - ::rmdir
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::stat
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:626,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:626,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:628,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - size
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: leveldb::PosixEnv::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - c_str
    - ::stat
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& filename, uint64_t* size) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::rename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:636,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: leveldb::PosixEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::rename
    - PosixError
    - c_str
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& from, const std::string& to) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:644,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:644,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:646,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:649,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:650,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:651,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:654,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:656,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:657,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:658,1
    - Dst: PosixFileLock::PosixFileLock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:661,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' filename'
    - lock
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: leveldb::PosixEnv::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Insert
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - leveldb::IOError
    - PosixFileLock::PosixFileLock
    - c_str
    - Remove
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& filename, FileLock** lock) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PosixFileLock*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:666,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:667,1
    - Dst: PosixFileLock*::fd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:667,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:668,1
    - Dst: PosixFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:668,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:670,1
    - Dst: PosixFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:670,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:671,1
    - Dst: PosixFileLock*::fd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:671,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 674
    functionName: leveldb::PosixEnv::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - static_cast<PosixFileLock*>
    - leveldb::OK
    - PosixError
    - Remove
    - FuzzedFileProvider::close
    - PosixFileLock*::fd
    - PosixFileLock*::filename
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread_main_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: leveldb::PosixEnv::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void StartThread(void (*thread_main)(void* thread_main_arg),\n                   void*
      thread_main_arg) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:686,1
    - Dst: std::snprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:691,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:692,1
    - Dst: ::geteuid
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:692,1
    - Dst: leveldb::PosixEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:697,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 700
    functionName: leveldb::PosixEnv::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::getenv
    - ::geteuid
    - static_cast<int>
    - leveldb::OK
    - std::snprintf
    - leveldb::PosixEnv::CreateDir
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* result) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:703,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:703,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:707,1
    - Dst: ::fdopen
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:710,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:712,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:714,1
    - Dst: PosixLogger::PosixLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:716,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 719
    functionName: leveldb::PosixEnv::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixLogger::PosixLogger
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - c_str
    - ::fdopen
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& filename, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gettimeofday
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:724,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: leveldb::PosixEnv::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ::gettimeofday
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:729,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: leveldb::PosixEnv::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - count_microseconds
    - CThreadInterrupt::sleep_for
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PosixEnv*::BackgroundThreadMain
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - PosixEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: leveldb::PosixEnv::BackgroundThreadEntryPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixEnv*::BackgroundThreadMain
    linkageType: ''
    returnType: void
    signature: void BackgroundThreadEntryPoint(PosixEnv* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 747
    functionName: leveldb::PosixEnv::BackgroundWorkItem
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackgroundWorkItem(void (*function)(void* arg), void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: leveldb::MaxMmaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MaxMmaps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::getrlimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:774,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: leveldb::MaxOpenFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - ::getrlimit
    linkageType: ''
    returnType: int
    signature: int MaxOpenFiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxMmaps
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:791,1
    - Dst: MaxOpenFiles
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 792
    functionName: leveldb::PosixEnv::PosixEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - MaxOpenFiles
    - MaxMmaps
    linkageType: ''
    returnType: void
    signature: void PosixEnv::PosixEnv()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:797,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:803,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:807,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:808,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:811,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - background_work_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 813
    functionName: leveldb::PosixEnv::Schedule
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Signal
    - emplace
    - empty
    - Unlock
    - Lock
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void PosixEnv::Schedule(\n    void (*background_work_function)(void*
      background_work_arg),\n    void* background_work_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:817,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:820,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:821,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:824,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:824,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:825,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:826,1
    - Dst: pop
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:827,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:829,1
    - Dst: background_work_function
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!background_work_queue_.empty())
      pos:
        line_end: 823
        line_start: 823
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 832
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 832
    functionName: leveldb::PosixEnv::BackgroundThreadMain
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - background_work_function
    - Unlock
    - Wait
    - assert
    - front
    - Lock
    linkageType: ''
    returnType: void
    signature: void PosixEnv::BackgroundThreadMain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:853,1
    - Dst: EnvType::EnvType
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 864
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - EnvType::EnvType
    - store
    linkageType: ''
    returnType: void
    signature: void SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: ~SingletonEnv()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingletonEnv(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: '& operator=(const SingletonEnv&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingletonEnv
    signature: SingletonEnv & operator=(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Env*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 870
    functionName: leveldb::SingletonEnv::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Env*>
    linkageType: ''
    returnType: Env
    signature: Env * env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:874,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!env_initialized_.load(std::memory_order_relaxed))
      pos:
        line_end: 873
        line_start: 873
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: leveldb::SingletonEnv::AssertEnvNotInitialized
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: void
    signature: void AssertEnvNotInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:853,1
    - Dst: EnvType::EnvType
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 864
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - EnvType::EnvType
    - store
    linkageType: ''
    returnType: void
    signature: void SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: ~SingletonEnv()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingletonEnv(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: '& operator=(const SingletonEnv&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingletonEnv
    signature: SingletonEnv & operator=(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Env*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 870
    functionName: leveldb::SingletonEnv::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Env*>
    linkageType: ''
    returnType: Env
    signature: Env * env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:874,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!env_initialized_.load(std::memory_order_relaxed))
      pos:
        line_end: 873
        line_start: 873
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: leveldb::SingletonEnv::AssertEnvNotInitialized
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: void
    signature: void AssertEnvNotInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SingletonEnv::AssertEnvNotInitialized
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: leveldb::EnvPosixTestHelper::SetReadOnlyFDLimit
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::SingletonEnv::AssertEnvNotInitialized
    linkageType: ''
    returnType: void
    signature: void EnvPosixTestHelper::SetReadOnlyFDLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SingletonEnv::AssertEnvNotInitialized
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: leveldb::EnvPosixTestHelper::SetReadOnlyMMapLimit
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::SingletonEnv::AssertEnvNotInitialized
    linkageType: ''
    returnType: void
    signature: void EnvPosixTestHelper::SetReadOnlyMMapLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PosixDefaultEnv::env
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 907
    functionName: leveldb::Env::Default
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 29
    functionsReached:
    - PosixDefaultEnv::env
    linkageType: ''
    returnType: Env
    signature: Env * Env::Default()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:62,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:62,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:64,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - error_number
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: leveldb::PosixError
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::strerror
    - leveldb::IOError
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: Status PosixError(const std::string& context, int error_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_acquires
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(int max_acquires)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(const Limiter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: operator=(const Limiter&)
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Limiter
    signature: Limiter operator=(const Limiter&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:84,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: leveldb::Limiter::Acquire
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - fetch_sub
    linkageType: ''
    returnType: bool
    signature: bool Acquire()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: leveldb::Limiter::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - fd
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: leveldb::PosixSequentialFile::PosixSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PosixSequentialFile(std::string filename, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PosixSequentialFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~PosixSequentialFile() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:117,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:122,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: leveldb::PosixSequentialFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixError
    - AutoFile::read
    - Slice
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::lseek
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:132,1
    - Dst: static_cast<off_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:132,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:133,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: leveldb::PosixSequentialFile::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::lseek
    - PosixError
    - leveldb::OK
    - static_cast<off_t>
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: leveldb::PosixSequentialFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Limiter*::Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:155,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:158,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:160,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - fd
    - fd_limiter
    argTypes:
    - std::string
    - int
    - Limiter*
    assertStmts:
    - condition: (fd_ == -1)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: leveldb::PosixRandomAccessFile::PosixRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - FuzzedFileProvider::close
    - assert
    - Limiter*::Acquire
    - std::move
    linkageType: ''
    returnType: void
    signature: void PosixRandomAccessFile(std::string filename, int fd, Limiter* fd_limiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:167,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:168,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fd_ != -1)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: ~PosixRandomAccessFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Release
    - assert
    - FuzzedFileProvider::close
    linkageType: ''
    returnType: void
    signature: void ~PosixRandomAccessFile() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:177,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:177,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:183,1
    - Dst: ::pread
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:186,1
    - Dst: static_cast<off_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:186,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:187,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:190,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:194,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts:
    - condition: (fd != -1)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    - condition: (fd != fd_)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 198
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 198
    functionName: leveldb::PosixRandomAccessFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Slice
    - ::pread
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - static_cast<off_t>
    - c_str
    - assert
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: leveldb::PosixRandomAccessFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - filename
    - mmap_base
    - length
    - mmap_limiter
    argTypes:
    - std::string
    - char*
    - size_t
    - Limiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: leveldb::PosixMmapReadableFile::PosixMmapReadableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PosixMmapReadableFile(std::string filename, char* mmap_base,
      size_t length,\n                        Limiter* mmap_limiter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::munmap
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:231,1
    - Dst: static_cast<void*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:231,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: ~PosixMmapReadableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::munmap
    - Release
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ~PosixMmapReadableFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:238,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:239,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:242,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: leveldb::PosixMmapReadableFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Slice
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: leveldb::PosixMmapReadableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::IsManifest
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:260,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:261,1
    - Dst: leveldb::PosixWritableFile::Dirname
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - fd
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: leveldb::PosixWritableFile::PosixWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::IsManifest
    - std::move
    - leveldb::PosixWritableFile::Dirname
    linkageType: ''
    returnType: void
    signature: void PosixWritableFile(std::string filename, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: ~PosixWritableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~PosixWritableFile() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:272,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:273,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:276,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:277,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:282,1
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:286,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:287,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:293,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:295,1
    - Dst: leveldb::PosixWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 298
    functionName: leveldb::PosixWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - leveldb::PosixWritableFile::FlushBuffer
    - leveldb::OK
    - size
    - data
    - leveldb::PosixWritableFile::WriteUnbuffered
    - std::min
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:301,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:302,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:303,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: leveldb::PosixWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - FuzzedFileProvider::close
    - PosixError
    - Status::ok
    - leveldb::PosixWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: leveldb::PosixWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::SyncDirIfManifest
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:318,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:319,1
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:323,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:324,1
    - Dst: leveldb::PosixWritableFile::SyncFd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 329
    functionName: leveldb::PosixWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::SyncFd
    - Status::ok
    - leveldb::PosixWritableFile::FlushBuffer
    - leveldb::PosixWritableFile::SyncDirIfManifest
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: leveldb::PosixWritableFile::FlushBuffer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 12
    functionsReached:
    - leveldb::PosixWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status FlushBuffer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::write
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:340,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:345,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: leveldb::PosixWritableFile::WriteUnbuffered
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 6
    functionsReached:
    - PosixError
    - leveldb::OK
    - AutoFile::write
    linkageType: ''
    returnType: Status
    signature: Status WriteUnbuffered(const char* data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:359,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:359,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:361,1
    - Dst: leveldb::PosixWritableFile::SyncFd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:363,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: leveldb::PosixWritableFile::SyncDirIfManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 3
    functionsReached:
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - c_str
    - leveldb::PosixWritableFile::SyncFd
    linkageType: ''
    returnType: Status
    signature: Status SyncDirIfManifest()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::fcntl
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:381,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:382,1
    - Dst: ::fdatasync
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:387,1
    - Dst: ::fsync
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:389,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:393,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:398,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - ' fd_path'
    - syncing_dir
    argTypes:
    - int
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 401
    functionName: leveldb::PosixWritableFile::SyncFd
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 6
    functionsReached:
    - ::fcntl
    - ::fsync
    - ::fdatasync
    - leveldb::OK
    - PosixError
    linkageType: ''
    returnType: Status
    signature: Status SyncFd(int fd, const std::string& fd_path, bool syncing_dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:407,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:409,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:413,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:413,1
    - Dst: substr
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts:
    - condition: (filename.find('/', separator_pos + 1) == std::string::npos)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: leveldb::PosixWritableFile::Dirname
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 3
    functionsReached:
    - substr
    - rfind
    - std::string
    - assert
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string Dirname(const std::string& filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:423,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:425,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:429,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:429,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:431,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:431,1
    - Dst: length
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts:
    - condition: (filename.find('/', separator_pos + 1) == std::string::npos)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: leveldb::PosixWritableFile::Basename
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - Slice
    - rfind
    - length
    - data
    - assert
    - find
    linkageType: ''
    returnType: Slice
    signature: Slice Basename(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::Basename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: leveldb::PosixWritableFile::IsManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 3
    functionsReached:
    - leveldb::PosixWritableFile::Basename
    linkageType: ''
    returnType: bool
    signature: bool IsManifest(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: leveldb::PosixWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:455,1
    - Dst: ::fcntl
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - lock
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: leveldb::LockOrUnlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::fcntl
    - std::memset
    linkageType: ''
    returnType: int
    signature: int LockOrUnlock(int fd, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fd
    - filename
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: leveldb::PosixFileLock::PosixFileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PosixFileLock(int fd, std::string filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: leveldb::PosixFileLock::fd
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: '& filename() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:487,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:488,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: leveldb::PosixLockTable::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - insert
    - Unlock
    - Lock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:493,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:494,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: leveldb::PosixLockTable::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - erase
    - Lock
    - Unlock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:509,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    functionName: ~PosixEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::fwrite
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~PosixEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:515,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:515,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:518,1
    - Dst: PosixSequentialFile::PosixSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:521,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: leveldb::PosixEnv::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - c_str
    - PosixSequentialFile::PosixSequentialFile
    linkageType: ''
    returnType: Status
    signature: "Status NewSequentialFile(const std::string& filename,\n                           SequentialFile**
      result) override"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:528,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:528,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:530,1
    - Dst: Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:533,1
    - Dst: PosixRandomAccessFile::PosixRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:534,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:535,1
    - Dst: leveldb::PosixEnv::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:539,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:540,1
    - Dst: ::mmap
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:542,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:545,1
    - Dst: PosixMmapReadableFile::PosixMmapReadableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:544,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:548,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:551,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:552,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 556
    functionName: leveldb::PosixEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Release
    - leveldb::OK
    - PosixRandomAccessFile::PosixRandomAccessFile
    - FuzzedFileProvider::open
    - PosixMmapReadableFile::PosixMmapReadableFile
    - PosixError
    - Acquire
    - leveldb::PosixEnv::GetFileSize
    - ::mmap
    - FuzzedFileProvider::close
    - reinterpret_cast<char*>
    - c_str
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& filename,\n                             RandomAccessFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:560,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:560,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:564,1
    - Dst: PosixWritableFile::PosixWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:567,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: leveldb::PosixEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - PosixWritableFile::PosixWritableFile
    - c_str
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& filename,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:573,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:573,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:577,1
    - Dst: PosixWritableFile::PosixWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:580,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: leveldb::PosixEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - PosixWritableFile::PosixWritableFile
    - c_str
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& filename,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::access
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:585,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: leveldb::PosixEnv::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::access
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>*::clear
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:590,1
    - Dst: ::opendir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:591,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:591,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:593,1
    - Dst: ::readdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:596,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:597,1
    - Dst: ::closedir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:599,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' directory_path'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: leveldb::PosixEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - ::readdir
    - PosixError
    - ::closedir
    - ::opendir
    - c_str
    - std::vector<std::string>*::clear
    - std::vector<std::string>*::emplace_back
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& directory_path,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::unlink
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:604,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:604,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:605,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: leveldb::PosixEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::unlink
    - PosixError
    - c_str
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::mkdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:611,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:611,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:612,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: leveldb::PosixEnv::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - c_str
    - ::mkdir
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::rmdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:618,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:618,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:619,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: leveldb::PosixEnv::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - c_str
    - PosixError
    - leveldb::OK
    - ::rmdir
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::stat
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:626,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:626,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:628,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - size
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: leveldb::PosixEnv::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 3
    functionsReached:
    - c_str
    - ::stat
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& filename, uint64_t* size) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::rename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:636,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: leveldb::PosixEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::rename
    - PosixError
    - c_str
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& from, const std::string& to) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:644,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:644,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:646,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:649,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:650,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:651,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:654,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:656,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:657,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:658,1
    - Dst: PosixFileLock::PosixFileLock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:661,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' filename'
    - lock
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: leveldb::PosixEnv::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Insert
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - leveldb::IOError
    - PosixFileLock::PosixFileLock
    - c_str
    - Remove
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& filename, FileLock** lock) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PosixFileLock*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:666,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:667,1
    - Dst: PosixFileLock*::fd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:667,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:668,1
    - Dst: PosixFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:668,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:670,1
    - Dst: PosixFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:670,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:671,1
    - Dst: PosixFileLock*::fd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:671,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 674
    functionName: leveldb::PosixEnv::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - static_cast<PosixFileLock*>
    - leveldb::OK
    - PosixError
    - Remove
    - FuzzedFileProvider::close
    - PosixFileLock*::fd
    - PosixFileLock*::filename
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread_main_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: leveldb::PosixEnv::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void StartThread(void (*thread_main)(void* thread_main_arg),\n                   void*
      thread_main_arg) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:686,1
    - Dst: std::snprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:691,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:692,1
    - Dst: ::geteuid
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:692,1
    - Dst: leveldb::PosixEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:697,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 700
    functionName: leveldb::PosixEnv::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::getenv
    - ::geteuid
    - static_cast<int>
    - leveldb::OK
    - std::snprintf
    - leveldb::PosixEnv::CreateDir
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* result) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:703,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:703,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:707,1
    - Dst: ::fdopen
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:710,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:712,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:714,1
    - Dst: PosixLogger::PosixLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:716,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 719
    functionName: leveldb::PosixEnv::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixLogger::PosixLogger
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - c_str
    - ::fdopen
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& filename, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gettimeofday
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:724,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: leveldb::PosixEnv::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ::gettimeofday
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:729,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: leveldb::PosixEnv::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - count_microseconds
    - CThreadInterrupt::sleep_for
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PosixEnv*::BackgroundThreadMain
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - PosixEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: leveldb::PosixEnv::BackgroundThreadEntryPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixEnv*::BackgroundThreadMain
    linkageType: ''
    returnType: void
    signature: void BackgroundThreadEntryPoint(PosixEnv* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 747
    functionName: leveldb::PosixEnv::BackgroundWorkItem
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackgroundWorkItem(void (*function)(void* arg), void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: leveldb::MaxMmaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MaxMmaps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::getrlimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:774,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: leveldb::MaxOpenFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - ::getrlimit
    linkageType: ''
    returnType: int
    signature: int MaxOpenFiles()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:62,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:62,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:64,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' context'
    - error_number
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: leveldb::PosixError
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::strerror
    - leveldb::IOError
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: Status PosixError(const std::string& context, int error_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_acquires
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(int max_acquires)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(const Limiter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: operator=(const Limiter&)
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Limiter
    signature: Limiter operator=(const Limiter&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:84,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: leveldb::Limiter::Acquire
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - fetch_sub
    linkageType: ''
    returnType: bool
    signature: bool Acquire()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: leveldb::Limiter::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - fd
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: leveldb::PosixSequentialFile::PosixSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PosixSequentialFile(std::string filename, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PosixSequentialFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~PosixSequentialFile() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::read
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:117,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:122,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: leveldb::PosixSequentialFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixError
    - AutoFile::read
    - Slice
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::lseek
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:132,1
    - Dst: static_cast<off_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:132,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:133,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: leveldb::PosixSequentialFile::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::lseek
    - PosixError
    - leveldb::OK
    - static_cast<off_t>
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: leveldb::PosixSequentialFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Limiter*::Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:155,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:158,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:160,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - fd
    - fd_limiter
    argTypes:
    - std::string
    - int
    - Limiter*
    assertStmts:
    - condition: (fd_ == -1)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: leveldb::PosixRandomAccessFile::PosixRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - FuzzedFileProvider::close
    - assert
    - Limiter*::Acquire
    - std::move
    linkageType: ''
    returnType: void
    signature: void PosixRandomAccessFile(std::string filename, int fd, Limiter* fd_limiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:167,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:168,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fd_ != -1)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: ~PosixRandomAccessFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Release
    - assert
    - FuzzedFileProvider::close
    linkageType: ''
    returnType: void
    signature: void ~PosixRandomAccessFile() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:177,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:177,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:179,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:183,1
    - Dst: ::pread
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:186,1
    - Dst: static_cast<off_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:186,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:187,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:190,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:194,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts:
    - condition: (fd != -1)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    - condition: (fd != fd_)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 198
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 198
    functionName: leveldb::PosixRandomAccessFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Slice
    - ::pread
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - static_cast<off_t>
    - c_str
    - assert
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: leveldb::PosixRandomAccessFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - filename
    - mmap_base
    - length
    - mmap_limiter
    argTypes:
    - std::string
    - char*
    - size_t
    - Limiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: leveldb::PosixMmapReadableFile::PosixMmapReadableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PosixMmapReadableFile(std::string filename, char* mmap_base,
      size_t length,\n                        Limiter* mmap_limiter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::munmap
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:231,1
    - Dst: static_cast<void*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:231,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: ~PosixMmapReadableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::munmap
    - Release
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ~PosixMmapReadableFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:238,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:239,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:242,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: leveldb::PosixMmapReadableFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Slice
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: leveldb::PosixMmapReadableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::IsManifest
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:260,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:261,1
    - Dst: leveldb::PosixWritableFile::Dirname
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - fd
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: leveldb::PosixWritableFile::PosixWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::IsManifest
    - std::move
    - leveldb::PosixWritableFile::Dirname
    linkageType: ''
    returnType: void
    signature: void PosixWritableFile(std::string filename, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: ~PosixWritableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~PosixWritableFile() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:272,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:273,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:276,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:277,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:282,1
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:286,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:287,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:293,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:295,1
    - Dst: leveldb::PosixWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 298
    functionName: leveldb::PosixWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - leveldb::PosixWritableFile::FlushBuffer
    - leveldb::OK
    - size
    - data
    - leveldb::PosixWritableFile::WriteUnbuffered
    - std::min
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:301,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:302,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:303,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: leveldb::PosixWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - FuzzedFileProvider::close
    - PosixError
    - Status::ok
    - leveldb::PosixWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: leveldb::PosixWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::SyncDirIfManifest
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:318,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:319,1
    - Dst: leveldb::PosixWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:323,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:324,1
    - Dst: leveldb::PosixWritableFile::SyncFd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 329
    functionName: leveldb::PosixWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::PosixWritableFile::SyncFd
    - Status::ok
    - leveldb::PosixWritableFile::FlushBuffer
    - leveldb::PosixWritableFile::SyncDirIfManifest
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: leveldb::PosixWritableFile::FlushBuffer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 16
    functionsReached:
    - leveldb::PosixWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status FlushBuffer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoFile::write
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:340,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:345,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: leveldb::PosixWritableFile::WriteUnbuffered
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 8
    functionsReached:
    - PosixError
    - leveldb::OK
    - AutoFile::write
    linkageType: ''
    returnType: Status
    signature: Status WriteUnbuffered(const char* data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:359,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:359,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:361,1
    - Dst: leveldb::PosixWritableFile::SyncFd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:363,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: leveldb::PosixWritableFile::SyncDirIfManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 4
    functionsReached:
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - c_str
    - leveldb::PosixWritableFile::SyncFd
    linkageType: ''
    returnType: Status
    signature: Status SyncDirIfManifest()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::fcntl
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:381,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:382,1
    - Dst: ::fdatasync
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:387,1
    - Dst: ::fsync
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:389,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:393,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:398,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - ' fd_path'
    - syncing_dir
    argTypes:
    - int
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 401
    functionName: leveldb::PosixWritableFile::SyncFd
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 8
    functionsReached:
    - ::fcntl
    - ::fsync
    - ::fdatasync
    - leveldb::OK
    - PosixError
    linkageType: ''
    returnType: Status
    signature: Status SyncFd(int fd, const std::string& fd_path, bool syncing_dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:407,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:409,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:413,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:413,1
    - Dst: substr
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts:
    - condition: (filename.find('/', separator_pos + 1) == std::string::npos)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: leveldb::PosixWritableFile::Dirname
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 4
    functionsReached:
    - substr
    - rfind
    - std::string
    - assert
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string Dirname(const std::string& filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:423,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:425,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:429,1
    - Dst: find
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:429,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:431,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:431,1
    - Dst: length
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts:
    - condition: (filename.find('/', separator_pos + 1) == std::string::npos)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: leveldb::PosixWritableFile::Basename
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 3
    functionsReached:
    - Slice
    - rfind
    - length
    - data
    - assert
    - find
    linkageType: ''
    returnType: Slice
    signature: Slice Basename(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PosixWritableFile::Basename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: leveldb::PosixWritableFile::IsManifest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 4
    functionsReached:
    - leveldb::PosixWritableFile::Basename
    linkageType: ''
    returnType: bool
    signature: bool IsManifest(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: leveldb::PosixWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:455,1
    - Dst: ::fcntl
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - lock
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: leveldb::LockOrUnlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::fcntl
    - std::memset
    linkageType: ''
    returnType: int
    signature: int LockOrUnlock(int fd, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fd
    - filename
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: leveldb::PosixFileLock::PosixFileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PosixFileLock(int fd, std::string filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: leveldb::PosixFileLock::fd
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: '& filename() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:487,1
    - Dst: insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:488,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: leveldb::PosixLockTable::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - insert
    - Unlock
    - Lock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:493,1
    - Dst: erase
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:494,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: leveldb::PosixLockTable::LOCKS_EXCLUDED
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - erase
    - Lock
    - Unlock
    linkageType: ''
    returnType: void
    signature: void LOCKS_EXCLUDED(mu_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:509,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    functionName: ~PosixEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::fwrite
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~PosixEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:515,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:515,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:518,1
    - Dst: PosixSequentialFile::PosixSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:521,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: leveldb::PosixEnv::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - c_str
    - PosixSequentialFile::PosixSequentialFile
    linkageType: ''
    returnType: Status
    signature: "Status NewSequentialFile(const std::string& filename,\n                           SequentialFile**
      result) override"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:528,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:528,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:530,1
    - Dst: Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:533,1
    - Dst: PosixRandomAccessFile::PosixRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:534,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:535,1
    - Dst: leveldb::PosixEnv::GetFileSize
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:539,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:540,1
    - Dst: ::mmap
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:542,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:545,1
    - Dst: PosixMmapReadableFile::PosixMmapReadableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:544,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:548,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:551,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:552,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 556
    functionName: leveldb::PosixEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Release
    - leveldb::OK
    - PosixRandomAccessFile::PosixRandomAccessFile
    - FuzzedFileProvider::open
    - PosixMmapReadableFile::PosixMmapReadableFile
    - PosixError
    - Acquire
    - leveldb::PosixEnv::GetFileSize
    - ::mmap
    - FuzzedFileProvider::close
    - reinterpret_cast<char*>
    - c_str
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& filename,\n                             RandomAccessFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:560,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:560,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:564,1
    - Dst: PosixWritableFile::PosixWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:567,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: leveldb::PosixEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - PosixWritableFile::PosixWritableFile
    - c_str
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& filename,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:573,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:573,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:577,1
    - Dst: PosixWritableFile::PosixWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:580,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: leveldb::PosixEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - PosixWritableFile::PosixWritableFile
    - c_str
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& filename,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::access
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:585,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: leveldb::PosixEnv::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::access
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>*::clear
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:590,1
    - Dst: ::opendir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:591,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:591,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:593,1
    - Dst: ::readdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:596,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:597,1
    - Dst: ::closedir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:599,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' directory_path'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: leveldb::PosixEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - ::readdir
    - PosixError
    - ::closedir
    - ::opendir
    - c_str
    - std::vector<std::string>*::clear
    - std::vector<std::string>*::emplace_back
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& directory_path,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::unlink
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:604,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:604,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:605,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: leveldb::PosixEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - ::unlink
    - PosixError
    - c_str
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::mkdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:611,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:611,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:612,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: leveldb::PosixEnv::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 3
    functionsReached:
    - c_str
    - ::mkdir
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::rmdir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:618,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:618,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:619,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: leveldb::PosixEnv::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - c_str
    - PosixError
    - leveldb::OK
    - ::rmdir
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::stat
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:626,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:626,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:628,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - size
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: leveldb::PosixEnv::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 4
    functionsReached:
    - c_str
    - ::stat
    - PosixError
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& filename, uint64_t* size) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::rename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:635,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:636,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: leveldb::PosixEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::rename
    - PosixError
    - c_str
    - leveldb::OK
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& from, const std::string& to) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:644,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:644,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:646,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:649,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:650,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:651,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:654,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:656,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:657,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:658,1
    - Dst: PosixFileLock::PosixFileLock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:661,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' filename'
    - lock
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: leveldb::PosixEnv::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Insert
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - leveldb::IOError
    - PosixFileLock::PosixFileLock
    - c_str
    - Remove
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& filename, FileLock** lock) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PosixFileLock*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:666,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:667,1
    - Dst: PosixFileLock*::fd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:667,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:668,1
    - Dst: PosixFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:668,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:670,1
    - Dst: PosixFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:670,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:671,1
    - Dst: PosixFileLock*::fd
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:671,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 674
    functionName: leveldb::PosixEnv::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - static_cast<PosixFileLock*>
    - leveldb::OK
    - PosixError
    - Remove
    - FuzzedFileProvider::close
    - PosixFileLock*::fd
    - PosixFileLock*::filename
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread_main_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: leveldb::PosixEnv::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void StartThread(void (*thread_main)(void* thread_main_arg),\n                   void*
      thread_main_arg) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:686,1
    - Dst: std::snprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:691,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:692,1
    - Dst: ::geteuid
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:692,1
    - Dst: leveldb::PosixEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:697,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 700
    functionName: leveldb::PosixEnv::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - std::getenv
    - ::geteuid
    - static_cast<int>
    - leveldb::OK
    - std::snprintf
    - leveldb::PosixEnv::CreateDir
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* result) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedFileProvider::open
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:703,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:703,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:707,1
    - Dst: ::fdopen
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:710,1
    - Dst: FuzzedFileProvider::close
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:712,1
    - Dst: PosixError
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:714,1
    - Dst: PosixLogger::PosixLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:716,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 719
    functionName: leveldb::PosixEnv::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixLogger::PosixLogger
    - leveldb::OK
    - FuzzedFileProvider::open
    - PosixError
    - FuzzedFileProvider::close
    - c_str
    - ::fdopen
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& filename, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gettimeofday
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:724,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: leveldb::PosixEnv::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ::gettimeofday
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:729,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: leveldb::PosixEnv::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - count_microseconds
    - CThreadInterrupt::sleep_for
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PosixEnv*::BackgroundThreadMain
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - PosixEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: leveldb::PosixEnv::BackgroundThreadEntryPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - PosixEnv*::BackgroundThreadMain
    linkageType: ''
    returnType: void
    signature: void BackgroundThreadEntryPoint(PosixEnv* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 747
    functionName: leveldb::PosixEnv::BackgroundWorkItem
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackgroundWorkItem(void (*function)(void* arg), void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: leveldb::MaxMmaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MaxMmaps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::getrlimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:774,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: leveldb::MaxOpenFiles
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - RandomMixin::max
    - ::getrlimit
    linkageType: ''
    returnType: int
    signature: int MaxOpenFiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxMmaps
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:791,1
    - Dst: MaxOpenFiles
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 792
    functionName: leveldb::PosixEnv::PosixEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - MaxOpenFiles
    - MaxMmaps
    linkageType: ''
    returnType: void
    signature: void PosixEnv::PosixEnv()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:797,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:803,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:807,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:808,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:811,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - background_work_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 813
    functionName: leveldb::PosixEnv::Schedule
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - Signal
    - emplace
    - empty
    - Unlock
    - Lock
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void PosixEnv::Schedule(\n    void (*background_work_function)(void*
      background_work_arg),\n    void* background_work_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:817,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:820,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:821,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:824,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:824,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:825,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:826,1
    - Dst: pop
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:827,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:829,1
    - Dst: background_work_function
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!background_work_queue_.empty())
      pos:
        line_end: 823
        line_start: 823
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 832
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 832
    functionName: leveldb::PosixEnv::BackgroundThreadMain
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - background_work_function
    - Unlock
    - Wait
    - assert
    - front
    - Lock
    linkageType: ''
    returnType: void
    signature: void PosixEnv::BackgroundThreadMain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:853,1
    - Dst: EnvType::EnvType
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 864
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - EnvType::EnvType
    - store
    linkageType: ''
    returnType: void
    signature: void SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: ~SingletonEnv()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingletonEnv(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: '& operator=(const SingletonEnv&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingletonEnv
    signature: SingletonEnv & operator=(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Env*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 870
    functionName: leveldb::SingletonEnv::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Env*>
    linkageType: ''
    returnType: Env
    signature: Env * env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:874,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!env_initialized_.load(std::memory_order_relaxed))
      pos:
        line_end: 873
        line_start: 873
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: leveldb::SingletonEnv::AssertEnvNotInitialized
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: void
    signature: void AssertEnvNotInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:853,1
    - Dst: EnvType::EnvType
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 864
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - EnvType::EnvType
    - store
    linkageType: ''
    returnType: void
    signature: void SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: ~SingletonEnv()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingletonEnv(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: '& operator=(const SingletonEnv&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingletonEnv
    signature: SingletonEnv & operator=(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Env*>
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 870
    functionName: leveldb::SingletonEnv::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Env*>
    linkageType: ''
    returnType: Env
    signature: Env * env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:874,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!env_initialized_.load(std::memory_order_relaxed))
      pos:
        line_end: 873
        line_start: 873
        source_file: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: leveldb::SingletonEnv::AssertEnvNotInitialized
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 2
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: void
    signature: void AssertEnvNotInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SingletonEnv::AssertEnvNotInitialized
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: leveldb::EnvPosixTestHelper::SetReadOnlyFDLimit
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::SingletonEnv::AssertEnvNotInitialized
    linkageType: ''
    returnType: void
    signature: void EnvPosixTestHelper::SetReadOnlyFDLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SingletonEnv::AssertEnvNotInitialized
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: leveldb::EnvPosixTestHelper::SetReadOnlyMMapLimit
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 0
    functionsReached:
    - leveldb::SingletonEnv::AssertEnvNotInitialized
    linkageType: ''
    returnType: void
    signature: void EnvPosixTestHelper::SetReadOnlyMMapLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PosixDefaultEnv::env
      Src: /src/bitcoin-core/src/leveldb/util/env_posix.cc:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 907
    functionName: leveldb::Env::Default
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix.cc
    functionUses: 29
    functionsReached:
    - PosixDefaultEnv::env
    linkageType: ''
    returnType: Env
    signature: Env * Env::Default()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:15,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:16,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:18,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:18,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:22,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:23,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:25,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:26,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:26,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:30,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 36
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/status_test.cc
    functionUses: 0
    functionsReached:
    - node::TxDownloadManager::ReceivedNotFound
    - Status::IsNotFound
    - leveldb::OK
    - std::move
    - ASSERT_EQ
    - ASSERT_TRUE
    - leveldb::IOError
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(Status, MoveConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:15,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:16,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:18,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:18,1
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:22,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:23,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:25,1
    - Dst: Status::IsNotFound
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:26,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:26,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:30,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 36
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/status_test.cc
    functionUses: 0
    functionsReached:
    - node::TxDownloadManager::ReceivedNotFound
    - Status::IsNotFound
    - leveldb::OK
    - std::move
    - ASSERT_EQ
    - ASSERT_TRUE
    - leveldb::IOError
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(Status, MoveConstructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/status_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/status_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Comparator::~Comparator()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Comparator::~Comparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::BytewiseComparatorImpl::BytewiseComparatorImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BytewiseComparatorImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: leveldb::BytewiseComparatorImpl::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: leveldb::BytewiseComparatorImpl::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached:
    - compare
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:44,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:45,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:46,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:49,1
    - Dst: leveldb::BytewiseComparatorImpl::Compare
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - start
    - ' limit'
    argTypes:
    - std::string*
    - Slice
    assertStmts:
    - condition: (Compare(*start, limit) < 0)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/leveldb/util/comparator.cc
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: leveldb::BytewiseComparatorImpl::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached:
    - leveldb::BytewiseComparatorImpl::Compare
    - std::string*::resize
    - static_cast<uint8_t>
    - size
    - std::string*::size
    - assert
    - std::min
    linkageType: ''
    returnType: void
    signature: "void FindShortestSeparator(std::string* start,\n                             const
      Slice& limit) const override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:59,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: leveldb::BytewiseComparatorImpl::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached:
    - std::string*::size
    - std::string*::resize
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void FindShortSuccessor(std::string* key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::BytewiseComparatorImpl::BytewiseComparatorImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BytewiseComparatorImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: leveldb::BytewiseComparatorImpl::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: leveldb::BytewiseComparatorImpl::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 1
    functionsReached:
    - compare
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:44,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:45,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:46,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:49,1
    - Dst: leveldb::BytewiseComparatorImpl::Compare
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - start
    - ' limit'
    argTypes:
    - std::string*
    - Slice
    assertStmts:
    - condition: (Compare(*start, limit) < 0)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/leveldb/util/comparator.cc
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: leveldb::BytewiseComparatorImpl::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached:
    - leveldb::BytewiseComparatorImpl::Compare
    - std::string*::resize
    - static_cast<uint8_t>
    - size
    - std::string*::size
    - assert
    - std::min
    linkageType: ''
    returnType: void
    signature: "void FindShortestSeparator(std::string* start,\n                             const
      Slice& limit) const override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:59,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: leveldb::BytewiseComparatorImpl::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached:
    - std::string*::size
    - std::string*::resize
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void FindShortSuccessor(std::string* key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: leveldb::BytewiseComparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 6
    functionsReached:
    - NoDestructor::get
    linkageType: ''
    returnType: Comparator
    signature: Comparator * BytewiseComparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Comparator::~Comparator()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Comparator::~Comparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::BytewiseComparatorImpl::BytewiseComparatorImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BytewiseComparatorImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: leveldb::BytewiseComparatorImpl::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: leveldb::BytewiseComparatorImpl::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 2
    functionsReached:
    - compare
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:44,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:45,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:46,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:49,1
    - Dst: leveldb::BytewiseComparatorImpl::Compare
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - start
    - ' limit'
    argTypes:
    - std::string*
    - Slice
    assertStmts:
    - condition: (Compare(*start, limit) < 0)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/leveldb/util/comparator.cc
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: leveldb::BytewiseComparatorImpl::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached:
    - leveldb::BytewiseComparatorImpl::Compare
    - std::string*::resize
    - static_cast<uint8_t>
    - size
    - std::string*::size
    - assert
    - std::min
    linkageType: ''
    returnType: void
    signature: "void FindShortestSeparator(std::string* start,\n                             const
      Slice& limit) const override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:59,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: leveldb::BytewiseComparatorImpl::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached:
    - std::string*::size
    - std::string*::resize
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void FindShortSuccessor(std::string* key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::BytewiseComparatorImpl::BytewiseComparatorImpl
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BytewiseComparatorImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: leveldb::BytewiseComparatorImpl::Name
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: leveldb::BytewiseComparatorImpl::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 3
    functionsReached:
    - compare
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:34,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:44,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:45,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:46,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:48,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:49,1
    - Dst: leveldb::BytewiseComparatorImpl::Compare
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - start
    - ' limit'
    argTypes:
    - std::string*
    - Slice
    assertStmts:
    - condition: (Compare(*start, limit) < 0)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bitcoin-core/src/leveldb/util/comparator.cc
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: leveldb::BytewiseComparatorImpl::FindShortestSeparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached:
    - leveldb::BytewiseComparatorImpl::Compare
    - std::string*::resize
    - static_cast<uint8_t>
    - size
    - std::string*::size
    - assert
    - std::min
    linkageType: ''
    returnType: void
    signature: "void FindShortestSeparator(std::string* start,\n                             const
      Slice& limit) const override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:59,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: leveldb::BytewiseComparatorImpl::FindShortSuccessor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 0
    functionsReached:
    - std::string*::size
    - std::string*::resize
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void FindShortSuccessor(std::string* key) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/comparator.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: leveldb::BytewiseComparator
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/comparator.cc
    functionUses: 6
    functionsReached:
    - NoDestructor::get
    linkageType: ''
    returnType: Comparator
    signature: Comparator * BytewiseComparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::Arena::Arena
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(const Arena&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& operator=(const Arena&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena & operator=(const Arena&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/arena.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: leveldb::Arena::MemoryUsage
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t MemoryUsage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/arena.h:59,1
    - Dst: leveldb::Arena::AllocateFallback
      Src: /src/bitcoin-core/src/leveldb/util/arena.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts:
    - condition: (bytes > 0)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/leveldb/util/arena.h
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: leveldb::Arena::Allocate
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.h
    functionUses: 0
    functionsReached:
    - leveldb::Arena::AllocateFallback
    - assert
    linkageType: ''
    returnType: char
    signature: char * Arena::Allocate(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::Arena::Arena
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(const Arena&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& operator=(const Arena&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena & operator=(const Arena&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/arena.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: leveldb::Arena::MemoryUsage
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t MemoryUsage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/arena.h:59,1
    - Dst: leveldb::Arena::AllocateFallback
      Src: /src/bitcoin-core/src/leveldb/util/arena.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts:
    - condition: (bytes > 0)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bitcoin-core/src/leveldb/util/arena.h
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: leveldb::Arena::Allocate
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.h
    functionUses: 0
    functionsReached:
    - leveldb::Arena::AllocateFallback
    - assert
    linkageType: ''
    returnType: char
    signature: char * Arena::Allocate(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:24,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:25,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:26,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:28,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:29,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:31,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:32,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:34,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:35,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:37,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:38,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 40
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/hash_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - leveldb::Hash
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(HASH, SignedUnsignedIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:24,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:25,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:26,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:28,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:29,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:31,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:32,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:34,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:35,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:37,1
    - Dst: leveldb::Hash
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:38,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 40
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/hash_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - leveldb::Hash
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(HASH, SignedUnsignedIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/hash_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/hash_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: leveldb::Arena::Arena
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena::Arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: Arena::~Arena()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Arena::~Arena()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Arena::AllocateNewBlock
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:24,1
    - Dst: leveldb::Arena::AllocateNewBlock
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: leveldb::Arena::AllocateFallback
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 2
    functionsReached:
    - leveldb::Arena::AllocateNewBlock
    linkageType: ''
    returnType: char
    signature: char * Arena::AllocateFallback(size_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:42,1
    - Dst: leveldb::Arena::AllocateFallback
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:52,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:54,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts:
    - condition: ((reinterpret_cast<uintptr_t>(result) & (align - 1)) == 0)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/leveldb/util/arena.cc
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: leveldb::Arena::AllocateAligned
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - leveldb::Arena::AllocateFallback
    - assert
    linkageType: ''
    returnType: char
    signature: char * Arena::AllocateAligned(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:59,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:60,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - block_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: leveldb::Arena::AllocateNewBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 1
    functionsReached:
    - push_back
    - fetch_add
    - char::char
    linkageType: ''
    returnType: char
    signature: char * Arena::AllocateNewBlock(size_t block_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: leveldb::Arena::Arena
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena::Arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: Arena::~Arena()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Arena::~Arena()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Arena::AllocateNewBlock
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:24,1
    - Dst: leveldb::Arena::AllocateNewBlock
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: leveldb::Arena::AllocateFallback
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 3
    functionsReached:
    - leveldb::Arena::AllocateNewBlock
    linkageType: ''
    returnType: char
    signature: char * Arena::AllocateFallback(size_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:42,1
    - Dst: leveldb::Arena::AllocateFallback
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:52,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:54,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts:
    - condition: ((reinterpret_cast<uintptr_t>(result) & (align - 1)) == 0)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bitcoin-core/src/leveldb/util/arena.cc
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: leveldb::Arena::AllocateAligned
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - leveldb::Arena::AllocateFallback
    - assert
    linkageType: ''
    returnType: char
    signature: char * Arena::AllocateAligned(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:59,1
    - Dst: push_back
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:60,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/arena.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - block_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: leveldb::Arena::AllocateNewBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/arena.cc
    functionUses: 2
    functionsReached:
    - push_back
    - fetch_add
    - char::char
    linkageType: ''
    returnType: char
    signature: char * Arena::AllocateNewBlock(size_t block_bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/hash.cc:31,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/hash.cc:41,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/hash.cc:44,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/hash.cc:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - data
    - n
    - seed
    argTypes:
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 53
    functionName: leveldb::Hash
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/hash.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint8_t>
    - leveldb::DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Hash(const char* data, size_t n, uint32_t seed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/hash.cc:31,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/hash.cc:41,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/hash.cc:44,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/hash.cc:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - data
    - n
    - seed
    argTypes:
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 53
    functionName: leveldb::Hash
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/hash.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint8_t>
    - leveldb::DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Hash(const char* data, size_t n, uint32_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewMemEnv
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:37,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: leveldb::test::ErrorEnv::ErrorEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - NewMemEnv
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void ErrorEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~ErrorEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    linkageType: ''
    returnType: void
    signature: void ~ErrorEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:47,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: leveldb::test::ErrorEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& fname,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:57,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: leveldb::test::ErrorEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& fname,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewMemEnv
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:37,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: leveldb::test::ErrorEnv::ErrorEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - NewMemEnv
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void ErrorEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~ErrorEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - leveldb::target
    linkageType: ''
    returnType: void
    signature: void ~ErrorEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:47,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: leveldb::test::ErrorEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& fname,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:57,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: leveldb::test::ErrorEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& fname,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewMemEnv
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:37,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: leveldb::test::ErrorEnv::ErrorEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - NewMemEnv
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void ErrorEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~ErrorEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    linkageType: ''
    returnType: void
    signature: void ~ErrorEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:47,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: leveldb::test::ErrorEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& fname,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:57,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: leveldb::test::ErrorEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& fname,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewMemEnv
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:37,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: leveldb::test::ErrorEnv::ErrorEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - NewMemEnv
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void ErrorEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~ErrorEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    linkageType: ''
    returnType: void
    signature: void ~ErrorEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:47,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: leveldb::test::ErrorEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& fname,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:57,1
    - Dst: target
      Src: /src/bitcoin-core/src/leveldb/util/testutil.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' fname'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: leveldb::test::ErrorEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.h
    functionUses: 0
    functionsReached:
    - target
    - leveldb::IOError
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& fname,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:13,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:15,1
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:15,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rnd
    - len
    - dst
    argTypes:
    - Random*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: leveldb::test::RandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 8
    functionsReached:
    - std::string*::resize
    - Slice
    - Random*::Uniform
    - static_cast<char>
    linkageType: ''
    returnType: Slice
    signature: Slice RandomString(Random* rnd, int len, std::string* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rnd
    - len
    argTypes:
    - Random*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: leveldb::test::RandomKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 2
    functionsReached:
    - Random*::Uniform
    linkageType: ''
    returnType: std::string
    signature: std::string RandomKey(Random* rnd, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:34,1
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:37,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:40,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:41,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:42,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:44,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rnd
    - compressed_fraction
    - len
    - dst
    argTypes:
    - Random*
    - double
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: leveldb::test::CompressibleString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - Slice
    - leveldb::test::RandomString
    - std::string*::resize
    - static_cast<int>
    - std::string*::size
    - std::string*::append
    linkageType: ''
    returnType: Slice
    signature: "Slice CompressibleString(Random* rnd, double compressed_fraction,
      size_t len,\n                         std::string* dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:13,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:15,1
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:15,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rnd
    - len
    - dst
    argTypes:
    - Random*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: leveldb::test::RandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 9
    functionsReached:
    - std::string*::resize
    - Slice
    - Random*::Uniform
    - static_cast<char>
    linkageType: ''
    returnType: Slice
    signature: Slice RandomString(Random* rnd, int len, std::string* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rnd
    - len
    argTypes:
    - Random*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: leveldb::test::RandomKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 2
    functionsReached:
    - Random*::Uniform
    linkageType: ''
    returnType: std::string
    signature: std::string RandomKey(Random* rnd, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:34,1
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:37,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:40,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:41,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:42,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:44,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rnd
    - compressed_fraction
    - len
    - dst
    argTypes:
    - Random*
    - double
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: leveldb::test::CompressibleString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - Slice
    - leveldb::test::RandomString
    - std::string*::resize
    - static_cast<int>
    - std::string*::size
    - std::string*::append
    linkageType: ''
    returnType: Slice
    signature: "Slice CompressibleString(Random* rnd, double compressed_fraction,
      size_t len,\n                         std::string* dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:13,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:15,1
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:15,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rnd
    - len
    - dst
    argTypes:
    - Random*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: leveldb::test::RandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 10
    functionsReached:
    - std::string*::resize
    - Slice
    - Random*::Uniform
    - static_cast<char>
    linkageType: ''
    returnType: Slice
    signature: Slice RandomString(Random* rnd, int len, std::string* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rnd
    - len
    argTypes:
    - Random*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: leveldb::test::RandomKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 2
    functionsReached:
    - Random*::Uniform
    linkageType: ''
    returnType: std::string
    signature: std::string RandomKey(Random* rnd, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:34,1
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:37,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:40,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:41,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:42,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:44,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rnd
    - compressed_fraction
    - len
    - dst
    argTypes:
    - Random*
    - double
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: leveldb::test::CompressibleString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - Slice
    - leveldb::test::RandomString
    - std::string*::resize
    - static_cast<int>
    - std::string*::size
    - std::string*::append
    linkageType: ''
    returnType: Slice
    signature: "Slice CompressibleString(Random* rnd, double compressed_fraction,
      size_t len,\n                         std::string* dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:13,1
    - Dst: static_cast<char>
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:15,1
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:15,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rnd
    - len
    - dst
    argTypes:
    - Random*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: leveldb::test::RandomString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 11
    functionsReached:
    - std::string*::resize
    - Slice
    - Random*::Uniform
    - static_cast<char>
    linkageType: ''
    returnType: Slice
    signature: Slice RandomString(Random* rnd, int len, std::string* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Random*::Uniform
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rnd
    - len
    argTypes:
    - Random*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: leveldb::test::RandomKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 2
    functionsReached:
    - Random*::Uniform
    linkageType: ''
    returnType: std::string
    signature: std::string RandomKey(Random* rnd, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:34,1
    - Dst: leveldb::test::RandomString
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:37,1
    - Dst: std::string*::clear
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:40,1
    - Dst: std::string*::size
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:41,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:42,1
    - Dst: std::string*::resize
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:44,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/testutil.cc:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rnd
    - compressed_fraction
    - len
    - dst
    argTypes:
    - Random*
    - double
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: leveldb::test::CompressibleString
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testutil.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - Slice
    - leveldb::test::RandomString
    - std::string*::resize
    - static_cast<int>
    - std::string*::size
    - std::string*::append
    linkageType: ''
    returnType: Slice
    signature: "Slice CompressibleString(Random* rnd, double compressed_fraction,
      size_t len,\n                         std::string* dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:11,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - value
    argTypes:
    - std::string*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 13
    functionName: leveldb::PutFixed32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached:
    - leveldb::EncodeFixed32
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void PutFixed32(std::string* dst, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:17,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - value
    argTypes:
    - std::string*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: leveldb::PutFixed64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 6
    functionsReached:
    - std::string*::append
    - leveldb::EncodeFixed64
    linkageType: ''
    returnType: void
    signature: void PutFixed64(std::string* dst, uint64_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:23,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - dst
    - v
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: leveldb::EncodeVarint32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: char
    signature: char * EncodeVarint32(char* dst, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:51,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - v
    argTypes:
    - std::string*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: leveldb::PutVarint32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 6
    functionsReached:
    - leveldb::EncodeVarint32
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void PutVarint32(std::string* dst, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:57,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:62,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - v
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: leveldb::EncodeVarint64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    - static_cast<uint8_t>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: char
    signature: char * EncodeVarint64(char* dst, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeVarint64
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:68,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - v
    argTypes:
    - std::string*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: leveldb::PutVarint64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached:
    - std::string*::append
    - leveldb::EncodeVarint64
    linkageType: ''
    returnType: void
    signature: void PutVarint64(std::string* dst, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:73,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:73,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:74,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:74,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - ' value'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: leveldb::PutLengthPrefixedSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 2
    functionsReached:
    - leveldb::PutVarint32
    - leveldb::size
    - leveldb::data
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void PutLengthPrefixedSlice(std::string* dst, const Slice& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: leveldb::VarintLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VarintLength(uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:90,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p
    - limit
    - value
    argTypes:
    - char*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: leveldb::GetVarint32PtrFallback
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: char
    signature: "char * GetVarint32PtrFallback(const char* p, const char* limit,\n
      \                                  uint32_t* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice*::data
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:105,1
    - Dst: Slice*::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:106,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:107,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - Slice*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: leveldb::GetVarint32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 2
    functionsReached:
    - leveldb::GetVarint32Ptr
    - Slice*::size
    - leveldb::Slice
    - Slice*::data
    linkageType: ''
    returnType: bool
    signature: bool GetVarint32(Slice* input, uint32_t* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:119,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p
    - limit
    - value
    argTypes:
    - char*
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: leveldb::GetVarint64Ptr
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * GetVarint64Ptr(const char* p, const char* limit, uint64_t* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice*::data
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:134,1
    - Dst: Slice*::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:135,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:136,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - Slice*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: leveldb::GetVarint64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 0
    functionsReached:
    - Slice*::size
    - leveldb::Slice
    - leveldb::GetVarint64Ptr
    - Slice*::data
    linkageType: ''
    returnType: bool
    signature: bool GetVarint64(Slice* input, uint64_t* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:148,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - limit
    - result
    argTypes:
    - char*
    - char*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: leveldb::GetLengthPrefixedSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached:
    - leveldb::GetVarint32Ptr
    - leveldb::Slice
    linkageType: ''
    returnType: char
    signature: "char * GetLengthPrefixedSlice(const char* p, const char* limit,\n
      \                                  Slice* result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:157,1
    - Dst: Slice*::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:157,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:158,1
    - Dst: Slice*::data
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:158,1
    - Dst: Slice*::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - input
    - result
    argTypes:
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: leveldb::GetLengthPrefixedSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached:
    - leveldb::Slice
    - Slice*::data
    - Slice*::size
    - leveldb::GetVarint32
    - Slice*::remove_prefix
    linkageType: ''
    returnType: bool
    signature: bool GetLengthPrefixedSlice(Slice* input, Slice* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:11,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - value
    argTypes:
    - std::string*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 13
    functionName: leveldb::PutFixed32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached:
    - leveldb::EncodeFixed32
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void PutFixed32(std::string* dst, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:17,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - value
    argTypes:
    - std::string*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: leveldb::PutFixed64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 6
    functionsReached:
    - std::string*::append
    - leveldb::EncodeFixed64
    linkageType: ''
    returnType: void
    signature: void PutFixed64(std::string* dst, uint64_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:23,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - dst
    - v
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: leveldb::EncodeVarint32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char*>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: char
    signature: char * EncodeVarint32(char* dst, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:51,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - v
    argTypes:
    - std::string*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: leveldb::PutVarint32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 7
    functionsReached:
    - leveldb::EncodeVarint32
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void PutVarint32(std::string* dst, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:57,1
    - Dst: static_cast<uint8_t>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:62,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - v
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: leveldb::EncodeVarint64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char*>
    - static_cast<uint8_t>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: char
    signature: char * EncodeVarint64(char* dst, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EncodeVarint64
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:68,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - v
    argTypes:
    - std::string*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: leveldb::PutVarint64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached:
    - std::string*::append
    - leveldb::EncodeVarint64
    linkageType: ''
    returnType: void
    signature: void PutVarint64(std::string* dst, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:73,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:73,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:74,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:74,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - ' value'
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: leveldb::PutLengthPrefixedSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 2
    functionsReached:
    - leveldb::PutVarint32
    - leveldb::size
    - leveldb::data
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void PutLengthPrefixedSlice(std::string* dst, const Slice& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: leveldb::VarintLength
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VarintLength(uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:90,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p
    - limit
    - value
    argTypes:
    - char*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: leveldb::GetVarint32PtrFallback
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: char
    signature: "char * GetVarint32PtrFallback(const char* p, const char* limit,\n
      \                                  uint32_t* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice*::data
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:105,1
    - Dst: Slice*::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:106,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:107,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - Slice*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: leveldb::GetVarint32
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 3
    functionsReached:
    - leveldb::GetVarint32Ptr
    - Slice*::size
    - leveldb::Slice
    - Slice*::data
    linkageType: ''
    returnType: bool
    signature: bool GetVarint32(Slice* input, uint32_t* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:119,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p
    - limit
    - value
    argTypes:
    - char*
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: leveldb::GetVarint64Ptr
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * GetVarint64Ptr(const char* p, const char* limit, uint64_t* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice*::data
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:134,1
    - Dst: Slice*::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:135,1
    - Dst: leveldb::GetVarint64Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:136,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - Slice*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: leveldb::GetVarint64
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 0
    functionsReached:
    - Slice*::size
    - leveldb::Slice
    - leveldb::GetVarint64Ptr
    - Slice*::data
    linkageType: ''
    returnType: bool
    signature: bool GetVarint64(Slice* input, uint64_t* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:148,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - limit
    - result
    argTypes:
    - char*
    - char*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: leveldb::GetLengthPrefixedSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached:
    - leveldb::GetVarint32Ptr
    - leveldb::Slice
    linkageType: ''
    returnType: char
    signature: "char * GetLengthPrefixedSlice(const char* p, const char* limit,\n
      \                                  Slice* result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::GetVarint32
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:157,1
    - Dst: Slice*::size
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:157,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:158,1
    - Dst: Slice*::data
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:158,1
    - Dst: Slice*::remove_prefix
      Src: /src/bitcoin-core/src/leveldb/util/coding.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - input
    - result
    argTypes:
    - Slice*
    - Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: leveldb::GetLengthPrefixedSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/coding.cc
    functionUses: 4
    functionsReached:
    - leveldb::Slice
    - Slice*::data
    - Slice*::size
    - leveldb::GetVarint32
    - Slice*::remove_prefix
    linkageType: ''
    returnType: bool
    signature: bool GetLengthPrefixedSlice(Slice* input, Slice* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::FormatMessageA
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:56,1
    - Dst: MAKELANGID
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:59,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:60,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:64,1
    - Dst: ::LocalFree
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: leveldb::GetWindowsErrorMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - MAKELANGID
    - ::LocalFree
    - std::string::assign
    - ::FormatMessageA
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string GetWindowsErrorMessage(DWORD error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:71,1
    - Dst: leveldb::GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:71,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:72,1
    - Dst: leveldb::GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' context'
    - error_code
    argTypes:
    - std::string
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: leveldb::WindowsError
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetWindowsErrorMessage
    - leveldb::IOError
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: Status WindowsError(const std::string& context, DWORD error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(const ScopedHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ScopedHandle::Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::ScopedHandle::Release
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(ScopedHandle&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ~ScopedHandle()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~ScopedHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& operator=(const ScopedHandle&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & operator=(const ScopedHandle&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '& operator=(ScopedHandle&& rhs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & operator=(ScopedHandle&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:90,1
    - Dst: ::CloseHandle
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: leveldb::ScopedHandle::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::CloseHandle
    - leveldb::ScopedHandle::is_valid
    linkageType: ''
    returnType: bool
    signature: bool Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: leveldb::ScopedHandle::is_valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: leveldb::ScopedHandle::get
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: leveldb::ScopedHandle::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_acquires
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(int max_acquires)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(const Limiter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator=(const Limiter&)
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Limiter
    signature: Limiter operator=(const Limiter&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:130,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: leveldb::Limiter::Acquire
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - fetch_sub
    linkageType: ''
    returnType: bool
    signature: bool Acquire()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: leveldb::Limiter::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:153,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: leveldb::WindowsSequentialFile::WindowsSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsSequentialFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: ~WindowsSequentialFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsSequentialFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:161,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:161,1
    - Dst: ::ReadFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:164,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:164,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:167,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts:
    - condition: (n <= std::numeric_limits<DWORD>::max())
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: leveldb::WindowsSequentialFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - WindowsError
    - ::ReadFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - assert
    - RandomMixin::max
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::SetFilePointerEx
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:174,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:174,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:175,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:175,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: leveldb::WindowsSequentialFile::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsError
    - ::SetFilePointerEx
    - leveldb::OK
    - WSAGetLastError
    - get
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: leveldb::WindowsSequentialFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:190,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: leveldb::WindowsRandomAccessFile::WindowsRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsRandomAccessFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ~WindowsRandomAccessFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsRandomAccessFile() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:199,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:200,1
    - Dst: ::ReadFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:203,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:205,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:206,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:206,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:210,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: leveldb::WindowsRandomAccessFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - ::ReadFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - leveldb::IOError
    - GetWindowsErrorMessage
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: leveldb::WindowsRandomAccessFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - filename
    - mmap_base
    - length
    - mmap_limiter
    argTypes:
    - std::string
    - char*
    - size_t
    - Limiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: leveldb::WindowsMmapReadableFile::WindowsMmapReadableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void WindowsMmapReadableFile(std::string filename, char* mmap_base,
      size_t length,\n                          Limiter* mmap_limiter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::UnmapViewOfFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:232,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: ~WindowsMmapReadableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::UnmapViewOfFile
    - Release
    linkageType: ''
    returnType: void
    signature: void ~WindowsMmapReadableFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:239,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:240,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:243,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: leveldb::WindowsMmapReadableFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::OK
    - WindowsError
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: leveldb::WindowsMmapReadableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:259,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: leveldb::WindowsWritableFile::WindowsWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsWritableFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: ~WindowsWritableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsWritableFile() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:264,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:265,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:268,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:269,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:274,1
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:278,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:279,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:285,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:287,1
    - Dst: leveldb::WindowsWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: leveldb::WindowsWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - leveldb::OK
    - size
    - data
    - Status::ok
    - std::min
    - leveldb::WindowsWritableFile::FlushBuffer
    - leveldb::WindowsWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:293,1
    - Dst: leveldb::WindowsWritableFile::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:294,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:294,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:295,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: leveldb::WindowsWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 1
    functionsReached:
    - WindowsError
    - leveldb::WindowsWritableFile::Close
    - WSAGetLastError
    - Status::ok
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: leveldb::WindowsWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:306,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:307,1
    - Dst: ::FlushFileBuffers
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:311,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:311,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:312,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:313,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:313,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: leveldb::WindowsWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - ::FlushFileBuffers
    - WSAGetLastError
    - get
    - leveldb::IOError
    - GetWindowsErrorMessage
    - Status::ok
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: leveldb::WindowsWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: leveldb::WindowsWritableFile::FlushBuffer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 4
    functionsReached:
    - leveldb::WindowsWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status FlushBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::WriteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:331,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:332,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:332,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: leveldb::WindowsWritableFile::WriteUnbuffered
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 2
    functionsReached:
    - ::WriteFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - leveldb::IOError
    - GetWindowsErrorMessage
    linkageType: ''
    returnType: Status
    signature: Status WriteUnbuffered(const char* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:350,1
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - lock
    argTypes:
    - HANDLE
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: leveldb::LockOrUnlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::UnlockFile
    - leveldb::LockFile
    linkageType: ''
    returnType: bool
    signature: bool LockOrUnlock(HANDLE handle, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:365,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - handle
    - filename
    argTypes:
    - ScopedHandle
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: leveldb::WindowsFileLock::WindowsFileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsFileLock(ScopedHandle handle, std::string filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: '& handle() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & handle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: '& filename() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:381,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: ~WindowsEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::fwrite
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~WindowsEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:390,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:391,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:392,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:395,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:396,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:396,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:399,1
    - Dst: WindowsSequentialFile::WindowsSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:399,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: leveldb::WindowsEnv::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - WindowsSequentialFile::WindowsSequentialFile
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewSequentialFile(const std::string& filename,\n                           SequentialFile**
      result) override"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:408,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:410,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:410,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:414,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:415,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:415,1
    - Dst: Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:417,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:418,1
    - Dst: WindowsRandomAccessFile::WindowsRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:418,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:419,1
    - Dst: ::GetFileSizeEx
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:424,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:424,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:425,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:426,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:426,1
    - Dst: ::CreateFileMappingW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:430,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:430,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:435,1
    - Dst: ::MapViewOfFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:436,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:436,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:442,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:443,1
    - Dst: WindowsMmapReadableFile::WindowsMmapReadableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:441,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:444,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:447,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:448,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 449
    functionName: leveldb::WindowsEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsRandomAccessFile::WindowsRandomAccessFile
    - Release
    - ::GetFileSizeEx
    - WindowsError
    - static_cast<size_t>
    - ::CreateFileMappingW
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::MapViewOfFile
    - Acquire
    - ScopedHandle::get
    - WindowsMmapReadableFile::WindowsMmapReadableFile
    - reinterpret_cast<char*>
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& filename,\n                             RandomAccessFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:455,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:456,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:457,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:460,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:462,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:462,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:465,1
    - Dst: WindowsWritableFile::WindowsWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:465,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 467
    functionName: leveldb::WindowsEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsWritableFile::WindowsWritableFile
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& filename,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:473,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:474,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:475,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:478,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:480,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:480,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:483,1
    - Dst: WindowsWritableFile::WindowsWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:483,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 485
    functionName: leveldb::WindowsEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsWritableFile::WindowsWritableFile
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& filename,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:488,1
    - Dst: GetFileAttributesW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:489,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: leveldb::WindowsEnv::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - GetFileAttributesW
    - leveldb::WindowsEnv::toUtf16
    - auto::c_str
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& filename) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:496,1
    - Dst: ::FindFirstFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:497,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:497,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:499,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:501,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:503,1
    - Dst: leveldb::WindowsEnv::toUtf8
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:509,1
    - Dst: _splitpath_s
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:510,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:510,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:511,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:511,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:512,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:512,1
    - Dst: ::FindNextFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:514,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:515,1
    - Dst: ::FindClose
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:516,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:518,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' directory_path'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 521
    functionName: leveldb::WindowsEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - ::FindNextFileW
    - WindowsError
    - ::FindClose
    - ARRAYSIZE
    - leveldb::OK
    - WSAGetLastError
    - ::FindFirstFileW
    - std::string
    - _splitpath_s
    - leveldb::WindowsEnv::toUtf8
    - auto::c_str
    - std::vector<std::string>*::emplace_back
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& directory_path,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:524,1
    - Dst: ::DeleteFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:525,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:525,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:526,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:526,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: leveldb::WindowsEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::DeleteFileW
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:532,1
    - Dst: ::CreateDirectoryW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:533,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:533,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:534,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:534,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: leveldb::WindowsEnv::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - ::CreateDirectoryW
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:540,1
    - Dst: ::RemoveDirectoryW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:541,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:541,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:542,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:542,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: leveldb::WindowsEnv::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::RemoveDirectoryW
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:549,1
    - Dst: ::GetFileAttributesExW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:550,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:550,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:552,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:552,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' filename'
    - size
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: leveldb::WindowsEnv::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::GetFileAttributesExW
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& filename, uint64_t* size) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:564,1
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:565,1
    - Dst: ::MoveFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:567,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:569,1
    - Dst: ::ReplaceFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:578,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:580,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:586,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 590
    functionName: leveldb::WindowsEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::MoveFileW
    - leveldb::OK
    - WSAGetLastError
    - ::ReplaceFileW
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& from, const std::string& to) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:595,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:596,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:597,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:600,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:601,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:601,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:602,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:602,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:603,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:603,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:605,1
    - Dst: WindowsFileLock::WindowsFileLock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' filename'
    - lock
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 608
    functionName: leveldb::WindowsEnv::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - WindowsFileLock::WindowsFileLock
    - WSAGetLastError
    - std::move
    - LockOrUnlock
    - ScopedHandle::get
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& filename, FileLock** lock) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<WindowsFileLock*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:612,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:613,1
    - Dst: WindowsFileLock*::handle
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:613,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:614,1
    - Dst: WindowsFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:614,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:615,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: leveldb::WindowsEnv::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsError
    - WindowsFileLock*::handle
    - leveldb::OK
    - reinterpret_cast<WindowsFileLock*>
    - WSAGetLastError
    - WindowsFileLock*::filename
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread_main_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: leveldb::WindowsEnv::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void StartThread(void (*thread_main)(void* thread_main_arg),\n                   void*
      thread_main_arg) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:631,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:634,1
    - Dst: GetTempPathW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:638,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:638,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:639,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:639,1
    - Dst: leveldb::WindowsEnv::toUtf8
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:641,1
    - Dst: std::wstring
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:641,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:643,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:644,1
    - Dst: leveldb::WindowsEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:647,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 649
    functionName: leveldb::WindowsEnv::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::wstring
    - WindowsError
    - leveldb::WindowsEnv::toUtf8
    - ARRAYSIZE
    - leveldb::OK
    - leveldb::WindowsEnv::CreateDir
    - WSAGetLastError
    - std::this_thread::get_id
    - GetTempPathW
    - std::stringstream::str
    - getenv
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* result) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:652,1
    - Dst: _wfopen
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:653,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:653,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:656,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:656,1
    - Dst: WindowsLogger::WindowsLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:658,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 661
    functionName: leveldb::WindowsEnv::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - _wfopen
    - WindowsLogger::WindowsLogger
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& filename, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::GetSystemTimeAsFileTime
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:668,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: leveldb::WindowsEnv::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ::GetSystemTimeAsFileTime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:677,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 678
    functionName: leveldb::WindowsEnv::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - count_microseconds
    - CThreadInterrupt::sleep_for
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowsEnv*::BackgroundThreadMain
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - WindowsEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: leveldb::WindowsEnv::BackgroundThreadEntryPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsEnv*::BackgroundThreadMain
    linkageType: ''
    returnType: void
    signature: void BackgroundThreadEntryPoint(WindowsEnv* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 695
    functionName: leveldb::WindowsEnv::BackgroundWorkItem
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackgroundWorkItem(void (*function)(void* arg), void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:713,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:713,1
    - Dst: WideCharToMultiByte
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:714,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:715,1
    - Dst: WideCharToMultiByte
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:717,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' wstr'
    argTypes:
    - std::wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 720
    functionName: leveldb::WindowsEnv::toUtf8
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 2
    functionsReached:
    - size
    - WideCharToMultiByte
    - empty
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string toUtf8(const std::wstring& wstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:726,1
    - Dst: std::wstring
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:726,1
    - Dst: MultiByteToWideChar
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:728,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:728,1
    - Dst: MultiByteToWideChar
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:730,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: leveldb::WindowsEnv::toUtf16
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 13
    functionsReached:
    - std::wstring
    - size
    - MultiByteToWideChar
    - empty
    linkageType: ''
    returnType: std::wstring
    signature: std::wstring toUtf16(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 737
    functionName: leveldb::MaxMmaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MaxMmaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxMmaps
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: leveldb::WindowsEnv::WindowsEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - MaxMmaps
    linkageType: ''
    returnType: void
    signature: void WindowsEnv::WindowsEnv()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:747,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:753,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:757,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:758,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:761,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - background_work_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 763
    functionName: leveldb::WindowsEnv::Schedule
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Signal
    - emplace
    - empty
    - Unlock
    - Lock
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void WindowsEnv::Schedule(\n    void (*background_work_function)(void*
      background_work_arg),\n    void* background_work_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:767,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:770,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:771,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:774,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:774,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:775,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:776,1
    - Dst: pop
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:777,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:779,1
    - Dst: background_work_function
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!background_work_queue_.empty())
      pos:
        line_end: 773
        line_start: 773
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 782
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 782
    functionName: leveldb::WindowsEnv::BackgroundThreadMain
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - background_work_function
    - Unlock
    - Wait
    - assert
    - front
    - Lock
    linkageType: ''
    returnType: void
    signature: void WindowsEnv::BackgroundThreadMain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:801,1
    - Dst: EnvType::EnvType
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - EnvType::EnvType
    - store
    linkageType: ''
    returnType: void
    signature: void SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: ~SingletonEnv()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingletonEnv(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 816
    functionName: '& operator=(const SingletonEnv&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingletonEnv
    signature: SingletonEnv & operator=(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Env*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: leveldb::SingletonEnv::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Env*>
    linkageType: ''
    returnType: Env
    signature: Env * env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:822,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!env_initialized_.load(std::memory_order_relaxed))
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: leveldb::SingletonEnv::AssertEnvNotInitialized
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 4
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: void
    signature: void AssertEnvNotInitialized()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::FormatMessageA
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:56,1
    - Dst: MAKELANGID
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:59,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:60,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:64,1
    - Dst: ::LocalFree
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: leveldb::GetWindowsErrorMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 1
    functionsReached:
    - MAKELANGID
    - ::LocalFree
    - std::string::assign
    - ::FormatMessageA
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string GetWindowsErrorMessage(DWORD error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:71,1
    - Dst: leveldb::GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:71,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:72,1
    - Dst: leveldb::GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' context'
    - error_code
    argTypes:
    - std::string
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: leveldb::WindowsError
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetWindowsErrorMessage
    - leveldb::IOError
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: Status WindowsError(const std::string& context, DWORD error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(const ScopedHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ScopedHandle::Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::ScopedHandle::Release
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(ScopedHandle&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ~ScopedHandle()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~ScopedHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& operator=(const ScopedHandle&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & operator=(const ScopedHandle&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '& operator=(ScopedHandle&& rhs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & operator=(ScopedHandle&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:90,1
    - Dst: ::CloseHandle
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: leveldb::ScopedHandle::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::CloseHandle
    - leveldb::ScopedHandle::is_valid
    linkageType: ''
    returnType: bool
    signature: bool Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: leveldb::ScopedHandle::is_valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: leveldb::ScopedHandle::get
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: leveldb::ScopedHandle::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_acquires
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(int max_acquires)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(const Limiter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator=(const Limiter&)
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Limiter
    signature: Limiter operator=(const Limiter&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:130,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: leveldb::Limiter::Acquire
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - fetch_sub
    linkageType: ''
    returnType: bool
    signature: bool Acquire()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: leveldb::Limiter::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:153,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: leveldb::WindowsSequentialFile::WindowsSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsSequentialFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: ~WindowsSequentialFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsSequentialFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:161,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:161,1
    - Dst: ::ReadFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:164,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:164,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:167,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts:
    - condition: (n <= std::numeric_limits<DWORD>::max())
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: leveldb::WindowsSequentialFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - WindowsError
    - ::ReadFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - assert
    - RandomMixin::max
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::SetFilePointerEx
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:174,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:174,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:175,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:175,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: leveldb::WindowsSequentialFile::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsError
    - ::SetFilePointerEx
    - leveldb::OK
    - WSAGetLastError
    - get
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: leveldb::WindowsSequentialFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:190,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: leveldb::WindowsRandomAccessFile::WindowsRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsRandomAccessFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ~WindowsRandomAccessFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsRandomAccessFile() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:199,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:200,1
    - Dst: ::ReadFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:203,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:205,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:206,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:206,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:210,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: leveldb::WindowsRandomAccessFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - ::ReadFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - leveldb::IOError
    - GetWindowsErrorMessage
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: leveldb::WindowsRandomAccessFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - filename
    - mmap_base
    - length
    - mmap_limiter
    argTypes:
    - std::string
    - char*
    - size_t
    - Limiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: leveldb::WindowsMmapReadableFile::WindowsMmapReadableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void WindowsMmapReadableFile(std::string filename, char* mmap_base,
      size_t length,\n                          Limiter* mmap_limiter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::UnmapViewOfFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:232,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: ~WindowsMmapReadableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::UnmapViewOfFile
    - Release
    linkageType: ''
    returnType: void
    signature: void ~WindowsMmapReadableFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:239,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:240,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:243,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: leveldb::WindowsMmapReadableFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::OK
    - WindowsError
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: leveldb::WindowsMmapReadableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:259,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: leveldb::WindowsWritableFile::WindowsWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsWritableFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: ~WindowsWritableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsWritableFile() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:264,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:265,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:268,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:269,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:274,1
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:278,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:279,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:285,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:287,1
    - Dst: leveldb::WindowsWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: leveldb::WindowsWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - leveldb::OK
    - size
    - data
    - Status::ok
    - std::min
    - leveldb::WindowsWritableFile::FlushBuffer
    - leveldb::WindowsWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:293,1
    - Dst: leveldb::WindowsWritableFile::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:294,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:294,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:295,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: leveldb::WindowsWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 2
    functionsReached:
    - WindowsError
    - leveldb::WindowsWritableFile::Close
    - WSAGetLastError
    - Status::ok
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: leveldb::WindowsWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:306,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:307,1
    - Dst: ::FlushFileBuffers
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:311,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:311,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:312,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:313,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:313,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: leveldb::WindowsWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - ::FlushFileBuffers
    - WSAGetLastError
    - get
    - leveldb::IOError
    - GetWindowsErrorMessage
    - Status::ok
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: leveldb::WindowsWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: leveldb::WindowsWritableFile::FlushBuffer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 8
    functionsReached:
    - leveldb::WindowsWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status FlushBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::WriteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:331,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:332,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:332,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: leveldb::WindowsWritableFile::WriteUnbuffered
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 4
    functionsReached:
    - ::WriteFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - leveldb::IOError
    - GetWindowsErrorMessage
    linkageType: ''
    returnType: Status
    signature: Status WriteUnbuffered(const char* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:350,1
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - lock
    argTypes:
    - HANDLE
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: leveldb::LockOrUnlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::UnlockFile
    - leveldb::LockFile
    linkageType: ''
    returnType: bool
    signature: bool LockOrUnlock(HANDLE handle, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:365,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - handle
    - filename
    argTypes:
    - ScopedHandle
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: leveldb::WindowsFileLock::WindowsFileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsFileLock(ScopedHandle handle, std::string filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: '& handle() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & handle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: '& filename() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:381,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: ~WindowsEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::fwrite
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~WindowsEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:390,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:391,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:392,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:395,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:396,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:396,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:399,1
    - Dst: WindowsSequentialFile::WindowsSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:399,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: leveldb::WindowsEnv::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - WindowsSequentialFile::WindowsSequentialFile
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewSequentialFile(const std::string& filename,\n                           SequentialFile**
      result) override"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:408,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:410,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:410,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:414,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:415,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:415,1
    - Dst: Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:417,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:418,1
    - Dst: WindowsRandomAccessFile::WindowsRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:418,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:419,1
    - Dst: ::GetFileSizeEx
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:424,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:424,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:425,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:426,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:426,1
    - Dst: ::CreateFileMappingW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:430,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:430,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:435,1
    - Dst: ::MapViewOfFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:436,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:436,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:442,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:443,1
    - Dst: WindowsMmapReadableFile::WindowsMmapReadableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:441,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:444,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:447,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:448,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 449
    functionName: leveldb::WindowsEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsRandomAccessFile::WindowsRandomAccessFile
    - Release
    - ::GetFileSizeEx
    - WindowsError
    - static_cast<size_t>
    - ::CreateFileMappingW
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::MapViewOfFile
    - Acquire
    - ScopedHandle::get
    - WindowsMmapReadableFile::WindowsMmapReadableFile
    - reinterpret_cast<char*>
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& filename,\n                             RandomAccessFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:455,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:456,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:457,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:460,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:462,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:462,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:465,1
    - Dst: WindowsWritableFile::WindowsWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:465,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 467
    functionName: leveldb::WindowsEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsWritableFile::WindowsWritableFile
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& filename,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:473,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:474,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:475,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:478,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:480,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:480,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:483,1
    - Dst: WindowsWritableFile::WindowsWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:483,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 485
    functionName: leveldb::WindowsEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsWritableFile::WindowsWritableFile
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& filename,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:488,1
    - Dst: GetFileAttributesW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:489,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: leveldb::WindowsEnv::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - GetFileAttributesW
    - leveldb::WindowsEnv::toUtf16
    - auto::c_str
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& filename) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:496,1
    - Dst: ::FindFirstFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:497,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:497,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:499,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:501,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:503,1
    - Dst: leveldb::WindowsEnv::toUtf8
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:509,1
    - Dst: _splitpath_s
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:510,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:510,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:511,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:511,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:512,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:512,1
    - Dst: ::FindNextFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:514,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:515,1
    - Dst: ::FindClose
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:516,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:518,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' directory_path'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 521
    functionName: leveldb::WindowsEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - ::FindNextFileW
    - WindowsError
    - ::FindClose
    - ARRAYSIZE
    - leveldb::OK
    - WSAGetLastError
    - ::FindFirstFileW
    - std::string
    - _splitpath_s
    - leveldb::WindowsEnv::toUtf8
    - auto::c_str
    - std::vector<std::string>*::emplace_back
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& directory_path,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:524,1
    - Dst: ::DeleteFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:525,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:525,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:526,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:526,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: leveldb::WindowsEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::DeleteFileW
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:532,1
    - Dst: ::CreateDirectoryW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:533,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:533,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:534,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:534,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: leveldb::WindowsEnv::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 1
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - ::CreateDirectoryW
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:540,1
    - Dst: ::RemoveDirectoryW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:541,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:541,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:542,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:542,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: leveldb::WindowsEnv::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::RemoveDirectoryW
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:549,1
    - Dst: ::GetFileAttributesExW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:550,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:550,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:552,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:552,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' filename'
    - size
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: leveldb::WindowsEnv::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::GetFileAttributesExW
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& filename, uint64_t* size) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:564,1
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:565,1
    - Dst: ::MoveFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:567,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:569,1
    - Dst: ::ReplaceFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:578,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:580,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:586,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 590
    functionName: leveldb::WindowsEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::MoveFileW
    - leveldb::OK
    - WSAGetLastError
    - ::ReplaceFileW
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& from, const std::string& to) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:595,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:596,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:597,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:600,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:601,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:601,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:602,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:602,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:603,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:603,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:605,1
    - Dst: WindowsFileLock::WindowsFileLock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' filename'
    - lock
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 608
    functionName: leveldb::WindowsEnv::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - WindowsFileLock::WindowsFileLock
    - WSAGetLastError
    - std::move
    - LockOrUnlock
    - ScopedHandle::get
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& filename, FileLock** lock) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<WindowsFileLock*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:612,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:613,1
    - Dst: WindowsFileLock*::handle
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:613,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:614,1
    - Dst: WindowsFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:614,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:615,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: leveldb::WindowsEnv::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsError
    - WindowsFileLock*::handle
    - leveldb::OK
    - reinterpret_cast<WindowsFileLock*>
    - WSAGetLastError
    - WindowsFileLock*::filename
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread_main_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: leveldb::WindowsEnv::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void StartThread(void (*thread_main)(void* thread_main_arg),\n                   void*
      thread_main_arg) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:631,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:634,1
    - Dst: GetTempPathW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:638,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:638,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:639,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:639,1
    - Dst: leveldb::WindowsEnv::toUtf8
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:641,1
    - Dst: std::wstring
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:641,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:643,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:644,1
    - Dst: leveldb::WindowsEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:647,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 649
    functionName: leveldb::WindowsEnv::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::wstring
    - WindowsError
    - leveldb::WindowsEnv::toUtf8
    - ARRAYSIZE
    - leveldb::OK
    - leveldb::WindowsEnv::CreateDir
    - WSAGetLastError
    - std::this_thread::get_id
    - GetTempPathW
    - std::stringstream::str
    - getenv
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* result) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:652,1
    - Dst: _wfopen
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:653,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:653,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:656,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:656,1
    - Dst: WindowsLogger::WindowsLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:658,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 661
    functionName: leveldb::WindowsEnv::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - _wfopen
    - WindowsLogger::WindowsLogger
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& filename, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::GetSystemTimeAsFileTime
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:668,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: leveldb::WindowsEnv::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ::GetSystemTimeAsFileTime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:677,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 678
    functionName: leveldb::WindowsEnv::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - count_microseconds
    - CThreadInterrupt::sleep_for
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowsEnv*::BackgroundThreadMain
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - WindowsEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: leveldb::WindowsEnv::BackgroundThreadEntryPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsEnv*::BackgroundThreadMain
    linkageType: ''
    returnType: void
    signature: void BackgroundThreadEntryPoint(WindowsEnv* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 695
    functionName: leveldb::WindowsEnv::BackgroundWorkItem
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackgroundWorkItem(void (*function)(void* arg), void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:713,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:713,1
    - Dst: WideCharToMultiByte
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:714,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:715,1
    - Dst: WideCharToMultiByte
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:717,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' wstr'
    argTypes:
    - std::wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 720
    functionName: leveldb::WindowsEnv::toUtf8
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 4
    functionsReached:
    - size
    - WideCharToMultiByte
    - empty
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string toUtf8(const std::wstring& wstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:726,1
    - Dst: std::wstring
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:726,1
    - Dst: MultiByteToWideChar
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:728,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:728,1
    - Dst: MultiByteToWideChar
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:730,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: leveldb::WindowsEnv::toUtf16
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 26
    functionsReached:
    - std::wstring
    - size
    - MultiByteToWideChar
    - empty
    linkageType: ''
    returnType: std::wstring
    signature: std::wstring toUtf16(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 737
    functionName: leveldb::MaxMmaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MaxMmaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxMmaps
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: leveldb::WindowsEnv::WindowsEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - MaxMmaps
    linkageType: ''
    returnType: void
    signature: void WindowsEnv::WindowsEnv()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:747,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:753,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:757,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:758,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:761,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - background_work_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 763
    functionName: leveldb::WindowsEnv::Schedule
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Signal
    - emplace
    - empty
    - Unlock
    - Lock
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void WindowsEnv::Schedule(\n    void (*background_work_function)(void*
      background_work_arg),\n    void* background_work_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:767,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:770,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:771,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:774,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:774,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:775,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:776,1
    - Dst: pop
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:777,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:779,1
    - Dst: background_work_function
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!background_work_queue_.empty())
      pos:
        line_end: 773
        line_start: 773
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 782
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 782
    functionName: leveldb::WindowsEnv::BackgroundThreadMain
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - background_work_function
    - Unlock
    - Wait
    - assert
    - front
    - Lock
    linkageType: ''
    returnType: void
    signature: void WindowsEnv::BackgroundThreadMain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:801,1
    - Dst: EnvType::EnvType
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - EnvType::EnvType
    - store
    linkageType: ''
    returnType: void
    signature: void SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: ~SingletonEnv()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingletonEnv(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 816
    functionName: '& operator=(const SingletonEnv&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingletonEnv
    signature: SingletonEnv & operator=(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Env*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: leveldb::SingletonEnv::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Env*>
    linkageType: ''
    returnType: Env
    signature: Env * env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:822,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!env_initialized_.load(std::memory_order_relaxed))
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: leveldb::SingletonEnv::AssertEnvNotInitialized
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 4
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: void
    signature: void AssertEnvNotInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SingletonEnv::AssertEnvNotInitialized
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: leveldb::EnvWindowsTestHelper::SetReadOnlyMMapLimit
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::SingletonEnv::AssertEnvNotInitialized
    linkageType: ''
    returnType: void
    signature: void EnvWindowsTestHelper::SetReadOnlyMMapLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowsDefaultEnv::env
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: leveldb::Env::Default
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 33
    functionsReached:
    - WindowsDefaultEnv::env
    linkageType: ''
    returnType: Env
    signature: Env * Env::Default()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::FormatMessageA
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:56,1
    - Dst: MAKELANGID
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:59,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:60,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:64,1
    - Dst: ::LocalFree
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: leveldb::GetWindowsErrorMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 2
    functionsReached:
    - MAKELANGID
    - ::LocalFree
    - std::string::assign
    - ::FormatMessageA
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string GetWindowsErrorMessage(DWORD error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:71,1
    - Dst: leveldb::GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:71,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:72,1
    - Dst: leveldb::GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' context'
    - error_code
    argTypes:
    - std::string
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: leveldb::WindowsError
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetWindowsErrorMessage
    - leveldb::IOError
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: Status WindowsError(const std::string& context, DWORD error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(const ScopedHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ScopedHandle::Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::ScopedHandle::Release
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(ScopedHandle&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ~ScopedHandle()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~ScopedHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& operator=(const ScopedHandle&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & operator=(const ScopedHandle&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '& operator=(ScopedHandle&& rhs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & operator=(ScopedHandle&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:90,1
    - Dst: ::CloseHandle
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: leveldb::ScopedHandle::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::CloseHandle
    - leveldb::ScopedHandle::is_valid
    linkageType: ''
    returnType: bool
    signature: bool Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: leveldb::ScopedHandle::is_valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: leveldb::ScopedHandle::get
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: leveldb::ScopedHandle::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_acquires
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(int max_acquires)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(const Limiter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator=(const Limiter&)
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Limiter
    signature: Limiter operator=(const Limiter&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:130,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: leveldb::Limiter::Acquire
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - fetch_sub
    linkageType: ''
    returnType: bool
    signature: bool Acquire()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: leveldb::Limiter::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:153,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: leveldb::WindowsSequentialFile::WindowsSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsSequentialFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: ~WindowsSequentialFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsSequentialFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:161,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:161,1
    - Dst: ::ReadFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:164,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:164,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:167,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts:
    - condition: (n <= std::numeric_limits<DWORD>::max())
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: leveldb::WindowsSequentialFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - WindowsError
    - ::ReadFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - assert
    - RandomMixin::max
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::SetFilePointerEx
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:174,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:174,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:175,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:175,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: leveldb::WindowsSequentialFile::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsError
    - ::SetFilePointerEx
    - leveldb::OK
    - WSAGetLastError
    - get
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: leveldb::WindowsSequentialFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:190,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: leveldb::WindowsRandomAccessFile::WindowsRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsRandomAccessFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ~WindowsRandomAccessFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsRandomAccessFile() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:199,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:200,1
    - Dst: ::ReadFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:203,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:205,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:206,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:206,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:210,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: leveldb::WindowsRandomAccessFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - ::ReadFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - leveldb::IOError
    - GetWindowsErrorMessage
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: leveldb::WindowsRandomAccessFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - filename
    - mmap_base
    - length
    - mmap_limiter
    argTypes:
    - std::string
    - char*
    - size_t
    - Limiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: leveldb::WindowsMmapReadableFile::WindowsMmapReadableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void WindowsMmapReadableFile(std::string filename, char* mmap_base,
      size_t length,\n                          Limiter* mmap_limiter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::UnmapViewOfFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:232,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: ~WindowsMmapReadableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::UnmapViewOfFile
    - Release
    linkageType: ''
    returnType: void
    signature: void ~WindowsMmapReadableFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:239,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:240,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:243,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: leveldb::WindowsMmapReadableFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::OK
    - WindowsError
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: leveldb::WindowsMmapReadableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:259,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: leveldb::WindowsWritableFile::WindowsWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsWritableFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: ~WindowsWritableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsWritableFile() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:264,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:265,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:268,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:269,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:274,1
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:278,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:279,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:285,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:287,1
    - Dst: leveldb::WindowsWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: leveldb::WindowsWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - leveldb::OK
    - size
    - data
    - Status::ok
    - std::min
    - leveldb::WindowsWritableFile::FlushBuffer
    - leveldb::WindowsWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:293,1
    - Dst: leveldb::WindowsWritableFile::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:294,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:294,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:295,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: leveldb::WindowsWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 3
    functionsReached:
    - WindowsError
    - leveldb::WindowsWritableFile::Close
    - WSAGetLastError
    - Status::ok
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: leveldb::WindowsWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:306,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:307,1
    - Dst: ::FlushFileBuffers
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:311,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:311,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:312,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:313,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:313,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: leveldb::WindowsWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - ::FlushFileBuffers
    - WSAGetLastError
    - get
    - leveldb::IOError
    - GetWindowsErrorMessage
    - Status::ok
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: leveldb::WindowsWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: leveldb::WindowsWritableFile::FlushBuffer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 12
    functionsReached:
    - leveldb::WindowsWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status FlushBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::WriteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:331,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:332,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:332,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: leveldb::WindowsWritableFile::WriteUnbuffered
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 6
    functionsReached:
    - ::WriteFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - leveldb::IOError
    - GetWindowsErrorMessage
    linkageType: ''
    returnType: Status
    signature: Status WriteUnbuffered(const char* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:350,1
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - lock
    argTypes:
    - HANDLE
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: leveldb::LockOrUnlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::UnlockFile
    - leveldb::LockFile
    linkageType: ''
    returnType: bool
    signature: bool LockOrUnlock(HANDLE handle, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:365,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - handle
    - filename
    argTypes:
    - ScopedHandle
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: leveldb::WindowsFileLock::WindowsFileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsFileLock(ScopedHandle handle, std::string filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: '& handle() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & handle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: '& filename() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:381,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: ~WindowsEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::fwrite
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~WindowsEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:390,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:391,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:392,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:395,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:396,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:396,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:399,1
    - Dst: WindowsSequentialFile::WindowsSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:399,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: leveldb::WindowsEnv::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - WindowsSequentialFile::WindowsSequentialFile
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewSequentialFile(const std::string& filename,\n                           SequentialFile**
      result) override"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:408,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:410,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:410,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:414,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:415,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:415,1
    - Dst: Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:417,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:418,1
    - Dst: WindowsRandomAccessFile::WindowsRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:418,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:419,1
    - Dst: ::GetFileSizeEx
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:424,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:424,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:425,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:426,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:426,1
    - Dst: ::CreateFileMappingW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:430,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:430,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:435,1
    - Dst: ::MapViewOfFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:436,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:436,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:442,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:443,1
    - Dst: WindowsMmapReadableFile::WindowsMmapReadableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:441,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:444,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:447,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:448,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 449
    functionName: leveldb::WindowsEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsRandomAccessFile::WindowsRandomAccessFile
    - Release
    - ::GetFileSizeEx
    - WindowsError
    - static_cast<size_t>
    - ::CreateFileMappingW
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::MapViewOfFile
    - Acquire
    - ScopedHandle::get
    - WindowsMmapReadableFile::WindowsMmapReadableFile
    - reinterpret_cast<char*>
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& filename,\n                             RandomAccessFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:455,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:456,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:457,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:460,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:462,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:462,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:465,1
    - Dst: WindowsWritableFile::WindowsWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:465,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 467
    functionName: leveldb::WindowsEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsWritableFile::WindowsWritableFile
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& filename,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:473,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:474,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:475,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:478,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:480,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:480,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:483,1
    - Dst: WindowsWritableFile::WindowsWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:483,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 485
    functionName: leveldb::WindowsEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsWritableFile::WindowsWritableFile
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& filename,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:488,1
    - Dst: GetFileAttributesW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:489,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: leveldb::WindowsEnv::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - GetFileAttributesW
    - leveldb::WindowsEnv::toUtf16
    - auto::c_str
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& filename) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:496,1
    - Dst: ::FindFirstFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:497,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:497,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:499,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:501,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:503,1
    - Dst: leveldb::WindowsEnv::toUtf8
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:509,1
    - Dst: _splitpath_s
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:510,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:510,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:511,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:511,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:512,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:512,1
    - Dst: ::FindNextFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:514,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:515,1
    - Dst: ::FindClose
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:516,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:518,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' directory_path'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 521
    functionName: leveldb::WindowsEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - ::FindNextFileW
    - WindowsError
    - ::FindClose
    - ARRAYSIZE
    - leveldb::OK
    - WSAGetLastError
    - ::FindFirstFileW
    - std::string
    - _splitpath_s
    - leveldb::WindowsEnv::toUtf8
    - auto::c_str
    - std::vector<std::string>*::emplace_back
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& directory_path,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:524,1
    - Dst: ::DeleteFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:525,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:525,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:526,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:526,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: leveldb::WindowsEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::DeleteFileW
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:532,1
    - Dst: ::CreateDirectoryW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:533,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:533,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:534,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:534,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: leveldb::WindowsEnv::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 2
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - ::CreateDirectoryW
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:540,1
    - Dst: ::RemoveDirectoryW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:541,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:541,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:542,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:542,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: leveldb::WindowsEnv::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::RemoveDirectoryW
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:549,1
    - Dst: ::GetFileAttributesExW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:550,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:550,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:552,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:552,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' filename'
    - size
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: leveldb::WindowsEnv::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::GetFileAttributesExW
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& filename, uint64_t* size) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:564,1
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:565,1
    - Dst: ::MoveFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:567,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:569,1
    - Dst: ::ReplaceFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:578,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:580,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:586,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 590
    functionName: leveldb::WindowsEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::MoveFileW
    - leveldb::OK
    - WSAGetLastError
    - ::ReplaceFileW
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& from, const std::string& to) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:595,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:596,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:597,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:600,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:601,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:601,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:602,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:602,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:603,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:603,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:605,1
    - Dst: WindowsFileLock::WindowsFileLock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' filename'
    - lock
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 608
    functionName: leveldb::WindowsEnv::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - WindowsFileLock::WindowsFileLock
    - WSAGetLastError
    - std::move
    - LockOrUnlock
    - ScopedHandle::get
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& filename, FileLock** lock) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<WindowsFileLock*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:612,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:613,1
    - Dst: WindowsFileLock*::handle
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:613,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:614,1
    - Dst: WindowsFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:614,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:615,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: leveldb::WindowsEnv::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsError
    - WindowsFileLock*::handle
    - leveldb::OK
    - reinterpret_cast<WindowsFileLock*>
    - WSAGetLastError
    - WindowsFileLock*::filename
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread_main_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: leveldb::WindowsEnv::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void StartThread(void (*thread_main)(void* thread_main_arg),\n                   void*
      thread_main_arg) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:631,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:634,1
    - Dst: GetTempPathW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:638,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:638,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:639,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:639,1
    - Dst: leveldb::WindowsEnv::toUtf8
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:641,1
    - Dst: std::wstring
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:641,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:643,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:644,1
    - Dst: leveldb::WindowsEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:647,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 649
    functionName: leveldb::WindowsEnv::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::wstring
    - WindowsError
    - leveldb::WindowsEnv::toUtf8
    - ARRAYSIZE
    - leveldb::OK
    - leveldb::WindowsEnv::CreateDir
    - WSAGetLastError
    - std::this_thread::get_id
    - GetTempPathW
    - std::stringstream::str
    - getenv
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* result) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:652,1
    - Dst: _wfopen
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:653,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:653,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:656,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:656,1
    - Dst: WindowsLogger::WindowsLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:658,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 661
    functionName: leveldb::WindowsEnv::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - _wfopen
    - WindowsLogger::WindowsLogger
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& filename, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::GetSystemTimeAsFileTime
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:668,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: leveldb::WindowsEnv::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ::GetSystemTimeAsFileTime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:677,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 678
    functionName: leveldb::WindowsEnv::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - count_microseconds
    - CThreadInterrupt::sleep_for
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowsEnv*::BackgroundThreadMain
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - WindowsEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: leveldb::WindowsEnv::BackgroundThreadEntryPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsEnv*::BackgroundThreadMain
    linkageType: ''
    returnType: void
    signature: void BackgroundThreadEntryPoint(WindowsEnv* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 695
    functionName: leveldb::WindowsEnv::BackgroundWorkItem
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackgroundWorkItem(void (*function)(void* arg), void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:713,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:713,1
    - Dst: WideCharToMultiByte
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:714,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:715,1
    - Dst: WideCharToMultiByte
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:717,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' wstr'
    argTypes:
    - std::wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 720
    functionName: leveldb::WindowsEnv::toUtf8
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 6
    functionsReached:
    - size
    - WideCharToMultiByte
    - empty
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string toUtf8(const std::wstring& wstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:726,1
    - Dst: std::wstring
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:726,1
    - Dst: MultiByteToWideChar
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:728,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:728,1
    - Dst: MultiByteToWideChar
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:730,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: leveldb::WindowsEnv::toUtf16
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 39
    functionsReached:
    - std::wstring
    - size
    - MultiByteToWideChar
    - empty
    linkageType: ''
    returnType: std::wstring
    signature: std::wstring toUtf16(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 737
    functionName: leveldb::MaxMmaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MaxMmaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxMmaps
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: leveldb::WindowsEnv::WindowsEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - MaxMmaps
    linkageType: ''
    returnType: void
    signature: void WindowsEnv::WindowsEnv()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:747,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:753,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:757,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:758,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:761,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - background_work_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 763
    functionName: leveldb::WindowsEnv::Schedule
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Signal
    - emplace
    - empty
    - Unlock
    - Lock
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void WindowsEnv::Schedule(\n    void (*background_work_function)(void*
      background_work_arg),\n    void* background_work_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:767,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:770,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:771,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:774,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:774,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:775,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:776,1
    - Dst: pop
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:777,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:779,1
    - Dst: background_work_function
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!background_work_queue_.empty())
      pos:
        line_end: 773
        line_start: 773
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 782
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 782
    functionName: leveldb::WindowsEnv::BackgroundThreadMain
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - background_work_function
    - Unlock
    - Wait
    - assert
    - front
    - Lock
    linkageType: ''
    returnType: void
    signature: void WindowsEnv::BackgroundThreadMain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:801,1
    - Dst: EnvType::EnvType
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - EnvType::EnvType
    - store
    linkageType: ''
    returnType: void
    signature: void SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: ~SingletonEnv()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingletonEnv(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 816
    functionName: '& operator=(const SingletonEnv&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingletonEnv
    signature: SingletonEnv & operator=(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Env*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: leveldb::SingletonEnv::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Env*>
    linkageType: ''
    returnType: Env
    signature: Env * env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:822,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!env_initialized_.load(std::memory_order_relaxed))
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: leveldb::SingletonEnv::AssertEnvNotInitialized
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 5
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: void
    signature: void AssertEnvNotInitialized()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::FormatMessageA
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:56,1
    - Dst: MAKELANGID
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:59,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:60,1
    - Dst: std::string::assign
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:64,1
    - Dst: ::LocalFree
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: leveldb::GetWindowsErrorMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 3
    functionsReached:
    - MAKELANGID
    - ::LocalFree
    - std::string::assign
    - ::FormatMessageA
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string GetWindowsErrorMessage(DWORD error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node::TxDownloadManager::ReceivedNotFound
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:71,1
    - Dst: leveldb::GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:71,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:72,1
    - Dst: leveldb::GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' context'
    - error_code
    argTypes:
    - std::string
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: leveldb::WindowsError
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::GetWindowsErrorMessage
    - leveldb::IOError
    - node::TxDownloadManager::ReceivedNotFound
    linkageType: ''
    returnType: Status
    signature: Status WindowsError(const std::string& context, DWORD error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(const ScopedHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ScopedHandle::Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: leveldb::ScopedHandle::ScopedHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::ScopedHandle::Release
    linkageType: ''
    returnType: void
    signature: void ScopedHandle(ScopedHandle&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ~ScopedHandle()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void ~ScopedHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& operator=(const ScopedHandle&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & operator=(const ScopedHandle&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '& operator=(ScopedHandle&& rhs) noexcept'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & operator=(ScopedHandle&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:90,1
    - Dst: ::CloseHandle
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: leveldb::ScopedHandle::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::CloseHandle
    - leveldb::ScopedHandle::is_valid
    linkageType: ''
    returnType: bool
    signature: bool Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: leveldb::ScopedHandle::is_valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: leveldb::ScopedHandle::get
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: leveldb::ScopedHandle::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_acquires
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(int max_acquires)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: leveldb::Limiter::Limiter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Limiter(const Limiter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator=(const Limiter&)
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Limiter
    signature: Limiter operator=(const Limiter&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:130,1
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: leveldb::Limiter::Acquire
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    - fetch_sub
    linkageType: ''
    returnType: bool
    signature: bool Acquire()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: leveldb::Limiter::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:153,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: leveldb::WindowsSequentialFile::WindowsSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsSequentialFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: ~WindowsSequentialFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsSequentialFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:161,1
    - Dst: RandomMixin::max
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:161,1
    - Dst: ::ReadFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:162,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:164,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:164,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:167,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - n
    - result
    - scratch
    argTypes:
    - size_t
    - Slice*
    - char*
    assertStmts:
    - condition: (n <= std::numeric_limits<DWORD>::max())
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: leveldb::WindowsSequentialFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - WindowsError
    - ::ReadFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - assert
    - RandomMixin::max
    linkageType: ''
    returnType: Status
    signature: Status Read(size_t n, Slice* result, char* scratch) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::SetFilePointerEx
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:174,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:174,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:175,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:175,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: leveldb::WindowsSequentialFile::Skip
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsError
    - ::SetFilePointerEx
    - leveldb::OK
    - WSAGetLastError
    - get
    linkageType: ''
    returnType: Status
    signature: Status Skip(uint64_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: leveldb::WindowsSequentialFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:190,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: leveldb::WindowsRandomAccessFile::WindowsRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsRandomAccessFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ~WindowsRandomAccessFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsRandomAccessFile() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:199,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:200,1
    - Dst: ::ReadFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:201,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:203,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:205,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:206,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:206,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:210,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: leveldb::WindowsRandomAccessFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - ::ReadFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - leveldb::IOError
    - GetWindowsErrorMessage
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: leveldb::WindowsRandomAccessFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - filename
    - mmap_base
    - length
    - mmap_limiter
    argTypes:
    - std::string
    - char*
    - size_t
    - Limiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: leveldb::WindowsMmapReadableFile::WindowsMmapReadableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void WindowsMmapReadableFile(std::string filename, char* mmap_base,
      size_t length,\n                          Limiter* mmap_limiter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::UnmapViewOfFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:232,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: ~WindowsMmapReadableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::UnmapViewOfFile
    - Release
    linkageType: ''
    returnType: void
    signature: void ~WindowsMmapReadableFile() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:239,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:240,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:243,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - offset
    - n
    - result
    - scratch
    argTypes:
    - uint64_t
    - size_t
    - Slice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: leveldb::WindowsMmapReadableFile::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::OK
    - WindowsError
    linkageType: ''
    returnType: Status
    signature: "Status Read(uint64_t offset, size_t n, Slice* result,\n              char*
      scratch) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: leveldb::WindowsMmapReadableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:259,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - handle
    argTypes:
    - std::string
    - ScopedHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: leveldb::WindowsWritableFile::WindowsWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsWritableFile(std::string filename, ScopedHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: ~WindowsWritableFile() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WindowsWritableFile() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:264,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:265,1
    - Dst: std::min
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:268,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:269,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:274,1
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:278,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:279,1
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:285,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:287,1
    - Dst: leveldb::WindowsWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: leveldb::WindowsWritableFile::Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - leveldb::OK
    - size
    - data
    - Status::ok
    - std::min
    - leveldb::WindowsWritableFile::FlushBuffer
    - leveldb::WindowsWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status Append(const Slice& data) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:293,1
    - Dst: leveldb::WindowsWritableFile::Close
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:294,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:294,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:295,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: leveldb::WindowsWritableFile::Close
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 4
    functionsReached:
    - WindowsError
    - leveldb::WindowsWritableFile::Close
    - WSAGetLastError
    - Status::ok
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: leveldb::WindowsWritableFile::Flush
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Flush() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::FlushBuffer
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:306,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:307,1
    - Dst: ::FlushFileBuffers
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:311,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:311,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:312,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:313,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:313,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: leveldb::WindowsWritableFile::Sync
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::OK
    - ::FlushFileBuffers
    - WSAGetLastError
    - get
    - leveldb::IOError
    - GetWindowsErrorMessage
    - Status::ok
    - leveldb::WindowsWritableFile::FlushBuffer
    linkageType: ''
    returnType: Status
    signature: Status Sync() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: leveldb::WindowsWritableFile::GetName
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsWritableFile::WriteUnbuffered
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: leveldb::WindowsWritableFile::FlushBuffer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 16
    functionsReached:
    - leveldb::WindowsWritableFile::WriteUnbuffered
    linkageType: ''
    returnType: Status
    signature: Status FlushBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::WriteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: static_cast<DWORD>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:329,1
    - Dst: leveldb::IOError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:331,1
    - Dst: GetWindowsErrorMessage
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:332,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:332,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: leveldb::WindowsWritableFile::WriteUnbuffered
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 8
    functionsReached:
    - ::WriteFile
    - leveldb::OK
    - WSAGetLastError
    - get
    - static_cast<DWORD>
    - leveldb::IOError
    - GetWindowsErrorMessage
    linkageType: ''
    returnType: Status
    signature: Status WriteUnbuffered(const char* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:350,1
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - lock
    argTypes:
    - HANDLE
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: leveldb::LockOrUnlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::UnlockFile
    - leveldb::LockFile
    linkageType: ''
    returnType: bool
    signature: bool LockOrUnlock(HANDLE handle, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:365,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - handle
    - filename
    argTypes:
    - ScopedHandle
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: leveldb::WindowsFileLock::WindowsFileLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void WindowsFileLock(ScopedHandle handle, std::string filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: '& handle() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedHandle
    signature: ScopedHandle & handle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: '& filename() const'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fwrite
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:381,1
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: ~WindowsEnv() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::fwrite
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~WindowsEnv() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:390,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:391,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:392,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:395,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:396,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:396,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:399,1
    - Dst: WindowsSequentialFile::WindowsSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:399,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - SequentialFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: leveldb::WindowsEnv::NewSequentialFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - WindowsSequentialFile::WindowsSequentialFile
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewSequentialFile(const std::string& filename,\n                           SequentialFile**
      result) override"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:408,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:410,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:410,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:414,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:415,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:415,1
    - Dst: Acquire
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:417,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:418,1
    - Dst: WindowsRandomAccessFile::WindowsRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:418,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:419,1
    - Dst: ::GetFileSizeEx
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:424,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:424,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:425,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:426,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:426,1
    - Dst: ::CreateFileMappingW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:430,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:430,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:435,1
    - Dst: ::MapViewOfFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:436,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:436,1
    - Dst: reinterpret_cast<char*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:442,1
    - Dst: static_cast<size_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:443,1
    - Dst: WindowsMmapReadableFile::WindowsMmapReadableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:441,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:444,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:447,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:448,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - RandomAccessFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 449
    functionName: leveldb::WindowsEnv::NewRandomAccessFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsRandomAccessFile::WindowsRandomAccessFile
    - Release
    - ::GetFileSizeEx
    - WindowsError
    - static_cast<size_t>
    - ::CreateFileMappingW
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::MapViewOfFile
    - Acquire
    - ScopedHandle::get
    - WindowsMmapReadableFile::WindowsMmapReadableFile
    - reinterpret_cast<char*>
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewRandomAccessFile(const std::string& filename,\n                             RandomAccessFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:455,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:456,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:457,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:460,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:462,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:462,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:465,1
    - Dst: WindowsWritableFile::WindowsWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:465,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 467
    functionName: leveldb::WindowsEnv::NewWritableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsWritableFile::WindowsWritableFile
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewWritableFile(const std::string& filename,\n                         WritableFile**
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:473,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:474,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:475,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:478,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:480,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:480,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:483,1
    - Dst: WindowsWritableFile::WindowsWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:483,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - WritableFile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 485
    functionName: leveldb::WindowsEnv::NewAppendableFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsWritableFile::WindowsWritableFile
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - std::move
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: "Status NewAppendableFile(const std::string& filename,\n                           WritableFile**
      result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:488,1
    - Dst: GetFileAttributesW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:489,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: leveldb::WindowsEnv::FileExists
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - GetFileAttributesW
    - leveldb::WindowsEnv::toUtf16
    - auto::c_str
    linkageType: ''
    returnType: bool
    signature: bool FileExists(const std::string& filename) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:496,1
    - Dst: ::FindFirstFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:497,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:497,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:499,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:501,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:503,1
    - Dst: leveldb::WindowsEnv::toUtf8
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:509,1
    - Dst: _splitpath_s
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:510,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:510,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:511,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:511,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:512,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:512,1
    - Dst: ::FindNextFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:514,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:515,1
    - Dst: ::FindClose
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:516,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:518,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' directory_path'
    - result
    argTypes:
    - std::string
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 521
    functionName: leveldb::WindowsEnv::GetChildren
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - ::FindNextFileW
    - WindowsError
    - ::FindClose
    - ARRAYSIZE
    - leveldb::OK
    - WSAGetLastError
    - ::FindFirstFileW
    - std::string
    - _splitpath_s
    - leveldb::WindowsEnv::toUtf8
    - auto::c_str
    - std::vector<std::string>*::emplace_back
    linkageType: ''
    returnType: Status
    signature: "Status GetChildren(const std::string& directory_path,\n                     std::vector<std::string>*
      result) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:524,1
    - Dst: ::DeleteFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:525,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:525,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:526,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:526,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: leveldb::WindowsEnv::DeleteFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - ::DeleteFileW
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status DeleteFile(const std::string& filename) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:532,1
    - Dst: ::CreateDirectoryW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:533,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:533,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:534,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:534,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: leveldb::WindowsEnv::CreateDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 3
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - ::CreateDirectoryW
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status CreateDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:540,1
    - Dst: ::RemoveDirectoryW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:541,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:541,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:542,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:542,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirname'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: leveldb::WindowsEnv::DeleteDir
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::RemoveDirectoryW
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status DeleteDir(const std::string& dirname) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:549,1
    - Dst: ::GetFileAttributesExW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:550,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:550,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:552,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:552,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' filename'
    - size
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: leveldb::WindowsEnv::GetFileSize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::GetFileAttributesExW
    - leveldb::OK
    - WSAGetLastError
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status GetFileSize(const std::string& filename, uint64_t* size) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:564,1
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:565,1
    - Dst: ::MoveFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:566,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:567,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:569,1
    - Dst: ::ReplaceFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:575,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:578,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:580,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:586,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 590
    functionName: leveldb::WindowsEnv::RenameFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - ::MoveFileW
    - leveldb::OK
    - WSAGetLastError
    - ::ReplaceFileW
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status RenameFile(const std::string& from, const std::string& to) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:595,1
    - Dst: ::CreateFileW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:596,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:597,1
    - Dst: ScopedHandle::is_valid
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:600,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:601,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:601,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:602,1
    - Dst: ScopedHandle::get
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:602,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:603,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:603,1
    - Dst: std::move
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:605,1
    - Dst: WindowsFileLock::WindowsFileLock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' filename'
    - lock
    argTypes:
    - std::string
    - FileLock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 608
    functionName: leveldb::WindowsEnv::LockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - WindowsFileLock::WindowsFileLock
    - WSAGetLastError
    - std::move
    - LockOrUnlock
    - ScopedHandle::get
    - ::CreateFileW
    - auto::c_str
    - ScopedHandle::is_valid
    linkageType: ''
    returnType: Status
    signature: Status LockFile(const std::string& filename, FileLock** lock) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<WindowsFileLock*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:612,1
    - Dst: LockOrUnlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:613,1
    - Dst: WindowsFileLock*::handle
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:613,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:614,1
    - Dst: WindowsFileLock*::filename
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:614,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:615,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - FileLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: leveldb::WindowsEnv::UnlockFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsError
    - WindowsFileLock*::handle
    - leveldb::OK
    - reinterpret_cast<WindowsFileLock*>
    - WSAGetLastError
    - WindowsFileLock*::filename
    - LockOrUnlock
    linkageType: ''
    returnType: Status
    signature: Status UnlockFile(FileLock* lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread_main_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: leveldb::WindowsEnv::StartThread
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void StartThread(void (*thread_main)(void* thread_main_arg),\n                   void*
      thread_main_arg) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:631,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:634,1
    - Dst: GetTempPathW
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:638,1
    - Dst: ARRAYSIZE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:638,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:639,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:639,1
    - Dst: leveldb::WindowsEnv::toUtf8
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:641,1
    - Dst: std::wstring
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:641,1
    - Dst: std::this_thread::get_id
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:643,1
    - Dst: std::stringstream::str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:644,1
    - Dst: leveldb::WindowsEnv::CreateDir
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:647,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 649
    functionName: leveldb::WindowsEnv::GetTestDirectory
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - std::wstring
    - WindowsError
    - leveldb::WindowsEnv::toUtf8
    - ARRAYSIZE
    - leveldb::OK
    - leveldb::WindowsEnv::CreateDir
    - WSAGetLastError
    - std::this_thread::get_id
    - GetTempPathW
    - std::stringstream::str
    - getenv
    linkageType: ''
    returnType: Status
    signature: Status GetTestDirectory(std::string* result) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::WindowsEnv::toUtf16
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:652,1
    - Dst: _wfopen
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:653,1
    - Dst: auto::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:653,1
    - Dst: WindowsError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:656,1
    - Dst: WSAGetLastError
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:656,1
    - Dst: WindowsLogger::WindowsLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:658,1
    - Dst: leveldb::OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' filename'
    - result
    argTypes:
    - std::string
    - Logger**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 661
    functionName: leveldb::WindowsEnv::NewLogger
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::WindowsEnv::toUtf16
    - WindowsError
    - leveldb::OK
    - WSAGetLastError
    - _wfopen
    - WindowsLogger::WindowsLogger
    - auto::c_str
    linkageType: ''
    returnType: Status
    signature: Status NewLogger(const std::string& filename, Logger** result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::GetSystemTimeAsFileTime
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:668,1
    - Dst: static_cast<uint64_t>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: leveldb::WindowsEnv::NowMicros
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ::GetSystemTimeAsFileTime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NowMicros() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CThreadInterrupt::sleep_for
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:677,1
    - Dst: count_microseconds
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - micros
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 678
    functionName: leveldb::WindowsEnv::SleepForMicroseconds
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - count_microseconds
    - CThreadInterrupt::sleep_for
    linkageType: ''
    returnType: void
    signature: void SleepForMicroseconds(int micros) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowsEnv*::BackgroundThreadMain
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - WindowsEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: leveldb::WindowsEnv::BackgroundThreadEntryPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - WindowsEnv*::BackgroundThreadMain
    linkageType: ''
    returnType: void
    signature: void BackgroundThreadEntryPoint(WindowsEnv* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 695
    functionName: leveldb::WindowsEnv::BackgroundWorkItem
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackgroundWorkItem(void (*function)(void* arg), void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:713,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:713,1
    - Dst: WideCharToMultiByte
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:714,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:715,1
    - Dst: WideCharToMultiByte
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:717,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' wstr'
    argTypes:
    - std::wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 720
    functionName: leveldb::WindowsEnv::toUtf8
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 8
    functionsReached:
    - size
    - WideCharToMultiByte
    - empty
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string toUtf8(const std::wstring& wstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:726,1
    - Dst: std::wstring
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:726,1
    - Dst: MultiByteToWideChar
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:728,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:728,1
    - Dst: MultiByteToWideChar
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:730,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: leveldb::WindowsEnv::toUtf16
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 52
    functionsReached:
    - std::wstring
    - size
    - MultiByteToWideChar
    - empty
    linkageType: ''
    returnType: std::wstring
    signature: std::wstring toUtf16(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 737
    functionName: leveldb::MaxMmaps
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MaxMmaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxMmaps
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: leveldb::WindowsEnv::WindowsEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - MaxMmaps
    linkageType: ''
    returnType: void
    signature: void WindowsEnv::WindowsEnv()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:747,1
    - Dst: std::thread::detach
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:753,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:757,1
    - Dst: Signal
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:758,1
    - Dst: emplace
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:761,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - background_work_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 763
    functionName: leveldb::WindowsEnv::Schedule
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - Signal
    - emplace
    - empty
    - Unlock
    - Lock
    - std::thread::detach
    linkageType: ''
    returnType: void
    signature: "void WindowsEnv::Schedule(\n    void (*background_work_function)(void*
      background_work_arg),\n    void* background_work_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:767,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:770,1
    - Dst: Wait
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:771,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:774,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:774,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:775,1
    - Dst: front
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:776,1
    - Dst: pop
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:777,1
    - Dst: Unlock
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:779,1
    - Dst: background_work_function
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!background_work_queue_.empty())
      pos:
        line_end: 773
        line_start: 773
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 782
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 782
    functionName: leveldb::WindowsEnv::BackgroundThreadMain
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - background_work_function
    - Unlock
    - Wait
    - assert
    - front
    - Lock
    linkageType: ''
    returnType: void
    signature: void WindowsEnv::BackgroundThreadMain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:801,1
    - Dst: EnvType::EnvType
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - EnvType::EnvType
    - store
    linkageType: ''
    returnType: void
    signature: void SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: ~SingletonEnv()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SingletonEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: leveldb::SingletonEnv::SingletonEnv
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingletonEnv(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 816
    functionName: '& operator=(const SingletonEnv&)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingletonEnv
    signature: SingletonEnv & operator=(const SingletonEnv&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Env*>
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: leveldb::SingletonEnv::env
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Env*>
    linkageType: ''
    returnType: Env
    signature: Env * env()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:822,1
    - Dst: load
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!env_initialized_.load(std::memory_order_relaxed))
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: leveldb::SingletonEnv::AssertEnvNotInitialized
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 5
    functionsReached:
    - assert
    - load
    linkageType: ''
    returnType: void
    signature: void AssertEnvNotInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::SingletonEnv::AssertEnvNotInitialized
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: leveldb::EnvWindowsTestHelper::SetReadOnlyMMapLimit
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 0
    functionsReached:
    - leveldb::SingletonEnv::AssertEnvNotInitialized
    linkageType: ''
    returnType: void
    signature: void EnvWindowsTestHelper::SetReadOnlyMMapLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowsDefaultEnv::env
      Src: /src/bitcoin-core/src/leveldb/util/env_windows.cc:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: leveldb::Env::Default
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows.cc
    functionUses: 33
    functionsReached:
    - WindowsDefaultEnv::env
    linkageType: ''
    returnType: Env
    signature: Env * Env::Default()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f
    - l
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Tester
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tester(const char* f, int l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/util/testharness.h:54,1
    - Dst: str
      Src: /src/bitcoin-core/src/leveldb/util/testharness.h:54,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/util/testharness.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: ~Tester()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.h
    functionUses: 0
    functionsReached:
    - str
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void ~Tester()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - b
    - msg
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: '& Is(bool b, const char* msg)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Tester
    signature: Tester & Is(bool b, const char* msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/bitcoin-core/src/leveldb/util/testharness.h:68,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/util/testharness.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: '& IsOk(const Status& s)'
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.h
    functionUses: 0
    functionsReached:
    - ToString
    - ok
    linkageType: ''
    returnType: Tester
    signature: Tester & IsOk(const Status& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: BINARY_OP
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINARY_OP(name, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::crc32c::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 28
    functionsReached:
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Value(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: leveldb::crc32c::Mask
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Mask(uint32_t crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - masked_crc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: leveldb::crc32c::Unmask
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Unmask(uint32_t masked_crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::crc32c::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 28
    functionsReached:
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Value(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: leveldb::crc32c::Mask
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Mask(uint32_t crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - masked_crc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: leveldb::crc32c::Unmask
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Unmask(uint32_t masked_crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::crc32c::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 28
    functionsReached:
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Value(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: leveldb::crc32c::Mask
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Mask(uint32_t crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - masked_crc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: leveldb::crc32c::Unmask
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Unmask(uint32_t masked_crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Extend
      Src: /src/bitcoin-core/src/leveldb/util/crc32c.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::crc32c::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 28
    functionsReached:
    - leveldb::crc32c::Extend
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Value(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: leveldb::crc32c::Mask
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Mask(uint32_t crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - masked_crc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: leveldb::crc32c::Unmask
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/crc32c.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Unmask(uint32_t masked_crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutFixed32
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: leveldb::EncodeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::PutFixed32
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeKey(int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:20,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:20,1
    - Dst: leveldb::DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:21,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Slice
    assertStmts:
    - condition: (k.size() == 4)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: leveldb::DecodeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DecodeFixed32
    - leveldb::data
    - leveldb::size
    - assert
    linkageType: ''
    returnType: int
    signature: int DecodeKey(const Slice& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::EncodeValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void * EncodeValue(uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: leveldb::DecodeValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int DecodeValue(void* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleted_keys_::push_back
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:29,1
    - Dst: DecodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:29,1
    - Dst: deleted_values_::push_back
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:30,1
    - Dst: DecodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - v
    argTypes:
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: leveldb::CacheTest::Deleter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - deleted_values_::push_back
    - DecodeKey
    - DecodeValue
    - deleted_keys_::push_back
    linkageType: ''
    returnType: void
    signature: void Deleter(const Slice& key, void* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: leveldb::CacheTest::CacheTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - NewLRUCache
    linkageType: ''
    returnType: void
    signature: void CacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~CacheTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CacheTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CacheTest::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:43,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:43,1
    - Dst: DecodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:44,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:44,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: leveldb::CacheTest::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 1
    functionsReached:
    - Release
    - leveldb::CacheTest::Lookup
    - DecodeValue
    - EncodeKey
    - Value
    linkageType: ''
    returnType: int
    signature: int Lookup(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:52,1
    - Dst: leveldb::CacheTest::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:52,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:52,1
    - Dst: EncodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: leveldb::CacheTest::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 1
    functionsReached:
    - Release
    - EncodeValue
    - leveldb::CacheTest::Insert
    - EncodeKey
    linkageType: ''
    returnType: void
    signature: void Insert(int key, int value, int charge = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CacheTest::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:57,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:57,1
    - Dst: EncodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: leveldb::CacheTest::InsertAndReturnHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - EncodeValue
    - leveldb::CacheTest::Insert
    - EncodeKey
    linkageType: ''
    returnType: Cache::Handle
    signature: Cache::Handle * InsertAndReturnHandle(int key, int value, int charge
      = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CacheTest::Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:61,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: leveldb::CacheTest::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::CacheTest::Erase
    - EncodeKey
    linkageType: ''
    returnType: void
    signature: void Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:68,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:68,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:71,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:72,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:72,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:73,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:73,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:76,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:77,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:78,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:78,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:81,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:82,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:83,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:85,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Lookup
    - leveldb::size
    - Insert
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, HitAndMiss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:92,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:92,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:94,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:95,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:97,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:98,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:99,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:101,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:104,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:105,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:106,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Insert
    - Lookup
    - ASSERT_EQ
    - Erase
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, Erase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:110,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:111,1
    - Dst: leveldb::EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:112,1
    - Dst: leveldb::DecodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:112,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:112,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:114,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:115,1
    - Dst: leveldb::EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:115,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:116,1
    - Dst: leveldb::DecodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:116,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:117,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:117,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:120,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:122,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:125,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:126,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:126,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:129,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DecodeValue
    - Release
    - Insert
    - Erase
    - ASSERT_EQ
    - Lookup
    - leveldb::size
    - leveldb::EncodeKey
    - Value
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, EntriesArePinned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:135,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:136,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:137,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:138,1
    - Dst: leveldb::EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:138,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:144,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:145,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:147,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:148,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:149,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:149,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Release
    - Insert
    - ASSERT_EQ
    - Lookup
    - leveldb::EncodeKey
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, EvictionPolicy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:157,1
    - Dst: InsertAndReturnHandle
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:157,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:161,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:162,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:162,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:165,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Release
    - ASSERT_EQ
    - std::vector::push_back
    - InsertAndReturnHandle
    - Lookup
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, UseExceedsCacheSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:180,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:191,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Lookup
    - ASSERT_LE
    - Insert
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, HeavyEntries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewId
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:198,1
    - Dst: NewId
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - NewId
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, NewId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:204,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:205,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:207,1
    - Dst: leveldb::EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:207,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:208,1
    - Dst: leveldb::Prune
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:209,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:212,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:213,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Release
    - Insert
    - leveldb::Prune
    - ASSERT_EQ
    - ASSERT_TRUE
    - Lookup
    - leveldb::EncodeKey
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, Prune)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:218,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:221,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Lookup
    - Insert
    - leveldb::NewLRUCache
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, ZeroSizeCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::PutFixed32
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: leveldb::EncodeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 3
    functionsReached:
    - leveldb::PutFixed32
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeKey(int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:20,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:20,1
    - Dst: leveldb::DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:21,1
    - Dst: leveldb::data
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Slice
    assertStmts:
    - condition: (k.size() == 4)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: leveldb::DecodeKey
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DecodeFixed32
    - leveldb::data
    - leveldb::size
    - assert
    linkageType: ''
    returnType: int
    signature: int DecodeKey(const Slice& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: leveldb::EncodeValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void * EncodeValue(uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: leveldb::DecodeValue
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: int
    signature: int DecodeValue(void* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleted_keys_::push_back
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:29,1
    - Dst: DecodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:29,1
    - Dst: deleted_values_::push_back
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:30,1
    - Dst: DecodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - v
    argTypes:
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: leveldb::CacheTest::Deleter
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - deleted_values_::push_back
    - DecodeKey
    - DecodeValue
    - deleted_keys_::push_back
    linkageType: ''
    returnType: void
    signature: void Deleter(const Slice& key, void* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: leveldb::CacheTest::CacheTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - NewLRUCache
    linkageType: ''
    returnType: void
    signature: void CacheTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~CacheTest()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CacheTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CacheTest::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:43,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:43,1
    - Dst: DecodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:44,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:44,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: leveldb::CacheTest::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 2
    functionsReached:
    - Release
    - leveldb::CacheTest::Lookup
    - DecodeValue
    - EncodeKey
    - Value
    linkageType: ''
    returnType: int
    signature: int Lookup(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:52,1
    - Dst: leveldb::CacheTest::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:52,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:52,1
    - Dst: EncodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: leveldb::CacheTest::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 3
    functionsReached:
    - Release
    - EncodeValue
    - leveldb::CacheTest::Insert
    - EncodeKey
    linkageType: ''
    returnType: void
    signature: void Insert(int key, int value, int charge = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CacheTest::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:57,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:57,1
    - Dst: EncodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: leveldb::CacheTest::InsertAndReturnHandle
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - EncodeValue
    - leveldb::CacheTest::Insert
    - EncodeKey
    linkageType: ''
    returnType: Cache::Handle
    signature: Cache::Handle * InsertAndReturnHandle(int key, int value, int charge
      = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::CacheTest::Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:61,1
    - Dst: EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: leveldb::CacheTest::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 2
    functionsReached:
    - leveldb::CacheTest::Erase
    - EncodeKey
    linkageType: ''
    returnType: void
    signature: void Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:68,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:68,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:71,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:72,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:72,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:73,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:73,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:76,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:77,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:78,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:78,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:81,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:82,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:83,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:85,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Lookup
    - leveldb::size
    - Insert
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, HitAndMiss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:92,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:92,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:94,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:95,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:97,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:98,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:99,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:101,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:104,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:105,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:106,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Insert
    - Lookup
    - ASSERT_EQ
    - Erase
    - leveldb::size
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, Erase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:110,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:111,1
    - Dst: leveldb::EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:112,1
    - Dst: leveldb::DecodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:112,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:112,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:114,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:115,1
    - Dst: leveldb::EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:115,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:116,1
    - Dst: leveldb::DecodeValue
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:116,1
    - Dst: Value
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:117,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:117,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:120,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:122,1
    - Dst: Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:125,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:126,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:126,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:129,1
    - Dst: leveldb::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:130,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::DecodeValue
    - Release
    - Insert
    - Erase
    - ASSERT_EQ
    - Lookup
    - leveldb::size
    - leveldb::EncodeKey
    - Value
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, EntriesArePinned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:135,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:136,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:137,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:138,1
    - Dst: leveldb::EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:138,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:144,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:145,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:147,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:148,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:149,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:149,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Release
    - Insert
    - ASSERT_EQ
    - Lookup
    - leveldb::EncodeKey
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, EvictionPolicy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:157,1
    - Dst: InsertAndReturnHandle
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:157,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:161,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:162,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:162,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:165,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Release
    - ASSERT_EQ
    - std::vector::push_back
    - InsertAndReturnHandle
    - Lookup
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, UseExceedsCacheSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:180,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:191,1
    - Dst: ASSERT_LE
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Lookup
    - ASSERT_LE
    - Insert
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, HeavyEntries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewId
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:198,1
    - Dst: NewId
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - NewId
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, NewId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:204,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:205,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:207,1
    - Dst: leveldb::EncodeKey
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:207,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:208,1
    - Dst: leveldb::Prune
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:209,1
    - Dst: Release
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:212,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:213,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Release
    - Insert
    - leveldb::Prune
    - ASSERT_EQ
    - ASSERT_TRUE
    - Lookup
    - leveldb::EncodeKey
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, Prune)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:218,1
    - Dst: Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:221,1
    - Dst: Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 0
    functionsReached:
    - Lookup
    - Insert
    - leveldb::NewLRUCache
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CacheTest, ZeroSizeCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/cache_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Cache::~Cache()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache::~Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:58,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (next != this)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: leveldb::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::Resize
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: leveldb::HandleTable::HandleTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::Resize
    linkageType: ''
    returnType: void
    signature: void HandleTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~HandleTable()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandleTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: leveldb::HandleTable::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Lookup(const Slice& key, uint32_t hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:79,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:79,1
    - Dst: leveldb::HandleTable::Resize
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: leveldb::HandleTable::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    - leveldb::HandleTable::Resize
    - LRUHandle*::key
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Insert(LRUHandle* h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: leveldb::HandleTable::Remove
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Remove(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: leveldb::HandleTable::FindPointer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - key
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle ** FindPointer(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LRUHandle::LRUHandle
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:127,1
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (elems_ == count)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: leveldb::HandleTable::Resize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - memset
    - assert
    - LRUHandle::LRUHandle
    linkageType: ''
    returnType: void
    signature: void Resize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: leveldb::LRUCache::SetCapacity
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCapacity(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: leveldb::LRUCache::TotalCharge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TotalCharge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: leveldb::LRUCache::LRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRUCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:206,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:209,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:211,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (in_use_.next == &in_use_)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (e->refs == 1)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (e->in_cache)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: LRUCache::~LRUCache()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - assert
    - Unref
    linkageType: ''
    returnType: void
    signature: void LRUCache::~LRUCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:219,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: leveldb::LRUCache::Ref
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - leveldb::LRUCache::LRU_Remove
    linkageType: ''
    returnType: void
    signature: void LRUCache::Ref(LRUHandle* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:226,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:229,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:230,1
    - Dst: free
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:231,1
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:234,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts:
    - condition: (e->refs > 0)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (!e->in_cache)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: leveldb::LRUCache::Unref
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - LRUHandle*::key
    - assert
    - free
    - leveldb::LRUCache::LRU_Remove
    linkageType: ''
    returnType: void
    signature: void LRUCache::Unref(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: leveldb::LRUCache::LRU_Remove
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRU_Remove(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - e
    argTypes:
    - LRUHandle*
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: leveldb::LRUCache::LRU_Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRU_Append(LRUHandle* list, LRUHandle* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:254,1
    - Dst: leveldb::LRUCache::Ref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:256,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: leveldb::LRUCache::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - leveldb::LRUCache::Ref
    - reinterpret_cast<Cache::Handle*>
    - leveldb::LRUCache::Lookup
    linkageType: ''
    returnType: Cache::Handle
    signature: Cache::Handle * LRUCache::Lookup(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:263,1
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Cache::Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: leveldb::LRUCache::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    - leveldb::LRUCache::Unref
    linkageType: ''
    returnType: void
    signature: void LRUCache::Release(Cache::Handle* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:277,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:286,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:288,1
    - Dst: leveldb::LRUCache::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:288,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:295,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:298,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - ' key'
    - hash
    - value
    - charge
    argTypes:
    - Slice
    - uint32_t
    - void*
    - size_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (old->refs == 1)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 303
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 303
    functionName: leveldb::LRUCache::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - LRUHandle*::key
    - size
    - memcpy
    - data
    - malloc
    - leveldb::LRUCache::Insert
    - reinterpret_cast<Cache::Handle*>
    - assert
    - reinterpret_cast<LRUHandle*>
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: Cache::Handle
    signature: "Cache::Handle * LRUCache::Insert(const Slice& key, uint32_t hash,
      void* value,\n                                size_t charge,\n                                void
      (*deleter)(const Slice& key,\n                                                void*
      value))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:309,1
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:310,1
    - Dst: leveldb::LRUCache::Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts:
    - condition: (e->in_cache)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: leveldb::LRUCache::FinishErase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - assert
    - leveldb::LRUCache::LRU_Remove
    - leveldb::LRUCache::Unref
    linkageType: ''
    returnType: bool
    signature: bool LRUCache::FinishErase(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:320,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: leveldb::LRUCache::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: void
    signature: void LRUCache::Erase(const Slice& key, uint32_t hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:327,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (e->refs == 1)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (erased)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: leveldb::LRUCache::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - LRUHandle*::key
    - assert
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: void
    signature: void LRUCache::Prune()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: leveldb::ShardedLRUCache::HashSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - data
    - Hash
    - size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HashSlice(const Slice& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: leveldb::ShardedLRUCache::Shard
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Shard(uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCapacity
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: leveldb::ShardedLRUCache::ShardedLRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - SetCapacity
    linkageType: ''
    returnType: void
    signature: void ShardedLRUCache(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: ~ShardedLRUCache() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ShardedLRUCache() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:360,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:361,1
    - Dst: leveldb::ShardedLRUCache::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' key'
    - value
    - charge
    argTypes:
    - Slice
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: leveldb::ShardedLRUCache::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Insert
    linkageType: ''
    returnType: Handle
    signature: "Handle * Insert(const Slice& key, void* value, size_t charge,\n                 void
      (*deleter)(const Slice& key, void* value)) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:364,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:365,1
    - Dst: leveldb::ShardedLRUCache::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: leveldb::ShardedLRUCache::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Lookup
    linkageType: ''
    returnType: Handle
    signature: Handle * Lookup(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:368,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:369,1
    - Dst: leveldb::ShardedLRUCache::Release
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: leveldb::ShardedLRUCache::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::Release
    linkageType: ''
    returnType: void
    signature: void Release(Handle* handle) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:372,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:373,1
    - Dst: leveldb::ShardedLRUCache::Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 5
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: leveldb::ShardedLRUCache::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Erase
    linkageType: ''
    returnType: void
    signature: void Erase(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: leveldb::ShardedLRUCache::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    linkageType: ''
    returnType: void
    signature: void * Value(Handle* handle) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: leveldb::ShardedLRUCache::NewId
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NewId() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::Prune
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: leveldb::ShardedLRUCache::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - leveldb::ShardedLRUCache::Prune
    linkageType: ''
    returnType: void
    signature: void Prune() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::TotalCharge
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: leveldb::ShardedLRUCache::TotalCharge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - leveldb::ShardedLRUCache::TotalCharge
    linkageType: ''
    returnType: size_t
    signature: size_t TotalCharge() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:58,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (next != this)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: leveldb::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::Resize
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: leveldb::HandleTable::HandleTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::Resize
    linkageType: ''
    returnType: void
    signature: void HandleTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~HandleTable()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandleTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: leveldb::HandleTable::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Lookup(const Slice& key, uint32_t hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:79,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:79,1
    - Dst: leveldb::HandleTable::Resize
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: leveldb::HandleTable::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    - leveldb::HandleTable::Resize
    - LRUHandle*::key
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Insert(LRUHandle* h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: leveldb::HandleTable::Remove
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Remove(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: leveldb::HandleTable::FindPointer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 6
    functionsReached:
    - key
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle ** FindPointer(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LRUHandle::LRUHandle
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:127,1
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (elems_ == count)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: leveldb::HandleTable::Resize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - memset
    - assert
    - LRUHandle::LRUHandle
    linkageType: ''
    returnType: void
    signature: void Resize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: leveldb::LRUCache::SetCapacity
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCapacity(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: leveldb::LRUCache::TotalCharge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TotalCharge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: leveldb::LRUCache::LRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRUCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:206,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:209,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:211,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (in_use_.next == &in_use_)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (e->refs == 1)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (e->in_cache)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: LRUCache::~LRUCache()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - assert
    - Unref
    linkageType: ''
    returnType: void
    signature: void LRUCache::~LRUCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:219,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: leveldb::LRUCache::Ref
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 1
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - leveldb::LRUCache::LRU_Remove
    linkageType: ''
    returnType: void
    signature: void LRUCache::Ref(LRUHandle* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:226,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:229,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:230,1
    - Dst: free
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:231,1
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:234,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts:
    - condition: (e->refs > 0)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (!e->in_cache)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: leveldb::LRUCache::Unref
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - LRUHandle*::key
    - assert
    - free
    - leveldb::LRUCache::LRU_Remove
    linkageType: ''
    returnType: void
    signature: void LRUCache::Unref(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: leveldb::LRUCache::LRU_Remove
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRU_Remove(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - e
    argTypes:
    - LRUHandle*
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: leveldb::LRUCache::LRU_Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRU_Append(LRUHandle* list, LRUHandle* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:254,1
    - Dst: leveldb::LRUCache::Ref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:256,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: leveldb::LRUCache::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - leveldb::LRUCache::Ref
    - reinterpret_cast<Cache::Handle*>
    - leveldb::LRUCache::Lookup
    linkageType: ''
    returnType: Cache::Handle
    signature: Cache::Handle * LRUCache::Lookup(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:263,1
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Cache::Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: leveldb::LRUCache::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    - leveldb::LRUCache::Unref
    linkageType: ''
    returnType: void
    signature: void LRUCache::Release(Cache::Handle* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:277,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:286,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:288,1
    - Dst: leveldb::LRUCache::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:288,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:295,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:298,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - ' key'
    - hash
    - value
    - charge
    argTypes:
    - Slice
    - uint32_t
    - void*
    - size_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (old->refs == 1)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 303
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 303
    functionName: leveldb::LRUCache::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - LRUHandle*::key
    - size
    - memcpy
    - data
    - malloc
    - leveldb::LRUCache::Insert
    - reinterpret_cast<Cache::Handle*>
    - assert
    - reinterpret_cast<LRUHandle*>
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: Cache::Handle
    signature: "Cache::Handle * LRUCache::Insert(const Slice& key, uint32_t hash,
      void* value,\n                                size_t charge,\n                                void
      (*deleter)(const Slice& key,\n                                                void*
      value))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:309,1
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:310,1
    - Dst: leveldb::LRUCache::Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts:
    - condition: (e->in_cache)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: leveldb::LRUCache::FinishErase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - assert
    - leveldb::LRUCache::LRU_Remove
    - leveldb::LRUCache::Unref
    linkageType: ''
    returnType: bool
    signature: bool LRUCache::FinishErase(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:320,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: leveldb::LRUCache::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: void
    signature: void LRUCache::Erase(const Slice& key, uint32_t hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:327,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (e->refs == 1)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (erased)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: leveldb::LRUCache::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - LRUHandle*::key
    - assert
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: void
    signature: void LRUCache::Prune()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: leveldb::ShardedLRUCache::HashSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - data
    - Hash
    - size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HashSlice(const Slice& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: leveldb::ShardedLRUCache::Shard
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Shard(uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCapacity
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: leveldb::ShardedLRUCache::ShardedLRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - SetCapacity
    linkageType: ''
    returnType: void
    signature: void ShardedLRUCache(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: ~ShardedLRUCache() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ShardedLRUCache() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:360,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:361,1
    - Dst: leveldb::ShardedLRUCache::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' key'
    - value
    - charge
    argTypes:
    - Slice
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: leveldb::ShardedLRUCache::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Insert
    linkageType: ''
    returnType: Handle
    signature: "Handle * Insert(const Slice& key, void* value, size_t charge,\n                 void
      (*deleter)(const Slice& key, void* value)) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:364,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:365,1
    - Dst: leveldb::ShardedLRUCache::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: leveldb::ShardedLRUCache::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Lookup
    linkageType: ''
    returnType: Handle
    signature: Handle * Lookup(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:368,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:369,1
    - Dst: leveldb::ShardedLRUCache::Release
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: leveldb::ShardedLRUCache::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::Release
    linkageType: ''
    returnType: void
    signature: void Release(Handle* handle) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:372,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:373,1
    - Dst: leveldb::ShardedLRUCache::Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 5
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: leveldb::ShardedLRUCache::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Erase
    linkageType: ''
    returnType: void
    signature: void Erase(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: leveldb::ShardedLRUCache::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    linkageType: ''
    returnType: void
    signature: void * Value(Handle* handle) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: leveldb::ShardedLRUCache::NewId
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NewId() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::Prune
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: leveldb::ShardedLRUCache::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - leveldb::ShardedLRUCache::Prune
    linkageType: ''
    returnType: void
    signature: void Prune() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::TotalCharge
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: leveldb::ShardedLRUCache::TotalCharge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - leveldb::ShardedLRUCache::TotalCharge
    linkageType: ''
    returnType: size_t
    signature: size_t TotalCharge() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShardedLRUCache::ShardedLRUCache
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: leveldb::NewLRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 7
    functionsReached:
    - ShardedLRUCache::ShardedLRUCache
    linkageType: ''
    returnType: Cache
    signature: Cache * NewLRUCache(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Cache::~Cache()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache::~Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:58,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (next != this)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: leveldb::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::Resize
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: leveldb::HandleTable::HandleTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::Resize
    linkageType: ''
    returnType: void
    signature: void HandleTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~HandleTable()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandleTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: leveldb::HandleTable::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Lookup(const Slice& key, uint32_t hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:79,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:79,1
    - Dst: leveldb::HandleTable::Resize
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: leveldb::HandleTable::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    - leveldb::HandleTable::Resize
    - LRUHandle*::key
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Insert(LRUHandle* h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: leveldb::HandleTable::Remove
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Remove(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: leveldb::HandleTable::FindPointer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 9
    functionsReached:
    - key
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle ** FindPointer(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LRUHandle::LRUHandle
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:127,1
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (elems_ == count)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: leveldb::HandleTable::Resize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 6
    functionsReached:
    - memset
    - assert
    - LRUHandle::LRUHandle
    linkageType: ''
    returnType: void
    signature: void Resize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: leveldb::LRUCache::SetCapacity
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCapacity(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: leveldb::LRUCache::TotalCharge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TotalCharge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: leveldb::LRUCache::LRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRUCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:206,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:209,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:211,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (in_use_.next == &in_use_)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (e->refs == 1)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (e->in_cache)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: LRUCache::~LRUCache()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - assert
    - Unref
    linkageType: ''
    returnType: void
    signature: void LRUCache::~LRUCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:219,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: leveldb::LRUCache::Ref
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 2
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - leveldb::LRUCache::LRU_Remove
    linkageType: ''
    returnType: void
    signature: void LRUCache::Ref(LRUHandle* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:226,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:229,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:230,1
    - Dst: free
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:231,1
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:234,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts:
    - condition: (e->refs > 0)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (!e->in_cache)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: leveldb::LRUCache::Unref
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - LRUHandle*::key
    - assert
    - free
    - leveldb::LRUCache::LRU_Remove
    linkageType: ''
    returnType: void
    signature: void LRUCache::Unref(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: leveldb::LRUCache::LRU_Remove
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRU_Remove(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - e
    argTypes:
    - LRUHandle*
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: leveldb::LRUCache::LRU_Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRU_Append(LRUHandle* list, LRUHandle* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:254,1
    - Dst: leveldb::LRUCache::Ref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:256,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: leveldb::LRUCache::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - leveldb::LRUCache::Ref
    - reinterpret_cast<Cache::Handle*>
    - leveldb::LRUCache::Lookup
    linkageType: ''
    returnType: Cache::Handle
    signature: Cache::Handle * LRUCache::Lookup(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:263,1
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Cache::Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: leveldb::LRUCache::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    - leveldb::LRUCache::Unref
    linkageType: ''
    returnType: void
    signature: void LRUCache::Release(Cache::Handle* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:277,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:286,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:288,1
    - Dst: leveldb::LRUCache::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:288,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:295,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:298,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - ' key'
    - hash
    - value
    - charge
    argTypes:
    - Slice
    - uint32_t
    - void*
    - size_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (old->refs == 1)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 303
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 303
    functionName: leveldb::LRUCache::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - LRUHandle*::key
    - size
    - memcpy
    - data
    - malloc
    - leveldb::LRUCache::Insert
    - reinterpret_cast<Cache::Handle*>
    - assert
    - reinterpret_cast<LRUHandle*>
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: Cache::Handle
    signature: "Cache::Handle * LRUCache::Insert(const Slice& key, uint32_t hash,
      void* value,\n                                size_t charge,\n                                void
      (*deleter)(const Slice& key,\n                                                void*
      value))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:309,1
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:310,1
    - Dst: leveldb::LRUCache::Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts:
    - condition: (e->in_cache)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: leveldb::LRUCache::FinishErase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 7
    functionsReached:
    - assert
    - leveldb::LRUCache::LRU_Remove
    - leveldb::LRUCache::Unref
    linkageType: ''
    returnType: bool
    signature: bool LRUCache::FinishErase(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:320,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: leveldb::LRUCache::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: void
    signature: void LRUCache::Erase(const Slice& key, uint32_t hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:327,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (e->refs == 1)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (erased)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: leveldb::LRUCache::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - LRUHandle*::key
    - assert
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: void
    signature: void LRUCache::Prune()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: leveldb::ShardedLRUCache::HashSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 6
    functionsReached:
    - data
    - Hash
    - size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HashSlice(const Slice& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: leveldb::ShardedLRUCache::Shard
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Shard(uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCapacity
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: leveldb::ShardedLRUCache::ShardedLRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - SetCapacity
    linkageType: ''
    returnType: void
    signature: void ShardedLRUCache(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: ~ShardedLRUCache() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ShardedLRUCache() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:360,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:361,1
    - Dst: leveldb::ShardedLRUCache::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' key'
    - value
    - charge
    argTypes:
    - Slice
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: leveldb::ShardedLRUCache::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Insert
    linkageType: ''
    returnType: Handle
    signature: "Handle * Insert(const Slice& key, void* value, size_t charge,\n                 void
      (*deleter)(const Slice& key, void* value)) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:364,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:365,1
    - Dst: leveldb::ShardedLRUCache::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: leveldb::ShardedLRUCache::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Lookup
    linkageType: ''
    returnType: Handle
    signature: Handle * Lookup(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:368,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:369,1
    - Dst: leveldb::ShardedLRUCache::Release
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: leveldb::ShardedLRUCache::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::Release
    linkageType: ''
    returnType: void
    signature: void Release(Handle* handle) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:372,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:373,1
    - Dst: leveldb::ShardedLRUCache::Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 5
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: leveldb::ShardedLRUCache::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Erase
    linkageType: ''
    returnType: void
    signature: void Erase(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: leveldb::ShardedLRUCache::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    linkageType: ''
    returnType: void
    signature: void * Value(Handle* handle) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: leveldb::ShardedLRUCache::NewId
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NewId() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::Prune
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: leveldb::ShardedLRUCache::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - leveldb::ShardedLRUCache::Prune
    linkageType: ''
    returnType: void
    signature: void Prune() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::TotalCharge
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: leveldb::ShardedLRUCache::TotalCharge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - leveldb::ShardedLRUCache::TotalCharge
    linkageType: ''
    returnType: size_t
    signature: size_t TotalCharge() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:58,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (next != this)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: leveldb::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::Slice
    linkageType: ''
    returnType: Slice
    signature: Slice key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::Resize
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: leveldb::HandleTable::HandleTable
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::Resize
    linkageType: ''
    returnType: void
    signature: void HandleTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~HandleTable()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandleTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: leveldb::HandleTable::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Lookup(const Slice& key, uint32_t hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:79,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:79,1
    - Dst: leveldb::HandleTable::Resize
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: leveldb::HandleTable::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    - leveldb::HandleTable::Resize
    - LRUHandle*::key
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Insert(LRUHandle* h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::HandleTable::FindPointer
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: leveldb::HandleTable::Remove
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - leveldb::HandleTable::FindPointer
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle * Remove(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: leveldb::HandleTable::FindPointer
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 12
    functionsReached:
    - key
    linkageType: ''
    returnType: LRUHandle
    signature: LRUHandle ** FindPointer(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LRUHandle::LRUHandle
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:127,1
    - Dst: memset
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:128,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (elems_ == count)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: leveldb::HandleTable::Resize
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 8
    functionsReached:
    - memset
    - assert
    - LRUHandle::LRUHandle
    linkageType: ''
    returnType: void
    signature: void Resize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: leveldb::LRUCache::SetCapacity
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCapacity(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: leveldb::LRUCache::TotalCharge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TotalCharge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: leveldb::LRUCache::LRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRUCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:206,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:209,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:211,1
    - Dst: Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (in_use_.next == &in_use_)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (e->refs == 1)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (e->in_cache)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: LRUCache::~LRUCache()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - assert
    - Unref
    linkageType: ''
    returnType: void
    signature: void LRUCache::~LRUCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:219,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: leveldb::LRUCache::Ref
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 3
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - leveldb::LRUCache::LRU_Remove
    linkageType: ''
    returnType: void
    signature: void LRUCache::Ref(LRUHandle* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:226,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:229,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:230,1
    - Dst: free
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:231,1
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:234,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts:
    - condition: (e->refs > 0)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (!e->in_cache)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: leveldb::LRUCache::Unref
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 6
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - LRUHandle*::key
    - assert
    - free
    - leveldb::LRUCache::LRU_Remove
    linkageType: ''
    returnType: void
    signature: void LRUCache::Unref(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: leveldb::LRUCache::LRU_Remove
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRU_Remove(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - e
    argTypes:
    - LRUHandle*
    - LRUHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: leveldb::LRUCache::LRU_Append
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUCache::LRU_Append(LRUHandle* list, LRUHandle* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:254,1
    - Dst: leveldb::LRUCache::Ref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:256,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: leveldb::LRUCache::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - leveldb::LRUCache::Ref
    - reinterpret_cast<Cache::Handle*>
    - leveldb::LRUCache::Lookup
    linkageType: ''
    returnType: Cache::Handle
    signature: Cache::Handle * LRUCache::Lookup(const Slice& key, uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:263,1
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Cache::Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: leveldb::LRUCache::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    - leveldb::LRUCache::Unref
    linkageType: ''
    returnType: void
    signature: void LRUCache::Release(Cache::Handle* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: malloc
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:273,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:277,1
    - Dst: memcpy
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:281,1
    - Dst: leveldb::LRUCache::LRU_Append
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:286,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:288,1
    - Dst: leveldb::LRUCache::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:288,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:295,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:296,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:298,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - ' key'
    - hash
    - value
    - charge
    argTypes:
    - Slice
    - uint32_t
    - void*
    - size_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (old->refs == 1)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 303
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 303
    functionName: leveldb::LRUCache::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - leveldb::LRUCache::LRU_Append
    - LRUHandle*::key
    - size
    - memcpy
    - data
    - malloc
    - leveldb::LRUCache::Insert
    - reinterpret_cast<Cache::Handle*>
    - assert
    - reinterpret_cast<LRUHandle*>
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: Cache::Handle
    signature: "Cache::Handle * LRUCache::Insert(const Slice& key, uint32_t hash,
      void* value,\n                                size_t charge,\n                                void
      (*deleter)(const Slice& key,\n                                                void*
      value))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:309,1
    - Dst: leveldb::LRUCache::LRU_Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:310,1
    - Dst: leveldb::LRUCache::Unref
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - LRUHandle*
    assertStmts:
    - condition: (e->in_cache)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: leveldb::LRUCache::FinishErase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 10
    functionsReached:
    - assert
    - leveldb::LRUCache::LRU_Remove
    - leveldb::LRUCache::Unref
    linkageType: ''
    returnType: bool
    signature: bool LRUCache::FinishErase(LRUHandle* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:320,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - Slice
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: leveldb::LRUCache::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: void
    signature: void LRUCache::Erase(const Slice& key, uint32_t hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:327,1
    - Dst: leveldb::LRUCache::FinishErase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: Remove
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: LRUHandle*::key
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:328,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (e->refs == 1)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    - condition: (erased)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/bitcoin-core/src/leveldb/util/cache.cc
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: leveldb::LRUCache::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - LRUHandle*::key
    - assert
    - Remove
    - leveldb::LRUCache::FinishErase
    linkageType: ''
    returnType: void
    signature: void LRUCache::Prune()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: leveldb::ShardedLRUCache::HashSlice
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 9
    functionsReached:
    - data
    - Hash
    - size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HashSlice(const Slice& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: leveldb::ShardedLRUCache::Shard
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Shard(uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCapacity
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: leveldb::ShardedLRUCache::ShardedLRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - SetCapacity
    linkageType: ''
    returnType: void
    signature: void ShardedLRUCache(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: ~ShardedLRUCache() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ShardedLRUCache() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:360,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:361,1
    - Dst: leveldb::ShardedLRUCache::Insert
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' key'
    - value
    - charge
    argTypes:
    - Slice
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: leveldb::ShardedLRUCache::Insert
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Insert
    linkageType: ''
    returnType: Handle
    signature: "Handle * Insert(const Slice& key, void* value, size_t charge,\n                 void
      (*deleter)(const Slice& key, void* value)) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:364,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:365,1
    - Dst: leveldb::ShardedLRUCache::Lookup
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: leveldb::ShardedLRUCache::Lookup
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Lookup
    linkageType: ''
    returnType: Handle
    signature: Handle * Lookup(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:368,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:369,1
    - Dst: leveldb::ShardedLRUCache::Release
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: leveldb::ShardedLRUCache::Release
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::Release
    linkageType: ''
    returnType: void
    signature: void Release(Handle* handle) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::HashSlice
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:372,1
    - Dst: leveldb::ShardedLRUCache::Shard
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:373,1
    - Dst: leveldb::ShardedLRUCache::Erase
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 5
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: leveldb::ShardedLRUCache::Erase
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - leveldb::ShardedLRUCache::Shard
    - leveldb::ShardedLRUCache::HashSlice
    - leveldb::ShardedLRUCache::Erase
    linkageType: ''
    returnType: void
    signature: void Erase(const Slice& key) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LRUHandle*>
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: leveldb::ShardedLRUCache::Value
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<LRUHandle*>
    linkageType: ''
    returnType: void
    signature: void * Value(Handle* handle) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: leveldb::ShardedLRUCache::NewId
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NewId() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::Prune
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: leveldb::ShardedLRUCache::Prune
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - leveldb::ShardedLRUCache::Prune
    linkageType: ''
    returnType: void
    signature: void Prune() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::ShardedLRUCache::TotalCharge
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: leveldb::ShardedLRUCache::TotalCharge
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 4
    functionsReached:
    - leveldb::ShardedLRUCache::TotalCharge
    linkageType: ''
    returnType: size_t
    signature: size_t TotalCharge() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShardedLRUCache::ShardedLRUCache
      Src: /src/bitcoin-core/src/leveldb/util/cache.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: leveldb::NewLRUCache
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/cache.cc
    functionUses: 7
    functionsReached:
    - ShardedLRUCache::ShardedLRUCache
    linkageType: ''
    returnType: Cache
    signature: Cache * NewLRUCache(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: leveldb::DoNotDestruct
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoNotDestruct(uint32_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ~DoNotDestruct()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached:
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~DoNotDestruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: leveldb::DoNotDestruct
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoNotDestruct(uint32_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ~DoNotDestruct()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached:
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~DoNotDestruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:35,1
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:36,1
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached:
    - NoDestructor::get
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(NoDestructorTest, StackInstance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:41,1
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:42,1
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached:
    - NoDestructor::get
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(NoDestructorTest, StaticInstance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: leveldb::DoNotDestruct
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoNotDestruct(uint32_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ~DoNotDestruct()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached:
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~DoNotDestruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: leveldb::DoNotDestruct
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoNotDestruct(uint32_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abort
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ~DoNotDestruct()
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached:
    - std::abort
    linkageType: ''
    returnType: void
    signature: void ~DoNotDestruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:35,1
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:36,1
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached:
    - NoDestructor::get
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(NoDestructorTest, StackInstance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:41,1
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:42,1
    - Dst: NoDestructor::get
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 0
    functionsReached:
    - NoDestructor::get
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(NoDestructorTest, StaticInstance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/no_destructor_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::mu_::Lock
      Src: /src/bitcoin-core/src/leveldb/util/mutexlock.h:26,1
    - Dst: leveldb::mu_::Unlock
      Src: /src/bitcoin-core/src/leveldb/util/mutexlock.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: leveldb::MutexLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/mutexlock.h
    functionUses: 0
    functionsReached:
    - leveldb::mu_::Unlock
    - leveldb::mu_::Lock
    linkageType: ''
    returnType: class SCOPED_LOCKABLE
    signature: class SCOPED_LOCKABLE MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::mu_::Lock
      Src: /src/bitcoin-core/src/leveldb/util/mutexlock.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: leveldb::EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/mutexlock.h
    functionUses: 0
    functionsReached:
    - leveldb::mu_::Lock
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION(mu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::mu_::Unlock
      Src: /src/bitcoin-core/src/leveldb/util/mutexlock.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: leveldb::UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/mutexlock.h
    functionUses: 0
    functionsReached:
    - leveldb::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: leveldb::MutexLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/mutexlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutexLock(const MutexLock&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::mu_::Lock
      Src: /src/bitcoin-core/src/leveldb/util/mutexlock.h:26,1
    - Dst: leveldb::mu_::Unlock
      Src: /src/bitcoin-core/src/leveldb/util/mutexlock.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: leveldb::MutexLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/mutexlock.h
    functionUses: 0
    functionsReached:
    - leveldb::mu_::Unlock
    - leveldb::mu_::Lock
    linkageType: ''
    returnType: class SCOPED_LOCKABLE
    signature: class SCOPED_LOCKABLE MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::mu_::Lock
      Src: /src/bitcoin-core/src/leveldb/util/mutexlock.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: leveldb::EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/mutexlock.h
    functionUses: 0
    functionsReached:
    - leveldb::mu_::Lock
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_LOCK_FUNCTION(mu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::mu_::Unlock
      Src: /src/bitcoin-core/src/leveldb/util/mutexlock.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: leveldb::UNLOCK_FUNCTION
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/mutexlock.h
    functionUses: 0
    functionsReached:
    - leveldb::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void UNLOCK_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: leveldb::MutexLock
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/mutexlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutexLock(const MutexLock&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: GetArgvZero
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<char>
    signature: std::vector<char> * GetArgvZero()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::atoi
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:59,1
    - Dst: ::dup2
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:62,1
    - Dst: std::fprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:63,1
    - Dst: std::fprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:68,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pid_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: TestCloseOnExecHelperMain
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - std::strerror
    - std::atoi
    - ::dup2
    - std::fprintf
    linkageType: ''
    returnType: int
    signature: int TestCloseOnExecHelperMain(char* pid_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:81,1
    - Dst: ::getrlimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - result_fd
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: GetMaxFileDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - ::getrlimit
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void GetMaxFileDescriptor(int* result_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxFileDescriptor
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:90,1
    - Dst: ::dup2
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:98,1
    - Dst: std::unordered_set<int>*::insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - open_fds
    argTypes:
    - std::unordered_set<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: GetOpenFileDescriptors
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - ::dup2
    - std::unordered_set<int>*::insert
    - GetMaxFileDescriptor
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void GetOpenFileDescriptors(std::unordered_set<int>* open_fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:115,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:117,1
    - Dst: std::unordered_set::count
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:117,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:121,1
    - Dst: std::unordered_set::size
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:121,1
    - Dst: std::unordered_set::begin
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' baseline_open_fds'
    - result_fd
    argTypes:
    - std::unordered_set<int>
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: GetNewlyOpenedFileDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - std::unordered_set::erase
    - std::unordered_set::size
    - GetOpenFileDescriptors
    - std::unordered_set::count
    - ASSERT_EQ
    - std::unordered_set::begin
    linkageType: ''
    returnType: void
    signature: "void GetNewlyOpenedFileDescriptor(\n    const std::unordered_set<int>&
      baseline_open_fds, int* result_fd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:132,1
    - Dst: GetNewlyOpenedFileDescriptor
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:136,1
    - Dst: std::to_string
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:137,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:138,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:138,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:139,1
    - Dst: GetArgvZero
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:143,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:143,1
    - Dst: fork
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:147,1
    - Dst: ::execv
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:149,1
    - Dst: std::fprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:150,1
    - Dst: strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:150,1
    - Dst: std::exit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:155,1
    - Dst: ::waitpid
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:155,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:156,1
    - Dst: WIFEXITED
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:158,1
    - Dst: WEXITSTATUS
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' baseline_open_fds'
    argTypes:
    - std::unordered_set<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: CheckCloseOnExecDoesNotLeakFDs
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - GetArgvZero
    - std::memcpy
    - std::vector::emplace_back
    - std::fprintf
    - std::string::begin
    - GetNewlyOpenedFileDescriptor
    - std::vector::data
    - fork
    - WEXITSTATUS
    - WIFEXITED
    - strerror
    - ASSERT_EQ
    - std::string::end
    - ASSERT_TRUE
    - std::to_string
    - std::exit
    - ::execv
    - ::waitpid
    linkageType: ''
    returnType: void
    signature: "void CheckCloseOnExecDoesNotLeakFDs(\n    const std::unordered_set<int>&
      baseline_open_fds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: GetArgvZero
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<char>
    signature: std::vector<char> * GetArgvZero()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::atoi
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:59,1
    - Dst: ::dup2
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:62,1
    - Dst: std::fprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:63,1
    - Dst: std::fprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:68,1
    - Dst: std::strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pid_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: TestCloseOnExecHelperMain
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - std::strerror
    - std::atoi
    - ::dup2
    - std::fprintf
    linkageType: ''
    returnType: int
    signature: int TestCloseOnExecHelperMain(char* pid_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:81,1
    - Dst: ::getrlimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - result_fd
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: GetMaxFileDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 1
    functionsReached:
    - ::getrlimit
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void GetMaxFileDescriptor(int* result_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMaxFileDescriptor
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:90,1
    - Dst: ::dup2
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:98,1
    - Dst: std::unordered_set<int>*::insert
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - open_fds
    argTypes:
    - std::unordered_set<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: GetOpenFileDescriptors
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 1
    functionsReached:
    - ::dup2
    - std::unordered_set<int>*::insert
    - GetMaxFileDescriptor
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void GetOpenFileDescriptors(std::unordered_set<int>* open_fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:115,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:117,1
    - Dst: std::unordered_set::count
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:117,1
    - Dst: std::unordered_set::erase
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:121,1
    - Dst: std::unordered_set::size
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:121,1
    - Dst: std::unordered_set::begin
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' baseline_open_fds'
    - result_fd
    argTypes:
    - std::unordered_set<int>
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: GetNewlyOpenedFileDescriptor
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 1
    functionsReached:
    - std::unordered_set::erase
    - std::unordered_set::size
    - GetOpenFileDescriptors
    - std::unordered_set::count
    - ASSERT_EQ
    - std::unordered_set::begin
    linkageType: ''
    returnType: void
    signature: "void GetNewlyOpenedFileDescriptor(\n    const std::unordered_set<int>&
      baseline_open_fds, int* result_fd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:132,1
    - Dst: GetNewlyOpenedFileDescriptor
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:136,1
    - Dst: std::to_string
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:137,1
    - Dst: std::string::begin
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:138,1
    - Dst: std::string::end
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:138,1
    - Dst: std::vector::emplace_back
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:139,1
    - Dst: GetArgvZero
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:143,1
    - Dst: std::vector::data
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:143,1
    - Dst: fork
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:147,1
    - Dst: ::execv
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:149,1
    - Dst: std::fprintf
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:150,1
    - Dst: strerror
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:150,1
    - Dst: std::exit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:155,1
    - Dst: ::waitpid
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:155,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:156,1
    - Dst: WIFEXITED
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:158,1
    - Dst: WEXITSTATUS
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' baseline_open_fds'
    argTypes:
    - std::unordered_set<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: CheckCloseOnExecDoesNotLeakFDs
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - GetArgvZero
    - std::memcpy
    - std::vector::emplace_back
    - std::fprintf
    - std::string::begin
    - GetNewlyOpenedFileDescriptor
    - std::vector::data
    - fork
    - WEXITSTATUS
    - WIFEXITED
    - strerror
    - ASSERT_EQ
    - std::string::end
    - ASSERT_TRUE
    - std::to_string
    - std::exit
    - ::execv
    - ::waitpid
    linkageType: ''
    returnType: void
    signature: "void CheckCloseOnExecDoesNotLeakFDs(\n    const std::unordered_set<int>&
      baseline_open_fds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EnvPosixTestHelper::SetReadOnlyFDLimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:174,1
    - Dst: leveldb::EnvPosixTestHelper::SetReadOnlyMMapLimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - read_only_file_limit
    - mmap_limit
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: leveldb::EnvPosixTest::SetFileLimits
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::EnvPosixTestHelper::SetReadOnlyFDLimit
    - leveldb::EnvPosixTestHelper::SetReadOnlyMMapLimit
    linkageType: ''
    returnType: void
    signature: void SetFileLimits(int read_only_file_limit, int mmap_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: leveldb::EnvPosixTest::EnvPosixTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void EnvPosixTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:186,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:186,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:189,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:189,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:190,1
    - Dst: fputs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:192,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:193,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:200,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:200,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:205,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:205,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:206,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:211,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 212
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NewRandomAccessFile
    - Read
    - fopen
    - ASSERT_EQ
    - ASSERT_TRUE
    - ASSERT_OK
    - fclose
    - leveldb::DeleteFile
    - std::string::c_str
    - fputs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestOpenOnRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:218,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:221,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:221,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:223,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:223,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:226,1
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:226,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:227,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:230,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - GetOpenFileDescriptors
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - leveldb::NewSequentialFile
    - CheckCloseOnExecDoesNotLeakFDs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecSequentialFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:235,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:238,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:238,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:240,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:240,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:247,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:247,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:251,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:251,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:252,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:258,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 259
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NewRandomAccessFile
    - GetOpenFileDescriptors
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - CheckCloseOnExecDoesNotLeakFDs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecRandomAccessFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:263,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:266,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:266,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:268,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:268,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:271,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:271,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:272,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:275,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - GetOpenFileDescriptors
    - leveldb::NewWritableFile
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - CheckCloseOnExecDoesNotLeakFDs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecWritableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:280,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:283,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:283,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:285,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:285,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:288,1
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:288,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:289,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:292,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 293
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - GetOpenFileDescriptors
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - CheckCloseOnExecDoesNotLeakFDs
    - leveldb::NewAppendableFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecAppendableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:297,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:300,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:300,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:302,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:302,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:305,1
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:305,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:306,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:307,1
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:307,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:309,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - CheckCloseOnExecDoesNotLeakFDs
    - GetOpenFileDescriptors
    - leveldb::UnlockFile
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - leveldb::LockFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecLockFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:314,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:317,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:317,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:319,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:319,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:322,1
    - Dst: leveldb::NewLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:322,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:323,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:326,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 327
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - CheckCloseOnExecDoesNotLeakFDs
    - GetOpenFileDescriptors
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - leveldb::NewLogger
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecLogger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EnvPosixTestHelper::SetReadOnlyFDLimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:174,1
    - Dst: leveldb::EnvPosixTestHelper::SetReadOnlyMMapLimit
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - read_only_file_limit
    - mmap_limit
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: leveldb::EnvPosixTest::SetFileLimits
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::EnvPosixTestHelper::SetReadOnlyFDLimit
    - leveldb::EnvPosixTestHelper::SetReadOnlyMMapLimit
    linkageType: ''
    returnType: void
    signature: void SetFileLimits(int read_only_file_limit, int mmap_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: leveldb::EnvPosixTest::EnvPosixTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void EnvPosixTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:186,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:186,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:189,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:189,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:190,1
    - Dst: fputs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:192,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:193,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:200,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:200,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:205,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:205,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:206,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:211,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 212
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NewRandomAccessFile
    - Read
    - fopen
    - ASSERT_EQ
    - ASSERT_TRUE
    - ASSERT_OK
    - fclose
    - leveldb::DeleteFile
    - std::string::c_str
    - fputs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestOpenOnRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:218,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:221,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:221,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:223,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:223,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:226,1
    - Dst: leveldb::NewSequentialFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:226,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:227,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:230,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - GetOpenFileDescriptors
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - leveldb::NewSequentialFile
    - CheckCloseOnExecDoesNotLeakFDs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecSequentialFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:235,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:238,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:238,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:240,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:240,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:247,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:247,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:251,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:251,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:252,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:258,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 259
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NewRandomAccessFile
    - GetOpenFileDescriptors
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - CheckCloseOnExecDoesNotLeakFDs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecRandomAccessFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:263,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:266,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:266,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:268,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:268,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:271,1
    - Dst: leveldb::NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:271,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:272,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:275,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - GetOpenFileDescriptors
    - leveldb::NewWritableFile
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - CheckCloseOnExecDoesNotLeakFDs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecWritableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:280,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:283,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:283,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:285,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:285,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:288,1
    - Dst: leveldb::NewAppendableFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:288,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:289,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:292,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 293
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - GetOpenFileDescriptors
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - CheckCloseOnExecDoesNotLeakFDs
    - leveldb::NewAppendableFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecAppendableFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:297,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:300,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:300,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:302,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:302,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:305,1
    - Dst: leveldb::LockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:305,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:306,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:307,1
    - Dst: leveldb::UnlockFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:307,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:309,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - CheckCloseOnExecDoesNotLeakFDs
    - GetOpenFileDescriptors
    - leveldb::UnlockFile
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - leveldb::LockFile
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecLockFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileDescriptors
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:314,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:317,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:317,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:319,1
    - Dst: leveldb::WriteStringToFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:319,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:322,1
    - Dst: leveldb::NewLogger
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:322,1
    - Dst: CheckCloseOnExecDoesNotLeakFDs
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:323,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:326,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 327
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 0
    functionsReached:
    - CheckCloseOnExecDoesNotLeakFDs
    - GetOpenFileDescriptors
    - ASSERT_OK
    - leveldb::WriteStringToFile
    - leveldb::DeleteFile
    - leveldb::NewLogger
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvPosixTest, TestCloseOnExecLogger)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:337,1
    - Dst: TestCloseOnExecHelperMain
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:338,1
    - Dst: GetArgvZero
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:343,1
    - Dst: std::strlen
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:343,1
    - Dst: leveldb::EnvPosixTest::SetFileLimits
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:347,1
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 350
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_posix_test.cc
    functionUses: 1
    functionsReached:
    - GetArgvZero
    - leveldb::EnvPosixTest::SetFileLimits
    - std::strcmp
    - leveldb::test::RunAllTests
    - TestCloseOnExecHelperMain
    - std::strlen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/util/options.cc:12,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/options.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: leveldb::Options::Options
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/options.cc
    functionUses: 3
    functionsReached:
    - BytewiseComparator
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Options::Options()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/util/options.cc:12,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/options.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: leveldb::Options::Options
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/options.cc
    functionUses: 3
    functionsReached:
    - BytewiseComparator
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Options::Options()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EnvWindowsTestHelper::SetReadOnlyMMapLimit
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mmap_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: leveldb::EnvWindowsTest::SetFileLimits
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::EnvWindowsTestHelper::SetReadOnlyMMapLimit
    linkageType: ''
    returnType: void
    signature: void SetFileLimits(int mmap_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::EnvWindowsTest::EnvWindowsTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void EnvWindowsTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:29,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:29,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:32,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:32,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:33,1
    - Dst: fputs
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:35,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:36,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:44,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:44,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:49,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:50,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:55,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 56
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NewRandomAccessFile
    - Read
    - fopen
    - ASSERT_EQ
    - ASSERT_TRUE
    - ASSERT_OK
    - fclose
    - leveldb::DeleteFile
    - std::string::c_str
    - fputs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvWindowsTest, TestOpenOnRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EnvWindowsTestHelper::SetReadOnlyMMapLimit
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mmap_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: leveldb::EnvWindowsTest::SetFileLimits
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::EnvWindowsTestHelper::SetReadOnlyMMapLimit
    linkageType: ''
    returnType: void
    signature: void SetFileLimits(int mmap_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: leveldb::EnvWindowsTest::EnvWindowsTest
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void EnvWindowsTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:29,1
    - Dst: leveldb::GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:29,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:32,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:32,1
    - Dst: ASSERT_TRUE
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:33,1
    - Dst: fputs
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:35,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:36,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:44,1
    - Dst: leveldb::NewRandomAccessFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:44,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:49,1
    - Dst: Read
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:50,1
    - Dst: ASSERT_OK
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:55,1
    - Dst: leveldb::DeleteFile
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 56
    functionName: leveldb::TEST
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc
    functionUses: 0
    functionsReached:
    - leveldb::NewRandomAccessFile
    - Read
    - fopen
    - ASSERT_EQ
    - ASSERT_TRUE
    - ASSERT_OK
    - fclose
    - leveldb::DeleteFile
    - std::string::c_str
    - fputs
    - leveldb::GetTestDirectory
    linkageType: ''
    returnType: void
    signature: void TEST(EnvWindowsTest, TestOpenOnRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::EnvWindowsTest::SetFileLimits
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:62,1
    - Dst: leveldb::test::RunAllTests
      Src: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/util/env_windows_test.cc
    functionUses: 1
    functionsReached:
    - leveldb::test::RunAllTests
    - leveldb::EnvWindowsTest::SetFileLimits
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kyotocabinet::TreeDB*::synchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:76,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:77,1
    - Dst: kyotocabinet::TreeDB*::error
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - db_
    argTypes:
    - kyotocabinet::TreeDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: DBSynchronize
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - kyotocabinet::TreeDB*::synchronize
    - kyotocabinet::TreeDB*::error
    linkageType: ''
    returnType: void
    signature: void DBSynchronize(kyotocabinet::TreeDB* db_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:97,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:100,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:107,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:109,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:109,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:112,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:118,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:118,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:121,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:122,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:125,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:97,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:100,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:107,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:109,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:109,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:112,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:118,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:118,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:121,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:122,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:125,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintEnvironment
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:151,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:152,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:153,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:155,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:156,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:157,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:158,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:160,1
    - Dst: leveldb::Benchmark::PrintWarnings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:163,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: leveldb::Benchmark::PrintHeader
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::PrintEnvironment
    - static_cast<int>
    - fprintf
    - leveldb::Benchmark::PrintWarnings
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void PrintHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:169,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: leveldb::Benchmark::PrintWarnings
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintWarnings()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:180,1
    - Dst: time
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:184,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:185,1
    - Dst: ctime
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:185,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:187,1
    - Dst: fgets
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:193,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:194,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:198,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:198,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:199,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:199,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:202,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:204,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:207,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:208,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:208,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:209,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: leveldb::Benchmark::PrintEnvironment
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 1
    functionsReached:
    - Slice
    - TrimSpace
    - time
    - strchr
    - fopen
    - fprintf
    - ctime
    - fclose
    - fgets
    - Slice::ToString
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void PrintEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:215,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:217,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: leveldb::Benchmark::Start
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - clear
    - Clear
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:226,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:228,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:230,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:231,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:252,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: leveldb::Benchmark::FinishedSingleOp
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - Add
    - fflush
    - fprintf
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void FinishedSingleOp()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:258,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:266,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:268,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:269,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:275,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:275,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:276,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:277,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:279,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:279,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 282
    functionName: leveldb::Benchmark::Stop
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - ToString
    - empty
    - std::string
    - fprintf
    - fflush
    - snprintf
    - c_str
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Stop(const Slice& name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:296,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:297,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:297,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:299,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:300,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:304,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: leveldb::Benchmark::Benchmark
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::vector::size
    - leveldb::Env::Default
    - Slice
    linkageType: ''
    returnType: void
    signature: void Benchmark()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:311,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:312,1
    - Dst: error
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: ~Benchmark()
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - error
    - fprintf
    - close
    linkageType: ''
    returnType: void
    signature: void ~Benchmark()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintHeader
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:317,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:318,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:322,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:328,1
    - Dst: leveldb::Benchmark::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:332,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:336,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:337,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:338,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:339,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:340,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:341,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:342,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:343,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:344,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:345,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:347,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:348,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:349,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:351,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:352,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:353,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:354,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:355,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:356,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:357,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:358,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:359,1
    - Dst: leveldb::Benchmark::ReadSequential
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:360,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:361,1
    - Dst: leveldb::Benchmark::ReadRandom
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:362,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:363,1
    - Dst: leveldb::Benchmark::ReadRandom
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:366,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:368,1
    - Dst: leveldb::Benchmark::ReadSequential
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:371,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:375,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:376,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:376,1
    - Dst: leveldb::Benchmark::Stop
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:380,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 383
    functionName: leveldb::Benchmark::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::Benchmark::Write
    - DBSynchronize
    - strchr
    - leveldb::Benchmark::PrintHeader
    - leveldb::Benchmark::Stop
    - fprintf
    - leveldb::Benchmark::Open
    - leveldb::Benchmark::ReadSequential
    - leveldb::Benchmark::ReadRandom
    - Slice::ToString
    - leveldb::Benchmark::Start
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:387,1
    - Dst: kyotocabinet::TreeDB::TreeDB
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:390,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:394,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:395,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:396,1
    - Dst: tune_compressor
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:405,1
    - Dst: tune_options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:407,1
    - Dst: tune_page_cache
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:408,1
    - Dst: tune_page
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:409,1
    - Dst: tune_map
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:410,1
    - Dst: open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:414,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:415,1
    - Dst: error
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - sync
    argTypes:
    - bool
    assertStmts:
    - condition: (db_ == nullptr)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    constantsTouched: []
    func_position:
      end: 417
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 417
    functionName: leveldb::Benchmark::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 1
    functionsReached:
    - error
    - tune_compressor
    - tune_map
    - kyotocabinet::TreeDB::TreeDB
    - tune_page_cache
    - tune_page
    - tune_options
    - open
    - fprintf
    - snprintf
    - std::string::c_str
    - assert
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Open(bool sync)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:429,1
    - Dst: leveldb::Benchmark::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:430,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:435,1
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:441,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:443,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:444,1
    - Dst: set
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:446,1
    - Dst: Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:446,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:447,1
    - Dst: error
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:447,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - sync
    - order
    - state
    - num_entries
    - value_size
    - entries_per_batch
    argTypes:
    - bool
    - Order
    - DBState
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: leveldb::Benchmark::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 1
    functionsReached:
    - error
    - strlen
    - set
    - fprintf
    - leveldb::Benchmark::FinishedSingleOp
    - Generate
    - snprintf
    - leveldb::Benchmark::Open
    - leveldb::Benchmark::Start
    - Next
    linkageType: ''
    returnType: void
    signature: "void Write(bool sync, Order order, DBState state, int num_entries,\n
      \            int value_size, int entries_per_batch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cursor
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:454,1
    - Dst: kyotocabinet::DB::Cursor*::jump
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:455,1
    - Dst: kyotocabinet::DB::Cursor*::get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:457,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:458,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:458,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: leveldb::Benchmark::ReadSequential
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 1
    functionsReached:
    - cursor
    - std::string::size
    - size
    - kyotocabinet::DB::Cursor*::get
    - leveldb::Benchmark::FinishedSingleOp
    - kyotocabinet::DB::Cursor*::jump
    linkageType: ''
    returnType: void
    signature: void ReadSequential()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:468,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:469,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:470,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: leveldb::Benchmark::ReadRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 1
    functionsReached:
    - get
    - leveldb::Benchmark::FinishedSingleOp
    - snprintf
    - Next
    linkageType: ''
    returnType: void
    signature: void ReadRandom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:97,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:100,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:107,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:109,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:109,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:112,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:118,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:118,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:121,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:122,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:125,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:97,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:100,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:107,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:109,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:109,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:112,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:118,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:118,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:121,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:122,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:125,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintEnvironment
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:151,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:152,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:153,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:155,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:156,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:157,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:158,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:160,1
    - Dst: leveldb::Benchmark::PrintWarnings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:163,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: leveldb::Benchmark::PrintHeader
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 1
    functionsReached:
    - leveldb::Benchmark::PrintEnvironment
    - static_cast<int>
    - fprintf
    - leveldb::Benchmark::PrintWarnings
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void PrintHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:169,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: leveldb::Benchmark::PrintWarnings
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintWarnings()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:180,1
    - Dst: time
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:184,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:185,1
    - Dst: ctime
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:185,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:187,1
    - Dst: fgets
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:193,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:194,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:198,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:198,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:199,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:199,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:202,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:204,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:207,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:208,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:208,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:209,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: leveldb::Benchmark::PrintEnvironment
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 2
    functionsReached:
    - Slice
    - TrimSpace
    - time
    - strchr
    - fopen
    - fprintf
    - ctime
    - fclose
    - fgets
    - Slice::ToString
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void PrintEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:215,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:217,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: leveldb::Benchmark::Start
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 2
    functionsReached:
    - clear
    - Clear
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:226,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:228,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:230,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:231,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:252,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: leveldb::Benchmark::FinishedSingleOp
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 3
    functionsReached:
    - Add
    - fflush
    - fprintf
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void FinishedSingleOp()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:258,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:266,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:268,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:269,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:275,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:275,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:276,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:277,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:279,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:279,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 282
    functionName: leveldb::Benchmark::Stop
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 1
    functionsReached:
    - ToString
    - empty
    - std::string
    - fprintf
    - fflush
    - snprintf
    - c_str
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Stop(const Slice& name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:296,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:297,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:297,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:299,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:300,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:304,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: leveldb::Benchmark::Benchmark
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::vector::size
    - leveldb::Env::Default
    - Slice
    linkageType: ''
    returnType: void
    signature: void Benchmark()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:311,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:312,1
    - Dst: error
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: ~Benchmark()
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - error
    - fprintf
    - close
    linkageType: ''
    returnType: void
    signature: void ~Benchmark()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintHeader
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:317,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:318,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:322,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:328,1
    - Dst: leveldb::Benchmark::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:332,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:336,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:337,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:338,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:339,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:340,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:341,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:342,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:343,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:344,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:345,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:347,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:348,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:349,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:351,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:352,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:353,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:354,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:355,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:356,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:357,1
    - Dst: DBSynchronize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:358,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:359,1
    - Dst: leveldb::Benchmark::ReadSequential
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:360,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:361,1
    - Dst: leveldb::Benchmark::ReadRandom
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:362,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:363,1
    - Dst: leveldb::Benchmark::ReadRandom
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:366,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:368,1
    - Dst: leveldb::Benchmark::ReadSequential
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:371,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:375,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:376,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:376,1
    - Dst: leveldb::Benchmark::Stop
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:380,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 383
    functionName: leveldb::Benchmark::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 0
    functionsReached:
    - Slice
    - leveldb::Benchmark::Write
    - DBSynchronize
    - strchr
    - leveldb::Benchmark::PrintHeader
    - leveldb::Benchmark::Stop
    - fprintf
    - leveldb::Benchmark::Open
    - leveldb::Benchmark::ReadSequential
    - leveldb::Benchmark::ReadRandom
    - Slice::ToString
    - leveldb::Benchmark::Start
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:387,1
    - Dst: kyotocabinet::TreeDB::TreeDB
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:390,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:394,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:395,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:396,1
    - Dst: tune_compressor
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:405,1
    - Dst: tune_options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:407,1
    - Dst: tune_page_cache
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:408,1
    - Dst: tune_page
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:409,1
    - Dst: tune_map
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:410,1
    - Dst: open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:414,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:415,1
    - Dst: error
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - sync
    argTypes:
    - bool
    assertStmts:
    - condition: (db_ == nullptr)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    constantsTouched: []
    func_position:
      end: 417
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 417
    functionName: leveldb::Benchmark::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 3
    functionsReached:
    - error
    - tune_compressor
    - tune_map
    - kyotocabinet::TreeDB::TreeDB
    - tune_page_cache
    - tune_page
    - tune_options
    - open
    - fprintf
    - snprintf
    - std::string::c_str
    - assert
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Open(bool sync)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:429,1
    - Dst: leveldb::Benchmark::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:430,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:435,1
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:441,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:443,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:444,1
    - Dst: set
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:446,1
    - Dst: Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:446,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:447,1
    - Dst: error
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:447,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - sync
    - order
    - state
    - num_entries
    - value_size
    - entries_per_batch
    argTypes:
    - bool
    - Order
    - DBState
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: leveldb::Benchmark::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 2
    functionsReached:
    - error
    - strlen
    - set
    - fprintf
    - leveldb::Benchmark::FinishedSingleOp
    - Generate
    - snprintf
    - leveldb::Benchmark::Open
    - leveldb::Benchmark::Start
    - Next
    linkageType: ''
    returnType: void
    signature: "void Write(bool sync, Order order, DBState state, int num_entries,\n
      \            int value_size, int entries_per_batch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cursor
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:454,1
    - Dst: kyotocabinet::DB::Cursor*::jump
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:455,1
    - Dst: kyotocabinet::DB::Cursor*::get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:457,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:458,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:458,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: leveldb::Benchmark::ReadSequential
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 2
    functionsReached:
    - cursor
    - std::string::size
    - size
    - kyotocabinet::DB::Cursor*::get
    - leveldb::Benchmark::FinishedSingleOp
    - kyotocabinet::DB::Cursor*::jump
    linkageType: ''
    returnType: void
    signature: void ReadSequential()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:468,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:469,1
    - Dst: get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:470,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: leveldb::Benchmark::ReadRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 2
    functionsReached:
    - get
    - leveldb::Benchmark::FinishedSingleOp
    - snprintf
    - Next
    linkageType: ''
    returnType: void
    signature: void ReadRandom()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:484,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:485,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:486,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:488,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:491,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:493,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:495,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:497,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:499,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:501,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:504,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:507,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:508,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:514,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:516,1
    - Dst: leveldb::Benchmark::Benchmark
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:519,1
    - Dst: leveldb::Benchmark::Run
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc:520,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 522
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_tree_db.cc
    functionUses: 1
    functionsReached:
    - strlen
    - leveldb::Slice
    - leveldb::Benchmark::Run
    - strncmp
    - fprintf
    - sscanf
    - std::string::c_str
    - exit
    - leveldb::Benchmark::Benchmark
    - leveldb::Env::Default
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:83,1
    - Dst: sqlite3_free
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:84,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - status
    - err_msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: ExecErrorCheck
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - sqlite3_free
    - exit
    linkageType: ''
    returnType: void
    signature: void ExecErrorCheck(int status, char* err_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:91,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: StepErrorCheck
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void StepErrorCheck(int status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:98,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: ErrorCheck
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void ErrorCheck(int status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_wal_checkpoint_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - db_
    argTypes:
    - sqlite3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: WalCheckpoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - sqlite3_wal_checkpoint_v2
    linkageType: ''
    returnType: void
    signature: void WalCheckpoint(sqlite3* db_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:127,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:130,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:137,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:139,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:139,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:142,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:148,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:148,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:151,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:152,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:155,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:127,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:130,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:137,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:139,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:139,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:142,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:148,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:148,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:151,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:152,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:155,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintEnvironment
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:180,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:181,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:182,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:183,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:184,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:185,1
    - Dst: leveldb::Benchmark::PrintWarnings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:187,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: leveldb::Benchmark::PrintHeader
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 2
    functionsReached:
    - fprintf
    - leveldb::Benchmark::PrintEnvironment
    - leveldb::Benchmark::PrintWarnings
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void PrintHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:193,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: leveldb::Benchmark::PrintWarnings
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 3
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintWarnings()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:204,1
    - Dst: time
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:207,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:208,1
    - Dst: ctime
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:208,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:210,1
    - Dst: fgets
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:216,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:217,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:221,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:221,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:222,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:222,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:225,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:227,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:230,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:231,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:231,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:232,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 235
    functionName: leveldb::Benchmark::PrintEnvironment
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 3
    functionsReached:
    - Slice
    - TrimSpace
    - time
    - strchr
    - fopen
    - fprintf
    - ctime
    - fclose
    - fgets
    - Slice::ToString
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void PrintEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:238,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:240,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: leveldb::Benchmark::Start
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 4
    functionsReached:
    - clear
    - Clear
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:249,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:251,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:253,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:254,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:275,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 278
    functionName: leveldb::Benchmark::FinishedSingleOp
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 6
    functionsReached:
    - Add
    - fflush
    - fprintf
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void FinishedSingleOp()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:281,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:289,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:291,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:292,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:298,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:298,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:299,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:300,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:302,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:302,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 305
    functionName: leveldb::Benchmark::Stop
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 2
    functionsReached:
    - ToString
    - empty
    - std::string
    - fprintf
    - fflush
    - snprintf
    - c_str
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Stop(const Slice& name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:320,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:321,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:323,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:324,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:328,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: leveldb::Benchmark::Benchmark
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - Slice
    - std::vector::size
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Benchmark()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:335,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: ~Benchmark()
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - sqlite3_close
    - ErrorCheck
    linkageType: ''
    returnType: void
    signature: void ~Benchmark()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintHeader
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:340,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:341,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:345,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:351,1
    - Dst: leveldb::Benchmark::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:356,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:360,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:361,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:362,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:363,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:364,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:365,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:366,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:367,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:368,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:369,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:370,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:371,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:372,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:373,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:374,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:375,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:376,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:377,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:378,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:380,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:381,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:382,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:384,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:385,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:386,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:387,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:388,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:389,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:390,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:391,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:392,1
    - Dst: leveldb::Benchmark::ReadSequential
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:393,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:394,1
    - Dst: leveldb::Benchmark::Read
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:395,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:396,1
    - Dst: leveldb::Benchmark::Read
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:399,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:403,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:404,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:404,1
    - Dst: leveldb::Benchmark::Stop
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:408,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 411
    functionName: leveldb::Benchmark::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 1
    functionsReached:
    - Slice
    - leveldb::Benchmark::Write
    - leveldb::Benchmark::Read
    - strchr
    - leveldb::Benchmark::PrintHeader
    - leveldb::Benchmark::Stop
    - WalCheckpoint
    - fprintf
    - leveldb::Benchmark::Open
    - leveldb::Benchmark::ReadSequential
    - Slice::ToString
    - leveldb::Benchmark::Start
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:414,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:423,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:424,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:425,1
    - Dst: sqlite3_open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:426,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:428,1
    - Dst: sqlite3_errmsg
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:428,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:429,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:434,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:436,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:437,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:442,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:444,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:445,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:454,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:454,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:455,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:457,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:457,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:458,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:469,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:469,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (db_ == nullptr)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    constantsTouched: []
    func_position:
      end: 472
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 472
    functionName: leveldb::Benchmark::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 5
    functionsReached:
    - sqlite3_open
    - exit
    - ExecErrorCheck
    - sqlite3_exec
    - fprintf
    - snprintf
    - c_str
    - std::string::c_str
    - assert
    - sqlite3_errmsg
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Open()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:482,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:484,1
    - Dst: leveldb::Benchmark::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:485,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:490,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:505,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:505,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:506,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:509,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:509,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:511,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:512,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:512,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:514,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:515,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:515,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:517,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:523,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:524,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:525,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:526,1
    - Dst: Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:531,1
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:535,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:537,1
    - Dst: sqlite3_bind_blob
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:540,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:541,1
    - Dst: sqlite3_bind_blob
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:542,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:544,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:547,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:548,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:549,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:552,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:553,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:554,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:555,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:557,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:562,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:563,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:564,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:565,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:569,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:570,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:571,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:572,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:573,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:574,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 6
    argNames:
    - write_sync
    - order
    - state
    - num_entries
    - value_size
    - entries_per_batch
    argTypes:
    - bool
    - Order
    - DBState
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 575
    functionName: leveldb::Benchmark::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 3
    functionsReached:
    - sqlite3_reset
    - sqlite3_clear_bindings
    - strlen
    - sqlite3_bind_blob
    - ExecErrorCheck
    - sqlite3_exec
    - Generate
    - sqlite3_close
    - sqlite3_prepare_v2
    - leveldb::Benchmark::Open
    - sqlite3_step
    - StepErrorCheck
    - std::string::c_str
    - leveldb::Benchmark::Start
    - Next
    - sqlite3_finalize
    - leveldb::Benchmark::FinishedSingleOp
    - snprintf
    - ErrorCheck
    linkageType: ''
    returnType: void
    signature: "void Write(bool write_sync, Order order, DBState state, int num_entries,\n
      \            int value_size, int entries_per_batch)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:586,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:586,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:588,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:589,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:589,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:591,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:592,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:592,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:593,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:599,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:600,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:601,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:602,1
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:609,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:610,1
    - Dst: sqlite3_bind_blob
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:613,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:614,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:617,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:619,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:622,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:623,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:624,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:625,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:626,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:631,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:632,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:633,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:634,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:638,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:639,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:640,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:641,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:642,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:643,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - order
    - entries_per_batch
    argTypes:
    - Order
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 644
    functionName: leveldb::Benchmark::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 1
    functionsReached:
    - sqlite3_finalize
    - sqlite3_prepare_v2
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_bind_blob
    - ErrorCheck
    - leveldb::Benchmark::FinishedSingleOp
    - StepErrorCheck
    - sqlite3_step
    - snprintf
    - std::string::c_str
    - Next
    linkageType: ''
    returnType: void
    signature: void Read(Order order, int entries_per_batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:651,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:651,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:652,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:653,1
    - Dst: sqlite3_column_bytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:654,1
    - Dst: sqlite3_column_bytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:654,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:655,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:658,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 660
    functionName: leveldb::Benchmark::ReadSequential
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 3
    functionsReached:
    - sqlite3_finalize
    - sqlite3_prepare_v2
    - ErrorCheck
    - leveldb::Benchmark::FinishedSingleOp
    - sqlite3_step
    - sqlite3_column_bytes
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ReadSequential()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:127,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:130,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:137,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:139,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:139,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:142,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:148,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:148,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:151,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:152,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:155,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:127,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:130,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:137,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:139,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:139,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:142,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:148,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:148,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:151,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:152,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:155,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintEnvironment
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:180,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:181,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:182,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:183,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:184,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:185,1
    - Dst: leveldb::Benchmark::PrintWarnings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:187,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: leveldb::Benchmark::PrintHeader
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 3
    functionsReached:
    - fprintf
    - leveldb::Benchmark::PrintEnvironment
    - leveldb::Benchmark::PrintWarnings
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void PrintHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:193,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: leveldb::Benchmark::PrintWarnings
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 4
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintWarnings()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:204,1
    - Dst: time
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:207,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:208,1
    - Dst: ctime
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:208,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:210,1
    - Dst: fgets
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:216,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:217,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:221,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:221,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:222,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:222,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:225,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:227,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:230,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:231,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:231,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:232,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 235
    functionName: leveldb::Benchmark::PrintEnvironment
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 4
    functionsReached:
    - Slice
    - TrimSpace
    - time
    - strchr
    - fopen
    - fprintf
    - ctime
    - fclose
    - fgets
    - Slice::ToString
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void PrintEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:238,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:240,1
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: leveldb::Benchmark::Start
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 6
    functionsReached:
    - clear
    - Clear
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:249,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:251,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:253,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:254,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:275,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 278
    functionName: leveldb::Benchmark::FinishedSingleOp
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 9
    functionsReached:
    - Add
    - fflush
    - fprintf
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void FinishedSingleOp()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:281,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:289,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:291,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:292,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:298,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:298,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:299,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:300,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:302,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:302,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 305
    functionName: leveldb::Benchmark::Stop
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 3
    functionsReached:
    - ToString
    - empty
    - std::string
    - fprintf
    - fflush
    - snprintf
    - c_str
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Stop(const Slice& name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:320,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:321,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:323,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:324,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:328,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: leveldb::Benchmark::Benchmark
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - Slice
    - std::vector::size
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Benchmark()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:335,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: ~Benchmark()
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 0
    functionsReached:
    - sqlite3_close
    - ErrorCheck
    linkageType: ''
    returnType: void
    signature: void ~Benchmark()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintHeader
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:340,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:341,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:345,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:351,1
    - Dst: leveldb::Benchmark::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:356,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:360,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:361,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:362,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:363,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:364,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:365,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:366,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:367,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:368,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:369,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:370,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:371,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:372,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:373,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:374,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:375,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:376,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:377,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:378,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:380,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:381,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:382,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:384,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:385,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:386,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:387,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:388,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:389,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:390,1
    - Dst: WalCheckpoint
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:391,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:392,1
    - Dst: leveldb::Benchmark::ReadSequential
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:393,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:394,1
    - Dst: leveldb::Benchmark::Read
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:395,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:396,1
    - Dst: leveldb::Benchmark::Read
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:399,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:403,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:404,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:404,1
    - Dst: leveldb::Benchmark::Stop
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:408,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 411
    functionName: leveldb::Benchmark::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 1
    functionsReached:
    - Slice
    - leveldb::Benchmark::Write
    - leveldb::Benchmark::Read
    - strchr
    - leveldb::Benchmark::PrintHeader
    - leveldb::Benchmark::Stop
    - WalCheckpoint
    - fprintf
    - leveldb::Benchmark::Open
    - leveldb::Benchmark::ReadSequential
    - Slice::ToString
    - leveldb::Benchmark::Start
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:414,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:423,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:424,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:425,1
    - Dst: sqlite3_open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:426,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:428,1
    - Dst: sqlite3_errmsg
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:428,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:429,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:434,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:436,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:437,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:442,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:444,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:445,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:454,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:454,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:455,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:457,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:457,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:458,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:469,1
    - Dst: c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:469,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (db_ == nullptr)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    constantsTouched: []
    func_position:
      end: 472
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 472
    functionName: leveldb::Benchmark::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 7
    functionsReached:
    - sqlite3_open
    - exit
    - ExecErrorCheck
    - sqlite3_exec
    - fprintf
    - snprintf
    - c_str
    - std::string::c_str
    - assert
    - sqlite3_errmsg
    - leveldb::Env::Default
    linkageType: ''
    returnType: void
    signature: void Open()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_close
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:482,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:484,1
    - Dst: leveldb::Benchmark::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:485,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:490,1
    - Dst: sqlite3_exec
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:505,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:505,1
    - Dst: ExecErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:506,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:509,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:509,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:511,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:512,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:512,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:514,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:515,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:515,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:517,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:523,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:524,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:525,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:526,1
    - Dst: Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:531,1
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:535,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:537,1
    - Dst: sqlite3_bind_blob
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:540,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:541,1
    - Dst: sqlite3_bind_blob
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:542,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:544,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:547,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:548,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:549,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:552,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:553,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:554,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:555,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:557,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:562,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:563,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:564,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:565,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:569,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:570,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:571,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:572,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:573,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:574,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 6
    argNames:
    - write_sync
    - order
    - state
    - num_entries
    - value_size
    - entries_per_batch
    argTypes:
    - bool
    - Order
    - DBState
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 575
    functionName: leveldb::Benchmark::Write
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 4
    functionsReached:
    - sqlite3_reset
    - sqlite3_clear_bindings
    - strlen
    - sqlite3_bind_blob
    - ExecErrorCheck
    - sqlite3_exec
    - Generate
    - sqlite3_close
    - sqlite3_prepare_v2
    - leveldb::Benchmark::Open
    - sqlite3_step
    - StepErrorCheck
    - std::string::c_str
    - leveldb::Benchmark::Start
    - Next
    - sqlite3_finalize
    - leveldb::Benchmark::FinishedSingleOp
    - snprintf
    - ErrorCheck
    linkageType: ''
    returnType: void
    signature: "void Write(bool write_sync, Order order, DBState state, int num_entries,\n
      \            int value_size, int entries_per_batch)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:586,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:586,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:588,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:589,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:589,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:591,1
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:592,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:592,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:593,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:599,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:600,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:601,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:602,1
    - Dst: Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:609,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:610,1
    - Dst: sqlite3_bind_blob
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:613,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:614,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:617,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:619,1
    - Dst: sqlite3_clear_bindings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:622,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:623,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:624,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:625,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:626,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:631,1
    - Dst: StepErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:632,1
    - Dst: sqlite3_reset
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:633,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:634,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:638,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:639,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:640,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:641,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:642,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:643,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - order
    - entries_per_batch
    argTypes:
    - Order
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 644
    functionName: leveldb::Benchmark::Read
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 2
    functionsReached:
    - sqlite3_finalize
    - sqlite3_prepare_v2
    - sqlite3_reset
    - sqlite3_clear_bindings
    - sqlite3_bind_blob
    - ErrorCheck
    - leveldb::Benchmark::FinishedSingleOp
    - StepErrorCheck
    - sqlite3_step
    - snprintf
    - std::string::c_str
    - Next
    linkageType: ''
    returnType: void
    signature: void Read(Order order, int entries_per_batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:651,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:651,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:652,1
    - Dst: sqlite3_step
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:653,1
    - Dst: sqlite3_column_bytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:654,1
    - Dst: sqlite3_column_bytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:654,1
    - Dst: leveldb::Benchmark::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:655,1
    - Dst: sqlite3_finalize
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:658,1
    - Dst: ErrorCheck
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 660
    functionName: leveldb::Benchmark::ReadSequential
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 4
    functionsReached:
    - sqlite3_finalize
    - sqlite3_prepare_v2
    - ErrorCheck
    - leveldb::Benchmark::FinishedSingleOp
    - sqlite3_step
    - sqlite3_column_bytes
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ReadSequential()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:671,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:672,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:673,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:676,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:678,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:681,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:683,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:685,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:687,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:687,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:689,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:691,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:693,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:696,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:699,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:700,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:706,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:708,1
    - Dst: leveldb::Benchmark::Benchmark
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:711,1
    - Dst: leveldb::Benchmark::Run
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc:712,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 714
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench_sqlite3.cc
    functionUses: 1
    functionsReached:
    - strlen
    - leveldb::Slice
    - leveldb::Benchmark::Run
    - strncmp
    - fprintf
    - sscanf
    - std::string::c_str
    - exit
    - leveldb::Benchmark::Benchmark
    - leveldb::Env::Default
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:132,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:135,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:142,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:144,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:144,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:147,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:154,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:154,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:157,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:158,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:161,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:166,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:167,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:168,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - msg
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: leveldb::AppendWithSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - std::string*::empty
    - Slice::data
    - Slice::size
    - std::string*::append
    - std::string*::push_back
    - Slice::empty
    linkageType: ''
    returnType: void
    signature: void AppendWithSpace(std::string* str, Slice msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Stats::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: leveldb::Stats::Stats
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Stats::Start
    linkageType: ''
    returnType: void
    signature: void Stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:190,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:194,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: leveldb::Stats::Start
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 1
    functionsReached:
    - NowMicros
    - clear
    - Clear
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Stats::Merge
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:199,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: leveldb::Stats::Merge
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 1
    functionsReached:
    - leveldb::Stats::Merge
    - empty
    linkageType: ''
    returnType: void
    signature: void Merge(const Stats& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: leveldb::Stats::Stop
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - NowMicros
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendWithSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: leveldb::Stats::AddMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - AppendWithSpace
    linkageType: ''
    returnType: void
    signature: void AddMessage(Slice msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:219,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:221,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:223,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:224,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:245,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 248
    functionName: leveldb::Stats::FinishedSingleOp
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - NowMicros
    - fflush
    - fprintf
    - Add
    linkageType: ''
    returnType: void
    signature: void FinishedSingleOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: leveldb::Stats::AddBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddBytes(int64_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:263,1
    - Dst: AppendWithSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:267,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:269,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:269,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:270,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:270,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:272,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:272,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: leveldb::Stats::Report
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ToString
    - std::string::empty
    - AppendWithSpace
    - fprintf
    - fflush
    - snprintf
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Report(const Slice& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - total
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: leveldb::SharedState
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SharedState(int total)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: leveldb::ThreadState
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadState(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:132,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:135,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:142,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:144,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:144,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:147,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:154,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:154,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:157,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:158,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:161,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:166,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:167,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:168,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - msg
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: leveldb::AppendWithSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - std::string*::empty
    - Slice::data
    - Slice::size
    - std::string*::append
    - std::string*::push_back
    - Slice::empty
    linkageType: ''
    returnType: void
    signature: void AppendWithSpace(std::string* str, Slice msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Stats::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: leveldb::Stats::Stats
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Stats::Start
    linkageType: ''
    returnType: void
    signature: void Stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:190,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:194,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: leveldb::Stats::Start
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - NowMicros
    - clear
    - Clear
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Stats::Merge
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:199,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: leveldb::Stats::Merge
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - leveldb::Stats::Merge
    - empty
    linkageType: ''
    returnType: void
    signature: void Merge(const Stats& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: leveldb::Stats::Stop
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - NowMicros
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendWithSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: leveldb::Stats::AddMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - AppendWithSpace
    linkageType: ''
    returnType: void
    signature: void AddMessage(Slice msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:219,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:221,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:223,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:224,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:245,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 248
    functionName: leveldb::Stats::FinishedSingleOp
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - NowMicros
    - fflush
    - fprintf
    - Add
    linkageType: ''
    returnType: void
    signature: void FinishedSingleOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: leveldb::Stats::AddBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddBytes(int64_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:263,1
    - Dst: AppendWithSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:267,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:269,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:269,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:270,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:270,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:272,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:272,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: leveldb::Stats::Report
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ToString
    - std::string::empty
    - AppendWithSpace
    - fprintf
    - fflush
    - snprintf
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Report(const Slice& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - total
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: leveldb::SharedState
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SharedState(int total)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: leveldb::ThreadState
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadState(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintEnvironment
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:324,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:325,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:326,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:328,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:329,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:330,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:331,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:333,1
    - Dst: leveldb::Benchmark::PrintWarnings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:336,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 338
    functionName: leveldb::Benchmark::PrintHeader
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 4
    functionsReached:
    - leveldb::Benchmark::PrintEnvironment
    - static_cast<int>
    - fprintf
    - leveldb::Benchmark::PrintWarnings
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void PrintHeader()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:342,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:347,1
    - Dst: leveldb::port::Snappy_Compress
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:354,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:355,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:356,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: leveldb::Benchmark::PrintWarnings
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 5
    functionsReached:
    - fprintf
    - std::string::size
    - leveldb::port::Snappy_Compress
    linkageType: ''
    returnType: void
    signature: void PrintWarnings()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:362,1
    - Dst: time
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:366,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:367,1
    - Dst: ctime
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:367,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:369,1
    - Dst: fgets
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:375,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:376,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:380,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:380,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:381,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:381,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:384,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:386,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:389,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:390,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:390,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:391,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 394
    functionName: leveldb::Benchmark::PrintEnvironment
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 5
    functionsReached:
    - Slice
    - TrimSpace
    - time
    - strchr
    - fopen
    - fprintf
    - ctime
    - fclose
    - fgets
    - Slice::ToString
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void PrintEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:398,1
    - Dst: NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:400,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:409,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:410,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:411,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:412,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:412,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:416,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 418
    functionName: leveldb::Benchmark::Benchmark
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - Slice
    - DeleteFile
    - GetChildren
    - NewLRUCache
    - std::string
    - DestroyDB
    - Options
    - NewBloomFilterPolicy
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Benchmark()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: ~Benchmark()
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Benchmark()
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintHeader
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:427,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:428,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:432,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:438,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:447,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:453,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:457,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:460,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:464,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:467,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:470,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:475,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:480,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:482,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:484,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:486,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:488,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:490,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:492,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:495,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:497,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:499,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:502,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:504,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:506,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:508,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:510,1
    - Dst: leveldb::Benchmark::HeapProfile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:511,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:512,1
    - Dst: leveldb::Benchmark::PrintStats
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:513,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:514,1
    - Dst: leveldb::Benchmark::PrintStats
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:515,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:517,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:518,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:518,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:524,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:525,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:530,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:530,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:531,1
    - Dst: leveldb::Benchmark::RunBenchmark
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:536,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 123
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 539
    functionName: leveldb::Benchmark::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - WriteOptions
    - Slice
    - leveldb::Benchmark::RunBenchmark
    - strchr
    - leveldb::Benchmark::PrintHeader
    - DestroyDB
    - leveldb::Benchmark::PrintStats
    - fprintf
    - Options
    - leveldb::Benchmark::Open
    - leveldb::Benchmark::HeapProfile
    - Slice::ToString
    - Slice::empty
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ThreadArg*>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:550,1
    - Dst: SharedState*::cv::SignalAll
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:557,1
    - Dst: SharedState*::cv::Wait
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:560,1
    - Dst: ThreadState*::stats::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:564,1
    - Dst: ThreadState*::stats::Stop
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:566,1
    - Dst: SharedState*::cv::SignalAll
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 575
    functionName: leveldb::Benchmark::ThreadBody
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - SharedState*::cv::SignalAll
    - ThreadState*::stats::Start
    - reinterpret_cast<ThreadArg*>
    - SharedState*::cv::Wait
    - ThreadState*::stats::Stop
    linkageType: ''
    returnType: void
    signature: void ThreadBody(void* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadArg::ThreadArg
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:581,1
    - Dst: ThreadState::ThreadState
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:586,1
    - Dst: StartThread
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:588,1
    - Dst: SharedState::mu::Lock
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:591,1
    - Dst: SharedState::cv::Wait
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:593,1
    - Dst: SharedState::cv::SignalAll
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:597,1
    - Dst: SharedState::cv::Wait
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:599,1
    - Dst: SharedState::mu::Unlock
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:601,1
    - Dst: thread::stats::Merge
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:604,1
    - Dst: thread::stats::Report
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - n
    - name
    argTypes:
    - int
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 612
    functionName: leveldb::Benchmark::RunBenchmark
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 1
    functionsReached:
    - SharedState::mu::Unlock
    - thread::stats::Merge
    - thread::stats::Report
    - SharedState::cv::SignalAll
    - SharedState::cv::Wait
    - ThreadState::ThreadState
    - ThreadArg::ThreadArg
    - StartThread
    - SharedState::mu::Lock
    linkageType: ''
    returnType: void
    signature: "void RunBenchmark(int n, Slice name,\n                    void (Benchmark::*method)(ThreadState*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:622,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:622,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:623,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:627,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:627,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:629,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 614
    functionDepth: 5
    functionLinenumber: 614
    functionLinenumberEnd: 631
    functionName: leveldb::Benchmark::Crc32c
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::stats::AddMessage
    - std::string::data
    - ThreadState*::stats::FinishedSingleOp
    - fprintf
    - static_cast<unsigned int>
    - leveldb::crc32c::Value
    - ThreadState*::stats::AddBytes
    linkageType: ''
    returnType: void
    signature: void Crc32c(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomGenerator::Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:635,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:635,1
    - Dst: leveldb::port::Snappy_Compress
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:641,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:641,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:641,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:642,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:643,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:644,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:648,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:651,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:653,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 656
    functionName: leveldb::Benchmark::SnappyCompress
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::stats::AddMessage
    - std::string::size
    - ThreadState*::stats::FinishedSingleOp
    - Slice::data
    - RandomGenerator::Generate
    - Slice::size
    - Options
    - snprintf
    - leveldb::port::Snappy_Compress
    - ThreadState*::stats::AddBytes
    linkageType: ''
    returnType: void
    signature: void SnappyCompress(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomGenerator::Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:660,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:660,1
    - Dst: leveldb::port::Snappy_Compress
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:662,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:662,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:662,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:664,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:664,1
    - Dst: leveldb::port::Snappy_Uncompress
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:666,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:666,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:666,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:668,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:669,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:674,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 678
    functionName: leveldb::Benchmark::SnappyUncompress
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::stats::AddMessage
    - std::string::size
    - std::string::data
    - ThreadState*::stats::FinishedSingleOp
    - Slice::data
    - RandomGenerator::Generate
    - Slice::size
    - Options
    - char::char
    - leveldb::port::Snappy_Compress
    - ThreadState*::stats::AddBytes
    - leveldb::port::Snappy_Uncompress
    linkageType: ''
    returnType: void
    signature: void SnappyUncompress(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:681,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:692,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:693,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:694,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:694,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (db_ == nullptr)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    constantsTouched: []
    func_position:
      end: 697
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 697
    functionName: leveldb::Benchmark::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 9
    functionsReached:
    - fprintf
    - leveldb::DB::Open
    - Status::ToString
    - exit
    - assert
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void Open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:702,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 705
    functionName: leveldb::Benchmark::OpenBench
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::Open
    - ThreadState*::stats::FinishedSingleOp
    linkageType: ''
    returnType: void
    signature: void OpenBench(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::DoWrite
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 707
    functionName: leveldb::Benchmark::WriteSeq
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::DoWrite
    linkageType: ''
    returnType: void
    signature: void WriteSeq(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::DoWrite
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 709
    functionName: leveldb::Benchmark::WriteRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::DoWrite
    linkageType: ''
    returnType: void
    signature: void WriteRandom(ThreadState* thread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:714,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:715,1
    - Dst: WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:723,1
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:725,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:727,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:728,1
    - Dst: RandomGenerator::Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:728,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:729,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:730,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:732,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:733,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:734,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:734,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:735,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - thread
    - seq
    argTypes:
    - ThreadState*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 739
    functionName: leveldb::Benchmark::DoWrite
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - ThreadState*::stats::AddMessage
    - strlen
    - ThreadState*::stats::AddBytes
    - leveldb::Benchmark::Write
    - ThreadState*::stats::FinishedSingleOp
    - ThreadState*::rand::Next
    - exit
    - RandomGenerator::Generate
    - fprintf
    - snprintf
    - Status::ToString
    - WriteBatch::Clear
    - WriteBatch::Put
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void DoWrite(ThreadState* thread, bool seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:742,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:742,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:745,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:745,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:745,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:746,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:746,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:747,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 752
    functionName: leveldb::Benchmark::ReadSequential
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 4
    functionsReached:
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - ReadOptions
    - ThreadState*::stats::FinishedSingleOp
    - NewIterator
    - Iterator*::key
    - Iterator*::Next
    - ThreadState*::stats::AddBytes
    linkageType: ''
    returnType: void
    signature: void ReadSequential(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:755,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:755,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:758,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:758,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:758,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:759,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:759,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:760,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 765
    functionName: leveldb::Benchmark::ReadReverse
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - Iterator*::Valid
    - Iterator*::value
    - ThreadState*::stats::FinishedSingleOp
    - ReadOptions
    - Iterator*::Prev
    - NewIterator
    - Iterator*::key
    - ThreadState*::stats::AddBytes
    - Iterator*::SeekToLast
    linkageType: ''
    returnType: void
    signature: void ReadReverse(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:773,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:774,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:775,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:778,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:781,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 783
    functionName: leveldb::Benchmark::ReadRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - ThreadState*::stats::AddMessage
    - ThreadState*::stats::FinishedSingleOp
    - ThreadState*::rand::Next
    - snprintf
    - Get
    linkageType: ''
    returnType: void
    signature: void ReadRandom(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:790,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:791,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:792,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 795
    functionName: leveldb::Benchmark::ReadMissing
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::rand::Next
    - ThreadState*::stats::FinishedSingleOp
    - snprintf
    - Get
    linkageType: ''
    returnType: void
    signature: void ReadMissing(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:803,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:804,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:805,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 808
    functionName: leveldb::Benchmark::ReadHot
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::rand::Next
    - ThreadState*::stats::FinishedSingleOp
    - snprintf
    - Get
    linkageType: ''
    returnType: void
    signature: void ReadHot(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:814,1
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:816,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:817,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:818,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:819,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:819,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:821,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:824,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 826
    functionName: leveldb::Benchmark::SeekRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::stats::AddMessage
    - Iterator*::Valid
    - ThreadState*::rand::Next
    - ThreadState*::stats::FinishedSingleOp
    - NewIterator
    - Iterator*::Seek
    - Iterator*::key
    - snprintf
    linkageType: ''
    returnType: void
    signature: void SeekRandom(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:833,1
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:835,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:837,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:838,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:839,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:841,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:842,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:843,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:843,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - thread
    - seq
    argTypes:
    - ThreadState*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 847
    functionName: leveldb::Benchmark::DoDelete
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::Write
    - ThreadState*::stats::FinishedSingleOp
    - ThreadState*::rand::Next
    - fprintf
    - snprintf
    - WriteBatch::Delete
    - Status::ToString
    - WriteBatch::Clear
    - exit
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void DoDelete(ThreadState* thread, bool seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::DoDelete
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 849
    functionName: leveldb::Benchmark::DeleteSeq
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::DoDelete
    linkageType: ''
    returnType: void
    signature: void DeleteSeq(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::DoDelete
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 851
    functionName: leveldb::Benchmark::DeleteRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::DoDelete
    linkageType: ''
    returnType: void
    signature: void DeleteRandom(ThreadState* thread)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::ReadRandom
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:855,1
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:868,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:870,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:871,1
    - Dst: RandomGenerator::Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:871,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:872,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:873,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:873,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:874,1
    - Dst: ThreadState*::stats::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 881
    functionName: leveldb::Benchmark::ReadWhileWriting
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::rand::Next
    - ThreadState*::stats::Start
    - Put
    - RandomGenerator::Generate
    - fprintf
    - snprintf
    - leveldb::Benchmark::ReadRandom
    - Status::ToString
    - exit
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void ReadWhileWriting(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompactRange
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 883
    functionName: leveldb::Benchmark::Compact
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - CompactRange
    linkageType: ''
    returnType: void
    signature: void Compact(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:887,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:890,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 891
    functionName: leveldb::Benchmark::PrintStats
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - fprintf
    - GetProperty
    linkageType: ''
    returnType: void
    signature: void PrintStats(const char* key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<WritableFile*>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:894,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - buf
    - n
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 895
    functionName: leveldb::Benchmark::WriteToFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<WritableFile*>
    - Slice
    linkageType: ''
    returnType: void
    signature: void WriteToFile(void* arg, const char* buf, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:899,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:901,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:902,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:903,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:903,1
    - Dst: leveldb::port::GetHeapProfile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:906,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:909,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 912
    functionName: leveldb::Benchmark::HeapProfile
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 1
    functionsReached:
    - DeleteFile
    - leveldb::port::GetHeapProfile
    - NewWritableFile
    - fprintf
    - snprintf
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void HeapProfile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:132,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:135,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:142,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:144,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:144,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:147,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:154,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:154,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:157,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:158,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:161,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:166,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:167,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:168,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - msg
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: leveldb::AppendWithSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - std::string*::empty
    - Slice::data
    - Slice::size
    - std::string*::append
    - std::string*::push_back
    - Slice::empty
    linkageType: ''
    returnType: void
    signature: void AppendWithSpace(std::string* str, Slice msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Stats::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: leveldb::Stats::Stats
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Stats::Start
    linkageType: ''
    returnType: void
    signature: void Stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:190,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:194,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: leveldb::Stats::Start
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 3
    functionsReached:
    - NowMicros
    - clear
    - Clear
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Stats::Merge
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:199,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: leveldb::Stats::Merge
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 3
    functionsReached:
    - leveldb::Stats::Merge
    - empty
    linkageType: ''
    returnType: void
    signature: void Merge(const Stats& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: leveldb::Stats::Stop
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - NowMicros
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendWithSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: leveldb::Stats::AddMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - AppendWithSpace
    linkageType: ''
    returnType: void
    signature: void AddMessage(Slice msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:219,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:221,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:223,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:224,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:245,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 248
    functionName: leveldb::Stats::FinishedSingleOp
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - NowMicros
    - fflush
    - fprintf
    - Add
    linkageType: ''
    returnType: void
    signature: void FinishedSingleOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: leveldb::Stats::AddBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddBytes(int64_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:263,1
    - Dst: AppendWithSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:267,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:269,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:269,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:270,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:270,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:272,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:272,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: leveldb::Stats::Report
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ToString
    - std::string::empty
    - AppendWithSpace
    - fprintf
    - fflush
    - snprintf
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Report(const Slice& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - total
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: leveldb::SharedState
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SharedState(int total)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: leveldb::ThreadState
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadState(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:132,1
    - Dst: leveldb::test::CompressibleString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:135,1
    - Dst: append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: leveldb::RandomGenerator::RandomGenerator
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - append
    - leveldb::test::CompressibleString
    - size
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:142,1
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:144,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:144,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:147,1
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts:
    - condition: (len < data_.size())
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: leveldb::RandomGenerator::Generate
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - data
    - Slice
    - assert
    - size
    linkageType: ''
    returnType: Slice
    signature: Slice Generate(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:154,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:154,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:157,1
    - Dst: isspace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:158,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:161,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: leveldb::TrimSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - isspace
    - Slice::size
    - leveldb::Slice
    - Slice::data
    linkageType: ''
    returnType: Slice
    signature: Slice TrimSpace(Slice s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:166,1
    - Dst: std::string*::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:167,1
    - Dst: std::string*::push_back
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:168,1
    - Dst: std::string*::append
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - msg
    argTypes:
    - std::string*
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: leveldb::AppendWithSpace
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - std::string*::empty
    - Slice::data
    - Slice::size
    - std::string*::append
    - std::string*::push_back
    - Slice::empty
    linkageType: ''
    returnType: void
    signature: void AppendWithSpace(std::string* str, Slice msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Stats::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: leveldb::Stats::Stats
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Stats::Start
    linkageType: ''
    returnType: void
    signature: void Stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:190,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:194,1
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: leveldb::Stats::Start
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 4
    functionsReached:
    - NowMicros
    - clear
    - Clear
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Stats::Merge
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:199,1
    - Dst: empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: leveldb::Stats::Merge
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 4
    functionsReached:
    - leveldb::Stats::Merge
    - empty
    linkageType: ''
    returnType: void
    signature: void Merge(const Stats& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: leveldb::Stats::Stop
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - NowMicros
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendWithSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: leveldb::Stats::AddMessage
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - AppendWithSpace
    linkageType: ''
    returnType: void
    signature: void AddMessage(Slice msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NowMicros
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:219,1
    - Dst: Add
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:221,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:223,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:224,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:245,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 248
    functionName: leveldb::Stats::FinishedSingleOp
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - NowMicros
    - fflush
    - fprintf
    - Add
    linkageType: ''
    returnType: void
    signature: void FinishedSingleOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: leveldb::Stats::AddBytes
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddBytes(int64_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:263,1
    - Dst: AppendWithSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:267,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:269,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:269,1
    - Dst: std::string::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:270,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:270,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:272,1
    - Dst: ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:272,1
    - Dst: fflush
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: leveldb::Stats::Report
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ToString
    - std::string::empty
    - AppendWithSpace
    - fprintf
    - fflush
    - snprintf
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Report(const Slice& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - total
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: leveldb::SharedState
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SharedState(int total)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: leveldb::ThreadState
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadState(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintEnvironment
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:324,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:325,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:326,1
    - Dst: static_cast<int>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:328,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:329,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:330,1
    - Dst: static_cast<int64_t>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:331,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:333,1
    - Dst: leveldb::Benchmark::PrintWarnings
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:336,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 338
    functionName: leveldb::Benchmark::PrintHeader
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 5
    functionsReached:
    - leveldb::Benchmark::PrintEnvironment
    - static_cast<int>
    - fprintf
    - leveldb::Benchmark::PrintWarnings
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void PrintHeader()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:342,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:347,1
    - Dst: leveldb::port::Snappy_Compress
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:354,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:355,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:356,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: leveldb::Benchmark::PrintWarnings
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 6
    functionsReached:
    - fprintf
    - std::string::size
    - leveldb::port::Snappy_Compress
    linkageType: ''
    returnType: void
    signature: void PrintWarnings()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:362,1
    - Dst: time
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:366,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:367,1
    - Dst: ctime
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:367,1
    - Dst: fopen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:369,1
    - Dst: fgets
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:375,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:376,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:380,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:380,1
    - Dst: TrimSpace
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:381,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:381,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:384,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:386,1
    - Dst: fclose
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:389,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:390,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:390,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:391,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 394
    functionName: leveldb::Benchmark::PrintEnvironment
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 6
    functionsReached:
    - Slice
    - TrimSpace
    - time
    - strchr
    - fopen
    - fprintf
    - ctime
    - fclose
    - fgets
    - Slice::ToString
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void PrintEnvironment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NewLRUCache
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:398,1
    - Dst: NewBloomFilterPolicy
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:400,1
    - Dst: GetChildren
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:409,1
    - Dst: std::vector::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:410,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:411,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:412,1
    - Dst: std::string
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:412,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:416,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 418
    functionName: leveldb::Benchmark::Benchmark
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - Slice
    - DeleteFile
    - GetChildren
    - NewLRUCache
    - std::string
    - DestroyDB
    - Options
    - NewBloomFilterPolicy
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Benchmark()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: ~Benchmark()
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Benchmark()
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::PrintHeader
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:427,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:428,1
    - Dst: strchr
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:432,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:438,1
    - Dst: WriteOptions
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:447,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:453,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:457,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:460,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:464,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:467,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:470,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:475,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:480,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:482,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:484,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:486,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:488,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:490,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:492,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:495,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:497,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:499,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:502,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:504,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:506,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:508,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:510,1
    - Dst: leveldb::Benchmark::HeapProfile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:511,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:512,1
    - Dst: leveldb::Benchmark::PrintStats
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:513,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:514,1
    - Dst: leveldb::Benchmark::PrintStats
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:515,1
    - Dst: Slice::empty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:517,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:518,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:518,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:524,1
    - Dst: Slice::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:525,1
    - Dst: DestroyDB
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:530,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:530,1
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:531,1
    - Dst: leveldb::Benchmark::RunBenchmark
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:536,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 123
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 539
    functionName: leveldb::Benchmark::Run
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - WriteOptions
    - Slice
    - leveldb::Benchmark::RunBenchmark
    - strchr
    - leveldb::Benchmark::PrintHeader
    - DestroyDB
    - leveldb::Benchmark::PrintStats
    - fprintf
    - Options
    - leveldb::Benchmark::Open
    - leveldb::Benchmark::HeapProfile
    - Slice::ToString
    - Slice::empty
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ThreadArg*>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:550,1
    - Dst: SharedState*::cv::SignalAll
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:557,1
    - Dst: SharedState*::cv::Wait
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:560,1
    - Dst: ThreadState*::stats::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:564,1
    - Dst: ThreadState*::stats::Stop
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:566,1
    - Dst: SharedState*::cv::SignalAll
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 575
    functionName: leveldb::Benchmark::ThreadBody
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - SharedState*::cv::SignalAll
    - ThreadState*::stats::Start
    - reinterpret_cast<ThreadArg*>
    - SharedState*::cv::Wait
    - ThreadState*::stats::Stop
    linkageType: ''
    returnType: void
    signature: void ThreadBody(void* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadArg::ThreadArg
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:581,1
    - Dst: ThreadState::ThreadState
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:586,1
    - Dst: StartThread
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:588,1
    - Dst: SharedState::mu::Lock
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:591,1
    - Dst: SharedState::cv::Wait
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:593,1
    - Dst: SharedState::cv::SignalAll
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:597,1
    - Dst: SharedState::cv::Wait
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:599,1
    - Dst: SharedState::mu::Unlock
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:601,1
    - Dst: thread::stats::Merge
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:604,1
    - Dst: thread::stats::Report
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - n
    - name
    argTypes:
    - int
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 612
    functionName: leveldb::Benchmark::RunBenchmark
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - SharedState::mu::Unlock
    - thread::stats::Merge
    - thread::stats::Report
    - SharedState::cv::SignalAll
    - SharedState::cv::Wait
    - ThreadState::ThreadState
    - ThreadArg::ThreadArg
    - StartThread
    - SharedState::mu::Lock
    linkageType: ''
    returnType: void
    signature: "void RunBenchmark(int n, Slice name,\n                    void (Benchmark::*method)(ThreadState*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::crc32c::Value
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:622,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:622,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:623,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:627,1
    - Dst: static_cast<unsigned int>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:627,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:629,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 614
    functionDepth: 5
    functionLinenumber: 614
    functionLinenumberEnd: 631
    functionName: leveldb::Benchmark::Crc32c
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::stats::AddMessage
    - std::string::data
    - ThreadState*::stats::FinishedSingleOp
    - fprintf
    - static_cast<unsigned int>
    - leveldb::crc32c::Value
    - ThreadState*::stats::AddBytes
    linkageType: ''
    returnType: void
    signature: void Crc32c(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomGenerator::Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:635,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:635,1
    - Dst: leveldb::port::Snappy_Compress
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:641,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:641,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:641,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:642,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:643,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:644,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:648,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:651,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:653,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 656
    functionName: leveldb::Benchmark::SnappyCompress
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::stats::AddMessage
    - std::string::size
    - ThreadState*::stats::FinishedSingleOp
    - Slice::data
    - RandomGenerator::Generate
    - Slice::size
    - Options
    - snprintf
    - leveldb::port::Snappy_Compress
    - ThreadState*::stats::AddBytes
    linkageType: ''
    returnType: void
    signature: void SnappyCompress(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RandomGenerator::Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:660,1
    - Dst: Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:660,1
    - Dst: leveldb::port::Snappy_Compress
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:662,1
    - Dst: Slice::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:662,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:662,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:664,1
    - Dst: char::char
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:664,1
    - Dst: leveldb::port::Snappy_Uncompress
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:666,1
    - Dst: std::string::data
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:666,1
    - Dst: std::string::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:666,1
    - Dst: Slice::size
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:668,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:669,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:674,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 678
    functionName: leveldb::Benchmark::SnappyUncompress
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::stats::AddMessage
    - std::string::size
    - std::string::data
    - ThreadState*::stats::FinishedSingleOp
    - Slice::data
    - RandomGenerator::Generate
    - Slice::size
    - Options
    - char::char
    - leveldb::port::Snappy_Compress
    - ThreadState*::stats::AddBytes
    - leveldb::port::Snappy_Uncompress
    linkageType: ''
    returnType: void
    signature: void SnappyUncompress(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:681,1
    - Dst: leveldb::DB::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:692,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:693,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:694,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:694,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (db_ == nullptr)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    constantsTouched: []
    func_position:
      end: 697
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 697
    functionName: leveldb::Benchmark::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 11
    functionsReached:
    - fprintf
    - leveldb::DB::Open
    - Status::ToString
    - exit
    - assert
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void Open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::Open
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:702,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 705
    functionName: leveldb::Benchmark::OpenBench
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::Open
    - ThreadState*::stats::FinishedSingleOp
    linkageType: ''
    returnType: void
    signature: void OpenBench(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::DoWrite
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 707
    functionDepth: 3
    functionLinenumber: 707
    functionLinenumberEnd: 707
    functionName: leveldb::Benchmark::WriteSeq
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::DoWrite
    linkageType: ''
    returnType: void
    signature: void WriteSeq(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::DoWrite
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 709
    functionName: leveldb::Benchmark::WriteRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::DoWrite
    linkageType: ''
    returnType: void
    signature: void WriteRandom(ThreadState* thread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:714,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:715,1
    - Dst: WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:723,1
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:725,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:727,1
    - Dst: WriteBatch::Put
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:728,1
    - Dst: RandomGenerator::Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:728,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:729,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:730,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:732,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:733,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:734,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:734,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:735,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - thread
    - seq
    argTypes:
    - ThreadState*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 739
    functionName: leveldb::Benchmark::DoWrite
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 4
    functionsReached:
    - ThreadState*::stats::AddMessage
    - strlen
    - ThreadState*::stats::AddBytes
    - leveldb::Benchmark::Write
    - ThreadState*::stats::FinishedSingleOp
    - ThreadState*::rand::Next
    - exit
    - RandomGenerator::Generate
    - fprintf
    - snprintf
    - Status::ToString
    - WriteBatch::Clear
    - WriteBatch::Put
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void DoWrite(ThreadState* thread, bool seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:742,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:742,1
    - Dst: Iterator*::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:745,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:745,1
    - Dst: Iterator*::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:745,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:746,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:746,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:747,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 752
    functionName: leveldb::Benchmark::ReadSequential
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 4
    functionsReached:
    - Iterator*::Valid
    - Iterator*::value
    - Iterator*::SeekToFirst
    - ReadOptions
    - ThreadState*::stats::FinishedSingleOp
    - NewIterator
    - Iterator*::key
    - Iterator*::Next
    - ThreadState*::stats::AddBytes
    linkageType: ''
    returnType: void
    signature: void ReadSequential(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:755,1
    - Dst: ReadOptions
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:755,1
    - Dst: Iterator*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:758,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:758,1
    - Dst: Iterator*::Prev
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:758,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:759,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:759,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:760,1
    - Dst: ThreadState*::stats::AddBytes
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 765
    functionName: leveldb::Benchmark::ReadReverse
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - Iterator*::Valid
    - Iterator*::value
    - ThreadState*::stats::FinishedSingleOp
    - ReadOptions
    - Iterator*::Prev
    - NewIterator
    - Iterator*::key
    - ThreadState*::stats::AddBytes
    - Iterator*::SeekToLast
    linkageType: ''
    returnType: void
    signature: void ReadReverse(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:773,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:774,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:775,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:778,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:781,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 783
    functionName: leveldb::Benchmark::ReadRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 3
    functionsReached:
    - ThreadState*::stats::AddMessage
    - ThreadState*::stats::FinishedSingleOp
    - ThreadState*::rand::Next
    - snprintf
    - Get
    linkageType: ''
    returnType: void
    signature: void ReadRandom(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:790,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:791,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:792,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 795
    functionName: leveldb::Benchmark::ReadMissing
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::rand::Next
    - ThreadState*::stats::FinishedSingleOp
    - snprintf
    - Get
    linkageType: ''
    returnType: void
    signature: void ReadMissing(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:803,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:804,1
    - Dst: Get
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:805,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 808
    functionName: leveldb::Benchmark::ReadHot
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::rand::Next
    - ThreadState*::stats::FinishedSingleOp
    - snprintf
    - Get
    linkageType: ''
    returnType: void
    signature: void ReadHot(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NewIterator
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:814,1
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:816,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:817,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:818,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:819,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:819,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:821,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:824,1
    - Dst: ThreadState*::stats::AddMessage
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 826
    functionName: leveldb::Benchmark::SeekRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::stats::AddMessage
    - Iterator*::Valid
    - ThreadState*::rand::Next
    - ThreadState*::stats::FinishedSingleOp
    - NewIterator
    - Iterator*::Seek
    - Iterator*::key
    - snprintf
    linkageType: ''
    returnType: void
    signature: void SeekRandom(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBatch::Clear
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:833,1
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:835,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:837,1
    - Dst: WriteBatch::Delete
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:838,1
    - Dst: ThreadState*::stats::FinishedSingleOp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:839,1
    - Dst: leveldb::Benchmark::Write
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:841,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:842,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:843,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:843,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - thread
    - seq
    argTypes:
    - ThreadState*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 847
    functionName: leveldb::Benchmark::DoDelete
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - leveldb::Benchmark::Write
    - ThreadState*::stats::FinishedSingleOp
    - ThreadState*::rand::Next
    - fprintf
    - snprintf
    - WriteBatch::Delete
    - Status::ToString
    - WriteBatch::Clear
    - exit
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void DoDelete(ThreadState* thread, bool seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::DoDelete
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 849
    functionName: leveldb::Benchmark::DeleteSeq
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::DoDelete
    linkageType: ''
    returnType: void
    signature: void DeleteSeq(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::DoDelete
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 851
    functionName: leveldb::Benchmark::DeleteRandom
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - leveldb::Benchmark::DoDelete
    linkageType: ''
    returnType: void
    signature: void DeleteRandom(ThreadState* thread)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Benchmark::ReadRandom
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:855,1
    - Dst: ThreadState*::rand::Next
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:868,1
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:870,1
    - Dst: Put
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:871,1
    - Dst: RandomGenerator::Generate
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:871,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:872,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:873,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:873,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:874,1
    - Dst: ThreadState*::stats::Start
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 881
    functionName: leveldb::Benchmark::ReadWhileWriting
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - ThreadState*::rand::Next
    - ThreadState*::stats::Start
    - Put
    - RandomGenerator::Generate
    - fprintf
    - snprintf
    - leveldb::Benchmark::ReadRandom
    - Status::ToString
    - exit
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void ReadWhileWriting(ThreadState* thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompactRange
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ThreadState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 883
    functionName: leveldb::Benchmark::Compact
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - CompactRange
    linkageType: ''
    returnType: void
    signature: void Compact(ThreadState* thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetProperty
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:887,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:890,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 891
    functionName: leveldb::Benchmark::PrintStats
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - std::string::c_str
    - fprintf
    - GetProperty
    linkageType: ''
    returnType: void
    signature: void PrintStats(const char* key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<WritableFile*>
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:894,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - buf
    - n
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 895
    functionName: leveldb::Benchmark::WriteToFile
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<WritableFile*>
    - Slice
    linkageType: ''
    returnType: void
    signature: void WriteToFile(void* arg, const char* buf, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:899,1
    - Dst: NewWritableFile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:901,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:902,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:903,1
    - Dst: Status::ToString
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:903,1
    - Dst: leveldb::port::GetHeapProfile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:906,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:909,1
    - Dst: DeleteFile
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 912
    functionName: leveldb::Benchmark::HeapProfile
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 2
    functionsReached:
    - DeleteFile
    - leveldb::port::GetHeapProfile
    - NewWritableFile
    - fprintf
    - snprintf
    - Status::ToString
    - Status::ok
    linkageType: ''
    returnType: void
    signature: void HeapProfile()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:918,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:919,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:920,1
    - Dst: leveldb::Options
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:921,1
    - Dst: leveldb::Slice
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:928,1
    - Dst: strlen
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:929,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:930,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:932,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:935,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:938,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:941,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:943,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:945,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:947,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:949,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:951,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:953,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:955,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:957,1
    - Dst: sscanf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:959,1
    - Dst: strncmp
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:961,1
    - Dst: fprintf
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:964,1
    - Dst: exit
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:965,1
    - Dst: leveldb::Env::Default
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:969,1
    - Dst: GetTestDirectory
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:973,1
    - Dst: std::string::c_str
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:975,1
    - Dst: leveldb::Benchmark::Benchmark
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:978,1
    - Dst: leveldb::Benchmark::Run
      Src: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc:979,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 981
    functionName: main
    functionSourceFile: /src/bitcoin-core/src/leveldb/benchmarks/db_bench.cc
    functionUses: 1
    functionsReached:
    - strlen
    - leveldb::Slice
    - GetTestDirectory
    - leveldb::Benchmark::Run
    - strncmp
    - fprintf
    - leveldb::Options
    - sscanf
    - std::string::c_str
    - exit
    - leveldb::Benchmark::Benchmark
    - leveldb::Env::Default
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper::IteratorWrapper
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:18,1
    - Dst: Set
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - comparator
    - children
    - n
    argTypes:
    - Comparator*
    - Iterator**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: leveldb::MergingIterator::MergingIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached:
    - Set
    - IteratorWrapper::IteratorWrapper
    linkageType: ''
    returnType: void
    signature: void MergingIterator(const Comparator* comparator, Iterator** children,
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~MergingIterator() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MergingIterator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: leveldb::MergingIterator::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:33,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: leveldb::MergingIterator::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 1
    functionsReached:
    - leveldb::MergingIterator::SeekToFirst
    - leveldb::MergingIterator::FindSmallest
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:41,1
    - Dst: leveldb::MergingIterator::FindLargest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: leveldb::MergingIterator::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 1
    functionsReached:
    - leveldb::MergingIterator::SeekToLast
    - leveldb::MergingIterator::FindLargest
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:49,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: leveldb::MergingIterator::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 1
    functionsReached:
    - leveldb::MergingIterator::FindSmallest
    - leveldb::MergingIterator::Seek
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& target) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:56,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:56,1
    - Dst: IteratorWrapper*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:67,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:67,1
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:68,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: IteratorWrapper*::Next
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:70,1
    - Dst: leveldb::MergingIterator::Next
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:77,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: leveldb::MergingIterator::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 1
    functionsReached:
    - IteratorWrapper*::Valid
    - IteratorWrapper*::Next
    - IteratorWrapper*::Seek
    - leveldb::MergingIterator::Valid
    - Compare
    - leveldb::MergingIterator::key
    - leveldb::MergingIterator::FindSmallest
    - IteratorWrapper*::key
    - assert
    - leveldb::MergingIterator::Next
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:82,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:82,1
    - Dst: IteratorWrapper*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:93,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:93,1
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:94,1
    - Dst: IteratorWrapper*::Prev
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:96,1
    - Dst: IteratorWrapper*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:99,1
    - Dst: leveldb::MergingIterator::Prev
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:106,1
    - Dst: leveldb::MergingIterator::FindLargest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: leveldb::MergingIterator::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 1
    functionsReached:
    - IteratorWrapper*::Valid
    - IteratorWrapper*::Seek
    - IteratorWrapper*::Prev
    - leveldb::MergingIterator::Valid
    - leveldb::MergingIterator::FindLargest
    - IteratorWrapper*::SeekToLast
    - leveldb::MergingIterator::key
    - assert
    - leveldb::MergingIterator::Prev
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:111,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:111,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: leveldb::MergingIterator::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 3
    functionsReached:
    - leveldb::MergingIterator::key
    - assert
    - leveldb::MergingIterator::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:116,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:116,1
    - Dst: leveldb::MergingIterator::value
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: leveldb::MergingIterator::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 1
    functionsReached:
    - leveldb::MergingIterator::value
    - assert
    - leveldb::MergingIterator::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::status
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:123,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: leveldb::MergingIterator::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 1
    functionsReached:
    - leveldb::MergingIterator::status
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:152,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: leveldb::MergingIterator::FindSmallest
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 3
    functionsReached:
    - Compare
    - IteratorWrapper*::key
    - IteratorWrapper*::Valid
    linkageType: ''
    returnType: void
    signature: void MergingIterator::FindSmallest()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:167,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: leveldb::MergingIterator::FindLargest
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 2
    functionsReached:
    - Compare
    - IteratorWrapper*::key
    - IteratorWrapper*::Valid
    linkageType: ''
    returnType: void
    signature: void MergingIterator::FindLargest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper::IteratorWrapper
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:18,1
    - Dst: Set
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - comparator
    - children
    - n
    argTypes:
    - Comparator*
    - Iterator**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: leveldb::MergingIterator::MergingIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached:
    - Set
    - IteratorWrapper::IteratorWrapper
    linkageType: ''
    returnType: void
    signature: void MergingIterator(const Comparator* comparator, Iterator** children,
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~MergingIterator() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MergingIterator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: leveldb::MergingIterator::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:33,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: leveldb::MergingIterator::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 2
    functionsReached:
    - leveldb::MergingIterator::SeekToFirst
    - leveldb::MergingIterator::FindSmallest
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:41,1
    - Dst: leveldb::MergingIterator::FindLargest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: leveldb::MergingIterator::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 2
    functionsReached:
    - leveldb::MergingIterator::SeekToLast
    - leveldb::MergingIterator::FindLargest
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:49,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: leveldb::MergingIterator::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 2
    functionsReached:
    - leveldb::MergingIterator::FindSmallest
    - leveldb::MergingIterator::Seek
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& target) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:56,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:56,1
    - Dst: IteratorWrapper*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:67,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:67,1
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:68,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: IteratorWrapper*::Next
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:70,1
    - Dst: leveldb::MergingIterator::Next
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:77,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: leveldb::MergingIterator::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 2
    functionsReached:
    - IteratorWrapper*::Valid
    - IteratorWrapper*::Next
    - IteratorWrapper*::Seek
    - leveldb::MergingIterator::Valid
    - Compare
    - leveldb::MergingIterator::key
    - leveldb::MergingIterator::FindSmallest
    - IteratorWrapper*::key
    - assert
    - leveldb::MergingIterator::Next
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:82,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:82,1
    - Dst: IteratorWrapper*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:93,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:93,1
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:94,1
    - Dst: IteratorWrapper*::Prev
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:96,1
    - Dst: IteratorWrapper*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:99,1
    - Dst: leveldb::MergingIterator::Prev
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:106,1
    - Dst: leveldb::MergingIterator::FindLargest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: leveldb::MergingIterator::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 2
    functionsReached:
    - IteratorWrapper*::Valid
    - IteratorWrapper*::Seek
    - IteratorWrapper*::Prev
    - leveldb::MergingIterator::Valid
    - leveldb::MergingIterator::FindLargest
    - IteratorWrapper*::SeekToLast
    - leveldb::MergingIterator::key
    - assert
    - leveldb::MergingIterator::Prev
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:111,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:111,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: leveldb::MergingIterator::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 6
    functionsReached:
    - leveldb::MergingIterator::key
    - assert
    - leveldb::MergingIterator::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:116,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:116,1
    - Dst: leveldb::MergingIterator::value
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: leveldb::MergingIterator::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 2
    functionsReached:
    - leveldb::MergingIterator::value
    - assert
    - leveldb::MergingIterator::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::status
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:123,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: leveldb::MergingIterator::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 2
    functionsReached:
    - leveldb::MergingIterator::status
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:152,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: leveldb::MergingIterator::FindSmallest
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 6
    functionsReached:
    - Compare
    - IteratorWrapper*::key
    - IteratorWrapper*::Valid
    linkageType: ''
    returnType: void
    signature: void MergingIterator::FindSmallest()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:167,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: leveldb::MergingIterator::FindLargest
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 4
    functionsReached:
    - Compare
    - IteratorWrapper*::key
    - IteratorWrapper*::Valid
    linkageType: ''
    returnType: void
    signature: void MergingIterator::FindLargest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:181,1
    - Dst: leveldb::NewEmptyIterator
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:183,1
    - Dst: MergingIterator::MergingIterator
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - comparator
    - children
    - n
    argTypes:
    - Comparator*
    - Iterator**
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: leveldb::NewMergingIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached:
    - MergingIterator::MergingIterator
    - assert
    - leveldb::NewEmptyIterator
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * NewMergingIterator(const Comparator* comparator, Iterator**
      children,\n                             int n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper::IteratorWrapper
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:18,1
    - Dst: Set
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - comparator
    - children
    - n
    argTypes:
    - Comparator*
    - Iterator**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: leveldb::MergingIterator::MergingIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached:
    - Set
    - IteratorWrapper::IteratorWrapper
    linkageType: ''
    returnType: void
    signature: void MergingIterator(const Comparator* comparator, Iterator** children,
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~MergingIterator() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MergingIterator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: leveldb::MergingIterator::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:33,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: leveldb::MergingIterator::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 3
    functionsReached:
    - leveldb::MergingIterator::SeekToFirst
    - leveldb::MergingIterator::FindSmallest
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:41,1
    - Dst: leveldb::MergingIterator::FindLargest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: leveldb::MergingIterator::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 3
    functionsReached:
    - leveldb::MergingIterator::SeekToLast
    - leveldb::MergingIterator::FindLargest
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:49,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: leveldb::MergingIterator::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 3
    functionsReached:
    - leveldb::MergingIterator::FindSmallest
    - leveldb::MergingIterator::Seek
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& target) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:56,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:56,1
    - Dst: IteratorWrapper*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:67,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:67,1
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:68,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: IteratorWrapper*::Next
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:70,1
    - Dst: leveldb::MergingIterator::Next
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:77,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: leveldb::MergingIterator::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 3
    functionsReached:
    - IteratorWrapper*::Valid
    - IteratorWrapper*::Next
    - IteratorWrapper*::Seek
    - leveldb::MergingIterator::Valid
    - Compare
    - leveldb::MergingIterator::key
    - leveldb::MergingIterator::FindSmallest
    - IteratorWrapper*::key
    - assert
    - leveldb::MergingIterator::Next
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:82,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:82,1
    - Dst: IteratorWrapper*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:93,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:93,1
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:94,1
    - Dst: IteratorWrapper*::Prev
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:96,1
    - Dst: IteratorWrapper*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:99,1
    - Dst: leveldb::MergingIterator::Prev
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:106,1
    - Dst: leveldb::MergingIterator::FindLargest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: leveldb::MergingIterator::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 3
    functionsReached:
    - IteratorWrapper*::Valid
    - IteratorWrapper*::Seek
    - IteratorWrapper*::Prev
    - leveldb::MergingIterator::Valid
    - leveldb::MergingIterator::FindLargest
    - IteratorWrapper*::SeekToLast
    - leveldb::MergingIterator::key
    - assert
    - leveldb::MergingIterator::Prev
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:111,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:111,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: leveldb::MergingIterator::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 9
    functionsReached:
    - leveldb::MergingIterator::key
    - assert
    - leveldb::MergingIterator::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:116,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:116,1
    - Dst: leveldb::MergingIterator::value
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: leveldb::MergingIterator::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 3
    functionsReached:
    - leveldb::MergingIterator::value
    - assert
    - leveldb::MergingIterator::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::status
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:123,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: leveldb::MergingIterator::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 3
    functionsReached:
    - leveldb::MergingIterator::status
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:152,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: leveldb::MergingIterator::FindSmallest
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 9
    functionsReached:
    - Compare
    - IteratorWrapper*::key
    - IteratorWrapper*::Valid
    linkageType: ''
    returnType: void
    signature: void MergingIterator::FindSmallest()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:167,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: leveldb::MergingIterator::FindLargest
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 6
    functionsReached:
    - Compare
    - IteratorWrapper*::key
    - IteratorWrapper*::Valid
    linkageType: ''
    returnType: void
    signature: void MergingIterator::FindLargest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper::IteratorWrapper
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:18,1
    - Dst: Set
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - comparator
    - children
    - n
    argTypes:
    - Comparator*
    - Iterator**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: leveldb::MergingIterator::MergingIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached:
    - Set
    - IteratorWrapper::IteratorWrapper
    linkageType: ''
    returnType: void
    signature: void MergingIterator(const Comparator* comparator, Iterator** children,
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~MergingIterator() override
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MergingIterator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: leveldb::MergingIterator::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:33,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: leveldb::MergingIterator::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 4
    functionsReached:
    - leveldb::MergingIterator::SeekToFirst
    - leveldb::MergingIterator::FindSmallest
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:41,1
    - Dst: leveldb::MergingIterator::FindLargest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: leveldb::MergingIterator::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 4
    functionsReached:
    - leveldb::MergingIterator::SeekToLast
    - leveldb::MergingIterator::FindLargest
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:49,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: leveldb::MergingIterator::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 4
    functionsReached:
    - leveldb::MergingIterator::FindSmallest
    - leveldb::MergingIterator::Seek
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& target) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:56,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:56,1
    - Dst: IteratorWrapper*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:67,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:67,1
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:68,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:69,1
    - Dst: IteratorWrapper*::Next
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:70,1
    - Dst: leveldb::MergingIterator::Next
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:77,1
    - Dst: leveldb::MergingIterator::FindSmallest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: leveldb::MergingIterator::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 4
    functionsReached:
    - IteratorWrapper*::Valid
    - IteratorWrapper*::Next
    - IteratorWrapper*::Seek
    - leveldb::MergingIterator::Valid
    - Compare
    - leveldb::MergingIterator::key
    - leveldb::MergingIterator::FindSmallest
    - IteratorWrapper*::key
    - assert
    - leveldb::MergingIterator::Next
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:82,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:82,1
    - Dst: IteratorWrapper*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:93,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:93,1
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:94,1
    - Dst: IteratorWrapper*::Prev
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:96,1
    - Dst: IteratorWrapper*::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:99,1
    - Dst: leveldb::MergingIterator::Prev
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:106,1
    - Dst: leveldb::MergingIterator::FindLargest
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: leveldb::MergingIterator::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 4
    functionsReached:
    - IteratorWrapper*::Valid
    - IteratorWrapper*::Seek
    - IteratorWrapper*::Prev
    - leveldb::MergingIterator::Valid
    - leveldb::MergingIterator::FindLargest
    - IteratorWrapper*::SeekToLast
    - leveldb::MergingIterator::key
    - assert
    - leveldb::MergingIterator::Prev
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:111,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:111,1
    - Dst: leveldb::MergingIterator::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: leveldb::MergingIterator::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 12
    functionsReached:
    - leveldb::MergingIterator::key
    - assert
    - leveldb::MergingIterator::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:116,1
    - Dst: leveldb::MergingIterator::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:116,1
    - Dst: leveldb::MergingIterator::value
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: leveldb::MergingIterator::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 4
    functionsReached:
    - leveldb::MergingIterator::value
    - assert
    - leveldb::MergingIterator::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::MergingIterator::status
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:123,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: leveldb::MergingIterator::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 4
    functionsReached:
    - leveldb::MergingIterator::status
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:152,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: leveldb::MergingIterator::FindSmallest
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 12
    functionsReached:
    - Compare
    - IteratorWrapper*::key
    - IteratorWrapper*::Valid
    linkageType: ''
    returnType: void
    signature: void MergingIterator::FindSmallest()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IteratorWrapper*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:167,1
    - Dst: Compare
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    - Dst: IteratorWrapper*::key
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: leveldb::MergingIterator::FindLargest
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 8
    functionsReached:
    - Compare
    - IteratorWrapper*::key
    - IteratorWrapper*::Valid
    linkageType: ''
    returnType: void
    signature: void MergingIterator::FindLargest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:181,1
    - Dst: leveldb::NewEmptyIterator
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:183,1
    - Dst: MergingIterator::MergingIterator
      Src: /src/bitcoin-core/src/leveldb/table/merger.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - comparator
    - children
    - n
    argTypes:
    - Comparator*
    - Iterator**
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/bitcoin-core/src/leveldb/table/merger.cc
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: leveldb::NewMergingIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/merger.cc
    functionUses: 0
    functionsReached:
    - MergingIterator::MergingIterator
    - assert
    - leveldb::NewEmptyIterator
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * NewMergingIterator(const Comparator* comparator, Iterator**
      children,\n                             int n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: ~Rep()
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Rep()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:42,1
    - Dst: RandomAccessFile*::Read
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:47,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:49,1
    - Dst: Footer::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:52,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:53,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:57,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:62,1
    - Dst: Footer::index_handle
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:62,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:65,1
    - Dst: Block::Block
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:68,1
    - Dst: Table::Rep::Rep
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:69,1
    - Dst: Footer::metaindex_handle
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:72,1
    - Dst: block_cache::NewId
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:74,1
    - Dst: Table::Table
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:77,1
    - Dst: leveldb::Table::ReadMeta
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - ' options'
    - file
    - size
    - table
    argTypes:
    - Options
    - RandomAccessFile*
    - uint64_t
    - Table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 82
    functionName: leveldb::Table::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 6
    functionsReached:
    - ReadBlock
    - Footer::DecodeFrom
    - Block::Block
    - leveldb::Table::ReadMeta
    - RandomAccessFile*::Read
    - Table::Table
    - Footer::index_handle
    - Footer::metaindex_handle
    - block_cache::NewId
    - leveldb::log::Reader::ReportCorruption
    - Table::Rep::Rep
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status Table::Open(const Options& options, RandomAccessFile* file,\n
      \                  uint64_t size, Table** table)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:96,1
    - Dst: metaindex_handle
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:96,1
    - Dst: Block::Block
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:100,1
    - Dst: Block*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:102,1
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:102,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:104,1
    - Dst: options::filter_policy::Name
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:104,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:105,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:106,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:106,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:106,1
    - Dst: leveldb::Table::ReadFilter
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:107,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' footer'
    argTypes:
    - Footer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 111
    functionName: leveldb::Table::ReadMeta
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 1
    functionsReached:
    - ReadBlock
    - Block::Block
    - metaindex_handle
    - Slice
    - Iterator*::Valid
    - Iterator*::value
    - leveldb::Table::ReadFilter
    - Block*::NewIterator
    - Iterator*::Seek
    - Iterator*::key
    - std::string::append
    - options::filter_policy::Name
    - BytewiseComparator
    linkageType: ''
    returnType: void
    signature: void Table::ReadMeta(const Footer& footer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BlockHandle::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:116,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:127,1
    - Dst: BlockContents::data::data
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:131,1
    - Dst: FilterBlockReader::FilterBlockReader
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' filter_handle_value'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: leveldb::Table::ReadFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 1
    functionsReached:
    - ReadBlock
    - FilterBlockReader::FilterBlockReader
    - BlockHandle::DecodeFrom
    - BlockContents::data::data
    linkageType: ''
    returnType: void
    signature: void Table::ReadFilter(const Slice& filter_handle_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Table::~Table()
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Table::~Table()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ignored
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: leveldb::DeleteBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: void
    signature: void DeleteBlock(void* arg, void* ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: leveldb::DeleteCachedBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: void
    signature: void DeleteCachedBlock(const Slice& key, void* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Cache*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:148,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:149,1
    - Dst: Cache*::Release
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - h
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: leveldb::ReleaseBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - Cache*::Release
    - reinterpret_cast<Cache::Handle*>
    - reinterpret_cast<Cache*>
    linkageType: ''
    returnType: void
    signature: void ReleaseBlock(void* arg, void* h)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Table*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:157,1
    - Dst: BlockHandle::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:164,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:168,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:172,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:173,1
    - Dst: BlockHandle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:173,1
    - Dst: Cache*::Lookup
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:175,1
    - Dst: reinterpret_cast<Block*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:177,1
    - Dst: Cache*::Value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:177,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:179,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:180,1
    - Dst: Block::Block
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:181,1
    - Dst: Cache*::Insert
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:183,1
    - Dst: Block*::size
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:183,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:189,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:190,1
    - Dst: Block::Block
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:191,1
    - Dst: Block*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:198,1
    - Dst: Iterator*::RegisterCleanup
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:200,1
    - Dst: Iterator*::RegisterCleanup
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:202,1
    - Dst: NewErrorIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - arg
    - ' options'
    - ' index_value'
    argTypes:
    - void*
    - ReadOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 208
    functionName: leveldb::Table::BlockReader
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - ReadBlock
    - BlockHandle::offset
    - Block::Block
    - EncodeFixed64
    - Cache*::Lookup
    - reinterpret_cast<Table*>
    - reinterpret_cast<Block*>
    - Block*::NewIterator
    - Iterator*::RegisterCleanup
    - NewErrorIterator
    - Block*::size
    - Cache*::Insert
    - BlockHandle::DecodeFrom
    - Status::ok
    - Cache*::Value
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * Table::BlockReader(void* arg, const ReadOptions& options,\n
      \                            const Slice& index_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewTwoLevelIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:211,1
    - Dst: index_block::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:212,1
    - Dst: const_cast<Table*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ReadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: leveldb::Table::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - const_cast<Table*>
    - NewTwoLevelIterator
    - index_block::NewIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * Table::NewIterator(const ReadOptions& options) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: index_block::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:220,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:221,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:222,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:223,1
    - Dst: BlockHandle::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:226,1
    - Dst: FilterBlockReader*::KeyMayMatch
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:227,1
    - Dst: BlockHandle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:227,1
    - Dst: leveldb::Table::BlockReader
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:230,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:230,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:231,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:232,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:233,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:233,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:235,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:239,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' options'
    - ' k'
    - arg
    argTypes:
    - ReadOptions
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: leveldb::Table::InternalGet
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - BlockHandle::offset
    - leveldb::Table::BlockReader
    - Iterator*::Valid
    - Iterator*::value
    - index_block::NewIterator
    - FilterBlockReader*::KeyMayMatch
    - Iterator*::Seek
    - Iterator*::key
    - Iterator*::status
    - BlockHandle::DecodeFrom
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status Table::InternalGet(const ReadOptions& options, const Slice&
      k, void* arg,\n                          void (*handle_result)(void*, const
      Slice&,\n                                                const Slice&))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: index_block::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:248,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:249,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:251,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:253,1
    - Dst: BlockHandle::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:254,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:255,1
    - Dst: BlockHandle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:256,1
    - Dst: metaindex_handle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:261,1
    - Dst: metaindex_handle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 271
    functionName: leveldb::Table::ApproximateOffsetOf
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - BlockHandle::offset
    - Iterator*::Valid
    - Iterator*::value
    - index_block::NewIterator
    - metaindex_handle::offset
    - Iterator*::Seek
    - BlockHandle::DecodeFrom
    - Status::ok
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Table::ApproximateOffsetOf(const Slice& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: ~Rep()
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Rep()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:42,1
    - Dst: RandomAccessFile*::Read
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:47,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:49,1
    - Dst: Footer::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:52,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:53,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:57,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:62,1
    - Dst: Footer::index_handle
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:62,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:65,1
    - Dst: Block::Block
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:68,1
    - Dst: Table::Rep::Rep
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:69,1
    - Dst: Footer::metaindex_handle
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:72,1
    - Dst: block_cache::NewId
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:74,1
    - Dst: Table::Table
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:77,1
    - Dst: leveldb::Table::ReadMeta
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - ' options'
    - file
    - size
    - table
    argTypes:
    - Options
    - RandomAccessFile*
    - uint64_t
    - Table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 82
    functionName: leveldb::Table::Open
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 6
    functionsReached:
    - ReadBlock
    - Footer::DecodeFrom
    - Block::Block
    - leveldb::Table::ReadMeta
    - RandomAccessFile*::Read
    - Table::Table
    - Footer::index_handle
    - Footer::metaindex_handle
    - block_cache::NewId
    - leveldb::log::Reader::ReportCorruption
    - Table::Rep::Rep
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status Table::Open(const Options& options, RandomAccessFile* file,\n
      \                  uint64_t size, Table** table)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:96,1
    - Dst: metaindex_handle
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:96,1
    - Dst: Block::Block
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:100,1
    - Dst: Block*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:102,1
    - Dst: BytewiseComparator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:102,1
    - Dst: std::string::append
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:104,1
    - Dst: options::filter_policy::Name
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:104,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:105,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:106,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:106,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:106,1
    - Dst: leveldb::Table::ReadFilter
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:107,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' footer'
    argTypes:
    - Footer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 111
    functionName: leveldb::Table::ReadMeta
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 2
    functionsReached:
    - ReadBlock
    - Block::Block
    - metaindex_handle
    - Slice
    - Iterator*::Valid
    - Iterator*::value
    - leveldb::Table::ReadFilter
    - Block*::NewIterator
    - Iterator*::Seek
    - Iterator*::key
    - std::string::append
    - options::filter_policy::Name
    - BytewiseComparator
    linkageType: ''
    returnType: void
    signature: void Table::ReadMeta(const Footer& footer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BlockHandle::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:116,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:127,1
    - Dst: BlockContents::data::data
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:131,1
    - Dst: FilterBlockReader::FilterBlockReader
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' filter_handle_value'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: leveldb::Table::ReadFilter
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 2
    functionsReached:
    - ReadBlock
    - FilterBlockReader::FilterBlockReader
    - BlockHandle::DecodeFrom
    - BlockContents::data::data
    linkageType: ''
    returnType: void
    signature: void Table::ReadFilter(const Slice& filter_handle_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Table::~Table()
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Table::~Table()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ignored
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: leveldb::DeleteBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: void
    signature: void DeleteBlock(void* arg, void* ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: leveldb::DeleteCachedBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: void
    signature: void DeleteCachedBlock(const Slice& key, void* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Cache*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:148,1
    - Dst: reinterpret_cast<Cache::Handle*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:149,1
    - Dst: Cache*::Release
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - h
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: leveldb::ReleaseBlock
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - Cache*::Release
    - reinterpret_cast<Cache::Handle*>
    - reinterpret_cast<Cache*>
    linkageType: ''
    returnType: void
    signature: void ReleaseBlock(void* arg, void* h)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Table*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:157,1
    - Dst: BlockHandle::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:164,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:168,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:172,1
    - Dst: EncodeFixed64
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:173,1
    - Dst: BlockHandle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:173,1
    - Dst: Cache*::Lookup
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:175,1
    - Dst: reinterpret_cast<Block*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:177,1
    - Dst: Cache*::Value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:177,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:179,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:180,1
    - Dst: Block::Block
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:181,1
    - Dst: Cache*::Insert
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:183,1
    - Dst: Block*::size
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:183,1
    - Dst: ReadBlock
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:189,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:190,1
    - Dst: Block::Block
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:191,1
    - Dst: Block*::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:198,1
    - Dst: Iterator*::RegisterCleanup
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:200,1
    - Dst: Iterator*::RegisterCleanup
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:202,1
    - Dst: NewErrorIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - arg
    - ' options'
    - ' index_value'
    argTypes:
    - void*
    - ReadOptions
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 208
    functionName: leveldb::Table::BlockReader
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 1
    functionsReached:
    - ReadBlock
    - BlockHandle::offset
    - Block::Block
    - EncodeFixed64
    - Cache*::Lookup
    - reinterpret_cast<Table*>
    - reinterpret_cast<Block*>
    - Block*::NewIterator
    - Iterator*::RegisterCleanup
    - NewErrorIterator
    - Block*::size
    - Cache*::Insert
    - BlockHandle::DecodeFrom
    - Status::ok
    - Cache*::Value
    linkageType: ''
    returnType: Iterator
    signature: "Iterator * Table::BlockReader(void* arg, const ReadOptions& options,\n
      \                            const Slice& index_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewTwoLevelIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:211,1
    - Dst: index_block::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:212,1
    - Dst: const_cast<Table*>
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ReadOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: leveldb::Table::NewIterator
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - const_cast<Table*>
    - NewTwoLevelIterator
    - index_block::NewIterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator * Table::NewIterator(const ReadOptions& options) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: index_block::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:220,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:221,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:222,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:223,1
    - Dst: BlockHandle::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:226,1
    - Dst: FilterBlockReader*::KeyMayMatch
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:227,1
    - Dst: BlockHandle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:227,1
    - Dst: leveldb::Table::BlockReader
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:230,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:230,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:231,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:232,1
    - Dst: Iterator*::key
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:233,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:233,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:235,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:239,1
    - Dst: Iterator*::status
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' options'
    - ' k'
    - arg
    argTypes:
    - ReadOptions
    - Slice
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: leveldb::Table::InternalGet
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - BlockHandle::offset
    - leveldb::Table::BlockReader
    - Iterator*::Valid
    - Iterator*::value
    - index_block::NewIterator
    - FilterBlockReader*::KeyMayMatch
    - Iterator*::Seek
    - Iterator*::key
    - Iterator*::status
    - BlockHandle::DecodeFrom
    - Status::ok
    linkageType: ''
    returnType: Status
    signature: "Status Table::InternalGet(const ReadOptions& options, const Slice&
      k, void* arg,\n                          void (*handle_result)(void*, const
      Slice&,\n                                                const Slice&))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: index_block::NewIterator
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:248,1
    - Dst: Iterator*::Seek
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:249,1
    - Dst: Iterator*::Valid
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:251,1
    - Dst: Iterator*::value
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:253,1
    - Dst: BlockHandle::DecodeFrom
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:254,1
    - Dst: Status::ok
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:255,1
    - Dst: BlockHandle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:256,1
    - Dst: metaindex_handle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:261,1
    - Dst: metaindex_handle::offset
      Src: /src/bitcoin-core/src/leveldb/table/table.cc:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 271
    functionName: leveldb::Table::ApproximateOffsetOf
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/table.cc
    functionUses: 0
    functionsReached:
    - BlockHandle::offset
    - Iterator*::Valid
    - Iterator*::value
    - index_block::NewIterator
    - metaindex_handle::offset
    - Iterator*::Seek
    - BlockHandle::DecodeFrom
    - Status::ok
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Table::ApproximateOffsetOf(const Slice& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: leveldb::IteratorWrapper::IteratorWrapper
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IteratorWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IteratorWrapper::Set
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::IteratorWrapper::IteratorWrapper
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached:
    - leveldb::IteratorWrapper::Set
    linkageType: ''
    returnType: void
    signature: void IteratorWrapper(Iterator* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~IteratorWrapper()
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IteratorWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: leveldb::IteratorWrapper::iter
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator * iter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: leveldb::IteratorWrapper::Set
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 1
    functionsReached:
    - leveldb::IteratorWrapper::Update
    linkageType: ''
    returnType: void
    signature: void Set(Iterator* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::IteratorWrapper::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:39,1
    - Dst: leveldb::IteratorWrapper::Valid
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: leveldb::IteratorWrapper::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::IteratorWrapper::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:43,1
    - Dst: leveldb::IteratorWrapper::Valid
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:43,1
    - Dst: leveldb::IteratorWrapper::value
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: leveldb::IteratorWrapper::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 1
    functionsReached:
    - leveldb::IteratorWrapper::value
    - assert
    - leveldb::IteratorWrapper::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:48,1
    - Dst: leveldb::IteratorWrapper::status
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: leveldb::IteratorWrapper::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 1
    functionsReached:
    - assert
    - leveldb::IteratorWrapper::status
    linkageType: ''
    returnType: Status
    signature: Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:52,1
    - Dst: leveldb::IteratorWrapper::Next
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:53,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: leveldb::IteratorWrapper::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 1
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - assert
    - leveldb::IteratorWrapper::Next
    linkageType: ''
    returnType: void
    signature: void Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:57,1
    - Dst: leveldb::IteratorWrapper::Prev
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:58,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: leveldb::IteratorWrapper::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 1
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - assert
    - leveldb::IteratorWrapper::Prev
    linkageType: ''
    returnType: void
    signature: void Prev()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:62,1
    - Dst: leveldb::IteratorWrapper::Seek
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:63,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Slice
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: leveldb::IteratorWrapper::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 1
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - leveldb::IteratorWrapper::Seek
    - assert
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:67,1
    - Dst: leveldb::IteratorWrapper::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:68,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: leveldb::IteratorWrapper::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 1
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - assert
    - leveldb::IteratorWrapper::SeekToFirst
    linkageType: ''
    returnType: void
    signature: void SeekToFirst()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:72,1
    - Dst: leveldb::IteratorWrapper::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:73,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: leveldb::IteratorWrapper::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 1
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - assert
    - leveldb::IteratorWrapper::SeekToLast
    linkageType: ''
    returnType: void
    signature: void SeekToLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IteratorWrapper::Valid
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:79,1
    - Dst: leveldb::IteratorWrapper::key
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: leveldb::IteratorWrapper::Update
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 6
    functionsReached:
    - leveldb::IteratorWrapper::Valid
    - leveldb::IteratorWrapper::key
    linkageType: ''
    returnType: void
    signature: void Update()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: leveldb::IteratorWrapper::IteratorWrapper
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IteratorWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IteratorWrapper::Set
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: leveldb::IteratorWrapper::IteratorWrapper
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached:
    - leveldb::IteratorWrapper::Set
    linkageType: ''
    returnType: void
    signature: void IteratorWrapper(Iterator* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~IteratorWrapper()
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IteratorWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: leveldb::IteratorWrapper::iter
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator * iter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: leveldb::IteratorWrapper::Set
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 2
    functionsReached:
    - leveldb::IteratorWrapper::Update
    linkageType: ''
    returnType: void
    signature: void Set(Iterator* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: leveldb::IteratorWrapper::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:39,1
    - Dst: leveldb::IteratorWrapper::Valid
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: leveldb::IteratorWrapper::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 1
    functionsReached:
    - assert
    - leveldb::IteratorWrapper::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:43,1
    - Dst: leveldb::IteratorWrapper::Valid
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:43,1
    - Dst: leveldb::IteratorWrapper::value
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: leveldb::IteratorWrapper::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 2
    functionsReached:
    - leveldb::IteratorWrapper::value
    - assert
    - leveldb::IteratorWrapper::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:48,1
    - Dst: leveldb::IteratorWrapper::status
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: leveldb::IteratorWrapper::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 2
    functionsReached:
    - assert
    - leveldb::IteratorWrapper::status
    linkageType: ''
    returnType: Status
    signature: Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:52,1
    - Dst: leveldb::IteratorWrapper::Next
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:53,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: leveldb::IteratorWrapper::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 2
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - assert
    - leveldb::IteratorWrapper::Next
    linkageType: ''
    returnType: void
    signature: void Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:57,1
    - Dst: leveldb::IteratorWrapper::Prev
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:58,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: leveldb::IteratorWrapper::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 2
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - assert
    - leveldb::IteratorWrapper::Prev
    linkageType: ''
    returnType: void
    signature: void Prev()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:62,1
    - Dst: leveldb::IteratorWrapper::Seek
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:63,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - Slice
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: leveldb::IteratorWrapper::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 2
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - leveldb::IteratorWrapper::Seek
    - assert
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:67,1
    - Dst: leveldb::IteratorWrapper::SeekToFirst
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:68,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: leveldb::IteratorWrapper::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 2
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - assert
    - leveldb::IteratorWrapper::SeekToFirst
    linkageType: ''
    returnType: void
    signature: void SeekToFirst()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:72,1
    - Dst: leveldb::IteratorWrapper::SeekToLast
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:73,1
    - Dst: leveldb::IteratorWrapper::Update
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter_)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: leveldb::IteratorWrapper::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 2
    functionsReached:
    - leveldb::IteratorWrapper::Update
    - assert
    - leveldb::IteratorWrapper::SeekToLast
    linkageType: ''
    returnType: void
    signature: void SeekToLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::IteratorWrapper::Valid
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:79,1
    - Dst: leveldb::IteratorWrapper::key
      Src: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: leveldb::IteratorWrapper::Update
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/iterator_wrapper.h
    functionUses: 12
    functionsReached:
    - leveldb::IteratorWrapper::Valid
    - leveldb::IteratorWrapper::key
    linkageType: ''
    returnType: void
    signature: void Update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:21,1
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (size_ >= sizeof(uint32_t))
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/bitcoin-core/src/leveldb/table/block.cc
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: leveldb::Block::NumRestarts
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - assert
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Block::NumRestarts() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data::data
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:26,1
    - Dst: data::size
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:27,1
    - Dst: leveldb::Block::NumRestarts
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:33,1
    - Dst: leveldb::Block::NumRestarts
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' contents'
    argTypes:
    - BlockContents
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: leveldb::Block::Block
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - data::data
    - data::size
    - leveldb::Block::NumRestarts
    linkageType: ''
    returnType: void
    signature: void Block::Block(const BlockContents& contents)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Block::~Block()
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Block::~Block()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:59,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:60,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:61,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:66,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:67,1
    - Dst: leveldb::GetVarint32Ptr
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:68,1
    - Dst: static_cast<uint32_t>
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - p
    - limit
    - shared
    - non_shared
    - value_length
    argTypes:
    - char*
    - char*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: leveldb::DecodeEntry
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint32_t>
    - leveldb::GetVarint32Ptr
    linkageType: ''
    returnType: char
    signature: "char * DecodeEntry(const char* p, const char* limit,\n                                      uint32_t*
      shared, uint32_t* non_shared,\n                                      uint32_t*
      value_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Block::Iter::Compare
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Slice
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: leveldb::Block::Iter::Compare
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 1
    functionsReached:
    - leveldb::Block::Iter::Compare
    linkageType: ''
    returnType: int
    signature: int Compare(const Slice& a, const Slice& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:97,1
    - Dst: size
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: leveldb::Block::Iter::NextEntryOffset
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NextEntryOffset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:101,1
    - Dst: DecodeFixed32
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (index < num_restarts_)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/bitcoin-core/src/leveldb/table/block.cc
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: leveldb::Block::Iter::GetRestartPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - assert
    - DecodeFixed32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetRestartPoint(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:106,1
    - Dst: leveldb::Block::Iter::GetRestartPoint
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:111,1
    - Dst: Slice
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: leveldb::Block::Iter::SeekToRestartPoint
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - leveldb::Block::Iter::GetRestartPoint
    - Slice
    - clear
    linkageType: ''
    returnType: void
    signature: void SeekToRestartPoint(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - comparator
    - data
    - restarts
    - num_restarts
    argTypes:
    - Comparator*
    - char*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (num_restarts_ > 0)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/bitcoin-core/src/leveldb/table/block.cc
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: leveldb::Block::Iter::Iter
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void Iter(const Comparator* comparator, const char* data, uint32_t
      restarts,\n       uint32_t num_restarts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: leveldb::Block::Iter::Valid
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: leveldb::Block::Iter::status
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:130,1
    - Dst: leveldb::Block::Iter::Valid
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bitcoin-core/src/leveldb/table/block.cc
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: leveldb::Block::Iter::key
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::Block::Iter::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:134,1
    - Dst: leveldb::Block::Iter::Valid
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/bitcoin-core/src/leveldb/table/block.cc
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: leveldb::Block::Iter::value
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - assert
    - leveldb::Block::Iter::Valid
    linkageType: ''
    returnType: Slice
    signature: Slice value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:139,1
    - Dst: leveldb::Block::Iter::Valid
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:139,1
    - Dst: leveldb::Block::Iter::ParseNextKey
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bitcoin-core/src/leveldb/table/block.cc
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: leveldb::Block::Iter::Next
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - leveldb::Block::Iter::ParseNextKey
    - assert
    - leveldb::Block::Iter::Valid
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:144,1
    - Dst: leveldb::Block::Iter::Valid
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:144,1
    - Dst: leveldb::Block::Iter::GetRestartPoint
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:148,1
    - Dst: leveldb::Block::Iter::SeekToRestartPoint
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:158,1
    - Dst: leveldb::Block::Iter::ParseNextKey
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:161,1
    - Dst: leveldb::Block::Iter::NextEntryOffset
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Valid())
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/bitcoin-core/src/leveldb/table/block.cc
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: leveldb::Block::Iter::Prev
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - leveldb::Block::Iter::ParseNextKey
    - leveldb::Block::Iter::GetRestartPoint
    - leveldb::Block::Iter::SeekToRestartPoint
    - leveldb::Block::Iter::NextEntryOffset
    - assert
    - leveldb::Block::Iter::Valid
    linkageType: ''
    returnType: void
    signature: void Prev() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Block::Iter::GetRestartPoint
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:171,1
    - Dst: DecodeEntry
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:174,1
    - Dst: leveldb::Block::Iter::CorruptionError
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:177,1
    - Dst: leveldb::Block::Iter::Compare
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:181,1
    - Dst: leveldb::Block::Iter::SeekToRestartPoint
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:193,1
    - Dst: leveldb::Block::Iter::ParseNextKey
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:195,1
    - Dst: leveldb::Block::Iter::Compare
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ' target'
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 202
    functionName: leveldb::Block::Iter::Seek
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - leveldb::Block::Iter::ParseNextKey
    - leveldb::Block::Iter::GetRestartPoint
    - leveldb::Block::Iter::SeekToRestartPoint
    - leveldb::Block::Iter::Compare
    - leveldb::Block::Iter::CorruptionError
    - DecodeEntry
    linkageType: ''
    returnType: void
    signature: void Seek(const Slice& target) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Block::Iter::SeekToRestartPoint
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:205,1
    - Dst: leveldb::Block::Iter::ParseNextKey
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: leveldb::Block::Iter::SeekToFirst
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - leveldb::Block::Iter::ParseNextKey
    - leveldb::Block::Iter::SeekToRestartPoint
    linkageType: ''
    returnType: void
    signature: void SeekToFirst() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::Block::Iter::SeekToRestartPoint
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:210,1
    - Dst: leveldb::Block::Iter::ParseNextKey
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:211,1
    - Dst: leveldb::Block::Iter::NextEntryOffset
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: leveldb::Block::Iter::SeekToLast
    functionSourceFile: /src/bitcoin-core/src/leveldb/table/block.cc
    functionUses: 0
    functionsReached:
    - leveldb::Block::Iter::ParseNextKey
    - leveldb::Block::Iter::SeekToRestartPoint
    - leveldb::Block::Iter::NextEntryOffset
    linkageType: ''
    returnType: void
    signature: void SeekToLast() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leveldb::log::Reader::ReportCorruption
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:220,1
    - Dst: clear
      Src: /src/bitcoin-core/src/leveldb/table/block.cc:221,1
    - Dst: clear
      